Відповіді:
Завдяки Марко я придумав спосіб використання wmctrl
.
Оскільки робочі простори compiz - це фактично область перегляду одного робочого столу, тож рішенням є переміщення поточного огляду для покриття центральної області робочого столу.
Спочатку зателефонуйте, wmctrl -d
щоб отримати інформацію про поточний робочий стіл:
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))
Потім обчисліть походження центру вікна перегляду:
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
І перемістіть область перегляду туди:
wmctrl -o $center_viewport
compiz-send.py
у своїй домашній папці.python compiz-send.py vpswitch switch_to_5_key
щоб переконатися, що вона працює правильно. Він повинен переключити вас на центральну робочу область.Якщо це працює, створіть файл, який називається .switch_to_center_workspace.sh
у вашій домашній папці, і вставте його всередину:
#!/bin/bash
sleep 5 && python /home/user/compiz-send.py vpswitch switch_to_5_key
заміни user
своїм іменем користувача.
Відкрийте програми запуску, система -> налаштування -> програми запуску .
Клацніть Додати і в команді: введіть запис /home/user/.switch_to_center_workspace.sh
. Введіть все, що завгодно, у записи Ім'я: та Коментар: записи.
Вийдіть та увійдіть назад та переконайтеся, що він працює.
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.UnknownMethod: Method "activate" with signature "si" on interface "org.freedesktop.compiz" doesn't exist
sleep 5
частину сценарію на більшу кількість, наприклад, sleep 10
щоб переконатися, що compiz вже запущений під час запуску сценарію. Ви використовуєте compiz правильно?
Я збирався задати подібне питання, але для 3-х горизонтальних робочих просторів я також працюю compiz, і wmctrl -d
вихід (на робочу область) виглядає так:
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
Чим я просто користувався wmctrl -o 1366,0
( значення VP ), щоб зробити центр як мою робочу область за замовчуванням при запуску. Може працювати не для всіх, але про всяк випадок;)
sh -c "sleep 2;/usr/bin/wmctrl -o 1366,0
Лише коротка примітка - я використовую Natty, і завдяки відповіді @ 谢 继 雷 я помітив, що повідомляється про наступне, переміщуючи термінал у кожній з чотирьох «робочих областей» в 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
... тобто вони не є ні окремими робочими, ні робочими просторами - просто змінюється вікно перегляду!
Отже, щоб перейти між цими чотирма оглядами, просто зателефонуйте wmctrl -o
команді безпосередньо зі VP
значеннями, переліченими вище, тобто:
wmctrl -o 0,0
wmctrl -o 0,600
wmctrl -o 1024,0
wmctrl -o 1024,600
РЕДАКТУВАННЯ: Джерело, вибачте, щойно це побачила відповідь @ wik - злиття / видалення відповідно.
wmctrl
можна будь-коли перемикати вікно перегляду всередині робочого столу. Дивіться мою відповідь нижче.