Like NsCDE [1], these kinds of old school environments are nice an all until you fire up a modern browser or an app made for Gnome and you end up in a kind of aesthetic mess.
Also Windowmaker. I have been using it for years back in the day, and just to be sure reinstalled it a few minutes ago to check how it behaves today: no problems whatsoever with Firefox, LibreOffice, Gimp, Handbrake, and other modern apps. Using it right now to write this post with Firefox, in fact. Not that I didn't expect it to work since the last stable version is dated 2020 and the GitHub repo is quite active (last update 3 days ago).
Nostalgia aside (I was lucky enough to attend a real NeXT demonstration in 1994/1995) WindowMaker has been literally a life saver over 20 years ago when I had to build a desktop for ~50 remote points of sale in which the operator could only perform a few tasks, and setting up it as a locked "kiosk on steroids" with a fixed dock that could open only the 4-5 needed apps allowed them to do their jobs without distractions or exposing the unnecessary/dangerous parts of the system.
I've been using Window Maker since the early 2000s whenever i use Linux. I have tried other window managers (including a long-ish stint with GNOME 2 back in late 2000s) but always end up going back to Window Maker.
Also occasionally i hack on a GUI toolkit in C that i use for a few utilities (mainly a music player and a filesystem browser) and i hope at some point to make it good enough to use as a backend for LCL/Lazarus. Here is an old shot with various example programs/tests and the two utilities i mentioned:
A buddy of mine had a NeXTstation in '90 (or '91, memory fades). Sure it was nice, I mean really nice. The reason I wasn't completely blown off my socks was only that we observed the Amiga in '85 (a common friend even had one). For us youngsters those five years seemed like a long time and the progress was expected. DOS/Windows seemed like a regression to us. I'm sure these days the juniors wonder why we geezers bother with Linux and not use Android instead ...
I really liked CDE on my Solaris x86 box when I was in college. I'd love to see a "modernized" version of it. Modern renderers w/acceleration, slightly updated UI but keeping with the general feel of CDE, etc. I love macOS, but there's something about the old Irix or CDE environments that made you feel like you were "working" and not just using the same old computer as everyone else.
Xfce + a GTK theme that mimics CDE is probably a good option: https://github.com/B00merang-Project/Solaris-9 I couldn't get this theme to work on a modern gnome/GTK4 environment, sadly, but suspect it would still work with something GTK3 like xfce.
I think you touched the real problem here, there are many telented people willing to work on great GTK themes, but it's really hard to maintain themes when gnome is changing the API all the time... So most people give up.
This might be a previously unknown bit of NeXT and Windows history.
While Windows 3 was in development I was in the next building working on os/2. (not bragging <g>)
I spent a lot of time in a lab that had a lot of hardware. One day a NeXT machine showed up in the lab.
The next day there was a line of Windows developers waiting for their chance too look at it. (we'll forget the fun I had grabbing a screen shot of the desktop which i then left displayed full screen)
It was a mere matter of days before a build of Windows with 3d buttons came out, and the rest is more history.
Have you asked for the sources? GPL does not require proactive distribution, that's just the common way people avoid handling many individual requests.
Plan 9 for NeXT works well in Previous with a 9p server running on the emulation host or a different machine on the net. Previous support for NeXTstep includes an NFS and NetInfo server in Previous itself. The equivalent emulation of the 9p protocol is not yet available, however.
Also note that the most recent version of Plan 9 for NeXT is the second edition (http://ftp.osuosl.org/pub/plan9/history/plan9-2e.tar.bz2). Updating the code to use the new graphics system introduced in the 3rd edition is on my to-do list...
Shameless plug - the 9th International Workshop on Plan 9 takes place in Waterloo, Ontario, Canada, this April: http://iwp9.org
Btw., NetBSD is also supported in Previous now, but there has been a regression after NetBSD 5.2.3 that we have only been able to identify and fix recently (it seems that there are not a lot of NeXT NetBSD users left...) thanks to the great support by Izumi Tsutsui. So NetBSD 9.3 currently needs a number of patches as discussed on the NetBSD/next68k mailing list (http://mail-index.netbsd.org/port-next68k/), but 5.2.3 should work out of the box.
every couple of years I go back to check how's windowmaker/gnustep. Too bad the progress seems to have stalled and the support for some modern features is lacking, I would definitely be open to give it a go again
Note that Window Maker and GNUstep are two completely different projects with two completely different teams. It is just that using GNUstep with Window Maker gives a mostly consistent look (and feel, for the most part, though there are differences) if you use GNUstep's NeXT-like theme (GNUstep supports theming).
> OK so I have windowmaker running on nixos but some windows such as Firefox can't be dragged by the titlebar, only resized. What do??
This is an issue with how said applications seem to expect the window manager to handle some stuff as they do things that normally is up to the window manager, but Window Maker doesn't.
Right now there isn't much you can do aside from having these applications let Window Maker do the window management itself instead of doing it themselves. Some of them, like Firefox, have an option for that (right click somewhere in the Firefox toolbar and select "Customize toolbar" and then from the bottom left corner click "Title bar").
Some applications do not have such an option (e.g. Steam), so for them you need to force it: middle click in the empty space between windows, locate the window you want to have a titlebar for and right click on it while keeping the right button down (the menu disappears if you move it). From the menu select "Attributes" and using the choice box at the top of the window that appears select "Advanced options". Finally check the "Ignore decoration changes" checkbox and press Save. Then restart the application and it should have a titlebar by Window Maker.
Sadly for the latter it'll be on top of whatever titlebar the program has, but IMO it beans not working at all - and as a bonus you have all the additional window management commands available that pretty much no "i'll make my own title bars" program provides, like shading.
> other questions: sometimes right-click for context menu requires a click and hold, other times it doesn't. configurable?
It isn't a matter of configuration (AFAIK anyway), they are different menu types:
"popup" menus appear only while the mouse button is down (note that it doesn't matter what button you click, e.g. choice boxes show popup menus with the left mouse button).
"application" menus can stay on screen. You can also show them like in popup menus by pushing down the mouse button and dragging the mouse and they'll disappear if you release the button, but normally stay on screen until they are hidden to show another menu (you can keep them on screen by clicking and dragging the title - in that case an X button appears so you can close them later). There is one exception to this and is if you try show the same menu twice, the second instance will disappear as if it was a popup menu when you release the mouse button (e.g. if you middle click to show the windows menu and then keep it on screen by dragging it a bit to make it permanent and then middle click again somewhere else to show the windows menu again, a second instance of the menu will appear that will disappear once you release the button).
You can distinguish the latter from the former by the fact that the latter have a title.
There's a lot of little details to fix. Like the volume controls on my keyboard don't work, some loading screen windows for some games flicker like hell... I'm sure these are solvable.
> Like the volume controls on my keyboard don't work
Perhaps some dockapp will work? Window Maker does not really handle volume controls itself, but you can use some other application for that stuff. My USB headset's volume controls do work but AFAIK that is done via Pulseaudio.
> some loading screen windows for some games flicker like hell... I'm sure these are solvable.
Not sure this is a Window Maker issue, perhaps it is some issue with the game or with Wine/Proton that if you use a compositor it masks it?
I often use Gamescope for games that do not work with Linux desktop nicely (also lets me switch virtual desktops seamlessly). I have my own fork of gamescope[0] that allows remapping keys which helps a lot with some indie games that do not do proper remapping too. Note though that this is almost two years old out of sync with Valve's gamescope (i should try and bring it up to date at some point).
I've just spent hours messing with Window Maker. I was a NeXT admirer as a teen, so this is A. Maz. Ing! Your answer was really helpful. I'd already figured out how to just globally override window decorations (Firefox became draggable again!) but I think your way of doing it on a case-by-case basis may be better.
One of the most useful new things so far IMHO is being able to just move around or resize a window (without having to hold on either the title bar or a corner) by holding down Alt and left- or right-dragging. (Do GNOME's standard window managers provide anything like that?) That plus live move/resize has been amazing. But now I actually want to assign those to another mouse button; basically I want my "back" mouse button to be another Alt key I guess. It looks like "imwheel" might be able to do this remapping? I haven't finished investigating yet.
App discovery- Unlike the nicety of Gnome, which seems to autodiscover any newly installed apps, I seem to have to manually add icons for things or to put things in the right click menu. Is there any way to facilitate this? For example in Gnome when I hit the Windows key, the view pulls back and I get a search box with all my installed app icons shown below, which I can then page through. Anything like this in WindowMaker?
Mini-applications- There's not a whole lot on this but it sounds neat- basically the icon becomes an output region so I could have things like a Current Weather icon; it seems they are incompatible with Gnome? Any idea how I might be able to mess with that in NixOS/Window Maker?
Minimization- There's no clear place minimized things go, although they still can be brought back with alt-tab. Actually, I somehow lost the minimization widget in the menu bar I just noticed; the native controls (which I forced across everything in order to get draggability back) might not have one. I can windowshade title bars (hah, like old MacOS!) Actually maybe the whole concept of "minimizing" is off: Alt-H will "hide", which is fine actually. Uncluttered =)
I like that all the config files are text files, but I tried to comment out some lines in the menu bar config and it borked it and I subsequently ended up accidentally losing the changes I'd made (oops.. I assumed VSCode would remember unsaved files, as it tends to, but in this case it did not... maybe because windowmaker KILL's it when you close it, and I should have Exit'ed from within it instead?). So for the time being I decided to source-control the whole thing by setting GNUSTEP_USER_ROOT = "\${XDG_CONFIG_HOME}/GNUstep"; in the environment session vars and since my XDG_CONFIG_HOME is source-controlled, that made that trivial. So now I can manually edit these with aplomb.
Nitrogen will let me set the desktop background but it won't stick...
Default sound input/output devices- Is there a nice GUI to set these?? I tried using "pacmd" to set the default sink but it didn't "take" (apparently, I may have to reboot?)
> App discovery- Unlike the nicety of Gnome, which seems to autodiscover any newly installed apps, I seem to have to manually add icons for things or to put things in the right click menu. Is there any way to facilitate this?
You can have scripts that generate menu entries dynamically which can be useful for that. If you have xdg_menu installed (check your distro) you can use it to make a menu for all available .desktop files. To do that open preferences, go to the menu editor, drag and drop a "Generated Submenu" entry, for the Command use "xdg_menu --format WindowMaker" and then click Save. You may need to restart Window Maker to work (should be a command in the right click menu).
> Mini-applications
These are "dockapps" and they're basically just tiny X windows. You can find a bunch of them at https://www.dockapps.net/
Note that most of them need to be compiled from source code. Also some are quite old (there are even some from the late 90s) and use old APIs, though most stuff that mention you can get from "repo.or.cz/dockapps.git" should work.
> Minimization
Minimization (actually called "miniaturization" for some reason :-P) should put windows in the bottom left corner, though i think this is configurable. Running applications can be hidden and hidden applications have a single "dot" at the bottom left corner of their tile - doubleclicking the tile will show them. Tiles with three dots at the bottom left corner are applications you haven't launched and double clicking them will launch them - in which case the dots are removed (double clicking the tile will focus the application) unless you hide it (in which case there will be one dot).
> I like that all the config files are text files
> Nitrogen will let me set the desktop background but it won't stick...
Window Maker has a GUI configuration editor (called WMPrefs) that should cover pretty much all options in the config file so you don't have to edit it by hand.
> Default sound input/output devices- Is there a nice GUI to set these?? I tried using "pacmd" to set the default sink but it didn't "take" (apparently, I may have to reboot?)
I'm using the alsamixer dockapp, though it is really only for volume. There might be a better dockapp but personally i've been calling pavucontrol via the Run dialog to switch audio devices.
Notifications- currently they show up in a floaty window in the top right of the screen briefly, is this configurable?
re: alsamixer- i used the TUI to change input/output but it required a reboot to take effect, I'm sure there's some way to not have to do that which I simply haven't figured out yet. Would prefer something a little more GUI for this use case though, like the UI in Gnome > Settings > Sound.
Note that pavucontrol is a GUI app. It does need Pulseaudio though (Pipewire may also work as it implements the Pulseaudio API).
Notifications aren't handled by the window manager, but AFAIK most applications will use a "system tray"-like service if they find one running.
Check wmsystemtray which implements a system tray as a dockapp, i have it at my dock and all icons and notifications tend to go through it: https://www.dockapps.net/wmsystemtray
Does it also emulate the wickedly slow I/O times of the CD/RW drive (er, Canon Magento Optical drive, apparently)? I seem to recall waiting really long for anything to read or write to that thing, despite the wonder of having a CD that I could erase, with 660MB of storage.
It was a configuration issue between the machine being emulated and the ROM I was using. I found it by chance poking around in the config since there was no indication of what the problem was. Now I have to figure out everything else.
Just take a look at the buttons in window title bars - they have box shape with a very distinguishable 3D effect. NeXT design language was evidently borrowed by Windows 95. Which is a good thing, I still miss that level of clarity.
I think OP is wrong and the logo is better with the same lowercase "e" as the original NeXT logo, even though it's in a different place in the logo, but different strokes for different folks.
I think that MAME also has a NeXT emulation in it as well. Not sure how far along it is though. Think they had it booting most of the basic demo stuff but I could be confusing it with another bit of hw they had recently got running.
> It doesn't even say anywhere on the page that it's Mac-limited.
Where does it say macOS? I see no mention of any supported platform.
FWIW the x86 version of OPENSTEP 4.2 has been running in virtual machines for some time.[1][2] Previous emulates the NeXT hardware and Motorola processor, and maybe some are interested in that. Personally, I'm really not, but it's an interesting use of emulation (which really only becomes useful when emulating a current platform on another, such as x86 on Apple Silicon or vice versa).
Last week I've spent some time trying to make OpenStep run in qemu, but gave up after few hours. Apparently there is some incompatibility with how qemu emulates CD drive.
> > > It doesn't even say anywhere on the page that it's Mac-limited
If I said "it doesn't say anywhere that it only runs on OS/400," then this implies that it stated somewhere that the software runs on OS/400 just as your statement implies it runs on Mac. Where did you get Mac from in the first place if the about doesn't mention it?
They use SVN, and some of us have had various git forks going for some time.
I have two for example, one to patch the old Harari UI with proper font and color, and two more which package Previous for Raspberry Pi; one via Debian and one with Buildroot.
My favorite old UNIX UIs are 4Dwm, Rhapsody, and NEXTSTEP's for sure. However I do think working in modern macOS is pretty nice; I honestly like the Ventura redesign a lot, though that may be an unpopular opinion(?).
Worth noting that, from what I gathered, a lot of dislike towards Ventura's new UI is often less the style and more just various inconsistencies / strange behavior in their execution of it.
The new criticisms directed at Ventura are less about the style because the style criticisms date back to Big Sur and have been talked to death. The lack of contrast and the over-generous menu spacing isn’t any better today than it was in November 2020.
Even the Settings app is OK with me... speaking as a Mac user (almost) continuously since the original Mac Plus (although I use Linux for servers):
I really just couldn't care less about the change in the settings app. I usually typed something into the Spotlight search area to find what I wanted in the old version, and I do the same thing now. I just didn't have to change settings enough to have remembered their old locations.
I can’t stand search in the settings app. The results are in decipherable to me. It seems like I get 15 results that have almost identical text and have to click through them to figure out which was the right one.
Part of this extends from how Apple is implementing security. There are at Lear half a dozen security and accessibility options that all hide similar app lists.
The old Settings UI was nice, but it had a really bad scaling problem as more preferences were added, making it badly organized. I like the new one, better, though it did come into the world roughly and still needs work.
Mostly, though, I'm just happy that they're dog-fooding SwiftUI with it. I look forward to WWDC this year.
I like Stage Manager, it brings back the single window mode from early versions of Mac OS X and removes the need for a defaults hack to get it working.
I have not found it especially useful on my MBP, but it is a huge improvement for me on the iPad with keyboard and mouse. It feels much more natural now to have two windows open and quickly switch between apps. I used my iPad for about 80% of my work now, up from 10-15%.
>However I do think working in modern macOS is pretty nice
I have hated the Mac interface from day 1, for very simple reasons:
1. I want my file-edit-windows menu on every window, not sharing the top of the screen (the whole promise of the personal computer was that I could have what I want, why can't I have this? fuck Jobs and Jony and anybody who substitutes their own preferences for yours and then claims to be a high priest)
The reason is, I have multiple app windows open, and I routinely look from one app to another, and then I look where I want to click, simultaneously moving the mouse and clic... if my app does not have the focus, the whole eye and arm movement was a wasted expensive set of motions, now i'm even forgetting what I wanted to do while figuring out where I have to go click to get the focus moved.
the icing on my UI cake is using focus-follows-mouse. I don't require it, but I like it and it is antithetical to the one-size-fits-all everybody-must-conform Apple way.
2. I want a three button mouse. period. I don't want to learn gestures, click in special places, and I don't want my different OSes to be different in ways that don't need to be. Would it really hurt Apple's feelings if I could have menus where i want them? Yeah, and if you like where Apple's menus are, why can't you have them? UX designers are so narrow in their thinking.
The whole promise of personal computers was... F J & J
There’s no helping with your first complaint (UI philosophy difference), but fwiw you can both have focus-follows-mouse (for either the whole OS or just Terminal, both work great) and multiple button support (I use a 4-button trackball with other fancy bits).
That said, despite being able to hack lots about the system, it would definitely be nice to have deeper modifications allowed. Alternate kinds of menus, pointers and windows would be nice, where users could experiment with new UI concepts, etc.
I personally really miss NeXTSTEP’s tear off menus, which were in early OS X builds until Aqua got rid of them.
- https://github.com/trunkmaster/nextspace
Alas, the developer is Ukrainian, and hasn’t committed anything in a long while. But maybe someone could help out?