Added EXPERIMENTAL hyprland config

This commit is contained in:
2026-01-13 20:59:27 +01:00
parent f24a7a24f9
commit e3b8b06eeb
7 changed files with 319 additions and 1 deletions

View File

@@ -0,0 +1,111 @@
bind = ALT, Print, exec, dms screenshot window
bind = CTRL ALT, Delete, exec, dms ipc call processlist focusOrToggle
bind = CTRL, Print, exec, dms screenshot full
bind = , Print, exec, dms screenshot
bind = SUPER ALT, L, exec, dms ipc call lock lock
bind = SUPER, M, exec, dms ipc call processlist focusOrToggle
bind = SUPER, N, exec, dms ipc call notifications toggle
bind = SUPER SHIFT, N, exec, dms ipc call notepad toggle
bind = SUPER SHIFT, Slash, exec, dms ipc call keybinds toggle hyprland
bind = SUPER, TAB, exec, dms ipc call hypr toggleOverview
bind = SUPER, V, exec, dms ipc call clipboard toggle
bind = SUPER, X, exec, dms ipc call powermenu toggle
bind = SUPER, Y, exec, dms ipc call dankdash wallpaper
bind = SUPER, comma, exec, dms ipc call settings focusOrToggle
bind = SUPER, space, exec, dms ipc call spotlight toggle
bindel = , XF86AudioLowerVolume, exec, dms ipc call audio decrement 3
bindl = , XF86AudioMicMute, exec, dms ipc call audio micmute
bindl = , XF86AudioMute, exec, dms ipc call audio mute
bindl = , XF86AudioNext, exec, dms ipc call mpris next
bindl = , XF86AudioPause, exec, dms ipc call mpris playPause
bindl = , XF86AudioPlay, exec, dms ipc call mpris playPause
bindl = , XF86AudioPrev, exec, dms ipc call mpris previous
bindel = , XF86AudioRaiseVolume, exec, dms ipc call audio increment 3
bindel = , XF86MonBrightnessDown, exec, dms ipc call brightness decrement 5 ""
bindel = , XF86MonBrightnessUp, exec, dms ipc call brightness increment 5 ""
bind = SUPER, 1, workspace, 1
bind = SUPER, 2, workspace, 2
bind = SUPER, 3, workspace, 3
bind = SUPER, 4, workspace, 4
bind = SUPER, 5, workspace, 5
bind = SUPER, 6, workspace, 6
bind = SUPER, 7, workspace, 7
bind = SUPER, 8, workspace, 8
bind = SUPER, 9, workspace, 9
bind = SUPER CTRL, I, movetoworkspace, e-1
bind = SUPER CTRL, U, movetoworkspace, e+1
bind = SUPER CTRL, down, movetoworkspace, e+1
bind = SUPER CTRL, mouse_down, movetoworkspace, e+1
bind = SUPER CTRL, mouse_up, movetoworkspace, e-1
bind = SUPER CTRL, up, movetoworkspace, e-1
bind = SUPER, I, workspace, e-1
bind = SUPER, Page_Down, workspace, e+1
bind = SUPER, Page_Up, workspace, e-1
bind = SUPER SHIFT, 1, movetoworkspace, 1
bind = SUPER SHIFT, 2, movetoworkspace, 2
bind = SUPER SHIFT, 3, movetoworkspace, 3
bind = SUPER SHIFT, 4, movetoworkspace, 4
bind = SUPER SHIFT, 5, movetoworkspace, 5
bind = SUPER SHIFT, 6, movetoworkspace, 6
bind = SUPER SHIFT, 7, movetoworkspace, 7
bind = SUPER SHIFT, 8, movetoworkspace, 8
bind = SUPER SHIFT, 9, movetoworkspace, 9
bind = SUPER SHIFT, I, movetoworkspace, e-1
bind = SUPER SHIFT, Page_Down, movetoworkspace, e+1
bind = SUPER SHIFT, Page_Up, movetoworkspace, e-1
bind = SUPER SHIFT, U, movetoworkspace, e+1
bind = SUPER, U, workspace, e+1
bind = SUPER, mouse_down, workspace, e+1
bind = SUPER, mouse_up, workspace, e-1
bind = SUPER CTRL, F, resizeactive, exact 100%
bind = SUPER CTRL, H, focusmonitor, l
bind = SUPER CTRL, J, focusmonitor, d
bind = SUPER CTRL, K, focusmonitor, u
bind = SUPER CTRL, L, focusmonitor, r
bind = SUPER CTRL, left, focusmonitor, l
bind = SUPER CTRL, right, focusmonitor, r
bind = SUPER, End, focuswindow, last
bind = SUPER, H, movefocus, l
bind = SUPER, Home, focuswindow, first
bind = SUPER, J, movefocus, d
bind = SUPER, K, movefocus, u
bind = SUPER, L, movefocus, r
bind = SUPER SHIFT CTRL, H, movewindow, mon:l
bind = SUPER SHIFT CTRL, J, movewindow, mon:d
bind = SUPER SHIFT CTRL, K, movewindow, mon:u
bind = SUPER SHIFT CTRL, L, movewindow, mon:r
bind = SUPER SHIFT CTRL, down, movewindow, mon:d
bind = SUPER SHIFT CTRL, left, movewindow, mon:l
bind = SUPER SHIFT CTRL, right, movewindow, mon:r
bind = SUPER SHIFT CTRL, up, movewindow, mon:u
bind = SUPER SHIFT, H, movewindow, l
bind = SUPER SHIFT, J, movewindow, d
bind = SUPER SHIFT, K, movewindow, u
bind = SUPER SHIFT, L, movewindow, r
bind = SUPER SHIFT, down, movewindow, d
binde = SUPER SHIFT, equal, resizeactive, 0 10%
bind = SUPER SHIFT, left, movewindow, l
binde = SUPER SHIFT, minus, resizeactive, 0 -10%
bind = SUPER SHIFT, right, movewindow, r
bind = SUPER SHIFT, up, movewindow, u
bindd = SUPER, code:20, Expand window left, resizeactive, -100 0
bindd = SUPER, code:21, Shrink window left, resizeactive, 100 0
bind = SUPER, down, movefocus, d
binde = SUPER, equal, resizeactive, 10% 0
bind = SUPER, left, movefocus, l
binde = SUPER, minus, resizeactive, -10% 0
bindmd = SUPER, mouse:272, Move window, movewindow
bindmd = SUPER, mouse:273, Resize window, resizewindow
bind = SUPER, right, movefocus, r
bind = SUPER, up, movefocus, u
bind = Super, Return, exec, ghostty # ghostty
bind = SUPER SHIFT, E, exit
bind = SUPER SHIFT, P, dpms, toggle
bind = SUPER, F, fullscreen, 1
bind = SUPER, Q, killactive
bind = SUPER, R, layoutmsg, togglesplit
bind = SUPER SHIFT, F, fullscreen, 0
bind = SUPER SHIFT, T, togglefloating
bind = SUPER, W, togglegroup
bind = SUPER, bracketleft, layoutmsg, preselect l
bind = SUPER, bracketright, layoutmsg, preselect r

