// ==UserScript== // @name SOOP Hide Player Bars // @name:ko SOOP 플레이어 바 숨기기 // @description Hides the top info overlay and bottom playback controls. Bars reappear while the mouse is moving and hide again 0.5s after it stops. // @description:ko 상단 방송 정보 오버레이와 하단 재생 컨트롤을 숨깁니다. 마우스를 움직이면 나타나고, 0.5초 후 다시 숨겨집니다. // @author NWP // @namespace https://greasyfork.org/users/877912 // @version 1.1.0 // @license MIT // @match https://play.sooplive.com/* // @grant GM_addStyle // @downloadURL https://update.greasyfork.icu/scripts/573541/SOOP%20Hide%20Player%20Bars.user.js // @updateURL https://update.greasyfork.icu/scripts/573541/SOOP%20Hide%20Player%20Bars.meta.js // ==/UserScript== (function () { 'use strict'; const CSS_ID = 'soop-hide-bars-style'; const HIDE_CSS = ` /* 상단 오버레이: 스트리머 이름, 시청자 수, 방송 제목 */ /* Top overlay: streamer name, viewer count, title */ #player_info, #player_info .detail_info { display: none !important; } /* 하단 재생 컨트롤: 재생/일시정지, 볼륨, 화질, 전체화면 등 */ /* Bottom player controls: play/pause, volume, quality, fullscreen, etc. */ .player_ctrlBox { display: none !important; } /* 채팅/목록/선물 토글 버튼 */ /* Mini view-control buttons: chat/list/gift toggles */ .view_ctrl { display: none !important; } /* 마우스 커서 숨기기 */ /* Hide mouse cursor */ * { cursor: none !important; } `; const HIDE_DELAY = 500; // 마우스 정지 후 숨기기까지 대기 시간 (ms) / ms to wait after mouse stops before hiding let hideTimer = null; function applyHide() { if (!document.getElementById(CSS_ID)) { const style = document.createElement('style'); style.id = CSS_ID; style.textContent = HIDE_CSS; document.head.appendChild(style); } } function removeHide() { const style = document.getElementById(CSS_ID); if (style) style.remove(); } function onMouseMove() { // 마우스 움직임 감지 시 즉시 표시 / Show bars immediately when mouse moves removeHide(); // 타이머 재시작 / Restart the hide countdown clearTimeout(hideTimer); hideTimer = setTimeout(applyHide, HIDE_DELAY); } // 페이지 로드 시 숨긴 상태로 시작, 첫 마우스 움직임에 표시됨 // Start hidden; bars appear on first mouse movement applyHide(); document.addEventListener('mousemove', onMouseMove); })();;