feat: init binds config
This commit is contained in:
@@ -0,0 +1,23 @@
|
|||||||
|
local M = {}
|
||||||
|
local settings = require("lua.lib.settings")
|
||||||
|
local bind = require("lua.lib.bind")
|
||||||
|
|
||||||
|
M.binds = {
|
||||||
|
{
|
||||||
|
keys = bind.with_leader("Return"),
|
||||||
|
desc = "Open terminal",
|
||||||
|
dispatcher = hl.dsp.exec_cmd(settings.apps.terminal),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
keys = bind.with_leader("B"),
|
||||||
|
desc = "Open web browser",
|
||||||
|
dispatcher = hl.dsp.exec_cmd(settings.apps.browser),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
keys = bind.with_leader("E"),
|
||||||
|
desc = "Open file manager",
|
||||||
|
dispatcher = hl.dsp.exec_cmd(settings.apps.file_manager),
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
return M
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
local M = {}
|
||||||
|
local bind = require("lua.lib.bind")
|
||||||
|
|
||||||
|
local pieces = {
|
||||||
|
"apps",
|
||||||
|
}
|
||||||
|
|
||||||
|
M.binds = {}
|
||||||
|
|
||||||
|
for _, piece in pairs(pieces) do
|
||||||
|
local bind_piece = require("lua.binds." .. piece).binds
|
||||||
|
for _, bind_item in pairs(bind_piece) do
|
||||||
|
table.insert(M.binds, bind_item)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function M.load()
|
||||||
|
bind.map(M.binds)
|
||||||
|
end
|
||||||
|
|
||||||
|
return M
|
||||||
+1
-2
@@ -11,6 +11,5 @@ require("lua.conf.decoration").load()
|
|||||||
require("lua.conf.layout").load()
|
require("lua.conf.layout").load()
|
||||||
require("lua.conf.misc").load()
|
require("lua.conf.misc").load()
|
||||||
|
|
||||||
|
require("lua.binds").load()
|
||||||
require("lua.modules").load()
|
require("lua.modules").load()
|
||||||
|
|
||||||
hl.bind("SUPER + Return", hl.dsp.exec_cmd("kitty"))
|
|
||||||
|
|||||||
+19
-3
@@ -16,7 +16,7 @@ local function merge(...)
|
|||||||
return out
|
return out
|
||||||
end
|
end
|
||||||
|
|
||||||
local function with_leader(keys)
|
function bind.with_leader(keys)
|
||||||
if keys == nil or keys == "" then
|
if keys == nil or keys == "" then
|
||||||
return bind.leader
|
return bind.leader
|
||||||
end
|
end
|
||||||
@@ -34,8 +34,24 @@ function bind.key(keys, dispatcher, desc, opts)
|
|||||||
return hl.bind(keys, dispatcher, flags)
|
return hl.bind(keys, dispatcher, flags)
|
||||||
end
|
end
|
||||||
|
|
||||||
function bind.leader_key(keys, dispatcher, desc, opts)
|
function bind.set(table)
|
||||||
return bind.key(with_leader(keys), dispatcher, desc, opts)
|
local keys = table.keys
|
||||||
|
local dispatcher = table.dispatcher
|
||||||
|
local desc = ""
|
||||||
|
local opts = {}
|
||||||
|
if table.desc ~= nil and table.desc ~= "" then
|
||||||
|
desc = table.desc
|
||||||
|
end
|
||||||
|
if table.opts ~= nil then
|
||||||
|
opts = table.opts
|
||||||
|
end
|
||||||
|
bind.key(keys, dispatcher, desc, opts)
|
||||||
|
end
|
||||||
|
|
||||||
|
function bind.map(table)
|
||||||
|
for _, item in pairs(table) do
|
||||||
|
bind.set(item)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
return bind
|
return bind
|
||||||
|
|||||||
@@ -18,6 +18,13 @@ settings["default_layout"] = "dwindle"
|
|||||||
---@type string
|
---@type string
|
||||||
settings["font_family"] = "FiraCode Nerd Font"
|
settings["font_family"] = "FiraCode Nerd Font"
|
||||||
|
|
||||||
|
---@type table<string, string>
|
||||||
|
settings["apps"] = {
|
||||||
|
terminal = "kitty",
|
||||||
|
file_manager = "thunar",
|
||||||
|
browser = "chromium",
|
||||||
|
}
|
||||||
|
|
||||||
---@type "catppuccin"|"catppuccin-mocha"
|
---@type "catppuccin"|"catppuccin-mocha"
|
||||||
settings["colorscheme"] = "catppuccin"
|
settings["colorscheme"] = "catppuccin"
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ local settings = require("lua.lib.settings")
|
|||||||
require("lua.lib.globals")
|
require("lua.lib.globals")
|
||||||
local utils = require("lua.lib.utils")
|
local utils = require("lua.lib.utils")
|
||||||
local events = require("lua.lib.events")
|
local events = require("lua.lib.events")
|
||||||
|
local bind = require("lua.lib.bind")
|
||||||
|
|
||||||
local M = {}
|
local M = {}
|
||||||
local modules = {}
|
local modules = {}
|
||||||
@@ -53,9 +54,7 @@ function M.load()
|
|||||||
events.map("hyprland.start", M.autostart)
|
events.map("hyprland.start", M.autostart)
|
||||||
events.map("hyprland.shutdown", M.autostop)
|
events.map("hyprland.shutdown", M.autostop)
|
||||||
|
|
||||||
for _, bind in pairs(M.binds) do
|
bind.map(M.binds)
|
||||||
bind()
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|||||||
@@ -10,9 +10,11 @@ M.autostart = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
M.binds = {
|
M.binds = {
|
||||||
function()
|
{
|
||||||
bind.leader_key("SHIFT + Return", hl.dsp.exec_cmd("pypr toggle term"), "Pyprland: toggle drop terminal", {})
|
keys = bind.with_leader("SHIFT + Return"),
|
||||||
end,
|
dispatcher = hl.dsp.exec_cmd("pypr toggle term"),
|
||||||
|
desc = "Pyprland: toggle drop terminal",
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|||||||
+62
-42
@@ -41,48 +41,68 @@ local function swayosd_client_cmd(args)
|
|||||||
end
|
end
|
||||||
|
|
||||||
M.binds = {
|
M.binds = {
|
||||||
function()
|
{
|
||||||
bind.key(
|
keys = "XF86MonBrightnessUp",
|
||||||
"XF86MonBrightnessUp",
|
dispatcher = function()
|
||||||
swayosd_client_cmd("--brightness raise"),
|
swayosd_client_cmd("--brightness raise")
|
||||||
"Increase brightness ",
|
end,
|
||||||
{ long_press = true, locked = true }
|
dosc = "Increase brightness ",
|
||||||
)
|
opts = { long_press = true, locked = true },
|
||||||
bind.key(
|
},
|
||||||
"XF86MonBrightnessDown",
|
{
|
||||||
swayosd_client_cmd("--brightness lower"),
|
keys = "XF86MonBrightnessDown",
|
||||||
"Decrease brightness ",
|
dispatcher = swayosd_client_cmd("--brightness lower"),
|
||||||
{ long_press = true, locked = true }
|
desc = "Decrease brightness ",
|
||||||
)
|
opts = { long_press = true, locked = true },
|
||||||
bind.key(
|
},
|
||||||
"XF86AudioRaiseVolume",
|
{
|
||||||
swayosd_client_cmd("--output-volume raise"),
|
keys = "XF86AudioRaiseVolume",
|
||||||
"Increase brightness ",
|
dispatcher = swayosd_client_cmd("--output-volume raise"),
|
||||||
{ long_press = true, locked = true }
|
desc = "Increase brightness ",
|
||||||
)
|
opts = { long_press = true, locked = true },
|
||||||
bind.key(
|
},
|
||||||
"XF86AudioLowerVolume",
|
{
|
||||||
swayosd_client_cmd("--output-volume lower"),
|
keys = "XF86AudioLowerVolume",
|
||||||
"Decrease brightness ",
|
dispatcher = swayosd_client_cmd("--output-volume lower"),
|
||||||
{ long_press = true, locked = true }
|
desc = "Decrease brightness ",
|
||||||
)
|
opts = { long_press = true, locked = true },
|
||||||
bind.key(
|
},
|
||||||
"XF86AudioMute",
|
{
|
||||||
swayosd_client_cmd("--output-volume mute-toggle"),
|
keys = "XF86AudioMute",
|
||||||
"Toggle output mute",
|
dispatcher = swayosd_client_cmd("--output-volume mute-toggle"),
|
||||||
{ long_press = true, locked = true }
|
desc = "Toggle output mute",
|
||||||
)
|
opts = { long_press = true, locked = true },
|
||||||
bind.key(
|
},
|
||||||
"XF86AudioMicMute",
|
{
|
||||||
swayosd_client_cmd("--input-volume mute-toggle"),
|
keys = "XF86AudioMicMute",
|
||||||
"Toggle input mute",
|
dispatcher = swayosd_client_cmd("--input-volume mute-toggle"),
|
||||||
{ long_press = true, locked = true }
|
desc = "Toggle input mute",
|
||||||
)
|
opts = { long_press = true, locked = true },
|
||||||
bind.key("XF86AudioPlay", swayosd_client_cmd("--playerctl play-pause"), "Player play/pause", { locked = true })
|
},
|
||||||
bind.key("XF86AudioPause", swayosd_client_cmd("--playerctl pause"), "Player pause", { locked = true })
|
{
|
||||||
bind.key("XF86AudioNext", swayosd_client_cmd("--playerctl next"), "Player next", { locked = true })
|
keys = "XF86AudioPlay",
|
||||||
bind.key("XF86AudioPrev", swayosd_client_cmd("--playerctl prev"), "Player previous", { locked = true })
|
dispatcher = swayosd_client_cmd("--playerctl play-pause"),
|
||||||
end,
|
desc = "Player play/pause",
|
||||||
|
opts = { locked = true },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
keys = "XF86AudioPause",
|
||||||
|
dispatcher = swayosd_client_cmd("--playerctl pause"),
|
||||||
|
desc = "Player pause",
|
||||||
|
opts = { locked = true },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
keys = "XF86AudioNext",
|
||||||
|
dispatcher = swayosd_client_cmd("--playerctl next"),
|
||||||
|
desc = "Player next",
|
||||||
|
opts = { locked = true },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
keys = "XF86AudioPrev",
|
||||||
|
dispatcher = swayosd_client_cmd("--playerctl prev"),
|
||||||
|
desc = "Player previous",
|
||||||
|
opts = { locked = true },
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|||||||
+10
-4
@@ -10,10 +10,16 @@ M.autostart = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
M.binds = {
|
M.binds = {
|
||||||
function()
|
{
|
||||||
bind.leader_key("SHIFT + B", hl.dsp.exec_cmd("~/dotfiles/waybar/launch.sh"), "(re)launch waybar", {})
|
keys = bind.with_leader("SHIFT + B"),
|
||||||
bind.leader_key("CTRL + B", hl.dsp.exec_cmd("~/dotfiles/waybar/toggle.sh"), "toggle waybar", {})
|
dispatcher = hl.dsp.exec_cmd("~/dotfiles/waybar/launch.sh"),
|
||||||
end,
|
desc = "(re)launch waybar",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
keys = bind.with_leader("CTRL + B"),
|
||||||
|
dispatcher = hl.dsp.exec_cmd("~/dotfiles/waybar/toggle.sh"),
|
||||||
|
desc = "toggle waybar",
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|||||||
Reference in New Issue
Block a user