Как показать в GNU Screen hardstatus вкладки, которые имеют активность?
Каждый раз, когда у меня есть более 4 вкладок, мне очень нравится знать, в какой из них есть активность. До сих пор я пользовался системой вкладок rxvt. Он отображает * рядом с вкладками, которые не отображаются, но имеют активность. Это действительно полезно, например, когда вы находитесь на IRC-канале. Как я могу сделать это с zsh/screen?
Вот мой.zshrc:
function precmd {
echo -ne "\033]83;title zsh\007"
}
function preexec {
local foo="$2 "
local bar=${${=foo}[1]}
echo -ne "\033]83;title $bar\007"
}
и мой.screenrc
hardstatus off
hardstatus alwayslastline
hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %m-%d %{W} %c %{g}]'
[...]
shell "/usr/bin/zsh"
aclchg :window: -rwx #?
aclchg :window: +x title
1 ответ
Это задокументировано в руководстве:
monitor [on|off]
Toggles activity monitoring of windows. When monitoring is
turned on and an affected window is switched into the background,
you will receive the activity notification message in the status
line at the first sign of output and the window will also be
marked with an `@' in the window-status display. Monitoring is
initially off for all windows.
Вы можете вручную включить мониторинг текущего окна с помощью C-a M
или, если вы хотите включить мониторинг для всех окон по умолчанию, добавьте defmonitor on
на ваш screenrc
, После включения, любые окна слева или справа от текущего в вашей строке hardstatus (как расширено %-Lw
а также %+Lw
соответственно в вашем hardstatus string
линия) покажет @
символ после дефиса, который следует за номером окна. Вы также получите предупреждающее сообщение, которое можно настроить через activity
команда.
В моей системе @
не появляется, пока что-то еще в окне не изменится. Это можно исправить, удалив hardstatus off
из вашего конфигурационного файла.
Наконец, я настоятельно рекомендую вам попробовать tmux
, Разработка на экране GNU в основном установлена, и tmux
является активно поддерживаемой и развитой заменой, которая имеет в значительной степени большой набор функций экрана.