3x3のワークスペーススイッチャーを設定しましたが、デフォルトで自分の位置を中央の位置にしたいです。出来ますか?
マルコのおかげで、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
はい:インストール wmctrl
Sudo apt-get install wmctrl
次のファイルを~/.config/autostart/wmctrl.desktop
に作成します:
[Desktop Entry]
Name=Desktop Switcher
Exec=/usr/bin/wmctrl -s 4
Type=Application
同様の質問をするつもりでしたが、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 [〜#〜] values)起動時にセンターをデフォルトのワークスペースにします。皆のために働くわけではないかもしれませんが、念のため;)
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
をユーザー名に置き換えます。
スタートアップアプリケーションを開きますシステム->設定->スタートアップアプリケーション。
Addをクリックし、Command:エントリに/home/user/.switch_to_center_workspace.sh
を入力します。 Name:およびComment:エントリに必要なものを入力します。
ログアウトしてから再度ログインし、機能することを確認します。
簡単なメモ-私はNattyを使用しています。@谢继雷の回答のおかげで、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の答えと同じであることがわかりました-必要に応じてマージ/削除.