Most applications work fine since there is little difference between WMs. That said there are two issues Window Maker has that nobody has fixed:
1. There is practically no RandR support. Sure, you can enable it (and i think it is enabled by default) during compilation but the "support" is really to restart Window Maker whenever the video mode or whatever else changes so that it uses the new resolution. However due to the way Window Maker seems to identify monitors (it seems to use the vertical resolution - probably a hack that worked for someone somewhere around the 90s or early 2000s and nobody bothered to update to use something less hacky) it also causes duplicate dock configurations. Also for some reason if the dock is larger than the vertical resolution anything that doesn't "fit" gets thrown away. Ultimately i've found it easier to just disable RandR support to avoid losing my dock configuration whenever some program changes the resolution.
2. While there is EWMH support, either there is some bug with how some parts are implemented or (most likely) there are subtle differences between Window Maker's implementation and other window managers (e.g. IceWM) that applications assumed would work like that cause issues with Window Maker. The most obvious of those is applications that want to "take over" window management and handle moving and resizing themselves - it either doesn't work (the applications do not move) or the move/resize happens erratically (e.g. Firefox with the titlebar disabled or Steam has this issue). Also many applications do not get the frame size (this is probably some race condition because Window Maker does set the frame size hints properly) correctly, causing them to get wrong sizes and when combined with them trying to handle sizing and position themselves, they can end up flickering by constantly trying to set the "correct" size and/or moving and sizing themselves whenever their UI updates (often becoming smaller and smaller because they assume some frame size of 0). This is most common with applications running under Wine, but some other applications have issues too because of that (e.g. Virtualbox).
I've tried to figure out the #2 (for #1 i just don't care that much since i'm using a single monitor anyway) but from what i could tell Window Maker seems to be doing everything properly. I didn't spent that much time on it though. At some point (and assuming nobody else does, though it has been like that for years) i'll try and compare what Window Maker does and what IceWM does (which works fine) and where their behavior differs. My guess is some race condition, perhaps Window Maker sets the hints too late or something, though this is just a guess. I'll need first to write a small X11 program that replicates the issue.
As a workaround for #2 i've been using a feature i added to Window Maker years ago to ignore any decoration changes for windows (it is in Attributes -> Advanced Options -> Ignore decoration changes), essentially forcing all windows to have a resize frame and titlebar, ignoring any requests for hiding them. This lets me move around and resize, e.g., Steam (and also use all window management functionality that Window Maker provides - like rolling the window up/down using the mouse wheel - instead of whatever Valve thought i'd need).
One other issue with Window Maker (though it isn't really a Window Maker issue per-se) is that since Window Maker is not a (desktop) compositor, Gtk4 applications that assume a compositor will use black colors for whatever would be beneath a window - this mainly means that popup menus with rounded corners will actually get black corners. This is really a side-effect of Gtk4 assuming a compositor is there and not having a fallback for when there isn't one and would be an issue with other window managers too, but it should be solvable (if you care about it, i don't) by using a dedicated compositor (i think compiz or something like that may work).
> 1. There is practically no RandR support.
It is awkwardly implemented yes, as internally wmaker will restart, although changing resolution works for me most of the time. Wmaker doesn't identify monitors, it talk with xlib to get the layout when new display is detected or removed.
As for double dock - never have double dock issue. Sometimes I ended up with lossing it's configuration, especially in a cases when resolution set for the display is too low. That might happen when no display is detected/connected, then resolution is set to 64x64 pixels by X.
> 2. While there is EWMH support, […]
It's partially implemented, and indeed it lacks of handling self-managed application. Some apps are working fine (AFAIRC GTK3 based) and some don't (steam client), but in general for those which are not cooperate modifier key can be used to move such window around and keyboard shortcuts (which I'm mostly using anyway) to resize. Or to force window to use wmaker decorations as you mentioned.
This issue I've tried to solve couple of years ago[1], found culprit, but I've failed to do so. I've also spend a large chunk of time to compare it with PekWM, where those things are working as intended, but stuck on event handling.
As for composition. You might consider to use standalone one (xcompmgr, compton, picom, etc) just to get the effects.
It'll restart if anything changes, but the problem is...
> As for double dock - never have double dock issue. Sometimes I ended up with lossing it's configuration, especially in a cases when resolution set for the display is too low.
...that it attempts to create different dock configurations based on the monitor height (you can see that if you check the configuration file). This is something that would make some sense in a pre-Xinerama world where Window Maker would be launched for each monitor, but it doesn't make some sense post 2000s and is really just some ancient hack that nobody bothered to fix.
> It's partially implemented, and indeed it lacks of handling self-managed application.
AFAICT the support is there, but some applications seem to assume some additional de-facto behavior that Window Maker does not have. Initially i also assumed the support wasn't there and i went into implementing it myself, only to find out that it is already implemented - and seemingly works as the spec describes.
it will create dock based on the new display IF the new display is the primary one. You can have displays in different resolution, and it will work. I'm using dual monitor on daily basis and occasionally connect additional one, and didn't get "dual dock" for years. Let me stress it again - dock conf will get messed up, if resolution for the display is smaller then current dock height.
> AFAICT the support is there
Nope [1]. Not for those message types.
[1] https://github.com/window-maker/wmaker/blob/da676c9e9eff0e40...
I think there was a misunderstanding here, i wrote "duplicate the dock configuration", not that there was a "dual dock" on screen. Basically if you open `WMState`, under the `Dock` node you'll see something like `Applications { ... }` but also an `Applications<height> { ... }`.
The reason being that Window Maker uses the current screen height to identify which dock to load/save by attempting to load `Applications<height>` and if there isn't such an entry (it doesn't try other heights), it reverts to `Applications`, if any or just destroys the dock.
This behavior (which has been here since 1999[0]) combined with restarting whenever RandR restarts means you get to lose your dock setups whenever the resolution changes. Or if you want to be more generous, you get to use a different dock per resolution.
Which is why i do not have RandR compiled it.
> Nope [1]. Not for those message types.
Yeah, sorry, i meant _NET_FRAME_EXTENTS for calculating frame size, which causes issues with Wine and some other applications.
[0] https://github.com/window-maker/wmaker/blob/3c046182788196eb... (check the commit at the top)
Oh, right. For me it will always be messed up dock conf, when resolution of the screen, where dock resides, will be lesser than actual dock height. I guess that thing deserve a bug report. I bet most of users would expect to have dockapps preserved even if those are out of reach because of screen size.
> Yeah, sorry, i meant _NET_FRAME_EXTENTS for calculating frame size,
That's true.
FWIW even with those annoyances, wmaker is still usable. The only things which manifests to me are virtualbox trying to fight wmaker in window placement and steam launcher which lacks of ability to move around with mouse (without modifier key).
TBH, I'm pretty happy with it, perhaps my workflow plays a role here, as I'm rather keyboard person, and mouse is used mostly on web browser.
Nice startup time, and just works -- especially if all you use are terminals and browser windows. Things like firefox look a little out of place, now that they are pushing their UI chrome into their own title bars.
I really wouldn't want to host my stuff on any Microsoft controlled sites.
So, no, there isn't.
I'm sure it's long gone now but it used to be included with OS X (along with other NeXT-era artwork):
https://www.theregister.com/2008/09/02/mac_images/
Then about 10 years ago, MicroSoft (more likely somebody's 20% project) tried to do it again, this time based on iOS.
I never knew about this and was a NEXTSTEP/OpenStep/Rhapsody/OS X user and spelunker. Tell me more!
Take a look at https://hetima.github.io/fucking_nsimage_syntax/2.html - specifically NSWin* images (sliders, checkboxes, arrows). You can also see some NextStep era artwork and MacOS 9 (Rhapsody) artwork.
In fact, this should rather be considered a Window Maker based Debian/Bookworm distribution instead the stated reverse. Certainly more then 95% of the shipped packages are plain Debian/Bookworm packages, with only a few additional packages contributed by yours truly.
The main merit of wmlive is providing the necessary glue to properly preconfigure Window Maker with an out of the box usable environment (unlike Debian's crude/primitive Window Maker configs) and make it the default GUI.
The other merit is to make the supplied software complete enough to serve as a standalone system without the immediate need to connect to the internet to install more useful packages than are normally supplied by distributions in their quest to provide an initial system too generic to be really useful by already experienced users. This is not meant for beginners,
While some work went in homogenizing the overall looks with Window Maker's own WINGs widget set, no efforts were wasted with further eye candy stuff. The themeability of the WINGs widgets are limited to that crufty NeXTSTEP look everybody either loves or despises, being the least common visual denominator. Not being particularly enamored of these visuals, but this was the only way to find some common ground for the look and feel.
Window Maker is just a highly compatible X11 window manager and is supposed to work as such. There is no interest to specifically integrate it with the provided GNUstep applications, as this is not supposed to be predominantly a GNUstep desktop. The included GNUstep applications are just an addon to give people a practical way to verify what GNUstep has to offer. In fact, wmlive would be perfectly usable without providing any single GNUstep application. The freedom and flexibility provided by an X11 window manager instead of the walled garden of a specific desktop system is much more preferable to many Linux users. NeXT nostalgists might want to look elsewhere. [1][2]
What most people don't seem to get is that there is much more to wmlive than just the visible desktop. Below the hood is a wide range of command line tools suitable for system rescue and repair when using it as a live system booted from an USB stick. Supposedly many youngsters who were yet to be born when we already grew up with Linux from day one have never learned to look beyond what's visually obvious.
If anyone who downloaded it does like wmlive, I'd appreciate a donation via the download pages. While i hate sounding like a beggar, given the current economic situation i could really use it. Thanks!
[1] https://github.com/trunkmaster/nextspace [2] https://github.com/onflapp/gs-desktop
There is a Wayland compositor namend wlmaker[2] that tries to mimick Window Maker. But judging by its description it still appears to be a far cry from that Window Maker offers.
https://github.com/trunkmaster/nextspace https://github.com/onflapp/gs-desktop
Is it currently maintained though? The main page for it states “Latest source of stable version is 0.96.0, released on 2023-08-05.”. The previous couple of releases where a few years apart so this could just be because it is largely (entirely?) feature complete but still actually supported, or not…
--------
[1] I still use Linux a lot, but mostly server-side via CLI rather than anything GUI. Those few occasions when I've found myself using something in the GUI fold it is usually via X remoting (via SSH) or where I'm working more offline such as with a LiveCD I just use whatever the default is for the distro I'm interacting with.
[2] It won't even officially run on this desktop, and I refuse to use hacky tools to get around that so that I can regrade to something I don't even want, and Win10 has had a couple of issues on the laptop (wrt waking from sleep, or not) for a couple of years (it used to be fine, the issues started immediately after one of the big updates, I forget which, various firmware and driver updates since have had no lasting effect).
Yes, but there aren't any huge changes in it, so releases are sporadic. You can see that there is the occasional commit on git[0] though most patches posted in the developer's mailing list are for the dockapps (in a different repository), not WM itself.
[0] https://repo.or.cz/wmaker-crm.git/shortlog/refs/heads/master
indrora•6mo ago
Is it perfect? No, but it's sure a step closer to an ideal than whatever .so hell that we came up with before.
wmlive•6mo ago
It's a pity no one ever tried to replace the WINGs widget set with actual GNUstep components, thus adding the full GNUstep themeability WINGs is not capable of, in order to finally get rid of that crufty NeXTSTEP look.
mikestorrent•6mo ago
A lot of really great work went into GNUstep but looking back... for what? It would have needed so many more resources than it had to ever have a chance at becoming something like the above.
Maybe with AI, one day it will be easy enough to pick some of these ideas back up and run with them.
wmlive•6mo ago
Not being a software developer myself, I've resorted to loosely following the progress of GNUstep over more than 20 years, in the hope that it will eventually become a viable option. But apparently capable people found more interest in KDE, GNOME, and similar projects based on either Qt or gtk+, and then hardly anyone cared anymore.
By all means, if anyone here is capable enough is wanting to still contribute to the GNUstep project, please do! At the current stage of the project it would be a pity if all the efforts made over the years would be wasted by not supporting it anymore.
anthk•6mo ago
On KDE, hope QT and Nokia or whoever controls QT today doesn't crap out everyone with a new licensing again. Because if that happens, Plasma it's dead. And Marble and tons of nice projects such as Okular. Yes, QT forks, but that takes tons of time.
anthk•6mo ago
badsectoracula•6mo ago
Hot corners is a great feature and it is in fact part of being a window manager since providing means to move and resize windows is one of the core aspects of window management.
> It's a pity no one ever tried to replace the WINGs widget set with actual GNUstep components
Uh, no, GNUstep is heavy, weird, doesn't look that good (all these smoothed out approximations of the NeXTSTEP look are ugly) and is incredibly buggy and unstable.
> thus adding the full GNUstep themeability WINGs is not capable of
I'd rather see WINGs adopt themes itself than use GNUstep.
> in order to finally get rid of that crufty NeXTSTEP look.
Some people actually like that NeXTSTEP look. In fact AFAIK historically Window Maker exists exactly because the original developer didn't like Afterstep not looking NeXTSTEP-like enough.
gryf73•6mo ago
It was by purpose at the beginning. Window Maker suppose to be lightweight window manager which resembles nextSTEP, nothing else. GNUstep people has decided to adopt wmaker as their window manager, not other way around.