GNU Screen prepending dollar signs to window titles

2

I recently copied my .screenrc from one computer (Mac OSX 10.4) to another computer (Fedora 16)

Now, on the Fedora computer, there is a $ prepended to all the window titles.

Here is my hardstatus line:

hardstatus string '%{= kG}[ %{G}%H %{g} %{r}%l%{= kG} ][%= %{=kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B}%Y-%m-%d %{W}%c %{g}]'

I have some screens set up to automatically start.

#Default Screens
screen -t foo 0
screen -t bar 1
screen -t fizz 2
screen -t buzz 3
screen -t bag-and-tag 4
screen -t deployment-zone 5

But the window titles displayed when I start screen have a dollar sign prepended:

 (0*$foo)  1$ bar  2$ fizz  3$ buzz  4$ bag-and-tag  5-$ deployment-zone

I think this has something to do with the difference in shell environments (Mac OSX Darwin vs. full Linux),

CamelBlues

Posted 2012-05-27T22:58:04.967

Reputation: 265

Answers

2

Look under the windows command in the documentation and you'll see:

 The current window is marked with a `*'; the previous window is
 marked with a `-'; all the windows that are logged in are marked
 with a `$' (*note Login::); a background window that has received
 a bell is marked with a `!'; a background window that is being
 monitored and has had activity occur is marked with an `@' (*note
 Monitor::); a window which has output logging turned on is marked
 with `(L)'; windows occupied by other users are marked with `&' or
 `&&' if the window is shared by other users; windows in the zombie
 state are marked with `Z'.

The $ denotes that a login shell was started. The terminal session is registered with who and w and the ~/.bash_profile would have been run at shell startup.

Arcege

Posted 2012-05-27T22:58:04.967

Reputation: 1 883

1

I've taken you hardstatus string and modified it to take out just the $ characters:

hardstatus string '%{= kG}[ %{G}%H %{g} %{r}%l%{= kG} ][%= %{=kw}%?%-w%?%{r}(%{W}%n*%t%?(%u)%?%{r})%{w}%?%+w%?%?%= %{g}][%{B}%Y-%m-%d %{W}%c %{g}]'

Basically, $ character was added because window flags were on. Here are the excerpts from the above that were changed:

  • %-Lw% to %-w% - Taking L character here removes window flags for all the windows before the currently selected window (win that is marked with *).
  • %+Lw% to %-w% - Same as above for windows after the currently selected window.
  • %n*%f%t to %n*%t - selection for currently selected window (notice the *)

Here is the reference link about GNU Screen string escapes that has more info and explanation about each of the characters from the above string.

user124460

Posted 2012-05-27T22:58:04.967

Reputation: