Working on a Greasemonkey fork for Pale Moon
Moderators: FranklinDM, Lootyhoof
-
moonbat
- Knows the dark side

- Posts: 5918
- Joined: 2015-12-09, 15:45
Re: Working on a Greasemonkey fork for Pale Moon
Especially given the current fashion of having a bazillion tabs open all the time.
"One hosts to look them up, one DNS to find them and in the darkness BIND them."

KDE Neon on a Slimbook Excalibur (Ryzen 7 8845HS, 64 GB RAM)
AutoPageColor|PermissionsPlus|PMPlayer|Pure URL|RecordRewind|TextFX
Jabber: moonbat@hot-chili.net

KDE Neon on a Slimbook Excalibur (Ryzen 7 8845HS, 64 GB RAM)
AutoPageColor|PermissionsPlus|PMPlayer|Pure URL|RecordRewind|TextFX
Jabber: moonbat@hot-chili.net
-
back2themoon
- Knows the dark side

- Posts: 3316
- Joined: 2012-08-19, 20:32
Re: Working on a Greasemonkey fork for Pale Moon
Off-topic:
As for the rest, it certainly feels like you already know what the best path is: exploit THIS platform's strengths avoiding extra, unnecessary maintenance where possible i.e. don't make this more difficult than it already is.
Of course, if you can use good part of the work being done on the current uBO then it'd make sense not to ignore it.
Since the original developer wants absolutely nothing to do with any "Legacy" version, I think this should be the least of your worries. If anything, the more you distance your fork (name included) from the original developer, the happier he'd be (I assume). It is really a non-issue.
As for the rest, it certainly feels like you already know what the best path is: exploit THIS platform's strengths avoiding extra, unnecessary maintenance where possible i.e. don't make this more difficult than it already is.
Of course, if you can use good part of the work being done on the current uBO then it'd make sense not to ignore it.
Improve Pale Moon performance • Safe Mode / clean profile test info
How to auto-fill passwords • How to apply user agent overrides
Information to include when asking for support
Using: SSE2 build (thanks Nuck-TH) • W10 Pro x64
How to auto-fill passwords • How to apply user agent overrides
Information to include when asking for support
Using: SSE2 build (thanks Nuck-TH) • W10 Pro x64
-
sinfulosd
- Fanatic

- Posts: 113
- Joined: 2022-07-13, 03:01
Re: Working on a Greasemonkey fork for Pale Moon
In case if you don't know, uBlock Origin was not developed by the original developer (Gorhil) alone - even when he forked it to "uBlock Origin", he was still getting help from a team of developers and some contributors.
Secondly, developing uBlock Origin in a restartless fashion on Pale Moon/UXP platform would be a lot more complicated, since you'll be dealing with memory leaks, zombie compartments, race conditions, etc... Developing it on WebExtensions, on the other hand, it:
- Runs in a separate, sandboxed JavaScript environment with no direct access to browser chrome.
- Uses a declarative manifest (manifest.json) where the browser itself manages lifecycle, event registration, and resource cleanup.
- Has limited, well-defined APIs — it can’t overlay XUL, register XPCOM components, or touch internal objects.
- is automatically torn down by the browser when disabled/uninstalled, with no way for the extension to leave dangling references in the main process.
If someone were to develop an extension as big as uBlock Origin on Pale Moon, they would be spending 3x the effort of what was spent on the upstream version, if they were to develop it in restartless fashion on UXP-based browsers.
In my opinion, it's much preferable to balance in making an extension complicated, but simple in installation, or have only one function, but offering the convenience of not having to restart the browser just to unlock this one function.
Windows 11
Pale Moon 34.3.0, Firefox 151.0.3, Ungoogled Chromium 148.0
Developing and maintaining Greasemonkey for UXP
Pale Moon 34.3.0, Firefox 151.0.3, Ungoogled Chromium 148.0
Developing and maintaining Greasemonkey for UXP
-
sinfulosd
- Fanatic

