So I recently published an add-on to the Firefox Add-ons page. It's a simple add-on that allows you to right click on a link and open it on other window. I was inspired by an old XUL add-on "Window Master", which was discontinued after Mozilla deprecated all legacy add-ons and moving to webextension. I coded the first version quickly in one night, and it really shows how matured the webextension specification has become.
The old Window Master add-on was a one-for-all extension for using Firefox with multiple window setup. It features resizing window on a grid-like layout, moving window and tab between monitors, and opening link on other window. As Mozilla completely disabled legacy add-ons on FF 57, I was missing the functionality and ease-of-use that came from that add-on. Rebuilding it from scratch in webextension would be impossible since it heavily modify browser DOM and it was forbidden to do so in webextension. I was starting to accept that there will be no replacement of this add-on in near future, until I noticed that its features was implemented on multiple smaller add-ons.
So we are not doomed after all! Even though customization is limited (Window Master have a cool drag-able grid layout on context menu), as long as it fulfills the requirement concisely, I think it is acceptable as a replacement. After all, we are trading small freedom for security. I will expect the old all-in-one approach of legacy add-ons will be replaced by smaller, lighter, and feature-focused webextension add-ons.
And thus I tried to fulfill the gap by implementing one of the features. As mentioned before, I did once tried to reimplement Window Master when the news that the legacy add-ons will be discontinued was announced. I tried to learn how XUL add-on works and how to reimplement it on webextension, but the old XUL documentation is too complicated, while the new webextension docs wasn't quite complete yet, so I gave up. Now that the docs is complete (and the goal was to implement only one feature), I can learn how to do it easily and finish making the add-on just overnight. Now I'm thinking about implementing the last feature that haven't been implemented yet: moving window between monitors.
Kindly check my add-on, also my collection for people who works with multiple screen (which is actually all add-ons that implemented Window Master's features).