Показать статус панели tmux, только когда есть больше более одной панели в окне

Como sugirió steeldriver en su comentario «Es probable que el paquete esté instalado, pero eliminó manualmente o rompió el enlace simbólico entre /usr/bin/g++y/usr/bin/g++-5-intente con sudo apt install --reinstall g++»

El sudo apt install --reinstall g++funcionó.


Respuesta proporcionada porque no había ninguna

1
03.08.2019, 16:25
2 ответа

Думаю, у вас почти получилось. У меня был тот же вопрос, и я придумал простой однострочный ответ (, другими словами, нет необходимости в трех крючках)

is_many="if [ #{window_panes} -eq 1 ]; then exit 1; fi"
set-hook -g window-layout-changed 'if-shell "$is_many" "set-option -w pane-border-status bottom" "set-option -w pane-border-status off"'
0
28.01.2020, 00:04

Пробелы в форматах tmux имеют большое значение. Выражение «#{== :#{window _panes}}, 1}» всегда ложно из-за символа пробела, следующего за запятой.

Следующий хук работает как положено в tmux 2.6, удаляя пробел из обоих форматов

set-hook -g window-layout-changed 'if-shell -F "#{!=:#{window_panes},1}" "set-option -w pane-border-status top" ; if-shell -F "#{==:#{window_panes},1}" "set-option -w pane-border-status off"'

Альтернативное определение хука с использованием условного оператора

set-hook -g window-layout-changed 'set-window -F pane-border-status "#{?#{==:#{window_panes},1},off,top}"'

Условия описаны вhttps://man.openbsd.org/OpenBSD-current/man1/tmux.1#FORMATS

2
28.01.2020, 00:04

Теги

Похожие вопросы