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/
snakedye has quit [Ping timeout: 244 seconds]
snakedye has joined #river
waleee has quit [Ping timeout: 244 seconds]
lxsameer has quit [Ping timeout: 246 seconds]
snakedye has quit [Ping timeout: 258 seconds]
talismanick has joined #river
talismanick is now known as Guest4072
Guest4072 has quit [Client Quit]
groknull has joined #river
groknull has quit [Remote host closed the connection]
vaivis has quit [Read error: Connection reset by peer]
vaivis has joined #river
vaivis has quit [Read error: Connection reset by peer]
vaivis has joined #river
<leon-p> heh, #609 is lovely example for the great and timeless design of X...
bugabinga has joined #river
bugabinga has quit [Remote host closed the connection]
lxsameer has joined #river
snakedye has joined #river
lxsameer has quit [Ping timeout: 246 seconds]
lxsameer has joined #river
bugabinga has joined #river
bugabinga[m] has joined #river
bugabinga has quit [Client Quit]
notzmv has quit [Ping timeout: 260 seconds]
<mizzunet> hi
<mizzunet> I want Control+Space to play-pause media and notify the action
<mizzunet> For that, I tried,
<mizzunet> riverctl map normal Control Space spawn "playerctl play-pause && notify-send -u low $(playerctl status)"
<mizzunet> But the notification alway sbeing Paused
<mizzunet> *always
<mizzunet> Running playerctl play-pause && notify-send -u low $(playerctl status) manually works as expected
<tiosgz> Missu: s/"/'/g
<mizzunet> tiosgz: That works. Thanks (:
<tiosgz> can a layout generator explicitly (without timing out) revert to floating? (the river_layout_v3 is needed to get user_commands)
lxsameer has quit [Ping timeout: 272 seconds]
lxsameer has joined #river
notzmv has joined #river
vaivis has quit [Read error: Connection reset by peer]
<ifreund> we should probably rename XwaylandUnmanaged to XwaylandOverrideRedirect
elshize has quit [Ping timeout: 256 seconds]
elshize has joined #river
<tiosgz> ifreund: would you please take a look at / comment on #611? (in the end i decided i'll remove that FIXME coz it would be too much additional code)
nullndvoid has joined #river
nullndvoid has quit [Client Quit]
nullndvoid has joined #river
nullndvoid has quit [Client Quit]
nullndvoid has joined #river
lxsameer has quit [Ping timeout: 246 seconds]
lxsameer has joined #river
nullndvoid has quit [Quit: ZNC 1.8.2+deb2+b5 - https://znc.in]
waleee has joined #river
vaivis has joined #river
<ifreund> tiosgz: gave it a review pass just now, thanks for working on that!
<ifreund> what was the FIXME about by the way?
waleee has quit [Ping timeout: 260 seconds]
<Shinyzenith[m]> <ifreund> "we should probably rename..." <- I second this, while writing the dmenu patch it has my confused af
notzmv has quit [Ping timeout: 240 seconds]
<leon-p> +1 for renaming
<tiosgz> ifreund: thanks! the FIXME was that Set.subtract only accepts a same-capacity set, but with current usage it doesn't matter
<ifreund> ah, yeah YAGNI
notzmv has joined #river
elshize has quit [Ping timeout: 240 seconds]
elshize has joined #river
lxsameer has quit [Ping timeout: 246 seconds]
lxsameer has joined #river
lxsameer has quit [Ping timeout: 240 seconds]
lxsameer has joined #river
Guest9454 has joined #river
Guest9454 has quit [Client Quit]
pmnw has joined #river
<elshize> ifreund: I just read your latest blog post, and I got a question regarding rust/zig part. you mention you pulled many deps in rust; why is that? is it because zig has a broader standard lib and you didn't need those?
<pmnw> Does river require setting any wayland-related env variables? Asking because I haven't found this information in the manual.
<Shinyzenith[m]> elshize: Afaik wayland rs simply has more dependencies in its cargo toml
<Shinyzenith[m]> Where as in zig, you just link with the system library and that's about it
<elshize> Shinyzenith[m]: right, but seems like both link to the same system libs, but additionally there are almost 50 cargo deps (total, not direct, I understand). seems like it must be either something that's missing in rust stdlib but is present in zig, or else is directly implemented in the zig version... unless I'm missing something important here..
<pmnw> IIRC, the update article said something about lots of abstraction in Rust bloating the libs.
<Shinyzenith[m]> Some of the deps that I see in the cargo toml doesn't look like functions missing from stdlib
<Shinyzenith[m]> Maybe they just wanted better wrappers over them? Such as memoffset, I believe stdlib already had similar functions.
<Shinyzenith[m]> Then they are also downloading the entire libc crate whereas in zig we just need to call exe.LinkLibC()
<Shinyzenith[m]> Little things like this add up where as the zig version is purely stdlib of zig, zig-wayland , zig xkbcommon, and pam
<elshize> say, clap -- how is this implemented in zig version? this type of thing is what I'm wondering
<Shinyzenith[m]> I honestly have no idea but I'd start by looking at the entry file, that's usually where flags are parsed. But why interest in that? Flag parsing in a minute part of the app
<elshize> I'm just trying to understand the point: "cargo pulls many deps". it pulls many deps for clap, it's a very heavy dependency. but if you roll your own simple cli parser, then you don't use clap, and you don't pull as many deps.
pmnw has quit [Remote host closed the connection]
<elshize> similarly, clap could implement everything without any deps. it just seems to me this is not related to lang or cargo, but rather that projects use them. unless I'm missing the point, that's why I wanted to ask the questions ;)
<elshize> the only reason I could come up with why one could use less third-party code is if the language implements the functionality itself (that, and of course implementing from scratch)
<ifreund> elshize: I think it mostly comes down to the fact that everything takes an order of magnitude less effort to implement in zig :P
<ifreund> for argument parsing I just have this < 100 loc file I use for all my projects: https://github.com/ifreund/waylock/blob/master/src/flags.zig
<ifreund> It's more manual than clap for sure, no autogenerated help and whatnot, but it's all I really need for the software I write
vaivis has quit [Read error: Connection reset by peer]
<ifreund> "everything takes an order of magnitude less effort to implement in zig" is tounge in cheek if that wasn't clear, I think the real differences are largely cultural
<elshize> ifreund: ok, thanks
<elshize> again, not familiar with zig that much, so can't comment on which one takes more effort ;)
<ifreund> I do believe that Rust's vastly higher complexity and encouragement of abstraction has an effect on the culture
<elshize> but I do agree about the cultural aspect.
<elshize> I suppose it's easy to use other crates, and that can lead to that...
<ifreund> The alternative to using a crate is implementing it yourself, which is a lot higher friction in rust than in zig in my experience
<ifreund> part of that could be that I wouldn't consider myself as having mastered rust despite having put quite a lot of time into it
<elshize> which kind of boils down to "rust is more complex than zig"
<ifreund> my zig skills outpaced my rust skills in something like a week
<elshize> tbf, I think this dependency problem is not unique to rust; anything like, say, nodejs or python, leads to similar culture, I think
<elshize> and I wouldn't say python is that complex.
<ifreund> fair enough, maybe it is really just how easy the tooling makes it to pull in massive dependency changes
<ifreund> my impression of the go ecosystem from afar is that this issue isn't as extreem there
<elshize> but complexity, together with ease of pulling deps, definitely makes it more so
waleee has joined #river
<ifreund> plus marketing of "zero cost abstraction"
<elshize> right, I think it's all of the above :)
<elshize> as far as the size goes (or compile times for that matter) I'm certain it's the high level of abstraction
<Shinyzenith[m]> Imo I prefer rust when I simply want a PoC fast as smithay client toolkit does a lot of things for me via helpful wrappers and I rewrite in zig for more fine grained control. Not saying you don't have it in rust, it's just more explicit in zig as per my experience
<elshize> how much is zig changing? is it far from 1.0?
<Shinyzenith[m]> Andrew recently spoke about this in the Milan convention. He expects it to be around 2025 if my memory serves me right.
<ifreund> elshize: The language is fairly stable aside from a few more experimental edge features like async and SIMD vectors. The standard library will see massively breaking changes before 1.0 though
<elshize> got it. it's definitely on my list, just need to secure some free time ;)
<ifreund> do note that documentation is not great yet, don't hesitate to ask questions in #zig or elsewhere if you run into issues :)
<elshize> thanks, will have that in mind