? compact_forms_ids.patch
Index: compact_forms.admin.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/compact_forms/compact_forms.admin.inc,v
retrieving revision 1.4
diff -u -p -r1.4 compact_forms.admin.inc
--- compact_forms.admin.inc	30 Sep 2009 03:52:36 -0000	1.4
+++ compact_forms.admin.inc	10 Dec 2009 00:39:45 -0000
@@ -12,11 +12,11 @@
 function compact_forms_admin_form($form, &$form_state) {
   $form['compact_forms_ids'] = array(
     '#type' => 'textarea',
-    '#title' => t('Form CSS ids'),
+    '#title' => t('Form element IDs'),
     '#rows' => 3,
     '#cols' => 40,
     '#default_value' => variable_get('compact_forms_ids', 'user-login-form'),
-    '#description' => t('The CSS ids of forms that shall be displayed compact. One per line.'),
+    '#description' => t('The CSS IDs (e.g., user-register-form) or form IDs (e.g., article_node_form) of forms that shall be displayed compactly. One ID per line.'),
   );
   $form['compact_forms_stars'] = array(
     '#type' => 'radios',
Index: compact_forms.js
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/compact_forms/compact_forms.js,v
retrieving revision 1.7
diff -u -p -r1.7 compact_forms.js
--- compact_forms.js	30 Sep 2009 03:52:36 -0000	1.7
+++ compact_forms.js	10 Dec 2009 00:39:45 -0000
@@ -52,7 +52,12 @@ Drupal.behaviors.compactForms = {
     if (!settings || !settings.compactForms) {
       return;
     }
-    $('#' + settings.compactForms.forms.join(',#'), context).compactForm(settings.compactForms.stars);
+    var selectors = [];
+    $.each(Drupal.settings.compactForms.forms, function () {
+      // Accept both form-id style selectors and form_id values.
+      selectors.push('#' + this, 'form:has(input[value=' + this + '])');
+    });
+    $(selectors.join(', '), context).compactForm(Drupal.settings.compactForms.stars);
   }
 };
 
