Tôi định thay đổi màn hình ở nơi tôi hiển thị cửa sổ toàn màn hình. Điều này đặc biệt thú vị khi có máy chiếu nối.chọn một số màn hình để hiển thị toàn màn hình với gtk
Tôi đã cố gắng sử dụng fullscreen_on_monitor
nhưng điều đó không tạo ra bất kỳ thay đổi hiển thị nào.
Dưới đây là một ví dụ không làm việc:
#!/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()
Tôi có thể nhìn thấy cửa sổ trên rất giống màn hình (trong số 3), không phụ thuộc vào giá trị tôi cung cấp.
Câu hỏi của tôi là: làm cách nào để làm cho cửa sổ toàn màn hình xuất hiện trên màn hình khác?
bạn có thể sao lưu "Gtk chỉ bỏ qua số màn hình" bằng mã không? 'gtk_window_fullscreen_on_monitor' như được định nghĩa ở đây: https://git.gnome.org/browse/gtk+/tree/gtk/gtkwindow.c#n10502 cuối cùng gọi' gdk_window_fullscreen_on_monitor' được định nghĩa ở đây: https://git.gnome.org/browse/ gtk +/tree/gdk/gdkwindow.c? id = ea1295c9ab40ab8c1b5b80ccf1575710c5ff6b86 # n10820 thì tôi không biết cách tiếp tục theo dõi. –
Nếu bạn nhìn vào mã nguồn, tất cả mọi thứ thực sự xuất hiện tốt. Vì vậy, gốc của vấn đề là rất có thể hoặc là trong Ràng buộc Python GTK hoặc trong Trình quản lý cửa sổ. Để sao lưu câu lệnh này, mã của riêng bạn đã hiển thị nó, việc đặt một số màn hình khác không dẫn đến hành vi khác. Mã ở dưới cùng tuy nhiên không hoạt động :) – B8vrede
Tôi xác nhận rằng nó hoạt động. Cảm ơn! FTR: Tôi đang chạy Gnome 3.18 trên Ubuntu 16.04. –