! Please note that this is a snapshot of our old Bugzilla server, which is read only since May 29, 2020. Please go to gitlab.xfce.org for our new server !
Child windows are not raised when they are selected without clicking on them


Description Hugues De Keyzer 2018-12-07 22:19:50 CET
Created attachment 8162 
child windows test case

When an application has child windows, it can be tricky to raise a child window that is behind another child window. If one only clicks inside each window or on the title bar, that child window is raised as expected. But if the focus is given to a child window by using the Window Buttons or by switching to it with Alt+Tab, the child window receives the focus but is not raised. When it has received the focus like that, clicking inside the window or on the title bar doesn’t raise the window. To raise it, one has to click on another child window then back on that child window.

This behavior is especially annoying when a child window is completely hidden by another child window. To raise the hidden child window, one has to either move the overlapping window, or lower it by middle-clicking on the title bar.

Also, selecting the main window by using the Window Buttons doesn’t give focus to the main window but to the top child window (switching to it with Alt+Tab works).

Note that the “Raise on focus” setting has no effect on this.

What I would expect:

* Selecting a child window by using the Window Buttons or by switching to it with Alt+Tab gives it the focus and raises it, as if one had clicked on the window.
* Selecting the main window by using the Window Buttons should give focus to it.

Metacity and KWin behave this way.

A test case is attached to this bug. It creates a main window with 3 child windows. It uses Python 3 and PyQt 5.

I’m willing to fix it myself, but I have no idea in which file this is handled. If someone could give me a clue, it would be great.
Comment 1 Olivier Fourdan editbugs 2018-12-09 17:03:56 CET
Not sure which version of xfwm4 you use or if you tweaked your environment to behave differently, but same as bug 14953, it works as expected here.
Comment 2 Hugues De Keyzer 2018-12-09 23:22:38 CET
I just explained my configuration in bug 14953 comment 2.
Comment 3 Olivier Fourdan editbugs 2018-12-17 18:18:38 CET
Cannot reproduce this with current code, the transient windows do not show in tha alt-tab, do not show in the taskbar either, they get iconified and restored along with their parent as expected.

Looks consistent to me.
Comment 4 Hugues De Keyzer 2018-12-17 20:54:05 CET
Created attachment 8188 
child windows test case

Replace PyQt5 test case with PyGTK test case.
Comment 5 Git Bot editbugs 2020-05-29 12:23:47 CEST
-- GitLab Migration Automatic Message --

This bug has been migrated to xfce.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.xfce.org/xfce/xfwm4/-/issues/310.

Please create an account or use an existing account on one of our supported OAuth providers. 

If you want to fork to submit patches and merge requests please continue reading here: https://docs.xfce.org/contribute/dev/git/start#gitlab_forks_and_merge_requests

Also feel free to reach out to us on the mailing list https://mail.xfce.org/mailman/listinfo/xfce4-dev

Bug #14952

Reported by:
Hugues De Keyzer
Reported on: 2018-12-07
Last modified on: 2020-05-29


Olivier Fourdan
CC List:
1 user




child windows test case (860 bytes, text/x-python)
2018-12-07 22:19 CET , Hugues De Keyzer
no flags
child windows test case (747 bytes, text/x-python)
2018-12-17 20:54 CET , Hugues De Keyzer
no flags

Additional information