From 0796b96908d1a240942a11e3090300dfaacff661 Mon Sep 17 00:00:00 2001 From: deepend Date: Wed, 18 Feb 2026 13:28:17 -0700 Subject: [PATCH] Added a Win32 existing-instance fallback so --existing with no URL/command now sends a dedicated __WIN32_TASKBAR_TOGGLE__ command to the running ZoiteChat instance, instead of doing nothing. This gives taskbar/shortcut invocations an explicit toggle action. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Updated the Win32 WM_COPYDATA handler to recognize that toggle command and perform minimize/restore behavior: visible window → iconify hidden window → show/present while preserving existing behavior for normal remote commands. --- src/common/zoitechat.c | 4 ++++ src/fe-gtk/maingui.c | 12 +++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/common/zoitechat.c b/src/common/zoitechat.c index 10ce8bc1..eeb31fba 100644 --- a/src/common/zoitechat.c +++ b/src/common/zoitechat.c @@ -229,6 +229,10 @@ zoitechat_remote_win32 (void) { sent = zoitechat_send_command_to_existing (hwnd, arg_command) || sent; } + else if (arg_existing) + { + sent = zoitechat_send_command_to_existing (hwnd, "__WIN32_TASKBAR_TOGGLE__") || sent; + } if (arg_urls) { diff --git a/src/fe-gtk/maingui.c b/src/fe-gtk/maingui.c index 685725f8..f72a6c27 100644 --- a/src/fe-gtk/maingui.c +++ b/src/fe-gtk/maingui.c @@ -3892,7 +3892,17 @@ mg_win32_filter (GdkXEvent *xevent, GdkEvent *event, gpointer data) if (command) { - handle_command (current_sess, command, FALSE); + if (strcmp (command, "__WIN32_TASKBAR_TOGGLE__") == 0) + { + if (gtk_widget_get_visible (current_sess->gui->window)) + fe_ctrl_gui (current_sess, FE_GUI_ICONIFY, 0); + else + fe_ctrl_gui (current_sess, FE_GUI_SHOW, 0); + } + else + { + handle_command (current_sess, command, FALSE); + } g_free (command); return GDK_FILTER_REMOVE; }