GithubHelp home page GithubHelp logo

numirias / paxmod Goto Github PK

View Code? Open in Web Editor NEW
221.0 14.0 13.0 140 KB

๐Ÿ•Š๏ธ Firefox add-on for multi-row tabs and site-dependent tab colors

License: MIT License

JavaScript 73.26% CSS 8.43% HTML 7.59% Makefile 1.80% Shell 8.92%
firefox firefox-extension firefox-theme firefox-addon mozilla webextension multi-row-tabs tab-mix-plus

paxmod's Introduction

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

  • Use an up-to-date version of either Firefox Developer or Nightly.

  • Go to about:config and confirm these settings:

    Key Value
    xpinstall.signatures.required false (Why?)
    extensions.experiments.enabled true
  • Install Paxmod. (Download the .xpi file from here and load it in Firefox.)

Customization

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

Tips

  • If the inline titlebar causes glitches or you think it's wasting too much space, enable the standard titlebar.

  • On dark backgrounds I prefer bitmap fonts as they don't look as blurry. (The dark demo uses the Terminus font.)

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:

  • Disabling xpinstall.signatures.required allows unsigned extensions to run in the browser. However, you'll still be boldly warned and asked for confirmation whenever a site tries to install an unsigned add-on.
  • The bundled privileged APIs are encapsulated and can't be accessed by other extensions or websites. You're not extending the permissions you grant to Paxmod to anything else.
  • With auto-updates enabled, I could add malicious code in the future without you noticing. So if you don't trust me, consider disabling auto-updates for Paxmod and review new versions manually before installation.

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

paxmod's People

Contributors

flier268 avatar numirias avatar surapunoyousei avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

paxmod's Issues

Problems in FF Nightly 61.0a1 (2018-05-01) (64-bit)

Hello Dev,

I'm currently facing two problems with installation guide. I'm using Nightly 61.0a1 (2018-05-01) (64-bit) on Windows 10 1803 (30 April's Update). I enabled legacy extensions and disabled extension signature checks.

1st problem is Nightly says Stylesheet API (stylesheet-api-expiment-1.0.xpi) is corrupt and could not be installed.

2nd one is Paxmod (paxmod-1.3.xpi) is not compatible with Nightly 61.0a1.

I'm seriously dying to try out this awesome theme.

With love,
Kaiser.

Paxmod broken

My Firefox Dev has upgraded to 74.0b3 (64-bit) 20200214015126 and sadly no more multi row tabs.

I cannot install it. Firefox keep preventing installation

Because this extension is unsigned I cannot install it. Very frustrating.
I even set the 'xpinstall.signatures.required' option to false, but that still doesn't work.

I'm really desperately looking for multi-row tabs feature.

Help, help, help!

Settings export/import

Export/import settings in a file for handy crossover between platforms and computers.

Multiline tabs don't work anymore since the update

Since I've updated Paxmod (I don't remember on which version I was before, but I'm on 3.2 of the 6th October currently), the multiline tabs don't work.
Here's what I've got now:

image

On the left of the picture, you can see the left and right chevrons which have been added: Now if I want to see the far right tabs, I need to click on the right-oriented chevron (and conversely if I want the far left tabs)

How can I go back to the previous design of multilines tabs?
Thanks a lot in advance

My settings:
PaxMod 3.2
Firefox Nightly 71.0a1 (2019-09-20) (64-bit)
Manjaro 64 Bits

Custom CSS not functions

For some reason, even when I put the directory or try to import it in the custom css box, it doesn't seem to grab the colors. Oddly enough, it takes my gtk colors when I set the theme default in Firefox's customize page.

Close tab button

Hi again!

After complete reinstall of macos I reinstalled firefox and paxmod as well, inporting all settings.
But since enabling Paxmod tabbar changes properly but the "X" button completely disappears from all and every tab (http://prntscr.com/kadto0)
I tried several advice from internet - but nothing works. Any help?

Multi-row tabs no longer working on FF Developer 71.0b1

As the title states, after my FF updated the multi row tabs have turned into a single row with arrows to scroll back and forth. I've tried fiddling with the settings of paxmod and updating to the version released 10 or so days ago, neither of which worked.

The addon it self is in part working, the dynamic colours still work and the sizing of the tabs works but it won't add a second row.

Also I'm on Windows 10 (Build 18362) atm if that's a factor.

65.0a1 white tabs

Hello,
After update to newest FF i have problem that all rows are white (or white when i set up dark theme):

nightly_white

FF version: 65.0a1 (2018-11-08) (64-bit)
System: Linux

Look in to signing outside of AMO.

Paxmod relies on an "experimental API" that ships bundled with the add-on. Unfortunately, this means Mozilla won't sign the extension anymore and therefore it can't be distributed over the official channels.

Yes and no.

Mozilla won't sign the extension (through AMO), but iirc we can sign it ourselves.

iirc to sign it yourself, you need to have 2fa. Not sure what is accepted as 2fa (security questions, lol), I have yubikeys (what rn are the gold standard, what is also widely accepted), I'll give it a try.

https://support.mozilla.org/en-US/kb/add-on-signing-in-firefox

Top 1px of Title Bar Doesn't Highlight Tab Beneath It

To clarify the title, I'm talking about when a window is maximized (on Windows); when you place your mouse cursor at the very top of the screen directly above the tab you want to click.
Thanks for your hard work on this addon. Feel free to close this issue if it isn't possible to fix. Much love.

EDIT: This can be fixed by setting the tab height to 29, but maybe this could be fixed for the default height?

Variables rename (make it more understandable)

I also suggest you to rename and make more obvious names used (like toolbar_top_separator or Default tab sixe10% or Min tab color lightness etc.) to make it more clear what are exactly changing (it is ok to remove redundant ones that doen't change any visible things). E.g. "Active Tab", "Hovered Tab", "Address line background color", "Toolbar button hovered" or something like this. Or make any popups to explain it.
As for me ( http://prntscr.com/jklqc8 ), for example, I would like to change color of separator on Bookmarks toolbar, as it is looks a bit messy, and separator is just invisible. I'm not a developer, so I can't really guess which value I need to change or address it directly via css styles etc...

Firefox 61 - don't work

Hi,
Today after update to FF 61, paxmod don't work.
All tabs i have in one line.
I downgrade to FF 59 and start to work.

Future of Paxmod

A couple of notes, in case you're using Paxmod:

Since Firefox regularly introduces UI changes that require patches in Paxmod, it's quite time-consuming to keep the add-on working. Therefore, in the new releases, I'm just focusing on the few core features and I've dropped a lot of other stuff - most of which was implemented at a time where the default UI was more painful to use and the available WebExtensions APIs weren't very powerful.

What stays:

  • Multiple tab rows
  • Site-dependent tab colors
  • Some customization knobs (and the ability to add custom CSS)

What's gone:

  • UI tweaks, theming and color settings. By now, Firefox has a pretty good theme infrastructure and makes it easy to build your own themes. Also, rearranging stuff and changing the UI density under Customize works pretty well anyway.

(FWIW, I've also started working on a small add-on to customize themes ad-hoc, so if you're missing the ability to quickly adjust colors in the settings, maybe that'll help (once it's done).)

Inline title bar and collapses

That what happened in MacOS after title bar update: http://prntscr.com/jlgx6p

And here are some snaps of other collapses an glitches:

tbh I'd personally prefer having 3buttons in top-left on MacOS, but not to waste additional space on titlebar as it is after update 2.4, so I reverted to 2.3 and it looks ok for me (http://prntscr.com/jlh332).

Regarding glitches - they disappeared after uninstalling your mod, reopening Nightly, and reinstalling mod again. SO maybe there is any chance that some kind of "reset mod" button can sort this out.

Adjust layout for Windows and Mac

Currently, the layout doesn't look as compact as in in the demo images on Windows and Mac due to OS-specific UI (close button, etc.). This will be fiddly, but it needs to be done.

Theme color vars will be renamed in FF >= 69

Right now, it's just warnings, e.g.:

Error processing colors.textcolor: Please use <em>theme.colors.tab_background_text</em>, this alias will be removed in Firefox 69.

But we should update to use the new var names soon.

Max tab width

Max tab width no longer respected on FF nightly 72.0a1 build 20191111215252, Paxmod 3.2
First tab on 2nd row is full width.
Thank you

Windows 10 user with issues on firefox developer edition

Version 61.0b2
Build ID 20180503152818
Update Channel aurora
User Agent Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0
OS Windows_NT 10.0

The extension appears to be doing nothing. Configuration page is available, and loading defaults seems to load what is correct values but there is no change in theme or appearance. I am using a seperate profile for the development browser from the normal firefox browser, as is default for firefox developer edition.

Paxmod 1.4 true paxmod@numirias

also this is my first time submitting an issue on github for the record, but I'm willing to follow through on what appears to be a great theme.

Disable switching tab with the mouse wheel

There's a feature that I'm not used to and I'd prefer to not have it actually: It is the "tab switching thanks to the mouse wheel":
If you position the mouse pointer on a tab title, and then use the mouse wheel, you will switch immediately from one tab to another (in a circle).
How can I disable it? Thanks a lot in advance

Title bar bottom of the window?

Is it possible to add option to select the tab bar position? I am used to bottom of the window and would be nice to have the same option for this excellent extension also.

Multi-Row Broken Again [As of March 30th-2020 FF Nightly Update]

Summary: Tab resizing works this still, but won't move to another row.

Details: Hit the update firefox button, and when it restarted, all tabs were on one line again. Did some tinkering with the CSS fixes before, and noticed all the tab width options do seem to work. It's just they all get stuck on the same row anyway. I double checked the config to make sure the experimental values were still checked as true; and they are. Not sure where to go from here.

Windows 10 Pro x64, FF Nightly 76.0a1 (2020-03-30)
Also tested on: FF Nightly 76.0a1 (2020-03-31) (64-bit) - so no change in overnight.

Button to switch to light theme

Hi,

Like we speak on reddit there will be great to switch between dark and light theme.
Now users can style this manually, but for most do this like on screen is very hard.

+ Open new Tab is not being displayed

Hello, I have the firefox version 67.0b14 (64-bit) and I've noticed that the "+" for opening new tabs has "disappeared".

I've tried changing some settings on the customize menu, but without any success.

image

Tab dragging

It seems there is some trouble in dragging tabs from top to bottom row (from bottom to top works well for me)

Consider using theme API to simplify extension

You can use:

browser.theme.update({
  colors: {
    accentcolor: ...,
    textcolor: ...,
    toolbar_field: ...
  }
});

While you can only change colors (not the layout or the fonts), the main benefit is that you can get rid of most of your options sheet since browser.theme.update() will update some internal variables that you can re-use in your browser.css stylesheet.

All the stuff you can style can be found here: https://developer.mozilla.org/en-US/Add-ons/WebExtensions/manifest.json/theme#colors

This will remove a good amount of CSS in browser.css as well :)

New tab ("+") tool always on its own line

Since the last update today (it's now version 66.0b2 (64-bits) I've noticed a change in the tab sections:
Before, the New Tab ("+") tool to open new tab was in continuity of the tabs just before, on the same line.
I've received an update today apparently (I had to restart Firefox dev) (now it's 66.0b2 (64-bits)):

image

and this is what happens with the New tab ("+") tool. Even though the tab line is not full, the "+" is always on its own line.

First pinned tab is not displayed, when window is maximized.

Describe the bug
Please clearly describe the bug and how it can be reproduced. Add screenshots, if necessary.
Not maximized:
Screenshot from 2019-12-28 19-23-33
Window is maximized:
Screenshot from 2019-12-28 19-23-15

Environment
State your OS, Firefox, Paxmod version, etc. (You can just go to about:support and paste the information here.)
Fedora 31, Firefox 72.0b11 (20191227034945),
Paxmod settings:

"displayCloseButton": false,
"displayNewtab": false,
"displayPlaceholders": false,
"displayTitlebar": true,
"enableIconColors": false,
"fontFamily": "inherit",
"fontSize": "15",
"maxLightness": "100",
"maxTabSize": "60",
"minLightness": "59",
"minTabHeight": "28",
"minTabSize": "60",
"roundedCorners": true,
"tabSize": "10",
"userCSS": "",
"userCSSCode": ""

Tab compression

image
I'd expect a new row to be made, when normally firefox would display the tab scrolling arrow, currently all tabs could be fit on one row.

  1. Make the tabs smaller until a set minimum of a tab's width (compression)
    Screenshot from 2019-12-03 17-28-19
  2. When firefox normally shows you the tab scrolling arrows, then go to a new row instead.
    Screenshot from 2019-12-03 17-28-33
  3. illustrating expected behaviour:
    image

Related: #44 (but essentially the opposite of this issue)

Multiple CSS fixes required for FF >= 67

In Firefox Nightly 67.0a1, the UI CSS is partially broken.

Notably:

  • The tab label jumps when reloading a site
  • Tab widths are fixed (don't shrink)
  • Hovering over a tab causes the tab bar to jump

Tab colors based on the current domain

Hi numirias,

I am wondering if it would be possible to integrate into paxmod the functionality of Colorful Tabs prior to the introduction of Firefox Quantum. Basically what I would like to be able to do, is specifying a tab background color based on the current domain. This is very helpful for me, to quickly distinguish between different environment, e.g. testing vs production.

I also tried installing an older version of Colorful Tabs the same way I had to install paxmod, but the xpi was classified as corrupted.

I know this might not be the right place to discuss such problems, but I did not find another way to contact you.

Thank you for your time.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.