diff --git a/CREDITS b/CREDITS index 0a4527e..6c59f6d 100644 --- a/CREDITS +++ b/CREDITS @@ -19,6 +19,17 @@ N: Yunsup Sim E: pedogunu@gmail.com W: https://ethansup.net +---------- + Sponsors + +N: Jani Haiko +E: haiko.jani@gmail.com +W: https://github.com/ojaha065 + +N: nikkehtine +E: nikkehtine@int.pl +W: https://github.com/nikkehtine + ---------- Contributors diff --git a/css/leptonChrome.css b/css/leptonChrome.css index cd9eb72..bd3c231 100644 --- a/css/leptonChrome.css +++ b/css/leptonChrome.css @@ -1422,6 +1422,7 @@ /* or var(--lwt-sidebar-highlight-background-color) If this value is used, unset is required in the default theme. */ + background-color: var(--menuitem-hover-background-color) !important; } /* Fallback background - Set to Legacy. It will be removed Next update @@ -1452,17 +1453,17 @@ } /*== Info Bar Color ==========================================================*/ .container.infobar { - background-color: var(--urlbar-box-bgcolor); + background-color: var(--urlbar-box-bgcolor) !important; } .notification-button { - background-color: var(--button-bgcolor); + background-color: var(--button-bgcolor) !important; } .notification-button:hover { - background-color: var(--button-hover-bgcolor); + background-color: var(--button-hover-bgcolor) !important; } .notification-button:hover:active { - background-color: var(--button-active-bgcolor); + background-color: var(--button-active-bgcolor) !important; } html|button.ghost-button:not(.semi-transparent):enabled:hover { @@ -2940,7 +2941,9 @@ #protections-popup-footer .protections-popup-footer-button, #protections-popup-multiView .panel-subview-footer-button, #identity-popup-clear-sitedata-button, - #identity-popup-more-info { + #identity-popup-more-info, + #unified-extensions-manage-extensions, + .unified-extensions-item-open-menu { cursor: pointer !important; } @@ -3270,21 +3273,34 @@ } @supports -moz-bool-pref("userChrome.rounding.square_button") { :root { - --toolbarbutton-border-radius: 0 !important; + --urlbar-icon-border-radius: 0 !important; + /* Original: calc(var(--toolbarbutton-border-radius) - 1px); */ + } + + .toolbarbutton-1, + .toolbarbutton-icon, + .panel-info-button, + .searchbar-engine-one-off-item, + .urlbarView-button, + .urlbarView-tip-button, + .urlbarView-action, + toolbarbutton.bookmark-item:not(.subviewbutton), + #sidebar-switcher-target { + --toolbarbutton-border-radius: 0; /* Original: 4px */ } - button { + button, + findbar toolbarbutton, + .notification-button { border-radius: 0 !important; } } -@supports -moz-bool-pref("userChrome.rounding.square_tab") or -moz-bool-pref("userChrome.round.square_button") { +@supports -moz-bool-pref("userChrome.rounding.square_tab") or -moz-bool-pref("userChrome.rounding.square_button") { /* Fix Tab bar button radius */ - #TabsToolbar .toolbarbutton-1:not(#tabs-newtab-button) > .toolbarbutton-icon, - #TabsToolbar .toolbarbutton-1:not(#tabs-newtab-button) > .toolbarbutton-text, - #TabsToolbar .toolbarbutton-1:not(#tabs-newtab-button) > .toolbarbutton-badge-stack, + #TabsToolbar .toolbarbutton-1:not(#tabs-newtab-button), .tab-close-button { - --tab-border-radius: var(--toolbarbutton-border-radius) !important; + --tab-border-radius: var(--toolbarbutton-border-radius); } } @supports -moz-bool-pref("userChrome.rounding.square_panel") { @@ -3318,6 +3334,17 @@ html|input { border-radius: 0 !important; } + + #urlbar-input-container, + #urlbar-background, + #searchbar { + --toolbarbutton-border-radius: 0; + } +} +@supports -moz-bool-pref("userChrome.rounding.square_urlView_item") { + .urlbarView-row-inner { + --toolbarbutton-border-radius: 0; + } } @supports -moz-bool-pref("userChrome.rounding.square_checklabel") { .checkbox-check, @@ -3775,7 +3802,7 @@ #urlbar[breakout][breakout-extend] > #urlbar-input-container { height: var(--urlbar-height) !important; padding-block: 0 !important; - padding-inline: 0 !important; + padding-inline: var(--urlbar-container-padding, 0px) !important; } #urlbar[breakout][breakout-extend] > #urlbar-background { @@ -3796,7 +3823,7 @@ /*= BookMark Bar - Reduce Height =============================================*/ @supports -moz-bool-pref("userChrome.padding.bookmarkbar") { :root[uidensity="compact"] #PersonalToolbar toolbarbutton { - margin-top: 0px; + margin-top: 0px !important; /* Original: 2px */ } } @@ -4018,7 +4045,7 @@ /*= Panel - Reduce padding ===================================================*/ @supports -moz-bool-pref("userChrome.padding.panel") { :root { - --arrowpanel-menuitem-margin: 0 var(--arrowpanel-menuicon-padding) !important; + --arrowpanel-menuitem-margin: 0 var(--arrowpanel-menuicon-padding, 8px) !important; /* Original: 0 8px */ --arrowpanel-menuitem-padding-block: 5px !important; /* Original: 8px */ @@ -4082,7 +4109,7 @@ /* not cut off for Protection popup Footer on windows */ :root[uidensity="compact"] #protections-popup-multiView #protections-popup-footer { - padding: 3px 0 10px !important; + padding: 0 !important; } /* Button and disabled category in Protection popup */ @@ -6331,7 +6358,7 @@ @supports not -moz-bool-pref("userChrome.tabbar.multi_row") { #TabsToolbar:not([multibar]) { - overflow: hidden; + overflow: clip; /* Prevent toolbar area over */ } } @@ -6868,7 +6895,9 @@ } } /*= Selected Tab - Photon like contextline ===================================*/ -@supports -moz-bool-pref("userChrome.tab.photon_like_contextline") { +@supports -moz-bool-pref("userChrome.tab.photon_like_contextline") or -moz-bool-pref("userChrome.tab.static_separator") or -moz-bool-pref( + "userChrome.tab.bar_separator" + ) { :root[lwtheme-mozlightdark] #tabbrowser-tabs, :root[style*="--lwt-accent-color: rgb(240, 240, 244); --lwt-text-color: rgba(21, 20, 26);"], :root[style*="--lwt-accent-color: rgb(28, 27, 34); --lwt-text-color: rgba(251, 251, 254);"] { @@ -6881,6 +6910,8 @@ /* -moz-accent-color */ } } +} +@supports -moz-bool-pref("userChrome.tab.photon_like_contextline") { .tab-context-line { display: -moz-inline-box !important; height: 2px !important; @@ -7108,6 +7139,14 @@ .tab-stack::before { opacity: 0 !important; } + + :root:not([uidensity="compact"]) #tabs-newtab-button > .toolbarbutton-icon { + margin-left: 2px; + } + + :root[uidensity="compact"] #tabs-newtab-button > .toolbarbutton-icon { + margin-left: 1px; + } } /* Animate */ @media (prefers-reduced-motion: no-preference) { @@ -7188,6 +7227,53 @@ } } } +/*= Unselected Tab - Bar Separator ===========================================*/ +@supports -moz-bool-pref("userChrome.tab.bar_separator") { + .tab-stack::before { + /* Box Model */ + content: ""; + display: block; + position: absolute; + /* Position */ + top: 50%; + left: 0%; + transform: translateX(calc((var(--inline-tab-padding) - 5px) / 2)) translateY(calc(-50% + var(--tab-block-margin))); + z-index: 1; + /* Bar shape */ + width: 3px; + height: 20px; + /* Bar Color */ + background-color: var(--uc-bar-separator-color, var(--tab-line-color, var(--lwt-tab-line-color, #0a84ff))); + } + @media (prefers-reduced-motion: no-preference) { + .tab-stack::before { + transition-property: opacity, background-color; + transition-duration: 0.2s; + transition-timing-function: var(--animation-easing-function); + /* cubic-bezier(.07, .95, 0, 1) */ + } + } + + :root[sessionrestored] .tabbrowser-tab[busy] .tab-stack::before { + --uc-bar-separator-color: currentColor; + opacity: 0.7; + } + :root[sessionrestored] .tabbrowser-tab[busy][progress] .tab-stack::before { + --uc-bar-separator-color: var(--tab-loading-fill); + opacity: 1; + } + :root[sessionrestored] + #TabsToolbar[brighttext] + .tabbrowser-tab[busy][progress]:not([selected="true"]) + .tab-stack::before { + --uc-bar-separator-color: var(--lwt-tab-loading-fill-inactive, #84c1ff); + } + @supports -moz-bool-pref("userChrome.tab.unloaded") { + :root[sessionrestored] .tabbrowser-tab[pending] .tab-stack::before { + opacity: 0.7; + } + } +} /*= New tab button ============================================================*/ /*= New tab button - Looks like tab ==========================================*/ @supports -moz-bool-pref("userChrome.tab.newtab_button_like_tab") { @@ -7323,18 +7409,10 @@ :root:not([uidensity="touch"]) #tabs-newtab-button > .toolbarbutton-icon { --toolbarbutton-inner-padding: calc((var(--tab-min-height) - 16px) / 2 - 1px); } - - :root:not([uidensity="compact"]) #tabs-newtab-button > .toolbarbutton-icon { - margin-left: 2px; - } - - :root[uidensity="compact"] #tabs-newtab-button > .toolbarbutton-icon { - margin-left: 1px; - } } /*= Unloaded Tab - Contents Opacity ===========================================*/ @supports -moz-bool-pref("userChrome.tab.unloaded") { - #tabbrowser-tabs .tabbrowser-tab[pending] .tab-content { + .tabbrowser-tab[pending] .tab-content { opacity: 0.7; } } @@ -7629,8 +7707,7 @@ .tabbrowser-tab:not([pinned], [sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked]) .tab-label-container[labeldirection="rtl"], .tabbrowser-tab:not([pinned], [sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked]) - .tab-label-container - :not([labeldirection]):-moz-locale-dir(rtl) { + .tab-label-container:not([labeldirection]):-moz-locale-dir(rtl) { --uc-sound-tab-label-position-x: -4px; } .tabbrowser-tab:not([pinned], [sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked]) @@ -7650,8 +7727,7 @@ .tabbrowser-tab:not([pinned], [sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked]) .tab-label-container[labeldirection="rtl"], .tabbrowser-tab:not([pinned], [sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked]) - .tab-label-container - :not([labeldirection]):-moz-locale-dir(rtl) { + .tab-label-container:not([labeldirection]):-moz-locale-dir(rtl) { --uc-sound-tab-label-position-x: -4px; } .tabbrowser-tab:not([pinned], [sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked]) @@ -7680,7 +7756,7 @@ --uc-sound-tab-no-icon-label-position-x: 3px; } .tabbrowser-tab .tab-label-container[labeldirection="rtl"], - .tabbrowser-tab .tab-label-container :not([labeldirection]):-moz-locale-dir(rtl) { + .tabbrowser-tab .tab-label-container:not([labeldirection]):-moz-locale-dir(rtl) { --uc-sound-tab-no-icon-position-x: 0.5px; --uc-sound-tab-no-icon-label-position-x: -3px; } @@ -7988,6 +8064,13 @@ display: block !important; } } +/*= Url View - Item Focus Border =============================================*/ +@supports -moz-bool-pref("userChrome.urlView.focus_item_border") { + .urlbarView-row:not([type="tip"], [type="dynamic"])[selected] > .urlbarView-row-inner, + .urlbarView-row-inner[selected] { + box-shadow: 3px 0 var(--toolbar-field-focus-border-color) inset !important; + } +} /** Panel UI ******************************************************************/ @supports -moz-bool-pref("userChrome.panel.remove_strip") { #appMenu-fxa-separator { @@ -8476,6 +8559,50 @@ .tab-secondary-label { overflow: hidden; } + + @supports -moz-bool-pref("userChrome.tab.sound_with_favicons") { + @supports not -moz-bool-pref("userChrome.hidden.tab_icon") { + .tabbrowser-tab:not([sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked])[pinned] + .tab-label-container[labeldirection="ltr"], + .tabbrowser-tab:not([sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked])[pinned] + .tab-label-container:not([labeldirection]):-moz-locale-dir(ltr) { + --uc-sound-tab-label-position-x: 2px; + } + .tabbrowser-tab:not([sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked])[pinned] + .tab-label-container[labeldirection="rtl"], + .tabbrowser-tab:not([sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked])[pinned] + .tab-label-container:not([labeldirection]):-moz-locale-dir(rtl) { + --uc-sound-tab-label-position-x: -2px; + } + .tabbrowser-tab:not([sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked]) + .tab-label-container::before { + transform: translateX(var(--uc-sound-tab-label-position-x, 0px)); + } + } + @supports -moz-bool-pref("userChrome.hidden.tab_icon") { + @supports not -moz-bool-pref("userChrome.hidden.tab_icon.always") { + .tabbrowser-tab:not([sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked])[pinned] + .tab-label-container[labeldirection="ltr"], + .tabbrowser-tab:not([sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked])[pinned] + .tab-label-container:not([labeldirection]):-moz-locale-dir(ltr) { + --uc-sound-tab-label-position-x: 2px; + } + .tabbrowser-tab:not([sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked])[pinned] + .tab-label-container[labeldirection="rtl"], + .tabbrowser-tab:not([sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked])[pinned] + .tab-label-container:not([labeldirection]):-moz-locale-dir(rtl) { + --uc-sound-tab-label-position-x: -2px; + } + .tabbrowser-tab:not([sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked]) + .tab-label-container::before { + transform: translateX(var(--uc-sound-tab-label-position-x, 0px)); + } + } + } + .tab-label-container::beforee { + transition: transform 0.25s var(--animation-easing-function); + } + } } /*= Counter for Bookmark menu ================================================*/ @supports -moz-bool-pref("userChrome.counter.bookmark_menu") { @@ -8756,10 +8883,15 @@ or -moz-bool-pref("userChrome.autohide.infobar") { #navigator-toolbox { position: relative; + } + #navigator-toolbox:is(:hover, :focus-within) { z-index: 2; } + #navigator-toolbox:is(:hover, :focus-within) #PersonalToolbar { + z-index: -1; + } - #navigator-toolbox:not(:hover) { + #navigator-toolbox:not(:hover):not(:focus-within) { animation: 1s keepfront; } @@ -8902,16 +9034,18 @@ will-change: margin-bottom; } + #TabsToolbar:not([customizing]) { + will-change: opacity; + } @supports not -moz-bool-pref("userChrome.tabbar.on_bottom") { - #TabsToolbar:not([customizing]) { + #TabsToolbar:not([customizing]), + #TabsToolbar:not([customizing]) .titlebar-buttonbox-container { opacity: 0; - will-change: opacity; } } @supports -moz-bool-pref("userChrome.tabbar.on_bottom") { #TabsToolbar:not([customizing]) > *:not(.titlebar-buttonbox-container) { opacity: 0; - will-change: opacity; } } @@ -8919,7 +9053,8 @@ margin-bottom: 0px; } @supports not -moz-bool-pref("userChrome.tabbar.on_bottom") { - #navigator-toolbox:is(:hover, :focus-within) #TabsToolbar { + #navigator-toolbox:is(:hover, :focus-within) #TabsToolbar, + #navigator-toolbox:is(:hover, :focus-within) #TabsToolbar .titlebar-buttonbox-container { opacity: 1; } } @@ -8936,16 +9071,18 @@ will-change: margin-bottom; } + #TabsToolbar:not([customizing]) { + will-change: opacity; + } @supports not -moz-bool-pref("userChrome.tabbar.on_bottom") { - #TabsToolbar:not([customizing]) { + #TabsToolbar:not([customizing]), + #TabsToolbar:not([customizing]) .titlebar-buttonbox-container { opacity: 0; - will-change: opacity; } } @supports -moz-bool-pref("userChrome.tabbar.on_bottom") { #TabsToolbar:not([customizing]) > *:not(.titlebar-buttonbox-container) { opacity: 0; - will-change: opacity; } } @@ -8953,7 +9090,8 @@ margin-bottom: 0px; } @supports not -moz-bool-pref("userChrome.tabbar.on_bottom") { - #navigator-toolbox:is(:hover, :focus-within) #TabsToolbar { + #navigator-toolbox:is(:hover, :focus-within) #TabsToolbar, + #navigator-toolbox:is(:hover, :focus-within) #TabsToolbar .titlebar-buttonbox-container { opacity: 1; } } @@ -8969,16 +9107,18 @@ will-change: margin-bottom; } + #TabsToolbar:not([customizing]) { + will-change: opacity; + } @supports not -moz-bool-pref("userChrome.tabbar.on_bottom") { - #TabsToolbar:not([customizing]) { + #TabsToolbar:not([customizing]), + #TabsToolbar:not([customizing]) .titlebar-buttonbox-container { opacity: 0; - will-change: opacity; } } @supports -moz-bool-pref("userChrome.tabbar.on_bottom") { #TabsToolbar:not([customizing]) > *:not(.titlebar-buttonbox-container) { opacity: 0; - will-change: opacity; } } @@ -8986,7 +9126,8 @@ margin-bottom: 0px; } @supports not -moz-bool-pref("userChrome.tabbar.on_bottom") { - #navigator-toolbox:is(:hover, :focus-within) #TabsToolbar { + #navigator-toolbox:is(:hover, :focus-within) #TabsToolbar, + #navigator-toolbox:is(:hover, :focus-within) #TabsToolbar .titlebar-buttonbox-container { opacity: 1; } } @@ -9005,7 +9146,8 @@ } @supports not -moz-bool-pref("userChrome.tabbar.on_bottom") { - #TabsToolbar:not([customizing]) { + #TabsToolbar:not([customizing]), + #TabsToolbar:not([customizing]) .titlebar-buttonbox-container { transition: opacity var(--uc-autohide-toolbar-speed) var(--animation-easing-function) var(--uc-autohide-toolbar-delay) !important; } @@ -9024,7 +9166,8 @@ transition-delay: 0s !important; } @supports not -moz-bool-pref("userChrome.tabbar.on_bottom") { - #navigator-toolbox:is(:hover, :focus-within) #TabsToolbar:not([customizing]) { + #navigator-toolbox:is(:hover, :focus-within) #TabsToolbar:not([customizing]), + #navigator-toolbox:is(:hover, :focus-within) #TabsToolbar:not([customizing]) .titlebar-buttonbox-container { transition-delay: 0s !important; } } @@ -9587,7 +9730,7 @@ #forward-button, #clearDownloadsButton { fill: currentColor !important; - -moz-context-properties: fill !important; + -moz-context-properties: fill, fill-opacity, stroke !important; } /* Add */ @@ -9725,13 +9868,12 @@ .subviewbutton:not(#appMenu-proton-update-banner) > image { fill: currentColor !important; fill-opacity: var(--toolbarbutton-icon-fill-opacity) !important; - -moz-context-properties: fill !important; + -moz-context-properties: fill, fill-opacity, stroke !important; } #appMenu-zoomReduce-button2 > .toolbarbutton-icon, #appMenu-zoomEnlarge-button2 > .toolbarbutton-icon { stroke: var(--zoom-controls-bgcolor, var(--button-bgcolor, ButtonFace)) !important; - -moz-context-properties: fill, stroke !important; } #appMenu-zoomReduce-button2:not([disabled], [open], :active):is(:hover) > .toolbarbutton-icon, @@ -9844,7 +9986,7 @@ @supports -moz-bool-pref("userChrome.icon.panel_full") { #appMenu-save-file-button2 { - list-style-image: url("chrome://browser/skin/save.svg"); + list-style-image: url("../icons/toolbarButton-download.svg"); } #appMenu-find-button2 { @@ -9939,7 +10081,7 @@ /* Color */ fill: currentColor; fill-opacity: var(--toolbarbutton-icon-fill-opacity); - -moz-context-properties: fill; + -moz-context-properties: fill, fill-opacity, stroke; background-size: 16px; background-repeat: no-repeat; background-position: left center; @@ -10207,7 +10349,7 @@ /*= protections-popup ========================================================*/ #protections-popup-settings-button > .protections-popup-settings-icon, #protections-popup-show-report-button > .protections-popup-show-report-icon { - -moz-context-properties: fill; + -moz-context-properties: fill, fill-opacity, stroke; fill: currentColor; margin-inline-end: 1em; } @@ -10266,6 +10408,11 @@ #sidebarMenu-popup > .subviewbutton[data-l10n-id="sidebar-menu-close"] { list-style-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"); + } } /** Menu - Icons Layout *******************************************************/ @supports -moz-bool-pref("userChrome.icon.menu") { @@ -10293,9 +10440,10 @@ > menuitem, .openintabs-menuitem, #blockedPopupDontShowMessage, - #BMB_viewBookmarksToolbar { + #BMB_viewBookmarksToolbar, + #context_openANewTab.tabmix-newtab-menu-icon { /* Color */ - -moz-context-properties: fill, fill-opacity !important; + -moz-context-properties: fill, fill-opacity, stroke !important; fill: currentColor !important; /* Layout */ background-size: 16px !important; @@ -10304,7 +10452,7 @@ } #tabContextMenu > .tabmix-newtab-menu-icon { - -moz-context-properties: fill, fill-opacity !important; + -moz-context-properties: fill, fill-opacity, stroke !important; fill: currentColor !important; } @@ -10347,7 +10495,8 @@ > menuitem, .openintabs-menuitem, #blockedPopupDontShowMessage, - #BMB_viewBookmarksToolbar { + #BMB_viewBookmarksToolbar, + #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; } @@ -10406,7 +10555,8 @@ > menuitem, .openintabs-menuitem, #blockedPopupDontShowMessage, - #BMB_viewBookmarksToolbar { + #BMB_viewBookmarksToolbar, + #context_openANewTab.tabmix-newtab-menu-icon { background-position: left var(--context-menu-background-padding) center !important; padding-inline-start: 0 !important; } @@ -10438,7 +10588,8 @@ > menuitem, .openintabs-menuitem, #blockedPopupDontShowMessage, - #BMB_viewBookmarksToolbar { + #BMB_viewBookmarksToolbar, + #context_openANewTab.tabmix-newtab-menu-icon { padding-inline-start: var(--menu-background-padding-default) !important; margin-left: 0 !important; } @@ -10825,14 +10976,38 @@ } /*= Tab Mix Plus =============================================================*/ - #context_openANewTab.tabmix-newtab-menu-icon { - list-style-image: var(--menuitem-image) !important; + @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) { + #context_openANewTab.tabmix-newtab-menu-icon .menu-iconic-left { + display: none; + } + } + + @supports -moz-bool-pref("userChrome.icon.menu.full") { + #tm-duplicateinWin { + --menuitem-image: url("../icons/tab-desktop-multiple-bottom.svg"); + } + + #tm-mergeWindowsTab { + --menuitem-image: url("../icons/merge.svg"); + } + } + #tm-renameTab { + --menuitem-image: url("chrome://global/skin/icons/edit.svg"); } #tm-copyTabUrl { --menuitem-image: url("../icons/link.svg"); } + #tm-autoreloadTab_menu { + --menuitem-image: url("../icons/timer10.svg"); + } + #context_reloadTabOptions { --menuitem-image: url("../icons/reload.svg"); } @@ -10847,6 +11022,14 @@ } } + #tm-docShell { + --menuitem-image: url("chrome://browser/skin/permissions.svg"); + } + + #tm-freezeTab { + --menuitem-image: url("../icons/weather-snowflake.svg"); + } + #tm-protectTab { --menuitem-image: url("../icons/shield-task.svg"); } @@ -10919,7 +11102,7 @@ } #context-savelink { - --menuitem-image: url("chrome://browser/skin/save.svg"); + --menuitem-image: url("../icons/toolbarButton-download.svg"); } #context-savelinktopocket { @@ -11049,7 +11232,7 @@ } #context-savepage { - --menuitem-image: url("chrome://browser/skin/save.svg"); + --menuitem-image: url("../icons/toolbarButton-download.svg"); } #context-pocket { @@ -11161,7 +11344,7 @@ /* iconic */ } - @supports -moz-bool-pref("widget.macos.native-context-menus") or -moz-bool-pref("widget.gtk.native-context-menus") { + @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") { #context-back { --menuitem-image: url("chrome://browser/skin/back.svg"); } @@ -11184,13 +11367,53 @@ } /*= Tab Mix Plus =============================================================*/ #tm-autoreload_menu { - --menuitem-image: url("../icons/reload-auto.svg"); + --menuitem-image: url("../icons/timer10.svg"); + } + + #tm-linkWithhistory { + --menuitem-image: url("../icons/new-tab-skip-forward.svg"); } #tm-openAllLinks { --menuitem-image: url("../icons/new-tab-multiple.svg"); } + #tm-openinverselink { + --menuitem-image: url("../icons/new-tab-forward.svg"); + } + + #tm-content-closetab { + --menuitem-image: url("../icons/dismiss-filled.svg"); + } + + #tm-duplicateTabContext { + --menuitem-image: url("../icons/tab-copy.svg"); + } + + #tm-duplicateinWinContext { + --menuitem-image: url("../icons/tab-desktop-multiple-bottom.svg"); + } + + #tm-detachTabContext { + --menuitem-image: url("../icons/convert-range.svg"); + } + + #tm-mergeWindows { + --menuitem-image: url("../icons/merge.svg"); + } + + #tm-content-freezeTab { + --menuitem-image: url("../icons/weather-snowflake.svg"); + } + + #tm-content-protectTab { + --menuitem-image: url("../icons/shield-task.svg"); + } + + #tm-content-lockTab { + --menuitem-image: url("../icons/lock-closed.svg"); + } + #tm-content-undoCloseTab { --menuitem-image: url("../icons/undo.svg"); } @@ -11354,6 +11577,19 @@ --menuitem-image: url("../icons/movetowindow-16.svg"); } + /*= Notification =============================================================*/ + #doNotDisturbMenuItem { + --menuitem-image: url(chrome://global/skin/media/pause-fill.svg); + } + + #disableForOriginMenuItem { + --menuitem-image: url("chrome://global/skin/icons/blocked.svg"); + } + + #openSettingsMenuItem { + --menuitem-image: url("chrome://global/skin/icons/settings.svg"); + } + /*= blockedPopupOptions ======================================================*/ #blockedPopupAllowSite { --menuitem-image: url("chrome://global/skin/icons/check.svg"); @@ -11592,6 +11828,19 @@ #treestyletab_piro_sakura_ne_jp-menuitem-_context_sendTabsToDevice\:manage { --menuitem-image: url("chrome://global/skin/icons/settings.svg"); } + + /*= unified-extensions-context-menu ==========================================*/ + .unified-extensions-context-menu-manage-extension { + --menuitem-image: url("chrome://global/skin/icons/settings.svg"); + } + + .unified-extensions-context-menu-remove-extension { + --menuitem-image: url("chrome://global/skin/icons/delete.svg"); + } + + .unified-extensions-context-menu-report-extension { + --menuitem-image: url("../icons/send.svg"); + } } @supports -moz-bool-pref("userChrome.icon.global_menubar") { /*= main-menubar =============================================================*/ @@ -11647,7 +11896,7 @@ } #menu_savePage { - --menuitem-image: url("chrome://browser/skin/save.svg"); + --menuitem-image: url("../icons/toolbarButton-download.svg"); } #menu_sendLink { @@ -11950,10 +12199,7 @@ --menuitem-image: url("chrome://global/skin/icons/info.svg"); } } - } - /** Library Menu **************************************************************/ - @supports -moz-bool-pref("userChrome.icon.library") { - @supports -moz-bool-pref("userChrome.icon.menu") { + @supports -moz-bool-pref("userChrome.icon.library") { /*= organizeButtonPopup ======================================================*/ #newbookmark { --menuitem-image: url("chrome://browser/skin/bookmark.svg"); @@ -12015,7 +12261,7 @@ } #fileImport { - --menuitem-image: url("chrome://browser/skin/save.svg"); + --menuitem-image: url("../icons/toolbarButton-download.svg"); } #fileExport { diff --git a/css/leptonContent.css b/css/leptonContent.css index 03b4729..c1e82c0 100644 --- a/css/leptonContent.css +++ b/css/leptonContent.css @@ -280,7 +280,7 @@ .context-menu-list .context-menu-item button span { /* Color */ - -moz-context-properties: fill, fill-opacity !important; + -moz-context-properties: fill, fill-opacity, stroke !important; fill: currentColor !important; /* Layout */ background-size: 16px !important; @@ -417,7 +417,7 @@ } } /** Activity Stream - Home Search Bar looks like proton *********************/ - @supports -moz-bool-pref("userContent.newTab.animate") { + @supports -moz-bool-pref("userContent.newTab.searchbar") { /* Dropdown Colors */ #root { --newtab-search-background-color: rgba(255, 255, 255, 1); @@ -1680,6 +1680,7 @@ .input-row input[type="tel"], .input-row input[type="text"], .input-row input::placeholder, + .input-text, .firefox-family-services > ul > .firefox-service, .faint, .faint a, @@ -1704,7 +1705,9 @@ .input-row input[type="password"], .input-row input[type="tel"], .input-row input[type="text"], + .input-text, header, + .card, .bg-white:not(nav) { background: var(--in-content-box-background) !important; } @@ -2362,7 +2365,7 @@ #forward-button, #clearDownloadsButton { fill: currentColor !important; - -moz-context-properties: fill !important; + -moz-context-properties: fill, fill-opacity, stroke !important; } /* Add */ @@ -3037,7 +3040,7 @@ > menuitem:not(.menuitem-iconic, .bookmark-item, .in-menulist, [checked="true"]), menupopup:is(#viewMenuPopup, #maintenanceButtonPopup) > menu:not(.menu-iconic, .in-menulist, [checked="true"]) { /* Color */ - -moz-context-properties: fill, fill-opacity !important; + -moz-context-properties: fill, fill-opacity, stroke !important; fill: currentColor !important; /* Layout */ background-size: 16px !important; @@ -3403,7 +3406,7 @@ } #fileImport { - --menuitem-image: url("chrome://browser/skin/save.svg"); + --menuitem-image: url("../icons/toolbarButton-download.svg"); } #fileExport { diff --git a/icons/merge.svg b/icons/merge.svg new file mode 100644 index 0000000..e6060cd --- /dev/null +++ b/icons/merge.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/new-tab-forward.svg b/icons/new-tab-forward.svg new file mode 100644 index 0000000..6c87642 --- /dev/null +++ b/icons/new-tab-forward.svg @@ -0,0 +1,4 @@ + + + + diff --git a/icons/new-tab-skip-forward.svg b/icons/new-tab-skip-forward.svg new file mode 100644 index 0000000..9ab9e8a --- /dev/null +++ b/icons/new-tab-skip-forward.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/tab-desktop-multiple-bottom.svg b/icons/tab-desktop-multiple-bottom.svg new file mode 100644 index 0000000..97457b4 --- /dev/null +++ b/icons/tab-desktop-multiple-bottom.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/timer10.svg b/icons/timer10.svg new file mode 100644 index 0000000..e6311bb --- /dev/null +++ b/icons/timer10.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/toolbarButton-download.svg b/icons/toolbarButton-download.svg new file mode 100644 index 0000000..6d64757 --- /dev/null +++ b/icons/toolbarButton-download.svg @@ -0,0 +1,4 @@ + + + + diff --git a/icons/weather-snowflake.svg b/icons/weather-snowflake.svg new file mode 100644 index 0000000..fe7c53f --- /dev/null +++ b/icons/weather-snowflake.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/autohide/_common.scss b/src/autohide/_common.scss index a34b0f8..1fde6d6 100644 --- a/src/autohide/_common.scss +++ b/src/autohide/_common.scss @@ -31,9 +31,15 @@ @include Option("userChrome.autohide.tabbar", "userChrome.autohide.navbar", "userChrome.autohide.bookmarkbar", "userChrome.autohide.infobar") { #navigator-toolbox { position: relative; - z-index: 2; + &:is(:hover, :focus-within) { + z-index: 2; + + #PersonalToolbar { + z-index: -1; + } + } } - #navigator-toolbox:not(:hover) { + #navigator-toolbox:not(:hover):not(:focus-within) { animation: 1s keepfront; } @keyframes keepfront { diff --git a/src/autohide/_tabbar.scss b/src/autohide/_tabbar.scss index 3f2bda9..fe377cb 100644 --- a/src/autohide/_tabbar.scss +++ b/src/autohide/_tabbar.scss @@ -1,7 +1,10 @@ //-- Mixin --------------------------------------------------------------------- @mixin _autohide_tabbar() { @include NotOption("userChrome.tabbar.on_bottom") { - @content; + &, + & .titlebar-buttonbox-container { + @content; + } } @include Option("userChrome.tabbar.on_bottom") { > *:not(.titlebar-buttonbox-container) { @@ -20,8 +23,8 @@ #TabsToolbar:not([customizing]) { @include _autohide_tabbar { opacity: 0; - will-change: opacity; } + will-change: opacity; } #navigator-toolbox:is(:hover, :focus-within) { diff --git a/src/contents/_activity_stream.scss b/src/contents/_activity_stream.scss index acc839e..9fe952b 100644 --- a/src/contents/_activity_stream.scss +++ b/src/contents/_activity_stream.scss @@ -101,7 +101,7 @@ } /** Activity Stream - Home Search Bar looks like proton *********************/ - @include Option("userContent.newTab.animate") { + @include Option("userContent.newTab.searchbar") { /* Dropdown Colors */ #root { --newtab-search-background-color: rgba(255, 255, 255, 1); /* Same as light theme's --panel-background */ diff --git a/src/contents/dark_mode/_accounts_com.scss b/src/contents/dark_mode/_accounts_com.scss index 7fef1fd..9796370 100644 --- a/src/contents/dark_mode/_accounts_com.scss +++ b/src/contents/dark_mode/_accounts_com.scss @@ -46,6 +46,7 @@ .input-row input[type="tel"], .input-row input[type="text"], .input-row input::placeholder, + .input-text, .firefox-family-services > ul > .firefox-service, .faint, .faint a, @@ -68,7 +69,9 @@ .input-row input[type="password"], .input-row input[type="tel"], .input-row input[type="text"], + .input-text, header, + .card, .bg-white:not(nav) { background: var(--in-content-box-background) !important; } diff --git a/src/counter/_tab.scss b/src/counter/_tab.scss index 108793c..baeae33 100644 --- a/src/counter/_tab.scss +++ b/src/counter/_tab.scss @@ -10,6 +10,18 @@ } } +// Copy from "../tab/sound_tab/show_with_favicons" +@mixin _hidden_tabIcon_soundTabLabel() { + @include NotOption("userChrome.hidden.tab_icon") { + @content; + } + @include Option("userChrome.hidden.tab_icon") { + @include NotOption("userChrome.hidden.tab_icon.always") { + @content; + } + } +} + //------------------------------------------------------------------------------ #tabbrowser-tabs { @@ -61,3 +73,28 @@ .tab-secondary-label { overflow: hidden; } + +// Compatibility with sound tab +@include Option("userChrome.tab.sound_with_favicons") { + @include _hidden_tabIcon_soundTabLabel { + .tabbrowser-tab:not([sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked]) { + &[pinned] .tab-label-container { + &[labeldirection=ltr], + &:not([labeldirection]):-moz-locale-dir(ltr) { + --uc-sound-tab-label-position-x: 2px; + } + &[labeldirection=rtl], + &:not([labeldirection]):-moz-locale-dir(rtl) { + --uc-sound-tab-label-position-x: -2px; + } + } + .tab-label-container::before { + transform: translateX(var(--uc-sound-tab-label-position-x, 0px)); + } + } + } + + .tab-label-container::beforee { + transition: transform 0.25s var(--animation-easing-function); + } +} diff --git a/src/decoration/_cursor.scss b/src/decoration/_cursor.scss index 7166ca9..74aec7c 100644 --- a/src/decoration/_cursor.scss +++ b/src/decoration/_cursor.scss @@ -21,7 +21,9 @@ menuitem.openintabs-menuitem, #protections-popup-footer .protections-popup-footer-button, #protections-popup-multiView .panel-subview-footer-button, #identity-popup-clear-sitedata-button, -#identity-popup-more-info { +#identity-popup-more-info, +#unified-extensions-manage-extensions, +.unified-extensions-item-open-menu { cursor: pointer !important; } diff --git a/src/icons/_global_menu.scss b/src/icons/_global_menu.scss index fc6d034..0c20225 100644 --- a/src/icons/_global_menu.scss +++ b/src/icons/_global_menu.scss @@ -27,7 +27,7 @@ } #menu_savePage { - --menuitem-image: url("chrome://browser/skin/save.svg"); + --menuitem-image: url("../icons/toolbarButton-download.svg"); } #menu_sendLink { --menuitem-image: url("chrome://browser/skin/mail.svg"); diff --git a/src/icons/_index.scss b/src/icons/_index.scss index 06fe4fe..ee4a326 100644 --- a/src/icons/_index.scss +++ b/src/icons/_index.scss @@ -23,11 +23,7 @@ @include Option("userChrome.icon.global_menu") { @import "global_menu"; } -} - -/** Library Menu **************************************************************/ -@include Option("userChrome.icon.library") { - @include Option("userChrome.icon.menu") { + @include Option("userChrome.icon.library") { @import "library"; } } diff --git a/src/icons/_library.scss b/src/icons/_library.scss index fc2b57b..a65d505 100644 --- a/src/icons/_library.scss +++ b/src/icons/_library.scss @@ -55,7 +55,7 @@ } #fileImport { - --menuitem-image: url("chrome://browser/skin/save.svg"); + --menuitem-image: url("../icons/toolbarButton-download.svg"); } #fileExport { --menuitem-image: url("chrome://browser/skin/open.svg"); diff --git a/src/icons/_panel.scss b/src/icons/_panel.scss index cad45e4..5d1aca0 100644 --- a/src/icons/_panel.scss +++ b/src/icons/_panel.scss @@ -88,7 +88,7 @@ } @include Option("userChrome.icon.panel_full") { #appMenu-save-file-button2 { - list-style-image: url("chrome://browser/skin/save.svg"); + list-style-image: url("../icons/toolbarButton-download.svg"); } #appMenu-find-button2 { list-style-image: url("chrome://global/skin/icons/search-glass.svg"); @@ -176,7 +176,7 @@ /* Color */ fill: currentColor; fill-opacity: var(--toolbarbutton-icon-fill-opacity); - -moz-context-properties: fill; + -moz-context-properties: fill, fill-opacity, stroke; background-size: 16px; background-repeat: no-repeat; @@ -416,7 +416,7 @@ panelMenuBookmarkThisPage[starred] { /*= protections-popup ========================================================*/ #protections-popup-settings-button > .protections-popup-settings-icon, #protections-popup-show-report-button > .protections-popup-show-report-icon { - -moz-context-properties: fill; + -moz-context-properties: fill, fill-opacity, stroke; fill: currentColor; margin-inline-end: 1em; } @@ -473,3 +473,8 @@ panelMenuBookmarkThisPage[starred] { #sidebarMenu-popup > .subviewbutton[data-l10n-id="sidebar-menu-close"] { list-style-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"); +} diff --git a/src/icons/context_menu/_content_area.scss b/src/icons/context_menu/_content_area.scss index c74e829..7821478 100644 --- a/src/icons/context_menu/_content_area.scss +++ b/src/icons/context_menu/_content_area.scss @@ -45,7 +45,7 @@ --menuitem-image: url("chrome://browser/skin/bookmark.svg"); } #context-savelink { - --menuitem-image: url("chrome://browser/skin/save.svg"); + --menuitem-image: url("../icons/toolbarButton-download.svg"); } #context-savelinktopocket { --menuitem-image: url("../icons/pocket-outline.svg"); @@ -148,7 +148,7 @@ } #context-savepage { - --menuitem-image: url("chrome://browser/skin/save.svg"); + --menuitem-image: url("../icons/toolbarButton-download.svg"); } #context-pocket { --menuitem-image: url("../icons/pocket-outline.svg"); @@ -243,7 +243,7 @@ /* iconic */ } -@include NativeMenu { +@include OS($mac) { #context-back { --menuitem-image: url("chrome://browser/skin/back.svg"); } @@ -264,34 +264,44 @@ /*= Tab Mix Plus =============================================================*/ #tm-autoreload_menu { - --menuitem-image: url("../icons/reload-auto.svg"); + // --menuitem-image: url("../icons/reload-auto.svg"); + --menuitem-image: url("../icons/timer10.svg"); } #tm-linkWithhistory { + // ic_fluent_skip_forward_tab_24_regular + --menuitem-image: url("../icons/new-tab-skip-forward.svg"); } #tm-openAllLinks { --menuitem-image: url("../icons/new-tab-multiple.svg"); } #tm-openinverselink { -} -#context-openlinkinusercontext-menu { + --menuitem-image: url("../icons/new-tab-forward.svg"); } #tm-content-closetab { + --menuitem-image: url("../icons/dismiss-filled.svg"); } #tm-duplicateTabContext { + --menuitem-image: url("../icons/tab-copy.svg"); } #tm-duplicateinWinContext { + --menuitem-image: url("../icons/tab-desktop-multiple-bottom.svg"); } #tm-detachTabContext { + --menuitem-image: url("../icons/convert-range.svg"); } #tm-mergeWindows { + --menuitem-image: url("../icons/merge.svg"); } #tm-content-freezeTab { + --menuitem-image: url("../icons/weather-snowflake.svg"); } #tm-content-protectTab { + --menuitem-image: url("../icons/shield-task.svg"); } #tm-content-lockTab { + --menuitem-image: url("../icons/lock-closed.svg"); } #tm-tabsList { } diff --git a/src/icons/context_menu/_others.scss b/src/icons/context_menu/_others.scss index 25f28d8..bb37ded 100644 --- a/src/icons/context_menu/_others.scss +++ b/src/icons/context_menu/_others.scss @@ -1,3 +1,15 @@ +/*= Notification =============================================================*/ +// https://github.com/mozilla/gecko-dev/blob/master/toolkit/components/alerts/alert.xhtml +#doNotDisturbMenuItem { + --menuitem-image: url(chrome://global/skin/media/pause-fill.svg); +} +#disableForOriginMenuItem { + --menuitem-image: url("chrome://global/skin/icons/blocked.svg"); +} +#openSettingsMenuItem { + --menuitem-image: url("chrome://global/skin/icons/settings.svg"); +} + /*= blockedPopupOptions ======================================================*/ #blockedPopupAllowSite { --menuitem-image: url("chrome://global/skin/icons/check.svg"); @@ -213,3 +225,14 @@ menuitem.searchbar-clear-history { #treestyletab_piro_sakura_ne_jp-menuitem-_context_sendTabsToDevice\:manage { --menuitem-image: url("chrome://global/skin/icons/settings.svg"); } + +/*= unified-extensions-context-menu ==========================================*/ +.unified-extensions-context-menu-manage-extension { + --menuitem-image: url("chrome://global/skin/icons/settings.svg"); +} +.unified-extensions-context-menu-remove-extension { + --menuitem-image: url("chrome://global/skin/icons/delete.svg"); +} +.unified-extensions-context-menu-report-extension { + --menuitem-image: url("../icons/send.svg"); +} diff --git a/src/icons/context_menu/_tab_toolbar.scss b/src/icons/context_menu/_tab_toolbar.scss index d0b20be..b704859 100644 --- a/src/icons/context_menu/_tab_toolbar.scss +++ b/src/icons/context_menu/_tab_toolbar.scss @@ -222,19 +222,30 @@ menuitem.viewCustomizeToolbar { /*= Tab Mix Plus =============================================================*/ #context_openANewTab.tabmix-newtab-menu-icon { - list-style-image: var(--menuitem-image) !important; + .menu-iconic-left { + @include OS($win) { + display: none; + } + } } -#tm-duplicateinWin { -} -#tm-mergeWindowsTab { +@include Option("userChrome.icon.menu.full") { + #tm-duplicateinWin { + --menuitem-image: url("../icons/tab-desktop-multiple-bottom.svg"); + } + #tm-mergeWindowsTab { + --menuitem-image: url("../icons/merge.svg"); + } } #tm-renameTab { + --menuitem-image: url("chrome://global/skin/icons/edit.svg"); } #tm-copyTabUrl { --menuitem-image: url("../icons/link.svg"); } #tm-autoreloadTab_menu { + // --menuitem-image: url("../icons/reload-auto.svg"); + --menuitem-image: url("../icons/timer10.svg"); } #context_reloadTabOptions { --menuitem-image: url("../icons/reload.svg"); @@ -252,8 +263,10 @@ menuitem.viewCustomizeToolbar { } #tm-docShell { + --menuitem-image: url("chrome://browser/skin/permissions.svg"); } #tm-freezeTab { + --menuitem-image: url("../icons/weather-snowflake.svg"); } #tm-protectTab { --menuitem-image: url("../icons/shield-task.svg"); diff --git a/src/icons/layout/_menu.scss b/src/icons/layout/_menu.scss index 894bef4..b0b8baf 100644 --- a/src/icons/layout/_menu.scss +++ b/src/icons/layout/_menu.scss @@ -7,7 +7,8 @@ $_layoutCommonMenus: ( $_libraryMenuitem, $_libraryMenu, $_sendTabMenuitem, - $_otherIconMenu + $_otherIconMenu, + "#context_openANewTab.tabmix-newtab-menu-icon" ); @mixin _layoutInitIconMenus() { #{$_globalMenus}, @@ -42,7 +43,7 @@ $_layoutCommonMenus: ( @include _layout_icon_menus; } #tabContextMenu > .tabmix-newtab-menu-icon { - -moz-context-properties: fill, fill-opacity !important; + -moz-context-properties: fill, fill-opacity, stroke !important; fill: currentColor !important; } diff --git a/src/icons/layout/_menu_common.scss b/src/icons/layout/_menu_common.scss index bfe3cc5..079960a 100644 --- a/src/icons/layout/_menu_common.scss +++ b/src/icons/layout/_menu_common.scss @@ -44,7 +44,7 @@ $_initialMenus: selector.append( // Icon @mixin _layout_icon_menus() { /* Color */ - -moz-context-properties: fill, fill-opacity !important; + -moz-context-properties: fill, fill-opacity, stroke !important; fill: currentColor !important; /* Layout */ diff --git a/src/icons/layout/_panel.scss b/src/icons/layout/_panel.scss index bce5576..d15a78e 100644 --- a/src/icons/layout/_panel.scss +++ b/src/icons/layout/_panel.scss @@ -82,12 +82,11 @@ .subviewbutton:not(#appMenu-proton-update-banner) > image { fill: currentColor !important; fill-opacity: var(--toolbarbutton-icon-fill-opacity) !important; - -moz-context-properties: fill !important; + -moz-context-properties: fill, fill-opacity, stroke !important; } #appMenu-zoomReduce-button2 > .toolbarbutton-icon, #appMenu-zoomEnlarge-button2 > .toolbarbutton-icon { stroke: var(--zoom-controls-bgcolor, var(--button-bgcolor, ButtonFace)) !important; - -moz-context-properties: fill, stroke !important; } #appMenu-zoomReduce-button2:not([disabled], [open], :active):is(:hover) > .toolbarbutton-icon, #appMenu-zoomEnlarge-button2:not([disabled], [open], :active):is(:hover) > .toolbarbutton-icon { diff --git a/src/library/_menubar.scss b/src/library/_menubar.scss index c9624a5..9fd615f 100644 --- a/src/library/_menubar.scss +++ b/src/library/_menubar.scss @@ -6,7 +6,7 @@ #forward-button, #clearDownloadsButton { fill: currentColor !important; - -moz-context-properties: fill !important; + -moz-context-properties: fill, fill-opacity, stroke !important; } /* Add */ diff --git a/src/padding/_bookmarkbar.scss b/src/padding/_bookmarkbar.scss index aee9f5e..39e4d5b 100644 --- a/src/padding/_bookmarkbar.scss +++ b/src/padding/_bookmarkbar.scss @@ -1,3 +1,3 @@ :root[uidensity="compact"] #PersonalToolbar toolbarbutton { - margin-top: 0px; /* Original: 2px */ + margin-top: 0px !important; /* Original: 2px */ } diff --git a/src/padding/_panel.scss b/src/padding/_panel.scss index f8c4e76..e2caed7 100644 --- a/src/padding/_panel.scss +++ b/src/padding/_panel.scss @@ -1,5 +1,5 @@ :root { - --arrowpanel-menuitem-margin: 0 var(--arrowpanel-menuicon-padding) !important; /* Original: 0 8px */ + --arrowpanel-menuitem-margin: 0 var(--arrowpanel-menuicon-padding, 8px) !important; /* Original: 0 8px */ --arrowpanel-menuitem-padding-block: 5px !important; /* Original: 8px */ --arrowpanel-menuitem-padding-inline: 5px !important; /* Original: 8px */ --arrowpanel-menuitem-padding: var(--arrowpanel-menuitem-padding-block) var(--arrowpanel-menuitem-padding-inline) !important; /* Compatibility */ diff --git a/src/padding/_popup_panel.scss b/src/padding/_popup_panel.scss index 00b4447..8725396 100644 --- a/src/padding/_popup_panel.scss +++ b/src/padding/_popup_panel.scss @@ -25,7 +25,7 @@ } /* not cut off for Protection popup Footer on windows */ :root[uidensity="compact"] #protections-popup-multiView #protections-popup-footer { - padding: 3px 0 10px !important; + padding: 0 !important; } /* Button and disabled category in Protection popup */ :root[uidensity="compact"] #protections-popup-multiView .protections-popup-footer-button, diff --git a/src/padding/_urlview_expanding.scss b/src/padding/_urlview_expanding.scss index b2481eb..0af7884 100644 --- a/src/padding/_urlview_expanding.scss +++ b/src/padding/_urlview_expanding.scss @@ -7,7 +7,7 @@ #urlbar[breakout][breakout-extend] > #urlbar-input-container { height: var(--urlbar-height) !important; padding-block: 0 !important; - padding-inline: 0 !important; + padding-inline: var(--urlbar-container-padding, 0px) !important; } #urlbar[breakout][breakout-extend] > #urlbar-background { diff --git a/src/rounding/_square.scss b/src/rounding/_square.scss index 139f7bb..9c86f15 100644 --- a/src/rounding/_square.scss +++ b/src/rounding/_square.scss @@ -5,19 +5,32 @@ } @include Option("userChrome.rounding.square_button") { :root { - --toolbarbutton-border-radius: 0 !important; /* Original: 4px */ + --urlbar-icon-border-radius: 0 !important; /* Original: calc(var(--toolbarbutton-border-radius) - 1px); */ } - button { + + .toolbarbutton-1, + .toolbarbutton-icon, + .panel-info-button, + .searchbar-engine-one-off-item, + .urlbarView-button, + .urlbarView-tip-button, + .urlbarView-action, + toolbarbutton.bookmark-item:not(.subviewbutton), + #sidebar-switcher-target { + --toolbarbutton-border-radius: 0; /* Original: 4px */ + } + + button, + findbar toolbarbutton, + .notification-button { border-radius: 0 !important; } } -@include Option("userChrome.rounding.square_tab", "userChrome.round.square_button") { +@include Option("userChrome.rounding.square_tab", "userChrome.rounding.square_button") { /* Fix Tab bar button radius */ - #TabsToolbar .toolbarbutton-1:not(#tabs-newtab-button) > .toolbarbutton-icon, - #TabsToolbar .toolbarbutton-1:not(#tabs-newtab-button) > .toolbarbutton-text, - #TabsToolbar .toolbarbutton-1:not(#tabs-newtab-button) > .toolbarbutton-badge-stack, + #TabsToolbar .toolbarbutton-1:not(#tabs-newtab-button), .tab-close-button { - --tab-border-radius: var(--toolbarbutton-border-radius) !important; + --tab-border-radius: var(--toolbarbutton-border-radius); } } @@ -54,6 +67,18 @@ html|input { border-radius: 0 !important; } + + #urlbar-input-container, + #urlbar-background, + #searchbar { + --toolbarbutton-border-radius: 0; + } +} + +@include Option("userChrome.rounding.square_urlView_item") { + .urlbarView-row-inner { + --toolbarbutton-border-radius: 0; + } } @include Option("userChrome.rounding.square_checklabel") { diff --git a/src/tab/_connect_to_window.scss b/src/tab/_connect_to_window.scss index a7ebe5c..24ed9a4 100644 --- a/src/tab/_connect_to_window.scss +++ b/src/tab/_connect_to_window.scss @@ -18,7 +18,7 @@ } @include NotOption("userChrome.tabbar.multi_row") { #TabsToolbar:not([multibar]) { - overflow: hidden; /* Prevent toolbar area over */ + overflow: clip; /* Prevent toolbar area over */ } } diff --git a/src/tab/_selected_tab.scss b/src/tab/_selected_tab.scss index 86403cb..fc23332 100644 --- a/src/tab/_selected_tab.scss +++ b/src/tab/_selected_tab.scss @@ -38,6 +38,22 @@ } /*= Selected Tab - Photon like contextline ===================================*/ +@include Option( + "userChrome.tab.photon_like_contextline", + "userChrome.tab.static_separator", + "userChrome.tab.bar_separator") { + :root[lwtheme-mozlightdark] #tabbrowser-tabs, /* Legacy: v96 */ + :root[style*="--lwt-accent-color: rgb(240, 240, 244); --lwt-text-color: rgba(21, 20, 26);"], + :root[style*="--lwt-accent-color: rgb(28, 27, 34); --lwt-text-color: rgba(251, 251, 254);"] { + --tab-line-color: rgb(10, 132, 255) !important; + } + @media (-moz-gtk-csd-available) { + :root:not(:-moz-lwtheme) #tabbrowser-tabs { + --tab-line-color: Highlight !important; /* -moz-accent-color */ + } + } +} + @include Option("userChrome.tab.photon_like_contextline") { @import "selected_tab/photon_like_contextline"; } diff --git a/src/tab/_unload_tab.scss b/src/tab/_unload_tab.scss index 8b918f2..fbf5541 100644 --- a/src/tab/_unload_tab.scss +++ b/src/tab/_unload_tab.scss @@ -1,3 +1,3 @@ -#tabbrowser-tabs .tabbrowser-tab[pending] .tab-content { +.tabbrowser-tab[pending] .tab-content { opacity: 0.7; } diff --git a/src/tab/_unselected_tab.scss b/src/tab/_unselected_tab.scss index 6332380..b0e4b4d 100644 --- a/src/tab/_unselected_tab.scss +++ b/src/tab/_unselected_tab.scss @@ -7,3 +7,8 @@ @include Option("userChrome.tab.static_separator") { @import "unselected_tab/static_separator"; } + +/*= Unselected Tab - Bar Separator ===========================================*/ +@include Option("userChrome.tab.bar_separator") { + @import "unselected_tab/bar_separator"; +} diff --git a/src/tab/newtab_button/_proton_like_button.scss b/src/tab/newtab_button/_proton_like_button.scss index 3fd1017..1e24617 100644 --- a/src/tab/newtab_button/_proton_like_button.scss +++ b/src/tab/newtab_button/_proton_like_button.scss @@ -1,10 +1,3 @@ :root:not([uidensity="touch"]) #tabs-newtab-button > .toolbarbutton-icon { --toolbarbutton-inner-padding: calc((var(--tab-min-height) - 16px) / 2 - 1px); } - -:root:not([uidensity="compact"]) #tabs-newtab-button > .toolbarbutton-icon { - margin-left: 2px; -} -:root[uidensity="compact"] #tabs-newtab-button > .toolbarbutton-icon { - margin-left: 1px; -} diff --git a/src/tab/selected_tab/_photon_like_contextline.scss b/src/tab/selected_tab/_photon_like_contextline.scss index fd1d26b..13d7644 100644 --- a/src/tab/selected_tab/_photon_like_contextline.scss +++ b/src/tab/selected_tab/_photon_like_contextline.scss @@ -1,14 +1,3 @@ -:root[lwtheme-mozlightdark] #tabbrowser-tabs, /* Legacy: v96 */ -:root[style*="--lwt-accent-color: rgb(240, 240, 244); --lwt-text-color: rgba(21, 20, 26);"], -:root[style*="--lwt-accent-color: rgb(28, 27, 34); --lwt-text-color: rgba(251, 251, 254);"] { - --tab-line-color: rgb(10, 132, 255) !important; -} -@media (-moz-gtk-csd-available) { - :root:not(:-moz-lwtheme) #tabbrowser-tabs { - --tab-line-color: Highlight !important; /* -moz-accent-color */ - } -} - .tab-context-line { display: -moz-inline-box !important; height: 2px !important; diff --git a/src/tab/sound_tab/_show_with_favicons.scss b/src/tab/sound_tab/_show_with_favicons.scss index a521b62..1b4ac30 100644 --- a/src/tab/sound_tab/_show_with_favicons.scss +++ b/src/tab/sound_tab/_show_with_favicons.scss @@ -69,7 +69,7 @@ --uc-sound-tab-label-position-x: 4px; } &[labeldirection=rtl], - :not([labeldirection]):-moz-locale-dir(rtl) { + &:not([labeldirection]):-moz-locale-dir(rtl) { --uc-sound-tab-label-position-x: -4px; } @@ -102,7 +102,7 @@ --uc-sound-tab-no-icon-label-position-x: 3px; } &[labeldirection=rtl], - :not([labeldirection]):-moz-locale-dir(rtl) { + &:not([labeldirection]):-moz-locale-dir(rtl) { --uc-sound-tab-no-icon-position-x: 0.5px; --uc-sound-tab-no-icon-label-position-x: -3px; } diff --git a/src/tab/unselected_tab/_bar_separator.scss b/src/tab/unselected_tab/_bar_separator.scss new file mode 100644 index 0000000..ebd2b52 --- /dev/null +++ b/src/tab/unselected_tab/_bar_separator.scss @@ -0,0 +1,55 @@ +// Using --tab-line-color at photon_line_contextline + +.tab-stack::before { + $barWidth: 3px; + $barMargin: $barWidth + 2px; + + /* Box Model */ + content: ""; + display: block; + position: absolute; + + /* Position */ + top: 50%; + left: 0%; + transform: translateX(calc((var(--inline-tab-padding) - #{ $barMargin }) / 2)) translateY(calc(-50% + var(--tab-block-margin))); + z-index: 1; + + /* Bar shape */ + width: $barWidth; + height: 20px; + + /* Bar Color */ + background-color: var(--uc-bar-separator-color, var(--tab-line-color, var(--lwt-tab-line-color, rgb(10, 132, 255)))); + + @include Animate { + transition-property: opacity, background-color; + transition-duration: 0.2s; + transition-timing-function: var(--animation-easing-function); /* cubic-bezier(.07, .95, 0, 1) */ + } +} + +:root[sessionrestored] { + .tabbrowser-tab[busy] { + .tab-stack::before { + --uc-bar-separator-color: currentColor; + opacity: 0.7; + } + + &[progress] .tab-stack::before { + --uc-bar-separator-color: var(--tab-loading-fill); + opacity: 1; + } + } + #TabsToolbar[brighttext] .tabbrowser-tab[busy] { + &[progress]:not([selected=true]) .tab-stack::before { + --uc-bar-separator-color: var(--lwt-tab-loading-fill-inactive, #84c1ff); + } + } + + @include Option("userChrome.tab.unloaded") { + .tabbrowser-tab[pending] .tab-stack::before { + opacity: 0.7; + } + } +} diff --git a/src/tab/unselected_tab/_dynamic_separator.scss b/src/tab/unselected_tab/_dynamic_separator.scss index 7d9f7bf..321437d 100644 --- a/src/tab/unselected_tab/_dynamic_separator.scss +++ b/src/tab/unselected_tab/_dynamic_separator.scss @@ -126,6 +126,13 @@ .tab-stack::before { opacity: 0 !important; } + + :root:not([uidensity="compact"]) #tabs-newtab-button > .toolbarbutton-icon { + margin-left: 2px; + } + :root[uidensity="compact"] #tabs-newtab-button > .toolbarbutton-icon { + margin-left: 1px; + } } /* Animate */ diff --git a/src/theme/_fully_color.scss b/src/theme/_fully_color.scss index 3f230c7..192df25 100644 --- a/src/theme/_fully_color.scss +++ b/src/theme/_fully_color.scss @@ -84,6 +84,8 @@ html#main-window menupopup:not(.in-menulist) { /* or var(--lwt-sidebar-highlight-background-color) If this value is used, unset is required in the default theme. */ + + background-color: var(--menuitem-hover-background-color) !important; } /* Fallback background - Set to Legacy. It will be removed Next update @@ -115,16 +117,16 @@ html#main-window menupopup:not(.in-menulist) { /*== Info Bar Color ==========================================================*/ .container.infobar { - background-color: var(--urlbar-box-bgcolor); + background-color: var(--urlbar-box-bgcolor) !important; } .notification-button { - background-color: var(--button-bgcolor); + background-color: var(--button-bgcolor) !important; &:hover { - background-color: var(--button-hover-bgcolor); + background-color: var(--button-hover-bgcolor) !important; } &:hover:active { - background-color: var(--button-active-bgcolor); + background-color: var(--button-active-bgcolor) !important; } } diff --git a/src/urlview/_focus_item_border.scss b/src/urlview/_focus_item_border.scss new file mode 100644 index 0000000..0d608ba --- /dev/null +++ b/src/urlview/_focus_item_border.scss @@ -0,0 +1,4 @@ +.urlbarView-row:not([type="tip"], [type="dynamic"])[selected] > .urlbarView-row-inner, +.urlbarView-row-inner[selected] { + box-shadow: 3px 0 var(--toolbar-field-focus-border-color) inset !important; +} diff --git a/src/urlview/_index.scss b/src/urlview/_index.scss index 229704b..2f19fb1 100644 --- a/src/urlview/_index.scss +++ b/src/urlview/_index.scss @@ -12,3 +12,8 @@ @include Option("userChrome.urlView.go_button_when_typing") { @import "go_button_when_typing"; } + +/*= Url View - Item Focus Border =============================================*/ +@include Option("userChrome.urlView.focus_item_border") { + @import "focus_item_border"; +} diff --git a/user.js b/user.js index 6082a5a..b9ea595 100644 --- a/user.js +++ b/user.js @@ -5,9 +5,6 @@ user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true); // Proton Enabled #127 || Removed at 97 #328 (Maintained for compatibility with ESR) user_pref("browser.proton.enabled", true); -// Proton Tooltip -user_pref("browser.proton.places-tooltip.enabled", true); - // Fill SVG Color user_pref("svg.context-properties.content.enabled", true); @@ -42,6 +39,7 @@ user_pref("userChrome.tab.photon_like_padding", false); // Photon user_pref("userChrome.tab.dynamic_separator", true); // Original, Proton user_pref("userChrome.tab.static_separator", false); // Photon user_pref("userChrome.tab.static_separator.selected_accent", false); // Just option +user_pref("userChrome.tab.bar_separator", false); // Just option user_pref("userChrome.tab.newtab_button_like_tab", true); // Original user_pref("userChrome.tab.newtab_button_smaller", false); // Photon @@ -125,6 +123,7 @@ user_pref("userChrome.rounding.square_tab", false); // user_pref("userChrome.rounding.square_menupopup", true); // user_pref("userChrome.rounding.square_menuitem", true); // user_pref("userChrome.rounding.square_field", true); +// user_pref("userChrome.rounding.square_urlView_item", true); // user_pref("userChrome.rounding.square_checklabel", true); // user_pref("userChrome.padding.first_tab", true); @@ -141,6 +140,7 @@ user_pref("userChrome.rounding.square_tab", false); // user_pref("userChrome.urlView.always_show_page_actions", true); // user_pref("userChrome.urlView.move_icon_to_left", true); // user_pref("userChrome.urlView.go_button_when_typing", true); +// user_pref("userChrome.urlView.focus_item_border", true); // user_pref("userChrome.tabbar.as_titlebar", true); // user_pref("userChrome.tabbar.fill_width", true);