mirror of
https://github.com/morpheusthewhite/spicetify-themes.git
synced 2024-11-22 02:42:54 +01:00
commit
7740b3b14d
23
Koushi/README.md
Executable file
23
Koushi/README.md
Executable file
@ -0,0 +1,23 @@
|
||||
# Koushi Theme
|
||||
|
||||
A light and dark minimalist theme for Spotify. Theme colours change according to the macOS system appearance. You need [Spicetify](https://github.com/khanhas/spicetify-cli) to install this theme.
|
||||
|
||||
Name comes from **格子** which means lattice; latticework; window bars; grid; grating.
|
||||
|
||||
## Screenshots
|
||||
|
||||
### Dark Theme (default)
|
||||
|
||||
<img src="screenshots/theme-dark.png" alt="dark theme" style="zoom:50%;" />
|
||||
|
||||
### Light Theme
|
||||
|
||||
<img src="screenshots/theme-light.png" alt="light theme" style="zoom:50%;" />
|
||||
|
||||
## References
|
||||
|
||||
Dark theme colours inspired by [FullBlack](https://github.com/cyacedev/spicetify-FullBlack).
|
||||
|
||||
Light theme colours inspired by [SpicetifyDefault ](https://github.com/khanhas/spicetify-cli/tree/master/Themes/SpicetifyDefault).
|
||||
|
||||
[Toggle colors according to the macOS system appearance](https://github.com/khanhas/spicetify-cli/issues/423#issuecomment-785224958)
|
37
Koushi/color.ini
Executable file
37
Koushi/color.ini
Executable file
@ -0,0 +1,37 @@
|
||||
[Base]
|
||||
main_fg = FFFFFF
|
||||
secondary_fg = DEDEDE
|
||||
main_bg = 000000
|
||||
sidebar_and_player_bg = 151515
|
||||
cover_overlay_and_shadow = 000000
|
||||
indicator_fg_and_button_bg = 00BF76
|
||||
pressing_fg = FF5C86
|
||||
slider_bg = 2c2a30
|
||||
sidebar_indicator_and_hover_button_bg = 1DB954
|
||||
scrollbar_fg_and_selected_row_bg = 121212
|
||||
pressing_button_fg = DEDEDE
|
||||
pressing_button_bg = 383145
|
||||
selected_button = 1DB954
|
||||
miscellaneous_bg = 1d1a21
|
||||
miscellaneous_hover_bg = 00BF76
|
||||
preserve_1 = FFFFFF
|
||||
grid_lines = FFFFFF
|
||||
|
||||
[Light]
|
||||
main_fg = 05C078
|
||||
secondary_fg = 5D5D5D
|
||||
main_bg = F8F8F8
|
||||
sidebar_and_player_bg = F8F8F8
|
||||
cover_overlay_and_shadow = 000000
|
||||
indicator_fg_and_button_bg = 05C078
|
||||
pressing_fg = 00D083
|
||||
slider_bg = F8F8F8
|
||||
sidebar_indicator_and_hover_button_bg = 00D083
|
||||
scrollbar_fg_and_selected_row_bg = EBEBEB
|
||||
pressing_button_fg = DEDEDE
|
||||
pressing_button_bg = 383145
|
||||
selected_button = 00D083
|
||||
miscellaneous_bg = 3F3C45
|
||||
miscellaneous_hover_bg = 383145
|
||||
preserve_1 = BFBFBF
|
||||
grid_lines = 3D3D3D
|
BIN
Koushi/screenshots/theme-dark.png
Normal file
BIN
Koushi/screenshots/theme-dark.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.6 MiB |
BIN
Koushi/screenshots/theme-light.png
Normal file
BIN
Koushi/screenshots/theme-light.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.6 MiB |
403
Koushi/user.css
Executable file
403
Koushi/user.css
Executable file
@ -0,0 +1,403 @@
|
||||
.Header__top-bar{
|
||||
background: var(--modspotify_main_bg);
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.Header__background-color{
|
||||
background-image: linear-gradient(to bottom, var(--modspotify_main_bg), var(--modspotify_main_bg)) !important;
|
||||
}
|
||||
|
||||
/* Koushi Grid Theme */
|
||||
|
||||
body {
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
|
||||
}
|
||||
|
||||
#main {
|
||||
border-top: 3px solid var(--modspotify_grid_lines);
|
||||
border-left: 3px solid var(--modspotify_grid_lines);
|
||||
border-right: 5px solid var(--modspotify_grid_lines);
|
||||
}
|
||||
|
||||
#iframe-buddy-list, #LyricsContainer {
|
||||
border-left: 3px solid var(--modspotify_grid_lines);
|
||||
}
|
||||
|
||||
#content-wrapper {
|
||||
border-left: 3px solid var(--modspotify_grid_lines);
|
||||
}
|
||||
|
||||
#view-player-footer {
|
||||
border-top: 3px solid var(--modspotify_grid_lines);
|
||||
border-bottom: 3px solid var(--modspotify_grid_lines);
|
||||
border-left: 3px solid var(--modspotify_grid_lines);
|
||||
border-right: 5px solid var(--modspotify_grid_lines);
|
||||
}
|
||||
|
||||
#view-now-playing.expanded {
|
||||
border-top: 3px solid var(--modspotify_grid_lines);
|
||||
}
|
||||
|
||||
#view-now-playing.expanded #now-playing-image-large {
|
||||
margin-top: -2px;
|
||||
}
|
||||
|
||||
#connect-picker {
|
||||
border: 3px solid var(--modspotify_grid_lines);
|
||||
box-shadow: unset;
|
||||
}
|
||||
|
||||
.context-menu {
|
||||
border: 3px solid var(--modspotify_grid_lines);
|
||||
box-shadow: unset;
|
||||
}
|
||||
|
||||
.PopoverMenu .Menu {
|
||||
border: 3px solid var(--modspotify_grid_lines);
|
||||
box-shadow: unset;
|
||||
}
|
||||
|
||||
.Modal__content {
|
||||
border: 3px solid var(--modspotify_grid_lines);
|
||||
box-shadow: unset;
|
||||
}
|
||||
|
||||
.dropdown-menu {
|
||||
border: 3px solid var(--modspotify_grid_lines);
|
||||
box-shadow: unset;
|
||||
}
|
||||
|
||||
/* Light theme + cosmetic changes */
|
||||
@media (prefers-color-scheme: light) {
|
||||
:root {
|
||||
--modspotify_preserve_1: #bfbfbf;
|
||||
--modspotify_rgb_preserve_1: 191,191,191;
|
||||
--modspotify_sidebar_and_player_bg: #f8f8f8;
|
||||
--modspotify_rgb_sidebar_and_player_bg: 248,248,248;
|
||||
--modspotify_miscellaneous_hover_bg: #383145;
|
||||
--modspotify_rgb_miscellaneous_hover_bg: 56,49,69;
|
||||
--modspotify_pressing_button_fg: #dedede;
|
||||
--modspotify_rgb_pressing_button_fg: 222,222,222;
|
||||
--modspotify_main_bg: #f8f8f8;
|
||||
--modspotify_rgb_main_bg: 248,248,248;
|
||||
--modspotify_selected_button: #00d083;
|
||||
--modspotify_rgb_selected_button: 0,208,131;
|
||||
--modspotify_scrollbar_fg_and_selected_row_bg: #ebebeb;
|
||||
--modspotify_rgb_scrollbar_fg_and_selected_row_bg: 235,235,235;
|
||||
--modspotify_grid_lines: #3d3d3d;
|
||||
--modspotify_rgb_grid_lines: 61,61,61;
|
||||
--modspotify_sidebar_indicator_and_hover_button_bg: #00d083;
|
||||
--modspotify_rgb_sidebar_indicator_and_hover_button_bg: 0,208,131;
|
||||
--modspotify_main_fg: #05c078;
|
||||
--modspotify_rgb_main_fg: 5,192,120;
|
||||
--modspotify_indicator_fg_and_button_bg: #05c078;
|
||||
--modspotify_rgb_indicator_fg_and_button_bg: 5,192,120;
|
||||
--modspotify_pressing_fg: #00d083;
|
||||
--modspotify_rgb_pressing_fg: 0,208,131;
|
||||
--modspotify_secondary_fg: #5d5d5d;
|
||||
--modspotify_rgb_secondary_fg: 61,61,61;
|
||||
--modspotify_pressing_button_bg: #383145;
|
||||
--modspotify_rgb_pressing_button_bg: 56,49,69;
|
||||
--modspotify_miscellaneous_bg: #3f3c45;
|
||||
--modspotify_rgb_miscellaneous_bg: 63,60,69;
|
||||
--modspotify_slider_bg: #f8f8f8;
|
||||
--modspotify_rgb_slider_bg: 248,248,248;
|
||||
--modspotify_cover_overlay_and_shadow: #000000;
|
||||
--modspotify_rgb_cover_overlay_and_shadow: 0,0,0;
|
||||
}
|
||||
/*Exclude these elements from draggable property because it stops them from clickable*/
|
||||
.profile-items-container,
|
||||
.profile {
|
||||
-webkit-app-region: no-drag !important;
|
||||
}
|
||||
|
||||
/*Hide cover image overlay*/
|
||||
.card-overlay {
|
||||
visibility: hidden !important;
|
||||
}
|
||||
|
||||
.card-image-hit-area .card-button-add,
|
||||
.card-image-hit-area .card-button-play,
|
||||
.card-image-hit-area .card-button-more,
|
||||
.Card__image-hit-area .card-button-add,
|
||||
.Card__image-hit-area .card-button-play,
|
||||
.Card__image-hit-area .card-button-more,
|
||||
.Card__image-hit-area .Card__play-button,
|
||||
.Card__image-hit-area .Card__add-button,
|
||||
.Card__image-hit-area .Card__more-button,
|
||||
.Card__image-hit-area .Card__overlay {
|
||||
opacity: 0 !important;
|
||||
}
|
||||
.card-image-hit-area:not(.no-hover):hover .card-button-add,
|
||||
.card-image-hit-area:not(.no-hover):hover .card-button-play,
|
||||
.card-image-hit-area:not(.no-hover):hover .card-button-more,
|
||||
.Card__image-hit-area:not(.no-hover):hover .card-button-add,
|
||||
.Card__image-hit-area:not(.no-hover):hover .card-button-play,
|
||||
.Card__image-hit-area:not(.no-hover):hover .card-button-more {
|
||||
opacity: 1 !important;
|
||||
}
|
||||
|
||||
.Card__image-hit-area:hover .Card__play-button,
|
||||
.Card__image-hit-area:hover .Card__add-button,
|
||||
.Card__image-hit-area:hover .Card__more-button,
|
||||
.Card__image-hit-area:hover .Card__overlay {
|
||||
opacity: 1 !important;
|
||||
}
|
||||
|
||||
.glue-page-header__content .glue-page-header__image-inner {
|
||||
box-shadow: unset !important;
|
||||
}
|
||||
|
||||
.glue-page-header__full-description-overlay {
|
||||
box-shadow: unset !important;
|
||||
}
|
||||
|
||||
.card-placeholder-wrapper {
|
||||
background: transparent !important;
|
||||
}
|
||||
|
||||
/*Spice up search input background*/
|
||||
.SearchInput {
|
||||
color: var(--modspotify_main_fg);
|
||||
}
|
||||
.SearchInput__input {
|
||||
color: var(--modspotify_secondary_fg);
|
||||
background-color: rgba(var(--modspotify_rgb_scrollbar_fg_and_selected_row_bg), 0.5) !important;
|
||||
}
|
||||
|
||||
.sidebar:hover .sidebar-navbar.sidebar-scroll-element {
|
||||
opacity: 1!important;
|
||||
}
|
||||
|
||||
|
||||
.view-player .player-controls-container .controls .button-play {
|
||||
color: var(--modspotify_cover_overlay_and_shadow);
|
||||
}
|
||||
|
||||
.view-player .player-controls-container .controls .button-play:after {
|
||||
box-shadow: unset !important;
|
||||
}
|
||||
|
||||
.card-puff__title-container {
|
||||
background-color: transparent !important;
|
||||
}
|
||||
|
||||
.card-puff.pressed .card-puff__image-wrapper,
|
||||
.card-puff.pressed .card-puff__info-container {
|
||||
opacity: 0.7 !important;
|
||||
}
|
||||
|
||||
.card-puff__title {
|
||||
background-color: var(--modspotify_main_bg) !important;
|
||||
border: 2px solid var(--modspotify_main_fg);
|
||||
}
|
||||
|
||||
/*
|
||||
We use round corner on cover so they look weird in original
|
||||
form, so I move last cover to the right 20px and first one to the left 20px
|
||||
*/
|
||||
.card-puff__card-image:nth-child(1) {
|
||||
box-shadow: 0 0 0 0 !important;
|
||||
}
|
||||
|
||||
/**/
|
||||
.glue-page-header__background-color {
|
||||
background-image: none !important;
|
||||
background: var(--modspotify_main_bg);
|
||||
}
|
||||
|
||||
/*
|
||||
Button with text Play
|
||||
*/
|
||||
.button.button-green,
|
||||
.GlueButton.GlueButton--style-green {
|
||||
color: var(--modspotify_main_bg) !important;
|
||||
}
|
||||
|
||||
/*
|
||||
Change text color in playlist
|
||||
*/
|
||||
.tl-explicit .label,
|
||||
.tl-premium .label,
|
||||
.tl-cell:not(.tl-number),
|
||||
.tl-cell a:link,
|
||||
.tl-highlight {
|
||||
color: var(--modspotify_secondary_fg);
|
||||
}
|
||||
|
||||
.tl-row.unavailable .tl-cell,
|
||||
.tl-row.unavailable .tl-cell a:link,
|
||||
.tl-row.unavailable .tl-highlight {
|
||||
color: var(--modspotify_preserve_1) !important;
|
||||
}
|
||||
|
||||
/*
|
||||
Change text color in album
|
||||
*/
|
||||
.TableCell--is-emphasized {
|
||||
color: var(--modspotify_secondary_fg);
|
||||
}
|
||||
|
||||
.TableCell--is-emphasized:hover {
|
||||
color: var(--modspotify_main_fg);
|
||||
}
|
||||
|
||||
.tracklist-station-container::after {
|
||||
background: transparent !important;
|
||||
}
|
||||
|
||||
.GlueHeader__background-overlay {
|
||||
background: var(--modspotify_main_bg) !important;
|
||||
}
|
||||
|
||||
/* Spice up Fullscreen mode */
|
||||
#view-player .album-art .album-art__image {
|
||||
box-shadow: 0 10px 70px rgba(var(--modspotify_rgb_cover_overlay_and_shadow),.5) !important;
|
||||
}
|
||||
|
||||
#video-player .album-art__background {
|
||||
background-color: initial;
|
||||
}
|
||||
|
||||
.nav.navbar-nav .active a::after{
|
||||
box-shadow: 0 0px 20px !important;
|
||||
}
|
||||
|
||||
.nav.navbar-nav a:focus:not(.button):active::after{
|
||||
background-color: var(--modspotify_pressing_fg) !important;
|
||||
}
|
||||
|
||||
/* Small tooltip */
|
||||
#tooltip {
|
||||
box-shadow: 0 0 10px rgba(0,0,0,0.2) !important;
|
||||
border-color: var(--modspotify_main_fg) !important;
|
||||
}
|
||||
|
||||
.lyrics-lines-container,
|
||||
.message-container {
|
||||
color: #FFFFFF !important;
|
||||
}
|
||||
|
||||
/* Home page */
|
||||
|
||||
.tl-row.selected:hover .tl-cell {
|
||||
background: var(--modspotify_scrollbar_fg_and_selected_row_bg) !important;
|
||||
}
|
||||
|
||||
.GlueTableRow--is-selected {
|
||||
background-color: var(--modspotify_scrollbar_fg_and_selected_row_bg) !important;
|
||||
}
|
||||
|
||||
.tracklist-podcast .tl-progress .row-progress__bar {
|
||||
background-color: var(--modspotify_main_fg);
|
||||
}
|
||||
|
||||
.Header__background-color{
|
||||
background-color: var(--modspotify_main_bg) !important;
|
||||
background-image: unset;
|
||||
}
|
||||
|
||||
.Button--style-green,
|
||||
.button.button-green, .button.button-white {
|
||||
color: var(--modspotify_main_bg) !important;
|
||||
}
|
||||
|
||||
.glue-page-header:not(.glue-page-header--album):not(.glue-page-header--playlist):not(.glue-page-header--artist):not(.glue-page-header--dailymix):not(.glue-page-header--user):not(.glue-page-header--show)
|
||||
.glue-page-header__content-inner .glue-page-header__title-text,
|
||||
.HomeHeader .Header__content-inner .Header__title-text-inner,
|
||||
.MadeForYouHeader .Header__content-inner .Header__title-text-inner,
|
||||
.RecentlyPlayedPage__header .Header__content-inner .Header__title-text-inner {
|
||||
background-color: var(--modspotify_main_bg);
|
||||
border-color: var(--modspotify_main_fg) !important;
|
||||
}
|
||||
|
||||
span.glue-page-header__title-text {
|
||||
color: var(--modspotify_main_fg);
|
||||
}
|
||||
|
||||
.view-player .now-playing-container .button-add {
|
||||
color: var(--modspotify_main_fg) !important;
|
||||
}
|
||||
|
||||
#player-progressbar .progress-bar-wrapper .progress-bar {
|
||||
background-color: var(--modspotify_secondary_fg) !important;
|
||||
}
|
||||
|
||||
.progress-container .inner {
|
||||
background-color: var(--modspotify_main_fg) !important;
|
||||
}
|
||||
|
||||
.context-menu {
|
||||
border-color: var(--modspotify_main_fg) !important;
|
||||
}
|
||||
|
||||
#menu-wrapper {
|
||||
border-image: linear-gradient(0deg, transparent , var(--modspotify_scrollbar_fg_and_selected_row_bg) 40%, var(--modspotify_scrollbar_fg_and_selected_row_bg) 60%, transparent 90%) 2 90%;
|
||||
}
|
||||
|
||||
.Button--style-icon-stroke:after,
|
||||
.Button--style-icon-stroke:hover:after,
|
||||
.Button--style-icon-stroke,
|
||||
.glue-page-header__button .button-icon-with-stroke,
|
||||
.glue-page-header__button .button-icon-with-stroke::after {
|
||||
box-shadow: unset;
|
||||
}
|
||||
|
||||
.glue-page-header__label span,
|
||||
.Header__label span {
|
||||
background-color: var(--modspotify_main_fg);
|
||||
color: var(--modspotify_main_bg);
|
||||
}
|
||||
|
||||
.glue-page-header__label .header-verified-check {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.SidebarListItem--is-active:after,
|
||||
.RootlistItem--is-active:after {
|
||||
background-color: transparent;
|
||||
background-image: linear-gradient(90deg, var(--modspotify_sidebar_indicator_and_hover_button_bg) , transparent);
|
||||
opacity: 0.2;
|
||||
}
|
||||
|
||||
.Header__image-inner {
|
||||
box-shadow: unset;
|
||||
}
|
||||
|
||||
.Root__nav-bar {
|
||||
background-color: var(--modspotify_main_bg);
|
||||
}
|
||||
|
||||
.Root__main-view .btn,
|
||||
.Root__main-view button {
|
||||
color: var(--modspotify_main_bg);
|
||||
}
|
||||
|
||||
.Root__main-view .track-name-wrapper .tracklist-row__album-name-link,
|
||||
.Root__main-view .track-name-wrapper .tracklist-row__artist-name-link,
|
||||
.Root__main-view .track-row__episode-date {
|
||||
color: var(--modspotify_secondary_fg);
|
||||
}
|
||||
|
||||
.Root__main-view .TrackListHeader__entity-long-description {
|
||||
color: var(--modspotify_secondary_fg);
|
||||
}
|
||||
|
||||
.Root__main-view .mo-meta a:link, .Root__main-view .mo-meta a:visited {
|
||||
color: var(--modspotify_secondary_fg);
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.Root__main-view .TrackListRow__explicit-label {
|
||||
background-color: rgba(var(--modspotify_rgb_secondary_fg), 0.6);
|
||||
color: var(--modspotify_secondary_fg);
|
||||
}
|
||||
|
||||
.Root__main-view .main-view-container {
|
||||
background-color: var(--modspotify_main_bg);
|
||||
}
|
||||
|
||||
.concert-title span {
|
||||
color: var(--modspotify_secondary_fg) !important;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user