- Catch resolution & monitor changes

- Attempt to re assign monitor when needed
- Still buggy but an improvement
- Bump version
- Fix Window name on notifications
This commit is contained in:
Trigg 2024-02-03 16:08:45 +00:00
parent 6ea2b7df46
commit c0098a45f9
3 changed files with 15 additions and 4 deletions

View file

@ -63,7 +63,7 @@ class NotificationOverlayWindow(OverlayWindow):
self.image_list = {}
self.warned_filetypes = []
self.set_title("Discover Text")
self.set_title("Discover Notifications")
self.redraw()
def set_blank(self):

View file

@ -103,6 +103,9 @@ class OverlayWindow(Gtk.Window):
self.set_piggyback(piggyback)
self.get_screen().connect("composited-changed", self.check_composite)
self.get_screen().connect("monitors-changed", self.screen_changed)
self.get_screen().connect("size-changed", self.screen_changed)
def set_gamescope_xatom(self, enabled):
if self.piggyback_parent:
@ -126,7 +129,6 @@ class OverlayWindow(Gtk.Window):
def set_wayland_state(self):
"""
If wayland is in use then attempt to set up a GtkLayerShell
I have no idea how this should register a fail for Weston/Gnome
"""
if self.is_wayland:
if not GtkLayerShell.is_supported():
@ -134,7 +136,8 @@ class OverlayWindow(Gtk.Window):
"GTK Layer Shell is not supported on this wayland compositor")
log.info("Currently not possible: Gnome, Weston")
sys.exit(0)
GtkLayerShell.init_for_window(self)
if not GtkLayerShell.is_layer_window(self):
GtkLayerShell.init_for_window(self)
GtkLayerShell.set_layer(self, GtkLayerShell.Layer.OVERLAY)
GtkLayerShell.set_anchor(self, GtkLayerShell.Edge.LEFT, True)
GtkLayerShell.set_anchor(self, GtkLayerShell.Edge.RIGHT, True)
@ -297,6 +300,10 @@ class OverlayWindow(Gtk.Window):
monitor = display.get_monitor(self.monitor)
if monitor:
GtkLayerShell.set_monitor(self, monitor)
else:
self.hide()
self.set_wayland_state()
self.show()
else:
log.error("No get_monitor in display")
self.set_untouchable()
@ -362,3 +369,7 @@ class OverlayWindow(Gtk.Window):
def check_composite(self, _a=None, _b=None):
self.redraw()
def screen_changed(self, screen=None):
self.set_monitor(self.monitor)

View file

@ -9,7 +9,7 @@ setup(
name='discover-overlay',
author='trigg',
author_email='',
version='0.6.9',
version='0.6.10',
description='Voice chat overlay',
long_description=readme(),
long_description_content_type='text/markdown',