Compare commits

...

9 Commits

Author SHA1 Message Date
Andrew 4f4dae9181 Update DMS and add autostart rule 2026-07-11 11:46:47 -04:00
Andrew a6067c85b8 Improve Dank Linux Integration 2026-06-26 23:04:50 -04:00
Andrew 73183dab49 Improve window rules 2026-06-21 20:30:49 -04:00
Andrew 586ddf3952 Use Nvidia and decrease space around windows 2026-06-18 21:16:06 -04:00
Andrew b08732e898 Add more DMS-related keybinds 2026-06-04 20:39:44 -04:00
Andrew b228ba16fa Replace hyprlauncher with DMS Shell launcher 2026-06-04 15:05:00 -04:00
Andrew 7e47956fdb Tune scrolling layout 2026-05-25 16:59:50 -04:00
Andrew 00139c7023 Add workspace rules 2026-05-25 16:51:51 -04:00
Andrew f115c971c8 Rebuild keyboard config 2026-05-25 15:54:25 -04:00
12 changed files with 233 additions and 13 deletions
@@ -0,0 +1,25 @@
# ! Auto-generated file. Do not edit directly.
# Remove source = ./dms/colors.conf from your config to override.
$primary = rgb(d0bcff)
$outline = rgb(948f99)
$error = rgb(f2b8b5)
general {
col.active_border = $primary
col.inactive_border = $outline
}
group {
col.border_active = $primary
col.border_inactive = $outline
col.border_locked_active = $error
col.border_locked_inactive = $outline
groupbar {
col.active = $primary
col.inactive = $outline
col.locked_active = $error
col.locked_inactive = $outline
}
}
@@ -0,0 +1,11 @@
# Auto-generated by DMS - do not edit manually
general {
gaps_in = 4
gaps_out = 4
border_size = 2
}
decoration {
rounding = 12
}
+7
View File
@@ -0,0 +1,7 @@
{
"workspace": {
"library": [
/usr/share/hypr/stubs"
]
}
}
+3
View File
@@ -0,0 +1,3 @@
hl.on("hyprland.start", function()
hl.exec_cmd("dms run")
end)
+2
View File
@@ -0,0 +1,2 @@
-- Auto-generated by DMS — do not edit manually
+18
View File
@@ -0,0 +1,18 @@
-- Auto-generated by DMS — do not edit manually
hl.config({
general = {
gaps_in = 4,
gaps_out = 4,
border_size = 2,
resize_on_border = false,
},
decoration = {
rounding = 12,
},
})
hl.layer_rule({
match = { namespace = "^dms:bar$" },
xray = true,
})
View File
+30 -13
View File
@@ -19,10 +19,11 @@ hl.monitor({
output = "",
mode = "preferred",
position = "auto",
scale = "auto",
scale = 1,
})
---------------------
---- MY PROGRAMS ----
---------------------
@@ -58,6 +59,15 @@ local menu = "hyprlauncher"
hl.env("XCURSOR_SIZE", "24")
hl.env("HYPRCURSOR_SIZE", "24")
hl.env("LIBVA_DRIVER_NAME", "nvidia")
hl.env("__GLX_VENDOR_LIBRARY_NAME", "nvidia")
-- Dank Linux Shell Variables:
hl.env("QT_QPA_Plafrom", "wayland")
hl.env("ELECTRON_OZONE_PLATFORM_HINT", "auto")
hl.env("QT_QPA_PLATFORMTHEME", "gtk3")
hl.env("QT_QPA_PLATFORMTHEME_QT6", "gtk3")
-----------------------
----- PERMISSIONS -----
@@ -86,7 +96,7 @@ hl.env("HYPRCURSOR_SIZE", "24")
hl.config({
general = {
gaps_in = 5,
gaps_out = 20,
gaps_out = 7,
border_size = 2,
@@ -196,6 +206,8 @@ hl.config({
hl.config({
scrolling = {
fullscreen_on_one_column = true,
column_width = 0.80,
focus_fit_method = 0
},
})
@@ -210,7 +222,6 @@ hl.config({
},
})
---------------
---- INPUT ----
---------------
@@ -251,18 +262,20 @@ hl.device({
---- KEYBINDINGS ----
---------------------
require('keybinds')
local mainMod = "SUPER" -- Sets "Windows" key as main modifier
-- Example binds, see https://wiki.hypr.land/Configuring/Basics/Binds/ for more
hl.bind(mainMod .. " + Q", hl.dsp.exec_cmd(terminal))
-- hl.bind(mainMod .. " + Q", hl.dsp.exec_cmd(terminal))
local closeWindowBind = hl.bind(mainMod .. " + C", hl.dsp.window.close())
-- closeWindowBind:set_enabled(false)
hl.bind(mainMod .. " + M", hl.dsp.exec_cmd("command -v hyprshutdown >/dev/null 2>&1 && hyprshutdown || hyprctl dispatch 'hl.dsp.exit()'"))
hl.bind(mainMod .. " + E", hl.dsp.exec_cmd(fileManager))
hl.bind(mainMod .. " + V", hl.dsp.window.float({ action = "toggle" }))
hl.bind(mainMod .. " + R", hl.dsp.exec_cmd(menu))
hl.bind(mainMod .. " + P", hl.dsp.window.pseudo())
hl.bind(mainMod .. " + J", hl.dsp.layout("togglesplit")) -- dwindle only
closeWindowBind:set_enabled(false)
-- hl.bind(mainMod .. " + M", hl.dsp.exec_cmd("command -v hyprshutdown >/dev/null 2>&1 && hyprshutdown || hyprctl dispatch 'hl.dsp.exit()'"))
-- hl.bind(mainMod .. " + E", hl.dsp.exec_cmd(fileManager))
-- hl.bind(mainMod .. " + V", hl.dsp.window.float({ action = "toggle" }))
-- hl.bind(mainMod .. " + R", hl.dsp.exec_cmd(menu))
-- hl.bind(mainMod .. " + P", hl.dsp.window.pseudo())
-- hl.bind(mainMod .. " + J", hl.dsp.layout("togglesplit")) -- dwindle only
-- Move focus with mainMod + arrow keys
hl.bind(mainMod .. " + left", hl.dsp.focus({ direction = "left" }))
@@ -287,8 +300,8 @@ hl.bind(mainMod .. " + mouse_down", hl.dsp.focus({ workspace = "e+1" }))
hl.bind(mainMod .. " + mouse_up", hl.dsp.focus({ workspace = "e-1" }))
-- Move/resize windows with mainMod + LMB/RMB and dragging
hl.bind(mainMod .. " + mouse:272", hl.dsp.window.drag(), { mouse = true })
hl.bind(mainMod .. " + mouse:273", hl.dsp.window.resize(), { mouse = true })
-- hl.bind(mainMod .. " + mouse:272", hl.dsp.window.drag(), { mouse = true })
-- hl.bind(mainMod .. " + mouse:273", hl.dsp.window.resize(), { mouse = true })
-- Laptop multimedia keys for volume and LCD brightness
hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"), { locked = true, repeating = true })
@@ -309,6 +322,8 @@ hl.bind("XF86AudioPrev", hl.dsp.exec_cmd("playerctl previous"), { locked = tr
---- WINDOWS AND WORKSPACES ----
--------------------------------
require("workspaces")
-- See https://wiki.hypr.land/Configuring/Basics/Window-Rules/
-- and https://wiki.hypr.land/Configuring/Basics/Workspace-Rules/
@@ -355,3 +370,5 @@ hl.window_rule({
float = true,
})
require('windowrules')
require('autostart')
+83
View File
@@ -0,0 +1,83 @@
local mainMod = "SUPER"
local terminal = "kitty"
local browser = "flatpak run app.zen_browser.zen"
local fileManager = "dolphin"
local menu = "dms ipc call spotlight open"
local calculator = "kcalc"
hl.bind(mainMod .. " + RETURN", hl.dsp.exec_cmd(terminal))
hl.bind(mainMod .. " + B", hl.dsp.exec_cmd(browser))
hl.bind(mainMod .. " + E", hl.dsp.exec_cmd(fileManager))
hl.bind(mainMod .. " + SPACE", hl.dsp.exec_cmd(menu))
local closeWindowBind = hl.bind(mainMod .. " + Q", hl.dsp.window.close())
hl.bind(mainMod .. " + F", hl.dsp.window.fullscreen({ action = "toggle" }))
hl.bind(mainMod .. " + M", hl.dsp.window.fullscreen({ mode = "maximized" }))
hl.bind(mainMod .. " + T", hl.dsp.window.float({action = "toggle"}))
hl.bind(mainMod .. " + mouse:272", hl.dsp.window.drag(), { mouse = true })
hl.bind(mainMod .. " + mouse:273", hl.dsp.window.resize(), { mouse = true})
hl.bind(mainMod .. " + K", hl.dsp.window.swap({ prev = 1 }))
hl.bind(mainMod .. " + J", hl.dsp.window.swap({ direction = "down" }))
hl.bind(mainMod .. " + L", hl.dsp.exec_cmd("dms ipc call lock lock"))
hl.bind(mainMod .. " + CTRL + Q", hl.dsp.exec_cmd("dms ipc call powermenu open"))
hl.bind(mainMod .. " + CTRL + R", hl.dsp.exec_cmd("hyprctl reload"))
-- Specialized Keybinds (such as play, volume up/down, etc)
hl.bind("XF86MonBrightnessUp", hl.dsp.exec_cmd("brightnessctl -q s +10%"))
hl.bind("XF86MonBrightnessDown", hl.dsp.exec_cmd("brightnessctl -q s 10-%"))
hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"))
hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"))
hl.bind("XF86AudioMute", hl.dsp.exec_cmd("pactl set-sink-mute @DEFAULT_SINK@ toggle"))
hl.bind("XF86AudioPlay", hl.dsp.exec_cmd("playerctl play-pause"))
hl.bind("XF86AudioPause", hl.dsp.exec_cmd("playerctl pause"))
hl.bind("XF86AudioNext", hl.dsp.exec_cmd("playerctl next"))
hl.bind("XF86AudioPrev", hl.dsp.exec_cmd("playerctl previous"))
hl.bind("code:238", hl.dsp.exec_cmd("brightnessctl -d smc::kbd_backlight s +10"))
hl.bind("XF86Calculator", hl.dsp.exec_cmd(calculator))
-- Grouping Related submaps
hl.bind(mainMod .. " + G", hl.dsp.submap("group"))
hl.define_submap("group", function()
hl.bind(mainMod .. " + G", function()
hl.dsp.group.toggle()
hl.dsp.submap("reset")
end)
hl.bind(mainMod .. " + H", function()
hl.dsp.window.move({ into_or_create_group = "left" })
hl.dsp.submap("reset")
end)
hl.bind(mainMod .. " + L", function()
hl.dsp.window.move({into_or_create_group = "right" })
hl.dsp.submap("reset")
end)
hl.bind(mainMod .. " + K", function()
hl.dsp.window.move({into_or_create_group = "up"})
hl.dsp.submap("reset")
end)
hl.bind(mainMod .. " + J", function()
hl.dsp.window.move({into_or_create_group = "down"})
hl.dsp.submap("reset")
end)
hl.bind(mainMod .. " + bracketleft", hl.dsp.group.prev())
hl.bind(mainMod .. " + bracketright", hl.dsp.group.next())
hl.bind("ESCAPE", hl.dsp.submap("reset"))
end)
hl.on("keybinds.submap", function (n)
hl.notification.create({ text = "Entered submap: " .. n, timeout = 5000, icon = "ok"})
end)
+43
View File
@@ -0,0 +1,43 @@
-- JetBrains Rules start
hl.window_rule({
name = "tab-drag-no-initial-focus",
match = {
class = "^jetbrains-(?!toolbox)",
title = "^(!win.*)",
},
no_initial_focus = true,
})
hl.window_rule({
name = "no-focus-tab-drag-jb",
match = {
class = "^(.*jetbrains.*)$",
title = "^\\s$",
},
no_focus = true,
})
hl.window_rule({
name = "jetbrains-tag",
match = {
class = "^jetbrains%-.*",
initial_title = "^$",
},
tag = "+jb",
})
hl.window_rule({
name = "jetbrains-focus",
match = {
tag = "jb",
},
focus_on_activate = true,
no_initial_focus = true,
})
-- JetBrains Rules end
hl.window_rule({
name = "Picture-in-Picture",
match = {
title = "Picture-in-Picture",
},
float = true,
})
+11
View File
@@ -0,0 +1,11 @@
hl.workspace_rule({ workspace = "1", monitor = "eDP-1", layout = "scrolling"})
hl.workspace_rule({ workspace = "3", monitor = "eDP-1", layout = "scrolling"})
hl.workspace_rule({ workspace = "5", monitor = "eDP-1", layout = "scrolling"})
hl.workspace_rule({ workspace = "7", monitor = "eDP-1", layout = "scrolling"})
hl.workspace_rule({ workspace = "9", monitor = "eDP-1", layout = "scrolling"})
hl.workspace_rule({ workspace = 2, monitor = "HDMI-A-3" })
hl.workspace_rule({ workspace = 4, monitor = "HDMI-A-3" })
hl.workspace_rule({ workspace = 6, monitor = "HDMI-A-3" })
hl.workspace_rule({ workspace = 8, monitor = "HDMI-A-3" })
hl.workspace_rule({ workspace = 0, monitor = "HDMI-A-3" })