Girişte merkezi çalışma alanındaki konum


12

3x3 çalışma alanı değiştiricisini ayarladım ve konumumun varsayılan olarak ortada olmasını istiyorum. Mümkün mü?

Yanıtlar:


7

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 -dmevcut 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

6

Evet: wmctrl'yi yükle

sudo apt-get install wmctrl

ve ~/.config/autostart/wmctrl.desktopaşağıdakilerle bir dosya oluşturun :

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

1
Compiz'de sadece bir masaüstü var. Ancak wmctrlyine de masaüstünde görünüm penceresini değiştirebilirsiniz. Cevabımı aşağıda görebilirsiniz.
Xiè Jìléi

2
  1. İlk önce komut satırından compiz'i kontrol etmek için bu yardımcı komut dosyasınıalternatif metin indirin . compiz-send.pyAna klasörünüzdeki gibi kaydedin.
  2. python compiz-send.py vpswitch switch_to_5_keyDoğru çalıştığından emin olmak için komutu çalıştırın . Sizi merkez çalışma alanına geçirmelidir.
  3. Çalışırsa, .switch_to_center_workspace.shana 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
    

    userkullanıcı adınızla değiştirmek .

  4. Başlangıç ​​Uygulamaları, Sistem -> Tercihler -> Başlangıç ​​Uygulamaları'nı açın .

  5. 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.

  6. Oturumu kapatın ve tekrar oturum açın ve çalıştığını doğrulayın.


Ne yazık ki senaryo çalışmıyordbus.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 5Komut 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?
Isaiah

Komut dosyasını gnome terminalinde çalıştırmaya ve istisna almaya çalışıyorum. Compiz 0.8.6 kullanıyorum.
Xiè Jìléi

Komut dosyasında, yöntem "im" imzası mevcut değil, bu yüzden etkinleştirmek için (), geçti argüman (dize, int) doğru olmayabilir
söylenebilir

2

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:

  • Çalışma Alanı 1'de: 0 * DG: 4098x768 VP: 0,0 WA: 0,24 1366x744 Workspace 1
  • Çalışma Alanı 2'de: 0 * DG: 4098x768 VP: 1366,0 WA: 0,24 1366x744 Workspace 1
  • 3. Çalışma Alanında: 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şı;)


"Sistem -> Tercihler -> Başlangıç ​​Uygulamaları" nda kullandığım komut:sh -c "sleep 2;/usr/bin/wmctrl -o 1366,0
wik

... uyku değerini ayarlamanız gerekebilir, örn. 10, 15 vb. deneyin
wik

Bu not için teşekkürler - üzgünüm cevabınızı okumadan önce
okumadım

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 -okomutu doğrudan VPyukarı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 ..

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.