Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Firefox 110 tabs jitter #643

Closed
2 of 9 tasks
Jon-dog opened this issue Feb 18, 2023 · 34 comments
Closed
2 of 9 tasks

Firefox 110 tabs jitter #643

Jon-dog opened this issue Feb 18, 2023 · 34 comments
Labels
Browser::Upstream Changes or bugs from Firefox Class::SideEffect Unexpected side effect, undefined behavior Component::Tabbar Tab or tabbar Env::Windows Issues on Windows10, Windows11, unknown windows Issue::Bug Something isn't working Priority::High Solve and focus on it first

Comments

@Jon-dog
Copy link

Jon-dog commented Feb 18, 2023

Describe the bug

Firefox updated recently and it brought back an issue I was having in 108, where tabs will jitter if they are attempting to expand to fill the tab bar. I tried to fix it like I did last time with some user.js edits, but that didn't work Twitter

Previously this would only affect the last tab, but now it affects any of them, except for support tabs like about:support

Through a process of trial and error of disabling the custom scripts I've narrowed it down to the leptonChrome.css file, but that is like 12k lines and I don't know enough css or firefox customisation lingo to sort through all that

A semi-related issue is that the smooth scrolling of tabs seems to have disappeared.

I'll upload the leptonChrome.css if necessary, but it is just the one from the last release

Did some additional testing and found that it has something to do with pinned tabs

Expected behavior

Tabs to expand properly when there's enough to fill the tab bar

Screenshots

No response

OS

Windows 11

OS - Others

No response

Firefox Version

110.0

Distribution

Theme

Theme - More Info

No response

user.js setup

user.js setup
// ** Theme Default Options ****************************************************
// userchrome.css usercontent.css activate
user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true);

// Proton Enabled #127 || Removed at 97 #328 (Maintained for compatibility with ESR)
user_pref("browser.proton.enabled", true);

// Fill SVG Color
user_pref("svg.context-properties.content.enabled", true);

// CSS Color Mix - 88 Above
user_pref("layout.css.color-mix.enabled", true);

// CSS Blur Filter - 88 Above
user_pref("layout.css.backdrop-filter.enabled", true);

// Restore Compact Mode - 89 Above
user_pref("browser.compactmode.show", true);

// about:home Search Bar - 89 Above
user_pref("browser.newtabpage.activity-stream.improvesearch.handoffToAwesomebar", false);

// CSS's `:has()` selector #457 - 103 Above
user_pref("layout.css.has-selector.enabled", true);

// Browser Theme Based Scheme - Will be activate 95 Above
// user_pref("layout.css.prefers-color-scheme.content-override", 3);

// ** Theme Related Options ****************************************************
// == Theme Distribution Settings ==============================================
// The rows that are located continuously must be changed `true`/`false` explicitly because there is a collision.
// https://github.com/black7375/Firefox-UI-Fix/wiki/Options#important
user_pref("userChrome.tab.connect_to_window",          true); // Original, Photon
user_pref("userChrome.tab.color_like_toolbar",         true); // Original, Photon

user_pref("userChrome.tab.lepton_like_padding",        true); // Original
user_pref("userChrome.tab.photon_like_padding",       false); // Photon

user_pref("userChrome.tab.dynamic_separator",          false); // Original, Proton
user_pref("userChrome.tab.static_separator",          false); // Photon
user_pref("userChrome.tab.static_separator.selected_accent", true); // Just option
user_pref("userChrome.tab.bar_separator",             false); // Just option

user_pref("userChrome.tab.newtab_button_like_tab",     false); // Original
user_pref("userChrome.tab.newtab_button_smaller",     true); // Photon
user_pref("userChrome.tab.newtab_button_proton",      false); // Proton

user_pref("userChrome.icon.panel_full",                true); // Original, Proton
user_pref("userChrome.icon.panel_photon",             false); // Photon

// Original Only
user_pref("userChrome.tab.box_shadow",                 false);
user_pref("userChrome.tab.bottom_rounded_corner",      false);

// Photon Only
user_pref("userChrome.tab.photon_like_contextline",   false);
user_pref("userChrome.rounding.square_tab",           true);

// == Theme Compatibility Settings =============================================
// user_pref("userChrome.compatibility.accent_color",         true); // Firefox v103 Below
// user_pref("userChrome.compatibility.covered_header_image", true);
// user_pref("userChrome.compatibility.panel_cutoff",         true);
// user_pref("userChrome.compatibility.navbar_top_border",    true);
// user_pref("userChrome.compatibility.dynamic_separator",    true); // Need dynamic_separator

// user_pref("userChrome.compatibility.os.linux_non_native_titlebar_button", true);
// user_pref("userChrome.compatibility.os.windows_maximized", true);

// == Theme Custom Settings ====================================================
// -- User Chrome --------------------------------------------------------------
// user_pref("userChrome.theme.proton_color.dark_blue_accent", true);
// user_pref("userChrome.theme.monospace",                     true);
// user_pref("userChrome.compatibility.os.win11",              true);

// user_pref("userChrome.decoration.disable_panel_animate",    true);
// user_pref("userChrome.decoration.disable_sidebar_animate",  true);
// user_pref("userChrome.decoration.panel_button_separator",   true);
// user_pref("userChrome.decoration.panel_arrow",              true);

// user_pref("userChrome.autohide.tab",                        true);
// user_pref("userChrome.autohide.tab.opacity",                true);
// user_pref("userChrome.autohide.tab.blur",                   true);
// user_pref("userChrome.autohide.tabbar",                     true);
// user_pref("userChrome.autohide.navbar",                     true);
// user_pref("userChrome.autohide.bookmarkbar",                true);
// user_pref("userChrome.autohide.sidebar",                    true);
// user_pref("userChrome.autohide.fill_urlbar",                true);
// user_pref("userChrome.autohide.back_button",                true);
// user_pref("userChrome.autohide.forward_button",             true);
// user_pref("userChrome.autohide.page_action",                true);
// user_pref("userChrome.autohide.toolbar_overlap",            true);
// user_pref("userChrome.autohide.toolbar_overlap.allow_layout_shift", true);

