Don't panic.  If we do anything it will only happen after ample 
discussion.  No changes will be made for Leo 5.4.

Imo, Leo's stylesheet machinery is on the point of collapse.  I, for one, 
am often confused by the gazillion stylesheet-related settings.  They were 
supposed to make life easier for everyone, but now they seem to be doing 
the reverse.  My latest work simply modifies the user style sheet, @data 
qt-gui-user-style-sheet in myLeoSettings.leo.  I am, in effect, bypassing 
the settings that we have spent so much time putting in place.

Just to be clear, I am talking about these settings in leoSettings.leo:
`@settings-->Appearance (change these first)-->Qt Gui settings`

There may be others settings.  I think this discussion is separate from #62 
<https://github.com/leo-editor/leo-editor/issues/62>, though I wouldn't be 
my life on it.


*Pros:*
The rationale for substitutions is that it is that a single setting, like
`@string font-family = Droid Sans Mono, DejaVu Sans Mono`
could affect many, many settings.

*Cons:*

Leo's settings (@string, @int, etc.) are a bit of magic.  To find out how 
any setting *actually* works, you have to look at @data 
qt-gui-plugin-style-sheet.

@string, @int, etc. require that stylesheets refer to them in the expected 
ways.  It's a source of bugs, especially when adding new features to the 
stylesheets.



*Composing stylesheets from trees*The present scheme was introduced before 
the Aha that Leo allowed @data nodes to be trees.  Imo, this changes 
everything.  Instead of being a monolithic mess, @data 
qt-gui-plugin-style-sheet is organized as usual using separate nodes.  
Ditto for @data qt-gui-user-style-sheet in myLeoSettings.leo.

*The proposal*

In short, the proposal is to *let stylesheets be stylesheets*. Instead of 
adding an layer of text substitutions, revise Leo's stylesheets so that 
show how to use cascading to provided desired uniformity of look. With 
proper stylesheet selectors 
<http://www.w3schools.com/cssref/css_selectors.asp>, it the user can apply 
a setting to arbitrarily many widgets.

It would be natural to put these *crucial selectors* in a separate node. 
The user could alter the overall look and feel just by altering these 
selectors.

Pros: no more "extra" settings.  Cons: people must modify the stylesheets 
directly, especially the crucial selectors.

Your comments, please, Amigos.

Edward

-- 
You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to leo-editor+unsubscr...@googlegroups.com.
To post to this group, send email to leo-editor@googlegroups.com.
Visit this group at https://groups.google.com/group/leo-editor.
For more options, visit https://groups.google.com/d/optout.

Reply via email to