Положение в центральной рабочей области при входе


12

Я установил переключатель рабочего пространства 3х3 и хочу, чтобы моя позиция была центральной по умолчанию. Является ли это возможным?

Ответы:


7

Благодаря Марко, я понял, как использовать 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

6

Да: установить wmctrl

sudo apt-get install wmctrl

и создайте файл ~/.config/autostart/wmctrl.desktopсо следующим:

[Desktop Entry]
Name=Desktop Switcher
Exec=/usr/bin/wmctrl -s 4
Type=Application

1
В compiz только один рабочий стол. Но wmctrlвсе равно можете переключать видовой экран на рабочем столе. Смотрите мой ответ ниже.
Xiè Jìléi

2
  1. Сначала загрузите этот вспомогательный скриптальтернативный текст для управления compiz из командной строки. Сохраните его как compiz-send.pyв вашей домашней папке.
  2. Запустите команду, python compiz-send.py vpswitch switch_to_5_keyчтобы убедиться, что она работает правильно. Это должно переключить вас в центр рабочего пространства.
  3. Если это работает, создайте файл с именем .switch_to_center_workspace.shв вашей домашней папке и вставьте в него следующее:

    #!/bin/bash
    sleep 5 && python /home/user/compiz-send.py vpswitch switch_to_5_key
    

    заменить userна ваше имя пользователя.

  4. Откройте «Автозагрузка приложений», « Система» -> «Настройки» -> «Автозагрузка приложений» .

  5. Нажмите кнопку « Добавить» и в поле « Command» введите запись /home/user/.switch_to_center_workspace.sh. Поместите все, что вы хотите в Имя: и Комментарий: записи.

  6. Выйдите и снова войдите в систему и убедитесь, что он работает.


К сожалению, сценарий не работаетdbus.exceptions.DBusException: org.freedesktop.DBus.Error.UnknownMethod: Method "activate" with signature "si" on interface "org.freedesktop.compiz" doesn't exist
Xiè Jìléi

@ 谢 继 雷 Измените sleep 5часть скрипта на большее, например, sleep 10чтобы убедиться, что compiz уже запущен при запуске скрипта. Вы используете compiz правильно?
Исаия

Я пытаюсь запустить скрипт в gnome-терминал, и получаю исключение. Я использую compiz 0.8.6.
Xiè Jìléi

В сценарии сказано, что сигнатура метода "si" не существует, поэтому я думаю, что аргументы (string, int), переданные для
activ

2

Я собирался задать аналогичный вопрос, но для 3-х горизонтальных рабочих пространств, и я также запускаю compiz, и wmctrl -dвывод (для рабочей области) выглядит следующим образом:

  • В рабочей области 1: 0 * DG: 4098x768 VP: 0,0 WA: 0,24 1366x744 Workspace 1
  • В рабочей области 2: 0 * DG: 4098x768 VP: 1366,0 WA: 0,24 1366x744 Workspace 1
  • В рабочей области 3: 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
wik

... вам может потребоваться настроить значение сна, например, попробовать 10, 15 и т. д.
wik

Спасибо за эту заметку - извините, я не прочитал ее до прочтения вашего ответа :)
sdaau

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

РЕДАКТИРОВАТЬ: Ups, извините, только что увидел, что это то же самое, что и ответ @ wik - объединить / удалить, если это необходимо ..

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.