--- ./css/print.css.orig	2008-08-22 00:03:40.000000000 +0200
+++ ./css/print.css	2010-08-02 14:38:05.871754275 +0200
@@ -29,6 +29,10 @@
 a:visited {color: #000;}
 a:hover {color: #00f;}
 a:link img, a:visited img {border: 0;}
+h1, h2, h3, h4 {margin-bottom: 0.1em;}
+p {margin-top: 0.1em;}
+.comment {border-left: dashed 1px #ACACAC; padding-left: 1em;}
+.comment h3 {background-color: #D8D8D8; margin: 1em 0 5px -0.7em; padding: 0.1em 0.7em;}
 .print-footnote {font-size: xx-small;}
 img.print-logo {border: 0;}
 .print-site_name {}
--- ./print_mail/print_mail.admin.inc.orig	2010-07-24 18:01:10.000000000 +0200
+++ ./print_mail/print_mail.admin.inc	2010-08-02 14:38:05.872754392 +0200
@@ -96,6 +96,18 @@
     $form['settings']['adv_link']['print_mail_node_link_pages']['#description'] .= ' '. t('If the PHP-mode is chosen, enter PHP code between %php. Note that executing incorrect PHP-code can break your Drupal site.', array('%php' => '<?php ?>'));
   }
 
+  $form['settings']['adv_link']['print_mail_views_link_visibility'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Show in views'),
+    '#default_value' => variable_get('print_mail_views_link_visibility', 1),
+  );
+
+  $form['settings']['adv_link']['print_mail_view_contained_nodes_link_visibility'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Show in nodes inside a view'),
+    '#default_value' => variable_get('print_mail_view_contained_nodes_link_visibility', 0),
+  );
+
   $form['settings']['adv_link']['print_mail_sys_link_visibility'] = array(
     '#type' => 'radios',
     '#title' => t('Show link in system (non-content) pages'),
--- ./print_mail/print_mail.module.orig	2010-07-24 18:01:10.000000000 +0200
+++ ./print_mail/print_mail.module	2010-08-02 15:51:15.515608412 +0200
@@ -452,19 +452,29 @@
     // If the teaser link is disabled or the user is not allowed
     return FALSE;
   }
+  $is_view = FALSE;
   if (!empty($args['path'])) {
     $nid = preg_replace('!^node/!', '', drupal_get_normal_path($args['path']));
     if (is_numeric($nid)) {
       $args['node'] = node_load($nid);
     }
+    else { // Not a node - is it a view?
+      $router_item = menu_get_item($args['path']);
+      $is_view = ($router_item['access_callback'] == 'views_access');
+    }
   }
   if (!empty($args['node'])) {
     static $node_type = FALSE;
 
     $node = $args['node'];
+    if (!empty($node->view) // node is inside view
+        && !variable_get('print_mail_view_contained_nodes_link_visibility', 0)) {
+      return FALSE;
+    }
     if (isset($node->type)) {
       $node_type = $node->type;
     }
+
     // Node
     $print_mail_node_link_visibility = variable_get('print_mail_node_link_visibility', PRINT_MAIL_NODE_LINK_VISIBILITY_DEFAULT);
     $print_mail_node_link_pages = variable_get('print_mail_node_link_pages', PRINT_MAIL_NODE_LINK_PAGES_DEFAULT);
@@ -505,6 +515,9 @@
       }
     }
   }
+  elseif ($is_view && variable_get('print_mail_views_link_visibility', 1)) {
+    return PRINT_ALLOW_NORMAL_LINK;
+  }
   else {
     // 'System' page
     $print_mail_sys_link_visibility = variable_get('print_mail_sys_link_visibility', PRINT_MAIL_SYS_LINK_VISIBILITY_DEFAULT);
--- ./print_pdf/print_pdf.admin.inc.orig	2010-07-13 18:16:42.000000000 +0200
+++ ./print_pdf/print_pdf.admin.inc	2010-08-02 14:38:05.872754392 +0200
@@ -105,6 +105,18 @@
       $form['settings']['adv_link']['print_pdf_node_link_pages']['#description'] .= ' '. t('If the PHP-mode is chosen, enter PHP code between %php. Note that executing incorrect PHP-code can break your Drupal site.', array('%php' => '<?php ?>'));
     }
 
+    $form['settings']['adv_link']['print_pdf_views_link_visibility'] = array(
+      '#type' => 'checkbox',
+      '#title' => t('Show in views'),
+      '#default_value' => variable_get('print_pdf_views_link_visibility', 1),
+    );
+
+    $form['settings']['adv_link']['print_pdf_view_contained_nodes_link_visibility'] = array(
+      '#type' => 'checkbox',
+      '#title' => t('Show in nodes inside a view'),
+      '#default_value' => variable_get('print_pdf_view_contained_nodes_link_visibility', 0),
+    );
+
     $form['settings']['adv_link']['print_pdf_sys_link_visibility'] = array(
       '#type' => 'radios',
       '#title' => t('Show link in system (non-content) pages'),
--- ./print_pdf/print_pdf.module.orig	2010-07-20 17:22:59.000000000 +0200
+++ ./print_pdf/print_pdf.module	2010-08-02 15:47:36.847985477 +0200
@@ -476,19 +476,29 @@
     // If the teaser link is disabled or the user is not allowed
     return FALSE;
   }
+  $is_view = FALSE;
   if (!empty($args['path'])) {
     $nid = preg_replace('!^node/!', '', drupal_get_normal_path($args['path']));
     if (is_numeric($nid)) {
       $args['node'] = node_load($nid);
     }
+    else { // Not a node - is it a view?
+      $router_item = menu_get_item($args['path']);
+      $is_view = ($router_item['access_callback'] == 'views_access');
+    }
   }
   if (!empty($args['node'])) {
     static $node_type = FALSE;
 
     $node = $args['node'];
+    if (!empty($node->view) // node is inside view
+        && !variable_get('print_pdf_view_contained_nodes_link_visibility', 0)) {
+      return FALSE;
+    }
     if (isset($node->type)) {
       $node_type = $node->type;
     }
+
     // Node
     $print_pdf_node_link_visibility = variable_get('print_pdf_node_link_visibility', PRINT_PDF_NODE_LINK_VISIBILITY_DEFAULT);
     $print_pdf_node_link_pages = variable_get('print_pdf_node_link_pages', PRINT_PDF_NODE_LINK_PAGES_DEFAULT);
@@ -529,6 +539,9 @@
       }
     }
   }
