Show all clock entries in og-mode in agenda and timeline.

Special command as safe replacement for C-k.
This commit is contained in:
Carsten Dominik 2008-01-31 22:26:09 +01:00
parent e5eaacb55a
commit bcacae20a2
3 changed files with 94 additions and 45 deletions

View File

@ -1,3 +1,10 @@
2008-01-31 Carsten Dominik <dominik@science.uva.nl>
* org.el (org-agenda-get-closed): List each clocking entry.
(org-set-tags): Only tabify before tags if indent-tabs-mode is t.
(org-special-ctrl-k): New option.
(org-kill-line): New function.
2008-01-26 Carsten Dominik <dominik@science.uva.nl>
* org.el (org-archive-all-done): Fixed incorrect number of stars

View File

@ -66,55 +66,67 @@
*** Misc
- If an entry is clocked multiple times, it ill now show up
several times in the agenda and timeline buffers, when
log-mode is on. This was a proposal by Jurgen Defurne.
- There is a new variabls `org-special-ctrl-k'. When set,
`C-k' will behave specially in headlines:
- In `org-goto', typing characters now automatically starts
isearch from the beginning of the buffer. The isearch is
special also because it only matches in headline. This goes
some way toward saving org-goto from being removed from
Org-mode. Thanks to Piotr Zielinski for the code, and sorry
that it took me o long to ut it in. If you prefer to use
single letters n,p,f,b,u,q for navigation as before,
configure the variable `org-goto-auto-isearch'.
+ When the cursor is at the beginning of a headline, kill
the entire line and possible the folded subtree below the
line.
+ When in the middle of the headline text, kill the
headline up to the tags.
+ When after the headline text, kill the tags.
- The clock table accepts a new parameter =:step=. This
parameter can be `day' or `week' and will result in separate
tables for each day or week in the requested time interval.
This was triggered by a proposal by Sacha Chua in her [[http://sachachua.com/wp/2007/12/30/clocking-time-with-emacs-org/][blog]].
This is following a proposal by Piotr Zielinski.
- A time-stamp with a repeater now no longer refers to the
date *closest* to the current day. Instead, it means either
today or the most recent match. This change makes sure that
overdue scheduled or deadline items never disappear from the
agenda. With the previous convention, an overdue sheduled
item would disappear. For example, a weekly item scheduled
for Sunday would appear as overdue until Wednesday, and the
suddenly disappear until next Sunday. Now the item will
show up as "Sched 7x" on Saturday. From Sunday on it will
be in the list as "Scheduled", i.e. old sins will be
forgiven. This follows a request by Warong, Dennis and
Bernt.
- If an entry is clocked multiple times, it ill now show up
several times in the agenda and timeline buffers, when
log-mode is on. This was a proposal by Jurgen Defurne.
- In `org-goto', typing characters now automatically starts
isearch from the beginning of the buffer. The isearch is
special also because it only matches in headline. This goes
some way toward saving org-goto from being removed from
Org-mode. Thanks to Piotr Zielinski for the code, and sorry
that it took me o long to ut it in. If you prefer to use
single letters n,p,f,b,u,q for navigation as before,
configure the variable `org-goto-auto-isearch'.
- Archving a subtree now creates an additional property,
=ARCHIVE_OLPATH=. This property contains the "path" in the
outline tree to the archived entry, as it was in the
original file. For example, archiving =Fix the door= in the
following hierarchy
- The clock table accepts a new parameter =:step=. This
parameter can be `day' or `week' and will result in separate
tables for each day or week in the requested time interval.
This was triggered by a proposal by Sacha Chua in her [[http://sachachua.com/wp/2007/12/30/clocking-time-with-emacs-org/][blog]].
: * Tasks
: ** HOME
: *** Garage
: **** Fix the door
- A time-stamp with a repeater now no longer refers to the
date *closest* to the current day. Instead, it means either
today or the most recent match. This change makes sure that
overdue scheduled or deadline items never disappear from the
agenda. With the previous convention, an overdue sheduled
item would disappear. For example, a weekly item scheduled
for Sunday would appear as overdue until Wednesday, and the
suddenly disappear until next Sunday. Now the item will
show up as "Sched 7x" on Saturday. From Sunday on it will
be in the list as "Scheduled", i.e. old sins will be
forgiven. This follows a request by Warong, Dennis and
Bernt.
will file is with the following property
: :ARCHIVE_PATH: Task/HOME/Garage
Note that you can configure (i.e. limit) the information
that gets stored upon archiving with the variable
`org-archive-save-context-info'.
- Archving a subtree now creates an additional property,
=ARCHIVE_OLPATH=. This property contains the "path" in the
outline tree to the archived entry, as it was in the
original file. For example, archiving =Fix the door= in the
following hierarchy
: * Tasks
: ** HOME
: *** Garage
: **** Fix the door
will file is with the following property
: :ARCHIVE_PATH: Task/HOME/Garage
Note that you can configure (i.e. limit) the information
that gets stored upon archiving with the variable
`org-archive-save-context-info'.
* Version 5.19

34
org.el
View File

@ -522,6 +522,18 @@ to the special positions."
(if (fboundp 'defvaralias)
(defvaralias 'org-special-ctrl-a 'org-special-ctrl-a/e))
(defcustom org-special-ctrl-k nil
"Non-nil means `C-k' will behave specially in headlines.
When nil, `C-k' will call the default `kill-line' command.
When t, the following will happen while the cursor is in the headline:
- When the cursor is at the beginning of a headline, kill the entire
line and possible the folded subtree below the line.
- When in the middle of the headline text, kill the headline up to the tags.
- When after the headline text, kill the tags."
:group 'org-edit-structure
:type 'boolean)
(defcustom org-odd-levels-only nil
"Non-nil means, skip even levels and only use odd levels for the outline.
This has the effect that two stars are being added/taken away in
@ -5873,7 +5885,9 @@ Optional argument N means, put the headline into the Nth line of the window."
(org-defkey map [(down)] 'outline-next-visible-heading)
(org-defkey map [(up)] 'outline-previous-visible-heading)
(if org-goto-auto-isearch
(define-key-after map [t] 'org-goto-local-auto-isearch)
(if (fboundp 'define-key-after)
(define-key-after map [t] 'org-goto-local-auto-isearch)
nil)
(org-defkey map "q" 'org-goto-quit)
(org-defkey map "n" 'outline-next-visible-heading)
(org-defkey map "p" 'outline-previous-visible-heading)
@ -15427,7 +15441,7 @@ With prefix ARG, realign all tags in headings in the current buffer."
(- (- org-tags-column) (length tags))))
rpl (concat (make-string (max 0 (- c1 c0)) ?\ ) tags)))
(replace-match rpl t t)
(and (not (featurep 'xemacs)) c0 (tabify p0 (point)))
(and (not (featurep 'xemacs)) c0 indent-tabs-mode (tabify p0 (point)))
tags)
(t (error "Tags alignment failed")))
(move-to-column col)
@ -27626,6 +27640,7 @@ work correctly."
;;;; Functions extending outline functionality
(defun org-beginning-of-line (&optional arg)
"Go to the beginning of the current line. If that is invisible, continue
to a visible line beginning. This makes the function of C-a more intuitive.
@ -27690,6 +27705,21 @@ beyond the end of the headline."
(define-key org-mode-map "\C-a" 'org-beginning-of-line)
(define-key org-mode-map "\C-e" 'org-end-of-line)
(defun org-kill-line (&optional arg)
"Kill line, to tags or end of line."
(interactive "P")
(cond
((or (not org-special-ctrl-k)
(bolp)
(not (org-on-heading-p)))
(call-interactively 'kill-line))
((looking-at (org-re ".*?\\S-\\([ \t]+\\(:[[:alnum:]_@:]+:\\)\\)[ \t]*$"))
(kill-region (point) (match-beginning 1))
(org-set-tags nil t))
(t (kill-region (point) (point-at-eol)))))
(define-key org-mode-map "\C-k" 'org-kill-line)
(defun org-invisible-p ()
"Check if point is at a character currently not visible."
;; Early versions of noutline don't have `outline-invisible-p'.