- Posts: 113
- Joined: 2022-07-13, 03:01
Re: Working on a Greasemonkey fork for Pale Moon
Yeah, it would not make any sense at all if someone were to develop an extension, called "uBlock Origin" when it's not from the original developer, nor did he even endorse it.back2themoon wrote: ↑2026-05-29, 13:07Since the original developer wants absolutely nothing to do with any "Legacy" version, I think this should be the least of your worries. If anything, the more you distance your fork (name included) from the original developer, the happier he'd be (I assume). It is really a non-issue.
Yup, this adds more overhead in the development of the extension on Pale Moon. I'm starting to feel more pessimistic of the development of such complicated extension already.
Windows 11
Pale Moon 34.3.0, Firefox 151.0.3, Ungoogled Chromium 148.0
Developing and maintaining Greasemonkey for UXP
Pale Moon 34.3.0, Firefox 151.0.3, Ungoogled Chromium 148.0
Developing and maintaining Greasemonkey for UXP
-
Falna
- Astronaut

- Posts: 556
- Joined: 2015-08-23, 17:56
- Location: UK / France
Re: Working on a Greasemonkey fork for Pale Moon
Maybe I've missed your point, but just give it another name? adBlock Moon / sBlock / BlockIt / etc...
Forked extensions :
● Add-ons Inspector ● Auto Text Link ● Copy As Plain Text ● Copy Hyperlink Text ● FireFTP button replacement ● gSearch Bar ● Navigation Bar Enhancer ● New Tab Links ● Number Tabs ● Print Preview Button and Keyboard Shortcut 2 ● Scrollbar Search Marker ● Simple Marker ● Tabs To Portfolio ● Update Alert ● Web Developer's Toolbox ● Zap Anything
Hint: If you expect a reply to your PM, allow replies...
-
Nigaikaze
- Board Warrior

- Posts: 1354
- Joined: 2014-02-02, 22:15
- Location: Chicagoland
Re: Working on a Greasemonkey fork for Pale Moon
MoonBlock.
Nichi nichi kore ko jitsu = Every day is a good day.
-
sinfulosd
- Fanatic

- Posts: 113
- Joined: 2022-07-13, 03:01
Re: Working on a Greasemonkey fork for Pale Moon
I'd have to think of a name, come up with a extension logo, depending on how much I'll be diverging from the upstream version, I might have to come up with a wiki page for it, etc...
Too much hassle for dear old me. If it was up to me, I'd much rather handle the back-end of the extension, rather than dealing with the UI.
This is something you'd expect from a core Pale Moon developer deciding to create an exclusive content blocker for Pale Moon, not from some guy who wants a functional upstream version of an extension to work on another platform. Plus, I don't really like the name - what does it even mean, is the extension supposed to block moonlight?!
Windows 11
Pale Moon 34.3.0, Firefox 151.0.3, Ungoogled Chromium 148.0
Developing and maintaining Greasemonkey for UXP
Pale Moon 34.3.0, Firefox 151.0.3, Ungoogled Chromium 148.0
Developing and maintaining Greasemonkey for UXP
-
back2themoon
- Knows the dark side

- Posts: 3316
- Joined: 2012-08-19, 20:32
Re: Working on a Greasemonkey fork for Pale Moon
Off-topic:
As for the name, I still prefer someone's older suggestion for JustBlock, as a tribute to JustOff. In any case, the name is totally up to you. You could always create a poll if you wish.
Absolutely no reason for more overhead/pessimism here. It does look like you missed this point, which is... it doesn't matter whether you follow previous, original patterns... or not.
As for the name, I still prefer someone's older suggestion for JustBlock, as a tribute to JustOff. In any case, the name is totally up to you. You could always create a poll if you wish.
Improve Pale Moon performance • Safe Mode / clean profile test info
How to auto-fill passwords • How to apply user agent overrides
Information to include when asking for support
Using: SSE2 build (thanks Nuck-TH) • W10 Pro x64
How to auto-fill passwords • How to apply user agent overrides
Information to include when asking for support
Using: SSE2 build (thanks Nuck-TH) • W10 Pro x64
-
UCyborg
- Board Warrior

