Как показать в 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 является активно поддерживаемой и развитой заменой, которая имеет в значительной степени большой набор функций экрана.

Другие вопросы по тегам