Skip to content

feat: add custom CSS styling#1745

Open
TimonBed wants to merge 1 commit into
nextcloud:mainfrom
TimonBed:main
Open

feat: add custom CSS styling#1745
TimonBed wants to merge 1 commit into
nextcloud:mainfrom
TimonBed:main

Conversation

@TimonBed
Copy link
Copy Markdown

Adds a local Custom CSS option to Talk Desktop settings using the existing app config storage. Changes apply immediately in the desktop renderer, and clearing the field removes the custom styling. We use custom CSS internally, for example to display ticket messages from our ticket system and for theming.

@TimonBed TimonBed changed the title Added Custom CSS Styling feat: add custom CSS styling May 21, 2026
@jospoortvliet jospoortvliet requested a review from Antreesy May 28, 2026 08:58
@Antreesy
Copy link
Copy Markdown
Contributor

Hi, thanks for the contribution!
We haven't replied yet, since we're still discussing the options internally. Will get back to you soon

@AndyScherzinger AndyScherzinger requested a review from ShGKme May 28, 2026 09:31
@ShGKme
Copy link
Copy Markdown
Contributor

ShGKme commented May 28, 2026

Hello Timon,

Thank you for your contribution.

We are discussing if this feature makes sense as a user feature. Adding custom CSS is always risky. This is something not guaranteed to work across upgrades, and it may break the UI.

If we add it, it shouldn't be so prominent for a general user. This is not something an average user would do on the same level as switching between a light/dark color scheme. Especially if it is a text area to manually input the CSS code.

At the same time, for a sysadmin manually opening the client on every machine to insert the CSS may not be the most convenient solution.

Instead of storing the CSS code in the config, I'd use a CSS file. For example, a fixed custom.css file in the config location (app.getPath('userData')). Then a sysadmin can just add the file automatically on installation. Or in /ProgramData for multi-user setups.

In the app settings then it should be indicated that the custom CSS is applied.


An alternative way would be to include the styles via .overrides during the custom client build. This would allow distributing the client with built-in styles. But you'd need to build the client for your users locally. @TimonBed would this work for you?

Signed-off-by: Timon Laptop <bedynek@themarmalade.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@TimonBed
Copy link
Copy Markdown
Author

ty for the feedback.

Maintaining a custom build is something we would like to move away from in the future, so the .overrides approach would not be ideal for us long-term.

I reworked the PR to avoid exposing custom CSS as a regular user-facing setting. It now loads a fixed custom.css file from the app data location, with support for %ProgramData%\Nextcloud Talk\custom.css on Windows for managed/multi-user deployments. The settings UI only indicates when custom CSS is applied.

After custom css file added. Including indicator
Screenshot 2026-05-29 113236

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants