Home > 2008年03月

2008年03月

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  • Comments (Close): -
  • TrackBack (Close): -

foobar2000 0.9.5の Default User Interfaceをいじってみた

foobar2000 0.9.5の Default User Interfaceで遊んだ。

レイアウトを変えるには Preference > Default User Interface の「Enable layout editing mode」(もしくはメニューの View > Layout >「Enable layout editing mode」)を選択して、カスタマイズしたいところを右クリックから UI Elements(パネル、タブ、スプリッタ)を足したり(Add New UI Element)、外したり(Replace UI Element)すればできる。

ただこれだとすぐに適用されてしまうため失敗しても元に戻せないから、Scratchboxを使うのが良いかと。Scratchboxなら気に入ったのを作ったうえで適用すれば良い。

レイアウトの一例

  1. メチャクチャになることはないと思うが、 Preference > Default User Interfaceの Theme Managementから「Export Theme」で一応今の状態を保存しておく。
  2. View > Layout >「Create Scratchbox」をクリックすると、何も表示されていない Scratchboxのウィンドウが開く。

    Scartchbox

  3. 何もないところを右クリック、Add New UI Elementをクリック。Containersの「Splitter (left/right)」を選択。たてにスプリッタができ、左右に分かれる。

    スプリッタ

  4. 右側を右クリック、Add New UI Elementをクリック。Playlist Renderersの「Playlist Tabs」を選択。プレイリストのタブが上に作られる。

    プレイリストタブ

  5. 右側のタブ(4.)の下を右クリック、Add New UI Elementをクリック。Playlist Renderersの「Playlist View」(プレイリスト)を選択。

    foobar2000の右側完成

  6. 左側を右クリック、Add New UI Elementをクリック。Containersの「Tabs」を選択。上にタブが3つできた。私は2つでいいから、3つ目のタブを右クリックから Removeした。

    foobar2000の左側にタブを作成

  7. 1つ目のタブを右クリック、Coverに Rename。タブの下を右クリック、Add New UI Elementをクリック。Selection Informationの「Album Art Viewer」(ジャケット)を選択。

    ジャケット

  8. 2つ目のタブを選択して、右クリック、Album Listに Rename。タブの下を右クリック、Add New UI Elementをクリック。Media Library Viewersの「Album List」を選択。

    Scartchbox上でfoobar2000の完成

  9. Scratchboxの Editメニュー >「Apply Layout」をクリックして、適用する。Scratchboxのウィンドウを閉じる。後はレイアウトしたパネルの縁をドラッグして大きさを整えて完成。

レイアウトを変更したfooba2000v0.9.5

不満があるのは、Playlist Tree(プレイリストを自動的に作成する foobar2000のコンポーネント)みたいなパネルがないこと。 Playlist Tree便利なんだよな。新しいパネルが出てくればいいんだけど。

もう一つは foobar2000のサイズ。Album Listを選ぶと、一定以上の領域を取ってしまって小さくできなくなる。これは Default User Interfaceの問題でなく、Album Listパネルの問題なので外せば済むことだが。

livedoor Readerのフィードの名前を変更する User JavaScript

Opera User JavaScriptです。

複数のフィードを扱えるような汎用の Yahoo! Pipesのフィードの場合、livedoor Readerではリネームができず、同じ名前で区別がつかないから、livedoor Readerに登録したフィードの名前を変更する User JavaScriptを作ってみた。

フィードの名前はスクリプトによって一時的に変更されるだけで、変更された名前が livedoor Readerに保存されるわけではない。

設定した文字列が、フィードの名前か、サイトの URLか、フィードの URLに含まれていれば、名前を変更する。最初に一致した条件でリネームする。設定した文字列が複数のフィードに含まれていて、その文字列の前に一致する条件がない場合は、同じ名前に変更される。

{
    title ( link, feedlink): フィードの名前(サイトの URL、フィードの URL)に含まれる文字列,
    name:  変更する名前
},(最後のフィード以外は「,」を忘れないように)


例 Karafuto Blog
フィードの名前
{
    title:    'Karafuto Blog',
    name:     'my blog'
},
サイトの URL
{
    link :    'http://karafuto50.blog117.fc2.com/',
    name:     'my blog'
},
フィードの URL
{
    feedlink: 'http://karafuto50.blog117.fc2.com/?xml',
    name:     'my blog'
},

日本語は Unicodeエスケープする必要がある。

「はてなブックマーク - 人気エントリー」をUnicodeエスケープすると、

