On Sat, Jan 30, 2010 at 10:23:20AM -0800, Ryan Thompson wrote:
> Ooh, I solved this problem before, but then I accidentally deleted all my
> files. I have a backup, but I haven't gotten around to restoring everything
> yet. I'll get back to you later.

In the meantime, I've implemented a workaround, based on the following
idea:

  (add-hook 'org-remember-mode-hook 'delete-other-windows)
  (defadvice org-remember-finalize (after delete-frame-at-end activate)
    "Delete frame at remember finalization"
    (delete-frame))
  (defadvice org-remember-kill (after delete-frame-at-end activate)
    "Delete frame at remember abort"
    (delete-frame))

It works properly, but it assumes that org-remember is invoked only
externally via org-protocol (i.e. if I invoke org-remember by hand I
risk my frame).

So I've conceived the following horror to constraint the effect to
org-protocol invocation (yes, with a serious race condition involved):

  (add-hook 'org-remember-mode-hook 'delete-other-windows)
  (setq my-org-protocol-flag nil)
  (defadvice org-remember-finalize (after delete-frame-at-end activate)
    "Delete frame at remember finalization"
    (progn
      (if my-org-protocol-flag (delete-frame))
      (setq my-org-protocol-flag nil)))
  (defadvice org-remember-kill (after delete-frame-at-end activate)
    "Delete frame at remember abort"
    (progn
      (if my-org-protocol-flag (delete-frame))
      (setq my-org-protocol-flag nil)))
  (defadvice org-protocol-remember (before set-org-protocol-flag activate)
    (setq my-org-protocol-flag t))

Any suggestions on how to achieve the same result in a more proper way
will be appreciated ...

Cheers.

-- 
Stefano Zacchiroli -o- PhD in Computer Science \ PostDoc @ Univ. Paris 7
z...@{upsilon.cc,pps.jussieu.fr,debian.org} -<>- http://upsilon.cc/zack/
Dietro un grande uomo c'è ..|  .  |. Et ne m'en veux pas si je te tutoie
sempre uno zaino ...........| ..: |.... Je dis tu à tous ceux que j'aime


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

Reply via email to