Alternate GUI for Windows

Is there any such thing as an alternate GUI for Microsoft Windows? I don’t mean just something that, so to speak, changes the skins. I mean some complete replacement for explorer.exe that runs in Windows but presents an entirely different interface to the user?

I ask just out of curiosity, not planning on actually using anything like this. I just began to wonder because I found some wikipedia articles on different linux GUIs.

-FrL-

Yes.

It’s called “OS X” + Parallels in Coherency mode.

progman.exe was still available as recently as Windows98. I dunno if it’s still there for later versions, though.

Google “Alternative Windows Shells” and you find a bunch of info on replacements for explorer.exe.

This really is not even slightly helpful. Virtualisation has nothing to do with replacement shells, which are what the OP was actually asking about.

To the OP: yes, there are several replacement shells around for Windows; none of them, in my experience, particularly inspiring, but I haven’t tried any of them in the last couple of years, so they’ve quite possibly improved. Here are the ones I’ve sampled:

[ul][li]LiteStep is arguably the most complete, and most customisable shell out there. A pretty large user community exists who have gone in some cases to quite extraordinary lengths to customise their environments to look coherent and spiffy. I have rarely found one which is also usable and friendly, however. If you’re looking for a customisation to wow your friends, however, this is probably a decent place to start.[/li][li]Stardock’s WindowBlinds allows relatively uninspiring skinning of the standard Windows shell; essentially this unlocks the built-in skinning ability of the Windows shell, rather than forcing you to buy new styles off Microsoft. It’s not free, however, and it is really just a skinning app.[/li][li]On the other hand, the same company’s DesktopX is a complete object-oriented shell replacement, which again I have only found to be annoying once you try to get past the superficial level. Also not free. As I say, though, this may have improved since last I tried it.[/ul][/li]There are some more replacements to be found on the wikipedia entry, but I’ve not tried these, so have no idea how complete or functional they are.

Sorry this isn’t a particularly positive answer - I’d say if you’re really dedicated to customising your user experience then LiteStep is the way to go, but it’ll take some work and you may not find it as usable as the default shell.

I liked LiteStep, but am just too used to Windows to completely replace the shell (I do find RK Launcher to be a nifty thing though it’s not a shell).

I’ve also used Emerge Desktop which seems to be growing to be similar to Litestep. What I like about Emerge is that some of the components can be run seperately from the Emerge shell and it seems slightly more user friendly.

Both take getting used to and in the end I just couldn’t shake the Windows expectations for day-to-day use. But I still play with each because it is fun.

If you are an X-Windows fan, you can use that under MS-Windows. The free Cygwin Unix-under-MS-Windows environment includes a free X server and associated basic programs.

I run this from time to time. One option is to have the X server take over the whole desktop and you can run just that. (I run the server hidden and launch X-Windows programs onto the regular desktop.)

You can also run some Gnome applications this way too.

And although it’s not a GUI, the Cygwin environment that ftg mentioned does provide Unix-like command-line shell interfaces (bash and tcsh), along with many of the standard Unix utilities, and lets you use Windows much like a typical Unix environment. Unlike cmd.exe, these are actually usable shells, and if you’re used to the command line they are faster than GUI for a lot of things.

Basically, no. You could make an alternate GUI, but it would not replace Windows, just sit on top of it. In fact, I once worked on such a GUI, called HP NewWave. It came out in the days of Windows 3.11, and added substantially to the features that Windows made available. Alas, HP didn’t know what to do with it, and eventually Windows added most of the functionality.

Plenty of alternatives to Windows exist, of course. You’ll get many respondents here saying that Mac OS is an alternative, but it isn’t, really. Others have already responded with alternative shells, but by themselves they are not alternative Graphical User Interfaces (GUIs).

As you note, your question comes from reading about various Linux GUIs. These are not limited to Linux; they could run on any fairly standard UNIX distro. I’ve seen both Gnome and KDE (two popular Linux ones) also running on Solaris. I assume they could run on FreeBSD as well.

All the UNIX GUIs I know of are based on the X windowing architecture. The basic structure of a UNIX OS is[ol]
[li]At the bottom, the kernel, set up for a set of hardware.[/li][li]Next, and still part of the core OS, the various file systems, programs, and structures that make up a particular distro.[/li][li]Off to one side, various command-line shells.[/li][li]The X windowing architecture, consisting of programs and libraries. These implement basic graphics interactions with a display.[/li][li]The desktop environment, such as Gnome or KDE. These come with GUI programs, widgets, etc. that allow you to interact with the core OS and with your machine.[/li][li]Finally, 3rd-party application programs that have been written for one of the desktop environments.[/li][/ol]

Now of course Windows also has layers like this. The difference is that Windows everything below the final level. You can’t do anything except write programs that use the API that Windows provides, so you can produce your own GUI unless you want to put it on top of Windows itself, as I’ve said.

In comparison, Linux lets you dig all the way down. Some wild and crazy SW engineer may be out there right now writing an alternative to X, for all I know. You could certain write your own desktop environment on top of X, and then you’d have an alternative to KDE or Gnome. In fact, people have done this, I just don’t know what the names are. My excuse is that I’m a technical writer, not an engineer.

You could even run Linux without X, if you wanted to. It would be much harder to use this setup, since you could only have one program in the foreground at a time. You need X for windowing.

Lots of Linux boxes don’t run X - typically servers that are either administered remotely by secure shell, web-based admin, or by the command line locally.

Correct me if I’m wrong, but my understanding was that without X, there isn’t any graphical environment at all, so the notion of having one program in the foreground at a time doesn’t really apply. Lots of programs can be running and not displaying anything at all.

I’m sure an alternative to X could be made (or probably has).

