emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [Orgmode] FR: keystroke to cancel prefix sub-keymap


From: Carsten Dominik
Subject: Re: [Orgmode] FR: keystroke to cancel prefix sub-keymap
Date: Thu, 3 Jan 2008 13:17:55 +0100

I don't have a better solution for now, so I am taking the patch, thanks.

- Carsten
On Dec 31, 2007, at 1:10 PM, Adam Spiers wrote:

Adam Spiers (address@hidden) wrote:
Suppose that I have a sub-keymap for custom agenda commands with
prefix 's', i.e. shortcuts 's1', 's2', 's3' and so on. I might invoke
org-agenda, press 's', then change my mind and want to use another
custom command instead.  Currently, the only way of doing this would
be to press something like 'q' or C-g, then reinvoke org-agenda.  It
would be nice instead if there was a keystroke which simply returned
you to the first *Agenda Commands* buffer.  The following patch
demonstrates the required behaviour, but as you can see, is not a
particularly clean way of doing it.

http://www.adamspiers.org/cgi-bin/hg.cgi/org-pacific/rev/8fadf3f7ddda

I forgot to say that the previous patch I posted bound the
cancellation to SPC; however I think DEL would be a more intuitive
choice:

http://www.adamspiers.org/cgi-bin/hg.cgi/org-atlantic/rev/69815deb4483

# HG changeset patch
# User Adam Spiers <address@hidden>
# Date 1199102771 0
# Node ID 69815deb4483e0e782ec0e164d2058a511243e64
# Parent  518295ce53e0594261d7e1b8d92ab8552c0bd69a
SPACE to cancel prefix sub-keymap

diff -r 518295ce53e0 -r 69815deb4483 org.el
--- a/org.el    Sat Dec 29 20:42:27 2007 +0000
+++ b/org.el    Mon Dec 31 12:06:11 2007 +0000
@@ -19340,6 +19340,14 @@ L   Timeline for current buffer
            (setq restriction nil))
((and (equal selstring "") (memq c '(?a ?t ?m ?L ?C ?e ?T ?M ? # ?! ?/))) (throw 'exit (cons (setq selstring (char-to-string c)) restriction)))
+           ((and (> (length selstring) 0) (eq c ?\d))
+            (delete-window)
+ (org-agenda-get-restriction-and-command prefix- descriptions))
+;; Can't do it this way because help text describing hardcoded agenda
+;; commands is inserted into buffer outside the (while t ...) loop.
+;;             (setq selstring ""
+;;                   rmheader 0
+;;                   custom org-agenda-custom-commands))
           ((equal c ?q) (error "Abort"))
           (t (error "Invalid key %c" c))))))))



_______________________________________________
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
address@hidden
http://lists.gnu.org/mailman/listinfo/emacs-orgmode





reply via email to

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