- Posts: 1154
- Joined: 2019-01-10, 09:37
- Location: Slovenia
Re: Working on a Greasemonkey fork for Pale Moon
frostknight wrote: ↑2026-05-28, 19:27Please do, the fork we have currently is moving slow as molasses.
Off-topic:
It's...standing still.
I have these rare sort of manic periods when I'm able to stay focused on one particular thing for a while...but it wanes.
Working on uBO is incredibly time consuming, incredibly mundane, incredibly boring and incredibly frustrating.
And honestly, I'm very tired from just trying to keep myself afloat. As if reasons above weren't enough, being constantly tired from work, never truly able to re-charge doesn't help.
Consider current fork stopgap solution until something better arrives (if ever).
It's...standing still.
I have these rare sort of manic periods when I'm able to stay focused on one particular thing for a while...but it wanes.
Working on uBO is incredibly time consuming, incredibly mundane, incredibly boring and incredibly frustrating.
And honestly, I'm very tired from just trying to keep myself afloat. As if reasons above weren't enough, being constantly tired from work, never truly able to re-charge doesn't help.
Consider current fork stopgap solution until something better arrives (if ever).
The Merovingian wrote:Choice is an illusion, created between those with power, and those without.
-
andyprough
- Forum staff

- Posts: 1674
- Joined: 2020-05-31, 04:33
Re: Working on a Greasemonkey fork for Pale Moon
Two thoughts:sinfulosd wrote: ↑2026-05-29, 15:06I'd have to think of a name, come up with a extension logo, depending on how much I'll be diverging from the upstream version, I might have to come up with a wiki page for it, etc...
Too much hassle for dear old me. If it was up to me, I'd much rather handle the back-end of the extension, rather than dealing with the UI.
1) gorhill has already put his stamp of approval on "uBlock-for-firefox-legacy", which others have forked without incident, not just UCyborg and JustOff. Could this simply be the most advanced of the uBlock-for-firefox-legacy forks? Seems like it could live in that space for a bit if it makes technical sense.
2) If not, you could still just handle the back-end of the extension, roll it out as a kind of basic beta with no particular new UI or naming or logo or wiki work, and then some of our creative users could possibly jump in with ideas for pull requests to fill in the gaps. Then it could be a team project, with different contributors focusing on their area of talent and creativity.
-
athenian200
- Contributing developer

- Posts: 1940
- Joined: 2018-10-28, 19:56
- Location: Georgia
Re: Working on a Greasemonkey fork for Pale Moon
This is a really good idea, and actually what I did for Epyrus. I didn't come up with the name, logo, or branding myself... other people in the community came up with those and gave them to me to use for my project. I'm sure the same could be done here.andyprough wrote: ↑2026-05-29, 22:182) If not, you could still just handle the back-end of the extension, roll it out as a kind of basic beta with no particular new UI or naming or logo or wiki work, and then some of our creative users could possibly jump in with ideas for pull requests to fill in the gaps. Then it could be a team project, with different contributors focusing on their area of talent and creativity.
"Linux makes everything difficult." -- Lyceus Anubite
"Linux is a cancer that attaches itself in an intellectual property sense to everything it touches. That's the way that the license works." -- Steve Ballmer
"We always overestimate the change that will occur in the next two years and underestimate the change that will occur in ten." -- Bill Gates
"Linux is a cancer that attaches itself in an intellectual property sense to everything it touches. That's the way that the license works." -- Steve Ballmer
"We always overestimate the change that will occur in the next two years and underestimate the change that will occur in ten." -- Bill Gates
-
frostknight
- Board Warrior

- Posts: 1069
- Joined: 2022-08-10, 02:25
Re: Working on a Greasemonkey fork for Pale Moon
Freedom is never more than one generation away from extinction. Feelings are not facts
If you wish to be humbled, try to exalt yourself long term If you wish to be exalted, try to humble yourself long term
Favourite operating systems: Hyperbola Devuan OpenBSD
Say NO to Fascism and Corporatism as much as possible!
Also, Peace Be With us All!
If you wish to be humbled, try to exalt yourself long term If you wish to be exalted, try to humble yourself long term
Favourite operating systems: Hyperbola Devuan OpenBSD
Say NO to Fascism and Corporatism as much as possible!
Also, Peace Be With us All!
-
Gemmaugr
- Keeps coming back

