Compare commits

...

2 Commits

9 changed files with 132 additions and 70 deletions

View File

@@ -1,5 +1,10 @@
{ {
"diagnostics": { "diagnostics": {
"globals": ["hl", "ipc", "mainMod"] "globals": ["hl", "ipc", "mainMod"]
},
"workspace": {
"library": [
"/usr/share/hypr/stubs"
]
} }
} }

View File

@@ -8,10 +8,10 @@ local ipc = "qs -c noctalia-shell ipc call "
local custom = require("custom-functions") 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))
hl.bind(mainMod .. " + C ", hl.dsp.window.close()) hl.bind(mainMod .. " + SHIFT + Q " , hl.dsp.exec_cmd(terminal .. " ssh -v sol"))
hl.bind(mainMod .. " + SHIFT + CTRL + M ", hl.dsp.exit()) hl.bind(mainMod .. " + C " , hl.dsp.window.close())
-- hl.bind(mainMod .. " + E ", hl.dsp.exec(fileManager)) hl.bind(mainMod .. " + SHIFT + CTRL + M " , hl.dsp.exit())
-- Workspace movement and tiling rule -- Workspace movement and tiling rule
hl.bind(mainMod .. "+ P" ,hl.dsp.window.float({ action = "toggle" })) hl.bind(mainMod .. "+ P" ,hl.dsp.window.float({ action = "toggle" }))
@@ -40,10 +40,12 @@ hl.bind(mainMod .. " + SHIFT + J" , hl.dsp.window.move( { direction = "down" }
-- 2.2 Workspace and monitor keys -- 2.2 Workspace and monitor keys
hl.bind(mainMod .. " + mouse_up" , hl.dsp.focus ({ workspace = "m-1"})) hl.bind(mainMod .. " + mouse_up" , hl.dsp.focus ({ workspace = "m-1"}))
hl.bind(mainMod .. " + mouse_down" , hl.dsp.focus ({ workspace = "m+1"})) hl.bind(mainMod .. " + mouse_down" , hl.dsp.focus ({ workspace = "m+1"}))
hl.bind(mainMod .. " + SHIFT + mouse_up " , hl.dsp.focus ({ workspace = "e-1"})) hl.bind(mainMod .. " + SHIFT + mouse_up " , hl.dsp.focus ({ workspace = "e+1"}))
hl.bind(mainMod .. " + SHIFT + mouse_down " , hl.dsp.focus ({ workspace = "e+1"})) hl.bind(mainMod .. " + SHIFT + mouse_down " , hl.dsp.focus ({ workspace = "e-1"}))
hl.bind(mainMod .. " + CTRL + right" , hl.dsp.focus ({ workspace = "m+1"})) hl.bind(mainMod .. " + CTRL + right" , hl.dsp.focus ({ workspace = "m+1"}))
hl.bind(mainMod .. " + CTRL + left" , hl.dsp.focus ({ workspace = "m-1"})) hl.bind(mainMod .. " + CTRL + left" , hl.dsp.focus ({ workspace = "m-1"}))
hl.bind(mainMod .. " + CTRL + l" , hl.dsp.focus ({ workspace = "m+1"}))
hl.bind(mainMod .. " + CTRL + h" , hl.dsp.focus ({ workspace = "m-1"}))
hl.bind(mainMod .. " + TAB " , hl.dsp.focus ({ monitor = "-1"})) hl.bind(mainMod .. " + TAB " , hl.dsp.focus ({ monitor = "-1"}))
hl.bind(mainMod .. " + SHIFT + TAB " , hl.dsp.focus ({ monitor = "+1"})) hl.bind(mainMod .. " + SHIFT + TAB " , hl.dsp.focus ({ monitor = "+1"}))
@@ -78,14 +80,16 @@ 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("book" ))
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 + A" , hl.dsp.workspace.toggle_special("gaming" ))
hl.bind(mainMod .. " + A " , hl.dsp.workspace.toggle_special("notes" ))
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" }))
hl.bind(mainMod .. " + SHIFT + G ", hl.dsp.window.move({ workspace = "special:gaming" })) hl.bind(mainMod .. " + SHIFT + G " , hl.dsp.window.move({ workspace = "special:gaming" }))
hl.bind(mainMod .. " + SHIFT + N " , hl.dsp.window.move({ workspace = "special:notes" }))
hl.bind(mainMod .. " + D " ,function () hl.bind(mainMod .. " + D " ,function ()
hl.dispatch(hl.dsp.workspace.toggle_special("vesktop")) hl.dispatch(hl.dsp.workspace.toggle_special("vesktop"))
@@ -127,18 +131,19 @@ 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(mainMod .. " + SHIFT + F " ,hl.dsp.exec_cmd("firefox -P popup --no-remote --name browser-popup"))
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("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 , { tag = "popup" }))
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 , { tag = "popup" }))
hl.bind(mainMod .. " + SHIFT + W " , hl.dsp.exec_cmd(terminal .. " ssh -v sol" , { tag = "popup" }))
hl.bind(mainMod .. " + CTRL + W " , hl.dsp.exec_cmd(terminal .. " ssh root@galaxy", { tag = "popup" }))
-- TODO rework with LUA
-- hl.bind(mainMod .. " + escape" ,hl.dsp.exec_cmd("kitty --class btop -o "confirm_os_window_close 0" /usr/bin/btop"))
-- hl.bind(mainMod .. " + SHIFT + escape" ,hl.dsp.exec_cmd("kitty --class btop -o "confirm_os_window_close 0" /usr/bin/nvtop"))
hl.bind(mainMod .. " + escape" ,hl.dsp.exec_cmd("kitty btop" ,{float = true, border_size = 2, size = {"(monitor_w * 0.9)", "(monitor_h * 0.9)"}})) hl.bind(mainMod .. " + escape" ,hl.dsp.exec_cmd("kitty btop" ,{float = true, border_size = 2, size = {"(monitor_w * 0.9)", "(monitor_h * 0.9)"}}))
hl.bind("CTRL + SHIFT + ESCAPE" ,hl.dsp.exec_cmd("kitty btop" ,{float = true, border_size = 2, size = {"(monitor_w * 0.9)", "(monitor_h * 0.9)"}})) hl.bind("CTRL + SHIFT + ESCAPE" ,hl.dsp.exec_cmd("kitty btop" ,{float = true, border_size = 2, size = {"(monitor_w * 0.9)", "(monitor_h * 0.9)"}}))
hl.bind(mainMod .. " + SHIFT + escape" ,hl.dsp.exec_cmd("kitty nvtop",{float = true, border_size = 2, size = {"(monitor_w * 0.9)", "(monitor_h * 0.9)"}})) hl.bind(mainMod .. " + SHIFT + escape" ,hl.dsp.exec_cmd("kitty nvtop",{float = true, border_size = 2, size = {"(monitor_w * 0.9)", "(monitor_h * 0.9)"}}))
@@ -149,9 +154,11 @@ 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 + SHIFT + L " , hl.dsp.exec_cmd(ipc .. "lockScreen lock"))
-- Move window to monitor darkspot -- Move window to monitor darkspot
hl.bind(mainMod .. " + ALT + H" , custom.MoveToDarkSpot) -- hl.monitor({ output = "DP-2", disabled = false })
hl.bind(mainMod .. "+ grave" ,custom.ToggleOddessyConnection)
hl.bind(mainMod .. "+ Z" ,custom.RunDevelopementCode)
-- TODO Implement these -- TODO Implement these
@@ -165,6 +172,7 @@ 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(ipc .. " plugin:screen-toolkit annotate")) hl.bind("SHIFT + PRINT" ,hl.dsp.exec_cmd(ipc .. " plugin:screen-toolkit annotate"))
hl.bind("ALT + PRINT" ,hl.dsp.exec_cmd(ipc .. " plugin:screen-toolkit annotateWindow")) 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("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("SHIFT + PRINT" , hl.dsp.exec_cmd("hyprshot -m region --output-folder ~/Images/Screenshots"))

View File

@@ -29,6 +29,17 @@ hl.window_rule({
}, },
workspace = "special:gaming" workspace = "special:gaming"
}) })
-- Catch any window launched with the initial class 'browser-popup' and tag it
hl.window_rule({
match = { initial_class = "^browser-popup$" },
tag = "popup"
})
hl.window_rule({
match = { tag = "popup" },
float = true,
border_size = 2,
size = {"(monitor_w * 0.5)", "(monitor_h * 0.7)"},
})
hl.window_rule( { hl.window_rule( {

View File

@@ -17,6 +17,64 @@ local function phoneSocket()
-- If not on network notify -- If not on network notify
end end
function C.RemoteToPhone() function C.RemoteToPhone()
phoneSocket()
end end
local function OddesyConnectionStatus() -- returns connections status of oddesy monitor
local monitors = hl.get_monitors()
for _,m in ipairs(monitors) do
if m.description == "Samsung Electric Company Odyssey G95C HNTL300212" then
return true
end
end
return false
end
function C.ToggleOddessyConnection() -- Enables or disables oddessy monitor
local s = OddesyConnectionStatus()
if s then
hl.exec_cmd('notify-send "Disabled Oddesy"')
hl.monitor({ output = "DP-2", disabled = true })
else
hl.exec_cmd('notify-send "Enabled Oddesy"')
hl.monitor({ output = "DP-2", disabled = false })
hl.monitor({
-- Use 'desc:' followed by your monitor's exact string from hyprctl
output="desc:Samsung Electric Company Odyssey G95C HNTL300212",
mode = "5120x1440@240", -- Explicitly lock the ultrawide canvas & high refresh rate
scale = 1,
vrr = true
})
end
end
-- local function CompilerWindowOpen()
-- local clients = hl.get_windows()
-- for _,w in ipairs(clients) do
-- if w.tags == "compiler" then
-- return w.stable_id
-- end
-- end
-- hl.exec_cmd("kitty", {
-- hl.dsp.window.tag = { action = "add", value = "compiler" },
-- })
-- return false
-- end
function C.RunDevelopementCode()
local o = CompilerWindowOpen()
if o then
hl.exec_cmd('notify-send "open"')
else
hl.exec_cmd('notify-send "none"')
end
-- if no tagged kitty window exists, create one
-- color the border red
-- if a tagged compiler window does exist
-- switch to that window and run the last command
-- expand later with dynamic analysis of commands
end
return C return C

View File

@@ -5,13 +5,14 @@
_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 = "hyprlauncher" _G.launcher = "vicinae"
_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"
_G.blkmanager = "udiskie" _G.blkmanager = "udiskie"
_G.email = "thunderbird" _G.email = "thunderbird"
_G.notes = "obsidian" _G.notes = "obsidian"
_G.functions = require("custom-functions")
hl.on("hyprland.start", function() hl.on("hyprland.start", function()
-- Force D-Bus and Systemd to catch the Wayland display variables instantly -- Force D-Bus and Systemd to catch the Wayland display variables instantly
@@ -47,5 +48,6 @@ require("basic/looks")
require("basic/keybinds") require("basic/keybinds")
require("basic/vars") require("basic/vars")
require("basic/windows") require("basic/windows")
require("basic/devices")
-- require("plugins") -- require("plugins")
require("monitors") require("monitors")

View File

@@ -1,7 +1,7 @@
background = rgba(121316ff) background = rgba(000000ff)
base = rgba(121316ff) base = rgba(000000ff)
text = rgba(e2e2e6ff) text = rgba(e8d8ffff)
alternate_base = rgba(43474eff) alternate_base = rgba(110d1aff)
bright_text = rgba(253140ff) bright_text = rgba(000000ff)
accent = rgba(9fcaffff) accent = rgba(b58fffff)
accent_secondary = rgba(bbc7dbff) accent_secondary = rgba(c79affff)

View File

@@ -1,29 +1,7 @@
-- -- Define the workspace rules table hl.monitor({
-- local workspace_rules = {} -- Use 'desc:' followed by your monitor's exact string from hyprctl
output="desc:Samsung Electric Company Odyssey G95C HNTL300212",
-- -- Forcing workspaces 1 through 5 to use the master layout on the ultrawide mode = "5120x1440@240", -- Explicitly lock the ultrawide canvas & high refresh rate
-- for w = 1, 5 do scale = 1,
-- table.insert(workspace_rules, string.format("%d, monitor:DP-1, layout:master", w)) vrr = true
-- 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

View File

@@ -1,9 +1,9 @@
$primary = rgb(9fcaff) $primary = rgb(b58fff)
$surface = rgb(121316) $surface = rgb(000000)
$secondary = rgb(bbc7db) $secondary = rgb(c79aff)
$error = rgb(ffb4ab) $error = rgb(ff6f9b)
$tertiary = rgb(d7bee4) $tertiary = rgb(d8b4ff)
$surface_lowest = rgb(0d0e11) $surface_lowest = rgb(030205)
general { general {
col.active_border = $primary col.active_border = $primary

View File

@@ -2,11 +2,11 @@
-- Automatically generated by Noctalia user-templates -- Automatically generated by Noctalia user-templates
local colors = { local colors = {
background = "#121316", background = "#000000",
primary = "#9fcaff", primary = "#b58fff",
tertiary = "#d7bee4", tertiary = "#d8b4ff",
secondary = "#bbc7db", secondary = "#c79aff",
error = "#ffb4ab", error = "#ff6f9b",
} }
return colors return colors