ifreund changed the topic of #river to: river - a dynamic tiling wayland compositor || https://github.com/ifreund/river || channel logs: https://libera.irclog.whitequark.org/river/
Nulo has quit [Client Quit]
<leon-p> I think I kinda found out how pywayland.scanner works. Kinda...
notzmv has quit [Ping timeout: 248 seconds]
leon-p has quit [Quit: leaving]
dbuckley has quit [Ping timeout: 258 seconds]
dbuckley has joined #river
snakedye has quit [Ping timeout: 252 seconds]
yyp has joined #river
ext0l has joined #river
novakane has joined #river
ext0l has quit [Quit: WeeChat 3.2]
vector has joined #river
vector is now known as ext0l
ext0l has quit [Quit: WeeChat 3.2]
ext0l has joined #river
ext0l has quit [Quit: WeeChat 3.2]
novakane has quit [Ping timeout: 268 seconds]
novakane has joined #river
ext0l has joined #river
snakedye has joined #river
xd1le has joined #river
yyp has quit [Remote host closed the connection]
yyp has joined #river
dbuckley has quit [Ping timeout: 272 seconds]
dbuckley has joined #river
yyp has quit [Remote host closed the connection]
yyp has joined #river
yyp has quit [Remote host closed the connection]
yyp has joined #river
yyp has quit [Remote host closed the connection]
yyp has joined #river
tsujp has joined #river
<tsujp> anyone use emacs in GUI with river?
<tsujp> It wont open for me, trying to diagnose currently (not sure if rivers fault, mine, or something elses)
leon-p has joined #river
<novakane> tsujp: did you try launching it from a terinal to have messages in the stder? Is emacs compatible with wayland?
<novakane> s/terinal/terminal
<tsujp> just solved it about 5 seconds ago novakane
<tsujp> turns out I was a very silly boy and trying to run X emacs on river without XWayland support
<tsujp> I downloaded the emacs source and compiled the non-X version and it works now
<novakane> tsujp: allright glad to hear that
<leon-p> tsujp: there is also an emacs branch somewhere on GNUs savannah server which has a full gtk3 backend, meaning it is wayland native
<tsujp> In emacs 28 that'll be the norm, for now I will use my compiled version and just uninstall emacs via xbps so there's no confusion
<tsujp> cheers though leon-p
<tsujp> no way
<tsujp> was the `kile` layout manager taken down?
<tsujp> oh it's on github now not gitlab
<tsujp> phew
<leon-p> tsujp: the author is here, you can ping them
<tsujp> im trying to understand how rivers layout system works
<tsujp> checked wiki and doc
<tsujp> thank you leon-p
<tsujp> i like the alternate title of your article ;)
<novakane> I should add my article from yesterday in the wiki btw, I think it's good enough to be post so people can improve it
<novakane> leon-p: did you have time to look at the V2 I posted?
<tsujp> leon-p: typo in footnote 2 `oppinion` spelt incorrectly
<leon-p> tsujp: thanks, I'll go over the article with aspell once it's no longer a draft
<leon-p> novakane: sorry, not yet. I'll read it today
<novakane> leon-p: no worries, it just that it would be better with a quick review in case there is some wrong information but no rush it just a bonus
<tsujp> nice article I feel less dumb
<tsujp> Im pretty sure I don't have kile configured correctly after reading this, looks like its falling back to rivertile instead
<leon-p> tsujp: FWIW river has no concept of "falling back" to other layout generators. It either uses the one you told it to, or none.
<tsujp> Right gotcha leon-p
<tsujp> snakedye: what is this magic $HORIZONTAL parameter in your `contrib`.. if I paste with that it works but if I don't it doesn't
<tsujp> im so confused
<tsujp> is there a way to keep a specific view the main view?
<tsujp> I know you can bump to master but can you keep one there or is what im saying making 0 sense?
<novakane> tsujp: the only thing you can do is use `attach-mode bottom` so the same view stay as the main view
<leon-p> we probably should have attach-modes 'before' and 'after'. Might be a good first issue for new contributors *wink* *wink*
<novakane> you mean changing top and bottom to before and after?
<leon-p> nope, keeping top and bottom and having before and after as additional attach-modes
<novakane> what would be different? Before/after the focused view instead top/bottom of the stack?
<leon-p> indeed
<novakane> could be interesting yeah
<novakane> anyway how can I test xdg_activation and urgent view? Does anyone have an idea?
<leon-p> novakane: I don't think river supports xdg_activation yet
<tsujp> cheers novakane
<tsujp> i'd contribute but I don't know any zig (yet)
<tsujp> when I do I plan to
<novakane> leon-p: I know I try to implement it, but I don't know how I could spawn a urgent view or something like that to see if it set it as urgent or not
<leon-p> anyway, I think I am done with the example python layout. I'll leave handling user_command events to someone else.
<tsujp> dbus mako to spawn an urgent view?
<leon-p> novakane: I am not aware of any clients supporting it. Might be an interesting idea to write a client that get's an activation token, execs a shell comannd and passes the token to it. Maybe I'll find some time today...
* leon-p is constantly amused by his muscle memory inserting ' in weird places.
<tsujp> is there a way to have numlock already on by default?
<leon-p> tsujp: not implemented yet
<tsujp> is there a wayland tool that does it I could run via `riverctl spawn`?
<tsujp> i don't know of any
<leon-p> I don't know either, sorry
<leon-p> tsujp: if you want that feature, you should open an issue on the repo
<tsujp> if I un-lay a view how do I re-lay it, I thought it'd be toggle float but it's not that
<tsujp> oh no it IS toggle float
<leon-p> tsujp: toggle-float should work
<tsujp> maybe I did something wrong before
<tsujp> I want to have a kind of "popup" terminal so I can be on any view and I press the key combination and the terminal comes to me without affecting the layout of other views on the current tag, and crucially the same terminal not a new instance -- how can I achieve that? I'm reading and re-reading but I don't completely grok river yet so I am still a tad confused
<dnkl> novakane: foot uses xdg-activation for urgency
<tsujp> oh the dnkl lord himself is here
<tsujp> i use foot good sir, very nice
<dnkl> Set bell.urgent=yes in foot.ini
<novakane> dnkl: thanks I'll try that
<tsujp> thanks novakane
<dnkl> Then sleep 2 && echo -e '\a'
<dnkl> tsujp: you're welcome :D
<tsujp> i put this cheeky line in my foot.ini `# No, I am not Quentin Tarantino`
<tsujp> geddit, cos Quentin Tarantino has a rampant foot fetish
<tsujp> every movie of his involves at least 1 closeup of a womans feet
<dnkl> tsujp: heh, didn't know that...
<dnkl> novakane: oh, and last step; make sure the foot window is *not* focused when the bell fires
<dnkl> (hence the sleep)
<leon-p> dnkl: I though xdg-actication was for one client to mark a *different* client as worthy of immediate focus. Does foot just use the requested token for tiself? nuaghty :P
<novakane> oh it works I have biiiiiiiig border on foot
<novakane> dnkl: you're the best thanks once again foot to the rescue! :D
<tsujp> looks like we really love _foot_ here
<tsujp> some kind of _foot_ fetish
<dnkl> leon-p: it was suggested by master emersion :)
<leon-p> dnkl: hehe. I approve :)
<leon-p> actually quite clever
<dnkl> novakane: note that foot renders its own borders red when the compositor doesn't implement the xdg-activation protocol
<dnkl> novakane: it'll say so in the log output, so you'll know
<novakane> dnkl: cool, a great way to see if every works then
<dnkl> tsujp: it's hard to come up with good names 😅
<tsujp> dont ever change it dnkl
<emersion> yeah, the roundtrip with the token is a bit awkward, but oh well
<dnkl> novakane: looking forward to the implementation! One of the things I miss after switching from Sway
<leon-p> dnkl: I have a starchart I use to lookup names. Although recently I have just used descriptive names (i.e. wlopm for "wayland outut power management client")
<dnkl> tsujp: don't worry, with our cool logo we really *can't* change the name :D
<tsujp> i tend to think of an english name, find the closest korean translation, and then use the romanised form of that translation potentially mangled a bit as a name
* dnkl isn't sure "vlooppm" is descriptive 😂
<tsujp> dnkl: very cheesy logo >:D
<leon-p> dnkl: :D
<tsujp> i use a lot of your stuff actually dnkl, yambar and fuzzel too
<tsujp> all learned about via river
<leon-p> dnkl: a few too many words to have a soviet-era-esque portmanteau, so just using the first letters of the most important words was my only option
<dnkl> tsujp: glad someone finds them useful :)
<dnkl> leon-p: understandable
<novakane> same as tsujp but I use Basque word instead of korean :P
* dnkl will start adding öäå to all future project names
<dnkl> S/foot/fötter
<tsujp> ascii-only hate him because of this 1 weird trick
<leon-p> dnkl: capital ẞ please
<dnkl> Nah, that's German
<dnkl> Swedish only 😂
<tsujp> actually hey dnkl ive got a question for you since you've done some x11 stuff: where can I find the actual files of the default x11 cursor. Like, not Adaiwatta the x11 one. I found the source a while ago I think but they weren't in any useable format and my attemps to convert them were fruitless. The default ones look like this: https://www.gnome-look.org/p/1339462/ except this person has added the apple beach ball and changes the colours
<leon-p> tsujp: want to create your own cursor theme?
<dnkl> tsujp: i have a vague memory they're compiled into the x server? Not sure, haven't done any X11 in a very long time
<tsujp> well I guess it's my own cursor theme, I really just want exactly what the x11 ones are but every instance I can find of them online like in gnome-look for instance someone has altered them
<tsujp> yeah I thought they were inline too
<dnkl> tsujp: sounds right. Have you tried looking for bdf2* tools? I know there's one to convert to pcf...
<dnkl> Might be one to convert to images too
<leon-p> from trying to do my own cursor theme I remember using xcursorgen to go from png to the cursor bitmaps, maybe it can do it the other way around as well?
<leon-p> novakane: I have created that client I talked about earlier: https://git.sr.ht/~leon_plickat/wat
<leon-p> currently it just get's an activation token and dumps it
<leon-p> might be useful if you want activation for stuff launched via CLI later, but I doubt many applications will support getting tokens using something other than dbus
<novakane> leon-p: nice thanks, with this and foot I should be good to test everything
<leon-p> I'll probably add activation support to snayk later, should help as well
<tsujp> ill give those two avenues a crack this weekend dnkl leon-p
<novakane> dnkl: what does sway do with urgent view? focus it?
tsujp has quit [Ping timeout: 246 seconds]
<dnkl> novakane: no, the SSD border is changed to red, and the workspace is marked as urgent
<leon-p> novakane: I think on river a new config option like `focus-urgent always|never|only-when-not-fullscreen` would make sense
<novakane> dnkl: ok thanks
<novakane> leon-p: yeah I thought about maybe a new border-color-urgent too
<novakane> well first I need to make it set the view as urgent and then we can add features we want whith this
<leon-p> novakane: I would split it into two: first add the xdg-activation proto. impl, as wellas a a View.activate() function that is empty / a noop for now.
<leon-p> what that function does can be decided later
<leon-p> especially since we probably want to re-use it for foreign-toplevel-handle-v1.activate
<novakane> yeah that's was kinda my plan, I thought about impl xdg_activation and add a urgent: bool in view.state so then we could just use that to imlement other features
<novakane> sounds good to you?
<leon-p> novakane: I am not so sure about urgency as a state. That we can always add in later. I'd focus solely on the xdg-activation implementation for now.
<leon-p> I think for view.activate() You can re-use the logic that is in the foreign-toplevel-handle-v1.activate listener basically as is.
<leon-p> both should definitely have the same behaviour IMO
<novakane> allright I'll do that
<novakane> well wat dumps a token and foot doesn't add its own border so at least they find that river support xdg_activation :P
<dnkl> Nice!
<leon-p> novakane: if you submit a PR, I'll eventually add support for snayk and can do some testing
<novakane> yeah I need to change some things and cleanup a bit and I'll open a PR
leon-p has quit [Quit: leaving]
xd1le has quit [Quit: xd1le]
<novakane> allright, simplified the impl and PR open
leon-p has joined #river
<leon-p> dnkl: I wonder if would make sense to pass an activation token to the program launched by foots URL selection mode somehow. Do you know if there is a standard way already to pass tokens to new programs, like an env far?
leon-p has quit [Read error: Connection reset by peer]
leon-p has joined #river
<dnkl> leon-p: the protocol documentation mentions XDG_ACTIVATION_TOKEN
<leon-p> I see, thanks
leon-p has quit [Read error: Connection reset by peer]
leon-p has joined #river
leon-p has quit [Read error: Connection reset by peer]
leon-p has joined #river
waleee has quit [Ping timeout: 240 seconds]
waleee has joined #river
novakane has quit [Quit: WeeChat 3.2]
leon-p has quit [Read error: Connection reset by peer]
leon-p has joined #river
leon-p has quit [Read error: Connection reset by peer]
leon-p has joined #river
leon-p has quit [Read error: Connection reset by peer]
novakane has joined #river
keithhub has quit [Quit: WeeChat 3.2]
keithhub has joined #river
leon-p has joined #river
<leon-p> novakane: snayk now also supports xdg-activation
<leon-p> `wat --exec snayk` will make wat get a token, set the XDG_ACTIVATION_TOKEN env var and then execl's "sh -c snayk". Snayk will get the token from th env var and tries to activate itself with it.
<leon-p> (untested, but it's simple enough so I am confident that it works)
<novakane> leon-p: cool I'll check it! I'm playing a bit with this PR, I added a border-color-urgent but currently it change it for all unfocused views so I missed something I guess :P
novakane has quit [Quit: WeeChat 3.2]
novakane has joined #river
<novakane> leon-p: `wat --exec snayk` works great!
<leon-p> nice!
<leon-p> should work for all clients that use XDG_ACTIVATION_TOKEN env var
<leon-p> not sure how many that are yet
<novakane> no idea
<leon-p> you can find out by doing `strings <binary> | grep XDG` on a program
<leon-p> although I guess this might be handled by toolkits instead of applications themselves
<novakane> well I can't find any for now
<novakane> well with `fd --type=executable --follow -x strings | rg XDG_ACTIVATION` I have only wat and snayk with it :P
<leon-p> novakane: (•_•) ( •_•)>⌐■-■ (⌐■_■)
<novakane> :D
notzmv has joined #river
Nulo has joined #river
inoGuest32 has joined #river
inoGuest32 is now known as ino
<ino> hello! is there a way to have rounded borders in the windows? thanks!
<Nulo> When watching a video on pop-up mode that's floating and set to all tags, it automatically gets focused when I switch to any tag, is there a way to avoid this?
elshize has quit [Remote host closed the connection]
<ino> yes i was experiencing same. I had a menu launcher called `wofi`that pops up on certain key-binds and gets focused every tags i switch to.
elshize has joined #river
<leon-p> actually your two cases are totally different. ino: wofi uses the layer shell. layer shell windows by definition are entirely tag agnostic. Nulo: that depends on the order you previously focused windows, but generally that is the intended behaviour.
<leon-p> ino: also no, rounded corners are not supported and probably won't be anytime soon, if ever.
<ino> Oh thanks leon-plickat! I wasnt aware about the layer shell thingy. :)
<leon-p> eye candy is currently neglected in favour of core features
<leon-p> ino: layer-shell is for all kinds of desktop widgets, like bars, docks and pop-up menus
<leon-p> basically whenever you see something on screen that isn't a regular window, it's probably a layer shell surface. including the wallpaper
<leon-p> anyway, got to go
leon-p has quit [Quit: leaving]
<ino> river is awesome. there is a drastical difference in graphics rendering in X11 and river. my cursor moves like wind in the terminal. its so smooth.
<nagy135> ye, you can definitelly tell ...I messed with a lot of configuration on X11 but I always felt like there is some screen tearing during some videos. Completely gone now
<ino> the xf86-video-intel hasnt been updated for six years. it caused some bugs then i had to remove it. then started screen tearing. then i launched picom with experimental backends, tearing was gone, but it was not smooth.
<ino> which display manager you use with river?
<ino> I am using sddm it is doing quite ok for me.
<ifreund> I don't ues any display manager, I just start river from my .zprofile
<ifreund> If I were to use a display manager I'd probably go with greetd though
<ino> you are legend. i was talking about mere mortal people.
<ifreund> uh, not using a display manager is the lazy option IMO
<novakane> I just launch it from the tty, never needed anything else
<ino> when i installed sddm it pulled in lot of x11 dependencies. being defeated by lightdm, gdm and greetd, i was like, here i am going again. but no, it surprised me!
<nagy135> same here, what is advantage of using display manager? I mean you type username and password, I have alias for river. Cant find reason to use one apart from "it looks nice"
<ino> yes, the eye candy! haha
<ino> i really love decorating my desktop.
<nagy135> nothing looks better than tty lol
<ino> lol
<novakane> eye candy for something you see for like 5 seconds :P
<ino> :v
<Nulo> How can I make river inhibit automatic lock (through swayidle) when Firefox is on fullscreen?
elshize has quit [Ping timeout: 268 seconds]
elshize has joined #river
<nagy135> I triet to figure this out too (for now I have very long interval) and as I read in issues, this is something that apps should implement not river. You should probably open issue in particular app (correct me please if i m wrong)
<nagy135> looks like sway already solved this tho hmmm ... https://github.com/swaywm/sway/pull/3962
<ifreund> nagy135: here's the protocol river is missing: https://github.com/ifreund/river/issues/199
<ifreund> sway implements additional ways to trigger idle inhibition server-side, I'm not sure that's something I want though
<ino> what bar is everyone using. I am using yambar and it shows river's focused tags. (integration with river)
<nagy135> now that I think about it, why not just have a toggle bind that kills/restarts swayidle instead? keeps things simple
<ifreund> nagy135: that's manual though, I'd rather have the precense of my media player playing a video on the screen be enough to inhibit idling without any manual intervention
<ifreund> that's what the idle-inhibit protocol allows
<nagy135> ifreund: I think i ll be fine with toggle bind, but will watch that issue...thanks for clarification
ino has quit [Quit: Client closed]
elshize has quit [Ping timeout: 268 seconds]
<ext0l> ino: i use waybar, it has the same integration built-in
elshize has joined #river
<ext0l> oh they dc'd
<ifreund> someday I'll have all the bugs fixed
<ifreund> Thanks again to everyone using river and reporting bugs, I haven't found a bug myself in ages
<novakane> yeah we know you keep the river bug free version for yourself, hope you accidentally push it to the master branch one day :P
<ext0l> hahaha
elshize has quit [Ping timeout: 248 seconds]
keithhub has quit [Ping timeout: 272 seconds]
elshize has joined #river
<ext0l> i should learn zig so i can start working on bugfixes/feature requests
keithhub has joined #river
<ext0l> (and maybe make my own personal river-shiny fork with all the cosmetics that aren't (yet?) suitable for mainline)
<ifreund> zig is very much worth learning, and quite easy to pick up if you have a bit of experience with C
<ext0l> yeah, i've got a good amount of experience with it
<novakane> go for it then, more contributors is always good and zig is really cool
<ext0l> any suggestions for good first issues?
novakane has quit [Quit: WeeChat 3.2]
ino has joined #river
<ino> ext0l oh. i liked waybar, but it didnt had alsa hook and only uses pulseaudio (which i dont use), so i went for yambar.
<ino> which terminal emulator you prefer?
<ino> I really like how my wayland journey is going so far. so smooth, except half a dozen of my preferred apps dont open display on wayland :D
<ifreund> ino: foot for sure
<ifreund> (as a hint, it's in river's example init script)
<ifreund> ext0l: there's a "contributor friendly" tag on github
<ifreund> really though I'd recommend working on whatever interests you
<ifreund> or whatever you personally want to see done/implemented
<ino> ifruend, i have a question to you! do you prefer foot over alacritty? i ran a test on root directory with this command `time tree /`, alacritty took 5 seconds, kitty took 27 seconds, foot took.....2 minits
<elshize> ino: this might be an interesting read https://codeberg.org/dnkl/foot/wiki/Performance
<ino> thanks! i am reading it now.
<elshize> I find foot much faster with any interactive workload, but that's more perception than anything, haven't done any benchmarking myself
<ifreund> ino: yes
<elshize> foot currently runs only on CPU, so there must be some cases in which Alacritty is faster, I imagine
<ino> i wish foot also used gpus so it could become more fast.
<ino> i read the article.
<ifreund> foot not using a gpu is awesome
<ifreund> compare e.g. the startup time of foot vs alacritty
<ino> oh....but why? does using gpu slow down startup?
<ifreund> also you can statically link foot
<elshize> ifreund: are you using foot server? I've been meaning to test it out but I'm pretty content with foot's performance now, so not sure there's a point
<ifreund> elshize: the main reason to use the foot server is for faster startup time and reduced total memory usage
<ifreund> on my beefy desktop I don't use it, but on weaker hardware it could be very nice
<elshize> ifreund: yeah, both computers I'm currently using on a daily basis are beefy enough for me not to notice
<elshize> I wonder about downsides of server though... technically speaking terminals could affect one another but wonder if that's a problem in practice at all
<Nulo> I use server, foot never crashed so not a problem at all in my experience
<elshize> Nulo: good to know
leon-p has joined #river
ino has quit [Quit: Client closed]
<leon-p> ifreund: if you haven't seen already, I tried to add better instructions for pywayland into layout.py
<leon-p> but the result wasn't that great
Guest53 has joined #river
Guest53 has quit [Client Quit]
keithhub has quit [Quit: WeeChat 3.2]
keithhub has joined #river
<dagle> Tried to solve the musl ci thing. after finding out that action/checkout@v2 nodejs that uses glibc and crashes, I kinda wanted to give up.
<dagle> uses nodejs*
edrex[m] has quit [Ping timeout: 240 seconds]
priner has quit [Ping timeout: 240 seconds]
keithhub[m] has quit [Ping timeout: 245 seconds]
pltrz has quit [Ping timeout: 252 seconds]
sjtio has quit [Ping timeout: 272 seconds]
anubhavkini has quit [Ping timeout: 268 seconds]