vimperator0.5でproxyコマンド

subtech – 冬通りに消え行く制服ガールは、夢物語にリアルを求めない。 – vimperator の command を userChrome.js で拡張するで公開されているものを0.5で動くように書き直すと以下のようになる。vimperator側の変数やメソッドが違う。


javascript <<EOF
const prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService);

proxy_settings = [
    function Disable() {
        prefs.setIntPref("network.proxy.type", 0);
    },

    function Office() {
        prefs.setIntPref("network.proxy.type", 1);
        prefs.setIntPref("network.proxy.http", 'localhost');
        prefs.setIntPref("network.proxy.http_port", 8080);
    }
];

vimperator.commands.add(new Command(["proxy"],
        function (args)
        {
            var name = args;

            vimperator.echo(args);

            if (!name) {
                vimperator.echo("Usage: proxy {setting name}");
            }

            for (var i = 0; i < proxy_settings.length; i++) {
                if (proxy_settings[i].name.toLowerCase() == name.toLowerCase()) {
                    ['http', 'ssl', 'ftp', 'gopher'].forEach(
                        function (p) {
                            prefs.setCharPref("network.proxy." + p, '');
                            prefs.setIntPref("network.proxy." + p + "_port", 0);
                        }
                    );
                    proxy_settings[i]();
                    vimperator.echo("Loading setting " + name);
                    break;
                }
            }
        },
        {
            usage: ["proxy {setting name}"],
            short_help: "Change proxy setting",
            help: "Change proxy setting",
            completer: function(filter) {
                var completions;

                proxy_settings.forEach(function ($_) {
                    if ($_.name.toLowerCase().indexOff(filter.toLowerCase()) == 0) {
                        completions.push([$_.name, '']);
                    }
                });

                return completions;
            }
        }
));
EOF

自分もこんなカッコイイカスタマイズできるようになりたいなあ。cho45さんはすげーや。

投稿者: halt

PHPプログラマ。

“vimperator0.5でproxyコマンド” への 1 件のフィードバック

  1. ピンバック: Do You PHP はてな

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

ねこ認証:9つのパネルの中からねこを3匹選んでください