我最近添加了两个选项,开启后能够将文件和文字从 Emacs 拖放至其他应用中。它们分别为:
- `dired-mouse-drag-files’,开启后可以使用鼠标拖动 dired 中的文件连接,并拖放到任意窗口之上。
- `mouse-drag-and-drop-cross-program’,和 `mouse-drag-and-drop-region’ 同时开启即可使用鼠标拖动选择区中的文字,并拖放到任意其他窗口之上。
目前全面支持 X11, macOS 和 Haiku 平台,暂时不支持 PGTK。首先希望社区能够帮忙验证这些选项的可用性和发现并报告 bug。其次,我来自 X11 背景,不是很了解 mac 平台,如果您在 mac 上遇到比较琐碎的 bug,敬请原谅。
我已经尝试过为 MS Windows 实现以上的功能,却没有找到详细的API说明,也不清楚 OLE 和 COM 是什么,C 语言下如何使用(win32 的 drag and drop API 好像只有 C++ 能调用),所以近期不会实现。如果有懂行的对此感兴趣,Emacs 开发团队自然会非常欢迎补丁。
由于 X11 的拖放协议不容易模拟,目前没有任何 DE 下支持从 Xwayland 应用中拖动数据,因此 Wayland 用户在 PGTK 支持之前无法使用这些功能。