วิธีการระบุรายการคำสั่งผสมในการใช้งาน?


16

นอกเหนือจากการดูว่าแต่ละปลั๊กอินที่ใช้งานอยู่และค้นหา keybindings / keyboard-shortcuts ที่ใช้โดย compiz แล้วยังมีวิธีการ 'เรียบง่าย' ในการรวบรวมข้อมูลนี้หรือไม่?

ie บางพาเนลที่แสดง keybindings ที่แอ็คทีฟอยู่ในปัจจุบันที่ใช้งานอยู่ (โดย compiz) หรือคำสั่งเทอร์มินัลบางอย่างทำเช่นเดียวกัน

แป้นพิมพ์ลัดไม่ปรากฏขึ้นเพื่อแสดงรายการแป้นพิมพ์ลัดเฉพาะบางรายการ

ขอบคุณ

คำตอบ:


12

ต่อไปนี้เป็นหนึ่งซับ (ยาวมาก) ที่ส่งคืนทางลัดทั้งหมดจากปลั๊กอินที่ใช้งานอยู่ทั้งหมด:

for i in $(gconftool-2 --get /apps/compiz-1/general/screen0/options/active_plugins|sed "s/\[\|\]//g"|sed "s/,/ /g"); do echo "# $i:"; gconftool-2 -a /apps/compiz-1/plugins/"$i"/screen0/options | grep "_key\|_button\|trigger_\|initiate\ \|panel_first_menu\|keyboard_focus\|execute_command\|show_launcher" | grep -v "Disabled\|=[[:space:]]*$" | sort; done; echo -e "\n# metacity overrides:"; gconftool-2 -a /apps/metacity/global_keybindings | grep -v "disabled\|cycle\|switch_panels" | sort; gconftool-2 -a /apps/metacity/window_keybindings | grep -v "disabled" | sort

อัปเดต :
เวอร์ชั่นด้านบนได้รับทั้งหมดแล้วไม่ว่างเปล่า / คนพิการ keybindings (คีย์เมาส์เมาส์ + กุญแจ) จากปลั๊กอินที่ใช้งานทั้งหมด

แต่ค่าของคีย์X-GNOME-WMSettingsModuleใน/usr/share/applications/compiz.desktopทำให้คีย์ Compiz Metacity แทนที่หลาย คุณจะสังเกตเห็นป้ายกำกับตัวเอียงccsm- นั่นคือเมื่อค่ามาจาก Metacity และไม่ใช่ Compiz

เมื่อฉันพบวิธีที่ไม่สะดวกในการแก้ไขปัญหานี้ฉันเพียงเพิ่มทางลัด Metacity ทั้งหมดลงในส่วนท้ายของผลลัพธ์


1
ดูเหมือนว่าจะทำงานได้ดีมากขอบคุณ แม้ว่ามันจะกลับมา show_desktop_key = <Control> <Alt> d แทนที่จะเป็น <super> d เนื่องจากฉันได้นิยามใหม่แล้ว
Jay_11

ตอนนี้มันแปลก ... เปลี่ยนกำแพง "left_key" เปลี่ยนแปลง "/ apps / metacity / global_keybindings / switch_to_workspace_left" แทน ดูเหมือนว่าการโยงคีย์บางส่วนที่คุณเปลี่ยนใน Compiz นั้นถูกตั้งค่าสำหรับความทึบหรือไม่ นั่นจะทำให้งานหนักขึ้นเล็กน้อย : - /
htorque

ขอบคุณสำหรับการอัพเดท ตอนนี้แสดงค่าที่แก้ไขสำหรับการเปิดเผยเดสก์ท็อปภายใต้การแทนที่ # metacity: - งานดีมากขอบคุณอีกครั้ง
Jay_11

โปรดทราบว่าเนื่องจากมีหลายคำสั่งอยู่ที่นั่นหากคุณต้องการบันทึกผลลัพธ์ในไฟล์คุณควรรวมสิ่งนั้นไว้ใน parens และเปลี่ยนเส้นทางเอาต์พุตหลังจากที่ paren pariling
nealmcb

1
สิ่งนี้ไม่ทำงานอีกต่อไปตั้งแต่วันที่ 14.04:No value set for /apps/compiz-1/general/screen0/options/active_plugins
Jonathan Hartley

1

คุณไม่จำเป็นต้องโยงสคริปต์ 2 บท แต่อาจเป็นสคริปต์เดียวคั่นด้วย ';' แต่ที่เรียบง่ายกว่าก็น่าจะไปป์ สำหรับ 12.04 ที่ไม่มีความทึบควรเป็น:

for i in $(gconftool-2 --get /apps/compiz-1/general/screen0/options/active_plugins|tr '[],' ' '); do echo "# $i:"; gconftool-2 -a /apps/compiz-1/plugins/"$i"/screen0/options | grep "_key\|_button\|trigger_\|initiate\ \|panel_first_menu\|keyboard_focus\|execute_command\|show_launcher" | grep -v "Disabled\|=[[:space:]]*$" | sort; done

อย่างไรก็ตามตามที่ Jay_11 ได้กล่าวไปแล้วการสร้างทั้งหมดดูเหมือนว่าจะแสดงส่วนหนึ่งของสิ่งที่จะเข้าสู่การคอมไพล์ไม่ใช่ผลลัพธ์ เช่นฉันได้close_window_key = <Alt>F4แต่ปิดมันไป ในฐานะผู้ใช้ Emacs ตัวยงฉันไม่ปล่อยให้ผู้จัดการหน้าต่างเข้าใกล้อะไรเลยยกเว้น<Super>แต่สิ่งนี้จะไม่ปรากฏ!

ดังนั้นคำถามยังคงอยู่: คอมไพล์กำลังทำอะไรอยู่จริงๆ


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.