summaryrefslogtreecommitdiff
path: root/dotfiles/hyprland/.config/hypr
diff options
context:
space:
mode:
Diffstat (limited to 'dotfiles/hyprland/.config/hypr')
-rw-r--r--dotfiles/hyprland/.config/hypr/hyprland.conf64
1 files changed, 44 insertions, 20 deletions
diff --git a/dotfiles/hyprland/.config/hypr/hyprland.conf b/dotfiles/hyprland/.config/hypr/hyprland.conf
index 709865a..15f47ce 100644
--- a/dotfiles/hyprland/.config/hypr/hyprland.conf
+++ b/dotfiles/hyprland/.config/hypr/hyprland.conf
@@ -15,7 +15,8 @@ exec-once = waybar
exec-once = swww-daemon && sleep 1 && swww img ~/pictures/wallpaper/trondheim-norway.jpg
exec-once = dunst
exec-once = hypridle
-exec-once = gammastep-indicator
+exec-once = /usr/lib/geoclue-2.0/demos/agent
+exec-once = gammastep
exec-once = blueman-applet
exec-once = /usr/bin/gnome-keyring-daemon --start --components=pkcs11,secrets,ssh
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
@@ -23,12 +24,13 @@ exec-once = mpd
exec-once = signal-desktop --start-in-tray --ozone-platform=wayland
exec-once = protonmail-bridge --no-window
exec-once = insync start
+exec-once = set-theme "$(cat ~/.config/current-theme 2>/dev/null || echo hudson)"
# ============================================================================
# Environment Variables
# ============================================================================
env = XCURSOR_SIZE,24
-env = XCURSOR_THEME,capitaine-cursors-light
+env = XCURSOR_THEME,Bibata-Modern-Ice
env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_TYPE,wayland
env = XDG_SESSION_DESKTOP,Hyprland
@@ -62,18 +64,18 @@ decoration {
animations {
enabled = true
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
- animation = windows, 1, 3, myBezier
- animation = windowsOut, 1, 3, default, popin 80%
- animation = fade, 1, 3, default
- animation = workspaces, 1, 3, default
- animation = specialWorkspace, 1, 3, default, slidevert
+ animation = windows, 1, 2, myBezier
+ animation = windowsOut, 1, 2, default, popin 80%
+ animation = fade, 1, 2, default
+ animation = workspaces, 1, 2, default
+ animation = specialWorkspace, 1, 2, default, slidevert
}
# ============================================================================
# Layout (master-stack like DWM tile)
# ============================================================================
master {
- new_status = slave
+ new_status = master
mfact = 0.55
}
@@ -100,6 +102,7 @@ input {
misc {
force_default_wallpaper = 0
disable_hyprland_logo = true
+ focus_on_activate = true
}
# ============================================================================
@@ -110,6 +113,27 @@ xwayland {
}
# ============================================================================
+# Plugins
+# ============================================================================
+plugin {
+ hy3 {
+ tabs {
+ col.active = rgba(444444ff)
+ col.active.text = rgba(bbbbbbff)
+ col.active.border = rgba(daa520ff)
+ col.focused = rgba(444444ff)
+ col.focused.text = rgba(bbbbbbff)
+ col.focused.border = rgba(daa520ff)
+ col.inactive = rgba(333333ff)
+ col.inactive.text = rgba(888888ff)
+ col.inactive.border = rgba(333333ff)
+ col.urgent = rgba(cc6666ff)
+ col.locked = rgba(8abeb7ff)
+ }
+ }
+}
+
+# ============================================================================
# Window Rules (Hyprland 0.53+ syntax: match:CONDITION, RULE)
# ============================================================================
# Floating windows (from DWM rules)
@@ -130,12 +154,12 @@ bind = $mod, T, exec, foot
bind = $mod, E, exec, emacsclient -c -a "" || emacs
bind = $mod, W, exec, $BROWSER
bind = $mod, P, exec, fuzzel
+bind = $mod, F, exec, nautilus
# From sxhkdrc
bind = $mod, SPACE, exec, fuzzel
bind = $mod SHIFT, W, exec, $ALTBROWSER
bind = CTRL ALT, W, exec, tor-browser
-bind = CTRL ALT, F, exec, nautilus
bind = $mod, V, exec, virtualbox
bind = $mod SHIFT, L, exec, calibre
bind = $mod SHIFT, R, exec, shortwave
@@ -173,7 +197,7 @@ bind = $mod, D, layoutmsg, removemaster
# Focus mode (xtra-dispatchers plugin)
# O = "Only this window" / "bring back Others" / "close Others"
bind = $mod, O, exec, hyprctl dispatch plugin:xtd:throwunfocused 10
-bind = $mod SHIFT, O, exec, hyprctl dispatch plugin:xtd:bringallfrom 10
+bind = $mod SHIFT, O, exec, focus-restore
bind = $mod CTRL, O, exec, hyprctl dispatch plugin:xtd:closeunfocused
# Gaps (from DWM)
@@ -229,17 +253,17 @@ workspace = special:term, on-created-empty:foot --app-id foot-term tmux
workspace = special:audio, on-created-empty:foot --app-id foot-audio pulsemixer
workspace = special:monitor, on-created-empty:foot --app-id foot-monitor gotop
workspace = special:music, on-created-empty:foot --app-id foot-music ncmpcpp
-workspace = special:files, on-created-empty:foot --app-id foot-files ranger
workspace = special:htop, on-created-empty:foot --app-id foot-htop htop
workspace = special:network, on-created-empty:foot --app-id foot-network nmtui
+workspace = special:effects, on-created-empty:easyeffects
# Keybindings (single bind per scratchpad - just toggle visibility)
bind = $mod SHIFT, RETURN, togglespecialworkspace, term
bind = $mod, A, togglespecialworkspace, audio
bind = $mod, M, togglespecialworkspace, monitor
bind = $mod, SLASH, togglespecialworkspace, music
-bind = $mod, F, togglespecialworkspace, files
bind = $mod SHIFT, H, togglespecialworkspace, htop
+bind = $mod SHIFT, A, togglespecialworkspace, effects
# Window rules (using app-id/class matching, Hyprland 0.53+ syntax)
# Terminal scratchpad
@@ -262,11 +286,6 @@ windowrule = match:class ^(foot-music)$, float on
windowrule = match:class ^(foot-music)$, size (monitor_w*0.6) (monitor_h*0.6)
windowrule = match:class ^(foot-music)$, center on
-# File manager
-windowrule = match:class ^(foot-files)$, float on
-windowrule = match:class ^(foot-files)$, size (monitor_w*0.6) (monitor_h*0.6)
-windowrule = match:class ^(foot-files)$, center on
-
# Htop
windowrule = match:class ^(foot-htop)$, float on
windowrule = match:class ^(foot-htop)$, size (monitor_w*0.6) (monitor_h*0.6)
@@ -277,6 +296,11 @@ windowrule = match:class ^(foot-network)$, float on
windowrule = match:class ^(foot-network)$, size (monitor_w*0.6) (monitor_h*0.6)
windowrule = match:class ^(foot-network)$, center on
+# EasyEffects
+windowrule = match:class ^(Easy Effects)$, float on
+windowrule = match:class ^(Easy Effects)$, size (monitor_w*0.6) (monitor_h*0.6)
+windowrule = match:class ^(Easy Effects)$, center on
+
# Calculator (not a scratchpad, just launches app)
bind = $mod, X, exec, qalculate-gtk
bind = $mod, C, exec, hyprpicker -a
@@ -294,9 +318,9 @@ bind = CTRL ALT, SPACE, exec, amixer set Capture toggle && amixer get Capture |
# Bluetooth (from DWM and sxhkdrc)
bind = $mod SHIFT, B, exec, blueman-manager
-# Screenshots (grim + slurp + satty for annotation)
-bind = $mod, S, exec, grim -g "$(slurp)" - | satty --filename - --output-filename ~/pictures/screenshots/$(date +%Y.%m.%d-%H%M%S).png
-bind = , Print, exec, grim - | satty --filename - --output-filename ~/pictures/screenshots/$(date +%Y.%m.%d-%H%M%S).png
+# Screenshots (grim + slurp + fuzzel menu)
+bind = $mod, S, exec, screenshot region
+bind = $mod, Print, exec, screenshot fullscreen
# Lock screen (from sxhkdrc: super+Escape)
bind = $mod, ESCAPE, exec, hyprlock