Another Feature I didn't get to touch on was `stumpish` a commandline program that allows you to interact with stumpwm using the same commands available with `prefix ;`. This should give you a good starting point for those of you coming from bspwm. There are plenty of other features I didn't get to mention but but I figured those of you a little new to lisp would appreciate something a bit more familiar.
Wow being able to treat emacs/vim windows as first class tiles is brilliant. It always irked me that I'm running an application specific "wm" inside a real wm.
I used StumWM about a year ago. I was a bit annoyed when using Zoom, that it was pretty difficult to recover windows that Zoom "minimized". But I mainly switched away from it because I always get tearing on RUclips videos on X11 and wanted to give Wayland a try. StumpWM was very fun to use and I liked the manual tiling paradigm.
I know this is a year late, but for the good of the group, picom is a compositor that works with any window manager including stump, and it will solve that screen tearing problem.
@Kyle Stubblefield Thanks, good input. For me, I used picom back then and enabled vsync. Even after some tinkering with the picom config, I just couldn't get rid of the tearing :/ But I would assume, if it's set up properly, that tearing shouldn't be an issue.
@@pascal7947 Even later, but for me the thing that did it for me was switching the backend from xrender to glx. xrender is the fall back software rendering backend (i.e. it doesn't use the GPU to draw things). Afik in general (with the exception of some Intel drivers and potentially the xr_glx_hybrid mode) xrender does not support vsync at all. So if you were using that backend enabling vsync in the config or CLI arguments, it would not work and still have the tearing problems (because the backend doesn't support it). Switching to the glx version uses OpenGL (i.e. proper GPU based rendering) and supports vsync with the caveat that it needs you to actually have graphics drivers installed (which is why xrender is still there as the default). tl;dr: Enabling vsync and setting the background to glx (which actually supports it) should solve the tearing problem (and in general be nicer as it is accelerated rather than software rendering).
Could touch/pen-events be bond and filtered synced to a specific frame? For example on a wacom pen-touch-screen, allowing binding touch-events to frames that make up a tool-palette and allow in a frame containg the actual drawing-canvas either pen or touch - to override/optimize/addon correct handling that is not given in an application (inkscape/gimp/blender/...)? Also: is the spacing/margin added by you - is it possible to define frames as linked snuggly to the edge?
Hi Gavin, in your research of TWM have you find one that supports desktop zoom to mouse position like Xfce does when holding (alt or super)+scroll wheel?
afaik, there’s none that actually support that otb, but it could be possible using wayland (because x11 doesn’t like fractional scaling) and dwl (or whatever). You could create a keybinding in the config that runs a script that increases scaling on your desktop. I’m not sure how that would look because I’m not a shell scripter, but it might be worth looking into
So I am very tempted to try out stumpwm after watching this video. But one issue I have is that I am using bspwm with kde right now. And I won't lie, having kde take care of all the BS like notifications and battery life warnings is really really nice. I hated having to configure all that while running a WM. I wonder how well stumpwm would work with kde. Or, if there are are other options than kde to run alongside a minimal wm.
Hi, thanks for the vid! How did you install stumpwm? I tried via AUR (Arch) and by building from source, but there's no dynamic group feature available. I was able to find it in the source code, but stump just crashes when I load it from there and try to put a window on a newly created dynamic group like that...
It requires client server support. For vim this is possible using --remote vim-jp.org/vimdoc-en/remote.html . For neovim there is github.com/mhinz/neovim-remote however it's isn't maintained but the devs do seem interested in adding native support for --remote and friends.
Hi Gavin, thanks for this, longtime StumpWM user always on the lookout for cool new bits to copy from other users' configs, but... your link to "your config" above only goes to your fork of StumpWM itself. Where's your config?
Bro I don’t spake English language but I want ask u I why if I open two terminal ok if I switch between them one terminal get little more light and another one is little dark Please answer me I have Bspwm will polybar on arch Linux How to fix that I need all terminal same light 💡
It's sort of a shame that Guix is Guile and Stump is CL. This is not to sound ungrateful for *almost* having my whole system configured in a homogeneous way. Lisp is amazing for this in general. However, I still have to avoid confusing the subtle differences of elisp, CL and Guile to have the holistic setup I am looking for.
Yeah would be pretty cool if someone made a window manager with Guile. Maybe even one written in C and extended with Guile just like emacs with C and elisp.
Would love to use StumpWM, but I've had it totally lose the plot with layouts, and crash or seize up so many times. Will be interested to see how you go.
@@GavinFreeborn About a year ago I'd say. At first I thought it didn't like my multi-monitor set-up, but I had it on an old laptop and it started freaking out on that pretty quickly too.
Pretty sure if you're not relying on Emacs , you're doing it wrong... but StumpWM is awesome from what i hear. and i understand the basic idea of not wanting to rely on one piece of software
Gavin, Gavin, Gavin! Now you have introduced a dilemna into my window manager usage. The minimalism of DWM and C or the (cough, cough) bloat of StumpWM and Commmon LISP. < Grandpa Simpson waving his fist in the air > P.S. You'll have to pry vim from my cold, dead hands. ;-)
As a longtime dwm user. The idea of being able to treat your wm as a living environment and enact changes on the fly, such as a bespoke layout to optimize a certain task is very appealing. And just isn't something you can do with dwm.
@@GavinFreeborn It’s crazy powerful, you just have to stick the hell with it. Currently working out some integrations with TMUX, so I can query session groups, various granularities of targets (down to the pane level) and integrating that into sshd/docker/kubernetes. You inspired me to overhaul!
I'm guessing you've been through `i3wm` already? Honestly, I never felt compelled to try any other. I must say "frames" seem annoying to me but I guess every asshole has an opinion.
@@GavinFreeborn I mentioned it because you said in this video what you used before was sometimes unstable and `i3` has never crashed on me once over the 6 or 7 years I'm using it. There's only one thing I'm not happy with - it doesn't have "always on top". But some people are never satisfied. 😉
@@cprn. my I moved away from i3 about 3 years ago because I prefer a wm where I configure it in a programming language. I3 kinda had that but it was no where near the competition in that aspect. I'm a tinkerer/programmer at heart so this was pretty high priority. Dwm was stable but exwm is literally emacs hacked into being a window manager so I wasn't expecting a consistent experience.
@@GavinFreeborn Ah, yes, I agree `i3` config file isn't exactly a coder's dream - it's somewhat shell-like, somewhat JSON-like but mostly their own shenanigans. Had several caveats with it, I admit. To this day my terminal starts on wrong desktop but as I open it once per reboot (which happens about once a year) I guess I've learned to live with that. To each their own. 😆 Have fun with Stump.
Do you mean leaving dwm or ending the video earlier than I would like? I gave my reasoning for looking at something different but maybe you didn't see that.
Another Feature I didn't get to touch on was `stumpish` a commandline program that allows you to interact with stumpwm using the same commands available with `prefix ;`. This should give you a good starting point for those of you coming from bspwm. There are plenty of other features I didn't get to mention but but I figured those of you a little new to lisp would appreciate something a bit more familiar.
Nice! I just started playing around with StumpWM myself as I try and learn common Lisp.
Wow being able to treat emacs/vim windows as first class tiles is brilliant. It always irked me that I'm running an application specific "wm" inside a real wm.
Yay, you came to the Lisp and Emacs side! Thanks for this, liked and subbed. Love all of your vidoes, keep it up.
I love that you can stack windows on top of each other. I wish more tiling WM's had this feature. Like bspwm for example.
how do you stack with bspwm?
@@001mhu
You can't. I was saying I wish bspwm had that feature.
@@copper4eva ah... haha yes. that was my bad :D
@@001mhu It's not 'your bad'. HE put it ambiguously.
you can do it in dwm. You can pretty much do whatever you want in dwm
StumpWM looked so interesting, I'm giving it a try. Thanks for the great demonstration Gavin!
Oh, this looks great. Something to try out
StumpWM Master race.
i’ve been using stumpwm for years, mostly
for the insane hackability in CL. Such a fun WM!
Very underrated channel.
I used StumWM about a year ago. I was a bit annoyed when using Zoom, that it was pretty difficult to recover windows that Zoom "minimized". But I mainly switched away from it because I always get tearing on RUclips videos on X11 and wanted to give Wayland a try. StumpWM was very fun to use and I liked the manual tiling paradigm.
I know this is a year late, but for the good of the group, picom is a compositor that works with any window manager including stump, and it will solve that screen tearing problem.
@Kyle Stubblefield Thanks, good input. For me, I used picom back then and enabled vsync. Even after some tinkering with the picom config, I just couldn't get rid of the tearing :/ But I would assume, if it's set up properly, that tearing shouldn't be an issue.
@@pascal7947 Even later, but for me the thing that did it for me was switching the backend from xrender to glx. xrender is the fall back software rendering backend (i.e. it doesn't use the GPU to draw things). Afik in general (with the exception of some Intel drivers and potentially the xr_glx_hybrid mode) xrender does not support vsync at all. So if you were using that backend enabling vsync in the config or CLI arguments, it would not work and still have the tearing problems (because the backend doesn't support it).
Switching to the glx version uses OpenGL (i.e. proper GPU based rendering) and supports vsync with the caveat that it needs you to actually have graphics drivers installed (which is why xrender is still there as the default).
tl;dr: Enabling vsync and setting the background to glx (which actually supports it) should solve the tearing problem (and in general be nicer as it is accelerated rather than software rendering).
Default leader key is Ctrl+T? Finally! A WM optimized for my Dvorak Atreus!
Could touch/pen-events be bond and filtered synced to a specific frame?
For example on a wacom pen-touch-screen, allowing binding touch-events to frames that make up a tool-palette and allow in a frame containg the actual drawing-canvas either pen or touch - to override/optimize/addon correct handling that is not given in an application (inkscape/gimp/blender/...)?
Also: is the spacing/margin added by you - is it possible to define frames as linked snuggly to the edge?
Can't speak on the 1st one but there is a module in the contrib repo. The second one you definitely can do that.
Hi Gavin, in your research of TWM have you find one that supports desktop zoom to mouse position like Xfce does when holding (alt or super)+scroll wheel?
afaik, there’s none that actually support that otb, but it could be possible using wayland (because x11 doesn’t like fractional scaling) and dwl (or whatever). You could create a keybinding in the config that runs a script that increases scaling on your desktop. I’m not sure how that would look because I’m not a shell scripter, but it might be worth looking into
Your emacs xorg-window trick would be an awesome contrib module!
I just switched to exwm yesterday and now this. Seems i need to do another wm hop this week lol
Haha some people do seem pretty happy with exwm but I just didn't wanna get locked into emacs.
Its time Gavin. Its time to move to GNU Guix.
I want to know what he thinks of it
real chads use gentoo
Hey! I was thinking stumpwm when I try guix.... but more importantly I have that wallpaper!!! Gruvbox ftw ;)
So I am very tempted to try out stumpwm after watching this video. But one issue I have is that I am using bspwm with kde right now. And I won't lie, having kde take care of all the BS like notifications and battery life warnings is really really nice. I hated having to configure all that while running a WM. I wonder how well stumpwm would work with kde. Or, if there are are other options than kde to run alongside a minimal wm.
I daily drive ratpoison and have never really bought into the hype of stumpwm but I'm going to try it now that I've seen this video
Great to hear! Would love to hear your thoughts on how they compare.
Hey, what is this lightning symbol you have on your PS1, and what's the font?
Hi, thanks for the vid! How did you install stumpwm? I tried via AUR (Arch) and by building from source, but there's no dynamic group feature available. I was able to find it in the source code, but stump just crashes when I load it from there and try to put a window on a newly created dynamic group like that...
Edit: It looks like there's a bug related to using external monitor or dual screen.
Check out the Common Lisp Hyper Spec.
I loved EXWM (I live inside Emacs) but I moved to Fedora and EXWM doesn't work well with it.
Great videos, keep it up!!!
I'm gonna wm-hop right now!!!
Hello Gavin, how did you get the emacs spits to be treated like x windows? Do you think this is possible with vim splits? Thanks for the video!
It requires client server support. For vim this is possible using --remote vim-jp.org/vimdoc-en/remote.html . For neovim there is github.com/mhinz/neovim-remote however it's isn't maintained but the devs do seem interested in adding native support for --remote and friends.
@@GavinFreeborn Thanks for your awnser!
Hi Gavin, thanks for this, longtime StumpWM user always on the lookout for cool new bits to copy from other users' configs, but... your link to "your config" above only goes to your fork of StumpWM itself. Where's your config?
github.com/Gavinok/stump-conf
@@GavinFreeborn Thanks, you're a saint.
- What program you use to show key presses?
- What Video capture and editor program you use?
Screenkey for the key presses, obs for recording, blender for video editing.
what a great decision
Bro I don’t spake English language but I want ask u I why if I open two terminal ok if I switch between them one terminal get little more light and another one is little dark
Please answer me I have
Bspwm will polybar on arch Linux
How to fix that I need all terminal same light 💡
Join the discord and send me a video I'll see if I can help
It's sort of a shame that Guix is Guile and Stump is CL. This is not to sound ungrateful for *almost* having my whole system configured in a homogeneous way. Lisp is amazing for this in general. However, I still have to avoid confusing the subtle differences of elisp, CL and Guile to have the holistic setup I am looking for.
Yeah would be pretty cool if someone made a window manager with Guile. Maybe even one written in C and extended with Guile just like emacs with C and elisp.
@@logyross6883 You can basically achieve this with guile emacs + exwm
Would love to use StumpWM, but I've had it totally lose the plot with layouts, and crash or seize up so many times.
Will be interested to see how you go.
Havent had that yet but I'll be sure to follow up on it. When where you last using it if you don't mind me asking.
@@GavinFreeborn About a year ago I'd say. At first I thought it didn't like my multi-monitor set-up, but I had it on an old laptop and it started freaking out on that pretty quickly too.
Pretty sure if you're not relying on Emacs , you're doing it wrong...
but StumpWM is awesome from what i hear. and i understand the basic idea of not wanting to rely on one piece of software
I guess. I still use emacs for it but there is a difference. While common lisp is way better to to work with in emacs I at least can use vim.
@@GavinFreeborn yes that is fair my comment is a joke argument
StumpWM was ok on my laptop but looked like hell on my large monitor.
I'm using frames instead of Emacs windows, using only one window per frame makes Emacs easier to use with any window manager,
Sold
Gavin, Gavin, Gavin! Now you have introduced a dilemna into my window manager usage. The minimalism of DWM and C or the (cough, cough) bloat of StumpWM and Commmon LISP. < Grandpa Simpson waving his fist in the air > P.S. You'll have to pry vim from my cold, dead hands. ;-)
It really is a dilemma I gotta say. I had the same thought myself.
let me give a modest try to pry vim from your hand @Gregory... have you tried doom emacs and org-mode?
As a longtime dwm user. The idea of being able to treat your wm as a living environment and enact changes on the fly, such as a bespoke layout to optimize a certain task is very appealing. And just isn't something you can do with dwm.
Get a sly repl goin mate,
Probably will once I understand how quicklisp is supposed to work.
Think I got it now
@@GavinFreeborn It’s crazy powerful, you just have to stick the hell with it. Currently working out some integrations with TMUX, so I can query session groups, various granularities of targets (down to the pane level) and integrating that into sshd/docker/kubernetes. You inspired me to overhaul!
It’s sad that all those Lisp wms are all x based :/
There is a Wayland version bit it doesn't seem to be worked on very much.
Stumpwm seems very interesting but, I'm more of a vim type person and hate using control.
Good news you don't really have to. The prefix can be any key you like. if you wanted to you could even remove the use of a prefix keys all together
@@GavinFreeborn Yeah I bit perplexed by the Ctrl Z bind. What do you just never suspend programs?
F12
I'm guessing you've been through `i3wm` already? Honestly, I never felt compelled to try any other. I must say "frames" seem annoying to me but I guess every asshole has an opinion.
Indeed I have tried i3. Frames have their pros and cons. They strike a good middle ground for me
@@GavinFreeborn I mentioned it because you said in this video what you used before was sometimes unstable and `i3` has never crashed on me once over the 6 or 7 years I'm using it. There's only one thing I'm not happy with - it doesn't have "always on top". But some people are never satisfied. 😉
@@cprn. my I moved away from i3 about 3 years ago because I prefer a wm where I configure it in a programming language. I3 kinda had that but it was no where near the competition in that aspect. I'm a tinkerer/programmer at heart so this was pretty high priority. Dwm was stable but exwm is literally emacs hacked into being a window manager so I wasn't expecting a consistent experience.
@@GavinFreeborn Ah, yes, I agree `i3` config file isn't exactly a coder's dream - it's somewhat shell-like, somewhat JSON-like but mostly their own shenanigans. Had several caveats with it, I admit. To this day my terminal starts on wrong desktop but as I open it once per reboot (which happens about once a year) I guess I've learned to live with that. To each their own. 😆 Have fun with Stump.
Leaving for the sake of making a video? This new wheel is much more rounder?
Do you mean leaving dwm or ending the video earlier than I would like? I gave my reasoning for looking at something different but maybe you didn't see that.