Merge branch 'photon-style-dev' into scss

This commit is contained in:
alstjr7375 2021-12-26 23:01:46 +09:00
commit 7a80769986
25 changed files with 9118 additions and 169 deletions

View file

@ -119,6 +119,9 @@ N: Ajith-stark
E: ajith.kum.12342@gmail.com
W: https://github.com/Ajith-stark
N: Andmagdo
W: https://github.com/andmagdo
N: badprogramshere
W: https://github.com/badprogramshere

View file

@ -24,8 +24,27 @@
background-image: var(--avatar-image-url) !important;
}
#appMenu-new-tab-button2 {
list-style-image: url("chrome://browser/skin/new-tab.svg");
@include Option("userChrome.panel.proton") {
#appMenu-new-tab-button2 {
list-style-image: url("chrome://browser/skin/new-tab.svg");
}
}
@include Option("userChrome.panel.photon") {
#appMenu-new-tab-button2, /* Seperate */
#appMenu-passwords-button, /* Seperate */
#appMenu-extensions-themes-button,
#appMenu-save-file-button2, /* Seperate */
#appMenu-find-button2,
#appMenu-more-button2, /* Seperate */
#appMenu-help-button2,
#appMenu-quit-button2 /* Seperate */ {
padding-inline-start: var(--arrowpanel-menuimageblank-padding-horizontal) !important;
padding-top: var(--arrowpanel-menuitemblank-padding) !important;
padding-bottom: var(--arrowpanel-menuitemblank-padding) !important;
}
#appMenu-zoom-controls2 {
padding-inline-start: var(--arrowpanel-menuimageblank-padding-horizontal) !important;
}
}
#appMenu-new-window-button2 {
list-style-image: url("chrome://browser/skin/window.svg");
@ -43,38 +62,44 @@
#appMenu-downloads-button {
list-style-image: url("chrome://browser/skin/downloads/downloads.svg");
}
#appMenu-passwords-button {
list-style-image: url("chrome://browser/skin/login.svg");
}
#appMenu-extensions-themes-button {
list-style-image: url("chrome://mozapps/skin/extensions/extension.svg");
@supports -moz-bool-pref("userChrome.panel.proton") {
#appMenu-passwords-button {
list-style-image: url("chrome://browser/skin/login.svg");
}
#appMenu-extensions-themes-button {
list-style-image: url("chrome://mozapps/skin/extensions/extension.svg");
}
}
#appMenu-print-button2 {
list-style-image: url("chrome://global/skin/icons/print.svg");
}
#appMenu-save-file-button2 {
list-style-image: url("chrome://browser/skin/save.svg");
}
#appMenu-find-button2 {
list-style-image: url("chrome://global/skin/icons/search-glass.svg");
}
#appMenu-zoom-controls2::before {
content: url("./icons/screenshot.svg");
@supports -moz-bool-pref("userChrome.panel.proton") {
#appMenu-save-file-button2 {
list-style-image: url("chrome://browser/skin/save.svg");
}
#appMenu-find-button2 {
list-style-image: url("chrome://global/skin/icons/search-glass.svg");
}
#appMenu-zoom-controls2::before {
content: url("./icons/screenshot.svg");
}
}
#appMenu-settings-button {
list-style-image: url("chrome://global/skin/icons/settings.svg");
}
#appMenu-more-button2 {
list-style-image: url("chrome://browser/skin/ion.svg");
}
#appMenu-help-button2 {
list-style-image: url("chrome://global/skin/icons/help.svg");
}
@supports -moz-bool-pref("userChrome.panel.proton") {
#appMenu-more-button2 {
list-style-image: url("chrome://browser/skin/ion.svg");
}
#appMenu-help-button2 {
list-style-image: url("chrome://global/skin/icons/help.svg");
}
#appMenu-quit-button2 {
list-style-image: url("./icons/quit.svg");
#appMenu-quit-button2 {
list-style-image: url("./icons/quit.svg");
}
}
/*= Panel - Account ==========================================================*/
@ -300,7 +325,7 @@ panelMenuBookmarkThisPage[starred] {
list-style-image: url("chrome://browser/skin/downloads/downloads.svg");
}
/*= Panel - Downloads ======================================================*/
/*= Panel - Downloads ========================================================*/
#downloadsHistory {
list-style-image: url("chrome://browser/skin/downloads/downloads.svg");
}

View file

