でフルスクリーンに行くために、特定のモニターを選択します。 これは、プロジェクタを接続したときに特に興味深いものです。私はフルスクリーンウィンドウを表示するモニターを変更するつもりGTK
私はfullscreen_on_monitor
を使用しようとしたが、それは目に見える変化を生成しません。
#!/usr/bin/env python
import sys
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
from gi.repository import Gdk
w = Gtk.Window()
screen = Gdk.Screen.get_default()
print ("Montors: %d" % screen.get_n_monitors())
if len(sys.argv) > 1:
n = int(sys.argv[1])
else:
n = 0
l = Gtk.Button(label="Hello, %d monitors!" % screen.get_n_monitors())
w.add(l)
w.show_all()
w.fullscreen_on_monitor(screen, n)
l.connect("clicked", Gtk.main_quit)
w.connect("destroy", Gtk.main_quit)
Gtk.main()
私は(3のうち)非常に同じモニター上のウィンドウを見ることが、値に関係なく、私が提供しています。ここ
は非実施例です。私の質問は:どのように私はフルスクリーンウィンドウが別のモニタ上に表示させるのですか?
「Gtkはコードを無視してモニタ番号を無視する」ことができますか? https://git.gnome.org/browse/gtk+/tree/gtk/gtkwindow.c#n10502最終的にここで定義された 'gdk_window_fullscreen_on_monitor'を呼び出します:ここで定義のように' gtk_window_fullscreen_on_monitor' https://git.gnome.org/browse/ gtk +/tree/gdk/gdkwindow.c?id = ea1295c9ab40ab8c1b5b80ccf1575710c5ff6b86#n10820その後、私はさらにどのように従うべきかわかりません。 –
ソースコードを見ると、すべて実際にうまく表示されます。したがって、問題の根はGTK Python BindingsまたはWindow Managerのいずれかにある可能性が最も高いです。このステートメントをバックアップするために、独自のコードですでに表示されていますが、別のモニター番号を設定しても動作は異なりません。しかし、下部のコードは動作します:) – B8vrede
私はそれが動作することを確認します。ありがとう! FTR:私はUbuntu 16.04でGNOME 3.18を実行しています。 –