Home BlogOmarchy-Plugin: Standby erzwingen, auch wenn eine App ihn blockiert

Omarchy-Plugin: Standby erzwingen, auch wenn eine App ihn blockiert

by Dimitri Roschkowski
0 Kommentare

Unter Omarchy hat mir eine Funktion gefehlt, die ich von KDE kenne: Standby und Bildschirmabschaltung erzwingen, auch wenn eine App sie blockiert. Läuft im Browser ein Video oder ein Kamera-Livestream, gehen die Monitore nie aus, und der Sperrbildschirm startet nicht. Omarchy bietet keinen Schalter dagegen. Also habe ich das Plugin omarchy-idle-unblock geschrieben. Es liegt kostenlos und unter MIT-Lizenz auf GitHub.

Monitor mit dunklem Tiling-Desktop und laufendem Video, dessen Bildschirm langsam in den Standby dunkelt
Mit omarchy-idle-unblock gehen die Monitore auch dann in den Standby, wenn ein Video läuft. (Symbolbild, KI-generiert)

Das Wichtigste in Kürze

  • Das Problem: Apps wie Browser senden beim Abspielen von Medien einen Idle Inhibitor. Omarchy hält sich immer daran, Bildschirmschoner, Sperre und Monitor-Abschaltung fallen dann aus.
  • Die Lösung: Das Plugin zeigt im Energiemenü, welche App blockiert, und hebt die Blockade auf Knopfdruck auf, für 30 Minuten, 1 oder 2 Stunden oder dauerhaft.
  • Dazu: eigene Zeiten für Bildschirm aus und automatischen Ruhezustand, getrennt für Netzbetrieb und Akku. Beides hat Omarchy von Haus aus nicht.
  • Installation: Repo klonen, ./install.sh ausführen, fertig. Getestet mit Omarchy 4.0.6.
  • Einschränkung: Das Energiemenü erscheint nur auf Geräten mit Akku. Am Desktop-PC steuerst du das Plugin über die Kommandozeile.

Warum gehen die Monitore unter Omarchy nicht aus?

Wayland-Programme können dem Compositor mitteilen, dass der Rechner gerade nicht in den Leerlauf gehen soll. Das nennt sich Idle Inhibitor. Browser wie Chromium, Vivaldi, Brave oder Firefox setzen ihn, sobald Medien laufen. Das ist sinnvoll, wenn du einen Film schaust. Es stört, wenn in einem Hintergrundfenster ein stummgeschalteter Kamera-Stream, eine Jellyfin-Vorschau oder ein YouTube-Tab läuft, den du längst vergessen hast.

Omarchy steuert Bildschirmschoner, Sperre und Abschaltung über seine eigene Shell auf Basis von Quickshell. Deren Leerlauf-Dienst ist fest auf respectInhibitors: true eingestellt. Jede App mit Inhibitor verhindert damit den Leerlauf komplett, und es gibt keine Einstellung, das zu ignorieren. Wer von Hyprland mit hypridle kommt, kennt dort die Option ignore_wayland_inhibit. In Omarchy fehlt etwas Vergleichbares.

KDE Plasma löst das elegant: Im Akku-Applet steht dann zum Beispiel „Firefox verhindert derzeit Standby und Bildschirmsperre“ mit einem Knopf zum Aufheben. Genau das bringt das Plugin nach Omarchy.

Was das Plugin kann

Nach der Installation findest du im Energiemenü, das sich über das Akku-Symbol in der Leiste öffnet, den neuen Bereich STANDBY & LOCK. Dort steht, wie viele Apps gerade blockieren, mit App-Klasse und Fenstertitel.

Omarchy-Energiemenü: Bereich STANDBY & LOCK zeigt, dass ein Vivaldi-Fenster den Standby blockiert, darunter der Knopf Unblock
Das Energiemenü zeigt, welche App den Standby blockiert, hier ein Vivaldi-Fenster.