- Posts: 786
- Joined: 2025-02-03, 07:55
Re: Working on a Greasemonkey fork for Pale Moon
Since we already have ηMatrix, what about ηBlock Origin?
||OS: Win 10 | CPU: i7 10700 | GPU: GeForce RTX 3070||
"Judge a person not by their superficial identity attributes, but by the content of their character."
"Organized Identity Politics are the bane of civilized society."
"Judge a person not by their superficial identity attributes, but by the content of their character."
"Organized Identity Politics are the bane of civilized society."
-
sinfulosd
- Fanatic

- Posts: 113
- Joined: 2022-07-13, 03:01
Re: Working on a Greasemonkey fork for Pale Moon
Off-topic:
I think I have decided on the design choices and what will happen with the project:
Now, depending on how much help am I gonna get, this extension might finish its development in 1-3 months or in a year - I'll be documenting everything that I can through the forum and through my GitHub repo of the extension. I encourage all the help and PRs that can be added into the extension - I don't assume this project to be all mine or I'll be the one taking all the credit for, if I'm gonna get all the help that I can get to accelerate the development.
I'm documenting the changes and design choices, so that atleast if someone were to ever take my place in the development of this extension, they wouldn't start from scratch and would be aligned with the original design choices or maybe think of superior choices to replace mine. I of course kindly ask to not be pressured into the development and the maintenance of the extension, since not only it's the biggest project that can ever be taken on this platform, but I also maintain another extremely important extension as well.
I figured I'd also post some sneak-peak into the development of the extension: The first screenshot, I just added a temporary placeholder name, until I settle with a main one. The second screenshot shows a total of 328,401 network filters + 103,592 cosmetic filters, instead of the current data of 166,628 network filters + 42,609 cosmetic filters from uCyborg's fork of 1.16.6.1
I think I have decided on the design choices and what will happen with the project:
- The extension will remain restartless - it turns out that the extension has to be restartless, because it's too dynamic to be an overlay one - Filter lists reload, dynamic rules toggle, per-tab counters update constantly. The extension mutates every single second and the overlay method won't really make sense with it.
- The UI will resemble how it currently look like on Pale Moon ("legacy" look); I have tested the chrome-like look on Pale Moon and it didn't look in-place at all, especially with other extensions in use. However, it'll have the same QoL features that exist on the upstream version, i.e. Dark mode, "Uncloak canonical names", etc...
- The extension will keep using HTML files; It's not a secret that I would need contributors to help in the development of the extension, and redesigning the UI to be completely in XUL files would alienate anyone below the age of 35. Also, Having the UI made in XUL would give us some advantages, like native menulists/checkboxes, automatic theme inheritance, native scrollbars, slightly better keyboard nav, but the cost is enormous, especially with designing something like the logger and I also don't think that XUL has '<input type="text">' equivalent that supports CodeMirror and the filter editors need CodeMirror. So we'd end up with a hybrid XUL-shell-around-HTML-editor anyway. Maybe it'll be something we'd reconsider in the future, but for now, we just want the upstream to be ported to even have a working one in the first place.
- The extension can diverge from the upstream version a bit - the original developer himself have the Firefox version diverged a bit from Chrome, because Firefox simply offered a bit more features to use. Going with that logic, we could also utilize XPCOM's more permissive environment in the extension's good use. The divergence won't happen in the blocking engine at all, this is the main selling point of the extension. The divergence will happen in other corners of the extension, making it have cleaner code - I was thinking of adding some features that couldn't exist in the upstream version, like skipping compression to have faster startup, use native DNS to uncloak CNAME faster, use 'nsIChannelEventSink' directly to avoid rate-limiting mechanism that exist on the upstream version, etc...
Now, depending on how much help am I gonna get, this extension might finish its development in 1-3 months or in a year - I'll be documenting everything that I can through the forum and through my GitHub repo of the extension. I encourage all the help and PRs that can be added into the extension - I don't assume this project to be all mine or I'll be the one taking all the credit for, if I'm gonna get all the help that I can get to accelerate the development.
I'm documenting the changes and design choices, so that atleast if someone were to ever take my place in the development of this extension, they wouldn't start from scratch and would be aligned with the original design choices or maybe think of superior choices to replace mine. I of course kindly ask to not be pressured into the development and the maintenance of the extension, since not only it's the biggest project that can ever be taken on this platform, but I also maintain another extremely important extension as well.
I figured I'd also post some sneak-peak into the development of the extension: The first screenshot, I just added a temporary placeholder name, until I settle with a main one. The second screenshot shows a total of 328,401 network filters + 103,592 cosmetic filters, instead of the current data of 166,628 network filters + 42,609 cosmetic filters from uCyborg's fork of 1.16.6.1
You do not have the required permissions to view the files attached to this post.
Windows 11
Pale Moon 34.3.0, Firefox 151.0.3, Ungoogled Chromium 148.0
Developing and maintaining Greasemonkey for UXP
Pale Moon 34.3.0, Firefox 151.0.3, Ungoogled Chromium 148.0
Developing and maintaining Greasemonkey for UXP
-
Enobarbous
- Fanatic

