Этот метод является неофициальным и включает в себя поиск в исходных файлах для Slack. Это довольно легко сделать, но поскольку он будет перезаписан при каждом обновлении, вам придется делать это несколько раз.
Загрузка темы
Поскольку Slack работает на Electron, платформе для разработки настольных приложений Node.js, вы можете редактировать стили для него, как если бы вы редактировали CSS-сайт. Но файлы CSS для Slack похоронены в источнике, поэтому вам придется загружать собственные темы.
Самая популярная настоящая тема темного режима - Slack-black-theme от Widget. И поскольку Electron использует код на разных платформах, эта тема будет работать и на Windows, и на Linux. Мы обнаружили, что есть некоторые проблемы с темой на macOS Mojave, хотя, если он не работает, вы можете попробовать эту вилку, которая говорит, что она работает только на macOS, но может работать и для пользователей Windows.
Патч Slacking Slack
~AppDataLocalslack
Затем проведите несколько папок до
resources/app.asar.unpacked/src/static/
Вы захотите найти
ssb-interop.js
файл, где вы отредактируете код. Убедитесь, что Slack закрыт, откройте этот файл в вашем любимом текстовом редакторе и прокрутите вниз:
ssb-interop.js
файл:
// First make sure the wrapper app is loaded document.addEventListener('DOMContentLoaded', function() { // Then get its webviews let webviews = document.querySelectorAll('.TeamView webview'); // Fetch our CSS in parallel ahead of time const cssPath = 'https://cdn.rawgit.com/widget-/slack-black-theme/master/custom.css'; let cssPromise = fetch(cssPath).then(response => response.text()); let customCustomCSS = `:root { /* Modify these to change your theme colors: */ --primary: #09F; --text: #CCC; --background: #080808; --background-elevated: #222; } ` // Insert a style tag into the wrapper view cssPromise.then(css => { let s = document.createElement('style'); s.type = 'text/css'; s.innerHTML = css + customCustomCSS; document.head.appendChild(s); }); // Wait for each webview to load webviews.forEach(webview => { webview.addEventListener('ipc-message', message => { if (message.channel == 'didFinishLoading') // Finally add the CSS into the webview cssPromise.then(css => { let script = ` let s = document.createElement('style'); s.type = 'text/css'; s.id = 'slack-custom-css'; s.innerHTML = `${css + customCustomCSS}`; document.head.appendChild(s); ` webview.executeJavaScript(script); }) }); }); });
Возможно, вам захочется дублировать этот файл и сохранить его в другом месте, поэтому вам не нужно каждый раз редактировать код. Таким образом, вы можете просто перетащить его в каталог, чтобы перезаписать новейшую версию:
Добавление собственных тем
Если вам не нравится внешний вид, вы можете отредактировать CSS с любыми стилями, которые вы хотите. Весь этот код выполняет загрузку пользовательских стилей из https://cdn.rawgit.com/widget-/slack-black-theme/master/custom.css; вы можете загрузить этот файл, отредактировать его с изменениями и заменить URL своим собственным кодом. Сохраните, перезапустите Slack, и ваши изменения будут видны. Если вы не знаете CSS или просто хотите внести незначительные изменения, перед загрузкой CSS есть четыре цветовые переменные, поэтому вы можете просто редактировать их со своими собственными цветами.