diff --git a/awesome/.config/awesome/alias-config.lua b/awesome/.config/awesome/alias-config.lua new file mode 100644 index 0000000..4f9e8ce --- /dev/null +++ b/awesome/.config/awesome/alias-config.lua @@ -0,0 +1,32 @@ +----------------------------------------------------------------------------------------------------------------------- +-- Application aliases for tasklist widget -- +----------------------------------------------------------------------------------------------------------------------- + +local appnames = {} + +appnames["Exaile" ] = "EXAILE" +appnames["Pragha" ] = "PRAG" +appnames["Smplayer" ] = "SMPL" +appnames["Firefox" ] = "FIFOX" +appnames["Gnome-terminal" ] = "GTERM" +appnames["Gnome-system-monitor"] = "SYSMN" +appnames["Gthumb" ] = "THUMB" +appnames["Gimp-2.8" ] = "GIMP" +appnames["Gimp-2.10" ] = "GIMP" +appnames["Goldendict" ] = "GDIC" +appnames["Easytag" ] = "ETAG" +appnames["Mcomix" ] = "COMIX" +appnames["Claws-mail" ] = "CMAIL" +appnames["Evolution" ] = "EVOM" +appnames["URxvt" ] = "RXVT" +appnames["VirtualBox" ] = "VBOX" +appnames["Keepassx" ] = "KPASS" +appnames["keepassxc" ] = "KPASS" +appnames["Evince" ] = "EVINCE" +appnames["Thunderbird" ] = "TBIRD" +appnames["jetbrains-pycharm-ce"] = "PYCRM" +appnames["jetbrains-clion" ] = "CLION" +appnames["Qemu-system-x86_64" ] = "QEMU" + +return appnames + diff --git a/awesome/.config/awesome/env-config.lua b/awesome/.config/awesome/env-config.lua index acc792e..8903d66 100644 --- a/awesome/.config/awesome/env-config.lua +++ b/awesome/.config/awesome/env-config.lua @@ -31,7 +31,7 @@ function env:init(args) self.mod = args.mod or "Mod4" self.fm = args.fm or "nemo" self.mail = args.mail or "thunderbird" - self.player = args.player or self.terminal .. "-e ncmpcpp" + self.player = args.player or "mpd" self.updates = args.updates or "bash -c 'pacman -Qu | grep -v ignored | wc -l'" self.home = os.getenv("HOME") self.themedir = awful.util.get_configuration_dir() .. "themes/default" diff --git a/awesome/.config/awesome/key.old b/awesome/.config/awesome/key.old new file mode 100644 index 0000000..83879d0 --- /dev/null +++ b/awesome/.config/awesome/key.old @@ -0,0 +1,230 @@ +-- {{{ Key bindings +globalkeys = gears.table.join( + awful.key({ env.mod }, "b", function () + mouse.screen.mywibox.visible = not mouse.screen.mywibox.visible + end,{description="togle wibox",group="awesome"}), + awful.key({ env.mod, }, "s", hotkeys_popup.show_help, + {description="show help", group="awesome"}), + awful.key({ env.mod, }, "e", revelation, + {description="revelation shortcut",group="awesome"}), + awful.key({ env.mod, }, "Left", awful.tag.viewprev, + {description = "view previous", group = "tag"}), + awful.key({ env.mod, }, "Right", awful.tag.viewnext, + {description = "view next", group = "tag"}), + awful.key({ env.mod, }, "Escape", awful.tag.history.restore, + {description = "go back", group = "tag"}), + awful.key({ "Shift" }, "Alt_L", function() mykeyboardlayout.next_layout(); end), + awful.key({ env.mod, }, "j", + function () + awful.client.focus.byidx( 1) + end, + {description = "focus next by index", group = "client"} + ), + awful.key({ env.mod, }, "k", + function () + awful.client.focus.byidx(-1) + end, + {description = "focus previous by index", group = "client"} + ), + awful.key({env.mod,"Shift"},"o" , function() xrandr.xrandr() end, + {description = "xrandr shortcut", group = "awesome"}), + awful.key({ env.mod, }, "w", function () mainmenu.mainmenu:show() end, + {description = "show main menu", group = "awesome"}), + + -- Layout manipulation + awful.key({ env.mod, "Shift" }, "j", function () awful.client.swap.byidx( 1) end, + {description = "swap with next client by index", group = "client"}), + awful.key({ env.mod, "Shift" }, "k", function () awful.client.swap.byidx( -1) end, + {description = "swap with previous client by index", group = "client"}), + awful.key({ env.mod, "Control" }, "j", function () awful.screen.focus_relative( 1) end, + {description = "focus the next screen", group = "screen"}), + awful.key({ env.mod, "Control" }, "k", function () awful.screen.focus_relative(-1) end, + {description = "focus the previous screen", group = "screen"}), + awful.key({ env.mod, }, "u", awful.client.urgent.jumpto, + {description = "jump to urgent client", group = "client"}), + awful.key({ env.mod, }, "Tab", + function () + awful.client.focus.history.previous() + if client.focus then + client.focus:raise() + end + end, + {description = "go back", group = "client"}), + + -- Standard program + -- Dropdown application + awful.key({ env.mod, }, "Return", function () awful.spawn(terminal) end, + {description = "open a terminal", group = "launcher"}), + awful.key({ env.mod, "Control" }, "r", awesome.restart, + {description = "reload awesome", group = "awesome"}), + awful.key({ env.mod, "Shift" }, "q", awesome.quit, + {description = "quit awesome", group = "awesome"}), + + awful.key({ env.mod, }, "l", function () awful.tag.incmwfact( 0.05) end, + {description = "increase master width factor", group = "layout"}), + awful.key({ env.mod, }, "h", function () awful.tag.incmwfact(-0.05) end, + {description = "decrease master width factor", group = "layout"}), + awful.key({ env.mod, "Shift" }, "h", function () awful.tag.incnmaster( 1, nil, true) end, + {description = "increase the number of master clients", group = "layout"}), + awful.key({ env.mod, "Shift" }, "l", function () awful.tag.incnmaster(-1, nil, true) end, + {description = "decrease the number of master clients", group = "layout"}), + awful.key({ env.mod, "Control" }, "h", function () awful.tag.incncol( 1, nil, true) end, + {description = "increase the number of columns", group = "layout"}), + awful.key({ env.mod, "Control" }, "l", function () awful.tag.incncol(-1, nil, true) end, + {description = "decrease the number of columns", group = "layout"}), + awful.key({ env.mod, }, "space", function () awful.layout.inc( 1) end, + {description = "select next", group = "layout"}), + awful.key({ env.mod, "Shift" }, "space", function () awful.layout.inc(-1) end, + {description = "select previous", group = "layout"}), + + awful.key({ env.mod, "Control" }, "n", + function () + local c = awful.client.restore() + -- Focus restored client + if c then + client.focus = c + c:raise() + end + end, + {description = "restore minimized", group = "client"}), + + -- Prompt + awful.key({ env.mod }, "r", function () awful.screen.focused().mypromptbox:run() end, + {description = "run prompt", group = "launcher"}), + + awful.key({ env.mod }, "x", + function () + awful.prompt.run { + prompt = "Run Lua code: ", + textbox = awful.screen.focused().mypromptbox.widget, + exe_callback = awful.util.eval, + history_path = awful.util.get_cache_dir() .. "/history_eval" + } + end, + {description = "lua execute prompt", group = "awesome"}), + -- Menubar + awful.key({ env.mod }, "p", function() menubar.show() end, + {description = "show the menubar", group = "launcher"}), + awful.key({ },"XF86AudioRaiseVolume", function() awful.spawn("pamixer -i 5") end), + awful.key({ }, "XF86AudioLowerVolume", function () awful.spawn("pamixer -d 5") end), + --multimedia keys + awful.key({ }, "XF86MonBrightnessUp", function () awful.spawn("light -A 10") end), + awful.key({ }, "XF86MonBrightnessDown", function () awful.spawn("light -U 10") end), + awful.key({ }, "XF86AudioMute", function () awful.spawn("pamixer -t") end), + awful.key({ }, "XF86AudioPlay", function () awful.spawn("mpc toggle") end), + awful.key({ }, "XF86AudioStop", function () awful.spawn("mpc stop") end), + awful.key({ }, "XF86AudioNext", function () awful.spawn("mpc next") end), + awful.key({ }, "XF86AudioPrev", function () awful.spawn("mpc prev") end), + --application hotkeys (logitech keyboard g710+) + awful.key({ }, "XF86LaunchA", function () awful.spawn(terminal) end, + {description = "open a terminal", group = "launcher"}), + awful.key({ }, "XF86Launch9", function () awful.spawn("keepassxc") end, + {description = "open keepass", group = "launcher"}), + + awful.key({ }, "XF86Launch8", function () awful.spawn("firefox") end, + {description = "open a Firefox", group = "launcher"}), + + awful.key({ }, "XF86Launch7", function () awful.spawn("code") end, + {description = "open VScode", group = "launcher"}) +) + +clientkeys = gears.table.join( + awful.key({ env.mod, }, "f", + function (c) + c.fullscreen = not c.fullscreen + c:raise() + end, + {description = "toggle fullscreen", group = "client"}), + awful.key({ env.mod, "Shift" }, "c", function (c) c:kill() end, + {description = "close", group = "client"}), + awful.key({ env.mod, "Control" }, "space", awful.client.floating.toggle , + {description = "toggle floating", group = "client"}), + awful.key({ env.mod, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end, + {description = "move to master", group = "client"}), + awful.key({ env.mod, }, "o", function (c) c:move_to_screen() end, + {description = "move to screen", group = "client"}), + awful.key({ env.mod, }, "t", function (c) c.ontop = not c.ontop end, + {description = "toggle keep on top", group = "client"}), + awful.key({ env.mod, }, "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({ env.mod, }, "m", + function (c) + c.maximized = not c.maximized + c:raise() + end , + {description = "(un)maximize", group = "client"}), + awful.key({ env.mod, "Control" }, "m", + function (c) + c.maximized_vertical = not c.maximized_vertical + c:raise() + end , + {description = "(un)maximize vertically", group = "client"}), + awful.key({ env.mod, "Shift" }, "m", + function (c) + c.maximized_horizontal = not c.maximized_horizontal + c:raise() + end , + {description = "(un)maximize horizontally", group = "client"}) +) + +-- Bind all key numbers to tags. +-- Be careful: we use keycodes to make it work on any keyboard layout. +-- This should map on the top row of your keyboard, usually 1 to 9. +for i = 1, 9 do + globalkeys = gears.table.join(globalkeys, + -- View tag only. + awful.key({ env.mod }, "#" .. i + 9, + function () + local screen = awful.screen.focused() + local tag = screen.tags[i] + if tag then + tag:view_only() + end + end, + {description = "view tag #"..i, group = "tag"}), + -- Toggle tag display. + awful.key({ env.mod, "Control" }, "#" .. i + 9, + function () + local screen = awful.screen.focused() + local tag = screen.tags[i] + if tag then + awful.tag.viewtoggle(tag) + end + end, + {description = "toggle tag #" .. i, group = "tag"}), + -- Move client to tag. + awful.key({ env.mod, "Shift" }, "#" .. i + 9, + function () + if client.focus then + local tag = client.focus.screen.tags[i] + if tag then + client.focus:move_to_tag(tag) + end + end + end, + {description = "move focused client to tag #"..i, group = "tag"}), + -- Toggle tag on focused client. + awful.key({ env.mod, "Control", "Shift" }, "#" .. i + 9, + function () + if client.focus then + local tag = client.focus.screen.tags[i] + if tag then + client.focus:toggle_tag(tag) + end + end + end, + {description = "toggle focused client on tag #" .. i, group = "tag"}) + ) +end + +clientbuttons = gears.table.join( + awful.button({ }, 1, function (c) client.focus = c; c:raise() end), + awful.button({ env.mod }, 1, awful.mouse.client.move), + awful.button({ env.mod }, 3, awful.mouse.client.resize)) + + root.keys(globalkeys) \ No newline at end of file diff --git a/awesome/.config/awesome/keys-config.lua b/awesome/.config/awesome/keys-config.lua index 42a76dc..2bc1696 100644 --- a/awesome/.config/awesome/keys-config.lua +++ b/awesome/.config/awesome/keys-config.lua @@ -6,7 +6,8 @@ local table = table local awful = require("awful") local redflat = require("redflat") - +--import xrandr library +local xrandr = require("xrandr") -- Initialize tables and vars for module ----------------------------------------------------------------------------------------------------------------------- local hotkeys = { mouse = {}, raw = {}, keys = {}, fake = {} } @@ -125,6 +126,7 @@ function hotkeys:init(args) local appkeys = args.appkeys or {} self.mouse.root = (awful.util.table.join( + awful.button({ }, 1, function () mainmenu:hide() end), awful.button({ }, 3, function () mainmenu:toggle() end), awful.button({ }, 4, awful.tag.viewnext), awful.button({ }, 5, awful.tag.viewprev) @@ -204,6 +206,7 @@ function hotkeys:init(args) -- Appswitcher widget ------------------------------------------------------------ local appswitcher_keys = { + { { env.mod }, "a", function() appswitcher:switch() end, { description = "Select next app", group = "Navigation" } @@ -252,80 +255,6 @@ function hotkeys:init(args) appswitcher:set_keys(appswitcher_keys) - -- Emacs like key sequences - -------------------------------------------------------------------------------- - - -- initial key - local keyseq = { { env.mod }, "c", {}, {} } - - -- group - keyseq[3] = { - { {}, "k", {}, {} }, -- application kill group - { {}, "c", {}, {} }, -- client managment group - { {}, "r", {}, {} }, -- client managment group - { {}, "n", {}, {} }, -- client managment group - { {}, "g", {}, {} }, -- run or rise group - { {}, "f", {}, {} }, -- launch application group - } - - -- quick launch key sequence actions - for i = 1, 9 do - local ik = tostring(i) - table.insert(keyseq[3][5][3], { - {}, ik, function() qlaunch:run_or_raise(ik) end, - { description = "Run or rise application №" .. ik, group = "Run or Rise", keyset = { ik } } - }) - table.insert(keyseq[3][6][3], { - {}, ik, function() qlaunch:run_or_raise(ik, true) end, - { description = "Launch application №".. ik, group = "Quick Launch", keyset = { ik } } - }) - end - - -- application kill sequence actions - keyseq[3][1][3] = { - { - {}, "f", function() if client.focus then client.focus:kill() end end, - { description = "Kill focused client", group = "Kill application", keyset = { "f" } } - }, - { - {}, "a", kill_all, - { description = "Kill all clients with current tag", group = "Kill application", keyset = { "a" } } - }, - } - - -- client managment sequence actions - keyseq[3][2][3] = { - { - {}, "p", function () toggle_placement(env) end, - { description = "Switch master/slave window placement", group = "Clients managment", keyset = { "p" } } - }, - } - - keyseq[3][3][3] = { - { - {}, "f", restore_client, - { description = "Restore minimized client", group = "Clients managment", keyset = { "f" } } - }, - { - {}, "a", restore_all, - { description = "Restore all clients with current tag", group = "Clients managment", keyset = { "a" } } - }, - } - - keyseq[3][4][3] = { - { - {}, "f", function() if client.focus then client.focus.minimized = true end end, - { description = "Minimized focused client", group = "Clients managment", keyset = { "f" } } - }, - { - {}, "a", minimize_all, - { description = "Minimized all clients with current tag", group = "Clients managment", keyset = { "a" } } - }, - { - {}, "e", minimize_all_except_focused, - { description = "Minimized all clients except focused", group = "Clients managment", keyset = { "e" } } - }, - } -- Layouts @@ -353,6 +282,10 @@ function hotkeys:init(args) { env.mod, }, "+", function () awful.tag.incnmaster( 1, nil, true) end, { description = "Increase the number of master clients", group = "Layout" } }, + { + { env.mod, }, "=", function () awful.tag.incnmaster( 1, nil, true) end, + { description = "Increase the number of master clients", group = "Layout" } + }, { { env.mod }, "-", function () awful.tag.incnmaster(-1, nil, true) end, { description = "Decrease the number of master clients", group = "Layout" } @@ -361,6 +294,10 @@ function hotkeys:init(args) { env.mod, "Control" }, "+", function () awful.tag.incncol( 1, nil, true) end, { description = "Increase the number of columns", group = "Layout" } }, + { + { env.mod, "Control" }, "=", function () awful.tag.incncol( 1, nil, true) end, + { description = "Increase the number of columns", group = "Layout" } + }, { { env.mod, "Control" }, "-", function () awful.tag.incncol(-1, nil, true) end, { description = "Decrease the number of columns", group = "Layout" } @@ -581,6 +518,9 @@ function hotkeys:init(args) -- Global keys -------------------------------------------------------------------------------- self.raw.root = { + { + { env.mod }, "b", function () mouse.screen.mywibox.visible = not mouse.screen.mywibox.visible end,{description="togle wibox",group="awesome"} + }, { { env.mod }, "F1", function() redtip:show() end, { description = "[Hold] Show awesome hotkeys helper", group = "Main" } @@ -589,10 +529,6 @@ function hotkeys:init(args) { env.mod, "Control" }, "F1", function() apphelper(appkeys) end, { description = "[Hold] Show hotkeys helper for application", group = "Main" } }, - { - { env.mod }, "c", function() redflat.float.keychain:activate(keyseq, "User") end, - { description = "[Hold] User key sequence", group = "Main" } - }, { { env.mod }, "F2", function () redflat.service.navigator:run() end, @@ -640,6 +576,12 @@ function hotkeys:init(args) { env.mod }, "Tab", focus_to_previous, { description = "Go to previos client", group = "Client focus" } }, + { + { env.mod, "Control" }, "j", function () awful.screen.focus_relative( 1) end, + {description = "focus the next screen", group = "screen"}}, + { + { env.mod, "Control" }, "k", function () awful.screen.focus_relative(-1) end, + {description = "focus the previous screen", group = "screen"}}, { { env.mod }, "w", function() mainmenu:show() end, @@ -776,9 +718,31 @@ function hotkeys:init(args) { { env.mod, "Control" }, "s", function() for s in screen do env.wallpaper(s) end end, {} -- hidden key - } - } + }, + --application hotkeys (logitech keyboard g710+) + { + { }, "XF86LaunchA", function () awful.spawn(terminal) end, + {description = "open a terminal", group = "launcher"} + }, + { + { }, "XF86Launch9", function () awful.spawn("keepassxc") end, + {description = "open keepass", group = "launcher"} + }, + { + { }, "XF86Launch8", function () awful.spawn("firefox") end, + {description = "open a Firefox", group = "launcher"} + }, + + { + { }, "XF86Launch7", function () awful.spawn("code") end, + {description = "open VScode", group = "launcher"} + }, + + { + {env.mod,"Shift"},"o" , function() xrandr.xrandr() end, + {description = "xrandr shortcut", group = "screen"}} + } -- Client keys -------------------------------------------------------------------------------- self.raw.client = { @@ -805,7 +769,11 @@ function hotkeys:init(args) { { env.mod }, "m", function(c) c.maximized = not c.maximized; c:raise() end, { description = "Maximize", group = "Client keys" } - } + }, + { + { env.mod }, "o", function (c) c:move_to_screen() end, + {description = "move to screen", group = "client"} + }, } self.keys.root = redflat.util.key.build(self.raw.root) @@ -856,8 +824,7 @@ function hotkeys:init(args) self.mouse.client = awful.util.table.join( awful.button({}, 1, function (c) client.focus = c; c:raise() end), awful.button({}, 2, awful.mouse.client.move), - awful.button({ env.mod }, 3, awful.mouse.client.resize), - awful.button({}, 8, function(c) c:kill() end) + awful.button({ env.mod }, 3, awful.mouse.client.resize) ) -- Set root hotkeys diff --git a/awesome/.config/awesome/layout-config.lua b/awesome/.config/awesome/layout-config.lua index acb05f8..fd88f6f 100644 --- a/awesome/.config/awesome/layout-config.lua +++ b/awesome/.config/awesome/layout-config.lua @@ -26,7 +26,7 @@ function layouts:init() awful.layout.suit.fair, redflat.layout.map, awful.layout.suit.max, - awful.layout.suit.max.fullscreen, + --awful.layout.suit.max.fullscreen, } awful.layout.layouts = layset diff --git a/awesome/.config/awesome/rc.lua b/awesome/.config/awesome/rc.lua index aaf6ca5..b6c3823 100644 --- a/awesome/.config/awesome/rc.lua +++ b/awesome/.config/awesome/rc.lua @@ -15,12 +15,9 @@ local wibox = require("wibox") local lain = require("lain") local markup = lain.util.markup local beautiful = require("beautiful") ---import xrandr library -local xrandr = require("xrandr") + -- Notification library local naughty = require("naughty") -local menubar = require("menubar") ---load revelation plugin --load hotkey_popup local hotkeys_popup = require("awful.hotkeys_popup").widget @@ -35,28 +32,9 @@ require("ercheck-config") -- load file with error handling env=require("env-config") env:init() --- revelation init -local revelation=require("revelation") -revelation.init() --- -- This is used later as the default terminal and editor to run. +awful.util.terminal = env.terminal - -awful.util.terminal = terminal - -editor = os.getenv("EDITOR") or "vim" -editor_cmd = env.terminal .. " -e " .. editor - --- Default env.mod. --- Usually, Mod4 is the key with a logo between Control and Alt. --- If you do not like this or do not have such a key, --- I suggest you to remap Mod4 to another key using xmodmap or other tools. --- However, you can use another modifier like Mod1, but it may interact with others. - --- Table of layouts to cover with awful.layout.inc, order matters. - - --- {{{ Menu local mainmenu=require("menu") mainmenu:init({ env = env }) @@ -66,43 +44,141 @@ layouts:init() --mylauncher = awful.widget.launcher({ image = beautiful.awesome_icon, - -- menu = mymainmenu }) --- Menubar configuration -menubar.utils.terminal = terminal -- Set the terminal for applications that require it --- }}} + -- menu = mainmenu }) --- Keyboard map indicator and switcher -mykeyboardlayout = awful.widget.keyboardlayout() + local tasklist = {} + +-- load list of app name aliases from files and set it as part of tasklist theme +tasklist.style = { appnames = require("alias-config")} + +tasklist.buttons = awful.util.table.join( + awful.button({}, 1, redflat.widget.tasklist.action.select), + awful.button({}, 2, redflat.widget.tasklist.action.close), + awful.button({}, 3, redflat.widget.tasklist.action.menu), + awful.button({}, 4, redflat.widget.tasklist.action.switch_next), + awful.button({}, 5, redflat.widget.tasklist.action.switch_prev) +) + +-- Taglist widget +-------------------------------------------------------------------------------- +local taglist = {} +taglist.style = { widget = redflat.gauge.tag.orange.new, show_tip = true } +taglist.buttons = awful.util.table.join( + awful.button({ }, 1, function(t) t:view_only() end), + awful.button({ env.mod }, 1, function(t) if client.focus then client.focus:move_to_tag(t) end end), + awful.button({ }, 2, awful.tag.viewtoggle), + awful.button({ }, 3, function(t) redflat.widget.layoutbox:toggle_menu(t) end), + awful.button({ env.mod }, 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) +) + +-- Textclock widget +-------------------------------------------------------------------------------- +local textclock = {} +textclock.widget = redflat.widget.textclock({ timeformat = "%H:%M", dateformat = "%b %d %a" }) + + +-- Layoutbox configure +-------------------------------------------------------------------------------- +local layoutbox = {} + +layoutbox.buttons = awful.util.table.join( + awful.button({ }, 1, function () mainmenu.mainmenu:toggle() end), + awful.button({ }, 3, function () redflat.widget.layoutbox:toggle_menu(mouse.screen.selected_tag) end), + awful.button({ }, 4, function () awful.layout.inc( 1) end), + awful.button({ }, 5, function () awful.layout.inc(-1) end) +) + +-- Tray widget +-------------------------------------------------------------------------------- +local tray = {} +tray.widget = redflat.widget.minitray() + +tray.buttons = awful.util.table.join( + awful.button({}, 1, function() redflat.widget.minitray:toggle() end) +) + +local volume = {} +volume.widget = redflat.widget.pulse(nil, { widget = redflat.gauge.audio.blue.new }) + +-- activate player widget +redflat.float.player:init({ name = env.player }) + +volume.buttons = awful.util.table.join( + awful.button({}, 4, function() volume.widget:change_volume() end), + awful.button({}, 5, function() volume.widget:change_volume({ down = true }) end), + awful.button({}, 2, function() volume.widget:mute() end), + awful.button({}, 3, function() redflat.float.player:show() end), + awful.button({}, 1, function() redflat.float.player:action("PlayPause") end), + awful.button({}, 8, function() redflat.float.player:action("Previous") end), + awful.button({}, 9, function() redflat.float.player:action("Next") end) +) + +-- Keyboard layout indicator +-------------------------------------------------------------------------------- +local kbindicator = {} +redflat.widget.keyboard:init({ "French", "English" }) +kbindicator.widget = redflat.widget.keyboard() + +kbindicator.buttons = awful.util.table.join( + awful.button({}, 1, function () redflat.widget.keyboard:toggle_menu() end), + awful.button({}, 4, function () redflat.widget.keyboard:toggle() end), + awful.button({}, 5, function () redflat.widget.keyboard:toggle(true) end) +) --- {{{ Wibar --- Create a textclock widget -mytextclock = wibox.widget.textclock() local spr_right = redflat.gauge.separator.vertical() -local cpuicon = wibox.widget.imagebox(beautiful.cpu_icon,true) -local cpu = lain.widget.cpu({ - settings = function() - widget:set_markup(markup.fontfg(beautiful.font,beautiful.fg_normal, cpu_now.usage .. "% ")) - end -}) -local mymemicon =wibox.widget.imagebox(beautiful.ram_icon) -local mymem = lain.widget.mem({ - settings = function() - widget:set_markup(markup.fontfg(beautiful.font,beautiful.fg_normal, mem_now.perc .. "% ")) - end -}) --- Net -local netdownicon = wibox.widget.imagebox(beautiful.net_down) -local netdowninfo = wibox.widget.textbox() -local netupicon = wibox.widget.imagebox(beautiful.net_up) -local netupinfo = lain.widget.net({ - settings = function() - - widget:set_markup(markup.fontfg(beautiful.font, "#e54c62", net_now.sent .. " ")) - netdowninfo:set_markup(markup.fontfg(beautiful.font, "#87af5f", net_now.received .. " ")) - end -}) +local sysmon = { widget = {}, buttons = {}, icon = {} } + +-- icons +sysmon.icon.battery = redflat.util.table.check(beautiful, "wicon.battery") +sysmon.icon.network = redflat.util.table.check(beautiful, "wicon.wireless") +sysmon.icon.cpuram = redflat.util.table.check(beautiful, "wicon.monitor") + + +-- CPU usage +sysmon.widget.cpu = redflat.widget.sysmon( + { func = redflat.system.pformatted.cpu(80) }, + { timeout = 2, monitor = { label = "CPU" } } +) + +sysmon.buttons.cpu = awful.util.table.join( + awful.button({ }, 1, function() redflat.float.top:show("cpu") end) +) + +-- RAM usage +sysmon.widget.ram = redflat.widget.sysmon( + { func = redflat.system.pformatted.mem(80) }, + { timeout = 10, monitor = { label = "RAM" } } +) + +sysmon.buttons.ram = awful.util.table.join( + awful.button({ }, 1, function() redflat.float.top:show("mem") end) +) +-- battery +local batstate=redflat.system.battery("BAT0") +if batstate.value ~= nil then + sysmon.widget.battery = redflat.widget.sysmon( + { func = redflat.system.pformatted.bat(25), arg = "BAT0" }, + { timeout = 60, widget = redflat.gauge.icon.single, monitor = { is_vertical = true, icon = sysmon.icon.battery } } + ) +end +-- network speed + +-- use self-drawn rectange image as indicator icon +local img = redflat.util.base.image(7, 40, { x = 1, y = 0, width = 5, height = 40 }) +local interfaces = "br0" +local netstate=redflat.system.net_speed("br0",{}) +if netstate[3] == 0 then + interfaces = "wlp2s0" +end +sysmon.widget.network = redflat.widget.net( + { interface = interfaces, speed = { up = 6 * 1024^2, down = 6 * 1024^2 }, autoscale = false }, + -- custom style + { timeout = 2, widget = redflat.gauge.icon.double, monitor = { step = 0.1, icon1 = img, icon2 = img, igap = 3 } } +) local mpdicon = wibox.widget.imagebox(beautiful.mpd_icon) @@ -132,8 +208,7 @@ local mpd = lain.widget.mpd({ end }) -local baticon = wibox.widget.imagebox(beautiful -.widget_batt) +local baticon = wibox.widget.imagebox(beautiful.widget_batt) local bat = lain.widget.bat({ settings = function() local perc = bat_now.perc ~= "N/A" and bat_now.perc .. "%" or bat_now.perc @@ -148,337 +223,72 @@ local bat = lain.widget.bat({ end }) --- 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({ env.mod }, 1, function(t) - if client.focus then - client.focus:move_to_tag(t) - end - end), - awful.button({ }, 3, awful.tag.viewtoggle), - awful.button({ env.mod }, 3, function(t) - if client.focus then - client.focus:toggle_tag(t) - end - end), - awful.button({ }, 4, function(t) awful.tag.viewnext(t.screen) end), - awful.button({ }, 5, function(t) awful.tag.viewprev(t.screen) end) - ) -local function set_wallpaper(s) - -- Wallpaper - if beautiful.wallpaper then - local wallpaper = beautiful.wallpaper - -- If wallpaper is a function, call it with the screen - if type(wallpaper) == "function" then - wallpaper = wallpaper(s) - end - gears.wallpaper.maximized(wallpaper, s, true) - end -end - --- Re-set wallpaper when a screen's geometry changes (e.g. different resolution) -screen.connect_signal("property::geometry", set_wallpaper) - awful.screen.connect_for_each_screen(function(s) -- Wallpaper - set_wallpaper(s) + env.wallpaper(s) -- Each screen has its own tag taawful.util.terminable. - awful.tag({ "1", "2", "3", "4", "5", "6", "7", "8", "9" }, s, awful.layout.layouts[3]) + awful.tag({ "1", "2", "3", "4","5" }, s, awful.layout.layouts[3]) - - -- Create a promptbox for each screen - s.mypromptbox = awful.widget.prompt() -- Create an imagebox widget which will contain an icon indicating which layout we're using. -- We need one layoutbox per screen. - s.mylayoutbox = awful.widget.layoutbox(s) - s.mylayoutbox:buttons(gears.table.join( - awful.button({ }, 1, function () awful.layout.inc( 1) end), - awful.button({ }, 3, function () awful.layout.inc(-1) end), - awful.button({ }, 4, function () awful.layout.inc( 1) end), - awful.button({ }, 5, function () awful.layout.inc(-1) end))) - -- Create a taglist widget - s.mytaglist = awful.widget.taglist(s, awful.widget.taglist.filter.noempty, taglist_buttons) + -- layoutbox widget + layoutbox[s] = redflat.widget.layoutbox({ screen = s }) + -- taglist widget + taglist[s] = redflat.widget.taglist({ screen = s, buttons = taglist.buttons, hint = env.tagtip }, taglist.style) + + -- tasklist widget + tasklist[s] = redflat.widget.tasklist({ screen = s, buttons = tasklist.buttons }, tasklist.style) + -- Create the wibox - s.mywibox = awful.wibar({ position = "top", screen = s }) + s.mywibox = awful.wibar({ position = "top", screen = s, height = beautiful.panel_height or 36 }) -- Add widgets to the wibox s.mywibox:setup { layout = wibox.layout.align.horizontal, { -- Left widgets layout = wibox.layout.fixed.horizontal, - s.mytaglist, - s.mypromptbox, + env.wrapper(layoutbox[s], "layoutbox", layoutbox.buttons), + spr_right, + env.wrapper(taglist[s], "taglist"), + spr_right, + env.wrapper(kbindicator.widget, "keyboard", kbindicator.buttons), spr_right, mpdicon, mpd.widget }, - nil -- Middle widget - ,{ -- Right widgets + { -- middle widget + layout = wibox.layout.align.horizontal, + expand = "outside", + + nil, + env.wrapper(tasklist[s], "tasklist"), + }, + { -- Right widgets layout = wibox.layout.fixed.horizontal, spr_right, - netdownicon, - netdowninfo, - netupicon, - netupinfo.widget, - cpuicon, - cpu , - mymemicon, - mymem, + env.wrapper(sysmon.widget.network, "network"), + + spr_right, + env.wrapper(sysmon.widget.cpu, "cpu", sysmon.buttons.cpu), + spr_right, + env.wrapper(sysmon.widget.ram, "ram", sysmon.buttons.ram), + spr_right, + env.wrapper(sysmon.widget.battery, "battery"), + spr_right, baticon, bat, + env.wrapper(volume.widget, "volume", volume.buttons), spr_right, - mykeyboardlayout, + env.wrapper(textclock.widget, "textclock"), spr_right, - wibox.widget.systray(), - spr_right, - mytextclock, - s.mylayoutbox, + env.wrapper(tray.widget, "tray", tray.buttons), }, } end) --- }}} - --- {{{ Mouse bindings -root.buttons(gears.table.join( - awful.button({ }, 3, function () mainmenu.mainmenu:toggle() end), - awful.button({ }, 4, awful.tag.viewnext), - awful.button({ }, 5, awful.tag.viewprev) -)) --- }}} - --- {{{ Key bindings -globalkeys = gears.table.join( - awful.key({ env.mod }, "b", function () - mouse.screen.mywibox.visible = not mouse.screen.mywibox.visible - end,{description="togle wibox",group="awesome"}), - awful.key({ env.mod, }, "s", hotkeys_popup.show_help, - {description="show help", group="awesome"}), - awful.key({ env.mod, }, "e", revelation, - {description="revelation shortcut",group="awesome"}), - awful.key({ env.mod, }, "Left", awful.tag.viewprev, - {description = "view previous", group = "tag"}), - awful.key({ env.mod, }, "Right", awful.tag.viewnext, - {description = "view next", group = "tag"}), - awful.key({ env.mod, }, "Escape", awful.tag.history.restore, - {description = "go back", group = "tag"}), - awful.key({ "Shift" }, "Alt_L", function() mykeyboardlayout.next_layout(); end), - awful.key({ env.mod, }, "j", - function () - awful.client.focus.byidx( 1) - end, - {description = "focus next by index", group = "client"} - ), - awful.key({ env.mod, }, "k", - function () - awful.client.focus.byidx(-1) - end, - {description = "focus previous by index", group = "client"} - ), - awful.key({env.mod,"Shift"},"o" , function() xrandr.xrandr() end, - {description = "xrandr shortcut", group = "awesome"}), - awful.key({ env.mod, }, "w", function () mainmenu.mainmenu:show() end, - {description = "show main menu", group = "awesome"}), - - -- Layout manipulation - awful.key({ env.mod, "Shift" }, "j", function () awful.client.swap.byidx( 1) end, - {description = "swap with next client by index", group = "client"}), - awful.key({ env.mod, "Shift" }, "k", function () awful.client.swap.byidx( -1) end, - {description = "swap with previous client by index", group = "client"}), - awful.key({ env.mod, "Control" }, "j", function () awful.screen.focus_relative( 1) end, - {description = "focus the next screen", group = "screen"}), - awful.key({ env.mod, "Control" }, "k", function () awful.screen.focus_relative(-1) end, - {description = "focus the previous screen", group = "screen"}), - awful.key({ env.mod, }, "u", awful.client.urgent.jumpto, - {description = "jump to urgent client", group = "client"}), - awful.key({ env.mod, }, "Tab", - function () - awful.client.focus.history.previous() - if client.focus then - client.focus:raise() - end - end, - {description = "go back", group = "client"}), - - -- Standard program - -- Dropdown application - awful.key({ env.mod, }, "Return", function () awful.spawn(terminal) end, - {description = "open a terminal", group = "launcher"}), - awful.key({ env.mod, "Control" }, "r", awesome.restart, - {description = "reload awesome", group = "awesome"}), - awful.key({ env.mod, "Shift" }, "q", awesome.quit, - {description = "quit awesome", group = "awesome"}), - - awful.key({ env.mod, }, "l", function () awful.tag.incmwfact( 0.05) end, - {description = "increase master width factor", group = "layout"}), - awful.key({ env.mod, }, "h", function () awful.tag.incmwfact(-0.05) end, - {description = "decrease master width factor", group = "layout"}), - awful.key({ env.mod, "Shift" }, "h", function () awful.tag.incnmaster( 1, nil, true) end, - {description = "increase the number of master clients", group = "layout"}), - awful.key({ env.mod, "Shift" }, "l", function () awful.tag.incnmaster(-1, nil, true) end, - {description = "decrease the number of master clients", group = "layout"}), - awful.key({ env.mod, "Control" }, "h", function () awful.tag.incncol( 1, nil, true) end, - {description = "increase the number of columns", group = "layout"}), - awful.key({ env.mod, "Control" }, "l", function () awful.tag.incncol(-1, nil, true) end, - {description = "decrease the number of columns", group = "layout"}), - awful.key({ env.mod, }, "space", function () awful.layout.inc( 1) end, - {description = "select next", group = "layout"}), - awful.key({ env.mod, "Shift" }, "space", function () awful.layout.inc(-1) end, - {description = "select previous", group = "layout"}), - - awful.key({ env.mod, "Control" }, "n", - function () - local c = awful.client.restore() - -- Focus restored client - if c then - client.focus = c - c:raise() - end - end, - {description = "restore minimized", group = "client"}), - - -- Prompt - awful.key({ env.mod }, "r", function () awful.screen.focused().mypromptbox:run() end, - {description = "run prompt", group = "launcher"}), - - awful.key({ env.mod }, "x", - function () - awful.prompt.run { - prompt = "Run Lua code: ", - textbox = awful.screen.focused().mypromptbox.widget, - exe_callback = awful.util.eval, - history_path = awful.util.get_cache_dir() .. "/history_eval" - } - end, - {description = "lua execute prompt", group = "awesome"}), - -- Menubar - awful.key({ env.mod }, "p", function() menubar.show() end, - {description = "show the menubar", group = "launcher"}), - awful.key({ },"XF86AudioRaiseVolume", function() awful.spawn("pamixer -i 5") end), - awful.key({ }, "XF86AudioLowerVolume", function () awful.spawn("pamixer -d 5") end), - --multimedia keys - awful.key({ }, "XF86MonBrightnessUp", function () awful.spawn("light -A 10") end), - awful.key({ }, "XF86MonBrightnessDown", function () awful.spawn("light -U 10") end), - awful.key({ }, "XF86AudioMute", function () awful.spawn("pamixer -t") end), - awful.key({ }, "XF86AudioPlay", function () awful.spawn("mpc toggle") end), - awful.key({ }, "XF86AudioStop", function () awful.spawn("mpc stop") end), - awful.key({ }, "XF86AudioNext", function () awful.spawn("mpc next") end), - awful.key({ }, "XF86AudioPrev", function () awful.spawn("mpc prev") end), - --application hotkeys (logitech keyboard g710+) - awful.key({ }, "XF86LaunchA", function () awful.spawn(terminal) end, - {description = "open a terminal", group = "launcher"}), - awful.key({ }, "XF86Launch9", function () awful.spawn("keepassxc") end, - {description = "open keepass", group = "launcher"}), - - awful.key({ }, "XF86Launch8", function () awful.spawn("firefox") end, - {description = "open a Firefox", group = "launcher"}), - - awful.key({ }, "XF86Launch7", function () awful.spawn("code") end, - {description = "open VScode", group = "launcher"}) -) - -clientkeys = gears.table.join( - awful.key({ env.mod, }, "f", - function (c) - c.fullscreen = not c.fullscreen - c:raise() - end, - {description = "toggle fullscreen", group = "client"}), - awful.key({ env.mod, "Shift" }, "c", function (c) c:kill() end, - {description = "close", group = "client"}), - awful.key({ env.mod, "Control" }, "space", awful.client.floating.toggle , - {description = "toggle floating", group = "client"}), - awful.key({ env.mod, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end, - {description = "move to master", group = "client"}), - awful.key({ env.mod, }, "o", function (c) c:move_to_screen() end, - {description = "move to screen", group = "client"}), - awful.key({ env.mod, }, "t", function (c) c.ontop = not c.ontop end, - {description = "toggle keep on top", group = "client"}), - awful.key({ env.mod, }, "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({ env.mod, }, "m", - function (c) - c.maximized = not c.maximized - c:raise() - end , - {description = "(un)maximize", group = "client"}), - awful.key({ env.mod, "Control" }, "m", - function (c) - c.maximized_vertical = not c.maximized_vertical - c:raise() - end , - {description = "(un)maximize vertically", group = "client"}), - awful.key({ env.mod, "Shift" }, "m", - function (c) - c.maximized_horizontal = not c.maximized_horizontal - c:raise() - end , - {description = "(un)maximize horizontally", group = "client"}) -) - --- Bind all key numbers to tags. --- Be careful: we use keycodes to make it work on any keyboard layout. --- This should map on the top row of your keyboard, usually 1 to 9. -for i = 1, 9 do - globalkeys = gears.table.join(globalkeys, - -- View tag only. - awful.key({ env.mod }, "#" .. i + 9, - function () - local screen = awful.screen.focused() - local tag = screen.tags[i] - if tag then - tag:view_only() - end - end, - {description = "view tag #"..i, group = "tag"}), - -- Toggle tag display. - awful.key({ env.mod, "Control" }, "#" .. i + 9, - function () - local screen = awful.screen.focused() - local tag = screen.tags[i] - if tag then - awful.tag.viewtoggle(tag) - end - end, - {description = "toggle tag #" .. i, group = "tag"}), - -- Move client to tag. - awful.key({ env.mod, "Shift" }, "#" .. i + 9, - function () - if client.focus then - local tag = client.focus.screen.tags[i] - if tag then - client.focus:move_to_tag(tag) - end - end - end, - {description = "move focused client to tag #"..i, group = "tag"}), - -- Toggle tag on focused client. - awful.key({ env.mod, "Control", "Shift" }, "#" .. i + 9, - function () - if client.focus then - local tag = client.focus.screen.tags[i] - if tag then - client.focus:toggle_tag(tag) - end - end - end, - {description = "toggle focused client on tag #" .. i, group = "tag"}) - ) -end - -clientbuttons = gears.table.join( - awful.button({ }, 1, function (c) client.focus = c; c:raise() end), - awful.button({ env.mod }, 1, awful.mouse.client.move), - awful.button({ env.mod }, 3, awful.mouse.client.resize)) -- Active screen edges @@ -487,10 +297,10 @@ local edges = require("edges-config") -- load file with edges configuration edges:init() -- Set keys -root.keys(globalkeys) + -- }}} local hotkeys = require("keys-config") -- load file with hotkeys configuration -hotkeys:init({ env = env, menu = mainmenu.mainmenu }) +hotkeys:init({ env = env, menu = mainmenu.mainmenu,appkeys={}, volume = volume.widget }) -- {{{ Rules -- Rules to apply to new clients (through the "manage" signal). local rules = require("rules-config") -- load file with rules configuration diff --git a/awesome/.config/awesome/redflat/float/player.lua b/awesome/.config/awesome/redflat/float/player.lua index 33d04d5..62f6daf 100644 --- a/awesome/.config/awesome/redflat/float/player.lua +++ b/awesome/.config/awesome/redflat/float/player.lua @@ -355,7 +355,6 @@ end function player:action(args) if not awful.util.table.hasitem(self._actions, args) then return end if not self.wibox then self:init() end - awful.spawn.with_shell(self.command.action .. args) self:update() end diff --git a/awesome/.config/awesome/redflat/system.lua b/awesome/.config/awesome/redflat/system.lua index 6469c0b..1e324b4 100644 --- a/awesome/.config/awesome/redflat/system.lua +++ b/awesome/.config/awesome/redflat/system.lua @@ -119,17 +119,18 @@ end ----------------------------------------------------------------------------------------------------------------------- function system.net_speed(interface, storage) local up, down = 0, 0 - + local state = 0 -- Get network info -------------------------------------------------------------------------------- for line in io.lines("/proc/net/dev") do - + -- Match wmaster0 as well as rt0 (multiple leading spaces) local name = string.match(line, "^[%s]?[%s]?[%s]?[%s]?([%w]+):") - + -- Calculate speed for given interface ------------------------------------------------------------ if name == interface then + state = 1 -- received bytes, first value after the name local recv = tonumber(string.match(line, ":[%s]*([%d]+)")) -- transmited bytes, 7 fields from end of the line @@ -144,7 +145,7 @@ function system.net_speed(interface, storage) -- net stats are absolute, substract our last reading local interval = now - storage[interface].time if interval <= 0 then interval = 1 end - + down = (recv - storage[interface].recv) / interval up = (send - storage[interface].send) / interval end @@ -157,7 +158,7 @@ function system.net_speed(interface, storage) end -------------------------------------------------------------------------------- - return { up, down } + return { up, down,state } end -- Get disk speed diff --git a/awesome/.config/awesome/redflat/widget/battery.lua b/awesome/.config/awesome/redflat/widget/battery.lua index 0330b54..a6dab60 100644 --- a/awesome/.config/awesome/redflat/widget/battery.lua +++ b/awesome/.config/awesome/redflat/widget/battery.lua @@ -62,7 +62,6 @@ function battery.new(args, style) -------------------------------------------------------------------------------- widg._update = function() local state = args.func(args.arg) - widg:set_value(state.value) widg:set_alert(state.alert) widg._tp:set_text(state.text) diff --git a/awesome/.config/awesome/redflat/widget/minitray.lua b/awesome/.config/awesome/redflat/widget/minitray.lua index def6e8c..5a23384 100644 --- a/awesome/.config/awesome/redflat/widget/minitray.lua +++ b/awesome/.config/awesome/redflat/widget/minitray.lua @@ -53,7 +53,7 @@ function minitray:init(style) bg = style.color.wibox, border_width = style.border_width, border_color = style.color.border, - shape = style.shape + shape = style.shape, } self.wibox = wibox(wargs) diff --git a/awesome/.config/awesome/revelation/LICENSE b/awesome/.config/awesome/revelation/LICENSE deleted file mode 100644 index 65c5ca8..0000000 --- a/awesome/.config/awesome/revelation/LICENSE +++ /dev/null @@ -1,165 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - - This version of the GNU Lesser General Public License incorporates -the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser -General Public License, and the "GNU GPL" refers to version 3 of the GNU -General Public License. - - "The Library" refers to a covered work governed by this License, -other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided -by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode -of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an -Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the "Linked -Version". - - The "Minimal Corresponding Source" for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are -based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the -object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the -Application, but excluding the System Libraries of the Combined Work. - - 1. Exception to Section 3 of the GNU GPL. - - You may convey a covered work under sections 3 and 4 of this License -without being bound by section 3 of the GNU GPL. - - 2. Conveying Modified Versions. - - If you modify a copy of the Library, and, in your modifications, a -facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the -facility is invoked), then you may convey a copy of the modified -version: - - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or - - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. - - 3. Object Code Incorporating Material from Library Header Files. - - The object code form of an Application may incorporate material from -a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated -material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates -(ten or fewer lines in length), you do both of the following: - - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the object code with a copy of the GNU GPL and this license - document. - - 4. Combined Works. - - You may convey a Combined Work under terms of your choice that, -taken together, effectively do not restrict modification of the -portions of the Library contained in the Combined Work and reverse -engineering for debugging such modifications, if you also do each of -the following: - - a) Give prominent notice with each copy of the Combined Work that - the Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the Combined Work with a copy of the GNU GPL and this license - document. - - c) For a Combined Work that displays copyright notices during - execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the - copies of the GNU GPL and this license document. - - d) Do one of the following: - - 0) Convey the Minimal Corresponding Source under the terms of this - License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to - recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the - manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. - - 1) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer - system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked - Version. - - e) Provide Installation Information, but only if you would otherwise - be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is - necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the - Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany - the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation - Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) - - 5. Combined Libraries. - - You may place library facilities that are a work based on the -Library side by side in a single library together with other library -facilities that are not Applications and are not covered by this -License, and convey such a combined library under terms of your -choice, if you do both of the following: - - a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. - - b) Give prominent notice with the combined library that part of it - is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. - - 6. Revised Versions of the GNU Lesser General Public License. - - The Free Software Foundation may publish revised and/or new versions -of the GNU Lesser General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the -Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License "or any later version" -applies to it, you have the option of following the terms and -conditions either of that published version or of any later version -published by the Free Software Foundation. If the Library as you -received it does not specify a version number of the GNU Lesser -General Public License, you may choose any version of the GNU Lesser -General Public License ever published by the Free Software Foundation. - - If the Library as you received it specifies that a proxy can decide -whether future versions of the GNU Lesser General Public License shall -apply, that proxy's public statement of acceptance of any version is -permanent authorization for you to choose that version for the -Library. diff --git a/awesome/.config/awesome/revelation/README.md b/awesome/.config/awesome/revelation/README.md deleted file mode 100644 index df3c259..0000000 --- a/awesome/.config/awesome/revelation/README.md +++ /dev/null @@ -1,169 +0,0 @@ -# revelation.lua - -Provides Mac OSX like 'Expose' view of all clients. - -This is a fork from [revelation](https://github.com/bioe007/awesome-revelation) -It is modified from the original revelation.lua for incorporating with awesome 3.5 or later. -It also have some features. - - -**Now master branch works for both master and stable awesome WM** - -## Changes since 2015-09-26 -When all clients are exposing, you can zoom (__Modkey + Shift + hintbox charater__ or __right button__ of the mouse) -or kill a client (__middle button__ of the mouse) and the position of hintboxes will be updated accordingly. - -## Changes since 2014-02-19 -* Now the revlation is able to handle the special clients(float, fullscreen or maximized etc.) -* When you select an minimized client, the revelation will un-minimized it and then focuse on it. -* Added an option to change character ordering - -## Changes after 2013-12-30 -* Now it is possible, in revelation.init({...}), to change the default settings of - revelation module. - -* Function `revelation(...)` now accept the parameter as a table `{rule={...}, is_excluded=..., -curr_tag_only=...}`. - -1. To add specify rules `revelation({rule={...},...})`. -2. To exclude the clients matched by the rules instead of including `revelation({rule={...}, -is_excluded=true})`. -3. `{...,curr_tag_only=true}` make the revelation only collect the client from current - tags. - - -## Changes from the original revelation -* Support awesome 3.5 or later - -* Add the support of multiple screens. Now multiple 'Expose' views will be shown - on the multiple screens at the same time. - -* The way of selecting and focusing the client was changed. The old way that is - navigating clients by pressing the keys "j, h, k, l" and then selecting the - client by pressing key "Enter" was deprecated. Now each client in the 'Expose' - views come with a letter surrounding by a hint box, you can select the client - by pressing the corresponding letter in the hint box. The idea and codes of this method - was copied from the module [hint](https://github.com/zackpete/hints). - -* Add zoom mode. Add the function of zooming the client by pressing the right - button of the mouse. - -* The unwanted clients can be excluded by the parameter`{rule={...}....}`. - -## Screenshot - -![screenshot](./screenshot.png) - - -## Usage - -### Installation - (From user's awesome configuration directory, usually ~/.config/awesome) - - 1. Clone the repository: - - git clone https://github.com/guotsuan/awesome-revelation revelation - - 2. Include it at the top of your rc.lua file: - `local revelation=require("revelation")` - - 3. **Important: Add `revelation.init()` after `beautiful.init()`** - - 3. Define a global keybinding (e. g. `ModKey + e`) for revelation in your rc.lua: - - globalkeys = awful.util.table.join( - awful.key({ modkey, }, "Left", awful.tag.viewprev ), - awful.key({ modkey, }, "Right", awful.tag.viewnext ), - awful.key({ modkey, }, "Escape", awful.tag.history.restore), - awful.key({ modkey, }, "e", revelation), - awful.key({ modkey, }, "j", - function () - awful.client.focus.byidx( 1) - if client.focus then client.focus:raise() end - end), - - **NOTE:** Always double check the key binding syntax against the version of - Awesome which you are using. - - 4. Restart Awesome (usually __Modkey + Control + r__) and try the keybinding __Modkey + e__. - - It should bring up all clients from the current tags on all screens and set the layout to fair. - You can focus clients with the __cursor__ keys, and then press the __left__ button to select, - or you can directly focus a client by pressing the corresponding key shown in the hint box. - Press the right mouse button to zoom the client or __Escape__ to abort. - -### Configuration - Revelation's configuration is done through the init() function - - There are three basic settings, shown with default values: - - -- The name of the tag created for the 'exposed' view - revelation.tag_name = 'Revelation' - - -- A table of matcher functions (used in client filtering) - revelation.exact = awful.rules.match - revelation.any = awful.rules.match_any - - -- Character order for selecting clients - revelation.charorder = "jkluiopyhnmfdsatgvcewqzx1234567890", - - The rule matching functions must conform to `awful.rules.match` prototypes. - - For client matching rules, we follow the same syntax as awful.rules expects. - If `rule.any == true`, then we call the `config.match.any` function. - -to change the settings, use: - - revelation.init({tag_name = ..., match = {...}, charorder = ...}) - - -### Examples - All clients: - - awful.key({modkey}, "e", revelation) - - To match all urxvt terminals: - - awful.key({modkey}, "e", function() - revelation({rule={class="URxvt"}}) - end) - To match clients with class 'foo' or 'bar': - - awful.key({modkey}, "e", function() - revelation({ - rule{class={"foo", "bar"}, - any=true} - }) - end) - - To exclude the clients, we set: - - awful.key({modkey}, "e", function() - revelation({rule={class="conky"}, is_excluded=true}) - end) - - To set only collect clients from current tag - - awful.key({modkey}, "e", function() - revelation({rule={class="conky"}, is_excluded=true, - curr_tag_only=true}) - end) - -## Credits - -### Maintenance - * Quan Guo - * Perry Hargrave - -### Contributions, many thanks! - * Daniel Hahler - * Yauhen Kirylau - * Nikola Petrov - -### Original authors - * Espen Wiborg - * Julien Danjou - - (c) 20013-2014 Quan Guo - (c) 2009-12 Perry Hargrave - (c) 2008 Espen Wiborg, Julien Danjou diff --git a/awesome/.config/awesome/revelation/init.lua b/awesome/.config/awesome/revelation/init.lua deleted file mode 100644 index 964d60c..0000000 --- a/awesome/.config/awesome/revelation/init.lua +++ /dev/null @@ -1,508 +0,0 @@ --- revelation.lua --- --- Library that implements Expose like behavior. --- --- @author Perry Hargrave resixian@gmail.com --- @author Espen Wiborg espenhw@grumblesmurf.org --- @author Julien Danjou julien@danjou.info --- @auther Quan Guo guotsuan@gmail.com --- --- @copyright 2008 Espen Wiborg, Julien Danjou --- @copyright 2015 Quan Guo --- - - -local beautiful = require("beautiful") -local wibox = require("wibox") -local awful = require('awful') -local aw_rules = require('awful.rules') -local pairs = pairs -local setmetatable = setmetatable -local naughty = require("naughty") -local table = table -local clock = os.clock -local tostring = tostring -local capi = { - awesome = awesome, - tag = tag, - client = client, - keygrabber = keygrabber, - mousegrabber = mousegrabber, - mouse = mouse, - screen = screen -} - --- disable for now. --- It seems there is not way to pass err handling function into the delayed_call() - -local function debuginfo(message) - message = message or "No information available" - nid = naughty.notify({ text = tostring(message), timeout = 10 }) -end - -local delayed_call = (type(timer) ~= 'table' and require("gears.timer").delayed_call) - -local view_only_func -local toggle_tag_func -local jump_to_func - - -if type(awful.client.object) == 'table' then - view_only_func = function (tag) tag:view_only() end - toggle_tag_func = function (t, c) c:toggle_tag(t) end - jump_to_func = function(c) c:jump_to() end -else - view_only_func = function (tag) awful.tag.viewonly(tag) end - toggle_tag_func = function (t, c) awful.client.toggletag(t, c) end - jump_to_func = function(c) awful.client.jumpto(c) end -end - - -local hintbox = {} -- Table of letter wiboxes with characters as the keys -local hintindex = {} -- Table of visible clients with the hint letter as the keys - -local clients = {} --Table of clients to be exposed after fitlering -local clientData = {} -- table that holds the positions and sizes of floating clients - -local revelation = { - -- Name of expose tag. - tag_name = "Revelation", - - charorder = "jkluiopyhnmfdsatgvcewqzx1234567890", - - -- Match function can be defined by user. - -- Must accept a `rule` and `client` and return `boolean`. - -- The rule forms follow `awful.rules` syntax except we also check the - -- special `rule.any` key. If its true, then we use the `match.any` function - -- for comparison. - match = { - exact = aw_rules.match, - any = aw_rules.match_any - }, - property_to_watch={ - minimized = false, - fullscreen = false, - maximized_horizontal = false, - maximized_vertical = false, - sticky = false, - ontop = false, - above = false, - below = false, - }, - tags_status = {}, - is_excluded = false, - curr_tag_only = false, - font = "monospace 20", - fg = beautiful.revelation_fg_normal or beautiful.fg_normal or "#DCDCCC", - bg = beautiful.revelation_bg_normal or beautiful.bg_normal or "#000000", - border_color = beautiful.revelation_border_color or beautiful.border_focus or "#DCDCCC", - border_width = beautiful.revelation_border_width or beautiful.border_width or 2, - hintsize = (type(beautiful.xresources) == 'table' and beautiful.xresources.apply_dpi(beautiful.revelation_hintsize or 50) or 60) -} - - - --- Executed when user selects a client from expose view. --- --- @param restore Function to reset the current tags view. -local function selectfn(_, t, zt) - return function(c) - revelation.restore(t, zt) - -- Focus and raise - -- - if type(delayed_call) == 'function' then - capi.awesome.emit_signal("refresh") - end - - if awful.util.table.hasitem(hintindex, c) then - if c.minimized then - c.minimized = false - end - - jump_to_func(c) - end - end -end - --- Tags all matching clients with tag t --- @param rule The rule. Conforms to awful.rules syntax. --- @param clients A table of clients to check. --- @param t The tag to give matching clients. -local function match_clients(rule, _clients, t, is_excluded) - - local mfc = rule.any and revelation.match.any or revelation.match.exact - local mf = is_excluded and function(c,_rule) return not mfc(c,_rule) end or mfc - local flt - - for _, c in pairs(_clients) do - if mf(c, rule) then - -- Store geometry before setting their tags - clientData[c] = {} - clientData[c]["geometry"] = c:geometry() - flt = awful.client.property.get(c, "floating") - if flt ~= nil then - clientData[c]["floating"] = flt - awful.client.property.set(c, "floating", false) - end - - - for k,v in pairs(revelation.property_to_watch) do - clientData[c][k] = c[k] - c[k] = v - - end - toggle_tag_func(t, c) - if c:isvisible() then - table.insert(clients, c) - end - end - end - -end - - --- Implement Exposé (ala Mac OS X). --- --- @param rule A table with key and value to match. [{class=""}] -function revelation.expose(args) - args = args or {} - local rule = args.rule or {} - local is_excluded = args.is_excluded or revelation.is_excluded - local curr_tag_only = args.curr_tag_only or revelation.curr_tag_only - - local t={} - local zt={} - - clients = {} - clientData = {} - - for scr=1,capi.screen.count() do - t[scr] = awful.tag.new({revelation.tag_name}, - scr, awful.layout.suit.fair)[1] - zt[scr] = awful.tag.new({revelation.tag_name.."_zoom"}, - scr, awful.layout.suit.fair)[1] - - if curr_tag_only then - match_clients(rule, awful.client.visible(scr), t[scr], is_excluded) - else - match_clients(rule, capi.client.get(scr), t[scr], is_excluded) - end - - view_only_func(t[scr]) - end - - if type(delayed_call) == 'function' then - capi.awesome.emit_signal("refresh") - end - -- No need for awesome WM 3.5.6: capi.awesome.emit_signal("refresh") - -- - local status, err=pcall(revelation.expose_callback, t, zt, clients) - - --revelation.expose_callback(t, zt) - if not status then - debuginfo('Oops!, something is wrong in revelation.expose_callback!') - - if err.msg then - debuginfo(err.msg) - end - - if err.code then - debuginfo('error code is '.. tostring(err.code)) - end - - revelation.restore(t, zt) - - end -end - - -function revelation.restore(t, zt) - for scr=1, capi.screen.count() do - awful.tag.history.restore(scr) - t[scr].screen = nil - end - - capi.keygrabber.stop() - capi.mousegrabber.stop() - - for _, c in pairs(clients) do - if clientData[c] then - for k,v in pairs(clientData[c]) do - if v ~= nil then - if k== "geometry" then - c:geometry(v) - elseif k == "floating" then - awful.client.property.set(c, "floating", v) - else - c[k]=v - end - end - end - end - end - - for scr=1, capi.screen.count() do - t[scr].activated = false - zt[scr].activated = false - end - - for i,j in pairs(hintindex) do - hintbox[i].visible = false - end -end - -local function hintbox_display_toggle(c, show) - for char, thisclient in pairs(hintindex) do - if char and char ~= c then - hintindex[char] = thisclient - if show then - hintbox[char].visible = true - else - hintbox[char].visible = false - end - - end - end -end - -local function hintbox_pos(char) - local client = hintindex[char] - local geom = client:geometry() - hintbox[char].x = math.floor(geom.x + geom.width/2 - revelation.hintsize/2) - hintbox[char].y = math.floor(geom.y + geom.height/2 - revelation.hintsize/2) -end - - -function revelation.expose_callback(t, zt, clientlist) - - hintindex = {} - for i,thisclient in pairs(clientlist) do - -- Move wiboxes to center of visible windows and populate hintindex - local char = revelation.charorder:sub(i,i) - if char and char ~= '' then - hintindex[char] = thisclient - hintbox_pos(char) - hintbox[char].visible = true - hintbox[char].screen = thisclient.screen - end - end - - local zoomed = false - local zoomedClient = nil - local key_char_zoomed = nil - - capi.keygrabber.run(function (mod, key, event) - local c - if event == "release" then return true end - - if awful.util.table.hasitem(mod, "Shift") then - key_char = string.lower(key) - c = hintindex[key_char] - if not zoomed and c ~= nil then - --debuginfo(c.screen) - view_only_func(zt[c.screen.index or c.screen]) - toggle_tag_func(zt[c.screen.index or c.screen], c) - zoomedClient = c - key_char_zoomed = key_char - zoomed = true - -- update the position of this hintbox, since it is zoomed - if type(delayed_call) == 'function' then - capi.awesome.emit_signal("refresh") - end - hintbox_pos(key_char) - hintbox_display_toggle(key_char, false) - - - elseif zoomedClient ~= nil then - awful.tag.history.restore(zoomedClient.screen.index or zoomedClient.screen) - toggle_tag_func(zt[zoomedClient.screen.index or zoomedClient.screen], zoomedClient) - hintbox_display_toggle(key_char_zoomed, true) - if type(delayed_call) == 'function' then - capi.awesome.emit_signal("refresh") - end - hintbox_pos(key_char_zoomed) - - zoomedClient = nil - zoomed = false - key_char_zoomed = nil - end - end - - if hintindex[key] then - --client.focus = hintindex[key] - --hintindex[key]:raise() - - selectfn(restore,t, zt)(hintindex[key]) - - for i,j in pairs(hintindex) do - hintbox[i].visible = false - end - - return false - end - - if key == "Escape" then - if zoomedClient ~= nil then - awful.tag.history.restore(zoomedClient.screen) - toggle_tag_func(zt[zoomedClient.screen.index or zoomedClient.screen], zoomedClient) - hintbox_display_toggle(string.lower(key), true) - if type(delayed_call) == 'function' then - capi.awesome.emit_signal("refresh") - end - hintbox_pos(key_char_zoomed) - - zoomedClient = nil - zoomed = false - else - for i,j in pairs(hintindex) do - hintbox[i].visible = false - end - revelation.restore(t, zt) - return false - end - end - - return true - end) - - local pressedMiddle = false - - local lastClient = nil - capi.mousegrabber.run(function(mouse) - local c - - if type(awful.client.object) == 'table' then - c = capi.mouse.current_client - else - c = awful.mouse.client_under_pointer() - end - if c then - lastClient = c - else - local current_wibox = capi.mouse.current_wibox - if current_wibox then - for i = 1, #revelation.charorder do - local char = revelation.charorder:sub(i,i) - if hintbox[char] == current_wibox then - c = lastClient - break - end - end - end - end - local key_char = awful.util.table.hasitem(hintindex, c) - if mouse.buttons[1] == true then - if c ~= nil then - selectfn(restore, t, zt)(c) - - for i,j in pairs(hintindex) do - hintbox[i].visible = false - end - return false - else - return true - end - elseif mouse.buttons[2] == true and pressedMiddle == false and c ~= nil then - -- is true whenever the button is down. - pressedMiddle = true - -- extra variable needed to prevent script from spam-closing windows - -- - if zoomed == true and zoomedClient ~=nil then - awful.tag.history.restore(zoomedClient.screen.index or zoomedClient.screen) - toggle_tag_func(zt[zoomedClient.screen.index or zoomedClient.screen], zoomedClient) - end - c:kill() - hintbox[key_char].visible = false - hintindex[key_char] = nil - local pos = awful.util.table.hasitem(clients, c) - table.remove(clients, pos) - - - if zoomed == true and zoomedClient ~=nil then - hintbox_display_toggle(key_char_zoomed, true) - zoomedClient = nil - zoomed = false - key_char_zoomed = nil - end - - return true - - elseif mouse.buttons[2] == false and pressedMiddle == true then - pressedMiddle = false - for key, _ in pairs(hintindex) do - hintbox_pos(key) - end - elseif mouse.buttons[3] == true then - if not zoomed and c ~= nil then - view_only_func(zt[c.screen.index or c.screen]) - toggle_tag_func(zt[c.screen.index or c.screen], c) - if key_char ~= nil then - hintbox_display_toggle(key_char, false) - if type(delayed_call) == 'function' then - capi.awesome.emit_signal("refresh") - end - hintbox_pos(key_char) - end - zoomedClient = c - zoomed = true - key_char_zoomed = key_char - elseif zoomedClient ~= nil then - awful.tag.history.restore(zoomedClient.screen.index or zoomedClient.screen) - toggle_tag_func(zt[zoomedClient.screen.index or zoomedClient.screen], zoomedClient) - hintbox_display_toggle(key_char_zoomed, true) - if type(delayed_call) == 'function' then - capi.awesome.emit_signal("refresh") - end - hintbox_pos(key_char_zoomed) - - zoomedClient = nil - zoomed = false - key_char_zoomed = nil - end - end - - return true - --Strange but on my machine only fleur worked as a string. - --stole it from - --https://github.com/Elv13/awesome-configs/blob/master/widgets/layout/desktopLayout.lua#L175 - end,"fleur") - -end - --- Create the wiboxes, but don't show them --- -function revelation.init(args) - local letterbox = {} - - args = args or {} - - revelation.tag_name = args.tag_name or revelation.tag_name - if args.match then - revelation.match.exact = args.match.exact or revelation.match.exact - revelation.match.any = args.match.any or revelation.match.any - end - - revelation.charorder = args.charorder or revelation.charorder - - for i = 1, #revelation.charorder do - local char = revelation.charorder:sub(i,i) - hintbox[char] = wibox({ - fg=revelation.fg, - bg=revelation.bg, - border_color=revelation.border_color, - border_width=revelation.border_width - }) - hintbox[char].ontop = true - hintbox[char].width = revelation.hintsize - hintbox[char].height = revelation.hintsize - letterbox[char] = wibox.widget.textbox() - letterbox[char]:set_markup(char.upper(char)) - letterbox[char]:set_font(revelation.font) - letterbox[char]:set_align("center") - hintbox[char]:set_widget(letterbox[char]) - end -end - -setmetatable(revelation, { __call = function(_, ...) return revelation.expose(...) end }) - -return revelation diff --git a/awesome/.config/awesome/revelation/screenshot.png b/awesome/.config/awesome/revelation/screenshot.png deleted file mode 100644 index 9cd759e..0000000 Binary files a/awesome/.config/awesome/revelation/screenshot.png and /dev/null differ diff --git a/awesome/.config/awesome/themes/colored/theme.lua b/awesome/.config/awesome/themes/colored/theme.lua new file mode 100644 index 0000000..b8deb28 --- /dev/null +++ b/awesome/.config/awesome/themes/colored/theme.lua @@ -0,0 +1,228 @@ +----------------------------------------------------------------------------------------------------------------------- +-- Shared settings for colored themes -- +----------------------------------------------------------------------------------------------------------------------- +local awful = require("awful") + +-- This theme was inherited from another with overwriting some values +-- Check parent theme to find full settings list and its description +local theme = require("themes/colorless/theme") + + +-- Common +----------------------------------------------------------------------------------------------------------------------- +theme.path = awful.util.get_configuration_dir() .. "themes/colored" + +-- Main config +------------------------------------------------------------ +theme.panel_height = 36 -- panel height +theme.border_width = 4 -- window border width +theme.useless_gap = 4 -- useless gap + +-- Fonts +------------------------------------------------------------ +theme.fonts = { + main = "Roboto 13", -- main font + menu = "Roboto 13", -- main menu font + tooltip = "Roboto 13", -- tooltip font + notify = "Play bold 14", -- redflat notify popup font + clock = "Play bold 12", -- textclock widget font + qlaunch = "Play bold 14", -- quick launch key label font + keychain = "Play bold 16", -- key sequence tip font + title = "Roboto bold 13", -- widget titles font + tiny = "Roboto bold 10", -- smallest font for widgets + titlebar = "Roboto bold 13", -- client titlebar font + hotkeys = { + main = "Roboto 14", -- hotkeys helper main font + key = "Iosevka Term Light 14", -- hotkeys helper key font (use monospace for align) + title = "Roboto bold 16", -- hotkeys helper group title font + }, + player = { + main = "Play bold 13", -- player widget main font + time = "Play bold 15", -- player widget current time font + }, +} + +theme.cairo_fonts = { + tag = { font = "Play", size = 16, face = 1 }, -- tag widget font + appswitcher = { font = "Play", size = 20, face = 1 }, -- appswitcher widget font + navigator = { + title = { font = "Play", size = 28, face = 1, slant = 0 }, -- window navigation title font + main = { font = "Play", size = 22, face = 1, slant = 0 } -- window navigation main font + }, + + desktop = { + textbox = { font = "prototype", size = 24, face = 0 }, + }, +} + +-- Widget icons +-------------------------------------------------------------------------------- +theme.wicon = { + battery = theme.path .. "/widget/battery.svg", + wireless = theme.path .. "/widget/wireless.svg", + monitor = theme.path .. "/widget/monitor.svg", + audio = theme.path .. "/widget/audio.svg", + headphones = theme.path .. "/widget/headphones.svg", + brightness = theme.path .. "/widget/brightness.svg", + keyboard = theme.path .. "/widget/keyboard.svg", + mail = theme.path .. "/widget/mail.svg", + package = theme.path .. "/widget/package.svg", + search = theme.path .. "/widget/search.svg", + mute = theme.path .. "/widget/mute.svg", + up = theme.path .. "/widget/up.svg", + down = theme.path .. "/widget/down.svg", + onscreen = theme.path .. "/widget/onscreen.svg", + resize = { + full = theme.path .. "/widget/resize/full.svg", + horizontal = theme.path .. "/widget/resize/horizontal.svg", + vertical = theme.path .. "/widget/resize/vertical.svg", + }, + updates = { + normal = theme.path .. "/widget/updates/normal.svg", + silent = theme.path .. "/widget/updates/silent.svg", + weekly = theme.path .. "/widget/updates/weekly.svg", + daily = theme.path .. "/widget/updates/daily.svg", + }, +} + + +-- Main theme settings +-- Make it updatabele since it may depends on common and ancestor theme settings +----------------------------------------------------------------------------------------------------------------------- + +-- overwrite ancestor update settings with current theme values +function theme:update() + + -- setup parent theme settings + self:init() + + -- Set hotkey helper size according current fonts and keys scheme + -------------------------------------------------------------------------------- + self.service.navigator.keytip["fairv"] = { geometry = { width = 600 }, exit = true } + self.service.navigator.keytip["fairh"] = self.service.navigator.keytip["fairv"] + + self.service.navigator.keytip["tile"] = { geometry = { width = 600 }, exit = true } + self.service.navigator.keytip["tileleft"] = self.service.navigator.keytip["tile"] + self.service.navigator.keytip["tiletop"] = self.service.navigator.keytip["tile"] + self.service.navigator.keytip["tilebottom"] = self.service.navigator.keytip["tile"] + + self.service.navigator.keytip["grid"] = { geometry = { width = 1400 }, column = 2, exit = true } + self.service.navigator.keytip["usermap"] = { geometry = { width = 1400 }, column = 2, exit = true } + + -- Desktop file parser + -------------------------------------------------------------------------------- + self.service.dfparser.icons.theme = self.homedir .. "/.icons/ACYLS" + self.service.dfparser.icons.custom_only = true + self.service.dfparser.icons.scalable_only = true + + -- Menu config + -------------------------------------------------------------------------------- + self.menu.icon_margin = { 4, 7, 7, 8 } + self.menu.keytip = { geometry = { width = 400 } } + + -- Panel widgets + -------------------------------------------------------------------------------- + + -- Double icon indicator + ------------------------------------------------------------ + self.gauge.icon.double.icon1 = self.wicon.down + self.gauge.icon.double.icon2 = self.wicon.up + self.gauge.icon.double.igap = -6 + + -- Volume control + ------------------------------------------------------------ + self.gauge.audio.red.icon = { volume = self.wicon.audio, mute = self.wicon.mute } + self.gauge.audio.blue.icon = self.wicon.headphones + + -- Pulseaudio volume control + ------------------------------------------------------------ + self.widget.pulse.notify = { icon = self.wicon.audio } + + -- Keyboard layout indicator + ------------------------------------------------------------ + self.widget.keyboard.icon = self.wicon.keyboard + + -- Mail indicator + ------------------------------------------------------------ + self.widget.mail.icon = self.wicon.mail + self.widget.mail.notify = { icon = self.wicon.mail } + + -- System updates indicator + ------------------------------------------------------------ + self.widget.updates.notify = { icon = self.wicon.package } + self.widget.updates.wibox.icon.package = self.wicon.package + self.widget.updates.wibox.icon.normal = self.wicon.updates.normal + self.widget.updates.wibox.icon.silent = self.wicon.updates.silent + self.widget.updates.wibox.icon.weekly = self.wicon.updates.weekly + self.widget.updates.wibox.icon.daily = self.wicon.updates.daily + + -- Layoutbox + ------------------------------------------------------------ + self.widget.layoutbox.menu.icon_margin = { 8, 12, 9, 9 } + self.widget.layoutbox.menu.width = 200 + + -- Tasklist + ------------------------------------------------------------ + self.widget.tasklist.winmenu.hide_action = { min = false, move = false } + self.widget.tasklist.tasktip.margin = { 8, 8, 4, 4 } + self.widget.tasklist.winmenu.tagmenu.width = 150 + + -- Floating widgets + -------------------------------------------------------------------------------- + + -- Top processes + ------------------------------------------------------------ + self.float.top.set_position = function(wibox) + local geometry = { x = mouse.screen.workarea.x + mouse.screen.workarea.width, + y = mouse.screen.workarea.y + mouse.screen.workarea.height } + wibox:geometry(geometry) + end + + -- Application runner + ------------------------------------------------------------ + self.float.apprunner.title_icon = self.wicon.search + self.float.apprunner.keytip = { geometry = { width = 400 } } + + -- Application switcher + ------------------------------------------------------------ + self.float.appswitcher.keytip = { geometry = { width = 400 }, exit = true } + + -- Quick launcher + ------------------------------------------------------------ + self.float.qlaunch.keytip = { geometry = { width = 600 } } + + -- Hotkeys helper + ------------------------------------------------------------ + self.float.hotkeys.geometry = { width = 1800 } + self.float.hotkeys.heights = { key = 26, title = 32 } + + -- Key sequence tip + ------------------------------------------------------------ + self.float.keychain.border_width = 0 + self.float.keychain.keytip = { geometry = { width = 1200 }, column = 2 } + + -- Brightness control + ------------------------------------------------------------ + self.float.brightness.notify = { icon = self.wicon.brightness } + + -- Floating window control helper + ------------------------------------------------------------ + self.float.control.icon = { + onscreen = self.wicon.onscreen, + resize = { + self.wicon.resize.full, + self.wicon.resize.horizontal, + self.wicon.resize.vertical, + }, + } + + -- Default awesome theme vars + -------------------------------------------------------------------------------- + self.enable_spawn_cursor = false +end + +-- End +----------------------------------------------------------------------------------------------------------------------- +theme:update() + +return theme diff --git a/awesome/.config/awesome/themes/colored/widget/audio.svg b/awesome/.config/awesome/themes/colored/widget/audio.svg new file mode 100644 index 0000000..9864581 --- /dev/null +++ b/awesome/.config/awesome/themes/colored/widget/audio.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/awesome/.config/awesome/themes/colored/widget/battery.svg b/awesome/.config/awesome/themes/colored/widget/battery.svg new file mode 100644 index 0000000..6dfa8e3 --- /dev/null +++ b/awesome/.config/awesome/themes/colored/widget/battery.svg @@ -0,0 +1,3 @@ + + + diff --git a/awesome/.config/awesome/themes/colored/widget/brightness.svg b/awesome/.config/awesome/themes/colored/widget/brightness.svg new file mode 100644 index 0000000..6560c8b --- /dev/null +++ b/awesome/.config/awesome/themes/colored/widget/brightness.svg @@ -0,0 +1,3 @@ + + + diff --git a/awesome/.config/awesome/themes/colored/widget/down.svg b/awesome/.config/awesome/themes/colored/widget/down.svg new file mode 100644 index 0000000..ebb6194 --- /dev/null +++ b/awesome/.config/awesome/themes/colored/widget/down.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/awesome/.config/awesome/themes/colored/widget/headphones.svg b/awesome/.config/awesome/themes/colored/widget/headphones.svg new file mode 100644 index 0000000..328c396 --- /dev/null +++ b/awesome/.config/awesome/themes/colored/widget/headphones.svg @@ -0,0 +1,3 @@ + + + diff --git a/awesome/.config/awesome/themes/colored/widget/keyboard.svg b/awesome/.config/awesome/themes/colored/widget/keyboard.svg new file mode 100644 index 0000000..6d79d7d --- /dev/null +++ b/awesome/.config/awesome/themes/colored/widget/keyboard.svg @@ -0,0 +1,3 @@ + + + diff --git a/awesome/.config/awesome/themes/colored/widget/mail.svg b/awesome/.config/awesome/themes/colored/widget/mail.svg new file mode 100644 index 0000000..9148dd5 --- /dev/null +++ b/awesome/.config/awesome/themes/colored/widget/mail.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/awesome/.config/awesome/themes/colored/widget/monitor.svg b/awesome/.config/awesome/themes/colored/widget/monitor.svg new file mode 100644 index 0000000..7f4060d --- /dev/null +++ b/awesome/.config/awesome/themes/colored/widget/monitor.svg @@ -0,0 +1,3 @@ + + + diff --git a/awesome/.config/awesome/themes/colored/widget/mute.svg b/awesome/.config/awesome/themes/colored/widget/mute.svg new file mode 100644 index 0000000..f0118d2 --- /dev/null +++ b/awesome/.config/awesome/themes/colored/widget/mute.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/awesome/.config/awesome/themes/colored/widget/onscreen.svg b/awesome/.config/awesome/themes/colored/widget/onscreen.svg new file mode 100644 index 0000000..3a46e7a --- /dev/null +++ b/awesome/.config/awesome/themes/colored/widget/onscreen.svg @@ -0,0 +1,3 @@ + + + diff --git a/awesome/.config/awesome/themes/colored/widget/package.svg b/awesome/.config/awesome/themes/colored/widget/package.svg new file mode 100644 index 0000000..2f3c6ac --- /dev/null +++ b/awesome/.config/awesome/themes/colored/widget/package.svg @@ -0,0 +1,3 @@ + + + diff --git a/awesome/.config/awesome/themes/colored/widget/resize/full.svg b/awesome/.config/awesome/themes/colored/widget/resize/full.svg new file mode 100644 index 0000000..8989b51 --- /dev/null +++ b/awesome/.config/awesome/themes/colored/widget/resize/full.svg @@ -0,0 +1,3 @@ + + + diff --git a/awesome/.config/awesome/themes/colored/widget/resize/horizontal.svg b/awesome/.config/awesome/themes/colored/widget/resize/horizontal.svg new file mode 100644 index 0000000..e98cb78 --- /dev/null +++ b/awesome/.config/awesome/themes/colored/widget/resize/horizontal.svg @@ -0,0 +1,3 @@ + + + diff --git a/awesome/.config/awesome/themes/colored/widget/resize/vertical.svg b/awesome/.config/awesome/themes/colored/widget/resize/vertical.svg new file mode 100644 index 0000000..8e74db8 --- /dev/null +++ b/awesome/.config/awesome/themes/colored/widget/resize/vertical.svg @@ -0,0 +1,3 @@ + + + diff --git a/awesome/.config/awesome/themes/colored/widget/search.svg b/awesome/.config/awesome/themes/colored/widget/search.svg new file mode 100644 index 0000000..4b21903 --- /dev/null +++ b/awesome/.config/awesome/themes/colored/widget/search.svg @@ -0,0 +1,3 @@ + + + diff --git a/awesome/.config/awesome/themes/colored/widget/up.svg b/awesome/.config/awesome/themes/colored/widget/up.svg new file mode 100644 index 0000000..b861217 --- /dev/null +++ b/awesome/.config/awesome/themes/colored/widget/up.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/awesome/.config/awesome/themes/colored/widget/updates/daily.svg b/awesome/.config/awesome/themes/colored/widget/updates/daily.svg new file mode 100644 index 0000000..911e820 --- /dev/null +++ b/awesome/.config/awesome/themes/colored/widget/updates/daily.svg @@ -0,0 +1,3 @@ + + + diff --git a/awesome/.config/awesome/themes/colored/widget/updates/normal.svg b/awesome/.config/awesome/themes/colored/widget/updates/normal.svg new file mode 100644 index 0000000..ae6dc47 --- /dev/null +++ b/awesome/.config/awesome/themes/colored/widget/updates/normal.svg @@ -0,0 +1,3 @@ + + + diff --git a/awesome/.config/awesome/themes/colored/widget/updates/silent.svg b/awesome/.config/awesome/themes/colored/widget/updates/silent.svg new file mode 100644 index 0000000..748accb --- /dev/null +++ b/awesome/.config/awesome/themes/colored/widget/updates/silent.svg @@ -0,0 +1,3 @@ + + + diff --git a/awesome/.config/awesome/themes/colored/widget/updates/weekly.svg b/awesome/.config/awesome/themes/colored/widget/updates/weekly.svg new file mode 100644 index 0000000..c65d6a8 --- /dev/null +++ b/awesome/.config/awesome/themes/colored/widget/updates/weekly.svg @@ -0,0 +1,3 @@ + + + diff --git a/awesome/.config/awesome/themes/colored/widget/wireless.svg b/awesome/.config/awesome/themes/colored/widget/wireless.svg new file mode 100644 index 0000000..54c08ca --- /dev/null +++ b/awesome/.config/awesome/themes/colored/widget/wireless.svg @@ -0,0 +1,3 @@ + + + diff --git a/awesome/.config/awesome/themes/colorless/theme.lua b/awesome/.config/awesome/themes/colorless/theme.lua index 43392c4..27908ce 100644 --- a/awesome/.config/awesome/themes/colorless/theme.lua +++ b/awesome/.config/awesome/themes/colorless/theme.lua @@ -529,14 +529,14 @@ function theme:init() dotcount = {}, -- redflat dotcount style (see theme.gauge.graph.dots) border_width = 0, -- floating widget border width geometry = { height = 40 }, -- floating widget size - screen_gap = 2 * self.useless_gap, -- minimal space from screen edge on floating widget placement + screen_gap = self.useless_gap, -- minimal space from screen edge on floating widget placement shape = nil, -- wibox shape color = { wibox = self.color.wibox, border = self.color.wibox }, -- function to define floating widget position when shown set_position = function(wibox) local geometry = { x = mouse.screen.workarea.x + mouse.screen.workarea.width, - y = mouse.screen.workarea.y + mouse.screen.workarea.height } + y = mouse.screen.workarea.y } wibox:geometry(geometry) end, } diff --git a/awesome/.config/awesome/themes/default/layouts/cornerne.png b/awesome/.config/awesome/themes/default/layouts/cornerne.png deleted file mode 100644 index e7fb61b..0000000 Binary files a/awesome/.config/awesome/themes/default/layouts/cornerne.png and /dev/null differ diff --git a/awesome/.config/awesome/themes/default/layouts/cornerne.svg b/awesome/.config/awesome/themes/default/layouts/cornerne.svg deleted file mode 100644 index d09d526..0000000 --- a/awesome/.config/awesome/themes/default/layouts/cornerne.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/awesome/.config/awesome/themes/default/layouts/cornernew.png b/awesome/.config/awesome/themes/default/layouts/cornernew.png deleted file mode 100644 index aeaf331..0000000 Binary files a/awesome/.config/awesome/themes/default/layouts/cornernew.png and /dev/null differ diff --git a/awesome/.config/awesome/themes/default/layouts/cornernw.png b/awesome/.config/awesome/themes/default/layouts/cornernw.png deleted file mode 100644 index bac5672..0000000 Binary files a/awesome/.config/awesome/themes/default/layouts/cornernw.png and /dev/null differ diff --git a/awesome/.config/awesome/themes/default/layouts/cornernw.svg b/awesome/.config/awesome/themes/default/layouts/cornernw.svg deleted file mode 100644 index a2b9152..0000000 --- a/awesome/.config/awesome/themes/default/layouts/cornernw.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/awesome/.config/awesome/themes/default/layouts/cornernww.png b/awesome/.config/awesome/themes/default/layouts/cornernww.png deleted file mode 100644 index 93b6706..0000000 Binary files a/awesome/.config/awesome/themes/default/layouts/cornernww.png and /dev/null differ diff --git a/awesome/.config/awesome/themes/default/layouts/cornerse.png b/awesome/.config/awesome/themes/default/layouts/cornerse.png deleted file mode 100644 index 092a905..0000000 Binary files a/awesome/.config/awesome/themes/default/layouts/cornerse.png and /dev/null differ diff --git a/awesome/.config/awesome/themes/default/layouts/cornerse.svg b/awesome/.config/awesome/themes/default/layouts/cornerse.svg deleted file mode 100644 index 8c985a3..0000000 --- a/awesome/.config/awesome/themes/default/layouts/cornerse.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/awesome/.config/awesome/themes/default/layouts/cornersew.png b/awesome/.config/awesome/themes/default/layouts/cornersew.png deleted file mode 100644 index 35e900b..0000000 Binary files a/awesome/.config/awesome/themes/default/layouts/cornersew.png and /dev/null differ diff --git a/awesome/.config/awesome/themes/default/layouts/cornersw.png b/awesome/.config/awesome/themes/default/layouts/cornersw.png deleted file mode 100644 index 0d519b5..0000000 Binary files a/awesome/.config/awesome/themes/default/layouts/cornersw.png and /dev/null differ diff --git a/awesome/.config/awesome/themes/default/layouts/cornersw.svg b/awesome/.config/awesome/themes/default/layouts/cornersw.svg deleted file mode 100644 index 2d299c7..0000000 --- a/awesome/.config/awesome/themes/default/layouts/cornersw.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/awesome/.config/awesome/themes/default/layouts/cornersww.png b/awesome/.config/awesome/themes/default/layouts/cornersww.png deleted file mode 100644 index 2d744fd..0000000 Binary files a/awesome/.config/awesome/themes/default/layouts/cornersww.png and /dev/null differ diff --git a/awesome/.config/awesome/themes/default/layouts/dwindle.png b/awesome/.config/awesome/themes/default/layouts/dwindle.png deleted file mode 100644 index 0ec7a35..0000000 Binary files a/awesome/.config/awesome/themes/default/layouts/dwindle.png and /dev/null differ diff --git a/awesome/.config/awesome/themes/default/layouts/dwindlew.png b/awesome/.config/awesome/themes/default/layouts/dwindlew.png deleted file mode 100644 index 8457892..0000000 Binary files a/awesome/.config/awesome/themes/default/layouts/dwindlew.png and /dev/null differ diff --git a/awesome/.config/awesome/themes/default/layouts/fair.svg b/awesome/.config/awesome/themes/default/layouts/fair.svg deleted file mode 100644 index dc79076..0000000 --- a/awesome/.config/awesome/themes/default/layouts/fair.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/awesome/.config/awesome/themes/default/layouts/fairh.png b/awesome/.config/awesome/themes/default/layouts/fairh.png deleted file mode 100644 index 3c2d36b..0000000 Binary files a/awesome/.config/awesome/themes/default/layouts/fairh.png and /dev/null differ diff --git a/awesome/.config/awesome/themes/default/layouts/fairhw.png b/awesome/.config/awesome/themes/default/layouts/fairhw.png deleted file mode 100644 index 410e292..0000000 Binary files a/awesome/.config/awesome/themes/default/layouts/fairhw.png and /dev/null differ diff --git a/awesome/.config/awesome/themes/default/layouts/fairv.png b/awesome/.config/awesome/themes/default/layouts/fairv.png deleted file mode 100644 index ad99f4b..0000000 Binary files a/awesome/.config/awesome/themes/default/layouts/fairv.png and /dev/null differ diff --git a/awesome/.config/awesome/themes/default/layouts/fairvw.png b/awesome/.config/awesome/themes/default/layouts/fairvw.png deleted file mode 100644 index 1a4ee27..0000000 Binary files a/awesome/.config/awesome/themes/default/layouts/fairvw.png and /dev/null differ diff --git a/awesome/.config/awesome/themes/default/layouts/floating.png b/awesome/.config/awesome/themes/default/layouts/floating.png deleted file mode 100644 index bf74990..0000000 Binary files a/awesome/.config/awesome/themes/default/layouts/floating.png and /dev/null differ diff --git a/awesome/.config/awesome/themes/default/layouts/floating.svg b/awesome/.config/awesome/themes/default/layouts/floating.svg deleted file mode 100644 index d6b0d65..0000000 --- a/awesome/.config/awesome/themes/default/layouts/floating.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/awesome/.config/awesome/themes/default/layouts/floatingw.png b/awesome/.config/awesome/themes/default/layouts/floatingw.png deleted file mode 100644 index 7aecb06..0000000 Binary files a/awesome/.config/awesome/themes/default/layouts/floatingw.png and /dev/null differ diff --git a/awesome/.config/awesome/themes/default/layouts/fullscreen.png b/awesome/.config/awesome/themes/default/layouts/fullscreen.png deleted file mode 100644 index d02f6fc..0000000 Binary files a/awesome/.config/awesome/themes/default/layouts/fullscreen.png and /dev/null differ diff --git a/awesome/.config/awesome/themes/default/layouts/fullscreen.svg b/awesome/.config/awesome/themes/default/layouts/fullscreen.svg deleted file mode 100644 index 573a267..0000000 --- a/awesome/.config/awesome/themes/default/layouts/fullscreen.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/awesome/.config/awesome/themes/default/layouts/fullscreenw.png b/awesome/.config/awesome/themes/default/layouts/fullscreenw.png deleted file mode 100644 index 5c35bfa..0000000 Binary files a/awesome/.config/awesome/themes/default/layouts/fullscreenw.png and /dev/null differ diff --git a/awesome/.config/awesome/themes/default/layouts/grid.svg b/awesome/.config/awesome/themes/default/layouts/grid.svg deleted file mode 100644 index e5593f6..0000000 --- a/awesome/.config/awesome/themes/default/layouts/grid.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/awesome/.config/awesome/themes/default/layouts/magnifier.png b/awesome/.config/awesome/themes/default/layouts/magnifier.png deleted file mode 100644 index 2ea2792..0000000 Binary files a/awesome/.config/awesome/themes/default/layouts/magnifier.png and /dev/null differ diff --git a/awesome/.config/awesome/themes/default/layouts/magnifier.svg b/awesome/.config/awesome/themes/default/layouts/magnifier.svg deleted file mode 100644 index 6160621..0000000 --- a/awesome/.config/awesome/themes/default/layouts/magnifier.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/awesome/.config/awesome/themes/default/layouts/magnifierw.png b/awesome/.config/awesome/themes/default/layouts/magnifierw.png deleted file mode 100644 index 5cd5e16..0000000 Binary files a/awesome/.config/awesome/themes/default/layouts/magnifierw.png and /dev/null differ diff --git a/awesome/.config/awesome/themes/default/layouts/map.svg b/awesome/.config/awesome/themes/default/layouts/map.svg deleted file mode 100644 index 651ce9c..0000000 --- a/awesome/.config/awesome/themes/default/layouts/map.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/awesome/.config/awesome/themes/default/layouts/max.png b/awesome/.config/awesome/themes/default/layouts/max.png deleted file mode 100644 index 8d20844..0000000 Binary files a/awesome/.config/awesome/themes/default/layouts/max.png and /dev/null differ diff --git a/awesome/.config/awesome/themes/default/layouts/max.svg b/awesome/.config/awesome/themes/default/layouts/max.svg deleted file mode 100644 index 8ff9b21..0000000 --- a/awesome/.config/awesome/themes/default/layouts/max.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/awesome/.config/awesome/themes/default/layouts/maxw.png b/awesome/.config/awesome/themes/default/layouts/maxw.png deleted file mode 100644 index 85f5ce3..0000000 Binary files a/awesome/.config/awesome/themes/default/layouts/maxw.png and /dev/null differ diff --git a/awesome/.config/awesome/themes/default/layouts/spiral.png b/awesome/.config/awesome/themes/default/layouts/spiral.png deleted file mode 100644 index ca41814..0000000 Binary files a/awesome/.config/awesome/themes/default/layouts/spiral.png and /dev/null differ diff --git a/awesome/.config/awesome/themes/default/layouts/spiral.svg b/awesome/.config/awesome/themes/default/layouts/spiral.svg deleted file mode 100644 index d9c1c07..0000000 --- a/awesome/.config/awesome/themes/default/layouts/spiral.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/awesome/.config/awesome/themes/default/layouts/spiralw.png b/awesome/.config/awesome/themes/default/layouts/spiralw.png deleted file mode 100644 index d128461..0000000 Binary files a/awesome/.config/awesome/themes/default/layouts/spiralw.png and /dev/null differ diff --git a/awesome/.config/awesome/themes/default/layouts/tile.png b/awesome/.config/awesome/themes/default/layouts/tile.png deleted file mode 100644 index db1ce15..0000000 Binary files a/awesome/.config/awesome/themes/default/layouts/tile.png and /dev/null differ diff --git a/awesome/.config/awesome/themes/default/layouts/tile.svg b/awesome/.config/awesome/themes/default/layouts/tile.svg deleted file mode 100644 index 2cc7262..0000000 --- a/awesome/.config/awesome/themes/default/layouts/tile.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/awesome/.config/awesome/themes/default/layouts/tilebottom.png b/awesome/.config/awesome/themes/default/layouts/tilebottom.png deleted file mode 100644 index 73a72fe..0000000 Binary files a/awesome/.config/awesome/themes/default/layouts/tilebottom.png and /dev/null differ diff --git a/awesome/.config/awesome/themes/default/layouts/tilebottom.svg b/awesome/.config/awesome/themes/default/layouts/tilebottom.svg deleted file mode 100644 index c31b69d..0000000 --- a/awesome/.config/awesome/themes/default/layouts/tilebottom.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/awesome/.config/awesome/themes/default/layouts/tilebottomw.png b/awesome/.config/awesome/themes/default/layouts/tilebottomw.png deleted file mode 100644 index 64aa289..0000000 Binary files a/awesome/.config/awesome/themes/default/layouts/tilebottomw.png and /dev/null differ diff --git a/awesome/.config/awesome/themes/default/layouts/tileleft.png b/awesome/.config/awesome/themes/default/layouts/tileleft.png deleted file mode 100644 index 829475a..0000000 Binary files a/awesome/.config/awesome/themes/default/layouts/tileleft.png and /dev/null differ diff --git a/awesome/.config/awesome/themes/default/layouts/tileleft.svg b/awesome/.config/awesome/themes/default/layouts/tileleft.svg deleted file mode 100644 index 054c63f..0000000 --- a/awesome/.config/awesome/themes/default/layouts/tileleft.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/awesome/.config/awesome/themes/default/layouts/tileleftw.png b/awesome/.config/awesome/themes/default/layouts/tileleftw.png deleted file mode 100644 index 24c3941..0000000 Binary files a/awesome/.config/awesome/themes/default/layouts/tileleftw.png and /dev/null differ diff --git a/awesome/.config/awesome/themes/default/layouts/tiletop.png b/awesome/.config/awesome/themes/default/layouts/tiletop.png deleted file mode 100644 index 1964d4d..0000000 Binary files a/awesome/.config/awesome/themes/default/layouts/tiletop.png and /dev/null differ diff --git a/awesome/.config/awesome/themes/default/layouts/tiletop.svg b/awesome/.config/awesome/themes/default/layouts/tiletop.svg deleted file mode 100644 index 0520432..0000000 --- a/awesome/.config/awesome/themes/default/layouts/tiletop.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/awesome/.config/awesome/themes/default/layouts/tiletopw.png b/awesome/.config/awesome/themes/default/layouts/tiletopw.png deleted file mode 100644 index d2eee79..0000000 Binary files a/awesome/.config/awesome/themes/default/layouts/tiletopw.png and /dev/null differ diff --git a/awesome/.config/awesome/themes/default/layouts/tilew.png b/awesome/.config/awesome/themes/default/layouts/tilew.png deleted file mode 100644 index 4451a66..0000000 Binary files a/awesome/.config/awesome/themes/default/layouts/tilew.png and /dev/null differ diff --git a/awesome/.config/awesome/themes/default/theme.lua b/awesome/.config/awesome/themes/default/theme.lua index a966cdc..c56a605 100644 --- a/awesome/.config/awesome/themes/default/theme.lua +++ b/awesome/.config/awesome/themes/default/theme.lua @@ -10,119 +10,39 @@ local gfs = require("gears.filesystem") local themes_path =os.getenv("HOME") .. "/.config/awesome/themes/" local icon_dir = themes_path .. "default/icons/" -local theme = require("themes/colorless/theme") +local theme = require("themes/colored/theme") +theme.color.main = "#A30817" +theme.color.urgent = "#016B84" + + + +theme:update() +theme.gauge.audio.blue.dash.plain = true +theme.gauge.audio.blue.dash.bar.num = 8 +theme.gauge.audio.blue.dash.bar.width = 3 +theme.gauge.audio.blue.dmargin = { 5, 0, 9, 9 } +theme.gauge.audio.blue.width = 86 +theme.gauge.audio.blue.icon = theme.path .. "/widget/audio.svg" +theme.widget.tasklist.task = theme.gauge.task.ruby theme.font = "Roboto Bold 10" -theme.bg_normal = "#242424" -theme.bg_focus = "#535d6c" -theme.bg_urgent = "#ff0000" -theme.bg_minimize = "#444444" -theme.bg_systray = theme.bg_normal +theme.cellnum = { x = 80, y = 43 } -- grid layout property -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(1) -theme.border_normal = "#000000" -theme.border_focus = "#535d6c" -theme.border_marked = "#91231c" - - - -theme.wibar_height = dpi(28) --- 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(30) -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" theme.wallpaper = "~/Images/wallpaper.jpg" --- You can use your own layout icons like this: -theme.layout_fairv = themes_path.."default/layouts/fair.svg" -theme.layout_floating = themes_path.."default/layouts/floating.svg" -theme.layout_magnifier = themes_path.."default/layouts/magnifier.svg" -theme.layout_max = themes_path.."default/layouts/max.svg" -theme.layout_grid = themes_path.."default/layouts/grid.svg" -theme.layout_usermap = themes_path.."default/layouts/map.svg" -theme.layout_fullscreen = themes_path.."default/layouts/fullscreen.svg" -theme.layout_tilebottom = themes_path.."default/layouts/tilebottom.svg" -theme.layout_tileleft = themes_path.."default/layouts/tileleft.svg" -theme.layout_tile = themes_path.."default/layouts/tile.svg" -theme.layout_tiletop = themes_path.."default/layouts/tiletop.svg" -theme.layout_spiral = themes_path.."default/layouts/spiral.svg" -theme.layout_dwindle = themes_path.."default/layouts/dwindle.svg" -theme.layout_cornernw = themes_path.."default/layouts/cornernw.svg" -theme.layout_cornerne = themes_path.."default/layouts/cornerne.svg" -theme.layout_cornersw = themes_path.."default/layouts/cornersw.svg" -theme.layout_cornerse = themes_path.."default/layouts/cornerse.svg" - +theme.widget.wrapper = { + layoutbox = { 12, 10, 6, 6 }, + textclock = { 10, 10, 0, 0 }, + volume = { 4, 9, 3, 3 }, + network = { 10, 10, 5, 5 }, + cpuram = { 10, 10, 5, 5 }, + keyboard = { 10, 10, 4, 4 }, + mail = { 10, 10, 4, 4 }, + battery = { 8, 10, 7, 7 }, + tray = { 8, 8, 7, 7 }, + tasklist = { 4, 0, 0, 0 }, -- centering tasklist widget +} --icon @@ -132,14 +52,7 @@ theme.net_down = icon_dir .. "net_down.png" theme.spr_right = icon_dir .. "spr_right.png" theme.mpd_icon = icon_dir .. "audio.svg" theme.ram_icon = icon_dir .. "ram.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 diff --git a/awesome/.config/awesome/themes/default/titlebar/close_focus.png b/awesome/.config/awesome/themes/default/titlebar/close_focus.png deleted file mode 100644 index e4763b6..0000000 Binary files a/awesome/.config/awesome/themes/default/titlebar/close_focus.png and /dev/null differ diff --git a/awesome/.config/awesome/themes/default/titlebar/close_normal.png b/awesome/.config/awesome/themes/default/titlebar/close_normal.png deleted file mode 100644 index 7702839..0000000 Binary files a/awesome/.config/awesome/themes/default/titlebar/close_normal.png and /dev/null 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 deleted file mode 100644 index 80c1b4a..0000000 Binary files a/awesome/.config/awesome/themes/default/titlebar/floating_focus_active.png and /dev/null 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 deleted file mode 100644 index a96f00c..0000000 Binary files a/awesome/.config/awesome/themes/default/titlebar/floating_focus_inactive.png and /dev/null 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 deleted file mode 100644 index b9c70ca..0000000 Binary files a/awesome/.config/awesome/themes/default/titlebar/floating_normal_active.png and /dev/null 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 deleted file mode 100644 index 55cbc0c..0000000 Binary files a/awesome/.config/awesome/themes/default/titlebar/floating_normal_inactive.png and /dev/null 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 deleted file mode 100644 index dad461d..0000000 Binary files a/awesome/.config/awesome/themes/default/titlebar/maximized_focus_active.png and /dev/null 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 deleted file mode 100644 index 3cc46fe..0000000 Binary files a/awesome/.config/awesome/themes/default/titlebar/maximized_focus_inactive.png and /dev/null 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 deleted file mode 100644 index 0bbbf6a..0000000 Binary files a/awesome/.config/awesome/themes/default/titlebar/maximized_normal_active.png and /dev/null 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 deleted file mode 100644 index 5f1e98f..0000000 Binary files a/awesome/.config/awesome/themes/default/titlebar/maximized_normal_inactive.png and /dev/null differ diff --git a/awesome/.config/awesome/themes/default/titlebar/minimize_focus.png b/awesome/.config/awesome/themes/default/titlebar/minimize_focus.png deleted file mode 100644 index ff427b3..0000000 Binary files a/awesome/.config/awesome/themes/default/titlebar/minimize_focus.png and /dev/null differ diff --git a/awesome/.config/awesome/themes/default/titlebar/minimize_normal.png b/awesome/.config/awesome/themes/default/titlebar/minimize_normal.png deleted file mode 100644 index aa47447..0000000 Binary files a/awesome/.config/awesome/themes/default/titlebar/minimize_normal.png and /dev/null 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 deleted file mode 100644 index d79c8e2..0000000 Binary files a/awesome/.config/awesome/themes/default/titlebar/ontop_focus_active.png and /dev/null 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 deleted file mode 100644 index 03aef5a..0000000 Binary files a/awesome/.config/awesome/themes/default/titlebar/ontop_focus_inactive.png and /dev/null 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 deleted file mode 100644 index e09f32d..0000000 Binary files a/awesome/.config/awesome/themes/default/titlebar/ontop_normal_active.png and /dev/null 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 deleted file mode 100644 index 9917b9e..0000000 Binary files a/awesome/.config/awesome/themes/default/titlebar/ontop_normal_inactive.png and /dev/null 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 deleted file mode 100644 index 8019463..0000000 Binary files a/awesome/.config/awesome/themes/default/titlebar/sticky_focus_active.png and /dev/null 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 deleted file mode 100644 index 6d7fe40..0000000 Binary files a/awesome/.config/awesome/themes/default/titlebar/sticky_focus_inactive.png and /dev/null 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 deleted file mode 100644 index 0d003ef..0000000 Binary files a/awesome/.config/awesome/themes/default/titlebar/sticky_normal_active.png and /dev/null 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 deleted file mode 100644 index f1e8789..0000000 Binary files a/awesome/.config/awesome/themes/default/titlebar/sticky_normal_inactive.png and /dev/null differ diff --git a/awesome/.config/awesome/titlebar-config.lua b/awesome/.config/awesome/titlebar-config.lua index c39d878..cf99707 100644 --- a/awesome/.config/awesome/titlebar-config.lua +++ b/awesome/.config/awesome/titlebar-config.lua @@ -24,6 +24,7 @@ local function title_buttons(c) { }, 1, function() client.focus = c; c:raise() + awful.mouse.client.move(c) end ), @@ -58,7 +59,7 @@ function titlebar:init() local style = {} -- titlebar schemes - style.base = redutil.table.merge(redutil.table.check(beautiful, "titlebar.base") or {}, { size = 8 }) + style.base = redutil.table.merge(redutil.table.check(beautiful, "titlebar.base") or {}, { size = 9 }) style.iconic = redutil.table.merge(style.base, { size = 24 }) -- titlebar elements styles