Nova border on a maximized window prevents clicking top screen edge to switch tabs and clicking right screen edge to grab the scrollbar
Categories
(Firefox :: Theme, defect, P1)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox-esr115 | --- | unaffected |
| firefox-esr140 | --- | unaffected |
| firefox150 | --- | unaffected |
| firefox151 | --- | unaffected |
| firefox152 | --- | disabled |
| firefox153 | --- | disabled |
People
(Reporter: cpeterson, Unassigned)
References
(Depends on 1 open bug, Blocks 2 open bugs)
Details
(Whiteboard: [fidefe-nova])
Attachments
(4 files)
Steps to reproduce
I'm testing on Windows 11.
- Set
browser.nova.enabled= true. - Confirm that you see the window's Nova border.
- Maximize the browser window.
- Move your mouse pointer to the top edge of the screen.
- Double click the browser window.
Expected result
The browser window should unmaximize.
Actual result
Nothing happens. The Nova border does not respond to the double click. This is a Fitts' law regression on Windows.
Comment 1•3 months ago
|
||
The Bugbug bot thinks this bug should belong to the 'Firefox::New Tab Page' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.
Comment 2•3 months ago
|
||
:jswinarton, since you are the author of the regressor, bug 2026246, could you take a look? Also, could you set the severity field?
For more information, please visit BugBot documentation.
Updated•3 months ago
|
| Reporter | ||
Updated•3 months ago
|
| Reporter | ||
Comment 3•3 months ago
•
|
||
The Nova border also prevents clicking the right screen edge to grab the scrollbar in a maximized window on Windows.
| Reporter | ||
Comment 4•3 months ago
|
||
I think this change is an accessibility regression because interacting with the browser window now requires more precise mouse clicks.
| Reporter | ||
Comment 5•3 months ago
|
||
For comparison, Chrome removes its rounded window border when maximized. That resolves these issues clicking edges of the screen.
Comment 6•2 months ago
|
||
This issue has a significant impact on accessibility. When a window is maximized, users used to be able to simply move the cursor to the very top of the screen to select a tab, but now they have to carefully position it. In addition, on Windows, all programs allow users to click the close button by moving to the top-right corner, but Firefox’s new design is the only one that breaks this familiar user behavior.
Comment 7•2 months ago
|
||
This is behind the browser.nova.enabled pref and that pref will be disabled by default for several more releases.
I filed bug 2038764 to track the UX request to change behaviors of the window padding for Nova.
Comment 8•2 months ago
|
||
:sthompson, is there a better component for this? Can you triage it - its currently in the firefox::general triage list.
Updated•2 months ago
|
| Reporter | ||
Updated•2 months ago
|
Updated•1 month ago
|
Comment 9•1 month ago
|
||
This is also a big regression in Linux (KDE/X11/Wayland) and denies Fitt's Law and cursor memory, specifically for the top tab row.
The new exterior border prevents the topmost pixels from being used to select tabs and header buttons by cursor, requiring precision to not hit the top edge. We worked quite hard to fix this behavior a year ago, please take context from BUG 1919115.
To be 100% clear, this behavior works in full-screen and tiled modes (quick snap and custom tiling) without the exterior border. The border should only be visible in floating window mode, if ever.
Comment 10•1 month ago
|
||
My 2 cents: Edge does also have this gap between the window border and the scrollbar, but you can still click on the "empty gap" to click around and use the scrollbar (Looks like any mouse action happening inside the gap is applied to the webpage's edge as well). Could this be considered?
Comment 11•1 month ago
|
||
Please keep the padding visually even when the window is maximised, it's part of the new aesthetics. Just make the padding clickable, Chrome has the same visual padding for tabs, but are clickable. As opposed to the garbage Windows 1 explorer tabs, which have no visual padding, but have the same problem as Nova's tabs.
Comment 12•1 month ago
|
||
A suggestion to go along with the border being interactive (also concerns BUG 2038764):
With "compact mode" returning, hide the new borders and padding entirely when compact mode is enabled.
Bonus points to offer well-documented CSS for theming/granular control of the border beyond that, but the baseline must be an off/on state separate from the Nova styling in general, which compact mode would seem to fit. It would certainly be a well-received option if executed well.
I personally value edge-to-edge tiling environments on my devices, going to lengths to disable window borders in KDE and Windows. So far I am very anxious about Nova's design direction, but I already run custom CSS in Firefox, so it would just be another brick in the wall to remove this border and added spacing if it ships as-is.
Updated•28 days ago
|
Updated•28 days ago
|
Comment 13•26 days ago
|
||
:alaskanemily, you commented elsewhere that
Non-maximized windows no longer allow scrolling at the edge of the screen
Depending on what the fix ends up looking like, that case should be covered by either this bug, or bug 2054183.
What OS/window manager are you using? If a linux, when you have a window snapped to a display edge, does document.documentElement.getAttribute("gtktiledwindow") return something?
Comment 14•26 days ago
•
|
||
I'm not :alaskanemily but I had the same observation, so I'll weigh in in case it's useful to have more data.
I'm used to being able to scroll (or drag my scrollbar) by moving my mouse as far rightwards as it'll go, and then clicking, and that doesn't currently work when Nova is enabled.
What OS/window manager are you using?
Ubuntu 26.04 / Wayland
If a linux, when you have a window snapped to a display edge, does document.documentElement.getAttribute("gtktiledwindow") return something?
Running that in Browser Console (Ctrl+Shift+J) spawned from a single-Firefox-window session, with Nova enabled:
- when my window is maximized or snapped to the right or left side of my screen: that expression returns the empty string
""for me (i.e. the attribute is present, but doesn't have an explicit value) - when my window is just a regular floating window: that expression returns
null(i.e. attribute not present) - when I fullscreen my window with F11, it returns either the empty string
""ornull, depending on the state my window was in before I hit F11. (if it was maximized or tiled, then I get the empty string. If it was a regular floating window, I getnull.)
Comment 15•26 days ago
|
||
(In reply to Daniel Holbert [:dholbert] from comment #14)
- when my window is maximized or snapped to the right or left side of my screen: that expression returns the empty string
""for me (i.e. the attribute is present, but doesn't have an explicit value)
That's promising.
:emilio, blame suggests you might know what would need to happen or who I should talk to see if we can get IsTiled() to give us a value on the other platforms?
Comment 16•25 days ago
|
||
Well, it depends on whether other platforms expose the tiled state.
On windows, it seems we can use IsWindowArranged: https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-iswindowarranged
On macOS / AppKit I didn't find anything publicly documented at least... Markus, do you know? I guess if it's not publicly exposed in the NSWindow docs we might need to try to look for some private APIs or something...
Comment 17•25 days ago
|
||
I can try to look at a way to do this in appkit once I'm on my macOS machine...
Comment 18•25 days ago
|
||
Sent a patch (well, two, another one incoming for Windows) in bug 2054879.
Updated•25 days ago
|
Comment 19•25 days ago
|
||
(In reply to Sam Foster [:sfoster] (he/him) from comment #13)
:alaskanemily, you commented elsewhere that
Non-maximized windows no longer allow scrolling at the edge of the screen
Depending on what the fix ends up looking like, that case should be covered by either this bug, or bug 2054183.
What OS/window manager are you using? If a linux, when you have a window snapped to a display edge, does
document.documentElement.getAttribute("gtktiledwindow")return something?
So the main system I'm looking at for this is OS X, where I often just drag a window to the edge of the screen, which when combined with the lack of extra WM content on the edges of windows means I can just use the edge of the screen for scrolling.
I also checked with IceWM (the main WM I use, Linux and OpenBSD, X11), but it doesn't have a special snap state for "maximize horizontally" in the first place. That just resizes the window so that the WM's window handles are just outside the screen on the edges. So it does exactly what it describes, but doesn't change the window state. FWIW this is usually how I do tiling, just manually moving windows around in IceWM, fvwm, or fluxbox.
Comment 20•18 days ago
|
||
Bug 2054999 concerns detecting fullscreen to hide the border. But it need not be a dependency.
I'm concerned about the scrollbar inconvenience much more than the visuals. It should work even in maximized non-fullscreen mode. Clicking a visible right border should redirect my click onto the scrollbar.
Comment 21•15 days ago
|
||
more than the visuals
Actually, the border started bothering me. Especially in private browsing, it didn't hide when playing a fullscreen video
Comment 22•15 days ago
|
||
it didn't hide when playing a fullscreen video
It does. Of course, you have to use a Nightly version to see the latest state of the Nova design.
Comment 23•15 days ago
|
||
Another broken feature is Vertical tabs with auto expand on. You move mouse to screen border but cursor is not over sidebar. And tabs will not show.
Comment 24•12 days ago
|
||
I filed a similar bug for tabs at the left edge of the screen:
https://bugzilla.mozilla.org/show_bug.cgi?id=2053433
Comment 25•12 days ago
|
||
Comment 26•12 days ago
|
||
In the latest nightly (155.0a1 (2026-07-27)), Compact Mode reduces the outer border to 1px. The top elements are still not interactive when maximized or tiled, as demonstrated in the gif.
I am preparing a custom build to identify and remove the last 1px of non-interactivity. This is a hard requirement of my workflow, there must NEVER be a border around the window.
Comment 27•12 days ago
|
||
Bug 2054183 has not been started but we will do it very soon. It will remove the outer decorations from a maximized window. Tiled windows will come after but may not be completed before the 156 release.
Comment 28•12 days ago
|
||
I must emphasize how critical this edge interaction is. It seems to be the most commented-on regression in the Nova spec, particularly at this point in development.
Simply removing the outer elements under conditions may still not fix the edge interaction, as shown in my example with Compact Mode (which also reduces element sizes lower than I prefer).
Please (please please) ensure this is handled without the need for Compact Mode or other user interventions like custom CSS.
Comment 29•12 days ago
|
||
This is insane. What is the advantage of this UX change? Glad we can still roll back with browser.nova.enabled.
Comment 34•11 days ago
|
||
The top and right interfere with Firefox behavior, but the bottom and left are also problems as they interfere with page behavior. The border prevents moving to the edge to click a button or a web-page clickable region (either one one the edge or going over the edge because the page is scrolled).
Comment 37•9 days ago
|
||
Unfortunately, under XFCE (X11) document.documentElement.getAttribute("gtktiledwindow") does not seem to detect tiling state. Would be really appreciated if the window border could be disabled in about.config, for systems which don't properly communicate it to the browser.
| Comment hidden (off-topic) |
Updated•3 days ago
|
| Comment hidden (advocacy) |
| Comment hidden (advocacy) |
Description
•