Modifying Pale Moon to Change Default (Post-Installation) Settings Topic is solved

Talk about code development, features, specific bugs, enhancements, patches, and similar things.
Forum rules
Please keep everything here strictly on-topic.
This board is meant for Pale Moon source code development related subjects only like code snippets, patches, specific bugs, git, the repositories, etc.

This is not for tech support! Please do not post tech support questions in the "Development" board!
Please make sure not to use this board for support questions. Please post issues with specific websites, extensions, etc. in the relevant boards for those topics.

Please keep things on-topic as this forum will be used for reference for Pale Moon development. Expect topics that aren't relevant as such to be moved or deleted.
User avatar
slendertechofficial
Apollo supporter
Apollo supporter
Posts: 32
Joined: 2023-06-23, 17:17

Modifying Pale Moon to Change Default (Post-Installation) Settings

Unread post by slendertechofficial » 2023-06-24, 22:38

Hi!
Recently, I posted a topic on this forum about modifying Firefox 11 to load modern webpages. From this, I learned that my wish was essentially impossible unless I wanted to rewrite the whole browser :( .

So, I've decided that I will create my own fork of Pale Moon to accomplish this.
I've already been able to get Pale Moon to look pretty darn similar to Firefox v11.0:
Image

But, I don't want this browser to be the same as Pale Moon. There are 4 things I wish to change:
1. Modify what theme Pale Moon applies directly after initial installation of the browser
2. Make browser tabs on top of the address bar by default
3. Move the reload button to the right side of the address bar by default
4. Move the home icon to the right side of the search engine bar by default
5. Remove the downloads icon by default
6. Change the default search engine that is being used directly after initial installation of the browser
7. Remove the bookmarks bar by default
8. Change the color of the "blue Pale Moon block" at the top left corner of the browser
9. Modify the about:home page
10. Add WebExtension support to the browser instead of just XUL
11. Modify the UI of the inspect element panel

I know this seems like a long list of things that I want other people to give me the code for, but it's not like that at all. I'm simply asking for resources that would guide me in accomplishing these things.
Also, in the past, people have just linked me to the docs website for certain programs, but when I read through the docs, it talks nothing of the aspect I wish to modify. Please provide me with accurate links.

Thanks in advance for any help!
Connor
Connor Bosler
Head/Co-founder of
Image

User avatar
slendertechofficial
Apollo supporter
Apollo supporter
Posts: 32
Joined: 2023-06-23, 17:17

Re: Modifying Pale Moon to Change Default (Post-Installation) Settings

Unread post by slendertechofficial » 2023-06-25, 22:43

I am very confused as to why this post hasn't gotten much attention. if people haven't gotten around to looking at it, that's okay. And, if people are purposely ignoring it, I guess that's okay too. I just would like some help. My last post got a response almost immediately. Hopefully someone will see it. thank you to anyone who does.
Connor Bosler
Head/Co-founder of
Image

User avatar
moonbat
Knows the dark side
Knows the dark side
Posts: 4983
Joined: 2015-12-09, 15:45

Re: Modifying Pale Moon to Change Default (Post-Installation) Settings

Unread post by moonbat » 2023-06-25, 23:20

What you're asking is way too niche and an edge case for regular Pale Moon users; sounds like you want to deploy a pre configured installation in a corporate environment so that one doesn't have to change settings manually on each computer. This is beyond the scope of a browser that's meant for personal use. There used to be tools to do that with Firefox back in the day that might work here but current methods are completely different and inapplicable to PM.
slendertechofficial wrote:
2023-06-24, 22:38
Add WebExtension support to the browser instead of just XUL
Lol, this could also be why no one is taking you seriously. There is zero need for them here; Waterfox Classic used to support both but it is now unmaintained and its own WE support isn't complete. Nobody here misses web extensions when there's plenty of user scripts that do the same when it comes to website modification, and the existing XUL extensions can actually extend the browser and integrate with its UI in ways that Web Extensions can't dream of. And as has already been told, this is far from being a trivial task even if it were feasible, not to mention bringing here all the unwanted security holes and malicious extensions that are already cross browser thanks to Mozilla switching over to this technology (and ineffectively forcing extension signing as a workaround).

What are you trying to achieve that you can't do by directly using the built in customization features and why is it so important to have all this 'by default' ? Once you open the 'customize toolbar' dialog, you can drag and drop and rearrange all the toolbar icons and address /search bar however you please.
How many times do you plan on creating a fresh profile from scratch that you would have to repeat these steps?
Why are you obsessed with 'one browser to rule them all', extension technology wise?
"One hosts to look them up, one DNS to find them and in the darkness BIND them."

Image
Linux Mint 21 Xfce x64 on HP i5-5200 laptop, 12 GB RAM.
AutoPageColor|PermissionsPlus|PMPlayer|Pure URL|RecordRewind|TextFX

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35650
Joined: 2011-08-28, 17:27
Location: Motala, SE

Re: Modifying Pale Moon to Change Default (Post-Installation) Settings

Unread post by Moonchild » 2023-06-26, 07:52

slendertechofficial wrote:
2023-06-25, 22:43
I am very confused as to why this post hasn't gotten much attention.
You also barely waited 24 hours before posting this follow-up? :)
Keep in mind this forum is primarily user/community populated and you can't always get an answer within a day (even more so on a weekend...), especially if you're asking for a lot of information that can actually be discovered on your own as well.

