Pertanyaan Apakah ada pintasan keyboard untuk meminimalkan semua jendela kecuali yang aktif?


Ketika membuka program seperti GIMP, saya menemukan jendela latar belakang terbuka karena GIMP memiliki tiga jendela terpisah yang terkait dengannya.

Ini adalah beban untuk harus pergi ke setiap jendela non-Gimp lainnya secara manual untuk menguranginya. Yang saya perlukan adalah pintasan keyboard di Ubuntu yang cocok dengan Windows ' Super + Rumah jalan pintas. Salah satu yang meminimalkan semua jendela kecuali yang aktif.

Apakah mungkin untuk mencapai perilaku ini di Ubuntu?


21
2018-05-04 13:54


asal


Ide yang menarik! Silahkan lihat jawaban pertama di sini untuk petunjuk: askubuntu.com/questions/13709/… Posting itu adalah tentang menambahkan fungsi untuk meminimalkan semua. Dari melihatnya menambahkan garis 'maksimalkan arus aktif sebelumnya' atau mengubahnya menjadi 'meminimalkan kecuali yang aktif saat ini' setelah itu akan melakukan trik (?) - Rinzwind
adakah kemungkinan para pengembang akan menambahkan opsi "Minimalkan Semua Tapi Jendela Aktif" di menu Pintasan Keyboard di versi Ubuntu mendatang? Dengan cara ini, bind ini "siap dan menunggu" untuk dikonfigurasikan ketika pengguna menginstal Ubuntu? - Chad


Jawaban:


Adalah mungkin untuk mencapai ini dengan skrip python. Script membutuhkan python-wnck dan python-gtk untuk dipasang agar berfungsi, meskipun saya pikir ini sudah terinstal secara default.

Salin dan tempel ini ke dalam editor teks dan simpan di tempat yang masuk akal (misalnya sebagai minimise.py di folder rumah Anda):

#!/usr/bin/env python
import wnck
import gtk

screen = wnck.screen_get_default()

while gtk.events_pending():
    gtk.main_iteration()

windows = screen.get_windows()
active = screen.get_active_window()

for w in windows:
    if not w == active:
        w.minimize()

Anda kemudian dapat mengatur pintasan keyboard dengan membuka Pintasan Keyboard.

Keyboard Shortcuts in Dash

Klik Menambahkan untuk membuat pintasan baru.

Keyboard Shortcuts window

Gunakan perintah bash -c 'python ~/minimise.py' (ini dengan asumsi Anda menyimpannya sebagai minimise.py di folder rumah Anda).

create shortcut

Anda kemudian dapat menetapkan kombinasi keyboard pilihan Anda untuk tindakan ini.

Skrip akan meminimalkan semua jendela non-aktif. Saya tidak berpikir ini sangat berguna untuk kasus penggunaan Anda karena Anda akan ingin memiliki semua jendela Gimp terbuka. Anda dapat menggunakan skrip yang sedikit berbeda untuk meminimalkan semua jendela yang bukan dari aplikasi saat ini sebagai gantinya:

#!/usr/bin/env python
import wnck
import gtk

screen = wnck.screen_get_default()

while gtk.events_pending():
    gtk.main_iteration()

windows = screen.get_windows()
active_app = screen.get_active_window().get_application()

for w in windows:
    if not w.get_application() == active_app:
        w.minimize()

19
2018-05-04 17:42



+1! Inilah mengapa saya suka Linux! Luar biasa. @ chad: jika beberapa jendela gimp adalah masalah tampaknya ada cara untuk memiliki gimp bertindak sebagai 1 jendela. Ups: tampaknya menjadi default dari 2.6 (go figure; saya belum pernah menggunakan gimp untuk waktu yang lama). - Rinzwind
Inilah mengapa saya suka Python - ia memiliki modul untuk semuanya! - dv3500ea
python-wnck harus diinstal pada sistem saya, 14.04. Pertanyaan meskipun, di dalam shell python itu berfungsi dengan baik tanpa bagian gtk.main_loop, tetapi tanpa itu di dalam skrip, itu tidak. Jadi pada dasarnya untuk membuat skrip dapat diterapkan dari file .py, bagian gtk.main_loop adalah suatu keharusan. Bisakah seseorang menjelaskan mengapa? - Sergiy Kolodyazhnyy