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 @@
-
-
-
-
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 @@
-
-
\ 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 @@
-
-
-
-
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 @@
-
-
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 @@
-
-
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 @@
-
-
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 @@
-
-
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 @@
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
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 @@
-
-
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 @@
-
-
-
-
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 @@
-
-
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 @@
-
-
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 @@
-
-
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 @@
-
-
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 @@
-
-
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 @@
-
-
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 @@
-
-
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 @@
-
-
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 @@
-
-
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 @@
-
-
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 @@
-
-
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 @@
-
-
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 @@
-
-
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 @@
-
-
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 @@
-
-
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 @@
-
-
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 @@
-
-
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 @@
-
-
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 @@
-
-
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 @@
-
-
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 @@
-
-
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 @@
-
-
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 @@
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
-
-
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 @@
-
-
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 `