Apakah ada perintah untuk menuju ruang kerja tertentu?


22

Saya mencoba membuat daftar cepat di peluncur Workspace Switcher yang memungkinkan untuk beralih cepat ke ruang kerja tertentu. (Teman saya terkadang menggunakan komputer saya dan tidak menikmati pintasan keyboard, jadi saya ingin membantunya.)

Jadi apakah ada perintah yang bisa diketikkan di terminal yang akan memaksa ruang kerja tertentu untuk fokus?


Juga ada kemungkinan untuk mengatur pintasan keyboard pada pengaturan sistem5 untuk kwin (beralih desktop atau lainnya) atau manajer pengaturan desktop lainnya. kemudian gunakan xdotool untuk mensimulasikan tombol pintas seperti kunci xdotool ctrl + alt + b;
intika

Jawaban:


34

Anda dapat menggunakan wmctrl .

Perintah dasar:
wmctrl -duntuk menampilkan semua ruang kerja Anda.
wmctrl -s <workspace_name>untuk mengubah ke ruang kerja tertentu.

Jika Anda menggunakan Compiz, Anda harus melakukan trik karena Compiz "ruang kerja" sebenarnya adalah Viewports dari satu Workspace.

Petunjuk Trik

Periksa hasil wmctrl -dMisalnya, milik saya adalah:

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

Ini berarti bahwa sebenarnya saya memiliki satu Workspace 4098 x 2304 daripada apa yang saya "pikirkan", saya punya (sembilan "workspace", 3 x 3).
Saya pada apa yang seharusnya menjadi "ruang kerja" 2, tetapi sebenarnya saya berada di viewport (VP) 1366,0 (4098/3 = 1366) seperti yang ditunjukkan oleh output di atas.

Jadi begini cara kerjanya: kita mengambil seluruh Workspace dan membaginya dengan jumlah "workspace" yang kita "pikir" kita miliki. Dalam kasus saya: 4098/3 = 1366 dan 2304/3 = 768.

Jika saya ingin pergi ke "ruang kerja" saya 1, perintahnya adalah:

wmctrl -o 0,0

Kemudian, jika saya ingin pergi ke "ruang kerja" 4 saya, perintahnya adalah:

wmctrl -o 0,768

Jika saya ingin pergi ke "ruang kerja" 8 saya, perintahnya adalah:

wmctrl -o 1366,1536

Jika saya ingin pergi ke "ruang kerja" saya 9, perintahnya adalah:

wmctrl -o 2732,1536

Oke? ;-)

The -obendera "memotong" nilai-nilai mereka. Dengan kata lain itu mengubah "ruang kerja" di mana pixel sebenarnya berada. Berikut ini adalah setara:

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

1
Apakah ada cara untuk sampai ke "desktop saat ini + 1"?
xjcl

9

Sangat mudah untuk mencapai apa yang Anda inginkan xdotool, yang memiliki banyak opsi untuk mengelola ruang kerja yang berbeda (juga dikenal sebagai 'desktop' dalam dokumentasi program). Saya menemukan itu bisa sangat menarik dan kreatif untuk merangkai perintah dari man xdotool; perintah yang saya rumuskan di bawah ini mungkin berguna dalam skrip.

Catatan: Dengan beberapa pengelola jendela, atau jika Anda menggunakan compiz, Anda mungkin perlu menggunakan xdotoolperintah seperti set_desktop_viewportdan get_desktop_viewport. Anda mungkin harus menentukan perintah dengan cara yang berbeda seperti yang disarankan desgua di atas, tetapi bagi saya perintah set_desktopdan set_desktop_for_windowterbukti paling berguna pada sistem non-compiz.)

( Solusinya paling berguna untuk pengguna Xubuntu / Lubuntu, atau mereka yang tidak menjalankan compiz, dll. )

Untuk daftar jumlah ruang kerja saat ini, masukkan

xdotool get_num_desktops

Perintah berikut hanya akan berfungsi jika Anda memiliki setidaknya 1 ruang kerja lainnya.

Untuk mengubah fokus ke ruang kerja Anda 1, cukup masukkan

xdotool set_desktop 1 

Kemudian untuk kembali ke ruang kerja default, masukkan

xdotool set_desktop 0

Ruang kerja hanya perlu ditentukan sebagai nilai terakhir dalam perintah (1 atau 2 atau 3, dll).

Untuk menemukan jumlah ruang kerja Anda saat ini, Anda bisa menggunakan

xdotool get_desktop

Perintah-perintah ini dapat digunakan dalam skrip dan harus sangat berguna untuk mencapai apa yang Anda apa.

Untuk cara mengalihkan aplikasi ke desktop tertentu, lihat jawaban saya di sini:

Untuk opsi yang lebih berguna tersedia untuk pergantian ruang kerja, konsultasikan man xdotool.


Saya suka jawaban ini lebih baik daripada yang diterima, terima kasih. Saya menggunakan ini untuk mengatur dua sudut panas untuk dengan mudah beralih di antara dua ruang kerja.
timetofly

Juga berguna: Beralih ke desktop berikutnya ke kiri / kanan dengan menggunakan flag relatif:xdotool set_desktop --relative -- -1
xjcl


0

Ada skrip yang disebut compiz-send.py di compiz wiki yang sebagiannya menjawab pertanyaan Anda: ini bukan ruang kerja spesifik tetapi Anda bisa membuka yang berikutnya.

Dengan ini, Anda dapat mengeluarkan perintah
./compiz-dbus-send.py put put_viewport_left_key
./compiz-dbus-send.py put put_viewport_right_key
dan minta viewport 1 ke kiri atau ke kanan.


0

Pergi ke ruang kerja tertentu dan melakukan tindakan di sana dapat diimplementasikan dengan Python dan pyautogui perpustakaan , yang memungkinkan skrip Python untuk melakukan klik mouse, penekanan tombol, dll.

Saya menulis tutorial singkat di forum untuk Peppermint OS tentang memulai aplikasi di tempat kerja tertentu.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.