Allan,
would it be possible to have
A) project / language / bundle dependent theme settings? Not all themes work as beautifully with all languages (and I know you are advising that themes only implement the most rudimentary things ;))
B) themes that only complement a basic theme (just like with css, where you can override the standard behaviour with extra css definitions inside the html). So, e.g. I want to use one of Thomas's universal themes, but would like to add some snippets, some coloring to my custom language grammars. i.e. just some simple way to combine themes without going the plist- editor route. Just add a preference of some sort of theme layering. (similar to the system's language settings. chose the preferred theme, but take items from a second or third theme if they have scopes defined.)
C) and as a sidenote to B) an option for bundle developers to inject certain stylings into a theme.
D) Maybe the ability to add emty lines before or after a scope? (I know, I am getting way beyond simple here, and no rich text editing is necessary). I am just thinking of certain block level elements that would be nice to separate not only in col,or/background, but also distance.
Dan
On 11/6/2006, at 12:35, Daniel Käsmayr wrote:
A) project / language / bundle dependent theme settings? [...]
Long-term, yes.
B) themes that only complement a basic theme [...]
GUI mockups appreciated -- the initial debut of themes did allow this, but it was horribly complicated, so I opted for the much simpler “just one flat list” approach.
Limiting it to just one superclass would give a reasonable simple GUI, but likely this would be too primitive, as I am sure those who would use this feature, would want more than just a base theme and one to augment it -- and those who would not use it (majority of people) would have one extra control to worry about in the preferences.
C) and as a sidenote to B) an option for bundle developers to inject certain stylings into a theme.
Technically possible, e.g. the Diff bundle does provide the (default) styles for markup.inserted, markup.deleted, and markup.changed -- but it’s not something I endorse, and the bundle editor GUI is not made out for visual settings, but in practice bundle preferences and visual settings (themes) are all just settings with scope selectors -- this does though have the disadvantage that bundles would inject into every theme (though with lower priority than the theme itself,) meaning that this is not useful for colors (as the bundle can’t know if the theme is light on dark or dark on light.
D) Maybe the ability to add emty lines before or after a scope? [...]
You mean like e.g. setting the margin of an element using a scope selector? Long-term I have some enhancements planned for the display model, but this is very long-term, and I believe this would be the more general solution to your request.
Allan,
B) themes that only complement a basic theme [...]
GUI mockups appreciated -- the initial debut of themes did allow this, but it was horribly complicated, so I opted for the much simpler “just one flat list” approach.
Wouldn't an interface like you can find in System Preferences>International>Languages work? Just take your base theme, and have that as the lowest one, and stack the others on top. The highest one wins if there are multiple definitions. If you have subthemes for PHP and say LaTeX they won't even overlap much with say "iLife 05". (You could even add checkboxes for easy on/off of themes. And themes would get there by drag & drop from a "all installed themes list").
C) and as a side note to B) an option for bundle developers to inject certain stylings into a theme.
Technically possible, e.g. the Diff bundle does provide the (default) styles for markup.inserted, markup.deleted, and markup.changed -- but it’s not something I endorse, and the bundle editor GUI is not made out for visual settings, but in practice bundle preferences and visual settings (themes) are all just settings with scope selectors -- this does though have the disadvantage that bundles would inject into every theme (though with lower priority than the theme itself), meaning that this is not useful for colors (as the bundle can’t know if the theme is light on dark or dark on light.
Well, we could try to make things smart, where the bundle itself can check the color settings and do some math on the numbers, maybe invert the color or add some red tones… ;)
D) Maybe the ability to add empty lines before or after a scope? [...]
You mean like e.g. setting the margin of an element using a scope selector? Long-term I have some enhancements planned for the display model, but this is very long-term, and I believe this would be the more general solution to your request.
Yes, exactly. And, as a variation of this - lines in those margins, sou you can have certain blocks actually visible as blocks or you can have separators that are theme controlled, not lines full of "-" ;) But I can also see this is a bigger task to implement but less important; most of the theme functionality would do something similar.
Dan
On 11/6/2006, at 16:24, Daniel Käsmayr wrote:
B) themes that only complement a basic theme [...]
GUI mockups appreciated -- the initial debut of themes did allow this, but it was horribly complicated, so I opted for the much simpler “just one flat list” approach.
Wouldn't an interface like you can find in System Preferences>International>Languages work? Just take your base theme, and have that as the lowest one, and stack the others on top [...]
Yes, so now you basically have the old theme editor, where creating a new theme required also editing a meta-theme, describing which themes to source ;)
Yes, so now you basically have the old theme editor, where creating a new theme required also editing a meta-theme, describing which themes to source ;)
I haven't used TextMate for so long as ever to have seen that old theme editor, but it sounds like a useful way to do things. If you want to get fance make the display look like the quartz composer or omnigraffle ;)
Dan
On 11/6/2006, at 22:52, Daniel Käsmayr wrote:
Yes, so now you basically have the old theme editor, where creating a new theme required also editing a meta-theme, describing which themes to source ;)
I haven't used TextMate for so long as ever to have seen that old theme editor, but it sounds like a useful way to do things. If you want to get fance make the display look like the quartz composer or omnigraffle ;)
I am not opposed to the concept, and the old theme editor had other problems than just this grouping, although this was the essence of it.
But the feature comes with a price, and that’s what I wanted to illustrate when I said “GUI mockups appreciated.”