That’s true. Servers don’t run X because they don’t need to. In fact, servers don’t even need to have attached displays. You can configure them to be “headless”, so that the only access is through login from another workstation. In the modern world, what constitutes an individual computer can be hazy.

You can have a GUI without X, but you have to write everything yourself. For every set of pixels you would see, you’d have to write a program to set them. You’d have to write programs to convert bytes into characters on the screen, sense where the mouse is (if you wanted to use one), and so forth. You’d have to establish a set of rules and messages for programs to use so that you could change focus from one window to the next, and so forth.

Clearly it’s more bother to do this than to rely on X.

I do come from the days before X. When I learned computer graphics, we spent a lot of time just learning how to design very simple systems for drawing lines and circles. At that time, Windows was about 10 years in the future.

I observed that you can only have one program in the foreground without X. What I was trying to say is that you can run a workstation with just a shell for input, but it limits you.

Any multiprocessing OS can have several active processes/threads at once, and all of them can take both inputs and outputs. For example, you can have a Linux box serving standard HTTP through Apache HTTP server, Java applications through a Java Servlet Engine, file transfers with BitTorrent, and other users through remote login. 3 programs, 3 sets of inputs and outputs, plus all the other users.

On the other hand, you can only have one program at a time using that workstation’s display and keyboard, unless you have X. Otherwise, you’re forced to use a shell and put all but one process in the background. With X, you still can input to only one process at a time, but you can have multiple processes sending output to the display.

I hate to continue the non-windows derail, but I just wanted to point out that this isn’t entirely true either, if you have “screen”. You can split your console into regions, so it is very much like a textmode windowing system. I do this all the time over VPN to get stuff done at work, and as long as everything I do involves text only (which for me is mostly running VIM, sqlplus, scripts, etc) I can run just as effectively as I would have with X. Screen is awesome.

Screenshot can be seen here: The Gentoo Linux | CustomEssayMeister.com

To my understanding, I was not asking how to replace Windows, but rather, simply how to replace its GUI. So it seems like your answer to my question is actually “Yes,” rather than “No”.

However, I wonder if there is something I’m not understanding?

I know you said others have suggested alternative “shells” rather than alternative “GUI’s”. What is the difference? And why is it you think an alternative shell does not actually satisfy what I was asking about?

-FrL-

Oh, sorry; I didn’t explain that earlier. A shell is simply the interface to the operating system, so both GUIs and command lines (CLIs) are shells. LiteStep and Emerge Desktop are graphical shells, and are two of the main complete GUI replacements for Windows (there are some more listed at the “shell” wiki link). As far as I can see, these are exactly what you were asking about; so the answer to your question is yes, the GUI is entirely replaceable. So is the CLI - Microsoft released Windows PowerShell a while back, which is a much more fully-featured CLI than the old cmd.exe.

Meaning no disrespect, I think 633squadron’s answers are fairly confusing, at least in part because he seems to use the word “shell” as synonymous with CLI in places, but not in others. I also disagree completely that the shells listed above are not replacement GUIs. What else could they be? They “sit on top of Windows” in exactly the same way that the standard Windows GUI does, and replace the graphical interface options offered by it. Similarly in the Unix world, KDE, CDE, Gnome etc. are all graphical shells, that sit on top of their host OS.

My only reservation about the Windows GUI replacements mentioned is that while superficially pretty, IME they rarely provide an enjoyable end-user experience once you start using them in depth. Triumphs of style over substance, largely. Also, unless you only use skinnable applications and are capable of skinning them yourself to match your new GUI, there’s typically a horrendous clash of styles as soon as you run actual programs. For all that the Windows environment isn’t massively coherent in terms of style, it’s quite surprising just how silly a lot of programs look when run in a windowing system with a completely different graphical style. So in the LiteStep community, for example, you see people going to great lengths to get WinAmp and things matching the look of their system. You end up with some extraordinarily pretty-looking screenshots with a couple of choice apps running, but a mess once you actually start working with the computer.

There is no such thing as X-Windows. The GUI is called X, and it happens to be a windowing environment (as opposed to the other GUI models tried from time to time – look up Jef Raskin’s “Humane Interface”). Saying X-Windows just shows to the experts that you are ignorant.

You can run background jobs in the shell without any graphical system at all. You can’t have windows, though, and you can only view graphics using the rather primitive SVGA framebuffer (assuming your system supports it).

Geez, no need to be like this. Its full name is the X Window System, and X Windows seems like a perfectly reasonable informal name for it. It’s one I hear pretty frequently around my department (computing research at a major UK university), so it’s hard to agree with you on this one.

Edit: for that matter, X isn’t even a GUI as you claim; it’s a toolkit and protocol for building GUIs.

I’m confused here. And my confusion is augmented by not being a low-level Windows programmer (nor much of a GUI programmer at all). Is “alternate GUI” a synonym for “window manager”?

The small amount of GUI programming I’ve done on Windows used the MFC. Of course, function calls access libraries. Am I correct in saying that, at a possibly oversimplified level, Windows Explorer is that graphical library?

IIRC, graphics programming packages such as QT and GL are available for Windows. What role do they play? Do they replace the MS graphical libraries? Augment them (that is, reside on the same “level”)? Sit “on top” of them?

It seems to correlate strongly with ignorance. That’s all I’m saying.

That seems a bit too technical for this forum. The concept of a network protocol as a fundamental part of a GUI would blow minds accustomed to single-box computers such as PCs.

Consider your ignorance unfought.

The XFree86 project consistently calls it X as the short form in its own documentation. (This cite is authoritative because the XFree86 implementation was the premier implementation of X in the Unix and Unix-like world for years prior to the license change and is still widely used.) Can we all expect a cite from you?