Hi all
I'm quite used to the key bindings in Gnus where I use 'g' to refresh
the overview and 's' to save the state. I wanted to reproduce this in
the agenda buffer, so that I can
* press 's' in the agenda buffer to save all my org files (the
original 's' is also mapped to 'S')
* press 'g' to redo the agenda buffer (the original binding for
'g' has been mapped to 'G')
I understand that key bindings are a matter of taste and you probably do
not want to change them, however the function
'org-agenda-save-all-buffers' is a nice addition (IMHO at least). So
check the attached patch and take whatever you can use.
Thanks
Index: lisp/textmodes/org.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/textmodes/org.el,v
retrieving revision 1.99
diff -u -r1.99 org.el
--- lisp/textmodes/org.el 29 Jun 2006 10:37:08 -0000 1.99
+++ lisp/textmodes/org.el 29 Jun 2006 13:32:24 -0000
@@ -6228,7 +6228,8 @@
(define-key org-agenda-mode-map "f" 'org-agenda-follow-mode)
(define-key org-agenda-mode-map "l" 'org-agenda-log-mode)
(define-key org-agenda-mode-map "D" 'org-agenda-toggle-diary)
-(define-key org-agenda-mode-map "g" 'org-agenda-toggle-time-grid)
+(define-key org-agenda-mode-map "G" 'org-agenda-toggle-time-grid)
+(define-key org-agenda-mode-map "g" 'org-agenda-redo)
(define-key org-agenda-mode-map "r" 'org-agenda-redo)
(define-key org-agenda-mode-map "q" 'org-agenda-quit)
(define-key org-agenda-mode-map "x" 'org-agenda-exit)
@@ -6248,7 +6249,7 @@
(define-key org-agenda-mode-map "C" 'org-agenda-convert-date)
(define-key org-agenda-mode-map "m" 'org-agenda-phases-of-moon)
(define-key org-agenda-mode-map "M" 'org-agenda-phases-of-moon)
-(define-key org-agenda-mode-map "s" 'org-agenda-sunrise-sunset)
+(define-key org-agenda-mode-map "s" 'org-agenda-save-all-buffers)
(define-key org-agenda-mode-map "S" 'org-agenda-sunrise-sunset)
(define-key org-agenda-mode-map "h" 'org-agenda-holidays)
(define-key org-agenda-mode-map "H" 'org-agenda-holidays)
@@ -8457,6 +8458,13 @@
(if (fboundp 'fit-window-to-buffer)
(fit-window-to-buffer (get-buffer-window "*Dates*")))))
+(defun org-agenda-save-all-buffers ()
+ "Save all Org-mode buffers without user confirmation."
+ (interactive)
+ (message "Saving all Org-mode buffers...")
+ (save-some-buffers t 'org-buffer-p)
+ (message "Saving all Org-mode buffers... done"))
+
;;; Tags
(defun org-scan-tags (action matcher &optional todo-only)
@@ -16342,6 +16350,10 @@
(org-invisible-p)))
(org-show-hierarchy-above)))
+(defun org-buffer-p ()
+ "Check if the current buffer is in Org-mode."
+ (eq major-mode 'org-mode))
+
;;; Experimental code
;;; Finish up
_______________________________________________
Emacs-orgmode mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/emacs-orgmode