diff --git a/README.org b/README.org index 856d897..ce6a511 100644 --- a/README.org +++ b/README.org @@ -144,7 +144,8 @@ Windows users: Run with powershell ([[https://github.com/black7375/Firefox-UI-Fi - Select ":package: Download ZIP" 2. Find your profile directory - Open =about:support= in a new tab - - Find the =Profile Folder= entry and click the =Open Folder= button + - Find the =Profile Directory(Linux)= / =Profile Folder(Windows)= entry + - Click the =Open Directory(Linux)= / =Open Folder(Windows)= button 3. Copy downloaded files - Extract the downloaded zip file - Copy the =user.js= file to the previously opened profile directory diff --git a/__tests__/accent_color.test.scss b/__tests__/accent_color.test.scss index 206760e..ce85923 100644 --- a/__tests__/accent_color.test.scss +++ b/__tests__/accent_color.test.scss @@ -7,6 +7,7 @@ @include output { @include AccentColor { body { + border-color: $accentBorder; background-color: $accentColor; color: $accentTextColor; } @@ -14,11 +15,13 @@ } @include expect { body { + border-color: ActiveBorder; background-color: AccentColor; color: AccentColorText; } @supports -moz-bool-pref("userChrome.compatibility.accent_color") { body { + border-color: -moz-accent-color; background-color: -moz-accent-color; color: -moz-accent-color-foreground; } @@ -32,10 +35,12 @@ :root { @include AccentColor { // Don't use like this!! + --uc-accent-border: $accentBorder; --uc-accent-color: $accentColor; --uc-accent-text-color: $accentTextColor; // Use like this + --uc-accent-border: #{$accentBorder}; --uc-accent-color: #{$accentColor}; --uc-accent-text-color: #{$accentTextColor}; } @@ -43,15 +48,19 @@ } @include expect { :root { + --uc-accent-border: $accentBorder; --uc-accent-color: $accentColor; --uc-accent-text-color: $accentTextColor; + --uc-accent-border: ActiveBorder; --uc-accent-color: AccentColor; --uc-accent-text-color: AccentColorText; } @supports -moz-bool-pref("userChrome.compatibility.accent_color") { :root { + --uc-accent-border: $accentBorder; --uc-accent-color: $accentColor; --uc-accent-text-color: $accentTextColor; + --uc-accent-border: -moz-accent-color; --uc-accent-color: -moz-accent-color; --uc-accent-text-color: -moz-accent-color-foreground; } @@ -64,6 +73,7 @@ @include output { @include AccentColor("Highlight") { body { + border-color: $accentBorder; background-color: $accentColor; color: $accentTextColor; } @@ -71,11 +81,13 @@ } @include expect { body { + border-color: ActiveBorder; background-color: AccentColor; color: AccentColorText; } @supports -moz-bool-pref("userChrome.compatibility.accent_color") { body { + border-color: -moz-accent-color; background-color: Highlight; color: HighlightText; } diff --git a/css/leptonChrome.css b/css/leptonChrome.css index d1910d6..3db34dc 100644 --- a/css/leptonChrome.css +++ b/css/leptonChrome.css @@ -423,6 +423,39 @@ } } } + /*= Windows - Classic Theme #734 =============================================*/ + @media (-moz-os-version: windows-win7), + (-moz-platform: windows-win7), + (-moz-os-version: windows-win8), + (-moz-platform: windows-win8), + (-moz-os-version: windows-win10), + (-moz-platform: windows-win10) { + @media (-moz-windows-classic) { + :root[tabsintitlebar][sizemode="normal"]:not(:-moz-lwtheme) #navigator-toolbox { + appearance: auto !important; + -moz-default-appearance: -moz-window-titlebar !important; + } + :root[tabsintitlebar][sizemode="maximized"]:not(:-moz-lwtheme) #navigator-toolbox { + appearance: auto !important; + -moz-default-appearance: -moz-window-titlebar !important; + } + :root[tabsintitlebar]:not(:-moz-lwtheme) #tabbrowser-arrowscrollbox { + color: -moz-dialogtext !important; + } + :root[tabsintitlebar][sizemode="normal"] #navigator-toolbox:-moz-lwtheme { + background-image: linear-gradient( + to bottom, + ThreeDLightShadow 0, + ThreeDLightShadow 1px, + ThreeDHighlight 1px, + ThreeDHighlight 2px, + ActiveBorder 2px, + ActiveBorder 4px, + transparent 4px + ) !important; + } + } + } } /*= Others - Compatibility ===================================================*/ @supports -moz-bool-pref("userChrome.compatibility.panel_cutoff") { @@ -1329,8 +1362,8 @@ --menu-color: var(--arrowpanel-color, var(--in-content-page-color)) !important; --menu-background-color: var(--arrowpanel-background, var(--in-content-button-background)) !important; --menu-border-color: var( - --toolbarbutton-active-background, - var(--button-active-bgcolor, var(--card-outline-color)) + --panel-separator-color, + var(--toolbarbutton-active-background, var(--button-active-bgcolor, var(--card-outline-color))) ) !important; --menuitem-hover-background-color: var( --toolbarbutton-hover-background, @@ -1351,8 +1384,9 @@ --panel-border-color: var(--menu-border-color) !important; } html#main-window menupopup:not(.in-menulist):not([placespopup]) menuseparator, + html#main-window menupopup:not(.in-menulist):not([placespopup]) menuseparator::before, html#main-window menupopup:not(.in-menulist)[placespopup] menuseparator::before { - border-top: 1px solid var(--menu-border-color) !important; + border-color: var(--menu-border-color) !important; } html#main-window menupopup:not(.in-menulist) menu[disabled="true"], html#main-window menupopup:not(.in-menulist) menu[_moz-menuactive="true"][disabled="true"], @@ -9593,11 +9627,14 @@ max-width: var(--uc-sidebar-width) !important; will-change: min-width, max-width; } - #sidebar-box:is(:hover, :focus-within) { + #sidebar-box:is(:hover, :focus-within), + #sidebar-box:has(#sidebar-switcher-target.active) { --uc-sidebar-shadow-width: calc(var(--uc-sidebar-activate-width) - var(--uc-sidebar-width)); } #sidebar-box:is(:hover, :focus-within) > #sidebar-header, - #sidebar-box:is(:hover, :focus-within) > #sidebar { + #sidebar-box:is(:hover, :focus-within) > #sidebar, + #sidebar-box:has(#sidebar-switcher-target.active) > #sidebar-header, + #sidebar-box:has(#sidebar-switcher-target.active) > #sidebar { min-width: var(--uc-sidebar-activate-width) !important; max-width: var(--uc-sidebar-activate-width) !important; } @@ -9623,14 +9660,17 @@ transition: min-width var(--uc-autohide-sidebar-speed) var(--animation-easing-function) var(--uc-autohide-sidebar-delay) !important; } - #sidebar-box:is(:hover, :focus-within) { + #sidebar-box:is(:hover, :focus-within), + #siebar-box:has(#sidebar-switcher-target.active) { transition: margin-inline-start var(--uc-autohide-sidebar-speed) var(--animation-easing-function), opacity var(--uc-autohide-sidebar-speed) ease-in-out, box-shadow var(--uc-autohide-sidebar-speed) var(--animation-easing-function) var(--uc-autohide-sidebar-speed), visibility 0s linear !important; } #sidebar-box:is(:hover, :focus-within) > #sidebar-header, - #sidebar-box:is(:hover, :focus-within) > #sidebar { + #sidebar-box:is(:hover, :focus-within) > #sidebar, + #siebar-box:has(#sidebar-switcher-target.active) > #sidebar-header, + #siebar-box:has(#sidebar-switcher-target.active) > #sidebar { transition-delay: 0ms !important; } :root[inFullscreen="true"] #sidebar-box { @@ -9640,7 +9680,8 @@ box-shadow calc(var(--uc-autohide-fullscreen-sidebar-speed) + 0.05s) var(--animation-easing-function), visibility 0s linear !important; } - :root[inFullscreen="true"] #sidebar-box:is(:hover, :focus-within) { + :root[inFullscreen="true"] #sidebar-box:is(:hover, :focus-within), + :root[inFullscreen="true"] #sidebar-box:has(#sidebar-switcher-target.active) { transition-delay: 0ms !important; } } @@ -9653,7 +9694,8 @@ overflow: hidden; will-change: min-width, max-width; } - #sidebar-box:is(:hover, :focus-within) { + #sidebar-box:is(:hover, :focus-within), + #sidebar-box:has(#sidebar-switcher-target.active) { min-width: var(--uc-sidebar-activate-width) !important; max-width: var(--uc-sidebar-activate-width) !important; } @@ -9677,7 +9719,8 @@ var(--uc-autohide-sidebar-delay), max-width var(--uc-autohide-sidebar-speed) var(--animation-easing-function) var(--uc-autohide-sidebar-delay) !important; } - #sidebar-box:is(:hover, :focus-within) { + #sidebar-box:is(:hover, :focus-within), + #sidebar-box:has(#sidebar-switcher-target.active) { transition-delay: 0ms !important; } :root[inFullscreen="true"] #sidebar-box { @@ -9687,7 +9730,8 @@ :root[inFullscreen="true"] #sidebar-box[positionend="true"] { transition-property: margin-inline-end !important; } - :root[inFullscreen="true"] #sidebar-box:is(:hover, :focus-within) { + :root[inFullscreen="true"] #sidebar-box:is(:hover, :focus-within), + :root[inFullscreen="true"] #sidebar-box:has(#sidebar-switcher-target.active) { transition-delay: 0ms !important; } } @@ -10585,24 +10629,42 @@ list-style-image: url("../icons/broom.svg"); } /*= sidebarMenu-popup ========================================================*/ - #identity-popup-more-info { + #identity-popup-more-info.subviewbutton { list-style-image: url("chrome://global/skin/icons/info.svg"); } - #sidebar-switcher-bookmarks { + #identity-popup-more-info:is(menuitem) { + --menuitem-image: url("chrome://global/skin/icons/info.svg"); + } + #sidebar-switcher-bookmarks.subviewbutton { list-style-image: url("chrome://browser/skin/bookmark.svg"); } - #sidebar-switcher-history { + #sidebar-switcher-bookmarks:is(menuitem) { + --menuitem-image: url("chrome://browser/skin/bookmark.svg"); + } + #sidebar-switcher-history.subviewbutton { list-style-image: url("chrome://browser/skin/history.svg"); } - #sidebar-switcher-tabs { + #sidebar-switcher-history:is(menuitem) { + --menuitem-image: url("chrome://browser/skin/history.svg"); + } + #sidebar-switcher-tabs.subviewbutton { list-style-image: url("../icons/synced-tabs.svg"); } - #sidebar-reverse-position { + #sidebar-switcher-tabs:is(menuitem) { + --menuitem-image: url("../icons/synced-tabs.svg"); + } + #sidebar-reverse-position.subviewbutton { list-style-image: var(--uc-sidebar-icon-reverse); } - #sidebarMenu-popup > .subviewbutton[data-l10n-id="sidebar-menu-close"] { + #sidebar-reverse-position:is(menuitem) { + --menuitem-image: var(--uc-sidebar-icon-reverse); + } + #sidebarMenu-popup > *.subviewbutton[data-l10n-id="sidebar-menu-close"] { list-style-image: url("chrome://global/skin/icons/close.svg"); } + #sidebarMenu-popup > *:is(menuitem)[data-l10n-id="sidebar-menu-close"] { + --menuitem-image: url("chrome://global/skin/icons/close.svg"); + } /*= unified-extensions-view ===================================================*/ #unified-extensions-manage-extensions { list-style-image: url("chrome://mozapps/skin/extensions/extension.svg"); @@ -10649,6 +10711,7 @@ .openintabs-menuitem, #blockedPopupDontShowMessage, #BMB_viewBookmarksToolbar, + #sidebarMenu-popup, #context_openANewTab.tabmix-newtab-menu-icon { /* Color */ -moz-context-properties: fill, fill-opacity, stroke !important; @@ -10706,10 +10769,21 @@ .openintabs-menuitem, #blockedPopupDontShowMessage, #BMB_viewBookmarksToolbar, + #sidebarMenu-popup, #context_openANewTab.tabmix-newtab-menu-icon { background-position: var(--uc-menu-background-position) var(--context-menu-background-padding) center !important; padding-inline-start: var(--context-menu-background-padding) !important; } + #sidebarMenu-popup:has(menuitem) { + margin-inline-start: calc( + (var(--context-menu-background-padding) + var(--panel-shadow-margin, 4px)) * -1 + ) !important; + } + :not(menu, #ContentSelectDropdown, #context-navigation) + > #sidebarMenu-popup:has(menuitem) + > menuitem:not(.menuitem-iconic, .bookmark-item, .in-menulist, [checked="true"]) { + padding-inline-start: 28px !important; + } /* Menubar */ @supports -moz-bool-pref("userChrome.icon.global_menubar") { #main-menubar > menu { @@ -10861,6 +10935,7 @@ .openintabs-menuitem, #blockedPopupDontShowMessage, #BMB_viewBookmarksToolbar, + #sidebarMenu-popup, #context_openANewTab.tabmix-newtab-menu-icon { background-position: left var(--context-menu-background-padding) center !important; padding-inline-start: 0 !important; @@ -10886,6 +10961,7 @@ .openintabs-menuitem, #blockedPopupDontShowMessage, #BMB_viewBookmarksToolbar, + #sidebarMenu-popup, #context_openANewTab.tabmix-newtab-menu-icon { padding-inline-start: var(--menu-background-padding-default) !important; margin-left: 0 !important; @@ -11616,7 +11692,7 @@ --menuitem-image: url("../icons/checkmark-circle.svg"); } .downloadUseSystemDefaultMenuItem { - --menuitem-image: url("chrome://browser/skin/open.svg"); + --menuitem-image: url("../icons/toolbarButton-upload.svg"); } .downloadAlwaysUseSystemDefaultMenuItem { /* checkbox */ @@ -11769,7 +11845,7 @@ .pageActionContextMenuItem.extensionPinned.extensionUnpinned.manageExtensionItem { --menuitem-image: url("chrome://global/skin/icons/settings.svg"); } - .pageActionContextMenuItem.extensionPinned.extensionUnpinned .removeExtensionItem { + .pageActionContextMenuItem.extensionPinned.extensionUnpinned.removeExtensionItem { --menuitem-image: url("chrome://global/skin/icons/delete.svg"); } /*= customizationPanelItemContextMenu ========================================*/ @@ -11946,6 +12022,13 @@ .unified-extensions-context-menu-report-extension { --menuitem-image: url("../icons/send.svg"); } + /*= urlbarView-result-menu ===================================================*/ + .urlbarView-result-menuitem[data-command="dismiss"] { + --menuitem-image: url("chrome://global/skin/icons/delete.svg"); + } + .urlbarView-result-menuitem[data-command="help"] { + --menuitem-image: url("chrome://global/skin/icons/info.svg"); + } } @supports -moz-bool-pref("userChrome.icon.global_menubar") { /*= main-menubar =============================================================*/ @@ -11987,7 +12070,7 @@ --menuitem-image: url("chrome://browser/skin/privateBrowsing.svg"); } #menu_openFile { - --menuitem-image: url("chrome://browser/skin/open.svg"); + --menuitem-image: url("../icons/toolbarButton-upload.svg"); } #menu_savePage { --menuitem-image: url("../icons/toolbarButton-download.svg"); @@ -12125,6 +12208,9 @@ #hiddenTabsMenu { --menuitem-image: url("../icons/eye-hide.svg"); } + #menu_searchHistory { + --menuitem-image: url("chrome://global/skin/icons/search-glass.svg"); + } #historyUndoMenu { --menuitem-image: url("chrome://browser/skin/tab.svg"); } @@ -12149,6 +12235,9 @@ #menu_bookmarkThisPage[data-l10n-id="menu-bookmark-edit"] { --menuitem-image: url("chrome://browser/skin/bookmark.svg"); } + #menu_searchBookmarks { + --menuitem-image: url("chrome://global/skin/icons/search-glass.svg"); + } /*= menu_ToolsPopup ==========================================================*/ #menu_openDownloads { --menuitem-image: url("chrome://browser/skin/downloads/downloads.svg"); @@ -12261,6 +12350,11 @@ #orgUndo { --menuitem-image: url("../icons/undo.svg"); } + @supports -moz-bool-pref("userChrome.icon.menu.full") { + #orgRedo { + --menuitem-image: url("../icons/redo.svg"); + } + } #orgCut { --menuitem-image: url("chrome://browser/skin/edit-cut.svg"); } @@ -12288,13 +12382,18 @@ } /*= maintenanceButtonPopup ===================================================*/ #backupBookmarks { - --menuitem-image: url("chrome://devtools/skin/images/datastore.svg"); + --menuitem-image: url("../icons/datastore.svg"); + } + @supports -moz-bool-pref("userChrome.icon.menu.full") { + #fileRestoreMenu { + --menuitem-image: url("../icons/datarestore.svg"); + } } #fileImport { --menuitem-image: url("../icons/toolbarButton-download.svg"); } #fileExport { - --menuitem-image: url("chrome://browser/skin/open.svg"); + --menuitem-image: url("../icons/toolbarButton-upload.svg"); } #browserImport { --menuitem-image: url("chrome://browser/skin/import.svg"); diff --git a/css/leptonContent.css b/css/leptonContent.css index 63f9a1c..1edffd5 100644 --- a/css/leptonContent.css +++ b/css/leptonContent.css @@ -1696,6 +1696,12 @@ /** Fully Proton Mode *********************************************************/ @supports -moz-bool-pref("userContent.page.proton") { /*= Common contents ==========================================================*/ /*= abouts' common ===========================================================*/ + @-moz-document url-prefix("about:"), url-prefix("chrome://pippki/content/"), url-prefix("chrome://browser/content/") + { + xul|treecols { + border-bottom-color: var(--in-content-box-border-color) !important; + } + } @-moz-document url-prefix("about:plugins"), url-prefix("about:cache"), url-prefix("about:checkerboard"), url-prefix("about:sync-log"), url-prefix("about:memory"), regexp("^(((jar:)?file:///)|(chrome://)).*/$") { /* Base */ @@ -2059,6 +2065,22 @@ height: 48px; } } + @-moz-document url-prefix("about:preferences") { + #handlersView > richlistitem:hover, + #translations-manage-install-list > .translations-manage-language:hover { + background-color: var(--in-content-item-hover); + color: var(--in-content-item-hover-text); + } + #handlersView > richlistitem[selected="true"], + #translations-manage-install-list > .translations-manage-language[selected="true"] { + background-color: var(--in-content-item-selected); + color: var(--in-content-item-selected-text); + } + #handlersView > richlistitem:nth-child(even):not([selected="true"], :hover), + #translations-manage-install-list > .translations-manage-language:nth-child(even):not([selected="true"], :hover) { + background-color: var(--in-content-box-background-odd); + } + } /*= chrome://browser/content/places/places.xhtml =============================*/ @-moz-document url("chrome://browser/content/places/places.xhtml") { @@ -3276,7 +3298,7 @@ --menuitem-image: url("../icons/checkmark-circle.svg"); } .downloadUseSystemDefaultMenuItem { - --menuitem-image: url("chrome://browser/skin/open.svg"); + --menuitem-image: url("../icons/toolbarButton-upload.svg"); } .downloadAlwaysUseSystemDefaultMenuItem { /* checkbox */ @@ -3412,6 +3434,11 @@ #orgUndo { --menuitem-image: url("../icons/undo.svg"); } + @supports -moz-bool-pref("userChrome.icon.menu.full") { + #orgRedo { + --menuitem-image: url("../icons/redo.svg"); + } + } #orgCut { --menuitem-image: url("chrome://browser/skin/edit-cut.svg"); } @@ -3439,13 +3466,18 @@ } /*= maintenanceButtonPopup ===================================================*/ #backupBookmarks { - --menuitem-image: url("chrome://devtools/skin/images/datastore.svg"); + --menuitem-image: url("../icons/datastore.svg"); + } + @supports -moz-bool-pref("userChrome.icon.menu.full") { + #fileRestoreMenu { + --menuitem-image: url("../icons/datarestore.svg"); + } } #fileImport { --menuitem-image: url("../icons/toolbarButton-download.svg"); } #fileExport { - --menuitem-image: url("chrome://browser/skin/open.svg"); + --menuitem-image: url("../icons/toolbarButton-upload.svg"); } #browserImport { --menuitem-image: url("chrome://browser/skin/import.svg"); diff --git a/icons/datarestore.svg b/icons/datarestore.svg new file mode 100644 index 0000000..34be076 --- /dev/null +++ b/icons/datarestore.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/icons/datastore.svg b/icons/datastore.svg new file mode 100644 index 0000000..ee87f8c --- /dev/null +++ b/icons/datastore.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/icons/toolbarButton-upload.svg b/icons/toolbarButton-upload.svg new file mode 100644 index 0000000..723f6fb --- /dev/null +++ b/icons/toolbarButton-upload.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/autohide/sidebar/_overlap.scss b/src/autohide/sidebar/_overlap.scss index 4ad310a..89727e8 100644 --- a/src/autohide/sidebar/_overlap.scss +++ b/src/autohide/sidebar/_overlap.scss @@ -6,7 +6,8 @@ will-change: min-width, max-width; } -#sidebar-box:is(:hover, :focus-within) { +#sidebar-box:is(:hover, :focus-within), +#sidebar-box:has(#sidebar-switcher-target.active) { --uc-sidebar-shadow-width: calc(var(--uc-sidebar-activate-width) - var(--uc-sidebar-width)); > { @@ -46,7 +47,8 @@ transition: min-width var(--uc-autohide-sidebar-speed) var(--animation-easing-function) var(--uc-autohide-sidebar-delay) !important; } - #sidebar-box:is(:hover, :focus-within) { + #sidebar-box:is(:hover, :focus-within), + #siebar-box:has(#sidebar-switcher-target.active) { transition: margin-inline-start var(--uc-autohide-sidebar-speed) var(--animation-easing-function), opacity var(--uc-autohide-sidebar-speed) ease-in-out, box-shadow var(--uc-autohide-sidebar-speed) var(--animation-easing-function) var(--uc-autohide-sidebar-speed), visibility 0s linear !important; > { @@ -63,7 +65,8 @@ box-shadow calc(var(--uc-autohide-fullscreen-sidebar-speed) + 0.05s) var(--animation-easing-function), visibility 0s linear !important; - &:is(:hover, :focus-within) { + &:is(:hover, :focus-within), + &:has(#sidebar-switcher-target.active) { transition-delay: 0ms !important; } } diff --git a/src/autohide/sidebar/_static.scss b/src/autohide/sidebar/_static.scss index 60f848a..3524e72 100644 --- a/src/autohide/sidebar/_static.scss +++ b/src/autohide/sidebar/_static.scss @@ -3,7 +3,8 @@ overflow: hidden; will-change: min-width, max-width; - &:is(:hover, :focus-within) { + &:is(:hover, :focus-within), + &:has(#sidebar-switcher-target.active) { min-width: var(--uc-sidebar-activate-width) !important; max-width: var(--uc-sidebar-activate-width) !important; } @@ -35,7 +36,8 @@ transition: min-width var(--uc-autohide-sidebar-speed) var(--animation-easing-function) var(--uc-autohide-sidebar-delay), max-width var(--uc-autohide-sidebar-speed) var(--animation-easing-function) var(--uc-autohide-sidebar-delay) !important; - &:is(:hover, :focus-within) { + &:is(:hover, :focus-within), + &:has(#sidebar-switcher-target.active) { transition-delay: 0ms !important; } } @@ -46,7 +48,8 @@ &[positionend="true"] { transition-property: margin-inline-end !important; } - &:is(:hover, :focus-within) { + &:is(:hover, :focus-within), + &:has(#sidebar-switcher-target.active) { transition-delay: 0ms !important; } } diff --git a/src/compatibility/_os.scss b/src/compatibility/_os.scss index 1f3a14b..b8e04f3 100644 --- a/src/compatibility/_os.scss +++ b/src/compatibility/_os.scss @@ -240,3 +240,35 @@ $_os_linuxDefaultShadow: 0 0 4px rgba(128, 128, 142, 0.5); } } } + +/*= Windows - Classic Theme #734 =============================================*/ +// It occurs by #titlebar { appearance: none !important; } above +// https://github.com/mozilla/gecko-dev/blob/4334cb91a3762ac497c50a1c7b86b8004690229e/browser/themes/windows/browser.css#L96-L109 +// https://github.com/mozilla/gecko-dev/blob/4334cb91a3762ac497c50a1c7b86b8004690229e/browser/themes/windows/browser.css#L164-L174 +// https://github.com/mozilla/gecko-dev/blob/4334cb91a3762ac497c50a1c7b86b8004690229e/browser/themes/windows/browser-aero.css#L71-L81 +@include OS($win) { + @media (-moz-windows-classic) { + :root[tabsintitlebar][sizemode="normal"]:not(:-moz-lwtheme) #navigator-toolbox { + appearance: auto !important; + -moz-default-appearance: -moz-window-titlebar !important;; + } + + :root[tabsintitlebar][sizemode="maximized"]:not(:-moz-lwtheme) #navigator-toolbox { + appearance: auto !important;; + -moz-default-appearance:-moz-window-titlebar !important;; + } + + :root[tabsintitlebar]:not(:-moz-lwtheme) #tabbrowser-arrowscrollbox { + color: -moz-dialogtext !important; + } + + :root[tabsintitlebar][sizemode="normal"] #navigator-toolbox:-moz-lwtheme { + background-image: linear-gradient( + to bottom, + ThreeDLightShadow 0, ThreeDLightShadow 1px, + ThreeDHighlight 1px, ThreeDHighlight 2px, + ActiveBorder 2px, ActiveBorder 4px, transparent 4px + ) !important; + } + } +} diff --git a/src/contents/proton_contents/_about_preferences.scss b/src/contents/proton_contents/_about_preferences.scss index 20e6894..6dcd5f3 100644 --- a/src/contents/proton_contents/_about_preferences.scss +++ b/src/contents/proton_contents/_about_preferences.scss @@ -1,3 +1,21 @@ @include moz-document(url-prefix "chrome://browser/content") { @import "../../theme/proton_chrome/sanitize_everything"; } + +@include moz-document(url-prefix "about:preferences") { + // Odd table #737 + #handlersView > richlistitem, + #translations-manage-install-list > .translations-manage-language { + &:hover { + background-color: var(--in-content-item-hover); + color: var(--in-content-item-hover-text); + } + &[selected="true"] { + background-color: var(--in-content-item-selected); + color: var(--in-content-item-selected-text); + } + &:nth-child(even):not([selected="true"], :hover) { + background-color: var(--in-content-box-background-odd); + } + } +} diff --git a/src/contents/proton_contents/_proton_commons.scss b/src/contents/proton_contents/_proton_commons.scss index ee2e7b6..510dddc 100644 --- a/src/contents/proton_contents/_proton_commons.scss +++ b/src/contents/proton_contents/_proton_commons.scss @@ -1,4 +1,17 @@ /*= abouts' common ===========================================================*/ +@include moz-document( + url-prefix "about:", + url-prefix "chrome://pippki/content/", + url-prefix "chrome://browser/content/" +) { + // The first row separator line #736 + xul|treecols { + // border-bottom: 1px solid var(--in-content-border-color); + border-bottom-color: var(--in-content-box-border-color) !important; + } +} + + @include moz-document( url-prefix "about:plugins", url-prefix "about:cache", diff --git a/src/icons/_global_menu.scss b/src/icons/_global_menu.scss index 03b199d..deb4025 100644 --- a/src/icons/_global_menu.scss +++ b/src/icons/_global_menu.scss @@ -19,7 +19,7 @@ #menu_openLocation { } #menu_openFile { - --menuitem-image: url("chrome://browser/skin/open.svg"); + --menuitem-image: url("../icons/toolbarButton-upload.svg"); } #menu_close { } @@ -189,6 +189,9 @@ menu.share-tab-url-item { #hiddenTabsMenu { --menuitem-image: url("../icons/eye-hide.svg") } +#menu_searchHistory { + --menuitem-image: url("chrome://global/skin/icons/search-glass.svg"); +} #historyUndoMenu { --menuitem-image: url("chrome://browser/skin/tab.svg"); } @@ -217,6 +220,10 @@ menu.share-tab-url-item { --menuitem-image: url("chrome://browser/skin/bookmark.svg"); } +#menu_searchBookmarks { + --menuitem-image: url("chrome://global/skin/icons/search-glass.svg"); +} + #bookmarksToolbarFolderMenu { } #menu_unsortedBookmarks { diff --git a/src/icons/_library.scss b/src/icons/_library.scss index a65d505..7ada433 100644 --- a/src/icons/_library.scss +++ b/src/icons/_library.scss @@ -16,6 +16,9 @@ --menuitem-image: url("../icons/undo.svg"); } #orgRedo { + @include Option("userChrome.icon.menu.full") { + --menuitem-image: url("../icons/redo.svg"); + } } #orgCut { @@ -49,16 +52,19 @@ /*= maintenanceButtonPopup ===================================================*/ #backupBookmarks { - --menuitem-image: url("chrome://devtools/skin/images/datastore.svg"); + --menuitem-image: url("../icons/datastore.svg"); } #fileRestoreMenu { + @include Option("userChrome.icon.menu.full") { + --menuitem-image: url("../icons/datarestore.svg"); + } } #fileImport { --menuitem-image: url("../icons/toolbarButton-download.svg"); } #fileExport { - --menuitem-image: url("chrome://browser/skin/open.svg"); + --menuitem-image: url("../icons/toolbarButton-upload.svg"); } #browserImport { diff --git a/src/icons/_panel.scss b/src/icons/_panel.scss index 007de7d..ce8e55e 100644 --- a/src/icons/_panel.scss +++ b/src/icons/_panel.scss @@ -469,28 +469,40 @@ panelMenuBookmarkThisPage[starred] { } /*= sidebarMenu-popup ========================================================*/ +@mixin _subviewMenuitem($icon, $selector: null) { + &.subviewbutton#{$selector} { + list-style-image: $icon; + } + &:is(menuitem)#{$selector} { + --menuitem-image: #{$icon}; + } +} + #identity-popup-more-info { - list-style-image: url("chrome://global/skin/icons/info.svg"); + @include _subviewMenuitem(url("chrome://global/skin/icons/info.svg")); } #sidebar-switcher-bookmarks { - list-style-image: url("chrome://browser/skin/bookmark.svg"); + @include _subviewMenuitem(url("chrome://browser/skin/bookmark.svg")); } #sidebar-switcher-history { - list-style-image: url("chrome://browser/skin/history.svg"); + @include _subviewMenuitem(url("chrome://browser/skin/history.svg")); } #sidebar-switcher-tabs { - list-style-image: url("../icons/synced-tabs.svg"); + @include _subviewMenuitem(url("../icons/synced-tabs.svg")); } #sidebar-reverse-position { - list-style-image: var(--uc-sidebar-icon-reverse); + @include _subviewMenuitem(var(--uc-sidebar-icon-reverse)); } -#sidebarMenu-popup > .subviewbutton[data-l10n-id="sidebar-menu-close"] { - list-style-image: url("chrome://global/skin/icons/close.svg"); +#sidebarMenu-popup > * { + @include _subviewMenuitem( + url("chrome://global/skin/icons/close.svg"), + "[data-l10n-id=\"sidebar-menu-close\"]" + ); } /*= unified-extensions-view ===================================================*/ diff --git a/src/icons/context_menu/_downloads.scss b/src/icons/context_menu/_downloads.scss index 957853d..4273633 100644 --- a/src/icons/context_menu/_downloads.scss +++ b/src/icons/context_menu/_downloads.scss @@ -9,7 +9,7 @@ --menuitem-image: url("../icons/checkmark-circle.svg"); } .downloadUseSystemDefaultMenuItem { - --menuitem-image: url("chrome://browser/skin/open.svg"); + --menuitem-image: url("../icons/toolbarButton-upload.svg"); } .downloadAlwaysUseSystemDefaultMenuItem { /* checkbox */ diff --git a/src/icons/context_menu/_others.scss b/src/icons/context_menu/_others.scss index 361a821..4df45f7 100644 --- a/src/icons/context_menu/_others.scss +++ b/src/icons/context_menu/_others.scss @@ -42,7 +42,7 @@ &.manageExtensionItem { --menuitem-image: url("chrome://global/skin/icons/settings.svg"); } - .removeExtensionItem { + &.removeExtensionItem { --menuitem-image: url("chrome://global/skin/icons/delete.svg"); } } @@ -240,3 +240,13 @@ menuitem.searchbar-clear-history { .unified-extensions-context-menu-report-extension { --menuitem-image: url("../icons/send.svg"); } + +/*= urlbarView-result-menu ===================================================*/ +.urlbarView-result-menuitem { + &[data-command="dismiss"] { + --menuitem-image: url("chrome://global/skin/icons/delete.svg"); + } + &[data-command="help"] { + --menuitem-image: url("chrome://global/skin/icons/info.svg"); + } +} diff --git a/src/icons/layout/_menu.scss b/src/icons/layout/_menu.scss index 2a390ae..c4c8276 100644 --- a/src/icons/layout/_menu.scss +++ b/src/icons/layout/_menu.scss @@ -57,6 +57,12 @@ $_layoutCommonMenus: ( @include _layoutInitPaddingMenus { @include _layout_init_padding; } +#sidebarMenu-popup:has(menuitem) { + @include _layout_init_margin; + :not(menu, #ContentSelectDropdown, #context-navigation) > & > #{$_iconMenuitem} { + padding-inline-start: 28px !important; + } +} /* Menubar */ @include Option("userChrome.icon.global_menubar") { diff --git a/src/icons/layout/_menu_common.scss b/src/icons/layout/_menu_common.scss index 661481d..f6a7a9b 100644 --- a/src/icons/layout/_menu_common.scss +++ b/src/icons/layout/_menu_common.scss @@ -31,7 +31,7 @@ $_libraryMenuitem: "menupopup:is(#organizeButtonPopup, #maintenanceButtonPopup) $_libraryMenu: "menupopup:is(#viewMenuPopup, #maintenanceButtonPopup) > #{$_iconMenu}"; $_sendTabMenuPopup: "#context_sendTabToDevicePopupMenu, #context-sendpagetodevice-popup, #context-sendlinktodevice-popup"; $_otherPopupMenuitem: "menupopup:is(#{$_sendTabMenuPopup}, #frame > menupopup) > menuitem"; -$_otherIconMenu: ".openintabs-menuitem, #blockedPopupDontShowMessage, #BMB_viewBookmarksToolbar"; +$_otherIconMenu: ".openintabs-menuitem, #blockedPopupDontShowMessage, #BMB_viewBookmarksToolbar, #sidebarMenu-popup"; //-- Mixin --------------------------------------------------------------------- // Init Menu @@ -79,6 +79,10 @@ $_initialMenus: $_initialMenus + "," + background-position: var(--uc-menu-background-position) var(--context-menu-background-padding) center !important; padding-inline-start: var(--context-menu-background-padding) !important; } +@mixin _layout_init_margin() { + // Fix sidebar position + margin-inline-start: calc((var(--context-menu-background-padding) + var(--panel-shadow-margin, 4px)) * -1) !important +} @mixin _layout_win_native_menu_popup() { @include NativeMenuPopup { diff --git a/src/theme/_fully_color.scss b/src/theme/_fully_color.scss index bd762ec..f5597fa 100644 --- a/src/theme/_fully_color.scss +++ b/src/theme/_fully_color.scss @@ -5,9 +5,10 @@ html#main-window menupopup:not(.in-menulist) { --menu-background-color: var(--arrowpanel-background, var(--in-content-button-background)) !important; --menu-border-color: var( - --toolbarbutton-active-background, - var(--button-active-bgcolor, var(--card-outline-color)) - ) !important; + --panel-separator-color, + var(--toolbarbutton-active-background, + var(--button-active-bgcolor, var(--card-outline-color)) + )) !important; --menuitem-hover-background-color: var( --toolbarbutton-hover-background, var(--button-hover-bgcolor, var(--in-content-button-background-hover)) @@ -30,9 +31,11 @@ html#main-window menupopup:not(.in-menulist) { --panel-border-color: var(--menu-border-color) !important; &:not([placespopup]) menuseparator, + &:not([placespopup]) menuseparator::before, &[placespopup] menuseparator::before { + // #732 // toolbarbutton menupopup[placespopup] menuseparator::before - border-top: 1px solid var(--menu-border-color) !important; + border-color: var(--menu-border-color) !important; } menu, diff --git a/src/theme/system_default_theme/_win10.scss b/src/theme/system_default_theme/_win10.scss index 1bd608e..0473583 100644 --- a/src/theme/system_default_theme/_win10.scss +++ b/src/theme/system_default_theme/_win10.scss @@ -320,7 +320,7 @@ .titlebar-color { @include AccentColor { color: $accentTextColor; - background-color: $accentColor; + background-color: $accentColor; // TODO: Use $accentBorder } } diff --git a/src/utils/_accent_color.scss b/src/utils/_accent_color.scss index 9da9896..abe12b1 100644 --- a/src/utils/_accent_color.scss +++ b/src/utils/_accent_color.scss @@ -4,6 +4,7 @@ // https://github.com/mozilla/gecko-dev/commit/4c5f20179e8d3b963dc588efb9dc2c7b49e7bb31 // // Need to hard coded #437 +$accentBorder: ActiveBorder; $accentColor: AccentColor; $accentTextColor: AccentColorText; @@ -11,6 +12,8 @@ $accentTextColor: AccentColorText; @content; @include Option("userChrome.compatibility.accent_color") { + $accentBorder: -moz-accent-color !global; + @if $mode == "Highlight" { $accentColor: Highlight !global; $accentTextColor: HighlightText !global; @@ -22,6 +25,7 @@ $accentTextColor: AccentColorText; @content; } + $accentBorder: ActiveBorder !global; $accentColor: AccentColor !global; $accentTextColor: AccentColorText !global; } diff --git a/yarn.lock b/yarn.lock index 922daca..d7b0c91 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2115,14 +2115,14 @@ sass@^1.56.1: source-map-js ">=0.6.2 <2.0.0" semver@^6.0.0, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== semver@^7.3.5: - version "7.3.8" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" - integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== + version "7.5.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" + integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== dependencies: lru-cache "^6.0.0"