Làm cách nào để thiết lập một lối tắt cho Dịch vụ luôn luôn trên Top cho cửa sổ?


27

Trong 12.04 (Unity), tôi muốn gán một phím tắt cho "luôn luôn ở trên tùy chọn" cho một cửa sổ. Có lẽ một cái gì đó như Ctrl+ Shift+ Homeđể bật và Ctrl+ Shift+ Endđể tắt, hoặc bất cứ điều gì. Có một tùy chọn để làm điều này ở đâu đó trong Trình quản lý cài đặt Compiz không?

Bài đăng (cũ) này tuyên bố rằng

Đối với compiz, Kích hoạt thêm WM Action. Kiểm tra các thuộc tính và chèn ALT+ Avào trường Khóa để chuyển đổi hành động Luôn bật đầu.

Nhưng tôi không thể tìm thấy điều đó.


1
Có ai ở đây quản lý để làm cho công việc này trong Ubuntu 12.10 mà không cần sử dụng ccsm không? cảm ơn
Suhaib

Câu trả lời:


32

Nó nên hoạt động trên mọi hệ điều hành Ubuntu kể từ phiên bản 9.04 mà không cần cài đặt bất cứ thứ gì, sửa đổi việc tạo bất kỳ phím tắt nào.

Hãy thử Alt+ Space, T

  • Alt+ Space là phím tắt đầu tiên hiển thị menu chuột phải

  • T chọn chức năng "Luôn luôn trên đầu".


1
Đây hoàn toàn là câu trả lời tốt nhất trên trang.
dotancohen

Khẳng định làm việc trên Unity 14.04. Việc alt + space kích hoạt menu kéo xuống giúp đặc biệt cho các tính năng được sử dụng không thường xuyên.
Frank M

Đây phải là câu trả lời được lựa chọn. Cảm ơn bạn!
Nam G VU

1
Điều này đã được đăng 2 năm sau câu hỏi, nhưng bây giờ đại diện cho câu trả lời tốt nhất, vì vậy tôi đang thay đổi câu trả lời được chấp nhận.
Ian Hincks

2
không hoạt động vào ngày 18.04, T không chọn chức năng 'Luôn ở trên đỉnh' nữa.
rvbarreto

14

Vì chưa có ai đề cập đến vấn đề này, tôi sẽ chỉ để lại một giải pháp hiệu quả cho tôi trên Ubuntu 12.04.

Bạn có thể thiết lập một phím tắt thông thường và sử dụng wmctrl để chuyển đổi tùy chọn "Luôn ở trên cùng".

Chuyển đến Cài đặt hệ thống> Bàn phím> Phím tắt> Phím tắt tùy chỉnh . Nhấn + và đặt tên cho phím tắt của bạn. Sau đó nhập lệnh sau.

wmctrl -r :ACTIVE: -b toggle,above

Nếu bạn chưa có nó, bạn có thể cài đặt wmctrl từ repos bằng

sudo apt-get install wmctrl

Bạn nên có một cái gì đó trông tương tự như thế này.

Ảnh chụp màn hình hiển thị màn hình thiết lập phím tắt tùy chỉnh

Lượt áp dụng và bạn nên đi tốt!

Giải pháp này đến từ một cuộc thảo luận trên các diễn đàn Ubuntu .


@Suhaib Phần đó đã có trong câu trả lời. :)
Kakennu

haha, xin lỗi Không biết làm thế nào tôi đã bỏ lỡ nó xD
Suhaib

7

Nếu không cài đặt CCSM và các plugin bổ sung thông qua:

sudo apt-get install compizconfig-settings-manager compiz-plugins-thêm

Xin hãy chú ý. CCSM có thể tiêu diệt Unity3D trên một số hệ thống.

Nếu bạn chưa cài đặt phần bổ trợ compiz, bạn cần khởi động lại Compiz để tải chúng (mặc dù chúng hiển thị trong CCSM vẫn ổn trước khi khởi động lại) với Alt+ F2

compiz - nơi

Bạn có thể thấy các hành động bổ sung WM trong phần Quản lý Windows trên CCSM như được giải thích trong bài đăng bạn tìm thấy. Bạn có thể thiết lập hành động mong muốn ở đó một cách dễ dàng.


Trên thực tế, khởi động lại compiz chỉ cần thiết để nó nhận thức được các plugin mới. Sau đó, bạn có thể thay đổi các phím tắt khi đang di chuyển (tức là bạn không cần khởi động lại Compiz sau mỗi lần thay đổi phím tắt)
sup

Cảm ơn bạn đã thông tin @sup. Tôi chỉ giải thích nó bằng cách sử dụng bài đã cho. Thật ra tôi đã không thử nó.
đau khổ

Chà, tôi đã điều chỉnh lại để làm cho nó rõ ràng hơn :-).
sup

2

Một giải pháp khác, tốt hơn tôi nghĩ, là thêm Alt+ Alàm lối tắt để chuyển đổi thuộc tính "Luôn ở trên cùng" của một cửa sổ. Điều này có thể được thực hiện thông qua g-trình soạn thảo . Chỉ cần làm theo các hướng dẫn đơn giản được đưa ra trong video này .

