- Check for multi-monitor capabilities, attempt to fallback
This commit is contained in:
parent
da718bafc2
commit
1ee0d46cb8
6 changed files with 60 additions and 37 deletions
|
|
@ -148,7 +148,6 @@ class DiscordConnector:
|
|||
if j["evt"] == "READY":
|
||||
self.req_auth()
|
||||
elif j["evt"] == "VOICE_STATE_UPDATE":
|
||||
print(j)
|
||||
self.list_altered = True
|
||||
thisuser = j["data"]["user"]
|
||||
un = j["data"]["user"]["username"]
|
||||
|
|
|
|||
|
|
@ -49,13 +49,20 @@ class DraggableWindow(Gtk.Window):
|
|||
self.set_decorated(False)
|
||||
self.set_keep_above(True)
|
||||
display = Gdk.Display.get_default()
|
||||
monitor = display.get_monitor(self.monitor)
|
||||
geometry = monitor.get_geometry()
|
||||
scale_factor = monitor.get_scale_factor()
|
||||
w = scale_factor * geometry.width
|
||||
h = scale_factor * geometry.height
|
||||
x = geometry.x
|
||||
y = geometry.y
|
||||
if "get_monitor" in dir(display):
|
||||
monitor = display.get_monitor(self.monitor)
|
||||
geometry = monitor.get_geometry()
|
||||
scale_factor = monitor.get_scale_factor()
|
||||
w = scale_factor * geometry.width
|
||||
h = scale_factor * geometry.height
|
||||
x = geometry.x
|
||||
y = geometry.y
|
||||
else:
|
||||
screen = display.get_default_screen()
|
||||
w = screen.width()
|
||||
h = screen.height()
|
||||
x = 0
|
||||
y = 0
|
||||
#self.resize(400, h)
|
||||
self.move(self.x, self.y)
|
||||
self.resize(self.w, self.h)
|
||||
|
|
|
|||
|
|
@ -75,19 +75,31 @@ class OverlayWindow(Gtk.Window):
|
|||
self.set_decorated(False)
|
||||
self.set_keep_above(True)
|
||||
display = Gdk.Display.get_default()
|
||||
monitor = display.get_monitor(self.monitor)
|
||||
geometry = monitor.get_geometry()
|
||||
scale_factor = monitor.get_scale_factor()
|
||||
if not self.floating:
|
||||
w = scale_factor * geometry.width
|
||||
h = scale_factor * geometry.height
|
||||
x = geometry.x
|
||||
y = geometry.y
|
||||
self.resize(w, h)
|
||||
self.move(x, y)
|
||||
if "get_monitor" in dir(display):
|
||||
monitor = display.get_monitor(self.monitor)
|
||||
geometry = monitor.get_geometry()
|
||||
scale_factor = monitor.get_scale_factor()
|
||||
if not self.floating:
|
||||
w = scale_factor * geometry.width
|
||||
h = scale_factor * geometry.height
|
||||
x = geometry.x
|
||||
y = geometry.y
|
||||
self.resize(w, h)
|
||||
self.move(x, y)
|
||||
else:
|
||||
self.move(self.x, self.y)
|
||||
self.resize(self.w, self.h)
|
||||
else:
|
||||
self.move(self.x, self.y)
|
||||
self.resize(self.w, self.h)
|
||||
if not self.floating:
|
||||
screen = display.get_default_screen()
|
||||
w = screen.width()
|
||||
h = screen.height()
|
||||
x = 0
|
||||
y = 0
|
||||
else:
|
||||
self.move(self.x, self.y)
|
||||
self.resize(self.w, self.h)
|
||||
|
||||
self.redraw()
|
||||
|
||||
def redraw(self):
|
||||
|
|
|
|||
|
|
@ -38,9 +38,10 @@ class SettingsWindow(Gtk.Window):
|
|||
|
||||
def get_monitor_index(self, name):
|
||||
display = Gdk.Display.get_default()
|
||||
for i in range(0, display.get_n_monitors()):
|
||||
if display.get_monitor(i).get_model() == name:
|
||||
return i
|
||||
if "get_n_monitors" in dir(display):
|
||||
for i in range(0, display.get_n_monitors()):
|
||||
if display.get_monitor(i).get_model() == name:
|
||||
return i
|
||||
print("Could not find monitor : %s" % (name))
|
||||
return 0
|
||||
|
||||
|
|
|
|||
|
|
@ -178,8 +178,9 @@ class TextSettingsWindow(SettingsWindow):
|
|||
|
||||
monitor_store = Gtk.ListStore(str)
|
||||
display = Gdk.Display.get_default()
|
||||
for i in range(0, display.get_n_monitors()):
|
||||
monitor_store.append([display.get_monitor(i).get_model()])
|
||||
if "get_n_monitors" in dir(display):
|
||||
for i in range(0, display.get_n_monitors()):
|
||||
monitor_store.append([display.get_monitor(i).get_model()])
|
||||
monitor = Gtk.ComboBox.new_with_model(monitor_store)
|
||||
monitor.set_active(self.get_monitor_index(self.monitor))
|
||||
monitor.connect("changed", self.change_monitor)
|
||||
|
|
@ -313,12 +314,13 @@ class TextSettingsWindow(SettingsWindow):
|
|||
|
||||
def change_monitor(self, button):
|
||||
display = Gdk.Display.get_default()
|
||||
mon = display.get_monitor(button.get_active())
|
||||
m_s = mon.get_model()
|
||||
self.overlay.set_monitor(button.get_active())
|
||||
if "get_monitor" in dir(display):
|
||||
mon = display.get_monitor(button.get_active())
|
||||
m_s = mon.get_model()
|
||||
self.overlay.set_monitor(button.get_active())
|
||||
|
||||
self.monitor = m_s
|
||||
self.save_config()
|
||||
self.monitor = m_s
|
||||
self.save_config()
|
||||
|
||||
def change_align_x(self, button):
|
||||
self.overlay.set_align_x(button.get_active() == 1)
|
||||
|
|
|
|||
|
|
@ -169,8 +169,9 @@ class VoiceSettingsWindow(SettingsWindow):
|
|||
|
||||
monitor_store = Gtk.ListStore(str)
|
||||
display = Gdk.Display.get_default()
|
||||
for i in range(0, display.get_n_monitors()):
|
||||
monitor_store.append([display.get_monitor(i).get_model()])
|
||||
if "get_n_monitors" in dir(display):
|
||||
for i in range(0, display.get_n_monitors()):
|
||||
monitor_store.append([display.get_monitor(i).get_model()])
|
||||
monitor = Gtk.ComboBox.new_with_model(monitor_store)
|
||||
monitor.set_active(self.get_monitor_index(self.monitor))
|
||||
monitor.connect("changed", self.change_monitor)
|
||||
|
|
@ -366,12 +367,13 @@ class VoiceSettingsWindow(SettingsWindow):
|
|||
|
||||
def change_monitor(self, button):
|
||||
display = Gdk.Display.get_default()
|
||||
mon = display.get_monitor(button.get_active())
|
||||
m_s = mon.get_model()
|
||||
self.overlay.set_monitor(button.get_active())
|
||||
if "get_monitor" in dir(display):
|
||||
mon = display.get_monitor(button.get_active())
|
||||
m_s = mon.get_model()
|
||||
self.overlay.set_monitor(button.get_active())
|
||||
|
||||
self.monitor = m_s
|
||||
self.save_config()
|
||||
self.monitor = m_s
|
||||
self.save_config()
|
||||
|
||||
def change_align_x(self, button):
|
||||
self.overlay.set_align_x(button.get_active() == 1)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue