diff --git a/awesome/.config/awesome/configuration/README.org b/awesome/.config/awesome/configuration/README.org new file mode 100644 index 0000000..1076dc4 --- /dev/null +++ b/awesome/.config/awesome/configuration/README.org @@ -0,0 +1,4 @@ +* The AwesomeWM Main Configuration + +Here are all the main configuration files for primarily AwesomeWM. +In config.lua you can edit common variables easily. diff --git a/awesome/.config/awesome/configuration/apps.lua b/awesome/.config/awesome/configuration/apps.lua new file mode 100644 index 0000000..219a238 --- /dev/null +++ b/awesome/.config/awesome/configuration/apps.lua @@ -0,0 +1,30 @@ +local dpi = require("beautiful.xresources").apply_dpi +local menubar = require("menubar") + +apps = { + + -- Your default terminal + terminal = "alacritty", + + -- Your default text editor + editor = os.getenv("EDITOR") or "vim", + + -- editor_cmd = terminal .. " -e " .. editor, + + -- Your default file explorer + explorer = "pcmanfm", + + -- Your default browser + browser = "firefox", + + -- Your default screenshot tool + screenshot = "flameshot gui", + +} + +apps.editor_cmd = apps.terminal .. " -e " .. apps.editor +apps.explorer_cmd = apps.terminal .. " -e " .. apps.explorer +menubar.utils.terminal = apps.terminal -- Set the terminal for applications that require it + + +return apps diff --git a/awesome/.config/awesome/configuration/autostart.lua b/awesome/.config/awesome/configuration/autostart.lua new file mode 100644 index 0000000..7a20bac --- /dev/null +++ b/awesome/.config/awesome/configuration/autostart.lua @@ -0,0 +1,24 @@ +local apps = require('configuration.apps') +local filesystem = require('gears.filesystem') + +-- List of apps to start once on start-up +return { + run_on_start_up = { + + -- 'picom --config ' .. filesystem.get_configuration_dir() .. 'configuration/picom.conf', + -- 'nm-applet --indicator', -- wifi + --'blueberry-tray', -- Bluetooth tray icon + --'xfce4-power-manager', -- Power manager + 'numlockx on', -- enable numlock + -- '/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1 & eval $(gnome-keyring-daemon -s --components=pkcs11,secrets,ssh,gpg)', -- credential manager (alternate directory if the first one is incorrect) + '/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 & eval $(gnome-keyring-daemon -s --components=pkcs11,secrets,ssh,gpg)', -- credential manager + --'/usr/lib/x86_64-linux-gnu/libexec/polkit-kde-authentication-agent-1 & eval $(gnome-keyring-daemon -s --components=pkcs11,secrets,ssh,gpg)', -- credential manager + -- '/usr/libexec/polkit-gnome-authentication-agent-1', -- credential manager - path for void linux + -- 'blueman-tray', -- bluetooth tray + + -- Add applications that need to be killed between reloads + -- to avoid multipled instances, inside the awspawn script + '~/.config/awesome/configuration/autostartonce.sh' -- Spawn "dirty" apps that can linger between sessions + + } +} diff --git a/awesome/.config/awesome/configuration/autostartonce.sh b/awesome/.config/awesome/configuration/autostartonce.sh new file mode 100755 index 0000000..151168c --- /dev/null +++ b/awesome/.config/awesome/configuration/autostartonce.sh @@ -0,0 +1,41 @@ +#!/bin/bash +## This configuration file is meant for applications that +# still run in the background when a reload is triggered +# for awesome, this script just kills the running instance +# and starts a new one. +# Only add applications/scripts without parameters here +# (if you want to apply parameters then use a script file!) + +# List of applications to run +# the script $HOME/.config/awesomestart +# is intended to be a copy of this file +# to allow out of tree autostart programs +APPS=( + # keepassxc + # kdeconnect-indicator + # radeon-profile + # $HOME/.config/awesomestart + udiskie +) + +# Some applications start child applications that need to be killed on reload +KILL=( + # synergyc + # nextcloud +) + +# First kill lingering apps +for app in "${APPS[@]}" +do + kill -9 $(pidof $app) +done +for app in "${KILL[@]}" +do + kill -9 $(pidof $app) +done + +# Start new instances +for app in "${APPS[@]}" +do + env $app ${@:2} & +done diff --git a/awesome/.config/awesome/configuration/client/buttons.lua b/awesome/.config/awesome/configuration/client/buttons.lua new file mode 100644 index 0000000..8ceb154 --- /dev/null +++ b/awesome/.config/awesome/configuration/client/buttons.lua @@ -0,0 +1,21 @@ +local awful = require('awful') +local gears = require('gears') + +local modkey = require('configuration.keys.mod').modKey + +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) +) + +return clientButtons + diff --git a/awesome/.config/awesome/configuration/client/init.lua b/awesome/.config/awesome/configuration/client/init.lua new file mode 100644 index 0000000..bbd5480 --- /dev/null +++ b/awesome/.config/awesome/configuration/client/init.lua @@ -0,0 +1 @@ +require('configuration.client.rules') diff --git a/awesome/.config/awesome/configuration/client/keys.lua b/awesome/.config/awesome/configuration/client/keys.lua new file mode 100644 index 0000000..fa0a800 --- /dev/null +++ b/awesome/.config/awesome/configuration/client/keys.lua @@ -0,0 +1,52 @@ +local awful = require('awful') +local gears = require('gears') + +require('awful.autofocus') +local modkey = require('configuration.keys.mod').modKey +local altkey = require('configuration.keys.mod').altKey + +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"}) +) + +return clientKeys diff --git a/awesome/.config/awesome/configuration/client/rules.lua b/awesome/.config/awesome/configuration/client/rules.lua new file mode 100644 index 0000000..308c459 --- /dev/null +++ b/awesome/.config/awesome/configuration/client/rules.lua @@ -0,0 +1,65 @@ +local awful = require('awful') +local gears = require('gears') +local client_keys = require('configuration.client.keys') +local client_buttons = require('configuration.client.buttons') +local title_bars = require('configuration.client.titlebars') +local beautiful = require("beautiful") + +-- {{{ 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 = true } + }, + + -- Set Firefox to always map on the tag named "2" on screen 1. + -- { rule = { class = "Firefox" }, + -- properties = { screen = 1, tag = "2" } }, +} +-- }}} + diff --git a/awesome/.config/awesome/configuration/client/titlebars.lua b/awesome/.config/awesome/configuration/client/titlebars.lua new file mode 100644 index 0000000..4fa336f --- /dev/null +++ b/awesome/.config/awesome/configuration/client/titlebars.lua @@ -0,0 +1,80 @@ + +local gears = require("gears") +local awful = require("awful") +local wibox = require("wibox") + +-- Double click titlebar timer, how long it takes for a 2 clicks to be considered a double click +function double_click_event_handler(double_click_event) + if double_click_timer then + double_click_timer:stop() + double_click_timer = nil + return true + end + + double_click_timer = gears.timer.start_new(0.20, function() + double_click_timer = nil + return false + end) +end + + +-- Add a titlebar if titlebars_enabled is set to true in the rules. +client.connect_signal("request::titlebars", function(c) + do return end + -- original buttons for the titlebar, if you'd rather not have to double click functionality + -- 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) + -- ) + + -- new buttons for the titlebar, this allows you to double click and toggle maximization of client + local buttons = awful.util.table.join( + buttons, + awful.button({ }, 1, function() + c:emit_signal("request::activate", "titlebar", {raise = true}) + -- WILL EXECUTE THIS ON DOUBLE CLICK + if double_click_event_handler() then + c.maximized = not c.maximized + c:raise() + else + awful.mouse.client.move(c) + end + 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) diff --git a/awesome/.config/awesome/configuration/config.lua b/awesome/.config/awesome/configuration/config.lua new file mode 100644 index 0000000..e320fcb --- /dev/null +++ b/awesome/.config/awesome/configuration/config.lua @@ -0,0 +1,29 @@ +local dpi = require("beautiful.xresources").apply_dpi +local awful = require('awful') + +-- vw/vh are used when you want certain elements to scale nicely/the same on all monitors/resolutions. +-- 1 vw unit = Relative to 1% of the width of the screen it is targetting +-- 1 vh unit = Relative to 1% of the height of the screen it is targetting +awful.screen.connect_for_each_screen(function(s) + + function vw(width) + vw = (s.geometry.width / 100) * width + return vw; + end + + function vh(height) + vw = (s.geometry.height / 100) * height + return vw; + end + +end) + +-- You can store common configuration variables here, or completely get rid of this file. +local configuration = { + + -- Width of the top panel + toppanel_height = dpi(20), + +} + +return configuration diff --git a/awesome/.config/awesome/configuration/init.lua b/awesome/.config/awesome/configuration/init.lua new file mode 100644 index 0000000..4376255 --- /dev/null +++ b/awesome/.config/awesome/configuration/init.lua @@ -0,0 +1,5 @@ +return { + keys = require("configuration.keys"), + apps = require("configuration.apps"), + configuration = require("configuration.config") +} diff --git a/awesome/.config/awesome/configuration/keys/global.lua b/awesome/.config/awesome/configuration/keys/global.lua new file mode 100644 index 0000000..dcda208 --- /dev/null +++ b/awesome/.config/awesome/configuration/keys/global.lua @@ -0,0 +1,218 @@ +local awful = require('awful') +local gears = require("gears") +local menubar = require("menubar") + +require('awful.autofocus') +local beautiful = require('beautiful') +local hotkeys_popup = require('awful.hotkeys_popup').widget + +local modkey = require('configuration.keys.mod').modKey +local altkey = require('configuration.keys.mod').altKey +local apps = require('configuration.apps') + +-- {{{ 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, "Shift" }, "Left", + function () + -- get current tag + local t = client.focus and client.focus.first_tag or nil + if t == nil then + return + end + -- get previous tag (modulo 9 excluding 0 to wrap from 1 to 9) + local tag = client.focus.screen.tags[(t.index - 2) % 9 + 1] + awful.client.movetotag(tag) + awful.tag.viewprev() + end, + {description = "move client to previous tag and switch to it", group = "tag"}), + + awful.key({ modkey, "Shift" }, "Right", + function () + -- get current tag + local t = client.focus and client.focus.first_tag or nil + if t == nil then + return + end + -- get next tag (modulo 9 excluding 0 to wrap from 9 to 1) + local tag = client.focus.screen.tags[(t.index % 9) + 1] + awful.client.movetotag(tag) + awful.tag.viewnext() + end, + {description = "move client to next tag and switch to it", 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"} + ), + + -- Layout manipulation + awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( 1) end, + {description = "swap with next client by index", group = "client"}), + awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( -1) end, + {description = "swap with previous client by index", group = "client"}), + awful.key({ modkey, "Control" }, "j", function () awful.screen.focus_relative( 1) end, + {description = "focus the next screen", group = "screen"}), + awful.key({ modkey, "Control" }, "k", function () awful.screen.focus_relative(-1) end, + {description = "focus the previous screen", group = "screen"}), + awful.key({ modkey, }, "u", awful.client.urgent.jumpto, + {description = "jump to urgent client", group = "client"}), + awful.key({ modkey, }, "Tab", + function () + awful.client.focus.history.previous() + if client.focus then + client.focus:raise() + end + end, + {description = "go back", group = "client"}), + + -- Standard program + awful.key({ modkey, "Shift" }, "Return", function () awful.spawn(apps.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, }, "h", function () awful.tag.incmwfact( 0.05) end, + {description = "increase master width factor", group = "layout"}), + awful.key({ modkey, }, "l", 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 = "decrease the number of master clients", group = "layout"}), + awful.key({ modkey, "Shift" }, "l", function () awful.tag.incnmaster( 1, nil, true) end, + {description = "increase the number of master clients", group = "layout"}), + awful.key({ modkey, "Control" }, "h", function () awful.tag.incncol(-1, nil, true) end, + {description = "decrease the number of columns", group = "layout"}), + awful.key({ modkey, "Control" }, "l", function () awful.tag.incncol( 1, nil, true) end, + {description = "increase 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"}), + + -- Apps + awful.key({ modkey }, "p", function () awful.spawn(apps.screenshot) end, + {description = "take screenshot", group = "apps"}), + awful.key({ modkey }, "i", function () awful.spawn(apps.browser) end, + {description = "open browser", group = "apps"}) +) + +-- 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 = + awful.util.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 _G.client.focus then + local tag = _G.client.focus.screen.tags[i] + if tag then + _G.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 _G.client.focus then + local tag = _G.client.focus.screen.tags[i] + if tag then + _G.client.focus:toggle_tag(tag) + end + end + end, + descr_toggle_focus + ) + ) +end + +return globalKeys diff --git a/awesome/.config/awesome/configuration/keys/init.lua b/awesome/.config/awesome/configuration/keys/init.lua new file mode 100644 index 0000000..9591667 --- /dev/null +++ b/awesome/.config/awesome/configuration/keys/init.lua @@ -0,0 +1,4 @@ +return { + mod = require('configuration.keys.mod'), + global = require('configuration.keys.global') +} diff --git a/awesome/.config/awesome/configuration/keys/mod.lua b/awesome/.config/awesome/configuration/keys/mod.lua new file mode 100644 index 0000000..40532d9 --- /dev/null +++ b/awesome/.config/awesome/configuration/keys/mod.lua @@ -0,0 +1,4 @@ +return { + modKey = 'Mod4', + altKey = 'Mod1' +} diff --git a/awesome/.config/awesome/configuration/mouse/desktop.lua b/awesome/.config/awesome/configuration/mouse/desktop.lua new file mode 100644 index 0000000..ea335bf --- /dev/null +++ b/awesome/.config/awesome/configuration/mouse/desktop.lua @@ -0,0 +1,26 @@ +local gears = require("gears") +local awful = require("awful") +require("widgets.mainmenu") + +-- Mousebindings that occur on the desktop +desktopMouse = gears.table.join( + awful.button({ }, 1, function () mymainmenu:hide() end), + awful.button({ }, 3, function () mymainmenu:toggle() end), + + -- This is the mousewheel on the unfocused desktop + awful.button({ }, 4, awful.tag.viewnext), + awful.button({ }, 5, awful.tag.viewprev) +) + +return desktopMouse + + +-- {{{ Mouse bindings +-- root.buttons(gears.table.join( +-- awful.button({ }, 3, function () mymainmenu:toggle() end), + +-- -- This is the mousewheel on the unfocused desktop +-- awful.button({ }, 4, awful.tag.viewnext), +-- awful.button({ }, 5, awful.tag.viewprev) +-- )) +-- }}} diff --git a/awesome/.config/awesome/configuration/picom.conf b/awesome/.config/awesome/configuration/picom.conf new file mode 100755 index 0000000..a3b9c70 --- /dev/null +++ b/awesome/.config/awesome/configuration/picom.conf @@ -0,0 +1,154 @@ +# ▀ ▄▀▀ +# ▄▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄▄▄ ▄▄▄ ▄▄▄ ▄ ▄▄ ▄▄█▄▄ +# █▀ ▀█ █ █▀ ▀ █▀ ▀█ █ █ █ █▀ ▀ █▀ ▀█ █▀ █ █ +# █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ +# ██▄█▀ ▄▄█▄▄ ▀█▄▄▀ ▀█▄█▀ █ █ █ █ ▀█▄▄▀ ▀█▄█▀ █ █ █ +# █ +# ▀ + + + + +# Shadow + +shadow = true; +shadow-radius = 12; +shadow-offset-x = -12; +shadow-offset-y = -12; +shadow-opacity = 0.7; + +# shadow-red = 0.0; +# shadow-green = 0.0; +# shadow-blue = 0.0; + +# shadow-exclude-reg = "x10+0+0"; +# xinerama-shadow-crop = true; + +shadow-exclude = [ + "name = 'Notification'", + "class_g = 'Conky'", + "class_g ?= 'Notify-osd'", + "class_g = 'Cairo-clock'", + "class_g = 'slop'", + "class_g = 'Firefox' && argb", + "class_g = 'Rofi'", + "_GTK_FRAME_EXTENTS@:c", + "_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'" +]; + +# Logs +log-level = "ERROR"; +log-file = "~/.cache/picom-log.log"; + + +# Opacity + +# inactive-opacity = 0.8; +# active-opacity = 0.8; +# frame-opacity = 0.7; +inactive-opacity-override = false; + +opacity-rule = [ + "80:class_g = 'URxvt'", + "80:class_g = 'UXTerm'", + "80:class_g = 'XTerm'", + "99:window_type = 'normal'", # Add a tiny bit of opacity to all normal windows to apply blur + "99:window_type = 'dialog'", # Add a tiny bit of opacity to all dialog windows to apply blur + "99:window_type = 'popup_menu'", # Add a tiny bit of opacity to all popup_menu windows to apply blur + "99:window_type = 'notification'", # Add a tiny bit of opacity to all popup_menu windows to apply blur + "99:window_type = 'dock'" # Add a tiny bit of opacity to all popup_menu windows to apply blur +]; + +# inactive-dim = 0.2; +# inactive-dim-fixed = true; + + +# Blur + +blur-method = "dual_kawase"; +blur-strength = 2.0; + # deviation = 1.0; + # kernel = "11x11gaussian"; + +blur-background = true; +blur-background-frame = true; +# blur-kern = "3x3box"; +# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"; +blur-background-fixed = true; + +blur-background-exclude = [ + "window_type = 'desktop'", + "window_type = 'utility'", + "window_type = 'notification'", + "class_g = 'slop'", + "class_g = 'Firefox' && argb", + "class_g = 'Rofi'", + "_GTK_FRAME_EXTENTS@:c" +]; + +# max-brightness = 0.66 + +# Fading + +fading = true; +fade-delta = 3; +fade-in-step = 0.03; +fade-out-step = 0.03; +# no-fading-openclose = true; +# no-fading-destroyed-argb = true; +fade-exclude = [ ]; + +# Other + +backend = "glx"; +mark-wmwin-focused = true; +mark-ovredir-focused = true; +# use-ewmh-active-win = true; +detect-rounded-corners = true; +detect-client-opacity = true; +refresh-rate = 0; +vsync = true; +# sw-opti = true; +unredir-if-possible = false; +# unredir-if-possible-delay = 5000; +# unredir-if-possible-exclude = [ ]; +# focus-exclude = [ "class_g = 'Cairo-clock'" ]; + +focus-exclude = [ + "class_g = 'Cairo-clock'", + "class_g ?= 'rofi'", + "class_g ?= 'slop'", + "class_g ?= 'Steam'" +]; + + +detect-transient = true; +detect-client-leader = true; +invert-color-include = [ ]; +# resize-damage = 1; + +# GLX backend + +glx-no-stencil = true; +# glx-no-rebind-pixmap = true; +# xrender-sync-fence = true; +use-damage = true; + +# Window type settings + +wintypes: +{ + tooltip = { fade = true; shadow = false; focus = false; }; + normal = { shadow = false; }; + dock = { shadow = false; }; + dnd = { shadow = false; }; + popup_menu = { shadow = true; focus = false; opacity = 0.90; }; + dropdown_menu = { shadow = false; focus = false; }; + above = { shadow = true; }; + splash = { shadow = false; }; + utility = { focus = false; shadow = false; }; + notification = { shadow = false; }; + desktop = { shadow = true }; + menu = { focus = false }; + dialog = { shadow = true; }; +}; diff --git a/awesome/.config/awesome/configuration/tags/init.lua b/awesome/.config/awesome/configuration/tags/init.lua new file mode 100644 index 0000000..318d693 --- /dev/null +++ b/awesome/.config/awesome/configuration/tags/init.lua @@ -0,0 +1,19 @@ +local awful = require('awful') +local gears = require('gears') +-- local icons = require('theme.icons') +local apps = require('configuration.apps') + +-- Table of layouts to cover with awful.layout.inc, order matters. +awful.layout.layouts = { + awful.layout.suit.tile.left, + awful.layout.suit.corner.ne, +} +-- }}} + +-- Configure Tag Properties +awful.screen.connect_for_each_screen(function(s) + -- Each screen has its own tag table. + awful.tag({ "1", "2", "3", "4", "5", "6", "7", "8", "9" }, s, awful.layout.layouts[1]) +end) +-- }}} + diff --git a/awesome/.config/awesome/modules/README.org b/awesome/.config/awesome/modules/README.org new file mode 100644 index 0000000..0adde36 --- /dev/null +++ b/awesome/.config/awesome/modules/README.org @@ -0,0 +1,4 @@ +* AwesomeWM Modules + +Here are modules that are not particularly UI, widgets or inbuilt awesome +configuration elements. However they extend onto AwesomeWM. diff --git a/awesome/.config/awesome/modules/auto-start.lua b/awesome/.config/awesome/modules/auto-start.lua new file mode 100644 index 0000000..d1a90cf --- /dev/null +++ b/awesome/.config/awesome/modules/auto-start.lua @@ -0,0 +1,18 @@ +-- MODULE AUTO-START +-- Run all the apps listed in configuration/apps.lua as run_on_start_up only once when awesome start + +local awful = require('awful') +local autostart = require('configuration.autostart') + +local function run_once(cmd) + local findme = cmd + local firstspace = cmd:find(' ') + if firstspace then + findme = cmd:sub(0, firstspace - 1) + end + awful.spawn.with_shell(string.format('pgrep -u $USER -x %s > /dev/null || (%s)', findme, cmd)) +end + +for _, app in ipairs(autostart.run_on_start_up) do + run_once(app) +end diff --git a/awesome/.config/awesome/modules/set-wallpaper.lua b/awesome/.config/awesome/modules/set-wallpaper.lua new file mode 100644 index 0000000..6aac51b --- /dev/null +++ b/awesome/.config/awesome/modules/set-wallpaper.lua @@ -0,0 +1,23 @@ +local gears = require("gears") +local awful = require("awful") +local beautiful = require("beautiful") + +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) + +-- Set the same wallpaper for each screen, you could change this to have different wallpapers on each screen. +awful.screen.connect_for_each_screen(function(s) + set_wallpaper(s) +end) diff --git a/awesome/.config/awesome/modules/sloppy-focus.lua b/awesome/.config/awesome/modules/sloppy-focus.lua new file mode 100644 index 0000000..a04aa35 --- /dev/null +++ b/awesome/.config/awesome/modules/sloppy-focus.lua @@ -0,0 +1,11 @@ +-- Enable sloppy focus, so that focus follows mouse. + +local beautiful = require("beautiful") + +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) +-- }}} diff --git a/awesome/.config/awesome/rc.lua b/awesome/.config/awesome/rc.lua new file mode 100644 index 0000000..c69b009 --- /dev/null +++ b/awesome/.config/awesome/rc.lua @@ -0,0 +1,83 @@ +-- 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") + +-- Themes define colours, icons, font and wallpapers. +beautiful.init(gears.filesystem.get_themes_dir() .. "default/theme.lua") + +-- Init all modules (You can add/remove active modules here) +require("modules.auto-start") +require("modules.sloppy-focus") +require("modules.set-wallpaper") + +-- Setup UI Elements +require('ui') + +-- Setup all configurations +require('configuration.tags') +require('configuration.client') +require('configuration.init') +_G.root.keys(require('configuration.keys.global')) +_G.root.buttons(require('configuration.mouse.desktop')) + +-- {{{ 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 +-- }}} + +-- {{{ 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) + + diff --git a/awesome/.config/awesome/themes/default/README b/awesome/.config/awesome/themes/default/README new file mode 100644 index 0000000..1ddb349 --- /dev/null +++ b/awesome/.config/awesome/themes/default/README @@ -0,0 +1,3 @@ +Background images: + Mikael Eriksson + Licensed under CC-BY-SA-3.0 diff --git a/awesome/.config/awesome/themes/default/background.png b/awesome/.config/awesome/themes/default/background.png new file mode 100644 index 0000000..8f52b6b Binary files /dev/null and b/awesome/.config/awesome/themes/default/background.png differ diff --git a/awesome/.config/awesome/themes/default/background_white.png b/awesome/.config/awesome/themes/default/background_white.png new file mode 100644 index 0000000..bb0c5d0 Binary files /dev/null and b/awesome/.config/awesome/themes/default/background_white.png differ diff --git a/awesome/.config/awesome/themes/default/layouts/cornerne.png b/awesome/.config/awesome/themes/default/layouts/cornerne.png new file mode 100644 index 0000000..c85bd56 Binary files /dev/null and b/awesome/.config/awesome/themes/default/layouts/cornerne.png differ diff --git a/awesome/.config/awesome/themes/default/layouts/cornernew.png b/awesome/.config/awesome/themes/default/layouts/cornernew.png new file mode 100644 index 0000000..c3fd986 Binary files /dev/null and b/awesome/.config/awesome/themes/default/layouts/cornernew.png differ diff --git a/awesome/.config/awesome/themes/default/layouts/cornernw.png b/awesome/.config/awesome/themes/default/layouts/cornernw.png new file mode 100644 index 0000000..dfe78b3 Binary files /dev/null and b/awesome/.config/awesome/themes/default/layouts/cornernw.png differ diff --git a/awesome/.config/awesome/themes/default/layouts/cornernww.png b/awesome/.config/awesome/themes/default/layouts/cornernww.png new file mode 100644 index 0000000..f489010 Binary files /dev/null and b/awesome/.config/awesome/themes/default/layouts/cornernww.png differ diff --git a/awesome/.config/awesome/themes/default/layouts/cornerse.png b/awesome/.config/awesome/themes/default/layouts/cornerse.png new file mode 100644 index 0000000..023ae79 Binary files /dev/null and b/awesome/.config/awesome/themes/default/layouts/cornerse.png differ diff --git a/awesome/.config/awesome/themes/default/layouts/cornersew.png b/awesome/.config/awesome/themes/default/layouts/cornersew.png new file mode 100644 index 0000000..f7cfa1c Binary files /dev/null and b/awesome/.config/awesome/themes/default/layouts/cornersew.png differ diff --git a/awesome/.config/awesome/themes/default/layouts/cornersw.png b/awesome/.config/awesome/themes/default/layouts/cornersw.png new file mode 100644 index 0000000..c1453c9 Binary files /dev/null and b/awesome/.config/awesome/themes/default/layouts/cornersw.png differ diff --git a/awesome/.config/awesome/themes/default/layouts/cornersww.png b/awesome/.config/awesome/themes/default/layouts/cornersww.png new file mode 100644 index 0000000..a65a043 Binary files /dev/null and b/awesome/.config/awesome/themes/default/layouts/cornersww.png differ diff --git a/awesome/.config/awesome/themes/default/layouts/dwindle.png b/awesome/.config/awesome/themes/default/layouts/dwindle.png new file mode 100644 index 0000000..9902d22 Binary files /dev/null and b/awesome/.config/awesome/themes/default/layouts/dwindle.png differ diff --git a/awesome/.config/awesome/themes/default/layouts/dwindlew.png b/awesome/.config/awesome/themes/default/layouts/dwindlew.png new file mode 100644 index 0000000..9199049 Binary files /dev/null and b/awesome/.config/awesome/themes/default/layouts/dwindlew.png differ diff --git a/awesome/.config/awesome/themes/default/layouts/fairh.png b/awesome/.config/awesome/themes/default/layouts/fairh.png new file mode 100644 index 0000000..d41deea Binary files /dev/null and b/awesome/.config/awesome/themes/default/layouts/fairh.png differ diff --git a/awesome/.config/awesome/themes/default/layouts/fairhw.png b/awesome/.config/awesome/themes/default/layouts/fairhw.png new file mode 100644 index 0000000..bb50e3a Binary files /dev/null and b/awesome/.config/awesome/themes/default/layouts/fairhw.png differ diff --git a/awesome/.config/awesome/themes/default/layouts/fairv.png b/awesome/.config/awesome/themes/default/layouts/fairv.png new file mode 100644 index 0000000..f5f0288 Binary files /dev/null and b/awesome/.config/awesome/themes/default/layouts/fairv.png differ diff --git a/awesome/.config/awesome/themes/default/layouts/fairvw.png b/awesome/.config/awesome/themes/default/layouts/fairvw.png new file mode 100644 index 0000000..4f4ed52 Binary files /dev/null and b/awesome/.config/awesome/themes/default/layouts/fairvw.png differ diff --git a/awesome/.config/awesome/themes/default/layouts/floating.png b/awesome/.config/awesome/themes/default/layouts/floating.png new file mode 100644 index 0000000..b8061a0 Binary files /dev/null and b/awesome/.config/awesome/themes/default/layouts/floating.png differ diff --git a/awesome/.config/awesome/themes/default/layouts/floatingw.png b/awesome/.config/awesome/themes/default/layouts/floatingw.png new file mode 100644 index 0000000..4815894 Binary files /dev/null and b/awesome/.config/awesome/themes/default/layouts/floatingw.png differ diff --git a/awesome/.config/awesome/themes/default/layouts/fullscreen.png b/awesome/.config/awesome/themes/default/layouts/fullscreen.png new file mode 100644 index 0000000..d02f6fc Binary files /dev/null and b/awesome/.config/awesome/themes/default/layouts/fullscreen.png differ diff --git a/awesome/.config/awesome/themes/default/layouts/fullscreenw.png b/awesome/.config/awesome/themes/default/layouts/fullscreenw.png new file mode 100644 index 0000000..5c35bfa Binary files /dev/null and b/awesome/.config/awesome/themes/default/layouts/fullscreenw.png differ diff --git a/awesome/.config/awesome/themes/default/layouts/magnifier.png b/awesome/.config/awesome/themes/default/layouts/magnifier.png new file mode 100644 index 0000000..2925414 Binary files /dev/null and b/awesome/.config/awesome/themes/default/layouts/magnifier.png differ diff --git a/awesome/.config/awesome/themes/default/layouts/magnifierw.png b/awesome/.config/awesome/themes/default/layouts/magnifierw.png new file mode 100644 index 0000000..6209556 Binary files /dev/null and b/awesome/.config/awesome/themes/default/layouts/magnifierw.png differ diff --git a/awesome/.config/awesome/themes/default/layouts/max.png b/awesome/.config/awesome/themes/default/layouts/max.png new file mode 100644 index 0000000..8d20844 Binary files /dev/null and b/awesome/.config/awesome/themes/default/layouts/max.png differ diff --git a/awesome/.config/awesome/themes/default/layouts/maxw.png b/awesome/.config/awesome/themes/default/layouts/maxw.png new file mode 100644 index 0000000..85f5ce3 Binary files /dev/null and b/awesome/.config/awesome/themes/default/layouts/maxw.png differ diff --git a/awesome/.config/awesome/themes/default/layouts/spiral.png b/awesome/.config/awesome/themes/default/layouts/spiral.png new file mode 100644 index 0000000..d9434be Binary files /dev/null and b/awesome/.config/awesome/themes/default/layouts/spiral.png differ diff --git a/awesome/.config/awesome/themes/default/layouts/spiralw.png b/awesome/.config/awesome/themes/default/layouts/spiralw.png new file mode 100644 index 0000000..b78dd86 Binary files /dev/null and b/awesome/.config/awesome/themes/default/layouts/spiralw.png differ diff --git a/awesome/.config/awesome/themes/default/layouts/tile.png b/awesome/.config/awesome/themes/default/layouts/tile.png new file mode 100644 index 0000000..3ede21e Binary files /dev/null and b/awesome/.config/awesome/themes/default/layouts/tile.png differ diff --git a/awesome/.config/awesome/themes/default/layouts/tilebottom.png b/awesome/.config/awesome/themes/default/layouts/tilebottom.png new file mode 100644 index 0000000..6f8c257 Binary files /dev/null and b/awesome/.config/awesome/themes/default/layouts/tilebottom.png differ diff --git a/awesome/.config/awesome/themes/default/layouts/tilebottomw.png b/awesome/.config/awesome/themes/default/layouts/tilebottomw.png new file mode 100644 index 0000000..a1de7b2 Binary files /dev/null and b/awesome/.config/awesome/themes/default/layouts/tilebottomw.png differ diff --git a/awesome/.config/awesome/themes/default/layouts/tileleft.png b/awesome/.config/awesome/themes/default/layouts/tileleft.png new file mode 100644 index 0000000..31d6870 Binary files /dev/null and b/awesome/.config/awesome/themes/default/layouts/tileleft.png differ diff --git a/awesome/.config/awesome/themes/default/layouts/tileleftw.png b/awesome/.config/awesome/themes/default/layouts/tileleftw.png new file mode 100644 index 0000000..cf14c25 Binary files /dev/null and b/awesome/.config/awesome/themes/default/layouts/tileleftw.png differ diff --git a/awesome/.config/awesome/themes/default/layouts/tiletop.png b/awesome/.config/awesome/themes/default/layouts/tiletop.png new file mode 100644 index 0000000..98cade2 Binary files /dev/null and b/awesome/.config/awesome/themes/default/layouts/tiletop.png differ diff --git a/awesome/.config/awesome/themes/default/layouts/tiletopw.png b/awesome/.config/awesome/themes/default/layouts/tiletopw.png new file mode 100644 index 0000000..d1d0872 Binary files /dev/null and b/awesome/.config/awesome/themes/default/layouts/tiletopw.png differ diff --git a/awesome/.config/awesome/themes/default/layouts/tilew.png b/awesome/.config/awesome/themes/default/layouts/tilew.png new file mode 100644 index 0000000..fde2ca4 Binary files /dev/null and b/awesome/.config/awesome/themes/default/layouts/tilew.png differ diff --git a/awesome/.config/awesome/themes/default/submenu.png b/awesome/.config/awesome/themes/default/submenu.png new file mode 100644 index 0000000..b2778e2 Binary files /dev/null and b/awesome/.config/awesome/themes/default/submenu.png differ diff --git a/awesome/.config/awesome/themes/default/taglist/squarefw.png b/awesome/.config/awesome/themes/default/taglist/squarefw.png new file mode 100644 index 0000000..2a86430 Binary files /dev/null and b/awesome/.config/awesome/themes/default/taglist/squarefw.png differ diff --git a/awesome/.config/awesome/themes/default/taglist/squarew.png b/awesome/.config/awesome/themes/default/taglist/squarew.png new file mode 100644 index 0000000..913f2ca Binary files /dev/null and b/awesome/.config/awesome/themes/default/taglist/squarew.png differ diff --git a/awesome/.config/awesome/themes/default/theme.lua b/awesome/.config/awesome/themes/default/theme.lua new file mode 100644 index 0000000..939adee --- /dev/null +++ b/awesome/.config/awesome/themes/default/theme.lua @@ -0,0 +1,131 @@ +--------------------------- +-- Default awesome theme -- +--------------------------- + +local theme_assets = require("beautiful.theme_assets") +local xresources = require("beautiful.xresources") +local dpi = xresources.apply_dpi + +local gfs = require("gears.filesystem") +local themes_path = gfs.get_themes_dir() + +local theme = {} + +theme.font = "sans 8" + +theme.bg_normal = "#222222" +theme.bg_focus = "#535d6c" +theme.bg_urgent = "#ff0000" +theme.bg_minimize = "#444444" +theme.bg_systray = theme.bg_normal + +theme.fg_normal = "#aaaaaa" +theme.fg_focus = "#ffffff" +theme.fg_urgent = "#ffffff" +theme.fg_minimize = "#ffffff" + +theme.useless_gap = dpi(0) +theme.border_width = dpi(0) +theme.border_normal = "#000000" +theme.border_focus = "#535d6c" +theme.border_marked = "#91231c" + +-- There are other variable sets +-- overriding the default one when +-- defined, the sets are: +-- taglist_[bg|fg]_[focus|urgent|occupied|empty|volatile] +-- tasklist_[bg|fg]_[focus|urgent] +-- titlebar_[bg|fg]_[normal|focus] +-- tooltip_[font|opacity|fg_color|bg_color|border_width|border_color] +-- mouse_finder_[color|timeout|animate_timeout|radius|factor] +-- prompt_[fg|bg|fg_cursor|bg_cursor|font] +-- hotkeys_[bg|fg|border_width|border_color|shape|opacity|modifiers_fg|label_bg|label_fg|group_margin|font|description_font] +-- Example: +--theme.taglist_bg_focus = "#ff0000" + +-- Generate taglist squares: +local taglist_square_size = dpi(4) +theme.taglist_squares_sel = theme_assets.taglist_squares_sel( + taglist_square_size, theme.fg_normal +) +theme.taglist_squares_unsel = theme_assets.taglist_squares_unsel( + taglist_square_size, theme.fg_normal +) + +-- Variables set for theming notifications: +-- notification_font +-- notification_[bg|fg] +-- notification_[width|height|margin] +-- notification_[border_color|border_width|shape|opacity] + +-- Variables set for theming the menu: +-- menu_[bg|fg]_[normal|focus] +-- menu_[border_color|border_width] +theme.menu_submenu_icon = themes_path.."default/submenu.png" +theme.menu_height = dpi(15) +theme.menu_width = dpi(100) + +-- You can add as many variables as +-- you wish and access them by using +-- beautiful.variable in your rc.lua +--theme.bg_widget = "#cc0000" + +-- Define the image to load +theme.titlebar_close_button_normal = themes_path.."default/titlebar/close_normal.png" +theme.titlebar_close_button_focus = themes_path.."default/titlebar/close_focus.png" + +theme.titlebar_minimize_button_normal = themes_path.."default/titlebar/minimize_normal.png" +theme.titlebar_minimize_button_focus = themes_path.."default/titlebar/minimize_focus.png" + +theme.titlebar_ontop_button_normal_inactive = themes_path.."default/titlebar/ontop_normal_inactive.png" +theme.titlebar_ontop_button_focus_inactive = themes_path.."default/titlebar/ontop_focus_inactive.png" +theme.titlebar_ontop_button_normal_active = themes_path.."default/titlebar/ontop_normal_active.png" +theme.titlebar_ontop_button_focus_active = themes_path.."default/titlebar/ontop_focus_active.png" + +theme.titlebar_sticky_button_normal_inactive = themes_path.."default/titlebar/sticky_normal_inactive.png" +theme.titlebar_sticky_button_focus_inactive = themes_path.."default/titlebar/sticky_focus_inactive.png" +theme.titlebar_sticky_button_normal_active = themes_path.."default/titlebar/sticky_normal_active.png" +theme.titlebar_sticky_button_focus_active = themes_path.."default/titlebar/sticky_focus_active.png" + +theme.titlebar_floating_button_normal_inactive = themes_path.."default/titlebar/floating_normal_inactive.png" +theme.titlebar_floating_button_focus_inactive = themes_path.."default/titlebar/floating_focus_inactive.png" +theme.titlebar_floating_button_normal_active = themes_path.."default/titlebar/floating_normal_active.png" +theme.titlebar_floating_button_focus_active = themes_path.."default/titlebar/floating_focus_active.png" + +theme.titlebar_maximized_button_normal_inactive = themes_path.."default/titlebar/maximized_normal_inactive.png" +theme.titlebar_maximized_button_focus_inactive = themes_path.."default/titlebar/maximized_focus_inactive.png" +theme.titlebar_maximized_button_normal_active = themes_path.."default/titlebar/maximized_normal_active.png" +theme.titlebar_maximized_button_focus_active = themes_path.."default/titlebar/maximized_focus_active.png" + +theme.wallpaper = themes_path.."default/background.png" + +-- You can use your own layout icons like this: +theme.layout_fairh = themes_path.."default/layouts/fairhw.png" +theme.layout_fairv = themes_path.."default/layouts/fairvw.png" +theme.layout_floating = themes_path.."default/layouts/floatingw.png" +theme.layout_magnifier = themes_path.."default/layouts/magnifierw.png" +theme.layout_max = themes_path.."default/layouts/maxw.png" +theme.layout_fullscreen = themes_path.."default/layouts/fullscreenw.png" +theme.layout_tilebottom = themes_path.."default/layouts/tilebottomw.png" +theme.layout_tileleft = themes_path.."default/layouts/tileleftw.png" +theme.layout_tile = themes_path.."default/layouts/tilew.png" +theme.layout_tiletop = themes_path.."default/layouts/tiletopw.png" +theme.layout_spiral = themes_path.."default/layouts/spiralw.png" +theme.layout_dwindle = themes_path.."default/layouts/dwindlew.png" +theme.layout_cornernw = themes_path.."default/layouts/cornernww.png" +theme.layout_cornerne = themes_path.."default/layouts/cornernew.png" +theme.layout_cornersw = themes_path.."default/layouts/cornersww.png" +theme.layout_cornerse = themes_path.."default/layouts/cornersew.png" + +-- Generate Awesome icon: +theme.awesome_icon = theme_assets.awesome_icon( + theme.menu_height, theme.bg_focus, theme.fg_focus +) + +-- Define the icon theme for application icons. If not set then the icons +-- from /usr/share/icons and /usr/share/icons/hicolor will be used. +theme.icon_theme = nil + +return theme + +-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80 diff --git a/awesome/.config/awesome/themes/default/titlebar/close_focus.png b/awesome/.config/awesome/themes/default/titlebar/close_focus.png new file mode 100644 index 0000000..01ef825 Binary files /dev/null and b/awesome/.config/awesome/themes/default/titlebar/close_focus.png differ diff --git a/awesome/.config/awesome/themes/default/titlebar/close_normal.png b/awesome/.config/awesome/themes/default/titlebar/close_normal.png new file mode 100644 index 0000000..5448ed8 Binary files /dev/null and b/awesome/.config/awesome/themes/default/titlebar/close_normal.png differ diff --git a/awesome/.config/awesome/themes/default/titlebar/floating_focus_active.png b/awesome/.config/awesome/themes/default/titlebar/floating_focus_active.png new file mode 100644 index 0000000..82dcc7c Binary files /dev/null and b/awesome/.config/awesome/themes/default/titlebar/floating_focus_active.png differ diff --git a/awesome/.config/awesome/themes/default/titlebar/floating_focus_inactive.png b/awesome/.config/awesome/themes/default/titlebar/floating_focus_inactive.png new file mode 100644 index 0000000..c19ba80 Binary files /dev/null and b/awesome/.config/awesome/themes/default/titlebar/floating_focus_inactive.png differ diff --git a/awesome/.config/awesome/themes/default/titlebar/floating_normal_active.png b/awesome/.config/awesome/themes/default/titlebar/floating_normal_active.png new file mode 100644 index 0000000..62342d1 Binary files /dev/null and b/awesome/.config/awesome/themes/default/titlebar/floating_normal_active.png differ diff --git a/awesome/.config/awesome/themes/default/titlebar/floating_normal_inactive.png b/awesome/.config/awesome/themes/default/titlebar/floating_normal_inactive.png new file mode 100644 index 0000000..e2bbdfa Binary files /dev/null and b/awesome/.config/awesome/themes/default/titlebar/floating_normal_inactive.png differ diff --git a/awesome/.config/awesome/themes/default/titlebar/maximized_focus_active.png b/awesome/.config/awesome/themes/default/titlebar/maximized_focus_active.png new file mode 100644 index 0000000..d7dffd7 Binary files /dev/null and b/awesome/.config/awesome/themes/default/titlebar/maximized_focus_active.png differ diff --git a/awesome/.config/awesome/themes/default/titlebar/maximized_focus_inactive.png b/awesome/.config/awesome/themes/default/titlebar/maximized_focus_inactive.png new file mode 100644 index 0000000..844389f Binary files /dev/null and b/awesome/.config/awesome/themes/default/titlebar/maximized_focus_inactive.png differ diff --git a/awesome/.config/awesome/themes/default/titlebar/maximized_normal_active.png b/awesome/.config/awesome/themes/default/titlebar/maximized_normal_active.png new file mode 100644 index 0000000..a705f81 Binary files /dev/null and b/awesome/.config/awesome/themes/default/titlebar/maximized_normal_active.png differ diff --git a/awesome/.config/awesome/themes/default/titlebar/maximized_normal_inactive.png b/awesome/.config/awesome/themes/default/titlebar/maximized_normal_inactive.png new file mode 100644 index 0000000..4c1ab1f Binary files /dev/null and b/awesome/.config/awesome/themes/default/titlebar/maximized_normal_inactive.png differ diff --git a/awesome/.config/awesome/themes/default/titlebar/minimize_focus.png b/awesome/.config/awesome/themes/default/titlebar/minimize_focus.png new file mode 100644 index 0000000..caaceb2 Binary files /dev/null and b/awesome/.config/awesome/themes/default/titlebar/minimize_focus.png differ diff --git a/awesome/.config/awesome/themes/default/titlebar/minimize_normal.png b/awesome/.config/awesome/themes/default/titlebar/minimize_normal.png new file mode 100644 index 0000000..36621d0 Binary files /dev/null and b/awesome/.config/awesome/themes/default/titlebar/minimize_normal.png differ diff --git a/awesome/.config/awesome/themes/default/titlebar/ontop_focus_active.png b/awesome/.config/awesome/themes/default/titlebar/ontop_focus_active.png new file mode 100644 index 0000000..312c00b Binary files /dev/null and b/awesome/.config/awesome/themes/default/titlebar/ontop_focus_active.png differ diff --git a/awesome/.config/awesome/themes/default/titlebar/ontop_focus_inactive.png b/awesome/.config/awesome/themes/default/titlebar/ontop_focus_inactive.png new file mode 100644 index 0000000..a48e1c5 Binary files /dev/null and b/awesome/.config/awesome/themes/default/titlebar/ontop_focus_inactive.png differ diff --git a/awesome/.config/awesome/themes/default/titlebar/ontop_normal_active.png b/awesome/.config/awesome/themes/default/titlebar/ontop_normal_active.png new file mode 100644 index 0000000..117a203 Binary files /dev/null and b/awesome/.config/awesome/themes/default/titlebar/ontop_normal_active.png differ diff --git a/awesome/.config/awesome/themes/default/titlebar/ontop_normal_inactive.png b/awesome/.config/awesome/themes/default/titlebar/ontop_normal_inactive.png new file mode 100644 index 0000000..d3a10c8 Binary files /dev/null and b/awesome/.config/awesome/themes/default/titlebar/ontop_normal_inactive.png differ diff --git a/awesome/.config/awesome/themes/default/titlebar/sticky_focus_active.png b/awesome/.config/awesome/themes/default/titlebar/sticky_focus_active.png new file mode 100644 index 0000000..814499b Binary files /dev/null and b/awesome/.config/awesome/themes/default/titlebar/sticky_focus_active.png differ diff --git a/awesome/.config/awesome/themes/default/titlebar/sticky_focus_inactive.png b/awesome/.config/awesome/themes/default/titlebar/sticky_focus_inactive.png new file mode 100644 index 0000000..21b000d Binary files /dev/null and b/awesome/.config/awesome/themes/default/titlebar/sticky_focus_inactive.png differ diff --git a/awesome/.config/awesome/themes/default/titlebar/sticky_normal_active.png b/awesome/.config/awesome/themes/default/titlebar/sticky_normal_active.png new file mode 100644 index 0000000..bdb5595 Binary files /dev/null and b/awesome/.config/awesome/themes/default/titlebar/sticky_normal_active.png differ diff --git a/awesome/.config/awesome/themes/default/titlebar/sticky_normal_inactive.png b/awesome/.config/awesome/themes/default/titlebar/sticky_normal_inactive.png new file mode 100644 index 0000000..a96b9b1 Binary files /dev/null and b/awesome/.config/awesome/themes/default/titlebar/sticky_normal_inactive.png differ diff --git a/awesome/.config/awesome/themes/gtk/theme.lua b/awesome/.config/awesome/themes/gtk/theme.lua new file mode 100644 index 0000000..ca31be8 --- /dev/null +++ b/awesome/.config/awesome/themes/gtk/theme.lua @@ -0,0 +1,350 @@ +---------------------------------------------- +-- Awesome theme which follows GTK+ 3 theme -- +-- by Yauhen Kirylau -- +---------------------------------------------- + +local theme_assets = require("beautiful.theme_assets") +local dpi = require("beautiful.xresources").apply_dpi +local gfs = require("gears.filesystem") +local themes_path = gfs.get_themes_dir() +local gears_shape = require("gears.shape") +local wibox = require("wibox") +local awful_widget_clienticon = require("awful.widget.clienticon") +local gtk = require("beautiful.gtk") + + +-- Helper functions for modifying hex colors: +-- +local hex_color_match = "[a-fA-F0-9][a-fA-F0-9]" +local function darker(color_value, darker_n) + local result = "#" + local channel_counter = 1 + for s in color_value:gmatch(hex_color_match) do + local bg_numeric_value = tonumber("0x"..s) + if channel_counter <= 3 then + bg_numeric_value = bg_numeric_value - darker_n + end + if bg_numeric_value < 0 then bg_numeric_value = 0 end + if bg_numeric_value > 255 then bg_numeric_value = 255 end + result = result .. string.format("%02x", bg_numeric_value) + channel_counter = channel_counter + 1 + end + return result +end +local function is_dark(color_value) + local bg_numeric_value = 0; + local channel_counter = 1 + for s in color_value:gmatch(hex_color_match) do + bg_numeric_value = bg_numeric_value + tonumber("0x"..s); + if channel_counter == 3 then + break + end + channel_counter = channel_counter + 1 + end + local is_dark_bg = (bg_numeric_value < 383) + return is_dark_bg +end +local function mix(color1, color2, ratio) + ratio = ratio or 0.5 + local result = "#" + local channels1 = color1:gmatch(hex_color_match) + local channels2 = color2:gmatch(hex_color_match) + for _ = 1,3 do + local bg_numeric_value = math.ceil( + tonumber("0x"..channels1())*ratio + + tonumber("0x"..channels2())*(1-ratio) + ) + if bg_numeric_value < 0 then bg_numeric_value = 0 end + if bg_numeric_value > 255 then bg_numeric_value = 255 end + result = result .. string.format("%02x", bg_numeric_value) + end + return result +end +local function reduce_contrast(color, ratio) + ratio = ratio or 50 + return darker(color, is_dark(color) and -ratio or ratio) +end + +local function choose_contrast_color(reference, candidate1, candidate2) -- luacheck: no unused + if is_dark(reference) then + if not is_dark(candidate1) then + return candidate1 + else + return candidate2 + end + else + if is_dark(candidate1) then + return candidate1 + else + return candidate2 + end + end +end + + +-- inherit xresources theme: +local theme = dofile(themes_path.."xresources/theme.lua") +-- load and prepare for use gtk theme: +theme.gtk = gtk.get_theme_variables() +if not theme.gtk then + local gears_debug = require("gears.debug") + gears_debug.print_warning("Can't load GTK+3 theme. Using 'xresources' theme as a fallback.") + return theme +end +theme.gtk.button_border_radius = dpi(theme.gtk.button_border_radius or 0) +theme.gtk.button_border_width = dpi(theme.gtk.button_border_width or 1) +theme.gtk.bold_font = theme.gtk.font_family .. ' Bold ' .. theme.gtk.font_size +theme.gtk.menubar_border_color = mix( + theme.gtk.menubar_bg_color, + theme.gtk.menubar_fg_color, + 0.7 +) + + +theme.font = theme.gtk.font_family .. ' ' .. theme.gtk.font_size + +theme.bg_normal = theme.gtk.bg_color +theme.fg_normal = theme.gtk.fg_color + +theme.wibar_bg = theme.gtk.menubar_bg_color +theme.wibar_fg = theme.gtk.menubar_fg_color + +theme.bg_focus = theme.gtk.selected_bg_color +theme.fg_focus = theme.gtk.selected_fg_color + +theme.bg_urgent = theme.gtk.error_bg_color +theme.fg_urgent = theme.gtk.error_fg_color + +theme.bg_minimize = mix(theme.wibar_fg, theme.wibar_bg, 0.3) +theme.fg_minimize = mix(theme.wibar_fg, theme.wibar_bg, 0.9) + +theme.bg_systray = theme.wibar_bg + +theme.border_normal = theme.gtk.wm_border_unfocused_color +theme.border_focus = theme.gtk.wm_border_focused_color +theme.border_marked = theme.gtk.success_color + +theme.border_width = dpi(theme.gtk.button_border_width or 1) +theme.border_radius = theme.gtk.button_border_radius + +theme.useless_gap = dpi(3) + +local rounded_rect_shape = function(cr,w,h) + gears_shape.rounded_rect( + cr, w, h, theme.border_radius + ) +end + +-- There are other variable sets +-- overriding the default one when +-- defined, the sets are: +-- taglist_[bg|fg|shape|shape_border_color|shape_border_width]_[focus|urgent|occupied|empty|volatile] +-- tasklist_[bg|fg|shape|shape_border_color|shape_border_width]_[focus|urgent|minimized] +-- titlebar_[bg|fg]_[normal|focus] +-- tooltip_[font|opacity|fg_color|bg_color|border_width|border_color] +-- mouse_finder_[color|timeout|animate_timeout|radius|factor] + +theme.tasklist_fg_normal = theme.wibar_fg +theme.tasklist_bg_normal = theme.wibar_bg +theme.tasklist_fg_focus = theme.tasklist_fg_normal +theme.tasklist_bg_focus = theme.tasklist_bg_normal + +theme.tasklist_font_focus = theme.gtk.bold_font + +theme.tasklist_shape_minimized = rounded_rect_shape +theme.tasklist_shape_border_color_minimized = mix( + theme.bg_minimize, + theme.fg_minimize, + 0.85 +) +theme.tasklist_shape_border_width_minimized = theme.gtk.button_border_width + +theme.tasklist_spacing = theme.gtk.button_border_width + +--[[ Advanced taglist and tasklist styling: {{{ + +--- In order to get taglist and tasklist to follow GTK theme you need to +-- modify your rc.lua in the following way: + +diff --git a/rc.lua b/rc.lua +index 231a2f68c..533a859d2 100644 +--- a/rc.lua ++++ b/rc.lua +@@ -217,24 +217,12 @@ awful.screen.connect_for_each_screen(function(s) + filter = awful.widget.taglist.filter.all, + buttons = taglist_buttons + } ++ -- and apply shape to it ++ if beautiful.taglist_shape_container then ++ local background_shape_wrapper = wibox.container.background(s.mytaglist) ++ background_shape_wrapper._do_taglist_update_now = s.mytaglist._do_taglist_update_now ++ background_shape_wrapper._do_taglist_update = s.mytaglist._do_taglist_update ++ background_shape_wrapper.shape = beautiful.taglist_shape_container ++ background_shape_wrapper.shape_clip = beautiful.taglist_shape_clip_container ++ background_shape_wrapper.shape_border_width = beautiful.taglist_shape_border_width_container ++ background_shape_wrapper.shape_border_color = beautiful.taglist_shape_border_color_container ++ s.mytaglist = background_shape_wrapper ++ end + + -- Create a tasklist widget + s.mytasklist = awful.widget.tasklist { + screen = s, + filter = awful.widget.tasklist.filter.currenttags, ++ buttons = tasklist_buttons, ++ widget_template = beautiful.tasklist_widget_template +- buttons = tasklist_buttons + } + +--]] +theme.tasklist_widget_template = { + { + { + { + { + id = 'clienticon', + widget = awful_widget_clienticon, + }, + margins = dpi(4), + widget = wibox.container.margin, + }, + { + id = 'text_role', + widget = wibox.widget.textbox, + }, + layout = wibox.layout.fixed.horizontal, + }, + left = dpi(2), + right = dpi(4), + widget = wibox.container.margin + }, + id = 'background_role', + widget = wibox.container.background, + create_callback = function(self, c) + self:get_children_by_id('clienticon')[1].client = c + end, +} + +theme.taglist_shape_container = rounded_rect_shape +theme.taglist_shape_clip_container = true +theme.taglist_shape_border_width_container = theme.gtk.button_border_width * 2 +theme.taglist_shape_border_color_container = theme.gtk.header_button_border_color +-- }}} + +theme.taglist_bg_occupied = theme.gtk.header_button_bg_color +theme.taglist_fg_occupied = theme.gtk.header_button_fg_color + +theme.taglist_bg_empty = mix( + theme.gtk.menubar_bg_color, + theme.gtk.header_button_bg_color, + 0.3 +) +theme.taglist_fg_empty = mix( + theme.gtk.menubar_bg_color, + theme.gtk.header_button_fg_color +) + +theme.titlebar_font_normal = theme.gtk.bold_font +theme.titlebar_bg_normal = theme.gtk.wm_border_unfocused_color +theme.titlebar_fg_normal = theme.gtk.wm_title_unfocused_color +--theme.titlebar_fg_normal = choose_contrast_color( + --theme.titlebar_bg_normal, + --theme.gtk.menubar_fg_color, + --theme.gtk.menubar_bg_color +--) + +theme.titlebar_font_focus = theme.gtk.bold_font +theme.titlebar_bg_focus = theme.gtk.wm_border_focused_color +theme.titlebar_fg_focus = theme.gtk.wm_title_focused_color +--theme.titlebar_fg_focus = choose_contrast_color( + --theme.titlebar_bg_focus, + --theme.gtk.menubar_fg_color, + --theme.gtk.menubar_bg_color +--) + +theme.tooltip_fg = theme.gtk.tooltip_fg_color +theme.tooltip_bg = theme.gtk.tooltip_bg_color + +-- Variables set for theming the menu: +-- menu_[bg|fg]_[normal|focus] +-- menu_[border_color|border_width] + +theme.menu_border_width = theme.gtk.button_border_width +theme.menu_border_color = theme.gtk.menubar_border_color +theme.menu_bg_normal = theme.gtk.menubar_bg_color +theme.menu_fg_normal = theme.gtk.menubar_fg_color + +-- @TODO: get from gtk menu height +theme.menu_height = dpi(24) +theme.menu_width = dpi(150) +theme.menu_submenu_icon = nil +theme.menu_submenu = "▸ " + +-- You can add as many variables as +-- you wish and access them by using +-- beautiful.variable in your rc.lua +--theme.bg_widget = "#cc0000" + + +-- Recolor Layout icons: +theme = theme_assets.recolor_layout(theme, theme.wibar_fg) + +-- Recolor titlebar icons: +-- +theme = theme_assets.recolor_titlebar( + theme, theme.titlebar_fg_normal, "normal" +) +theme = theme_assets.recolor_titlebar( + theme, reduce_contrast(theme.titlebar_fg_normal, 50), "normal", "hover" +) +theme = theme_assets.recolor_titlebar( + theme, theme.gtk.error_bg_color, "normal", "press" +) +theme = theme_assets.recolor_titlebar( + theme, theme.titlebar_fg_focus, "focus" +) +theme = theme_assets.recolor_titlebar( + theme, reduce_contrast(theme.titlebar_fg_focus, 50), "focus", "hover" +) +theme = theme_assets.recolor_titlebar( + theme, theme.gtk.error_bg_color, "focus", "press" +) + +-- Define the icon theme for application icons. If not set then the icons +-- from /usr/share/icons and /usr/share/icons/hicolor will be used. +theme.icon_theme = nil + +-- Generate Awesome icon: +theme.awesome_icon = theme_assets.awesome_icon( + theme.menu_height, mix(theme.bg_focus, theme.fg_normal), theme.wibar_bg +) + +-- Generate taglist squares: +--local taglist_square_size = dpi(4) +--theme.taglist_squares_sel = theme_assets.taglist_squares_sel( + --taglist_square_size, theme.gtk.header_button_border_color +--) +--theme.taglist_squares_unsel = theme_assets.taglist_squares_unsel( + --taglist_square_size, theme.gtk.header_button_border_color +--) +-- Or disable them: +theme.taglist_squares_sel = nil +theme.taglist_squares_unsel = nil + +-- Generate wallpaper: +local wallpaper_bg = theme.gtk.base_color +local wallpaper_fg = theme.gtk.bg_color +local wallpaper_alt_fg = theme.gtk.selected_bg_color +if not is_dark(theme.bg_normal) then + wallpaper_bg, wallpaper_fg = wallpaper_fg, wallpaper_bg +end +wallpaper_bg = reduce_contrast(wallpaper_bg, 50) +wallpaper_fg = reduce_contrast(wallpaper_fg, 30) +wallpaper_fg = mix(wallpaper_fg, wallpaper_bg, 0.4) +wallpaper_alt_fg = mix(wallpaper_alt_fg, wallpaper_fg, 0.4) +theme.wallpaper = function(s) + return theme_assets.wallpaper(wallpaper_bg, wallpaper_fg, wallpaper_alt_fg, s) +end + +return theme + +-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80:foldmethod=marker diff --git a/awesome/.config/awesome/themes/sky/awesome-icon.png b/awesome/.config/awesome/themes/sky/awesome-icon.png new file mode 100644 index 0000000..551564e Binary files /dev/null and b/awesome/.config/awesome/themes/sky/awesome-icon.png differ diff --git a/awesome/.config/awesome/themes/sky/layouts/cornerne.png b/awesome/.config/awesome/themes/sky/layouts/cornerne.png new file mode 100644 index 0000000..221c4c8 Binary files /dev/null and b/awesome/.config/awesome/themes/sky/layouts/cornerne.png differ diff --git a/awesome/.config/awesome/themes/sky/layouts/cornernw.png b/awesome/.config/awesome/themes/sky/layouts/cornernw.png new file mode 100644 index 0000000..1147e5a Binary files /dev/null and b/awesome/.config/awesome/themes/sky/layouts/cornernw.png differ diff --git a/awesome/.config/awesome/themes/sky/layouts/cornerse.png b/awesome/.config/awesome/themes/sky/layouts/cornerse.png new file mode 100644 index 0000000..a0d23bc Binary files /dev/null and b/awesome/.config/awesome/themes/sky/layouts/cornerse.png differ diff --git a/awesome/.config/awesome/themes/sky/layouts/cornersw.png b/awesome/.config/awesome/themes/sky/layouts/cornersw.png new file mode 100644 index 0000000..c608729 Binary files /dev/null and b/awesome/.config/awesome/themes/sky/layouts/cornersw.png differ diff --git a/awesome/.config/awesome/themes/sky/layouts/dwindle.png b/awesome/.config/awesome/themes/sky/layouts/dwindle.png new file mode 100644 index 0000000..c985335 Binary files /dev/null and b/awesome/.config/awesome/themes/sky/layouts/dwindle.png differ diff --git a/awesome/.config/awesome/themes/sky/layouts/fairh.png b/awesome/.config/awesome/themes/sky/layouts/fairh.png new file mode 100644 index 0000000..e8d7ddb Binary files /dev/null and b/awesome/.config/awesome/themes/sky/layouts/fairh.png differ diff --git a/awesome/.config/awesome/themes/sky/layouts/fairv.png b/awesome/.config/awesome/themes/sky/layouts/fairv.png new file mode 100644 index 0000000..ef47f9f Binary files /dev/null and b/awesome/.config/awesome/themes/sky/layouts/fairv.png differ diff --git a/awesome/.config/awesome/themes/sky/layouts/floating.png b/awesome/.config/awesome/themes/sky/layouts/floating.png new file mode 100644 index 0000000..978f723 Binary files /dev/null and b/awesome/.config/awesome/themes/sky/layouts/floating.png differ diff --git a/awesome/.config/awesome/themes/sky/layouts/fullscreen.png b/awesome/.config/awesome/themes/sky/layouts/fullscreen.png new file mode 100644 index 0000000..b1de003 Binary files /dev/null and b/awesome/.config/awesome/themes/sky/layouts/fullscreen.png differ diff --git a/awesome/.config/awesome/themes/sky/layouts/magnifier.png b/awesome/.config/awesome/themes/sky/layouts/magnifier.png new file mode 100644 index 0000000..d69ac68 Binary files /dev/null and b/awesome/.config/awesome/themes/sky/layouts/magnifier.png differ diff --git a/awesome/.config/awesome/themes/sky/layouts/max.png b/awesome/.config/awesome/themes/sky/layouts/max.png new file mode 100644 index 0000000..37491f9 Binary files /dev/null and b/awesome/.config/awesome/themes/sky/layouts/max.png differ diff --git a/awesome/.config/awesome/themes/sky/layouts/spiral.png b/awesome/.config/awesome/themes/sky/layouts/spiral.png new file mode 100644 index 0000000..f0a07ce Binary files /dev/null and b/awesome/.config/awesome/themes/sky/layouts/spiral.png differ diff --git a/awesome/.config/awesome/themes/sky/layouts/tile.png b/awesome/.config/awesome/themes/sky/layouts/tile.png new file mode 100644 index 0000000..550393a Binary files /dev/null and b/awesome/.config/awesome/themes/sky/layouts/tile.png differ diff --git a/awesome/.config/awesome/themes/sky/layouts/tilebottom.png b/awesome/.config/awesome/themes/sky/layouts/tilebottom.png new file mode 100644 index 0000000..1dcc227 Binary files /dev/null and b/awesome/.config/awesome/themes/sky/layouts/tilebottom.png differ diff --git a/awesome/.config/awesome/themes/sky/layouts/tileleft.png b/awesome/.config/awesome/themes/sky/layouts/tileleft.png new file mode 100644 index 0000000..14e13f5 Binary files /dev/null and b/awesome/.config/awesome/themes/sky/layouts/tileleft.png differ diff --git a/awesome/.config/awesome/themes/sky/layouts/tiletop.png b/awesome/.config/awesome/themes/sky/layouts/tiletop.png new file mode 100644 index 0000000..2bcb161 Binary files /dev/null and b/awesome/.config/awesome/themes/sky/layouts/tiletop.png differ diff --git a/awesome/.config/awesome/themes/sky/sky-background.png b/awesome/.config/awesome/themes/sky/sky-background.png new file mode 100644 index 0000000..bbc07cc Binary files /dev/null and b/awesome/.config/awesome/themes/sky/sky-background.png differ diff --git a/awesome/.config/awesome/themes/sky/theme.lua b/awesome/.config/awesome/themes/sky/theme.lua new file mode 100644 index 0000000..0aa7d1b --- /dev/null +++ b/awesome/.config/awesome/themes/sky/theme.lua @@ -0,0 +1,102 @@ +------------------------------- +-- "Sky" awesome theme -- +-- By Andrei "Garoth" Thorp -- +------------------------------- +-- If you want SVGs and extras, get them from garoth.com/awesome/sky-theme + +local theme_assets = require("beautiful.theme_assets") +local xresources = require("beautiful.xresources") +local dpi = xresources.apply_dpi +local themes_path = require("gears.filesystem").get_themes_dir() + + +-- BASICS +local theme = {} +theme.font = "sans 8" + +theme.bg_focus = "#e2eeea" +theme.bg_normal = "#729fcf" +theme.bg_urgent = "#fce94f" +theme.bg_minimize = "#0067ce" +theme.bg_systray = theme.bg_normal + +theme.fg_normal = "#2e3436" +theme.fg_focus = "#2e3436" +theme.fg_urgent = "#2e3436" +theme.fg_minimize = "#2e3436" + +theme.useless_gap = dpi(0) +theme.border_width = dpi(2) +theme.border_normal = "#dae3e0" +theme.border_focus = "#729fcf" +theme.border_marked = "#eeeeec" + +-- IMAGES +theme.layout_fairh = themes_path .. "sky/layouts/fairh.png" +theme.layout_fairv = themes_path .. "sky/layouts/fairv.png" +theme.layout_floating = themes_path .. "sky/layouts/floating.png" +theme.layout_magnifier = themes_path .. "sky/layouts/magnifier.png" +theme.layout_max = themes_path .. "sky/layouts/max.png" +theme.layout_fullscreen = themes_path .. "sky/layouts/fullscreen.png" +theme.layout_tilebottom = themes_path .. "sky/layouts/tilebottom.png" +theme.layout_tileleft = themes_path .. "sky/layouts/tileleft.png" +theme.layout_tile = themes_path .. "sky/layouts/tile.png" +theme.layout_tiletop = themes_path .. "sky/layouts/tiletop.png" +theme.layout_spiral = themes_path .. "sky/layouts/spiral.png" +theme.layout_dwindle = themes_path .. "sky/layouts/dwindle.png" +theme.layout_cornernw = themes_path .. "sky/layouts/cornernw.png" +theme.layout_cornerne = themes_path .. "sky/layouts/cornerne.png" +theme.layout_cornersw = themes_path .. "sky/layouts/cornersw.png" +theme.layout_cornerse = themes_path .. "sky/layouts/cornerse.png" + +theme.awesome_icon = themes_path .. "sky/awesome-icon.png" + +-- from default for now... +theme.menu_submenu_icon = themes_path .. "default/submenu.png" + +-- Generate taglist squares: +local taglist_square_size = dpi(4) +theme.taglist_squares_sel = theme_assets.taglist_squares_sel( + taglist_square_size, theme.fg_normal +) +theme.taglist_squares_unsel = theme_assets.taglist_squares_unsel( + taglist_square_size, theme.fg_normal +) + +-- MISC +theme.wallpaper = themes_path .. "sky/sky-background.png" +theme.taglist_squares = "true" +theme.titlebar_close_button = "true" +theme.menu_height = dpi(15) +theme.menu_width = dpi(100) + +-- Define the image to load +theme.titlebar_close_button_normal = themes_path .. "default/titlebar/close_normal.png" +theme.titlebar_close_button_focus = themes_path .. "default/titlebar/close_focus.png" + +theme.titlebar_minimize_button_normal = themes_path .. "default/titlebar/minimize_normal.png" +theme.titlebar_minimize_button_focus = themes_path .. "default/titlebar/minimize_focus.png" + +theme.titlebar_ontop_button_normal_inactive = themes_path .. "default/titlebar/ontop_normal_inactive.png" +theme.titlebar_ontop_button_focus_inactive = themes_path .. "default/titlebar/ontop_focus_inactive.png" +theme.titlebar_ontop_button_normal_active = themes_path .. "default/titlebar/ontop_normal_active.png" +theme.titlebar_ontop_button_focus_active = themes_path .. "default/titlebar/ontop_focus_active.png" + +theme.titlebar_sticky_button_normal_inactive = themes_path .. "default/titlebar/sticky_normal_inactive.png" +theme.titlebar_sticky_button_focus_inactive = themes_path .. "default/titlebar/sticky_focus_inactive.png" +theme.titlebar_sticky_button_normal_active = themes_path .. "default/titlebar/sticky_normal_active.png" +theme.titlebar_sticky_button_focus_active = themes_path .. "default/titlebar/sticky_focus_active.png" + +theme.titlebar_floating_button_normal_inactive = themes_path .. "default/titlebar/floating_normal_inactive.png" +theme.titlebar_floating_button_focus_inactive = themes_path .. "default/titlebar/floating_focus_inactive.png" +theme.titlebar_floating_button_normal_active = themes_path .. "default/titlebar/floating_normal_active.png" +theme.titlebar_floating_button_focus_active = themes_path .. "default/titlebar/floating_focus_active.png" + +theme.titlebar_maximized_button_normal_inactive = themes_path .. "default/titlebar/maximized_normal_inactive.png" +theme.titlebar_maximized_button_focus_inactive = themes_path .. "default/titlebar/maximized_focus_inactive.png" +theme.titlebar_maximized_button_normal_active = themes_path .. "default/titlebar/maximized_normal_active.png" +theme.titlebar_maximized_button_focus_active = themes_path .. "default/titlebar/maximized_focus_active.png" + +return theme + +-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80 diff --git a/awesome/.config/awesome/themes/xresources/assets.lua b/awesome/.config/awesome/themes/xresources/assets.lua new file mode 100644 index 0000000..4fb307a --- /dev/null +++ b/awesome/.config/awesome/themes/xresources/assets.lua @@ -0,0 +1,2 @@ +require("gears.debug").deprecate("Use beautiful.theme_assets instead.", {raw=true}) +return require("beautiful.theme_assets") diff --git a/awesome/.config/awesome/themes/xresources/theme.lua b/awesome/.config/awesome/themes/xresources/theme.lua new file mode 100644 index 0000000..e11a83c --- /dev/null +++ b/awesome/.config/awesome/themes/xresources/theme.lua @@ -0,0 +1,134 @@ +--------------------------------------------- +-- Awesome theme which follows xrdb config -- +-- by Yauhen Kirylau -- +--------------------------------------------- + +local theme_assets = require("beautiful.theme_assets") +local xresources = require("beautiful.xresources") +local dpi = xresources.apply_dpi +local xrdb = xresources.get_current_theme() +local gfs = require("gears.filesystem") +local themes_path = gfs.get_themes_dir() + +-- inherit default theme +local theme = dofile(themes_path.."default/theme.lua") +-- load vector assets' generators for this theme + +theme.font = "sans 8" + +theme.bg_normal = xrdb.background +theme.bg_focus = xrdb.color12 +theme.bg_urgent = xrdb.color9 +theme.bg_minimize = xrdb.color8 +theme.bg_systray = theme.bg_normal + +theme.fg_normal = xrdb.foreground +theme.fg_focus = theme.bg_normal +theme.fg_urgent = theme.bg_normal +theme.fg_minimize = theme.bg_normal + +theme.useless_gap = dpi(3) +theme.border_width = dpi(2) +theme.border_normal = xrdb.color0 +theme.border_focus = theme.bg_focus +theme.border_marked = xrdb.color10 + +-- There are other variable sets +-- overriding the default one when +-- defined, the sets are: +-- taglist_[bg|fg]_[focus|urgent|occupied|empty|volatile] +-- tasklist_[bg|fg]_[focus|urgent] +-- titlebar_[bg|fg]_[normal|focus] +-- tooltip_[font|opacity|fg_color|bg_color|border_width|border_color] +-- mouse_finder_[color|timeout|animate_timeout|radius|factor] +-- Example: +--theme.taglist_bg_focus = "#ff0000" + +theme.tooltip_fg = theme.fg_normal +theme.tooltip_bg = theme.bg_normal + +-- Variables set for theming the menu: +-- menu_[bg|fg]_[normal|focus] +-- menu_[border_color|border_width] +theme.menu_submenu_icon = themes_path.."default/submenu.png" +theme.menu_height = dpi(16) +theme.menu_width = dpi(100) + +-- You can add as many variables as +-- you wish and access them by using +-- beautiful.variable in your rc.lua +--theme.bg_widget = "#cc0000" + +-- Recolor Layout icons: +theme = theme_assets.recolor_layout(theme, theme.fg_normal) + +-- Recolor titlebar icons: +-- +local function darker(color_value, darker_n) + local result = "#" + for s in color_value:gmatch("[a-fA-F0-9][a-fA-F0-9]") do + local bg_numeric_value = tonumber("0x"..s) - darker_n + if bg_numeric_value < 0 then bg_numeric_value = 0 end + if bg_numeric_value > 255 then bg_numeric_value = 255 end + result = result .. string.format("%2.2x", bg_numeric_value) + end + return result +end +theme = theme_assets.recolor_titlebar( + theme, theme.fg_normal, "normal" +) +theme = theme_assets.recolor_titlebar( + theme, darker(theme.fg_normal, -60), "normal", "hover" +) +theme = theme_assets.recolor_titlebar( + theme, xrdb.color1, "normal", "press" +) +theme = theme_assets.recolor_titlebar( + theme, theme.fg_focus, "focus" +) +theme = theme_assets.recolor_titlebar( + theme, darker(theme.fg_focus, -60), "focus", "hover" +) +theme = theme_assets.recolor_titlebar( + theme, xrdb.color1, "focus", "press" +) + +-- Define the icon theme for application icons. If not set then the icons +-- from /usr/share/icons and /usr/share/icons/hicolor will be used. +theme.icon_theme = nil + +-- Generate Awesome icon: +theme.awesome_icon = theme_assets.awesome_icon( + theme.menu_height, theme.bg_focus, theme.fg_focus +) + +-- Generate taglist squares: +local taglist_square_size = dpi(4) +theme.taglist_squares_sel = theme_assets.taglist_squares_sel( + taglist_square_size, theme.fg_normal +) +theme.taglist_squares_unsel = theme_assets.taglist_squares_unsel( + taglist_square_size, theme.fg_normal +) + +-- Try to determine if we are running light or dark colorscheme: +local bg_numberic_value = 0; +for s in theme.bg_normal:gmatch("[a-fA-F0-9][a-fA-F0-9]") do + bg_numberic_value = bg_numberic_value + tonumber("0x"..s); +end +local is_dark_bg = (bg_numberic_value < 383) + +-- Generate wallpaper: +local wallpaper_bg = xrdb.color8 +local wallpaper_fg = xrdb.color7 +local wallpaper_alt_fg = xrdb.color12 +if not is_dark_bg then + wallpaper_bg, wallpaper_fg = wallpaper_fg, wallpaper_bg +end +theme.wallpaper = function(s) + return theme_assets.wallpaper(wallpaper_bg, wallpaper_fg, wallpaper_alt_fg, s) +end + +return theme + +-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80 diff --git a/awesome/.config/awesome/themes/zenburn/awesome-icon.png b/awesome/.config/awesome/themes/zenburn/awesome-icon.png new file mode 100644 index 0000000..70978d3 Binary files /dev/null and b/awesome/.config/awesome/themes/zenburn/awesome-icon.png differ diff --git a/awesome/.config/awesome/themes/zenburn/layouts/cornerne.png b/awesome/.config/awesome/themes/zenburn/layouts/cornerne.png new file mode 100644 index 0000000..d541a43 Binary files /dev/null and b/awesome/.config/awesome/themes/zenburn/layouts/cornerne.png differ diff --git a/awesome/.config/awesome/themes/zenburn/layouts/cornernw.png b/awesome/.config/awesome/themes/zenburn/layouts/cornernw.png new file mode 100644 index 0000000..78fa394 Binary files /dev/null and b/awesome/.config/awesome/themes/zenburn/layouts/cornernw.png differ diff --git a/awesome/.config/awesome/themes/zenburn/layouts/cornerse.png b/awesome/.config/awesome/themes/zenburn/layouts/cornerse.png new file mode 100644 index 0000000..19b85c3 Binary files /dev/null and b/awesome/.config/awesome/themes/zenburn/layouts/cornerse.png differ diff --git a/awesome/.config/awesome/themes/zenburn/layouts/cornersw.png b/awesome/.config/awesome/themes/zenburn/layouts/cornersw.png new file mode 100644 index 0000000..a35c476 Binary files /dev/null and b/awesome/.config/awesome/themes/zenburn/layouts/cornersw.png differ diff --git a/awesome/.config/awesome/themes/zenburn/layouts/dwindle.png b/awesome/.config/awesome/themes/zenburn/layouts/dwindle.png new file mode 100644 index 0000000..1aa4bf2 Binary files /dev/null and b/awesome/.config/awesome/themes/zenburn/layouts/dwindle.png differ diff --git a/awesome/.config/awesome/themes/zenburn/layouts/fairh.png b/awesome/.config/awesome/themes/zenburn/layouts/fairh.png new file mode 100644 index 0000000..e176bb3 Binary files /dev/null and b/awesome/.config/awesome/themes/zenburn/layouts/fairh.png differ diff --git a/awesome/.config/awesome/themes/zenburn/layouts/fairv.png b/awesome/.config/awesome/themes/zenburn/layouts/fairv.png new file mode 100644 index 0000000..7c0a92c Binary files /dev/null and b/awesome/.config/awesome/themes/zenburn/layouts/fairv.png differ diff --git a/awesome/.config/awesome/themes/zenburn/layouts/floating.png b/awesome/.config/awesome/themes/zenburn/layouts/floating.png new file mode 100644 index 0000000..a399092 Binary files /dev/null and b/awesome/.config/awesome/themes/zenburn/layouts/floating.png differ diff --git a/awesome/.config/awesome/themes/zenburn/layouts/fullscreen.png b/awesome/.config/awesome/themes/zenburn/layouts/fullscreen.png new file mode 100644 index 0000000..a0c795c Binary files /dev/null and b/awesome/.config/awesome/themes/zenburn/layouts/fullscreen.png differ diff --git a/awesome/.config/awesome/themes/zenburn/layouts/magnifier.png b/awesome/.config/awesome/themes/zenburn/layouts/magnifier.png new file mode 100644 index 0000000..bca6db9 Binary files /dev/null and b/awesome/.config/awesome/themes/zenburn/layouts/magnifier.png differ diff --git a/awesome/.config/awesome/themes/zenburn/layouts/max.png b/awesome/.config/awesome/themes/zenburn/layouts/max.png new file mode 100644 index 0000000..a24900c Binary files /dev/null and b/awesome/.config/awesome/themes/zenburn/layouts/max.png differ diff --git a/awesome/.config/awesome/themes/zenburn/layouts/spiral.png b/awesome/.config/awesome/themes/zenburn/layouts/spiral.png new file mode 100644 index 0000000..8f5aeed Binary files /dev/null and b/awesome/.config/awesome/themes/zenburn/layouts/spiral.png differ diff --git a/awesome/.config/awesome/themes/zenburn/layouts/tile.png b/awesome/.config/awesome/themes/zenburn/layouts/tile.png new file mode 100644 index 0000000..3fcc904 Binary files /dev/null and b/awesome/.config/awesome/themes/zenburn/layouts/tile.png differ diff --git a/awesome/.config/awesome/themes/zenburn/layouts/tilebottom.png b/awesome/.config/awesome/themes/zenburn/layouts/tilebottom.png new file mode 100644 index 0000000..dfe7832 Binary files /dev/null and b/awesome/.config/awesome/themes/zenburn/layouts/tilebottom.png differ diff --git a/awesome/.config/awesome/themes/zenburn/layouts/tileleft.png b/awesome/.config/awesome/themes/zenburn/layouts/tileleft.png new file mode 100644 index 0000000..c5decfd Binary files /dev/null and b/awesome/.config/awesome/themes/zenburn/layouts/tileleft.png differ diff --git a/awesome/.config/awesome/themes/zenburn/layouts/tiletop.png b/awesome/.config/awesome/themes/zenburn/layouts/tiletop.png new file mode 100644 index 0000000..b251661 Binary files /dev/null and b/awesome/.config/awesome/themes/zenburn/layouts/tiletop.png differ diff --git a/awesome/.config/awesome/themes/zenburn/taglist/squarefz.png b/awesome/.config/awesome/themes/zenburn/taglist/squarefz.png new file mode 100644 index 0000000..0927720 Binary files /dev/null and b/awesome/.config/awesome/themes/zenburn/taglist/squarefz.png differ diff --git a/awesome/.config/awesome/themes/zenburn/taglist/squarez.png b/awesome/.config/awesome/themes/zenburn/taglist/squarez.png new file mode 100644 index 0000000..9b41c26 Binary files /dev/null and b/awesome/.config/awesome/themes/zenburn/taglist/squarez.png differ diff --git a/awesome/.config/awesome/themes/zenburn/theme.lua b/awesome/.config/awesome/themes/zenburn/theme.lua new file mode 100644 index 0000000..2b6fa08 --- /dev/null +++ b/awesome/.config/awesome/themes/zenburn/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/awesome/.config/awesome/themes/zenburn/titlebar/close_focus.png b/awesome/.config/awesome/themes/zenburn/titlebar/close_focus.png new file mode 100644 index 0000000..cccbadc Binary files /dev/null and b/awesome/.config/awesome/themes/zenburn/titlebar/close_focus.png differ diff --git a/awesome/.config/awesome/themes/zenburn/titlebar/close_normal.png b/awesome/.config/awesome/themes/zenburn/titlebar/close_normal.png new file mode 100644 index 0000000..6e6b645 Binary files /dev/null and b/awesome/.config/awesome/themes/zenburn/titlebar/close_normal.png differ diff --git a/awesome/.config/awesome/themes/zenburn/titlebar/floating_focus_active.png b/awesome/.config/awesome/themes/zenburn/titlebar/floating_focus_active.png new file mode 100644 index 0000000..77ea127 Binary files /dev/null and b/awesome/.config/awesome/themes/zenburn/titlebar/floating_focus_active.png differ diff --git a/awesome/.config/awesome/themes/zenburn/titlebar/floating_focus_inactive.png b/awesome/.config/awesome/themes/zenburn/titlebar/floating_focus_inactive.png new file mode 100644 index 0000000..94b0360 Binary files /dev/null and b/awesome/.config/awesome/themes/zenburn/titlebar/floating_focus_inactive.png differ diff --git a/awesome/.config/awesome/themes/zenburn/titlebar/floating_normal_active.png b/awesome/.config/awesome/themes/zenburn/titlebar/floating_normal_active.png new file mode 100644 index 0000000..878a9fb Binary files /dev/null and b/awesome/.config/awesome/themes/zenburn/titlebar/floating_normal_active.png differ diff --git a/awesome/.config/awesome/themes/zenburn/titlebar/floating_normal_inactive.png b/awesome/.config/awesome/themes/zenburn/titlebar/floating_normal_inactive.png new file mode 100644 index 0000000..4147c7d Binary files /dev/null and b/awesome/.config/awesome/themes/zenburn/titlebar/floating_normal_inactive.png differ diff --git a/awesome/.config/awesome/themes/zenburn/titlebar/maximized_focus_active.png b/awesome/.config/awesome/themes/zenburn/titlebar/maximized_focus_active.png new file mode 100644 index 0000000..9fc0483 Binary files /dev/null and b/awesome/.config/awesome/themes/zenburn/titlebar/maximized_focus_active.png differ diff --git a/awesome/.config/awesome/themes/zenburn/titlebar/maximized_focus_inactive.png b/awesome/.config/awesome/themes/zenburn/titlebar/maximized_focus_inactive.png new file mode 100644 index 0000000..298751c Binary files /dev/null and b/awesome/.config/awesome/themes/zenburn/titlebar/maximized_focus_inactive.png differ diff --git a/awesome/.config/awesome/themes/zenburn/titlebar/maximized_normal_active.png b/awesome/.config/awesome/themes/zenburn/titlebar/maximized_normal_active.png new file mode 100644 index 0000000..1dca071 Binary files /dev/null and b/awesome/.config/awesome/themes/zenburn/titlebar/maximized_normal_active.png differ diff --git a/awesome/.config/awesome/themes/zenburn/titlebar/maximized_normal_inactive.png b/awesome/.config/awesome/themes/zenburn/titlebar/maximized_normal_inactive.png new file mode 100644 index 0000000..f943ac7 Binary files /dev/null and b/awesome/.config/awesome/themes/zenburn/titlebar/maximized_normal_inactive.png differ diff --git a/awesome/.config/awesome/themes/zenburn/titlebar/ontop_focus_active.png b/awesome/.config/awesome/themes/zenburn/titlebar/ontop_focus_active.png new file mode 100644 index 0000000..86e61b7 Binary files /dev/null and b/awesome/.config/awesome/themes/zenburn/titlebar/ontop_focus_active.png differ diff --git a/awesome/.config/awesome/themes/zenburn/titlebar/ontop_focus_inactive.png b/awesome/.config/awesome/themes/zenburn/titlebar/ontop_focus_inactive.png new file mode 100644 index 0000000..04bc63a Binary files /dev/null and b/awesome/.config/awesome/themes/zenburn/titlebar/ontop_focus_inactive.png differ diff --git a/awesome/.config/awesome/themes/zenburn/titlebar/ontop_normal_active.png b/awesome/.config/awesome/themes/zenburn/titlebar/ontop_normal_active.png new file mode 100644 index 0000000..8d9cb5b Binary files /dev/null and b/awesome/.config/awesome/themes/zenburn/titlebar/ontop_normal_active.png differ diff --git a/awesome/.config/awesome/themes/zenburn/titlebar/ontop_normal_inactive.png b/awesome/.config/awesome/themes/zenburn/titlebar/ontop_normal_inactive.png new file mode 100644 index 0000000..d383c77 Binary files /dev/null and b/awesome/.config/awesome/themes/zenburn/titlebar/ontop_normal_inactive.png differ diff --git a/awesome/.config/awesome/themes/zenburn/titlebar/sticky_focus_active.png b/awesome/.config/awesome/themes/zenburn/titlebar/sticky_focus_active.png new file mode 100644 index 0000000..5af45c1 Binary files /dev/null and b/awesome/.config/awesome/themes/zenburn/titlebar/sticky_focus_active.png differ diff --git a/awesome/.config/awesome/themes/zenburn/titlebar/sticky_focus_inactive.png b/awesome/.config/awesome/themes/zenburn/titlebar/sticky_focus_inactive.png new file mode 100644 index 0000000..1a0c481 Binary files /dev/null and b/awesome/.config/awesome/themes/zenburn/titlebar/sticky_focus_inactive.png differ diff --git a/awesome/.config/awesome/themes/zenburn/titlebar/sticky_normal_active.png b/awesome/.config/awesome/themes/zenburn/titlebar/sticky_normal_active.png new file mode 100644 index 0000000..50a6d2b Binary files /dev/null and b/awesome/.config/awesome/themes/zenburn/titlebar/sticky_normal_active.png differ diff --git a/awesome/.config/awesome/themes/zenburn/titlebar/sticky_normal_inactive.png b/awesome/.config/awesome/themes/zenburn/titlebar/sticky_normal_inactive.png new file mode 100644 index 0000000..ea09406 Binary files /dev/null and b/awesome/.config/awesome/themes/zenburn/titlebar/sticky_normal_inactive.png differ diff --git a/awesome/.config/awesome/themes/zenburn/zenburn-background.png b/awesome/.config/awesome/themes/zenburn/zenburn-background.png new file mode 100644 index 0000000..b2c14d9 Binary files /dev/null and b/awesome/.config/awesome/themes/zenburn/zenburn-background.png differ diff --git a/awesome/.config/awesome/ui/README.org b/awesome/.config/awesome/ui/README.org new file mode 100644 index 0000000..e049920 --- /dev/null +++ b/awesome/.config/awesome/ui/README.org @@ -0,0 +1,4 @@ +* AwesomeWM User Interface + +The files for the AwesomeWM User Interface is stored here, this contains system +panels and dashboards etc. diff --git a/awesome/.config/awesome/ui/init.lua b/awesome/.config/awesome/ui/init.lua new file mode 100644 index 0000000..fdb2a48 --- /dev/null +++ b/awesome/.config/awesome/ui/init.lua @@ -0,0 +1,58 @@ +local awful = require('awful') +local top_panel = require('ui.top-panel') + +-- Create a wibox for each screen and add it +awful.screen.connect_for_each_screen( + function(s) + + -- You can get edit/rid of this conditional if you want certain bars on specific screens or all screens etc. + if s.index == 1 then + + s.top_panel = top_panel(s) + + end + end +) + +-- Hide bars when app go fullscreen +function updateBarsVisibility() + for s in screen do + if s.selected_tag then + local fullscreen = s.selected_tag.fullscreenMode + + -- These are the bars that are hidden when on any fullscreen mode (The awesomewm fullscreen mode and app fullscren modes like youtube) + -- If you want bars to be invisible when you fullscreen an app, you can do so like so : + s.top_panel.visible = not fullscreen + + -- If you want bars to be visible even when you fullscreen an app, you can do it like so : + -- s.top_panel.visible = visible + + -- I'm sure you can figure out other things you can do here + end + end +end + +_G.tag.connect_signal( + 'property::selected', + function(t) + updateBarsVisibility() + end +) + +_G.client.connect_signal( + 'property::fullscreen', + function(c) + c.screen.selected_tag.fullscreenMode = c.fullscreen + updateBarsVisibility() + end +) + +_G.client.connect_signal( + 'unmanage', + function(c) + if c.fullscreen then + c.screen.selected_tag.fullscreenMode = false + updateBarsVisibility() + end + end +) diff --git a/awesome/.config/awesome/ui/top-panel/init.lua b/awesome/.config/awesome/ui/top-panel/init.lua new file mode 100644 index 0000000..0fc5a5d --- /dev/null +++ b/awesome/.config/awesome/ui/top-panel/init.lua @@ -0,0 +1,61 @@ +local awful = require('awful') +local beautiful = require('beautiful') +local wibox = require('wibox') +local gears = require('gears') + +configuration = require('configuration.config') +require('widgets.top-panel') + +local TopPanel = function(s) + + -- Wiboxes are much more flexible than wibars simply for the fact that there are no defaults, however if you'd rather have the ease of a wibar you can replace this with the original wibar code + local panel = + wibox( + { + ontop = true, + screen = s, + height = configuration.toppanel_height, + width = s.geometry.width, + x = s.geometry.x, + y = s.geometry.y, + stretch = false, + bg = beautiful.background, + fg = beautiful.fg_normal, + struts = { + top = configuration.toppanel_height + } + } + ) + + panel:struts( + { + top = configuration.toppanel_height + } + ) + -- + + panel:setup { + layout = wibox.layout.align.horizontal, + { -- Left widgets + layout = wibox.layout.fixed.horizontal, + --mylauncher, + s.mytaglist, + s.mypromptbox, + }, + { -- Middle Widgets + layout = wibox.layout.fixed.horizontal, + spacing = beautiful.wibar_spacing, + }, + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + mytextclock, + s.mylayoutbox, + }, + } + + + return panel +end + +return TopPanel + diff --git a/awesome/.config/awesome/widgets/README.org b/awesome/.config/awesome/widgets/README.org new file mode 100644 index 0000000..a290863 --- /dev/null +++ b/awesome/.config/awesome/widgets/README.org @@ -0,0 +1,4 @@ +* AwesomeWM Widgets + +The files for AwesomeWM Widgets are stored here, these contain a variety of +things that are all placed onto wiboxes. diff --git a/awesome/.config/awesome/widgets/mainmenu.lua b/awesome/.config/awesome/widgets/mainmenu.lua new file mode 100644 index 0000000..e874f46 --- /dev/null +++ b/awesome/.config/awesome/widgets/mainmenu.lua @@ -0,0 +1,22 @@ +local gears = require("gears") +local awful = require("awful") +local beautiful = require("beautiful") +local hotkeys_popup = require("awful.hotkeys_popup") +require("configuration.apps") + +-- {{{ Menu +-- Create a launcher widget and a main menu +myawesomemenu = { + { "hotkeys", function() hotkeys_popup.show_help(nil, awful.screen.focused()) end }, + { "manual", apps.terminal .. " -e man awesome" }, + { "edit config", apps.editor_cmd .. " " .. awesome.conffile }, + { "restart", awesome.restart }, + { "quit", function() awesome.quit() end }, +} + +mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon }, + { "open terminal", apps.terminal } +} + }) + + diff --git a/awesome/.config/awesome/widgets/top-panel/init.lua b/awesome/.config/awesome/widgets/top-panel/init.lua new file mode 100644 index 0000000..e140094 --- /dev/null +++ b/awesome/.config/awesome/widgets/top-panel/init.lua @@ -0,0 +1,7 @@ +require('widgets.top-panel.keyboardlayout') +require('widgets.top-panel.launcher') +require('widgets.top-panel.layoutbox') +require('widgets.top-panel.promptbox') +require('widgets.top-panel.taglist') +require('widgets.top-panel.tasklist') +require('widgets.top-panel.textclock') diff --git a/awesome/.config/awesome/widgets/top-panel/keyboardlayout.lua b/awesome/.config/awesome/widgets/top-panel/keyboardlayout.lua new file mode 100644 index 0000000..ab214b6 --- /dev/null +++ b/awesome/.config/awesome/widgets/top-panel/keyboardlayout.lua @@ -0,0 +1,5 @@ +local wibox = require("wibox") +local awful = require("awful") + +-- Keyboard map indicator and switcher +mykeyboardlayout = awful.widget.keyboardlayout() diff --git a/awesome/.config/awesome/widgets/top-panel/launcher.lua b/awesome/.config/awesome/widgets/top-panel/launcher.lua new file mode 100644 index 0000000..6a18be1 --- /dev/null +++ b/awesome/.config/awesome/widgets/top-panel/launcher.lua @@ -0,0 +1,6 @@ +local awful = require("awful") +local beautiful = require("beautiful") +require("widgets.mainmenu") + +mylauncher = awful.widget.launcher({ image = beautiful.awesome_icon, + menu = mymainmenu }) diff --git a/awesome/.config/awesome/widgets/top-panel/layoutbox.lua b/awesome/.config/awesome/widgets/top-panel/layoutbox.lua new file mode 100644 index 0000000..05fde9d --- /dev/null +++ b/awesome/.config/awesome/widgets/top-panel/layoutbox.lua @@ -0,0 +1,15 @@ +local awful = require("awful") +local gears = require("gears") + + +awful.screen.connect_for_each_screen(function(s) + -- 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))) +end) + diff --git a/awesome/.config/awesome/widgets/top-panel/menubar.lua b/awesome/.config/awesome/widgets/top-panel/menubar.lua new file mode 100644 index 0000000..985ca6d --- /dev/null +++ b/awesome/.config/awesome/widgets/top-panel/menubar.lua @@ -0,0 +1,7 @@ +local awful = require("awful") + +-- Create a promptbox for each screen +awful.screen.connect_for_each_screen(function(s) + s.mymenubox = menubar +end) + diff --git a/awesome/.config/awesome/widgets/top-panel/promptbox.lua b/awesome/.config/awesome/widgets/top-panel/promptbox.lua new file mode 100644 index 0000000..4399c3e --- /dev/null +++ b/awesome/.config/awesome/widgets/top-panel/promptbox.lua @@ -0,0 +1,7 @@ +local awful = require("awful") + +-- Create a promptbox for each screen +awful.screen.connect_for_each_screen(function(s) + s.mypromptbox = awful.widget.prompt() +end) + diff --git a/awesome/.config/awesome/widgets/top-panel/taglist.lua b/awesome/.config/awesome/widgets/top-panel/taglist.lua new file mode 100644 index 0000000..9268204 --- /dev/null +++ b/awesome/.config/awesome/widgets/top-panel/taglist.lua @@ -0,0 +1,33 @@ +local awful = require("awful") +local gears = require("gears") + + +-- 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) +) + +-- Create a promptbox for each screen +-- This works, however it may be better to inherit the s variable from the top panel itself +awful.screen.connect_for_each_screen(function(s) + s.mytaglist = awful.widget.taglist { + screen = s, + filter = awful.widget.taglist.filter.all, + buttons = taglist_buttons + } + +end) + diff --git a/awesome/.config/awesome/widgets/top-panel/tasklist.lua b/awesome/.config/awesome/widgets/top-panel/tasklist.lua new file mode 100644 index 0000000..b38b2cf --- /dev/null +++ b/awesome/.config/awesome/widgets/top-panel/tasklist.lua @@ -0,0 +1,34 @@ +local awful = require("awful") +local gears = require("gears") + +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)) + +-- Create a tasklist widget +-- This works, however it may be better to inherit the s variable from the top panel itself +awful.screen.connect_for_each_screen(function(s) + s.mytasklist = awful.widget.tasklist { + screen = s, + filter = awful.widget.tasklist.filter.currenttags, + buttons = tasklist_buttons + } +end) diff --git a/awesome/.config/awesome/widgets/top-panel/textclock.lua b/awesome/.config/awesome/widgets/top-panel/textclock.lua new file mode 100644 index 0000000..7c6fd6f --- /dev/null +++ b/awesome/.config/awesome/widgets/top-panel/textclock.lua @@ -0,0 +1,4 @@ +local wibox = require("wibox") + +-- Create a textclock widget +mytextclock = wibox.widget.textclock()