Better Theater Mode for YouTube

Improves YouTube's theater mode with a Twitch.tv-like design, enhancing video and chat layouts while maintaining performance and compatibility. Also adds an optional, customized floating chat for fullscreen mode, seamlessly integrated with YouTube's design.

Acestea sunt versiunile scriptului în care codul a fost actualizat. Arată toate versiunile.

  • v1.12.3.1 25-04-2025

    Specified run-at metadata to be document-start.

  • v1.12.3 25-04-2025

    Fixed headmast width issue on pages without chat.

  • v1.12.2 24-04-2025

    Improved theater mode chat width scaling logic.
    Fixed youtube secondary column being unintentionally scaled with the chat width.
    Fixed youtube shorts thumbnails being unintentionally scaled with the chat width.
    Fixed a few minor style issues that would occur if the chat style has been toggle on then off.

  • v1.12.1 23-04-2025

    Fixed chat border fix style were not being properly applied.
    Fixed an issue that caused chat to be positioned incorrectly when switching into fullscreen mode.
    Fixed theather mode chat width to be occasionally calculated incorrectly when resizing browser window.

  • v1.12 19-04-2025

    Adds the ability for the chat width to be adjusted in theater mode. The current max is set to be 1/3 screen width; The minimum is set to 300px, reflecting YouTube's chat minimum. The limit could be changed in the future but I do not see the need for that.

    There is currently a low impact bug with how floating chat is positioned when switching in and out fullscreen mode. This will be fixed in a future patch.

  • v1.11.6 16-04-2025

    Minor update to descriptions. No code change.

  • v1.11.6 14-04-2025

    Fix chat bounding when switching between difference resolution screens.

  • v1.11.5 14-04-2025
  • v1.11.5 14-04-2025

    ACTUALLY fix chat bounding.

  • v1.11.4 14-04-2025

    Removed the custom script on/off toggle.
    Fixed an issue that allowed chat area of expand outside of the video player when clicking the show chat button.
    Fixed an issue that caused the chat area bound box to be calculated incorrectly when the chat is collapsed.

  • v1.11.3 13-04-2025

    Updated chat area constain logic. Should be slightly smoother and more performant.
    Fixed chat style not being loaded correctly.
    Fixed customized player height setting being wiped on script load.
    Cleaned up code and some minor bug fixes.

  • v1.11.2 13-04-2025

    fix floating chat not responding correctly when loading between different kinds of videos

  • v1.11.1 13-04-2025

    update description. no code change.

  • v1.11.1 13-04-2025

    fix diagonal resize not working for floating chat
    fix resize handle being positioned incorrectly under certain circumstances

  • v1.11 13-04-2025

    Added a floating chat during fullscreen mode.
    Major refactor of the entire script.

  • v1.10 09-04-2025

    Added the ability to set custom player heights.
    Fixed some bugs in the settings loading logic that previously made settings version-dependent. This likely caused little to no issues, as setting-related features had not changed for quite some time.

  • v1.9.4 07-04-2025

    Fixed a bug where simple mode would run regardless of the script's activation state.

  • v1.9.3 07-04-2025

    Minor update to error handling.
    Updated logging behaviour to better respect user debug setting. Logging changed to start AFTER settings have finished loading*.

  • v1.9 07-04-2025

    Added a debug mode. Console logging behaviour now respects the new debug setting.

  • v1.8.2 06-04-2025

    Fixed an issue that caused advanced mode settings to be loaded during initialization even if the script is set to simple mode.
    Fixed an issue that caused fullscreen playback to not be detected.

  • v1.8.1 10-02-2025

    Updated the outdated tampermonkey notification to only show once per updated insteasd of every load.
    Switch style management from GMAPI to custom Javascript as GM style management seems to be very inconsistent across different script handlers.

  • v1.8 09-02-2025

    Added localized menu items for certain major supported languages.
    Updated menu to be static for current and older Tampermonkey versions as it seems Tampermonkey only added dynamic menu items in verion 5.4.6224. Version 5.4.6224 is still in beta as of this update.

  • v1.7.2 03-02-2025

    Fix extra border in chat frame when chat is in replay mode.

  • v1.7.1 31-01-2025

    Fix settings not loading correctly if running in simple mode.

  • v1.7 31-01-2025

    Added a simple mode for those who are too busy to study the provided options and just want to use a recommended preset.

  • v1.6.2 21-01-2025

    Fixed a visual issue. The hidden "Skip Navigation" button could be sometimes be revealed when moving the masthead in cases where the vertical resolution of the screen is larger than 1000px due to how the YouTube is coded.

  • v1.6.1 20-01-2025

    Fix the headmast being able to be scrolled away when it shouldn't.

  • v1.6 19-01-2025

    Added the ability for users to move the YouTube headmast below the video player.
    Removed the temporary fullscreen fixes as youtube seems to have undid their mistake.
    Various minor bug fixes.

  • v1.5.9 14-01-2025

    Fix chat renderer styles being incorrectly applied to the chat iframe instead of the main document body.

  • v1.5.8 14-01-2025

    Minor refactor.

  • v1.5.7 12-01-2025

    Fix bug.

  • v1.5.6 12-01-2025

    [minor] Slightly refactor and improve code consistency.

  • v1.5.5 12-01-2025

    Make video player fixes always apply. YouTube seems to still have rounding issues when trying to hide their video player during the end screen during certain zoom levels (on certain browsers only?), the script now shifts the video container up by 1 pixel to hide the rounding error without being noticable during regular video playback.

  • v1.5.4 11-01-2025

    Changed the script to hide the chat in fullscreen mode until YouTube fixes their fullscreen issue. This mimics the old default behaviour of YouTube and is much easier than having to override YouTube's srubbing UI.

  • v1.5.3 10-01-2025
  • v1.5.3 10-01-2025
  • v1.5.3 10-01-2025

    [ACTUALLY] Fixed the script conflicting with the new YouTube UI and disabling the theater mode toggle button.
    Fixed the static style fixes being removed by the script.
    Fixed YouTube's new terrible fullscreen chat that would occasionally block the video element under certain zoom levels.
    Fixed some minor bugs and styling inconsistencies.

  • v1.5.2 10-01-2025

    Fixed a conflict between YouTube's new UI logic and how the script updates the video element.

  • v1.5.1 09-01-2025

    Fix script not correctly detecting if a video is a livestream/VOD or a normal video.

  • v1.5 09-01-2025

    Made the video player modifications and the chat modifications individually togglable.

  • v1.4.1 08-01-2025

    Minor bug fix.

  • v1.4 08-01-2025

    Added a menu to allow users to disable the script fully or partially without reloading. Fixed a bug that caused the video element to resize when the adjacent UI elements have moved.

  • v1.3.5 07-01-2025

    Moved video element up by 1 pixel to hide the occasional row of pixels caused by rounding issues during style calculations for end screens.

  • v1.3.4 07-01-2025

    Fixed an issue where going to the previous page would not trigger headmast width calculations if the previous page is the YouTube homepage.

  • v1.3.3 06-01-2025

    Fixed event listeners. It seems that the player-api-ready event does not fire if there is no chat box.

  • v1.3.2 06-01-2025

    Fixed a bug that caused the masthead width to not calculate when returning to the YouTube homepage.

  • v1.3.1 04-01-2025

    Fixed an issue that caused the chat renderer width to be calculated incorrectly if the element is read too early while and only while using the "Open panel" button to uncollapse the chat box.

  • v1.3 02-01-2025

    Script now makes the chat renderer extend fully to the top of the screen.
    Script now scales the width of the youtube masthead dynamically to avoid covering the larger chat renderer.
    Script now removes redundant borders from chat elements. YouTube stacks 2 extra borders on top of the pre-existing border created by the browser. This is particularly noticable when viewing in theater mode so that had to be fixed.

    Note: v1.1 and v1.2 were never released

  • v1.0 01-01-2025