1
0
mirror of https://git.savannah.gnu.org/git/emacs/org-mode.git synced 2024-12-01 08:17:34 +00:00
Commit Graph

591 Commits

Author SHA1 Message Date
Carsten Dominik
fd7b3e9717 Revert "Fix bug with :maxlevel 0 in clock tables"
This reverts commit 5801fa6c63.
2010-10-28 08:09:46 +02:00
Carsten Dominik
8e12716f68 Fix bug when computing clock tables.
* lisp/org-clock.el (org-dblock-write:clocktable): Fix bug
when computing clock tables.

Ouch, bad bug.  Resetting the clock file time was always
happening in the same file, not in the different files
visited by the summer.
2010-10-26 17:17:15 +02:00
Carsten Dominik
5801fa6c63 Fix bug with :maxlevel 0 in clock tables
* lisp/org-clock.el (org-dblock-write:clocktable): Pass file minutes
up to caller even if no table is generated.

Rainer Stengele writes:

> 1. Without maxlevbel I get I get
>
> #+BEGIN: clocktable :scope ("file1.org" "file2") :timestamp t :tstart "<2010-05-01 Sa 00:00>" :tend  "<2010-07-31 Sa 23:55>"
> Clock summary at [2010-07-22 Do 09:07]
>
> | File              | L | Timestamp           | Headline       |     Time |        |        |
> |-------------------+---+---------------------+----------------+----------+--------+--------|
> |                   |   | Timestamp           | *Total time*   | *327:51* |        |        |
> ...
>
>
>
> with :maxlevel 0 I get
>
>
> #+BEGIN: clocktable :maxlevel 0 :scope ("file1.org" "file2") :timestamp t :tstart "<2010-05-01 Sa 00:00>" :tend  "<2010-07-31 Sa 23:55>"
> Clock summary at [2010-07-22 Do 09:11]
>
> | File | L | Timestamp | Headline     | Time     |
> |------+---+-----------+--------------+----------|
> |      |   | Timestamp | *Total time* | *232:17* |
> |------+---+-----------+--------------+----------|
> #+END:
>
>
> I would like to get the same results!
> Is ":maxlevel 0" intended to not include the sublevel clocks?
2010-10-26 13:27:20 +02:00
Bernt Hansen
344785bd8c Fix dangling clocks created by org-clock-out-hook clocking in again
This is a fixup patch to commit
17c71a40c6.  The org-clock-clocking-in
variable needs to be set when we are clocking out - in case the clock
out hook clocks-in again.  This fixes a bug that creates dangling
clock entries.
2010-10-03 11:47:15 -04:00
Bernt Hansen
17c71a40c6 Revert "Update modeline with effort and task name on re-clock-in"
This reverts commit 4a4fbf1b8c.

Clocking in the currently clocking task was leaving open clock entries
which is incorrect.  Updating the modeline is less important than
keeping correct clocking data.
2010-10-03 17:27:39 +02:00
David Maus
82b7d0bf07 Properly declare function to silence byte compiler
* org-clock.el (notifications-notify): Properly declare function to
silence byte compiler.
2010-09-07 20:03:30 +02:00
Bastien Guerry
e13843ef65 Keep byte compiler happy. 2010-09-05 22:59:07 +02:00
Bastien Guerry
fea907285c org-show-notification: use notifications.el when available.
notifications.el is a new package from Julien Danjou, available
in Emacs 24.1.  From etc/NEWS:

,----
| ** notifications.el provides an implementation of the Desktop
| Notifications API.  It requires D-Bus for communication.
`----
2010-09-02 23:51:22 +02:00
Manish Sharma
2cf6136523 Allow "#" and "%" in tags
Patch largely from Manish, missing points added by Carsten
2010-08-31 08:25:20 +02:00
Magnus Henoch
b2861749d0 Fix :step day for agenda clockreport
I just tried adding :step day to
org-agenda-clockreport-parameter-plist, but then hitting R in the
agenda caused a crash, since org-clocktable-steps expects ts and te to
be strings, though in fact they are Gregorian day numbers.

This patch fixes the problem for me.  It's quite ugly, so I don't
expect it to be committed in its current form :) but I hope it serves
as inspiration for someone to figure out the right way to solve this.

* lisp/org-clock.el (org-clocktable-steps): Allow ts and te to be
day numbers.

TINYCHANGE
2010-08-27 16:27:38 +02:00
Bastien Guerry
5b8e10aaed Bugfix in org-clock-set-current.
Don't try to get the filename as it break `org-clock-set-current' when
trying to clock in from an indirect capture buffer.
2010-08-13 10:36:16 +02:00
Bastien Guerry
a7a842457d Rebind org-agenda-clock-goto to `J' in the agenda.
* org-agenda.el (org-agenda-clock-goto): Use `\C-c\C-x\C-j' for
`org-clock-goto' and `J' for `org-agenda-clock-goto'.  If the heading
currently clocked in is not listed in the agenda, display this entry
in another buffer.  If there is no running clock, display a help
message.

* org-clock.el (org-clock-set-current): append the filename after the
heading.
2010-08-11 16:10:14 +02:00
Carsten Dominik
6268cceec3 Mention release 7.01 on the website, push release number to 7.01trans 2010-07-19 08:33:24 +02:00
Philip Rooke
254740cb9c Correct some docstrings
This patch makes some straightforward corrections to a number of
docstrings.  Each change is normally to:

- correct a typo, or
- fix up hyperlinks to function or variable names, or
- ensure slightly better conformance with the documentation guidelines
  and tips given in the Elisp manual

No attempt is made to provide missing docstrings or document arguments.

Cheers,

Phil
2010-07-15 19:04:38 +02:00
Carsten Dominik
1fc1dc389b Make sure the clock history only points to base buffers 2010-06-24 07:39:10 +02:00
Carsten Dominik
b27c1c5113 Fix whitespace problems 2010-06-07 08:35:10 +02:00
Carsten Dominik
5b68cf4c4f Allow to skip steps in clock reports that have zero time
* org-clock.el (org-dblock-write:clocktable): Return total time.
(org-clocktable-steps): Skip step when time is zero and the
:stepskip0 property is set.

Rainer Stengele writes:

> Creating clocktables for each day of a month is an excellent feature
> in org!  Problem for me is that many resulting tables have a total
> time of 0:00.  The problem is not really the zero time I spent but the
> appearance of the tables with zero total time.
>
> Is there a possibility to skip getting such tables?  Rational: I do
> not need to show my boss or customer days where I spent 0:00 time on
> the project.

Now you can set :stepskip0 to achieve this.
2010-05-22 08:18:20 +02:00
Bernt Hansen
1405953456 Set org-clock-clocking-in' to t before org-clock-out' 2010-05-20 18:15:03 -04:00
Carsten Dominik
2daea07630 Fix Bernt's previous patch 2010-05-17 13:56:17 +02:00
Carsten Dominik
696c2bf869 Add running clock only to report if time scope is right
Patch by Bernt Hansen:

> When org-clock-report-include-clocking-task is set we always add the
> current clocking task to the clock report.  This is incorrect if you
> are looking at an agenda clock report for a time range that does not
> include the current clocking task (e.g. yesterday or last week).
>
> Now we only include the current clocking task if the clock report
> date range includes the current clocking task start time.
2010-05-17 11:36:09 +02:00
John Wiegley
99afb931b2 (org-resolve-clocks): Changed meaning of an argument 2010-05-16 22:12:14 +02:00
John Wiegley
3128e93340 Discovered clocks were not matching up with active clock 2010-05-16 22:11:59 +02:00
John Wiegley
6a360dbf4a Enhanced functionality of the clock resolver
i/q/C-g  Ignore this question; the same as keeping all the idle time.

