aboutsummaryrefslogtreecommitdiffstats
path: root/gmail-commando.js
AgeCommit message (Expand)Author
2011-07-01Fix regexp no areanekos
2011-06-12buffer.followLink に引数付けるanekos
2011-06-07RegExp の関数的な呼び出しができなくなったので修正 for Fi...anekos
2011-06-06謎のコメント削除anekos
2011-06-06Follow buzzanekos
2011-06-05follow gmail changesanekos
2011-03-21確認し忘れ oOoOoOOpsanekos
2011-03-19Gmail の変更に対応anekos
2011-02-12PLUGIN_INFO削除anekos
2011-02-12Gmail の変更に対応anekos
2010-11-29Fix <updateURL>anekos
2010-11-22fix tagginganekos
2010-10-23Removed execution flags.thinca
2010-10-15へんこうにたいおうanekos
2010-09-07PLUGIN_INFO修正anekos
2010-09-07重要機能に対応anekos
2010-06-21オプション値 u を追加anekos
2010-06-07ラベルのショートカット的な補完設定追加anekos
スクロール時のアニメーションのインターバルです単位ミリ秒)。 "1"以上の値を設定しますデフォルトは"20"です === 設定例 === スクロール量を300pxにインターバルを10msに設定します >|| let g:smooziee_scroll_amount="300" let g:smooziee_scroll_interval="10" ||< == API == 他のキーにマップする場合やスクリプトから呼び出せるようAPIを用意してます >|| smooziee.smoothScrollBy(amount); ||< amountにはスクロール量(ピクセル)を指定してください正の値で下方向へ負の値で上方向へスクロールします Example. >|| :js liberator.plugins.smooziee.smoothScrollBy(600) :js liberator.plugins.smooziee.smoothScrollBy(-600) ||< == ToDo == - 読み込みの順番によっては他のプラグインと競合する可能性があるのをなんとかしたい ]]></detail> </VimperatorPlugin>; // }}} let self = liberator.plugins.smooziee = (function(){ // Mappings {{{ mappings.addUserMap( [modes.NORMAL], ["j"], "Smooth scroll down", function(count){ self.smoothScrollBy(getScrollAmount() * (count || 1)); }, { count: true } ); mappings.addUserMap( [modes.NORMAL], ["k"], "Smooth scroll up", function(count){ self.smoothScrollBy(getScrollAmount() * -(count || 1)); }, { count: true } ); // }}} // PUBLIC {{{ var PUBLICS = { smoothScrollBy: function(moment) { win = Buffer.findScrollableWindow(); interval = window.eval(liberator.globalVariables.smooziee_scroll_interval || '20'); destY = win.scrollY + moment; clearTimeout(next); smoothScroll(moment); } } // }}} // PRIVATE {{{ var next; var destY; var win; var interval; function getScrollAmount() window.eval(liberator.globalVariables.smooziee_scroll_amount || '400'); function smoothScroll(moment) { if (moment > 0) moment = Math.floor(moment / 2); else moment = Math.ceil(moment / 2); win.scrollBy(0, moment); if (Math.abs(moment) < 1) { setTimeout(makeScrollTo(win.scrollX, destY), interval); destY = null; return; } next = setTimeout(function() smoothScroll(moment), interval); } function makeScrollTo(x, y) function() win.scrollTo(x, y); // }}} return PUBLICS; })(); // vim: sw=2 ts=2 et si fdm=marker: