* Add emoji handling for plain text mode of the new rich text editor ([\#9727](https://github.com/matrix-org/matrix-react-sdk/pull/9727)). * Overlay virtual room call events into main timeline ([\#9626](https://github.com/matrix-org/matrix-react-sdk/pull/9626)). Fixes #22929. * Adds a new section under "Room Settings" > "Roles & Permissions" which adds the possibility to multiselect users from this room and grant them more permissions. ([\#9596](https://github.com/matrix-org/matrix-react-sdk/pull/9596)). Contributed by @GoodGuyMarco. * Add emoji handling for rich text mode ([\#9661](https://github.com/matrix-org/matrix-react-sdk/pull/9661)). * Add setting to hide bold notifications ([\#9705](https://github.com/matrix-org/matrix-react-sdk/pull/9705)). * Further password reset flow enhancements ([\#9662](https://github.com/matrix-org/matrix-react-sdk/pull/9662)). * Snooze the bulk unverified sessions reminder on dismiss ([\#9706](https://github.com/matrix-org/matrix-react-sdk/pull/9706)). * Honor advanced audio processing settings when recording voice messages ([\#9610](https://github.com/matrix-org/matrix-react-sdk/pull/9610)). Contributed by @MrAnno. * Improve the visual balance of bubble layout ([\#9704](https://github.com/matrix-org/matrix-react-sdk/pull/9704)). * Add config setting to disable bulk unverified sessions nag ([\#9657](https://github.com/matrix-org/matrix-react-sdk/pull/9657)). * Only display bulk unverified sessions nag when current sessions is verified ([\#9656](https://github.com/matrix-org/matrix-react-sdk/pull/9656)). * Separate labs and betas more clearly ([\#8969](https://github.com/matrix-org/matrix-react-sdk/pull/8969)). Fixes #22706. * Show user an error if we fail to create a DM for verification. ([\#9624](https://github.com/matrix-org/matrix-react-sdk/pull/9624)). * Prevent unnecessary m.direct updates ([\#9805](https://github.com/matrix-org/matrix-react-sdk/pull/9805)). Fixes #24059. * Fix checkForPreJoinUISI for thread roots ([\#9803](https://github.com/matrix-org/matrix-react-sdk/pull/9803)). Fixes #24054. * Load RTE components only when RTE labs is enabled ([\#9804](https://github.com/matrix-org/matrix-react-sdk/pull/9804)). * Fix issue where thread panel did not update correctly ([\#9746](https://github.com/matrix-org/matrix-react-sdk/pull/9746)). Fixes #23971. * Remove async call to get virtual room from room load ([\#9743](https://github.com/matrix-org/matrix-react-sdk/pull/9743)). Fixes #23968. * Check each thread for unread messages. ([\#9723](https://github.com/matrix-org/matrix-react-sdk/pull/9723)). * Device manage - handle sessions that don't support encryption ([\#9717](https://github.com/matrix-org/matrix-react-sdk/pull/9717)). Fixes #23722. * Fix hover state for formatting buttons (Rich text editor) (fix vector-im/element-web/issues/23832) ([\#9715](https://github.com/matrix-org/matrix-react-sdk/pull/9715)). * Don't allow group calls to be unterminated ([\#9710](https://github.com/matrix-org/matrix-react-sdk/pull/9710)). * Fix replies to emotes not showing as inline ([\#9707](https://github.com/matrix-org/matrix-react-sdk/pull/9707)). Fixes #23903. * Update copy of 'Change layout' button to match Element Call ([\#9703](https://github.com/matrix-org/matrix-react-sdk/pull/9703)). * Fix call splitbrains when switching between rooms ([\#9692](https://github.com/matrix-org/matrix-react-sdk/pull/9692)). * bugfix: fix an issue where the Notifier would incorrectly fire for non-timeline events ([\#9664](https://github.com/matrix-org/matrix-react-sdk/pull/9664)). Fixes #17263. * Fix power selector being wrongly disabled for admins themselves ([\#9681](https://github.com/matrix-org/matrix-react-sdk/pull/9681)). Fixes #23882. * Show day counts in call durations ([\#9641](https://github.com/matrix-org/matrix-react-sdk/pull/9641)). -----BEGIN PGP SIGNATURE----- iQJFBAABCAAvFiEE6Vt2megLaKnq2aGaK6qbhVK9kEcFAmOjQh0RHHJlbGVhc2Vz QHJpb3QuaW0ACgkQK6qbhVK9kEfH1A/+JJZc/PYtaQ8Cr02M0Wg+dvlBD+fPV2py qHuzAa3DE0OZPTJfbWjsNMPmBbvphe9wrphgW0dtGQgMEKzur0qIV/xyZprFQfvw O7HJrBbFK0dtZNz04DVxL9AyD8GQ6tJidyjPEnjum5N+20XTMZdMPd4bTx8wfItP iULjmPV1b9d15pCYo6rgm919iff96lx2Cy1FUMUzt9J0AQvR30ZyLuHHmocx4uK7 elRibOe0el20yHWPAruKrBnX5p/tkgLYTrNciL7c6Er0uvTdY0KAKpRUQcawyFD+ C/XV69gTFDABYiCzBAzPYaIaopw9/MJL+7H/nHGFVpCagsWb3JHrQ/GFc6CAKGXF bzdH9Oj/sSqXcjF79VK24IyuOHt7pKehwPIfYX738u9dUbDksksyB90uf4BY6+eM kJ46o8fy125nbpnrL1X5LaUi+Jb/MuTNguUGmf4izFgYlJ35R3JdV6/vjx59Awp9 jdCHqBihjsa/3Km8JE73I76gQkCpe0lq9rUL0ZsprQj5Zts7MipqJ1RaslkhyR1p 4+9yNxKZSDqe48NkkqmzNn87NGKTAPnyQfqjNtpO75P5VuDKS+dmz9bm9t949ncb aDU8LiUhAMauP0PWVEc1m/L2CZAf6kOtLg8/+At6YQUt8K3pQgApZ+J42Vm6f765 pA5z1VyBJko= =6qab -----END PGP SIGNATURE----- gpgsig -----BEGIN PGP SIGNATURE----- iQJNBAABCAA3FiEEUMS2jJrglzPzHXqk10PFDIthmEwFAmPC6CIZHGNvZGV3b3Jr c0BzdXBlcmNhYmxlLm9ubAAKCRDXQ8UMi2GYTJyuEACj2dqxho5blAMdvtwFc+yM gcbAO/2jvleL1xvyKfUlqQt+s9RPYJHkevj0Ze+WD8sY3dDytVLAhKzlg9/VNRQm wR5ilDLoE8uotKnIKL9jOQDhtwR3n29NmNUtMyojeYbp930IpbqVcIiASMPEXV8/ +K5XQYI8TRMLP8SASjjzJ7/gg1PWh/Ay9Z5qfB0NIKwg7sScxKcdrXKe9+/44U3r gJHhyyFS+276UmuuibvxdMWzD5WVaEHHE8oHqPWZLoSwhxpwXhEhVky4ohnTqAod 3gEQbmHIR91Zq3P72fp8GthNBEPFEMX2bMndfbnYjBG7xDIJI8AMlOnuEaoRm12U 2+wFMXOgJE07Or0mWMjhcsR7HCzeMqzDv/+doUW0CANjietYP8y4nROr26ULpQkD NdchXR/A0R7XaJduMR/MtovT3NB69S8ij/bUD1SYz8IvweoR7ECKb3Q+DnSOJH/J k00cr2iYpd+4ttvhgCbdwl2Kv6+8SN4h0kl5J6CQBJzkSZDMXEWJ4ForWSJLl31y 4ut2S4rH5/3pXSSHqsAdezu5oJhohmGqJuxuMkqxklWt7zOETHPEH3Dy7cRgMqyB 5wKBDs7iuboxTRNBeGMWwmWHep6meOs/PZR1Ws+nsrx9yg12xuE3z79Us4GG4beL OpM2edHOkkS98jxnOmciyg== =touW -----END PGP SIGNATURE----- Merge tag 'v1.11.17' into sc * Add inline code formatting to rich text editor ([\#9720](https://github.com/matrix-org/matrix-react-sdk/pull/9720)). * Add emoji handling for plain text mode of the new rich text editor ([\#9727](https://github.com/matrix-org/matrix-react-sdk/pull/9727)). * Overlay virtual room call events into main timeline ([\#9626](https://github.com/matrix-org/matrix-react-sdk/pull/9626)). Fixes #22929. * Adds a new section under "Room Settings" > "Roles & Permissions" which adds the possibility to multiselect users from this room and grant them more permissions. ([\#9596](https://github.com/matrix-org/matrix-react-sdk/pull/9596)). Contributed by @GoodGuyMarco. * Add emoji handling for rich text mode ([\#9661](https://github.com/matrix-org/matrix-react-sdk/pull/9661)). * Add setting to hide bold notifications ([\#9705](https://github.com/matrix-org/matrix-react-sdk/pull/9705)). * Further password reset flow enhancements ([\#9662](https://github.com/matrix-org/matrix-react-sdk/pull/9662)). * Snooze the bulk unverified sessions reminder on dismiss ([\#9706](https://github.com/matrix-org/matrix-react-sdk/pull/9706)). * Honor advanced audio processing settings when recording voice messages ([\#9610](https://github.com/matrix-org/matrix-react-sdk/pull/9610)). Contributed by @MrAnno. * Improve the visual balance of bubble layout ([\#9704](https://github.com/matrix-org/matrix-react-sdk/pull/9704)). * Add config setting to disable bulk unverified sessions nag ([\#9657](https://github.com/matrix-org/matrix-react-sdk/pull/9657)). * Only display bulk unverified sessions nag when current sessions is verified ([\#9656](https://github.com/matrix-org/matrix-react-sdk/pull/9656)). * Separate labs and betas more clearly ([\#8969](https://github.com/matrix-org/matrix-react-sdk/pull/8969)). Fixes #22706. * Show user an error if we fail to create a DM for verification. ([\#9624](https://github.com/matrix-org/matrix-react-sdk/pull/9624)). * Prevent unnecessary m.direct updates ([\#9805](https://github.com/matrix-org/matrix-react-sdk/pull/9805)). Fixes #24059. * Fix checkForPreJoinUISI for thread roots ([\#9803](https://github.com/matrix-org/matrix-react-sdk/pull/9803)). Fixes #24054. * Load RTE components only when RTE labs is enabled ([\#9804](https://github.com/matrix-org/matrix-react-sdk/pull/9804)). * Fix issue where thread panel did not update correctly ([\#9746](https://github.com/matrix-org/matrix-react-sdk/pull/9746)). Fixes #23971. * Remove async call to get virtual room from room load ([\#9743](https://github.com/matrix-org/matrix-react-sdk/pull/9743)). Fixes #23968. * Check each thread for unread messages. ([\#9723](https://github.com/matrix-org/matrix-react-sdk/pull/9723)). * Device manage - handle sessions that don't support encryption ([\#9717](https://github.com/matrix-org/matrix-react-sdk/pull/9717)). Fixes #23722. * Fix hover state for formatting buttons (Rich text editor) (fix vector-im/element-web/issues/23832) ([\#9715](https://github.com/matrix-org/matrix-react-sdk/pull/9715)). * Don't allow group calls to be unterminated ([\#9710](https://github.com/matrix-org/matrix-react-sdk/pull/9710)). * Fix replies to emotes not showing as inline ([\#9707](https://github.com/matrix-org/matrix-react-sdk/pull/9707)). Fixes #23903. * Update copy of 'Change layout' button to match Element Call ([\#9703](https://github.com/matrix-org/matrix-react-sdk/pull/9703)). * Fix call splitbrains when switching between rooms ([\#9692](https://github.com/matrix-org/matrix-react-sdk/pull/9692)). * bugfix: fix an issue where the Notifier would incorrectly fire for non-timeline events ([\#9664](https://github.com/matrix-org/matrix-react-sdk/pull/9664)). Fixes #17263. * Fix power selector being wrongly disabled for admins themselves ([\#9681](https://github.com/matrix-org/matrix-react-sdk/pull/9681)). Fixes #23882. * Show day counts in call durations ([\#9641](https://github.com/matrix-org/matrix-react-sdk/pull/9641)).
4.4 KiB
Theming Element
Themes are a very basic way of providing simple alternative look & feels to the Element app via CSS & custom imagery.
They are NOT co be confused with 'skins', which describe apps which sit on top of matrix-react-sdk - e.g. in theory Element itself is a react-sdk skin. As of March 2022, skins are not fully supported; Element is the only available skin.
To define a theme for Element:
- Pick a name, e.g.
teal
. at time of writing we havelight
anddark
. - Fork
src/skins/vector/css/themes/dark.pcss
to beteal.pcss
- Fork
src/skins/vector/css/themes/_base.pcss
to be_teal.pcss
- Override variables in
_teal.pcss
as desired. You may wish to delete ones which don't differ from_base.pcss
, to make it clear which are being overridden. If every single colour is being changed (as per_dark.pcss
) then you might as well keep them all. - Add the theme to the list of entrypoints in webpack.config.js
- Add the theme to the list of themes in matrix-react-sdk's UserSettings.js
- Sit back and admire your handywork.
In future, the assets for a theme will probably be gathered together into a single directory tree.
Custom Themes
Themes derived from the built in themes may also be defined in settings.
To avoid name collisions, the internal name of a theme is
custom-${theme.name}
. So if you want to set the custom theme below as the
default theme, you would use default_theme: "custom-Electric Blue"
.
eg. in config.json:
"setting_defaults": {
"custom_themes": [
{
"name": "Electric Blue",
"is_dark": false,
"fonts": {
"faces": [
{
"font-family": "Inter",
"src": [{"url": "/fonts/Inter.ttf", "format": "ttf"}]
}
],
"general": "Inter, sans",
"monospace": "'Courier New'"
},
"colors": {
"accent-color": "#3596fc",
"primary-color": "#368bd6",
"warning-color": "#ff4b55",
"sidebar-color": "#27303a",
"roomlist-background-color": "#f3f8fd",
"roomlist-text-color": "#2e2f32",
"roomlist-text-secondary-color": "#61708b",
"roomlist-highlights-color": "#ffffff",
"roomlist-separator-color": "#e3e8f0",
"timeline-background-color": "#ffffff",
"timeline-text-color": "#2e2f32",
"timeline-text-secondary-color": "#61708b",
"timeline-highlights-color": "#f3f8fd",
"eventbubble-others-bg": "#bbccee",
"eventbubble-self-bg": "#bb77dd",
"eventbubble-selected-bg": "#7766cc",
"username-colors": ["#ff0000", ...],
"avatar-background-colors": ["#cc0000", ...]
}
}, {
"name": "Deep Purple",
"is_dark": true,
"colors": {
"accent-color": "#6503b3",
"primary-color": "#368bd6",
"warning-color": "#b30356",
"sidebar-color": "#15171B",
"roomlist-background-color": "#22262E",
"roomlist-text-color": "#A1B2D1",
"roomlist-text-secondary-color": "#EDF3FF",
"roomlist-highlights-color": "#343A46",
"roomlist-separator-color": "#a1b2d1",
"timeline-background-color": "#181b21",
"timeline-text-color": "#EDF3FF",
"timeline-text-secondary-color": "#A1B2D1",
"timeline-highlights-color": "#22262E",
"eventbubble-others-bg": "#445566",
"eventbubble-self-bg": "#228844",
"eventbubble-selected-bg": "#889955"
}
}
]
}
username-colors
is expected to contain 8 colors. avatar-background-colors
is expected to contain 3 colors. Both values are optional and have fallbacks from the built-in theme.
These are exposed as --username-colors_0
, ... and --avatar-background-colors_0
, ... respectively in CSS.
All properties in fonts
are optional, and will default to the standard Riot fonts.