treesheets icon indicating copy to clipboard operation
treesheets copied to clipboard

Add dark/night theme or an "invert colors" mode

Open gussmith23 opened this issue 6 years ago • 10 comments

This may be a pretty niche feature request. It may also be unnecessary due to the existing ability to change colors in TreeSheets. I will explain my reasoning nonetheless.

As someone who suffers from eye strain, I generally seek to have dark themes on all of my programs. I used to achieve this using light themes plus a system-wide color inverter; this is not preferable, though, for a number of reasons. Now, I'm generally able to achieve an all-dark-themed system with the high contrast Chrome extension plus dark themes in all of my programs. Luckily, dark themes have become more and more popular, so this works 99% of the time.

TreeSheets is one of the exceptions unfortunately. I understand that a TreeSheet has a color palette, and that the default color palette is black text on white. I believe this default is reasonable, and I don't want to change it. What would be nice would be the option to invert this color scheme locally within TreeSheets, so that on my local machine, I could view a black-on-white sheet as white-on-black. This was the cleanest way I could think of to solve this problem, as it doesn't involve changing a .cts file to fit my color preferences.

gussmith23 avatar Aug 29 '18 16:08 gussmith23

Hmm.. not sure what it would look like if you simply inverted everything. At the least it would need to be gamma corrected to look decent I think.

Could do this on a bitmap level which would probably be too slow. The better way may to simply invert any color when one is set, and hope it renders correctly :)

Would certainly be a bit of work to make sure everything works in such an inverted mode.

The current workaround of course is to set the colors of the sheet as you say, but that is annoying if you cooperate with others.

aardappel avatar Aug 29 '18 19:08 aardappel

How does the current theme work? I know we can change the default document background color, but if we could change the default cell, border, and text colors that gets this issue pretty close at least. It still leaves the problem of the top tool bar of course, assuming that it isn't provided by QT (I don't think it's GTK, but I also haven't looked into the project much yet) or otherwise it may be easy enough just to add a dark mode for that as well as the icons look like they'd support a dark theme well enough

VegaDeftwing avatar Mar 10 '20 21:03 VegaDeftwing

Yup, you can change all of them, check out the top toolbar.

aardappel avatar Mar 11 '20 00:03 aardappel

Maybe for faster and 'prettier' theme support something like https://github.com/hundredrabbits/Themes could be added? It's basically just a color pallet override

VegaDeftwing avatar Mar 11 '20 00:03 VegaDeftwing

I just found this great app, and when I finnished the tutorial, only thing what I was looking for was "dark mode" button.. :(

ghost avatar May 14 '21 10:05 ghost

Are there any plans to implement a fully dark theme. It is very painful for some people to look at bright colors on the screens.

A dark theme should not be just dark background, the whole window needs to support it because it is even more painful to look at something dark that is framed with something very bright (like the current frame colors)

thanks

gerroon avatar Jun 24 '21 23:06 gerroon

Yup, aware just changing the sheet is only a workaround.. it be a fair bit of work to do a full dark mode.

aardappel avatar Jun 25 '21 00:06 aardappel

May be if it only respects the system colors. Today browsers understand the "night mode" from OS. Sometimes dark themes may be buggy, and the user could simply choose between the OS color or the white default. It would bring backward compatibility with old files that would look buggy in dark envs (as red or blue text on dark background).

If there was a way, perhaps a cts color mapper... so people could map the used colors to a predefined16 or 32 colors. These way community could share colorschemes in simple pair/value formats. Once a file has the map used the exports would be fine too.

arkt8 avatar Jun 25 '21 18:06 arkt8

Sounds like dark mode in wxWidgets (what TreeSheets uses for the UI) is still very much a work in progress, and only works on the mac so far: https://forums.wxwidgets.org/viewtopic.php?t=45869 https://forums.wxwidgets.org/viewtopic.php?t=47110

aardappel avatar Jun 25 '21 19:06 aardappel

there is an autohotkey way to get your treesheets into black mode.

see: https://www.autohotkey.com/boards/viewtopic.php?t=94011

but its not easy for normal users.

the result:

   Matrix := "-0.8|0|0|0|0|"
           . "0|-0.8|0|0|0|"
           . "0|0|-0.8|0|0|"
           . "0|0|0|1|0|"
           . "1|1|1|0|1"

image

or total dark (not recommend)

   Matrix := "-1|0|0|0|0|"
           . "0|-1|0|0|0|"
           . "0|0|-1|0|0|"
           . "0|0|0|1|0|"
           . "1|1|1|0|1"

image

huangfeiqiannian avatar Jul 30 '22 03:07 huangfeiqiannian