toggleGuiOptions.js を Vimperator 2.* で動かす
という訳で、 toggleGuiOptions.js が最新の Vimperator だと動かなかったので動くようにしてみました。
「どこかで同じようなものが出回ってるんだろうなー」と思ってぐぐってみたけど見つからず、勉強しがてらちまちま修正してみたり。
本当は、
「Vimperator入れてみたけどメニュー出してぇ! MoreToolsMenuに必要なメニューがあるんだよう!」と、泣き言を言いたくなったけど出し方が分からず、ヘルプページの初めに書かれてある :set guioptions で表示/非表示ができることを知ったけれど、コマンドを打つのが面倒で面倒で腹立たしいので、見つけた toggleGuiOptions.js を無理やり動かした
というヘタレな流れorz
最近の色々なプラグインを見てたら、プラグイン情報は PLUGIN_INFO に書くんですってね。勉強になりました!
でも書いてません><;
注意事項として、分からんことがあっても id:teppeis さんに質問を投げないようお願いします。
最後に、ヘタレでも使いやすいプラグインを書いてくださった id:teppeis さんに感謝。
GUI Options をトグルする Vimperator プラグイン toggleGuiOptions.js - teppeis blog
/** * ==VimperatorPlugin== * @name toggleGuiOptions.js * @description Toggle GUI Options. * @version 0.2 * @date 2010-08-30 * @author teppeis@gmail.com http://d.hatena.ne.jp/teppeis/ * @author got4416@gmail.com http://d.hatena.ne.jp/got4416/ * ==/VimperatorPlugin== * * Usage: * :toggleGuiOptions [charlist] * -> Toggle GUI Options in charlist. * ex) :toggleGuiOptions mT * -> Toggled menubar and toolbar. * * :toggleGuiOptions all * -> Toggle ALL available GUI Options. * * :toggleGuiOptions * -> Same to 'all'. * * :toggleGuiOptions toolbox * -> Toggle collapsed of $(navigator-toolbox). * Enable for any toolbar of other extentions. */ (function() { function toggleGuiOptions(key) { if (! liberator.modules.config.guioptions[key]) return false; var guioptions = liberator.modules.options.get("guioptions"); if (guioptions.value.indexOf(key) != -1) { guioptions.value = guioptions.value.replace(key, ""); } else { guioptions.value += key; } return guioptions.value; } function toggleCollapsedById(id) { var elem = document.getElementById(id); if (! elem) return null; if ( ! elem.collapsed || elem.collapsed == false ) { elem.collapsed = true; } else { elem.collapsed = false; } return elem.collapsed; } liberator.modules.commands.addUserCommand(['toggleGuiOptions'], "Toggle GUI Options", function(args) { var guioptions = liberator.modules.options.get("guioptions"); if (args == "toolbox") { toggleCollapsedById("navigator-toolbox"); return; } if (args == "all" || args == "") { args = ""; for (var key in liberator.modules.config.guioptions) { args += key; } } for (var i = 0; i < args.length; i++) { for (var j = 0; j < args[i].length; j++) { toggleGuiOptions(args[i].charAt(j)); } } }, { completer: function(filter) { var options = { all : "All GUI Options", toolbox : "Whole navigator-toolbox", }; for (var key in liberator.modules.config.guioptions) { options[key] = liberator.modules.config.guioptions[key]; } var completion_list = []; var re = new RegExp('^' + filter); for (var key in options) { if (re.test(key)) { completion_list.push([key, options[key]]); } } return [0, completion_list]; } } ); })(); // vim:sw=4 ts=4 et: