eric ide

Issue248

Classification
Title: dark theme
Type: feature request Product: eric6
Process
Priority: high    
Status: closed Resolution: rejected
Superseder: Nosy List: TRz, cowo, detlev, vince
Assigned to: Keywords:

Created on 2017-09-20.17:08:21 by vince, last changed by cowo.

Files
File Name Uploaded Description Remove
SolarizedDark.zip cowo, 2017-11-17.09:42:53 Sample dark theme based on Solarized Dark color scheme (http://ethanschoonover.com/solarized)
coffee.qss TRz, 2017-10-18.19:21:25 Stylesheet example
Messages (7.0)
msg936 (view) Author: cowo Date: 2017-11-17.09:42:53
To me the only annoyance is that the main GUI and QScintilla highlighting have
to be configured separately and for each language. While this of course allows
for maximum flexibility I'm usually too lazy to do the job and I would prefer
NOT to have the settings for each language. Changing the configuration system
would mean a lot of work that can be avoided by just gathering a few "stock themes".

Attached (and suggested for inclusion in the next release) is a simple example
that uses the CSS to set palette colors and the style for Python3 lexer. The
final look is reasonable with styles like Adwaita-dark.
msg932 (view) Author: detlev Date: 2017-10-19.17:29:32
A Qt stylesheet can be configured without patching the eric6 sources. Simply 
enter the path to it on the Interface->Interface configuration page, Style Sheet 
entry.
msg931 (view) Author: TRz Date: 2017-10-18.19:21:25
Hello Vince,
a good starting point could be the Qt style sheets. I've attached you a sample,
which you should also find in the PyQt / Qt supplied examples.
All you have to do is modifying UI/UserInterface.py:
1. Add qApp, e.g.:
from PyQt5.QtGui import QKeySequence, QDesktopServices, qApp
2. Add following code after (maybe add a complete path)
"e5App().registerObject("Numbers", self.numbersViewer)":
        with open(r'UI\coffee.qss', 'rt', encoding='utf-8') as fp:
            styleSheet = fp.read()        
        qApp.setStyleSheet(styleSheet)
3. Restart eric
Ok, it's very ugly but modifying the qss is all you need and the most work. If a
nice style sheet exsist, we'll find a way to put it in the right place of eric...
Tobias
msg930 (view) Author: detlev Date: 2017-09-21.17:14:27
Theming has two aspects, theming of Qt and theming of eric. The first is done 
through the desktop environment configuration, which is outside eric. Theming 
of eric is done through the various editor style settings as well as the 
various color selections. These values are written to the configuration file 
eric.ini. You may use the export function to create a settings export. A 
separate export of just the theming parameters may be missing. Please let me 
know.
msg929 (view) Author: vince Date: 2017-09-21.04:40:27
I understand the free software philosophy and i would like to contribute for
implement a dark theme but the documentation for theming is poor.
Can you give some indication for working on that
Thanks for your answer
msg926 (view) Author: detlev Date: 2017-09-20.17:59:09
I agree that more themes would be nice. However, nobody has contributed such a 
theme yet. Instead of complaining it would be a good idea, to develop such a 
theme and contribute it. I am willing to include it in the distribution.

'Take and give' is the principle of free software.
msg925 (view) Author: vince Date: 2017-09-20.17:08:21
Writing code in a white theme IDE is very agressive.
All mass used IDE provide dark theme by default.
I have tried to configure Eric to have dark theme by the settings, it is a pain
and i want to code not lose my time to understand how to configure the theme.
For me Eric is inusable because there is no easy way to have a dark theme less
agressive for my eyes 
it would be nice to have one or more dark theme by default.
History
Date User Action Args
2017-11-17 09:42:53cowosetfiles: + SolarizedDark.zip
nosy: + cowo
messages: + msg936
message_count: 6.0 -> 7.0
2017-10-19 17:29:32detlevsetstatus: open -> closed
resolution: rejected
messages: + msg932
message_count: 5.0 -> 6.0
2017-10-18 19:21:25TRzsetfiles: + coffee.qss
status: pending -> open
messages: + msg931
message_count: 4.0 -> 5.0
nosy: + TRz
2017-10-18 16:45:11detlevsetstatus: open -> pending
2017-09-21 17:14:27detlevsetmessage_count: 3.0 -> 4.0
messages: + msg930
2017-09-21 04:40:27vincesetstatus: closed -> open
resolution: rejected -> (no value)
messages: + msg929
message_count: 2.0 -> 3.0
2017-09-21 04:32:29vincesetproduct: eric5 -> eric6
2017-09-20 17:59:09detlevsetstatus: new -> closed
resolution: rejected
messages: + msg926
message_count: 1.0 -> 2.0
nosy: + detlev
2017-09-20 17:08:21vincecreate