Saya memiliki dua jendela, A dan B. Apakah mungkin untuk menghubungkan dua jendela bersama-sama, sehingga beralih ke A juga meningkatkan B, atau beralih ke B juga menimbulkan A?
Saya mengerti bahwa menggunakan banyak ruang kerja adalah pilihan alternatif tetapi bertanya-tanya apakah ini juga mungkin?
command-line
scripts
shortcut-keys
window-manager
window
Simon Tong
sumber
sumber
Jawaban:
pengantar
Script berikut memungkinkan memilih dua jendela, dan sementara kedua jendela terbuka, itu akan menaikkan kedua jendela ketika pengguna memfokuskan keduanya. Misalnya, jika seseorang menautkan janda A dan B, mempesonakan ke A atau B akan membuat keduanya naik di atas janda lainnya.
Untuk menghentikan skrip yang dapat Anda gunakan
killall link_windows.py
di terminal, atau tutup dan buka kembali salah satu jendela. Anda juga dapat membatalkan eksekusi dengan menekan tombol tutup Xpada salah satu dialog sembulan pilihan jendela.Potensi tweak:
Pemakaian
Jalankan skrip sebagai:
Script ini kompatibel dengan Python 3, sehingga dapat juga dijalankan sebagai
Ada dua opsi baris perintah:
--quiet
atau-q
, memungkinkan membungkam jendela GUI. Dengan opsi ini Anda cukup mengklik dengan mouse di dua jendela apa saja, dan skrip akan mulai menghubungkannya.--help
atau-h
, mencetak informasi penggunaan dan deskripsi.The
-h
pilihan menghasilkan informasi berikut:Informasi teknis tambahan dapat dilihat melalui
pydoc ./link_windows.py
, di mana./
menandakan bahwa Anda harus berada di direktori yang sama dengan skrip.Proses penggunaan sederhana untuk dua jendela:
Munculan akan muncul meminta Anda untuk memilih jendela # 1, tekan OKatau tekan Enter. Pointer mouse akan berubah menjadi tanda silang. Klik salah satu jendela yang ingin Anda tautkan.
Munculan kedua akan muncul meminta Anda untuk memilih jendela # 2, tekan OKatau tekan Enter. Sekali lagi, penunjuk tetikus akan berubah menjadi tanda silang. Klik pada jendela lain yang ingin Anda tautkan. Setelah itu eksekusi akan dimulai.
Setiap kali Anda memfokuskan kedua jendela, skrip akan menaikkan jendela lainnya, tetapi mengembalikan fokus ke jendela yang sebelumnya dipilih (perhatikan - dengan seperempat penundaan kedua untuk kinerja terbaik), sehingga menciptakan kesan bahwa jendela dihubungkan bersama.
Jika Anda memilih jendela yang sama dua kali, skrip akan berhenti. Jika suatu saat Anda mengklik tombol tutup dialog sembulan, skrip akan berhenti.
Sumber skrip
Juga tersedia sebagai GitHub Gist
Catatan:
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
Ini dapat diabaikan.sumber
time.sleep
bit antara switching, aku dapat menempatkan bahwa ke nol? apakah ada alasan penundaan?# time.sleep(0.25)
itu dan tidak akan dijalankan. Alasannya adalah untuk memastikan bahwa setiap jendela dinaikkan dengan benar. Dalam pengalaman saya di masa lalu, saya perlu memiliki penundaan untuk beroperasi di windows. Saya akan berpikir penundaan seperempat detik tidak banyak. Sebenarnya, izinkan saya menambahkan satu baris lagi ke skrip, yang dapat mempercepatnya. BAIK ?Naikkan jumlah jendela sembarang sebagai satu
Solusi di bawah ini akan membiarkan Anda memilih salah kombinasi dari dua, tiga atau lebih jendela untuk digabungkan dan dibesarkan sebagai satu dengan shortcut keyboard.
Script bekerja dengan tiga argumen:
untuk menambahkan jendela aktif ke grup
untuk meningkatkan grup yang ditetapkan
untuk menghapus grup, siap menentukan grup baru
Naskah
Cara Penggunaan
Script membutuhkan
wmctrl
danxdotool
:groupwindows.py
Tes-jalankan skrip: buka dua terminal windows, jalankan perintah:
di keduanya. Tutupi dengan jendela lain (atau perkecil). Buka jendela terminal ketiga, jalankan perintah:
Dua jendela pertama akan dinaikkan menjadi satu.
Jika semuanya berfungsi dengan baik, buat tiga tombol pintasan khusus: Pilih: Pengaturan Sistem> "Keyboard"> "Pintasan"> "Pintasan Khusus". Klik "+" dan tambahkan perintah di bawah ini ke tiga pintasan terpisah:
pada sistem saya, saya menggunakan:
Alt+ A, menjalankan perintah:
... untuk menambahkan jendela ke grup.
Alt+ R, menjalankan perintah:
... untuk membesarkan grup.
Alt+ C, menjalankan perintah:
... untuk menghapus grup
Penjelasan
Scriptnya bekerja cukup sederhana:
add
, skrip menyimpan / menambahkan window-id jendela yang aktif ke dalam file tersembunyi~/.windowlist
Ketika dijalankan dengan argumen
raise
, skrip membaca file, memunculkan jendela dalam daftar dengan perintah:clear
, skrip menghapus file yang tersembunyi~/.windowlist
.Catatan
Lebih fleksibel?
Seperti disebutkan, skrip di atas memungkinkan penambahan jendela kapan saja ke jendela yang dikelompokkan. Versi di bawah ini juga memungkinkan menghapus salah satu jendela (kapan saja) dari daftar yang dikelompokkan:
Argumen tambahan untuk menjalankan skrip adalah
delete
, jadi:menghapus jendela aktif dari jendela yang dikelompokkan. Untuk menjalankan perintah ini, di sistem saya, saya menetapkan Alt+ Dsebagai pintasan.
sumber