feat: init binds config

This commit is contained in:
2026-05-29 20:17:27 -04:00
parent c2ba1a2f67
commit 51166b0f3a
9 changed files with 150 additions and 57 deletions
+23
View File
@@ -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
+21
View File
@@ -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
View File
@@ -11,6 +11,5 @@ require("lua.conf.decoration").load()
require("lua.conf.layout").load()
require("lua.conf.misc").load()
require("lua.binds").load()
require("lua.modules").load()
hl.bind("SUPER + Return", hl.dsp.exec_cmd("kitty"))
+19 -3
View File
@@ -16,7 +16,7 @@ local function merge(...)
return out
end
local function with_leader(keys)
function bind.with_leader(keys)
if keys == nil or keys == "" then
return bind.leader
end
@@ -34,8 +34,24 @@ function bind.key(keys, dispatcher, desc, opts)
return hl.bind(keys, dispatcher, flags)
end
function bind.leader_key(keys, dispatcher, desc, opts)
return bind.key(with_leader(keys), dispatcher, desc, opts)
function bind.set(table)
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
return bind
+7
View File
@@ -18,6 +18,13 @@ settings["default_layout"] = "dwindle"
---@type string
settings["font_family"] = "FiraCode Nerd Font"
---@type table<string, string>
settings["apps"] = {
terminal = "kitty",
file_manager = "thunar",
browser = "chromium",
}
---@type "catppuccin"|"catppuccin-mocha"
settings["colorscheme"] = "catppuccin"
+2 -3
View File
@@ -2,6 +2,7 @@ local settings = require("lua.lib.settings")
require("lua.lib.globals")
local utils = require("lua.lib.utils")
local events = require("lua.lib.events")
local bind = require("lua.lib.bind")
local M = {}
local modules = {}
@@ -53,9 +54,7 @@ function M.load()
events.map("hyprland.start", M.autostart)
events.map("hyprland.shutdown", M.autostop)
for _, bind in pairs(M.binds) do
bind()
end
bind.map(M.binds)
end
return M
+5 -3
View File
@@ -10,9 +10,11 @@ M.autostart = {
}
M.binds = {
function()
bind.leader_key("SHIFT + Return", hl.dsp.exec_cmd("pypr toggle term"), "Pyprland: toggle drop terminal", {})
end,
{
keys = bind.with_leader("SHIFT + Return"),
dispatcher = hl.dsp.exec_cmd("pypr toggle term"),
desc = "Pyprland: toggle drop terminal",
},
}
return M
+61 -41
View File
@@ -41,48 +41,68 @@ local function swayosd_client_cmd(args)
end
M.binds = {
function()
bind.key(
"XF86MonBrightnessUp",
swayosd_client_cmd("--brightness raise"),
"Increase brightness ",
{ long_press = true, locked = true }
)
bind.key(
"XF86MonBrightnessDown",
swayosd_client_cmd("--brightness lower"),
"Decrease brightness ",
{ long_press = true, locked = true }
)
bind.key(
"XF86AudioRaiseVolume",
swayosd_client_cmd("--output-volume raise"),
"Increase brightness ",
{ long_press = true, locked = true }
)
bind.key(
"XF86AudioLowerVolume",
swayosd_client_cmd("--output-volume lower"),
"Decrease brightness ",
{ long_press = true, locked = true }
)
bind.key(
"XF86AudioMute",
swayosd_client_cmd("--output-volume mute-toggle"),
"Toggle output mute",
{ long_press = true, locked = true }
)
bind.key(
"XF86AudioMicMute",
swayosd_client_cmd("--input-volume mute-toggle"),
"Toggle input mute",
{ 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 })
bind.key("XF86AudioPrev", swayosd_client_cmd("--playerctl prev"), "Player previous", { locked = true })
{
keys = "XF86MonBrightnessUp",
dispatcher = function()
swayosd_client_cmd("--brightness raise")
end,
dosc = "Increase brightness ",
opts = { long_press = true, locked = true },
},
{
keys = "XF86MonBrightnessDown",
dispatcher = swayosd_client_cmd("--brightness lower"),
desc = "Decrease brightness ",
opts = { long_press = true, locked = true },
},
{
keys = "XF86AudioRaiseVolume",
dispatcher = swayosd_client_cmd("--output-volume raise"),
desc = "Increase brightness ",
opts = { long_press = true, locked = true },
},
{
keys = "XF86AudioLowerVolume",
dispatcher = swayosd_client_cmd("--output-volume lower"),
desc = "Decrease brightness ",
opts = { long_press = true, locked = true },
},
{
keys = "XF86AudioMute",
dispatcher = swayosd_client_cmd("--output-volume mute-toggle"),
desc = "Toggle output mute",
opts = { long_press = true, locked = true },
},
{
keys = "XF86AudioMicMute",
dispatcher = swayosd_client_cmd("--input-volume mute-toggle"),
desc = "Toggle input mute",
opts = { long_press = true, locked = true },
},
{
keys = "XF86AudioPlay",
dispatcher = swayosd_client_cmd("--playerctl play-pause"),
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
+10 -4
View File
@@ -10,10 +10,16 @@ M.autostart = {
}
M.binds = {
function()
bind.leader_key("SHIFT + B", hl.dsp.exec_cmd("~/dotfiles/waybar/launch.sh"), "(re)launch waybar", {})
bind.leader_key("CTRL + B", hl.dsp.exec_cmd("~/dotfiles/waybar/toggle.sh"), "toggle waybar", {})
end,
{
keys = bind.with_leader("SHIFT + B"),
dispatcher = hl.dsp.exec_cmd("~/dotfiles/waybar/launch.sh"),
desc = "(re)launch waybar",
},
{
keys = bind.with_leader("CTRL + B"),
dispatcher = hl.dsp.exec_cmd("~/dotfiles/waybar/toggle.sh"),
desc = "toggle waybar",
},
}
return M