@ -1,8 +1,20 @@
/*= Root - Reduce Padding ====================================================*/
@include Option("userChrome.tab.original") {
:root {
/* Tab Bar */
--proton-tab-block-margin: 2px !important; /* Original: 4px, Legacy */
--tab-block-margin: 2px !important; /* New version of --proton-tab-block-margin */
}
}
@include Option("userChrome.tab.photon") {
:root {
--proton-tab-block-margin: 0px !important; /* Original: 4px, Legacy */
--tab-block-margin: 0px !important; /* New version of --proton-tab-block-margin */
--tab-border-radius: 0px !important; /* Original: 4px */
}
}
:root {
/* Tab Bar */
--proton-tab-block-margin: 2px !important; /* Original: 4px, Legacy */
--tab-block-margin: 2px !important; /* New version of --proton-tab-block-margin */
--inline-tab-padding: 6px !important; /* Original: 8px */
/* Panel */
@ -30,6 +42,16 @@
--arrowpanel-menuitem-padding: 8px !important; /* Original: 8px */
}
/* Fix Tab bar button radious */
@supports -moz-bool-pref("userChrome.tab.photon") {
#TabsToolbar .toolbarbutton-1 > .toolbarbutton-icon,
#TabsToolbar .toolbarbutton-1 > .toolbarbutton-text,
#TabsToolbar .toolbarbutton-1 > .toolbarbutton-badge-stack,
.tab-close-button {
--tab-border-radius: 4px !important;
}
}
/*= Tab Bar - Reduce Width, Show more tabs ===================================*/
/* for First Tab Space */
:root {
@ -63,10 +85,19 @@
padding-right: var(--newtab-button-width-padding) !important;
}
#tabbrowser-tabs[haspinnedtabs]:not([positionpinnedtabs])
> #tabbrowser-arrowscrollbox
> .tabbrowser-tab[first-visible-unpinned-tab] {
margin-inline-start: 1px !important;
@include Option("userChrome.tab.shareProton") {
#tabbrowser-tabs[haspinnedtabs]:not([positionpinnedtabs])
> #tabbrowser-arrowscrollbox
> .tabbrowser-tab[first-visible-unpinned-tab] {
margin-inline-start: 1px !important;
}
}
@include Option("userChrome.tab.photon") {
#tabbrowser-tabs[haspinnedtabs]:not([positionpinnedtabs])
> #tabbrowser-arrowscrollbox
> .tabbrowser-tab[first-visible-unpinned-tab] {
margin-inline-start: 0 !important;
}
}
:root:not([uidensity="touch"]) #tabbrowser-arrowscrollbox {
@ -88,20 +119,33 @@
}
/* Tab - Max Size */
:root {
--tab-max-width: 240px;
@include Option("userChrome.tab.shareProton") {
:root {
--tab-max-width: 240px;
}
}
@include Option("userChrome.tab.photon") {
:root {
--tab-max-width: 225px;
}
}
.tabbrowser-tab[fadein]:not([pinned]):not([style*="max-width"]) {
max-width: var(--tab-max-width) !important; /* Original: 225px */
}
/* neighbouring tabs should "pinch" together */
.tabbrowser-tab {
padding-inline: 1px !important;
@include Option("userChrome.tab.shareProton") {
.tabbrowser-tab {
padding-inline: 1px !important;
}
.tabbrowser-tab:not([last-visible-tab]) {
margin-inline-end: -0.5px !important;
}
}
.tabbrowser-tab:not([last-visible-tab]) {
margin-inline-end: -0.5px !important;
@include Option("userChrome.tab.photon") {
.tabbrowser-tab {
padding-inline: 0 !important;
}
}
/*= Tab Bar - Reduce Height, Show more contents ==============================*/
@ -118,22 +162,65 @@
}
/* Toolbar Height */
:root:not([uidensity="touch"]) #TabsToolbar {
--toolbarbutton-inner-padding: 9px; /* Original: calc((var(--tab-min-height) - 16px) / 2) = 10px */
@include Option("userChrome.tab.shareProton") {
:root:not([uidensity="touch"]) #TabsToolbar {
--toolbarbutton-inner-padding: 9px; /* Original: calc((var(--tab-min-height) - 16px) / 2) = 10px */
}
:root:not([uidensity]) #TabsToolbar {
--tab-min-height: 36px !important; /* 38px -> 36px */
}
:root[uidensity="compact"] #TabsToolbar {
--tab-min-height: 29px !important; /* 36px -> 29px */
}
}
.toolbar-items,
.tabbrowser-tab {
--tabbar-max-height: 38px;
max-height: calc(var(--tabbar-max-height) + var(--space-above-tabbar));
@include Option("userChrome.tab.photon") {
#TabsToolbar {
--tab-min-height: 33px !important;
--toolbarbutton-inner-padding: unset !important;
}
:root[uidensity="compact"] #TabsToolbar {
--tab-min-height: 29px !important;
}
:root[uidensity="touch"] #TabsToolbar {
--tab-min-height: 41px !important;
}
#tabbrowser-tabs,
#tabbrowser-arrowscrollbox,
#tabbrowser-tabs[positionpinnedtabs] > #tabbrowser-arrowscrollbox > .tabbrowser-tab[pinned] {
min-height: var(--tab-min-height) !important;
}
/* Top Margin */
.tab-background,
.tab-content {
margin-top: 0 !important;
}
}
:root[uidensity="compact"] .toolbar-items,
:root[uidensity="compact"] .tabbrowser-tab {
--tabbar-max-height: 36px;
@include Option("userChrome.tab.original") {
.toolbar-items,
.tabbrowser-tab {
--tabbar-max-height: 38px;
max-height: calc(var(--tabbar-max-height) + var(--space-above-tabbar));
}
:root[uidensity="compact"] .toolbar-items,
:root[uidensity="compact"] .tabbrowser-tab {
--tabbar-max-height: 36px;
}
:root[uidensity="touch"] .toolbar-items,
:root[uidensity="touch"] .tabbrowser-tab {
--tabbar-max-height: 45px;
}
}
:root[uidensity="touch"] .toolbar-items,
:root[uidensity="touch"] .tabbrowser-tab {
--tabbar-max-height: 45px;
@include Option("userChrome.tab.proton") {
:root:not([uidensity]) #TabsToolbar {
--tab-min-height: 36px !important; /* 38px -> 36px */
}
:root[uidensity="compact"] #TabsToolbar {
--tab-min-height: 29px !important; /* 36px -> 29px */
}
}
/* Scroll Button - Size Fix */

