Compare commits

...

2 Commits

Author SHA1 Message Date
Yessiest 93e91746d8 Changed README and included new licenses for stuff 2022-04-03 19:42:14 +04:00
Yessiest e7cb591cc3 Pre-beta-ish-release rush 2022-04-03 19:18:03 +04:00
69 changed files with 876 additions and 199 deletions

View File

@ -42,6 +42,11 @@ local clientkeys = gears.table.join(
c.maximized_horizontal = not c.maximized_horizontal
c:raise()
end ,
{description = "(un)maximize horizontally", group = "client"})
)
{description = "(un)maximize horizontally", group = "client"}),
awful.key({ global.modkey }, "v",
function (c)
c.menu_button:emit_signal("button::press")
end,
{description = "show client context menu", group = "client"})
)
return clientkeys

View File

@ -7,6 +7,11 @@ client.connect_signal("manage", function (c)
-- Set the windows at the slave,
-- i.e. put it at the end of others instead of setting it master.
-- if not awesome.startup then awful.client.setslave(c) end
-- Set fallback icon
if not c.icon then
print(c.icon_name)
c.icon = beautiful.fallback_icon._native
end
if awesome.startup
and not c.size_hints.user_position

View File

@ -43,6 +43,47 @@ awful.screen.connect_for_each_screen(function(s)
toggle_tags
})
end)
local controls_widget = wibox.widget {
forced_width = 72,
forced_height = 24,
layout = wibox.layout.fixed.horizontal,
}
-- To conserve memory we keep one menu at a time
local menu_widget = menu({
before = {
controls_widget
},
after = {
require("widgets.client-volume")({})
},
items = {
{ "Move to tag" ,
move_screentags
},
{ "Toggle on tag",
toggle_screentags
},
{ "Stop task",
function()
awful.spawn("kill "..tostring(c.pid))
end
},
{ "Kill task",
function()
awful.spawn("kill -s KILL "..tostring(c.pid))
end
},
{ "Debug info",
{
before = {
require("widgets.window-debug")()
}
}
}
},
vertical = true
})
return function(c)
local buttons = gears.table.join(
awful.button({ }, 1, function()
@ -54,35 +95,26 @@ return function(c)
awful.mouse.client.resize(c)
end)
)
c.menu = menu({
before = {
{
awful.titlebar.widget.floatingbutton (c),
awful.titlebar.widget.stickybutton (c),
awful.titlebar.widget.ontopbutton (c),
forced_width = 72,
forced_height = 24,
layout = wibox.layout.fixed.horizontal,
}
},
items = {
{ "Move to tag" ,
move_screentags
},
{ "Toggle on tag",
toggle_screentags
}
},
vertical = true
})
c.menu_button = awful.titlebar.widget.iconwidget(c)
-- A little trick we do to conserve memory and cpu usage on regenerating
-- buttons is we pop up a menu in the location of the icon
-- and insert buttons into the controls widget layout.
c.hidden_floatingbutton = awful.titlebar.widget.floatingbutton(c)
c.hidden_stickybutton = awful.titlebar.widget.stickybutton(c)
c.hidden_ontopbutton = awful.titlebar.widget.ontopbutton(c)
c.menu_button:connect_signal("button::press", function()
c.menu.toggle()
menu_widget.toggle()
if controls_widget then
controls_widget:reset()
controls_widget:add(c.hidden_floatingbutton)
controls_widget:add(c.hidden_stickybutton)
controls_widget:add(c.hidden_ontopbutton)
end
c:emit_signal("request::activate", "titlebar", {raise = true})
end)
c:connect_signal("unfocus",function()
if c.menu.visible then
c.menu.toggle(0,0)
if menu_widget.visible then
menu_widget.toggle(0,0)
end
end)
return awful.titlebar(c) : setup {

View File

@ -36,8 +36,8 @@ table.insert(after_table,{
resize = true
},{
bg = style.powercontrol_button_bg_focus,
forced_width = 24,
forced_height = 24
forced_width = style.powercontrol_button_width,
forced_height = style.powercontrol_button_height
},{
function()
awful.spawn("loginctl poweroff")
@ -49,8 +49,8 @@ table.insert(after_table,{
resize = true,
},{
bg = style.powercontrol_button_bg_focus,
forced_width = 24,
forced_height = 24
forced_width = style.powercontrol_button_width,
forced_height = style.powercontrol_button_height
},{
function()
awful.spawn("loginctl suspend")
@ -62,8 +62,8 @@ table.insert(after_table,{
resize = true,
},{
bg = style.powercontrol_button_bg_focus,
forced_width = 24,
forced_height = 24
forced_width = style.powercontrol_button_width,
forced_height = style.powercontrol_button_height
},{
function()
awesome.emit_signal("lock_screen")

View File

@ -256,6 +256,14 @@ defaults.icon_inner_margin = beautiful.icon_inner_margin or 0
defaults.container_spacing = defaults.container_spacing or 2
defaults.container_spacing_vertical = defaults.container_spacing_vertical or defaults.container_spacing
defaults.container_spacing_horizontal = defaults.container_spacing_horizontal or defaults.container_spacing
--add button size defaults
defaults.button_size = 20
defaults.button_height = defaults.button_size
defaults.button_width = defaults.button_size
--add icon size defaults
defaults.icon_size = 20
defaults.icon_height = defaults.icon_size
defaults.icon_width = defaults.icon_size
-- Templates for quick widget generation
defaults.button_widget = defaults.button_widget or function(style)
return {

View File

@ -87,7 +87,6 @@ awful.screen.connect_for_each_screen(function(s)
--require("widgets.polylauncher")({vertical = false}),
--s.mytaglist,
s.mypromptbox,
require("widgets.wintitle")({}),
spacing = 3
},
-- Middle widget

View File

@ -87,11 +87,6 @@ awful.screen.connect_for_each_screen(function(s)
--require("widgets.polylauncher")({vertical = false}),
--s.mytaglist,
s.mypromptbox,
require("widgets.current_window")({
style = {
icon_bg_normal = beautiful.topbar_bg
}
}),
spacing = 3
},
-- Middle widget

View File

@ -43,6 +43,47 @@ awful.screen.connect_for_each_screen(function(s)
toggle_tags
})
end)
local controls_widget = wibox.widget {
forced_width = 72,
forced_height = 24,
layout = wibox.layout.fixed.horizontal,
}
-- To conserve memory we keep one menu at a time
local menu_widget = menu({
before = {
controls_widget
},
after = {
require("widgets.client-volume")({})
},
items = {
{ "Move to tag" ,
move_screentags
},
{ "Toggle on tag",
toggle_screentags
},
{ "Stop task",
function()
awful.spawn("kill "..tostring(c.pid))
end
},
{ "Kill task",
function()
awful.spawn("kill -s KILL "..tostring(c.pid))
end
},
{ "Debug info",
{
before = {
require("widgets.window-debug")()
}
}
}
},
vertical = true
})
return function(c)
local buttons = gears.table.join(
awful.button({ }, 1, function()
@ -54,35 +95,26 @@ return function(c)
awful.mouse.client.resize(c)
end)
)
c.menu = menu({
before = {
{
awful.titlebar.widget.floatingbutton (c),
awful.titlebar.widget.stickybutton (c),
awful.titlebar.widget.ontopbutton (c),
forced_width = 72,
forced_height = 24,
layout = wibox.layout.fixed.horizontal,
}
},
items = {
{ "Move to tag" ,
move_screentags
},
{ "Toggle on tag",
toggle_screentags
}
},
vertical = true
})
c.menu_button = awful.titlebar.widget.iconwidget(c)
-- A little trick we do to conserve memory and cpu usage on regenerating
-- buttons is we pop up a menu in the location of the icon
-- and insert buttons into the controls widget layout.
c.hidden_floatingbutton = awful.titlebar.widget.floatingbutton(c)
c.hidden_stickybutton = awful.titlebar.widget.stickybutton(c)
c.hidden_ontopbutton = awful.titlebar.widget.ontopbutton(c)
c.menu_button:connect_signal("button::press", function()
c.menu.toggle()
menu_widget.toggle()
if controls_widget then
controls_widget:reset()
controls_widget:add(c.hidden_floatingbutton)
controls_widget:add(c.hidden_stickybutton)
controls_widget:add(c.hidden_ontopbutton)
end
c:emit_signal("request::activate", "titlebar", {raise = true})
end)
c:connect_signal("unfocus",function()
if c.menu.visible then
c.menu.toggle(0,0)
if menu_widget.visible then
menu_widget.toggle(0,0)
end
end)
return awful.titlebar(c) : setup {

View File

@ -78,11 +78,6 @@ awful.screen.connect_for_each_screen(function(s)
--require("widgets.polylauncher")({vertical = false}),
--s.mytaglist,
s.mypromptbox,
require("widgets.current_window")({
style = {
icon_bg_normal = beautiful.topbar_bg
}
}),
spacing = 3
},
-- Middle widget

View File

@ -43,6 +43,47 @@ awful.screen.connect_for_each_screen(function(s)
toggle_tags
})
end)
local controls_widget = wibox.widget {
forced_width = 72,
forced_height = 24,
layout = wibox.layout.fixed.horizontal,
}
-- To conserve memory we keep one menu at a time
local menu_widget = menu({
before = {
controls_widget
},
after = {
require("widgets.client-volume")({})
},
items = {
{ "Move to tag" ,
move_screentags
},
{ "Toggle on tag",
toggle_screentags
},
{ "Stop task",
function()
awful.spawn("kill "..tostring(c.pid))
end
},
{ "Kill task",
function()
awful.spawn("kill -s KILL "..tostring(c.pid))
end
},
{ "Debug info",
{
before = {
require("widgets.window-debug")()
}
}
}
},
vertical = true
})
return function(c)
local buttons = gears.table.join(
awful.button({ }, 1, function()
@ -54,35 +95,26 @@ return function(c)
awful.mouse.client.resize(c)
end)
)
c.menu = menu({
before = {
{
awful.titlebar.widget.floatingbutton (c),
awful.titlebar.widget.stickybutton (c),
awful.titlebar.widget.ontopbutton (c),
forced_width = 72,
forced_height = 24,
layout = wibox.layout.fixed.horizontal,
}
},
items = {
{ "Move to tag" ,
move_screentags
},
{ "Toggle on tag",
toggle_screentags
}
},
vertical = true
})
c.menu_button = awful.titlebar.widget.iconwidget(c)
-- A little trick we do to conserve memory and cpu usage on regenerating
-- buttons is we pop up a menu in the location of the icon
-- and insert buttons into the controls widget layout.
c.hidden_floatingbutton = awful.titlebar.widget.floatingbutton(c)
c.hidden_stickybutton = awful.titlebar.widget.stickybutton(c)
c.hidden_ontopbutton = awful.titlebar.widget.ontopbutton(c)
c.menu_button:connect_signal("button::press", function()
c.menu.toggle()
menu_widget.toggle()
if controls_widget then
controls_widget:reset()
controls_widget:add(c.hidden_floatingbutton)
controls_widget:add(c.hidden_stickybutton)
controls_widget:add(c.hidden_ontopbutton)
end
c:emit_signal("request::activate", "titlebar", {raise = true})
end)
c:connect_signal("unfocus",function()
if c.menu.visible then
c.menu.toggle(0,0)
if menu_widget.visible then
menu_widget.toggle(0,0)
end
end)
return awful.titlebar(c) : setup {

1
rc.lua
View File

@ -28,7 +28,6 @@ require("awful.hotkeys_popup.keys")
require("core.error")
require("core.vars")
require("core.style")
require("themes.icons")
require("core.binds")
require("core.layout")
require("core.rules")

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 13 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 305 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 363 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 584 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 623 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 834 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 179 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 404 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 350 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 222 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 909 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 524 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 703 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 879 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 925 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 780 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 703 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 813 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 MiB

View File

@ -1,7 +1,9 @@
battery status icons, lock/shutdown/suspend icons, volume status icons were taken from the Breeze icons theme. (https://develop.kde.org/frameworks/breeze-icons/, copyright KDE and licensed under the GNU LGPL version 3 or later)
lock/shutdown/suspend icons were taken from the Breeze icons theme. (https://develop.kde.org/frameworks/breeze-icons/, copyright KDE and licensed under the GNU LGPL version 3 or later)
logout icon is taken from the adwaita project
the fallback-application.svg was taken from https://en.wikipedia.org/wiki/File:X.Org\_Logo.svg, distributed under the CC-BY-SA 3.0 license
battery status icons in particular were modified to look somewhat less ugly when recolored to a single color. this was done because the config automatically recolors all icons to the color value of the foreground (text) color.
logout icon is taken from the adwaita project, licenses from https://gitlab.gnome.org/GNOME/adwaita-icon-theme apply.
all other icons should have the copyright and license attached to them as svg metadata.
the author of this config does not claim copyright of any icons present in this folder unless stated otherwise in the icon's license metadata.

View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" width="431" height="345" version="1.1">
<style type="text/css"><![CDATA[
#P1 {fill:url(#LO)}
rect {opacity:.40740739;fill:#000cff;width:.50507629;height:0}
]]></style>
<defs>
<linearGradient id="LO" gradientUnits="userSpaceOnUse" x1="319.20822" y1="235.14877" x2="657.65295" y2="269.49396">
<stop style="stop-color:#e54c18" offset="0"/>
<stop style="stop-color:#fec350" offset="1"/>
</linearGradient>
</defs>
<g transform="translate(142.2839,-24.99705)">
<g transform="translate(-413.2102,-40.70387)">
<path d="M342.0739,390.70219L 453.17118,245.44599L 338.79445,85.733013L 412.30881,85.794093L 503.44682,211.37696L 367.17669,390.70219L 342.0739,390.70219 z M559.52169,390.8049L 469.01289,265.00644L 606.41773,85.596933L 630.89946,85.596933L 519.34879,231.53848L 633.03722,390.8049L 559.52169,390.8049z"/>
<path id="P1" d="M486.41071,143.82651C 477.55968,143.82651 468.10342,144.51187 459.5906,145.32904C 474.75653,165.10903 487.34067,181.85855 501.82347,200.88092C 493.69471,183.38799 476.98783,166.61333 482.7635,157.98625C 488.48067,149.44656 499.01457,150.88393 499.81696,150.88393C 516.70545,150.88393 532.96221,152.79132 548.16071,156.32143L 551.72321,151.41518C 531.4524,146.19692 509.43472,143.82651 486.41071,143.82651 z M577.87946,159.79018L 574.59821,164.47768C 621.42401,182.81432 653.09821,217.83797 653.09821,257.97767C 653.09821,317.0837 584.43336,365.04017 499.81696,365.04017C 415.20056,365.04016 346.50446,317.08369 346.50446,257.97767C 346.50447,225.78991 366.87604,196.89765 399.09821,177.25893L 389.19196,162.16518C 338.64582,183.59701 305.09822,221.2148 305.09821,264.04017C 305.09821,330.67385 386.32071,384.72767 486.41071,384.72767C 586.5007,384.72767 667.75445,330.67386 667.75446,264.04017C 667.75446,219.60725 631.63191,180.74772 577.87946,159.79018z"/>
</g>
<rect x="322.36493" y="180.85307" width=".50507629" height="0"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -47,6 +47,9 @@ theme.border_width = dpi(1)
theme.border_normal = theme.bg_normal
theme.border_focus = theme.bg_focus
theme.border_marked = theme.bg_marked
-- include generic boilerplate
theme = require("themes.generic")(theme)
-- }}}
-- All of the previous variables are still avaialable.
@ -404,6 +407,8 @@ theme.layout_cornersw = global.themes_dir..theme.name.."/layouts/cornersww.png"
theme.layout_cornerse = global.themes_dir..theme.name.."/layouts/cornersew.png"
theme_assets.recolor_layout(theme, theme.fg_normal)
theme = require("themes.icons")(theme)
-- Generate Awesome icon:
theme.awesome_icon = theme_assets.awesome_icon(
theme.menu_height, theme.bg_focus, theme.fg_focus

25
themes/generic.lua Normal file
View File

@ -0,0 +1,25 @@
--Shared code for include generic sizes for things
local dpi = require("beautiful.xresources").apply_dpi
return function(theme)
-- Notification size
theme.notification_width = dpi(250)
theme.notification_height = dpi(80)
theme.mailbox_container_width = dpi(260)
theme.mailbox_button_height = dpi(50)
-- Wallpaper widget sizes
theme.wallpapers_button_height = dpi(60)
theme.wallpapers_button_width = dpi(100)
theme.wallpapers_pager_container_spacing_vertical = dpi(5)
theme.wallpapers_pager_container_spacing_horizontal = dpi(5)
theme.wallpapers_pager_button_size = dpi(15)
-- Menus
theme.menu_button_height = 20
theme.menu_button_width = 140
-- Power management icons
theme.powercontrol_button_height = 25
theme.powercontrol_button_width = 25
return theme
end

View File

@ -1,55 +1,60 @@
-- Shared code for including icons
-- Icons definitions for custom widgets
local beautiful = require("beautiful")
local beautiful_assets = require("beautiful").theme_assets
local gears = require("gears")
function beautiful.recolor_icon_group(tbl,regex,color)
function beautiful.recolor_icon_group(tbl,write_to,regex,color)
for k,v in pairs(tbl) do
if k:match(regex) then
beautiful[k] = gears.color.recolor_image(v,color)
write_to[k] = gears.color.recolor_image(v,color)
end
end
end
-- Define dir to icons
global.themes_dir = global.themes_dir or (os.getenv("HOME").."/.config/awesome/themes/")
beautiful.name = beautiful.name or "default"
beautiful.icon_dir = beautiful.icon_dir or global.themes_dir..beautiful.name.."/icons/"
local temp = {}
-- Powermenu icons
temp.powercontrol_icon_shutdown = beautiful.icon_dir.."shutdown.svg"
temp.powercontrol_icon_suspend = beautiful.icon_dir.."suspend.svg"
temp.powercontrol_icon_lock = beautiful.icon_dir.."lock.svg"
beautiful.recolor_icon_group(temp,"^powercontrol_.+",beautiful.fg_normal)
return function(theme)
local temp = {}
-- Define dir to icons
theme.icon_dir = theme.icon_dir or global.themes_dir..theme.name.."/icons/"
-- Powermenu icons
temp.powercontrol_icon_shutdown = theme.icon_dir.."shutdown.svg"
temp.powercontrol_icon_suspend = theme.icon_dir.."suspend.svg"
temp.powercontrol_icon_lock = theme.icon_dir.."lock.svg"
beautiful.recolor_icon_group(temp,theme,"^powercontrol_.+",theme.fg_normal)
-- Volume icons
temp.volume_icon_high = theme.icon_dir.."volume-high.svg"
temp.volume_icon_medium = theme.icon_dir.."volume-medium.svg"
temp.volume_icon_low = theme.icon_dir.."volume-low.svg"
temp.volume_icon_muted = theme.icon_dir.."volume-muted.svg"
beautiful.recolor_icon_group(temp,theme,"^volume_.+",theme.fg_normal)
-- Battery icons
temp.battery_caution_charging_symbolic = theme.icon_dir.."battery-caution-charging-symbolic.svg"
temp.battery_caution_symbolic = theme.icon_dir.."battery-caution-symbolic.svg"
temp.battery_empty_charging_symbolic = theme.icon_dir.."battery-empty-charging-symbolic.svg"
temp.battery_empty_symbolic = theme.icon_dir.."battery-empty-symbolic.svg"
temp.battery_full_charged_symbolic = theme.icon_dir.."battery-full-charged-symbolic.svg"
temp.battery_full_charging_symbolic = theme.icon_dir.."battery-full-charging-symbolic.svg"
temp.battery_full_symbolic = theme.icon_dir.."battery-full-symbolic.svg"
temp.battery_good_charging_symbolic = theme.icon_dir.."battery-good-charging-symbolic.svg"
temp.battery_good_symbolic = theme.icon_dir.."battery-good-symbolic.svg"
temp.battery_low_charging_symbolic = theme.icon_dir.."battery-low-charging-symbolic.svg"
temp.battery_low_symbolic = theme.icon_dir.."battery-low-symbolic.svg"
temp.battery_missing_symbolic = theme.icon_dir.."battery-missing-symbolic.svg"
beautiful.recolor_icon_group(temp,theme,"^battery_.+",theme.fg_normal)
-- Widget icons
theme.wallpapers_icon = gears.color.recolor_image(theme.icon_dir.."wallpaper.svg",theme.fg_normal)
theme.mailbox_icon = gears.color.recolor_image(theme.icon_dir.."mail.svg",theme.fg_normal)
theme.username_logout_icon = gears.color.recolor_image(theme.icon_dir.."system-log-out-symbolic.svg",theme.fg_normal)
theme.drawer_open_icon = gears.color.recolor_image(theme.icon_dir.."drawer-open.svg",theme.fg_normal)
theme.drawer_closed_icon = gears.color.recolor_image(theme.icon_dir.."drawer-closed.svg",theme.fg_normal)
-- Generic icons
theme.warning_icon = gears.color.recolor_image(theme.icon_dir.."warning.svg",theme.fg_normal)
-- Fallback application icon
theme.fallback_icon = gears.surface(theme.icon_dir.."fallback-application.svg")
-- Volume icons
temp.volume_icon_high = beautiful.icon_dir.."volume-high.svg"
temp.volume_icon_medium = beautiful.icon_dir.."volume-medium.svg"
temp.volume_icon_low = beautiful.icon_dir.."volume-low.svg"
temp.volume_icon_muted = beautiful.icon_dir.."volume-muted.svg"
beautiful.recolor_icon_group(temp,"^volume_.+",beautiful.fg_normal)
-- Battery icons
temp.battery_caution_charging_symbolic = beautiful.icon_dir.."battery-caution-charging-symbolic.svg"
temp.battery_caution_symbolic = beautiful.icon_dir.."battery-caution-symbolic.svg"
temp.battery_empty_charging_symbolic = beautiful.icon_dir.."battery-empty-charging-symbolic.svg"
temp.battery_empty_symbolic = beautiful.icon_dir.."battery-empty-symbolic.svg"
temp.battery_full_charged_symbolic = beautiful.icon_dir.."battery-full-charged-symbolic.svg"
temp.battery_full_charging_symbolic = beautiful.icon_dir.."battery-full-charging-symbolic.svg"
temp.battery_full_symbolic = beautiful.icon_dir.."battery-full-symbolic.svg"
temp.battery_good_charging_symbolic = beautiful.icon_dir.."battery-good-charging-symbolic.svg"
temp.battery_good_symbolic = beautiful.icon_dir.."battery-good-symbolic.svg"
temp.battery_low_charging_symbolic = beautiful.icon_dir.."battery-low-charging-symbolic.svg"
temp.battery_low_symbolic = beautiful.icon_dir.."battery-low-symbolic.svg"
temp.battery_missing_symbolic = beautiful.icon_dir.."battery-missing-symbolic.svg"
beautiful.recolor_icon_group(temp,"^battery_.+",beautiful.fg_normal)
-- Widget icons
beautiful.wallpapers_icon = gears.color.recolor_image(beautiful.icon_dir.."wallpaper.svg",beautiful.fg_normal)
beautiful.mailbox_icon = gears.color.recolor_image(beautiful.icon_dir.."mail.svg",beautiful.fg_normal)
beautiful.username_logout_icon = gears.color.recolor_image(beautiful.icon_dir.."system-log-out-symbolic.svg",beautiful.fg_normal)
beautiful.drawer_open_icon = gears.color.recolor_image(beautiful.icon_dir.."drawer-open.svg",beautiful.fg_normal)
beautiful.drawer_closed_icon = gears.color.recolor_image(beautiful.icon_dir.."drawer-closed.svg",beautiful.fg_normal)
-- Generic icons
print(beautiful.icon_dir.."warning.svg")
beautiful.warning_icon = gears.color.recolor_image(beautiful.icon_dir.."warning.svg",beautiful.fg_normal)
return theme
end

View File

@ -1,7 +1,9 @@
battery status icons, lock/shutdown/suspend icons, volume status icons were taken from the Breeze icons theme. (https://develop.kde.org/frameworks/breeze-icons/, copyright KDE and licensed under the GNU LGPL version 3 or later)
lock/shutdown/suspend icons were taken from the Breeze icons theme. (https://develop.kde.org/frameworks/breeze-icons/, copyright KDE and licensed under the GNU LGPL version 3 or later)
logout icon is taken from the adwaita project
the fallback-application.svg was taken from https://en.wikipedia.org/wiki/File:X.Org\_Logo.svg, distributed under the CC-BY-SA 3.0 license
battery status icons in particular were modified to look somewhat less ugly when recolored to a single color. this was done because the config automatically recolors all icons to the color value of the foreground (text) color.
logout icon is taken from the adwaita project, licenses from https://gitlab.gnome.org/GNOME/adwaita-icon-theme apply.
all other icons should have the copyright and license attached to them as svg metadata.
the author of this config does not claim copyright of any icons present in this folder unless stated otherwise in the icon's license metadata.

View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" width="431" height="345" version="1.1">
<style type="text/css"><![CDATA[
#P1 {fill:url(#LO)}
rect {opacity:.40740739;fill:#000cff;width:.50507629;height:0}
]]></style>
<defs>
<linearGradient id="LO" gradientUnits="userSpaceOnUse" x1="319.20822" y1="235.14877" x2="657.65295" y2="269.49396">
<stop style="stop-color:#e54c18" offset="0"/>
<stop style="stop-color:#fec350" offset="1"/>
</linearGradient>
</defs>
<g transform="translate(142.2839,-24.99705)">
<g transform="translate(-413.2102,-40.70387)">
<path d="M342.0739,390.70219L 453.17118,245.44599L 338.79445,85.733013L 412.30881,85.794093L 503.44682,211.37696L 367.17669,390.70219L 342.0739,390.70219 z M559.52169,390.8049L 469.01289,265.00644L 606.41773,85.596933L 630.89946,85.596933L 519.34879,231.53848L 633.03722,390.8049L 559.52169,390.8049z"/>
<path id="P1" d="M486.41071,143.82651C 477.55968,143.82651 468.10342,144.51187 459.5906,145.32904C 474.75653,165.10903 487.34067,181.85855 501.82347,200.88092C 493.69471,183.38799 476.98783,166.61333 482.7635,157.98625C 488.48067,149.44656 499.01457,150.88393 499.81696,150.88393C 516.70545,150.88393 532.96221,152.79132 548.16071,156.32143L 551.72321,151.41518C 531.4524,146.19692 509.43472,143.82651 486.41071,143.82651 z M577.87946,159.79018L 574.59821,164.47768C 621.42401,182.81432 653.09821,217.83797 653.09821,257.97767C 653.09821,317.0837 584.43336,365.04017 499.81696,365.04017C 415.20056,365.04016 346.50446,317.08369 346.50446,257.97767C 346.50447,225.78991 366.87604,196.89765 399.09821,177.25893L 389.19196,162.16518C 338.64582,183.59701 305.09822,221.2148 305.09821,264.04017C 305.09821,330.67385 386.32071,384.72767 486.41071,384.72767C 586.5007,384.72767 667.75445,330.67386 667.75446,264.04017C 667.75446,219.60725 631.63191,180.74772 577.87946,159.79018z"/>
</g>
<rect x="322.36493" y="180.85307" width=".50507629" height="0"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -0,0 +1,136 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="48"
height="48"
viewBox="0 0 12.7 12.7"
version="1.1"
id="svg837"
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
sodipodi:docname="warning.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview839"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:document-units="mm"
showgrid="true"
units="px"
inkscape:zoom="12.429181"
inkscape:cx="22.205807"
inkscape:cy="27.113613"
inkscape:window-width="1866"
inkscape:window-height="1038"
inkscape:window-x="52"
inkscape:window-y="20"
inkscape:window-maximized="1"
inkscape:current-layer="layer1">
<inkscape:grid
type="xygrid"
id="grid902" />
</sodipodi:namedview>
<defs
id="defs834">
<inkscape:path-effect
effect="powermask"
id="path-effect2659"
is_visible="true"
lpeversion="1"
uri="#mask-powermask-path-effect2659"
invert="false"
hide_mask="false"
background="true"
background_color="#ffffffff" />
<inkscape:path-effect
effect="powermask"
id="path-effect1796"
is_visible="true"
lpeversion="1"
uri="#mask-powermask-path-effect1796"
invert="false"
hide_mask="false"
background="true"
background_color="#ffffffff" />
<mask
maskUnits="userSpaceOnUse"
id="mask-powermask-path-effect1796">
<g
id="g1794"
transform="matrix(3.1496063,0,0,3.1496063,2.9999997,6.2500913)"
style="">
<path
style="fill:none;stroke:#000000;stroke-width:0.972208;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 6.35,3.175 V 8.4666665"
id="path1790" />
<circle
style="opacity:1;fill:#000000;stroke:none;stroke-width:1.065;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
id="circle1792"
cx="6.3499999"
cy="10.054167"
r="0.52916664" />
</g>
</mask>
<mask
maskUnits="userSpaceOnUse"
id="mask-powermask-path-effect2659">
<path
id="mask-powermask-path-effect2659_box"
style="fill:#ffffff;fill-opacity:1"
d="M -0.70621928,-0.70618839 H 13.406219 V 13.40625 H -0.70621928 Z" />
<g
id="g2657"
style="">
<path
style="fill:none;stroke:#000000;stroke-width:0.934071;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 6.3499999,3.175 V 8.4666667"
id="path2653" />
<circle
style="opacity:1;fill:#000000;stroke:none;stroke-width:1.065;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
id="circle2655"
cx="6.3499999"
cy="10.163688"
r="0.52916664"
d="M 6.8791665,10.163688 A 0.52916664,0.52916664 0 0 1 6.3499999,10.692854 0.52916664,0.52916664 0 0 1 5.8208333,10.163688 0.52916664,0.52916664 0 0 1 6.3499999,9.6345211 0.52916664,0.52916664 0 0 1 6.8791665,10.163688 Z" />
</g>
</mask>
<filter
id="mask-powermask-path-effect2659_inverse"
inkscape:label="filtermask-powermask-path-effect2659"
style="color-interpolation-filters:sRGB"
height="100"
width="100"
x="-50"
y="-50">
<feColorMatrix
id="mask-powermask-path-effect2659_primitive1"
values="1"
type="saturate"
result="fbSourceGraphic" />
<feColorMatrix
id="mask-powermask-path-effect2659_primitive2"
values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0 "
in="fbSourceGraphic" />
</filter>
</defs>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<path
id="rect1016"
style="stroke-width:1;stroke-linecap:round;stroke-linejoin:round;paint-order:stroke fill markers;stroke:#000000;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;opacity:1"
d="M 0.79374983,11.90625 6.3499999,0.79374983 11.90625,11.90625 Z"
sodipodi:nodetypes="cccc"
mask="url(#mask-powermask-path-effect2659)"
inkscape:path-effect="#path-effect2659"
inkscape:original-d="M 0.79374983,11.90625 6.3499999,0.79374983 11.90625,11.90625 Z" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.8 KiB

View File

@ -7,14 +7,6 @@ local theme = {}
theme.name = "unity"
theme.font = "Ubuntu Regular 10"
theme.icon_rounding = 5
theme.volume_slider_width = 60
theme.username_container_spacing_horizontal = 3
theme.macbar_rounding = 5
theme.macbar_height = 45
theme.menu_button_inner_margin = 2
theme.container_rounding = 4
theme.button_rounding = 4
theme.bg_normal = "#19191D"
theme.bg_focus = "#3E3E3E"
theme.bg_urgent = "#2E2E2E"
@ -32,14 +24,22 @@ theme.border_normal = theme.bg_focus
theme.border_focus = theme.bg_focus
theme.border_marked = theme.bg_marked
-- style
theme.button_rounding = dpi(4)
theme.icon_rounding = dpi(4)
theme.container_rounding = dpi(4)
-- unitybar
theme.unitybar_width = dpi(60)
theme.unitybar_bg = "#0D0D0966"
theme.unitybar_border_width = 1
theme.unitybar_border_width = dpi(1)
theme.unitybar_border_color = "#26262666"
theme.unitybar_inner_margin = 3
theme.unitybar_inner_margin = dpi(3)
local bsize = theme.unitybar_width - (theme.unitybar_inner_margin*2)
-- boilerplate
theme = require("themes.generic")(theme)
theme.tasklist_button_shape_border_width = dpi(1)
theme.tasklist_button_shape_border_color = {
type = "radial",
@ -105,17 +105,8 @@ theme.launcher_button_bg_normal = {
{ 1, "#FFFFFF22"}
}
}
-- overriding the default one when
-- defined, the sets are:
-- taglist_[bg|fg]_[focus|urgent|occupied|empty|volatile]
-- tasklist_[bg|fg]_[focus|urgent]
-- titlebar_[bg|fg]_[normal|focus]
-- tooltip_[font|opacity|fg_color|bg_color|border_width|border_color]
-- mouse_finder_[color|timeout|animate_timeout|radius|factor]
-- prompt_[fg|bg|fg_cursor|bg_cursor|font]
-- hotkeys_[bg|fg|border_width|border_color|shape|opacity|modifiers_fg|label_bg|label_fg|group_margin|font|description_font]
-- Example:
--theme.taglist_bg_focus = "#ff0000"
theme.hotkeys_border_color = "#262626"
theme.hotkeys_opacity = 1
@ -140,16 +131,15 @@ theme.topbar_bg = {
stops = { { 0, "#3C3B37"} , { 1 , "#545249"} }
}
theme.titlebar_rounding = 6
theme.bg_systray = "#3A3A36"
theme.prompt_bg = theme.topbar_bg
theme.wintitle_icon_bg_normal = theme.topbar_bg
theme.lockscreen_bar_bg = theme.topbar_bg
theme.wallpapers_icon_bg_normal = theme.topbar_bg
theme.mailbox_icon_bg_normal = theme.topbar_bg
theme.volume_icon_bg_normal = theme.topbar_bg
theme.drawer_icon_bg_normal = theme.topbar_bg
theme.battery_icon_bg_normal = theme.topbar_bg
theme.username_icon_bg_normal = theme.topbar_bg
theme.drawer_icon_bg_normal = theme.topbar_bg
theme.titlebar_rounding = dpi(6)
theme.bg_systray = "#3A3A36"
-- Generate taglist squares:
local taglist_square_size = dpi(4)
theme.taglist_squares_sel = theme_assets.taglist_squares_sel(
@ -226,6 +216,9 @@ theme.layout_cornersw = global.themes_dir..theme.name.."/layouts/cornersww.png"
theme.layout_cornerse = global.themes_dir..theme.name.."/layouts/cornersew.png"
theme_assets.recolor_layout(theme, theme.fg_normal)
-- Include boilerplate icons and variables
theme = require("themes.icons")(theme)
-- Generate Awesome icon:
theme.awesome_icon = theme_assets.awesome_icon(
theme.menu_height, theme.bg_focus, theme.fg_focus

View File

@ -1,7 +1,9 @@
battery status icons, lock/shutdown/suspend icons, volume status icons were taken from the Breeze icons theme. (https://develop.kde.org/frameworks/breeze-icons/, copyright KDE and licensed under the GNU LGPL version 3 or later)
lock/shutdown/suspend icons were taken from the Breeze icons theme. (https://develop.kde.org/frameworks/breeze-icons/, copyright KDE and licensed under the GNU LGPL version 3 or later)
logout icon is taken from the adwaita project
the fallback-application.svg was taken from https://en.wikipedia.org/wiki/File:X.Org\_Logo.svg, distributed under the CC-BY-SA 3.0 license
battery status icons in particular were modified to look somewhat less ugly when recolored to a single color. this was done because the config automatically recolors all icons to the color value of the foreground (text) color.
logout icon is taken from the adwaita project, licenses from https://gitlab.gnome.org/GNOME/adwaita-icon-theme apply.
all other icons should have the copyright and license attached to them as svg metadata.
the author of this config does not claim copyright of any icons present in this folder unless stated otherwise in the icon's license metadata.

View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" width="431" height="345" version="1.1">
<style type="text/css"><![CDATA[
#P1 {fill:url(#LO)}
rect {opacity:.40740739;fill:#000cff;width:.50507629;height:0}
]]></style>
<defs>
<linearGradient id="LO" gradientUnits="userSpaceOnUse" x1="319.20822" y1="235.14877" x2="657.65295" y2="269.49396">
<stop style="stop-color:#e54c18" offset="0"/>
<stop style="stop-color:#fec350" offset="1"/>
</linearGradient>
</defs>
<g transform="translate(142.2839,-24.99705)">
<g transform="translate(-413.2102,-40.70387)">
<path d="M342.0739,390.70219L 453.17118,245.44599L 338.79445,85.733013L 412.30881,85.794093L 503.44682,211.37696L 367.17669,390.70219L 342.0739,390.70219 z M559.52169,390.8049L 469.01289,265.00644L 606.41773,85.596933L 630.89946,85.596933L 519.34879,231.53848L 633.03722,390.8049L 559.52169,390.8049z"/>
<path id="P1" d="M486.41071,143.82651C 477.55968,143.82651 468.10342,144.51187 459.5906,145.32904C 474.75653,165.10903 487.34067,181.85855 501.82347,200.88092C 493.69471,183.38799 476.98783,166.61333 482.7635,157.98625C 488.48067,149.44656 499.01457,150.88393 499.81696,150.88393C 516.70545,150.88393 532.96221,152.79132 548.16071,156.32143L 551.72321,151.41518C 531.4524,146.19692 509.43472,143.82651 486.41071,143.82651 z M577.87946,159.79018L 574.59821,164.47768C 621.42401,182.81432 653.09821,217.83797 653.09821,257.97767C 653.09821,317.0837 584.43336,365.04017 499.81696,365.04017C 415.20056,365.04016 346.50446,317.08369 346.50446,257.97767C 346.50447,225.78991 366.87604,196.89765 399.09821,177.25893L 389.19196,162.16518C 338.64582,183.59701 305.09822,221.2148 305.09821,264.04017C 305.09821,330.67385 386.32071,384.72767 486.41071,384.72767C 586.5007,384.72767 667.75445,330.67386 667.75446,264.04017C 667.75446,219.60725 631.63191,180.74772 577.87946,159.79018z"/>
</g>
<rect x="322.36493" y="180.85307" width=".50507629" height="0"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -0,0 +1,136 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="48"
height="48"
viewBox="0 0 12.7 12.7"
version="1.1"
id="svg837"
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
sodipodi:docname="warning.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview839"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:document-units="mm"
showgrid="true"
units="px"
inkscape:zoom="12.429181"
inkscape:cx="22.205807"
inkscape:cy="27.113613"
inkscape:window-width="1866"
inkscape:window-height="1038"
inkscape:window-x="52"
inkscape:window-y="20"
inkscape:window-maximized="1"
inkscape:current-layer="layer1">
<inkscape:grid
type="xygrid"
id="grid902" />
</sodipodi:namedview>
<defs
id="defs834">
<inkscape:path-effect
effect="powermask"
id="path-effect2659"
is_visible="true"
lpeversion="1"
uri="#mask-powermask-path-effect2659"
invert="false"
hide_mask="false"
background="true"
background_color="#ffffffff" />
<inkscape:path-effect
effect="powermask"
id="path-effect1796"
is_visible="true"
lpeversion="1"
uri="#mask-powermask-path-effect1796"
invert="false"
hide_mask="false"
background="true"
background_color="#ffffffff" />
<mask
maskUnits="userSpaceOnUse"
id="mask-powermask-path-effect1796">
<g
id="g1794"
transform="matrix(3.1496063,0,0,3.1496063,2.9999997,6.2500913)"
style="">
<path
style="fill:none;stroke:#000000;stroke-width:0.972208;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 6.35,3.175 V 8.4666665"
id="path1790" />
<circle
style="opacity:1;fill:#000000;stroke:none;stroke-width:1.065;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
id="circle1792"
cx="6.3499999"
cy="10.054167"
r="0.52916664" />
</g>
</mask>
<mask
maskUnits="userSpaceOnUse"
id="mask-powermask-path-effect2659">
<path
id="mask-powermask-path-effect2659_box"
style="fill:#ffffff;fill-opacity:1"
d="M -0.70621928,-0.70618839 H 13.406219 V 13.40625 H -0.70621928 Z" />
<g
id="g2657"
style="">
<path
style="fill:none;stroke:#000000;stroke-width:0.934071;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 6.3499999,3.175 V 8.4666667"
id="path2653" />
<circle
style="opacity:1;fill:#000000;stroke:none;stroke-width:1.065;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
id="circle2655"
cx="6.3499999"
cy="10.163688"
r="0.52916664"
d="M 6.8791665,10.163688 A 0.52916664,0.52916664 0 0 1 6.3499999,10.692854 0.52916664,0.52916664 0 0 1 5.8208333,10.163688 0.52916664,0.52916664 0 0 1 6.3499999,9.6345211 0.52916664,0.52916664 0 0 1 6.8791665,10.163688 Z" />
</g>
</mask>
<filter
id="mask-powermask-path-effect2659_inverse"
inkscape:label="filtermask-powermask-path-effect2659"
style="color-interpolation-filters:sRGB"
height="100"
width="100"
x="-50"
y="-50">
<feColorMatrix
id="mask-powermask-path-effect2659_primitive1"
values="1"
type="saturate"
result="fbSourceGraphic" />
<feColorMatrix
id="mask-powermask-path-effect2659_primitive2"
values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0 "
in="fbSourceGraphic" />
</filter>
</defs>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<path
id="rect1016"
style="stroke-width:1;stroke-linecap:round;stroke-linejoin:round;paint-order:stroke fill markers;stroke:#000000;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;opacity:1"
d="M 0.79374983,11.90625 6.3499999,0.79374983 11.90625,11.90625 Z"
sodipodi:nodetypes="cccc"
mask="url(#mask-powermask-path-effect2659)"
inkscape:path-effect="#path-effect2659"
inkscape:original-d="M 0.79374983,11.90625 6.3499999,0.79374983 11.90625,11.90625 Z" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.8 KiB

View File

@ -45,6 +45,8 @@ theme.mailbox_button_bg_focus = "#464646"
theme.powercontrol_button_bg_focus = "#464646"
theme.taglist_bg_focus = "#464646"
theme = require("themes.generic")(theme)
-- There are other variable sets
-- overriding the default one when
@ -149,6 +151,9 @@ theme.layout_cornersw = global.themes_dir..theme.name.."/layouts/cornersww.png"
theme.layout_cornerse = global.themes_dir..theme.name.."/layouts/cornersew.png"
theme_assets.recolor_layout(theme, theme.fg_normal)
-- Include boilerplate icons
theme = require("themes.icons")(theme)
-- Generate Awesome icon:
theme.awesome_icon = theme_assets.awesome_icon(
theme.menu_height, theme.bg_focus, theme.fg_focus

View File

@ -1,7 +1,9 @@
battery status icons, lock/shutdown/suspend icons, volume status icons were taken from the Breeze icons theme. (https://develop.kde.org/frameworks/breeze-icons/, copyright KDE and licensed under the GNU LGPL version 3 or later)
lock/shutdown/suspend icons were taken from the Breeze icons theme. (https://develop.kde.org/frameworks/breeze-icons/, copyright KDE and licensed under the GNU LGPL version 3 or later)
logout icon is taken from the adwaita project
the fallback-application.svg was taken from https://en.wikipedia.org/wiki/File:X.Org\_Logo.svg, distributed under the CC-BY-SA 3.0 license
battery status icons in particular were modified to look somewhat less ugly when recolored to a single color. this was done because the config automatically recolors all icons to the color value of the foreground (text) color.
logout icon is taken from the adwaita project, licenses from https://gitlab.gnome.org/GNOME/adwaita-icon-theme apply.
all other icons should have the copyright and license attached to them as svg metadata.
the author of this config does not claim copyright of any icons present in this folder unless stated otherwise in the icon's license metadata.

View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" width="431" height="345" version="1.1">
<style type="text/css"><![CDATA[
#P1 {fill:url(#LO)}
rect {opacity:.40740739;fill:#000cff;width:.50507629;height:0}
]]></style>
<defs>
<linearGradient id="LO" gradientUnits="userSpaceOnUse" x1="319.20822" y1="235.14877" x2="657.65295" y2="269.49396">
<stop style="stop-color:#e54c18" offset="0"/>
<stop style="stop-color:#fec350" offset="1"/>
</linearGradient>
</defs>
<g transform="translate(142.2839,-24.99705)">
<g transform="translate(-413.2102,-40.70387)">
<path d="M342.0739,390.70219L 453.17118,245.44599L 338.79445,85.733013L 412.30881,85.794093L 503.44682,211.37696L 367.17669,390.70219L 342.0739,390.70219 z M559.52169,390.8049L 469.01289,265.00644L 606.41773,85.596933L 630.89946,85.596933L 519.34879,231.53848L 633.03722,390.8049L 559.52169,390.8049z"/>
<path id="P1" d="M486.41071,143.82651C 477.55968,143.82651 468.10342,144.51187 459.5906,145.32904C 474.75653,165.10903 487.34067,181.85855 501.82347,200.88092C 493.69471,183.38799 476.98783,166.61333 482.7635,157.98625C 488.48067,149.44656 499.01457,150.88393 499.81696,150.88393C 516.70545,150.88393 532.96221,152.79132 548.16071,156.32143L 551.72321,151.41518C 531.4524,146.19692 509.43472,143.82651 486.41071,143.82651 z M577.87946,159.79018L 574.59821,164.47768C 621.42401,182.81432 653.09821,217.83797 653.09821,257.97767C 653.09821,317.0837 584.43336,365.04017 499.81696,365.04017C 415.20056,365.04016 346.50446,317.08369 346.50446,257.97767C 346.50447,225.78991 366.87604,196.89765 399.09821,177.25893L 389.19196,162.16518C 338.64582,183.59701 305.09822,221.2148 305.09821,264.04017C 305.09821,330.67385 386.32071,384.72767 486.41071,384.72767C 586.5007,384.72767 667.75445,330.67386 667.75446,264.04017C 667.75446,219.60725 631.63191,180.74772 577.87946,159.79018z"/>
</g>
<rect x="322.36493" y="180.85307" width=".50507629" height="0"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -0,0 +1,136 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="48"
height="48"
viewBox="0 0 12.7 12.7"
version="1.1"
id="svg837"
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
sodipodi:docname="warning.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview839"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:document-units="mm"
showgrid="true"
units="px"
inkscape:zoom="12.429181"
inkscape:cx="22.205807"
inkscape:cy="27.113613"
inkscape:window-width="1866"
inkscape:window-height="1038"
inkscape:window-x="52"
inkscape:window-y="20"
inkscape:window-maximized="1"
inkscape:current-layer="layer1">
<inkscape:grid
type="xygrid"
id="grid902" />
</sodipodi:namedview>
<defs
id="defs834">
<inkscape:path-effect
effect="powermask"
id="path-effect2659"
is_visible="true"
lpeversion="1"
uri="#mask-powermask-path-effect2659"
invert="false"
hide_mask="false"
background="true"
background_color="#ffffffff" />
<inkscape:path-effect
effect="powermask"
id="path-effect1796"
is_visible="true"
lpeversion="1"
uri="#mask-powermask-path-effect1796"
invert="false"
hide_mask="false"
background="true"
background_color="#ffffffff" />
<mask
maskUnits="userSpaceOnUse"
id="mask-powermask-path-effect1796">
<g
id="g1794"
transform="matrix(3.1496063,0,0,3.1496063,2.9999997,6.2500913)"
style="">
<path
style="fill:none;stroke:#000000;stroke-width:0.972208;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 6.35,3.175 V 8.4666665"
id="path1790" />
<circle
style="opacity:1;fill:#000000;stroke:none;stroke-width:1.065;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
id="circle1792"
cx="6.3499999"
cy="10.054167"
r="0.52916664" />
</g>
</mask>
<mask
maskUnits="userSpaceOnUse"
id="mask-powermask-path-effect2659">
<path
id="mask-powermask-path-effect2659_box"
style="fill:#ffffff;fill-opacity:1"
d="M -0.70621928,-0.70618839 H 13.406219 V 13.40625 H -0.70621928 Z" />
<g
id="g2657"
style="">
<path
style="fill:none;stroke:#000000;stroke-width:0.934071;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 6.3499999,3.175 V 8.4666667"
id="path2653" />
<circle
style="opacity:1;fill:#000000;stroke:none;stroke-width:1.065;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
id="circle2655"
cx="6.3499999"
cy="10.163688"
r="0.52916664"
d="M 6.8791665,10.163688 A 0.52916664,0.52916664 0 0 1 6.3499999,10.692854 0.52916664,0.52916664 0 0 1 5.8208333,10.163688 0.52916664,0.52916664 0 0 1 6.3499999,9.6345211 0.52916664,0.52916664 0 0 1 6.8791665,10.163688 Z" />
</g>
</mask>
<filter
id="mask-powermask-path-effect2659_inverse"
inkscape:label="filtermask-powermask-path-effect2659"
style="color-interpolation-filters:sRGB"
height="100"
width="100"
x="-50"
y="-50">
<feColorMatrix
id="mask-powermask-path-effect2659_primitive1"
values="1"
type="saturate"
result="fbSourceGraphic" />
<feColorMatrix
id="mask-powermask-path-effect2659_primitive2"
values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0 "
in="fbSourceGraphic" />
</filter>
</defs>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<path
id="rect1016"
style="stroke-width:1;stroke-linecap:round;stroke-linejoin:round;paint-order:stroke fill markers;stroke:#000000;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;opacity:1"
d="M 0.79374983,11.90625 6.3499999,0.79374983 11.90625,11.90625 Z"
sodipodi:nodetypes="cccc"
mask="url(#mask-powermask-path-effect2659)"
inkscape:path-effect="#path-effect2659"
inkscape:original-d="M 0.79374983,11.90625 6.3499999,0.79374983 11.90625,11.90625 Z" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.8 KiB

View File

@ -40,6 +40,9 @@ theme.unitybar_border_color = "#26262666"
theme.unitybar_inner_margin = 3
local bsize = theme.unitybar_width - (theme.unitybar_inner_margin*2)
-- generic
theme = require('themes.generic')(theme)
theme.tasklist_button_shape_border_width = dpi(1)
theme.tasklist_button_shape_border_color = {
type = "linear",
@ -226,6 +229,9 @@ theme.layout_cornersw = global.themes_dir..theme.name.."/layouts/cornersww.png"
theme.layout_cornerse = global.themes_dir..theme.name.."/layouts/cornersew.png"
theme_assets.recolor_layout(theme, theme.fg_normal)
-- Include boilerplate icons
theme = require("themes.icons")(theme)
-- Generate Awesome icon:
theme.awesome_icon = theme_assets.awesome_icon(
theme.menu_height, theme.bg_focus, theme.fg_focus

View File

@ -11,7 +11,6 @@ return function(args)
-- Set up style variables
style = awmtk.style(awmtk.defaults,args.style or {},"mailbox_")
style.mailbox_container_width = style.mailbox_container_width or 260
style.mailbox_button_height = style.mailbox_button_heihgt or 40
args.mail_limit = args.mail_limit or 8
-- Create a notifications list
local notifications_list = wibox.widget {
@ -59,7 +58,6 @@ return function(args)
(update_args.icon and {
image = update_args.icon,
resize = true,
forced_height = style.mailbox_button_height,
widget = wibox.widget.imagebox
}),
{
@ -67,13 +65,13 @@ return function(args)
(update_args.title or "")..
"</b>\n"..(update_args.text or ""),
widget = wibox.widget.textbox,
forced_height = style.mailbox_button_height
},
layout = wibox.layout.fixed.horizontal
},{
bg = style.mailbox_button_bg_focus,
shape = style.mailbox_container_shape,
border_width = style.mailbox_button_border_width
border_width = style.mailbox_button_border_width,
forced_height = style.mailbox_button_height
},{
function()
clip = io.open("/tmp/clip","w")
@ -84,6 +82,9 @@ return function(args)
end
}
))
if #notifications_list.children > args.mail_limit then
notifications_list:remove(#notifications_list.children)
end
for s in screen do
s.notify_widget.bg = style.mailbox_button_bg_focus
end

View File

@ -21,7 +21,7 @@ return function(widget,list,max_elements)
end
end
function new_pager:next()
if #list > self.index*self.max then
if #list >= self.index*self.max then
self.index = self.index + 1
new_pager:update()
end

View File

@ -33,7 +33,7 @@ return function(args)
get = "amixer -D "..device.." sget "
}
local list = {
layout = wibox.layout.fixed.horizontal
layout = wibox.layout.fixed.vertical
}
for k,v in pairs(controls) do
local widget = wibox.widget({
@ -44,23 +44,19 @@ return function(args)
font = style.volume_font
},
{
{
widget = wibox.widget.slider,
id = "widget_slider",
handle_width = style.volume_handle_width or 6,
bar_height = style.volumer_bar_width or 5,
bar_color = style.volume_bar_color or "#55CC60",
bar_shape = style.bar_shape,
handler_shape = style.handle_shape,
value = 100,
},
widget = wibox.container.rotate,
direction = "east"
widget = wibox.widget.slider,
id = "widget_slider",
handle_width = style.volume_handle_width or 6,
bar_height = style.volumer_bar_width or 5,
bar_color = style.volume_bar_color or "#55CC60",
bar_shape = style.bar_shape,
handler_shape = style.handle_shape,
value = 100,
},
layout = wibox.layout.fixed.vertical,
spacing = style.volume_container_spacing_horizontal,
forced_width = style.volume_slider_width or 40,
forced_height = style.volume_slider_height or 120
forced_width = style.volume_slider_width or 180,
forced_height = style.volume_slider_height or 40
})
local slider = widget:get_children_by_id("widget_slider")[1]
awful.spawn.easy_async_with_shell(commands.get..v,function(out)

View File

@ -74,16 +74,52 @@ local function worker(args)
homogeneous = true,
expand = true,
orientation = "vertical",
spacing = 5
spacing = style.wallpapers_container_spacing_vertical
}
local pager = pager(copy_list,{},20)
local pager = pager(copy_list,{},((args.rows and args.columns) and args.rows*args.columns) or 20)
for k,v in pairs(image_list) do
local new_widget = new_wallpaper_button(v,args["screen"])
table.insert(pager.list,new_widget)
end
pager:update()
--create local substyle for pager buttons
local style = awmtk.style(awmtk.defaults,args.style or {},"wallpapers_pager_")
local popup = awful.popup(style.container(
pager.page,
{
pager.page,
{
style.button({
layout = wibox.layout.fixed.vertical
},{
forced_width = style.wallpapers_pager_button_size,
forced_height = style.wallpapers_pager_button_size,
shape = gears.shape.isosceles_triangle,
bg = style.wallpapers_pager_button_bg_focus
},{
function()
pager:prev()
end
}),
style.button({
layout = wibox.layout.fixed.vertical
},{
forced_width = style.wallpapers_pager_button_size,
forced_height = style.wallpapers_pager_button_size,
shape = function(cr,width,height)
gears.shape.transform(gears.shape.isosceles_triangle):rotate_at(width/2, height/2, math.pi)(cr,width,height)
end,
bg = style.wallpapers_pager_button_bg_focus
},{
function()
pager:next()
end
}),
layout = wibox.layout.fixed.vertical,
spacing = style.wallpapers_pager_container_spacing_vertical
},
layout = wibox.layout.fixed.horizontal,
spacing = style.wallpapers_pager_container_spacing_horizontal
},
{
visible = false,
ontop = true
@ -93,7 +129,9 @@ local function worker(args)
image = style["wallpapers_icon"],
resize = true,
widget = wibox.widget.imagebox
},{},{
},{
bg = style.wallpapers_icon_bg_normal
},{
function()
if popup.visible then
popup.visible = not popup.visible

View File

@ -8,6 +8,9 @@ local function ellipsize(t)
end
end
local function generate_text(c)
if not global.debug then
return "Debug mode is disabled!\nAdd \"global.debug = true\"\nto core/vars.lua to enable it."
end
local markup = ""
for k,v in pairs(infotab) do
markup = markup..tostring(v)..": "..ellipsize(tostring(c[v])).."\n"