Re: Help! Messing with UI settings.

2014-09-11 Thread Edward K. Ream
On Wed, Sep 10, 2014 at 9:21 PM, 'Terry Brown' via leo-editor
leo-editor@googlegroups.com wrote:

 Yup.  It is, in fact, necessary to know Qt stylesheets to change
 background colors ;-)

 I think we can shoot for the best of both worlds here, the template
 system can provide a tree of simple Leo settings for all the simple
 design elements (colors, fonts, font sizes, border widths, etc.)  If
 you want a gradient fill that changes when you hover over a widget,
 *then* you'd need to hack the stylesheet yourself, but for the core
 stuff, a simple user editable tree (Leo outline) of settings should be
 possible.

I agree.  In fact, Leo can and should make settings even easier, as
I'll explain in a new thread.

 Although I'm not thinking of combo boxes and tick boxes immediately
 (although they might not be that hard to layer on top of @color and
 @string nodes etc.) I think the simple menu taking you to the right
 part of a simple settings tree for things like colors, fonts, font
 sizes, border widths, etc. will help a lot.  That really is the first
 non-bug fixing thing I want to spend Leo time on, I just wish I had
 more of it.  I get tired of hearing myself say I'm going to do X and
 not getting it done.

A good idea.  And it's compatible with the changes that are coming soon.

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 http://groups.google.com/group/leo-editor.
For more options, visit https://groups.google.com/d/optout.


Re: Help! Messing with UI settings.

2014-09-10 Thread Edward K. Ream
On Thu, Aug 14, 2014 at 11:48 AM, Fidel N fidelpe...@gmail.com wrote:

 I also asked for a settings GUI, because IMO, this is screening out a lot of
 people that would otherwise use Leo for non-programming related stuff.

Leo once had a settings gui.  I ripped it out because it was a
mistake.  We aren't going there again.  But see below.

 Something as simple as Notepad++ settings/preferences menu, just a simple
 tick menu, would make much more people remain in Leo.

Imo, Leo outlines are the one and only correct way to organize huge
numbers of settings.  You won't change my mind about that.  Leo has
hundreds, if not thousands of settings. A flat organization would
suck.  And it wouldn't solve the more serious problems you mention
below.

 Even if you love the concept, clones, etc, if you must learn python and pyqt
 and Leo structures and Leo @node_id inheritance before you can edit that,
 you simply wont.

There are two, no three issues here:

1. The Leo devs realized for the last major release that clones were a
bad idea in leoSettings.leo.  All newbies want and need to play with
settings, and few if any newbies are comfortable with clones.  So we
decided that every setting would appear exactly once in
LeoSettings.leo.  Afaik, that has never created any problems.
Furthermore, users are always free to use clones in their
myLeoSettings.leo.

2. Terry has created a really nifty templating scheme.  It's on my
list to make sure that this scheme is explained clearly at the top of
LeoSettings.leo, somewhere in the About this file tree.

3. The most important point you raise here is about the necessity of
learning Qt stylesheets in order to change settings.

This isn't great, but what we had before was worse: a huge number of
settings that modified various aspects of Leo's appearance, without
either the power or generality of Qt style sheets.

 I know someone will think its not necessary to know pyqt to change the
 background colors, but I have been there, and otherwise you don't really
 know what you are touching // how to edit that.

Yup.  It is, in fact, necessary to know Qt stylesheets to change
background colors ;-)

 Also, having to restart the app for every change to make effect makes
 everything much slower (for a newbie), all of this resulting in non
 programmers running away from Leo as fast as they can.

There should be a faq about this.  The trick is to edit the settings
in one copy of Leo, and test in another.   If the test file is small,
this saves a lot of time.

 Just a few combo boxes with option lists, + tick boxes for boolean values,
 would make a huge difference. If the need to restart Leo was removed, that
 would make things perfect.

In general, I think this is a bad idea, but an exception might be made
for the most important items: font, font size and maybe some colors.

No way am I going to build this back into Leo itself, but it would be
conceivable as a plugin.  All contributions gratefully accepted ;-)
However, this plugin would really like to update the settings
immediately, which brings us to...

Allowing settings to take effect immediately would be a major project,
especially considering how many setting there are.  Many settings are
cached for speed, and such caches (ivars of some classes) would have
to be updated.  In other cases, gui widgets must be reconfigure based
on the settings.

All this is certainly doable, but it would be a major project, at
least as big as the recent reorg, and possibly larger.  At present, I
am focused on getting Leo 4.12 out the door, so my appetite for this
project is meager at present.

 But then again, this is a dev time problem, so only thing I can do till I
 get some extra time to develop that myself, is to remain extremely grateful
 for Leo as is right now.

