[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
address@hidden: drag-n-drop can't be customized by the target buffer]
From: |
Richard Stallman |
Subject: |
address@hidden: drag-n-drop can't be customized by the target buffer] |
Date: |
Sat, 28 Aug 2004 12:48:17 -0400 |
Would the people who work on drag-n-drop please think about this idea?
------- Start of forwarded message -------
To: address@hidden
From: Kevin Rodgers <address@hidden>
Newsgroups: gnu.emacs.bug
Date: Fri, 27 Aug 2004 11:56:49 -0600
X-Orig-X-Trace: news.uni-berlin.de
Nh+o2aku0MLBGtYAyGjzpwgNH8hH4wBq+aJybFTCUbIftZpW4=
X-Accept-Language: en-us
Cc:
Subject: drag-n-drop can't be customized by the target buffer
Sender: address@hidden
X-Spam-Status: No, hits=2.4 required=5.0
tests=EMAIL_ATTRIBUTION,FORGED_YAHOO_RCVD,FROM_ENDS_IN_NUMS,
QUOTED_EMAIL_TEXT,RCVD_IN_ORBS,USER_AGENT_MOZILLA_UA,
X_ACCEPT_LANG
version=2.55
X-Spam-Level: **
X-Spam-Checker-Version: SpamAssassin 2.55 (1.174.2.19-2003-05-19-exp)
This is a multi-part message in MIME format.
- --------------040309070504020707020408
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
It would be better if each of the term/foo-win.el files had something
like:
(defvar drag-n-drop-function 'find-file)
(defun foo-drag-n-drop (event)
...
(mapc drag-n-drop-function (car (cdr (cdr event))))
...
)
so that vm-mail-mode etc. could say:
(set (make-local-variable 'drag-n-drop-function)
(lambda (file)
(vm-mime-attach-file file (or (vm-mime-default-type-from-filename file)
"application/octet-stream"))))
instead of hacking foo-drag-n-drop as below.
Thanks,
- --
Kevin Rodgers
- --------------040309070504020707020408
Content-Type: message/rfc822;
name="Re: Drag-and-drop to attach file in vm mail composition buffer"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="Re: Drag-and-drop to attach file in vm mail composition
buffer"
Path:
uni-berlin.de!fu-berlin.de!peer01.cox.net!cox.net!cyclone1.gnilink.net!spamkiller2.gnilink.net!gnilink.net!trndny03.POSTED!9056c659!not-for-mail
Newsgroups: gnu.emacs.vm,gnu.emacs.vm.info
Subject: Re: Drag-and-drop to attach file in vm mail composition buffer
References: <address@hidden>
From: address@hidden (Jeffrey J. Kosowsky)
Message-ID: <address@hidden>
User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Date: Thu, 26 Aug 2004 18:03:50 GMT
NNTP-Posting-Host: 141.154.253.43
X-Complaints-To: address@hidden
X-Trace: trndny03 1093543430 141.154.253.43 (Thu, 26 Aug 2004 14:03:50 EDT)
NNTP-Posting-Date: Thu, 26 Aug 2004 14:03:50 EDT
Xref: uni-berlin.de gnu.emacs.vm.info:17200
address@hidden (Jeffrey J. Kosowsky) writes:
> Using gnuserv, I can use drag-and-drop to open a file in emacs.
>
> I would like to modify the behavior when the buffer that is exposed is
> a mail composition buffer so that the dragged file is attached to the
> mail composition buffer rather than opening the file in a new buffer.
>
> Notionally, instead of doing something like '(find-file file)', I
> would do something like '(vm-mime-attach-file file)'.
>
> However, despite reading gnuserv.el, I can't figure out how and where
> to patch this in.
>
> Any thoughts on how to do this?
>
OK, I figured it out. Win32 drag-n-drop doesen't use
gnuserv/gnuclientw. The relevant functions are documented in
term/w32-win.el.
I was able to get the desired affect by making some slight
modifications to the function:
(defun w32-drag-n-drop (event)
"Edit the files listed in the drag-n-drop EVENT.
Switch to a buffer editing the last file dropped.
JJK: Added logic so that adds mime attachments if dragged over a buffer
in \"Mail\" mode"
(interactive "e")
(save-excursion
;; Make sure the drop target has positive co-ords
;; before setting the selected frame - otherwise it
;; won't work. <address@hidden>
(let* ((window (posn-window (event-start event)))
(coords (posn-x-y (event-start event)))
(x (car coords))
(y (cdr coords)))
(if (and (> x 0) (> y 0))
(set-frame-selected-window nil window))
; JJK addition start
(if (string= mode-name "Mail")
(mapcar
(lambda (file)
(vm-mime-attach-file file "application/octet-stream"))
(car (cdr (cdr event))))
(mapcar 'find-file (car (cdr (cdr event))))))
; JJK addition end
; (mapcar 'find-file (car (cdr (cdr event)))))
(raise-frame)))
- --------------040309070504020707020408
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
_______________________________________________
Bug-gnu-emacs mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/bug-gnu-emacs
- --------------040309070504020707020408--
------- End of forwarded message -------
- address@hidden: drag-n-drop can't be customized by the target buffer],
Richard Stallman <=