Code style improvements

Autoformatted code for task_preview
This commit is contained in:
Gokul Swaminathan 2021-08-11 13:58:19 -07:00
parent 46282edf72
commit 5ae63cd860
1 changed files with 67 additions and 63 deletions

View File

@ -5,7 +5,6 @@
-- v (boolean)
-- c (client)
--
local awful = require("awful")
local wibox = require("wibox")
local helpers = require(tostring(...):match(".*bling") .. ".helpers")
@ -16,9 +15,10 @@ local cairo = require("lgi").cairo
-- TODO: rename structure to something better?
local function draw_widget(c, widget_template, screen_radius, widget_bg,
widget_border_color, widget_border_width, margin, widget_width, widget_height)
widget_border_color, widget_border_width, margin,
widget_width, widget_height)
if not pcall(function () return type(c.content) end) then return end
if not pcall(function() return type(c.content) end) then return end
local content = gears.surface(c.content)
local cr = cairo.Context(content)
local x, y, w, h = cr:clip_extents()
@ -28,7 +28,7 @@ local function draw_widget(c, widget_template, screen_radius, widget_bg,
cr.operator = cairo.Operator.SOURCE
cr:paint()
local widget = wibox.widget{
local widget = wibox.widget {
(widget_template or {
{
{
@ -79,70 +79,74 @@ local function draw_widget(c, widget_template, screen_radius, widget_bg,
shape = helpers.shape.rrect(screen_radius),
widget = wibox.container.background
}),
widget = wibox.container.constraint,
width = widget_width,
height = widget_height
height = widget_height,
widget = wibox.container.constraint
}
-- todo: have something like a create callback here?
-- TODO: have something like a create callback here?
for _, w in ipairs(widget:get_children_by_id("image_role")) do
w.image = img -- todo: copy it with gears.surface.xxx or something
end
for _, w in ipairs(widget:get_children_by_id("name_role")) do
w.text = c.name
end
for _, w in ipairs(widget:get_children_by_id("icon_role")) do
w.image = c.icon -- todo: detect clienticon
end
return widget
for _, w in ipairs(widget:get_children_by_id("image_role")) do
w.image = img -- TODO: copy it with gears.surface.xxx or something
end
local enable = function(opts)
local opts = opts or {}
local widget_x = opts.x or dpi(20)
local widget_y = opts.y or dpi(20)
local widget_height = opts.height or dpi(200)
local widget_width = opts.width or dpi(200)
local placement_fn = opts.placement_fn or nil
local margin = beautiful.task_preview_widget_margin or dpi(0)
local screen_radius = beautiful.task_preview_widget_border_radius or dpi(0)
local widget_bg = beautiful.task_preview_widget_bg or "#000000"
local widget_border_color = beautiful.task_preview_widget_border_color or
"#ffffff"
local widget_border_width = beautiful.task_preview_widget_border_width or
dpi(3)
local task_preview_box = awful.popup({
type = "dropdown_menu",
visible = false,
ontop = true,
placement = placement_fn,
widget = wibox.container.background, -- A dummy widget to make awful.popup not scream
input_passthrough = true,
bg = "#00000000"
})
awesome.connect_signal("bling::task_preview::visibility", function(s, v, c)
if v then
-- Update task preview contents
task_preview_box.widget = draw_widget(c, opts.structure, screen_radius, widget_bg,
widget_border_color, widget_border_width, margin, widget_width, widget_height)
end
if not placement_fn then
task_preview_box.x = s.geometry.x + widget_x
task_preview_box.y = s.geometry.y + widget_y
end
task_preview_box.visible = v
end)
for _, w in ipairs(widget:get_children_by_id("name_role")) do
w.text = c.name
end
return {enable = enable}
for _, w in ipairs(widget:get_children_by_id("icon_role")) do
w.image = c.icon -- TODO: detect clienticon
end
return widget
end
local enable = function(opts)
local opts = opts or {}
local widget_x = opts.x or dpi(20)
local widget_y = opts.y or dpi(20)
local widget_height = opts.height or dpi(200)
local widget_width = opts.width or dpi(200)
local placement_fn = opts.placement_fn or nil
local margin = beautiful.task_preview_widget_margin or dpi(0)
local screen_radius = beautiful.task_preview_widget_border_radius or dpi(0)
local widget_bg = beautiful.task_preview_widget_bg or "#000000"
local widget_border_color = beautiful.task_preview_widget_border_color or
"#ffffff"
local widget_border_width = beautiful.task_preview_widget_border_width or
dpi(3)
local task_preview_box = awful.popup(
{
type = "dropdown_menu",
visible = false,
ontop = true,
placement = placement_fn,
widget = wibox.container.background, -- A dummy widget to make awful.popup not scream
input_passthrough = true,
bg = "#00000000"
})
awesome.connect_signal("bling::task_preview::visibility", function(s, v, c)
if v then
-- Update task preview contents
task_preview_box.widget = draw_widget(c, opts.structure,
screen_radius, widget_bg,
widget_border_color,
widget_border_width, margin,
widget_width, widget_height)
end
if not placement_fn then
task_preview_box.x = s.geometry.x + widget_x
task_preview_box.y = s.geometry.y + widget_y
end
task_preview_box.visible = v
end)
end
return {enable = enable}