I've recently made a similar (more modular) project which compiles various features and patches them into a Firefox profile. It can compile themes, hardening, userscripts, userstyles and more into a clean firefox profile, basically removing the bloat from firefox while still being fully customizable: https://github.com/explosion-scratch/firebuilder
This looks really great. One thing I have never seen done is having the url bar completely removed and put everything in the sidebar. That would really save some vertical space. Since you seem to know your way around the firefox sources, do you think that's possible?
I meant something like this browser does: https://arc.net/ where the urlbar and all the buttons of the navigation bar are in the sidebar as well, so you have more room vertically for the actual web content.
Im not sure - most of what my project does is compile multiple people's modifications together, I feel like I saw one such repo recently, I'll reply if I find it
Downloads/firebuilder-darwin-arm64
24334 | allowPositionals: true
24335 | });
24336 | var PROFILE_PATH_CLI = args.positionals[2];
24337 | var THIS_DIR2 = __dirname;
24338 | var MODULE_DIR2 = resolve4(THIS_DIR2, "modules");
24339 | var OPTIONS = Object.fromEntries(readdirSync2(resolve4(MODULE_DIR2)).filter((i) => lstatSync2(join8(MODULE_DIR2, i)).isDirectory()).map((i) => ({
^
ENOENT: No such file or directory
errno: -2
syscall: "open"
path: "/Users/tjs/Documents/.coding/firefox-profile-creator/modules"
at /$bunfs/root/firebuilder-darwin-arm64:24339:34
Downloads/firebuilder-darwin-arm64 --help
24322 | import {parseArgs} from "util";
24323 | import {homedir as homedir2} from "os";
24324 | var __dirname = "/Users/tjs/Documents/.coding/firefox-profile-creator";
24325 | var APP_PATH = join8("/Applications", "Firefox.app", "Contents", "MacOS", "firefox");
24326 | var PROFILES_PATH = resolve4(homedir2(), "Library", "Application Support", "Firefox", "Profiles");
24327 | var args = parseArgs({
args: Bun.argv,
options: {
launch: {
type: "boolean"
}
},
allowPositionals: true
});
^
TypeError: Unknown option '--help'. To specify a positional argument starting with a '-', place it at the end of the command after '--', as in '-- "--help"
code: "ERR_PARSE_ARGS_UNKNOWN_OPTION"
Somehow it has hard coded something wrong - I'm so sorry I literally just tested it. Actually moving into college tomorrow but I might be able to fix it the next day. Try cloning and 'bun run cli.js' in the meantime?
Update: After a tough 24 minutes I have fixed the bug! Apparently it's an issue with old versions of Bun so I had to upgrade, but I also added a `--help` flag and usage.
I don't think so, it's a lot harder to patch chrome because you'd need to recompile it. There is ungoogled-chromium but it doesn't add many features, mainly takes away the bloat. Unfortunately drm content is a bit finicky in ungoogled chromium.
Firefox is great for modding because everything is contained in one profile folder, so one can simply make a new profile folder however they want and have the perfect browser