Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 8 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@
[Download Firefox](https://www.mozilla.org/en-US/firefox/all/#product-desktop-release) / [Download WaveFox](https://github.com/QNetITQ/WaveFox/releases) / [WaveFox Nightly](https://github.com/QNetITQ/WaveFox/tree/WaveFox-Nightly)

<details>
<summary>WaveFox Nova v0.7.156</summary>
<summary>WaveFox Nova v0.8.157</summary>

- ##### Minimum Requirements
- Firefox 156
- Firefox 157
- Windows / MacOS / Linux

- Download the `chrome` folder and put it in your user profile folder
Expand Down Expand Up @@ -46,13 +46,18 @@ Requires OS with transparency support. Works only with the system theme.
Ability to control the rounding of browser bar elements.
<img width="1778" height="120" alt="изображение" src="https://github.com/user-attachments/assets/ec10f079-fabc-4bdf-bfa5-ccd3125d5792" />

- `WaveFox.Toolbar.Roundings` > 1 or 2 or 3 or 4
- `WaveFox.Toolbar.Roundings` > 1 or 2 or 3 or 4 or 5

### Tab Separators
![изображение](https://user-images.githubusercontent.com/85301851/152351312-f6ad4578-e7d5-40b7-8b2d-49388a750f54.png)

- `WaveFox.HorizontalTabs.Tabs.Separators` > 1 or 2

### Tab Bar Shadows
![изображение](https://user-images.githubusercontent.com/85301851/152011749-4d5619b3-0fd8-40f9-a3dc-96be31839971.png)

- `WaveFox.HorizontalTabs.Tabs.Shadows`

### Icons (firefox-csshacks / Lepton) / (Horizontal and Vertical tabs)
This is third-party code. I will update this code according to the original source.

Expand Down
19 changes: 16 additions & 3 deletions chrome/modules/general_styles/wavefox_toolbar.css
Original file line number Diff line number Diff line change
@@ -1,6 +1,19 @@
/* Roundings */

@media -moz-pref("WaveFox.Toolbar.Roundings", 1)
{
:root
{
--border-radius-xsmall: 0px !important;
--border-radius-small: 0px !important;
--border-radius-medium: 0px !important;
--border-radius-large: 0px !important;
--border-radius-xlarge: 0px !important;
--border-radius-circle: 0px !important;
}
}

@media -moz-pref("WaveFox.Toolbar.Roundings", 2)
{
:root
{
Expand All @@ -13,7 +26,7 @@
}
}

@media -moz-pref("WaveFox.Toolbar.Roundings", 2)
@media -moz-pref("WaveFox.Toolbar.Roundings", 3)
{
:root
{
Expand All @@ -26,7 +39,7 @@
}
}

@media -moz-pref("WaveFox.Toolbar.Roundings", 3)
@media -moz-pref("WaveFox.Toolbar.Roundings", 4)
{
:root
{
Expand All @@ -39,7 +52,7 @@
}
}

@media -moz-pref("WaveFox.Toolbar.Roundings", 4)
@media -moz-pref("WaveFox.Toolbar.Roundings", 5)
{
:root
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,11 @@
#navigator-toolbox
{
& > *
{
border: none !important;
}
}

/* OS System Theme */

@media -moz-pref("WaveFox.HorizontalTabs.OS.SystemTheme") and
-moz-pref("extensions.activeThemeID", 'default-theme@mozilla.org')
-moz-pref("extensions.activeThemeID", 'default-theme@mozilla.org') and
(-moz-native-theme)
{
#main-window,
body,
#navigator-toolbox
body
{
background-color: transparent !important;
background-image: none !important;
Expand Down
129 changes: 44 additions & 85 deletions chrome/modules/horizontal_tabs/wavefox_tab_media_icons_and_text.css
Original file line number Diff line number Diff line change
@@ -1,104 +1,63 @@
/* -------------------- Media Icons -------------------- */

@scope (#pinned-tabs-container, #tabbrowser-arrowscrollbox) to (tab-group, tab-split-view-wrapper)
tab-split-view-wrapper
{
/* Pinned Tabs */

.tabbrowser-tab[pinned]:not([crashed])
{
&:where([soundplaying], [muted], [activemedia-blocked]) .tab-icon-stack > :not(.tab-icon-overlay)
{
clip-path: shape(
nonzero from 0px 0px,
hline by 16px,
vline by 16px,
arc by -16px 0px of 8px ccw,
close
);
}
min-width: calc(var(--tab-min-width-pref, var(--tab-min-width)) * 2 + 6px) !important;
}

.tab-icon-overlay
{
background-color: transparent !important;
background-image: none !important;
color: inherit !important;
fill: currentColor !important;
top: 8px !important;
inset-inline-end: 0px !important;
box-shadow: none !important;
.tabbrowser-tab
{
--tab-min-width-extra-icons: 0px !important;
--tab-icon-end-margin: 6px !important;
}

&:hover
{
background-color: color-mix(in srgb, currentColor 17%, transparent) !important;
}
/* Pinned Tabs */

&:hover:active
{
background-color: color-mix(in srgb, currentColor 30%, transparent) !important;
}
}
.tabbrowser-tab[pinned]:not([crashed])
{
&:where([soundplaying], [muted], [activemedia-blocked]) .tab-icon-stack > :not(.tab-icon-overlay)
{
clip-path: shape(
nonzero from 0px 0px,
hline by 16px,
vline by 16px,
arc by -16px 0px of 8px ccw,
close
);
}

/* Regular Tabs */

.tabbrowser-tab:not([pinned], [crashed])
.tab-icon-overlay
{
&:where([soundplaying], [muted], [activemedia-blocked]) .tab-icon-stack > *
{
clip-path: shape(
nonzero from 0px 0px,
hline by 16px,
vline by 16px,
arc by -16px 0px of 8px ccw,
close
);
}

.tab-audio-button
background-color: transparent !important;
background-image: none !important;
color: inherit !important;
fill: currentColor !important;
top: 8px !important;
inset-inline-end: 0px !important;
box-shadow: none !important;
border: none !important;
border-radius: 50px !important;

&:hover
{
--button-size-icon-small: 16px !important;
--button-min-height-small: 16px !important;
--button-background-color-ghost: transparent !important;
--button-text-color-ghost: inherit !important;
--button-background-color-ghost-hover: color-mix(in srgb, currentColor 17%, transparent) !important;
--button-text-color-ghost-hover: inherit !important;
--button-background-color-ghost-active: color-mix(in srgb, currentColor 30%, transparent) !important;
--button-text-color-ghost-active: inherit !important;
margin: 0px !important;
position: relative !important;
top: 8px !important;
background-color: color-mix(in srgb, currentColor 17%, transparent) !important;
}

.tab-content
{
display: grid !important;
grid-template-rows: auto !important;
grid-template-columns: auto 1fr auto !important;

.tab-icon-stack,
.tab-audio-button
{
grid-area: 1 / 1 / auto / auto !important;
}

.tab-icon-image:not([src], [pinned], [crashed], [sharing], [pictureinpicture], [busy])
{
display: block !important;
}
&:hover:active
{
background-color: color-mix(in srgb, currentColor 30%, transparent) !important;
}
}
}

.tabbrowser-tab:not([pinned])
{
&[fadein]
{
min-width: var(--tab-min-width-pref, var(--tab-min-width)) !important;
}
/* Regular Tabs */

.tab-icon-stack > *
{
margin-inline-end: 6px !important;
}
.tabbrowser-tab
{
.tab-audio-button
{
--button-size-icon-small: 16px !important;
--button-min-height-small: 16px !important;
}
}

Expand Down
4 changes: 2 additions & 2 deletions chrome/modules/horizontal_tabs/wavefox_tab_separators.css
Original file line number Diff line number Diff line change
Expand Up @@ -81,9 +81,9 @@

@media -moz-pref("WaveFox.HorizontalTabs.Tabs.Separators", 2)
{
.tabbrowser-tab > .tab-stack > .tab-background
.tabbrowser-tab:not([visuallyselected], :hover, [multiselected]) > .tab-stack > .tab-background
{
background-color: color-mix(in srgb, currentColor 17%, transparent);
background-color: color-mix(in srgb, currentColor 10%, transparent) !important;
}
}
}
Expand Down
112 changes: 61 additions & 51 deletions chrome/modules/horizontal_tabs/wavefox_tab_shadows.css
Original file line number Diff line number Diff line change
@@ -1,64 +1,62 @@
/*
@media -moz-pref("extensions.activeThemeID", 'default-theme@mozilla.org') or
-moz-pref("extensions.activeThemeID", 'firefox-compact-light@mozilla.org') or
-moz-pref("extensions.activeThemeID", 'firefox-compact-dark@mozilla.org')
@media -moz-pref("WaveFox.HorizontalTabs.Tabs.Shadows")
{
@media not -moz-pref("WaveFox.HorizontalTabs.AttachedTabs")
@scope (:root) to (tab-split-view-wrapper)
{
@scope (:root) to (tab-split-view-wrapper)
:scope
{
:scope
{
--wavefox-selected-tab-shadow-offset-x: 0px;
--wavefox-selected-tab-shadow-offset-y: 2px;
--wavefox-selected-tab-shadow-blur: 2px;
--wavefox-selected-tab-shadow-spread: 0px;
--wavefox-selected-tab-shadow-color: ThreeDShadow;
--wavefox-selected-tab-shadow-offset-x: 0px;
--wavefox-selected-tab-shadow-offset-y: 2px;
--wavefox-selected-tab-shadow-blur: 2px;
--wavefox-selected-tab-shadow-spread: 0px;
--wavefox-selected-tab-shadow-color: var(--chrome-content-separator-color);

--wavefox-selected-tab-filter-offset-x: 0px;
--wavefox-selected-tab-filter-offset-y: 0px;
--wavefox-selected-tab-filter-blur: 2px;
--wavefox-selected-tab-filter-color: var(--chrome-content-separator-color);

--wavefox-inner-tabbar-shadow-offset-x: 0px;
--wavefox-inner-tabbar-shadow-offset-y: -4px;
--wavefox-inner-tabbar-shadow-blur: 4px;
--wavefox-inner-tabbar-shadow-spread: -4px;
--wavefox-inner-tabbar-shadow-color: var(--chrome-content-separator-color);

--wavefox-selected-tab-shadow: var(--wavefox-selected-tab-shadow-offset-x)
var(--wavefox-selected-tab-shadow-offset-y)
var(--wavefox-selected-tab-shadow-blur)
var(--wavefox-selected-tab-shadow-spread)
color-mix(in srgb, var(--wavefox-selected-tab-shadow-color) var(--wavefox-filter-shadow-saturation, 100%), transparent);

--wavefox-selected-tab-shadow: var(--wavefox-selected-tab-shadow-offset-x)
var(--wavefox-selected-tab-shadow-offset-y)
var(--wavefox-selected-tab-shadow-blur)
var(--wavefox-selected-tab-shadow-spread)
color-mix(in srgb, var(--wavefox-selected-tab-shadow-color) var(--wavefox-filter-shadow-saturation, 100%), transparent);
--wavefox-selected-tab-filter: drop-shadow(
var(--wavefox-selected-tab-filter-offset-x)
var(--wavefox-selected-tab-filter-offset-y)
var(--wavefox-selected-tab-filter-blur)
color-mix(in srgb, var(--wavefox-selected-tab-filter-color) var(--wavefox-filter-shadow-saturation, 100%), transparent));

--wavefox-inner-tabbar-shadow: inset
var(--wavefox-inner-tabbar-shadow-offset-x)
var(--wavefox-inner-tabbar-shadow-offset-y)
var(--wavefox-inner-tabbar-shadow-blur)
var(--wavefox-inner-tabbar-shadow-spread)
color-mix(in srgb, var(--wavefox-inner-tabbar-shadow-color) var(--wavefox-filter-shadow-saturation, 100%), transparent);

@media (prefers-color-scheme: dark)
{
--wavefox-selected-tab-shadow-color: black;
--wavefox-selected-tab-filter-color: black;
--wavefox-inner-tabbar-shadow-color: black;
}

@media not -moz-pref("WaveFox.HorizontalTabs.AttachedTabs")
{
.tabbrowser-tab[visuallyselected] .tab-background
{
box-shadow: var(--wavefox-selected-tab-shadow) !important;
}
}
}
}

@media -moz-pref("WaveFox.HorizontalTabs.AttachedTabs")
{
@scope (:root) to (tab-group, tab-split-view-wrapper)
{
:scope

@media -moz-pref("WaveFox.HorizontalTabs.AttachedTabs")
{
--wavefox-selected-tab-filter-offset-x: 0px;
--wavefox-selected-tab-filter-offset-y: 0px;
--wavefox-selected-tab-filter-blur: 2px;
--wavefox-selected-tab-filter-color: ThreeDShadow;

--wavefox-inner-tabbar-shadow-offset-x: 0px;
--wavefox-inner-tabbar-shadow-offset-y: -4px;
--wavefox-inner-tabbar-shadow-blur: 4px;
--wavefox-inner-tabbar-shadow-spread: -4px;
--wavefox-inner-tabbar-shadow-color: ThreeDShadow;

--wavefox-selected-tab-filter: drop-shadow(
var(--wavefox-selected-tab-filter-offset-x)
var(--wavefox-selected-tab-filter-offset-y)
var(--wavefox-selected-tab-filter-blur)
color-mix(in srgb, var(--wavefox-selected-tab-filter-color) var(--wavefox-filter-shadow-saturation, 100%), transparent));

--wavefox-inner-tabbar-shadow: inset
var(--wavefox-inner-tabbar-shadow-offset-x)
var(--wavefox-inner-tabbar-shadow-offset-y)
var(--wavefox-inner-tabbar-shadow-blur)
var(--wavefox-inner-tabbar-shadow-spread)
color-mix(in srgb, var(--wavefox-inner-tabbar-shadow-color) var(--wavefox-filter-shadow-saturation, 100%), transparent);

#TabsToolbar
{
position: relative !important;
Expand All @@ -83,8 +81,20 @@
{
filter: var(--wavefox-selected-tab-filter) !important;
}

tab-group
{
.tabbrowser-tab[visuallyselected]
{
filter: none !important;

.tab-background
{
box-shadow: var(--wavefox-selected-tab-shadow) !important;
}
}
}
}
}
}
}
*/
Loading
Loading