diff --git a/.gitmodules b/.gitmodules index e93a8f8..5eeb081 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,9 @@ [submodule "nice"] path = awesome/nice url = https://github.com/mut-ex/awesome-wm-nice.git +[submodule "awesomestarter"] + path = awesomestarter + url = https://gitlab.com/bloxiebird/linux-awesomewm-modular-starter-kit.git +[submodule "awesomeshrt"] + path = awesomeshrt + url = https://github.com/shtwzrd/awesome-wm-config.git diff --git a/awesome/README.org b/awes2/README.org similarity index 100% rename from awesome/README.org rename to awes2/README.org diff --git a/awes2/bar.fnl b/awes2/bar.fnl new file mode 100644 index 0000000..9860f2a --- /dev/null +++ b/awes2/bar.fnl @@ -0,0 +1,19 @@ +(local awful (require "awful")) +(local beautiful (require "beautiful")) +(local wibox (require "wibox")) +(local dpi xresources.apply_dpi) + + +(awful.screen.connect_for_each_screen(fn screen_bar [s] + "Adding a bar for each screen" + (awful.tag([ "◉", "◉", "◉", "◉"] s awful.layout.layouts[1])) + + (let [yoffset (dpi 45)]) + (let [xoffset (dpi 18)]) + (let [mypanel (wibox + [ + (let x (+ s.geometry.x xoffset)) + (let y (- s.geometry.height yoffset)) + (let height (dpi 30)) + ])]) + )) diff --git a/awesome/binaries/profile-image b/awes2/binaries/profile-image similarity index 100% rename from awesome/binaries/profile-image rename to awes2/binaries/profile-image diff --git a/awesome/binaries/snap b/awes2/binaries/snap similarity index 100% rename from awesome/binaries/snap rename to awes2/binaries/snap diff --git a/awesome/configuration/apps.lua b/awes2/configuration/apps.lua similarity index 100% rename from awesome/configuration/apps.lua rename to awes2/configuration/apps.lua diff --git a/awesome/configuration/client/buttons.lua b/awes2/configuration/client/buttons.lua similarity index 100% rename from awesome/configuration/client/buttons.lua rename to awes2/configuration/client/buttons.lua diff --git a/awesome/configuration/client/init.lua b/awes2/configuration/client/init.lua similarity index 100% rename from awesome/configuration/client/init.lua rename to awes2/configuration/client/init.lua diff --git a/awesome/configuration/client/keys.lua b/awes2/configuration/client/keys.lua similarity index 100% rename from awesome/configuration/client/keys.lua rename to awes2/configuration/client/keys.lua diff --git a/awesome/configuration/client/rules.lua b/awes2/configuration/client/rules.lua similarity index 100% rename from awesome/configuration/client/rules.lua rename to awes2/configuration/client/rules.lua diff --git a/awesome/configuration/init.lua b/awes2/configuration/init.lua similarity index 100% rename from awesome/configuration/init.lua rename to awes2/configuration/init.lua diff --git a/awesome/configuration/keyboards/global.lua b/awes2/configuration/keyboards/global.lua similarity index 100% rename from awesome/configuration/keyboards/global.lua rename to awes2/configuration/keyboards/global.lua diff --git a/awesome/configuration/keyboards/init.lua b/awes2/configuration/keyboards/init.lua similarity index 100% rename from awesome/configuration/keyboards/init.lua rename to awes2/configuration/keyboards/init.lua diff --git a/awesome/configuration/keyboards/mod.lua b/awes2/configuration/keyboards/mod.lua similarity index 100% rename from awesome/configuration/keyboards/mod.lua rename to awes2/configuration/keyboards/mod.lua diff --git a/awesome/configuration/picom.conf b/awes2/configuration/picom.conf similarity index 100% rename from awesome/configuration/picom.conf rename to awes2/configuration/picom.conf diff --git a/awesome/configuration/rofi/appmenu/rofi.rasi b/awes2/configuration/rofi/appmenu/rofi.rasi similarity index 100% rename from awesome/configuration/rofi/appmenu/rofi.rasi rename to awes2/configuration/rofi/appmenu/rofi.rasi diff --git a/awesome/configuration/rofi/sidebar/icons/ddg.svg b/awes2/configuration/rofi/sidebar/icons/ddg.svg similarity index 100% rename from awesome/configuration/rofi/sidebar/icons/ddg.svg rename to awes2/configuration/rofi/sidebar/icons/ddg.svg diff --git a/awesome/configuration/rofi/sidebar/icons/google.svg b/awes2/configuration/rofi/sidebar/icons/google.svg similarity index 100% rename from awesome/configuration/rofi/sidebar/icons/google.svg rename to awes2/configuration/rofi/sidebar/icons/google.svg diff --git a/awesome/configuration/rofi/sidebar/icons/history.svg b/awes2/configuration/rofi/sidebar/icons/history.svg similarity index 100% rename from awesome/configuration/rofi/sidebar/icons/history.svg rename to awes2/configuration/rofi/sidebar/icons/history.svg diff --git a/awesome/configuration/rofi/sidebar/icons/result.svg b/awes2/configuration/rofi/sidebar/icons/result.svg similarity index 100% rename from awesome/configuration/rofi/sidebar/icons/result.svg rename to awes2/configuration/rofi/sidebar/icons/result.svg diff --git a/awesome/configuration/rofi/sidebar/icons/suggestion.svg b/awes2/configuration/rofi/sidebar/icons/suggestion.svg similarity index 100% rename from awesome/configuration/rofi/sidebar/icons/suggestion.svg rename to awes2/configuration/rofi/sidebar/icons/suggestion.svg diff --git a/awesome/configuration/rofi/sidebar/rofi-spotlight.sh b/awes2/configuration/rofi/sidebar/rofi-spotlight.sh similarity index 100% rename from awesome/configuration/rofi/sidebar/rofi-spotlight.sh rename to awes2/configuration/rofi/sidebar/rofi-spotlight.sh diff --git a/awesome/configuration/rofi/sidebar/rofi.rasi b/awes2/configuration/rofi/sidebar/rofi.rasi similarity index 100% rename from awesome/configuration/rofi/sidebar/rofi.rasi rename to awes2/configuration/rofi/sidebar/rofi.rasi diff --git a/awesome/configuration/rofi/sidebar/web-search.py b/awes2/configuration/rofi/sidebar/web-search.py similarity index 100% rename from awesome/configuration/rofi/sidebar/web-search.py rename to awes2/configuration/rofi/sidebar/web-search.py diff --git a/awesome/configuration/root/init.lua b/awes2/configuration/root/init.lua similarity index 100% rename from awesome/configuration/root/init.lua rename to awes2/configuration/root/init.lua diff --git a/awesome/configuration/secrets.lua b/awes2/configuration/secrets.lua similarity index 100% rename from awesome/configuration/secrets.lua rename to awes2/configuration/secrets.lua diff --git a/awesome/configuration/tags/init.lua b/awes2/configuration/tags/init.lua similarity index 100% rename from awesome/configuration/tags/init.lua rename to awes2/configuration/tags/init.lua diff --git a/awesome/configuration/user-profile/default.svg b/awes2/configuration/user-profile/default.svg similarity index 100% rename from awesome/configuration/user-profile/default.svg rename to awes2/configuration/user-profile/default.svg diff --git a/awesome/fennel.lua b/awes2/fennel.lua similarity index 100% rename from awesome/fennel.lua rename to awes2/fennel.lua diff --git a/awesome/fnlconfig.fnl b/awes2/fnlconfig.fnl similarity index 99% rename from awesome/fnlconfig.fnl rename to awes2/fnlconfig.fnl index acfaada..9fa5b20 100644 --- a/awesome/fnlconfig.fnl +++ b/awes2/fnlconfig.fnl @@ -405,7 +405,7 @@ ;; Add titlebars to normal clients and dialogs { :rule_any {:type [ "normal", "dialog" ] } - :properties {:titlebars_enabled true } + :properties {:titlebars_enabled false } } ;; Set Firefox to always map on the tag named "2" on screen 1. diff --git a/awesome/glorious.rc.lua b/awes2/glorious.rc.lua similarity index 100% rename from awesome/glorious.rc.lua rename to awes2/glorious.rc.lua diff --git a/awesome/gloriousthemes/default-theme.lua b/awes2/gloriousthemes/default-theme.lua similarity index 100% rename from awesome/gloriousthemes/default-theme.lua rename to awes2/gloriousthemes/default-theme.lua diff --git a/awesome/gloriousthemes/floppy-theme/init.lua b/awes2/gloriousthemes/floppy-theme/init.lua similarity index 100% rename from awesome/gloriousthemes/floppy-theme/init.lua rename to awes2/gloriousthemes/floppy-theme/init.lua diff --git a/awesome/gloriousthemes/icons/awesome.svg b/awes2/gloriousthemes/icons/awesome.svg similarity index 100% rename from awesome/gloriousthemes/icons/awesome.svg rename to awes2/gloriousthemes/icons/awesome.svg diff --git a/awesome/gloriousthemes/icons/battery-charge.svg b/awes2/gloriousthemes/icons/battery-charge.svg similarity index 100% rename from awesome/gloriousthemes/icons/battery-charge.svg rename to awes2/gloriousthemes/icons/battery-charge.svg diff --git a/awesome/gloriousthemes/icons/battery-discharge.svg b/awes2/gloriousthemes/icons/battery-discharge.svg similarity index 100% rename from awesome/gloriousthemes/icons/battery-discharge.svg rename to awes2/gloriousthemes/icons/battery-discharge.svg diff --git a/awesome/gloriousthemes/icons/brightness-7.svg b/awes2/gloriousthemes/icons/brightness-7.svg similarity index 100% rename from awesome/gloriousthemes/icons/brightness-7.svg rename to awes2/gloriousthemes/icons/brightness-7.svg diff --git a/awesome/gloriousthemes/icons/chart-areaspline.svg b/awes2/gloriousthemes/icons/chart-areaspline.svg similarity index 100% rename from awesome/gloriousthemes/icons/chart-areaspline.svg rename to awes2/gloriousthemes/icons/chart-areaspline.svg diff --git a/awesome/gloriousthemes/icons/close.svg b/awes2/gloriousthemes/icons/close.svg similarity index 100% rename from awesome/gloriousthemes/icons/close.svg rename to awes2/gloriousthemes/icons/close.svg diff --git a/awesome/gloriousthemes/icons/effects.svg b/awes2/gloriousthemes/icons/effects.svg similarity index 100% rename from awesome/gloriousthemes/icons/effects.svg rename to awes2/gloriousthemes/icons/effects.svg diff --git a/awesome/gloriousthemes/icons/harddisk.svg b/awes2/gloriousthemes/icons/harddisk.svg similarity index 100% rename from awesome/gloriousthemes/icons/harddisk.svg rename to awes2/gloriousthemes/icons/harddisk.svg diff --git a/awesome/gloriousthemes/icons/init.lua b/awes2/gloriousthemes/icons/init.lua similarity index 100% rename from awesome/gloriousthemes/icons/init.lua rename to awes2/gloriousthemes/icons/init.lua diff --git a/awesome/gloriousthemes/icons/layouts/dwindle.svg b/awes2/gloriousthemes/icons/layouts/dwindle.svg similarity index 100% rename from awesome/gloriousthemes/icons/layouts/dwindle.svg rename to awes2/gloriousthemes/icons/layouts/dwindle.svg diff --git a/awesome/gloriousthemes/icons/layouts/floating.svg b/awes2/gloriousthemes/icons/layouts/floating.svg similarity index 100% rename from awesome/gloriousthemes/icons/layouts/floating.svg rename to awes2/gloriousthemes/icons/layouts/floating.svg diff --git a/awesome/gloriousthemes/icons/layouts/fullscreen.svg b/awes2/gloriousthemes/icons/layouts/fullscreen.svg similarity index 100% rename from awesome/gloriousthemes/icons/layouts/fullscreen.svg rename to awes2/gloriousthemes/icons/layouts/fullscreen.svg diff --git a/awesome/gloriousthemes/icons/layouts/max.svg b/awes2/gloriousthemes/icons/layouts/max.svg similarity index 100% rename from awesome/gloriousthemes/icons/layouts/max.svg rename to awes2/gloriousthemes/icons/layouts/max.svg diff --git a/awesome/gloriousthemes/icons/layouts/tile.svg b/awes2/gloriousthemes/icons/layouts/tile.svg similarity index 100% rename from awesome/gloriousthemes/icons/layouts/tile.svg rename to awes2/gloriousthemes/icons/layouts/tile.svg diff --git a/awesome/gloriousthemes/icons/lock.svg b/awes2/gloriousthemes/icons/lock.svg similarity index 100% rename from awesome/gloriousthemes/icons/lock.svg rename to awes2/gloriousthemes/icons/lock.svg diff --git a/awesome/gloriousthemes/icons/logout.svg b/awes2/gloriousthemes/icons/logout.svg similarity index 100% rename from awesome/gloriousthemes/icons/logout.svg rename to awes2/gloriousthemes/icons/logout.svg diff --git a/awesome/gloriousthemes/icons/magnify.svg b/awes2/gloriousthemes/icons/magnify.svg similarity index 100% rename from awesome/gloriousthemes/icons/magnify.svg rename to awes2/gloriousthemes/icons/magnify.svg diff --git a/awesome/gloriousthemes/icons/memory.svg b/awes2/gloriousthemes/icons/memory.svg similarity index 100% rename from awesome/gloriousthemes/icons/memory.svg rename to awes2/gloriousthemes/icons/memory.svg diff --git a/awesome/gloriousthemes/icons/plus.svg b/awes2/gloriousthemes/icons/plus.svg similarity index 100% rename from awesome/gloriousthemes/icons/plus.svg rename to awes2/gloriousthemes/icons/plus.svg diff --git a/awesome/gloriousthemes/icons/power-sleep.svg b/awes2/gloriousthemes/icons/power-sleep.svg similarity index 100% rename from awesome/gloriousthemes/icons/power-sleep.svg rename to awes2/gloriousthemes/icons/power-sleep.svg diff --git a/awesome/gloriousthemes/icons/power.svg b/awes2/gloriousthemes/icons/power.svg similarity index 100% rename from awesome/gloriousthemes/icons/power.svg rename to awes2/gloriousthemes/icons/power.svg diff --git a/awesome/gloriousthemes/icons/restart.svg b/awes2/gloriousthemes/icons/restart.svg similarity index 100% rename from awesome/gloriousthemes/icons/restart.svg rename to awes2/gloriousthemes/icons/restart.svg diff --git a/awesome/gloriousthemes/icons/ship-wheel.svg b/awes2/gloriousthemes/icons/ship-wheel.svg similarity index 100% rename from awesome/gloriousthemes/icons/ship-wheel.svg rename to awes2/gloriousthemes/icons/ship-wheel.svg diff --git a/awesome/gloriousthemes/icons/tag-list/close-small.svg b/awes2/gloriousthemes/icons/tag-list/close-small.svg similarity index 100% rename from awesome/gloriousthemes/icons/tag-list/close-small.svg rename to awes2/gloriousthemes/icons/tag-list/close-small.svg diff --git a/awesome/gloriousthemes/icons/tag-list/development.svg b/awes2/gloriousthemes/icons/tag-list/development.svg similarity index 100% rename from awesome/gloriousthemes/icons/tag-list/development.svg rename to awes2/gloriousthemes/icons/tag-list/development.svg diff --git a/awesome/gloriousthemes/icons/tag-list/file-manager.svg b/awes2/gloriousthemes/icons/tag-list/file-manager.svg similarity index 100% rename from awesome/gloriousthemes/icons/tag-list/file-manager.svg rename to awes2/gloriousthemes/icons/tag-list/file-manager.svg diff --git a/awesome/gloriousthemes/icons/tag-list/games.svg b/awes2/gloriousthemes/icons/tag-list/games.svg similarity index 100% rename from awesome/gloriousthemes/icons/tag-list/games.svg rename to awes2/gloriousthemes/icons/tag-list/games.svg diff --git a/awesome/gloriousthemes/icons/tag-list/graphics.svg b/awes2/gloriousthemes/icons/tag-list/graphics.svg similarity index 100% rename from awesome/gloriousthemes/icons/tag-list/graphics.svg rename to awes2/gloriousthemes/icons/tag-list/graphics.svg diff --git a/awesome/gloriousthemes/icons/tag-list/menu.svg b/awes2/gloriousthemes/icons/tag-list/menu.svg similarity index 100% rename from awesome/gloriousthemes/icons/tag-list/menu.svg rename to awes2/gloriousthemes/icons/tag-list/menu.svg diff --git a/awesome/gloriousthemes/icons/tag-list/menu2.svg b/awes2/gloriousthemes/icons/tag-list/menu2.svg similarity index 100% rename from awesome/gloriousthemes/icons/tag-list/menu2.svg rename to awes2/gloriousthemes/icons/tag-list/menu2.svg diff --git a/awesome/gloriousthemes/icons/tag-list/multimedia.svg b/awes2/gloriousthemes/icons/tag-list/multimedia.svg similarity index 100% rename from awesome/gloriousthemes/icons/tag-list/multimedia.svg rename to awes2/gloriousthemes/icons/tag-list/multimedia.svg diff --git a/awesome/gloriousthemes/icons/tag-list/sandbox.svg b/awes2/gloriousthemes/icons/tag-list/sandbox.svg similarity index 100% rename from awesome/gloriousthemes/icons/tag-list/sandbox.svg rename to awes2/gloriousthemes/icons/tag-list/sandbox.svg diff --git a/awesome/gloriousthemes/icons/tag-list/social.svg b/awes2/gloriousthemes/icons/tag-list/social.svg similarity index 100% rename from awesome/gloriousthemes/icons/tag-list/social.svg rename to awes2/gloriousthemes/icons/tag-list/social.svg diff --git a/awesome/gloriousthemes/icons/tag-list/terminal.svg b/awes2/gloriousthemes/icons/tag-list/terminal.svg similarity index 100% rename from awesome/gloriousthemes/icons/tag-list/terminal.svg rename to awes2/gloriousthemes/icons/tag-list/terminal.svg diff --git a/awesome/gloriousthemes/icons/tag-list/text-editor.svg b/awes2/gloriousthemes/icons/tag-list/text-editor.svg similarity index 100% rename from awesome/gloriousthemes/icons/tag-list/text-editor.svg rename to awes2/gloriousthemes/icons/tag-list/text-editor.svg diff --git a/awesome/gloriousthemes/icons/tag-list/web-browser.svg b/awes2/gloriousthemes/icons/tag-list/web-browser.svg similarity index 100% rename from awesome/gloriousthemes/icons/tag-list/web-browser.svg rename to awes2/gloriousthemes/icons/tag-list/web-browser.svg diff --git a/awesome/gloriousthemes/icons/thermometer.svg b/awes2/gloriousthemes/icons/thermometer.svg similarity index 100% rename from awesome/gloriousthemes/icons/thermometer.svg rename to awes2/gloriousthemes/icons/thermometer.svg diff --git a/awesome/gloriousthemes/icons/titlebar/stoplight/close_focus.svg b/awes2/gloriousthemes/icons/titlebar/stoplight/close_focus.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/stoplight/close_focus.svg rename to awes2/gloriousthemes/icons/titlebar/stoplight/close_focus.svg diff --git a/awesome/gloriousthemes/icons/titlebar/stoplight/close_focus_hover.svg b/awes2/gloriousthemes/icons/titlebar/stoplight/close_focus_hover.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/stoplight/close_focus_hover.svg rename to awes2/gloriousthemes/icons/titlebar/stoplight/close_focus_hover.svg diff --git a/awesome/gloriousthemes/icons/titlebar/stoplight/close_normal.svg b/awes2/gloriousthemes/icons/titlebar/stoplight/close_normal.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/stoplight/close_normal.svg rename to awes2/gloriousthemes/icons/titlebar/stoplight/close_normal.svg diff --git a/awesome/gloriousthemes/icons/titlebar/stoplight/close_normal_hover.svg b/awes2/gloriousthemes/icons/titlebar/stoplight/close_normal_hover.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/stoplight/close_normal_hover.svg rename to awes2/gloriousthemes/icons/titlebar/stoplight/close_normal_hover.svg diff --git a/awesome/gloriousthemes/icons/titlebar/stoplight/floating_focus_active.svg b/awes2/gloriousthemes/icons/titlebar/stoplight/floating_focus_active.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/stoplight/floating_focus_active.svg rename to awes2/gloriousthemes/icons/titlebar/stoplight/floating_focus_active.svg diff --git a/awesome/gloriousthemes/icons/titlebar/stoplight/floating_focus_active_hover.svg b/awes2/gloriousthemes/icons/titlebar/stoplight/floating_focus_active_hover.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/stoplight/floating_focus_active_hover.svg rename to awes2/gloriousthemes/icons/titlebar/stoplight/floating_focus_active_hover.svg diff --git a/awesome/gloriousthemes/icons/titlebar/stoplight/floating_focus_inactive.svg b/awes2/gloriousthemes/icons/titlebar/stoplight/floating_focus_inactive.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/stoplight/floating_focus_inactive.svg rename to awes2/gloriousthemes/icons/titlebar/stoplight/floating_focus_inactive.svg diff --git a/awesome/gloriousthemes/icons/titlebar/stoplight/floating_focus_inactive_hover.svg b/awes2/gloriousthemes/icons/titlebar/stoplight/floating_focus_inactive_hover.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/stoplight/floating_focus_inactive_hover.svg rename to awes2/gloriousthemes/icons/titlebar/stoplight/floating_focus_inactive_hover.svg diff --git a/awesome/gloriousthemes/icons/titlebar/stoplight/floating_normal_active.svg b/awes2/gloriousthemes/icons/titlebar/stoplight/floating_normal_active.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/stoplight/floating_normal_active.svg rename to awes2/gloriousthemes/icons/titlebar/stoplight/floating_normal_active.svg diff --git a/awesome/gloriousthemes/icons/titlebar/stoplight/floating_normal_active_hover.svg b/awes2/gloriousthemes/icons/titlebar/stoplight/floating_normal_active_hover.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/stoplight/floating_normal_active_hover.svg rename to awes2/gloriousthemes/icons/titlebar/stoplight/floating_normal_active_hover.svg diff --git a/awesome/gloriousthemes/icons/titlebar/stoplight/floating_normal_inactive.svg b/awes2/gloriousthemes/icons/titlebar/stoplight/floating_normal_inactive.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/stoplight/floating_normal_inactive.svg rename to awes2/gloriousthemes/icons/titlebar/stoplight/floating_normal_inactive.svg diff --git a/awesome/gloriousthemes/icons/titlebar/stoplight/floating_normal_inactive_hover.svg b/awes2/gloriousthemes/icons/titlebar/stoplight/floating_normal_inactive_hover.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/stoplight/floating_normal_inactive_hover.svg rename to awes2/gloriousthemes/icons/titlebar/stoplight/floating_normal_inactive_hover.svg diff --git a/awesome/gloriousthemes/icons/titlebar/stoplight/maximized_focus_active.svg b/awes2/gloriousthemes/icons/titlebar/stoplight/maximized_focus_active.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/stoplight/maximized_focus_active.svg rename to awes2/gloriousthemes/icons/titlebar/stoplight/maximized_focus_active.svg diff --git a/awesome/gloriousthemes/icons/titlebar/stoplight/maximized_focus_active_hover.svg b/awes2/gloriousthemes/icons/titlebar/stoplight/maximized_focus_active_hover.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/stoplight/maximized_focus_active_hover.svg rename to awes2/gloriousthemes/icons/titlebar/stoplight/maximized_focus_active_hover.svg diff --git a/awesome/gloriousthemes/icons/titlebar/stoplight/maximized_focus_inactive.svg b/awes2/gloriousthemes/icons/titlebar/stoplight/maximized_focus_inactive.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/stoplight/maximized_focus_inactive.svg rename to awes2/gloriousthemes/icons/titlebar/stoplight/maximized_focus_inactive.svg diff --git a/awesome/gloriousthemes/icons/titlebar/stoplight/maximized_focus_inactive_hover.svg b/awes2/gloriousthemes/icons/titlebar/stoplight/maximized_focus_inactive_hover.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/stoplight/maximized_focus_inactive_hover.svg rename to awes2/gloriousthemes/icons/titlebar/stoplight/maximized_focus_inactive_hover.svg diff --git a/awesome/gloriousthemes/icons/titlebar/stoplight/maximized_normal_active.svg b/awes2/gloriousthemes/icons/titlebar/stoplight/maximized_normal_active.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/stoplight/maximized_normal_active.svg rename to awes2/gloriousthemes/icons/titlebar/stoplight/maximized_normal_active.svg diff --git a/awesome/gloriousthemes/icons/titlebar/stoplight/maximized_normal_active_hover.svg b/awes2/gloriousthemes/icons/titlebar/stoplight/maximized_normal_active_hover.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/stoplight/maximized_normal_active_hover.svg rename to awes2/gloriousthemes/icons/titlebar/stoplight/maximized_normal_active_hover.svg diff --git a/awesome/gloriousthemes/icons/titlebar/stoplight/maximized_normal_inactive.svg b/awes2/gloriousthemes/icons/titlebar/stoplight/maximized_normal_inactive.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/stoplight/maximized_normal_inactive.svg rename to awes2/gloriousthemes/icons/titlebar/stoplight/maximized_normal_inactive.svg diff --git a/awesome/gloriousthemes/icons/titlebar/stoplight/maximized_normal_inactive_hover.svg b/awes2/gloriousthemes/icons/titlebar/stoplight/maximized_normal_inactive_hover.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/stoplight/maximized_normal_inactive_hover.svg rename to awes2/gloriousthemes/icons/titlebar/stoplight/maximized_normal_inactive_hover.svg diff --git a/awesome/gloriousthemes/icons/titlebar/stoplight/minimize_focus.svg b/awes2/gloriousthemes/icons/titlebar/stoplight/minimize_focus.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/stoplight/minimize_focus.svg rename to awes2/gloriousthemes/icons/titlebar/stoplight/minimize_focus.svg diff --git a/awesome/gloriousthemes/icons/titlebar/stoplight/minimize_focus_hover.svg b/awes2/gloriousthemes/icons/titlebar/stoplight/minimize_focus_hover.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/stoplight/minimize_focus_hover.svg rename to awes2/gloriousthemes/icons/titlebar/stoplight/minimize_focus_hover.svg diff --git a/awesome/gloriousthemes/icons/titlebar/stoplight/minimize_normal.svg b/awes2/gloriousthemes/icons/titlebar/stoplight/minimize_normal.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/stoplight/minimize_normal.svg rename to awes2/gloriousthemes/icons/titlebar/stoplight/minimize_normal.svg diff --git a/awesome/gloriousthemes/icons/titlebar/stoplight/minimize_normal_hover.svg b/awes2/gloriousthemes/icons/titlebar/stoplight/minimize_normal_hover.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/stoplight/minimize_normal_hover.svg rename to awes2/gloriousthemes/icons/titlebar/stoplight/minimize_normal_hover.svg diff --git a/awesome/gloriousthemes/icons/titlebar/stoplight/ontop_focus_active.svg b/awes2/gloriousthemes/icons/titlebar/stoplight/ontop_focus_active.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/stoplight/ontop_focus_active.svg rename to awes2/gloriousthemes/icons/titlebar/stoplight/ontop_focus_active.svg diff --git a/awesome/gloriousthemes/icons/titlebar/stoplight/ontop_focus_active_hover.svg b/awes2/gloriousthemes/icons/titlebar/stoplight/ontop_focus_active_hover.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/stoplight/ontop_focus_active_hover.svg rename to awes2/gloriousthemes/icons/titlebar/stoplight/ontop_focus_active_hover.svg diff --git a/awesome/gloriousthemes/icons/titlebar/stoplight/ontop_focus_inactive.svg b/awes2/gloriousthemes/icons/titlebar/stoplight/ontop_focus_inactive.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/stoplight/ontop_focus_inactive.svg rename to awes2/gloriousthemes/icons/titlebar/stoplight/ontop_focus_inactive.svg diff --git a/awesome/gloriousthemes/icons/titlebar/stoplight/ontop_focus_inactive_hover.svg b/awes2/gloriousthemes/icons/titlebar/stoplight/ontop_focus_inactive_hover.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/stoplight/ontop_focus_inactive_hover.svg rename to awes2/gloriousthemes/icons/titlebar/stoplight/ontop_focus_inactive_hover.svg diff --git a/awesome/gloriousthemes/icons/titlebar/stoplight/ontop_normal_active.svg b/awes2/gloriousthemes/icons/titlebar/stoplight/ontop_normal_active.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/stoplight/ontop_normal_active.svg rename to awes2/gloriousthemes/icons/titlebar/stoplight/ontop_normal_active.svg diff --git a/awesome/gloriousthemes/icons/titlebar/stoplight/ontop_normal_active_hover.svg b/awes2/gloriousthemes/icons/titlebar/stoplight/ontop_normal_active_hover.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/stoplight/ontop_normal_active_hover.svg rename to awes2/gloriousthemes/icons/titlebar/stoplight/ontop_normal_active_hover.svg diff --git a/awesome/gloriousthemes/icons/titlebar/stoplight/ontop_normal_inactive.svg b/awes2/gloriousthemes/icons/titlebar/stoplight/ontop_normal_inactive.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/stoplight/ontop_normal_inactive.svg rename to awes2/gloriousthemes/icons/titlebar/stoplight/ontop_normal_inactive.svg diff --git a/awesome/gloriousthemes/icons/titlebar/stoplight/ontop_normal_inactive_hover.svg b/awes2/gloriousthemes/icons/titlebar/stoplight/ontop_normal_inactive_hover.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/stoplight/ontop_normal_inactive_hover.svg rename to awes2/gloriousthemes/icons/titlebar/stoplight/ontop_normal_inactive_hover.svg diff --git a/awesome/gloriousthemes/icons/titlebar/stoplight/sticky_focus_active.svg b/awes2/gloriousthemes/icons/titlebar/stoplight/sticky_focus_active.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/stoplight/sticky_focus_active.svg rename to awes2/gloriousthemes/icons/titlebar/stoplight/sticky_focus_active.svg diff --git a/awesome/gloriousthemes/icons/titlebar/stoplight/sticky_focus_active_hover.svg b/awes2/gloriousthemes/icons/titlebar/stoplight/sticky_focus_active_hover.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/stoplight/sticky_focus_active_hover.svg rename to awes2/gloriousthemes/icons/titlebar/stoplight/sticky_focus_active_hover.svg diff --git a/awesome/gloriousthemes/icons/titlebar/stoplight/sticky_focus_inactive.svg b/awes2/gloriousthemes/icons/titlebar/stoplight/sticky_focus_inactive.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/stoplight/sticky_focus_inactive.svg rename to awes2/gloriousthemes/icons/titlebar/stoplight/sticky_focus_inactive.svg diff --git a/awesome/gloriousthemes/icons/titlebar/stoplight/sticky_focus_inactive_hover.svg b/awes2/gloriousthemes/icons/titlebar/stoplight/sticky_focus_inactive_hover.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/stoplight/sticky_focus_inactive_hover.svg rename to awes2/gloriousthemes/icons/titlebar/stoplight/sticky_focus_inactive_hover.svg diff --git a/awesome/gloriousthemes/icons/titlebar/stoplight/sticky_normal_active.svg b/awes2/gloriousthemes/icons/titlebar/stoplight/sticky_normal_active.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/stoplight/sticky_normal_active.svg rename to awes2/gloriousthemes/icons/titlebar/stoplight/sticky_normal_active.svg diff --git a/awesome/gloriousthemes/icons/titlebar/stoplight/sticky_normal_active_hover.svg b/awes2/gloriousthemes/icons/titlebar/stoplight/sticky_normal_active_hover.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/stoplight/sticky_normal_active_hover.svg rename to awes2/gloriousthemes/icons/titlebar/stoplight/sticky_normal_active_hover.svg diff --git a/awesome/gloriousthemes/icons/titlebar/stoplight/sticky_normal_inactive.svg b/awes2/gloriousthemes/icons/titlebar/stoplight/sticky_normal_inactive.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/stoplight/sticky_normal_inactive.svg rename to awes2/gloriousthemes/icons/titlebar/stoplight/sticky_normal_inactive.svg diff --git a/awesome/gloriousthemes/icons/titlebar/stoplight/sticky_normal_inactive_hover.svg b/awes2/gloriousthemes/icons/titlebar/stoplight/sticky_normal_inactive_hover.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/stoplight/sticky_normal_inactive_hover.svg rename to awes2/gloriousthemes/icons/titlebar/stoplight/sticky_normal_inactive_hover.svg diff --git a/awesome/gloriousthemes/icons/titlebar/win10/close_focus.svg b/awes2/gloriousthemes/icons/titlebar/win10/close_focus.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/win10/close_focus.svg rename to awes2/gloriousthemes/icons/titlebar/win10/close_focus.svg diff --git a/awesome/gloriousthemes/icons/titlebar/win10/close_normal.svg b/awes2/gloriousthemes/icons/titlebar/win10/close_normal.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/win10/close_normal.svg rename to awes2/gloriousthemes/icons/titlebar/win10/close_normal.svg diff --git a/awesome/gloriousthemes/icons/titlebar/win10/close_normal_hover.svg b/awes2/gloriousthemes/icons/titlebar/win10/close_normal_hover.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/win10/close_normal_hover.svg rename to awes2/gloriousthemes/icons/titlebar/win10/close_normal_hover.svg diff --git a/awesome/gloriousthemes/icons/titlebar/win10/floating_focus_active.svg b/awes2/gloriousthemes/icons/titlebar/win10/floating_focus_active.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/win10/floating_focus_active.svg rename to awes2/gloriousthemes/icons/titlebar/win10/floating_focus_active.svg diff --git a/awesome/gloriousthemes/icons/titlebar/win10/floating_focus_active_hover.svg b/awes2/gloriousthemes/icons/titlebar/win10/floating_focus_active_hover.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/win10/floating_focus_active_hover.svg rename to awes2/gloriousthemes/icons/titlebar/win10/floating_focus_active_hover.svg diff --git a/awesome/gloriousthemes/icons/titlebar/win10/floating_focus_inactive.svg b/awes2/gloriousthemes/icons/titlebar/win10/floating_focus_inactive.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/win10/floating_focus_inactive.svg rename to awes2/gloriousthemes/icons/titlebar/win10/floating_focus_inactive.svg diff --git a/awesome/gloriousthemes/icons/titlebar/win10/floating_focus_inactive_hover.svg b/awes2/gloriousthemes/icons/titlebar/win10/floating_focus_inactive_hover.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/win10/floating_focus_inactive_hover.svg rename to awes2/gloriousthemes/icons/titlebar/win10/floating_focus_inactive_hover.svg diff --git a/awesome/gloriousthemes/icons/titlebar/win10/floating_normal_active.svg b/awes2/gloriousthemes/icons/titlebar/win10/floating_normal_active.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/win10/floating_normal_active.svg rename to awes2/gloriousthemes/icons/titlebar/win10/floating_normal_active.svg diff --git a/awesome/gloriousthemes/icons/titlebar/win10/floating_normal_active_hover.svg b/awes2/gloriousthemes/icons/titlebar/win10/floating_normal_active_hover.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/win10/floating_normal_active_hover.svg rename to awes2/gloriousthemes/icons/titlebar/win10/floating_normal_active_hover.svg diff --git a/awesome/gloriousthemes/icons/titlebar/win10/floating_normal_inactive.svg b/awes2/gloriousthemes/icons/titlebar/win10/floating_normal_inactive.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/win10/floating_normal_inactive.svg rename to awes2/gloriousthemes/icons/titlebar/win10/floating_normal_inactive.svg diff --git a/awesome/gloriousthemes/icons/titlebar/win10/floating_normal_inactive_hover.svg b/awes2/gloriousthemes/icons/titlebar/win10/floating_normal_inactive_hover.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/win10/floating_normal_inactive_hover.svg rename to awes2/gloriousthemes/icons/titlebar/win10/floating_normal_inactive_hover.svg diff --git a/awesome/gloriousthemes/icons/titlebar/win10/maximized_focus_active.svg b/awes2/gloriousthemes/icons/titlebar/win10/maximized_focus_active.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/win10/maximized_focus_active.svg rename to awes2/gloriousthemes/icons/titlebar/win10/maximized_focus_active.svg diff --git a/awesome/gloriousthemes/icons/titlebar/win10/maximized_focus_active_hover.svg b/awes2/gloriousthemes/icons/titlebar/win10/maximized_focus_active_hover.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/win10/maximized_focus_active_hover.svg rename to awes2/gloriousthemes/icons/titlebar/win10/maximized_focus_active_hover.svg diff --git a/awesome/gloriousthemes/icons/titlebar/win10/maximized_focus_inactive.svg b/awes2/gloriousthemes/icons/titlebar/win10/maximized_focus_inactive.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/win10/maximized_focus_inactive.svg rename to awes2/gloriousthemes/icons/titlebar/win10/maximized_focus_inactive.svg diff --git a/awesome/gloriousthemes/icons/titlebar/win10/maximized_focus_inactive_hover.svg b/awes2/gloriousthemes/icons/titlebar/win10/maximized_focus_inactive_hover.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/win10/maximized_focus_inactive_hover.svg rename to awes2/gloriousthemes/icons/titlebar/win10/maximized_focus_inactive_hover.svg diff --git a/awesome/gloriousthemes/icons/titlebar/win10/maximized_normal_active.svg b/awes2/gloriousthemes/icons/titlebar/win10/maximized_normal_active.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/win10/maximized_normal_active.svg rename to awes2/gloriousthemes/icons/titlebar/win10/maximized_normal_active.svg diff --git a/awesome/gloriousthemes/icons/titlebar/win10/maximized_normal_active_hover.svg b/awes2/gloriousthemes/icons/titlebar/win10/maximized_normal_active_hover.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/win10/maximized_normal_active_hover.svg rename to awes2/gloriousthemes/icons/titlebar/win10/maximized_normal_active_hover.svg diff --git a/awesome/gloriousthemes/icons/titlebar/win10/maximized_normal_inactive.svg b/awes2/gloriousthemes/icons/titlebar/win10/maximized_normal_inactive.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/win10/maximized_normal_inactive.svg rename to awes2/gloriousthemes/icons/titlebar/win10/maximized_normal_inactive.svg diff --git a/awesome/gloriousthemes/icons/titlebar/win10/maximized_normal_inactive_hover.svg b/awes2/gloriousthemes/icons/titlebar/win10/maximized_normal_inactive_hover.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/win10/maximized_normal_inactive_hover.svg rename to awes2/gloriousthemes/icons/titlebar/win10/maximized_normal_inactive_hover.svg diff --git a/awesome/gloriousthemes/icons/titlebar/win10/minimize_focus.svg b/awes2/gloriousthemes/icons/titlebar/win10/minimize_focus.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/win10/minimize_focus.svg rename to awes2/gloriousthemes/icons/titlebar/win10/minimize_focus.svg diff --git a/awesome/gloriousthemes/icons/titlebar/win10/minimize_focus_hover.svg b/awes2/gloriousthemes/icons/titlebar/win10/minimize_focus_hover.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/win10/minimize_focus_hover.svg rename to awes2/gloriousthemes/icons/titlebar/win10/minimize_focus_hover.svg diff --git a/awesome/gloriousthemes/icons/titlebar/win10/minimize_normal.svg b/awes2/gloriousthemes/icons/titlebar/win10/minimize_normal.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/win10/minimize_normal.svg rename to awes2/gloriousthemes/icons/titlebar/win10/minimize_normal.svg diff --git a/awesome/gloriousthemes/icons/titlebar/win10/minimize_normal_hover.svg b/awes2/gloriousthemes/icons/titlebar/win10/minimize_normal_hover.svg similarity index 100% rename from awesome/gloriousthemes/icons/titlebar/win10/minimize_normal_hover.svg rename to awes2/gloriousthemes/icons/titlebar/win10/minimize_normal_hover.svg diff --git a/awesome/gloriousthemes/icons/toggled-off.svg b/awes2/gloriousthemes/icons/toggled-off.svg similarity index 100% rename from awesome/gloriousthemes/icons/toggled-off.svg rename to awes2/gloriousthemes/icons/toggled-off.svg diff --git a/awesome/gloriousthemes/icons/toggled-on.svg b/awes2/gloriousthemes/icons/toggled-on.svg similarity index 100% rename from awesome/gloriousthemes/icons/toggled-on.svg rename to awes2/gloriousthemes/icons/toggled-on.svg diff --git a/awesome/gloriousthemes/icons/volume-high.svg b/awes2/gloriousthemes/icons/volume-high.svg similarity index 100% rename from awesome/gloriousthemes/icons/volume-high.svg rename to awes2/gloriousthemes/icons/volume-high.svg diff --git a/awesome/gloriousthemes/init.lua b/awes2/gloriousthemes/init.lua similarity index 100% rename from awesome/gloriousthemes/init.lua rename to awes2/gloriousthemes/init.lua diff --git a/awesome/gloriousthemes/wallpapers/LICENSE b/awes2/gloriousthemes/wallpapers/LICENSE similarity index 100% rename from awesome/gloriousthemes/wallpapers/LICENSE rename to awes2/gloriousthemes/wallpapers/LICENSE diff --git a/awesome/gloriousthemes/wallpapers/midnight-wallpaper.jpg b/awes2/gloriousthemes/wallpapers/midnight-wallpaper.jpg similarity index 100% rename from awesome/gloriousthemes/wallpapers/midnight-wallpaper.jpg rename to awes2/gloriousthemes/wallpapers/midnight-wallpaper.jpg diff --git a/awesome/gloriousthemes/wallpapers/morning-wallpaper.jpg b/awes2/gloriousthemes/wallpapers/morning-wallpaper.jpg similarity index 100% rename from awesome/gloriousthemes/wallpapers/morning-wallpaper.jpg rename to awes2/gloriousthemes/wallpapers/morning-wallpaper.jpg diff --git a/awesome/gloriousthemes/wallpapers/night-wallpaper.jpg b/awes2/gloriousthemes/wallpapers/night-wallpaper.jpg similarity index 100% rename from awesome/gloriousthemes/wallpapers/night-wallpaper.jpg rename to awes2/gloriousthemes/wallpapers/night-wallpaper.jpg diff --git a/awesome/gloriousthemes/wallpapers/noon-wallpaper.jpg b/awes2/gloriousthemes/wallpapers/noon-wallpaper.jpg similarity index 100% rename from awesome/gloriousthemes/wallpapers/noon-wallpaper.jpg rename to awes2/gloriousthemes/wallpapers/noon-wallpaper.jpg diff --git a/awes2/init.fnl b/awes2/init.fnl new file mode 100644 index 0000000..1fa04ce --- /dev/null +++ b/awes2/init.fnl @@ -0,0 +1,292 @@ +(local awful (require "awful")) +(local gears (require "gears")) +(require "awful.autofocus") +(local ruled (require "ruled")) +(local rules (require "rules")) +(local beautiful (require "beautiful")) +(local wibox (require "wibox")) +(local xresources (require "beautiful.xresources")) +;; (local naughty (require "naughty")) +(local menubar (require "menubar")) +(local hotkeys_popup (require "awful.hotkeys_popup")) +(local dpi xresources.apply_dpi) +(local keybindings (require "keybindings")) + +;; Modules +(require "module.notifications") +(require "module.backdrop") +(require "module.volume-osd") +(require "module.brigtness-osd") + + +;;; rules +(set awful.rules.rules rules) + +;; Variable definitions +;; Themes define colours, icons, font and wallpapers. +(beautiful.init (.. (gears.filesystem.get_themes_dir) "default/theme.lua")) +(var terminal "alacritty") +(var editor (or (os.getenv "EDITOR") "emacsclient -a emacs")) +(var editor_cmd (.. terminal " -e " editor)) + +;; Default modkey. +(var modkey "Mod4") +(var altkey "Mod1") + +;; Table of layouts to cover with awful.layout.inc, order matters. +(set awful.layout.layouts [ + awful.layout.suit.tile + awful.layout.suit.magnifier + awful.layout.suit.floating + ;; awful.layout.suit.tile.left + ;; awful.layout.suit.tile.bottom + awful.layout.suit.tile.top + awful.layout.suit.fair + ;; awful.layout.suit.fair.horizontal + ;; awful.layout.suit.spiral + awful.layout.suit.spiral.dwindle + awful.layout.suit.max + ;; awful.layout.suit.max.fullscreen + ;; awful.layout.suit.corner.nw + ;; awful.layout.suit.corner.ne + ;; awful.layout.suit.corner.sw + ;; awful.layout.suit.corner.se + ]) + +;; Menu +;; Create a launcher widget and a main menu +(global myawesomemenu [ + [ "hotkeys" (fn [] (hotkeys_popup.show_help nil (awful.screen.focused))) ] + [ "manual" (.. terminal " -e man awesome") ] + [ "edit config" (.. editor_cmd " " awesome.conffile) ] + [ "restart" awesome.restart ] + [ "quit" (fn [] (awesome.quit)) ]]) + +(global mymainmenu (awful.menu {:items [ + [ "awesome" myawesomemenu beautiful.awesome_icon ] + [ "open terminal" terminal ]]})) + +(global mylauncher (awful.widget.launcher {:image beautiful.awesome_icon + :menu mymainmenu })) + +;; Menubar configuration +(set menubar.utils.terminal terminal) ;; Set the terminal for applications that require it + +(local mykeyboardlayout (awful.widget.keyboardlayout)) +(local mytextclock (wibox.widget.textclock " %a %b %d, %l:%M %p ")) + +;; Create a wibox for each screen and add it +(local taglist_buttons + (gears.table.join + (awful.button [] 1 (fn [t] (: t :view_only))) + (awful.button [ modkey ] 1 (fn [t] (when client.focus (: client.focus :move_to_tag t)))) + (awful.button [] 3 awful.tag.viewtoggle) + (awful.button [ modkey ] 3 (fn [t] (when client.focus (: client.focus :toggle_tag t)))) + (awful.button [] 4 (fn [t] (awful.tag.viewnext t.screen))) + (awful.button [] 5 (fn [t] (awful.tag.viewprev t.screen))))) + +(local tasklist_buttons + (gears.table.join + (awful.button [] 1 (fn [c] + (if (= c client.focus) + (set c.minimized true) + (: c :emit_signal + "request::activate" + "tasklist" + {:raise true} + )))) + (awful.button [] 3 (fn [] (awful.menu.client_list {:theme {:width 250 }}))) + (awful.button [] 4 (fn [] (awful.client.focus.byidx 1))) + (awful.button [] 5 (fn [] (awful.client.focus.byidx -1))))) + +;;; wallpaper +(fn set_wallpaper [s] + ;; Wallpaper + (when beautiful.wallpaper + (var wallpaper beautiful.wallpaper) + ;; If wallpaper is a function, call it with the screen + (when (= (type wallpaper) "function") + (set wallpaper (wallpaper s))) + (gears.wallpaper.maximized wallpaper s true))) + +;; Re-set wallpaper when a screen's geometry changes (e.g. different resolution) +(screen.connect_signal "property::geometry" set_wallpaper) + +;; panel +(awful.screen.connect_for_each_screen +(fn [s] + ;; Wallpaper + (set_wallpaper s) + + ;; Each screen has its own tag table. + (awful.tag [ "" "" "" "" ] s (. awful.layout.layouts 1)) + + ;; Create a promptbox for each screen + (set s.mypromptbox (awful.widget.prompt)) + ;; Create an imagebox widget which will contain an icon indicating which layout we're using. + ;; We need one layoutbox per screen. + (set s.mylayoutbox (awful.widget.layoutbox s)) + (: s.mylayoutbox :buttons (gears.table.join + (awful.button [] 1 (fn [] (awful.layout.inc 1 s awful.layout.layouts))) + (awful.button [] 3 (fn [] (awful.layout.inc -1 s))) + (awful.button [] 4 (fn [] (awful.layout.inc 1 s))) + (awful.button [] 5 (fn [] (awful.layout.inc -1 s))))) + + ;; create a systray widget + (set s.mysystray { + 1 (wibox.widget.systray) + :widget wibox.container.background + }) + ;; Create a taglist widget + (set s.mytaglist (awful.widget.taglist { + :screen s + :filter awful.widget.taglist.filter.all + :buttons taglist_buttons + })) + + ;; Create a tasklist widget + ;; (set s.mytasklist (awful.widget.tasklist { + ;; :screen s + ;; :filter awful.widget.tasklist.filter.currenttags + ;; :buttons tasklist_buttons + ;; :style { + ;; :border_width 0 + ;; :border_color "#777777" + ;; :shape gears.shape.rounded_bar + ;; } + ;; :layout { + ;; :spacing 20 + ;; :spacing_widget { + ;; 1 { + ;; :forced_width 5 + ;; :forced_height (dpi 20) + ;; :widget wibox.widget.seperator + ;; } + ;; :valign "center" + ;; :halign "center" + ;; :widget wibox.container.place + ;; } + ;; :layout wibox.layout.flex.horizontal + ;; } + ;; } + ;; :widget_template { + ;; 1 { + ;; 1 { + ;; 1 { + ;; 1 { + ;; :id "icon_role" + ;; :widget wibox.widget.imagebox + ;; } + ;; :margins 2 + ;; :widget wibox.container.margin + ;; } + ;; 2 { + ;; :id "text_role" + ;; :widget wibox.widget.textbox + ;; } + ;; :layout wibox.layout.align.horizontal + ;; } + ;; :left 10 + ;; :right 10 + ;; :widget wibox.container.margin + ;; } + ;; :id "background_role" + ;; :widget wibox.container.background} + )) + + ;; create battery network and volume widgets + (set s.battery (require "widget.battery")) + (set s.volume (require "widget.volume")) + (set s.updater (require "widget.package-updater")) + + ;; create right widgets + ;; (set s.myrightwidgets { + ;; 1 { + ;; :layout wibox.layout.fixed.horizontal + ;; 1 s.volume + ;; 2 s.mysystray + ;; 3 s.updater + ;; 4 s.battery + ;; 5 (wibox.container.margin (s.mylayoutbox 0 (dpi 25) 0 0)) + ;; } + ;; :widget wibox.container.background}) + + ;; empty widget to use for spacing + (set s.myemptywidget (wibox.widget { + :markup "" + :align "" + :valign "" + :widget wibox.widget.textbox + })) + + (local yoffset (dpi 45)) + (local xoffset (dpi 18)) + (set s.mypanel (wibox.wibox { + ;; :x (+ s.geometry.x xoffset) + ;; :y (- s.geometry.height yoffset) + :height (dpi 30) + ;; :width (- s.geometry.width (* xoffset 2)) + :ontop false + :stretch false + :type "dock" + :shape gears.shape.rounded_bar + :bg beautiful.bg_normal + :fg beautiful.fg_normal + :opacity 0.65 + })) + (: s.mypanel :struts { + :bottom (dpi 40) + }) + (: s.mypanel :setup { + :layout wibox.layout.align.horizontal + :expand "outside" + 1 { + :layout wibox.layout.align.horizontal + 1 (wibox.container.margin (s.mytaglist (dpi 15) 0 (dpi -3) 0)) + ;; 2 (wibox.container.margin (s.mytasklist (dpi 25) (dpi 25) 0 0)) + 2 s.myemptywidget + 3 s.myemptywidget + :spacing (dpi 15) + } + 2 mytextclock + 3 { + :layout wibox.layout.align.horizontal + 1 s.myemptywidget + 2 (wibox.container.margin (s.mypromptbox (dpi 25) (dpi 25) 0 0)) + 3 s.myrightwidgets + } + :visible true + }) + +(root.keys keybindings.globalkeys) + +;; Signals +;; Signal function to execute when a new client appears. +(client.connect_signal + "manage" + (fn [c] + ;; Set the windows at the slave, + ;; i.e. put it at the end of others instead of setting it master. + (when (not awesome.startup) (awful.client.setslave c)) + + (when (and awesome.startup + (not c.size_hints.user_position) + (not c.size_hints.program_position)) + ;; Prevent clients from being unreachable after screen count changes. + (awful.placement.no_offscreen c)))) + + +(client.connect_signal "focus" (fn [c] (set c.border_color beautiful.border_focus))) +(client.connect_signal "unfocus" (fn [c] (set c.border_color beautiful.border_normal))) + +;;; autostart applications +;;; Need to move to shell script +(awful.spawn.with_shell "picom --experimental-backend") +(awful.spawn.with_shell "xset r rate 220 90") +(awful.spawn.with_shell "/usr/lib/polkit-kde-authentication-agent-1") +(awful.spawn.with_shell "feh --bg-fill ~/Pictures/wallpapers/RoyalKing.png") +(awful.spawn.with_shell "flameshot") +(awful.spawn.with_shell "caffeine") +(awful.spawn.with_shell "nextcloud --background") +(awful.spawn.with_shell "emacs -daemon") +(awful.spawn.with_shell "libinput-gestures-setup start") diff --git a/awes2/keybindings.fnl b/awes2/keybindings.fnl new file mode 100644 index 0000000..95b247e --- /dev/null +++ b/awes2/keybindings.fnl @@ -0,0 +1,169 @@ +(local awful (require "awful")) +(local gears (require "gears")) +(local beautiful (require "beautiful")) +(local hotkeys_popup (require "awful.hotkeys_popup")) + + +(local terminal "alacritty") +(local modkey "Mod4") +(local shift "Shift") +(local ctrl "Control") +(local alt "Mod1") + + +;; key bindings +(global globalkeys + (gears.table.join + (awful.key [ modkey ] "s" hotkeys_popup.show_help + { :description "show help" :group "awesome"}) + (awful.key [ modkey ] "Left" awful.tag.viewprev + {:description "view previous" :group "tag"}) + (awful.key [ modkey ] "Right" awful.tag.viewnext + {:description "view next" :group "tag"}) + (awful.key [ modkey ] "Escape" awful.tag.history.restore + {:description "go back" :group "tag"}) + (awful.key [ modkey ] "j" (fn [] (awful.client.focus.byidx 1)) + {:description "focus next by index" :group "client"}) + (awful.key [ modkey ] "k" (fn [] (awful.client.focus.byidx -1)) + {:description "focus previous by index" :group "client"}) + + ;; Layout manipulation + (awful.key [ modkey shift ] "j" (fn [] (awful.client.swap.byidx 1)) + {:description "swap with next client by index" :group "client"}) + (awful.key [ modkey shift ] "k" (fn [] (awful.client.swap.byidx -1)) + {:description "swap with previous client by index" :group "client"}) + (awful.key [ modkey ctrl ] "j" (fn [] (awful.screen.focus_relative 1)) + {:description "focus the next screen" :group "screen"}) + (awful.key [ modkey ctrl ] "k" (fn [] (awful.screen.focus_relative -1)) + {:description "focus the previous screen" :group "screen"}) + (awful.key [ modkey ] "u" awful.client.urgent.jumpto + {:description "jump to urgent client" :group "client"}) + (awful.key [ modkey ] "Tab" (fn [] + (awful.client.focus.history.previous) + (when client.focus (: client.focus :raise))) + {:description "go back" :group "client"}) + + ;; Standard program + (awful.key [ modkey ] "Return" (fn [] (awful.spawn terminal)) + {:description "open a terminal" :group "launcher"}) + (awful.key [ modkey ctrl ] "r" awesome.restart + {:description "reload awesome" :group "awesome"}) + (awful.key [ modkey shift ] "q" awesome.quit + {:description "quit awesome" :group "awesome"}) + + ;; layout + (awful.key [ modkey ] "l" (fn [] (awful.tag.incmwfact 0.05)) + {:description "increase master width factor" :group "layout"}) + (awful.key [ modkey ] "h" (fn [] (awful.tag.incmwfact -0.05)) + {:description "decrease master width factor" :group "layout"}) + (awful.key [ modkey shift ] "h" (fn [] (awful.tag.incnmaster 1 nil true)) + {:description "increase the number of master clients" :group "layout"}) + (awful.key [ modkey shift ] "l" (fn [] (awful.tag.incnmaster -1 nil true)) + {:description "decrease the number of master clients" :group "layout"}) + (awful.key [ modkey ctrl ] "h" (fn [] (awful.tag.incncol 1 nil true)) + {:description "increase the number of columns" :group "layout"}) + (awful.key [ modkey ctrl ] "l" (fn [] (awful.tag.incncol -1 nil true)) + {:description "decrease the number of columns" :group "layout"}) + (awful.key [ modkey ] "space" (fn [] (awful.layout.inc 1)) + {:description "select next" :group "layout"}) + (awful.key [ modkey shift ] "space" (fn [] (awful.layout.inc -1)) + {:description "select previous" :group "layout"}) + (awful.key [ modkey ctrl ] "n" (fn [] + (local c (awful.client.restore)) + (when c ;; Focus restored client + (: c :emit_signal "request::activate" "key.unminimize" {:raise true}))) + {:description "restore minimized" :group "client"}) + + ;; Prompt + (awful.key [ modkey ] "r" (fn [] (: (. (awful.screen.focused) :mypromptbox) :run)) + {:description "run prompt" :group "launcher"}) + + (awful.key [ modkey ] "x" (fn [] + (let [fscr (awful.screen.focused)] + (awful.prompt.run { + :prompt "Run Lua code: " + :textbox fscr.mypromptbox.widget + :exe_callback awful.util.eval + :history_path (.. (awful.util.get_cache_dir) "/history_eval") + }))) + {:description "lua execute prompt" :group "awesome"}) + + ;; Menubar + ;; (awful.key [ modkey ] "p" (fn [] (menubar.show)) + ;; {:description "show the menubar" :group "launcher"}) + + ;; ;; Programs + ;; (awful.key [modkey] "d" (awful.spawn "emacsclient -c -e '(dired-jump)'") + ;; {:description "launch dired in new emacs frame" :group "apps" }) + ;; ;; rofi + ;; (awful.key [] "Menu" (awful.spawn "/home/chris/.dotfiles/rofi/launchers-git/launcher.sh") + ;; {:description "launch rofi" :group "launcher"}) + )) + +(global clientkeys + (gears.table.join + (awful.key [ modkey ] "f" (fn [c] (set c.fullscreen (not c.fullscreen)) (: c :raise)) + {:description "toggle fullscreen" :group "client"}) + (awful.key [ modkey ] "c" (fn [c] (: c :kill)) + {:description "close" :group "client"}) + (awful.key [ modkey ctrl ] "space" awful.client.floating.toggle + {:description "toggle floating" :group "client"}) + (awful.key [ modkey ctrl ] "Return" (fn [c] (: c :swap (awful.client.getmaster))) + {:description "move to master" :group "client"}) + (awful.key [ modkey ] "o" (fn [c] (: c :move_to_screen)) + {:description "move to screen" :group "client"}) + (awful.key [ modkey ] "t" (fn [c] (set c.ontop (not c.ontop))) + {:description "toggle keep on top" :group "client"}) + (awful.key [ modkey ] "n" (fn [c] + ;; The client currently has the input focus, so it cannot be + ;; minimized, since minimized clients can't have the focus. + (set c.minimized true)) + {:description "minimize" :group "client"}) + (awful.key [ modkey ] "m" (fn [c] (set c.maximized (not c.maximized)) (: c :raise)) + {:description "(un)maximize" :group "client"}) + (awful.key [ modkey ctrl ] "m" (fn [c] (set c.maximized_vertical (not c.maximized_vertical)) (: c :raise)) + {:description "(un)maximize vertically" :group "client"}) + (awful.key [modkey shift ] "m" (fn [c] (set c.maximized_horizontal (not c.maximized_horizontal)) (: c :raise)) + {:description "(un)maximize horizontally" :group "client"}))) + +;; Bind all key numbers to tags. +;; Be careful: we use keycodes to make it work on any keyboard layout. +;; This should map on the top row of your keyboard, usually 1 to 9. +(for [i 1 9] + (global globalkeys + (gears.table.join + globalkeys + ;; View tag only. + (awful.key [ modkey ] (.. "#" (+ i 9)) + (fn [] + (let [screen (awful.screen.focused) + tag (. screen.tags i)] + (when tag + (: tag :view_only)))) + {:description (.. "view tag #" i) :group "tag"}) + ;; Toggle tag display + (awful.key [ modkey ctrl ] (.. "#" (+ i 9)) + (fn [] + (let [screen (awful.screen.focused) + tag (. screen.tags i)] + (when tag + (awful.tag.viewtoggle)))) + {:description (.. "toggle tag #" i) :group "tag"}) + ;; Move client to tag + (awful.key [ modkey shift ] (.. "#" (+ i 9)) + (fn [] + (when client.focus + (let [tag (. client.focus.screen.tags i)] + (when tag + (: client.focus :move_to_tag tag))))) + {:description (.. "move focused client to tag #" i) :group "tag"}) + ;; Toggle tag on focused client. + (awful.key [ modkey ctrl shift ] (.. "#" (+ i 9)) + (fn [] + (when client.focus + (let [tag (. client.focus.screen.tags i)] + (when tag + (: client.focus :toggle_tag tag))))) + {:description (.. "toggle focused client on tag #" i) :group "tag"})))) + +globalkeys diff --git a/awesome/layout/init.lua b/awes2/layout/init.lua similarity index 100% rename from awesome/layout/init.lua rename to awes2/layout/init.lua diff --git a/awesome/layout/left-panel/action-bar.lua b/awes2/layout/left-panel/action-bar.lua similarity index 100% rename from awesome/layout/left-panel/action-bar.lua rename to awes2/layout/left-panel/action-bar.lua diff --git a/awesome/layout/left-panel/dashboard/hardware-monitor.lua b/awes2/layout/left-panel/dashboard/hardware-monitor.lua similarity index 100% rename from awesome/layout/left-panel/dashboard/hardware-monitor.lua rename to awes2/layout/left-panel/dashboard/hardware-monitor.lua diff --git a/awesome/layout/left-panel/dashboard/init.lua b/awes2/layout/left-panel/dashboard/init.lua similarity index 100% rename from awesome/layout/left-panel/dashboard/init.lua rename to awes2/layout/left-panel/dashboard/init.lua diff --git a/awesome/layout/left-panel/dashboard/quick-settings.lua b/awes2/layout/left-panel/dashboard/quick-settings.lua similarity index 100% rename from awesome/layout/left-panel/dashboard/quick-settings.lua rename to awes2/layout/left-panel/dashboard/quick-settings.lua diff --git a/awesome/layout/left-panel/init.lua b/awes2/layout/left-panel/init.lua similarity index 100% rename from awesome/layout/left-panel/init.lua rename to awes2/layout/left-panel/init.lua diff --git a/awesome/layout/right-panel/icons/notification.svg b/awes2/layout/right-panel/icons/notification.svg similarity index 100% rename from awesome/layout/right-panel/icons/notification.svg rename to awes2/layout/right-panel/icons/notification.svg diff --git a/awesome/layout/right-panel/init.lua b/awes2/layout/right-panel/init.lua similarity index 100% rename from awesome/layout/right-panel/init.lua rename to awes2/layout/right-panel/init.lua diff --git a/awesome/layout/right-panel/panel-mode-switcher.lua b/awes2/layout/right-panel/panel-mode-switcher.lua similarity index 100% rename from awesome/layout/right-panel/panel-mode-switcher.lua rename to awes2/layout/right-panel/panel-mode-switcher.lua diff --git a/awesome/layout/right-panel/right-panel-opener.lua b/awes2/layout/right-panel/right-panel-opener.lua similarity index 100% rename from awesome/layout/right-panel/right-panel-opener.lua rename to awes2/layout/right-panel/right-panel-opener.lua diff --git a/awesome/layout/top-panel.lua b/awes2/layout/top-panel.lua similarity index 100% rename from awesome/layout/top-panel.lua rename to awes2/layout/top-panel.lua diff --git a/awesome/library/liblua_pam.so b/awes2/library/liblua_pam.so similarity index 100% rename from awesome/library/liblua_pam.so rename to awes2/library/liblua_pam.so diff --git a/awesome/module/auto-start.lua b/awes2/module/auto-start.lua similarity index 100% rename from awesome/module/auto-start.lua rename to awes2/module/auto-start.lua diff --git a/awesome/module/backdrop.lua b/awes2/module/backdrop.lua similarity index 100% rename from awesome/module/backdrop.lua rename to awes2/module/backdrop.lua diff --git a/awesome/module/battery-notifier.lua b/awes2/module/battery-notifier.lua similarity index 100% rename from awesome/module/battery-notifier.lua rename to awes2/module/battery-notifier.lua diff --git a/awesome/module/brightness-osd.lua b/awes2/module/brightness-osd.lua similarity index 100% rename from awesome/module/brightness-osd.lua rename to awes2/module/brightness-osd.lua diff --git a/awesome/module/decorate-client.lua b/awes2/module/decorate-client.lua similarity index 100% rename from awesome/module/decorate-client.lua rename to awes2/module/decorate-client.lua diff --git a/awesome/module/dynamic-wallpaper.lua b/awes2/module/dynamic-wallpaper.lua similarity index 100% rename from awesome/module/dynamic-wallpaper.lua rename to awes2/module/dynamic-wallpaper.lua diff --git a/awesome/module/exit-screen.lua b/awes2/module/exit-screen.lua similarity index 100% rename from awesome/module/exit-screen.lua rename to awes2/module/exit-screen.lua diff --git a/awesome/module/lockscreen.lua b/awes2/module/lockscreen.lua similarity index 100% rename from awesome/module/lockscreen.lua rename to awes2/module/lockscreen.lua diff --git a/awesome/module/menu.lua b/awes2/module/menu.lua similarity index 100% rename from awesome/module/menu.lua rename to awes2/module/menu.lua diff --git a/awesome/module/notifications.lua b/awes2/module/notifications.lua similarity index 100% rename from awesome/module/notifications.lua rename to awes2/module/notifications.lua diff --git a/awesome/module/quake-terminal.lua b/awes2/module/quake-terminal.lua similarity index 100% rename from awesome/module/quake-terminal.lua rename to awes2/module/quake-terminal.lua diff --git a/awesome/module/test.lua b/awes2/module/test.lua similarity index 100% rename from awesome/module/test.lua rename to awes2/module/test.lua diff --git a/awesome/module/titlebar.lua b/awes2/module/titlebar.lua similarity index 100% rename from awesome/module/titlebar.lua rename to awes2/module/titlebar.lua diff --git a/awesome/module/volume-osd.lua b/awes2/module/volume-osd.lua similarity index 100% rename from awesome/module/volume-osd.lua rename to awes2/module/volume-osd.lua diff --git a/awes2/rc.lua b/awes2/rc.lua new file mode 100644 index 0000000..b0918b3 --- /dev/null +++ b/awes2/rc.lua @@ -0,0 +1,655 @@ +pcall(require, "luarocks.loader") +-- local fennel = require("./fennel") +fennel = require("fennel") +local gears = require("gears") +fennel.path = fennel.path .. ";.config/awesome/?.fnl" +table.insert(package.loaders or package.searchers, fennel.make_searcher({correlate=true})) +-- table.insert(package.loaders or package.searchers, fennel.searcher) +require("init") -- loads init.fnl + + + +-- Standard awesome library +local awful = require("awful") +local xresources = require("beautiful.xresources") +local dpi = xresources.apply_dpi +require("awful.autofocus") +-- Widget and layout library +local wibox = require("wibox") +-- Theme handling library +local beautiful = require("beautiful") +-- Notification library +-- local naughty = require("naughty") +local menubar = require("menubar") +local hotkeys_popup = require("awful.hotkeys_popup") +local ruled = require("ruled") +-- local ruls = require("configuration.client.rules") + +-- Enable hotkeys help widget for VIM and other apps +-- when client with a matching name is opened: +require("awful.hotkeys_popup.keys") + +-- Modules +require('module.notifications') +require('module.backdrop') +require('module.volume-osd') +require('module.brightness-osd') + +-- {{{ Variable definitions +beautiful.init("/home/chris/.config/awesome/theme.lua") +terminal = "alacritty" +editor = "emacsclient -a emacs" +editor_cmd = terminal .. " -e " .. editor + +-- Default modkey. +modkey = "Mod4" +altkey = "Mod1" + +awful.layout.layouts = { + awful.layout.suit.tile, + awful.layout.suit.magnifier, + awful.layout.suit.floating, + -- awful.layout.suit.tile.left, + -- awful.layout.suit.tile.bottom, + awful.layout.suit.tile.top, + awful.layout.suit.fair, + -- awful.layout.suit.fair.horizontal, + -- awful.layout.suit.spiral, + awful.layout.suit.spiral.dwindle, + awful.layout.suit.max, + -- awful.layout.suit.max.fullscreen, + -- awful.layout.suit.corner.nw, + -- awful.layout.suit.corner.ne, + -- awful.layout.suit.corner.sw, + -- awful.layout.suit.corner.se, +} + +-- Menu +myawesomemenu = { + { "hotkeys", function() hotkeys_popup.show_help(nil, awful.screen.focused()) end }, + { "manual", terminal .. " -e man awesome" }, + { "edit config", editor_cmd .. " " .. awesome.conffile }, + { "restart", awesome.restart }, + { "quit", function() awesome.quit() end }, +} + +mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon }, + { "open terminal", terminal } + } + }) + +mylauncher = awful.widget.launcher({ image = beautiful.awesome_icon, + menu = mymainmenu }) + +-- Menubar configuration +menubar.utils.terminal = terminal -- Set the terminal for applications that require it +-- }}} + +-- Keyboard map indicator and switcher +mykeyboardlayout = awful.widget.keyboardlayout() + +-- Wibar +mytextclock = wibox.widget.textclock(" %a %b %d, %l:%M %p ") + +-- Create a wibox for each screen and add it +local taglist_buttons = gears.table.join( + awful.button({ }, 1, function(t) t:view_only() end), + awful.button({ modkey }, 1, function(t) + if client.focus then + client.focus:move_to_tag(t) + end + end), + awful.button({ }, 3, awful.tag.viewtoggle), + awful.button({ modkey }, 3, function(t) + if client.focus then + client.focus:toggle_tag(t) + end + end), + awful.button({ }, 4, function(t) awful.tag.viewnext(t.screen) end), + awful.button({ }, 5, function(t) awful.tag.viewprev(t.screen) end) + ) + +local tasklist_buttons = gears.table.join( + awful.button({ }, 1, function (c) + if c == client.focus then + c.minimized = true + else + c:emit_signal( + "request::activate", + "tasklist", + {raise = true} + ) + end + end), + awful.button({ }, 3, function() + awful.menu.client_list({ theme = { width = 250 } }) + end), + awful.button({ }, 4, function () + awful.client.focus.byidx(1) + end), + awful.button({ }, 5, function () + awful.client.focus.byidx(-1) + end)) + +local function set_wallpaper(s) + -- Wallpaper + if beautiful.wallpaper then + local wallpaper = beautiful.wallpaper + -- If wallpaper is a function, call it with the screen + if type(wallpaper) == "function" then + wallpaper = wallpaper(s) + end + gears.wallpaper.maximized(wallpaper, s) + end +end + +-- Re-set wallpaper when a screen's geometry changes (e.g. different resolution) +screen.connect_signal("property::geometry", set_wallpaper) + + +awful.screen.connect_for_each_screen(function(s) + -- Wallpaper + set_wallpaper(s) + + -- Each screen has its own tag table. + awful.tag({ "  ", "  ", "  ", "  "}, s, awful.layout.layouts[1]) + + s.padding = { + bottom = dpi(20) + } + + yoffset = dpi(45) + xoffset = dpi(18) + + mypanel = wibox + ({ + x = s.geometry.x + xoffset, + y = s.geometry.height - yoffset, + height = dpi(30), + width = s.geometry.width - (xoffset * 2), + ontop = false, + stretch = false, + type = "dock", + screen = s, + shape = gears.shape.rounded_bar, + bg = beautiful.bg_normal, + fg = beautiful.fg_normal, + opacity = 0.65, + }) + + mypanel:struts { + bottom = dpi(40) + } + + -- Create a promptbox for each screen + s.mypromptbox = awful.widget.prompt() + -- Create an imagebox widget which will contain an icon indicating which layout we're using. + -- We need one layoutbox per screen. + s.mylayoutbox = awful.widget.layoutbox(s) + s.mylayoutbox:buttons(gears.table.join( + awful.button({ }, 1, function () awful.layout.inc( 1) end), + awful.button({ }, 3, function () awful.layout.inc(-1) end), + awful.button({ }, 4, function () awful.layout.inc( 1) end), + awful.button({ }, 5, function () awful.layout.inc(-1) end))) + -- Create a taglist widget + s.mytaglist = awful.widget.taglist { + screen = s, + filter = awful.widget.taglist.filter.all, + buttons = taglist_buttons + } + + -- Create a systray widget + s.mysystray = { + wibox.widget.systray(), + -- bg = "#00FF0066", + widget = wibox.container.background, + } + + s.mytasklist = awful.widget.tasklist { + screen = s, + filter = awful.widget.tasklist.filter.currenttags, + buttons = tasklist_buttons, + style = { + border_width = 0, + border_color = '#777777', + shape = gears.shape.rounded_bar, + + }, + layout = { + spacing = 20, + spacing_widget = { + { + forced_width = 5, + forced_height = dpi(20), + -- shape = gears.shape.circle, + widget = wibox.widget.separator + }, + valign = 'center', + halign = 'center', + widget = wibox.container.place, + }, + layout = wibox.layout.flex.horizontal + }, + -- notice that there is *no* wibox.wibox prefix, it is a template, + -- not a widget instance. + widget_template = { + { + { + { + { + id = 'icon_role', + widget = wibox.widget.imagebox, + }, + margins = 2, + widget = wibox.container.margin, + }, + { + id = 'text_role', + widget = wibox.widget.textbox, + }, + layout = wibox.layout.align.horizontal, + }, + left = 10, + right = 10, + widget = wibox.container.margin + }, + id = 'background_role', + widget = wibox.container.background, + }, + } + -- Create Battery, Network, and Volume widget + s.battery = require('widget.battery')() + -- s.network = require('widget.network')() + s.volume = require('widget.volume')() + s.updater = require('widget.package-updater')() + + s.myrightwidgets = + { + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + s.volume, + s.mysystray, + s.updater, + -- s.network, + s.battery, + wibox.container.margin (s.mylayoutbox,0,dpi(25),0,0), + }, + -- bg = "#00FF0066", + widget = wibox.container.background, + } + + -- Empty widget to use for spacing + s.myemptywidget = wibox.widget{ + markup = '', + align = '', + valign = '', + widget = wibox.widget.textbox + } + +-- -- Add widgets to the wibox + mypanel:setup { + layout = wibox.layout.align.horizontal, + expand = "outside", + { -- Left widgets + layout = wibox.layout.align.horizontal, + wibox.container.margin (s.mytaglist,dpi(15),0,dpi(-3),0), + wibox.container.margin (s.mytasklist,dpi(25),dpi(25),0,0), -- Middle widget + s.myemptywidget, + spacing = dpi(15) + }, + mytextclock, + { -- Right widgets + layout = wibox.layout.align.horizontal, + s.myemptywidget, + wibox.container.margin (s.mypromptbox,dpi(25),dpi(25),0,0), -- Middle widget + s.myrightwidgets, + }, + visible = true, + } + + mypanel.visible = true + end) + +-- {{{ Mouse bindings +root.buttons(gears.table.join( + awful.button({ }, 3, function () mymainmenu:toggle() end), + awful.button({ }, 4, awful.tag.viewnext), + awful.button({ }, 5, awful.tag.viewprev) +)) +-- }}} + +-- {{{ Key bindings +awful.keyboard.append_global_keybindings({ + awful.key({ modkey, }, "s", hotkeys_popup.keys, + {description="show help", group="awesome"}), + awful.key({ modkey, }, "Left", awful.tag.viewprev, + {description = "view previous", group = "tag"}), + awful.key({ modkey, }, "Right", awful.tag.viewnext, + {description = "view next", group = "tag"}), + awful.key({ modkey, }, "Escape", awful.tag.history.restore, + {description = "go back", group = "tag"}), + + awful.key({ modkey, }, "j", + function () + awful.client.focus.byidx( 1) + end, + {description = "focus next by index", group = "client"} + ), + awful.key({ modkey, }, "k", + function () + awful.client.focus.byidx(-1) + end, + {description = "focus previous by index", group = "client"} + ), + awful.key({ modkey, }, "w", function () mymainmenu:show() end, + {description = "show main menu", group = "awesome"}), + + -- Layout manipulation + awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( 1) end, + {description = "swap with next client by index", group = "client"}), + awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( -1) end, + {description = "swap with previous client by index", group = "client"}), + awful.key({ modkey, "Control" }, "j", function () awful.screen.focus_relative( 1) end, + {description = "focus the next screen", group = "screen"}), + awful.key({ modkey, "Control" }, "k", function () awful.screen.focus_relative(-1) end, + {description = "focus the previous screen", group = "screen"}), + awful.key({ modkey, }, "u", awful.client.urgent.jumpto, + {description = "jump to urgent client", group = "client"}), + awful.key({ modkey, }, "Tab", + function () + awful.client.focus.history.previous() + if client.focus then + client.focus:raise() + end + end, + {description = "go back", group = "client"}), + + + -- Screenshots + awful.key({}, "Print", function() awful.util.spawn("flameshot gui") end, + {description = "take a screenshot", group = "screen"}), + + -- Increase-Decrease Gap + + awful.key({ modkey, altkey }, "k", function () awful.tag.incgap ( 1, null) end, + {description = "increase gap", group = "layout"}), + + awful.key({ modkey, altkey }, "j", function () awful.tag.incgap ( -1, null) end, + {description = "decrease gap", group = "layout"}), + + + -- Standard program + awful.key({ modkey, }, "Return", function () awful.spawn(terminal) end, + {description = "open a terminal", group = "launcher"}), + awful.key({ modkey, "Control" }, "r", awesome.restart, + {description = "reload awesome", group = "awesome"}), + awful.key({ modkey, "Shift" }, "q", awesome.quit, + {description = "quit awesome", group = "awesome"}), + + -- Programs + awful.key({ modkey, }, "b", function () awful.spawn("firefox") end, + {description = "open firefox", group = "apps"}), + awful.key({ modkey, }, "e", function () awful.spawn("emacsclient -c") end, + {description = "open emacs frame connected to server", group = "apps"}), + -- dolphin + awful.key({ modkey, }, "d", function () awful.spawn("dolphin") end, + {description = "open dolphin file manager", group = "apps"}), + -- layout + awful.key({ modkey, }, "l", function () awful.tag.incmwfact( 0.05) end, + {description = "increase master width factor", group = "layout"}), + awful.key({ modkey, }, "h", function () awful.tag.incmwfact(-0.05) end, + {description = "decrease master width factor", group = "layout"}), + awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1, nil, true) end, + {description = "increase the number of master clients", group = "layout"}), + awful.key({ modkey, "Shift" }, "l", function () awful.tag.incnmaster(-1, nil, true) end, + {description = "decrease the number of master clients", group = "layout"}), + awful.key({ modkey, "Control" }, "h", function () awful.tag.incncol( 1, nil, true) end, + {description = "increase the number of columns", group = "layout"}), + awful.key({ modkey, "Control" }, "l", function () awful.tag.incncol(-1, nil, true) end, + {description = "decrease the number of columns", group = "layout"}), + awful.key({ modkey, }, "space", function () awful.layout.inc( 1) end, + {description = "select next", group = "layout"}), + awful.key({ modkey, "Shift" }, "space", function () awful.layout.inc(-1) end, + {description = "select previous", group = "layout"}), + + awful.key({ modkey, "Control" }, "n", + function () + local c = awful.client.restore() + -- Focus restored client + if c then + c:emit_signal( + "request::activate", "key.unminimize", {raise = true} + ) + end + end, + {description = "restore minimized", group = "client"}), + + -- Volume Keys + awful.key({}, "XF86AudioLowerVolume", function () + awful.util.spawn("amixer -D pulse sset Master 5%-", false) + awful.util.spawn("mpv /home/chris/Music/notifications/Pop-709f8e26-a350-3999-9e86-aa91b8602650.mp3") + awesome.emit_signal('widget::volume') + awesome.emit_signal('module::volume_osd:show', true) + end), + awful.key({}, "XF86AudioRaiseVolume", function () + awful.util.spawn("amixer -D pulse sset Master 5%+", false) + awful.util.spawn("mpv /home/chris/Music/notifications/Pop-16da230f-5ffc-4a42-93df-a169e9253ddc.mp3") + awesome.emit_signal('widget::volume') + awesome.emit_signal('module::volume_osd:show', true) + end), + awful.key({}, "XF86AudioMute", function () + awful.util.spawn("amixer set Master 1+ toggle", false) + end), + -- Media Keys + awful.key({}, "XF86AudioPlay", function() + awful.util.spawn("playerctl play-pause", false) + end), + awful.key({}, "XF86AudioNext", function() + awful.util.spawn("playerctl next", false) + end), + awful.key({}, "XF86AudioPrev", function() + awful.util.spawn("playerctl previous", false) + end), + -- Mute Microphone + awful.key({}, "XF86Launch8", function() + awful.util.spawn("amixer -c 2 set Mic toggle", false) + end), + + awful.key({}, "XF86Launch7", function() + awful.util.spawn("", false) + end), + awful.key({}, "XF86Launch6", function() + awful.util.spawn("", false) + end), + awful.key({}, "XF86Launch5", function() + awful.util.spawn("", false) + end), + awful.key({}, "XF86Tools", function() + awful.util.spawn("", false) + end), + -- Brightness Keys + awful.key({}, "XF86MonBrightnessUp", function() + awful.util.spawn("brightnessctl set +10%", false) + awesome.emit_signal('widget::brightness') + awesome.emit_signal('module::brightness_osd:show', true) + end), + + awful.key({}, "XF86MonBrightnessDown", function() + awful.util.spawn("brightnessctl set 10%-", false) + awesome.emit_signal('widget::brightness') + awesome.emit_signal('module::brightness_osd:show', true) + end), + + -- Prompt + awful.key({ }, "Menu", function () + awful.util.spawn("/home/chris/.dotfiles/rofi/launchers-git/launcher.sh") end, + {description = "launch rofi", group = "launcher"}), + + -- Window Switcher + awful.key({ modkey }, "Tab", function () + awful.util.spawn("/home/chris/.dotfiles/rofi/launchers-git/windows.sh") end, + {description = "launch rofi window switcher", group = "launcher"}), + + -- Emoji Selector + awful.key({ modkey }, ".", function () + awful.util.spawn("/home/chris/.dotfiles/rofi/launchers-git/emoji.sh") end, + {description = "launch rofi emoji picker", group = "launcher"}), + + awful.key({ modkey }, "x", + function () + awful.prompt.run { + prompt = "Run Lua code: ", + textbox = awful.screen.focused().mypromptbox.widget, + exe_callback = awful.util.eval, + history_path = awful.util.get_cache_dir() .. "/history_eval" + } + end, + {description = "lua execute prompt", group = "awesome"}), + -- Menubar + awful.key({ modkey }, "p", function() menubar.show() end, + {description = "show the menubar", group = "launcher"}) +}) + +client.connect_signal("request::default_keybindings", function() + awful.keyboard.append_client_keybindings({ + awful.key({ modkey, }, "f", + function (c) + c.fullscreen = not c.fullscreen + c:raise() + end, + {description = "toggle fullscreen", group = "client"}), + awful.key({ modkey, }, "c", function (c) c:kill() end, + {description = "close", group = "client"}), + awful.key({ modkey, "Control" }, "space", awful.client.floating.toggle , + {description = "toggle floating", group = "client"}), + awful.key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end, + {description = "move to master", group = "client"}), + awful.key({ modkey, }, "o", function (c) c:move_to_screen() end, + {description = "move to screen", group = "client"}), + awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end, + {description = "toggle keep on top", group = "client"}), + awful.key({ modkey, }, "n", + function (c) + -- The client currently has the input focus, so it cannot be + -- minimized, since minimized clients can't have the focus. + c.minimized = true + end , + {description = "minimize", group = "client"}), + awful.key({ modkey, }, "m", + function (c) + c.maximized = not c.maximized + c:raise() + end , + {description = "(un)maximize", group = "client"}), + awful.key({ modkey, "Control" }, "m", + function (c) + c.maximized_vertical = not c.maximized_vertical + c:raise() + end , + {description = "(un)maximize vertically", group = "client"}), + awful.key({ modkey, "Shift" }, "m", + function (c) + c.maximized_horizontal = not c.maximized_horizontal + c:raise() + end , + {description = "(un)maximize horizontally", group = "client"}) + }) +end) + + +-- Bind all key numbers to tags. +-- Be careful: we use keycodes to make it work on any keyboard layout. +-- This should map on the top row of your keyboard, usually 1 to 9. +for i = 1, 9 do + globalkeys = gears.table.join(globalkeys, + -- View tag only. + awful.key({ modkey }, "#" .. i + 9, + function () + local screen = awful.screen.focused() + local tag = screen.tags[i] + if tag then + tag:view_only() + end + end, + {description = "view tag #"..i, group = "tag"}), + -- Toggle tag display. + awful.key({ modkey, "Control" }, "#" .. i + 9, + function () + local screen = awful.screen.focused() + local tag = screen.tags[i] + if tag then + awful.tag.viewtoggle(tag) + end + end, + {description = "toggle tag #" .. i, group = "tag"}), + -- Move client to tag. + awful.key({ modkey, "Shift" }, "#" .. i + 9, + function () + if client.focus then + local tag = client.focus.screen.tags[i] + if tag then + client.focus:move_to_tag(tag) + end + end + end, + {description = "move focused client to tag #"..i, group = "tag"}), + -- Toggle tag on focused client. + awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9, + function () + if client.focus then + local tag = client.focus.screen.tags[i] + if tag then + client.focus:toggle_tag(tag) + end + end + end, + {description = "toggle focused client on tag #" .. i, group = "tag"}) + ) +end + +awful.mouse.append_global_mousebindings({ + awful.button({ }, 3, function () mymainmenu:toggle() end), + awful.button({ }, 4, awful.tag.viewprev), + awful.button({ }, 5, awful.tag.viewnext), +}) + +client.connect_signal("request::default_mousebindings", function() + awful.mouse.append_client_mousebindings({ + awful.button({ }, 1, function (c) + c:activate { context = "mouse_click" } + end), + awful.button({ modkey }, 1, function (c) + c:activate { context = "mouse_click", action = "mouse_move" } + end), + awful.button({ modkey }, 3, function (c) + c:activate { context = "mouse_click", action = "mouse_resize"} + end), + }) +end) + +-- Set keys +root.keys(globalkeys) +-- }}} + + + +-- -- {{{ Signals +-- -- Signal function to execute when a new client appears. +-- 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 + +-- if awesome.startup +-- and not c.size_hints.user_position +-- and not c.size_hints.program_position then +-- -- Prevent clients from being unreachable after screen count changes. +-- awful.placement.no_offscreen(c) +-- end + +-- ruled.client.apply(c) +-- end) + +-- client.connect_signal("focus", function(c) c.border_color = beautiful.border_focus end) +-- client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_normal end) +-- -- }}} diff --git a/awes2/rules.fnl b/awes2/rules.fnl new file mode 100644 index 0000000..4125a34 --- /dev/null +++ b/awes2/rules.fnl @@ -0,0 +1,61 @@ +(local awful (require "awful")) +(local beautiful (require "beautiful")) + +(local + rules + [ + ;; All clients match this rule + { + :rule { } + :propertites { + :border-width beautiful.border_width + :border_color beautiful.border_normal + :focus true + :raise true + :screen awful.screen.preferred + :placement (+ awful.placement.no_overlap awful.placement.no_offscreen) + :titlebars_enabled false + } + } + + ;; floating and centered + { + :rule_any { + :class [ + "mpv" + ] + } + :properties { + :floating true + :raise true + :focus true + :height 800 + :screen 2 + :placement (+ awful.placement.no_offscreen awful.placement.centered) + } + } + { + :rule_any { + :class [ + "dolphin" + "feh" + "Arandr" + ] + :name [ + "Event Tester" + "remove images?" + ] + :role [ + "pop-up" + "GtkFileChooserDialog" + ]} + :properties { + :floating true + :raise true + :focus true + :placement (+ awful.placement.no_offscreen awful.placement.centered) + } + } + ]) + +rules diff --git a/awes2/theme.lua b/awes2/theme.lua new file mode 100644 index 0000000..621a3c4 --- /dev/null +++ b/awes2/theme.lua @@ -0,0 +1,170 @@ +--------------------------- +-- Default awesome theme -- +--------------------------- + +local theme_assets = require("beautiful.theme_assets") +local xresources = require("beautiful.xresources") +local dpi = xresources.apply_dpi +local gears = require('gears') + +local gfs = require("gears.filesystem") +local themes_path = gfs.get_themes_dir() +local wallpaperdir = "/home/chris/Pictures/wallpapers/" + +local theme = {} + +theme.font = "VictorMono Nerd Font SemiBold 10" + +-- COLORS +-- Try to build a theme off of SNAZZY +theme.bg_normal = "#282a36" +theme.bg_light = "#34353e" +theme.bg_focus = "#43454f" +theme.bg_minimize = "#78787e" +theme.bg_urgent = "#ff5c57" +theme.bg_systray = theme.bg_normal + +theme.fg_normal = "#a5a5a9" +theme.fg_focus = "#e2e4e5" +theme.fg_urgent = "#e2e4e5" +theme.fg_minimize = "#e2e4e5" + +theme.red = "#ff5c57" + +theme.useless_gap = dpi(6) +theme.border_width = dpi(0) +theme.transparent = "#00000000" +theme.border_normal = "#00000000" +theme.border_focus = "#00000000" +theme.border_marked = "#00000000" + +-- There are other variable sets +-- 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" + +-- Generate taglist squares: +local taglist_square_size = dpi(0) +theme.taglist_squares_sel = theme_assets.taglist_squares_sel( + taglist_square_size, theme.fg_normal +) +theme.taglist_squares_unsel = theme_assets.taglist_squares_unsel( + taglist_square_size, theme.fg_normal +) + +-- Tasklists +theme.tasklist_shape = gears.shape.rounded_bar +theme.tasklist_spacing = 40 +theme.tasklist_align = "center" + +theme.tasklist_bg = theme.red + + +-- Variables set for theming notifications: +-- notification_font +-- notification_[bg|fg] +-- notification_[width|height|margin] +theme.notification_margin = 4 +-- notification_[border_color|border_width|shape|opacity] + +-- Variables set for theming the menu: +-- menu_[bg|fg]_[normal|focus] +-- menu_[border_color|border_width] +theme.menu_submenu_icon = themes_path.."default/submenu.png" +theme.menu_height = dpi(15) +theme.menu_width = dpi(100) + +-- You can add as many variables as +-- you wish and access them by using +-- beautiful.variable in your rc.lua +--theme.bg_widget = "#cc0000" + +-- wibar +theme.wibar_shape = gears.shape.rounded_bar +theme.wibar_bg = theme.bg_normal +theme.wibar_fg = theme.fg_normal +theme.wibar_y = 1030 +theme.wibar_x = 0 +-- theme.wibar_stretch = false +theme.wibar_border_width = dpi(0) +theme.wibar_border_color = "" +-- theme.wibar_ontop = nil +-- theme.wibar_cursor = nil +theme.wibar_opacity = 0.6 +-- theme.wibar_type = nil +theme.wibar_width = dpi(1850) +-- theme.wibar_height = dpi(20) +-- theme.wibar_bgimage = nil + +-- Define the image to load +-- theme.titlebar_bg_normal = "#282A36FF" +-- theme.titlebar_bg_focus = "#282A3699" +-- theme.titlebar_close_button_normal = themes_path.."default/titlebar/close_normal.png" +-- theme.titlebar_close_button_focus = themes_path.."default/titlebar/close_focus.png" + +-- theme.titlebar_minimize_button_normal = themes_path.."default/titlebar/minimize_normal.png" +-- theme.titlebar_minimize_button_focus = themes_path.."default/titlebar/minimize_focus.png" + +-- theme.titlebar_ontop_button_normal_inactive = themes_path.."default/titlebar/ontop_normal_inactive.png" +-- theme.titlebar_ontop_button_focus_inactive = themes_path.."default/titlebar/ontop_focus_inactive.png" +-- theme.titlebar_ontop_button_normal_active = themes_path.."default/titlebar/ontop_normal_active.png" +-- theme.titlebar_ontop_button_focus_active = themes_path.."default/titlebar/ontop_focus_active.png" + +-- theme.titlebar_sticky_button_normal_inactive = themes_path.."default/titlebar/sticky_normal_inactive.png" +-- theme.titlebar_sticky_button_focus_inactive = themes_path.."default/titlebar/sticky_focus_inactive.png" +-- theme.titlebar_sticky_button_normal_active = themes_path.."default/titlebar/sticky_normal_active.png" +-- theme.titlebar_sticky_button_focus_active = themes_path.."default/titlebar/sticky_focus_active.png" + +-- theme.titlebar_floating_button_normal_inactive = themes_path.."default/titlebar/floating_normal_inactive.png" +-- theme.titlebar_floating_button_focus_inactive = themes_path.."default/titlebar/floating_focus_inactive.png" +-- theme.titlebar_floating_button_normal_active = themes_path.."default/titlebar/floating_normal_active.png" +-- theme.titlebar_floating_button_focus_active = themes_path.."default/titlebar/floating_focus_active.png" + +-- theme.titlebar_maximized_button_normal_inactive = themes_path.."default/titlebar/maximized_normal_inactive.png" +-- theme.titlebar_maximized_button_focus_inactive = themes_path.."default/titlebar/maximized_focus_inactive.png" +-- theme.titlebar_maximized_button_normal_active = themes_path.."default/titlebar/maximized_normal_active.png" +-- theme.titlebar_maximized_button_focus_active = themes_path.."default/titlebar/maximized_focus_active.png" + +theme.wallpaper = wallpaperdir .. "RoyalKing.png" + +-- You can use your own layout icons like this: +theme.layout_fairh = themes_path.."default/layouts/fairhw.png" +theme.layout_fairv = themes_path.."default/layouts/fairvw.png" +theme.layout_floating = themes_path.."default/layouts/floatingw.png" +theme.layout_magnifier = themes_path.."default/layouts/magnifierw.png" +theme.layout_max = themes_path.."default/layouts/maxw.png" +theme.layout_fullscreen = themes_path.."default/layouts/fullscreenw.png" +theme.layout_tilebottom = themes_path.."default/layouts/tilebottomw.png" +theme.layout_tileleft = themes_path.."default/layouts/tileleftw.png" +theme.layout_tile = themes_path.."default/layouts/tilew.png" +theme.layout_tiletop = themes_path.."default/layouts/tiletopw.png" +theme.layout_spiral = themes_path.."default/layouts/spiralw.png" +theme.layout_dwindle = themes_path.."default/layouts/dwindlew.png" +theme.layout_cornernw = themes_path.."default/layouts/cornernww.png" +theme.layout_cornerne = themes_path.."default/layouts/cornernew.png" +theme.layout_cornersw = themes_path.."default/layouts/cornersww.png" +theme.layout_cornerse = themes_path.."default/layouts/cornersew.png" + +-- Notifications + +-- Generate Awesome icon: +theme.awesome_icon = theme_assets.awesome_icon( + theme.menu_height, theme.bg_focus, theme.fg_focus +) + +-- theme.awesome_icon = theme.icons .. 'awesome.svg' +-- Define the icon theme for application icons. If not set then the icons +-- from /usr/share/icons and /usr/share/icons/hicolor will be used. +theme.icon_theme = nil + +return theme + +-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80 diff --git a/awesome/widget/battery/icons/battery-100.svg b/awes2/widget/battery/icons/battery-100.svg similarity index 100% rename from awesome/widget/battery/icons/battery-100.svg rename to awes2/widget/battery/icons/battery-100.svg diff --git a/awesome/widget/battery/icons/battery-20.svg b/awes2/widget/battery/icons/battery-20.svg similarity index 100% rename from awesome/widget/battery/icons/battery-20.svg rename to awes2/widget/battery/icons/battery-20.svg diff --git a/awesome/widget/battery/icons/battery-30.svg b/awes2/widget/battery/icons/battery-30.svg similarity index 100% rename from awesome/widget/battery/icons/battery-30.svg rename to awes2/widget/battery/icons/battery-30.svg diff --git a/awesome/widget/battery/icons/battery-50.svg b/awes2/widget/battery/icons/battery-50.svg similarity index 100% rename from awesome/widget/battery/icons/battery-50.svg rename to awes2/widget/battery/icons/battery-50.svg diff --git a/awesome/widget/battery/icons/battery-60.svg b/awes2/widget/battery/icons/battery-60.svg similarity index 100% rename from awesome/widget/battery/icons/battery-60.svg rename to awes2/widget/battery/icons/battery-60.svg diff --git a/awesome/widget/battery/icons/battery-80.svg b/awes2/widget/battery/icons/battery-80.svg similarity index 100% rename from awesome/widget/battery/icons/battery-80.svg rename to awes2/widget/battery/icons/battery-80.svg diff --git a/awesome/widget/battery/icons/battery-90.svg b/awes2/widget/battery/icons/battery-90.svg similarity index 100% rename from awesome/widget/battery/icons/battery-90.svg rename to awes2/widget/battery/icons/battery-90.svg diff --git a/awesome/widget/battery/icons/battery-alert-red.svg b/awes2/widget/battery/icons/battery-alert-red.svg similarity index 100% rename from awesome/widget/battery/icons/battery-alert-red.svg rename to awes2/widget/battery/icons/battery-alert-red.svg diff --git a/awesome/widget/battery/icons/battery-alert.svg b/awes2/widget/battery/icons/battery-alert.svg similarity index 100% rename from awesome/widget/battery/icons/battery-alert.svg rename to awes2/widget/battery/icons/battery-alert.svg diff --git a/awesome/widget/battery/icons/battery-charging-10.svg b/awes2/widget/battery/icons/battery-charging-10.svg similarity index 100% rename from awesome/widget/battery/icons/battery-charging-10.svg rename to awes2/widget/battery/icons/battery-charging-10.svg diff --git a/awesome/widget/battery/icons/battery-charging-20.svg b/awes2/widget/battery/icons/battery-charging-20.svg similarity index 100% rename from awesome/widget/battery/icons/battery-charging-20.svg rename to awes2/widget/battery/icons/battery-charging-20.svg diff --git a/awesome/widget/battery/icons/battery-charging-30.svg b/awes2/widget/battery/icons/battery-charging-30.svg similarity index 100% rename from awesome/widget/battery/icons/battery-charging-30.svg rename to awes2/widget/battery/icons/battery-charging-30.svg diff --git a/awesome/widget/battery/icons/battery-charging-50.svg b/awes2/widget/battery/icons/battery-charging-50.svg similarity index 100% rename from awesome/widget/battery/icons/battery-charging-50.svg rename to awes2/widget/battery/icons/battery-charging-50.svg diff --git a/awesome/widget/battery/icons/battery-charging-60.svg b/awes2/widget/battery/icons/battery-charging-60.svg similarity index 100% rename from awesome/widget/battery/icons/battery-charging-60.svg rename to awes2/widget/battery/icons/battery-charging-60.svg diff --git a/awesome/widget/battery/icons/battery-charging-80.svg b/awes2/widget/battery/icons/battery-charging-80.svg similarity index 100% rename from awesome/widget/battery/icons/battery-charging-80.svg rename to awes2/widget/battery/icons/battery-charging-80.svg diff --git a/awesome/widget/battery/icons/battery-charging-90.svg b/awes2/widget/battery/icons/battery-charging-90.svg similarity index 100% rename from awesome/widget/battery/icons/battery-charging-90.svg rename to awes2/widget/battery/icons/battery-charging-90.svg diff --git a/awesome/widget/battery/icons/battery-fully-charged.svg b/awes2/widget/battery/icons/battery-fully-charged.svg similarity index 100% rename from awesome/widget/battery/icons/battery-fully-charged.svg rename to awes2/widget/battery/icons/battery-fully-charged.svg diff --git a/awesome/widget/battery/icons/battery-standard.svg b/awes2/widget/battery/icons/battery-standard.svg similarity index 100% rename from awesome/widget/battery/icons/battery-standard.svg rename to awes2/widget/battery/icons/battery-standard.svg diff --git a/awesome/widget/battery/icons/battery-unknown.svg b/awes2/widget/battery/icons/battery-unknown.svg similarity index 100% rename from awesome/widget/battery/icons/battery-unknown.svg rename to awes2/widget/battery/icons/battery-unknown.svg diff --git a/awesome/widget/battery/init.lua b/awes2/widget/battery/init.lua similarity index 100% rename from awesome/widget/battery/init.lua rename to awes2/widget/battery/init.lua diff --git a/awesome/widget/blue-light/init.lua b/awes2/widget/blue-light/init.lua similarity index 100% rename from awesome/widget/blue-light/init.lua rename to awes2/widget/blue-light/init.lua diff --git a/awesome/widget/bluetooth/bluetooth-toggle.lua b/awes2/widget/bluetooth/bluetooth-toggle.lua similarity index 100% rename from awesome/widget/bluetooth/bluetooth-toggle.lua rename to awes2/widget/bluetooth/bluetooth-toggle.lua diff --git a/awesome/widget/bluetooth/clickable-container.lua b/awes2/widget/bluetooth/clickable-container.lua similarity index 100% rename from awesome/widget/bluetooth/clickable-container.lua rename to awes2/widget/bluetooth/clickable-container.lua diff --git a/awesome/widget/bluetooth/icons/bluetooth-connected.svg b/awes2/widget/bluetooth/icons/bluetooth-connected.svg similarity index 100% rename from awesome/widget/bluetooth/icons/bluetooth-connected.svg rename to awes2/widget/bluetooth/icons/bluetooth-connected.svg diff --git a/awesome/widget/bluetooth/icons/bluetooth-off.svg b/awes2/widget/bluetooth/icons/bluetooth-off.svg similarity index 100% rename from awesome/widget/bluetooth/icons/bluetooth-off.svg rename to awes2/widget/bluetooth/icons/bluetooth-off.svg diff --git a/awesome/widget/bluetooth/icons/bluetooth-scanning.svg b/awes2/widget/bluetooth/icons/bluetooth-scanning.svg similarity index 100% rename from awesome/widget/bluetooth/icons/bluetooth-scanning.svg rename to awes2/widget/bluetooth/icons/bluetooth-scanning.svg diff --git a/awesome/widget/bluetooth/icons/bluetooth.svg b/awes2/widget/bluetooth/icons/bluetooth.svg similarity index 100% rename from awesome/widget/bluetooth/icons/bluetooth.svg rename to awes2/widget/bluetooth/icons/bluetooth.svg diff --git a/awesome/widget/bluetooth/icons/loading.svg b/awes2/widget/bluetooth/icons/loading.svg similarity index 100% rename from awesome/widget/bluetooth/icons/loading.svg rename to awes2/widget/bluetooth/icons/loading.svg diff --git a/awesome/widget/bluetooth/init.lua b/awes2/widget/bluetooth/init.lua similarity index 100% rename from awesome/widget/bluetooth/init.lua rename to awes2/widget/bluetooth/init.lua diff --git a/awesome/widget/brightness/brightness-slider.lua b/awes2/widget/brightness/brightness-slider.lua similarity index 100% rename from awesome/widget/brightness/brightness-slider.lua rename to awes2/widget/brightness/brightness-slider.lua diff --git a/awesome/widget/calculator/icons/kb-off.svg b/awes2/widget/calculator/icons/kb-off.svg similarity index 100% rename from awesome/widget/calculator/icons/kb-off.svg rename to awes2/widget/calculator/icons/kb-off.svg diff --git a/awesome/widget/calculator/icons/kb.svg b/awes2/widget/calculator/icons/kb.svg similarity index 100% rename from awesome/widget/calculator/icons/kb.svg rename to awes2/widget/calculator/icons/kb.svg diff --git a/awesome/widget/calculator/init.lua b/awes2/widget/calculator/init.lua similarity index 100% rename from awesome/widget/calculator/init.lua rename to awes2/widget/calculator/init.lua diff --git a/awesome/widget/clickable-container/init.lua b/awes2/widget/clickable-container/init.lua similarity index 100% rename from awesome/widget/clickable-container/init.lua rename to awes2/widget/clickable-container/init.lua diff --git a/awesome/widget/cpu/cpu-meter.lua b/awes2/widget/cpu/cpu-meter.lua similarity index 100% rename from awesome/widget/cpu/cpu-meter.lua rename to awes2/widget/cpu/cpu-meter.lua diff --git a/awesome/widget/email/icons/email-1.svg b/awes2/widget/email/icons/email-1.svg similarity index 100% rename from awesome/widget/email/icons/email-1.svg rename to awes2/widget/email/icons/email-1.svg diff --git a/awesome/widget/email/icons/email-2.svg b/awes2/widget/email/icons/email-2.svg similarity index 100% rename from awesome/widget/email/icons/email-2.svg rename to awes2/widget/email/icons/email-2.svg diff --git a/awesome/widget/email/icons/email-3.svg b/awes2/widget/email/icons/email-3.svg similarity index 100% rename from awesome/widget/email/icons/email-3.svg rename to awes2/widget/email/icons/email-3.svg diff --git a/awesome/widget/email/icons/email-4.svg b/awes2/widget/email/icons/email-4.svg similarity index 100% rename from awesome/widget/email/icons/email-4.svg rename to awes2/widget/email/icons/email-4.svg diff --git a/awesome/widget/email/icons/email-5.svg b/awes2/widget/email/icons/email-5.svg similarity index 100% rename from awesome/widget/email/icons/email-5.svg rename to awes2/widget/email/icons/email-5.svg diff --git a/awesome/widget/email/icons/email-6.svg b/awes2/widget/email/icons/email-6.svg similarity index 100% rename from awesome/widget/email/icons/email-6.svg rename to awes2/widget/email/icons/email-6.svg diff --git a/awesome/widget/email/icons/email-7.svg b/awes2/widget/email/icons/email-7.svg similarity index 100% rename from awesome/widget/email/icons/email-7.svg rename to awes2/widget/email/icons/email-7.svg diff --git a/awesome/widget/email/icons/email-8.svg b/awes2/widget/email/icons/email-8.svg similarity index 100% rename from awesome/widget/email/icons/email-8.svg rename to awes2/widget/email/icons/email-8.svg diff --git a/awesome/widget/email/icons/email-9+.svg b/awes2/widget/email/icons/email-9+.svg similarity index 100% rename from awesome/widget/email/icons/email-9+.svg rename to awes2/widget/email/icons/email-9+.svg diff --git a/awesome/widget/email/icons/email-9.svg b/awes2/widget/email/icons/email-9.svg similarity index 100% rename from awesome/widget/email/icons/email-9.svg rename to awes2/widget/email/icons/email-9.svg diff --git a/awesome/widget/email/icons/email-unread.svg b/awes2/widget/email/icons/email-unread.svg similarity index 100% rename from awesome/widget/email/icons/email-unread.svg rename to awes2/widget/email/icons/email-unread.svg diff --git a/awesome/widget/email/icons/email.svg b/awes2/widget/email/icons/email.svg similarity index 100% rename from awesome/widget/email/icons/email.svg rename to awes2/widget/email/icons/email.svg diff --git a/awesome/widget/email/init.lua b/awes2/widget/email/init.lua similarity index 100% rename from awesome/widget/email/init.lua rename to awes2/widget/email/init.lua diff --git a/awesome/widget/harddrive/harddrive-meter.lua b/awes2/widget/harddrive/harddrive-meter.lua similarity index 100% rename from awesome/widget/harddrive/harddrive-meter.lua rename to awes2/widget/harddrive/harddrive-meter.lua diff --git a/awesome/widget/music/content/album-cover.lua b/awes2/widget/music/content/album-cover.lua similarity index 100% rename from awesome/widget/music/content/album-cover.lua rename to awes2/widget/music/content/album-cover.lua diff --git a/awesome/widget/music/content/init.lua b/awes2/widget/music/content/init.lua similarity index 100% rename from awesome/widget/music/content/init.lua rename to awes2/widget/music/content/init.lua diff --git a/awesome/widget/music/content/media-buttons.lua b/awes2/widget/music/content/media-buttons.lua similarity index 100% rename from awesome/widget/music/content/media-buttons.lua rename to awes2/widget/music/content/media-buttons.lua diff --git a/awesome/widget/music/content/progress-bar.lua b/awes2/widget/music/content/progress-bar.lua similarity index 100% rename from awesome/widget/music/content/progress-bar.lua rename to awes2/widget/music/content/progress-bar.lua diff --git a/awesome/widget/music/content/song-info.lua b/awes2/widget/music/content/song-info.lua similarity index 100% rename from awesome/widget/music/content/song-info.lua rename to awes2/widget/music/content/song-info.lua diff --git a/awesome/widget/music/content/track-time.lua b/awes2/widget/music/content/track-time.lua similarity index 100% rename from awesome/widget/music/content/track-time.lua rename to awes2/widget/music/content/track-time.lua diff --git a/awesome/widget/music/content/volume-slider.lua b/awes2/widget/music/content/volume-slider.lua similarity index 100% rename from awesome/widget/music/content/volume-slider.lua rename to awes2/widget/music/content/volume-slider.lua diff --git a/awesome/widget/music/icons/music.svg b/awes2/widget/music/icons/music.svg similarity index 100% rename from awesome/widget/music/icons/music.svg rename to awes2/widget/music/icons/music.svg diff --git a/awesome/widget/music/icons/next.svg b/awes2/widget/music/icons/next.svg similarity index 100% rename from awesome/widget/music/icons/next.svg rename to awes2/widget/music/icons/next.svg diff --git a/awesome/widget/music/icons/pause.svg b/awes2/widget/music/icons/pause.svg similarity index 100% rename from awesome/widget/music/icons/pause.svg rename to awes2/widget/music/icons/pause.svg diff --git a/awesome/widget/music/icons/play.svg b/awes2/widget/music/icons/play.svg similarity index 100% rename from awesome/widget/music/icons/play.svg rename to awes2/widget/music/icons/play.svg diff --git a/awesome/widget/music/icons/prev.svg b/awes2/widget/music/icons/prev.svg similarity index 100% rename from awesome/widget/music/icons/prev.svg rename to awes2/widget/music/icons/prev.svg diff --git a/awesome/widget/music/icons/random-off.svg b/awes2/widget/music/icons/random-off.svg similarity index 100% rename from awesome/widget/music/icons/random-off.svg rename to awes2/widget/music/icons/random-off.svg diff --git a/awesome/widget/music/icons/random-on.svg b/awes2/widget/music/icons/random-on.svg similarity index 100% rename from awesome/widget/music/icons/random-on.svg rename to awes2/widget/music/icons/random-on.svg diff --git a/awesome/widget/music/icons/repeat-off.svg b/awes2/widget/music/icons/repeat-off.svg similarity index 100% rename from awesome/widget/music/icons/repeat-off.svg rename to awes2/widget/music/icons/repeat-off.svg diff --git a/awesome/widget/music/icons/repeat-on.svg b/awes2/widget/music/icons/repeat-on.svg similarity index 100% rename from awesome/widget/music/icons/repeat-on.svg rename to awes2/widget/music/icons/repeat-on.svg diff --git a/awesome/widget/music/icons/vinyl.svg b/awes2/widget/music/icons/vinyl.svg similarity index 100% rename from awesome/widget/music/icons/vinyl.svg rename to awes2/widget/music/icons/vinyl.svg diff --git a/awesome/widget/music/init.lua b/awes2/widget/music/init.lua similarity index 100% rename from awesome/widget/music/init.lua rename to awes2/widget/music/init.lua diff --git a/awesome/widget/music/mpd-music-updater.lua b/awes2/widget/music/mpd-music-updater.lua similarity index 100% rename from awesome/widget/music/mpd-music-updater.lua rename to awes2/widget/music/mpd-music-updater.lua diff --git a/awesome/widget/music/music-box.lua b/awes2/widget/music/music-box.lua similarity index 100% rename from awesome/widget/music/music-box.lua rename to awes2/widget/music/music-box.lua diff --git a/awesome/widget/music/spotify-music-updater.lua b/awes2/widget/music/spotify-music-updater.lua similarity index 100% rename from awesome/widget/music/spotify-music-updater.lua rename to awes2/widget/music/spotify-music-updater.lua diff --git a/awesome/widget/network/airplane_mode b/awes2/widget/network/airplane_mode similarity index 100% rename from awesome/widget/network/airplane_mode rename to awes2/widget/network/airplane_mode diff --git a/awesome/widget/network/clickable-container.lua b/awes2/widget/network/clickable-container.lua similarity index 100% rename from awesome/widget/network/clickable-container.lua rename to awes2/widget/network/clickable-container.lua diff --git a/awesome/widget/network/icons/airplane-mode-off.svg b/awes2/widget/network/icons/airplane-mode-off.svg similarity index 100% rename from awesome/widget/network/icons/airplane-mode-off.svg rename to awes2/widget/network/icons/airplane-mode-off.svg diff --git a/awesome/widget/network/icons/airplane-mode.svg b/awes2/widget/network/icons/airplane-mode.svg similarity index 100% rename from awesome/widget/network/icons/airplane-mode.svg rename to awes2/widget/network/icons/airplane-mode.svg diff --git a/awesome/widget/network/icons/loading.svg b/awes2/widget/network/icons/loading.svg similarity index 100% rename from awesome/widget/network/icons/loading.svg rename to awes2/widget/network/icons/loading.svg diff --git a/awesome/widget/network/icons/wifi-off.svg b/awes2/widget/network/icons/wifi-off.svg similarity index 100% rename from awesome/widget/network/icons/wifi-off.svg rename to awes2/widget/network/icons/wifi-off.svg diff --git a/awesome/widget/network/icons/wifi-strength-1-alert.svg b/awes2/widget/network/icons/wifi-strength-1-alert.svg similarity index 100% rename from awesome/widget/network/icons/wifi-strength-1-alert.svg rename to awes2/widget/network/icons/wifi-strength-1-alert.svg diff --git a/awesome/widget/network/icons/wifi-strength-1-lock.svg b/awes2/widget/network/icons/wifi-strength-1-lock.svg similarity index 100% rename from awesome/widget/network/icons/wifi-strength-1-lock.svg rename to awes2/widget/network/icons/wifi-strength-1-lock.svg diff --git a/awesome/widget/network/icons/wifi-strength-1.svg b/awes2/widget/network/icons/wifi-strength-1.svg similarity index 100% rename from awesome/widget/network/icons/wifi-strength-1.svg rename to awes2/widget/network/icons/wifi-strength-1.svg diff --git a/awesome/widget/network/icons/wifi-strength-2-alert.svg b/awes2/widget/network/icons/wifi-strength-2-alert.svg similarity index 100% rename from awesome/widget/network/icons/wifi-strength-2-alert.svg rename to awes2/widget/network/icons/wifi-strength-2-alert.svg diff --git a/awesome/widget/network/icons/wifi-strength-2-lock.svg b/awes2/widget/network/icons/wifi-strength-2-lock.svg similarity index 100% rename from awesome/widget/network/icons/wifi-strength-2-lock.svg rename to awes2/widget/network/icons/wifi-strength-2-lock.svg diff --git a/awesome/widget/network/icons/wifi-strength-2.svg b/awes2/widget/network/icons/wifi-strength-2.svg similarity index 100% rename from awesome/widget/network/icons/wifi-strength-2.svg rename to awes2/widget/network/icons/wifi-strength-2.svg diff --git a/awesome/widget/network/icons/wifi-strength-3-alert.svg b/awes2/widget/network/icons/wifi-strength-3-alert.svg similarity index 100% rename from awesome/widget/network/icons/wifi-strength-3-alert.svg rename to awes2/widget/network/icons/wifi-strength-3-alert.svg diff --git a/awesome/widget/network/icons/wifi-strength-3-lock.svg b/awes2/widget/network/icons/wifi-strength-3-lock.svg similarity index 100% rename from awesome/widget/network/icons/wifi-strength-3-lock.svg rename to awes2/widget/network/icons/wifi-strength-3-lock.svg diff --git a/awesome/widget/network/icons/wifi-strength-3.svg b/awes2/widget/network/icons/wifi-strength-3.svg similarity index 100% rename from awesome/widget/network/icons/wifi-strength-3.svg rename to awes2/widget/network/icons/wifi-strength-3.svg diff --git a/awesome/widget/network/icons/wifi-strength-4-alert.svg b/awes2/widget/network/icons/wifi-strength-4-alert.svg similarity index 100% rename from awesome/widget/network/icons/wifi-strength-4-alert.svg rename to awes2/widget/network/icons/wifi-strength-4-alert.svg diff --git a/awesome/widget/network/icons/wifi-strength-4-lock.svg b/awes2/widget/network/icons/wifi-strength-4-lock.svg similarity index 100% rename from awesome/widget/network/icons/wifi-strength-4-lock.svg rename to awes2/widget/network/icons/wifi-strength-4-lock.svg diff --git a/awesome/widget/network/icons/wifi-strength-4.svg b/awes2/widget/network/icons/wifi-strength-4.svg similarity index 100% rename from awesome/widget/network/icons/wifi-strength-4.svg rename to awes2/widget/network/icons/wifi-strength-4.svg diff --git a/awesome/widget/network/icons/wifi-strength-alert-outline.svg b/awes2/widget/network/icons/wifi-strength-alert-outline.svg similarity index 100% rename from awesome/widget/network/icons/wifi-strength-alert-outline.svg rename to awes2/widget/network/icons/wifi-strength-alert-outline.svg diff --git a/awesome/widget/network/icons/wifi-strength-alert.svg b/awes2/widget/network/icons/wifi-strength-alert.svg similarity index 100% rename from awesome/widget/network/icons/wifi-strength-alert.svg rename to awes2/widget/network/icons/wifi-strength-alert.svg diff --git a/awesome/widget/network/icons/wifi-strength-empty.svg b/awes2/widget/network/icons/wifi-strength-empty.svg similarity index 100% rename from awesome/widget/network/icons/wifi-strength-empty.svg rename to awes2/widget/network/icons/wifi-strength-empty.svg diff --git a/awesome/widget/network/icons/wifi-strength-lock-outline.svg b/awes2/widget/network/icons/wifi-strength-lock-outline.svg similarity index 100% rename from awesome/widget/network/icons/wifi-strength-lock-outline.svg rename to awes2/widget/network/icons/wifi-strength-lock-outline.svg diff --git a/awesome/widget/network/icons/wifi-strength-off-outline.svg b/awes2/widget/network/icons/wifi-strength-off-outline.svg similarity index 100% rename from awesome/widget/network/icons/wifi-strength-off-outline.svg rename to awes2/widget/network/icons/wifi-strength-off-outline.svg diff --git a/awesome/widget/network/icons/wifi-strength-off.svg b/awes2/widget/network/icons/wifi-strength-off.svg similarity index 100% rename from awesome/widget/network/icons/wifi-strength-off.svg rename to awes2/widget/network/icons/wifi-strength-off.svg diff --git a/awesome/widget/network/icons/wifi-strength-outline.svg b/awes2/widget/network/icons/wifi-strength-outline.svg similarity index 100% rename from awesome/widget/network/icons/wifi-strength-outline.svg rename to awes2/widget/network/icons/wifi-strength-outline.svg diff --git a/awesome/widget/network/icons/wifi.svg b/awes2/widget/network/icons/wifi.svg similarity index 100% rename from awesome/widget/network/icons/wifi.svg rename to awes2/widget/network/icons/wifi.svg diff --git a/awesome/widget/network/icons/wired-alert.svg b/awes2/widget/network/icons/wired-alert.svg similarity index 100% rename from awesome/widget/network/icons/wired-alert.svg rename to awes2/widget/network/icons/wired-alert.svg diff --git a/awesome/widget/network/icons/wired-off.svg b/awes2/widget/network/icons/wired-off.svg similarity index 100% rename from awesome/widget/network/icons/wired-off.svg rename to awes2/widget/network/icons/wired-off.svg diff --git a/awesome/widget/network/icons/wired.svg b/awes2/widget/network/icons/wired.svg similarity index 100% rename from awesome/widget/network/icons/wired.svg rename to awes2/widget/network/icons/wired.svg diff --git a/awesome/widget/network/init.lua b/awes2/widget/network/init.lua similarity index 100% rename from awesome/widget/network/init.lua rename to awes2/widget/network/init.lua diff --git a/awesome/widget/network/network-toggle.lua b/awes2/widget/network/network-toggle.lua similarity index 100% rename from awesome/widget/network/network-toggle.lua rename to awes2/widget/network/network-toggle.lua diff --git a/awesome/widget/notif-center/build-notifbox/empty-notifbox.lua b/awes2/widget/notif-center/build-notifbox/empty-notifbox.lua similarity index 100% rename from awesome/widget/notif-center/build-notifbox/empty-notifbox.lua rename to awes2/widget/notif-center/build-notifbox/empty-notifbox.lua diff --git a/awesome/widget/notif-center/build-notifbox/init.lua b/awes2/widget/notif-center/build-notifbox/init.lua similarity index 100% rename from awesome/widget/notif-center/build-notifbox/init.lua rename to awes2/widget/notif-center/build-notifbox/init.lua diff --git a/awesome/widget/notif-center/build-notifbox/notifbox-builder.lua b/awes2/widget/notif-center/build-notifbox/notifbox-builder.lua similarity index 100% rename from awesome/widget/notif-center/build-notifbox/notifbox-builder.lua rename to awes2/widget/notif-center/build-notifbox/notifbox-builder.lua diff --git a/awesome/widget/notif-center/build-notifbox/notifbox-geometry.lua b/awes2/widget/notif-center/build-notifbox/notifbox-geometry.lua similarity index 100% rename from awesome/widget/notif-center/build-notifbox/notifbox-geometry.lua rename to awes2/widget/notif-center/build-notifbox/notifbox-geometry.lua diff --git a/awesome/widget/notif-center/build-notifbox/notifbox-scroller.lua b/awes2/widget/notif-center/build-notifbox/notifbox-scroller.lua similarity index 100% rename from awesome/widget/notif-center/build-notifbox/notifbox-scroller.lua rename to awes2/widget/notif-center/build-notifbox/notifbox-scroller.lua diff --git a/awesome/widget/notif-center/build-notifbox/notifbox-ui-elements.lua b/awes2/widget/notif-center/build-notifbox/notifbox-ui-elements.lua similarity index 100% rename from awesome/widget/notif-center/build-notifbox/notifbox-ui-elements.lua rename to awes2/widget/notif-center/build-notifbox/notifbox-ui-elements.lua diff --git a/awesome/widget/notif-center/clear-all/init.lua b/awes2/widget/notif-center/clear-all/init.lua similarity index 100% rename from awesome/widget/notif-center/clear-all/init.lua rename to awes2/widget/notif-center/clear-all/init.lua diff --git a/awesome/widget/notif-center/dont-disturb/disturb_status b/awes2/widget/notif-center/dont-disturb/disturb_status similarity index 100% rename from awesome/widget/notif-center/dont-disturb/disturb_status rename to awes2/widget/notif-center/dont-disturb/disturb_status diff --git a/awesome/widget/notif-center/dont-disturb/init.lua b/awes2/widget/notif-center/dont-disturb/init.lua similarity index 100% rename from awesome/widget/notif-center/dont-disturb/init.lua rename to awes2/widget/notif-center/dont-disturb/init.lua diff --git a/awesome/widget/notif-center/icons/clear_all.svg b/awes2/widget/notif-center/icons/clear_all.svg similarity index 100% rename from awesome/widget/notif-center/icons/clear_all.svg rename to awes2/widget/notif-center/icons/clear_all.svg diff --git a/awesome/widget/notif-center/icons/delete.svg b/awes2/widget/notif-center/icons/delete.svg similarity index 100% rename from awesome/widget/notif-center/icons/delete.svg rename to awes2/widget/notif-center/icons/delete.svg diff --git a/awesome/widget/notif-center/icons/dont-disturb-mode.svg b/awes2/widget/notif-center/icons/dont-disturb-mode.svg similarity index 100% rename from awesome/widget/notif-center/icons/dont-disturb-mode.svg rename to awes2/widget/notif-center/icons/dont-disturb-mode.svg diff --git a/awesome/widget/notif-center/icons/empty-notification.svg b/awes2/widget/notif-center/icons/empty-notification.svg similarity index 100% rename from awesome/widget/notif-center/icons/empty-notification.svg rename to awes2/widget/notif-center/icons/empty-notification.svg diff --git a/awesome/widget/notif-center/icons/new-notif.svg b/awes2/widget/notif-center/icons/new-notif.svg similarity index 100% rename from awesome/widget/notif-center/icons/new-notif.svg rename to awes2/widget/notif-center/icons/new-notif.svg diff --git a/awesome/widget/notif-center/icons/notify-mode.svg b/awes2/widget/notif-center/icons/notify-mode.svg similarity index 100% rename from awesome/widget/notif-center/icons/notify-mode.svg rename to awes2/widget/notif-center/icons/notify-mode.svg diff --git a/awesome/widget/notif-center/init.lua b/awes2/widget/notif-center/init.lua similarity index 100% rename from awesome/widget/notif-center/init.lua rename to awes2/widget/notif-center/init.lua diff --git a/awesome/widget/package-updater/icons/package-up.svg b/awes2/widget/package-updater/icons/package-up.svg similarity index 100% rename from awesome/widget/package-updater/icons/package-up.svg rename to awes2/widget/package-updater/icons/package-up.svg diff --git a/awesome/widget/package-updater/icons/package.svg b/awes2/widget/package-updater/icons/package.svg similarity index 100% rename from awesome/widget/package-updater/icons/package.svg rename to awes2/widget/package-updater/icons/package.svg diff --git a/awesome/widget/package-updater/init.lua b/awes2/widget/package-updater/init.lua similarity index 100% rename from awesome/widget/package-updater/init.lua rename to awes2/widget/package-updater/init.lua diff --git a/awesome/widget/ram/ram-meter.lua b/awes2/widget/ram/ram-meter.lua similarity index 100% rename from awesome/widget/ram/ram-meter.lua rename to awes2/widget/ram/ram-meter.lua diff --git a/awesome/widget/screen-recorder/icons/audio.svg b/awes2/widget/screen-recorder/icons/audio.svg similarity index 100% rename from awesome/widget/screen-recorder/icons/audio.svg rename to awes2/widget/screen-recorder/icons/audio.svg diff --git a/awesome/widget/screen-recorder/icons/back.svg b/awes2/widget/screen-recorder/icons/back.svg similarity index 100% rename from awesome/widget/screen-recorder/icons/back.svg rename to awes2/widget/screen-recorder/icons/back.svg diff --git a/awesome/widget/screen-recorder/icons/close-screen.svg b/awes2/widget/screen-recorder/icons/close-screen.svg similarity index 100% rename from awesome/widget/screen-recorder/icons/close-screen.svg rename to awes2/widget/screen-recorder/icons/close-screen.svg diff --git a/awesome/widget/screen-recorder/icons/recorder-countdown.svg b/awes2/widget/screen-recorder/icons/recorder-countdown.svg similarity index 100% rename from awesome/widget/screen-recorder/icons/recorder-countdown.svg rename to awes2/widget/screen-recorder/icons/recorder-countdown.svg diff --git a/awesome/widget/screen-recorder/icons/recorder-off.svg b/awes2/widget/screen-recorder/icons/recorder-off.svg similarity index 100% rename from awesome/widget/screen-recorder/icons/recorder-off.svg rename to awes2/widget/screen-recorder/icons/recorder-off.svg diff --git a/awesome/widget/screen-recorder/icons/recorder-on.svg b/awes2/widget/screen-recorder/icons/recorder-on.svg similarity index 100% rename from awesome/widget/screen-recorder/icons/recorder-on.svg rename to awes2/widget/screen-recorder/icons/recorder-on.svg diff --git a/awesome/widget/screen-recorder/icons/recording-button.svg b/awes2/widget/screen-recorder/icons/recording-button.svg similarity index 100% rename from awesome/widget/screen-recorder/icons/recording-button.svg rename to awes2/widget/screen-recorder/icons/recording-button.svg diff --git a/awesome/widget/screen-recorder/icons/settings.svg b/awes2/widget/screen-recorder/icons/settings.svg similarity index 100% rename from awesome/widget/screen-recorder/icons/settings.svg rename to awes2/widget/screen-recorder/icons/settings.svg diff --git a/awesome/widget/screen-recorder/icons/start-recording-button.svg b/awes2/widget/screen-recorder/icons/start-recording-button.svg similarity index 100% rename from awesome/widget/screen-recorder/icons/start-recording-button.svg rename to awes2/widget/screen-recorder/icons/start-recording-button.svg diff --git a/awesome/widget/screen-recorder/init.lua b/awes2/widget/screen-recorder/init.lua similarity index 100% rename from awesome/widget/screen-recorder/init.lua rename to awes2/widget/screen-recorder/init.lua diff --git a/awesome/widget/screen-recorder/screen-recorder-config.lua b/awes2/widget/screen-recorder/screen-recorder-config.lua similarity index 100% rename from awesome/widget/screen-recorder/screen-recorder-config.lua rename to awes2/widget/screen-recorder/screen-recorder-config.lua diff --git a/awesome/widget/screen-recorder/screen-recorder-scripts.lua b/awes2/widget/screen-recorder/screen-recorder-scripts.lua similarity index 100% rename from awesome/widget/screen-recorder/screen-recorder-scripts.lua rename to awes2/widget/screen-recorder/screen-recorder-scripts.lua diff --git a/awesome/widget/screen-recorder/screen-recorder-ui-backend.lua b/awes2/widget/screen-recorder/screen-recorder-ui-backend.lua similarity index 100% rename from awesome/widget/screen-recorder/screen-recorder-ui-backend.lua rename to awes2/widget/screen-recorder/screen-recorder-ui-backend.lua diff --git a/awesome/widget/screen-recorder/screen-recorder-ui.lua b/awes2/widget/screen-recorder/screen-recorder-ui.lua similarity index 100% rename from awesome/widget/screen-recorder/screen-recorder-ui.lua rename to awes2/widget/screen-recorder/screen-recorder-ui.lua diff --git a/awesome/widget/search-apps/icons/app-launcher.svg b/awes2/widget/search-apps/icons/app-launcher.svg similarity index 100% rename from awesome/widget/search-apps/icons/app-launcher.svg rename to awes2/widget/search-apps/icons/app-launcher.svg diff --git a/awesome/widget/search-apps/init.lua b/awes2/widget/search-apps/init.lua similarity index 100% rename from awesome/widget/search-apps/init.lua rename to awes2/widget/search-apps/init.lua diff --git a/awesome/widget/social-media/icons/facebook.svg b/awes2/widget/social-media/icons/facebook.svg similarity index 100% rename from awesome/widget/social-media/icons/facebook.svg rename to awes2/widget/social-media/icons/facebook.svg diff --git a/awesome/widget/social-media/icons/instagram.svg b/awes2/widget/social-media/icons/instagram.svg similarity index 100% rename from awesome/widget/social-media/icons/instagram.svg rename to awes2/widget/social-media/icons/instagram.svg diff --git a/awesome/widget/social-media/icons/reddit.svg b/awes2/widget/social-media/icons/reddit.svg similarity index 100% rename from awesome/widget/social-media/icons/reddit.svg rename to awes2/widget/social-media/icons/reddit.svg diff --git a/awesome/widget/social-media/icons/twitter.svg b/awes2/widget/social-media/icons/twitter.svg similarity index 100% rename from awesome/widget/social-media/icons/twitter.svg rename to awes2/widget/social-media/icons/twitter.svg diff --git a/awesome/widget/social-media/init.lua b/awes2/widget/social-media/init.lua similarity index 100% rename from awesome/widget/social-media/init.lua rename to awes2/widget/social-media/init.lua diff --git a/awesome/widget/tag-list.lua b/awes2/widget/tag-list.lua similarity index 100% rename from awesome/widget/tag-list.lua rename to awes2/widget/tag-list.lua diff --git a/awesome/widget/task-list.lua b/awes2/widget/task-list.lua similarity index 100% rename from awesome/widget/task-list.lua rename to awes2/widget/task-list.lua diff --git a/awesome/widget/temperature/temperature-meter.lua b/awes2/widget/temperature/temperature-meter.lua similarity index 100% rename from awesome/widget/temperature/temperature-meter.lua rename to awes2/widget/temperature/temperature-meter.lua diff --git a/awesome/widget/tray-toggler/icons/left-arrow.svg b/awes2/widget/tray-toggler/icons/left-arrow.svg similarity index 100% rename from awesome/widget/tray-toggler/icons/left-arrow.svg rename to awes2/widget/tray-toggler/icons/left-arrow.svg diff --git a/awesome/widget/tray-toggler/icons/right-arrow.svg b/awes2/widget/tray-toggler/icons/right-arrow.svg similarity index 100% rename from awesome/widget/tray-toggler/icons/right-arrow.svg rename to awes2/widget/tray-toggler/icons/right-arrow.svg diff --git a/awesome/widget/tray-toggler/init.lua b/awes2/widget/tray-toggler/init.lua similarity index 100% rename from awesome/widget/tray-toggler/init.lua rename to awes2/widget/tray-toggler/init.lua diff --git a/awesome/widget/user-profile/init.lua b/awes2/widget/user-profile/init.lua similarity index 100% rename from awesome/widget/user-profile/init.lua rename to awes2/widget/user-profile/init.lua diff --git a/awesome/widget/volume/init.lua b/awes2/widget/volume/init.lua similarity index 100% rename from awesome/widget/volume/init.lua rename to awes2/widget/volume/init.lua diff --git a/awesome/widget/volume/volume-slider.lua b/awes2/widget/volume/volume-slider.lua similarity index 100% rename from awesome/widget/volume/volume-slider.lua rename to awes2/widget/volume/volume-slider.lua diff --git a/awesome/widget/weather/icons/d_rain.svg b/awes2/widget/weather/icons/d_rain.svg similarity index 100% rename from awesome/widget/weather/icons/d_rain.svg rename to awes2/widget/weather/icons/d_rain.svg diff --git a/awesome/widget/weather/icons/dbroken_clouds.svg b/awes2/widget/weather/icons/dbroken_clouds.svg similarity index 100% rename from awesome/widget/weather/icons/dbroken_clouds.svg rename to awes2/widget/weather/icons/dbroken_clouds.svg diff --git a/awesome/widget/weather/icons/dfew_clouds.svg b/awes2/widget/weather/icons/dfew_clouds.svg similarity index 100% rename from awesome/widget/weather/icons/dfew_clouds.svg rename to awes2/widget/weather/icons/dfew_clouds.svg diff --git a/awesome/widget/weather/icons/dmist.svg b/awes2/widget/weather/icons/dmist.svg similarity index 100% rename from awesome/widget/weather/icons/dmist.svg rename to awes2/widget/weather/icons/dmist.svg diff --git a/awesome/widget/weather/icons/dscattered_clouds.svg b/awes2/widget/weather/icons/dscattered_clouds.svg similarity index 100% rename from awesome/widget/weather/icons/dscattered_clouds.svg rename to awes2/widget/weather/icons/dscattered_clouds.svg diff --git a/awesome/widget/weather/icons/dshower_rain.svg b/awes2/widget/weather/icons/dshower_rain.svg similarity index 100% rename from awesome/widget/weather/icons/dshower_rain.svg rename to awes2/widget/weather/icons/dshower_rain.svg diff --git a/awesome/widget/weather/icons/dthunderstorm.svg b/awes2/widget/weather/icons/dthunderstorm.svg similarity index 100% rename from awesome/widget/weather/icons/dthunderstorm.svg rename to awes2/widget/weather/icons/dthunderstorm.svg diff --git a/awesome/widget/weather/icons/moon_icon.svg b/awes2/widget/weather/icons/moon_icon.svg similarity index 100% rename from awesome/widget/weather/icons/moon_icon.svg rename to awes2/widget/weather/icons/moon_icon.svg diff --git a/awesome/widget/weather/icons/n_rain.svg b/awes2/widget/weather/icons/n_rain.svg similarity index 100% rename from awesome/widget/weather/icons/n_rain.svg rename to awes2/widget/weather/icons/n_rain.svg diff --git a/awesome/widget/weather/icons/nbroken_clouds.svg b/awes2/widget/weather/icons/nbroken_clouds.svg similarity index 100% rename from awesome/widget/weather/icons/nbroken_clouds.svg rename to awes2/widget/weather/icons/nbroken_clouds.svg diff --git a/awesome/widget/weather/icons/nfew_clouds.svg b/awes2/widget/weather/icons/nfew_clouds.svg similarity index 100% rename from awesome/widget/weather/icons/nfew_clouds.svg rename to awes2/widget/weather/icons/nfew_clouds.svg diff --git a/awesome/widget/weather/icons/nmist.svg b/awes2/widget/weather/icons/nmist.svg similarity index 100% rename from awesome/widget/weather/icons/nmist.svg rename to awes2/widget/weather/icons/nmist.svg diff --git a/awesome/widget/weather/icons/nscattered_clouds.svg b/awes2/widget/weather/icons/nscattered_clouds.svg similarity index 100% rename from awesome/widget/weather/icons/nscattered_clouds.svg rename to awes2/widget/weather/icons/nscattered_clouds.svg diff --git a/awesome/widget/weather/icons/nshower_rain.svg b/awes2/widget/weather/icons/nshower_rain.svg similarity index 100% rename from awesome/widget/weather/icons/nshower_rain.svg rename to awes2/widget/weather/icons/nshower_rain.svg diff --git a/awesome/widget/weather/icons/nthunderstorm.svg b/awes2/widget/weather/icons/nthunderstorm.svg similarity index 100% rename from awesome/widget/weather/icons/nthunderstorm.svg rename to awes2/widget/weather/icons/nthunderstorm.svg diff --git a/awesome/widget/weather/icons/refresh.svg b/awes2/widget/weather/icons/refresh.svg similarity index 100% rename from awesome/widget/weather/icons/refresh.svg rename to awes2/widget/weather/icons/refresh.svg diff --git a/awesome/widget/weather/icons/snow.svg b/awes2/widget/weather/icons/snow.svg similarity index 100% rename from awesome/widget/weather/icons/snow.svg rename to awes2/widget/weather/icons/snow.svg diff --git a/awesome/widget/weather/icons/sun_icon.svg b/awes2/widget/weather/icons/sun_icon.svg similarity index 100% rename from awesome/widget/weather/icons/sun_icon.svg rename to awes2/widget/weather/icons/sun_icon.svg diff --git a/awesome/widget/weather/icons/sunrise.svg b/awes2/widget/weather/icons/sunrise.svg similarity index 100% rename from awesome/widget/weather/icons/sunrise.svg rename to awes2/widget/weather/icons/sunrise.svg diff --git a/awesome/widget/weather/icons/sunset.svg b/awes2/widget/weather/icons/sunset.svg similarity index 100% rename from awesome/widget/weather/icons/sunset.svg rename to awes2/widget/weather/icons/sunset.svg diff --git a/awesome/widget/weather/icons/weather-error.svg b/awes2/widget/weather/icons/weather-error.svg similarity index 100% rename from awesome/widget/weather/icons/weather-error.svg rename to awes2/widget/weather/icons/weather-error.svg diff --git a/awesome/widget/weather/init.lua b/awes2/widget/weather/init.lua similarity index 100% rename from awesome/widget/weather/init.lua rename to awes2/widget/weather/init.lua diff --git a/awesome/widget/window-effects/blur-strength-slider.lua b/awes2/widget/window-effects/blur-strength-slider.lua similarity index 100% rename from awesome/widget/window-effects/blur-strength-slider.lua rename to awes2/widget/window-effects/blur-strength-slider.lua diff --git a/awesome/widget/window-effects/blur-toggle.lua b/awes2/widget/window-effects/blur-toggle.lua similarity index 100% rename from awesome/widget/window-effects/blur-toggle.lua rename to awes2/widget/window-effects/blur-toggle.lua diff --git a/awesome/widget/window-effects/clickable-container.lua b/awes2/widget/window-effects/clickable-container.lua similarity index 100% rename from awesome/widget/window-effects/clickable-container.lua rename to awes2/widget/window-effects/clickable-container.lua diff --git a/awesome/widget/xdg-folders/documents.lua b/awes2/widget/xdg-folders/documents.lua similarity index 100% rename from awesome/widget/xdg-folders/documents.lua rename to awes2/widget/xdg-folders/documents.lua diff --git a/awesome/widget/xdg-folders/downloads.lua b/awes2/widget/xdg-folders/downloads.lua similarity index 100% rename from awesome/widget/xdg-folders/downloads.lua rename to awes2/widget/xdg-folders/downloads.lua diff --git a/awesome/widget/xdg-folders/home.lua b/awes2/widget/xdg-folders/home.lua similarity index 100% rename from awesome/widget/xdg-folders/home.lua rename to awes2/widget/xdg-folders/home.lua diff --git a/awesome/widget/xdg-folders/icons/folder-documents.svg b/awes2/widget/xdg-folders/icons/folder-documents.svg similarity index 100% rename from awesome/widget/xdg-folders/icons/folder-documents.svg rename to awes2/widget/xdg-folders/icons/folder-documents.svg diff --git a/awesome/widget/xdg-folders/icons/folder-download.svg b/awes2/widget/xdg-folders/icons/folder-download.svg similarity index 100% rename from awesome/widget/xdg-folders/icons/folder-download.svg rename to awes2/widget/xdg-folders/icons/folder-download.svg diff --git a/awesome/widget/xdg-folders/icons/folder-pictures.svg b/awes2/widget/xdg-folders/icons/folder-pictures.svg similarity index 100% rename from awesome/widget/xdg-folders/icons/folder-pictures.svg rename to awes2/widget/xdg-folders/icons/folder-pictures.svg diff --git a/awesome/widget/xdg-folders/icons/folder-videos.svg b/awes2/widget/xdg-folders/icons/folder-videos.svg similarity index 100% rename from awesome/widget/xdg-folders/icons/folder-videos.svg rename to awes2/widget/xdg-folders/icons/folder-videos.svg diff --git a/awesome/widget/xdg-folders/icons/no.svg b/awes2/widget/xdg-folders/icons/no.svg similarity index 100% rename from awesome/widget/xdg-folders/icons/no.svg rename to awes2/widget/xdg-folders/icons/no.svg diff --git a/awesome/widget/xdg-folders/icons/open-folder.svg b/awes2/widget/xdg-folders/icons/open-folder.svg similarity index 100% rename from awesome/widget/xdg-folders/icons/open-folder.svg rename to awes2/widget/xdg-folders/icons/open-folder.svg diff --git a/awesome/widget/xdg-folders/icons/user-home.svg b/awes2/widget/xdg-folders/icons/user-home.svg similarity index 100% rename from awesome/widget/xdg-folders/icons/user-home.svg rename to awes2/widget/xdg-folders/icons/user-home.svg diff --git a/awesome/widget/xdg-folders/icons/user-trash-empty.svg b/awes2/widget/xdg-folders/icons/user-trash-empty.svg similarity index 100% rename from awesome/widget/xdg-folders/icons/user-trash-empty.svg rename to awes2/widget/xdg-folders/icons/user-trash-empty.svg diff --git a/awesome/widget/xdg-folders/icons/user-trash-full.svg b/awes2/widget/xdg-folders/icons/user-trash-full.svg similarity index 100% rename from awesome/widget/xdg-folders/icons/user-trash-full.svg rename to awes2/widget/xdg-folders/icons/user-trash-full.svg diff --git a/awesome/widget/xdg-folders/icons/yes.svg b/awes2/widget/xdg-folders/icons/yes.svg similarity index 100% rename from awesome/widget/xdg-folders/icons/yes.svg rename to awes2/widget/xdg-folders/icons/yes.svg diff --git a/awesome/widget/xdg-folders/init.lua b/awes2/widget/xdg-folders/init.lua similarity index 100% rename from awesome/widget/xdg-folders/init.lua rename to awes2/widget/xdg-folders/init.lua diff --git a/awesome/widget/xdg-folders/pictures.lua b/awes2/widget/xdg-folders/pictures.lua similarity index 100% rename from awesome/widget/xdg-folders/pictures.lua rename to awes2/widget/xdg-folders/pictures.lua diff --git a/awesome/widget/xdg-folders/trash.lua b/awes2/widget/xdg-folders/trash.lua similarity index 100% rename from awesome/widget/xdg-folders/trash.lua rename to awes2/widget/xdg-folders/trash.lua diff --git a/awesome/widget/xdg-folders/videos.lua b/awes2/widget/xdg-folders/videos.lua similarity index 100% rename from awesome/widget/xdg-folders/videos.lua rename to awes2/widget/xdg-folders/videos.lua diff --git a/awesome/awesome-wm-widgets b/awesome/awesome-wm-widgets deleted file mode 160000 index 4204fa8..0000000 --- a/awesome/awesome-wm-widgets +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 4204fa824181a90c09c4306481a7fa2538bcce52 diff --git a/awesome/bar.fnl b/awesome/bar.fnl index 9860f2a..ebdfaef 100644 --- a/awesome/bar.fnl +++ b/awesome/bar.fnl @@ -1,19 +1,121 @@ (local awful (require "awful")) +(local gears (require "gears")) (local beautiful (require "beautiful")) -(local wibox (require "wibox")) -(local dpi xresources.apply_dpi) +(local menubar (require "menubar")) +(local bar (fn [s] -(awful.screen.connect_for_each_screen(fn screen_bar [s] - "Adding a bar for each screen" - (awful.tag([ "◉", "◉", "◉", "◉"] s awful.layout.layouts[1])) + ;; Wallpaper + (set_wallpaper s) - (let [yoffset (dpi 45)]) - (let [xoffset (dpi 18)]) - (let [mypanel (wibox - [ - (let x (+ s.geometry.x xoffset)) - (let y (- s.geometry.height yoffset)) - (let height (dpi 30)) - ])]) - )) + ;; Each screen has its own tag table. + (awful.tag [ "1" "2" "3" "4" ] s (. awful.layout.layouts 1)) + + ;; Create a promptbox for each screen + (set s.mypromptbox (awful.widget.prompt)) + ;; Create an imagebox widget which will contain an icon indicating which layout we're using. + ;; We need one layoutbox per screen. + (set s.mylayoutbox (awful.widget.layoutbox s)) + (: s.mylayoutbox :buttons (gears.table.join + (awful.button [] 1 (fn [] (awful.layout.inc 1 s awful.layout.layouts))) + (awful.button [] 3 (fn [] (awful.layout.inc -1 s))) + (awful.button [] 4 (fn [] (awful.layout.inc 1 s))) + (awful.button [] 5 (fn [] (awful.layout.inc -1 s))))) + ;; Create a taglist widget + (set s.mytaglist (awful.widget.taglist { + :screen s + :filter awful.widget.taglist.filter.all + :buttons taglist_buttons + })) + + ;; Create a tasklist widget + (set s.mytasklist (awful.widget.tasklist { + :screen s + :filter awful.widget.tasklist.filter.currenttags + :buttons tasklist_buttons + })) + + (set s.mytextclock + (wibox.widget (/< + :layout wibox.layout.fixed.horizontal + (/< + :format " %a %b %d, %l:%M %p " + :widget wibox.widget.textclock) + ))) + + ;; Create the wibox + (set s.mywibox (awful.wibar { :position "bottom" :screen s })) + + ;; Add widgets to the wibox + (: s.mywibox :setup { + :layout wibox.layout.align.horizontal + 1 { ;; Left widgets + :layout wibox.layout.fixed.horizontal + 2 s.mytaglist + 3 s.mypromptbox + } + 2 s.mytasklist ;; Middle widget + 3 { ;; Right widgets + :layout wibox.layout.fixed.horizontal + 2 (wibox.widget.systray) + 3 s.mytextclock + 4 s.mylayoutbox + } + }) + )) + +;; Menu +;; Create a launcher widget and a main menu +(local myawesomemenu [ + [ "hotkeys" (fn [] (hotkeys_popup.show_help nil (awful.screen.focused))) ] + [ "manual" (.. terminal " -e man awesome") ] + [ "edit config" (.. editor_cmd " " awesome.conffile) ] + [ "restart" awesome.restart ] + [ "quit" (fn [] (awesome.quit)) ]]) + +(local mymainmenu (awful.menu {:items [ + [ "awesome" myawesomemenu beautiful.awesome_icon ] + [ "open terminal" terminal ]]})) + +(local mylauncher (awful.widget.launcher {:image beautiful.awesome_icon + :menu mymainmenu })) + +;; Keyboard map indicator and switcher +(local mykeyboardlayout (awful.widget.keyboardlayout)) + +;; Create a wibox for each screen and add it +(local taglist_buttons + (gears.table.join + (awful.button [] 1 (fn [t] (: t :view_only))) + (awful.button [ modkey ] 1 (fn [t] (when client.focus (: client.focus :move_to_tag t)))) + (awful.button [] 3 awful.tag.viewtoggle) + (awful.button [ modkey ] 3 (fn [t] (when client.focus (: client.focus :toggle_tag t)))) + (awful.button [] 4 (fn [t] (awful.tag.viewnext t.screen))) + (awful.button [] 5 (fn [t] (awful.tag.viewprev t.screen))))) + +(local tasklist_buttons + (gears.table.join + (awful.button [] 1 (fn [c] + (if (= c client.focus) + (set c.minimized true) + (: c :emit_signal + "request::activate" + "tasklist" + {:raise true} + )))) + (awful.button [] 3 (fn [] (awful.menu.client_list {:theme {:width 250 }}))) + (awful.button [] 4 (fn [] (awful.client.focus.byidx 1))) + (awful.button [] 5 (fn [] (awful.client.focus.byidx -1))))) + +;; (fn set_wallpaper [s] +;; ;; Wallpaper +;; (when beautiful.wallpaper +;; (var wallpaper beautiful.wallpaper) +;; ;; If wallpaper is a function, call it with the screen +;; (when (= (type wallpaper) "function") +;; (set wallpaper (wallpaper s))) +;; (gears.wallpaper.maximized wallpaper s true))) + +;; ;; Re-set wallpaper when a screen's geometry changes (e.g. different resolution) +;; (screen.connect_signal "property::geometry" set_wallpaper) +bar diff --git a/awesome/evil/battery.lua b/awesome/evil/battery.lua deleted file mode 100644 index 4a8a413..0000000 --- a/awesome/evil/battery.lua +++ /dev/null @@ -1,49 +0,0 @@ --- Provides: --- evil::battery --- percentage (integer) --- evil::charger --- plugged (boolean) - -local awful = require("awful") - -local update_interval = 60 - -local battery_script = [[ - sh -c " - upower -i $(upower -e | grep BAT) | grep percentage | awk '{print $2}' - " -]] - --- Subscribe to power supply status changes with acpi_listen -local charger_script = [[ - sh -c ' - acpi_listen | grep --line-buffered ac_adapter - ' -]] - --- Periodically get battery info -awful.widget.watch(battery_script, update_interval, function(widget, stdout) - local battery = stdout:gsub("%%", "") - awesome.emit_signal("evil::battery", tonumber(battery)) -end) - -local emit_charger_info = function() - awful.spawn.easy_async_with_shell("cat /sys/class/power_supply/*/online", function (out) - local status = tonumber(out) == 1 - awesome.emit_signal("evil::charger", status) - end) -end - --- Run once to initialize widgets -emit_charger_info() - --- Kill old acpi_listen process -awful.spawn.easy_async_with_shell("ps x | grep \"acpi_listen\" | grep -v grep | awk '{print $1}' | xargs kill", function () - -- Update charger status with each line printed - awful.spawn.with_line_callback(charger_script, { - stdout = function(_) - emit_charger_info() - end - }) -end) - diff --git a/awesome/fennelview.fnl b/awesome/fennelview.fnl new file mode 100644 index 0000000..1cb4598 --- /dev/null +++ b/awesome/fennelview.fnl @@ -0,0 +1,156 @@ +;; A pretty-printer that outputs tables in Fennel syntax. +;; Loosely based on inspect.lua: http://github.com/kikito/inspect.lua + +(local view-quote (fn [str] (.. '"' (: str :gsub '"' '\\"') '"'))) + +(local short-control-char-escapes + {"\a" "\\a" "\b" "\\b" "\f" "\\f" "\n" "\\n" + "\r" "\\r" "\t" "\\t" "\v" "\\v"}) + +(local long-control-char-esapes + (let [long {}] + (for [i 0 31] + (let [ch (string.char i)] + (when (not (. short-control-char-escapes ch)) + (tset short-control-char-escapes ch (.. "\\" i)) + (tset long ch (: "\\%03d" :format i))))) + long)) + +(fn escape [str] + (let [str (: str :gsub "\\" "\\\\") + str (: str :gsub "(%c)%f[0-9]" long-control-char-esapes)] + (: str :gsub "%c" short-control-char-escapes))) + +(fn sequence-key? [k len] + (and (= (type k) "number") + (<= 1 k) + (<= k len) + (= (math.floor k) k))) + +(local type-order {:number 1 :boolean 2 :string 3 :table 4 + :function 5 :userdata 6 :thread 7}) + +(fn sort-keys [a b] + (let [ta (type a) tb (type b)] + (if (and (= ta tb) (~= ta "boolean") + (or (= ta "string") (= ta "number"))) + (< a b) + (let [dta (. type-order a) + dtb (. type-order b)] + (if (and dta dtb) + (< dta dtb) + dta true + dtb false + :else (< ta tb)))))) + +(fn get-sequence-length [t] + (var len 1) + (each [i (ipairs t)] (set len i)) + len) + +(fn get-nonsequential-keys [t] + (let [keys {} + sequence-length (get-sequence-length t)] + (each [k (pairs t)] + (when (not (sequence-key? k sequence-length)) + (table.insert keys k))) + (table.sort keys sort-keys) + (values keys sequence-length))) + +(fn count-table-appearances [t appearances] + (if (= (type t) "table") + (when (not (. appearances t)) + (tset appearances t 1) + (each [k v (pairs t)] + (count-table-appearances k appearances) + (count-table-appearances v appearances))) + (when (and t (= t t)) ; no nans please + (tset appearances t (+ (or (. appearances t) 0) 1)))) + appearances) + + + +(var put-value nil) ; mutual recursion going on; defined below + +(fn puts [self ...] + (each [_ v (ipairs [...])] + (table.insert self.buffer v))) + +(fn tabify [self] (puts self "\n" (: self.indent :rep self.level))) + +(fn already-visited? [self v] (~= (. self.ids v) nil)) + +(fn get-id [self v] + (var id (. self.ids v)) + (when (not id) + (let [tv (type v)] + (set id (+ (or (. self.max-ids tv) 0) 1)) + (tset self.max-ids tv id) + (tset self.ids v id))) + (tostring id)) + +(fn put-sequential-table [self t length] + (puts self "[") + (set self.level (+ self.level 1)) + (for [i 1 length] + (puts self " ") + (put-value self (. t i))) + (set self.level (- self.level 1)) + (puts self " ]")) + +(fn put-key [self k] + (if (and (= (type k) "string") + (: k :find "^[-%w?\\^_`!#$%&*+./@~:|<=>]+$")) + (puts self ":" k) + (put-value self k))) + +(fn put-kv-table [self t] + (puts self "{") + (set self.level (+ self.level 1)) + (each [k v (pairs t)] + (tabify self) + (put-key self k) + (puts self " ") + (put-value self v)) + (set self.level (- self.level 1)) + (tabify self) + (puts self "}")) + +(fn put-table [self t] + (if (already-visited? self t) + (puts self "#") + (>= self.level self.depth) + (puts self "{...}") + :else + (let [(non-seq-keys length) (get-nonsequential-keys t) + id (get-id self t)] + (if (> (. self.appearances t) 1) + (puts self "#<" id ">") + (and (= (# non-seq-keys) 0) (= (# t) 0)) + (puts self "{}") + (= (# non-seq-keys) 0) + (put-sequential-table self t length) + :else + (put-kv-table self t))))) + +(set put-value (fn [self v] + (let [tv (type v)] + (if (= tv "string") + (puts self (view-quote (escape v))) + (or (= tv "number") (= tv "boolean") (= tv "nil")) + (puts self (tostring v)) + (= tv "table") + (put-table self v) + :else + (puts self "#<" (tostring v) ">"))))) + + + +(fn fennelview [root options] + (let [options (or options {}) + inspector {:appearances (count-table-appearances root {}) + :depth (or options.depth 128) + :level 0 :buffer {} :ids {} :max-ids {} + :indent (or options.indent " ")}] + (put-value inspector root) + (table.concat inspector.buffer))) diff --git a/awesome/globalkeys.fnl b/awesome/globalkeys.fnl deleted file mode 100644 index f321dff..0000000 --- a/awesome/globalkeys.fnl +++ /dev/null @@ -1,24 +0,0 @@ -(local awful (require "awful")) -(local gears (require "gears")) -(local beautiful (require "beautiful")) -(local hotkeys_popup (require "awful.hotkeys_popup")) - -(var mod "Mod4") -(var shift "Shift") -(var ctrl "Control") -(var alt "Mod1'") - -(global globekeys (gears.table.join - (awful.key [mod alt] "m" (awful.spawn "mpv --player-operation-mode=pseudo-gui") - { :description "launch mpv" :group "apps" }) - (awful.key [mod] "s" hotkeys_popup.show_help - { :description "show help" :group "awesome" }))) - -globekeys - - - - - ;; -- mpv - ;; awful.key({ modkey, altkey }, "m", function () awful.spawn("mpv --player-operation-mode=pseudo-gui") end, - ;; {description = "open mpv", group = "apps"}), diff --git a/awesome/init.fnl b/awesome/init.fnl index 5b2d1c7..0170e56 100644 --- a/awesome/init.fnl +++ b/awesome/init.fnl @@ -1,185 +1,400 @@ -(local awful (require "awful")) +;; Standard awesome library (local gears (require "gears")) +(local awful (require "awful")) (require "awful.autofocus") -(local ruled (require "ruled")) -(local rules (require "rules")) -(local beautiful (require "beautiful")) +;; Widget and layout library (local wibox (require "wibox")) +;; Theme handling library +(local beautiful (require "beautiful")) (local xresources (require "beautiful.xresources")) -;; (local naughty (require "naughty")) +;; Notification library +(local naughty (require "naughty")) (local menubar (require "menubar")) +;; Enable hotkeys help widget for VIM and other apps +;; when client with a matching name is opened: (local hotkeys_popup (require "awful.hotkeys_popup")) +(require "awful.hotkeys_popup.keys") (local dpi xresources.apply_dpi) -(local globalkeys (require "globalkeys")) +(local ruled (require "ruled")) -;;; rules -(set awful.rules.rules rules) +;; my splits +(local rules (require "rules")) +(local keybindings (require "keybindings")) -;;; wallpaper -(fn set_wallpaper [s] - ;; Wallpaper - (when beautiful.wallpaper - (var wallpaper beautiful.wallpaper) - ;; If wallpaper is a function, call it with the screen - (when (= (type wallpaper) "function") - (set wallpaper (wallpaper s))) - (gears.wallpaper.maximized wallpaper s true))) +;; (local bar (require "bar")) +;; Error handling +;; Check if awesome encountered an error during startup and fell back to +;; another config (This code will only ever execute for the fallback config) +(when awesome.startup_errors + (naughty.notify {:preset naughty.config.presets.critical + :title "Oops, there were errors during startup!" + :text awesome.startup_errors})) -;; Re-set wallpaper when a screen's geometry changes (e.g. different resolution) -(screen.connect_signal "property::geometry" set_wallpaper) +;; Handle runtime errors after startup +(do + (var in_error false) + (awesome.connect_signal "debug::error" (fn [err] + ;; Make sure we don't go into an endless error loop + (when (not in_error) + (set in_error true) + (naughty.notify {:preset naughty.config.presets.critical + :title "Oops, an error happened!" + :text (tostring err)}) + (set in_error false))))) -(local mykeyboardlayout (awful.widget.keyboardlayout)) -(local mytextclock (wibox.widget.textclock " %a %b %d, %l:%M %p ")) +;; Variable definitions +;; Themes define colours, icons, font and wallpapers. +(beautiful.init "/home/chris/.config/awesome/theme.lua") +;; This is used later as the default terminal and editor to run. +(var terminal "alacritty") +(var editor (or (os.getenv "EDITOR") "emacsclient")) +(var editor_cmd (.. terminal " -e " editor)) + +;; Default modkey. +;; Usually, Mod4 is the key with a logo between Control and Alt. +;; If you do not like this or do not have such a key, +;; I suggest you to remap Mod4 to another key using xmodmap or other tools. +;; However, you can use another modifier like Mod1, but it may interact with others. +(var modkey "Mod4") +(local shift "Shift") +(local ctrl "Control") +(local alt "Mod1") + +;; Table of layouts to cover with awful.layout.inc, order matters. +(set awful.layout.layouts [ + awful.layout.suit.tile + awful.layout.suit.floating + ;; awful.layout.suit.tile.left + ;; awful.layout.suit.tile.bottom + ;; awful.layout.suit.tile.top + awful.layout.suit.fair + ;; awful.layout.suit.fair.horizontal + awful.layout.suit.spiral + ;; awful.layout.suit.spiral.dwindle + awful.layout.suit.max + ;; awful.layout.suit.max.fullscreen + awful.layout.suit.magnifier + awful.layout.suit.corner.nw + ;; awful.layout.suit.corner.ne + ;; awful.layout.suit.corner.sw + ;; awful.layout.suit.corner.se + ]) + +;; Menu +;; Create a launcher widget and a main menu +(global myawesomemenu [ + [ "hotkeys" (fn [] (hotkeys_popup.show_help nil (awful.screen.focused))) ] + [ "manual" (.. terminal " -e man awesome") ] + [ "edit config" (.. editor_cmd " " awesome.conffile) ] + [ "restart" awesome.restart ] + [ "quit" (fn [] (awesome.quit)) ]]) + +(global mymainmenu (awful.menu {:items [ + [ "awesome" myawesomemenu beautiful.awesome_icon ] + [ "open terminal" terminal ]]})) + +(global mylauncher (awful.widget.launcher {:image beautiful.awesome_icon + :menu mymainmenu })) + +;; Menubar configuration +(set menubar.utils.terminal terminal) ;; Set the terminal for applications that require it + +;; Keyboard map indicator and switcher +(global mykeyboardlayout (awful.widget.keyboardlayout)) + +;; Wibar +;; Create a textclock widget +(global mytextclock (wibox.widget.textclock)) + +;; Create a wibox for each screen and add it +(local taglist_buttons + (gears.table.join + (awful.button [] 1 (fn [t] (: t :view_only))) + (awful.button [ modkey ] 1 (fn [t] (when client.focus (: client.focus :move_to_tag t)))) + (awful.button [] 3 awful.tag.viewtoggle) + (awful.button [ modkey ] 3 (fn [t] (when client.focus (: client.focus :toggle_tag t)))) + (awful.button [] 4 (fn [t] (awful.tag.viewnext t.screen))) + (awful.button [] 5 (fn [t] (awful.tag.viewprev t.screen))))) + +(local tasklist_buttons + (gears.table.join + (awful.button [] 1 (fn [c] + (if (= c client.focus) + (set c.minimized true) + (: c :emit_signal + "request::activate" + "tasklist" + {:raise true} + )))) + (awful.button [] 3 (fn [] (awful.menu.client_list {:theme {:width 250 }}))) + (awful.button [] 4 (fn [] (awful.client.focus.byidx 1))) + (awful.button [] 5 (fn [] (awful.client.focus.byidx -1))))) -;;; panel (awful.screen.connect_for_each_screen (fn [s] - ;; Wallpaper - (set_wallpaper s) - ;; Each screen has its own tag table. - (awful.tag [ "" "" "" "" ] s (. awful.layout.layouts 1)) + ;; Each screen has its own tag table. + (awful.tag [ "1" "2" "3" "4" "5" "6" "7" "8" "9" ] s (. awful.layout.layouts 1)) - ;; Create a promptbox for each screen - (set s.mypromptbox (awful.widget.prompt)) - ;; Create an imagebox widget which will contain an icon indicating which layout we're using. - ;; We need one layoutbox per screen. - (set s.mylayoutbox (awful.widget.layoutbox s)) - (: s.mylayoutbox :buttons (gears.table.join + ;; Create a promptbox for each screen + (set s.mypromptbox (awful.widget.prompt)) + ;; Create an imagebox widget which will contain an icon indicating which layout we're using. + ;; We need one layoutbox per screen. + (set s.mylayoutbox (awful.widget.layoutbox s)) + (: s.mylayoutbox :buttons (gears.table.join (awful.button [] 1 (fn [] (awful.layout.inc 1 s awful.layout.layouts))) (awful.button [] 3 (fn [] (awful.layout.inc -1 s))) (awful.button [] 4 (fn [] (awful.layout.inc 1 s))) (awful.button [] 5 (fn [] (awful.layout.inc -1 s))))) + ;; Create a taglist widget + (set s.mytaglist (awful.widget.taglist { + :screen s + :filter awful.widget.taglist.filter.all + :buttons taglist_buttons + })) - ;; create a systray widget - (set s.mysystray { - 1 (wibox.widget.systray) - :widget wibox.container.background - }) - ;; Create a taglist widget - (set s.mytaglist (awful.widget.taglist { + ;; Create a tasklist widget + (set s.mytasklist (awful.widget.tasklist { :screen s - :filter awful.widget.taglist.filter.all - :buttons taglist_buttons + :filter awful.widget.tasklist.filter.focused + :buttons tasklist_buttons + :style { + :border_width 0 + :shape gears.shape.rounded_bar + :bg_focus beautiful.bg_normal + } + :layout { + :spacing 20 + :spacing_widget { + 1 { + :forced_width 5 + :forced_height (dpi 20) + :widget wibox.widget.separator + } + :valign "center" + :halign "center" + :widget wibox.container.place + } + :layout wibox.layout.flex.horizontal + } + :widget_template { + 1 { + 1 { + 1 { + 1 { + :id "icon_role" + :widget wibox.widget.imagebox + } + :margins 2 + :widget wibox.container.margin + } + 2 { + :id "text_role" + :widget wibox.widget.textbox + } + :layout wibox.layout.align.horizontal + } + :left 10 + :right 10 + :widget wibox.container.margin + } + :id "background_role" + :widget wibox.container.background + } })) - ;; Create a tasklist widget - (set s.mytasklist (awful.widget.tasklist { - :screen s - :filter awful.widget.tasklist.filter.currenttags - :buttons tasklist_buttons - :style { - :border_width 0 - :border_color "#777777" - :shape gears.shape.rounded_bar - } - :layout { - :spacing 20 - :spacing_widget { - 1 { - :forced_width 5 - :forced_height (dpi 20) - :widget wibox.widget.seperator - } - :valign "center" - :halign "center" - :widget wibox.container.place - } - :layout wibox.layout.flex.horizontal - } - } - :widget_template { - 1 { - 1 { - 1 { - 1 { - :id "icon_role" - :widget wibox.widget.imagebox - } - :margins 2 - :widget wibox.container.margin - } - 2 { - :id "text_role" - :widget wibox.widget.textbox - } - :layout wibox.layout.align.horizontal - } - :left 10 - :right 10 - :widget wibox.container.margin - } - :id "background_role" - :widget wibox.container.background})) + (set s.myminimizedtasklist (awful.widget.tasklist { + :screen s + :filter awful.widget.tasklist.filter.minimizedcurrenttags + :buttons tasklist_buttons + :style { + :border_width 0 + :shape gears.shape.rounded_bar + } + :layout { + :spacing 20 + :spacing_widget { + 1 { + :forced_width 5 + :forced_height (dpi 20) + :widget wibox.widget.separator + } + :valign "center" + :halign "center" + :widget wibox.container.place + } + :layout wibox.layout.flex.horizontal + } + :widget_template { + 1 { + 1 { + 1 { + 1 { + :id "icon_role" + :widget wibox.widget.imagebox + } + :margins 2 + :widget wibox.container.margin + } + 2 { + :id "text_role" + :widget wibox.widget.textbox + } + :layout wibox.layout.align.horizontal + } + :left 10 + :right 10 + :widget wibox.container.margin + } + :id "background_role" + :widget wibox.container.background + } + })) - ;; create battery network and volume widgets - (set s.battery (require widget.battery)) - (set s.volume (require widget.volume)) - (set s.updater (require widget.package-updater)) + (set s.mytextclock (wibox.widget { + :layout wibox.layout.fixed.horizontal + 1 { + :format " %a %b %d, %l:%M %p " + :widget wibox.widget.textclock}})) + + (set s.myemptywidget (wibox.widget { ;; an empty widget for spacing things out + :text "" + :align "" + :valign "" + :widget wibox.widget.textbox})) - ;; create right widgets (set s.myrightwidgets { 1 { :layout wibox.layout.fixed.horizontal - 1 s.volume - 2 s.mysystray - 3 s.updater - 4 s.battery - 5 (wibox.container.margin (s.mylayoutbox 0 (dpi 25) 0 0)) + 1 wibox.widget.systray + 2 s.mylayoutbox } - :widget wibox.container.background}) + :widget wibox.container.background + }) - ;; empty widget to use for spacing - (set s.myemptywidget (wibox.widget { - :markup "" - :align "" - :valign "" - :widget wibox.widget.textbox - })) - - (local yoffset (dpi 45)) + (local yoffset (dpi 45)) ;; variables to be used for placing the wibox (local xoffset (dpi 18)) - (set s.mypanel (wibox.wibox { - :x (+ s.geometry.x xoffset) - :y (- s.geometry.height yoffset) - :height (dpi 30) - :width (- s.geometry.width (* xoffset 2)) - :ontop false - :stretch false - :type "dock" - :shape gears.shape.rounded_bar - :bg beautiful.bg_normal - :fg beautiful.fg_normal - :opacity 0.65 - })) - (: s.mypanel :struts { - :bottom (dpi 40) - }) - (: s.mypanel :setup { - :layout wibox.layout.align.horizontal - :expand "outside" - 1 { - :layout wibox.layout.align.horizontal - 1 (wibox.container.margin (s.mytaglist (dpi 15) 0 (dpi -3) 0)) - 2 (wibox.container.margin (s.mytasklist (dpi 25) (dpi 25) 0 0)) - 3 s.myemptywidget - :spacing (dpi 15) - } - 2 mytextclock - 3 { - :layout wibox.layout.align.horizontal - 1 s.myemptywidget - 2 (wibox.container.margin (s.mypromptbox (dpi 25) (dpi 25) 0 0)) - 3 s.myrightwidgets - } - :visible true - }) + ;; Create the wibox + (set s.mywibox (wibox {;; since we are using a wibox we have a lot we need to set + ;; as opposed to what we normally need to do with a wibar + :position "bottom" + :x (+ s.geometry.x xoffset) + :y (- s.geometry.height yoffset) + :height (dpi 30) + :width (- s.geometry.width (* xoffset 2)) + :ontop false + :stretch false + :type "dock" + :shape gears.shape.rounded_bar + :bg beautiful.bg_normal + :fg beautiful.fg_normal + :opacity 0.65 + :screen s })) + + (: s.mywibox :struts { :bottom (dpi 45) }) + + ;; Add widgets to the wibox + (: s.mywibox :setup { + :layout wibox.layout.align.horizontal + :expand "outside" + 1 { ;; Left widgets + 1 { + :layout wibox.layout.fixed.horizontal + 1 s.mytaglist + 2 s.mypromptbox + 3 s.mytasklist ;; Middle widget + } + :left 10 + :right 10 + :widget wibox.container.margin + } + 2 s.mytextclock + 3 { ;; Right widgets + 1 { + :layout wibox.layout.align.horizontal + 1 s.myemptywidget + 2 s.myminimizedtasklist + 3 s.myrightwidgets + } + :left 10 + :right 10 + :widget wibox.container.margin + } + }) + + (set s.mywibox.visible true) ;; this is needed to ensure the raw wibox is shown. Wibar normally does this )) -(root.keys globalkeys) -;;; autostart applications +;; Mouse bindings +(root.buttons (gears.table.join + (awful.button [ ] 3 (fn [] (: mymainmenu :toggle))) + (awful.button [ ] 4 awful.tag.viewnext) + (awful.button [ ] 5 awful.tag.viewprev))) + +(client.connect_signal "request::default_keybindings" + (fn [] + (awful.keyboard.append_client_keybindings [ + (awful.key [modkey] "c" (fn [c] (: c :kill)) + {:description "close" :group "client"}) + (awful.key [ modkey ] "f" (fn [c] (set c.fullscreen (not c.fullscreen)) (: c :raise)) + {:description "toggle fullscreen" :group "client"}) + (awful.key [ modkey ctrl ] "space" awful.client.floating.toggle + {:description "toggle floating" :group "client"}) + (awful.key [ modkey ctrl ] "Return" (fn [c] (: c :swap (awful.client.getmaster))) + {:description "move to master" :group "client"}) + (awful.key [ modkey ] "o" (fn [c] (: c :move_to_screen)) + {:description "move to screen" :group "client"}) + (awful.key [ modkey ] "t" (fn [c] (set c.ontop (not c.ontop))) + {:description "toggle keep on top" :group "client"}) + (awful.key [ modkey ] "n" (fn [c] + ;; The client currently has the input focus, so it cannot be + ;; minimized, since minimized clients can't have the focus. + (set c.minimized true)) + {:description "minimize" :group "client"}) + (awful.key [ modkey ] "m" (fn [c] (set c.maximized (not c.maximized)) (: c :raise)) + {:description "(un)maximize" :group "client"}) + (awful.key [ modkey ctrl ] "m" (fn [c] (set c.maximized_vertical (not c.maximized_vertical)) (: c :raise)) + {:description "(un)maximize vertically" :group "client"}) + (awful.key [modkey shift ] "m" (fn [c] (set c.maximized_horizontal (not c.maximized_horizontal)) (: c :raise)) + {:description "(un)maximize horizontally" :group "client"})] + + ))) + +(client.connect_signal "request::default_mousebindings" + (fn [] + (awful.mouse.append_client_mousebindings [ + (awful.button [] 1 (fn [c] (: c :activate {:context "mouse_click"}))) + (awful.button [modkey] 1 (fn [c] (: c :activate {:context "mouse_click" :action "mouse_move"}))) + (awful.button [modkey] 3 (fn [c] (: c :activate {:context "mouse_click" :action "mouse_resize"}))) + ]))) + +;; Set keys +(root.keys keybindings.globalkeys) + +;; Rules +(set awful.rules.rules rules) + +;; Signals +;; Signal function to execute when a new client appears. +(client.connect_signal + "manage" + (fn [c] + ;; Set the windows at the slave, + ;; i.e. put it at the end of others instead of setting it master. + ;; (when (not awesome.startup) (awful.client.setslave c)) + + (when (and awesome.startup + (not c.size_hints.user_position) + (not c.size_hints.program_position)) + ;; Prevent clients from being unreachable after screen count changes. + (awful.placement.no_offscreen c)))) + + +(client.connect_signal "focus" (fn [c] (set c.border_color beautiful.border_focus))) +(client.connect_signal "unfocus" (fn [c] (set c.border_color beautiful.border_normal))) + (awful.spawn.with_shell "picom --experimental-backend") (awful.spawn.with_shell "xset r rate 220 90") (awful.spawn.with_shell "/usr/lib/polkit-kde-authentication-agent-1") @@ -187,5 +402,5 @@ (awful.spawn.with_shell "flameshot") (awful.spawn.with_shell "caffeine") (awful.spawn.with_shell "nextcloud --background") -(awful.spawn.with_shell "emacs -daemon") +(awful.spawn.with_shell "emacs --daemon") (awful.spawn.with_shell "libinput-gestures-setup start") diff --git a/awesome/keybindings.fnl b/awesome/keybindings.fnl new file mode 100644 index 0000000..87a510c --- /dev/null +++ b/awesome/keybindings.fnl @@ -0,0 +1,201 @@ +(local awful (require "awful")) +(local gears (require "gears")) +(local beautiful (require "beautiful")) +(local hotkeys_popup (require "awful.hotkeys_popup")) + + +(local terminal "alacritty") +(local modkey "Mod4") +(local shift "Shift") +(local ctrl "Control") +(local alt "Mod1") + +(local keybindings + { + :globalkeys (gears.table.join + (awful.key [ modkey ] "s" hotkeys_popup.show_help + { :description "show help" :group "awesome"}) + (awful.key [ modkey ] "Left" awful.tag.viewprev + {:description "view previous" :group "tag"}) + (awful.key [ modkey ] "Right" awful.tag.viewnext + {:description "view next" :group "tag"}) + (awful.key [ modkey ] "Escape" awful.tag.history.restore + {:description "go back" :group "tag"}) + (awful.key [ modkey ] "j" (fn [] (awful.client.focus.byidx 1)) + {:description "focus next by index" :group "client"}) + (awful.key [ modkey ] "k" (fn [] (awful.client.focus.byidx -1)) + {:description "focus previous by index" :group "client"}) + + ;; Layout manipulation + (awful.key [ modkey shift ] "j" (fn [] (awful.client.swap.byidx 1)) + {:description "swap with next client by index" :group "client"}) + (awful.key [ modkey shift ] "k" (fn [] (awful.client.swap.byidx -1)) + {:description "swap with previous client by index" :group "client"}) + (awful.key [ modkey ctrl ] "j" (fn [] (awful.screen.focus_relative 1)) + {:description "focus the next screen" :group "screen"}) + (awful.key [ modkey ctrl ] "k" (fn [] (awful.screen.focus_relative -1)) + {:description "focus the previous screen" :group "screen"}) + (awful.key [ modkey ] "u" awful.client.urgent.jumpto + {:description "jump to urgent client" :group "client"}) + (awful.key [ modkey ] "Tab" (fn [] + (awful.client.focus.history.previous) + (when client.focus (: client.focus :raise))) + {:description "go back" :group "client"}) + + ;; Standard program + (awful.key [ modkey ] "Return" (fn [] (awful.spawn terminal)) + {:description "open a terminal" :group "launcher"}) + (awful.key [ modkey ctrl ] "r" awesome.restart + {:description "reload awesome" :group "awesome"}) + (awful.key [ modkey shift ] "q" awesome.quit + {:description "quit awesome" :group "awesome"}) + + ;; layout + (awful.key [ modkey ] "l" (fn [] (awful.tag.incmwfact 0.05)) + {:description "increase master width factor" :group "layout"}) + (awful.key [ modkey ] "h" (fn [] (awful.tag.incmwfact -0.05)) + {:description "decrease master width factor" :group "layout"}) + (awful.key [ modkey shift ] "h" (fn [] (awful.tag.incnmaster 1 nil true)) + {:description "increase the number of master clients" :group "layout"}) + (awful.key [ modkey shift ] "l" (fn [] (awful.tag.incnmaster -1 nil true)) + {:description "decrease the number of master clients" :group "layout"}) + (awful.key [ modkey ctrl ] "h" (fn [] (awful.tag.incncol 1 nil true)) + {:description "increase the number of columns" :group "layout"}) + (awful.key [ modkey ctrl ] "l" (fn [] (awful.tag.incncol -1 nil true)) + {:description "decrease the number of columns" :group "layout"}) + (awful.key [ modkey ] "space" (fn [] (awful.layout.inc 1)) + {:description "select next" :group "layout"}) + (awful.key [ modkey shift ] "space" (fn [] (awful.layout.inc -1)) + {:description "select previous" :group "layout"}) + (awful.key [ modkey ctrl ] "n" (fn [] + (local c (awful.client.restore)) + (when c ;; Focus restored client + (: c :emit_signal "request::activate" "key.unminimize" {:raise true}))) + {:description "restore minimized" :group "client"}) + + ;; Prompt + (awful.key [ modkey ] "r" (fn [] (: (. (awful.screen.focused) :mypromptbox) :run)) + {:description "run prompt" :group "launcher"}) + + (awful.key [ modkey ] "x" (fn [] + (let [fscr (awful.screen.focused)] + (awful.prompt.run { + :prompt "Run Lua code: " + :textbox fscr.mypromptbox.widget + :exe_callback awful.util.eval + :history_path (.. (awful.util.get_cache_dir) "/history_eval") + }))) + {:description "lua execute prompt" :group "awesome"}) + + ;; utilities + (awful.key [] "Print" (fn [] (awful.spawn "flameshot gui")) + {:description "screenshot" :group "utilities"}) + ;; Menubar + ;; (awful.key [ modkey ] "p" (fn [] (menubar.show)) + ;; {:description "show the menubar" :group "launcher"}) + + ;; Programs + (awful.key [ modkey ] "d" (fn [] (awful.spawn "emacsclient -c -e '(dired-jump)'")) + {:description "launch dired in new emacs frame" :group "apps" }) + ;; rofi + (awful.key [] "Menu" (fn [] (awful.spawn "/home/chris/.dotfiles/rofi/launchers-git/launcher.sh")) + {:description "launch rofi" :group "launcher"}) + (awful.key [modkey] "w" (fn [] (awful.spawn "/home/chris/.dotfiles/rofi/launchers-git/windows.sh")) + {:description "launch rofi window switcher" :group "launcher"}) + (awful.key [modkey] "b" (fn [] (awful.spawn "bwmenu")) + {:description "launch rofi bitwarden selector" :group "launcher"}) + ;; audio + (awful.key [] "XF86AudioRaiseVolume" (fn [] (awful.spawn.with_shell + "pactl set-sink-volume @DEFAULT_SINK@ +5% && pactl play-sample audio-volume-change")) + {:description "Increase volume by 5%" :group "audio"}) + (awful.key [] "XF86AudioLowerVolume" (fn [] (awful.spawn.with_shell + "pactl set-sink-volume @DEFAULT_SINK@ -5% && pactl play-sample audio-volume-change")) + {:description "Decrease volume by 5%" :group "audio"}) + (awful.key [] "XF86AudioMute" (fn [] (awful.spawn.with_shell + "pactl set-sink-mute @DEFAULT_SINK@ toggle && pactl play-sample audio-volume-change")) + {:description "Mute volume" :group "audio"}) + (awful.key [] "XF86Launch8" (fn [] (awful.spawn.with_shell + "pactl set-source-mute @DEFAULT_SOURCE@ toggle")) + {:description "Mute microphone" :group "audio"}) + + ) + + ;; ;; Bind all key numbers to tags. + ;; ;; Be careful: we use keycodes to make it work on any keyboard layout. + ;; ;; This should map on the top row of your keyboard, usually 1 to 9. + ;; (for [i 1 9] + ;; (global globalkeys + ;; (gears.table.join + ;; globalkeys + ;; ;; View tag only. + ;; (awful.key [ modkey ] (.. "#" (+ i 9)) + ;; (fn [] + ;; (let [screen (awful.screen.focused) + ;; tag (. screen.tags i)] + ;; (when tag + ;; (: tag :view_only)))) + ;; {:description (.. "view tag #" i) :group "tag"}) + ;; ;; Toggle tag display + ;; (awful.key [ modkey ctrl ] (.. "#" (+ i 9)) + ;; (fn [] + ;; (let [screen (awful.screen.focused) + ;; tag (. screen.tags i)] + ;; (when tag + ;; (awful.tag.viewtoggle)))) + ;; {:description (.. "toggle tag #" i) :group "tag"}) + ;; ;; Move client to tag + ;; (awful.key [ modkey shift ] (.. "#" (+ i 9)) + ;; (fn [] + ;; (when client.focus + ;; (let [tag (. client.focus.screen.tags i)] + ;; (when tag + ;; (: client.focus :move_to_tag tag))))) + ;; {:description (.. "move focused client to tag #" i) :group "tag"}) + ;; ;; Toggle tag on focused client. + ;; (awful.key [ modkey ctrl shift ] (.. "#" (+ i 9)) + ;; (fn [] + ;; (when client.focus + ;; (let [tag (. client.focus.screen.tags i)] + ;; (when tag + ;; (: client.focus :toggle_tag tag))))) + ;; {:description (.. "toggle focused client on tag #" i) :group "tag"})))) + + :clientkeys (gears.table.join + (awful.key [ modkey ] "f" (fn [c] (set c.fullscreen (not c.fullscreen)) (: c :raise)) + {:description "toggle fullscreen" :group "client"}) + (awful.key [ modkey ] "c" (fn [c] (: c :kill)) + {:description "close" :group "client"}) + (awful.key [ modkey ctrl ] "space" awful.client.floating.toggle + {:description "toggle floating" :group "client"}) + (awful.key [ modkey ctrl ] "Return" (fn [c] (: c :swap (awful.client.getmaster))) + {:description "move to master" :group "client"}) + (awful.key [ modkey ] "o" (fn [c] (: c :move_to_screen)) + {:description "move to screen" :group "client"}) + (awful.key [ modkey ] "t" (fn [c] (set c.ontop (not c.ontop))) + {:description "toggle keep on top" :group "client"}) + (awful.key [ modkey ] "n" (fn [c] + ;; The client currently has the input focus, so it cannot be + ;; minimized, since minimized clients can't have the focus. + (set c.minimized true)) + {:description "minimize" :group "client"}) + (awful.key [ modkey ] "m" (fn [c] (set c.maximized (not c.maximized)) (: c :raise)) + {:description "(un)maximize" :group "client"}) + (awful.key [ modkey ctrl ] "m" (fn [c] (set c.maximized_vertical (not c.maximized_vertical)) (: c :raise)) + {:description "(un)maximize vertically" :group "client"}) + (awful.key [modkey shift ] "m" (fn [c] (set c.maximized_horizontal (not c.maximized_horizontal)) (: c :raise)) + {:description "(un)maximize horizontally" :group "client"})) + + :clientbuttons (gears.table.join + (awful.button [] 1 (fn [c] (: c :emit_signal "request::activate" "mouse_click" {:raise true}))) + (awful.button [ modkey ] 1 (fn [c] + (: c :emit_signal "request::activate" "mouse_click" {:raise true}) + (awful.mouse.client.move c))) + (awful.button [ modkey ] 3 (fn [c] + (: c :emit_signal "request::activate" "mouse_click" {:raise true}) + (awful.mouse.client.resize c)))) + } + ) + + + +keybindings diff --git a/awesome/keys/clientbuttons.fnl b/awesome/keys/clientbuttons.fnl new file mode 100644 index 0000000..ecf5849 --- /dev/null +++ b/awesome/keys/clientbuttons.fnl @@ -0,0 +1,15 @@ +(local awful (require "awful")) +(local gears (require "gears")) +(local beautiful (require "beautiful")) + +(global clientbuttons + (gears.table.join + (awful.button [] 1 (fn [c] (: c :emit_signal "request::activate" "mouse_click" {:raise true}))) + (awful.button [ modkey ] 1 (fn [c] + (: c :emit_signal "request::activate" "mouse_click" {:raise true}) + (awful.mouse.client.move c))) + (awful.button [ modkey ] 3 (fn [c] + (: c :emit_signal "request::activate" "mouse_click" {:raise true}) + (awful.mouse.client.resize c))))) + +clientbuttons diff --git a/awesome/keys/clientkeys.fnl b/awesome/keys/clientkeys.fnl new file mode 100644 index 0000000..7637a56 --- /dev/null +++ b/awesome/keys/clientkeys.fnl @@ -0,0 +1,31 @@ +(local awful (require "awful")) +(local gears (require "gears")) +(local beautiful (require "beautiful")) + +(global clientkeys + (gears.table.join + (awful.key [ modkey ] "f" (fn [c] (set c.fullscreen (not c.fullscreen)) (: c :raise)) + {:description "toggle fullscreen" :group "client"}) + (awful.key [ modkey ] "c" (fn [c] (: c :kill)) + {:description "close" :group "client"}) + (awful.key [ modkey ctrl ] "space" awful.client.floating.toggle + {:description "toggle floating" :group "client"}) + (awful.key [ modkey ctrl ] "Return" (fn [c] (: c :swap (awful.client.getmaster))) + {:description "move to master" :group "client"}) + (awful.key [ modkey ] "o" (fn [c] (: c :move_to_screen)) + {:description "move to screen" :group "client"}) + (awful.key [ modkey ] "t" (fn [c] (set c.ontop (not c.ontop))) + {:description "toggle keep on top" :group "client"}) + (awful.key [ modkey ] "n" (fn [c] + ;; The client currently has the input focus, so it cannot be + ;; minimized, since minimized clients can't have the focus. + (set c.minimized true)) + {:description "minimize" :group "client"}) + (awful.key [ modkey ] "m" (fn [c] (set c.maximized (not c.maximized)) (: c :raise)) + {:description "(un)maximize" :group "client"}) + (awful.key [ modkey ctrl ] "m" (fn [c] (set c.maximized_vertical (not c.maximized_vertical)) (: c :raise)) + {:description "(un)maximize vertically" :group "client"}) + (awful.key [modkey shift ] "m" (fn [c] (set c.maximized_horizontal (not c.maximized_horizontal)) (: c :raise)) + {:description "(un)maximize horizontally" :group "client"}))) + +clientkeys diff --git a/awesome/keys/keybindings.fnl b/awesome/keys/keybindings.fnl new file mode 100644 index 0000000..25bb239 --- /dev/null +++ b/awesome/keys/keybindings.fnl @@ -0,0 +1,143 @@ +(local awful (require "awful")) +(local gears (require "gears")) +(local beautiful (require "beautiful")) +(local hotkeys_popup (require "awful.hotkeys_popup")) + + +(local terminal "alacritty") +(local modkey "Mod4") +(local shift "Shift") +(local ctrl "Control") +(local alt "Mod1") + + +;; key bindings +(global globalkeys + (gears.table.join + (awful.key [ modkey ] "s" hotkeys_popup.show_help + { :description "show help" :group "awesome"}) + (awful.key [ modkey ] "Left" awful.tag.viewprev + {:description "view previous" :group "tag"}) + (awful.key [ modkey ] "Right" awful.tag.viewnext + {:description "view next" :group "tag"}) + (awful.key [ modkey ] "Escape" awful.tag.history.restore + {:description "go back" :group "tag"}) + (awful.key [ modkey ] "j" (fn [] (awful.client.focus.byidx 1)) + {:description "focus next by index" :group "client"}) + (awful.key [ modkey ] "k" (fn [] (awful.client.focus.byidx -1)) + {:description "focus previous by index" :group "client"}) + + ;; Layout manipulation + (awful.key [ modkey shift ] "j" (fn [] (awful.client.swap.byidx 1)) + {:description "swap with next client by index" :group "client"}) + (awful.key [ modkey shift ] "k" (fn [] (awful.client.swap.byidx -1)) + {:description "swap with previous client by index" :group "client"}) + (awful.key [ modkey ctrl ] "j" (fn [] (awful.screen.focus_relative 1)) + {:description "focus the next screen" :group "screen"}) + (awful.key [ modkey ctrl ] "k" (fn [] (awful.screen.focus_relative -1)) + {:description "focus the previous screen" :group "screen"}) + (awful.key [ modkey ] "u" awful.client.urgent.jumpto + {:description "jump to urgent client" :group "client"}) + (awful.key [ modkey ] "Tab" (fn [] + (awful.client.focus.history.previous) + (when client.focus (: client.focus :raise))) + {:description "go back" :group "client"}) + + ;; Standard program + (awful.key [ modkey ] "Return" (fn [] (awful.spawn terminal)) + {:description "open a terminal" :group "launcher"}) + (awful.key [ modkey ctrl ] "r" awesome.restart + {:description "reload awesome" :group "awesome"}) + (awful.key [ modkey shift ] "q" awesome.quit + {:description "quit awesome" :group "awesome"}) + + ;; layout + (awful.key [ modkey ] "l" (fn [] (awful.tag.incmwfact 0.05)) + {:description "increase master width factor" :group "layout"}) + (awful.key [ modkey ] "h" (fn [] (awful.tag.incmwfact -0.05)) + {:description "decrease master width factor" :group "layout"}) + (awful.key [ modkey shift ] "h" (fn [] (awful.tag.incnmaster 1 nil true)) + {:description "increase the number of master clients" :group "layout"}) + (awful.key [ modkey shift ] "l" (fn [] (awful.tag.incnmaster -1 nil true)) + {:description "decrease the number of master clients" :group "layout"}) + (awful.key [ modkey ctrl ] "h" (fn [] (awful.tag.incncol 1 nil true)) + {:description "increase the number of columns" :group "layout"}) + (awful.key [ modkey ctrl ] "l" (fn [] (awful.tag.incncol -1 nil true)) + {:description "decrease the number of columns" :group "layout"}) + (awful.key [ modkey ] "space" (fn [] (awful.layout.inc 1)) + {:description "select next" :group "layout"}) + (awful.key [ modkey shift ] "space" (fn [] (awful.layout.inc -1)) + {:description "select previous" :group "layout"}) + (awful.key [ modkey ctrl ] "n" (fn [] + (local c (awful.client.restore)) + (when c ;; Focus restored client + (: c :emit_signal "request::activate" "key.unminimize" {:raise true}))) + {:description "restore minimized" :group "client"}) + + ;; Prompt + (awful.key [ modkey ] "r" (fn [] (: (. (awful.screen.focused) :mypromptbox) :run)) + {:description "run prompt" :group "launcher"}) + + (awful.key [ modkey ] "x" (fn [] + (let [fscr (awful.screen.focused)] + (awful.prompt.run { + :prompt "Run Lua code: " + :textbox fscr.mypromptbox.widget + :exe_callback awful.util.eval + :history_path (.. (awful.util.get_cache_dir) "/history_eval") + }))) + {:description "lua execute prompt" :group "awesome"}) + + ;; Menubar + ;; (awful.key [ modkey ] "p" (fn [] (menubar.show)) + ;; {:description "show the menubar" :group "launcher"}) + + ;; Programs + (awful.key [ modkey ] "d" (fn [] (awful.spawn "emacsclient -c -e '(dired-jump)'")) + {:description "launch dired in new emacs frame" :group "apps" }) + ;; rofi + (awful.key [] "Menu" (fn [] (awful.spawn "/home/chris/.dotfiles/rofi/launchers-git/launcher.sh")) + {:description "launch rofi" :group "launcher"}) + )) + +;; Bind all key numbers to tags. +;; Be careful: we use keycodes to make it work on any keyboard layout. +;; This should map on the top row of your keyboard, usually 1 to 9. +(for [i 1 9] + (global globalkeys + (gears.table.join + globalkeys + ;; View tag only. + (awful.key [ modkey ] (.. "#" (+ i 9)) + (fn [] + (let [screen (awful.screen.focused) + tag (. screen.tags i)] + (when tag + (: tag :view_only)))) + {:description (.. "view tag #" i) :group "tag"}) + ;; Toggle tag display + (awful.key [ modkey ctrl ] (.. "#" (+ i 9)) + (fn [] + (let [screen (awful.screen.focused) + tag (. screen.tags i)] + (when tag + (awful.tag.viewtoggle)))) + {:description (.. "toggle tag #" i) :group "tag"}) + ;; Move client to tag + (awful.key [ modkey shift ] (.. "#" (+ i 9)) + (fn [] + (when client.focus + (let [tag (. client.focus.screen.tags i)] + (when tag + (: client.focus :move_to_tag tag))))) + {:description (.. "move focused client to tag #" i) :group "tag"}) + ;; Toggle tag on focused client. + (awful.key [ modkey ctrl shift ] (.. "#" (+ i 9)) + (fn [] + (when client.focus + (let [tag (. client.focus.screen.tags i)] + (when tag + (: client.focus :toggle_tag tag))))) + {:description (.. "toggle focused client on tag #" i) :group "tag"})))) + +globalkeys diff --git a/awesome/nice b/awesome/nice deleted file mode 160000 index 04bab00..0000000 --- a/awesome/nice +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 04bab00b464039702756d5dd812aea754a907a95 diff --git a/awesome/rc.lua b/awesome/rc.lua index e7b64ab..9e7ec93 100644 --- a/awesome/rc.lua +++ b/awesome/rc.lua @@ -1,656 +1,6 @@ -pcall(require, "luarocks.loader") --- local fennel = require("./fennel") fennel = require("fennel") local gears = require("gears") fennel.path = fennel.path .. ";.config/awesome/?.fnl" -table.insert(package.loaders or package.searchers, fennel.make_searcher({correlate=true})) --- table.insert(package.loaders or package.searchers, fennel.searcher) -require("init") -- loads init.fnl +table.insert(package.loaders or package.searchers, fennel.searcher) - - --- Standard awesome library -local awful = require("awful") -local xresources = require("beautiful.xresources") -local dpi = xresources.apply_dpi -require("awful.autofocus") --- Widget and layout library -local wibox = require("wibox") --- Theme handling library -local beautiful = require("beautiful") --- Notification library --- local naughty = require("naughty") -local menubar = require("menubar") -local hotkeys_popup = require("awful.hotkeys_popup") -local ruled = require("ruled") --- local ruls = require("configuration.client.rules") - --- Enable hotkeys help widget for VIM and other apps --- when client with a matching name is opened: -require("awful.hotkeys_popup.keys") - --- Modules -require('module.notifications') -require('module.backdrop') -require('module.volume-osd') -require('module.brightness-osd') - --- {{{ Variable definitions -beautiful.init("/home/chris/.config/awesome/theme.lua") -terminal = "alacritty" -editor = "emacsclient -a emacs" -editor_cmd = terminal .. " -e " .. editor - --- Default modkey. -modkey = "Mod4" -altkey = "Mod1" - -awful.layout.layouts = { - awful.layout.suit.tile, - awful.layout.suit.magnifier, - awful.layout.suit.floating, - -- awful.layout.suit.tile.left, - -- awful.layout.suit.tile.bottom, - awful.layout.suit.tile.top, - awful.layout.suit.fair, - -- awful.layout.suit.fair.horizontal, - -- awful.layout.suit.spiral, - awful.layout.suit.spiral.dwindle, - awful.layout.suit.max, - -- awful.layout.suit.max.fullscreen, - -- awful.layout.suit.corner.nw, - -- awful.layout.suit.corner.ne, - -- awful.layout.suit.corner.sw, - -- awful.layout.suit.corner.se, -} - --- Menu -myawesomemenu = { - { "hotkeys", function() hotkeys_popup.show_help(nil, awful.screen.focused()) end }, - { "manual", terminal .. " -e man awesome" }, - { "edit config", editor_cmd .. " " .. awesome.conffile }, - { "restart", awesome.restart }, - { "quit", function() awesome.quit() end }, -} - -mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon }, - { "open terminal", terminal } - } - }) - -mylauncher = awful.widget.launcher({ image = beautiful.awesome_icon, - menu = mymainmenu }) - --- Menubar configuration -menubar.utils.terminal = terminal -- Set the terminal for applications that require it --- }}} - --- Keyboard map indicator and switcher -mykeyboardlayout = awful.widget.keyboardlayout() - --- Wibar -mytextclock = wibox.widget.textclock(" %a %b %d, %l:%M %p ") - --- Create a wibox for each screen and add it -local taglist_buttons = gears.table.join( - awful.button({ }, 1, function(t) t:view_only() end), - awful.button({ modkey }, 1, function(t) - if client.focus then - client.focus:move_to_tag(t) - end - end), - awful.button({ }, 3, awful.tag.viewtoggle), - awful.button({ modkey }, 3, function(t) - if client.focus then - client.focus:toggle_tag(t) - end - end), - awful.button({ }, 4, function(t) awful.tag.viewnext(t.screen) end), - awful.button({ }, 5, function(t) awful.tag.viewprev(t.screen) end) - ) - -local tasklist_buttons = gears.table.join( - awful.button({ }, 1, function (c) - if c == client.focus then - c.minimized = true - else - c:emit_signal( - "request::activate", - "tasklist", - {raise = true} - ) - end - end), - awful.button({ }, 3, function() - awful.menu.client_list({ theme = { width = 250 } }) - end), - awful.button({ }, 4, function () - awful.client.focus.byidx(1) - end), - awful.button({ }, 5, function () - awful.client.focus.byidx(-1) - end)) - -local function set_wallpaper(s) - -- Wallpaper - if beautiful.wallpaper then - local wallpaper = beautiful.wallpaper - -- If wallpaper is a function, call it with the screen - if type(wallpaper) == "function" then - wallpaper = wallpaper(s) - end - gears.wallpaper.maximized(wallpaper, s) - end -end - --- Re-set wallpaper when a screen's geometry changes (e.g. different resolution) -screen.connect_signal("property::geometry", set_wallpaper) - - --- awful.screen.connect_for_each_screen(function(s) --- -- Wallpaper --- set_wallpaper(s) - --- -- Each screen has its own tag table. --- awful.tag({ "  ", "  ", "  ", "  "}, s, awful.layout.layouts[1]) - --- s.padding = { --- bottom = dpi(20) --- } - --- yoffset = dpi(45) --- xoffset = dpi(18) - --- mypanel = wibox --- ({ --- x = s.geometry.x + xoffset, --- y = s.geometry.height - yoffset, --- height = dpi(30), --- width = s.geometry.width - (xoffset * 2), --- ontop = false, --- stretch = false, --- type = "dock", --- screen = s, --- shape = gears.shape.rounded_bar, --- bg = beautiful.bg_normal, --- fg = beautiful.fg_normal, --- opacity = 0.65, --- }) - --- mypanel:struts { --- bottom = dpi(40) --- } - --- -- Create a promptbox for each screen --- s.mypromptbox = awful.widget.prompt() --- -- Create an imagebox widget which will contain an icon indicating which layout we're using. --- -- We need one layoutbox per screen. --- s.mylayoutbox = awful.widget.layoutbox(s) --- s.mylayoutbox:buttons(gears.table.join( --- awful.button({ }, 1, function () awful.layout.inc( 1) end), --- awful.button({ }, 3, function () awful.layout.inc(-1) end), --- awful.button({ }, 4, function () awful.layout.inc( 1) end), --- awful.button({ }, 5, function () awful.layout.inc(-1) end))) --- -- Create a taglist widget --- s.mytaglist = awful.widget.taglist { --- screen = s, --- filter = awful.widget.taglist.filter.all, --- buttons = taglist_buttons --- } - --- -- Create a systray widget --- s.mysystray = { --- wibox.widget.systray(), --- -- bg = "#00FF0066", --- widget = wibox.container.background, --- } - --- s.mytasklist = awful.widget.tasklist { --- screen = s, --- filter = awful.widget.tasklist.filter.currenttags, --- buttons = tasklist_buttons, --- style = { --- border_width = 0, --- border_color = '#777777', --- shape = gears.shape.rounded_bar, - --- }, --- layout = { --- spacing = 20, --- spacing_widget = { --- { --- forced_width = 5, --- forced_height = dpi(20), --- -- shape = gears.shape.circle, --- widget = wibox.widget.separator --- }, --- valign = 'center', --- halign = 'center', --- widget = wibox.container.place, --- }, --- layout = wibox.layout.flex.horizontal --- }, --- -- notice that there is *no* wibox.wibox prefix, it is a template, --- -- not a widget instance. --- widget_template = { --- { --- { --- { --- { --- id = 'icon_role', --- widget = wibox.widget.imagebox, --- }, --- margins = 2, --- widget = wibox.container.margin, --- }, --- { --- id = 'text_role', --- widget = wibox.widget.textbox, --- }, --- layout = wibox.layout.align.horizontal, --- }, --- left = 10, --- right = 10, --- widget = wibox.container.margin --- }, --- id = 'background_role', --- widget = wibox.container.background, --- }, --- } --- -- Create Battery, Network, and Volume widget --- s.battery = require('widget.battery')() --- -- s.network = require('widget.network')() --- s.volume = require('widget.volume')() --- s.updater = require('widget.package-updater')() - --- s.myrightwidgets = --- { --- { -- Right widgets --- layout = wibox.layout.fixed.horizontal, --- s.volume, --- s.mysystray, --- s.updater, --- -- s.network, --- s.battery, --- wibox.container.margin (s.mylayoutbox,0,dpi(25),0,0), --- }, --- -- bg = "#00FF0066", --- widget = wibox.container.background, --- } - --- -- Empty widget to use for spacing --- s.myemptywidget = wibox.widget{ --- markup = '', --- align = '', --- valign = '', --- widget = wibox.widget.textbox --- } - --- -- -- Add widgets to the wibox --- mypanel:setup { --- layout = wibox.layout.align.horizontal, --- expand = "outside", --- { -- Left widgets --- layout = wibox.layout.align.horizontal, --- wibox.container.margin (s.mytaglist,dpi(15),0,dpi(-3),0), --- wibox.container.margin (s.mytasklist,dpi(25),dpi(25),0,0), -- Middle widget --- s.myemptywidget, --- spacing = dpi(15) --- }, --- mytextclock, --- { -- Right widgets --- layout = wibox.layout.align.horizontal, --- s.myemptywidget, --- wibox.container.margin (s.mypromptbox,dpi(25),dpi(25),0,0), -- Middle widget --- s.myrightwidgets, --- }, --- visible = true, --- } - --- mypanel.visible = true --- end) --- }}} - --- {{{ Mouse bindings -root.buttons(gears.table.join( - awful.button({ }, 3, function () mymainmenu:toggle() end), - awful.button({ }, 4, awful.tag.viewnext), - awful.button({ }, 5, awful.tag.viewprev) -)) --- }}} - --- {{{ Key bindings -awful.keyboard.append_global_keybindings({ - awful.key({ modkey, }, "s", hotkeys_popup.keys, - {description="show help", group="awesome"}), - awful.key({ modkey, }, "Left", awful.tag.viewprev, - {description = "view previous", group = "tag"}), - awful.key({ modkey, }, "Right", awful.tag.viewnext, - {description = "view next", group = "tag"}), - awful.key({ modkey, }, "Escape", awful.tag.history.restore, - {description = "go back", group = "tag"}), - - awful.key({ modkey, }, "j", - function () - awful.client.focus.byidx( 1) - end, - {description = "focus next by index", group = "client"} - ), - awful.key({ modkey, }, "k", - function () - awful.client.focus.byidx(-1) - end, - {description = "focus previous by index", group = "client"} - ), - awful.key({ modkey, }, "w", function () mymainmenu:show() end, - {description = "show main menu", group = "awesome"}), - - -- Layout manipulation - awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( 1) end, - {description = "swap with next client by index", group = "client"}), - awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( -1) end, - {description = "swap with previous client by index", group = "client"}), - awful.key({ modkey, "Control" }, "j", function () awful.screen.focus_relative( 1) end, - {description = "focus the next screen", group = "screen"}), - awful.key({ modkey, "Control" }, "k", function () awful.screen.focus_relative(-1) end, - {description = "focus the previous screen", group = "screen"}), - awful.key({ modkey, }, "u", awful.client.urgent.jumpto, - {description = "jump to urgent client", group = "client"}), - awful.key({ modkey, }, "Tab", - function () - awful.client.focus.history.previous() - if client.focus then - client.focus:raise() - end - end, - {description = "go back", group = "client"}), - - - -- Screenshots - awful.key({}, "Print", function() awful.util.spawn("flameshot gui") end, - {description = "take a screenshot", group = "screen"}), - - -- Increase-Decrease Gap - - awful.key({ modkey, altkey }, "k", function () awful.tag.incgap ( 1, null) end, - {description = "increase gap", group = "layout"}), - - awful.key({ modkey, altkey }, "j", function () awful.tag.incgap ( -1, null) end, - {description = "decrease gap", group = "layout"}), - - - -- Standard program - awful.key({ modkey, }, "Return", function () awful.spawn(terminal) end, - {description = "open a terminal", group = "launcher"}), - awful.key({ modkey, "Control" }, "r", awesome.restart, - {description = "reload awesome", group = "awesome"}), - awful.key({ modkey, "Shift" }, "q", awesome.quit, - {description = "quit awesome", group = "awesome"}), - - -- Programs - awful.key({ modkey, }, "b", function () awful.spawn("firefox") end, - {description = "open firefox", group = "apps"}), - awful.key({ modkey, }, "e", function () awful.spawn("emacsclient -c") end, - {description = "open emacs frame connected to server", group = "apps"}), - -- dolphin - awful.key({ modkey, }, "d", function () awful.spawn("dolphin") end, - {description = "open dolphin file manager", group = "apps"}), - -- layout - awful.key({ modkey, }, "l", function () awful.tag.incmwfact( 0.05) end, - {description = "increase master width factor", group = "layout"}), - awful.key({ modkey, }, "h", function () awful.tag.incmwfact(-0.05) end, - {description = "decrease master width factor", group = "layout"}), - awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1, nil, true) end, - {description = "increase the number of master clients", group = "layout"}), - awful.key({ modkey, "Shift" }, "l", function () awful.tag.incnmaster(-1, nil, true) end, - {description = "decrease the number of master clients", group = "layout"}), - awful.key({ modkey, "Control" }, "h", function () awful.tag.incncol( 1, nil, true) end, - {description = "increase the number of columns", group = "layout"}), - awful.key({ modkey, "Control" }, "l", function () awful.tag.incncol(-1, nil, true) end, - {description = "decrease the number of columns", group = "layout"}), - awful.key({ modkey, }, "space", function () awful.layout.inc( 1) end, - {description = "select next", group = "layout"}), - awful.key({ modkey, "Shift" }, "space", function () awful.layout.inc(-1) end, - {description = "select previous", group = "layout"}), - - awful.key({ modkey, "Control" }, "n", - function () - local c = awful.client.restore() - -- Focus restored client - if c then - c:emit_signal( - "request::activate", "key.unminimize", {raise = true} - ) - end - end, - {description = "restore minimized", group = "client"}), - - -- Volume Keys - awful.key({}, "XF86AudioLowerVolume", function () - awful.util.spawn("amixer -D pulse sset Master 5%-", false) - awful.util.spawn("mpv /home/chris/Music/notifications/Pop-709f8e26-a350-3999-9e86-aa91b8602650.mp3") - awesome.emit_signal('widget::volume') - awesome.emit_signal('module::volume_osd:show', true) - end), - awful.key({}, "XF86AudioRaiseVolume", function () - awful.util.spawn("amixer -D pulse sset Master 5%+", false) - awful.util.spawn("mpv /home/chris/Music/notifications/Pop-16da230f-5ffc-4a42-93df-a169e9253ddc.mp3") - awesome.emit_signal('widget::volume') - awesome.emit_signal('module::volume_osd:show', true) - end), - awful.key({}, "XF86AudioMute", function () - awful.util.spawn("amixer set Master 1+ toggle", false) - end), - -- Media Keys - awful.key({}, "XF86AudioPlay", function() - awful.util.spawn("playerctl play-pause", false) - end), - awful.key({}, "XF86AudioNext", function() - awful.util.spawn("playerctl next", false) - end), - awful.key({}, "XF86AudioPrev", function() - awful.util.spawn("playerctl previous", false) - end), - -- Mute Microphone - awful.key({}, "XF86Launch8", function() - awful.util.spawn("amixer -c 2 set Mic toggle", false) - end), - - awful.key({}, "XF86Launch7", function() - awful.util.spawn("", false) - end), - awful.key({}, "XF86Launch6", function() - awful.util.spawn("", false) - end), - awful.key({}, "XF86Launch5", function() - awful.util.spawn("", false) - end), - awful.key({}, "XF86Tools", function() - awful.util.spawn("", false) - end), - -- Brightness Keys - awful.key({}, "XF86MonBrightnessUp", function() - awful.util.spawn("brightnessctl set +10%", false) - awesome.emit_signal('widget::brightness') - awesome.emit_signal('module::brightness_osd:show', true) - end), - - awful.key({}, "XF86MonBrightnessDown", function() - awful.util.spawn("brightnessctl set 10%-", false) - awesome.emit_signal('widget::brightness') - awesome.emit_signal('module::brightness_osd:show', true) - end), - - -- Prompt - awful.key({ }, "Menu", function () - awful.util.spawn("/home/chris/.dotfiles/rofi/launchers-git/launcher.sh") end, - {description = "launch rofi", group = "launcher"}), - - -- Window Switcher - awful.key({ modkey }, "Tab", function () - awful.util.spawn("/home/chris/.dotfiles/rofi/launchers-git/windows.sh") end, - {description = "launch rofi window switcher", group = "launcher"}), - - -- Emoji Selector - awful.key({ modkey }, ".", function () - awful.util.spawn("/home/chris/.dotfiles/rofi/launchers-git/emoji.sh") end, - {description = "launch rofi emoji picker", group = "launcher"}), - - awful.key({ modkey }, "x", - function () - awful.prompt.run { - prompt = "Run Lua code: ", - textbox = awful.screen.focused().mypromptbox.widget, - exe_callback = awful.util.eval, - history_path = awful.util.get_cache_dir() .. "/history_eval" - } - end, - {description = "lua execute prompt", group = "awesome"}), - -- Menubar - awful.key({ modkey }, "p", function() menubar.show() end, - {description = "show the menubar", group = "launcher"}) -}) - -client.connect_signal("request::default_keybindings", function() - awful.keyboard.append_client_keybindings({ - awful.key({ modkey, }, "f", - function (c) - c.fullscreen = not c.fullscreen - c:raise() - end, - {description = "toggle fullscreen", group = "client"}), - awful.key({ modkey, }, "c", function (c) c:kill() end, - {description = "close", group = "client"}), - awful.key({ modkey, "Control" }, "space", awful.client.floating.toggle , - {description = "toggle floating", group = "client"}), - awful.key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end, - {description = "move to master", group = "client"}), - awful.key({ modkey, }, "o", function (c) c:move_to_screen() end, - {description = "move to screen", group = "client"}), - awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end, - {description = "toggle keep on top", group = "client"}), - awful.key({ modkey, }, "n", - function (c) - -- The client currently has the input focus, so it cannot be - -- minimized, since minimized clients can't have the focus. - c.minimized = true - end , - {description = "minimize", group = "client"}), - awful.key({ modkey, }, "m", - function (c) - c.maximized = not c.maximized - c:raise() - end , - {description = "(un)maximize", group = "client"}), - awful.key({ modkey, "Control" }, "m", - function (c) - c.maximized_vertical = not c.maximized_vertical - c:raise() - end , - {description = "(un)maximize vertically", group = "client"}), - awful.key({ modkey, "Shift" }, "m", - function (c) - c.maximized_horizontal = not c.maximized_horizontal - c:raise() - end , - {description = "(un)maximize horizontally", group = "client"}) - }) -end) - - --- Bind all key numbers to tags. --- Be careful: we use keycodes to make it work on any keyboard layout. --- This should map on the top row of your keyboard, usually 1 to 9. -for i = 1, 9 do - globalkeys = gears.table.join(globalkeys, - -- View tag only. - awful.key({ modkey }, "#" .. i + 9, - function () - local screen = awful.screen.focused() - local tag = screen.tags[i] - if tag then - tag:view_only() - end - end, - {description = "view tag #"..i, group = "tag"}), - -- Toggle tag display. - awful.key({ modkey, "Control" }, "#" .. i + 9, - function () - local screen = awful.screen.focused() - local tag = screen.tags[i] - if tag then - awful.tag.viewtoggle(tag) - end - end, - {description = "toggle tag #" .. i, group = "tag"}), - -- Move client to tag. - awful.key({ modkey, "Shift" }, "#" .. i + 9, - function () - if client.focus then - local tag = client.focus.screen.tags[i] - if tag then - client.focus:move_to_tag(tag) - end - end - end, - {description = "move focused client to tag #"..i, group = "tag"}), - -- Toggle tag on focused client. - awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9, - function () - if client.focus then - local tag = client.focus.screen.tags[i] - if tag then - client.focus:toggle_tag(tag) - end - end - end, - {description = "toggle focused client on tag #" .. i, group = "tag"}) - ) -end - -awful.mouse.append_global_mousebindings({ - awful.button({ }, 3, function () mymainmenu:toggle() end), - awful.button({ }, 4, awful.tag.viewprev), - awful.button({ }, 5, awful.tag.viewnext), -}) - -client.connect_signal("request::default_mousebindings", function() - awful.mouse.append_client_mousebindings({ - awful.button({ }, 1, function (c) - c:activate { context = "mouse_click" } - end), - awful.button({ modkey }, 1, function (c) - c:activate { context = "mouse_click", action = "mouse_move" } - end), - awful.button({ modkey }, 3, function (c) - c:activate { context = "mouse_click", action = "mouse_resize"} - end), - }) -end) - --- Set keys -root.keys(globalkeys) --- }}} - - - --- {{{ Signals --- Signal function to execute when a new client appears. -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 - - if awesome.startup - and not c.size_hints.user_position - and not c.size_hints.program_position then - -- Prevent clients from being unreachable after screen count changes. - awful.placement.no_offscreen(c) - end - - ruled.client.apply(c) -end) - -client.connect_signal("focus", function(c) c.border_color = beautiful.border_focus end) -client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_normal end) --- }}} +require("init") -- load ~/.config/awesome/config.fnl diff --git a/awesome/rules.fnl b/awesome/rules.fnl index e74c874..e4be5d2 100644 --- a/awesome/rules.fnl +++ b/awesome/rules.fnl @@ -1,60 +1,99 @@ (local awful (require "awful")) (local beautiful (require "beautiful")) +(local keybindings (require "keybindings")) -(local - rules - [ - ;; All clients match this rule - { - :rule { } - :propertites { - :border-width beautiful.border_width - :border_color beautiful.border_normal - :focus true - :raise true - :screen awful.screen.preferred - :placement (+ awful.placement.no_overlap awful.placement.no_offscreen) - } - } +;; (local modkey "Mod4") - ;; floating and centered - { - :rule_any { - :class [ - "mpv" - ] - } - :properties { - :floating true - :raise true - :focus true - :height 800 - :screen 2 - :placement (+ awful.placement.no_offscreen awful.placement.centered) - } - } - { - :rule_any { - :class [ - "dolphin" - "feh" - "Arandr" - ] - :name [ - "Event Tester" - "remove images?" - ] - :role [ - "pop-up" - "GtkFileChooserDialog" - ]} - :properties { - :floating true - :raise true - :focus true - :placement (+ awful.placement.no_offscreen awful.placement.centered) - } - } - ]) +;; (local keys (gears.table.join +;; ;; (awful.key [ modkey ] "f" (fn [c] (set c.fullscreen (not c.fullscreen)) (: c :raise)) +;; ;; {:description "toggle fullscreen" :group "client"}) +;; (awful.key [ modkey "Shift" ] "c" (fn [c] (: c :kill)) +;; {:description "close" :group "client"}) +;; ;; (awful.key [ modkey "Control" ] "space" awful.client.floating.toggle +;; ;; {:description "toggle floating" :group "client"}) +;; ;; (awful.key [ modkey "Control" ] "Return" (fn [c] (: c :swap (awful.client.getmaster))) +;; ;; {:description "move to master" :group "client"}) +;; ;; (awful.key [ modkey ] "o" (fn [c] (: c :move_to_screen)) +;; ;; {:description "move to screen" :group "client"}) +;; ;; (awful.key [ modkey ] "t"(fn [c] (set c.ontop (not c.ontop))) +;; ;; {:description "toggle keep on top" :group "client"}) +;; ;; (awful.key [ modkey ] "n" (fn [c] +;; ;; ;; The client currently has the input focus, so it cannot be +;; ;; ;; minimized, since minimized clients can't have the focus. +;; ;; (set c.minimized true)) +;; ;; {:description "minimize" :group "client"}), +;; ;; (awful.key [ modkey ] "m" (fn [c] (set c.maximized (not c.maximized)) (: c :raise)) +;; ;; {:description "(un)maximize" :group "client"}), +;; ;; (awful.key [ modkey "Control" ] "m" (fn [c] (set c.maximized_vertical (not c.maximized_vertical)) (: c :raise)) +;; ;; {:description "(un)maximize vertically" :group "client"}), +;; ;; (awful.key [modkey "Shift" ] "m" (fn [c] (set c.maximized_horizontal (not c.maximized_horizontal)) (: c :raise)) +;; ;; {:description "(un)maximize horizontally" :group "client"}) +;; ) +;; ) + + +;; (global clientbuttons +;; (gears.table.join +;; (awful.button [] 1 (fn [c] (: c :emit_signal "request::activate" "mouse_click" {:raise true}))) +;; (awful.button [ modkey ] 1 (fn [c] +;; (: c :emit_signal "request::activate" "mouse_click" {:raise true}) +;; (awful.mouse.client.move c))) +;; (awful.button [ modkey ] 3 (fn [c] +;; (: c :emit_signal "request::activate" "mouse_click" {:raise true}) +;; (awful.mouse.client.resize c))))) + +(local rules [ + ;; All clients match this rule + { + :rule { } + :propertites { + :border-width beautiful.border_width + :border_color beautiful.border_normal + :focus awful.client.focus.filter + :raise true + ;; :keys keys + ;; :buttons clientbuttons + :screen awful.screen.preferred + :placement (+ awful.placement.no_overlap awful.placement.no_offscreen) + } + } + + ;; floating and centered + { + :rule_any { + :class [ + "mpv" + ] + } + :properties { + :floating true + :raise true + :height 900 + :screen 2 + :placement (+ awful.placement.no_offscreen awful.placement.centered) + } + } + { + :rule_any { + :class [ + "dolphin" + "feh" + "Arandr" + ] + :name [ + "Event Tester" + "remove images?" + ] + :role [ + "pop-up" + "GtkFileChooserDialog" + ]} + :properties { + :floating true + :raise true + :placement (+ awful.placement.no_offscreen awful.placement.centered) + } + } + ]) rules diff --git a/awesome/theme/default-theme.lua b/awesome/theme/default-theme.lua deleted file mode 100644 index ceca1fc..0000000 --- a/awesome/theme/default-theme.lua +++ /dev/null @@ -1,231 +0,0 @@ -local gears = require('gears') -local beautiful = require('beautiful') - -local filesystem = require('gears.filesystem') -local dpi = require('beautiful').xresources.apply_dpi - -local theme_dir = filesystem.get_configuration_dir() .. '/theme' - -local titlebar_theme = "stoplight" -local titlebar_icon_path = theme_dir .. "/icons/titlebar/" .. titlebar_theme .. '/' -local tip = titlebar_icon_path - - -local theme = {} -theme.icons = theme_dir .. '/icons/' - --- Font -theme.font = 'SF Pro Text Regular 10' -theme.font_bold = 'SF Pro Text Bold 10' - - --- Menu icon theme -theme.icon_theme = 'Tela-blue-dark' - - -local awesome_overrides = function(theme) - - theme.dir = theme_dir - - theme.icons = theme.dir .. '/icons/' - - -- Wallpaper - - theme.wallpaper = theme.dir .. '/wallpapers/morning-wallpaper.jpg' - - -- Foreground - - theme.font = 'SF Pro Text Regular 10' - theme.title_font = 'SF Pro Text Bold 14' - - - theme.fg_normal = '#ffffffde' - theme.fg_focus = '#e4e4e4' - theme.fg_urgent = '#CC9393' - - theme.bat_fg_critical = '#232323' - - theme.bg_normal = theme.background - theme.bg_focus = '#5a5a5a' - theme.bg_urgent = '#3F3F3F' - - -- System tray - - theme.bg_systray = theme.background - theme.systray_icon_spacing = dpi(16) - - -- Titlebar - - theme.titlebar_size = dpi(34) - theme.titlebar_bg_focus = beautiful.gtk.get_theme_variables().bg_color:sub(1,7) .. '66' - theme.titlebar_bg_normal = beautiful.gtk.get_theme_variables().base_color:sub(1,7) .. '66' - theme.titlebar_fg_focus = beautiful.gtk.get_theme_variables().fg_color .. '00' - theme.titlebar_fg_normal = beautiful.gtk.get_theme_variables().fg_color .. '00' - - -- Close Button - theme.titlebar_close_button_normal = tip .. "close_normal.svg" - theme.titlebar_close_button_focus = tip .. "close_focus.svg" - - -- Minimize Button - theme.titlebar_minimize_button_normal = tip .. "minimize_normal.svg" - theme.titlebar_minimize_button_focus = tip .. "minimize_focus.svg" - - -- Ontop Button - theme.titlebar_ontop_button_normal_inactive = tip .. "ontop_normal_inactive.svg" - theme.titlebar_ontop_button_focus_inactive = tip .. "ontop_focus_inactive.svg" - theme.titlebar_ontop_button_normal_active = tip .. "ontop_normal_active.svg" - theme.titlebar_ontop_button_focus_active = tip .. "ontop_focus_active.svg" - - -- Sticky Button - theme.titlebar_sticky_button_normal_inactive = tip .. "sticky_normal_inactive.svg" - theme.titlebar_sticky_button_focus_inactive = tip .. "sticky_focus_inactive.svg" - theme.titlebar_sticky_button_normal_active = tip .. "sticky_normal_active.svg" - theme.titlebar_sticky_button_focus_active = tip .. "sticky_focus_active.svg" - - -- Floating Button - theme.titlebar_floating_button_normal_inactive = tip .. "floating_normal_inactive.svg" - theme.titlebar_floating_button_focus_inactive = tip .. "floating_focus_inactive.svg" - theme.titlebar_floating_button_normal_active = tip .. "floating_normal_active.svg" - theme.titlebar_floating_button_focus_active = tip .. "floating_focus_active.svg" - - -- Maximized Button - theme.titlebar_maximized_button_normal_inactive = tip .. "maximized_normal_inactive.svg" - theme.titlebar_maximized_button_focus_inactive = tip .. "maximized_focus_inactive.svg" - theme.titlebar_maximized_button_normal_active = tip .. "maximized_normal_active.svg" - theme.titlebar_maximized_button_focus_active = tip .. "maximized_focus_active.svg" - - -- Hovered Close Button - theme.titlebar_close_button_normal_hover = tip .. "close_normal_hover.svg" - theme.titlebar_close_button_focus_hover = tip .. "close_focus_hover.svg" - - -- Hovered Minimize Buttin - theme.titlebar_minimize_button_normal_hover = tip .. "minimize_normal_hover.svg" - theme.titlebar_minimize_button_focus_hover = tip .. "minimize_focus_hover.svg" - - -- Hovered Ontop Button - theme.titlebar_ontop_button_normal_inactive_hover = tip .. "ontop_normal_inactive_hover.svg" - theme.titlebar_ontop_button_focus_inactive_hover = tip .. "ontop_focus_inactive_hover.svg" - theme.titlebar_ontop_button_normal_active_hover = tip .. "ontop_normal_active_hover.svg" - theme.titlebar_ontop_button_focus_active_hover = tip .. "ontop_focus_active_hover.svg" - - -- Hovered Sticky Button - theme.titlebar_sticky_button_normal_inactive_hover = tip .. "sticky_normal_inactive_hover.svg" - theme.titlebar_sticky_button_focus_inactive_hover = tip .. "sticky_focus_inactive_hover.svg" - theme.titlebar_sticky_button_normal_active_hover = tip .. "sticky_normal_active_hover.svg" - theme.titlebar_sticky_button_focus_active_hover = tip .. "sticky_focus_active_hover.svg" - - -- Hovered Floating Button - theme.titlebar_floating_button_normal_inactive_hover = tip .. "floating_normal_inactive_hover.svg" - theme.titlebar_floating_button_focus_inactive_hover = tip .. "floating_focus_inactive_hover.svg" - theme.titlebar_floating_button_normal_active_hover = tip .. "floating_normal_active_hover.svg" - theme.titlebar_floating_button_focus_active_hover = tip .. "floating_focus_active_hover.svg" - - -- Hovered Maximized Button - theme.titlebar_maximized_button_normal_inactive_hover = tip .. "maximized_normal_inactive_hover.svg" - theme.titlebar_maximized_button_focus_inactive_hover = tip .. "maximized_focus_inactive_hover.svg" - theme.titlebar_maximized_button_normal_active_hover = tip .. "maximized_normal_active_hover.svg" - theme.titlebar_maximized_button_focus_active_hover = tip .. "maximized_focus_active_hover.svg" - - -- UI Groups - - theme.groups_title_bg = "#ffffff" .. "15" - theme.groups_bg = "#ffffff" .. "10" - theme.groups_radius = dpi(9) - - -- Client Decorations - - -- Borders - theme.border_focus = beautiful.gtk.get_theme_variables().bg_color - theme.border_normal = beautiful.gtk.get_theme_variables().base_color - theme.border_marked = '#CC9393' - theme.border_width = dpi(0) - theme.border_radius = dpi(0) - - -- Decorations - theme.client_radius = dpi(9) - theme.useless_gap = dpi(4) - - -- Menu - theme.menu_font = "SF Pro Text Regular 11" - theme.menu_submenu = '' -- ➤ - - theme.menu_height = dpi(34) - theme.menu_width = dpi(200) - theme.menu_border_width = dpi(20) - theme.menu_bg_focus = theme.accent .. 'CC' - - theme.menu_bg_normal = theme.background:sub(1,7) .. '33' - theme.menu_fg_normal = '#ffffff' - theme.menu_fg_focus = '#ffffff' - theme.menu_border_color = theme.background:sub(1,7) .. '5C' - - -- Tooltips - - theme.tooltip_bg = theme.background - theme.tooltip_border_color = theme.transparent - theme.tooltip_border_width = 0 - theme.tooltip_gaps = dpi(5) - theme.tooltip_shape = function(cr, w, h) - gears.shape.rounded_rect(cr, w, h, dpi(6)) - end - - -- Separators - - theme.separator_color = '#f2f2f244' - - -- Layoutbox icons - - theme.layout_max = theme.icons .. 'layouts/max.svg' - theme.layout_tile = theme.icons .. 'layouts/tile.svg' - theme.layout_dwindle = theme.icons .. 'layouts/dwindle.svg' - theme.layout_floating = theme.icons .. 'layouts/floating.svg' - - -- Taglist - - theme.taglist_bg_empty = theme.background .. '99' - theme.taglist_bg_occupied = '#ffffff' .. '1A' - theme.taglist_bg_urgent = "#E91E63" .. '99' - theme.taglist_bg_focus = theme.background - theme.taglist_spacing = dpi(0) - - -- Tasklist - - theme.tasklist_font = 'SF Pro Text Regular 10' - theme.tasklist_bg_normal = theme.background .. '99' - theme.tasklist_bg_focus = theme.background - theme.tasklist_bg_urgent = "#E91E63" .. '99' - theme.tasklist_fg_focus = '#DDDDDD' - theme.tasklist_fg_urgent = "#ffffff" - theme.tasklist_fg_normal = '#AAAAAA' - - -- Notification - - theme.notification_position = 'top_right' - theme.notification_bg = theme.transparent - theme.notification_margin = dpi(5) - theme.notification_border_width = dpi(0) - theme.notification_border_color = theme.transparent - theme.notification_spacing = dpi(0) - theme.notification_icon_resize_strategy = 'center' - theme.notification_icon_size = dpi(32) - - -- Client Snap Theme - - theme.snap_bg = theme.background - theme.snap_shape = gears.shape.rectangle - theme.snap_border_width = dpi(15) - - -- Hotkey popup - - theme.hotkeys_font = 'SF Pro Text Bold' - theme.hotkeys_description_font = 'SF Pro Text Regular Regular' - theme.hotkeys_bg = theme.background - theme.hotkeys_group_margin = dpi(20) - - -end - -return { - theme = theme, - awesome_overrides = awesome_overrides -} diff --git a/awesome/theme/floppy-theme/init.lua b/awesome/theme/floppy-theme/init.lua deleted file mode 100644 index 82e2364..0000000 --- a/awesome/theme/floppy-theme/init.lua +++ /dev/null @@ -1,54 +0,0 @@ -local filesystem = require('gears.filesystem') -local theme_dir = filesystem.get_configuration_dir() .. '/theme' - -local theme = {} - -theme.icons = theme_dir .. '/icons/' -theme.font = 'SF Pro Text Regular 10' -theme.font_bold = 'SF Pro Text Bold 10' - - --- Colorscheme -theme.system_black_dark = '#3D4C5F' -theme.system_black_light = '#56687E' - -theme.system_red_dark = '#EE4F84' -theme.system_red_light = '#F48FB1' - -theme.system_green_dark = '#53E2AE' -theme.system_green_light = '#A1EFD3' - -theme.system_yellow_dark = '#F1FF52' -theme.system_yellow_light = '#F1FA8C' - -theme.system_blue_dark = '#6498EF' -theme.system_blue_light = '#92B6F4' - -theme.system_magenta_dark = '#985EFF' -theme.system_magenta_light = '#BD99FF' - -theme.system_cyan_dark = '#24D1E7' -theme.system_cyan_light = '#87DFEB' - -theme.system_white_dark = '#E5E5E5' -theme.system_white_light = '#F8F8F2' - - --- Accent color -theme.accent = theme.system_blue_dark - --- Background color -theme.background = '#000000' .. '66' - --- Transparent -theme.transparent = '#00000000' - --- Awesome icon -theme.awesome_icon = theme.icons .. 'awesome.svg' - -local awesome_overrides = function(theme) end - -return { - theme = theme, - awesome_overrides = awesome_overrides -} diff --git a/awesome/theme/icons/awesome.svg b/awesome/theme/icons/awesome.svg deleted file mode 100644 index 31d715c..0000000 --- a/awesome/theme/icons/awesome.svg +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/battery-charge.svg b/awesome/theme/icons/battery-charge.svg deleted file mode 100644 index f8efe9c..0000000 --- a/awesome/theme/icons/battery-charge.svg +++ /dev/null @@ -1,58 +0,0 @@ - -image/svg+xml - - - - \ No newline at end of file diff --git a/awesome/theme/icons/battery-discharge.svg b/awesome/theme/icons/battery-discharge.svg deleted file mode 100644 index 908ce15..0000000 --- a/awesome/theme/icons/battery-discharge.svg +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/brightness-7.svg b/awesome/theme/icons/brightness-7.svg deleted file mode 100644 index 862549e..0000000 --- a/awesome/theme/icons/brightness-7.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/chart-areaspline.svg b/awesome/theme/icons/chart-areaspline.svg deleted file mode 100644 index 58bf0d3..0000000 --- a/awesome/theme/icons/chart-areaspline.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/close.svg b/awesome/theme/icons/close.svg deleted file mode 100644 index bd89d79..0000000 --- a/awesome/theme/icons/close.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/effects.svg b/awesome/theme/icons/effects.svg deleted file mode 100644 index e6c514b..0000000 --- a/awesome/theme/icons/effects.svg +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - diff --git a/awesome/theme/icons/harddisk.svg b/awesome/theme/icons/harddisk.svg deleted file mode 100644 index 4c23f54..0000000 --- a/awesome/theme/icons/harddisk.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/init.lua b/awesome/theme/icons/init.lua deleted file mode 100644 index 5cf636b..0000000 --- a/awesome/theme/icons/init.lua +++ /dev/null @@ -1,42 +0,0 @@ --- Icons directory -local dir = os.getenv('HOME') .. '/.config/awesome/theme/icons/' - - -return { - - -- Action Bar - web_browser = dir .. 'tag-list/' .. 'web-browser.svg', - text_editor = dir .. 'tag-list/' .. 'text-editor.svg', - social = dir .. 'tag-list/' .. 'social.svg', - file_manager = dir .. 'tag-list/' .. 'file-manager.svg', - multimedia = dir .. 'tag-list/' .. 'multimedia.svg', - games = dir .. 'tag-list/' .. 'games.svg', - development = dir .. 'tag-list/' .. 'development.svg', - sandbox = dir .. 'tag-list/' .. 'sandbox.svg', - terminal = dir .. 'tag-list/' .. 'terminal.svg', - graphics = dir .. 'tag-list/' .. 'graphics.svg', - menu = dir .. 'tag-list/' .. 'menu.svg', - close_small = dir .. 'tag-list/' .. 'close-small.svg', - - -- Others/System UI - close = dir .. 'close.svg', - logout = dir .. 'logout.svg', - sleep = dir .. 'power-sleep.svg', - power = dir .. 'power.svg', - lock = dir .. 'lock.svg', - restart = dir .. 'restart.svg', - search = dir .. 'magnify.svg', - volume = dir .. 'volume-high.svg', - brightness = dir .. 'brightness-7.svg', - effects = dir .. 'effects.svg', - chart = dir .. 'chart-areaspline.svg', - memory = dir .. 'memory.svg', - harddisk = dir .. 'harddisk.svg', - thermometer = dir .. 'thermometer.svg', - plus = dir .. 'plus.svg', - batt_charging = dir .. 'battery-charge.svg', - batt_discharging = dir .. 'battery-discharge.svg', - toggled_on = dir .. 'toggled-on.svg', - toggled_off = dir .. 'toggled-off.svg' - -} diff --git a/awesome/theme/icons/layouts/dwindle.svg b/awesome/theme/icons/layouts/dwindle.svg deleted file mode 100644 index 9e59058..0000000 --- a/awesome/theme/icons/layouts/dwindle.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/layouts/floating.svg b/awesome/theme/icons/layouts/floating.svg deleted file mode 100644 index 5dcd846..0000000 --- a/awesome/theme/icons/layouts/floating.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/layouts/fullscreen.svg b/awesome/theme/icons/layouts/fullscreen.svg deleted file mode 100644 index 6ba320b..0000000 --- a/awesome/theme/icons/layouts/fullscreen.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - diff --git a/awesome/theme/icons/layouts/max.svg b/awesome/theme/icons/layouts/max.svg deleted file mode 100644 index f1b2b2d..0000000 --- a/awesome/theme/icons/layouts/max.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - diff --git a/awesome/theme/icons/layouts/tile.svg b/awesome/theme/icons/layouts/tile.svg deleted file mode 100644 index ea62c5d..0000000 --- a/awesome/theme/icons/layouts/tile.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/lock.svg b/awesome/theme/icons/lock.svg deleted file mode 100644 index ac383ed..0000000 --- a/awesome/theme/icons/lock.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/logout.svg b/awesome/theme/icons/logout.svg deleted file mode 100644 index 4689c49..0000000 --- a/awesome/theme/icons/logout.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/magnify.svg b/awesome/theme/icons/magnify.svg deleted file mode 100644 index 40d9c1a..0000000 --- a/awesome/theme/icons/magnify.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/memory.svg b/awesome/theme/icons/memory.svg deleted file mode 100644 index 0cf4b10..0000000 --- a/awesome/theme/icons/memory.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/plus.svg b/awesome/theme/icons/plus.svg deleted file mode 100644 index 737cad4..0000000 --- a/awesome/theme/icons/plus.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/power-sleep.svg b/awesome/theme/icons/power-sleep.svg deleted file mode 100644 index a4dbfc0..0000000 --- a/awesome/theme/icons/power-sleep.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/power.svg b/awesome/theme/icons/power.svg deleted file mode 100644 index 770943b..0000000 --- a/awesome/theme/icons/power.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/restart.svg b/awesome/theme/icons/restart.svg deleted file mode 100644 index f0c3367..0000000 --- a/awesome/theme/icons/restart.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/ship-wheel.svg b/awesome/theme/icons/ship-wheel.svg deleted file mode 100644 index 5237ed3..0000000 --- a/awesome/theme/icons/ship-wheel.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/tag-list/close-small.svg b/awesome/theme/icons/tag-list/close-small.svg deleted file mode 100644 index f244bae..0000000 --- a/awesome/theme/icons/tag-list/close-small.svg +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - diff --git a/awesome/theme/icons/tag-list/development.svg b/awesome/theme/icons/tag-list/development.svg deleted file mode 100644 index 773a538..0000000 --- a/awesome/theme/icons/tag-list/development.svg +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/awesome/theme/icons/tag-list/file-manager.svg b/awesome/theme/icons/tag-list/file-manager.svg deleted file mode 100644 index ba04747..0000000 --- a/awesome/theme/icons/tag-list/file-manager.svg +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/awesome/theme/icons/tag-list/games.svg b/awesome/theme/icons/tag-list/games.svg deleted file mode 100644 index 6314387..0000000 --- a/awesome/theme/icons/tag-list/games.svg +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - diff --git a/awesome/theme/icons/tag-list/graphics.svg b/awesome/theme/icons/tag-list/graphics.svg deleted file mode 100644 index caefefb..0000000 --- a/awesome/theme/icons/tag-list/graphics.svg +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/awesome/theme/icons/tag-list/menu.svg b/awesome/theme/icons/tag-list/menu.svg deleted file mode 100644 index c95ecd7..0000000 --- a/awesome/theme/icons/tag-list/menu.svg +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - diff --git a/awesome/theme/icons/tag-list/menu2.svg b/awesome/theme/icons/tag-list/menu2.svg deleted file mode 100644 index 3e82e3d..0000000 --- a/awesome/theme/icons/tag-list/menu2.svg +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/awesome/theme/icons/tag-list/multimedia.svg b/awesome/theme/icons/tag-list/multimedia.svg deleted file mode 100644 index ff5f5b0..0000000 --- a/awesome/theme/icons/tag-list/multimedia.svg +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - diff --git a/awesome/theme/icons/tag-list/sandbox.svg b/awesome/theme/icons/tag-list/sandbox.svg deleted file mode 100644 index 67c1921..0000000 --- a/awesome/theme/icons/tag-list/sandbox.svg +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - diff --git a/awesome/theme/icons/tag-list/social.svg b/awesome/theme/icons/tag-list/social.svg deleted file mode 100644 index 7217709..0000000 --- a/awesome/theme/icons/tag-list/social.svg +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - diff --git a/awesome/theme/icons/tag-list/terminal.svg b/awesome/theme/icons/tag-list/terminal.svg deleted file mode 100644 index 3c4fc1f..0000000 --- a/awesome/theme/icons/tag-list/terminal.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - diff --git a/awesome/theme/icons/tag-list/text-editor.svg b/awesome/theme/icons/tag-list/text-editor.svg deleted file mode 100644 index 4aa63b8..0000000 --- a/awesome/theme/icons/tag-list/text-editor.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - diff --git a/awesome/theme/icons/tag-list/web-browser.svg b/awesome/theme/icons/tag-list/web-browser.svg deleted file mode 100644 index 4b97514..0000000 --- a/awesome/theme/icons/tag-list/web-browser.svg +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - diff --git a/awesome/theme/icons/thermometer.svg b/awesome/theme/icons/thermometer.svg deleted file mode 100644 index 5c25a1e..0000000 --- a/awesome/theme/icons/thermometer.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/stoplight/close_focus.svg b/awesome/theme/icons/titlebar/stoplight/close_focus.svg deleted file mode 100644 index 8b63331..0000000 --- a/awesome/theme/icons/titlebar/stoplight/close_focus.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/stoplight/close_focus_hover.svg b/awesome/theme/icons/titlebar/stoplight/close_focus_hover.svg deleted file mode 100644 index 2d77a2f..0000000 --- a/awesome/theme/icons/titlebar/stoplight/close_focus_hover.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/stoplight/close_normal.svg b/awesome/theme/icons/titlebar/stoplight/close_normal.svg deleted file mode 100644 index 6acee08..0000000 --- a/awesome/theme/icons/titlebar/stoplight/close_normal.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/stoplight/close_normal_hover.svg b/awesome/theme/icons/titlebar/stoplight/close_normal_hover.svg deleted file mode 100644 index 2d77a2f..0000000 --- a/awesome/theme/icons/titlebar/stoplight/close_normal_hover.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/stoplight/floating_focus_active.svg b/awesome/theme/icons/titlebar/stoplight/floating_focus_active.svg deleted file mode 100644 index ae9727f..0000000 --- a/awesome/theme/icons/titlebar/stoplight/floating_focus_active.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/stoplight/floating_focus_active_hover.svg b/awesome/theme/icons/titlebar/stoplight/floating_focus_active_hover.svg deleted file mode 100644 index 2faad37..0000000 --- a/awesome/theme/icons/titlebar/stoplight/floating_focus_active_hover.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/stoplight/floating_focus_inactive.svg b/awesome/theme/icons/titlebar/stoplight/floating_focus_inactive.svg deleted file mode 100644 index ae9727f..0000000 --- a/awesome/theme/icons/titlebar/stoplight/floating_focus_inactive.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/stoplight/floating_focus_inactive_hover.svg b/awesome/theme/icons/titlebar/stoplight/floating_focus_inactive_hover.svg deleted file mode 100644 index 2faad37..0000000 --- a/awesome/theme/icons/titlebar/stoplight/floating_focus_inactive_hover.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/stoplight/floating_normal_active.svg b/awesome/theme/icons/titlebar/stoplight/floating_normal_active.svg deleted file mode 100644 index 6acee08..0000000 --- a/awesome/theme/icons/titlebar/stoplight/floating_normal_active.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/stoplight/floating_normal_active_hover.svg b/awesome/theme/icons/titlebar/stoplight/floating_normal_active_hover.svg deleted file mode 100644 index 2faad37..0000000 --- a/awesome/theme/icons/titlebar/stoplight/floating_normal_active_hover.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/stoplight/floating_normal_inactive.svg b/awesome/theme/icons/titlebar/stoplight/floating_normal_inactive.svg deleted file mode 100644 index 6acee08..0000000 --- a/awesome/theme/icons/titlebar/stoplight/floating_normal_inactive.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/stoplight/floating_normal_inactive_hover.svg b/awesome/theme/icons/titlebar/stoplight/floating_normal_inactive_hover.svg deleted file mode 100644 index 2faad37..0000000 --- a/awesome/theme/icons/titlebar/stoplight/floating_normal_inactive_hover.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/stoplight/maximized_focus_active.svg b/awesome/theme/icons/titlebar/stoplight/maximized_focus_active.svg deleted file mode 100644 index e522d74..0000000 --- a/awesome/theme/icons/titlebar/stoplight/maximized_focus_active.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/stoplight/maximized_focus_active_hover.svg b/awesome/theme/icons/titlebar/stoplight/maximized_focus_active_hover.svg deleted file mode 100644 index 7a5c055..0000000 --- a/awesome/theme/icons/titlebar/stoplight/maximized_focus_active_hover.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/stoplight/maximized_focus_inactive.svg b/awesome/theme/icons/titlebar/stoplight/maximized_focus_inactive.svg deleted file mode 100644 index e522d74..0000000 --- a/awesome/theme/icons/titlebar/stoplight/maximized_focus_inactive.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/stoplight/maximized_focus_inactive_hover.svg b/awesome/theme/icons/titlebar/stoplight/maximized_focus_inactive_hover.svg deleted file mode 100644 index 7a5c055..0000000 --- a/awesome/theme/icons/titlebar/stoplight/maximized_focus_inactive_hover.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/stoplight/maximized_normal_active.svg b/awesome/theme/icons/titlebar/stoplight/maximized_normal_active.svg deleted file mode 100644 index 6acee08..0000000 --- a/awesome/theme/icons/titlebar/stoplight/maximized_normal_active.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/stoplight/maximized_normal_active_hover.svg b/awesome/theme/icons/titlebar/stoplight/maximized_normal_active_hover.svg deleted file mode 100644 index 7a5c055..0000000 --- a/awesome/theme/icons/titlebar/stoplight/maximized_normal_active_hover.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/stoplight/maximized_normal_inactive.svg b/awesome/theme/icons/titlebar/stoplight/maximized_normal_inactive.svg deleted file mode 100644 index 6acee08..0000000 --- a/awesome/theme/icons/titlebar/stoplight/maximized_normal_inactive.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/stoplight/maximized_normal_inactive_hover.svg b/awesome/theme/icons/titlebar/stoplight/maximized_normal_inactive_hover.svg deleted file mode 100644 index 7a5c055..0000000 --- a/awesome/theme/icons/titlebar/stoplight/maximized_normal_inactive_hover.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/stoplight/minimize_focus.svg b/awesome/theme/icons/titlebar/stoplight/minimize_focus.svg deleted file mode 100644 index 215d91c..0000000 --- a/awesome/theme/icons/titlebar/stoplight/minimize_focus.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/stoplight/minimize_focus_hover.svg b/awesome/theme/icons/titlebar/stoplight/minimize_focus_hover.svg deleted file mode 100644 index 282d8b0..0000000 --- a/awesome/theme/icons/titlebar/stoplight/minimize_focus_hover.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/stoplight/minimize_normal.svg b/awesome/theme/icons/titlebar/stoplight/minimize_normal.svg deleted file mode 100644 index 6acee08..0000000 --- a/awesome/theme/icons/titlebar/stoplight/minimize_normal.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/stoplight/minimize_normal_hover.svg b/awesome/theme/icons/titlebar/stoplight/minimize_normal_hover.svg deleted file mode 100644 index 282d8b0..0000000 --- a/awesome/theme/icons/titlebar/stoplight/minimize_normal_hover.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/stoplight/ontop_focus_active.svg b/awesome/theme/icons/titlebar/stoplight/ontop_focus_active.svg deleted file mode 100644 index 432f74f..0000000 --- a/awesome/theme/icons/titlebar/stoplight/ontop_focus_active.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/stoplight/ontop_focus_active_hover.svg b/awesome/theme/icons/titlebar/stoplight/ontop_focus_active_hover.svg deleted file mode 100644 index a3da6d2..0000000 --- a/awesome/theme/icons/titlebar/stoplight/ontop_focus_active_hover.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/stoplight/ontop_focus_inactive.svg b/awesome/theme/icons/titlebar/stoplight/ontop_focus_inactive.svg deleted file mode 100644 index 432f74f..0000000 --- a/awesome/theme/icons/titlebar/stoplight/ontop_focus_inactive.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/stoplight/ontop_focus_inactive_hover.svg b/awesome/theme/icons/titlebar/stoplight/ontop_focus_inactive_hover.svg deleted file mode 100644 index a3da6d2..0000000 --- a/awesome/theme/icons/titlebar/stoplight/ontop_focus_inactive_hover.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/stoplight/ontop_normal_active.svg b/awesome/theme/icons/titlebar/stoplight/ontop_normal_active.svg deleted file mode 100644 index 6acee08..0000000 --- a/awesome/theme/icons/titlebar/stoplight/ontop_normal_active.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/stoplight/ontop_normal_active_hover.svg b/awesome/theme/icons/titlebar/stoplight/ontop_normal_active_hover.svg deleted file mode 100644 index a3da6d2..0000000 --- a/awesome/theme/icons/titlebar/stoplight/ontop_normal_active_hover.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/stoplight/ontop_normal_inactive.svg b/awesome/theme/icons/titlebar/stoplight/ontop_normal_inactive.svg deleted file mode 100644 index 6acee08..0000000 --- a/awesome/theme/icons/titlebar/stoplight/ontop_normal_inactive.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/stoplight/ontop_normal_inactive_hover.svg b/awesome/theme/icons/titlebar/stoplight/ontop_normal_inactive_hover.svg deleted file mode 100644 index a3da6d2..0000000 --- a/awesome/theme/icons/titlebar/stoplight/ontop_normal_inactive_hover.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/stoplight/sticky_focus_active.svg b/awesome/theme/icons/titlebar/stoplight/sticky_focus_active.svg deleted file mode 100644 index 47248cb..0000000 --- a/awesome/theme/icons/titlebar/stoplight/sticky_focus_active.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/stoplight/sticky_focus_active_hover.svg b/awesome/theme/icons/titlebar/stoplight/sticky_focus_active_hover.svg deleted file mode 100644 index fe22df2..0000000 --- a/awesome/theme/icons/titlebar/stoplight/sticky_focus_active_hover.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/stoplight/sticky_focus_inactive.svg b/awesome/theme/icons/titlebar/stoplight/sticky_focus_inactive.svg deleted file mode 100644 index 47248cb..0000000 --- a/awesome/theme/icons/titlebar/stoplight/sticky_focus_inactive.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/stoplight/sticky_focus_inactive_hover.svg b/awesome/theme/icons/titlebar/stoplight/sticky_focus_inactive_hover.svg deleted file mode 100644 index fe22df2..0000000 --- a/awesome/theme/icons/titlebar/stoplight/sticky_focus_inactive_hover.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/stoplight/sticky_normal_active.svg b/awesome/theme/icons/titlebar/stoplight/sticky_normal_active.svg deleted file mode 100644 index 6acee08..0000000 --- a/awesome/theme/icons/titlebar/stoplight/sticky_normal_active.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/stoplight/sticky_normal_active_hover.svg b/awesome/theme/icons/titlebar/stoplight/sticky_normal_active_hover.svg deleted file mode 100644 index fe22df2..0000000 --- a/awesome/theme/icons/titlebar/stoplight/sticky_normal_active_hover.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/stoplight/sticky_normal_inactive.svg b/awesome/theme/icons/titlebar/stoplight/sticky_normal_inactive.svg deleted file mode 100644 index 6acee08..0000000 --- a/awesome/theme/icons/titlebar/stoplight/sticky_normal_inactive.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/stoplight/sticky_normal_inactive_hover.svg b/awesome/theme/icons/titlebar/stoplight/sticky_normal_inactive_hover.svg deleted file mode 100644 index fe22df2..0000000 --- a/awesome/theme/icons/titlebar/stoplight/sticky_normal_inactive_hover.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/win10/close_focus.svg b/awesome/theme/icons/titlebar/win10/close_focus.svg deleted file mode 100644 index d1bc232..0000000 --- a/awesome/theme/icons/titlebar/win10/close_focus.svg +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/win10/close_normal.svg b/awesome/theme/icons/titlebar/win10/close_normal.svg deleted file mode 100644 index d013ac8..0000000 --- a/awesome/theme/icons/titlebar/win10/close_normal.svg +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/win10/close_normal_hover.svg b/awesome/theme/icons/titlebar/win10/close_normal_hover.svg deleted file mode 100644 index d1bc232..0000000 --- a/awesome/theme/icons/titlebar/win10/close_normal_hover.svg +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/win10/floating_focus_active.svg b/awesome/theme/icons/titlebar/win10/floating_focus_active.svg deleted file mode 100644 index cdda009..0000000 --- a/awesome/theme/icons/titlebar/win10/floating_focus_active.svg +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/win10/floating_focus_active_hover.svg b/awesome/theme/icons/titlebar/win10/floating_focus_active_hover.svg deleted file mode 100644 index cdda009..0000000 --- a/awesome/theme/icons/titlebar/win10/floating_focus_active_hover.svg +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/win10/floating_focus_inactive.svg b/awesome/theme/icons/titlebar/win10/floating_focus_inactive.svg deleted file mode 100644 index cdda009..0000000 --- a/awesome/theme/icons/titlebar/win10/floating_focus_inactive.svg +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/win10/floating_focus_inactive_hover.svg b/awesome/theme/icons/titlebar/win10/floating_focus_inactive_hover.svg deleted file mode 100644 index cdda009..0000000 --- a/awesome/theme/icons/titlebar/win10/floating_focus_inactive_hover.svg +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/win10/floating_normal_active.svg b/awesome/theme/icons/titlebar/win10/floating_normal_active.svg deleted file mode 100644 index 6f0faf1..0000000 --- a/awesome/theme/icons/titlebar/win10/floating_normal_active.svg +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/win10/floating_normal_active_hover.svg b/awesome/theme/icons/titlebar/win10/floating_normal_active_hover.svg deleted file mode 100644 index cdda009..0000000 --- a/awesome/theme/icons/titlebar/win10/floating_normal_active_hover.svg +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/win10/floating_normal_inactive.svg b/awesome/theme/icons/titlebar/win10/floating_normal_inactive.svg deleted file mode 100644 index 6f0faf1..0000000 --- a/awesome/theme/icons/titlebar/win10/floating_normal_inactive.svg +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/win10/floating_normal_inactive_hover.svg b/awesome/theme/icons/titlebar/win10/floating_normal_inactive_hover.svg deleted file mode 100644 index cdda009..0000000 --- a/awesome/theme/icons/titlebar/win10/floating_normal_inactive_hover.svg +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/win10/maximized_focus_active.svg b/awesome/theme/icons/titlebar/win10/maximized_focus_active.svg deleted file mode 100644 index 6b6452c..0000000 --- a/awesome/theme/icons/titlebar/win10/maximized_focus_active.svg +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/win10/maximized_focus_active_hover.svg b/awesome/theme/icons/titlebar/win10/maximized_focus_active_hover.svg deleted file mode 100644 index 6b6452c..0000000 --- a/awesome/theme/icons/titlebar/win10/maximized_focus_active_hover.svg +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/win10/maximized_focus_inactive.svg b/awesome/theme/icons/titlebar/win10/maximized_focus_inactive.svg deleted file mode 100644 index 6b6452c..0000000 --- a/awesome/theme/icons/titlebar/win10/maximized_focus_inactive.svg +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/win10/maximized_focus_inactive_hover.svg b/awesome/theme/icons/titlebar/win10/maximized_focus_inactive_hover.svg deleted file mode 100644 index 6b6452c..0000000 --- a/awesome/theme/icons/titlebar/win10/maximized_focus_inactive_hover.svg +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/win10/maximized_normal_active.svg b/awesome/theme/icons/titlebar/win10/maximized_normal_active.svg deleted file mode 100644 index d9dea80..0000000 --- a/awesome/theme/icons/titlebar/win10/maximized_normal_active.svg +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/win10/maximized_normal_active_hover.svg b/awesome/theme/icons/titlebar/win10/maximized_normal_active_hover.svg deleted file mode 100644 index 6b6452c..0000000 --- a/awesome/theme/icons/titlebar/win10/maximized_normal_active_hover.svg +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/win10/maximized_normal_inactive.svg b/awesome/theme/icons/titlebar/win10/maximized_normal_inactive.svg deleted file mode 100644 index d9dea80..0000000 --- a/awesome/theme/icons/titlebar/win10/maximized_normal_inactive.svg +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/win10/maximized_normal_inactive_hover.svg b/awesome/theme/icons/titlebar/win10/maximized_normal_inactive_hover.svg deleted file mode 100644 index 6b6452c..0000000 --- a/awesome/theme/icons/titlebar/win10/maximized_normal_inactive_hover.svg +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/win10/minimize_focus.svg b/awesome/theme/icons/titlebar/win10/minimize_focus.svg deleted file mode 100644 index b8a5cc7..0000000 --- a/awesome/theme/icons/titlebar/win10/minimize_focus.svg +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/win10/minimize_focus_hover.svg b/awesome/theme/icons/titlebar/win10/minimize_focus_hover.svg deleted file mode 100644 index b8a5cc7..0000000 --- a/awesome/theme/icons/titlebar/win10/minimize_focus_hover.svg +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/win10/minimize_normal.svg b/awesome/theme/icons/titlebar/win10/minimize_normal.svg deleted file mode 100644 index a3efb9b..0000000 --- a/awesome/theme/icons/titlebar/win10/minimize_normal.svg +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/titlebar/win10/minimize_normal_hover.svg b/awesome/theme/icons/titlebar/win10/minimize_normal_hover.svg deleted file mode 100644 index b8a5cc7..0000000 --- a/awesome/theme/icons/titlebar/win10/minimize_normal_hover.svg +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/icons/toggled-off.svg b/awesome/theme/icons/toggled-off.svg deleted file mode 100644 index a73de49..0000000 --- a/awesome/theme/icons/toggled-off.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - - - - diff --git a/awesome/theme/icons/toggled-on.svg b/awesome/theme/icons/toggled-on.svg deleted file mode 100644 index a75ef1c..0000000 --- a/awesome/theme/icons/toggled-on.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - - - - diff --git a/awesome/theme/icons/volume-high.svg b/awesome/theme/icons/volume-high.svg deleted file mode 100644 index 7a59aa1..0000000 --- a/awesome/theme/icons/volume-high.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - diff --git a/awesome/theme/init.lua b/awesome/theme/init.lua deleted file mode 100644 index 23b0af5..0000000 --- a/awesome/theme/init.lua +++ /dev/null @@ -1,12 +0,0 @@ -local gtable = require('gears.table') -local default_theme = require('theme.default-theme') --- PICK THEME HERE -local theme = require('theme.floppy-theme') - -local final_theme = {} -gtable.crush(final_theme, default_theme.theme) -gtable.crush(final_theme, theme.theme) -default_theme.awesome_overrides(final_theme) -theme.awesome_overrides(final_theme) - -return final_theme diff --git a/awesome/theme/wallpapers/LICENSE b/awesome/theme/wallpapers/LICENSE deleted file mode 100644 index 730138d..0000000 --- a/awesome/theme/wallpapers/LICENSE +++ /dev/null @@ -1,2 +0,0 @@ -THESE WALLPAPERS ARE NOT MINE IT IS OWNED BY THEIR RESPECTIVE OWNERS. -CREDITS TO THE OWNERS. diff --git a/awesome/theme/wallpapers/midnight-wallpaper.jpg b/awesome/theme/wallpapers/midnight-wallpaper.jpg deleted file mode 100644 index 0a50832..0000000 Binary files a/awesome/theme/wallpapers/midnight-wallpaper.jpg and /dev/null differ diff --git a/awesome/theme/wallpapers/morning-wallpaper.jpg b/awesome/theme/wallpapers/morning-wallpaper.jpg deleted file mode 100644 index a31cb9b..0000000 Binary files a/awesome/theme/wallpapers/morning-wallpaper.jpg and /dev/null differ diff --git a/awesome/theme/wallpapers/night-wallpaper.jpg b/awesome/theme/wallpapers/night-wallpaper.jpg deleted file mode 100644 index 95408ec..0000000 Binary files a/awesome/theme/wallpapers/night-wallpaper.jpg and /dev/null differ diff --git a/awesome/theme/wallpapers/noon-wallpaper.jpg b/awesome/theme/wallpapers/noon-wallpaper.jpg deleted file mode 100644 index 81382cb..0000000 Binary files a/awesome/theme/wallpapers/noon-wallpaper.jpg and /dev/null differ diff --git a/awesomeshrt b/awesomeshrt new file mode 160000 index 0000000..d6ab61b --- /dev/null +++ b/awesomeshrt @@ -0,0 +1 @@ +Subproject commit d6ab61b64340eb197e06d01646beee82d64aba99 diff --git a/awesomestarter b/awesomestarter new file mode 160000 index 0000000..e893b94 --- /dev/null +++ b/awesomestarter @@ -0,0 +1 @@ +Subproject commit e893b94cdb6990faf1b3ac7b8d414b2b306ef2ac diff --git a/picom.conf b/picom.conf index 1d92582..1c73732 100644 --- a/picom.conf +++ b/picom.conf @@ -9,7 +9,9 @@ rounded-corners-exclude = [ "class_g = 'URxvt'", "class_g = 'XTerm'", "class_g = 'kitty'", + #"class_g = 'emacs'", "class_g = 'Polybar'", + #"class_g = 'qutebrowser'", #"class_g = 'TelegramDesktop'", # "class_g = 'firefox'", "class_g = 'Thunderbird'" @@ -33,18 +35,18 @@ shadow = true; # The blur radius for shadows, in pixels. (defaults to 12) # shadow-radius = 12 -shadow-radius = 6; +shadow-radius = 9; # The opacity of shadows. (0.0 - 1.0, defaults to 0.75) shadow-opacity = .75 # The left offset for shadows, in pixels. (defaults to -15) # shadow-offset-x = -15 -shadow-offset-x = 1; +shadow-offset-x = 2; # The top offset for shadows, in pixels. (defaults to -15) # shadow-offset-y = -15 -shadow-offset-y = 1; +shadow-offset-y = 2; # Avoid drawing shadows on dock/panel windows. This option is deprecated, # you should use the *wintypes* option in your config file instead. @@ -98,7 +100,7 @@ shadow-exclude = [ # shadow-exclude-reg = "x10+0+0" # for example, if the 10 pixels on the bottom of the screen should not have shadows painted on. # -shadow-exclude-reg = "x50+0+0" +shadow-exclude-reg = "x0+0+0" # Crop shadow of a window fully on a particular Xinerama screen to the screen. # xinerama-shadow-crop = false diff --git a/qutebrowser/autoconfig.yml b/qutebrowser/autoconfig.yml new file mode 100644 index 0000000..ffd8047 --- /dev/null +++ b/qutebrowser/autoconfig.yml @@ -0,0 +1,10 @@ +# If a config.py file exists, this file is ignored unless it's explicitly loaded +# via config.load_autoconfig(). For more information, see: +# https://github.com/qutebrowser/qutebrowser/blob/master/doc/help/configuring.asciidoc#loading-autoconfigyml +# DO NOT edit this file by hand, qutebrowser will overwrite it. +# Instead, create a config.py - see :help for details. + +config_version: 2 +settings: + content.notifications: + https://192.168.1.35: true diff --git a/qutebrowser/bitwarden.py b/qutebrowser/bitwarden.py new file mode 100644 index 0000000..4650a1b --- /dev/null +++ b/qutebrowser/bitwarden.py @@ -0,0 +1,302 @@ +#!/usr/bin/env python3 + +# Copyright 2017 Chris Braun (cryzed) +# Adapted for Bitwarden by Jonathan Haylett (JonnyHaystack) +# +# This file is part of qutebrowser. +# +# qutebrowser is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published bjy +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# qutebrowser is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with qutebrowser. If not, see . + +""" +Insert login information using Bitwarden CLI and a dmenu-compatible application +(e.g. dmenu, rofi -dmenu, ...). +""" + +USAGE = """The domain of the site has to be in the name of the Bitwarden entry, for example: "github.com/cryzed" or +"websites/github.com". The login information is inserted by emulating key events using qutebrowser's fake-key command in this manner: +[USERNAME][PASSWORD], which is compatible with almost all login forms. + +If enabled, with the `--totp` flag, it will also move the TOTP code to the +clipboard, much like the Firefox add-on. + +You must log into Bitwarden CLI using `bw login` prior to use of this script. +The session key will be stored using keyctl for the number of seconds passed to +the --auto-lock option. + +To use in qutebrowser, run: `spawn --userscript bitwarden` +""" + +EPILOG = """Dependencies: tldextract (Python 3 module), pyperclip (optional +Python module, used for TOTP codes), Bitwarden CLI (1.7.4 is known to work +but older versions may well also work) + +WARNING: The login details are viewable as plaintext in qutebrowser's debug log +(qute://log) and might be shared if you decide to submit a crash report!""" + +import argparse +import enum +import functools +import os +import shlex +import subprocess +import sys +import json +import tldextract + +argument_parser = argparse.ArgumentParser( + description=__doc__, + usage=USAGE, + epilog=EPILOG, +) +argument_parser.add_argument('url', nargs='?', default=os.getenv('QUTE_URL')) +argument_parser.add_argument('--dmenu-invocation', '-d', default='rofi -dmenu -i -p Bitwarden', + help='Invocation used to execute a dmenu-provider') +argument_parser.add_argument('--no-insert-mode', '-n', dest='insert_mode', action='store_false', + help="Don't automatically enter insert mode") +argument_parser.add_argument('--totp', '-t', action='store_true', + help="Copy TOTP key to clipboard") +argument_parser.add_argument('--io-encoding', '-i', default='UTF-8', + help='Encoding used to communicate with subprocesses') +argument_parser.add_argument('--merge-candidates', '-m', action='store_true', + help='Merge pass candidates for fully-qualified and registered domain name') +argument_parser.add_argument('--auto-lock', type=int, default=900, + help='Automatically lock the vault after this many seconds') +group = argument_parser.add_mutually_exclusive_group() +group.add_argument('--username-only', '-e', + action='store_true', help='Only insert username') +group.add_argument('--password-only', '-w', + action='store_true', help='Only insert password') +group.add_argument('--totp-only', '-T', + action='store_true', help='Only insert totp code') + +stderr = functools.partial(print, file=sys.stderr) + + +class ExitCodes(enum.IntEnum): + SUCCESS = 0 + FAILURE = 1 + # 1 is automatically used if Python throws an exception + NO_PASS_CANDIDATES = 2 + COULD_NOT_MATCH_USERNAME = 3 + COULD_NOT_MATCH_PASSWORD = 4 + + +def qute_command(command): + with open(os.environ['QUTE_FIFO'], 'w') as fifo: + fifo.write(command + '\n') + fifo.flush() + + +def ask_password(): + process = subprocess.run([ + 'rofi', + '-dmenu', + '-p', + 'Master Password', + '-password', + '-lines', + '0', + ], universal_newlines=True, stdout=subprocess.PIPE) + if process.returncode > 0: + raise Exception('Could not unlock vault') + master_pass = process.stdout.strip() + return subprocess.check_output( + ['bw', 'unlock', '--raw', master_pass], + universal_newlines=True, + ).strip() + + +def get_session_key(auto_lock): + if auto_lock == 0: + subprocess.call(['keyctl', 'purge', 'user', 'bw_session']) + return ask_password() + else: + process = subprocess.run( + ['keyctl', 'request', 'user', 'bw_session'], + universal_newlines=True, + stdout=subprocess.PIPE, + ) + key_id = process.stdout.strip() + if process.returncode > 0: + session = ask_password() + if not session: + raise Exception('Could not unlock vault') + key_id = subprocess.check_output( + ['keyctl', 'add', 'user', 'bw_session', session, '@u'], + universal_newlines=True, + ).strip() + + if auto_lock > 0: + subprocess.call(['keyctl', 'timeout', str(key_id), str(auto_lock)]) + return subprocess.check_output( + ['keyctl', 'pipe', str(key_id)], + universal_newlines=True, + ).strip() + + +def pass_(domain, encoding, auto_lock): + session_key = get_session_key(auto_lock) + process = subprocess.run( + ['bw', 'list', 'items', '--session', session_key, '--url', domain], + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + ) + + err = process.stderr.decode(encoding).strip() + if err: + msg = 'Bitwarden CLI returned for {:s} - {:s}'.format(domain, err) + stderr(msg) + return '[]' + + out = process.stdout.decode(encoding).strip() + + return out + + +def get_totp_code(selection_id, domain_name, encoding, auto_lock): + session_key = get_session_key(auto_lock) + process = subprocess.run( + ['bw', 'get', 'totp', '--session', session_key, selection_id], + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + ) + + err = process.stderr.decode(encoding).strip() + if err: + # domain_name instead of selection_id to make it more user-friendly + msg = 'Bitwarden CLI returned for {:s} - {:s}'.format(domain_name, err) + stderr(msg) + return '[]' + + out = process.stdout.decode(encoding).strip() + + return out + + +def dmenu(items, invocation, encoding): + command = shlex.split(invocation) + process = subprocess.run(command, input='\n'.join( + items).encode(encoding), stdout=subprocess.PIPE) + return process.stdout.decode(encoding).strip() + + +def fake_key_raw(text): + for character in text: + # Escape all characters by default, space requires special handling + sequence = '" "' if character == ' ' else '\{}'.format(character) + qute_command('fake-key {}'.format(sequence)) + + +def main(arguments): + if not arguments.url: + argument_parser.print_help() + return ExitCodes.FAILURE + + extract_result = tldextract.extract(arguments.url) + + # Try to find candidates using targets in the following order: fully-qualified domain name (includes subdomains), + # the registered domain name and finally: the IPv4 address if that's what + # the URL represents + candidates = [] + for target in filter(None, [ + extract_result.fqdn, + extract_result.registered_domain, + extract_result.subdomain + extract_result.domain, + extract_result.domain, + extract_result.ipv4]): + target_candidates = json.loads( + pass_( + target, + arguments.io_encoding, + arguments.auto_lock, + ) + ) + if not target_candidates: + continue + + candidates = candidates + target_candidates + if not arguments.merge_candidates: + break + else: + if not candidates: + stderr('No pass candidates for URL {!r} found!'.format( + arguments.url)) + return ExitCodes.NO_PASS_CANDIDATES + + if len(candidates) == 1: + selection = candidates.pop() + else: + choices = ['{:s} | {:s}'.format(c['name'], c['login']['username']) for c in candidates] + choice = dmenu(choices, arguments.dmenu_invocation, arguments.io_encoding) + choice_tokens = choice.split('|') + choice_name = choice_tokens[0].strip() + choice_username = choice_tokens[1].strip() + selection = next((c for (i, c) in enumerate(candidates) + if c['name'] == choice_name + and c['login']['username'] == choice_username), + None) + + # Nothing was selected, simply return + if not selection: + return ExitCodes.SUCCESS + + username = selection['login']['username'] + password = selection['login']['password'] + totp = selection['login']['totp'] + + if arguments.username_only: + fake_key_raw(username) + elif arguments.password_only: + fake_key_raw(password) + elif arguments.totp_only: + # No point in moving it to the clipboard in this case + fake_key_raw( + get_totp_code( + selection['id'], + selection['name'], + arguments.io_encoding, + arguments.auto_lock + ) + ) + else: + # Enter username and password using fake-key and (which seems to work almost universally), then switch + # back into insert-mode, so the form can be directly submitted by + # hitting enter afterwards + fake_key_raw(username) + qute_command('fake-key ') + fake_key_raw(password) + + if arguments.insert_mode: + qute_command('enter-mode insert') + + # If it finds a TOTP code, it copies it to the clipboard, + # which is the same behavior as the Firefox add-on. + if not arguments.totp_only and totp and arguments.totp: + # The import is done here, to make pyperclip an optional dependency + import pyperclip + pyperclip.copy( + get_totp_code( + selection['id'], + selection['name'], + arguments.io_encoding, + arguments.auto_lock + ) + ) + + return ExitCodes.SUCCESS + + +if __name__ == '__main__': + arguments = argument_parser.parse_args() + sys.exit(main(arguments)) diff --git a/qutebrowser/bookmarks/urls b/qutebrowser/bookmarks/urls new file mode 100644 index 0000000..323ee0d --- /dev/null +++ b/qutebrowser/bookmarks/urls @@ -0,0 +1,2 @@ +https://duckduckgo.com/?q=yout&ia=about yout at DuckDuckGo +https://yewtu.be/feed/subscriptions Subscriptions - YewTube diff --git a/qutebrowser/config.py b/qutebrowser/config.py new file mode 100644 index 0000000..f8aac67 --- /dev/null +++ b/qutebrowser/config.py @@ -0,0 +1,2432 @@ +## Autogenerated config.py +## +## NOTE: config.py is intended for advanced users who are comfortable +## with manually migrating the config file on qutebrowser upgrades. If +## you prefer, you can also configure qutebrowser using the +## :set/:bind/:config-* commands without having to write a config.py +## file. +## +## Documentation: +## qute://help/configuring.html +## qute://help/settings.html + +## This is here so configs done via the GUI are still loaded. +## Remove it to not load settings done via the GUI. +# config.load_autoconfig() + +## Aliases for commands. The keys of the given dictionary are the +## aliases, while the values are the commands they map to. +## Type: Dict +# c.aliases = {'w': 'session-save', 'q': 'close', 'qa': 'quit', 'wq': 'quit --save', 'wqa': 'quit --save'} + +## Time interval (in milliseconds) between auto-saves of +## config/cookies/etc. +## Type: Int +# c.auto_save.interval = 15000 + +## Always restore open sites when qutebrowser is reopened. +## Type: Bool +c.auto_save.session = True + +## Backend to use to display websites. qutebrowser supports two different +## web rendering engines / backends, QtWebKit and QtWebEngine. QtWebKit +## was discontinued by the Qt project with Qt 5.6, but picked up as a +## well maintained fork: https://github.com/annulen/webkit/wiki - +## qutebrowser only supports the fork. QtWebEngine is Qt's official +## successor to QtWebKit. It's slightly more resource hungry than +## QtWebKit and has a couple of missing features in qutebrowser, but is +## generally the preferred choice. +## Type: String +## Valid values: +## - webengine: Use QtWebEngine (based on Chromium). +## - webkit: Use QtWebKit (based on WebKit, similar to Safari). +# c.backend = 'webengine' + +## This setting can be used to map keys to other keys. When the key used +## as dictionary-key is pressed, the binding for the key used as +## dictionary-value is invoked instead. This is useful for global +## remappings of keys, for example to map Ctrl-[ to Escape. Note that +## when a key is bound (via `bindings.default` or `bindings.commands`), +## the mapping is ignored. +## Type: Dict +# c.bindings.key_mappings = {'': '', '': '', '': '', '': '', '': '', '': '', '': '', '': '', '': ''} + +## SNAZZY THEME +# base16-qutebrowser (https://github.com/theova/base16-qutebrowser) +# Base16 qutebrowser template by theova +# Snazzy scheme by Chawye Hsu (https://github.com/h404bi) based on Hyper Snazzy Theme (https://github.com/sindresorhus/hyper-snazzy) + +base00 = "#282a36" +base01 = "#34353e" +base02 = "#43454f" +base03 = "#78787e" +base04 = "#a5a5a9" +base05 = "#e2e4e5" +base06 = "#eff0eb" +base07 = "#f1f1f0" +base08 = "#ff5c57" +base09 = "#ff9f43" +base0A = "#f3f99d" +base0B = "#5af78e" +base0C = "#9aedfe" +base0D = "#57c7ff" +base0E = "#ff6ac1" +base0F = "#b2643c" + +# set qutebrowser colors + +# Text color of the completion widget. May be a single color to use for +# all columns or a list of three colors, one for each column. +c.colors.completion.fg = base05 + +# Background color of the completion widget for odd rows. +c.colors.completion.odd.bg = base01 + +# Background color of the completion widget for even rows. +c.colors.completion.even.bg = base00 + +# Foreground color of completion widget category headers. +c.colors.completion.category.fg = base0A + +# Background color of the completion widget category headers. +c.colors.completion.category.bg = base00 + +# Top border color of the completion widget category headers. +c.colors.completion.category.border.top = base00 + +# Bottom border color of the completion widget category headers. +c.colors.completion.category.border.bottom = base00 + +# Foreground color of the selected completion item. +c.colors.completion.item.selected.fg = base01 + +# Background color of the selected completion item. +c.colors.completion.item.selected.bg = base0A + +# Top border color of the selected completion item. +c.colors.completion.item.selected.border.top = base0A + +# Bottom border color of the selected completion item. +c.colors.completion.item.selected.border.bottom = base0A + +# Foreground color of the matched text in the selected completion item. +c.colors.completion.item.selected.match.fg = base08 + +# Foreground color of the matched text in the completion. +c.colors.completion.match.fg = base0B + +# Background color of disabled items in the context menu. +c.colors.contextmenu.disabled.bg = base01 + +# Foreground color of disabled items in the context menu. +c.colors.contextmenu.disabled.fg = base04 + +# Color of the scrollbar handle in the completion view. +c.colors.completion.scrollbar.fg = base05 + +# Color of the scrollbar in the completion view. +c.colors.completion.scrollbar.bg = base00 + +# Background color of the context menu. If set to null, the Qt default is used. +c.colors.contextmenu.menu.bg = base00 + +# Foreground color of the context menu. If set to null, the Qt default is used. +c.colors.contextmenu.menu.fg = base05 + +# Background color of the context menu’s selected item. If set to null, the Qt default is used. +c.colors.contextmenu.selected.bg = base0A + +#Foreground color of the context menu’s selected item. If set to null, the Qt default is used. +c.colors.contextmenu.selected.fg = base01 + +# Background color for the download bar. +c.colors.downloads.bar.bg = base00 + +# Color gradient start for download text. +c.colors.downloads.start.fg = base00 + +# Color gradient start for download backgrounds. +c.colors.downloads.start.bg = base0D + +# Color gradient end for download text. +c.colors.downloads.stop.fg = base00 + +# Color gradient stop for download backgrounds. +c.colors.downloads.stop.bg = base0C + +# Foreground color for downloads with errors. +c.colors.downloads.error.fg = base08 + +# Font color for hints. +c.colors.hints.fg = base00 + +# Background color for hints. Note that you can use a `rgba(...)` value +# for transparency. +c.colors.hints.bg = base0A + +# Font color for the matched part of hints. +c.colors.hints.match.fg = base05 + +# Text color for the keyhint widget. +c.colors.keyhint.fg = base05 + +# Highlight color for keys to complete the current keychain. +c.colors.keyhint.suffix.fg = base05 + +# Background color of the keyhint widget. +c.colors.keyhint.bg = base00 + +# Foreground color of an error message. +c.colors.messages.error.fg = base00 + +# Background color of an error message. +c.colors.messages.error.bg = base08 + +# Border color of an error message. +c.colors.messages.error.border = base08 + +# Foreground color of a warning message. +c.colors.messages.warning.fg = base00 + +# Background color of a warning message. +c.colors.messages.warning.bg = base0E + +# Border color of a warning message. +c.colors.messages.warning.border = base0E + +# Foreground color of an info message. +c.colors.messages.info.fg = base05 + +# Background color of an info message. +c.colors.messages.info.bg = base00 + +# Border color of an info message. +c.colors.messages.info.border = base00 + +# Foreground color for prompts. +c.colors.prompts.fg = base05 + +# Border used around UI elements in prompts. +c.colors.prompts.border = base00 + +# Background color for prompts. +c.colors.prompts.bg = base00 + +# Background color for the selected item in filename prompts. +c.colors.prompts.selected.bg = base0A + +# Foreground color of the statusbar. +c.colors.statusbar.normal.fg = base0B + +# Background color of the statusbar. +c.colors.statusbar.normal.bg = base00 + +# Foreground color of the statusbar in insert mode. +c.colors.statusbar.insert.fg = base00 + +# Background color of the statusbar in insert mode. +c.colors.statusbar.insert.bg = base0D + +# Foreground color of the statusbar in passthrough mode. +c.colors.statusbar.passthrough.fg = base00 + +# Background color of the statusbar in passthrough mode. +c.colors.statusbar.passthrough.bg = base0C + +# Foreground color of the statusbar in private browsing mode. +c.colors.statusbar.private.fg = base00 + +# Background color of the statusbar in private browsing mode. +c.colors.statusbar.private.bg = base01 + +# Foreground color of the statusbar in command mode. +c.colors.statusbar.command.fg = base05 + +# Background color of the statusbar in command mode. +c.colors.statusbar.command.bg = base00 + +# Foreground color of the statusbar in private browsing + command mode. +c.colors.statusbar.command.private.fg = base05 + +# Background color of the statusbar in private browsing + command mode. +c.colors.statusbar.command.private.bg = base00 + +# Foreground color of the statusbar in caret mode. +c.colors.statusbar.caret.fg = base00 + +# Background color of the statusbar in caret mode. +c.colors.statusbar.caret.bg = base0E + +# Foreground color of the statusbar in caret mode with a selection. +c.colors.statusbar.caret.selection.fg = base00 + +# Background color of the statusbar in caret mode with a selection. +c.colors.statusbar.caret.selection.bg = base0D + +# Background color of the progress bar. +c.colors.statusbar.progress.bg = base0D + +# Default foreground color of the URL in the statusbar. +c.colors.statusbar.url.fg = base05 + +# Foreground color of the URL in the statusbar on error. +c.colors.statusbar.url.error.fg = base08 + +# Foreground color of the URL in the statusbar for hovered links. +c.colors.statusbar.url.hover.fg = base05 + +# Foreground color of the URL in the statusbar on successful load +# (http). +c.colors.statusbar.url.success.http.fg = base0C + +# Foreground color of the URL in the statusbar on successful load +# (https). +c.colors.statusbar.url.success.https.fg = base0B + +# Foreground color of the URL in the statusbar when there's a warning. +c.colors.statusbar.url.warn.fg = base0E + +# Background color of the tab bar. +c.colors.tabs.bar.bg = base00 + +# Color gradient start for the tab indicator. +c.colors.tabs.indicator.start = base0D + +# Color gradient end for the tab indicator. +c.colors.tabs.indicator.stop = base0C + +# Color for the tab indicator on errors. +c.colors.tabs.indicator.error = base08 + +# Foreground color of unselected odd tabs. +c.colors.tabs.odd.fg = base05 + +# Background color of unselected odd tabs. +c.colors.tabs.odd.bg = base01 + +# Foreground color of unselected even tabs. +c.colors.tabs.even.fg = base05 + +# Background color of unselected even tabs. +c.colors.tabs.even.bg = base00 + +# Background color of pinned unselected even tabs. +c.colors.tabs.pinned.even.bg = base0C + +# Foreground color of pinned unselected even tabs. +c.colors.tabs.pinned.even.fg = base07 + +# Background color of pinned unselected odd tabs. +c.colors.tabs.pinned.odd.bg = base0B + +# Foreground color of pinned unselected odd tabs. +c.colors.tabs.pinned.odd.fg = base07 + +# Background color of pinned selected even tabs. +c.colors.tabs.pinned.selected.even.bg = base05 + +# Foreground color of pinned selected even tabs. +c.colors.tabs.pinned.selected.even.fg = base00 + +# Background color of pinned selected odd tabs. +c.colors.tabs.pinned.selected.odd.bg = base05 + +# Foreground color of pinned selected odd tabs. +c.colors.tabs.pinned.selected.odd.fg = base0E + +# Foreground color of selected odd tabs. +c.colors.tabs.selected.odd.fg = base00 + +# Background color of selected odd tabs. +c.colors.tabs.selected.odd.bg = base05 + +# Foreground color of selected even tabs. +c.colors.tabs.selected.even.fg = base00 + +# Background color of selected even tabs. +c.colors.tabs.selected.even.bg = base05 + +# Background color for webpages if unset (or empty to use the theme's +# color). +# c.colors.webpage.bg = base00 + + +## Background color of the completion widget category headers. +## Type: QssColor +# c.colors.completion.category.bg = 'qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #888888, stop:1 #505050)' + +## Bottom border color of the completion widget category headers. +## Type: QssColor +# c.colors.completion.category.border.bottom = 'black' + +## Top border color of the completion widget category headers. +## Type: QssColor +# c.colors.completion.category.border.top = 'black' + +## Foreground color of completion widget category headers. +## Type: QtColor +# c.colors.completion.category.fg = 'white' + +## Background color of the completion widget for even rows. +## Type: QssColor +# c.colors.completion.even.bg = '#333333' + +## Text color of the completion widget. May be a single color to use for +## all columns or a list of three colors, one for each column. +## Type: List of QtColor, or QtColor +# c.colors.completion.fg = ['white', 'white', 'white'] + +## Background color of the selected completion item. +## Type: QssColor +# c.colors.completion.item.selected.bg = '#e8c000' + +## Bottom border color of the selected completion item. +## Type: QssColor +# c.colors.completion.item.selected.border.bottom = '#bbbb00' + +## Top border color of the selected completion item. +## Type: QssColor +# c.colors.completion.item.selected.border.top = '#bbbb00' + +## Foreground color of the selected completion item. +## Type: QtColor +# c.colors.completion.item.selected.fg = 'black' + +## Foreground color of the matched text in the selected completion item. +## Type: QtColor +# c.colors.completion.item.selected.match.fg = '#ff4444' + +## Foreground color of the matched text in the completion. +## Type: QtColor +# c.colors.completion.match.fg = '#ff4444' + +## Background color of the completion widget for odd rows. +## Type: QssColor +# c.colors.completion.odd.bg = '#444444' + +## Color of the scrollbar in the completion view. +## Type: QssColor +# c.colors.completion.scrollbar.bg = '#333333' + +## Color of the scrollbar handle in the completion view. +## Type: QssColor +# c.colors.completion.scrollbar.fg = 'white' + +## Background color of disabled items in the context menu. If set to +## null, the Qt default is used. +## Type: QssColor +# c.colors.contextmenu.disabled.bg = None + +## Foreground color of disabled items in the context menu. If set to +## null, the Qt default is used. +## Type: QssColor +# c.colors.contextmenu.disabled.fg = None + +## Background color of the context menu. If set to null, the Qt default +## is used. +## Type: QssColor +# c.colors.contextmenu.menu.bg = None + +## Foreground color of the context menu. If set to null, the Qt default +## is used. +## Type: QssColor +# c.colors.contextmenu.menu.fg = None + +## Background color of the context menu's selected item. If set to null, +## the Qt default is used. +## Type: QssColor +# c.colors.contextmenu.selected.bg = None + +## Foreground color of the context menu's selected item. If set to null, +## the Qt default is used. +## Type: QssColor +# c.colors.contextmenu.selected.fg = None + +## Background color for the download bar. +## Type: QssColor +# c.colors.downloads.bar.bg = 'black' + +## Background color for downloads with errors. +## Type: QtColor +# c.colors.downloads.error.bg = 'red' + +## Foreground color for downloads with errors. +## Type: QtColor +# c.colors.downloads.error.fg = 'white' + +## Color gradient start for download backgrounds. +## Type: QtColor +# c.colors.downloads.start.bg = '#0000aa' + +## Color gradient start for download text. +## Type: QtColor +# c.colors.downloads.start.fg = 'white' + +## Color gradient stop for download backgrounds. +## Type: QtColor +# c.colors.downloads.stop.bg = '#00aa00' + +## Color gradient end for download text. +## Type: QtColor +# c.colors.downloads.stop.fg = 'white' + +## Color gradient interpolation system for download backgrounds. +## Type: ColorSystem +## Valid values: +## - rgb: Interpolate in the RGB color system. +## - hsv: Interpolate in the HSV color system. +## - hsl: Interpolate in the HSL color system. +## - none: Don't show a gradient. +# c.colors.downloads.system.bg = 'rgb' + +## Color gradient interpolation system for download text. +## Type: ColorSystem +## Valid values: +## - rgb: Interpolate in the RGB color system. +## - hsv: Interpolate in the HSV color system. +## - hsl: Interpolate in the HSL color system. +## - none: Don't show a gradient. +# c.colors.downloads.system.fg = 'rgb' + +## Background color for hints. Note that you can use a `rgba(...)` value +## for transparency. +## Type: QssColor +c.colors.hints.bg = base0A + +## Font color for hints. +## Type: QssColor +c.colors.hints.fg = base00 + +## Font color for the matched part of hints. +## Type: QtColor +c.colors.hints.match.fg = base02 + +## Background color of the keyhint widget. +## Type: QssColor +# c.colors.keyhint.bg = 'rgba(0, 0, 0, 80%)' + +## Text color for the keyhint widget. +## Type: QssColor +# c.colors.keyhint.fg = '#FFFFFF' + +## Highlight color for keys to complete the current keychain. +## Type: QssColor +# c.colors.keyhint.suffix.fg = '#FFFF00' + +## Background color of an error message. +## Type: QssColor +# c.colors.messages.error.bg = 'red' + +## Border color of an error message. +## Type: QssColor +# c.colors.messages.error.border = '#bb0000' + +## Foreground color of an error message. +## Type: QssColor +# c.colors.messages.error.fg = 'white' + +## Background color of an info message. +## Type: QssColor +# c.colors.messages.info.bg = 'black' + +## Border color of an info message. +## Type: QssColor +# c.colors.messages.info.border = '#333333' + +## Foreground color of an info message. +## Type: QssColor +# c.colors.messages.info.fg = 'white' + +## Background color of a warning message. +## Type: QssColor +# c.colors.messages.warning.bg = 'darkorange' + +## Border color of a warning message. +## Type: QssColor +# c.colors.messages.warning.border = '#d47300' + +## Foreground color of a warning message. +## Type: QssColor +# c.colors.messages.warning.fg = 'white' + +## Background color for prompts. +## Type: QssColor +# c.colors.prompts.bg = '#444444' + +## Border used around UI elements in prompts. +## Type: String +# c.colors.prompts.border = '1px solid gray' + +## Foreground color for prompts. +## Type: QssColor +# c.colors.prompts.fg = 'white' + +## Background color for the selected item in filename prompts. +## Type: QssColor +# c.colors.prompts.selected.bg = 'grey' + +## Background color of the statusbar in caret mode. +## Type: QssColor +# c.colors.statusbar.caret.bg = 'purple' + +## Foreground color of the statusbar in caret mode. +## Type: QssColor +# c.colors.statusbar.caret.fg = 'white' + +## Background color of the statusbar in caret mode with a selection. +## Type: QssColor +# c.colors.statusbar.caret.selection.bg = '#a12dff' + +## Foreground color of the statusbar in caret mode with a selection. +## Type: QssColor +# c.colors.statusbar.caret.selection.fg = 'white' + +## Background color of the statusbar in command mode. +## Type: QssColor +# c.colors.statusbar.command.bg = 'black' + +## Foreground color of the statusbar in command mode. +## Type: QssColor +# c.colors.statusbar.command.fg = 'white' + +## Background color of the statusbar in private browsing + command mode. +## Type: QssColor +# c.colors.statusbar.command.private.bg = 'darkslategray' + +## Foreground color of the statusbar in private browsing + command mode. +## Type: QssColor +# c.colors.statusbar.command.private.fg = 'white' + +## Background color of the statusbar in insert mode. +## Type: QssColor +# c.colors.statusbar.insert.bg = 'darkgreen' + +## Foreground color of the statusbar in insert mode. +## Type: QssColor +# c.colors.statusbar.insert.fg = 'white' + +## Background color of the statusbar. +## Type: QssColor +# c.colors.statusbar.normal.bg = 'black' + +## Foreground color of the statusbar. +## Type: QssColor +# c.colors.statusbar.normal.fg = 'white' + +## Background color of the statusbar in passthrough mode. +## Type: QssColor +# c.colors.statusbar.passthrough.bg = 'darkblue' + +## Foreground color of the statusbar in passthrough mode. +## Type: QssColor +# c.colors.statusbar.passthrough.fg = 'white' + +## Background color of the statusbar in private browsing mode. +## Type: QssColor +# c.colors.statusbar.private.bg = '#666666' + +## Foreground color of the statusbar in private browsing mode. +## Type: QssColor +# c.colors.statusbar.private.fg = 'white' + +## Background color of the progress bar. +## Type: QssColor +# c.colors.statusbar.progress.bg = 'white' + +## Foreground color of the URL in the statusbar on error. +## Type: QssColor +# c.colors.statusbar.url.error.fg = 'orange' + +## Default foreground color of the URL in the statusbar. +## Type: QssColor +# c.colors.statusbar.url.fg = 'white' + +## Foreground color of the URL in the statusbar for hovered links. +## Type: QssColor +# c.colors.statusbar.url.hover.fg = 'aqua' + +## Foreground color of the URL in the statusbar on successful load +## (http). +## Type: QssColor +# c.colors.statusbar.url.success.http.fg = 'white' + +## Foreground color of the URL in the statusbar on successful load +## (https). +## Type: QssColor +# c.colors.statusbar.url.success.https.fg = 'lime' + +## Foreground color of the URL in the statusbar when there's a warning. +## Type: QssColor +# c.colors.statusbar.url.warn.fg = 'yellow' + +## Background color of the tab bar. +## Type: QssColor +# c.colors.tabs.bar.bg = '#555555' + +## Background color of unselected even tabs. +## Type: QtColor +# c.colors.tabs.even.bg = 'darkgrey' + +## Foreground color of unselected even tabs. +## Type: QtColor +# c.colors.tabs.even.fg = 'white' + +## Color for the tab indicator on errors. +## Type: QtColor +# c.colors.tabs.indicator.error = '#ff0000' + +## Color gradient start for the tab indicator. +## Type: QtColor +# c.colors.tabs.indicator.start = '#0000aa' + +## Color gradient end for the tab indicator. +## Type: QtColor +# c.colors.tabs.indicator.stop = '#00aa00' + +## Color gradient interpolation system for the tab indicator. +## Type: ColorSystem +## Valid values: +## - rgb: Interpolate in the RGB color system. +## - hsv: Interpolate in the HSV color system. +## - hsl: Interpolate in the HSL color system. +## - none: Don't show a gradient. +# c.colors.tabs.indicator.system = 'rgb' + +## Background color of unselected odd tabs. +## Type: QtColor +# c.colors.tabs.odd.bg = 'grey' + +## Foreground color of unselected odd tabs. +## Type: QtColor +# c.colors.tabs.odd.fg = 'white' + +## Background color of pinned unselected even tabs. +## Type: QtColor +# c.colors.tabs.pinned.even.bg = 'darkseagreen' + +## Foreground color of pinned unselected even tabs. +## Type: QtColor +# c.colors.tabs.pinned.even.fg = 'white' + +## Background color of pinned unselected odd tabs. +## Type: QtColor +# c.colors.tabs.pinned.odd.bg = 'seagreen' + +## Foreground color of pinned unselected odd tabs. +## Type: QtColor +# c.colors.tabs.pinned.odd.fg = 'white' + +## Background color of pinned selected even tabs. +## Type: QtColor +# c.colors.tabs.pinned.selected.even.bg = 'black' + +## Foreground color of pinned selected even tabs. +## Type: QtColor +# c.colors.tabs.pinned.selected.even.fg = 'white' + +## Background color of pinned selected odd tabs. +## Type: QtColor +# c.colors.tabs.pinned.selected.odd.bg = 'black' + +## Foreground color of pinned selected odd tabs. +## Type: QtColor +# c.colors.tabs.pinned.selected.odd.fg = 'white' + +## Background color of selected even tabs. +## Type: QtColor +# c.colors.tabs.selected.even.bg = 'black' + +## Foreground color of selected even tabs. +## Type: QtColor +# c.colors.tabs.selected.even.fg = 'white' + +## Background color of selected odd tabs. +## Type: QtColor +# c.colors.tabs.selected.odd.bg = 'black' + +## Foreground color of selected odd tabs. +## Type: QtColor +# c.colors.tabs.selected.odd.fg = 'white' + +## Background color for webpages if unset (or empty to use the theme's +## color). +## Type: QtColor +# c.colors.webpage.bg = 'white' + +## Which algorithm to use for modifying how colors are rendered with +## darkmode. +## Type: String +## Valid values: +## - lightness-cielab: Modify colors by converting them to CIELAB color space and inverting the L value. +## - lightness-hsl: Modify colors by converting them to the HSL color space and inverting the lightness (i.e. the "L" in HSL). +## - brightness-rgb: Modify colors by subtracting each of r, g, and b from their maximum value. +# c.colors.webpage.darkmode.algorithm = 'lightness-cielab' + +## Contrast for dark mode. This only has an effect when +## `colors.webpage.darkmode.algorithm` is set to `lightness-hsl` or +## `brightness-rgb`. +## Type: Float +# c.colors.webpage.darkmode.contrast = 0.0 + +## Render all web contents using a dark theme. Example configurations +## from Chromium's `chrome://flags`: - "With simple HSL/CIELAB/RGB-based +## inversion": Set `colors.webpage.darkmode.algorithm` accordingly. - +## "With selective image inversion": Set +## `colors.webpage.darkmode.policy.images` to `smart`. - "With selective +## inversion of non-image elements": Set +## `colors.webpage.darkmode.threshold.text` to 150 and +## `colors.webpage.darkmode.threshold.background` to 205. - "With +## selective inversion of everything": Combines the two variants above. +## Type: Bool +c.colors.webpage.darkmode.enabled = False + +## Render all colors as grayscale. This only has an effect when +## `colors.webpage.darkmode.algorithm` is set to `lightness-hsl` or +## `brightness-rgb`. +## Type: Bool +# c.colors.webpage.darkmode.grayscale.all = False + +## Desaturation factor for images in dark mode. If set to 0, images are +## left as-is. If set to 1, images are completely grayscale. Values +## between 0 and 1 desaturate the colors accordingly. +## Type: Float +# c.colors.webpage.darkmode.grayscale.images = 0.0 + +## Which images to apply dark mode to. WARNING: On Qt 5.15.0, this +## setting can cause frequent renderer process crashes due to a +## https://codereview.qt-project.org/c/qt/qtwebengine- +## chromium/+/304211[bug in Qt]. +## Type: String +## Valid values: +## - always: Apply dark mode filter to all images. +## - never: Never apply dark mode filter to any images. +## - smart: Apply dark mode based on image content. +# c.colors.webpage.darkmode.policy.images = 'never' + +## Which pages to apply dark mode to. +## Type: String +## Valid values: +## - always: Apply dark mode filter to all frames, regardless of content. +## - smart: Apply dark mode filter to frames based on background color. +# c.colors.webpage.darkmode.policy.page = 'smart' + +## Threshold for inverting background elements with dark mode. Background +## elements with brightness above this threshold will be inverted, and +## below it will be left as in the original, non-dark-mode page. Set to +## 256 to never invert the color or to 0 to always invert it. Note: This +## behavior is the opposite of `colors.webpage.darkmode.threshold.text`! +## Type: Int +# c.colors.webpage.darkmode.threshold.background = 0 + +## Threshold for inverting text with dark mode. Text colors with +## brightness below this threshold will be inverted, and above it will be +## left as in the original, non-dark-mode page. Set to 256 to always +## invert text color or to 0 to never invert text color. +## Type: Int +# c.colors.webpage.darkmode.threshold.text = 256 + +## Force `prefers-color-scheme: dark` colors for websites. +## Type: Bool +c.colors.webpage.prefers_color_scheme_dark = True + +## Number of commands to save in the command history. 0: no history / -1: +## unlimited +## Type: Int +# c.completion.cmd_history_max_items = 100 + +## Delay (in milliseconds) before updating completions after typing a +## character. +## Type: Int +# c.completion.delay = 0 + +## Height (in pixels or as percentage of the window) of the completion. +## Type: PercOrInt +c.completion.height = '40%' + +## Minimum amount of characters needed to update completions. +## Type: Int +# c.completion.min_chars = 1 + +## Which categories to show (in which order) in the :open completion. +## Type: FlagList +## Valid values: +## - searchengines +## - quickmarks +## - bookmarks +## - history +# c.completion.open_categories = ['searchengines', 'quickmarks', 'bookmarks', 'history'] + +## Move on to the next part when there's only one possible completion +## left. +## Type: Bool +# c.completion.quick = True + +## Padding (in pixels) of the scrollbar handle in the completion window. +## Type: Int +# c.completion.scrollbar.padding = 2 + +## Width (in pixels) of the scrollbar in the completion window. +## Type: Int +# c.completion.scrollbar.width = 12 + +## When to show the autocompletion window. +## Type: String +## Valid values: +## - always: Whenever a completion is available. +## - auto: Whenever a completion is requested. +## - never: Never. +# c.completion.show = 'always' + +## Shrink the completion to be smaller than the configured size if there +## are no scrollbars. +## Type: Bool +c.completion.shrink = True + +## Format of timestamps (e.g. for the history completion). See +## https://sqlite.org/lang_datefunc.html for allowed substitutions. +## Type: String +# c.completion.timestamp_format = '%Y-%m-%d' + +## Execute the best-matching command on a partial match. +## Type: Bool +# c.completion.use_best_match = False + +## A list of patterns which should not be shown in the history. This only +## affects the completion. Matching URLs are still saved in the history +## (and visible on the qute://history page), but hidden in the +## completion. Changing this setting will cause the completion history to +## be regenerated on the next start, which will take a short while. +## Type: List of UrlPattern +# c.completion.web_history.exclude = [] + +## Number of URLs to show in the web history. 0: no history / -1: +## unlimited +## Type: Int +# c.completion.web_history.max_items = -1 + +## Require a confirmation before quitting the application. +## Type: ConfirmQuit +## Valid values: +## - always: Always show a confirmation. +## - multiple-tabs: Show a confirmation if multiple tabs are opened. +## - downloads: Show a confirmation if downloads are running +## - never: Never show a confirmation. +# c.confirm_quit = ['never'] + +## Automatically start playing `