EDIT: Sao chép từ video

  1. nếu bạn đang sử dụng 12.04 && 12.10, bạn phải cài đặt trình biên tập gconf

    sudo apt-get install gconf-editor

  2. Nhập gconf-editorvào thiết bị đầu cuối.

  3. Bấm vào ứng dụng

  4. Đi đến sự khôn ngoan

  5. window_keybindings

  6. nhấp chuột phải vào bên phải hộp và nhấp vào new key

  7. Chọn stringtừ danh sách thả xuống.

  8. Thêm từ toggle_above

  9. Viết bất kỳ lệnh nào bạn muốn. tức là: A và nhấn OK

Làm xong :-)


nó đã không làm việc :-(
Suhaib

Vâng, nó cũng không hoạt động cho 12.10.
sup

Nó sẽ là trình biên tập dcs trong 14.04 ... nhưng nó cũng không hoạt động.
Ed Villegas

1

Tôi đã cố gắng sử dụng wmctrllệnh chuyển đổi, nhưng nó không hoạt động trên Ubuntu của tôi được thiết lập. Chuyển đổi sẽ bật, nhưng không tắt. (Tôi nghĩ rằng đó có thể là do tôi đang sử dụng môi trường máy tính để bàn gnome, trên đó wmctrlAFAIK bị hỏng nhẹ).

Dù sao, sau rất nhiều nghiên cứu và tìm ra cách viết mã phù hợp trong bash, tôi đã tạo một lệnh duy nhất sử dụng các wmctrllệnh trong một lớp logic để chuyển trạng thái 'luôn ở trên đỉnh' một cách hiệu quả trên màn hình nền Gnome hiện tại. Tôi đã đăng câu trả lời này lên Ask Unix / Linux, nhưng nghĩ rằng tôi cũng sẽ đăng nó ở đây trong trường hợp bất kỳ ai cũng gặp vấn đề tương tự.

Đây là lệnh:

bash -c 'wmctrl -r :ACTIVE: -b $([[ $(xprop -id $(xprop -root -f _NET_ACTIVE_WINDOW 0x " \$0\\n" _NET_ACTIVE_WINDOW | awk "{print \$2}") _NET_WM_STATE) =~ "ABOVE" ]] && echo "remove" || echo "add"),above'

Nó kiểm tra thuộc tính trạng thái cửa sổ đang hoạt động "_NET_WM_STATE" bằng cách sử dụng xpropsvà nếu nó chứa văn bản "TRÊN" có nghĩa là tùy chọn 'luôn ở trên cùng' đang hoạt động. Sau đó, nó chỉ chạy wmctrllệnh với tham số addhoặc removekhi thích hợp.


Phân tích lệnh (mỗi lệnh được chèn vào phần tiếp theo, thay thế trình giữ chỗ):

  • Nhận id cửa sổ hoạt động:

    xprop -root -f _NET_ACTIVE_WINDOW 0x " \$0\\n" _NET_ACTIVE_WINDOW | awk "{print \$2}"
    
  • Lấy trạng thái cửa sổ từ xpropviệc sử dụng id:

    xprop -id $(■) _NET_WM_STATE
    
  • Kiểm tra xem trạng thái có chứa "TRÊN" hay không, cho biết cửa sổ được đặt thành "luôn ở trên cùng":

    [[ $(■) =~ "ABOVE" ]]
    
  • Trả về "xóa" nếu đúng, nếu không thì trả về "thêm":

    ■ && echo "remove" || echo "add"
    
  • chạy wmctrllệnh bằng cách sử dụng giá trị trả về làm tham số:

    wmctrl -r :ACTIVE: -b $(■),above
    
  • Gửi toàn bộ để bashbạn có thể sử dụng thay thế lệnh ${ ... }, đánh giá boolean [[ ... ]]và toán tử khớp regex =~:

    bash -c '■'
    

    Bước cuối cùng này đặc biệt khiến tôi mất một thời gian rất dài để tìm ra. Cho đến khi tôi nhận ra rằng các phím tắt không chạy trong bash theo mặc định, tôi không biết tại sao các lệnh lại hoạt động trong bảng điều khiển khi tôi đang kiểm tra chúng nhưng lại âm thầm thất bại khi chạy trực tiếp như một phím tắt. Nó đưa tôi lên tường từ lâu!

Lưu ý: vì bạn cần các trích dẫn xung quanh lệnh bạn đang gửi đến bash, tôi phải cẩn thận khi viết lệnh mà tôi chưa bao giờ đi sâu hơn một cấp độ sâu hơn (sử dụng dấu ngoặc kép). Bất kỳ sự lồng ghép nào nữa của chuỗi trong dấu ngoặc kép sẽ yêu cầu rất nhiều dấu gạch chéo ngược khó hiểu để thoát dấu ngoặc kép.


0

Có thể đã quá muộn nhưng nếu bất cứ ai tìm kiếm nó một lần nữa và đến đây, thì đối với tôi, một giải pháp đơn giản hơn:

Trên Ubuntu và trên nhiều bản phân phối khác sử dụng GTK (họ chủ yếu chia sẻ bảng cài đặt), bạn có thể đi tới Cài đặt -> bàn phím> phím tắt. Trong "danh sách" các phím tắt, bạn sẽ thấy mục nhập chưa được gán để giữ một cửa sổ trên đầu. Không chắc chắn về tên trong tiếng Anh nhưng trong tiếng Pháp đó là "Activer / Désactiver la mise au Premier plan de la fenêtre".

Đặt nó và đó là nó :)

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.