Enlightenment CVS committal

Author  : raster
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_int_border_remember.c 


Log Message:


make the rememebr dialog a tad smarter about windows that have no name & class

===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_int_border_remember.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- e_int_border_remember.c     23 Oct 2005 15:13:23 -0000      1.2
+++ e_int_border_remember.c     28 Oct 2005 09:08:00 -0000      1.3
@@ -211,7 +211,16 @@
      }
    if (!cfdata->warned)
      {
-       if (_check_matches(cfdata->border, E_REMEMBER_MATCH_NAME | 
E_REMEMBER_MATCH_CLASS | E_REMEMBER_MATCH_ROLE | E_REMEMBER_MATCH_TYPE | 
E_REMEMBER_MATCH_TRANSIENT) > 1)
+       int matches = 0;
+       
+       if ((cfdata->border->client.icccm.name) &&
+           (cfdata->border->client.icccm.class) &&
+           (strlen(cfdata->border->client.icccm.name) > 0) &&
+           (strlen(cfdata->border->client.icccm.class) > 0))
+         matches = _check_matches(cfdata->border, E_REMEMBER_MATCH_NAME | 
E_REMEMBER_MATCH_CLASS | E_REMEMBER_MATCH_ROLE | E_REMEMBER_MATCH_TYPE | 
E_REMEMBER_MATCH_TRANSIENT);
+       else
+         matches = _check_matches(cfdata->border, E_REMEMBER_MATCH_TITLE | 
E_REMEMBER_MATCH_ROLE | E_REMEMBER_MATCH_TYPE | E_REMEMBER_MATCH_TRANSIENT);
+       if (matches > 1)
          {
             E_Dialog *dia;
             
@@ -251,7 +260,13 @@
      }
    if (cfdata->border->remember)
      {
-       cfdata->border->remember->match = E_REMEMBER_MATCH_NAME | 
E_REMEMBER_MATCH_CLASS | E_REMEMBER_MATCH_ROLE | E_REMEMBER_MATCH_TYPE | 
E_REMEMBER_MATCH_TRANSIENT;
+       if ((cfdata->border->client.icccm.name) &&
+           (cfdata->border->client.icccm.class) &&
+           (strlen(cfdata->border->client.icccm.name) > 0) &&
+           (strlen(cfdata->border->client.icccm.class) > 0))
+         cfdata->border->remember->match = E_REMEMBER_MATCH_NAME | 
E_REMEMBER_MATCH_CLASS | E_REMEMBER_MATCH_ROLE | E_REMEMBER_MATCH_TYPE | 
E_REMEMBER_MATCH_TRANSIENT;
+       else
+         cfdata->border->remember->match = E_REMEMBER_MATCH_TITLE | 
E_REMEMBER_MATCH_ROLE | E_REMEMBER_MATCH_TYPE | E_REMEMBER_MATCH_TRANSIENT;
        if (cfdata->mode == MODE_GEOMETRY)
          cfdata->border->remember->apply = E_REMEMBER_APPLY_POS | 
E_REMEMBER_APPLY_SIZE;
        else if (cfdata->mode == MODE_LOCKS)
@@ -427,15 +442,28 @@
    o = e_widget_list_add(evas, 0, 0);
    
    of = e_widget_framelist_add(evas, _("Remember using"), 0);
-   ob = e_widget_check_add(evas, _("Window name and class"), 
&(cfdata->remember.match_name));
-   e_widget_framelist_object_append(of, ob);
+   if ((cfdata->border->client.icccm.name) &&
+       (cfdata->border->client.icccm.class) &&
+       (strlen(cfdata->border->client.icccm.name) > 0) &&
+       (strlen(cfdata->border->client.icccm.class) > 0))
+     {
+       ob = e_widget_check_add(evas, _("Window name and class"), 
&(cfdata->remember.match_name));
+       e_widget_framelist_object_append(of, ob);
+     }
+   else
+     {
+       cfdata->remember.match_name = 0;
+       cfdata->remember.match_class = 0;
+     }
    if (strlen(e_border_name_get(cfdata->border)) > 0)
      {
        ob = e_widget_check_add(evas, _("Title"), 
&(cfdata->remember.match_title));
        e_widget_framelist_object_append(of, ob);
      }
    else
-     cfdata->remember.match_title = 0;
+     {
+       cfdata->remember.match_title = 0;
+     }
    if ((cfdata->border->client.icccm.window_role) && 
        (strlen(cfdata->border->client.icccm.window_role) > 0))
      {
@@ -443,14 +471,18 @@
        e_widget_framelist_object_append(of, ob);
      }
    else
-     cfdata->remember.match_role = 0;
+     {
+       cfdata->remember.match_role = 0;
+     }
    if (cfdata->border->client.netwm.type != ECORE_X_WINDOW_TYPE_UNKNOWN)
      {
        ob = e_widget_check_add(evas, _("Window type"), 
&(cfdata->remember.match_type));
        e_widget_framelist_object_append(of, ob);
      }
    else
-     cfdata->remember.match_type = 0;
+     {
+       cfdata->remember.match_type = 0;
+     }
    ob = e_widget_check_add(evas, _("Transience"), 
&(cfdata->remember.match_transient));
    e_widget_framelist_object_append(of, ob);
    e_widget_list_object_append(o, of, 1, 1, 0.5);




-------------------------------------------------------
This SF.Net email is sponsored by the JBoss Inc.
Get Certified Today * Register for a JBoss Training Course
Free Certification Exam for All Training Attendees Through End of 2005
Visit http://www.jboss.com/services/certification for more information
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to