Bar-widget panels (audio, bluetooth, network, power, monitor) used to be toggled via their own per-plugin IpcHandler targets. Quickshell resolves duplicate targets first-handler-wins, so after a plugin or bar reload the stale handler of the destroyed widget instance kept claiming the target and the hotkeys went dead. The shell root's IpcHandler lives outside the reload cycle, so summon, hide, and toggle now go through `omarchy-shell shell toggle <plugin>` and the shell routes to the live widget instance via the bar's slot registry. Panel plugins that are also panel/overlay/menu kinds keep using the panel loader path. Failures to find a live widget are logged so a widget missing from the bar layout stays diagnosable. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
33 lines
917 B
Bash
33 lines
917 B
Bash
state_dir="$HOME/.local/state/omarchy"
|
|
skip_update_notification_file="$state_dir/skip-first-run-update-notification"
|
|
skip_update_notification=0
|
|
if [[ -f $skip_update_notification_file ]]; then
|
|
skip_update_notification=1
|
|
rm -f "$skip_update_notification_file"
|
|
fi
|
|
|
|
notify_update() {
|
|
(( skip_update_notification )) && return 0
|
|
|
|
(
|
|
if [[ -n $(omarchy-notification-send -u critical -g "Update System" "$1" -a) ]]; then
|
|
omarchy-launch-floating-terminal-with-presentation omarchy-update
|
|
fi
|
|
) >/dev/null 2>&1 &
|
|
}
|
|
|
|
notify_wifi() {
|
|
(
|
|
if [[ -n $(omarchy-notification-send -u critical -g "Click to Setup Wi-Fi" -a) ]]; then
|
|
omarchy-shell shell toggle omarchy.network
|
|
fi
|
|
) >/dev/null 2>&1 &
|
|
}
|
|
|
|
if ! ping -c3 -W1 1.1.1.1 >/dev/null 2>&1; then
|
|
notify_update "When you have internet, click to update the system."
|
|
notify_wifi
|
|
else
|
|
notify_update "Click to update the system."
|
|
fi
|