View file

@ -4,6 +4,34 @@
--arrowpanel-menuimageblank-padding: calc(var(--arrowpanel-menuitem-padding) - 2px) !important;
}
@supports -moz-bool-pref("userChrome.panel.photon") {
:root {
/* Blank Menu Left Padding */
--arrowpanel-menuimageblank-padding-horizontal: calc(var(--arrowpanel-menublank-padding) - 3px);
--arrowpanel-menuitemblank-padding: calc(var(--arrowpanel-menuitem-padding) + 1px);
}
:root[uidensity="compact"] {
--arrowpanel-menuimageblank-padding-horizontal: calc(var(--arrowpanel-menublank-padding) - 5px);
}
:root[uidensity="touch"] {
--arrowpanel-menuimageblank-padding-horizontal: calc(var(--arrowpanel-menublank-padding));
}
:root {
/* Global */
--arrowpanel-menuicon-paddingx2: calc(var(--arrowpanel-menuicon-padding) * 2);
/* General Panel */
--arrowpanel-menublank-padding: calc(var(--arrowpanel-menuicon-paddingx2) + 8px) !important;
--arrowpanel-menuimageblank-padding: calc(var(--arrowpanel-menuitem-padding) - 2px) !important;
/* Blank Menu Left Padding */
--arrowpanel-menuimageblank-padding-horizontal: calc(
var(--arrowpanel-menuicon-paddingx2) + var(--arrowpanel-menuitem-padding)
);
--arrowpanel-menuitemblank-padding: calc(var(--arrowpanel-menuitem-padding) + 1px);
}
}
#downloadsHistory .button-text,
.subviewbutton > .toolbarbutton-text {
padding-inline-start: var(--arrowpanel-menuicon-padding) !important;

View file

@ -1,5 +1,7 @@
.tab-context-line {
display: none;
@include Option("userChrome.tab.shareProton") {
.tab-context-line {
display: none;
}
}
.tab-content:not([titlechanged])::before {

View file

@ -1,62 +0,0 @@
#tabbrowser-arrowscrollbox {
position: absolute;
}
.tab-background::before,
#tabs-newtab-button::before {
/* Box Model */
content: "";
display: block;
position: absolute;
/* Position */
top: 50%;
transform: translateX(-2.5px) translateY(calc(-50% + 1px));
/* Bar shape */
width: 1px;
height: 20px;
/* Bar Color */
opacity: 0;
background-color: var(--toolbarseparator-color);
}
.tabbrowser-tab:not([visuallyselected], [multiselected], :hover, :first-child) .tab-background::before,
#tabs-newtab-button:not(:hover, [open])::before {
opacity: var(--tab-separator-opacity);
}
#navigator-toolbox:not([movingtab])
.tabbrowser-tab:is([visuallyselected], [multiselected], :hover)
+ .tabbrowser-tab
.tab-background::before,
#navigator-toolbox:not([movingtab])
.tabbrowser-tab:is([visuallyselected], [multiselected], :hover)
~ .tabbrowser-tab[afterhovered]
.tab-background::before,
#navigator-toolbox:not([movingtab])
.tabbrowser-tab[last-visible-tab]:is([visuallyselected], [multiselected], :hover)
~ #tabs-newtab-button::before,
#navigator-toolbox:not([movingtab])
.tabbrowser-tab[first-visible-unpinned-tab]:is([visuallyselected], [multiselected], :hover)
.tab-background::before,
#navigator-toolbox:not([movingtab])
#tabbrowser-arrowscrollbox[overflowing]
tab.tabbrowser-tab[first-visible-unpinned-tab]
.tab-background::before {
opacity: 0 !important;
}
/* Animate */
@media (prefers-reduced-motion: no-preference) {
.tab-background::before,
#tabs-newtab-button::before {
transition: opacity 0.2s var(--animation-easing-function); /* cubic-bezier(.07, .95, 0, 1) */
}
}
/* Latest Tab & New tab margin */
#tabbrowser-arrowscrollbox:not([overflowing]) .tabbrowser-tab[last-visible-tab] {
margin-inline-end: 1px !important;
}

