ใน Nautilus เป็นไปไม่ได้ที่จะกำหนดปุ่มทางลัดเพื่อเปิดบุ๊กมาร์กหรือแสดงเนื้อหาของโฟลเดอร์เฉพาะในหน้าต่างปัจจุบัน อินเตอร์เฟสบรรทัดคำสั่งของ nautilus นั้นมีข้อจำกัดอย่างมากเช่นกัน การสร้างปุ่มลัดที่เปิดโฟลเดอร์ในหน้าต่างใหม่นั้นง่ายพอ แต่การเปลี่ยนโฟลเดอร์ที่แสดงในหน้าต่างปัจจุบันโดยใช้ปุ่มทางลัดนั้นไม่ชัดเจน
อาจเป็นไปได้ว่า nautilus-python API เปิดเผยฟังก์ชันการทำงานที่จำเป็น แต่สิ่งนี้ต้องการทักษะการเขียนโปรแกรมและการเข้าถึงเอกสารประกอบที่ซ่อนเร้นอยู่ เราหวังว่าคำตอบดังกล่าวจะตามมา
ต่อไปนี้เป็นเพียงแฮ็ค การป้อนแป้นพิมพ์เพื่อเปลี่ยนเป็นโฟลเดอร์อื่นโดยใช้แถบพาธนั้นถูกสร้างขึ้นโดยใช้ xdotool
. สิ่งนี้สามารถเริ่มต้นได้จากภายใน หอยโข่ง
ใช้สคริปต์หอยโข่ง มีคุณลักษณะที่ไม่ชัดเจนของหอยโข่งตรงที่ใคร ๆ ก็สามารถกำหนดทางลัดเพื่อเรียกใช้สคริปต์ได้ โดยรวมแล้วสิ่งนี้จะให้ผลตามที่เราต้องการ
แฮ็คโดยใช้ xdotool
สร้างสคริปต์หอยโข่ง:
gedit ~/.local/share/nautilus/scripts/_1 เอกสาร
วางรหัสต่อไปนี้สำหรับสคริปต์:
รหัส
#!/bin/bash
DESTINATION=~/เอกสาร
OLDSELECT=$(mktemp)
echo "$DESTINATION" | xsel -bi
xdotool sleep 0.2 คีย์ Control+l Control+v Return
xsel -bi < "$OLDSELECT" ; rm "$OLDSELECT"
/รหัส
กำหนดคีย์ลัดสำหรับสคริปต์:
gedit ~/.config/nautilus/scripts-accels
เพิ่มบรรทัดที่ดูเหมือน
<การควบคุม>0 _1 เอกสาร
สิ่งนี้ใช้ปุ่มลัด Ctrl+0 ที่จะเปลี่ยนมุมมองปัจจุบันไปยังโฟลเดอร์ที่ต้องการ ~/เอกสาร
ในตัวอย่างนี้ มันจำลองการเปิดแถบเส้นทาง (Ctrl+แอลจากนั้นจึงวางเส้นทางของโฟลเดอร์ จากนั้นกดปุ่ม เข้า.
สคริปต์บันทึกข้อความที่อาจอยู่ในคลิปบอร์ด จัดเก็บชื่อพาธที่ต้องการในคลิปบอร์ด จากนั้นใช้ xdotool
เพื่อเปลี่ยนโฟลเดอร์โดยใช้แถบพาธ ตามปกติ จะเกิดความล่าช้าเล็กน้อย (นอน 0.2
) จำเป็นเพื่อทำให้สคริปต์มีความน่าเชื่อถือมากขึ้น
มันเป็นแฮ็ค มีข้อแม้หลายประการ:
ข้อแม้ 1: จะไม่ทำงานบน Wayland
xdotool
และ เอ็กซ์เซล
ไม่ทำงานบน Wayland ซึ่งเป็นเซิร์ฟเวอร์แสดงผลเริ่มต้นที่เริ่มต้นจาก Ubuntu 21.10 เปลี่ยนเป็นเซสชัน Xorg หรือปรับสคริปต์ เครื่องมือเช่น ydotool
และ wl-คลิปบอร์ด
สามารถจำลองการป้อนข้อมูลด้วยแป้นพิมพ์และจัดการคลิปบอร์ดบน Wayland
คำเตือน 2: สคริปต์-accels
แตกใน Nautilus บางเวอร์ชัน
~/.config/nautilus/scripts-accels
ไฟล์คอนฟิกูเรชันที่อนุญาตให้กำหนดคีย์ลัดให้กับสคริปต์ ใช้งานไม่ได้บน Ubuntu 20.04 มันใช้งานได้ก่อนหน้านี้และโชคดีที่ใช้งานได้อีกครั้งบนไฟล์ 40.2 (Ubuntu 21.10)
วิธีแก้ปัญหา
อาจกำหนดปุ่มทางลัดสำหรับเดสก์ท็อปแทน และในสคริปต์ ให้ตรวจสอบว่าหน้าต่างที่ใช้งานอยู่คือ Nautilus หรือไม่ ก่อนที่จะดำเนินการส่วนที่เหลือ (wmctrl
). ข้อเสียเปรียบ: ไม่สามารถใช้คีย์เหล่านี้ในแอปพลิเคชัน/บริบทอื่นสำหรับสิ่งอื่นได้อีกต่อไป
ข้อแม้ 3: สามารถกำหนดคีย์ได้จำกัด
กลไก ~/.config/nautilus/scripts-accels
ไม่อนุญาตให้แทนที่คีย์ที่มีอยู่ ตัวอย่างเช่นคีย์เช่น <การควบคุม>1
และ <การควบคุม>2
ถูกใช้เพื่อเปลี่ยนมุมมองหอยโข่งแล้ว <Alt>#
คีย์ถูกใช้เพื่อเปลี่ยนแท็บแล้ว ดังนั้นทดลองว่าอันไหนใช้ได้ผลและอันไหนไม่ได้ คีย์ถูกกำหนดดังนี้:
; ตัวอย่างคีย์ลัด
; ตัวปรับแต่ง: <Control> <Alt> <Shift>
; F4 เปิดเทอร์มินัลที่นี่
; <Alt>x ลบส่วนขยาย