mirror of
https://github.com/gryf/wmaker.git
synced 2025-12-19 12:28:22 +01:00
Fixed Clip's autoraise/lower behavior regarding attched icons with their own
displaing window (applets).
This commit is contained in:
@@ -22,6 +22,9 @@ Changes since version 0.51.2:
|
||||
- remember window shortcuts after restart
|
||||
- change edge resistance to account for panels and stuffs
|
||||
- narrower menus
|
||||
- fixed auto raise/lower behaviour of clip for docked icons that have their
|
||||
own window
|
||||
|
||||
|
||||
Changes since version 0.51.1:
|
||||
.............................
|
||||
|
||||
22
src/dock.c
22
src/dock.c
@@ -80,6 +80,8 @@ extern void DestroyDockAppSettingsPanel();
|
||||
extern void ShowDockAppSettingsPanel(WAppIcon *aicon);
|
||||
|
||||
|
||||
extern XContext wWinContext;
|
||||
|
||||
extern Cursor wCursor[WCUR_LAST];
|
||||
|
||||
extern WPreferences wPreferences;
|
||||
@@ -3932,9 +3934,29 @@ clipEnterNotify(WObjDescriptor *desc, XEvent *event)
|
||||
static void
|
||||
clipLeave(WDock *dock)
|
||||
{
|
||||
XEvent event;
|
||||
WObjDescriptor *desc = NULL;
|
||||
|
||||
if (!dock || dock->type!=WM_CLIP)
|
||||
return;
|
||||
|
||||
if (XCheckTypedEvent(dpy, EnterNotify, &event)!=False) {
|
||||
if (XFindContext(dpy, event.xcrossing.window, wWinContext,
|
||||
(XPointer *)&desc)!=XCNOENT
|
||||
&& desc && desc->parent_type==WCLASS_DOCK_ICON
|
||||
&& ((WAppIcon*)desc->parent)->dock
|
||||
&& ((WAppIcon*)desc->parent)->dock->type==WM_CLIP) {
|
||||
/* We didn't left the Clip yet */
|
||||
XPutBackEvent(dpy, &event);
|
||||
return;
|
||||
}
|
||||
|
||||
XPutBackEvent(dpy, &event);
|
||||
} else {
|
||||
/* We entered a withdrawn window, so we're still in Clip */
|
||||
return;
|
||||
}
|
||||
|
||||
if (dock->auto_raise_magic) {
|
||||
WMDeleteTimerHandler(dock->auto_raise_magic);
|
||||
dock->auto_raise_magic = NULL;
|
||||
|
||||
Reference in New Issue
Block a user