QuitarNotch
// ==UserScript==
// @name HideNotch
// @match *://*/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=youtube.com
// @run-at document-end
// @version 0.0.3
// @description QuitarNotch
// @namespace http://tampermonkey.net/
// ==/UserScript==
(function () {
const timeOuts = [100, 200, 300, 500];
const videos = document.getElementsByTagName('video');
const isRemoteDesktop = location.href.includes('remotedesktop.google.com');
//***** VIEWPORT *****
if (!document.querySelector('meta[name="viewport"]')) {
const meta = document.createElement('meta');
meta.name = 'viewport';
meta.content = 'width=device-width, initial-scale=1.0, viewport-fit=cover, user-scalable=no';
document.head.appendChild(meta);
}
const style = document.createElement('style');
style.textContent = `
.fillVideoCSS {
top: 0 !important;
left: 0 !important;
width: 100vw !important;
height: 100vh !important;
object-fit: fill !important;
position: fixed !important;
}
`;
document.head.appendChild(style);
//***** FULLSCREEN VIDEOS *****
function applyFullscreenVideos() {
for (let video of videos) {
video.classList.remove('fillVideoCSS');
video.classList.add('fillVideoCSS');
}
const firstVideo = videos[0];
if (firstVideo && firstVideo.videoWidth > firstVideo.videoHeight && screen.orientation?.lock) {
screen.orientation.lock('landscape').catch(() => {});
}
}
function removeFullscreenVideos() {
for (let video of videos) {
video.classList.remove('fillVideoCSS');
}
}
document.addEventListener('fullscreenchange', () => {
if (document.fullscreenElement) {
timeOuts.forEach(timeout => setTimeout(applyFullscreenVideos, timeout));
} else {
removeFullscreenVideos();
}
console.clear();
});
//***** REMOTE DESKTOP WAKE LOCK *****
if (isRemoteDesktop) {
let wakeLock = null;
async function requestWakeLock() {
try {
if ('wakeLock' in navigator) {
wakeLock = await navigator.wakeLock.request('screen');
wakeLock.addEventListener('release', () => {
if (document.visibilityState === 'visible') requestWakeLock();
});
}
} catch (e) {
console.warn('No se pudo activar wake lock:', e);
}
}
requestWakeLock();
document.addEventListener('visibilitychange', () => {
if (document.visibilityState === 'visible') requestWakeLock();
});
}
//***** DISEÑO *****
let el;
if ((el = document.getElementById('speedbump'))) el.remove();
if ((el = document.getElementById('views'))) el.style.top = '0px';
})();