「\u306F\u3066\u306A\u30D6\u30C3\u30AF\u30DE\u30FC\u30AF - \u4EBA\u6C17\u30A8\u30F3\u30C8\u30EA\u30FC」となる。

Firefoxをインストールしているのなら、Firebugのコンソールに入力すれば表示される。

OperaならText Escaping and Unescaping in JavaScriptを使わせてもらうのが簡単だ。

// ==UserScript==
// @name        LDR Rename Feed
// @namespace   http://karafuto50.blog117.fc2.com/
// @version     1.0
// @include     http://reader.livedoor.com/reader/*
// ==/UserScript==

window.opera.addEventListener('AfterEventListener.load', function (){

    // リネームしたいフィード
    var feed = [
        // はてなブックマーク - タグ「opera」を含む新着エントリー
        {
            link:     'http://b.hatena.ne.jp/t/opera',
            name:     '\u306F\u3066\u30D6\u300Copera\u300D\u65B0\u7740'
        },
        // 眞鍋かをりのココだけの話 powered by ココログ
        {
            title:    '\u771E\u934B\u304B\u3092\u308A\u306E\u30B3\u30B3\u3060\u3051\u306E\u8A71',
            name:     '\u771E\u934B\u304B\u3092\u308A\u306E\u30B3\u30B3\u3060\u3051\u306E\u8A71'
        },
        // X51.ORG : Occult News for Nerds, Truth is Out There
        {
            title:    'X51.ORG : Occult News for Nerds, Truth is Out There',
            name:     'X51.ORG'
        },
        // 山形浩生 の「経済のトリセツ」  Formerly supported by WindowsLiveJournal
        {
            feedlink: 'http://d.hatena.ne.jp/wlj-Friday/rss',
            name:     '\u5C71\u5F62\u6D69\u751F\u306E\u300C\u30C8\u30EA\u30BB\u30C4\u300D'
        },
        // ITmedia エンタープライズ 最新記事一覧
        {
            link:     'http://www.itmedia.co.jp/enterprise/',
            name:     'ITmedia \u30A8\u30F3\u30BF\u30FC\u30D7\u30E9\u30A4\u30BA'
        }
    ];

    register_hook('AFTER_SUBS_LOAD', function (){
        var list = subs.model.list;
        for (var j = 0; j < list.length; j ++ ){
            for (var i = 0; i < feed.length; i ++ ){
                var prop = feed[i].title ? 'title' : feed[i].link ? 'link' : 'feedlink';
                if (list[j][prop].indexOf(feed[i][prop]) > -1){
                    list[j].title = feed[i].name;
                    break;
                }
            }
        }
        // 左のフィードのリストを更新
        subs.update(true);
    });

    // イベントリスナーを削除
    this.removeEventListener('AfterEventListener.load', arguments.callee, false);

}, false);

ldr_rename_feed.js

リネームする前のフィード リネームしたフィード

フィードをリネームした前・後。(delete imagesは Yahoo! Pipesのフィードの例として挙げた。スクリプトのフィードのリストには入れていない。)


スクリプトでは livedoor Readerに登録したフィードの情報が必要だから、それを取得するブックマークレットも書いておいた。

フィードの名前(title)、サイトの URL(link)、フィードの URL(feedlink)があればいいが、まあ別に邪魔になるわけでもないのでその他の情報も取ってくる。別のタブ(ウィンドウ)に表示する。

登録したフィードすべての情報が取れるわけではなく、表示されたフィードしか取得できない。新着のみ表示を有効にしてあると、新着のあるフィードの情報だけ表示する。

livedoor Readerのフィードの情報を表示するブックマークレット

livedoor Readerのページを開いて実行してくれ。

フィードの画像を削除するパイプ

  • 2008-03-23 (Sun)
  • web

Yahoo! Pipesでフィードの中の画像を削除するパイプを作ってみた。画像の上にリンクがある場合はそのリンクも削除する。

