Blue Ice liteとBlue-Joy
FirefoxのテーマBlue Ice liteとGTKテーマBlue-Joyを組み合わせると、非常に美しいインターフェイスが出来上がる。ここではBlue Ice liteをBlue-Joyに適応させた作業の経過を書いておく。この修正はBlue-Joy以外のダーク系テーマにも合うと思われる。作業の前にImageMagick、patchはあらかじめインストールしておく。
リンク先からblue_ice_lite-2.1-fx.jarをダウンロードする。Blue Ice liteは古い形式のパッケージングを行っているため、新しい形式に変更する。
chrome.manifest:
$ []mkdir work_bi[] []新たに作業ディレクトリを作る[]
$ []cd work_bi[]
$ []unzip ../blue_ice_lite-2.1-fx.jar[] []作業ディレクトリにテーマを展開[]
$ []ls[]
browser global []icon.png[] mozapps
[]contents.rdf[] help []install.rdf[] []preview.png[]
$ []mkdir chrome[] []新しいテーマのパッケージングの為にフォルダをchrome以下に移動[]
$ []mv browser global help mozapps chrome/[]
$ []rm content.rdf[] []content.rdfを削除してchrome.manifestを作る[]
$ []vim chrome.manifest[]
skin global BlueIce2 jar:chrome/blue_ice_lite.jar!/global/ skin browser BlueIce2 jar:chrome/blue_ice_lite.jar!/browser/ skin mozapps BlueIce2 jar:chrome/blue_ice_lite.jar!/mozapps/ skin help BlueIce2 jar:chrome/blue_ice_lite.jar!/help/
blue_ice_lite.patch:
$ []find . -name 'Thumbs.db' -exec rm {} \;[] []Thumbs.dbを削除[]
$ []rm chrome/browser/RESORT\ browser.css[] []その他いらないファイルの削除[]
$ []rm chrome/global/scrollbars-MF.css[]
$ []rm chrome/global/scrollbars.css[]
$ []cd chrome/global[]
$ []mogrify -negate arrow/* checkbox/* menu/* radio/* toolbar/*[] []白黒反転[]
$ []mogrify -negate tree/columnpicker.gif tree/sort-asc.gif tree/sort-dsc.gif[]
[]tree/twisty-*.pngを白黒反転しないよう個別に指定[]
$ []cd ../browser[]
$ []mogrify -modulate 100,100,67 Search-provider-bkgnd.png Search-provider-mid-bottom.png Search-provider-mid-top.png[]
[]検索ボックスのハイライトが青だと見にくいので緑へ変更[]
$ []cd ..[] []chromeへ移動[]
$ []patch -p2 < blue_ice_lite.patch[]
[]patching file browser/browser.css[]
[]patching file browser/problems_browser.css[]
[]patching file global/autocomplete.css[]
[]patching file global/browser.css[]
[]patching file global/dialog.css[]
[]patching file global/global.css[]
[]patching file global/menu.css[]
[]patching file global/tabbox.css[]
[]patching file global/toolbar.css[]
[]patching file global/toolbarbutton.css[]
diff -Nru blue_ice_lite.orig/chrome/browser/browser.css blue_ice_lite/chrome/browser/browser.css --- blue_ice_lite.orig/chrome/browser/browser.css +++ blue_ice_lite/chrome/browser/browser.css @@ -46,23 +46,13 @@ @namespace html url("http://www.w3.org/1999/xhtml"); -#menubar { - background: #EDEDED !important; -} - toolbar { min-width: 1px; min-height: 20px; border-top: 0px solid ThreeDHighlight; border-bottom: 0px solid ThreeDShadow; - background: url("chrome://global/skin/menu/menu-hover2.png") repeat-x center !important; } -#toolbar-menubar { - background: #EDEDED !important; -} - - #menubar-items { -moz-box-orient: vertical; /* for flex hack */ } @@ -73,14 +63,12 @@ #PersonalToolbar { min-height: 26px; - background: #EDEDED !important; } /* ..... fix searchbar "add engine" padding issue ..... */ #searchbar { -moz-margin-start: 3px; - background: #EDEDED !important; } #searchbar .searchbar-popup .open-engine-manager { @@ -113,12 +101,10 @@ min-width: 0; max-width: 13em; padding: 2px 3px; - background: #EDEDED !important; } toolbarbutton.bookmark-item-microsummarized { max-width: 20em; - background: #FFFFFF !important; } toolbarbutton.bookmark-item:hover:active, @@ -133,7 +119,6 @@ .bookmark-item > .toolbarbutton-icon { width: 16px; height: 16px; - background: #EDEDED !important; } /* Prevent [mode="icons"] from hiding the label */ @@ -154,12 +139,10 @@ .bookmarks-toolbar-customize { display: none; max-width: 15em !important; - background: #EDEDED !important; } toolbarpaletteitem[place="toolbar"] .bookmarks-toolbar-customize { display: -moz-box; - background: #EDEDED !important; } toolbarpaletteitem[place="toolbar"] .bookmarks-toolbar-overflow-items { @@ -177,7 +160,6 @@ menuitem.bookmark-item { min-width: 0; max-width: 26em; -/* background: #FFFFFF !important; */ } menuitem.bookmark-item:hover { @@ -210,21 +192,6 @@ } -/* ..... drag and drop styles ..... */ - -.bookmark-item[dragover-left="true"] { - -moz-border-left-colors: #000000; -} -.bookmark-item[dragover-right="true"] { - -moz-border-right-colors: #000000; -} -.bookmark-item[dragover-top="true"] { - -moz-border-top-colors: #000000; -} -.bookmark-item[dragover-bottom="true"] { - -moz-border-bottom-colors: #000000; -} - /* ::::: bookmark items ::::: */ .bookmark-item { @@ -238,7 +205,6 @@ .bookmark-item[container="true"]:hover { -moz-image-region: rect(0px, 32px, 16px, 16px) !important; -/* background: #FFFFFF !important; */ } .bookmark-item[open="true"], @@ -281,14 +247,11 @@ /* ::::: primary toolbar buttons ::::: */ - .toolbarbutton-1 { -moz-box-orient: vertical; min-width: 0; list-style-image: url("chrome://browser/skin/Toolbar.png"); } - - .toolbarbutton-1[chromedir="rtl"] { -moz-box-orient: vertical; min-width: 0; @@ -958,10 +921,6 @@ /* ::::: autocomplete ::::: */ -.autocomplete-treebody::-moz-tree-cell-text(treecolAutoCompleteComment) { - color: #555566; -} - .autocomplete-treebody::-moz-tree-cell-text(suggesthint, treecolAutoCompleteComment), .autocomplete-treebody::-moz-tree-cell-text(suggestfirst, treecolAutoCompleteComment) { @@ -1126,7 +1085,7 @@ } #sidebar { - background-color: #EDEDED; + background-color: Window; } /* ::::: content area ::::: */ @@ -1270,12 +1229,6 @@ -moz-margin-end: 4px; } -#urlbar[level="high"] > .autocomplete-textbox-container, -#urlbar[level="low"] > .autocomplete-textbox-container { - background-color: #DBE0EC; /* #FFFCE8; */ - color: #000000; -} - #urlbar[level="high"] #lock-icon { -moz-image-region: rect(0px, 18px, 18px, 0px); list-style-image: url("chrome://browser/skin/Secure.png"); diff -Nru blue_ice_lite.orig/chrome/browser/problems_browser.css blue_ice_lite/chrome/browser/problems_browser.css --- blue_ice_lite.orig/chrome/browser/problems_browser.css +++ blue_ice_lite/chrome/browser/problems_browser.css @@ -45,24 +45,13 @@ @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); @namespace html url("http://www.w3.org/1999/xhtml"); - -#menubar { - background: #EDEDED !important; -} - toolbar { min-width: 1px; min-height: 20px; border-top: 0px solid ThreeDHighlight; border-bottom: 0px solid ThreeDShadow; - background: url("chrome://global/skin/menu/menu-hover2.png") repeat-x center !important; } -#toolbar-menubar { - background: #EDEDED !important; -} - - #menubar-items { -moz-box-orient: vertical; /* for flex hack */ } @@ -73,14 +62,12 @@ #PersonalToolbar { min-height: 26px; - background: #EDEDED !important; } /* ..... fix searchbar "add engine" padding issue ..... */ #searchbar { -moz-margin-start: 3px; - background: #EDEDED !important; } #searchbar .searchbar-popup .open-engine-manager { @@ -113,7 +100,6 @@ min-width: 0; max-width: 13em; padding: 2px 3px; - background: #EDEDED !important; } toolbarbutton.bookmark-item-microsummarized { @@ -122,8 +108,6 @@ toolbarbutton.bookmark-item:hover:active, toolbarbutton.bookmark-item[open="true"] { - background: #6880A4 !important; - padding-top: 3px; padding-bottom: 1px; -moz-padding-start: 4px; @@ -133,7 +117,6 @@ .bookmark-item > .toolbarbutton-icon { width: 16px; height: 16px; - background: #EDEDED !important; } /* Prevent [mode="icons"] from hiding the label */ @@ -154,12 +137,10 @@ .bookmarks-toolbar-customize { display: none; max-width: 15em !important; - background: #EDEDED !important; } toolbarpaletteitem[place="toolbar"] .bookmarks-toolbar-customize { display: -moz-box; - background: #EDEDED !important; } toolbarpaletteitem[place="toolbar"] .bookmarks-toolbar-overflow-items { @@ -177,14 +158,11 @@ menuitem.bookmark-item { min-width: 0; max-width: 26em; - background: #ffffff !important; } menuitem.bookmark-item:hover { min-width: 0; max-width: 26em; - background: #6880A4 !important; - } .bookmark-item > .menu-iconic-left { @@ -214,16 +192,16 @@ /* ..... drag and drop styles ..... */ .bookmark-item[dragover-left="true"] { - -moz-border-left-colors: #000000; + -moz-border-left-colors: #ffffff; } .bookmark-item[dragover-right="true"] { - -moz-border-right-colors: #000000; + -moz-border-right-colors: #ffffff; } .bookmark-item[dragover-top="true"] { - -moz-border-top-colors: #000000; + -moz-border-top-colors: #ffffff; } .bookmark-item[dragover-bottom="true"] { - -moz-border-bottom-colors: #000000; + -moz-border-bottom-colors: #ffffff; } /* ::::: bookmark items ::::: */ @@ -248,14 +226,12 @@ .bookmark-item[container="true"]:hover { -moz-image-region: rect(0px, 32px, 16px, 16px) !important; - background: #6880A4 !important; } .bookmark-item[open="true"], .bookmark-item[container="true"][open="true"]:hover { -moz-image-region: rect(16px, 32px, 32px, 16px) !important; - background: #6880A4 !important; } diff -Nru blue_ice_lite.orig/chrome/global/autocomplete.css blue_ice_lite/chrome/global/autocomplete.css --- blue_ice_lite.orig/chrome/global/autocomplete.css +++ blue_ice_lite/chrome/global/autocomplete.css @@ -76,7 +76,7 @@ margin: 0px; border-left: 1px solid #96969D; padding: 0px; - background-color: #EDEDED; + background-color: -moz-dialog; list-style-image: url("chrome://global/skin/icons/autocomplete-dropmark-arrow.png"); -moz-image-region: rect(0px, 16px, 20px, 0px); } diff -Nru blue_ice_lite.orig/chrome/global/browser.css blue_ice_lite/chrome/global/browser.css --- blue_ice_lite.orig/chrome/global/browser.css +++ blue_ice_lite/chrome/global/browser.css @@ -19,7 +19,7 @@ .tabbrowser-tabs { -moz-binding: url("chrome://global/skin/globalBindings.xml#tabbrowser-tabs") !important; padding-top: 0px; - background: #EDEDED url("chrome://global/skin/icons/tabbrowser-tabs-bkgnd.png") !important; + background: -moz-dialog url("chrome://global/skin/icons/tabbrowser-tabs-bkgnd.png") !important; -moz-padding-start: 0px; } @@ -64,13 +64,13 @@ width: 8px; height: 24px; background: url("chrome://global/skin/icons/tab-left.png") no-repeat; - background-color: #EDEDED; + background-color: -moz-dialog; -moz-border-radius-topleft: 3px; } .tabbrowser-tab[chromedir="rtl"] > .tab-image-left { background: url("chrome://global/skin/icons/tab-right.png") no-repeat; - background-color: #EDEDED; + background-color: -moz-dialog; -moz-border-radius-topleft: 0px; -moz-border-radius-topright: 3px; } @@ -79,53 +79,53 @@ height: 23px; margin-bottom: 1px; background: url("chrome://global/skin/icons/tab-left-bkgnd.png") no-repeat; - background-color: #EDEDED; + background-color: -moz-dialog; } .tabbrowser-tab[chromedir="rtl"]:not([selected="true"]) > .tab-image-left { background: url("chrome://global/skin/icons/tab-right-bkgnd.png") no-repeat; - background-color: #EDEDED; + background-color: -moz-dialog; } .tabbrowser-tab:hover:not([selected="true"]) > .tab-image-left { background: url("chrome://global/skin/icons/tab-left-hover.png") no-repeat; - background-color: #EDEDED; + background-color: -moz-dialog; } .tabbrowser-tab[chromedir="rtl"]:hover:not([selected="true"]) > .tab-image-left { background: url("chrome://global/skin/icons/tab-right-hover.png") no-repeat; - background-color: #EDEDED; + background-color: -moz-dialog; } .tabbrowser-tab > .tab-image-middle { height: 24px; background: url("chrome://global/skin/icons/tab-middle.png") repeat-x; - background-color: #EDEDED; + background-color: -moz-dialog; } .tabbrowser-tab:not([selected="true"]) > .tab-image-middle { height: 23px; margin-bottom: 1px; background: url("chrome://global/skin/icons/tab-middle-bkgnd.png") repeat-x; - background-color: #EDEDED; + background-color: -moz-dialog; } .tabbrowser-tab:hover:not([selected="true"]) > .tab-image-middle { background: url("chrome://global/skin/icons/tab-middle-hover.png") repeat-x; - background-color: #EDEDED; + background-color: -moz-dialog; } .tabbrowser-tab > .tab-image-right { width: 8px; height: 24px; background: url("chrome://global/skin/icons/tab-right.png") no-repeat; - background-color: #EDEDED; + background-color: -moz-dialog; -moz-border-radius-topright: 3px; } .tabbrowser-tab[chromedir="rtl"] > .tab-image-right { background: url("chrome://global/skin/icons/tab-left.png") no-repeat; - background-color: #EDEDED; + background-color: -moz-dialog; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 0px; } @@ -134,22 +134,22 @@ height: 23px; margin-bottom: 1px; background: url("chrome://global/skin/icons/tab-right-bkgnd.png") no-repeat; - background-color: #EDEDED; + background-color: -moz-dialog; } .tabbrowser-tab[chromedir="rtl"]:not([selected="true"]) > .tab-image-right { background: url("chrome://global/skin/icons/tab-left-bkgnd.png") no-repeat; - background-color: #EDEDED; + background-color: -moz-dialog; } .tabbrowser-tab:hover:not([selected="true"]) > .tab-image-right { background: url("chrome://global/skin/icons/tab-right-hover.png") no-repeat; - background-color: #EDEDED; + background-color: -moz-dialog; } .tabbrowser-tab[chromedir="rtl"]:hover:not([selected="true"]) > .tab-image-right { background: url("chrome://global/skin/icons/tab-left-hover.png") no-repeat; - background-color: #EDEDED; + background-color: -moz-dialog; } .tab-icon-image { @@ -164,7 +164,7 @@ .tabs-bottom { height: 4px !important; margin: 0px !important; - background: #EDEDED url("chrome://global/skin/icons/tabstrip-bottom.png") repeat !important; + background: -moz-dialog url("chrome://global/skin/icons/tabstrip-bottom.png") repeat !important; border-top: 1px solid threedshadow; border-bottom: 1px solid threedshadow; } @@ -293,7 +293,7 @@ -moz-image-region: rect(0, 11px, 14px, 0); background-repeat: no-repeat; background-image: url("chrome://global/skin/icons/tab-arrow-start-bkgnd-enabled.png"); - background-color: #EDEDED; + background-color: -moz-dialog; -moz-border-radius-topright: 5px; } @@ -342,7 +342,7 @@ width: 18px; background-image: url("chrome://global/skin/icons/tab-arrow-end-bkgnd-enabled.png"); background-repeat: no-repeat; - background-color: #EDEDED; + background-color: -moz-dialog; -moz-border-radius-topleft: 5px; } @@ -418,7 +418,7 @@ height: 23px !important; background-image: url("chrome://global/skin/icons/alltabs-box-end-bkgnd.png"); background-repeat: no-repeat; - background-color: #EDEDED; + background-color: -moz-dialog; -moz-border-radius-topleft: 5px; } diff -Nru blue_ice_lite.orig/chrome/global/dialog.css blue_ice_lite/chrome/global/dialog.css --- blue_ice_lite.orig/chrome/global/dialog.css +++ blue_ice_lite/chrome/global/dialog.css @@ -90,8 +90,8 @@ padding-bottom: 12px; -moz-padding-start: 25px; -moz-padding-end: 5px; - background-color: #EDEDED !important; - color: #EDEDED !important; + background-color: -moz-Field; + color: -moz-FieldText; } .header-large > .dialogheader-title { diff -Nru blue_ice_lite.orig/chrome/global/global.css blue_ice_lite/chrome/global/global.css --- blue_ice_lite.orig/chrome/global/global.css +++ blue_ice_lite/chrome/global/global.css @@ -73,7 +73,7 @@ wizard, prefwindow { -moz-appearance: window; - background-color: #EDEDED; + background-color: -moz-Dialog; color: -moz-DialogText; font: message-box; } @@ -128,17 +128,17 @@ /* ::::: statusbar ::::: */ statusbar { - -moz-appearance: none; + -moz-appearance: statusbar; border-top: 1px solid ThreeDLightShadow; border-left: 1px solid ThreeDShadow; border-right: 1px solid ThreeDHighlight; border-bottom: 1px solid ThreeDHighlight; - background-color: #EDEDED; + background-color: -moz-Dialog; min-height: 22px; } statusbarpanel { - -moz-appearance: none; + -moz-appearance: statusbarpanel; -moz-box-align: center; -moz-box-pack: center; border-left: 1px solid ThreeDHighlight; @@ -146,7 +146,6 @@ border-right: 1px solid ThreeDShadow; border-bottom: 1px solid ThreeDShadow; padding: 0 4px; - background-color: #EDEDED; } .statusbar-resizerpanel { @@ -162,16 +161,15 @@ } resizer[dir="bottomright"] { - -moz-appearance: none; + -moz-appearance: resizer; cursor: se-resize; - background-color: #EDEDED; } /* XXXBlake yeah, shoot me -- these don't belong here. I'll move them later. */ sidebarheader { height: 25px; - background-color: #EDEDED; + background-color: -moz-Dialog; -moz-appearance: toolbox; border-bottom: 1px solid ThreeDShadow; border-top: 1px solid ThreeDHighlight; diff -Nru blue_ice_lite.orig/chrome/global/menu.css blue_ice_lite/chrome/global/menu.css --- blue_ice_lite.orig/chrome/global/menu.css +++ blue_ice_lite/chrome/global/menu.css @@ -48,7 +48,7 @@ menuitem { -moz-box-align: center; border: 1px solid transparent; - color: #333333; + color: MenuText; font: menu; list-style-image: none; -moz-image-region: auto; @@ -149,7 +149,7 @@ menubar > menu[_moz-menuactive="true"] { padding: 1px 3px 1px 2px !important; - color: #fff !important; + color: -moz-menuhovertext !important; background: repeat-x url(chrome://browser/skin/filemenu_over.gif) center center; } menubar > menu[_moz-menuactive="true"][open="true"] { @@ -158,10 +158,9 @@ padding-bottom: 0px; -moz-padding-start: 3px; background: repeat-x url(chrome://browser/skin/filemenu_over.gif) center center; - color: #fff !important; + color: -moz-menuhovertext !important; } - /* ..... internal content .... */ .menubar-left { @@ -188,7 +187,6 @@ menupopup > menuitem, popup > menuitem { max-width: 42em; - background: #FFFFFF; } menupopup > menu[_moz-menuactive="true"], @@ -196,7 +194,7 @@ popup > menu[_moz-menuactive="true"], popup > menuitem[_moz-menuactive="true"] { background: url("chrome://browser/skin/filemenu_over.gif") repeat left center !important; - color: #fff !important; + color: -moz-menuhovertext !important; } /* ::::: menu/menuitems in menulist popups ::::: */ diff -Nru blue_ice_lite.orig/chrome/global/tabbox.css blue_ice_lite/chrome/global/tabbox.css --- blue_ice_lite.orig/chrome/global/tabbox.css +++ blue_ice_lite/chrome/global/tabbox.css @@ -61,7 +61,7 @@ -moz-border-bottom-colors: ThreeDDarkShadow ThreeDShadow; -moz-border-left-colors: ThreeDHighlight ThreeDLightShadow; padding: 8px; - background-color: #EDEDED; + background-color: -moz-Dialog; color: -moz-DialogText; } @@ -82,7 +82,7 @@ -moz-border-radius-topright: 2px; -moz-border-radius-bottomright: 1px; padding: 1px 4px 2px 4px; - background-color: #EDEDED; + background-color: -moz-Dialog; color: -moz-DialogText; } @@ -146,7 +146,7 @@ .tab-bottom[selected="true"] { margin-bottom: 0; - -moz-border-top-colors: #EDEDED; + -moz-border-top-colors: -moz-Dialog; padding: 4px 6px 1px 6px; } diff -Nru blue_ice_lite.orig/chrome/global/toolbar.css blue_ice_lite/chrome/global/toolbar.css --- blue_ice_lite.orig/chrome/global/toolbar.css +++ blue_ice_lite/chrome/global/toolbar.css @@ -46,9 +46,7 @@ toolbox { -moz-appearance: toolbox; - background-color: #EDEDED !important; border-top: 2px solid; - -moz-border-top-colors: ThreeDShadow ThreeDHighlight; } /* ::::: toolbar & menubar ::::: */ @@ -65,6 +63,7 @@ min-width: 1px; border-bottom: 1px solid ThreeDShadow; border-top: 0px !important; + -moz-appearance: menubar !important; } toolbar[mode="icons"] .toolbarbutton-text { diff -Nru blue_ice_lite.orig/chrome/global/toolbarbutton.css blue_ice_lite/chrome/global/toolbarbutton.css --- blue_ice_lite.orig/chrome/global/toolbarbutton.css +++ blue_ice_lite/chrome/global/toolbarbutton.css @@ -127,6 +127,7 @@ toolbarbutton[type="menu-button"] { -moz-box-align: stretch; + -moz-appearance: dualbutton; -moz-box-orient: horizontal !important; }
完成したblue_ice_lite-2.1-fx.jarをFirefoxにインストールする。
$ []zip -r0 blue_ice_lite.jar *[]
$ []rm -rf browser global help mozapps[]
$ []cd ..[]
$ []zip -r ../blue_ice_lite-2.1-fx.jar *[]