View file

@ -0,0 +1,14 @@
/*= New tab button - Looks like tab ==========================================*/
@include Option("userChrome.tab.original") {
@import "newtab_button/looks_like_tab";
}
/*= New tab button - Smaller button ==========================================*/
@include Option("userChrome.tab.photon") {
@import "newtab_button/smaller_button";
}
/*= New tab button - Proton like button ======================================*/
@include Option("userChrome.tab.proton") {
@import "newtab_button/proton_like_button";
}

View file

@ -1,8 +1,22 @@
/*= Selected Tab - Color like toolbar ========================================*/
@import "selected_tab/color_like_toolbar";
@include Option("userChrome.tab.connect_to_window") {
@import "selected_tab/color_like_toolbar";
}
/*= Multi Selected Color - More Contrast =====================================*/
@import "selected_tab/multi_selected";
/*= Selected Tab - Box Shadow ================================================*/
@import "selected_tab/box_shadow";
@include Option("userChrome.tab.original") {
@import "selected_tab/box_shadow";
}
/*= Selected Tab - Bottom Rounded Corner =====================================*/
@import "selected_tab/bottom_rounded_corner";
@include Option("userChrome.tab.original") {
@import "selected_tab/bottom_rounded_corner";
}
/*= Selected Tab - Photon like contextline ===================================*/
@include Option("userChrome.tab.photon") {
@import "selected_tab/photon_like_contextline";
}

View file

@ -0,0 +1,7 @@
/*= Unselected Tab - Dynamic Separator =======================================*/
@import "unselected_tab/dynamic_separator";
/*= Unselected Tab - Static Separator ========================================*/
@include Option("userChrome.tab.photon") {
@import "unselected_tab/static_separator";
}

View file

@ -0,0 +1,10 @@
:root:not([uidensity="touch"]) #tabs-newtab-button > .toolbarbutton-icon {
--toolbarbutton-inner-padding: calc((var(--tab-min-height) - 16px) / 2 - 1px);
}
:root:not([uidensity="compact"]) #tabs-newtab-button > .toolbarbutton-icon {
margin-left: 2px;
}
:root[uidensity="compact"] #tabs-newtab-button > .toolbarbutton-icon {
margin-left: 1px;
}

View file

@ -0,0 +1,12 @@
#tabs-newtab-button > .toolbarbutton-icon {
margin-left: 1px;
/* Origianl: calc((var(--tab-min-height) - 16px) / 2) = 10px */
--toolbarbutton-inner-padding: 6px;
}
:root[uidensity="compact"] #tabs-newtab-button > .toolbarbutton-icon {
--toolbarbutton-inner-padding: 4px; /* Photon: 6px */
}
:root[uidensity="touch"] #tabs-newtab-button > .toolbarbutton-icon {
--toolbarbutton-inner-padding: 9px; /* Photon: 9px */
}

View file

@ -12,23 +12,3 @@
background-image: linear-gradient(transparent, transparent),
linear-gradient(var(--toolbar-bgcolor), var(--toolbar-bgcolor)), var(--lwt-header-image, none) !important;
}
/* Multi Selected Color */
#tabbrowser-tabs:not([movingtab])
> #tabbrowser-arrowscrollbox
> .tabbrowser-tab
> .tab-stack
> .tab-background[multiselected]:not([selected]):-moz-lwtheme {
background-image: linear-gradient(var(--toolbar-bgcolor, transparent), var(--toolbar-bgcolor, transparent)),
linear-gradient(var(--toolbar-bgcolor), var(--toolbar-bgcolor)), var(--lwt-header-image, none) !important;
}
.tab-background[multiselected="true"]:not([selected="true"]) > .tab-loading-burst:not([bursting]) {
background: color-mix(in srgb, currentColor 65%, transparent);
opacity: 0.3;
}
#TabsToolbar[brighttext]
.tab-background[multiselected="true"]:not([selected="true"])
> .tab-loading-burst:not([bursting]) {
opacity: 0.15;
}

