Meadow 3 でelscreen。Drag&Dropと、自動的に開く
正直、コピペ。意味がもうすでに不明。でも、動作しております。
;;; elscreen + 自動的にスクリーンを作る (defmacro elscreen-create-automatically (ad-do-it) (` (if (not (elscreen-one-screen-p)) (, ad-do-it) (elscreen-create) (elscreen-notify-screen-modification 'force-immediately) (elscreen-message "New screen is automatically created")))) (defadvice elscreen-next (around elscreen-create-automatically activate) (elscreen-create-automatically ad-do-it)) (defadvice elscreen-previous (around elscreen-create-automatically activate) (elscreen-create-automatically ad-do-it)) (defadvice elscreen-toggle (around elscreen-create-automatically activate) (elscreen-create-automatically ad-do-it)) ;;; elscreen-dnd.elを入れておく (defvar elscreen-dnd-buffers nil) (defadvice x-dnd-handle-drag-n-drop-event (around elscreen-dnd-buffers activate) (setq elscreen-dnd-buffers nil) (save-window-excursion ad-do-it) (when elscreen-dnd-buffers (elscreen-goto (car (mapcar (lambda (buffer) (elscreen-find-screen-by-buffer buffer 'create)) elscreen-dnd-buffers))) (setq elscreen-dnd-buffers nil) (elscreen-notify-screen-modification 'force-immediately))) (defadvice w32-drag-n-drop (around elscreen-dnd-buffers activate) (setq elscreen-dnd-buffers nil) (save-window-excursion ad-do-it) (when elscreen-dnd-buffers (elscreen-goto (car (mapcar (lambda (buffer) (elscreen-find-screen-by-buffer buffer 'create)) elscreen-dnd-buffers))) (setq elscreen-dnd-buffers nil) (elscreen-notify-screen-modification 'force-immediately))) (defadvice dnd-handle-one-url (after elscreen-get-dnd-buffers activate) (setq elscreen-dnd-buffers (cons (current-buffer) elscreen-dnd-buffers)))