finalyse awesome adaptation
32
awesome/.config/awesome/alias-config.lua
Normal file
@ -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
|
||||
|
@ -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"
|
||||
|
230
awesome/.config/awesome/key.old
Normal file
@ -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)
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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()
|
||||
local sysmon = { widget = {}, buttons = {}, icon = {} }
|
||||
|
||||
widget:set_markup(markup.fontfg(beautiful.font, "#e54c62", net_now.sent .. " "))
|
||||
netdowninfo:set_markup(markup.fontfg(beautiful.font, "#87af5f", net_now.received .. " "))
|
||||
end
|
||||
})
|
||||
-- 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
|
||||
|
@ -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
|
||||
|
@ -119,7 +119,7 @@ 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
|
||||
@ -130,6 +130,7 @@ function system.net_speed(interface, storage)
|
||||
-- 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
|
||||
@ -157,7 +158,7 @@ function system.net_speed(interface, storage)
|
||||
end
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
return { up, down }
|
||||
return { up, down,state }
|
||||
end
|
||||
|
||||
-- Get disk speed
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -1,165 +0,0 @@
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
Version 3, 29 June 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
||||
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.
|
@ -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 <guotsuan@gmail.com>
|
||||
* Perry Hargrave <resixian@gmail.com>
|
||||
|
||||
### Contributions, many thanks!
|
||||
* Daniel Hahler <github@thequod.de>
|
||||
* Yauhen Kirylau
|
||||
* Nikola Petrov <nikolavp@gmail.com>
|
||||
|
||||
### Original authors
|
||||
* Espen Wiborg <espenhw@grumblesmurf.org>
|
||||
* Julien Danjou <julien@danjou.info>
|
||||
|
||||
(c) 20013-2014 Quan Guo
|
||||
(c) 2009-12 Perry Hargrave
|
||||
(c) 2008 Espen Wiborg, Julien Danjou
|
@ -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
|
Before Width: | Height: | Size: 1.0 MiB |
228
awesome/.config/awesome/themes/colored/theme.lua
Normal file
@ -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
|
8
awesome/.config/awesome/themes/colored/widget/audio.svg
Normal file
@ -0,0 +1,8 @@
|
||||
<svg height="48" width="48" xmlns="http://www.w3.org/2000/svg">
|
||||
<g fill="#a0a0a0" transform="matrix(1.0666667 0 0 1.0666667 -7.655467 -379.42721)">
|
||||
<path d="m26.103 394.151-9.961-9.962h-8.965v-11.953h8.965l9.961-9.962z"/>
|
||||
<path d="m34.567 369.749-2.816 2.816c1.447 1.446 2.344 3.444 2.344 5.647s-.896 4.201-2.344 5.646l2.816 2.816c2.168-2.168 3.512-5.161 3.512-8.463s-1.344-6.293-3.512-8.462z"/>
|
||||
<path d="m39.704 365.025-2.816 2.816c2.645 2.645 4.283 6.297 4.283 10.324s-1.639 7.68-4.283 10.324l2.816 2.816c3.365-3.367 5.451-8.015 5.451-13.141 0-5.123-2.086-9.771-5.451-13.139z"/>
|
||||
<path d="m44.56 359.854-2.816 2.816c3.982 3.982 6.449 9.48 6.449 15.543s-2.467 11.561-6.447 15.543l2.814 2.816c4.705-4.704 7.617-11.197 7.617-18.359s-2.914-13.655-7.617-18.359z"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 793 B |
@ -0,0 +1,3 @@
|
||||
<svg height="48" width="48" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m32 4h-4v-2c0-1.098-.898-2-2-2h-24c-1.102 0-2 .902-2 2v12c0 1.102.898 2 2 2h24c1.102 0 2-.898 2-2v-2h4z" fill="#a0a0a0" transform="matrix(0 -1.5 2 0 8 48)"/>
|
||||
</svg>
|
After Width: | Height: | Size: 240 B |
@ -0,0 +1,3 @@
|
||||
<svg height="48" viewBox="0 0 48 48" width="48" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m24 0c-1.3 0-2.3 1-2.3 2.3v4.7c0 1.3 1 2.3 2.3 2.3s2.3-1 2.3-2.3v-4.7c0-1.3-1-2.3-2.3-2.3zm-15.3 6.4c-.6 0-1.2.2-1.7.6-.9.9-.9 2.4 0 3.3l3.3 3.3c.5.5 1.1.7 1.7.7s1.1-.2 1.6-.7c.9-.9.9-2.4 0-3.3l-3.3-3.3c-.4-.4-1-.6-1.6-.6zm30.6 0c-.6 0-1.2.2-1.6.6l-3.3 3.3c-.9.9-.9 2.4 0 3.3.5.5 1 .7 1.6.7s1.2-.2 1.7-.7l3.3-3.3c.9-.9.9-2.4 0-3.3-.5-.4-1.1-.6-1.7-.6zm-15.3 7.5c-5.6 0-10.1 4.6-10.1 10.1 0 5.6 4.5 10.1 10.1 10.1 5.5 0 10.1-4.5 10.1-10.1 0-5.5-4.6-10.1-10.1-10.1zm-21.7 7.8c-1.3 0-2.3 1-2.3 2.3s1 2.3 2.3 2.3h4.7c1.2 0 2.3-1 2.3-2.3s-1.1-2.3-2.3-2.3zm38.7 0c-1.3 0-2.3 1-2.3 2.3s1 2.3 2.3 2.3h4.7c1.3 0 2.3-1 2.3-2.3s-1-2.3-2.3-2.3zm-29 12c-.6 0-1.2.2-1.7.7l-3.3 3.3c-.9.9-.9 2.4 0 3.3.5.4 1.1.7 1.7.7s1.2-.3 1.6-.7l3.3-3.3c.9-.9.9-2.4 0-3.3-.5-.5-1-.7-1.6-.7zm24 0c-.6 0-1.1.2-1.6.7-.9.9-.9 2.4 0 3.3l3.3 3.3c.4.4 1 .7 1.6.7s1.2-.3 1.7-.7c.9-.9.9-2.4 0-3.3l-3.3-3.3c-.5-.5-1.1-.7-1.7-.7zm-12 5c-1.3 0-2.3 1.1-2.3 2.3v4.7c0 1.3 1 2.3 2.3 2.3s2.3-1 2.3-2.3v-4.7c0-1.2-1-2.3-2.3-2.3z" fill="#a0a0a0"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.1 KiB |
8
awesome/.config/awesome/themes/colored/widget/down.svg
Normal file
@ -0,0 +1,8 @@
|
||||
<svg height="48" width="48" xmlns="http://www.w3.org/2000/svg">
|
||||
<g fill="#a0a0a0" fill-rule="evenodd">
|
||||
<path d="m24 48-13-9v-5l13 9 13-9v5z"/>
|
||||
<path d="m24 36.6667-13-9v-5l13 9 13-9v5z"/>
|
||||
<path d="m24 25.3333-13-9v-5l13 9 13-9v5z"/>
|
||||
<path d="m24 14-13-9v-5l13 9 13-9v5z"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 305 B |
@ -0,0 +1,3 @@
|
||||
<svg height="48" width="48" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m30 16h-2v-4c0-6.625-5.375-12-12-12s-12 5.375-12 12v4h-2c-1.105 0-2 .895-2 2v8c0 1.105.895 2 2 2h6v-12-4c0-4.414 3.586-8 8-8s8 3.586 8 8v4 12h6c1.105 0 2-.895 2-2v-8c0-1.105-.895-2-2-2z" fill="#a0a0a0" transform="matrix(1.5 0 0 1.5 0 3)"/>
|
||||
</svg>
|
After Width: | Height: | Size: 322 B |
@ -0,0 +1,3 @@
|
||||
<svg height="48" width="48" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m4.2630208 9.875c-1.2414899 0-2.2630208 1.088475-2.2630208 2.463542v23.947916c0 1.375067 1.021531 2.463544 2.2630208 2.463542h39.4739582c1.24149 0 2.26302-1.088476 2.263021-2.463542v-23.947916c0-1.375067-1.021532-2.463542-2.263021-2.463542zm1.0598959 4.841146h4.3828125v3.666667h-4.3828125zm6.5885413 0h4.382813v3.666667h-4.382813zm6.588542 0h4.411458v3.666667h-4.411458zm6.588542 0h4.411458v3.666667h-4.411458zm6.617187 0h4.382813v3.666667h-4.382813zm6.588542 0h4.382812v3.666667h-4.382812zm-29.6770835 7.763021h4.3828125v3.666666h-4.3828125zm6.5885415 0h4.382813v3.666666h-4.382813zm6.588542 0h4.411458v3.666666h-4.411458zm6.617187 0h4.382813v3.666666h-4.382813zm6.588542 0h4.382812v3.666666h-4.382812zm-29.6770833 7.763021h5.4713543v3.666666h-5.4713543zm7.6770833 0h20.882812v3.666666h-20.882812zm23.088542 0h6.588541v3.666666h-6.588541z" fill="#a0a0a0" transform="matrix(1.0909091 0 0 1.1774892 -2.181818 -4.627706)"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1005 B |
8
awesome/.config/awesome/themes/colored/widget/mail.svg
Normal file
@ -0,0 +1,8 @@
|
||||
<svg height="48" width="48" xmlns="http://www.w3.org/2000/svg">
|
||||
<g fill="#a0a0a0" transform="matrix(1.066643 0 0 1.0990077 -392.68889 -194.82397)">
|
||||
<path d="m412.51 211.853c.354.375.645.26.645-.256v-24.754c0-.516-.321-.664-.714-.329l-12.536 10.671c-.394.334-.425.914-.07 1.289z"/>
|
||||
<path d="m410.761 184.249c.394-.334.292-.607-.223-.607h-40.092c-.515 0-.614.271-.219.602l19.701 16.524c.396.331 1.041.329 1.434-.006z"/>
|
||||
<path d="m368.154 211.597c0 .516.29.631.645.256l12.625-13.326c.354-.375.321-.951-.074-1.283l-12.477-10.465c-.396-.332-.719-.181-.719.335z"/>
|
||||
<path d="m392.28 203.674c-.393.335-.979.759-1.302.943 0 0 0 0-.324 0-.321 0-.321 0-.321 0-.32-.181-.905-.6-1.301-.931l-4.086-3.428c-.396-.332-1.009-.297-1.363.078l-12.847 13.561c-.354.375-.223.682.293.682h39.25c.516 0 .647-.307.293-.682l-12.883-13.599c-.354-.374-.966-.407-1.358-.073z"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 879 B |
@ -0,0 +1,3 @@
|
||||
<svg height="48" width="48" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m7.2708333 4.6313875c-2.9176155 0-5.2708333 2.2969107-5.2708333 5.1276047v28.3307288c0 2.830694 2.3532178 5.098958 5.2708333 5.098958h33.4583337c2.917615 0 5.270833-2.268263 5.270833-5.098958v-28.3307288c0-2.8306944-2.353216-5.1276047-5.270833-5.1276047zm2.40625 4.2968747h28.6458337c1.872792 0 3.380208 1.4920968 3.380208 3.3515628v23.260416c.000001 1.859466-1.507414 3.351563-3.380208 3.351563h-28.6458337c-1.872794-.000001-3.3802083-1.492097-3.3802083-3.351563v-23.260416c0-1.859466 1.5074148-3.3515628 3.3802083-3.3515628zm19.0494787.34375c-1.049495.097-1.934293.8229868-2.234375 1.8333338l-5.84375 19.049479-1.947916-2.835938c-.480134-.698051-1.272561-1.11568-2.119792-1.117187h-7.4192707c-.9297575-.01314-1.794308.485987-2.2630208 1.289062-.4687129.803076-.4687129 1.77505 0 2.578125.4687128.803075 1.3332633 1.302201 2.2630208 1.289063h6.0729167l4.153646 6.130208c.558717.828544 1.533342 1.270525 2.520833 1.117188.987491-.153338 1.809991-.874375 2.091146-1.833334l5.15625-16.815104 3.552083 9.710938c.370753 1.010343 1.330046 1.684133 2.40625 1.690104h3.723959c.929757.01314 1.794308-.485987 2.26302-1.289063.468714-.803076.468714-1.77505 0-2.578125-.468712-.803074-1.333263-1.302201-2.26302-1.289062h-1.919271l-5.557292-15.239583c-.396752-1.0932728-1.476305-1.7855958-2.635417-1.6901048z" fill="#a0a0a0" transform="matrix(1.0909091 0 0 1.0909091 -2.181818 -2.083673)"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.4 KiB |
6
awesome/.config/awesome/themes/colored/widget/mute.svg
Normal file
@ -0,0 +1,6 @@
|
||||
<svg height="48" width="48" xmlns="http://www.w3.org/2000/svg">
|
||||
<g fill="#a0a0a0" transform="matrix(1.0666311 0 0 1.0666311 -7.654145 -316.52731)">
|
||||
<path d="m27.534 302.112v34.286l-10.714-10.714h-9.644v-12.857h9.644z"/>
|
||||
<path d="m47.081 319.255 4.918-4.917c.238-.24.238-.631 0-.87l-2.607-2.606c-.237-.238-.629-.238-.866 0l-4.919 4.918-4.92-4.918c-.236-.238-.629-.238-.867 0l-2.605 2.606c-.239.239-.239.63 0 .87l4.917 4.917-4.917 4.917c-.239.24-.239.632 0 .87l2.607 2.607c.236.236.629.236.867 0l4.918-4.919 4.916 4.919c.24.236.632.236.869 0l2.607-2.607c.236-.237.236-.63 0-.87z"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 604 B |
@ -0,0 +1,3 @@
|
||||
<svg height="48" width="48" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m5.006 3.996c-2.773 0-5.006 2.231-5.006 5v30.004c0 2.78 2.233 5 5.006 5h37.984c2.78 0 5.01-2.22 5.01-5v-30.004c0-2.769-2.23-5-5.01-5zm4.33 6.004h29.324c1.85 0 3.34 1.49 3.34 3.34v21.32c0 1.85-1.49 3.34-3.34 3.34h-29.324c-1.848 0-3.336-1.49-3.336-3.34v-21.32c0-1.85 1.488-3.34 3.336-3.34zm7.664 7-7 7 7 7v-4h6v-6h-6zm14 0v4h-6v6h6v4l7-7z" fill="#a0a0a0"/>
|
||||
</svg>
|
After Width: | Height: | Size: 437 B |
@ -0,0 +1,3 @@
|
||||
<svg height="48" width="48" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m24.306453 10.754002-17.2642905 3.823024c-.1844549.04197-.3403576.164469-.4247805.333756l-4.551219 8.829365c-.0973.197298-.087362.420981.030342.606829.1177036.185848.3261907.307045.5461463.303414h4.2177057v11.590438c.00335.289729-.2819262.539962 0 .606829l17.870878 4.278146c.11873.03577.245366.03577.364097 0l17.567704-6.098633c.257881-.08919.429247-.333998.424781-.606829v-11.761814h2.275609c.201509.0014.395859-.0808.515805-.242731.119947-.161928.15107-.384128.09103-.576488l-3.276878-8.081502c-.08071-.208058-.26529-.358028-.485463-.394439l-17.719418-2.609365c-.06036-.0088-.121684-.0088-.182049 0zm-.910244 2.396975v25.244095l-15.261754-3.51961v-18.2959zm2.214927 2.27561 2.761073 6.432389c.09079.225767.303282.379232.546146.394439l11.924194.364098v10.831901l-15.231413 5.188389zm-18.7510223 1.790146.0002428 6.235291h-3.1860961zm10.9532673 1.45639-5.704195.819219v7.221268l-2.184585.09102 5.158048 8.374243 6.493073-8.859706-3.762341.121366v-7.767414z" fill="#a0a0a0" transform="matrix(1.090909 0 0 1.090909 -2.181817 -4.309106)"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.1 KiB |
@ -0,0 +1,3 @@
|
||||
<svg height="48" width="48" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m40.96 7.022h-15.55l4.95 4.951-7.77 7.78 5.65 5.65 7.77-7.77 4.95 4.95zm-20.5.715-12.723 12.723 4.243 4.25 12.73-12.73zm15.56 15.553-12.73 12.73 4.25 4.24 12.72-12.72zm-16.27-.7-7.77 7.77-4.951-4.95v15.57h15.551l-4.95-4.95 7.78-7.78z" fill="#a0a0a0"/>
|
||||
</svg>
|
After Width: | Height: | Size: 334 B |
@ -0,0 +1,3 @@
|
||||
<svg height="48" width="48" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m48 23.99-11-10.99v7h-11v8h10.99v7zm-15-13.99h-18v6h18zm0 22h-18v6h18zm-11.01-12h-10.99v-7l-11 11.01 10.99 10.99v-7h11z" fill="#a0a0a0"/>
|
||||
</svg>
|
After Width: | Height: | Size: 220 B |
@ -0,0 +1,3 @@
|
||||
<svg height="48" width="48" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m23.99 0-10.99 11h7v11h8v-10.99l7-.01zm-13.99 15v18h6v-18zm22 0v18h6v-18zm-12 11.01v10.99h-7l11.01 11 10.99-10.99h-7v-11z" fill="#a0a0a0"/>
|
||||
</svg>
|
After Width: | Height: | Size: 222 B |
3
awesome/.config/awesome/themes/colored/widget/search.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg height="48" width="48" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m28.417332 2.3030281c-9.711053 0-17.61212 7.8820939-17.61212 17.5698269 0 4.31388 1.586616 8.25685 4.182142 11.311678l-4.182142 1.292764-8.2464781 7.668436c-.5864158.546007-1.0897131 3.290669.5595824 4.936005 1.9437135 1.939046 4.4173942 1.125259 4.9478866.558239l7.6868951-8.226675 1.295875-4.1721c3.072454 2.596703 7.031164 4.1721 11.368359 4.1721 9.711052.000001 17.582668-7.852714 17.582668-17.540447-.000001-9.687733-7.871616-17.5698269-17.582668-17.5698269zm0 4.4071474c7.283289 0 13.194364 5.8968805 13.194364 13.1626795 0 7.2658-5.911076 13.162679-13.194364 13.16268-7.283289 0-13.194364-5.89688-13.194364-13.16268 0-7.265799 5.911074-13.1626794 13.194364-13.1626795z" fill="#a0a0a0" transform="matrix(1.0909091 0 0 1.0909091 -2.181818 -2.512394)"/>
|
||||
</svg>
|
After Width: | Height: | Size: 840 B |
8
awesome/.config/awesome/themes/colored/widget/up.svg
Normal file
@ -0,0 +1,8 @@
|
||||
<svg height="48" width="48" xmlns="http://www.w3.org/2000/svg">
|
||||
<g fill="#a0a0a0" fill-rule="evenodd">
|
||||
<path d="m24 0 13 9v5l-13-9-13 9v-5z"/>
|
||||
<path d="m24 11.3333 13 9v5l-13-9-13 9v-5z"/>
|
||||
<path d="m24 22.6667 13 9v5l-13-9-13 9v-5z"/>
|
||||
<path d="m24 34 13 9v5l-13-9-13 9v-5z"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 308 B |
@ -0,0 +1,3 @@
|
||||
<svg height="48" width="48" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m24-.009766c-13.25-.0001-23.990134 10.739766-23.990234 23.989766 0 13.25 10.740234 23.99 23.990234 23.99s23.99-10.74 23.99-23.99-10.74-23.989766-23.99-23.989766zm0 5.001766c10.5 0 19.01 8.508 19.01 19.008s-8.51 19.01-19.01 19.01-19.008-8.51-19.008-19.01c.001-10.5 8.508-19.007 19.008-19.008zm0 4.008-2 1.88v8.54a5.008 5.008 0 0 0 -3 4.59 5.008 5.008 0 0 0 5.01 5.01 5.008 5.008 0 0 0 4.35-2.54h7.64l1.78-2.5-1.78-2.5h-7.67a5.008 5.008 0 0 0 -2.33-2.06v-8.54zm-15 13v4h5v-4zm15 0a2 2 0 0 1 2 2 2 2 0 0 1 -2 2 2 2 0 0 1 -2-2 2 2 0 0 1 2-2zm-2 12v5h4v-5z" fill="#a0a0a0"/>
|
||||
</svg>
|
After Width: | Height: | Size: 652 B |
@ -0,0 +1,3 @@
|
||||
<svg height="48" width="48" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m24-.0098c-13.25-.0001-23.9901 10.7398-23.9902 23.9898 0 13.25 10.7402 23.99 23.9902 23.99s23.99-10.74 23.99-23.99-10.74-23.9898-23.99-23.9898zm0 5.0018c10.5 0 19.01 8.508 19.01 19.008s-8.51 19.01-19.01 19.01-19.008-8.51-19.008-19.01c.001-10.5 8.508-19.007 19.008-19.008zm-5 8.008 2 14h6l2-14zm2 17v5h6v-5z" fill="#a0a0a0"/>
|
||||
</svg>
|
After Width: | Height: | Size: 407 B |
@ -0,0 +1,3 @@
|
||||
<svg height="48" width="48" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m24-.009766c-13.25-.0001-23.990134 10.739766-23.990234 23.989766 0 13.25 10.740234 23.99 23.990234 23.99s23.99-10.74 23.99-23.99-10.74-23.989766-23.99-23.989766zm0 5.001766c10.5 0 19.01 8.508 19.01 19.008s-8.51 19.01-19.01 19.01-19.008-8.51-19.008-19.01c.001-10.5 8.508-19.007 19.008-19.008zm-8 11.008v3.56l4.44 4.44-4.44 4.45v3.55h3.56l4.44-4.44 4.82 4.44h3.18v-3.55l-4.44-4.45 4.44-4.75v-3.25h-3.55l-4.45 4.44-4.44-4.44z" fill="#a0a0a0"/>
|
||||
</svg>
|
After Width: | Height: | Size: 523 B |
@ -0,0 +1,3 @@
|
||||
<svg height="48" width="48" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m24-.009766c-13.25-.0001-23.990134 10.739766-23.990234 23.989766 0 13.25 10.740234 23.99 23.990234 23.99s23.99-10.74 23.99-23.99-10.74-23.989766-23.99-23.989766zm0 5.001766c10.5 0 19.01 8.508 19.01 19.008s-8.51 19.01-19.01 19.01-19.008-8.51-19.008-19.01c.001-10.5 8.508-19.007 19.008-19.008zm-6.57 10.008-.13 6.7h1.65l.16-1.38c.05-.46.2-.8.45-1.03.26-.24.64-.36 1.14-.36l6.24.12-6.87 15.32 4.79.21 7.57-18.24v-1.34z" fill="#a0a0a0"/>
|
||||
</svg>
|
After Width: | Height: | Size: 516 B |
@ -0,0 +1,3 @@
|
||||
<svg height="48" width="48" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m3.375 6.106245c-.7699099 0-1.375.6559947-1.375 1.4666666v31.2888884c0 .810672.6050902 1.466667 1.375 1.466667h10.938889c.76991 0 1.375-.655995 1.375-1.466667v-31.2888884c0-.8106719-.60509-1.4666666-1.375-1.4666666zm30.311111 0c-.76991 0-1.375.6559947-1.375 1.4666666v31.2888884c0 .810672.60509 1.466667 1.375 1.466667h10.938889c.76991 0 1.375-.655995 1.375-1.466667v-31.2888884c0-.8106719-.60509-1.4666666-1.375-1.4666666zm-9.502778 5.469444-.275.397223c-1.732934 2.461023-1.752771 4.82146-1.313889 6.538888.438883 1.717429 1.313889 2.841667 1.313889 2.841667l.305556.366667.763889-.611111-.305556-.366667s-.744438-.964051-1.130555-2.475c-.386118-1.510949-.405955-3.518978 1.161111-5.744444l.275-.397223zm4.705556.03056-.305556.427778c-1.732934 2.461023-1.752771 4.82146-1.313889 6.538888.438883 1.717429 1.344445 2.841667 1.344445 2.841667l.305555.366667.763889-.611111-.305555-.366667s-.774994-.964051-1.161111-2.475c-.386118-1.510949-.3754-3.518978 1.191666-5.744444l.275-.397223zm-9.594445.09167-.275.397223c-1.732934 2.461022-1.752771 4.821459-1.313888 6.538888.438882 1.717428 1.344444 2.841666 1.344444 2.841666l.305556.366667.763888-.611111-.305555-.366667s-.774994-.964051-1.161111-2.475c-.386118-1.510949-.405955-3.518978 1.161111-5.744444l.305555-.397222zm4.094445 13.2-.794445.55.275.397223c1.567066 2.225466 1.547229 4.26405 1.161112 5.775-.386118 1.510941-1.130556 2.444436-1.130556 2.444436l-.305556.397222.733334.611111.305555-.397222s.905562-1.093682 1.344445-2.811111c.438882-1.717428.419045-4.108421-1.313889-6.569444l-.275-.397223zm-4.705556.06111-.794444.55.275.397222c1.567066 2.225466 1.547229 4.264051 1.161111 5.775s-1.130556 2.444444-1.130556 2.444444l-.305555.397222.763889.611112.305555-.397223s.875007-1.093682 1.313889-2.811111c.438883-1.717428.419045-4.108421-1.313889-6.569444zm9.563889.06111-.794444.55.305555.397222c1.567066 2.225466 1.547229 4.264051 1.161111 5.775-.386117 1.510949-1.161111 2.444444-1.161111 2.444444l-.305555.397223.763889.611111.305555-.397223s.905562-1.093682 1.344445-2.811111c.438882-1.717428.419045-4.10842-1.313889-6.569444z" fill="#a0a0a0" transform="matrix(1.0909091 0 0 1.0909091 -2.181818 -1.328025)"/>
|
||||
</svg>
|
After Width: | Height: | Size: 2.2 KiB |
@ -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,
|
||||
}
|
||||
|
Before Width: | Height: | Size: 451 B |
@ -1,6 +0,0 @@
|
||||
<svg height="48" width="48" xmlns="http://www.w3.org/2000/svg">
|
||||
<g fill="#a0a0a0" transform="matrix(0 1 -1 0 48 0)">
|
||||
<path d="m0 20h20v-20h-20z"/>
|
||||
<path d="m28 0v28h-28v20h28 20v-20-28zm6 10h8v24 4 4h-32v-8h24z"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 238 B |
Before Width: | Height: | Size: 409 B |
Before Width: | Height: | Size: 439 B |
@ -1,4 +0,0 @@
|
||||
<svg height="48" width="48" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m0 20h20v-20h-20z" fill="#a0a0a0"/>
|
||||
<path d="m28 0v28h-28v20h28 20v-20-28zm6 10h8v24 4 4h-32v-8h24z" fill="#a0a0a0"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 202 B |
Before Width: | Height: | Size: 381 B |
Before Width: | Height: | Size: 424 B |
@ -1,6 +0,0 @@
|
||||
<svg height="48" width="48" xmlns="http://www.w3.org/2000/svg">
|
||||
<g fill="#a0a0a0" transform="matrix(-1 0 0 -1 48 48)">
|
||||
<path d="m0 20h20v-20h-20z"/>
|
||||
<path d="m28 0v28h-28v20h28 20v-20-28zm6 10h8v24 4 4h-32v-8h24z"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 240 B |
Before Width: | Height: | Size: 411 B |
Before Width: | Height: | Size: 424 B |
@ -1,6 +0,0 @@
|
||||
<svg height="48" width="48" xmlns="http://www.w3.org/2000/svg">
|
||||
<g fill="#a0a0a0" transform="matrix(0 -1 1 0 0 48)">
|
||||
<path d="m0 20h20v-20h-20z"/>
|
||||
<path d="m28 0v28h-28v20h28 20v-20-28zm6 10h8v24 4 4h-32v-8h24z"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 238 B |
Before Width: | Height: | Size: 423 B |
Before Width: | Height: | Size: 425 B |
Before Width: | Height: | Size: 444 B |
@ -1,8 +0,0 @@
|
||||
<svg height="48" width="48" xmlns="http://www.w3.org/2000/svg">
|
||||
<g fill="#a0a0a0">
|
||||
<path d="m0 48h20v-20h-20z"/>
|
||||
<path d="m28 48h20v-20h-20z"/>
|
||||
<path d="m0 20h20v-20h-20z"/>
|
||||
<path d="m28 20h20v-20h-20z"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 237 B |
Before Width: | Height: | Size: 312 B |
Before Width: | Height: | Size: 314 B |
Before Width: | Height: | Size: 323 B |
Before Width: | Height: | Size: 323 B |
Before Width: | Height: | Size: 361 B |
@ -1,3 +0,0 @@
|
||||
<svg height="48" width="48" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m50.709 94.781.979-1.957-18.588-18.587s0-8.346 0-11.25-3.424-5.87-3.424-5.87-3.424 2.965-3.424 5.87v11.25l-18.586 18.587.979 1.957 17.607-8.315v9.783l-5.869 5.87h9.293 9.293l-5.869-5.87v-9.783z" fill="#a0a0a0" transform="matrix(1.0666193 0 0 1.0666193 -7.654061 -60.922095)"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 359 B |
Before Width: | Height: | Size: 365 B |
Before Width: | Height: | Size: 866 B |
@ -1,6 +0,0 @@
|
||||
<svg height="48" width="48" xmlns="http://www.w3.org/2000/svg">
|
||||
<g fill="#a0a0a0" transform="matrix(1.0666667 0 0 1.0666667 -200.07467 -444.79148)">
|
||||
<path d="m229.236 420.325v38.333h-38.332v-38.333zm3.334-3.333h-45v45h45z"/>
|
||||
<path d="m226.755 456.162v-12.5l-6.681-4.896-7.266 4.101-10.281-7.512-9.105 7.069v13.738z"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 342 B |
Before Width: | Height: | Size: 865 B |
@ -1,10 +0,0 @@
|
||||
<svg height="48" width="48" xmlns="http://www.w3.org/2000/svg">
|
||||
<g fill="#a0a0a0">
|
||||
<path d="m10 0h8v48h-8z"/>
|
||||
<path d="m30 0h8v48h-8z"/>
|
||||
<g transform="rotate(90)">
|
||||
<path d="m10-48h8v48h-8z"/>
|
||||
<path d="m30-48h8v48h-8z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 269 B |
Before Width: | Height: | Size: 496 B |
@ -1,9 +0,0 @@
|
||||
<svg height="48" width="48" xmlns="http://www.w3.org/2000/svg">
|
||||
<g fill="#a0a0a0">
|
||||
<path d="m0 0v20h10v-10h10v-10z"/>
|
||||
<path d="m28 10h10v10h10v-20h-20z"/>
|
||||
<path d="m38 28v10h-10v10h20v-20z"/>
|
||||
<path d="m20 38h-10v-10h-10v20h20z"/>
|
||||
<path d="m17 31h14v-14h-14z"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 297 B |
Before Width: | Height: | Size: 496 B |
@ -1,3 +0,0 @@
|
||||
<svg height="48" width="48" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m.03125.007812v48.002188h47.99875v-48.002188zm3.55875 3.556188h17.44v9.266l-8.18 8.18h-9.26zm23.44 0h17.44v17.446h-9.32l-8.12-8.12zm-23.44 23.446h9.28l8.16 8.16v9.28h-17.44zm31.54 0h9.34v17.44h-17.44v-9.34z" fill="#a0a0a0" stroke-width="1.0667" transform="matrix(1.00000003 0 0 1.00000003 .032003 .008534)"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 391 B |
Before Width: | Height: | Size: 574 B |
@ -1,8 +0,0 @@
|
||||
<svg height="48" width="48" xmlns="http://www.w3.org/2000/svg">
|
||||
<g fill="#a0a0a0" transform="matrix(1.0666193 0 0 1.0666667 -583.93887 -124.2592)">
|
||||
<path d="m564.624 117.671c.646-.647.428-1.178-.488-1.178h-15.834c-.459 0-.834.375-.834.833v15.833c0 .917.531 1.136 1.18.488l5.041-5.042 8.721 8.721 5.893-5.892-8.721-8.721z"/>
|
||||
<path d="m564.136 161.493c.916 0 1.135-.531.488-1.178l-5.043-5.042 8.721-8.721-5.893-5.892-8.721 8.721-5.041-5.042c-.648-.648-1.18-.428-1.18.488v15.833c0 .459.375.833.834.833z"/>
|
||||
<path d="m592.468 117.326c0-.459-.373-.833-.832-.833h-15.834c-.916 0-1.137.531-.488 1.178l5.043 5.042-8.721 8.721 5.891 5.892 8.721-8.721 5.043 5.042c.648.648 1.178.428 1.178-.488v-15.833z"/>
|
||||
<path d="m591.636 161.493c.459 0 .832-.375.832-.833v-15.833c0-.917-.529-1.136-1.178-.488l-5.043 5.042-8.721-8.721-5.891 5.892 8.721 8.721-5.043 5.042c-.648.647-.428 1.178.488 1.178z"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 912 B |
Before Width: | Height: | Size: 581 B |
Before Width: | Height: | Size: 427 B |
@ -1,10 +0,0 @@
|
||||
<svg height="48" width="48" xmlns="http://www.w3.org/2000/svg">
|
||||
<g fill="#a0a0a0">
|
||||
<path d="m0 0v48h10v-38h20v-10z"/>
|
||||
<g fill-rule="evenodd">
|
||||
<path d="m18 18v12h12v-12z"/>
|
||||
<path d="m38 0v30h10v-30z"/>
|
||||
<path d="m18 38v10h30v-10z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 282 B |
Before Width: | Height: | Size: 442 B |
Before Width: | Height: | Size: 353 B |
@ -1,7 +0,0 @@
|
||||
<svg height="48" width="48" xmlns="http://www.w3.org/2000/svg">
|
||||
<g fill="#a0a0a0">
|
||||
<path d="m0 48h20v-48h-20z"/>
|
||||
<path d="m28 48h20v-20h-20z"/>
|
||||
<path d="m28 20h20v-20h-20z"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 203 B |
Before Width: | Height: | Size: 340 B |
@ -1,7 +0,0 @@
|
||||
<svg height="48" width="48" xmlns="http://www.w3.org/2000/svg">
|
||||
<g fill="#a0a0a0" transform="matrix(0 1 -1 0 48 0)">
|
||||
<path d="m0 48h20v-48h-20z"/>
|
||||
<path d="m28 48h20v-20h-20z"/>
|
||||
<path d="m28 20h20v-20h-20z"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 237 B |
Before Width: | Height: | Size: 350 B |
Before Width: | Height: | Size: 363 B |
@ -1,7 +0,0 @@
|
||||
<svg height="48" width="48" xmlns="http://www.w3.org/2000/svg">
|
||||
<g fill="#a0a0a0" transform="matrix(-1 0 0 -1 48 48)">
|
||||
<path d="m0 48h20v-48h-20z"/>
|
||||
<path d="m28 48h20v-20h-20z"/>
|
||||
<path d="m28 20h20v-20h-20z"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 239 B |
Before Width: | Height: | Size: 367 B |
Before Width: | Height: | Size: 326 B |
@ -1,7 +0,0 @@
|
||||
<svg height="48" width="48" xmlns="http://www.w3.org/2000/svg">
|
||||
<g fill="#a0a0a0" transform="matrix(0 -1 1 0 0 48)">
|
||||
<path d="m0 48h20v-48h-20z"/>
|
||||
<path d="m28 48h20v-20h-20z"/>
|
||||
<path d="m28 20h20v-20h-20z"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 237 B |
Before Width: | Height: | Size: 342 B |
Before Width: | Height: | Size: 357 B |
@ -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
|
||||
|
||||
|
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 491 B |
Before Width: | Height: | Size: 350 B |
Before Width: | Height: | Size: 492 B |
Before Width: | Height: | Size: 350 B |
Before Width: | Height: | Size: 696 B |
Before Width: | Height: | Size: 719 B |
Before Width: | Height: | Size: 693 B |
Before Width: | Height: | Size: 695 B |
Before Width: | Height: | Size: 277 B |
Before Width: | Height: | Size: 272 B |
Before Width: | Height: | Size: 609 B |
Before Width: | Height: | Size: 756 B |