Auto: format source code
This commit is contained in:
parent
ae0a999e1b
commit
1727f1d9f3
|
@ -182,12 +182,9 @@ local simple_schedule_object = nil
|
|||
-- @tparam[opt=`setters.simple`] function args.wallpaper_set_function The set_function used by default
|
||||
function setters.simple_schedule(args)
|
||||
local function update_wallpaper()
|
||||
local fake_args = gears.table.join(
|
||||
args,
|
||||
{
|
||||
wallpaper = args.wallpaper[simple_schedule_object.closest_lower_time],
|
||||
}
|
||||
)
|
||||
local fake_args = gears.table.join(args, {
|
||||
wallpaper = args.wallpaper[simple_schedule_object.closest_lower_time],
|
||||
})
|
||||
simple_schedule_object.schedule_set_function(fake_args)
|
||||
end
|
||||
if not simple_schedule_object then
|
||||
|
|
|
@ -12,8 +12,16 @@ local window_switcher_grabber
|
|||
|
||||
local get_num_clients = function()
|
||||
local minimized_clients_in_tag = 0
|
||||
local matcher = function (c)
|
||||
return awful.rules.match(c, { minimized = true, skip_taskbar = false, hidden = false, first_tag = awful.screen.focused().selected_tag })
|
||||
local matcher = function(c)
|
||||
return awful.rules.match(
|
||||
c,
|
||||
{
|
||||
minimized = true,
|
||||
skip_taskbar = false,
|
||||
hidden = false,
|
||||
first_tag = awful.screen.focused().selected_tag,
|
||||
}
|
||||
)
|
||||
end
|
||||
for c in awful.client.iterate(matcher) do
|
||||
minimized_clients_in_tag = minimized_clients_in_tag + 1
|
||||
|
@ -28,7 +36,9 @@ local window_switcher_hide = function(window_switcher_box)
|
|||
awful.client.focus.history.add(window_switcher_last_client)
|
||||
-- Raise client that was focused originally
|
||||
-- Then raise last focused client
|
||||
if window_switcher_first_client and window_switcher_first_client.valid then
|
||||
if
|
||||
window_switcher_first_client and window_switcher_first_client.valid
|
||||
then
|
||||
window_switcher_first_client:raise()
|
||||
window_switcher_last_client:raise()
|
||||
end
|
||||
|
@ -51,84 +61,122 @@ local window_switcher_hide = function(window_switcher_box)
|
|||
window_switcher_box.visible = false
|
||||
end
|
||||
|
||||
local function draw_widget(type, background, border_width, border_radius, border_color,
|
||||
clients_spacing, client_icon_horizontal_spacing, client_width, client_height,
|
||||
client_margins, thumbnail_margins, thumbnail_scale, name_margins, name_valign,
|
||||
name_forced_width, name_font, name_normal_color, name_focus_color,
|
||||
icon_valign, icon_width, mouse_keys)
|
||||
|
||||
local function draw_widget(
|
||||
type,
|
||||
background,
|
||||
border_width,
|
||||
border_radius,
|
||||
border_color,
|
||||
clients_spacing,
|
||||
client_icon_horizontal_spacing,
|
||||
client_width,
|
||||
client_height,
|
||||
client_margins,
|
||||
thumbnail_margins,
|
||||
thumbnail_scale,
|
||||
name_margins,
|
||||
name_valign,
|
||||
name_forced_width,
|
||||
name_font,
|
||||
name_normal_color,
|
||||
name_focus_color,
|
||||
icon_valign,
|
||||
icon_width,
|
||||
mouse_keys
|
||||
)
|
||||
local tasklist_widget = type == "thumbnail"
|
||||
and
|
||||
awful.widget.tasklist {
|
||||
screen = awful.screen.focused(),
|
||||
filter = awful.widget.tasklist.filter.currenttags,
|
||||
buttons = mouse_keys,
|
||||
style = { font = name_font, fg_normal = name_normal_color, fg_focus = name_focus_color },
|
||||
layout = { layout = wibox.layout.flex.horizontal, spacing = clients_spacing },
|
||||
widget_template =
|
||||
{
|
||||
widget = wibox.container.background,
|
||||
id = "bg_role",
|
||||
forced_width = client_width,
|
||||
forced_height = client_height,
|
||||
create_callback = function(self, c, _, __)
|
||||
local content = gears.surface(c.content)
|
||||
local cr = cairo.Context(content)
|
||||
local x, y, w, h = cr:clip_extents()
|
||||
local img = cairo.ImageSurface.create(cairo.Format.ARGB32, w - x, h - y)
|
||||
cr = cairo.Context(img)
|
||||
cr:set_source_surface(content, 0, 0)
|
||||
cr.operator = cairo.Operator.SOURCE
|
||||
cr:paint()
|
||||
self:get_children_by_id("thumbnail")[1].image = gears.surface.load(img)
|
||||
end,
|
||||
{
|
||||
{
|
||||
{
|
||||
horizontal_fit_policy = thumbnail_scale == true and "fit" or "auto",
|
||||
vertical_fit_policy = thumbnail_scale == true and "fit" or "auto",
|
||||
id = "thumbnail",
|
||||
widget = wibox.widget.imagebox
|
||||
},
|
||||
margins = thumbnail_margins,
|
||||
widget = wibox.container.margin
|
||||
},
|
||||
and awful.widget.tasklist({
|
||||
screen = awful.screen.focused(),
|
||||
filter = awful.widget.tasklist.filter.currenttags,
|
||||
buttons = mouse_keys,
|
||||
style = {
|
||||
font = name_font,
|
||||
fg_normal = name_normal_color,
|
||||
fg_focus = name_focus_color,
|
||||
},
|
||||
layout = {
|
||||
layout = wibox.layout.flex.horizontal,
|
||||
spacing = clients_spacing,
|
||||
},
|
||||
widget_template = {
|
||||
widget = wibox.container.background,
|
||||
id = "bg_role",
|
||||
forced_width = client_width,
|
||||
forced_height = client_height,
|
||||
create_callback = function(self, c, _, __)
|
||||
local content = gears.surface(c.content)
|
||||
local cr = cairo.Context(content)
|
||||
local x, y, w, h = cr:clip_extents()
|
||||
local img = cairo.ImageSurface.create(
|
||||
cairo.Format.ARGB32,
|
||||
w - x,
|
||||
h - y
|
||||
)
|
||||
cr = cairo.Context(img)
|
||||
cr:set_source_surface(content, 0, 0)
|
||||
cr.operator = cairo.Operator.SOURCE
|
||||
cr:paint()
|
||||
self:get_children_by_id("thumbnail")[1].image =
|
||||
gears.surface.load(
|
||||
img
|
||||
)
|
||||
end,
|
||||
{
|
||||
{
|
||||
{
|
||||
id = "icon_role",
|
||||
widget = wibox.widget.imagebox
|
||||
horizontal_fit_policy = thumbnail_scale == true
|
||||
and "fit"
|
||||
or "auto",
|
||||
vertical_fit_policy = thumbnail_scale == true
|
||||
and "fit"
|
||||
or "auto",
|
||||
id = "thumbnail",
|
||||
widget = wibox.widget.imagebox,
|
||||
},
|
||||
forced_width = icon_width,
|
||||
valign = icon_valign,
|
||||
widget = wibox.container.place
|
||||
margins = thumbnail_margins,
|
||||
widget = wibox.container.margin,
|
||||
},
|
||||
{
|
||||
{
|
||||
forced_width = name_forced_width,
|
||||
valign = name_valign,
|
||||
id = "text_role",
|
||||
widget = wibox.widget.textbox
|
||||
{
|
||||
id = "icon_role",
|
||||
widget = wibox.widget.imagebox,
|
||||
},
|
||||
forced_width = icon_width,
|
||||
valign = icon_valign,
|
||||
widget = wibox.container.place,
|
||||
},
|
||||
margins = name_margins,
|
||||
widget = wibox.container.margin
|
||||
{
|
||||
{
|
||||
forced_width = name_forced_width,
|
||||
valign = name_valign,
|
||||
id = "text_role",
|
||||
widget = wibox.widget.textbox,
|
||||
},
|
||||
margins = name_margins,
|
||||
widget = wibox.container.margin,
|
||||
},
|
||||
spacing = client_icon_horizontal_spacing,
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
},
|
||||
spacing = client_icon_horizontal_spacing,
|
||||
layout = wibox.layout.fixed.horizontal
|
||||
layout = wibox.layout.flex.vertical,
|
||||
},
|
||||
layout = wibox.layout.flex.vertical
|
||||
}
|
||||
}
|
||||
}
|
||||
or
|
||||
awful.widget.tasklist {
|
||||
},
|
||||
})
|
||||
or awful.widget.tasklist({
|
||||
screen = awful.screen.focused(),
|
||||
filter = awful.widget.tasklist.filter.currenttags,
|
||||
buttons = mouse_keys,
|
||||
style = { font = name_font, fg_normal = name_normal_color, fg_focus = name_focus_color },
|
||||
layout = { layout = wibox.layout.fixed.vertical, spacing = clients_spacing },
|
||||
widget_template =
|
||||
{
|
||||
style = {
|
||||
font = name_font,
|
||||
fg_normal = name_normal_color,
|
||||
fg_focus = name_focus_color,
|
||||
},
|
||||
layout = {
|
||||
layout = wibox.layout.fixed.vertical,
|
||||
spacing = clients_spacing,
|
||||
},
|
||||
widget_template = {
|
||||
widget = wibox.container.background,
|
||||
id = "bg_role",
|
||||
forced_width = client_width,
|
||||
|
@ -136,42 +184,41 @@ local function draw_widget(type, background, border_width, border_radius, border
|
|||
{
|
||||
{
|
||||
{
|
||||
id = "icon_role",
|
||||
widget = wibox.widget.imagebox
|
||||
id = "icon_role",
|
||||
widget = wibox.widget.imagebox,
|
||||
},
|
||||
forced_width = icon_width,
|
||||
valign = icon_valign,
|
||||
widget = wibox.container.place
|
||||
widget = wibox.container.place,
|
||||
},
|
||||
{
|
||||
{
|
||||
forced_width = name_forced_width,
|
||||
valign = name_valign,
|
||||
valign = name_valign,
|
||||
id = "text_role",
|
||||
widget = wibox.widget.textbox
|
||||
widget = wibox.widget.textbox,
|
||||
},
|
||||
margins = name_margins,
|
||||
widget = wibox.container.margin
|
||||
widget = wibox.container.margin,
|
||||
},
|
||||
spacing = client_icon_horizontal_spacing,
|
||||
layout = wibox.layout.fixed.horizontal
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
},
|
||||
},
|
||||
}
|
||||
})
|
||||
|
||||
return wibox.widget
|
||||
{
|
||||
return wibox.widget({
|
||||
{
|
||||
tasklist_widget,
|
||||
margins = client_margins,
|
||||
widget = wibox.container.margin
|
||||
widget = wibox.container.margin,
|
||||
},
|
||||
shape_border_width = border_width,
|
||||
shape_border_color = border_color,
|
||||
bg = background,
|
||||
shape = helpers.shape.rrect(border_radius),
|
||||
widget = wibox.container.background
|
||||
}
|
||||
widget = wibox.container.background,
|
||||
})
|
||||
end
|
||||
|
||||
local enable = function(opts)
|
||||
|
@ -180,22 +227,31 @@ local enable = function(opts)
|
|||
local type = opts.type or "thumbnail"
|
||||
local background = beautiful.window_switcher_widget_bg or "#000000"
|
||||
local border_width = beautiful.window_switcher_widget_border_width or dpi(3)
|
||||
local border_radius = beautiful.window_switcher_widget_border_radius or dpi(0)
|
||||
local border_color = beautiful.window_switcher_widget_border_color or "#ffffff"
|
||||
local border_radius = beautiful.window_switcher_widget_border_radius
|
||||
or dpi(0)
|
||||
local border_color = beautiful.window_switcher_widget_border_color
|
||||
or "#ffffff"
|
||||
local clients_spacing = beautiful.window_switcher_clients_spacing or dpi(20)
|
||||
local client_icon_horizontal_spacing = beautiful.window_switcher_client_icon_horizontal_spacing or dpi(5)
|
||||
local client_width = beautiful.window_switcher_client_width or dpi(type == "thumbnail" and 150 or 500)
|
||||
local client_height = beautiful.window_switcher_client_height or dpi(type == "thumbnail" and 250 or 50)
|
||||
local client_icon_horizontal_spacing = beautiful.window_switcher_client_icon_horizontal_spacing
|
||||
or dpi(5)
|
||||
local client_width = beautiful.window_switcher_client_width
|
||||
or dpi(type == "thumbnail" and 150 or 500)
|
||||
local client_height = beautiful.window_switcher_client_height
|
||||
or dpi(type == "thumbnail" and 250 or 50)
|
||||
local client_margins = beautiful.window_switcher_client_margins or dpi(10)
|
||||
local thumbnail_margins = beautiful.window_switcher_thumbnail_margins or dpi(5)
|
||||
local thumbnail_margins = beautiful.window_switcher_thumbnail_margins
|
||||
or dpi(5)
|
||||
local thumbnail_scale = beautiful.thumbnail_scale or false
|
||||
local name_margins = beautiful.window_switcher_name_margins or dpi(10)
|
||||
local name_valign = beautiful.window_switcher_name_valign or "center"
|
||||
local name_forced_width = beautiful.window_switcher_name_forced_width or dpi(type == "thumbnail" and 200 or 550)
|
||||
local name_forced_width = beautiful.window_switcher_name_forced_width
|
||||
or dpi(type == "thumbnail" and 200 or 550)
|
||||
local name_font = beautiful.window_switcher_name_font or beautiful.font
|
||||
local name_normal_color = beautiful.window_switcher_name_normal_color or "#FFFFFF"
|
||||
local name_focus_color = beautiful.window_switcher_name_focus_color or "#FF0000"
|
||||
local icon_valign = beautiful.window_switcher_icon_valign or "center"
|
||||
local name_normal_color = beautiful.window_switcher_name_normal_color
|
||||
or "#FFFFFF"
|
||||
local name_focus_color = beautiful.window_switcher_name_focus_color
|
||||
or "#FF0000"
|
||||
local icon_valign = beautiful.window_switcher_icon_valign or "center"
|
||||
local icon_width = beautiful.window_switcher_icon_width or dpi(40)
|
||||
|
||||
local hide_window_switcher_key = opts.hide_window_switcher_key or "Escape"
|
||||
|
@ -216,74 +272,91 @@ local enable = function(opts)
|
|||
local scroll_previous_key = opts.scroll_previous_key or 4
|
||||
local scroll_next_key = opts.scroll_next_key or 5
|
||||
|
||||
local window_switcher_box = awful.popup
|
||||
({
|
||||
local window_switcher_box = awful.popup({
|
||||
bg = "#00000000",
|
||||
visible = false,
|
||||
ontop = true,
|
||||
placement = awful.placement.centered,
|
||||
screen = awful.screen.focused(),
|
||||
widget = wibox.container.background, -- A dummy widget to make awful.popup not scream
|
||||
widget =
|
||||
{
|
||||
widget = {
|
||||
{
|
||||
draw_widget(),
|
||||
margins = client_margins,
|
||||
widget = wibox.container.margin
|
||||
widget = wibox.container.margin,
|
||||
},
|
||||
shape_border_width = border_width,
|
||||
shape_border_color = border_color,
|
||||
bg = background,
|
||||
shape = helpers.shape.rrect(border_radius),
|
||||
widget = wibox.container.background
|
||||
}
|
||||
widget = wibox.container.background,
|
||||
},
|
||||
})
|
||||
|
||||
local mouse_keys = gears.table.join
|
||||
(
|
||||
awful.button
|
||||
{
|
||||
local mouse_keys = gears.table.join(
|
||||
awful.button({
|
||||
modifiers = { "Any" },
|
||||
button = select_client_key,
|
||||
on_press = function(c)
|
||||
client.focus = c
|
||||
end,
|
||||
},
|
||||
}),
|
||||
|
||||
awful.button
|
||||
{
|
||||
awful.button({
|
||||
modifiers = { "Any" },
|
||||
button = scroll_previous_key,
|
||||
on_press = function()
|
||||
awful.client.focus.byidx(-1)
|
||||
end,
|
||||
},
|
||||
}),
|
||||
|
||||
awful.button
|
||||
{
|
||||
awful.button({
|
||||
modifiers = { "Any" },
|
||||
button = scroll_next_key,
|
||||
on_press = function()
|
||||
awful.client.focus.byidx(1)
|
||||
end,
|
||||
}
|
||||
})
|
||||
)
|
||||
|
||||
local keyboard_keys =
|
||||
{
|
||||
[hide_window_switcher_key] = function() window_switcher_hide(window_switcher_box) end,
|
||||
local keyboard_keys = {
|
||||
[hide_window_switcher_key] = function()
|
||||
window_switcher_hide(window_switcher_box)
|
||||
end,
|
||||
|
||||
[minimize_key] = function() if client.focus then client.focus.minimized = true end end,
|
||||
[unminimize_key] = function() if awful.client.restore() then client.focus = awful.client.restore() end end,
|
||||
[kill_client_key] = function() if client.focus then client.focus:kill() end end,
|
||||
[minimize_key] = function()
|
||||
if client.focus then
|
||||
client.focus.minimized = true
|
||||
end
|
||||
end,
|
||||
[unminimize_key] = function()
|
||||
if awful.client.restore() then
|
||||
client.focus = awful.client.restore()
|
||||
end
|
||||
end,
|
||||
[kill_client_key] = function()
|
||||
if client.focus then
|
||||
client.focus:kill()
|
||||
end
|
||||
end,
|
||||
|
||||
[cycle_key] = function() awful.client.focus.byidx(1) end,
|
||||
[cycle_key] = function()
|
||||
awful.client.focus.byidx(1)
|
||||
end,
|
||||
|
||||
[previous_key] = function() awful.client.focus.byidx(1) end,
|
||||
[next_key] = function() awful.client.focus.byidx(-1) end,
|
||||
[previous_key] = function()
|
||||
awful.client.focus.byidx(1)
|
||||
end,
|
||||
[next_key] = function()
|
||||
awful.client.focus.byidx(-1)
|
||||
end,
|
||||
|
||||
[vim_previous_key] = function() awful.client.focus.byidx(1) end,
|
||||
[vim_next_key] = function() awful.client.focus.byidx(-1) end,
|
||||
[vim_previous_key] = function()
|
||||
awful.client.focus.byidx(1)
|
||||
end,
|
||||
[vim_next_key] = function()
|
||||
awful.client.focus.byidx(-1)
|
||||
end,
|
||||
}
|
||||
|
||||
window_switcher_box:connect_signal("property::width", function()
|
||||
|
@ -332,7 +405,11 @@ local enable = function(opts)
|
|||
-- Hide if the modifier was released
|
||||
-- We try to match Super or Alt or Control since we do not know which keybind is
|
||||
-- used to activate the window switcher (the keybind is set by the user in keys.lua)
|
||||
if key:match("Super") or key:match("Alt") or key:match("Control") then
|
||||
if
|
||||
key:match("Super")
|
||||
or key:match("Alt")
|
||||
or key:match("Control")
|
||||
then
|
||||
window_switcher_hide(window_switcher_box)
|
||||
end
|
||||
-- Do nothing
|
||||
|
@ -345,13 +422,31 @@ local enable = function(opts)
|
|||
end
|
||||
end)
|
||||
|
||||
window_switcher_box.widget = draw_widget(type, background, border_width,
|
||||
border_radius, border_color, clients_spacing, client_icon_horizontal_spacing,
|
||||
client_width, client_height, client_margins, thumbnail_margins, thumbnail_scale,
|
||||
name_margins, name_valign, name_forced_width, name_font, name_normal_color,
|
||||
name_focus_color, icon_valign, icon_width, mouse_keys)
|
||||
window_switcher_box.widget = draw_widget(
|
||||
type,
|
||||
background,
|
||||
border_width,
|
||||
border_radius,
|
||||
border_color,
|
||||
clients_spacing,
|
||||
client_icon_horizontal_spacing,
|
||||
client_width,
|
||||
client_height,
|
||||
client_margins,
|
||||
thumbnail_margins,
|
||||
thumbnail_scale,
|
||||
name_margins,
|
||||
name_valign,
|
||||
name_forced_width,
|
||||
name_font,
|
||||
name_normal_color,
|
||||
name_focus_color,
|
||||
icon_valign,
|
||||
icon_width,
|
||||
mouse_keys
|
||||
)
|
||||
window_switcher_box.visible = true
|
||||
end)
|
||||
end
|
||||
|
||||
return {enable = enable}
|
||||
return { enable = enable }
|
||||
|
|
Loading…
Reference in New Issue