// user_pref("userChrome.hidden.tab_icon",                     true);
// user_pref("userChrome.hidden.tab_icon.always",              true);
// user_pref("userChrome.hidden.tabbar",                       true);
// user_pref("userChrome.hidden.navbar",                       true);
// user_pref("userChrome.hidden.titlebar_container",           true);
// user_pref("userChrome.hidden.sidebar_header",               true);
// user_pref("userChrome.hidden.sidebar_header.vertical_tab_only", true);
// user_pref("userChrome.hidden.urlbar_iconbox",               true);
// user_pref("userChrome.hidden.urlbar_iconbox.label_only",    true);
// user_pref("userChrome.hidden.bookmarkbar_icon",             true);
// user_pref("userChrome.hidden.bookmarkbar_label",            true);
// user_pref("userChrome.hidden.disabled_menu",                true);

// user_pref("userChrome.centered.tab",                        true);
// user_pref("userChrome.centered.tab.label",                  true);
// user_pref("userChrome.centered.urlbar",                     true);
// user_pref("userChrome.centered.bookmarkbar",                true);

// user_pref("userChrome.counter.tab",                         true);
// user_pref("userChrome.counter.bookmark_menu",               true);

// user_pref("userChrome.combined.nav_button",                 true);
// user_pref("userChrome.combined.nav_button.home_button",     true);
// user_pref("userChrome.combined.urlbar.nav_button",          true);
// user_pref("userChrome.combined.urlbar.home_button",         true);
// user_pref("userChrome.combined.urlbar.reload_button",       true);
// user_pref("userChrome.combined.sub_button.none_background", true);
// user_pref("userChrome.combined.sub_button.as_normal",       true);

// user_pref("userChrome.rounding.square_button",              true);
// user_pref("userChrome.rounding.square_dialog",              true);
// user_pref("userChrome.rounding.square_panel",               true);
// user_pref("userChrome.rounding.square_panelitem",           true);
// user_pref("userChrome.rounding.square_menupopup",           true);
// user_pref("userChrome.rounding.square_menuitem",            true);
// user_pref("userChrome.rounding.square_field",               true);
// user_pref("userChrome.rounding.square_urlView_item",        true);
// user_pref("userChrome.rounding.square_checklabel",          true);

// user_pref("userChrome.padding.first_tab",                   true);
// user_pref("userChrome.padding.first_tab.always",            true);
// user_pref("userChrome.padding.drag_space",                  true);
// user_pref("userChrome.padding.drag_space.maximized",        true);

// user_pref("userChrome.padding.toolbar_button.compact",      true);
// user_pref("userChrome.padding.menu_compact",                true);
// user_pref("userChrome.padding.bookmark_menu.compact",       true);
// user_pref("userChrome.padding.urlView_expanding",           true);
// user_pref("userChrome.padding.urlView_result",              true);
// user_pref("userChrome.padding.panel_header",                true);

// user_pref("userChrome.urlbar.iconbox_with_separator",       true);

// user_pref("userChrome.urlView.as_commandbar",               true);
// user_pref("userChrome.urlView.full_width_padding",          true);
// user_pref("userChrome.urlView.always_show_page_actions",    true);
// user_pref("userChrome.urlView.move_icon_to_left",           true);
// user_pref("userChrome.urlView.go_button_when_typing",       true);
// user_pref("userChrome.urlView.focus_item_border",           true);

// user_pref("userChrome.tabbar.as_titlebar",                  true);
user_pref("userChrome.tabbar.fill_width",                   false);
// user_pref("userChrome.tabbar.multi_row",                    true);
// user_pref("userChrome.tabbar.unscroll",                     true);
// user_pref("userChrome.tabbar.on_bottom",                    true);
// user_pref("userChrome.tabbar.on_bottom.above_bookmark",     true); // Need on_bottom
// user_pref("userChrome.tabbar.on_bottom.menubar_on_top",     true); // Need on_bottom
// user_pref("userChrome.tabbar.on_bottom.hidden_single_tab",  true); // Need on_bottom
// user_pref("userChrome.tabbar.one_liner",                    true);
// user_pref("userChrome.tabbar.one_liner.combine_navbar",     true); // Need one_liner
// user_pref("userChrome.tabbar.one_liner.tabbar_first",       true); // Need one_liner
// user_pref("userChrome.tabbar.one_liner.responsive",         true); // Need one_liner

// user_pref("userChrome.tab.bottom_rounded_corner.all",       true);
// user_pref("userChrome.tab.bottom_rounded_corner.australis", true);
// user_pref("userChrome.tab.bottom_rounded_corner.edge",      true);
// user_pref("userChrome.tab.bottom_rounded_corner.chrome",    true);
// user_pref("userChrome.tab.bottom_rounded_corner.chrome_legacy", true);
// user_pref("userChrome.tab.bottom_rounded_corner.wave",      true);
// user_pref("userChrome.tab.always_show_tab_icon",            true);
// user_pref("userChrome.tab.close_button_at_pinned",          true);
// user_pref("userChrome.tab.close_button_at_pinned.always",   true);
// user_pref("userChrome.tab.close_button_at_pinned.background", true);
// user_pref("userChrome.tab.close_button_at_hover.always",    true); // Need close_button_at_hover
// user_pref("userChrome.tab.close_button_at_hover.with_selected", true);  // Need close_button_at_hover
// user_pref("userChrome.tab.sound_show_label",                true); // Need remove sound_hide_label

// user_pref("userChrome.navbar.as_sidebar",                   true);

// user_pref("userChrome.bookmarkbar.multi_row",               true);

// user_pref("userChrome.findbar.floating_on_top",             true);

