Index: attachments.module
===================================================================
--- attachments.module	(revision 5027)
+++ attachments.module	(working copy)
@@ -34,7 +34,10 @@
 
   const STYLE_USE_DEFAULT = 0;
   const STYLE_DEFAULT = 'drupal_default';
-  const STYLE_LIST = 'attachments_list';
+  const STYLE_LIST_TS = 'attachments_list';
+  const STYLE_LIST_WOFS = 'attachments_list_wofs';
+  const STYLE_LIST_WOFT = 'attachments_list_woft';
+  const STYLE_LIST_WOFST = 'attachments_list_wofst';
 
   const OTHER_EXTS = 'others';
 
@@ -144,9 +147,21 @@
       'file' => 'attachments.themes.inc',
     ),
     'attachments_list' => array(
+      'arguments' => array('node' => (object) array(), 'title' => 'Attachments', 'type' => TRUE, 'size' => TRUE),
+      'file' => 'attachments.themes.inc',
+    ),
+    'attachments_list_wofs' => array(
       'arguments' => array('node' => (object) array(), 'title' => 'Attachments'),
       'file' => 'attachments.themes.inc',
     ),
+    'attachments_list_woft' => array(
+      'arguments' => array('node' => (object) array(), 'title' => 'Attachments'),
+      'file' => 'attachments.themes.inc',
+    ),
+    'attachments_list_wofst' => array(
+      'arguments' => array('node' => (object) array(), 'title' => 'Attachments'),
+      'file' => 'attachments.themes.inc',
+    ),
   );
 }
 
@@ -271,7 +286,10 @@
     case 'style':
       $results = array(
         Attachments::STYLE_DEFAULT => t('Use standard Drupal table style.'),
-        Attachments::STYLE_LIST => t('Show files as a list.'),
+        Attachments::STYLE_LIST_TS => t('Show files as a list with type and size.'),
+        Attachments::STYLE_LIST_WOFS => t('Show files as a list without file size.'),
+        Attachments::STYLE_LIST_WOFT => t('Show files as a list without file type.'),
+        Attachments::STYLE_LIST_WOFST => t('Show files as a list without file type or size.'),
       );
       break ;
   }
Index: attachments.themes.inc
===================================================================
--- attachments.themes.inc	(revision 5027)
+++ attachments.themes.inc	(working copy)
@@ -88,20 +88,42 @@
   return $output;
 }
 
-function theme_attachments_list($node, $title = 'Attachments') {
+function theme_attachments_list($node, $title = 'Attachments', $type = TRUE, $size = TRUE) {
   $items = array();
   foreach ($node->files as $file) {
     if ($file->list) {
-      list(, $ext) = explode('/', drupal_strtoupper($file->filemime));
-      $name = check_plain($file->description) . sprintf(" (%s, %s)", $ext, format_size($file->filesize));
-      $items[] = l($name, $file->filepath);
+      $name = check_plain($file->description);
+      $extras = array();
+      if ($type) {
+        list(, $ext) = explode('/', drupal_strtoupper($file->filemime));
+        $extras[] = $ext;
+      }
+      if ($size) {
+        $extras[] = format_size($file->filesize);
+      }
+      if (!empty($extras)) {
+       $info .= ' (' . implode(', ', $extras) . ')';
+      }
+      $items[] = l($name, $file->filepath) . $info;
     }
   }
   if (!empty($items)) {
-    $output = theme('item_list', $items, t($title));
+    $output = theme('item_list', $items, $title?t($title):NULL);
   }
   return $output;
 }
 
+function theme_attachments_list_wofs($node, $title = 'Attachments') {
+  return theme('attachments_list', $node, $title, TRUE, FALSE);
+}
 
+function theme_attachments_list_woft($node, $title = 'Attachments') {
+  return theme('attachments_list', $node, $title, FALSE, TRUE);
+}
 
+function theme_attachments_list_wofst($node, $title = 'Attachments') {
+  return theme('attachments_list', $node, $title, FALSE, FALSE);
+}
+
+
+