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"