<TheAnachron>
I cant figure out how to build river (git-master) with zig0.11.
<TheAnachron>
I always receive "error: unable to find Dynamic system library 'input' using strategy 'paths_first'. searched paths: none" but when I enter into the buildroot my includes are inside /usrinclude/* as expected
angry_vincent has quit [Ping timeout: 240 seconds]
leopoldek has quit [Remote host closed the connection]
<novakane>
I don't have answers for this, but you're really complicated yourself by using a template, are you building llvm16 too?
<TheAnachron>
no, I got the static zig0.11 and build river based on latest git
<TheAnachron>
(of course I added a new zig0.11 build-style for Void Linux to add zig0.11 to deps instead of zig and also respect the new -Doptimize argument)
<novakane>
oh alright, I know some stuffs have changed in zig build system in zig 0.11, could be related, but I don't have the knowledge to help you here
<TheAnachron>
would be interesting to know whether zelbar still works ...
<TheAnachron>
Quick question: Is it possible to create a "launch"-mode so that lets say Super+L lets me run my password-manager via the p binding, bookmarks via b etc. and then return to normal mode after execution?
<ifreund>
TheAnachron: one can emulate "one shot" modes by chaining a leave-mode command in all of the keybindings you define in the mode
<ifreund>
it's kinda annoying to script though, I'd be happy to add a patch making that a first-class concept
<TheAnachron>
so I have to always add "enter-mode normal" after each command?
<TheAnachron>
what would be your idea to allow for such a once-mode? a switch for "declare-mode" like -o|--once?
<TheAnachron>
is it okay for me to create an issue about it so it's noted somewhere?
uncomfy has joined #river
<novakane>
it could be the other way around too, like in kakoune, by default would be one shot and something like -lock would be the current way
<TheAnachron>
that would be a breaking change though.
<novakane>
yep, but there is default mode name locked so it would be confusing anyway, a -oneshot would be better then
przmk has quit [Ping timeout: 255 seconds]
kennylevinsen has quit [Ping timeout: 245 seconds]
<TheAnachron>
okay, this is weird. When playing a video in a browser on fullscreen and then switching away from it and back to it the browser starts zooming in to it (put it back to fullscreen mode)
<uncomfy>
i thought that was a normal behavior? is it really a bug?
<uncomfy>
i guess i can wait for ifreund's response on the issue tracker
hewxle has quit [Ping timeout: 258 seconds]
<ifreund>
not sure if that's technically a bug or just firefox being dumb
<TheAnachron>
okay I have to be a bit more specific then. Lets say I put the video on fullscreen and then switch away and back to it.
<TheAnachron>
Firefox now returns to the fullscreen (with animation), but the video is not fullscreen anymore, only the browser/page
<novakane>
yeah it's been buggy like that for a longtime, I don't know if it only do that in firefox though
<TheAnachron>
I mean I normally don't put my browser in fullscreen or even play videos with it (I have mpv for that) but that's something I just recognized.
<TheAnachron>
so that being broken for a long time is very much possible.
<uncomfy>
have you tried using other compositors? such as swaywm?
<uncomfy>
i havent tried sway for a loooong time so idk if the behavior happens there too on firefox
<TheAnachron>
actually I came from cwm (X11) to river. So no, didnt try any other WL-compositor. It didnt happen on CWM though.
<ifreund>
this has changed in river since 0.2.4, we used to tell multiple clients that they were fullscreen at the same time but stopped doing so
<ifreund>
now river only tells clients that they are fullscreen if they are actually the currently visible fullscreen program on an output
<ifreund>
I guess I thought that this new behavior was more correct or something 6 months ago but maybe lying to clients in the way we used to is fine
<TheAnachron>
You mean it only tells programs that they are fullscreen when they are 1. visible and 2. the only program in fullscreen?
<TheAnachron>
because I dont have any other program in fullscreen when switching tags.
<ifreund>
only one client can be rendered fullscreen at a time on an output according to the wayland spec
<TheAnachron>
I switch from Fullscreen > Normal View > Fullscreen.
<ifreund>
and that's the only client for which river currently set the xdg_toplevel fullscreen state
<ifreund>
if no client is currently rendered fullscreen, river doesn't set the xdg_toplevel fullscreen state for any client
<TheAnachron>
I'm sorry, what the client here? An application or river view?
<ifreund>
client = firefox for example
<ifreund>
river is the server, all the programs making windows and talking to river over wayland are clients
<TheAnachron>
okay I get it. So I switch away means river tells firefox its not fullscreen, so it moves back to position, I switch back to it and river tells firefox its fullscreen again so its like "okay, lets play animation for fullscreen again"
<uncomfy>
i think one thing to clarify is that firefox is doing an *animation* of becoming fullscreen when going back to a tag where firefox is. i guess it's a firefox thing since other clients are like e.g. foot, mpv, zathura - they all stay as fullscreen
<uncomfy>
or that might be what TheAnachron described
<ifreund>
you know, nothing broke the way river used to do this
<uncomfy>
it doesnt happen to me when i used to use another browser e.g. nyxt
<ifreund>
I'll probably just go back to that, it's trivial to do so
<ifreund>
and yeah, it'll only be noticable for clients that like to play animations like firefox
<TheAnachron>
Can you not add an rule to not notify apps about them leaving fullscreen?
<TheAnachron>
Do we really have to revert all the work for one browser not behaving to it?
<TheAnachron>
[6~
<ifreund>
TheAnachron: revert all what work? It would be a 1 or 2 line policy change
<ifreund>
I definitely won't make it configurable
<TheAnachron>
ah okay, I have no idea about wayland yet, so if thats like a one-line change and it doesnt break anything ... why not?
<uncomfy>
im still reading the C header and documentation for Wayland. good thing i have friends who know a lot and write in C or Zig. i havent read river's full codebase yet so i cant help on that. *cries in tears*
przmk has joined #river
<leon-p>
uncomfy: Wayland code is usually pretty thick pointer soup. I think at some point Someon™ should go through river and add comments to all objects about when / how they are created / destroyed and what parent object owns them
<uncomfy>
that's discouraging :) but i want to learn anyway. nothing is easy when learning complex stuff anyway
<novakane>
oh just as I have a map -oneshot implemented leon-p want it in enter-mode huh :P
<leon-p>
sorry
uncomfy has quit [Remote host closed the connection]
<leon-p>
I was about to implement it as well, so good thing you complained :)
<novakane>
hehe, although implementing for map was easy I'm not sure that the case for enter-mode
<novakane>
easy, as it took me 1h with 50min not working because I put the -oneshot flag at the wrong place in my config xD
<novakane>
and I just return to normal mode, this is the safer things to do imo
<leon-p>
I think having the logic in enter-mode would be simpler. then add a variable to the seat and in the keybind dispatcher check that
<leon-p>
also don't forget that you may need to return to locked mode instead, otherwise we'll have a mild security breach
<leon-p>
oh, you said map, I thought you said declare-mode
<leon-p>
yeah, that's simple. however I am not sure it's the right domain for this option. Also it means these binds will forever be oneshot binds, and other binds on that mode aren't oneshot.
<novakane>
yep, I'm not sure I see this as a drawback though
<leon-p>
¯\_(ツ)_/¯
<leon-p>
it's a pretty subjective thing anyway, since it's UX
<leon-p>
whether you'll make maps or modes oneshot-able leads to different possible use cases, although the common one is enabled by both
<novakane>
yeah honestly I've thought about both options and both make sense to me, just that map already have the logic for handling flag
<ifreund>
I agree that enter-mode is the right place for this
<ifreund>
that where kakoune has the option too fwiw, though it has the opposite default
<novakane>
well it settled then, I feel like it's bit more annoying to change the mode after running the command using enter-mode but I haven't look to much into it
m1LL1 has joined #river
<ifreund>
The implementation pain shouldn't really sway decisions on UX issues xD
<ifreund>
machines are made to be bent to our will
<novakane>
damn I can't argue with that :P
<leon-p>
printers disagree
<ifreund>
consumer-grade printers might be the most hilariously bad piece of "technology" that people still pay money for
<leon-p>
there used to be CRT printers in the 80s that could print multiple pages a second. printer technology really has regressed since then...
<novakane>
well yeah but now you can make them subscription based...
<leon-p>
:]
<ifreund>
I think it's quite simply more profitable for printer companies if consumer grade printers break all the time
<ifreund>
at print shops they have much more reliable printers that are much cheaper to operate of course
<m1LL1>
From the answer I cannot figure out what is the fix for the error.
<ifreund>
m1LL1: you need to make sure you have the correct version of wlroots installed
<ifreund>
wlroots master branch won't work
<m1LL1>
I am using 0.16.2
<m1LL1>
From arch repo
<ifreund>
well, 0.16.2 definitely has a wlr_backend_get_session() function, are you sure you haven't managed to install some wlroots master version on top of it or something?
<ifreund>
you can pass --verbose-link to `zig build` to get potentially helpful debug output
qyliss has quit [Ping timeout: 255 seconds]
<m1LL1>
Thank you. Probably I managed to to so. I will try to figure the rest out on my own. Just wanted to make sure that 0.16.2 is fine.
angry_vincent has joined #river
<m1LL1>
Solved it. It was a leftover version of `wlroots` under `/usr/local/lib`.
<ifreund>
nice!
qyliss has joined #river
TheAnachron has quit [Quit: TheAnachron]
CronyAkatsuki has joined #river
ayushnix has joined #river
ayushnix has quit [Client Quit]
ayushnix has joined #river
leopoldek has joined #river
m1LL1 has quit [Ping timeout: 248 seconds]
<novakane>
for some reasons I can make enter-mode -one-shot work if I use it in a terminal but with a keybind that doesn't work
<novakane>
could be because map see it as a flag I guess
hewxle has joined #river
<novakane>
nope doesn't looks like it's the problem
JustineSmithies has joined #river
<JustineSmithies>
Not sure if I'm doing something wrong or if I've stumbled upon an issue when using dual screens ? When starting River using my config here https://git.sr.ht/~justinesmithies/dotfiles/tree/master/item/.config/river which uses the autostart.sh script to start any services and I then pgrep -f wlsunset or any of the others there is only one process which is correct. But if I move them all into the init
<JustineSmithies>
file as leon-p does and borrow their spawn_once function I notice that I end of with not only the process that the function spawns but two identical say wlsunset processes too which is wrong. Anyone else noticed this behaviour using dual screens and the latest commit of River ?
hewxle has quit [Ping timeout: 258 seconds]
hewxle has joined #river
<JustineSmithies>
It is as if it is spawning_once per screen ??
<JustineSmithies>
And when I move them into init I do not process the autostart.sh just in case you thought I did ;)
<JustineSmithies>
Dug a bit deaper and it seems if I say kill all wlsunset processes and run riverctl spawn wlsunset then pgrep -f wlsunset I end up with two wlsunset processes
<JustineSmithies>
Whereas if I just run wlsunset & I get one.
<JustineSmithies>
Ahhh ok I see one is the /bin/sh -c wlsunset using 1.4M whereas the other is wlsunset at 2.3M
<JustineSmithies>
Ignore me then.....
<JustineSmithies>
So just running in my autostart.sh uses less memory then than using riverctl spawn.
<leon-p>
that is weird
<JustineSmithies>
Which part ?
<JustineSmithies>
The fact that me running wlsunset & uses less memory than riverctl spawn wlsunset ??? Ah it works the way I'm doing it just thought I'd borrow from your setup and lump it all in there using riverctl spawn aka spawn_once but I'm better off sticking to just executing them in my autostart. \
<JustineSmithies>
Away for a soak will check back later incase anyone tells me I'm doing things wrong :D
notzmv has quit [Ping timeout: 264 seconds]
leopoldek has quit [Ping timeout: 246 seconds]
angry_vincent has quit [Remote host closed the connection]
vimproved has quit [Ping timeout: 260 seconds]
vimproved has joined #river
traidare has quit [Read error: Connection reset by peer]
traidare2 has joined #river
hewxle_ has joined #river
hewxle has quit [Ping timeout: 245 seconds]
<novakane>
figured out my problem, since using a keybing call handleMapping two times it switch to normal mode after the first
<novakane>
s/keybing/keybind
<novakane>
guess I need to think more about this than what I thought lol
traidare has joined #river
traidare2 has quit [Read error: Connection reset by peer]
<JustineSmithies>
I have found something if i sh -c wlsunset & I get two processes if I kill them and then bash -c wlsunset & I get one.. Strange indeed
<JustineSmithies>
So it's not a River issue at all it's something to do with diffs between bash -c and sh -c . So me running autostart.sh through bash -c gives less processes but still works.
CronyAkatsuki has quit [Ping timeout: 255 seconds]