// user_pref("userChrome.panel.remove_strip",                  true);
// user_pref("userChrome.panel.full_width_separator",          true);
// user_pref("userChrome.panel.full_width_padding",            true);

// user_pref("userChrome.sidebar.overlap",                     true);

// user_pref("userChrome.icon.disabled",                       true);
// user_pref("userChrome.icon.account_image_to_right",         true);
// user_pref("userChrome.icon.account_label_to_right",         true);
// user_pref("userChrome.icon.menu.full",                      true);
// user_pref("userChrome.icon.global_menu.mac",                true);

// -- User Content -------------------------------------------------------------
// user_pref("userContent.player.ui.twoline",                  true);

// user_pref("userContent.newTab.hidden_logo",                 true);

// user_pref("userContent.page.proton_color.dark_blue_accent", true);
// user_pref("userContent.page.proton_color.system_accent",    true);
// user_pref("userContent.page.monospace",                     true);

// == Theme Default Settings ===================================================
// -- User Chrome --------------------------------------------------------------
user_pref("userChrome.compatibility.theme",       true);
user_pref("userChrome.compatibility.os",          true);

user_pref("userChrome.theme.built_in_contrast",   true);
user_pref("userChrome.theme.system_default",      true);
user_pref("userChrome.theme.proton_color",        true);
user_pref("userChrome.theme.proton_chrome",       true); // Need proton_color
user_pref("userChrome.theme.fully_color",         true); // Need proton_color
user_pref("userChrome.theme.fully_dark",          true); // Need proton_color

user_pref("userChrome.decoration.cursor",         true);
user_pref("userChrome.decoration.field_border",   true);
user_pref("userChrome.decoration.download_panel", true);
user_pref("userChrome.decoration.animate",        true);

user_pref("userChrome.padding.tabbar_width",      true);
user_pref("userChrome.padding.tabbar_height",     true);
user_pref("userChrome.padding.toolbar_button",    true);
user_pref("userChrome.padding.navbar_width",      true);
user_pref("userChrome.padding.urlbar",            true);
user_pref("userChrome.padding.bookmarkbar",       true);
user_pref("userChrome.padding.infobar",           true);
user_pref("userChrome.padding.menu",              true);
user_pref("userChrome.padding.bookmark_menu",     true);
user_pref("userChrome.padding.global_menubar",    true);
user_pref("userChrome.padding.panel",             true);
user_pref("userChrome.padding.popup_panel",       true);

user_pref("userChrome.tab.multi_selected",        true);
user_pref("userChrome.tab.unloaded",              true);
user_pref("userChrome.tab.letters_cleary",        true);
user_pref("userChrome.tab.close_button_at_hover", true);
user_pref("userChrome.tab.sound_hide_label",      true);
user_pref("userChrome.tab.sound_with_favicons",   true);
user_pref("userChrome.tab.pip",                   true);
user_pref("userChrome.tab.container",             true);
user_pref("userChrome.tab.crashed",               true);

user_pref("userChrome.fullscreen.overlap",        true);
user_pref("userChrome.fullscreen.show_bookmarkbar", true);

user_pref("userChrome.icon.library",              true);
user_pref("userChrome.icon.panel",                true);
user_pref("userChrome.icon.menu",                 true);
user_pref("userChrome.icon.context_menu",         true);
user_pref("userChrome.icon.global_menu",          true);
user_pref("userChrome.icon.global_menubar",       true);

// -- User Content -------------------------------------------------------------
user_pref("userContent.player.ui",             true);
user_pref("userContent.player.icon",           true);
user_pref("userContent.player.noaudio",        true);
user_pref("userContent.player.size",           true);
user_pref("userContent.player.click_to_play",  true);
user_pref("userContent.player.animate",        true);

user_pref("userContent.newTab.full_icon",      true);
user_pref("userContent.newTab.animate",        true);
user_pref("userContent.newTab.pocket_to_last", true);
user_pref("userContent.newTab.searchbar",      true);

user_pref("userContent.page.field_border",     true);
user_pref("userContent.page.illustration",     true);
user_pref("userContent.page.proton_color",     true);
user_pref("userContent.page.dark_mode",        true); // Need proton_color
user_pref("userContent.page.proton",           true); // Need proton_color

// ** Useful Options ***********************************************************
// Integrated calculator at urlbar
user_pref("browser.urlbar.suggest.calculator", true);

// Integrated unit convertor at urlbar
// user_pref("browser.urlbar.unitConversion.enabled", true);

// Draw in Titlebar
// user_pref("browser.tabs.drawInTitlebar", true);
// user_pref("browser.tabs.inTitlebar",        1); // Nightly, 96 Above

// ** Scrolling Settings *******************************************************
// == Only Sharpen Scrolling ===================================================
//         Pref                                             Value      Original
/*
user_pref("mousewheel.min_line_scroll_amount",                 10); //        5
user_pref("general.smoothScroll.mouseWheel.durationMinMS",     80); //       50
user_pref("general.smoothScroll.currentVelocityWeighting", "0.15"); //   "0.25"
user_pref("general.smoothScroll.stopDecelerationWeighting", "0.6"); //    "0.4"
*/