View file

@ -0,0 +1,18 @@
#tabbrowser-tabs:not([movingtab])
> #tabbrowser-arrowscrollbox
> .tabbrowser-tab
> .tab-stack
> .tab-background[multiselected]:not([selected]):-moz-lwtheme {
background-image: linear-gradient(var(--toolbar-bgcolor, transparent), var(--toolbar-bgcolor, transparent)),
linear-gradient(var(--toolbar-bgcolor), var(--toolbar-bgcolor)), var(--lwt-header-image, none) !important;
}
.tab-background[multiselected="true"]:not([selected="true"]) > .tab-loading-burst:not([bursting]) {
background: color-mix(in srgb, currentColor 65%, transparent);
opacity: 0.3;
}
#TabsToolbar[brighttext]
.tab-background[multiselected="true"]:not([selected="true"])
> .tab-loading-burst:not([bursting]) {
opacity: 0.15;
}

View file

@ -0,0 +1,77 @@
:root[lwtheme-mozlightdark] #tabbrowser-tabs {
--tab-line-color: rgb(10, 132, 255) !important;
}
@media (-moz-gtk-csd-available) {
:root[lwtheme-mozlightdark]:not(:-moz-lwtheme) #tabbrowser-tabs {
--tab-line-color: Highlight !important; /* -moz-accent-color */
}
}
.tab-context-line {
display: -moz-inline-box !important;
height: 2px !important;
border-radius: var(--tab-border-radius, 4px) var(--tab-border-radius, 4px) 0 0 !important;
}
.tabbrowser-tab:is([selected], [multiselected]) .tab-context-line {
/* Photon like color
Default: var(--tab-line-color, rgb(10, 132, 255))
Automatic: color-mix(in srgb, var(--button-primary-bgcolor) 80%, transparent) */
background-color: var(--tab-line-color, rgb(10, 132, 255)) !important;
}
.tabbrowser-tab:hover:not([selected="true"], [multiselected]) > .tab-stack > .tab-background > .tab-context-line {
background-color: rgba(0, 0, 0, 0.2) !important;
opacity: 1 !important;
transform: none !important;
}
#TabsToolbar[brighttext]
.tabbrowser-tab:hover:not([selected="true"], [multiselected])
> .tab-stack
> .tab-background
> .tab-context-line {
background-color: rgba(255, 255, 255, 0.2) !important;
}
/* Prevent identitiy color flashing */
.tabbrowser-tab[usercontextid] .tab-context-line {
--identity-icon-color: none;
}
:root:not([customizing="true"]) #TabsToolbar[brighttext] tab[visuallyselected] > stack::before,
:root:not([customizing="true"]) #TabsToolbar[brighttext] tab[visuallyselected] > stack::after {
/* As Selected Tab - Box Shadow */
stroke: var(--toolbar-color) !important;
}
/* Animation */
.tabbrowser-tab:not([selected="true"], [multiselected]) .tab-context-line {
opacity: 0 !important;
transform: scaleX(0) !important;
}
@media (prefers-reduced-motion: no-preference) {
.tabbrowser-tab:not([selected="true"], [multiselected]) .tab-context-line {
transition: transform 250ms var(--animation-easing-function), opacity 250ms var(--animation-easing-function) !important; /* --animation-easing-function: cubic-bezier(.07, .95, 0, 1); */
}
}
/* Remove side's background color border */
#TabsToolbar[brighttext]
#tabbrowser-tabs:not([noshadowfortests])
.tabbrowser-tab:is([visuallyselected="true"], [multiselected])
> .tab-stack
> .tab-background:-moz-lwtheme {
--tabs-border-color: rgba(0, 0, 0, 0.3) !important;
box-shadow: 0 0 1px var(--tabs-border-color) !important; /* Original: 0 0 1px var(--tab-line-color, rgba(128,128,142,0.9)) */
}
#TabsToolbar:not([brighttext])
#tabbrowser-tabs:not([noshadowfortests])
.tabbrowser-tab:is([visuallyselected="true"], [multiselected])
> .tab-stack
> .tab-background {
box-shadow: 0 0 1px var(--tabs-border-color), 0 0 4px rgba(128, 128, 142, 0.5) !important; /* Original: 0 0 1px var(--tab-line-color, rgba(128,128,142,0.9)), 0 0 4px rgba(128,128,142,0.5) */
}
/* Container Tab */
.tabbrowser-tab[usercontextid] > .tab-stack > .tab-background > .tab-context-line {
margin: unset !important;
}

View file

