Compare commits
25
Commits
3bec7f4d9e
..
new
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c7780ea9d8 | ||
|
|
08c3d41ff2 | ||
|
|
ecaab3e673 | ||
|
|
6d2306e3f7 | ||
|
|
0ec2614799 | ||
|
|
62de408edd | ||
|
|
90bc568a06 | ||
|
|
dc2ed58d20 | ||
|
|
c404e5107e | ||
|
|
0f848aa16c | ||
|
|
7e4c52d4d1 | ||
|
|
12622ce815 | ||
|
|
2ecc89b6b3 | ||
|
|
682750bf63 | ||
|
|
cad9b833ae | ||
|
|
b99e6fe109 | ||
|
|
e7e7e7692e | ||
|
|
d3f67649ca | ||
|
|
e37d9f64be | ||
|
|
c51f60064e | ||
|
|
b11a8f82c6 | ||
|
|
e554d98510 | ||
|
|
fd4f36a3c9 | ||
|
|
6123324a1b | ||
|
|
e312c254e8 |
+11
-15
@@ -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,23 +12,18 @@ 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
|
||||
|
||||
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
|
||||
else
|
||||
hl.notification.create({
|
||||
text = "Config for " .. (laptop_config and "laptop" or "desktop") .. " loaded",
|
||||
timeout = 5000,
|
||||
})
|
||||
hl.notification.create({
|
||||
text = "Emergency docked mode fallback initiated: No external displays detected",
|
||||
timeout = 5000,
|
||||
})
|
||||
is_docked = false
|
||||
end
|
||||
|
||||
-- Core
|
||||
@@ -44,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")
|
||||
@@ -65,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,
|
||||
})
|
||||
|
||||
@@ -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)
|
||||
@@ -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()
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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,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()
|
||||
|
||||
@@ -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-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-clipboard"))
|
||||
exit_submap()
|
||||
end)
|
||||
end, { description = "Take screenshot and Save" })
|
||||
|
||||
hl.bind("Escape", function()
|
||||
exit_submap()
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -13,7 +13,7 @@ hl.config({
|
||||
preserve_split = true,
|
||||
},
|
||||
binds = {
|
||||
workspace_back_and_forth = true,
|
||||
workspace_back_and_forth = false,
|
||||
},
|
||||
cursor = {
|
||||
no_warps = false,
|
||||
|
||||
@@ -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,
|
||||
})
|
||||
|
||||
@@ -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",
|
||||
})
|
||||
|
||||
@@ -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,
|
||||
})
|
||||
|
||||
@@ -1,35 +1,55 @@
|
||||
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,
|
||||
})
|
||||
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,
|
||||
})
|
||||
end
|
||||
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
|
||||
|
||||
@@ -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)",
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
@@ -63,6 +63,11 @@
|
||||
"submap": "workspace",
|
||||
"icon": "monitor",
|
||||
"color": "#2800ee"
|
||||
},
|
||||
{
|
||||
"submap": "groupedlaunch",
|
||||
"icon": "open_in_new",
|
||||
"color": "#005207"
|
||||
}
|
||||
],
|
||||
"fontSize": "none"
|
||||
|
||||
+200
-8
@@ -3,12 +3,15 @@
|
||||
"currentThemeCategory": "dynamic",
|
||||
"customThemeFile": "",
|
||||
"registryThemeVariants": {},
|
||||
"matugenScheme": "scheme-content",
|
||||
"matugenScheme": "scheme-tonal-spot",
|
||||
"matugenContrast": 0,
|
||||
"runUserMatugenTemplates": true,
|
||||
"matugenTargetMonitor": "",
|
||||
"popupTransparency": 1,
|
||||
"dockTransparency": 1,
|
||||
"widgetBackgroundColor": "sch",
|
||||
"widgetBackgroundCustomColor": "#6750A4",
|
||||
"widgetBackgroundCustomStrength": 0.5,
|
||||
"widgetColorMode": "colorful",
|
||||
"controlCenterTileColorMode": "primary",
|
||||
"buttonColorMode": "primary",
|
||||
@@ -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,
|
||||
@@ -64,6 +88,12 @@
|
||||
"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,
|
||||
@@ -140,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",
|
||||
@@ -170,6 +231,7 @@
|
||||
"appsDockEnlargePercentage": 125,
|
||||
"appsDockIconSizePercentage": 100,
|
||||
"keyboardLayoutNameCompactMode": false,
|
||||
"keyboardLayoutNameShowIcon": false,
|
||||
"runningAppsCurrentWorkspace": true,
|
||||
"runningAppsGroupByApp": false,
|
||||
"runningAppsCurrentMonitor": false,
|
||||
@@ -179,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",
|
||||
@@ -192,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,
|
||||
"dashTabs": [
|
||||
{
|
||||
"id": "overview",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"id": "media",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"id": "wallpaper",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"id": "weather",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"id": "settings",
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"networkPreference": "wifi",
|
||||
"iconTheme": "Papirus-Dark",
|
||||
"iconThemeDark": "Papirus-Dark",
|
||||
"iconThemeLight": "System Default",
|
||||
"iconThemePerMode": false,
|
||||
"lastAppliedIconTheme": "",
|
||||
"cursorSettings": {
|
||||
"theme": "oreo_spark_blue_cursors",
|
||||
"size": 24,
|
||||
@@ -232,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": 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,
|
||||
@@ -293,6 +421,7 @@
|
||||
"matugenTemplatePywalfox": false,
|
||||
"matugenTemplateZenBrowser": false,
|
||||
"matugenTemplateVesktop": true,
|
||||
"matugenTemplateVencord": true,
|
||||
"matugenTemplateEquibop": false,
|
||||
"matugenTemplateGhostty": false,
|
||||
"matugenTemplateKitty": true,
|
||||
@@ -305,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,
|
||||
@@ -331,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,
|
||||
@@ -348,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,
|
||||
@@ -366,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,
|
||||
@@ -396,9 +555,14 @@
|
||||
"customPowerActionReboot": "",
|
||||
"customPowerActionPowerOff": "",
|
||||
"updaterHideWidget": false,
|
||||
"updaterCheckOnStart": false,
|
||||
"updaterUseCustomCommand": false,
|
||||
"updaterCustomCommand": "",
|
||||
"updaterTerminalAdditionalParams": "",
|
||||
"updaterIntervalSeconds": 86400,
|
||||
"updaterIncludeFlatpak": true,
|
||||
"updaterAllowAUR": false,
|
||||
"updaterIgnoredPackages": [],
|
||||
"displayNameMode": "system",
|
||||
"screenPreferences": {
|
||||
"wallpaper": [
|
||||
@@ -417,6 +581,7 @@
|
||||
"displayProfileAutoSelect": false,
|
||||
"displayShowDisconnected": false,
|
||||
"displaySnapToEdge": true,
|
||||
"connectedFrameBarStyleBackups": {},
|
||||
"barConfigs": [
|
||||
{
|
||||
"id": "default",
|
||||
@@ -603,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
|
||||
}
|
||||
+75
-8
@@ -3,20 +3,87 @@
|
||||
base_path="~/projects/system/dev-env/scripts/"
|
||||
mount_path=$(pwd)
|
||||
if [[ -n "$2" ]]; then
|
||||
name=$2
|
||||
name=$2
|
||||
else
|
||||
name=$(pwd | rev | cut -d "/" -f 1 | rev)
|
||||
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
|
||||
|
||||
-> Creating container $name <-
|
||||
"
|
||||
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 $1 == "rm"; then
|
||||
docker stop $name
|
||||
docker container rm $name
|
||||
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
|
||||
eval "${base_path}/$1-container $name $mount_path"
|
||||
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
|
||||
|
||||
Executable
+20
@@ -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,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
@@ -1,5 +1,5 @@
|
||||
#!/bin/sh
|
||||
|
||||
cd ~/projects/nvim/
|
||||
cd ~/projects/system/nvim/
|
||||
git pull
|
||||
./nvim-install.sh
|
||||
|
||||
@@ -37,6 +37,8 @@ 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=""
|
||||
|
||||
@@ -1,2 +1,4 @@
|
||||
complete -a "base node php python torch-rocm vue webserver" -c dev-containers -f
|
||||
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
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user