Score:0

ลากและวางในสคริปต์

ธง gb
msf

ฉันต้องการใช้การลากและวางในสคริปต์ เพื่อทำงานโดยไม่ต้องใช้เมาส์หรือแป้นพิมพ์ สคริปต์นี้ควรใช้ (ลาก) ไฟล์และโฟลเดอร์บางไฟล์ และวาง (วาง) ลงในสภาพแวดล้อม chroot ภายในซอฟต์แวร์ Cubic และหลังจากนั้น เพื่อกดปุ่ม "คัดลอก" จาก Cubic โดยอัตโนมัติ ดังนั้นทั้งหมดจะต้องเป็นอิสระและเป็นไปโดยอัตโนมัติฉันค้นหาที่นี่และในไซต์/ฟอรัมอื่นๆ และพบการสนทนาเหล่านี้: 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

จากลิงค์แรกฉันต้องการใช้สคริปต์นี้ แต่ฉันไม่รู้วิธีแก้ไขให้ทำงานในสิ่งที่ฉันต้องการ:

#!/usr/bin/env ทุบตี

doc="$0 <ชื่อไฟล์|'shot'>

ด้วยชื่อไฟล์: ลากไฟล์ที่กำหนดไปยังตำแหน่งที่เมาส์ใช้มังกร
               คลิกเพื่อวางมัน (อะไรก็ได้)
ด้วย 'shot' : ไฟล์จะเป็นภาพของพื้นที่ที่จะเลือก
               => 'drag_into shot' บนปุ่มคำสั่งผสมที่สมเหตุสมผล 
"

cmd_shot="ช็อต"
ไฟล์=

exit_help () { echo -e "$doc"; ทางออก 1; }

Select_shot_area () {
    #สร้างภาพหน้าจอ
    แจ้งเตือนส่ง "เลือกพื้นที่ - เราจะยิงมันแล้วลากไปยังตำแหน่งที่เมาส์อยู่"
    cd "$HOME/Pictures/shots/" || ทางออก 1
    rm -f "latest.png"
    scrot -s '%Y-%m-%d_$wx$h_scrot.png' -e 'ln -s $f latest.png'
    ไฟล์="`readlink latest.png`"
}

หลัก () {
    ไฟล์ = "$1"
    ทดสอบ -z "$file" -o "$file" == "-h" && exit_help
    eval "$(xdotool getmouselocation --shell)" # เป็น $X และ $Y
    ทดสอบ "$file" == "$cmd_shot" && { select_shot_area || กลับ 1; }
    killall dragon 2>/dev/null # ไม่มีการดรอปไอเท็มผิดโดยไม่ตั้งใจ ...
    มังกร --and-ออก "$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
    แจ้ง-ส่ง "คลิกเพื่อวาง $file..."
}

หลัก "$@"`

ดังนั้นสามารถแก้ไขสคริปต์นี้หรือสร้าง / สร้างใหม่และแตกต่างได้อย่างไรและอย่างไร

24601 avatar
in flag
สิ่งนี้เกี่ยวข้องกับ Ubuntu อย่างไร ควรถามคำถามการเขียนโปรแกรมทั่วไปใน https://unix.stackexchange.com/questions
msf avatar
gb flag
msf
ฉันใช้ Ubuntu ในการทำสิ่งนี้ มันไม่เกี่ยวข้องกับส่วนประกอบของ Ubuntu อย่างใดอย่างหนึ่ง แต่ถ้าคุณดูที่นี่ คำถามมากมายไม่เกี่ยวข้องกับส่วนประกอบของ Ubuntu

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา