Window Maker: X11 window manager with the look and feel of the NeXTSTEP UI
windowmaker.org
windowmaker.org
GNUstep has silently matured over the years but still lacks a real native window manager. Window Maker once aimed to be that but unfortunately didn't ever manage to fully integrate with GNUstep.
Fully porting Window Maker to GNUstep would be a Win-Win situation for all involved parties: GNUstep already features Wayland support and also offers a theming capabality for which WINGs' hardcoded and thus unchangeable NeXTSTEP aestetics are no match. So replacing WINGs with the GNUstep framework would instantly provide Wayland and more advanced theming support, for free.
People interested in an integrated Window Maker centric system based on Debian/Bookworm should have a look at https://wmlive.sourceforge.net and https://sourceforge.net/projects/wmlive/files/ for downloads.
If both are really two sides to the same coin, it would be nice if they merged. I obviously don't have the full details, though.
On the other hand, I had high hopes for Etoile, which had the goal of being a modern GNUstep-based user environment: http://etoileos.com/etoile/
Also I was under the impression that GNUstep's Wayland support was experimental at best. I believe it's very incomplete, at least that's what the readme says: https://github.com/gnustep/libs-back/tree/master/Source/wayl...
I feel like this oversimplifies the situation. It's not like WindowMaker could adopt gnustep and then automatically be a Wayland compositor. It would need code tailored to that situation, which wouldn't fit the gnustep architecture without modification. Same for using it as an x11 wm. You can't just drop in gnustep inside a WM and it instantly becomes a window manager for all the existing rendering targets supported by gnustep. Gnustep is not currently a WM on any platform.
Okish if only pretending it is Next step clone, macOS is probably still around Panther or Snow Leopard.
Window Maker was my favourite window manager, until I went back to Windows 7 as main OS.
We see what you did there!
One thing: WindowMaker is easy to use yet full of options to customize the appearance and behaviour of windows, per-application and per-window.
Yet I think its killer feature for many years was the huge (64x64 pixel) "dock apps". There, you could put widgets with a ton of nice functionality, such as WiFi status, mailbox, disk monitoring — or just a clock. I don't remember if NeXTStep/WM were the first to offer those widgets, but I remember being a fond user of them.
The functionality that was there at the time is astounding. Kmail was better than Evolution (minus the Exchange support), KOffice was half decent and a lot more performant than OpenOffice. KDevelop was a quite progressive IDE. Heck even Konqueror was a decent browser, with an engine that was so well designed and portable, that when Apple decided to make a browser, they forked KHTML.
Everything was cohesive, used a unified design language, worked great on a system with 1GB of RAM.
I don't understand how all these years later, on systems infinitely more powerful, desktop Linux is yet to get to a similar state. KDE4 was such a disaster, I left KDE and have never really gone back since.
They decided they would not do the same mistake of releasing such unstable versions again in the future, and indeed, plasma 6.0 was usable since day one.
Have you tried Plasma 6 or a recent plasma 5? If you liked KDE 3, you might like it. I find it's a really pleasant environment, I'm not sure something from KDE 3 is missing. It's also quite lightweight, I run it on a tablet with 1GB of RAM, it's a bit slow but quite usable. The web is pretty much unusable though for the most part unfortunately.
There's also a big work of ironing out the small bugs and they are working on making things more cohesive with a design system and some work to unify qml-based and qtwidget-based components (yes, on that front, qml was not a thing when KDE 3 was released, the UI was probably more cohesive - though Breeze, KDE's theme, already does a lot for this and is beautiful).
I don't know Trinity but that's of course another option.
CADT ?
They redesign the whole thing every couple of years instead of fixing bugs.
I forgot how it was called, but one could easily automate the whole desktop back then via scripts and an interface to the KDE3 programs.
KDE IMHO never returned to that level of polish and quality (yes, I tried 6).
Today I am a GNOME user and its killer feature for me is provisioning via dconf and Evolution is my favorite email client on any platform.
Actually at some point in recent years i used NeXTStep and having being using Window Maker for many years by that point, i felt a bit of an uncanny valley effect: what i was looking at the screen felt very familiar but still somewhat "wrong" and a ton of what i was used to didn't work (or worked in a different way) :-P. It made me realize what the people around the mid-2000s who tried various Aqua-like themes on GNOME 2, etc and said that it looks off/wrong were feeling like :-P.
EDIT: also i think Window Maker is not the only window manager that supports/uses dockapps. I think FVWM and Afterstep can also use the same dockapps.
An old screengrab to prove my point: https://www.thran.uk/img/desktop-aug-21.jpg. I'm especially fond of the VU-meter style ethernet traffic monitor, 'wmnd'.
Find dockapps here: https://www.dockapps.net/
The hardest part was setting up automount to handle my network drives and USB drives - no gvfs here! A result you'll welcome if you like sane paths to mountpoints.
I used to use it on hardware-limited machines at first, then started to prefer it for its minimalism.
According to my computer history knowledge, NeXTSTEP version 0.8 introduced the dock in 1988.
At the launch, Steve Jobs said: “The dock — It turns out that, when you’re running applications, things can get lost. These icons can get hidden and you might want to read your mail at a moment’s notice. So we allow you to take any icon and take it over to any one of these dock positions and it’ll snap in and dock. And the minute it docks, nothing can go in front of it. And so it’s a place to always have the applications that you use handy. You can customize it any way you want to, and nothing will ever keep these things from being a glance away. That’s what the dock’s all about. And if you decide that you need to use that right part of the screen for an awfully big window, and you don’t want to undock things, you can just slide it down and everything, but the little logo will go off the screen.”
The publication of high quality fonts since WindowMaker was a thing 25 years ago and expired patents for font rendering also needs to be mentioned. Desktop Linux has evolved nicely.
An X server is a fantastic example of how building drivers for deep hardware components should never have been written in userspace.
(If anyone wants: There's a fantastic talk at LCA a few years ago from Keith Packard about X's history: https://youtu.be/cj02_UeUnGQ )
It also has lots of flaws. "Mechanism, not policy" has to go, because you are trying to make a desktop environment, not draw arbitrary rectangles to the screen. It is already a given that there is one special client called the window manager; it would serve the architecture well to know that's the window manager instead of treating every client as if it could potentially be a window manager. But Wayland goes even further in this direction, eschewing things like icons, title bars and resize borders, which are basic expectations of a desktop environment. While X11's way of doing these things is esoteric, at least it has one. (If it were up to me, standardized window properties would be promoted to requests, so you'd just call xcb_set_window_title instead of fussing with atoms and window properties).
Another anecdote is HDR: Wayland seems to still have not standardized how it should work; meanwhile on X11, there is already protocol support for multiple pixel formats (1-bit, 4-bit, 8-bit, 16-bit, 24-bit displays) and you could just add 48-bit color to that list. That would be one of the things Wayland stripped out while striving for simplicity (since everyone had 24-bit colour at the time) that turned out to actually be important.
---
At some time before the heat death of the universe, I will get around to trying to fork Xorg and remove all the cruft and see where that goes. (Server-side rendering is not cruft. User-mode SVGA drivers are.)
I did minimal work on this already - as in, I downloaded Xorg's source code and had a look through. The whole configuration system has to go. The XFree86 driver code and driver abstraction has to go, and the DRM driver hard-wired in place. Using dlsym to locate compiled-in modules makes tracking dependencies impossible.
I suspect this has something to do with the state of Xorg: Nobody knows what it should and shouldn't do, and the module API for Xorg is the entirety of Xorg, so changing anything is liable to break someone's external module that wasn't on the "it should do this" list.
It wouldn't be the first time the X server was forked with the intention of cleaning it up: Xorg is a fork of XFree86, which was a fork of X386, which was based on something I don't remember.
However, there's just stuff that X assumes that isn't true anymore. A good example is how it handles input. How many cursors does a screen have? One machine? okay, One input device?
One of the folks behind both Wayland and X gave a fantastic talk on the issues and the hell. https://www.youtube.com/watch?v=HllUoT_WE7Y
This looks so obvious that it ought to have been tried.
If I am ever forced to use Wayland (yes forced), I could very well seem my self using Compositor.
Great work!
I seem to recall WindowMaker had special support for gnustep's NeXT style detachable menus.
To me that’s not some meaningful that solves a fundamental problem. GNUSTEP is meaningful because it actually attempts to reimplement Cocoa.
Because of that, I found Etoile more interesting than helloSystem because in turn it attempted to make GNUSTEP presentable to the non tech world in a way WindowMaker never will.
I can understand helloSystem choice to ignore GNUSTEP given the GNUSTEP community is small and virtually inactive but again, it’s just another ooh aah shiny project that won’t get off the ground ever.
If I were them I’d just port one of the many macOS looking desktop environments like whatever ElementsryOS or PopOS uses to FreeBSD and build from there. That’s obviously more productive, but productivity can be boring because it’s real and not a hobby project. :P
I’m not sure how much productive it’d be in the long run, at least if faithfully replicating macOS is the goal. PopOS is bailing on GNOME (what it had been using) in favor of a bespoke DE because modifying GNOME had become too much of a pain, even for their relatively modest changes. Pantheon (elementary’s DE) closely resembles GNOME for likely similar reasons.
Not that any of the other DEs would serve as better bases, unfortunately. No matter what making a Mac-style DE is going to be a steep uphill climb.
I looked more into the project, his goal is actually to replicate the macOS from the 90s to early 2000s. I’m optimistic about a goal like that, but it’s more about the QA that comes with these sorts of higher level projects. I don’t think they have the resources to make something as out of the box as Ubuntu unless they use elementary or pop as their basis.
That being said, why can’t they just branch off into a DE with easy installation on BSD or any *nix loke XFCE or MATE? From what I’ve seen, they don’t have a real reason to even use FreeBSD.
This way they’d increase the likelihood of adoption but maybe at the trade off of supporting multiple platforms which I’d imagine can be a pain.
The problem with using almost any existing DE as a base is that Linux DEs are all inclined toward non-mac UI paradigms (most being Windows-like and a couple iPad-like), which means required changes will be numerous and deep. So much so that the benefit of not starting from scratch is dubious.
No idea what the Elementary, helloSystem, Etoile, etc. folks are messing around about. The Cappuccino Project's Aristo is the best base to start with, and arguably looks better than Aqua. (I was never a fan of Aqua's overshined blue dialog buttons and scrollbars.)
Back then when I saw it, I had hope that Etoile become a really big thing - especially at the dawn of Gnome 3 which initial release bring disappointment to many
This year, I've switched to herbstluftwm, a tiling window manager that's really nice and works in a way that agrees with me.
I never really liked GNOME much either; even when everyone was running it in the 2.x days.
Enlightenment was (and still is) cool though and in my opinion never got enough credit.
BeOS aesthetics (and the OS as a whole) will always have a special place in my heart too.
Ultimately this all just boils down to personal preference. I’m definitely not suggesting that you’re wrong nor weird for liking Window Maker (if anything, I’m probably the weird one…)
(Lately, I use XMonad or i3wm on workstations that I use heavily. On systems that I use only rarely, I use the default Debian desktop, which currently is more Gnome-opinionated than I think is ideal for new user ramp-up, but it's stock.)
The biggest thing was how the dock icons were occupying too much precious screen space, and were distracting. Especially in the Olden Days when monitor ratios were 4:3. In contrast with a 16:9 or 16:10 modern monitor, where you can put things on the side and they'll be more out of focus.
Animated/informational dock icons, to show system stats or whatever, were more of a distraction than were worth it, and if you reduced the size of the dock icon then they became worthless. Couldn't have it both ways.
I did not like how big a dock icon was when you minimized a window. This was long after Windows 95 showed a thinner taskbar was perfectly sufficient.
I did not like the context menus that stuck around. Muscle memory, perhaps, but again: a distraction.
I did love its columnar file/tree navigator, which macOS continues to provide in Finder, although it's not a default!
All in all, it felt like an interesting exploration of the computer desktop UX space, but a dead end.
(MacOS's dock can be configured ... somewhat ... similarly.)
(I do not understand the people who don't and also leave it at the bottom of the screen rather than on the side. All that screen real-estate, wasted!)
"NEXTSPACE is a desktop environment that brings a NeXTSTEP look and feel to Linux. I try to keep the user experience as close as possible to the original NeXT OS. It is developed according to the "OpenStep User Interface Guidelines"."
Years later I found that it was probably a Linux running Window Maker. It was surprising to see such a niche desktop environment being largely used by non-technical users
I'm dependent on WindowShade and wouldn't want to use a window manager without it.
I have the Window List menu pinned below the dock on the right side of the screen, from where it can pop out to full width if the mouse pointer touches the screen edge. I much prefer that over a "task bar" that doesn't show full titles but takes up a lot of space. (and no, I don't use other icons intended for the purpose)
I used to have my own patch with a few graphical tweaks but stopped compiling from source a long time ago.
https://github.com/NsCDE/NsCDE
I've personally used it on old 1.3 GHz P-III system running Debian 10, it's remarkably fast and usable even on such old hardware.
Good memories!
I've tried to switch to other wms, but I just can't get the same usefulness out of them, and end up switching back.
Months fade into years, which have faded into decades. My hair is graying and thinning, and the light at the end of the tunnel draws nearer. Yet not one single human soul has ever noticed or cared about my really impressive desktop setup.
I will take our weird defaultsdb implementation over some of the alternatives that get pitched. Scheme? No thanks..
What kind of workflows suit something as advanced as Window Maker? Where does the line sit between this and something like Gnome? I'm struggling to get my head around the nuances.
Reminds me of the Open BSD team's incremental modification of proprietary ATT code.
Will dd 0.96 onto an optical drive soon.
I accept all major currencies.