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.misc").load()
|
||||
|
||||
require("lua.binds").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
|
||||
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
|
||||
|
||||
@@ -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,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
|
||||
|
||||
@@ -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
|
||||
|
||||
+62
-42
@@ -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 })
|
||||
end,
|
||||
{
|
||||
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
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user