Lootyhoof wrote: ↑2022-06-13, 20:58
...If you're just going to spit at anything I suggest...
If you take it that way, well, ok. I know some people can be really high strung on these forums, but that doesn't mean everyone is a troll. You shared some helpful info, but it didn't answer all my questions, and I explained why. You didn't have a home-run solution for those questions, and that's fine. You don't have to take it personally. Suggestions are just suggestions, they aren't social points, and the essence of problem solving is picking apart everyone's suggestions and creating new ones until there's a consensus. Good problem solving (or just good discussion in general) means going through potentially hundreds of suggestions, and doing it effectively means using strong, clear language because it dispels assumptions about the subject matter. At no point in that process does the other person think you are "spitting" on what they are offering. It's just mundane communication between two humans who can't possibly know exactly what's going on in the other guy's head and have to take what they say at face value. Assume good faith.
Lootyhoof wrote: ↑2022-06-13, 20:58
...Wrong analogy. Pale Moon is originally from Firefox; in the same way as themes are from the Pale Moon default theme (and prior to that, the Firefox default theme)...
"Pale Moon is originally from Firefox" <-- That
was the point of the analogy. Creating Pale Moon was simply a
Firefox -> Pale Moon process, not a
Chromium -> Firefox -> Pale Moon process. The point was to illustrate what a silly, superfluous step looks like.
Lootyhoof wrote: ↑2022-06-13, 20:58
...It's just that a theme on the add-ons site packages everything nicely instead of having to hunt everything down in the default theme...
This is part of what I was getting at: having a starting point for creating a new theme that produces a 1:1 match with the browser's default theme when it is installed as-is. The natural choice here, I feel, would be a copy of the default theme. This way, after you have modified the default theme to make it unique, it is far less painful to update your theme. If you were to plot out a dependency graph of your theme, you would only have to reconcile the vertex of your theme, the (now old) Pale Moon default theme it was based on, and the (possibly modified) default Pale Moon theme from the new PM release. If your theme is based on another unique theme (
not the default theme), you now have 4 connections to reconcile at that vertex instead of 3, which is geometrically more complex and thus could take a lot more time than it needs to.
Lootyhoof wrote: ↑2022-06-13, 20:58
See my work on Tangomoon, that I already linked. It is exactly what you ask for.
I did take a cursory look at Tangomoon and it seems to work along the lines I was thinking of, but I don't have to time right now to really dig into it. I see quite a lot going on in chrome.manifest, and I can follow those patterns blindly and maybe get the results I'm looking for, sure. The problem then is that my theme now works in mysterious ways that I don't fully understand. That's what I meant by creating a "hack job" of something. Something you cant really maintain, update, or publish with confidence because you don't fully understand how & why it works. When I do have the time to try and pick apart Tangomoon, I will certainly come back to you with any questions that could come up on how it does the things it does.
This was just the ticket and worked perfectly! Many thanks for sharing that. JustOff to the rescue with his myriad of niche-but-oh-so-important tools.
athenian200 wrote: ↑2022-06-14, 01:08
I believe the way themes actually work is... <snip>
Thanks for replying. This is the kind of info I was after regarding the granularity of styling things. It leads into what is probably my biggest question at the moment:
Is there list that specifies A) what files absolutely need to be included in the theme (even if no changes are made) and B) what files can be omitted? Going back to my OP, I noticed that, for example, some themes include chrome/browser/tabview/* while others do not, but all themes seem to include content/browser/sync*.css. There is no apparent pattern as to what must be kept versus what can be culled. If I knew which files I could safely omit, then my theme would be leaner and easier to maintain. Worst case scenario, I have the entire default theme stuffed inside my theme, with my modifications riding on top, which is certainly feasible, yeah, but is pretty far from ideal. As for trial-and-error'ing my way through all ~600 files that themes consist of to see what I can cull... well, I just don't think that will do. I am not a developer of Pale Moon, so I have no idea know how to fully the test the browser for hidden, non-obvious issues every time I launch it after intentionally omitting a different file from the theme. A list created by a knowledgeable individual is the only thing I would have confidence in. It doesn't necessarily have to be a pretty list, though. If, for example, there were gratuitous comments somewhere in the Pale Moon source that
clearly indicated which files are critical and which ones can be omitted, that would work. If such a thing does exist, though, I'd need someone to point me towards it. The PM source tree is very... big.
athenian200 wrote: ↑2022-06-14, 01:08
Part of the difficulty in creating proper documentation for the process of creating themes, that this all involves a lot of specialized knowledge, and Mozilla themselves never documented the process well. Only a few people who delved deep into it understood how theming worked even back when it was popular, and documentation was always scarce. Now it's obviously even harder, since a lot of the older documentation is either no longer available, or contains things that are obsolete or misleading anyway.
I was worried about how much this potentially played into things. If there wasn't any proper documentation from the Mozilla era (which I can't say is too surprising), then that certainly goes along with why there wouldn't be any documentation for Pale Moon either. In lieu of documentation, it'd be nice to have the default theme available as a template/example somewhere. Regardless, I will try building PM with the parameter you mentioned, though I am a bit apprehensive. There seem to be a good number of posts here from people who have difficulties building PM
athenian200 wrote: ↑2022-06-14, 01:08
On top of that, Lootyhoof and FranklinDM have so much of their time taken up maintaining the existing themes to keep up with development, that creating documentation so new people can jump into theming winds up going on the back burner. It's something of a self-perpetuating cycle... they are always swamped with work due to the fact that no one else can do what they do, and they remain swamped in part because no one new can get into theming easily and lighten their load.
I was starting to get the suspicion that was the case. If creating documentation would be the straw to break the camel's back, then I certainly understand why Lootyhoof, FranklinDM, and Moonchild et al would repeatedly avoid that. But it does just reinforce the self-perpetuating cycle you mentioned...
athenian200 wrote: ↑2022-06-14, 01:08
...be a bit more understanding of the fact that this is essentially a volunteer-maintained project...
I'm not a FOSS guy, but I know some of the woes and dredges of volunteer software. I get it. I know Pale Moon isn't sitting on a million dollar grant, or even endorsed by a group like the EFF (though it
should be). But I also know I could miss out on some really valuable info if I go in with the assumption that what I'm looking for doesn't exist. I want to exhaust all the possibilities that the kind of info I'm looking for maybe kinda sorta actually does exist somewhere,
anywhere, because I really do want to turn my free time into a theme or two for Pale Moon. And I want it to be done
right, with confidence and quality, or else it would be a disservice to the PM community and to myself. I wouldn't be considering that or even typing this if I didn't see a lot of value in PM and its niche little ecosystem.