diff --git a/css/leptonChrome.css b/css/leptonChrome.css index e42bea0..95247f1 100644 --- a/css/leptonChrome.css +++ b/css/leptonChrome.css @@ -55,6 +55,9 @@ menu.subviewbutton { padding-inline-end: 0 !important; } + #allTabsMenu-allTabsView .subviewbutton.subviewbutton-nav:not([shortcut]) { + padding-inline-end: var(--arrowpanel-menuitem-padding-inline) !important; + } /*= Icon Fill Color ==========================================================*/ :root:-moz-lwtheme { /* Auto create --lwt-toolbarbutton-icon-fill-attention, fix for nightly default theme @@ -3174,11 +3177,6 @@ --tab-border-radius: var(--toolbarbutton-border-radius); } } -@supports -moz-bool-pref("userChrome.rounding.square_dialog") { - .dialogBox { - border-radius: 0 !important; - } -} @supports -moz-bool-pref("userChrome.rounding.square_panel") { :root { --arrowpanel-border-radius: 0 !important; @@ -3204,6 +3202,11 @@ border-radius: 0 !important; } } +@supports -moz-bool-pref("userChrome.rounding.square_infobox") { + #sanitizeEverythingWarningBox { + border-radius: 0 !important; + } +} @supports -moz-bool-pref("userChrome.rounding.square_toolbar") { :root { --uc-rounding-toolbar: 0; @@ -3245,6 +3248,12 @@ border-radius: 0 !important; } } +@supports -moz-bool-pref("userChrome.rounding.square_dialog") { + dialog, + .dialogBox { + border-radius: 0 !important; + } +} /*= Library ==============================================================*/ @supports -moz-bool-pref("userChrome.rounding.square_button") { #placesToolbar > toolbarbutton, @@ -3360,6 +3369,10 @@ --newtab-button-minus-width-padding: 2px; --newtab-button-width-padding: calc(var(--toolbarbutton-inner-padding) - var(--newtab-button-minus-width-padding)); } + #widget-overflow-mainView #new-tab-button, + #widget-overflow-mainView #alltabs-button { + --newtab-button-width-padding: 0px; + } #new-tab-button > .toolbarbutton-icon, #alltabs-button > .toolbarbutton-badge-stack { /* Original: calc(2 * var(--toolbarbutton-inner-padding) + 16px) */ @@ -3371,14 +3384,14 @@ @supports not -moz-bool-pref("userChrome.tab.photon_like_padding") { #tabbrowser-tabs[haspinnedtabs]:not([positionpinnedtabs]) > #tabbrowser-arrowscrollbox - > .tabbrowser-tab[first-visible-unpinned-tab] { + > .tabbrowser-tab:is([first-visible-unpinned-tab], :nth-child(1 of :not([pinned], [hidden]))) { margin-inline-start: 1px !important; } } @supports -moz-bool-pref("userChrome.tab.photon_like_padding") { #tabbrowser-tabs[haspinnedtabs]:not([positionpinnedtabs]) > #tabbrowser-arrowscrollbox - > .tabbrowser-tab[first-visible-unpinned-tab] { + > .tabbrowser-tab:is([first-visible-unpinned-tab], :nth-child(1 of :not([pinned], [hidden]))) { margin-inline-start: 0 !important; } } @@ -3427,15 +3440,23 @@ max-width: var(--tab-max-width) !important; /* Original: 225px */ } /* neighbouring tabs should "pinch" together */ + #tabbrowser-tabs:not([hasadjacentnewtabbutton]):not([overflow="true"]) + > #tabbrowser-arrowscrollbox + > #tabbrowser-arrowscrollbox-periphery { + min-width: 3px; + } @supports not -moz-bool-pref("userChrome.tab.photon_like_padding") { @supports -moz-bool-pref("userChrome.tab.lepton_like_padding") { - .tabbrowser-tab { + .tabbrowser-tab[pinned] { padding-inline: 1px !important; } + .tabbrowser-tab:not([pinned]) { + margin-inline: -1px !important; + } } @supports not -moz-bool-pref("userChrome.tabbar.multi_row") { #TabsToolbar:not([multibar]) .tabbrowser-tab:not(:last-of-type) { - margin-inline-end: -1px !important; + margin-inline-end: -2px !important; } } } @@ -3927,6 +3948,9 @@ .unified-extensions-item-menu-button.subviewbutton { padding: 8px !important; /* Original: var(--arrowpanel-menuitem-padding-inline) */ } + :root[uidensity="compact"] :is(.unified-extensions-item, .unified-extensions-item-action-button) { + padding-block: 0 !important; + } } @supports -moz-bool-pref("userChrome.padding.panel_header") { .panel-header { @@ -6085,8 +6109,12 @@ /** Tab UI ********************************************************************/ /*= Tab - Connect to window ==============================================*/ @supports -moz-bool-pref("userChrome.tab.connect_to_window") { + #tabbrowser-tabs[orient="vertical"] { + --uc-tab-border-bottom-radius: var(--tab-border-radius); + } .tab-background { - border-radius: var(--tab-border-radius) var(--tab-border-radius) 0px 0px !important; + border-radius: var(--tab-border-radius) var(--tab-border-radius) var(--uc-tab-border-bottom-radius, 0px) + var(--uc-tab-border-bottom-radius, 0px) !important; margin-bottom: 0px !important; } .tab-content { @@ -6570,7 +6598,8 @@ } #tabbrowser-tabs[positionpinnedtabs], #tabbrowser-tabs:not([overflow]) .tabbrowser-tab:first-of-type, - #tabbrowser-tabs[overflow] .tabbrowser-tab[first-visible-unpinned-tab] { + #tabbrowser-tabs[overflow] + .tabbrowser-tab:is([first-visible-unpinned-tab], :nth-child(1 of :not([pinned], [hidden]))) { margin-left: var(--uc-tab-corner-half-size) !important; } .tabbrowser-tab:last-of-type { @@ -6773,11 +6802,13 @@ } } #navigator-toolbox:not([movingtab]) - .tabbrowser-tab[first-visible-unpinned-tab]:is([visuallyselected], [multiselected], :hover) + .tabbrowser-tab:is([first-visible-unpinned-tab], :nth-child(1 + of + :not([pinned], [hidden]))):is([visuallyselected], [multiselected], :hover) .tab-stack::before, #navigator-toolbox:not([movingtab]) #tabbrowser-arrowscrollbox[overflowing] - tab.tabbrowser-tab[first-visible-unpinned-tab] + tab.tabbrowser-tab:is([first-visible-unpinned-tab], :nth-child(1 of :not([pinned], [hidden]))) .tab-stack::before { opacity: 0 !important; } @@ -10192,6 +10223,9 @@ #appMenu-find-button2 { list-style-image: url("chrome://global/skin/icons/search-glass.svg"); } + #appMenu-translate-button { + list-style-image: url(chrome://browser/skin/translations.svg); + } #appMenu-zoom-controls2::before, #appMenu-zoom-controls::before { content: url("../icons/screenshot.svg"); @@ -10430,6 +10464,9 @@ #appMenu_menu_HelpPopup_reportPhishingtoolmenu { list-style-image: url("chrome://global/skin/icons/warning.svg"); } + #appMenu_helpSwitchDevice { + list-style-image: url("../icons/add-device.svg"); + } #appMenu_aboutName { list-style-image: url("chrome://global/skin/icons/info.svg"); } @@ -10569,6 +10606,8 @@ @supports -moz-bool-pref("userChrome.icon.menu") { menupopup menuitem:not([type="checkbox"][checked="true"], [type="radio"]), menupopup menu:not([type="checkbox"][checked="true"], [type="radio"]), + menupopup menuitem:not([type="checkbox"][checked="true"], [type="radio"]) > .menu-iconic-left > .menu-iconic-icon, + menupopup menu:not([type="checkbox"][checked="true"], [type="radio"]) > .menu-iconic-left > .menu-iconic-icon, #main-menubar > menu { -moz-appearance: none !important; /* Linux: menulist */ } @@ -10587,7 +10626,8 @@ menupopup:is(#organizeButtonPopup, #maintenanceButtonPopup) > menuitem:not(.menuitem-iconic, .bookmark-item, .in-menulist, [checked="true"]), menupopup:is(#viewMenuPopup, #maintenanceButtonPopup) > menu:not(.menu-iconic, .in-menulist, [checked="true"]), - menupopup:is(#context_sendTabToDevicePopupMenu, #context-sendpagetodevice-popup, #context-sendlinktodevice-popup) + menupopup:is(#context_sendTabToDevicePopupMenu, #context-sendpagetodevice-popup, #context-sendlinktodevice-popup, #frame + > menupopup) > menuitem, .openintabs-menuitem, #blockedPopupDontShowMessage, @@ -10643,7 +10683,8 @@ menupopup:is(#organizeButtonPopup, #maintenanceButtonPopup) > menuitem:not(.menuitem-iconic, .bookmark-item, .in-menulist, [checked="true"]), menupopup:is(#viewMenuPopup, #maintenanceButtonPopup) > menu:not(.menu-iconic, .in-menulist, [checked="true"]), - menupopup:is(#context_sendTabToDevicePopupMenu, #context-sendpagetodevice-popup, #context-sendlinktodevice-popup) + menupopup:is(#context_sendTabToDevicePopupMenu, #context-sendpagetodevice-popup, #context-sendlinktodevice-popup, #frame + > menupopup) > menuitem, .openintabs-menuitem, #blockedPopupDontShowMessage, @@ -10797,7 +10838,8 @@ menupopup:is(#organizeButtonPopup, #maintenanceButtonPopup) > menuitem:not(.menuitem-iconic, .bookmark-item, .in-menulist, [checked="true"]), menupopup:is(#viewMenuPopup, #maintenanceButtonPopup) > menu:not(.menu-iconic, .in-menulist, [checked="true"]), - menupopup:is(#context_sendTabToDevicePopupMenu, #context-sendpagetodevice-popup, #context-sendlinktodevice-popup) + menupopup:is(#context_sendTabToDevicePopupMenu, #context-sendpagetodevice-popup, #context-sendlinktodevice-popup, #frame + > menupopup) > menuitem, .openintabs-menuitem, #blockedPopupDontShowMessage, @@ -10821,7 +10863,8 @@ menupopup:is(#organizeButtonPopup, #maintenanceButtonPopup) > menuitem:not(.menuitem-iconic, .bookmark-item, .in-menulist, [checked="true"]), menupopup:is(#viewMenuPopup, #maintenanceButtonPopup) > menu:not(.menu-iconic, .in-menulist, [checked="true"]), - menupopup:is(#context_sendTabToDevicePopupMenu, #context-sendpagetodevice-popup, #context-sendlinktodevice-popup) + menupopup:is(#context_sendTabToDevicePopupMenu, #context-sendpagetodevice-popup, #context-sendlinktodevice-popup, #frame + > menupopup) > menuitem, .openintabs-menuitem, #blockedPopupDontShowMessage, @@ -11474,6 +11517,37 @@ --menuitem-image: url("chrome://browser/skin/bookmark.svg"); } } + /*= main-context-menu-frame ==================================================*/ + #context-showonlythisframe { + --menuitem-image: url("../icons/eye-show.svg"); + } + #context-openframeintab { + --menuitem-image: url("chrome://browser/skin/new-tab.svg"); + } + #context-openframe { + --menuitem-image: url("chrome://browser/skin/window.svg"); + } + #context-reloadframe { + --menuitem-image: url("../icons/reload.svg"); + } + #context-bookmarkframe { + --menuitem-image: url("chrome://browser/skin/bookmark.svg"); + } + #context-saveframe { + --menuitem-image: url("../icons/toolbarButton-download.svg"); + } + #context-printframe { + --menuitem-image: url("chrome://global/skin/icons/print.svg"); + } + #context-take-frame-screenshot { + --menuitem-image: url("chrome://browser/skin/screenshot.svg"); + } + #context-viewframesource { + --menuitem-image: url("../icons/document-search.svg"); + } + #context-viewframeinfo { + --menuitem-image: url("chrome://global/skin/icons/info.svg"); + } /*= Tab Mix Plus =============================================================*/ #tm-autoreload_menu { --menuitem-image: url("../icons/timer10.svg"); @@ -12141,6 +12215,12 @@ #menu_HelpPopup_reportPhishingtoolmenu { --menuitem-image: url("chrome://global/skin/icons/warning.svg"); } + #menu_HelpPopup_reportPhishingErrortoolmenu { + --menuitem-image: url("../icons/checkmark-circle.svg"); + } + #helpSwitchDevice { + --menuitem-image: url("../icons/add-device.svg"); + } #aboutName { --menuitem-image: url("chrome://global/skin/icons/info.svg"); } @@ -12204,7 +12284,8 @@ } } } - /** Waterfox ******************************************************************/ + /** Icons for fork browsers ***************************************************/ + /*= Waterfox =================================================================*/ @supports -moz-bool-pref("userChrome.icon.panel") { #appMenu-restart-button { list-style-image: url("../icons/refresh-cw.svg") !important; @@ -12221,7 +12302,7 @@ --menuitem-image: url("../icons/private-favicon.svg"); } } - /** Tor Browser ***************************************************************/ + /*= Tor Browser ==============================================================*/ @supports -moz-bool-pref("userChrome.icon.panel") { #appMenuNewIdentity { list-style-image: url("chrome://browser/skin/new_identity.svg"); @@ -12244,4 +12325,35 @@ --menuitem-image: url("chrome://browser/skin/onion.svg"); } } + /*= Floorp Browser ===========================================================*/ + @supports -moz-bool-pref("userChrome.icon.panel") { + #rebootappmenu { + list-style-image: url("../icons/refresh-cw.svg"); + } + #openprofiledir { + list-style-image: url("../icons//folder.svg"); + } + } + @supports -moz-bool-pref("userChrome.icon.menu") { + #usercssloader-menu { + --menuitem-image: url("../icons/developer.svg"); + } + #toggle_statusBar { + --menuitem-image: url("../icons/pulse-square.svg"); + } + #muteMenu { + --menuitem-image: url("chrome://browser/skin/tabbrowser/tab-audio-muted-small.svg"); + stroke: transparent !important; + } + #unloadWebpanelMenu { + --menuitem-image: url("../icons/tab-unload.svg"); + } + #changeUAWebpanelMenu { + --menuitem-image: url("chrome://devtools/skin/images/command-responsivemode.svg"); + fill-opacity: 0; + } + #deleteWebpanelMenu { + --menuitem-image: url("chrome://global/skin/icons/delete.svg"); + } + } } diff --git a/css/leptonContent.css b/css/leptonContent.css index d342475..d83e508 100644 --- a/css/leptonContent.css +++ b/css/leptonContent.css @@ -1,5 +1,37 @@ @namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); @namespace html url("http://www.w3.org/1999/xhtml"); +/** Compatibility *************************************************************/ +@-moz-document url-prefix("about:preferences") { + .content-blocking-warning.info-box-container > hbox > .content-blocking-warning-image { + margin-inline-start: -7px !important; + margin-inline-end: 8px !important; + width: 20px !important; + } + #pane-experimental-search-results-header, + #pane-experimental-subtitle { + min-height: 27px !important; + padding-inline-start: 35px !important; + } + #firefoxExperimentalCategory:not([hidden="true"]) { + display: inline-block; + } + #firefoxExperimentalCategory > label { + float: left; + } + #firefoxExperimentalCategory > hbox { + transform: translateY(5px); + } + #pane-experimental-featureGates > html|p[data-l10n-id="pane-experimental-description2"] { + border-bottom: 1px solid var(--in-content-border-color); + padding-bottom: 1.5em; + } +} +@-moz-document url-prefix("about:addons") { + #updates-message + .page-options-menu > .more-options-button { + box-sizing: content-box; + padding: 0 !important; + } +} /** Video player **************************************************************/ /* Control Bar Size */ @supports -moz-bool-pref("userContent.player.size") { @@ -2834,21 +2866,11 @@ } } @supports -moz-bool-pref("userChrome.rounding.square_dialog") { - @-moz-document url-prefix("about:") { - .dialogBox { - border-radius: 0 !important; - } - } @-moz-document url("about:home"), url("about:newtab") { .modal { border-radius: 0 !important; } } - @-moz-document regexp(".*.pdf$") { - dialog { - border-radius: 0 !important; - } - } } @supports -moz-bool-pref("userChrome.rounding.square_checklabel") { @-moz-document url-prefix("about:"), regexp("^chrome://\\w+/content/.*.xhtml$") @@ -2897,6 +2919,7 @@ @supports -moz-bool-pref("userChrome.rounding.square_menupopup") { @-moz-document url-prefix("about:"), url-prefix("chrome://") { + panel, menupopup { --panel-border-radius: 0 !important; } @@ -2944,6 +2967,23 @@ border-radius: 0 !important; } } + @-moz-document url-prefix("about:firefoxview") { + .card, + .card::before, + .empty-container, + .synced-tab-a, + .synced-tab-li-placeholder { + border-radius: 0 !important; + } + } +} +@-moz-document url-prefix("about:"), regexp(".*.pdf$") { + @supports -moz-bool-pref("userChrome.rounding.square_dialog") { + dialog, + .dialogBox { + border-radius: 0 !important; + } + } } @-moz-document url("chrome://browser/content/places/places.xhtml") { @@ -2979,7 +3019,9 @@ @-moz-document url("chrome://browser/content/places/places.xhtml"), url("about:downloads") { menupopup menuitem:not([type="checkbox"][checked="true"], [type="radio"]), - menupopup menu:not([type="checkbox"][checked="true"], [type="radio"]) { + menupopup menu:not([type="checkbox"][checked="true"], [type="radio"]), + menupopup menuitem:not([type="checkbox"][checked="true"], [type="radio"]) > .menu-iconic-left > .menu-iconic-icon, + menupopup menu:not([type="checkbox"][checked="true"], [type="radio"]) > .menu-iconic-left > .menu-iconic-icon { -moz-appearance: none !important; /* Linux: menulist */ } menupopup:is(#placesContext, #placesColumnsContext, #downloadsContextMenu) diff --git a/docs/README.md b/docs/README.md index 3174acb..d82589f 100644 --- a/docs/README.md +++ b/docs/README.md @@ -71,23 +71,23 @@ yarn validate ``` ### Project Structure -- [Doc: Project\_Structure.md](./Project_Structure.md). +- [Doc: Project\_Structure.md](./Project_Structure.md) ### Rules This is a rough guideline. (Not forced) -- [Doc: Rules.md](./Rules.md). +- [Doc: Rules.md](./Rules.md) ## Advanced Customizing ### Smart Bookmarks -- [Doc: Smart_Bookmarks.md](./Smart_Bookmarks.md). +- [Doc: Smart_Bookmarks.md](./Smart_Bookmarks.md) ### Policies - [Support Mozilla: Policies overview](https://support.mozilla.org/en-US/products/firefox-enterprise/policies-customization-enterprise/policies-overview-enterprise) - [Policy Templates](https://github.com/mozilla/policy-templates) ### Preference -- [Doc: Preference.md](./Preference.md). +- [Doc: Preference.md](./Preference.md) ## User Custom CSS ### Basics @@ -117,4 +117,4 @@ Advanced CSS keywords: - [UDN: Mozilla CSS extensions](https://udn.realityripple.com/docs/Web/CSS/Mozilla_Extensions) ### Restrictions -- [Doc: Restrictions.md](./Restrictions.md). +- [Doc: Restrictions.md](./Restrictions.md) diff --git a/docs/Restrictions.md b/docs/Restrictions.md index 6baa6a9..90518f0 100644 --- a/docs/Restrictions.md +++ b/docs/Restrictions.md @@ -40,6 +40,8 @@ Complex UI emulation is quite tricky. [[Linux's Proton UI Library Chrome](https: [Bookmark menu](https://github.com/black7375/Firefox-UI-Fix/issues/136) is also similar example([code](https://github.com/black7375/Firefox-UI-Fix/blob/36e9c94844fee2417662251cbd50c2b874d5b576/userChrome.css#L4745-L4840)). +In the case of the Mac native menu, there may be a menu that [cannot be displayed icon or added at the OS level](https://github.com/black7375/Firefox-UI-Fix/issues/699). + ### Firefox Version There may be changes that change by version of Firefox. @@ -62,6 +64,7 @@ This project is using SCSS to make a [reusable compatible mixins](../src/utils). - `:root[lwtheme-mozlightdark]` is removed [#288](https://github.com/black7375/Firefox-UI-Fix/issues/288) - `-moz-os-version` -> `-moz-platform` [#331](https://github.com/black7375/Firefox-UI-Fix/issues/331) - Breaking change with `-moz-accent-color`/`-moz-accent-color-foreground` -> `AccentColor`/`AccentColorText` [#433](https://github.com/black7375/Firefox-UI-Fix/issues/433) +- `-moz-box` to `flex` layout [670](https://github.com/black7375/Firefox-UI-Fix/issues/670) ### Side Effect Only CSS modifications can cause bugs that are hard to think of in the general web, such as the [context menu not appearing](https://github.com/black7375/Firefox-UI-Fix/issues/114). @@ -98,6 +101,7 @@ Fork browsers have a different installation location ([bash](https://github.com/ List of fork browsers supported by this project: - [Waterfox](https://www.waterfox.net/) +- [Floorp](https://floorp.app/) - [LibreWolf](https://librewolf.net/) - [Tor Browser](https://www.torproject.org/download/) - [Pulse Browser](https://pulsebrowser.app/) diff --git a/icons/checkmark-circle.svg b/icons/checkmark-circle.svg index accc8e0..9d498da 100644 --- a/icons/checkmark-circle.svg +++ b/icons/checkmark-circle.svg @@ -1,3 +1,3 @@ - + diff --git a/src/compatibility/_theme.scss b/src/compatibility/_theme.scss index 331a8a2..94de9e9 100644 --- a/src/compatibility/_theme.scss +++ b/src/compatibility/_theme.scss @@ -30,6 +30,9 @@ menu.subviewbutton { padding-inline-end: 0 !important; } +#allTabsMenu-allTabsView .subviewbutton.subviewbutton-nav:not([shortcut]) { + padding-inline-end: var(--arrowpanel-menuitem-padding-inline) !important; // #717 +} /*= Icon Fill Color ==========================================================*/ :root:-moz-lwtheme { diff --git a/src/contents/_compatibility.scss b/src/contents/_compatibility.scss new file mode 100644 index 0000000..d9863f1 --- /dev/null +++ b/src/contents/_compatibility.scss @@ -0,0 +1,39 @@ +@include moz-document(url-prefix "about:preferences") { + .content-blocking-warning.info-box-container > hbox > .content-blocking-warning-image { + margin-inline-start: -7px !important; + margin-inline-end: 8px !important; // Original: 6px + width: 20px !important; // ESR(102): 16px, Nightly(116): 27px + } + + #pane-experimental-search-results-header, + #pane-experimental-subtitle { + min-height: 27px !important; // Original: 30px + padding-inline-start: 35px !important; + } + + // Align & Separator #722 + #firefoxExperimentalCategory { + &:not([hidden="true"]) { + display: inline-block; + } + + > label { + float: left; + } + > hbox { + transform: translateY(5px); + } + } + #pane-experimental-featureGates > html|p[data-l10n-id="pane-experimental-description2"] { + border-bottom: 1px solid var(--in-content-border-color); + padding-bottom: 1.5em; + } +} + +// #695 +@include moz-document(url-prefix "about:addons") { + #updates-message + .page-options-menu > .more-options-button { + box-sizing: content-box; + padding: 0 !important; + } +} diff --git a/src/contents/_rounding.scss b/src/contents/_rounding.scss index e6db50b..1056498 100644 --- a/src/contents/_rounding.scss +++ b/src/contents/_rounding.scss @@ -49,23 +49,11 @@ } @include Option("userChrome.rounding.square_dialog") { - @include moz-document(url-prefix "about:") { - .dialogBox { - border-radius: 0 !important; - } - } - @include moz-document(url "about:home", url "about:newtab") { .modal { border-radius: 0 !important; } } - - @include moz-document(regexp ".*\.pdf$") { - dialog { - border-radius: 0 !important; - } - } } @include Option("userChrome.rounding.square_checklabel") { @@ -125,6 +113,7 @@ @include Option("userChrome.rounding.square_menupopup") { @include moz-document(url-prefix "about:", url-prefix "chrome://") { + panel, menupopup { --panel-border-radius: 0 !important; } @@ -180,4 +169,14 @@ border-radius: 0 !important; } } + + @include moz-document(url-prefix "about:firefoxview") { + .card, + .card::before, // .zap-card border + .empty-container, + .synced-tab-a, + .synced-tab-li-placeholder { + border-radius: 0 !important; + } + } } diff --git a/src/icons/_global_menu.scss b/src/icons/_global_menu.scss index ff6f57c..03b199d 100644 --- a/src/icons/_global_menu.scss +++ b/src/icons/_global_menu.scss @@ -322,6 +322,10 @@ menu.share-tab-url-item { --menuitem-image: url("chrome://global/skin/icons/warning.svg"); } #menu_HelpPopup_reportPhishingErrortoolmenu { + --menuitem-image: url("../icons/checkmark-circle.svg"); +} +#helpSwitchDevice { + --menuitem-image: url("../icons/add-device.svg"); } #aboutName { diff --git a/src/icons/_index.scss b/src/icons/_index.scss index f158aa0..38c116d 100644 --- a/src/icons/_index.scss +++ b/src/icons/_index.scss @@ -38,8 +38,5 @@ } } -/** Waterfox ******************************************************************/ -@import "waterfox"; - -/** Tor Browser ***************************************************************/ -@import "tor_browser"; +/** Icons for fork browsers ***************************************************/ +@import "fork_browsers/index"; diff --git a/src/icons/_panel.scss b/src/icons/_panel.scss index c8f00a1..007de7d 100644 --- a/src/icons/_panel.scss +++ b/src/icons/_panel.scss @@ -95,6 +95,9 @@ #appMenu-find-button2 { list-style-image: url("chrome://global/skin/icons/search-glass.svg"); } + #appMenu-translate-button { + list-style-image: url(chrome://browser/skin/translations.svg); + } #appMenu-zoom-controls2::before, /* Legacy v104 */ #appMenu-zoom-controls::before { content: url("../icons/screenshot.svg"); @@ -345,6 +348,9 @@ panelMenuBookmarkThisPage[starred] { #appMenu_menu_HelpPopup_reportPhishingtoolmenu { list-style-image: url("chrome://global/skin/icons/warning.svg"); } +#appMenu_helpSwitchDevice { + list-style-image: url("../icons/add-device.svg"); +} #appMenu_aboutName { list-style-image: url("chrome://global/skin/icons/info.svg"); } diff --git a/src/icons/context_menu/_content_area.scss b/src/icons/context_menu/_content_area.scss index 8f76a99..8201c05 100644 --- a/src/icons/context_menu/_content_area.scss +++ b/src/icons/context_menu/_content_area.scss @@ -265,6 +265,45 @@ } } +/*= main-context-menu-frame ==================================================*/ +#context-showonlythisframe { + --menuitem-image: url("../icons/eye-show.svg"); +} +#context-openframeintab { + --menuitem-image: url("chrome://browser/skin/new-tab.svg"); +} +#context-openframe { + --menuitem-image: url("chrome://browser/skin/window.svg"); +} + +#context-reloadframe { + --menuitem-image: url("../icons/reload.svg"); +} + +#context-bookmarkframe { + --menuitem-image: url("chrome://browser/skin/bookmark.svg"); +} +#context-saveframe{ + --menuitem-image: url("../icons/toolbarButton-download.svg"); +} + +#context-printframe { + --menuitem-image: url("chrome://global/skin/icons/print.svg"); +} + +#context-take-frame-screenshot { + --menuitem-image: url("chrome://browser/skin/screenshot.svg"); +} + +#context-viewframesource { + --menuitem-image: url("../icons/document-search.svg"); +} +#context-viewframeinfo { + --menuitem-image: url("chrome://global/skin/icons/info.svg"); +} +#context-frameOsPid { +} + /*= Tab Mix Plus =============================================================*/ #tm-autoreload_menu { // --menuitem-image: url("../icons/reload-auto.svg"); diff --git a/src/icons/fork_browsers/_floorp.scss b/src/icons/fork_browsers/_floorp.scss new file mode 100644 index 0000000..0b9f576 --- /dev/null +++ b/src/icons/fork_browsers/_floorp.scss @@ -0,0 +1,34 @@ +@include Option("userChrome.icon.panel") { + #rebootappmenu { + list-style-image: url("../icons/refresh-cw.svg"); + } + + #openprofiledir { + list-style-image: url("../icons//folder.svg"); + } +} +@include Option("userChrome.icon.menu") { + #usercssloader-menu { + --menuitem-image: url("../icons/developer.svg"); + } + + #toggle_statusBar { + --menuitem-image: url("../icons/pulse-square.svg"); + } + + // Sidebar + #muteMenu { + --menuitem-image: url("chrome://browser/skin/tabbrowser/tab-audio-muted-small.svg"); + stroke: transparent !important; + } + #unloadWebpanelMenu { + --menuitem-image: url("../icons/tab-unload.svg"); + } + #changeUAWebpanelMenu { + --menuitem-image: url("chrome://devtools/skin/images/command-responsivemode.svg"); + fill-opacity: 0; + } + #deleteWebpanelMenu { + --menuitem-image: url("chrome://global/skin/icons/delete.svg"); + } +} diff --git a/src/icons/fork_browsers/_index.scss b/src/icons/fork_browsers/_index.scss new file mode 100644 index 0000000..2a832db --- /dev/null +++ b/src/icons/fork_browsers/_index.scss @@ -0,0 +1,8 @@ +/*= Waterfox =================================================================*/ +@import "waterfox"; + +/*= Tor Browser ==============================================================*/ +@import "tor_browser"; + +/*= Floorp Browser ===========================================================*/ +@import "floorp"; diff --git a/src/icons/_tor_browser.scss b/src/icons/fork_browsers/_tor_browser.scss similarity index 100% rename from src/icons/_tor_browser.scss rename to src/icons/fork_browsers/_tor_browser.scss diff --git a/src/icons/_waterfox.scss b/src/icons/fork_browsers/_waterfox.scss similarity index 100% rename from src/icons/_waterfox.scss rename to src/icons/fork_browsers/_waterfox.scss diff --git a/src/icons/layout/_menu.scss b/src/icons/layout/_menu.scss index 96e4fa8..2a390ae 100644 --- a/src/icons/layout/_menu.scss +++ b/src/icons/layout/_menu.scss @@ -6,7 +6,7 @@ $_layoutCommonMenus: ( $_iconMenuPopupMenus, $_libraryMenuitem, $_libraryMenu, - $_sendTabMenuitem, + $_otherPopupMenuitem, $_otherIconMenu, "#context_openANewTab.tabmix-newtab-menu-icon" ); diff --git a/src/icons/layout/_menu_common.scss b/src/icons/layout/_menu_common.scss index 47ede9d..661481d 100644 --- a/src/icons/layout/_menu_common.scss +++ b/src/icons/layout/_menu_common.scss @@ -29,7 +29,8 @@ $_iconMenuPopupMenus: selector.nest( $_globalMenus: "#main-menubar > menu"; $_libraryMenuitem: "menupopup:is(#organizeButtonPopup, #maintenanceButtonPopup) > #{$_iconMenuitem}"; $_libraryMenu: "menupopup:is(#viewMenuPopup, #maintenanceButtonPopup) > #{$_iconMenu}"; -$_sendTabMenuitem: "menupopup:is(#context_sendTabToDevicePopupMenu, #context-sendpagetodevice-popup, #context-sendlinktodevice-popup) > menuitem"; +$_sendTabMenuPopup: "#context_sendTabToDevicePopupMenu, #context-sendpagetodevice-popup, #context-sendlinktodevice-popup"; +$_otherPopupMenuitem: "menupopup:is(#{$_sendTabMenuPopup}, #frame > menupopup) > menuitem"; $_otherIconMenu: ".openintabs-menuitem, #blockedPopupDontShowMessage, #BMB_viewBookmarksToolbar"; //-- Mixin --------------------------------------------------------------------- @@ -38,6 +39,8 @@ $_initialMenus: selector.append( "menupopup menuitem, menupopup menu", ":not([type=\"checkbox\"][checked=\"true\"], [type=\"radio\"])" ); +$_initialMenus: $_initialMenus + "," + + selector.nest($_initialMenus, "> .menu-iconic-left > .menu-iconic-icon"); @mixin _initial_menus() { -moz-appearance: none !important; /* Linux: menulist */ } diff --git a/src/leptonContent.scss b/src/leptonContent.scss index 1c85784..0ef3035 100644 --- a/src/leptonContent.scss +++ b/src/leptonContent.scss @@ -11,6 +11,9 @@ @namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); @namespace html url("http://www.w3.org/1999/xhtml"); +/** Compatibility *************************************************************/ +@import "contents/compatibility"; + /** Video player **************************************************************/ @import "contents/video_player"; @@ -39,6 +42,10 @@ /** Rounding ******************************************************************/ @import "contents/rounding"; +@include moz-document(url-prefix "about:", regexp ".*\.pdf$") { + @import "rounding/dialog"; +} + // Put here to include library as a tab @include moz-document(url "chrome://browser/content/places/places.xhtml") { @import "rounding/library"; diff --git a/src/padding/_panel.scss b/src/padding/_panel.scss index 716d2c4..757c77e 100644 --- a/src/padding/_panel.scss +++ b/src/padding/_panel.scss @@ -30,11 +30,18 @@ } } -// #603 -.unified-extensions-item-menu-button.subviewbutton { - padding: 8px !important; /* Original: var(--arrowpanel-menuitem-padding-inline) */ +.unified-extensions-item { + // #603 + &-menu-button.subviewbutton { + padding: 8px !important; /* Original: var(--arrowpanel-menuitem-padding-inline) */ + } + // Or + // toolbaritem.unified-extensions-item[unified-extensions="true"] .unified-extensions-item-menu-button.subviewbutton { + // padding: var(--arrowpanel-menuitem-padding-inline) !important; + // } + + // #711 + :root[uidensity="compact"] :is(&, &-action-button) { + padding-block: 0 !important; + } } -// Or -// toolbaritem.unified-extensions-item[unified-extensions="true"] .unified-extensions-item-menu-button.subviewbutton { -// padding: var(--arrowpanel-menuitem-padding-inline) !important; -// } diff --git a/src/padding/_tabbar_width.scss b/src/padding/_tabbar_width.scss index 5535a03..c2f84ca 100644 --- a/src/padding/_tabbar_width.scss +++ b/src/padding/_tabbar_width.scss @@ -29,6 +29,12 @@ --newtab-button-minus-width-padding: 2px; --newtab-button-width-padding: calc(var(--toolbarbutton-inner-padding) - var(--newtab-button-minus-width-padding)); } +#widget-overflow-mainView { + #new-tab-button, + #alltabs-button { + --newtab-button-width-padding: 0px; + } +} #new-tab-button > .toolbarbutton-icon, #alltabs-button > .toolbarbutton-badge-stack { /* Original: calc(2 * var(--toolbarbutton-inner-padding) + 16px) */ @@ -42,14 +48,14 @@ @include NotOption("userChrome.tab.photon_like_padding") { #tabbrowser-tabs[haspinnedtabs]:not([positionpinnedtabs]) > #tabbrowser-arrowscrollbox - > .tabbrowser-tab[first-visible-unpinned-tab] { + > .tabbrowser-tab:is([first-visible-unpinned-tab], :nth-child(1 of :not([pinned], [hidden]))) { margin-inline-start: 1px !important; } } @include Option("userChrome.tab.photon_like_padding") { #tabbrowser-tabs[haspinnedtabs]:not([positionpinnedtabs]) > #tabbrowser-arrowscrollbox - > .tabbrowser-tab[first-visible-unpinned-tab] { + > .tabbrowser-tab:is([first-visible-unpinned-tab], :nth-child(1 of :not([pinned], [hidden]))) { margin-inline-start: 0 !important; } } @@ -89,15 +95,25 @@ } /* neighbouring tabs should "pinch" together */ +#tabbrowser-tabs:not([hasadjacentnewtabbutton]):not([overflow="true"]) + > #tabbrowser-arrowscrollbox > #tabbrowser-arrowscrollbox-periphery { + min-width: 3px; // With Panorama Tab Groups #643 +} @include NotOption("userChrome.tab.photon_like_padding") { @include Option("userChrome.tab.lepton_like_padding") { .tabbrowser-tab { - padding-inline: 1px !important; + // Original: padding-inline 2px, margin-inline 0px #643 + &[pinned] { + padding-inline: 1px !important; + } + &:not([pinned]) { + margin-inline: -1px !important; + } } } @include NotOption("userChrome.tabbar.multi_row") { #TabsToolbar:not([multibar]) .tabbrowser-tab:not(:last-of-type) { - margin-inline-end: -1px !important; + margin-inline-end: -2px !important; } } } diff --git a/src/rounding/_dialog.scss b/src/rounding/_dialog.scss new file mode 100644 index 0000000..cd67b76 --- /dev/null +++ b/src/rounding/_dialog.scss @@ -0,0 +1,5 @@ +@include Option("userChrome.rounding.square_dialog") { + dialog, .dialogBox { + border-radius: 0 !important; + } +} diff --git a/src/rounding/_index.scss b/src/rounding/_index.scss index 577efc6..6bfaa25 100644 --- a/src/rounding/_index.scss +++ b/src/rounding/_index.scss @@ -1,5 +1,6 @@ /** Rounding ******************************************************************/ @import "square"; +@import "dialog"; @import "library"; /* diff --git a/src/rounding/_square.scss b/src/rounding/_square.scss index 75afd69..5722402 100644 --- a/src/rounding/_square.scss +++ b/src/rounding/_square.scss @@ -38,12 +38,6 @@ } } -@include Option("userChrome.rounding.square_dialog") { - .dialogBox { - border-radius: 0 !important; - } -} - @include Option("userChrome.rounding.square_panel") { :root { --arrowpanel-border-radius: 0 !important; @@ -71,6 +65,12 @@ } } +@include Option("userChrome.rounding.square_infobox") { + #sanitizeEverythingWarningBox { + border-radius: 0 !important; + } +} + @include Option("userChrome.rounding.square_toolbar") { :root { --uc-rounding-toolbar: 0; diff --git a/src/tab/_connect_to_window.scss b/src/tab/_connect_to_window.scss index bf4b9da..641130a 100644 --- a/src/tab/_connect_to_window.scss +++ b/src/tab/_connect_to_window.scss @@ -1,5 +1,8 @@ +#tabbrowser-tabs[orient="vertical"] { + --uc-tab-border-bottom-radius: var(--tab-border-radius); +} .tab-background { - border-radius: var(--tab-border-radius) var(--tab-border-radius) 0px 0px !important; + border-radius: var(--tab-border-radius) var(--tab-border-radius) var(--uc-tab-border-bottom-radius, 0px) var(--uc-tab-border-bottom-radius, 0px) !important; margin-bottom: 0px !important; } diff --git a/src/tab/selected_tab/_bottom_rounded_corner_others.scss b/src/tab/selected_tab/_bottom_rounded_corner_others.scss index 1bb55a5..e40972a 100644 --- a/src/tab/selected_tab/_bottom_rounded_corner_others.scss +++ b/src/tab/selected_tab/_bottom_rounded_corner_others.scss @@ -218,7 +218,7 @@ #tabbrowser-tabs { &[positionpinnedtabs], &:not([overflow]) .tabbrowser-tab:first-of-type, - &[overflow] .tabbrowser-tab[first-visible-unpinned-tab] { + &[overflow] .tabbrowser-tab:is([first-visible-unpinned-tab], :nth-child(1 of :not([pinned], [hidden]))) { margin-left: var(--uc-tab-corner-half-size) !important; } } diff --git a/src/tab/unselected_tab/_dynamic_separator.scss b/src/tab/unselected_tab/_dynamic_separator.scss index d9c4f3a..15292a9 100644 --- a/src/tab/unselected_tab/_dynamic_separator.scss +++ b/src/tab/unselected_tab/_dynamic_separator.scss @@ -96,11 +96,11 @@ } #navigator-toolbox:not([movingtab]) - .tabbrowser-tab[first-visible-unpinned-tab]:is([visuallyselected], [multiselected], :hover) + .tabbrowser-tab:is([first-visible-unpinned-tab], :nth-child(1 of :not([pinned], [hidden]))):is([visuallyselected], [multiselected], :hover) .tab-stack::before, #navigator-toolbox:not([movingtab]) #tabbrowser-arrowscrollbox[overflowing] - tab.tabbrowser-tab[first-visible-unpinned-tab] + tab.tabbrowser-tab:is([first-visible-unpinned-tab], :nth-child(1 of :not([pinned], [hidden]))) .tab-stack::before { opacity: 0 !important; } diff --git a/userChrome.css b/userChrome.css index 1836c86..7fb4cfc 100644 --- a/userChrome.css +++ b/userChrome.css @@ -6,8 +6,8 @@ /* Enable option to edit bookmark URLs under Add Bookmark (blue star) menu */ /* - * #editBMPanel_locationRow { - * visibility: visible !important; + * .editBMPanel_locationRow { + * display: initial !important; * } */