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:
|
||||
/*
|
||||
* Assume the window does want focus if it wants window
|
||||
* decorations (according to _MOTIF_WM_HINTS). This is
|
||||
* a stop-gap fix to ensure that various applications
|
||||
* (mainly Java-based ones such as IntelliJ IDEA) get
|
||||
* 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.
|
||||
* Assume that NORMAL and DIALOG windows always want
|
||||
* focus. These window types should show up in the
|
||||
* Alt-Tab switcher and be automatically focused when
|
||||
* they become topmost.
|
||||
*/
|
||||
return (xsurface->decorations ==
|
||||
WLR_XWAYLAND_SURFACE_DECORATIONS_ALL) ?
|
||||
return (xwayland_surface_contains_window_type(xsurface,
|
||||
NET_WM_WINDOW_TYPE_NORMAL)
|
||||
|| xwayland_surface_contains_window_type(xsurface,
|
||||
NET_WM_WINDOW_TYPE_DIALOG)) ?
|
||||
VIEW_WANTS_FOCUS_ALWAYS : VIEW_WANTS_FOCUS_OFFER;
|
||||
|
||||
/*
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue