Câu trả lời:
Nhờ Marco, tôi đã tìm ra cách sử dụng wmctrl
.
Vì không gian làm việc compiz thực sự là chế độ xem của một máy tính để bàn, nên giải pháp là di chuyển khung nhìn hiện tại để bao phủ khu vực trung tâm của máy tính để bàn.
Đầu tiên, gọi wmctrl -d
để lấy thông tin của máy tính để bàn hiện tại:
read desktop_id _ast \
DG_ geometry \
VP_ viewport \
WA_ wa_off wa_size \
title \
< <(LANG=C wmctrl -d | grep '*')
geom_w=${geometry%x*}
geom_h=${geometry#*x}
# The workarea size isn't accurate, because the top/bottom panel is excluded.
viewport_w=${wa_size%x*}
viewport_h=${wa_size#*x}
rows=$((geom_w / viewport_w))
cols=$((geom_h / viewport_h))
# Fix the viewport size
viewport_w=$((geom_w / rows))
viewport_h=$((geom_h / cols))
Sau đó, tính toán nguồn gốc của khung nhìn trung tâm:
center_row=$((rows / 2))
center_col=$((cols / 2))
center_x=$((center_col * viewport_w))
center_y=$((center_row * viewport_h))
center_viewport=$center_x,$center_y
Và di chuyển khung nhìn ở đó:
wmctrl -o $center_viewport
compiz-send.py
trong thư mục nhà của bạn.python compiz-send.py vpswitch switch_to_5_key
để đảm bảo nó hoạt động chính xác. Nó sẽ chuyển bạn đến không gian làm việc trung tâm.Nếu nó hoạt động, tạo một tệp được gọi .switch_to_center_workspace.sh
trong thư mục nhà của bạn và dán phần bên trong của nó:
#!/bin/bash
sleep 5 && python /home/user/compiz-send.py vpswitch switch_to_5_key
thay thế user
bằng tên người dùng của bạn.
Mở Ứng dụng khởi động, Hệ thống -> Tùy chọn -> Ứng dụng khởi động .
Nhấp vào Thêm và trong lệnh: nhập đặt /home/user/.switch_to_center_workspace.sh
. Đặt bất cứ điều gì bạn muốn trong Tên: và Nhận xét: mục.
Đăng xuất và đăng nhập lại và xác minh rằng nó hoạt động.
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.UnknownMethod: Method "activate" with signature "si" on interface "org.freedesktop.compiz" doesn't exist
sleep 5
phần của tập lệnh thành số cao hơn như sleep 10
để đảm bảo compiz đã chạy khi tập lệnh được chạy. Bạn đang sử dụng compiz phải không?
Tôi sẽ hỏi câu hỏi tương tự, nhưng đối với 3 không gian làm việc ngang và tôi cũng đang chạy compiz, và wmctrl -d
đầu ra (trên mỗi không gian làm việc) trông như thế này:
0 * DG: 4098x768 VP: 0,0 WA: 0,24 1366x744 Workspace 1
0 * DG: 4098x768 VP: 1366,0 WA: 0,24 1366x744 Workspace 1
0 * DG: 4098x768 VP: 2732,0 WA: 0,24 1366x744 Workspace 1
Hơn tôi chỉ đơn giản sử dụng wmctrl -o 1366,0
( giá trị VP ) để đặt trung tâm làm không gian làm việc mặc định của tôi khi khởi động. Có thể không làm việc cho tất cả mọi người, nhưng chỉ trong trường hợp;)
sh -c "sleep 2;/usr/bin/wmctrl -o 1366,0
Chỉ là một ghi chú ngắn gọn - Tôi đang sử dụng Natty và nhờ câu trả lời của @, tôi nhận thấy rằng những điều sau đây được báo cáo bằng cách di chuyển thiết bị đầu cuối trong bốn 'không gian làm việc' trong Unity:
$ wmctrl -d
# top left
0 * DG: 2048x1200 VP: 0,0 WA: 0,24 1024x576 Workspace 1
# bottom left
0 * DG: 2048x1200 VP: 0,600 WA: 0,24 1024x576 Workspace 1
# top right
0 * DG: 2048x1200 VP: 1024,0 WA: 0,24 1024x576 Workspace 1
# bottom right
0 * DG: 2048x1200 VP: 1024,600 WA: 0,24 1024x576 Workspace 1
... tức là chúng không phải là máy tính để bàn riêng biệt, cũng không phải không gian làm việc - đơn giản là khung nhìn thay đổi!
Vì vậy, để thay đổi giữa bốn chế độ xem đó, chỉ cần gọi wmctrl -o
lệnh trực tiếp với các VP
giá trị được liệt kê ở trên, nghĩa là:
wmctrl -o 0,0
wmctrl -o 0,600
wmctrl -o 1024,0
wmctrl -o 1024,600
EDIT: Xin lỗi, xin lỗi, chỉ cần thấy điều này giống như câu trả lời của @ wik - hợp nhất / xóa nếu thích hợp ..
wmctrl
dù sao cũng có thể chuyển đổi khung nhìn trong máy tính để bàn. Xem câu trả lời của tôi dưới đây.