Позиція в центральній робочій області під час входу


12

Я встановив комутатор робочого простору 3x3, і я хочу, щоб моє положення за замовчуванням було на центральному. Це можливо?

Відповіді:


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. Спочатку скачайте цей допоміжний скриптalt текст для керування 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. Клацніть Додати і в команді: введіть запис /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" не існує, тому я думаю, що аргументи (рядок, int), передані для активації (), можуть не виправити ..
Xiè Jìléi

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

РЕДАКТУВАННЯ: Джерело, вибачте, щойно це побачила відповідь @ wik - злиття / видалення відповідно.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.