From 6b2c25708623c3d2320eb980893ed404f677d700 Mon Sep 17 00:00:00 2001 From: trigg Date: Wed, 30 Sep 2020 15:29:55 +0100 Subject: [PATCH] - Added voice horizontal padding fixes #46 --- discover_overlay/discover_overlay.py | 5 +-- discover_overlay/voice_overlay.py | 31 ++++++++++------ discover_overlay/voice_settings.py | 55 ++++++++++++++++++++-------- 3 files changed, 62 insertions(+), 29 deletions(-) diff --git a/discover_overlay/discover_overlay.py b/discover_overlay/discover_overlay.py index 999033d..2abea8d 100755 --- a/discover_overlay/discover_overlay.py +++ b/discover_overlay/discover_overlay.py @@ -58,10 +58,9 @@ class Discover: AppIndicator3.IndicatorCategory.APPLICATION_STATUS) self.ind.set_status(AppIndicator3.IndicatorStatus.ACTIVE) self.ind.set_menu(menu) - except: - logging.info( - "Falling back to Sys tray") + except Exception as e: # Create System Tray + logging.info("Falling back to Systray : %s" % (e)) self.tray = Gtk.StatusIcon.new_from_icon_name("discover_overlay") self.tray.connect('popup-menu', self.show_menu) diff --git a/discover_overlay/voice_overlay.py b/discover_overlay/voice_overlay.py index 0107879..d080ce0 100644 --- a/discover_overlay/voice_overlay.py +++ b/discover_overlay/voice_overlay.py @@ -22,7 +22,8 @@ class VoiceOverlayWindow(OverlayWindow): self.text_font = None self.text_size = 13 self.icon_spacing = 8 - self.edge_padding = 0 + self.vert_edge_padding = 0 + self.horz_edge_padding = 0 self.round_avatar = True self.talk_col = [0.0, 0.6, 0.0, 0.1] @@ -68,8 +69,12 @@ class VoiceOverlayWindow(OverlayWindow): self.text_pad = i self.redraw() - def set_edge_padding(self, i): - self.edge_padding = i + def set_vert_edge_padding(self, i): + self.vert_edge_padding = i + self.redraw() + + def set_horz_edge_padding(self, i): + self.horz_edge_padding = i self.redraw() def set_square_avatar(self, i): @@ -138,12 +143,12 @@ class VoiceOverlayWindow(OverlayWindow): (len(self.userlist) + 1) * self.icon_spacing # Choose where to start drawing - rh = 0 + self.edge_padding + rh = 0 + self.vert_edge_padding if self.align_vert == 1: # Ignore padding? rh = (h / 2) - (height / 2) elif self.align_vert == 2: - rh = h - height - self.edge_padding + rh = h - height - self.vert_edge_padding # Iterate users in room. for user in self.userlist: self.draw_avatar(context, user, rh) @@ -188,16 +193,20 @@ class VoiceOverlayWindow(OverlayWindow): if user["id"] in self.avatars: pix = self.avatars[user["id"]] if self.align_right: - self.draw_text(context, user["username"], w - self.avatar_size, y) + self.draw_text( + context, user["username"], w - self.avatar_size - self.horz_edge_padding, y) self.draw_avatar_pix( - context, pix, w - self.avatar_size, y, c, alpha) + context, pix, w - self.avatar_size - self.horz_edge_padding, y, c, alpha) if mute: - self.draw_mute(context, w - self.avatar_size, y, alpha) + self.draw_mute(context, w - self.avatar_size - + self.horz_edge_padding, y, alpha) else: - self.draw_text(context, user["username"], self.avatar_size, y) - self.draw_avatar_pix(context, pix, 0, y, c, alpha) + self.draw_text( + context, user["username"], self.avatar_size + self.horz_edge_padding, y) + self.draw_avatar_pix( + context, pix, self.horz_edge_padding, y, c, alpha) if mute: - self.draw_mute(context, 0, y, alpha) + self.draw_mute(context, self.horz_edge_padding, y, alpha) def draw_text(self, context, string, x, y): if self.text_font: diff --git a/discover_overlay/voice_settings.py b/discover_overlay/voice_settings.py index 43c5a4f..6825fbb 100644 --- a/discover_overlay/voice_settings.py +++ b/discover_overlay/voice_settings.py @@ -56,7 +56,10 @@ class VoiceSettingsWindow(SettingsWindow): self.square_avatar = config.getboolean( "main", "square_avatar", fallback=False) self.monitor = config.get("main", "monitor", fallback="None") - self.edge_padding = config.getint("main", "edge_padding", fallback=0) + self.vert_edge_padding = config.getint( + "main", "vert_edge_padding", fallback=0) + self.horz_edge_padding = config.getint( + "main", "horz_edge_padding", fallback=0) self.floating = config.getboolean("main", "floating", fallback=False) self.floating_x = config.getint("main", "floating_x", fallback=0) self.floating_y = config.getint("main", "floating_y", fallback=0) @@ -75,7 +78,8 @@ class VoiceSettingsWindow(SettingsWindow): self.overlay.set_text_padding(self.text_padding) self.overlay.set_square_avatar(self.square_avatar) self.overlay.set_monitor(self.get_monitor_index(self.monitor)) - self.overlay.set_edge_padding(self.edge_padding) + self.overlay.set_vert_edge_padding(self.vert_edge_padding) + self.overlay.set_horz_edge_padding(self.horz_edge_padding) self.overlay.set_floating( self.floating, self.floating_x, self.floating_y, self.floating_w, self.floating_h) @@ -106,7 +110,10 @@ class VoiceSettingsWindow(SettingsWindow): config.set("main", "font", self.font) config.set("main", "square_avatar", "%d" % (int(self.square_avatar))) config.set("main", "monitor", self.monitor) - config.set("main", "edge_padding", "%d" % (self.edge_padding)) + config.set("main", "vert_edge_padding", "%d" % + (self.vert_edge_padding)) + config.set("main", "horz_edge_padding", "%d" % + (self.horz_edge_padding)) config.set("main", "floating", "%s" % (int(self.floating))) config.set("main", "floating_x", "%s" % (self.floating_x)) config.set("main", "floating_y", "%s" % (self.floating_y)) @@ -227,11 +234,21 @@ class VoiceSettingsWindow(SettingsWindow): text_padding.connect("value-changed", self.change_text_padding) # Edge padding - edge_padding_label = Gtk.Label.new("Edge Padding") - edge_padding_adjustment = Gtk.Adjustment.new( - self.edge_padding, 0, 1000, 1, 1, 0) - edge_padding = Gtk.SpinButton.new(edge_padding_adjustment, 0, 0) - edge_padding.connect("value-changed", self.change_edge_padding) + vert_edge_padding_label = Gtk.Label.new("Vertical Edge Padding") + vert_edge_padding_adjustment = Gtk.Adjustment.new( + self.vert_edge_padding, 0, 1000, 1, 1, 0) + vert_edge_padding = Gtk.SpinButton.new( + vert_edge_padding_adjustment, 0, 0) + vert_edge_padding.connect( + "value-changed", self.change_vert_edge_padding) + + horz_edge_padding_label = Gtk.Label.new("Horizontal Edge Padding") + horz_edge_padding_adjustment = Gtk.Adjustment.new( + self.horz_edge_padding, 0, 1000, 1, 1, 0) + horz_edge_padding = Gtk.SpinButton.new( + horz_edge_padding_adjustment, 0, 0) + horz_edge_padding.connect( + "value-changed", self.change_horz_edge_padding) # Avatar shape square_avatar_label = Gtk.Label.new("Square Avatar") @@ -261,10 +278,12 @@ class VoiceSettingsWindow(SettingsWindow): box.attach(icon_spacing, 1, 11, 1, 1) box.attach(text_padding_label, 0, 12, 1, 1) box.attach(text_padding, 1, 12, 1, 1) - box.attach(edge_padding_label, 0, 13, 1, 1) - box.attach(edge_padding, 1, 13, 1, 1) - box.attach(square_avatar_label, 0, 14, 1, 1) - box.attach(square_avatar, 1, 14, 1, 1) + box.attach(vert_edge_padding_label, 0, 13, 1, 1) + box.attach(vert_edge_padding, 1, 13, 1, 1) + box.attach(horz_edge_padding_label, 0, 14, 1, 1) + box.attach(horz_edge_padding, 1, 14, 1, 1) + box.attach(square_avatar_label, 0, 15, 1, 1) + box.attach(square_avatar, 1, 15, 1, 1) self.add(box) @@ -400,10 +419,16 @@ class VoiceSettingsWindow(SettingsWindow): self.text_padding = button.get_value() self.save_config() - def change_edge_padding(self, button): - self.overlay.set_edge_padding(button.get_value()) + def change_vert_edge_padding(self, button): + self.overlay.set_vert_edge_padding(button.get_value()) - self.edge_padding = button.get_value() + self.vert_edge_padding = button.get_value() + self.save_config() + + def change_horz_edge_padding(self, button): + self.overlay.set_horz_edge_padding(button.get_value()) + + self.horz_edge_padding = button.get_value() self.save_config() def change_square_avatar(self, button):