Anti-aliased corners and proper icons

This commit is contained in:
Yessiest 2022-09-08 21:52:03 +04:00
parent 7b5e5a95b4
commit ed2efcd22f
17 changed files with 139 additions and 14 deletions

View File

@ -145,7 +145,7 @@ client.connect_signal("request::titlebars",function(c)
buttons = buttons
})
end
awful.titlebar(c,{
local titlebar = awful.titlebar(c,{
size = style[v].size or 0,
position = v:gsub("titlebar_",""),
bg_normal = style[v].bg_normal,
@ -155,8 +155,19 @@ client.connect_signal("request::titlebars",function(c)
fg_normal = style[v].fg_normal,
fg_focus = style[v].fg_focus,
font = style[v].font
}):setup(t.titlebar(contents))
})
titlebar:setup(t.titlebar(contents))
awful.rules.rules[1].properties.placement(c)
if style[v].onfocus then
c:connect_signal("focus",function()
style[v].onfocus(titlebar)
end)
end
if style[v].onunfocus then
c:connect_signal("unfocus",function()
style[v].onunfocus(titlebar)
end)
end
end
end)
end --}}}

2
themes/unity/WARNING.txt Normal file
View File

@ -0,0 +1,2 @@
A compositor (like compton) is ***required*** for this theme to work as intended.
This is in part due to the fact that it makes the top bar look less bland, and in part due to the fact that your titlebar corners will look weird otherwise.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 550 B

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 515 B

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 392 B

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 374 B

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 510 B

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 374 B

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 541 B

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 396 B

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 538 B

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 403 B

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 455 B

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 768 B

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 682 B

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -154,9 +154,6 @@ theme.titlebar_maximized_button_focus_inactive = themes_path.."unity/titlebar/m
theme.titlebar_maximized_button_normal_active = themes_path.."unity/titlebar/maximized_normal_active.png"
theme.titlebar_maximized_button_focus_active = themes_path.."unity/titlebar/maximized_focus_active.png"
theme.wallpaper = themes_path.."unity/background.png"
theme.wallpapers_icon = themes_path.."unity/icons/wallpapers.png"
-- You can use your own layout icons like this:
theme.layout_fairh = themes_path.."unity/layouts/fairhw.png"
theme.layout_fairv = themes_path.."unity/layouts/fairvw.png"
@ -217,13 +214,40 @@ theme["mpc-next-symbolic"] = themes_path.."unity/icons/mpc-next-symbolic.png"
theme["action-poweroff-symbolic"] = themes_path.."unity/icons/action-poweroff-symbolic.png"
theme["action-lock-screen-symbolic"] = themes_path.."unity/icons/action-lock-screen-symbolic.png"
theme["action-suspend-symbolic"] = themes_path.."unity/icons/action-suspend-symbolic.png"
theme.wallpaper = themes_path.."unity/background.png"
theme.wallpapers_icon = themes_path.."unity/icons/wallpapers.png"
-- Default icon for clients
-- This one has to be baked as a surface to avoid memory leaks
theme.icon_default = themes_path.."unity/icons/unknown-app.png"
for k,v in pairs({
"battery-caution-charging-symbolic",
"battery-empty-charging-symbolic",
"battery-full-charging-symbolic",
"battery-good-charging-symbolic",
"battery-low-charging-symbolic",
"battery-full-charged-symbolic",
"battery-missing-symbolic",
"ac-adapter-symbolic",
"backlight-symbolic",
"notifications-area-symbolic",
"mpc-previous-symbolic",
"mpc-play-symbolic",
"mpc-pause-symbolic",
"mpc-next-symbolic",
"action-poweroff-symbolic",
"action-lock-screen-symbolic",
"action-suspend-symbolic",
"wallpapers_icon",
"icon_default"}) do
if theme[v] and gears.filesystem.file_readable(theme[v]) then
theme[v] = gears.color.recolor_image(theme[v],theme.fg_normal)
end
end
-- Notification popups settings
theme.notification_width = 240
theme.notification_height = 60
-- Default icon for clients
-- This one has to be baked as a surface to avoid memory leaks
theme.icon_default = gears.surface(themes_path.."unity/icons/unknown-app.png")
theme.widgets = {
-- {{{ Widget base
@ -247,8 +271,16 @@ theme.widgets = {
shape = function(cr,width,height)
return gears.shape.rounded_rect(cr,width,height,4)
end,
root_shape = function(cr,width,height)
return gears.shape.rounded_rect(cr,width,height,6)
end,
},
titlebar = {
root_shape = function(cr,width,height)
return gears.shape.partially_rounded_rect(cr,width,height,
true,true,false,false,7) end,
root_bg_focus = theme.titlebar_bg_focus,
root_bg_normal = theme.titlebar_bg_normal,
top = 2,
bottom = 2,
left = 3,
@ -298,7 +330,7 @@ theme.widgets = {
-- {{{ Popup activating icons
generic_iconified_widget = {
button = {
margins = 2,
margins = 1,
bg_normal = "#00000000",
onpress = function(widget)
widget:set_bg(theme.bg_normal)
@ -323,7 +355,7 @@ theme.widgets = {
bg_normal = "#00000000",
},
button = {
margins = 2,
margins = 1,
bg_normal = "#00000000",
onpress = function() end,
onrelease = function() end,
@ -413,7 +445,8 @@ theme.widgets = {
tasklist = {
button = {
width = 160,
height = 50,
height = 44,
margins = 5,
shape_focus = theme.button_shape,
shape_normal = theme.button_shape,
shape_urgent = theme.button_shape,
@ -490,8 +523,23 @@ theme.widgets = {
},
titlebar = {
titlebar_top = {
bg_focus = theme.titlebar_bg_focus,
bg_normal = theme.titlebar_bg_normal,
onfocus = function(titlebar)
local root = titlebar:get_children_by_id("titlebar_root")[1]
root:set_bg(theme.titlebar_bg_focus)
root:set_shape(function(cr,width,height)
return gears.shape.partially_rounded_rect(cr,width,height,
true,true,false,false,7) end)
end,
onunfocus = function(titlebar)
local root = titlebar:get_children_by_id("titlebar_root")[1]
root:set_bg(theme.titlebar_bg_normal)
root:set_shape(function(cr,width,height)
return gears.shape.partially_rounded_rect(cr,width,height,
true,true,false,false,7) end)
end,
bg_focus = "#00000000",
bg_normal = "#00000000",
fg_focus = "#FAFAFA",
fg_normal = theme.fg_normal,
size = 22,
@ -517,7 +565,7 @@ theme.widgets = {
wibar_top = {
bg_normal = theme.bar_bg_normal,
fg_normal = theme.fg_normal,
size = 22
size = 22,
},
wibar_left = {
bg_normal = "#0D0D0966",
@ -527,6 +575,70 @@ theme.widgets = {
}
}
local wibox = require("wibox")
theme.templates = {
templates = {
titlebar = function(style)
return function(layout,options)
local margins = style.titlebar.margins
if (style.titlebar.left or
style.titlebar.right or
style.titlebar.bottom or
style.titlebar.top) then
margins = nil
end
return {
{
gears.table.join({
layout,
margins = margins,
layout = wibox.container.margin,
left = style.titlebar.left,
right = style.titlebar.right,
bottom = style.titlebar.bottom,
top = style.titlebar.top
},options or {}),
bgimage = style.titlebar.root_bgimage_normal,
bg = style.titlebar.root_bg_normal,
fg = style.titlebar.root_fg_normal,
shape = style.titlebar.root_shape,
shape_border_color = style.titlebar.root_shape_border_color,
shape_border_width = style.titlebar.root_shape_border_width,
widget = wibox.container.background,
id = "titlebar_root"
},
layout = wibox.container.margin,
left = style.titlebar.root_margin_left,
right = style.titlebar.root_margin_right,
top = style.titlebar.root_margin_top,
bottom = style.titlebar.root_margin_bottom
}
end
end,
popup = function(style)
return function(widget,options)
return gears.table.join({
widget = {
{
widget,
margins = style.popup.margins,
layout = wibox.container.margin
},
bg = style.popup.bg_normal,
shape = style.popup.root_shape,
widget = wibox.container.background
},
bg = "#00000000",
shape = style.popup.shape,
visible = false,
ontop = true
},options or {})
end
end
}
}
return theme
-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80