From ceb20ee1fd2cb8a844bd2cb6a3b06dd3be8c369f Mon Sep 17 00:00:00 2001 From: dan Date: Sat, 20 Mar 1999 20:40:40 +0000 Subject: [PATCH] Fixed Clip's autoraise/lower behavior regarding attched icons with their own displaing window (applets). --- ChangeLog | 3 +++ src/dock.c | 22 ++++++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/ChangeLog b/ChangeLog index 1beddfb8..511278ba 100644 --- a/ChangeLog +++ b/ChangeLog @@ -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: ............................. diff --git a/src/dock.c b/src/dock.c index 00fc49ab..42a9c484 100644 --- a/src/dock.c +++ b/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;