External Publication
Visit Post

Add-ons • Re: Working on a Greasemonkey fork for Pale Moon

Pale Moon forum - Forum index [Unofficial] May 29, 2026
Source

The biggest issue with restartless and web extensions I feel is the way they broke the basic architecture of separating UI code, event handling and internal logic. With XUL extensions, your entire UI is defined via static XUL files. You can strictly avoid even including onLoad references in the XUL file by simply having all event handlers load when the browser window opens and assign them by DOM references. The only reason to create UI via DOM manipulation would be if it were at runtime, e.g. if your extension includes items that the user may have created, and say you want to show them in a menu or combo box. Otherwise constant usage of document.getElementById() or createElement() everywhere only leads to ugly and unreadable code.

With XUL, every bit of your extension UI is loaded along with the browser (and may increase startup time somewhat depending on how many such extensions are installed) and I don't see having to restart the browser after an extension install or update as the end of the world*

Coming to uBO, the best thing a XUL version of it could do is to have the logger appear as a horizontal or vertical frame/sidebar similar to how Devtools can currently be shown. Not an easy change, of course.


Discussion in the ATmosphere

Loading comments...