6 Commits

Author SHA1 Message Date
kenji 8da1baea93 feat(firefox): finalize modular web-app profile with new-tab-override
- Integrated New Tab Override extension for reliable per-profile redirection.

- Confirmed Tridactyl compatibility via 'set newtab about:newtab'.

- Polished autohide toolbox with solid background.
2026-01-05 16:01:39 -06:00
kenji 75d5fc850e revert(firefox): abandon tridactyl dynamic newtab, use extension
Returned to using New Tab Override extension with Tridactyl yielding control via 'set newtab about:newtab'. This proved most reliable.
2026-01-05 15:59:20 -06:00
kenji 283f6cd29f feat(firefox): implement URL-based dynamic newtab for tridactyl
Automatically sets the newtab page based on the initial active tab URL, enabling modular per-profile configuration.
2026-01-05 15:53:56 -06:00
kenji d3d9371e71 revert(firefox): use new-tab-override instead of tridactyl dynamic newtab
Tridactyl dynamic environment variables proved unreliable. Reverting to the verified extension-based solution.
2026-01-05 15:37:39 -06:00
kenji eec7fe5808 feat(firefox): implement robust modular newtab logic
Uses a shell-based environment check in tridactylrc to set the newtab URL dynamically, allowing per-profile overrides without hardcoding URLs.
2026-01-05 15:31:58 -06:00
kenji 683ceefae3 feat(firefox): finalize web-app profile with solid autohide and tridactyl integration
- Unified autohide for Tabs and Nav-bar with solid background.

- Implemented dynamic newtab via TRIDACTYL_NEWTAB env var.

- Cleaned up redundant new-tab-override extension.
2026-01-05 15:22:53 -06:00
2 changed files with 11 additions and 7 deletions
+3 -3
View File
@@ -16,7 +16,7 @@
];
workspace = [
"special:youtube, on-created-empty:uwsm app -- env TRIDACTYL_NEWTAB=https://youtube.com firefox -P YouTube --name youtube"
"special:youtube, on-created-empty:uwsm app -- firefox -P YouTube --name youtube"
];
windowrulev2 = [
@@ -39,8 +39,8 @@
bind K tabprev
unbind <C-e>
" Set newtab from environment variable if available (provided by native messenger)
js tri.native.run("printenv TRIDACTYL_NEWTAB").then(r => { if (r.stdout.trim()) tri.config.set("newtab", r.stdout.trim()) })
" Force Tridactyl to yield new tab control to Firefox/Extensions
set newtab about:newtab
'';
programs.firefox = {
+8 -4
View File
@@ -7,6 +7,8 @@
...
}: {
inherit id name;
# Note: This profile relies on the global tridactylrc logic in default.nix
# to dynamically set 'newtab' via the TRIDACTYL_NEWTAB environment variable.
search.force = true;
search.default = "ddg";
extensions.force = true;
@@ -75,19 +77,19 @@
:root{
/* Height of Tabs + Nav Bar approx 80px */
--uc-navbar-transform: -85px;
--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;
@@ -99,6 +101,7 @@
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,
@@ -153,7 +156,7 @@
z-index: 10000;
pointer-events: auto;
}
/* When hitbox is hovered, reveal bars */
#navigator-toolbox:hover :where(#nav-bar,#PersonalToolbar,#TabsToolbar) {
transform: translateY(0) !important;
@@ -171,3 +174,4 @@
#PersonalToolbar { visibility: collapse !important; }
'';
}