Ubuntu MATE 16.04を実行していますが、すぐに使用できます。必要なのは、キーボードを使用してウィンドウを別のモニターに移動できることだけです。
CompizConfig Settings Manager を使用していますが、動作しますが、Compizを無効にするとシステム上の問題の長いリストが消えます。 Compizは大きなパッケージであり、私が望むのは、ウィンドウを別のモニターに移動できることだけです。他のすべての機能はすでにUbuntu MATE 16.04 LTSキーボードショートカットメニューに組み込まれています(ワークスペースの切り替え、ウィンドウのワークスペースへの移動、タイルの左、右、水平、垂直など)。
画面の東側(右側)にウィンドウを移動および画面の西側(左側)にウィンドウを移動何らかの理由ですべてのアプリケーションで動作しない(特にFirefoxですが、Chromeなどが動作します)。
独自のキーボードショートカットを作成する方法を示すガイドはありますか? a site が誰かがXubuntuのために自分で作ったところを見つけました。私は彼らが何をしたかを理解しようとしていますが、モニター間でウィンドウを移動するキーボードショートカットを作成する簡単な方法はありますか?
window_jumper.py
はpythonスクリプトで、アクティブウィンドウを複数のモニター間で周期的に移動します。たとえば、A、B、Cの3つのモニターがある場合、割り当てられたショートカットを繰り返しキーを押すと、ウィンドウがAからB、Cに移動し、Aに戻ります。ウィンドウの配置は各画面の左上隅になります。 。
スクリプトを手動で実行するには
python window_jumper.py
スクリプトにはコマンドラインオプションがありません(現在のところ、将来的には可能性があります)。
Ubuntu Unityの手順:
に行く System Settings -> KeyboardShortcuts tab 、Custom Shortcuts
を選択してクリック + ボタン。カスタムショートカットポップアップが2つのフィールドName:
およびCommand:
とともに表示されます
Name
fieldの場合、window_jumper
と呼びます。 Command:
には、スクリプトファイルへのフルパスを指定します。たとえば、python /home/ubuntu_user/bin/window_jumper.py
。クリック Apply
右端の列をクリックすると、単語New accelerator
が表示されます。このスクリプトに指定するキーボードショートカットを押します。例えば、私は選んだ CtrlSuperJ
Ubuntu Mateの手順:
に行く SystemControl CenterKeyboard Shortcuts 、クリック Add。カスタムショートカットポップアップが2つのフィールドName:
およびCommand:
とともに表示されます
Name
fieldの場合、window_jumper
と呼びます。 Command:
には、スクリプトファイルへのフルパスを指定します。たとえば、python /home/ubuntu_user/bin/window_jumper.py
。クリック Apply
右端の列(ラベルShortcut
)の行には、単語Disabled
があります。単語をクリックすると、テキストがNew shortcut
に変わります。使用するキーの組み合わせを押します。
GitHub でも利用可能です。 GitHubアカウントをお持ちの場合は、そこに問題と機能のリクエストを送信してください。
#!/usr/bin/env python
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import GdkX11, Gdk, Gtk
def main():
DEBUG = False
screen = GdkX11.X11Screen.get_default()
monitors = []
for monitor in range(screen.get_n_monitors()):
monitors.append(
[screen.get_monitor_geometry(monitor).x,
screen.get_monitor_geometry(monitor).y])
if DEBUG:
print monitors
active_window = screen.get_active_window()
active_window_location = screen.get_monitor_at_window(active_window)
new_location = None
new_location = active_window_location + 1
if active_window_location + 1 >= monitors.__len__():
new_location = 0
new_screen = monitors[new_location]
if DEBUG:
print new_screen
active_window.move(new_screen[0], new_screen[1])
screen.get_active_window()
# TODO: add resizing window routine in cases where
# a window is larger than the size of the screen
# to which we're moving it.
if __== "__main__":
main()