Belirli bir çalışma alanına gitmek için bir komut var mı?


22

Belirli bir çalışma alanına hızlı bir şekilde geçilmesine izin veren Çalışma Alanı Değiştirici başlatıcısı üzerinde bir hızlı liste yapmaya çalışıyorum. (Arkadaşım bazen bilgisayarımı kullanıyor ve klavye kısayollarından hoşlanmıyor, bu yüzden ona yardım etmek istiyorum.)

Yani, belirli bir çalışma alanını odaklanmaya zorlayacak bir terminale girebilecek bir komut var mı?


Ayrıca, kwin (masaüstünü değiştir veya başka bir tuşa) ya da diğer masaüstü ayarları yöneticisi için systemsettings5'te klavye kısayolunu ayarlama imkanı vardır. daha sonra xdotool tuşu ctrl + alt + b gibi kısayol tuşlarını simüle etmek için xdotool kullanın;
intika

Yanıtlar:


34

Wmctrl kullanabilirsiniz .

Temel komutlar:
wmctrl -dtüm çalışma alanlarınızı göstermek için.
wmctrl -s <workspace_name>Belirli bir çalışma alanına geçmek için.

Compiz kullanıyorsanız, bir hile yapmak zorunda kalacaksınız çünkü Compiz "workspaces" aslında tek bir Çalışma Alanının Viewport'larıdır.

Hile Talimatları

Çıktısını kontrol edin wmctrl -dÖrneğin, benim:

0  * DG: 4098x2304  VP: 1366,0  WA: 0,23 1366x745  N/A  

Bu aslında benim "düşündüğüm" yerine (dokuz "çalışma alanı", 3 x 3) bir 4098 x 2304 Çalışma Alanım olduğu anlamına gelir.
"Çalışma alanı" 2 olması gereken şeydeydim, ama aslında yukarıdaki çıktıda gösterildiği gibi görüntü alanı (VP) 1366,0 (4098/3 = 1366) idi.

İşte bu şekilde işler: Çalışma Alanının tamamını alırız ve sahip olduğumuz "çalışma alanları" sayıları için bölünürler. Benim durumumda: 4098/3 = 1366 ve 2304/3 = 768.

"Çalışma alanım" 1’e gitmek istersem, komut:

wmctrl -o 0,0

Ardından, "çalışma alanım" 4'e gitmek istersem, komut:

wmctrl -o 0,768

"Çalışma alanım" 8'e gitmek istersem, komut:

wmctrl -o 1366,1536

"Çalışma alanım" 9'a gitmek istersem, komut:

wmctrl -o 2732,1536

Anladım? ;-)

-oBayrak "kesikler" değerleri. Başka bir deyişle, asıl pikselin ait olduğu "çalışma alanını" değiştirir. Aşağıdaki eşdeğerdir:

wmctrl -o 0,0
wmctrl -o 1365,767

1
"Şu anki masaüstünü + 1" e almanın bir yolu var mı?
xjcl

9

xdotoolFarklı çalışma alanlarını yönetmek için birden fazla seçeneğe (program belgelerinde "masaüstü bilgisayar" olarak da bilinir) sahip olmakla istediğinizi elde etmek çok kolaydır . Birlikte gelen komutları dizmek çok ilginç ve yaratıcı olabilir man xdotool; Aşağıda formüle ettiğim komutlar komut dosyalarında yararlı olabilir.

Not: Bazı pencere yöneticileriyle veya kullanıyorsanız compiz, ve xdotoolgibi komutları kullanmanız gerekebilir.set_desktop_viewportget_desktop_viewport . Komutları desgua'nın önerdiği gibi farklı bir şekilde belirtmeniz gerekebilir , ancak benim için set_desktopve set_desktop_for_windowkomutları derlemesiz bir sistemde en faydalı oldu.

( Çözüm, Xubuntu / Lubuntu kullanıcıları veya derleme yapmayanlar vb. İçin en faydalı olanıdır. )

Mevcut çalışma alanlarının sayısını listelemek için

xdotool get_num_desktops

Aşağıdaki komutlar sadece en az 1 başka çalışma alanınız varsa işe yarayacaktır.

Odağı çalışma alanınıza değiştirmek için 1

xdotool set_desktop 1 

Ardından varsayılan çalışma alanına dönmek için

xdotool set_desktop 0

Çalışma alanının komuttaki son değer olarak belirtilmesi gerekir (1 veya 2 veya 3, vb.).

Şu anda bulunduğunuz çalışma alanını bulmak için kullanabilirsiniz.

xdotool get_desktop

Bu komutlar komut dosyalarında kullanılabilir ve ne olduğunu elde etmek için çok yararlı olmalıdır.

Uygulamaları belirli bir masaüstüne nasıl değiştireceğinizi öğrenmek için buradaki cevaba bakın:

Çalışma alanı değiştirme için kullanılabilen daha kullanışlı seçenekler için, danışın man xdotool.


Bu cevabı kabul edilen cevaptan daha çok seviyorum, teşekkür ederim. Bunu, iki çalışma alanı arasında kolayca geçiş yapmak için iki sıcak köşe ayarlamak için kullandım.
saat

Ayrıca yararlıdır: Göreli bayrağını kullanarak bir sonraki masaüstüne sola / sağa xdotool set_desktop --relative -- -1
geçin


0

Adlı bir senaryo vardır compiz-send.py üzerinde compiz'i wiki sorunuzu kısmen : Belli bir çalışma alanı değil, yanına bir tane alabilirsiniz.

Bununla bir komut verebilir
./compiz-dbus-send.py put put_viewport_left_key
./compiz-dbus-send.py put put_viewport_right_key
ve vizörün sola veya sağa 1 gitmesini sağlayabilirsiniz .


0

Belirli bir çalışma alanına gidip orada yapılacak eylemleri yapmak Python ve kütüphane pyautogui ile uygulanabilir , bu da Python scriptlerinin fare tıklamaları, tuş vuruşları vb.

Belirli bir işyerinde bir uygulamayı başlatma konusunda Peppermint OS için forumda kısa bir rehber yazdım .

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.