Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local awful = require("awful")
- local gears = require("gears")
- local beautiful = require("beautiful")
- local wibox = require("wibox")
- local helpers = {}
- -- Create rounded rectangle shape
- helpers.rrect = function(radius)
- return function(cr, width, height)
- --gears.shape.partially_rounded_rect(cr, width, height, true, true, false, false, 12)
- gears.shape.rounded_rect(cr, width, height, radius)
- --gears.shape.octogon(cr, width, height, radius)
- --gears.shape.rounded_bar(cr, width, height)
- end
- end
- -- Create info bubble shape
- -- TODO
- helpers.infobubble = function(radius)
- return function(cr, width, height)
- gears.shape.infobubble(cr, width, height, radius)
- end
- end
- -- Create rectangle shape
- helpers.rect = function()
- return function(cr, width, height)
- gears.shape.rectangle(cr, width, height)
- end
- end
- function helpers.colorize_text(txt, fg)
- return "<span foreground='" .. fg .."'>" .. txt .. "</span>"
- end
- function helpers.client_menu_toggle()
- local instance = nil
- return function ()
- if instance and instance.wibox.visible then
- instance:hide()
- instance = nil
- else
- instance = awful.menu.clients({ theme = { width = 250 } })
- end
- end
- end
- function helpers.pad(size)
- local str = ""
- for i = 1, size do
- str = str .. " "
- end
- local pad = wibox.widget.textbox(str)
- return pad
- end
- function helpers.move_to_edge(c, direction)
- local workarea = awful.screen.focused().workarea
- local client_geometry = c:geometry()
- if direction == "up" then
- c:geometry({ nil, y = workarea.y + beautiful.screen_margin * 2, nil, nil })
- elseif direction == "down" then
- c:geometry({ nil, y = workarea.height + workarea.y - client_geometry.height - beautiful.screen_margin * 2 - beautiful.border_width * 2, nil, nil })
- elseif direction == "left" then
- c:geometry({ x = workarea.x + beautiful.screen_margin * 2, nil, nil, nil })
- elseif direction == "right" then
- c:geometry({ x = workarea.width + workarea.x - client_geometry.width - beautiful.screen_margin * 2 - beautiful.border_width * 2, nil, nil, nil })
- end
- end
- function helpers.create_titlebar(c, titlebar_buttons, titlebar_position, titlebar_size)
- awful.titlebar(c, {font = beautiful.titlebar_font, position = titlebar_position, size = titlebar_size}) : setup {
- {
- buttons = titlebar_buttons,
- layout = wibox.layout.fixed.horizontal
- },
- {
- buttons = titlebar_buttons,
- layout = wibox.layout.fixed.horizontal
- },
- {
- buttons = titlebar_buttons,
- layout = wibox.layout.fixed.horizontal
- },
- layout = wibox.layout.align.horizontal
- }
- end
- return helpers
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement