No description
Find a file
2020-06-16 02:09:39 +00:00
Discord/Discord-Dark Fixing Discord/Discord-Dark paths/filenames and updated README.md 2020-03-04 13:21:03 -06:00
Dracula Rename Dracula.json to Dracula/Dracula.json 2020-06-16 02:09:39 +00:00
Geeko Dark Add Geeko Dark Theme to README 2020-03-08 12:52:33 -05:00
images Added workaround for selected reaction pills 2020-03-05 11:07:28 -06:00
Luxury/Luxury Dark Consistency 2020-06-06 23:49:24 -05:00
Nord Updated Nord Dark timeline-highlights-color 2020-06-01 14:59:34 -05:00
Selenized Merge branch 'master' into selenized-black 2020-06-06 23:54:51 -05:00
ThomCat Made changes to ThomCat-Black filenames and updated README.md 2020-03-04 13:16:49 -06:00
build.py Added build.py 2020-06-06 23:41:18 -05:00
LICENSE Initial commit 2020-02-17 10:27:27 -06:00
README.md Merge branch 'master' into selenized-black 2020-06-06 23:54:51 -05:00

Riot Web Themes

A place to share themes for Riot Web. Riot's theming documentation has more information on how these work.

These themes are using the relatively basic Riot themeing system which can only change a limited number of colors. For more advanced themes where you want to customize all the colors or things like fonts and button shapes you'll need to use custom CSS files. See https://github.com/dannycolin/riot-compact for an example of a more advanced theme.

Discussions

Join us in #riot-web-themes:dhdf.dev

Table of Contents

How to use themes

There are several different ways to install these. For most users it will be easiest to enable the feature_custom_themes labs flag (currently only on https://riot.im/develop). This will allow you to install themes by pasting in the URL to the raw JSON of the theme. Hopefully in the future this interface will be polished up and enabled by default for all users.

Some other options for installing themes:

If you self host Riot or use Riot Desktop:

You can use these themes by editing your config.json file to include the theme inside of the settingDefaults section like this:

"settingDefaults": {
    "custom_themes": [
        {
            "name": "Example theme",
            "colors": {
                "primary-color": "#9F8652"
            }
        },
        {
            "name": "Another theme",
            "colors": {
                "primary-color": "#526A9E"
            }
        }
    ]
}

To setup a config.json file with Riot Desktop, see https://github.com/vector-im/riot-web/blob/master/docs/config.md#desktop-app-configuration

If you use the matrix-docker-ansible-deploy project

You can enable all of these themes just by setting matrix_riot_web_themes_enabled: true in your vars.yml file. See https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-playbook-riot-web.md#themes for more details.

If you are a Firefox user

You can install Radical which is Riot web bundled as a Firefox add-on. You can edit the config.json file right in the add-on preferences. It works really well, you should check it out. https://addons.mozilla.org/en-US/firefox/addon/radical-web/

Use my Riot Web instance

Alternatively you can use my Riot Web instance which has all of these themes preinstalled so there is no configuration required.

Themes

ThomCat Black

Made by @me:thomcat.rocks

ThomCat Black Screenshot

Discord Dark Theme

Made by @dhmf:dhdf.dev

Discord Dark Theme Screenshot

Luxury Dark Theme

Made by @dhmf:dhdf.dev

Luxury Dark Theme Screenshot

Nord Dark Theme

Made by @dhmf:dhdf.dev

Nord Dark Theme Screenshot

Nord Light Theme

Made by @dhmf:dhdf.dev

Nord Light Theme Screenshot

Selenized Light Theme

Made by @dhmf:dhdf.dev

Selenized Light Theme Screenshot

Selenized Dark Theme

Made by @dhmf:dhdf.dev

Selenized Dark Theme Screenshot

Selenized Black Theme

Made by @dhmf:dhdf.dev and @david:vovo.id.au

Selenized Black Theme Screenshot

Geeko Dark Theme

Made by @swedneck:hielle.com

Geeko Dark Theme Screenshot

Advanced

Workarounds

Riot's theme implementation is fairly limited so custom themes might introduce some odd elements. For example, when using ThomCat Black, the selected reaction 'pill' is outlined in green since Riot doesn't give us a variable to control the color that is used there.

pill_before

To fix this, we have to edit the custom theme CSS file directly, in this case theme-dark-custom.css. cssbeautify-cli is not necessary if your sed-fu is better than the author's is.

cssbeautify-cli -f theme-dark-custom.css > /tmp/theme-dark-custom-sed.css
sed '/.mx_ReactionsRowButton.mx_ReactionsRowButton_selected/!b;n;c\ \ \ \ background-color:var(--accent-color);' /tmp/theme-dark-custom-sed.css > /tmp/theme-dark-custom.css
sudo -u <nginx/apache_user> cp /tmp/theme-dark-custom.css /<riot_directory>/bundles/<bundle_version>/

The results:

pill_after

build.py

There is a build.py python file which takes all the themes and outputs it to a file as an array of JSON. Simply execute it in this directory.