From d1660f7c7cf90314222319378fea4ffe87f4671f Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Wed, 28 Jan 2026 06:57:24 -0600 Subject: fix(hyprland): resolve waybar 25s startup delay and separate X11 dotfiles - Add portals.conf with Settings=none to prevent D-Bus timeout - Reorder exec-once: portal/dbus first, then services, then apps - Move X11-specific dotfiles from common/ to dwm/ (Xresources, xinitrc, picom, redshift, conky, flameshot, touchpad-indicator) - Delete obsolete xdg-desktop-portal-gtk drop-in from common/ --- dotfiles/common/.Xresources | 106 --------------------- dotfiles/common/.config/conky/conky.conf | 24 ----- dotfiles/common/.config/flameshot/flameshot.ini | 11 --- dotfiles/common/.config/picom.conf | 56 ----------- dotfiles/common/.config/redshift.conf | 32 ------- .../environment.conf | 3 - .../touchpad-indicator/touchpad-indicator.conf | 1 - dotfiles/common/.xinitrc | 75 --------------- dotfiles/dwm/.Xresources | 106 +++++++++++++++++++++ dotfiles/dwm/.config/conky/conky.conf | 24 +++++ dotfiles/dwm/.config/flameshot/flameshot.ini | 11 +++ dotfiles/dwm/.config/picom.conf | 56 +++++++++++ dotfiles/dwm/.config/redshift.conf | 32 +++++++ .../touchpad-indicator/touchpad-indicator.conf | 1 + dotfiles/dwm/.xinitrc | 75 +++++++++++++++ dotfiles/hyprland/.config/hypr/hyprland.conf | 27 +++++- .../.config/xdg-desktop-portal/portals.conf | 3 + 17 files changed, 330 insertions(+), 313 deletions(-) delete mode 100644 dotfiles/common/.Xresources delete mode 100644 dotfiles/common/.config/conky/conky.conf delete mode 100644 dotfiles/common/.config/flameshot/flameshot.ini delete mode 100644 dotfiles/common/.config/picom.conf delete mode 100644 dotfiles/common/.config/redshift.conf delete mode 100644 dotfiles/common/.config/systemd/user/xdg-desktop-portal-gtk.service.d/environment.conf delete mode 100644 dotfiles/common/.config/touchpad-indicator/touchpad-indicator.conf delete mode 100755 dotfiles/common/.xinitrc create mode 100644 dotfiles/dwm/.Xresources create mode 100644 dotfiles/dwm/.config/conky/conky.conf create mode 100644 dotfiles/dwm/.config/flameshot/flameshot.ini create mode 100644 dotfiles/dwm/.config/picom.conf create mode 100644 dotfiles/dwm/.config/redshift.conf create mode 100644 dotfiles/dwm/.config/touchpad-indicator/touchpad-indicator.conf create mode 100755 dotfiles/dwm/.xinitrc create mode 100644 dotfiles/hyprland/.config/xdg-desktop-portal/portals.conf diff --git a/dotfiles/common/.Xresources b/dotfiles/common/.Xresources deleted file mode 100644 index 4b35809..0000000 --- a/dotfiles/common/.Xresources +++ /dev/null @@ -1,106 +0,0 @@ -!! X Resources - Hudson theme -!! Tomorrow Night + Goldenrod accent -!! For X11 applications (st, xterm, etc.) and Emacs - -!! X Font Settings -Xft.dpi: 109 -Xft.autohint: 0 -Xft.lcdfilter: lcddefault -Xft.hintstyle: hintfull -Xft.hinting: 1 -Xft.antialias: 1 -Xft.rgba: rgb -Xcursor.size: 24 -Xcursor.theme: Bibata-Modern-Ice - -!! Emacs -Emacs*toolBar: 0 - -!! ============================================================================ -!! Hudson Theme Colors (Tomorrow Night + Goldenrod) -!! ============================================================================ - -#define hudson_fg #eeeeee -#define hudson_bg #222222 -#define hudson_black #222222 -#define hudson_red #cc6666 -#define hudson_green #b5bd68 -#define hudson_yellow #f0c674 -#define hudson_blue #81a2be -#define hudson_magenta #b294bb -#define hudson_cyan #8abeb7 -#define hudson_white #c5c8c6 -#define hudson_br_black #444444 -#define hudson_br_red #d54e53 -#define hudson_br_green #b9ca4a -#define hudson_br_yellow #e0b040 -#define hudson_br_blue #7aa6da -#define hudson_br_magenta #c397d8 -#define hudson_br_cyan #70c0b1 -#define hudson_br_white #eeeeee - -!! Active theme aliases -#define theme_fg hudson_fg -#define theme_bg hudson_bg -#define theme_black hudson_black -#define theme_red hudson_red -#define theme_green hudson_green -#define theme_yellow hudson_yellow -#define theme_blue hudson_blue -#define theme_magenta hudson_magenta -#define theme_cyan hudson_cyan -#define theme_white hudson_white -#define theme_br_black hudson_br_black -#define theme_br_red hudson_br_red -#define theme_br_green hudson_br_green -#define theme_br_yellow hudson_br_yellow -#define theme_br_blue hudson_br_blue -#define theme_br_magenta hudson_br_magenta -#define theme_br_cyan hudson_br_cyan -#define theme_br_white hudson_br_white - -!! ============================================================================ - -!! ST (suckless terminal) settings -!! size is in points (fontconfig syntax) -st.font: BerkeleyMono Nerd Font:size=13 -st.background: theme_bg -st.foreground: theme_fg -st.color0: theme_black -st.color1: theme_red -st.color2: theme_green -st.color3: theme_yellow -st.color4: theme_blue -st.color5: theme_magenta -st.color6: theme_cyan -st.color7: theme_white -st.color8: theme_br_black -st.color9: theme_br_red -st.color10: theme_br_green -st.color11: theme_br_yellow -st.color12: theme_br_blue -st.color13: theme_br_magenta -st.color14: theme_br_cyan -st.color15: theme_br_white - -!! XTerm settings -XTerm*faceName: BerkeleyMono Nerd Font:size=13 -XTerm*selectToClipboard: true -XTerm*background: theme_bg -XTerm*foreground: theme_fg -XTerm*color0: theme_black -XTerm*color1: theme_red -XTerm*color2: theme_green -XTerm*color3: theme_yellow -XTerm*color4: theme_blue -XTerm*color5: theme_magenta -XTerm*color6: theme_cyan -XTerm*color7: theme_white -XTerm*color8: theme_br_black -XTerm*color9: theme_br_red -XTerm*color10: theme_br_green -XTerm*color11: theme_br_yellow -XTerm*color12: theme_br_blue -XTerm*color13: theme_br_magenta -XTerm*color14: theme_br_cyan -XTerm*color15: theme_br_white diff --git a/dotfiles/common/.config/conky/conky.conf b/dotfiles/common/.config/conky/conky.conf deleted file mode 100644 index 09ee8ea..0000000 --- a/dotfiles/common/.config/conky/conky.conf +++ /dev/null @@ -1,24 +0,0 @@ -conky.config = { -out_to_console = true, -out_to_x = false, -background = false, -update_interval = 30, -total_run_times = 0, -}; -conky.text = [[ \ -${if_existing /sys/class/power_supply/BAT0}\ -󱊣 \ -${battery_percent BAT0}% \ -${if_existing /sys/class/power_supply/BAT0/status Charging} ${endif}\ -${if_existing /sys/class/power_supply/BAT0/status Discharging} ${endif}\ -${endif}\ -${if_existing /sys/class/power_supply/BAT1}\ -󱊣 \ -${battery_percent BAT1}% \ -${if_existing /sys/class/power_supply/BAT1/status Charging} ${endif}\ -${if_existing /sys/class/power_supply/BAT1/status Discharging} ${endif}\ -${endif}\ - ${fs_used}/${fs_size} \ - ${time %a %B %d} \ -󰥔 ${time %I:%M %p %Z} -]]; diff --git a/dotfiles/common/.config/flameshot/flameshot.ini b/dotfiles/common/.config/flameshot/flameshot.ini deleted file mode 100644 index 8874b3b..0000000 --- a/dotfiles/common/.config/flameshot/flameshot.ini +++ /dev/null @@ -1,11 +0,0 @@ -[General] -contrastOpacity=216 -copyOnDoubleClick=true -copyPathAfterSave=true -saveAfterCopy=true -saveAsFileExtension=jpg -savePath=/home/cjennings/pictures/screenshots -savePathFixed=true -showStartupLaunchMessage=false -uiColor=#2587e2 -useJpgForClipboard=true diff --git a/dotfiles/common/.config/picom.conf b/dotfiles/common/.config/picom.conf deleted file mode 100644 index 0b65df7..0000000 --- a/dotfiles/common/.config/picom.conf +++ /dev/null @@ -1,56 +0,0 @@ -# opacity-rule = [ -# "85:class_g = 'XTerm'", -# "85:class_g = 'Alacritty'", -# "85:class_g = 'xterm-kitty'", -# "85:class_g = 'URxvt'", -# "85:class_g = 'tabbed'", -# ]; -# "85:class_g = 'st-256color'", -# "85:class_g = 'Emacs'", - -# Blur -blur: -{ - method = "dual_kawase"; - strength = 2; -} - -wintypes: -{ - normal = { blur-background = true; }; - splash = { blur-background = false; }; -}; - -# Fading -fading = false; -fade-in-step = 0.07; -fade-out-step = 0.07; -fade-exclude = [ ]; - -# Other -corner-radius = 10.0; -round-borders = 1; -mark-wmwin-focused = true; -mark-ovredir-focused = true; -detect-rounded-corners = true; -rounded-corners-exclude = [ - "class_g = 'dwm'", - "class_g = 'dwmsystray'", - "window_type = 'dock'" - ]; -detect-client-opacity = true; - -vsync = true; -dbe = false; -unredir-if-possible = true; -detect-transient = true; -detect-client-leader = true; -invert-color-include = [ ]; - -# GLX backend -backend = "glx"; -glx-no-stencil = true; -glx-copy-from-front = false; -use-damage = true -glx-no-rebind-pixmap = true; - diff --git a/dotfiles/common/.config/redshift.conf b/dotfiles/common/.config/redshift.conf deleted file mode 100644 index 92b61bf..0000000 --- a/dotfiles/common/.config/redshift.conf +++ /dev/null @@ -1,32 +0,0 @@ -[redshift] -; Color temperature in Kelvin -; 6500K = neutral daylight (no filter) -; 5000K = subtle warmth -; 4500K = noticeable but readable warmth (recommended for night) -; 4000K = warm (like incandescent bulb) -; 3500K = very warm/orange (often too much) - -temp-day=6500 -temp-night=4500 - -; Brightness (1.0 = full, 0.8 = 20% dimmed) -; Keeping at 1.0 avoids readability issues -brightness-day=1.0 -brightness-night=1.0 - -; Gamma correction (1.0 = no correction) -gamma=1.0 - -; Fade between day/night (1 = gradual, 0 = instant) -fade=1 - -; Screen adjustment method -adjustment-method=randr - -; Location for sunrise/sunset calculation -location-provider=manual - -[manual] -; New Orleans, LA -lat=29.951065 -lon=-90.071533 diff --git a/dotfiles/common/.config/systemd/user/xdg-desktop-portal-gtk.service.d/environment.conf b/dotfiles/common/.config/systemd/user/xdg-desktop-portal-gtk.service.d/environment.conf deleted file mode 100644 index e8c5e8f..0000000 --- a/dotfiles/common/.config/systemd/user/xdg-desktop-portal-gtk.service.d/environment.conf +++ /dev/null @@ -1,3 +0,0 @@ -[Service] -Environment="DISPLAY=:0" -Environment="XAUTHORITY=/home/cjennings/.Xauthority" \ No newline at end of file diff --git a/dotfiles/common/.config/touchpad-indicator/touchpad-indicator.conf b/dotfiles/common/.config/touchpad-indicator/touchpad-indicator.conf deleted file mode 100644 index 51a9907..0000000 --- a/dotfiles/common/.config/touchpad-indicator/touchpad-indicator.conf +++ /dev/null @@ -1 +0,0 @@ -{"first-time": false, "version": "2.2.3-ubuntu20.04.0", "is_working": false, "autostart": false, "on_mouse_plugged": true, "on_start": -1, "on_end": 1, "disable_on_typing": true, "interval": 3600.0, "start_hidden": false, "show_notifications": false, "theme": "light", "touchpad_enabled": false, "natural_scrolling": false, "speed": 0.0, "tapping": true, "two_finger_scrolling": true, "edge_scrolling": false, "cicular_scrolling": true, "right-top-corner": 0, "right-bottom-corner": 0, "left-top-corner": 0, "left-bottom-corner": 0, "one-finger-tap": 0, "two-finger-tap": 0, "three-finger-tap": 0, "faulty-devices": ["11/2/1/0", "11/2/a/0", "11/2/5/7326", "11/2/6/0", "18/93a/274/100"]} \ No newline at end of file diff --git a/dotfiles/common/.xinitrc b/dotfiles/common/.xinitrc deleted file mode 100755 index 991f507..0000000 --- a/dotfiles/common/.xinitrc +++ /dev/null @@ -1,75 +0,0 @@ -#!/bin/sh -# Craig Jennings -# X11 session initialization - -# ============================================================================ -# Gnome Keyring Integration -# ============================================================================ -# Start gnome-keyring-daemon and export environment variables -# This ensures SSH agent, secrets, and GPG agent integration work properly -eval $(/usr/bin/gnome-keyring-daemon --start --components=pkcs11,secrets,ssh) -export SSH_AUTH_SOCK - -# Update D-Bus activation environment with keyring variables -# This allows apps started via D-Bus to access the keyring -dbus-update-activation-environment --systemd DISPLAY XAUTHORITY SSH_AUTH_SOCK - -# ============================================================================ -# DWM Session Startup -# ============================================================================ -# Set logfile for dwm output -logdir="$HOME/.local/var/log" -[ -d "$logdir" ] || mkdir -p "$logdir" -logfile="$logdir/$(date +%Y-%m-%d_%H-%M-%S-%3N.dwm.log)" - -# X Org environment -export XAUTHORITY=$HOME/.Xauthority -export DISPLAY=:0.0 - -# Reset GPG agent so it inherits DISPLAY for pinentry-dmenu -~/.local/bin/reset-auth >/dev/null 2>&1 - -# Allow sudo use of display -xhost +si:localuser:root - -# Merge local configuration for X client applications -[ -f ~/.Xresources ] && xrdb -merge -I $HOME ~/.Xresources - -# Merge xmodmap configuration -[[ -f ~/.Xmodmap ]] && xmodmap ~/.Xmodmap - -# Info in the status bar -(conky | while read LINE; do xsetroot -name "$LINE"; done) & - -# Map short-pressed Ctrl to Escape (commented out) -# xcape -e 'Control_L=Escape' & - -# Map shift backspace to delete (commented out) -# xcape -e 'Shift_L=Delete' - -# Make CapsLock behave like Ctrl -setxkbmap -option ctrl:nocaps - -# Start background services -xautolock -time 5 -locker slock & -# picom & -sxhkd & -[ -f ~/.fehbg ] && ~/.fehbg & -nm-applet & -blueman-applet & -caffeine start & -battery_monitor & -mpd & -dunst & -redshift & -sudo powertop --auto-tune & -flameshot & -insync start & -# touchpad-indicator-start & -signal-desktop --start-in-tray & -protonmail-bridge --no-window & -# warpinator-start & - -# Start dwm window manager -echo "$(date): Starting dwm" >> "$logfile" 2>&1 -exec dwm > $logfile 2>&1 diff --git a/dotfiles/dwm/.Xresources b/dotfiles/dwm/.Xresources new file mode 100644 index 0000000..4b35809 --- /dev/null +++ b/dotfiles/dwm/.Xresources @@ -0,0 +1,106 @@ +!! X Resources - Hudson theme +!! Tomorrow Night + Goldenrod accent +!! For X11 applications (st, xterm, etc.) and Emacs + +!! X Font Settings +Xft.dpi: 109 +Xft.autohint: 0 +Xft.lcdfilter: lcddefault +Xft.hintstyle: hintfull +Xft.hinting: 1 +Xft.antialias: 1 +Xft.rgba: rgb +Xcursor.size: 24 +Xcursor.theme: Bibata-Modern-Ice + +!! Emacs +Emacs*toolBar: 0 + +!! ============================================================================ +!! Hudson Theme Colors (Tomorrow Night + Goldenrod) +!! ============================================================================ + +#define hudson_fg #eeeeee +#define hudson_bg #222222 +#define hudson_black #222222 +#define hudson_red #cc6666 +#define hudson_green #b5bd68 +#define hudson_yellow #f0c674 +#define hudson_blue #81a2be +#define hudson_magenta #b294bb +#define hudson_cyan #8abeb7 +#define hudson_white #c5c8c6 +#define hudson_br_black #444444 +#define hudson_br_red #d54e53 +#define hudson_br_green #b9ca4a +#define hudson_br_yellow #e0b040 +#define hudson_br_blue #7aa6da +#define hudson_br_magenta #c397d8 +#define hudson_br_cyan #70c0b1 +#define hudson_br_white #eeeeee + +!! Active theme aliases +#define theme_fg hudson_fg +#define theme_bg hudson_bg +#define theme_black hudson_black +#define theme_red hudson_red +#define theme_green hudson_green +#define theme_yellow hudson_yellow +#define theme_blue hudson_blue +#define theme_magenta hudson_magenta +#define theme_cyan hudson_cyan +#define theme_white hudson_white +#define theme_br_black hudson_br_black +#define theme_br_red hudson_br_red +#define theme_br_green hudson_br_green +#define theme_br_yellow hudson_br_yellow +#define theme_br_blue hudson_br_blue +#define theme_br_magenta hudson_br_magenta +#define theme_br_cyan hudson_br_cyan +#define theme_br_white hudson_br_white + +!! ============================================================================ + +!! ST (suckless terminal) settings +!! size is in points (fontconfig syntax) +st.font: BerkeleyMono Nerd Font:size=13 +st.background: theme_bg +st.foreground: theme_fg +st.color0: theme_black +st.color1: theme_red +st.color2: theme_green +st.color3: theme_yellow +st.color4: theme_blue +st.color5: theme_magenta +st.color6: theme_cyan +st.color7: theme_white +st.color8: theme_br_black +st.color9: theme_br_red +st.color10: theme_br_green +st.color11: theme_br_yellow +st.color12: theme_br_blue +st.color13: theme_br_magenta +st.color14: theme_br_cyan +st.color15: theme_br_white + +!! XTerm settings +XTerm*faceName: BerkeleyMono Nerd Font:size=13 +XTerm*selectToClipboard: true +XTerm*background: theme_bg +XTerm*foreground: theme_fg +XTerm*color0: theme_black +XTerm*color1: theme_red +XTerm*color2: theme_green +XTerm*color3: theme_yellow +XTerm*color4: theme_blue +XTerm*color5: theme_magenta +XTerm*color6: theme_cyan +XTerm*color7: theme_white +XTerm*color8: theme_br_black +XTerm*color9: theme_br_red +XTerm*color10: theme_br_green +XTerm*color11: theme_br_yellow +XTerm*color12: theme_br_blue +XTerm*color13: theme_br_magenta +XTerm*color14: theme_br_cyan +XTerm*color15: theme_br_white diff --git a/dotfiles/dwm/.config/conky/conky.conf b/dotfiles/dwm/.config/conky/conky.conf new file mode 100644 index 0000000..09ee8ea --- /dev/null +++ b/dotfiles/dwm/.config/conky/conky.conf @@ -0,0 +1,24 @@ +conky.config = { +out_to_console = true, +out_to_x = false, +background = false, +update_interval = 30, +total_run_times = 0, +}; +conky.text = [[ \ +${if_existing /sys/class/power_supply/BAT0}\ +󱊣 \ +${battery_percent BAT0}% \ +${if_existing /sys/class/power_supply/BAT0/status Charging} ${endif}\ +${if_existing /sys/class/power_supply/BAT0/status Discharging} ${endif}\ +${endif}\ +${if_existing /sys/class/power_supply/BAT1}\ +󱊣 \ +${battery_percent BAT1}% \ +${if_existing /sys/class/power_supply/BAT1/status Charging} ${endif}\ +${if_existing /sys/class/power_supply/BAT1/status Discharging} ${endif}\ +${endif}\ + ${fs_used}/${fs_size} \ + ${time %a %B %d} \ +󰥔 ${time %I:%M %p %Z} +]]; diff --git a/dotfiles/dwm/.config/flameshot/flameshot.ini b/dotfiles/dwm/.config/flameshot/flameshot.ini new file mode 100644 index 0000000..8874b3b --- /dev/null +++ b/dotfiles/dwm/.config/flameshot/flameshot.ini @@ -0,0 +1,11 @@ +[General] +contrastOpacity=216 +copyOnDoubleClick=true +copyPathAfterSave=true +saveAfterCopy=true +saveAsFileExtension=jpg +savePath=/home/cjennings/pictures/screenshots +savePathFixed=true +showStartupLaunchMessage=false +uiColor=#2587e2 +useJpgForClipboard=true diff --git a/dotfiles/dwm/.config/picom.conf b/dotfiles/dwm/.config/picom.conf new file mode 100644 index 0000000..0b65df7 --- /dev/null +++ b/dotfiles/dwm/.config/picom.conf @@ -0,0 +1,56 @@ +# opacity-rule = [ +# "85:class_g = 'XTerm'", +# "85:class_g = 'Alacritty'", +# "85:class_g = 'xterm-kitty'", +# "85:class_g = 'URxvt'", +# "85:class_g = 'tabbed'", +# ]; +# "85:class_g = 'st-256color'", +# "85:class_g = 'Emacs'", + +# Blur +blur: +{ + method = "dual_kawase"; + strength = 2; +} + +wintypes: +{ + normal = { blur-background = true; }; + splash = { blur-background = false; }; +}; + +# Fading +fading = false; +fade-in-step = 0.07; +fade-out-step = 0.07; +fade-exclude = [ ]; + +# Other +corner-radius = 10.0; +round-borders = 1; +mark-wmwin-focused = true; +mark-ovredir-focused = true; +detect-rounded-corners = true; +rounded-corners-exclude = [ + "class_g = 'dwm'", + "class_g = 'dwmsystray'", + "window_type = 'dock'" + ]; +detect-client-opacity = true; + +vsync = true; +dbe = false; +unredir-if-possible = true; +detect-transient = true; +detect-client-leader = true; +invert-color-include = [ ]; + +# GLX backend +backend = "glx"; +glx-no-stencil = true; +glx-copy-from-front = false; +use-damage = true +glx-no-rebind-pixmap = true; + diff --git a/dotfiles/dwm/.config/redshift.conf b/dotfiles/dwm/.config/redshift.conf new file mode 100644 index 0000000..92b61bf --- /dev/null +++ b/dotfiles/dwm/.config/redshift.conf @@ -0,0 +1,32 @@ +[redshift] +; Color temperature in Kelvin +; 6500K = neutral daylight (no filter) +; 5000K = subtle warmth +; 4500K = noticeable but readable warmth (recommended for night) +; 4000K = warm (like incandescent bulb) +; 3500K = very warm/orange (often too much) + +temp-day=6500 +temp-night=4500 + +; Brightness (1.0 = full, 0.8 = 20% dimmed) +; Keeping at 1.0 avoids readability issues +brightness-day=1.0 +brightness-night=1.0 + +; Gamma correction (1.0 = no correction) +gamma=1.0 + +; Fade between day/night (1 = gradual, 0 = instant) +fade=1 + +; Screen adjustment method +adjustment-method=randr + +; Location for sunrise/sunset calculation +location-provider=manual + +[manual] +; New Orleans, LA +lat=29.951065 +lon=-90.071533 diff --git a/dotfiles/dwm/.config/touchpad-indicator/touchpad-indicator.conf b/dotfiles/dwm/.config/touchpad-indicator/touchpad-indicator.conf new file mode 100644 index 0000000..51a9907 --- /dev/null +++ b/dotfiles/dwm/.config/touchpad-indicator/touchpad-indicator.conf @@ -0,0 +1 @@ +{"first-time": false, "version": "2.2.3-ubuntu20.04.0", "is_working": false, "autostart": false, "on_mouse_plugged": true, "on_start": -1, "on_end": 1, "disable_on_typing": true, "interval": 3600.0, "start_hidden": false, "show_notifications": false, "theme": "light", "touchpad_enabled": false, "natural_scrolling": false, "speed": 0.0, "tapping": true, "two_finger_scrolling": true, "edge_scrolling": false, "cicular_scrolling": true, "right-top-corner": 0, "right-bottom-corner": 0, "left-top-corner": 0, "left-bottom-corner": 0, "one-finger-tap": 0, "two-finger-tap": 0, "three-finger-tap": 0, "faulty-devices": ["11/2/1/0", "11/2/a/0", "11/2/5/7326", "11/2/6/0", "18/93a/274/100"]} \ No newline at end of file diff --git a/dotfiles/dwm/.xinitrc b/dotfiles/dwm/.xinitrc new file mode 100755 index 0000000..991f507 --- /dev/null +++ b/dotfiles/dwm/.xinitrc @@ -0,0 +1,75 @@ +#!/bin/sh +# Craig Jennings +# X11 session initialization + +# ============================================================================ +# Gnome Keyring Integration +# ============================================================================ +# Start gnome-keyring-daemon and export environment variables +# This ensures SSH agent, secrets, and GPG agent integration work properly +eval $(/usr/bin/gnome-keyring-daemon --start --components=pkcs11,secrets,ssh) +export SSH_AUTH_SOCK + +# Update D-Bus activation environment with keyring variables +# This allows apps started via D-Bus to access the keyring +dbus-update-activation-environment --systemd DISPLAY XAUTHORITY SSH_AUTH_SOCK + +# ============================================================================ +# DWM Session Startup +# ============================================================================ +# Set logfile for dwm output +logdir="$HOME/.local/var/log" +[ -d "$logdir" ] || mkdir -p "$logdir" +logfile="$logdir/$(date +%Y-%m-%d_%H-%M-%S-%3N.dwm.log)" + +# X Org environment +export XAUTHORITY=$HOME/.Xauthority +export DISPLAY=:0.0 + +# Reset GPG agent so it inherits DISPLAY for pinentry-dmenu +~/.local/bin/reset-auth >/dev/null 2>&1 + +# Allow sudo use of display +xhost +si:localuser:root + +# Merge local configuration for X client applications +[ -f ~/.Xresources ] && xrdb -merge -I $HOME ~/.Xresources + +# Merge xmodmap configuration +[[ -f ~/.Xmodmap ]] && xmodmap ~/.Xmodmap + +# Info in the status bar +(conky | while read LINE; do xsetroot -name "$LINE"; done) & + +# Map short-pressed Ctrl to Escape (commented out) +# xcape -e 'Control_L=Escape' & + +# Map shift backspace to delete (commented out) +# xcape -e 'Shift_L=Delete' + +# Make CapsLock behave like Ctrl +setxkbmap -option ctrl:nocaps + +# Start background services +xautolock -time 5 -locker slock & +# picom & +sxhkd & +[ -f ~/.fehbg ] && ~/.fehbg & +nm-applet & +blueman-applet & +caffeine start & +battery_monitor & +mpd & +dunst & +redshift & +sudo powertop --auto-tune & +flameshot & +insync start & +# touchpad-indicator-start & +signal-desktop --start-in-tray & +protonmail-bridge --no-window & +# warpinator-start & + +# Start dwm window manager +echo "$(date): Starting dwm" >> "$logfile" 2>&1 +exec dwm > $logfile 2>&1 diff --git a/dotfiles/hyprland/.config/hypr/hyprland.conf b/dotfiles/hyprland/.config/hypr/hyprland.conf index 2cc42e3..67604c0 100644 --- a/dotfiles/hyprland/.config/hypr/hyprland.conf +++ b/dotfiles/hyprland/.config/hypr/hyprland.conf @@ -10,22 +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 > ~/.local/var/log/waybar-$(date +%Y-%m-%d-%H%M%S).log 2>&1 -exec-once = swww-daemon && sleep 1 && swww img ~/pictures/wallpaper/trondheim-norway.jpg +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 = 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 > ~/.local/var/log/gammastep-$(date +%Y-%m-%d-%H%M%S).log 2>&1 exec-once = blueman-applet exec-once = easyeffects --gapplication-service -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 = 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 @@ -106,6 +116,13 @@ misc { focus_on_activate = true } +# ============================================================================ +# Debug (temporary - disable when stable) +# ============================================================================ +debug { + disable_logs = false +} + # ============================================================================ # XWayland # ============================================================================ 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 -- cgit v1.2.3