Bug 279592 - Allow per-application color scheme
Summary: Allow per-application color scheme
Status: REOPENED
Alias: None
Product: kdelibs
Classification: Frameworks and Libraries
Component: kdeui (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR wishlist
Target Milestone: ---
Assignee: kdelibs bugs
URL:
Keywords:
: 338884 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-08-07 15:09 UTC by Saleel Velankar
Modified: 2022-07-23 09:38 UTC (History)
26 users (show)

See Also:
Latest Commit:
Version Fixed In:
kde: Usability?


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Saleel Velankar 2011-08-07 15:09:38 UTC
Version:           4.0 (using KDE 4.7.0) 
OS:                Linux

Certain applications that involve media and images should use a darker color scheme, so that the image can be better focused on. Several applications are already providing this in nonstandard ways. Gwenview under Settings>configure Gwenview allows a choice of a background color. Digikam goes further and allows for the choice of kde color themes, under Settings> Themes. It is my opinion that Krita, Inkscape, Gnome all benefit from a darker theme. An icon designed against a white background in Inkscape will often look worse or shapeless against a dark one. Having a darker theme allows a more accurate preview from View>Icon Preview.

I think that applications should be able to request an alternate colorscheme. For example in colorschemes there will be 'default' and 'oxygen-dark' and 'othercolorscheme'. The user should have the option of selecting a checkbox making a colorscheme into the dark choice.

Reproducible: Always

Steps to Reproduce:
Open up program dealing with graphics, photography, or video.

Actual Results:  
All gui uses default light colors.

Expected Results:  
For these programs, ui should use an alternate darker color scheme.

Recent GTK supports this, and it really is a nice feature that KDE should have also. gtk-application-prefer-dark-theme
Comment 1 David Gräff 2011-08-07 20:40:56 UTC
*** This bug has been confirmed by popular vote. ***
Comment 2 Christoph Feck 2011-08-07 23:28:40 UTC
> For these programs, ui should use an alternate darker color scheme

Why? That's purely subjective, and some trend that isn't justified by anything other than "everyone else does it, so I want it, too".

Asking for a dark color scheme should not be done by the application. If we allowed that, a crowd of developers will set this flag (for the same reason as stated above), and leave users highly doubted why some applications are dark, and some not.

The only acceptable way it to allow the user to configure the color scheme (or palette) per application, and that certainly isn't anything Oxygen specific.
Comment 3 Saleel Velankar 2011-08-08 00:32:16 UTC
(In reply to comment #2)
> > For these programs, ui should use an alternate darker color scheme
> 
> Why? That's purely subjective, and some trend that isn't justified by anything
> other than "everyone else does it, so I want it, too".

I disagree, its a matter of contrast. When working on photos/ images the eye is more sensitive to contrast on a dark background vs a light one. This is why so many of the web-ui's use dark colors for a background in lightboxes and so on, 

> Asking for a dark color scheme should not be done by the application. If we
> allowed that, a crowd of developers will set this flag (for the same reason as
> stated above), and leave users highly doubted why some applications are dark,
> and some not.

> The only acceptable way it to allow the user to configure the color scheme (or
> palette) per application, and that certainly isn't anything Oxygen specific.


Most design decisions can be abused, I just think that the current nonstandard way of doing things breaks user experience and forces relearning. I think allowing a color-scheme per application is okay. If this isn't oxygen specific, who should it be for?
Comment 4 Christoph Feck 2011-08-08 03:19:38 UTC
> This is why so many of the web-ui's use dark colors for a background in lightboxes and so on

Check http://www.google.com/search?q=photoshop+cs5+screenshot&tbm=isch
(and if THAT isn't the reference for photo/image processing, I don't know what else is).

> If this isn't oxygen specific, who should it be for?

I've already reassigned it.
Comment 5 Ivan Čukić 2012-06-17 07:20:27 UTC
IIRC, (can't find the link) this was something that our fine people at KDE multimedia were talking about.

That is, they wanted to make KDE multimedia applications to look differently and darker compared to the ordinary applications.

BTW, since you mentioned photoshop:
http://screenshots.en.sftcdn.net/en/scrn/3340000/3340167/adobe-photoshop-02-700x464.jpg
Comment 6 Nathan O'Brennan 2013-08-15 07:12:06 UTC
I would prefer to use a dark color scheme for my KDE desktop along with my applications with the exception of kmail. I do not like a dark color scheme with kmail and the ability to change the color-scheme for a single application would be extremely helpful!
Comment 7 Christoph Feck 2014-09-07 22:55:26 UTC
*** Bug 338884 has been marked as a duplicate of this bug. ***
Comment 8 Jesse Litton 2014-12-05 21:12:55 UTC
This request seems as apropos as ever now that Plasma 5 is upon us.  I find it impossible to find one consistent color-scheme that works with all apps I use daily, and am constantly changing my theme back and forth in order to use the best app for each task.

Light color schemes (even Breeze!)  leave the white menu icons of Dolphin near-invisible, while dark ones (like Breeze dark) make some apps like MonoDevelop unreadable.  Without being able to set per-app colors, the users who are not using a color scheme similar to that used by their app developers (who are apparently all using *different* schemes) are getting a very substandard experience.
Comment 9 Orivej Desh 2014-12-05 23:14:53 UTC
Jesse, one workaround is to launch some applications with a different value of the HOME enviroment variable. For example, if I have /usr/local/bin/brightqt with

     #!/bin/sh
     exec env HOME="$HOME/brightqt" "$@"

then I can configure another color scheme with "brightqt systemsettings" and then launch "brightqt monodevelop" without changing main color scheme.

(GTK is more sensible in that I can supply a different GTK config leaving HOME intact, with ‘env GTK2_RC_FILES="$HOME/.gtkrc-2.0-bright" "$@"’.)
Comment 10 Jesse Litton 2014-12-06 03:08:00 UTC
Thank you for that suggestion, Orivej!  I will give that a try as a workaround.
Comment 11 Sudhir Khanger 2015-03-07 16:45:55 UTC
The only problem with the hacky workaround is that I will have to reconfigure all theme and fonts related settings, as least, and make sure to maintain it if I make changes to my primary environment.
Comment 12 Alexander Zhigalin 2016-05-10 13:01:36 UTC
Now KDelelop also allows scheme selection (see https://git.reviewboard.kde.org/r/127885/ ), but I still think this should become a standard functionality, maybe something like KStandardAction::configureColors(KXmlGuiWindow *win);
Comment 13 Kai Uwe Broulik 2016-05-20 23:04:42 UTC
If, and only if, we were to add something like that, we could add it to KXmlGui and have it provide a settings dialog in the settings menu where you also find eg. "Configure Toolbars".

The infrastructure is already there, KWin can even follow the colorscheme of an application to colorize the title bar accordingly. However, with KColorSchemeManager there's an easy-to-use class that applications that want to provide such functionality (eg. Krita, KDevelop, Gwenview, Dragon Player) can add to their settings without further complicating the already insane customizability of our applications.
Comment 14 Elvis Stansvik 2016-06-05 14:51:18 UTC
I agree with Kai that this is not something which should be prominent in every application, since it's a rare thing.

I do think we should have the ability to override the colorscheme on a per-application basis in some way though, even if the application hasn't explicitly added support for this (e.g. with KColorSchemeManager). I suggest maybe an environment variable: Similar to how Qt supports QT_STYLE_OVERRIDE (and -style) for overriding the Qt widget style, perhaps KDE could support a KDE_COLORSCHEME_OVERRIDE environment variable?

In my case I'd like to use a different color scheme for Qt Creator, and I doubt the Qt Creator developers are interested in adding a KColorSchemeManager to their settings.
Comment 15 Aleix Pol 2016-07-25 23:35:30 UTC
Git commit 938f1f7f14443180e91a55b0180e42589c3a3af5 by Aleix Pol, on behalf of Alexander Zhigalin.
Committed on 25/07/2016 at 23:25.
Pushed by apol into branch 'master'.

Implement color scheme selection from these installed in the system using KColorSchemeManager

Implement color scheme selection from these installed in the system using KColorSchemeManager

REVIEW: 127979

M  +3    -0    shell/CMakeLists.txt
A  +106  -0    shell/colorschemechooser.cpp     [License: LGPL]
A  +60   -0    shell/colorschemechooser.h     [License: LGPL]
M  +4    -0    shell/mainwindow_p.cpp

http://commits.kde.org/kdevplatform/938f1f7f14443180e91a55b0180e42589c3a3af5
Comment 16 Aleix Pol 2016-07-25 23:36:01 UTC
Git commit f6965687228383239cdf5b1e97c012e82fd5d119 by Aleix Pol, on behalf of Alexander Zhigalin.
Committed on 25/07/2016 at 23:26.
Pushed by apol into branch 'master'.

Implement color scheme selection from these installed in the system using KColorSchemeManager

Implement color scheme selection from these installed in the system using KColorSchemeManager

REVIEW: 127980

M  +2    -1    app/kdevelopui.rc

http://commits.kde.org/kdevelop/f6965687228383239cdf5b1e97c012e82fd5d119
Comment 17 Nikolaos Kakouros 2016-10-06 21:15:21 UTC
Is this issue truly resolved? The linked commits seem kdevelop specific.
Comment 18 Christoph Feck 2016-10-06 21:21:40 UTC
Right. Reopening.
Comment 19 andydecleyre 2016-10-14 16:14:53 UTC
I'd just like to add here that the most convenient place to configure this from a user perspective is probably the KWin Special [Application|Window] Settings module.
Comment 20 Hugh Williams 2017-01-01 17:08:29 UTC
What is the best way to pursue getting this feature added to relevant apps e.g. KMail? File a bug/feature request with them and link this thread?
Comment 21 Anthony Fieroni 2017-01-07 07:05:44 UTC
It can be added KColorSchemeMenu in KXmlGuiWindow, maybe disabled by default, it can be enabled from any KDE app who is its child.