vertex theme added; closes #53
This commit is contained in:
parent
9c65e6dc0e
commit
82a90c9da0
|
@ -74,6 +74,10 @@ Gallery
|
||||||
|
|
||||||
.. image:: http://dotshare.it/public/images/uploads/655.png
|
.. image:: http://dotshare.it/public/images/uploads/655.png
|
||||||
|
|
||||||
|
**Vertex**, requested by swordfischer_
|
||||||
|
|
||||||
|
.. image:: http://dotshare.it/public/images/uploads/1432.jpg
|
||||||
|
|
||||||
Installation
|
Installation
|
||||||
============
|
============
|
||||||
|
|
||||||
|
@ -99,11 +103,11 @@ Notes
|
||||||
|
|
||||||
Complements are provided by lain_.
|
Complements are provided by lain_.
|
||||||
|
|
||||||
Fonts are Terminus_ (Multicolor, Powerarrow Darker), Tamzen_ (Copland), Roboto_ (Holo) and Tamsyn_ (other ones).
|
Fonts are Terminus_ (Multicolor, Powerarrow Darker), Tamzen_ (Copland), Roboto_ (Holo, Vertex) and Tamsyn_ (other ones).
|
||||||
|
|
||||||
Every theme has a colorscheme_.
|
Every theme has a colorscheme_.
|
||||||
|
|
||||||
Blackburn and Dremora use Icons_: be sure to have bitmaps enabled if running under Debian_ or Ubuntu_. If you want more glyphs, try FontAwesome_.
|
Blackburn and Dremora use Icons_, Vertex uses FontAwesome_: be sure to have bitmaps enabled if running under Debian_ or Ubuntu_.
|
||||||
|
|
||||||
Additional software used: ::
|
Additional software used: ::
|
||||||
|
|
||||||
|
@ -115,6 +119,7 @@ Additional software used: ::
|
||||||
.. _romockee: https://github.com/romockee/powerarrow
|
.. _romockee: https://github.com/romockee/powerarrow
|
||||||
.. _ok100: http://ok100.deviantart.com/art/DWM-January-2013-348656846
|
.. _ok100: http://ok100.deviantart.com/art/DWM-January-2013-348656846
|
||||||
.. _amouly: https://bbs.archlinux.org/viewtopic.php?pid=1307158#p1307158
|
.. _amouly: https://bbs.archlinux.org/viewtopic.php?pid=1307158#p1307158
|
||||||
|
.. _swordfischer: https://github.com/copycat-killer/awesome-copycats/issues/53
|
||||||
.. _foozer: http://dotshare.it/dots/499
|
.. _foozer: http://dotshare.it/dots/499
|
||||||
.. _lain: https://github.com/copycat-killer/lain
|
.. _lain: https://github.com/copycat-killer/lain
|
||||||
.. _Terminus: http://terminus-font.sourceforge.net
|
.. _Terminus: http://terminus-font.sourceforge.net
|
||||||
|
|
|
@ -7,8 +7,8 @@
|
||||||
--]]
|
--]]
|
||||||
|
|
||||||
-- {{{ Required libraries
|
-- {{{ Required libraries
|
||||||
local awesome, client, screen = awesome, client, screen
|
local awesome, client, screen, tag = awesome, client, screen, tag
|
||||||
local string, os, tostring, tonumber, type = string, os, tostring, tonumber, type
|
local pairs, string, os, table, tostring, tonumber, type = pairs, string, os, table, tostring, tonumber, type
|
||||||
|
|
||||||
local gears = require("gears")
|
local gears = require("gears")
|
||||||
local awful = require("awful")
|
local awful = require("awful")
|
||||||
|
@ -167,7 +167,7 @@ local myawesomemenu = {
|
||||||
{ "quit", function() awesome.quit() end }
|
{ "quit", function() awesome.quit() end }
|
||||||
}
|
}
|
||||||
awful.util.mymainmenu = freedesktop.menu.build({
|
awful.util.mymainmenu = freedesktop.menu.build({
|
||||||
icon_size = beautiful.menu_icon_size or 16,
|
icon_size = beautiful.menu_height or 16,
|
||||||
before = {
|
before = {
|
||||||
{ "Awesome", myawesomemenu, beautiful.awesome_icon },
|
{ "Awesome", myawesomemenu, beautiful.awesome_icon },
|
||||||
-- other triads can be put here
|
-- other triads can be put here
|
||||||
|
@ -427,6 +427,12 @@ globalkeys = awful.util.table.join(
|
||||||
awful.key({ modkey }, "p", function() menubar.show() end,
|
awful.key({ modkey }, "p", function() menubar.show() end,
|
||||||
{description = "show the menubar", group = "launcher"})
|
{description = "show the menubar", group = "launcher"})
|
||||||
--]]
|
--]]
|
||||||
|
--[[ dmenu
|
||||||
|
awful.key({ modkey }, "x", function ()
|
||||||
|
awful.spawn(string.format("dmenu_run -i -fn 'Monospace' -nb '%s' -nf '%s' -sb '%s' -sf '%s'",
|
||||||
|
beautiful.bg_normal, beautiful.fg_normal, beautiful.bg_focus, beautiful.fg_focus))
|
||||||
|
end)
|
||||||
|
--]]
|
||||||
-- Prompt
|
-- Prompt
|
||||||
awful.key({ modkey }, "r", function () awful.screen.focused().mypromptbox:run() end,
|
awful.key({ modkey }, "r", function () awful.screen.focused().mypromptbox:run() end,
|
||||||
{description = "run prompt", group = "launcher"}),
|
{description = "run prompt", group = "launcher"}),
|
||||||
|
@ -442,15 +448,16 @@ globalkeys = awful.util.table.join(
|
||||||
end,
|
end,
|
||||||
{description = "lua execute prompt", group = "awesome"})
|
{description = "lua execute prompt", group = "awesome"})
|
||||||
--]]
|
--]]
|
||||||
|
|
||||||
--[[ dmenu
|
|
||||||
awful.key({ modkey }, "x", function ()
|
|
||||||
awful.spawn(string.format("dmenu_run -i -fn 'Monospace' -nb '%s' -nf '%s' -sb '%s' -sf '%s'",
|
|
||||||
beautiful.bg_normal, beautiful.fg_normal, beautiful.bg_focus, beautiful.fg_focus))
|
|
||||||
end)
|
|
||||||
--]]
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
clientkeys = {}
|
||||||
|
function clientkey(mod, key, func, desc)
|
||||||
|
local key = awful.key(mod, key, func, desc)
|
||||||
|
for k,v in pairs(key) do
|
||||||
|
tinsert(clientkeys, v)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
clientkeys = awful.util.table.join(
|
clientkeys = awful.util.table.join(
|
||||||
awful.key({ altkey, "Shift" }, "m", lain.util.magnify_client ),
|
awful.key({ altkey, "Shift" }, "m", lain.util.magnify_client ),
|
||||||
awful.key({ modkey, }, "f",
|
awful.key({ modkey, }, "f",
|
||||||
|
@ -562,7 +569,7 @@ awful.rules.rules = {
|
||||||
|
|
||||||
-- Titlebars
|
-- Titlebars
|
||||||
{ rule_any = { type = { "dialog", "normal" } },
|
{ rule_any = { type = { "dialog", "normal" } },
|
||||||
properties = { titlebars_enabled = false } },
|
properties = { titlebars_enabled = true } },
|
||||||
|
|
||||||
-- Set Firefox to always map on the first tag on screen 1.
|
-- Set Firefox to always map on the first tag on screen 1.
|
||||||
{ rule = { class = "Firefox" },
|
{ rule = { class = "Firefox" },
|
||||||
|
|
|
@ -255,7 +255,7 @@ theme.volume = lain.widgets.alsabar({
|
||||||
theme.volume.tooltip.wibox.fg = theme.fg_focus
|
theme.volume.tooltip.wibox.fg = theme.fg_focus
|
||||||
theme.volume.bar:buttons(awful.util.table.join (
|
theme.volume.bar:buttons(awful.util.table.join (
|
||||||
awful.button({}, 1, function()
|
awful.button({}, 1, function()
|
||||||
awful.spawn.with_shell(string.format("%s -e alsamixer", terminal))
|
awful.spawn.with_shell(string.format("%s -e alsamixer", awful.util.terminal))
|
||||||
end),
|
end),
|
||||||
awful.button({}, 2, function()
|
awful.button({}, 2, function()
|
||||||
awful.spawn(string.format("%s set %s 100%%", theme.volume.cmd, theme.volume.channel))
|
awful.spawn(string.format("%s set %s 100%%", theme.volume.cmd, theme.volume.channel))
|
||||||
|
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
|
@ -0,0 +1,405 @@
|
||||||
|
|
||||||
|
--[[
|
||||||
|
|
||||||
|
Vertex Awesome WM theme
|
||||||
|
github.com/copycat-killer
|
||||||
|
|
||||||
|
--]]
|
||||||
|
|
||||||
|
local gears = require("gears")
|
||||||
|
local lain = require("lain")
|
||||||
|
local awful = require("awful")
|
||||||
|
local wibox = require("wibox")
|
||||||
|
local theme_assets = require("beautiful.theme_assets")
|
||||||
|
local math, string, tonumber, os = math, string, tonumber, os
|
||||||
|
|
||||||
|
local theme = {}
|
||||||
|
theme.default_dir = require("awful.util").get_themes_dir() .. "default"
|
||||||
|
theme.icon_dir = os.getenv("HOME") .. "/.config/awesome/themes/vertex/icons"
|
||||||
|
theme.wallpaper = os.getenv("HOME") .. "/.config/awesome/themes/vertex/wall.png"
|
||||||
|
theme.font = "Roboto Bold 10"
|
||||||
|
theme.taglist_font = "FontAwesome 17"
|
||||||
|
theme.fg_normal = "#FFFFFF"
|
||||||
|
theme.fg_focus = "#6A95EB"
|
||||||
|
theme.bg_focus = "#303030"
|
||||||
|
theme.bg_normal = "#242424"
|
||||||
|
theme.fg_urgent = "#CC9393"
|
||||||
|
theme.bg_urgent = "#006B8E"
|
||||||
|
theme.border_width = 4
|
||||||
|
theme.border_normal = "#252525"
|
||||||
|
theme.border_focus = "#7CA2EE"
|
||||||
|
theme.menu_height = 36
|
||||||
|
theme.menu_width = 140
|
||||||
|
theme.taglist_squares_sel = theme.icon_dir .. "/square_sel.png"
|
||||||
|
theme.taglist_squares_unsel = theme.icon_dir .. "/square_unsel.png"
|
||||||
|
theme.panelbg = theme.icon_dir .. "/panel.png"
|
||||||
|
theme.bat000charging = theme.icon_dir .. "/bat-000-charging.png"
|
||||||
|
theme.bat000 = theme.icon_dir .. "/bat-000.png"
|
||||||
|
theme.bat020charging = theme.icon_dir .. "/bat-020-charging.png"
|
||||||
|
theme.bat020 = theme.icon_dir .. "/bat-020.png"
|
||||||
|
theme.bat040charging = theme.icon_dir .. "/bat-040-charging.png"
|
||||||
|
theme.bat040 = theme.icon_dir .. "/bat-040.png"
|
||||||
|
theme.bat060charging = theme.icon_dir .. "/bat-060-charging.png"
|
||||||
|
theme.bat060 = theme.icon_dir .. "/bat-060.png"
|
||||||
|
theme.bat080charging = theme.icon_dir .. "/bat-080-charging.png"
|
||||||
|
theme.bat080 = theme.icon_dir .. "/bat-080.png"
|
||||||
|
theme.bat100charging = theme.icon_dir .. "/bat-100-charging.png"
|
||||||
|
theme.bat100 = theme.icon_dir .. "/bat-100.png"
|
||||||
|
theme.batcharged = theme.icon_dir .. "/bat-charged.png"
|
||||||
|
theme.ethon = theme.icon_dir .. "/ethernet-connected.png"
|
||||||
|
theme.ethoff = theme.icon_dir .. "/ethernet-disconnected.png"
|
||||||
|
theme.volhigh = theme.icon_dir .. "/volume-high.png"
|
||||||
|
theme.vollow = theme.icon_dir .. "/volume-low.png"
|
||||||
|
theme.volmed = theme.icon_dir .. "/volume-medium.png"
|
||||||
|
theme.volmutedblocked = theme.icon_dir .. "/volume-muted-blocked.png"
|
||||||
|
theme.volmuted = theme.icon_dir .. "/volume-muted.png"
|
||||||
|
theme.voloff = theme.icon_dir .. "/volume-off.png"
|
||||||
|
theme.wifidisc = theme.icon_dir .. "/wireless-disconnected.png"
|
||||||
|
theme.wififull = theme.icon_dir .. "/wireless-full.png"
|
||||||
|
theme.wifihigh = theme.icon_dir .. "/wireless-high.png"
|
||||||
|
theme.wifilow = theme.icon_dir .. "/wireless-low.png"
|
||||||
|
theme.wifimed = theme.icon_dir .. "/wireless-medium.png"
|
||||||
|
theme.wifinone = theme.icon_dir .. "/wireless-none.png"
|
||||||
|
theme.layout_fairh = theme.default_dir.."/layouts/fairhw.png"
|
||||||
|
theme.layout_fairv = theme.default_dir.."/layouts/fairvw.png"
|
||||||
|
theme.layout_floating = theme.default_dir.."/layouts/floatingw.png"
|
||||||
|
theme.layout_magnifier = theme.default_dir.."/layouts/magnifierw.png"
|
||||||
|
theme.layout_max = theme.default_dir.."/layouts/maxw.png"
|
||||||
|
theme.layout_fullscreen = theme.default_dir.."/layouts/fullscreenw.png"
|
||||||
|
theme.layout_tilebottom = theme.default_dir.."/layouts/tilebottomw.png"
|
||||||
|
theme.layout_tileleft = theme.default_dir.."/layouts/tileleftw.png"
|
||||||
|
theme.layout_tile = theme.default_dir.."/layouts/tilew.png"
|
||||||
|
theme.layout_tiletop = theme.default_dir.."/layouts/tiletopw.png"
|
||||||
|
theme.layout_spiral = theme.default_dir.."/layouts/spiralw.png"
|
||||||
|
theme.layout_dwindle = theme.default_dir.."/layouts/dwindlew.png"
|
||||||
|
theme.layout_cornernw = theme.default_dir.."/layouts/cornernww.png"
|
||||||
|
theme.layout_cornerne = theme.default_dir.."/layouts/cornernew.png"
|
||||||
|
theme.layout_cornersw = theme.default_dir.."/layouts/cornersww.png"
|
||||||
|
theme.layout_cornerse = theme.default_dir.."/layouts/cornersew.png"
|
||||||
|
theme.tasklist_plain_task_name = true
|
||||||
|
theme.tasklist_disable_icon = true
|
||||||
|
theme.useless_gap = 10
|
||||||
|
theme.titlebar_close_button_normal = theme.default_dir.."/titlebar/close_normal.png"
|
||||||
|
theme.titlebar_close_button_focus = theme.default_dir.."/titlebar/close_focus.png"
|
||||||
|
theme.titlebar_minimize_button_normal = theme.default_dir.."/titlebar/minimize_normal.png"
|
||||||
|
theme.titlebar_minimize_button_focus = theme.default_dir.."/titlebar/minimize_focus.png"
|
||||||
|
theme.titlebar_ontop_button_normal_inactive = theme.default_dir.."/titlebar/ontop_normal_inactive.png"
|
||||||
|
theme.titlebar_ontop_button_focus_inactive = theme.default_dir.."/titlebar/ontop_focus_inactive.png"
|
||||||
|
theme.titlebar_ontop_button_normal_active = theme.default_dir.."/titlebar/ontop_normal_active.png"
|
||||||
|
theme.titlebar_ontop_button_focus_active = theme.default_dir.."/titlebar/ontop_focus_active.png"
|
||||||
|
theme.titlebar_sticky_button_normal_inactive = theme.default_dir.."/titlebar/sticky_normal_inactive.png"
|
||||||
|
theme.titlebar_sticky_button_focus_inactive = theme.default_dir.."/titlebar/sticky_focus_inactive.png"
|
||||||
|
theme.titlebar_sticky_button_normal_active = theme.default_dir.."/titlebar/sticky_normal_active.png"
|
||||||
|
theme.titlebar_sticky_button_focus_active = theme.default_dir.."/titlebar/sticky_focus_active.png"
|
||||||
|
theme.titlebar_floating_button_normal_inactive = theme.default_dir.."/titlebar/floating_normal_inactive.png"
|
||||||
|
theme.titlebar_floating_button_focus_inactive = theme.default_dir.."/titlebar/floating_focus_inactive.png"
|
||||||
|
theme.titlebar_floating_button_normal_active = theme.default_dir.."/titlebar/floating_normal_active.png"
|
||||||
|
theme.titlebar_floating_button_focus_active = theme.default_dir.."/titlebar/floating_focus_active.png"
|
||||||
|
theme.titlebar_maximized_button_normal_inactive = theme.default_dir.."/titlebar/maximized_normal_inactive.png"
|
||||||
|
theme.titlebar_maximized_button_focus_inactive = theme.default_dir.."/titlebar/maximized_focus_inactive.png"
|
||||||
|
theme.titlebar_maximized_button_normal_active = theme.default_dir.."/titlebar/maximized_normal_active.png"
|
||||||
|
theme.titlebar_maximized_button_focus_active = theme.default_dir.."/titlebar/maximized_focus_active.png"
|
||||||
|
|
||||||
|
-- http://fontawesome.io/cheatsheet
|
||||||
|
awful.util.tagnames = { " ", " ", " ", " ", " ", " ", " ", " ", " " }
|
||||||
|
|
||||||
|
-- Generate Awesome icon
|
||||||
|
theme.awesome_icon = theme_assets.awesome_icon(theme.menu_height, theme.fg_normal, theme.bg_normal)
|
||||||
|
|
||||||
|
local markup = lain.util.markup
|
||||||
|
|
||||||
|
-- Clock
|
||||||
|
--os.setlocale(os.getenv("LANG")) -- to localize the clock
|
||||||
|
local mytextclock = wibox.widget.textclock(markup("#FFFFFF", "%a %d %b, %H:%M"))
|
||||||
|
mytextclock.font = theme.font
|
||||||
|
lain.widgets.calendar({
|
||||||
|
attach_to = { mytextclock },
|
||||||
|
notification_preset = {
|
||||||
|
fg = "#FFFFFF",
|
||||||
|
bg = theme.bg_normal,
|
||||||
|
position = "top_middle",
|
||||||
|
font = "Monospace 10"
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Battery
|
||||||
|
local baticon = wibox.widget.imagebox(theme.bat000)
|
||||||
|
local battooltip = awful.tooltip({ objects = { baticon } })
|
||||||
|
--battooltip:set_shape(gears.shape.rounded_rect)
|
||||||
|
battooltip.wibox.fg = theme.fg_normal
|
||||||
|
battooltip.textbox.font = "Roboto 18"
|
||||||
|
local bat = lain.widgets.bat({
|
||||||
|
settings = function()
|
||||||
|
local index, perc = "bat", tonumber(bat_now.perc) or 0
|
||||||
|
|
||||||
|
if perc <= 7 then
|
||||||
|
index = index .. "000"
|
||||||
|
elseif perc <= 20 then
|
||||||
|
index = index .. "020"
|
||||||
|
elseif perc <= 40 then
|
||||||
|
index = index .. "040"
|
||||||
|
elseif perc <= 60 then
|
||||||
|
index = index .. "060"
|
||||||
|
elseif perc <= 80 then
|
||||||
|
index = index .. "080"
|
||||||
|
elseif perc <= 100 then
|
||||||
|
index = index .. "100"
|
||||||
|
end
|
||||||
|
|
||||||
|
if bat_now.ac_status == 1 then
|
||||||
|
index = index .. "charging"
|
||||||
|
end
|
||||||
|
|
||||||
|
baticon:set_image(theme[index])
|
||||||
|
battooltip:set_markup(string.format("%s%%, %s", bat_now.perc, bat_now.time))
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
-- ALSA volume
|
||||||
|
local volicon = wibox.widget.imagebox()
|
||||||
|
theme.volume = lain.widgets.alsabar({
|
||||||
|
togglechannel = "IEC958,3",
|
||||||
|
notification_preset = { font = "Monospace 12", fg = theme.fg_normal },
|
||||||
|
settings = function()
|
||||||
|
local index, perc = "", tonumber(volume_now.level) or 0
|
||||||
|
|
||||||
|
if volume_now.status == "off" then
|
||||||
|
index = "volmutedblocked"
|
||||||
|
else
|
||||||
|
if perc <= 5 then
|
||||||
|
index = "volmuted"
|
||||||
|
elseif perc <= 25 then
|
||||||
|
index = "vollow"
|
||||||
|
elseif perc <= 75 then
|
||||||
|
index = "volmed"
|
||||||
|
else
|
||||||
|
index = "volhigh"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
volicon:set_image(theme[index])
|
||||||
|
end
|
||||||
|
})
|
||||||
|
volicon:buttons(awful.util.table.join (
|
||||||
|
awful.button({}, 1, function()
|
||||||
|
awful.spawn.with_shell(string.format("%s -e alsamixer", awful.util.terminal))
|
||||||
|
end),
|
||||||
|
awful.button({}, 2, function()
|
||||||
|
awful.spawn(string.format("%s set %s 100%%", theme.volume.cmd, theme.volume.channel))
|
||||||
|
theme.volume.notify()
|
||||||
|
end),
|
||||||
|
awful.button({}, 3, function()
|
||||||
|
awful.spawn(string.format("%s set %s toggle", theme.volume.cmd, theme.volume.togglechannel or theme.volume.channel))
|
||||||
|
theme.volume.notify()
|
||||||
|
end),
|
||||||
|
awful.button({}, 4, function()
|
||||||
|
awful.spawn(string.format("%s set %s 1%%+", theme.volume.cmd, theme.volume.channel))
|
||||||
|
theme.volume.notify()
|
||||||
|
end),
|
||||||
|
awful.button({}, 5, function()
|
||||||
|
awful.spawn(string.format("%s set %s 1%%-", theme.volume.cmd, theme.volume.channel))
|
||||||
|
theme.volume.notify()
|
||||||
|
end)
|
||||||
|
))
|
||||||
|
|
||||||
|
-- Wifi carrier and signal strength
|
||||||
|
local wificon = wibox.widget.imagebox()
|
||||||
|
local mywifisig = lain.widgets.abase({
|
||||||
|
cmd = "awk 'NR==3 {printf(\"%d-%.0f\",$2, $3*10/7)}' /proc/net/wireless",
|
||||||
|
settings = function()
|
||||||
|
local carrier, perc = output:match("(%d)-(.*)")
|
||||||
|
|
||||||
|
if carrier == "1" then
|
||||||
|
wificon:set_image(theme.wifidisc)
|
||||||
|
else
|
||||||
|
perc = tonumber(perc)
|
||||||
|
if perc <= 5 then
|
||||||
|
wificon:set_image(theme.wifinone)
|
||||||
|
elseif perc <= 25 then
|
||||||
|
wificon:set_image(theme.wifilow)
|
||||||
|
elseif perc <= 50 then
|
||||||
|
wificon:set_image(theme.wifimed)
|
||||||
|
elseif perc <= 75 then
|
||||||
|
wificon:set_image(theme.wifihigh)
|
||||||
|
else
|
||||||
|
wificon:set_image(theme.wififull)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
})
|
||||||
|
wificon:connect_signal("button::press", function() awful.spawn(string.format("%s -e wavemon", awful.util.terminal)) end)
|
||||||
|
|
||||||
|
-- Weather
|
||||||
|
theme.weather = lain.widgets.weather({
|
||||||
|
city_id = 2643743, -- placeholder (London)
|
||||||
|
notification_preset = { font = "Monospace 10" },
|
||||||
|
settings = function()
|
||||||
|
units = math.floor(weather_now["main"]["temp"])
|
||||||
|
widget:set_markup(" " .. markup.font(theme.font, units .. "°C") .. " ")
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Launcher
|
||||||
|
local mylauncher = awful.widget.button({image = theme.awesome_icon})
|
||||||
|
mylauncher:connect_signal("button::press", function() awful.util.mymainmenu:toggle() end)
|
||||||
|
|
||||||
|
-- Separators
|
||||||
|
local space = wibox.widget.textbox(" ")
|
||||||
|
local rspace1 = wibox.widget.textbox()
|
||||||
|
local rspace11 = wibox.widget.textbox()
|
||||||
|
local rspace2 = wibox.widget.textbox()
|
||||||
|
local rspace3 = wibox.widget.textbox()
|
||||||
|
local tspace1 = wibox.widget.textbox()
|
||||||
|
tspace1.forced_width = 18
|
||||||
|
rspace1.forced_width = 16
|
||||||
|
rspace11.forced_width = 18
|
||||||
|
rspace2.forced_width = 19
|
||||||
|
rspace3.forced_width = 21
|
||||||
|
|
||||||
|
local lspace1 = wibox.widget.textbox()
|
||||||
|
local lspace2 = wibox.widget.textbox()
|
||||||
|
local lspace3 = wibox.widget.textbox()
|
||||||
|
lspace1.forced_height = 18
|
||||||
|
lspace2.forced_height = 10
|
||||||
|
lspace3.forced_height = 16
|
||||||
|
|
||||||
|
local barcolor = gears.color({
|
||||||
|
type = "linear",
|
||||||
|
from = { 0, 46 },
|
||||||
|
to = { 46, 46 },
|
||||||
|
stops = { {0, theme.bg_focus}, {0.9, "#457be7"} }
|
||||||
|
})
|
||||||
|
|
||||||
|
local barcolor2 = gears.color({
|
||||||
|
type = "linear",
|
||||||
|
from = { 0, 46 },
|
||||||
|
to = { 46, 46 },
|
||||||
|
stops = { {0, "#323232"}, {1, theme.bg_normal} }
|
||||||
|
})
|
||||||
|
|
||||||
|
function theme.at_screen_connect(s)
|
||||||
|
-- Quake application
|
||||||
|
s.quake = lain.util.quake({ app = awful.util.terminal })
|
||||||
|
|
||||||
|
-- If wallpaper is a function, call it with the screen
|
||||||
|
if type(wallpaper) == "function" then
|
||||||
|
theme.wallpaper = theme.wallpaper(s)
|
||||||
|
end
|
||||||
|
gears.wallpaper.maximized(theme.wallpaper, s, true)
|
||||||
|
|
||||||
|
-- Tags
|
||||||
|
awful.tag(awful.util.tagnames, s, awful.layout.layouts)
|
||||||
|
|
||||||
|
-- Create a promptbox for each screen
|
||||||
|
s.mypromptbox = awful.widget.prompt()
|
||||||
|
s.mypromptbox.bg = "#00000000"
|
||||||
|
|
||||||
|
-- Create an imagebox widget which will contains an icon indicating which layout we're using.
|
||||||
|
-- We need one layoutbox per screen.
|
||||||
|
s.mylayoutbox = awful.widget.layoutbox(s)
|
||||||
|
s.mylayoutbox:buttons(awful.util.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)))
|
||||||
|
s.layoutb = wibox.container.margin(s.mylayoutbox, 8, 11, 3, 3)
|
||||||
|
|
||||||
|
-- Create a taglist widget
|
||||||
|
s.mytaglist = awful.widget.taglist(s, awful.widget.taglist.filter.all, awful.util.taglist_buttons, {
|
||||||
|
font = theme.taglist_font,
|
||||||
|
shape = gears.shape.rectangle,
|
||||||
|
spacing = 10,
|
||||||
|
square_unsel = theme.square_unsel,
|
||||||
|
bg_focus = barcolor
|
||||||
|
}, nil, wibox.layout.fixed.vertical())
|
||||||
|
|
||||||
|
-- Create a tasklist widget
|
||||||
|
s.mytasklist = awful.widget.tasklist(s, awful.widget.tasklist.filter.focused, awful.util.tasklist_buttons, { bg_focus = "#00000000" })
|
||||||
|
|
||||||
|
-- Create the wibox
|
||||||
|
s.mywibox = awful.wibar({ position = "top", screen = s, height = 25, bg = gears.color.create_png_pattern(theme.panelbg) })
|
||||||
|
|
||||||
|
-- Add widgets to the wibox
|
||||||
|
s.mywibox:setup {
|
||||||
|
layout = wibox.layout.align.horizontal,
|
||||||
|
{ -- Left widgets
|
||||||
|
layout = wibox.layout.fixed.horizontal,
|
||||||
|
s.mypromptbox,
|
||||||
|
tspace1,
|
||||||
|
wibox.container.constraint(s.mytasklist, "min", s.workarea.width/4),
|
||||||
|
},
|
||||||
|
{ -- Middle widgets
|
||||||
|
layout = wibox.layout.flex.horizontal,
|
||||||
|
space,
|
||||||
|
mytextclock,
|
||||||
|
},
|
||||||
|
{ -- Right widgets
|
||||||
|
layout = wibox.layout.fixed.horizontal,
|
||||||
|
wibox.container.constraint(space, "min", s.workarea.width/4),
|
||||||
|
theme.weather.icon,
|
||||||
|
theme.weather.widget,
|
||||||
|
rspace1,
|
||||||
|
wificon,
|
||||||
|
rspace11,
|
||||||
|
volicon,
|
||||||
|
rspace2,
|
||||||
|
baticon,
|
||||||
|
rspace3,
|
||||||
|
wibox.widget.systray(),
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Create the vertical wibox
|
||||||
|
local dockheight = (40 * s.workarea.height)/100
|
||||||
|
local dockshape = function(cr, width, height)
|
||||||
|
gears.shape.partially_rounded_rect(cr, width, height, false, true, true, false, 6)
|
||||||
|
end
|
||||||
|
|
||||||
|
s.myleftwibox = wibox({ screen = s, x=0, y=s.workarea.height/2 - dockheight/2, width = 6, height = dockheight, fg = theme.fg_normal, bg = barcolor2, ontop = true, visible = true, type = "dock" })
|
||||||
|
|
||||||
|
-- Add widgets to the vertical wibox
|
||||||
|
s.myleftwibox:setup {
|
||||||
|
layout = wibox.layout.align.vertical,
|
||||||
|
{
|
||||||
|
layout = wibox.layout.fixed.vertical,
|
||||||
|
lspace1,
|
||||||
|
s.mytaglist,
|
||||||
|
lspace2,
|
||||||
|
s.layoutb,
|
||||||
|
wibox.container.margin(mylauncher, 5, 8, 13, 0),
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Add toggling functionalities
|
||||||
|
s.docktimer = gears.timer{ timeout = 2 }
|
||||||
|
s.docktimer:connect_signal("timeout", function()
|
||||||
|
s.myleftwibox.width = 6
|
||||||
|
s.layoutb.visible = false
|
||||||
|
mylauncher.visible = false
|
||||||
|
s.docktimer:stop()
|
||||||
|
end)
|
||||||
|
tag.connect_signal("property::selected", function(t)
|
||||||
|
s.myleftwibox.width = 46
|
||||||
|
s.layoutb.visible = true
|
||||||
|
mylauncher.visible = true
|
||||||
|
gears.surface.apply_shape_bounding(s.myleftwibox, dockshape)
|
||||||
|
if not s.docktimer.started then
|
||||||
|
s.docktimer:start()
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
|
||||||
|
s.myleftwibox:connect_signal("mouse::leave", function()
|
||||||
|
s.myleftwibox.width = 6
|
||||||
|
s.layoutb.visible = false
|
||||||
|
mylauncher.visible = false
|
||||||
|
end)
|
||||||
|
|
||||||
|
s.myleftwibox:connect_signal("mouse::enter", function()
|
||||||
|
s.myleftwibox.width = 46
|
||||||
|
s.layoutb.visible = true
|
||||||
|
mylauncher.visible = true
|
||||||
|
gears.surface.apply_shape_bounding(s.myleftwibox, dockshape)
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
|
return theme
|
Binary file not shown.
After Width: | Height: | Size: 411 KiB |
Loading…
Reference in New Issue