numirias / paxmod

🕊️ Firefox add-on for multi-row tabs and site-dependent tab colors
MIT License
249 stars 15 forks source link
firefox firefox-addon firefox-extension firefox-theme mozilla multi-row-tabs tab-mix-plus webextension

Paxmod

Paxmod is a Firefox add-on for multiple tab rows and dynamic, site-dependent tab colors.

It works in the new Proton UI and alongside any themes. You can configure the font, tab sizes, add your own CSS, and more.

Firefox Developer

Demo dark

Firefox Nightly

Demo light

Installation

Customization

You can change the font, tab sizes and other settings at about:addons > Extensions > Paxmod > Preferences.

Tips

Custom CSS

In the settings you can paste custom CSS snippets or link to a stylesheet. If you link to a local file, make sure to prefix the path with file://, e.g. file:///tmp/foo.css.

FAQ

Why can't I install Paxmod as a verified extension through Mozilla?

Regular themes and WebExtensions are only allowed to use a limited set of APIs. There is no support for advanced modifications of the browser UI, like changing the behavior of the tab bar. Hence, Paxmod comes bundled with two small additional APIs (officially called "API experiments") that add the necessary features. However, Mozilla won't sign extensions which use unofficial APIs and doesn't allow them to be distributed over the official channels. So, distributing transparently via Github seemed like the next best option.

Is Paxmod secure?

These are security aspects to consider:

TL;DR: Paxmod is suitable for daily use, but you may want to disable auto-updates if you don't trust my future updates. See here for a longer answer.

Where did the titlebar go?

The inline titlebar is hidden by default, but you can re-enable it in the settings. If it doesn't integrate into the layout as expected, please file an issue. (Note that some environments don't support an inline titlebar at all.)

How are tab colors calculated?

Each tab color is generated dynamically from the favicon. A dominant color is extracted from the image and adjusted to an appropriate lightness per the Lab color space to ensure that all tab labels are legible. (You can tweak the lightness thresholds in the settings.)

Troubleshooting

I can't install the add-on.

If Firefox complains that the add-on isn't verified, you probably didn't turn extension signature checks off. Also note that this has no effect in the standard releases, which is why you need to use Firefox Developer or Nightly.

The inline titlebar causes glitches.

Especially on MacOS, the inline titlebar may not work as expected. In that case you need to enable the standard titlebar. (Open the burger menu (☰), click Customize and check Title Bar at the bottom.) Also, go to the addon settings and uncheck Display inline titlebar and Display titlebar spacers.

The layout looks off.

Paxmod is mainly tested on Linux, so there are most likely some quirks on MacOS or Windows that I'm not aware of. If in doubt, please file an issue. Your help is welcome.

Contributing

Use web-ext to develop locally. After cloning the repository, you can run Paxmod similar to this:

web-ext run --firefox /usr/bin/firefox-nightly --firefox-profile dev-paxmod

(Make sure you're in the project's root directory, and you're pointing to an existing Firefox binary.)

To build the addon, run:

make build

To release a new version, run:

version=0.0 make release