// == Smooth Scrolling ==========================================================
// ** Scrolling Options ********************************************************
// based on natural smooth scrolling v2 by aveyo
// this preset will reset couple extra variables for consistency
//         Pref                                              Value                 Original
/*
user_pref("apz.allow_zooming",                               true);            ///     true
user_pref("apz.force_disable_desktop_zooming_scrollbars",   false);            ///    false
user_pref("apz.paint_skipping.enabled",                      true);            ///     true
user_pref("apz.windows.use_direct_manipulation",             true);            ///     true
user_pref("dom.event.wheel-deltaMode-lines.always-disabled", true);            ///    false
user_pref("general.smoothScroll.currentVelocityWeighting", "0.12");            ///   "0.25" <- 1. If scroll too slow, set to "0.15"
user_pref("general.smoothScroll.durationToIntervalRatio",    1000);            ///      200
user_pref("general.smoothScroll.lines.durationMaxMS",         100);            ///      150
user_pref("general.smoothScroll.lines.durationMinMS",           0);            ///      150
user_pref("general.smoothScroll.mouseWheel.durationMaxMS",    100);            ///      200
user_pref("general.smoothScroll.mouseWheel.durationMinMS",      0);            ///       50
user_pref("general.smoothScroll.mouseWheel.migrationPercent", 100);            ///      100
user_pref("general.smoothScroll.msdPhysics.continuousMotionMaxDeltaMS", 12);   ///      120
user_pref("general.smoothScroll.msdPhysics.enabled",                  true);   ///    false
user_pref("general.smoothScroll.msdPhysics.motionBeginSpringConstant", 200);   ///     1250
user_pref("general.smoothScroll.msdPhysics.regularSpringConstant",     200);   ///     1000
user_pref("general.smoothScroll.msdPhysics.slowdownMinDeltaMS",         10);   ///       12
user_pref("general.smoothScroll.msdPhysics.slowdownMinDeltaRatio",  "1.20");   ///    "1.3"
user_pref("general.smoothScroll.msdPhysics.slowdownSpringConstant",   1000);   ///     2000
user_pref("general.smoothScroll.other.durationMaxMS",         100);            ///      150
user_pref("general.smoothScroll.other.durationMinMS",           0);            ///      150
user_pref("general.smoothScroll.pages.durationMaxMS",         100);            ///      150
user_pref("general.smoothScroll.pages.durationMinMS",           0);            ///      150
user_pref("general.smoothScroll.pixels.durationMaxMS",        100);            ///      150
user_pref("general.smoothScroll.pixels.durationMinMS",          0);            ///      150
user_pref("general.smoothScroll.scrollbars.durationMaxMS",    100);            ///      150
user_pref("general.smoothScroll.scrollbars.durationMinMS",      0);            ///      150
user_pref("general.smoothScroll.stopDecelerationWeighting", "0.6");            ///    "0.4"
user_pref("layers.async-pan-zoom.enabled",                   true);            ///     true
user_pref("layout.css.scroll-behavior.spring-constant",   "250.0");            ///   "250.0"
user_pref("mousewheel.acceleration.factor",                     3);            ///       10
user_pref("mousewheel.acceleration.start",                     -1);            ///       -1
user_pref("mousewheel.default.delta_multiplier_x",            100);            ///      100
user_pref("mousewheel.default.delta_multiplier_y",            100);            ///      100
user_pref("mousewheel.default.delta_multiplier_z",            100);            ///      100
user_pref("mousewheel.min_line_scroll_amount",                  0);            ///        5
user_pref("mousewheel.system_scroll_override.enabled",       true);            ///     true <- 2. If scroll too fast, set to false
user_pref("mousewheel.system_scroll_override_on_root_content.enabled", false); ///     true
user_pref("mousewheel.transaction.timeout",                  1500);            ///     1500
user_pref("toolkit.scrollbox.horizontalScrollDistance",         4);            ///        5
user_pref("toolkit.scrollbox.verticalScrollDistance",           3);            ///        3
*/

Additional context

No response

@Jon-dog Jon-dog added the Issue::Bug Something isn't working label Feb 18, 2023
@black7375 black7375 added Env::Windows Issues on Windows10, Windows11, unknown windows Component::Tabbar Tab or tabbar Class::SideEffect Unexpected side effect, undefined behavior labels Feb 18, 2023
@Wronschien
Copy link

Same here on windows 10 with lepton proton style

@Jon-dog
Copy link
Author

Jon-dog commented Feb 20, 2023

Downloaded the new leptonChrome.css made for #628 and that has seemingly fixed the issue
Thought it would be a padding issue, because of the very precise nature of it

Still no smooth scroll of the tabs though

@black7375 black7375 added the Browser::Upstream Changes or bugs from Firefox label Feb 20, 2023
@Wronschien
Copy link

I just tried that too but it didn't work for me

@Wronschien
Copy link

I can confirm the problem still occurs with v7.1.1, and only when there are pinned tabs as previously stated by Jon-dog.

@black7375
Copy link
Owner

Strangely, it is difficult to reproduce on my computer.

@black7375 black7375 added the Difficult::Unknown Unknown cause or difficult to reproduce label Feb 25, 2023
@Wronschien
Copy link

I made some tests and it appears to be some incompatibly with Panorama Tab Groups, when I deactivate this one I don't have the problem any more. That's a pity because I don't want to deactivate it permanently… Maybe Jon-dog uses it too ?

More precisely : there has to be at least one pinned tab, and something like 10-20 other tabs in the group, the limit numbers aren't always the same, but if there are too few or too much the problem doesn't occur. I just noticed the jittering doesn't happen if the mouse is not moving. Maybe this will help.

@Jon-dog
Copy link
Author

Jon-dog commented Feb 25, 2023

@Wronschien I'm not using Panorama Tab Groups or any other apps that should be causing UI issues,
Did you try changing your user.js to be like mine?
For me the issue was occuring regardless of whether the mouse was moving.

@Wronschien
Copy link

Here is mine :

user.js

user_pref("general.smoothScroll.lines.durationMaxMS", 1000);
user_pref("general.smoothScroll.lines.durationMinMS", 400);
user_pref("mousewheel.acceleration.factor", 50);
user_pref("mousewheel.acceleration.start", 10);
user_pref("mousewheel.default.delta_multiplier_y", 300);
user_pref("mousewheel.min_line_scroll_amount", 25);
user_pref("toolkit.scrollbox.verticalScrollDistance", 10);

// ** Theme Default Options ****************************************************
// userchrome.css usercontent.css activate
user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true);

// Proton Enabled #127 || Removed at 97 #328 (Maintained for compatibility with ESR)
user_pref("browser.proton.enabled", true);

