[FEATURE] Full UI theming system with theme presets and custom CSS
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 12/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- react, tailwindcss
- Domain
- design
Research direction
The issue suggests semantic CSS variables, built-in presets, custom CSS, and theme import/export, but names no files, tests, or entry points. Start by checking the current Termix UI theming implementation and its settings flow. Done would mean users can select and customize themes across the full interface, with import/export support; this is broad design work, and the repository is marked retired.
Written by the indexing model from the issue text.
Description
Title
Full UI theming system with theme presets and custom CSS
Platform
Desktop app (Windows, Linux, and macOS)
Is it related to an issue?
Description
I would like to suggest a more flexible theming system for the entire Termix UI.
Termix already offers appearance customization and terminal color themes, but it would be useful to extend this to the complete application interface.
The idea would be similar to applications such as Jellyfin: users could choose from built-in themes, while advanced users could also provide their own custom CSS.
Proposed features
Built-in UI themes
For example:
- Default Dark
- Light
- Dracula
- Nord
- Classic / Legacy Termix
- High Contrast
- Community themes
A "Classic Termix" preset could recreate the darker brown/black appearance of the pre-2.3 UI without requiring the old layout itself to be maintained.
Global theme variables
Allow users to customize semantic UI colors such as:
- Background
- Secondary background
- Cards / surfaces
- Borders
- Foreground text
- Muted text
- Primary/accent color
- Accent foreground
- Success
- Warning
- Error/danger
- Selection color
Potentially also:
- Border radius
- Border intensity
- Compact / comfortable spacing
- Panel transparency
Custom CSS
For advanced users, add an optional Custom CSS field, similar to Jellyfin.
Example:
:root {
--background: #080a08;
--card: #0d110d;
--border: #1e361e;
--foreground: #e8f0e8;
--primary: #00c300;
}
.sidebar {
border-right: 1px solid var(--border);
}
This would make it possible to create and share community themes without requiring changes to Termix itself.
Theme import/export
It would also be useful to support importing/exporting themes, for example as JSON or CSS.
This could allow themes to be shared through GitHub or a future community theme gallery.
Example concept:
{
"name": "Termix Green",
"background": "#080A08",
"surface": "#0D110D",
"border": "#1E361E",
"foreground": "#E8F0E8",
"muted": "#899589",
"accent": "#00C300"
}
Why this would be useful
The older Termix UI around the 2.2.x releases had a very distinctive dark interface with subtle borders and panels.
The newer interface is functionally better, but having a flexible theming system would allow users to recreate styles like the old interface without maintaining multiple UI layouts.
It would also make Termix much easier to visually integrate into different homelab environments.
The Solution
Possible implementation
Since Termix already uses React/Tailwind/shadcn-style theming, this could potentially be implemented through semantic CSS variables, with built-in presets setting those variables and Custom CSS being applied as an optional additional layer.
A possible priority order could be:
- Built-in theme
- User-defined theme variables
- Custom CSS overrides
This would provide safe defaults while still allowing advanced customization.
Additional Context
No response
- Dominant language
- No language data
- Stars
- 30
- Forks
- 4
- PR merge metrics
- No merged PRs in 30d
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Similar issues
-
possible bug
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Mintplex-Labs/anything-llm#6889 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Ebullioscopic/Atoll#900 ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
-
approved discipline:art documentation
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
gmuGADIG/chromatica#440 ·
Maintainers usually reply within 1 day
-
feat(picker): add a heading label before the Home/system places in the folder pickerPossibly taken A pull request linked to this issue is open or already merged. Opengood first issue
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
eugenioenko/ttt#1276 ·
Maintainers usually reply within 1 day