Compare commits

..

3 Commits

Author SHA1 Message Date
venus
95db385700 updated several things, added keybinds, working on workspace rules for
large monitors
2026-06-24 18:40:53 -05:00
venus
bff9e48dfe added some keybinds for screen tools and updated calculator plugin 2026-06-08 23:56:53 -05:00
venus
68224c1308 patched magic workspace bug 2026-06-01 22:29:35 -05:00
7 changed files with 112 additions and 29 deletions

View File

@@ -5,6 +5,7 @@
local mainMod = "SUPER" -- Sets "Windows" key as main modifier local mainMod = "SUPER" -- Sets "Windows" key as main modifier
local ipc = "qs -c noctalia-shell ipc call " local ipc = "qs -c noctalia-shell ipc call "
local custom = require("custom-functions")
-- 1. Basic Binds -- 1. Basic Binds
hl.bind(mainMod .. " + Q ", hl.dsp.exec_cmd(terminal)) hl.bind(mainMod .. " + Q ", hl.dsp.exec_cmd(terminal))
@@ -77,10 +78,10 @@ hl.bind(mainMod .. " + SHIFT + 9 ", hl.dsp.window.move({workspace = 9 }))
hl.bind(mainMod .. " + SHIFT + 0 ", hl.dsp.window.move({workspace = 10})) hl.bind(mainMod .. " + SHIFT + 0 ", hl.dsp.window.move({workspace = 10}))
---- 6. special workspace (scratchpad) ---- 6. special workspace (scratchpad)
hl.bind(mainMod .. " + S ", hl.dsp.workspace.toggle_special("magic ")) hl.bind(mainMod .. " + S ", hl.dsp.workspace.toggle_special("magic" ))
hl.bind(mainMod .. " + B ", hl.dsp.workspace.toggle_special("magic2 ")) hl.bind(mainMod .. " + B ", hl.dsp.workspace.toggle_special("magic2" ))
hl.bind(mainMod .. " + X ", hl.dsp.workspace.toggle_special("phantom ")) hl.bind(mainMod .. " + X ", hl.dsp.workspace.toggle_special("phantom" ))
hl.bind(mainMod .. " + X ", hl.dsp.workspace.toggle_special("phantom ")) hl.bind(mainMod .. " + X ", hl.dsp.workspace.toggle_special("phantom" ))
hl.bind(mainMod .. " + SHIFT + S ", hl.dsp.window.move({ workspace = "special:magic" })) hl.bind(mainMod .. " + SHIFT + S ", hl.dsp.window.move({ workspace = "special:magic" }))
hl.bind(mainMod .. " + SHIFT + B ", hl.dsp.window.move({ workspace = "special:book" })) hl.bind(mainMod .. " + SHIFT + B ", hl.dsp.window.move({ workspace = "special:book" }))
@@ -126,10 +127,11 @@ hl.bind(mainMod .. " + SPACE " ,hl.dsp.exec_cmd("playerctl play-pause"))
---- 10. Application launching ---- 10. Application launching
hl.bind(mainMod .. " + SUPER_L", hl.dsp.exec_cmd(launcher .. " toggle"), { release = true }) hl.bind(mainMod .. " + SUPER_L" ,hl.dsp.exec_cmd(launcher .. " toggle"), { release = true })
hl.bind(mainMod .. " + F " ,hl.dsp.exec_cmd(browser)) hl.bind(mainMod .. " + F " ,hl.dsp.exec_cmd(browser))
hl.bind("ALT + C" ,hl.dsp.exec_cmd(ipc .. "plugin:clipper openPanel")) hl.bind("ALT + C" ,hl.dsp.exec_cmd(ipc .. "plugin:clipper openPanel"))
hl.bind("code:148" ,hl.dsp.exec_cmd("kitty --class calc-term -o 'confirm_os_window_close 0' /home/venus/.cargo/bin/mathypad ")) -- hl.bind("code:148" ,hl.dsp.exec_cmd("kitty --class calc-term -o 'confirm_os_window_close 0' /home/venus/.cargo/bin/mathypad "))
hl.bind("code:148" ,hl.dsp.exec_cmd(ipc .. "plugin:noctalia-calulator toggle"))
hl.bind(" ALT + Q " , hl.dsp.exec_cmd(terminal, {float = true, border_size = 2, size = {"(monitor_w * 0.8)", "(monitor_h * 0.7)"}})) hl.bind(" ALT + Q " , hl.dsp.exec_cmd(terminal, {float = true, border_size = 2, size = {"(monitor_w * 0.8)", "(monitor_h * 0.7)"}}))
hl.bind(mainMod .. " + W ", hl.dsp.exec_cmd(terminal, {float = true, border_size = 2, size = {"(monitor_w * 0.8)", "(monitor_h * 0.7)"}})) hl.bind(mainMod .. " + W ", hl.dsp.exec_cmd(terminal, {float = true, border_size = 2, size = {"(monitor_w * 0.8)", "(monitor_h * 0.7)"}}))
@@ -147,7 +149,9 @@ hl.bind(mainMod .. " + SHIFT + I" ,hl.dsp.exec_cmd("scrcpy --no-audio --keyboar
---- 10.1 Shortcuts ---- 10.1 Shortcuts
hl.bind(mainMod .. " + CTRL + L ", hl.dsp.exec_cmd(ipc .. "lockScreen lock")) hl.bind(mainMod .. " + CTRL + L " , hl.dsp.exec_cmd(ipc .. "lockScreen lock"))
-- Move window to monitor darkspot
hl.bind(mainMod .. " + ALT + H" , custom.MoveToDarkSpot)
-- TODO Implement these -- TODO Implement these
@@ -160,8 +164,11 @@ hl.bind(mainMod .. " + CTRL + L ", hl.dsp.exec_cmd(ipc .. "lockScreen lock"))
hl.bind(mainMod .. " + comma" , hl.dsp.exec_cmd(ipc .. "controlCenter toggle")) hl.bind(mainMod .. " + comma" , hl.dsp.exec_cmd(ipc .. "controlCenter toggle"))
hl.bind(mainMod .. " + period" , hl.dsp.exec_cmd(ipc .. "settings toggle")) hl.bind(mainMod .. " + period" , hl.dsp.exec_cmd(ipc .. "settings toggle"))
hl.bind("PRINT" , hl.dsp.exec_cmd("hyprshot -m active -m window --output-folder ~/Images/Screenshots")) hl.bind("PRINT" , hl.dsp.exec_cmd("hyprshot -m active -m window --output-folder ~/Images/Screenshots"))
hl.bind("SHIFT + PRINT" , hl.dsp.exec_cmd("hyprshot -m region --output-folder ~/Images/Screenshots")) hl.bind("SHIFT + PRINT" ,hl.dsp.exec_cmd(ipc .. " plugin:screen-toolkit annotate"))
hl.bind("ALT + PRINT" , hl.dsp.exec_cmd("hyprshot -m active -m output --output-folder ~/Images/Screenshots")) hl.bind("ALT + PRINT" ,hl.dsp.exec_cmd(ipc .. " plugin:screen-toolkit annotateWindow"))
hl.bind("CTRL + PRINT" ,hl.dsp.exec_cmd(ipc .. " plugin:screen-toolkit annotateFullscreen"))
-- hl.bind("SHIFT + PRINT" , hl.dsp.exec_cmd("hyprshot -m region --output-folder ~/Images/Screenshots"))
-- hl.bind("ALT + PRINT" , hl.dsp.exec_cmd("hyprshot -m active -m output --output-folder ~/Images/Screenshots"))
hl.bind(mainMod .. " + M ", function() hl.bind(mainMod .. " + M ", function()
hl.dispatch(hl.dsp.exec_cmd(ipc .. "controlCenter toggle ")) hl.dispatch(hl.dsp.exec_cmd(ipc .. "controlCenter toggle "))
@@ -170,9 +177,28 @@ end)
-- --
hl.bind(mainMod .. " + O ", hl.dsp.submap("open-apps")) hl.bind(mainMod .. " + O ", hl.dsp.submap("open-apps"))
---- 13. Mouse binds
---- 14. submaps! ---- 14. submaps!
hl.bind(mainMod .. "+ PRINT" ,function()
hl.exec_cmd(ipc .. "plugin:screen-toolkit toggle")
hl.dispatch(hl.dsp.submap("screen-toolkit"))
end)
hl.define_submap("screen-toolkit", "reset", function()
hl.bind("S" ,hl.dsp.exec_cmd(ipc .. " plugin:screen-toolkit toggle"))
hl.bind("C" ,hl.dsp.exec_cmd(ipc .. " plugin:screen-toolkit color"))
hl.bind("P" ,hl.dsp.exec_cmd(ipc .. " plugin:screen-toolkit pallete"))
hl.bind("O" ,hl.dsp.exec_cmd(ipc .. " plugin:screen-toolkit ocr"))
hl.bind("L" ,hl.dsp.exec_cmd(ipc .. " plugin:screen-toolkit lens"))
hl.bind("A" ,hl.dsp.exec_cmd(ipc .. " plugin:screen-toolkit annotate"))
hl.bind("SHIFT + A" ,hl.dsp.exec_cmd(ipc .. " plugin:screen-toolkit annotateWindow"))
hl.bind("R" ,hl.dsp.exec_cmd(ipc .. " plugin:screen-toolkit recordMp4"))
hl.bind("SHIFT + R" ,hl.dsp.exec_cmd(ipc .. " plugin:screen-toolkit recordFullscreenMp4"))
hl.bind("catchall" ,function ()
hl.dispatch(hl.dsp.submap("reset"))
hl.dispatch(hl.dsp.exec_cmd(ipc .. "plugin:screen-toolkit toggle "))
end)
end)
-- TODO write a timer submap that starts a timer of custom length when a key is pressed -- TODO write a timer submap that starts a timer of custom length when a key is pressed
hl.bind(mainMod .. " + T" ,function() hl.bind(mainMod .. " + T" ,function()
hl.dispatch(hl.dsp.submap("timer")) hl.dispatch(hl.dsp.submap("timer"))
@@ -196,7 +222,8 @@ hl.define_submap("quick-settings", function ()
hl.bind("S" ,hl.dsp.exec_cmd(ipc .. "settings toggle")) hl.bind("S" ,hl.dsp.exec_cmd(ipc .. "settings toggle"))
hl.bind("C" ,hl.dsp.exec_cmd(ipc .. "plugin:clipper togglePanel ")) hl.bind("C" ,hl.dsp.exec_cmd(ipc .. "plugin:clipper togglePanel "))
hl.bind("P" ,hl.dsp.exec_cmd(ipc .. "sessionMenu toggle")) hl.bind("P" ,hl.dsp.exec_cmd(ipc .. "sessionMenu toggle"))
hl.bind("T" ,hl.dsp.exec_cmd(ipc .. "systemMonitor toggle")) hl.bind("R" ,hl.dsp.exec_cmd(ipc .. "systemMonitor toggle"))
hl.bind("T" ,hl.dsp.exec_cmd(ipc .. "plugin:timer toggle"))
hl.bind("M" ,hl.dsp.exec_cmd(ipc .. "controlCenter toggle")) hl.bind("M" ,hl.dsp.exec_cmd(ipc .. "controlCenter toggle"))
hl.bind("D" ,hl.dsp.exec_cmd(ipc .. "notifications toggleDND")) hl.bind("D" ,hl.dsp.exec_cmd(ipc .. "notifications toggleDND"))
hl.bind("A" ,hl.dsp.exec_cmd(ipc .. "notifications dismissAll")) hl.bind("A" ,hl.dsp.exec_cmd(ipc .. "notifications dismissAll"))
@@ -257,9 +284,11 @@ hl.define_submap("bt-sub", function()
hl.bind("D" ,hl.dsp.exec_cmd(ipc .. "bluetooth disable")) hl.bind("D" ,hl.dsp.exec_cmd(ipc .. "bluetooth disable"))
hl.bind("E" ,hl.dsp.exec_cmd(ipc .. "bluetooth enable")) hl.bind("E" ,hl.dsp.exec_cmd(ipc .. "bluetooth enable"))
hl.bind("H" ,hl.dsp.exec_cmd('bluetoothctl connect 88:92:CC:53:88:7E && notify-send "connected to headphones"')) hl.bind("H" ,hl.dsp.exec_cmd('bluetoothctl connect 88:92:CC:53:88:7E && notify-send "connected to headphones"'))
hl.bind("B" ,hl.dsp.exec_cmd('bluetoothctl connect FC:91:5D:6A:2A:C5 && notify-send "connected to earbuds"'))
hl.bind("P" ,hl.dsp.exec_cmd('bluetoothctl connect 64:9D:38:E0:4D:02 && notify-send "Connected to phone"'))
hl.bind("SHIFT + B" ,hl.dsp.exec_cmd('bluetoothctl disconnect FC:91:5D:6A:2A:C5 && notify-send "disconnected from earbuds"'))
hl.bind("J" ,hl.dsp.exec_cmd('bluetoothctl disconnect 88:92:CC:53:88:7E && notify-send "disconnected from headphones"')) hl.bind("J" ,hl.dsp.exec_cmd('bluetoothctl disconnect 88:92:CC:53:88:7E && notify-send "disconnected from headphones"'))
hl.bind("SHIFT + H" ,hl.dsp.exec_cmd('bluetoothctl disconnect 88:92:CC:53:88:7E && notify-send "disconnected from headphones"')) hl.bind("SHIFT + H" ,hl.dsp.exec_cmd('bluetoothctl disconnect 88:92:CC:53:88:7E && notify-send "disconnected from headphones"'))
hl.bind("P" ,hl.dsp.exec_cmd('bluetoothctl connect 64:9D:38:E0:4D:02 && notify-send "Connected to phone"'))
hl.bind("M" ,hl.dsp.exec_cmd('bluetoothctl disconnect 64:9D:38:E0:4D:02 && notify-send "Disconnected from phone"')) hl.bind("M" ,hl.dsp.exec_cmd('bluetoothctl disconnect 64:9D:38:E0:4D:02 && notify-send "Disconnected from phone"'))
hl.bind("escape" ,function () hl.bind("escape" ,function ()
hl.dispatch(hl.dsp.exec_cmd(ipc .. "bluetooth togglePanel")) hl.dispatch(hl.dsp.exec_cmd(ipc .. "bluetooth togglePanel"))

View File

@@ -24,7 +24,7 @@ hl.config ({
-- Please see https://wiki.hypr.land/Configuring/Tearing/ before you turn this on, -- Please see https://wiki.hypr.land/Configuring/Tearing/ before you turn this on,
allow_tearing = false, allow_tearing = false,
layout = "dwindle", layout = "master",
}, },
-- https://wiki.hypr.land/Configuring/Variables/--decoration -- https://wiki.hypr.land/Configuring/Variables/--decoration

View File

@@ -33,6 +33,10 @@ hl.config = {
}, },
} }
hl.env("XCURSOR_SIZE", "24")
hl.env("HYPRCURSOR_SIZE", "24")
hl.env("ELECTRON_OZONE_PLATFORM_HINT", "auto")
hl.env("QT_QPA_PLATFORMTHEME", "qt6ct")
------------------- -------------------
--- PERMISSIONS --- --- PERMISSIONS ---
------------------- -------------------

View File

@@ -51,6 +51,10 @@ hl.window_rule( {
}, },
no_focus = true, no_focus = true,
}) })
hl.workspace_rule({
workspace = "s[true]",
gaps_out = 10
})
-- Hyprland-run hl.window_rule( -- Hyprland-run hl.window_rule(

View File

@@ -3,4 +3,20 @@ local C = {}
function C.startTimer() function C.startTimer()
-- TODO implement custom timer logic here -- TODO implement custom timer logic here
end end
function C.MoveToDarkSpot()
local targetMonitor = "DP-9"
hl.dispatch(hl.dsp.window.move({monitor = targetMonitor, x = 0, y = 0}))
hl.exec_cmd("notify-send 'moved to " .. targetMonitor .. "'")
end
local function phoneSocket()
-- Determine phone socket connection
-- Determine wired or wireless state
-- If wired connect over cable and set phone socket
-- If wireless connect over socker
-- If not on network notify
end
function C.RemoteToPhone()
end
return C return C

View File

@@ -5,7 +5,7 @@
_G.terminal = "kitty" _G.terminal = "kitty"
_G.fileManager = "dolphin" _G.fileManager = "dolphin"
_G.menu = "qs -c noctalia-shell ipc call launcher toggle" _G.menu = "qs -c noctalia-shell ipc call launcher toggle"
_G.launcher = "vicinae " _G.launcher = "hyprlauncher"
_G.browser = "firefox" _G.browser = "firefox"
_G.menuBar = "qs -c noctalia-shell" _G.menuBar = "qs -c noctalia-shell"
_G.shellWrapper = "qs -c noctalia-shell" _G.shellWrapper = "qs -c noctalia-shell"
@@ -14,37 +14,38 @@ _G.email = "thunderbird"
_G.notes = "obsidian" _G.notes = "obsidian"
hl.on("hyprland.start", function() hl.on("hyprland.start", function()
-- Force D-Bus and Systemd to catch the Wayland display variables instantly
hl.exec_cmd("dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP")
hl.exec_cmd("systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP")
hl.exec_cmd("systemctl --user start hyprpolkitagent")
hl.exec_cmd(menuBar) hl.exec_cmd(menuBar)
hl.exec_cmd("systemctl") --user start hyprpolkitagent) -- hyprshell in systemd
hl.exec_cmd(blkmanager) hl.exec_cmd(blkmanager)
hl.exec_cmd(launcher .. "server") --no-window) TODO set up sddm to unlock keychain hl.exec_cmd("vicinae server") --no-window) TODO set up sddm to unlock keychain
hl.exec_cmd("hyprpm reload -n") hl.exec_cmd("hyprpm reload -n")
hl.exec_cmd("kdeconnectd") hl.exec_cmd("kdeconnectd")
-- hl.exec_cmd("hyprshell run &")
hl.exec_cmd("vesktop -m", {workspace ="special:vesktop silent"}) hl.exec_cmd("vesktop -m", {workspace ="special:vesktop silent"})
hl.exec_cmd(email, {workspace ="special:vesktop silent"}) hl.exec_cmd(email, {workspace ="special:email silent"})
hl.exec_cmd(notes, {workspace ="special:vesktop silent"}) hl.exec_cmd(notes, {workspace ="special:notes silent"})
hl.exec_cmd("steam --forcedesktopscaling 0.5", {workspace ="special:vesktop silent"}) hl.exec_cmd("steam --forcedesktopscaling 0.5 -silent -no-browser", {workspace ="special:gaming silent"})
hl.exec_cmd("protonmail-bridge") --no-window) TODO set up sddm to unlock keychain hl.exec_cmd("protonmail-bridge --no-window") -- TODO set up sddm to unlock keychain
end) end)
hl.config({ hl.config({
general = { master = {
layout = "dwindle" orientation = "center",
} new_status = "master",
mfact = 0.50
},
}) })
hl.env("XCURSOR_SIZE", "24") hl.env("XCURSOR_SIZE", "24")
hl.env("HYPRCURSOR_SIZE", "24") hl.env("HYPRCURSOR_SIZE", "24")
hl.env("ELECTRON_OZONE_PLATFORM_HINT", "auto") hl.env("ELECTRON_OZONE_PLATFORM_HINT", "auto")
local base = "/home/venus/.config/hypr"
local basic = base .. "/basic"
require("basic/looks") require("basic/looks")
require("basic/keybinds") require("basic/keybinds")
require("basic/vars") require("basic/vars")
require("basic/windows") require("basic/windows")
-- require("plugins") -- require("plugins")
--require("monitors") require("monitors")

29
monitors.lua Normal file
View File

@@ -0,0 +1,29 @@
-- -- Define the workspace rules table
-- local workspace_rules = {}
-- -- Forcing workspaces 1 through 5 to use the master layout on the ultrawide
-- for w = 1, 5 do
-- table.insert(workspace_rules, string.format("%d, monitor:DP-1, layout:master", w))
-- end
-- -- Keeping the global default layout for these workspaces on the secondary screen
-- for w = 6, 10 do
-- table.insert(workspace_rules, string.format("%d, monitor:HDMI-A-1", w))
-- end
-- -- Inject them into your config wrapper
-- hl.config({
-- workspace = workspace_rules
-- })
-- Initialize the workspace array inside the config table if it doesn't exist
hl.config.workspace = hl.config.workspace or {}
-- Forcing workspaces 1 through 5 to use the master layout on the ultrawide
for w = 1, 5 do
table.insert(hl.config.workspace, string.format("%d, monitor:DP-1, layout:master", w))
end
-- Keeping the global default layout for these workspaces on the secondary screen
for w = 6, 10 do
table.insert(hl.config.workspace, string.format("%d, monitor:HDMI-A-1", w))
end