diff --git a/theme/README.md b/theme/README.md index 6835c26..e46ac96 100644 --- a/theme/README.md +++ b/theme/README.md @@ -34,6 +34,7 @@ customized variants of the theme. - [tokyo night](https://github.com/refact0r/system24/blob/main/theme/flavors/system24-tokyo-night.theme.css) - [nord](https://github.com/refact0r/system24/blob/main/theme/flavors/system24-nord.theme.css) - [vencord](https://github.com/refact0r/system24/blob/main/theme/flavors/system24-vencord.theme.css) +- [gruvbox](https://github.com/refact0r/system24/blob/main/theme/flavors/system24-gruvbox.theme.css) ## contributing diff --git a/theme/flavors/system24-gruvbox.theme.css b/theme/flavors/system24-gruvbox.theme.css new file mode 100644 index 0000000..5962421 --- /dev/null +++ b/theme/flavors/system24-gruvbox.theme.css @@ -0,0 +1,142 @@ +/** + * @name system24 + * @description a tui-style discord theme. + * @author refact0r, cetio + * @version 2.0.0 + * @invite nz87hXyvcy + * @website https://github.com/refact0r/system24 + * @source https://github.com/refact0r/system24/blob/master/theme/flavors/system24-gruvbox.theme.css + * @authorId 508863359777505290 + * @authorLink https://www.refact0r.dev +*/ + +/* import theme modules */ +@import url('https://refact0r.github.io/system24/build/system24.css'); + +body { + /* font, change to '' for default discord font */ + --font: 'DM Mono'; /* change to '' for default discord font */ + --code-font: 'DM Mono'; /* change to '' for default discord font */ + font-weight: 300; /* text font weight. 300 is light, 400 is normal. DOES NOT AFFECT BOLD TEXT */ + letter-spacing: -0.05ch; /* decreases letter spacing for better readability. recommended on monospace fonts.*/ + + /* sizes */ + --gap: 12px; /* spacing between panels */ + --divider-thickness: 4px; /* thickness of unread messages divider and highlighted message borders */ + --border-thickness: 2px; /* thickness of borders around main panels. DOES NOT AFFECT OTHER BORDERS */ + --border-hover-transition: 0.2s ease; /* transition for borders when hovered */ + + /* animation/transition options */ + --animations: on; /* off: disable animations/transitions, on: enable animations/transitions */ + --list-item-transition: 0.2s ease; /* transition for list items */ + --dms-icon-svg-transition: 0.4s ease; /* transition for the dms icon */ + + /* top bar options */ + --top-bar-height: var(--gap); /* height of the top bar (discord default is 36px, old discord style is 24px, var(--gap) recommended if button position is set to titlebar) */ + --top-bar-button-position: titlebar; /* off: default position, hide: hide buttons completely, serverlist: move inbox button to server list, titlebar: move inbox button to channel titlebar (will hide title) */ + --top-bar-title-position: off; /* off: default centered position, hide: hide title completely, left: left align title (like old discord) */ + --subtle-top-bar-title: off; /* off: default, on: hide the icon and use subtle text color (like old discord) */ + + /* window controls */ + --custom-window-controls: off; /* off: default window controls, on: custom window controls */ + --window-control-size: 14px; /* size of custom window controls */ + + /* dms button options */ + --custom-dms-icon: off; /* off: use default discord icon, hide: remove icon entirely, custom: use custom icon */ + --dms-icon-svg-url: url(''); /* icon svg url. MUST BE A SVG. */ + --dms-icon-svg-size: 90%; /* size of the svg (css mask-size property) */ + --dms-icon-color-before: var(--icon-secondary); /* normal icon color */ + --dms-icon-color-after: var(--white); /* icon color when button is hovered/selected */ + --custom-dms-background: off; /* off to disable, image to use a background image (must set url variable below), color to use a custom color/gradient */ + --dms-background-image-url: url(''); /* url of the background image */ + --dms-background-image-size: cover; /* size of the background image (css background-size property) */ + --dms-background-color: linear-gradient(70deg, var(--blue-2), var(--purple-2), var(--red-2)); /* fixed color/gradient (css background property) */ + + /* background image options */ + --background-image: off; /* off: no background image, on: enable background image (must set url variable below) */ + --background-image-url: url(''); /* url of the background image */ + + /* transparency/blur options */ + /* NOTE: TO USE TRANSPARENCY/BLUR, YOU MUST HAVE TRANSPARENT BG COLORS. FOR EXAMPLE: --bg-4: hsla(220, 15%, 10%, 0.7); */ + --transparency-tweaks: off; /* off: no changes, on: remove some elements for better transparency */ + --remove-bg-layer: off; /* off: no changes, on: remove the base --bg-3 layer for use with window transparency (WILL OVERRIDE BACKGROUND IMAGE) */ + --panel-blur: off; /* off: no changes, on: blur the background of panels */ + --blur-amount: 12px; /* amount of blur */ + --bg-floating: var(--bg-3); /* set this to a more opaque color if floating panels look too transparent. only applies if panel blur is on */ + + /* other options */ + --small-user-panel: on; /* off: default user panel, on: smaller user panel like in old discord */ + + /* unrounding options */ + --unrounding: on; /* off: default, on: remove rounded corners from panels */ + + /* styling options */ + --custom-spotify-bar: on; /* off: default, on: custom text-like spotify progress bar */ + --ascii-titles: on; /* off: default, on: use ascii font for titles at the start of a channel */ + --ascii-loader: system24; /* off: default, system24: use system24 ascii loader, cats: use cats loader */ + + /* panel labels */ + --panel-labels: on; /* off: default, on: add labels to panels */ + --label-color: var(--text-muted); /* color of labels */ + --label-font-weight: 500; /* font weight of labels */ +} + +/* color options */ +:root { + --colors: on; /* off: discord default colors, on: midnight custom colors */ + + /* This theme technically is a derivative of Gruvbox Dark Hard, not the actual thing. */ + /* https://deepwiki.com/morhetz/gruvbox/3.1-color-palette */ + --red: #cc241d; + --bright: #fbf1c7; + --medium: #d4be98; + --medium-dark: #d4be9850; + --dark: #0d1011; + + --accent: #52a4aa; + --accent-dark: #52a4aa50; + --green: #55af39; + + /* text colors */ + --text-0: var(--dark); /* text on colored elements */ + --text-1: var(--medium); /* other normally white text */ + --text-2: var(--accent); /* headings and important text */ + --text-3: var(--bright); /* normal text */ + --text-4: var(--medium); /* icon buttons and channels */ + --text-5: var(--medium); /* muted channels/chats and timestamps */ + + /* background and dark colors */ + --bg-1: var(--medium-dark); /* dark buttons when clicked */ + --bg-2: var(--dark); /* dark buttons */ + --bg-3: var(--dark); /* spacing, secondary elements */ + --bg-4: var(--dark); /* main background color */ + --hover: var(--dark); /* channels and buttons when hovered */ + --active: var(--medium-dark); /* channels and buttons when clicked or selected */ + --active-2: var(--dark); /* extra state for transparent buttons */ + --message-hover: var(--hover); /* messages when hovered */ + + /* accent colors */ + --accent-1: var(--accent); /* links and other accent text */ + --accent-2: var(--bright); /* small accent elements */ + --accent-3: var(--medium); /* accent buttons */ + --accent-4: var(--accent); /* accent buttons when hovered */ + --accent-5: var(--accent); /* accent buttons when clicked */ + --accent-new: var(--red); /* stuff that's normally red like mute/deafen buttons */ + --mention: linear-gradient(to right, color-mix(in hsl, var(--accent-2), transparent 90%) 40%, transparent); /* background of messages that mention you */ + --mention-hover: linear-gradient(to right, color-mix(in hsl, var(--accent-2), transparent 95%) 40%, transparent); /* background of messages that mention you when hovered */ + --reply: linear-gradient(to right, color-mix(in hsl, var(--text-3), transparent 90%) 40%, transparent); /* background of messages that reply to you */ + --reply-hover: linear-gradient(to right, color-mix(in hsl, var(--text-3), transparent 95%) 40%, transparent); /* background of messages that reply to you when hovered */ + + /* status indicator colors */ + --online: var(--green); /* change to #40a258 for default */ + --dnd: var(--red); /* change to #d83a41 for default */ + --idle: var(--medium); /* change to #cc954c for default */ + --streaming: var(--accent-dark); /* change to ##9147ff for default */ + --offline: var(--text-4); /* change to #82838b for default offline color */ + + /* border colors */ + --border-light: var(--medium-dark); /* general light border color */ + --border: var(--medium-dark); /* general normal border color */ + --border-hover: var(--accent-2); /* border color of panels when hovered */ + --button-border: var(--accent-3); /* neutral border color of buttons */ +}