On Fri, 10 Mar 2017 02:26:41 -0800 (PST)
"Edward K. Ream" <edream...@gmail.com> wrote:

> Note to Terry.  You need not be concerned about this. The proposal
> does not affect existing users of themes directly, except to clarify
> the differences between themes.
> 
> If there is a problem, we could revert just leoSettings.leo. Moving
> to a new branch doesn't help because changes to leoSettings.leo
> (within Leo) persist when switching branches. As always, if there is
> a problem I will be responsible for making things right again.

Sure you have to restart Leo if you swap out leoSettings.leo, but a
branch is still a convenient container for a set of related changes,
not sure I follow the above.

> I am about to refactor Leo's the @theme trees in leoSettings.leo into
> an unchanging *base *part, and a few *overrides *for each theme.
> Themes will be defined by their overrides.

As I said much earlier in this discussion, themes can't be limited to a
single style sheet and substitutions of font sizes, colors, etc. in
that style sheet.  They must be able to include arbitrary amounts of
their own "Qt-CSS".
 
> A *copy *of each base will be included in each @theme tree. Copies
> are required because Leo does not support including one stylesheet in
> another. The intention is that base part will *never* change. 

Of "each base", or "the base"?

> *Pros*
> 
> Separating overrides from the bases will make it much clearer what
> the differences between themes are.  This is a big deal, for both
> users and devs. Moreover, If the base ever does need to change, it
> will be easier to copy the base tree to all @theme nodes than to make
> changes piecemeal to all @theme trees.  I've made such piecemeal
> changes repeatedly in recent days. It gets old quickly.

This seems to imply that all themes need to be kept in sync. and Leo
devs. are responsible for maintaining them - I don't think this pattern
is seen in other theme collections.
 
> *Cons*
> 
> The refactoring might, by mistake, change the effect of one or more
> of the themes.  But this will effect only *new* users of themes. Old
> users won't be using any of these themes--they'll be using their
> previous themes. And even old users might prefer to use the new
> themes, since their customizations can be localized.
> 
> *Summary*
> 
> The new @theme nodes will exist only to leoSettings.leo. They will
> not take effect unless a user copies an @theme node to
> myLeoSettings.leo.
> 
> The refactoring will help both devs and users, including existing
> users. The refactoring might, by mistake, change what themes do, but
> that should not cause great problems.
> 
> The new scheme will help me *today* when I create @theme Linux EKR
> dark.

If the new scheme prevents *new* themes from having their own "Qt-CSS"
code, I don't think it's a good idea.  I'm not sure it does though, it
seems a new theme could just break the rule about including a copy of
some common base?  Given that, I'm not really sure what the new scheme
changes.

One thing to watch, there's a relationship I can't remember between
themes and dynamic font size changing (Ctrl-mousewheel zooming).

Cheers -Terry

> 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