Enlightenment CVS committal

Author  : sebastid
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e.h e_border.c 


Log Message:
Make hints who want to change the border set border.name = NULL, and move
tests for border.name to client.border.changed test.
If a border changes and the border is shaded, remember the change and apply
it when the border no longer is shaded.

===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e.h,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -3 -r1.45 -r1.46
--- e.h 1 Jun 2006 06:44:35 -0000       1.45
+++ e.h 10 Jun 2006 21:02:23 -0000      1.46
@@ -7,8 +7,8 @@
 #include "config.h"
 
 #define USE_IPC
-/* #define OBJECT_PARANOIA_CHECK */
-/* #define OBJECT_CHECK */
+#define OBJECT_PARANOIA_CHECK
+#define OBJECT_CHECK
 
 #include <stdio.h>
 #include <stdlib.h>
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_border.c,v
retrieving revision 1.495
retrieving revision 1.496
diff -u -3 -r1.495 -r1.496
--- e_border.c  10 Jun 2006 11:08:27 -0000      1.495
+++ e_border.c  10 Jun 2006 21:02:23 -0000      1.496
@@ -4596,30 +4596,24 @@
    if (bd->client.netwm.fetch.type)
      {
        e_hints_window_type_get(bd);
-       if (((!bd->lock_border) || (!bd->client.border.name)) && (!bd->shaded))
+       if ((!bd->lock_border) || (!bd->client.border.name))
          {
-            if (bd->client.netwm.type == ECORE_X_WINDOW_TYPE_DESKTOP)
+            if (bd->client.border.name) 
evas_stringshare_del(bd->client.border.name);
+            bd->client.border.name = NULL;
+            bd->client.border.changed = 1;
+         }
+       if (bd->client.netwm.type == ECORE_X_WINDOW_TYPE_DOCK)
+         {
+            /* TODO: Make this user options */
+            if (!bd->client.netwm.state.skip_pager)
               {
-                 if (bd->client.border.name) 
evas_stringshare_del(bd->client.border.name);
-                 bd->client.border.name = evas_stringshare_add("borderless");
-                 bd->client.border.changed = 1;
+                 bd->client.netwm.state.skip_pager = 1;
+                 bd->client.netwm.update.state = 1;
               }
-            else if (bd->client.netwm.type == ECORE_X_WINDOW_TYPE_DOCK)
+            if (!bd->client.netwm.state.skip_taskbar)
               {
-                 if (bd->client.border.name) 
evas_stringshare_del(bd->client.border.name);
-                 bd->client.border.name = evas_stringshare_add("borderless");
-                 bd->client.border.changed = 1;
-                 
-                 if (!bd->client.netwm.state.skip_pager)
-                   {
-                      bd->client.netwm.state.skip_pager = 1;
-                      bd->client.netwm.update.state = 1;
-                   }
-                 if (!bd->client.netwm.state.skip_taskbar)
-                   {
-                      bd->client.netwm.state.skip_taskbar = 1;
-                      bd->client.netwm.update.state = 1;
-                   }
+                 bd->client.netwm.state.skip_taskbar = 1;
+                 bd->client.netwm.update.state = 1;
               }
          }
 
@@ -4908,15 +4902,11 @@
          }
        if (bd->client.mwm.borderless != pb)
          {
-            if (((!bd->lock_border) || (!bd->client.border.name))
-                && (!bd->shaded))
+            if ((!bd->lock_border) || (!bd->client.border.name))
               {
                  if (bd->client.border.name)
                    evas_stringshare_del(bd->client.border.name);
-                 if (bd->client.mwm.borderless)
-                   bd->client.border.name = evas_stringshare_add("borderless");
-                 else
-                   bd->client.border.name = evas_stringshare_add("default");
+                 bd->client.border.name = NULL;
                  bd->client.border.changed = 1;
               }
          }
@@ -4939,38 +4929,11 @@
 //     e_object_breadcrumb_add(E_OBJECT(bd), "border_add_event");
        ecore_event_add(E_EVENT_BORDER_ADD, ev, 
_e_border_event_border_add_free, NULL);
 
