42 Commits
Author SHA1 Message Date
janishutz c7780ea9d8 feat: pdf page script now reads dirs recursively 2026-07-27 14:46:17 +02:00
janishutz 08c3d41ff2 feat: improved pdf page count script 2026-07-26 14:47:18 +02:00
janishutz ecaab3e673 fix: special workspace used 2026-07-26 12:30:02 +02:00
janishutz 6d2306e3f7 feat: script to count pdf pages 2026-07-25 16:43:05 +02:00
janishutz 0ec2614799 fix: dev container script container selection 2026-07-25 06:54:30 +02:00
janishutz 62de408edd feat: reworked dev container script, many more features 2026-07-24 13:42:20 +02:00
janishutz 90bc568a06 feat: dev container startup script fixes and docker auto-start 2026-07-24 11:07:26 +02:00
janishutz dc2ed58d20 feat: windowrules for summaries pdfs 2026-07-22 10:25:33 +02:00
janishutz c404e5107e feat: dms settings updated 2026-07-21 11:45:24 +02:00
janishutz 0f848aa16c feat: improved dev env launcher script 2026-07-18 08:52:54 +02:00
janishutz 7e4c52d4d1 fix: improved workspace rules 2026-07-17 13:28:29 +02:00
janishutz 12622ce815 fix: workspace rule for workspace 10 2026-07-17 13:26:03 +02:00
janishutz 2ecc89b6b3 fix: windowrule for pdf readers 2026-07-17 09:34:43 +02:00
janishutz 682750bf63 feat: better binds 2026-07-17 09:04:29 +02:00
janishutz cad9b833ae feat: improved predictability 2026-07-17 08:48:46 +02:00
janishutz b99e6fe109 fix: bind for wallpaper picker 2026-07-13 13:23:21 +02:00
janishutz e7e7e7692e feat: wallpaper picker bind 2026-07-13 13:23:00 +02:00
janishutz d3f67649ca feat: better animations 2026-07-12 12:16:23 +02:00
janishutz e37d9f64be feat: group binds 2026-07-12 12:13:20 +02:00
janishutz c51f60064e feat: descriptions for hyprland binds 2026-07-11 09:12:24 +02:00
janishutz b11a8f82c6 feat: dms settings 2026-07-10 17:27:59 +02:00
janishutz e554d98510 fix: qt6ct config 2026-07-10 17:27:34 +02:00
janishutz fd4f36a3c9 feat: add more launch commands 2026-07-08 15:50:27 +02:00
janishutz 6123324a1b fix: fix group bars 2026-07-08 15:49:13 +02:00
janishutz e312c254e8 feat: much improved hyprland binds 2026-07-08 15:44:19 +02:00
janishutz 3bec7f4d9e feat: improved dms config 2026-07-07 18:31:26 +02:00
janishutz 4c14251eee feat: hyprtoolkit theme 2026-07-06 11:23:25 +02:00
janishutz 2570646b62 fix: save only screenshot bind fixed 2026-07-03 10:22:12 +02:00
janishutz 61c1ece03d fix: improved startup notifications 2026-07-03 08:08:13 +02:00
janishutz 3b9ded9cfd feat: script for dev containers 2026-07-02 09:29:34 +02:00
janishutz b1389e08c0 fix(latexindent): add missing repeat as indent 2026-06-23 17:41:03 +02:00
janishutz 925b530682 fix: indentconfig unbroken 2026-06-23 10:54:35 +02:00
janishutz 2daaee35e7 feat: set up indentconfig globally 2026-06-23 09:36:16 +02:00
janishutz 856de921a0 fix: improved toggle docked config 2026-06-23 08:52:44 +02:00
janishutz 21475d4dd7 feat: docked fallback now displays notification 2026-06-22 09:10:19 +02:00
janishutz 2f54941a80 feat: add protection against black screen on laptop with no screens connected 2026-06-22 06:53:43 +02:00
janishutz 4c05ddae93 feat: update bar menu 2026-06-20 07:57:10 +02:00
janishutz d019822a69 feat: fix workspace rules for docked 2026-06-20 07:56:15 +02:00
janishutz 0218fde26e feat: hyprlock theming 2026-06-18 19:54:54 +02:00
janishutz 3247c768ba feat: basic yazi theme 2026-06-18 18:14:12 +02:00
janishutz 53ceb85731 fix: wlogout fully fixed 2026-06-18 13:17:08 +02:00
janishutz 279975a806 fix: wlogout theme 2026-06-18 13:12:08 +02:00
34 changed files with 853 additions and 271 deletions
+6
View File
@@ -129,3 +129,9 @@ end
end
set -g fish_greeting ""
set -g VIRTUAL_ENV_DISABLE_PROMPT true
# TODO: Source all
for file in ~/projects/system/dotfiles/system/completions/*
source $file
end
+14 -7
View File
@@ -3,7 +3,7 @@
---@param s string the string to process
---@return string
local function trim_string(s)
return s:match("^%s*(.*)"):match("(.-)%s*$")
return s:match("^%s*(.*)"):match("(.-)%s*$")
end
local is_docked = false
@@ -12,13 +12,19 @@ local read_platform = trim_string(io.popen("cat ~/.config/janishutz/platform"):r
local read_docked = trim_string(io.popen("cat ~/.config/janishutz/docked"):read("a")) == "y"
if read_platform then
laptop_config = true
laptop_config = true
end
if read_docked and laptop_config then
is_docked = true
is_docked = true
end
hl.notification.create({ text = "Config for " .. (laptop_config and "laptop" or "desktop") .. " loaded", timeout = 5000 })
if is_docked and #hl.get_monitors() <= 1 then
hl.notification.create({
text = "Emergency docked mode fallback initiated: No external displays detected",
timeout = 5000,
})
is_docked = false
end
-- Core
require("hyprland.colors")
@@ -33,6 +39,7 @@ require("hyprland.binds.main")
require("hyprland.binds.device")
require("hyprland.binds.groups")
require("hyprland.binds.launch")
require("hyprland.binds.group-launch")
require("hyprland.binds.notifications")
require("hyprland.binds.screenshot")
require("hyprland.binds.window")
@@ -45,7 +52,7 @@ require("hyprland.windowrules.tags")
require("hyprland.windowrules.workspaces")
-- Workspace rules
require("hyprland.workspacerules.main")
require("hyprland.workspacerules.main")(laptop_config, is_docked)
-- Monitors
require("hyprland.monitors")(laptop_config, is_docked)
@@ -54,6 +61,6 @@ require("hyprland.monitors")(laptop_config, is_docked)
require("hyprland.execs")(laptop_config)
hl.device({
name = "pnp0c50:00-093a:0255-touchpad",
enabled = true,
name = "pnp0c50:00-093a:0255-touchpad",
enabled = true,
})
+16 -10
View File
@@ -3,19 +3,19 @@ local function exit_submap()
end
-- TODO: Update this for laptop
hl.bind("code:232", hl.dsp.exec_cmd("brightnessctl -S"))
hl.bind("code:232", hl.dsp.exec_cmd("brightnessctl -S"), { description = "Doesn't do anything yet" })
-- bind = ,code:232, exec, light -U 5 && notify-send 'Display brightness decreased by 5%'
-- bind = ,code:233, exec, light -A 5 && notify-send 'Display brightness increased by 5%'
hl.bind("code:123", hl.dsp.exec_cmd("pamixer -i 5"))
hl.bind("code:122", hl.dsp.exec_cmd("pamixer -d 5"))
hl.bind("code:121", hl.dsp.exec_cmd("pamixer t"))
hl.bind("code:123", hl.dsp.exec_cmd("pamixer -i 5"), { description = "Increase volume by 5%" })
hl.bind("code:122", hl.dsp.exec_cmd("pamixer -d 5"), { description = "Decrease volume by 5%" })
hl.bind("code:121", hl.dsp.exec_cmd("pamixer t"), { description = "Open mixer" })
hl.define_submap("device", function()
hl.bind("m", function()
hl.dispatch(hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"))
exit_submap()
end)
end, { description = "Toggle mute for default audio input device" })
-- Touchpad
hl.bind("SHIFT + T", function()
@@ -24,33 +24,39 @@ hl.define_submap("device", function()
enabled = false,
})
hl.dispatch(hl.dsp.exec_cmd("notify-send 'Disabled Trackpad' --app-name='Hyprctl'"))
end)
end, { description = "Disable trackpad" })
hl.bind("T", function()
hl.device({
name = "pnp0c50:00-093a:0255-touchpad",
enabled = true,
})
hl.dispatch(hl.dsp.exec_cmd("notify-send 'Enabled Trackpad' --app-name='Hyprctl'"))
end)
end, { description = "Enable trackpad" })
-- ── DMS controls ─────────────────────────────────────────────────
-- clipboard history
hl.bind("h", function()
hl.dispatch(hl.dsp.exec_cmd("dms ipc call clipboard toggle"))
exit_submap()
end)
end, { description = "Toggle clipboard history panel" })
-- Dash
hl.bind("d", function()
hl.dispatch(hl.dsp.exec_cmd("dms ipc call dash toggle"))
exit_submap()
end)
end, { description = "Toggle DMS dash (top left)" })
-- Wallpaper
hl.bind("w", function()
hl.dispatch(hl.dsp.exec_cmd("dms ipc call dankdash wallpaper"))
exit_submap()
end, { description = "Open DMS wallpaper picker" })
-- Settings
hl.bind("s", function()
hl.dispatch(hl.dsp.exec_cmd("dms ipc call settings toggle"))
exit_submap()
end)
end, { description = "Toggle DMS settings" })
hl.bind("Escape", function()
exit_submap()
@@ -0,0 +1,31 @@
local function exit_submap()
hl.dispatch(hl.dsp.submap("reset"))
end
hl.define_submap("groupedlaunch", function()
hl.bind("e", function()
hl.exec_cmd("systemctl start docker")
hl.exec_cmd("kitty ~/projects/eth/projects/eyetap/", { workspace = 1 })
hl.exec_cmd("kitty ~/projects/eth/projects/eyetap/backend/", { workspace = 10 })
hl.exec_cmd("kitty ~/projects/eth/projects/eyetap/frontend/", { workspace = 10 })
hl.exec_cmd("librewolf http://localhost:8081")
exit_submap()
end, { description = "Launch programs for EYE-TAP development" })
hl.bind("s", function()
hl.exec_cmd("kitty ~/projects/eth/eth-summaries/", { workspace = 1 })
hl.exec_cmd("kitty ~/NextCloud/Documents/ETH/Semester4/", { workspace = 3 })
exit_submap()
end, { description = "Launch programs to write ETH summaries" })
hl.bind("b", function()
hl.exec_cmd("alvr_dashboard", { workspace = 1 })
hl.exec_cmd("/opt/BSManager/bs-manager", { workspace = 2 })
hl.exec_cmd("steam", { workspace = 3 })
exit_submap()
end, { description = "Launch everything for BeatSaber" })
hl.bind("Escape", function()
exit_submap()
end)
end)
+11 -6
View File
@@ -2,37 +2,42 @@ local function exit_submap()
hl.dispatch(hl.dsp.submap("reset"))
end
hl.bind("SUPER + SHIFT + H", hl.dsp.group.prev(), { description = "Go to previous group member" })
hl.bind("SUPER + SHIFT + L", hl.dsp.group.next(), { description = "Go to next group member" })
-- TODO: Improve mapping (also global mapping, for moving between els if to use regularly)
-- Improve colours
hl.define_submap("groups", function()
hl.bind("c", function()
hl.dispatch(hl.dsp.group.toggle())
exit_submap()
end)
end, { description = "Toggle group" })
hl.bind("l", function()
hl.dispatch(hl.dsp.group.next())
exit_submap()
end)
end, { description = "Go to next group member" })
hl.bind("h", function()
hl.dispatch(hl.dsp.group.prev())
exit_submap()
end)
end, { description = "Go to previous group member" })
hl.bind("CTRL + L", function()
hl.dispatch(hl.dsp.exec_cmd("notify-send 'Group locking toggled' --app-name='Hyprtclt'"))
hl.dispatch(hl.dsp.group.lock_active())
exit_submap()
end)
end, { description = "Toggle group lock" })
hl.bind("SHIFT + L", function()
hl.dispatch(hl.dsp.window.move({ into_or_create_group = "r" }))
exit_submap()
end)
end, { description = "Move window into group to right" })
hl.bind("SHIFT + H", function()
hl.dispatch(hl.dsp.window.move({ into_or_create_group = "l" }))
exit_submap()
end)
end, { description = "Move window into group to left" })
hl.bind("Escape", function()
exit_submap()
+14 -14
View File
@@ -3,7 +3,7 @@ local function exit_submap()
end
local function launcher(program)
return function ()
return function()
hl.dispatch(hl.dsp.exec_cmd(program))
exit_submap()
end
@@ -13,38 +13,38 @@ hl.bind("SUPER + Return", launcher("kitty"))
hl.define_submap("launch", function()
-- Librewolf
hl.bind("l", launcher("librewolf"))
hl.bind("l", launcher("librewolf"), { description = "Launch Librewolf" })
-- Steam
hl.bind("s", launcher("steam"))
hl.bind("s", launcher("steam"), { description = "Launch Steam" })
-- Discord
hl.bind("d", launcher("vesktop"))
hl.bind("d", launcher("vesktop"), { description = "Launch Discord" })
-- Kitty
hl.bind("k", launcher("kitty"))
hl.bind("Return", launcher("kitty"))
hl.bind("k", launcher("kitty"), { description = "Launch kitty" })
hl.bind("Return", launcher("kitty"), { description = "Launch kitty" })
-- Filezilla
hl.bind("f", launcher("filezilla"))
hl.bind("f", launcher("filezilla"), { description = "Launch Filezilla" })
-- Thunderbird
hl.bind("t", launcher("thunderbird"))
hl.bind("t", launcher("thunderbird"), { description = "Launch Thunderbird" })
-- Zathura
hl.bind("z", launcher("zathura"))
hl.bind("z", launcher("zathura"), { description = "Launch Zathura (pdf)" })
-- Brave
hl.bind("SHIFT + B", launcher("brave"))
hl.bind("SHIFT + B", launcher("brave"), { description = "Launch Brave" })
-- bsmanager
hl.bind("b", launcher("/opt/BSManager/bs-manager"))
hl.bind("b", launcher("/opt/BSManager/bs-manager"), { description = "Launch BSManager" })
-- ALVR
hl.bind("p", launcher("alvr_dashboard"))
hl.bind("p", launcher("alvr_dashboard"), { description = "Launch ALVR" })
-- Qalculate
hl.bind("c", launcher("qalculate-qt"))
hl.bind("c", launcher("qalculate-qt"), { description = "Launch Qalculate!" })
-- AirPlay
hl.bind("a", function()
@@ -55,7 +55,7 @@ hl.define_submap("launch", function()
)
)
exit_submap()
end)
end, { description = "Launch AirPlay server" })
-- Escape
hl.bind("Escape", function()
+14 -12
View File
@@ -1,13 +1,15 @@
hl.bind("SUPER + X", hl.dsp.submap("launch"))
hl.bind("SUPER + D", hl.dsp.submap("device"))
hl.bind("SUPER + C", hl.dsp.submap("notifications"))
hl.bind("SUPER + G", hl.dsp.submap("groups"))
hl.bind("SUPER + S", hl.dsp.submap("screenshot"))
hl.bind("SUPER + W", hl.dsp.submap("window"))
hl.bind("SUPER + A", hl.dsp.submap("workspace"))
hl.bind("SUPER + Q", hl.dsp.window.close())
hl.bind("SUPER + X", hl.dsp.submap("launch"), { description = "Launching programs" })
hl.bind("SUPER + D", hl.dsp.submap("device"), { description = "Device controls" })
hl.bind("SUPER + C", hl.dsp.submap("notifications"), { description = "Notifications management" })
hl.bind("SUPER + G", hl.dsp.submap("groups"), { description = "Window group management" })
hl.bind("SUPER + S", hl.dsp.submap("screenshot"), { description = "Screenshots" })
hl.bind("SUPER + W", hl.dsp.submap("window"), { description = "Window management" })
hl.bind("SUPER + A", hl.dsp.submap("workspace"), { description = "Workspace controls" })
hl.bind("SUPER + P", hl.dsp.submap("groupedlaunch"), { description = "Launch groups of programs" })
hl.bind("SUPER + Q", hl.dsp.window.close(), { description = "Close active window" })
hl.bind("SUPER + Space", hl.dsp.exec_cmd("dms ipc call spotlight toggle"))
hl.bind("SUPER + Escape", hl.dsp.exec_cmd("wlogout"))
hl.bind("SUPER + I", hl.dsp.exec_cmd("dms ipc call control-center open"))
hl.bind("SUPER + CTRL + H", hl.dsp.exec_cmd("dms ipc call keybinds toggle hyprland"))
hl.bind("SUPER + Space", hl.dsp.exec_cmd("dms ipc call spotlight toggle"), { description = "Toggle app launcher" })
hl.bind("SUPER + SHIFT + Space", hl.dsp.exec_cmd("dms ipc call spotlight-bar toggle"), { description = "Toggle app launcher as small bar" })
hl.bind("SUPER + Escape", hl.dsp.exec_cmd("wlogout"), { description = "Toggle logout screen" })
hl.bind("SUPER + I", hl.dsp.exec_cmd("dms ipc call control-center open"), { description = "Toggle control centre" })
hl.bind("SUPER + CTRL + H", hl.dsp.exec_cmd("dms ipc call keybinds toggle hyprland"), { description = "Toggle keybinds panel" })
+6 -6
View File
@@ -6,32 +6,32 @@ hl.define_submap("notifications", function()
hl.bind("c", function()
hl.dispatch(hl.dsp.exec_cmd("dms ipc call notifications dismissAllPopups"))
exit_submap()
end)
end, { description = "Hide notifications" })
hl.bind("d", function()
hl.dispatch(hl.dsp.exec_cmd("dms ipc call notifications clearAll"))
exit_submap()
end)
end, { description = "Delete all notifications" })
hl.bind("m", function()
hl.dispatch(hl.dsp.exec_cmd("dms ipc call notifications toggleDoNotDisturb"))
exit_submap()
end)
end, { description = "Toggle Do Not Disturb" })
hl.bind("h", function()
hl.dispatch(hl.dsp.exec_cmd("dms ipc call notifications close"))
exit_submap()
end)
end, { description = "Close notification panel" })
hl.bind("s", function()
hl.dispatch(hl.dsp.exec_cmd("dms ipc call notifications open"))
exit_submap()
end)
end, { description = "Open notification panel" })
hl.bind("t", function()
hl.dispatch(hl.dsp.exec_cmd("dms ipc call notifications toggle"))
exit_submap()
end)
end, { description = "Toggle notification panel" })
hl.bind("Escape", function()
exit_submap()
+8 -8
View File
@@ -6,32 +6,32 @@ hl.define_submap("screenshot", function()
hl.bind("y", function()
hl.dispatch(hl.dsp.exec_cmd("dms screenshot --no-file"))
exit_submap()
end)
end, { description = "Take sceenshot of are and Yank" })
hl.bind("c", function()
hl.dispatch(hl.dsp.exec_cmd("dms screenshot"))
exit_submap()
end)
end, { description = "Take screenshot of area, yank and save" })
hl.bind("s", function()
hl.dispatch(hl.dsp.exec_cmd("dms screenshot --no-copy"))
hl.dispatch(hl.dsp.exec_cmd("dms screenshot --no-clipboard"))
exit_submap()
end)
end, { description = "Take screenshot of area and Save" })
hl.bind("SHIFT + y", function()
hl.dispatch(hl.dsp.exec_cmd("dms screenshot full --no-file"))
exit_submap()
end)
end, { description = "Take screenshot and Yank" })
hl.bind("SHIFT + c", function()
hl.dispatch(hl.dsp.exec_cmd("dms screenshot full"))
exit_submap()
end)
end, { description = "Take sceenshot, yank and save" })
hl.bind("SHIFT + s", function()
hl.dispatch(hl.dsp.exec_cmd("dms screenshot full --no-copy"))
hl.dispatch(hl.dsp.exec_cmd("dms screenshot full --no-clipboard"))
exit_submap()
end)
end, { description = "Take screenshot and Save" })
hl.bind("Escape", function()
exit_submap()
+10 -10
View File
@@ -10,42 +10,42 @@ hl.define_submap("window", function()
hl.bind("x", function()
hl.dispatch(hl.dsp.window.close())
exit_submap()
end)
end, { description = "Close active window" })
hl.bind("q", function()
hl.dispatch(hl.dsp.window.close())
exit_submap()
end)
end, { description = "Close active window" })
-- Fullscreen
hl.bind("f", function()
hl.dispatch(hl.dsp.window.fullscreen({ mode = "fullscreen" }))
exit_submap()
end)
end, { description = "Toggle fullscreen" })
-- Floating
hl.bind("v", function()
hl.dispatch(hl.dsp.window.float())
exit_submap()
end)
end, { description = "Toggle floating" })
-- Center
hl.bind("c", function()
hl.dispatch(hl.dsp.window.center())
exit_submap()
end)
end, { description = "Centre window (when floating)" })
-- Kill
hl.bind("SHIFT + K", function()
hl.dispatch(hl.dsp.exec_cmd("notify-send 'Insta-Kill activated' --app-name='Hyprtclt'"))
hl.dispatch(hl.dsp.exec_cmd("hyprctl kill"))
exit_submap()
end)
end, { description = "Activate insta-kill" })
-- Resize
hl.bind("l", hl.dsp.window.resize({ x = 10, y = 0 }))
hl.bind("h", hl.dsp.window.resize({ x = -10, y = 0 }))
hl.bind("j", hl.dsp.window.resize({ x = 0, y = 10 }))
hl.bind("k", hl.dsp.window.resize({ x = 0, y = -10 }))
hl.bind("l", hl.dsp.window.resize({ x = 10, y = 0 }), { description = "Increase size horizontally" })
hl.bind("h", hl.dsp.window.resize({ x = -10, y = 0 }), { description = "Decrease size horizontally" })
hl.bind("j", hl.dsp.window.resize({ x = 0, y = 10 }), { description = "Increase size vertically" })
hl.bind("k", hl.dsp.window.resize({ x = 0, y = -10 }), { description = "Decrease size vertically" })
hl.bind("Escape", function()
exit_submap()
+54 -24
View File
@@ -1,38 +1,68 @@
local function exit_submap()
hl.dispatch(hl.dsp.submap("reset"))
hl.dispatch(hl.dsp.submap("reset"))
end
local function add_workspace_keymap(bind_goto, bind_move, num)
hl.bind(
bind_goto,
hl.dsp.focus({ workspace = tostring(num) }),
{ description = "Go to workspace " .. tostring(num) }
)
hl.bind(
bind_move,
hl.dsp.window.move({ workspace = tostring(num), follow = 1 }),
{ description = "Move window to workspace " .. tostring(num) }
)
end
for i = 1, 10, 1 do
hl.bind("SUPER + " .. tostring(i % 10), hl.dsp.focus({ workspace = tostring(i) }))
hl.bind("SUPER + SHIFT + " .. tostring(i % 10), hl.dsp.window.move({ workspace = tostring(i), follow = 1 }))
add_workspace_keymap("SUPER + " .. tostring(i % 10), "SUPER + SHIFT + " .. tostring(i % 10), i)
end
-- Super + - for 11th workspace
add_workspace_keymap("SUPER + code:20", "SUPER + SHIFT + code:20", 11)
hl.bind("SUPER + h", hl.dsp.focus({ direction = "l" }))
hl.bind("SUPER + l", hl.dsp.focus({ direction = "r" }))
hl.bind("SUPER + j", hl.dsp.focus({ direction = "d" }))
hl.bind("SUPER + k", hl.dsp.focus({ direction = "u" }))
hl.bind("SUPER + h", hl.dsp.focus({ direction = "l" }), { description = "Focus next window to left" })
hl.bind("SUPER + l", hl.dsp.focus({ direction = "r" }), { description = "Focus next window to right" })
hl.bind("SUPER + j", hl.dsp.focus({ direction = "d" }), { description = "Focus next window below" })
hl.bind("SUPER + k", hl.dsp.focus({ direction = "u" }), { description = "Focus next window above" })
hl.bind("SUPER + M", hl.dsp.workspace.toggle_special("main"))
hl.bind("SUPER + SHIFT + M", hl.dsp.window.move({ workspace = "special:main" }))
hl.bind("SUPER + M", hl.dsp.workspace.toggle_special("main"), { description = "Toggle main special workspace" })
hl.bind(
"SUPER + SHIFT + M",
hl.dsp.window.move({ workspace = "special:main" }),
{ description = "Move window to main special workspace" }
)
hl.define_submap("workspace", function()
for i = 1, 10, 1 do
hl.bind(tostring(i % 10), hl.dsp.focus({ workspace = tostring(i) }))
hl.bind("SHIFT + " .. tostring(i % 10), hl.dsp.window.move({ workspace = tostring(i), follow = 1 }))
end
for i = 1, 10, 1 do
add_workspace_keymap(tostring(i % 10), "SHIFT + " .. tostring(i % 10), i)
end
add_workspace_keymap("code:20", "SHIFT + code:20", 11)
hl.bind("h", hl.dsp.focus({ direction = "l" }))
hl.bind("l", hl.dsp.focus({ direction = "r" }))
hl.bind("j", hl.dsp.focus({ direction = "d" }))
hl.bind("k", hl.dsp.focus({ direction = "u" }))
hl.bind("h", hl.dsp.focus({ direction = "l" }), { description = "Focus next window to left" })
hl.bind("l", hl.dsp.focus({ direction = "r" }), { description = "Focus next window to right" })
hl.bind("j", hl.dsp.focus({ direction = "d" }), { description = "Focus next window below" })
hl.bind("k", hl.dsp.focus({ direction = "u" }), { description = "Focus next window above" })
hl.bind("SHIFT + l", hl.dsp.window.move({ workspace = "+1", follow = 1 }))
hl.bind("SHIFT + h", hl.dsp.window.move({ workspace = "-1", follow = 1 }))
hl.bind(
"SHIFT + l",
hl.dsp.window.move({ workspace = "+1", follow = 1 }),
{ description = "Move one workspace up" }
)
hl.bind(
"SHIFT + h",
hl.dsp.window.move({ workspace = "-1", follow = 1 }),
{ description = "Move one workspace down" }
)
hl.bind("M", hl.dsp.workspace.toggle_special("main"))
hl.bind("SHIFT + M", hl.dsp.window.move({ workspace = "special:main" }))
hl.bind("M", hl.dsp.workspace.toggle_special("main"), { description = "Toggle main special workspace" })
hl.bind(
"SHIFT + M",
hl.dsp.window.move({ workspace = "special:main" }),
{ description = "Move window to main special workspace" }
)
hl.bind("Escape", function()
exit_submap()
end)
hl.bind("Escape", function()
exit_submap()
end)
end)
+1 -1
View File
@@ -13,7 +13,7 @@ hl.config({
preserve_split = true,
},
binds = {
workspace_back_and_forth = true,
workspace_back_and_forth = false,
},
cursor = {
no_warps = false,
+51 -44
View File
@@ -1,74 +1,81 @@
hl.config({
decoration = {
inactive_opacity = 1,
rounding = 10,
decoration = {
inactive_opacity = 1,
rounding = 10,
shadow = {
enabled = true,
range = 4,
},
shadow = {
enabled = true,
range = 4,
},
blur = {
enabled = true,
xray = true,
new_optimizations = true,
size = 1,
passes = 2,
},
blur = {
enabled = true,
xray = true,
new_optimizations = true,
size = 1,
passes = 2,
},
dim_inactive = true,
dim_strength = 0.1,
-- TODO: Consider adding glow?
},
animations = {
enabled = true,
},
dim_inactive = true,
dim_strength = 0.1,
-- TODO: Consider adding glow?
},
animations = {
enabled = true,
},
})
hl.curve("main-bezier", {
type = "bezier",
points = { { 0.05, 0.9 }, { 0.1, 1.05 } },
type = "bezier",
points = { { 0.05, 0.9 }, { 0.1, 1.05 } },
})
hl.animation({
leaf = "windows",
enabled = true,
bezier = "main-bezier",
speed = 3,
leaf = "windows",
enabled = true,
bezier = "main-bezier",
speed = 3,
})
hl.animation({
leaf = "windowsOut",
enabled = true,
bezier = "main-bezier",
speed = 4,
style = "popin 80%"
leaf = "windowsOut",
enabled = true,
bezier = "main-bezier",
speed = 4,
style = "popin 80%",
})
hl.animation({
leaf = "border",
enabled = true,
leaf = "border",
enabled = true,
bezier = "default",
speed = 8,
speed = 8,
})
hl.animation({
leaf = "fade",
enabled = true,
leaf = "fade",
enabled = true,
bezier = "default",
speed = 3,
speed = 3,
})
hl.animation({
leaf = "workspaces",
enabled = true,
leaf = "workspaces",
enabled = true,
bezier = "default",
speed = 1,
speed = 1,
})
hl.animation({
leaf = "specialWorkspace",
enabled = true,
leaf = "specialWorkspace",
enabled = true,
bezier = "default",
speed = 1,
speed = 1,
})
hl.animation({
leaf = "fadeDpms",
enabled = true,
bezier = "default",
speed = 4,
})
+20 -20
View File
@@ -3,36 +3,36 @@
-- └ ┘
-- Games
hl.window_rule({
match = {
class = "steam_app.*",
},
tag = "+game",
match = {
class = "steam_app.*",
},
tag = "+game",
})
hl.window_rule({
match = {
title = "Minecraft|Beat Saber",
},
tag = "+game",
match = {
title = "Minecraft.*|Beat Saber",
},
tag = "+game",
})
-- Launchers
hl.window_rule({
match = {
class = "steam|minecraft-launcher|org\\.prismlauncher\\.PrismLauncher",
},
tag = "+launchers",
match = {
class = "steam|minecraft-launcher|org\\.prismlauncher\\.PrismLauncher",
},
tag = "+launchers",
})
-- Dialogs
hl.window_rule({
match = {
class = "file_progress|confirm|dialog|download|notification|error|splash|confirmreset|lxappearance|pavucontrol|file-roller",
},
tag = "+dialog",
match = {
class = "file_progress|confirm|dialog|download|notification|error|splash|confirmreset|lxappearance|pavucontrol|file-roller",
},
tag = "+dialog",
})
hl.window_rule({
match = {
title = "SteamVR Status|Open File|Media viewer|Volume Control|Picture-in-Picture|File Operation Progress|Loading|AG Controller|AG Controller|Qalculate",
},
tag = "+dialog",
match = {
title = ".*SteamVR.*|Open File.*|Media viewer|Volume Control|Picture-in-Picture|File Operation Progress|Loading.*|AG Controller|.*Qalculate.*",
},
tag = "+dialog",
})
+35 -12
View File
@@ -3,31 +3,54 @@
-- └ ┘
-- Workspace 1
hl.window_rule({
match = { tag = "game" },
workspace = 1,
match = { tag = "game" },
workspace = 1,
})
hl.window_rule({
match = { title = "ALVR|^hidden-terminator$" },
workspace = 1,
match = { title = "ALVR.*|^hidden-terminator$" },
workspace = 1,
})
-- Workspace 2
hl.window_rule({
match = { class = "evince|okular|org\\.pwmt\\.zathura|librewolf|vesktop" },
workspace = 2,
match = { class = "evince|okular|org\\.pwmt\\.zathura" },
workspace = 2,
})
hl.window_rule({
match = { title = "BSManager" },
workspace = 2,
match = { title = ".*BSManager.*" },
workspace = 2,
})
-- Workspace 3
hl.window_rule({
match = { tag = "launchers" },
workspace = 3,
match = { tag = "launchers" },
workspace = 3,
})
-- Special
hl.window_rule({
match = { title = "Qalculate|AG Controller" },
workspace = "special",
match = { title = "Qalculate.*|AG Controller" },
workspace = "special:main",
})
-- Workspace 4
hl.window_rule({
match = { class = "brave-browser" },
workspace = 4,
})
hl.window_rule({
match = { title = ".*-summary.pdf|.*cheatsheet.pdf|.*cheat-sheet.pdf" },
workspace = 4,
})
-- Workspace 11
hl.window_rule({
match = { class = "librewolf" },
workspace = 11,
})
-- Workspace 10
hl.window_rule({
match = { class = "vesktop" },
workspace = 10,
})
+55 -30
View File
@@ -1,30 +1,55 @@
hl.workspace_rule({
workspace = "1",
monitor = "DP-1",
default = true,
})
hl.workspace_rule({
workspace = "2",
monitor = "HDMI-A-1",
default = true,
})
hl.workspace_rule({
workspace = "2",
monitor = "DP-2",
default = true,
})
hl.workspace_rule({
workspace = "3",
monitor = "DP-1",
default = false,
})
hl.workspace_rule({
workspace = "4",
monitor = "DP-2",
default = false,
})
hl.workspace_rule({
workspace = "4",
monitor = "HDMI-A-1",
default = false,
})
return function(is_laptop, is_docked)
hl.workspace_rule({
workspace = "1",
monitor = "DP-1",
default = true,
})
hl.workspace_rule({
workspace = "3",
monitor = "DP-1",
default = false,
})
if not is_laptop then
hl.workspace_rule({
workspace = "2",
monitor = "DP-2",
default = true,
})
hl.workspace_rule({
workspace = "4",
monitor = "DP-2",
default = false,
})
hl.workspace_rule({
workspace = "10",
monitor = "DP-2",
default = false,
})
hl.workspace_rule({
workspace = "11",
monitor = "DP-2",
default = false,
})
elseif is_docked then
hl.workspace_rule({
workspace = "2",
monitor = "HDMI-A-1",
default = true,
})
hl.workspace_rule({
workspace = "4",
monitor = "HDMI-A-1",
default = false,
})
hl.workspace_rule({
workspace = "10",
monitor = "HDMI-A-1",
default = false,
})
hl.workspace_rule({
workspace = "11",
monitor = "HDMI-A-1",
default = false,
})
end
end
+7 -6
View File
@@ -12,9 +12,10 @@
# ┌ ┐
# │ BACKGROUND │
# └ ┘
source = ./hyprlock-colors.conf
background {
monitor =
path = /home/janis/NextCloud/Wallpapers/nvim/nvim-simple.png # Or screenshot
path = $background_image # Or screenshot
blur_passes = 1
}
@@ -29,9 +30,9 @@ input-field {
dots_size = 0.33 # Scale of input-field height, 0.2 - 0.8
dots_spacing = 0.15 # Scale of dots' absolute size, 0.0 - 1.0
dots_center = false
outer_color = rgb(92, 155, 63)
inner_color = rgb(200, 200, 200)
font_color = rgb(10, 10, 10)
outer_color = $entry_border_color
inner_color = $entry_background_color
font_color = $entry_color
fade_on_empty = true
placeholder_text = <i>Input Password...</i> # Text rendered in the input box when it's empty.
hide_input = false
@@ -56,7 +57,7 @@ label {
label {
monitor =
text = $LAYOUT
color = rgba(200, 200, 200, 1.0)
color = $text_color
font_size = 12
font_family = Comfortaa
@@ -68,7 +69,7 @@ label {
label {
monitor =
text = $USER
color = rgba(200, 200, 200, 1.0)
color = $text_color
font_size = 12
font_family = Comfortaa
+8
View File
@@ -5,6 +5,14 @@ version_check = false
input_path = '~/.config/matugen/templates/hyprland/colors.lua'
output_path = '~/.config/hypr/hyprland/colors.lua'
[templates.hyprlock]
input_path = '~/.config/matugen/templates/hyprland/hyprlock-colors.conf'
output_path = '~/.config/hypr/hyprlock-colors.conf'
[templates.wlogout]
input_path = '~/.config/matugen/templates/wlogout/style.css'
output_path = '~/.config/wlogout/style.css'
[templates.yazi]
input_path = '~/.config/matugen/templates/yazi/theme.toml'
output_path = '~/.config/yazi/theme.toml'
+44 -24
View File
@@ -1,26 +1,46 @@
hl.config({
general = {
col = {
active_border = {
colors = {
"rgba({{colors.primary.default.hex_stripped}}cc)",
"rgba({{colors.secondary.default.hex_stripped}}cc)",
"rgba({{colors.tertiary.default.hex_stripped}}cc)",
},
angle = 45,
},
inactive_border = "rgba({{colors.surface_container_low.default.hex_stripped}}33)",
},
},
group = {
col = {
border_active = "rgba({{colors.outline_variant.default.hex_stripped}}77)",
border_inactive = "rgba({{colors.surface_container_high.default.hex_stripped}}33)",
},
},
decoration = {
shadow = {
color = "rgba({{colors.shadow.default.hex_stripped}}20)",
},
},
general = {
col = {
active_border = {
colors = {
"rgba({{colors.primary.default.hex_stripped}}cc)",
"rgba({{colors.secondary.default.hex_stripped}}cc)",
"rgba({{colors.tertiary.default.hex_stripped}}cc)",
},
angle = 45,
},
inactive_border = "rgba({{colors.surface_container_low.default.hex_stripped}}33)",
},
},
group = {
col = {
border_active = "rgba({{colors.secondary.default.hex_stripped}}cc)",
border_inactive = "rgba({{colors.surface_container_high.default.hex_stripped}}33)",
border_locked_active = "rgba({{colors.tertiary.default.hex_stripped}}cc)",
border_locked_inactive = "rgba({{colors.surface_container_high.default.hex_stripped}}33)",
},
groupbar = {
font_family = "Comfortaa",
height = 13,
font_size = 12,
text_color = "rgba({{colors.on_secondary.default.hex_stripped}}ff)",
text_color_inactive = "rgba({{colors.on_surface.default.hex_stripped}}ff)",
text_color_locked_active = "rgba({{colors.on_error.default.hex_stripped}}ff)",
text_color_locked_inactive = "rgba({{colors.on_surface.default.hex_stripped}}ff)",
indicator_gap = 0,
indicator_height = 3,
rounding = 3,
col = {
active = "rgba({{colors.secondary.default.hex_stripped}}ff)",
inactive = "rgba({{colors.surface_container_low.default.hex_stripped}}aa)",
locked_inactive = "rgba({{colors.surface_container_high.default.hex_stripped}}ff)",
locked_active = "rgba({{colors.error.default.hex_stripped}}aa)",
},
},
},
decoration = {
shadow = {
color = "rgba({{colors.shadow.default.hex_stripped}}20)",
},
},
})
@@ -0,0 +1,10 @@
# This configuration is generated by matugen
# Changing these variables with matugen still enabled will overwrite them.
background = rgba({{colors.background.default.hex_stripped}}FF)
base = rgba({{colors.surface.default.hex_stripped}}FF)
text = rgba({{colors.on_background.default.hex_stripped}}FF)
accent = rgba({{colors.primary.default.hex_stripped}}FF)
accent_secondary = rgba({{colors.secondary.default.hex_stripped}}FF)
font_family = Comfortaa
font_family_monospace = Source Code Pro
+3 -2
View File
@@ -7,7 +7,7 @@ window {
font-family: monospace;
font-size: 14pt;
color: {{colors.on_background.default.hex}}; /* text */
background-color: {{colors.primary.background.hex}}60;
background-color: rgba({{colors.background.default.red}}, {{colors.background.default.green}}, {{colors.background.default.blue}}, 0.3);
}
button {
@@ -23,10 +23,11 @@ button {
button:hover {
background-color: {{colors.primary.default.hex}};
color: {{colors.on_primary.default.hex}};
}
button:focus {
background-color: {{colors.primary.default.hex}}80;
background-color: rgba({{colors.primary.default.red}}, {{colors.primary.default.green}}, {{colors.primary.default.blue}}, 0.8);
color: {{colors.on_primary.default.hex}};
}
+70
View File
@@ -0,0 +1,70 @@
[app]
overall = {
bg = "{{ colors.background.default.hex }}"
}
[mgr]
cwd = {
bg = "{{ colors.background.default.hex }}",
fg = "{{ colors.tertiary.default.hex }}"
}
find_keyword = {
bg = "{{ colors.secondary.default.hex }}",
fg = "{{ colors.on_secondary.default.hex }}"
}
find_position = {
bg = "{{ colors.secondary.default.hex }}",
fg = "{{ colors.on_secondary.default.hex }}"
}
symlink_target = {
bg = "{{ colors.background.default.hex }}",
fg = "{{ colors.primary.default.hex }}"
}
border_style = {
bg = "{{ colors.background.default.hex }}",
fg = "{{ colors.tertiary.default.hex }}"
}
[indicator]
parent = {
bg = "{{ colors.primary.default.hex }}",
fg = "{{ colors.on_primary.default.hex }}"
}
current = {
bg = "{{ colors.primary.default.hex }}",
fg = "{{ colors.on_primary.default.hex }}"
}
preview = {
bg = "{{ colors.background.default.hex }}",
fg = "{{ colors.primary.default.hex }}",
underline = true
}
[tabs]
active = {
bg = "{{ colors.secondary.default.hex }}",
fg = "{{ colors.on_secondary.default.hex }}"
}
inactive = {
bg = "{{ colors.surface.default.hex }}",
fg = "{{ colors.on_surface.default.hex }}"
}
[which]
mask = {
bg = "{{ colors.surface_variant.default.hex }}",
fg = "{{ colors.on_surface_variant.default.hex }}"
}
cand = {
bg = "{{ colors.surface_variant.default.hex }}",
fg = "{{ colors.primary.default.hex }}",
}
rest = {
bg = "{{ colors.surface_variant.default.hex }}",
fg = "{{ colors.on_surface_variant.default.hex }}",
}
desc = {
bg = "{{ colors.surface_variant.default.hex }}",
fg = "{{ colors.on_surface_variant.default.hex }}",
}
+5
View File
@@ -63,6 +63,11 @@
"submap": "workspace",
"icon": "monitor",
"color": "#2800ee"
},
{
"submap": "groupedlaunch",
"icon": "open_in_new",
"color": "#005207"
}
],
"fontSize": "none"
+235 -23
View File
@@ -3,13 +3,16 @@
"currentThemeCategory": "dynamic",
"customThemeFile": "",
"registryThemeVariants": {},
"matugenScheme": "scheme-content",
"matugenScheme": "scheme-tonal-spot",
"matugenContrast": 0,
"runUserMatugenTemplates": true,
"matugenTargetMonitor": "",
"popupTransparency": 1,
"dockTransparency": 1,
"widgetBackgroundColor": "sch",
"widgetColorMode": "default",
"widgetBackgroundCustomColor": "#6750A4",
"widgetBackgroundCustomStrength": 0.5,
"widgetColorMode": "colorful",
"controlCenterTileColorMode": "primary",
"buttonColorMode": "primary",
"cornerRadius": 12,
@@ -17,12 +20,19 @@
"niriLayoutRadiusOverride": -1,
"niriLayoutBorderSize": -1,
"hyprlandLayoutGapsOverride": -1,
"hyprlandLayoutGapsOutOverride": -1,
"hyprlandLayoutRadiusOverride": -1,
"hyprlandLayoutBorderSize": -1,
"hyprlandResizeOnBorder": false,
"mangoLayoutGapsOverride": -1,
"mangoLayoutGapsOutOverride": -1,
"mangoLayoutRadiusOverride": -1,
"mangoLayoutBorderSize": -1,
"use24HourClock": true,
"mangoTrackpadNaturalScrolling": true,
"firstDayOfWeek": -1,
"showWeekNumber": false,
"calendarBackend": "auto",
"clockFormat": "auto",
"showSeconds": true,
"padHours12Hour": false,
"useFahrenheit": false,
@@ -36,15 +46,29 @@
"modalAnimationSpeed": 1,
"modalCustomAnimationDuration": 150,
"enableRippleEffects": true,
"animationVariant": 0,
"motionEffect": 0,
"m3ElevationEnabled": true,
"m3ElevationIntensity": 12,
"m3ElevationOpacity": 30,
"m3ElevationColorMode": "default",
"m3ElevationLightDirection": "top",
"m3ElevationCustomColor": "#000000",
"modalElevationEnabled": true,
"popoutElevationEnabled": true,
"barElevationEnabled": false,
"blurEnabled": false,
"blurForegroundLayers": true,
"blurLayerOutlineOpacity": 0.12,
"blurBorderEnabled": true,
"blurBorderColor": "outline",
"blurBorderCustomColor": "#ffffff",
"blurBorderOpacity": 0.35,
"wallpaperFillMode": "Fill",
"blurredWallpaperLayer": false,
"blurWallpaperOnOverview": false,
"wallpaperBackgroundColorMode": "black",
"wallpaperBackgroundCustomColor": "#000000",
"showLauncherButton": true,
"showWorkspaceSwitcher": true,
"showFocusedWindow": true,
@@ -58,12 +82,18 @@
"selectedGpuIndex": 0,
"enabledGpuPciIds": [],
"showSystemTray": true,
"systemTrayIconTintMode": "none",
"systemTrayIconTintSaturation": 50,
"systemTrayIconTintStrength": 135,
"systemTrayIconTintMode": "primary",
"systemTrayIconTintSaturation": 0,
"systemTrayIconTintStrength": 100,
"showClock": true,
"showNotificationButton": true,
"showBattery": true,
"showBatteryPercent": true,
"showBatteryPercentOnlyOnBattery": false,
"showBatteryTime": false,
"showBatteryTimeOnlyOnBattery": false,
"batteryPillStyle": false,
"batteryPillPercentSign": false,
"showControlCenterButton": true,
"showCapsLockIndicator": true,
"controlCenterShowNetworkIcon": true,
@@ -78,6 +108,8 @@
"controlCenterShowBatteryIcon": false,
"controlCenterShowPrinterIcon": false,
"controlCenterShowScreenSharingIcon": true,
"controlCenterShowIdleInhibitorIcon": false,
"controlCenterShowDoNotDisturbIcon": false,
"showPrivacyButton": true,
"privacyShowMicIcon": false,
"privacyShowCameraIcon": false,
@@ -94,9 +126,11 @@
"width": 50
},
{
"id": "wifi",
"id": "brightnessSlider",
"enabled": true,
"width": 50
"width": 100,
"instanceId": "mqkkrmb3egxs1ld56tbk0v52ce4yj5",
"deviceName": ""
},
{
"id": "bluetooth",
@@ -114,7 +148,7 @@
"width": 50
},
{
"id": "audioOutput",
"id": "wifi",
"enabled": true,
"width": 50
},
@@ -122,6 +156,11 @@
"id": "audioInput",
"enabled": true,
"width": 50
},
{
"id": "audioOutput",
"enabled": true,
"width": 50
}
],
"showWorkspaceIndex": true,
@@ -133,29 +172,58 @@
"maxWorkspaceIcons": 2,
"workspaceAppIconSizeOffset": 0,
"groupWorkspaceApps": true,
"groupActiveWorkspaceApps": false,
"workspaceFollowFocus": true,
"showOccupiedWorkspacesOnly": false,
"reverseScrolling": false,
"dwlShowAllTags": false,
"workspaceActiveAppHighlightEnabled": false,
"workspaceColorMode": "default",
"workspaceFocusedCustomColor": "#6750A4",
"workspaceOccupiedColorMode": "none",
"workspaceOccupiedCustomColor": "#625B71",
"workspaceUnfocusedColorMode": "default",
"workspaceUnfocusedCustomColor": "#49454E",
"workspaceUrgentColorMode": "default",
"workspaceUrgentCustomColor": "#B3261E",
"workspaceFocusedBorderEnabled": false,
"workspaceFocusedBorderColor": "primary",
"workspaceFocusedBorderCustomColor": "#6750A4",
"workspaceFocusedBorderThickness": 2,
"workspaceUnfocusedMonitorSeparateAppearance": false,
"workspaceUnfocusedMonitorColorMode": "default",
"workspaceUnfocusedMonitorFocusedCustomColor": "#6750A4",
"workspaceUnfocusedMonitorOccupiedColorMode": "none",
"workspaceUnfocusedMonitorOccupiedCustomColor": "#625B71",
"workspaceUnfocusedMonitorUnfocusedColorMode": "default",
"workspaceUnfocusedMonitorUnfocusedCustomColor": "#49454E",
"workspaceUnfocusedMonitorUrgentColorMode": "default",
"workspaceUnfocusedMonitorUrgentCustomColor": "#B3261E",
"workspaceUnfocusedMonitorBorderEnabled": false,
"workspaceUnfocusedMonitorBorderColor": "primary",
"workspaceUnfocusedMonitorBorderCustomColor": "#6750A4",
"workspaceUnfocusedMonitorBorderThickness": 2,
"workspaceNameIcons": {},
"waveProgressEnabled": true,
"scrollTitleEnabled": true,
"mediaAdaptiveWidthEnabled": true,
"audioVisualizerEnabled": true,
"mediaUseAlbumArtAccent": false,
"audioScrollMode": "volume",
"audioWheelScrollAmount": 5,
"audioDeviceScrollVolumeEnabled": false,
"mediaExcludePlayers": [],
"clockCompactMode": false,
"focusedWindowCompactMode": false,
"focusedWindowSize": 1,
"focusedWindowShowIcon": true,
"runningAppsCompactMode": true,
"barMaxVisibleApps": 0,
"barMaxVisibleRunningApps": 0,
"barShowOverflowBadge": true,
"trayAutoOverflow": true,
"trayPopupSingleLine": true,
"trayMaxVisibleItems": 0,
"appsDockHideIndicators": false,
"appsDockColorizeActive": false,
"appsDockActiveColorMode": "primary",
@@ -163,6 +231,7 @@
"appsDockEnlargePercentage": 125,
"appsDockIconSizePercentage": 100,
"keyboardLayoutNameCompactMode": false,
"keyboardLayoutNameShowIcon": false,
"runningAppsCurrentWorkspace": true,
"runningAppsGroupByApp": false,
"runningAppsCurrentMonitor": false,
@@ -172,9 +241,16 @@
"lockDateFormat": "",
"greeterRememberLastSession": true,
"greeterRememberLastUser": true,
"greeterAutoLogin": false,
"greeterEnableFprint": false,
"greeterEnableU2f": false,
"greeterWallpaperPath": "",
"greeterLockDateFormat": "",
"greeterFontFamily": "",
"greeterWallpaperFillMode": "",
"greeterPamExternallyManaged": false,
"greeterSyncPending": false,
"greeterSyncBaseline": {},
"mediaSize": 1,
"appLauncherViewMode": "list",
"spotlightModalViewMode": "list",
@@ -185,19 +261,56 @@
"sortAppsAlphabetically": false,
"appLauncherGridColumns": 4,
"spotlightCloseNiriOverview": true,
"spotlightSectionViewModes": {},
"rememberLastQuery": false,
"rememberLastMode": true,
"spotlightSectionViewModes": {
"apps": "list"
},
"appDrawerSectionViewModes": {},
"niriOverviewOverlayEnabled": true,
"niriOverviewLauncherStyle": "full",
"dankLauncherV2Size": "compact",
"dankLauncherV2ShowSourceBadges": true,
"dankLauncherV2BorderEnabled": false,
"dankLauncherV2BorderThickness": 2,
"dankLauncherV2BorderColor": "primary",
"dankLauncherV2ShowFooter": true,
"dankLauncherV2UnloadOnClose": false,
"dankLauncherV2IncludeFilesInAll": false,
"dankLauncherV2IncludeFoldersInAll": false,
"launcherUseOverlayLayer": false,
"launcherStyle": "full",
"spotlightBarShowModeChips": false,
"keybindsFloatingWindow": false,
"useAutoLocation": false,
"weatherEnabled": true,
"networkPreference": "auto",
"iconTheme": "Papirus-Dark",
"dashTabs": [
{
"id": "overview",
"enabled": true
},
{
"id": "media",
"enabled": true
},
{
"id": "wallpaper",
"enabled": true
},
{
"id": "weather",
"enabled": true
},
{
"id": "settings",
"enabled": true
}
],
"networkPreference": "wifi",
"iconThemeDark": "Papirus-Dark",
"iconThemeLight": "System Default",
"iconThemePerMode": false,
"lastAppliedIconTheme": "",
"cursorSettings": {
"theme": "oreo_spark_blue_cursors",
"size": 24,
@@ -225,28 +338,50 @@
"monoFontFamily": "Source Code Pro",
"fontWeight": 400,
"fontScale": 1,
"textRenderType": 0,
"textRenderQuality": 0,
"notepadUseMonospace": true,
"notepadFontFamily": "",
"notepadFontSize": 14,
"notificationSummaryFontSize": 0,
"notificationBodyFontSize": 0,
"notepadShowLineNumbers": false,
"notepadAutoSave": false,
"notepadSlideoutSide": "right",
"notepadDefaultMode": "slideout",
"notepadTransparencyOverride": -1,
"notepadLastCustomTransparency": 0.7,
"notepadUseCompositorGap": false,
"notepadEdgeGap": 0,
"soundsEnabled": true,
"useSystemSoundTheme": false,
"soundNewNotification": false,
"soundLogin": false,
"soundNewNotification": true,
"soundVolumeChanged": false,
"soundPluggedIn": true,
"soundPluggedIn": false,
"muteSoundsWhenMediaPlaying": true,
"acMonitorTimeout": 0,
"acLockTimeout": 0,
"acSuspendTimeout": 0,
"acSuspendBehavior": 0,
"acProfileName": "",
"acPostLockMonitorTimeout": 0,
"batteryMonitorTimeout": 0,
"batteryLockTimeout": 0,
"batterySuspendTimeout": 0,
"batterySuspendBehavior": 0,
"batteryProfileName": "",
"batteryPostLockMonitorTimeout": 0,
"batteryChargeLimit": 100,
"batteryNotifyChargeLimit": false,
"batteryCriticalThreshold": 10,
"batteryNotifyCritical": true,
"batteryLowThreshold": 20,
"batteryNotifyLow": false,
"batteryChargeLimitNotificationType": 0,
"batteryLowNotificationType": 0,
"batteryCriticalNotificationType": 1,
"batteryAutoPowerSaver": false,
"lockBeforeSuspend": false,
"loginctlLockIntegration": true,
"fadeToLockEnabled": true,
@@ -255,7 +390,11 @@
"fadeToDpmsGracePeriod": 5,
"launchPrefix": "",
"brightnessDevicePins": {},
"wifiNetworkPins": {},
"wifiNetworkPins": {
"preferredWifi": [
"mchp"
]
},
"bluetoothDevicePins": {
"preferredDevice": [
"ED:A8:60:08:93:6C"
@@ -276,12 +415,13 @@
"matugenTemplateNiri": false,
"matugenTemplateHyprland": false,
"matugenTemplateMangowc": false,
"matugenTemplateQt5ct": false,
"matugenTemplateQt5ct": true,
"matugenTemplateQt6ct": true,
"matugenTemplateFirefox": false,
"matugenTemplatePywalfox": false,
"matugenTemplateZenBrowser": false,
"matugenTemplateVesktop": true,
"matugenTemplateVencord": true,
"matugenTemplateEquibop": false,
"matugenTemplateGhostty": false,
"matugenTemplateKitty": true,
@@ -294,10 +434,23 @@
"matugenTemplateVscode": false,
"matugenTemplateEmacs": false,
"matugenTemplateZed": false,
"matugenTemplateNeovimSettings": {
"dark": {
"baseTheme": "github_dark",
"harmony": 0.5
},
"light": {
"baseTheme": "github_light",
"harmony": 0.5
}
},
"matugenTemplateNeovimSetBackground": true,
"showDock": false,
"dockAutoHide": false,
"dockSmartAutoHide": false,
"dockUseOverlayLayer": false,
"dockGroupByApp": false,
"dockRestoreSpecialWorkspaceOnClick": false,
"dockOpenOnOverview": false,
"dockPosition": 1,
"dockSpacing": 4,
@@ -320,9 +473,13 @@
"dockMaxVisibleApps": 0,
"dockMaxVisibleRunningApps": 0,
"dockShowOverflowBadge": true,
"dockShowTrash": false,
"dockTrashFileManager": "default",
"dockTrashCustomCommand": "",
"notificationOverlayEnabled": false,
"notificationPopupShadowEnabled": true,
"notificationPopupPrivacyMode": false,
"notificationForegroundLayers": true,
"modalDarkenBackground": true,
"lockScreenShowPowerActions": true,
"lockScreenShowSystemIcons": true,
@@ -337,14 +494,26 @@
"maxFprintTries": 15,
"enableU2f": false,
"u2fMode": "or",
"lockScreenActiveMonitor": "all",
"lockPamPath": "",
"lockPamInlineFprint": false,
"lockPamInlineU2f": false,
"lockPamExternallyManaged": false,
"lockU2fPamPath": "",
"lockScreenInactiveColor": "#000000",
"lockScreenNotificationMode": 0,
"lockScreenVideoEnabled": false,
"lockScreenVideoPath": "",
"lockScreenVideoCycling": false,
"lockScreenWallpaperPath": "",
"lockScreenWallpaperFillMode": "",
"lockScreenFontFamily": "",
"hideBrightnessSlider": false,
"notificationTimeoutLow": 5000,
"notificationTimeoutNormal": 5000,
"notificationTimeoutCritical": 0,
"notificationCompactMode": false,
"notificationShowTimeoutBar": false,
"notificationDedupeEnabled": true,
"notificationPopupPosition": 0,
"notificationAnimationSpeed": 1,
"notificationCustomAnimationDuration": 400,
@@ -355,11 +524,12 @@
"notificationHistorySaveNormal": true,
"notificationHistorySaveCritical": true,
"notificationRules": [],
"notificationFocusedMonitor": false,
"osdAlwaysShowValue": false,
"osdPosition": 5,
"osdVolumeEnabled": true,
"osdMediaVolumeEnabled": true,
"osdMediaPlaybackEnabled": false,
"osdMediaPlaybackEnabled": true,
"osdBrightnessEnabled": true,
"osdIdleInhibitorEnabled": true,
"osdMicMuteEnabled": true,
@@ -385,9 +555,14 @@
"customPowerActionReboot": "",
"customPowerActionPowerOff": "",
"updaterHideWidget": false,
"updaterCheckOnStart": false,
"updaterUseCustomCommand": false,
"updaterCustomCommand": "",
"updaterTerminalAdditionalParams": "",
"updaterIntervalSeconds": 86400,
"updaterIncludeFlatpak": true,
"updaterAllowAUR": false,
"updaterIgnoredPackages": [],
"displayNameMode": "system",
"screenPreferences": {
"wallpaper": [
@@ -406,6 +581,7 @@
"displayProfileAutoSelect": false,
"displayShowDisconnected": false,
"displaySnapToEdge": true,
"connectedFrameBarStyleBackups": {},
"barConfigs": [
{
"id": "default",
@@ -432,14 +608,22 @@
}
],
"centerWidgets": [
"music",
{
"id": "music",
"enabled": true,
"mediaSize": 1
},
{
"id": "focusedWindow",
"enabled": true
"enabled": true,
"focusedWindowCompactMode": false
}
],
"rightWidgets": [
"systemTray",
{
"id": "systemTray",
"enabled": true
},
{
"id": "cpuUsage",
"enabled": true,
@@ -459,13 +643,14 @@
"showVpnIcon": false,
"showMicIcon": true,
"showBatteryIcon": true,
"showPrinterIcon": false,
"showScreenSharingIcon": false
}
],
"spacing": 4,
"innerPadding": 5,
"bottomGap": 0,
"transparency": 1,
"transparency": 0.7,
"widgetTransparency": 1,
"squareCorners": false,
"noBackground": false,
@@ -583,8 +768,35 @@
"enabled": false
}
},
"clipboardClickToPaste": false,
"clipboardEnterToPaste": false,
"clipboardRememberTypeFilter": false,
"clipboardTypeFilter": "all",
"clipboardVisibleEntryActions": [
"pin",
"edit",
"delete"
],
"launcherPluginVisibility": {},
"launcherPluginOrder": [],
"configVersion": 5
"frameEnabled": false,
"frameThickness": 16,
"frameRounding": 23,
"frameColor": "",
"frameOpacity": 1,
"frameScreenPreferences": [
"all"
],
"frameBarSize": 40,
"frameShowOnOverview": false,
"frameBlurEnabled": true,
"frameCloseGaps": true,
"frameLauncherEmergeSide": "bottom",
"frameLauncherArcExtender": false,
"frameLauncherEdgeHover": false,
"frameMode": "connected",
"barInsetPaddingShared": -1,
"barInsetPaddingSyncAll": false,
"frameBarInsetPadding": -1,
"configVersion": 12
}
+4
View File
@@ -79,4 +79,8 @@ specialBeginEnd:
begin: '\\While'
end: '\\EndWhile'
lookForThis: 1
Repeat:
begin: '\\Repeat'
end: '\\Until'
lookForThis: 1
specialBeforeCommand: 1
+2
View File
@@ -0,0 +1,2 @@
paths:
- /home/janis/projects/system/dotfiles/linters/indentconfig.yaml
+89
View File
@@ -0,0 +1,89 @@
#!/bin/sh
base_path="~/projects/system/dev-env/scripts/"
mount_path=$(pwd)
if [[ -n "$2" ]]; then
name=$2
else
name=$(pwd | rev | cut -d "/" -f 1-2 | rev | sed -e 's/\//-/')
fi
if [[ $1 == "help" ]]; then
echo "
dev-containers [container|rm|help] [name]
Container can be one of:
- base
- node
- php
- python
- torch-rocm
- vue
- webserver
rm removes the container for the current directory if provided name is existing container, or unspecified.
"
exit 0
fi
echo "
janishutz dev containers
"
if [[ $(systemctl is-active docker) != "active" ]]; then
echo "
-> Docker daemon not running, starting with systemctl <-
"
sudo systemctl start docker
fi
if [[ $1 == "rm" ]]; then
echo "
-> Removing containers with $name in their name <-
"
if [[ $(read -p "Do you really want to delete ALL containers for this directory? (y/N) " response && echo $response) == 'y' ]]; then
for container in $(docker container ls -aq -f name=$name); do
docker stop $container
docker container rm $container
done
else
echo "Aborting."
exit 0
fi
elif [[ $1 == "shell" ]]; then
containers=$(docker ps -q -f name=$name)
count=$((${#containers[@]}))
if [[ ${containers[0]} == "" ]]; then
count=$(($count-1))
fi
if [[ $count == 0 ]]; then
echo "
-> No suitable running container found. Aborting.
"
elif [[ $count == 1 ]]; then
echo "
-> Connecting to running container ${containers[0]}
"
docker exec -it ${containers[0]} '/bin/bash'
else
echo "
-> Multiple possible containers found to attach to. Pick one (enter number)
"
docker ps -f name=$name
read -p "Enter number (1-$count) " sel
docker exec -it ${containers[$(($sel-1))]} '/bin/bash'
fi
else
name=$name-$1
if [[ $(docker container ls -aq -f name=$name) != "" ]]; then
echo "
-> Starting existing container $name <-
"
docker start -i $name
else
echo "
-> Creating container $name <-
"
eval "${base_path}$1-container $name $mount_path"
fi
fi
+20
View File
@@ -0,0 +1,20 @@
#!/bin/sh
if [[ -n $1 ]]; then
echo "File contains $(pdfinfo $1 | awk '/^Pages:/ {print $2}') pages"
else
total=0
count=0
for file in $(find . -name "*.pdf" -type f | sort -n | grep pdf); do
count_file=$(pdfinfo $file | awk '/^Pages:/ {print $2}')
echo "$count_file pages in $file"
total=$(($total + count_file))
count=$((count + 1))
done
echo "
-> Total page count: $total
-> Total files: $count
-> Median: $(($total / $count))
"
fi
+1
View File
@@ -7,6 +7,7 @@ else
echo "y" >~/.config/janishutz/docked
fi
sleep 1
hyprctl reload
echo "Switched to docked mode"
-10
View File
@@ -1,10 +0,0 @@
#!/bin/sh
enabled=$(hyprctl getoption input:kb_options | grep "caps:swapescape")
if [[ $enabled == "" ]]; then
hyprctl keyword input:kb_options "caps:swapescape"
notify-send "Swapescape enabled"
else
hyprctl keyword input:kb_options ""
notify-send "Swapescape disabled"
fi
+1 -1
View File
@@ -1,5 +1,5 @@
#!/bin/sh
cd ~/projects/nvim/
cd ~/projects/system/nvim/
git pull
./nvim-install.sh
+3
View File
@@ -37,6 +37,9 @@ rm -rf ~/.config/ags
rm -rf ~/.config/astal
cp -r ./config/* ~/.config
# Makes kitty use the DMS theme config
rm ~/.config/kitty/current-theme.conf
cp ./linters/indentconfig_import.yaml ~/.indentconfig.yaml
confirmation=""
read -p "Use repo version of DMS config? (y/N) " confirmation
+4
View File
@@ -0,0 +1,4 @@
complete -a "base jupyter node php python torch-rocm vue webserver" -c dev-containers -f
complete -a "rm" -d "Delete the container for this folder" -c dev-containers -f
complete -a "help" -d "Show help" -c dev-containers -f
complete -a "shell" -d "Create an extra shell for the currently running container" -c dev-containers -f
+1 -1
View File
@@ -5,13 +5,13 @@
#
QT_QPA_PLATFORM=wayland
QT_QPA_PLATFORMTHEME=qt6ct
GCM_CREDENTIAL_STORE=secretservice
RADV_PERFTEST_RT=1
ANDROID_HOME=/home/janis/Android/Sdk
EDITOR=nvim
PAGER=nvimpager
MANPAGER=nvimpager
# QT_QPA_PLATFORMTHEME=gtk3
# GTK_THEME=Adaptive-Theme
# GTK_THEME=Material-Black-Blueberry
# QT_STYLE_OVERRIDE=kvantum