diff --git a/docs/Restrictions.md b/docs/Restrictions.md index 0d82e0f..6da0db3 100644 --- a/docs/Restrictions.md +++ b/docs/Restrictions.md @@ -58,6 +58,7 @@ The following code will cause extension panels fail to open and trying to open t display: flex; } ``` +Info: `#nav-bar` is [`toolbar`](https://udn.realityripple.com/docs/Archive/Mozilla/XUL/toolbar). ## Internals ### CSS Loading Order @@ -108,7 +109,8 @@ Onething bypass method is to declare [`var()`](https://developer.mozilla.org/en- - [Video Player Twoline UI](https://github.com/black7375/Firefox-UI-Fix/blob/cbf14cd55a9edada7ab2f5f1b626608fb9fe38a2/src/contents/_video_player.scss#L68-L171): It is pretty difficult when the condition becomes complicated. ### XUL -Sometimes firefox can use [XUL](https://en.wikipedia.org/wiki/XUL) that have been written and binded with C++ for performance like a treeview of bookmarks. +Sometimes firefox can use [XUL](https://en.wikipedia.org/wiki/XUL) that have been written and binded with C++ for performance like a treeview of bookmarks. +XUL's [box model](https://udn.realityripple.com/docs/Archive/Mozilla/XUL/Tutorial/The_Box_Model) and [DOM](https://udn.realityripple.com/docs/Archive/Mozilla/XUL/Tutorial/Document_Object_Model) are different from HTML. There ar few appropriate documents, so we have to read the source code and work. (Ex. [1](https://github.com/mozilla/gecko-dev/blob/master/layout/style/nsCSSAnonBoxList.h), [2](https://github.com/mozilla/gecko-dev/blob/master/layout/xul/tree/nsITreeView.idl)) @@ -117,3 +119,6 @@ Available CSS features are also restricted. Example of legacy documents that will help. - [UDN: ::-moz-tree-cell](https://udn.realityripple.com/docs/Mozilla/Gecko/Chrome/CSS/::-moz-tree-cell) - [UDN: ::-moz-tree-cell-text](https://udn.realityripple.com/docs/Mozilla/Gecko/Chrome/CSS/::-moz-tree-cell-text) + +Another case. +Like [``](https://udn.realityripple.com/docs/Archive/Mozilla/XUL/Attribute/align), [`attributes`] is set and CSS of same property may not be appplied. (Ex. [`box-align: start`](https://udn.realityripple.com/docs/Web/CSS/box-align)) diff --git a/src/compatibility/_os.scss b/src/compatibility/_os.scss index 416a4bd..16d0606 100644 --- a/src/compatibility/_os.scss +++ b/src/compatibility/_os.scss @@ -121,19 +121,21 @@ } /*= Linux - Titlebar button at lwtheme =====================================*/ - .titlebar-button:-moz-lwtheme { - appearance: auto !important; - } - .titlebar-min:-moz-lwtheme, - .titlebar-max:-moz-lwtheme, - .titlebar-restore:-moz-lwtheme, - .titlebar-close:-moz-lwtheme { - list-style-image: none !important; - } - .titlebar-button:-moz-lwtheme:hover, - .titlebar-button:-moz-lwtheme:hover:active { - background-color: unset !important; - color: unset !important; + @include NotOption("userChrome.compatiblity.os.linux_non_native_titlebar_button") { + .titlebar-button:-moz-lwtheme { + appearance: auto !important; + } + .titlebar-min:-moz-lwtheme, + .titlebar-max:-moz-lwtheme, + .titlebar-restore:-moz-lwtheme, + .titlebar-close:-moz-lwtheme { + list-style-image: none !important; + } + .titlebar-button:-moz-lwtheme:hover, + .titlebar-button:-moz-lwtheme:hover:active { + background-color: unset !important; + color: unset !important; + } } } diff --git a/src/tabbar/selected_tab/_color_like_toolbar.scss b/src/tabbar/selected_tab/_color_like_toolbar.scss index 4fc84ca..2495025 100644 --- a/src/tabbar/selected_tab/_color_like_toolbar.scss +++ b/src/tabbar/selected_tab/_color_like_toolbar.scss @@ -1,6 +1,7 @@ :root:not(:-moz-lwtheme) { - /* Fix for windows's system default theme. Using --toolbar-bgcolor fallback */ + /* Fix for windows's system default theme. Using --toolbar-bgcolor, --toolbar-bgimage fallback */ --tab-selected-bgcolor: unset !important; /* Original: rgb(255,255,255); */ + --tab-selected-bgimage: unset !important; /* Above FF v101 */ } #tabbrowser-tabs:not([movingtab]) > #tabbrowser-arrowscrollbox diff --git a/user.js b/user.js index 7d2c08e..1c996ef 100644 --- a/user.js +++ b/user.js @@ -59,6 +59,8 @@ user_pref("userChrome.tab.bottom_rounded_corner", true); // user_pref("userChrome.compatibility.navbar_top_border", true); // user_pref("userChrome.compatibility.dynamic_separator", true); // Need dynamic_seperator +// user_pref("userChrome.compatiblity.os.linux_non_native_titlebar_button", true); + // == Theme Custom Settings ==================================================== // -- User Chrome -------------------------------------------------------------- // user_pref("userChrome.decoration.disable_panel_animate", true); diff --git a/userChrome.css b/userChrome.css index bdab54c..b1cbef2 100644 --- a/userChrome.css +++ b/userChrome.css @@ -273,21 +273,23 @@ } /*= Linux - Titlebar button at lwtheme =====================================*/ - .titlebar-button:-moz-lwtheme { - appearance: auto !important; - } + @supports not -moz-bool-pref("userChrome.compatiblity.os.linux_non_native_titlebar_button") { + .titlebar-button:-moz-lwtheme { + appearance: auto !important; + } - .titlebar-min:-moz-lwtheme, - .titlebar-max:-moz-lwtheme, - .titlebar-restore:-moz-lwtheme, - .titlebar-close:-moz-lwtheme { - list-style-image: none !important; - } + .titlebar-min:-moz-lwtheme, + .titlebar-max:-moz-lwtheme, + .titlebar-restore:-moz-lwtheme, + .titlebar-close:-moz-lwtheme { + list-style-image: none !important; + } - .titlebar-button:-moz-lwtheme:hover, - .titlebar-button:-moz-lwtheme:hover:active { - background-color: unset !important; - color: unset !important; + .titlebar-button:-moz-lwtheme:hover, + .titlebar-button:-moz-lwtheme:hover:active { + background-color: unset !important; + color: unset !important; + } } } /*= Linux - Light System Default Theme's Selected Tab ========================*/ @@ -3959,9 +3961,11 @@ /*= Selected Tab - Color like toolbar ========================================*/ @supports -moz-bool-pref("userChrome.tab.color_like_toolbar") { :root:not(:-moz-lwtheme) { - /* Fix for windows's system default theme. Using --toolbar-bgcolor fallback */ + /* Fix for windows's system default theme. Using --toolbar-bgcolor, --toolbar-bgimage fallback */ --tab-selected-bgcolor: unset !important; /* Original: rgb(255,255,255); */ + --tab-selected-bgimage: unset !important; + /* Nightly 101 */ } #tabbrowser-tabs:not([movingtab])