El Sat, 13 Dec 2014 12:33:16 +0100 Nicolas Goaziou va escriure: > > But these are technical details, not relevant to a non-programmer. > > Which basically means nothing, because everything ultimately boils down > to technical details. >
That's always true. But UIs still need to be simple. No need to teach the user the differences of a :CLOCK: vs a :PROPERTIES: or drawer vs. metadata. Users who type can do a simpler distinction: 1. things you type yourself 2. things that appear/change/disappear after invoking org functions (C-something, S-something, M-something). E.g.: the words SCHEDULED, TODO, CLOCK, PROPERTIES, EFFORT, checkboxes [ ], timestamps, … I speak for myself, but I expect class 1 not to be changed by org, and class 2 to be handled only by org (I can always edit manually, but I shouldn't need to do it). I know that you can actually type everything in class 2, but you shouldn't NEED to. Any other opinions are welcome. > > - he writes a new tree and some text inside > > - he clocks in > > - he demotes the tree (shift+right) because he wants to change the tree > > structure. Result: his text also is modified > > FUD. Neither the text nor its structure are modified. Only indentation > is. How it is done is explained in `org-adapt-indentation' docstring. > Indentation is for me as important as the other letters I type. I don't want it changed. It's a personal preference. Emacs respects it to great extents. > > because in a logical tree of nodes, demoting does not mean „shift > > contents“. > > Huh? "Citation needed". Maybe I should clarify that I see the text inside my org files as a tree of knowledge. The position inside the tree of a particular item does not affect how I write the text (e.g. how many indentation spaces). I can move nodes freely from one place to another and I have no indentations to fix. „Tree structure“ and „item content“ are disconnected. If you really need other sources, you can see how tree operations in other contexts don't modify the contents of each node: http://pythonhosted.org/ete2/tutorial/tutorial_trees.html#concatenating-trees I wouldn't want titles, clocks, IDs, indentations, properties, priorities etc. changed when the tree structure changes. Maybe other people think the same; you can survey the list. > > I also lose controllability because I have no way to rearrange nodes > > without side effects. > > We might fix them. What are exactly these side-effects? > The only one: indentation is added: After demoting, it changes from this: **** some :CLOCK: CLOCK: [2013-11-12 Sel 10:45]--[2013-11-12 Sel 11:40] => 0:55 :END: Text to this: ***** some :CLOCK: CLOCK: [2013-11-12 Sel 10:45]--[2013-11-12 Sel 11:40] => 0:55 :END: Text This will happen in all subtrees. > > I suggest: > > > > 1. New default for org-adapt-indentation = 'partial, which shifts > > every line until the first line which starts at column 0. This may not > > shift all drawers in complex cases where you have them in the bottom > > of the tree; therefore it's called partial. > > I'm not really against it, but this is really hackish and probably > surprising. That's similar to a not-so-bad old behaviour. But it's still a bit better (it avoids the problem described in http://permalink.gmane.org/gmane.emacs.orgmode/92450) > AFAICT, you erroneously think regular drawers are an Org internal > artifact whereas they are really meant for users. They should be > indented like their contents, no like planning info. I do the typed-by-me/not-typed-by-me distinction. > > > 2. With org-adapt-indentation = 'partial, new lines added by org > > (:CLOCK: drawer, CLOCK lines etc) appear at the same column as the > > heading, not at column 0 > > This would be plain wrong. Indentation is relative to the element above. > Heading indentation is but the fallback value. > Ok, make it: 2. With org-adapt-indentation = 'partial, new lines added by org (:CLOCK: drawer, CLOCK lines etc) are indented at the same level as the element above. -- Daniel