bbidulock / icewm

A window manager designed for speed, usability, and consistency
Other
585 stars 98 forks source link

Alt+Tab+Tab wrong order of windows #579

Closed arsonoff closed 3 years ago

arsonoff commented 3 years ago

icewm-2.3.1 Open several programs, for example: xterm_1, xterm_2, xterm_3 (focus). Click Alt+Tab+Tab, focus xterm_1. Click Alt+Tab, focus xterm_2. I expect on xterm_3.

icewm-2.2.1 - is correct.

gijsbers commented 3 years ago

Why is that wrong or correct?

arsonoff commented 3 years ago
(window X) Alt+Tab+Tab+Tab... (window Y) Alt+Tab+Tab... (window Z)
Alt+Tab (window Y)
Alt+Tab (window Z)
Alt+Tab+Tab (window X)

Alt+Tab+Tab... - is a single window switch. As if I were in (window X) and then clicked mouse on (window Y) and then on (window Z)

celerini commented 3 years ago

Same here. 2.3.1 broke window sorting for Alt+Tab. I can not return to previously focused window, instead I must cycle through other windows. Sometimes the previously focused window ends on very end of the list and it's quicker to use Alt-Shift-Tab.

It changes my workflow which have been settled in my brain for (two) decades.

I'm starting to use fewer windows on one workplace...

celerini commented 3 years ago

I would like to correct my previous post a little bit.

Before 2.3.1 the Candidates for QuickSwitch Next was taken from recently raised windows (more recent first). Now when pressing Alt+Tab repeatedly all Candidates are activated in the list as if they were raised. So when pressing Alt+Tab next time I must cycle all windows previously cycled, not only those which were raised.

gijsbers commented 3 years ago

Please test if this commit restores your workflow.

arsonoff commented 3 years ago

Yes, it restores

celerini commented 3 years ago

Looks good in Xephyr, too early to say anything about my workflow.

Thanks for your quick response.

Side question: It is possible in current IceWM to achieve the same behavior as with Alt+Tab but focusing windows instead of raising (to avoid the mouse completelly)?

gijsbers commented 3 years ago

In src/wmswitch.cc you need to change

        active->activateWindow(true, false);

to:

        active->activateWindow(false, false);

Let me know if it works. Actually, it is better to change the first parameter to raiseOnFocus.

danfe commented 3 years ago

I can confirm that Alt-Tab behaviour is broken (i.e., does not match Windows or Openbox) in vanilla 2.3.2 and da8fedb fixes it.