- Posts: 122
- Joined: 2022-12-06, 17:44
Re: Working on a Greasemonkey fork for Pale Moon
Well, now I kind of regret not having had a chance to test the beta version, because I have a few comments for 3.7.0 (tested on pm 34.2.2)sinfulosd wrote: ↑2026-05-25, 21:58Edit: Nevermind, I just decided to release 3.7.0 as a stable release instead of making a second edition of the beta release, since I haven't really made risky changes and the first beta access had no issues with anyone using it.
Let's hope that it is indeed stable and won't introduce any new bugs - fingers crossed
1) If PM is open in a window less than 1320px wide, part of the content on the add-ons page overflows - pic
It's worse if the localized version is used (and that's without translating new text; words in Russian and many other languages are longer than in English) - pic
2) There are a few issues with the new "Options" window:
- I saw in the code that you tried to fix the problem of content overflowing the window edges when lines are too long, but it doesn't seem to have worked - here's what I get for the test example - pics
- The "disabled this script rules and only use..." checkbox should be moved from the "Script-declarated" section to the "Pages" section - this would make more sense from a UI perspective;
- In the "Script-declared" section, the lists of sites for which the script is enabled are too narrow - any domain longer than 5 characters is simply truncated, and you have to hover over each line to get information that should be available at a glance; - pic
3) If I understand the idea of the new "Options" window correctly, it's designed to provide all the important information about a script without opening the code, right? If so, I'd suggest moving the "Page" section to a new tab, like "Value", since it's not part of the script's basic information, but rather extends or replaces it.
4) I would like to ask you to move the text "gm-recover-orphans" to the DTD. Regardless of how rarely this link is likely to appear (I saw it three times during testing), leaving untranslatable text in the interface doesn't feel right.
Is that everything? I have a couple more feature requests, but those can wait.
Oh, one more quick question - are you planning any text updates in the extension anytime soon, or can I create a PR with the translation update?
And thank you so much for taking on greasemonkey support. Even though I made some changes to my local copy, every time I've had to make a major change, I've looked at this pile of disparate code and given up.
Off-topic:
There are really only two changes:
- The window background isn’t pure white - it looks a little better with the default PM theme and much better with a dark theme;
- the icons are more contrasting - I don't know who decided that monotone gray-on-white/gray-on-gray icons are easy to read, but they were very, *very* wrong...
And yes, I realize it looks pretty similar to ublock in Chrome, but I really didn’t copy it
Can I offer a few thoughts? I'm using a style to slightly change the ublock interface - picOff-topic:
I think I have decided on the design choices and what will happen with the project:
- The UI will resemble how it currently look like on Pale Moon ("legacy" look); I have tested the chrome-like look on Pale Moon and it didn't look in-place at all, especially with other extensions in use. However, it'll have the same QoL features that exist on the upstream version, i.e. Dark mode, "Uncloak canonical names", etc...
- The window background isn’t pure white - it looks a little better with the default PM theme and much better with a dark theme;
- the icons are more contrasting - I don't know who decided that monotone gray-on-white/gray-on-gray icons are easy to read, but they were very, *very* wrong...
And yes, I realize it looks pretty similar to ublock in Chrome, but I really didn’t copy it
Just ignore us) Since the current version of ublock legacy can't be called completely broken, you have no reason to rush.of course kindly ask to not be pressured into the development and the maintenance of the extension, since not only it's the biggest project that can ever be taken on this platform, but I also maintain another extremely important extension as well.
You do not have the required permissions to view the files attached to this post.
I am sorry for the use of auto-translator to post
-
sinfulosd
- Fanatic