Über Unblock … wählst du die Dauer: 30 min, 1 h, 2 h oder Permanently. Ab dann folgen Bildschirmschoner, Sperre und Monitor-Abschaltung wieder deinen normalen Zeiten, auch wenn das Video weiterläuft. Eine befristete Freigabe läuft von selbst ab, eine dauerhafte übersteht auch einen Neustart. Mit Allow blocking again stellst du das Standardverhalten wieder her.

Omarchy-Energiemenü nach dem Aufheben: Unblocked until 19:53 und der Knopf Allow blocking again
Nach dem Aufheben zeigt das Menü, bis wann die Freigabe gilt.

Blockiert gerade keine App, zeigt das Menü die Dauer-Knöpfe direkt an. So kannst du die Freigabe auch vorab setzen. Den in Omarchy eingebauten Schalter Stay awake, mit dem du den Rechner bewusst wach hältst, findest du jetzt im selben Bereich.

Eigene Zeiten für Bildschirm aus und Ruhezustand

Omarchy fehlt außerdem einiges, das KDE mitbringt: Die Monitore gehen nur kurz nach der Sperre aus, nicht nach einer eigenen Zeit. Einen automatischen Ruhezustand bei Inaktivität gibt es gar nicht, und getrennte Profile für Netzbetrieb und Akku auch nicht. Das Plugin ergänzt alles drei, ähnlich wie die Energieeinstellungen von KDE.

Bereich IDLE TIMEOUTS im Omarchy-Energiemenü mit Profilen On AC und On battery und Zeiten für Screensaver, Displays off, Lock screen und Suspend
Unter IDLE TIMEOUTS stellst du alle Zeiten getrennt für Netzbetrieb und Akku ein.

Klappe im Energiemenü ▸ IDLE TIMEOUTS auf, wähle On AC oder On battery und stelle die Zeiten mit − und + ein. Das aktive Profil ist mit einem Punkt markiert und wechselt automatisch, wenn du das Netzteil ein- oder aussteckst.

Zeit Was passiert In Omarchy
Screensaver Bildschirmschoner startet schon vorhanden
Displays off Monitore gehen aus (DPMS), unabhängig von der Sperre neu
Lock screen Sperrbildschirm erscheint schon vorhanden
Suspend Rechner geht in den Ruhezustand neu

Alle Zeiten zählen ab deiner letzten Eingabe. Der Ruhezustand läuft über systemctl suspend, Omarchy sperrt die Sitzung vorher selbst. „Stay awake“ und blockierende Apps (solange nicht freigegeben) pausieren alle Zeiten, auch den Ruhezustand.

Installation

Voraussetzung ist Omarchy 4.x mit der Quickshell-basierten Omarchy-Shell. Getestet ist das Plugin mit Omarchy 4.0.6.

git clone https://github.com/LL0rd/omarchy-idle-unblock.git
cd omarchy-idle-unblock
./install.sh

Der Installer nutzt Omarchys eigenen Befehl omarchy plugin clone. Er kopiert die eingebauten Plugins omarchy.idle und omarchy.power nach ~/.config/omarchy/plugins/, ersetzt darin die beiden geänderten Dateien und startet die Shell neu. Existiert schon eine Kopie, sichert er die alte Datei vorher. Danach klickst du auf das Akku-Symbol in der Leiste und findest dort STANDBY & LOCK.

Deinstalliert wird mit ./uninstall.sh. Omarchy stellt dann seine eingebauten Plugins automatisch wieder her. Auch omarchy refresh shell bringt dich zum Standard zurück.

Konfiguration in der shell.json

Wer lieber Dateien bearbeitet, stellt die Zeiten in ~/.config/omarchy/shell.json ein. Alle Werte sind Sekunden, 0 schaltet eine Zeit ab.

