This user-script is based on my user-style on userstyles.org (Youtube Controls Under Player). Sadly enough a user-style is not going to cut it to cleanup the garbage Youtube has made (again). The main problem was that the time did not update when not hovering over the controls. This script solves that by adding an interval that calls the onmousemove event of the controls.
Note that the settings are separate for the three different domains (www.youtube.com, www.youtube-nocookie.com, and youtube.googleapis.com). The settings may also be cleared by the browser, and will not carry over to private/incognito mode.
If you do want the settings to carry over, use the "Export Settings" button in the settings page. A userscript will be generated based on the current settings, install this, and the settings will always be set.
If for some reason you need to check if this script is active (for compatibility with another script for example), you can check for the "yt-ui-fix" class on the body element, or look for a script tag with YoutubeNewUIFix-Style as the id.
alert("YouTube UI Fix is present 1");
// or using the style element
if (document.getElementById("YoutubeNewUIFix-Style") !== null)
alert("YouTube UI Fix is present 2");
/* in CSS */
/* background is red if YouTube UI Fix is present */
Controls are not over the video
Controls don't hide at all
Controls have the old colors back
Controls are smaller (35px vs 40px)
Controls will update without having to move over them (which wasn't possible with only a style)
Option: disable animations (the expanding of the context menu when changing the quality)
In full-screen mode, the controls are also always visible, original colors, and they are smaller (35px again)
Option: revert the colors to their original light-gray on dark-gray (instead of the white on black/transparent). Can be enabled for fullscreen, non-fullscreen, both, or none
Option: re-enable auto-hide in full-screen, non-fullscreen, both, or none
Option: move the watch later button to the controls (next to the subtitles button at the bottom)
Works for embedded videos, but the height is not adjusted and will make the videos slightly smaller than intended.
Option: move the 'go back' button on the settings menus to the bottom (default off).
Option: makes the progressbar take up all the width (but only when not hovering over it). Thanks to Takato for this.
Option: makes the title appear when hovering over the video. Thanks to q1k for this.
Option: make the volume slider always visible.
Options change automatically in all tabs if changed.