Have you every needed to drag and drop something but then realised that you have to open a shudders non-Emacs file manger? Well not anymore! This package adds bindings for dragon so that you can live in Emacs a little more!
Do note that dired already acts like a sink in normal use so I won’t add dragon functionality for that. It’s a “why add an extra step” sort of thing.
These commands are the original work of @ymarco. Thanks!
This set of commands allow you to drag the current buffers file or if your in an org / latex
buffer to drag the corresponding pdf file by applying the universal argument
or adding a bang to the end of the ex command. This can also be toggled to drag
the pdf by default if dired-dragon-drag-pdf-by-default
is non nil
Command | Use | Flag | Requires |
---|---|---|---|
:drag | an evil ex command to drag the current buffer and quit | -x | evil |
:drag! | the bang equivelent of :drag | -x | evil |
dired-dragon-current-file | a vanilla version of the :drag command | -x | Nothing |
These commands are meant to be used in dired.
Commands | Use | Flag(s) |
---|---|---|
dired-dragon | The Default, drags all and closes after one drop | -x -a |
dired-dragon-individual | window stays open and you can drag all the files | |
dired-dragon-stay | All files will be dropped into the same place but the window will stick around | -a |
(use-package dired-dragon
:straight (:host github
:repo "jeetelongname/dired-dragon")
:after dired)
;; packages.el
(package! dired-dragon :recipe (:host github
:repo "jeetelongname/dired-dragon"))
;; config.el
(use-package! dired-dragon
:after dired)
if you are on a distro that names dragon differently cough arch then you can change the
variable dired-dragon-location
to the name and or location of your choice
(setq dired-dragon-location (executable-find "the name of the executable"))
;; using executable find is a little better as it does not hard code the location
;; but this is optional, just provide it with a full path (eg /usr/bin/dragon)
If you are a doom emacs user (like me) then this snippet will help
;; config.el
(use-package! dired-dragon
:after dired
:config
(map! :map dired-mode-map
(:prefix "C-s"
:n "d" #'dired-dragon
:n "s" #'dired-dragon-stay
:n "i" #'dired-dragon-individual)))
This should be a copy and paste affair but I don’t use vanilla extensively
(use-package dired-dragon
:straight (:host github
:repo "jeetelongname/dired-dragon")
:after dired
;; if you use use-package for bindings
:bind (:map dired-mode-map
("C-d d" . dired-dragon)
("C-d s" . dired-dragon-stay)
("C-d i" . dired-dragon-individual))
;; if you don't
(define-key dired-mode-map (kbd "C-d d") 'dired-dragon)
(define-key dired-mode-map (kbd "C-d s") 'dired-dragon-stay)
(define-key dired-mode-map (kbd "C-d i") 'dired-dragon-individual))
Issue’s are welcome! Pull requests as well. This is my first “formal” package so any pointers would be appreciated