Page 1 of 4

Thoughts about CodeLite's appearance, themes/colorschemes

Posted: Fri Jan 11, 2013 12:36 am
by SoleSoul
Please click on the thumbnail below to see the screenshot in real size.
Image
This is what CodeLite looks like in my setup.

I found that after a long time of staring at the screen, my eyes get tired. To feel better while working for long periods of time I switched to GVim and SublimeText which both have excellent dark themes and clean interface. After not so long, both applications reminded me why I came to CodeLite in the first place. I was missing some basic features which CodeLite implements very good. I tried adding features to SublimeText and GVim but then I figured that it would be much easier to make CodeLite look like them than make them behave like CodeLite.

The screenshot above is my first attempt at changing the layout and creating a color scheme based on vim's zmrok color scheme. I love the way it looks and I can work more calmly while using dark themes with lower contrast like this one. The dark theme which comes with CodeLite is not to my taste, which is fine, any one has his own tastes.

Creating the theme was not hard, but it covers only C++. vim's themes, if I understood them correctly, are defined generally. For example, a string is a string, no matter what the language is. In CodeLite, in order to change the string's color in more than one language, you have to change it in multiple places. I don't judge which is better, only that the former way is simpler.

The reason for this post is because when I wanted to change the look of CodeLite I searched for themes to download and I didn't find any. Now after I customized it for myself, I want to share it with others. I'm not familiar with CodeLite design deciesions so I would like to hear your opinions on this matter.

Do you think sharing color themes can and should be made simpler, or maybe not?

Re: Thoughts about CodeLite's appearance, themes/colorscheme

Posted: Mon Jan 28, 2013 2:52 pm
by SoleSoul
I didn't get a repy so I conclude that my question was bad.

I'll ask two very practical questions instead:
  • Is it possible to change the "pallete" of colors for a theme and apply it to all of the languages?
  • After I create a theme, is it possible to save it as a seperate theme so others could download it and add it to their installation beside the normal and dark themes?
BTW, congratulations on the new release. Everything looks good.

Re: Thoughts about CodeLite's appearance, themes/colorscheme

Posted: Mon Jan 28, 2013 3:33 pm
by eranif
SoleSoul wrote:Is it possible to change the "pallete" of colors for a theme and apply it to all of the languages?
No...
SoleSoul wrote:After I create a theme, is it possible to save it as a seperate theme so others could download it and add it to their installation beside the normal and dark themes?
The easiest way is:
copy one of the files from /usr/share/codelite/lexers/lexers_black.xml and name it something else (e.g. my_lexers.xml)

next, open the file 'my_lexers.xml' and rename the theme into something unique:

Code: Select all

<Lexers Theme="DarkTheme">
Close the file, and restart coelite:
You should now be able to select the new theme.

To change the background color for every language you will need to do it manually:
select the language from the right side and then click on the "Global background colour" button, click apply and move on to the next language.

Once you are done editing your theme, codelite will save all the modifications you made to ~/.codelite/lexers
You can send this lexer to me and I will include it, or you can post it here on the forum.

Everyone who wants to use it simply needs to copy it to /usr/share/codelite/lexers and restart codelite

Eran

Re: Thoughts about CodeLite's appearance, themes/colorscheme

Posted: Mon Jan 28, 2013 9:59 pm
by SoleSoul
eranif wrote:No...
That's fine of course but please allow me to share with you one concern that I have.
I may be wrong here, but I saw the roadmap of CodeLite and you said there that CodeLite focuses on C++ (only?).
I am, as a C++ developer, familiar with C++. I don't really know most of the languages that the lexers cover. The fact that the lexers cover many languages separately prevents me from publishing my colorscheme because I know only how to do the C++ part and the colorscheme would be very incomplete without the other languages. The normal CodeLite user (a C++ developer) can easily create a C++ theme or port one from another editor. If creating a C++ theme was enough, the colorschemes department of CodeLite could flourish.

Do you think that writing a script that takes the C++ part of the file and applies it to all of the languages is a good solution? does it make sense at all?
eranif wrote:You should now be able to select the new theme.
Oh, so that's how it works. I tried adding a theme to ~/.codelite/lexers...
I assume that right now it is not possible to add a theme without root privileges. If that's fine, I would like to add a feature request (on sourceforge) so a user could add themes without being root. Is it fine if I do that?

Anyway, as a first step, the colorscheme from the picture above is attached. Only the C++ part is different than the dark theme... (and the name can be changed)

Re: Thoughts about CodeLite's appearance, themes/colorscheme

Posted: Thu Feb 21, 2013 9:06 am
by eranif
FYI:
I have added it to codelite's git head
I also did a small fix: the code completion box colours should now match the theme colours

Eran

Re: Thoughts about CodeLite's appearance, themes/colorscheme

Posted: Thu Feb 21, 2013 4:38 pm
by NilC
About sharing themes - how about separate theme into two parts - GUI coloring, syntax coloring. GUI coloring - hardcoded light theme and dark theme. Syntax coloring - user defined part which you could easily import/export.

Abour GUI coloring - I think all windows must be with one foreground/background color. Custom dark scroll bars in dark theme will be great, so do all GUI controls.

I mean turn this
Image

into this
Image

PS: Sorry for my English.

Re: Thoughts about CodeLite's appearance, themes/colorscheme

Posted: Thu Feb 21, 2013 5:40 pm
by SoleSoul
Thank you for including it and letting me know.

I hope other people will share their colorschemes.

Re: Thoughts about CodeLite's appearance, themes/colorscheme

Posted: Thu Feb 21, 2013 9:32 pm
by eranif
NilC wrote:Custom dark scroll bars in dark theme will be great, so do all GUI controls
This is not possible.

codelite uses wxWidgets which in turn uses the native controls of the OS. If you want to change the colors of various controls (scrollbars, dropdown menus etc) you will need to do it using the "Control Panel\Appearance and Personalization\Personalization" (the standard windows way)

Eran

Re: Thoughts about CodeLite's appearance, themes/colorscheme

Posted: Thu Feb 21, 2013 11:35 pm
by eranif
I did some work and I managed to improve the dark theme a bit more.
The changes:
- When a new theme is selected, all the workspace view tabs will change their colours to fit the "global background colour" defined in the theme page (from the syntax highlight dialog)
- I created a new icon theme (copied from the default icon set) - the main change in this icon set is that the mime type icons are black and grey (no white to make it easy on the eyes and to reduce the contrast)

Note that you need to set the icon set manually from:
Settings -> Global Editor Preferences -> Misc -> General -> Icon Set -> Classic - Dark

Attached is a screenshot of the result
1.png
Eran

Re: Thoughts about CodeLite's appearance, themes/colorscheme

Posted: Thu Feb 21, 2013 11:52 pm
by SuperV1234
I like the new changes.