Have you tried building with your own branding files yet? That would be the primary place to slide in reconfiguration of the browser's defaults while building a spin-off browser.
Alternatively you could fork the Pale Moon front-end repo and make changes directly to the browser.xul browser.js etc. to change default layouts/toolsets/the UI of the browser.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

Lucio Chiappetti
Astronaut
Astronaut
Posts: 660
Joined: 2014-09-01, 15:11
Location: Milan Italy

Re: Modifying Pale Moon to Change Default (Post-Installation) Settings

Unread post by Lucio Chiappetti » 2023-06-26, 09:34

slendertechofficial wrote:
2023-06-25, 22:43
I am very confused as to why this post hasn't gotten much attention
After 5 minutes from posting and in the middle of European night ? :D

As far as I can understand your points 2 3 4 5 7 can be customized at user level (View and View->Customize menus). I do not understand 9 (one can always set one's own home page)
1 implies writing a new theme, beyond my needs and capabilities but should be possible
I do not know 6 8 11 (for 8 I have no blue moon on Linux, for 6 personally I have removed the search engine from the navigation toolbar and I call seartch enignes from bookmarks)

10 I believe is a lost cause and is too difficult
The reasonable man adapts himself to the world: the unreasonable one persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man. (G.B. Shaw)

vannilla
Moon Magic practitioner
Moon Magic practitioner
Posts: 2194
Joined: 2018-05-05, 13:29

Re: Modifying Pale Moon to Change Default (Post-Installation) Settings

Unread post by vannilla » 2023-06-26, 13:09

Lucio Chiappetti wrote:
2023-06-26, 09:34
10 I believe is a lost cause and is too difficult
Technically speaking rather than too difficult is too time consuming.
You'd have to go through the current specs implementing everything using XPCOM and then provide the implementation either as a "compat layer" extension that makes everything available globally, or as a module to be used by other extensions.
None of this is "difficult" if you know how to write an extension.
In any case it's not worth anyone's time except those few people adamant in installing WebExtensions for whatever reason.

User avatar
slendertechofficial
Apollo supporter
Apollo supporter
Posts: 32
Joined: 2023-06-23, 17:17

Re: Modifying Pale Moon to Change Default (Post-Installation) Settings

Unread post by slendertechofficial » 2023-06-26, 17:36

vannilla wrote:
2023-06-26, 13:09
You'd have to go through the current specs implementing everything using XPCOM and then provide the implementation either as a "compat layer" extension that makes everything available globally, or as a module to be used by other extensions.
1. What are "specs"?
2. What is implementing "everything"?
3. I know what XPCOM is, but what does that have to do with this?
vannilla wrote:
2023-06-26, 13:09
In any case it's not worth anyone's time except those few people adamant in installing WebExtensions for whatever reason.
"Whatever reason" is not why I want WebExtension support. I'm trying to appeal my Pale Moon Fork to people besides XUP enthusiasts. Average consumers who just like the Classic Firefox 4.0 UI aren't going to want to have to deal with installing extensions from something like Fresco and having less options to choose from. Average consumers who just like the Classic Firefox 4.0 UI also aren't going to care about writing their own extensions. There are not that many reasons to excuse expanding browser compatibility. Just security, which comes from common sense of not installing random extensions before looking into them, and the argument that XUL is better, which I agree with but does not stop Mozilla from using WebExtensions. As far as I know, having both is just getting the best of both worlds, and modernizing the browser. In other words, if Mozilla never switched to WebExtensions, then I wouldn't care a bit about them.
Connor Bosler
Head/Co-founder of
Image

User avatar
slendertechofficial
Apollo supporter
Apollo supporter
Posts: 32
Joined: 2023-06-23, 17:17

Re: Modifying Pale Moon to Change Default (Post-Installation) Settings

Unread post by slendertechofficial » 2023-06-26, 17:38

Moonchild wrote:
2023-06-26, 07:52
Have you tried building with your own branding files yet?
Branding files?
Connor Bosler
Head/Co-founder of
Image

User avatar
slendertechofficial
Apollo supporter
Apollo supporter
Posts: 32
Joined: 2023-06-23, 17:17

Re: Modifying Pale Moon to Change Default (Post-Installation) Settings

Unread post by slendertechofficial » 2023-06-26, 17:41

moonbat wrote:
2023-06-25, 23:20
why is it so important to have all this 'by default' ?
Because that's the point of the browser :roll:
Connor Bosler
Head/Co-founder of
Image

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35650
Joined: 2011-08-28, 17:27
Location: Motala, SE

Re: Modifying Pale Moon to Change Default (Post-Installation) Settings

Unread post by Moonchild » 2023-06-26, 18:49

OK, at this point I recommend that you first familiarize yourself with the browser's source code layout, specifically the Pale Moon repo I liked to.
Branding files can be found in https://repo.palemoon.org/MoonchildProd ... n/branding Do take a moment to read the information provided in its readme.
The main way to rebuild Pale moon with custom configuration is by making your own collection of branding files and pointing to those with the --with-branding=/path/to/files entry in .mozconfig. Building information can be found at http://developer.palemoon.org/build/
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

vannilla
Moon Magic practitioner
Moon Magic practitioner
Posts: 2194
Joined: 2018-05-05, 13:29

Re: Modifying Pale Moon to Change Default (Post-Installation) Settings

Unread post by vannilla » 2023-06-26, 19:24

slendertechofficial wrote:
2023-06-26, 17:36
1. What are "specs"?
2. What is implementing "everything"?
3. I know what XPCOM is, but what does that have to do with this?
  1. Specifications. Think of blueprints for a house.
  2. Everything written in the specifications.
  3. XPCOM is what makes UXP work. You use it to let add-ons extend the browser.
slendertechofficial wrote:
2023-06-26, 17:36
"Whatever reason" is not why I want WebExtension support. I'm trying to appeal my Pale Moon Fork to people besides XUP enthusiasts. Average consumers who just like the Classic Firefox 4.0 UI aren't going to want to have to deal with installing extensions from something like Fresco and having less options to choose from. Average consumers who just like the Classic Firefox 4.0 UI also aren't going to care about writing their own extensions. There are not that many reasons to excuse expanding browser compatibility. Just security, which comes from common sense of not installing random extensions before looking into them, and the argument that XUL is better, which I agree with but does not stop Mozilla from using WebExtensions. As far as I know, having both is just getting the best of both worlds, and modernizing the browser. In other words, if Mozilla never switched to WebExtensions, then I wouldn't care a bit about them.
TL;DR: you have reasons to have WebExtensions.
As I said, since other people do not have a need for WebExtensions, it is up to you, or someone in your stead, to add support in one way or another.

User avatar
slendertechofficial
Apollo supporter
Apollo supporter
Posts: 32
Joined: 2023-06-23, 17:17

Re: Modifying Pale Moon to Change Default (Post-Installation) Settings

Unread post by slendertechofficial » 2023-06-26, 21:06

vannilla wrote:
2023-06-26, 19:24
  1. Specifications. Think of blueprints for a house.
  2. Everything written in the specifications.
Specifications for what? UXP, WebExtensions, or Pale Moon itself?
Connor Bosler
Head/Co-founder of
Image

vannilla
Moon Magic practitioner
Moon Magic practitioner
Posts: 2194
Joined: 2018-05-05, 13:29

Re: Modifying Pale Moon to Change Default (Post-Installation) Settings

Unread post by vannilla » 2023-06-26, 23:29

slendertechofficial wrote:
2023-06-26, 21:06
Specifications for what? UXP, WebExtensions, or Pale Moon itself?
Re-read the whole thread sequentially, post by post.

User avatar
slendertechofficial
Apollo supporter
Apollo supporter
Posts: 32
Joined: 2023-06-23, 17:17

Re: Modifying Pale Moon to Change Default (Post-Installation) Settings

Unread post by slendertechofficial » 2023-06-27, 17:42

vannilla wrote:
2023-06-26, 23:29
Re-read the whole thread sequentially, post by post.
Now, I'm sure you're smart enough to understand that I had already done that before asking you what specs you were referring to. Still, I did it again and have come to the conclusion that your words were not as clear as you would've liked them to be. I'll ask nicely again, what are the specifications for?

TL;DR: I still didn't pick up on it.
Connor Bosler
Head/Co-founder of
Image

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35650
Joined: 2011-08-28, 17:27
Location: Motala, SE

Re: Modifying Pale Moon to Change Default (Post-Installation) Settings

Unread post by Moonchild » 2023-06-27, 17:50

slendertechofficial wrote:
2023-06-27, 17:42
what are the specifications for?
I'm assuming he meant to say that you have to determine what specifications your intended resulting browser should have regarding functionality and/or duplicating what you wanted to use WebExtensions for... and then implementing that in the XUL/XPCOM way that our platform offers.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

User avatar
slendertechofficial
Apollo supporter
Apollo supporter
Posts: 32
Joined: 2023-06-23, 17:17

Re: Modifying Pale Moon to Change Default (Post-Installation) Settings

Unread post by slendertechofficial » 2023-06-27, 22:04

Moonchild wrote:
2023-06-27, 17:50
slendertechofficial wrote:
2023-06-27, 17:42
what are the specifications for?
I'm assuming he meant to say that you have to determine what specifications your intended resulting browser should have regarding functionality and/or duplicating what you wanted to use WebExtensions for... and then implementing that in the XUL/XPCOM way that our platform offers.
Thank you for clarifying!
Connor Bosler
Head/Co-founder of
Image

User avatar
slendertechofficial
Apollo supporter
Apollo supporter
Posts: 32
Joined: 2023-06-23, 17:17

Re: Modifying Pale Moon to Change Default (Post-Installation) Settings

Unread post by slendertechofficial » 2023-07-11, 20:50

moonbat wrote:
2023-06-25, 23:20
What you're asking is way too niche and an edge case for regular Pale Moon users; sounds like you want to deploy a pre configured installation in a corporate environment so that one doesn't have to change settings manually on each computer. This is beyond the scope of a browser that's meant for personal use. There used to be tools to do that with Firefox back in the day that might work here but current methods are completely different and inapplicable to PM.
I probably should've thought to ask this sooner, but what even causes Pale Moon to have the tabs on the bottom instead of the top like default Firefox from that time in the first place? If I could change what their default position is through editing source code, that would be fine too. :thumbup:
Connor Bosler
Head/Co-founder of
Image

User avatar
moonbat
Knows the dark side
Knows the dark side
Posts: 4983
Joined: 2015-12-09, 15:45

Re: Modifying Pale Moon to Change Default (Post-Installation) Settings

Unread post by moonbat » 2023-07-11, 23:33

Because people prefer it that way, and Firefox's own asinine decision to force tabs on the top was ill met when it was first introduced.
Read this for a more detailed explanation.

@Moonchild - why was the page removed though? Seems like a good explanation for PM's visual style.
"One hosts to look them up, one DNS to find them and in the darkness BIND them."

Image
Linux Mint 21 Xfce x64 on HP i5-5200 laptop, 12 GB RAM.
AutoPageColor|PermissionsPlus|PMPlayer|Pure URL|RecordRewind|TextFX

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35650
Joined: 2011-08-28, 17:27
Location: Motala, SE

Re: Modifying Pale Moon to Change Default (Post-Installation) Settings

Unread post by Moonchild » 2023-07-12, 10:58

moonbat wrote:
2023-07-11, 23:33
why was the page removed though? Seems like a good explanation for PM's visual style.
It was written from the perspective of explaining differences with its sibling. As Pale Moon matured this because a real oddball way of providing information.
Maybe a more generic explanation of Pale Moon's design choices would be nice to have but it's just not been on my radar to write.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

User avatar
slendertechofficial
Apollo supporter
Apollo supporter
Posts: 32
Joined: 2023-06-23, 17:17

Re: Modifying Pale Moon to Change Default (Post-Installation) Settings

Unread post by slendertechofficial » 2023-07-12, 11:54

moonbat wrote:
2023-07-11, 23:33
Because people prefer it that way, and Firefox's own asinine decision to force tabs on the top was ill met when it was first introduced.
Read this for a more detailed explanation.

@Moonchild - why was the page removed though? Seems like a good explanation for PM's visual style.
Okay, but what part of the code makes it this way? In other words, which css or js file (in the source code) controls the position of tabs on screen?
Connor Bosler
Head/Co-founder of
Image