ifreund changed the topic of #river to: river - a dynamic tiling wayland compositor - https://github.com/ifreund/river - channel logs: https://freenode.irclog.whitequark.org/river/
c7s has quit [Ping timeout: 265 seconds]
leon-p has joined #river
waleee-cl has quit [Quit: Connection closed for inactivity]
<leon-p> I think we should eventually make use of more powerful matching criteria for out filters than just the app-id. Trying to get programs like zoom to behave nicely is otherwise impossible since all of the thousands of windows it spawns for whatever unholy reason all have the same app-id. At least also matching by title should be available.
yyp has joined #river
<leon-p> regarding issue#263, I think it might be a problem that we hardcode `/bin/sh` for spawn commands. Maybe we should use $SHELL (is that even standard?) or have it somehow configurable (`riverctl set-option shell /whatever/shell`).
<emersion> it's expected that all windows of a given app share the same app-id
<leon-p> yeah, the "for whatever unholy reason" was more aimed at zoom spawning multiple windows. But that is exactly why we need better ways of matching windows for our filters.
<emersion> ah :)
gspe has joined #river
<novakane[m]> leon-p: maybe using something like /usr/bin/env sh for spawn instead if it possible
maringuu has quit [Read error: Connection reset by peer]
maringuu has joined #river
<ifreund> leon-p: I was under the impression that /bin/sh was posix
<emersion> it's… complicated
<emersion> /bin/sh is not strictly POSIX, but nor is /usr/bin/env
<emersion> /bin/sh is likely more widely recognized
<leon-p> the issue is about nix, which is not exactly known to be posix complient
<ifreund> leon-p: well sway does the /bin/sh thing as well iirc and works according to them
<leon-p> but I was wrong anyway, that can not be the issue, as the user reports their exit keybinds work, which implies init was executed which river does with /bin/sh as well
<ifreund> I still suspect user-error/a config issue and haven't really looked closely
<emersion> i wonder if performing a $PATH search for `env` (execvp?) with `sh` as arg would be more portable… at the cost of a double $PATH search
<emersion> yeah we just do /bin/sh in sway
<ifreund> seems very strange to me that POSIX does not specify a portable way to find/run its portable spec'd out shell
<emersion> hm, i suppose you can just execvp `sh`
<emersion> but yeah it doesn't help with script shebangs
<yyp> huh, "Applications should note that the standard PATH to the shell cannot be assumed to be either /bin/sh or /usr/bin/sh"
<yyp> emersion: why look up env? You can just find sh and then spawn ["sh", "-c", command]
<emersion> yeah i mean use execp instead of exec
<emersion> ah yeah, env is useless here
<emersion> realized it later
<emersion> fixing sway now
<emersion> fprintf(tmp, "#!/bin/sh\nrm %s\n%s", fname, command);
<emersion> wtf is this doing
<emersion> oh well
<leon-p> ifreund: could you quickly look over the last commit I pushed to the river-layout PR? I can't exactly remember how that part of river exactly works, so I am not 100% confident about it. The idea of the commit is to avoid rearranging when leaving fullscreen and it also fixes #243.
<yyp> Who is the maintainer of river in AUR?
<yyp> *river-git
<leon-p> yyp: paru -Si river-git | grep -i maintainer => Maintainer: daurnimator
<yyp> They probably need to update it to use wlroots-git as wlroots 0.13.x is not in arch repos yet (or is it?)
<emersion> not yet
<emersion> blocked on a river release
<emersion> … which should happen today!
<yyp> I would like to add support for multiple keyboard layouts before that though
<yyp> *before the release
<emersion> er
<emersion> i mena cage release
<emersion> mean*
<emersion> sorry
* emersion prepares another cup of tea
<yyp> Yeah, cage broke on wlroots 0.13
<leon-p> yyp: it's unlikely that any kind of inputt config will be in the 0.1.0 release. The plan is that river will not do that itself but there to be some sort of protocol extension to allow clients to configure inputs and seats, similar to output configuration
<leon-p> I wanted to work on that protocol for quite some time but never had enough motivation tbh
<emersion> interesting
<emersion> i was kind of assuming that input configure was more "static" than output configuration
<emersion> configuration*
<yyp> ^^
<emersion> but i guess if you want complex matching rules it would make sense
<emersion> i wonder if there are more use-cases
<leon-p> main idea was that we just don't want that code in river ^w^w^w^w^w^w^w want to standardize the protocol so that input configuration becoms compositor-agnostic similar to output configuration. But i am not sure how much hope there is for that to ever happen.
<yyp> Having complex matching rules will be probably very rare, for most use-cases defining multiple layouts and switch via grp:* XKB options would be enough
<yyp> Having an input management protocol might be nice but I can't think of a read use-case that it will solve
<yyp> *real
<leon-p> yyp: there are two use cases in my earlier message: 1) keep all of that stuff out of rivers configuration, which lets us avoid adding lots of complexity and 2) have input configuration compositor agnostic. Configure once and use in every compositor.
<yyp> fair enough, but such a protocol would for a long block people who write in multiple languages (me) from using river. I think it makes sense to make a draft support (maybe I'll just leave it in a fork) and when the protocol is done, glue it there
<leon-p> is using a more international keyboard not an option for you? with a compose key you can get quite far
<yyp> I haven't seen any
<yyp> Though I can run a nested river instance with XKB_DEFAULT_LAYOUT=ru or something and use other languages, that might be an option
<yyp> ... but it seems pretty hacky
<leon-p> ru? Russian? so cyrillic? Yeah then I understand. I was thinking more about extended latin alphabets.
<emersion> XKB_DEFAULT_LAYOUT supports comma-separated layouts
<yyp> emersion: no
<emersion> yes?
<yyp> river crashes when doing so
<leon-p> yyp: then open an issue on github please
<emersion> it's supposed to
<emersion> if it doesn't, it's a bug
<yyp> err, it doesn't crash, but this is what happens: https://0x0.st/-Aqx.mp4
<yyp> keyboard input just stops working
<novakane[m]> hmm I tried with XKBDEFAULTLAYOUT="fr,us" and it worked
<yyp> weird
<novakane[m]> XKBDEFAULTLAYOUT*
<novakane[m]> bad correction :/
<novakane[m]> even "fr,ru" worked
<yyp> Ok, I switched to use "us,ru" instead but now I can't switch the layout despite that grp:alt_shift_toggle is set
<emersion> is it eaten by the outer compositor maybe? could happen if grp:alt_shift_toggle is set there too
<emersion> (even if there's just one layout)
<yyp> alright, let me check
yyp has quit [Quit: now it's safe to turn off your computer]
yyp has joined #river
<yyp> That did in fact work
<leon-p> nice
<yyp> I've closed #254
<emersion> error reporting could be improved maybe
<leon-p> emersion: pretty sure thats our motto
<emersion> there's some setup to do to get libxkbcommon logs, maybe? i don't remember
<emersion> :)
<yyp> I think that support for multiple layouts should be documented somewhere
<leon-p> What exactly do you mean? That you can run multiple layouts generators at once? That a layout generator can advertise multiple layout objects? That the layout generated can depend on the focused tags? Or what?
<yyp> *multiple keyboard layouts
<leon-p> oh. My mind is still wired to associate the word "layout" with view dimensions and positions :D
<novakane[m]> damn you are traumatized by your PR :P
<leon-p> not by the PR, more by the amount of times I had to explain the concept :D
<leon-p> although to be fair it is kinda abstract and could be explained a bit better in the official docs
<novakane[m]> haha yeah I get it
<novakane[m]> did you finish your article on this btw?
<leon-p> not yet. But i'll be on a three hour train drive today, maybe I'll do it then
<novakane[m]> alright, well the day you finish it, repost the link here please
<leon-p> novakane[m]: It'll be on leon_plickat.srht.site. I have an RSS feed :D It will be the first actual technical article on my blog. I started it to write about technical stuff and then got side-tracked by headphone things for three articles, heh
<novakane[m]> leon-p: alright I subscribed to the rss, you have the privilege to be in the same folder that emersion blog :P
<novakane[m]> I didn't know sourcehut could do this
<leon-p> novakane[m]: sourcehut sites are a new features. Quite nice.
<leon-p> anyway, I have train to catch. bye
leon-p has quit [Quit: leaving]
yyp has quit [Quit: slep]
c7s has joined #river
waleee-cl has joined #river
gspe has quit [Quit: gspe]
gspe has joined #river
<novakane[m]> I can't understand issue #263, why spawn would fail
<novakane[m]> that's weird
Dedguy21 has joined #river
Dedguy21 has quit [Client Quit]
Dedguy21 has joined #river
Dedguy21 has quit [Quit: Connection closed]
yyp has joined #river
leon-p has joined #river
leon-p has quit [Ping timeout: 240 seconds]
leon-p has joined #river
londoed has quit [Remote host closed the connection]
londoed has joined #river
leon-p has quit [Quit: leaving]
gspe has quit [Quit: gspe]
gspe has joined #river
londoed has quit [Remote host closed the connection]
londoed has joined #river
Chris218 has joined #river
londoed has quit [Remote host closed the connection]
londoed has joined #river
yyp has quit [Quit: now it's safe to turn off your computer]
Chris218 has quit [Quit: Connection closed]
londoed has quit [Remote host closed the connection]
londoed has joined #river
gspe has quit [Quit: gspe]
c7s has quit [Ping timeout: 260 seconds]