k/K      Keep X minutes of the idle time (default is all).  If this
         amount is less than the default, you will be clocked out
         that many minutes after the time that idling began, and then
         clocked back in at the present time.
g/G      Indicate that you \"got back\" X minutes ago.  This is quite
         different from 'k': it clocks you out from the beginning of
         the idle period and clock you back in X minutes ago.
s/S      Subtract the idle time from the current clock.  This is the
         same as keeping 0 minutes.
C        Cancel the open timer altogether.  It will be as though you
         never clocked in.
j/J      Jump to the current clock, to make manual adjustments.

For all these options, using uppercase makes your final state
to be CLOCKED OUT.
2010-05-16 22:11:45 +02:00
Carsten Dominik
c86a3fc4aa Push version number to 6.36trans 2010-05-09 06:24:20 +02:00
Carsten Dominik
88100d1580 Release 6.36a 2010-05-09 06:13:54 +02:00
Carsten Dominik
7389ecea03 Fix permissions 2010-05-01 21:57:50 +02:00
Carsten Dominik
110b175ef9 Remove (debug) 2010-05-01 06:35:23 +02:00
Carsten Dominik
23a1f40e3a Fix more typos 2010-05-01 06:30:02 +02:00
Carsten Dominik
5faad3ce87 Make sure clock mode line display is removed when there is not clock
Patch by Sebastian Rose.
2010-04-26 00:02:49 +02:00
Carsten Dominik
c59da3a3dd Add tags matching to clock tables
Adam Elliott writes:

> I have attached a git patch against master that implements a new
> parameter to clock tables, "tags".  This parameter is a tags-query as a
> string and is used to filter the headlines which are consulted when
> building the clock table.
>
> In my search of the archives to see if this feature already existed, I
> found a reference here:
>  http://article.gmane.org/gmane.emacs.orgmode/17304
> suggesting it was difficult.  The patch is not so large, though, so
> perhaps I am missing something.
>
> My rationale in implementing this feature was to keep track of the
> occasional task item that is not billable, yet still makes sense to
> include in the overall project structure.  Of course I could just avoid
> clocking the task item, or manually delete clock lines before generating
> a report, but this feature reduces the chance for error; no doubt there
> are other workflows enabled with this feature as well.  I don't make
> significant use of tags myself, but I know many do.
>
> In order to maintain a sensible report, headlines that don't match the
> tag filter may be included if they have descendants that do.  Any time
> clocked directly on non-matching headlines, however, is excluded.
>
> Specifying even a simple filter noticeably slows down clock table
> generation for non-toy reports, particularly for clock table reports
> with :step.  If there is no filter, though, there is no degradation in
> performance.
>
> Tag filter syntax is the standard one, as described at:
>  http://orgmode.org/manual/Matching-tags-and-properties.html
> Only tags are considered at the moment, although I suspect querying
> against all properties would be possible (if even slower).
>
> Examples:
>
> * development
>  CLOCK: => 1:00
> *** task 1
>    CLOCK: => 1:00
> *** task 2                                              :must:
> ***** task 2a
>      CLOCK: => 1:00
> ***** task 2b                                           :mustnot:
>      CLOCK: => 1:00
>
> Note I am using an unconventional but legal(ish) clock format for
> brevity.  Clock tables are also pruned to only relevant lines.
>
> [1] #+BEGIN: clocktable
> |   | *Total time* | *4:00* |      |      |
> |---+--------------+--------+------+------|
> | 1 | development  | 4:00   |      |      |
> | 2 | task 1       |        | 1:00 |      |
> | 2 | task 2       |        | 2:00 |      |
> | 3 | task 2a      |        |      | 1:00 |
> | 3 | task 2b      |        |      | 1:00 |
>
> [2] #+BEGIN: clocktable :tags "must"
> |   | *Total time* | *2:00* |      |      |
> |---+--------------+--------+------+------|
> | 1 | development  | 2:00   |      |      |
> | 2 | task 2       |        | 2:00 |      |
> | 3 | task 2a      |        |      | 1:00 |
> | 3 | task 2b      |        |      | 1:00 |
>
> [3] #+BEGIN: clocktable :tags "-mustnot"
> |   | *Total time* | *3:00* |      |      |
> |---+--------------+--------+------+------|
> | 1 | development  | 3:00   |      |      |
> | 2 | task 1       |        | 1:00 |      |
> | 2 | task 2       |        | 1:00 |      |
> | 3 | task 2a      |        |      | 1:00 |
>
> [4] #+BEGIN: clocktable :tags "must-mustnot"
> |   | *Total time* | *1:00* |      |      |
> |---+--------------+--------+------+------|
> | 1 | development  | 1:00   |      |      |
> | 2 | task 2       |        | 1:00 |      |
> | 3 | task 2a      |        |      | 1:00 |
>
> [5] #+BEGIN: clocktable :tags "must+mustnot"
> |   | *Total time* | *1:00* |      |      |
> |---+--------------+--------+------+------|
> | 1 | development  | 1:00   |      |      |
> | 2 | task 2       |        | 1:00 |      |
> | 3 | task 2b      |        |      | 1:00 |
>
> As you can see, in examples 2, 4, and 5, the time clocked on
> "development" itself is being removed.  Example 2 illustrates the effect
> of tag inheritance.
>
> Adam
2010-04-23 21:24:19 +02:00
Carsten Dominik
e0ca9a5bdf More work on simplifying compatibility code 2010-04-21 09:18:12 +02:00
Bastien Guerry
e60353004c Modify `org-clock-set-current' to just return the headline itself, strip
the TODO keyword, the priority cookie and the tags.
2010-04-19 12:57:34 +02:00
Carsten Dominik
bb0ef787b7 Require calendar already on top level in org.el 2010-04-18 16:50:13 +02:00
Carsten Dominik
b934169526 Get rid of some compiler warnings 2010-04-18 16:49:58 +02:00
Carsten Dominik
f45e6a28b1 Use the normal overlay API, not Org's one 2010-04-18 16:49:58 +02:00
Carsten Dominik
43bf1bbbd7 Push version number to 6.35trans 2010-04-15 12:24:55 +02:00
Carsten Dominik
6f3026edf1 Release 6.35g 2010-04-08 20:15:15 +02:00
Carsten Dominik
a589c7a22e Release 6.35f 2010-04-08 10:36:32 +02:00
Carsten Dominik
50e5924d8a Release 6.35e 2010-04-07 16:33:52 +02:00
Carsten Dominik
f722763f8a Release 6.35d 2010-04-07 16:26:42 +02:00
Carsten Dominik
d65ed03be6 Update copyright notices and fix wrong version tags 2010-04-07 16:26:10 +02:00
Carsten Dominik
cafbe1d038 Release 6.35c 2010-04-07 08:58:25 +02:00
Carsten Dominik
b213c0f31e Release 6.35b 2010-04-07 07:54:14 +02:00
Carsten Dominik
08d0d2fa20 Release 6.35 2010-04-06 09:16:36 +02:00
Carsten Dominik
8fdf80bb5b Fix whitespace and compiler wanings 2010-04-01 13:11:54 +02:00
Bernt Hansen
d21b9155eb Typo: left-over -> leftover
Since this is not an exposed variable we can rename it so that it is spelled
correctly.
2010-03-28 22:10:24 -04:00
Bernt Hansen
c7bc245ef5 Reveal after goto
Occasionally when jumping to the last task we end up inside
a folded region.  This just reveals the headline to make
editing easier.
2010-03-28 22:10:24 -04:00
Carsten Dominik
a5ebc8d3ae Refactor some functions in clocking
Patch by Bernt Hansen
2010-03-09 17:10:15 +01:00
Carsten Dominik
93c721fabf Clock: Allow to add the current clock when preparing a report
This is dependent on the new variable
`org-clock-report-include-clocking-task', default nil.