// Fill SVG Color
user_pref("svg.context-properties.content.enabled", true);

// CSS Color Mix - 88 Above
user_pref("layout.css.color-mix.enabled", true);

// CSS Blur Filter - 88 Above
user_pref("layout.css.backdrop-filter.enabled", true);

// Restore Compact Mode - 89 Above
user_pref("browser.compactmode.show", true);

// about:home Search Bar - 89 Above
user_pref("browser.newtabpage.activity-stream.improvesearch.handoffToAwesomebar", false);

// CSS's :has() selector #457 - 103 Above
user_pref("layout.css.has-selector.enabled", true);

// Browser Theme Based Scheme - Will be activate 95 Above
// user_pref("layout.css.prefers-color-scheme.content-override", 3);

// ** Theme Related Options ****************************************************
// == Theme Distribution Settings ==============================================
// The rows that are located continuously must be changed true/false explicitly because there is a collision.
// https://github.com/black7375/Firefox-UI-Fix/wiki/Options#important
user_pref("userChrome.tab.connect_to_window", false); // Original, Photon
user_pref("userChrome.tab.color_like_toolbar", false); // Original, Photon

user_pref("userChrome.tab.lepton_like_padding", false); // Original
user_pref("userChrome.tab.photon_like_padding", false); // Photon

user_pref("userChrome.tab.dynamic_separator", true); // Original, Proton
user_pref("userChrome.tab.static_separator", false); // Photon
user_pref("userChrome.tab.static_separator.selected_accent", false); // Just option
user_pref("userChrome.tab.bar_separator", false); // Just option

user_pref("userChrome.tab.newtab_button_like_tab", false); // Original
user_pref("userChrome.tab.newtab_button_smaller", false); // Photon
user_pref("userChrome.tab.newtab_button_proton", true); // Proton

user_pref("userChrome.icon.panel_full", true); // Original, Proton
user_pref("userChrome.icon.panel_photon", false); // Photon

// Original Only
user_pref("userChrome.tab.box_shadow", false);
user_pref("userChrome.tab.bottom_rounded_corner", false);

// Photon Only
user_pref("userChrome.tab.photon_like_contextline", false);
user_pref("userChrome.rounding.square_tab", false);

// == Theme Compatibility Settings =============================================
// user_pref("userChrome.compatibility.accent_color", true); // Firefox v103 Below
// user_pref("userChrome.compatibility.covered_header_image", true);
// user_pref("userChrome.compatibility.panel_cutoff", true);
// user_pref("userChrome.compatibility.navbar_top_border", true);
// user_pref("userChrome.compatibility.dynamic_separator", true); // Need dynamic_separator

// user_pref("userChrome.compatibility.os.linux_non_native_titlebar_button", true);
// user_pref("userChrome.compatibility.os.windows_maximized", true);

// == Theme Custom Settings ====================================================
// -- User Chrome --------------------------------------------------------------
// user_pref("userChrome.theme.proton_color.dark_blue_accent", true);
// user_pref("userChrome.theme.monospace", true);
// user_pref("userChrome.compatibility.os.win11", true);

// user_pref("userChrome.decoration.disable_panel_animate", true);
// user_pref("userChrome.decoration.disable_sidebar_animate", true);
// user_pref("userChrome.decoration.panel_button_separator", true);
// user_pref("userChrome.decoration.panel_arrow", true);

// user_pref("userChrome.autohide.tab", true);
// user_pref("userChrome.autohide.tab.opacity", true);
// user_pref("userChrome.autohide.tab.blur", true);
// user_pref("userChrome.autohide.tabbar", true);
// user_pref("userChrome.autohide.navbar", true);
// user_pref("userChrome.autohide.bookmarkbar", true);
// user_pref("userChrome.autohide.sidebar", true);
// user_pref("userChrome.autohide.fill_urlbar", true);
// user_pref("userChrome.autohide.back_button", true);
// user_pref("userChrome.autohide.forward_button", true);
// user_pref("userChrome.autohide.page_action", true);
// user_pref("userChrome.autohide.toolbar_overlap", true);
// user_pref("userChrome.autohide.toolbar_overlap.allow_layout_shift", true);

// user_pref("userChrome.hidden.tab_icon", true);
// user_pref("userChrome.hidden.tab_icon.always", true);
// user_pref("userChrome.hidden.tabbar", true);
// user_pref("userChrome.hidden.navbar", true);
// user_pref("userChrome.hidden.titlebar_container", true);
// user_pref("userChrome.hidden.sidebar_header", true);
// user_pref("userChrome.hidden.sidebar_header.vertical_tab_only", true);
// user_pref("userChrome.hidden.urlbar_iconbox", true);
// user_pref("userChrome.hidden.urlbar_iconbox.label_only", true);
// user_pref("userChrome.hidden.bookmarkbar_icon", true);
// user_pref("userChrome.hidden.bookmarkbar_label", true);
// user_pref("userChrome.hidden.disabled_menu", true);

// user_pref("userChrome.centered.tab", true);
// user_pref("userChrome.centered.tab.label", true);
// user_pref("userChrome.centered.urlbar", true);
// user_pref("userChrome.centered.bookmarkbar", true);

// user_pref("userChrome.counter.tab", true);
// user_pref("userChrome.counter.bookmark_menu", true);

// user_pref("userChrome.combined.nav_button", true);
// user_pref("userChrome.combined.nav_button.home_button", true);
// user_pref("userChrome.combined.urlbar.nav_button", true);
// user_pref("userChrome.combined.urlbar.home_button", true);
// user_pref("userChrome.combined.urlbar.reload_button", true);
// user_pref("userChrome.combined.sub_button.none_background", true);
// user_pref("userChrome.combined.sub_button.as_normal", true);

