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;
 }
 
 

Reply via email to