diff --git a/discover_overlay/discord_connector.py b/discover_overlay/discord_connector.py
index f979a62..f548281 100644
--- a/discover_overlay/discord_connector.py
+++ b/discover_overlay/discord_connector.py
@@ -35,6 +35,7 @@ class DiscordConnector:
self.last_connection = ""
self.text = []
self.authed = False
+ self.last_text_channel = None
def get_access_token_stage1(self):
self.ws.send("{\"cmd\":\"AUTHORIZE\",\"args\":{\"client_id\":\"%s\",\"scopes\":[\"rpc\",\"messages.read\"],\"prompt\":\"none\"},\"nonce\":\"deadbeef\"}" % (
@@ -62,6 +63,7 @@ class DiscordConnector:
cn = self.channels[channel]['name']
logging.info(
"Joined room: %s" % (cn))
+ self.sub_voice_channel(channel)
self.current_voice = channel
if need_req:
self.req_channel_details(channel)
@@ -200,7 +202,7 @@ class DiscordConnector:
self.set_in_room(j["data"]["user"]["id"], False)
if j["data"]["user"]["id"] == self.user["id"]:
self.in_room = []
- self.sub_all_voice()
+ #self.sub_all_voice()
else:
un = j["data"]["user"]["username"]
elif j["evt"] == "SPEAKING_START":
@@ -262,8 +264,8 @@ class DiscordConnector:
if channel["type"] == 2:
self.req_channel_details(channel["id"])
self.check_guilds()
- self.sub_all_voice_guild(j["nonce"])
- self.sub_all_text_guild(j["nonce"])
+ #self.sub_all_voice_guild(j["nonce"])
+ #self.sub_all_text_guild(j["nonce"])
return
elif j["cmd"] == "SUBSCRIBE":
return
@@ -308,6 +310,8 @@ class DiscordConnector:
u"%s: %s" % (guild["name"], channels))
self.sub_server()
self.find_user()
+ if self.last_text_channel:
+ self.sub_text_channel(self.last_text_channel)
def on_error(self, error):
logging.error("ERROR : %s" % (error))
@@ -432,6 +436,12 @@ class DiscordConnector:
return True
return True
+ def start_listening_text(self, ch):
+ if self.ws:
+ self.sub_text_channel(ch)
+ else:
+ self.last_text_channel = ch
+
def connect(self):
if self.ws:
return
diff --git a/discover_overlay/discover_overlay.py b/discover_overlay/discover_overlay.py
index 4558aff..54916ab 100755
--- a/discover_overlay/discover_overlay.py
+++ b/discover_overlay/discover_overlay.py
@@ -35,6 +35,7 @@ class Discover:
self.connection = DiscordConnector(
self.settings.text_settings, self.settings.voice_settings,
self.text_overlay, self.voice_overlay)
+ self.settings.text_settings.add_connector(self.connection)
self.connection.connect()
GLib.timeout_add((1000 / 60), self.connection.do_read)
self.rpc_file = rpc_file
diff --git a/discover_overlay/overlay.py b/discover_overlay/overlay.py
index c165001..edaf794 100644
--- a/discover_overlay/overlay.py
+++ b/discover_overlay/overlay.py
@@ -19,7 +19,6 @@ class OverlayWindow(Gtk.Window):
def __init__(self):
Gtk.Window.__init__(self, type=self.detect_type())
screen = self.get_screen()
- screen_type = "%s" % (screen)
self.set_size_request(50, 50)
self.connect('draw', self.draw)
@@ -27,7 +26,6 @@ class OverlayWindow(Gtk.Window):
self.compositing = False
# Set RGBA
screen = self.get_screen()
- screen_type = "%s" % (screen)
visual = screen.get_rgba_visual()
if not self.get_display().supports_input_shapes():
logging.info(
diff --git a/discover_overlay/settings_window.py b/discover_overlay/settings_window.py
index c088581..d0952f1 100644
--- a/discover_overlay/settings_window.py
+++ b/discover_overlay/settings_window.py
@@ -19,6 +19,7 @@ class MainSettingsWindow(Gtk.Window):
self.text_overlay = text_overlay
self.voice_overlay = voice_overlay
+ self.set_title("Discover Overlay Configuration")
# Create
nb = Gtk.Notebook()
diff --git a/discover_overlay/text_overlay.py b/discover_overlay/text_overlay.py
index 7ec6692..37460a1 100644
--- a/discover_overlay/text_overlay.py
+++ b/discover_overlay/text_overlay.py
@@ -31,6 +31,7 @@ class TextOverlayWindow(OverlayWindow):
self.imgList = []
self.imgFinder = re.compile(r"`")
+ self.set_title("Discover Text")
def set_text_time(self, t):
self.text_time = t
@@ -96,7 +97,7 @@ class TextOverlayWindow(OverlayWindow):
ret = "`"
elif msg['type'] == 'inlineCode' or msg['type'] == 'codeBlock' or msg['type'] == 'blockQuote':
ret = "%s" % (
- msg['content'])
+ self.make_line(msg['content']))
elif msg['type'] == 'u':
ret = "%s" % (self.make_line(msg['content']))
elif msg['type'] == 'em':
@@ -110,7 +111,7 @@ class TextOverlayWindow(OverlayWindow):
elif msg['type'] == 'br':
ret = '\n'
else:
- logging.warning("Unknown text type : %s" % (msg["type"]))
+ logging.error("Unknown text type : %s" % (msg["type"]))
return ret
def recv_attach(self, id, pix):
diff --git a/discover_overlay/text_settings.py b/discover_overlay/text_settings.py
index f06f440..6deee9e 100644
--- a/discover_overlay/text_settings.py
+++ b/discover_overlay/text_settings.py
@@ -26,6 +26,7 @@ class TextSettingsWindow(SettingsWindow):
self.ignore_guild_change = False
self.create_gui()
+
def update_channel_model(self):
# potentially organize channels by their group/parent_id
# https://discord.com/developers/docs/resources/channel#channel-object-channel-structure
@@ -64,6 +65,11 @@ class TextSettingsWindow(SettingsWindow):
idx += 1
+ def add_connector(self, conn):
+ self.connector = conn
+ if self.channel:
+ self.connector.start_listening_text(self.channel)
+
def present(self):
self.show_all()
if not self.floating:
@@ -371,7 +377,9 @@ class TextSettingsWindow(SettingsWindow):
def change_channel(self, button):
if self.ignore_channel_change:
return
+
c = self.channel_lookup[button.get_active()]
+ self.connector.start_listening_text(c)
self.channel = c
self.save_config()
diff --git a/discover_overlay/voice_overlay.py b/discover_overlay/voice_overlay.py
index 9503c19..edb7b18 100644
--- a/discover_overlay/voice_overlay.py
+++ b/discover_overlay/voice_overlay.py
@@ -36,9 +36,10 @@ class VoiceOverlayWindow(OverlayWindow):
self.users_to_draw = []
self.connected = False
self.force_location()
- self.def_avatar = get_surface(self.recv_avatar,
- "https://cdn.discordapp.com/embed/avatars/3.png",
- 'def', self.avatar_size)
+ get_surface(self.recv_avatar,
+ "https://cdn.discordapp.com/embed/avatars/3.png",
+ 'def', self.avatar_size)
+ self.set_title("Discover Voice")
def set_bg(self, bg):
self.norm_col = bg
diff --git a/setup.py b/setup.py
index 22f6fa0..269646a 100644
--- a/setup.py
+++ b/setup.py
@@ -25,7 +25,7 @@ setup(
'websocket-client',
'pyxdg',
'requests',
- 'python-pidfile',
+ 'python-pidfile>=3.0.0',
'pillow',
],
entry_points={