On Mon, Feb 24, 2003 at 04:38:53PM +0200, Tuomo Valkonen wrote:
> I have attached another patch...
The patch...
--
Tuomo
Only in ./man: ion.1x
diff -u -r -x CVS -x '*.o' -x '*.a' ../ix/ion/query/input.c ./query/input.c
--- ../ix/ion/query/input.c 2003-02-22 19:37:25.000000000 +0200
+++ ./query/input.c 2003-02-24 16:13:26.000000000 +0200
@@ -89,7 +89,8 @@
void input_draw_config_updated(WInput *input)
{
XSetWindowBackground(wglobal.dpy, input->win.win,
- GRDATA_OF(input)->input_colors.bg);
+
COLOR_PIXEL(GRDATA_OF(input)->input_colors.bg));
+
input_refit(input);
default_draw_config_updated((WRegion*)input);
draw_window((WWindow*)input, TRUE);
Only in ./src: ion
diff -u -r -x CVS -x '*.o' -x '*.a' ../ix/ion/wmcore/event.c ./wmcore/event.c
--- ../ix/ion/wmcore/event.c 2003-01-31 20:16:34.000000000 +0200
+++ ./wmcore/event.c 2003-02-24 16:25:31.000000000 +0200
@@ -95,6 +95,7 @@
XGrabKeyboard(wglobal.dpy, win, False, GrabModeAsync,
GrabModeAsync, CurrentTime);
XSelectInput(wglobal.dpy, win, ROOT_MASK);
+ wglobal.grab_released=FALSE;
}
@@ -111,6 +112,7 @@
wglobal.input_mode=INPUT_NORMAL;
wglobal.draw_dragwin=NULL;
+ wglobal.grab_released=TRUE;
}
diff -u -r -x CVS -x '*.o' -x '*.a' ../ix/ion/wmcore/eventh.c ./wmcore/eventh.c
--- ../ix/ion/wmcore/eventh.c 2003-02-24 16:31:06.000000000 +0200
+++ ./wmcore/eventh.c 2003-02-24 16:29:40.000000000 +0200
@@ -190,6 +190,9 @@
do_set_focus(wglobal.focus_next, wglobal.warp_next);
wglobal.focus_next=NULL;
wglobal.warp_next=FALSE;
+ }else if(wglobal.grab_released){
+ wglobal.grab_released=FALSE;
+ skip_focusenter_but(NULL);
}
}
}
@@ -404,9 +407,12 @@
while(XCheckMaskEvent(wglobal.dpy, EnterWindowMask, ev)){
/* We're only interested in the latest enter event */
}
-
- if(eev->mode!=NotifyNormal && !wglobal.warp_enabled)
+
+ /*
+ if((eev->mode!=NotifyNormal && eev->mode!=NotifyUngrab) &&
+ !wglobal.warp_enabled)
return;
+ */
/*
if(eev->window==eev->root){
diff -u -r -x CVS -x '*.o' -x '*.a' ../ix/ion/wmcore/global.h ./wmcore/global.h
--- ../ix/ion/wmcore/global.h 2003-02-22 19:40:36.000000000 +0200
+++ ./wmcore/global.h 2003-02-24 16:25:06.000000000 +0200
@@ -72,6 +72,7 @@
WScreen *active_screen, *previous_screen;
int input_mode;
+ bool grab_released;
int opmode;
int previous_protect;
@@ -79,6 +80,7 @@
Time dblclick_delay;
int opaque_resize;
bool warp_enabled;
+
};
extern WGlobal wglobal;
diff -u -r -x CVS -x '*.o' -x '*.a' ../ix/ion/wmcore/window.c ./wmcore/window.c
--- ../ix/ion/wmcore/window.c 2003-02-22 19:40:36.000000000 +0200
+++ ./wmcore/window.c 2003-02-24 13:22:53.000000000 +0200
@@ -71,8 +71,8 @@
wwin->win=win;
#ifdef CF_XFT
wwin->draw=XftDrawCreate(wglobal.dpy, win,
- DefaultVisual(wglobal.dpy,
scr->xscr),
- scr->default_cmap);
+ DefaultVisual(wglobal.dpy,
SCREEN_OF(wwin)->xscr),
+
SCREEN_OF(wwin)->default_cmap);
#else
wwin->draw=NULL;
#endif
diff -u -r -x CVS -x '*.o' -x '*.a' ../ix/ion/wmcore/wmcore.c ./wmcore/wmcore.c
--- ../ix/ion/wmcore/wmcore.c 2003-02-22 22:49:42.000000000 +0200
+++ ./wmcore/wmcore.c 2003-02-24 16:25:17.000000000 +0200
@@ -72,6 +72,8 @@
wglobal.resize_delay=CF_RESIZE_DELAY;
wglobal.opaque_resize=0;
wglobal.warp_enabled=TRUE;
+
+ wglobal.grab_released=FALSE;
}