Hatena::ブログ(Diary)

Griever Twitter

2008/12/15

メニューバーを寄せ集める

Compact Menu ってありますよね。

メニューバーを一纏めにするやつです。

私が使ってるやつを公開します。


ググると色々出てきますね。


// ==UserScript==
// @name         MedleyMenu
// @namespace    http://d.hatena.ne.jp/Griever/
// @include      main
// ==/UserScript==

(function() {
	var medleyList = [
    'file-menu',      //ファイル
    'edit-menu',      //編集
    'view-menu',      //表示
    'history-menu',   //履歴
//    'bookmarksMenu',  //ブックマーク
//    'tools-menu',     //ツール
    'helpMenu',       //ヘルプ
    'endHistorySeparator',  //最近閉じたタブ の上の区切り
    'historyUndoMenu',      //最近閉じたタブ
    'menu_FileQuitItem'    //終了
    ];

    var mainMenubar = document.getElementById('main-menubar');
    var menu = mainMenubar.insertBefore(document.createElement('menu'), mainMenubar.firstChild);
    menu.setAttribute('label', 'Menu');
    menu.setAttribute('id', 'medley-menu');
    menu.setAttribute('accesskey', 'M');
    menu.setAttribute('disabled', false);

    var menupopup = menu.appendChild(document.createElement('menupopup'));
    medleyList.forEach(function(id){
        menupopup.appendChild(document.getElementById(id));
    });
})();

よく使うメニューをまとめると使いにくいので、使うメニューだけ選べるようになってます。

DOM Inspector の使い方さえわかれば好きなメニューを移動できます。


画像にしたかったらこんな感じの CSS を使います。

@namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);

#medley-menu{
   -moz-binding: url("chrome://global/content/bindings/menu.xml#menu-iconic") !important;
   list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABtklEQVQ4ja2TTWsTURSG779z2diipRQ/UEoXwTENCSQpBalFoaJQijKNaZo4pDNpJ2SGDuEmJOkwEOIXitJC1XTvD+guuXlcXA3iQmzrC8/mXO7zLg5HiMtmyrDjT7zTs9zugGxlQNb6SqZ8QnrnmNT2EcnCZ5a2PnLf/IDx/B3xzTdktqKzKcOOCyGEeLh3qjbkd86L8SxUQgghcrsDLsLC+iFCCCGy1jcukjuP2lqQefUFgMWufuj3+/R6PaIoIgxDut0u7XabVquFlBIpJQC31po/BeWTvzaNx+MJSimUUgDceNDQgvTOsR5oMWEY0ul0aDabNBoNgiDA933q9Tq1Wg3XdQGYXwm0ILV99E+tvxiNRgDMLftakHz5CYCrvv4opSQIAjzPw3VdHMehUqlgWRblcplSqQTAbLauBcaL95PWP5t+ZzgcTgCYSe1rwb3NtwBc2QelFL7v47outm1jWRbFYpFCoUA+n8c0TUzTBGA6WdWC+Mbr86x/ktiSowWxhF1dfBqxsH7I3ccdbq+1uLkqmV85YG7ZZzbncT1T41raZSa1x3TSIZZwiCXs6qUP8b/kB3fkhrnvnMMsAAAAAElFTkSuQmCC") !important;
}

#medley-menu > hbox[anonid="accel"],
#medley-menu > .menu-right,
#medley-menu > .menu-iconic-text
	{ display: none !important; }

#medley-menu > .menu-iconic-left { padding: 0 2px !important; }

アイコンfamfamfam.comから拝借。

CSS は userstyles.org を参考にしました。

ななしななし 2009/01/06 23:22 MedleyMenu.uc.jsですが、ありがたく使わせていただいています
質問なのですが、このメニューに再起動を加える事などは出来ないでしょうか?
出来るのであれば、方法を教えていただければ幸いです
よろしくお願いします

GrieverGriever 2009/01/07 01:00 このスクリプトはメニューを寄せ集めているだけなので、新しいメニューを作ることはできません。
再起動メニューは他のスクリプトか拡張で作り、それをこのスクリプトで移動させることは可能です。
例:MR Tech Toolkit をインストールして再起動メニューを表示し、"restartfirefox-fileMenu" を追加すれば再起動ボタンが移動する。

userChrome.js だけで済ませたい場合は、再起動メニューを追加するスクリプトはいくつもありますのでお好きな物をどうぞ。
朝顔日記 - 再起動用の userChrome.js http://diary.noasobi.net/2007/06/diary_070604a.html
xuldev.org :: userChrome.js scripts http://www.xuldev.org/misc/ucjs.php?lang=ja#RestartFirefox
どうぞと言っても環境によっては動かないかもしれませんが。

寄せ集めたメニューに再起動メニューを足すには、朝顔日記さんのスクリプトを MedleyMenu.uc.js の後に書き足し、最後の1行を
document.getElementById('medley-menu').firstChild.appendChild(menuitem);
に書きかえれば動くと思います。

ななしななし 2009/01/07 09:54 無事実現できました!
解答、ありがとうございます

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証