// user_pref("userChrome.rounding.square_button", true);
// user_pref("userChrome.rounding.square_dialog", true);
// user_pref("userChrome.rounding.square_panel", true);
// user_pref("userChrome.rounding.square_panelitem", true);
// user_pref("userChrome.rounding.square_menupopup", true);
// user_pref("userChrome.rounding.square_menuitem", true);
// user_pref("userChrome.rounding.square_field", true);
// user_pref("userChrome.rounding.square_urlView_item", true);
// user_pref("userChrome.rounding.square_checklabel", true);

// user_pref("userChrome.padding.first_tab", true);
// user_pref("userChrome.padding.first_tab.always", true);
// user_pref("userChrome.padding.drag_space", true);
// user_pref("userChrome.padding.drag_space.maximized", true);

// user_pref("userChrome.padding.toolbar_button.compact", true);
// user_pref("userChrome.padding.menu_compact", true);
// user_pref("userChrome.padding.bookmark_menu.compact", true);
// user_pref("userChrome.padding.urlView_expanding", true);
// user_pref("userChrome.padding.urlView_result", true);
// user_pref("userChrome.padding.panel_header", true);

// user_pref("userChrome.urlbar.iconbox_with_separator", true);

// user_pref("userChrome.urlView.as_commandbar", true);
// user_pref("userChrome.urlView.full_width_padding", true);
// user_pref("userChrome.urlView.always_show_page_actions", true);
// user_pref("userChrome.urlView.move_icon_to_left", true);
// user_pref("userChrome.urlView.go_button_when_typing", true);
// user_pref("userChrome.urlView.focus_item_border", true);

// user_pref("userChrome.tabbar.as_titlebar", true);
// user_pref("userChrome.tabbar.fill_width", true);
// user_pref("userChrome.tabbar.multi_row", true);
// user_pref("userChrome.tabbar.unscroll", true);
// user_pref("userChrome.tabbar.on_bottom", true);
// user_pref("userChrome.tabbar.on_bottom.above_bookmark", true); // Need on_bottom
// user_pref("userChrome.tabbar.on_bottom.menubar_on_top", true); // Need on_bottom
// user_pref("userChrome.tabbar.on_bottom.hidden_single_tab", true); // Need on_bottom
// user_pref("userChrome.tabbar.one_liner", true);
// user_pref("userChrome.tabbar.one_liner.combine_navbar", true); // Need one_liner
// user_pref("userChrome.tabbar.one_liner.tabbar_first", true); // Need one_liner
// user_pref("userChrome.tabbar.one_liner.responsive", true); // Need one_liner

// user_pref("userChrome.tab.bottom_rounded_corner.all", true);
// user_pref("userChrome.tab.bottom_rounded_corner.australis", true);
// user_pref("userChrome.tab.bottom_rounded_corner.edge", true);
// user_pref("userChrome.tab.bottom_rounded_corner.chrome", true);
// user_pref("userChrome.tab.bottom_rounded_corner.chrome_legacy", true);
// user_pref("userChrome.tab.bottom_rounded_corner.wave", true);
// user_pref("userChrome.tab.always_show_tab_icon", true);
// user_pref("userChrome.tab.close_button_at_pinned", true);
// user_pref("userChrome.tab.close_button_at_pinned.always", true);
// user_pref("userChrome.tab.close_button_at_pinned.background", true);
// user_pref("userChrome.tab.close_button_at_hover.always", true); // Need close_button_at_hover
// user_pref("userChrome.tab.close_button_at_hover.with_selected", true); // Need close_button_at_hover
user_pref("userChrome.tab.sound_show_label", true); // Need remove sound_hide_label

// user_pref("userChrome.navbar.as_sidebar", true);

// user_pref("userChrome.bookmarkbar.multi_row", true);

// user_pref("userChrome.findbar.floating_on_top", true);

// user_pref("userChrome.panel.remove_strip", true);
// user_pref("userChrome.panel.full_width_separator", true);
// user_pref("userChrome.panel.full_width_padding", true);

// user_pref("userChrome.sidebar.overlap", true);

// user_pref("userChrome.icon.disabled", true);
// user_pref("userChrome.icon.account_image_to_right", true);
// user_pref("userChrome.icon.account_label_to_right", true);
// user_pref("userChrome.icon.menu.full", true);
// user_pref("userChrome.icon.global_menu.mac", true);

// -- User Content -------------------------------------------------------------
// user_pref("userContent.player.ui.twoline", true);

// user_pref("userContent.newTab.hidden_logo", true);

// user_pref("userContent.page.proton_color.dark_blue_accent", true);
// user_pref("userContent.page.proton_color.system_accent", true);
// user_pref("userContent.page.monospace", true);

// == Theme Default Settings ===================================================
// -- User Chrome --------------------------------------------------------------
user_pref("userChrome.compatibility.theme", true);
user_pref("userChrome.compatibility.os", true);

user_pref("userChrome.theme.built_in_contrast", true);
user_pref("userChrome.theme.system_default", true);
user_pref("userChrome.theme.proton_color", true);
user_pref("userChrome.theme.proton_chrome", true); // Need proton_color
user_pref("userChrome.theme.fully_color", true); // Need proton_color
user_pref("userChrome.theme.fully_dark", true); // Need proton_color

user_pref("userChrome.decoration.cursor", true);
user_pref("userChrome.decoration.field_border", true);
user_pref("userChrome.decoration.download_panel", true);
user_pref("userChrome.decoration.animate", true);

user_pref("userChrome.padding.tabbar_width", true);
user_pref("userChrome.padding.tabbar_height", true);
user_pref("userChrome.padding.toolbar_button", true);
user_pref("userChrome.padding.navbar_width", true);
user_pref("userChrome.padding.urlbar", true);
user_pref("userChrome.padding.bookmarkbar", true);
user_pref("userChrome.padding.infobar", true);
user_pref("userChrome.padding.menu", true);
user_pref("userChrome.padding.bookmark_menu", true);
user_pref("userChrome.padding.global_menubar", true);
user_pref("userChrome.padding.panel", true);
user_pref("userChrome.padding.popup_panel", true);

user_pref("userChrome.tab.multi_selected", true);
user_pref("userChrome.tab.unloaded", true);
user_pref("userChrome.tab.letters_cleary", true);
user_pref("userChrome.tab.close_button_at_hover", false);
user_pref("userChrome.tab.sound_hide_label", false);
user_pref("userChrome.tab.sound_with_favicons", false);
user_pref("userChrome.tab.pip", true);
user_pref("userChrome.tab.container", true);
user_pref("userChrome.tab.crashed", true);

user_pref("userChrome.fullscreen.overlap", true);
user_pref("userChrome.fullscreen.show_bookmarkbar", false);

user_pref("userChrome.icon.library", true);
user_pref("userChrome.icon.panel", true);
user_pref("userChrome.icon.menu", true);
user_pref("userChrome.icon.context_menu", true);
user_pref("userChrome.icon.global_menu", true);
user_pref("userChrome.icon.global_menubar", true);

// -- User Content -------------------------------------------------------------
user_pref("userContent.player.ui", true);
user_pref("userContent.player.icon", true);
user_pref("userContent.player.noaudio", true);
user_pref("userContent.player.size", true);
user_pref("userContent.player.click_to_play", true);
user_pref("userContent.player.animate", true);

user_pref("userContent.newTab.full_icon", true);
user_pref("userContent.newTab.animate", true);
user_pref("userContent.newTab.pocket_to_last", true);
user_pref("userContent.newTab.searchbar", true);

user_pref("userContent.page.field_border", true);
user_pref("userContent.page.illustration", true);
user_pref("userContent.page.proton_color", true);
user_pref("userContent.page.dark_mode", true); // Need proton_color
user_pref("userContent.page.proton", true); // Need proton_color

// ** Useful Options ***********************************************************
// Integrated calculator at urlbar
user_pref("browser.urlbar.suggest.calculator", true);

// Integrated unit convertor at urlbar
// user_pref("browser.urlbar.unitConversion.enabled", true);

// Draw in Titlebar
// user_pref("browser.tabs.drawInTitlebar", true);
// user_pref("browser.tabs.inTitlebar", 1); // Nightly, 96 Above

// ** Scrolling Settings *******************************************************
// == Only Sharpen Scrolling ===================================================
// Pref Value Original
/*
user_pref("mousewheel.min_line_scroll_amount", 10); // 5
user_pref("general.smoothScroll.mouseWheel.durationMinMS", 80); // 50
user_pref("general.smoothScroll.currentVelocityWeighting", "0.15"); // "0.25"
user_pref("general.smoothScroll.stopDecelerationWeighting", "0.6"); // "0.4"
*/

// == Smooth Scrolling ==========================================================
// ** Scrolling Options ********************************************************
// based on natural smooth scrolling v2 by aveyo
// this preset will reset couple extra variables for consistency
// Pref Value Original
/*
user_pref("apz.allow_zooming", true); /// true
user_pref("apz.force_disable_desktop_zooming_scrollbars", false); /// false
user_pref("apz.paint_skipping.enabled", true); /// true
user_pref("apz.windows.use_direct_manipulation", true); /// true
user_pref("dom.event.wheel-deltaMode-lines.always-disabled", true); /// false
user_pref("general.smoothScroll.currentVelocityWeighting", "0.12"); /// "0.25" <- 1. If scroll too slow, set to "0.15"
user_pref("general.smoothScroll.durationToIntervalRatio", 1000); /// 200
user_pref("general.smoothScroll.lines.durationMaxMS", 100); /// 150
user_pref("general.smoothScroll.lines.durationMinMS", 0); /// 150
user_pref("general.smoothScroll.mouseWheel.durationMaxMS", 100); /// 200
user_pref("general.smoothScroll.mouseWheel.durationMinMS", 0); /// 50
user_pref("general.smoothScroll.mouseWheel.migrationPercent", 100); /// 100
user_pref("general.smoothScroll.msdPhysics.continuousMotionMaxDeltaMS", 12); /// 120
user_pref("general.smoothScroll.msdPhysics.enabled", true); /// false
user_pref("general.smoothScroll.msdPhysics.motionBeginSpringConstant", 200); /// 1250
user_pref("general.smoothScroll.msdPhysics.regularSpringConstant", 200); /// 1000
user_pref("general.smoothScroll.msdPhysics.slowdownMinDeltaMS", 10); /// 12
user_pref("general.smoothScroll.msdPhysics.slowdownMinDeltaRatio", "1.20"); /// "1.3"
user_pref("general.smoothScroll.msdPhysics.slowdownSpringConstant", 1000); /// 2000
user_pref("general.smoothScroll.other.durationMaxMS", 100); /// 150
user_pref("general.smoothScroll.other.durationMinMS", 0); /// 150
user_pref("general.smoothScroll.pages.durationMaxMS", 100); /// 150
user_pref("general.smoothScroll.pages.durationMinMS", 0); /// 150
user_pref("general.smoothScroll.pixels.durationMaxMS", 100); /// 150
user_pref("general.smoothScroll.pixels.durationMinMS", 0); /// 150
user_pref("general.smoothScroll.scrollbars.durationMaxMS", 100); /// 150
user_pref("general.smoothScroll.scrollbars.durationMinMS", 0); /// 150
user_pref("general.smoothScroll.stopDecelerationWeighting", "0.6"); /// "0.4"
user_pref("layers.async-pan-zoom.enabled", true); /// true
user_pref("layout.css.scroll-behavior.spring-constant", "250.0"); /// "250.0"
user_pref("mousewheel.acceleration.factor", 3); /// 10
user_pref("mousewheel.acceleration.start", -1); /// -1
user_pref("mousewheel.default.delta_multiplier_x", 100); /// 100
user_pref("mousewheel.default.delta_multiplier_y", 100); /// 100
user_pref("mousewheel.default.delta_multiplier_z", 100); /// 100
user_pref("mousewheel.min_line_scroll_amount", 0); /// 5
user_pref("mousewheel.system_scroll_override.enabled", true); /// true <- 2. If scroll too fast, set to false
user_pref("mousewheel.system_scroll_override_on_root_content.enabled", false); /// true
user_pref("mousewheel.transaction.timeout", 1500); /// 1500
user_pref("toolkit.scrollbox.horizontalScrollDistance", 4); /// 5
user_pref("toolkit.scrollbox.verticalScrollDistance", 3); /// 3
*/

