diff --git a/r2chat.py b/r2chat.py index 20ab7bb..8f6ce6b 100644 --- a/r2chat.py +++ b/r2chat.py @@ -75,15 +75,15 @@ class r2chat: self.last_size = 0 - # configs + # configs font = (self.cfg["font_family"], self.cfg["font_size"]) bg_color = self.cfg["bg_color"] fg_color = self.cfg["fg_color"] - + # menubar self.menubar = tk.Menu(root) self.root.config(menu=self.menubar) - + ## chat menu self.chatmenu = tk.Menu(self.menubar, tearoff=0) self.menubar.add_cascade(label="Chat", menu=self.chatmenu) @@ -122,10 +122,10 @@ class r2chat: open(CHAT_FILE, "a").close() self.update_chat() - self.write_system_message(self.cfg["status_join"]) + self.write_system_message(f'◉ {self.cfg["status_join"]}') def on_close(self): - self.write_system_message(self.cfg["status_leave"]) + self.write_system_message(f'◌ {self.cfg["status_leave"]}') self.root.destroy() def write_system_message(self, msg): @@ -136,7 +136,12 @@ class r2chat: def send_message(self, event=None): msg = self.entry.get().strip() if msg and msg.startswith("/join #"): - subprocess.Popen(f'pythonw "{os.path.abspath(__file__)}" "{msg[7:len(msg)]}"', shell=True) + channel = msg[7:len(msg)] + self.write_system_message(f"⇄ {username} is chatting in {channel}.") + if sys.platform == "win32": + subprocess.Popen(f'pythonw "{os.path.abspath(__file__)}" "{channel}"', shell=True) + else: + subprocess.Popen(f'python "{os.path.abspath(__file__)}" "{channel}"', shell=True) msg = '' self.entry.delete(0, tk.END) if msg: @@ -149,23 +154,23 @@ class r2chat: print("oh noes! ", e) self.entry.delete(0, tk.END) - + def setstatus(self, new_status): global status if status == new_status: return - + status = new_status if status == "online": - self.write_system_message(msg=self.cfg["status_join"]) + self.write_system_message(msg=f'◉ {self.cfg["status_join"]}') elif status == "offline": - self.write_system_message(msg=self.cfg["status_leave"]) + self.write_system_message(msg=f'◌ {self.cfg["status_leave"]}') elif status == "inactive": - self.write_system_message(msg=self.cfg["status_inactive"]) + self.write_system_message(msg=f'◍ {self.cfg["status_inactive"]}') elif status == "busy": - self.write_system_message(msg=self.cfg["status_busy"]) + self.write_system_message(msg=f'◎ {self.cfg["status_busy"]}') def openprefs(self): PreferencesWindow(self.root, self.cfg, self.save_prefs) @@ -337,6 +342,6 @@ if __name__ == "__main__": app = r2chat(root) root.geometry("500x520") root.minsize(360, 360) - root.attributes('-topmost', True) + #root.attributes('-topmost', True) root.protocol("WM_DELETE_WINDOW", app.on_close) root.mainloop()