-       if (((!bd->lock_border) || (!bd->client.border.name))
-           && (!bd->shaded))
+       if ((!bd->lock_border) || (!bd->client.border.name))
          {
             if (bd->client.border.name)
               evas_stringshare_del(bd->client.border.name);
-            if (bd->client.mwm.borderless)
-              bd->client.border.name = evas_stringshare_add("borderless");
-            else if (((bd->client.icccm.transient_for != 0) ||
-                      (bd->client.netwm.type == ECORE_X_WINDOW_TYPE_DIALOG)) &&
-                     (bd->client.icccm.min_w == bd->client.icccm.max_w) &&
-                     (bd->client.icccm.min_h == bd->client.icccm.max_h))
-              bd->client.border.name = evas_stringshare_add("noresize_dialog");
-            else if ((bd->client.icccm.min_w == bd->client.icccm.max_w) &&
-                     (bd->client.icccm.min_h == bd->client.icccm.max_h))
-              bd->client.border.name = evas_stringshare_add("noresize");
-            else if (bd->client.shaped)
-              bd->client.border.name = evas_stringshare_add("shaped");
-            else if ((!bd->client.icccm.accepts_focus) &&
-                     (!bd->client.icccm.take_focus))
-              bd->client.border.name = evas_stringshare_add("nofocus");
-            else if (bd->client.icccm.urgent)
-              bd->client.border.name = evas_stringshare_add("urgent");
-            else if ((bd->client.icccm.transient_for != 0) ||
-                     (bd->client.netwm.type == ECORE_X_WINDOW_TYPE_DIALOG))
-              bd->client.border.name = evas_stringshare_add("dialog");
-            else if (bd->client.netwm.state.modal)
-              bd->client.border.name = evas_stringshare_add("modal");
-            else if ((bd->client.netwm.state.skip_taskbar) ||
-                     (bd->client.netwm.state.skip_pager))
-              bd->client.border.name = evas_stringshare_add("skipped");
-            else
-              bd->client.border.name = evas_stringshare_add("default");
+            bd->client.border.name = NULL;
             bd->client.border.changed = 1;
          }
        if (!bd->remember)
@@ -5089,7 +5052,7 @@
          }
      }
    
-   if (bd->client.border.changed)
+   if ((bd->client.border.changed) && (!bd->shaded))
      {
        Evas_Object *o;
        char buf[4096];
@@ -5098,7 +5061,35 @@
        int ok;
        
        if (!bd->client.border.name)
-         bd->client.border.name = evas_stringshare_add("default");
+         {
+            if (bd->client.mwm.borderless)
+              bd->client.border.name = evas_stringshare_add("borderless");
+            else if (((bd->client.icccm.transient_for != 0) ||
+                      (bd->client.netwm.type == ECORE_X_WINDOW_TYPE_DIALOG)) &&
+                     (bd->client.icccm.min_w == bd->client.icccm.max_w) &&
+                     (bd->client.icccm.min_h == bd->client.icccm.max_h))
+              bd->client.border.name = evas_stringshare_add("noresize_dialog");
+            else if ((bd->client.icccm.min_w == bd->client.icccm.max_w) &&
+                     (bd->client.icccm.min_h == bd->client.icccm.max_h))
+              bd->client.border.name = evas_stringshare_add("noresize");
+            else if (bd->client.shaped)
+              bd->client.border.name = evas_stringshare_add("shaped");
+            else if ((!bd->client.icccm.accepts_focus) &&
+                     (!bd->client.icccm.take_focus))
+              bd->client.border.name = evas_stringshare_add("nofocus");
+            else if (bd->client.icccm.urgent)
+              bd->client.border.name = evas_stringshare_add("urgent");
+            else if ((bd->client.icccm.transient_for != 0) ||
+                     (bd->client.netwm.type == ECORE_X_WINDOW_TYPE_DIALOG))
+              bd->client.border.name = evas_stringshare_add("dialog");
+            else if (bd->client.netwm.state.modal)
+              bd->client.border.name = evas_stringshare_add("modal");
+            else if ((bd->client.netwm.state.skip_taskbar) ||
+                     (bd->client.netwm.state.skip_pager))
+              bd->client.border.name = evas_stringshare_add("skipped");
+            else
+              bd->client.border.name = evas_stringshare_add("default");
+         }
        if (bd->bg_object)
          {
             bd->w -= (bd->client_inset.l + bd->client_inset.r);




_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to