Hacker News new | ask | show | jobs
by lol_catz 1182 days ago
I'm still running windowmaker
5 comments

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).
I just noticed I can install this on NixOS. NixStep, here we come!!
I dream of getting a PlayStation 2 Linux kit and setting up the GUI. I believe that was the default desktop environment!
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??

other questions: sometimes right-click for context menu requires a click and hold, other times it doesn't. configurable?

> 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).

[0] https://github.com/badsectoracula/gamescope/

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.

Nice, going to try all this! Thanks!!

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

Heh! I ran the same for the first decade of Linux use.

Now I am sad.