mirror of
https://github.com/gryf/wmaker.git
synced 2025-12-21 05:18:06 +01:00
canReceiveFocus() should check no_focusable first
The function canReceiveFocus should check if the window is no_focusable first. If the window is not focusable but is miniaturized, the window is shown in the switchpanel. How to reproduce the problem: - Open an application - Open the window properties, advanced options - Set that the application can not get the focus and save - Test the switchpanel (Alt+Tab) the window doesn't appear - Minimize the window - Test the switchpanel (Alt+Tab), the window appears - If the window is selected (restored), and test again the switchpanel, the window doesn't appear!
This commit is contained in:
committed by
Carlos R. Mafra
parent
42a78ee73f
commit
528d97b597
@@ -83,14 +83,16 @@ static int canReceiveFocus(WWindow * wwin)
|
|||||||
wGetHeadForWindow(wwin) != wGetHeadForPointerLocation(wwin->screen_ptr))
|
wGetHeadForWindow(wwin) != wGetHeadForPointerLocation(wwin->screen_ptr))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
if (WFLAGP(wwin, no_focusable))
|
||||||
|
return 0;
|
||||||
|
|
||||||
if (!wwin->flags.mapped) {
|
if (!wwin->flags.mapped) {
|
||||||
if (!wwin->flags.shaded && !wwin->flags.miniaturized && !wwin->flags.hidden)
|
if (!wwin->flags.shaded && !wwin->flags.miniaturized && !wwin->flags.hidden)
|
||||||
return 0;
|
return 0;
|
||||||
else
|
else
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
if (WFLAGP(wwin, no_focusable))
|
|
||||||
return 0;
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user