Commit Graph

1135 Commits

Author SHA1 Message Date
John Wiegley 6f9b983f94 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-16 22:28:15 -04:00
John Wiegley 384d3ebc65 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-16 22:21:13 -04:00
John Wiegley 63fbf2aab8 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-16 22:08:01 -04:00
John Wiegley a5150cca5d 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-16 22:06:09 -04:00
John Wiegley 080babb885 Added three new utility functions to org.el
(org-files-list): New utility function for returning a list of all open
org-mode buffers, plus all files used to build the agenda buffer.  Note
that not all the files will necessarily be visited by a buffer at time
of call.

(org-entry-beginning-position): Like the function
`line-beginning-position', this inline function returns the beginning
position of the current heading/entry.

(org-entry-end-position): Like the function `line-end-position', this
inline function returns the end position of the current heading/entry.
2009-10-16 22:00:50 -04:00
Carsten Dominik c0c56217ff Fix all todo line bug in org-mobile.el 2009-10-16 17:07:38 +02:00
Carsten Dominik 77a9f4ecf1 Minor fixes 2009-10-15 07:59:15 +02:00
Carsten Dominik 4fe057f4aa Search view: Search for substrings rather than boolen workd lists
The default in search view is not that the search expression is
searched for as a substring, i.e. the different words must occur in
direct sequence.  The old way is only used it the first word in
the search string is preceded by a plus or a minus.

This was, more-or-less, requested by John Wiegley.
2009-10-14 13:36:36 +02:00
Carsten Dominik 33c75c6e29 Agenda filtering: Make `- SPC' a filter that selects entries without tags
Request by John Wiegley.
2009-10-14 12:45:04 +02:00
Carsten Dominik 680e17848e Document the function `org-outline-level' 2009-10-13 09:48:35 +02:00
Carsten Dominik cc0a819186 Re-introduce the variable `org-inlinetask-export' 2009-10-12 09:28:02 +02:00
Carsten Dominik 0a7e68575f Remove inlinetask END line when excluded from export 2009-10-10 16:54:13 +02:00
Carsten Dominik 523ab0baee LaTeX export: Don't format tables in protected regions 2009-10-07 08:10:05 +02:00
Carsten Dominik e59e619a8f Make "C-c '" also edit #+MACRO definitions, including multiline 2009-10-06 18:42:24 +02:00
Carsten Dominik f042ee7ce5 Allow limited length prefix format specifier %n.mc 2009-10-06 12:02:30 +02:00
Carsten Dominik a7c670ad47 Better tags and todo keyword lists for MobileOrg 2009-10-03 08:52:54 +02:00
Carsten Dominik e8ef16306c Improve figure placement in LaTeX export.
Text can now be wrapped around figures.  See the manual for details.
2009-10-03 08:50:09 +02:00
Carsten Dominik 82d6a786bc Fix bugs with inline task export 2009-10-02 13:00:22 +02:00
Carsten Dominik 93552da5be Remove backend-specific markers after selecting text
When a backend selects its #+begin_backend ... #+end_backend
code, the markers need to be removed so that a package like
org-special-blocks.el does not try to work on the block again.
2009-10-02 12:02:56 +02:00
Carsten Dominik b86c061228 Fix inline task export
Tasks without content caused did cause an error.
2009-10-02 10:34:06 +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 f026e3a6b8 Don't wrap figures without captions
This is to allow better figure placement.
2009-10-02 08:29:21 +02:00
Carsten Dominik cd7d2eb68e Don't mark items DONE when archiving them
The default value of `org-archive-mark-done' is now nil.
2009-10-02 06:47:30 +02:00
Carsten Dominik 8c4b3564df Fix bug in org-context at beginning-of-buffer
Patch by Michael Sperber
2009-10-01 20:03:29 +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 0b8457c835 Allow date to be shifted into the future if time is earlier than now
PT writes:

> Currently, I'm using Google Calendar and it's quick add syntax is very
> convenient:
>
> http://www.google.com/support/calendar/bin/answer.py?hl=en&answer=36604#text
>
>
> Of course, Org has similar capabilites, but I found one thing which
> google calendar does better: if it's 4pm and I add an event for 8am
> then GCal schedules it for 8am tomorrow.
>
> Org, on the the other hand, schedules it for 8am today even if that
> time is already passed.
>
> I never add past events and I think it's quite atypical. Shouldn't be
> an option similar to org-read-date-prefer-future for times too, so
> that timestamps also prefer the future when no date given?

