-CLI args to hide or show already running instance

- fixes #190
This commit is contained in:
trigg 2022-01-15 14:56:09 +00:00
parent e0ee6c4085
commit 2443dacb0f
2 changed files with 20 additions and 1 deletions

View file

@ -76,6 +76,8 @@ class Discover:
print(" -x, --close Close currently running instance")
print(" -v, --debug Verbose output for aid in debugging")
print(" -h, --help This screen")
print(" --hide Hide overlay")
print(" --show Show overlay")
print("")
print("For gamescope compatibility ensure ENV has 'GDK_BACKEND=x11'")
if normal_close:
@ -89,6 +91,16 @@ class Discover:
sys.exit(0)
if "--steamos" in data or "-s" in data:
self.steamos=True
if "--hide" in data:
if self.voice_overlay:
self.voice_overlay.set_hidden(True)
if self.text_overlay:
self.text_overlay.set_hidden(True)
if "--show" in data:
if self.voice_overlay:
self.voice_overlay.set_hidden(False)
if self.text_overlay:
self.text_overlay.set_hidden(False)
if "--debug" in data or "-v" in data:
logging.getLogger().setLevel(0)

View file

@ -62,6 +62,8 @@ class OverlayWindow(Gtk.Window):
self.width = None
self.height = None
self.needsredraw = True
self.hidden = False
self.enabled = False
self.set_size_request(50, 50)
self.connect('draw', self.overlay_draw)
@ -232,6 +234,10 @@ class OverlayWindow(Gtk.Window):
gdkwin.shape_combine_region(None, 0, 0)
self.queue_draw()
def set_hidden(self, hidden):
self.hidden = hidden
self.set_enabled(self.enabled)
def set_monitor(self, idx=None, mon=None):
"""
Set the monitor this overlay should display on.
@ -285,7 +291,8 @@ class OverlayWindow(Gtk.Window):
"""
Set if this overlay should be visible
"""
if enabled:
self.enabled = enabled
if enabled and not self.hidden:
self.show_all()
else:
self.hide()