Stellen Sie die Chrom / Firefox-Fenster im ursprünglichen Arbeitsbereich / Desktop wieder her

9

Ich habe ein Drei-Monitor-Setup mit zwei Monitoren, die direkt von Ubuntu 12.04 gesteuert werden, für einen Gesamtarbeitsbereich / Desktop-Bereich von 3840 x 1200¹. Normalerweise arbeite ich mit 5 virtuellen Arbeitsbereichen, oft mehr, wenn ich parallel an mehreren Projekten arbeite. Ich habe normalerweise mindestens 15 Browserfenster geöffnet (meistens Firefox-Nightly, aber auch Standard 12.04 Firefox und Chrome).

Immer wenn die Browser als Ergebnis eines Updates (cq-Absturz) neu gestartet werden müssen oder nach einer Anmeldung gestartet werden müssen, kehren die Browserfenster zu den ursprünglichen Positionen zurück, aber alle befinden sich im selben Arbeitsbereich. Danach muss ich mühsam mindestens 80% der Fenster in andere Arbeitsbereiche verschieben².

Weder Firefox noch Chrome speichern die zusätzlichen EWMH- Informationen, die für die Wiederherstellung des ursprünglichen Arbeitsbereichs erforderlich sind. Ich habe ungelöste Fehlerberichte von vor 4-5 Jahren darüber gelesen.

Es scheint, dass KDE vor mindestens einigen Jahren Arbeitsbereiche als große Offsets (breiter als die Bildschirmbreite) verwaltet hat, die es dem Browser ermöglichten, den richtigen Arbeitsbereich wiederherzustellen. Dies scheint jedoch nicht mehr der Fall zu sein (abgezogen von einem Fehlerbericht, nicht aus persönlicher Erfahrung).

Gibt es einen Arbeitsbereich / Desktop-Manager, der mit Firefox und Chrome (vorzugsweise für Ubuntu oder Linux Mint) nicht das Verhalten aufweist, alle Arbeitsbereiche wiederherzustellen?

Oder gibt es eine andere Möglichkeit, Firefox und Chrome (z. B. Add-On) zu verbessern, um dieses Verhalten zu erzwingen?

Meins ist kein festes Layout, bei dem Browser X im Arbeitsbereich Y immer zu einer bestimmten URL geöffnet wird. Die Wiederherstellungsfunktion gibt mir die Fenster, Positionen und URLs genau so, wie ich sie haben möchte. Sie müssen "nur" am richtigen Arbeitsbereich sein.

¹ Ein dritter 1200x1920-Monitor befindet sich auf einem separaten Computer x2vnc, auf dem eine einzelne Maus und Tastatur gemeinsam genutzt werden können. Dadurch bleiben meine Lesematerialien wie Manpages und Dokumentationen verfügbar (im Hochformat).
² Alle U & L-Inhalte befinden sich auf Arbeitsbereich 3. Normalerweise lasse ich die Maschine laufen und bleibe wochenlang angemeldet. Einer der Gründe dafür ist die Wiederherstellung der verschiedenen Fenster.

Anthon
quelle

Antworten:

6

Es scheint nicht viel Motivation zu geben, EWMH-Unterstützung in Firefox oder Chrome zu implementieren, obwohl dadurch das Problem mit der Wiederherstellung des Arbeitsbereichs mit einer großen Anzahl von Desktops behoben würde. Ein Fehler wird für Firefox seit 2007 und der Eröffnung eines für Chrome seit 2009.

Was Sie tun können , außerhalb von Firefox und Chrome, wenn die aktiven TABs in verschiedenen Browser - Fenstern auf unterschiedliche URLs verweisen, ist die Tendenz zu verwenden , die verschiedenen URLs in der Regel verschiedene Titel mit den Seiten verknüpft sind und somit mit dem Fenster , in dem sie angezeigt werden.

Ausgehend von dieser Idee können Sie die Ausgabe verwenden, wmctrl -l -G -pdie Sie erhalten

  • Fenster-ID
  • Arbeitsbereichsnummer
  • Prozess ID
  • x, y Position des Fensters
  • Breite und Höhe des Fensters
  • Maschinenname
  • Fenstertitel (falls vorhanden)

für jedes Fenster. Mit einer Prozess-ID PID können Sie sehen, wo der Link /proc/PID/exeauf Nicht-Browser-Fenster verweist, und diese herausfiltern. Speichern Sie für die browserbezogenen Fenster mindestens den Fenstertitel und die Arbeitsbereichsnummer (möglicherweise auch den Browsertyp und alle anderen Informationen).

Verwenden Sie nach einem (Neu-) Start eines Browsers, wenn alle Fenster wiederhergestellt sind, jedoch in einem Arbeitsbereich aktiviert sind, die gespeicherten Daten, um die neue Fenster-ID WID zu suchen, die einem bestimmten Titel zugeordnet ist, und verschieben Sie sie in den abgerufenen zugehörigen Arbeitsbereich mit wmctrl -i -r WID -t workspacenumber.


Wenn Sie das oben Genannte nicht selbst implementieren möchten (es handelt sich hauptsächlich um Textverarbeitung und eine Symlink-Suche), können Sie ein Programm herunterladen , das all dies für Sie erledigt (und ein bisschen mehr). Oder Sie können es von PyPI installieren, indem Sie:

sudo pip install ruamel.bws

bwsDanach sollte der Befehl mit den Optionen verfügbar sein save(mehrere Speicherungen werden beibehalten, standardmäßig 10), list(die gespeicherten Daten mit der Anzahl der gespeicherten Fenster anzeigen) oder restore(standardmäßig die zuletzt gespeicherten Informationen).

Anthon
quelle
Firefox 75 enthält die dafür erforderliche API mit mehreren Einschränkungen. Hg.mozilla.org/integration/autoland/rev/323e2a212629
Braiam