ChanServ changed the topic of #river to: river - a dynamic tiling Wayland compositor || https://codeberg.org/river/river || channel logs: https://libera.irclog.whitequark.org/river/
wereii has quit [Ping timeout: 260 seconds]
wereii has joined #river
adv8tor has joined #river
Snetry has quit [Ping timeout: 248 seconds]
Snetry has joined #river
waleee has quit [Ping timeout: 252 seconds]
adv8tor has quit [Quit: Quit]
lordmzte has quit [Ping timeout: 252 seconds]
Keeto has joined #river
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'"
kaizo has quit [Client Quit]