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