Skip to content

Commit f2dfea0

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

6 files changed

Lines changed: 224 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: 161 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,161 @@
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%,
75+
var(--color-base) 99%);
76+
}
77+
78+
/*Media Items*/
79+
.countIndicator {
80+
color: var(--color-surface);
81+
}
82+
.cardOverlayContainer {
83+
background: var(--color-rose-a);
84+
}
85+
.button-hoveraccent:hover {
86+
color: var(--color-surface);
87+
}
88+
.ratingbutton-icon-withrating {
89+
color: var(--color-iris);
90+
}
91+
92+
/*Nav Bar*/
93+
.navMenuOption-selected .listItem-content {
94+
color: var(--color-surface);
95+
}
96+
97+
/*Misc Changes*/
98+
.mdl-spinner__layer-1 {
99+
border-color: var(--color-rose);
100+
}
101+
.pageTitleWithDefaultLogo,
102+
.app-splash {
103+
filter: saturate(0%);
104+
}
105+
.md-icon {
106+
color: var(--color-rose);
107+
}
108+
.emby-scrollbuttons-scrollbutton {
109+
background: var(--color-surface) !important;
110+
}
111+
112+
/*Player*/
113+
.emby-slider-background {
114+
background: var(--color-subtle);
115+
}
116+
.emby-slider-background-lower {
117+
background: var(--color-rose);
118+
}
119+
.emby-slider-thumb {
120+
background: var(--color-text);
121+
}
122+
123+
/*Dialogs*/
124+
.dialog {
125+
background-color: var(--color-surface);
126+
}
127+
128+
/*Tabs Top Bar*/
129+
.tabs-viewmenubar-backgroundcontainer {
130+
background: var(--color-overlay);
131+
}
132+
.emby-tab-button-active {
133+
color: var(--color-surface);
134+
background: var(--color-rose);
135+
}
136+
137+
/*Right Header Buttons*/
138+
.headerCastButton {
139+
color: var(--color-foam);
140+
}
141+
.headerSearchButton {
142+
color: var(--color-gold);
143+
}
144+
.headerUserButton {
145+
color: var(--color-iris);
146+
}
147+
.headerSettingsButton {
148+
color: var(--color-love);
149+
}
150+
.app-splash-container {
151+
background-color: var(--color-base);
152+
}
153+
}
154+
}
155+
156+
/* deno-fmt-ignore */
157+
@rose-pine: {
158+
@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; };
159+
@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; };
160+
@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; };
161+
}

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)