The previous fix listed both profiles' primaries, "output": ["eDP-1",
"DP-1"] -- but DP-1 is the laptop's second monitor too, so the laptop
would have got a bar on it as well as on eDP-1. No static list can express
"the main monitor" when the two machines share an output name.
Resolve it at launch instead. hypr/scripts/bar asks Hyprland for the
monitor at position 0x0 -- the main monitor in both profiles -- writes
{"output": "<name>"} to ~/.cache/waybar-output.jsonc, and execs waybar;
waybar/config.jsonc includes that fragment. autostart/services, the
bar_reload bind and the performance script all go through the wrapper, so
a reload re-resolves after docking. Signals still target the waybar
process, not the wrapper.
Verified all three paths on mainPC: the fragment pins the bar to DP-1
only, an empty fragment falls back to a bar on every output, and a
fragment naming a disconnected output maps nothing (the failure mode this
started from). Config parses on both profiles.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01StGBghPW9Dm7z7uj2VNWHr
44 lines
1.0 KiB
Bash
Executable File
44 lines
1.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Automounter for removable media
|
|
udiskie &
|
|
|
|
# Wallpaper Backend
|
|
awww-daemon --format xrgb &
|
|
|
|
# Pyprland Daemon
|
|
pypr --debug /tmp/pypr.log &
|
|
|
|
# Bar (wrapper pins it to the main monitor of the active profile)
|
|
"$HOME"/.config/hypr/scripts/bar &
|
|
|
|
# Notification Daemon
|
|
swaync &
|
|
|
|
# OSD Window
|
|
swayosd-server &
|
|
|
|
# Notify about devices connecting and disconnecting
|
|
devify &
|
|
|
|
# Idle daemon to screen lock
|
|
hypridle &
|
|
|
|
# Clipboard
|
|
wl-paste --watch cliphist store &
|
|
|
|
# Polkit authentication -- hyprpolkitagent on the laptop, polkit-gnome on mainPC.
|
|
# Whichever is installed wins, so this one file works on both machines.
|
|
if [ -x /usr/lib/hyprpolkitagent/hyprpolkitagent ]; then
|
|
/usr/lib/hyprpolkitagent/hyprpolkitagent &
|
|
elif [ -x /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 ]; then
|
|
/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &
|
|
fi
|
|
|
|
# Screen sharing and portals
|
|
"$HOME"/.config/hypr/scripts/portal &
|
|
# xwaylandvideobridge & # Off when using Vesktop instead of Discord
|
|
|
|
# Audio
|
|
easyeffects --gapplication-service &
|