emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [Orgmode] running remember with emacsclient - how to get a new frame


From: John Wiegley
Subject: Re: [Orgmode] running remember with emacsclient - how to get a new frame
Date: Thu, 06 Sep 2007 18:31:44 -0400
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1 (darwin)

"Scott Jaderholm" <address@hidden> writes:

> On 9/6/07, Jason F. McBrayer <address@hidden> wrote:
>
>> I define this function in my .emacs:
>>
>> (defun my-remember nil
>>   (progn (select-frame
>>           (make-frame '((name . "*Remember*") )))
>>          (raise-frame)
>>          (remember)))
>>
>
> Jason,
>
> This is great. How would you make it so that the frame displays with
> remember as the only window ?

I've made changes to remember.el to support this kind of usage.  Just replace
the `remember' function in your remember.el file with the following.

John

(defcustom remember-in-new-frame nil
  "Non-nil means use a separate frame for capturing remember data."
  :type 'boolean
  :group 'remember)

;;;###autoload
(defun remember (&optional initial)
  "Remember an arbitrary piece of data.
With a prefix, uses the region as INITIAL."
  (interactive
   (list (when current-prefix-arg
           (buffer-substring (point) (mark)))))
  (funcall (if remember-in-new-frame
               #'frame-configuration-to-register
             #'window-configuration-to-register) remember-register)
  (let* ((annotation
          (if remember-run-all-annotation-functions-flag
              (mapconcat 'identity
                         (delq nil (mapcar 'funcall 
remember-annotation-functions))
                         "\n")
            (run-hook-with-args-until-success
             'remember-annotation-functions)))
         (buf (get-buffer-create remember-buffer)))
    (run-hooks 'remember-before-remember-hook)
    (funcall (if remember-in-new-frame
                 #'switch-to-buffer-other-frame
               #'switch-to-buffer-other-window) buf)
    (if remember-in-new-frame
        (set-window-dedicated-p
         (get-buffer-window (current-buffer) (selected-frame)) t))
    (remember-mode)
    (when (= (point-max) (point-min))
      (when initial (insert initial))
      (setq remember-annotation annotation)
      (when remember-initial-contents (insert remember-initial-contents))
      (when (and (stringp annotation)
                 (not (equal annotation "")))
        (insert "\n\n" annotation))
      (setq remember-initial-contents nil)
      (goto-char (point-min)))
    (message "Use C-c C-c to remember the data.")))

;;;###autoload
(defun remember-other-frame (&optional initial)
  (interactive
   (list (when current-prefix-arg
           (buffer-substring (point) (mark)))))
  (let ((remember-in-new-frame t))
    (remember initial)))




reply via email to

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