A few days ago I got pretty annoyed at YouTube:
- The video windows are really small, even enlarged. It doesn’t respect available screen size at all. It is impossible to size it arbitrarily.
- Fullscreen is cancelled when you adjust the system volume using hotkeys (Firefox+HTML5+Linux).
- Fullscreen is cancelled when you switch to a different application (HTML5, Flash).
- Fullscreen can’t be used even in a dual-head setup, i.e. run the video on one screen and work on another.
- Entering and leaving fullscreen causes video quality switching every single time (HTML5). That causes a few seconds lag. The only way to work around is to manually select video quality, then it’s not changed forth and back.
The net result: I swear a bloody vendetta to YouTube/Flash/Firefox developers every time I want to watch large videos and do something else (or adjust my volume!) at the same time.
I haven’t found any good solution for this on the Internets, so I created my own. Here’s my glorious bookmarklet:
(I had to create in on an external site, because WordPress doesn’t allow to insert bookmarklets into blogs. So just follow the link).
Drag and drop the button to your bookmarks bar in your browser. Then visit YouTube, open up some video and click the button in your bookmarks bar. The video should reload and fill your whole screen. It should also automatically switch to 720p quality, if available.
This has several advantages:
- Your browser window is fully resizable and the video dimensions change with it.
- If you switch your browser to run in fullscreen, the video still works, even if you switch to a different application. Here we come, multi-head!
- You no longer need to manually force HD video quality.
Some final notes:
- The bookmarklet source is here. Please bear in mind I have zero HTML/JS knowledge. If you have some patches, post them on github.
- Flash is required for this to work. Patches welcome on how to do the same thing with HTML5.
- If you want something else than 720p to be the default, just edit the bookmarklet and change
quality="hd720"to something else.