mifom has quit [Remote host closed the connection]
pfr has joined #river
pfr has quit [Quit: pfr]
tiosgz has joined #river
<tiosgz>
ifreund: do you plan for the wm protocol to support swapping the wm at runtime? if so, what should it do with already open windows?
<ifreund>
tiosgz: yes, I definitely want to support swapping and restarting the wm without restarting river, as well as handling the wm crashing gracefully
Szadek has quit [Quit: off]
Szadek has joined #river
<ifreund>
I don't think there is any way to preserve window manager internal state across restarts without the window manager itself serializing that state to disk though
<ifreund>
I intend to add persistent window ids to make that possible
<ifreund>
as for switching wms, I think we can advertise all currently open windows to the new wm as if they were newly opened.
<tiosgz>
i'm asking mainly because right now the protocol says the window is hidden until explicitly shown, which may or may not be expected
waleee has joined #river
<ifreund>
I mean, we can hide all the currently open windows when the new window manager starts...
etrigan63 has joined #river
<tiosgz>
that indicates quite clearly that something is wrong, but also means you can't use an open terminal to fix it (i know there's tty and that's probably the only certainty)
<ifreund>
are you talking about the situation when there is no active wm?
<tiosgz>
anyway, just wanted to point this out in case you hadn't thought about it :)
<tiosgz>
yes, mostly that
<tiosgz>
after the wm crashes and no other wm has started yet
<ifreund>
I'm not quite sure how I want to solve that yet, probably a super basic floating wm
<ifreund>
(built into river)
<ifreund>
kinda like how we handle not having a layout generator running currently, but with even less features cause no tags, keybindings, etc.
<tiosgz>
makes sense
<ifreund>
Anyhow, I definitely care about making switching between wms, developing wms, restarting wms, dealing with crashing wms, etc as smooth as possible
<ifreund>
One approach would be to hardcode a list of terminal emulators and try to start one if there is no wm running
etrigan63 has quit [Remote host closed the connection]
<ifreund>
Here's another idea: we ship a river-fallback wm with river that displays a basic GUI with options to exit river and start arbitrary programs
<ifreund>
maybe an option to restart the previous wm if we make river aware of that binary somehow
<ifreund>
and river should refuse to start if river-fallback doesn't exist
<tiosgz>
oops. i didn't mean to get you into solving this edge case right now 🤦. sorry if it's taken away your attention for the rest of the day
<tiosgz>
though i quite like the restricted fallback idea
<ifreund>
no worries at all! I've been thinking about how best to do this protocol for a long time and can't really stop thinking about it
<ifreund>
It's very nice to finally start putting the ideas into protocol xml and making things more concrete
<ifreund>
yeah, I think the river-fallback idea probably has the best UX
etrigan63 has joined #river
etrigan63 has quit [Remote host closed the connection]
tiosgz has quit [Quit: nyaa~]
youpilai has joined #river
youpilai has quit [Client Quit]
waleee has quit [Ping timeout: 256 seconds]
waleee has joined #river
lordmzte has quit [Remote host closed the connection]
catman has joined #river
catman has quit [Quit: WeeChat 4.3.0-dev]
catman has joined #river
leopoldek has joined #river
lordmzte has joined #river
catman has quit [Quit: WeeChat 4.3.0-dev]
haliucinas has quit [Quit: .]
catman has joined #river
caughtquick has joined #river
<leon-p>
something in the style of an old amiga guru meditation would be kinda funny
<leon-p>
instead of it being a fallback WM, it could be just a layer-shell program that takes arbitrary text-input and displays a warning overlay
<leon-p>
(like swaymsg)
<leon-p>
would be more flexible, it could also be used for other warnings
<leon-p>
and could then also be used by other programs. f.e. the WM could use it to warn about bad configuration files
<leon-p>
I wonder if river should try to restart the WM if it crashes
<leon-p>
heh, I think I'll probably clone twm or some other ancient X WM for a blogpost
Eyezap has joined #river
<Eyezap>
Hi! Getting comfy on river, its been really amazing so far. Wanted to get a temperature check on having many keybinds / modes to support shortcuts with multiple keys—is this likely to make things slow or strange? Should be less than 100 modes
<Eyezap>
I want to only use 3 keys to index 9 tags, I think I'll go ahead and try it