"idle": {
  "screensaver": 150,
  "lock": 300,
  "displayOff": 600,
  "suspend": 0,

  "battery": {
    "displayOff": 120,
    "lock": 180,
    "suspend": 900
  }
}

displayOff und suspend sind neu. Fehlen sie, verhält sich das Plugin genau wie Omarchy ohne Plugin. Unter battery stehen die Werte für den Akkubetrieb, fehlende Einträge übernehmen den Wert für Netzbetrieb.

Am Desktop-PC: Steuerung über die Kommandozeile

Omarchy blendet das Energiemenü nur auf Geräten mit Akku ein. Am Desktop-PC ohne Akku funktioniert das Plugin trotzdem, du steuerst es dann über die Kommandozeile:

omarchy-shell idle releaseInhibitors 60   # Blockaden 60 Minuten ignorieren
omarchy-shell idle releaseInhibitors 0    # Blockaden dauerhaft ignorieren
omarchy-shell idle restoreInhibitors      # Blockaden wieder beachten
omarchy-shell idle releaseStatus          # aktuellen Zustand abfragen

Die Befehle lassen sich auch auf eine Tastenkombination legen, wie das geht, steht in Hyprland konfigurieren. Welche Fenster gerade blockieren, zeigt dieser Befehl:

hyprctl clients -j | jq '.[] | select(.inhibitingIdle) | {class, title}'

Den Zustand speichert das Plugin in ~/.local/state/omarchy/idle-release/release, entweder permanent oder eine Ablaufzeit als Unix-Zeitstempel. Der Leerlauf-Dienst beobachtet die Datei, eigene Skripte können sie also auch direkt schreiben.

Grenzen

  • Alle oder keine: Die Freigabe gilt für alle blockierenden Apps gleichzeitig, nicht pro App wie bei KDE. Der Leerlauf-Dienst von Quickshell kann Inhibitoren nur global beachten oder ignorieren.
  • Keine automatischen Updates: Die Plugins sind Kopien der eingebauten Omarchy-Plugins und bekommen keine Omarchy-Updates. Nach einem größeren Omarchy-Update solltest du ./install.sh erneut ausführen. Spinnt die Shell, helfen ./uninstall.sh oder omarchy refresh shell.
  • Englische Oberfläche: Die Texte sind englisch, wie der Rest der Omarchy-Shell, die keine Übersetzungen kennt.

Häufige Fragen

Warum geht mein Bildschirm unter Omarchy nicht aus?

Meist hält ein Programm einen Idle Inhibitor, typischerweise ein Browser mit laufendem Video oder Stream. Mit hyprctl clients -j | jq '.[] | select(.inhibitingIdle)' siehst du, welches Fenster es ist. Omarchy selbst kann das nicht übergehen, das Plugin schon.

Startet der Bildschirmschoner dann mitten im Film?

Nur, wenn du die Blockade aufgehoben hast. Für einen Filmabend lässt du sie einfach bestehen oder nutzt „Stay awake“. Die befristete Freigabe ist für den umgekehrten Fall gedacht: Du verlässt den Rechner, und im Hintergrund läuft noch etwas.

Kann ich das Plugin wieder vollständig entfernen?

Ja. ./uninstall.sh entfernt beide Kopien, Omarchy nutzt danach wieder seine eingebauten Plugins. Eine Sicherung behält omarchy plugin remove trotzdem.

Funktioniert das auch mit reinem Hyprland ohne Omarchy?

Nein, das Plugin erweitert die Omarchy-Shell. Mit reinem Hyprland und hypridle erreichst du dasselbe über die Option ignore_wayland_inhibit.

Download und Feedback

Quellcode, Installer und Anleitung findest du auf GitHub: LL0rd/omarchy-idle-unblock. Das Plugin basiert auf den Plugins omarchy.idle und omarchy.power aus Omarchy (MIT-Lizenz). Fehler oder Wünsche kannst du dort als Issue melden.

You may also like

Hinterlasse einen Kommentar