unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Reiner Steib <reinersteib+gmane@imap.cc>
Subject: Fwd: Preventing drag & drop the dired way
Date: Tue, 10 May 2005 11:43:44 +0200	[thread overview]
Message-ID: <v9y8anju0f.fsf@marauder.physik.uni-ulm.de> (raw)

[-- Attachment #1: Type: message/rfc822, Size: 741 bytes --]

From: "oliver" <oliver_baumann@nospam.justemail.net>
Subject: Preventing drag & drop the dired way
Date: Tue, 10 May 2005 17:26:49 +1000
Message-ID: <d5pngo$2oai$1@otis.netspace.net.au>

Hi there,

normally, if I drag a file onto an Emacs session Emacs opens
the file.  But sometimes, such as when the window with focus
happens to contain a dired buffer something else happens.
dired will attempt to copy the file to it's current directory.

C-h k always reports w32-drag-n-drop which says nothing about
moving or copying a file.

Is there an easy way to cause Emacs to always open the file
I drag onto it no matter what buffer happens to be displayed?

thanks, olli 

[-- Attachment #2: Type: text/plain, Size: 2102 bytes --]


Hi,

I would have suggested to use `dired-mode-hook' to reset the dnd
variables to their standard values.   But this won't work because the
DND setup is done after running the hooks in `dired-mode'.

I think it is reasonable that a user prefers to have the default drop
behavior in dired.  Shouldn't we have an option for this?  I'd suggest
the following patch.  Okay to install?

2005-05-10  Reiner Steib  <Reiner.Steib@gmx.de>

	* dired.el (dired-dnd-protocol-alist): New variable.
	(dired-mode): Use `dired-dnd-protocol-alist'.

--8<---------------cut here---------------start------------->8---
--- dired.el	12 Apr 2005 11:50:24 +0200	1.307
+++ dired.el	10 May 2005 11:36:53 +0200	
@@ -200,6 +200,18 @@
 ;; Note this can't simply be run inside function `dired-ls' as the hook
 ;; functions probably depend on the dired-subdir-alist to be OK.
 
+(defcustom dired-dnd-protocol-alist
+  '(("^file:///" . dired-dnd-handle-local-file)
+    ("^file://"  . dired-dnd-handle-file)
+    ("^file:"    . dired-dnd-handle-local-file))
+  "The functions to call when a drop in `dired-mode' is made.
+See `dnd-protocol-alist' for more information.  When nil, behave
+as in other buffers."
+  :type '(choice (repeat (cons (regexp) (function)))
+		 (const :tag "Behave as in other buffers" nil))
+  :version "22.1"
+  :group 'dired)
+
 ;; Internal variables
 
 (defvar dired-marker-char ?*		; the answer is 42
@@ -1522,14 +1534,11 @@
        'dired-desktop-buffer-misc-data)
   (setq dired-switches-alist nil)
   (dired-sort-other dired-actual-switches t)
-  (run-mode-hooks 'dired-mode-hook)
   (when (featurep 'dnd)
     (make-variable-buffer-local 'dnd-protocol-alist)
     (setq dnd-protocol-alist
-	  (append '(("^file:///" . dired-dnd-handle-local-file)
-		    ("^file://"  . dired-dnd-handle-file)
-		    ("^file:"    . dired-dnd-handle-local-file))
-		  dnd-protocol-alist))))
+	  (append dired-dnd-protocol-alist dnd-protocol-alist)))
+  (run-mode-hooks 'dired-mode-hook))
 \f
 ;; Idiosyncratic dired commands that don't deal with marks.
 
--8<---------------cut here---------------end--------------->8---

[-- Attachment #3: Type: text/plain, Size: 142 bytes --]

_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-devel

             reply	other threads:[~2005-05-10  9:43 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-05-10  9:43 Reiner Steib [this message]
2005-05-10 10:40 ` Fwd: Preventing drag & drop the dired way David Kastrup
2005-05-11 16:27   ` Richard Stallman
2005-05-11 19:39     ` Reiner Steib
2005-05-11 13:56 ` Johan Bockgård
2005-05-12  8:30   ` Richard Stallman
2005-05-12 15:53     ` Kevin Rodgers

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=v9y8anju0f.fsf@marauder.physik.uni-ulm.de \
    --to=reinersteib+gmane@imap.cc \
    --cc=Reiner.Steib@gmx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).