Excited about my DemoCamp presentation!
| democamp, emacsI've written a totally small-time presentation thingy that cues me thanks to Emacspeak. ;) Here's the setup code:
(progn ;; Setup
(defvar democamp/presentation-file "~/democamp.el")
(defvar democamp/cue-buffer "*DemoCamp*")
(defun democamp/next ()
(interactive)
(let (start sexp)
(with-current-buffer (find-file-noselect democamp/presentation-file)
(setq start (point))
(forward-sexp)
(setq sexp (buffer-substring-no-properties start (point))))
(eval (read sexp))))
(defun democamp/previous ()
(interactive)
(let (start sexp)
(with-current-buffer (find-file-noselect democamp/presentation-file)
(setq start (point))
(backward-sexp)
(setq sexp (buffer-substring-no-properties (point) start)))
(eval (read sexp))))
(defun democamp/repeat ()
(interactive)
(let (start sexp)
(with-current-buffer (find-file-noselect democamp/presentation-file)
(setq start (point))
(backward-sexp)
(setq sexp (buffer-substring (point) start))
(forward-sexp))
(eval (read sexp))))
(defun democamp/say (text)
(with-current-buffer (get-buffer-create democamp/cue-buffer)
(erase-buffer)
(insert text)
(goto-char (point-min))
(call-interactively 'emacspeak-speak-buffer)))
(global-set-key (kbd "") 'democamp/next)
(global-set-key (kbd "S-") 'democamp/previous)
(global-set-key (kbd "C-") 'democamp/repeat)
)
Random Emacs symbol: gnus-multiple-choice – Function: Ask user a multiple choice question.
You can e-mail me at sacha@sachachua.com.