Возможно ли в X.Org эмулировать Drag And Drop файлов посредством программы/скрипта?
Опишу мотивацию. Часто возникает необходимость выбирать файл(ы) в приложениях (мессенджер - как универсальный пример). Предварительно, файлы находятся/отбираются в файловом менеджере.
Обычно приложения предоставляют два варианта:
1) Нажать соответствующую кнопку, которая откроет диалог выбора файла (подобие файлового менеджера) и там уже вставлять путь к файлу или (что ещё хуже) к директории, если файлов несколько.
2) Перетащить выбранные файлы в приложение (drag and drop). Что тоже не очень удобно, особенно если файловый менеджер и приложение находится в разных workspace'ах.
Около-идеальным решением представляется скрипт, который бы эмулировал drop файлов (например, из буфера обмена) в текущее положение курсора по хоткею.
Возможно кто-то уже решал для себя подобную задачу и не против дать направление... Или нашёл другой способ оптимизировать процедуру выбора файлов :)
SVM, оговорюсь, что у меня достаточно скромные познания в linux)
Но, исходя из моих представлений (и краткого ознакомления с https://freedesktop.org/wiki/Specifications/XDND/), приложение (точнее его окно) лишь сообщает, что поддерживает XDnD (посредством свойства XdndAware у его окна) и готово принимать drop файла. Далее получает "сообщение", если курсор в "состоянии drag" попадает в окно приложения. В итоге получает сообщение "drop" или "leave".
Поэтому я предположил, что существует способ программно инициировать эти сообщения (enter, drop). Не исключаю, что такой возможности нет. Со всей документацией пока не ознакомился. Создал этот вопрос в надежде на существование готовых решений)
Уточню. Задача не подразумевает, что drag файла должен происходить именно из файлового менеджера. Нужно лишь, чтобы произошёл drop файлов, которые находятся в буфере обмена. Понимаю, что не достаточно выполнить drop, нужно ещё передать файл приложению.
Viktor T2, спасибо за направление, но если я правильно понял, данный вариант может лишь избавить от удержания ЛКМ при перетаскивании :)
Хотя, если создать окно, вывести в нём draggable файлы из буфера обмена... Думаю, что таким образом можно решить эту задачу (хоть это и не совсем "чистый" способ)).
wfd, Зависит от используемой DE и используемого clipboard manager-а
Если вы используете определенный DE и определенный clipboard manager,
но нужно гуглить решения по ним , а не по иксам. https://wiki-archlinux-org.translate.goog/title/cl...