View File

@@ -0,0 +1,25 @@
# ! Auto-generated file. Do not edit directly.
# Remove source = ./dms/colors.conf from your config to override.
$primary = rgb(e91e63)
$outline = rgb(9f8c8e)
$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
}
}

View File

@@ -0,0 +1,6 @@
# Auto-generated by DMS - do not edit manually
env = HYPRCURSOR_THEME,Sweet-cursors
env = XCURSOR_THEME,Sweet-cursors
env = HYPRCURSOR_SIZE,24
env = XCURSOR_SIZE,24

View File

@@ -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
}

View File

@@ -0,0 +1,4 @@
# Auto-generated by DMS - do not edit manually
monitor = DP-1, 2560x1440@59.951, 2560x0, 1, vrr, 1
monitor = DP-2, 2560x1440@180.002, 0x0, 1

View File

@@ -0,0 +1,118 @@
# Hyprland Configuration
# https://wiki.hypr.land/Configuring/
# ==================
# MONITOR CONFIG
# ==================
# monitor = eDP-2, 2560x1600@239.998993, 2560x0, 1, vrr, 1
monitor = , preferred,auto,auto
# ==================
# STARTUP APPS
# ==================
exec-once = dbus-update-activation-environment --systemd --all
exec-once = systemctl --user start hyprland-session.target
# ==================
# INPUT CONFIG
# ==================
input {
kb_layout = de
numlock_by_default = true
}
# ==================
# GENERAL LAYOUT
# ==================
general {
gaps_in = 5
gaps_out = 5
border_size = 2
layout = dwindle
}
# ==================
# DECORATION
# ==================
decoration {
rounding = 12
active_opacity = 1.0
inactive_opacity = 1.0
shadow {
enabled = true
range = 30
render_power = 5
offset = 0 5
color = rgba(00000070)
}
}
# ==================
# ANIMATIONS
# ==================
animations {
enabled = true
animation = windowsIn, 1, 3, default
animation = windowsOut, 1, 3, default
animation = workspaces, 1, 5, default
animation = windowsMove, 1, 4, default
animation = fade, 1, 3, default
animation = border, 1, 3, default
}
# ==================
# LAYOUTS
# ==================
dwindle {
preserve_split = true
}
master {
mfact = 0.5
}
# ==================
# MISC
# ==================
misc {
disable_hyprland_logo = true
disable_splash_rendering = true
vrr = 1
}
# ==================
# WINDOW RULES
# ==================
windowrule = tile on, match:class ^(org\.wezfurlong\.wezterm)$
windowrule = rounding 12, match:class ^(org\.gnome\.)
windowrule = tile on, match:class ^(gnome-control-center)$
windowrule = tile on, match:class ^(pavucontrol)$
windowrule = tile on, match:class ^(nm-connection-editor)$
windowrule = float on, match:class ^(gnome-calculator)$
windowrule = float on, match:class ^(galculator)$
windowrule = float on, match:class ^(blueman-manager)$
windowrule = float on, match:class ^(org\.gnome\.Nautilus)$
windowrule = float on, match:class ^(steam)$
windowrule = float on, match:class ^(xdg-desktop-portal)$
windowrule = float on, match:class ^(firefox)$, match:title ^(Picture-in-Picture)$
windowrule = float on, match:class ^(zoom)$
# DMS windows floating by default
# ! Hyprland doesn't size these windows correctly so disabling by default here
# windowrule = float on, match:class ^(org.quickshell)$
layerrule = no_anim on, match:namespace ^(quickshell)$
source = ./dms/colors.conf
source = ./dms/outputs.conf
source = ./dms/layout.conf
source = ./dms/cursor.conf
source = ./dms/binds.conf