:-) Thanks for your patience.

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 http://groups.google.com/group/leo-editor.
For more options, visit https://groups.google.com/d/optout.


Re: Help! Messing with UI settings.

2014-09-10 Thread 'Terry Brown' via leo-editor
On Wed, 10 Sep 2014 17:27:28 -0500
Edward K. Ream edream...@gmail.com wrote:

 On Thu, Aug 14, 2014 at 11:48 AM, Fidel N fidelpe...@gmail.com
 wrote:
 
  I also asked for a settings GUI, because IMO, this is screening out

[snip]

 3. The most important point you raise here is about the necessity of
 learning Qt stylesheets in order to change settings.
 
 This isn't great, but what we had before was worse: a huge number of
 settings that modified various aspects of Leo's appearance, without
 either the power or generality of Qt style sheets.

  I know someone will think its not necessary to know pyqt to change
  the background colors, but I have been there, and otherwise you
  don't really know what you are touching // how to edit that.
 
 Yup.  It is, in fact, necessary to know Qt stylesheets to change
 background colors ;-)

I think we can shoot for the best of both worlds here, the template
system can provide a tree of simple Leo settings for all the simple
design elements (colors, fonts, font sizes, border widths, etc.)  If
you want a gradient fill that changes when you hover over a widget,
*then* you'd need to hack the stylesheet yourself, but for the core
stuff, a simple user editable tree (Leo outline) of settings should be
possible.

  Also, having to restart the app for every change to make effect
  makes everything much slower (for a newbie), all of this resulting
  in non programmers running away from Leo as fast as they can.
 
 There should be a faq about this.  The trick is to edit the settings
 in one copy of Leo, and test in another.   If the test file is small,
 this saves a lot of time.

This is true in general for settings - for style related stuff (colors,
fonts, font sizes, border widths, etc.) restarting is not necessary.

  Just a few combo boxes with option lists, + tick boxes for boolean
  values, would make a huge difference. If the need to restart Leo
  was removed, that would make things perfect.
 
 In general, I think this is a bad idea, but an exception might be made
 for the most important items: font, font size and maybe some colors.

Although I'm not thinking of combo boxes and tick boxes immediately
(although they might not be that hard to layer on top of @color and
@string nodes etc.) I think the simple menu taking you to the right
part of a simple settings tree for things like colors, fonts, font
sizes, border widths, etc. will help a lot.  That really is the first
non-bug fixing thing I want to spend Leo time on, I just wish I had
more of it.  I get tired of hearing myself say I'm going to do X and
not getting it done.

I would think that there are some settings which will always require a
restart, seeing plugins can use settings in just about anyway they
want, and don't monitor them for changes later.

Cheers -Terry

 No way am I going to build this back into Leo itself, but it would be
 conceivable as a plugin.  All contributions gratefully accepted ;-)
 However, this plugin would really like to update the settings
 immediately, which brings us to...
 
 Allowing settings to take effect immediately would be a major project,
 especially considering how many setting there are.  Many settings are
 cached for speed, and such caches (ivars of some classes) would have
 to be updated.  In other cases, gui widgets must be reconfigure based
 on the settings.
 
 All this is certainly doable, but it would be a major project, at
 least as big as the recent reorg, and possibly larger.  At present, I
 am focused on getting Leo 4.12 out the door, so my appetite for this
 project is meager at present.
 
  But then again, this is a dev time problem, so only thing I can do
  till I get some extra time to develop that myself, is to remain
  extremely grateful for Leo as is right now.
 
 :-) Thanks for your patience.
 
 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 http://groups.google.com/group/leo-editor.
For more options, visit https://groups.google.com/d/optout.


Re: Help! Messing with UI settings.

2014-08-14 Thread Edward K. Ream
On Wed, Aug 13, 2014 at 12:45 PM, Dufriz duf...@gmail.com wrote:
 Leo's convoluted settings system is really trying my patience.

I'm sorry you are having problems.  I can relate :-)

First, what version of Leo are you using, and what platform are you on?

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 http://groups.google.com/group/leo-editor.
For more options, visit https://groups.google.com/d/optout.


Re: Help! Messing with UI settings.

2014-08-14 Thread Dufriz
I am on Windows 8.1, running Python 3.3.5 with 
PyQt4-4.10.4-gpl-Py3.3-Qt4.8.5-x64.
I am using Leo 4.11 final, build 6240.

I have partially obtained the color combination I was looking for, simply 
by importing Terry's solarized theme which takes care of most things. 
However, this is not to say that I have solved the difficulties related to 
the UI configuration. I am still in the dark as to how settings should be 
properly managed. It's really infuriating, especially when you change a 
setting and for some reason it does not take effect.

