Greasy Fork is available in English.

SOOP Hide Player Bars

Hides the top info overlay and bottom playback controls. Bars reappear while the mouse is moving and hide again 0.5s after it stops.

Vous devrez installer une extension telle que Tampermonkey, Greasemonkey ou Violentmonkey pour installer ce script.

Vous devrez installer une extension telle que Tampermonkey pour installer ce script.

Vous devrez installer une extension telle que Tampermonkey ou Violentmonkey pour installer ce script.

Vous devrez installer une extension telle que Tampermonkey ou Userscripts pour installer ce script.

Vous devrez installer une extension telle que Tampermonkey pour installer ce script.

Vous devrez installer une extension de gestionnaire de script utilisateur pour installer ce script.

(J'ai déjà un gestionnaire de scripts utilisateur, laissez-moi l'installer !)

Vous devrez installer une extension telle que Stylus pour installer ce style.

Vous devrez installer une extension telle que Stylus pour installer ce style.

Vous devrez installer une extension telle que Stylus pour installer ce style.

Vous devrez installer une extension du gestionnaire de style pour utilisateur pour installer ce style.

Vous devrez installer une extension du gestionnaire de style pour utilisateur pour installer ce style.

Vous devrez installer une extension du gestionnaire de style pour utilisateur pour installer ce style.

(J'ai déjà un gestionnaire de style utilisateur, laissez-moi l'installer!)

// ==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
// ==/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);
})();;