- Added voice horizontal padding fixes #46

This commit is contained in:
trigg 2020-09-30 15:29:55 +01:00
parent 9ca2cc51a3
commit 6b2c257086
3 changed files with 62 additions and 29 deletions

View file

@ -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)

View file

@ -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:

View file

@ -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):