Tue 10 Oct 2017 09:12:57 PM UTC, original submission:
It's some sort of -x multi-display mode interaction. To reproduce:
1. Create file ~/.screen-windowlist-bug:
chdir /tmp
screen -t tmp
chdir /var
screen -t var
select 0
2. In one 'physical' terminal (for me: one tab of an `xfce4-terminal`), run:
$ screen -x -R -S screen-windowlist-bug -c ~/.screen-windowlist-bug -p 0
-- observe that shell pwd is /tmp
3. In another terminal (2nd tab of `xfce4-terminal`), run:
$ screen -x -R -S screen-windowlist-bug -c ~/.screen-windowlist-bug -p 1
-- observe that shell pwd is /var
4. In the first physical terminal, hit ^A " [ == ^A : windowlist -b ]
-- observe that the highlighted member of the window list is '1 var'; which is probably reasonable, as it is the most recently activated window.
5. Without moving the highlight, hit ESC or ^G
-- observe that the first physical terminal (and thus both physical terminals) is now displaying window 1 'var'.
This is the bug. I expect ESC or ^G to have the effect of closing the windowlist without changing which window is displayed in the viewing terminal.
6. There is a second bug which I find less troublesome (thus not worth the effort of creating a 2nd report). Observe the 'select 0' in my .screen-windowlist-bug -- this is there because step 2's `screen ... -p 0` does not succeed in selecting window 0. It appears that '-p %d' succeeds when attaching to an existing screen session, but not if that session was created by the current `screen` command. So I put in 'select 0' as a workaround; it makes step 2's command-line '-p 0' appear to work.
Note: observed these issues on Ubuntu 16.04.3 LTS running the distro's screen 4.3.1 ('4.3.1-2build1'). I downloaded but did not build source for 4.3.1 and 4.6.1; observed that */list_window.c were identical, so I assume my main bug still exists. The 2nd bug would be in some other code so it may not exist any more (I have no data).
|