emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] [NEW FEATURE] org-hlc.el - hidden-lines-cookies (hlc) for Org-mo


From: Thorsten Jolitz
Subject: Re: [O] [NEW FEATURE] org-hlc.el - hidden-lines-cookies (hlc) for Org-mode
Date: Fri, 24 May 2013 19:45:41 +0200
User-agent: Gnus/5.130002 (Ma Gnus v0.2) Emacs/24.3 (gnu/linux)

François Pinard <address@hidden> writes:

Hi Francios, 

> You're quite generous when you say "full fledged" :-).  There are many
> details in which I find org-weights.el unsatisfactory, but as it is
> sufficient as it stands for my day-to-day usage, I'm not overly pushing
> on it (the pun is purely accidental).
>
>> | * Header 1                       *    2 + 1...
>
>> | ## * Header 1   [#1]
>
> I find the "*    2 + 1" far too verbose, in that it uses too much horizontal
> space, I much prefer the compact aspect of "[#1]".  

The weights are a bit heavy, and I had to move them to column 65 to make
them fit in a vertically splitted screen. But they carry more
information of course, the question is if one can process this
information quickly enough, or if one single number is not enough to
give an impression of the subtrees 'weight'. Or maybe 

,----------------------
| * Header 1   [2/1]...
`----------------------

is easier on the eyes than 

,-----------------------------------------------
| * Header 1                       *    2 + 1...
`-----------------------------------------------

> What would be ideal, but I do not know if it can be organized, would
> keep the weights or hidden-lines information always glued to the
> ellipsis, and not hiding any underlying text as org-weights currently
> does. On the other hand, there are some virtue to the vertical
> alignment of weight information. Sigh! Nothing is perfect...

It would be easy to make the position of the weight/cookie a user option
- either direcctly behind the headline text, or aligned at a certain
column. 

>> [...] shows the overlay-info for *all* headlines except the one where
>> point is on.
>
> That exception is a sad and questionable workaround, for being able to
> edit the current line.  When, in normal and standard Org mode, I edit a
> line which has an ellipsis at the end, I may edit the line like any
> other one without seeing undesired effects.  org-weights should be
> equally capable, and there should be no reason (ideally) to hide the
> information for the line where the point is, merely for editing to work.

I would still like to have my original idea (which was actually a user
request for outshine.el by Jonas Bernoulli): show the number of hidden
lines only when the headline is folded, and update with every visibility
change.

>> one problem I hit is that a visibility change does not uptdate all
>> cookies/weights at once, they are only updated headline per headline
>> when point is moved up and down.  Is that for performance reasons?
>
> See the Caveats section at the end of org-weights documentation.
> Normally, the information to be updated may be minimized to the header
> above the line holding point, and then, recursively up.  But there is a
> bug in this optimization when a header is demoted (as explained in
> Caveats).  Another performance-related detail is the quadratic behaviour
> which may be seen in big, deeply nested Org files: it could be avoided
> by cleverly saving (in a hidden way) information on computations already
> done, and reusing it instead of recomputing it many times.  But as usual
> with most cached optimization, it is difficult to get fully right.

This task seems to bring Emacs to its limits, at least in 5000+ lines
outshine buffers (e.g. my init.el). 

So maybe its not that suited for a visibility-change hook, but rather
for occasional activation by an explicit user command?

-- 
cheers,
Thorsten




reply via email to

[Prev in Thread] Current Thread [Next in Thread]