chromium / firefoxウィンドウを元のワークスペース/デスクトップに復元する


9

私は3台のモニターをセットアップしていますが、2台のモニターがUbuntu 12.04によって直接駆動され、合計ワークスペース/デスクトップ領域は3840x1200¹です。私は通常、5つの仮想ワークスペースで作業しますが、複数のプロジェクトで並行して作業する場合はさらに多くの場合、さらに多くの作業を行います。私は通常、少なくとも15のブラウザーウィンドウを開いています(ほとんどがFirefox-nightlyですが、標準の12.04 FirefoxおよびChromeも)。

更新の結果としてブラウザを再起動する必要がある場合(cqクラッシュ)、またはログイン後に起動する必要がある場合は常に、ブラウザウィンドウは元の位置に戻りますが、すべて同じワークスペース上にあります。その後、ウィンドウの少なくとも80%を他のワークスペースに退屈に移動する必要があります²。

FirefoxもChromeも、元のワークスペースへの復元に必要な追加のEWMH情報を保存しません。そのことについて、4〜5年前の未解決のバグレポートを読んだことがあります。

少なくとも数年前、KDEはワークスペースを大きなオフセット(画面の幅よりも広い)として管理していたため、ブラウザが正しいワークスペースに復元できるように思われました。しかし、これは事実ではないようです(個人的な経験からではなく、バグレポートから差し引かれます)。

FirefoxとChrome(UbuntuまたはLinux Mintが望ましい)でこのすべてを1つのワークスペースに復元する動作がないワークスペース/デスクトップマネージャーはありますか?

または、FirefoxとChromeを拡張してこの動作を強制する別の方法(アドオンなど)はありますか?

Mineは固定レイアウトではありません。ワークスペースYのブラウザーXは常に特定のURLで開きます。復元機能を使用すると、ウィンドウ、位置、URLを思い通りに取得できます。彼らは「ちょうど」正しいワークスペースにいる必要があります。

¹ と第三の1200x1920モニタが別のマシン上にありx2vnc、単一のマウスとキーボードを共有するために使用されます。これにより、マニュアルページやドキュメントなどの私の読書資料を(縦向きモードで)引き続き使用できます。
² すべてのU&Lはワークスペース3にあります。私は通常、マシンを稼働させたまま、何週間もログインしたままにします。これは、さまざまなウィンドウの復元が原因の1つです。

回答:


6

多数のデスクトップでワークスペースの復元の問題が解決されたとしても、FirefoxやChromeにEWMHサポートを実装する動機はあまりないようです。バグは 2007年以来、Firefoxのために開いてきました1 2009年からChromeの。

FirefoxとChromeのでできることは、異なるブラウザーウィンドウのアクティブなTABが異なるURLを指している場合、異なるURLは通常、ページに関連付けられた異なるタイトルを持ち、したがって、それらが表示されるウィンドウに関連付けられている傾向を使用することです。

そのアイデアから始めて、あなたがwmctrl -l -G -p提供する出力を使用することができます

  • ウィンドウID
  • ワークスペース番号
  • プロセスID
  • ウィンドウのx、y位置
  • ウィンドウの幅と高さ
  • マシン名
  • ウィンドウのタイトル(存在する場合)

ウィンドウごとに。プロセスIDのPIDを指定すると、リンクが/proc/PID/exe指す場所を確認し、ブラウザ以外のウィンドウを除外できます。ブラウザ関連のウィンドウの場合は、少なくともウィンドウタイトルとワークスペース番号を保存します(ブラウザの種類とその他すべての情報も保存できます)。

ブラウザーの(再)起動後、すべてのウィンドウが復元され、1つのワークスペースで、保存されたデータを使用して、特定のタイトルに関連付けられた新しいウィンドウID、WIDを検索し、を使用して、取得した関連ワークスペースにプッシュしますwmctrl -i -r WID -t workspacenumber


選択したシェルまたはスクリプト言語で上記(ほとんどがテキスト処理とシンボリックリンクの検索)を自分で実装したくない場合は、これをすべて行うプログラム(およびもう少し)をダウンロードできます。または、次を使用してPyPIからインストールできます。

sudo pip install ruamel.bws

その後、bwsコマンドはsave(複数の保存が保持される、デフォルトで10)、list(保存されたウィンドウの数で保存された日付を表示する)、またはrestore(デフォルトで最後に保存された情報)のオプションで使用可能になります。


Firefox 75には、このために必要なAPIがいくつかの警告とともに含まれていますhg.mozilla.org/integration/autoland/rev/323e2a212629
Braiam
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.