From 1dabeec7973be6a6fe392b9310d0fa6de0cd5817 Mon Sep 17 00:00:00 2001 From: Johannes Findeisen Date: Thu, 4 Jan 2018 19:38:54 +0100 Subject: [PATCH] arghhh --- .config/awesome/functions.lua | 1 + .config/awesome/mymainmenu.lua | 70 +- .config/awesome/rc.lua | 628 +++++++++++------- .config/awesome/rc.lua.old | 460 +++++++++++++ .../awesome/themes/hanez/layouts/cornerne.png | Bin 0 -> 451 bytes .../themes/hanez/layouts/cornernew.png | Bin 0 -> 409 bytes .../awesome/themes/hanez/layouts/cornernw.png | Bin 0 -> 439 bytes .../themes/hanez/layouts/cornernww.png | Bin 0 -> 381 bytes .../awesome/themes/hanez/layouts/cornerse.png | Bin 0 -> 424 bytes .../themes/hanez/layouts/cornersew.png | Bin 0 -> 411 bytes .../awesome/themes/hanez/layouts/cornersw.png | Bin 0 -> 424 bytes .../themes/hanez/layouts/cornersww.png | Bin 0 -> 423 bytes .../awesome/themes/hanez/layouts/dwindle.png | Bin 967 -> 425 bytes .../awesome/themes/hanez/layouts/dwindlew.png | Bin 997 -> 444 bytes .../awesome/themes/hanez/layouts/fairh.png | Bin 194 -> 312 bytes .../awesome/themes/hanez/layouts/fairhw.png | Bin 194 -> 314 bytes .../awesome/themes/hanez/layouts/fairv.png | Bin 201 -> 323 bytes .../awesome/themes/hanez/layouts/fairvw.png | Bin 201 -> 323 bytes .../awesome/themes/hanez/layouts/floating.png | Bin 395 -> 361 bytes .../themes/hanez/layouts/floatingw.png | Bin 388 -> 365 bytes .../themes/hanez/layouts/fullscreen.png | Bin 202 -> 866 bytes .../themes/hanez/layouts/fullscreenw.png | Bin 202 -> 865 bytes .../themes/hanez/layouts/magnifier.png | Bin 209 -> 496 bytes .../themes/hanez/layouts/magnifierw.png | Bin 209 -> 496 bytes .config/awesome/themes/hanez/layouts/max.png | Bin 321 -> 574 bytes .config/awesome/themes/hanez/layouts/maxw.png | Bin 321 -> 581 bytes .../awesome/themes/hanez/layouts/spiral.png | Bin 1506 -> 427 bytes .../awesome/themes/hanez/layouts/spiralw.png | Bin 1527 -> 442 bytes .config/awesome/themes/hanez/layouts/tile.png | Bin 174 -> 353 bytes .../themes/hanez/layouts/tilebottom.png | Bin 195 -> 340 bytes .../themes/hanez/layouts/tilebottomw.png | Bin 216 -> 350 bytes .../awesome/themes/hanez/layouts/tileleft.png | Bin 172 -> 363 bytes .../themes/hanez/layouts/tileleftw.png | Bin 170 -> 367 bytes .../awesome/themes/hanez/layouts/tiletop.png | Bin 195 -> 326 bytes .../awesome/themes/hanez/layouts/tiletopw.png | Bin 215 -> 342 bytes .../awesome/themes/hanez/layouts/tilew.png | Bin 168 -> 357 bytes .config/awesome/themes/hanez/theme.lua | 2 +- .../themes/hanez/titlebar/close_focus.png | Bin 666 -> 1374 bytes .../themes/hanez/titlebar/close_normal.png | Bin 849 -> 1419 bytes .../hanez/titlebar/floating_focus_active.png | Bin 598 -> 491 bytes .../titlebar/floating_focus_inactive.png | Bin 584 -> 350 bytes .../hanez/titlebar/floating_normal_active.png | Bin 841 -> 492 bytes .../titlebar/floating_normal_inactive.png | Bin 564 -> 350 bytes .../hanez/titlebar/maximized_focus_active.png | Bin 1013 -> 696 bytes .../titlebar/maximized_focus_inactive.png | Bin 771 -> 719 bytes .../titlebar/maximized_normal_active.png | Bin 1528 -> 693 bytes .../titlebar/maximized_normal_inactive.png | Bin 744 -> 695 bytes .../themes/hanez/titlebar/minimize_focus.png | Bin 0 -> 277 bytes .../themes/hanez/titlebar/minimize_normal.png | Bin 0 -> 272 bytes .../hanez/titlebar/ontop_focus_active.png | Bin 774 -> 609 bytes .../hanez/titlebar/ontop_focus_inactive.png | Bin 702 -> 756 bytes .../hanez/titlebar/ontop_normal_active.png | Bin 1266 -> 619 bytes .../hanez/titlebar/ontop_normal_inactive.png | Bin 690 -> 769 bytes .../hanez/titlebar/sticky_focus_active.png | Bin 833 -> 717 bytes .../hanez/titlebar/sticky_focus_inactive.png | Bin 622 -> 937 bytes .../hanez/titlebar/sticky_normal_active.png | Bin 1434 -> 726 bytes .../hanez/titlebar/sticky_normal_inactive.png | Bin 623 -> 981 bytes .config/emulationstation/es_input.cfg | 16 + .config/emulationstation/es_settings.cfg | 36 +- .config/emulationstation/es_systems.cfg | 129 ++-- .zshrc | 2 +- 61 files changed, 984 insertions(+), 360 deletions(-) create mode 100644 .config/awesome/rc.lua.old create mode 100644 .config/awesome/themes/hanez/layouts/cornerne.png create mode 100644 .config/awesome/themes/hanez/layouts/cornernew.png create mode 100644 .config/awesome/themes/hanez/layouts/cornernw.png create mode 100644 .config/awesome/themes/hanez/layouts/cornernww.png create mode 100644 .config/awesome/themes/hanez/layouts/cornerse.png create mode 100644 .config/awesome/themes/hanez/layouts/cornersew.png create mode 100644 .config/awesome/themes/hanez/layouts/cornersw.png create mode 100644 .config/awesome/themes/hanez/layouts/cornersww.png create mode 100644 .config/awesome/themes/hanez/titlebar/minimize_focus.png create mode 100644 .config/awesome/themes/hanez/titlebar/minimize_normal.png diff --git a/.config/awesome/functions.lua b/.config/awesome/functions.lua index 1195fd3a..9eaa69c0 100644 --- a/.config/awesome/functions.lua +++ b/.config/awesome/functions.lua @@ -1,3 +1,4 @@ +-- {{{ Helper functions function file_exists(name) local f = io.open(name, "r") if f~=nil then io.close(f) return true else return false end diff --git a/.config/awesome/mymainmenu.lua b/.config/awesome/mymainmenu.lua index 56f0d2e1..936d8bf7 100644 --- a/.config/awesome/mymainmenu.lua +++ b/.config/awesome/mymainmenu.lua @@ -1,6 +1,5 @@ accessoriesmenu = { { "calculator", "/usr/bin/galculator", "/usr/share/icons/hicolor/48x48/apps/galculator.png" }, - { "cr3", "/usr/bin/cr3", "/usr/share/pixmaps/cr3.png" }, { "emacs", "/usr/bin/emacs", "/usr/share/icons/hicolor/scalable/apps/emacs.svg" }, { "engrampa", "/usr/bin/engrampa", "/usr/share/icons/hicolor/32x32/apps/engrampa.png" }, { "ghex", "/usr/bin/ghex ", "/usr/share/icons/hicolor/48x48/apps/ghex.png" }, @@ -16,7 +15,7 @@ accessoriesmenu = { { "xarchiver", "xarchiver", "/usr/share/icons/hicolor/48x48/apps/xarchiver.png" }, } dbmenu = { - { "dbeaver", "/usr/bin/dbeaver", "/usr/share/icons/hicolor/48x48/apps/dbeaver.xpm" }, + { "dbeaver", "/usr/bin/dbeaver", "/usr/share/pixmaps/dbeaver.xpm" }, { "mysql workbench", "/usr/bin/mysql-workbench", "/usr/share/icons/hicolor/48x48/apps/mysql-workbench.png" }, { "sql workbench", "/usr/bin/sqlworkbench", "/usr/share/icons/hicolor/32x32/apps/workbench32.png" }, { "sqlitebrowser", "/usr/bin/sqlitebrowser", "/usr/share/icons/hicolor/256x256/apps/sqlitebrowser.png" }, @@ -30,6 +29,7 @@ developmentmenu = { { "eclipse", "/usr/bin/eclipse", "/usr/share/icons/hicolor/48x48/apps/eclipse.png" }, { "glade gtk2", "/usr/bin/glade-3", "/usr/share/icons/hicolor/48x48/apps/glade-3.png" }, { "glade gtk3", "/usr/bin/glade ", "/usr/share/icons/hicolor/48x48/apps/glade.png" }, + { "goland", "/usr/bin/goland ", "/usr/share/pixmaps/goland.png" }, { "intellij", "/usr/bin/idea.sh", "/usr/share/pixmaps/idea.png" }, { "kdevelop", "/usr/bin/kdevelop", "/usr/share/icons/hicolor/48x48/apps/kdevelop.png" }, { "lazarus", "/usr/bin/lazarus", "/usr/lib/lazarus/images/ide_icon48x48.png" }, @@ -56,61 +56,21 @@ engineeringmenu = { { "qcad", "/usr/bin/qcad", "/usr/share/pixmaps/qcad_icon.png" }, { "qucs", "/usr/bin/qucs", "/usr/share/icons/hicolor/48x48/apps/qucs.png" }, } -puzzlesmenu = { - { "blackbox", "/usr/bin/puzzles-blackbox", "/usr/share/icons/hicolor/48x48/apps/blackbox.png" }, - { "bridges", "/usr/bin/bridges", "/usr/share/icons/hicolor/48x48/apps/bridges.png" }, - { "cube", "/usr/bin/puzzles-cube", "/usr/share/icons/hicolor/48x48/apps/cube.png" }, - { "dominosa", "/usr/bin/dominosa", "/usr/share/icons/hicolor/48x48/apps/dominosa.png" }, - { "fifteen", "/usr/bin/fifteen", "/usr/share/icons/hicolor/48x48/apps/fifteen.png" }, - { "filling", "/usr/bin/filling", "/usr/share/icons/hicolor/48x48/apps/filling.png" }, - { "flip", "/usr/bin/flip", "/usr/share/icons/hicolor/48x48/apps/flip.png" }, - { "flood", "/usr/bin/flood", "/usr/share/icons/hicolor/48x48/apps/flood.png" }, - { "galaxies", "/usr/bin/galaxies", "/usr/share/icons/hicolor/48x48/apps/galaxies.png" }, - { "guess", "/usr/bin/guess", "/usr/share/icons/hicolor/48x48/apps/guess.png" }, - { "inertia", "/usr/bin/inertia", "/usr/share/icons/hicolor/48x48/apps/inertia.png" }, - { "keen", "/usr/bin/keen", "/usr/share/icons/hicolor/48x48/apps/keen.png" }, - { "lightup", "/usr/bin/lightup", "/usr/share/icons/hicolor/48x48/apps/lightup.png" }, - { "loopy", "/usr/bin/loopy", "/usr/share/icons/hicolor/48x48/apps/loopy.png" }, - { "magnets", "/usr/bin/magnets", "/usr/share/icons/hicolor/48x48/apps/magnets.png" }, - { "maps", "/usr/bin/maps", "/usr/share/icons/hicolor/48x48/apps/map.png" }, - { "mines", "/usr/bin/mines", "/usr/share/icons/hicolor/48x48/apps/mines.png" }, - { "net", "/usr/bin/puzzles-net", "/usr/share/icons/hicolor/48x48/apps/net.png" }, - { "netslide", "/usr/bin/netslide", "/usr/share/icons/hicolor/48x48/apps/netslide.png" }, - { "palisade", "/usr/bin/palisade", "/usr/share/icons/hicolor/48x48/apps/palisade.png" }, - { "pattern", "/usr/bin/pattern", "/usr/share/icons/hicolor/48x48/apps/pattern.png" }, - { "pearl", "/usr/bin/pearl", "/usr/share/icons/hicolor/48x48/apps/pearl.png" }, - { "pegs", "/usr/bin/pegs", "/usr/share/icons/hicolor/48x48/apps/pegs.png" }, - { "range", "/usr/bin/range", "/usr/share/icons/hicolor/48x48/apps/range.png" }, - { "rect", "/usr/bin/rect", "/usr/share/icons/hicolor/48x48/apps/rect.png" }, - { "samegame", "/usr/bin/samegame", "/usr/share/icons/hicolor/48x48/apps/samegame.png" }, - { "signpost", "/usr/bin/signpost", "/usr/share/icons/hicolor/48x48/apps/signpost.png" }, - { "singles", "/usr/bin/singles", "/usr/share/icons/hicolor/48x48/apps/singles.png" }, - { "sixteen", "/usr/bin/sixteen", "/usr/share/icons/hicolor/48x48/apps/sixteen.png" }, - { "slant", "/usr/bin/slant", "/usr/share/icons/hicolor/48x48/apps/slant.png" }, - { "solo", "/usr/bin/solo", "/usr/share/icons/hicolor/48x48/apps/solo.png" }, - { "tents", "/usr/bin/tents", "/usr/share/icons/hicolor/48x48/apps/tents.png" }, - { "towers", "/usr/bin/towers", "/usr/share/icons/hicolor/48x48/apps/towers.png" }, - { "tracks", "/usr/bin/tracks", "/usr/share/icons/hicolor/48x48/apps/tracks.png" }, - { "twiddle", "/usr/bin/twiddle", "/usr/share/icons/hicolor/48x48/apps/twiddle.png" }, - { "undead", "/usr/bin/undead", "/usr/share/icons/hicolor/48x48/apps/undead.png" }, - { "unequal", "/usr/bin/unequal", "/usr/share/icons/hicolor/48x48/apps/unequal.png" }, - { "unruly", "/usr/bin/unruly", "/usr/share/icons/hicolor/48x48/apps/unruly.png" }, - { "untangle", "/usr/bin/untangle", "/usr/share/icons/hicolor/48x48/apps/untangle.png" }, -} gamesmenu = { - { "puzzles", puzzlesmenu, "/usr/share/icons/matefaenza/categories/scalable/applications-puzzles.svg" }, { "0 a.d.", "/usr/bin/0ad", "/usr/share/pixmaps/0ad.png" }, { "emulationstation", "/usr/bin/emulationstation", "/usr/share/pixmaps/retroarch.svg" }, { "steam", "/usr/bin/steam", "/usr/share/pixmaps/steam.png" }, } graphicsmenu = { + { "aseprite", "/usr/bin/aseprite", "/usr/share/pixmaps/aseprite.png" }, { "blender", "/usr/bin/blender", "/usr/share/icons/hicolor/48x48/apps/blender.png" }, { "font manager", "/usr/bin/font-manager", "/usr/share/icons/gnome/48x48/apps/preferences-desktop-font.png" }, { "gimp", "/usr/bin/gimp", "/usr/share/icons/hicolor/48x48/apps/gimp.png" }, { "gpick", "/usr/bin/gpick", "/usr/share/icons/hicolor/48x48/apps/gpick.png" }, - { "image scan!", "/usr/bin/iscan", "/usr/share/icons/gnome/48x48/devices/scanner.png" }, + { "image scan!", "/usr/bin/iscan", "/usr/share/icons/gnome/48x48/devices/scanner.png" }, { "inkscape", "/usr/bin/inkscape", "/usr/share/icons/hicolor/48x48/apps/inkscape.png" }, { "krita", "/usr/bin/krita", "/usr/share/icons/hicolor/48x48/apps/calligrakrita.png" }, + { "mtpaint", "/usr/bin/mtpaint", "/usr/share/pixmaps/mtpaint.png" }, { "pinta", "/usr/bin/pinta", "/usr/share/pixmaps/pinta.xpm" }, { "scribus", "/usr/bin/scribus", "/usr/share/icons/hicolor/32x32/apps/scribus.png" }, { "sk1", "/usr/bin/sk1", "/usr/share/pixmaps/sk1.png" }, @@ -121,25 +81,22 @@ internetmenu = { { "chromium", "/usr/bin/chromium", "/usr/share/icons/hicolor/48x48/apps/chromium.png" }, { "claws", "/usr/bin/claws-mail", "/usr/share/icons/hicolor/48x48/apps/claws-mail.png" }, { "firefox", "/usr/bin/firefox", "/usr/share/icons/hicolor/48x48/apps/firefox.png" }, - { "franz", "/usr/bin/franz-bin", "/usr/share/pixmaps/franz.png" }, - { "gftp", "/usr/bin/gftp", "/usr/share/pixmaps/gftp.png" }, + { "gajim", "/usr/bin/gajim", "/usr/share/icons/hicolor/64x64/apps/gajim.png" }, { "google chrome", "/usr/bin/google-chrome-stable", "/opt/google/chrome/product_logo_32.xpm" }, { "google earth", "/usr/bin/google-earth", "/opt/google/earth/free/product_logo_32.xpm" }, { "konqueror", "/usr/bin/konqueror", "/usr/share/icons/hicolor/48x48/apps/konqueror.png" }, - { "mumble", "/usr/bin/mumble", "/usr/share/icons/hicolor/scalable/apps/mumble.svg" }, { "opera", "/usr/bin/opera", "/usr/share/pixmaps/opera.xpm" }, { "pidgin", "/usr/bin/pidgin", "/usr/share/icons/hicolor/48x48/apps/pidgin.png" }, { "seamonkey", "seamonkey", "/usr/share/pixmaps/seamonkey.png" }, { "skype", "skype", "/usr/share/icons/hicolor/48x48/apps/skype.png" }, { "thunderbird", "/usr/bin/thunderbird", "/usr/share/icons/hicolor/48x48/apps/thunderbird.png" }, - { "tor browser", "/usr/bin/tor-browser", "/usr/share/pixmaps/tor-browser.png" }, + { "tor browser", "/usr/bin/tor-browser-en", "/usr/share/pixmaps/tor-browser.png" }, { "vivaldi", "/usr/bin/vivaldi-stable", "/usr/share/icons/hicolor/48x48/apps/vivaldi.png" }, } multimediamenu = { { "alsamixer", terminal.." -e alsamixer", "/usr/share/icons/hicolor/48x48/categories/applications-other.png" }, { "audacity", "/usr/bin/audacity", "/usr/share/icons/hicolor/48x48/apps/audacity.png" }, { "brasero", "/usr/bin/brasero ", "/usr/share/icons/hicolor/48x48/apps/brasero.png" }, - { "cmus", terminal.." -e cmus", "/usr/share/icons/hicolor/48x48/categories/applications-other.png" }, { "kaffeine", "/usr/bin/kaffeine", "/usr/share/icons/hicolor/scalable/apps/kaffeine.svg" }, { "spotify", "/usr/bin/spotify", "/usr/share/pixmaps/spotify-client.png" }, { "vlc", "/usr/bin/vlc", "/usr/share/icons/hicolor/48x48/apps/vlc.png" }, @@ -149,8 +106,6 @@ officemenu = { { "acrobat reader", "/usr/bin/acroread", "/usr/share/pixmaps/acroread.png" }, { "dia", "/usr/bin/dia", "/usr/share/icons/hicolor/48x48/apps/dia.png" }, { "epdfview", "/usr/bin/epdfview", "/usr/share/icons/hicolor/48x48/apps/epdfview.png" }, - { "gnucash", "/home/hanez/bin/gnucash", "/usr/share/icons/hicolor/48x48/apps/gnucash-icon.png" }, - { "hibiscus", "/usr/bin/jameica", "/opt/jameica/plugins/hibiscus/icons/hibiscus-icon-32x32.png" }, { "libreoffice base", "/usr/bin/libreoffice --base", "/usr/share/icons/hicolor/48x48/apps/libreoffice-base.png" }, { "libreoffice calc", "/usr/bin/libreoffice --calc", "/usr/share/icons/hicolor/48x48/apps/libreoffice-calc.png" }, { "libreoffice draw", "/usr/bin/libreoffice --draw", "/usr/share/icons/hicolor/48x48/apps/libreoffice-draw.png" }, @@ -167,7 +122,7 @@ radiomenu = { { "cubicsdr", "/usr/bin/cubicsdr", "/usr/share/cubicsdr/CubicSDR.png" }, { "gnuradio", "/usr/bin/gnuradio-companion", "/usr/share/gnuradio/grc/freedesktop/grc-icon-48.png" }, { "gqrx", "/usr/bin/gqrx", "/usr/share/pixmaps/gqrx.svg" }, - { "pothos", "/usr/bin/PothosGui", "/usr/share/Pothos/Desktop/pothos-gui-48.png" }, + { "pothos", "/usr/bin/PothosFlow", "/usr/share/Pothos/Desktop/pothos-flow-48.png" }, { "urh", "/usr/bin/urh", "/usr/share/pixmaps/urh.png" }, } sciencemenu = { @@ -178,10 +133,9 @@ sciencemenu = { systemmenu = { { "appearance", "/usr/bin/lxappearance", "/usr/share/icons/Adwaita/48x48/categories/preferences-desktop.png" }, { "bitdefender", "/usr/bin/bdgui", "/opt/BitDefender-scanner/share/doc/examples/icons/hicolor/48x48/apps/bitdefender.png" }, - { "gparted", "/usr/bin/gparted_polkit ", "/usr/share/icons/hicolor/48x48/apps/gparted.png" }, + { "gparted", "/usr/bin/gparted", "/usr/share/icons/hicolor/48x48/apps/gparted.png" }, { "hardinfo", "hardinfo", "/usr/share/hardinfo/pixmaps/logo.png" }, { "gufw", "/usr/bin/gufw", "/usr/share/icons/hicolor/scalable/apps/gufw.svg" }, - { "virt-manager", "/usr/bin/virt-manager", "/usr/share/icons/hicolor/48x48/apps/virt-manager.png" }, { "virtualbox", "/usr/bin/virtualbox", "/usr/share/pixmaps/VBox.png" }, { "wireshark", "/usr/bin/wireshark", "/usr/share/icons/hicolor/48x48/apps/wireshark.png" }, } @@ -189,9 +143,9 @@ utilitiesmenu = { { "arandr", "/usr/bin/arandr", "/usr/share/icons/hicolor/scalable/devices/video-television.svg" }, { "bluetooth", "/usr/bin/blueman-manager", "/usr/share/icons/hicolor/48x48/apps/blueman.png" }, { "qsshfs", "/usr/bin/qsshfs", "/usr/share/icons/hicolor/32x32/apps/qsshfs.png" }, - { "unetbootin", "/usr/bin/unetbootin_polkit", "/usr/share/icons/hicolor/48x48/apps/unetbootin.png" }, + { "unetbootin", "/usr/bin/unetbootin", "/usr/share/icons/hicolor/48x48/apps/unetbootin.png" }, } -mymainmenu = awful.menu({ items = { +mymainmenu = awful.menu({ items = { { "accessories", accessoriesmenu, beautiful.icon_path.."categories/applications-accessories.png" }, { "database", dbmenu, "/usr/share/icons/oxygen/base/48x48/places/server-database.png" }, { "development", developmentmenu, beautiful.icon_path.."categories/applications-development.png" }, @@ -210,6 +164,6 @@ mymainmenu = awful.menu({ items = { { "terminal", terminal, beautiful.icon_path.."apps/utilities-terminal.png" }, { "configuration", editor_cmd .. " " .. awesome.conffile, beautiful.icon_path.."categories/preferences-other.png" }, { "reload", awesome.restart, beautiful.icon_path.."actions/view-refresh.png" }, - { "quit", function () awesome.quit() end, beautiful.icon_path.."actions/system-log-out.png" } + { "quit", function() awesome.quit() end, beautiful.icon_path.."actions/system-log-out.png" } } }) diff --git a/.config/awesome/rc.lua b/.config/awesome/rc.lua index d0f2757c..efc06f1c 100644 --- a/.config/awesome/rc.lua +++ b/.config/awesome/rc.lua @@ -5,36 +5,51 @@ require("private") require("functions") --- Require some basic stuff +-- Standard awesome library local gears = require("gears") awful = require("awful") -awful.rules = require("awful.rules") require("awful.autofocus") +-- Widget and layout library local wibox = require("wibox") +-- Theme handling library beautiful = require("beautiful") +-- Notification library local naughty = require("naughty") local menubar = require("menubar") vicious = require("vicious") +local hotkeys_popup = require("awful.hotkeys_popup").widget +-- Enable hotkeys help widget for VIM and other apps +-- when client with a matching name is opened: +require("awful.hotkeys_popup.keys") + +-- {{{ 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) if awesome.startup_errors then naughty.notify({ preset = naughty.config.presets.critical, title = "Oops, there were errors during startup!", text = awesome.startup_errors }) end +-- Handle runtime errors after startup do local in_error = false awesome.connect_signal("debug::error", function (err) + -- Make sure we don't go into an endless error loop if in_error then return end in_error = true naughty.notify({ preset = naughty.config.presets.critical, title = "Oops, an error happened!", - text = err }) + text = tostring(err) }) in_error = false end) end +-- }}} +-- {{{ Variable definitions +-- Themes define colours, icons, font and wallpapers. beautiful.init(os.getenv("HOME").."/.config/awesome/themes/hanez/theme.lua") -- To override the wallpaper provided by the theme you can just add a file named @@ -45,55 +60,74 @@ if file_exists(name) then beautiful.wallpaper = name end +-- This is used later as the default terminal and editor to run. terminal = '/usr/bin/uxterm -bg black -fg grey -sb -leftbar -si -bc -cr orange -fa "'..private.font_xterm..'" -fs '..private.font_xterm_size editor = "/usr/bin/vim" 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. modkey = "Mod4" +-- Autostart some programs defined in private.lua; Start them only once... ;) for i, program in ipairs(private.autostart) do run_once(program) end -local layouts = -{ +-- Table of layouts to cover with awful.layout.inc, order matters. +awful.layout.layouts = { awful.layout.suit.tile, awful.layout.suit.tile.left, awful.layout.suit.tile.bottom, awful.layout.suit.tile.top, + awful.layout.suit.floating, 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.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.floating + -- awful.layout.suit.magnifier, + -- awful.layout.suit.corner.nw, + -- awful.layout.suit.corner.ne, + -- awful.layout.suit.corner.sw, + -- awful.layout.suit.corner.se, } +-- }}} -if beautiful.wallpaper then - for s = 1, screen.count() do - gears.wallpaper.maximized(beautiful.wallpaper, s, true) +-- {{{ Helper functions +local function client_menu_toggle_fn() + local instance = nil + + return function () + if instance and instance.wibox.visible then + instance:hide() + instance = nil + else + instance = awful.menu.clients({ theme = { width = 250 } }) + end end end - -tags = {} -for s = 1, screen.count() do - tags[s] = awful.tag({ 1, 2, 3, 4, 5, 6, 7, 8, 9 }, s, layouts[1]) -end +-- }}} -- Include the mainmenu from external file to make customisation easier require("mymainmenu") mylauncher = awful.widget.launcher({ image = beautiful.awesome_icon, menu = mymainmenu }) -local batterywidgets = {} -for i=1, tablelength(private.battery) do - batterywidgets[i] = wibox.widget.textbox() - vicious.register(batterywidgets[i], vicious.widgets.bat, "$1$2% / ", 20, private.battery[i]) -end +-- Menubar configuration +menubar.utils.terminal = terminal -- Set the terminal for applications that require it +-- }}} + +-- {{{ Vicious widgets +local batterywidget = wibox.widget.textbox() +vicious.register(batterywidget, vicious.widgets.bat, "$1$2% / ", 20, private.battery) local netwidget = wibox.widget.textbox() -vicious.register(netwidget, vicious.widgets.net, '⇩${'..private.net_device..' down_kb} / ${'..private.net_device..' up_kb}⇧ ', 1) +vicious.register(netwidget, vicious.widgets.net, +'⇩${'..private.net_device..' down_kb} / ${'..private.net_device..' up_kb}⇧ ', 1) local thermalwidget = wibox.widget.textbox() vicious.register(thermalwidget, vicious.widgets.thermal, "$1°C ", 20, private.thermal_zone ) @@ -104,24 +138,29 @@ cpuwidget:set_background_color("#222222") cpuwidget:set_color({ type = "linear", from = { 0, 0 }, to = { 10,0 }, stops = { {0, "#FF5656"}, {0.5, "#88A175"}, {1, "#AECF96" }}}) vicious.register(cpuwidget, vicious.widgets.cpu, "$1") -mytextclock = awful.widget.textclock(" %a %b %d, %H:%M:%S ", 1) +-- {{{ Wibar +-- Create a textclock widget +mytextclock = wibox.widget.textclock() -menubar.utils.terminal = terminal -- Set the terminal for applications that require it - -mywibox = {} -mypromptbox = {} -mylayoutbox = {} -mytaglist = {} -mytaglist.buttons = awful.util.table.join( - awful.button({ }, 1, awful.tag.viewonly), - awful.button({ modkey }, 1, awful.client.movetotag), +-- 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, awful.client.toggletag), - awful.button({ }, 4, function(t) awful.tag.viewnext(awful.tag.getscreen(t)) end), - awful.button({ }, 5, function(t) awful.tag.viewprev(awful.tag.getscreen(t)) end) - ) -mytasklist = {} -mytasklist.buttons = awful.util.table.join( + 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 @@ -129,8 +168,8 @@ mytasklist.buttons = awful.util.table.join( -- Without this, the following -- :isvisible() makes no sense c.minimized = false - if not c:isvisible() then - awful.tag.viewonly(c:tags()[1]) + if not c:isvisible() and c.first_tag then + c.first_tag:view_only() end -- This will also un-minimize -- the client, if needed @@ -138,76 +177,81 @@ mytasklist.buttons = awful.util.table.join( c:raise() end end), - awful.button({ }, 3, function () - if instance then - instance:hide() - instance = nil - else - instance = awful.menu.clients({ - theme = { width = 250 } - }) - end - end), + awful.button({ }, 3, client_menu_toggle_fn()), awful.button({ }, 4, function () awful.client.focus.byidx(1) - if client.focus then client.focus:raise() end end), awful.button({ }, 5, function () awful.client.focus.byidx(-1) - if client.focus then client.focus:raise() end end)) -for s = 1, screen.count() do +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, true) + 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({ "1", "2", "3", "4", "5", "6", "7", "8", "9" }, s, awful.layout.layouts[1]) + -- Create a promptbox for each screen - mypromptbox[s] = awful.widget.prompt() - -- Create an imagebox widget which will contains an icon indicating which layout we're using. + 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. - mylayoutbox[s] = awful.widget.layoutbox(s) - mylayoutbox[s]:buttons(awful.util.table.join( - awful.button({ }, 1, function () awful.layout.inc(layouts, 1) end), - awful.button({ }, 3, function () awful.layout.inc(layouts, -1) end), - awful.button({ }, 4, function () awful.layout.inc(layouts, 1) end), - awful.button({ }, 5, function () awful.layout.inc(layouts, -1) end))) + 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 - mytaglist[s] = awful.widget.taglist(s, awful.widget.taglist.filter.all, mytaglist.buttons) + s.mytaglist = awful.widget.taglist(s, awful.widget.taglist.filter.all, taglist_buttons) -- Create a tasklist widget - mytasklist[s] = awful.widget.tasklist(s, awful.widget.tasklist.filter.currenttags, mytasklist.buttons) + s.mytasklist = awful.widget.tasklist(s, awful.widget.tasklist.filter.currenttags, tasklist_buttons) -- Create the wibox - mywibox[s] = awful.wibox({ position = "top", screen = s }) + s.mywibox = awful.wibar({ position = "top", screen = s }) - -- Widgets that are aligned to the left - local left_layout = wibox.layout.fixed.horizontal() - left_layout:add(mylauncher) - left_layout:add(mytaglist[s]) - left_layout:add(mypromptbox[s]) - - -- Widgets that are aligned to the right - local right_layout = wibox.layout.fixed.horizontal() - right_layout:add(netwidget) - right_layout:add(cpuwidget) - for i=1, tablelength(batterywidgets) do - right_layout:add(batterywidgets[i]) - end - - right_layout:add(thermalwidget) - if s == 1 then right_layout:add(wibox.widget.systray()) end - right_layout:add(mytextclock) - right_layout:add(mylayoutbox[s]) - - -- Now bring it all together (with the tasklist in the middle) - local layout = wibox.layout.align.horizontal() - layout:set_left(left_layout) - layout:set_middle(mytasklist[s]) - layout:set_right(right_layout) - - mywibox[s]:set_widget(layout) -end + -- Add widgets to the wibox + s.mywibox:setup { + layout = wibox.layout.align.horizontal, + { -- Left widgets + layout = wibox.layout.fixed.horizontal, + mylauncher, + s.mytaglist, + s.mypromptbox, + }, + s.mytasklist, -- Middle widget + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + netwidget, + cpuwidget, + batterywidget, + thermalwidget, + wibox.widget.systray(), + mytextclock, + s.mylayoutbox, + }, + } +end) -- }}} -- {{{ Mouse bindings -root.buttons(awful.util.table.join( +root.buttons(gears.table.join( awful.button({ }, 3, function () mymainmenu:toggle() end), awful.button({ }, 4, awful.tag.viewnext), awful.button({ }, 5, awful.tag.viewprev) @@ -215,37 +259,9 @@ root.buttons(awful.util.table.join( -- }}} -- {{{ Key bindings -globalkeys = awful.util.table.join( - awful.key({ modkey, }, "Left", awful.tag.viewprev ), - awful.key({ modkey, }, "Right", awful.tag.viewnext ), - awful.key({ modkey, }, "Escape", awful.tag.history.restore), - - awful.key({ modkey, }, "j", - function () - awful.client.focus.byidx( 1) - if client.focus then client.focus:raise() end - end), - awful.key({ modkey, }, "k", - function () - awful.client.focus.byidx(-1) - if client.focus then client.focus:raise() end - end), - awful.key({ modkey, }, "w", function () mymainmenu:show() end), - - -- Layout manipulation - awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( 1) end), - awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( -1) end), - awful.key({ modkey, "Control" }, "j", function () awful.screen.focus_relative( 1) end), - awful.key({ modkey, "Control" }, "k", function () awful.screen.focus_relative(-1) end), - awful.key({ modkey, }, "u", awful.client.urgent.jumpto), - awful.key({ modkey, }, "Tab", - function () - awful.client.focus.history.previous() - if client.focus then - client.focus:raise() - end - end), +globalkeys = gears.table.join( + --- CUSTOM STUFF -- Set backlight awful.key({ modkey, "Mod1" }, "1", function() awful.util.spawn("/usr/bin/xbacklight -set 10") end), awful.key({ modkey, "Mod1" }, "2", function() awful.util.spawn("/usr/bin/xbacklight -set 20") end), @@ -276,10 +292,13 @@ globalkeys = awful.util.table.join( awful.util.spawn("/usr/bin/xbacklight -set "..newval) end), + -- Disable xautolock (win+alt#y) awful.key({ modkey, "Mod1" }, "y", function() awful.util.spawn("/usr/bin/killall xautolock") end), + -- Enable xautolock (win+alt#x) awful.key({ modkey, "Mod1" }, "x", function() awful.util.spawn("/usr/bin/xautolock -locker slock -time 5") end), -- Some Application shortcuts + awful.key({ modkey }, "e", function() awful.util.spawn("/usr/bin/emulationstation") end), awful.key({ modkey }, "v", function() awful.util.spawn("/usr/bin/chromium") end), awful.key({ modkey }, "b", function() awful.util.spawn("/usr/bin/firefox") end), awful.key({ modkey }, "n", function() awful.util.spawn("/usr/bin/thunderbird") end), @@ -291,169 +310,330 @@ globalkeys = awful.util.table.join( awful.util.spawn(editor_cmd .. " " .. os.getenv("HOME") .. "/.zshrc") end), awful.key({ modkey }, "y", function() awful.util.spawn("/usr/bin/thunar") end), - -- Standard program - awful.key({ modkey, }, "Return", function () awful.util.spawn(terminal) end), + -- Lock screen awful.key({ modkey, "Shift" }, "Return", function () awful.util.spawn("/usr/bin/slock") end), - awful.key({ modkey, "Control" }, "r", awesome.restart), - awful.key({ modkey, "Shift" }, "q", function () awesome.quit() end), + --- END CUSTOM STUFF - awful.key({ modkey, }, "l", function () awful.tag.incmwfact( 0.05) end), - awful.key({ modkey, }, "h", function () awful.tag.incmwfact(-0.05) end), - awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1) end), - awful.key({ modkey, "Shift" }, "l", function () awful.tag.incnmaster(-1) end), - awful.key({ modkey, "Control" }, "h", function () awful.tag.incncol( 1) end), - awful.key({ modkey, "Control" }, "l", function () awful.tag.incncol(-1) end), - awful.key({ modkey, }, "space", function () awful.layout.inc(layouts, 1) end), - awful.key({ modkey, "Shift" }, "space", function () awful.layout.inc(layouts, -1) end), + 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", + 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"}), + + -- 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"}), + + 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 + client.focus = c + c:raise() + end + end, + {description = "restore minimized", group = "client"}), - awful.key({ modkey, "Control" }, "n", awful.client.restore), - -- Prompt - awful.key({ modkey }, "r", function () mypromptbox[mouse.screen]:run() end), + awful.key({ modkey }, "r", function () awful.screen.focused().mypromptbox:run() end, + {description = "run prompt", group = "launcher"}), awful.key({ modkey }, "x", function () - awful.prompt.run({ prompt = "Run Lua code: " }, - mypromptbox[mouse.screen].widget, - awful.util.eval, nil, - awful.util.getdir("cache") .. "/history_eval") - end), + 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) + awful.key({ modkey }, "p", function() menubar.show() end, + {description = "show the menubar", group = "launcher"}) ) -clientkeys = awful.util.table.join( - awful.key({ modkey, }, "f", function (c) c.fullscreen = not c.fullscreen end), - awful.key({ modkey, "Shift" }, "c", function (c) c:kill() end), - awful.key({ modkey, "Control" }, "space", awful.client.floating.toggle ), - awful.key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end), - awful.key({ modkey, }, "o", awful.client.movetoscreen ), - awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end), +clientkeys = gears.table.join( + awful.key({ modkey, }, "f", + function (c) + c.fullscreen = not c.fullscreen + c:raise() + end, + {description = "toggle fullscreen", group = "client"}), + awful.key({ modkey, "Shift" }, "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), + 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.maximized_vertical = not c.maximized_vertical - end) + c:raise() + end , + {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 do - globalkeys = awful.util.table.join(globalkeys, + globalkeys = gears.table.join(globalkeys, + -- View tag only. awful.key({ modkey }, "#" .. i + 9, function () - local screen = mouse.screen - local tag = awful.tag.gettags(screen)[i] + local screen = awful.screen.focused() + local tag = screen.tags[i] if tag then - awful.tag.viewonly(tag) + tag:view_only() end - end), + end, + {description = "view tag #"..i, group = "tag"}), + -- Toggle tag display. awful.key({ modkey, "Control" }, "#" .. i + 9, function () - local screen = mouse.screen - local tag = awful.tag.gettags(screen)[i] + local screen = awful.screen.focused() + local tag = screen.tags[i] if tag then awful.tag.viewtoggle(tag) end - 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 = awful.tag.gettags(client.focus.screen)[i] + local tag = client.focus.screen.tags[i] if tag then - awful.client.movetotag(tag) + client.focus:move_to_tag(tag) end 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 = awful.tag.gettags(client.focus.screen)[i] + local tag = client.focus.screen.tags[i] if tag then - awful.client.toggletag(tag) + client.focus:toggle_tag(tag) end end - end)) + end, + {description = "toggle focused client on tag #" .. i, group = "tag"}) + ) end -clientbuttons = awful.util.table.join( +clientbuttons = gears.table.join( awful.button({ }, 1, function (c) client.focus = c; c:raise() end), awful.button({ modkey }, 1, awful.mouse.client.move), awful.button({ modkey }, 3, awful.mouse.client.resize)) +-- Set keys root.keys(globalkeys) +-- }}} +-- {{{ Rules +-- Rules to apply to new clients (through the "manage" signal). awful.rules.rules = { + -- All clients will match this rule. { rule = { }, properties = { border_width = beautiful.border_width, border_color = beautiful.border_normal, focus = awful.client.focus.filter, raise = true, keys = clientkeys, - buttons = clientbuttons } }, - { rule = { class = "gimp" }, - properties = { floating = true } }, - { rule = { instance = "plugin-container" }, - properties = { floating = true } }, + buttons = clientbuttons, + screen = awful.screen.preferred, + placement = awful.placement.no_overlap+awful.placement.no_offscreen + } + }, + + -- Floating clients. + { rule_any = { + instance = { + "DTA", -- Firefox addon DownThemAll. + "copyq", -- Includes session name in class. + }, + class = { + "Arandr", + "Gpick", + "Kruler", + "MessageWin", -- kalarm. + "Sxiv", + "Wpa_gui", + "pinentry", + "veromix", + "xtightvncviewer"}, + + name = { + "Event Tester", -- xev. + }, + role = { + "AlarmWindow", -- Thunderbird's calendar. + "pop-up", -- e.g. Google Chrome's (detached) Developer Tools. + } + }, properties = { floating = true }}, + + -- Add titlebars to normal clients and dialogs + { rule_any = {type = { "normal", "dialog" } + }, properties = { titlebars_enabled = false } + }, + + -- Set Firefox to always map on the tag named "2" on screen 1. + -- { rule = { class = "Firefox" }, + -- properties = { screen = 1, tag = "2" } }, } +-- }}} -client.connect_signal("manage", function (c, startup) - c:connect_signal("mouse::enter", function(c) - if awful.layout.get(c.screen) ~= awful.layout.suit.magnifier - and awful.client.focus.filter(c) then - client.focus = c - end - end) +-- {{{ 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 not startup then - if not c.size_hints.user_position and not c.size_hints.program_position then - awful.placement.no_overlap(c) - awful.placement.no_offscreen(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 +end) - local titlebars_enabled = false - if titlebars_enabled and (c.type == "normal" or c.type == "dialog") then - local buttons = awful.util.table.join( - awful.button({ }, 1, function() - client.focus = c - c:raise() - awful.mouse.client.move(c) - end), - awful.button({ }, 3, function() - client.focus = c - c:raise() - awful.mouse.client.resize(c) - end) - ) +-- Add a titlebar if titlebars_enabled is set to true in the rules. +client.connect_signal("request::titlebars", function(c) + -- buttons for the titlebar + local buttons = gears.table.join( + awful.button({ }, 1, function() + client.focus = c + c:raise() + awful.mouse.client.move(c) + end), + awful.button({ }, 3, function() + client.focus = c + c:raise() + awful.mouse.client.resize(c) + end) + ) - local left_layout = wibox.layout.fixed.horizontal() - left_layout:add(awful.titlebar.widget.iconwidget(c)) - left_layout:buttons(buttons) + awful.titlebar(c) : setup { + { -- Left + awful.titlebar.widget.iconwidget(c), + buttons = buttons, + layout = wibox.layout.fixed.horizontal + }, + { -- Middle + { -- Title + align = "center", + widget = awful.titlebar.widget.titlewidget(c) + }, + buttons = buttons, + layout = wibox.layout.flex.horizontal + }, + { -- Right + awful.titlebar.widget.floatingbutton (c), + awful.titlebar.widget.maximizedbutton(c), + awful.titlebar.widget.stickybutton (c), + awful.titlebar.widget.ontopbutton (c), + awful.titlebar.widget.closebutton (c), + layout = wibox.layout.fixed.horizontal() + }, + layout = wibox.layout.align.horizontal + } +end) - local right_layout = wibox.layout.fixed.horizontal() - right_layout:add(awful.titlebar.widget.floatingbutton(c)) - right_layout:add(awful.titlebar.widget.maximizedbutton(c)) - right_layout:add(awful.titlebar.widget.stickybutton(c)) - right_layout:add(awful.titlebar.widget.ontopbutton(c)) - right_layout:add(awful.titlebar.widget.closebutton(c)) - - local middle_layout = wibox.layout.flex.horizontal() - local title = awful.titlebar.widget.titlewidget(c) - title:set_align("center") - middle_layout:add(title) - middle_layout:buttons(buttons) - - local layout = wibox.layout.align.horizontal() - layout:set_left(left_layout) - layout:set_right(right_layout) - layout:set_middle(middle_layout) - - awful.titlebar(c):set_widget(layout) +-- Enable sloppy focus, so that focus follows mouse. +client.connect_signal("mouse::enter", function(c) + if awful.layout.get(c.screen) ~= awful.layout.suit.magnifier + and awful.client.focus.filter(c) then + client.focus = c end 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/.config/awesome/rc.lua.old b/.config/awesome/rc.lua.old new file mode 100644 index 00000000..a5cc11f9 --- /dev/null +++ b/.config/awesome/rc.lua.old @@ -0,0 +1,460 @@ +-- require $HOME/.config/awesome/private.lua for including variables that are different on +-- my systems like private.thermal_zone or private.net_device; this makes sure that widgets +-- are displaying the right value... ;) +-- This file needs to exist. You need to explore this if you want to use my widget stuff! +require("private") +require("functions") + +-- Require some basic stuff +local gears = require("gears") +awful = require("awful") +awful.rules = require("awful.rules") +require("awful.autofocus") +local wibox = require("wibox") +beautiful = require("beautiful") +local naughty = require("naughty") +local menubar = require("menubar") +vicious = require("vicious") + +if awesome.startup_errors then + naughty.notify({ preset = naughty.config.presets.critical, + title = "Oops, there were errors during startup!", + text = awesome.startup_errors }) +end + +do + local in_error = false + awesome.connect_signal("debug::error", function (err) + if in_error then return end + in_error = true + + naughty.notify({ preset = naughty.config.presets.critical, + title = "Oops, an error happened!", + text = err }) + in_error = false + end) +end + +beautiful.init(os.getenv("HOME").."/.config/awesome/themes/hanez/theme.lua") + +-- To override the wallpaper provided by the theme you can just add a file named +-- ~/images/background.png and then this file will be used as wallpaper. No need +-- to change the theme or this file for that... ;) +name = os.getenv("HOME").."/images/background.png" +if file_exists(name) then + beautiful.wallpaper = name +end + +terminal = '/usr/bin/uxterm -bg black -fg grey -sb -leftbar -si -bc -cr orange -fa "'..private.font_xterm..'" -fs '..private.font_xterm_size +editor = "/usr/bin/vim" +editor_cmd = terminal .. " -e " .. editor + +modkey = "Mod4" + +for i, program in ipairs(private.autostart) do + run_once(program) +end + +local layouts = +{ + awful.layout.suit.tile, + 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.floating +} + +if beautiful.wallpaper then + for s = 1, screen.count() do + gears.wallpaper.maximized(beautiful.wallpaper, s, true) + end +end + +tags = {} +for s = 1, screen.count() do + tags[s] = awful.tag({ 1, 2, 3, 4, 5, 6, 7, 8, 9 }, s, layouts[1]) +end + +-- Include the mainmenu from external file to make customisation easier +require("mymainmenu") +mylauncher = awful.widget.launcher({ image = beautiful.awesome_icon, menu = mymainmenu }) + +local batterywidgets = {} +for i=1, tablelength(private.battery) do + batterywidgets[i] = wibox.widget.textbox() + vicious.register(batterywidgets[i], vicious.widgets.bat, "$1$2% / ", 20, private.battery[i]) +end + +local netwidget = wibox.widget.textbox() +vicious.register(netwidget, vicious.widgets.net, '⇩${'..private.net_device..' down_kb} / ${'..private.net_device..' up_kb}⇧ ', 1) + +local thermalwidget = wibox.widget.textbox() +vicious.register(thermalwidget, vicious.widgets.thermal, "$1°C ", 20, private.thermal_zone ) + +cpuwidget = awful.widget.graph() +cpuwidget:set_width(100) +cpuwidget:set_background_color("#222222") +cpuwidget:set_color({ type = "linear", from = { 0, 0 }, to = { 10,0 }, stops = { {0, "#FF5656"}, {0.5, "#88A175"}, {1, "#AECF96" }}}) +vicious.register(cpuwidget, vicious.widgets.cpu, "$1") + +mytextclock = awful.widget.textclock(" %a %b %d, %H:%M:%S ", 1) + +menubar.utils.terminal = terminal -- Set the terminal for applications that require it + +mywibox = {} +mypromptbox = {} +mylayoutbox = {} +mytaglist = {} +mytaglist.buttons = awful.util.table.join( + awful.button({ }, 1, awful.tag.viewonly), + awful.button({ modkey }, 1, awful.client.movetotag), + awful.button({ }, 3, awful.tag.viewtoggle), + awful.button({ modkey }, 3, awful.client.toggletag), + awful.button({ }, 4, function(t) awful.tag.viewnext(awful.tag.getscreen(t)) end), + awful.button({ }, 5, function(t) awful.tag.viewprev(awful.tag.getscreen(t)) end) + ) +mytasklist = {} +mytasklist.buttons = awful.util.table.join( + awful.button({ }, 1, function (c) + if c == client.focus then + c.minimized = true + else + -- Without this, the following + -- :isvisible() makes no sense + c.minimized = false + if not c:isvisible() then + awful.tag.viewonly(c:tags()[1]) + end + -- This will also un-minimize + -- the client, if needed + client.focus = c + c:raise() + end + end), + awful.button({ }, 3, function () + if instance then + instance:hide() + instance = nil + else + instance = awful.menu.clients({ + theme = { width = 250 } + }) + end + end), + awful.button({ }, 4, function () + awful.client.focus.byidx(1) + if client.focus then client.focus:raise() end + end), + awful.button({ }, 5, function () + awful.client.focus.byidx(-1) + if client.focus then client.focus:raise() end + end)) + +for s = 1, screen.count() do + -- Create a promptbox for each screen + mypromptbox[s] = awful.widget.prompt() + -- Create an imagebox widget which will contains an icon indicating which layout we're using. + -- We need one layoutbox per screen. + mylayoutbox[s] = awful.widget.layoutbox(s) + mylayoutbox[s]:buttons(awful.util.table.join( + awful.button({ }, 1, function () awful.layout.inc(layouts, 1) end), + awful.button({ }, 3, function () awful.layout.inc(layouts, -1) end), + awful.button({ }, 4, function () awful.layout.inc(layouts, 1) end), + awful.button({ }, 5, function () awful.layout.inc(layouts, -1) end))) + -- Create a taglist widget + mytaglist[s] = awful.widget.taglist(s, awful.widget.taglist.filter.all, mytaglist.buttons) + + -- Create a tasklist widget + mytasklist[s] = awful.widget.tasklist(s, awful.widget.tasklist.filter.currenttags, mytasklist.buttons) + + -- Create the wibox + mywibox[s] = awful.wibox({ position = "top", screen = s }) + + -- Widgets that are aligned to the left + local left_layout = wibox.layout.fixed.horizontal() + left_layout:add(mylauncher) + left_layout:add(mytaglist[s]) + left_layout:add(mypromptbox[s]) + + -- Widgets that are aligned to the right + local right_layout = wibox.layout.fixed.horizontal() + right_layout:add(netwidget) + right_layout:add(cpuwidget) + for i=1, tablelength(batterywidgets) do + right_layout:add(batterywidgets[i]) + end + + right_layout:add(thermalwidget) + if s == 1 then right_layout:add(wibox.widget.systray()) end + right_layout:add(mytextclock) + right_layout:add(mylayoutbox[s]) + + -- Now bring it all together (with the tasklist in the middle) + local layout = wibox.layout.align.horizontal() + layout:set_left(left_layout) + layout:set_middle(mytasklist[s]) + layout:set_right(right_layout) + + mywibox[s]:set_widget(layout) +end +-- }}} + +-- {{{ Mouse bindings +root.buttons(awful.util.table.join( + awful.button({ }, 3, function () mymainmenu:toggle() end), + awful.button({ }, 4, awful.tag.viewnext), + awful.button({ }, 5, awful.tag.viewprev) +)) +-- }}} + +-- {{{ Key bindings +globalkeys = awful.util.table.join( + awful.key({ modkey, }, "Left", awful.tag.viewprev ), + awful.key({ modkey, }, "Right", awful.tag.viewnext ), + awful.key({ modkey, }, "Escape", awful.tag.history.restore), + + awful.key({ modkey, }, "j", + function () + awful.client.focus.byidx( 1) + if client.focus then client.focus:raise() end + end), + awful.key({ modkey, }, "k", + function () + awful.client.focus.byidx(-1) + if client.focus then client.focus:raise() end + end), + awful.key({ modkey, }, "w", function () mymainmenu:show() end), + + -- Layout manipulation + awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( 1) end), + awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( -1) end), + awful.key({ modkey, "Control" }, "j", function () awful.screen.focus_relative( 1) end), + awful.key({ modkey, "Control" }, "k", function () awful.screen.focus_relative(-1) end), + awful.key({ modkey, }, "u", awful.client.urgent.jumpto), + awful.key({ modkey, }, "Tab", + function () + awful.client.focus.history.previous() + if client.focus then + client.focus:raise() + end + end), + + -- Set backlight + awful.key({ modkey, "Mod1" }, "1", function() awful.util.spawn("/usr/bin/xbacklight -set 10") end), + awful.key({ modkey, "Mod1" }, "2", function() awful.util.spawn("/usr/bin/xbacklight -set 20") end), + awful.key({ modkey, "Mod1" }, "3", function() awful.util.spawn("/usr/bin/xbacklight -set 30") end), + awful.key({ modkey, "Mod1" }, "4", function() awful.util.spawn("/usr/bin/xbacklight -set 40") end), + awful.key({ modkey, "Mod1" }, "5", function() awful.util.spawn("/usr/bin/xbacklight -set 50") end), + awful.key({ modkey, "Mod1" }, "6", function() awful.util.spawn("/usr/bin/xbacklight -set 60") end), + awful.key({ modkey, "Mod1" }, "7", function() awful.util.spawn("/usr/bin/xbacklight -set 70") end), + awful.key({ modkey, "Mod1" }, "8", function() awful.util.spawn("/usr/bin/xbacklight -set 80") end), + awful.key({ modkey, "Mod1" }, "9", function() awful.util.spawn("/usr/bin/xbacklight -set 90") end), + awful.key({ modkey, "Mod1" }, "0", function() awful.util.spawn("/usr/bin/xbacklight -set 100") end), + + awful.key({ modkey, "Mod1" }, "o", function() + local handle = io.popen("/usr/bin/xbacklight -get") + local result = handle:read("*a") + handle:close() + result = math.floor(result) + local newval = tonumber(result) - 5 + awful.util.spawn("/usr/bin/xbacklight -set "..newval) + end), + + awful.key({ modkey, "Mod1" }, "p", function() + local handle = io.popen("/usr/bin/xbacklight -get") + local result = handle:read("*a") + handle:close() + result = math.floor(result) + local newval = tonumber(result) + 5 + awful.util.spawn("/usr/bin/xbacklight -set "..newval) + end), + + awful.key({ modkey, "Mod1" }, "y", function() awful.util.spawn("/usr/bin/killall xautolock") end), + awful.key({ modkey, "Mod1" }, "x", function() awful.util.spawn("/usr/bin/xautolock -locker slock -time 5") end), + + -- Some Application shortcuts + awful.key({ modkey }, "e", function() awful.util.spawn("/usr/bin/emulationstation") end), + awful.key({ modkey }, "v", function() awful.util.spawn("/usr/bin/chromium") end), + awful.key({ modkey }, "b", function() awful.util.spawn("/usr/bin/firefox") end), + awful.key({ modkey }, "n", function() awful.util.spawn("/usr/bin/thunderbird") end), + awful.key({ modkey }, "m", function() awful.util.spawn("/usr/bin/claws-mail") end), + + awful.key({ modkey }, "c", function() + awful.util.spawn(editor_cmd .. " " .. awesome.conffile) end), + awful.key({ modkey }, "z", function() + awful.util.spawn(editor_cmd .. " " .. os.getenv("HOME") .. "/.zshrc") end), + awful.key({ modkey }, "y", function() awful.util.spawn("/usr/bin/thunar") end), + + -- Standard program + awful.key({ modkey, }, "Return", function () awful.util.spawn(terminal) end), + awful.key({ modkey, "Shift" }, "Return", function () awful.util.spawn("/usr/bin/slock") end), + awful.key({ modkey, "Control" }, "r", awesome.restart), + awful.key({ modkey, "Shift" }, "q", awesome.quit), + + awful.key({ modkey, }, "l", function () awful.tag.incmwfact( 0.05) end), + awful.key({ modkey, }, "h", function () awful.tag.incmwfact(-0.05) end), + awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1) end), + awful.key({ modkey, "Shift" }, "l", function () awful.tag.incnmaster(-1) end), + awful.key({ modkey, "Control" }, "h", function () awful.tag.incncol( 1) end), + awful.key({ modkey, "Control" }, "l", function () awful.tag.incncol(-1) end), + awful.key({ modkey, }, "space", function () awful.layout.inc(layouts, 1) end), + awful.key({ modkey, "Shift" }, "space", function () awful.layout.inc(layouts, -1) end), + + awful.key({ modkey, "Control" }, "n", awful.client.restore), + + -- Prompt + awful.key({ modkey }, "r", function () mypromptbox[mouse.screen]:run() end), + + awful.key({ modkey }, "x", + function () + awful.prompt.run({ prompt = "Run Lua code: " }, + mypromptbox[mouse.screen].widget, + awful.util.eval, nil, + awful.util.getdir("cache") .. "/history_eval") + end), + -- Menubar + awful.key({ modkey }, "p", function() menubar.show() end) +) + +clientkeys = awful.util.table.join( + awful.key({ modkey, }, "f", function (c) c.fullscreen = not c.fullscreen end), + awful.key({ modkey, "Shift" }, "c", function (c) c:kill() end), + awful.key({ modkey, "Control" }, "space", awful.client.floating.toggle ), + awful.key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end), + awful.key({ modkey, }, "o", awful.client.movetoscreen ), + awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end), + awful.key({ modkey, }, "n", + function (c) + c.minimized = true + end), + awful.key({ modkey, }, "m", + function (c) + c.maximized_horizontal = not c.maximized_horizontal + c.maximized_vertical = not c.maximized_vertical + end) +) + +for i = 1, 9 do + globalkeys = awful.util.table.join(globalkeys, + awful.key({ modkey }, "#" .. i + 9, + function () + local screen = mouse.screen + local tag = awful.tag.gettags(screen)[i] + if tag then + awful.tag.viewonly(tag) + end + end), + awful.key({ modkey, "Control" }, "#" .. i + 9, + function () + local screen = mouse.screen + local tag = awful.tag.gettags(screen)[i] + if tag then + awful.tag.viewtoggle(tag) + end + end), + awful.key({ modkey, "Shift" }, "#" .. i + 9, + function () + if client.focus then + local tag = awful.tag.gettags(client.focus.screen)[i] + if tag then + awful.client.movetotag(tag) + end + end + end), + awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9, + function () + if client.focus then + local tag = awful.tag.gettags(client.focus.screen)[i] + if tag then + awful.client.toggletag(tag) + end + end + end)) +end + +clientbuttons = awful.util.table.join( + awful.button({ }, 1, function (c) client.focus = c; c:raise() end), + awful.button({ modkey }, 1, awful.mouse.client.move), + awful.button({ modkey }, 3, awful.mouse.client.resize)) + +root.keys(globalkeys) + +awful.rules.rules = { + { rule = { }, + properties = { border_width = beautiful.border_width, + border_color = beautiful.border_normal, + focus = awful.client.focus.filter, + raise = true, + keys = clientkeys, + buttons = clientbuttons } }, + { rule = { class = "gimp" }, + properties = { floating = true } }, + { rule = { instance = "plugin-container" }, + properties = { floating = true } }, +} + +client.connect_signal("manage", function (c, startup) + c:connect_signal("mouse::enter", function(c) + if awful.layout.get(c.screen) ~= awful.layout.suit.magnifier + and awful.client.focus.filter(c) then + client.focus = c + end + end) + + if not startup then + if not c.size_hints.user_position and not c.size_hints.program_position then + awful.placement.no_overlap(c) + awful.placement.no_offscreen(c) + end + end + + local titlebars_enabled = false + if titlebars_enabled and (c.type == "normal" or c.type == "dialog") then + local buttons = awful.util.table.join( + awful.button({ }, 1, function() + client.focus = c + c:raise() + awful.mouse.client.move(c) + end), + awful.button({ }, 3, function() + client.focus = c + c:raise() + awful.mouse.client.resize(c) + end) + ) + + local left_layout = wibox.layout.fixed.horizontal() + left_layout:add(awful.titlebar.widget.iconwidget(c)) + left_layout:buttons(buttons) + + local right_layout = wibox.layout.fixed.horizontal() + right_layout:add(awful.titlebar.widget.floatingbutton(c)) + right_layout:add(awful.titlebar.widget.maximizedbutton(c)) + right_layout:add(awful.titlebar.widget.stickybutton(c)) + right_layout:add(awful.titlebar.widget.ontopbutton(c)) + right_layout:add(awful.titlebar.widget.closebutton(c)) + + local middle_layout = wibox.layout.flex.horizontal() + local title = awful.titlebar.widget.titlewidget(c) + title:set_align("center") + middle_layout:add(title) + middle_layout:buttons(buttons) + + local layout = wibox.layout.align.horizontal() + layout:set_left(left_layout) + layout:set_right(right_layout) + layout:set_middle(middle_layout) + + awful.titlebar(c):set_widget(layout) + end +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/.config/awesome/themes/hanez/layouts/cornerne.png b/.config/awesome/themes/hanez/layouts/cornerne.png new file mode 100644 index 0000000000000000000000000000000000000000..e7fb61bb6250e5ca65494dfad9979a8957aabe3e GIT binary patch literal 451 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=Y)RhkE)35=aM#78c%TSpfk$L9 zP{(x;W^~e+T>%tiFY)wsWxvlV%g-Cb)ck=doD5#NZ(MEs2NEK_?dUYj_7bChDsv^5KU zDtJyRo|f94-|Ez{d&;Lt%U*t*UUmJ|?DD&X-&Sqq+i!X$s=YM!{i;<~e}mpf)qdW_ z7V4GTX7<*~dfC0LyVAI)zheYC4*?F`UYmJ__w{=Q4^92#b<^vov(M1#T6BDleL>_j zMmeCmJy*Oue2g96?`N!>_r6_3YpI#@`6|`}Cc;OU5vG7x_KXuaCvnc|^eK3$W|1EM zV%Ax!hMm8h=BG#A7yfdO<@l_K%OMqlObzjy=DnKrj>~^*^PTJ0cd;KStTFCA-74^X zk;XQ?Us3-#Z~R!Fuu3+itkuvFV!?rQhGjDs^x7Oqjek9JL8jb;UHVQLH>;Rjl6HK^ S*?UwFq{`FP&t;ucLK6UD-mh!` literal 0 HcmV?d00001 diff --git a/.config/awesome/themes/hanez/layouts/cornernew.png b/.config/awesome/themes/hanez/layouts/cornernew.png new file mode 100644 index 0000000000000000000000000000000000000000..aeaf3311ad8f87080e8ae5a2474356be9094dd06 GIT binary patch literal 409 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=Y)RhkE(}T_xaPG;Ay9;~z$3C4 zsN*^aGdgL^t^f+Mmw5WRvfpQw<>y!V`eL^?0|TR)r;B4q#jUrq4)Qh|2(a{bi2b<0 z=<9H5fy*h5&>hV68cIK11v@#P^&G7D)@gCN=Lna+c9X!V$fJJ_8SwOP%iUeyeA%Sa zFzwCnfBRDHw#EF`eQs{%yE*G~XlQ3gN%ZsN(_8P)e(W~i)%?6XOQNJh9uv?V2w>;u zYp1^EG^4?>9=qeGPd{ahip-v$UiV-Gl>=U#E^o#(nI>~oK$);A|ltA>M7L3ipx@hfGm-(M-L zf5(-*^exx>tB!GZMXzZc+26F+>O@Jap(DiL14azFY7$EP9Xs XrzPv}#V=@I3{vFj>gTe~DWM4fkFb*Q literal 0 HcmV?d00001 diff --git a/.config/awesome/themes/hanez/layouts/cornernw.png b/.config/awesome/themes/hanez/layouts/cornernw.png new file mode 100644 index 0000000000000000000000000000000000000000..bac56728fe5ece81d7a57f0e971ee89ae63ccdc7 GIT binary patch literal 439 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=Y)RhkE)35=aM#78c%TSpfk$L9 zP{(x;W^~e+T>%tiFY)wsWxvlV%g@go@Q6==fq~J*)5S5Q;?~<)2YH(eMB2I^vCVB@ zw7H}h(bVm}tbnDjDuL;{hI7GVw?hoGUd+AXk$Ev}-+zx=)358-)*qVB)hKXl)1;T} zt5)eny)KeyGue{Xy=cd^(%Pt7>ofn~+we~8(Zg1OB$?yM_rE`1`ghj1_shDSZ2#=O zm-EYX?cLnF%s@vWK!bdgU5|R?Xyg)Vx}AhIx}tbz9AYb+3iofa*RhGx^56 zBdzJ;eTLZ#;n}hO?s81vOlm@yz`$@rjlsy#$kFD2KEv#pT$T64nK#T_8GmN?`&piE z!f%)g_sBJ@&Gh#b5x!&9a3ytFPFn8TUH5zq&VSzhx;Rqv>Ehhmhs|GAeP@u*Z;ieG z<<^y>a3^wT^BY{{Som&@&jok6gkSmm3*SjqGC67F?PXZ$v+u*5drqbxhj_aBxvX%9{Rt#=pU|{6(ba4!+xb^myAz!lrk3%4PAs7G4 zi?=4HJW#WZGA`iV6?TB3*U|5j?VVOScQ1M@EzSLXcck@~d(1$~;b6hN6RO$K3?AwNmnK#o zc=U72Dk%*{1_p!fjo+B3oMVaJ!I;jrBe+}jfX@Uq4!AA`hxrU=SXyT)*d7p3Fb{fP z&#ZEs%tiFY)wsWxvlV%g=Ac|GZ6ufq~J~)5S5Q;?~<)XL(x`MA)w8aE3fM znfpLAQFmIhu9ze9>yun>4(?s-CSaiOS(ex4tjj;Q)m;KXMOmK@8Sw1SoV9CppVvw+ zmuH1C`^$eV4=QJOaM@NGyS6)P?d#otgIC<1(HoOjbmiK2#rf-QPqAYMIsyy?47^rq zm?mB2<#TXJyWeiJN^teNJncK%-aZSeh@3V{k)c7H@x|}DZL-1JayNfs-1pIT`|+-= z{2Uv&auoa4ZB&T))gY1nE~JUy;>7cJ5_ZzTH`g;oy*~G?bW`qZQHFT+6K)(ZtHAUL z;fC&d{)ew7Gbg;hf8M4#k8|CTnEl!|vY)NlfWgGY?{{HOgYXefBTgnHeG5Do_W2p4 q`e%GyzhS+w&sE`lM-zpd4n5=7xmpv$pGDU|`hnba4!+xb=3{LBVDP5!U^FQ6G}n z%@%4N7SdI|#Ufj=u;Yne5>wrYhBww$A12+D3zopr0ACoI#{d8T literal 0 HcmV?d00001 diff --git a/.config/awesome/themes/hanez/layouts/cornersw.png b/.config/awesome/themes/hanez/layouts/cornersw.png new file mode 100644 index 0000000000000000000000000000000000000000..0d519b5c6ce9a4b1c8c1ffea2358b6762ece30e8 GIT binary patch literal 424 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=Y)RhkE)35=aM#78c%TSpfk$L9 zP{(x;W^~e+T>%tiFY)wsWxvlV%P+vem37mMfq~J~)5S5Q;?~<)2YFi*1Y9rXaE3iN znVZlxBTDD^s%4E|Q&_(}xHr)^g;Dv}zl#qz^nWSOFXU7Fl4AO=wNS=B&1}ubrc^Kf~#`BmC|?kmgoz283L>^Irn$516=_I5B}&J zITfxPe)kDOk74zj<{rb}!KIVmvt~`+`i)1@-Z!|No#BBigUgd`+dEGD^N^cRyzyO~ z-A>MBH?}{Yly5)(kFZAR$DPlv?cuD;ig(CSi}))okaQ#J^~cir3^NtfIAHbw=>{{# z7MHjCHeO}su+0B3S3Bm>(hGC`X71c+CkK>u>Gau9#*osK(lkQ>NfW~)h7%Y2XM1h5 sJ+a;Bpos0>og%lJ=PbT1p%}7#-`CW&j}zxU5C*CDboFyt=akR{0DS|Yd;kCd literal 0 HcmV?d00001 diff --git a/.config/awesome/themes/hanez/layouts/dwindle.png b/.config/awesome/themes/hanez/layouts/dwindle.png index 943ece5bdda3cf316c286aabaf2b554e9fea7e3d..0ec7a35a528d524d6e0d125f6f6824bc63d94015 100644 GIT binary patch literal 425 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf2?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR4}hy`|Inlwviy-d*%g_mux4x2=g^arf3F>wmTK9vgl9KHK&f z_z5r^m=$=pS;f=u*W+dD*FL{9b>AkN^YTtVdw)7PKL}m$qb+u}x7L2c_zcb|N{$sD}PJSyuxPf z1hY;j+QIaDWyAW)LpIMCFMVdIVqluVuG4+wO4Fw8&O>yq=Xp!p6kSQ$KB{an^LB{Ts5wHu#w delta 956 zcmV;t14I0&1IGuD8Gi%-0001Bxm5rF1CB{VK~!ko#n{hp6jdAm@J~1pFC>@<2M(gq zlb%exXpDC+{w2nPR}avzfzUuGv7w|IAZ^2s6bv9in#LYfVg#)~2!=?o(!^gW%#WSz zOn1Ax9w=p@?Y3)XcfON7%*=Z;pPl#S&HFy8QWc5BysDa-1%IhjMI=y>2n9~aIhsow z6|q39CKSoscEPknBD5eASP;AFy>0BQM*=t1r z4w(^(q`oVr2_`Ly1wtPd0T^^g-Mq}76ag4l7FzVfx*x2r0QUJyAoM^#y$6)cD2qi7 z(0f41jirgmVTu4uiG>=zpa{Sr^FlR~6anaSO;u{vSbs5q0|JSvUnvIgl~|>%d=L6VhMj%_W_B$#9iMuUB)PBwU0DZ1VG#y>#+(AbK61Seqm`CyiFknu$ zO4s_@w0}h4@`^LV`2skp;_sGE@Q^+3sY*4BtWy3*&HOsy<2F5JQNtyHdqPcBv4*KN z%EumcGG*P^=lGb+eHE!tsBUJ>lAjBl%yT4c?T|+d8#7{H%`*KGS!Y>Or-@1XI3ac{ z&yldR_(0%NrgR*_y1{@Z;hmt)m%9MR% z)6%)u#qE;0ygK2OL_^KI$c1NC4<5SHn{i;ohzX<5tTVG$x&6?b?@;`FlmzRgbKL}N zm4CI&CJ*|@*vjO#n}Aa)c7Rtj)SXuHpqGFrx9?XrZ8L^fF7b93P&Z;u<}BF0+5%@c z0ViDaz&S52?blYzo4WfJw8r)2{PJcIfX(VQFW-Lf>9n3>!8KFD2?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR4&&v5vn%~+Ux9?AHU8ClO z$Fei3zWL`e~2q7D{St_t+P>Oz6~CkicuXg)2*62v(b@ z-V*fh7l2v*nk_(Ym)wI5^Agsuw`4P4sC&J94I=}?0i)N9&Rg564k+{n@@v?}t1LX&h8Gi%-0001Bxm5rF00Lr5M??Sss*NKu000A?Nkl`ctu0^55}`z0Bvy6LCDT%=$bzcSg2WB)Z-zQ5n4weQuV;;j-9ud5-DR#9sr@#xAyk9VOB-mxjX=Fb$Ry{8x%^!Ue6w2 zeRfn+sF~duY=0Esm_>;N<3#}ssHtf9xF~?L5|PlJq5yu7Dw(&vD1Z-DBp&6l4cB9v z5K8@RpcsH7$`UmtuM`1r(2Pi|;+tZo;JQVLP~`n001msaVP4hm`9#BBc1}rT(RV!q zRxSWT{t${hHk?;N(me*wC`rWj=a-UobANj&5jm8#`+xNTOi4tVKFi+ydH@cZ7pc3R zhx^_D18%CRm^D!hzrYsE0nCUjI@|F9JH%3vvKg~}a|LtQoejW{8KG*&+uu?aNADUP*iJK%^=>h6CO^H`Pufe~}6ZI;%Trlmqx*R+gg3lKP^?9Y}EeAFHf z)l@W%wdwyo*)76nb9&sOrYk}ZMW{(MO?Bv>c)F34b$#LZxT;6WDk71FnT|a_6*`qq zMl|4vQ4_|DbnG)MRo$3s+Ndz;ZYL#<=c|mm*?)UNSMru-o$XzryZLLwPWGHdaX-Xq zC;Lg_LYsQZFRpgkGnoMli`TsW=Tf1Puf)F28(>uI%qkThEd;E>2efkAs*R#ozWO-pUBO1g=;tQO&vR8!r&*rip~gD39y=NuR_ z=6{;;RdwdTUZw6wbGAouySnP3e#U~;wpFzyn>^qz6Kln7o&cwn?GOmOq^aSIL67?h z@UQz}CDS$wjIJ&5<_pj;W=_?4fxz~51$H^4$fkc57K*-YEiL zvxd#f?hmh|t^FH;n2?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR4v15DgKFsZYyOztm2gx9G$rf0vYJQ{JFVdQ&MBb@0BLw-wg3PC delta 178 zcmdnNbck_+L_H%j0|Uc^<&WnADaPU;cPEB*=VV?2IcxzwA+8JzjX>syri_Uo>5?G7 zUYh7ML)4EaloaX$G6KP%6S9(JA@9&LxF+6#tli)MEg+b|b1Ge>-Uko2I;m?7%I_EXRD S_L%}TF?hQAxvX diff --git a/.config/awesome/themes/hanez/layouts/fairhw.png b/.config/awesome/themes/hanez/layouts/fairhw.png index 514d66d06c89d5cefa080d0ae23e091b308361f4..410e292e59b85db88a7eaff05a1bf0660986b048 100644 GIT binary patch literal 314 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf2?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR4Qye2SBUQK?pBVZ$yIx|^I{kk7i$4?R>9mvxDj5}h`mx~J zubj1el^=aezdmc`XA|G~^M0KwT($L^RiK<;;r;VvSHtUg<8}o0-}`my#eJY9*g%B- z7u~&IYZ+6X)qGMtUAJwuouH)kw!_CYZztYPtZ%}mg+YS*K$%5OyKBmX90lDvf9b{D Qe?aOyUHx3vIVCg!05_UwHvj+t delta 178 zcmdnRbck_+L_H%j0|Uc^<&WnADaPU;cPEB*=VV?2IcxzwA+FnBsQ&-|UpFqF2_#(- zl2?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR4~bp9zYIffk$L90|U1(2s1Lwnj--eWH0gbb!ET7$t5OWzU#of zY@m?7r;B5V#`)wQ{H#1Pdf0htc#L>hdEPWnXDoZpzJ@0&B9Nb(#pl?9QscLWB(s$m Z86tfa2{XyG?E~s%@O1TaS?83{1OR#QF}MH# diff --git a/.config/awesome/themes/hanez/layouts/fairvw.png b/.config/awesome/themes/hanez/layouts/fairvw.png index f97ce56b2b1554834e7e5cf7bdc3ef9ed2553a62..1a4ee2738876c10dcb2ba49bad9a143f15ba2ffe 100644 GIT binary patch literal 323 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf2?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR4+_cKL3$gSpLd?>oqy{doC_VO5aN?D*sjfp+)_@nb-S}zp_AEVBo;@ z_{*GoUu*2OXPCKDrpEa7JwuoE9as8%H`u2NZ{hqU!~#>v5FmO$O~TAkP*Z4jLj5VV p4B;=T9B|16S`EGiIZaAID)QfM*ST#D54H!%dAji_@$pYS_F9wc27 zlbF=syTTp8J_K;+@ a5+g&T&mv(anYMjEy$qhNelF{r5}E)u?=2?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR4cM6LInLc4SZK@}&D^M&hq z6VKRF!R6Uz%o+(hnKBhCgSLbIlEO8UqRIDd@pMA}J&+}3Y4%MB8zw#K9 zdhVS$cK1K4-J7GUkDZypgl0oElgv*G-T%xFR-|{io)h3ye13{)4XcXStbnEnkWx=q KKbLh*2~7Z;*mA%C delta 379 zcmaFK)Xh9WvYv$j2oiRN0!gMMZ+91lsah{weljpHx_G)chGg7(dvjwtb0EX)+ z`h4&1?wCXG_ddM0v%03@{X5(J$0zNdntCv_;l1}cR|ZCwdI1L@iA*%uGTyMerJCU4 zu$jZ*@%0Rq7MVhy6CHNXcQaJ%$@A%Cw+nlFyM{4T>dW?)j2?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR4-+XR*(g`=y_{+C^d)60LzgpoWC=$de8|~h4KcKm6=k> z{3k>ej!AT}b{Mi5zyAMEf5Y|WEoe44EMq9Q^OM$N-|=zgBhB=VmI-@4u`W4o*kbY` Q_cutbr>mdKI;Vst0J{Tv)&Kwi delta 372 zcmV-)0gL|a0)zvQ8Gi%-0001Bxm5rF00Lr5M??Sss*NKu0003!NklDWOvdS@Q>ka#PpRKcJMGj?yV)&6FuqrjWIi()FfJrBetcbUKc2 zhg8y##(Q_q-QO6cdy8nu*Zl2b^xT{VE_Xdz<&S+Fn|FJU;qOczyJm? zfB_6(fPVt`d#ilFn1G8i08Q3O2sz?}kTE?j_W|(uU^64WR`dH}0mn4yu{*7z01cjS zNkqK}K!rD_`X!;F4XAPFTn})o3-I|&RS(aafNsiifLIgoo(XWO2gsTQk2x=6PJmK` zq-?;TY=B3U<86Gr{Y8-?2=yF*xduRZ$qX3k0M3XV3pcOqf`$%2XgU0h5<)u6R_hrZ zL<=BPX>)^*&-_ StbRuT0000r~F000DYLP=Bz2nYy#2xN!=000SaNLh0L01ejw z01ejxLMWSf0000PbVXQnQ*UN;cVTj60C#tHE@^ISb7Ns}WiD@WXPfRk8UO$S-$_J4 zRCwC$n_Ev4K@`V9ynv!a0jst5Hf@t8zBDA@1*(#$^@5-;>VG%j(MS2V;Ipwe=t2Si zW42_n*)BVCrtNG!CpjtE#2u^Z7T1#LEyqs>V^RR9V*=rP6IO0MNd3$^G>aiw_L}_biYBi19U`lYiL~fsAot6WAO?>|_AwNbUvv zY3f=qyE{fr*!GK2Oq|F7Fauk%So{S9_>NBvT_ytn-TR*FJ8prt&GUQkuX3!IH^fZL z10G1%K3gi@7eYFnen1%_AMle1 z{`c?U!+-tc1rY|o02lxRU;qq&0WbgtzyKHk17H9QKns8qVZn|G0Po?g2#W8x%Xsvy zF|4dSj~E0Y{*{rfvHs?0gdqGAZ)|f^-X4ztgbo%$UmD#W_a;c-w`cIC?c$9kNcg45 zSO`Ige=(F4nL$ZXDDbHz5PZcOOOo=Y$$9qP#(&)>v_uR6a>!|Nry;UK##IyAXydgI zdd?^SPD17fJ;A*V+r+zidK3VTLWbC=AhawkTwNCL-*u~K?r|z#k+c%6aY<; zrcjQm_gDxT*8`bf>#qC*NtXoq z1v5B2yO9RsBze2LFm$lWdH^|`1s;*b3=G`DAk4@xYmNj^kiEpy*OmPy3x|*_gQk2@ z7Es8*)5S4F<9zZDepa3tJ?uOQ2aNs9n&nftF7_}R#4?}$@&7;n#~#N=XAxLF7!&*2)_-~%;4$j=d#Wzp$P!CPBtn4 diff --git a/.config/awesome/themes/hanez/layouts/fullscreenw.png b/.config/awesome/themes/hanez/layouts/fullscreenw.png index 2c3cfad9c7d6bb3855d7ad9c743c217fa1814530..5c35bfa8afe6c4f091f3895d92c50f845df52483 100644 GIT binary patch delta 854 zcmV-c1F8JV0pSLa7=H)`00020X>r~F000DYLP=Bz2nYy#2xN!=000SaNLh0L01ejw z01ejxLMWSf0000PbVXQnQ*UN;cVTj60C#tHE@^ISb7Ns}WiD@WXPfRk8UO$S-bqA3 zRCwC$n^|wuKoG}UDEB2O_wm99-~}OZ^x%>xIK zDE~nlw6Yw>-q|E}IwOrD#hdl~f3bJRyW_bzF)=YQ%_^13n{v5agdfb97ocr@BminS zgW?D7L;-Lx%Ps)o0)Wly$Lsa_*?c~KahMm2#l>2!c9$IY+$Q?yGXm~YAA|m=@33=I zY|CNUuPqc#967>Hl9BwmN`-T=TcHh@efb9~C; zjUi;S*%NF4xm@mKj2z7M zJN7xD;sYUI7P!F%;5g3Bl!*Ti0sc)TLbuoeFp%8Fz4Rp|;&lk$aW&krF$n&E@1^kB zpCJ5{1%D9%AOHk_01yBIKmZ5;0U!VbfB+Bx0>B7>mtw)5jYZM7_}osRcvmgs@wdkC zxtuZxE|&6MSlJpIY>uV~!awoWHb?dC@f1LCA^N%1?QwsB1io8>cakpNT7g7RiA(|^ zxLCS>HkJ~ZVMS6{bAOT$2!Y~l7D>&Aw4L^tK!4|64k?mim&x@C0^<2aR9h+ zt24(4p$lIzs9OEa0kCaYCww2?vM9cdBM&QpN3*O{dOy;Z#rjKOcXQ4&IKSVLWdE+;eKgK)&9;R1c!>c g<;6%bF)`i#0xq>Gc^>{gxBvhE07*qoM6N<$f~ntr)&Kwi delta 186 zcmaFJc8YO=L_H%j0|Uc^<&WnADaPU;cPEB*=VV?2IcxzwA+A9B|Ns9>Z_d99k}e7I z3ubV5b|VeMN%D4gVd!9$^#F1>3p^r=85p>QL70(Y)*K0-AbW|YuPgga77ihK<|YNl zAfS+er;B5V#`)wQ{H#1Pdf0gq4jB8HHOr@PUF=~th-E(gilx}eGlT;OYB*9lfPBsZkH}&M2Hxu+%;=;sy8hT|5}cn_Ql40p%1~Zju9umYU7Va)kgAtols@~NjT8d|W3H!*V@SoVx3f-9JgmUe zrg|*)NK8Z4rdA8pqpfem9v_T(lgs>Gb$O0Zy?tfR&;QEI9JS4 zyIc{v_%tC}S*8`bf>#qC*NtXoq z1v5B2yO9RsBze2LFm$lWdH^|`1s;*b3=G`DAk4@xYmNj^kiEpy*OmPS8?UG|bE@Mb z6`+v0r;B5V#`)wQ{H#1Pdf0h*&RFsC@Vsg6Kgd^fpZN_Bo5F%Qj9=^o8l0KuI_heF i_?a|;)#9BC6N7;5D(=UpJud>yVDNPHb6Mw<&;$TA;WyR* diff --git a/.config/awesome/themes/hanez/layouts/magnifierw.png b/.config/awesome/themes/hanez/layouts/magnifierw.png index 97c1d11217423cf68d4642b1535fbefb7f187708..5cd5e16de6f5627834098a0fdd5bfdd93f4f2845 100644 GIT binary patch delta 482 zcmcb}_ilx}eGlT;OYB*9lfPBsZkH}&M2Hxu+%;=;sy8hT|5}cn_Ql40p%1~Zju9umYU7Va)kgAtols@~NjT8d|W3H!*V@SoVx3gl4S`~O& zg_q3^NOXSdw8wiD_s+W$7OW2V^~gK_{SWVk`iaGIvL?@F3rym15n!3BQ&(%y_jvmE zeaef}Ht3!{lN%appWU5wJAD1>J>Ty$9qa7)^672p(QWJR>5BANY<}*Zd@FqEbD*mj z7&M~g)$djMUA`ifJm(1i)zY)e`6{!w2CY(F~?%x4t8vaqZT# zrgLU5dpWV5S?Nhb#MbHw_nd5)ShBw>>~-zYT_EhX;Upsimm=6;28JDi4Asf?zkM0b z+_@*>wExGq>-Sg3%eEa{{^ix1KMa;oRSXOd{`(YUA1nWQXX-Vt*hzot9I{di?G?5b z*uzyQ=rl}uyxGpOp~d*fcH@1g_eLKG)ZMz(kxzrQVXN8gxPzAIM;JAh?vhcoc+O*7 z-d=p8vCgVv+cVCMZZ_d99k}e7I z3ubV5b|VeMN%D4gVd!9$^#F1>3p^r=85p>QL70(Y)*K0-AbW|YuPgfvHeOLVvC`L{ zx`0CFo-U3d8t0RL@U!yF=wavKIb+4k!}F%O{~%w{edaejYzhnJFn+NUXmDnp>!_>! i;b+nWR*QEoObi0HtGFMZ_Phu*gTd3)&t;ucLK6Tr<~kt& diff --git a/.config/awesome/themes/hanez/layouts/max.png b/.config/awesome/themes/hanez/layouts/max.png index fe70bef18f12c9b404f4238aac9259354817f605..8d208445cde503e0d87b2093e7037837fadeedcb 100644 GIT binary patch delta 561 zcmV-10?z%x0=@*07=H)`00020X>r~F000DYLP=Bz2nYy#2xN!=000SaNLh0L01ejw z01ejxLMWSf0000PbVXQnQ*UN;cVTj60C#tHE@^ISb7Ns}WiD@WXPfRk8UO$RyGcYr zRCwC$+g(ZnF%SpvY;Q9EIgRx)ek&ry^@CdLT12F1i#L;E>wmL)0_#f(OOZ8cce~li z4CHMg$q$lDhO99f8X6k80I&_<1HfEZn*nIM0L%nVe$l2b0CUMr0RjU^ZHo_pnfr@A ziRdymfNZ&6X17)k(`5P#9zDhej(YJlvI?}GtwL0B0eU&9L-z?Rnz%LeEbd>)6hHwKKmmdU_*}C!9$>J>yXCHw zC6M_}zN%+)bv}~nyH38!hm&=0f~iCQsq|BzQ_y!Oier$O&s=MGV)FnZIxVW+#*zq~ z0NBw?P$~h!0*L;nskTsrDKl^BkC7T08u|DIKB=|Py1wVr00000NkvXXu0mjfi|*@f delta 306 zcmdnTa*%0)L_H%j0|Uc^<&WnADaPU;cPEB*=VV?2IcxzwA+FmqK+=-&oCzT5k|4ie z28U-i(mDYaVQ<{uQ7Ir+k6PwT~;yB?^ zmP+)udrYS`edy(he#qfGvvJp#_KH_G!#)JXlz1L}e|{$BxBW?J)(eNkYk5RufR1MHboFyt=akR{023o{X8-^I diff --git a/.config/awesome/themes/hanez/layouts/maxw.png b/.config/awesome/themes/hanez/layouts/maxw.png index d8debb86a9451d373591ef0afc05fb95227d560f..85f5ce3afaa2270aaf11850ebb6360a02ed3db15 100644 GIT binary patch delta 568 zcmV-80>}Nq0>uQ77=H)`00020X>r~F000DYLP=Bz2nYy#2xN!=000SaNLh0L01ejw z01ejxLMWSf0000PbVXQnQ*UN;cVTj60C#tHE@^ISb7Ns}WiD@WXPfRk8UO$R!bwCy zRCwC$+uKURKoADtq;F?^8PAGHG1j70V-b;JTYNJqw$49y>VFeB-lPzu&B=|~?9Ra6 z1vdMU&CU!-5NK#MAfVT!0^jWrwGzl;fkxm`SN*RE% z{RC40&#Uy-27n+4f}))z69D6MRc8x8f^b|nz`9P3H2_5rDg&f@cs2thO_f8V0L(nh zxZXN|1YzF@05f0bTyG^na&Nl;zI_JRGqMGU=%$5R;D5mMDR9>o03tf7>lnQM-P!f# z7;H%*bna~`4B+Cwi=nAS#n5F_ z9Uo0KwFTk|iyt`k4%pOG-Ea?mCtrd@6y?od_ouUsp90L>%V=Zud^rZsiuUka&I3-f zy0^Y0LNO-*b~F=I0J{ME{%MMtyN)6(n0ZTojMUK3NXHKiGXBjRChZ;o0000Z6g&39VIupVX! z*{kr{*6|`^??Of^M>pOx)0TJT8MQpweDL`M9=)GGPRiWvFZ_4>7mIu<4_opTRh#2C yd9-)*oe_%Q?oKMznf!Ir2jTeVXJUTapOj|3a7etCM??nbXa-MLKbLh*2~7Z{-E*A) diff --git a/.config/awesome/themes/hanez/layouts/spiral.png b/.config/awesome/themes/hanez/layouts/spiral.png index a24faf563ace21e47863547e9bddc5fd353f9336..ca418141543404557e66ed8be4b4a20d608b766d 100644 GIT binary patch literal 427 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf2?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR4Faf2ZIt- zoKDyukK=z*SvR3%;ugM`-BUxtLQA_t?nmku^4Pe~*rSsBD{A8_>({Ex%*m>~G4`^| zAHo@dZo&r|?l0x7c$dbSANyin&fEMUkz@~b!f@3YgdWxvKQ=xH(d^8eoV+5+j_r>mdKI;Vst08N#h%>V!Z delta 1499 zcmV<11tj{b1L6yi8Gi%-0001Bxm5rF1*u6yK~!kowV6+B6jdC@KP_$9+BFi>KqHze z*bo^dDHc`|6Eux6E~1Izdh^hOo+$C+!GousFeyTe8jXf{K-QB4HsPR&Q9@S<3Bn$P z7$v4gNvcR!i&*V=n0Yhr&+pC5mfE>Zci!*&`}6(2-}^nNuzx~-At533&=rzC5N147 zSQdaX0Tt&7C<`W57(isYMxCbf)TvQnJ0tY{9{_aIE!x6rZCWvqJ#1kxO2tY5$T#f* znc*-G(US{cYaW0yK?kNy7$;P3w_3!lSIt05ISO5c%H7G2W(? z39wCr$0>OMbbtE*_WG98gktAk=7SX{bg2Q4mr9<_~T2jgHhX{yH*XIF|f}RW<bkkXbTX|GIT=%k@ZB_t%;BNPB3Oc|tf6M+*%YE?NY69Pl|sVn?~$A0 z2q&w#8At)_r z9LP;V@uQl3q83;YLYY0B z=G3m+n#*H~z-ZnZE-T{JQs^`2MyLE*(DCq$D*~Mv%3x4MNCT9BdNYaFcM#}TF7*!vt`M}-mXI3l4 z?6ZJ-NcT;Tq}6_5iar}aiJctd5AR1=1NvshFx!-*Dh;mkIU{M#(izb@_VEpWdmt=t zXzfbUJU{R(-4cLaHZ#Q~trAk+7Jr+PW%;g1*=9?j|DES%t57!**pii z-LlptP0LGcW134^Im$E8%&R-6L;90xDRE8iEC7-fp{v=d!$1SlRtYJY=zV^(f= zNDF+zor0xN5kLriY-S(FnAK9@zqA-~t}M(Nxz2I!*CFc#P?4`5=w%&`aDWS3OSUQB zwaqITmo|%BEzUg}(A-bjWG=dy>Ge=*CKyvcYplw1yghuO^}AM+j8 zS&E+`BDBOJzw;HZ@fe%9O;lah0MN}aV{y7B3a!Q}26=%~{KSvUaU&PR5(}K;AmiL> z-=%x5nhJpEW{7c~;YE({Een}H{*4dVqQagH;6H@5wvOVm>#hI*002ovPDHLkV1iz& B!fXHl diff --git a/.config/awesome/themes/hanez/layouts/spiralw.png b/.config/awesome/themes/hanez/layouts/spiralw.png index f34ceb0b5ddc377c8fe1f64eede2ea0435e89026..d1284610d329fed98af4a56d3cb8513d0638d496 100644 GIT binary patch literal 442 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf2?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR4C71 zx9D>SI7Ls(QV$6&H9KbW#JKQHtj1EkKoMKppV5C0mFXGoug<7hTl@Iw>HDw5Zy8m+ zX}q<0zZ_FSFcZ*agut@kha2A1d}DZ}o#QU>Y1y0n{bf#((~hM#Keh-8Ue qh^f2q|L={@4T4`wi{>>5L~XOXZ=bf%XnpitkQPr@KbLh*2~7Z#yPWX= delta 1520 zcmV9(E z6o79_Tc&o5#5B-|rV2Jho{|&`BZ&!`#ux|DL~-1?=t5VNxN+gaRacl4Ax4cxLtG%^ zN&=Ix(8MUAql5%u7D9{?Q==qRq@zWw_H*(6?$5dJy(#s*-G7^T?|kR?o_nsMf?An7 zyy&4zX%{N%qN0`sP$r<_+yP}l#0mq1qHEM?I(MBK6}B@%-~R!ii*C`zz1p-QkUeZ+ zFm%OA0OX5yL1sA2L-gbVY|R5G6LcWj#5lpz+(CCHz=mvqGF9pwi`Ff1ghyGO0WjbP z2z77d2yfHM1b=MP;BiV`fNmdvU-vlF(#SV+!hWaCah{M8G>JoxcvtsObeL>f?psx% z=76_3%d4y@4j_qd(~3j~lrt+~9JVIJ9B;9~tdTwdS9~m77j4%tg9hM=Pj#0) zD`kicQ8f_i1X21400DJNe5!l#f|OV-L8#Hv+)xXDNe~hM^N+UpMn}~!dOKW<48@XP zSY-p4`nRZMiZ{!V6ce$aJU2uDw*Ga3jHI;7k+fDOHgw$3q@t8k(Hao}2xiJiO1B)v zOLoIWP=899-;d&eo)ka`l-#5gDxnjsskwCt$yA5+*$xRZJMBjsaw=NPjiK%zep$SpXHqr1m%lDCb%wU3m1E zmt7b~fe2*+#2QFp>1IWZfFa|lZi7_cC<=@(cmQI4$pKPUNHHNf(RD&>6$`-gvhz%` zl-~l#>vXnmtBq!da1*B*GERdY&iGfZ5Y!`UzfHx|}Zq5aI5c(>i{Dm3D zlz&o+jrjnQ0nO4}Pa5+;C|GhDf5CmxdYGGr@(1+ADM&VH(rO_oFwc9ejr)Pg-1L$Y zu_3l5ZWANnU*IWvV}QM!W+}52%caO{P%@h`=iM0|Ogo~NILVDdWk+t&YTmZgzqlV| zlTy)EmFJn}N}M2pILXT)K#3|}^KWj**_%~)lU_HP z_o}>AA>b&d7^5rP7mV-@zvjfQ+nUQ`ioj^z8*Wxat;rc)XLY1Q`*_$McOeSf)c zj;xe-nxNbE1ZUZSBH0_>%iGN5X1+Wxl4q-){c@z%72cqv1N5_t(^@Y0Gv7Bc)2ByL zO=xIId7c)d(T*~i58TauX0=ev-V3;!bl>zy`r0o{(Psmc*vT>e@V=Bapl@ajv(1uJ zrNLD`XC&EEYcryC?Bg5$_8=^8Xn*aNqzW-KH*M5(x?ca6n$)FAIF&0T;V^o7;=s*%ow@O zaqicVle^*pP>NpG@dyXFz_nzV@*Uf}l5uFW$W=aNM>rQ10J1M0U@vtpGH*D;#<}cC z%)glBOWtHW8cHq$;9+(%$!W)Y$90yXyU4Y~BERz$ukje0xGg@cL80hon6b!R6ROC? zDh7FhQ~bn_%yAy~R00002?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR4Y3CMBsba4!^IGr5P$|k|Vy(WQydELr|3j-bIm})gRGbkV7;PzpC z#Ky*^YsGosjk;q(Lrhn2!yE@W-{mWqUQG0@5l>`bc)MEi^lfo7kP8?*UHx3vIVCg! E0Qkr+o&W#< diff --git a/.config/awesome/themes/hanez/layouts/tilebottom.png b/.config/awesome/themes/hanez/layouts/tilebottom.png index aeedbe23034788bf0502779da1764a7ebd518eea..73a72fec53590d7450815fa3106f7b92d7c5b68b 100644 GIT binary patch literal 340 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf2?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR4ZkzCY99QzkgiZ-`G5kyXJ?=%J}os@)=4G=GSayc@V$|G#?5K{$^`!P2_Y4 z*Ekdq8Y=E7we^{r#qOQCfA^T0AG~=s_x1C&dpXUjt9tqRNz&Xmq=s^1f6<~aWlLg_c|1mPavfJ=^5Ov*8`bf>#qC*NtXoq z1v5B2yO9RsBze2LFm$lWdH^|`1s;*b3=G`DAk4@xYmNj^kiEpy*OmPSBR>}}>-?8Y z0ze^6PZ!4!jq}Mr_*r>o^sw{r^ysilNZfE2V9w9@U}zxHAbPpq(Bn??ZAk_>x%Fm; T*0{U{>SFM8^>bP0l+XkK2?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR4%{p~+266wH8P-LYlm6!xupyqV KelF{r5}E*f4uVYp delta 200 zcmcb|bc1n%L_HHT0|Uc#_L;swim^Dz-HBn{IhmJ04rhT!WHAE+w=f7ZGR&GI0Tg5} z@$_|Nzro1Q#V2r6a;pVMU4T!BE0F#V2E`RilYtzjk|4ie28Oc9XF*CBlf2zs7&=&G zJ%Ai5PZ!4!i{9jjRyGL^ZpSqV49v?|1){P;5>9YU5d5v}+{oaQ(#WaA64s!x;cirO kOv9Wz1|D2?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR4vXJ^;lxiPDFOXcNzNyv}-$V1C1QzYW$vVuCC} zKaf?+@Pfrv{e^i+la3>U8SmVLr&4ntbX9`62!)TBD&Di0&lTS&Tyob?$SLV5XVkAu{By85}Sb4q9e0P8S;a{vGU delta 156 zcmaFOw1#nlL_HHT0|Uc#_L;swiYLG)#1%;Y|NkFIPM=Y3CMBqba4!^IGr5P$|k|Vy@rREH=64Rx5NR5><|WD2C*O&jx`Ah z2~0(Y*gP2Iwjbf<*>d?L$CHaCU0MysKArkJq6|C3)V}Q3R9y%(jKR~@&t;ucLK6T( Ci!HDK diff --git a/.config/awesome/themes/hanez/layouts/tileleftw.png b/.config/awesome/themes/hanez/layouts/tileleftw.png index c18e7b43fc1df32d0a58bd71e81e9973e5bf1cfb..24c3941005e39bf5fd98586efd1964e9b7d22afe 100644 GIT binary patch literal 367 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf2?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR48tz-JwpBh=OxZfER1k_7$igwRIBfJz2}{k g<9k_U#U<I$HxBAa?z|HQ-ENCg&?B}gIK?tXC6P0JBLxI%$dQL s189TV9{vrIj9^7I{1r87Un*;ZL~A>R7K<4BDuK0oy85}Sb4q9e0CM3ft^fc4 diff --git a/.config/awesome/themes/hanez/layouts/tiletop.png b/.config/awesome/themes/hanez/layouts/tiletop.png index 3febc350b624ef65bd088cea0cc23d204e5eebca..1964d4d5b8be32d3d1b62b09f7842cebdcd8c70c 100644 GIT binary patch literal 326 zcmeAS@N?(olHy`uVBq!ia0vp^79h;Q1|(OsS<3+_mSQK*5Dp-y;YjHK@;M7UB8!3Q zuY)k7lg8`{prB-lYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&Kt+c=T^vI) z?!CQnkdw(!#P#Cu%Wb+rtdNVb3GTHM=VdQ?`)T1``5ggTR&@U`U5VR zA9~ssrlsz*{eR|Kc*E(obw-Zc<;~od+9wt6A$^O$(YaNskOVx0#p|O(h$siH^uFEp3$)x{xff; zY)WU1x)SyKiOvMey>BGg^Nhd-f)w6teBD@f`mpm!KNUHx3v IIVCg!06R2$-2eap literal 195 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0P3?wHke>@jRF%}28J29*~C-V}>VGHmHaRt&q zurz(=c_77D666=m;PC858ivL>4nJa0`PlBg3pY5H=O z_8W}+T)gJtcEJ;XLYkf~jv*T7lYj8D^33RA=c(c0VdZ)AC4omMUEsMK+cP${4UZ-s dIv^{>P_SynnunQ7a)6o`JYD@<);T3K0RSpqFw+14 diff --git a/.config/awesome/themes/hanez/layouts/tiletopw.png b/.config/awesome/themes/hanez/layouts/tiletopw.png index daf965faaaaddca59ffeca4ba2a98c1b1951c95e..d2eee79e7af93ae9f313f0feabe5236f6b49949f 100644 GIT binary patch delta 327 zcmcc4c#Ua-L_G%^0|UdV%))y>ilx}eGlT;OYB*9lfPBsZkH}&M2Hxu+%;=;sy8hT|5}cn_Ql40p%1~Zju9umYU7Va)kgAtols@~NjTBJPWltB!kcwMxZ`|c=GLUFZ zJSFBb_k?4Nr+A^FheY%I7VhA$P6C&2J>Ofe^yIZ-tuu#hDC>e0r<%p@e}6XM+5Ym= zhr}>(ryVA~#pgBG_bp%c;dR%CnU6P_t={wN>Vr1(S5uo7GRQ}BATO*$`YDmvbuvsd6h4YuN3QQq~!h#S+tAk$Z918^YIo#x2cJAHW zgjau-2>Zy+RbXThaA1HEd&DpN{a9E2mSyt&J$?cXXE=`eO?Kk&S$!AiK?YA(KbLh* G2~7aaH+Y@m^7nw=yqmfTl2by85}Sb4q9e0Aa#6$^ZZW diff --git a/.config/awesome/themes/hanez/layouts/tilew.png b/.config/awesome/themes/hanez/layouts/tilew.png index c722a358e0618163bbe1a936093d327ce2594d8c..4451a667e79ea82dad535dbdd28575d53d1abcf3 100644 GIT binary patch literal 357 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf2?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR4A2G&JqoE`u1C6ua+jv&{eQ+VH5m%4N2BZym_paL^FH zt!wY6NOp|N^)U#i}Hog1$A=69Z{{+!~lIz|Qtj>)sX^ByW~S}VL!I7imXk#air%$gu{~B6SbbPUhfZLC60w4)bS3j3^P6_ko(4nwpxLnr9VJ#Y5KC)&i~dtH1(q3V2Bfu}^Eg7kD1HmwYmv*#!#;Mjm(ueWD79IgN_xs1DmJ5y6r$Achv z;3}Z!DiA=U(b&>jUjWu!#!a{{gm~Abcqpk4xO?~R%R-1{;Gm}(U$%M+pL&i?9+wH!P_d%^z>lSbx*mz2@4d84M@mcF=Z9p8yhm=w)-EQ}I_G*m@ z!|_dgp67i498*eNDPlsa)w-pWdUA*? zJk&)|G%uyR0vwZ4zHfV7VWG?KztTlvM_Jp7#!q!~+CHGa(VYL_zU!9G`eXJixx`>FKv^?zhT-PN#Df zczu_j3THwQ;y6CxdEPRQi%(e&!*IzI!)QRi-=7%_1~HSf<$p23ARb`kd0uE*J{z0B za5#L;P%cnPU5TP--W1Cf7UBVAg-gA$uV4)Fl9rUEtwWZlFi-}iqu#WETY1i>2c!-StpPy0!jnuFH*YNOHU zn&Q}QiG8!nwZd;cj^mR>CQDDt1R=z?HZiOW7>!2X0b4sRtux-q$^GWzI6mol-m;Xk z(Apu%geUhHw??DUC7b)L449prT?f8Mz7|gVWO|#P5ge9MUQPB0bFoWv_&lkz5$j!H zrPL?DpGAB7^v(15-2MP?xu6N@=x|2}@u}^7nNEiK{r=t}=kq(nPdXjCr<6L|ZnszR zJ|k-#D?1vq5TCL^!JXnPRAN8|@hO#=P`Uv*#HUnZLa7E65T8=I38nl+2Aqh8N27yr zb2BfcWPl^_JJ|rvg<*KZQM`vZH=qRZDW#a;)PR1!zjrVg+y>@c#@)fH@B8zOMq|rd z)DEY8KoA5Elu`>?>yLo@4nuDNpGhfSaVZ{390j5%Iw+;Q09<5zvYgfIk=FW}5aR2> zVDSCi+?;WLFAtSWgnGSRb2uEHVSHA18fY`_;ST^>2(h8H-eA0kcLTU7rTnRizsuLu g)YR0})I7WV2a$Ujsj*Hlx&QzG07*qoM6N<$f{06mX#fBK literal 666 zcmV;L0%iS)P)LrSVSRJ3Y*v{1S}*~AOunfA~uR$#KKgm zQl+x8(DP3cmMDrSh=>F?>U~BroV~U;8EJ0L@vbSw1Yjf3OOVfkWu}!y){gzJxEQ z#eB{u!$W9kq!T|cXRvfY{Kb7`_y#x%)rA>oaTaR-cz1FUa4l#u$Ueu$XDZ{suI0-FQ!V`dmLv%rpv(fj6W70W>-Ia=gnq7KtIVIwx{~7`u+N?s;;Vrf`WpAf`WpF6*Y`X&YnFxy0*6VJTML%0-gc31KWTR z;AZ#lXA!v!ToRFQqA2<;@3!S;z?m~=b_78%4V)5@mw-~r5C-@h_^{n>pFVNoM9X_4 z$-#h`nVGFywrqJ-MBV^)cnbSB@IjI!Z%t26|L!R!;MstgnVGF4BO{A+Qalf?8)NoI zQFPl^K2Mo~yj^!mDhVUMc!Gzq!!;oHt1~6eL;$cVz zKq?c4CLU4_g6Gbidvwr>qA0qelsX11KcLvMQfe}b__S?wHehykcK7P)>SCkO*q^>x z9jevpf-z=-jc11zP_9<13xmdw<9KX!b#<}XY&uWB&ISZQ@H(*17;_ zMYcpF(^MD7@tD^70Z@LGS~xwR`Cgt@T8uQn{ACsU7C#=Eg?{^jEvx-s`e}a>{@p2wve|@c^S)Gof0oE-0m@vWlj&-=53s#d zD!uG-zf%U(>-CGkiyQouITNx_uh$O%^V}=G$9x!uQ??jZ1Deg|<4Ka-pntafFD6*T z1FR)U@`P>qZ0!Q=cKZcOxlv=xg*cAKY_WXdAReF;1i=woEUN*=m~n?TjcTpuhhc)F z_#W1_TMf`!A9AP&x+Y{97;U5!kBA($m9ZKiB2T+i)+M*@kXAf^QtByN8JB4=?Y^G( z?l6e>E<0@n@-P5Anvg*}crri+s2CtnN&TJ zxCl(rIXFqngI1nEJ_dLb-y?$w*$q%i{gk4@C1Ap*_#R;xE^4i(NU_l>A~$ShT&6+S zg-T0A%3&CO=U6^9l}hC*Fo9zxXsxYncj*Ey26#{Vex&IRE)UOYKoA69(mAN?M{a4~ z56A9cwANqSVp$C+m&?BZU-bDo_q6YaLwC4XsZ@To#c|pY5s{BKxSaXPHyVwDSzeYN zlnF|yPh4U+8L)Zt=1+l@b(fZasVq;v(P$hr#>{K2Gp!vemCDr(_83<-ZQ69&<$fmv z%H{GB@P7B-%xPb**AEzDdS?WCwAL5r=H^_M-5at&cX+ScW-HFS!by_64g8pOv~M&T z2l?;2{Z0`%pT&fAv%~dLsq~KPeW^}{;yB)x<$S)E_Vhm;x(Q5n#SBE+HV*A*%t3sQ z<*Yl!X&8zDDa7{}nhCiZFo5_TLop#&12Ty3k-G`Gd?Ev0#6x#>h~wD0xj87gWPm5} z>sdC&9F3yrvZr`=@oqp4;(O#`f>#6LINqkUz6R{|8FwAu-??*VtX8Y7*o(U1bqt82 z=ysAMD z$H4GANB?({`V~2*>5L2$7#V&GGXCae+{X-($^yzp$p7|}yePrc%gE3HI|1c1~+)FHEYgV`>e zpH&7lpE1eX-G!lpRn`N@VK4FYb!ETL$i=Oqth9U6ZlKUNPZ!4!iOZ!IkCz=X5MT{B z_T^r5QWf{rD=qh|Z?t{*|G(*oN0Hb=-7P!1XPUdKU7pR*kisU|J=I2kT22{z`0~?l z9jE2Q&9^^bD#7KhA>4cHQK!n~et*lUYB}3}C(X>!i%*EsnW|mVaajI*U1;`Kw(Dx^ zcvOn6PP_Du!?i7C-?EbGzl`C>0#Ad*zaw`|nHzgN27k^CoHGSjZ46}Hh zaJI#K$3K5f+kLzES*?2a*@qQY@e_`UUVi$mBGmM++s&kyjko58O#Lx;!&OuEbrSQ->Jtvue`XQ;q|P|$Y+ep91XN30BT7;d zOH!?pi&B9UgOP!usjdMCg&3GxnV4D`8R{CCTNxNkR8Wyd(U6;;l9^Ts)nKS=Xb@s( zXk~0>Wen780o1^KZQ5#}21$?&!TD(=<%vb942~)JNvR5+xryniL8*x;m4zo$ZGegx NJYD@<);T3K0RRd48Fv5x diff --git a/.config/awesome/themes/hanez/titlebar/floating_focus_active.png b/.config/awesome/themes/hanez/titlebar/floating_focus_active.png index 3447bb2e797aa7aaa0d801ca1177a1ea231a0484..80c1b4a8d03f236a3f5fd6c429d3c77ae5613e30 100644 GIT binary patch literal 491 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf2?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR4hzn9UcS

0?x_v>3r{R~0 zC#0&U=g_*pE*aS@o*@%2t3-Kw3AhHsdjli%Z7i<^X+OFc61o#dGTZyajTVm zVkmg>?)uWUROW;zb$$ke%}IW>Ogd7m3EUe38MZM<6Tz5myUl^~*0x&af<0dg)6=#q zwmgrmp8kh7V)yUhyo-~V8Eo%m>exDnvA)>&Z1b+8?=_!I*~`7-_tKennQ!QqUYNMY z+_yM9E8^SNA2L54nsG367{0SPzVr|Knzp<-wGC4)X*L{Q_X~~P reylRwuReF?U4ef676GS@&dGY`6#5dKYoA>zk-ApQ@;_ZcF76#y~Z ziy$@-H-OZ**FFAUzWhHNmn{DEUnuz-NS_0y!J(hlGlYHl544~FZ)AWR5ccJ~YTnoX zp%eeZv0=r}|3LBimi)Ic!7 zWE1?#fFbC`f3UBh;Vz%||G#Y`0s|uvE(f&aKT!R9f(C;P4}6vYGF-j*|9|s3+*mvl zXhFb}_dxXqL>UY=-2XuWL%^f|iuwQl>sMf6;WVJ3e)rx3)fr%95Q2vL-bw&!{x6yJ zAMAP<=1v3}>T}~gP~HG*&LhfjpBq5K?|@whay>YFeQtoT1I{c>s^Q?Y4>2?WZ&^X2 k;q!4B3YH%&=xJ^+0CnFED5!2~q5uE@07*qoM6N<$f?snX`2YX_ diff --git a/.config/awesome/themes/hanez/titlebar/floating_focus_inactive.png b/.config/awesome/themes/hanez/titlebar/floating_focus_inactive.png index 09c28e8671d133f0263fd6bb4ec83be385927dfa..a96f00c78afea5258413671c44fd73b2c1d83518 100644 GIT binary patch literal 350 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf2?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR4PoOlJh04uVdlsUD6-VMHwEj==eu2k4S$-;@88{d)tdV#gP`G+ zm@lm|g5s}aJ*%Fc4|pk7-}XoHmN`BXz*f|^d9nYIoTTDe{guJ>y7$5CjX|zJZ!&ng L`njxgN@xNADcOMG literal 584 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H0wnYHF4+L2SkfJR9T^xl_H+M9WCik>lDyqr z82-2SpV<%OaTa()7Bet#3xP1>rMq>1fP(BLp1!W^_ZhjkRg{%>Z`#ekz?kmo;uxZF z{_5quUd)anZ4b-K%xAN(USA;~qGHC_ePG$fDLN4v5o?ytjdT1Uw1>re^^KcZ>t`HN zYJD*!DY;2wR)Ueh<9M^pVr>fyo5aNCWwM=PHkR3^>{J(bO#h91(#AWx{dQigQE}Hg zY-_F{zkOX9+oMEx5w|~;n|#Wo)n$tH4o___lJDF7DC6MF!|$rU&0t=dKJO}f&hAGV zk7vXLGq;_XpmZ^Jx`pn(3fnird`+Dmu$SZ`?TAJ zRo+pI8B4p5m6dLs*mLO-r|;Z?|FY4EeL3!Rzq0fi&c1d!zvC*5+K~7C*`M5FK9Wmr>Afz~ z_j@FtcS_oyt#<#XFqR9zSWqo-jVMV;EJ?LWE=mPb3`Pcqrn&|o6k=d%WnyY&WT2?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR4SKW)B%;dzO*z#ljjSEczhg2Kb8D9UfIy~d1`~C0FOJnyho3UMZ zW15*bKf}Aa2$7?qt11l{(~3XZ@2ECfK7*m#jqwIkj!1*<0b&?w({(2R?T~I*+&ewG zeE-T-uU>B7>-~>q&Dl4F85bupGYFnHnI@MYz}gY*^}7CHn{hMi&Aqk!0!|i%-d4^wv1^7>=_p1JS`w=e zOd_SE%mjbLB-W1v!5`)?mGCPSqWn`q<)E}5(%0#nWk0$+=Y5{{Iq%E4?>RRrD@v4d ztsDT9u2M%e<`lBxXdJiC4#_YvErsQU0H4H0PTL7U=_|`TPJ|Fm)1XA4La>)0$<)p0 z9ul2^AU2BlnRIjSnOiH9i^y6NVl}`{91vtPOK~DQU+Tqg zrbs4>T6%NkCpKgKu5xGW1|?VM4(y){PhxA<nq*eHQdM7*Eu|8^)d1pN6w?^>Lp{iV{1!(^Te!uctozMajz|`EJ@8Pt5s{S zmY0_;JflcYyKfIwnan1O<@r-aamst#+1}O`+T4s}X0&&8Q6F>%Tbcp^O>J$hB@noj zIKe+2dp2NUc6PpJ_oV%zW3Jh=thzfY*Pw9t==9v&A!FV>m2*(g7g!ezM;@rkQ**~v znis+B`9VjDmr; x*m(YSmM;CjhW2yKtx{mOK`;osM-XhL0-FgpTXBP8_3jhg04`^RW4uVb`Ugsf2nhfH diff --git a/.config/awesome/themes/hanez/titlebar/floating_normal_inactive.png b/.config/awesome/themes/hanez/titlebar/floating_normal_inactive.png index 2d03df05ba0e4e8018c5ded1691485b08677da0a..55cbc0cce83c807509c134c6da86c71a08a1750c 100644 GIT binary patch literal 350 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf2?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR4RrB`n2@J{hOQIi%VNnJb#7nG&MN? z*-~kppkc|bom;LgE0lSEWN!HKLyP7uR8nd?v!}5wVDx literal 564 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H0wnYHF4+L2SkfJR9T^xl_H+M9WCik>lDyqr z82-2SpV<%OaTa()7Bet#3xP1>rMq>1fP(BLp1!W^_gPt4bwy|IWB<;;z!>c5;uxZF z{_5rZ-pqy~2R`Qe=%-H=etC6aSA|~QUtyMm2UqId{nPx%zeFrbfaRd$7yba5IaXT( zq_Zt=U%7MD;tTuIZ3~*4^}Qd|dK{|OKlJf)#IM%B&N@$0qB&9vS2}F)o6b`5=|aW4 z?$2G!i)2s9^a?G%GcjXb)JL9k?NiLI7#=*cHGNOSx#%*k=T3p2raWL~vD?@;?rSylfL}nW8H6A%NjafkV^g zqHWsOR@`untT}ePqQYX$Ql7}bhar=dJlcg&ST&ty?{CVh6 zsB~5|KTc2=l-ObT_>!*N?vV5*lPAY~j(Pq$JpU7GSw(YB{rhEWfFZ70 z;u=wsl30>zm0Xkxq!^403{7V4Y{FKbJO57SA T)XrHB)WG2B>gTe~DWM4fd>7%{ diff --git a/.config/awesome/themes/hanez/titlebar/maximized_focus_active.png b/.config/awesome/themes/hanez/titlebar/maximized_focus_active.png index 78a291453222dd16bf5358a1c3b607cbcf848df5..dad461d33ccffb8cf3e13cfa3cc1a9e05a3bfbcf 100644 GIT binary patch literal 696 zcmV;p0!RIcP)Ji{duw}slu|R-W zz;U4N6{>88O^kRYPVDhGzvaqga>5Gpt=O9@PJ$& zFd?FAX5JH;ua#yEk??^1DEcQm!9o0c0lEJexdHH;IL9tB{xOnUz%esl#@<0Tr~RSu zo<5QL5{NF5lBKQ-jWb}d1g-FZ-XYjqf@XL?w+aL$Xom;%%V4X765)X|eZV&frNRSc zTj83S=R{N^WB5=joVyR`VnRgM&2#ln-qYt2c+I%}7V?IF2@MDeAfhwmm5_^_YnDIDh0x1W|)H}iJ{J*W}9s;s3yy z=aCWy28QYB>BnZf#ZW_)I{9JRSB7y(L_aC?tU|w1sP(O62J6e|tFPc@!&%Jc-??o( z$_?EU7(}e+)pz$qDn+y^`mw1}s9Bw~uWx|v?ps(aU09pyXl?zOj;%?2p-ON@B<`N* z36Zk8s33kwj^~eeR%6dvgDr18HjN*H?=E5}CxM||s}N|}OoW{)@8a39u;l^V zT7Q~Dgv$%2(f?*Bz3XSOTcLZrp?T`1ig9dmMQBQlfcK-hlMzA9oM~Ko*oR@Q5AKW* z%=sJ0o$Od;i4;|@Q0UGlacz&~WVk<{M+f3cyC2eLsk&!kK9s|b$-q}PN$}peVyt?6 z9?slV9GE+U<1xXwGNWLdDpj#&w4s)QG_ocNn>L8PofzDbDn-`9g^ctXao)JX{>Ne|jC_ci#3;Jojwdg`7mGIP z-)U(}Su{S}_=>D*+a3r#M_{mq?#APMxkU@k>y#}P@`I*36mr_K@liD`%W!7KkRRaV z*^BdjTdk9#p2`K#yBGRTj^a35a9u6nyLEC}0g;~5SvD`nxg%cHJ#c)~v+7p^rv#dD(b_fYZhg%cI#svrX)2lUOA5d3n}cz! zn8u8t-qTF=)J|v;F1#rE?o%PSn`hEnDO@iW8s88uCQF%0@EBM-Vbrq>FNouuMocP3 jm7*Gr=u{%7`h)!&401`p9ZAH400000NkvXXu0mjfjHK)| diff --git a/.config/awesome/themes/hanez/titlebar/maximized_focus_inactive.png b/.config/awesome/themes/hanez/titlebar/maximized_focus_inactive.png index 8a9e02e2542a2caed64b46881ec51b364ecacf67..3cc46fefe001f47f938afa5a5845f9ca8df6fcae 100644 GIT binary patch literal 719 zcmV;=0xmCFlI3 zOWmeveiuctzkGea-+x#xmzxj^du z3rtOdYj^;U(_o*37F1FlIp-Q?_i>Yw;l6vg+p0pIWd0d9oy zJl`VXZQGa-VkM<~;+)^P)NY#QS66tg^+pKc6`mjnV$45B*Nm|s%}*g#`_9^96g7m9 zFlKmwI1Lic62=Y>5U)kXT0)HQ0CAh721|$)9w2_3T(5+f;Q`V#N_I+!9UdTEtL$GA zQiM+mBCgMxrDu2T9t1?J5V1-<4}u^Ff*}4+-T)v)L`^aQ&@})6002ovPDHLkV1nM4 BGm-!R literal 771 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H0wnYHF4+L2SkfJR9T^xl_H+M9WCik>lDyqr z82-2SpV<%Ov6p!Iy0YJAx|$+k>elV_g+7COe+8A zB_%tdwWd>p^45enPLP(_BCE4V@+wOV%fgQvEjydL1$J5d@Z!4VIN{jd89Q!0?K*mJ zn%Tt(Tg1-VPbe?Wmq}XToBhW({YSyS=LP?S{`X4Vu-kW9ak66`FT3cnYE%8cH+J5X z;@3#~vZkt+@0LbjMr*%z+LhIP7tTpdaOkK{njX|`7vR1kAaSNlaERKHwVCskT-UD> zUy-Xb=D+$`MB{U}Okf=6=SzEjto}T4!sX|W7{b<^d6>eU zJIC$AO!Y-?A}>V7Uyv;NskeFd+#5f=_+7h7COuWwce%NF1#`~o%gzfO?`xPci2d-J zDe+cgNu`$8Jk`DHQW}~U3h(P)6S&l2nvR-bPRZs|(Se_8E=#XJy&>LIcJszahPN_# zS!WWGC1&bz347MoYD-SCl540vsQ8x0Qt8IU4F!|t*Ry3Gxuo$<^RAY}o@3`U%;q@M zW!I=D#8xeleP&p_!--Y0+2-f6;7EpJ&3g~-J|z%;!<)b9`4Y__g`JZ3FYRKAOA+D` zRzB$+*cD+Akr*YAdFa^ZA4EY+rf+sGUIPvTO%`lJ6r)*{#Y-j8c|GV;PQ~l+MB=xqgvt`QIe8al4_M)lnSI6j0_A-bqzo$#K6?b z#MH{jP}jiR%D`Zvf{HYXhTQy=%(P0V218v#gAhYQD`PV&W1waWpa$-1(^dmDNP=t# s&QB{TPb^Aha7@WhN>%X8O-xS>N=;0uEIgTN160J|>FVdQ&MBb@08zI)eEQ@99R z1QC(KK8}3|L(RAmlNiQ|yWHW-+U5h)2-Gb9gOYNpbJo}bq`!B)*Ipy#f4Ez zzz#SMAzUlf8)SbCweFxHpt{x7qS+$n3NR0!(ULGnfLr*ChJ;!H?%^|YCDaI5O!&+k z2~!0uE_|j|!W03E4WFrz@ZxrYA%x;t$Nx+ba12~+x7#>vN_M1_&P3!Fup0ZDssDh* zN~j4Bb+^FcB-Dn7`ZZuN66S=5d5fUCgt_5ieiv|)pb;K)+Mu}vt?;0?4>$&XipZ%_ zy+K6eR4Y8_z7$;nUlr>Op?ZxMw-cPos~6DvT;M8%a5JZXhJ5gaYSGCbIJfuaQK@L=Bt2PJrf2cLbw6A517 zp?w=1B1>3@5O!YS!A}7Edw>F`@G$NcxNCU*6>Y=cmIjOwu%WGlR@{on#(NT-PN&o9 bbe78lh1(g3JCQ$x00000NkvXXu0mjfz0Mw% literal 1528 zcmY*Z4NOy46#iaY-Ycz8qzt5><3B*GYbhvJP+(MjqY|Wy>DWfW^2A?$Y#ivA8KO=d zbGl(8W4crqom$aO9a?pRLHxmBP}C}B#G2|Px^y>+Kq1K%pU~Gg(B9tD+Ip_vl=iqFZYzZa0NHge&^%7$EKcbzPIZ`cO-=iI3twv+ zN3lRIpdFz!pea6~ySvY3J7=*RY%VXVsrjtYUziQd0+N6tV4a9M;U};Miduu2RuP;s z^aoM>p@N#4#*YlFc47j7r2q*8Oo3Mj_ymSe_2=_m9SRq^rRbNSSAwDQG5u+PZIKp43US$a5HEkQxd`%K&e7wqJS7649FqiFrgPLr+6tm3`qNATs;zW zG6)AIjvNI!4MOEY@Z<4N3O&4Y7+~O$qA5g7T!BD3Nfko511JrU1-K>P38l)KVuOfx ztr!tN8U7=XWEw8n zm|8-kT?@W5g74Aru9fb!ic;F!h{cz31yZEQA|LRL0^T9#yVJK$z`H(Z5L0Ay1Y;1v z}_MaX$hdJzcmJg@(gUPmtR zpgBL+0OdlC<7hou2s4bZ=iK;Q=QJ;*g>;-|48pH7 zB8g_K4zE>dd|~GPLvV^Qt8q3FjPg;>Y(FB8WQ^mu2%31vV~Ep?@C@2$&`($T)tnbU zAYD_XIdifHFWe5ELKMc#&eJgiltda69p$h)h+D^IXBJGjw#b;le4@WR`S36G%O8ce zymKe5+T;MyK#M5^3=!~ zwo~7nu$|re-66;R5cYWMx{glv^Zoj-f>Z10Ec5-tw^rTn`SJ(jU29iPKu3;6S$wSe z`e4ekn_XS4o1_)awk1z?+WJra<~+6R>F%?`#*SfGc-ry5Jlpr4=fY=I1x~qCIXJXy z{idGXGp?xab#&!a_IAH@0<11K`$(3t{$F5a{uTfL diff --git a/.config/awesome/themes/hanez/titlebar/maximized_normal_inactive.png b/.config/awesome/themes/hanez/titlebar/maximized_normal_inactive.png index 47b36d9ab713862551cab824f664a3eefe14c4fe..5f1e98fe3c72896e619d63afa5c472eec935802d 100644 GIT binary patch literal 695 zcmV;o0!aOdP)3@&SS%2!bF86)?s$$K&yH%`s4|7aL<5 z03QLsTKl-$?cUcIM->52!#iq8U>9&HyrYH$RsmDt9o!Pw1o(t^a7thi5E9DfN6TpzFGWwf0ToD-K%gcTXSmeSb3y!=D_h!?Tn>Pc3!E zn7a(&0pM-hwzroWi0D4`JRw@Z+&XWqeHGjH7$SN-(Uv43N>l+w!KwKy^QI17>1vh z!kmcSb8L(O8Dv+W1925gCGck dAP53G{{ZU?L7&Zz#9sga002ovPDHLkV1n1TBJltK literal 744 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H0wnYHF4+L2SkfJR9T^xl_H+M9WCik>lDyqr z82-2SpV<%Ov6p!Iy0YJAWo6YBoxP9!I|BpbcTX3`5RLP#m-c1{CyE^Z_}+Kkojun~ z_AWWG_12cdu2-@bt}uySw#fM(qq_Kip>)AHuHx+C%daerWpe$P8xXvPh0AbdCrjSZ zduls(=Jz{CI|WIdFKOd{Zn^*P;t%(ujFioljJX(-tYQMDmM)ZDQ#jN8@<&%wjr6V6 zPfivznDairy1-`r+TupW4^tOP+x9;TiHy4#x8a1&??0)NA5Je;OTW6I#&h@4Vv%VZ zZ$7&amX&OgY*2iswKepuq3^CMH`BYfX`APUOI|F|Ok6Tk*^6bi43pzTwf8S~gj9(w zZa5iqX@~DD6RG=xEEOu58-1@YHQK=7$8^kFGg)+k!(=(TSf)pBKHOgVDB`#m!-}O- zHo7@qndUB^sq>I70dEoxKFZgyMAQXwYIuxQ4m z@E0F@HNrbLo{=khvtZ)oWeeO)Pfqan@DX~_aPY`i{|}XYU6~=YN8)}oVdWs&+*CC8S|1myyvEutjUvI(7NVV zZ|79OOM6c8ncmt`@M;h9foY-p>%KkKD&`lNttjShqBDEtSN>+!T`T`_ZF~<*6{;n! z5hW>!C8<`)MX5lF!N|bSRM!B6LJUl;OiZne40R36tqcq%DyT@KXvob^$xN%nt>HoK zoaI0bk{}y`^V3So6N^$A98>a>QWZRN6Vp?JQWH}u3s0un02MKKy85}Sb4q9e0JjG+ A3;+NC diff --git a/.config/awesome/themes/hanez/titlebar/minimize_focus.png b/.config/awesome/themes/hanez/titlebar/minimize_focus.png new file mode 100644 index 0000000000000000000000000000000000000000..ff427b36f616c0243ec05544db08ce78fce05340 GIT binary patch literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=Y)RhkE)4%caKYZ?lYt_f1s;*b zKpodXn9)gNb_Gz7y~NYkmHj>ko3Ij7ZnahtP-u~-i(^Q|t+&@UavnAiU=5fn9qyOE zb_VMl&P|SPTYj%7TKeT63p-Ee#pAt0`Wav L{an^LB{Ts5esO19 literal 0 HcmV?d00001 diff --git a/.config/awesome/themes/hanez/titlebar/minimize_normal.png b/.config/awesome/themes/hanez/titlebar/minimize_normal.png new file mode 100644 index 0000000000000000000000000000000000000000..aa4744730757534a7d4be08b406e12fe0f4f9ec1 GIT binary patch literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=Y)RhkE)4%caKYZ?lYt_f1s;*b zKpodXn9)gNb_Gz7y~NYkmHj>ko3N_Rzc(ARfI@RUT^vIyZoR#Bkn@m%2-}1GN)<(0 z$^^w%2)|&_yL7SWm1f*httAf@9(`}kdP$|$UU3f#P!|yVbGrWPp^5KwmF+6ek6zi+ zXyvE>I4E1TJ+Weoj?FrYC&3?2AKw1pPU&4+&tQgjQ|b3F(#-$Aet7>r10#n615-w5 zSxETLN`|f13e^>-s9c|4-W0#<@LE&Hm%r=yAU5o&WJ-t<-;%lHP#s9X)78&qol`;+ E08>L`*8l(j literal 0 HcmV?d00001 diff --git a/.config/awesome/themes/hanez/titlebar/ontop_focus_active.png b/.config/awesome/themes/hanez/titlebar/ontop_focus_active.png index f954bed40e4bbf0ee0ddfbcc59457e828193ea9c..d79c8e29f2b1d07b29f395f6d12b710f0c59591e 100644 GIT binary patch literal 609 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf2?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR4(Yqx1~dU@vyqt`-jYmIl0 zq&4!ECY`V^Jr%|Az2v0IC;M`Xo$4!}8_OU1Ua#<-PrTrqix5 zlkF@u7n3(7R`X}KHGR=OQ`2+ycLl=>-P_Wg+zc0jJ2rj_kU9~0VDB^T4SX9&BBpI_ zxIHy|P2Y`qpY;k>UJjBIjP)>%zI33*?tcE(sQE!&vUArMb!12-+iZSU@LKPA;g_qQ zde_D;aKEh2@P60bchi?Goa6j~W%l=v3Q>cXzWYpp*@%{iOqAM7R1kR$%$q6xQRPg2kQ*=;(+ob#HB9#{w%mTe zc&>`@`K66>Sg&v?hAq3)u!BKKifP7*CsV#w-+VWx_?+c;|MH-$ta2@fKZ?NQz~JfX K=d#Wzp$PyS<_Di6WwmeK>|p#=fVEDN4~c$sas7hjX6u!g+a*lw`tB)E8<{pY}5w zjY{8W5W#w3)G2*G#m>z)huP>oOrTcIeG`Wq@-bJ2Ia|hBwS4;}wT0RQoB)dOH;U!^ zvi-L>_*g^H!CW8(NFn^Kkfm}B{jW4L*d&P90L9p}u~;R1x0RVtK!-AUE{oYJTckzK zaFd*&1`Vy(%NKs10i^ASIf}n0gSj&Kyw^1}eNE2EVmUpRWczhN7I(qcg>(qo1@F=@ z-=<-H$-?ZE)8!@D&rP0nkPiND(Dm} zIKV7{=#dza0}xRX9Ej~-KSs!P1b2}b$y0?S$!t|cq(v~A4u0*8Rl!^efgUlIFGjbe z+u3YZ#YUqHb08h&l^kAy`w)SbV%#cY^!y*vT|JwrKa>&uAQ+BAzX)~;cY%y?YXa$ZR;$z(?iPHB!)LMP5aZT8OuUr`@+2ME48du3%X(lc_z#Tv3N%;+!W^1t@SQJ zo0upRKXPSBC|)X;-KY_?2<#$oPt4fFWU;y@E~(pdQ7qpQG{^8>76YecPbglvD_5ve zY~B;|H^j6}o~f%l6}by!8OxXFr&R=Ri=`{#`zg5+ihXzFTe>M`OJ&TI{JWCjGqMln z$Z($(-?Eb!{`0rQ>2?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR4)i=vK3Hyad+B5rb+nJHx`YBWV~go#CWYNRi;f9T+Gh4R@&~x zv0C10{nmfS9tJ*-KVW%mM)JP*`3x3}3-}X~O{8R>7i8{j_*hZHaloqKva$Spt<#^9 zWsbYw`j)x1;bFm!dZU?pSPRO|T~D`~dv3Qy-|k$itzis;KljGHH*N41-N=16ue`To z&3E;68A}~^mWhgHzIQe#w#ys<<#@>%vC6eW| zmrg6Mk`=sbddw#4Q06qZ`m|#+7#UtqymH8P?N@GbyU!VG7?RJFGUPM-_-~oz<+A;d zK}_+2uj0KT6PCSnJ^%S0^9u_p%RsMK?xuvh7x&m(=r7RdD!%;ki*Q48pZkA?g2?Q> zFN;=OW}2j8`QZ0IV+Qxwb8{b7M^5{`SmW2t3pI{6vaj4?zGU*YdfxG(n7`qtHt8(V zIF+;0O5bf-XU0;$vgwXqE886fY*unbil_G6WGc8ZGi-NG=GyAeMyvEj*H{~d2>A^g zY=mz6dNAH$xlDyqr z82-2SpV<%Ov6p!Iy0YJAB=Ku1+L*e=AcNNdhh%|mu>TY>@ z@`y;p+Sp{yjo;)yJbN`~;!~#d-rcL0A9`3N=Xt;=>95F-c?%=M8BR>zq~&I_+VO5c z+m%+$iL8lFCLA`6eU$rqn{t`zrD^Mm=2>)Bad2xq^PK$5CbDUv-=y^xUtV5z-PG=~ zcuJ1WMh6Cu1N~iIMkx&{cKJUJEtt~aZtj{qv)jk~Xv1|I_o>@vd*0X>zAH96PtDih zp`D&=+>Te*%8aePFVnmg{`Jg^RR^9k>)+k*<4WJ(V{MwZrhm=h;rnq!J6v@8n~k>N zxi?=uJo;ybbI5BJ*4!s$X|1*8ud{l7e z^z28#xK=H3jVMV;EJ?LWE=mPb3`Pcqrn&|o6k=d%WnyY&WTC#5QQ<|d}6 Z2BjvZR2H60wE-$(@O1TaS?83{1OR@oC`bSR diff --git a/.config/awesome/themes/hanez/titlebar/ontop_normal_active.png b/.config/awesome/themes/hanez/titlebar/ontop_normal_active.png index fdfab2c201dbf9fd1652d56808cc7f09804999c7..e09f32d25c7012a167455d7c8e9790309ab3bc4c 100644 GIT binary patch literal 619 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf2?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR46D=VQy((DE!*wl!prbj@K?(h zo&{kmL-Z~=P5UjPv`V>}pPxaP;Z;nB?1SIUo3bWx|KRzs{3XLB)+HnnKY2cUe63r@ ze|xU%0f}O{W!)XddJ`Tq?TyPfo`1f)$1pk3>gdBcuf@1pg4d z3nUi$d-PwswKiyF$xN|NmMr}f_O`P(Xg-f==KdMeJk#n=UBdmW-+Sct^Idj5A}XG+ z-cc!P`?Yrh7ei+FU9|b~`!DlLA)tZR6P90|S$^&HHCCNKO41M zJJyNU`kPda*=%LcNjc0j`YxzTDD9HxVQasd_0?AQ_&mm)G4DhUcx_0VD3Lrt<)l)> z)h%<*pMSVCVeO;nXH0h2A9yz?1?`GCklrA*?_bqCQ-7C`$$AT?1bMA|_?7ed)Wpt- T=Z_@=69$8)tDnm{r-UW|eKH7< literal 1266 zcmY*Xe@t6d6#ia+(jTu-7_gQ|I@s#w=+>@7N5>|eh0(MSpf#Z+la|ppX50{{QMSZ^ z1|v4OiD9@&Mj+@i#Nn2p1u_yRf8e4dut*9T$&AIYh`|^VViT|T7Swoi?>XN+=YHp% z``y=BQGSwF>XiU^XQ`u#`V6*`#MJ)rVxNLK$r*c@9eC`olj&OkQBH;1TTJ7zWJEPs zPR6nZb3A6$46inTYSedMaWmtjH{n*g;x{&8Zx8OA(f!U4n~Zgv2;6LW3y5+6i(1 z@%@N95HII8eInAWA?qp<)2?6A%pMa>9pFX{=u#uBM7;>Lltn37AblDVmyk``Nn*|- zdK?X6oDyxfL25y!K*s3RFr9-yg1f3^7ms^DdO*S;4Vcc}F3WmWW77^2VsYZZbQWup z5~)N}N^F`zd?4kROT=k2V+zEwK^!1N*I-bFJ}Kf_kaRSQP|blVJfmb;qQlFNX#WE)G3177R;Sk#Y{D9DN}2*W>76`j?D_ zs>(emDv}9;%qj?0pCI@Q0v!f7HEy0kf#>xGtJO_&H0!on4f?G(+y6U^|Dk`N(dbVE z{l>IykhTTE1*>eDlJV-3TLQt-&vi{SI{brv<-IOeP{Uk#9JSaj9mTv-P<>& z+6T1aH}7=bx;EbNQO{UjN;JB(c=U*^VA33!7{B=1g$u1;we{Y-Jlg-P__-o~g*i1z z!K*Gqm#s^GLM*@2^t+-n#r1x-r)t1pI+klyt$grn-w%aJGY9wPorp|ChIWV^JlKDw z(Bpfam*$U^-hX9dV}tK1E1LgQw`*yBX=UNZxyA3+78V|UFVFm~-`q6+^FGhbvVKd; z%E;o&j|y6T`L_16EA4^GwV(F5dcW-G9jzW$-mkeQtl1*#fAU#@Z^}OWqHQnK12vC~ z_ipf1u|1*U>QH?k6ttag4pN6hW=p=w%%<0zZ#$fCJ7h7LpRt+E?-_Py{f}_2vHq;k zx=pZ{EM~98VzWMNvr_UAN>D9a{e%*9>2?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR4}&0Atpg`|tbQ7F#p;MFg(u`@ZkJeTl9jM>5CZ0!5y~tke096+1*`tbN{* z(L6JI-t)QHX0zpEDl9Y|vTIrF%U%TA*H=w{{`05b^3OZ7rYqGqhjAYMz+k-o@%cxL z50*TyT>tCuzlE!6wR9CYnr!Di->b05_;!q4?CPs=%QAPZ_ga36i=*kl`s=UHGsH*< z@1Br)GiuhdW1l;9wKN-MuDqDBhG|EX!o72w-e?+!Z?X>!a+suY`b?7BrUMX8B#*yK(C64a!KwN{g29aQ zpZ{dsG%`zk=I^z#f7zUk4H{iyof$hl%1$LH?Yf<{Rj!9yvj33FmX@2*HVgvB`ZJwe z@3HblO(<;r$n5NB=(K@#ZCawWrNk15Bzopr0FgRO*8l(j literal 690 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H0wnYHF4+L2SkfJR9T^xl_H+M9WCik>lDyqr z82-2SpV<%Ov6p!Iy0YJAWo6YBoxP9!I|BpbK~ERQ5RLP_lYIS!14Y{Azw}uyYP|7b zo5OL5^v5$4c-?rse0_vHQWUf9>@IzOYX8If59$wQl`Iu3pT=@Tf?H8U%UL6M>*vz- z+|f?$o-eAypU+WOSASn!YV>7A+1;Djac`dMZCkahWT|y}A4~Ae6sAx~&S~$8;{OV{5LPz?!!zzyZsa9EV?jnN7Y-=ZV!bs zUL2ES?`?Dox}I>dH#>CNi7=1u?>P>8_pW8MDSP~i`Ewqd)Pv+qcUTG%|< z{=Gk&bYo`E7nk?BOU$&jGgnm=zo?cmJvRGcQxV%&`|6H_V+Po~-c6)||a`njxgN@xNAd50L* diff --git a/.config/awesome/themes/hanez/titlebar/sticky_focus_active.png b/.config/awesome/themes/hanez/titlebar/sticky_focus_active.png index 1106399d777ad671051f94a7f15f0e1addfacb78..80194630bef14d6dfee880663c6caf13063f5e64 100644 GIT binary patch delta 675 zcmV;U0$lyU2F(Q_iBL{Q4GJ0x0000DNk~Le0000$0000$2nGNE0IF$m-jN{_5(#if zS#tmY4c7nw4c7reD4TeZF(`jZNkl5QhJn*&GA~g@j}#2@+3>i{LYO z6nzard;&#f(W6HnW-r3}2;xQb;Eo&Y8Q5Ev)eRwCUUt}VHA^O$>S9TKry1z(`up$d zo~8yc48t%C!!QiP*g!}+fOBpiz>PJADAF{2)Rdl!Y)K7V;XZ(yYxI9VY)Z)gh$IKU z3WPA=Sh@eDh#NpeuhtymWg|isAbtokGdbrz5YdAby6>fF`mk|P6+&bHGxJjb)0$m> zMN#xjLQ|C>hu~l^_y*uzojydg+w1iXge0BEkq%HY9*?iZaeT65%#$QZZV}N;T34{o z;BYwn4S<(yJ_|8EkGMHAXK0{&+pcVcilO6TT)L+$P9R0qwN-e7g9p1 z1i1+1dA`HUpHa{7SscgP-EQ~0lrA7p1~BvP3b9)A`CL2;#4}*U)h`jx0`UxB<~M7^ zX?gFjZattVihJJsPgu|BIWzC{`~9y?>8c`{0p9z!4aA6vNbG+sklq4Km9rl=G|oRr z8_?7i6WgjAe-#$}F~ZExv0(Lx=njAu;ssY~na^*KO116KnA%No~Nscsi zsN$U4(~Pfu2!feEYQ|SLAc~@WZ4Ih0bF8hwFbu;m48zz&{s1gdoyN7FY+V2V002ov JPDHLkV1nuhE~5Yd delta 794 zcmV+#1Lge91;GX(iBL{Q4GJ0x0000DNk~Le0000M0000M2nGNE0K~LxJCPw1kx3f z@kD}&@elCK!KfEO!9>j-jI!Bv$U<28F;v)`0CQ>uJ@_$d*AA( zM1^mW)?d1K{LGiuak_oZ2Czx(Zf+Yd&cj0exl)s)0rhmM^)cjEjzRxAdComn_8 z04sBWLlx;PPqA2x6ks(0H=;&qZs|wwb4l~8(70E#7tj9y!xP2((c~rOya-J0CCgK+ zSS${M!6<{n;>)?^V96nM*&fpj2CFRia+tK~B%kDdIqrW57Fl8YBljuR(;m7o$G zZNJ&D`E^9XF^e+1OmWAWh?kXzui6Y(YuG=TeRL{bA$C3=Uq|0C9~G0+r<{)>}+&ao!eiixs!Wuz$=JKMcQT zb$1n|RZ+753Q>Zhc;`V|XME~^Qk-`fKcl#S8!`Mf`jace%dCypkWdP!OjAA*JwUBi z=h4m4H`h-OKAh{%3vxAmZbmJ-afiitiF(*zGuoVgx={?Udf1?!^ywviI<*e1sKtYD zyHYBOmxy-Urd#XMOZvQRQh$}@=4-@Ztunu2pb<7{MJ*Ppi*#!p`t?Kfk{+>+gZUK; zc{PZLbxaZ_G@}+v@e;kHk9Ee+uXvZwcQ$v9-g$VZX%nl5$xsiHzqNJN{e1nWQ)Q`- Y0qi8CAYt$jxc~qF07*qoM6N<$g1zyEf&c&j diff --git a/.config/awesome/themes/hanez/titlebar/sticky_focus_inactive.png b/.config/awesome/themes/hanez/titlebar/sticky_focus_inactive.png index 00e70a292df0da69516f1437f9233f1a627e45bb..6d7fe40a1b116326bade182baba6ea9994bc411b 100644 GIT binary patch delta 914 zcmV;D18w~71gQr`iBL{Q4GJ0x0000DNk~Le0000$0000$2nGNE0IF$m-T(jq1am@3 zR0s$N2z&@+hyVZp32;bRa{vGh*8l(w*8xH(n|PBw0w;e1CP_p=RCt{2m``XEK@^97 zZzE9)Di)+nH%lqvALyZoh=LRqMK9_}C|*2^Cl8hC(Tjp8-aTkRP>QG&Pim`zdhz7J z2qj33yEBs<+G+){wVUU`1Z&ZnO=i*+=etd2-kUdHCc85M91e%W;cz${4u`{$E|@u^ zl)9>v+G>Am4$oHNW?^PeYkeKSX#mf();%`nNv!~_^<@Ajs?82&er#hWq*eeC^)LEJ zz`{;QrGRp|ypfqZf78{$%wr}cq*6eoQt4Zw+o*(83Sj2le;Hy-LMjCSSZW8L01EWSoV5>g?+z~XBpmaxLW zqz#kL=d;GB&a0< zCMG6UWwY5sM05-Zt*L=C(D5Wj{*i&sXfGb4QOGIjku$j5Jxkt8Z11t-WQXVCufok(J5%qU=b`A(3@_&DM zJ3Q#_?*3}Cwi?z1L{YSvh;HJ?S>p{e?+`-Vsr3gzP+;c$f7l7upZ+zh2nfS)wdZ-m z0M-Jy<$2yN-}lECkNe#@ftiPd5F<9~Y8gtYA*IweDdk{2~bRN6wRlzLcw@Bd#Ei^cUysgul{S?*evg~`duwaZFdgVpOK4OMOkV0rrit-jJ2LFjv*T7TPN+;&vBG!n{S!^ zX5L-fY5^rJsfCj>@>cKdbz3oIR&>O%F?o}i})Nj&*j#ByCFmGjp^A0*H3d>O+G)pYA!^#{^T?|bDhk5yU+gc)=nEKLn)m#gH@Q6=QKes|S z!LT8dH-GLDj(uBM&a2k%JSLRzkzq&q57!v(tbpf}>TS|zoOdhs{qbd^Pv`%b!s~L1 zcb^8XDPJDX5g&T^=CMnEcm4FJUt{&P@jCz0BU=_JS47pD&ONCA?#o{$4$Z)4HRZ*2 z-&q-zl1_>2Jo~?tOT^QoqjN>;P6LP587*3(T=x&UDxEs=Wzq%VlC0RZzb43WxrBHW zOnQAM!dkw5?Y&#v(OXwqN4*NU&k&ZjNhZkb>Qi9!sFt`!l%yn}sbF)($sGBLF>GSoFNw=yu8sGuT^q9ZpyB{QuOs>4v%&>+On(8}1%${48I0;qxe V+O*XZ-PD1J$J5o%Wt~$(695Gc?mqwk diff --git a/.config/awesome/themes/hanez/titlebar/sticky_normal_active.png b/.config/awesome/themes/hanez/titlebar/sticky_normal_active.png index cb3f4d991d6956faa509d4f1be793b2f6db14184..0d003efe1d7ac2fc2e3c92019ccab630ec4277ad 100644 GIT binary patch delta 701 zcmV;u0z&e<{Pc#Rjq)8Zm{$P2_vLXt^tc?3axf)$lT!HXBc7YQ>N_9Cn=Acz;ygPUCt7xuX5 zYzXQ0lEG0E$s|)HU0A3ahJLvU##~ga{c>5Me z)AR)Zx8m*JYqi=dPCXgk3>XXsDONXNTCdlqoO*vU^c)~9KpHhbT7WcafUiQs;qZ2W zdetOJZgT3$@Mb^|1WyaxzB8N69+n`RxId^sE0ZEeFvDUuFW=7AfwR`=3|5I7I^00P* zbMAk62{i&^4BKA7Z9rM$?69Off5E*6l(odzmg?3Yg}MJ2*(aifPtRI=i-_)L*Uq`u z#+a{5@)VsXu8fzH;3DEU-UaY6yRK9!H(IUMH{UwMmO!;y9pl%C?6TQxo=NBsGoaCE zTmr~G^q7cNofnph^d>l-zn(}55H)~^#`A5r?DPL+h#Fw6JqCU=!aM&(2V_P_Al(6D zV2e8d^R*uY!FG1QWHLDgaM5nJ&n0z;5=GIWWPRx+0AtKs(fX3b0l+zTBw1hFfHY0t jNo!CPMNt$*QMQqv+xU`CVbK_w00000NkvXXu0mjff)hIr literal 1434 zcmZ8g4NOy46h61@do4mE18gaX3YJ!WTKZ^fOQB$!*Fx!!E$tYUu>M${${3i^3DYs> zL~tP{xQHa+bTXWqT1{A7aJXg7)cw?%nc>guBAJ_8w!|f7nbA4pZmVW8SDmt-~2%`uLpp&!)f!F9zJ{s z<-l%blMF$G2u=$J3IJKr$o$AaVqjBZQ)i+xm>7rGts8Sx4m7G{XI0-0&ye?7Ure#Yai}SidD#R~`N&qE*3P1z67J}wwv>L z-awBT^kX{ps8TU1FB>b7jEM`!mXduWv;g=3)&pz=*a9#JFao$agpu$aX>Fcz+xA(_ zV|3k{dfhIKYPeE9TwXFP6%Q9>_h+$M5Lf`500Dq7Kq+wa9OGzR%}AAISVaw1$hMVA zw~G0}3`C>k!}I_~02e?BuvIMOPO5aPG%J`%S_qIQogjl`AzA<$Knjo#93z`+BiRNv zQUDaE1V?tHlw1HSfEQp1KsJCdCD@4t>!Or`F&|)YvL{KwVT+PqMp~3~VzUg860!9x z4$Ve|2(pq@AT`4G@|;}0H-lBoLX`+VAkD?g4nDIqT)-}6;TTpG;#$e9K<4tkB95G$ zOvDpa%Sv(Amt zlJgbIR*1`sN(Uw7^1_m0+48a>N%@Jl-?D)a=4@KWOIwU#P?Oz}240ez| zPPDeH@g}Zb`>tB6tD2qp=+vn#eVhBJzWaCoy2s^^#L&Rtj(XZ``uxnfvr>gvQha#o z-9zg_O#3fC{d}`tKnu^ETSVpD=kD3Fcl0?=^RrjxF5kSg{cL`2-nPbx@zynoYt_2h zj@iN+`izhJA7o1$;~AV=ZvPGUVaj$OgPVC<^rteNq0aAD_Fn({UXO6q8KHd5>Cms! zH_QANd}%ptmpgmacxQwnt#U`~AIiVMW^~;YD8&@QSWqcct<07r3j%5mQSf6o|Cz)`r_L zL8XFH%M?lRDAYQYT31QQ6dIjEv3r>q{}BI4c(FUQfqD6H0wtpq9*WW_SL&2FS&I|W zFYi5y6GX`y+}%v1HxO=z-ripMhOQTS)&@4V%e%wtCVsEU!$Dv%Iq2g?|Lgw%1azoF diff --git a/.config/awesome/themes/hanez/titlebar/sticky_normal_inactive.png b/.config/awesome/themes/hanez/titlebar/sticky_normal_inactive.png index 2998ba3ac1602dcf43a281ef37224791b867fcb9..f1e8789233554358b6a22fd3705573b0a5eea28a 100644 GIT binary patch delta 958 zcmV;v13~=n1l0#diBL{Q4GJ0x0000DNk~Le0000$0000$2nGNE0IF$m-T(jq1am@3 zR0s$N2z&@+hyVZp32;bRa{vGh*8l(w*8xH(n|PBx0w;e1Qb|NXRCt{2n9pkzNfgJw zuat2@P*GTdKW^d=@DOApD@ZVd3ySH=B(Ow8$YpPy_Mo^69$F78iv9t55J7OUMWwrX z`e33X=-v|WprQm}qbPWC*91qTr=ACAFs@_FOsd8f>vOBAe&2fUJFjc125>kW4u`|x za5x-}?+}0b+6l}>5Cn_z`TQv&IwPfgXk!gwL(~Mm?~9I(j&nrx8-QC;6m7P#PG$}0 z>FGHIV5BzeBBD{H)F#vGWYz#?-uu6gR>49iWYT~nN!9^a-C(MVh;EoPA(IBAY1%u- zv{4f>X#f#z|H322Ovt1G0Osm|Iz~*$oB>LyLjZp^&hzmFn~A+Jwah7Hydz2y*#+{&xUJ4N2yN5cy^T+HOFSBuli` zz052D>;v$FA?g1B?DjlwqM4w!yaMHNIX^u;y$irEL?i($HzchAJOFT82ywQ*zyEHt z0#<(wP)c3}$ne`MxS04og2KCV`)g~7qWrv^3coCKNq6@b?UC8yFf{n>Q!fWucl-J9vRZ$wcH8*o>sY-E6^q430QvwtYf<8w&EkPJ z+yDwQ!S3C*G{283bQMMTG&4I3UFerqM6 zSy(rqTrMvbLR`YfzXsJW#Szg}ds%(Jx&bpYGk*fuQ5!OV)6Cor;Q1V3uR1$BuiJml z4X|uL9LECy4%UX#M6_2*d9Ze0@5AReMpY;j-q_5ojx_^HrP2mwzJT{lDyqr z82-2SpV<%Ov6p!Iy0YJAWo6YBoxP9!I|Bn_ou`Xqh{pNW$@}v}3Xy zP*LJIq@WYBlGU-}aKV)>vrMjCkvp>;9!5z&d$@V}`MsSTO%rY|->Ia*B=hI*RR#&2 zL+{tWJNNjn(S{|87t~S%T7uo`u8WIQ*r>Kw`<!kjV-aENzi=8rsmr$)DhU<_R%fr*xkJw&)@&G z$lzX|@9O*gVte_2^H29(VECcx#8zPBsFt`!l%yn}sbF)+0< zF|{%>)HN`-GBB8^pdyW;AvZrIGp!Q0h6lBCmIF0Nf@}!RPb(=;EJ|f4FE7{2%*!rL bPAo{(%P&fw{mw=TsEEPS)z4*}Q$iB}X^!^@ diff --git a/.config/emulationstation/es_input.cfg b/.config/emulationstation/es_input.cfg index 36390294..9b951228 100644 --- a/.config/emulationstation/es_input.cfg +++ b/.config/emulationstation/es_input.cfg @@ -4,10 +4,26 @@ + + + + + + + + + + + + + + + + diff --git a/.config/emulationstation/es_settings.cfg b/.config/emulationstation/es_settings.cfg index 469ef0f7..3dc03ab2 100644 --- a/.config/emulationstation/es_settings.cfg +++ b/.config/emulationstation/es_settings.cfg @@ -1,18 +1,48 @@ + - + + + + + + - + + + + + + + + + + + + - + + + + + + + + + + + + + + diff --git a/.config/emulationstation/es_systems.cfg b/.config/emulationstation/es_systems.cfg index ddc41e24..cf2bfa94 100644 --- a/.config/emulationstation/es_systems.cfg +++ b/.config/emulationstation/es_systems.cfg @@ -1,5 +1,60 @@ - + + gb + Nintendo Gameboy + ~/roms/gb + .gb .zip .7z + retroarch -f -L /usr/lib/libretro/gambatte_libretro.so %ROM% + gb + gb + + + nes + Nintendo Entertainment System + ~/roms/nes + .nes .zip .7z + retroarch -f -L /usr/lib/libretro/quicknes_libretro.so %ROM% + nes + nes + + + snes + Super Nintendo Entertainment System + ~/roms/snes + .sfc .zip .7z + retroarch -f -L /usr/lib/libretro/snes9x_libretro.so %ROM% + snes + snes + + + gamegear + Sega Game Gear + ~/roms/gamegear + .zip .7z + retroarch -f -L /usr/lib/libretro/genesis_plus_gx_libretro.so %ROM% + gamegear + gamegear + + + mastersystem + Sega Master System + ~/roms/mastersystem + .zip .7z + retroarch -f -L /usr/lib/libretro/picodrive_libretro.so %ROM% + mastersystem + mastersystem + + + megadrive + Sega Megadrive + ~/roms/megadrive + .zip .7z + + retroarch -f -L /usr/lib/libretro/picodrive_libretro.so %ROM% + megadrive + megadrive + + atari2600 Atari 2600 ~/roms/atari2600 @@ -35,76 +90,4 @@ atarilynx atarilynx - - c64 - Commodore C64 - ~/roms/c64 - .zip .7z - retroarch -f -L /usr/lib/libretro/frodo_libretro.so %ROM% - c64 - c64 - - - gb - Nintendo Gameboy - ~/roms/gb - .gb .zip .7z - retroarch -f -L /usr/lib/libretro/gambatte_libretro.so %ROM% - gb - gb - - - gba - Nintendo Gameboy Advance - ~/roms/gba - .gba .zip .7z - retroarch -f -L /usr/lib/libretro/vba_next_libretro.so %ROM% - gba - gba - - - nes - Nintendo Entertainment System - ~/roms/nes - .nes .zip .7z - retroarch -f -L /usr/lib/libretro/quicknes_libretro.so %ROM% - nes - nes - - - snes - Super Nintendo Entertainment System - ~/roms/snes - .sfc .zip - retroarch -f -L /usr/lib/libretro/snes9x_libretro.so %ROM% - snes - snes - - - gamegear - Sega Game Gear - ~/roms/gamegear - .zip .7z - retroarch -f -L /usr/lib/libretro/picodrive_libretro %ROM% - gamegear - gamegear - - - mastersystem - Sega Master System - ~/roms/mastersystem - .zip .7z - retroarch -f -L /usr/lib/libretro/picodrive_libretro %ROM% - mastersystem - mastersystem - - - megadrive - Sega Megadrive - ~/roms/megadrive - .zip .7z - retroarch -f -L /usr/lib/libretro/picodrive_libretro %ROM% - megadrive - megadrive - diff --git a/.zshrc b/.zshrc index c4feff5c..71dbe913 100644 --- a/.zshrc +++ b/.zshrc @@ -1,5 +1,5 @@ # Extend my $PATH to $HOME/bin -export PATH=$HOME/bin:$HOME/.gem/ruby/2.2.0/bin:$HOME/.gem/ruby/2.3.0/bin:$PATH +export PATH=$HOME/bin:$HOME/.gem/ruby/2.4.0/bin:$PATH # Export the $EDITOR and $TERMINAL export BROWSER=/usr/bin/firefox