├── .gitignore
├── .npmrc
├── build.sh
├── manifest-template.json
├── package.json
├── readme.md
├── rose-pine-dawn
├── manifest.json
└── swatches
│ ├── med.png
│ ├── overlay.png
│ └── surface.png
├── rose-pine-moon
├── manifest.json
└── swatches
│ ├── base.png
│ ├── med.png
│ └── surface.png
└── rose-pine
├── manifest.json
└── swatches
├── base.png
├── med.png
└── surface.png
/.gitignore:
--------------------------------------------------------------------------------
1 | Cached Theme.pak
2 | node_modules
3 |
--------------------------------------------------------------------------------
/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=false
2 |
--------------------------------------------------------------------------------
/build.sh:
--------------------------------------------------------------------------------
1 | #!/env/bin sh
2 |
3 | # build themes to ./temp
4 | npx @rose-pine/build@0.5.1 -t ./manifest-template.json -o ./temp -f rgb-array -p '$'
5 |
6 | mv ./temp/rose-pine.json ./rose-pine/manifest.json
7 | mv ./temp/rose-pine-moon.json ./rose-pine-moon/manifest.json
8 | mv ./temp/rose-pine-dawn.json ./rose-pine-dawn/manifest.json
9 |
10 | npx del-cli ./temp
11 |
--------------------------------------------------------------------------------
/manifest-template.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "2.0.0",
3 | "name": "$name",
4 | "manifest_version": 3,
5 |
6 | "theme": {
7 | "images": {
8 | "theme_frame": "swatches/$(base|base|overlay).png",
9 | "theme_toolbar": "swatches/surface.png",
10 | "theme_frame_incognito": "swatches/med.png"
11 | },
12 |
13 | "colors": {
14 | // main theme
15 | "frame": [0, 0, 0], // overridden by images.theme_frame, but must be black to hide frame outline
16 | "frame_inactive": [0, 0, 0], // base - overridden by tints.frame_inactive but may need to be black to hide frame outline
17 | "bookmark_text": $text,
18 | "button_background": $base,
19 | "tab_background_text": $subtle,
20 | "tab_background_text_inactive": $muted,
21 | "tab_text": $text,
22 | "toolbar": $overlay,
23 | "toolbar_button_icon": $text,
24 |
25 | // incognito
26 | "frame_incognito": [0, 0, 0],
27 | "frame_incognito_inactive": $highlightMed,
28 | "tab_background_text_incognito": $text,
29 | "tab_background_text_incognito_inactive": $subtle,
30 |
31 | // omnibox
32 | "omnibox_text": $($rose|$iris|$pine),
33 | "omnibox_background": $base,
34 |
35 | // new tab page
36 | "ntp_background": $base,
37 | "ntp_header": $surface,
38 | "ntp_link": $subtle,
39 | "ntp_text": $subtle
40 | },
41 |
42 | "tints": {
43 | "buttons": [-1, -1, -1],
44 | "frame": [-1, -1, -1],
45 | "frame_inactive": [-1, -1, 0.485],
46 | "frame_incognito": [-1, -1, -1],
47 | "frame_incognito_inactive": [-1, -1, -1]
48 | },
49 |
50 | "properties": {
51 | "ntp_background_alignment": "bottom",
52 | "ntp_logo_alternate": 1
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "rose-pine-google-chrome",
3 | "version": "0.0.0",
4 | "description": "Soho vibes for Google Chrome",
5 | "license": "MIT",
6 | "repository": "fvrests/rose-pine-google-chrome",
7 | "funding": "https://github.com/sponsors/fvrests",
8 | "author": {
9 | "name": "fvrests",
10 | "email": "fvrests@icloud.com"
11 | },
12 | "type": "module",
13 | "exports": "./build.js",
14 | "engines": {
15 | "node": ">=12"
16 | },
17 | "scripts": {
18 | "clean": "del-cli \"rose-pine-dark/Cached Theme.pak\" \"rose-pine-dawn/Cached Theme.pak\" \"rose-pine-moon/Cached Theme.pak\"",
19 | "build": "npm run clean && sh ./build.sh"
20 | },
21 | "keywords": [],
22 | "dependencies": {
23 | "@rose-pine/build": "^0.5.1",
24 | "del-cli": "^4.0.1"
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/readme.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
Rosé Pine for Google Chrome
4 |
5 |
6 | All natural pine, faux fur and a bit of soho vibes for the classy minimalist
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 | ## Usage
15 |
16 | **Install via the Chrome Web store**
17 |
18 | - [Rosé Pine](https://chrome.google.com/webstore/detail/ros%C3%A9-pine/noimedcjdohhokijigpfcbjcfcaaahej)
19 | - [Rosé Pine Moon](https://chrome.google.com/webstore/detail/ros%C3%A9-pine-moon/ohjebgkppidheiajbgnnmmieaapjppje)
20 | - [Rosé Pine Dawn](https://chrome.google.com/webstore/detail/ros%C3%A9-pine-dawn/faffeempkcpjhcmfpglpkdpbkdmbpaab)
21 |
22 | **Manual Installation**
23 |
24 | 1. Download your desired theme.
25 | 2. Navigate to `chrome://extensions` & click `load unpacked`.
26 | 3. Choose the folder containing your theme & the theme should load automatically.
27 |
28 | **Customization**
29 |
30 | Replace desired colors with your own RGB values in `manifest.json`, then follow `Manual Installation` above.
31 |
32 | Recommended theming options:
33 |
34 | | Option | Elements affected |
35 | | --------------------- | ------------------------------------------------------- |
36 | | "omnibox_text" | text, bookmark and share icons in omnibox (address bar) |
37 | | "ntp_text" | quick link titles in new tab page |
38 | | "tab_text" | text of currently active tab |
39 | | "tab_background_text" | text of background tab & new tab (+) button |
40 |
41 | **Incognito Mode**
42 |
43 | Themes contain values for Incognito Mode, but you may have to enable this behavior. Navigate to `chrome://flags` & enable `Allow widgets to inherit native theme from its parent widget.`
44 |
45 | ## Gallery
46 |
47 | **Rosé Pine**
48 |
49 | 
50 |
51 | **Rosé Pine Moon**
52 |
53 | 
54 |
55 | **Rosé Pine Dawn**
56 |
57 | 
58 |
59 | ## Thanks to
60 |
61 | - [fvrests](https://github.com/fvrests)
62 |
63 | _Generated by @rose-pine/build@0.5.1_
64 |
--------------------------------------------------------------------------------
/rose-pine-dawn/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "2.0.0",
3 | "name": "Rosé Pine Dawn",
4 | "manifest_version": 3,
5 |
6 | "theme": {
7 | "images": {
8 | "theme_frame": "swatches/overlay.png",
9 | "theme_toolbar": "swatches/surface.png",
10 | "theme_frame_incognito": "swatches/med.png"
11 | },
12 |
13 | "colors": {
14 | // main theme
15 | "frame": [0, 0, 0], // overridden by images.theme_frame, but must be black to hide frame outline
16 | "frame_inactive": [0, 0, 0], // base - overridden by tints.frame_inactive but may need to be black to hide frame outline
17 | "bookmark_text": [87, 82, 121],
18 | "button_background": [250, 244, 237],
19 | "tab_background_text": [121, 117, 147],
20 | "tab_background_text_inactive": [152, 147, 165],
21 | "tab_text": [87, 82, 121],
22 | "toolbar": [242, 233, 222],
23 | "toolbar_button_icon": [87, 82, 121],
24 |
25 | // incognito
26 | "frame_incognito": [0, 0, 0],
27 | "frame_incognito_inactive": [223, 218, 217],
28 | "tab_background_text_incognito": [87, 82, 121],
29 | "tab_background_text_incognito_inactive": [121, 117, 147],
30 |
31 | // omnibox
32 | "omnibox_text": [40, 105, 131],
33 | "omnibox_background": [250, 244, 237],
34 |
35 | // new tab page
36 | "ntp_background": [250, 244, 237],
37 | "ntp_header": [255, 250, 243],
38 | "ntp_link": [121, 117, 147],
39 | "ntp_text": [121, 117, 147]
40 | },
41 |
42 | "tints": {
43 | "buttons": [-1, -1, -1],
44 | "frame": [-1, -1, -1],
45 | "frame_inactive": [-1, -1, 0.485],
46 | "frame_incognito": [-1, -1, -1],
47 | "frame_incognito_inactive": [-1, -1, -1]
48 | },
49 |
50 | "properties": {
51 | "ntp_background_alignment": "bottom",
52 | "ntp_logo_alternate": 1
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/rose-pine-dawn/swatches/med.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rose-pine/google-chrome/5a4ece83e20484c716b79a13111ddd8d3f496352/rose-pine-dawn/swatches/med.png
--------------------------------------------------------------------------------
/rose-pine-dawn/swatches/overlay.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rose-pine/google-chrome/5a4ece83e20484c716b79a13111ddd8d3f496352/rose-pine-dawn/swatches/overlay.png
--------------------------------------------------------------------------------
/rose-pine-dawn/swatches/surface.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rose-pine/google-chrome/5a4ece83e20484c716b79a13111ddd8d3f496352/rose-pine-dawn/swatches/surface.png
--------------------------------------------------------------------------------
/rose-pine-moon/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "2.0.0",
3 | "name": "Rosé Pine Moon",
4 | "manifest_version": 3,
5 |
6 | "theme": {
7 | "images": {
8 | "theme_frame": "swatches/base.png",
9 | "theme_toolbar": "swatches/surface.png",
10 | "theme_frame_incognito": "swatches/med.png"
11 | },
12 |
13 | "colors": {
14 | // main theme
15 | "frame": [0, 0, 0], // overridden by images.theme_frame, but must be black to hide frame outline
16 | "frame_inactive": [0, 0, 0], // base - overridden by tints.frame_inactive but may need to be black to hide frame outline
17 | "bookmark_text": [224, 222, 244],
18 | "button_background": [35, 33, 54],
19 | "tab_background_text": [144, 140, 170],
20 | "tab_background_text_inactive": [110, 106, 134],
21 | "tab_text": [224, 222, 244],
22 | "toolbar": [57, 53, 82],
23 | "toolbar_button_icon": [224, 222, 244],
24 |
25 | // incognito
26 | "frame_incognito": [0, 0, 0],
27 | "frame_incognito_inactive": [68, 65, 90],
28 | "tab_background_text_incognito": [224, 222, 244],
29 | "tab_background_text_incognito_inactive": [144, 140, 170],
30 |
31 | // omnibox
32 | "omnibox_text": [196, 167, 231],
33 | "omnibox_background": [35, 33, 54],
34 |
35 | // new tab page
36 | "ntp_background": [35, 33, 54],
37 | "ntp_header": [42, 39, 63],
38 | "ntp_link": [144, 140, 170],
39 | "ntp_text": [144, 140, 170]
40 | },
41 |
42 | "tints": {
43 | "buttons": [-1, -1, -1],
44 | "frame": [-1, -1, -1],
45 | "frame_inactive": [-1, -1, 0.485],
46 | "frame_incognito": [-1, -1, -1],
47 | "frame_incognito_inactive": [-1, -1, -1]
48 | },
49 |
50 | "properties": {
51 | "ntp_background_alignment": "bottom",
52 | "ntp_logo_alternate": 1
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/rose-pine-moon/swatches/base.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rose-pine/google-chrome/5a4ece83e20484c716b79a13111ddd8d3f496352/rose-pine-moon/swatches/base.png
--------------------------------------------------------------------------------
/rose-pine-moon/swatches/med.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rose-pine/google-chrome/5a4ece83e20484c716b79a13111ddd8d3f496352/rose-pine-moon/swatches/med.png
--------------------------------------------------------------------------------
/rose-pine-moon/swatches/surface.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rose-pine/google-chrome/5a4ece83e20484c716b79a13111ddd8d3f496352/rose-pine-moon/swatches/surface.png
--------------------------------------------------------------------------------
/rose-pine/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "2.0.0",
3 | "name": "Rosé Pine",
4 | "manifest_version": 3,
5 |
6 | "theme": {
7 | "images": {
8 | "theme_frame": "swatches/base.png",
9 | "theme_toolbar": "swatches/surface.png",
10 | "theme_frame_incognito": "swatches/med.png"
11 | },
12 |
13 | "colors": {
14 | // main theme
15 | "frame": [0, 0, 0], // overridden by images.theme_frame, but must be black to hide frame outline
16 | "frame_inactive": [0, 0, 0], // base - overridden by tints.frame_inactive but may need to be black to hide frame outline
17 | "bookmark_text": [224, 222, 244],
18 | "button_background": [25, 23, 36],
19 | "tab_background_text": [144, 140, 170],
20 | "tab_background_text_inactive": [110, 106, 134],
21 | "tab_text": [224, 222, 244],
22 | "toolbar": [38, 35, 58],
23 | "toolbar_button_icon": [224, 222, 244],
24 |
25 | // incognito
26 | "frame_incognito": [0, 0, 0],
27 | "frame_incognito_inactive": [64, 61, 82],
28 | "tab_background_text_incognito": [224, 222, 244],
29 | "tab_background_text_incognito_inactive": [144, 140, 170],
30 |
31 | // omnibox
32 | "omnibox_text": [235, 188, 186],
33 | "omnibox_background": [25, 23, 36],
34 |
35 | // new tab page
36 | "ntp_background": [25, 23, 36],
37 | "ntp_header": [31, 29, 46],
38 | "ntp_link": [144, 140, 170],
39 | "ntp_text": [144, 140, 170]
40 | },
41 |
42 | "tints": {
43 | "buttons": [-1, -1, -1],
44 | "frame": [-1, -1, -1],
45 | "frame_inactive": [-1, -1, 0.485],
46 | "frame_incognito": [-1, -1, -1],
47 | "frame_incognito_inactive": [-1, -1, -1]
48 | },
49 |
50 | "properties": {
51 | "ntp_background_alignment": "bottom",
52 | "ntp_logo_alternate": 1
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/rose-pine/swatches/base.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rose-pine/google-chrome/5a4ece83e20484c716b79a13111ddd8d3f496352/rose-pine/swatches/base.png
--------------------------------------------------------------------------------
/rose-pine/swatches/med.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rose-pine/google-chrome/5a4ece83e20484c716b79a13111ddd8d3f496352/rose-pine/swatches/med.png
--------------------------------------------------------------------------------
/rose-pine/swatches/surface.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rose-pine/google-chrome/5a4ece83e20484c716b79a13111ddd8d3f496352/rose-pine/swatches/surface.png
--------------------------------------------------------------------------------