diff --git a/apps/firefox/profiles/web-app.nix b/apps/firefox/profiles/web-app.nix index cb0f52e..a37d46a 100644 --- a/apps/firefox/profiles/web-app.nix +++ b/apps/firefox/profiles/web-app.nix @@ -70,108 +70,107 @@ "network.trr.mode" = 2; # Use DoH with system fallback "network.trr.uri" = "https://dns.quad9.net/dns-query"; }; - - userChrome = '' - /* --- Autohide Entire Toolbox (Tabs + Address Bar) --- */ - /* Adapted from MrOtherGuy's autohide_main_toolbar.css */ - - :root{ - /* Height of Tabs + Nav Bar approx 80px */ - --uc-navbar-transform: -85px; - --uc-autohide-toolbar-delay: 0.1s; - --uc-autohide-toolbar-duration: 200ms; - } - :root[uidensity="compact"]{ --uc-navbar-transform: -70px } - - #navigator-toolbox > div{ display: contents; } - - /* Apply transform to TabsToolbar AND Nav-bar */ - :root[sessionrestored] :where(#nav-bar,#PersonalToolbar,#TabsToolbar,#tab-notification-deck,.global-notificationbox,#notifications-toolbar){ - transform: translateY(var(--uc-navbar-transform)) - } - - :root:is([customizing],[chromehidden*="toolbar"]) :where(#nav-bar,#PersonalToolbar,#TabsToolbar,#tab-notification-deck,.global-notificationbox,#notifications-toolbar){ - transform: none !important; - opacity: 1 !important; - } - - /* Hide styles for Nav-Bar AND TabsToolbar */ - :where(#nav-bar,#TabsToolbar):not([customizing]){ - opacity: 0; - transition: transform var(--uc-autohide-toolbar-duration) ease var(--uc-autohide-toolbar-delay), opacity var(--uc-autohide-toolbar-duration) ease var(--uc-autohide-toolbar-delay) !important; - position: relative; - z-index: 2; - background-color: #1c1b22 !important; /* Solid background */ - } - - #navigator-toolbox, - #sidebar-box, - #sidebar-main, - #sidebar-splitter, - #tabbrowser-tabbox{ - z-index: auto !important; - } - - /* Show when toolbox is focused or hovered */ - #navigator-toolbox:focus-within > .browser-toolbar, - .browser-titlebar:hover ~ :is(#nav-bar,#PersonalToolbar,#TabsToolbar), - #nav-bar:hover, - #TabsToolbar:hover, - #nav-bar:hover + #PersonalToolbar{ - transform: translateY(0); - opacity: 1; - transition-duration: var(--uc-autohide-toolbar-duration), var(--uc-autohide-toolbar-duration) !important; - transition-delay: 0s !important; - } - - /* Ensure popups still work (URL bar) */ - :root[sessionrestored] #urlbar[popover]{ - opacity: 0; - pointer-events: none; - transition: transform var(--uc-autohide-toolbar-duration) ease var(--uc-autohide-toolbar-delay), opacity var(--uc-autohide-toolbar-duration) ease var(--uc-autohide-toolbar-delay); - transform: translateY(var(--uc-navbar-transform)); - } - #mainPopupSet:has(> [panelopen]:not(#ask-chat-shortcuts,#selection-shortcut-action-panel,#chat-shortcuts-options-panel,#tab-preview-panel)) ~ toolbox #urlbar[popover], - .browser-titlebar:is(:hover,:focus-within) ~ #nav-bar #urlbar[popover], - #nav-bar:is(:hover,:focus-within) #urlbar[popover], - #urlbar-container > #urlbar[popover]:is([focused],[open]){ - opacity: 1; - pointer-events: auto; - transition-delay: 0ms; - transform: translateY(0); - } - :where(:root[sessionrestored]) #urlbar-container > #urlbar[popover]:is([focused],[open]){ - transition-duration: 100ms; - } - - /* --- CRITICAL FIX: Trigger Zone --- */ - /* Since we hide EVERYTHING, we need a hitbox at the top of the screen */ - #navigator-toolbox::after { - content: ""; - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 20px; /* Generous hit target */ - z-index: 10000; - pointer-events: auto; - } - - /* When hitbox is hovered, reveal bars */ - #navigator-toolbox:hover :where(#nav-bar,#PersonalToolbar,#TabsToolbar) { - transform: translateY(0) !important; - opacity: 1 !important; - transition-delay: 0s !important; - } - - /* Move up the content view to fill the gap */ - :root[sessionrestored]:not([chromehidden~="toolbar"]) > body > #browser{ - margin-top: var(--uc-navbar-transform); - } - - /* Fix Titlebar and Bookmarks */ - #titlebar { appearance: none !important; } - #PersonalToolbar { visibility: collapse !important; } - ''; + # + # userChrome = '' + # /* --- Autohide Entire Toolbox (Tabs + Address Bar) --- */ + # /* Adapted from MrOtherGuy's autohide_main_toolbar.css */ + # + # :root{ + # /* Height of Tabs + Nav Bar approx 80px */ + # --uc-navbar-transform: -85px; + # --uc-autohide-toolbar-delay: 0.1s; + # --uc-autohide-toolbar-duration: 200ms; + # } + # :root[uidensity="compact"]{ --uc-navbar-transform: -70px } + # + # #navigator-toolbox > div{ display: contents; } + # + # /* Apply transform to TabsToolbar AND Nav-bar */ + # :root[sessionrestored] :where(#nav-bar,#PersonalToolbar,#TabsToolbar,#tab-notification-deck,.global-notificationbox,#notifications-toolbar){ + # transform: translateY(var(--uc-navbar-transform)) + # } + # + # :root:is([customizing],[chromehidden*="toolbar"]) :where(#nav-bar,#PersonalToolbar,#TabsToolbar,#tab-notification-deck,.global-notificationbox,#notifications-toolbar){ + # transform: none !important; + # opacity: 1 !important; + # } + # + # /* Hide styles for Nav-Bar AND TabsToolbar */ + # :where(#nav-bar,#TabsToolbar):not([customizing]){ + # opacity: 0; + # transition: transform var(--uc-autohide-toolbar-duration) ease var(--uc-autohide-toolbar-delay), opacity var(--uc-autohide-toolbar-duration) ease var(--uc-autohide-toolbar-delay) !important; + # position: relative; + # z-index: 2; + # background-color: #1c1b22 !important; /* Solid background */ + # } + # + # #navigator-toolbox, + # #sidebar-box, + # #sidebar-main, + # #sidebar-splitter, + # #tabbrowser-tabbox{ + # z-index: auto !important; + # } + # + # /* Show when toolbox is focused or hovered */ + # #navigator-toolbox:focus-within > .browser-toolbar, + # .browser-titlebar:hover ~ :is(#nav-bar,#PersonalToolbar,#TabsToolbar), + # #nav-bar:hover, + # #TabsToolbar:hover, + # #nav-bar:hover + #PersonalToolbar{ + # transform: translateY(0); + # opacity: 1; + # transition-duration: var(--uc-autohide-toolbar-duration), var(--uc-autohide-toolbar-duration) !important; + # transition-delay: 0s !important; + # } + # + # /* Ensure popups still work (URL bar) */ + # :root[sessionrestored] #urlbar[popover]{ + # opacity: 0; + # pointer-events: none; + # transition: transform var(--uc-autohide-toolbar-duration) ease var(--uc-autohide-toolbar-delay), opacity var(--uc-autohide-toolbar-duration) ease var(--uc-autohide-toolbar-delay); + # transform: translateY(var(--uc-navbar-transform)); + # } + # #mainPopupSet:has(> [panelopen]:not(#ask-chat-shortcuts,#selection-shortcut-action-panel,#chat-shortcuts-options-panel,#tab-preview-panel)) ~ toolbox #urlbar[popover], + # .browser-titlebar:is(:hover,:focus-within) ~ #nav-bar #urlbar[popover], + # #nav-bar:is(:hover,:focus-within) #urlbar[popover], + # #urlbar-container > #urlbar[popover]:is([focused],[open]){ + # opacity: 1; + # pointer-events: auto; + # transition-delay: 0ms; + # transform: translateY(0); + # } + # :where(:root[sessionrestored]) #urlbar-container > #urlbar[popover]:is([focused],[open]){ + # transition-duration: 100ms; + # } + # + # /* --- CRITICAL FIX: Trigger Zone --- */ + # /* Since we hide EVERYTHING, we need a hitbox at the top of the screen */ + # #navigator-toolbox::after { + # content: ""; + # position: fixed; + # top: 0; + # left: 0; + # width: 100%; + # height: 20px; /* Generous hit target */ + # z-index: 10000; + # pointer-events: auto; + # } + # + # /* When hitbox is hovered, reveal bars */ + # #navigator-toolbox:hover :where(#nav-bar,#PersonalToolbar,#TabsToolbar) { + # transform: translateY(0) !important; + # opacity: 1 !important; + # transition-delay: 0s !important; + # } + # + # /* Move up the content view to fill the gap */ + # :root[sessionrestored]:not([chromehidden~="toolbar"]) > body > #browser{ + # margin-top: var(--uc-navbar-transform); + # } + # + # /* Fix Titlebar and Bookmarks */ + # #titlebar { appearance: none !important; } + # #PersonalToolbar { visibility: collapse !important; } + # ''; } -