作品ごとに異なるコンテキストを持つために、いくつかのワークスペースを使用しています。したがって、同じアプリケーションのセットを同じワークスペースで繰り返し実行します。また、アプリケーションの各セットで同じアプリケーションを実行しているため、各アプリケーションを実行するデフォルトのワークスペースを設定しても、この目的では機能しません。
例えば:
それで、スクリプトまたはset_workspace1.shのようなものを実行すると、特定のワークスペースで必要なすべてのプログラムを開く方法はありますか?
ところで、私は11.04を実行しています
標準のウィンドウマネージャにはそのような機能はないと思います。
しかし、Devil's Pieはあなたが望むことをすることができます。
http://burtonini.com/blog/computers/devilspie/
Devil's PieのWebサイトからの引用: "Devil's Pieは、ウィンドウが作成されたときにウィンドウを検出し、ウィンドウを一連のルールと照合するように構成できます。ウィンドウがルールと一致する場合、ウィンドウを実行できますそのウィンドウでの一連のアクション。たとえば、X-Chatで作成されたすべてのウィンドウをすべてのワークスペースに表示でき、メインのGkrellm1ウィンドウがページャーまたはタスクリストに表示されない。 "
これがお役に立てば幸いです。
ダニエル
技術的に言えば、ワークスペースはviewports
と呼ばれます。これは、拡張デスクトップの特定のセクションであり、特定の座標、たとえば0, 0
はビューポート1であり、1366, 0
はすぐ右にあるものです。
CompizConfig設定マネージャー には、特定のワークスペースでウィンドウを「固定」で開くオプションがありますが、前述のようにスクリプトを作成できます。これが私の例です。
#!/bin/bash
get_viewport()
{
xprop -root -notype _NET_DESKTOP_VIEWPORT | awk '{print $3,$4}'
}
spawn_viewport_1()
{
Nohup gnome-terminal 2>&1 > /dev/null &
Nohup chromium-browser 2>&1 > /dev/null &
}
spawn_viewport_2()
{
Nohup xterm 2>&1 > /dev/null &
Nohup firefox 2>&1 > /dev/null &
}
main()
{
case $(get_viewport) in
"0, 0") spawn_viewport_1 ;; # note , single space in "0, 0" is important
"1366, 0") spawn_viewport_2 ;;
esac
}
main
基本的に何が起こっているかというと、それぞれ特定のビューポートに対応する2つの関数があるということです。現在使用しているビューポートを確認する機能もあります。現在ビューポート1(座標0、0)にいる場合、1セットのアプリが生成されます。ビューポート2(座標1366,0)にいる場合は、さまざまなアプリのセットが生成されます。