View File

@@ -117,7 +117,7 @@ for choice in "${desktop[@]}"; do
xdg-desktop-portal-gnome \
xdg-desktop-portal-gtk \
xdg-desktop-portal-wlr \
quickshell \
quickshell-git \
cava \
cliphist \
wl-clipboard \
@@ -146,7 +146,50 @@ for choice in "${desktop[@]}"; do
# dms greeter sync
sudo systemctl enable ly@tty1
;;
"Hyprland")
sudo -v || exit 1
yay -S --needed --noconfirm \
hyprland \
uwsm \
nautilus \
gnome-keyring \
brightnessctl \
cava \
candy-icons-git \
power-profiles-daemon \
qt6ct-kde \
xdg-desktop-portal-gnome \
xdg-desktop-portal-gtk \
xdg-desktop-portal-wlr \
quickshell-git \
cava \
cliphist \
wl-clipboard \
dgop \
matugen-bin \
qt6-multimedia \
dms-shell-bin \
xwayland-satellite \
ly \
noto-fonts-emoji
stow hyprland qt6ct --adopt
xdg-mime default org.gnome.nautilus.desktop inode/directory
mkdir -p "$HOME"/.config/environment.d
echo "QT_QPA_PLATFORMTHEME=qt6ct" >>"$HOME"/.config/environment.d/90-qt.conf
systemctl --user daemon-reload
systemctl --user enable dms
systemctl --user add-wants hyprland-session.target dms
systemctl --user add-wants hyprland-session.target gnome-keyring-daemon.service
# dms greeter enable
# dms greeter sync
sudo systemctl enable ly@tty1
;;
"KDE Plasma")
sudo -v || exit 1
# gum spin --title "Installing KDE Plasma" -- \