7

How can I obtain information (title, created time, visible content) about windows in a screen session? I need to do this in a script, so I am not looking for key bindings or interactive commands.

Something like tmux's list-windows would be great.

6

According to this thread in screen-users such a functionality has been implemented in screen. Apparently I don't have a recent enough version for it to work but this should work in recent versions of screen. [Edit] I just tried with the latest git, it work even if it's not documented in screen -h

screen -Q windows
screen -Q select my_window

The first appearance of the -Q option was in this commit.

  • This seems to be the best way of going about it now. However, this has a few drawbacks in the implementation - 1. The display is limited to top few screens. 2. Invoking echo $(screen -Q windows) pauses the session as the screen's status bar is shown. – KalEl Sep 13 '16 at 17:47
1

Try the sequence Ctrl-a w per the instructions here.

Personally, I use a .screenrc file that keeps this information on the bottom of the screen at all times (like a Windows task bar). My screen config (~/.screenrc) looks like:

hardstatus on
hardstatus alwayslastline
hardstatus string "%{.bW}%-w%{.rW}%n %t%{-}%+w %=%{..G} %H %{..Y} %m/%d %C%a "
  • Thank you, that is nice. But as I said in the question I am not looking for a key binding. I need to get the window name and other information from a bash script. – sina Aug 20 '12 at 17:12
  • You're right, I misread your question. I'll do some research and post back if I find anything. – bobmagoo Aug 20 '12 at 17:22
1

In GNU Screen the default key binding to get a list of all the windows (and choose one to switch to) is:

C-a "

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.