Điểm:0

Kéo và thả trong một kịch bản

lá cờ gb
msf

Tôi muốn sử dụng tính năng kéo và thả trong một tập lệnh, để hoạt động mà không cần sự can thiệp của chuột hoặc bàn phím. Tập lệnh này sẽ lấy (kéo) một số tệp và thư mục, đồng thời đặt (thả) vào môi trường chroot bên trong phần mềm Cubic. Và sau đó để tự động nhấn nút "Sao chép" từ Cubic. Vì vậy, tất cả phải tự chủ và tự động.Tôi đã tìm kiếm khắp nơi ở đây và trên các trang web/diễn đàn khác và tìm thấy các cuộc thảo luận sau: https://unix.stackexchange.com/questions/216507/drag-and-drop-without-the-drag/557100#557100 https://unix.stackexchange.com/questions/137905/can-i-drag-a-file-into-a-window-without-a-file-manager

Từ liên kết đầu tiên, tôi muốn sử dụng tập lệnh này, nhưng tôi không biết cách sửa đổi nó để hoạt động cho những gì tôi muốn:

#!/usr/bin/env bash

doc="$0 <filename|'shot'>

Với tên tệp: Kéo tệp đã cho đến nơi con chuột đang sử dụng rồng.
               Nhấp để thả nó (bất cứ điều gì).
Với 'shot': Tệp sẽ là ảnh chụp của một khu vực được chọn.
               => 'drag_into shot' trên tổ hợp phím nóng có ý nghĩa. 
"

cmd_shot="bắn"
tập tin =

exit_help () { echo -e "$doc"; thoát 1; }

select_shot_area () {
    # tạo ảnh chụp màn hình
    thông báo-gửi "Chọn khu vực - chúng tôi sẽ bắn nó và kéo đến vị trí của con chuột."
    cd "$HOME/Ảnh/ảnh/" || thoát 1
    rm -f "mới nhất.png"
    scrot -s '%Y-%m-%d_$wx$h_scrot.png' -e 'ln -s $f latest.png'
    file="`readlink mới nhất.png`"
}

chủ yếu () {
    tập tin="$1"
    kiểm tra -z "$file" -o "$file" == "-h" && exit_help
    eval "$(xdotool getmouselocation --shell)" # thành $X và $Y
    kiểm tra "$file" == "$cmd_shot" && { select_shot_area || trả lại 1; }
    killall dragon 2>/dev/null # Không vô tình rơi nhầm vật phẩm ...
    rồng --and-exit "$file" &
    trong khi đúng; làm
        xid="$(xdotool search --onlyvisible --class dragon | head -n 2)"
        kiểm tra -z "$xid" || nghỉ
        ngủ 0,05
    xong
    xdotool mousemove --sync -w "$xid" 1 1 mousedown 1 mousemove $X $Y
    thông báo-gửi "Nhấp để thả tập tin $..."
}

chính "$@"`

Vì vậy, có thể sửa đổi tập lệnh này, hoặc tạo/tạo một tập lệnh mới và khác không? Và bằng cách nào?

24601 avatar
lá cờ in
Làm thế nào để điều này liên quan đến Ubuntu? Các câu hỏi lập trình chung nên được hỏi trên https://unix.stackexchange.com/questions
msf avatar
lá cờ gb
msf
Tôi sử dụng Ubuntu để làm điều này. Nó không liên quan chặt chẽ đến một trong các thành phần của Ubuntu, nhưng nếu bạn xem ở đây, rất nhiều câu hỏi không liên quan gì đến các thành phần của Ubuntu.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.