diff --git a/home/.config/hypr/hyprland.d/keybinds.conf b/home/.config/hypr/hyprland.d/keybinds.conf index 2df0dd5..61039bb 100644 --- a/home/.config/hypr/hyprland.d/keybinds.conf +++ b/home/.config/hypr/hyprland.d/keybinds.conf @@ -63,6 +63,16 @@ bindl = , XF86AudioPause, exec, playerctl play-pause bindl = , XF86AudioPlay, exec, playerctl play-pause bindl = , XF86AudioPrev, exec, playerctl previous +# ##################### +# ### NOTIFICATIONS ### +# ##################### + +bind = CTRL, grave, exec, swaync-client --close-latest +bind = CTRL_SHIFT, grave, exec, swaync-client --close-all +bind = CTRL_ALT, grave, exec, swaync-client --hide-latest +bind = CTRL, period, exec, swaync-client --toggle-panel +bind = SUPER_SHIFT, D, exec, toggle-notifications + # ########################## # ### BRIGHTNESS CONTROL ### # ########################## diff --git a/home/.config/hypr/hyprland.d/window_rules.conf b/home/.config/hypr/hyprland.d/window_rules.conf index c1b6688..a8e3ac6 100644 --- a/home/.config/hypr/hyprland.d/window_rules.conf +++ b/home/.config/hypr/hyprland.d/window_rules.conf @@ -5,6 +5,7 @@ windowrulev2 = workspace 2, class:^(firefox)$ windowrulev2 = workspace 4, class:^(discord)$ windowrulev2 = workspace 4, class:^(vesktop)$ +windowrulev2 = workspace 4, class:^(Slack)$ windowrulev2 = workspace 4, class:^(WebCord)$ windowrulev2 = workspace 5, class:^(Spotify)$ windowrulev2 = workspace 6, class:^(Stremio)$ diff --git a/home/.config/systemd/user/hyprlock.service b/home/.config/systemd/user/hyprlock.service new file mode 100644 index 0000000..2dfd084 --- /dev/null +++ b/home/.config/systemd/user/hyprlock.service @@ -0,0 +1,17 @@ +[Unit] +Description=Run hyprlock screenlocker on lock dbus event (using systemd-lock-handler) +Requisite=graphical-session.target +# If hyprlock exits cleanly, enter a 'unlock' target +OnSuccess=unlock.target +# When lock is stopped, stop this unit too +PartOf=lock.target + +[Service] +ExecStart=/usr/bin/hyprlock +StandardOutput=journal +ExecStopPost=/bin/loginctl unlock-session +Restart=on-failure +Slice=session-graphical.slice + +[Install] +WantedBy=lock.target diff --git a/home/.config/systemd/user/swaync-inhibit-lock.service b/home/.config/systemd/user/swaync-inhibit-lock.service new file mode 100644 index 0000000..658342b --- /dev/null +++ b/home/.config/systemd/user/swaync-inhibit-lock.service @@ -0,0 +1,12 @@ +[Unit] +Description=Inhibit swaync notifications on lock dbus event (using systemd-lock-handler) +Requisite=swaync.service +Before=lock.target + +[Service] +Type=oneshot +ExecStart=/usr/bin/swaync-client --inhibitor-add screen-locker +Slice=session-graphical.slice + +[Install] +WantedBy=lock.target diff --git a/home/.config/systemd/user/swaync-inhibit-unlock.service b/home/.config/systemd/user/swaync-inhibit-unlock.service new file mode 100644 index 0000000..0e79678 --- /dev/null +++ b/home/.config/systemd/user/swaync-inhibit-unlock.service @@ -0,0 +1,12 @@ +[Unit] +Description=Uninhibit swaync notifications on unlock event +Requisite=swaync.service +After=unlock.target + +[Service] +Type=oneshot +ExecStart=/usr/bin/swaync-client --inhibitor-remove screen-locker +Slice=session-graphical.slice + +[Install] +WantedBy=unlock.target diff --git a/home/.config/user-dirs.dirs b/home/.config/user-dirs.dirs index 083d4be..f90b762 100644 --- a/home/.config/user-dirs.dirs +++ b/home/.config/user-dirs.dirs @@ -7,8 +7,8 @@ # #XDG_DESKTOP_DIR="$HOME/Desktop" XDG_DOWNLOAD_DIR="$HOME/Downloads" -XDG_TEMPLATES_DIR="$XDG_DATA_HOME/templates" -XDG_PUBLICSHARE_DIR="$XDG_DATA_HOME/public" +XDG_TEMPLATES_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/templates" +XDG_PUBLICSHARE_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/public" #XDG_DOCUMENTS_DIR="$HOME/Documents" XDG_MUSIC_DIR="$HOME/Media/Music" XDG_PICTURES_DIR="$HOME/Media/Pictures" diff --git a/install_gui.sh b/install_gui.sh index aec8328..215fb3c 100755 --- a/install_gui.sh +++ b/install_gui.sh @@ -146,7 +146,7 @@ gsettings set org.gnome.desktop.interface cursor-size 24 # Services sudo systemctl enable --now seatd.service -systemctl --user enable polkit-gnome-agent.service fumon.service hyprpaper.service hypridle.service hyprsunset.service elephant.service walker.service swaync.service +systemctl --user enable polkit-gnome-agent.service fumon.service hyprpaper.service hypridle.service hyprsunset.service elephant.service walker.service swaync.service systemd-lock-handler.service hyprlock.service swaync-inhibit-lock.service swaync-inhibit-unlock.service echo "GUI Installation finished, you should now reboot and run uwsm start hyprland.desktop" echo ""