0

Can awesomewm force fullscreen video from YouTube in Firefox or from VLC Media player to scale and fill the same boundaries as the window the app its being played in? i.e. if I have firefox running in the top right quadrant of a 2 x 2 layout when I click fullscreen on a YouTube video, the video scales to the quadrant firefox is in, hiding firefox's UI but leaving the other windows open?

1 Answers1

0

Yes, it can, but the default APIs will fight hard to prevent it from both sides. It's non-trivial to say the least.

Youtube checks if the mouse moves out of the window using javascript and will auto-escape fullscreen mode to prevent this. So you need to use lua to move the cursor to another location without it ever hitting the side of the window.

Now, back to the original question. First, you need to disconnect the client request::geometry signal from awful.ehwm.merge_maximization and awful.ewmh.geometry to "break" the fullscreen support. Then you need to implement your own wrapper around these function and connect it to request::geometry again. Those wrapper need to "do nothing" when they see VLC or match youtube in the client name. Otherwise, they call the original function.

Now you need to replace/monkey-patch awful.client.tiled to also include some fullscreen clients.

After that (and all the bugs you will create are fixed), it should "work".

At some point, I plan to add a claim_fullscreen property to the client API, but that's not very high in my priority list.