- Posts: 113
- Joined: 2022-07-13, 03:01
Re: Working on a Greasemonkey fork for Pale Moon
I would've definitely wanted to hear your feedback, before releasing 3.7.0 as a stable release, but it's okay - the issues you are mentioning I was already thinking of refining them anyways.Enobarbous wrote: ↑2026-05-31, 17:48Well, now I kind of regret not having had a chance to test the beta version, because I have a few comments for 3.7.0 (tested on pm 34.2.2)sinfulosd wrote: ↑2026-05-25, 21:58Edit: Nevermind, I just decided to release 3.7.0 as a stable release instead of making a second edition of the beta release, since I haven't really made risky changes and the first beta access had no issues with anyone using it.
Let's hope that it is indeed stable and won't introduce any new bugs - fingers crossed
I was thinking of removing "Get user scripts" label that does nothing but taking you to a webpage, and maybe make the "New User Script" label behave like the one that exist on Violentmonkey, Giving you the choice of either going to Greasyfork or OpenUserJS, or create a userscript on your own - possibly shortening the label to just "New...". This will be one of the main steps that I will be taking onto the next stable release of the extension.
I will also see if there's something that can be done with the new search bar that I introduced that, despite it makes a big difference, but the UI could use a bit more refinement (I didn't bother much with the UI refinement as I was more busy in shipping the main feature anyways - I was tackling with the per-script option redesign, during that period anyways).
That is an option that I may experiment with it and see what would be more suitable to go with - Although I'm a bit skeptical on making the panel in two rows, possibly making the page look a bit...bulky.Enobarbous wrote: ↑2026-05-31, 17:48I would suggest either making the panel two rows, or creating two panels: keep the sorting panel at the top, and move "new user script" and so on to a new panel at the bottom of the view-port.
Honestly, that was the one mechanism where I was having a hard time the most in designing. I might just accept the defeat and just put a scroll-side at the bottom, in case if that issue were to happen.Enobarbous wrote: ↑2026-05-31, 17:482) There are a few issues with the new "Options" window:
- I saw in the code that you tried to fix the problem of content overflowing the window edges when lines are too long, but it doesn't seem to have worked - here's what I get for the test example
Will do these changes, since what you said do make sense. And yes, I am aware of the domains in the "Scriot-declared" section being too narrow, I decided to add a tooltip for them, but I guess this is not a clean-design approach and I should just try not to compact everything in one place and just make tabs for each.Enobarbous wrote: ↑2026-05-31, 17:48- The "Pages" section should be renamed to "User pages" or something similar - to more clearly indicate that it's not part of the original script;
- The "disabled this script rules and only use..." checkbox should be moved from the "Script-declarated" section to the "Pages" section - this would make more sense from a UI perspective;
- In the "Script-declared" section, the lists of sites for which the script is enabled are too narrow - any domain longer than 5 characters is simply truncated, and you have to hover over each line to get information that should be available at a glance;
I added this mechanism as a last-second-feature before releasing the extension, because it was an issue that I was facing and I figured that a lot of others might face it as well and they wouldn't know. Wait, you've seen it three times?! Whelp, I guess I have to do something about it now, since I never thought it would be this common - I only thought it'll appear like once every new version or something.Enobarbous wrote: ↑2026-05-31, 17:484) I would like to ask you to move the text "gm-recover-orphans" to the DTD. Regardless of how rarely this link is likely to appear (I saw it three times during testing), leaving untranslatable text in the interface doesn't feel right.
Feature requests are also welcome into the extension and I would much rather for every single point you'd have or anyone that have for me to just type them all to me - I'm not really fond of releasing a new version of the extension every week and would much rather fix as much as I can in one release and then release a new version, when necessary, every couple of weeks or something.Enobarbous wrote: ↑2026-05-31, 17:48Is that everything? I have a couple more feature requests, but those can wait.
Oh, one more quick question - are you planning any text updates in the extension anytime soon, or can I create a PR with the translation update?
I am indeed planning some text updates. You are more than welcome to keep up with the updates on the GitHub repo and I'd be incredibly grateful for any contribution that would both make the extension better and give the contributor more comfortability in contributing more in the extension as time goes on.
Every single person said that about this black-box of a source code (Myself included), and honestly, if it wasn't for my no-secret usage of Claude explaining to me the architecture of the source code, I would've also gave up or took a lot more time in developing my own fork of it. The good news is, now that I've changed the architecture of the extension, it should be MUCH easier to read, encouraging the people to contribute into the extension.Enobarbous wrote: ↑2026-05-31, 17:48And thank you so much for taking on greasemonkey support. Even though I made some changes to my local copy, every time I've had to make a major change, I've looked at this pile of disparate code and given up.
I'll finish my IRL tasks and then I'll continue working on a new version of Greasemonkey for UXP. I'll be adding your feedback on a notepad of mine and I'll tackle these features, once I'm free to do so. Again, make sure to write all of your feedback, either on this forum post or my GitHub "Issues" tab and I'll keep having them on a note to tackle them later.
Windows 11
Pale Moon 34.3.0, Firefox 151.0.3, Ungoogled Chromium 148.0
Developing and maintaining Greasemonkey for UXP
Pale Moon 34.3.0, Firefox 151.0.3, Ungoogled Chromium 148.0
Developing and maintaining Greasemonkey for UXP
-
Enobarbous
- Fanatic

