twelve has quit [Remote host closed the connection]
Guest88 has joined #river
Guest88 has quit [Client Quit]
Snetry has quit [Ping timeout: 252 seconds]
sentry has joined #river
notzmv has joined #river
notzmv has quit [Ping timeout: 260 seconds]
letherlick has joined #river
notzmv has joined #river
Ireozar has quit [Remote host closed the connection]
Ireozar has joined #river
notzmv has quit [Ping timeout: 265 seconds]
_whitelogger has joined #river
Keeto has joined #river
<LarstiQ>
ifreund: cheers, I'll see if we can manage that. Visiting an elderly relative is the main goal.
apoorv569 has quit [Ping timeout: 260 seconds]
apoorv569 has joined #river
letherlick has quit [Quit: Client closed]
sentry has quit [Ping timeout: 252 seconds]
Snetry has joined #river
dotdash has joined #river
<dotdash>
Hi, discovered river the other day and love it so far. One oddity I've noticed is that when I close a window, the focus doesn't seem to jump to the next window in the stack but seems to depend on the order in which the windows have been created. Is this a known issue/feature and/or is there an option to change this? I'd always like to have the
<dotdash>
focus jump to the next window in the stack when I close a window.
<dotdash>
For example, if I create three terminal windows, then focus the one first created (bottom of the stack), move it to the top of the stack (zoom) and then close it, then the last created window becomes top of the stack, but the other window gets the focus.
stib has joined #river
<LarstiQ>
dotdash: hmm, I don't get that with `riverctl default-attach-mode bottom
<LarstiQ>
`
<LarstiQ>
wonder if I'm reproducing that exactly enough
<ifreund>
dotdash: the idea is that whenever no window is focused (i.e. because the focused window was closed or tags have been switched) river focuses whichever visible window last had focus
<ifreund>
there is no configuration option to change this behavior
<ifreund>
It took me a while to get all the quoting right, definitely a steep learning curve
<ifreund>
but oh so powerful
<dotdash>
Ah! It's last focus, not order of creation, that makes sense. I guess that just happened to match up due to the way I tested things. Thank you!
<ifreund>
no problem!
<stib>
Hi, I'm looking through the manpage for riverctl, but can't find what I'm looking for. Is there a way to scale the output on hi DPI displays?
<dotdash>
river doesn't do display configuration itself, it needs external tools to do that, see https://codeberg.org/river/wiki#how-can-i-configure-outputs -- I personally just use wl-randr as I have a static setup and it does all I need
<stib>
Nice! wlr-randr Does a good job, the scaling looks fine.
<ifreund>
no separate build step required because macros, making this quite ergonomic for scripting
<ifreund>
there's still a lot of polish to do, but the proof of concept is good :)
<ifreund>
leon-p: I am curious to see what kind of high level API you come up with in scheme, I wonder if something more "functional" would be possible
<ifreund>
though I guess the wayland protocol itself is inherently object oriented
<leon-p>
OOP and FP aren't necessarily at odds, f.e. see guiles GOOPS which I am also using for my wayland implementation
<leon-p>
although in scheme it is still pretty canonical to use imperative programming
<leon-p>
huh, janet macros are quite different from scheme macros apparently
stib has quit [Ping timeout: 272 seconds]
twelve has joined #river
alexherbo2 has joined #river
<szgy>
ifreund: that's pretty neat! I've played with a janet a couple of times! Wondering, whats lemongrass? its seems you pull that lib but couldn't find a repo anywhere. Waiting for that `build.janet` so I can _sort of_ play myself :)
<ifreund>
probably the most ergonomic XML "parsing" I've ever experienced
<ifreund>
apparently the idea is copied from the clojure ecosystem
<ifreund>
as for how to build it, I haven't put effort into making things easy yet. Currently you need to run build.sh from the root of the repo to build wayland-native.c
<ifreund>
and have the lemongrass repo in your $JANET_PATH
<leon-p>
lisp in general is well suited for parsing XML. In guile I can tokenize XML into a list of symbolds with sxml and use the typical match macro to parse that
<ifreund>
The janet build/package management seems to be in flux and nowhere near as nice as build.zig yet, I will probably use zig to build my own janet projects
<ifreund>
leon-p: this thing goes a step further than that. there's no "match token" loop, it converts the XML to a native janet data structure that you can then inspect/iterate over using the standard functions :)
<ifreund>
and yes, janet is very different from scheme
<ifreund>
macros aren't hygenic
<ifreund>
I think overall it's simpler though IMO, I hate the thing in scheme where there are like 5 different kinds of equality
<ifreund>
in janet equality is so much simpler
<leon-p>
there are actually only two types of equality: checking whether objects are the same or whether they have the same value, the latter only being relevant for immediate vs. non-immediate objects
<leon-p>
the other equality operators are just macros over lists
twelve has quit [Remote host closed the connection]
<ifreund>
I guess I am probably wrong about 5 though
twelve has joined #river
<leon-p>
equal? can be implemented as a macro using eqv? so doesn't really count IMO
<ifreund>
The numerical tower is also cool, but a significant complexity increase over "everything is a f64"
<leon-p>
it's quite similar to a C-like language w.r.t. comparisons. You can compare pointers or you can compare the memory at the pointer address. For comparing linked lists you'd write a new function, but I doubt anyone would call that an additional type of equality
twelve has quit [Remote host closed the connection]
<ifreund>
I guess scheme doesn't have a distiction between immutable and mutable values like janet does
<ifreund>
janet always compares immutable values by value and mutable values by reference
<leon-p>
ah that makes sense
<ifreund>
also, since you understand scheme's hygenic macros better than I do, is it possible to write the equivalent of the scan macro I shared in scheme?
<ifreund>
Do macros get to read from the filesystem and have side effects?
<ifreund>
(at compile time)
<leon-p>
you can control that with (eval-when )
<leon-p>
although I have enver tried doing file system operationg at compile time
<leon-p>
I have found that parsing the wayland xml is pretty fast actually, about 100ms, so I just do that at startup
<leon-p>
if I wnated to speed that up, I would probably store the GOOPS state in a chache file
twelve has joined #river
twelve has quit [Remote host closed the connection]
dotdash has quit [Quit: Client closed]
Keeto has quit [Quit: Lost terminal]
alexherbo2 has quit [Remote host closed the connection]
alexherbo2 has joined #river
alexherbo2 has quit [Remote host closed the connection]
notzmv has joined #river
notzmv has quit [Ping timeout: 265 seconds]
twelve has joined #river
notzmv- has joined #river
notzmv- has quit [Ping timeout: 260 seconds]
sentry has joined #river
Snetry has quit [Ping timeout: 265 seconds]
notzmv has joined #river
notzmv has quit [Ping timeout: 252 seconds]
talisman` has quit [Remote host closed the connection]
notzmv- has joined #river
twelve has quit [Ping timeout: 260 seconds]
twelve has joined #river
belanthor has joined #river
notzmv- has quit [Ping timeout: 252 seconds]
twelve has quit [Ping timeout: 268 seconds]
notzmv has joined #river
belanthor has quit [Quit: Leaving]
sentry has quit [Ping timeout: 252 seconds]
Snetry has joined #river
notzmv has quit [Ping timeout: 252 seconds]
twelve has joined #river
twelve has quit [Remote host closed the connection]
twelve has joined #river
twelve has quit [Remote host closed the connection]
twelve has joined #river
deadcade has quit [Remote host closed the connection]
deadcade has joined #river
Guest32 has joined #river
Guest32 has quit [Client Quit]
myst has joined #river
myst is now known as myster
letherlick has joined #river
myster has quit [Client Quit]
deadcade has quit [Ping timeout: 252 seconds]
deadcade has joined #river
aelius_ has joined #river
deadcade has quit [Read error: Connection reset by peer]
deadcade has joined #river
aelius has quit [Ping timeout: 248 seconds]
aelius_ is now known as aelius
deadcade has quit [Remote host closed the connection]