ripristinare le finestre di cromo / firefox nello spazio di lavoro / desktop originale


9

Ho una configurazione a tre monitor, con due monitor gestiti direttamente da Ubuntu 12.04 per un'area di lavoro / desktop totale di 3840x1200¹. Di solito lavoro con 5 aree di lavoro virtuali, spesso di più se lavoro su diversi progetti in parallelo. In genere ho almeno 15 finestre del browser aperte (principalmente Firefox di notte, ma anche standard 12.04 Firefox e Chrome).

Ogni volta che i browser devono essere riavviati a seguito di un aggiornamento (arresto anomalo del sistema operativo) o devono essere avviati dopo un accesso, le finestre del browser tornano alle posizioni originali, ma tutte si trovano nella stessa area di lavoro. Dopodiché devo spostare noiosamente almeno l'80% delle finestre su altre aree di lavoro².

Né Firefox né Chrome salvano le informazioni EWMH aggiuntive necessarie per il ripristino nell'area di lavoro originale. Ho letto segnalazioni di bug non risolte risalenti a 4-5 anni fa al riguardo.

Sembra che, almeno qualche anno fa, KDE gestisse le aree di lavoro come grandi offset (più larghi della larghezza dello schermo), che consentivano al browser di ripristinare l'area di lavoro corretta. Ma questo non sembra più essere il caso (dedotto da una segnalazione di bug, non dall'esperienza personale).

Esiste uno spazio di lavoro / desktop manager che non ha questo comportamento di ripristino dell'area di lavoro con Firefox e Chrome (preferibilmente su Ubuntu o Linux Mint)?

Oppure esiste un altro modo per migliorare Firefox e Chrome (ad esempio componente aggiuntivo) per applicare questo comportamento?

Il mio non è un layout fisso, in cui il Browser X nell'area di lavoro Y si apre sempre a un URL specifico. La funzione di ripristino mi dà le finestre, le posizioni e gli URL esattamente come li voglio. Devono "solo" essere nell'area di lavoro corretta.

¹ Un terzo monitor 1200x1920 si trova su una macchina separata x2vncutilizzata per condividere un singolo mouse e tastiera. Ciò tiene benissimo il mio materiale di lettura come pagine man e documentazione disponibile (in modalità ritratto).
² Tutto il materiale U&L si trova nello spazio di lavoro 3. Di solito lascio funzionare la macchina e rimango connesso, per settimane alla volta, uno dei motivi per cui è il ripristino delle varie finestre.

Risposte:


6

Non sembra esserci molta motivazione per implementare un po 'di supporto EWMH in Firefox né in Chrome, anche se questo risolverà il problema del ripristino dell'area di lavoro con un gran numero di desktop. Un bug è stato aperto per Firefox dal 2007 e uno per Chrome dal 2009.

Quello che puoi fare al di fuori di Firefox e Chrome, se i TAB attivi nelle diverse finestre del browser puntano a URL diversi, è usare la tendenza che URL diversi di solito hanno titoli diversi associati alle pagine e quindi alla finestra in cui vengono visualizzati.

A partire da quell'idea puoi usare l'output di wmctrl -l -G -pcui ti fornisce

  • id finestra
  • numero dell'area di lavoro
  • ID processo
  • posizione x, y della finestra
  • larghezza e altezza della finestra
  • nome della macchina
  • titolo della finestra (se presente)

per ogni finestra. Dato un PID ID processo, puoi vedere dove /proc/PID/exepunta il link e filtrare le finestre non browser. Per le finestre relative al browser, salvare almeno il titolo della finestra e il numero dell'area di lavoro (possibile anche il tipo di browser e tutte le altre informazioni).

Dopo un (ri) avvio del browser, quando tutte le finestre vengono ripristinate, ma attive in un'area di lavoro, utilizzare i dati salvati per cercare il nuovo ID finestra, WID, associato a un titolo specifico e trasferirlo nell'area di lavoro correlata recuperata con wmctrl -i -r WID -t workspacenumber.


Se non vuoi implementare quanto sopra (si tratta principalmente di elaborazione del testo e una ricerca di link simbolici) nella tua shell o nel linguaggio di scripting che preferisci, puoi scaricare un programma che fa tutto questo per te (e un po 'di più). Oppure puoi installarlo da PyPI usando:

sudo pip install ruamel.bws

dopodiché il bwscomando dovrebbe essere disponibile con le opzioni save(vengono salvati più salvataggi, 10 per impostazione predefinita), list(mostra le date salvate con il numero di finestre salvate) o restore(per impostazione predefinita le ultime informazioni salvate).


Firefox 75 include l'API necessaria per questo con diversi avvertimenti hg.mozilla.org/integration/autoland/rev/323e2a212629
Braiam
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.