Skip to content

Commit 639231f

Browse files
committed
Added an option to revert to the old video progress bar and controls on desktop (requires a refresh after enabling)
- This will only work temporarily, while YouTube still has the old implementation available Added an option to hide "More videos" in full screen Added an option to hide the channel watermark on desktop Made hiding the new full screen video controls also work on mobile Hide YouTube's own new "Hide" button when hiding endscreen videos
1 parent 26c3b86 commit 639231f

8 files changed

Lines changed: 140 additions & 11 deletions

File tree

_locales/en/messages.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,9 @@
9696
"hideChannelBanner": {
9797
"message": "Hide channel banner images"
9898
},
99+
"hideChannelWatermark": {
100+
"message": "Hide channel watermark"
101+
},
99102
"hideChannels": {
100103
"message": "Hide channels"
101104
},
@@ -255,12 +258,21 @@
255258
"playerHideFullScreenControls": {
256259
"message": "Hide new full screen controls"
257260
},
261+
"playerHideFullScreenMoreVideos": {
262+
"message": "Hide \"More videos\" in full screen"
263+
},
258264
"playerHideFullScreenTitle": {
259265
"message": "Hide full screen title"
260266
},
261267
"playerRemoveControlsBg": {
262268
"message": "Remove background from controls"
263269
},
270+
"playerRemoveDelhiExperimentFlags": {
271+
"message": "Disable new progress bar and controls"
272+
},
273+
"playerRemoveDelhiExperimentFlagsNote": {
274+
"message": "Note: this will stop working when YouTube removes the old player UI"
275+
},
264276
"qualityFull": {
265277
"message": "Full"
266278
},

_locales/fr/messages.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,9 @@
9696
"hideChannelBanner": {
9797
"message": "Masquer la bannière de la chaîne"
9898
},
99+
"hideChannelWatermark": {
100+
"message": "Masquer le filigrane de la chaîne"
101+
},
99102
"hideChannels": {
100103
"message": "Masquer les chaînes"
101104
},
@@ -255,12 +258,21 @@
255258
"playerHideFullScreenControls": {
256259
"message": "Masquer les nouveaux contrôles en plein écran"
257260
},
261+
"playerHideFullScreenMoreVideos": {
262+
"message": "Masquer « Plus de vidéos » en plein écran"
263+
},
258264
"playerHideFullScreenTitle": {
259265
"message": "Masquer le titre en plein écran"
260266
},
261267
"playerRemoveControlsBg": {
262268
"message": "Supprimer l'arrière-plan des contrôles"
263269
},
270+
"playerRemoveDelhiExperimentFlags": {
271+
"message": "Désactiver les nouveaux contrôles et barre de progression"
272+
},
273+
"playerRemoveDelhiExperimentFlagsNote": {
274+
"message": "Remarque : cette option ne fonctionnera plus lorsque YouTube supprimera l'ancienne interface du lecteur."
275+
},
264276
"qualityFull": {
265277
"message": "Maximum"
266278
},

_locales/ja/messages.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,9 @@
9595
"hideChannelBanner": {
9696
"message": "チャンネルバナー画像を非表示にする"
9797
},
98+
"hideChannelWatermark": {
99+
"message": "チャンネルの透かしを非表示にする"
100+
},
98101
"hideChannels": {
99102
"message": "チャンネルを非表示"
100103
},
@@ -254,12 +257,21 @@
254257
"playerHideFullScreenControls": {
255258
"message": "新しい全画面コントロールを非表示にする"
256259
},
260+
"playerHideFullScreenMoreVideos": {
261+
"message": "全画面で「その他の動画」を非表示にする"
262+
},
257263
"playerHideFullScreenTitle": {
258264
"message": "全画面のタイトルを非表示にする"
259265
},
260266
"playerRemoveControlsBg": {
261267
"message": "コントロールから背景を削除する"
262268
},
269+
"playerRemoveDelhiExperimentFlags": {
270+
"message": "新しいプログレスバーとコントロールを無効にする"
271+
},
272+
"playerRemoveDelhiExperimentFlagsNote": {
273+
"message": "注:YouTubeが古いプレーヤーUIを削除すると、この機能は動作しなくなります。"
274+
},
263275
"qualityFull": {
264276
"message": "最高"
265277
},

