From ae536f98250219749710a57cdb055f1f86e46131 Mon Sep 17 00:00:00 2001 From: Horhik Date: Thu, 3 Dec 2020 23:10:29 +0200 Subject: [PATCH] start awesome config --- home/awesome/.config/awesome/rc.lua | 603 ++++++++++++++ home/awesome/.config/awesome/rc.lua.template | 777 ++++++++++++++++++ .../awesome/themes/gruvbox/awesome-icon.png | Bin 0 -> 177 bytes .../themes/gruvbox/layouts/cornerne.png | Bin 0 -> 193 bytes .../themes/gruvbox/layouts/cornernw.png | Bin 0 -> 190 bytes .../themes/gruvbox/layouts/cornerse.png | Bin 0 -> 197 bytes .../themes/gruvbox/layouts/cornersw.png | Bin 0 -> 195 bytes .../themes/gruvbox/layouts/dwindle.png | Bin 0 -> 196 bytes .../awesome/themes/gruvbox/layouts/fairh.png | Bin 0 -> 191 bytes .../awesome/themes/gruvbox/layouts/fairv.png | Bin 0 -> 193 bytes .../themes/gruvbox/layouts/floating.png | Bin 0 -> 189 bytes .../themes/gruvbox/layouts/fullscreen.png | Bin 0 -> 199 bytes .../themes/gruvbox/layouts/magnifier.png | Bin 0 -> 191 bytes .../awesome/themes/gruvbox/layouts/max.png | Bin 0 -> 271 bytes .../awesome/themes/gruvbox/layouts/spiral.png | Bin 0 -> 196 bytes .../awesome/themes/gruvbox/layouts/tile.png | Bin 0 -> 189 bytes .../themes/gruvbox/layouts/tilebottom.png | Bin 0 -> 186 bytes .../themes/gruvbox/layouts/tileleft.png | Bin 0 -> 188 bytes .../themes/gruvbox/layouts/tiletop.png | Bin 0 -> 186 bytes .../themes/gruvbox/taglist/squarefz.png | Bin 0 -> 168 bytes .../themes/gruvbox/taglist/squarez.png | Bin 0 -> 171 bytes .../.config/awesome/themes/gruvbox/theme.lua | 140 ++++ .../themes/gruvbox/titlebar/close_focus.png | Bin 0 -> 187 bytes .../themes/gruvbox/titlebar/close_normal.png | Bin 0 -> 116 bytes .../titlebar/floating_focus_active.png | Bin 0 -> 187 bytes .../titlebar/floating_focus_inactive.png | Bin 0 -> 112 bytes .../titlebar/floating_normal_active.png | Bin 0 -> 116 bytes .../titlebar/floating_normal_inactive.png | Bin 0 -> 90 bytes .../titlebar/maximized_focus_active.png | Bin 0 -> 196 bytes .../titlebar/maximized_focus_inactive.png | Bin 0 -> 110 bytes .../titlebar/maximized_normal_active.png | Bin 0 -> 121 bytes .../titlebar/maximized_normal_inactive.png | Bin 0 -> 112 bytes .../gruvbox/titlebar/ontop_focus_active.png | Bin 0 -> 191 bytes .../gruvbox/titlebar/ontop_focus_inactive.png | Bin 0 -> 106 bytes .../gruvbox/titlebar/ontop_normal_active.png | Bin 0 -> 118 bytes .../titlebar/ontop_normal_inactive.png | Bin 0 -> 107 bytes .../gruvbox/titlebar/sticky_focus_active.png | Bin 0 -> 187 bytes .../titlebar/sticky_focus_inactive.png | Bin 0 -> 103 bytes .../gruvbox/titlebar/sticky_normal_active.png | Bin 0 -> 116 bytes .../titlebar/sticky_normal_inactive.png | Bin 0 -> 86 bytes .../themes/gruvbox/zenburn-background.png | Bin 0 -> 1484 bytes .../awesome/themes/gruvbox_/awesome-icon.png | Bin 0 -> 177 bytes .../themes/gruvbox_/layouts/cornerne.png | Bin 0 -> 193 bytes .../themes/gruvbox_/layouts/cornernw.png | Bin 0 -> 190 bytes .../themes/gruvbox_/layouts/cornerse.png | Bin 0 -> 197 bytes .../themes/gruvbox_/layouts/cornersw.png | Bin 0 -> 195 bytes .../themes/gruvbox_/layouts/dwindle.png | Bin 0 -> 196 bytes .../awesome/themes/gruvbox_/layouts/fairh.png | Bin 0 -> 191 bytes .../awesome/themes/gruvbox_/layouts/fairv.png | Bin 0 -> 193 bytes .../themes/gruvbox_/layouts/floating.png | Bin 0 -> 189 bytes .../themes/gruvbox_/layouts/fullscreen.png | Bin 0 -> 199 bytes .../themes/gruvbox_/layouts/magnifier.png | Bin 0 -> 191 bytes .../awesome/themes/gruvbox_/layouts/max.png | Bin 0 -> 271 bytes .../themes/gruvbox_/layouts/spiral.png | Bin 0 -> 196 bytes .../awesome/themes/gruvbox_/layouts/tile.png | Bin 0 -> 189 bytes .../themes/gruvbox_/layouts/tilebottom.png | Bin 0 -> 186 bytes .../themes/gruvbox_/layouts/tileleft.png | Bin 0 -> 188 bytes .../themes/gruvbox_/layouts/tiletop.png | Bin 0 -> 186 bytes .../themes/gruvbox_/taglist/squarefz.png | Bin 0 -> 168 bytes .../themes/gruvbox_/taglist/squarez.png | Bin 0 -> 171 bytes .../.config/awesome/themes/gruvbox_/theme.lua | 136 +++ .../themes/gruvbox_/titlebar/close_focus.png | Bin 0 -> 187 bytes .../themes/gruvbox_/titlebar/close_normal.png | Bin 0 -> 116 bytes .../titlebar/floating_focus_active.png | Bin 0 -> 187 bytes .../titlebar/floating_focus_inactive.png | Bin 0 -> 112 bytes .../titlebar/floating_normal_active.png | Bin 0 -> 116 bytes .../titlebar/floating_normal_inactive.png | Bin 0 -> 90 bytes .../titlebar/maximized_focus_active.png | Bin 0 -> 196 bytes .../titlebar/maximized_focus_inactive.png | Bin 0 -> 110 bytes .../titlebar/maximized_normal_active.png | Bin 0 -> 121 bytes .../titlebar/maximized_normal_inactive.png | Bin 0 -> 112 bytes .../gruvbox_/titlebar/ontop_focus_active.png | Bin 0 -> 191 bytes .../titlebar/ontop_focus_inactive.png | Bin 0 -> 106 bytes .../gruvbox_/titlebar/ontop_normal_active.png | Bin 0 -> 118 bytes .../titlebar/ontop_normal_inactive.png | Bin 0 -> 107 bytes .../gruvbox_/titlebar/sticky_focus_active.png | Bin 0 -> 187 bytes .../titlebar/sticky_focus_inactive.png | Bin 0 -> 103 bytes .../titlebar/sticky_normal_active.png | Bin 0 -> 116 bytes .../titlebar/sticky_normal_inactive.png | Bin 0 -> 86 bytes .../themes/gruvbox_/zenburn-background.png | Bin 0 -> 1484 bytes 80 files changed, 1656 insertions(+) create mode 100644 home/awesome/.config/awesome/rc.lua create mode 100644 home/awesome/.config/awesome/rc.lua.template create mode 100755 home/awesome/.config/awesome/themes/gruvbox/awesome-icon.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox/layouts/cornerne.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox/layouts/cornernw.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox/layouts/cornerse.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox/layouts/cornersw.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox/layouts/dwindle.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox/layouts/fairh.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox/layouts/fairv.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox/layouts/floating.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox/layouts/fullscreen.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox/layouts/magnifier.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox/layouts/max.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox/layouts/spiral.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox/layouts/tile.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox/layouts/tilebottom.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox/layouts/tileleft.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox/layouts/tiletop.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox/taglist/squarefz.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox/taglist/squarez.png create mode 100755 home/awesome/.config/awesome/themes/gruvbox/theme.lua create mode 100644 home/awesome/.config/awesome/themes/gruvbox/titlebar/close_focus.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox/titlebar/close_normal.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox/titlebar/floating_focus_active.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox/titlebar/floating_focus_inactive.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox/titlebar/floating_normal_active.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox/titlebar/floating_normal_inactive.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox/titlebar/maximized_focus_active.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox/titlebar/maximized_focus_inactive.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox/titlebar/maximized_normal_active.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox/titlebar/maximized_normal_inactive.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox/titlebar/ontop_focus_active.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox/titlebar/ontop_focus_inactive.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox/titlebar/ontop_normal_active.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox/titlebar/ontop_normal_inactive.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox/titlebar/sticky_focus_active.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox/titlebar/sticky_focus_inactive.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox/titlebar/sticky_normal_active.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox/titlebar/sticky_normal_inactive.png create mode 100755 home/awesome/.config/awesome/themes/gruvbox/zenburn-background.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox_/awesome-icon.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox_/layouts/cornerne.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox_/layouts/cornernw.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox_/layouts/cornerse.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox_/layouts/cornersw.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox_/layouts/dwindle.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox_/layouts/fairh.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox_/layouts/fairv.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox_/layouts/floating.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox_/layouts/fullscreen.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox_/layouts/magnifier.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox_/layouts/max.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox_/layouts/spiral.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox_/layouts/tile.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox_/layouts/tilebottom.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox_/layouts/tileleft.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox_/layouts/tiletop.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox_/taglist/squarefz.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox_/taglist/squarez.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox_/theme.lua create mode 100644 home/awesome/.config/awesome/themes/gruvbox_/titlebar/close_focus.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox_/titlebar/close_normal.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox_/titlebar/floating_focus_active.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox_/titlebar/floating_focus_inactive.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox_/titlebar/floating_normal_active.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox_/titlebar/floating_normal_inactive.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox_/titlebar/maximized_focus_active.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox_/titlebar/maximized_focus_inactive.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox_/titlebar/maximized_normal_active.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox_/titlebar/maximized_normal_inactive.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox_/titlebar/ontop_focus_active.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox_/titlebar/ontop_focus_inactive.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox_/titlebar/ontop_normal_active.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox_/titlebar/ontop_normal_inactive.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox_/titlebar/sticky_focus_active.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox_/titlebar/sticky_focus_inactive.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox_/titlebar/sticky_normal_active.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox_/titlebar/sticky_normal_inactive.png create mode 100644 home/awesome/.config/awesome/themes/gruvbox_/zenburn-background.png diff --git a/home/awesome/.config/awesome/rc.lua b/home/awesome/.config/awesome/rc.lua new file mode 100644 index 0000000..56c3c39 --- /dev/null +++ b/home/awesome/.config/awesome/rc.lua @@ -0,0 +1,603 @@ +-- If LuaRocks is installed, make sure that packages installed through it are +-- found (e.g. lgi). If LuaRocks is not installed, do nothing. +pcall(require, "luarocks.loader") + +-- Standard awesome library +local gears = require("gears") +local awful = require("awful") +require("awful.autofocus") +-- Widget and layout library +local wibox = require("wibox") +-- Theme handling library +local beautiful = require("beautiful") +-- Notification library +local naughty = require("naughty") +local menubar = require("menubar") +local hotkeys_popup = require("awful.hotkeys_popup") +-- Enable hotkeys help widget for VIM and other apps +-- when client with a matching name is opened: +require("awful.hotkeys_popup.keys") +local bling = require("bling") + +-- {{{ 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 = tostring(err) }) + in_error = false + end) +end +-- }}} + +-- {{{ Variable definitions +-- Themes define colours, icons, font and wallpapers. +beautiful.init("/home/horhik/.config/awesome/themes/gruvbox/theme.lua") + + + + +-- This is used later as the default terminal and editor to run. +terminal = "alacritty" +editor = os.getenv("EDITOR") or "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" + +-- Table of layouts to cover with awful.layout.inc, order matters. +awful.layout.layouts = { + awful.layout.suit.tile, + awful.layout.suit.floating, + -- awful.layout.suit.tile.left, + -- awful.layout.suit.tile.bottom, + -- awful.layout.suit.tile.top, + -- awful.layout.suit.fair, + -- awful.layout.suit.fair.horizontal, + awful.layout.suit.spiral, + -- awful.layout.suit.spiral.dwindle, + -- awful.layout.suit.max, + awful.layout.suit.max.fullscreen, + -- awful.layout.suit.magnifier, + -- awful.layout.suit.corner.nw, + -- awful.layout.suit.corner.ne, + -- awful.layout.suit.corner.sw, + -- awful.layout.suit.corner.se, + bling.layout.mstab, + bling.layout.centered, + bling.layout.horizontal, +} +-- }}} + +-- {{{ Menu +-- Create a launcher widget and a main menu +myawesomemenu = { + { "hotkeys", function() hotkeys_popup.show_help(nil, awful.screen.focused()) end }, + { "manual", terminal .. " -e man awesome" }, + { "edit config", editor_cmd .. " " .. awesome.conffile }, + { "restart", awesome.restart }, + { "quit", function() awesome.quit() end }, +} + +mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon }, + { "open terminal", terminal } + } + }) + +mylauncher = awful.widget.launcher({ image = beautiful.awesome_icon, + menu = mymainmenu }) + +-- Menubar configuration +menubar.utils.terminal = terminal -- Set the terminal for applications that require it +-- }}} + +-- Keyboard map indicator and switcher +mykeyboardlayout = awful.widget.keyboardlayout() + +-- {{{ Wibar +-- Create a textclock widget +mytextclock = wibox.widget.textclock() + +-- Create a wibox for each screen and add it +local taglist_buttons = gears.table.join( + awful.button({ }, 1, function(t) t:view_only() end), + awful.button({ modkey }, 1, function(t) + if client.focus then + client.focus:move_to_tag(t) + end + end), + awful.button({ }, 3, awful.tag.viewtoggle), + awful.button({ modkey }, 3, function(t) + if client.focus then + client.focus:toggle_tag(t) + end + end), + awful.button({ }, 4, function(t) awful.tag.viewnext(t.screen) end), + awful.button({ }, 5, function(t) awful.tag.viewprev(t.screen) end) + ) + +local tasklist_buttons = gears.table.join( + awful.button({ }, 1, function (c) + if c == client.focus then + c.minimized = true + else + c:emit_signal( + "request::activate", + "tasklist", + {raise = true} + ) + end + end), + awful.button({ }, 3, function() + awful.menu.client_list({ theme = { width = 250 } }) + end), + awful.button({ }, 4, function () + awful.client.focus.byidx(1) + end), + awful.button({ }, 5, function () + awful.client.focus.byidx(-1) + end)) + +local function set_wallpaper(s) + -- Wallpaper + if beautiful.wallpaper then + local wallpaper = beautiful.wallpaper + -- If wallpaper is a function, call it with the screen + if type(wallpaper) == "function" then + wallpaper = wallpaper(s) + end + gears.wallpaper.maximized(wallpaper, s, 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({ " ﳎ", " ", " ", " ", " ", "  ", " ", " ", "龎 " }, s, awful.layout.layouts[1]) + + -- Create a promptbox for each screen + s.mypromptbox = awful.widget.prompt() + -- Create an imagebox widget which will contain an icon indicating which layout we're using. + -- We need one layoutbox per screen. + s.mylayoutbox = awful.widget.layoutbox(s) + s.mylayoutbox:buttons(gears.table.join( + awful.button({ }, 1, function () awful.layout.inc( 1) end), + awful.button({ }, 3, function () awful.layout.inc(-1) end), + awful.button({ }, 4, function () awful.layout.inc( 1) end), + awful.button({ }, 5, function () awful.layout.inc(-1) end))) + -- Create a taglist widget + s.mytaglist = awful.widget.taglist { + screen = s, + filter = awful.widget.taglist.filter.all, + buttons = taglist_buttons + } + + -- Create a tasklist widget + s.mytasklist = awful.widget.tasklist { + screen = s, + filter = awful.widget.tasklist.filter.currenttags, + buttons = tasklist_buttons + } + + -- Create the wibox + s.mywibox = awful.wibar({ position = "top", screen = s }) + + -- 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, + mykeyboardlayout, + wibox.widget.systray(), + mytextclock, + s.mylayoutbox, + }, + } +end) +-- }}} + +-- {{{ Mouse bindings +root.buttons(gears.table.join( + awful.button({ }, 3, function () mymainmenu:toggle() end), + awful.button({ }, 4, awful.tag.viewnext), + awful.button({ }, 5, awful.tag.viewprev) +)) +-- }}} + +-- {{{ Key bindings +globalkeys = gears.table.join( + awful.key({ modkey, }, "s", hotkeys_popup.show_help, + {description="show help", group="awesome"}), + awful.key({ modkey, }, "Left", awful.tag.viewprev, + {description = "view previous", group = "tag"}), + awful.key({ modkey, }, "Right", awful.tag.viewnext, + {description = "view next", group = "tag"}), + awful.key({ modkey, }, "Escape", awful.tag.history.restore, + {description = "go back", group = "tag"}), + + awful.key({ modkey, }, "j", + 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 + + -- flameshot + awful.key({ modkey, "Shift" }, "s", function () awful.spawn("flameshot gui") end, + {description = "open flameshot (make screenshot)", group = "launcher"}), + 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 + c:emit_signal( + "request::activate", "key.unminimize", {raise = true} + ) + end + end, + {description = "restore minimized", group = "client"}), + + -- Prompt + 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: ", + 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() awful.util.spawn("dmenu_run -fn 'Mononoki Nerd Font:size=16' -nb '#282828' -nf '#d5c4a1' -sb '#3c3836' -sf '#ebdbb2' -c -l 20") end, + {description = "show the dmenu", group = "launcher"}) +) + +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 , + {description = "minimize", group = "client"}), + awful.key({ modkey, }, "m", + function (c) + c.maximized = not c.maximized + c:raise() + end , + {description = "(un)maximize", group = "client"}), + awful.key({ modkey, "Control" }, "m", + function (c) + c.maximized_vertical = not c.maximized_vertical + c:raise() + end , + {description = "(un)maximize vertically", group = "client"}), + awful.key({ modkey, "Shift" }, "m", + function (c) + c.maximized_horizontal = not c.maximized_horizontal + c:raise() + end , + {description = "(un)maximize horizontally", group = "client"}) +) + +-- Bind all key numbers to tags. +-- Be careful: we use keycodes to make it work on any keyboard layout. +-- This should map on the top row of your keyboard, usually 1 to 9. +for i = 1, 9 do + globalkeys = gears.table.join(globalkeys, + -- View tag only. + awful.key({ modkey }, "#" .. i + 9, + function () + local screen = awful.screen.focused() + local tag = screen.tags[i] + if tag then + tag:view_only() + end + end, + {description = "view tag #"..i, group = "tag"}), + -- Toggle tag display. + awful.key({ modkey, "Control" }, "#" .. i + 9, + function () + local screen = awful.screen.focused() + local tag = screen.tags[i] + if tag then + awful.tag.viewtoggle(tag) + end + end, + {description = "toggle tag #" .. i, group = "tag"}), + -- Move client to tag. + awful.key({ modkey, "Shift" }, "#" .. i + 9, + function () + if client.focus then + local tag = client.focus.screen.tags[i] + if tag then + client.focus:move_to_tag(tag) + end + end + end, + {description = "move focused client to tag #"..i, group = "tag"}), + -- Toggle tag on focused client. + awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9, + function () + if client.focus then + local tag = client.focus.screen.tags[i] + if tag then + client.focus:toggle_tag(tag) + end + end + end, + {description = "toggle focused client on tag #" .. i, group = "tag"}) + ) +end + +clientbuttons = gears.table.join( + awful.button({ }, 1, function (c) + c:emit_signal("request::activate", "mouse_click", {raise = true}) + end), + awful.button({ modkey }, 1, function (c) + c:emit_signal("request::activate", "mouse_click", {raise = true}) + awful.mouse.client.move(c) + end), + awful.button({ modkey }, 3, function (c) + c:emit_signal("request::activate", "mouse_click", {raise = true}) + awful.mouse.client.resize(c) + end) +) + +-- 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, + 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. + "pinentry", + }, + class = { + "Arandr", + "Blueman-manager", + "Gpick", + "Kruler", + "MessageWin", -- kalarm. + "Sxiv", + "Tor Browser", -- Needs a fixed window size to avoid fingerprinting by screen size. + "Wpa_gui", + "veromix", + "xtightvncviewer"}, + + -- Note that the name property shown in xprop might be set slightly after creation of the client + -- and the name shown there might not match defined rules here. + name = { + "Event Tester", -- xev. + }, + role = { + "AlarmWindow", -- Thunderbird's calendar. + "ConfigManager", -- Thunderbird's about:config. + "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" } }, +} +-- }}} + +-- {{{ Signals +-- Signal function to execute when a new client appears. +client.connect_signal("manage", function (c) + -- Set the windows at the slave, + -- i.e. put it at the end of others instead of setting it master. + -- if not awesome.startup then awful.client.setslave(c) end + + if awesome.startup + and not c.size_hints.user_position + and not c.size_hints.program_position then + -- Prevent clients from being unreachable after screen count changes. + awful.placement.no_offscreen(c) + end +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() + c:emit_signal("request::activate", "titlebar", {raise = true}) + awful.mouse.client.move(c) + end), + awful.button({ }, 3, function() + c:emit_signal("request::activate", "titlebar", {raise = true}) + awful.mouse.client.resize(c) + end) + ) + + 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) + +-- Enable sloppy focus, so that focus follows mouse. +client.connect_signal("mouse::enter", function(c) + c:emit_signal("request::activate", "mouse_enter", {raise = false}) +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) +-- }}} + +-- GAPS +-- beautiful.useless_gap = 5 + +awful.key({ modkey}, "y", function() beautiful.useless_gap = 30 end, + {description = "show the dmenu", group = "launcher"}) + + + +-- AUTOSTART +local ash = awful.spawn.with_shell +ash("enact --pos top") +ash("nitrogen --restore") +ash("setxkbmap us,ru,fi ,winkeys grp:alt_shift_toggle") +ash("picom &") + +local notify_size = 90 + +local new_shape = function(cr, width, height) + gears.shape.partially_rounded_rect(cr, 300, 100, true, false, true, true, 10) +end + +beautiful.notification_height = notify_size +beautiful.notification_margin = -20 +beautiful.notification_border_color = "#ff0000" +beautiful.notification_border_width = 10 +beautiful.notification_icon_size = notify_size +-- beautiful.notification_shape = new_shape diff --git a/home/awesome/.config/awesome/rc.lua.template b/home/awesome/.config/awesome/rc.lua.template new file mode 100644 index 0000000..3fa7b65 --- /dev/null +++ b/home/awesome/.config/awesome/rc.lua.template @@ -0,0 +1,777 @@ +--[[ + + Awesome WM configuration template + github.com/lcpz + +--]] + +-- {{{ Required libraries +local awesome, client, mouse, screen, tag = awesome, client, mouse, screen, tag +local ipairs, string, os, table, tostring, tonumber, type = ipairs, string, os, table, tostring, tonumber, type + +local gears = require("gears") +local awful = require("awful") + require("awful.autofocus") +local wibox = require("wibox") +local beautiful = require("beautiful") +local naughty = require("naughty") +local lain = require("lain") +--local menubar = require("menubar") +local freedesktop = require("freedesktop") +local hotkeys_popup = require("awful.hotkeys_popup").widget + require("awful.hotkeys_popup.keys") +local my_table = awful.util.table or gears.table -- 4.{0,1} compatibility +local dpi = require("beautiful.xresources").apply_dpi +-- }}} + +-- {{{ 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) + if in_error then return end + in_error = true + + naughty.notify({ preset = naughty.config.presets.critical, + title = "Oops, an error happened!", + text = tostring(err) }) + in_error = false + end) +end +-- }}} + +-- {{{ Autostart windowless processes + +-- This function will run once every time Awesome is started +local function run_once(cmd_arr) + for _, cmd in ipairs(cmd_arr) do + awful.spawn.with_shell(string.format("pgrep -u $USER -fx '%s' > /dev/null || (%s)", cmd, cmd)) + end +end + +run_once({ "urxvtd", "unclutter -root" }) -- entries must be separated by commas + +-- This function implements the XDG autostart specification +--[[ +awful.spawn.with_shell( + 'if (xrdb -query | grep -q "^awesome\\.started:\\s*true$"); then exit; fi;' .. + 'xrdb -merge <<< "awesome.started:true";' .. + -- list each of your autostart commands, followed by ; inside single quotes, followed by .. + 'dex --environment Awesome --autostart --search-paths "$XDG_CONFIG_DIRS/autostart:$XDG_CONFIG_HOME/autostart"' -- https://github.com/jceb/dex +) +--]] + +-- }}} + +-- {{{ Variable definitions + +local themes = { + "blackburn", -- 1 + "copland", -- 2 + "dremora", -- 3 + "holo", -- 4 + "multicolor", -- 5 + "powerarrow", -- 6 + "powerarrow-dark", -- 7 + "rainbow", -- 8 + "steamburn", -- 9 + "vertex", -- 10 +} + +local chosen_theme = themes[5] +local modkey = "Mod4" +local altkey = "Mod1" +local terminal = "urxvtc" +local vi_focus = false -- vi-like client focus - https://github.com/lcpz/awesome-copycats/issues/275 +local cycle_prev = true -- cycle trough all previous client or just the first -- https://github.com/lcpz/awesome-copycats/issues/274 +local editor = os.getenv("EDITOR") or "vim" +local gui_editor = os.getenv("GUI_EDITOR") or "gvim" +local browser = os.getenv("BROWSER") or "firefox" +local scrlocker = "slock" + +awful.util.terminal = terminal +awful.util.tagnames = { "1", "2", "3", "4", "5" } +awful.layout.layouts = { + awful.layout.suit.floating, + 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.corner.nw, + --awful.layout.suit.corner.ne, + --awful.layout.suit.corner.sw, + --awful.layout.suit.corner.se, + --lain.layout.cascade, + --lain.layout.cascade.tile, + --lain.layout.centerwork, + --lain.layout.centerwork.horizontal, + --lain.layout.termfair, + --lain.layout.termfair.center, +} + +awful.util.taglist_buttons = my_table.join( + awful.button({ }, 1, function(t) t:view_only() end), + awful.button({ modkey }, 1, function(t) + if client.focus then + client.focus:move_to_tag(t) + end + end), + awful.button({ }, 3, awful.tag.viewtoggle), + awful.button({ modkey }, 3, function(t) + if client.focus then + client.focus:toggle_tag(t) + end + end), + awful.button({ }, 4, function(t) awful.tag.viewnext(t.screen) end), + awful.button({ }, 5, function(t) awful.tag.viewprev(t.screen) end) +) + +awful.util.tasklist_buttons = my_table.join( + awful.button({ }, 1, function (c) + if c == client.focus then + c.minimized = true + else + --c:emit_signal("request::activate", "tasklist", {raise = true}) + + -- Without this, the following + -- :isvisible() makes no sense + c.minimized = false + if not c:isvisible() and c.first_tag then + c.first_tag:view_only() + end + -- This will also un-minimize + -- the client, if needed + client.focus = c + c:raise() + end + end), + awful.button({ }, 2, function (c) c:kill() end), + awful.button({ }, 3, function () + local instance = nil + + return function () + if instance and instance.wibox.visible then + instance:hide() + instance = nil + else + instance = awful.menu.clients({theme = {width = dpi(250)}}) + end + end + end), + awful.button({ }, 4, function () awful.client.focus.byidx(1) end), + awful.button({ }, 5, function () awful.client.focus.byidx(-1) end) +) + +lain.layout.termfair.nmaster = 3 +lain.layout.termfair.ncol = 1 +lain.layout.termfair.center.nmaster = 3 +lain.layout.termfair.center.ncol = 1 +lain.layout.cascade.tile.offset_x = dpi(2) +lain.layout.cascade.tile.offset_y = dpi(32) +lain.layout.cascade.tile.extra_padding = dpi(5) +lain.layout.cascade.tile.nmaster = 5 +lain.layout.cascade.tile.ncol = 2 + +beautiful.init(string.format("%s/.config/awesome/themes/%s/theme.lua", os.getenv("HOME"), chosen_theme)) +-- }}} + +-- {{{ Menu +local myawesomemenu = { + { "hotkeys", function() return false, hotkeys_popup.show_help end }, + { "manual", terminal .. " -e man awesome" }, + { "edit config", string.format("%s -e %s %s", terminal, editor, awesome.conffile) }, + { "restart", awesome.restart }, + { "quit", function() awesome.quit() end } +} +awful.util.mymainmenu = freedesktop.menu.build({ + icon_size = beautiful.menu_height or dpi(16), + before = { + { "Awesome", myawesomemenu, beautiful.awesome_icon }, + -- other triads can be put here + }, + after = { + { "Open terminal", terminal }, + -- other triads can be put here + } +}) +-- hide menu when mouse leaves it +--awful.util.mymainmenu.wibox:connect_signal("mouse::leave", function() awful.util.mymainmenu:hide() end) + +--menubar.utils.terminal = terminal -- Set the Menubar terminal for applications that require it +-- }}} + +-- {{{ Screen +-- Re-set wallpaper when a screen's geometry changes (e.g. different resolution) +screen.connect_signal("property::geometry", function(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) + +-- No borders when rearranging only 1 non-floating or maximized client +screen.connect_signal("arrange", function (s) + local only_one = #s.tiled_clients == 1 + for _, c in pairs(s.clients) do + if only_one and not c.floating or c.maximized then + c.border_width = 0 + else + c.border_width = beautiful.border_width + end + end +end) +-- Create a wibox for each screen and add it +awful.screen.connect_for_each_screen(function(s) beautiful.at_screen_connect(s) end) +-- }}} + +-- {{{ Mouse bindings +root.buttons(my_table.join( + awful.button({ }, 3, function () awful.util.mymainmenu:toggle() end), + awful.button({ }, 4, awful.tag.viewnext), + awful.button({ }, 5, awful.tag.viewprev) +)) +-- }}} + +-- {{{ Key bindings +globalkeys = my_table.join( + -- Take a screenshot + -- https://github.com/lcpz/dots/blob/master/bin/screenshot + awful.key({ altkey }, "p", function() os.execute("screenshot") end, + {description = "take a screenshot", group = "hotkeys"}), + + -- X screen locker + awful.key({ altkey, "Control" }, "l", function () os.execute(scrlocker) end, + {description = "lock screen", group = "hotkeys"}), + + -- Hotkeys + awful.key({ modkey, }, "s", hotkeys_popup.show_help, + {description = "show help", group="awesome"}), + -- Tag browsing + 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"}), + + -- Non-empty tag browsing + awful.key({ altkey }, "Left", function () lain.util.tag_view_nonempty(-1) end, + {description = "view previous nonempty", group = "tag"}), + awful.key({ altkey }, "Right", function () lain.util.tag_view_nonempty(1) end, + {description = "view previous nonempty", group = "tag"}), + + -- Default client focus + awful.key({ altkey, }, "j", + function () + awful.client.focus.byidx( 1) + end, + {description = "focus next by index", group = "client"} + ), + awful.key({ altkey, }, "k", + function () + awful.client.focus.byidx(-1) + end, + {description = "focus previous by index", group = "client"} + ), + + -- By direction client focus + awful.key({ modkey }, "j", + function() + awful.client.focus.global_bydirection("down") + if client.focus then client.focus:raise() end + end, + {description = "focus down", group = "client"}), + awful.key({ modkey }, "k", + function() + awful.client.focus.global_bydirection("up") + if client.focus then client.focus:raise() end + end, + {description = "focus up", group = "client"}), + awful.key({ modkey }, "h", + function() + awful.client.focus.global_bydirection("left") + if client.focus then client.focus:raise() end + end, + {description = "focus left", group = "client"}), + awful.key({ modkey }, "l", + function() + awful.client.focus.global_bydirection("right") + if client.focus then client.focus:raise() end + end, + {description = "focus right", group = "client"}), + awful.key({ modkey, }, "w", function () awful.util.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 () + if cycle_prev then + awful.client.focus.history.previous() + else + awful.client.focus.byidx(-1) + end + if client.focus then + client.focus:raise() + end + end, + {description = "cycle with previous/go back", group = "client"}), + awful.key({ modkey, "Shift" }, "Tab", + function () + if cycle_prev then + awful.client.focus.byidx(1) + if client.focus then + client.focus:raise() + end + end + end, + {description = "go forth", group = "client"}), + + -- Show/Hide Wibox + awful.key({ modkey }, "b", function () + for s in screen do + s.mywibox.visible = not s.mywibox.visible + if s.mybottomwibox then + s.mybottomwibox.visible = not s.mybottomwibox.visible + end + end + end, + {description = "toggle wibox", group = "awesome"}), + + -- On the fly useless gaps change + awful.key({ altkey, "Control" }, "+", function () lain.util.useless_gaps_resize(1) end, + {description = "increment useless gaps", group = "tag"}), + awful.key({ altkey, "Control" }, "-", function () lain.util.useless_gaps_resize(-1) end, + {description = "decrement useless gaps", group = "tag"}), + + -- Dynamic tagging + awful.key({ modkey, "Shift" }, "n", function () lain.util.add_tag() end, + {description = "add new tag", group = "tag"}), + awful.key({ modkey, "Shift" }, "r", function () lain.util.rename_tag() end, + {description = "rename tag", group = "tag"}), + awful.key({ modkey, "Shift" }, "Left", function () lain.util.move_tag(-1) end, + {description = "move tag to the left", group = "tag"}), + awful.key({ modkey, "Shift" }, "Right", function () lain.util.move_tag(1) end, + {description = "move tag to the right", group = "tag"}), + awful.key({ modkey, "Shift" }, "d", function () lain.util.delete_tag() end, + {description = "delete tag", group = "tag"}), + + -- 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({ altkey, "Shift" }, "l", function () awful.tag.incmwfact( 0.05) end, + {description = "increase master width factor", group = "layout"}), + awful.key({ altkey, "Shift" }, "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"}), + + -- Dropdown application + awful.key({ modkey, }, "z", function () awful.screen.focused().quake:toggle() end, + {description = "dropdown application", group = "launcher"}), + + -- Widgets popups + awful.key({ altkey, }, "c", function () if beautiful.cal then beautiful.cal.show(7) end end, + {description = "show calendar", group = "widgets"}), + awful.key({ altkey, }, "h", function () if beautiful.fs then beautiful.fs.show(7) end end, + {description = "show filesystem", group = "widgets"}), + awful.key({ altkey, }, "w", function () if beautiful.weather then beautiful.weather.show(7) end end, + {description = "show weather", group = "widgets"}), + + -- Brightness + awful.key({ }, "XF86MonBrightnessUp", function () os.execute("xbacklight -inc 10") end, + {description = "+10%", group = "hotkeys"}), + awful.key({ }, "XF86MonBrightnessDown", function () os.execute("xbacklight -dec 10") end, + {description = "-10%", group = "hotkeys"}), + + -- ALSA volume control + awful.key({ altkey }, "Up", + function () + os.execute(string.format("amixer -q set %s 1%%+", beautiful.volume.channel)) + beautiful.volume.update() + end, + {description = "volume up", group = "hotkeys"}), + awful.key({ altkey }, "Down", + function () + os.execute(string.format("amixer -q set %s 1%%-", beautiful.volume.channel)) + beautiful.volume.update() + end, + {description = "volume down", group = "hotkeys"}), + awful.key({ altkey }, "m", + function () + os.execute(string.format("amixer -q set %s toggle", beautiful.volume.togglechannel or beautiful.volume.channel)) + beautiful.volume.update() + end, + {description = "toggle mute", group = "hotkeys"}), + awful.key({ altkey, "Control" }, "m", + function () + os.execute(string.format("amixer -q set %s 100%%", beautiful.volume.channel)) + beautiful.volume.update() + end, + {description = "volume 100%", group = "hotkeys"}), + awful.key({ altkey, "Control" }, "0", + function () + os.execute(string.format("amixer -q set %s 0%%", beautiful.volume.channel)) + beautiful.volume.update() + end, + {description = "volume 0%", group = "hotkeys"}), + + -- MPD control + awful.key({ altkey, "Control" }, "Up", + function () + os.execute("mpc toggle") + beautiful.mpd.update() + end, + {description = "mpc toggle", group = "widgets"}), + awful.key({ altkey, "Control" }, "Down", + function () + os.execute("mpc stop") + beautiful.mpd.update() + end, + {description = "mpc stop", group = "widgets"}), + awful.key({ altkey, "Control" }, "Left", + function () + os.execute("mpc prev") + beautiful.mpd.update() + end, + {description = "mpc prev", group = "widgets"}), + awful.key({ altkey, "Control" }, "Right", + function () + os.execute("mpc next") + beautiful.mpd.update() + end, + {description = "mpc next", group = "widgets"}), + awful.key({ altkey }, "0", + function () + local common = { text = "MPD widget ", position = "top_middle", timeout = 2 } + if beautiful.mpd.timer.started then + beautiful.mpd.timer:stop() + common.text = common.text .. lain.util.markup.bold("OFF") + else + beautiful.mpd.timer:start() + common.text = common.text .. lain.util.markup.bold("ON") + end + naughty.notify(common) + end, + {description = "mpc on/off", group = "widgets"}), + + -- Copy primary to clipboard (terminals to gtk) + awful.key({ modkey }, "c", function () awful.spawn.with_shell("xsel | xsel -i -b") end, + {description = "copy terminal to gtk", group = "hotkeys"}), + -- Copy clipboard to primary (gtk to terminals) + awful.key({ modkey }, "v", function () awful.spawn.with_shell("xsel -b | xsel") end, + {description = "copy gtk to terminal", group = "hotkeys"}), + + -- User programs + awful.key({ modkey }, "q", function () awful.spawn(browser) end, + {description = "run browser", group = "launcher"}), + awful.key({ modkey }, "a", function () awful.spawn(gui_editor) end, + {description = "run gui editor", group = "launcher"}), + + -- Default + --[[ Menubar + awful.key({ modkey }, "p", function() menubar.show() end, + {description = "show the menubar", group = "launcher"}) + --]] + --[[ dmenu + awful.key({ modkey }, "x", function () + os.execute(string.format("dmenu_run -i -fn 'Monospace' -nb '%s' -nf '%s' -sb '%s' -sf '%s'", + beautiful.bg_normal, beautiful.fg_normal, beautiful.bg_focus, beautiful.fg_focus)) + end, + {description = "show dmenu", group = "launcher"}) + --]] + -- alternatively use rofi, a dmenu-like application with more features + -- check https://github.com/DaveDavenport/rofi for more details + --[[ rofi + awful.key({ modkey }, "x", function () + os.execute(string.format("rofi -show %s -theme %s", + 'run', 'dmenu')) + end, + {description = "show rofi", group = "launcher"}), + --]] + -- Prompt + 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: ", + 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"}) + --]] +) + +clientkeys = my_table.join( + awful.key({ altkey, "Shift" }, "m", lain.util.magnify_client, + {description = "magnify client", group = "client"}), + 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 , + {description = "minimize", group = "client"}), + awful.key({ modkey, }, "m", + function (c) + c.maximized = not c.maximized + c:raise() + end , + {description = "maximize", group = "client"}) +) + +-- Bind all key numbers to tags. +-- Be careful: we use keycodes to make it works on any keyboard layout. +-- This should map on the top row of your keyboard, usually 1 to 9. +for i = 1, 9 do + -- Hack to only show tags 1 and 9 in the shortcut window (mod+s) + local descr_view, descr_toggle, descr_move, descr_toggle_focus + if i == 1 or i == 9 then + descr_view = {description = "view tag #", group = "tag"} + descr_toggle = {description = "toggle tag #", group = "tag"} + descr_move = {description = "move focused client to tag #", group = "tag"} + descr_toggle_focus = {description = "toggle focused client on tag #", group = "tag"} + end + globalkeys = my_table.join(globalkeys, + -- View tag only. + awful.key({ modkey }, "#" .. i + 9, + function () + local screen = awful.screen.focused() + local tag = screen.tags[i] + if tag then + tag:view_only() + end + end, + descr_view), + -- Toggle tag display. + awful.key({ modkey, "Control" }, "#" .. i + 9, + function () + local screen = awful.screen.focused() + local tag = screen.tags[i] + if tag then + awful.tag.viewtoggle(tag) + end + end, + descr_toggle), + -- Move client to tag. + awful.key({ modkey, "Shift" }, "#" .. i + 9, + function () + if client.focus then + local tag = client.focus.screen.tags[i] + if tag then + client.focus:move_to_tag(tag) + end + end + end, + descr_move), + -- Toggle tag on focused client. + awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9, + function () + if client.focus then + local tag = client.focus.screen.tags[i] + if tag then + client.focus:toggle_tag(tag) + end + end + end, + descr_toggle_focus) + ) +end + +clientbuttons = gears.table.join( + awful.button({ }, 1, function (c) + c:emit_signal("request::activate", "mouse_click", {raise = true}) + end), + awful.button({ modkey }, 1, function (c) + c:emit_signal("request::activate", "mouse_click", {raise = true}) + awful.mouse.client.move(c) + end), + awful.button({ modkey }, 3, function (c) + c:emit_signal("request::activate", "mouse_click", {raise = true}) + awful.mouse.client.resize(c) + end) +) + +-- 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, + screen = awful.screen.preferred, + placement = awful.placement.no_overlap+awful.placement.no_offscreen, + size_hints_honor = false + } + }, + + -- Titlebars + { rule_any = { type = { "dialog", "normal" } }, + properties = { titlebars_enabled = true } }, + + -- Set Firefox to always map on the first tag on screen 1. + { rule = { class = "Firefox" }, + properties = { screen = 1, tag = awful.util.tagnames[1] } }, + + { rule = { class = "Gimp", role = "gimp-image-window" }, + properties = { maximized = true } }, +} +-- }}} + +-- {{{ Signals +-- Signal function to execute when a new client appears. +client.connect_signal("manage", function (c) + -- Set the windows at the slave, + -- i.e. put it at the end of others instead of setting it master. + -- if not awesome.startup then awful.client.setslave(c) end + + if awesome.startup and + not c.size_hints.user_position + and not c.size_hints.program_position then + -- Prevent clients from being unreachable after screen count changes. + awful.placement.no_offscreen(c) + end +end) + +-- Add a titlebar if titlebars_enabled is set to true in the rules. +client.connect_signal("request::titlebars", function(c) + -- Custom + if beautiful.titlebar_fun then + beautiful.titlebar_fun(c) + return + end + + -- Default + -- buttons for the titlebar + local buttons = my_table.join( + awful.button({ }, 1, function() + c:emit_signal("request::activate", "titlebar", {raise = true}) + awful.mouse.client.move(c) + end), + awful.button({ }, 2, function() c:kill() end), + awful.button({ }, 3, function() + c:emit_signal("request::activate", "titlebar", {raise = true}) + awful.mouse.client.resize(c) + end) + ) + + awful.titlebar(c, {size = dpi(16)}) : 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) + +-- Enable sloppy focus, so that focus follows mouse. +client.connect_signal("mouse::enter", function(c) + c:emit_signal("request::activate", "mouse_enter", {raise = vi_focus}) +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) + +-- possible workaround for tag preservation when switching back to default screen: +-- https://github.com/lcpz/awesome-copycats/issues/251 +-- }}} diff --git a/home/awesome/.config/awesome/themes/gruvbox/awesome-icon.png b/home/awesome/.config/awesome/themes/gruvbox/awesome-icon.png new file mode 100755 index 0000000000000000000000000000000000000000..70978d3a9ab338be0eea2a024641cdaa8709c6be GIT binary patch literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;V{wqX6T`Z5GB1G~wg8_H*X3p^r=fd*d(VMZs7*%d%R_7YED zSN5A6vSR!a&v#bL2MURMx;Tb#Tu=V-e?Ft6;fcis^$a_|PZVTWUoKPaxOk%oPzi&l LtDnm{r-UW|Qr9nc literal 0 HcmV?d00001 diff --git a/home/awesome/.config/awesome/themes/gruvbox/layouts/cornerne.png b/home/awesome/.config/awesome/themes/gruvbox/layouts/cornerne.png new file mode 100644 index 0000000000000000000000000000000000000000..d541a43eaa8ae227e956a2d7fcb0f3011af684be GIT binary patch literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0L3?#3!&-4XSoCO|{#X$M%Ak65bF}ngN$X?>< z>&kwgRaQXBa^b#A1CY7^pAc6dedo@Z|Ns9_+kYVe$YCrA@(X5gcy=QV#7XjYcVSB7 zu1NuM3_V>OLo7}wCn(4ow6(Q08HiZ)a4q0Gz|_gocu_%Sg~3seTP>^y(pWkcNm}u+ bc(60fJ@Hkv=U%WHP&0$4tDnm{r-UW||Jybj literal 0 HcmV?d00001 diff --git a/home/awesome/.config/awesome/themes/gruvbox/layouts/cornernw.png b/home/awesome/.config/awesome/themes/gruvbox/layouts/cornernw.png new file mode 100644 index 0000000000000000000000000000000000000000..78fa394b9e57ba24266ef844f5831df227fc232f GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0L3?#3!&-4XSoCO|{#X$M%Ak65bF}ngN$X?>< z>&kwgRaQWmi@nq`9i%S6C&U#<-??+<|NsBf_FqT?M5R22v2@0|XZHF3}Ir_OC2p-@tJjArv(PO=VE1L^f!�*SL2cy9258$ YPHbZg`LW&L3{WS7r>mdKI;Vst0L>mV-v9sr literal 0 HcmV?d00001 diff --git a/home/awesome/.config/awesome/themes/gruvbox/layouts/cornerse.png b/home/awesome/.config/awesome/themes/gruvbox/layouts/cornerse.png new file mode 100644 index 0000000000000000000000000000000000000000..19b85c3e1aaf83dc717cec1413f0980679dba73b GIT binary patch literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0L3?#3!&-4XSoCO|{#X$M%Ak65bF}ngN$X?>< z>&kwgRaQV*;m)}a8$s#5K$%p_yLny|`4Kq2P^hqwf9 f@U0fjOa_L>re8((K6RJ|G=Ra=)z4*}Q$iB}5o< z>&kwgRaQV*Ot>Uf1Eem%C&U#<-??+<|NsBf_FqT@jRF%}28J29*~C-V}>VGHmHaoxV* z@SQtn-bPC+fuu`<{DK)Ap4~_Tagw~FdgVlS5WS$5h_C{V7mL%hSa%MB{vN!U5hV|Ns9F2I79fV-3G$`4|85|J%=)a3J@1 e%7rUscNiF2R>v5*|DOSJ34^DrpUXO@geCy*Q9Zr@ literal 0 HcmV?d00001 diff --git a/home/awesome/.config/awesome/themes/gruvbox/layouts/fairh.png b/home/awesome/.config/awesome/themes/gruvbox/layouts/fairh.png new file mode 100644 index 0000000000000000000000000000000000000000..e176bb36345cd5932a19db8ec67c01d26f98c8d3 GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0P3?wHke>@jRF%}28J29*~C-V}>VGHmHaoxV* z^PM|qWD6cQgQQD>{DK)Ap4~_Tagw~FdgVlS5XNNoiVaq9ssB)zif>MB{vN!U5hV|Lgz!-~a!Ae<0gNo;{5}|NH-~-|%SR c@dLaJ%L6lQ?oFxg25MmNboFyt=akR{0OxZ%egFUf literal 0 HcmV?d00001 diff --git a/home/awesome/.config/awesome/themes/gruvbox/layouts/fairv.png b/home/awesome/.config/awesome/themes/gruvbox/layouts/fairv.png new file mode 100644 index 0000000000000000000000000000000000000000..7c0a92c516623a0717403c0342eb64d30710d367 GIT binary patch literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0P3?wHke>@jRF%}28J29*~C-V}>VGHmHaoui_ zaOch$W8tt_AnB4IzhDN3XE)M7oFs2|7lsa2Sq~tGv%n*=n1O*?7=#%aX3dcR3bL1Y z`ns~;pmbi_8fn@Xjk0Ja8 bYZw@!O3Hq1QJvWj)WYED>gTe~DWM4fu*@{c literal 0 HcmV?d00001 diff --git a/home/awesome/.config/awesome/themes/gruvbox/layouts/floating.png b/home/awesome/.config/awesome/themes/gruvbox/layouts/floating.png new file mode 100644 index 0000000000000000000000000000000000000000..a39909245bd1ac2243982ffa2b0312827f893ddb GIT binary patch literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0P3?wHke>@jRF%}28J29*~C-V}>VGHmHaoxUQ z@|`K++{ae!&b5&u*lFI7!~_E({&4vK~MVXMsm#F#`j)FbFd;%$g$s6l5>) z^mS#w$ssE$CQ@1$G;{y} literal 0 HcmV?d00001 diff --git a/home/awesome/.config/awesome/themes/gruvbox/layouts/fullscreen.png b/home/awesome/.config/awesome/themes/gruvbox/layouts/fullscreen.png new file mode 100644 index 0000000000000000000000000000000000000000..a0c795c5eecfc21de62537d2bdfa123e5bbe6c70 GIT binary patch literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0P3?wHke>@jRF%}28J29*~C-V}>VGHmHaoxV* z@SQtn-bPC+fuu`<{DK)Ap4~_Tagw~FdgVlS5XVMefa;yfC1UuBVG*h{pNkgaf=!{x=`w50aFZkoZw(V0Y*WkJ&Ny3FRA& k+1Ae1Oqn3Cd@jRF%}28J29*~C-V}>VGHmHaov7{ z{mz{;d(GnhgQQD>{DK)Ap4~_Tagw~FdgVlS5XNjWez{wiYO)>gnPbqH#Vs;Q;TG|IG*ar3~sC&K^I@jRF%}28J29*~C-V}>VGHmHaoxUw z`Ocj)v&FuufTT-;{DK)Ap4~_Tagw~FdgVlS5Wih4n*cco|Tr)YHW=L}OyIP|txxDSnPcADmEOKY6=r_`M-RNwjpx~zRqhr%1!3rbA zB)4BZn@jRF%}28J29*~C-V}>VGHmHaot`K zedo>@pHqd!AnB4IzhDN3XE)M7oFs2|7lsa2Sq~tGv%n(~sDfJX&22WQ%mvv4FO#o8EH@pA< literal 0 HcmV?d00001 diff --git a/home/awesome/.config/awesome/themes/gruvbox/layouts/tile.png b/home/awesome/.config/awesome/themes/gruvbox/layouts/tile.png new file mode 100644 index 0000000000000000000000000000000000000000..3fcc904db6c3a0013be72c2da405b8a533cf55c6 GIT binary patch literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0P3?wHke>@jRF%}28J29*~C-V}>VGHmHaowKr z?arMuleN_~LDD5be!&b5&u*lFI7!~_E({&4vK~MVXMsm#F#`j)FbFd;%$g$s6l5>) z^mS#w$ssFZ%+RvPHv%Z6?CIhdqH#Vs;Q;TG|Ns971989O$%fqmlMOTO+N8+#OEWOA X)~DCGakJP1l{0v{`njxgN@xNAfJ`)p literal 0 HcmV?d00001 diff --git a/home/awesome/.config/awesome/themes/gruvbox/layouts/tilebottom.png b/home/awesome/.config/awesome/themes/gruvbox/layouts/tilebottom.png new file mode 100644 index 0000000000000000000000000000000000000000..dfe783228f50886eff0fb332c904541727419cd9 GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0P3?wHke>@jRF%}28J29*~C-V}>VGHmHaoxV7 z`p%s*tZ&Vxfuu`<{DK)Ap4~_Tagw~FdgVlS5X-L_0lR={`_M!PCVtMB{vN!U5hV|Ch3=A52 WW$z2bXMY8%W$<+Mb6Mw<&;$VH8#A^5 literal 0 HcmV?d00001 diff --git a/home/awesome/.config/awesome/themes/gruvbox/layouts/tileleft.png b/home/awesome/.config/awesome/themes/gruvbox/layouts/tileleft.png new file mode 100644 index 0000000000000000000000000000000000000000..c5decfd598313bbb31f396704e5a194ba5622834 GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0P3?wHke>@jRF%}28J29*~C-V}>VGHmHaoygr z`Ocj);-(%yLDD5be!&b5&u*lFI7!~_E({&4vK~MVXMsm#F#`j)FbFd;%$g$s6l5>) z^mS#w$ssFZY_O=h_6tx*$4J&v!RDZZ_^!@v;q WH@a`>(dN5A)eN4lelF{r5}E+$PdQEi literal 0 HcmV?d00001 diff --git a/home/awesome/.config/awesome/themes/gruvbox/layouts/tiletop.png b/home/awesome/.config/awesome/themes/gruvbox/layouts/tiletop.png new file mode 100644 index 0000000000000000000000000000000000000000..b2516612e2c7ad8d1e84f578c1216d21e855b44c GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0P3?wHke>@jRF%}28J29*~C-V}>VGHmHaot{E zeCN)YCXJ_YAnB4IzhDN3XE)M7oFs2|7lsa2Sq~tGv%n*=n1O*?7=#%aX3dcR3bL1Y z`ns~;FWt W%ibU7zH21s-{g?zlvlA&x9SH9@p-y9hHzX@{&9ezv4WAIei`$@dp5^GwlR3R`njxgN@xNA DFNrJj literal 0 HcmV?d00001 diff --git a/home/awesome/.config/awesome/themes/gruvbox/taglist/squarez.png b/home/awesome/.config/awesome/themes/gruvbox/taglist/squarez.png new file mode 100644 index 0000000000000000000000000000000000000000..9b41c26ea753665cfd295ef36083dd55e6f4ae71 GIT binary patch literal 171 zcmeAS@N?(olHy`uVBq!ia0vp^EI=&G$P6TV-`L3kDaPU;cPEB*=VV?2IcxzwA+Fmu zT)uPX%w8v-y&&n5AirP+hi5m^K%69RcNc~ZR#^`qhqJ&VvY3H^?+6GpPSxg<1`4v5 zc>21s-{g?zRA4@|dFc(Hkf5iFV+hCf9bP0 Hl+XkKo;)j; literal 0 HcmV?d00001 diff --git a/home/awesome/.config/awesome/themes/gruvbox/theme.lua b/home/awesome/.config/awesome/themes/gruvbox/theme.lua new file mode 100755 index 0000000..cf9b413 --- /dev/null +++ b/home/awesome/.config/awesome/themes/gruvbox/theme.lua @@ -0,0 +1,140 @@ +------------------------------- +-- "Zenburn" awesome theme -- +-- By Adrian C. (anrxc) -- +------------------------------- + +local themes_path = require("gears.filesystem").get_themes_dir() +local dpi = require("beautiful.xresources").apply_dpi +local beautiful = require("beautiful") +-- {{{ Main +local theme = {} +-- theme.wallpaper = themes_path .. "zenburn/zenburn-background.png" +-- }}} + +-- {{{ Styles +theme.font = "Mononoki Nerd Font 10" + +-- {{{ Colors +theme.fg_normal = "#ebdbb2" +theme.fg_focus = "#282828" +theme.fg_urgent = "#cc241d" +theme.bg_normal = "#282828" +theme.bg_focus = "#fabd2f" +theme.bg_urgent = "#282828" +theme.bg_systray = theme.bg_normal +-- }}} + +-- {{{ Borders +theme.useless_gap = dpi(5) +theme.border_width = dpi(2) +theme.border_normal = "#282828" +theme.border_focus = "#fabd2f" +theme.border_marked = "#b16286" +-- }}} + +-- {{{ Titlebars +theme.titlebar_bg_focus = "#3F3F3F" +theme.titlebar_bg_normal = "#3F3F3F" +-- }}} + +-- There are other variable sets +-- overriding the default one when +-- defined, the sets are: +-- [taglist|tasklist]_[bg|fg]_[focus|urgent|occupied|empty|volatile] +-- titlebar_[normal|focus] +-- tooltip_[font|opacity|fg_color|bg_color|border_width|border_color] +-- Example: +--theme.taglist_bg_focus = "#CC9393" +-- }}} + +-- {{{ Widgets +-- You can add as many variables as +-- you wish and access them by using +-- beautiful.variable in your rc.lua +--theme.fg_widget = "#AECF96" +--theme.fg_center_widget = "#88A175" +--theme.fg_end_widget = "#FF5656" +--theme.bg_widget = "#494B4F" +--theme.border_widget = "#3F3F3F" +-- }}} + +-- {{{ Mouse finder +theme.mouse_finder_color = "#CC9393" +-- mouse_finder_[timeout|animate_timeout|radius|factor] +-- }}} + +-- {{{ Menu +-- Variables set for theming the menu: +-- menu_[bg|fg]_[normal|focus] +-- menu_[border_color|border_width] +theme.menu_height = dpi(15) +theme.menu_width = dpi(100) +-- }}} + +-- {{{ Icons +-- {{{ Taglist +theme.taglist_squares_sel = themes_path .. "zenburn/taglist/squarefz.png" +theme.taglist_squares_unsel = themes_path .. "zenburn/taglist/squarez.png" +--theme.taglist_squares_resize = "false" +-- }}} + +-- {{{ Misc +theme.awesome_icon = themes_path .. "zenburn/awesome-icon.png" +theme.menu_submenu_icon = themes_path .. "default/submenu.png" +-- }}} + +-- {{{ Layout +theme.layout_tile = themes_path .. "zenburn/layouts/tile.png" +theme.layout_tileleft = themes_path .. "zenburn/layouts/tileleft.png" +theme.layout_tilebottom = themes_path .. "zenburn/layouts/tilebottom.png" +theme.layout_tiletop = themes_path .. "zenburn/layouts/tiletop.png" +theme.layout_fairv = themes_path .. "zenburn/layouts/fairv.png" +theme.layout_fairh = themes_path .. "zenburn/layouts/fairh.png" +theme.layout_spiral = themes_path .. "zenburn/layouts/spiral.png" +theme.layout_dwindle = themes_path .. "zenburn/layouts/dwindle.png" +theme.layout_max = themes_path .. "zenburn/layouts/max.png" +theme.layout_fullscreen = themes_path .. "zenburn/layouts/fullscreen.png" +theme.layout_magnifier = themes_path .. "zenburn/layouts/magnifier.png" +theme.layout_floating = themes_path .. "zenburn/layouts/floating.png" +theme.layout_cornernw = themes_path .. "zenburn/layouts/cornernw.png" +theme.layout_cornerne = themes_path .. "zenburn/layouts/cornerne.png" +theme.layout_cornersw = themes_path .. "zenburn/layouts/cornersw.png" +theme.layout_cornerse = themes_path .. "zenburn/layouts/cornerse.png" +-- }}} + + + +-- {{{ Titlebar +theme.titlebar_close_button_focus = themes_path .. "zenburn/titlebar/close_focus.png" +theme.titlebar_close_button_normal = themes_path .. "zenburn/titlebar/close_normal.png" + +theme.titlebar_minimize_button_normal = themes_path .. "default/titlebar/minimize_normal.png" +theme.titlebar_minimize_button_focus = themes_path .. "default/titlebar/minimize_focus.png" + +theme.titlebar_ontop_button_focus_active = themes_path .. "zenburn/titlebar/ontop_focus_active.png" +theme.titlebar_ontop_button_normal_active = themes_path .. "zenburn/titlebar/ontop_normal_active.png" +theme.titlebar_ontop_button_focus_inactive = themes_path .. "zenburn/titlebar/ontop_focus_inactive.png" +theme.titlebar_ontop_button_normal_inactive = themes_path .. "zenburn/titlebar/ontop_normal_inactive.png" + +theme.titlebar_sticky_button_focus_active = themes_path .. "zenburn/titlebar/sticky_focus_active.png" +theme.titlebar_sticky_button_normal_active = themes_path .. "zenburn/titlebar/sticky_normal_active.png" +theme.titlebar_sticky_button_focus_inactive = themes_path .. "zenburn/titlebar/sticky_focus_inactive.png" +theme.titlebar_sticky_button_normal_inactive = themes_path .. "zenburn/titlebar/sticky_normal_inactive.png" + +theme.titlebar_floating_button_focus_active = themes_path .. "zenburn/titlebar/floating_focus_active.png" +theme.titlebar_floating_button_normal_active = themes_path .. "zenburn/titlebar/floating_normal_active.png" +theme.titlebar_floating_button_focus_inactive = themes_path .. "zenburn/titlebar/floating_focus_inactive.png" +theme.titlebar_floating_button_normal_inactive = themes_path .. "zenburn/titlebar/floating_normal_inactive.png" + +theme.titlebar_maximized_button_focus_active = themes_path .. "zenburn/titlebar/maximized_focus_active.png" +theme.titlebar_maximized_button_normal_active = themes_path .. "zenburn/titlebar/maximized_normal_active.png" +theme.titlebar_maximized_button_focus_inactive = themes_path .. "zenburn/titlebar/maximized_focus_inactive.png" +theme.titlebar_maximized_button_normal_inactive = themes_path .. "zenburn/titlebar/maximized_normal_inactive.png" +-- }}} +-- }}} + + + +return theme + +-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80 diff --git a/home/awesome/.config/awesome/themes/gruvbox/titlebar/close_focus.png b/home/awesome/.config/awesome/themes/gruvbox/titlebar/close_focus.png new file mode 100644 index 0000000000000000000000000000000000000000..cccbadca86a741df40c4f6b6f05b2347df68efa3 GIT binary patch literal 187 zcmeAS@N?(olHy`uVBq!ia0vp^!XV7V3?%vO?!^NsmUKs7M+SzC{oH>NS%G}c0*}aI z1_o}RLT+J3hFNnYfP(BLp1!W^x4F1Qgv?t1nu84F3GfMV1=3oY#%Cr^{{R0!le3T? zkk3>SY3CI!mba4#fh)zyWU@LG{^tiT^Lnv}i1Ovl5 X5vHdnF9~l4Dq-++^>bP0l+XkKiF7LL literal 0 HcmV?d00001 diff --git a/home/awesome/.config/awesome/themes/gruvbox/titlebar/close_normal.png b/home/awesome/.config/awesome/themes/gruvbox/titlebar/close_normal.png new file mode 100644 index 0000000000000000000000000000000000000000..6e6b6457bdca73ab3a63c9d0fd8c5e4b9f95cf92 GIT binary patch literal 116 zcmeAS@N?(olHy`uVBq!ia0vp^!XV7V3?%vO?!^Ns&H$efS0K&6z?i3~xHBQw2*_kE z3GxeOU`UHw&afHC758*;4B@z*oS?u~;Hv0xZ7GLPNS%G}c0*}aI z1_o}RLT+J3hFNnYfP(BLp1!W^x4F1QgjjsF(z<{`JOMr-u0UE#)A+;v_5c6>4`Wq7 z3FI@C1o;IsFqBO`YXRgjCV9KNFbnedd;)UBJzX3_IHHpi6xcTCxlV`)F@vV|0kzPaT^_cxAsXkC6C^e!#NFCs;uEOG n<#WhnqRizLueSvrIKaRl@`pqH=1XHfpkfA3S3j3^P6NS%G}c0*}aI z1_o}RLT+J3hFNnYfP(BLp1!W^x4F1Qge3KJxPpN~`~f~8u0UE#)A+;v^+5Fh|9^um zZ9owQ=8_;kkdj|zNA3YB#w2fd7nc5vn}I-%jHioZ2uE~s!U8sfFr#CKLWDvN9dik4 dNC@I(V9?ZKT6r?UQUs`u!PC{xWt~$(699EfF+TtR literal 0 HcmV?d00001 diff --git a/home/awesome/.config/awesome/themes/gruvbox/titlebar/maximized_focus_inactive.png b/home/awesome/.config/awesome/themes/gruvbox/titlebar/maximized_focus_inactive.png new file mode 100644 index 0000000000000000000000000000000000000000..298751ce6ca47432aecc3cdddd5a5666faa18a9e GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^!XV7S0wixl{&NRXrk*a2AsXkC6C^Yn1ZNiiw-0$@ z&)lrk#Uos}Y~zC2Z_ge$uwklTtmMRH3wQAzQ@EbHn1Pppf$KFJ|EHfTKLQP4@O1Ta JS?83{1ORRsBYpq? literal 0 HcmV?d00001 diff --git a/home/awesome/.config/awesome/themes/gruvbox/titlebar/maximized_normal_active.png b/home/awesome/.config/awesome/themes/gruvbox/titlebar/maximized_normal_active.png new file mode 100644 index 0000000000000000000000000000000000000000..1dca071cafba81c1b4ae5454d0f65b744e8ce5b4 GIT binary patch literal 121 zcmeAS@N?(olHy`uVBq!ia0vp^!XV7V3?%vO?!^Nso&cW^S0H_QmK_5FBal>kxAzo~ z&r%ZP7YwA+#GMv>2htLrE{-7_*OLNS%G}EByV>Y zhW{YAVDIwDKoQOYkH}&M25z8MZed1-S#u-yi))Rw20tYWsw e?VyGN1A~qdkYG&|s^>bP0l+XkK DaH$<1 literal 0 HcmV?d00001 diff --git a/home/awesome/.config/awesome/themes/gruvbox/titlebar/ontop_normal_active.png b/home/awesome/.config/awesome/themes/gruvbox/titlebar/ontop_normal_active.png new file mode 100644 index 0000000000000000000000000000000000000000..8d9cb5b470caf1380b0b49b86034ebdf7c167c60 GIT binary patch literal 118 zcmeAS@N?(olHy`uVBq!ia0vp^!XV7V3?%vO?!^Ns&H$efS0H_QmK_i+vEIlB^6 z`2{mDq{S^~*bL-Kdb&7NS%G}c0*}aI z1_o}RLT+J3hFNnYfP(BLp1!W^x4F1Qg!HCOTpt4z;tB8xaRt&^n#LdQumAu5e;BL! zNg$u8B*-tAfuU^jSqmVKG0EHAg;|it=M#`4?&;zf!V#UEpukq(s_1bofTdH%Plth_ XV+xaNk&S{fPzi<Dnm{r-UW|=`<=r literal 0 HcmV?d00001 diff --git a/home/awesome/.config/awesome/themes/gruvbox/titlebar/sticky_focus_inactive.png b/home/awesome/.config/awesome/themes/gruvbox/titlebar/sticky_focus_inactive.png new file mode 100644 index 0000000000000000000000000000000000000000..1a0c481d699cc59e367afcaa4035501fcd0288ce GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^!XV7S0wixl{&NRXdY&$hAsXkC6C@@+`1k+!|E&^R zB;Nhs|6e||t8Vxnb~$D8aYGu&dg_cEC{OLTyGd(c>~hz>FVdQ I&MBb@047cwG5`Po literal 0 HcmV?d00001 diff --git a/home/awesome/.config/awesome/themes/gruvbox/titlebar/sticky_normal_inactive.png b/home/awesome/.config/awesome/themes/gruvbox/titlebar/sticky_normal_inactive.png new file mode 100644 index 0000000000000000000000000000000000000000..ea09406145738e6ea24f45699b93c4715b260d71 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^!XV7S0wixl{&NRXvYsxEAsXkC6C@@k#NFCsk|M=8 igY8yk^Q~NGpjyEX9IETD8ovT6WbkzLb6Mw<&;$TJv=;FI literal 0 HcmV?d00001 diff --git a/home/awesome/.config/awesome/themes/gruvbox/zenburn-background.png b/home/awesome/.config/awesome/themes/gruvbox/zenburn-background.png new file mode 100755 index 0000000000000000000000000000000000000000..b2c14d92925f117569e5d1dc95f327578bda8821 GIT binary patch literal 1484 zcmeAS@N?(olHy`uVBq!ia0y~yV4J|ez#_%O3>2~adHE=iVk{1FcVbv~PUa<$!&%@F zSqxMx1j3A48_Y|9g6t)pzOL*yIb_Am#S>=U{0dSR;1l91r!2o_@8k~;)@HB&x(H-a zlDE4H<9{aIdkhS$Hl8kyAr-gY-r2}|$Uww3P`I-#(1_K!rPij)dy1x}QoGWoCn6lT zEthv`+|R8`6l4M#KsJau^ENa|dZK`*ii?v9h?)qdIYE?*5ReiA$^dDQ0w5DiKQe(T zx<1#VLuHbOlHw$fjus##q|^zdI#s}Q2Z#d7f@qL}BZikY{Vx)S7`I~2yLn*6n0i2J zkqrf!4>DB|7_d-Kk``sIS>Iw=uYlDekm5-m+XS)t0mG9(AHo$PdlFe;=P3{CiB=t7 z*0#cZgX}_xw{NyDLg|&a~ygPxCBq3Q4Jr0qKH4z-JGz)jP!7l!FQF>;p);^mB67zKR Kb6Mw<&;$ShN1QDH literal 0 HcmV?d00001 diff --git a/home/awesome/.config/awesome/themes/gruvbox_/awesome-icon.png b/home/awesome/.config/awesome/themes/gruvbox_/awesome-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..70978d3a9ab338be0eea2a024641cdaa8709c6be GIT binary patch literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;V{wqX6T`Z5GB1G~wg8_H*X3p^r=fd*d(VMZs7*%d%R_7YED zSN5A6vSR!a&v#bL2MURMx;Tb#Tu=V-e?Ft6;fcis^$a_|PZVTWUoKPaxOk%oPzi&l LtDnm{r-UW|Qr9nc literal 0 HcmV?d00001 diff --git a/home/awesome/.config/awesome/themes/gruvbox_/layouts/cornerne.png b/home/awesome/.config/awesome/themes/gruvbox_/layouts/cornerne.png new file mode 100644 index 0000000000000000000000000000000000000000..d541a43eaa8ae227e956a2d7fcb0f3011af684be GIT binary patch literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0L3?#3!&-4XSoCO|{#X$M%Ak65bF}ngN$X?>< z>&kwgRaQXBa^b#A1CY7^pAc6dedo@Z|Ns9_+kYVe$YCrA@(X5gcy=QV#7XjYcVSB7 zu1NuM3_V>OLo7}wCn(4ow6(Q08HiZ)a4q0Gz|_gocu_%Sg~3seTP>^y(pWkcNm}u+ bc(60fJ@Hkv=U%WHP&0$4tDnm{r-UW||Jybj literal 0 HcmV?d00001 diff --git a/home/awesome/.config/awesome/themes/gruvbox_/layouts/cornernw.png b/home/awesome/.config/awesome/themes/gruvbox_/layouts/cornernw.png new file mode 100644 index 0000000000000000000000000000000000000000..78fa394b9e57ba24266ef844f5831df227fc232f GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0L3?#3!&-4XSoCO|{#X$M%Ak65bF}ngN$X?>< z>&kwgRaQWmi@nq`9i%S6C&U#<-??+<|NsBf_FqT?M5R22v2@0|XZHF3}Ir_OC2p-@tJjArv(PO=VE1L^f!�*SL2cy9258$ YPHbZg`LW&L3{WS7r>mdKI;Vst0L>mV-v9sr literal 0 HcmV?d00001 diff --git a/home/awesome/.config/awesome/themes/gruvbox_/layouts/cornerse.png b/home/awesome/.config/awesome/themes/gruvbox_/layouts/cornerse.png new file mode 100644 index 0000000000000000000000000000000000000000..19b85c3e1aaf83dc717cec1413f0980679dba73b GIT binary patch literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0L3?#3!&-4XSoCO|{#X$M%Ak65bF}ngN$X?>< z>&kwgRaQV*;m)}a8$s#5K$%p_yLny|`4Kq2P^hqwf9 f@U0fjOa_L>re8((K6RJ|G=Ra=)z4*}Q$iB}5o< z>&kwgRaQV*Ot>Uf1Eem%C&U#<-??+<|NsBf_FqT@jRF%}28J29*~C-V}>VGHmHaoxV* z@SQtn-bPC+fuu`<{DK)Ap4~_Tagw~FdgVlS5WS$5h_C{V7mL%hSa%MB{vN!U5hV|Ns9F2I79fV-3G$`4|85|J%=)a3J@1 e%7rUscNiF2R>v5*|DOSJ34^DrpUXO@geCy*Q9Zr@ literal 0 HcmV?d00001 diff --git a/home/awesome/.config/awesome/themes/gruvbox_/layouts/fairh.png b/home/awesome/.config/awesome/themes/gruvbox_/layouts/fairh.png new file mode 100644 index 0000000000000000000000000000000000000000..e176bb36345cd5932a19db8ec67c01d26f98c8d3 GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0P3?wHke>@jRF%}28J29*~C-V}>VGHmHaoxV* z^PM|qWD6cQgQQD>{DK)Ap4~_Tagw~FdgVlS5XNNoiVaq9ssB)zif>MB{vN!U5hV|Lgz!-~a!Ae<0gNo;{5}|NH-~-|%SR c@dLaJ%L6lQ?oFxg25MmNboFyt=akR{0OxZ%egFUf literal 0 HcmV?d00001 diff --git a/home/awesome/.config/awesome/themes/gruvbox_/layouts/fairv.png b/home/awesome/.config/awesome/themes/gruvbox_/layouts/fairv.png new file mode 100644 index 0000000000000000000000000000000000000000..7c0a92c516623a0717403c0342eb64d30710d367 GIT binary patch literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0P3?wHke>@jRF%}28J29*~C-V}>VGHmHaoui_ zaOch$W8tt_AnB4IzhDN3XE)M7oFs2|7lsa2Sq~tGv%n*=n1O*?7=#%aX3dcR3bL1Y z`ns~;pmbi_8fn@Xjk0Ja8 bYZw@!O3Hq1QJvWj)WYED>gTe~DWM4fu*@{c literal 0 HcmV?d00001 diff --git a/home/awesome/.config/awesome/themes/gruvbox_/layouts/floating.png b/home/awesome/.config/awesome/themes/gruvbox_/layouts/floating.png new file mode 100644 index 0000000000000000000000000000000000000000..a39909245bd1ac2243982ffa2b0312827f893ddb GIT binary patch literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0P3?wHke>@jRF%}28J29*~C-V}>VGHmHaoxUQ z@|`K++{ae!&b5&u*lFI7!~_E({&4vK~MVXMsm#F#`j)FbFd;%$g$s6l5>) z^mS#w$ssE$CQ@1$G;{y} literal 0 HcmV?d00001 diff --git a/home/awesome/.config/awesome/themes/gruvbox_/layouts/fullscreen.png b/home/awesome/.config/awesome/themes/gruvbox_/layouts/fullscreen.png new file mode 100644 index 0000000000000000000000000000000000000000..a0c795c5eecfc21de62537d2bdfa123e5bbe6c70 GIT binary patch literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0P3?wHke>@jRF%}28J29*~C-V}>VGHmHaoxV* z@SQtn-bPC+fuu`<{DK)Ap4~_Tagw~FdgVlS5XVMefa;yfC1UuBVG*h{pNkgaf=!{x=`w50aFZkoZw(V0Y*WkJ&Ny3FRA& k+1Ae1Oqn3Cd@jRF%}28J29*~C-V}>VGHmHaov7{ z{mz{;d(GnhgQQD>{DK)Ap4~_Tagw~FdgVlS5XNjWez{wiYO)>gnPbqH#Vs;Q;TG|IG*ar3~sC&K^I@jRF%}28J29*~C-V}>VGHmHaoxUw z`Ocj)v&FuufTT-;{DK)Ap4~_Tagw~FdgVlS5Wih4n*cco|Tr)YHW=L}OyIP|txxDSnPcADmEOKY6=r_`M-RNwjpx~zRqhr%1!3rbA zB)4BZn@jRF%}28J29*~C-V}>VGHmHaot`K zedo>@pHqd!AnB4IzhDN3XE)M7oFs2|7lsa2Sq~tGv%n(~sDfJX&22WQ%mvv4FO#o8EH@pA< literal 0 HcmV?d00001 diff --git a/home/awesome/.config/awesome/themes/gruvbox_/layouts/tile.png b/home/awesome/.config/awesome/themes/gruvbox_/layouts/tile.png new file mode 100644 index 0000000000000000000000000000000000000000..3fcc904db6c3a0013be72c2da405b8a533cf55c6 GIT binary patch literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0P3?wHke>@jRF%}28J29*~C-V}>VGHmHaowKr z?arMuleN_~LDD5be!&b5&u*lFI7!~_E({&4vK~MVXMsm#F#`j)FbFd;%$g$s6l5>) z^mS#w$ssFZ%+RvPHv%Z6?CIhdqH#Vs;Q;TG|Ns971989O$%fqmlMOTO+N8+#OEWOA X)~DCGakJP1l{0v{`njxgN@xNAfJ`)p literal 0 HcmV?d00001 diff --git a/home/awesome/.config/awesome/themes/gruvbox_/layouts/tilebottom.png b/home/awesome/.config/awesome/themes/gruvbox_/layouts/tilebottom.png new file mode 100644 index 0000000000000000000000000000000000000000..dfe783228f50886eff0fb332c904541727419cd9 GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0P3?wHke>@jRF%}28J29*~C-V}>VGHmHaoxV7 z`p%s*tZ&Vxfuu`<{DK)Ap4~_Tagw~FdgVlS5X-L_0lR={`_M!PCVtMB{vN!U5hV|Ch3=A52 WW$z2bXMY8%W$<+Mb6Mw<&;$VH8#A^5 literal 0 HcmV?d00001 diff --git a/home/awesome/.config/awesome/themes/gruvbox_/layouts/tileleft.png b/home/awesome/.config/awesome/themes/gruvbox_/layouts/tileleft.png new file mode 100644 index 0000000000000000000000000000000000000000..c5decfd598313bbb31f396704e5a194ba5622834 GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0P3?wHke>@jRF%}28J29*~C-V}>VGHmHaoygr z`Ocj);-(%yLDD5be!&b5&u*lFI7!~_E({&4vK~MVXMsm#F#`j)FbFd;%$g$s6l5>) z^mS#w$ssFZY_O=h_6tx*$4J&v!RDZZ_^!@v;q WH@a`>(dN5A)eN4lelF{r5}E+$PdQEi literal 0 HcmV?d00001 diff --git a/home/awesome/.config/awesome/themes/gruvbox_/layouts/tiletop.png b/home/awesome/.config/awesome/themes/gruvbox_/layouts/tiletop.png new file mode 100644 index 0000000000000000000000000000000000000000..b2516612e2c7ad8d1e84f578c1216d21e855b44c GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0P3?wHke>@jRF%}28J29*~C-V}>VGHmHaot{E zeCN)YCXJ_YAnB4IzhDN3XE)M7oFs2|7lsa2Sq~tGv%n*=n1O*?7=#%aX3dcR3bL1Y z`ns~;FWt W%ibU7zH21s-{g?zlvlA&x9SH9@p-y9hHzX@{&9ezv4WAIei`$@dp5^GwlR3R`njxgN@xNA DFNrJj literal 0 HcmV?d00001 diff --git a/home/awesome/.config/awesome/themes/gruvbox_/taglist/squarez.png b/home/awesome/.config/awesome/themes/gruvbox_/taglist/squarez.png new file mode 100644 index 0000000000000000000000000000000000000000..9b41c26ea753665cfd295ef36083dd55e6f4ae71 GIT binary patch literal 171 zcmeAS@N?(olHy`uVBq!ia0vp^EI=&G$P6TV-`L3kDaPU;cPEB*=VV?2IcxzwA+Fmu zT)uPX%w8v-y&&n5AirP+hi5m^K%69RcNc~ZR#^`qhqJ&VvY3H^?+6GpPSxg<1`4v5 zc>21s-{g?zRA4@|dFc(Hkf5iFV+hCf9bP0 Hl+XkKo;)j; literal 0 HcmV?d00001 diff --git a/home/awesome/.config/awesome/themes/gruvbox_/theme.lua b/home/awesome/.config/awesome/themes/gruvbox_/theme.lua new file mode 100644 index 0000000..2b6fa08 --- /dev/null +++ b/home/awesome/.config/awesome/themes/gruvbox_/theme.lua @@ -0,0 +1,136 @@ +------------------------------- +-- "Zenburn" awesome theme -- +-- By Adrian C. (anrxc) -- +------------------------------- + +local themes_path = require("gears.filesystem").get_themes_dir() +local dpi = require("beautiful.xresources").apply_dpi + +-- {{{ Main +local theme = {} +theme.wallpaper = themes_path .. "zenburn/zenburn-background.png" +-- }}} + +-- {{{ Styles +theme.font = "sans 8" + +-- {{{ Colors +theme.fg_normal = "#DCDCCC" +theme.fg_focus = "#F0DFAF" +theme.fg_urgent = "#CC9393" +theme.bg_normal = "#3F3F3F" +theme.bg_focus = "#1E2320" +theme.bg_urgent = "#3F3F3F" +theme.bg_systray = theme.bg_normal +-- }}} + +-- {{{ Borders +theme.useless_gap = dpi(0) +theme.border_width = dpi(2) +theme.border_normal = "#3F3F3F" +theme.border_focus = "#6F6F6F" +theme.border_marked = "#CC9393" +-- }}} + +-- {{{ Titlebars +theme.titlebar_bg_focus = "#3F3F3F" +theme.titlebar_bg_normal = "#3F3F3F" +-- }}} + +-- There are other variable sets +-- overriding the default one when +-- defined, the sets are: +-- [taglist|tasklist]_[bg|fg]_[focus|urgent|occupied|empty|volatile] +-- titlebar_[normal|focus] +-- tooltip_[font|opacity|fg_color|bg_color|border_width|border_color] +-- Example: +--theme.taglist_bg_focus = "#CC9393" +-- }}} + +-- {{{ Widgets +-- You can add as many variables as +-- you wish and access them by using +-- beautiful.variable in your rc.lua +--theme.fg_widget = "#AECF96" +--theme.fg_center_widget = "#88A175" +--theme.fg_end_widget = "#FF5656" +--theme.bg_widget = "#494B4F" +--theme.border_widget = "#3F3F3F" +-- }}} + +-- {{{ Mouse finder +theme.mouse_finder_color = "#CC9393" +-- mouse_finder_[timeout|animate_timeout|radius|factor] +-- }}} + +-- {{{ Menu +-- Variables set for theming the menu: +-- menu_[bg|fg]_[normal|focus] +-- menu_[border_color|border_width] +theme.menu_height = dpi(15) +theme.menu_width = dpi(100) +-- }}} + +-- {{{ Icons +-- {{{ Taglist +theme.taglist_squares_sel = themes_path .. "zenburn/taglist/squarefz.png" +theme.taglist_squares_unsel = themes_path .. "zenburn/taglist/squarez.png" +--theme.taglist_squares_resize = "false" +-- }}} + +-- {{{ Misc +theme.awesome_icon = themes_path .. "zenburn/awesome-icon.png" +theme.menu_submenu_icon = themes_path .. "default/submenu.png" +-- }}} + +-- {{{ Layout +theme.layout_tile = themes_path .. "zenburn/layouts/tile.png" +theme.layout_tileleft = themes_path .. "zenburn/layouts/tileleft.png" +theme.layout_tilebottom = themes_path .. "zenburn/layouts/tilebottom.png" +theme.layout_tiletop = themes_path .. "zenburn/layouts/tiletop.png" +theme.layout_fairv = themes_path .. "zenburn/layouts/fairv.png" +theme.layout_fairh = themes_path .. "zenburn/layouts/fairh.png" +theme.layout_spiral = themes_path .. "zenburn/layouts/spiral.png" +theme.layout_dwindle = themes_path .. "zenburn/layouts/dwindle.png" +theme.layout_max = themes_path .. "zenburn/layouts/max.png" +theme.layout_fullscreen = themes_path .. "zenburn/layouts/fullscreen.png" +theme.layout_magnifier = themes_path .. "zenburn/layouts/magnifier.png" +theme.layout_floating = themes_path .. "zenburn/layouts/floating.png" +theme.layout_cornernw = themes_path .. "zenburn/layouts/cornernw.png" +theme.layout_cornerne = themes_path .. "zenburn/layouts/cornerne.png" +theme.layout_cornersw = themes_path .. "zenburn/layouts/cornersw.png" +theme.layout_cornerse = themes_path .. "zenburn/layouts/cornerse.png" +-- }}} + +-- {{{ Titlebar +theme.titlebar_close_button_focus = themes_path .. "zenburn/titlebar/close_focus.png" +theme.titlebar_close_button_normal = themes_path .. "zenburn/titlebar/close_normal.png" + +theme.titlebar_minimize_button_normal = themes_path .. "default/titlebar/minimize_normal.png" +theme.titlebar_minimize_button_focus = themes_path .. "default/titlebar/minimize_focus.png" + +theme.titlebar_ontop_button_focus_active = themes_path .. "zenburn/titlebar/ontop_focus_active.png" +theme.titlebar_ontop_button_normal_active = themes_path .. "zenburn/titlebar/ontop_normal_active.png" +theme.titlebar_ontop_button_focus_inactive = themes_path .. "zenburn/titlebar/ontop_focus_inactive.png" +theme.titlebar_ontop_button_normal_inactive = themes_path .. "zenburn/titlebar/ontop_normal_inactive.png" + +theme.titlebar_sticky_button_focus_active = themes_path .. "zenburn/titlebar/sticky_focus_active.png" +theme.titlebar_sticky_button_normal_active = themes_path .. "zenburn/titlebar/sticky_normal_active.png" +theme.titlebar_sticky_button_focus_inactive = themes_path .. "zenburn/titlebar/sticky_focus_inactive.png" +theme.titlebar_sticky_button_normal_inactive = themes_path .. "zenburn/titlebar/sticky_normal_inactive.png" + +theme.titlebar_floating_button_focus_active = themes_path .. "zenburn/titlebar/floating_focus_active.png" +theme.titlebar_floating_button_normal_active = themes_path .. "zenburn/titlebar/floating_normal_active.png" +theme.titlebar_floating_button_focus_inactive = themes_path .. "zenburn/titlebar/floating_focus_inactive.png" +theme.titlebar_floating_button_normal_inactive = themes_path .. "zenburn/titlebar/floating_normal_inactive.png" + +theme.titlebar_maximized_button_focus_active = themes_path .. "zenburn/titlebar/maximized_focus_active.png" +theme.titlebar_maximized_button_normal_active = themes_path .. "zenburn/titlebar/maximized_normal_active.png" +theme.titlebar_maximized_button_focus_inactive = themes_path .. "zenburn/titlebar/maximized_focus_inactive.png" +theme.titlebar_maximized_button_normal_inactive = themes_path .. "zenburn/titlebar/maximized_normal_inactive.png" +-- }}} +-- }}} + +return theme + +-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80 diff --git a/home/awesome/.config/awesome/themes/gruvbox_/titlebar/close_focus.png b/home/awesome/.config/awesome/themes/gruvbox_/titlebar/close_focus.png new file mode 100644 index 0000000000000000000000000000000000000000..cccbadca86a741df40c4f6b6f05b2347df68efa3 GIT binary patch literal 187 zcmeAS@N?(olHy`uVBq!ia0vp^!XV7V3?%vO?!^NsmUKs7M+SzC{oH>NS%G}c0*}aI z1_o}RLT+J3hFNnYfP(BLp1!W^x4F1Qgv?t1nu84F3GfMV1=3oY#%Cr^{{R0!le3T? zkk3>SY3CI!mba4#fh)zyWU@LG{^tiT^Lnv}i1Ovl5 X5vHdnF9~l4Dq-++^>bP0l+XkKiF7LL literal 0 HcmV?d00001 diff --git a/home/awesome/.config/awesome/themes/gruvbox_/titlebar/close_normal.png b/home/awesome/.config/awesome/themes/gruvbox_/titlebar/close_normal.png new file mode 100644 index 0000000000000000000000000000000000000000..6e6b6457bdca73ab3a63c9d0fd8c5e4b9f95cf92 GIT binary patch literal 116 zcmeAS@N?(olHy`uVBq!ia0vp^!XV7V3?%vO?!^Ns&H$efS0K&6z?i3~xHBQw2*_kE z3GxeOU`UHw&afHC758*;4B@z*oS?u~;Hv0xZ7GLPNS%G}c0*}aI z1_o}RLT+J3hFNnYfP(BLp1!W^x4F1QgjjsF(z<{`JOMr-u0UE#)A+;v_5c6>4`Wq7 z3FI@C1o;IsFqBO`YXRgjCV9KNFbnedd;)UBJzX3_IHHpi6xcTCxlV`)F@vV|0kzPaT^_cxAsXkC6C^e!#NFCs;uEOG n<#WhnqRizLueSvrIKaRl@`pqH=1XHfpkfA3S3j3^P6NS%G}c0*}aI z1_o}RLT+J3hFNnYfP(BLp1!W^x4F1Qge3KJxPpN~`~f~8u0UE#)A+;v^+5Fh|9^um zZ9owQ=8_;kkdj|zNA3YB#w2fd7nc5vn}I-%jHioZ2uE~s!U8sfFr#CKLWDvN9dik4 dNC@I(V9?ZKT6r?UQUs`u!PC{xWt~$(699EfF+TtR literal 0 HcmV?d00001 diff --git a/home/awesome/.config/awesome/themes/gruvbox_/titlebar/maximized_focus_inactive.png b/home/awesome/.config/awesome/themes/gruvbox_/titlebar/maximized_focus_inactive.png new file mode 100644 index 0000000000000000000000000000000000000000..298751ce6ca47432aecc3cdddd5a5666faa18a9e GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^!XV7S0wixl{&NRXrk*a2AsXkC6C^Yn1ZNiiw-0$@ z&)lrk#Uos}Y~zC2Z_ge$uwklTtmMRH3wQAzQ@EbHn1Pppf$KFJ|EHfTKLQP4@O1Ta JS?83{1ORRsBYpq? literal 0 HcmV?d00001 diff --git a/home/awesome/.config/awesome/themes/gruvbox_/titlebar/maximized_normal_active.png b/home/awesome/.config/awesome/themes/gruvbox_/titlebar/maximized_normal_active.png new file mode 100644 index 0000000000000000000000000000000000000000..1dca071cafba81c1b4ae5454d0f65b744e8ce5b4 GIT binary patch literal 121 zcmeAS@N?(olHy`uVBq!ia0vp^!XV7V3?%vO?!^Nso&cW^S0H_QmK_5FBal>kxAzo~ z&r%ZP7YwA+#GMv>2htLrE{-7_*OLNS%G}EByV>Y zhW{YAVDIwDKoQOYkH}&M25z8MZed1-S#u-yi))Rw20tYWsw e?VyGN1A~qdkYG&|s^>bP0l+XkK DaH$<1 literal 0 HcmV?d00001 diff --git a/home/awesome/.config/awesome/themes/gruvbox_/titlebar/ontop_normal_active.png b/home/awesome/.config/awesome/themes/gruvbox_/titlebar/ontop_normal_active.png new file mode 100644 index 0000000000000000000000000000000000000000..8d9cb5b470caf1380b0b49b86034ebdf7c167c60 GIT binary patch literal 118 zcmeAS@N?(olHy`uVBq!ia0vp^!XV7V3?%vO?!^Ns&H$efS0H_QmK_i+vEIlB^6 z`2{mDq{S^~*bL-Kdb&7NS%G}c0*}aI z1_o}RLT+J3hFNnYfP(BLp1!W^x4F1Qg!HCOTpt4z;tB8xaRt&^n#LdQumAu5e;BL! zNg$u8B*-tAfuU^jSqmVKG0EHAg;|it=M#`4?&;zf!V#UEpukq(s_1bofTdH%Plth_ XV+xaNk&S{fPzi<Dnm{r-UW|=`<=r literal 0 HcmV?d00001 diff --git a/home/awesome/.config/awesome/themes/gruvbox_/titlebar/sticky_focus_inactive.png b/home/awesome/.config/awesome/themes/gruvbox_/titlebar/sticky_focus_inactive.png new file mode 100644 index 0000000000000000000000000000000000000000..1a0c481d699cc59e367afcaa4035501fcd0288ce GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^!XV7S0wixl{&NRXdY&$hAsXkC6C@@+`1k+!|E&^R zB;Nhs|6e||t8Vxnb~$D8aYGu&dg_cEC{OLTyGd(c>~hz>FVdQ I&MBb@047cwG5`Po literal 0 HcmV?d00001 diff --git a/home/awesome/.config/awesome/themes/gruvbox_/titlebar/sticky_normal_inactive.png b/home/awesome/.config/awesome/themes/gruvbox_/titlebar/sticky_normal_inactive.png new file mode 100644 index 0000000000000000000000000000000000000000..ea09406145738e6ea24f45699b93c4715b260d71 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^!XV7S0wixl{&NRXvYsxEAsXkC6C@@k#NFCsk|M=8 igY8yk^Q~NGpjyEX9IETD8ovT6WbkzLb6Mw<&;$TJv=;FI literal 0 HcmV?d00001 diff --git a/home/awesome/.config/awesome/themes/gruvbox_/zenburn-background.png b/home/awesome/.config/awesome/themes/gruvbox_/zenburn-background.png new file mode 100644 index 0000000000000000000000000000000000000000..b2c14d92925f117569e5d1dc95f327578bda8821 GIT binary patch literal 1484 zcmeAS@N?(olHy`uVBq!ia0y~yV4J|ez#_%O3>2~adHE=iVk{1FcVbv~PUa<$!&%@F zSqxMx1j3A48_Y|9g6t)pzOL*yIb_Am#S>=U{0dSR;1l91r!2o_@8k~;)@HB&x(H-a zlDE4H<9{aIdkhS$Hl8kyAr-gY-r2}|$Uww3P`I-#(1_K!rPij)dy1x}QoGWoCn6lT zEthv`+|R8`6l4M#KsJau^ENa|dZK`*ii?v9h?)qdIYE?*5ReiA$^dDQ0w5DiKQe(T zx<1#VLuHbOlHw$fjus##q|^zdI#s}Q2Z#d7f@qL}BZikY{Vx)S7`I~2yLn*6n0i2J zkqrf!4>DB|7_d-Kk``sIS>Iw=uYlDekm5-m+XS)t0mG9(AHo$PdlFe;=P3{CiB=t7 z*0#cZgX}_xw{NyDLg|&a~ygPxCBq3Q4Jr0qKH4z-JGz)jP!7l!FQF>;p);^mB67zKR Kb6Mw<&;$ShN1QDH literal 0 HcmV?d00001