Re: OT: What's a raspberry pi good for?
On 1/21/2017 5:57 AM, Edward K. Ream wrote: On Fri, Jan 20, 2017 at 9:02 AM, Edward K. Ream> wrote: I was given a raspberry pi 3 for Christmas. It's still unopened. Anyone know a real use for it? Thanks for the replies. My concern is that the internet of things has security holes. For example, it's possible to use computer-controlled light bulbs to hack into the system that is controlling them. EKR -- Well, Raspberry Pis run Linux (the official distro is a Debian flavor) that you install on the SD card and have full control of, so it's as secure as any other Linux machine in your home network :) Just shut down any services you're not using and make sure your router's firewall is set up properly and you're golden. -->Jake -- 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.
Re: MD or RST?
On 3/25/2016 8:25 PM, Edward K. Ream wrote: On Fri, Mar 25, 2016 at 4:14 PM, 'Terry Brown' via leo-editor> wrote: Furthermore, why not have the "id" be WhateverProvider.__class__.__name__? This works provided that each Provider class actually has a distinct name. What do you think? Would it be somehow inconvenient to dispense with the Provider classes? The details are murky now, but I remember a while back fixing a few bugs when viewrendered2 came about -- IIRC, the various help/docstring/plugin docs commands pretty much expect there to be a single vr pane. I have no idea if that's still the case. Just a heads up. -->Jake -- 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.
Re: Leo's future
Good question... and one I'm entirely unqualified to answer! ...Edward? --Jake On 8/18/2015 9:35 PM, David McNab wrote: How does @clean handle it when a teammate does a major restructure of a module? For example, refactors a Python class into a base, a derived plus a mixin, and moves 4 global functions into the base class as methods, and moves 3 methods of the class out into functions? (Just asking) On 19 August 2015 at 09:13, Edward K. Ream edream...@gmail.com mailto:edream...@gmail.com wrote: On Tue, Aug 18, 2015 at 2:59 PM, David McNab davidmcna...@gmail.com mailto:davidmcna...@gmail.com wrote: Hi Ed, thanks for your detailed response. You're welcome. I got a bit of a rude shock a year ago when I took my present development role. At first, I imported one of my job's codebases into a Leo tree, with aim of continuing with Leo as my editor of choice. But I saw that this would be unworkable, since my teammates would crucify me for polluting the files with Leo sentinels, whilst any changes made by others would be difficult to reflect in the Leo view without removing then reimporting the file. Have you tried using @clean? With Python code, it's not such an issue, since Leo is generally quite good at carving up Python sources into a simple module/class/method hierarchy. The difficulty comes with file types that are hard to carve up automatically AND meaningfully, such as javascript, html templates, css and so on. @clean doesn't use importers. You (or @auto) carve up the file as you like initially, and from then on @clean pretty much just works. Yes, a better importer for javascript (if that is possible) would be great. There already is an html importer, with an @data node describing which html elements you want to create new nodes. A css importer seems less useful, because css lacks structure, but I could be mistaken. In other words, get the code into Leo with @auto, and then change @auto to @clean. Or just use the recursive import script in scripts.leo. For write-only applications (ie, single-developer projects), Leo is on numerous fronts the tool of choice. But in scenarios where Leo needs to accommodate changes made by non-Leo users, people who won't accept Leo sentinels, and who reject literate programming, there's a struggle. This is a non-trivial issue, that does not reflect on Leo, but rather reflects on team development culture. This used to be true, before @clean, but now, with @clean, I think you should be able to use Leo in a completely invisible way as far as your teammates are concerned. The only problem is for /you/: if you reload a file changed outside of Leo (by a teammate) you may want to move changed lines from the end of one node (the default) to the start of the next node. See this discussion http://leoeditor.com/appendices.html#the-mulder-ream-update-algorithm, and especially the section called Guesses don't matter. I would love nothing more than to be able to edit the company's 80,000+ lines of source in Leo, while still being able to work in with my teammates, and would welcome any suggestions. @clean is the reason I think that Leo is now, at long last, essentially complete. 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 mailto:leo-editor+unsubscr...@googlegroups.com. To post to this group, send email to leo-editor@googlegroups.com mailto: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. -- 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 mailto:leo-editor+unsubscr...@googlegroups.com. To post to this group, send email to leo-editor@googlegroups.com mailto: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. -- 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: Simple interactive scripts
Or, much simpler, leverage the power of the GUI: s = g.app.gui.runAskOkCancelStringDialog(c,'Input','Please input a value:') if s is not None: g.es('user supplied', s) else: g.es('user cancelled dialog') Simple! :) There's also a runAskOkCancelNumberDialog, if you need a float. Others exist as well, here: leoPy.leo#Code--Qt gui--@file ../plugins/qt_gui.py--class LeoQtGui(leoGui.LeoGui)--LeoQtGui.Dialogs panels Hope this helps, --Jake On 7/16/2015 2:28 PM, Edward K. Ream wrote: On Thursday, July 16, 2015 at 2:44:32 AM UTC-5, Israel Hands wrote: Hi, I'm writing a very simple script and need to get interactive input from the user. I have read the information in the docs and it seems a complicated, can anyone point me to the simplest working example of a script that uses interactivity? Good question. There should at least be a section in the scripting miscellany chapter http://leoeditor.com/scripting-miscellany.html, but at present there isn't. Here is a relatively simple example. I sniffed around Leo's sources for a template. I picked @cmd('shell-command') pretty much at random, and then pared it down to this:: | definteractive_example(event=None): '''Prompts for a number.''' k =c.k state_name ='enter-a-number' state =k.getState(state_name) ifstate ==0: k.setLabelBlue('Enter a number: ') k.getArg(event,state_name,1,interactive_example) else: n =k.arg k.clearState() k.showStateAndMode() c.frame.putStatusLine(n,bg='blue',fg='white') c.bodyWantsFocus() interactive_example() | You can see this in action by executing the code above with Ctrl-B. The challenge in any interaction is to coordinate keystrokes. /All/ keystrokes always go through k.masterKeyHandler. So interactive code must do the correct incantations to make this work. Let's look at this example line by line. 1. There must be a function (typically a method) to handle the interactions. Usually the method implements a Leo command, which is why the event arg is supplied, but in this case the code actually doesn't ever use the event arg. 2. The first step in the code is to give your interaction a *unique name*, in this case, the string |'enter-a-number'. 3. Next, the code does:| || | state =k.getState(state_name) | | Initially, state will be zero, because we aren't in the state. So the code does: | | | k.setLabelBlue('Enter a number: ') k.getArg(event,state_name,1,interactive_example) | ||The first line puts a prompt into the minibuffer, the second calls the k.getArg to accumulate the desired value. k.getArg is a thin wrapper around the k.GetArg /class/, which has a gazillion options. k.getArg will coordinate with k.masterKeyHandler to get the argument interactively, that is, character by character. k.getArg sets the state and state number using the second and third arguments. k.getArg supports Ctrl-G and Backspace by default, and can also handle tab completion as well as other esoterica. When the user hits Return k.getArg will call the handler, the last arg in the call to k.getArg, with state == 1. The handler is interactive_example, s||o control reenters interactive_example, but this time with state == 1. So now the following is executed: | || | n =k.arg k.clearState() k.showStateAndMode() c.frame.putStatusLine(n,bg='blue',fg='white') c.bodyWantsFocus() | | k.getArg sets the k.arg value to the accumulated result. g.getArg does no checking of the value of k.arg: that would be up to the handler. The handler could call k.getArg again, with another state number if more interaction were desired. When the interaction is finished, the handler must call k.clearState() . Leo's interaction mechanism is arguably too complex, but I think we're stuck with it. Please feel free to ask more questions. 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 mailto:leo-editor+unsubscr...@googlegroups.com. To post to this group, send email to leo-editor@googlegroups.com mailto: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. -- 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: c global var getting locked to a window?
It's a bit hacky, but you can replace 'c' with 'g.app.log.c' to get the current active commander. I think. YMMV. --Jake On 7/9/2015 3:22 PM, john lunzer wrote: I'm working on a plugin that right now I have implemented as a @command. I'm creating a floating window that I would like to persist across outlines. After creation I'm storing that window in g.app.permanentScriptDict. Every time I run the command I look in g.app.permanentScriptDict for the window's key and then re-engage the window. The problem I am facing is that after creation when I reference the c global variable anywhere in the command/script it always things it's the c from the outline the window was first init-ed in. I'm not saving c anywhere. I'm confused because I thought c was supposed to refer to the current commander. I'm sure there is some detail of Leo that is simply escaping my understanding but I'm thoroughly confused. Any light shed on this would be awesome and much appreciated. -- 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 mailto:leo-editor+unsubscr...@googlegroups.com. To post to this group, send email to leo-editor@googlegroups.com mailto: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. -- 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.
Off topic: Programmer Collective Nouns
https://gist.github.com/mariusGundersen/6925246 So, if it's an Indentation of Pythonistas... are we a Vnode of Leonistas here? :P A Clone? A Subtree (with Edward as our root)? :P --Jake -- 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: Howto define a global rst3 stylesheet_name?
Yup! On Mar 17, 2015, at 12:11 PM, frakel12 kelnrei...@gmail.com wrote: Please file a bug report. Either the rst3 command should handle the external options or the options should be removed. Probably the former. Is this the right place for bug-reports: https://github.com/leo-editor/leo-editor/issues ?? Edward Franz -- 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. -- 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: @persistence (related to @auto-rst)
On 2/16/2015 3:15 PM, Edward K. Ream wrote: The default for this new setting will always be False, so the @persistence nodes will never be created without the user's knowledge. However, power users might prefer that @persistence nodes *are* created when needed, and setting the new setting to True will make that so. This is more in the spirit of GTD (getting the issue out of my mind) than anything else. I would guess that very few people use @persistence nodes now, and probably few will be tempted to use such nodes when the start using the new @nosent. +1. @persistence nodes actually made me actively avoid using @auto, because I really don't like polluting my outline like that... I'm strange though. --Jake -- 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: @auto-rst vs. @nosent
On 2/14/2015 1:13 PM, Edward K. Ream wrote: On Sat, Feb 14, 2015 at 9:55 AM, Largo84 larg...@gmail.com mailto:larg...@gmail.com wrote: ...when I change my @auto-rst files to @nosent files, the resulting files do not contain the RST section headers that were automatically added by @auto-rst. Oops. Good thing 5.1 will continue support for @auto-rst! My goal was to create RST style plain text files that could be easily navigated by non-Leo editors (Android for example via Dropbox sync), then reloaded in Leo. How is this supposed to work if I use @nosent instead? It looks like you've proven that @auto-rst is still useful. Thanks for these comments. Furthermore, I'm not sure @auto-rst is properly documented. I've put it on the list to check... Edward -- @auto-md is useful for the same reasons. And afaik, is completely undocumented. --Jake -- 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: New @nosent operation described in Leo's tutorial
Another +1 from me :) --Jake On Feb 12, 2015, at 4:47 PM, Kent Tenney kten...@gmail.com wrote: Perhaps the proper @auto importer could be used if that would mean a new @nosent file got brought in with the simple elegance of @auto: +1 I'm not fond of menu-import file-browse-click ... file appearing parented by an 'imported files' node Thanks, Kent On Thu, Feb 12, 2015 at 10:40 AM, Edward K. Ream edream...@gmail.com wrote: On Thu, Feb 12, 2015 at 10:24 AM, Kent Tenney kten...@gmail.com wrote: When I create a node like @nosent myfile.py and rclick-Refresh from disk I get the entire file in the body ala @edit, not parsed into a node tree like @auto Use import-file to create the original outline. After that, refresh from disk will work as expected. I'll update the docs to make this clear. Perhaps the proper @auto importer could be used automatically if the @nosent tree is completely empty. I'll think about it, but it won't happen today. 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. -- 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. -- 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: File management potential in Leo
On 1/30/2015 2:18 PM, Don Dwiggins wrote: Just to add a bit of weight to this: In the ancient PIM I use, and which I'm hoping to replace with Leo, you can have multiple notepads, each a view on some part of an underlying structure. This allows me to have separate notepads for various aspects of my life and work, with the ability to cross-reference (clone) nodes to show up in multiple notepads where appropriate. (Think aspect-oriented IM.) I may be mistaken, but have you tried the 'stickynotes' plugin? It offers interesting abilities like this. Try the 'tabula' command :) (By the way, there's also a kind of tagging structure, supporting hierarchical tags. Less important for my usage, but occasionally helpful.) Also covered in a plugin: node-tags.py. Just recently added support for hierarchical tagging via search wild-cards. It works easily and I find it very useful. I'm biased though, I wrote that plugin :p Don --Jake -- 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: What is the recommended way to install on Linux?
On 11/17/2014 6:33 PM, Chris George wrote: Heh. The deb file includes the hidden directories. .git contains 121.5MB of stuff. Correcting now. .git is a hidden killer. Tell your friends! On Monday, November 17, 2014 3:24:39 PM UTC-8, Chris George wrote: Good question. All I did was copy my leo-editor folder (which I recently installed via git) to /opt/leo-editor and run the script. The leo-editor folder checks in at 150.9MB. I will try again with a fresh git install. Chris On Monday, November 17, 2014 3:02:18 PM UTC-8, Matt Wilkie wrote: On Mon, Nov 17, 2014 at 1:55 PM, Chris George techn...@gmail.com wrote: I jumped the gun. Apparently it takes while to upload 128.1MB. Why so big? the source Leo distrib for pypi.org http://pypi.org is ~6mb. -matt -- 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 mailto:leo-editor+unsubscr...@googlegroups.com. To post to this group, send email to leo-editor@googlegroups.com mailto: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. -- 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: Traceback - bigdash.py
Help-for-command provides the docstrings of alt-x commands, not the plugins. So, /Alt-x global-search enter/ would give you the docstring of global-search (if it had one defined). Unfortunately, the docstrings are the only documentation for many (all?) plugins, so the plugin authors really should touch that up. --Jake On 9/19/2014 10:25 PM, lewis wrote: Thanks for the quick fix. I know you aren't the author of bigdash plugin (Ville I think) but I've just been reminded of some usability aspects of some plugins in Leo. With leo running the only documentation in Leo is via Pluginsbigdash.py which displays: Leo.plugins.bigdash Global search window To use full text search, you need to install Whoosh library ('easy_install Whoosh'). The fts_max_hits setting controls the maximum hits returned. This gives no information at all about how to use the plugin. It should say enter Alt-x keys then type /global-search/ into the Minibuffer _or_ Type global-search directly into the Minibuffer Also there is no listing of bigdash at http://leoeditor.com/plugins.html Checked http://leoeditor.com/writingPlugins.html#documenting-plugins for a template guide. I tried the _Help for Command (F11)_ in the Minibuffer but it returns /bigdash.py no docstring available/ Even for the well documented plugin mod_http.py F11 only returns: /mod_http.py / /no docstring available / So I'm not sure if the docstring does not exist or the _Help for Command_ is not working? Regards Lewis -- 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 mailto:leo-editor+unsubscr...@googlegroups.com. To post to this group, send email to leo-editor@googlegroups.com mailto: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. -- 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: Git hooks for version reporting
On 8/16/2014 6:42 AM, Edward K. Ream wrote: On Fri, Aug 15, 2014 at 7:48 AM, Jacob Peck gatesph...@gmail.com wrote: Done as of the current commit. Leo now reports the following on startup: Leo 4.11 final, build 20140815084439, Fri Aug 15 08:44:39 2014 Git repo info: branch = master, commit = 2cda89f4411b Python 2.7.6, PyQt version 4.8.5 Windows 7 x86 (build 6.1.7601) SP1 Thanks Jake. I installed the git hooks, but got this error: error: cannot spawn .git/hooks/pre-commit Googling this message produced some answers, but I'm not sure how they apply to me ;-( Any advice for me? Edward What's your environment? Windows? Are you using cygwin, msys, or the git for windows shell? Or are you using the github app? In cygwin they work without a hitch. For other environments, I suggest that you make sure C:\path\to\python.exe is in your path, and you may have to mangle the shebang lines of .git/hooks/pre-commit and .git/hooks/commit-msg. Perhaps even moving them to pre-commit.py and commit-msg.py, and then writing a small script #!/bin/sh /c/path/to/python.exe pre-commit.py etc. .bat files might work too, not sure. Hope this helps... --Jake -- 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: Internal (Wiki-like) link support in Leo?
I use a combination of the backlink and graphcanvas plugins for this. The new nodetags plugin might help too. Terry and others swear by the bookmarks plugin. None of those options allows clickable links within the body of a node, however. I imagine ctrl-clicking on a UNL would work, though. YMMV. --Jake On 8/14/2014 6:31 PM, Christoph wrote: I consider to migrate from Orgmode to Leo so I would be curious what options do I have for internal links (i.e. Wiki-like links linking within a Leo doc or within Leo docs, apart from creating clones). Two ways I guess: - using restructuredText - writing a plugin defining them Anything I have overlooked? Thanks in advance Christoph -- 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: vim bindings reports
I just noticed this: In real vim, when you're in colon-mode, escape cancels out of the minibuffer. Leo's vim mode does the same thing, except on the commands which use the file completion. Escape there literally appends the string 'Escape' to the entry in the file completion process. --Jake On 8/14/2014 11:55 AM, Kent Tenney wrote: OK, I'll hold my horses, waiting for updates on this thread. On Thu, Aug 14, 2014 at 10:50 AM, Edward K. Ream edream...@gmail.com wrote: On Thu, Aug 14, 2014 at 9:02 AM, Kent Tenney kten...@gmail.com wrote: Starting a new thread in vim :rreturn pastes a copy of the current file at the cursor I didn't know that. It will be easy to do once the solution referred to in this morning's post is in place. See the P.P.S in that post. Maybe some confusion: requiring the return is a big problem, requires learning the 3rd set of bindings. Kent, I do understand. Really. In the real vim, nothing happens if you type :r. You must either type :rreturn or :r filenamereturn The solution I am working on is to allow exactly this operation. At present, you must indeed type:: :rreturnreturn or:: :rreturnfilenamereturn but that initial extra return is to go away asap. status report: - 'V' should provide line mode visual, it inserts a 'V' at cursor - 'v' starts visual character mode, 'y' should end visual mode and yank, 'y' is ignored until another 'v' - aliasing return to 'i' is confusing, in vim it advances cursor to next line - 'x' is backspace in Leo, delete in vim - '/' and '?' look good, with 'n' going to next find Thanks. I'll look into these. wish list: - :s /text/replace with this/scope flag All substitutions require the solution we are talking about. It will happen asap. Once that is in place, a vim-mode parser can deal with the entire command line at once. This is inherently a simpler problem than dealing with characters one at a time, but it will require new code. In short, I am aware of the parsing problems and I appreciate the status/bug report. I expect to have everything finished in about a week. 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. -- 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: A quick-and-dirty tag API can now be had with the nodetags.py plugin
On 8/4/2014 4:15 PM, dufriz wrote: I can't believe it. What's next? Now the UI displays the tags for the currently selected node, and those tags act as selectors for displaying all nodes with that tag. The only things left are: - UI for adding tags to nodes - UI for removing tags from nodes Huh, productive day :) --Jake -- 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: Good luck with the hips
Agreed. I wish you a speedy recovery :) --Jake On 6/14/2014 4:42 PM, duf...@gmail.com wrote: Good luck, Edward. All the best. -- 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 mailto:leo-editor+unsubscr...@googlegroups.com. To post to this group, send email to leo-editor@googlegroups.com mailto: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. -- 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: Support for Qt5 has begun
Just updated Leo from github, and Win7/Python 2.7/PyQt4 gives me this error: exception importing plugin leo.plugins.viewrendered2 Traceback (most recent call last): File C:\cygwin\home\Jake\programming\leo\leo-editor\leo\core\leoPlugins.py, line 548, in loadOnePlugin __import__(moduleName) File C:\cygwin\home\Jake\programming\leo\leo-editor\leo\plugins\viewrendered2.py, line 663, in module class WebViewPlus(QtWidgets.QWidget): NameError: name 'QtWidgets' is not defined Looks like vr2 is still in a half-and-half state. There's a block of imports that might be tricky to fix: # PyQt... from PyQt4 import QtCore, QtGui, QtSvg, QtWebKit from PyQt4.QtCore import QUrl try: import PyQt4.phonon as phonon phonon = phonon.Phonon except ImportError: phonon = None --Jake -- 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: log window version numbers
Hi Terry, In Win7/Py 2.7/PyQt4 I get: Leo 4.11 final, build 5d56a98ee77c (branch: master), 2014-06-12 20:12:12 Python 2.7.3, qt version 4.8.4 Windows 7 AMD64 (build 6.1.7601) SP1 Was your Win7 copy not checked-out from git? There's some fall-back code in leoVersion.py that goes back to reading the hard-coded static versions, presumably put there by Edward on each official release: static_version = 6240 static_date = 2013-11-06 version = 4.11 final If for some reason leoVersion.py can't read your .git/HEAD file, it will use the hard-coded values, which might be misleading. I'm not terribly sure how to really fix this, aside from a note in the log stating something like build indeterminte -- please pull from github or the like. If you have a .git/HEAD file readable though... there's something else going on caused by the new PyQt5 changes. I'll have to poke at that if it's the case :) --Jake On 6/12/2014 7:23 PM, 'Terry Brown' via leo-editor wrote: Hey Jacob, I think you've worked on this most recently? Latest Leo, in Ubuntu / Py 2.7.4 Qt 4 it says Leo Log Window Leo 4.11 final, build dc9568360f7d (branch: master), 2014-06-12 18:00:40 Python 2.7.6, qt version 4.8.6 linux2 But in Win7 / Py 3.4 Qt 5 it says Leo 4.11 final, build 6240, 2013-11-06 Python 3.4.1, qt version 5.3.0 Windows 7 AMD65 ... 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: Using leoBridge from within Leo, or using several outlines from a main one
On 5/5/2014 6:56 AM, Fidel N wrote: Hi: Im trying to use another outline from within the current outline. Basically,the objective is to have another outline nodes and tree loaded as virtual nodes so I can work with them from within the currently open outline. The thing is that several outlines use and edit those nodes, so ideally I should call the database outline from within many different Leo outlines. The starting idea is to use leoBridge in this fashion, but it doesnt work as expected: import leo.core.leoBridge as leoBridge bridge = leoBridge.controller(gui='nullGui', loadPlugins=False, # True: attempt to load plugins. readSettings=False, # True: read standard settings files. silent=False, # True: don't print signon messages. verbose=False) # True: print informational messages. ggg = bridge.globals() print dir(bridge) ccc = bridge.openLeoFile(D:/test.leo) g.es(ccc.rootPosition()) I have also played with: g.app.newCommander() But still no success. Did anyone find a way to do this? Thank you! -- If you don't mind having the 'database' outlines open in separate tabs, you can access their commanders from within the current outline: for com in g.app.commanders(): if 'test.leo' in com.fileName(): dc = com break ## dc is now the commander of your database, use it just like c There's probably a way to get Leo to open the file with a script too -- but I don't know it off the top of my head. Hope this helps, --Jake -- 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: Working on the VR2 plugin
On 3/19/2014 7:22 PM, lewis wrote: I have noticed that recent leo builds* don't render rst with the standard viewrendered.py Rendering of rst only works using viewrendered2.py Can anyone confirm this behaviour? * recent builds are 7b4c6bf82119, 0a9373836f71, and 042b3a51ba03 Regards Lewis Confirmed here. It appears to be this commit: https://github.com/leo-editor/leo-editor/commit/87281998a193733e84b0cb070c7c5c4692f9caa6 --Jake -- 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: Store and find exact UNL, even if there are repeated node names
On 3/6/2014 9:21 AM, Terry Brown wrote: On Thu, 6 Mar 2014 02:16:33 -0800 (PST) Fidel N fidelpe...@gmail.com wrote: Is there a reason why UNL's don't keep the number of nodes with the same node inside its string? Same way as xPath does? Node name [number]- Node name[Number]-- Only that multiple same name nodes hasn't come up enough for it to get implemented, but it's a good idea. I'm thinking it's not worth trying to find a syntax which avoids breaking with nodes called foo[7], they can't be that common and we don't avoid breaking on nodes called foo--bar, so might as well keep it simple. So I would propose the syntax is simply [N] appended immediately after the node number so import re pos_pattern = re.compile(r'\[(\d+)]$') and then while processing each level of the UNL unl_part = 'test[22]' pos = pos_pattern.search(unl_part) or 0 if pos: pos = int(pos.group(1)) unl_part = pos_pattern.sub('', unl_part) and search the current node for the pos'th child called unl_part Cheers -Terry Perhaps an even more uncommon character could be chosen? Such as ‡N‡ ? Just a thought. --Jake -- 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/groups/opt_out.
Re: Working on the VR2 plugin
On 2/27/2014 11:31 AM, Edward K. Ream wrote: This thread will be for coordination among all those who are modifying the viewrendered2.py plugin. I've completed a thorough reorg of the code. This was a useful exercise for me. Still on my to-do list: 1. Complete the new code_directive method. This method is intended to handle the quite hairy details of generating code blocks. code_directive should just output '\n\n::\n\n' if pygments can not be found, and there are other complications involving @language. See the unused initCodeBlockString method (from leoRst.py) for details. 2. The reorg of the ctor clarified that the unused args code in the new to_html method is truly unnecessary. I'll be removing the unused code. self.docutils_settings is set in the ctor's helper, init_config, using almost a dozen presently undocumented config settings ;-). I'll add those settings to the docstring next. I expect to complete these in the next hour or so. At that point, the ball will be in Peter Mills's court. Edward -- I need to investigate how to integrate this new tree-rendering code with the markdown support. I intend to get started on that sometime soon... --Jake -- 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/groups/opt_out.
Re: Gtk-CRITICAL error messages to Leo-Editor's standard error
This seems to be a quirk of how python deletes objects after it's done with them. Here's what I found on StackOverflow: http://stackoverflow.com/questions/12433491/is-this-pyqt-4-python-bug-or-wrongly-behaving-code No clue how we could fix it, though... --Jake On 2/23/2014 4:24 PM, SegundoBob wrote: For years on three or four different Linux releases by three or four distributors, I've been seeing several instances per day of the following error messages to Leo-Editor's standard error file. There is no other indication that anything is wrong. Leo-Editor seems to run just fine when these errors occur. Are the Leo-Editor developers aware of these errors? Is the consensus that these errors are someone else's problem? GTK? Python? Initial Errors in one instance of Leo-Editor: (python:2035): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (python:2035): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed Errors a few minutes later iin another instance of Leo-Editor: (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (process:3278): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (process:3535): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (process:3765): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (process:3914): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (process:4077): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (process:4152): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (process:4170): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed -- 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/groups/opt_out.
Re: Gtk-CRITICAL error messages to Leo-Editor's standard error
More info: http://stackoverflow.com/questions/18416201/core-dump-with-pyqt4 The second answer seems to say that QObjects created without a parent are owned by Qt instead of Python, and when they are destroyed they call the destructor twice. --Jake On 2/23/2014 4:59 PM, gatesphere wrote: This seems to be a quirk of how python deletes objects after it's done with them. Here's what I found on StackOverflow: http://stackoverflow.com/questions/12433491/is-this-pyqt-4-python-bug-or-wrongly-behaving-code No clue how we could fix it, though... --Jake On 2/23/2014 4:24 PM, SegundoBob wrote: For years on three or four different Linux releases by three or four distributors, I've been seeing several instances per day of the following error messages to Leo-Editor's standard error file. There is no other indication that anything is wrong. Leo-Editor seems to run just fine when these errors occur. Are the Leo-Editor developers aware of these errors? Is the consensus that these errors are someone else's problem? GTK? Python? Initial Errors in one instance of Leo-Editor: (python:2035): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (python:2035): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed Errors a few minutes later iin another instance of Leo-Editor: (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (process:3278): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (process:3535): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (process:3765): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (process:3914): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (process:4077): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (process:4152): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (python:2537): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (process:4170): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed -- 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
Re: Leo program fails to show content of a certain Leo outline ...
On 2/20/2014 3:49 PM, Viktor Ransmayr wrote: Hello Edward Community, @ Fidel, Terry Ville: Thank you for your feedback on how I can improve my workflow. - I will adapt ... However, since I did not have any 'bad' experience with (the bzr snapshot version of) Leo so far, I have done *only* weekly backups on my outlines :-( @Edward: To be fair, I can't prove that it was a Leo program issue at all - but - If I recall correctly - Leo still also stands for 'Leo *Editor* Outliner'. Therfore I'm wondering, if an automatic outline backup feature could be provided in the future. - WDYT? With kind regards, Viktor A plugin could theoretically hook into the load/save logic and create a copy of your myLeoFile.leo, say myLeoFile.leo.bak, on open. That way you'd have a working copy prior to your last edits. It would be very important that such a plugin would only create the copy if the .leo loads 100% correctly, though. --Jake -- 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/groups/opt_out.
Re: What happened to @@data abbreviations-examples?
On 2/18/2014 7:25 PM, Edward K. Ream wrote: Should this be in leoSettings.leo? Is it hiding somewhere? Edward -- During the Great leoSettings.leo Purge of November 2013, you moved them to leo/config/exampleSettings.leo: https://github.com/leo-editor/leo-editor/commit/dc43fa34ac95e93e1f9f2b502320c290d0cd3f44 :) --Jake -- 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/groups/opt_out.
Re: Comments problems following the git migration script
On 2/9/2014 10:34 AM, Edward K. Ream wrote: I'm doing a trial run through Jake's git migration script at: https://gist.github.com/gatesphere/3705ae43f0327a510e7e 1. You have to install the bzr-fastimport plugin. NP.| 2. Attempting: | | # still in the 'leo-editor' (git) directory $ bzr fast-export --plain ../leo/leo-editor ../leo.fi | | fails with the message: bzr: ERROR: Not a branch: path to parent of leo-editor/leo/leo-editor It looks to me that the bzr fast-export command should point to the bzr branch, not the git branch. | |This is correct. Sorry, I was typing that up in a daze. --Jake | | 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/groups/opt_out.
Re: I'm back
On 2/8/2014 8:14 AM, Edward K. Ream wrote: On Sat, Feb 8, 2014 at 6:09 AM, Zoom.Quiet zoom.qu...@gmail.com mailto:zoom.qu...@gmail.com wrote: WoW! - but why git? Hg is enough, and pure Python ! Git seems to be the sexy way these days. I'm open to discussion. Edward More importantly, we have a tested transition path from bzr to git: https://gist.github.com/gatesphere/3705ae43f0327a510e7e --Jake -- 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/groups/opt_out.
Re: Blog post: Leo scripting tutorial
On 1/29/2014 9:57 PM, Matt Wilkie wrote: On Wed, Jan 29, 2014 at 5:40 AM, Edward K. Ream edream...@gmail.com mailto:edream...@gmail.com wrote: Anyway, this is a great addition to Leo's tutorial material. Many thanks for creating it. +1 here too :) Thanks! I think I tend to ramble when I write, so it's nice to hear that others disagree :p Think about linking to a full version of a .leo document which contains the tutorial script and buttons. While reading I found myself at times wondering where the current bit would be and what it would look like. That wondering got in the way of understanding the current bit and I'd have to back up and go over it again. (hmmm if I was actually /doing /the tutorial and not just reading I might not have been confused...) I should make it more prominent, but at the *veeeyyy* end there is a link to the .leo that has the data and script in it. I'll think about moving it up to the the top and inserting a few mentions of it in the text. Thanks for the suggestion! --Jake g.es http://g.es -- echo string Ooh, so /that's/ what it means! Thanks. :) -matt -- 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/groups/opt_out. -- 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/groups/opt_out.
Re: Traveling Monday
On 1/19/2014 5:19 PM, Edward K. Ream wrote: I'll be traveling tomorrow. Rebecca's mother is ill, and I'll be spending an unknown amount to time in Naples. I'll have my laptop with me, so I should be able to work on Leo from time to time. Edward I wish you and yours all the best. --Jake -- 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/groups/opt_out.
Re: Getting started with git workflow
On 1/8/2014 9:35 PM, Terry Brown wrote: On Wed, 08 Jan 2014 18:59:45 -0500 gatesphere gatesph...@gmail.com wrote: On 1/8/2014 6:01 PM, Terry Brown wrote: branches (which I know are just tags) They are more than tags, less than forks. They are *not* tags. And a deleted branch once merged into master has no real use -- the whole branch's history is contained in the merge commit. Just seems to me that the branch name is a useful label for that piece of history, minimizing the time you have to spend thinking about what was being merged. So partly a convention of a succinct identification of what was being merge on the first line of the merge commit message, which is what most history visualizers are probably going to display, would cover what I'm talking about. But that seems more fragile than just leaving the branch non-tag ;-) in place. What I should do, duh, is see what merges look like in the repo on github... hmm. Ok, there isn't really a difference between them, the `bzr qloq` view was seeming easier to follow for some reason. Ha, but not easier than the `qgit` viewer, so it's just a case of history viewer preferences :) Ok, getting to esoteric now :-) Cheers -Terry In terms of visibility, yeah, it's all about preference :) --Jake -- 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/groups/opt_out.
Re: Bigger dreams for Leo
On 1/7/2014 6:30 PM, Offray Vladimir Luna Cárdenas wrote: Hi, El 26/04/12 13:44, Terry Brown escribió: On Thu, 26 Apr 2012 07:40:56 -0700 (PDT) Edward K. Ream edream...@gmail.com wrote: 3. I'd like Vim windows, Emacs windows and Inkscape windows to *be* Leo windows. Or vice versa. I've been thinking it would be nice to tighten integration between @svg being shown in a Leo window and editing it in Inkscape. Given that Inkscape's in GTK, not Qt, I don't imagine any easy window embedding, but calling Inkscape and monitoring a file for changes would be doable. Cheers -Terry Would be nice to have some kind of @figure of @image that loads and image viewer with the capabilities of Qt for image preview inside the Leo Body pane (or other similar component) and in the same way that we have edit with... for text content, have an edit with for graphical content. Saving versions of the files would be a nice plus. In this way the metastructuring capabilities of Leo are there for space and time, but you can use the right tool for the (sub)nodes editing. This kind of symbiotic approach can made Leo more valuable that trying to have the capabilities of vim or emacs or others. In that direction I suggested long time ago taking a look of Pida editor. Unfortunately the project seems abandoned and now and only an old copy of their source repository[1] is available, but it shows this kind of approach: A Python Integrated Development Environment. This IDE is different from other IDEs in that it aims to use the tools that you already use (and love). It embeds external editors (such as the mighty Vim), and gives you access to your source code using any one of the open source version control systems. With additional funky features such as Paste Bin integration, on the fly python source code checking, source browsing and even GUI designer integration, PIDA plans to be the IDE of the future, grabbing both ends of the development spectrum from uber-command-line-guru to Microsoft's Visual Studio zealots. [1] https://code.google.com/p/pida/ Just more food for thought with some references :-) Cheers, Offray Interesting... PyPI has a newer version of Pida available: https://pypi.python.org/pypi/pida/0.6.2 I'll take a look :) Thanks! --Jake -- 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/groups/opt_out.
Re: Fw: [Leo Editor] Emacs needs to move to git (from bzr)
To help with this process, I've renamed the current github leo-editor repo to leo-editor-mirror, so that the true repo can now occupy leo-editor, when it is created. I've also updated all the scripting and ReadTheDocs settings to reflect this. Once the migration to git is complete, I'll remove the leo-editor-mirror and make ReadTheDocs read from the true leo-editor repo. Matt, I saw the leo-cvs-2002-2006 repo -- are you going to do different repos for different points in Leo's history? If so, we could probably get the leo-editor repo with just bzr's history up and running fairly quickly, and then backtrack to fill out the historically interesting repos... Just a thought. --Jake -- 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/groups/opt_out.
Re: How to make Leo run a node-script automatically when the file is opened?
On 1/5/2014 1:23 PM, Fidel N wrote: Hey: Anyone knows how to make Leo run a node-script automatically when the file is opened? -- Make an @script node, and make sure '@bool scripting-at-script-nodes = True' is set in myLeoSettings.leo. Be careful, it's dangerous if you're opening .leo files from others. --Jake -- 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/groups/opt_out.
Re: How to make Leo run a node-script automatically when the file is opened?
On 1/5/2014 1:36 PM, Fidel N wrote: Great, thanks Jacob! No problem :) I recommend reading the mod_scripting docstring -- it has a lot of lesser-known features, like @args, tucked away under the covers. --Jake -- 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/groups/opt_out.
Re: Fw: [Leo Editor] Emacs needs to move to git (from bzr)
On 1/5/2014 1:47 PM, Matt Wilkie wrote: On Sun, Jan 5, 2014 at 10:05 AM, gatesphere gatesph...@gmail.com mailto:gatesph...@gmail.com wrote: Matt, I saw the leo-cvs-2002-2006 repo -- are you going to do different repos for different points in Leo's history? If so, we could probably get the leo-editor repo with just bzr's history up and running fairly quickly, and then backtrack to fill out the historically interesting repos... Just a thought. It would be great if you took care of the main repo from Launchpad. (looks like you've already started :). I had originally intended to try and merge/graft/conjoin/whatever the repos together locally first, but when that turned out more difficult than I anticipated I decided to upload the pieces I have first. ...however even the upload seems to be taking much longer than it should. I've been looking at Pushing to https://github.com/leo-editor/leo-cvs-2002-2006.git; for 2 hours now. (not frozen, cpu and ram % for git is bouncing slowly up and down). ...and just had to restart because my laptop went to sleep and closed the network. sigh. Let me know how long the publishing takes on your end please. -matt Well, at the moment, I'm trying to convince bzr that it does indeed know how to do 'fast-export'... I'll certainly time the final push once I get it going. Several hours-worth of pushing is to be expected, I think, when one has 4+ years of commits to push all at once! I'm curious if there's a way to push a range of commits to git, rather than the whole-shebang... it seems like there must be. --Jake -- 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/groups/opt_out.
Re: [Leo Editor] Emacs needs to move to git (from bzr)
On 1/5/2014 2:42 PM, Matt Wilkie wrote: On Sun, Jan 5, 2014 at 10:53 AM, Terry Brown terry_n_br...@yahoo.com mailto:terry_n_br...@yahoo.com wrote: I get 1.1 Mb / sec. downloand :-) but 87 Kb / sec. upload good point. I was thinking of standard dnld speeds. Unfortunately I've no idea what the upload payload size is. I think Jake's idea of breaking things into pieces is probably wise if this current attempt doesn't get far. Found this: http://rwmj.wordpress.com/2009/07/27/quick-git-tip-push-only-some-commits-to-your-upstream-repo/ I'd say do ~500 commits at a time, or so. Perhaps even ~100. --Jake -matt -- 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/groups/opt_out. -- 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/groups/opt_out.
Re: [Leo Editor] Emacs needs to move to git (from bzr)
On 1/5/2014 2:42 PM, Matt Wilkie wrote: On Sun, Jan 5, 2014 at 10:53 AM, Terry Brown terry_n_br...@yahoo.com mailto:terry_n_br...@yahoo.com wrote: I get 1.1 Mb / sec. downloand :-) but 87 Kb / sec. upload good point. I was thinking of standard dnld speeds. Unfortunately I've no idea what the upload payload size is. I think Jake's idea of breaking things into pieces is probably wise if this current attempt doesn't get far. -matt I just pushed ~9000 commits (commits in branches on launchpad are apparently visible in the mainline repo when importing to git) to the leo-bzr-test repo (https://github.com/leo-editor/leo-bzr-test), and it took me a whole 6 minutes 13 seconds: $ time git push -u origin master Counting objects: 65927, done. Delta compression using up to 2 threads. Compressing objects: 100% (11624/11624), done. Writing objects: 100% (65927/65927), 45.01 MiB | 130 KiB/s, done. Total 65927 (delta 53728), reused 65927 (delta 53728) To g...@github.com:leo-editor/leo-bzr-test.git * [new branch] master - master Branch master set up to track remote branch master from origin. real6m13.269s user0m5.178s sys 0m2.682s But, I did a few high-powered compression jobs before the push, to make sure it wouldn't take forever and the repo would be a reasonable size: $ git repack -A -d Counting objects: 65927, done. Delta compression using up to 2 threads. Compressing objects: 100% (16752/16752), done. Writing objects: 100% (65927/65927), done. Total 65927 (delta 48601), reused 65927 (delta 48601) $ git gc --aggressive --prune=now Counting objects: 65927, done. Delta compression using up to 2 threads. Compressing objects: 100% (65352/65352), done. Writing objects: 100% (65927/65927), done. Total 65927 (delta 53728), reused 10540 (delta 0) Removing stale temporary file .git/objects/pack/tmp_pack_nxSK8a Removing stale temporary file .git/objects/pack/tmp_pack_pf9Ria Removing stale temporary file .git/objects/pack/tmp_pack_wUMK2c Removing stale temporary file .git/objects/pack/tmp_pack_ylWGHa These combined shrunk the .git folder from 1.5Gb () down to 48Mb (wow, what a difference!). The whole process was like this (for future reference): $ mkdir leo-bzr-test.git $ cd leo-bzr-test.git $ git init $ bzr fast-export --plain ../leo/leo-editor ../leo.fi $ git fast-import ../leo.fi $ git reset --hard $ git repack -A -d $ git gc --aggressive --prune=now $ git remote add origin g...@github.com:leo-editor/leo-bzr-test.git $ git push -u origin master Phew! Edward, Terry, Ville, and all the devs: if this repo looks good to you, we're golden to move it to leo-editor/leo-editor.git, and have it be the main line of development. After that would be migrating bugs to github, for which it seems there is a script available (https://github.com/termie/lp2gh). Exciting day! --Jake -- 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/groups/opt_out.
Re: [Leo Editor] Emacs needs to move to git (from bzr)
On 1/5/2014 4:56 PM, Matt Wilkie wrote: Thank you very much Jake. Clearly something was wrong on my end! I followed your example and had a successful push within 20 minutes (including repacking and pruning; on-disk size of the repo shrank from 750mb to 63mb.). Glad to see it worked! After the fast-import, I noticed that there was a tremendous object file (~1.2Gb), and I knew that there was no way I was going to get that pushed before I went to sleep, so I looked into shrinking/compressing history in git repos, and stumbled upon those magic repack and garbage collect commands. AFAIK, the only downside is that reverting to older commits will be marginally slower. --Jake -- 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/groups/opt_out.
Re: Fw: [Leo Editor] Emacs needs to move to git (from bzr)
On 1/3/2014 11:55 PM, Terry Brown wrote: Matt and Jacob - it seemed that between you you'd kind of done most of the leg-work for getting Leo's VCS history in one place and moving it to git - I'm not saying we should move right now, but just wondering how high the barrier is, not very, perhaps? On my end, I haven't actually converted the history to a git repo, but rather just set up a nightly mirror (http://github.com/leo-editor/leo-editor, iirc). This setup is roughly equivalent to Terry's nightly snapshots -- all the work on Leo from the past day is pushed to the github mirror as a single commit... this makes undoing granular changes difficult if not impossible, when working from git. Matt's link looks very handy... the method seems sound and dead simple, with the (imo, desireable) side effect of pruning duplicate branches from the tree... The whole purpose of the nightly github mirror at this point is for the ReadTheDocs nightly documentation build. If we make leo-editor/leo-editor the actual development repo, I'm fairly certain that the ReadTheDocs setup wouldn't break at all. In either case, I could fix that if it did. So, to sum up, after a bit of testing with the method posted by Matt, I imagine we could switch to github whenever Edward, Terry, Ville, and anyone else with write permissions would be comfortable with the switch. Of course, then comes the problem of permissions, such as who has write access to the repo (currently everyone in the leo-editor organization is an owner, so we all have write access), but that's easily sorted out as a part of the transition. Exciting times! --Jake -- 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/groups/opt_out.
Re: How do you configure a plugin that is already loaded?
On 1/2/2014 3:15 PM, Jack Kuan wrote: Hi, I'm trying to configure the @string view-rendered-default-kind setting of the viewrendered plugin, however, since this plugin is enabled by default in leoSettings.leo it gets loaded before I have the chance to set the setting. Is there a way to update the settings later at runtime? I guess I could also do it in leoSettings.leo or remove it from enabled-plugins, but I really don't want to change the defaults. Thanks Jack -- You can make this setting change in myLeoSettings.leo (also known as 'Settings - Open Personal Settings' in the menus). This way you will not touch the defaults. Read this, it is enlightening: http://leoeditor.com/customizing.html --Jake -- 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/groups/opt_out.
Re: How do you configure a plugin that is already loaded?
On 1/2/2014 3:56 PM, Jack Kuan wrote: ok, after looking at the code, I see that the plugin actually never look at the setting! It simply determines the kind of node from the headline of the node or returns self.kind if the headline is not at directive(starts with @). self.kind is set to 'rst' during plugin init and never gets updated. Which release of Leo are you using? That was a long standing bug that I recently fixed... bzr rev 6415 should work as intended. If you're on 4.11-final, you won't have the fix yet. If you replace it either with the version from launchpad, or with Terry's nightly snapshot (http://www.greygreen.org/leo/), you'll have the fix in place. The newer code works as intended, i.e. '@string view-rendered-default-kind = md' actually does something. Sorry for the confusion! --Jake -- 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/groups/opt_out.
Re: How can I have a @md and @auto node?
On 1/2/2014 3:37 PM, Jack Kuan wrote: Hi, basically, I'm trying to achieve the effect that a @md node will be saved to a file without sentinels. This way, I can edit the markdown file in Leo with a nice preivew. I've tried various combinations of using @md node and @auto node but none of them works. I see that the way a @rst node generates documents is via the rst3 command, but I didn't see a similar command for @md nodes. Actually, I don't even need to generate html docs from @md nodes, I just want to save them to files when I save my leo doc. Thanks Jack As mentioned in the other thread, setting '@string view-rendered-default-kind = md' will make it so you don't need the @md in the headline. That, combined with @edit, @thin, @nosent, @shadow, etc, should allow you to save a file without sentinels. The @auto option might not work terribly well, as Leo doesn't have a markdown importer at the moment, to my knowledge. As to your third point, I'm tinkering with ideas related to an @auto-md akin to Leo's @auto-rst, as well as various markdown commands like the rst3 command... but these are just thoughts right now. Hope this helps! --Jake -- 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/groups/opt_out.
Edward: Plugin Release Notes for 4.11.1
As requested on IRC, here are new plugin release notes that I'm aware of. New plugins: - nodewatch.py... I can't explain it terribly well, please see the docstring. Basically it's a scriptable jump-list of nodes with a UI pane. Yet another option instead of clones/bookmarks/backlinks/UNLs. Bugfixes: - viewrendered - setting '@string view-rendered-default-kind' actually does something now... it was broken since before February (when I started hacking on Leo's codebase), but it wasn't really needed until my markdown work. Setting the above to 'md' makes vr default to trying markdown rendering without the need for the ugly '@md' in the headline. vr is still smart enough to default to rst for Leo's various help-for commands, as well as anything that uses c.putHelpFor. New functionality: - Terry did some work with quickmove.py in rev 6446. He also did some work with todo.py in rev 6433. And some work with quickfind plugin in rev 6390. Not sure what these do. - I did work on scripting.py to make @rclick nodes create minibuffer commands, but only if '@bool scripting-at-rclick-nodes = True'. Hope this helps! --Jake -- 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/groups/opt_out.
Re: Various improvements for newbies
On 12/15/2013 11:27 AM, Edward K. Ream wrote: Rev 6413 contains the last of a series of improvements aimed at making it easier to learn Leo: - Added help-for-scripting and help-for-creating-external-files commands. In help-for-scripting: ''' As discussed below, execute-script predefines three variables: c, g and p. Using these variables, scripts may *easy* do any of the following: ''' easy - easily The same typo is present on the website's overview section. Also, for some reason, help-for-scripting won't render when '@string view-rendered-default-kind = md' is active -- but this is due to my own markdown work. I'll work on a patch that makes viewrendered default to rst when calling c.putHelpFor(). Otherwise, looking good! --Jake - All commands appear in just one menu. - Various commands are now in more logical menus. - Added new overview sections in the scripting and creating external files tutorials: http://leoeditor.com/tutorial-programming.html#overview http://leoeditor.com/tutorial-scripting.html#overview These seem like reasonable scents towards goals. If you have ideas for improvement, please let me know. All proofreading appreciated. This concludes the text-related work related to Leo's help tutorials. New video tutorials are in the works... 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/groups/opt_out. -- 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/groups/opt_out.
Re: Various improvements for newbies
On 12/15/2013 12:27 PM, gatesphere wrote: Also, for some reason, help-for-scripting won't render when '@string view-rendered-default-kind = md' is active -- but this is due to my own markdown work. I'll work on a patch that makes viewrendered default to rst when calling c.putHelpFor(). Well, that was easy! Fix is on the repo at rev 6415. --Jake -- 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/groups/opt_out.
Re: Can 'sidecar' files carry outline structure?
On 12/12/2013 9:18 PM, Largo84 wrote: Advance apology if this has already been considered and discarded as impractical, stupid or whatever (since I'm not a programmer),but I work with raw image files in photography that have 'sidecar' files (XMP) that carry the metadata and editing instructions (they're nothing more than glorified XML files with a specific purpose). The convention is that the file name is the same between the sidecar file and the raw image file. Any image editor then knows to read the instructions in the XMP file for whatever purpose. The raw image file is never actually touched or written to, just the XMP file. Different image editors can ignore any specific XMP commands it doesn't understand. It's a widely used convention in that arena and well documented. All of the discussion recently about @shadow files and sharing outlines and the structure made me wonder if a similar strategy might work for Leo created external files. For example a Leo user opening SomeFile.py would read the outline structure from SomeFile.xmp (or whatever file extension makes sense) The non-Leo user opening SomeFile.py would simply see the plain .py file with no sentinels. Other Leo users would need both files to share the outline structure. Just a thought.. Rob As far as I know, this is what @shadow currently does. There are a number of reasons why this is untenable, but that's really Edward's current line of thought. --Jake -- 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/groups/opt_out.
Is there a minimal leo bridge?
Hi all, Is there a minimal Leo-bridge? I.e. just enough of the Leo API to read + write outlines, and iterate through nodes, in a way that doesn't require a full-blown installation of Leo? Thanks, --Jake -- 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/groups/opt_out.
Re: Is there a minimal leo bridge?
On 12/9/2013 7:48 PM, Edward K. Ream wrote: On Mon, Dec 9, 2013 at 5:45 PM, gatesphere gatesph...@gmail.com mailto:gatesph...@gmail.com wrote: Hi all, Is there a minimal Leo-bridge? I.e. just enough of the Leo API to read + write outlines, and iterate through nodes, in a way that doesn't require a full-blown installation of Leo? The leo.core.leoBridge module pulls in only as much as needed. In particular, the leoBridge.initLeo method imports less than I would have expected. Having said that, it seems clear that if you get a commander from the bridge, you will have had to init the Commands class, and that necessarily pulls in all of Leo's subcommanders, which includes just about all of Leo's core. Why do you ask? Edward Long-term forward thinking involving my 'silica' musical modeling language I've mentioned before. I'd like to use .leo files as a sort of state-of-the-world thing (akin to smalltalk world images). The following is all the *real* functionality I need: commander: c.all_positions() c.all_unique_positions() loading + saving (ignoring *all* external files, i.e., @file, @auto, etc.) c.config -- *just* the getBool, getString, etc. methods, and scoped only to the local file... could be implemented completely around c.all_unique_positions() positions: p.h, p.b, p.v, p.u p.insertAsNthChild() vnodes: v.h, v.b, v.u v.insertAsNthChild() Leo itself would be a full-blown GUI option, but just as a file format, .leo outlines with a minimal API would provide a *lot* of groundwork. Perhaps I can hack something together that wouldn't depend on Leo's core... --Jake -- 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/groups/opt_out.
Re: Is there a minimal leo bridge?
On 12/9/2013 8:59 PM, Terry Brown wrote: On Mon, 09 Dec 2013 18:45:35 -0500 gatesphere gatesph...@gmail.com wrote: Hi all, Is there a minimal Leo-bridge? I.e. just enough of the Leo API to read + write outlines, and iterate through nodes, in a way that doesn't require a full-blown installation of Leo? There's .../leo/external/leosax.py ...which should probably be in extensions, but let's not go there right now. It doesn't load @files of any kind, so if that's a problem it might not help. But it does load .leo outlines very quickly into a simple Python structure. Cheers -Terry Thanks for this -- it's perfect! Who wrote it, I wonder? There is no docstring. --Jake -- 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/groups/opt_out.
Re: Is there a minimal leo bridge?
On 12/9/2013 9:45 PM, Terry Brown wrote: On Mon, 09 Dec 2013 21:09:40 -0500 gatesphere gatesph...@gmail.com wrote: On 12/9/2013 8:59 PM, Terry Brown wrote: On Mon, 09 Dec 2013 18:45:35 -0500 gatesphere gatesph...@gmail.com wrote: Hi all, Is there a minimal Leo-bridge? I.e. just enough of the Leo API to read + write outlines, and iterate through nodes, in a way that doesn't require a full-blown installation of Leo? Who wrote it, I wonder? There is no docstring. I did. I use it for collecting todo nodes from multiple Leo files to create an overview. It can scan ~20 .leo files (of various sizes) in 3-4 seconds. Without reading the @files, of course. Cheers -Terry Well, it will suit my needs very well. I'll probably end up extending it a bit, but it's very useful. Thanks! --Jake -- 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/groups/opt_out.
Re: right-click menu on node body, contextmenu.py, URLs, etc.
On 12/7/2013 11:36 AM, Fidel N wrote: webbrowser.open('http://www.google.com/#'+urlencode({'q': StringToSearch})) @settings - @command search-in-google @language python import webbrowser import urllib selection = c.frame.body.getSelectedText() g.es(selection) webbrowser.open('http://www.google.com/#'+urllib.urlencode({'q': selection})) Adding this to contextmenu.py's settings puts it on the tree pane though. It looks like contextmenu.py definitely needs a body-pane bit. --Jake -- 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/groups/opt_out.
Re: Planet Leo - baby steps
Looks like it showed up eventually :) Github was slow today, took ~20m to show one of my buddy's commits earlier. --Jake On 12/4/2013 5:00 PM, Matt Wilkie wrote: Thanks Jake :) I added your feed, regenerated the pages and pushed to Github. http://leo-editor.github.io/planet-leo/ doesn't show the changes though. My local working directory shows your stuff, so I'm likely missing something with how to use git properly (via SourceTree, if that's relevant). Please feel free edit at source if you see what's wrong. (I added the repo to the Leo Editor organization account). -matt On Wed, Dec 4, 2013 at 6:38 AM, Jacob Peck gatesph...@gmail.com mailto:gatesph...@gmail.com wrote: On 12/4/2013 4:24 AM, Matt Wilkie wrote: I've taken a stab at putting together/A feed aggregator for Leo Editor articles, https://github.com/leo-editor/planet-leo// This 1st link is the source code for generating the aggregrate (which in turn requires https://github.com/rubys/venus, a.k.a Python PlanetPlanet/Planet 2.0/Venus. Docs for how I set this up coming later, too tired now, should have gone to sleep 2 hours ago ;-) Results are published to http://leo-editor.github.io/planet-leo/ -- which right now looks like this Matt guy rules the world. Somebody please fix this quick!! :) Meaning: send in your atom/rss feed for your blog where you write about Leo, and then I or anyone else on the Leo Editor team, who's using Github, can add your stuff to the auto-generated aggregation list. cheers, -matt Here's a feed from my personal blog with just the posts tagged 'leo': http://blog.suspended-chord.info/leo.xml Unfortunately, it includes a lot of non-leo stuff, as my weekly 'leo-things-done' reports are tagged 'leo'. I can remove those tags later. Good idea! --Jake -- 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/groups/opt_out.
Re: minor key binding quirk - Qt-related?
I have the same behavior on Windows 7, python 2.7. Additional note -- even when I bind Shift-Insert to 'do-nothing' (the standard way of disabling a key, as far as I know), shift-insert still executes 'insert-node', despite showing up in the print-bindings as correctly assigned to 'do-nothing'. Perhaps this is hardcoded somewhere (erroneously)? I don't think this is a Qt quirk, I think it's a Leo bug. --Jake On 11/28/2013 5:24 PM, jkn wrote: Hi all I wanted to use the insert-node-before command, and wanted to bind it to Shift-Insert. but this @settings @keys @shortcuts insert-node-before = Shift+Insert doesn't work. This, however, does: @settings @keys @shortcuts insert-node-before = Ctrl+Shift+I Is this likely to be a Qt key event quirk, or am I missing something? (this is under Linux on a laptop FWIW) Thanks Jon N -- 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/groups/opt_out. -- 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/groups/opt_out.
Re: viewrendered.py Question
I wrote a quick @button script for you, to help you out. Put this in an '@button update-vr' node somewhere in your outline: @language python ''' usage: 1. modify nodename below to exactly match the headline of the node you wish vr to render (your @auto node) 2. modify rstnodename below to exactly match the headline of your @rst node 3. Alt-X vr 4. Alt-X vr-lock 5. Click this button 'update-vr' any time to re-render the target node ''' nodename = '@auto myfile.rst' rstnodename = '@rst myfile.html' current_v = p.v c.selectPosition(g.findNodeAnywhere(c,rstnodename)) c.executeMinibufferCommand('rst3') c.readAtAutoNodes() c.selectPosition(g.findNodeAnywhere(c,nodename)) c.executeMinibufferCommand('vr-update') c.selectPosition(c.vnode2Position(current_v)) Be sure to change nodename to match the headline of the @auto node you created. This should combine steps 2, 3, and 4 into a single click, with no navigation, and drop you down back on the node you were editing prior to clicking the button. Beware: this has the side-effect of reloading *all* @auto nodes in the current outline. Shouldn't be a huge deal, but just be aware. Take backups before you try this. Hope this helps! --Jake On 11/22/2013 7:24 PM, Chris George wrote: So it works. I open a new window for the vr pane and set it to float above all other windows. The work flow then becomes: 1. Change content, move nodes around. 2. Move to appropriate place in the @rst tree and run rst3 command in the mini-buffer. 3. Navigate to the @auto node and refresh from disk. 4. Run vr-update to see the new output in context. Realtime would be better IMHO. But I am glad that I can do it at all. Chris On Friday, November 22, 2013 1:40:53 PM UTC-8, Chris George wrote: That works as far as it goes. vr-lock locks the current view of the rendering pane. In order to update the view I must unlock it and relock it, which means I must navigate to the @auto node which negates the purpose. Having it live is the goal. Chris On Friday, November 22, 2013 1:09:59 PM UTC-8, Jacob Peck wrote: On 11/22/2013 4:03 PM, Chris George wrote: I created an @auto node to read the interim rst file. This works, but still requires me to run rst3 and navigate to the @auto node. I do not seem to be able to access lock-unlock-rendering-pane, one of the commands from viewrendered.py. In fact, none of the commands from this plugin appear to work in the minibuffer for me. If I could lock the pane to the @auto node, then it would be simply the chore of me figuring out how to create a script/button to automate this. I think those commands have been renamed 'vr-lock' and 'vr-unlock'. Not sure when that happened, but it was before my time with Leo... --Jake Chris On Friday, November 22, 2013 9:16:01 AM UTC-8, Jacob Peck wrote: On 11/22/2013 12:14 PM, Edward K. Ream wrote: On Fri, Nov 22, 2013 at 10:58 AM, Chris George techn...@gmail.com wrote: I was wondering if it is currently possible to have the viewrendered pane display a view of what would be the output of an @rst node. vr displays reStructuredText automatically. That's how Leo's help commands work. Edward But it does *not* expand section references, @others, etc., which is what the original message alludes to :) --Jake -- 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/groups/opt_out.
Re: viewrendered.py Question
I assume it worked then? I don't use rst, so I couldn't really test it. Just went on a hunch ;) If so, glad to help :) --Jake On 11/22/2013 11:11 PM, Chris George wrote: Thank-you Jacob. That is so helpful. And perfect timing. I am playing with final layouts for an assignment that is due Sunday. This will speed the process. Now to whip out Qt Inspector and find out what the name of that floating vr pane is so I can style the font. It must be a solid 16pt. Chris On Friday, November 22, 2013 8:03:14 PM UTC-8, Chris George wrote: Thank-you so much. I will let you know how it works out. It is great to see a practical example of scripting Leo. I'll save it as a snippet right now and modify it and run it on a copy of my data. Chris On Friday, November 22, 2013 7:34:49 PM UTC-8, Jacob Peck wrote: I wrote a quick @button script for you, to help you out. Put this in an '@button update-vr' node somewhere in your outline: @language python ''' usage: 1. modify nodename below to exactly match the headline of the node you wish vr to render (your @auto node) 2. modify rstnodename below to exactly match the headline of your @rst node 3. Alt-X vr 4. Alt-X vr-lock 5. Click this button 'update-vr' any time to re-render the target node ''' nodename = '@auto myfile.rst' rstnodename = '@rst myfile.html' current_v = p.v c.selectPosition(g.findNodeAnywhere(c,rstnodename)) c.executeMinibufferCommand('rst3') c.readAtAutoNodes() c.selectPosition(g.findNodeAnywhere(c,nodename)) c.executeMinibufferCommand('vr-update') c.selectPosition(c.vnode2Position(current_v)) Be sure to change nodename to match the headline of the @auto node you created. This should combine steps 2, 3, and 4 into a single click, with no navigation, and drop you down back on the node you were editing prior to clicking the button. Beware: this has the side-effect of reloading *all* @auto nodes in the current outline. Shouldn't be a huge deal, but just be aware. Take backups before you try this. Hope this helps! --Jake On 11/22/2013 7:24 PM, Chris George wrote: So it works. I open a new window for the vr pane and set it to float above all other windows. The work flow then becomes: 1. Change content, move nodes around. 2. Move to appropriate place in the @rst tree and run rst3 command in the mini-buffer. 3. Navigate to the @auto node and refresh from disk. 4. Run vr-update to see the new output in context. Realtime would be better IMHO. But I am glad that I can do it at all. Chris On Friday, November 22, 2013 1:40:53 PM UTC-8, Chris George wrote: That works as far as it goes. vr-lock locks the current view of the rendering pane. In order to update the view I must unlock it and relock it, which means I must navigate to the @auto node which negates the purpose. Having it live is the goal. Chris On Friday, November 22, 2013 1:09:59 PM UTC-8, Jacob Peck wrote: On 11/22/2013 4:03 PM, Chris George wrote: I created an @auto node to read the interim rst file. This works, but still requires me to run rst3 and navigate to the @auto node. I do not seem to be able to access lock-unlock-rendering-pane, one of the commands from viewrendered.py. In fact, none of the commands from this plugin appear to work in the minibuffer for me. If I could lock the pane to the @auto node, then it would be simply the chore of me figuring out how to create a script/button to automate this. I think those commands have been renamed 'vr-lock' and 'vr-unlock'. Not sure when that happened, but it was before my time with Leo... --Jake Chris On Friday, November 22, 2013 9:16:01 AM UTC-8, Jacob Peck wrote: On 11/22/2013 12:14 PM, Edward K. Ream wrote: On Fri, Nov 22, 2013 at 10:58 AM, Chris George techn...@gmail.com wrote: I was wondering if it is currently possible to have the viewrendered pane display a view of what would be the output of an @rst node. vr displays reStructuredText automatically. That's how Leo's help commands
Re: viewrendered.py Question
On 11/22/2013 11:32 PM, Chris George wrote: Here is what it gives me on running the script. I followed the sequence exactly. I was looking at your script and I don't see the Refresh From Disk step. Is that part of c.readAtAutoNodes() ? rendering pane locked exception preprocessing script Traceback (most recent call last): File /home/chris/Working/leo/leo-editor/leo/core/leoAtFile.py, line 3551, in writeFromString at.writeOpenFile(root,nosentinels=not useSentinels,toString=True,fromString=s) File /home/chris/Working/leo/leo-editor/leo/core/leoAtFile.py, line 3674, in writeOpenFile at.putOpenNodeSentinel(root) File /home/chris/Working/leo/leo-editor/leo/plugins/lineNumbers.py, line 51, in putLineNumberDirective oldOpenNodeSentinel(self,v,inAtAll,inAtOthers,middle) TypeError: putOpenNodeSentinel() takes at most 4 arguments (5 given) no script selected Hmm... that's interesting. Let me check this out... --Jake On Friday, November 22, 2013 8:22:58 PM UTC-8, Jacob Peck wrote: I assume it worked then? I don't use rst, so I couldn't really test it. Just went on a hunch ;) If so, glad to help :) --Jake On 11/22/2013 11:11 PM, Chris George wrote: Thank-you Jacob. That is so helpful. And perfect timing. I am playing with final layouts for an assignment that is due Sunday. This will speed the process. Now to whip out Qt Inspector and find out what the name of that floating vr pane is so I can style the font. It must be a solid 16pt. Chris On Friday, November 22, 2013 8:03:14 PM UTC-8, Chris George wrote: Thank-you so much. I will let you know how it works out. It is great to see a practical example of scripting Leo. I'll save it as a snippet right now and modify it and run it on a copy of my data. Chris On Friday, November 22, 2013 7:34:49 PM UTC-8, Jacob Peck wrote: I wrote a quick @button script for you, to help you out. Put this in an '@button update-vr' node somewhere in your outline: @language python ''' usage: 1. modify nodename below to exactly match the headline of the node you wish vr to render (your @auto node) 2. modify rstnodename below to exactly match the headline of your @rst node 3. Alt-X vr 4. Alt-X vr-lock 5. Click this button 'update-vr' any time to re-render the target node ''' nodename = '@auto myfile.rst' rstnodename = '@rst myfile.html' current_v = p.v c.selectPosition(g.findNodeAnywhere(c,rstnodename)) c.executeMinibufferCommand('rst3') c.readAtAutoNodes() c.selectPosition(g.findNodeAnywhere(c,nodename)) c.executeMinibufferCommand('vr-update') c.selectPosition(c.vnode2Position(current_v)) Be sure to change nodename to match the headline of the @auto node you created. This should combine steps 2, 3, and 4 into a single click, with no navigation, and drop you down back on the node you were editing prior to clicking the button. Beware: this has the side-effect of reloading *all* @auto nodes in the current outline. Shouldn't be a huge deal, but just be aware. Take backups before you try this. Hope this helps! --Jake On 11/22/2013 7:24 PM, Chris George wrote: So it works. I open a new window for the vr pane and set it to float above all other windows. The work flow then becomes: 1. Change content, move nodes around. 2. Move to appropriate place in the @rst tree and run rst3 command in the mini-buffer. 3. Navigate to the @auto node and refresh from disk. 4. Run vr-update to see the new output in context. Realtime would be better IMHO. But I am glad that I can do it at all. Chris On Friday, November 22, 2013 1:40:53 PM UTC-8, Chris George wrote: That works as far as it goes. vr-lock locks the current view of the rendering pane. In order to update the view I must unlock it and relock it, which means I must navigate to the @auto node which negates the purpose. Having it live is the goal. Chris On Friday, November 22, 2013 1:09:59 PM UTC-8, Jacob Peck wrote: On 11/22/2013 4:03 PM, Chris George wrote: I created an @auto node to read the interim rst file. This works, but still requires
Re: viewrendered.py Question
Ah, small issues -- I missed a command and mistyped another: Replace the code with the new version (works for me, I tested it and everything!): @language python ''' usage: 1. modify nodename below to exactly match the headline of the node you wish vr to render (your @auto node) 2. modify rstnodename below to exactly match the headline of your @rst node 3. Alt-X vr 4. Alt-X vr-lock 5. Click this button 'update-vr' any time to re-render the target node ''' nodename = '@auto myfile.html.txt' rstnodename = '@rst myfile.html' current_v = p.v c.selectPosition(g.findNodeAnywhere(c,rstnodename)) c.executeMinibufferCommand('rst3') c.selectPosition(g.findNodeAnywhere(c,nodename)) c.readAtAutoNodes() c.selectPosition(g.findNodeAnywhere(c,nodename)) c.executeMinibufferCommand('vr-update') c.selectPosition(c.vnode2position(current_v)) I was also mistaken about the reloading *all* @auto files -- this will only reload the one you specify. Let me know if this still doesn't work. --Jake On 11/22/2013 11:32 PM, Chris George wrote: Here is what it gives me on running the script. I followed the sequence exactly. I was looking at your script and I don't see the Refresh From Disk step. Is that part of c.readAtAutoNodes() ? rendering pane locked exception preprocessing script Traceback (most recent call last): File /home/chris/Working/leo/leo-editor/leo/core/leoAtFile.py, line 3551, in writeFromString at.writeOpenFile(root,nosentinels=not useSentinels,toString=True,fromString=s) File /home/chris/Working/leo/leo-editor/leo/core/leoAtFile.py, line 3674, in writeOpenFile at.putOpenNodeSentinel(root) File /home/chris/Working/leo/leo-editor/leo/plugins/lineNumbers.py, line 51, in putLineNumberDirective oldOpenNodeSentinel(self,v,inAtAll,inAtOthers,middle) TypeError: putOpenNodeSentinel() takes at most 4 arguments (5 given) no script selected On Friday, November 22, 2013 8:22:58 PM UTC-8, Jacob Peck wrote: I assume it worked then? I don't use rst, so I couldn't really test it. Just went on a hunch ;) If so, glad to help :) --Jake On 11/22/2013 11:11 PM, Chris George wrote: Thank-you Jacob. That is so helpful. And perfect timing. I am playing with final layouts for an assignment that is due Sunday. This will speed the process. Now to whip out Qt Inspector and find out what the name of that floating vr pane is so I can style the font. It must be a solid 16pt. Chris On Friday, November 22, 2013 8:03:14 PM UTC-8, Chris George wrote: Thank-you so much. I will let you know how it works out. It is great to see a practical example of scripting Leo. I'll save it as a snippet right now and modify it and run it on a copy of my data. Chris On Friday, November 22, 2013 7:34:49 PM UTC-8, Jacob Peck wrote: I wrote a quick @button script for you, to help you out. Put this in an '@button update-vr' node somewhere in your outline: @language python ''' usage: 1. modify nodename below to exactly match the headline of the node you wish vr to render (your @auto node) 2. modify rstnodename below to exactly match the headline of your @rst node 3. Alt-X vr 4. Alt-X vr-lock 5. Click this button 'update-vr' any time to re-render the target node ''' nodename = '@auto myfile.rst' rstnodename = '@rst myfile.html' current_v = p.v c.selectPosition(g.findNodeAnywhere(c,rstnodename)) c.executeMinibufferCommand('rst3') c.readAtAutoNodes() c.selectPosition(g.findNodeAnywhere(c,nodename)) c.executeMinibufferCommand('vr-update') c.selectPosition(c.vnode2Position(current_v)) Be sure to change nodename to match the headline of the @auto node you created. This should combine steps 2, 3, and 4 into a single click, with no navigation, and drop you down back on the node you were editing prior to clicking the button. Beware: this has the side-effect of reloading *all* @auto nodes in the current outline. Shouldn't be a huge deal, but just be aware. Take backups before you try this. Hope this helps! --Jake On 11/22/2013 7:24 PM, Chris George wrote: So it works. I open a new window for the vr pane and set it to float above all other windows. The work flow then becomes: 1. Change content, move nodes around. 2. Move to appropriate place in the @rst tree and run rst3 command in the mini-buffer.
Re: viewrendered.py Question
Did you set 'nodename' and 'rstnodename' correctly? That error says that it can't find your @rst node, I think. --Jake On 11/22/2013 11:55 PM, Chris George wrote: No @rst or @slides nodes in selected tree done exception executing script AttributeError: 'NoneType' object has no attribute 'isDirty' line 457: #@+node:ekr.20040306214401: *5* p.Status bits * line 458: def isDirty (self): return self.v.isDirty() line 459: def isExpanded (self): return self.v.isExpanded() line 460: def isMarked(self): return self.v.isMarked() On Friday, November 22, 2013 8:43:40 PM UTC-8, Jacob Peck wrote: Ah, small issues -- I missed a command and mistyped another: Replace the code with the new version (works for me, I tested it and everything!): @language python ''' usage: 1. modify nodename below to exactly match the headline of the node you wish vr to render (your @auto node) 2. modify rstnodename below to exactly match the headline of your @rst node 3. Alt-X vr 4. Alt-X vr-lock 5. Click this button 'update-vr' any time to re-render the target node ''' nodename = '@auto myfile.html.txt' rstnodename = '@rst myfile.html' current_v = p.v c.selectPosition(g.findNodeAnywhere(c,rstnodename)) c.executeMinibufferCommand('rst3') c.selectPosition(g.findNodeAnywhere(c,nodename)) c.readAtAutoNodes() c.selectPosition(g.findNodeAnywhere(c,nodename)) c.executeMinibufferCommand('vr-update') c.selectPosition(c.vnode2position(current_v)) I was also mistaken about the reloading *all* @auto files -- this will only reload the one you specify. Let me know if this still doesn't work. --Jake On 11/22/2013 11:32 PM, Chris George wrote: Here is what it gives me on running the script. I followed the sequence exactly. I was looking at your script and I don't see the Refresh From Disk step. Is that part of c.readAtAutoNodes() ? rendering pane locked exception preprocessing script Traceback (most recent call last): File /home/chris/Working/leo/leo-editor/leo/core/leoAtFile.py, line 3551, in writeFromString at.writeOpenFile(root,nosentinels=not useSentinels,toString=True,fromString=s) File /home/chris/Working/leo/leo-editor/leo/core/leoAtFile.py, line 3674, in writeOpenFile at.putOpenNodeSentinel(root) File /home/chris/Working/leo/leo-editor/leo/plugins/lineNumbers.py, line 51, in putLineNumberDirective oldOpenNodeSentinel(self,v,inAtAll,inAtOthers,middle) TypeError: putOpenNodeSentinel() takes at most 4 arguments (5 given) no script selected On Friday, November 22, 2013 8:22:58 PM UTC-8, Jacob Peck wrote: I assume it worked then? I don't use rst, so I couldn't really test it. Just went on a hunch ;) If so, glad to help :) --Jake On 11/22/2013 11:11 PM, Chris George wrote: Thank-you Jacob. That is so helpful. And perfect timing. I am playing with final layouts for an assignment that is due Sunday. This will speed the process. Now to whip out Qt Inspector and find out what the name of that floating vr pane is so I can style the font. It must be a solid 16pt. Chris On Friday, November 22, 2013 8:03:14 PM UTC-8, Chris George wrote: Thank-you so much. I will let you know how it works out. It is great to see a practical example of scripting Leo. I'll save it as a snippet right now and modify it and run it on a copy of my data. Chris On Friday, November 22, 2013 7:34:49 PM UTC-8, Jacob Peck wrote: I wrote a quick @button script for you, to help you out. Put this in an '@button update-vr' node somewhere in your outline: @language python ''' usage: 1. modify nodename below to exactly match the headline of the node you wish vr to render (your @auto node) 2. modify rstnodename below to exactly match the headline of your @rst node 3. Alt-X vr 4. Alt-X vr-lock 5. Click this button 'update-vr' any time to re-render the target node ''' nodename = '@auto myfile.rst' rstnodename = '@rst myfile.html' current_v = p.v c.selectPosition(g.findNodeAnywhere(c,rstnodename)) c.executeMinibufferCommand('rst3') c.readAtAutoNodes() c.selectPosition(g.findNodeAnywhere(c,nodename))
Re: Leo fixes critical OpenOffice/LibreOffice bug
+1 here too. More use cases = more fun! --Jake On 11/19/2013 6:40 PM, Fidel N wrote: +1, It would be great to see that! Btw, shouldnt such examples go to some sort of leo-samples-files within a folder in Leo installation path so new users can explore and play with all the leo files samples people share? hehe. On Wednesday, November 20, 2013 12:36:01 AM UTC+1, Matt Wilkie wrote: Hi David, If you have the time and inclination a write up of your workflow and a couple of examples would make a great blog post. I'm sure there are people who would like to know how you did it. :) cheers, -matt On Tue, Nov 19, 2013 at 3:06 PM, David McNab davidm...@gmail.com javascript: wrote: Hi guys, It blows me away that, after nearly 10 years, the OpenOffice and LibreOffice developers are still refusing to add any kind of outline mode to their word processor. Seriously, WTF?!? Have they been threatened by M$ patent lawyers or something?!? Anyway, there is a workaround. I have an outline in Leo which tangles to one or more text files. In OpenOffice, I have a master document which includes these text files, and applies a style to each of them. I used it for the first time with a large university writing assignment. Being able to edit it in Leo yet appear WYSIWYG in Office was a god-send, and helped me get my best mark yet. Cheers David -- 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+...@googlegroups.com javascript:. To post to this group, send email to leo-e...@googlegroups.com javascript:. Visit this group at http://groups.google.com/group/leo-editor http://groups.google.com/group/leo-editor. For more options, visit https://groups.google.com/groups/opt_out https://groups.google.com/groups/opt_out. -- 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/groups/opt_out. -- 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/groups/opt_out.
Re: Is this the most exciting time in Leo's history?
On 11/19/2013 5:06 PM, Edward K. Ream wrote: On Tue, Nov 19, 2013 at 9:58 AM, Jacob Peck gatesph...@gmail.com mailto:gatesph...@gmail.com wrote: Better yet, the following works like a charm: The following makes open-irc-leo an official Leo command: @g.command('open-irc-leo') (headline) def openIrcLeo(event): import webbrowser webbrowser.open((yhttp://webchat.freenode.net/?channels=%23leouio=d4; http://webchat.freenode.net/?channels=%23leouio=d4) I 'll up this asap. Maybe today. Edward Somehow an extra ( and y snuck in there... just a heads up. --Jake -- 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/groups/opt_out.
Re: Academic Writing
On 11/18/2013 10:27 PM, Chris George wrote: I have attached an outline of some ideas I have around bending Leo to my will as an academic writing platform without peer. But it will take some help from those who are actual programmers and those who know Leo best. Much of what I am after may already exist somewhere in a Leo outline or in the back of someone's mind. Some of what I am talking about is trivial, some is difficult. The end result could see many people, from high school students to professors, jumping on the Leo bandwagon. After spending a couple of years examining and rejecting a large number of the piecemeal alternatives on offer, I think Leo could be the tool that makes it happen for me and millions of others in my situation. Chris Interesting thoughts. Here's my take on your points. Bibtex.py autolookups -- this should be trivial, and could probably be baked into the bibtex.py plugin at somepoint. Citations -- don't forget Chicago and Turabian! Notes references -- potentially handled by @url nodes? Depends on what you mean by references... in-text, or simply in-outline links. The latter case is a perfect use for @url nodes. PDFs -- this one is perhaps the hardest task. This would require a great deal of work. As a side note, I use Leo to write. I have a pretty slick setup that uses Leo as an editor and outliner, GNU Make as a build system, ConTeXt as my document preparer, and git as version control. Four simple tools that work so well together. Here's my bare-bones setup: https://github.com/gatesphere/context-leo-make This could easily work with BibTeX, and with a bit of work would be just fine for LaTeX work as well. It's a far cry from what you've indicated, but it's a step in the right direction. --Jake -- 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/groups/opt_out.
Re: My first screencast: using clones in everyday workflow
On 11/17/2013 6:04 AM, Edward K. Ream wrote: A future screencast will be about getting help. This will include the print-bindings, print-commands and print-settings commands, as well as the help commands. In particular, the print-bindings command gives you all the binding/command associations, sorted by binding. I think such a screencast should mention the docs on leoeditor.org, as well as the helpful folks on this list and in #leo on freenode. :) --Jake -- 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/groups/opt_out.
Re: My first screencast: using clones in everyday workflow
On 11/16/2013 11:27 AM, Edward K. Ream wrote: http://www.screencast.com/t/jL9C9kLNZ4 Be sure to click on the Full Size tab at the top of the screen to get clearest text. It was easy to produce with Camtasia Studio, once I let go of my perfectionism :-) Psychologically, it was easier to produce this expert's video because I didn't have to worry about explaining every little thing. Producing a full range of beginners tutorials is next. Very exciting. All suggestions welcome. Edward I like this a lot. It sheds light on how you use clones. Clever. The presentation was crisp and clear. I like the visual hotkeys. --Jake -- 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/groups/opt_out.
Re: Another screencast: Using Leo's Minibuffer
On 11/16/2013 2:21 PM, Edward K. Ream wrote: http://www.screencast.com/t/tEQ7brI4n6 Again, please view at full size for clearest text. Edward Good tutorial, and down to basics... but one small thing. Your body text was already sorted when the video started! It didn't show that the minibuffer actually accomplished anything... --Jake -- 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/groups/opt_out.
Re: Third screencast: Leo's Find/Change command
On 11/16/2013 7:49 PM, Edward K. Ream wrote: http://www.screencast.com/t/lUv7sgJh This was a bit trickier than the first two. What I've learned so far is that the audio is by far the most important to get right. It's easy to wing it (create the script on the fly), provided that I stop and re-record any audio flubs **at the moment they happen**. This keeps the audio in synch with the video. There's no pressure; it's trivial to edit out pauses of any length. Yes, it's possible to splice in audio, and I did so in one place in this screencast, but it's considerably trickier than just deleting the flubs. I may have gone overboard at the end with callouts, but I saw no other way to make it clear that the searches changed nodes. Still, it's a bit busy; I acknowledge that. Edward Corrections: 1:30, screen says F3 when you're probably doing Ctrl+F. 2:15, the screen *looks* like Ctrl+_ (underscore), but it could be the intended Ctrl+- (minus), it just looks very similar to underscore to me. Otherwise, a very nice introduction. One of these days I'll grok Leo's search, and this screencast might just have done it. --Jake -- 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/groups/opt_out.
Re: spellpyx.txt not valid
On 11/16/2013 8:35 PM, Largo84 wrote: I just installed Leo 4.11 final on both a Win7 and a Win8 machine (Leo 4.11 final, build 5020, 2012-02-26 13:18:08 -0600, Python 2.7.3, qt version 4.8.4, Windows 6, 2, 9200, 2) At first get this: can not create: C:\Program Files (x86)\Leo-4.11-final\leo\plugins\spellpyx.txt Then after copying a spellpyx.txt from a previous installation I get this: cleaning C:\Program Files (x86)\Leo-4.11-final\leo\plugins\spellpyx.txt Traceback (most recent call last): File C:\Program Files (x86)\Leo-4.11-final\leo\core\leoEditCommands.py, line 10950, in open_dict self.clean_dict(fn) File C:\Program Files (x86)\Leo-4.11-final\leo\core\leoEditCommands.py, line 10913, in clean_dict f = open(fn,mode='wb') IOError: [Errno 13] Permission denied: u'C:\\Program Files (x86)\\Leo-4.11-final\\leo\\plugins\\spellpyx.txt' not a valid dictionary file C:\Program Files (x86)\Leo-4.11-final\leo\plugins\spellpyx.txt The odd thing is that spell checking seems to work fine despite these errors. Should I file a bug report? Rob. Hmm. This sounds like Windows getting picky about permissions in the Program Files directories. Leo, Matt, and whomever else does the installer stuff: on Windows 7 and 8, the Program Files directories are semi-protected, akin to linux permissions. The best course of action is to install in a place that *isn't* under Program Files. Something like 'C:\leo-4.11-final' would be fine. --Jake -- 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/groups/opt_out.
Re: spellpyx.txt not valid
On 11/16/2013 8:42 PM, gatesphere wrote: Leo, Matt, and whomever else That was supposed to say Edward, not Leo. I need sleep. --Jake -- 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/groups/opt_out.
Re: spellpyx.txt not valid
On 11/16/2013 8:57 PM, Largo84 wrote: Ahh, good catch. I re-installed Leo into a different directory and Leo created the spellpyx.txt file and I was able to copy over a newer one and have Leo 'clean' it. Thanks for the suggestion! Rob. Glad to help! Windows has far too many hang-ups. After bashing my head against the wall for years with it, I've slowly come to terms with it, and 'deal'. --Jake On Saturday, November 16, 2013 8:42:53 PM UTC-5, Jacob Peck wrote: On 11/16/2013 8:35 PM, Largo84 wrote: I just installed Leo 4.11 final on both a Win7 and a Win8 machine (Leo 4.11 final, build 5020, 2012-02-26 13:18:08 -0600, Python 2.7.3, qt version 4.8.4, Windows 6, 2, 9200, 2) At first get this: can not create: C:\Program Files (x86)\Leo-4.11-final\leo\plugins\spellpyx.txt Then after copying a spellpyx.txt from a previous installation I get this: cleaning C:\Program Files (x86)\Leo-4.11-final\leo\plugins\spellpyx.txt Traceback (most recent call last): File C:\Program Files (x86)\Leo-4.11-final\leo\core\leoEditCommands.py, line 10950, in open_dict self.clean_dict(fn) File C:\Program Files (x86)\Leo-4.11-final\leo\core\leoEditCommands.py, line 10913, in clean_dict f = open(fn,mode='wb') IOError: [Errno 13] Permission denied: u'C:\\Program Files (x86)\\Leo-4.11-final\\leo\\plugins\\spellpyx.txt' not a valid dictionary file C:\Program Files (x86)\Leo-4.11-final\leo\plugins\spellpyx.txt The odd thing is that spell checking seems to work fine despite these errors. Should I file a bug report? Rob. Hmm. This sounds like Windows getting picky about permissions in the Program Files directories. Leo, Matt, and whomever else does the installer stuff: on Windows 7 and 8, the Program Files directories are semi-protected, akin to linux permissions. The best course of action is to install in a place that *isn't* under Program Files. Something like 'C:\leo-4.11-final' would be fine. --Jake -- 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/groups/opt_out. -- 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/groups/opt_out.
Re: Third screencast: Leo's Find/Change command
On 11/16/2013 8:59 PM, Edward K. Ream wrote: On Sat, Nov 16, 2013 at 7:19 PM, gatesphere gatesph...@gmail.com mailto:gatesph...@gmail.com wrote: Corrections: 1:30, screen says F3 when you're probably doing Ctrl+F. Thanks. Good catch. 2:15, the screen *looks* like Ctrl+_ (underscore), but it could be the intended Ctrl+- (minus), it just looks very similar to underscore to me. I can do nothing about this. Camtasia represents Ctrl-underscore as Ctrl-Shift-- (at least on my keyboard!) so clearly I have not made an error. Alright, just checking that it was a minus. :) Otherwise, a very nice introduction. One of these days I'll grok Leo's search, and this screencast might just have done it. Oh my. If you have had trouble with search/replace, I wonder how many people gave up because of it. Well, Ville's wonderful quicksearch.py plugin, and Terry's bigdash.py plugin help a lot... except for the replacement bits. For that I usually end up with one-off scripts. Learning the built-in tools would be incredibly useful, and something I just haven't devoted time to. I tend to learn things on a 'need-to-know' basis. I learned vi (note, not vim!) completely due to my job, and I'm barely scratching the surface with it. I'm likely to do the same with any other software project that I didn't write myself (Leo included!). --Jake Edward P.S. I'll upload corrections tomorrow, after more people have had a chance to comment. There is a limit to uploaded bytes (each month) so I want to be a bit frugal. EKR -- 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/groups/opt_out. -- 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/groups/opt_out.
Re: Third screencast: Leo's Find/Change command
On 11/16/2013 10:04 PM, Terry Brown wrote: On Sat, 16 Nov 2013 21:03:33 -0500 gatesphere gatesph...@gmail.com wrote: Well, Ville's wonderful quicksearch.py plugin, and Terry's bigdash.py bigdash.py is also Ville's Cheers -Terry Good to know! Sorry, Ville! -- 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/groups/opt_out.
An article on text editing, outlining, and words, from MIT Technology Review
http://www.technologyreview.com/review/520246/as-we-may-type/ Found this thumbing through this month's issue of MIT Technology Review. An interesting look at the new paradigms in editing, and the versatility of outliners. No mentions of Leo, but it certainly points towards unlimited possibilities with the right tools. Thought this group might like the read. --Jake -- 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/groups/opt_out.
Re: Making Leo look better out of the box
On 11/12/2013 6:36 PM, Matt Wilkie wrote: Both the headline, body log pane is using a font that is (much) to big Same here, Win7. myLeoSettings.leo only has 2 nodes @settings -- @enabled-plugins, no theme or font stuff. I managed to get reasonable sizes again by opening LeoSettings.leo, Copy Node on @data qt-gui-plugin-style-sheet, pasting that under myLeoSettings.leo @settings, search and replace all 14pt and 12pt to 10pt and restarting. Not sure why 14pt-in-Leo shows so much larger than 14pt-in-others on my computers, but there you are. Maybe because I don't have the Deja Vu font? -matt Edward, the way I'm seeing all these complaints about font sizes out of the box makes me think that the defaults should be shrunk down to 12 pt... --Jake -- 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/groups/opt_out.
Re: A true vim mode is coming
On 11/8/2013 4:29 PM, Edward K. Ream wrote: On Fri, Nov 8, 2013 at 3:21 PM, Jacob Peck gatesph...@gmail.com mailto:gatesph...@gmail.com wrote: Will this scheme allow vim-like regex replacements, like: :4,9 s/^/- /g (replaces the start of lines 4-9 with hyphen-space) Good question. Basically every (reasonable) thing that could be part of the dot command must be supported. I'm not sure whether colon commands can be composed via dot, but surely some form of search and replace must be composable using dot. A possible cute trick: in vim mode Leo's minibuffer search/replace commands could set up the environment in the same way as s/a/b/(g). Edward Looks like dot does not repeat command mode commands. It apparently repeats the last change in /normal/ mode. Colon commands are /command/ mode. The key combo @: (at-colon) repeats the last colon command. TIL! But still, if a vim mode is to succeed, it needs colon-minibuffer and vim-style search/replace wrappers. --Jake -- 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/groups/opt_out.
Re: nose and Leo : any success?
On 11/2/2013 1:44 PM, wgw wrote: I'm not sure how to add to the Leo blog, though I have a (totally unused) github account. I wrote the instructions here, a few months ago (figuring they'd be handy... I guess I was right!): https://github.com/leo-editor/leo-blog#how-to-publish-on-the-leo-blog You do need write permission though. What's your github account name, I can add you to the leo-editor organization. Is this you? https://github.com/wgw --Jake -- 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/groups/opt_out.
Re: nose and Leo : any success?
On 11/2/2013 3:10 PM, wgw wrote: Yup --that's me. Added :) Great instructions! Thanks. I try to keep things short and sweet, though I might assume readers know more than they do... I will try to get up to speed on github. (Ugh!) I'm with Matt, who complained about the burden of keeping up with all the terrific (!) technology and new ideas. The pace is indeed terrific... is there an emoticon for the stretched face that astronauts have when blasting off? I feel a bit like John Stapp in this photo when I get into bzr or github: http://www.pbs.org/wgbh/nova/assets/img/gravity-forces/image-02-large.jpg (I start at #1 but end up at #6) Maybe something like: *=:-o * But we lose the stretch *=:-* Heh... How about something like... ^_^ o_o . o_O O_O ... x_O x_x X_X --Jake On Saturday, 2 November 2013 11:43:16 UTC-7, Jacob Peck wrote: On 11/2/2013 1:44 PM, wgw wrote: I'm not sure how to add to the Leo blog, though I have a (totally unused) github account. I wrote the instructions here, a few months ago (figuring they'd be handy... I guess I was right!): https://github.com/leo-editor/leo-blog#how-to-publish-on-the-leo-blog https://github.com/leo-editor/leo-blog#how-to-publish-on-the-leo-blog You do need write permission though. What's your github account name, I can add you to the leo-editor organization. Is this you? https://github.com/wgw --Jake -- 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/groups/opt_out. -- 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/groups/opt_out.
Re: UNL address bar?
On 10/28/2013 4:42 PM, Segundo Bob wrote: On 10/28/2013 10:47 AM, Jacob Peck wrote: Does anything like a UNL address bar exist for Leo? Akin to an address bar in a web browser, where you could paste UNLs into it, and it would focus on said UNL in the outline? Is there a minibuffer command that does this? If there is, that is sufficient. A separate widget would be neat too. --Jake The way I use UNL's/URL's I see no need for an address bar. Each UNL/URL I use resides in a node body. If the UNL/URL is on the first line of the node body and the node is in a @bookmarks subtree or the node headline begins with @url, then command open-url goes to the node represented by the UNL or opens the URL with the appropriate application. I bind open-url to Alt-F3. Yeah, I use @urls all the time. But my particular application at the moment is printing UNLs to the log pane. I suppose that I could rethink my workflow, making an organizer node with UNL links... but I kind of like the way I'm doing things. For a UNL/URL anywhere, double-left-click anywhere on the UNL/URL goes to the node represented by the UNL, or if it is a URL opens the URL with the appropriate application. Sadly, URLs/UNLs in the log pane are not clickable -- they're simple text. --Jake -- 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/groups/opt_out.
Re: This, and *only* this, can make Leo more popular
On 10/28/2013 7:25 PM, Chris George wrote: html to rst seems to be possible but from there I think you might have to recreate the outline structure manually. I don't know if Leo has such a capability or not. It seems like @auto should do the trick. I think there's an importer for rst... --Jake -- 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/groups/opt_out.
Re: Only in leo...
On 10/24/2013 3:03 PM, Terry Brown wrote: Well, maybe also in vim etc., but it's so easy in Leo... I want to insert a bunch of images into an rst doc. So I type: for i in range(13): c.p.b += \n.. image:: etdemo%04d.png\n :width: 80%%\n%(i+1) c.redraw() select those two lines, Ctrl-B, and now my node contains: .. image:: etdemo0001.png :width: 80% .. image:: etdemo0002.png :width: 80% .. image:: etdemo0003.png :width: 80% ... ready for me to add captions. Cheers -Terry It's the little things like this that make a hge impact on workflow. --Jake -- 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/groups/opt_out.
Re: How to collaborate using Leo
On 10/24/2013 6:33 PM, Edward K. Ream wrote: Our recent collaborative discussions have created a stunning new way to collaborate using Leo. Suppose a group contains L Leo users (Leonard, Lester, ...) and N non-Leo users (Nancy, Nadine,...). We may as well assume L 1 and N 1. Kent and Terry have (finally!) convinced me that that Nancy a) must never see sentinels and b) must never pay any substantial price for not seeing them. Furthermore, only one .leo folder can exist anywhere on Nancy's machine (and that should be in an innocuous place). Let's call this folder the **cache**. For now, we care nothing about how it works. Zoom.Quiet provided an essential hint: use bzr/git hooks. Earlier schemes for using such hooks failed because there were **pairs** of files floating around: with sentinels and without. This creates an impossible-to-solve problem: namely ensuring that pairs were always in synch. Standing in the shower after my swim this afternoon I saw the solution. Suppose the transmission line (pushes and pulls) only carries files *with* sentinels. This ensures lossless transmission of data and sidesteps the intractable synchronization problem. The Leo project must provide *two kinds* of bzr hooks, one for Nancy and one for Leonard. When Nancy does a bzr pull, **her pull hook will strip Leo sentinels**. My first thought was OMG: it can't be that easy! Well, not quite. Nancy can change a file and then push it. How does Nancy's *push* hook recreate the file with sentinels?? Think about it... Answer: Nancy's push hook uses the @shadow algorithm!!! Nancy's *pull* hook will save the file *with* sentinels in the cache. When Nancy pushes a file (without sentinels), the push hook will use the @shadow algorithm to create the file (with sentinels) that actually gets transmitted over the wire. This will work!!! Leonard needs neither a push hook nor a pull hook, but a pull hook that simulated @auto for files that *never* had sentinels might be useful. Let's verify that Nancy will be (fairly) happy: - Installation is low cost: she just installs Leo's push/pull hooks. - Nancy will never, ever, will see a Leo sentinel. - Nancy will see *slightly* slower pushes and pulls than will Leonard, but probably not slow enough to be noticeable. In particular, paired files never get transmitted--only the (recreated) file *with* sentinels goes over the wire. This scheme completely appears to solve the technical issues! Let's consider management (team) issues. They will typically depend on the ratio L/N. - If L or N is zero, there is no problem ;-) If L is one, this scheme has no advantages over @shadow: Leonard is not sharing Leo data with anyone! If N is one, Nancy can probably be persuaded to accept *slightly* lower performance in order to please the group. Otherwise, negotiations (or an edict from management) will decide whether this scheme will be acceptable to Nancy, Nadine, et. al. If it isn't, Leonard, Lester et. al. will have to use @auto or @shadow. This may be a perfect technical solution; team-related considerations might kill it. Nevertheless, it is *far* better than anything I ever imagined before. This Aha would not have happened without Zoom.Quiet's questions and comments about collaboration. The Aha is a direct response to Terry's post that *finally* convinced me that is, um, unreasonable to blame people for not accepting Leo sentinels ;-) It's a good thing Kent and Terry were around to stop me from making an ass of myself. This has been a stellar collaboration. Thank you all! Your comments please. Edward P.S. No, this won't delay b1 further :-) EKR Ooh! This I like. If you want to draw more help, though, you'll have to generalize from 'bzr hook' to 'version-control-system-of-choice hook'. Whether this entails a single universal python script for all vcs', or tailored approaches for each system remains to be seen. I postulate that for this scheme to become successful, the following version control systems need to be supported (at least!): - bzr - git - hg (mercurial) - cvs - svn --Jake -- 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/groups/opt_out.
Re: Approaching Leo
On 10/22/2013 7:38 PM, Steve Litt wrote: On Mon, 21 Oct 2013 21:55:26 -0400 gatesphere gatesph...@gmail.com wrote: Keep pushing! Here's another step-by-step: 1) Create a node, headline named @file myfile.py (henceforth node A) 2) In the body of that node, put the following: @language python docstring @others if __name__ == '__main__': main() 3) Create a child node of node A, headline named docstring 4) In the body of that node, type this: ''' This is a docstring. It explains what this python module does. ''' 5) Create a child node of node A, headline named main 6) In the body of that node, type this: def main(): print hello, world! 7) Save your .leo. It should create myfile.py automatically. 8) Open myfile.py in an external editor. Observe the structure. Run it with a python interpreter if you want to make sure it's valid. 9) Experiment more! Done. Worked. Made a Python file called myfile.py that did the right thing and said the right thing in pydoc. However, I could not run it with Ctrl+B. Is there an either-or choice between putting it in a file and running it from a Ctrl+B? No, not at all. But there is a difference between 'print' and 'g.es'. 'print' sends things to the console, so if you're running Leo with a console window, you'd see hello, world!' there. However, g.es sends things to the log pane. Replace the print line with g.es('hello, world!'), save, and your Ctrl+B on the parent node will work just fine. Oh, another possible hiccup... python 2 had print as a command, python 3 has it as a function... but that's neither here nor there. Then I tried having three subnodes, each with a different g.ex(), and seeing if I could Ctrl+B their parent. No dice. However one does functional decomposition in Leo, it takes quite a bit of reading to find out. Agreed. A third step-by-step is in order, perhaps? 1) Create a node, headline anything you want. 2) In the body write the following: @language python x = 1 @others 3) Create a child node of that node, headline anything you want. 4) In that node's body, write the following: g.es('test# ', x) 5) Clone that node a few times so that it is it's own sibling (i.e. hit Ctrl-` with the node selected a few times) 6) Ctrl-B the parent node (from step 1). Observe the magic! Done. It printed Test# 1. But only once. Strange. I noticed I forgot a line after the g.es portion, namely x += 1. But that shouldn't have skewed the results. Are you sure you had the parent node selected? So then I added a second second level node that printed Steve was here, and sure enough, it printed both Steve was here and test #1. It appears to me that Leo won't execute multiple clones. Attached is a leo outline with the exact script above that I just built and tested, it works as intended. If you can't get it to work with this one, you've hit a bug. We'll investigate that further. I was able to set x in one node and print it in another. I was able to increment in consecutive nodes and have it come out right. That's good. That example uses clones to show how they can be used to reduce code repetition. I was unable to get several clones all execute. Again, try the attached outline. Let me know if you can't get it to work. --Jake Thanks, SteveT Steve Litt* http://www.troubleshooters.com/ Troubleshooting Training * Human Performance -- 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/groups/opt_out. ?xml version=1.0 encoding=utf-8? !-- Created by Leo (http://leoeditor.com/leo_toc.html) -- ?xml-stylesheet ekr_test? leo_file xmlns:leo=http://www.leo-editor.org/2011/leo; leo_header file_format=2 tnodes=0 max_tnode_index=0 clone_windows=0/ globals body_outline_ratio=0.5 body_secondary_ratio=0.5 global_window_position top=50 left=50 height=500 width=700/ global_log_window_position top=0 left=0 height=0 width=0/ /globals preferences/ find_panel_settings/ vnodes v t=peckj.20131022204243.3696 a=EvhSelect this node, and hit Ctrl+B/vh v t=peckj.20131022204243.3697vhDO NOT run this node/vh/v v t=peckj.20131022204243.3697/v v t=peckj.20131022204243.3697/v v t=peckj.20131022204243.3697/v /v /vnodes tnodes t tx=peckj.20131022204243.3696@language python x = 1 @others/t t tx=peckj.20131022204243.3697g.es('test# ', x) x += 1/t /tnodes /leo_file
Re: Why is nobody on #leo?
Good point. I think I'll start idling on there... --Jake (a.k.a. gatesphere) On 10/21/2013 8:08 PM, Steve Litt wrote: Hi all, There's a #leo IRC channel on FreeNode, devoted to Leo, but right now I (and Chanserve) are the only ones on it. For something as featureful as Leo, a well-attended IRC channel is a spectacular tool, if for no other reason than it has a lot less latency than a mailing list. When I have problems with something I don't know, like Windows, the first thing I do is get on an IRC channel and ask a clear question. After a little back and forth (and a little teasing because I'm such a newbie), I usually have the answer within a half hour. Anyway, I'm on #leo right now if anyone wants to talk :-) Thanks, SteveT Steve Litt* http://www.troubleshooters.com/ Troubleshooting Training * Human Performance -- 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/groups/opt_out.
Re: Approaching Leo
On 10/21/2013 8:00 PM, Steve Litt wrote: Hi all, I think this has some bearing on the recent discussion about increasing Leo's mindshare. Today I successfully completed Gatesphere's Leo Hello World, and you know what I discovered? Leo, as it's documented currently, is impenetrable to all but the most determined. Take a look at this: http://leoeditor.com/tutorial-scripting.html#hello-world Compare the text there to Gatesphere's expression of the same thing: 1) Create a node 2) Fill it's body with the following text: g.es('hello, world!') 3) Ctrl-B (execute-script) on that node. Output should appear in the log pane. Gatesphere's steps make it crystal clear that g.es('hello, world!') goes in the body of the node. The leoeditor.com hosted hello world didn't make it quite as clear, and for awhile I was putting it in the headline. Finally I went back to Gatesphere's description and got it running in 45 seconds. You might think I failed to notice the obvious. But it's a lot more obvious to a Leo user than to a guy who thinks hey, I wonder if this thing really works, let's try. I agree. I found breaking into the Leo scripting world non-trivial and had to write several practice scripts to get myself up to speed. In the process I learned python :p Not to invalidate your point, it does state Ctrl-B (execute-script) executes the body text of the selected node as a Python script. I think that's Edward's way of saying your code needs to lie in the body of the node. Additionally, scripts that aren't one-liners could never work with their code stored in headlines. But that's all obvious to those of us who *can* script Leo, so I can totally see why it would be missed by a newbie. Been there myself! So next I figured, hmmm, let's try getting the thing to make some Python files. Well, I got as far as putting @others into a headline, and just stone gave up. It was impenetrable as currently documented. Keep pushing! Here's another step-by-step: 1) Create a node, headline named @file myfile.py (henceforth node A) 2) In the body of that node, put the following: @language python docstring @others if __name__ == '__main__': main() 3) Create a child node of node A, headline named docstring 4) In the body of that node, type this: ''' This is a docstring. It explains what this python module does. ''' 5) Create a child node of node A, headline named main 6) In the body of that node, type this: def main(): print hello, world! 7) Save your .leo. It should create myfile.py automatically. 8) Open myfile.py in an external editor. Observe the structure. Run it with a python interpreter if you want to make sure it's valid. 9) Experiment more! Then I tried having three subnodes, each with a different g.ex(), and seeing if I could Ctrl+B their parent. No dice. However one does functional decomposition in Leo, it takes quite a bit of reading to find out. Agreed. A third step-by-step is in order, perhaps? 1) Create a node, headline anything you want. 2) In the body write the following: @language python x = 1 @others 3) Create a child node of that node, headline anything you want. 4) In that node's body, write the following: g.es('test# ', x) 5) Clone that node a few times so that it is it's own sibling (i.e. hit Ctrl-` with the node selected a few times) 6) Ctrl-B the parent node (from step 1). Observe the magic! That example uses clones to show how they can be used to reduce code repetition. It does not touch functional decomposition, but that is simple: each node under a parent node is a separate function. Here's how a lot of Geeks learn: http://www.troubleshooters.com/bookstore/rl.htm#flowchart Start with a proof of concept (Hello World), then keep adding one small thing at a time, so there's never confusion. This is what current Leo docs lack, or at least do poorly. Perhaps everyone who documents Leo is just too familiar with Leo. Agreed on both points! Incremental revision is the best way to learn, and unfortunately the docs are (always, it seems) written by those closes to the project. I run into the same issue constantly with ConTeXt, as an aside... so this isn't a Leo-specific problem. --Jake This is excellent news for Leo. The reason Leo doesn't have the mindshare to be in daily Geek conversation isn't because it has a flaw, or because it's a lousy way to create computer programs, or because everyone wants drag and drop. The reason is that, for all but the most determined Leo newbies, the documentation, and therefore the software, is impenetrable. Think of all the times in the past when an Infoworld writer explored Leo thinking of the possibility of writing about it (and you know they've all heard about it and tried it), and just ran out of time because it just took too long to discover each step along the way. Think of the next Infoworld writer who tries that, with a step by step (and I mean tiny, obvious, completely described, can't miss steps) tutorial
Re: Leo in the wild
On 10/21/2013 9:36 PM, Zoom.Quiet wrote: 2013/10/22 Edward K. Ream edream...@gmail.com: On Mon, Oct 21, 2013 at 3:43 AM, Zoom.Quiet zoom.qu...@gmail.com wrote: Please note Leo's new home address: http://leoeditor.com/ All links to http://webpages.charter.net are broken: in particular, the Leo link at the bottom of http://zoomquiet.org/ is must be; but i very suggested: - make 301 redirective for http://webpages.charter.net to http://leoeditor.com/ - because, there is sooo many sites copy my words about Leo - but all linked the old uri - and the google/bing etc. search enginer is also record as old link - so if can auto jump from old uri into new - whatever the people found leo words, can jump into right site . Unfortunately, I think EKR doesn't have access to the old site anymore. :-/ --Jake 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/groups/opt_out. -- 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/groups/opt_out.
Re: This, and *only* this, can make Leo more popular
On 10/20/2013 7:54 AM, Edward K. Ream wrote: I am pleased with Leo's new documentation, but as I have just indicated in the Just one more chapter? thread, I do not believe for a moment that better documentation for Leo has any chance of making Leo substantially more popular. So, what *would* make Leo more popular? To make Leo **notable**, as Wikipedia defines the term: http://en.wikipedia.org/wiki/Wikipedia:Notability In essence, it means: **There are full reviews of Leo that I didn't write** Only positive, external, unbiased, widely-read reviews have the potential to draw lots of people to Leo's home page. So that's the grand marketing challenge: to bring such reviews into being. By definition, I can not write them. Anyone want to try? Edward P.S. The notion of notable came to my attention in the talk tab of Leo's Wikipedia entry: http://en.wikipedia.org/wiki/Talk:Leo_%28text_editor%29 After a rocky start, I realized that the editor was saying something valuable. EKR Not that it's terribly germane to the conversation, I just found another mention of Leo in a printed book: http://books.google.com/books?id=vFsfxWHzQRECpg=PA59lpg=PA59dq=leo%2Beditor%2Bpythonsource=blots=GCYHhh6NIisig=b6C55nhyJduHaDJSid7WNe0f6ishl=ensa=Xei=DtFjUr7gO9i54AP2-4DYDgved=0CG0Q6AEwCDgo#v=onepageq=leof=false Book: Bioinformatics Programming in Python: A Practical Course for Beginners Author: Ruediger-Marcus Flaig --Jake -- 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/groups/opt_out.
Re: This, and *only* this, can make Leo more popular
On 10/20/2013 3:51 PM, Steve Litt wrote: Does anyone have instructions for building a Hello World app in Leo? 1) Create a node 2) Fill it's body with the following text: g.es('hello, world!') 3) Ctrl-B (execute-script) on that node. Output should appear in the log pane. - Jake -- 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/groups/opt_out.
Re: LeoPIM - recurring events library?
Just stumbled upon dateutil yesterday: http://labix.org/python-dateutil (see the module dateutil.rrule) --Jake On 10/12/2013 3:56 AM, Matt Wilkie wrote: might be worth seeing what Taskcoach uses. On Wed, Oct 2, 2013 at 9:49 AM, Terry Brown terry_n_br...@yahoo.com mailto:terry_n_br...@yahoo.com wrote: Anyone know of a python, preferably, light-weight, preferably, library for managing recurring events? I searched a while ago and found nothing except Chandler's, which was too embedded in Chandler. 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 mailto:leo-editor%2bunsubscr...@googlegroups.com. To post to this group, send email to leo-editor@googlegroups.com mailto:leo-editor@googlegroups.com. Visit this group at http://groups.google.com/group/leo-editor. For more options, visit https://groups.google.com/groups/opt_out. -- 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/groups/opt_out. -- 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/groups/opt_out.
Re: Check out Leo's new theory of operation
On 10/12/2013 7:59 AM, Edward K. Ream wrote: When I get there, it often feels like somebody else wrote it: I don't remember anything about the actual code. The old adage of six months pass and the code is foreign to you holds. -- 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/groups/opt_out.
Re: New plugin: rss.py - Leo is now a primitive RSS reader
This plugin has been updated as of rev 6139 to make it more configurable. Here's the relevant section of the docstring: Configuration Settings == This plugin is configured with the following @settings: @string rss-date-format --- Format string to provide datetime.time.strftime, to format entry dates. Defaults to '%Y-%m-%d %I:%M %p' if not provided. @bool rss-sort-newest-first --- If True, newest entries are placed before older entries. If False, older entries are placed before newer entries. @string rss-headline-format --- The format of an entry headline, specified with various tokens. Defaults to '[date] title' if not provided. Valid tokens are: | date - the date, formatted according to `@string rss-date-format` | title - the entry title | link - the entry link (not recommended in headline) | summary - the entry summary (extremely not recommeded in headline) Anything that isn't a valid token is retained untouched, such as the square brackets in the default setting. @data rss-body-format - The body of this node will provide the structure of the body of parsed entry nodes. Empty lines should be denoted with '\\n' on a line by itself. It defaults to the following, if not provided:: @url link \n title date \n summary Valid tokens are the same as for `@string rss-headline-format`. Any instance of '\n' on a line by itself is replaced with an empty line. All other strings that are not valid tokens are retained untouched, such as the `@url` directive in the default. --Jake -- 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/groups/opt_out.
Re: Check out Leo's home page!
On 10/6/2013 12:33 PM, Edward K. Ream wrote: The first tutorial now tells em what it told em. In that section, you might want to say something like Leo has hundreds of commands, each having a command name. BUT you can get by just fine with a small subset that works for you. You don't need to know all of them to use Leo. New users seeing hundreds of commands are likely to think power/flexibility just as much as oh my, far too much to learn, moving on to a simpler program now. --Jake -- 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/groups/opt_out.
Re: A 3-part organization for tutorials
On 10/6/2013 2:35 PM, Edward K. Ream wrote: I like what you're thinking of above. It makes sense, and that's usually the best guideline. This is yet another example of refactoring text. Leo excels at this task, but only recently have I become obsessed with refactoring text in both large and small ways. Writing words now seems more challenging than writing code. In some ways, writing words is also more interesting ;-) Agreed! I've been using Leo (in combination with git, GNU make, and ConTeXt) to prepare a few books for publication, and Leo is fantastic for refactoring text. I think I might have convinced my girlfriend to give Leo a go too -- she writes a lot in her spare time, and currently uses a gross system of multiple unrelated google docs. --Jake -- 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/groups/opt_out.
Re: Check out Leo's home page!
On 10/5/2013 6:10 PM, Edward K. Ream wrote: On Sat, Oct 5, 2013 at 5:01 PM, Edward K. Ream edream...@gmail.com mailto:edream...@gmail.com wrote: Fewer words, more oomph. *I* love it. What do *you* think? Also, the tutorial page at http://leoeditor.com/intro.html simply links to the two Learn in one hour parts. Again, *far* fewer words. The second part isn't completed yet. It will be soon. EKR -- 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/groups/opt_out. Fantastic! I think I can actually explain what Leo is now, by pointing user to the website and filling in any blanks (i.e. answering questions). Great work, Edward! Oh, one request -- the new tutorials are awesome, but please don't get rid of the old ones. They helped me a lot, and I think they're great for new users, after they try the new tutorials first that is. --Jake -- 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/groups/opt_out.
Re: todo or not todo
On 10/2/2013 5:32 PM, Terry Brown wrote: On Wed, 02 Oct 2013 17:13:30 -0400 gatesphere gatesph...@gmail.com wrote: I do the same as you, re: duedate as next-work date. :-) so obviously next work date was missing and needs to be there Ayup :) I agree the change is valid... duedate shouldn't change. I'd suggest using next-work-date to determine the color of the calendar icon, rather than due date. Though, there should be a fallback such that if the duedate is closer in time than the next-work-date, it should use duedate for the calendar color instead. In fact, rather than suggest, I pretty much require this. Those colored calendar icons really help me prioritize what I need to do TODAY. Makes sense - icon colored by minimum of those two dates - done. Awesome, thanks! Thanks for the input. Cheers -Terry Thanks for your work! --Jake -- 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/groups/opt_out.
Re: Why Leo isn't more popular
On 10/1/2013 10:15 PM, Seth Johnson wrote: This e-book has a whole sub-heading on using Leo for Joomla: http://www.gandsnut.net/downloads/Beginning_Joomla!_From_Novice_to_Professional.pdf Seth Huh, Leo made it into a book! It is a user who wrote it, *but* they are a published party who isn't involved with the dev team, as far as I know... Edward, would this count? It's a real book with an ISBN and everything! (amazon link: http://www.amazon.com/Beginning-Joomla-From-Novice-Professional/dp/1590598482/ref=sr_1_1?ie=UTF8qid=1380681874sr=8-1keywords=beginning+joomla+from+novice+to+professional) --Jake On Tue, Oct 1, 2013 at 4:29 PM, Edward K. Ream edream...@gmail.com wrote: On Tue, Oct 1, 2013 at 10:50 AM, Jacob Peck gatesph...@gmail.com wrote: QQQ The leo blog: http://leo-editor.github.io/ My personal blog: http://blog.suspended-chord.info/tagged?tag=leo A YouTube video by Ville: http://www.youtube.com/watch?v=Zu6J-J0qFi0 Blog post from James Tauber in 2004: http://jtauber.com/blog/2004/05/15/using_the_leo_outliner_as_a_pim/ Leo 4.10 release post on LWN: http://lwn.net/Articles/490673/ Mark D. Blackwell in 2011 on installing Leo in windows: http://markdblackwell.blogspot.com/2011/07/installing-leo-outlining-editor-on.html Old Leo resources page: http://www.jserv.com/jk_orr/xml/leo.htm Using Leo for literate Interactive Fiction game development: http://kooneiform.wordpress.com/2009/12/04/leo-and-pyf-literate-if-development-interactive-fiction-in-python-2/ Just the few I can find at the moment. I know I've seen more out there. QQQ Thanks for this list. It's useful. But notice, almost all of these are from Leo's users, *not* from any independent reviewers! That is, one of the most important stats presently stands at or near zero: the number of *independent* third-party reviews of Leo. It's a shocking realization. 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/groups/opt_out. -- 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/groups/opt_out.
Suggestion: c.user_vars and g.user_vars?
I've been seeing a lot of discussion lately on storing data in c or g, without polluting the namespace. Perhaps we should have c.user_vars and g.user_vars dictionaries by default? Something like v.u, except not persisted with the outline? Just a thought. --Jake -- 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/groups/opt_out.
Re: feature request - insert headline before current
To make this a command (which you can bind to with a key), in myLeoSettings.leo, make the node @commands, and then under it, a node @command insert-node-before. Then bind a key to insert-node-before and you're golden. Nice script, Fidel. That's exactly what I would have done :) --Jake On 9/22/2013 6:16 PM, Fidel N wrote: Hey Jkn: This quick script will do what you need, although Im pretty sure someone here will update it with something more eficcient =P c.p.insertAfter() c.executeMinibufferCommand('goto-next-sibling') c.executeMinibufferCommand('move-outline-up') c.executeMinibufferCommand('edit-headline') c.redraw() Just run that code (you can make it a button then click it from any node) and it will do what you need. On Monday, September 23, 2013 12:07:04 AM UTC+2, jkn wrote: Hi Edward (Background - I am experimenting with changing my Leo Key bindings to make it work more closely to other (lesser ;-) outliners I am more used to than Leo) One thing that I think is missing from Leo is a primitive command 'insert headline before current'. I would like to bind 'Insert' to this rather than ''insert-node', which of course inserts after the current headline. I've taken a quick look at def insertHeadline() in key-handling-notes.txt but I'm not initially confident of making the necessary additions. Would it be appropriate to raise a wishlist item for this? Thanks. Also, whilst I'm looking at the source - can you explain to me where/how 'key-handling-notes.txt is 'included' as part of Leo? I can't work this out from an initial skim... Thanks a lot Jon N -- 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/groups/opt_out. -- 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/groups/opt_out.
Re: Warning: revs 6016-6020 contain a grand housekeeping
On 9/21/2013 4:02 PM, Terry Brown wrote: On Sat, 21 Sep 2013 10:05:18 -0500 Terry Brown terry_n_br...@yahoo.com wrote: -if len(allIcons) != len(icons): # something to add / remove -com.setIconList(p, icons) + +com.setIconList(p, icons) in leo/plugins/todo.py fixes it, the code was messy and dubious. But why it only caused a problem in Win 7? Absolutely no idea. If launchpad ever comes up again, I'll push this. https://twitter.com/launchpadstatus Launchpad's back up. We've restored power to the datacentre and recovered the affected services. So the changes to fix todo.py are pushed. Cheers -Terry Thanks, Terry, works like a charm. --Jake -- 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/groups/opt_out.
Re: Warning: revs 6016-6020 contain a grand housekeeping
On 9/20/2013 10:50 PM, Edward K. Ream wrote: Today's work removes dozens of unused methods that are holdovers from the qt gui. All unit tests pass, and pylint is happy, but these checks apply mostly to Leo's core (and gui) code. It's possible that plugins may use some of these methods. Indeed, I did remove one method from bookmarks.py. I wrote a script that searches for all changed methods in leoPlugins.leo. It reported a few calls, but these are calls to other (non-deleted) methods. I verified that colorize_headlines.py still works, and it now colorizes @file nodes also ;-) Still there remains the possibilities that I have wrongly deleted something. If so, please let me know. The good news is that a lot of redundant, confusing, out-of-date code is gone. Edward Icons from todo.py are broken - my nodes are naked. I'm looking for the rev that broke them now, will report back. --Jake -- 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/groups/opt_out.