您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Layout premium para Discord com melhor organização visual e funcional
// ==UserScript== // @name Discord UI Organizer Pro // @namespace https://discord.com/* // @version 1.2 // @description Layout premium para Discord com melhor organização visual e funcional // @author EmersonxD // @match https://discord.com/* // @grant GM_addStyle // @run-at document-idle // @license MIT // ==/UserScript== /* Layout Principal */ GM_addStyle(` /* Estrutura Base */ .appMount-3lHmkl { display: grid !important; grid-template-columns: 80px 240px minmax(300px, 1fr) 240px; grid-template-rows: 48px 1fr; height: 100vh; } /* Barra Superior */ .container-1NXEtd { grid-column: 1 / 5; grid-row: 1; background: var(--background-tertiary) !important; } /* Lista de Servidores */ .guilds-2JjMmN { grid-column: 1; grid-row: 2; flex-direction: column !important; } /* Lista de Canais */ .sidebar-2K8pFh { grid-column: 2; grid-row: 2; border-right: 1px solid var(--background-modifier-accent); } /* Área de Chat Principal */ .chat-3bRxxu { grid-column: 3; grid-row: 2; display: flex !important; flex-direction: column; max-width: none !important; } /* Lista de Membros */ .members-1998pB { grid-column: 4; grid-row: 2; border-left: 1px solid var(--background-modifier-accent); } /* Melhorias Gerais */ .channelTextArea-1FufC0 { border-radius: 8px !important; background: var(--background-secondary) !important; } .message-2CShn3 { padding: 12px !important; margin: 8px 0; border-radius: 6px; background: var(--background-secondary); } `); /* Sistema de Abas para Canais */ GM_addStyle(` .channels-Ie2l6A { display: flex !important; flex-direction: column; } .channelTabs-3TQ5vX { display: flex; gap: 8px; padding: 10px; border-bottom: 1px solid var(--background-modifier-accent); } .tabItem-2hXZJ- { padding: 8px 16px; border-radius: 4px; cursor: pointer; background: var(--background-secondary); transition: 0.2s; } .tabItem-2hXZJ-:hover { background: var(--background-modifier-hover); } .tabActive-1h_Joa { background: var(--brand-experiment) !important; color: white !important; } `); /* Painéis Redimensionáveis */ const resizeHandles = ` <style> .resize-handle { position: absolute; background: var(--brand-experiment); z-index: 9999; opacity: 0; transition: opacity 0.2s; } .resize-vertical { width: 4px; cursor: col-resize; height: 100%; } .resize-horizontal { height: 4px; cursor: row-resize; width: 100%; } .resize-handle:hover { opacity: 1; } </style> `; document.head.insertAdjacentHTML('beforeend', resizeHandles); /* Sistema de Grid Personalizável */ function initLayoutManager() { const containers = { serverList: document.querySelector('.guilds-2JjMmN'), channelList: document.querySelector('.sidebar-2K8pFh'), chatArea: document.querySelector('.chat-3bRxxu'), memberList: document.querySelector('.members-1998pB') }; // Cria handles de redimensionamento function createResizeHandle(container, direction) { const handle = document.createElement('div'); handle.className = `resize-handle resize-${direction}`; container.appendChild(handle); let isDragging = false; handle.addEventListener('mousedown', () => isDragging = true); document.addEventListener('mousemove', (e) => { if (!isDragging) return; if (direction === 'vertical') { container.style.width = `${e.clientX - container.getBoundingClientRect().left}px`; } else { container.style.height = `${e.clientY - container.getBoundingClientRect().top}px`; } }); document.addEventListener('mouseup', () => isDragging = false); } // Aplica a todos os containers Object.values(containers).forEach(container => { if (container) createResizeHandle(container, 'vertical'); }); } // Inicialização setTimeout(() => { initLayoutManager(); // Adiciona abas personalizadas const channelList = document.querySelector('.channels-Ie2l6A'); if (channelList) { channelList.insertAdjacentHTML('afterbegin', ` <div class="channelTabs-3TQ5vX"> <div class="tabItem-2hXZJ- tabActive-1h_Joa">Text Channels</div> <div class="tabItem-2hXZJ-">Voice Channels</div> <div class="tabItem-2hXZJ-">Categories</div> </div> `); } }, 3000);