フレッシュリーダーに「瞬間スクロール」と「ショートカットキーの追加」改造をする
サーバー型で、かつ、いつでもフィードの最新読み込みができて、軽いという特徴が他には替えられないRSSリーダー・フレッシュリーダーの、個人的に行っている改造を紹介します。なお、エントリ末尾に改造済みのスクリプトへのリンクがあります。
目次
改造1:ショートカットキーでのスクロールを「瞬間スクロール」にする
改造内容
フレッシュリーダーは、キーボードの「j」「k」キーで、エントリの前後をスクロールすることができます。標準ではスクロールは滑らかに行われるのですが、このスクロールを瞬間移動にすることができます。
修正箇所
フレッシュリーダーインストールディレクトリ/css/hotkey.jsの以下の部分の数値を「0.6」から「0.01」へ変更します。2008-01-08現在の最新版(2.0.07111400)では186行目です。最新版をお使いでない方は、エディタの検索機能で「Math.min」を検索するとよいでしょう。
this.duration = Math.min(0.6, Math.abs((this.smoothfrom - this.smoothto) / 3000));
↓
this.duration = Math.min(0.01, Math.abs((this.smoothfrom - this.smoothto) / 3000));
なお、修正した後は http://フレッシュリーダーのアドレス/css/hotkey.js に直接アクセスし、ブラウザの「更新」ボタンを押すなどして古いキャッシュを更新してください。単にフレッシュリーダーの画面で更新ボタンを押しても更新されないことがあります。
改造2:「リロード(r)」と「全フォルダ(a)」をショートカットキーに追加する
改造内容
左ペインの未読件数のリロードと、左ペインの「(全フォルダ:***サイト)」のリンクを開いたときの動作をショートカットキーとして登録します。この機能追加で僕はフレッシュリーダー上でのマウス操作がほぼ無くなりました。
修正箇所
修正箇所は2箇所あります。
フレッシュリーダーインストールディレクトリ/css/hotkey.jsのHotKeyオブジェクトの定義の先頭に、以下の2つのfunctionを追加します。2008-01-08現在の最新版(2.0.07111400)では130行目です。最新版をお使いでない方は、エディタの検索機能で「var HotKey」を検索するとよいでしょう。
var HotKey = {
now: function(){
↓
var HotKey = {
reload_feedlist : function()
{
var anchors = top._menu.document.getElementsByTagName('a');
for (var i = 0; i < anchors.length; i++) {
if ('href' in anchors[i] && anchors[i].href.match(/feedlist\.php\?d=[0-9]+$/)) {
top._menu.location.href = anchors[i].href;
break;
}
}
},
show_allfeed : function()
{
top._contents.location.replace('./feedshowall.php');
},
now: function(){
さらに、同じファイルのfunction on_keypress_event定義の最後尾付近を、以下のように修正します。HotKeyオブジェクトの定義を変更した前提で、445行目です。
}else if (keycode == 13 || keycode == 111){ // o, enter
close_event(e);
HotKey.open_node(e, false);
return false;
}
↓
}else if (keycode == 13 || keycode == 111){ // o, enter
close_event(e);
HotKey.open_node(e, false);
return false;
}else if (keycode == 114) { // r
HotKey.reload_feedlist(e);
return false;
}else if (keycode == 97) { // a
HotKey.show_allfeed(e);
return false;
}
修正した後は http://フレッシュリーダーのアドレス/css/hotkey.js に直接アクセスし、ブラウザの「更新」ボタンを押すなどして古いキャッシュを更新してください。
改造のポイント
フレッシュリーダーはphpで作られていますが、ionCube Encoderによってスクリプトがエンコードされているため、phpのコードを閲覧したり改造することができません。ただしJavaScriptやCSSはそのままのファイルなので、こういったJavaScriptのみで実現できる改造については可能です。便利な改造方法が思いついたらチャレンジしてみては如何でしょうか。
改造済みスクリプトのダウンロード
今回の改造を反映したファイルです。
2008-01-08最新 2.0.07111400用 /css/hotkey.js [ダウンロード] [ソースを閲覧]
改造済みスクリプトのインストール方法
- ダウンロードしたhotkey.js「フレッシュリーダーのインストールディレクトリ/css/hotkey.js」を上書きしてください。上書き前にバックアップをおすすめします。
- ブラウザのキャッシュを削除するために「フレッシュリーダーのURL(ファイル名無し)/css/hotkey.js」にアクセスし、(IEやFirefoxの場合は)CTRLを押しながらF5キーを押してキャッシュを完全に更新します。
- フレッシュリーダーのURLに再アクセスすれば、インストールは完了です。
免責
このスクリプトの動作保証はいたしません。また、このスクリプトに起因して生じた損害について、法令等により免責が認められない場合を除いて、一切の責任を負わないものとします。全て自己責任においてご利用ください。
コメント / トラックバック