Có hai công cụ quan trọng để thao tác các cửa sổ từ cli; xdotoolvà 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 xdotoolvà wmctrlkhô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 wmctrlcác lệnh, loại bỏ -itùy chọn, thay thế <window_id>bằng:ACTIVE:
cho xdotoolcá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 -itùy chọn trong wmctrlbảo wmctrlsử 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 Unityvà Gnome, trong khi xdotooltù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 wmctrlvà xdotool.
Thông tin thêm về man wmctrl và man xdotool (chủ yếu là phần: WINDOW THÔNG TIN ).