mirror of
https://github.com/labwc/labwc.git
synced 2025-11-04 13:30:07 -05:00
xwayland: treat Globally Active windows according to type
Tested with IntelliJ IDEA and JDownloader 2, which were problematic in the past. Fixes: #1139 #1341
This commit is contained in:
parent
3ebc07f7aa
commit
9e3785f8cd
1 changed files with 8 additions and 10 deletions
|
|
@ -91,17 +91,15 @@ xwayland_view_wants_focus(struct view *view)
|
||||||
*/
|
*/
|
||||||
case WLR_ICCCM_INPUT_MODEL_GLOBAL:
|
case WLR_ICCCM_INPUT_MODEL_GLOBAL:
|
||||||
/*
|
/*
|
||||||
* Assume the window does want focus if it wants window
|
* Assume that NORMAL and DIALOG windows always want
|
||||||
* decorations (according to _MOTIF_WM_HINTS). This is
|
* focus. These window types should show up in the
|
||||||
* a stop-gap fix to ensure that various applications
|
* Alt-Tab switcher and be automatically focused when
|
||||||
* (mainly Java-based ones such as IntelliJ IDEA) get
|
* they become topmost.
|
||||||
* focus normally and appear in the window switcher. It
|
|
||||||
* would be better to match based on _NET_WM_WINDOW_TYPE
|
|
||||||
* instead, but that property isn't currently available
|
|
||||||
* through wlroots API.
|
|
||||||
*/
|
*/
|
||||||
return (xsurface->decorations ==
|
return (xwayland_surface_contains_window_type(xsurface,
|
||||||
WLR_XWAYLAND_SURFACE_DECORATIONS_ALL) ?
|
NET_WM_WINDOW_TYPE_NORMAL)
|
||||||
|
|| xwayland_surface_contains_window_type(xsurface,
|
||||||
|
NET_WM_WINDOW_TYPE_DIALOG)) ?
|
||||||
VIEW_WANTS_FOCUS_ALWAYS : VIEW_WANTS_FOCUS_OFFER;
|
VIEW_WANTS_FOCUS_ALWAYS : VIEW_WANTS_FOCUS_OFFER;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue