black7375 / Firefox-UI-Fix

🦊 I respect proton UI and aim to improve it.
Mozilla Public License 2.0
5.34k stars 187 forks source link

Firefox 110 tabs jitter #643

Closed Jon-dog closed 1 year ago

Jon-dog commented 1 year ago

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
```javascript // ** 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

Wronschien commented 1 year ago

Same here on windows 10 with lepton proton style

Jon-dog commented 1 year ago

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

Wronschien commented 1 year ago

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

Wronschien commented 1 year ago

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 commented 1 year ago

Strangely, it is difficult to reproduce on my computer.

Wronschien commented 1 year ago

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 commented 1 year ago

@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 commented 1 year ago

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 commented 1 year ago

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

black7375 commented 1 year ago

@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 commented 1 year ago

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

prefs.zip

bogbert commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

@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 commented 1 year ago

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 commented 1 year ago

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

bogbert commented 1 year ago

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

black7375 commented 1 year ago

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

Wronschien commented 1 year ago

How can I test it ?

black7375 commented 1 year ago

Follow the method From Latest Code of Installation Guide.

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

Wronschien commented 1 year ago

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 commented 1 year ago

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

https://github.com/black7375/Firefox-UI-Fix/assets/25581533/96ebe914-9e27-4b14-b7fe-685c9de6d94b

Wronschien commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

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

black7375 commented 1 year ago

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 commented 1 year ago

Yes that's the one I used for replacement.

black7375 commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

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

black7375 commented 1 year ago

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.