diff --git a/.github/actions/node-setup/action.yml b/.github/actions/node-setup/action.yml
new file mode 100644
index 0000000..9848f55
--- /dev/null
+++ b/.github/actions/node-setup/action.yml
@@ -0,0 +1,25 @@
+name: "Setup"
+
+runs:
+ using: "composite"
+ steps:
+ # https://github.com/actions/cache/blob/main/examples.md#node---yarn
+ - name: Get yarn cache directory path
+ id: yarn-cache-dir-path
+ run: echo "::set-output name=dir::$(yarn cache dir)"
+ shell: bash
+
+ - name: Node cache
+ id: node-cache
+ uses: actions/cache@v3
+ with:
+ path: |
+ ${{ steps.yarn-cache-dir-path.outputs.dir }}
+ "**/node_modules"
+ key: ${{ runner.os }}-node-${{ hashFiles('**/yarn.lock') }}
+ restore-keys: |
+ ${{ runner.os }}-node-
+
+ - name: Package Install
+ run: yarn install
+ shell: bash
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 06d708a..853e83f 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -21,20 +21,10 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@v2
+ uses: actions/checkout@v3
- - name: Node cache
- id: node-cache
- uses: actions/cache@v2
- with:
- path: node_modules
- key: ${{ runner.os }}-node-${{ hashFiles('**/yarn.lock') }}
- restore-keys: |
- ${{ runner.os }}-node-
-
- - name: Package Install
- if: steps.node-cache.outputs.cache-hit != 'true'
- run: yarn install
+ - name: Setup
+ uses: ./.github/actions/node-setup
- name: Build
run: yarn build
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 9788e49..4f637e8 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -7,7 +7,8 @@ jobs:
sync-branches:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
+ fetch-depth: 0
- name: Merge master -> photon-style
uses: devmasx/merge-branch@1.4.0
@@ -38,7 +39,7 @@ jobs:
- name: "Lepton-Proton-Style"
branch: "proton-style"
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
with:
ref: ${{ matrix.branch }}
diff --git a/CREDITS b/CREDITS
index b5a5812..9b18c90 100644
--- a/CREDITS
+++ b/CREDITS
@@ -7,6 +7,9 @@
----------
Major Contributors
+N: 2641a40fd44383320adde4b027a1d0b03bd550
+W: https://github.com/2641a40fd44383320adde4b027a1d0b03bd550
+
N: AveYo
E: aveyo@yahoo.com
W: https://github.com/AveYo
@@ -26,6 +29,10 @@ N: Jani Haiko
E: haiko.jani@gmail.com
W: https://github.com/ojaha065
+N: Jiho Lee
+E: optional.int@kakao.com
+W: https://github.com/DPS0340
+
N: kanlukasz
W: https://github.com/kanlukasz
@@ -39,9 +46,6 @@ W: https://www.oss.kr/
----------
Contributors
-N: 2641a40fd44383320adde4b027a1d0b03bd550
-W: https://github.com/2641a40fd44383320adde4b027a1d0b03bd550
-
N: 7k5x
E: 7k5xlp0onfire@gmail.com
W: https://github.com/7k5x
diff --git a/README.org b/README.org
index 8a2782f..d4ae800 100644
--- a/README.org
+++ b/README.org
@@ -186,6 +186,7 @@ Thanks to all sponsors & contributors to this project for providing help and dev
[[https://www.oss.kr/][https://user-images.githubusercontent.com/25581533/203210367-9f2eed69-666a-4218-acde-128892aa09d8.png]]
[[https://github.com/ojaha065][@@html:
@@]]
+[[https://github.com/DPS0340][@@html:
@@]]
[[https://github.com/kanlukasz][@@html:
@@]]
[[https://github.com/nikkehtine][@@html:
@@]]
diff --git a/__tests__/native_menu.test.scss b/__tests__/native_menu.test.scss
index 7b6d005..ba7189b 100644
--- a/__tests__/native_menu.test.scss
+++ b/__tests__/native_menu.test.scss
@@ -9,6 +9,9 @@
@include native_menu.NativeMenu {
@include example;
}
+ @include native_menu.NativeMenuPopup {
+ @include example;
+ }
@include native_menu.Win10_NativeMenu {
@include example;
}
@@ -17,6 +20,10 @@
@supports -moz-bool-pref("widget.macos.native-context-menus") or -moz-bool-pref("widget.gtk.native-context-menus") {
@include example;
}
+ menupopup:is(#historyMenuPopup, #bookmarksMenuPopup),
+ menupopup:not([placespopup="true"]) {
+ @include example;
+ }
@media not (-moz-windows-non-native-menus) {
@include example;
}
diff --git a/css/leptonChrome.css b/css/leptonChrome.css
index 8c8358d..d9efbf7 100644
--- a/css/leptonChrome.css
+++ b/css/leptonChrome.css
@@ -49,6 +49,12 @@
#widget-overflow-mainView #zoom-in-button > .toolbarbutton-icon {
padding-inline-start: 0px !important;
}
+ /*= Subview button, Menu's right padding #597 ================================*/
+ .subviewbutton.toolbaritem-combined-buttons:not([shortcut]),
+ .subviewbutton.subviewbutton-nav:not([shortcut]),
+ menu.subviewbutton {
+ padding-inline-end: 0 !important;
+ }
/*= Icon Fill Color ==========================================================*/
:root:-moz-lwtheme {
/* Auto create --lwt-toolbarbutton-icon-fill-attention, fix for nightly default theme
@@ -273,25 +279,27 @@
}
}
@media (-moz-os-version: windows-win7), (-moz-platform: windows-win7) {
- menu[_moz-menuactive="true"],
- menuitem[_moz-menuactive="true"] {
- background-color: color-mix(in srgb, -moz-menuhover 5%, transparent) !important;
- border-color: color-mix(in srgb, -moz-menuhover 60%, transparent) !important;
- }
- menu[_moz-menuactive="true"][disabled="true"],
- menuitem[_moz-menuactive="true"][disabled="true"] {
- background-color: color-mix(in srgb, currentColor 5%, transparent) !important;
- border-color: color-mix(in srgb, currentColor 60%, transparent) !important;
- }
- /* Remove text shadow */
- :root:-moz-lwtheme #toolbar-menubar {
- text-shadow: unset !important;
- /* Original: 0 0 .5em white, 0 0 .5em white, 0 1px 0 rgba(255, 255, 255, .4) */
- }
- /* Remove Color */
- :root:-moz-lwtheme #main-menubar:not(:-moz-window-inactive) {
- background-color: unset !important; /* Original: rgba(255, 255, 255, .5) */
- color: unset !important; /* Original: black */
+ @media (-moz-windows-classic: 0) {
+ menu[_moz-menuactive="true"],
+ menuitem[_moz-menuactive="true"] {
+ background-color: color-mix(in srgb, -moz-menuhover 5%, transparent) !important;
+ border-color: color-mix(in srgb, -moz-menuhover 60%, transparent) !important;
+ }
+ menu[_moz-menuactive="true"][disabled="true"],
+ menuitem[_moz-menuactive="true"][disabled="true"] {
+ background-color: color-mix(in srgb, currentColor 5%, transparent) !important;
+ border-color: color-mix(in srgb, currentColor 60%, transparent) !important;
+ }
+ /* Remove text shadow */
+ :root:-moz-lwtheme #toolbar-menubar {
+ text-shadow: unset !important;
+ /* Original: 0 0 .5em white, 0 0 .5em white, 0 1px 0 rgba(255, 255, 255, .4) */
+ }
+ /* Remove Color */
+ :root:-moz-lwtheme #main-menubar:not(:-moz-window-inactive) {
+ background-color: unset !important; /* Original: rgba(255, 255, 255, .5) */
+ color: unset !important; /* Original: black */
+ }
}
}
@media (-moz-os-version: windows-win8), (-moz-platform: windows-win8) {
@@ -310,15 +318,15 @@
@media (-moz-os-version: windows-win10), (-moz-platform: windows-win10) {
@media not (-moz-windows-non-native-menus) {
menupopup:is(#historyMenuPopup, #bookmarksMenuPopup) menu[_moz-menuactive="true"],
- menupopup:not([placespopup="true"]) menu[_moz-menuactive="true"],
menupopup:is(#historyMenuPopup, #bookmarksMenuPopup) menuitem[_moz-menuactive="true"],
+ menupopup:not([placespopup="true"]) menu[_moz-menuactive="true"],
menupopup:not([placespopup="true"]) menuitem[_moz-menuactive="true"] {
background-color: #91c9f7 !important;
border-color: transparent !important;
}
menupopup:is(#historyMenuPopup, #bookmarksMenuPopup) menu[_moz-menuactive="true"][disabled="true"],
- menupopup:not([placespopup="true"]) menu[_moz-menuactive="true"][disabled="true"],
menupopup:is(#historyMenuPopup, #bookmarksMenuPopup) menuitem[_moz-menuactive="true"][disabled="true"],
+ menupopup:not([placespopup="true"]) menu[_moz-menuactive="true"][disabled="true"],
menupopup:not([placespopup="true"]) menuitem[_moz-menuactive="true"][disabled="true"] {
background-color: color-mix(in srgb, currentColor 9%, transparent) !important;
border-color: transparent !important;
@@ -2243,7 +2251,6 @@
--in-content-border-color: color-mix(in srgb, currentColor 41%, transparent) !important;
}
#viewGroup > radio {
- border-radius: 8px !important;
padding: var(--in-content-button-vertical-padding) var(--in-content-button-horizontal-padding) !important;
margin: 4px !important;
list-style-image: none !important;
@@ -2255,6 +2262,11 @@
fill: currentColor !important;
color: var(--in-content-deemphasized-text) !important; /* FieldText */
}
+ @supports not -moz-bool-pref("userChrome.rounding.square_button") {
+ #viewGroup > radio {
+ border-radius: 8px !important;
+ }
+ }
#viewGroup > radio:hover {
background-color: var(--in-content-button-background-hover) !important; /* #E0E8F6; */
}
@@ -2441,6 +2453,11 @@
padding: 5px !important;
border-radius: 4px !important;
}
+ @supports -moz-bool-pref("userChrome.rounding.square_button") {
+ #placesToolbar > toolbarbutton {
+ border-radius: 0 !important;
+ }
+ }
#placesToolbar > toolbarbutton[disabled] {
opacity: 0.6 !important;
}
@@ -2463,11 +2480,16 @@
#placesMenu > menu {
appearance: none !important;
color: var(--organizer-color) !important;
- border-radius: 4px !important;
padding-block: 5px !important;
padding-inline-start: 5px !important;
+ border-radius: 4px !important;
margin-inline-end: 2px !important;
}
+ @supports -moz-bool-pref("userChrome.rounding.square_button") {
+ #placesMenu > menu {
+ border-radius: 0 !important;
+ }
+ }
#placesMenu > menu[_moz-menuactive="true"],
#placesMenu > menu:hover {
background-color: var(--organizer-hover-background) !important;
@@ -2494,6 +2516,12 @@
padding-block: 2px !important;
min-height: 24px !important;
}
+ @supports -moz-bool-pref("userChrome.rounding.square_field") {
+ #searchFilter,
+ #detailsPane html|input {
+ border-radius: 0 !important;
+ }
+ }
#searchFilter[focused] {
box-shadow: var(--organizer-toolbar-field-focus-box-shadow) !important;
background-color: var(--organizer-toolbar-field-background-focused) !important;
@@ -2635,6 +2663,12 @@
-moz-context-properties: fill !important;
fill: currentColor !important;
}
+ @supports -moz-bool-pref("userChrome.rounding.square_button") {
+ #editBookmarkPanelRows .expander-up,
+ #editBookmarkPanelRows .expander-down {
+ border-radius: 0 !important;
+ }
+ }
#editBookmarkPanelRows .expander-up:hover,
#editBookmarkPanelRows .expander-down:hover {
background-color: var(--organizer-hover-background) !important;
@@ -2668,6 +2702,11 @@
min-height: 20px !important;
padding-inline: 4px !important;
}
+ @supports -moz-bool-pref("userChrome.rounding.square_field") {
+ #places input {
+ border-radius: 0 !important;
+ }
+ }
#places input:focus {
outline: 2px solid var(--organizer-outline-color) !important;
outline-offset: -1px !important;
@@ -2686,6 +2725,11 @@
border: 1px solid var(--organizer-border-color) !important;
border-radius: 4px !important;
}
+ @supports -moz-bool-pref("userChrome.rounding.square_field") {
+ #editBMPanel_tagsSelectorRow > richlistbox {
+ border-radius: 0 !important;
+ }
+ }
#editBMPanel_tagsSelectorRow > richlistbox > richlistitem {
border: 1px solid transparent !important;
}
@@ -2734,15 +2778,10 @@
#identity-popup-clear-sitedata-button,
#identity-popup-more-info,
#unified-extensions-manage-extensions,
- .unified-extensions-item-open-menu {
+ .unified-extensions-item-open-menu,
+ .unified-extensions-item-menu-button.subviewbutton {
cursor: pointer !important;
}
- /* TODO: For now, fxa-menu doesn't show any status.
- (JS required, observe .syncNowBtn status)
- #PanelUI-fxa-menu-syncnow-button[syncstatus="active"] {
- cursor: progress !important;
- }
- */
}
/*= Panel UI Button Separator ================================================*/
@supports -moz-bool-pref("userChrome.decoration.panel_button_separator") {
@@ -3064,13 +3103,15 @@
.urlbarView-button,
.urlbarView-tip-button,
.urlbarView-action,
+ .tab-close-button,
toolbarbutton.bookmark-item:not(.subviewbutton),
#sidebar-switcher-target {
--toolbarbutton-border-radius: 0; /* Original: 4px */
}
button,
findbar toolbarbutton,
- .notification-button {
+ .notification-button,
+ #main-menubar > menu {
border-radius: 0 !important;
}
}
@@ -3081,6 +3122,11 @@
--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;
@@ -3093,7 +3139,7 @@
}
}
@supports -moz-bool-pref("userChrome.rounding.square_menupopup") {
- xul|menupopup {
+ menupopup {
--panel-border-radius: 0px !important;
border-radius: 0 !important;
}
@@ -3109,6 +3155,7 @@
html|select[size][multiple],
xul|listheader,
xul|richlistbox,
+ xul|menulist,
html|input {
border-radius: 0 !important;
}
@@ -3124,8 +3171,23 @@
}
}
@supports -moz-bool-pref("userChrome.rounding.square_checklabel") {
- .checkbox-check,
- xul|*.radio-check {
+ .checkbox-check {
+ border-radius: 0 !important;
+ }
+}
+/*= Library ==============================================================*/
+@supports -moz-bool-pref("userChrome.rounding.square_button") {
+ #placesToolbar > toolbarbutton,
+ #placesMenu > menu,
+ #editBookmarkPanelRows .expander-up,
+ #editBookmarkPanelRows .expander-down {
+ border-radius: 0 !important;
+ }
+}
+@supports -moz-bool-pref("userChrome.rounding.square_field") {
+ #searchFilter,
+ #detailsPane html|input,
+ #places input #editBMPanel_tagsSelectorRow > richlistbox {
border-radius: 0 !important;
}
}
@@ -3754,13 +3816,16 @@
/*= Panel - Reduce padding ===================================================*/
@supports -moz-bool-pref("userChrome.padding.panel") {
:root {
- --arrowpanel-menuitem-margin: 0 var(--arrowpanel-menuicon-padding, 8px) !important; /* Original: 0 8px */
+ --arrowpanel-menuitem-margin-block: 0; /* FF 102 compatibility */
+ --arrowpanel-menuitem-margin-inline: 8px;
+ --arrowpanel-menuitem-margin: var(--arrowpanel-menuitem-margin-block) var(--arrowpanel-menuitem-margin-inline) !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 */
--arrowpanel-padding: 0.8em !important; /* Original: 16px or .cui-widget-panel, .cui-widget-panel::part(arrowcontent) => 4px 0 */
}
:root[uidensity="compact"] {
+ --arrowpanel-menuitem-margin-inline: 4px; /* FF 102 compatibility */
--arrowpanel-menuitem-padding-block: 3px !important;
--arrowpanel-menuitem-padding-inline: 3px !important;
}
@@ -3768,6 +3833,9 @@
--arrowpanel-menuitem-padding-block: 8px !important; /* Original: 8px */
--arrowpanel-menuitem-padding-inline: 8px !important; /* Original: 8px */
}
+ .all-tabs-item {
+ margin: var(--arrowpanel-menuitem-margin) !important;
+ }
@supports not -moz-bool-pref("userChrome.icon.disabled") {
@supports not -moz-bool-pref("userChrome.icon.panel") {
.subviewbutton {
@@ -3775,6 +3843,9 @@
}
}
}
+ .unified-extensions-item-menu-button.subviewbutton {
+ padding: 8px !important; /* Original: var(--arrowpanel-menuitem-padding-inline) */
+ }
}
@supports -moz-bool-pref("userChrome.padding.panel_header") {
.panel-header {
@@ -8723,39 +8794,42 @@
@supports -moz-bool-pref("userChrome.autohide.back_button") or -moz-bool-pref("userChrome.autohide.forward_button") {
:root {
--uc-toolbarbutton-hide-size: calc(
- -1 * (16px + (2 * var(--toolbarbutton-outer-padding) + var(--toolbarbutton-inner-padding)))
+ -1 * (16px + (2 * (var(--toolbarbutton-outer-padding) + var(--toolbarbutton-inner-padding))))
);
}
}
-@supports -moz-bool-pref("userChrome.autohide.back_button") {
- #back-button[disabled="true"] {
- margin-left: var(--uc-toolbarbutton-hide-size) !important;
- opacity: 0 !important;
- pointer-events: none;
- }
- @media (prefers-reduced-motion: no-preference) {
- #back-button {
- transition-property: background-color, opacity, margin-left !important;
+@-moz-document url("chrome://browser/content/browser.xhtml")
+{
+ @supports -moz-bool-pref("userChrome.autohide.back_button") {
+ :root:not([customizing="true"]) #back-button[disabled="true"] {
+ margin-left: var(--uc-toolbarbutton-hide-size) !important;
+ opacity: 0 !important;
+ pointer-events: none;
}
- #back-button[disabled="true"] {
- transition: background-color 1s var(--animation-easing-function), opacity 1s var(--animation-easing-function),
- margin-left 0.5s ease !important;
+ @media (prefers-reduced-motion: no-preference) {
+ #back-button {
+ transition-property: background-color, opacity, margin-left !important;
+ }
+ #back-button[disabled="true"] {
+ transition: background-color 1s var(--animation-easing-function), opacity 1s var(--animation-easing-function),
+ margin-left 0.5s ease !important;
+ }
}
}
-}
-@supports -moz-bool-pref("userChrome.autohide.forward_button") {
- #forward-button[disabled="true"] {
- margin-left: var(--uc-toolbarbutton-hide-size) !important;
- opacity: 0 !important;
- pointer-events: none;
- }
- @media (prefers-reduced-motion: no-preference) {
- #forward-button {
- transition-property: background-color, opacity, margin-left !important;
+ @supports -moz-bool-pref("userChrome.autohide.forward_button") {
+ :root:not([customizing="true"]) #forward-button[disabled="true"] {
+ margin-left: var(--uc-toolbarbutton-hide-size) !important;
+ opacity: 0 !important;
+ pointer-events: none;
}
- #forward-button[disabled="true"] {
- transition: background-color 1s var(--animation-easing-function), opacity 1s var(--animation-easing-function),
- margin-left 0.5s ease !important;
+ @media (prefers-reduced-motion: no-preference) {
+ #forward-button {
+ transition-property: background-color, opacity, margin-left !important;
+ }
+ #forward-button[disabled="true"] {
+ transition: background-color 1s var(--animation-easing-function), opacity 1s var(--animation-easing-function),
+ margin-left 0.5s ease !important;
+ }
}
}
}
@@ -9592,6 +9666,11 @@
}
}
@supports -moz-bool-pref("userChrome.hidden.urlbar_iconbox.label_only") {
+ #identity-box[pageproxystate="valid"].notSecureText,
+ #identity-box[pageproxystate="valid"].chromeUI,
+ #identity-box[pageproxystate="valid"].extensionPage {
+ margin-inline-end: var(--identity-box-margin-inline) !important;
+ }
#identity-box[pageproxystate="valid"].chromeUI #identity-icon-box:not(:hover),
#identity-box[pageproxystate="valid"].extensionPage #identity-icon-box:not(:hover) {
background-color: transparent !important;
@@ -9797,6 +9876,16 @@
}
}
/** Panel - Icons *************************************************************/
+ :root {
+ --uc-sidebar-icon: url("chrome://browser/skin/sidebars.svg");
+ --uc-sidebar-icon-reverse: url("chrome://browser/skin/sidebars-right.svg");
+ }
+ @supports selector(:has(a)) {
+ :root:has(#sidebar-box[positionend="true"]) {
+ --uc-sidebar-icon: url("chrome://browser/skin/sidebars-right.svg");
+ --uc-sidebar-icon-reverse: url("chrome://browser/skin/sidebars.svg");
+ }
+ }
@supports -moz-bool-pref("userChrome.icon.panel") {
/*= Padding ==================================================================*/
:root {
@@ -10257,6 +10346,12 @@
list-style-image: url("chrome://global/skin/icons/settings.svg");
}
/*= BMB_bookmarksPopup =======================================================*/
+ #BMB_viewBookmarksSidebar {
+ --menuitem-image: var(--uc-sidebar-icon);
+ }
+ #BMB_viewBookmarksSidebar[data-l10n-args='{"isVisible":true}'] {
+ --menuitem-image: url("chrome://global/skin/icons/close.svg");
+ }
#BMB_bookmarksShowAllTop,
#BMB_bookmarksShowAll {
--menuitem-image: url("chrome://browser/skin/bookmark-star-on-tray.svg");
@@ -10319,11 +10414,7 @@
list-style-image: url("chrome://browser/skin/tab.svg");
}
#sidebar-reverse-position {
- list-style-image: url("chrome://browser/skin/sidebars-right.svg");
- }
- #sidebar-box[positionend="true"] #sidebar-reverse-position {
- /* Can't apply this. shadow dom */
- list-style-image: url("chrome://browser/skin/sidebars.svg");
+ list-style-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");
@@ -10443,6 +10534,11 @@
:root {
--context-menu-background-padding-default: 2px;
}
+ @media (-moz-windows-classic) {
+ :root {
+ --context-menu-background-padding-default: -0.5px;
+ }
+ }
}
@media (-moz-os-version: windows-win8), (-moz-platform: windows-win8) {
:root {
@@ -10489,6 +10585,45 @@
--context-menu-background-padding: 3px;
--menu-background-padding-default: 0px;
}
+ @supports -moz-bool-pref("userChrome.compatibility.os.win11") {
+ :root {
+ --context-menu-background-padding: 5px;
+ }
+ }
+ menupopup:is(#historyMenuPopup, #bookmarksMenuPopup) .menu-iconic > .menu-iconic-left,
+ menupopup:is(#historyMenuPopup, #bookmarksMenuPopup) .menuitem-iconic > .menu-iconic-left,
+ menupopup:not([placespopup="true"]) .menu-iconic > .menu-iconic-left,
+ menupopup:not([placespopup="true"]) .menuitem-iconic > .menu-iconic-left {
+ appearance: none !important;
+ padding-block: 0 !important;
+ padding-inline-start: 5px !important;
+ margin-inline-end: 8px !important;
+ }
+ @supports -moz-bool-pref("userChrome.compatibility.os.win11") {
+ menupopup:is(#historyMenuPopup, #bookmarksMenuPopup) .menu-iconic > .menu-iconic-left,
+ menupopup:is(#historyMenuPopup, #bookmarksMenuPopup) .menuitem-iconic > .menu-iconic-left,
+ menupopup:not([placespopup="true"]) .menu-iconic > .menu-iconic-left,
+ menupopup:not([placespopup="true"]) .menuitem-iconic > .menu-iconic-left {
+ box-sizing: content-box;
+ }
+ }
+ menupopup:is(#historyMenuPopup, #bookmarksMenuPopup) .menu-accel,
+ menupopup:is(#historyMenuPopup, #bookmarksMenuPopup) .menu-iconic-accel,
+ menupopup:not([placespopup="true"]) .menu-accel,
+ menupopup:not([placespopup="true"]) .menu-iconic-accel {
+ box-sizing: content-box;
+ min-height: 16px;
+ }
+ menupopup:is(#historyMenuPopup, #bookmarksMenuPopup) .menu-accel,
+ menupopup:is(#historyMenuPopup, #bookmarksMenuPopup) .menu-iconic-accel,
+ menupopup:is(#historyMenuPopup, #bookmarksMenuPopup) .menu-text,
+ menupopup:is(#historyMenuPopup, #bookmarksMenuPopup) .menu-iconic-text,
+ menupopup:not([placespopup="true"]) .menu-accel,
+ menupopup:not([placespopup="true"]) .menu-iconic-accel,
+ menupopup:not([placespopup="true"]) .menu-text,
+ menupopup:not([placespopup="true"]) .menu-iconic-text {
+ padding-block: 0 !important;
+ }
}
:not(menu, #ContentSelectDropdown, #context-navigation)
> menupopup
@@ -10610,9 +10745,14 @@
menupopup:is(#BMB_bookmarksPopup) menu:not(.menu-iconic),
#PersonalToolbar menupopup[placespopup="true"] menuitem:not(.menuitem-iconic, [disabled="true"]),
#PersonalToolbar menupopup[placespopup="true"] menu:not(.menu-iconic) {
- margin-inline: var(--arrowpanel-menuitem-padding-inline) !important;
- padding-inline-start: calc(var(--arrowpanel-menuicon-padding) + var(--context-menu-text-padding)) !important;
- background-position: var(--uc-menu-background-position) calc(var(--arrowpanel-menuicon-padding)) center !important;
+ --arrowpanel-bookmark-menuicon-padding: calc(
+ var(--arrowpanel-menuicon-padding) - var(--arrowpanel-menuitem-margin-inline)
+ );
+ margin-inline-start: var(--arrowpanel-menuitem-margin-inline) !important;
+ padding-inline-start: calc(
+ var(--arrowpanel-bookmark-menuicon-padding) + var(--context-menu-text-padding)
+ ) !important;
+ background-position: var(--uc-menu-background-position) var(--arrowpanel-bookmark-menuicon-padding) center !important;
}
}
/* Linux */
@@ -11643,7 +11783,7 @@
--menuitem-image: url("../icons/toolbar.svg");
}
#viewSidebarMenuMenu {
- --menuitem-image: url("chrome://browser/skin/sidebars.svg");
+ --menuitem-image: var(--uc-sidebar-icon);
}
#viewFullZoomMenu {
--menuitem-image: url("../icons/screenshot.svg");
diff --git a/css/leptonContent.css b/css/leptonContent.css
index 6ad5f53..0535be6 100644
--- a/css/leptonContent.css
+++ b/css/leptonContent.css
@@ -1708,6 +1708,13 @@
/* Ensure font-size isn't overridden by widget styling (e.g. in forms.css) */
font-size: 1em !important;
}
+ @supports -moz-bool-pref("userChrome.rounding.square_button") {
+ button,
+ select,
+ input[type="color"] {
+ border-radius: 0 !important;
+ }
+ }
button {
font-weight: 600 !important;
/* Use the same margin of other elements for the alignment */
@@ -1781,6 +1788,11 @@
margin-inline: 0 6px !important;
flex-shrink: 0 !important; /* avoid shrinking inside flex container */
}
+ @supports -moz-bool-pref("userChrome.rounding.square_checklabel") {
+ input[type="checkbox"] {
+ border-radius: 0 !important;
+ }
+ }
input[type="checkbox"]:enabled:hover {
background-color: var(--checkbox-unchecked-hover-bgcolor) !important;
}
@@ -2234,6 +2246,11 @@
padding: 5px !important;
border-radius: 4px !important;
}
+ @supports -moz-bool-pref("userChrome.rounding.square_button") {
+ #placesToolbar > toolbarbutton {
+ border-radius: 0 !important;
+ }
+ }
#placesToolbar > toolbarbutton[disabled] {
opacity: 0.6 !important;
}
@@ -2256,11 +2273,16 @@
#placesMenu > menu {
appearance: none !important;
color: var(--organizer-color) !important;
- border-radius: 4px !important;
padding-block: 5px !important;
padding-inline-start: 5px !important;
+ border-radius: 4px !important;
margin-inline-end: 2px !important;
}
+ @supports -moz-bool-pref("userChrome.rounding.square_button") {
+ #placesMenu > menu {
+ border-radius: 0 !important;
+ }
+ }
#placesMenu > menu[_moz-menuactive="true"],
#placesMenu > menu:hover {
background-color: var(--organizer-hover-background) !important;
@@ -2287,6 +2309,12 @@
padding-block: 2px !important;
min-height: 24px !important;
}
+ @supports -moz-bool-pref("userChrome.rounding.square_field") {
+ #searchFilter,
+ #detailsPane html|input {
+ border-radius: 0 !important;
+ }
+ }
#searchFilter[focused] {
box-shadow: var(--organizer-toolbar-field-focus-box-shadow) !important;
background-color: var(--organizer-toolbar-field-background-focused) !important;
@@ -2428,6 +2456,12 @@
-moz-context-properties: fill !important;
fill: currentColor !important;
}
+ @supports -moz-bool-pref("userChrome.rounding.square_button") {
+ #editBookmarkPanelRows .expander-up,
+ #editBookmarkPanelRows .expander-down {
+ border-radius: 0 !important;
+ }
+ }
#editBookmarkPanelRows .expander-up:hover,
#editBookmarkPanelRows .expander-down:hover {
background-color: var(--organizer-hover-background) !important;
@@ -2461,6 +2495,11 @@
min-height: 20px !important;
padding-inline: 4px !important;
}
+ @supports -moz-bool-pref("userChrome.rounding.square_field") {
+ #places input {
+ border-radius: 0 !important;
+ }
+ }
#places input:focus {
outline: 2px solid var(--organizer-outline-color) !important;
outline-offset: -1px !important;
@@ -2479,6 +2518,11 @@
border: 1px solid var(--organizer-border-color) !important;
border-radius: 4px !important;
}
+ @supports -moz-bool-pref("userChrome.rounding.square_field") {
+ #editBMPanel_tagsSelectorRow > richlistbox {
+ border-radius: 0 !important;
+ }
+ }
#editBMPanel_tagsSelectorRow > richlistbox > richlistitem {
border: 1px solid transparent !important;
}
@@ -2712,6 +2756,117 @@
}
}
}
+/** Rounding ******************************************************************/
+@supports -moz-bool-pref("userChrome.rounding.square_button") {
+ @-moz-document url-prefix("about:"), url-prefix("chrome://browser/content/preferences/dialogs")
+ {
+ button,
+ .close-icon,
+ .action-icon::before,
+ #categories > .category,
+ .sidebar-footer-link {
+ border-radius: 0 !important;
+ }
+ }
+ @-moz-document url-prefix("about:debugging") {
+ .sidebar-item {
+ border-radius: 0 !important;
+ }
+ }
+ @-moz-document url-prefix("chrome://browser/content/places/places.xhtml"), url-prefix("about:downloads")
+ {
+ .downloadButton > .button-box {
+ border-radius: 0 !important;
+ }
+ }
+ @-moz-document url-prefix("about:protections") {
+ #manage-protections,
+ #sign-up-for-monitor-link,
+ #get-proxy-extension-link,
+ #get-vpn-link,
+ #vpn-banner-link,
+ .monitor-partial-breaches-link-wrapper,
+ .monitor-breaches-link-wrapper {
+ border-radius: 0 !important;
+ }
+ }
+}
+@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;
+ }
+ }
+}
+@supports -moz-bool-pref("userChrome.rounding.square_checklabel") {
+ @-moz-document url-prefix("about:"), url-prefix("chrome://browser/content/preferences/dialogs")
+ {
+ input[type="checkbox"]:not(.toggle-button),
+ .checkbox-check {
+ border-radius: 0 !important;
+ }
+ }
+}
+@supports -moz-bool-pref("userChrome.rounding.square_field") {
+ @-moz-document url-prefix("about:"), url-prefix("chrome://browser/content/preferences/dialogs")
+ {
+ input:is([type="email"], [type="tel"], [type="text"], [type="password"], [type="url"], [type="number"]),
+ textarea,
+ select,
+ menulist,
+ search-textbox {
+ border-radius: 0 !important;
+ }
+ }
+ @-moz-document url-prefix("about:debugging") {
+ .default-input {
+ border-radius: 0 !important;
+ }
+ }
+ @-moz-document url("about:home"), url("about:newtab") {
+ .search-wrapper .search-handoff-button,
+ .search-wrapper input {
+ border-radius: 0 !important;
+ }
+ }
+}
+@supports -moz-bool-pref("userChrome.rounding.square_menupopup") {
+ @-moz-document url-prefix("about:"), url-prefix("chrome://")
+ {
+ menupopup {
+ --panel-border-radius: 0 !important;
+ }
+ }
+ @-moz-document url("about:home"), url("about:newtab") {
+ .context-menu {
+ border-radius: 0 !important;
+ }
+ }
+}
+@-moz-document url("chrome://browser/content/places/places.xhtml")
+{
+ /*= Library ==============================================================*/
+ @supports -moz-bool-pref("userChrome.rounding.square_button") {
+ #placesToolbar > toolbarbutton,
+ #placesMenu > menu,
+ #editBookmarkPanelRows .expander-up,
+ #editBookmarkPanelRows .expander-down {
+ border-radius: 0 !important;
+ }
+ }
+ @supports -moz-bool-pref("userChrome.rounding.square_field") {
+ #searchFilter,
+ #detailsPane html|input,
+ #places input #editBMPanel_tagsSelectorRow > richlistbox {
+ border-radius: 0 !important;
+ }
+ }
+}
/** Monospace *****************************************************************/
@supports -moz-bool-pref("userContent.page.monospace") {
@-moz-document url-prefix("about:"), url-prefix("chrome://browser/content/places/places.xhtml"), regexp("^(((jar:)?file:///)|(chrome://)).*/$")
@@ -2778,6 +2933,11 @@
:root {
--context-menu-background-padding-default: 2px;
}
+ @media (-moz-windows-classic) {
+ :root {
+ --context-menu-background-padding-default: -0.5px;
+ }
+ }
}
@media (-moz-os-version: windows-win8), (-moz-platform: windows-win8) {
:root {
@@ -2812,6 +2972,45 @@
--context-menu-background-padding: 3px;
--menu-background-padding-default: 0px;
}
+ @supports -moz-bool-pref("userChrome.compatibility.os.win11") {
+ :root {
+ --context-menu-background-padding: 5px;
+ }
+ }
+ menupopup:is(#historyMenuPopup, #bookmarksMenuPopup) .menu-iconic > .menu-iconic-left,
+ menupopup:is(#historyMenuPopup, #bookmarksMenuPopup) .menuitem-iconic > .menu-iconic-left,
+ menupopup:not([placespopup="true"]) .menu-iconic > .menu-iconic-left,
+ menupopup:not([placespopup="true"]) .menuitem-iconic > .menu-iconic-left {
+ appearance: none !important;
+ padding-block: 0 !important;
+ padding-inline-start: 5px !important;
+ margin-inline-end: 8px !important;
+ }
+ @supports -moz-bool-pref("userChrome.compatibility.os.win11") {
+ menupopup:is(#historyMenuPopup, #bookmarksMenuPopup) .menu-iconic > .menu-iconic-left,
+ menupopup:is(#historyMenuPopup, #bookmarksMenuPopup) .menuitem-iconic > .menu-iconic-left,
+ menupopup:not([placespopup="true"]) .menu-iconic > .menu-iconic-left,
+ menupopup:not([placespopup="true"]) .menuitem-iconic > .menu-iconic-left {
+ box-sizing: content-box;
+ }
+ }
+ menupopup:is(#historyMenuPopup, #bookmarksMenuPopup) .menu-accel,
+ menupopup:is(#historyMenuPopup, #bookmarksMenuPopup) .menu-iconic-accel,
+ menupopup:not([placespopup="true"]) .menu-accel,
+ menupopup:not([placespopup="true"]) .menu-iconic-accel {
+ box-sizing: content-box;
+ min-height: 16px;
+ }
+ menupopup:is(#historyMenuPopup, #bookmarksMenuPopup) .menu-accel,
+ menupopup:is(#historyMenuPopup, #bookmarksMenuPopup) .menu-iconic-accel,
+ menupopup:is(#historyMenuPopup, #bookmarksMenuPopup) .menu-text,
+ menupopup:is(#historyMenuPopup, #bookmarksMenuPopup) .menu-iconic-text,
+ menupopup:not([placespopup="true"]) .menu-accel,
+ menupopup:not([placespopup="true"]) .menu-iconic-accel,
+ menupopup:not([placespopup="true"]) .menu-text,
+ menupopup:not([placespopup="true"]) .menu-iconic-text {
+ padding-block: 0 !important;
+ }
}
menupopup:is(#placesContext, #placesColumnsContext, #downloadsContextMenu)
menuitem:not(.menuitem-iconic, .bookmark-item, .in-menulist, [checked="true"]),
diff --git a/docs/Preference.md b/docs/Preference.md
index 5c94d1e..6598494 100644
--- a/docs/Preference.md
+++ b/docs/Preference.md
@@ -146,16 +146,32 @@ Customizations that cannot be done with add-on and [`User Custom CSS`](./README.
- [Bug 1432901 - Prototype loading ES6 Module as JSM](https://bugzilla.mozilla.org/show_bug.cgi?id=1432901)
**How to**
+- `/defaults/pref/autoconfig.js`
```javascript
pref("general.config.filename", "config.js"); // alternative to "firefox.cfg", for using highlight
pref("general.config.obscure_value", 0);
+pref("general.config.sandbox_enabled", false); // Sandbox needs to be disabled in release and Beta versions
+```
+
+- `/config.js`
+```javascript
+// skip 1st line
+try {
+ const cmanifest = Cc['@mozilla.org/file/directory_service;1'].getService(Ci.nsIProperties).get('UChrm', Ci.nsIFile);
+ cmanifest.append('utils');
+ cmanifest.append('chrome.manifest');
+
+ if(cmanifest.exists()){
+ Components.manager.QueryInterface(Ci.nsIComponentRegistrar).autoRegister(cmanifest);
+ ChromeUtils.import('chrome://userchromejs/content/boot.jsm');
+ }
+
+} catch(ex) {};
```
**Example**
-```javascript
-pref("general.config.filename", "config.js"); // alternative to "firefox.cfg", for using highlight
-pref("general.config.obscure_value", 0);
-```
+- [MrOtherGuy/fx-autoconfig](https://github.com/MrOtherGuy/fx-autoconfig)
+- [xiaoxiaoflood/firefox-scripts](https://github.com/xiaoxiaoflood/firefox-scripts)
## Using with User Custom CSS
**Related Docs**
diff --git a/src/autohide/_back_button.scss b/src/autohide/_back_button.scss
index 21cc162..d817a08 100644
--- a/src/autohide/_back_button.scss
+++ b/src/autohide/_back_button.scss
@@ -1,4 +1,4 @@
-#back-button[disabled="true"] {
+:root:not([customizing="true"]) #back-button[disabled="true"] {
margin-left: var(--uc-toolbarbutton-hide-size) !important;
opacity: 0 !important;
pointer-events: none;
diff --git a/src/autohide/_forward_button.scss b/src/autohide/_forward_button.scss
index 4e6e240..ddb47b0 100644
--- a/src/autohide/_forward_button.scss
+++ b/src/autohide/_forward_button.scss
@@ -1,4 +1,4 @@
-#forward-button[disabled="true"] {
+ :root:not([customizing="true"]) #forward-button[disabled="true"] {
margin-left: var(--uc-toolbarbutton-hide-size) !important;
opacity: 0 !important;
pointer-events: none;
diff --git a/src/autohide/_index.scss b/src/autohide/_index.scss
index 805c44e..4fcc990 100644
--- a/src/autohide/_index.scss
+++ b/src/autohide/_index.scss
@@ -1,14 +1,17 @@
@include Option("userChrome.autohide.back_button", "userChrome.autohide.forward_button") {
:root {
- --uc-toolbarbutton-hide-size: calc(-1 * (16px + (2 * var(--toolbarbutton-outer-padding) + var(--toolbarbutton-inner-padding))));
+ --uc-toolbarbutton-hide-size: calc(-1 * (16px + (2 * (var(--toolbarbutton-outer-padding) + var(--toolbarbutton-inner-padding)))));
}
}
-@include Option("userChrome.autohide.back_button") {
- @import "back_button";
-}
-@include Option("userChrome.autohide.forward_button") {
- @import "forward_button";
+@include moz-document(url "chrome://browser/content/browser.xhtml")
+{
+ @include Option("userChrome.autohide.back_button") {
+ @import "back_button";
+ }
+ @include Option("userChrome.autohide.forward_button") {
+ @import "forward_button";
+ }
}
@include Option("userChrome.autohide.page_action") {
@import "page_action";
diff --git a/src/compatibility/_os.scss b/src/compatibility/_os.scss
index 64edc40..d5fa112 100644
--- a/src/compatibility/_os.scss
+++ b/src/compatibility/_os.scss
@@ -104,18 +104,20 @@
//------------------------------------------------------------------------------
@include OS($win7) {
- @include _os_menuEmulate(5%, 60%);
+ @media (-moz-windows-classic: 0) {
+ @include _os_menuEmulate(5%, 60%);
- /* Remove text shadow */
- :root:-moz-lwtheme #toolbar-menubar {
- text-shadow: unset !important;
- /* Original: 0 0 .5em white, 0 0 .5em white, 0 1px 0 rgba(255, 255, 255, .4) */
- }
+ /* Remove text shadow */
+ :root:-moz-lwtheme #toolbar-menubar {
+ text-shadow: unset !important;
+ /* Original: 0 0 .5em white, 0 0 .5em white, 0 1px 0 rgba(255, 255, 255, .4) */
+ }
- /* Remove Color */
- :root:-moz-lwtheme #main-menubar:not(:-moz-window-inactive) {
- background-color: unset !important; /* Original: rgba(255, 255, 255, .5) */
- color: unset !important; /* Original: black */
+ /* Remove Color */
+ :root:-moz-lwtheme #main-menubar:not(:-moz-window-inactive) {
+ background-color: unset !important; /* Original: rgba(255, 255, 255, .5) */
+ color: unset !important; /* Original: black */
+ }
}
}
@include OS($win8) {
@@ -125,10 +127,9 @@
/*= Windows 10 - Native Menu Active Color =====================================*/
@include OS($win10) {
@include Win10_NativeMenu() {
- menu[_moz-menuactive="true"],
- menuitem[_moz-menuactive="true"] {
- menupopup:is(#historyMenuPopup, #bookmarksMenuPopup) &,
- menupopup:not([placespopup="true"]) & {
+ @include NativeMenuPopup {
+ menu[_moz-menuactive="true"],
+ menuitem[_moz-menuactive="true"] {
background-color: #91c9f7 !important; // color-mix(in srgb, -moz-menuhover 40%, transparent)
border-color: transparent !important;
diff --git a/src/compatibility/_theme.scss b/src/compatibility/_theme.scss
index d46bf5c..331a8a2 100644
--- a/src/compatibility/_theme.scss
+++ b/src/compatibility/_theme.scss
@@ -24,6 +24,13 @@
}
}
+/*= Subview button, Menu's right padding #597 ================================*/
+.subviewbutton.toolbaritem-combined-buttons:not([shortcut]),
+.subviewbutton.subviewbutton-nav:not([shortcut]),
+menu.subviewbutton {
+ padding-inline-end: 0 !important;
+}
+
/*= Icon Fill Color ==========================================================*/
:root:-moz-lwtheme {
/* Auto create --lwt-toolbarbutton-icon-fill-attention, fix for nightly default theme
diff --git a/src/contents/_rounding.scss b/src/contents/_rounding.scss
new file mode 100644
index 0000000..e7bdde3
--- /dev/null
+++ b/src/contents/_rounding.scss
@@ -0,0 +1,99 @@
+@include Option("userChrome.rounding.square_button") {
+ @include moz-document(url-prefix "about:", url-prefix "chrome://browser/content/preferences/dialogs") {
+ button,
+ .close-icon,
+ .action-icon::before,
+ #categories > .category,
+ .sidebar-footer-link {
+ border-radius: 0 !important;
+ }
+ }
+
+ @include moz-document(url-prefix "about:debugging") {
+ .sidebar-item {
+ border-radius: 0 !important;
+ }
+ }
+
+ @include moz-document(url-prefix "chrome://browser/content/places/places.xhtml", url-prefix "about:downloads") {
+ .downloadButton > .button-box {
+ border-radius: 0 !important;
+ }
+ }
+
+ @include moz-document(url-prefix "about:protections") {
+ #manage-protections,
+ #sign-up-for-monitor-link,
+ #get-proxy-extension-link,
+ #get-vpn-link,
+ #vpn-banner-link,
+ .monitor-partial-breaches-link-wrapper,
+ .monitor-breaches-link-wrapper {
+ border-radius: 0 !important;
+ }
+ }
+}
+
+@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 Option("userChrome.rounding.square_checklabel") {
+ @include moz-document(url-prefix "about:", url-prefix "chrome://browser/content/preferences/dialogs") {
+ input[type="checkbox"]:not(.toggle-button),
+ .checkbox-check {
+ border-radius: 0 !important;
+ }
+ }
+}
+
+@include Option("userChrome.rounding.square_field") {
+ @include moz-document(url-prefix "about:", url-prefix "chrome://browser/content/preferences/dialogs") {
+ input:is([type="email"], [type="tel"], [type="text"], [type="password"], [type="url"], [type="number"]),
+ textarea,
+ select,
+ menulist,
+ search-textbox {
+ border-radius: 0 !important;
+ }
+ }
+
+ @include moz-document(url-prefix "about:debugging") {
+ .default-input {
+ border-radius: 0 !important;
+ }
+ }
+
+ @include moz-document(url "about:home", url "about:newtab") {
+ .search-wrapper {
+ .search-handoff-button,
+ input {
+ border-radius: 0 !important;
+ }
+ }
+ }
+}
+
+@include Option("userChrome.rounding.square_menupopup") {
+ @include moz-document(url-prefix "about:", url-prefix "chrome://") {
+ menupopup {
+ --panel-border-radius: 0 !important;
+ }
+ }
+
+ @include moz-document(url "about:home", url "about:newtab") {
+ .context-menu {
+ border-radius: 0 !important;
+ }
+ }
+}
diff --git a/src/contents/proton_contents/_proton_commons.scss b/src/contents/proton_contents/_proton_commons.scss
index 9be371a..ee2e7b6 100644
--- a/src/contents/proton_contents/_proton_commons.scss
+++ b/src/contents/proton_contents/_proton_commons.scss
@@ -70,6 +70,10 @@
margin: 4px 8px !important;
/* Ensure font-size isn't overridden by widget styling (e.g. in forms.css) */
font-size: 1em !important;
+
+ @include Option("userChrome.rounding.square_button") {
+ border-radius: 0 !important;
+ }
}
button {
font-weight: 600 !important;
@@ -144,6 +148,10 @@
border-radius: 2px !important;
margin-inline: 0 6px !important;
flex-shrink: 0 !important; /* avoid shrinking inside flex container */
+
+ @include Option("userChrome.rounding.square_checklabel") {
+ border-radius: 0 !important;
+ }
}
input[type="checkbox"]:enabled:hover {
background-color: var(--checkbox-unchecked-hover-bgcolor) !important;
diff --git a/src/decoration/_cursor.scss b/src/decoration/_cursor.scss
index 74aec7c..acc4b34 100644
--- a/src/decoration/_cursor.scss
+++ b/src/decoration/_cursor.scss
@@ -23,13 +23,13 @@ menuitem.openintabs-menuitem,
#identity-popup-clear-sitedata-button,
#identity-popup-more-info,
#unified-extensions-manage-extensions,
-.unified-extensions-item-open-menu {
+.unified-extensions-item-open-menu,
+.unified-extensions-item-menu-button.subviewbutton {
cursor: pointer !important;
}
-/* TODO: For now, fxa-menu doesn't show any status.
- (JS required, observe .syncNowBtn status)
- #PanelUI-fxa-menu-syncnow-button[syncstatus="active"] {
- cursor: progress !important;
- }
- */
+// TODO: For now, fxa-menu doesn't show any status.
+// (JS required, observe .syncNowBtn status)
+// #PanelUI-fxa-menu-syncnow-button[syncstatus="active"] {
+// cursor: progress !important;
+// }
diff --git a/src/fullscreen/_show_bookmarkbar.css b/src/fullscreen/_show_bookmarkbar.scss
similarity index 100%
rename from src/fullscreen/_show_bookmarkbar.css
rename to src/fullscreen/_show_bookmarkbar.scss
diff --git a/src/hidden/_index.scss b/src/hidden/_index.scss
index 3047a1c..6bfc65d 100644
--- a/src/hidden/_index.scss
+++ b/src/hidden/_index.scss
@@ -65,6 +65,12 @@
}
}
@include Option("userChrome.hidden.urlbar_iconbox.label_only") {
+ &.notSecureText,
+ &.chromeUI,
+ &.extensionPage {
+ margin-inline-end: var(--identity-box-margin-inline) !important;
+ }
+
&.chromeUI #identity-icon-box,
&.extensionPage #identity-icon-box {
&:not(:hover) {
diff --git a/src/icons/_global_menu.scss b/src/icons/_global_menu.scss
index 0c20225..6d1d8ee 100644
--- a/src/icons/_global_menu.scss
+++ b/src/icons/_global_menu.scss
@@ -104,7 +104,8 @@ menu.share-tab-url-item {
--menuitem-image: url("../icons/toolbar.svg");
}
#viewSidebarMenuMenu {
- --menuitem-image: url("chrome://browser/skin/sidebars.svg");
+ // --menuitem-image: url("chrome://browser/skin/sidebars.svg");
+ --menuitem-image: var(--uc-sidebar-icon);
}
#viewFullZoomMenu {
diff --git a/src/icons/_index.scss b/src/icons/_index.scss
index ee4a326..f158aa0 100644
--- a/src/icons/_index.scss
+++ b/src/icons/_index.scss
@@ -4,6 +4,16 @@
}
/** Panel - Icons *************************************************************/
+:root {
+ --uc-sidebar-icon: url("chrome://browser/skin/sidebars.svg");
+ --uc-sidebar-icon-reverse: url("chrome://browser/skin/sidebars-right.svg");
+ @include Has {
+ &:has(#sidebar-box[positionend="true"]) {
+ --uc-sidebar-icon: url("chrome://browser/skin/sidebars-right.svg");
+ --uc-sidebar-icon-reverse: url("chrome://browser/skin/sidebars.svg");
+ }
+ }
+}
@include Option("userChrome.icon.panel") {
@import "layout/panel";
@import "panel";
diff --git a/src/icons/_panel.scss b/src/icons/_panel.scss
index 87511f5..7c310f2 100644
--- a/src/icons/_panel.scss
+++ b/src/icons/_panel.scss
@@ -390,6 +390,10 @@ panelMenuBookmarkThisPage[starred] {
/*= BMB_bookmarksPopup =======================================================*/
#BMB_viewBookmarksSidebar {
+ --menuitem-image: var(--uc-sidebar-icon);
+ &[data-l10n-args='{"isVisible":true}'] {
+ --menuitem-image: url("chrome://global/skin/icons/close.svg");
+ }
}
#BMB_bookmarksShowAllTop,
#BMB_bookmarksShowAll {
@@ -469,11 +473,7 @@ panelMenuBookmarkThisPage[starred] {
}
#sidebar-reverse-position {
- list-style-image: url("chrome://browser/skin/sidebars-right.svg");
-}
-#sidebar-box[positionend="true"] #sidebar-reverse-position {
- /* Can't apply this. shadow dom */
- list-style-image: url("chrome://browser/skin/sidebars.svg");
+ list-style-image: var(--uc-sidebar-icon-reverse);
}
#sidebarMenu-popup > .subviewbutton[data-l10n-id="sidebar-menu-close"] {
diff --git a/src/icons/layout/_bookmark_menu.scss b/src/icons/layout/_bookmark_menu.scss
index 7e3a8a3..78cc127 100644
--- a/src/icons/layout/_bookmark_menu.scss
+++ b/src/icons/layout/_bookmark_menu.scss
@@ -80,9 +80,11 @@ $_bookmarkToolbarMenus: selector.nest(
@include OS($win10) {
/* Bookmark Popup - None icon menu */
@include _layoutBookmarkMenu() {
- margin-inline: var(--arrowpanel-menuitem-padding-inline) !important;
- padding-inline-start: calc(var(--arrowpanel-menuicon-padding) + var(--context-menu-text-padding)) !important;
- background-position: var(--uc-menu-background-position) calc(var(--arrowpanel-menuicon-padding)) center !important;
+ --arrowpanel-bookmark-menuicon-padding: calc(var(--arrowpanel-menuicon-padding) - var(--arrowpanel-menuitem-margin-inline));
+
+ margin-inline-start: var(--arrowpanel-menuitem-margin-inline) !important;
+ padding-inline-start: calc(var(--arrowpanel-bookmark-menuicon-padding) + var(--context-menu-text-padding)) !important;
+ background-position: var(--uc-menu-background-position) var(--arrowpanel-bookmark-menuicon-padding) center !important;
}
}
diff --git a/src/icons/layout/_menu_common.scss b/src/icons/layout/_menu_common.scss
index 62a3f35..eb3af6c 100644
--- a/src/icons/layout/_menu_common.scss
+++ b/src/icons/layout/_menu_common.scss
@@ -79,6 +79,9 @@ $_initialMenus: selector.append(
@include OS($win7) {
:root {
--context-menu-background-padding-default: 2px;
+ @media (-moz-windows-classic) {
+ --context-menu-background-padding-default: -0.5px;
+ }
}
}
@include OS($win8) {
@@ -97,10 +100,37 @@ $_initialMenus: selector.append(
--context-menu-background-padding: 1em;
--context-menu-text-padding: 24px; /* 16px + 8px */
--menu-background-padding-default: calc(var(--context-menu-background-padding) + var(--context-menu-text-padding));
-
- @include Win10_NativeMenu() {
+ }
+ @include Win10_NativeMenu() {
+ :root {
--context-menu-background-padding: 3px;
--menu-background-padding-default: 0px;
+ @include Option("userChrome.compatibility.os.win11") {
+ --context-menu-background-padding: 5px;
+ }
+ }
+
+ @include NativeMenuPopup {
+ .menu-iconic,
+ .menuitem-iconic {
+ > .menu-iconic-left {
+ appearance: none !important;
+ padding-block: 0 !important;
+ padding-inline-start: 5px !important;
+ margin-inline-end: 8px !important;
+ @include Option("userChrome.compatibility.os.win11") {
+ box-sizing: content-box;
+ }
+ }
+ }
+ .menu-accel, .menu-iconic-accel {
+ box-sizing: content-box;
+ min-height: 16px;
+ }
+ .menu-accel, .menu-iconic-accel,
+ .menu-text, .menu-iconic-text {
+ padding-block: 0 !important;
+ }
}
}
}
diff --git a/src/leptonContent.scss b/src/leptonContent.scss
index 2242f48..abe1704 100644
--- a/src/leptonContent.scss
+++ b/src/leptonContent.scss
@@ -35,6 +35,14 @@
@import "contents/proton_contents";
}
+/** Rounding ******************************************************************/
+@import "contents/rounding";
+
+// Put here to include library as a tab
+@include moz-document(url "chrome://browser/content/places/places.xhtml") {
+ @import "rounding/library";
+}
+
/** Monospace *****************************************************************/
@include Option("userContent.page.monospace") {
@import "contents/monospace";
diff --git a/src/library/_proton.scss b/src/library/_proton.scss
index 8a1d961..f48a152 100644
--- a/src/library/_proton.scss
+++ b/src/library/_proton.scss
@@ -82,6 +82,10 @@
padding: 5px !important;
border-radius: 4px !important;
+ @include Option("userChrome.rounding.square_button") {
+ border-radius: 0 !important;
+ }
+
&[disabled] {
opacity: 0.6 !important;
}
@@ -108,11 +112,15 @@
> menu {
appearance: none !important;
color: var(--organizer-color) !important;
- border-radius: 4px !important;
padding-block: 5px !important;
padding-inline-start: 5px !important;
+ border-radius: 4px !important;
margin-inline-end: 2px !important;
+ @include Option("userChrome.rounding.square_button") {
+ border-radius: 0 !important;
+ }
+
&[_moz-menuactive="true"],
&:hover {
background-color: var(--organizer-hover-background) !important;
@@ -141,6 +149,10 @@
margin: 0 !important;
padding-block: 2px !important;
min-height: 24px !important;
+
+ @include Option("userChrome.rounding.square_field") {
+ border-radius: 0 !important;
+ }
}
#searchFilter[focused] {
@@ -304,6 +316,10 @@ treechildren {
-moz-context-properties: fill !important;
fill: currentColor !important;
+ @include Option("userChrome.rounding.square_button") {
+ border-radius: 0 !important;
+ }
+
&:hover {
background-color: var(--organizer-hover-background) !important;
color: var(--organizer-hover-color) !important;
@@ -340,6 +356,10 @@ treechildren {
min-height: 20px !important;
padding-inline: 4px !important;
+ @include Option("userChrome.rounding.square_field") {
+ border-radius: 0 !important;
+ }
+
&:focus {
outline: 2px solid var(--organizer-outline-color) !important;
outline-offset: -1px !important;
@@ -361,6 +381,10 @@ treechildren {
border: 1px solid var(--organizer-border-color) !important;
border-radius: 4px !important;
+ @include Option("userChrome.rounding.square_field") {
+ border-radius: 0 !important;
+ }
+
> richlistitem {
border: 1px solid transparent !important;
diff --git a/src/padding/_panel.scss b/src/padding/_panel.scss
index 8d1fde8..716d2c4 100644
--- a/src/padding/_panel.scss
+++ b/src/padding/_panel.scss
@@ -1,5 +1,7 @@
:root {
- --arrowpanel-menuitem-margin: 0 var(--arrowpanel-menuicon-padding, 8px) !important; /* Original: 0 8px */
+ --arrowpanel-menuitem-margin-block: 0; /* FF 102 compatibility */
+ --arrowpanel-menuitem-margin-inline: 8px;
+ --arrowpanel-menuitem-margin: var(--arrowpanel-menuitem-margin-block) var(--arrowpanel-menuitem-margin-inline) !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 */
@@ -7,6 +9,7 @@
}
:root[uidensity="compact"] {
+ --arrowpanel-menuitem-margin-inline: 4px; /* FF 102 compatibility */
--arrowpanel-menuitem-padding-block: 3px !important;
--arrowpanel-menuitem-padding-inline: 3px !important;
}
@@ -15,6 +18,10 @@
--arrowpanel-menuitem-padding-inline: 8px !important; /* Original: 8px */
}
+.all-tabs-item {
+ margin: var(--arrowpanel-menuitem-margin) !important;
+}
+
@include NotOption("userChrome.icon.disabled") {
@include NotOption("userChrome.icon.panel") {
.subviewbutton {
@@ -22,3 +29,12 @@
}
}
}
+
+// #603
+.unified-extensions-item-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;
+// }
diff --git a/src/rounding/_index.scss b/src/rounding/_index.scss
index a46fa88..577efc6 100644
--- a/src/rounding/_index.scss
+++ b/src/rounding/_index.scss
@@ -1,5 +1,6 @@
/** Rounding ******************************************************************/
@import "square";
+@import "library";
/*
--toolbarbutton-border-radius: 4px;
diff --git a/src/rounding/_library.scss b/src/rounding/_library.scss
new file mode 100644
index 0000000..a31bc2e
--- /dev/null
+++ b/src/rounding/_library.scss
@@ -0,0 +1,17 @@
+/*= Library ==============================================================*/
+@include Option("userChrome.rounding.square_button") {
+ #placesToolbar > toolbarbutton,
+ #placesMenu > menu,
+ #editBookmarkPanelRows .expander-up,
+ #editBookmarkPanelRows .expander-down {
+ border-radius: 0 !important;
+ }
+}
+@include Option("userChrome.rounding.square_field") {
+ #searchFilter,
+ #detailsPane html|input,
+ #places input
+ #editBMPanel_tagsSelectorRow > richlistbox {
+ border-radius: 0 !important;
+ }
+}
diff --git a/src/rounding/_square.scss b/src/rounding/_square.scss
index 9c86f15..d2dd19e 100644
--- a/src/rounding/_square.scss
+++ b/src/rounding/_square.scss
@@ -15,6 +15,7 @@
.urlbarView-button,
.urlbarView-tip-button,
.urlbarView-action,
+ .tab-close-button,
toolbarbutton.bookmark-item:not(.subviewbutton),
#sidebar-switcher-target {
--toolbarbutton-border-radius: 0; /* Original: 4px */
@@ -22,7 +23,8 @@
button,
findbar toolbarbutton,
- .notification-button {
+ .notification-button,
+ #main-menubar > menu {
border-radius: 0 !important;
}
}
@@ -34,6 +36,12 @@
}
}
+@include Option("userChrome.rounding.square_dialog") {
+ .dialogBox {
+ border-radius: 0 !important;
+ }
+}
+
@include Option("userChrome.rounding.square_panel") {
:root {
--arrowpanel-border-radius: 0 !important;
@@ -47,7 +55,7 @@
}
@include Option("userChrome.rounding.square_menupopup") {
- xul|menupopup {
+ menupopup {
--panel-border-radius: 0px !important;
border-radius: 0 !important;
}
@@ -64,6 +72,7 @@
html|select[size][multiple],
xul|listheader,
xul|richlistbox,
+ xul|menulist,
html|input {
border-radius: 0 !important;
}
@@ -82,8 +91,7 @@
}
@include Option("userChrome.rounding.square_checklabel") {
- .checkbox-check,
- xul|*.radio-check {
+ .checkbox-check {
border-radius: 0 !important;
}
}
diff --git a/src/theme/proton_chrome/_page_info.scss b/src/theme/proton_chrome/_page_info.scss
index 26b5bc6..7e7624d 100644
--- a/src/theme/proton_chrome/_page_info.scss
+++ b/src/theme/proton_chrome/_page_info.scss
@@ -5,7 +5,6 @@
}
#viewGroup > radio {
- border-radius: 8px !important;
padding: var(--in-content-button-vertical-padding) var(--in-content-button-horizontal-padding) !important;
margin: 4px !important;
@@ -18,6 +17,11 @@
-moz-context-properties: fill !important;
fill: currentColor !important;
color: var(--in-content-deemphasized-text) !important; /* FieldText */
+
+ @include NotOption("userChrome.rounding.square_button") {
+ border-radius: 8px !important;
+ }
+
&:hover {
background-color: var(--in-content-button-background-hover) !important; /* #E0E8F6; */
}
diff --git a/src/utils/_native_menu.scss b/src/utils/_native_menu.scss
index aeb7969..66ac8ce 100644
--- a/src/utils/_native_menu.scss
+++ b/src/utils/_native_menu.scss
@@ -6,6 +6,13 @@
}
}
+@mixin NativeMenuPopup() {
+ menupopup:is(#historyMenuPopup, #bookmarksMenuPopup),
+ menupopup:not([placespopup="true"]) {
+ @content;
+ }
+}
+
@mixin Win10_NativeMenu() {
@media not (-moz-windows-non-native-menus) {
@content;
diff --git a/user.js b/user.js
index 5b3e808..26cbcee 100644
--- a/user.js
+++ b/user.js
@@ -70,6 +70,7 @@ user_pref("userChrome.rounding.square_tab", false);
// -- User Chrome --------------------------------------------------------------
// user_pref("userChrome.theme.proton_color.dark_blue_accent", true);
// user_pref("userChrome.theme.monospace", true);
+// user_pref("userChrome.compatibility.os.win11", true);
// user_pref("userChrome.decoration.disable_panel_animate", true);
// user_pref("userChrome.decoration.disable_sidebar_animate", true);
@@ -120,6 +121,7 @@ user_pref("userChrome.rounding.square_tab", false);
// user_pref("userChrome.combined.sub_button.as_normal", true);
// user_pref("userChrome.rounding.square_button", true);
+// user_pref("userChrome.rounding.square_dialog", true);
// user_pref("userChrome.rounding.square_panel", true);
// user_pref("userChrome.rounding.square_panelitem", true);
// user_pref("userChrome.rounding.square_menupopup", true);