Enfocar la ventana actual y minimizar todas las demás

Enfocar la ventana actual y minimizar todas las demás

¿Hay alguna manera de enfocar la ventana actual y minimizar todas las demás a través de la línea de comando? Por ejemplo, si la ventana activa es Chrome, si ejecuto este comando, minimizará todas las ventanas excepto Chrome. Estoy usando Ubuntu por si es relevante.

Respuesta1

Llevando este método descrito en varias publicaciones de blog y también en Ask Ubuntu a U&L. Esto es palabra por palabra de la respuesta de la UA.


Es posible lograr esto con un script en Python. El script requiere python-wncky python-gtkestar instalado para funcionar, aunque creo que de todos modos están instalados de forma predeterminada.

Copie y pegue esto en un editor de texto y guárdelo en un lugar adecuado (por ejemplo, comominimizar.pyen su carpeta de inicio):

#!/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()

Luego puede configurar el método abreviado de teclado abriendo Atajos de teclado.

   Atajos de teclado en Dash

Haga clic enAgregarpara crear un nuevo acceso directo.

   Ventana de atajos de teclado

Utilice el comando bash -c 'python ~/minimise.py'(esto supone que lo guardó comominimizar.pyen su carpeta de inicio).

   crear acceso directo

Luego puede asignar su combinación de teclado preferida a esta acción.

El script minimizará todas las ventanas no activas. No creo que esto sea muy útil para su caso de uso porque querrá tener todas las ventanas de Gimp abiertas. En su lugar, puede utilizar una secuencia de comandos ligeramente diferente para minimizar todas las ventanas que no pertenecen a la aplicación actual:

#!/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()

información relacionada