@ -0,0 +1,139 @@
@include Option("userChrome.tab.original") {
#tabbrowser-arrowscrollbox {
position: absolute;
}
}
@include Option("userChrome.tab.original") {
.tab-background::before,
#tabs-newtab-button::before {
/* Box Model */
content: "";
display: block;
position: absolute;
/* Position */
top: 50%;
transform: translateX(-2.5px) translateY(calc(-50% + 1px));
/* Bar shape */
width: 1px;
height: 20px;
/* Bar Color */
opacity: 0;
background-color: var(--toolbarseparator-color);
}
}
@include Option("userChrome.tab.proton") {
.tab-background::before,
#tabbrowser-arrowscrollbox:not([overflowing])
.tabbrowser-tab:not([visuallyselected], [multiselected], :hover)[last-visible-tab]
.tab-background::after {
/* Box Model */
content: "";
display: block;
position: absolute;
top: 50%;
/* Bar shape */
width: 1px;
height: 20px;
/* Bar Color */
opacity: 0;
background-color: var(--toolbarseparator-color);
}
}
@include Option("userChrome.tab.proton") {
.tab-background::before {
transform: translateX(-2.5px) translateY(calc(-50% + 1px)) !important;
}
.tabbrowser-tab[last-visible-tab] .tab-background::after {
right: 0;
transform: translateX(1.5px) translateY(calc(-50% + 1px)) !important;
}
}
@include Option("userChrome.tab.shareProton") {
.tabbrowser-tab:not([visuallyselected], [multiselected], :hover, :first-child) .tab-background::before {
opacity: var(--tab-separator-opacity);
}
}
@include Option("userChrome.tab.original") {
#tabs-newtab-button:not(:hover, [open])::before {
opacity: var(--tab-separator-opacity);
}
}
@include Option("userChrome.tab.proton") {
#tabbrowser-arrowscrollbox:not([overflowing]) .tabbrowser-tab[first-visible-unpinned-tab] .tab-background::before,
#tabbrowser-arrowscrollbox:not([overflowing])
.tabbrowser-tab:not([visuallyselected], [multiselected], :hover)[last-visible-tab]
.tab-background::after {
opacity: var(--tab-separator-opacity);
}
}
@include Option("userChrome.tab.shareProton") {
#navigator-toolbox:not([movingtab])
.tabbrowser-tab[first-visible-unpinned-tab]:is([visuallyselected], [multiselected], :hover)
.tab-background::before,
#navigator-toolbox:not([movingtab])
#tabbrowser-arrowscrollbox[overflowing]
tab.tabbrowser-tab[first-visible-unpinned-tab]
.tab-background::before {
opacity: 0 !important;
}
}
@include Option("userChrome.tab.original") {
#navigator-toolbox:not([movingtab])
.tabbrowser-tab:is([visuallyselected], [multiselected], :hover)
+ .tabbrowser-tab
.tab-background::before,
#navigator-toolbox:not([movingtab])
.tabbrowser-tab:is([visuallyselected], [multiselected], :hover)
~ .tabbrowser-tab[afterhovered]
.tab-background::before,
#navigator-toolbox:not([movingtab])
.tabbrowser-tab[last-visible-tab]:is([visuallyselected], [multiselected], :hover)
~ #tabs-newtab-button::before {
opacity: 0 !important;
}
}
@include Option("userChrome.tab.proton") {
.tabbrowser-tab:is([visuallyselected], [multiselected], :hover)
+ .tabbrowser-tab:not([visuallyselected])
.tab-background::before {
opacity: 0 !important;
}
}
/* Animate */
@media (prefers-reduced-motion: no-preference) {
@include Option("userChrome.tab.shareProton") {
.tab-background::before {
transition: opacity 0.2s var(--animation-easing-function); /* cubic-bezier(.07, .95, 0, 1) */
}
}
@include Option("userChrome.tab.original") {
#tabs-newtab-button::before {
transition: opacity 0.2s var(--animation-easing-function); /* cubic-bezier(.07, .95, 0, 1) */
}
}
@include Option("userChrome.tab.proton") {
#tabbrowser-arrowscrollbox:not([overflowing])
.tabbrowser-tab:not([visuallyselected], [multiselected], :hover)[last-visible-tab]
.tab-background::after {
transition: opacity 0.2s var(--animation-easing-function); /* cubic-bezier(.07, .95, 0, 1) */
}
}
}
/* Latest Tab & New tab margin */
@include Option("userChrome.tab.shareProton") {
#tabbrowser-arrowscrollbox:not([overflowing]) .tabbrowser-tab[last-visible-tab] {
margin-inline-end: 1px !important;
}
}

View file