Patch by Bernt Hansen.
2010-02-27 13:21:31 +01:00
Bastien Guerry
30ffaca5aa Added org-clock-current-task which stores the last clocked in entry.
The `org-clock-set-current' and `org-clock-delete-current' functions
handle this variable.  The variable only stores the last clocked in
entry, not the history of clocked in tasks.
2010-02-24 16:28:43 +01:00
Bernt Hansen
33740c5833 Fix clock-in with effort and percent complete cookie
Fixes Lisp error: (error "Not enough arguments for format string") when the
task to be clocked in has both a % in the heading due to the [%] cookie and an effort.
2010-02-20 18:06:19 +01:00
Carsten Dominik
1bb65e22d9 Format links in the clock line
Patch by Kiwon Um.
2010-01-26 23:01:59 +01:00
Carsten Dominik
3a2c616655 Fix typos 2010-01-26 22:39:21 +01:00
Carsten Dominik
7f0995dcab Show clock overruns in mode line
Patch by Richard Riley.
2010-01-23 10:41:13 +01:00
Carsten Dominik
2e53d9b137 Remove comma after means in many docstrings
Stephen Eglen says these commas should not be there.
2010-01-21 16:15:40 +01:00
Carsten Dominik
06e74afce3 Version number to 6.34trans 2010-01-20 10:13:21 +01:00
Carsten Dominik
a1709ba641 Release 6.34c 2010-01-18 00:10:11 +01:00
Carsten Dominik
d2dc39a67b Automatically clock out when switching to specified state
The variable `org-clock-out-when-done' can now also be a list of
states.  When the TODO state of a task changes to one of these states,
the clock will stop running in that task.

This extension of the logic was a proposal by Ricard Riley.
2010-01-15 18:21:36 +01:00
Carsten Dominik
2f2f9441d4 Release 6.34b 2010-01-14 23:06:55 +01:00
Carsten Dominik
c077142241 Release 6.34a 2010-01-12 08:53:44 +01:00
Carsten Dominik
288c724335 Release 6.34 2010-01-10 10:57:53 +01:00
Carsten Dominik
275b6627a6 Release 3.34 2010-01-10 10:54:52 +01:00
Bernt Hansen
4a4fbf1b8c Update modeline with effort and task name on re-clock-in
Skip clocking out when we are clocking in the same task that
is currently clocking but go through the normal clock-in
setup so a modified task name or effort property is
updated in the modeline.
2009-12-30 15:25:57 -05:00
Carsten Dominik
29d9457200 Stop generating superfluous clock entries
Avoid closing the currently clocking entry when clocking in the same task
again.  Leave the clock entry open until some other task is clocked in.

This allows us to clock in tasks with hooks that are called frequently without
generating lots of short sequential clock entries for the same task.
2009-12-30 15:25:57 -05:00
John Wiegley
c5146a8972 Fixes to the way org-idle-time is handled
A let needed to be let*, and current-idle-time always returns nil on
some systems, so for darwin and x11, those idle time values are always
preferred.
2009-12-25 18:02:48 -05:00
Carsten Dominik
a66c1a3609 Amend previous patch 2009-12-03 13:45:12 +01:00
Carsten Dominik
16750683ea Solve some XEmacs incompatibilities
Reports and some patches by Richard Klinda
2009-12-03 09:17:30 +01:00
Carsten Dominik
b48dd133dc Revert "Stop generating superfluous clock entries"
This reverts commit 364054fa77.

Conflicts:

	lisp/ChangeLog
2009-11-27 23:28:04 +01:00
Carsten Dominik
661a8855d3 Revert "Fix clocking to allow again selection of a task in the history"
This reverts commit c59c2b791d.
2009-11-27 23:25:47 +01:00
Carsten Dominik
5e41177c2e Revert "Revert "Fix clocking to allow again selection of a task in the history""
This reverts commit 702708463f.
2009-11-27 23:23:16 +01:00
Carsten Dominik
702708463f Revert "Fix clocking to allow again selection of a task in the history"
This reverts commit c59c2b791d.
2009-11-27 23:22:23 +01:00
Carsten Dominik
c59c2b791d Fix clocking to allow again selection of a task in the history 2009-11-27 16:26:11 +01:00
Carsten Dominik
364054fa77 Stop generating superfluous clock entries
Avoid closing the currently clocking entry when clocking in the same task
again.  Leave the clock entry open until some other task is clocked in.

This allows us to clock in tasks with hooks that are called frequently without
generating lots of short sequential clock entries for the same task.

Patch by Bernt Hansen.

Modified by Carsten
2009-11-27 08:09:10 +01:00
Carsten Dominik
50645b5699 Fix bug when old clock task list contains bad pointers 2009-11-23 21:04:31 +01:00
Carsten Dominik
62a7301a5e Push release number to 6.33trans 2009-11-20 20:20:31 +01:00
Carsten Dominik
24061fddd1 Release 6.33f 2009-11-20 15:15:05 +01:00
Carsten Dominik
37e9b1c51f Release 6.33e 2009-11-20 13:58:31 +01:00
Carsten Dominik
24a49967f1 Release 6.33d 2009-11-20 12:34:50 +01:00
Carsten Dominik
c7371cc7fe Push version number to 6.33trans 2009-11-15 09:46:43 +01:00
Carsten Dominik
6bc6379dfe Release 6.33c 2009-11-15 08:00:52 +01:00
Carsten Dominik
6c977c41c3 Release 6.33b 2009-11-14 16:25:31 +01:00
Carsten Dominik
b8a6721a68 Release 6.33a 2009-11-13 23:22:18 +01:00
Carsten Dominik
5ca6635993 Push version number to 6.33a 2009-11-13 22:54:22 +01:00
John Wiegley
1affd3bbb6 Check whether org-clock-into-string is a string 2009-11-13 05:08:55 -05:00
Carsten Dominik
82ee0cc583 Release 6.33 2009-11-13 07:10:51 +01:00
Bernt Hansen
0042080e4c Fix spelling and grammar 2009-11-12 07:39:29 -05:00
Carsten Dominik
9f6102f9e7 Fix clock issues related to with-current-buffer
Patch by Bernt Hansen
2009-11-09 22:58:34 +01:00
Carsten Dominik
471c244866 Handle notifications with percent characters
`message' accepts a printf format string, and that can go wrong if you
want to show a string, but the string contains a percent character!
2009-11-07 00:43:27 +01:00
Carsten Dominik
7c0a16e256 Use with-current-buffer instead of save-excursion set-buffer where possible
Patch by Stefan Monnier
2009-11-05 22:59:18 +01:00
John Wiegley
cec499dc6f Fix to idle-time notice in the minibuffer 2009-11-05 02:07:41 -05:00
Carsten Dominik
5a24f6c9d2 Keep compiler happy 2009-11-03 10:35:05 +01:00
Carsten Dominik
5b65dc2bdf Expand file name in org-clock-sound before using it 2009-11-02 22:07:08 +01:00
John Wiegley
5da5814efa Fixed display of idle time in read-char prompt 2009-10-31 18:12:08 -04:00
Carsten Dominik
58562167b4 Version number to 6.32trans 2009-10-27 18:23:19 +01:00
Carsten Dominik
e0949896f7 Release 6.32b 2009-10-27 18:22:28 +01:00
Carsten Dominik
037b685d50 Push version number to 6.32trans 2009-10-27 09:25:30 +01:00
Carsten Dominik
fcd2ef541f Release 6.32 2009-10-26 08:57:21 +01:00
Carsten Dominik
2fa2cbaa2c Keep compiler happy and fix issue with musing the mobile agenda
Richard Moreland writes:

