Compare commits

..

2 Commits

Author SHA1 Message Date
3ebab9e327 overlay window rules and binds 2026-07-16 18:26:13 -07:00
a2ac88ce59 mcsr bullshit and overlay window rule 2026-07-16 18:26:01 -07:00
3 changed files with 58 additions and 14 deletions

View File

@@ -27,7 +27,8 @@ bind("SUPER + B", hl.dsp.layout("togglesplit"))
bind("SUPER + SPACE", hl.dsp.global("quickshell:peek_bar")) bind("SUPER + SPACE", hl.dsp.global("quickshell:peek_bar"))
bind("SUPER + SPACE", hl.dsp.global("quickshell:peek_bar"), {release = true}) bind("SUPER + SPACE", hl.dsp.global("quickshell:peek_bar"), {release = true})
bind("SUPER + SUPER_L", hl.dsp.exec_cmd("quickshell ipc call topbar toggle")) bind("SUPER + SUPER_L", hl.dsp.exec_cmd("quickshell ipc call topbar toggle"), {device = {inclusive = false, list = {"zikway-hid-gamepad-keyboard"}}})
bind("SUPER + SUPER_R", hl.dsp.workspace.toggle_special(), {device = {inclusive = true, list = {"zikway-hid-gamepad-keyboard"}}})
-- Move/resize windows -- Move/resize windows
bind("SUPER + H", hl.dsp.window.move({direction = "l"})) bind("SUPER + H", hl.dsp.window.move({direction = "l"}))
@@ -53,6 +54,17 @@ local function select_window(n)
workspace = hl.get_active_workspace() workspace = hl.get_active_workspace()
end end
local windows = hl.get_windows({workspace = workspace}) local windows = hl.get_windows({workspace = workspace})
-- fuckass language doesn't have normal for loops
local i = 1
while i <= #windows do
if windows[i].pinned then
table.remove(windows, i)
else
i=i+1
end
end
table.sort( table.sort(
windows, windows,
function (a, b) function (a, b)
@@ -193,11 +205,9 @@ bind("SHIFT + XF86Display", hl.dsp.exec_cmd("~/.config/scripts/vnc-toggle.sh"))
bind("XF86Display", hl.dsp.exec_cmd("pkill -x quickshell; quickshell")) bind("XF86Display", hl.dsp.exec_cmd("pkill -x quickshell; quickshell"))
bind("SUPER + D", hl.dsp.exec_cmd("wayscriber --active")) bind("SUPER + D", hl.dsp.exec_cmd("wayscriber --active"))
bind("SUPER + SHIFT + D", hl.dsp.exec_cmd("wl-paste | satty -f -")) bind("SUPER + SHIFT + D", hl.dsp.exec_cmd("wl-paste | satty -f -"))
bind("SUPER + R", hl.dsp.exec_cmd("quickshell ipc call overlay open"))
-- Open favourites -- Open favourites
bind("SUPER + G", hl.dsp.exec_cmd("zen-browser"))
bind("SUPER + C", hl.dsp.exec_cmd("vesktop"))
bind("SUPER + R", hl.dsp.exec_cmd("keepassxc"))
bind("SUPER + L", hl.dsp.exec_cmd("kitty")) bind("SUPER + L", hl.dsp.exec_cmd("kitty"))
-- Pass keybinds to ninjabrainbot -- Pass keybinds to ninjabrainbot
@@ -211,3 +221,7 @@ bind("KP_PRIOR", hl.dsp.send_shortcut({mods = "CTRL + SHIFT", key = "D", window
-- Remappings for prev and next -- Remappings for prev and next
bind("ALT + SLASH", hl.dsp.send_shortcut({mods = "ALT", key = "LEFT"})) bind("ALT + SLASH", hl.dsp.send_shortcut({mods = "ALT", key = "LEFT"}))
bind("ALT + EQUAL", hl.dsp.send_shortcut({mods = "ALT", key = "RIGHT"})) bind("ALT + EQUAL", hl.dsp.send_shortcut({mods = "ALT", key = "RIGHT"}))
-- Autoclicker
-- bind("a", hl.dsp.send_shortcut({mods = "", key = "mouse:272"}), {repeating = true})
-- hl.config({input = {repeat_rate = 1000}})

View File

@@ -5,15 +5,15 @@ end
-- #MCSR -- #MCSR
hl.define_submap("mcsr", function() hl.define_submap("mcsr", function()
-- Tall macro -- Eyezoom
hl.bind("KP_END", hl.dsp.window.fullscreen_state({internal = 0, client = 0})) hl.bind("KP_END", hl.dsp.window.fullscreen_state({internal = 0, client = 0}), {ignore_mods = true})
hl.bind("KP_END", hl.dsp.window.float({action = "on"})) hl.bind("KP_END", hl.dsp.window.float({action = "on"}), {ignore_mods = true})
hl.bind("KP_END", hl.dsp.window.resize({x = 1920, y = 16384})) hl.bind("KP_END", hl.dsp.window.resize({x = 1920, y = 16384}), {ignore_mods = true})
hl.bind("KP_END", hl.dsp.window.move({x = 600, y = -7472})) hl.bind("KP_END", hl.dsp.window.move({x = 600, y = -7472}), {ignore_mods = true})
hl.bind("KP_END", hl.dsp.exec_cmd("quickshell ipc call boateye open")) hl.bind("KP_END", hl.dsp.exec_cmd("quickshell ipc call boateye open"), {ignore_mods = true})
hl.bind("KP_END", hl.dsp.exec_cmd("quickshell ipc call thin close")) hl.bind("KP_END", hl.dsp.exec_cmd("quickshell ipc call thin close"), {ignore_mods = true})
-- Thin macro -- Thin
hl.bind("KP_DOWN", hl.dsp.window.fullscreen_state({internal = 0, client = 0})) hl.bind("KP_DOWN", hl.dsp.window.fullscreen_state({internal = 0, client = 0}))
hl.bind("KP_DOWN", hl.dsp.window.float({action = "on"})) hl.bind("KP_DOWN", hl.dsp.window.float({action = "on"}))
hl.bind("KP_DOWN", hl.dsp.window.resize({x = 400, y = 1420})) hl.bind("KP_DOWN", hl.dsp.window.resize({x = 400, y = 1420}))
@@ -21,7 +21,7 @@ hl.define_submap("mcsr", function()
hl.bind("KP_DOWN", hl.dsp.exec_cmd("quickshell ipc call thin open")) hl.bind("KP_DOWN", hl.dsp.exec_cmd("quickshell ipc call thin open"))
hl.bind("KP_DOWN", hl.dsp.exec_cmd("quickshell ipc call boateye close")) hl.bind("KP_DOWN", hl.dsp.exec_cmd("quickshell ipc call boateye close"))
-- Wide macro -- Wide
hl.bind("KP_NEXT", hl.dsp.window.fullscreen_state({internal = 0, client = 0})) hl.bind("KP_NEXT", hl.dsp.window.fullscreen_state({internal = 0, client = 0}))
hl.bind("KP_NEXT", hl.dsp.window.float({action = "on"})) hl.bind("KP_NEXT", hl.dsp.window.float({action = "on"}))
hl.bind("KP_NEXT", hl.dsp.window.resize({x = 2540, y = 400})) hl.bind("KP_NEXT", hl.dsp.window.resize({x = 2540, y = 400}))
@@ -32,9 +32,13 @@ hl.define_submap("mcsr", function()
remap("1", "apostrophe") remap("1", "apostrophe")
remap("apostrophe", "1") remap("apostrophe", "1")
remap("k", "0") remap("k", "0")
remap("0", "k")
remap("semicolon", "w") remap("semicolon", "w")
end) end)
-- See https://github.com/hyprwm/Hyprland/discussions/15058
remap("mouse:275", "f3")
-- Close boateye -- Close boateye
-- FIXME: use hl.on() to couple this to the actions of fullscreening/floating -- FIXME: use hl.on() to couple this to the actions of fullscreening/floating
-- instead of the keybinds -- instead of the keybinds
@@ -47,4 +51,10 @@ bind("KP_BEGIN", hl.dsp.pass({window = "class:ninjabrainbot-Main"}))
bind("KP_BEGIN", hl.dsp.pass({window = "class:ninjabrainbot-Main"}), {release = true}) bind("KP_BEGIN", hl.dsp.pass({window = "class:ninjabrainbot-Main"}), {release = true})
bind("KP_RIGHT", hl.dsp.pass({window = "class:ninjabrainbot-Main"})) bind("KP_RIGHT", hl.dsp.pass({window = "class:ninjabrainbot-Main"}))
bind("KP_RIGHT", hl.dsp.pass({window = "class:ninjabrainbot-Main"}), {release = true}) bind("KP_RIGHT", hl.dsp.pass({window = "class:ninjabrainbot-Main"}), {release = true})
bind("SHIFT + KP_BEGIN", hl.dsp.pass({window = "class:ninjabrainbot-Main"}))
bind("SHIFT + KP_BEGIN", hl.dsp.pass({window = "class:ninjabrainbot-Main"}), {release = true})
-- bind("A", hl.dsp.global("chlorostroke:apressed"), {non_consuming = true, ignore_mods = true})
-- bind("A", hl.dsp.global("chlorostroke:apressed"), {non_consuming = true, ignore_mods = true, release = true})
-- bind("S", hl.dsp.global("chlorostroke:spressed"), {non_consuming = true, ignore_mods = true})
-- bind("S", hl.dsp.global("chlorostroke:spressed"), {non_consuming = true, ignore_mods = true, release = true})

View File

@@ -44,7 +44,7 @@ hl.window_rule({
class = "ninjabrainbot-Main" class = "ninjabrainbot-Main"
}, },
float = true, float = true,
move = {10, "monitor_h*0.5 - window_h*0.5"} move = {6, "monitor_h*0.5 - window_h*0.5"}
}) })
hl.window_rule({ hl.window_rule({
match = { match = {
@@ -53,11 +53,31 @@ hl.window_rule({
float = true, float = true,
size = { "monitor_w*0.95", "monitor_h*0.95"} size = { "monitor_w*0.95", "monitor_h*0.95"}
}) })
hl.window_rule({
match = {
title = "monoverlay(-t)?"
},
float = true,
pin = true,
no_blur = true,
})
hl.window_rule({
match = {
title = "monoverlay-t"
},
decorate = false,
})
hl.layer_rule({ hl.layer_rule({
match = { namespace = "quickshell" }, match = { namespace = "quickshell" },
no_anim = true no_anim = true
}) })
hl.on("window.open", function (window, active)
if hl.get_active_monitor().active_special_workspace ~= nil then
hl.dispatch(hl.dsp.window.move({workspace = hl.get_active_monitor().active_workspace, window = window}))
end
end)
hl.on("window.active", function(window, active) hl.on("window.active", function(window, active)
if window == nil or window.class == nil then if window == nil or window.class == nil then
hl.dispatch(hl.dsp.submap("reset")) hl.dispatch(hl.dsp.submap("reset"))