gnu screen - get list of window titles

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.


Solution 1:

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.

Solution 2:

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 "

Solution 3:

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

C-a "