1
0
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:
dan
1999-03-20 20:40:40 +00:00
parent 9acdde0042
commit ceb20ee1fd
2 changed files with 25 additions and 0 deletions

View File

@@ -22,6 +22,9 @@ Changes since version 0.51.2:
- remember window shortcuts after restart - remember window shortcuts after restart
- change edge resistance to account for panels and stuffs - change edge resistance to account for panels and stuffs
- narrower menus - narrower menus
- fixed auto raise/lower behaviour of clip for docked icons that have their
own window
Changes since version 0.51.1: Changes since version 0.51.1:
............................. .............................

View File

@@ -80,6 +80,8 @@ extern void DestroyDockAppSettingsPanel();
extern void ShowDockAppSettingsPanel(WAppIcon *aicon); extern void ShowDockAppSettingsPanel(WAppIcon *aicon);
extern XContext wWinContext;
extern Cursor wCursor[WCUR_LAST]; extern Cursor wCursor[WCUR_LAST];
extern WPreferences wPreferences; extern WPreferences wPreferences;
@@ -3932,9 +3934,29 @@ clipEnterNotify(WObjDescriptor *desc, XEvent *event)
static void static void
clipLeave(WDock *dock) clipLeave(WDock *dock)
{ {
XEvent event;
WObjDescriptor *desc = NULL;
if (!dock || dock->type!=WM_CLIP) if (!dock || dock->type!=WM_CLIP)
return; 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) { if (dock->auto_raise_magic) {
WMDeleteTimerHandler(dock->auto_raise_magic); WMDeleteTimerHandler(dock->auto_raise_magic);
dock->auto_raise_magic = NULL; dock->auto_raise_magic = NULL;