+  elseif ($is_view && variable_get('print_pdf_views_link_visibility', 1)) {
+    return PRINT_ALLOW_NORMAL_LINK;
+  }
   else {
     // 'System' page
     $print_pdf_sys_link_visibility = variable_get('print_pdf_sys_link_visibility', PRINT_PDF_SYS_LINK_VISIBILITY_DEFAULT);
--- ./print.admin.inc.orig	2010-08-01 02:36:15.000000000 +0200
+++ ./print.admin.inc	2010-08-02 14:38:05.873754509 +0200
@@ -261,6 +261,18 @@
     $form['settings']['adv_link']['print_html_node_link_pages']['#description'] .= ' '. t('If the PHP-mode is chosen, enter PHP code between %php. Note that executing incorrect PHP-code can break your Drupal site.', array('%php' => '<?php ?>'));
   }
 
+  $form['settings']['adv_link']['print_html_views_link_visibility'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Show in views'),
+    '#default_value' => variable_get('print_html_views_link_visibility', 1),
+  );
+
+  $form['settings']['adv_link']['print_html_view_contained_nodes_link_visibility'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Show in nodes inside a view'),
+    '#default_value' => variable_get('print_html_view_contained_nodes_link_visibility', 0),
+  );
+
   $form['settings']['adv_link']['print_html_sys_link_visibility'] = array(
     '#type' => 'radios',
     '#title' => t('Show link in system (non-content) pages'),
--- ./print.module.orig	2010-08-01 02:36:15.000000000 +0200
+++ ./print.module	2010-08-02 15:50:41.436615287 +0200
@@ -761,19 +761,29 @@
     // If the teaser link is disabled or the user is not allowed
     return FALSE;
   }
+  $is_view = FALSE;
   if (!empty($args['path'])) {
     $nid = preg_replace('!^node/!', '', drupal_get_normal_path($args['path']));
     if (is_numeric($nid)) {
       $args['node'] = node_load($nid);
     }
+    else { // Not a node - is it a view?
+      $router_item = menu_get_item($args['path']);
+      $is_view = ($router_item['access_callback'] == 'views_access');
+    }
   }
   if (!empty($args['node'])) {
     static $node_type = '';
 
     $node = $args['node'];
+    if (!empty($node->view) // node is inside view
+        && !variable_get('print_html_view_contained_nodes_link_visibility', 0)) {
+      return FALSE;
+    }
     if (isset($node->type)) {
       $node_type = $node->type;
     }
+
     // Node
     $print_html_node_link_visibility = variable_get('print_html_node_link_visibility', PRINT_HTML_NODE_LINK_VISIBILITY_DEFAULT);
     $print_html_node_link_pages = variable_get('print_html_node_link_pages', PRINT_HTML_NODE_LINK_PAGES_DEFAULT);
@@ -814,6 +824,9 @@
       }
     }
   }
+  elseif ($is_view && variable_get('print_html_views_link_visibility', 1)) {
+    return PRINT_ALLOW_NORMAL_LINK;
+  }
   else {
     // 'System' page
     $print_html_sys_link_visibility = variable_get('print_html_sys_link_visibility', PRINT_HTML_SYS_LINK_VISIBILITY_DEFAULT);
--- ./print.pages.inc.orig	2010-07-24 03:21:45.000000000 +0200
+++ ./print.pages.inc	2010-08-02 15:51:56.171372075 +0200
@@ -281,11 +281,11 @@
     if (theme_get_setting("toggle_node_info_$node_type")) {
       $print_text_by = filter_xss(variable_get('print_text_by', t('By %author')));
       $by_author = ($node->name ? $node->name : variable_get('anonymous', t('Anonymous')));
-      $print['submitted'] = t($print_text_by, array('%author' => $by_author));
+      $print['submitted'] = theme('node_submitted', $node);
 
       $print_text_created = filter_xss(variable_get('print_text_created', t('Created %date')));
       $created_datetime = format_date($node->created, 'small');
-      $print['created'] = t($print_text_created, array('%date' => $created_datetime));
+      $print['created'] = '';
     }
     else {
       $print['submitted'] = '';
