black7375 / Firefox-UI-Fix

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

Lepton [Photon Edition] - Firefox renders the privacy protections panel, accessible from the URL bar, incorrectly. #627

Closed gettysburg closed 1 year ago

gettysburg commented 1 year ago

Describe the bug

When clicking on the shield, on the left side of the URL bar, an indicator of Firefox' built-in tracking protection, the text at the lower end is cut off:

image

Expected behavior

The entire privacy protections panel should scale correctly, and thereby show all items.

Screenshots

No response

OS

Others

OS - Others

Windows Server 2019 - LTSC

Firefox Version

102.7.0esr

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", false); // Original user_pref("userChrome.tab.photon_like_padding", true); // Photon user_pref("userChrome.tab.dynamic_separator", false); // Original, Proton user_pref("userChrome.tab.static_separator", true); // 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", true); // Photon user_pref("userChrome.tab.newtab_button_proton", false); // Proton user_pref("userChrome.icon.panel_full", false); // Original, Proton user_pref("userChrome.icon.panel_photon", true); // 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", true); 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.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_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", false); 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

gettysburg commented 1 year ago

Addendum:

There is also another visual issue I noticed, when trying to delete website data, by opening the history side panel (CTRL + H by default), searching for the site, right clicking on it and clicking "Forget About This Site", only the text of the buttons is shown and they also are not selectable by navigating by using the Tab key on my keyboard:

image

I tested both on a fresh profile and everything works fine there:

image2

black7375 commented 1 year ago

There is also another visual issue I noticed, when trying to delete website data, by opening the history side panel (CTRL + H by default), searching for the site, right clicking on it and clicking "Forget About This Site", only the text of the buttons is shown and they also are not selectable by navigating by using the Tab key on my keyboard:

Can you open about:config and tell me the value of the next two settings?

gettysburg commented 1 year ago

@black7375 My user.js is attached to the main post, but here you go anyway:

userChrome.theme.proton_color = false
userChrome.theme.proton_chrome = true

I recall that you suggested me a few months ago to turn userChrome.theme.proton_color on manually - I don't know why it is disabled now, but both variables are rendered in bold, meaning they have been modified, but not by me.

black7375 commented 1 year ago

Thank you for telling your settings.

If you set userChrome.theme.proton_chrome to false instead of userChrome.theme.proton_color, it will look normal. #347

gettysburg commented 1 year ago

So:

userChrome.theme.proton_color = true
userChrome.theme.proton_chrome = false

I will download and install the latest Lepton - Photon Edition version first, after that clear the startup cache and then try your suggestion - thank you for the fast help @black7375, expect my reply in 5-10 minutes.

Can I support this project by bank transfer?

I live in Europe and can send money for free to all member countries of the European Union.

black7375 commented 1 year ago

So:

userChrome.theme.proton_color = true
userChrome.theme.proton_chrome = false

Yes, if you set it as above, it will work as you want.


Sponsorship is available at the following link. https://github.com/sponsors/black7375?frequency=one-time

Since I live in South Korea, We may need Swift code, fees, and so on.

gettysburg commented 1 year ago

Okay, I now have these settings in my user.js:

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", false); // Need proton_color
user_pref("userChrome.theme.fully_color", true);          // Need proton_color
user_pref("userChrome.theme.fully_dark", true);          // Need proton_color

Clicking on the privacy shield on the same site where it did not render correctly shows that flipping those booleans indeed fixes it:

image

However I hate to be so pedantic, but there are some rendering issues, the best I can describe it is as if you turned off smoothing of the screen-font edges, this only happens if you have the privacy protections enabled, otherwise it looks normal.

Have a look, here it is in the disabled state:

image

and in the enabled state:

image

In my opinion, the surrounding container should not turn black, and if you take a look in paint and zoom in extremely deep, you can also see pixel-position errors / a possible collision with the slider box in the enabled state.

But indeed, deleting data for a website and the shield panel now render correctly on every page I tried.

Since I live in South Korea, We may need Swift code, fees, and so on.

That is unfortunate - is PayPal available in South Korea?

One thing that would work for sure would be cryptocurrency, and in such a digitalized country such as South Korea, many shops accept Bitcoin as payment, or so I have been told.

Thank you for the fast reply.

black7375 commented 1 year ago

and in the enabled state:

image

It seems like a bug. I'll check it.


The PayPal account has a memory I made in the past. First, I'll fix the bug and check it. Thank you.

black7375 commented 1 year ago

As a result, it was a compatibility issue with ESR, and I added the document to README.

If you restart after the next setting, it will work.


Here is my paypal account. Thank you for your support!!

https://www.paypal.com/paypalme/black7375

gettysburg commented 1 year ago

I need to check if I can send money to your address first, and when I get my next paycheck I'll try to think of you!

Unfortunately, userChrome.compatibility.accent_color does not exist for me or in the commit above, when do you think you can add it and release an update?

This is really not a high priority issue, so I (and others) can wait a month or two.. thank you for your wonderful work :)

black7375 commented 1 year ago

Changes are already included in v5.3.0. #433 #437 However, it was added to the document to reduce the mistake of users in the ESR version.

gettysburg commented 1 year ago

@black7375

Here we go again, I am positive that I found another visual glitch / alignment issue in Lepton - Photon Edition:

image

I am currently running v5.1.0 on 102.8.0esr and will install v5.3.0 now, then purge the startup cache, and see if I can still reproduce it, expect an edit of this post in 5-15 minutes.

gettysburg commented 1 year ago

By the way, was that version a mistake of ours?

I just downloaded the latest Lepton - Photon Edition and it's info file (LEPTON with no file extension) tells me the following version:

[Info]
Ver=v7.1.1
Branch=photon-style

Anyway, I'll edit this post in 10 minutes after installing and configuring it (you mentioned userChrome.compatibility.accent_color).

Here is my edit:

I went to https://github.com/black7375/Firefox-UI-Fix/releases, downloaded the latest Lepton - Photon edition, deleted and replaced the old chrome folder in my profile directory as well as the user.js with the ones provided in the downloaded archive, only making one necessary change so prompts and and buttons are displayed completely:

userChrome.theme.proton_color = true
userChrome.theme.proton_chrome = false

After that I went to about:support, purged the startup cache, but the visual glitch demonstrated above remains, also:

Unfortunately userChrome.compatibility.accent_color is still not available for me.

Any idea?

black7375 commented 1 year ago

image

It should be fixed in a new commit.

Unfortunately userChrome.compatibility.accent_color is still not available for me.

Did you add userChrome.compatibility.accent_color value at about:config? If not, You have to add about:config value. The user.js file in this repo is updated based on the stable firefox version.

gettysburg commented 1 year ago

@black7375

No, since I figured you would add it to user.js with a default value of false and a comment for ESR users, since most people don't use the ESR version.

Thank you for you hard work once again, I really liked the "no-bullshit" photon design system and you brought it back and made it even better, I have been using Firefox for over 15 years. I don't need fancy floating tabs or eye-candy like that on a Workstation..

I will manually add the boolean to my preferences and report back some of these days.