<ifreund>
yep, that's an arbitrary surface from the window manager
<ifreund>
I'm too lazy to make a video but interactive resize with decoration surfaces and multiple windows is pretty neat
<ifreund>
all frame perfect even with mpv involved (mpv is the end boss for frame perfect interactive resize)
<Nickli>
neat
<sewn>
woah thtas awesome
pfr has quit [Remote host closed the connection]
pfr has joined #river
<TheAnachron>
Is it? I thought that was river?
<TheAnachron>
but yeah, that looks great! what is the limit? Are they using shaders (like vulkan)?
pfr has quit [Remote host closed the connection]
<leon-p>
nice!
elshize has joined #river
pfr has joined #river
pfr has quit [Remote host closed the connection]
pfr has joined #river
Keeto has quit [Ping timeout: 245 seconds]
pfr has quit [Remote host closed the connection]
flower_ has joined #river
flower_ has quit [Quit: Lost terminal]
flower_ has joined #river
mekeor has joined #river
pfr has joined #river
pfr has quit [Remote host closed the connection]
Keeto has joined #river
<vyivel>
no top border because it's reserved for titlebar?
<vyivel>
(also what's difficult about frame perfect mpv resize? i didn't have any problems with it so now i'm wondering if i missed some case)
Keeto has quit [Quit: Lost terminal]
Keeto has joined #river
Dustee has joined #river
Dustee has quit [Quit: Client closed]
elshize has quit [Ping timeout: 260 seconds]
<ifreund>
vyivel: no top border just because I was testing that disabling individual borders actually worked :D
<vyivel>
aha
<ifreund>
vyivel: the tough bit about mpv is how it forces a fixed aspect ratio if not tiled, and also doesn't use frame callbacks and often acks configures slowly
<ifreund>
if the video is playing it just commits on its own at the videos frame rate if I'm not mistaken
<vyivel>
🤔
<vyivel>
is there a 0.2 fps video to test
<ifreund>
resizing a floating mpv from the top left corner was quite glitchy in sway last time I checked
<ifreund>
though it's been I while since I tested in sway
<vyivel>
sway doesn't care about making floating resize look good at all iirc
<ifreund>
I see
<ifreund>
anyhow, if you decide the position of the resized window based on what it actually commits you're probably fine
<vyivel>
i'm assuming they just ack configures in the configure handler immediately
<vyivel>
or hm actually maybe it's fine
<ifreund>
to be clear, I'm not saying that mpv is doing anything actually wrong here
<ifreund>
it's just that what it does is unusual and makes things harder to get right on the compositor side
<ifreund>
(arguably committing buffers that are larger than requested in the configure while the xdg_toplevel.resizing state is a protocol error, but I think it's reasonable for mpv to do that in order to maintain its aspect ratio)
<vyivel>
i *think* it doesn't immediately address configure events which don't actually lead to a state change
<ifreund>
oh yeah, that too
<vyivel>
which means i have to tweak configuration logic again /o\
<ifreund>
which is also fine, but tricky
<vyivel>
as if suspension wasn't bad enough
<ifreund>
I haven't bothered to actually implement the suspended state yet
<vyivel>
i've implemented it and then noticed that some clients don't bother committing while suspended which is kinda bad
<vyivel>
so i have this wonderful piece of logic where i temporarily unsuspend a toplevel if i need to send a configure and then resuspend it
<ifreund>
lovely
<ifreund>
sounds like clients want me to not implement it