aminomancer / uc.css.js

A dark indigo CSS theme for Firefox and a large collection of privileged scripts to add new buttons, menus, and behaviors and eliminate nuisances. The theme is similar to other userChrome stylesheets, but it's intended for use with an autoconfig loader like fx-autoconfig, since it uses JavaScript to implement its more functional features.
Other
326 stars 27 forks source link

[FR] Disable unified extensions panel #68

Open Merlin04 opened 1 year ago

Merlin04 commented 1 year ago

Is your feature request related to a problem? Please describe. I much prefer the old extensions panel (where they were just in the overflow menu) over the new unified extensions panel, since the latter lets me put non-extension toolbar items (like the eye dropper) in the same menu as all the rest of my extensions.

Describe the solution you'd like It would be incredible if there was some sort of flag/style/script to disable the new unified extensions panel and move the extension toolbar items back to the regular overflow menu.

Describe alternatives you've considered CSS to make the unified extensions panel less bulky definitely improves the usability of it, but it still doesn't fix the issue described above.

aminomancer commented 1 year ago

It's not really feasible. The logic is implemented in CustomizableUIInternal, which not only is not exported but is also frozen. It is effectively impossible to modify its behavior without overriding the file. But since the file is mapped to a resource:// URI, it cannot be overridden. So the only way to change its behavior is to modify the file itself.

I think there might be a way to arrange the folders in your Firefox binary directory such that it looks for the file in that folder instead of in the JAR archive bundled with Firefox, but I don't know what that would be. Otherwise, you would need to build Firefox yourself, which is relatively easy but excludes certain API keys for features like Google Safe Browsing, and is a lot of work since you won't be able to update normally, but instead need to manage a repository and rebuild Firefox periodically.

There are other hacky ways to basically force widgets into the overflow menu without telling CustomizableUI about it, but that carries with it a risk of data loss (i.e. your widget placements), breaking buttons until a restart, and crashes. I investigated this a while ago and ultimately moved on due to a lack of viable options.

I have to suggest just getting used to the unified extensions panel, since it's not going anywhere, and filing bugs on bugzilla for whatever problems with it you can't tolerate. I would also like it if Firefox implemented a single location where you could place both extension and non-extension browser action widgets. I'm sure you're aware that Firefox does have a location like that — the toolbar.

Maybe your issue with the toolbar is that it's horizontal and relatively cramped. If that's the case, then you might want to give this script a try. That's what I use. I don't use either of the unified extensions panel or the widget overflow panel. I just put everything in my toolbar and limit the slider size to 11 widgets long. It can support any length, even 1.

I put my most important widgets on the left so that I can see them without scrolling. And I put less frequently used widgets on the right, and then when I need to use them, instead of clicking the overflow widget or unified extensions widget, I just use my scroll wheel or trackpad to scroll down/right in the toolbar slider (it supports scrolling in both horizontal and vertical directions). In my opinion, this is definitely the most important script on this repo. Especially now that the overflow panel can't hold extension buttons.

Otherwise, you could file a bug to complain about the lack of a vertical menu where both extension and non-extension browser action widgets can be placed. It's certainly a valid complaint, so it's not outside the realm of possibility that something is changed so that non-extension items can be placed in the unified extensions panel, or so that extension items can be placed in the overflow panel. But I won't be able to make a change like that with autoconfig scripts.