From faeac6c96fd6b91bede51ef2aae5e3f61c4473a8 Mon Sep 17 00:00:00 2001 From: rattatwinko Date: Fri, 12 Dec 2025 21:15:07 +0100 Subject: [PATCH 1/4] some sound additions --- build.ps1 | 1 + src/Win32API.py | 99 +++++++++++++++++++++++++++++++++++++++ src/Win32SoundHandler.py | 97 ++++++++++++++++++++++++++++++++++++++ src/main.py | 99 ++++++++++++++++++++++++++++++++++++--- src/sounds/balloon.wav | Bin 0 -> 9556 bytes src/sounds/space-pdj.wav | Bin 0 -> 15298 bytes src/sounds/startup.wav | Bin 0 -> 34994 bytes 7 files changed, 290 insertions(+), 6 deletions(-) create mode 100644 src/Win32API.py create mode 100644 src/Win32SoundHandler.py create mode 100644 src/sounds/balloon.wav create mode 100644 src/sounds/space-pdj.wav create mode 100644 src/sounds/startup.wav diff --git a/build.ps1 b/build.ps1 index 9980fea..1d334dd 100644 --- a/build.ps1 +++ b/build.ps1 @@ -10,6 +10,7 @@ pyinstaller ` --hidden-import wx._xml ` --add-data "FiraCode-Regular.ttf;." ` --add-data "FiraCode-SemiBold.ttf;." ` + --add-data "src\sounds\*;sounds" ` --add-data "venv\Lib\site-packages\irc\codes.txt;irc" ` --add-data "icon.ico;." ` --icon "icon.ico" ` diff --git a/src/Win32API.py b/src/Win32API.py new file mode 100644 index 0000000..2c31d33 --- /dev/null +++ b/src/Win32API.py @@ -0,0 +1,99 @@ +import ctypes +from ctypes import wintypes +import time + +SW_HIDE = 0 +SW_SHOW = 5 + +GWL_EXSTYLE = -20 +WS_EX_TOOLWINDOW = 0x00000080 +WS_EX_APPWINDOW = 0x00040000 +WS_EX_LAYERED = 0x80000 +LWA_ALPHA = 0x2 + + +class Win32API: + def __init__(self, hwnd): + self.hwnd = hwnd + self.hidden = False + self._load_api() + + def _load_api(self): + user32 = ctypes.windll.user32 + + self.ShowWindow = user32.ShowWindow + self.GetWindowLong = user32.GetWindowLongW + self.SetWindowLong = user32.SetWindowLongW + self._RegisterHotKey = user32.RegisterHotKey + self._SetLayeredWindowAttributes = user32.SetLayeredWindowAttributes + + self.ShowWindow.argtypes = [wintypes.HWND, ctypes.c_int] + self.GetWindowLong.argtypes = [wintypes.HWND, ctypes.c_int] + self.SetWindowLong.argtypes = [wintypes.HWND, ctypes.c_int, ctypes.c_long] + self._RegisterHotKey.argtypes = [ + wintypes.HWND, + wintypes.INT, + wintypes.UINT, + wintypes.UINT, + ] + self._SetLayeredWindowAttributes.argtypes = [ + wintypes.HWND, + wintypes.COLORREF, + wintypes.BYTE, + wintypes.DWORD, + ] + + def remove_from_taskbar(self): + style = self.GetWindowLong(self.hwnd, GWL_EXSTYLE) + new_style = (style & ~WS_EX_APPWINDOW) | WS_EX_TOOLWINDOW + self.SetWindowLong(self.hwnd, GWL_EXSTYLE, new_style) + + def hide(self): + self.ShowWindow(self.hwnd, SW_HIDE) + self.hidden = True + + def show(self): + self.ShowWindow(self.hwnd, SW_SHOW) + self.hidden = False + + def toggle(self, fade=True, duration=500, steps=20): + """Toggle window visibility with optional fade effect""" + if self.hidden: + if fade: + self.fade_in(duration, steps) + else: + self.show() + else: + if fade: + self.fade_out(duration, steps) + else: + self.hide() + + + def register_hotkey(self, hotkey_id, key, modifiers): + vk = ord(key.upper()) + return self._RegisterHotKey(None, hotkey_id, modifiers, vk) + + def _set_layered(self): + style = self.GetWindowLong(self.hwnd, GWL_EXSTYLE) + self.SetWindowLong(self.hwnd, GWL_EXSTYLE, style | WS_EX_LAYERED) + + def fade_in(self, duration=50, steps=50): + self.show() + self._set_layered() + for idx in range(steps + 1): + alpha = int(255 * (idx / steps)) + self._SetLayeredWindowAttributes(self.hwnd, 0, alpha, LWA_ALPHA) + ctypes.windll.kernel32.Sleep(int(duration / steps)) + self.hidden = False + + def fade_out(self, duration=50, steps=50): + self._set_layered() + for idx in range(steps + 1): + alpha = int(255 * (1 - idx /steps)) + self._SetLayeredWindowAttributes(self.hwnd, 0, alpha, LWA_ALPHA) + ctypes.windll.kernel32.Sleep(int(duration / steps)) + self.hidden = True + self.hide() + + diff --git a/src/Win32SoundHandler.py b/src/Win32SoundHandler.py new file mode 100644 index 0000000..0eab6f6 --- /dev/null +++ b/src/Win32SoundHandler.py @@ -0,0 +1,97 @@ +import ctypes +import logging +from ctypes import wintypes + +# Set up logging +logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s') +logger = logging.getLogger(__name__) + +def get_resource_path(relative_path): + import os + import sys + try: + base_path = sys._MEIPASS + except Exception: + project_root = os.path.abspath(os.path.join(os.path.dirname(__file__))) + base_path = project_root + full_path = os.path.normpath(os.path.join(base_path, relative_path)) + return full_path + +class Win32SoundHandler: + def __init__(self, hwnd): + self.hwnd = hwnd + self.SND_ALIAS = 0x00010000 + self.SND_FILENAME = 0x00020000 + self.SND_ASYNC = 0x00000001 + self._setup_playsoundapi() + + def _setup_playsoundapi(self): + winmm = ctypes.windll.winmm + self.PlaySoundW = winmm.PlaySoundW + self.PlaySoundW.argtypes = ( + wintypes.LPCWSTR, + wintypes.HMODULE, + wintypes.DWORD + ) + self.PlaySoundW.restype = wintypes.BOOL + + def play_info_sound(self): + self.PlaySoundW("SystemAsterisk", None, self.SND_ALIAS | self.SND_ASYNC) + + def play_error_sound(self): + self.PlaySoundW("SystemHand", None, self.SND_ALIAS | self.SND_ASYNC) + + def play_warn_sound(self): + self.PlaySoundW("SystemExclamation", None, self.SND_ALIAS | self.SND_ASYNC) + + def play_question_sound(self): + self.PlaySoundW("SystemQuestion", None, self.SND_ALIAS | self.SND_ASYNC) + + def play_default_sound(self): + self.PlaySoundW("SystemDefault", None, self.SND_ALIAS | self.SND_ASYNC) + + def play_notification_sound(self): + self.PlaySoundW("SystemNotification", None, self.SND_ALIAS | self.SND_ASYNC) + + def play_mail_sound(self): + self.PlaySoundW("MailBeep", None, self.SND_ALIAS | self.SND_ASYNC) + + def play_exit_sound(self): + self.PlaySoundW("SystemExit", None, self.SND_ALIAS | self.SND_ASYNC) + + def play_connect_server_or_channel(self): + try: + sound_path = get_resource_path("sounds/space-pdj.wav") + import os + if os.path.exists(sound_path): + self.PlaySoundW(sound_path, None, self.SND_FILENAME | self.SND_ASYNC) + else: + logger.warning(f"Sound file not found: {sound_path}") + except Exception as e: + logger.error(f"Error playing popout click sound: {e}") + + + def play_popout_click(self): + try: + sound_path = get_resource_path("sounds/startup.wav") + import os + if os.path.exists(sound_path): + self.PlaySoundW(sound_path, None, self.SND_FILENAME | self.SND_ASYNC) + else: + logger.warning(f"Sound file not found: {sound_path}") + except Exception as e: + logger.error(f"Error playing popout click sound: {e}") + + def play_msg_recv(self): + try: + sound_path = get_resource_path("sounds/balloon.wav") + import os + if os.path.exists(sound_path): + self.PlaySoundW(sound_path, None, self.SND_FILENAME | self.SND_ASYNC) + else: + logger.warning(f"Sound file not found: {sound_path}") + except Exception as e: + logger.error(f"Error playing message received sound: {e}") + + + diff --git a/src/main.py b/src/main.py index b220612..e2ce71e 100644 --- a/src/main.py +++ b/src/main.py @@ -16,6 +16,7 @@ from PrivacyNoticeDialog import PrivacyNoticeDialog from IRCPanel import IRCPanel from AboutDialog import AboutDialog from NotesDialog import NotesDialog +if os.name == "nt": from Win32API import Win32API ; from Win32SoundHandler import Win32SoundHandler from ScanWizard import ScanWizardDialog from LocalServer import LocalServerManager @@ -251,7 +252,7 @@ class IRCFrame(wx.Frame): # Show privacy notice first self.show_privacy_notice() - + self.reactor = None self.connection = None self.reactor_thread = None @@ -271,7 +272,7 @@ class IRCFrame(wx.Frame): self.auto_join_channels = [] self.away = False self.timestamps = True - + self.notes_data = defaultdict(dict) self.server_menu_items = {} self.local_bind_host = "127.0.0.1" @@ -300,6 +301,18 @@ class IRCFrame(wx.Frame): self.motd_lines = [] self.collecting_motd = False + self.hwnd = self.GetHandle() + self.ctrl = Win32API(self.hwnd) + + # Initialize sound handler for Windows + if os.name == "nt": + self.sound_handler = Win32SoundHandler(self.hwnd) + else: + self.sound_handler = None + + # Sound toggle state (enabled by default) + self.sounds_enabled = True + self.setup_irc_handlers() self.create_menubar() self.setup_ui() @@ -329,6 +342,17 @@ class IRCFrame(wx.Frame): self.Bind(wx.EVT_MENU, self.on_find_next, id=1001) self.Bind(wx.EVT_MENU, self.on_find_previous, id=1002) self.Bind(wx.EVT_MENU, self.on_quick_escape, id=1003) + + HOTKEY_ID = 1 + MOD_CONTROL = 0x0002 + MOD_ALT = 0x0001 + + # Register directly on the wx.Frame + self.RegisterHotKey(HOTKEY_ID, MOD_CONTROL | MOD_ALT, ord('H')) + self.Bind(wx.EVT_HOTKEY, self.on_hotkey, id=HOTKEY_ID) + + def on_hotkey(self, event): + self.ctrl.toggle() def build_theme(self): """Build a small theme descriptor that respects the host platform.""" @@ -397,7 +421,6 @@ class IRCFrame(wx.Frame): def show_privacy_notice(self): """Show privacy notice dialog at startup""" dlg = PrivacyNoticeDialog(self) - dlg.ShowModal() dlg.Destroy() def get_user_color(self, username): @@ -595,8 +618,12 @@ class IRCFrame(wx.Frame): file_menu = wx.Menu() file_menu.Append(300, "&About", "About wxIRC Client") file_menu.AppendSeparator() + self.sound_toggle_item = file_menu.AppendCheckItem(301, "Toggle &Sounds") + self.sound_toggle_item.Check(True) # Sounds enabled by default + file_menu.AppendSeparator() file_menu.Append(wx.ID_EXIT, "E&xit\tCtrl+Q") self.Bind(wx.EVT_MENU, self.on_about, id=300) + self.Bind(wx.EVT_MENU, self.on_toggle_sounds, id=301) self.Bind(wx.EVT_MENU, self.on_close, id=wx.ID_EXIT) # Edit menu with search @@ -669,6 +696,11 @@ class IRCFrame(wx.Frame): except Exception as e: logger.error(f"Error creating menu: {e}") + def on_toggle_sounds(self, event): + """Toggle sound effects on/off""" + self.sounds_enabled = self.sound_toggle_item.IsChecked() + logger.info(f"Sounds {'enabled' if self.sounds_enabled else 'disabled'}") + def on_about(self, event): """Show About dialog""" try: @@ -677,6 +709,11 @@ class IRCFrame(wx.Frame): dlg.Destroy() except Exception as e: logger.error(f"Error showing about dialog: {e}") + if self.sound_handler and self.sounds_enabled: + try: + self.sound_handler.play_error_sound() + except: + pass def on_notes(self, event): """Open notes editor dialog""" @@ -697,6 +734,11 @@ class IRCFrame(wx.Frame): except Exception as e: logger.error(f"Error opening notes dialog: {e}") self.log_server(f"Error opening notes: {e}", wx.Colour(255, 0, 0)) + if self.sound_handler and self.sounds_enabled: + try: + self.sound_handler.play_error_sound() + except: + pass def on_notes_closed(self, event=None): """Handle notes frame closing""" @@ -862,6 +904,13 @@ class IRCFrame(wx.Frame): self.connect_btn.Enable(True) self.SetStatusText("Connection failed") logger.error(f"Connection failed: {error_msg}") + + # Play error sound + if self.sound_handler and self.sounds_enabled: + try: + self.sound_handler.play_error_sound() + except Exception as e: + logger.error(f"Error playing connection failure sound: {e}") def disconnect(self): """Safely disconnect from IRC server""" @@ -892,6 +941,13 @@ class IRCFrame(wx.Frame): def on_disconnect_cleanup(self): """Clean up after disconnect""" + # Play disconnect notification sound + if self.sound_handler and self.sounds_enabled: + try: + self.sound_handler.play_warn_sound() + except Exception as e: + logger.error(f"Error playing disconnect sound: {e}") + with self.connection_lock: self.connection = None self.is_connecting = False @@ -1226,6 +1282,11 @@ Available commands: except Exception as e: logger.error(f"Error opening scan wizard: {e}") self.log_server(f"Scan wizard failed to open: {e}", wx.Colour(255, 0, 0)) + if self.sound_handler and self.sounds_enabled: + try: + self.sound_handler.play_error_sound() + except: + pass def quick_connect(self, server, port): """Populate connection fields and initiate a connection if idle.""" @@ -1434,6 +1495,13 @@ COMMANDS (type /help in chat for full list): self.log_server("Connected to server!", wx.Colour(0, 128, 0), bold=True) # Dark green self.log_server(f"Welcome message: {' '.join(event.arguments)}", wx.Colour(0, 100, 0)) + # Play welcome/connection sound + if self.sound_handler and self.sounds_enabled: + try: + self.sound_handler.play_connect_server_or_channel() + except Exception as e: + logger.error(f"Error playing welcome sound: {e}") + # Auto-join channels for channel in self.auto_join_channels: if not channel.startswith('#'): @@ -1452,6 +1520,13 @@ COMMANDS (type /help in chat for full list): if nick == self.nick: self.safe_ui_update(self.add_channel, channel) self.log_server(f"Joined channel {channel}", wx.Colour(0, 128, 0)) # Dark green + + # Play sound when we join a channel + if self.sound_handler and self.sounds_enabled: + try: + self.sound_handler.play_connect_server_or_channel() + except Exception as e: + logger.error(f"Error playing channel join sound: {e}") self.log_channel_message(channel, nick, f"→ {nick} joined", is_system=True) @@ -1509,6 +1584,13 @@ COMMANDS (type /help in chat for full list): self.log_channel_message(channel, nick, message, is_action=True) else: self.log_channel_message(channel, nick, message) + + # Play sound notification only for real user messages (not from self) + if self.sound_handler and self.sounds_enabled and nick.lower() != self.nick.lower(): + try: + self.sound_handler.play_msg_recv() + except Exception as e: + logger.error(f"Error playing message sound: {e}") # Highlight own nick in messages if self.nick.lower() in message.lower(): @@ -1527,6 +1609,13 @@ COMMANDS (type /help in chat for full list): self.log_channel_message(nick, nick, message, is_action=True) else: self.log_channel_message(nick, nick, message) + + # Play mail sound for private messages + if self.sound_handler and self.sounds_enabled and nick.lower() != self.nick.lower(): + try: + self.sound_handler.play_mail_sound() + except Exception as e: + logger.error(f"Error playing private message sound: {e}") except Exception as e: logger.error(f"Error in privmsg handler: {e}") @@ -1728,14 +1817,12 @@ if os.name == 'nt': ctypes.windll.user32.SetProcessDPIAware() except: pass -else: - pass - if __name__ == "__main__": try: if os.name == 'nt': enable_high_dpi() + app = wx.App() frame = IRCFrame() frame.SetIcon(wx.Icon(get_resource_path("icon.ico"), wx.BITMAP_TYPE_ICO)) diff --git a/src/sounds/balloon.wav b/src/sounds/balloon.wav new file mode 100644 index 0000000000000000000000000000000000000000..315fa43ae9b542bb2481afbc50cc9cb644509e3c GIT binary patch literal 9556 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

