This is based on the Chromium Embedded Framework. I've always been surprised this kind of framework was not encouraged for Firefox by Mozilla (I've read they were even against it).
This is a pretty neat idea, and shows that maybe a desktop environment could be a lot more flexible than we're used to if it was based on something flexible. Not exactly counter intuitive.
I'd like to see how complex a CEF-based Wayland compositor would be in comparison.
How about using Godot instead of CEF? It has a pretty full-featured UI system.
While you're at it, go on a huge tangent writing a library that allows one implementation to work as both an X11 and Wayland compositor.
Actually why stop there? Make said library also compile to a full screen Windows and Macos application that somehow renders the contents of windows to textures and does event handing etc. that way you can write your desktop environment once and use it everywhere.
When I was younger I thought of replacing most of the OS with a browser since that is how I used it. but this is weird and not in a good way. Maybe using Firefox would feel better.
If I disable "font-family: Atkinson" it comes back, so guessing it's font related. I do see the two .woff files load in the Network tab. Interestingly, when I preview either font file, I see the sample of the font (AaBbCc etc.) in a flash for just milliseconds, and then it disappears and I see nothing.
I strongly suspect I know what that does because I worked with Svelte 4 for years (you no longer have to do this in Svelte 5. I can recommend Svelte 5, it's nice).
Basically, assigning a state to itself tells it to signal that that state has changed and update anything that is listening to it. The `state` object is actually a JS Proxy returned by createState [0], which allows intercepting the assignment to the `windows` property and emit signals. Usually you dont have to do that, but in this case, the proxy doesn't notice that `state.windows.push(X)` is a mutation. Only assignments directly to the state object count as mutations.
TLDR, `state.windows = state.windows` tells the framework that `windows` changed.
> On Linux this is mainly X11 written by MIT in 1984, it’s old and starting to show it’s age
"Windows 1.0 is the first major release of Microsoft Windows, a family of graphical user shells and operating systems for personal computers developed by Microsoft. It was first released to manufacturing in the United States on November 20, 1985"
So, I guess, Windows also is "starting to show it’s age". /s
> It’s quite a bit easier to tweak CSS constants, and JS snippets then it is to change style embedded already in a long standing modern desktop/window manager. So let’s bring the web to the desktop and have a browser control the system.
Jesus, bro, you can’t say stuff like this here.
Half of HN is going to have a stroke and will end up sounding like Hodor – native, natuve, ntve.
This is based on the Chromium Embedded Framework. I've always been surprised this kind of framework was not encouraged for Firefox by Mozilla (I've read they were even against it).
Before they got rid of XUL, this was the sort of thing possible with it.
Exactly, this sort of thing was the whole idea of XUL.
It was a little too flexible to make secure and fast though.
They used to have XULRunner long ago.
I'm interested in a how-to which accomplishes the absolute opposite result.
1) uninstall Chrome
2) install it once a year when some backwards website won’t work with anything else.
3) go to 1)
here you go
https://plan9.io/magic/man2html/4/webfs
This is a pretty neat idea, and shows that maybe a desktop environment could be a lot more flexible than we're used to if it was based on something flexible. Not exactly counter intuitive.
I'd like to see how complex a CEF-based Wayland compositor would be in comparison.
How about using Godot instead of CEF? It has a pretty full-featured UI system.
So many possibilities.
While you're at it, go on a huge tangent writing a library that allows one implementation to work as both an X11 and Wayland compositor.
Actually why stop there? Make said library also compile to a full screen Windows and Macos application that somehow renders the contents of windows to textures and does event handing etc. that way you can write your desktop environment once and use it everywhere.
I've gone crazy with power.
When I was younger I thought of replacing most of the OS with a browser since that is how I used it. but this is weird and not in a good way. Maybe using Firefox would feel better.
> When I was younger I thought of replacing most of the OS with a browser since that is how I used it.
Isn't that basically Chrome OS?
I believe the earlier versions of Chrome/Chromium OS took this to the logical extreme.
https://www.technologyreview.com/2009/11/19/208062/google-gi...
This reminds me of the Windows 8 version they had for a short time where you got a full-blown ChromeOS "clone" when launching the Metro version: https://www.howtogeek.com/179980/how-to-use-the-chrome-os-de...
How bizarre. Thanks for sharing.
On ChromeOS, Chrome is the window manager, compositor and desktop session all in one.
Not sure why, but the text doesn't appear in Chrome 109: https://imgur.com/a/QyIdfax
If I disable "font-family: Atkinson" it comes back, so guessing it's font related. I do see the two .woff files load in the Network tab. Interestingly, when I preview either font file, I see the sample of the font (AaBbCc etc.) in a flash for just milliseconds, and then it disappears and I see nothing.
Why not aluminumOS? Isn't that suppose to be alphabet's unifier OS and challenger to Huawei's harmonyOS???
Pyro Desktop! But with Chrome instead of Firefox. https://arstechnica.com/information-technology/2007/07/exper... https://news.ycombinator.com/item?id=39541
Sounds like a more performant and cleaner solution than TFA.
Windows 98 Active Desktop vibes :)
But why? (Real question)
Easy to create different skins and behavior
> Easy to create different skins and behavior
Kids those days. Fvwm.
I looked around the Windows skin source but I guess I'm too dumb for it because this line makes no sense to me https://github.com/FoxMoss/dote-dreamland-win95-example/blob...
I strongly suspect I know what that does because I worked with Svelte 4 for years (you no longer have to do this in Svelte 5. I can recommend Svelte 5, it's nice).
Basically, assigning a state to itself tells it to signal that that state has changed and update anything that is listening to it. The `state` object is actually a JS Proxy returned by createState [0], which allows intercepting the assignment to the `windows` property and emit signals. Usually you dont have to do that, but in this case, the proxy doesn't notice that `state.windows.push(X)` is a mutation. Only assignments directly to the state object count as mutations.
TLDR, `state.windows = state.windows` tells the framework that `windows` changed.
[0]: https://github.com/MercuryWorkshop/dreamlandjs/blob/1e7a34a1...
I was drafting a reply when you sent this, this is the correct interpretation and why I did it.
[dead]
> On Linux this is mainly X11 written by MIT in 1984, it’s old and starting to show it’s age
"Windows 1.0 is the first major release of Microsoft Windows, a family of graphical user shells and operating systems for personal computers developed by Microsoft. It was first released to manufacturing in the United States on November 20, 1985"
So, I guess, Windows also is "starting to show it’s age". /s
> It’s quite a bit easier to tweak CSS constants, and JS snippets then it is to change style embedded already in a long standing modern desktop/window manager. So let’s bring the web to the desktop and have a browser control the system.
Jesus, bro, you can’t say stuff like this here.
Half of HN is going to have a stroke and will end up sounding like Hodor – native, natuve, ntve.