Berkat Marco, saya sudah menemukan cara menggunakannya wmctrl
.
Karena ruang kerja compiz sebenarnya adalah viewport dari satu desktop, jadi solusinya adalah memindahkan viewport saat ini untuk menutupi wilayah tengah desktop.
Pertama, panggil wmctrl -d
untuk mendapatkan informasi desktop saat ini:
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))
Lalu, hitung asal viewport tengah:
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
Dan pindahkan viewport ke sana:
wmctrl -o $center_viewport
wmctrl
dapat pula memindahkan viewport di dalam desktop. Lihat jawaban saya di bawah ini.compiz-send.py
di folder rumah Anda.python compiz-send.py vpswitch switch_to_5_key
untuk memastikannya berfungsi dengan benar. Ini akan mengalihkan Anda ke ruang kerja pusat.Jika berhasil, buat file yang disebut
.switch_to_center_workspace.sh
di folder rumah Anda dan rekatkan di dalamnya:mengganti
user
dengan nama pengguna Anda.Buka Aplikasi Startup, Sistem -> Preferensi -> Aplikasi Startup .
Klik Tambah dan di Command: entri put
/home/user/.switch_to_center_workspace.sh
. Masukkan apa pun yang Anda inginkan dalam entri Name: and Comment:.Logout dan log in kembali dan verifikasi bahwa itu berhasil.
sumber
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.UnknownMethod: Method "activate" with signature "si" on interface "org.freedesktop.compiz" doesn't exist
sleep 5
bagian skrip ke angka yang lebih tinggi sepertisleep 10
untuk memastikan compiz sudah berjalan ketika skrip dijalankan. Anda menggunakan compiz kan?Saya akan mengajukan pertanyaan serupa, tetapi untuk 3 ruang kerja horizontal dan saya juga menjalankan compiz, dan
wmctrl -d
output (per ruang kerja) terlihat seperti ini: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
Daripada saya hanya menggunakan
wmctrl -o 1366,0
( nilai VP ) untuk menjadikan pusat sebagai ruang kerja default saya saat startup. Mungkin tidak bekerja untuk semua orang, tetapi untuk berjaga-jaga;)sumber
sh -c "sleep 2;/usr/bin/wmctrl -o 1366,0
Hanya catatan singkat - Saya menggunakan Natty, dan terima kasih atas jawaban @ 谢 继 雷, saya perhatikan bahwa berikut ini dilaporkan dengan memindahkan terminal di masing-masing dari empat 'ruang kerja' di Unity:
... yaitu mereka bukan desktop terpisah, atau ruang kerja - hanya perubahan viewport!
Jadi, untuk mengubah antara keempat viewports tersebut, cukup panggil
wmctrl -o
perintah langsung denganVP
nilai - nilai yang tercantum di atas, yaitu:EDIT: Ups, maaf, hanya melihat ini sama dengan jawaban @ wik - gabungkan / hapus yang sesuai ..
sumber