3j5Jr$fcE~Yb?R>F^9*|oXALU=Gn%d6 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͛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 Date: Sun, 14 Dec 2025 18:35:51 +0100 Subject: [PATCH 2/4] testing stuff ; testing branch lol --- build.ps1 | 2 +- src/IRCPanel.py | 6 +- src/channel.ico | Bin 0 -> 98874 bytes src/main.py | 144 ++++++++++++++++++++++++++++++++++++++++++++++-- 4 files changed, 144 insertions(+), 8 deletions(-) create mode 100644 src/channel.ico diff --git a/build.ps1 b/build.ps1 index 1d334dd..9c0fdb3 100644 --- a/build.ps1 +++ b/build.ps1 @@ -6,13 +6,13 @@ Write-Host "Building application with PyInstaller..." -ForegroundColor Cyan pyinstaller ` --onefile ` --noconfirm ` - --windowed ` --hidden-import wx._xml ` --add-data "FiraCode-Regular.ttf;." ` --add-data "FiraCode-SemiBold.ttf;." ` --add-data "src\sounds\*;sounds" ` --add-data "venv\Lib\site-packages\irc\codes.txt;irc" ` --add-data "icon.ico;." ` + --add-data "src\server.ico;." ` --icon "icon.ico" ` "src/main.py" diff --git a/src/IRCPanel.py b/src/IRCPanel.py index 1dc0134..166bb27 100644 --- a/src/IRCPanel.py +++ b/src/IRCPanel.py @@ -561,9 +561,13 @@ class IRCPanel(wx.Panel): logger.error(f"Error in add_message: {e}") def _add_message_safe(self, message, username_color=None, message_color=None, - bold=False, italic=False, underline=False): + bold=False, italic=False, underline=False): """Add message to display with formatting (must be called from main thread).""" try: + # Safety check: ensure text_ctrl still exists + if not self.text_ctrl or not self: + return + self.messages.append(message) # Check if user is at bottom diff --git a/src/channel.ico b/src/channel.ico new file mode 100644 index 0000000000000000000000000000000000000000..3b78eb8788c77f59f5f1f3334b98cb17d05a82d6 GIT binary patch literal 98874 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 OjI*y_$?H7UM*csi%{6HN literal 0 HcmV?d00001 diff --git a/src/main.py b/src/main.py index e2ce71e..ea010f0 100644 --- a/src/main.py +++ b/src/main.py @@ -1,4 +1,6 @@ import wx +import wx.aui +import wx.lib.agw.aui as aui import irc.client import threading import re @@ -551,9 +553,18 @@ class IRCFrame(wx.Frame): left_panel.SetSizer(left_sizer) - # Center - Notebook - self.notebook = wx.Notebook(panel) + self.notebook = wx.aui.AuiNotebook(panel, style= + wx.aui.AUI_NB_DEFAULT_STYLE | + wx.aui.AUI_NB_CLOSE_ON_ACTIVE_TAB | + wx.aui.AUI_NB_MIDDLE_CLICK_CLOSE + ) self.notebook.SetBackgroundColour(self.theme["content_bg"]) + + # Setup tab icons + self.setup_tab_icons() + + # Bind close event + self.notebook.Bind(wx.aui.EVT_AUINOTEBOOK_PAGE_CLOSE, self.on_notebook_page_close) # Server panel server_panel = IRCPanel(self.notebook, self) @@ -1202,11 +1213,18 @@ Available commands: try: if channel in self.channels and channel != "SERVER": def _close_channel(): + # Find and delete the page for i in range(self.notebook.GetPageCount()): if self.notebook.GetPageText(i) == channel: self.notebook.DeletePage(i) break - del self.channels[channel] + + # Clean up channel data + if channel in self.channels: + del self.channels[channel] + + if channel in self.channel_users: + del self.channel_users[channel] idx = self.channel_list.FindString(channel) if idx != wx.NOT_FOUND: @@ -1215,7 +1233,7 @@ Available commands: self.safe_ui_update(_close_channel) except Exception as e: logger.error(f"Error closing channel: {e}") - + def log_server(self, message, color=None, bold=False, italic=False, underline=False): try: if "SERVER" in self.channels: @@ -1236,8 +1254,11 @@ Available commands: def log_channel_message(self, channel, username, message, is_action=False, is_system=False): """Log a message to a channel with username coloring""" try: + # Don't create new channels if they don't exist and we're trying to log to them if channel not in self.channels: - self.safe_ui_update(self.add_channel, channel) + # Only create channel if it's being opened by the user, not just receiving messages + return + if channel in self.channels: timestamp = self.get_timestamp() @@ -1260,12 +1281,123 @@ Available commands: except Exception as e: logger.error(f"Error logging channel message: {e}") + def setup_tab_icons(self): + try: + self.tab_image_list = wx.ImageList(16, 16) + + # Possible icon locations + icon_paths = [ + os.path.join(os.path.dirname(__file__), "channel.ico"), + get_resource_path("channel.ico"), # PyInstaller bundle + os.path.join(os.getcwd(), "src", "channel.ico"), + ] + + icon_path = None + for path in icon_paths: + if path and os.path.exists(path): + icon_path = path + break + + if icon_path: + try: + img = wx.Image(icon_path, wx.BITMAP_TYPE_ICO) + img = img.Scale(16, 16, wx.IMAGE_QUALITY_HIGH) + bmp = wx.Bitmap(img) + + self.icon_server = self.tab_image_list.Add(bmp) + self.icon_channel = self.tab_image_list.Add(bmp) + self.icon_query = self.tab_image_list.Add(bmp) + + logger.info(f"Loaded tab icons from {icon_path}") + except Exception as e: + logger.warning(f"Icon load failed: {e}") + self._setup_fallback_icons() + else: + logger.info("channel.ico not found, using fallback icons") + self._setup_fallback_icons() + + self.notebook.SetImageList(self.tab_image_list) + + except Exception as e: + logger.error(f"Error setting up tab icons: {e}") + self.icon_server = -1 + self.icon_channel = -1 + self.icon_query = -1 + + def _setup_fallback_icons(self): + """Setup fallback icons using wx.ArtProvider.""" + try: + self.icon_server = self.tab_image_list.Add( + wx.ArtProvider.GetBitmap(wx.ART_INFORMATION, wx.ART_OTHER, (48, 48)) + ) + self.icon_channel = self.tab_image_list.Add( + wx.ArtProvider.GetBitmap(wx.ART_NORMAL_FILE, wx.ART_OTHER, (48, 48)) + ) + self.icon_query = self.tab_image_list.Add( + wx.ArtProvider.GetBitmap(wx.ART_HELP, wx.ART_OTHER, (48, 48)) + ) + except Exception as e: + logger.error(f"Error setting up fallback icons: {e}") + self.icon_server = -1 + self.icon_channel = -1 + self.icon_query = -1 + + def on_notebook_page_close(self, event): + """Handle tab close button clicks""" + try: + page_idx = event.GetSelection() + channel = self.notebook.GetPageText(page_idx) + + if channel == "Server": + event.Veto() + wx.MessageBox("Can't close Server!", "Error", wx.OK | wx.ICON_ERROR) + return + + if channel in self.channels: + del self.channels[channel] + + if channel in self.channel_users: + del self.channel_users[channel] + + # Remove from channel list + idx = self.channel_list.FindString(channel) + if idx != wx.NOT_FOUND: + self.channel_list.Delete(idx) + + if channel.startswith('#') and self.is_connected(): + try: + self.connection.part(channel) + except: + pass + + # Allow the close to proceed + event.Skip() + + except Exception as e: + logger.error(f"Error closing tab: {e}") + event.Skip() + def add_channel(self, channel): + """Add a new channel/query tab with appropriate icon""" try: if channel not in self.channels: panel = IRCPanel(self.notebook, self) panel.set_target(channel) - self.notebook.AddPage(panel, channel) + + # Determine icon based on channel type + if channel == "SERVER": + icon_idx = getattr(self, 'icon_server', -1) + elif channel.startswith('#'): + icon_idx = getattr(self, 'icon_channel', -1) + else: + icon_idx = getattr(self, 'icon_query', -1) + + # Add page with icon (if icon_idx is -1, no icon will be shown) + if icon_idx >= 0: + self.notebook.AddPage(panel, channel, select=True, imageId=icon_idx) + else: + self.notebook.AddPage(panel, channel, select=True) + self.channels[channel] = panel if channel.startswith('#'): -- 2.49.1 From f1ed8d36c4541e7422daee06e5a05f8d48efd003 Mon Sep 17 00:00:00 2001 From: "seppmutterman@gmail.com" Date: Sun, 14 Dec 2025 18:47:17 +0100 Subject: [PATCH 3/4] fixed the build script --- build.ps1 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build.ps1 b/build.ps1 index 9c0fdb3..170ff08 100644 --- a/build.ps1 +++ b/build.ps1 @@ -6,13 +6,14 @@ Write-Host "Building application with PyInstaller..." -ForegroundColor Cyan pyinstaller ` --onefile ` --noconfirm ` + --windowed ` --hidden-import wx._xml ` --add-data "FiraCode-Regular.ttf;." ` --add-data "FiraCode-SemiBold.ttf;." ` --add-data "src\sounds\*;sounds" ` --add-data "venv\Lib\site-packages\irc\codes.txt;irc" ` --add-data "icon.ico;." ` - --add-data "src\server.ico;." ` + --add-data "src\channel.ico;." ` --icon "icon.ico" ` "src/main.py" -- 2.49.1 From 730118610294f9f624053db0e463bb5b0a9aa171 Mon Sep 17 00:00:00 2001 From: rattatwinko Date: Mon, 15 Dec 2025 12:59:28 +0100 Subject: [PATCH 4/4] icon for server --- build.ps1 | 1 + src/LocalServer.py | 62 +++++++++++++++++++++++++++++++++++ src/main.py | 78 +++++++++++++++++++++++++++++---------------- src/server.ico | Bin 0 -> 108732 bytes 4 files changed, 114 insertions(+), 27 deletions(-) create mode 100644 src/server.ico diff --git a/build.ps1 b/build.ps1 index 170ff08..55e6916 100644 --- a/build.ps1 +++ b/build.ps1 @@ -14,6 +14,7 @@ pyinstaller ` --add-data "venv\Lib\site-packages\irc\codes.txt;irc" ` --add-data "icon.ico;." ` --add-data "src\channel.ico;." ` + --add-data "src\server.ico;." ` --icon "icon.ico" ` "src/main.py" diff --git a/src/LocalServer.py b/src/LocalServer.py index ac2542b..2214c62 100644 --- a/src/LocalServer.py +++ b/src/LocalServer.py @@ -211,3 +211,65 @@ class LocalServerManager: except Exception: logger.info(message) +if __name__ == "__main__": + import argparse + import sys + import signal + + def main(): + parser = argparse.ArgumentParser( + description="Run a local-only IRC server." + ) + parser.add_argument( + "--host", type=str, default="0.0.0.0", + help="Bind host (default: 0.0.0.0)" + ) + parser.add_argument( + "--port", type=int, default=6667, + help="Bind port (default: 6667)" + ) + parser.add_argument( + "--channels", type=str, default="#lobby", + help="Comma-separated list of channels (default: #lobby)" + ) + parser.add_argument( + "--verbose", action="store_true", + help="Enable verbose logging" + ) + + args = parser.parse_args() + + # Set up logging + logging.basicConfig( + level=logging.DEBUG if args.verbose else logging.INFO, + format="%(asctime)s [%(levelname)s] %(message)s" + ) + + # Initialize the server manager + manager = LocalServerManager( + listen_host=args.host, + listen_port=args.port + ) + manager.set_channels([ch.strip() for ch in args.channels.split(",") if ch.strip()]) + + # Handle Ctrl+C gracefully + def signal_handler(sig, frame): + print("\nStopping server...") + manager.stop() + sys.exit(0) + + signal.signal(signal.SIGINT, signal_handler) + + try: + manager.start() + print(f"IRC server running on {args.host}:{args.port}") + # Keep the main thread alive while server runs + while manager.is_running(): + import time + time.sleep(1) + except Exception as e: + print(f"Error: {e}") + manager.stop() + sys.exit(1) + + main() diff --git a/src/main.py b/src/main.py index ea010f0..9ebb56a 100644 --- a/src/main.py +++ b/src/main.py @@ -566,11 +566,18 @@ class IRCFrame(wx.Frame): # Bind close event self.notebook.Bind(wx.aui.EVT_AUINOTEBOOK_PAGE_CLOSE, self.on_notebook_page_close) - # Server panel server_panel = IRCPanel(self.notebook, self) server_panel.set_target("SERVER") + + idx = self.notebook.GetPageCount() self.notebook.AddPage(server_panel, "Server") + + # THIS is the missing line + if self.icon_server != -1: + self.notebook.SetPageImage(idx, self.icon_server) + self.channels["SERVER"] = server_panel + # Right sidebar - Users - light gray for contrast right_panel = wx.Panel(panel) @@ -1283,37 +1290,54 @@ Available commands: def setup_tab_icons(self): try: - self.tab_image_list = wx.ImageList(16, 16) + self.tab_image_list = wx.ImageList(32, 32) - # Possible icon locations - icon_paths = [ - os.path.join(os.path.dirname(__file__), "channel.ico"), - get_resource_path("channel.ico"), # PyInstaller bundle - os.path.join(os.getcwd(), "src", "channel.ico"), + # Icon file names to search for + icon_files = { + 'server': 'server.ico', + 'channel': 'channel.ico', + 'query': 'channel.ico' # Reuse channel.ico for queries if no query.ico exists + } + + # Search paths for icons + base_paths = [ + os.path.dirname(__file__), + get_resource_path(""), + os.path.join(os.getcwd(), "src"), ] - icon_path = None - for path in icon_paths: - if path and os.path.exists(path): - icon_path = path - break + # Try to load each icon + loaded_icons = {} + for icon_type, filename in icon_files.items(): + icon_path = None + for base_path in base_paths: + test_path = os.path.join(base_path, filename) + if os.path.exists(test_path): + icon_path = test_path + break + + if icon_path: + try: + img = wx.Image(icon_path, wx.BITMAP_TYPE_ICO) + img = img.Scale(32, 32, wx.IMAGE_QUALITY_HIGH) + bmp = wx.Bitmap(img) + loaded_icons[icon_type] = self.tab_image_list.Add(bmp) + logger.info(f"Loaded {icon_type} icon from {icon_path}") + except Exception as e: + logger.warning(f"Failed to load {icon_type} icon: {e}") + loaded_icons[icon_type] = -1 + else: + logger.info(f"{filename} not found for {icon_type}") + loaded_icons[icon_type] = -1 - if icon_path: - try: - img = wx.Image(icon_path, wx.BITMAP_TYPE_ICO) - img = img.Scale(16, 16, wx.IMAGE_QUALITY_HIGH) - bmp = wx.Bitmap(img) + # Assign icon indices + self.icon_server = loaded_icons.get('server', -1) + self.icon_channel = loaded_icons.get('channel', -1) + self.icon_query = loaded_icons.get('query', -1) - self.icon_server = self.tab_image_list.Add(bmp) - self.icon_channel = self.tab_image_list.Add(bmp) - self.icon_query = self.tab_image_list.Add(bmp) - - logger.info(f"Loaded tab icons from {icon_path}") - except Exception as e: - logger.warning(f"Icon load failed: {e}") - self._setup_fallback_icons() - else: - logger.info("channel.ico not found, using fallback icons") + # Use fallback icons if any failed to load + if self.icon_server == -1 or self.icon_channel == -1 or self.icon_query == -1: + logger.info("Using fallback icons for missing icon files") self._setup_fallback_icons() self.notebook.SetImageList(self.tab_image_list) diff --git a/src/server.ico b/src/server.ico new file mode 100644 index 0000000000000000000000000000000000000000..04115f4742c26a1d303d87b5fad92b34a21f2a34 GIT binary patch literal 108732 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 W{ht$8GEVc{Zz+P`o1W8Cp8r21!GUT3 literal 0 HcmV?d00001 -- 2.49.1