diff --git a/css/leptonChrome.css b/css/leptonChrome.css index 702d8e6..6e7e759 100644 --- a/css/leptonChrome.css +++ b/css/leptonChrome.css @@ -29,6 +29,21 @@ } } /** Compatibility Fixes *******************************************************/ +/*= Color - Compatibility ====================================================*/ +:root { + /* Compatibility for accent color + https://github.com/mozilla/gecko-dev/commit/4c5f20179e8d3b963dc588efb9dc2c7b49e7bb31 + */ + --uc-accent-color: AccentColor; + --uc-accent-text-color: AccentColorText; +} +@supports -moz-bool-pref("userChrome.compatibility.accent_color") { + :root { + --uc-accent-color: -moz-accent-color; + --uc-accent-text-color: -moz-accent-color-foreground; + } +} + /*= Theme - Compatibility ====================================================*/ @supports -moz-bool-pref("userChrome.compatibility.theme") { /*= Hotfix #98 ===============================================================*/ @@ -146,7 +161,7 @@ } @media (-moz-windows-accent-color-in-titlebar) { :root[sizemode="normal"][tabsintitlebar] #navigator-toolbox { - border-top-color: -moz-accent-color !important; + border-top-color: var(--uc-accent-color) !important; } } } @@ -351,14 +366,14 @@ /* URL Bar */ :root[tabsintitlebar]:not(:-moz-window-inactive, :-moz-lwtheme), :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) { - --focus-outline-color: -moz-accent-color !important; + --focus-outline-color: var(--uc-accent-color) !important; } :root[tabsintitlebar]:not(:-moz-window-inactive, :-moz-lwtheme) #urlbar[open] > #urlbar-background, :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) #urlbar[open] > #urlbar-background { - border-color: color-mix(in srgb, -moz-accent-color 50%, transparent) !important; + border-color: color-mix(in srgb, var(--uc-accent-color) 50%, transparent) !important; /* Like: --toolbar-field-focus-border-color */ } } @@ -418,11 +433,11 @@ --win-shorcut-text-color: #757575; --win-error-color: #b31616; --win-red-border-color: #ff4343; - --win-accent-forground-color: -moz-accent-color-foreground; - --win-accent-color: color-mix(in srgb, rgba(0, 0, 0, 0.8) 10%, -moz-accent-color); - --win-accent-content-color: color-mix(in srgb, rgba(255, 255, 255, 0.8) 15%, -moz-accent-color); - --win-accent-hover-color: color-mix(in srgb, rgba(255, 255, 255, 0.8) 27%, -moz-accent-color); - --win-accent-active-color: -moz-accent-color; + --win-accent-forground-color: var(--uc-accent-text-color); + --win-accent-color: color-mix(in srgb, rgba(0, 0, 0, 0.8) 10%, var(--uc-accent-color)); + --win-accent-content-color: color-mix(in srgb, rgba(255, 255, 255, 0.8) 15%, var(--uc-accent-color)); + --win-accent-hover-color: color-mix(in srgb, rgba(255, 255, 255, 0.8) 27%, var(--uc-accent-color)); + --win-accent-active-color: var(--uc-accent-color); } @media (-moz-toolbar-prefers-color-scheme: dark), (prefers-color-scheme: dark) { @@ -450,10 +465,10 @@ --win-shorcut-text-color: #adadad; --win-error-color: #ffb900; --win-red-border-color: #ff4343; - --win-accent-color: color-mix(in srgb, rgba(255, 255, 255, 0.8) 20%, -moz-accent-color); - --win-accent-content-color: color-mix(in srgb, rgba(255, 255, 255, 0.8) 35%, -moz-accent-color); - --win-accent-hover-color: color-mix(in srgb, rgba(0, 0, 0, 0.8) 5%, -moz-accent-color); - --win-accent-active-color: -moz-accent-color; + --win-accent-color: color-mix(in srgb, rgba(255, 255, 255, 0.8) 20%, var(--uc-accent-color)); + --win-accent-content-color: color-mix(in srgb, rgba(255, 255, 255, 0.8) 35%, var(--uc-accent-color)); + --win-accent-hover-color: color-mix(in srgb, rgba(0, 0, 0, 0.8) 5%, var(--uc-accent-color)); + --win-accent-active-color: var(--uc-accent-color); } } :root:not(:-moz-lwtheme), @@ -482,8 +497,7 @@ /* Text Shortcut Color */ --panel-shortcut-color: var(--win-shorcut-text-color) !important; --panel-description-color: var(--win-shorcut-text-color) !important; - /* Title Background, Border Color */ - --menu-border-color: var(--win-bgcolor) !important; + /* Title Background */ --lwt-accent-color: var(--win-bgcolor) !important; --toolbar-field-border-color: var(--win-bgcolor) !important; --chrome-content-separator-color: var(--win-bgcolor) !important; @@ -493,6 +507,7 @@ --toolbar-non-lwt-bgcolor: var(--win-component-bgcolor) !important; --arrowpanel-background: var(--win-component-bgcolor) !important; --autocomplete-popup-background: var(--win-component-bgcolor) !important; + /* Border Color */ /* Seperator */ --toolbarseparator-color: var(--win-tab-seperator-color) !important; /* Field Backround Color */ @@ -636,7 +651,7 @@ .sidebar-panel[style="--newtab-background-color: rgb(43, 42, 51); --newtab-text-primary-color: rgba(251, 251, 254, 1); --lwt-sidebar-background-color: rgb(56, 56, 61); --lwt-sidebar-text-color: rgba(249, 249, 250, 1);"], body[lwt-sidebar][style="--newtab-background-color: rgb(43, 42, 51); --newtab-text-primary-color: rgba(251, 251, 254, 1); --lwt-sidebar-background-color: rgb(56, 56, 61); --lwt-sidebar-text-color: rgba(249, 249, 250, 1);"] { /* Only darkmode has more: --newtab-background-color-secondary: rgba(66, 65, 77, 1); */ - --lwt-sidebar-background-color: transparent !important; + --lwt-sidebar-background-color: var(--win-sidebar-bgcolor) !important; --lwt-sidebar-text-color: var(--win-text-color) !important; } } @@ -704,20 +719,20 @@ /* Tab Bar */ :root[tabsintitlebar]:not(:-moz-window-inactive, :-moz-lwtheme) .titlebar-color, :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) .titlebar-color { - color: -moz-accent-color-foreground; - background-color: -moz-accent-color; + color: var(--uc-accent-text-color); + background-color: var(--uc-accent-color); } :root[tabsintitlebar]:not(:-moz-window-inactive, :-moz-lwtheme) .toolbar-items, :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) .toolbar-items { --toolbarbutton-icon-fill: currentColor; - --toolbarbutton-hover-background: color-mix(in srgb, -moz-accent-color-foreground 10%, transparent); - --toolbarbutton-active-background: color-mix(in srgb, -moz-accent-color-foreground 15%, transparent); + --toolbarbutton-hover-background: color-mix(in srgb, var(--uc-accent-text-color) 10%, transparent); + --toolbarbutton-active-background: color-mix(in srgb, var(var(--uc-accent-text-color)) 15%, transparent); } } /*= GTK - URL View url accent color ==========================================*/ @media (-moz-gtk-csd-available) { :root:not(:-moz-lwtheme) .urlbarView-url { - --urlbar-popup-url-color: -moz-accent-color; + --urlbar-popup-url-color: var(--uc-accent-color); } /* Nightly Compatibility */ @@ -743,14 +758,14 @@ --mac-sidebar-hover-bgcolor: color-mix(in srgb, ButtonFace 60%, var(--mac-sidebar-bgcolor)); --mac-hover-bgcolor: Window; --mac-disabled-bgcolor: transparent; - --mac-primary-button-color: -moz-accent-color-foreground; + --mac-primary-button-color: var(--uc-accent-text-color); /* or -moz-mac-menutextselect */ - --mac-accent-color: -moz-accent-color; + --mac-accent-color: var(--uc-accent-color); /* or LinkText */ - --mac-accent-content-color: color-mix(in srgb, rgb(255, 255, 255) 15%, -moz-accent-color); - --mac-accent-hover-color: color-mix(in srgb, rgb(0, 0, 0) 10%, -moz-accent-color); + --mac-accent-content-color: color-mix(in srgb, rgb(255, 255, 255) 15%, var(--uc-accent-color)); + --mac-accent-hover-color: color-mix(in srgb, rgb(0, 0, 0) 10%, var(--uc-accent-color)); /* or -moz-mac-menuselect, Highlight */ - --mac-accent-active-color: color-mix(in srgb, rgb(0, 0, 0) 20%, -moz-accent-color); + --mac-accent-active-color: color-mix(in srgb, rgb(0, 0, 0) 20%, var(--uc-accent-color)); /* or ActiveBorder */ /* Text, Icon Color */ --menu-color: var(--mac-text-color) !important; @@ -1356,9 +1371,9 @@ .sidebar-panel:not([lwt-sidebar]) #search-box[focused="true"], body:not([lwt-sidebar]) xul|search-textbox.tabsFilter[focused="true"] { - border-color: -moz-accent-color !important; + border-color: var(--uc-accent-color) !important; /* Hard Coded */ - outline-color: -moz-accent-color !important; + outline-color: var(--uc-accent-color) !important; } /*= PopupAutoComplete ========================================================*/ @@ -1715,9 +1730,9 @@ .checkbox-check[checked] { -moz-context-properties: fill !important; fill: currentColor !important; - color: var(--checkbox-checked-color, -moz-accent-color-foreground) !important; + color: var(--checkbox-checked-color, var(--uc-accent-text-color)) !important; border-color: var(--checkbox-checked-border-color, transparent) !important; - background-color: var(--checkbox-checked-bgcolor, -moz-accent-color) !important; + background-color: var(--checkbox-checked-bgcolor, var(--uc-accent-color)) !important; background-image: url("chrome://global/skin/icons/check.svg") !important; background-position: center !important; background-repeat: no-repeat !important; @@ -1728,48 +1743,48 @@ checkbox:not([disabled="true"]):hover > .checkbox-check { background-color: var( --checkbox-unchecked-hover-bgcolor, - color-mix(in srgb, -moz-accent-color 4%, Field) + color-mix(in srgb, var(--uc-accent-color) 4%, Field) ) !important; } checkbox:not([disabled="true"]):hover:active > .checkbox-check { background-color: var( --checkbox-unchecked-active-bgcolor, - color-mix(in srgb, -moz-accent-color 8%, Field) + color-mix(in srgb, var(--uc-accent-color) 8%, Field) ) !important; } checkbox:not([disabled="true"]):hover > .checkbox-check[checked] { background-color: var( --checkbox-checked-hover-bgcolor, - color-mix(in srgb, currentColor 12.5%, -moz-accent-color) + color-mix(in srgb, currentColor 12.5%, var(--uc-accent-color)) ) !important; } checkbox:not([disabled="true"]):hover:active > .checkbox-check[checked] { background-color: var( --checkbox-checked-active-bgcolor, - color-mix(in srgb, currentColor 25%, -moz-accent-color) + color-mix(in srgb, currentColor 25%, var(--uc-accent-color)) ) !important; } checkbox:-moz-focusring > .checkbox-check { - outline: 2px solid var(--focus-outline-color, -moz-accent-color) !important; + outline: 2px solid var(--focus-outline-color, var(--uc-accent-color)) !important; outline-offset: var(--focus-outline-offset, 2px) !important; } @media (prefers-contrast) { checkbox:not([disabled="true"]):hover > .checkbox-check { /* color will set the border-color on the check due to how HCM works for in-content pages. */ - color: var(--checkbox-checked-border-color, color-mix(in srgb, -moz-accent-color 4%, Field)) !important; + color: var(--checkbox-checked-border-color, color-mix(in srgb, var(--uc-accent-color) 4%, Field)) !important; } .checkbox-check[checked] { color: var(--checkbox-checked-border-color, currentColor) !important; - fill: var(--checkbox-checked-color, -moz-accent-color-foreground) !important; + fill: var(--checkbox-checked-color, var(--uc-accent-text-color)) !important; } checkbox:not([disabled="true"]):hover:active > .checkbox-check[checked] > .checkbox-check[checked], checkbox:not([disabled="true"]):hover > .checkbox-check[checked] > .checkbox-check[checked] { - color: var(--checkbox-checked-border-color-hover, -moz-accent-color-foreground) !important; - fill: var(--checkbox-checked-border-color-hover, -moz-accent-color-foreground) !important; + color: var(--checkbox-checked-border-color-hover, var(--uc-accent-text-color)) !important; + fill: var(--checkbox-checked-border-color-hover, var(--uc-accent-text-color)) !important; } } .checkbox-icon[src] { @@ -1815,7 +1830,7 @@ background-color: var(--button-active-bgcolor, color-mix(in srgb, currentColor 20%, ButtonFace)) !important; } xul|menulist:-moz-focusring { - outline: 2px solid var(--focus-outline-color, -moz-accent-color) !important; + outline: 2px solid var(--focus-outline-color, var(--uc-accent-color)) !important; outline-offset: var(--focus-outline-offset, 2px) !important; } @@ -2681,14 +2696,14 @@ .sidebar-panel:not([lwt-sidebar]) #search-box:hover, body:not([lwt-sidebar]) xul|search-textbox.tabsFilter:hover { - border-color: -moz-accent-color !important; + border-color: var(--uc-accent-color) !important; } /* Others */ #editBMPanel_namePicker:hover, #editBMPanel_tagsField:hover, .findbar-container .findbar-textbox:hover { - --input-border-color: color-mix(in srgb, var(--focus-outline-color, -moz-accent-color) 50%, transparent); + --input-border-color: color-mix(in srgb, var(--focus-outline-color, var(--uc-accent-color)) 50%, transparent); } } /*= Downloads Panel ========================================================*/ @@ -3454,6 +3469,12 @@ #ContentSelectDropdown > menupopup > menuitem { padding-block: 0 !important; } + @media (-moz-gtk-csd-available) { + #ContentSelectDropdown > menupopup > menucaption, + #ContentSelectDropdown > menupopup > menuitem { + padding-block: var(--menu-padding) !important; + } + } @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") { :root:not([uidensity="touch"]) .menu-text, @@ -4559,7 +4580,11 @@ .tab-background::before, #navigator-toolbox:not([movingtab]) .tabbrowser-tab[last-visible-tab]:is([visuallyselected], [multiselected], :hover) - ~ #tabs-newtab-button::before { + ~ #tabs-newtab-button::before, + #navigator-toolbox:not([movingtab]) + .tabbrowser-tab[last-visible-tab]:is([visuallyselected], [multiselected], :hover) + ~ #tabbrowser-arrowscrollbox-periphery + #tabs-newtab-button::before { opacity: 0 !important; } } @@ -4688,13 +4713,13 @@ @media (-moz-windows-accent-color-in-titlebar) { :root[tabsintitlebar]:not(:-moz-window-inactive, :-moz-lwtheme) #tabs-newtab-button:hover, :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) #tabs-newtab-button:hover { - fill: color-mix(in srgb, -moz-accent-color-foreground 10%, transparent) !important; + fill: color-mix(in srgb, var(--uc-accent-text-color) 10%, transparent) !important; /* Hardcorded for compatibility */ } :root[tabsintitlebar]:not(:-moz-window-inactive, :-moz-lwtheme) #tabs-newtab-button:hover:active, :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) #tabs-newtab-button:hover:active { - fill: color-mix(in srgb, -moz-accent-color-foreground 15%, transparent) !important; + fill: color-mix(in srgb, var(--uc-accent-text-color) 15%, transparent) !important; /* Hardcorded for compatibility */ } } @@ -4770,16 +4795,27 @@ --inline-tab-padding: 8px; } - #tabbrowser-tabs[closebuttons="activetab"] .tab-label-container[textoverflow][labeldirection="ltr"]:not([pinned]), - #tabbrowser-tabs[closebuttons="activetab"] - .tab-label-container[textoverflow]:not([labeldirection]):-moz-locale-dir(ltr):not([pinned]) { - mask-image: linear-gradient(to right, black 70%, transparent) !important; + .tabbrowser-tab .tab-label-container { + --tab-label-mask-size: 1.8em; + /* Original: 2em */ } - #tabbrowser-tabs[closebuttons="activetab"] .tab-label-container[textoverflow][labeldirection="rtl"]:not([pinned]), + #tabbrowser-tabs[closebuttons="activetab"] .tabbrowser-tab .tab-label-container { + --tab-label-mask-size: 30%; + } #tabbrowser-tabs[closebuttons="activetab"] - .tab-label-container[textoverflow]:not([labeldirection]):-moz-locale-dir(rtl):not([pinned]) { - mask-image: linear-gradient(to left, black 70%, transparent) !important; + .tabbrowser-tab:is([visuallyselected="true"], [multiselected="true"]) + .tab-label-container { + --tab-label-mask-size: 25%; + } + + .tabbrowser-tab[visuallyselected="true"]:not([labelendaligned]):hover .tab-label-container, + #tabbrowser-tabs:not([closebuttons="activetab"]) + > #tabbrowser-arrowscrollbox + > .tabbrowser-tab:not([visuallyselected="true"], [labelendaligned]):hover + .tab-label-container { + --tab-label-mask-size: 0.9em; + /* Original: 1em */ } } /** Clipped tabs - Show close button at hover *********************************/ @@ -6630,9 +6666,9 @@ > menupopup > menuitem:not(.menuitem-iconic, .bookmark-item, .in-menulist, [checked="true"]), :not(menu, #ContentSelectDropdown) > menupopup > menu:not(.menu-iconic, .in-menulist, [checked="true"]), - menupopup:is(#menu_FilePopup, #menu_EditPopup, #menu_viewPopup, #goPopup, #historyMenuPopup, #bookmarksMenuPopup, #menu_ToolsPopup, #menu_HelpPopup) + menupopup:is(#menu_FilePopup, #menu_EditPopup, #menu_viewPopup, #goPopup, #historyMenuPopup, #bookmarksMenuPopup, #menu_ToolsPopup, #windowPopup, #menu_HelpPopup) menuitem:not(.menuitem-iconic, .bookmark-item, .in-menulist, [checked="true"]), - menupopup:is(#menu_FilePopup, #menu_EditPopup, #menu_viewPopup, #goPopup, #historyMenuPopup, #bookmarksMenuPopup, #menu_ToolsPopup, #menu_HelpPopup) + menupopup:is(#menu_FilePopup, #menu_EditPopup, #menu_viewPopup, #goPopup, #historyMenuPopup, #bookmarksMenuPopup, #menu_ToolsPopup, #windowPopup, #menu_HelpPopup) menu:not(.menu-iconic, .in-menulist, [checked="true"]), menupopup:is(#organizeButtonPopup, #maintenanceButtonPopup) > menuitem:not(.menuitem-iconic, .bookmark-item, .in-menulist, [checked="true"]), @@ -6675,9 +6711,9 @@ :not(menu, #ContentSelectDropdown, #context-navigation) > menupopup > menu:not(.menu-iconic, .in-menulist, [checked="true"]), - menupopup:is(#menu_FilePopup, #menu_EditPopup, #menu_viewPopup, #goPopup, #historyMenuPopup, #bookmarksMenuPopup, #menu_ToolsPopup, #menu_HelpPopup) + menupopup:is(#menu_FilePopup, #menu_EditPopup, #menu_viewPopup, #goPopup, #historyMenuPopup, #bookmarksMenuPopup, #menu_ToolsPopup, #windowPopup, #menu_HelpPopup) menuitem:not(.menuitem-iconic, .bookmark-item, .in-menulist, [checked="true"]), - menupopup:is(#menu_FilePopup, #menu_EditPopup, #menu_viewPopup, #goPopup, #historyMenuPopup, #bookmarksMenuPopup, #menu_ToolsPopup, #menu_HelpPopup) + menupopup:is(#menu_FilePopup, #menu_EditPopup, #menu_viewPopup, #goPopup, #historyMenuPopup, #bookmarksMenuPopup, #menu_ToolsPopup, #windowPopup, #menu_HelpPopup) menu:not(.menu-iconic, .in-menulist, [checked="true"]), menupopup:is(#organizeButtonPopup, #maintenanceButtonPopup) > menuitem:not(.menuitem-iconic, .bookmark-item, .in-menulist, [checked="true"]), @@ -6733,9 +6769,9 @@ :not(menu, #ContentSelectDropdown, #context-navigation) > menupopup > menu:not(.menu-iconic, .in-menulist, [checked="true"]), - menupopup:is(#menu_FilePopup, #menu_EditPopup, #menu_viewPopup, #goPopup, #historyMenuPopup, #bookmarksMenuPopup, #menu_ToolsPopup, #menu_HelpPopup) + menupopup:is(#menu_FilePopup, #menu_EditPopup, #menu_viewPopup, #goPopup, #historyMenuPopup, #bookmarksMenuPopup, #menu_ToolsPopup, #windowPopup, #menu_HelpPopup) menuitem:not(.menuitem-iconic, .bookmark-item, .in-menulist, [checked="true"]), - menupopup:is(#menu_FilePopup, #menu_EditPopup, #menu_viewPopup, #goPopup, #historyMenuPopup, #bookmarksMenuPopup, #menu_ToolsPopup, #menu_HelpPopup) + menupopup:is(#menu_FilePopup, #menu_EditPopup, #menu_viewPopup, #goPopup, #historyMenuPopup, #bookmarksMenuPopup, #menu_ToolsPopup, #windowPopup, #menu_HelpPopup) menu:not(.menu-iconic, .in-menulist, [checked="true"]), menupopup:is(#organizeButtonPopup, #maintenanceButtonPopup) > menuitem:not(.menuitem-iconic, .bookmark-item, .in-menulist, [checked="true"]), @@ -6765,9 +6801,9 @@ :not(menu, #ContentSelectDropdown, #context-navigation) > menupopup > menu:not(.menu-iconic, .in-menulist, [checked="true"]), - menupopup:is(#menu_FilePopup, #menu_EditPopup, #menu_viewPopup, #goPopup, #historyMenuPopup, #bookmarksMenuPopup, #menu_ToolsPopup, #menu_HelpPopup) + menupopup:is(#menu_FilePopup, #menu_EditPopup, #menu_viewPopup, #goPopup, #historyMenuPopup, #bookmarksMenuPopup, #menu_ToolsPopup, #windowPopup, #menu_HelpPopup) menuitem:not(.menuitem-iconic, .bookmark-item, .in-menulist, [checked="true"]), - menupopup:is(#menu_FilePopup, #menu_EditPopup, #menu_viewPopup, #goPopup, #historyMenuPopup, #bookmarksMenuPopup, #menu_ToolsPopup, #menu_HelpPopup) + menupopup:is(#menu_FilePopup, #menu_EditPopup, #menu_viewPopup, #goPopup, #historyMenuPopup, #bookmarksMenuPopup, #menu_ToolsPopup, #windowPopup, #menu_HelpPopup) menu:not(.menu-iconic, .in-menulist, [checked="true"]), menupopup:is(#organizeButtonPopup, #maintenanceButtonPopup) > menuitem:not(.menuitem-iconic, .bookmark-item, .in-menulist, [checked="true"]), @@ -6822,11 +6858,12 @@ } /* Global Menu */ - /* Disabled. some icons not appear - menupopup:is(#menu_FilePopup, #menu_EditPopup, #menu_viewPopup, #goPopup, #historyMenuPopup, #bookmarksMenuPopup, #menu_ToolsPopup, #menu_HelpPopup) menuitem:not(.menuitem-iconic, .bookmark-item, .in-menulist, [checked=true]), menupopup:is(#menu_FilePopup, #menu_EditPopup, #menu_viewPopup, #goPopup, #historyMenuPopup, #bookmarksMenuPopup, #menu_ToolsPopup, #menu_HelpPopup) menu:not(.menu-iconic, .in-menulist, [checked=true]) { - list-style-image: var(--menuitem-image, url("../icons/blank.svg")); - } - */ + menupopup:is(#menu_FilePopup, #menu_EditPopup, #menu_viewPopup, #goPopup, #historyMenuPopup, #bookmarksMenuPopup, #menu_ToolsPopup, #windowPopup, #menu_HelpPopup) + menuitem:not(.menuitem-iconic, .bookmark-item), + menupopup:is(#menu_FilePopup, #menu_EditPopup, #menu_viewPopup, #goPopup, #historyMenuPopup, #bookmarksMenuPopup, #menu_ToolsPopup, #windowPopup, #menu_HelpPopup) + menu:not(.menu-iconic) { + list-style-image: var(--menuitem-image, url("../icons/blank.svg")) !important; + } } /*= Bookmark Menu - Layout ===================================================*/ /* #goPopup(Legacy of historyMenuPoup), #historyMenuPopup, #bookmarksMenuPopup: looks like global menu @@ -7890,6 +7927,10 @@ --menuitem-image: url("chrome://browser/skin/mail.svg"); } + menu.share-tab-url-item { + --menuitem-image: url("chrome://browser/skin/share.svg"); + } + #menu_print { --menuitem-image: url("chrome://global/skin/icons/print.svg"); } @@ -7972,6 +8013,14 @@ --menuitem-image: url("chrome://browser/skin/characterEncoding.svg"); } + #enterFullScreenItem { + --menuitem-image: url("chrome://browser/skin/fullscreen.svg"); + } + + #exitFullScreenItem { + --menuitem-image: url("chrome://browser/skin/fullscreen-exit.svg"); + } + #fullScreenItem { /* checkbox */ --menuitem-image: url("chrome://browser/skin/fullscreen.svg"); @@ -8007,6 +8056,10 @@ --menuitem-image: url("../icons/resize.svg"); } + #toggle_zoom { + --menuitem-image: url("../icons/screenshot.svg"); + } + /*= goPopup ==================================================================*/ #menu_showAllHistory { --menuitem-image: url("chrome://browser/skin/history.svg"); @@ -8129,6 +8182,14 @@ --menuitem-image: url("chrome://devtools/skin/images/debugging-addons.svg"); } + /*= windowPopup ==============================================================*/ + #windowPopup > menuitem[command="minimizeWindow"] { + --menuitem-image: url("../icons/arrow-between-down.svg"); + } + #windowPopup > menuitem[command="zoomWindow"] { + --menuitem-image: url("../icons/auto-fit-width.svg"); + } + /*= menu_HelpPopup ===========================================================*/ #menu_openHelp { --menuitem-image: url("chrome://global/skin/icons/help.svg"); diff --git a/css/leptonContent.css b/css/leptonContent.css index b346bde..0073f4c 100644 --- a/css/leptonContent.css +++ b/css/leptonContent.css @@ -272,6 +272,77 @@ } } } + /** Activity Stream - Menu Icons ********************************************/ + @supports -moz-bool-pref("userChrome.icon.context_menu") { + .context-menu-list .context-menu-item button { + padding-inline-start: 0 !important; + } + + .context-menu-list .context-menu-item button span { + padding-inline-start: 24px; + /* 16p + (4px * 2) */ + -moz-context-properties: fill, fill-opacity !important; + fill: currentColor !important; + /* Layout */ + background-size: 16px; + background-repeat: no-repeat; + background-image: var(--menuitem-image); + background-position: left 4px center; + } + + .context-menu-item span[data-l10n-id="newtab-menu-pin"] { + --menuitem-image: url("../icons/pin-tab.svg"); + } + + .context-menu-item span[data-l10n-id="newtab-menu-unpin"] { + --menuitem-image: url("../icons/unpin-tab.svg"); + } + + .context-menu-item span[data-l10n-id="newtab-menu-edit-topsites"] { + --menuitem-image: url("chrome://global/skin/icons/edit.svg"); + } + + .context-menu-item span[data-l10n-id="newtab-menu-bookmark"] { + --menuitem-image: url("chrome://browser/skin/bookmark.svg"); + } + + .context-menu-item span[data-l10n-id="newtab-menu-remove-bookmark"] { + --menuitem-image: url("chrome://browser/skin/bookmark-hollow.svg"); + } + + .context-menu-item span[data-l10n-id="newtab-menu-save-to-pocket"] { + --menuitem-image: url("../icons/pocket-outline.svg"); + } + + .context-menu-item span[data-l10n-id="newtab-menu-open-file"] { + --menuitem-image: url("../icons/fluid.svg"); + } + + .context-menu-item span[data-l10n-id="newtab-menu-show-file"] { + --menuitem-image: url("chrome://global/skin/icons/folder.svg"); + } + @supports -moz-bool-pref("userChrome.icon.library") { + .context-menu-item span[data-l10n-id="newtab-menu-show-file"] { + --menuitem-image: url("../icons/folder.svg"); + } + } + + .context-menu-item span[data-l10n-id="newtab-menu-open-new-window"] { + --menuitem-image: url("chrome://browser/skin/window.svg"); + } + + .context-menu-item span[data-l10n-id="newtab-menu-open-new-private-window"] { + --menuitem-image: url("chrome://browser/skin/privateBrowsing.svg"); + } + + .context-menu-item span[data-l10n-id="newtab-menu-dismiss"] { + --menuitem-image: url("chrome://global/skin/icons/delete.svg"); + } + + .context-menu-item span[data-l10n-id="newtab-menu-delete-history"] { + --menuitem-image: url("../icons/eraser.svg"); + } + } /** Activity Stream - Web Site Icon: full size ******************************/ @supports -moz-bool-pref("userContent.newTab.full_icon") { .top-site-outer .tile { @@ -539,6 +610,20 @@ /** Fully Dark Mode ***********************************************************/ /*= Fully Dark Mode - Dark Mode Colors =======================================*/ @supports -moz-bool-pref("userContent.page.proton_color") { + :root { + /* Compatibility for accent color + https://github.com/mozilla/gecko-dev/commit/4c5f20179e8d3b963dc588efb9dc2c7b49e7bb31 + */ + --uc-accent-color: AccentColor; + --uc-accent-text-color: AccentColorText; + } + @supports -moz-bool-pref("userChrome.compatibility.accent_color") { + :root { + --uc-accent-color: -moz-accent-color; + --uc-accent-text-color: -moz-accent-color-foreground; + } + } + @-moz-document url-prefix("about:"), url-prefix("chrome://browser/content/places/places.xhtml"), url-prefix("https://addons.mozilla.org"), @@ -751,7 +836,7 @@ @supports -moz-bool-pref("userContent.page.proton_color.system_accent") { :host, :root { - --in-content-primary-button-text-color: -moz-accent-color-foreground !important; + --in-content-primary-button-text-color: var(--uc-accent-text-color) !important; --in-content-primary-button-background: Highlight !important; --in-content-primary-button-background-hover: color-mix(in srgb, black 10%, Highlight) !important; --in-content-primary-button-background-active: color-mix(in srgb, black 20%, Highlight) !important; @@ -2763,9 +2848,9 @@ menuitem[type="checkbox"] > .menu-iconic-left[checked="true"] > .menu-iconic-icon { -moz-context-properties: fill !important; fill: currentColor !important; - color: var(--checkbox-checked-color, -moz-accent-color-foreground) !important; + color: var(--checkbox-checked-color, var(--uc-accent-text-color)) !important; border-color: var(--checkbox-checked-border-color, transparent) !important; - background-color: var(--checkbox-checked-bgcolor, -moz-accent-color) !important; + background-color: var(--checkbox-checked-bgcolor, var(--uc-accent-color)) !important; background-image: url("chrome://global/skin/icons/check.svg") !important; background-position: center !important; background-repeat: no-repeat !important; @@ -2775,19 +2860,19 @@ menuitem[type="checkbox"]:not([disabled="true"]):hover > .menu-iconic-left > .menu-iconic-icon { background-color: var( --checkbox-unchecked-hover-bgcolor, - color-mix(in srgb, -moz-accent-color 4%, Field) + color-mix(in srgb, var(--uc-accent-color) 4%, Field) ) !important; } menuitem[type="checkbox"]:not([disabled="true"]):hover:active > .menu-iconic-left > .menu-iconic-icon { background-color: var( --checkbox-unchecked-active-bgcolor, - color-mix(in srgb, -moz-accent-color 8%, Field) + color-mix(in srgb, var(--uc-accent-color) 8%, Field) ) !important; } menuitem[type="checkbox"]:not([disabled="true"]):hover > .menu-iconic-left[checked="true"] > .menu-iconic-icon { background-color: var( --checkbox-checked-hover-bgcolor, - color-mix(in srgb, currentColor 12.5%, -moz-accent-color) + color-mix(in srgb, currentColor 12.5%, var(--uc-accent-color)) ) !important; } menuitem[type="checkbox"]:not([disabled="true"]):hover:active @@ -2795,21 +2880,24 @@ > .menu-iconic-icon { background-color: var( --checkbox-checked-active-bgcolor, - color-mix(in srgb, currentColor 25%, -moz-accent-color) + color-mix(in srgb, currentColor 25%, var(--uc-accent-color)) ) !important; } menuitem[type="checkbox"]:focus > .menu-iconic-left > .menu-iconic-icon { - outline: 2px solid var(--focus-outline-color, -moz-accent-color) !important; + outline: 2px solid var(--focus-outline-color, var(--uc-accent-color)) !important; outline-offset: var(--focus-outline-offset, 2px) !important; } @media (prefers-contrast) { menuitem[type="checkbox"]:not([disabled="true"]) > .menu-iconic-left > .menu-iconic-icon { /* color will set the border-color on the check due to how HCM works for in-content pages. */ - color: var(--checkbox-checked-border-color, color-mix(in srgb, -moz-accent-color 4%, Field)) !important; + color: var( + --checkbox-checked-border-color, + color-mix(in srgb, var(--uc-accent-color) 4%, Field) + ) !important; } menuitem[type="checkbox"] > .menu-iconic-left[checked="true"] { color: var(--checkbox-checked-border-color, currentColor) !important; - fill: var(--checkbox-checked-color, -moz-accent-color-foreground) !important; + fill: var(--checkbox-checked-color, var(--uc-accent-text-color)) !important; } menuitem[type="checkbox"]:not([disabled="true"]):hover:active > .menu-iconic-left[checked="true"] @@ -2817,8 +2905,8 @@ menuitem[type="checkbox"]:not([disabled="true"]):hover > .menu-iconic-left[checked="true"] > .menu-iconic-icon { - color: var(--checkbox-checked-border-color-hover, -moz-accent-color-foreground) !important; - fill: var(--checkbox-checked-border-color-hover, -moz-accent-color-foreground) !important; + color: var(--checkbox-checked-border-color-hover, var(--uc-accent-text-color)) !important; + fill: var(--checkbox-checked-border-color-hover, var(--uc-accent-text-color)) !important; } } menuitem[type="checkbox"] > .menu-iconic-text { diff --git a/icons/arrow-between-down.svg b/icons/arrow-between-down.svg new file mode 100644 index 0000000..b15ee77 --- /dev/null +++ b/icons/arrow-between-down.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/auto-fit-width.svg b/icons/auto-fit-width.svg new file mode 100644 index 0000000..6b39ade --- /dev/null +++ b/icons/auto-fit-width.svg @@ -0,0 +1,3 @@ + + + diff --git a/install.ps1 b/install.ps1 index 49e1028..c16e449 100644 --- a/install.ps1 +++ b/install.ps1 @@ -826,7 +826,7 @@ function Copy-Lepton() { Param ( [Parameter(Position=0)] [string] $chromeDir = "chrome", - [Parameter(Position=0)] + [Parameter(Position=1)] [string] $userJSPath = "${chromeDir}\user.js" ) diff --git a/src/compatibility/_accent_color.scss b/src/compatibility/_accent_color.scss new file mode 100644 index 0000000..c3f6062 --- /dev/null +++ b/src/compatibility/_accent_color.scss @@ -0,0 +1,12 @@ +:root { + /* Compatibility for accent color + https://github.com/mozilla/gecko-dev/commit/4c5f20179e8d3b963dc588efb9dc2c7b49e7bb31 + */ + --uc-accent-color: AccentColor; + --uc-accent-text-color: AccentColorText; + + @include Option("userChrome.compatibility.accent_color") { + --uc-accent-color: -moz-accent-color; + --uc-accent-text-color: -moz-accent-color-foreground; + } +} diff --git a/src/compatibility/_index.scss b/src/compatibility/_index.scss index bd8ee6c..e089775 100644 --- a/src/compatibility/_index.scss +++ b/src/compatibility/_index.scss @@ -1,3 +1,6 @@ +/*= Color - Compatibility ====================================================*/ +@import "accent_color"; + /*= Theme - Compatibility ====================================================*/ @include Option("userChrome.compatibility.theme") { @import "theme"; diff --git a/src/compatibility/_os.scss b/src/compatibility/_os.scss index 26d8e87..1d6f863 100644 --- a/src/compatibility/_os.scss +++ b/src/compatibility/_os.scss @@ -10,7 +10,7 @@ @media (-moz-windows-accent-color-in-titlebar) { #navigator-toolbox { - border-top-color: -moz-accent-color !important; + border-top-color: var(--uc-accent-color) !important; } } } diff --git a/src/contents/_activity_stream.scss b/src/contents/_activity_stream.scss index 3a0acf3..324e4ac 100644 --- a/src/contents/_activity_stream.scss +++ b/src/contents/_activity_stream.scss @@ -27,6 +27,12 @@ } } + /** Activity Stream - Menu Icons ********************************************/ + @include Option("userChrome.icon.context_menu") { + @import "../icons/layout_activity_stream"; + @import "../icons/activity_stream"; + } + /** Activity Stream - Web Site Icon: full size ******************************/ @include Option("userContent.newTab.full_icon") { .top-site-outer .tile { diff --git a/src/contents/_proton_color.scss b/src/contents/_proton_color.scss index 8db37ae..d605c70 100644 --- a/src/contents/_proton_color.scss +++ b/src/contents/_proton_color.scss @@ -19,7 +19,7 @@ @include Option("userContent.page.proton_color.system_accent") { :host, :root { - --in-content-primary-button-text-color: -moz-accent-color-foreground !important; + --in-content-primary-button-text-color: var(--uc-accent-text-color) !important; --in-content-primary-button-background: Highlight !important; --in-content-primary-button-background-hover: color-mix(in srgb, black 10%, Highlight) !important; --in-content-primary-button-background-active: color-mix(in srgb, black 20%, Highlight) !important; diff --git a/src/decoration/_field_border.scss b/src/decoration/_field_border.scss index 4d7983d..0b749f1 100644 --- a/src/decoration/_field_border.scss +++ b/src/decoration/_field_border.scss @@ -12,12 +12,12 @@ body[lwt-sidebar] xul|search-textbox.tabsFilter:hover { } .sidebar-panel:not([lwt-sidebar]) #search-box:hover, body:not([lwt-sidebar]) xul|search-textbox.tabsFilter:hover { - border-color: -moz-accent-color !important; + border-color: var(--uc-accent-color) !important; } /* Others */ #editBMPanel_namePicker:hover, #editBMPanel_tagsField:hover, .findbar-container .findbar-textbox:hover { - --input-border-color: color-mix(in srgb, var(--focus-outline-color, -moz-accent-color) 50%, transparent); + --input-border-color: color-mix(in srgb, var(--focus-outline-color, var(--uc-accent-color)) 50%, transparent); } diff --git a/src/icons/_activity_stream.scss b/src/icons/_activity_stream.scss new file mode 100644 index 0000000..b916a3e --- /dev/null +++ b/src/icons/_activity_stream.scss @@ -0,0 +1,41 @@ +.context-menu-item span[data-l10n-id="newtab-menu-pin"] { + --menuitem-image: url("../icons/pin-tab.svg"); +} +.context-menu-item span[data-l10n-id="newtab-menu-unpin"] { + --menuitem-image: url("../icons/unpin-tab.svg"); +} +.context-menu-item span[data-l10n-id="newtab-menu-edit-topsites"] { + --menuitem-image: url("chrome://global/skin/icons/edit.svg"); +} +.context-menu-item span[data-l10n-id="newtab-menu-bookmark"] { + --menuitem-image: url("chrome://browser/skin/bookmark.svg"); +} +.context-menu-item span[data-l10n-id="newtab-menu-remove-bookmark"] { + --menuitem-image: url("chrome://browser/skin/bookmark-hollow.svg"); +} +.context-menu-item span[data-l10n-id="newtab-menu-save-to-pocket"] { + --menuitem-image: url("../icons/pocket-outline.svg"); +} +.context-menu-item span[data-l10n-id="newtab-menu-open-file"] { + --menuitem-image: url("../icons/fluid.svg"); +} +.context-menu-item span[data-l10n-id="newtab-menu-show-file"] { + --menuitem-image: url("chrome://global/skin/icons/folder.svg"); + @include Option("userChrome.icon.library") { + --menuitem-image: url("../icons/folder.svg"); + } +} + +.context-menu-item span[data-l10n-id="newtab-menu-open-new-window"] { + --menuitem-image: url("chrome://browser/skin/window.svg"); +} +.context-menu-item span[data-l10n-id="newtab-menu-open-new-private-window"] { + --menuitem-image: url("chrome://browser/skin/privateBrowsing.svg"); +} + +.context-menu-item span[data-l10n-id="newtab-menu-dismiss"] { + --menuitem-image: url("chrome://global/skin/icons/delete.svg"); +} +.context-menu-item span[data-l10n-id="newtab-menu-delete-history"] { + --menuitem-image: url("../icons/eraser.svg"); +} diff --git a/src/icons/_global_menu.scss b/src/icons/_global_menu.scss index 00aa9f5..be303a1 100644 --- a/src/icons/_global_menu.scss +++ b/src/icons/_global_menu.scss @@ -32,6 +32,9 @@ #menu_sendLink { --menuitem-image: url("chrome://browser/skin/mail.svg"); } +menu.share-tab-url-item { + --menuitem-image: url("chrome://browser/skin/share.svg"); +} #menu_printPreview { } @@ -114,6 +117,12 @@ --menuitem-image: url("chrome://browser/skin/characterEncoding.svg"); } +#enterFullScreenItem { + --menuitem-image: url("chrome://browser/skin/fullscreen.svg"); +} +#exitFullScreenItem { + --menuitem-image: url("chrome://browser/skin/fullscreen-exit.svg"); +} #fullScreenItem { /* checkbox */ --menuitem-image: url("chrome://browser/skin/fullscreen.svg"); @@ -145,6 +154,10 @@ --menuitem-image: url("../icons/resize.svg"); } +#toggle_zoom { + --menuitem-image: url("../icons/screenshot.svg"); +} + /*= goPopup ==================================================================*/ #menu_showAllHistory { --menuitem-image: url("chrome://browser/skin/history.svg"); @@ -262,6 +275,16 @@ --menuitem-image: url("chrome://devtools/skin/images/debugging-addons.svg"); } +/*= windowPopup ==============================================================*/ +#windowPopup > menuitem { + &[command="minimizeWindow"] { + --menuitem-image: url("../icons/arrow-between-down.svg"); + } + &[command="zoomWindow"] { + --menuitem-image: url("../icons/auto-fit-width.svg"); + } +} + /*= menu_HelpPopup ===========================================================*/ #menu_openHelp { --menuitem-image: url("chrome://global/skin/icons/help.svg"); diff --git a/src/icons/_layout_activity_stream.scss b/src/icons/_layout_activity_stream.scss new file mode 100644 index 0000000..fb5fcae --- /dev/null +++ b/src/icons/_layout_activity_stream.scss @@ -0,0 +1,16 @@ +.context-menu-list .context-menu-item button { + padding-inline-start: 0 !important; +} + +.context-menu-list .context-menu-item button span { + padding-inline-start: 24px; /* 16p + (4px * 2) */ + + -moz-context-properties: fill, fill-opacity !important; + fill: currentColor !important; + + /* Layout */ + background-size: 16px; + background-repeat: no-repeat; + background-image: var(--menuitem-image); + background-position: left 4px center; +} diff --git a/src/icons/_layout_menu.scss b/src/icons/_layout_menu.scss index fb0be85..a09a6a5 100644 --- a/src/icons/_layout_menu.scss +++ b/src/icons/_layout_menu.scss @@ -118,9 +118,7 @@ $_layoutCommonMenus: ( } /* Global Menu */ - /* Disabled. some icons not appear - #{$_iconMenuPopupMenus} { - list-style-image: var(--menuitem-image, url("../icons/blank.svg")); + #{selector.nest($_iconMenuPopup, "menuitem:not(.menuitem-iconic, .bookmark-item), menu:not(.menu-iconic)")} { + list-style-image: var(--menuitem-image, url("../icons/blank.svg")) !important; } - */ } diff --git a/src/icons/_layout_menu_common.scss b/src/icons/_layout_menu_common.scss index 3d3a92c..5ed7246 100644 --- a/src/icons/_layout_menu_common.scss +++ b/src/icons/_layout_menu_common.scss @@ -10,7 +10,7 @@ $_iconMenu: "menu:not(.menu-iconic, #{$_iconNoneCommon})"; // Components $_nestedPopupIcon: ":not(menu, #ContentSelectDropdown) > menupopup >"; $_nestedPopupPadding: ":not(menu, #ContentSelectDropdown, #context-navigation) > menupopup >"; -$_iconMenuPopup: "menupopup:is(#menu_FilePopup, #menu_EditPopup, #menu_viewPopup, #goPopup, #historyMenuPopup, #bookmarksMenuPopup, #menu_ToolsPopup, #menu_HelpPopup)"; +$_iconMenuPopup: "menupopup:is(#menu_FilePopup, #menu_EditPopup, #menu_viewPopup, #goPopup, #historyMenuPopup, #bookmarksMenuPopup, #menu_ToolsPopup, #windowPopup, #menu_HelpPopup)"; $_nestedPopupIconMenus: selector.nest( $_nestedPopupIcon, diff --git a/src/leptonContent.scss b/src/leptonContent.scss index cc96c6d..6609e27 100644 --- a/src/leptonContent.scss +++ b/src/leptonContent.scss @@ -22,6 +22,7 @@ /** Fully Dark Mode ***********************************************************/ /*= Fully Dark Mode - Dark Mode Colors =======================================*/ @include Option("userContent.page.proton_color") { + @import "compatibility/accent_color"; @import "contents/proton_color"; } @include Option("userContent.page.dark_mode") { diff --git a/src/padding/_menu.scss b/src/padding/_menu.scss index 677e1e0..e4c7c4e 100644 --- a/src/padding/_menu.scss +++ b/src/padding/_menu.scss @@ -25,6 +25,10 @@ menupopup > menu { #ContentSelectDropdown > menupopup > menucaption, #ContentSelectDropdown > menupopup > menuitem { padding-block: 0 !important; + + @include OS($linux) { + padding-block: var(--menu-padding) !important; + } } @include OS($mac) { diff --git a/src/tabbar/clipped_tab/_letters_cleary.scss b/src/tabbar/clipped_tab/_letters_cleary.scss index a4b4446..8b9f899 100644 --- a/src/tabbar/clipped_tab/_letters_cleary.scss +++ b/src/tabbar/clipped_tab/_letters_cleary.scss @@ -13,14 +13,23 @@ --inline-tab-padding: 8px; } -#tabbrowser-tabs[closebuttons="activetab"] .tab-label-container[textoverflow][labeldirection="ltr"]:not([pinned]), -#tabbrowser-tabs[closebuttons="activetab"] - .tab-label-container[textoverflow]:not([labeldirection]):-moz-locale-dir(ltr):not([pinned]) { - mask-image: linear-gradient(to right, black 70%, transparent) !important; +// mask-image: linear-gradient(to left, transparent, black var(--tab-label-mask-size)); +.tabbrowser-tab { + .tab-label-container { + --tab-label-mask-size: 1.8em; /* Original: 2em */ + } } -#tabbrowser-tabs[closebuttons="activetab"] .tab-label-container[textoverflow][labeldirection="rtl"]:not([pinned]), -#tabbrowser-tabs[closebuttons="activetab"] - .tab-label-container[textoverflow]:not([labeldirection]):-moz-locale-dir(rtl):not([pinned]) { - mask-image: linear-gradient(to left, black 70%, transparent) !important; +#tabbrowser-tabs[closebuttons="activetab"] .tabbrowser-tab { + .tab-label-container { + --tab-label-mask-size: 30%; + } + &:is([visuallyselected="true"], [multiselected="true"]) .tab-label-container { + --tab-label-mask-size: 25%; + } +} + +.tabbrowser-tab[visuallyselected=true]:not([labelendaligned]):hover .tab-label-container, +#tabbrowser-tabs:not([closebuttons=activetab]) > #tabbrowser-arrowscrollbox > .tabbrowser-tab:not([visuallyselected=true],[labelendaligned]):hover .tab-label-container { + --tab-label-mask-size: 0.9em; /* Original: 1em */ } diff --git a/src/tabbar/newtab_button/_looks_like_tab.scss b/src/tabbar/newtab_button/_looks_like_tab.scss index 94a0f8e..150e12e 100644 --- a/src/tabbar/newtab_button/_looks_like_tab.scss +++ b/src/tabbar/newtab_button/_looks_like_tab.scss @@ -36,7 +36,7 @@ :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) #tabs-newtab-button:hover { fill: color-mix( in srgb, - -moz-accent-color-foreground 10%, + var(--uc-accent-text-color) 10%, transparent ) !important; /* Hardcorded for compatibility */ } @@ -44,7 +44,7 @@ :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) #tabs-newtab-button:hover:active { fill: color-mix( in srgb, - -moz-accent-color-foreground 15%, + var(--uc-accent-text-color) 15%, transparent ) !important; /* Hardcorded for compatibility */ } diff --git a/src/tabbar/unselected_tab/_dynamic_separator.scss b/src/tabbar/unselected_tab/_dynamic_separator.scss index 4088c02..bc40d37 100644 --- a/src/tabbar/unselected_tab/_dynamic_separator.scss +++ b/src/tabbar/unselected_tab/_dynamic_separator.scss @@ -99,7 +99,10 @@ .tab-background::before, #navigator-toolbox:not([movingtab]) .tabbrowser-tab[last-visible-tab]:is([visuallyselected], [multiselected], :hover) - ~ #tabs-newtab-button::before { + ~ #tabs-newtab-button::before, /* Legacy - v103 */ + #navigator-toolbox:not([movingtab]) + .tabbrowser-tab[last-visible-tab]:is([visuallyselected], [multiselected], :hover) + ~ #tabbrowser-arrowscrollbox-periphery #tabs-newtab-button::before { opacity: 0 !important; } } diff --git a/src/theme/_fully_color.scss b/src/theme/_fully_color.scss index 94e98bc..7b2e6bf 100644 --- a/src/theme/_fully_color.scss +++ b/src/theme/_fully_color.scss @@ -155,8 +155,8 @@ body[lwt-sidebar] xul|search-textbox.tabsFilter[focused="true"] { } .sidebar-panel:not([lwt-sidebar]) #search-box[focused="true"], body:not([lwt-sidebar]) xul|search-textbox.tabsFilter[focused="true"] { - border-color: -moz-accent-color !important; /* Hard Coded */ - outline-color: -moz-accent-color !important; + border-color: var(--uc-accent-color) !important; /* Hard Coded */ + outline-color: var(--uc-accent-color) !important; } /*= PopupAutoComplete ========================================================*/ diff --git a/src/theme/proton_chrome/_proton_commons.scss b/src/theme/proton_chrome/_proton_commons.scss index a3c31e5..0f6bbfc 100644 --- a/src/theme/proton_chrome/_proton_commons.scss +++ b/src/theme/proton_chrome/_proton_commons.scss @@ -269,7 +269,7 @@ background-color: var(--button-active-bgcolor, color-mix(in srgb, currentColor 20%, ButtonFace)) !important; } &:-moz-focusring { - outline: 2px solid var(--focus-outline-color, -moz-accent-color) !important; + outline: 2px solid var(--focus-outline-color, var(--uc-accent-color)) !important; outline-offset: var(--focus-outline-offset, 2px) !important; } } diff --git a/src/theme/system_default_theme/_gtk.scss b/src/theme/system_default_theme/_gtk.scss index 1fde085..7d2fbb8 100644 --- a/src/theme/system_default_theme/_gtk.scss +++ b/src/theme/system_default_theme/_gtk.scss @@ -1,7 +1,7 @@ /*= GTK - URL View url accent color ==========================================*/ @include OS($linux) { :root:not(:-moz-lwtheme) .urlbarView-url { - --urlbar-popup-url-color: -moz-accent-color; + --urlbar-popup-url-color: var(--uc-accent-color); } /* Nightly Compatibility */ diff --git a/src/theme/system_default_theme/_mac.scss b/src/theme/system_default_theme/_mac.scss index 17efe8c..d2228ee 100644 --- a/src/theme/system_default_theme/_mac.scss +++ b/src/theme/system_default_theme/_mac.scss @@ -12,15 +12,15 @@ --mac-sidebar-hover-bgcolor: color-mix(in srgb, ButtonFace 60%, var(--mac-sidebar-bgcolor)); --mac-hover-bgcolor: Window; --mac-disabled-bgcolor: transparent; - --mac-primary-button-color: -moz-accent-color-foreground; /* or -moz-mac-menutextselect */ - --mac-accent-color: -moz-accent-color; /* or LinkText */ - --mac-accent-content-color: color-mix(in srgb, rgb(255, 255, 255) 15%, -moz-accent-color); + --mac-primary-button-color: var(--uc-accent-text-color); /* or -moz-mac-menutextselect */ + --mac-accent-color: var(--uc-accent-color); /* or LinkText */ + --mac-accent-content-color: color-mix(in srgb, rgb(255, 255, 255) 15%, var(--uc-accent-color)); --mac-accent-hover-color: color-mix( in srgb, rgb(0, 0, 0) 10%, - -moz-accent-color + var(--uc-accent-color) ); /* or -moz-mac-menuselect, Highlight */ - --mac-accent-active-color: color-mix(in srgb, rgb(0, 0, 0) 20%, -moz-accent-color); /* or ActiveBorder */ + --mac-accent-active-color: color-mix(in srgb, rgb(0, 0, 0) 20%, var(--uc-accent-color)); /* or ActiveBorder */ /* Text, Icon Color */ --menu-color: var(--mac-text-color) !important; diff --git a/src/theme/system_default_theme/_urlbar_focus_color.scss b/src/theme/system_default_theme/_urlbar_focus_color.scss index a175e0e..f3c053b 100644 --- a/src/theme/system_default_theme/_urlbar_focus_color.scss +++ b/src/theme/system_default_theme/_urlbar_focus_color.scss @@ -7,14 +7,14 @@ $_urlBarFocusDarkSelector: ":root[tabsintitlebar][lwt-default-theme-in-dark-mode /* URL Bar */ #{$_urlBarFocusSelector}, #{$_urlBarFocusDarkSelector} { - --focus-outline-color: -moz-accent-color !important; + --focus-outline-color: var(--uc-accent-color) !important; } #{$_urlBarFocusSelector} #urlbar[open] > #urlbar-background, #{$_urlBarFocusDarkSelector} #urlbar[open] > #urlbar-background { border-color: color-mix( in srgb, - -moz-accent-color 50%, + var(--uc-accent-color) 50%, transparent ) !important; /* Like: --toolbar-field-focus-border-color */ } diff --git a/src/theme/system_default_theme/_win10.scss b/src/theme/system_default_theme/_win10.scss index a90a79a..2b00afb 100644 --- a/src/theme/system_default_theme/_win10.scss +++ b/src/theme/system_default_theme/_win10.scss @@ -21,11 +21,11 @@ --win-shorcut-text-color: #757575; --win-error-color: #b31616; --win-red-border-color: #ff4343; - --win-accent-forground-color: -moz-accent-color-foreground; - --win-accent-color: color-mix(in srgb, rgba(0, 0, 0, 0.8) 10%, -moz-accent-color); - --win-accent-content-color: color-mix(in srgb, rgba(255, 255, 255, 0.8) 15%, -moz-accent-color); - --win-accent-hover-color: color-mix(in srgb, rgba(255, 255, 255, 0.8) 27%, -moz-accent-color); - --win-accent-active-color: -moz-accent-color; + --win-accent-forground-color: var(--uc-accent-text-color); + --win-accent-color: color-mix(in srgb, rgba(0, 0, 0, 0.8) 10%, var(--uc-accent-color)); + --win-accent-content-color: color-mix(in srgb, rgba(255, 255, 255, 0.8) 15%, var(--uc-accent-color)); + --win-accent-hover-color: color-mix(in srgb, rgba(255, 255, 255, 0.8) 27%, var(--uc-accent-color)); + --win-accent-active-color: var(--uc-accent-color); } @include Dark { #{system-default-theme()} { @@ -49,10 +49,10 @@ --win-shorcut-text-color: #adadad; --win-error-color: #ffb900; --win-red-border-color: #ff4343; - --win-accent-color: color-mix(in srgb, rgba(255, 255, 255, 0.8) 20%, -moz-accent-color); - --win-accent-content-color: color-mix(in srgb, rgba(255, 255, 255, 0.8) 35%, -moz-accent-color); - --win-accent-hover-color: color-mix(in srgb, rgba(0, 0, 0, 0.8) 5%, -moz-accent-color); - --win-accent-active-color: -moz-accent-color; + --win-accent-color: color-mix(in srgb, rgba(255, 255, 255, 0.8) 20%, var(--uc-accent-color)); + --win-accent-content-color: color-mix(in srgb, rgba(255, 255, 255, 0.8) 35%, var(--uc-accent-color)); + --win-accent-hover-color: color-mix(in srgb, rgba(0, 0, 0, 0.8) 5%, var(--uc-accent-color)); + --win-accent-active-color: var(--uc-accent-color); } } @@ -84,8 +84,7 @@ --panel-shortcut-color: var(--win-shorcut-text-color) !important; --panel-description-color: var(--win-shorcut-text-color) !important; - /* Title Background, Border Color */ - --menu-border-color: var(--win-bgcolor) !important; + /* Title Background */ --lwt-accent-color: var(--win-bgcolor) !important; --toolbar-field-border-color: var(--win-bgcolor) !important; --chrome-content-separator-color: var(--win-bgcolor) !important; @@ -97,6 +96,9 @@ --arrowpanel-background: var(--win-component-bgcolor) !important; --autocomplete-popup-background: var(--win-component-bgcolor) !important; + /* Border Color */ + // --menu-border-color: var(--win-border-color) !important; + /* Seperator */ --toolbarseparator-color: var(--win-tab-seperator-color) !important; @@ -249,7 +251,7 @@ .sidebar-panel[style="--newtab-background-color: rgb(43, 42, 51); --newtab-text-primary-color: rgba(251, 251, 254, 1); --lwt-sidebar-background-color: rgb(56, 56, 61); --lwt-sidebar-text-color: rgba(249, 249, 250, 1);"], /* Nightly */ body[lwt-sidebar][style="--newtab-background-color: rgb(43, 42, 51); --newtab-text-primary-color: rgba(251, 251, 254, 1); --lwt-sidebar-background-color: rgb(56, 56, 61); --lwt-sidebar-text-color: rgba(249, 249, 250, 1);"] { /* Only darkmode has more: --newtab-background-color-secondary: rgba(66, 65, 77, 1); */ - --lwt-sidebar-background-color: transparent !important; + --lwt-sidebar-background-color: var(--win-sidebar-bgcolor) !important; --lwt-sidebar-text-color: var(--win-text-color) !important; } } @@ -312,14 +314,14 @@ :root[tabsintitlebar]:not(:-moz-window-inactive, :-moz-lwtheme), :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) { .titlebar-color { - color: -moz-accent-color-foreground; - background-color: -moz-accent-color; + color: var(--uc-accent-text-color); + background-color: var(--uc-accent-color); } .toolbar-items { --toolbarbutton-icon-fill: currentColor; - --toolbarbutton-hover-background: color-mix(in srgb, -moz-accent-color-foreground 10%, transparent); - --toolbarbutton-active-background: color-mix(in srgb, -moz-accent-color-foreground 15%, transparent); + --toolbarbutton-hover-background: color-mix(in srgb, var(--uc-accent-text-color) 10%, transparent); + --toolbarbutton-active-background: color-mix(in srgb, var(var(--uc-accent-text-color)) 15%, transparent); } } } diff --git a/src/utils/_proton_elements.scss b/src/utils/_proton_elements.scss index 04eb459..6ecb629 100644 --- a/src/utils/_proton_elements.scss +++ b/src/utils/_proton_elements.scss @@ -88,10 +88,10 @@ @mixin CheckboxCheckedIcon { -moz-context-properties: fill !important; fill: currentColor !important; - color: var(--checkbox-checked-color, -moz-accent-color-foreground) !important; + color: var(--checkbox-checked-color, var(--uc-accent-text-color)) !important; border-color: var(--checkbox-checked-border-color, transparent) !important; - background-color: var(--checkbox-checked-bgcolor, -moz-accent-color) !important; + background-color: var(--checkbox-checked-bgcolor, var(--uc-accent-color)) !important; background-image: url("chrome://global/skin/icons/check.svg") !important; background-position: center !important; background-repeat: no-repeat !important; @@ -103,48 +103,48 @@ @mixin CheckboxIconHover { background-color: var( --checkbox-unchecked-hover-bgcolor, - color-mix(in srgb, -moz-accent-color 4%, Field) + color-mix(in srgb, var(--uc-accent-color) 4%, Field) ) !important; } @mixin CheckboxIconActive { background-color: var( --checkbox-unchecked-active-bgcolor, - color-mix(in srgb, -moz-accent-color 8%, Field) + color-mix(in srgb, var(--uc-accent-color) 8%, Field) ) !important; } @mixin CheckboxCheckedIconHover { background-color: var( --checkbox-checked-hover-bgcolor, - color-mix(in srgb, currentColor 12.5%, -moz-accent-color) + color-mix(in srgb, currentColor 12.5%, var(--uc-accent-color)) ) !important; } @mixin CheckboxCheckedIconActive { background-color: var( --checkbox-checked-active-bgcolor, - color-mix(in srgb, currentColor 25%, -moz-accent-color) + color-mix(in srgb, currentColor 25%, var(--uc-accent-color)) ) !important; } @mixin CheckboxIconHoverContrast { /* color will set the border-color on the check due to how HCM works for in-content pages. */ - color: var(--checkbox-checked-border-color, color-mix(in srgb, -moz-accent-color 4%, Field)) !important; + color: var(--checkbox-checked-border-color, color-mix(in srgb, var(--uc-accent-color) 4%, Field)) !important; } @mixin CheckboxCheckedIconContrast { color: var(--checkbox-checked-border-color, currentColor) !important; - fill: var(--checkbox-checked-color, -moz-accent-color-foreground) !important; + fill: var(--checkbox-checked-color, var(--uc-accent-text-color)) !important; } @mixin CheckboxCheckedIconHoverContrast { - color: var(--checkbox-checked-border-color-hover, -moz-accent-color-foreground) !important; - fill: var(--checkbox-checked-border-color-hover, -moz-accent-color-foreground) !important; + color: var(--checkbox-checked-border-color-hover, var(--uc-accent-text-color)) !important; + fill: var(--checkbox-checked-border-color-hover, var(--uc-accent-text-color)) !important; } @mixin CheckboxFocusRing { - outline: 2px solid var(--focus-outline-color, -moz-accent-color) !important; + outline: 2px solid var(--focus-outline-color, var(--uc-accent-color)) !important; outline-offset: var(--focus-outline-offset, 2px) !important; } diff --git a/user.js b/user.js index a262092..27d7fb3 100644 --- a/user.js +++ b/user.js @@ -28,33 +28,36 @@ user_pref("browser.newtabpage.activity-stream.improvesearch.handoffToAwesomebar" // ** Theme Related Options **************************************************** // == Theme Distribution Settings ============================================== +// The rows that are located continuously must be changed `true`/`false` explicitly because there is a collision. +// https://github.com/black7375/Firefox-UI-Fix/wiki/Options#important user_pref("userChrome.tab.connect_to_window", true); // Original, Photon user_pref("userChrome.tab.color_like_toolbar", true); // Original, Photon user_pref("userChrome.tab.lepton_like_padding", true); // Original -// user_pref("userChrome.tab.photon_like_padding", true); // Photon +user_pref("userChrome.tab.photon_like_padding", false); // Photon user_pref("userChrome.tab.dynamic_separtor", true); // Original, Proton -// user_pref("userChrome.tab.static_separator", true); // Photon -// user_pref("userChrome.tab.static_separator.selected_accent", true); // Just option +user_pref("userChrome.tab.static_separator", false); // Photon +user_pref("userChrome.tab.static_separator.selected_accent", false); // Just option user_pref("userChrome.tab.newtab_button_like_tab", true); // Original -// user_pref("userChrome.tab.newtab_button_smaller", true); // Photon -// user_pref("userChrome.tab.newtab_button_proton", true); // Proton +user_pref("userChrome.tab.newtab_button_smaller", false); // Photon +user_pref("userChrome.tab.newtab_button_proton", false); // Proton user_pref("userChrome.icon.panel_full", true); // Original, Proton -// user_pref("userChrome.icon.panel_photon", true); // Photon -// user_pref("userChrome.icon.panel_sparse", true); // Just option +user_pref("userChrome.icon.panel_photon", false); // Photon +user_pref("userChrome.icon.panel_sparse", false); // Just option // Original Only user_pref("userChrome.tab.box_shadow", true); user_pref("userChrome.tab.bottom_rounded_corner", true); // Photon Only -// user_pref("userChrome.tab.photon_like_contextline", true); -// user_pref("userChrome.rounding.square_tab", true); +user_pref("userChrome.tab.photon_like_contextline", false); +user_pref("userChrome.rounding.square_tab", false); // == Theme Compatibility Settings ============================================= +// user_pref("userChrome.compatibility.accent_color", true); // Firefox v103 Below // user_pref("userChrome.compatibility.covered_header_image", true); // user_pref("userChrome.compatibility.panel_cutoff", true); // user_pref("userChrome.compatibility.navbar_top_border", true);