Yanıtlar:
Marco sayesinde, kullanarak bir yol buldum wmctrl
.
Compiz çalışma alanları aslında tek bir masaüstünün görünüm alanı olduğundan, geçerli görünüm penceresini masaüstünün merkez bölgesini kapsayacak şekilde taşımaktır.
İlk olarak, wmctrl -d
mevcut masaüstünün bilgilerini almak için arayın :
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))
Ardından, merkez görünüm penceresinin kaynağını hesaplayın:
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
Ve görüntü alanını oraya taşıyın:
wmctrl -o $center_viewport
Evet: wmctrl'yi yükle
sudo apt-get install wmctrl
ve ~/.config/autostart/wmctrl.desktop
aşağıdakilerle bir dosya oluşturun :
[Desktop Entry]
Name=Desktop Switcher
Exec=/usr/bin/wmctrl -s 4
Type=Application
compiz-send.py
Ana klasörünüzdeki gibi kaydedin.python compiz-send.py vpswitch switch_to_5_key
Doğru çalıştığından emin olmak için komutu çalıştırın . Sizi merkez çalışma alanına geçirmelidir.Çalışırsa, .switch_to_center_workspace.sh
ana klasörünüzde adlı bir dosya oluşturun ve aşağıdakileri içine yapıştırın:
#!/bin/bash
sleep 5 && python /home/user/compiz-send.py vpswitch switch_to_5_key
user
kullanıcı adınızla değiştirmek .
Başlangıç Uygulamaları, Sistem -> Tercihler -> Başlangıç Uygulamaları'nı açın .
Tıklayın ekleyin ve Command: entry put /home/user/.switch_to_center_workspace.sh
. İstediğiniz her şeyi Ad: ve Yorum: girişlerine ekleyin.
Oturumu kapatın ve tekrar oturum açın ve çalıştığını doğrulayın.
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.UnknownMethod: Method "activate" with signature "si" on interface "org.freedesktop.compiz" doesn't exist
sleep 5
Komut dosyası sleep 10
çalıştırıldığında compiz'in zaten çalıştığından emin olmak için komut dosyasının kısmını daha yüksek bir sayıya değiştirin. Compiz kullanıyorsunuz değil mi?
Benzer soruyu soracaktım, ancak 3 yatay çalışma alanı için de compiz çalıştırıyorum ve wmctrl -d
çıktı (çalışma alanı başına) şöyle görünüyor:
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
Daha sonra merkezi başlangıçta varsayılan çalışma alanım yapmak için wmctrl -o 1366,0
( VP değerleri) kullandım. Herkes için çalışmayabilir, ancak her ihtimale karşı;)
sh -c "sleep 2;/usr/bin/wmctrl -o 1366,0
Sadece kısa bir not - Natty kullanıyorum ve @ 谢 继 雷 cevabı sayesinde, Unity'deki dört 'çalışma alanının' her birinde terminali hareket ettirerek aşağıdakilerin rapor edildiğini fark ettim:
$ 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
... yani ne ayrı masaüstleri ne de çalışma alanları değil - sadece görünüm değişiyor!
Bu nedenle, bu dört görünüm penceresi arasında geçiş yapmak için, wmctrl -o
komutu doğrudan VP
yukarıda listelenen değerlerle çağırın , yani:
wmctrl -o 0,0
wmctrl -o 0,600
wmctrl -o 1024,0
wmctrl -o 1024,600
EDIT: Ups, üzgünüm, sadece @ wik'in cevabı ile aynı olduğunu gördüm - uygun şekilde birleştirme / silme ..
wmctrl
yine de masaüstünde görünüm penceresini değiştirebilirsiniz. Cevabımı aşağıda görebilirsiniz.