Previous: A NeXT Computer Emulator
previous.unixdude.net
previous.unixdude.net
- 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?
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.
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:
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.
https://news.ycombinator.com/item?id=19084769
https://news.ycombinator.com/item?id=8745943
this forum is where the dev discussion is happening http://www.nextcomputers.org/forums/index.php?topic=2642.0
> http://previous.alternative-system.com/
Also, the homepage at unixdude.net is not distributing the sources which is a GPL license violation.
Along with just about all the public ally available software ever made. It’s really a treasure trove.
The turbo cube dimension had dual monitors (one colour one bw) in 1989 which was cool. Myself I just run a turbocolour station.
https://previous.unixdude.net/about.html
https://previous.unixdude.net/screenshots.html
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.
Now I am sad.
other questions: sometimes right-click for context menu requires a click and hold, other times it doesn't. configurable?
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.
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?)
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.
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
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).
This has such a calming feeling to it.
Some more details would help. Which OS are you trying to run Previous on? Did you compile the code yourself or did you use a prebuilt binary?
https://www.theverge.com/2019/11/1/20943552/scroll-bar-visua...
I have an old NeXT machine that works and has NeXTstep running on it. How can I extract the ROM from it and use it to run this emulator?
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.
Retrospective partly about NeXt with Steve Jobs.
Too much looking around the corner to see what you’re typing.
Quantrix is also a fat binary so you can run it on x86 nextstep or openstep under in a vm.
How would you start it in this emulator?
Lighthouse gave away serial keys to all their products when sun bought them.
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).
[1] https://www.youtube.com/watch?v=XAF0xdIiI20 [VirtualBox tutorial]
[2] https://www.youtube.com/watch?v=uVCxfoG8bv4 [VMWare Tutorial]
That was exactly my point when I said:
> It doesn't even say anywhere on the page that it's Mac-limited
It says nothing about the OS it runs on, which IMHO is lame.
> > > 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?
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.
(If I have to write a nix file to build it, that's fine as long as it's a fairly standard build process.)
They pop up in every forum.
Reminder any and all money given to these rats ends up in lawyers hands[0]. They don't even pay the developers.
I can see though why long time Mac users would hate it though, it’s a massive change and it moved everything.
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.
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.
Mostly, though, I'm just happy that they're dog-fooding SwiftUI with it. I look forward to WWDC this year.
Modern UIs look more elegant. But I find it easier to conceptualize different contexts on my screen with thicker, embossed, brutal border indicators.
I also simply like the aesthetics for their own sake.
It hurts me as the Mac is my main work tool and has been for almost 40 years. It’s hard to watch it drift into stupidity.
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
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.
Nowadays I get by with XFCE when still doing Linux desktop session.