> (setq org-agenda-custom-commands
>      '(("X" agenda "" nil ("agenda.html"))))
> ;; This seems to break org-mobile-push?
> ;;(setq org-agenda-exporter-settings
> ;;      '((org-agenda-add-entry-text-maxlines 5)
> ;;       (htmlize-output-type 'font)))
>
> I have the lines above in my .emacs file.  When I uncomment the 3
> commented lines, org-mobile-push just hangs after OVERVIEW.
>
> I don't understand exactly what is going on, but if I hit C-g or
> C-c enough I can regain control, but the sync never finishes.
2009-10-26 07:59:53 +01:00
John Wiegley
511bcc9e81 org-clock-auto-clock-resolution is now a tri-state 2009-10-25 18:19:04 -04:00
Carsten Dominik
4c3bc6482d Only save clock stuff if it has been loaded as well
Kai Tetzlaff writes:

> i noticed that when using the org-mode clock persistence, the
> stored clock data gets deleted when i start emacs and exit again
> without turning on org-mode in between.
>
> When looking at org-clock-persistence-insinuate it looks like
> org-clock load will only run after org-mode gets started whereas
> org-clock-save will always be called when exiting emacs:
>
> (defun org-clock-persistence-insinuate ()
>  "Set up hooks for clock persistence"
>  (add-hook 'org-mode-hook 'org-clock-load)
>  (add-hook 'kill-emacs-hook 'org-clock-save))
>
> Not running org-mode-hook (i.e. not starting org-mode) thus does
> not load clock data but org-clock-save overwrites any prviously
> saved data when exiting emacs.
>
> An easy fix for that would be to just add org-clock-load to e.g.
> emacs-startup-hook. But this will only work if the code in
> org-clock-load does not depend on any org-mode initialization
> code (or would require loading org-mode).
>
> So org-clock-save should probably check if org-clock-load has
> been running during the current emacs session (or if clock
> persistence was just enabled) and only then save clock data when
> exiting emacs. I tried to add this to the code in org-clock-save:
2009-10-25 07:48:05 +01:00
Carsten Dominik
f74f8ca2ab Fix problems in the interaction of John's and James' clock restore code
Now the recommendation is to use clock persistence only for the
history, and to use John's code for resolving a clock that has been
idle (either because the user stopped working or exited Emacs).
2009-10-24 15:02:01 +02:00
John Wiegley
d3a779b748 Allow display of fractional times with C-c C-x C-d 2009-10-23 22:23:32 -04:00
Carsten Dominik
9072f54582 Make updating the mibileorg.org checksum safe 2009-10-22 16:30:00 +02:00
James TD Smith
0410d6460c Add an X11 equivalent to org-mac-idle-seconds.
This needs a small C program (in UTILITIES/x11idle.c) to work.
2009-10-22 15:09:34 +02:00
John Wiegley
c248cc69b2 Fix to the way idle time is reported in prompts 2009-10-22 06:22:36 -04:00
John Wiegley
a0acb478a9 Changed when clock auto-resolution comes into play
Clocking in on another task while an active clock is running no longer
invokes the auto-resolution logic.
2009-10-22 05:00:13 -04:00
John Wiegley
9b36ab0ca9 Fixed an incorrect variable reference 2009-10-20 17:19:00 -04:00
Carsten Dominik
79031ab5ab Keep compiler happy 2009-10-20 13:24:55 +02:00
John Wiegley
4d3960cd11 Add var to disable clock resolution on clock in
(org-clock-disable-clock-resolution): New customization variable that
disable automatic clock resolution on clock in.

(org-clock-in): If `org-clock-disable-clock-resolution' is set, do not
automatically resolve anything.  This is does not affect idle-time
resolution, however, if `org-clock-idle-time' is set.
2009-10-19 17:07:48 -04:00
John Wiegley
abfc6babca Added feature for resolving clocks due to idleness
See the new manual section on "Resolving idle time".

(org-clock-resolve-clock): If keeping or subtracting time results in a
clock out at a time in the past, and if the resolution occurred due to
idleness or invoking `M-x org-resolve-clocks', remember that past moment
in time.  On the next clock in, the user will be prompted to see if they
want to back-date their new clock to then.

(org-clock-resolve): Do not jump the user to the location of a dangling
clock if the resolution is occuring due to an idle timeout.  In that
case there is typically only one dangling clock, the active one, and
there is no value gained by shuffling their windows around to show it to
them.  Being prompted to resolve an idle clock should be as inobtrusive
as possible.

(org-resolve-clocks-if-idle): New function that resolves only the
currently active clock if the user has exceeded the time returned by
`org-user-idle-seconds', based on the value of `org-clock-idle-time'.

(org-clock-in): If, after resolving clocks,

(org-clock-out): Cancel the `org-clock-idle-timer' on clock out.
2009-10-18 23:43:43 -04:00
Carsten Dominik
a45e7d88c7 Use org-float-time' instead of time-to-seconds' in John's patch 2009-10-17 17:55:59 +02:00
John Wiegley
8490a6c1d5 Added `M-x org-resolve-clocks' command
(org-clock-resolve-clock): New function that resolves a clock to a
specific time, closing or resuming as need be, and possibly even
starting a new clock.

(org-clock-resolve): New function used by `org-resolve-clocks' that sets
up for the call to `org-clock-resolve-clock'.  It determines the time to
resolve to based on a single-character selection from the user to either
keep time, subtract away time or cancel the clock.

(org-resolve-clocks): New user command which resolves dangling clocks --
that is, open but not active -- anywhere in the file list returned by
`org-files-list'.

(org-clock-in): Automatically resolve dangling clocks whenever a user
clocks in.

(org-clock-cancel): If the user cancels the solely clock in a LOGBOOK,
remove the empty drawer.
2009-10-17 05:09:40 -04:00
John Wiegley
d3f994e01b Added functions for determining the user's idle time
(org-clock-idle-time): New user customizable option for detecting
whether the user has left a clock idle.  Note: it is only used in this
commit to test whether it's worthwhile to check OS X to get the Mac
user's current idle time.  If the Emacs idle time is less than the
value, the user hasn't been away long enough to be worth checking (a
more expensive test than just getting Emacs idle time).

(org-user-idle-seconds, org-mac-idle-seconds)
(org-emacs-idle-seconds): This three functions, in conjunction
with the user customization variable `org-clock-idle-time', return
the number of seconds (as a floating point) that the user has been
away from their Emacs (or, if running on OS X, their computer).
2009-10-17 03:51:32 -04:00
John Wiegley
defe6c3838 Added several new utility functions to org-clock
(org-find-open-clocks): New function that returns a list of all open
clocks in the given FILE.  Note that each clock it returns is a cons
cell of the format (MARKER . START-TIME).  This "clock" value is used by
several of the new clock module utility functions.

(org-is-active-clock): New inline function which tests whether the given
clock value is the same as the currently active clock.  Returns non-nil
if this is the case.

(org-with-clock-position): New macro that evaluates FORMS with point in
the buffer and at the position of the given clock.  Changes to the
current clock are global.

(org-with-clock): New macro that evaluates FORMS with point in the
buffer and at the position of the given clock.  However, changes to the
current clock are local and have no effect on the user's active clock.
This allows, for example, far any clock to be cancelled without
cancelling the active clock.

(org-clock-clock-in): New inline function that switches the active clock
to the given clock.  If either the argument RESUME, or the global
`org-clock-in-resume', are non-nil, it will resume a clock that was
previously left open.

(org-clock-clock-out): New inline function that clocks out the given
clock value without affecting the currently active clock.

(org-clock-clock-cancel): New inline function that cancels the given
clock value without affecting the currently active clock.
2009-10-17 03:51:32 -04:00
John Wiegley
cc039d9016 Add new parameter to the `org-clock-out' command
(org-clock-out): Accept new third parameter `at-time', which permits a
clock to be clocked out at a specific time.  Note that no attempt is
made to verify that the clock out time is later than the clock in time.
2009-10-17 03:51:32 -04:00
John Wiegley
b6594a03df Prevent mode-line timers from being duplicated
(org-clock-in): Before creating `org-clock-mode-line-timer', check to
make sure an older timer is not currently running.
2009-10-17 03:51:32 -04:00
Carsten Dominik
785da1420a Remove some duplicate words from docstrings
Patch by Juanma Barranquero.
2009-10-04 08:36:18 +02:00
Carsten Dominik
edc5e73ba9 Fix that bug again 2009-10-02 10:59:37 +02:00
Carsten Dominik
d82366ee01 Fix bug in org-clock.el 2009-10-02 10:58:12 +02:00
Carsten Dominik
3ce0a4a9e2 Fix position error when clocking in while buffer is narrowed
Bernt Hansen writes:

> If you narrow to subtree when there is a following task the narrowed
> buffer has a blank line at the end.  If you are on this line and
> clock-in it starts the clock for the _following_ task (outside the
> narrowed subtree) and not the task you are looking at.
>
> I stumbled across this today because the following task was already
> over the estimated limit when I clocked it in - which triggered my
> alarm sound.
>
> ,----[ test.org ]
> | #+STARTUP:
> | * TODO One
> | * TODO Two
> `----
>
> ,----[ minimal.emacs ]
> | (add-to-list 'load-path (expand-file-name "~/git/org-mode/lisp"))
> | (add-to-list 'auto-mode-alist
> |              '("\\.\\(org\\|org_archive\\|txt\\)$" . org-mode))
> | (require 'org-install)
> |
> | (global-set-key "\C-cl" 'org-store-link)
> | (global-set-key "\C-ca" 'org-agenda)
> | (global-set-key "\C-cb" 'org-iswitchb)
> `----
>
> Key sequence to reproduce:
>
> $ emacs -q -l minimal.emacs test.org
>
> | Key                           | Notes                         |
> |-------------------------------+-------------------------------|
> | C-n                           | Go to first task '* TODO One' |
> | M-x org-narrow-to-subtree RET | Narrow to subtree             |
> | C-n                           | Move to last blank line       |
> | C-c C-x C-i                   | Clock in (next) task          |
> |-------------------------------+-------------------------------|
>
> -Bernt
>
> Emacs  : GNU Emacs 22.2.1 (i486-pc-linux-gnu, GTK+ Version 2.12.11)
> of 2008-11-09 on raven, modified by Debian
> Package: Org-mode version 6.31trans (release_6.31.8.g7485)
2009-10-02 08:40:02 +02:00
Carsten Dominik
8d2cbde0c9 Fix typos 2009-10-02 08:30:18 +02:00
Carsten Dominik
4020e2a8c4 Fix bug in canceling clocks
Peter Frings writes:

> Clocking in on any task (C-c C-x C-i) and cancelling afterwards (C-c C-x
> C-x) results in the following backtrace:
> ,----
> | Debugger entered--Lisp error: (wrong-type-argument markerp org-clock-marker)
> |   move-marker(org-clock-marker nil)
> |   org-clock-cancel()
> |   call-interactively(org-clock-cancel nil nil)
> `----
> Culprit are two erroneous quotes in front of org-clock-marker in org-clock-el. The patch (output
> of git diff -u on a clean checkout) fixes the problem:
>
> diff --git a/lisp/org-clock.el b/lisp/org-clock.el
> index e279898..91a4bcb 100644
> --- a/lisp/org-clock.el
> +++ b/lisp/org-clock.el
> @@ -818,8 +818,8 @@ If there is no running clock, throw an error, unless FAIL-QUIETLY is set."
>     (set-buffer (marker-buffer org-clock-marker))
>     (goto-char org-clock-marker)
>     (delete-region (1- (point-at-bol)) (point-at-eol)))
> -  (move-marker 'org-clock-marker nil)
> -  (move-marker 'org-clock-hd-marker nil)
> +  (move-marker org-clock-marker nil)
> +  (move-marker org-clock-hd-marker nil)
>   (setq global-mode-string
> 	(delq 'org-mode-line-string global-mode-string))
>   (force-mode-line-update)
2009-10-01 20:01:01 +02:00
Carsten Dominik
6b0a251eea Push version number to 6.31trans 2009-10-01 11:57:17 +02:00
Carsten Dominik
1b37d5e07c Release 6.31a 2009-10-01 09:13:58 +02:00
Carsten Dominik
c11e0b44ae Release 6.31 2009-09-30 16:03:17 +02:00
Carsten Dominik
cbafbe5f08 Make default clocktable properties configurable
Jeff Kowalczyk writes:

> I frequently use clocktables, and always use scope: subtree. The
> default scope is file.
>
> If it doesn't exist already (I didn't find it with grep), an org
> customization variable for this preference would be very helpful.
2009-09-17 07:35:23 +01:00
Carsten Dominik
291a6db848 Release number back to 6.30trans 2009-09-04 10:39:01 +02:00
Carsten Dominik
12ab55ca43 Release 6.30d 2009-09-03 13:53:46 +02:00
Carsten Dominik
adfa87282d Push version number to 6.30trans 2009-09-03 08:10:36 +02:00
Carsten Dominik
63e1714288 Release 6.30c 2009-09-02 14:40:56 +02:00
Carsten Dominik
1152565013 Avoid using time-to-seconds 2009-09-02 14:37:47 +02:00
Carsten Dominik
fc332703bf Release 6.30b 2009-09-02 11:33:10 +02:00
Carsten Dominik
1d04b205e6 Release 6.30a 2009-09-02 09:00:23 +02:00
Carsten Dominik
db70cdb13b Release 6.30 2009-09-01 06:09:23 +02:00
Carsten Dominik
6bddc14c20 New effort-setting commands
To set the effort property without going to column view.
2009-08-29 20:21:15 +02:00
Bastien Guerry
c34ca53f2f org-notify: bugfix by Bernt Hansen. 2009-08-26 11:28:25 +08:00
Bastien Guerry
754694dd4b Use org-notify to show a notification and possibly play a sound. 2009-08-24 02:44:29 +08:00
Carsten Dominik
0af5133334 Mark running clock in the agenda.
If the entry currently being clocked is present in the agenda, mark it.
2009-08-07 11:00:16 +02:00
Carsten Dominik
bfdd3d3fd3 Push version number to 6.29trans 2009-08-06 12:07:20 +02:00
Carsten Dominik
0864163024 Release 6.29c 2009-08-06 06:26:23 +02:00
Carsten Dominik
d6b37ddbea Release 6.29b 2009-08-05 12:34:30 +02:00
Carsten Dominik
1c25048e48 Release 6.29a 2009-08-04 23:54:22 +02:00
Carsten Dominik
d67a9be8a2 Release 6.29 2009-08-04 23:06:39 +02:00
Carsten Dominik
2eecb4c43c Fix white-space errors 2009-08-03 17:30:30 +02:00
Bastien Guerry
1a79ec6e31 Bugfix: recognize timestamps with an abbreviated format for days.
Emacs recently (when?) changed the abbreviated format for days.
The clock was confused when trying to mach this format.  This patch
by Nicolas Goaziou fixes it.
2009-07-29 13:44:52 +08:00
Bastien Guerry
7a1a62d2f2 Udate the docstring of org-show-notification. 2009-07-27 01:11:51 +08:00
Bastien Guerry
402448cb4c Code cleanup. 2009-07-26 21:00:52 +08:00
Bastien Guerry
aed038294a Fix typo. 2009-07-26 20:59:49 +08:00
Bastien Guerry
575192b4a4 Code cleanup. 2009-07-26 20:58:35 +08:00
Bastien Guerry
593022a66e Add a new :timestamp option for clock reports.
Using :timetamp t as an option in a clock report now allows
insertion of the timestamp for the clocked entry.  Timestamps
are searched for in this order: SCHEDULING, TIMESTAMP, DEADLINE
and TIMESTAMP_IA.
2009-07-26 06:05:09 +08:00
Bastien Guerry
12a9381803 Add and use a new option: org-show-notification-handler
This option lets the user customize the notification mechanism.
For example, she might want to use todochiku.el.

This option defaults to nil, hence doesn't change the previous
behavior: if the program notify-send is installed on the system,
use it, and falls back on using (message [notification]) if not.
2009-07-23 17:33:52 +02:00
Bastien Guerry
fa7e23ec39 Add org-clock-in-prepare-hook. Doc update.
This hook is called in org-clock-in earlier than the existing
org-clock-in-hook.  This is useful for functions that need to
modify the Effort property, for example.
2009-07-17 09:02:56 +02:00
Carsten Dominik
7087902788 Fix bug in org-narrow-to-subtree, which could lead to clock errors
Bernt Hansen writes:

> I have a monthly repeated task (Archive tasks) that has lots of
> old clock time on it currently but has never been marked DONE
> since the creation of the property LAST_REPEAT_TIME.  If this
> task is clocking when Emacs exits and you restart emacs and
> answer Yes to continue the clock - the modeline has the total
> time for the parent task (151:04 instead of the total time for
> this task (5:04).  If I clock the task in again the modeline is
> correct.
2009-07-08 14:29:18 +02:00
Carsten Dominik
e16c5b7b64 Fix typos 2009-07-06 22:30:39 +02:00
Carsten Dominik
f648323253 Push version number to 6.28trans 2009-06-26 17:26:50 +02:00
Carsten Dominik
cd4e52a5ef Release 6.28d 2009-06-26 17:23:27 +02:00
Carsten Dominik
00ddc4dba7 Release 6.28c 2009-06-26 09:27:50 +02:00
Carsten Dominik
e7ffcc1d4d Release 6.28b 2009-06-25 09:01:20 +02:00
Carsten Dominik
7906427aa6 Release 6.28 2009-06-25 08:59:59 +02:00
Carsten Dominik
03efd877bc Clock: Add more hooks
This commit add four hooks to the clocking code.

Patch by Benjamin Andresen.
2009-06-21 17:26:52 +02:00
Carsten Dominik
7c3aba2d3a Magnus Henoch writes:
>  I just discovered that org-clock-in displays the clocked-in task
>  in the mode line, so that I can click it and go back to the Org
>  file, which I really like.  I changed it to switch to the window
>  in which I click, by prepending "@" to the interactive spec of
>  org-clock-goto.
2009-06-19 14:03:34 +02:00
Carsten Dominik
a5f080361a Clock: Manipulating effort strings, and a mode line menu
Clicking on the clock in the mode line now pops up a menu with
clocking options.

A new command `C-c C-x C-e' allows to set or change the effort
estimate of the task currently being clocked.  This is mainly useful
when using an alert notification when the task should be finished.

Based on a patch by Konstantin Antipin.
2009-06-17 07:40:22 +02:00
Carsten Dominik
951125da8d intermediate 2009-06-16 09:42:05 +02:00
Bernt Hansen
fab7da2d7c Fix typo in org-clock-get-clocked-time 2009-06-09 23:02:09 +02:00
Bernt Hansen
e0f9c00f10 Do not issue the 'task should be finished by now' message if the clock is stopped
This patch prevents the org-clock-sound notification and the

   "Task'BLAH' should be finished by now."

message when the termination time is reached and the clock is not
running.

Before this patch spurious notifications and messages were generated when
clocking in a task with estimated effort time remaining.  After clocking
out the task the remaining minutes would tick by and then the sound
and message that the task should be finished were generated - even though
you are not working on it anymore.
2009-06-09 23:02:01 +02:00
Bernt Hansen
7f9e53d6b1 Initialize org-clock-notification-was-shown on clock-in
This makes org-clock-sound a little more well-behaved.  The clock
sound was only being issued if you were already clocking a task that
was under its limit, and changed to clocking something else.  Now each
time you clock in a new task it checks the estimated effort limit and
issues the org-clock-sound if the limit is exceeded.

This patch issues the org-clock-sound whenever you clock in a task
that is already over its estimated effort amount.  This allows you to
use the estimated effort as a limit for the amount of time to spend on
a task.  Each time you clock in the task you'll be notified that you
are over the limit.  This is great for tasks where you want to limit
the amount of time spent (per day, since last repeat) and is a
reminder to go work on something else instead.
2009-06-09 23:01:34 +02:00
Carsten Dominik
379b24cc63 Fix whitespace issues 2009-06-08 08:00:46 +02:00
Carsten Dominik
855f85b46f New face for clock in mode line. 2009-06-06 08:13:40 +02:00
Carsten Dominik
90c38a0045 Clock: Improve messages 2009-06-02 17:10:23 +02:00
Carsten Dominik
a5dc9456dd New option `org-clock-out-switch-to-state'.
Can be used to change the TODO state when clocking out.
2009-06-02 17:01:11 +02:00
Carsten Dominik
8a2247454c Bug fix 2009-06-02 16:36:16 +02:00
Carsten Dominik
1db461321a Keep compiler happy 2009-06-02 14:49:38 +02:00
Carsten Dominik
ee4bcda0e9 Clock: More control about what time is shown in mode line while clocking
This commit changes which time is shown in the mode line while
clocking.  Normally this will now be the total time ever clocked on
this task and its children.

However, when the task is a repeating one, only the time since the
last reset of the task will be shown.  The time of the last reset is
now recorded in a LAST_REPEAT property.

You can also set the CLOCK_MODELINE_TOTAL property to the value
"current" to only show the current clocking instance.  Or it may be
the value "today", to only add up the time spent today on this task.
Other possible values are "repeat", "all", or "auto".

Finally, you can set your default for this property with
`org-clock-modeline-total'.
2009-06-02 13:47:50 +02:00
Carsten Dominik
5ce1c5708f Clocking: Fix bug in the new cocking code
The cursor could move while collecting the total time for the current
subtree.
2009-05-28 19:49:11 +02:00
Carsten Dominik
19748886eb Tables: Allow #+TBLFM to be indented 2009-05-28 17:44:12 +02:00
Carsten Dominik
2b6a3ac71d Clock notification: Cleaning up some issues 2009-05-28 13:24:23 +02:00
krick
e17fdc3aa9 Merge branch 'origin' into clock-effort-notify 2009-05-28 11:17:13 +02:00
krick
59c6574c05 org-clock-sound could be
* nil. No sound played.
* any string, that is not a file. Make a beep
* file name. Emacs tries to play it with aplay, if available.
  If not, use standard emacs play-sound-file function.
2009-05-28 01:10:27 +02:00
krick
8c3ffc6259 Remove setq of the org-clock-sound here :) 2009-05-27 08:49:51 +02:00
krick
3c2099c29b Show total clocked time in mode line.
(Instead time since last start)
2009-05-26 23:30:38 +02:00
Carsten Dominik
ae7b8f6b12 Push version number to 6.27trans 2009-05-26 15:41:44 +02:00
krick
7c2930e96b In case we set effort estimate on the currently clocked item,
show notification when time is up.
 * Linux only: If libnotify is used - the standard notification
   system in linux, then show notification with it.
   Note: Additional package libnotify-bin should be installed.
Additionally, use beep if variable org-clock-sound is set.
 * If aplay (alsa player) is available, interpret org-clock-sound as
   path to the file, which should be played.
2009-05-25 22:01:34 +02:00
krick
d4b85109dd Show estimated effort in the mode-line if it is set.
* Set org-clock-effort variable in org-clock-in function.
* If org-clock-effort is not nil, show estimated effort in the mode-line.
2009-05-25 16:54:03 +02:00
Carsten Dominik
0421dead4b Release 6.27a 2009-05-25 16:04:45 +02:00
Carsten Dominik
b681c7b26e Release 6.27 2009-05-23 08:22:04 +02:00
Carsten Dominik
88673a8724 Clock history: Second try to get fontification right. 2009-05-05 14:44:05 +02:00
Carsten Dominik
e1f6e949ed Clock history: Present all tasks fontified
Bernt Hansen requested this.
2009-05-05 10:23:47 +02:00
Carsten Dominik
69e6d249aa Push version number to 6.26trans 2009-04-22 09:08:13 +02:00
Carsten Dominik
73854f435d Release 6.26d 2009-04-22 06:42:17 +02:00
Carsten Dominik
38b5a9e704 Clock: New variable to allow finding a recent task with `org-clock-goto' 2009-04-22 06:41:15 +02:00
Carsten Dominik
595e9603ac Release 6.26c 2009-04-21 20:26:27 +02:00
Carsten Dominik
654e629ed9 Clock: Make `C-c C-x C-j' jump to most recently clocked task as well.
If there is no running clock, this command will go to the most
recently clocked task.
2009-04-21 20:25:30 +02:00
Carsten Dominik
e0cd12716a Release 6.26b 2009-04-21 10:21:36 +02:00
Bernt Hansen
a04237d4f4 Revert "Jump to selected clock task when starting the clock"
This reverts commit 61dfa0c67f.

This wasn't such a great idea after all.  There is one case where
this is really annoying - if you are in the middle of displaying
an agenda view with lots of filters active and you change what you
are clocking it jumps away and you lose the agenda view.

This one case makes hitting a dedicated function key that runs
org-clock-goto more desireable.
2009-04-21 06:10:30 +02:00
Carsten Dominik
b8a5f1a7fc Release 6.26a 2009-04-19 22:31:36 +02:00
Carsten Dominik
ba66d2c8ae Release 6.26 2009-04-19 08:38:49 +02:00
Bernt Hansen
61dfa0c67f Jump to selected clock task when starting the clock
Move the point to the selected task when clocking in using the clock
history.  I find I'm always going to the currently clocked task after
picking it off of the menu and this saves one small step.

This could be optionally controlled by a variable.
2009-04-16 06:02:13 +02:00
Carsten Dominik
08b81dbb1d Minor fix 2009-04-14 12:40:25 +02:00
Carsten Dominik
633e8cdd90 Clock: Fix bugs when resuming the clock.
Adam Elliot writes:

>  Automatically resuming the clock after an Emacs restart
>  fails under the following cases:
>
>  1. If org-log-states-order-reversed set to t (default), and
>     a state change line precedes the clock line to resume.
>     Error message is "Cannot restart clock because task does
>     not contain unfinished clock".
>
[...]
>  2. If org-log-states-order-reversed set to nil.  Error
>     message is the same.  Reason: point is placed *after*
>     last clock line and so fails looking-at test.
>

This commit fixes the problem, in a slightly different way
than Adam proposed.  Instead of trying to fix the old way to
find the position of the clock, we now simple search the
entry if there is an unfinished clock and go there.  Since
new clocks are added before older ones, this should be a
safe bet.
2009-04-14 09:50:05 +02:00
Carsten Dominik
ef2ee3df5d Version number pushed to 6.25trans 2009-04-07 18:43:42 +02:00
Carsten Dominik
eef47f820f Release 6.25d 2009-04-05 15:29:45 +02:00
Carsten Dominik
e2eebc83a1 Release 6.25c 2009-04-05 08:45:39 +02:00
Carsten Dominik
5624263d97 Release 6.25b 2009-04-03 19:18:41 +02:00
Carsten Dominik
1426f8bcfd Release 6.25a 2009-04-02 18:24:52 +02:00
Carsten Dominik
aeb5cb98d6 Release 6.25 2009-04-01 16:00:39 +02:00
Carsten Dominik
098cf35983 Clock: Clock out when done also in indirect buffers
Chris Randle writes:

>  I have one giant Org-mode file for everything. I frequently use
>  `C-c C-x b' to take the current node and show it in a new frame
>  with narrow subtree so that I can concentrate on just that region
>  of my file. Rather like hoist in GrandView, if anyone remembers
>  that.
>
>  My Org Manual (6.24b) says "The indirect buffer...will contain
>  the entire buffer, but will be narrowed to the current
>  tree. Editing the indirect buffer will also change the original
>  buffer, but without affecting visibility in that buffer.
>
>  I've noticed that, when working in the new frame, changing the
>  TODO state of any item within the frame to DONE (when it is the
>  currently clocked in item) does not stop the clock. Going back to
>  my main frame and doing the same thing there on the same item
>  does stop the clock.
>
>  I haven't altered `org-clock-out-when-done', and Emacs reports
>  its value as t.

This was caused by the fact that markers seem to point to the
base buffer always, so we need to check if the current buffer's
base buffer is equal to the marker buffer.
2009-03-23 21:02:23 +01:00
Carsten Dominik
76ac6dce68 Bugfix: Fix indentation problems
David Maus writes:

>  When I start to clock a headline (C-c C-x C-i) that does not have a
>  LOGBOOK drawer orgmode inserts one but removes the indentation of the
>  first line below the headline:
>
>  Example:
>
>  * TODO Do something
>   Do this, do that etc.
>
>  after C-c C-x C-i becomes
>
>  * TODO Do something
>   :LOGBOOK:
>   CLOCK: [2009-03-20 Fr 19:03]--[2009-03-20 Fr 19:03] =>  0:00
>   :END:
>  Do this, do that etc.

Fixed with this commit, a patch written by Peter Jones.
2009-03-21 18:24:51 +01:00
Carsten Dominik
722fc9a490 Version number to 6.24trans 2009-03-14 08:03:10 +01:00
Carsten Dominik
c8b6a9cc60 Release 6.24c 2009-03-12 12:51:17 +01:00
Carsten Dominik
680d8cb440 Release 6.24b 2009-03-10 17:50:17 +01:00
Carsten Dominik
7e8a387184 Release 6.24a 2009-03-09 05:37:09 +01:00
Carsten Dominik
20828f3176 Release 6.24 2009-03-05 21:11:18 +01:00
Carsten Dominik
0850b14c8f Clocktable: Use inactive time stamps for stepwise table
Adam Elliott writes:

>  When run in day-step mode, the clocktable header line for each day's
>  table contains an active timestamp.  I figure it should be an inactive
>  timestamp, since otherwise I get a junk entry in the agenda each day
>  (whatever heading was previous to the clocktable).
>
>  I'm talking about the output from a spec such as the following:
>
>  #+BEGIN: clocktable :block thisweek :step day

This commit is the patch Adam sent in.
2009-03-05 16:11:57 +01:00
Carsten Dominik
721dae7dd5 Bugfix: Better indentation for new clock/logbook drawers 2009-03-02 06:41:29 +01:00
Carsten Dominik
c91bca9d1c Push version number to 6.23trans 2009-02-26 21:32:04 +01:00
Carsten Dominik
6c8beec225 Release 6.23b 2009-02-22 18:37:24 +01:00
Carsten Dominik
482216f300 Release 6.23a 2009-02-21 15:18:39 +01:00
Carsten Dominik
82f2fca21e Release 6.23 2009-02-20 11:16:03 +01:00
Carsten Dominik
cac8788f35 Clocking: Capture clock in LOGBOOK drawer, abandon CLOCK drawer
Clock lines are now by default captured into the drawer LOGBOOK.  This
means that, if state notes are also captured into a drawer, they will
be mixed with notes.
2009-02-15 09:22:14 +01:00
Carsten Dominik
492a5b5ea9 Version number: Push to 6.22trans 2009-02-13 07:45:42 +01:00
Carsten Dominik
c32de18ae0 Allow previous state to be shown in state change log notes.
Wanrong Lin writes:

     My TODO sequence is set up as following:

     (setq org-todo-keywords '((sequence "TODO(t)" "STARTED(s!)"
     "WAITING(w@/!)"      "MAYBE(m/!)" "DELEGATED(g@/!)"
     "DEFERRED(d!/!)" "HOLD(h!/!)" "|" "DONE(x)"      "CANCELED(c)")))

     The state change logging is great, but I wonder whether we can
     further improve it:

     1. Can we also include the original state in the log message?
     i.e.: instead of having      - State "DEFERRED"   [2009-02-11 Wed 11:38]
     we can have
     - State "DEFERRED"  from "HOLD" [2009-02-11 Wed 11:38]

     The message will be clearer, and useful even when somebody edited
     the TODO keyword in place without using the "org-todo" command
     (in that case, simply looking at all the "destination states" in
     the log message does not give us the right information).

