I wish guile-wm was under more active development, so maybe a few more hackers could help get the ball rolling.
One could always modify StumpWM at runtime, via SLIME, which is far superior to geiser. Common Lisp is also superior to Scheme (as a language) and SBCL/CCL are miles better than Guile in particular, Guile being one of the worst Scheme implementations out there.
For libraries, CL has the same problems as Scheme so it's a wash. I hit this keenly when interacting with the OS (POSIX calls, mostly).
You doing work on Linux and need a very fast compiler? Use SBCL, 3rd party libraries continue to work (unless they're platform specific)
Doing work on OSX or Windows? Use CCL. 3rd party libraries continue to work (unless they're platform specific).
This flexibility is absent from the Scheme world, with the myriad slightly incompatible implementations and extremely fragmented library space. The emergence of Quicklisp for Common Lisp was so important that it alone KILLED Scheme for any sort of practical use. For most cases, one has not the slightest incentive to stray from using Common Lisp these days, and if he does, he better have a good reason.
What is the equivalent for Scheme? The SRFI hell? _shudder_
At least that's the case in the newer "open" CL world; older CL code, especially commercial code, more often did target a specific implementation like Franz, which is more like the Scheme approach.
Your comment would be much better without this bit, which is entirely subjective.
Guile is a GNU project, which means that if you care about (say) Windows (gasp), you're shit out of luck.
The same used to be true about OSX 2-3 years ago, I haven't bothered to check again since then.
Coupled with the fact, that maybe 2-3? people are actively working on Guile (guess what platform they're focusing on), and that pretty much nobody is using Guile besides little toy projects, things are not looking good.
No, a really good Scheme implementation would be, Racket or Chicken. Hell, even Gambit is objectively better and more mature than Guile. I guess you're too blind to see that.
Are you using StumpWM on windows?
I liked StumpWM when I used it, but as a Schemer, I'm inclined to use/hack guile-wm.
I usually have my editors on workspace 1, local terminals on 2, dev chrome on 3, some other local terminal / API on 4, logging on 5, remote terminals on 6, personal chromium on 7 (gmail/slack/music), IRC on 10.
But anytime I can just ctrl-t-ctrl+c which gives me a full-screen terminal, split the screen in half with ctrl-t-ctrl-s with two applications side-by-side, usually two terminals.
To be honest, I haven't tweaked the stumpwm config in a while.. maybe in a year. But I remember the first few months was so cool to add all lisp functions to manipulate the window manager. I.e. select a word, press a key, it opens google and search for it.
My setup is here:
https://github.com/duncan-bayne/mint-setup/tree/master/conf/...
Does someone have some experience with it ?
The README has the following statement :
"DSWM is a fork of StumpWM, so have most of all features, which have StumpWM, but it designed for better usability and better integration with emacs."
There are some issues because the various desktop environments really don't want their in-house WMs replaced, and don't really document what needs to be done in order to just swap out the WM, leaving everything else. It's kinda sad really, and extremely anti-Unix.
Still, StumpWM is so pleasant and easy to use that it's worth the minor pain of getting my desktop environment working with it each time I update machines.
Highly recommended!
[1]: http://xmonad.org/
Well... For one it wouldn't be the emacs of window managers.
If you want to go the full mile, you should go the full mile. Trying to do half a mile subset and hoping it is the right subset gets tiresome pretty quickly.
I deeply respect them for doing it this way.
Emacs is some primitives written in C wrapped by a massive amount of Elisp extensions.
Using minimalistic config myself: https://github.com/grepz/dotfiles/blob/master/.stumpwmrc
Re: SCWM, Pot and the GPL... [1]
I'm used to emacs, where if I kill a buffer while split, the killed buffer will be replace by a hidden buffer, or the frame will unsplit.
However, in stumpwm, sometimes I'll end a program while split, and I will be left with an ugly blank space where the program's window used to be. Then I have to manually unsplit and resplit to restore the layout I had before.
Am I doing something wrong? I'm looking up how to get around this. I think it'll involve
*destroy-window-hook*
I just want stumpwm to take advantage of the whole screen at all times.Thanks.
For me, (ctrl-t backspace) remove the current frame. I like the flexibility of Stumpwm where it differentiates between the space taken by an application and where it fits on the screen (Frame) vs the application.
The scenario you are describing happens if you have 2 frames while only one app running. Otherwise the next app would just fill that frame that is now available. Personally it doesn't bother me.. I'll just either remove the frame with (ctrl-t-backspace) and then my only app will now be full-screen on that first frame. Or I'll open another app in that empty frame, such as a terminal.
The floating layer in stump is quite frankly terrible. Pop up dialogs often act oddly. Yesterday I was updating ebooks in Calibre menus were appearing full screen and the progress dialog would grab focus and pop to the front on every tick. These are the types of issues that caused me to stop using it 4 or 5 years ago so unless you are willing to fix them yourself I wouldn't count on things improving.
That being said I much prefer the StumpWM tiling over i3. The tree structure that i3 uses is a bit odd. Stump is much more straightforward you have frames and windows. Windows are displayed inside frames and you can split and resize frames however you like. I never have to focus parent in order to split a frame vertically instead of horizontally as you might in i3.