mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2026-03-02 22:57:32 -05:00
separate stylesheet-dark.qss for dark mode theme and stylesheet.qss for light mode #16689
Labels
No labels
Accessibility
AppImage
Bounty
Build system
CI
Can't reproduce
Code cleanup
Confirmed bug
Confirmed bug
Core
Crash
Data loss
Discussion
Docker
Documentation
Duplicate
Feature
Feature request
Feature request
Feature request
Filters
Flatpak
GUI
Has workaround
I2P
Invalid
Libtorrent
Look and feel
Meta
NSIS
Network
Not an issue
OS: *BSD
OS: Linux
OS: Windows
OS: macOS
PPA
Performance
Project management
Proxy/VPN
Qt bugs
Qt6 compat
RSS
Search engine
Security
Temp folder
Themes
Translations
Triggers
Waiting diagnosis
Waiting info
Waiting upstream
Waiting web implementation
Watched folders
WebAPI
WebUI
autoCloseOldIssue
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/qBittorrent#16689
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @b-user on GitHub (Mar 9, 2025).
Originally assigned to: @glassez on GitHub.
Suggestion
I would like to use separate stylesheet-dark.qss for dark mode theme and stylesheet.qss for light. mode
This feature is currently unavailable.
A separate style sheet for dark mode and light mode would allow for a universal theme.
Currently it is possible to use stylesheet.qss for both modes (light and dark):
github.com/qbittorrent/qBittorrent@53f919aea8/src/gui/uithemecommon.h (L42)github.com/qbittorrent/qBittorrent@53f919aea8/src/gui/uithemesource.cpp (L243)Please consider this opportunity.
Use case
A separate style sheet for dark mode and light mode would allow for a universal theme.
Extra info/examples/attachments
No response
@glassez commented on GitHub (Mar 12, 2025):
I wonder what exactly you're going to provide through stylesheet, which should be different depending on the dark or light mode.
@b-user commented on GitHub (Mar 12, 2025):
I have two "homemade" themes for qBittorrent: one for light mode, the second for dark mode.
I want to compile one universal theme from these two.
The purpose of creating a universal theme:
I want to avoid having to go into the qBittorrent settings every time to switch themes.
@glassez commented on GitHub (Mar 12, 2025):
You did not answer my question, but repeated what was said above.
I understand that you want to make a universal theme.
I also understand that in general it is better to provide different sets of icons and colors for dark and light modes.
But what is it that you provide through stylesheet that should be different for dark and light modes (considering that it will end up being essentially the same theme, rather than two different themes packaged in single bundle)?
@b-user commented on GitHub (Mar 12, 2025):
For example, a slightly different background color for windows/menus than the system color.
@glassez commented on GitHub (Mar 13, 2025):
@b-user
There is some difficulty in this matter.
The fact is that qBittorrent chooses colors and icons based not on the color mode itself, but on the "lightness" of the current palette of the application. This is done in order to avoid using inappropriate colors and icons in the case when the current style does not support the current color mode (as, for example, WindowsVista style does not support dark mode).
This is clearly not suitable for choosing a stylesheet since the stylesheet itself is supposed to be able to change application palette.
Therefore the solution can be a different interpretation of the "color mode" when choosing one or another element of the theme implementation, i.e. icons and colors will continue to use the palette "lightness", and the stylesheet will use the color mode directly. The algorithm could be as follows:
@xavier2k6 commented on GitHub (May 25, 2025):
ANNOUNCEMENT!
For anybody coming across this "Feature Request" & would like/love to see a potential implementation in the future!
Here are some options available to you:
Please select/click the 👍 &/or ❤
reactionsin the original/opening post of this ticket.Please feel free (If you have the "skillset") to create a "Pull Request" implementing what's being requested in this ticket.
(new/existing contributors/developers are always welcome)
DO:
DO NOT:
(These will be disregarded/hidden as "spam/abuse/off-topic" etc. as they don't provide anything constructive.)