[TxMt] The Growing Importance of Themes

subtleGradient / Thomas Aylott oblivious at subtlegradient.com
Mon Feb 12 16:44:13 UTC 2007


The current situation
A major goal of all the scoping standardizationstuff we do in the  
syntaxes is to make it really easy so make a single theme that can be  
used for any language.
Unfortunately, the reality is that languages are really complex and  
it takes work to make a theme look good in more than a few languages.  
And then more work to keep that theme looking good as the languages  
syntaxes are updated and improved.

So, what do we have?
We have a handful of deep themes and a whole hugh mess of really good  
looking shallow themes.
the deep themes are constantly updated and work in most every  
language. The shallow themes are usually never updated and only work  
in a few languages and break on most edge cases like deeply nested  
embedded source.

The future
Themes are going to be even more important in the next major release  
of TextMate. Themes will be more than just style, they will really  
start making inroads into real functionality.
We'll be able to color things like the current selection, the current  
line, merge conflicts, tab triggers, placeholders, etc... probably  
even more.
[see http://pastie.textmate.org/39665]

This means that themes are going to become much more important to the  
way you use the application than ever before.
Which means that it's going to become that much more difficult to  
make a theme that really works for more than a few people and keep it  
updated.

Tweaked Theme Versions instead of new Themes!
I think we need to move away from a Theme-as-style type of mentality  
and more to a Theme-as-functionality type of thinking.
I've put a lot of work into my Brilliance Black theme, but frankly a  
lot of people think it's really ugly.
Why is it so ugly? Mostly just my color choices. People all have  
different tastes.
Also, it's totally unusable on a dark CRT or LCD.

I've made a few versions of my Brilliance Black theme. Brilliance  
Dull, Brilliance White, Brilliance BBS, etc…
The advantage of doing a version of an existing deep theme is that  
you get a new style without having to do all the coding of the random  
edge cases. It looks pretty without losing any theme-based  
functionality.

ShapeShifter
Have you ever user ShapeShifter? There are all these OS themes that  
you can use to change the look of the chrome on all the windows and  
dock and whatever else on your system. There's also a new tool you  
can use to make a tweaked version of an existing theme. You can apply  
core image tweaks to all of the images in the theme and save out a  
tweaked version of a theme.

I think TextMate should do the same thing.
Start with a good deep base theme like Twilight and tweak the colors.
Then save the recipe of how you tweaked that theme.
The advantage is that when Twilight is updated, all of your tweaked  
themes based off of it are also updated since they're just recipes  
instead of actually different themes.
And you can make really creative new versions of themes without  
having to do all the work of figuring out all the crazy edge cases  
and junk.

thomas Aylott — subtleGradient — CrazyEgg — sixteenColors
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macromates.com/textmate/attachments/20070212/fd9a187d/attachment.html>


More information about the textmate mailing list