Greasy Fork 还支持 简体中文。

Better YouTube Theater Mode

Improves YouTube's theater mode with a Twitch.tv-like design, enhancing video and chat layouts while maintaining performance and compatibility.

These are versions of this script where the code was updated. Show all versions.

  • v3.3.0 2026-04-19

    Added an option to have the script automatically switch in and out of theater mode depending on the window size. Makes it so that (hopefully) that the chat would consistently tuck under the video section if the window is too narrow.

  • v3.2.10 2026-03-26

    Force YouTube to recalculate page style on chat width resize. YouTube seems to have recently added a style update throttle and would only recalculate style from css every 30 seconds unless forced to reflow with some function or event.

  • v3.2.9 2026-03-01

    Added a toggle to disable always showing youtube player quick actions.

  • v3.2.8 2026-02-05

    Fixed a bug that caused the browser tab to stall or freeze, especially when loading heavy chatrooms or running multiple copies of the script.(bug 1)
    Improved script initialization and performance by making UI and style updates idempotent, preventing redundant layout calculations.
    Resolved a conflict when running multiple script instances that caused duplicate UI elements to appear and created a race condition in the DOM. This existed but could not be reached as bug 1 would stall the tab before the UI finished initializing.
    Throttled resize processing logic to not exceed framerate. Marginal performance improve.

  • v3.2.7 2026-02-04

    Updated UI observer to a polling system.
    Stop notification bell UI element detection from running if user is not logged in to YouTube.

  • v3.2.6 2026-01-25

    Tweak UI offset values when tucking recommendations.

  • v3.2.5 2026-01-25

    Fixed width calculation when tucking the recommended video section.

  • v3.2.4 2026-01-25

    Fixed a bug that caused YouTube's actions buttons to expand outside the view width when on super-wide aspect ratios.
    Changed the recommendation tuck feature to be opt-in through the UI menu. (off by default)

  • v3.2.3 2026-01-15

    Fixed stream waiting room background image clipping when chat width has been resized by the user.

  • v3.2.2.1 2026-01-15

    Revert translation changes.

  • v3.2.2 2026-01-15

    Fixed UI elements being clipped when watching VODs with the chat replay open.
    Updated translations for the browser fullscreen feature across all languages to be more natural.

  • v3.2.1 2026-01-14

    Fixed minor css quirk that was left out in the last version.

  • v3.2.0 2026-01-14

    Tucked the recommended videos section (#secondary) under the video metadata section when in theater mode.

  • v3.1.0 2026-01-14

    Added the ability for users to toggle on/off the full height video player.
    Cloned the bell icon into YouTube's quick action try to convenience when running browser fullscreen (full height + low masthead).
    Removed the GM API compatibility layer and now only relies on the YouTube Helper API GM shim.
    [m] Various minor refactors and code clean-up.

  • v3.0.5 2026-01-13

    Moved the skip ad button so it no longer overlaps with the quick actions buttons.
    Fixed an issue that cause the script to fail when running on Firefox with Tampermonkey. A race condition occurred with that exact setup that cause the YouTube movie player to always be undefined.

  • v3.0.4 2026-01-13

    Fixed GM shim failing to run on Firefox + TamperMonkey setups.

  • v3.0.3 2026-01-10

    Updated to YouTube Helper API v0.9.7.2. No behaviour change otherwise.

  • v3.0.2 2025-12-01

    Upgraded to YouTube Helper API v0.9.2.
    Fixed the video player not extending to the bottom of the browser view if the video content aspect ratio is wider than the browser view aspect ratio.

  • v3.0.1 2025-11-27

    Updated to YouTube Helper API v0.9.1.
    Fixed a bug that caused the script to fail initialization under certain conditions. Specifically changed the @run-at metadata value to document-idle as certain browsers appear to run into a race condition when the script is run with certain script managers but not others. Bug confirmed with Firefox 145 + Violentmonkey 2.31.0.

  • v3.0.0 2025-11-18

    Updated to use YouTube Helper API v0.7.5.
    Updated to work better with the new Delhi YouTube UI update.
    Removed floating chat in fullscreen.
    Removed customizable video height.
    Removed the ability to disable core script effects from script manager UI.
    Made YouTube fullscreen UI always available on hover instead of only in fullscreen.
    Now hides the default chat expand button in favor for the one used the in the fullscreen UI.

  • v2.2.1 2025-08-24

    Fixed a bug that caused the hide chat button to appear even when chat does not exist.

  • v2.2.0 2025-08-18

    Fix script menu compatibility with certain script managers. Increasing compatibility with ScriptCat as Chrome fully deprecated MV2 in v139. ScriptCat currently does not support dynamic menus.

  • v2.1.5 2025-07-27

    Fixed incorrect chat styling when in normal viewer mode.

  • v2.1.4 2025-07-24

    Fixed chat and youtube layout breaking when toggling fullscreen mode.
    Fixed YouTube layout getting stuck when swtiching between videos.

  • v2.1.3 2025-07-24

    ...

  • v2.1.2 2025-07-24

    Fixed chat breaking when switching into a video without chat while still having the video player in theater mode. Oops.

  • v2.1.1 2025-07-24

    Fixed menu bugs.
    Fixed a few bugs related to the new chat collapse feature.

  • v2.1.0 2025-07-23

    Added a custom chat collapse feature that collaspes the chat sideways instead of downward to improve UX in theater mode. Essentially cloning the Twitch version.

  • v2.0.0 2025-06-26

    This version is a major rewrite as the previous structure is getting pretty annoying to maintain.

    Fixed compatibility issue that happened with older GM versions under specific conditions.
    Fixed customized chat width being persisted incorrectly if floating chat is not used.
    Improved the performance of floating chat resize and dragging.

  • v1.12.8 2025-05-08

    Rollbacked JS to es11 for wider compatibility.

  • v1.12.7 2025-05-03

    Fixed an issue that caused the chat to block clicks if Floating Chat is enabled, even if the chat is collapsed and not visible.
    Fixed floating not being styled correctly if a new video with a different chat availability loads without leaving fullscreen mode.
    Fixed and issue that caused the chat to sometimes clip behind the headmast.
    Styled the float chat drag bar cursor to be move instead of default.

  • v1.12.6 2025-04-27

    Fixed version warning. The shown flag was not being loaded from storage.

  • v1.12.5 2025-04-27

    Changed script to no longer run in iFrames. The YouTube minions seem to have finally realized that they were unnecessarily stacking border styles on their chat elements. My fix that previously ran in the chat iFrame is no longer needed.

  • v1.12.4 2025-04-26

    Changed Tampermonkey verion warning to once per lifetime. (was once per update)

  • v1.12.3.1 2025-04-25

    Specified run-at metadata to be document-start.

  • v1.12.3 2025-04-25

    Fixed headmast width issue on pages without chat.

  • v1.12.2 2025-04-24

    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 2025-04-23

    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 2025-04-19

    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 2025-04-16

    Minor update to descriptions. No code change.

  • v1.11.6 2025-04-14

    Fix chat bounding when switching between difference resolution screens.

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

    ACTUALLY fix chat bounding.

  • v1.11.4 2025-04-14

    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 2025-04-13

    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 2025-04-13

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

  • v1.11.1 2025-04-13

    update description. no code change.

  • v1.11.1 2025-04-13

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

  • v1.11 2025-04-13

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

  • v1.10 2025-04-09

    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.

Show all script versions