Другое решение, которое я в настоящее время использую. Вместо '% =' как в исходной строке, или '%-30 =' в гибочном станке (который выравнивает к-30% (иначе 70%) метку), я использую '%-043 =' (который выравнивается к-43 символьным меткам). Но конечно это имеет ту же проблему как гибочный станок, где сумма я должен сместить изменения для каждого сервера. Решение состоит в том, чтобы отредактировать .screenrc на сервер с командой как это:
sed -i "s/043/0$(( 19 + $#FULLHOST ))/" ~/.screenrc
(Эти 19 являются количеством символов, используемых дисплеем загрузки и располагающий с интервалами),
Так как мой .screenrc сгенерирован .rc файлом моей оболочки, если это не там, я могу сразу выполнить эту команду после выполнения так и закончить с правильно смещенным выравниванием для каждого сервера. Не изящный, но это работает!
Остающиеся проблемы, о которых я действительно не хочу достаточно решить:
Я использую:
caption always "%-Lw%{= Yk}%50>%n%f*%t%{-}%+Lw%<%-12= %?%F%?%{b}%c %m/%d%?"
Это отображает что-то как:
0*bender@armitage 1 bender@rikki 2 bender@gibson 15:11 05/30
Это сохраняет время и дату на строке состояния и активном окне в списке, когда размер списка окна растет. Волшебный бит, который Вы пропускаете, является определенной шириной для части, которую Вы хотите сохранить на правой стороне. Это - "%-12 =" директива ширины в моей команде подписи.
Попробуйте что-то как:
caption always "%{= Kw} [%0c] %-Lw%{= KW}[%50>%n%f* %t]%{= Kw}%+Lw%-30=| %l | ${FULLHOST}"
Необходимо будет играть с шириной (%-30 = выше), чтобы заставить полное имя хоста отображаться.