Twittperator 素敵

Vimperator からさくっと TL 見たりポストしたりするのに便利.
ちゃんと各種コマンドで補完もきくのでわりと使いやすい.
で,ちょっと不満な点があったので適当に書き足した.
まず home_timeline, user_timeline, mentions の各 API に count が指定できるといいなーということで,

let g:twittperator_home_timeline_count = 150
let g:twittperator_user_timeline_count = 100
let g:twittperator_mentions_count = 50

のように指定できるようにした.
それから個人的には各ポストの created_at も表示したかったのでそうした.
以下 rev 38229 に対する diff.

--- twittperator.js	Mon Aug  9 15:56:25 2010
+++ twittperator.js	Mon Aug  9 17:18:06 2010
@@ -1322,6 +1322,7 @@
         .twitter.entry-content { white-space: normal !important; }
         .twitter.entry-content a { text-decoration: none; }
         .twitter.entry-content.rt:before { content: "RT "; color: silver; }
+        .twitter.timestamp { white-space: normal !important; }
         img.twitter.photo { border: 0px; width: 16px; height: 16px; vertical-align: baseline; margin: 1px; }
     ]]></style>.toSource()
                .replace(/(?:\r\n|[\r\n])[ \t]*/g, " ") +
@@ -1340,6 +1341,8 @@
                 </a>
               </td><td class="twitter entry-content rt">
                 {detectLink(rt.text)}
+              </td><td class="twitter timestamp">
+                {(new Date(rt.created_at)).toLocaleString()}
               </td>
             </tr> :
             <tr>
@@ -1350,6 +1353,8 @@
                 </a>
               </td><td class="twitter entry-content">
                 {detectLink(status.text)}
+              </td><td class="twitter timestamp">
+                {(new Date(status.created_at)).toLocaleString()}
               </td>
             </tr>
             );
@@ -1403,14 +1408,15 @@
       if (target) {
         api = "http://api.twitter.com/1/statuses/user_timeline.json";
         query.screen_name = target;
+        query.count = setting.userTimelineCount;
       } else {
-        query = null;
+        query.count = setting.homeTimelineCount;
         if (setting.useChirp) {
           onload(history);
           return;
@@ -1427,7 +1433,7 @@
     });
   } // }}}
   function showTwitterMentions(arg) { // {{{
-    tw.get("http://api.twitter.com/1/statuses/mentions.json", null, function(text) {
+    tw.get("http://api.twitter.com/1/statuses/mentions.json", { count: setting.mentionsCount }, function(text) {
       showTL(JSON.parse(text).map(fixStatusObject));
     });
   } // }}}
@@ -1779,6 +1785,9 @@
       statusValidDuration: parseInt(gv.twitperator_status_valid_duration || 90),
       historyLimit: let (v = gv.twittperator_history_limit) (v === 0 ? 0 : (v || 1000)),
       showTLURLScheme: let (v = gv.twittperator_show_tl_with_https_url) ("http" + (v === false ? "" : "s")),
+      homeTimelineCount: let (v = gv.twittperator_home_timeline_count) (v === 0 ? 0 : (v || 20)),
+      userTimelineCount: let (v = gv.twittperator_user_timeline_count) (v === 0 ? 0 : (v || 20)),
+      mentionsCount: let (v = gv.twittperator_mentions_count) (v === 0 ? 0 : (v || 20)),
     });
 
   let statusRefreshTimer;