dmarmor/epichrome

FEATURE REQ: Linux Support

ylluminate opened this issue · 5 comments

I'm starting to use Linux more and my secondary workstation has now shifted to Linux. I'd very much like to continue my Epichrome experience on this system and was wondering if you've put any research into supporting Linux as well at this point since it should be a fairly one-to-one experience in terms of scripting itself?

What libs would be necessary in addition to general scripting to make it work in your estimation?

I don't have any plans to do a Linux or Windows port, though both should be technically feasible. I don't know enough about how various Linux distributions handle app-like items, and I suspect it varies depending what window manager you're using. I'm pretty firmly macOS-based at this point, and don't have the bandwidth to play with other systems myself.

If you wanted to take a crack, a lot of the launch code should be relatively portable, since as you point out it's all Bash scripts and mostly uses POSIX commands. The native message host for communicating with the extension shouldn't be too bad either, since it's a Python script. There would be some work in there in terms of figuring out how a Linux decides what's a browser and what's not (if it even has such a distinction). You'd also need to code in new paths for where application files live, of course, and the update code (which creates the app bundle) would likely have to be completely rewritten. You'd also need to write an entirely new front end as the current interface is JXA-based, which is Mac-only. The Makefile would need a lot of work, too, as it is building Mac app bundles and signing them with Mac codesigning.

I'm probably forgetting a lot of things that would need work, but that's what occurs to me off the top of my head.

I'm thinking that a V language based fork of Epichrome would be ideal since it's a universal platform deployment language and would provide a single cohesive language + deployment. It can be used for shell programming + has a really nice cross platform GUI (V UI) that's in progress. It could greatly simplify the tooling and open up possibilities. Hmmm.

V does look cool. I'm certainly game to offer what support I can to anybody working on a cross-platform fork of Epichrome.

You also might check out Chromeless, brought up in discussion #320 . It's cross-platform (works on Linux) and would allow you to create Firefox apps, which I know you've wanted to do.

Thanks for pointing me to that - Chromeless does seem to be rather interesting, but in that it's an Electron app, it is rather heavy itself and it unfortunately acts as its own launcher + manager so you don't have the luxury of launching the apps independently. Their option / solution does seem compelling, but I DO believe that a very strong alternative would be to copy their methodology and execute it via a V app that would be exceptionally light and faster (and perhaps make it a Menubar app or at least attachable).

On the Mac, at least, Chromeless is not required to launch apps it creates. They are placed in ~/Applications/Chromeless Apps/ and can be launched like any other app, so the relatively heavy weight of Chromeless itself shouldn't be an issue.