_locales/zh_CN/messages.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,9 @@
9696
"hideChannelBanner": {
9797
"message": "隐藏频道横幅图片"
9898
},
99+
"hideChannelWatermark": {
100+
"message": "隐藏频道水印"
101+
},
99102
"hideChannels": {
100103
"message": "隐藏频道"
101104
},
@@ -255,12 +258,21 @@
255258
"playerHideFullScreenControls": {
256259
"message": "隐藏新的全屏控件"
257260
},
261+
"playerHideFullScreenMoreVideos": {
262+
"message": "隐藏全屏下的“更多视频”"
263+
},
258264
"playerHideFullScreenTitle": {
259265
"message": "隐藏全屏标题"
260266
},
261267
"playerRemoveControlsBg": {
262268
"message": "移除控件的背景"
263269
},
270+
"playerRemoveDelhiExperimentFlags": {
271+
"message": "停用新的进度条和控件"
272+
},
273+
"playerRemoveDelhiExperimentFlagsNote": {
274+
"message": "注意:当 YouTube 移除旧版播放器界面后,此选项将失效。"
275+
},
264276
"qualityFull": {
265277
"message": "最高"
266278
},

options.html

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,21 +47,29 @@
4747
</label>
4848
</section>
4949
</section>
50-
<section class="group labelled collapsible desktop">
50+
<section class="group labelled collapsible">
5151
<label data-collapse-id="new-player">
5252
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="currentColor">
5353
<path d="m6.24 8.999 3.614-3.613a.498.498 0 0 0 0-.707.5.5 0 0 0-.707 0L5.999 7.826 2.854 4.68a.5.5 0 0 0-.707.707L5.759 9l.481-.001z"/>
5454
</svg>
5555
<span id="newVideoPlayerUI">New video player UI</span>
5656
</label>
57-
<section class="checkbox">
57+
<section class="checkbox desktop">
58+
<label>
59+
<span id="playerRemoveDelhiExperimentFlags">Disable new progress bar and controls</span>
60+
<input type="checkbox" name="playerRemoveDelhiExperimentFlags">
61+
<span class="toggle"></span>
62+
</label>
63+
<p id="playerRemoveDelhiExperimentFlagsNote">Note: this will stop working when YouTube removes the old player UI</p>
64+
</section>
65+
<section class="checkbox desktop">
5866
<label>
5967
<span id="playerCompactPlayButton">Always use compact Play button</span>
6068
<input type="checkbox" name="playerCompactPlayButton">
6169
<span class="toggle"></span>
6270
</label>
6371
</section>
64-
<section class="checkbox">
72+
<section class="checkbox desktop">
6573
<label>
6674
<span id="playerRemoveControlsBg">Remove background from controls</span>
6775
<input type="checkbox" name="playerRemoveControlsBg">
@@ -75,13 +83,20 @@
7583
<span class="toggle"></span>
7684
</label>
7785
</section>
78-
<section class="checkbox">
86+
<section class="checkbox desktop">
7987
<label>
8088
<span id="playerHideFullScreenTitle">Hide full screen title</span>
8189
<input type="checkbox" name="playerHideFullScreenTitle">
8290
<span class="toggle"></span>
8391
</label>
8492
</section>
93+
<section class="checkbox">
94+
<label>
95+
<span id="playerHideFullScreenMoreVideos">Hide "More videos" in full screen</span>
96+
<input type="checkbox" name="playerHideFullScreenMoreVideos">
97+
<span class="toggle"></span>
98+
</label>
99+
</section>
85100
</section>
86101
<section class="group labelled collapsible">
87102
<label data-collapse-id="annoyances">
@@ -383,6 +398,13 @@
383398
<span class="toggle"></span>
384399
</label>
385400
</section>
401+
<section class="checkbox desktop">
402+
<label>
403+
<span id="hideChannelWatermark">Hide channel watermark</span>
404+
<input type="checkbox" name="hideChannelWatermark">
405+
<span class="toggle"></span>
406+
</label>
407+
</section>
386408
<section class="checkbox">
387409
<label>
388410
<span id="hideNextButton">Hide the Next button</span>

