ifreund changed the topic of #river to: river - a dynamic tiling wayland compositor || https://github.com/riverwm/river || channel logs: https://libera.irclog.whitequark.org/river/
wrkzk has quit [*.net *.split]
Nulo has quit [*.net *.split]
aryak has quit [*.net *.split]
mannerism has quit [*.net *.split]
ghostbuster has quit [*.net *.split]
aryak has joined #river
mannerism has joined #river
ghostbuster has joined #river
wrkzk has joined #river
Nulo has joined #river
uncomfy_ has quit [Quit: uncomfy_]
Anderson-D has quit [Ping timeout: 255 seconds]
Anderson-D has joined #river
waleee has quit [Ping timeout: 260 seconds]
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> Ryan[m]12: this is how I handle long running per-river-session processes: https://github.com/ifreund/dotfiles/blob/0e7d6be327fe788eabfd15e90d2e52813c93279b/config/river/init#L74-L84
<ifreund> using WAYLAND_DISPLAY here ensures that I can run parallel river sessions on separate ttys or nested
mon_aaraj has quit [Ping timeout: 255 seconds]
<Ryan[m]12> <ifreund> "Ryan: this is how I handle..." <- Great, thanks! What keyboard layout are you using? It looks like colemak from the config
mon_aaraj has joined #river
<ifreund> Ryan[m]12: colemak for the letters yeah, though it's a bit more than just that: https://github.com/ifreund/qmk_firmware/blob/home-row-mods/keyboards/crkbd/keymaps/ifreund/keymap.c
<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 use a really similar layout. I use a slightly modified version of https://github.com/manna-harbour/miryoku on my Moonlander
<tiosgz> is the moonlander a good choice?
<ifreund> too many keys :P
<tiosgz> compared to what?
<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> tiosgz: I use a corne https://github.com/foostan/crkbd
<tiosgz> i see
<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> I hardly notice them when typing normally any more tbh
<Ryan[m]12> Amazing. I more just needed to hear that it is possible to get them up to the point where that’s possible.
<ifreund> It's a pretty individual thing, I recommend trying all the configuration options qmk gives you to see what works
<ifreund> that said, I have considered trying out one shot mods on a layer instead for the simplicity
<Ryan[m]12> I’m just lazy and need to start compiling QMK instead of using the Moonlander gui. It doesn’t expose all the options you’d want to edit
<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?
mon_aaraj has quit [Ping timeout: 240 seconds]
mon_aaraj has joined #river
gwizon has joined #river
gwizon has quit [Quit: Lost terminal]
fitrh has joined #river
gwizon has joined #river
gwizon_ has joined #river
gwizon has quit [Ping timeout: 272 seconds]
fitrh has quit [Quit: fitrh]
wrkzk has joined #river
cabal704 has joined #river
waleee has quit [Quit: WeeChat 3.6]
waleee has joined #river
kirusfg has quit [Quit: WeeChat 3.6]
<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]
snakedye has joined #river
gwizon_ has quit [Ping timeout: 268 seconds]
talismanick has joined #river
<talismanick> Huh, touch actually works
<talismanick> cool
talismanick has quit [Ping timeout: 268 seconds]
talismanick has joined #river
<ifreund> :D
talismanick has quit [Ping timeout: 268 seconds]
talismanick has joined #river
waleee has quit [Ping timeout: 240 seconds]
gwizon has joined #river