mirror of
https://github.com/arthur-pbty/arthur-os.git
synced 2026-08-01 20:28:16 +02:00
56 lines
1.9 KiB
Bash
Executable File
56 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# omarchy:summary=Show idle, screensaver, and lock diagnostics
|
|
# omarchy:group=debug
|
|
# omarchy:args=[log-lines]
|
|
# omarchy:examples=omarchy debug idle | omarchy-debug-idle 400
|
|
|
|
lines=${1:-200}
|
|
if [[ ! $lines =~ ^[0-9]+$ ]]; then
|
|
lines=200
|
|
fi
|
|
|
|
section() {
|
|
printf '\n== %s ==\n' "$1"
|
|
}
|
|
|
|
section "Time"
|
|
date -Is
|
|
|
|
section "Idle IPC status"
|
|
omarchy-shell idle status 2>&1 | jq . 2>/dev/null || omarchy-shell idle status 2>&1 || true
|
|
|
|
section "Quickshell instances"
|
|
quickshell list -p "$OMARCHY_PATH/shell" --any-display 2>&1 || true
|
|
|
|
section "Recent idle logs"
|
|
quickshell --no-color log -p "$OMARCHY_PATH/shell" --any-display --tail "$lines" --log-times -r 'quickshell.wayland.idle_notify=true' 2>&1 \
|
|
| grep -Ei 'omarchy idle|idle_notify|screensaver|lock|error|warn|failed' || true
|
|
|
|
section "Relevant processes"
|
|
ps -eo pid=,args= \
|
|
| grep -E 'quickshell -n -p|dbus-monitor.*PrepareForSleep|org\.omarchy\.screensaver|omarchy-screensaver|(^|/| )tte( |$)' \
|
|
| grep -v grep || true
|
|
|
|
section "Hyprland screensaver clients"
|
|
hyprctl clients -j 2>/dev/null \
|
|
| jq -r '.[] | select(.class == "org.omarchy.screensaver" or .initialClass == "org.omarchy.screensaver") | [.pid,.class,.initialClass,.title,.focusHistoryID] | @tsv' || true
|
|
|
|
section "Idle inhibitors"
|
|
hyprctl clients -j 2>/dev/null \
|
|
| jq -r '.[] | select(.inhibitingIdle == true or ((.tags // []) | index("noidle"))) | [.pid,.class,.title,((.tags // []) | join(",")),.inhibitingIdle] | @tsv' || true
|
|
|
|
section "Screensaver detector"
|
|
if hyprctl clients -j 2>/dev/null | jq -e '.[] | select(.class == "org.omarchy.screensaver" or .initialClass == "org.omarchy.screensaver")' >/dev/null; then
|
|
echo "running-window"
|
|
elif pgrep -f '[o]rg.omarchy.screensaver' >/dev/null; then
|
|
echo "running-process"
|
|
elif omarchy-toggle-enabled screensaver-off; then
|
|
echo "disabled"
|
|
else
|
|
echo "stopped"
|
|
fi
|
|
|
|
section "Lock detector"
|
|
omarchy-shell lock status 2>&1 | jq . 2>/dev/null || omarchy-shell lock status 2>&1 || true
|