Enlightenment CVS committal

Author  : kwo
Project : e16
Module  : e

Dir     : e16/e/src


Modified Files:
        icccm.c ipc.c 


Log Message:
Read WM_TRANSIENT_FOR only on map or change + debug stuff.
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/icccm.c,v
retrieving revision 1.67
retrieving revision 1.68
diff -u -3 -r1.67 -r1.68
--- icccm.c     7 Jun 2004 16:07:38 -0000       1.67
+++ icccm.c     16 Jun 2004 22:49:37 -0000      1.68
@@ -40,6 +40,7 @@
 static Atom         E_XA_WM_WINDOW_ROLE = 0;
 static Atom         E_XA_WM_HINTS = 0;
 static Atom         E_XA_WM_CLIENT_LEADER = 0;
+static Atom         E_XA_WM_TRANSIENT_FOR = 0;
 
 void
 ICCCM_Init(void)
@@ -60,6 +61,7 @@
    E_XA_WM_WINDOW_ROLE = XInternAtom(disp, "WM_WINDOW_ROLE", False);
    E_XA_WM_HINTS = XInternAtom(disp, "WM_HINTS", False);
    E_XA_WM_CLIENT_LEADER = XInternAtom(disp, "WM_CLIENT_LEADER", False);
+   E_XA_WM_TRANSIENT_FOR = XInternAtom(disp, "WM_TRANSIENT_FOR", False);
 }
 
 void
@@ -831,7 +833,7 @@
 ICCCM_GetHints(EWin * ewin, Atom atom_change)
 {
    XWMHints           *hint;
-   Window              w;
+   Window              win;
    Atom               *prop;
    Window             *cleader;
    int                 i, num;
@@ -949,14 +951,15 @@
        ewin->skipfocus = 1;
      }
 
-   if (XGetTransientForHint(disp, ewin->client.win, &w))
-     {
-       ewin->client.transient = 1;
-       ewin->client.transient_for = w;
-     }
-   else
+   if (atom_change == 0 || atom_change == E_XA_WM_TRANSIENT_FOR)
      {
        ewin->client.transient = 0;
+       ewin->client.transient_for = None;
+       if (XGetTransientForHint(disp, ewin->client.win, &win))
+         {
+            ewin->client.transient = 1;
+            ewin->client.transient_for = win;
+         }
      }
 
    if (ewin->client.group == ewin->client.win)
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/ipc.c,v
retrieving revision 1.162
retrieving revision 1.163
diff -u -3 -r1.162 -r1.163
--- ipc.c       7 Jun 2004 16:46:07 -0000       1.162
+++ ipc.c       16 Jun 2004 22:49:37 -0000      1.163
@@ -5747,7 +5747,7 @@
             "Border                  %s   lrtb %i,%i,%i,%i\n"
             "Icon window, pixmap, mask %#10lx, %#10lx, %#10lx\n"
             "Is client group leader  %i      Client group leader %#10lx\n"
-            "Has transients          %i      Transient for %#10lx\n"
+            "Has transients          %i      Transient type  %i  Transient for 
%#10lx\n"
             "No resize H/V           %i/%i       Shaped      %i\n"
             "Base, min, max, inc w/h %ix%i, %ix%i, %ix%i %ix%i\n"
             "Aspect min, max         %5.5f, %5.5f\n"
@@ -5773,7 +5773,8 @@
             ewin->client.icon_win,
             ewin->client.icon_pmap, ewin->client.icon_mask,
             ewin->client.is_group_leader, ewin->client.group,
-            ewin->has_transients, ewin->client.transient_for,
+            ewin->has_transients,
+            ewin->client.transient, ewin->client.transient_for,
             ewin->client.no_resize_h, ewin->client.no_resize_v,
             ewin->client.shaped,
             ewin->client.base_w, ewin->client.base_h,




-------------------------------------------------------
This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference
Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer
Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA
REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to