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.