This strikes me like a good idea, so I have implemented it with this
commit.
2009-02-12 09:48:07 +01:00
Carsten Dominik
651d2e7a14 Bugfix: Allow org-clock-into-drawer to be 1. 2009-02-11 16:17:38 +01:00
Carsten Dominik
f993ecd67d Daniel Clemente writes:
Consider a file with 2 lines:

     ------------------
     **** heading

     ------------------

      Place the cursor at line 2 (where you can type). Then use C-c C-x C-i
      to start a clock.

      You have now 3 lines:

     ------------------
     **** heading
         CLOCK: [2009-02-07 sb 01:06]

     ------------------

      However, the cursor is still placed at line 2, like before. I think
      it would be more useful if it were moved to line 3 so that you can
      start writing right away, just as before.  This saves you the C-n
      needed to move again to a blank line.

This commit implements exactly this request.
2009-02-11 15:01:13 +01:00
Carsten Dominik
621bafc1b5 Clocking: Make insertion of the CLOCK drawer safer
Daniel Clemente noticed that the clock drawer, when it is created for
the second clock entry, will swallow a plain list item after it,
because it thinks it might be a clock note.

This commit makes this function check for indentation.  If the plain
list item is indented less than the last clock line, it will be
assumed that it does not belong to the clocking line, and the drawer
will not swallow the item.
2009-02-11 14:41:22 +01:00
Carsten Dominik
bc5b0056e7 Release 6.22b 2009-02-10 20:21:33 +01:00
Carsten Dominik
e592c77846 Release 6.22a 2009-02-10 10:11:23 +01:00
Carsten Dominik
8d213584ff Release 6.22 2009-02-10 08:23:35 +01:00
Carsten Dominik
93ec228f36 Push version number to 6.21trans 2009-02-03 00:06:22 +01:00
Carsten Dominik
0b424cb238 Release 6.21b 2009-02-02 21:42:20 +01:00
Carsten Dominik
2fa17ebf74 Release 6.21a 2009-02-02 14:23:54 +01:00
Carsten Dominik
193fab0788 Release 6.21 2009-02-02 12:18:44 +01:00
Carsten Dominik
c1296074f2 Release 6.20i 2009-02-01 00:16:43 +01:00
Carsten Dominik
924110aecc Release 6.20h 2009-01-30 18:31:37 +01:00
Carsten Dominik
f99b00f61c Release 6.20g 2009-01-30 09:20:41 +01:00
Carsten Dominik
bb3570eae9 Release 6.20f 2009-01-29 15:29:07 +01:00
Carsten Dominik
11fa49dd21 Release 6.20e 2009-01-29 14:13:30 +01:00
Carsten Dominik
317f08c69b Release 6.20d 2009-01-29 10:38:35 +01:00
Carsten Dominik
435ac059bf Release 6.20c 2009-01-28 14:35:50 +01:00
Carsten Dominik
bc19e4df69 Release 6.20b 2009-01-28 14:04:56 +01:00
Carsten Dominik
16f7c4f384 Release 6.20a 2009-01-28 12:28:54 +01:00
Carsten Dominik
b81f597de0 Release 6.20 2009-01-28 09:30:12 +01:00
Carsten Dominik
a89bbe5cab Clocktables: Fix display of ISO week.
David Bremner writes:

    I have a clocktable that begins like this.

    #+BEGIN: clocktable :maxlevel 2 :block 2009-W05 :scope agenda-with-archives
    Clock summary at [2009-01-27 Tue 17:15], for week 2009-W04.

    [contents snipped]

    #+END:

    Whatever week I put in :block, it puts one less in the title.  It
    seems actually gather the clock data from the right week, but the
    title is wrong?  Or I misunderstand something as usual :-).