options.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ for (let translationId of [
3535
'fullSizeTheaterModeHideScrollbar',
3636
'hideAI',
3737
'hideChannelBanner',
38+
'hideChannelWatermark',
3839
'hideChannels',
3940
'hideChannelsNote',
4041
'hideChat',
@@ -84,8 +85,11 @@ for (let translationId of [
8485
'pauseChannelTrailers',
8586
'playerCompactPlayButton',
8687
'playerHideFullScreenControls',
88+
'playerHideFullScreenMoreVideos',
8789
'playerHideFullScreenTitle',
8890
'playerRemoveControlsBg',
91+
'playerRemoveDelhiExperimentFlags',
92+
'playerRemoveDelhiExperimentFlagsNote',
8993
'qualityFull',
9094
'qualityHigh',
9195
'qualityLow',
@@ -157,6 +161,8 @@ let defaultConfig = {
157161
hideVoiceSearch: false,
158162
hideWatched: true,
159163
hideWatchedThreshold: '80',
164+
playerHideFullScreenControls: false,
165+
playerHideFullScreenMoreVideos: false,
160166
redirectShorts: true,
161167
removePink: false,
162168
stopShortsLooping: true,
@@ -168,6 +174,7 @@ let defaultConfig = {
168174
fullSizeTheaterMode: false,
169175
fullSizeTheaterModeHideHeader: true,
170176
fullSizeTheaterModeHideScrollbar: false,
177+
hideChannelWatermark: false,
171178
hideChat: false,
172179
hideCollaborations: false,
173180
hideEndCards: false,
@@ -181,9 +188,9 @@ let defaultConfig = {
181188
minimumShortsPerRow: 'auto',
182189
pauseChannelTrailers: true,
183190
playerCompactPlayButton: true,
184-
playerHideFullScreenControls: false,
185191
playerHideFullScreenTitle: false,
186192
playerRemoveControlsBg: false,
193+
playerRemoveDelhiExperimentFlags: false,
187194
redirectLogoToSubscriptions: false,
188195
searchThumbnailSize: 'medium',
189196
snapshotFormat: 'jpeg',

page.js

Lines changed: 54 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ let defaultConfig = {
3939
hideVoiceSearch: false,
4040
hideWatched: true,
4141
hideWatchedThreshold: '80',
42+
playerHideFullScreenControls: false,
43+
playerHideFullScreenMoreVideos: false,
4244
redirectShorts: true,
4345
removePink: false,
4446
stopShortsLooping: true,
@@ -50,6 +52,7 @@ let defaultConfig = {
5052
fullSizeTheaterMode: false,
5153
fullSizeTheaterModeHideHeader: true,
5254
fullSizeTheaterModeHideScrollbar: false,
55+
hideChannelWatermark: false,
5356
hideChat: false,
5457
hideCollaborations: false,
5558
hideEndCards: false,
@@ -63,9 +66,9 @@ let defaultConfig = {
6366
minimumShortsPerRow: 'auto',
6467
pauseChannelTrailers: true,
6568
playerCompactPlayButton: true,
66-
playerHideFullScreenControls: false,
6769
playerHideFullScreenTitle: false,
6870
playerRemoveControlsBg: false,
71+
playerRemoveDelhiExperimentFlags: false,
6972
redirectLogoToSubscriptions: false,
7073
searchThumbnailSize: 'medium',
7174
snapshotFormat: 'jpeg',
@@ -1489,6 +1492,35 @@ const configureCss = (() => {
14891492
}
14901493
}
14911494

1495+
if (config.playerHideFullScreenMoreVideos) {
1496+
if (desktop) {
1497+
hideCssSelectors.push('.ytp-fullscreen-grid')
1498+
cssRules.push(`
1499+
/* Prevent full screen from visually scrolling */
1500+
#movie_player {
1501+
--ytp-grid-scroll-percentage: 0 !important;
1502+
}
1503+
/* Prevent controls being hidden when full screen is scrolled */
1504+
.ytp-delhi-modern.ytp-fullscreen-grid-active .ytp-gradient-bottom {
1505+
display: none !important;
1506+
}
1507+
/* TODO Prevent bottom being hidden and fix its positioning */
1508+
`)
1509+
}
1510+
if (mobile) {
1511+
hideCssSelectors.push('.fullscreen-watch-next-entrypoint-wrapper')
1512+
}
1513+
}
1514+
1515+
if (config.playerHideFullScreenControls) {
1516+
if (desktop) {
1517+
hideCssSelectors.push('.ytp-fullscreen-quick-actions')
1518+
}
1519+
if (mobile) {
1520+
hideCssSelectors.push('player-fullscreen-action-menu')
1521+
}
1522+
}
1523+
14921524
//#region Desktop-only
14931525
if (desktop) {
14941526
// Fix spaces & gaps caused by left gutter margin on first column items
@@ -1554,6 +1586,9 @@ const configureCss = (() => {
15541586
`)
15551587
}
15561588
}
1589+
if (config.hideChannelWatermark) {
1590+
hideCssSelectors.push('.annotation.iv-branding')
1591+
}
15571592
if (config.hideChat) {
15581593
hideCssSelectors.push(
15591594
// Live chat / Chat replay
@@ -1572,7 +1607,11 @@ const configureCss = (() => {
15721607
)
15731608
}
15741609
if (config.hideEndCards) {
1575-
hideCssSelectors.push('#movie_player .ytp-ce-element')
1610+
hideCssSelectors.push(
1611+
'#movie_player .ytp-ce-element',
1612+
// Hide YouTube's own new Hide button
1613+
'#movie_player .ytp-ce-hide-button-container',
1614+
)
15761615
}
15771616
if (config.hideEndVideos) {
15781617
hideCssSelectors.push(
@@ -1746,9 +1785,6 @@ const configureCss = (() => {
17461785
}
17471786
`)
17481787
}
1749-
if (config.playerHideFullScreenControls) {
1750-
hideCssSelectors.push('.ytp-fullscreen-quick-actions')
1751-
}
17521788
if (config.playerHideFullScreenTitle) {
17531789
hideCssSelectors.push('.ytp-fullscreen-metadata')
17541790
}
@@ -4051,6 +4087,19 @@ function main() {
40514087
} else {
40524088
configureCss()
40534089
triggerVideoPageResize()
4090+
if (config.playerRemoveDelhiExperimentFlags) {
4091+
// @ts-ignore
4092+
waitFor(() => window.yt, 'yt').then(() => {
4093+
// @ts-ignore
4094+
let watchConfig = window.yt?.config_?.WEB_PLAYER_CONTEXT_CONFIGS?.WEB_PLAYER_CONTEXT_CONFIG_ID_KEVLAR_WATCH
4095+
if (typeof watchConfig?.serializedExperimentFlags == 'string') {
4096+
log('playerDisableDelhiExperiments: removing delhi_modern_web_player experiment flags')
4097+
watchConfig.serializedExperimentFlags = watchConfig.serializedExperimentFlags
4098+
.replace(/&delhi_modern_web_player=true/g, '')
4099+
.replace(/&delhi_modern_web_player_icons=true/g, '')
4100+
}
4101+
})
4102+
}
40544103
}
40554104
observeTitle()
40564105
observePopups()

types.d.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,8 @@ export type SiteConfig = {
8282
hideVoiceSearch: boolean
8383
hideWatched: boolean
8484
hideWatchedThreshold: string
85+
playerHideFullScreenControls: boolean
86+
playerHideFullScreenMoreVideos: boolean
8587
redirectShorts: boolean
8688
removePink: boolean
8789
stopShortsLooping: boolean
@@ -93,6 +95,7 @@ export type SiteConfig = {
9395
fullSizeTheaterMode: boolean
9496
fullSizeTheaterModeHideHeader: boolean
9597
fullSizeTheaterModeHideScrollbar: boolean
98+
hideChannelWatermark: boolean
9699
hideChat: boolean
97100
hideCollaborations: boolean
98101
hideEndCards: boolean
@@ -104,9 +107,9 @@ export type SiteConfig = {
104107
minimumShortsPerRow: 'auto' | '4' | '5' | '6' | '7' | '8' | '9' | '10' | '11' | '12'
105108
pauseChannelTrailers: boolean
106109
playerCompactPlayButton: boolean
107-
playerHideFullScreenControls: boolean
108110
playerHideFullScreenTitle: boolean
109111
playerRemoveControlsBg: boolean
112+
playerRemoveDelhiExperimentFlags: boolean
110113
redirectLogoToSubscriptions: boolean
111114
searchThumbnailSize: 'large' | 'medium' | 'small'
112115
hideShortsRemixButton: boolean

0 commit comments

Comments
 (0)