Enlightenment CVS committal

Author  : raster
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_border.c e_border.h 


Log Message:


mwm hints being done properly...

===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_border.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- e_border.c  25 Nov 2004 03:37:44 -0000      1.1
+++ e_border.c  25 Nov 2004 14:09:49 -0000      1.2
@@ -163,7 +163,7 @@
    bd->client.icccm.fetch.hints = 1;
    bd->client.icccm.fetch.size_pos_hints = 1;
    bd->client.icccm.fetch.protocol = 1;
-   bd->client.mwm.fetch.borderless = 1;
+   bd->client.mwm.fetch.hints = 1;
    bd->client.netwm.fetch.pid = 1;
    bd->client.netwm.fetch.desktop = 1;
    bd->client.border.changed = 1;
@@ -607,7 +607,7 @@
    bd->client.icccm.fetch.hints = 1;
    bd->client.icccm.fetch.size_pos_hints = 1;
    bd->client.icccm.fetch.protocol = 1;
-   bd->client.mwm.fetch.borderless = 1;
+   bd->client.mwm.fetch.hints = 1;
    bd->client.netwm.fetch.pid = 1;
    bd->client.netwm.fetch.desktop = 1;
 //   bd->client.border.changed = 1;
@@ -1114,13 +1114,27 @@
          }
        bd->client.icccm.fetch.protocol = 0;
      }
-   if (bd->client.mwm.fetch.borderless)
+   if (bd->client.mwm.fetch.hints)
      {
        int pb;
        
+       bd->client.mwm.exists = 
+         ecore_x_mwm_hints_get(bd->client.win,
+                               &bd->client.mwm.func,
+                               &bd->client.mwm.decor,
+                               &bd->client.mwm.input);
        pb = bd->client.mwm.borderless;
-       bd->client.mwm.borderless = 
ecore_x_window_prop_borderless_get(bd->client.win);
-       bd->client.mwm.fetch.borderless = 0;
+       bd->client.mwm.borderless = 0;
+       if (bd->client.mwm.exists)
+         {
+            printf("MWM hints!\n");
+            if ((!(bd->client.mwm.decor & ECORE_X_MWM_HINT_DECOR_ALL)) && 
+                (!(bd->client.mwm.decor & ECORE_X_MWM_HINT_DECOR_TITLE)) &&
+                (!(bd->client.mwm.decor & ECORE_X_MWM_HINT_DECOR_BORDER)))
+              {
+                 bd->client.mwm.borderless = 1;
+              }
+         }
        if (bd->client.mwm.borderless != pb)
          {
             if (bd->client.border.name) free(bd->client.border.name);
@@ -1128,8 +1142,11 @@
               bd->client.border.name = strdup("borderless");
             else
               bd->client.border.name = strdup("default");
+            if (bd->client.mwm.borderless)
+              printf("client %s borderless\n", bd->client.icccm.title);
             bd->client.border.changed = 1;
          }
+       bd->client.mwm.fetch.hints = 0;
      }
    if (bd->client.netwm.fetch.pid)
      {
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_border.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- e_border.h  25 Nov 2004 05:31:20 -0000      1.2
+++ e_border.h  25 Nov 2004 14:09:49 -0000      1.3
@@ -85,9 +85,13 @@
         } fetch;
       } icccm;
       struct {
+        Ecore_X_MWM_Hint_Func func;
+        Ecore_X_MWM_Hint_Decor decor;
+        Ecore_X_MWM_Hint_Input input;
+        unsigned char exists : 1;
         unsigned char borderless : 1;
         struct {
-           unsigned int borderless : 1;
+           unsigned int hints : 1;
         } fetch;
       } mwm;
       struct {




-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. 
http://productguide.itmanagersjournal.com/
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to