There was a problem wit the week starting date.
2009-01-28 09:24:51 +01:00
Carsten Dominik
78b4ca8cfc Release 6.19e 2009-01-27 11:44:49 +01:00
Carsten Dominik
2860252c9e Minor fixes, and release 6.19d 2009-01-27 09:11:34 +01:00
Carsten Dominik
c848dae4be Release 6.19c 2009-01-27 09:02:13 +01:00
Carsten Dominik
f31255c8f3 Maintenance: Remove unused variables. 2009-01-26 11:04:45 +01:00
Carsten Dominik
ea446a6ff7 Release 6.19b 2009-01-26 08:22:14 +01:00
Carsten Dominik
5e965557b3 Release 6.19a 2009-01-25 16:08:16 +01:00
Carsten Dominik
41e51dfef4 Release 6.19 2009-01-25 13:41:09 +01:00
Carsten Dominik
7d05ba72c8 Clock: Independent face for clock overlay display.
William Henney writes:

     If a heading has tags, then that heading's time summary
     overlay (shown by C-c C-x C-d) is displayed using the
     org-tag face. This looks a bit strange. Is it intended? It
     is especially noticeable in my case, since I have my tags
     shown in a smaller font.

This is cause by the fact that we use the `secondary-selection' face
here which only highlights but inherits the rest from what is below.
The idea was that these clock times should have the same color as the
headline they belong to, but this idea is defeated when a line has tags
with a very different face.

This commit introduces a separate face for this purpose, so that users
can customize it.
2009-01-22 07:27:36 +01:00