@mikesafari
Copy link

I'm seeing the same issue. Can I give you any of my configs to see what might be happening?

@black7375
Copy link
Owner

@mikesafari
Yes, Can you attach pref.js file from your profile directory? (Not user.js)
Also, please tell me what OS you are using.

@mikesafari
Copy link

Here you go! I'm on Windows 10 22H2.

prefs.zip

@bogbert
Copy link

bogbert commented May 24, 2023

If that can help, here is how to reproduce the problem on a fresh profile:

  1. Install Lepton
  2. Open "Customize toolbar..." and remove the "New tab" icon from the tab bar
  3. Pin a tab
  4. Ctl+T several times until your tabs fill the width of the window ... et voilà

@Wronschien
Copy link

Wronschien commented May 25, 2023

Hello, I had indeed removed the new tab button. Now with it back up there, the problem is gone.
Nice find, that's a good workaround (before a real fix ?).

@black7375 black7375 added Priority::High Solve and focus on it first and removed Difficult::Unknown Unknown cause or difficult to reproduce labels May 25, 2023
@black7375
Copy link
Owner

black7375 commented May 25, 2023

@bogbert Thanks to you, I was able to reproduce it.
I'll look into it over the weekend.
I did some patche. Test please.

@bogbert
Copy link

bogbert commented May 25, 2023

I've tested the patched version, the jitter problem appears to be fixed, but I've noticed another issue that (I think) was not present before. To reproduce it follow the same directions I gave in my previous post, but add even more tabs until Firefox displays arrows on both sides of the tab bar. Then you'll notice that the left of the tab bar is not rendered correctly. There is an empty space at the left of the arrow, where the pined tab should be. Instead of being where it should be, the pined tab overlaps on the other tabs, at the right of the arrow.

@black7375
Copy link
Owner

@bogbert Thanks for feedback.
I think the bug is now fixed. Could you please test it again?

@bogbert
Copy link

bogbert commented May 29, 2023

Everything looks good to me now. Thank you for the fix.

@black7375
Copy link
Owner

Question before the release. (Scheduled on the 19th or 20th)
Can I think this problem has been solved?

@Wronschien
Copy link

How can I test it ?

@black7375
Copy link
Owner

Follow the method From Latest Code of Installation Guide.

At this time, you need to use the original distribution.

@Wronschien
Copy link

Sadly it doesn't work for me, it's even a bit worse as the jitter happens constantly as opposed to "only when the mouse moves" as before. The workaround of adding back the New Tab button still works though.

@black7375
Copy link
Owner

In my environment, there is no problem with the jitter even after following the procedure.
Am I missing something?

tab-jitter-test.mp4

@Wronschien
Copy link

Indeed the remaining problem is on my end : the Panorama Tab Groups extension again. When deactivated all works well. But as I need it I'll keep the New Tab button workaround.
Anyway, thanks for the update.

@black7375
Copy link
Owner

black7375 commented Jun 18, 2023

Thank you for telling me the new case.
I used Panorama Tab Groups according to your words and could reproduce jitter.

I also tried putting the min-width: 1px property at latest tab strip, based on the phenomenon that it doesn't happen if new tab button is present, and it worked for me.

@Wronschien
Copy link

This new fix is not in the current Proton style repo (that's the one I'm using), right ?
I can't find the commit in "_tabbar_width.scss" as it should be if I understand correctly.

@black7375
Copy link
Owner

black7375 commented Jun 18, 2023

Yes. you are right.
I haven't applied it yet to reflect the bug when it's fixed.

Simple test method: You just need to replace this file.
https://github.com/black7375/Firefox-UI-Fix/blob/master/css/leptonChrome.css

@Wronschien
Copy link

Using the latest proton repo with this leptonChrome.css doesn't work, still jitters. But maybe that's not what you meant ?

@black7375
Copy link
Owner

black7375 commented Jun 18, 2023

Use the file of the master I linked.
If you do not modify the user.js file, it will still look like proton style.

@Wronschien
Copy link

Yes that's the one I used for replacement.

@black7375
Copy link
Owner

black7375 commented Jun 18, 2023

Hmm, paranoma tab groups support is a bit tricky.
Increasing the size may alleviate the problem.

Thank you for your continued feedback.It's a huge help for me.

@Wronschien
Copy link

I tried adding min-width: 3px; as you did in the commit and this works quite well, no obvious side effect !
I think you're the one to be thanked for taking into account my problem which is quite niche, Panorama Tab Groups is not much used.

@black7375
Copy link
Owner

Thank you for testing. Now I think this problem can be solved in a general case.
I will now assume this issue is resolved unless there are special comments by the time of release.

@Wronschien
Copy link

Right, I hope that's for good now. Until another code change in Firefox some day maybe…
Thanks !

@black7375
Copy link
Owner

Close because there is no comment until the new version is released.
https://github.com/black7375/Firefox-UI-Fix/releases/tag/v7.4.0

If you have a problem, please comment.

@black7375 black7375 mentioned this issue Apr 22, 2024
9 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Browser::Upstream Changes or bugs from Firefox Class::SideEffect Unexpected side effect, undefined behavior Component::Tabbar Tab or tabbar Env::Windows Issues on Windows10, Windows11, unknown windows Issue::Bug Something isn't working Priority::High Solve and focus on it first
Projects
None yet
Development

No branches or pull requests

5 participants