992 lines
35 KiB
Nix
992 lines
35 KiB
Nix
{ config, pkgs, lib, ... }:
|
||
|
||
let
|
||
firefoxAddons = pkgs.nur.repos.rycee.firefox-addons;
|
||
in
|
||
{
|
||
programs.firefox = {
|
||
enable = true;
|
||
|
||
profiles.default = {
|
||
bookmarks = {
|
||
force = true;
|
||
settings = [
|
||
{
|
||
name = "Toolbar";
|
||
toolbar = true;
|
||
bookmarks = [
|
||
{
|
||
name = "Dev";
|
||
bookmarks = [
|
||
{ name = "GitHub"; url = "https://github.com/gibbyDev"; }
|
||
{ name = "ChatGPT"; url = "https://chatgpt.com"; }
|
||
{ name = "Hostinger"; url = "https://hostinger.com"; }
|
||
{ name = "UpWork"; url = "https://www.upwork.com/nx/find-work/best-matches"; }
|
||
{ name = "Servers"; bookmarks = [ { name = "8080"; url = "http://localhost:8080"; } { name = "3000"; url = "http://localhost:3000"; } { name = "5000"; url = "http://localhost:5000"; } ]; }
|
||
];
|
||
}
|
||
{
|
||
name = "Personal";
|
||
bookmarks = [
|
||
{ name = "Dropbox"; url = "https://www.dropbox.com/home"; }
|
||
{ name = "Betterhelp"; url = "https://www.betterhelp.com/"; }
|
||
];
|
||
}
|
||
|
||
{
|
||
name = "Mail";
|
||
bookmarks = [
|
||
{ name = "ProtonMail"; url = "https://protonmail.com"; }
|
||
{ name = "Gmail"; url = "https://gmail.com"; }
|
||
];
|
||
}
|
||
|
||
{
|
||
name = "Social";
|
||
bookmarks = [
|
||
{ name = "LinkedIn"; url = "https://linkedin.com"; }
|
||
{ name = "YouTube"; url = "https://youtube.com"; }
|
||
{ name = "YouTube Studio"; url = "https://studio.youtube.com/channel/UCrWyV9qsJOPCF2af1gYzDeQ"; }
|
||
];
|
||
}
|
||
|
||
|
||
# You can still mix in loose bookmarks if you want
|
||
{ name = "Search"; url = "https://duckduckgo.com"; }
|
||
];
|
||
}
|
||
];
|
||
};
|
||
|
||
# ------------------------------
|
||
# ⚙️ Firefox preferences
|
||
# ------------------------------
|
||
settings = {
|
||
"places.favicons.enabled" = true;
|
||
"privacy.donottrackheader.enabled" = true;
|
||
"network.trr.mode" = 2;
|
||
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
||
};
|
||
|
||
# ------------------------------
|
||
# 🧩 Extensions
|
||
# ------------------------------
|
||
extensions.packages = with firefoxAddons; [
|
||
pywalfox
|
||
vimium
|
||
ublock-origin
|
||
sponsorblock
|
||
darkreader
|
||
tridactyl
|
||
youtube-shorts-block
|
||
];
|
||
userChrome = ''
|
||
/* ===================================================================
|
||
LATIN ACCENT - FIREFOX TRANSPARENT THEME
|
||
Made with cariño by Acercandr0
|
||
=================================================================== */
|
||
|
||
:root {
|
||
/* 🎯 Core Transparency */
|
||
--tabpanel-background-color: transparent !important;
|
||
--chrome-content-separator-color: transparent !important;
|
||
--toolbar-bgcolor: transparent !important;
|
||
|
||
/* 🌈 Adaptive Color System */
|
||
--accent-color: color-mix(in srgb, AccentColor 100%, transparent) !important;
|
||
--accent-color-subtle: color-mix(in srgb, AccentColor 30%, transparent) !important;
|
||
|
||
/* 💻 Opacity System */
|
||
--inactive-opacity: 0.3 !important;
|
||
--hover-opacity: 1 !important;
|
||
--semi-opacity: 0.7 !important;
|
||
|
||
/* ⚡ Animation System */
|
||
--transition-smooth: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
|
||
--transition-bounce: all 0.45s cubic-bezier(0.65, -0.50, 0.260, 1.50) !important;
|
||
--transition-quick: all 0.15s ease-out !important;
|
||
|
||
/* 📐 Layout Constants */
|
||
--border-radius: 5px;
|
||
--border-radius-large: 7px;
|
||
|
||
/* 🔍 Outline & Border System */
|
||
--border-outline-width: 1px;
|
||
|
||
/* 🎨 Adaptive Interface Colors - Light/Dark aware */
|
||
--base-bg: light-dark(rgb(245, 245, 245), rgb(20, 20, 20));
|
||
--panel-bg: color-mix(in srgb, var(--accent-color) 1%, var(--base-bg) 99%) !important;
|
||
--panel-border: var(--accent-color) !important;
|
||
--panel-text: light-dark(rgb(40, 40, 40), white) !important;
|
||
--hover-bg: light-dark(rgba(0, 0, 0, 0.08), rgba(255, 255, 255, 0.08)) !important;
|
||
|
||
/* 🔍 Focus System */
|
||
--focus-outline-color: var(--accent-color) !important;
|
||
--focus-outline-width: var(--border-outline-width) !important;
|
||
--toolbarbutton-icon-fill-attention: var(--accent-color) !important;
|
||
|
||
/* 📋 Dropdown Styling */
|
||
--arrowpanel-background: var(--panel-bg) !important;
|
||
--arrowpanel-border-color: var(--panel-border) !important;
|
||
--arrowpanel-color: var(--panel-text) !important;
|
||
--urlbar-open-background: var(--panel-bg) !important;
|
||
--urlbar-open-color: var(--panel-text) !important;
|
||
|
||
/* 🚫 Button Background Override */
|
||
--toolbarbutton-hover-background: transparent !important;
|
||
--toolbarbutton-active-background: transparent !important;
|
||
}
|
||
|
||
/* ===========================
|
||
🧹 GLOBAL RESETS
|
||
=========================== */
|
||
*,
|
||
#content,
|
||
#content > *,
|
||
#main-window,
|
||
#browser,
|
||
#appcontent,
|
||
#browserContainer,
|
||
#tabbrowser-tabpanels,
|
||
#tabbrowser-tabbox,
|
||
#tabbrowser-arrowscrollbox,
|
||
.tabbrowser-tabs,
|
||
.webRenderCompositor,
|
||
.browserContainer,
|
||
.browserStack,
|
||
#webrtcIndicator,
|
||
#navigator-toolbox,
|
||
#TabsToolbar,
|
||
#PersonalToolbar {
|
||
box-shadow: none !important;
|
||
filter: none !important;
|
||
}
|
||
|
||
/* ===========================
|
||
📑 TAB SYSTEM
|
||
=========================== */
|
||
|
||
#navigator-toolbox,
|
||
#TabsToolbar,
|
||
#nav-bar {
|
||
border: none !important;
|
||
}
|
||
|
||
/* Tab Layout */
|
||
.titlebar-spacer[type="pre-tabs"] {
|
||
width: 1px !important;
|
||
}
|
||
|
||
/* Mimized window tab spacing */
|
||
#main-window[sizemode="maximized"] #TabsToolbar {
|
||
padding-left: 2px !important;
|
||
}
|
||
|
||
#main-window[sizemode="maximized"] .tabbrowser-tabs {
|
||
margin-left: 0 !important;
|
||
}
|
||
|
||
/* Post-tabs spacer - Windows */
|
||
@supports not (-moz-bool-pref: "widget.macos.titlebar-blend") {
|
||
.titlebar-spacer[type="post-tabs"] {
|
||
width: 40px !important;
|
||
}
|
||
}
|
||
|
||
/* Pre-tabs spacer - macOS */
|
||
@supports (-moz-bool-pref: "widget.macos.titlebar-blend") {
|
||
.titlebar-spacer[type="pre-tabs"] {
|
||
width: 80px !important;
|
||
}
|
||
|
||
.titlebar-spacer[type="post-tabs"] {
|
||
width: 1px !important;
|
||
}
|
||
}
|
||
|
||
/* Base Tab Styling */
|
||
.tabbrowser-tab {
|
||
transition: var(--transition-smooth) !important;
|
||
position: relative;
|
||
}
|
||
|
||
/* Active Tab */
|
||
.tabbrowser-tab[selected="true"] .tab-background {
|
||
border: var(--border-outline-width) solid var(--accent-color) !important;
|
||
background: transparent !important;
|
||
border-radius: var(--border-radius) !important;
|
||
animation: tabActivate 0.3s ease-out;
|
||
}
|
||
|
||
/* Inactive Tabs */
|
||
.tabbrowser-tab:not([selected]) .tab-icon-image,
|
||
.tabbrowser-tab:not([selected]) .tab-label,
|
||
#tabs-newtab-button {
|
||
opacity: var(--inactive-opacity) !important;
|
||
transition: var(--transition-smooth) !important;
|
||
}
|
||
|
||
/* Tab Hover Effects */
|
||
.tabbrowser-tab:hover .tab-text,
|
||
.tabbrowser-tab:hover .tab-icon-image,
|
||
#tabs-newtab-button:hover {
|
||
opacity: var(--hover-opacity) !important;
|
||
}
|
||
|
||
/* Tab Close Button */
|
||
.tabbrowser-tab .tab-close-button {
|
||
opacity: 0 !important;
|
||
visibility: hidden !important;
|
||
transform: scale(0.8) rotate(30deg) !important;
|
||
transition: var(--transition-bounce) !important;
|
||
}
|
||
|
||
.tabbrowser-tab:hover .tab-close-button {
|
||
opacity: var(--semi-opacity) !important;
|
||
visibility: visible !important;
|
||
transform: scale(1) rotate(0deg) !important;
|
||
}
|
||
|
||
.tabbrowser-tab .tab-close-button:hover {
|
||
opacity: var(--hover-opacity) !important;
|
||
transform: scale(1.1) !important;
|
||
}
|
||
|
||
/* ===========================
|
||
🏷️ TAB GROUPS STYLING
|
||
=========================== */
|
||
|
||
/* Hide original underline */
|
||
.tab-group-line {
|
||
display: none !important;
|
||
}
|
||
|
||
/* Hide label underline */
|
||
.tab-group-label-container {
|
||
#tabbrowser-tabs:is([orient="horizontal"], [orient="vertical"]:not([expanded])) tab-group:not([collapsed]) > &::after {
|
||
display: none !important;
|
||
}
|
||
}
|
||
|
||
/* Group outline */
|
||
tab-group:not([collapsed]) .tabbrowser-tab .tab-background {
|
||
outline: var(--border-outline-width) solid var(--tab-group-color) !important;
|
||
outline-offset: -1px !important;
|
||
}
|
||
|
||
/* Inactive tabs inside group */
|
||
tab-group:not([collapsed]) .tabbrowser-tab:not([selected]) .tab-background {
|
||
outline: var(--border-outline-width) solid color-mix(in srgb, var(--tab-group-color) 30%, transparent) !important;
|
||
outline-offset: -1px !important;
|
||
}
|
||
|
||
/* Active group tab */
|
||
tab-group:not([collapsed]) .tabbrowser-tab[selected="true"] .tab-background {
|
||
border: none !important;
|
||
outline: var(--border-outline-width) solid var(--tab-group-color) !important;
|
||
outline-offset: -1px !important;
|
||
}
|
||
|
||
/* 🏷️ Label text - inactive/closed state */
|
||
.tab-group-label {
|
||
text-transform: uppercase !important;
|
||
font-weight: 500 !important;
|
||
letter-spacing: 0.5px !important;
|
||
color: light-dark(#666666, #cccccc) !important;
|
||
background-color: transparent !important;
|
||
transition: var(--transition-smooth) !important;
|
||
outline: var(--border-outline-width) solid var(--tab-group-color) !important;
|
||
outline-offset: -1px !important;
|
||
padding: 8px !important;
|
||
border-radius: var(--border-radius) !important;
|
||
}
|
||
|
||
/* 🌟 Label hover effect */
|
||
.tab-group-label-container:hover .tab-group-label {
|
||
color: light-dark(#333333, white) !important;
|
||
background-color: color-mix(in srgb, var(--tab-group-color) 35%, light-dark(white, black)) !important;
|
||
outline: var(--border-outline-width) solid var(--tab-group-color) !important;
|
||
outline-offset: -1px !important;
|
||
}
|
||
|
||
|
||
/* ===========================
|
||
📊 AUDIO TAB INDICATORS
|
||
=========================== */
|
||
|
||
/* 🔊 Sound playing (not muted) */
|
||
.tab-audio-button[soundplaying]:not([muted]) {
|
||
background-image: url("chrome://global/skin/media/audio.svg") !important;
|
||
background-repeat: no-repeat !important;
|
||
background-position: center !important;
|
||
background-size: contain !important;
|
||
-moz-context-properties: fill, stroke !important;
|
||
fill: currentColor !important;
|
||
opacity: 0.6 !important;
|
||
background-color: transparent !important;
|
||
border: none !important;
|
||
padding: 0 !important;
|
||
padding-right: 4px !important;
|
||
margin-inline-start: 4px !important;
|
||
width: 10px !important;
|
||
height: 10px !important;
|
||
display: block !important;
|
||
transform-origin: center;
|
||
}
|
||
|
||
/* 🔇 Muted tab */
|
||
.tab-audio-button[muted] {
|
||
background-image: url("chrome://global/skin/media/audio-muted.svg") !important;
|
||
background-repeat: no-repeat !important;
|
||
background-position: center !important;
|
||
background-size: contain !important;
|
||
-moz-context-properties: fill, stroke !important;
|
||
fill: var(--accent-color) !important;
|
||
opacity: 0.8 !important;
|
||
background-color: transparent !important;
|
||
border: none !important;
|
||
padding: 0 !important;
|
||
padding-right: 4px !important;
|
||
margin-inline-start: 4px !important;
|
||
width: 10px !important;
|
||
height: 10px !important;
|
||
display: block !important;
|
||
}
|
||
|
||
/* ===========================
|
||
🔍 URL BAR SYSTEM
|
||
=========================== */
|
||
|
||
/* Closed State - Force transparent background */
|
||
#urlbar:not([open]) #urlbar-background,
|
||
#urlbar:not([open]) .urlbar-background,
|
||
#searchbar:not([open]),
|
||
#urlbar[breakout][breakout-extend]:not([open]) > #urlbar-background {
|
||
background: transparent !important;
|
||
background-color: transparent !important;
|
||
background-clip: border-box !important;
|
||
}
|
||
|
||
/* Open State - Updated selectors for new Firefox versions */
|
||
#urlbar[open] > #urlbar-background,
|
||
#urlbar[breakout][breakout-extend][open] > #urlbar-background,
|
||
#urlbar[open] .urlbar-background {
|
||
background: var(--urlbar-open-background) !important;
|
||
background-color: var(--panel-bg) !important;
|
||
background-clip: border-box !important;
|
||
color: var(--urlbar-open-color) !important;
|
||
border: var(--border-outline-width) solid var(--accent-color) !important;
|
||
border-radius: var(--border-radius-large) !important;
|
||
margin: 1px !important;
|
||
animation: urlbarExpand 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
|
||
box-shadow: none !important;
|
||
}
|
||
|
||
/* Fix for urlbar input container when closed */
|
||
#urlbar:not([open]) #urlbar-input-container {
|
||
background: transparent !important;
|
||
background-color: transparent !important;
|
||
}
|
||
|
||
/* Search Results - always transparent background, panel shows behind */
|
||
#urlbar-results,
|
||
#urlbar-results .urlbarView,
|
||
#urlbar-results .urlbarView-body,
|
||
#urlbar-results .urlbarView-row {
|
||
background: transparent !important;
|
||
}
|
||
|
||
/* Search Results Container */
|
||
#urlbar[open] #urlbar-results,
|
||
#urlbar[open] #urlbar-results .urlbarView,
|
||
#urlbar[breakout][breakout-extend][open] #urlbar-results {
|
||
background: transparent !important;
|
||
}
|
||
|
||
#urlbar[open] #urlbar-results .urlbarView-body {
|
||
background: transparent !important;
|
||
}
|
||
|
||
/* Search Result Items */
|
||
#urlbar-results .urlbarView-row {
|
||
transition: var(--transition-quick) !important;
|
||
border-radius: var(--border-radius) !important;
|
||
margin-right: 8px !important;
|
||
}
|
||
|
||
#urlbar-results .urlbarView-row:hover {
|
||
background: var(--hover-bg) !important;
|
||
transform: translateX(4px);
|
||
margin-right: 8px !important;
|
||
}
|
||
|
||
#urlbar-searchmode-switcher {
|
||
background-color: transparent !important;
|
||
}
|
||
|
||
/* URL Input Styling */
|
||
.urlbar-input-box {
|
||
display: flex !important;
|
||
justify-content: center !important;
|
||
}
|
||
|
||
.urlbar-input {
|
||
text-align: center !important;
|
||
transition: var(--transition-smooth) !important;
|
||
}
|
||
|
||
#urlbar[focused] .urlbar-input {
|
||
transform: scale(1.02);
|
||
}
|
||
|
||
/* ===========================
|
||
📚 BOOKMARKS BAR
|
||
=========================== */
|
||
|
||
/* Personal Toolbar (Bookmarks Bar) */
|
||
#PersonalToolbar {
|
||
background: transparent !important;
|
||
border: none !important;
|
||
padding: 2px 5px !important;
|
||
}
|
||
|
||
/* Bookmark Items Container */
|
||
#PlacesToolbarItems {
|
||
display: flex !important;
|
||
align-items: center !important;
|
||
gap: 2px !important;
|
||
}
|
||
|
||
/* Individual Bookmark Items */
|
||
.bookmark-item {
|
||
background: transparent !important;
|
||
border: none !important;
|
||
border-radius: var(--border-radius) !important;
|
||
opacity: var(--inactive-opacity) !important;
|
||
transition: var(--transition-smooth) !important;
|
||
padding: 4px 8px !important;
|
||
margin: 0 1px !important;
|
||
min-height: 24px !important;
|
||
max-height: 24px !important;
|
||
display: flex !important;
|
||
align-items: center !important;
|
||
justify-content: center !important;
|
||
white-space: nowrap !important;
|
||
overflow: hidden !important;
|
||
text-overflow: ellipsis !important;
|
||
transform-origin: center !important;
|
||
flex-shrink: 0 !important;
|
||
}
|
||
|
||
/* Bookmark Icons */
|
||
.bookmark-item .toolbarbutton-icon {
|
||
width: 16px !important;
|
||
height: 16px !important;
|
||
margin-right: 4px !important;
|
||
flex-shrink: 0 !important;
|
||
}
|
||
|
||
/* Bookmark Text */
|
||
.bookmark-item .toolbarbutton-text {
|
||
font-size: 12px !important;
|
||
max-width: 120px !important;
|
||
overflow: hidden !important;
|
||
text-overflow: ellipsis !important;
|
||
white-space: nowrap !important;
|
||
}
|
||
|
||
/* Bookmark Hover - Only opacity and subtle effects */
|
||
.bookmark-item:hover {
|
||
opacity: var(--hover-opacity) !important;
|
||
background: var(--hover-bg) !important;
|
||
transform: none !important;
|
||
}
|
||
|
||
/* Bookmark Icon Color on Hover */
|
||
.bookmark-item:hover .toolbarbutton-icon {
|
||
fill: var(--accent-color) !important;
|
||
}
|
||
|
||
/* Bookmarks Chevron Button */
|
||
#PlacesChevron {
|
||
background: transparent !important;
|
||
border: none !important;
|
||
opacity: var(--inactive-opacity) !important;
|
||
transition: var(--transition-smooth) !important;
|
||
min-width: 20px !important;
|
||
max-width: 20px !important;
|
||
margin-left: 5px !important;
|
||
}
|
||
|
||
#PlacesChevron:hover {
|
||
opacity: var(--hover-opacity) !important;
|
||
background: var(--hover-bg) !important;
|
||
transform: none !important;
|
||
}
|
||
|
||
/* ===========================
|
||
🎛️ REFINED BUTTON SYSTEM
|
||
=========================== */
|
||
|
||
/* 🔧 COMPREHENSIVE BUTTON SELECTOR - keeping normal behavior for urlbar buttons */
|
||
toolbarbutton:not(.bookmark-item):not([id*="identity"]):not([id*="tracking"]):not([id*="star"]):not([id*="picture"]):not([id*="reader"]),
|
||
.toolbarbutton-1:not(.bookmark-item):not([id*="identity"]):not([id*="tracking"]):not([id*="star"]):not([id*="picture"]):not([id*="reader"]),
|
||
#back-button,
|
||
#forward-button,
|
||
#reload-button,
|
||
#stop-button,
|
||
#home-button,
|
||
#library-button,
|
||
#fxa-toolbar-menu-button,
|
||
#unified-extensions-button,
|
||
#downloads-button,
|
||
#bookmarks-menu-button,
|
||
#history-panelmenu,
|
||
#appMenu-button,
|
||
#PanelUI-menu-button,
|
||
#sidebar-switcher-target toolbarbutton,
|
||
#sidebar-box .sidebar-placesTree toolbarbutton,
|
||
.sidebar-placesTreechildren toolbarbutton,
|
||
#sidebar-header .sidebar-close-button,
|
||
#sidebar-header toolbarbutton,
|
||
.sidebar-panel toolbarbutton,
|
||
#sidebar toolbarbutton,
|
||
#context-navigation toolbarbutton,
|
||
#context-sep-navigation + toolbarbutton,
|
||
.unified-extensions-item-action-button,
|
||
.panel-subview-footer-button,
|
||
toolbarpaletteitem > toolbarbutton,
|
||
.chromeclass-toolbar-additional toolbarbutton,
|
||
#addon-bar toolbarbutton,
|
||
.tabs-newtab-button,
|
||
#new-tab-button,
|
||
.tab-close-button,
|
||
.close-button,
|
||
.button-background {
|
||
background: transparent !important;
|
||
opacity: var(--inactive-opacity) !important;
|
||
transition: var(--transition-smooth) !important;
|
||
border-radius: var(--border-radius) !important;
|
||
position: relative;
|
||
overflow: hidden;
|
||
border: none !important;
|
||
box-shadow: none !important;
|
||
}
|
||
|
||
/* Keep urlbar buttons with their normal transparent behavior */
|
||
#urlbar-container toolbarbutton,
|
||
#urlbar toolbarbutton,
|
||
#identity-permission-box,
|
||
#identity-icon-box,
|
||
#tracking-protection-icon-container,
|
||
#star-button-box,
|
||
#picture-in-picture-button,
|
||
#reader-mode-button,
|
||
#pageAction-urlbar-_testpilot-containers,
|
||
#pageAction-panel-bookmark,
|
||
#pageAction-panel-copyURL,
|
||
#pageAction-panel-emailLink,
|
||
#pageAction-panel-pinTab,
|
||
#pageAction-panel-sendToDevice,
|
||
#page-action-buttons > toolbarbutton,
|
||
.urlbar-page-action {
|
||
background: transparent !important;
|
||
opacity: var(--inactive-opacity) !important;
|
||
transition: var(--transition-smooth) !important;
|
||
border-radius: var(--border-radius) !important;
|
||
border: none !important;
|
||
box-shadow: none !important;
|
||
}
|
||
|
||
/* 🚫 FORCE NO BACKGROUNDS */
|
||
#navigator-toolbox toolbarbutton:not(.bookmark-item),
|
||
#navigator-toolbox .toolbarbutton-1:not(.bookmark-item),
|
||
#nav-bar > * > toolbarbutton:not(.bookmark-item),
|
||
#nav-bar > toolbarbutton:not(.bookmark-item),
|
||
#nav-bar toolbarbutton:not(.bookmark-item),
|
||
#nav-bar .toolbarbutton-1:not(.bookmark-item),
|
||
#back-button,
|
||
#forward-button,
|
||
#reload-button,
|
||
#stop-button,
|
||
#home-button,
|
||
#library-button,
|
||
#fxa-toolbar-menu-button,
|
||
#unified-extensions-button,
|
||
#downloads-button,
|
||
#bookmarks-menu-button,
|
||
#history-panelmenu,
|
||
#appMenu-button,
|
||
#PanelUI-menu-button,
|
||
#sidebar-switcher-target toolbarbutton,
|
||
.toolbarbutton-1:not(.bookmark-item),
|
||
.button-background {
|
||
background-color: transparent !important;
|
||
background-image: none !important;
|
||
background: transparent !important;
|
||
}
|
||
|
||
#navigator-toolbox toolbarbutton:not(.bookmark-item):hover,
|
||
#navigator-toolbox .toolbarbutton-1:not(.bookmark-item):hover,
|
||
#nav-bar > * > toolbarbutton:not(.bookmark-item):hover,
|
||
#nav-bar > toolbarbutton:not(.bookmark-item):hover,
|
||
#nav-bar toolbarbutton:not(.bookmark-item):hover,
|
||
#nav-bar .toolbarbutton-1:not(.bookmark-item):hover,
|
||
#back-button:hover,
|
||
#forward-button:hover,
|
||
#reload-button:hover,
|
||
#stop-button:hover,
|
||
#home-button:hover,
|
||
#library-button:hover,
|
||
#fxa-toolbar-menu-button:hover,
|
||
#unified-extensions-button:hover,
|
||
#downloads-button:hover,
|
||
#bookmarks-menu-button:hover,
|
||
#history-panelmenu:hover,
|
||
#appMenu-button:hover,
|
||
#PanelUI-menu-button:hover,
|
||
#sidebar-switcher-target toolbarbutton:hover,
|
||
.toolbarbutton-1:not(.bookmark-item):hover,
|
||
.toolbarbutton-1:not(.bookmark-item):hover:active,
|
||
.button-background:hover {
|
||
background-color: transparent !important;
|
||
background-image: none !important;
|
||
background: transparent !important;
|
||
}
|
||
|
||
/* 🎯 REFINED HOVER EFFECTS - subtle scale only */
|
||
toolbarbutton:not(.bookmark-item):not([id*="identity"]):not([id*="tracking"]):not([id*="star"]):not([id*="picture"]):not([id*="reader"]):hover,
|
||
.toolbarbutton-1:not(.bookmark-item):not([id*="identity"]):not([id*="tracking"]):not([id*="star"]):not([id*="picture"]):not([id*="reader"]):hover,
|
||
#nav-bar toolbarbutton:not(.bookmark-item):hover,
|
||
#nav-bar-customization-target > toolbarbutton:not(.bookmark-item):hover,
|
||
#back-button:hover,
|
||
#forward-button:hover,
|
||
#reload-button:hover,
|
||
#stop-button:hover,
|
||
#home-button:hover,
|
||
#library-button:hover,
|
||
#fxa-toolbar-menu-button:hover,
|
||
#unified-extensions-button:hover,
|
||
#downloads-button:hover,
|
||
#bookmarks-menu-button:hover,
|
||
#history-panelmenu:hover,
|
||
#appMenu-button:hover,
|
||
#PanelUI-menu-button:hover,
|
||
#sidebar-switcher-target toolbarbutton:hover,
|
||
#sidebar-box .sidebar-placesTree toolbarbutton:hover,
|
||
.sidebar-placesTreechildren toolbarbutton:hover,
|
||
#sidebar-header .sidebar-close-button:hover,
|
||
#sidebar-header toolbarbutton:hover,
|
||
.sidebar-panel toolbarbutton:hover,
|
||
#sidebar toolbarbutton:hover,
|
||
#context-navigation toolbarbutton:hover,
|
||
#context-sep-navigation + toolbarbutton:hover,
|
||
.unified-extensions-item-action-button:hover,
|
||
.panel-subview-footer-button:hover,
|
||
toolbarpaletteitem > toolbarbutton:hover,
|
||
.chromeclass-toolbar-additional toolbarbutton:hover,
|
||
#addon-bar toolbarbutton:hover,
|
||
.tabs-newtab-button:hover,
|
||
#new-tab-button:hover,
|
||
.tab-close-button:hover,
|
||
.close-button:hover,
|
||
.button-background:hover {
|
||
opacity: var(--hover-opacity) !important;
|
||
transform: scale(1.05) !important;
|
||
}
|
||
|
||
/* Keep urlbar buttons transparent on hover */
|
||
#urlbar-container toolbarbutton:hover,
|
||
#urlbar toolbarbutton:hover,
|
||
#identity-permission-box:hover,
|
||
#identity-icon-box:hover,
|
||
#tracking-protection-icon-container:hover,
|
||
#star-button-box:hover,
|
||
#picture-in-picture-button:hover,
|
||
#reader-mode-button:hover,
|
||
.urlbar-page-action:hover {
|
||
opacity: var(--hover-opacity) !important;
|
||
background: transparent !important;
|
||
transform: scale(1.05) !important;
|
||
}
|
||
|
||
/* 🎨 ICON COLOR CHANGE ON HOVER */
|
||
toolbarbutton:not(.bookmark-item):hover image,
|
||
.toolbarbutton-1:not(.bookmark-item):hover image,
|
||
#nav-bar toolbarbutton:not(.bookmark-item):hover image,
|
||
#urlbar toolbarbutton:hover image,
|
||
#urlbar #identity-icon-box:hover image,
|
||
#urlbar #identity-permission-box:hover image,
|
||
#urlbar #tracking-protection-icon-container:hover image,
|
||
#urlbar #star-button-box:hover image,
|
||
#urlbar #picture-in-picture-button:hover image,
|
||
#urlbar #reader-mode-button:hover image,
|
||
.urlbar-page-action:hover image,
|
||
#sidebar toolbarbutton:hover image,
|
||
toolbarpaletteitem > toolbarbutton:hover image,
|
||
.panel-subview-footer-button:hover image {
|
||
fill: var(--accent-color) !important;
|
||
filter: none !important;
|
||
}
|
||
|
||
.button-background:hover {
|
||
& img {
|
||
fill: var(--accent-color) !important;
|
||
}
|
||
}
|
||
|
||
/* 🌟 SPECIAL STATES */
|
||
toolbarbutton[checked="true"]:not(.bookmark-item),
|
||
toolbarbutton[open="true"]:not(.bookmark-item),
|
||
.toolbarbutton-1[checked="true"]:not(.bookmark-item),
|
||
.toolbarbutton-1[open="true"]:not(.bookmark-item),
|
||
#downloads-button[attention="true"],
|
||
#library-button[attention="true"] {
|
||
opacity: var(--hover-opacity) !important;
|
||
background: var(--accent-color-subtle) !important;
|
||
}
|
||
|
||
/* ===========================
|
||
🎭 ELEMENT VISIBILITY
|
||
=========================== */
|
||
|
||
#identity-icon-box label {
|
||
display: none !important;
|
||
}
|
||
|
||
#sidebar-tools-and-extensions-splitter {
|
||
display: none !important;
|
||
}
|
||
|
||
#forward-button[disabled="true"] {
|
||
display: none !important;
|
||
}
|
||
|
||
toolbarbutton[label="Bookmarks toolbar items"] {
|
||
display: none !important;
|
||
}
|
||
|
||
/* ===========================
|
||
🎮 WINDOW CONTROLS
|
||
=========================== */
|
||
|
||
/* Normal Window */
|
||
#main-window:not([tabsintitlebar]) .titlebar-buttonbox toolbarbutton,
|
||
#main-window[tabsintitlebar]:not([sizemode="maximized"]) .titlebar-buttonbox toolbarbutton {
|
||
opacity: var(--semi-opacity) !important;
|
||
transform: scale(0.9) !important;
|
||
transition: var(--transition-smooth) !important;
|
||
fill: currentColor !important;
|
||
color: inherit !important;
|
||
}
|
||
|
||
/* Hover - Normal Window - subtle scaling */
|
||
#main-window:not([tabsintitlebar]) .titlebar-buttonbox toolbarbutton:hover,
|
||
#main-window[tabsintitlebar]:not([sizemode="maximized"]) .titlebar-buttonbox toolbarbutton:hover {
|
||
opacity: var(--hover-opacity) !important;
|
||
transform: scale(1.05) !important;
|
||
color: var(--accent-color) !important;
|
||
}
|
||
|
||
/* Maximized Window */
|
||
#main-window[tabsintitlebar][sizemode="maximized"] .titlebar-buttonbox toolbarbutton,
|
||
.titlebar-buttonbox toolbarbutton {
|
||
opacity: var(--hover-opacity) !important;
|
||
transform: scale(0.9) !important;
|
||
transition: var(--transition-smooth) !important;
|
||
fill: currentColor !important;
|
||
color: inherit !important;
|
||
}
|
||
|
||
/* Hover - Maximized Window - subtle scaling */
|
||
.titlebar-buttonbox toolbarbutton:hover {
|
||
transform: scale(1.05) !important;
|
||
color: var(--accent-color) !important;
|
||
}
|
||
|
||
/* ===========================
|
||
✨ ANIMATIONS & KEYFRAMES
|
||
=========================== */
|
||
|
||
/* URL Bar Expand Animation */
|
||
@keyframes urlbarExpand {
|
||
0% {
|
||
opacity: 0;
|
||
transform: scale(0.95) translateY(-5px);
|
||
}
|
||
70% {
|
||
transform: scale(1.02) translateY(0);
|
||
}
|
||
100% {
|
||
opacity: 1;
|
||
transform: scale(1) translateY(0);
|
||
}
|
||
}
|
||
|
||
/* Tab Activation Animation */
|
||
@keyframes tabActivate {
|
||
0% {
|
||
transform: scale(0.98);
|
||
opacity: 0.8;
|
||
}
|
||
50% {
|
||
transform: scale(1.02);
|
||
}
|
||
100% {
|
||
transform: scale(1);
|
||
opacity: 1;
|
||
}
|
||
}
|
||
|
||
/* Dropdown Slide Animation */
|
||
#urlbar-results {
|
||
animation: slideDown 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55) !important;
|
||
}
|
||
|
||
@keyframes slideDown {
|
||
0% {
|
||
opacity: 0;
|
||
transform: translateY(-15px) scale(0.95);
|
||
}
|
||
60% {
|
||
transform: translateY(2px) scale(1.01);
|
||
}
|
||
100% {
|
||
opacity: 1;
|
||
transform: translateY(0) scale(1);
|
||
}
|
||
}
|
||
|
||
/* Loading Indicator */
|
||
.tab-throbber {
|
||
transition: var(--transition-smooth) !important;
|
||
}
|
||
|
||
.tab-throbber[busy] {
|
||
animation: pulse 1.5s ease-in-out infinite;
|
||
}
|
||
|
||
@keyframes pulse {
|
||
0%, 100% { opacity: 1; }
|
||
50% { opacity: 0.6; }
|
||
}
|
||
|
||
/* Button Press Animation */
|
||
@keyframes buttonPress {
|
||
0% { transform: scale(1); }
|
||
50% { transform: scale(0.95); }
|
||
100% { transform: scale(1.05); }
|
||
}
|
||
|
||
/* Bookmark Button Animation */
|
||
toolbarbutton:not(.bookmark-item):active,
|
||
.toolbarbutton-1:not(.bookmark-item):active {
|
||
animation: buttonPress 0.15s ease-out !important;
|
||
}
|
||
'';
|
||
userContent = ''
|
||
/* ===================================================================
|
||
LATIN ACCENT - FIREFOX TRANSPARENT THEME
|
||
Made with cariño by Acercandr0
|
||
=================================================================== */
|
||
|
||
@-moz-document url("about:home"), url("about:newtab"), url("about:blank") {
|
||
html,
|
||
body,
|
||
#root,
|
||
.outer-wrapper,
|
||
main,
|
||
.discovery-stream,
|
||
.ds-layout,
|
||
.sections-list,
|
||
.top-sites,
|
||
.search-wrapper {
|
||
background: transparent !important;
|
||
background-color: transparent !important;
|
||
background-image: none !important;
|
||
box-shadow: none !important;
|
||
filter: none !important;
|
||
border: none !important;
|
||
}
|
||
|
||
/* ===========================
|
||
🎯 TOP SITES
|
||
=========================== */
|
||
|
||
/* Remove ALL backgrounds from top sites */
|
||
.top-sites .top-site-outer,
|
||
.top-sites .top-site-inner,
|
||
.top-site-outer .tile,
|
||
.tile,
|
||
.shortcuts-refresh .top-sites-list .top-site-outer .tile,
|
||
.shortcuts-refresh .top-sites-list:not(.dnd-active) .top-site-outer:is(.active, :focus, :hover) .tile {
|
||
background: transparent !important;
|
||
background-color: transparent !important;
|
||
background-image: none !important;
|
||
box-shadow: none !important;
|
||
border: none !important;
|
||
}
|
||
|
||
/* Only opacity changes on hover */
|
||
.top-sites .top-site-outer {
|
||
opacity: 0.3 !important;
|
||
transition: opacity 0.3s ease !important;
|
||
}
|
||
|
||
.top-sites .top-site-outer:hover {
|
||
opacity: 1 !important;
|
||
}
|
||
|
||
/* Force transparent background for topsites section */
|
||
.top-sites {
|
||
--newtab-background-color-secondary: transparent !important;
|
||
}
|
||
|
||
/* ===========================
|
||
🛠️ CUSTOMIZE MENU FIX
|
||
=========================== */
|
||
|
||
/* Restore proper background for customize menu */
|
||
.customize-menu,
|
||
.customize-menu.customize-animate-enter-done {
|
||
background: var(--newtab-background-color) !important;
|
||
background-color: var(--newtab-background-color) !important;
|
||
}
|
||
|
||
/* Ensure customize menu has proper styling */
|
||
.customize-menu {
|
||
box-shadow: none !important;
|
||
border: none !important;
|
||
border-radius: 0px !important;
|
||
}
|
||
|
||
/* Fix text visibility in customize menu */
|
||
.customize-menu .section-title,
|
||
.customize-menu .section-disclaimer,
|
||
.customize-menu .personalize-button,
|
||
.customize-menu label,
|
||
.customize-menu input,
|
||
.customize-menu button {
|
||
color: var(--newtab-text-primary-color) !important }
|
||
}
|
||
|
||
/* ===========================
|
||
🎭 HIDE ELEMENTS
|
||
=========================== */
|
||
|
||
/* Recent Activity */
|
||
.body-wrapper.on .section-title,
|
||
.body-wrapper.on .sections-list .section:last-of-type,
|
||
.body-wrapper.on .topics {
|
||
display: none !important;
|
||
}
|
||
|
||
/* Search bar */
|
||
.search-wrapper .search-inner-wrapper {
|
||
display: none !important;
|
||
}
|
||
'';
|
||
};
|
||
};
|
||
}
|