emacs-orgmode
[Top][All Lists]
Advanced

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

[Orgmode] Re: A crummy little popup for org keybindings help


From: Alan E. Davis
Subject: [Orgmode] Re: A crummy little popup for org keybindings help
Date: Sun, 1 Mar 2009 19:50:57 +1000

Will you forgive me for drifting off topic for a moment?  John Wiegley just posted a reference to "unfuddle".  I admit I have been a bit befuddled for a couple of hours, diving into some simple elisp.  I have no idea what unfuddle is about, but I think I just experienced it.  Immediately after seeing his message, I stumbled upon his "momentary.el".  Just the ticket, because I was trying to use my crummy popup to popup a screen full of remember templates; and that apparently cannot be done because of the control characters in that string. 

Momentary.el can do it.

Perhaps I should put this together into something more polished, and I now think I can.  But I will share what I have done now for three screenfuls of instantaneous popups.  Only the template popup is now done with momentary.el.  It will be interesting if some of the keys displayed are bindings for a more comprehensive bunch of little screens full of help screens from the org-mode reference card.

There's more than one way to skin a cat.  This could be done either with a properly designed event function or with my crummy interface as the first screen.  The event function is far to be preferred, since my function is really flakey when the cursor is at in importune place on the window.

Attached.

Alan



On Sun, Mar 1, 2009 at 8:46 AM, Alan E. Davis <address@hidden> wrote:
Some time ago, the idea of an instant reference card was bantered about on the list.  I presented a file called org-help.org.  I have worked on it from time to time, and it's changed quite a bit.  My most recent idea is to have it available on a keystroke, completely folded, and each line would instantly display some of the most commonly used keys for that topic, then by opening that headline, a tree would be revealed with more detailed keybindings.  I've played with it, and it's helpful, and I'll make it available RSN, hoping others will find ways to make it more useful.  My final touch would be to incorporate a link for each topic to the relevant topics in the org-mode info manual.  What's missing is the convenience of info mode, of being able to stuff it away with "q" and call it up again at the same point.  That would be more convenient.  I'm unable to go forth on that part of the quest, because I haven't gotten my head around texinfo (yet?). 

Meanwhile, I remembered a little help popup I made to remember all my keybindings, long years ago.  Here's a quick popup to get a transient display of some keybindings above the current line.  I didn't understand how to wire it into org-mode-map's keybindings, so I bound it, for now, to \C-cp.  The beauty of this gem is to be able to type the keys right away, and they work.

Please feel free to improve it.  Maybe another two or three of these would provide a person with his own frequently used keys.

;;;;;; org-popup-help
;;----------------
;; Org Popup Help
;;----------------------
(defun org-popup-help ()
  "Inserts a reminder of my org keybindings momentarily
above the current line, until the next keystroke."
  (interactive)
  (save-excursion
    (momentary-string-display
     org-keys (save-excursion (beginning-of-line) (point))
     nil "Type SPC or any command to erase help.")))                      ;;

(defvar org-keys
  (concat "   |                                                             \n"
          "   |                                                             \n"
;;;
      "  | Visibility Cycling               TAB    C-i \n"
      "  | Motion                           C-c C-n/p / C-c C-f/b / C-c C-u / C-c C-j \n"
      "  | Structure Editing                M-RET  /   M-L/R  /  M-S-L/R \n"
      "  | Sorting                          C-c ^ \n"
      "  | Converting to headlines/removing stars     C-c * \n"
      "  | Checkboxes                       M-S-RET\n"
      "  | Archiving [manual]               C-c C-x a \n"
      "  | Filtering and Sparse Trees       C-c / \n"
      "  | Links                            C-c l    /    C-c C-l \n"
      "  | TODO Items                       M-S-RET         C-c C-t \n"
      "  | Tags                             C-c C-q  /  C-c C-c  /  C-c \\n"
      "  | Properties and Column View       C-c C-x p \n"
      "  | Timestamps                       C-c .  /   C-c ! \n"
      "  | *Schedule and Deadline*          C-c C-s  /  C-c C-d\n"
      "  | Clocking time                    C-c C-x C-i  /  C-c C-x C-o \n"
      "  | Relative time clock              C-c C-x .  /  C-c C-x - \n"
      "  | Exporting and Publishing         C-c C-e \n"
      "  | Attachments Dispatcher Commands:  C-c C-a \n"
)
  "*String displayed above current line by \\org-popup-help].")

;(define-key org-mode-map "p" 'org-popup-help)
(global-set-key "\C-cp" 'org-popup-help)
;;;;;;;;;;;;;END org-popup-help.

I'll provide it as a file as well, in case the tabs/spaces get blown away in the mail.

Alan
--
Alan Davis

It is undesirable to believe a proposition when
there is no ground whatsoever for supposing it is true.
    ---- Bertrand Russell
They are ill discoverers that think there is no land, when they can see nothing but sea.
    ----   Sir Francis Bacon




--
Alan Davis

"An inviscid theory of flow renders the screw useless, but the need for one non-existent."                     ---Lord Raleigh (John William Strutt), or else his son, who was also a scientist.

It is undesirable to believe a proposition when
there is no ground whatsoever for supposing it is true.
    ---- Bertrand Russell


Attachment: org-popup-help.el
Description: Text Data


reply via email to

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