]> git.decadent.org.uk Git - ion3.git/commitdiff
Imported upstream version 20090526 20090526
authorBen Hutchings <ben@decadent.org.uk>
Thu, 28 May 2009 00:08:58 +0000 (01:08 +0100)
committerBen Hutchings <ben@decadent.org.uk>
Thu, 28 May 2009 00:16:09 +0000 (01:16 +0100)
config.h
etc/Makefile
etc/look.lua [new file with mode: 0644]
ioncore/clientwin.c
ioncore/focus.c
ioncore/focus.h
ioncore/frame-draw.c
ioncore/group.c
ioncore/window.c
mod_tiling/tiling.c

index e54aba7fe84453f91214175ead37ff5406577731..5d90d265614615beb69075622fdb38aa77c2efe5 100644 (file)
--- a/config.h
+++ b/config.h
@@ -1,4 +1,4 @@
-/*
+asdf/*
  * config.h
  *
  * Copyright (c) Tuomo Valkonen 1999-2009.
index 16aa8f4b77d365c50864b531d6b737bc7c51089a..78179cca72c25457cd4da53d996ad4bd72df4b79 100644 (file)
@@ -11,6 +11,7 @@ include $(TOPDIR)/build/system-inc.mk
 ETC =  cfg_ion.lua cfg_ioncore.lua cfg_kludges.lua cfg_defaults.lua \
        cfg_tiling.lua cfg_query.lua cfg_menu.lua \
        cfg_statusbar.lua cfg_dock.lua cfg_layouts.lua \
+       look.lua \
        look_brownsteel.lua look_clean.lua look_dusky.lua \
        look_greyviolet.lua look_ios.lua look_cleanviolet.lua \
        look_simpleblue.lua look_cleanios.lua look_newviolet.lua \
@@ -24,5 +25,3 @@ include $(TOPDIR)/build/rules.mk
 ######################################
 
 _install: etc_install
-       rm -f $(ETCDIR)/look.lua
-       ln -s look_newviolet.lua $(ETCDIR)/look.lua
diff --git a/etc/look.lua b/etc/look.lua
new file mode 100644 (file)
index 0000000..2484e42
--- /dev/null
@@ -0,0 +1 @@
+dopath('look_newviolet')
index 11ce2904b56c7d085c5a2924b2b596fa77fbd2f8..6ef556177791f6185e64c41116627ec6db2cf001 100644 (file)
@@ -1015,10 +1015,11 @@ static void clientwin_do_set_focus(WClientWin *cwin, bool warp)
 {
     if(cwin->flags&CLIENTWIN_P_WM_TAKE_FOCUS){
         Time stmp=ioncore_get_timestamp();
+        region_finalise_focusing((WRegion*)cwin, cwin->win, warp, stmp);
         send_clientmsg(cwin->win, ioncore_g.atom_wm_take_focus, stmp);
+    }else{
+        region_finalise_focusing((WRegion*)cwin, cwin->win, warp, CurrentTime);
     }
-
-    region_finalise_focusing((WRegion*)cwin, cwin->win, warp);
     
     XSync(ioncore_g.dpy, 0);
 }
index ee3fd86ab796625077e6101b5b8460bdf2d9cc1b..1ea72a71175ac48029767264a96236df2d9bfce0 100644 (file)
@@ -347,7 +347,7 @@ bool region_may_control_focus(WRegion *reg)
 /*Time ioncore_focus_time=CurrentTime;*/
 
 
-void region_finalise_focusing(WRegion* reg, Window win, bool warp)
+void region_finalise_focusing(WRegion* reg, Window win, bool warp, Time time)
 {
     if(warp)
         region_do_warp(reg);
@@ -356,10 +356,7 @@ void region_finalise_focusing(WRegion* reg, Window win, bool warp)
         return;
     
     region_set_await_focus(reg);
-    /*xwindow_do_set_focus(win);*/
-    XSetInputFocus(ioncore_g.dpy, win, RevertToParent, 
-                   CurrentTime/*ioncore_focus_time*/);
-    /*ioncore_focus_time=CurrentTime;*/
+    XSetInputFocus(ioncore_g.dpy, win, RevertToParent, time);
 }
 
 
index bf7cc06e4ac4295d362b13868cbafcdcf0b74993..aab3a82bd5559f3861e9f5e2f28eadbea68b1e7c 100644 (file)
@@ -23,7 +23,7 @@ extern void region_maybewarp_now(WRegion *reg, bool warp);
 extern void region_warp(WRegion *reg); /* maybewarp TRUE */
 extern void region_set_focus(WRegion *reg); /* maybewarp FALSE */
 
-extern void region_finalise_focusing(WRegion* reg, Window win, bool warp);
+extern void region_finalise_focusing(WRegion* reg, Window win, bool warp, Time time);
 
 DYNFUN void region_do_set_focus(WRegion *reg, bool warp);
 extern void region_do_warp(WRegion *reg);
index fbe58061bafed48a608e1407bbaf4a1aeeda6e52..7e404c0c04bf032e3117f4b53268e5863c057be7 100644 (file)
@@ -219,7 +219,8 @@ void frame_set_shape(WFrame *frame)
 
 void frame_clear_shape(WFrame *frame)
 {
-    grbrush_set_window_shape(frame->brush, TRUE, 0, NULL);
+    if(frame->brush!=NULL)
+        grbrush_set_window_shape(frame->brush, TRUE, 0, NULL);
 }
 
 
index 3db079526e8ece8bbcb89b258207e12cd4bb7227..7e4b1da713ccd4c33f45409d4fe4500c4d495c18 100644 (file)
@@ -241,7 +241,7 @@ static void group_do_set_focus(WGroup *ws, bool warp)
     if(st!=NULL && st->reg!=NULL)
         region_do_set_focus(st->reg, warp);
     else
-        region_finalise_focusing((WRegion*)ws, ws->dummywin, warp);
+        region_finalise_focusing((WRegion*)ws, ws->dummywin, warp, CurrentTime);
 }
 
 
index 42ca0289e6b3e3b811f316464a58466de77fa470..27f37a0bd9244742c6642cdf8fc974dd65ba088a 100644 (file)
@@ -182,7 +182,7 @@ void window_unmap(WWindow *wwin)
 
 void window_do_set_focus(WWindow *wwin, bool warp)
 {
-    region_finalise_focusing((WRegion*)wwin, wwin->win, warp);
+    region_finalise_focusing((WRegion*)wwin, wwin->win, warp, CurrentTime);
 }
 
 
index 48bbb86f506a3976f57258831660bb12a4710544..733a1e59518283d5fd93d226f7acd7ba83590bf0 100644 (file)
@@ -158,7 +158,7 @@ void tiling_unmap(WTiling *ws)
 
 void tiling_fallback_focus(WTiling *ws, bool warp)
 {
-    region_finalise_focusing((WRegion*)ws, ws->dummywin, warp);
+    region_finalise_focusing((WRegion*)ws, ws->dummywin, warp, CurrentTime);
 }