cmoi11 has quit [Remote host closed the connection]
cmoi11 has joined #river
trava1678 has joined #river
travankor has quit [Remote host closed the connection]
trava1678 has quit [Remote host closed the connection]
<cmoi11>
Can I ask Questions regarding the code here?
<cmoi11>
Or better open an Issue on Github?
<ifreund>
cmoi11: code questions are best asked here, ask away
<cmoi11>
Maybe it's more a question about XWayland. So in XwaylandView.zig in function handleMap is called whenever I open a new Xwayland window. In the function are the following lines:
<cmoi11>
// Use the view's "natural" size as the default floating dimensions
<cmoi11>
Where does this 'natural size' come from? Because the floating Popups in Steam are are drawn with this size and they are far too small
<cmoi11>
I think they should have size from the X size hints maybe.
<ifreund>
probably, yeah. I only made xwayland work well enough to be able to use the few programs I use
<ifreund>
patches welcome
<cmoi11>
Alright. I open a pull request with my suggestion and we'll discuss from there?
<ifreund>
well, Ideally you should test to see if it works first :P
<cmoi11>
Yeah sure I test it on my machine first :)
<leon-p>
for reference, on X there are multiple different size hints. Most of them are totally redundant, but for some unholy reason they are all used by different programs. Not sure how wlroots exposes this, but I am not surprised we use the wrong size for some X windows.
<ifreund>
there's a wlr_xwayland_surface_size_hints struct we can examine
travankor has joined #river
travankor has quit [Remote host closed the connection]
travankor has joined #river
<ifreund>
I think the real problem here is that we aren't listening for request_configure currently
<ifreund>
we should probably just need to send a configure to xwayland views that are floating with the dimensions they request
<cmoi11>
Maybe in XwaylandView.zig pub fn needsConfigure check if the size_hints are indicating the window should float?
travankor has quit [Remote host closed the connection]
<cmoi11>
And then do this in pub fn configure
travankor has joined #river
<ifreund>
no, that stuff is related to river's atomic transaction system
<ifreund>
you need to add a listener for wlr.XwaylandSurface.event.request_configure which we don't handle at all currently
ifreund_ has quit [Quit: Bridge terminating on SIGTERM]
edrex has quit [Quit: Bridge terminating on SIGTERM]
samhsmith[m] has quit [Quit: Bridge terminating on SIGTERM]
voroskoi has quit [Quit: Bridge terminating on SIGTERM]
voroskoi has joined #river
samhsmith[m] has joined #river
ifreund_ has joined #river
edrex has joined #river
jjanzic has joined #river
waleee-cl has joined #river
<cmoi112>
ifreud: I have a simple patch ready that solves the Xwayland floating size issue in steam that I described above. Are you interested or do you prefer a solution with the request listener you mentioned above?
<cmoi112>
ifreund: Sorry for the typo in your name!
<ifreund>
Feel free to open any PRs that you think make river better, I've already given you (and everyone else) permission to do that by having the repo up on github :D
<ifreund>
the worst thing that can happen is that I find some issue and choose not to merge it
<cmoi112>
Alright :)
<cmoi112>
Would it be possible to implement cycling through a set of layouts? Probably difficult because river is not aware of the layouts... What do you guys think?
<ifreund>
I think that's best implemented in "userland" once river's control protocols are more flexible
<ifreund>
you could actually implement that in userland right now
<ifreund>
though it would be probably be annoying to make it work nicely with multiple outputs
travankor has joined #river
travankor has quit [Remote host closed the connection]
travankor has joined #river
<cmoi112>
By userland you mean with riverctl, right?
<cmoi112>
Or in the init file?
<ifreund>
Yeah riverctl or any other wayland client that speaks the protocols required
<ifreund>
the init file is nothing more than an arbitrary executable, nothing special about it
<cmoi112>
Does river "know" its currently used layout? So that something like "riverctl get current_layout" is possible?
<ifreund>
it does, but it isn't exposed by riverctl currently
<ifreund>
to implement something like this currently you'd need to keep track of the current layout separately. This could be done using the new river-options protocol
<ifreund>
see riverctl get/set/declare-option
<ifreund>
s/separately/manually/
<cmoi112>
Ok cool, I'll check it out!
travankor has quit [Remote host closed the connection]
travankor has joined #river
travankor has quit [Remote host closed the connection]
travankor has joined #river
travankor has quit [Remote host closed the connection]
travankor has joined #river
travankor has quit [Remote host closed the connection]
travankor has joined #river
travankor has quit [Remote host closed the connection]
travankor has joined #river
travankor has quit [Remote host closed the connection]
travankor has joined #river
travankor has quit [Ping timeout: 268 seconds]
cmoi112 has quit [Remote host closed the connection]