Skip to content

Commit c67a697

Browse files
mvllowZT2wo
andcommitted
feat: add Emby userstyle
Co-authored-by: Anthony <47440927+ZT2wo@users.noreply.github.com>
1 parent b036adb commit c67a697

6 files changed

Lines changed: 223 additions & 0 deletions

File tree

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
/styles/claude/ @juliamertz
1111
/styles/discord/ @juliamertz
1212
/styles/docs.rs/ @juliamertz
13+
/styles/emby/ @ZT2wo @juliamertz
1314
/styles/github/ @juliamertz
1415
/styles/hetzner-cloud/ @juliamertz
1516
/styles/jira/ @adriankarlen @juliamertz

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,7 @@ additional setup instructions or special requirements.
127127
**Entertainment**
128128

129129
- [Advent of Code](https://github.com/rose-pine/userstyles/tree/main/styles/advent-of-code)
130+
- [Emby](https://github.com/rose-pine/userstyles/tree/main/styles/emby)
130131
- [Twitch](https://github.com/rose-pine/userstyles/tree/main/styles/twitch)
131132
- [YouTube](https://github.com/rose-pine/userstyles/tree/main/styles/youtube)
132133

styles/emby/LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2026 Rosé Pine
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.

styles/emby/README.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
<p align="center">
2+
<img src="https://github.com/rose-pine/rose-pine-theme/raw/main/assets/icon.png" width="80" />
3+
<h2 align="center">Rosé Pine for Emby</h2></p>
4+
<p align="center">All natural pine, faux fur and a bit of soho vibes for the classy minimalist</p>
5+
<p align="center">
6+
<a href="https://github.com/rose-pine/userstyles/raw/main/styles/emby/rose-pine.user.less">
7+
<img src="https://img.shields.io/badge/stylus-install-31748f?colorA=191724&style=for-the-badge">
8+
</a>
9+
</p>
10+
11+
## Usage
12+
13+
1. Make sure you have the [Stylus](https://github.com/openstyles/stylus) browser
14+
extension installed, then visit
15+
[this link](https://github.com/rose-pine/userstyles/raw/main/styles/emby/rose-pine.user.less)
16+
2. Configure your preferred palette scheme (Rosé Pine, Moon, or Dawn)
17+
3. Click install on the top left
18+
19+
## Gallery
20+
21+
### Rosé Pine
22+
23+
<img width="800" alt="Rosé Pine with Emby" src="https://raw.githubusercontent.com/ZT2wo/Emby-Rose-Pine/refs/heads/main/img/emby-pine.png" />
24+
25+
### Rosé Pine Moon
26+
27+
<img width="800" alt="Rosé Pine Moon with Emby" src="https://raw.githubusercontent.com/ZT2wo/Emby-Rose-Pine/refs/heads/main/img/emby-moon.png" />
28+
29+
### Rosé Pine Dawn
30+
31+
<img width="800" alt="Rosé Pine Dawn with Emby" src="https://raw.githubusercontent.com/ZT2wo/Emby-Rose-Pine/refs/heads/main/img/emby-dawn.png" />
32+
33+
## Thanks to
34+
35+
- [ZT2wo](https://github.com/ZT2wo)

styles/emby/rose-pine.user.less

Lines changed: 160 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,160 @@
1+
/* ==UserStyle==
2+
@name Rosé Pine for Emby
3+
@description Soho vibes for Emby
4+
@version 1.0.0
5+
@license MIT
6+
@author ZT2wo
7+
@namespace https://github.com/rose-pine/
8+
@homepageURL https://github.com/rose-pine/userstyles
9+
@updateURL https://github.com/rose-pine/userstyles/raw/main/styles/emby/rose-pine.user.less
10+
@preprocessor less
11+
12+
@var select variant "Variant" ["main:Rosé Pine*", "moon:Rosé Pine Moon", "dawn:Rosé Pine Dawn"]
13+
==/UserStyle== */
14+
15+
@-moz-document domain("emby.media") {
16+
:root {
17+
#rose-pine(@variant);
18+
}
19+
20+
#rose-pine(@variant) {
21+
@base: @rose-pine[@@variant][@base];
22+
@surface: @rose-pine[@@variant][@surface];
23+
@overlay: @rose-pine[@@variant][@overlay];
24+
@muted: @rose-pine[@@variant][@muted];
25+
@subtle: @rose-pine[@@variant][@subtle];
26+
@text: @rose-pine[@@variant][@text];
27+
@love: @rose-pine[@@variant][@love];
28+
@gold: @rose-pine[@@variant][@gold];
29+
@rose: @rose-pine[@@variant][@rose];
30+
@pine: @rose-pine[@@variant][@pine];
31+
@foam: @rose-pine[@@variant][@foam];
32+
@iris: @rose-pine[@@variant][@iris];
33+
@highlightLow: @rose-pine[@@variant][@highlightLow];
34+
@highlightMed: @rose-pine[@@variant][@highlightMed];
35+
@highlightHigh: @rose-pine[@@variant][@highlightHigh];
36+
@rose-a: fade(@rose, 20%);
37+
color-scheme: if(@variant = dawn, light, dark);
38+
39+
--color-base: @base;
40+
--color-surface: @surface;
41+
--color-overlay: @overlay;
42+
--color-muted: @muted;
43+
--color-subtle: @subtle;
44+
--color-text: @text;
45+
--color-love: @love;
46+
--color-gold: @gold;
47+
--color-rose: @rose;
48+
--color-rose-a: @rose-a;
49+
--color-pine: @pine;
50+
--color-foam: @foam;
51+
--color-iris: @iris;
52+
--color-highlight-low: @highlightLow;
53+
--color-highlight-med: @highlightMed;
54+
--color-highlight-high: @highlightHigh;
55+
56+
--background-hue: hue(@base);
57+
--background-saturation: saturation(@base);
58+
--background-lightness: lightness(@base);
59+
--theme-primary-color-hue: hue(@rose);
60+
--theme-primary-color-saturation: saturation(@rose);
61+
--theme-primary-color-lightness: lightness(@rose);
62+
--theme-text-color-hue: hue(@text);
63+
--theme-text-color-saturation: saturation(@text);
64+
--theme-text-color-lightness: lightness(@text);
65+
--button-background-hue: hue(@highlightMed);
66+
--button-background-saturation: saturation(@highlightMed);
67+
--button-background-lightness: lightness(@highlightMed);
68+
69+
--header-background: var(--color-overlay);
70+
--theme-accent-text-color-darkbg: var(--color-rose);
71+
72+
/*Media View*/
73+
.itemBackgroundContainer.withBackdrop {
74+
background: linear-gradient(180deg, rgba(0, 0, 0, 0.82) 0%, var(--color-base) 99%);
75+
}
76+
77+
/*Media Items*/
78+
.countIndicator {
79+
color: var(--color-surface);
80+
}
81+
.cardOverlayContainer {
82+
background: var(--color-rose-a);
83+
}
84+
.button-hoveraccent:hover {
85+
color: var(--color-surface);
86+
}
87+
.ratingbutton-icon-withrating {
88+
color: var(--color-iris);
89+
}
90+
91+
/*Nav Bar*/
92+
.navMenuOption-selected .listItem-content {
93+
color: var(--color-surface);
94+
}
95+
96+
/*Misc Changes*/
97+
.mdl-spinner__layer-1 {
98+
border-color: var(--color-rose);
99+
}
100+
.pageTitleWithDefaultLogo,
101+
.app-splash {
102+
filter: saturate(0%);
103+
}
104+
.md-icon {
105+
color: var(--color-rose);
106+
}
107+
.emby-scrollbuttons-scrollbutton {
108+
background: var(--color-surface) !important;
109+
}
110+
111+
/*Player*/
112+
.emby-slider-background {
113+
background: var(--color-subtle);
114+
}
115+
.emby-slider-background-lower {
116+
background: var(--color-rose);
117+
}
118+
.emby-slider-thumb {
119+
background: var(--color-text);
120+
}
121+
122+
/*Dialogs*/
123+
.dialog {
124+
background-color: var(--color-surface);
125+
}
126+
127+
/*Tabs Top Bar*/
128+
.tabs-viewmenubar-backgroundcontainer {
129+
background: var(--color-overlay);
130+
}
131+
.emby-tab-button-active {
132+
color: var(--color-surface);
133+
background: var(--color-rose);
134+
}
135+
136+
/*Right Header Buttons*/
137+
.headerCastButton {
138+
color: var(--color-foam);
139+
}
140+
.headerSearchButton {
141+
color: var(--color-gold);
142+
}
143+
.headerUserButton {
144+
color: var(--color-iris);
145+
}
146+
.headerSettingsButton {
147+
color: var(--color-love);
148+
}
149+
.app-splash-container {
150+
background-color: var(--color-base);
151+
}
152+
}
153+
}
154+
155+
/* deno-fmt-ignore */
156+
@rose-pine: {
157+
@main: { @base: #191724; @surface: #1f1d2e; @overlay: #26233a; @muted: #6e6a86; @subtle: #908caa; @text: #e0def4; @love: #eb6f92; @gold: #f6c177; @rose: #ebbcba; @pine: #31748f; @foam: #9ccfd8; @iris: #c4a7e7; @highlightLow: #21202e; @highlightMed: #403d52; @highlightHigh: #524f67; };
158+
@moon: { @base: #232136; @surface: #2a273f; @overlay: #393552; @muted: #6e6a86; @subtle: #908caa; @text: #e0def4; @love: #eb6f92; @gold: #f6c177; @rose: #ea9a97; @pine: #3e8fb0; @foam: #9ccfd8; @iris: #c4a7e7; @highlightLow: #2a283e; @highlightMed: #44415a; @highlightHigh: #56526e; };
159+
@dawn: { @base: #faf4ed; @surface: #fffaf3; @overlay: #f2e9e1; @muted: #9893a5; @subtle: #797593; @text: #464261; @love: #b4637a; @gold: #ea9d34; @rose: #d7827e; @pine: #286983; @foam: #56949f; @iris: #907aa9; @highlightLow: #f4ede8; @highlightMed: #dfdad9; @highlightHigh: #cecacd; };
160+
}

styles/emby/style.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"name": "Emby",
3+
"author": "ZT2wo",
4+
"category": "Entertainment"
5+
}

0 commit comments

Comments
 (0)