This is now possible, but it is not the default.  You need to set

(setq org-read-date-prefer-future 'time)
2009-10-01 12:53:16 +02:00
Carsten Dominik ec302d2a7a Add new capabilities to org-mobile.el
- Allow to set any TODO keyword
- Allow to replace the local tags
2009-09-30 14:14:57 +02:00
Carsten Dominik f99fa74db1 Make LaTeX_CLASS also work in a setup file 2009-09-30 10:08:25 +02:00
Carsten Dominik 3988491291 Improve formatting of Inline tasks during export 2009-09-29 13:12:47 +02:00
Carsten Dominik f1e70d00d7 Document new hooks. 2009-09-29 08:05:15 +02:00
Carsten Dominik 0a3bc55b97 Keep compiler happy 2009-09-29 07:39:07 +02:00
Carsten Dominik a81e918325 New hook `org-export-latex-final-hook'. 2009-09-29 05:01:56 +02:00
Carsten Dominik 7d5408a717 LaTeX export: Fix superscript bug
Thomas S. Dye writes:

> I'm trying to generate $^{14}$C, or an equivalent, from org-mode
> to represent the isotope of carbon important in archaeological
> dating.
>
> Reading the manual, I tried this:
>
> ** A Brief History of Attempts to Interpret the ^{14}C Dates
> *** The ^{14}C Dates
>
> Which, in my #+LaTeX_CLASS: beamer export, yields
>
> \subsection{A Brief History of Attempts to Interpret the \^{}{14}C Dates}
> ...
> \begin{frame}\frametitle{The \^{}{14}C Dates}
>
> The problem seems to be the space before the ^.
>
> This input:
>
> ** A Brief History of Attempts to Interpret the x^{14}C Dates
> *** The x^{14}C Dates
>
> yields the correct LaTeX:
>
> \subsection{A Brief History of Attempts to Interpret the x$^{\mathrm{14}}$C Dates}
> ...
> \begin{frame}\frametitle{The x$^{\mathrm{14}}$C Dates}
>
> Am I missing something?  Or, is the LaTeX export thrown off by
> the space before ^?

Indeed, a space before the caret was not allowed in LaTeX export
2009-09-29 04:40:01 +02:00
Carsten Dominik 6c147f0b1e Minor docstring fix 2009-09-28 20:35:49 +01:00
Carsten Dominik 0a0a9e5366 Agenda: Fix bug when changing lines with invisible text in prefix
Peter Westlake writes:

> One small thing, though - in the agenda TODO view, pressing "t"
> to mark the task as Done messes up the layout:
>
>  [[http://orgmode.org][Org-Mode]]:   TODO Demonstrate problem with link
>  in category
>
> (which appears as:
>
>  Org-Mode:   TODO Demonstrate problem with link in category)
>
>
> Press T on that line:
>
>  [[http://orgmode.org][Org-Mode]]: TODO Demonstrate problemDONE
>  Demonstrate problem with link in category
>
> (which appears as:
>
>  Org-Mode: TODO Demonstrate problemDONE Demonstrate problem with
>  link in category)
2009-09-28 20:30:16 +01:00
Carsten Dominik 201517106c LaTeX export: Fix bug with empty lines in VERSE environment 2009-09-28 20:08:34 +01:00
Carsten Dominik 40940daad2 Remove dependency on LaTeX style file fullpage.sty
Patch by Tim Burt.
2009-09-28 19:45:12 +01:00
Carsten Dominik 452b8e0554 Reveal context to add footnote definition
Matt Lundin writes:

> I have org-footnote-section set to "Footnotes." If I insert a new
> footnote while...
>
> 1. the "* Footnotes" tree already exists and
>
> 2. the "* Footnotes" tree is folded
>
> ...the footnote definition label is inserted, but the "* Footnotes"
> subtree remains folded and the cursor jumps to the "* Footnotes"
> headline rather than the definition line.
>
> I've tried using org-reveal (C-c C-r) to open the "Footnotes" section,
> but nothing happens. I've tried typing C-c C-c to go back to the
> footnote, but since the cursor is on a headline, the result is a tag
> prompt. When I hit TAB to cycle, the cursor remains on the headline.
2009-09-28 19:38:09 +01:00
Carsten Dominik d90df8b147 org-mobile.el: More flexibility to add files
The new variable org-mobile-files can now be configured to include
non-agenda files into the staging area for MobileOrg.  Furthermore,
files that are located in a subdirectory of `org-directory' will also
end up in a sub-directory in the staging area.
2009-09-28 19:25:50 +01:00
Carsten Dominik 7baa702f65 org-mobile.el: Add list of tags in index file 2009-09-28 19:18:31 +01:00
Carsten Dominik cdc5054835 Iterate table with `C-c C-u C-c C-c' in #+TBLFM line 2009-09-28 07:47:18 +01:00
Carsten Dominik 44259b3231 Fix cursor position when bullet length has changed
Dan Davison writes:

> If you start a numbered list with
>
> 1.
>
> and hit M-RET then you get
>
> 2.
>  ^
> with a space, i.e. '2. '
>
> However, when creating the 10th list item, there is no space after
> '10.'. Same for 99 -> 100. This isn't entirely trivial, because if you
> start typing blindly after hitting M-RET, then the line you have created
> (lacking the space) will not be recognised as a list item and so
> e.g. the next M-RET will create a new heading, not a list item. [Has
> this changed recently? This seems like something obvious that others
> would have noticed.]
>
> Here's my patch.
>
> --8<---------------cut here---------------start------------->8---
> diff --git a/lisp/org-list.el b/lisp/org-list.el
> index 2fea57b..8ece3ea 100644
> --- a/lisp/org-list.el
> +++ b/lisp/org-list.el
> @@ -813,7 +813,7 @@ with something like \"1.\" or \"2)\"."
> 	      (buffer-substring (point-at-bol) (match-beginning 3))))
> 	;; (term (substring (match-string 3) -1))
> 	ind1 (n (1- arg))
> -	fmt bobp old new)
> +	fmt bobp old new delta)
>     ;; find where this list begins
>     (org-beginning-of-item-list)
>     (setq bobp (bobp))
> @@ -835,7 +835,9 @@ with something like \"1.\" or \"2)\"."
> 	  (delete-region (match-beginning 2) (match-end 2))
> 	  (goto-char (match-beginning 2))
> 	  (insert (setq new (format fmt (setq n (1+ n)))))
> -	  (org-shift-item-indentation (- (length new) (length old))))))
> +	  (setq delta (- (length new) (length old)))
> +	  (org-shift-item-indentation delta)
> +	  (if (= (org-current-line) line) (setq col (+ col delta))))))
>     (org-goto-line line)
>     (org-move-to-column col)))
> --8<---------------cut here---------------end--------------->8---
>
> Dan
2009-09-28 07:37:50 +01:00
Carsten Dominik dbd63e9723 Better documentation of the variable `org-format-latex-options' 2009-09-26 08:30:00 +01:00
Carsten Dominik 3ca813aff8 Remove cursor position restriction in the agenda
The cursor may now also be at the end of the line.
2009-09-26 08:23:15 +01:00
Carsten Dominik 668e28f4d0 Bind <home> and <end> to the org-specific commands 2009-09-25 08:03:23 +01:00
Carsten Dominik e9196279f4 Make C-e not jump after the ellipsis of a folded headline 2009-09-25 07:58:54 +01:00
Carsten Dominik f24f2ea410 Run `org-follow-link-hook' after following any link types 2009-09-24 21:49:08 +01:00
Carsten Dominik 6867751efe All indented lines starting with "#+" to be comments 2009-09-24 10:27:30 +01:00
Carsten Dominik c950e4b3ac Fix backslash and other special characters in verbatim snippets
Jeff Kowalczyk writes:

> Is there a way to escape backslashes (\) in code and verbatim that
> will export to LaTeX correctly?
>
> When writing =\\host\share= or =C:\path\to=, pdftolatex output is
> incorrect.
2009-09-24 10:02:00 +01:00
Carsten Dominik 24be3cda29 Better mechanism cor copying faces
This works much better to additional frames.
2009-09-22 12:41:10 +01:00