@ -0,0 +1,37 @@
.tabbrowser-tab[first-visible-tab]::before,
.tabbrowser-tab::after,
#tabbrowser-tabs[movingtab] > #tabbrowser-arrowscrollbox > .tabbrowser-tab[visuallyselected]::before {
content: "";
display: block;
}
.tabbrowser-tab::before,
.tabbrowser-tab::after {
--tab-divide-line: 1px solid var(--lwt-background-tab-separator-color, currentColor);
border-left: var(--tab-divide-line) !important;
margin-block: 5px 4px !important;
opacity: 0.3 !important;
}
.tabbrowser-tab::before {
margin-inline-start: -1px !important;
}
.tabbrowser-tab[first-visible-tab]::before,
:root[tabsintitlebar]:not([extradragspace]) #toolbar-menubar[autohide="true"] + #TabsToolbar .tabbrowser-tab::after,
.tabbrowser-tab:hover::after,
#tabbrowser-tabs:not([movingtab]) > #tabbrowser-arrowscrollbox > .tabbrowser-tab[beforehovered]::after,
.tabbrowser-tab[multiselected]::after,
#tabbrowser-tabs:not([movingtab]) > #tabbrowser-arrowscrollbox > .tabbrowser-tab[before-multiselected]::after {
margin-top: var(--tabs-top-border-width) !important;
margin-bottom: 0 !important;
}
/* Selected - Hide */
.tabbrowser-tab[first-visible-tab][visuallyselected]::before,
#tabbrowser-tabs:not([movingtab]) > #tabbrowser-arrowscrollbox > .tabbrowser-tab[beforeselected-visible]::after,
#tabbrowser-tabs[movingtab] > #tabbrowser-arrowscrollbox > .tabbrowser-tab[visuallyselected]::before,
.tabbrowser-tab[visuallyselected]::after {
border-color: var(--tabs-border-color) !important;
margin-top: 0 !important;
margin-bottom: 0 !important;
opacity: 1 !important;
}

View file

@ -26,22 +26,25 @@
}
/*= Remove Tab Border ========================================================*/
/* Light Theme */
#TabsToolbar:not([brighttext])
#tabbrowser-tabs:not([noshadowfortests])
.tabbrowser-tab:is([visuallyselected="true"], [multiselected])
> .tab-stack
> .tab-background {
border: unset !important; /* Nigtly 96: 1px solid var(--tab-line-color, rgba(128,128,142,0.9)); */
}
@include Option("userChrome.tab.connect_to_window") {
/* TARGET: original, photon */
/* Light Theme */
#TabsToolbar:not([brighttext])
#tabbrowser-tabs:not([noshadowfortests])
.tabbrowser-tab:is([visuallyselected="true"], [multiselected])
> .tab-stack
> .tab-background {
border: unset !important; /* Nigtly 96: 1px solid var(--tab-line-color, rgba(128,128,142,0.9)); */
}
/* Dark Theme */
#TabsToolbar[brighttext]
#tabbrowser-tabs:not([noshadowfortests])
.tabbrowser-tab:is([visuallyselected="true"], [multiselected])
> .tab-stack
> .tab-background:-moz-lwtheme {
border: unset !important; /* Nigtly 96: 1px solid var(--tab-line-color, rgba(128,128,142,0.9)) */
/* Dark Theme */
#TabsToolbar[brighttext]
#tabbrowser-tabs:not([noshadowfortests])
.tabbrowser-tab:is([visuallyselected="true"], [multiselected])
> .tab-stack
> .tab-background:-moz-lwtheme {
border: unset !important; /* Nigtly 96: 1px solid var(--tab-line-color, rgba(128,128,142,0.9)) */
}
}
/*= Light Weight Theme =======================================================*/

View file

@ -160,6 +160,19 @@
--toolbar-field-background-color: var(--mac-sidebar-bgcolor) !important;
}
}
/*- Proton Tab Selected ----------------------------------------------------*/
@include Option("userChrome.tab.proton") {
:root:not(:-moz-lwtheme),
:root[lwt-default-theme-in-dark-mode] {
--mac-proton-tab-selected-bgcolor: color-mix(in srgb, rgb(255, 255, 255) 20%, -moz-dialog);
}
:root:not(:-moz-lwtheme) {
--tab-selected-color: var(--mac-proton-tab-selected-bgcolor) !important;
}
:root[lwt-default-theme-in-dark-mode] {
--lwt-selected-tab-background-color: var(--mac-proton-tab-selected-bgcolor) !important;
}
}
/*- Toolbar ----------------------------------------------------------------*/
:root:not(:-moz-lwtheme) #navigator-toolbox,
@ -218,19 +231,21 @@
}
/* Hard Coded */
:root[lwtheme-mozlightdark][lwt-default-theme-in-dark-mode] /* Legacy */
#tabbrowser-tabs:not([movingtab])
> #tabbrowser-arrowscrollbox
> .tabbrowser-tab
> .tab-stack
> .tab-background[selected="true"],
:root[style*="--lwt-accent-color: rgb(28, 27, 34); --lwt-text-color: rgba(251, 251, 254);"][lwt-default-theme-in-dark-mode]
#tabbrowser-tabs:not([movingtab])
> #tabbrowser-arrowscrollbox
> .tabbrowser-tab
> .tab-stack
> .tab-background[selected="true"] {
background: color-mix(in srgb, rgb(255, 255, 255) 15%, -moz-dialog) !important;
@include Option("userChrome.tab.connect_to_window") {
:root[lwtheme-mozlightdark][lwt-default-theme-in-dark-mode] /* Legacy */
#tabbrowser-tabs:not([movingtab])
> #tabbrowser-arrowscrollbox
> .tabbrowser-tab
> .tab-stack
> .tab-background[selected="true"],
:root[style*="--lwt-accent-color: rgb(28, 27, 34); --lwt-text-color: rgba(251, 251, 254);"][lwt-default-theme-in-dark-mode]
#tabbrowser-tabs:not([movingtab])
> #tabbrowser-arrowscrollbox
> .tabbrowser-tab
> .tab-stack
> .tab-background[selected="true"] {
background: color-mix(in srgb, rgb(255, 255, 255) 15%, -moz-dialog) !important;
}
}
:root:not([customizing="true"]):not(:-moz-lwtheme) tab[visuallyselected] > stack::before,

View file

@ -189,6 +189,20 @@
--panel-separator-color: var(--win-border-color) !important;
}
/*- Proton Tab Selected ----------------------------------------------------*/
@include Option($tabProton) {
:root:not(:-moz-lwtheme),
:root[lwt-default-theme-in-dark-mode] {
--win-proton-tab-selected-bgcolor: color-mix(in srgb, var(--win-bgcolor) 5%, var(--win-component-bgcolor));
}
:root:not(:-moz-lwtheme) {
--tab-selected-color: var(--win-proton-tab-selected-bgcolor) !important;
}
:root[lwt-default-theme-in-dark-mode] {
--lwt-selected-tab-background-color: var(--win-proton-tab-selected-bgcolor) !important;
}
}
/*- Menu -------------------------------------------------------------------*/
html#main-window menupopup:not(:-moz-lwtheme) {
--menu-color: var(--win-text-color) !important;

