deadcade has quit [Remote host closed the connection]
deadcade has joined #river
deadcade has quit [Remote host closed the connection]
deadcade has joined #river
flower_ has joined #river
deadcade has quit [Read error: Connection reset by peer]
deadcade has joined #river
vyivel has quit [Remote host closed the connection]
vyivel has joined #river
Ireozar has quit [Read error: Connection reset by peer]
Ireozar has joined #river
<ifreund>
leon-p: actually, I don't think I'll need generational indexes or anything fancy for wayland object lifetime management
<ifreund>
it's impossible to "deep copy" abstract types in janet unless the C/Zig code implementing the abstract type provides a deep copy function
<ifreund>
which I won't of course
<ifreund>
and that means that I can simply have a nullable pointer to the wayland object from each value of the abstract wl_proxy type and store a pointer to the single janet abstract value in the wayland object's userdata
<ifreund>
if the janet value is GC'd before the wayland object is destroyed, I'll just leak the wayland object
<ifreund>
if the wayland object is destroyed first, I'll set the pointer stored in the janet value to null and error if it is used
<ifreund>
Unrelated, but I think the janet implementation of a wayland scanner can literally just be a single macro :D
<ifreund>
the only tricky part will be handling the wl_interface structs that need to be generated
<ifreund>
I think I'll end up generating them dynamically at runtime the first time they are needed and never freeing them
<ifreund>
libwayland doesn't really care if the wl_interfae pointer it gets passed is a static global or some random malloc'd buffer I have filled with the correct data
<ifreund>
having a scripting language that can speak arbitrary wayland protocols without the need for any kind of build step seem like it would be really nice
<ifreund>
anyhow, I've saved some notes on this stuff but probably won't get around to actually implementing things for a while
<ifreund>
the path forward is now clear in my head though :)
talismanick has quit [Ping timeout: 272 seconds]
ccha1 has quit [Quit: WeeChat 4.6.0]
ccha has joined #river
apoorv569 has quit [Ping timeout: 252 seconds]
apoorv569 has joined #river
Keeto has quit [Ping timeout: 252 seconds]
<leon-p>
looking forward to whatever you end up doing
<leon-p>
I have been thinking since yesterday, and wondering about dropping the C API. If you could pass lists between zig and scheme, in both directions, a lot of possibilities would open up
pixavi has joined #river
<leon-p>
mostly optimizations. If (visible-windows output) is implemented in zig rather than scheme, I can avoid all but one key check
pixavi has quit [Client Quit]
<leon-p>
same for (first-visible-window), which could then as an optional argument either take an output or a list of windows to check
rossabaker has quit [Remote host closed the connection]
rossabaker has joined #river
Guest40 has joined #river
Guest40 has quit [Client Quit]
NickH has quit [Ping timeout: 245 seconds]
NickH has joined #river
Keeto has joined #river
fossdd has quit [Remote host closed the connection]
fossdd has joined #river
Keeto has quit [Remote host closed the connection]
andycs has quit [Quit: I'm leaving, bzzZZzz!]
andycs has joined #river
cfebs has joined #river
andycs3 has joined #river
andycs has quit [Ping timeout: 272 seconds]
andycs3 is now known as andycs
zuki has joined #river
<zuki>
is there a way of getting the currently active monitor in riverwm from a shell script?
zuki has quit [Quit: Client closed]
flower_ has quit [Quit: Lost terminal]
kaizo has joined #river
<kaizo>
i personally use river-bedload and jq for these kinds of things so the command id use with those would be "river-bedload -print outputs | jq '.[] | select (.focused==true) | .name'"