├── .gitignore ├── CHANGELOG.md ├── LICENSE ├── README.md ├── clients ├── macos-titlebar.theme.css └── metas │ └── betterdiscord.json ├── package.json ├── src ├── source.css └── source.scss └── theme-config.json /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | pnpm-lock.yaml -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Version 2.1.0 2 | Minor fixes and changes. 3 | - Fixed where the user was unable to click the channel topic. 4 | - Changed to using base64 encoding for the `background-image`. 5 | 6 | # Version 2.0.0 7 | Rework. -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 LuckFire 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![banner](https://discord-extensions.github.io/assets/banners/macos-titlebar.png) 2 | 3 | --- 4 | 5 | ### ![betterdiscord](https://discord-extensions.github.io/assets/icons/betterdiscord.png) **[BetterDiscord](https://betterdiscord.app)** 6 | 1. [Download the theme](https://github.com/discord-extensions/macos-titlebar/releases/download/betterdiscord/macos-titlebar.theme.css) 7 | 2. Open your themes folder by going to the "BetterDiscord" category in user settings (CTRL + ,), selecting "Themes", and pressing the "Open Themes Folder" button. 8 | 3. Drag the file into that folder. 9 | 10 | ### ![vencord](https://discord-extensions.github.io/assets/icons/vencord.gif) **[Vencord](https://github.com/Vendicated/Vencord)** 11 | #### From URL 12 | 1. Go to user settings (CTRL + ,) 13 | 2. Go to the "Vencord" category in user settings (CTRL + ,), select the "Themes" tab, then select "Online Themes". 14 | 3. In the input field under "ONLINE THEMES" paste the following URL (if you have some here already, add a comma before the url). 15 | ``` 16 | https://discord-extensions.github.io/macos-titlebar/src/source.css 17 | ``` 18 | #### From `.theme.css` File 19 | 1. [Download the theme](https://github.com/discord-extensions/macos-titlebar/releases/download/betterdiscord/macos-titlebar.theme.css) 20 | 2. Open your themes folder by going to the "Vencord" category in user settings (CTRL + ,), select the "Themes" tab, and press the "Open Themes Folder" button. 21 | 3. Drag the file into that folder. 22 | 23 | --- 24 | 25 | ### License 26 | This theme is licensed under the MIT license. Please refer to the [LICENSE](./LICENSE) file for more details regarding rights and limitations. 27 | 28 | ### Support 29 | If you've ran into an issue with an area being unthemed, **PLEASE REPORT IT IN AN ISSUE**. If you have some other issue you need help with, feel free to join my [support server](https://discord.gg/vYdXbEzqDs). -------------------------------------------------------------------------------- /clients/macos-titlebar.theme.css: -------------------------------------------------------------------------------- 1 | /** 2 | * @name macOS Titlebar 3 | * @author LuckFire 4 | * @description Replicates the Discord macOS titlebar on Windows. 5 | * @version 2.2.0 6 | * @invite vYdXbEzqDs 7 | * @authorId 399416615742996480 8 | * @source https://github.com/discord-extensions/macos-titlebar 9 | * @updateUrl https://github.com/discord-extensions/macos-titlebar/blob/master/clients/macos-titlebar.theme.css 10 | */ 11 | 12 | @import url("https://discord-extensions.github.io/macos-titlebar/src/source.css"); 13 | 14 | .platform-win .winButtons_c38106 { 15 | left: 0; 16 | position: fixed; 17 | flex-direction: row-reverse; 18 | } 19 | .platform-win .bar_c38106[data-windows=true] { 20 | padding-right: var(--space-12); 21 | } 22 | .platform-win .winButtonsWithDivider_c38106:before { 23 | display: none; 24 | } 25 | .platform-win .winButton_c38106 { 26 | width: 12px; 27 | height: 12px; 28 | margin-left: 8px; 29 | border-radius: 15px; 30 | background-color: var(--background-primary); 31 | background-size: 0; 32 | -webkit-app-region: no-drag; 33 | } 34 | .platform-win .winButton_c38106 svg { 35 | display: none; 36 | } 37 | .platform-win.app-focused .winButtons_c38106:hover .winButton_c38106 { 38 | background-position: center; 39 | background-size: 100%; 40 | background-repeat: no-repeat; 41 | } 42 | .platform-win.app-focused .winButtons_c38106 .winButtonClose_c38106 { 43 | background-color: #ff5c57; 44 | background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTUuMjkyODkgNkwyLjgxODAxIDMuNTI1MTNMMy41MjUxMiAyLjgxODAyTDUuOTk5OTkgNS4yOTI4OUw4LjQ3NDg3IDIuODE4MDJMOS4xODE5NyAzLjUyNTEzTDYuNzA3MSA2TDkuMTgxOTcgOC40NzQ4N0w4LjQ3NDg3IDkuMTgxOThMNS45OTk5OSA2LjcwNzExTDMuNTI1MTIgOS4xODE5OEwyLjgxODAxIDguNDc0ODdMNS4yOTI4OSA2WiIgZmlsbD0iI0EyMDAwOCIvPgo8L3N2Zz4=); 45 | } 46 | .platform-win.app-focused .winButtons_c38106 .winButtonMinMax_c38106:nth-child(1) { 47 | background-color: #fdbd3d; 48 | background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEwIDUuMzk5OTlIMlY2LjU5OTk5SDEwVjUuMzk5OTlaIiBmaWxsPSIjQjM3MTFBIi8+Cjwvc3ZnPg==); 49 | } 50 | .platform-win.app-focused .winButtons_c38106 .winButtonMinMax_c38106:nth-child(2) { 51 | order: -1; 52 | background-color: #26c84b; 53 | background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTcuMzkyOTMgMy4wMDg5M0wzLjAwODg3IDcuMzkyOTlMMi44MTc5NSAyLjgxODAxTDcuMzkyOTMgMy4wMDg5M1oiIGZpbGw9IiMwMjZBMTUiLz4KPHBhdGggZD0iTTQuNjA2OTUgOC45OTEwMUw4Ljk5MTAxIDQuNjA2OTVMOS4xODE5MyA5LjE4MTkzTDQuNjA2OTUgOC45OTEwMVogIiBmaWxsPSIjMDI2QTE1Ii8+Cjwvc3ZnPg==); 54 | } -------------------------------------------------------------------------------- /clients/metas/betterdiscord.json: -------------------------------------------------------------------------------- 1 | { 2 | "invite": "vYdXbEzqDs", 3 | "authorId": "399416615742996480", 4 | "source": "https://github.com/discord-extensions/macos-titlebar", 5 | "updateUrl": "https://github.com/discord-extensions/macos-titlebar/blob/master/clients/macos-titlebar.theme.css" 6 | } -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "macos-titlebar", 3 | "version": "2.2.0", 4 | "description": "Replicates the Discord macOS titlebar on Windows.", 5 | "repository": { 6 | "type": "git", 7 | "url": "git+https://github.com/discord-extensions/macos-titlebar.git" 8 | }, 9 | "author": "LuckFire", 10 | "license": "MIT", 11 | "scripts": { 12 | "dev": "theme-scss dev", 13 | "build": "theme-scss build", 14 | "bump:patch": "pnpm version --commit-hooks false --git-tag-version false patch", 15 | "bump:minor": "pnpm version --commit-hooks false --git-tag-version false minor", 16 | "bump:major": "pnpm version --commit-hooks false --git-tag-version false major" 17 | }, 18 | "devDependencies": { 19 | "theme-scss": "^1.1.4" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/source.css: -------------------------------------------------------------------------------- 1 | .platform-win .winButtons_c38106 { 2 | left: 0; 3 | position: fixed; 4 | flex-direction: row-reverse; 5 | } 6 | .platform-win .bar_c38106[data-windows=true] { 7 | padding-right: var(--space-12); 8 | } 9 | .platform-win .winButtonsWithDivider_c38106:before { 10 | display: none; 11 | } 12 | .platform-win .winButton_c38106 { 13 | width: 12px; 14 | height: 12px; 15 | margin-left: 8px; 16 | border-radius: 15px; 17 | background-color: var(--background-primary); 18 | background-size: 0; 19 | -webkit-app-region: no-drag; 20 | } 21 | .platform-win .winButton_c38106 svg { 22 | display: none; 23 | } 24 | .platform-win.app-focused .winButtons_c38106:hover .winButton_c38106 { 25 | background-position: center; 26 | background-size: 100%; 27 | background-repeat: no-repeat; 28 | } 29 | .platform-win.app-focused .winButtons_c38106 .winButtonClose_c38106 { 30 | background-color: #ff5c57; 31 | background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTUuMjkyODkgNkwyLjgxODAxIDMuNTI1MTNMMy41MjUxMiAyLjgxODAyTDUuOTk5OTkgNS4yOTI4OUw4LjQ3NDg3IDIuODE4MDJMOS4xODE5NyAzLjUyNTEzTDYuNzA3MSA2TDkuMTgxOTcgOC40NzQ4N0w4LjQ3NDg3IDkuMTgxOThMNS45OTk5OSA2LjcwNzExTDMuNTI1MTIgOS4xODE5OEwyLjgxODAxIDguNDc0ODdMNS4yOTI4OSA2WiIgZmlsbD0iI0EyMDAwOCIvPgo8L3N2Zz4=); 32 | } 33 | .platform-win.app-focused .winButtons_c38106 .winButtonMinMax_c38106:nth-child(1) { 34 | background-color: #fdbd3d; 35 | background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEwIDUuMzk5OTlIMlY2LjU5OTk5SDEwVjUuMzk5OTlaIiBmaWxsPSIjQjM3MTFBIi8+Cjwvc3ZnPg==); 36 | } 37 | .platform-win.app-focused .winButtons_c38106 .winButtonMinMax_c38106:nth-child(2) { 38 | order: -1; 39 | background-color: #26c84b; 40 | background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTcuMzkyOTMgMy4wMDg5M0wzLjAwODg3IDcuMzkyOTlMMi44MTc5NSAyLjgxODAxTDcuMzkyOTMgMy4wMDg5M1oiIGZpbGw9IiMwMjZBMTUiLz4KPHBhdGggZD0iTTQuNjA2OTUgOC45OTEwMUw4Ljk5MTAxIDQuNjA2OTVMOS4xODE5MyA5LjE4MTkzTDQuNjA2OTUgOC45OTEwMVogIiBmaWxsPSIjMDI2QTE1Ii8+Cjwvc3ZnPg==); 41 | } -------------------------------------------------------------------------------- /src/source.scss: -------------------------------------------------------------------------------- 1 | .platform-win { 2 | .winButtons_c38106 { 3 | left: 0; 4 | position: fixed; 5 | flex-direction: row-reverse; 6 | } 7 | 8 | .bar_c38106[data-windows="true"] { 9 | padding-right: var(--space-12); 10 | } 11 | 12 | .winButtonsWithDivider_c38106:before { 13 | display: none; 14 | } 15 | 16 | .winButton_c38106 { 17 | width: 12px; 18 | height: 12px; 19 | margin-left: 8px; 20 | border-radius: 15px; 21 | background-color: var(--background-primary); 22 | background-size: 0; 23 | -webkit-app-region: no-drag; 24 | svg { 25 | display: none; 26 | } 27 | } 28 | 29 | &.app-focused .winButtons_c38106 { 30 | &:hover .winButton_c38106 { 31 | background-position: center; 32 | background-size: 100%; 33 | background-repeat: no-repeat; 34 | } 35 | 36 | .winButtonClose_c38106 { 37 | background-color: #ff5c57; 38 | background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTUuMjkyODkgNkwyLjgxODAxIDMuNTI1MTNMMy41MjUxMiAyLjgxODAyTDUuOTk5OTkgNS4yOTI4OUw4LjQ3NDg3IDIuODE4MDJMOS4xODE5NyAzLjUyNTEzTDYuNzA3MSA2TDkuMTgxOTcgOC40NzQ4N0w4LjQ3NDg3IDkuMTgxOThMNS45OTk5OSA2LjcwNzExTDMuNTI1MTIgOS4xODE5OEwyLjgxODAxIDguNDc0ODdMNS4yOTI4OSA2WiIgZmlsbD0iI0EyMDAwOCIvPgo8L3N2Zz4=); 39 | } 40 | .winButtonMinMax_c38106:nth-child(1) { 41 | background-color: #fdbd3d; 42 | background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEwIDUuMzk5OTlIMlY2LjU5OTk5SDEwVjUuMzk5OTlaIiBmaWxsPSIjQjM3MTFBIi8+Cjwvc3ZnPg==); 43 | } 44 | .winButtonMinMax_c38106:nth-child(2) { 45 | order: -1; 46 | background-color: #26c84b; 47 | background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTcuMzkyOTMgMy4wMDg5M0wzLjAwODg3IDcuMzkyOTlMMi44MTc5NSAyLjgxODAxTDcuMzkyOTMgMy4wMDg5M1oiIGZpbGw9IiMwMjZBMTUiLz4KPHBhdGggZD0iTTQuNjA2OTUgOC45OTEwMUw4Ljk5MTAxIDQuNjA2OTVMOS4xODE5MyA5LjE4MTkzTDQuNjA2OTUgOC45OTEwMVogIiBmaWxsPSIjMDI2QTE1Ii8+Cjwvc3ZnPg==); 48 | } 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /theme-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "macOS Titlebar", 3 | "import": "https://discord-extensions.github.io/macos-titlebar/src/source.css", 4 | "metas": { 5 | "betterdiscord": "clients/metas/betterdiscord.json" 6 | }, 7 | "dist": { 8 | "clients": { 9 | "compileFor": ["betterdiscord"] 10 | } 11 | }, 12 | "dev": { 13 | "mod": "vencord" 14 | } 15 | } --------------------------------------------------------------------------------