diff -urp privatemsg/privatemsg.module privatemsg_new/privatemsg.module
--- privatemsg/privatemsg.module	2008-07-27 04:02:13.000000000 +0100
+++ privatemsg_new/privatemsg.module	2008-08-25 21:32:23.912326200 +0100
@@ -257,7 +257,25 @@ function privatemsg_list($uid = NULL) {
   if (count($messages)) {
     $row = $messages[0];
     foreach ($row as $index => $value) {
-      $head[] = array('data' => t($index), 'field' => $index, 'sort'=> 'desc');
+      switch ($index) {
+        case 'id':
+          continue 2;
+        case 'author':
+      	  $col = 'from';
+      	  break;
+        case 'recipient':
+          $col = 'to';
+          break;
+        case 'timestamp':
+          $col = 'sent';
+          break;
+        case 'new':
+          continue 2;
+          break;
+        default:
+          $col = $index;
+      }
+      $head[] =  array('data' => t($col), 'field' => $index, 'sort'=> 'desc');
     }
     $tablesort = tablesort_sql($head);
     if ( arg(1) == 'inbox') {
@@ -273,8 +291,18 @@ function privatemsg_list($uid = NULL) {
 
     $messages = array();
     while($row = db_fetch_array($result)) {
-      $row['subject'] = l($row['subject'], 'messages/view/'. $row['id']);
-      $row['author'] = theme('username', user_load($row['author']));
+      $row['subject'] = $row['new'] ? '<strong>' . l($row['subject'], 'messages/view/'. $row['id']) . '</strong>' : l($row['subject'], 'messages/view/'. $row['id']);
+      if (isset($row['author']) && $row['author']) {
+        $row['author'] = $row['new'] ? '<strong>' . theme('username', user_load($row['author'])) . '</strong>' : theme('username', user_load($row['author']));
+      }
+      if (isset($row['author']) && $row['author']) {
+        $row['recipient'] = $row['new'] ? '<strong>' . theme('username', user_load($row['recipient'])) . '</strong>' : theme('username', user_load($row['recipient']));
+      }
+      if (isset($row['timestamp']) && $row['timestamp']) {
+        $row['timestamp'] = $row['new'] ? '<strong>' . format_date($row['timestamp'],'small') . '</strong>' : format_date($row['timestamp'],'small');
+      }
+      unset($row['new']);
+      unset($row['id']);
       $messages[] = $row;
     }
 
@@ -621,8 +649,11 @@ function privatemsg_privatemsg_list_sent
   
   $fragments['select'][] = 'pm.mid as id';
   $fragments['select'][] = 'pm.subject';
-  $fragments['select'][] = 'pmi.author';
-  
+  if ($account->uid != $GLOBALS['user']->uid) {
+    $fragments['select'][] = 'pmi.author';
+  }
+  $fragments['select'][] = 'pmi.recipient';
+  $fragments['select'][] = 'pmi.timestamp';
   $fragments['inner_join'][] = 'INNER JOIN {pm_index} pmi ON pm.mid = pmi.mid';
   $fragments['where'][] = 'pmi.author = %d';
   $fragments['query_args'][] = $account->uid;
@@ -631,13 +662,16 @@ function privatemsg_privatemsg_list_sent
 
 
 function privatemsg_privatemsg_list_alter(&$fragments, $account) {
-  
   $fragments['primary_table'] = '{pm_message} pm';
   
   $fragments['select'][] = 'pmi.mid as id';
   $fragments['select'][] = 'pm.subject';
   $fragments['select'][] = 'pmi.author';
-  $fragments['select'][] = 'pmi.*';
+  if ($account->uid != $GLOBALS['user']->uid) {
+    $fragments['select'][] = 'pmi.recipient';
+  }
+  $fragments['select'][] = 'pmi.timestamp';
+  $fragments['select'][] = 'pmi.new';
   $fragments['inner_join'][] = 'INNER JOIN {pm_index} pmi ON pm.mid = pmi.mid';
   $fragments['where'][]  = 'pmi.recipient = %d';
   $fragments['query_args'][] = $account->uid;
