Làm thế nào để liệt kê các keybindings đang sử dụng?


16

Khác với việc tìm kiếm mặc dù mỗi plugin đang hoạt động và tìm kiếm thủ công các phím bấm / phím tắt được sử dụng bởi compiz, có cách nào "đơn giản" để thu thập thông tin này không?

tức là một số bảng điều khiển hiển thị tất cả các tổ hợp phím đang hoạt động đang sử dụng (bằng compiz) hoặc một số lệnh đầu cuối để thực hiện tương tự.

Phím tắt không xuất hiện để liệt kê một số phím tắt compiz cụ thể.

Cảm ơn

Câu trả lời:


12

Đây là một lớp lót (rất dài) trả về tất cả các phím tắt từ tất cả các plugin đang hoạt động:

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

Cập nhật :
Phiên bản trên bây giờ nhận được tất cả các tổ hợp phím không trống / bị vô hiệu hóa (phím, chuột, phím + chuột) từ tất cả các plugin đang hoạt động.

Tuy nhiên, giá trị của khóa X-Gnome-WMSinstallModule trong /usr/share/appluggest/compiz.desktop làm cho Metacity ghi đè lên một số khóa Compiz. Bạn sẽ nhận thấy các nhãn in nghiêng ccsm- đó là khi giá trị đến từ Metacity chứ không phải Compiz.

Vì tôi thấy không có cách nào dễ dàng để sửa lỗi này, tôi chỉ cần thêm tất cả các phím tắt Metacity vào cuối đầu ra.


1
Điều đó dường như làm công việc rất độc đáo, cảm ơn. Mặc dù nó trả về show_desktop_key = <Control> <Alt> d, thay vì <super> d như tôi đã định nghĩa lại.
Jay_11

Bây giờ thật kỳ lạ ... thay đổi tường "left_key" thay đổi "/ apps / metacity / global_keybindings / switch_to_workspace_left" thay vào đó. Có vẻ như một số keybindings bạn thay đổi trong Compiz được đặt cho độ sáng? Điều đó sẽ làm cho nhiệm vụ khó khăn hơn một chút. : - /
htorque

Cảm ơn bạn đã cập nhật. Bây giờ hiển thị giá trị được sửa đổi để hiển thị màn hình dưới # metacity ghi đè: - Công việc rất tốt, Cảm ơn một lần nữa.
Jay_11

Lưu ý rằng vì có nhiều lệnh ở đó, nếu bạn muốn lưu kết quả đầu ra trong một tệp, bạn nên bọc toàn bộ nội dung đó trong parens và chuyển hướng đầu ra sau khi theo dõi.
nealmcb

1
Điều này không còn hoạt động kể từ ngày 14.04:No value set for /apps/compiz-1/general/screen0/options/active_plugins
Jonathan Hartley

1

Bạn không cần phải xâu chuỗi 2 tập lệnh sed, chúng có thể là một, được phân tách bằng ';'. Nhưng thậm chí đơn giản hơn sẽ là đường ống đến tr. Đối với 12.04 không có độ sáng thì phải là:

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

Tuy nhiên, như Jay_11 đã lưu ý, toàn bộ cấu trúc dường như hiển thị một phần của những gì đi vào compiz, không phải là kết quả. Ví dụ tôi nhận được close_window_key = <Alt>F4, nhưng tôi đã tắt nó. Là một người dùng Emacs khao khát, tôi không để người quản lý cửa sổ đến gần bất cứ thứ gì ngoại trừ <Super>, nhưng điều này không hiển thị!

Vì vậy, câu hỏi vẫn còn: compiz thực sự đang làm gì?


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.