- Posts: 122
- Joined: 2022-12-06, 17:44
Re: Working on a Greasemonkey fork for Pale Moon
I also considered the drop-down menu option, but I think it adds an unnecessary step. In my opinion, it’s better to just remove the "get user script" button (and the corresponding items in the Greasemonkey button’s drop-down menu) and include a list of sites where scripts can be found in the readme. If we start listing every possible script source site in the UI, where will we stop?
This is just a quick prototype, so...Although I'm a bit skeptical on making the panel in two rows, possibly making the page look a bit...bulky.
The 2-row panel really doesn't look very good. - pic
There's no need to make such sacrificesHonestly, that was the one mechanism where I was having a hard time the most in designing. I might just accept the defeat and just put a scroll-side at the bottom, in case if that issue were to happen.Enobarbous wrote: ↑2026-05-31, 17:482) There are a few issues with the new "Options" window:
- I saw in the code that you tried to fix the problem of content overflowing the window edges when lines are too long, but it doesn't seem to have worked - here's what I get for the test example
Code: Select all
.prefs-meta-value {
width: 0;
min-width: 0;
}Code: Select all
.prefs-meta-value {
min-width: 1px;
}Alternatively, you can simply avoid setting "flex=1" for the <description> element - you have a hard-coded window size that cannot be changed, and manually calculating the width isn't that difficult.
Also, you don’t need to use <window> for #greasemonkey-script-preferences. You can use <dialog> and set the window size via css (as is done for #greasemonkey in install.css)
Again, here's a quick prototype - pic's...and I should just try not to compact everything in one place and just make tabs for each.
Alright, I'll try to gather my thoughts and my edits together into a coherent proposal in a couple of days ))Feature requests are also welcome into the extension and I would much rather for every single point you'd have or anyone that have for me to just type them all to me - I'm not really fond of releasing a new version of the extension every week and would much rather fix as much as I can in one release and then release a new version, when necessary, every couple of weeks or something.
You do not have the required permissions to view the files attached to this post.
I am sorry for the use of auto-translator to post
-
sinfulosd
- Fanatic

- Posts: 113
- Joined: 2022-07-13, 03:01
Re: Working on a Greasemonkey fork for Pale Moon
It won't really be an unnecessary step, it would actually be a lot more convenient for people to just browse through the about:addons page to click at the drop-down menu to access any of the 3 websites to install any script they want (Gist/GitHub, Greasyfork, and OpenUserJS). If someone just want to jump straight ahead into creating their own userscript, they could just do it through the extension toolbar's drop-down menu and click "New User Script..." right away, just like how it is designed on Violentmonkey and Tampermonkey.Enobarbous wrote: ↑2026-06-01, 20:17I also considered the drop-down menu option, but I think it adds an unnecessary step. In my opinion, it’s better to just remove the "get user script" button (and the corresponding items in the Greasemonkey button’s drop-down menu) and include a list of sites where scripts can be found in the readme.
The "every possible script source site" are only 2, right now. (GitHub doesn't really count - it just hosts many projects, including userscripts) being the most popular one is Greasyfork. I don't see anyone creating an entire website to host userscript database that would rival Greasyfork anytime soon.Enobarbous wrote: ↑2026-06-01, 20:17If we start listing every possible script source site in the UI, where will we stop?
They both do not sit well with me, to be honest. I don't know if it's because I'm not used to that UI or because my browser window is bigger than 1320px wide, but the majority of the userscript manager audience do not have to compromise, if their window is able to fit that many labels. However, I do agree that the current page looks to be a bit crowded and I am hoping that the changes that I've mentioned would free up some space. I'll still look for some more alternatives that I could introduce into the extension - I'm thinking of adding some preferences that would enable/disable some functions that the users may or may not need, maybe you could utilize that in decluttering the page UI. I could also make the page behave differently, depending on how few the pixels are (which in this case could be lower than 1320px) - I'll see what I can do and which one looks more pleasant in the eyes.
Wow...It was that simple. I legit had to get the AI's help, since XUL development is my weakest point, turns out to be the AI's weak point as well. 😅Enobarbous wrote: ↑2026-06-01, 20:17There's no need to make such sacrifices Just trust llm less.
...In xul, when attempting to set an element's size to 0/0px, the value resets to "auto". flex hacks rarely work correctly with -moz-box.
Alternatively, you can simply avoid setting "flex=1" for the <description> element - you have a hard-coded window size that cannot be changed, and manually calculating the width isn't that difficult.
Also, you don’t need to use <window> for #greasemonkey-script-preferences. You can use <dialog> and set the window size via css (as is done for #greasemonkey in install.css)
I do wanna thank you so much for helping me in the UI development of them - Would love to see further contributions from you as well.
It does look very good and functional. Will use that interface.Enobarbous wrote: ↑2026-06-01, 20:17I think it looks pretty good, and we can add other features to the "User Preferences" tab if desired.
Absolutely, I already love the ones you've suggested. My GitHub repo is already easily reachable through the extension's Homepage, and I would love to hear the features that you are about to write to me (Bonus point if you'll be able to do pull requests to some of them to insure their implementation - the source code is much easier to read now that I've changed the architecture a bit). I'll be working on some other features that I originally wanted to add into the extension, in the meantime.Enobarbous wrote: ↑2026-06-01, 20:17Alright, I'll try to gather my thoughts and my edits together into a coherent proposal in a couple of days ))
Windows 11
Pale Moon 34.3.0, Firefox 151.0.3, Ungoogled Chromium 148.0
Developing and maintaining Greasemonkey for UXP
Pale Moon 34.3.0, Firefox 151.0.3, Ungoogled Chromium 148.0
Developing and maintaining Greasemonkey for UXP
-
sinfulosd
- Fanatic

- Posts: 113
- Joined: 2022-07-13, 03:01
Re: Working on a Greasemonkey fork for Pale Moon
Decided to show you guys a sneak peak of 3.8.0 that has some features introduced in it, including a reorganized per-script option page, adding userscript-hosting websites for navigating to them right away, and more
A video of the sneak peak can be seen here
I can't wait to show you guys what I've been working on, especially with the install dialog showing more information than what the old fork was showing.
I can't wait to show you guys what I've been working on, especially with the install dialog showing more information than what the old fork was showing.
You do not have the required permissions to view the files attached to this post.
Windows 11
Pale Moon 34.3.0, Firefox 151.0.3, Ungoogled Chromium 148.0
Developing and maintaining Greasemonkey for UXP
Pale Moon 34.3.0, Firefox 151.0.3, Ungoogled Chromium 148.0
Developing and maintaining Greasemonkey for UXP
-
andyprough
- Forum staff

- Posts: 1674
- Joined: 2020-05-31, 04:33