diff --git a/themes/vertex/theme.lua b/themes/vertex/theme.lua index fb839d3..a058611 100644 --- a/themes/vertex/theme.lua +++ b/themes/vertex/theme.lua @@ -10,7 +10,7 @@ local gears = require("gears") local lain = require("lain") local awful = require("awful") local wibox = require("wibox") -local math, string, tonumber, type, os = math, string, tonumber, type, os +local math, string, tag, tonumber, type, os = math, string, tag, tonumber, type, os local theme = {} theme.default_dir = require("awful.util").get_themes_dir() .. "default" @@ -320,6 +320,68 @@ local dockshape = function(cr, width, height) gears.shape.partially_rounded_rect(cr, width, height, false, true, true, false, 6) end +function theme.vertical_wibox(s) + -- Create the vertical wibox + s.dockheight = (40 * s.workarea.height)/100 + + s.myleftwibox = wibox({ screen = s, x=0, y=s.workarea.height/2 - s.dockheight/2, width = 6, height = s.dockheight, fg = theme.fg_normal, bg = barcolor2, ontop = true, visible = true, type = "dock" }) + + if s.index > 1 and s.myleftwibox.y == 0 then + s.myleftwibox.y = screen[1].myleftwibox.y + end + + -- 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() + local s = awful.screen.focused() + s.myleftwibox.width = 6 + s.layoutb.visible = false + mylauncher.visible = false + if s.docktimer.started then + s.docktimer:stop() + end + end) + tag.connect_signal("property::selected", function(t) + local s = t.screen or awful.screen.focused() + 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() + local s = awful.screen.focused() + s.myleftwibox.width = 6 + s.layoutb.visible = false + mylauncher.visible = false + end) + + s.myleftwibox:connect_signal("mouse::enter", function() + local s = awful.screen.focused() + s.myleftwibox.width = 46 + s.layoutb.visible = true + mylauncher.visible = true + gears.surface.apply_shape_bounding(s.myleftwibox, dockshape) + end) +end + + function theme.at_screen_connect(s) -- Quake application s.quake = lain.util.quake({ app = awful.util.terminal, border = theme.border_width }) @@ -393,62 +455,7 @@ function theme.at_screen_connect(s) }, } - -- Create the vertical wibox - s.dockheight = (40 * s.workarea.height)/100 - - s.myleftwibox = wibox({ screen = s, x=0, y=s.workarea.height/2 - s.dockheight/2, width = 6, height = s.dockheight, fg = theme.fg_normal, bg = barcolor2, ontop = true, visible = true, type = "dock" }) - - if s.index > 1 and s.myleftwibox.y == 0 then - s.myleftwibox.y = screen[1].myleftwibox.y - end - - -- 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() - local s = awful.screen.focused() - s.myleftwibox.width = 6 - s.layoutb.visible = false - mylauncher.visible = false - s.docktimer:stop() - end) - tag.connect_signal("property::selected", function(t) - local s = t.screen or awful.screen.focused() - 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() - local s = awful.screen.focused() - s.myleftwibox.width = 6 - s.layoutb.visible = false - mylauncher.visible = false - end) - - s.myleftwibox:connect_signal("mouse::enter", function() - local s = awful.screen.focused() - s.myleftwibox.width = 46 - s.layoutb.visible = true - mylauncher.visible = true - gears.surface.apply_shape_bounding(s.myleftwibox, dockshape) - end) + gears.timer.delayed_call(theme.vertical_wibox, s) end return theme