Я хочу использовать drag'n'drop в скрипте, чтобы работать без вмешательства мыши или клавиатуры. Этот скрипт должен брать (перетаскивать) некоторые файлы и папки и помещать (перетаскивать) в среду chroot внутри программного обеспечения Cubic. И после этого для авто нажмите кнопку "Копировать" от Cubic. Так что все должно быть автономным и автоматизированным.Я искал здесь и на других сайтах/форумах и нашел эти обсуждения: https://unix.stackexchange.com/questions/216507/перетаскивание без перетаскивания/557100#557100
https://unix.stackexchange.com/questions/137905/can-i-drag-a-file-into-a-window-without-a-file-manager
Из первой ссылки я хотел бы использовать этот скрипт, но я не знаю, как изменить его, чтобы он работал для того, что я хочу:
#!/usr/bin/env bash
doc="$0 <имя файла|'выстрел'>
С именем файла: перетаскивает данный файл туда, где мышь использует дракона.
Нажмите, чтобы бросить его (где угодно).
С помощью 'shot': файл будет снимком выбранной области.
=> 'drag_into shot' для комбинации горячих клавиш имеет смысл.
"
cmd_shot="выстрел"
файл=
exit_help () { echo -e "$doc"; выход 1; }
select_shot_area () {
# создать снимок экрана
notify-send "Выделите область - мы ее снимем и перетащим туда, где находится мышь."
cd "$HOME/Изображения/снимки/" || выход 1
rm -f "последний.png"
scrot -s '%Y-%m-%d_$wx$h_scrot.png' -e 'ln -s $f last.png'
file="`readlink последний.png`"
}
главный () {
файл = "$1"
test -z "$file" -o "$file" == "-h" && exit_help
eval "$(xdotool getmouselocation --shell)" # в $X и $Y
test "$file" == "$cmd_shot" && { select_shot_area || вернуть 1; }
killall dragon 2>/dev/null # Никаких случайных выпадений не тех предметов...
дракон --and-exit "$file" &
пока верно; делать
xid="$(xdotool search --onlyvisible --class dragon | head -n 2)"
тест -z "$xid" || сломать
спать 0,05
сделано
xdotool mousemove --sync -w "$xid" 1 1 mousedown 1 mousemove $X $Y
notify-send "Нажмите, чтобы удалить файл $..."
}
главная "$@"`
Так можно ли изменить этот скрипт или сделать/создать новый и другой? И как?