For instance, based on Terry's dark (solarized) theme 0, which I am trying 
to modify:
I am now trying to change the background color of the minibuffer's edit 
line, to make it stand out from the surrounding background color. So, I go 
to the node mini-buffer  status (under stylesheet  source) and I edit the 
background-color parameter, setting it to another color (drastically 
different, so I can easily see if the change took place). Then I save and 
restart Leo, and the change did not take effect! (despite having been saved 
correctly).
I am wondering: is there any other setting which overrides this?!?
This is a common problem in Leo settings, from what I understand (as I 
encountered it in other settings). The user is likely to mad if he has to 
check and counter-check all these cross-referenced settings!

Anyway, these are just some the difficulties I am encountering in changing 
the settings.
I believe a radical restucturing of the way settings are handled, or at 
least presented to the end-user, is really called for here.
There is no point in Leo being totally configurable if the user cannot 
manage to change even the simplest settings like the UI colors!

-- 
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 http://groups.google.com/group/leo-editor.
For more options, visit https://groups.google.com/d/optout.


Re: Help! Messing with UI settings.

2014-08-14 Thread Dufriz
BTW, the dark theme which I am trying to modify is the *last* node of the 
myLeoSetting outline.

-- 
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 http://groups.google.com/group/leo-editor.
For more options, visit https://groups.google.com/d/optout.


Re: Help! Messing with UI settings.

2014-08-14 Thread 'Terry Brown' via leo-editor
On Thu, 14 Aug 2014 07:02:52 -0700 (PDT)
Dufriz duf...@gmail.com wrote:

 I am on Windows 8.1, running Python 3.3.5 with 
 PyQt4-4.10.4-gpl-Py3.3-Qt4.8.5-x64.
 I am using Leo 4.11 final, build 6240.
 
 I have partially obtained the color combination I was looking for,
 simply by importing Terry's solarized theme which takes care of most
 things. However, this is not to say that I have solved the
 difficulties related to the UI configuration. I am still in the dark
 as to how settings should be properly managed. It's really
 infuriating, especially when you change a setting and for some reason
 it does not take effect.
 
 For instance, based on Terry's dark (solarized) theme 0, which I am
 trying to modify:
 I am now trying to change the background color of the minibuffer's
 edit line, to make it stand out from the surrounding background
 color. So, I go to the node mini-buffer  status (under stylesheet 
 source) and I edit the background-color parameter, setting it to
 another color (drastically different, so I can easily see if the
 change took place). Then I save and restart Leo, and the change did
 not take effect! (despite having been saved correctly).

Well, if you'd read the instructions, you'd have been able to get
frustrated at a completely different step in the process :-} :-)

The README node in the theme sub trees says:
  
  *IMPORTANT:* to change the stylesheet, edit the Leo tree under the
  `stylesheet  source` node below, not the 
  `@data qt-gui-plugin-style-sheet` node itself.
  
  Then select the `stylesheet  source` node and click the `run-script`
  button. This creates a new `@data qt-gui-plugin-style-sheet` node and
  disables the old one by adding `@@data`.

You got the first part, but not the second.  Unfortunately, when you
`run-script` on `stylesheet  source`, it calls 

   g.expand_css_constants(nd.b)

and this now needs to be changed to

   g.expand_css_constants(c, nd.b)

specifically the code in `stylesheet  source` that reads

  # make the style active
  g.app.gui.frameFactory.masterFrame.setStyleSheet(
  g.expand_css_constants(nd.b))

needs to read
  
  # make the style active
  g.app.gui.frameFactory.masterFrame.setStyleSheet(
  g.expand_css_constants(c, nd.b))
  
With that change in place, clicking run-script or hitting Ctrl-B with
the `stylesheet  source` node active should immediately *compile* and
apply your new settings.

Sorry about all the frustration, and to be fair with it being broken by
the missing c, thing, maybe you had followed this procedure at one
point and understandably thought it didn't work, on account of it not
working :-/

 I am wondering: is there any other setting which overrides this?!?
 This is a common problem in Leo settings, from what I understand (as
 I encountered it in other settings). The user is likely to mad if he
 has to check and counter-check all these cross-referenced settings!
 
 Anyway, these are just some the difficulties I am encountering in
 changing the settings.
 I believe a radical restucturing of the way settings are handled, or
 at least presented to the end-user, is really called for here.

I think everyone's in complete agreement with the latter view, the way
this stuff is presented to the user needs changing and there's a
blueprint for what it should look like, it's just a matter of dev.
time.  There are so many things to develop on Leo, not necessarily
deficiencies, that it's hard to know what to pick and I suspect
whatever's top of mind and most interesting seeming gets picked, but
I'll try and get the user interface to UI config. revamp rolling as my
first priority for Leo dev. time.

Cheers -Terry

 There is no point in Leo being totally configurable if the user
 cannot manage to change even the simplest settings like the UI colors!
 

