feat(slots): make predefined slots HOF
This commit is contained in:
parent
d0dda9399e
commit
56e76a4baf
|
@ -2,7 +2,9 @@
|
||||||
"$schema": "https://raw.githubusercontent.com/streetsidesoftware/cspell/main/cspell.schema.json",
|
"$schema": "https://raw.githubusercontent.com/streetsidesoftware/cspell/main/cspell.schema.json",
|
||||||
"version": "0.2",
|
"version": "0.2",
|
||||||
"useGitignore": true,
|
"useGitignore": true,
|
||||||
"ignorePaths": [".git"],
|
"ignorePaths": [
|
||||||
|
".git"
|
||||||
|
],
|
||||||
"enableGlobDot": true,
|
"enableGlobDot": true,
|
||||||
"words": [
|
"words": [
|
||||||
"Aire-One",
|
"Aire-One",
|
||||||
|
@ -14,7 +16,9 @@
|
||||||
"dryrun",
|
"dryrun",
|
||||||
"fatalwarnings",
|
"fatalwarnings",
|
||||||
"fullscreen",
|
"fullscreen",
|
||||||
|
"halign",
|
||||||
"hasitem",
|
"hasitem",
|
||||||
|
"imagebox",
|
||||||
"JohnnyMorganz",
|
"JohnnyMorganz",
|
||||||
"keygrabber",
|
"keygrabber",
|
||||||
"ldoc",
|
"ldoc",
|
||||||
|
@ -30,6 +34,7 @@
|
||||||
"rockspec",
|
"rockspec",
|
||||||
"rockspecs",
|
"rockspecs",
|
||||||
"staticfct",
|
"staticfct",
|
||||||
"stylua"
|
"stylua",
|
||||||
|
"wibox"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,3 +16,15 @@ package.loaded["ruled.notification"] = {}
|
||||||
package.loaded["awful.keyboard"] = {
|
package.loaded["awful.keyboard"] = {
|
||||||
append_client_keybindings = function() end,
|
append_client_keybindings = function() end,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
package.loaded["awful.mouse"] = {}
|
||||||
|
|
||||||
|
package.loaded["beautiful"] = {}
|
||||||
|
|
||||||
|
package.loaded["wibox.widget.imagebox"] = {}
|
||||||
|
|
||||||
|
package.loaded["wibox.container.tile"] = {}
|
||||||
|
|
||||||
|
package.loaded["awful.wallpaper"] = {}
|
||||||
|
|
||||||
|
package.loaded["awful.layout"] = {}
|
||||||
|
|
|
@ -1,18 +1,17 @@
|
||||||
|
local keyboard = require "awful.keyboard"
|
||||||
|
local mouse = require "awful.mouse"
|
||||||
|
|
||||||
local client_slots = {}
|
local client_slots = {}
|
||||||
|
|
||||||
function client_slots.append_mousebindings(params)
|
function client_slots.append_mousebindings(params)
|
||||||
local mouse = require "awful.mouse"
|
return function()
|
||||||
|
mouse.append_client_mousebindings(params.mousebindings)
|
||||||
for _, bindings in pairs(params.mousebindings) do
|
|
||||||
mouse.append_client_mousebindings(bindings)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function client_slots.append_keybindings(params)
|
function client_slots.append_keybindings(params)
|
||||||
local keyboard = require "awful.keyboard"
|
return function()
|
||||||
|
keyboard.append_client_keybindings(params.keybindings)
|
||||||
for _, bindings in pairs(params.keybindings) do
|
|
||||||
keyboard.append_client_keybindings(bindings)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -1,18 +1,17 @@
|
||||||
|
local client = require "ruled.client"
|
||||||
|
local notification = require "ruled.notification"
|
||||||
|
|
||||||
local ruled_slots = {}
|
local ruled_slots = {}
|
||||||
|
|
||||||
function ruled_slots.append_client_rules(params)
|
function ruled_slots.append_client_rules(params)
|
||||||
local client = require "ruled.client"
|
return function()
|
||||||
|
client.append_rules(params.rules)
|
||||||
for _, rule in pairs(params.rules) do
|
|
||||||
client.append_rule(rule)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function ruled_slots.append_notification_rules(params)
|
function ruled_slots.append_notification_rules(params)
|
||||||
local notification = require "ruled.notification"
|
return function()
|
||||||
|
notification.append_rules(params.rules)
|
||||||
for _, rule in pairs(params.rules) do
|
|
||||||
notification.append_rule(rule)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -1,22 +1,27 @@
|
||||||
|
local beautiful = require "beautiful"
|
||||||
|
local imagebox = require "wibox.widget.imagebox"
|
||||||
|
local tile = require "wibox.container.tile"
|
||||||
|
local wallpaper = require "awful.wallpaper"
|
||||||
|
|
||||||
local screen_slots = {}
|
local screen_slots = {}
|
||||||
|
|
||||||
function screen_slots.wallpaper(screen, params)
|
function screen_slots.wallpaper(params)
|
||||||
local beautiful = require "beautiful"
|
return function(screen)
|
||||||
local wallpaper = require "gears.wallpaper"
|
wallpaper {
|
||||||
|
screen = screen,
|
||||||
params = params or {
|
widget = {
|
||||||
wallpaper = beautiful.wallpaper,
|
{
|
||||||
|
image = params.wallpaper or beautiful.wallpaper,
|
||||||
|
upscale = true,
|
||||||
|
downscale = true,
|
||||||
|
widget = imagebox,
|
||||||
|
},
|
||||||
|
valign = "center",
|
||||||
|
halign = "center",
|
||||||
|
tiled = false,
|
||||||
|
widget = tile,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
local w = params.wallpaper
|
|
||||||
|
|
||||||
if w then
|
|
||||||
-- If wallpaper is a function, call it with the screen
|
|
||||||
if type(w) == "function" then
|
|
||||||
w = w(screen)
|
|
||||||
end
|
|
||||||
|
|
||||||
wallpaper.maximized(w, screen, true)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
|
local layout = require "awful.layout"
|
||||||
|
|
||||||
local tag_slots = {}
|
local tag_slots = {}
|
||||||
|
|
||||||
function tag_slots.default_layouts(params)
|
function tag_slots.default_layouts(params)
|
||||||
local layout = require "awful.layout"
|
return function()
|
||||||
|
|
||||||
layout.append_default_layouts(params.layouts)
|
layout.append_default_layouts(params.layouts)
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
return tag_slots
|
return tag_slots
|
||||||
|
|
Loading…
Reference in New Issue