Terry, that is an important distinction that should probably make its way 
into the docs.

On Friday, March 3, 2017 at 1:11:04 PM UTC-5, Terry Brown wrote:
>
> The theme script you're referring to compiles a tree into a single 
> stylesheet, is that correct?
>
> I might have referred to it as a button when in fact it was just a script 
> that anyone editing a theme would probably convert to a button with the 
> script-button button.
>
> It seems that using the theme compiling script should only be necessary 
> for anyone editing the theme, and for users just wanting to switch between 
> themes, only the other script/button you mention, that just copies the them 
> to personal settings, would be necessary.  I.e. that all @theme trees 
> contain both the tree source of the theme, and a pre-compiled 
> @data qt-gui-plugin-style-sheet.
>
> Cheers -Terry
>
> ------------------------------
> *From:* Edward K. Ream <[email protected] <javascript:>>
> *To:* leo-editor <[email protected] <javascript:>> 
> *Sent:* Friday, March 3, 2017 8:50 AM
> *Subject:* Proposed actions re: #350: themes not working as documented
>
> I am writing this here, rather than in #350: themes not working as 
> documented <https://github.com/leo-editor/leo-editor/issues/350>, so that 
> more people will see this discussion. Anyone who wants to use themes will 
> want to read the following carefully.
>
> *Background*
>
> I have download all final versions of Leo from 4.11 onward to 5.4. The *only 
> *difference between 4.11 and all later versions is that from 5.0 onward 
> there is that there is a separate *themes.leo* file in the leo/config 
> folder. All themes.leo files contain separate *theme scripts *(a script, 
> *not* an @button node), for each separate theme. Afaik, there has never 
> been a button that creates themes.
>
> From September 2014 onward, Leo has had a StyleSheetManager class, 
> accessed via c.styleSheetManager. All theme scripts reference 
> g.expand_css_constants, but that no longer exists.  Instead, scripts should 
> call c.styleSheetManager.expand_css_constants. When that is done, theme 
> script create @data qt-gui-plugin-style-sheet node as advertised.
>
> However, making that stylesheet active by calling:
>
>     g.app.gui.frameFactory.masterFrame.setStyleSheet(
>         c.styleSheetManager.expand_css_constants(nd.b))
>
> does not (yet) produce the desired theme. It's probably no big deal, but 
> the effect is unsettling. The appearance of themes.leo changes drastically, 
> at least with my defaults.
>
> *Proposed changes*
>
> 1. Replace all theme *scripts *in themes.leo by a *single *@button node 
> at the top level. The user should select the desired *theme tree* before 
> running the @button script (clicking the button). The @button script will 
> ensure that the user has, in fact, selected a theme tree. It may be 
> convenient to mark "the good parts" with @theme.
>
> 2. *Aside*: I had to change @language css to @language python in order to 
> run the theme script.  No big deal, but it will be best to create an 
> organizer node for the rest of the data nodes that contains nothing but 
> @language css.  This reorganization may affect the theme script, but any 
> required changes will be worth the cos--it's intolerable not to color text 
> correctly.
>
> 2. A separate top-level @button script will copy theme data to 
> myLeoSettings.leo.
>
> *Summary*
>
> The themes data and scripts moved from leoSettings.leo to themes.leo for 
> Leo 5.0 and have remained largely (completely?) unchanged ever since.
>
> A refactoring of Leo's code broke the scripts in themes.leo ca. September, 
> 2014.
>
> An @button node in themes.leo will generate theme data. A separate @button 
> node will copy theme data to myLeoSettings.leo.
>
> Much of the confusion re #350 stems from out-of-date docs. I'll update the 
> docs in leoSettings.leo, themes.leo and on Leo's web site once all the 
> details become clear.
>
> Comments, corrections and questions, please.
>
> 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 [email protected] <javascript:>.
> To post to this group, send email to [email protected] 
> <javascript:>.
> Visit this group at https://groups.google.com/group/leo-editor.
> For more options, visit https://groups.google.com/d/optout.
>
>
>

-- 
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 [email protected].
To post to this group, send email to [email protected].
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