summaryrefslogtreecommitdiff
path: root/dotfiles/hyprland/.config
diff options
context:
space:
mode:
Diffstat (limited to 'dotfiles/hyprland/.config')
-rw-r--r--dotfiles/hyprland/.config/easyeffectsrc2
-rw-r--r--dotfiles/hyprland/.config/hypr/hyprland.conf60
-rw-r--r--dotfiles/hyprland/.config/waybar/config2
-rw-r--r--dotfiles/hyprland/.config/waypaper/config.ini27
-rw-r--r--dotfiles/hyprland/.config/xdg-desktop-portal/portals.conf3
5 files changed, 72 insertions, 22 deletions
diff --git a/dotfiles/hyprland/.config/easyeffectsrc b/dotfiles/hyprland/.config/easyeffectsrc
new file mode 100644
index 0000000..a4cbf66
--- /dev/null
+++ b/dotfiles/hyprland/.config/easyeffectsrc
@@ -0,0 +1,2 @@
+[UiSettings]
+ColorScheme=BreezeDark
diff --git a/dotfiles/hyprland/.config/hypr/hyprland.conf b/dotfiles/hyprland/.config/hypr/hyprland.conf
index 755edad..3eae5b6 100644
--- a/dotfiles/hyprland/.config/hypr/hyprland.conf
+++ b/dotfiles/hyprland/.config/hypr/hyprland.conf
@@ -10,21 +10,32 @@ monitor=,preferred,auto,auto
# ============================================================================
# Startup Applications
# ============================================================================
+# Portal and D-Bus setup FIRST (other apps depend on these)
+exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
+exec-once = systemctl --user start xdg-desktop-portal-hyprland xdg-desktop-portal
+
+# Core services
exec-once = hyprpm reload && sleep 1 && hyprctl dismissnotify -1
-exec-once = waybar
+exec-once = /usr/bin/gnome-keyring-daemon --start --components=pkcs11,secrets,ssh
+exec-once = dunst > ~/.local/var/log/dunst-$(date +%Y-%m-%d-%H%M%S).log 2>&1
+
+# Desktop appearance (after portal is ready)
exec-once = swww-daemon && sleep 1 && swww img ~/pictures/wallpaper/trondheim-norway.jpg
-exec-once = dunst
-exec-once = hypridle
+exec-once = waybar > ~/.local/var/log/waybar-$(date +%Y-%m-%d-%H%M%S).log 2>&1
+exec-once = set-theme "$(cat ~/.config/current-theme 2>/dev/null || echo hudson)"
+
+# Background services
+exec-once = hypridle > ~/.local/var/log/hypridle-$(date +%Y-%m-%d-%H%M%S).log 2>&1
exec-once = /usr/lib/geoclue-2.0/demos/agent
-exec-once = gammastep
+exec-once = gammastep > ~/.local/var/log/gammastep-$(date +%Y-%m-%d-%H%M%S).log 2>&1
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
+exec-once = easyeffects --gapplication-service
exec-once = mpd
+
+# Apps that can start later
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
@@ -64,11 +75,11 @@ 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
}
# ============================================================================
@@ -106,6 +117,13 @@ misc {
}
# ============================================================================
+# Debug (temporary - disable when stable)
+# ============================================================================
+debug {
+ disable_logs = false
+}
+
+# ============================================================================
# XWayland
# ============================================================================
xwayland {
@@ -197,7 +215,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)
@@ -251,17 +269,17 @@ bind = $mod SHIFT, PERIOD, movewindow, mon:+1
# Workspace rules (auto-launch apps when workspace first accessed)
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:monitor, on-created-empty:foot --app-id foot-monitor monitor-dashboard
workspace = special:music, on-created-empty:foot --app-id foot-music ncmpcpp
-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 SHIFT, H, togglespecialworkspace, htop
+bind = $mod SHIFT, A, togglespecialworkspace, effects
# Window rules (using app-id/class matching, Hyprland 0.53+ syntax)
# Terminal scratchpad
@@ -284,16 +302,16 @@ 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
-# Htop
-windowrule = match:class ^(foot-htop)$, float on
-windowrule = match:class ^(foot-htop)$, size (monitor_w*0.6) (monitor_h*0.6)
-windowrule = match:class ^(foot-htop)$, center on
-
# Network manager
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
diff --git a/dotfiles/hyprland/.config/waybar/config b/dotfiles/hyprland/.config/waybar/config
index fdff160..66e318b 100644
--- a/dotfiles/hyprland/.config/waybar/config
+++ b/dotfiles/hyprland/.config/waybar/config
@@ -1,7 +1,6 @@
{
"layer": "top",
"position": "top",
- "height": 30,
"spacing": 4,
"margin-top": 6,
"margin-left": 10,
@@ -24,6 +23,7 @@
"group/sysmonitor": {
"orientation": "horizontal",
+ "swap-icon-label": false,
"modules": [
"cpu",
"temperature",
diff --git a/dotfiles/hyprland/.config/waypaper/config.ini b/dotfiles/hyprland/.config/waypaper/config.ini
new file mode 100644
index 0000000..66652ed
--- /dev/null
+++ b/dotfiles/hyprland/.config/waypaper/config.ini
@@ -0,0 +1,27 @@
+[Settings]
+language = en
+folder = ~/pictures/wallpaper
+monitors = All
+wallpaper = ~/pictures/wallpaper/trondheim-norway.jpg
+show_path_in_tooltip = True
+backend = swww
+fill = fill
+sort = name
+color = #ffffff
+subfolders = False
+all_subfolders = False
+show_hidden = False
+show_gifs_only = False
+zen_mode = False
+post_command =
+number_of_columns = 3
+swww_transition_type = simple
+swww_transition_step = 63
+swww_transition_angle = 0
+swww_transition_duration = 2
+swww_transition_fps = 60
+mpvpaper_sound = False
+mpvpaper_options =
+use_xdg_state = False
+stylesheet = /home/cjennings/.config/waypaper/style.css
+
diff --git a/dotfiles/hyprland/.config/xdg-desktop-portal/portals.conf b/dotfiles/hyprland/.config/xdg-desktop-portal/portals.conf
new file mode 100644
index 0000000..9cc87a2
--- /dev/null
+++ b/dotfiles/hyprland/.config/xdg-desktop-portal/portals.conf
@@ -0,0 +1,3 @@
+[preferred]
+default=hyprland;gtk
+org.freedesktop.impl.portal.Settings=none