restaurar las ventanas de chromium / firefox al espacio de trabajo / escritorio original

9

Tengo una configuración de tres monitores, con dos monitores controlados directamente por Ubuntu 12.04 para un área de trabajo / escritorio total de 3840x120012. Por lo general, trabajo con 5 espacios de trabajo virtuales, a menudo más si trabajo en varios proyectos en paralelo. Por lo general, tengo al menos 15 ventanas de navegador abiertas (principalmente Firefox todas las noches, pero también estándar 12.04 Firefox y Chrome).

Siempre que los navegadores necesiten reiniciarse como resultado de una actualización (bloqueo de cq), o necesiten iniciarse después de un inicio de sesión, las ventanas del navegador vuelven a las posiciones originales, pero todas están en el mismo espacio de trabajo. Después de eso, tengo que mover tediosamente al menos el 80% de las ventanas a otros espacios de trabajo².

Ni Firefox ni Chrome guardan la información adicional de EWMH que se necesita para restaurar el espacio de trabajo original. He leído sobre eso informes de errores no resueltos que datan de hace 4 o 5 años.

Parece que, al menos hace unos años, KDE gestionó los espacios de trabajo como grandes compensaciones (más anchas que el ancho de la (s) pantalla (s)), lo que permitió que el navegador se restaurara en el espacio de trabajo correcto. Pero este ya no parece ser el caso (deducido de un informe de error, no de la experiencia personal).

¿Existe un administrador de espacio de trabajo / escritorio que no tenga este comportamiento de restauración de espacio de trabajo todo en uno con Firefox y Chrome (preferiblemente activado para Ubuntu o Linux Mint)?

¿O hay otra forma de mejorar Firefox y Chrome (por ejemplo, un complemento) para hacer cumplir este comportamiento?

El mío no es un diseño fijo, donde el navegador X en el espacio de trabajo Y siempre se abre a una URL específica. La función de restauración me da las ventanas, las posiciones y las URL exactamente como las quiero. Ellos "solo" necesitan estar en el espacio de trabajo correcto.

¹ Un tercer monitor 1200x1920 está en una máquina separada con la que se x2vncusa para compartir un solo mouse y teclado. Eso mantiene mi material de lectura como páginas de manual y documentación disponible (en modo vertical).
² Todas las cosas de U&L están en el espacio de trabajo 3. Normalmente dejo la máquina en funcionamiento y me mantengo conectado, durante semanas, una de las razones es la restauración de las distintas ventanas.

Anthon
fuente

Respuestas:

6

No parece haber mucha motivación para implementar algún soporte EWMH en Firefox ni en Chrome, a pesar de que esto resolvería el problema de restauración del espacio de trabajo con una gran cantidad de escritorios. Se ha abierto un error para Firefox desde 2007 y uno para Chrome desde 2009.

Lo que puede hacer fuera de Firefox y Chrome, si las TAB activas en diferentes ventanas del navegador apuntan a diferentes URL, es utilizar la tendencia a que las diferentes URL usualmente tengan diferentes títulos asociados con las páginas y, por lo tanto, con la ventana en la que se muestran.

Comenzando con esa idea, puede usar la salida wmctrl -l -G -pque le proporciona

  • ID de ventana
  • número de espacio de trabajo
  • identificacion de proceso
  • posición x, y de la ventana
  • ancho y alto de ventana
  • nombre de la máquina
  • título de la ventana (si hay)

para cada ventana Dado un PID de identificación de proceso, puede ver dónde /proc/PID/exeapunta el enlace y filtrar las ventanas que no son del navegador. Para las ventanas relacionadas con el navegador, guarde al menos el título de la ventana y el número del espacio de trabajo (posible también el tipo de navegador y toda la otra información).

Después de que un navegador (re) comience, cuando se restauran todas las ventanas, pero en un espacio de trabajo, use los datos guardados para buscar el nuevo identificador de ventana, WID, asociado con un título específico y empújelo al espacio de trabajo relacionado recuperado wmctrl -i -r WID -t workspacenumber.


Si no desea implementar lo anterior usted mismo (es principalmente el procesamiento de texto y una búsqueda de enlace simbólico) en su shell o el lenguaje de script que elija, puede descargar un programa que haga todo esto por usted (y un poco más). O puede instalarlo desde PyPI usando:

sudo pip install ruamel.bws

después de lo cual el bwscomando debería estar disponible con opciones para save(se guardan múltiples guardados, 10 por defecto), list(muestra las fechas guardadas con el número de ventanas guardadas) o restore(por defecto, la última información guardada).

Anthon
fuente
Firefox 75 incluye la API necesaria para esto con varias advertencias hg.mozilla.org/integration/autoland/rev/323e2a212629
Braiam