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
|
- 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:
|
||||||
.............................
|
.............................
|
||||||
|
|||||||
22
src/dock.c
22
src/dock.c
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user