Có một lệnh để đi một không gian làm việc cụ thể?


22

Tôi đang cố gắng tạo một danh sách nhanh trên trình khởi chạy Workspace Switcher cho phép chuyển nhanh sang một không gian làm việc nhất định. (Bạn tôi đôi khi sử dụng máy tính của tôi và chỉ không thích phím tắt, vì vậy tôi muốn giúp anh ấy.)

Vì vậy, có một lệnh người ta có thể gõ vào một thiết bị đầu cuối sẽ buộc một không gian làm việc nhất định phải được tập trung vào?


Ngoài ra, có khả năng đặt lối tắt bàn phím trên systeminstall5 cho kwin (chuyển đổi máy tính để bàn hoặc người khác) hoặc trình quản lý cài đặt máy tính để bàn khác. sau đó sử dụng xdotool để mô phỏng các phím tắt như phím xdotool ctrl + alt + b;
intika

Câu trả lời:


34

Bạn có thể sử dụng wmctrl .

Các lệnh cơ bản:
wmctrl -dđể hiển thị tất cả các không gian làm việc của bạn.
wmctrl -s <workspace_name>để thay đổi một không gian làm việc cụ thể.

Nếu bạn đang sử dụng Compiz, bạn sẽ phải thực hiện một mẹo vì "không gian làm việc" của Compiz thực sự là Viewports của một Workspace duy nhất.

Hướng dẫn thủ thuật

Kiểm tra đầu ra của wmctrl -dVí dụ, của tôi là:

0  * DG: 4098x2304  VP: 1366,0  WA: 0,23 1366x745  N/A  

Điều này có nghĩa là thực sự tôi có một Không gian làm việc 4098 x 2304 thay vì những gì tôi "nghĩ" tôi có (chín "không gian làm việc", 3 x 3).
Tôi đã ở nơi được cho là "không gian làm việc" 2, nhưng thực tế tôi đã ở viewport (VP) 1366,0 (4098/3 = 1366) như được hiển thị bởi đầu ra ở trên.

Vì vậy, đây là cách nó hoạt động: chúng tôi lấy toàn bộ Không gian làm việc và chia cho số lượng "không gian làm việc" mà chúng tôi "nghĩ" chúng tôi có. Trong trường hợp của tôi: 4098/3 = 1366 và 2304/3 = 768.

Nếu tôi muốn đến "không gian làm việc" 1 của mình, lệnh là:

wmctrl -o 0,0

Sau đó, nếu tôi muốn đi đến "không gian làm việc" 4 của mình, lệnh là:

wmctrl -o 0,768

Nếu tôi muốn đến "không gian làm việc" 8 của mình, lệnh là:

wmctrl -o 1366,1536

Nếu tôi muốn đến "không gian làm việc" 9 của mình, lệnh là:

wmctrl -o 2732,1536

Hiểu rồi? ;-)

Các -ocờ "sẽ cắt cụt" giá trị của họ. Nói cách khác, nó thay đổi "không gian làm việc" nơi pixel thực sự thuộc về. Sau đây là tương đương:

wmctrl -o 0,0
wmctrl -o 1365,767

1
Có cách nào để đến "máy tính để bàn hiện tại + 1" không?
xjcl

9

Thật đơn giản để đạt được những gì bạn muốn xdotool, có nhiều tùy chọn để quản lý các không gian làm việc khác nhau (còn được gọi là 'máy tính để bàn' trong tài liệu chương trình). Tôi thấy nó có thể rất thú vị và sáng tạo để xâu chuỗi các lệnh từ man xdotool; các lệnh tôi đã xây dựng dưới đây có thể hữu ích trong các tập lệnh.

Lưu ý: Với một số trình quản lý cửa sổ hoặc nếu bạn đang sử dụng compiz, bạn có thể cần sử dụng xdotoolcác lệnh như set_desktop_viewportget_desktop_viewport. Bạn có thể phải chỉ định các lệnh theo một cách khác như desgua gợi ý ở trên, nhưng đối với tôi set_desktop, set_desktop_for_windowcác lệnh và được chứng minh là hữu ích nhất trên một hệ thống không có tính toán.)

( Giải pháp hữu ích nhất cho người dùng Xubfox / Lubfox hoặc những người không chạy compiz, v.v. )

Để liệt kê số lượng không gian làm việc hiện tại, hãy nhập

xdotool get_num_desktops

Các lệnh sau sẽ chỉ hoạt động nếu bạn có ít nhất 1 không gian làm việc khác.

Để thay đổi tiêu điểm cho không gian làm việc của bạn 1, chỉ cần nhập

xdotool set_desktop 1 

Sau đó, để trở về không gian làm việc mặc định, hãy nhập

xdotool set_desktop 0

Không gian làm việc chỉ cần được chỉ định làm giá trị cuối cùng trong lệnh (1 hoặc 2 hoặc 3, v.v.).

Để tìm số lượng không gian làm việc bạn hiện đang ở, bạn có thể sử dụng

xdotool get_desktop

Các lệnh này có thể được sử dụng trong các tập lệnh và chúng sẽ rất hữu ích để đạt được những gì bạn làm.

Để biết cách chuyển đổi ứng dụng sang một máy tính để bàn cụ thể, hãy xem câu trả lời của tôi ở đây:

Để biết thêm các tùy chọn hữu ích có sẵn để chuyển đổi không gian làm việc, hãy tham khảo ý kiến man xdotool.


Tôi thích câu trả lời này tốt hơn câu trả lời, cảm ơn bạn. Tôi đã sử dụng điều này để đặt hai góc nóng để dễ dàng chuyển đổi giữa hai không gian làm việc.
gian biểu

Cũng hữu ích: Chuyển sang màn hình nền tiếp theo sang trái / phải bằng cách sử dụng cờ tương đối:xdotool set_desktop --relative -- -1
xjcl

1

Tôi đã thực hiện một kịch bản làm những gì bạn muốn. Đây là: https://github.com/norswap/wmov/blob/master/wmov.sh

Nó thực sự hoạt động như được mô tả trong bài viết của desgua. Nó cũng có khả năng gửi các cửa sổ đến các không gian làm việc khác.


1
Lưu ý: Không hoạt động đối với số lượng máy tính để bàn ảo> 9.
j6m8

0

Có một tập lệnh được gọi là compiz-send.py trên wiki compiz một phần giải thích câu hỏi của bạn: đó không phải là một không gian làm việc cụ thể nhưng bạn có thể đến một bên cạnh nó.

Với điều này, bạn có thể ra lệnh
./compiz-dbus-send.py put put_viewport_left_key
./compiz-dbus-send.py put put_viewport_right_key
và có chế độ xem đi 1 sang trái hoặc phải.


0

Đi đến một không gian làm việc cụ thể và thực hiện các hành động có thể được thực hiện với Python và thư viện pyautogui , cho phép các tập lệnh Python thực hiện nhấp chuột, tổ hợp phím, v.v.

Tôi đã viết một hướng dẫn ngắn trong diễn đàn cho Peppermint OS về việc bắt đầu một ứng dụng trên một nơi làm việc cụ thể.

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.