-- 
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 http://groups.google.com/group/leo-editor.
For more options, visit https://groups.google.com/d/optout.


Re: Help! Messing with UI settings.

2014-08-14 Thread 'Terry Brown' via leo-editor
On Thu, 14 Aug 2014 07:15:58 -0700 (PDT)
Dufriz duf...@gmail.com wrote:

 BTW, the dark theme which I am trying to modify is the *last* node of
 the myLeoSetting outline.

So in addition to what I just said, it's important that (a) the dark
theme subtree be a descendant of the @settings node in myLeoSettings,
not a sibling, and (b) that there be no other 
`@data qt-gui-plugin-style-sheet` node following the theme subtree,
although you've probably got that covered by making it the last child
of @settings.  I'd delete / disable (@@data) an other `@data
qt-gui-plugin-style-sheet` nodes in @settings just to be sure.

Cheers -Terry

-- 
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 http://groups.google.com/group/leo-editor.
For more options, visit https://groups.google.com/d/optout.


Re: Help! Messing with UI settings.

2014-08-14 Thread Chris George
It's not ok to require that people use `git` to get it, 
that's unreasonable.

Why?

The primary target user for Leo is a programmer, is it not? Perhaps once 
the development solidifies enough and begins targeting non-programmers 
(average user), then it might need a little dumbing down of the 
distribution method.

I may be a bit on the edge as a user, I use a rolling distribution for my 
operating system so I am familiar with the model, but Leo is currently 
fluid, and as a user that is one of its strengths to me. Installing git and 
writing a script to pull down the latest Leo and start it was simple, and I 
can't see it being any more difficult on other platforms. I guess I see the 
use of git as a feature. :-)

Chris

On Thursday, August 14, 2014 8:59:02 AM UTC-7, Terry wrote:

 On Thu, 14 Aug 2014 10:40:23 -0500 
 Edward K. Ream edre...@gmail.com javascript: wrote: 

  On Thu, Aug 14, 2014 at 9:02 AM, Dufriz duf...@gmail.com javascript: 
 wrote: 
   I am on Windows 8.1, running Python 3.3.5 with 
   PyQt4-4.10.4-gpl-Py3.3-Qt4.8.5-x64. 
   I am using Leo 4.11 final, build 6240. 
  
  Thanks for this.  This looks like ancient history, though I might be 
  mistaken. Recent builds (from git) look like: 
  
  Leo 4.11 final, build 6e21a6dc12f0 (branch: master), 2014-08-13 
  08:30:03 

 That's a good point of course, my comments about needing c,  added in 
 that call apply to the current trunk, not sure about that version. 

 Actually Houston, we have a problem. 

 Leo uses the model use the trunk, it's stable - ok 

 It's not ok to require that people use `git` to get it, that's 
 unreasonable. 

 But no problem, they can use the snapshot, 
 https://github.com/leo-editor/leo-editor/archive/master.zip 

 But... that identifies itself in the log window as 

 Leo 4.11 final, build 6240, 2013-11-06 
 Python 2.7.6, PyQt version 4.8.6 

 which is completely misleading.  It does that because it falls back on 
 version.py or similar, I assume, when the .git directory's not present. 

 So, we need a git commit hook to update version.py on every commit. 

 Or, not use git-hub for snapshots, but it seems git-hub is so close to 
 doing exactly what we need it's worth getting version reporting in 
 git-hub snapshots to work. 

 (Summary - quite possibly Dufriz is using the latest code, can't tell 
 from the log pane content) 

 Cheers -Terry 

  Could you pull down the latest git version?  Alternatively, you could 
  get a recent daily snapshot?  That way we can all be discussing recent 
  code.  If you use git you can instantly get any improvements. 
  
  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 http://groups.google.com/group/leo-editor.
For more options, visit https://groups.google.com/d/optout.


Re: Help! Messing with UI settings.

2014-08-14 Thread 'Terry Brown' via leo-editor
On Thu, 14 Aug 2014 09:26:30 -0700 (PDT)
Chris George technat...@gmail.com wrote:

 It's not ok to require that people use `git` to get it, 
 that's unreasonable.
 
 Why?
 
 The primary target user for Leo is a programmer, is it not? 

No, although I can understand why someone might think that was the
case :-)

Also, there are programmers (the docutils dev. team for example) who
are not interested in using git, and would probably regard needing to
use it to download and try a piece of software as a reason not to try
the software.

 Perhaps
 once the development solidifies enough and begins targeting
 non-programmers (average user), then it might need a little dumbing
 down of the distribution method.
 
 I may be a bit on the edge as a user, I use a rolling distribution
 for my operating system so I am familiar with the model, but Leo is
 currently fluid, and as a user that is one of its strengths to me.
 Installing git and writing a script to pull down the latest Leo and
 start it was simple, and I can't see it being any more difficult on
 other platforms. I guess I see the use of git as a feature. :-)

For a programmer.  I think expecting people to unzip a zip is not
unreasonable, although it will screen out some people, but they were
probably not going to find Leo to their liking.  Hence the problem with
the .zip reporting misleading version info.

Cheers -Terry

 Chris
 
 On Thursday, August 14, 2014 8:59:02 AM UTC-7, Terry wrote:
 
  On Thu, 14 Aug 2014 10:40:23 -0500 
  Edward K. Ream edre...@gmail.com javascript: wrote: 
 
   On Thu, Aug 14, 2014 at 9:02 AM, Dufriz duf...@gmail.com
   javascript: 
  wrote: 
I am on Windows 8.1, running Python 3.3.5 with 
PyQt4-4.10.4-gpl-Py3.3-Qt4.8.5-x64. 
I am using Leo 4.11 final, build 6240. 
   
   Thanks for this.  This looks like ancient history, though I might
   be mistaken. Recent builds (from git) look like: 
   
   Leo 4.11 final, build 6e21a6dc12f0 (branch: master), 2014-08-13 
   08:30:03 
 
  That's a good point of course, my comments about needing c, 
  added in that call apply to the current trunk, not sure about that
  version. 
 
  Actually Houston, we have a problem. 
 
  Leo uses the model use the trunk, it's stable - ok 
 
  It's not ok to require that people use `git` to get it, that's 
  unreasonable. 
 
  But no problem, they can use the snapshot, 
  https://github.com/leo-editor/leo-editor/archive/master.zip 
 
  But... that identifies itself in the log window as 
 
  Leo 4.11 final, build 6240, 2013-11-06 
  Python 2.7.6, PyQt version 4.8.6 
 
  which is completely misleading.  It does that because it falls back
  on version.py or similar, I assume, when the .git directory's not
  present. 
 
  So, we need a git commit hook to update version.py on every commit. 
 
  Or, not use git-hub for snapshots, but it seems git-hub is so close
  to doing exactly what we need it's worth getting version reporting
  in git-hub snapshots to work. 
 
  (Summary - quite possibly Dufriz is using the latest code, can't
  tell from the log pane content) 
 
  Cheers -Terry 
 
   Could you pull down the latest git version?  Alternatively, you
   could get a recent daily snapshot?  That way we can all be
   discussing recent code.  If you use git you can instantly get any
   improvements. 
   
   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 http://groups.google.com/group/leo-editor.
For more options, visit https://groups.google.com/d/optout.


Re: Help! Messing with UI settings.

2014-08-14 Thread Fidel N
Dufriz is facing the same exact problems with GUI config I had when I
joined Leo.
I knew very few of programming, nothing of python, and now I know both,
because I had the time, loved the concept of Leo, and could devote my time
to study both.

I also asked for a settings GUI, because IMO, this is screening out a lot
of people that would otherwise use Leo for non-programming related stuff.
Something as simple as Notepad++ settings/preferences menu, just a simple
tick menu, would make much more people remain in Leo.
Even if you love the concept, clones, etc, if you must learn python and
pyqt and Leo structures and Leo @node_id inheritance before you can edit
that, you simply wont.
I know someone will think its not neccesary to know pyqt to change the
background colors, but I have been there, and otherwise you dont really
know what you are touching // how to edit that.
Also, having to restart the app for every change to make effect makes
everything much slower (for a newbie), all of this resulting in non
programmers running away from Leo as fast as they can.
Just a few comboboxes with option lists, + tickboxes for boolean values,
would make a huge difference. If the need to restart Leo was removed, that
would make things perfect.

But then again, this is a dev time problem, so only thing I can do till I
get some extra time to develop that myself, is to remain extremely grateful
for Leo as is right now.



On Thu, Aug 14, 2014 at 6:35 PM, 'Terry Brown' via leo-editor 
leo-editor@googlegroups.com wrote:

 On Thu, 14 Aug 2014 09:26:30 -0700 (PDT)
 Chris George technat...@gmail.com wrote:

  It's not ok to require that people use `git` to get it,
  that's unreasonable.
 
  Why?
 
  The primary target user for Leo is a programmer, is it not?

 No, although I can understand why someone might think that was the
 case :-)

 Also, there are programmers (the docutils dev. team for example) who
 are not interested in using git, and would probably regard needing to
 use it to download and try a piece of software as a reason not to try
 the software.

  Perhaps
  once the development solidifies enough and begins targeting
  non-programmers (average user), then it might need a little dumbing
  down of the distribution method.
 
  I may be a bit on the edge as a user, I use a rolling distribution
  for my operating system so I am familiar with the model, but Leo is
  currently fluid, and as a user that is one of its strengths to me.
  Installing git and writing a script to pull down the latest Leo and
  start it was simple, and I can't see it being any more difficult on
  other platforms. I guess I see the use of git as a feature. :-)

 For a programmer.  I think expecting people to unzip a zip is not
 unreasonable, although it will screen out some people, but they were
 probably not going to find Leo to their liking.  Hence the problem with
 the .zip reporting misleading version info.

 Cheers -Terry

  Chris
 
  On Thursday, August 14, 2014 8:59:02 AM UTC-7, Terry wrote:
  
   On Thu, 14 Aug 2014 10:40:23 -0500
   Edward K. Ream edre...@gmail.com javascript: wrote:
  
On Thu, Aug 14, 2014 at 9:02 AM, Dufriz duf...@gmail.com
javascript:
   wrote:
 I am on Windows 8.1, running Python 3.3.5 with
 PyQt4-4.10.4-gpl-Py3.3-Qt4.8.5-x64.
 I am using Leo 4.11 final, build 6240.
   
Thanks for this.  This looks like ancient history, though I might
be mistaken. Recent builds (from git) look like:
   
Leo 4.11 final, build 6e21a6dc12f0 (branch: master), 2014-08-13
08:30:03
  
   That's a good point of course, my comments about needing c, 
   added in that call apply to the current trunk, not sure about that
   version.
  
   Actually Houston, we have a problem.
  
   Leo uses the model use the trunk, it's stable - ok
  
   It's not ok to require that people use `git` to get it, that's
   unreasonable.
  
   But no problem, they can use the snapshot,
   https://github.com/leo-editor/leo-editor/archive/master.zip
  
   But... that identifies itself in the log window as
  
   Leo 4.11 final, build 6240, 2013-11-06
   Python 2.7.6, PyQt version 4.8.6
  
   which is completely misleading.  It does that because it falls back
   on version.py or similar, I assume, when the .git directory's not
   present.
  
   So, we need a git commit hook to update version.py on every commit.
  
   Or, not use git-hub for snapshots, but it seems git-hub is so close
   to doing exactly what we need it's worth getting version reporting
   in git-hub snapshots to work.
  
   (Summary - quite possibly Dufriz is using the latest code, can't
   tell from the log pane content)
  
   Cheers -Terry
  
Could you pull down the latest git version?  Alternatively, you
could get a recent daily snapshot?  That way we can all be
discussing recent code.  If you use git you can instantly get any
improvements.
   
Edward
   
  
 

 --
 You received this message because you are subscribed to the Google 

Re: Help! Messing with UI settings.

2014-08-14 Thread Dufriz


Terry said:
(Summary - quite possibly Dufriz is using the latest code, can't tell 
from the log pane content) 

Precisely. The version I am running was downloaded from git itself 
yesterday or the day before. The About window (whose data I had copied into 
the post) does not report updated info about the version.

Terry said:
 Well, if you'd read the instructions, you'd have been able to get 
 frustrated at a completely different step in the process :-} :-) 
...
 Sorry about all the frustration, and to be fair with it being broken 
 by the missing c, thing, maybe you had followed this procedure 
 at one point and understandably thought it didn't work, on account 
 of it not working :-/ 

Yes, as a matter of fact I do recall trying to run a script at one point, 
and getting an error message.

Anyway, I have now followed your latest instructions, but I still get an 
error message while running the script.

Moreover, the part of the script that I corrected as per your instructions 
was commented out. Of course I removed the leading # before running the 
script. 
Here is the error message that I get:

exception executing script
AttributeError: 'NoneType' object has no attribute 'children'

  line 471: p = self
* line 472: return len(p.v.children)
  line 473: #@+node:ekr.20031218072017.915: *4* p.getX  VNode 
compatibility traversal routines
  line 474: # These methods are useful abbreviations.

By the way, the next line below what you mentioned is commented out:
# c.selectPosition(nd)
Should I uncomment it too?

By the way, I noticed yet another commented out line, above:
#X cp = c.p

Could these be responsible for the error?


-- 
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 http://groups.google.com/group/leo-editor.
For more options, visit https://groups.google.com/d/optout.


Re: Help! Messing with UI settings.

2014-08-14 Thread Dufriz
On Thursday, 14 August 2014 17:49:08 UTC+1, Fidel N wrote:

 I knew very few of programming, nothing of python, and now I know both, 
 because I had the time, loved the concept of Leo, and could devote my time 
 to study both.


I intend to take the same path as you. I just wish I have the time and the 
patience required.
 

I also asked for a settings GUI, because IMO, this is screening out a lot 
 of people that would otherwise use Leo for non-programming related stuff.
 Something as simple as Notepad++ settings/preferences menu, just a simple 
 tick menu, would make much more people remain in Leo.
 Even if you love the concept, clones, etc, if you must learn python and 
 pyqt and Leo structures and Leo @node_id inheritance before you can edit 
 that, you simply wont.
 I know someone will think its not neccesary to know pyqt to change the 
 background colors, but I have been there, and otherwise you dont really 
 know what you are touching // how to edit that.
 Also, having to restart the app for every change to make effect makes 
 everything much slower (for a newbie), all of this resulting in non 
 programmers running away from Leo as fast as they can.
 Just a few comboboxes with option lists, + tickboxes for boolean values, 
 would make a huge difference. If the need to restart Leo was removed, that 
 would make things perfect.

 But then again, this is a dev time problem, so only thing I can do till I 
 get some extra time to develop that myself, is to remain extremely grateful 
 for Leo as is right now.


I do believe that a middle ground could be struck for the management of 
settings, between the excessively dumbed down UI of all other general-use 
programs and the overly complicated (as in the current case) Qt-based-only 
interface which excludes those who are not advanced programmers. I, for 
one, have programming experience, though not with Python/PyQt, so I am not 
at all scared of editing text files for settings. 
HOWEVER, don't you think that the present method of managing settings is 
way too complicated, and unnecessarily so? I mean, the user has 
to manually modify the text-based settings (which is OK, although it is not 
at all easy) but then he also has to *run a script in order to compile the 
settings via the script*. Come on. Does anyone think that this is even 
remotely normal?!?
(No hard feelings, I hope)

The middle way I was hinting to would be having something similar to this:

color-background-body-pane:
color-foreground-body-pane:
font-size-text-body-pane:
font-type-body-pane:
color-background-log-pane:
color-foreground-log-pane:
font-size-text-log-pane:
font-type-log-pane:

and so on...

The settings management would be still text-based, but it would be:
1) all within one node
2) no scripts required
3) clearly understandable variable names

In short, it would be something humanly readable and understandable.


-- 
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 http://groups.google.com/group/leo-editor.
For more options, visit https://groups.google.com/d/optout.


Re: Help! Messing with UI settings.

2014-08-14 Thread 'Terry Brown' via leo-editor
On Thu, 14 Aug 2014 10:16:32 -0700 (PDT)
Dufriz duf...@gmail.com wrote:

 On Thursday, 14 August 2014 17:49:08 UTC+1, Fidel N wrote:
 
  I knew very few of programming, nothing of python, and now I know
  both, because I had the time, loved the concept of Leo, and could
  devote my time to study both.
 
 
 I intend to take the same path as you. I just wish I have the time
 and the patience required.
  
 
 I also asked for a settings GUI, because IMO, this is screening out a
 lot 
  of people that would otherwise use Leo for non-programming related
  stuff. Something as simple as Notepad++ settings/preferences menu,
  just a simple tick menu, would make much more people remain in Leo.
  Even if you love the concept, clones, etc, if you must learn python
  and pyqt and Leo structures and Leo @node_id inheritance before you
  can edit that, you simply wont.
  I know someone will think its not neccesary to know pyqt to change
  the background colors, but I have been there, and otherwise you
  dont really know what you are touching // how to edit that.
  Also, having to restart the app for every change to make effect
  makes everything much slower (for a newbie), all of this resulting
  in non programmers running away from Leo as fast as they can.
  Just a few comboboxes with option lists, + tickboxes for boolean
  values, would make a huge difference. If the need to restart Leo
  was removed, that would make things perfect.
 
  But then again, this is a dev time problem, so only thing I can do
  till I get some extra time to develop that myself, is to remain
  extremely grateful for Leo as is right now.
 
 
 I do believe that a middle ground could be struck for the management
 of settings, between the excessively dumbed down UI of all other
 general-use programs and the overly complicated (as in the current

Indeed the previously discussed blueprint for making UI config easier
is a middle ground along the lines you describe, and once the tricky
bits are done, it should be quite easy to set it up to cover a lot
config. options very quickly.  The tricky parts are copying sufficient
but not excessive content from LeoSettings to myLeoSettings, and
accounting for themes.  It's so easy to think tell the user to move
all but one theme node out of their @settings tree... but that's back
where we started.  Anyway, I'll try and find time.

Cheers -Terry

 case) Qt-based-only interface which excludes those who are not
 advanced programmers. I, for one, have programming experience, though
 not with Python/PyQt, so I am not at all scared of editing text files
 for settings. HOWEVER, don't you think that the present method of
 managing settings is way too complicated, and unnecessarily so? I
 mean, the user has to manually modify the text-based settings (which
 is OK, although it is not at all easy) but then he also has to *run a
 script in order to compile the settings via the script*. Come on.
 Does anyone think that this is even remotely normal?!?
 (No hard feelings, I hope)
 
 The middle way I was hinting to would be having something similar to
 this:
 
 color-background-body-pane:
 color-foreground-body-pane:
 font-size-text-body-pane:
 font-type-body-pane:
 color-background-log-pane:
 color-foreground-log-pane:
 font-size-text-log-pane:
 font-type-log-pane:
 
 and so on...
 
 The settings management would be still text-based, but it would be:
 1) all within one node
 2) no scripts required
 3) clearly understandable variable names
 
 In short, it would be something humanly readable and understandable.
 
 

-- 
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 http://groups.google.com/group/leo-editor.
For more options, visit https://groups.google.com/d/optout.


Re: Help! Messing with UI settings.

2014-08-14 Thread Edward K. Ream
On Thu, Aug 14, 2014 at 10:58 AM, 'Terry Brown' via leo-editor
leo-editor@googlegroups.com wrote:


 It's not ok to require that people use `git` to get it, that's
 unreasonable.

I agree.  It's not a requirement--it's just the easiest, quickest way :-)

 So, we need a git commit hook to update version.py on every commit.

Yes.  This will save lots of time and confusion in the long run.  I've
put it my immediate to-do list, unless you would like to take a
crack...

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 http://groups.google.com/group/leo-editor.
For more options, visit https://groups.google.com/d/optout.


Re: Help! Messing with UI settings.

2014-08-14 Thread 'Terry Brown' via leo-editor
On Thu, 14 Aug 2014 14:51:53 -0500
Edward K. Ream edream...@gmail.com wrote:

 On Thu, Aug 14, 2014 at 10:58 AM, 'Terry Brown' via leo-editor
 leo-editor@googlegroups.com wrote:
 
 
  It's not ok to require that people use `git` to get it, that's
  unreasonable.
 
 I agree.  It's not a requirement--it's just the easiest, quickest
 way :-)
 
  So, we need a git commit hook to update version.py on every commit.
 
 Yes.  This will save lots of time and confusion in the long run.  I've
 put it my immediate to-do list, unless you would like to take a
 crack...

I have a draft hook written, will share soon.

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 http://groups.google.com/group/leo-editor.
For more options, visit https://groups.google.com/d/optout.


Re: Help! Messing with UI settings.

2014-08-14 Thread Edward K. Ream
On Thu, Aug 14, 2014 at 3:00 PM, 'Terry Brown' via leo-editor
leo-editor@googlegroups.com wrote:


  So, we need a git commit hook to update version.py on every commit.

 I have a draft hook written, will share soon.

Excellent.  Thanks you.

I'm investigating what happens without any settings file, except for
the file being loaded.

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 http://groups.google.com/group/leo-editor.
For more options, visit https://groups.google.com/d/optout.


Re: Help! Messing with UI settings.

2014-08-14 Thread 'Terry Brown' via leo-editor
On Thu, 14 Aug 2014 15:14:46 -0500
Edward K. Ream edream...@gmail.com wrote:

 On Thu, Aug 14, 2014 at 3:00 PM, 'Terry Brown' via leo-editor
 leo-editor@googlegroups.com wrote:
 
 
   So, we need a git commit hook to update version.py on every
   commit.
 
  I have a draft hook written, will share soon.

Ok, so this is way more complicated than it seems :-)

1) We can't put the sha1 of the commit into the version file, because
that would change the version file, which would change the sha1...

So I propose identifying builds with text of the form: 20140814161038

2) I've written two hooks, a pre-commit hook that checks if there's
anything to commit, and if there is, updates
leo/core/commit_timestamp.json, which looks like this:

{
asctime: Thu Aug 14 16:10:38 2014, 
parent: a69585e26f8162e652bee9eb6d982e55ec615e0e, 
timestamp: 20140814161038
}

hmmm, it occurs to me it should be possible to include the commit
message in here, oddly enough.

and a commit-msg hook that grabs the Leo Build ID (timestamp) from here,
and adds it to the commit message.

So when a user complains about build 20140814161038, a quick

git log --grep=20140814161038

will report the commit.  I usually browse the repo with gitk, which can
also search for these build IDs easily.

3) Finally, I said this was complicated, hooks execute arbitrary code
on your computer, so git won't install them automatically, hence:
leo/extensions/hooks/install_hooks.py which a developer must run to
install the hooks.

Oh, and the hooks are written in Python and start with
#!/usr/bin/python and install_hooks.py does 
os.chmod(data[hook+PATH], 0o744) but I don't know if that's
sufficient on Windows.

Cheers -Terry
  
 Excellent.  Thanks you.
 
 I'm investigating what happens without any settings file, except for
 the file being loaded.
 
 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 http://groups.google.com/group/leo-editor.
For more options, visit https://groups.google.com/d/optout.