それと、フィード名を変更できない RSSリーダ(例 livedoor Reader)を使っていると、同じパイプを使用していると紛らわしいので、フィードのエントリーのタイトルに文字をつけられるようにしてみた。

  1. URLを入力するボックス

    「User inputs」>「URL Input」モジュール

  2. フィードを取る

    「Sources」>「Fetch Feed」モジュール

  3. タイトルにつける文字列を入力するボックス

    「User inputs」>「Text Input」モジュール

  4. 入力した文字列を入れておくアイテムを用意する

    「Operators」>「Rename」モジュールに下記を入力
    In 「item.title」「Copy As」「titlehead」

  5. 入力した文字列をタイトルの頭につける

    「Operators」>「RegExp」モジュールに下記を入力
    In 「item.titlehead」 replace 「([\s\S]*)」 with 「(3.の「Text Input」モジュールとつなぐ)」
    In 「item.titlehead」 replace 「(.+)」 with 「$1: 」
    In 「item.title」 replace 「(.*)」 with 「${titlehead}$1」

  6. 画像を削除

    6.と同じ「RegExp」モジュールに下記を入力
    In 「item.description」 replace 「(<a[^>]+>\s*)?<img[^>]+>(\s*<\/a>)?」 with 「」 gi
    In 「item.content:encoded」 replace 「(<a[^>]+>\s*)?<img[^>]+>(\s*</a>)?」 with 「」 gi
    In 「item.content」 replace 「(<a[^>]+>\s*)?<img[^>]+>(\s*</a>)?」 with 「」 gi

作成したパイプ Pipes: delete images

作成したパイプdelete imagesのソース

参考にした記事

ホワイトブラウザのシーンセレクト

ホワイトブラウザで動画を管理を書いた時は Version 0.4.2.3 βだったホワイトブラウザが、たった2ヶ月で Version 0.5.0.1 βになっていた。速いなあ。

特に私が気に入ったのは、「シーンセレクト」。今までは気に入らないサムネイルの時は「ランダムサムネイル作成」(以前は「サムネイル再作成」)でシーンを自分で選ぶことはできず、ソフト任せだったのが、「マニュアルサムネイル作成」は自分の好きなシーンを選ぶことができる。

マニュアルサムネイル作成

左のボタンから、シーン作成。巻き戻し。再生/停止。早送り。中止。

シーンセレクトにはショートカットも用意されているので操作もしやすい。

注意するのは、マニュアルサムネイル作成で使う動画のサイズはスキンの HTMLのコンフィグで設定したサムネイルのサイズ(thum-width, thum-height)なので、あまり小さいサイズにしているとシーンを選ぶのに苦労する。

それと、マニュアルサムネイル作成を行うサムネイルは表示されている位置ではなく、コンフィグで設定したサムネイルのサイズの位置が選ばれるので、コンフィグのサイズ(HTML)と表示するサイズ(CSS)を同じにしたほうが使いやすい。

同じようにシーンジャンプ(サムネイルのシーンから再生される)でもコンフィグで設定したサムネイルのサイズの位置から選ばれるようだ。

あとはシーンを選ぶとき時間が出てきてくれると選びやすいけどな。

FC2ブログの新管理画面にアクセスキーを設定する User JavaScript その2

FC2ブログの新管理画面のフォームが少し変更されていたので、 Karafuto Blog FC2ブログの新管理画面にアクセスキーを設定する User JavaScriptを変更されたフォームに合わせた。

このスクリプトは FC2ブログの新管理画面>「新しく記事を書く(記事の編集)」ページのフォームのコントロール、アンカーにアクセスキーを設定し、アクセスキーを加えた要素の前にアクセスキーを表示する。

アクセスキー

FC2ブログに挿入したアクセスキー
アクセスキー設定した要素
tタイトルのテキストボックス
cカテゴリのメニュー
e本文のテキストエリア
s記事を保存するボタン
p記事をプレビューするボタン
1追記の編集のアンカー
a追記のテキストエリア
2記事の設定のアンカー
d日時指定の日にちのテキストボックス
o投稿区分の公開のラジオボタン
u投稿区分の下書きのラジオボタン

スクリプトの設定

@includeの後の URIの(サーバ番号)のところに自分のブログのサーバ番号を書く。

例
// @include http://blog117.fc2.com/control.php?mode=editor&process=*

ダウンロード

fc2blog_editor_accesskey2.js

修正箇所は、記事を保存するボタン、記事をプレビューするボタン、追記の編集のアンカー、記事の設定のアンカーのアクセスキーを設定し直した。イベントリスナのイベントを'load'から'DOMContentLoaded'に換えた。

フォームの情報

変更されたのは、記事を保存するボタンの input要素の type属性が「button」から「submit」に換わったのと、フォームのコントロールの数が2つ(記事の編集では4つ)増えた。

フォームではないが、追記の編集のアンカーと記事の設定のアンカーの関数の設定が、「href」属性から「onclick」属性に換わった。アンカーの上の見出しのクラス名が換わった。


追記: 2009年3月17日 投稿区分の公開のラジオボタンの idが変わっていたので、スクリプトを修正した。

Home > 2008年03月

おまかせリンク(R)
全記事表示リンク
Search
Meta
Feeds

Page Top

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。