Von this question kann ich aus einem laufenden Programm, wenn ich in einem Bildschirm (oder tmux-Bildschirm) bin, indem Sie auf die Variable $ TERM sehen.Wie kann ich feststellen, ob mein tmux-Bildschirm sichtbar ist?
Aber wie kann ich feststellen, ob der Bildschirm tatsächlich sichtbar ist? In tmux kann ich mehrere Bildschirme haben, und unten wird eine Tab-Leiste mit einem "Tab" für jeden Bildschirm angezeigt. Der nützliche Teil davon ist, dass wenn eine Aktivität in einer anderen Registerkarte vorhanden ist, das Aussehen dieser Registerkarte sich ändert, wenn eine Ausgabe erfolgt. Für diese Frage ist es mir egal, ob der Bildschirm tatsächlich für den Benutzer sichtbar ist (ein anderes Fenster könnte ihn überlappen), nur wenn es der aktive und sichtbare Bildschirm innerhalb von tmux ist.
Es wäre nützlich für ein Programm, das auf einer dieser Registerkarten läuft, um zu bestimmen, ob sein Bildschirm gegenwärtig der "aktive" (sichtbare) Bildschirm ist, und um damit seine Ausgabe zu moderieren. Auf diese Weise kann es, wenn es sichtbar ist, ausführlicher sein und nur wichtigere Inhalte ausgeben, wenn dies nicht der Fall ist, um unnötiges Umschalten zwischen den Registerkarten zu vermeiden, da die Aktivitätsmarkierung auf der Registerkarte angezeigt wird. Der aktive Bildschirm könnte natürlich vom Benutzer jederzeit umgeschaltet werden.
Wie kann eine Anwendung, die in einem tmux-Bildschirm ausgeführt wird, feststellen, wann sie sichtbar und nicht sichtbar ist?
ausgezeichnet, danke! Ich kann dies jederzeit aufrufen, wenn ich triviale Ausgaben habe und wenn das Fenster nicht aktiv ist, drucke ich es nicht. – Michael