右側のモニターでGuake
を使用します。
そこで、Sudo add-apt-repository ppa:cberner/guake
とSudo apt-get update
でこのPPAを追加しました。
https://launchpad.net/~cberner/+archive/guake/+index?field.series_filter=raring
命令では、monitor_index
をなんとか設定できると書かれています。しかし、設定方法が見つかりませんでした。
誰かがこれを知っていますか?
2台のモニターを使用し、Guakeを右側のモニターに表示したい(既定では左側のモニターに表示される)。
私がしたことは、/usr/bin/guake/
ファイルを編集してget_final_window_rect
メソッドを次のように置き換えたことです。
def get_final_window_rect(self):
"""Gets the final size of the main window of guake. The height
is the window_height property, width is window_width and the
horizontal alignment is given by window_alignment.
"""
screen = self.window.get_screen()
height = self.client.get_int(KEY('/general/window_height'))
width = 100
halignment = self.client.get_int(KEY('/general/window_halignment'))
# get the rectangle just from the first/default monitor in the
# future we might create a field to select which monitor you
# wanna use
monitor = 1 # use the right most monitor
window_rect = screen.get_monitor_geometry(monitor)
# see if we don't have another screen, and if so, use the first one
if window_rect.width == 0:
monitor = 0
window_rect = screen.get_monitor_geometry(monitor)
total_width = window_rect.width
window_rect.height = window_rect.height * height / 100
window_rect.width = window_rect.width * width / 100
if width < total_width:
if halignment == ALIGN_CENTER:
window_rect.x = (total_width - window_rect.width) / 2
if monitor == 1:
right_window_rect = screen.get_monitor_geometry(0)
window_rect.x += right_window_rect.width
Elif halignment == ALIGN_LEFT:
window_rect.x = 0
Elif halignment == ALIGN_RIGHT:
window_rect.x = total_width - window_rect.width
window_rect.y = 0
return window_rect
基本的に、1
をモニターインデックスとして使用し、後で、Guakeウィンドウの開始点表示に正しい画面幅を追加します
お役に立てれば!
解決策は非常に簡単です。Guake画面を右側のモニターに合わせて、画面の開始位置(x、y)で、y座標が同じになる、つまり0から開始しますが、x座標変更され、左側のモニターの幅に等しくなります。これを行うには、2つのことを行う必要があります。
I.上記のように、モニター番号を1に変更します。列をなして
window_rect = screen.get_monitor_geometry(0)
0を1に置き換えます。
II。開始座標のx位置に最初の画面幅を追加します。これをする。
交換
if width < total_width:
if halignment == ALIGN_CENTER:
window_rect.x = (total_width - window_rect.width) / 2
Elif halignment == ALIGN_LEFT:
window_rect.x = 0
Elif halignment == ALIGN_RIGHT:
window_rect.x = total_width - window_rect.width
window_rect.y = 0
return window_rect
沿って
if width < total_width:
if halignment == ALIGN_CENTER:
window_rect.x += (total_width - window_rect.width) / 2
Elif halignment == ALIGN_LEFT:
window_rect.x += 0
Elif halignment == ALIGN_RIGHT:
window_rect.x += total_width - window_rect.width
window_rect.y = 0
return window_rect
これらの変更を行ってguakeを再起動したら(終了して再起動します)、Guake画面の目的の配置を取得する必要があります。
お役に立てれば :)
私もこれを質問しました: デュアルディスプレイ環境の右側のモニターで確認-Ubuntu 15.10(Wily Werewolf))
Ubuntu 15.10では、guakeが少し変更されました。端末を適切なモニターに変更するには、編集する必要があります。
Sudo vim /usr/lib/python2.7/dist-packages/guake/guake_app.py
次に、831行目で変更します。
window_rect = screen.get_monitor_geometry(monitor)
沿って:
window_rect = screen.get_monitor_geometry(1)
guakeを強制終了して再起動します
誰もがこれほどハックの少ない方法を知っていますか?
良いニュースです!
バージョン0.8.5では、Guakeはアクティブなモニターに表示されるため、Guakeコードを微調整する必要はありません。
ラリットが言ったように、ubuntu 14.04LTSでこれを行うために見つけた最良の方法は変化していました
window_rect = screen.get_monitor_geometry(0)
に
window_rect = screen.get_monitor_geometry(0)
しかし、変化する
if width < total_width:
if halignment == ALIGN_CENTER:
window_rect.x = (total_width - window_rect.width) / 2
Elif halignment == ALIGN_LEFT:
window_rect.x = 0
Elif halignment == ALIGN_RIGHT:
window_rect.x = total_width - window_rect.width
window_rect.y = 0
return window_rect
に
if width < total_width:
if halignment == ALIGN_CENTER:
window_rect.x += total_width + (total_width - window_rect.width) / 2
Elif halignment == ALIGN_LEFT:
window_rect.x += 0
Elif halignment == ALIGN_RIGHT:
window_rect.x += total_width - window_rect.width
window_rect.y = 0
return window_rect
唯一の違いは、最初の「if」で、「total_width」を「window_rect.x」に追加せずに、左モニターの中央に表示されることです。
追伸:申し訳ありませんがLalitですが、まだポイントがないため投稿にコメントを追加できません=(
Wilfoによる解決策は私にはうまくいきません。私の場合、次のコードを使用してLinux Mintで解決しました。
def get_final_window_rect(self):
"""Gets the final size of the main window of guake. The height
is the window_height property, width is window_width and the
horizontal alignment is given by window_alignment.
"""
screen = self.window.get_screen()
height = self.client.get_int(KEY('/general/window_height'))
width = 100
halignment = self.client.get_int(KEY('/general/window_halignment'))
# future we might create a field to select which monitor you
# wanna use
#monitor = 0 # use the left most monitor
monitor = screen.get_n_monitors() - 1 # use the right most monitor
monitor_rect = screen.get_monitor_geometry(monitor)
window_rect = monitor_rect.copy()
window_rect.height = window_rect.height * height / 100
window_rect.width = window_rect.width * width / 100
if width < monitor_rect.width:
if halignment == ALIGN_CENTER:
window_rect.x = monitor_rect.x + (monitor_rect.width - window_rect.width) / 2
Elif halignment == ALIGN_LEFT:
window_rect.x = monitor_rect.x
Elif halignment == ALIGN_RIGHT:
window_rect.x = monitor_rect.x + monitor_rect.width - window_rect.width
window_rect.y = monitor_rect.y
return window_rect
here から取得しますが、80
を100
に変更しました。
Ubuntu 16.04 LTSで2つのモニターを使用してこれを変更する必要がありました。
上記の方法を試していましたが、コードが変更されたことに気付きました。私は~/.gconf/apps/guake/general
に入り、%gconf.xml
を編集し、2番目のモニターの0
から1
にdisplay_n (int)
を変更しました。
お役に立てれば :)
これはテストしていませんが、pythonスクリプトであるため、/ usr/bin/guakeを編集するだけでよいと思います。
見つける
window_rect = screen.get_monitor_geometry(0)
#マシン上の#line 824
0を、guakeを表示するモニターのインデックスに変更します。
Smartmouseとwilfoの回答に追加するために、/ usr/bin/guakeを変更したら、ハードリスタートする必要があります。 guakeセッションからログアウトしても、Guakeプロセスは終了しません。
システムモニターを開き、guakeアプリケーションプロセスを終了してから再起動します