feat(hypr): dunst, swaylock

This commit is contained in:
js0ny 2025-04-09 01:23:32 +01:00
parent 5c526106ee
commit 4270bc9e5d
13 changed files with 846 additions and 232 deletions

View file

@ -12,3 +12,8 @@ listener {
on-timeout = swaylock # command to run when timeout has passed
on-resume = notify-send "Welcome back!" # command to run when activity is detected after timeout has fired.
}
listener {
timeout = 1800 # 30min
on-timeout = systemctl suspend # suspend pc
}

View file

@ -14,7 +14,11 @@
# OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS.
# #######################################################################################
source=~/.config/hypr/dark.conf
$mainMod = SUPER # Sets "Windows" key as main modifier
source=~/.config/hypr/hyprland/dark.conf
source=~/.config/hypr/hyprland/+colemak.conf
source=~/.config/hypr/hyprland/rules.conf
autogenerated = 0 # remove this line to remove the warning
@ -25,11 +29,6 @@ autogenerated = 0 # remove this line to remove the warning
# Please note not all available settings / options are set here.
# For a full list, see the wiki
# You can split this configuration into multiple files
# Create your files separately and then link them to this file like this:
# source = ~/.config/hypr/myColors.conf
#
xwayland {
force_zero_scaling = true
}
@ -87,9 +86,6 @@ exec-once = wl-paste --watch cliphist store
exec-once = blueman-applet &
# Time Tracker
exec-once = aw-qt &
# https://github.com/hyprwm/Hyprland/discussions/5867
exec = gsettings set org.gnome.desktop.interface gtk-theme "Breeze-Dark" # for GTK3 apps
exec = gsettings set org.gnome.desktop.interface color-scheme "prefer-dark" # for GTK4 apps
@ -104,7 +100,6 @@ exec = gsettings set org.gnome.desktop.interface color-scheme "prefer-dark" #
env = HYPRCURSOR_SIZE,24
env = QT_QPA_PLATFORMTHEME,qt6ct # for Qt apps
# https://discuss.kde.org/t/the-themes-i-use-with-qt6ct-are-not-applied-in-discover/17118
env = QT_QUICK_CONTROLS_STYLE,org.kde.desktop
env = LC_CTYPE,en_GB.UTF-8
@ -264,13 +259,15 @@ device {
$mainMod = SUPER # Sets "Windows" key as main modifier
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
## Open Applications
bind = $mainMod, R, exec, $terminal
bind = $mainMod, Q, killactive,
# bind = $mainMod, M, exit,
bind = $mainMod, F, exec, $fileManager
bind = $mainMod, V, exec, cliphist list | $menu -dmenu | cliphist decode | wl-copy
bind = $mainMod, W, exec, $menu -show window
bind = $mainMod SHIFT, F, exec, hyprctl --batch "dispatch togglefloating ; dispatch resizeactive exact 800 1000 ; dispatch centerwindow 1;"
bind = $mainMod SHIFT, F, exec, hyprctl --batch "dispatch togglefloating ; dispatch resizeactive exact 1440 810 ; dispatch centerwindow 1;"
@ -283,17 +280,10 @@ bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d
bind = $mainMod, h, movefocus, l
bind = $mainMod, i, movefocus, r
bind = $mainMod, e, movefocus, u
bind = $mainMod, n, movefocus, d
bind = $mainMod SHIFT, h, swapwindow, l
bind = $mainMod SHIFT, i, swapwindow, r
bind = $mainMod SHIFT, e, swapwindow, u
bind = $mainMod SHIFT, n, swapwindow, d
bind = $mainMod SHIFT, l, exec, swaylock
bind = $mainMod, c, exec, grimblast copysave area $HOME/Pictures/Screenshots/"$(date +%Y%m%d-%H%M%S)"
# Switch workspaces with mainMod + [0-9]
@ -321,8 +311,8 @@ bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10
# Example special workspace (scratchpad)
bind = $mainMod, S, togglespecialworkspace, magic
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
bind = $mainMod, GRAVE, togglespecialworkspace, magic
bind = $mainMod SHIFT, GRAVE, movetoworkspace, special:magic
# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1
@ -346,23 +336,3 @@ bindl = , XF86AudioPause, exec, playerctl play-pause
bindl = , XF86AudioPlay, exec, playerctl play-pause
bindl = , XF86AudioPrev, exec, playerctl previous
##############################
### WINDOWS AND WORKSPACES ###
##############################
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
# Example windowrule v1
# windowrule = float, ^(kitty)$
# Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
# Ignore maximize requests from apps. You'll probably like this.
windowrulev2 = suppressevent maximize, class:.*
# Fix some dragging issues with XWayland
windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
windowrulev2 = float, class:qt6ct,

View file

@ -0,0 +1,10 @@
bind = $mainMod, H, movefocus, l
bind = $mainMod, I, movefocus, r
bind = $mainMod, E, movefocus, u
bind = $mainMod, N, movefocus, d
bind = $mainMod SHIFT, H, swapwindow, l
bind = $mainMod SHIFT, I, swapwindow, r
bind = $mainMod SHIFT, E, swapwindow, u
bind = $mainMod SHIFT, N, swapwindow, d
bind = $mainMod, F, exec, $fileManager

View file

@ -0,0 +1,11 @@
bind = $mainMod, H, movefocus, l
bind = $mainMod, L, movefocus, r
bind = $mainMod, K, movefocus, u
bind = $mainMod, J, movefocus, d
bind = $mainMod SHIFT, H, swapwindow, l
bind = $mainMod SHIFT, L, swapwindow, r
bind = $mainMod SHIFT, K, swapwindow, u
bind = $mainMod SHIFT, J, swapwindow, d
bind = $mainMod, E, exec, $fileManager

View file

@ -76,3 +76,9 @@ $mantleAlpha = 181825
$crust = rgb(11111b)
$crustAlpha = 11111b
# https://github.com/hyprwm/Hyprland/discussions/5867
exec = gsettings set org.gnome.desktop.interface gtk-theme "BreezeDark" # for GTK3 apps
exec = gsettings set org.gnome.desktop.interface color-scheme "prefer-dark" # for GTK4 apps
exec = kwriteconfig5 --group "General" --key "ColorScheme" "BreezeDark"
exec = hyprsunset -t 6000 &

View file

@ -0,0 +1,78 @@
##############################
### WINDOWS AND WORKSPACES ###
##############################
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
# Example windowrule v1
# windowrule = float, ^(kitty)$
# Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
# Ignore maximize requests from apps. You'll probably like this.
windowrulev2 = suppressevent maximize, class:.*
# Fix some dragging issues with XWayland
windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
windowrulev2 = float, class:qt6ct
windowrulev2 = float, size 2560 1440, class:^(org.kde.gwenview)$
windowrulev2 = float, size 50%, center, class:^(org.kde.konsole)$
windowrulev2 = float, class:^(steam)$
# Browser Extension Popup
windowrulev2 = float, title:^(Bitwarden - )(.*)$
# Picture-in-Picture
windowrulev2 = float, title:^([Pp]icture[-\s]?[Ii]n[-\s]?[Pp]icture)(.*)$
windowrulev2 = keepaspectratio, title:^([Pp]icture[-\s]?[Ii]n[-\s]?[Pp]icture)(.*)$
windowrulev2 = move 73% 72%, title:^([Pp]icture[-\s]?[Ii]n[-\s]?[Pp]icture)(.*)$
windowrulev2 = size 25%, title:^([Pp]icture[-\s]?[Ii]n[-\s]?[Pp]icture)(.*)$
windowrulev2 = float, title:^([Pp]icture[-\s]?[Ii]n[-\s]?[Pp]icture)(.*)$
windowrulev2 = pin, title:^([Pp]icture[-\s]?[Ii]n[-\s]?[Pp]icture)(.*)$
windowrulev2 = float, title:^(画中画)(.*)$
windowrulev2 = keepaspectratio, title:^(画中画)(.*)$
windowrulev2 = move 73% 72%, title:^(画中画)(.*)$
windowrulev2 = size 25%, title:^(画中画)(.*)$
windowrulev2 = float, title:^(画中画)(.*)$
windowrulev2 = pin, title:^(画中画)(.*)$
# Dialog windows float+center these windows.
windowrulev2 = center, title:^(Open File)(.*)$
windowrulev2 = center, title:^(打开文件)(.*)$
windowrulev2 = center, title:^(Select a File)(.*)$
windowrulev2 = center, title:^(选择文件)(.*)$
windowrulev2 = center, title:^(Choose wallpaper)(.*)$
windowrulev2 = center, title:^(Open Folder)(.*)$
windowrulev2 = center, title:^(Save As)(.*)$
windowrulev2 = center, title:^(保存)(.*)$
windowrulev2 = center, title:^(Library)(.*)$
windowrulev2 = center, title:^(File Upload)(.*)$
windowrulev2 = float, title:^(Open File)(.*)$
windowrulev2 = center, title:^(打开文件)(.*)$
windowrulev2 = float, title:^(Select a File)(.*)$
windowrulev2 = center, title:^(选择文件)(.*)$
windowrulev2 = float, title:^(Choose wallpaper)(.*)$
windowrulev2 = float, title:^(Open Folder)(.*)$
windowrulev2 = float, title:^(Save As)(.*)$
windowrulev2 = center, title:^(保存)(.*)$
windowrulev2 = float, title:^(Library)(.*)$
windowrulev2 = float, title:^(File Upload)(.*)$
# Centering pictures preview windows
# Telegram
windowrulev2 = center, title:^(Media viewer)(.*)$
windowrulev2 = float, title:^(Media viewer)(.*)$
windowrulev2 = size 50%, title:^(Media viewer)(.*)$
# WeChat
windowrulev2 = center, title:^(预览)(.*)$
windowrulev2 = float, title:^(预览)(.*)$
windowrulev2 = size 50%, title:^(预览)(.*)$
# QQ
windowrulev2 = center, title:^(图片查看器)(.*)$
windowrulev2 = float, title:^(图片查看器)(.*)$
windowrulev2 = size 50%, title:^(图片查看器)(.*)$