回答:
マルコのおかげで、私はを使用する方法を見つけましたwmctrl
。
compizワークスペースは実際には単一のデスクトップのビューポートであるため、解決策は現在のビューポートを移動してデスクトップの中央領域をカバーすることです。
最初に、wmctrl -d
現在のデスクトップの情報を取得するために呼び出します:
read desktop_id _ast \
DG_ geometry \
VP_ viewport \
WA_ wa_off wa_size \
title \
< <(LANG=C wmctrl -d | grep '*')
geom_w=${geometry%x*}
geom_h=${geometry#*x}
# The workarea size isn't accurate, because the top/bottom panel is excluded.
viewport_w=${wa_size%x*}
viewport_h=${wa_size#*x}
rows=$((geom_w / viewport_w))
cols=$((geom_h / viewport_h))
# Fix the viewport size
viewport_w=$((geom_w / rows))
viewport_h=$((geom_h / cols))
次に、中央のビューポートの原点を計算します。
center_row=$((rows / 2))
center_col=$((cols / 2))
center_x=$((center_col * viewport_w))
center_y=$((center_row * viewport_h))
center_viewport=$center_x,$center_y
そしてビューポートをそこに移動します:
wmctrl -o $center_viewport
compiz-send.py
ホームフォルダーに名前を付けて保存します。python compiz-send.py vpswitch switch_to_5_key
を実行して、正しく機能することを確認します。中央のワークスペースに切り替わります。動作する場合.switch_to_center_workspace.sh
は、ホームフォルダーにというファイルを作成し、その中に以下を貼り付けます。
#!/bin/bash
sleep 5 && python /home/user/compiz-send.py vpswitch switch_to_5_key
user
ユーザー名に置き換えます。
スタートアップアプリケーション、システム->設定->スタートアップアプリケーションを開きます。
[ 追加]をクリックし、[ コマンド:]エントリに「put」と入力し/home/user/.switch_to_center_workspace.sh
ます。Name:およびComment:エントリに必要なものを入力します。
ログアウトしてから再度ログインし、機能することを確認します。
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.UnknownMethod: Method "activate" with signature "si" on interface "org.freedesktop.compiz" doesn't exist
sleep 5
スクリプトのsleep 10
実行時にcompizがすでに実行されていることを確認するために、スクリプトの一部をより大きな数値に変更します。compizを使用していますか?
同様の質問をするつもりでしたが、3つの水平ワークスペースでcompizも実行していwmctrl -d
ます。出力(ワークスペースごと)は次のようになります。
0 * DG: 4098x768 VP: 0,0 WA: 0,24 1366x744 Workspace 1
0 * DG: 4098x768 VP: 1366,0 WA: 0,24 1366x744 Workspace 1
0 * DG: 4098x768 VP: 2732,0 WA: 0,24 1366x744 Workspace 1
単純にwmctrl -o 1366,0
(VP値)を使用して、起動時にセンターをデフォルトのワークスペースとして作成しました。皆のために働くわけではないかもしれませんが、念のため;)
sh -c "sleep 2;/usr/bin/wmctrl -o 1366,0
ちょっとしたメモ-私はNattyを使用していますが、@ answer雷の回答のおかげで、Unityの4つの「ワークスペース」のそれぞれで端末を移動すると、次のことが報告されます。
$ wmctrl -d
# top left
0 * DG: 2048x1200 VP: 0,0 WA: 0,24 1024x576 Workspace 1
# bottom left
0 * DG: 2048x1200 VP: 0,600 WA: 0,24 1024x576 Workspace 1
# top right
0 * DG: 2048x1200 VP: 1024,0 WA: 0,24 1024x576 Workspace 1
# bottom right
0 * DG: 2048x1200 VP: 1024,600 WA: 0,24 1024x576 Workspace 1
...つまり、個別のデスクトップでもワークスペースでもありません-ビューポートが変わるだけです!
したがって、これらの4つのビューポート間で変更wmctrl -o
するには、VP
上記の値を使用してコマンドを直接呼び出すだけです。
wmctrl -o 0,0
wmctrl -o 0,600
wmctrl -o 1024,0
wmctrl -o 1024,600
編集:申し訳ありませんが、これは@wikの答えと同じであることがわかりました-必要に応じてマージ/削除してください。
wmctrl
、とにかくデスクトップ内でビューポートを切り替えることができます。以下の私の答えをご覧ください。