View file

@ -1,4 +1,5 @@
@use "utils/os" as *;
@use "utils/option" as *;
@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
@namespace html "http://www.w3.org/1999/xhtml";
@ -38,16 +39,18 @@
@import "padding/index";
/** Tab Bar - Connect to window ***********************************************/
@import "tabbar/connect_to_window";
@include Option("userChrome.tab.connect_to_window") {
@import "tabbar/connect_to_window";
}
/** Selected Tab **************************************************************/
@import "tabbar/selected_tab";
/** Unselected Tab - Divide line **********************************************/
@import "tabbar/divide_line";
@import "tabbar/unselected_tab";
/* New tab button - Looks like tab ********************************************/
@import "tabbar/newtab_looks_like_tab";
/* New tab button *************************************************************/
@import "tabbar/newtab_button";
/* Unloaded Tab - Contents Opacity ********************************************/
@import "tabbar/unload_tab";

7
src/utils/_option.scss Normal file
View file

@ -0,0 +1,7 @@
$tabProton: "userChrome.tab.proton";
@mixin Option($optionName) {
@supports -moz-bool-pref("#{$optionName}") {
@content;
}
}

14
user.js
View file

@ -1,4 +1,4 @@
// ** Theme Related Options ****************************************************
// ** Theme Default Options ****************************************************
// userchrome.css usercontent.css activate
user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true);
@ -26,6 +26,18 @@ user_pref("browser.newtabpage.activity-stream.improvesearch.handoffToAwesomebar"
// Browser Theme Based Scheme - Will be activate 95 Above
// user_pref("layout.css.prefers-color-scheme.content-override", 3);
// ** Theme Related Options ****************************************************
user_pref("userChrome.tab.sharePhoton", true); // Original, Photon
user_pref("userChrome.tab.shareProton", true); // Original, Proton
user_pref("userChrome.tab.original", true); // Original
// user_pref("userChrome.tab.photon", true); // Photon
// user_pref("userChrome.tab.proton", true); // Proton
user_pref("userChrome.tab.connect_to_window", true); // Original, Photon
user_pref("userChrome.panel.proton", true); // Original, Proton
// user_pref("userChrome.panel.photon", true); // Photon
// ** Useful Options ***********************************************************
// Integrated calculator at urlbar
user_pref("browser.urlbar.suggest.calculator", true);

6149
userChrome.css Normal file

File diff suppressed because it is too large Load diff

2355
userContent.css Normal file

File diff suppressed because it is too large Load diff