snakedye has quit [Read error: Connection reset by peer]
snakedye has joined #river
tsraoien has joined #river
kirusfg1 has joined #river
kirusfg1 is now known as kirusfg
mon_aaraj has quit [Ping timeout: 272 seconds]
mon_aaraj has joined #river
fitrh has joined #river
mon_aaraj has quit [Ping timeout: 255 seconds]
mon_aaraj has joined #river
<mon_aaraj>
maybe you could use mock tests to make tests for the entire codebase split into small parts to make sure everything works well
snakedye has quit [Ping timeout: 272 seconds]
wrkzk has quit [Ping timeout: 264 seconds]
<talismanick>
So.... just build from master and hope for the best?
mon_aaraj has quit [Ping timeout: 276 seconds]
mon_aaraj has joined #river
<talismanick>
Not that it matters while LLVM is behind, but doesn't libevdev-devel need to be added to makedepends in the xbps-src template?
duncaen has quit [Ping timeout: 244 seconds]
silv3r has quit [Ping timeout: 240 seconds]
silv3r has joined #river
talismanick has quit [Ping timeout: 268 seconds]
duncaen has joined #river
snakedye has joined #river
fastru has quit [Ping timeout: 260 seconds]
fastru has joined #river
<Shinyzenith[m]>
Hey I'm trying to build a layer-shell application and while setting achors I bit-wise or'd top bottom left and right enum literals and I got invalid binary operator on type enum literal. Can someone tell me what is the correct way to bitwise or all of the 4 anchors?
<novakane>
in zig bindings anchors are a struct like `.{ .top = true, .right = false, .bottom = false, .left = false }`
<Shinyzenith[m]>
Oh alright, I'll try that
<Shinyzenith[m]>
yep that works
<Shinyzenith[m]>
thank you
<novakane>
np
<leon-p>
mon_aaraj: you can't really do that with Wayland code. Neither in server nor client code can you separate components enough so that you can test them individually. Everything is basically connected to everything else at all layers. Things like data structures and parsers can be tested on their own, application logic not really.
fastru has quit [Ping timeout: 268 seconds]
fastru has joined #river
<ifreund>
one could argue this is a problem with the design of wayland, or at least currentl libraries
<ifreund>
it's not impossible to have tests, but making actually robust ones would take way more of my time than I have available for this projects
notzmv has quit [Ping timeout: 240 seconds]
fastru has quit []
<leon-p>
I mean, imagine wanting to test the transaction system. You'd have to mock half the compositor to do that. And I'd argue that tests stop being useful at that size: Instead of a few lines of code clearly stating the intended behaviour of the parts you test, you have effectively another full code base.
<ifreund>
which is exactly what we have for tigerbeetle for example and it's insanely valuable. We have a deterministic fuzzing based test harness that can reach into the implementation to verify that guarantees are upheld.
mon_aaraj has quit [Ping timeout: 272 seconds]
<ifreund>
this was of course quite a lot of work to implement and had to be designed for from the beginning, but it's incredibly powerful, probably the best option we have short of formal verification
<ifreund>
river isn't in the same category of safety/correctness critical systems, so I'm ok with being 98% bug free with much less time investment
<ifreund>
for tigerbeetle we have to be 100% bug free
mon_aaraj has joined #river
mon_aaraj has quit [Ping timeout: 272 seconds]
mon_aaraj has joined #river
<mon_aaraj>
leon-p: ah, interesing. thank you very much for the response
fitrh has quit [Ping timeout: 272 seconds]
notzmv has joined #river
mon_aaraj has quit [Ping timeout: 255 seconds]
mon_aaraj has joined #river
Ryan[m]12 has joined #river
<Ryan[m]12>
Would it break river in anyway if my initialization is a long-running service? I'm thinking about turning my Go config into a little daemon that can accept messages so I can write complex keybinding commands in Go
mon_aaraj has quit [Ping timeout: 240 seconds]
<bw>
Ryan[m]12: no, it spawns it off and continues
mon_aaraj has joined #river
<tiosgz>
Ryan: until recently the example config exec'd into rivertile, so i'd almost say it's encouraged
<Ryan[m]12>
What’s the recommended way to ensure only one instance is running whether it be rivertile or my custom nonsense? Just pgrep and pkill?
<Ryan[m]12>
I.e. so you can continuously reload your config
<ifreund>
Not 100% happy with it but it works better than what I've tried so far and works well enough that I don't feel like investing time into learning something new right now
<Ryan[m]12>
I love it as someone who doesn’t want to be monitoring drops and waiting 12 weeks for things to ship. It’s really well made, ethically made, comes in a week, and supports QMK
<Ryan[m]12>
It does have too many keys, I’m actually thinking about getting a corne for that reason
<ifreund>
yeah you can do far worse than a moonlander if you don't want to deal with group buys or do some soldering yourself
<ifreund>
mine has super light weight linear low-profile choc switches too, which is a much bigger functional difference compared to the moonlander than the number of keys.
<Ryan[m]12>
Did you build your corne? I like building things so it’s not the soldering. It’s honestly more than anything the impatience of waiting weeks for parts
<ifreund>
I bought most of of the parts from some small keyboard website as I was too lazy to source them all myself
<ifreund>
soldering the surface mount diodes with my cheap ass soldering iron was a pain tbh
<Ryan[m]12>
Now that I think about it. I like soldering well enough, but I’m not sure if I like it enough to enjoy soldering 40 keys over and over
<Ryan[m]12>
How has your experience been with home row mods? I still have some problems
<ifreund>
yeah, you need to build qmk yourself and try all the options
<ifreund>
it makes a huge difference
<ifreund>
pretty sure my typing speed is somewhat limited by my choice of 20g linear switches and home row mods, but it's still fast enough really at 90-100wpm or so
<Ryan[m]12>
How did the switches impact that?
<ifreund>
they're just absurdly light, it's a bit harder to be precise at speed I think
<ifreund>
the upside is absolutely 0 typing fatigue and no weird hand pain
waleee has joined #river
<Ryan[m]12>
I feel like I’d love that if I wrote a lot of prose
<Ryan[m]12>
Does riverctl communicate with the river daemon over a protocol that I could write my daemon to speak as well? Or am I better off just shelling out riverctl calls?
<mizzunet>
river crashing when I try to open any GUI program
<Arya[verncc][m]>
1093 lines
<mizzunet>
here backtrace,
<Arya[verncc][m]>
damn
<mizzunet>
I'm sending this using chromium started by cage
<mizzunet>
@ifreund ^
<mizzunet>
I want to older root snapshot. river works fine on it. I might've broke something in the current root that causing this river crash. But I'm not what is it. I reverted recent changes /etc, didn't help.
<mizzunet>
*went
mon_aaraj has quit [Ping timeout: 255 seconds]
mon_aaraj has joined #river
mon_aaraj has quit [Ping timeout: 260 seconds]
mon_aaraj has joined #river
cabal704 has quit [Quit: WeeChat 3.5]
mon_aaraj has quit [Ping timeout: 268 seconds]
mon_aaraj has joined #river
<ifreund>
mizzunet: hmm, that kinda sounds like your river binary is broken, perhaps due to dynamic linking issues or so
<ifreund>
that stack trace doesn't really make much sense either
mon_aaraj has quit [Ping timeout: 268 seconds]
mon_aaraj has joined #river
tsraoien has quit [Ping timeout: 260 seconds]
mon_aaraj has quit [Ping timeout: 268 seconds]
mon_aaraj has joined #river
tsraoien has joined #river
Corentin has joined #river
Corentin is now known as OHcc
OHcc has quit [Client Quit]
mon_aaraj has quit [Ping timeout: 272 seconds]
mon_aaraj has joined #river
talismanick has joined #river
talismanick has quit [Ping timeout: 264 seconds]
snakedye has quit [Read error: Connection reset by peer]