从this question,我可以通过查看$ TERM变量,从正在运行的程序中知道我是否在屏幕(或tmux屏幕)中。如何判断我的tmux屏幕是否可见?
但是我怎么知道屏幕是否真的可见?在tmux中,我可以有多个屏幕,并在底部显示一个标签栏,每个屏幕都有一个“标签”。其中有用的部分是,如果在另一个选项卡中存在活动,则该选项卡的外观会在输出时发生更改。就这个问题而言,我不在乎屏幕是否对用户实际可见(另一个窗口可能与它重叠),只要它是tmux中的活动和可见屏幕即可。
对于在其中一个选项卡中运行的程序来确定其屏幕当前是否为“活动”(可见)屏幕并使用此屏幕来缓和其输出会很有用。通过这种方式,在可见时它可能会更加冗长,并且只有在不重要时才会输出更重要的内容,从而避免由于选项卡上显示的活动高亮显示而在标签之间进行不必要的切换。显然,活动屏幕可以随时由用户切换。
在tmux屏幕中运行的应用程序如何确定它何时变得可见并且不可见?
优秀,谢谢!我可以随时调用这个我有小数输出,如果窗口不活动,我不会打印它。 – Michael