Có hai công cụ quan trọng để thao tác các cửa sổ từ cli
; xdotool
và wmctrl
. Cả hai công cụ chồng chéo lẫn nhau về chức năng, nhưng các lệnh quan trọng nhất đề cập đến câu hỏi của bạn:
Trong một tổng quan (không nghi ngờ gì là không đầy đủ), liệt kê các lệnh tôi sử dụng nhiều nhất:
Đóng cửa sổ
wmctrl:
wmctrl -ic <window_id>
Thu nhỏ cửa sổ
xdotool:
xdotool windowminimize <window_id>
Bỏ tối thiểu một cửa sổ
wmctrl:
giảm thiểu hiệu quả được thực hiện bằng cách:
wmctrl -ia <window_id>
Tôi đề cập một cách hiệu quả , vì lệnh di chuyển đến màn hình nền tương ứng, hủy bỏ tối đa và tăng cửa sổ, nhưng lệnh cũng thực hiện điều đó trên các cửa sổ không được thu nhỏ.
Tối đa hóa một cửa sổ
xdotool:
xdotool windowsize <window_id> 100% 100%
wmctrl:
wmctrl -ir <window_id> -b add,maximized_vert,maximized_horz
Tối đa hóa một cửa sổ:
wmctrl -ir <window_id> -b remove,maximized_vert,maximized_horz
Ghi chú
Cả hai xdotool
và wmctrl
không có trên hệ thống của bạn theo mặc định:
sudo apt-get install xdotool wmctrl
Để chạy bất kỳ lệnh nào trên cửa sổ hiện đang hoạt động :
cho wmctrl
các lệnh, loại bỏ -i
tùy chọn, thay thế <window_id>
bằng:ACTIVE:
cho xdotool
các lệnh: thay thế <window_id>
bằng$(xdotool getactivewindow)
Trong nhiều trường hợp, các lệnh có thể được chạy bằng cách sử dụng id cửa sổ hoặc tên cửa sổ . Các -i
tùy chọn trong wmctrl
bảo wmctrl
sử dụng id cửa sổ. Tôi khuyên bạn không nên sử dụng tên của cửa sổ làm định danh, để ngăn ngừa xung đột tên. Nó xảy ra dễ dàng hơn bạn mong đợi.
- Từ kinh nghiệm của riêng tôi, sử dụng tối đa hóa trong một kịch bản; Sử dụng
wmctrl
để tối đa hóa / không tối đa hóa có thể là một lỗi nhỏ trên cả hai Unity
và Gnome
, trong khi xdotool
tùy chọn hoạt động mạnh mẽ hơn theo kinh nghiệm của tôi. Trong hầu hết các kịch bản, tôi kết thúc bằng cách sử dụng kết hợp cả hai wmctrl
và xdotool
.
Thông tin thêm về man wmctrl và man xdotool (chủ yếu là phần: WINDOW THÔNG TIN ).