Commit Graph

  • 2b6fc7dbe5 Added GTK3 icon-name handling around entry error icon updates in the server list UI while keeping stock icon calls for non-GTK3 builds. Updated search UI entry icon handling to use GTK3 icon-name APIs with GTK2 fallbacks for stock icons. deepend 2026-01-23 12:57:52 -07:00
  • 8d76d94131 Added a GTK3-only helper to build button images from stock IDs via icon-name mapping, and refactored gtkutil_button to use it while keeping GTK2 stock handling intact. Verified gtkutil_button(...) callers with rg -n "gtkutil_button\\s*\\(" src/fe-gtk. deepend 2026-01-23 11:17:28 -07:00
  • 246bcd06a2 Updated gtkutil_button() to build button images via GTK3 icon names (with stock mapping) and to skip image creation when no stock name is provided, while keeping GTK2 stock usage intact. deepend 2026-01-23 10:52:17 -07:00
  • e4f1b20211 Added a helper to create button images from stock names using GTK3 icon mapping, and used it in gtkutil_button for consistent GTK2/GTK3 handling. deepend 2026-01-23 10:48:01 -07:00
  • ef5d8c482a Extended the GTK3 stock-to-icon mapping to cover apply/remove so GTK stock buttons continue to map to themed icon names in GTK3 builds. deepend 2026-01-23 10:41:18 -07:00
  • c346055b42 Added a shared GTK3 stock-to-icon-name helper in gtkutil and exposed it for reuse. Updated gtkutil_button() to use icon-name images on GTK3 while preserving stock image usage on GTK2. Switched menu icon creation to the shared GTK3 mapping helper. deepend 2026-01-23 10:32:17 -07:00
  • 63fd0dc103 Mapped stock icon identifiers to GTK3 named icons when creating stock menu items so GTK3 always uses gtk_image_new_from_icon_name. deepend 2026-01-23 10:12:47 -07:00
  • 7f05fda41a Added GTK3 named icon mappings for cancel/ok stock identifiers to align menu imagery with icon-name usage. Clarified GTK3 vs GTK2 popup menu handling with an explicit conditional split while preserving GTK2 fallback behavior deepend 2026-01-23 09:23:34 -07:00
  • 9c691db910 Added a GTK3 helper to map legacy GTK stock icon IDs to themed icon names for menu items, improving GTK3 icon lookups for legacy strings. Routed GTK3 menu icon creation through the new stock-to-name mapping before calling gtk_image_new_from_icon_name. deepend 2026-01-23 09:17:36 -07:00
  • d7966a7234 Clarified GTK3 vs. GTK2 icon macro guards in the channel list and plugin UI sources to keep named icons for GTK3 and stock icons for GTK2 builds. Split GTK3/GTK2 popup handling into explicit conditional blocks and made GTK3/GTK2 menu icon definitions explicit in the menu implementation. deepend 2026-01-23 09:07:23 -07:00
  • e70c50ab1a Consolidated GTK3 vs GTK2 icon macro guards in the channel list UI to keep named icons on GTK3 and stock icons on GTK2 behind a single conditional block. Aligned plugin UI icon macros with the same GTK3/GTK2 conditional pattern for named icons vs stock icons. Ensured GTK3 popup helper usage and clarified GTK3/GTK2 icon macro selection in the main menu handling code. deepend 2026-01-23 08:56:27 -07:00
  • 74c16fabe6 Defined shared GTK2/GTK3 icon constants for the channel list and reused them for menu items and action buttons to keep GTK3 named icons centralized. Added plugin manager icon constants for GTK2/GTK3 and applied them to the load/unload/reload buttons deepend 2026-01-23 08:33:48 -07:00
  • 70d5113180 Added a GTK3 icon-button helper for the channel list and reused it for the action buttons, plus guarded the GTK2 popup timestamp handling. Added a GTK3 icon-button helper for the plugin list controls and used it for the load/unload/reload buttons. Added a GTK3 help icon to the join-channel dialog button configuration. deepend 2026-01-23 08:17:22 -07:00
  • 6b089d3fba Added a GTK3 fallback to anchor the chanlist context menu at the tree widget when no event is available, while keeping the GTK2 popup path unchanged. deepend 2026-01-23 08:05:16 -07:00
  • 03ab236b67 Anchored GTK3 menu popups to the parent window when no pointer event is available, while preserving the GTK2 popup path. deepend 2026-01-23 07:58:26 -07:00
  • 8ba068041d Made GTK2-only chanlist menu popup and button icon paths explicit with #if !HAVE_GTK3, keeping GTK3 named-icon usage separate from stock icons. Applied the same GTK2-guarded stock icon usage in plugingui and menu handling, including menu popups and icon helpers, to isolate GTK2-only calls. deepend 2026-01-23 07:47:16 -07:00
  • fae83a34bc Updated GTK3 menu icon fallback to use icon names instead of stock IDs while preserving GTK2 behavior. deepend 2026-01-23 07:38:43 -07:00
  • b934b1b940 Updated the channel list context menu, buttons, and popup handling to use GTK3 icon names and gtk_menu_popup_at_pointer while keeping GTK2 stock fallbacks. Switched the plugin GUI action buttons to GTK3 icon-name images with GTK2 stock fallbacks. Added GTK3 icon-name mappings for menu entries, updated menu popups to gtk_menu_popup_at_pointer, and set GTK3 dialog button icons while preserving GTK2 stock behavior. deepend 2026-01-23 07:32:38 -07:00
  • 7f7fd71fe4 Guarded the Win32 GDK header include with GDK_WINDOWING_WIN32 while keeping the Win32 system header include intact. deepend 2026-01-23 00:48:15 -07:00
  • d65cef176e Guarded the tray icon X11 code path with GDK_WINDOWING_X11 while preserving the non-X11 fallback behavior in gtkutil_tray_icon_supported. Switched Win32 window handle retrieval to gdk_win32_window_get_handle and wrapped the usage in GDK_WINDOWING_WIN32 in fe_gui_info_ptr. deepend 2026-01-23 00:43:30 -07:00
  • 5715245080 Updated the GTK3 pointer position query to use gdk_device_get_position without a temporary screen variable while keeping GTK2/GTK3 code paths split by HAVE_GTK3. deepend 2026-01-23 00:38:14 -07:00
  • 796c991dd8 Guarded cursor unref with a null check while keeping GTK2/GTK3-specific cleanup behavior centralized. Added a helper to clear window backgrounds using GTK2/GTK3-specific APIs and used it during widget realize. deepend 2026-01-23 00:32:59 -07:00
  • 7ac74220c4 Added a GTK3-safe null guard before unrefing cursors while keeping GTK2 behavior under !HAVE_GTK3. Added a GTK3 pointer-device null fallback in gtk_xtext_get_pointer to safely handle missing devices before using gdk_device_get_position. deepend 2026-01-23 00:27:02 -07:00
  • 1bb0451d75 Updated GTK3 palette color parsing to use full 16-bit hex strings when converting to RGBA in palette handling and setup color dialogs. Switched GtkCellRendererText foreground bindings to the palette foreground property macro in user list, notify list, and DCC views. deepend 2026-01-23 00:23:00 -07:00
  • ea4ef5be90 Updated GTK3 color parsing in the palette/setup helpers to use RGBA-friendly hex strings with gdk_rgba_parse fallbacks while preserving GTK2 behavior. Switched GtkCellRendererText foreground property selection to foreground-rgba on GTK3 paths (with GTK2 guarded), covering userlist, notify, and DCC views. deepend 2026-01-23 00:13:14 -07:00
  • 131691156a Updated notify tree cell rendering to use the palette foreground property while preserving GTK2/GTK3 color cleanup logic. Reused the palette foreground property macro for user list and DCC text renderers to match RGBA usage in GTK3 while keeping GTK2 behavior intact. Aligned GTK2 setup color callbacks with PaletteColor and ensured RGBA parsing initialization in the palette helper. deepend 2026-01-22 23:55:49 -07:00
  • 864bf5e059 Parsed palette color strings with RGBA/GdkColor parsing fallbacks for GTK3/GTK2 palette updates. Adjusted setup RGBA conversion fallback to explicit channel conversion when parsing fails. Updated GtkCellRendererText foreground property handling for GTK2/GTK3 in user list, DCC list, and notify list rendering. deepend 2026-01-22 23:45:02 -07:00
  • 5596c8825b Added a GTK2/GTK3-compatible cursor unref helper to centralize cleanup logic. Switched cursor destruction to use the new helper in the widget teardown path. deepend 2026-01-22 23:32:50 -07:00
  • a05c064466 Wrapped GTK2-only cursor cleanup with #if !HAVE_GTK3, keeping GTK3 paths on g_object_unref. Moved GTK2 pointer/background calls into #if !HAVE_GTK3 blocks, leaving GTK3-compatible implementations in #else. deepend 2026-01-22 23:28:24 -07:00
  • ae86a8db0f Added a GTK3-aware pointer helper that uses gdk_device_get_position while retaining GTK2 behavior under #if !HAVE_GTK3. Wrapped GTK2-only cursor unref and background pixmap calls with GTK3-compatible g_object_unref and gdk_window_set_background_pattern alternatives. deepend 2026-01-22 23:24:43 -07:00
  • dae5eadf1a Updated setup color dialog RGBA derivation to parse hex palette components with gdk_rgba_parse for GTK3 paths. Standardized GtkCellRendererText foreground color binding to use the palette foreground property macro across user list, DCC, and notify views. deepend 2026-01-22 23:18:59 -07:00
  • bc11f40a7a Updated notify list cell rendering to apply GTK3 RGBA foreground properties and free boxed colors correctly while keeping GTK2 behavior intact. Switched user list and DCC tree view text columns to select the GTK3 foreground-rgba property (with GTK2 fallbacks) for cell renderer text colors. Reused RGBA parsing for palette-backed color chooser defaults and clarified palette change tracking comments. deepend 2026-01-22 23:03:50 -07:00
  • 51fd0fca91 Routed GTK cell renderer foreground bindings through PALETTE_FOREGROUND_PROPERTY for user list, notify, and DCC views to ensure GTK3 uses RGBA while preserving GTK2 behavior. Tightened GTK3 RGBA parsing by using stack buffers in palette color conversion and guarded parsing in the setup color chooser dialog. deepend 2026-01-22 22:47:11 -07:00
  • 3c0a4e4995 Updated RGB16 palette parsing to use 16-bit RGBA strings with gdk_rgba_parse for GTK3 builds. Parsed palette colors before initializing the GTK3 color chooser dialog to ensure RGBA normalization. Switched GTK3 GtkCellRendererText foreground bindings to foreground-rgba with GTK2 fallbacks in user list, notify, and DCC views. deepend 2026-01-22 22:36:49 -07:00
  • 9959cf1f24 Standardized GtkCellRendererText foreground bindings to use the palette foreground property macro across user list, notify list, and DCC views (GTK2/GTK3 aware). Generated GTK3 caret-color CSS using GdkRGBA string conversion instead of manual RGB math for input styling. Simplified palette RGB16 parsing by building a GdkRGBA-compatible color string before parsing. deepend 2026-01-22 22:25:26 -07:00
  • 61669f6b98 Added a GTK3 fallback when parsing palette RGB16 values into GdkRGBA colors to keep RGBA initialization robust. Updated GTK3 list-model color storage and GtkCellRendererText foreground properties to use RGBA values in the user list, notify list, and DCC views while retaining GTK2 behavior. Copied palette RGBA values before initializing the GTK3 color chooser dialog to ensure RGBA usage on the GTK3 path. deepend 2026-01-22 22:03:31 -07:00
  • d7d29a843f Added a forward declaration for userlist_store_color to prevent implicit declaration errors in GTK2 builds. deepend 2026-01-20 12:51:11 -07:00
  • dbb9168426 Parse GTK3 palette RGB16 values into explicit GdkRGBA structs before assignment in the palette helper. Copy RGBA values from the GTK color chooser into palette entries for the setup dialog path. Added RGBA-aware list-store color helpers and usage for userlist, notify, and DCC views to keep color handling consistent across GTK versions. deepend 2026-01-20 12:26:01 -07:00
  • cd52ebd7e8 Centralized the palette foreground property definition for GTK2/GTK3 and applied it to the user list, notify list, and DCC tree renderers to use RGBA where supported. Removed legacy colormap allocation/free calls in palette handling and setup color selection while preserving the GTK2 path logic. deepend 2026-01-19 22:58:52 -07:00
  • 99e20751a8 Converted palette storage to GdkRGBA with GTK2-guarded helpers, including RGB16 conversion support for shared consumers and dark-mode palette handling. Updated setup color selection and styling to use RGBA-aware GTK3 overrides/CSS while preserving GTK2 behavior in guarded paths. Switched tree view color models/renderers and other palette consumers (user list, notify, DCC, menus, spell entry, input style) to RGBA-aware types/properties with shared RGB16 conversion usage. deepend 2026-01-19 22:50:17 -07:00
  • 01108d7c2f Aligned the GTK3 quit dialog checkbox to fill horizontally and stay vertically centered within the grid layout, keeping GTK2 behavior unchanged. deepend 2026-01-19 22:17:57 -07:00
  • 7e5ca51486 Added a GTK3/GTK2-aware helper to create the banlist table/grid with consistent spacing setup. Updated the banlist UI setup to use the new helper when building the table container. deepend 2026-01-19 22:01:45 -07:00
  • 5441ab1a58 Aligned ban list checkboxes in GTK3 grids to preserve GTK2-style placement using GTK3 alignment helpers. deepend 2026-01-19 21:42:55 -07:00
  • 0c34c94397 Added a GTK2/GTK3-aware helper for channel list horizontal boxes and reused it for the filter rows to keep the GtkBox/GtkHBox split in one place. deepend 2026-01-19 20:35:13 -07:00
  • a5f97fc018 Added mg_box_new to centralize GTK3/GTK2 GtkBox creation with homogeneous/spacing handling in maingui.c. Updated main GUI layout construction to use mg_box_new for topic bars, text areas, meters, search/entry bars, dialog buttons, and generic tabs to keep GTK3-friendly box creation consistent while preserving GTK2 behavior. deepend 2026-01-19 20:11:07 -07:00
  • 91cdc28846 Added a chanlist label alignment helper and reused it for the filter labels to keep GTK3/GTK2 alignment behavior consistent. Added a main GUI alignment helper and applied it to the quit dialog label alignment path for GTK3/GTK2 compatibility deepend 2026-01-19 19:37:03 -07:00
  • 2470954006 Added a Meson option to enable building the GTK frontend against GTK 3. Switched the GTK frontend build logic to select GTK2/GTK3 dependencies and emit corresponding preprocessor defines. Added GTK3 GtkGrid/alignment handling and GTK3 GtkBox replacements for the channel list controls while preserving GTK2 table behavior behind guards. Switched the ban list layout to use GtkGrid under GTK3 with GTK2 table fallback for checkbox placement. Updated main GTK UI layouts to use GTK3 GtkGrid/GtkBox and alignment/attachment logic (quit dialog, topic bar, search/entry, chanview placement, main window table) while keeping GTK2 behavior via HAVE_GTK3 guards. deepend 2026-01-19 19:26:29 -07:00
  • 0e661dec95 Delete win32/installer/zoitechat-arm64.iss deepend-tildeclub 2026-01-19 14:43:40 -07:00
  • e503bec31a Fix command line argument formatting in installer script deepend-tildeclub 2026-01-19 14:42:57 -07:00
  • 628bb2e157 Update submodule URL for shared-modules deepend-tildeclub 2026-01-19 13:06:09 -07:00
  • afeae7380d Update submodule URL for shared-modules deepend-tildeclub 2026-01-18 21:01:04 -07:00
  • 3530a5c191 Add options for Perl and Python in Meson setup deepend-tildeclub 2026-01-18 19:16:40 -07:00
  • 92b9577a19 Update .mailmap deepend-tildeclub 2026-01-18 18:48:01 -07:00
  • 56dc9b1b4a Merge pull request #30 from ZoiteChat/auto-dark-mode-on-windows-fix deepend-tildeclub 2026-01-18 15:53:02 -07:00
  • 8c3986ffe0 fix auto dark/light mode on windows. deepend 2026-01-18 10:46:41 -07:00
  • c2b67e647d Merge pull request #29 from ZoiteChat/gtk-ciaro deepend-tildeclub 2026-01-18 02:11:54 -07:00
  • 6137fdbd91 Updated the channel list theme application to honor explicit light mode selection so it applies the light palette instead of staying dark. deepend 2026-01-18 01:21:51 -07:00
  • 35ecc2c643 Standardized non-numbered color selector button labels to use two figure spaces so their width matches the numbered palette buttons. deepend 2026-01-18 01:14:49 -07:00
  • cb8b8bd4cc - Added a helper to apply the selected palette color across all GTK button states so color selector backgrounds stay consistent in preferences (GTK Ciara compatible). - Reused the helper when initializing and updating color selector buttons to keep the UI in sync with chosen colors. deepend 2026-01-17 23:50:44 -07:00
  • 7279e3592f - Replaced the dark mode checkbox with an Auto/Dark/Light selector in Preferences → Colors and added the new mode labels/setting metadata to match the combo box UI. - Updated palette handling to respect the effective dark mode (including auto) when saving colors, applying themes, and refreshing user list styling. - Added auto dark-mode tracking that listens to system theme changes and reapplies palette/styles live when Auto is selected, so updates happen without restart (including channel list styling updates via setup_apply_real). - Synced the stored auto dark-mode state when preferences are applied, keeping Auto mode consistent after manual changes. - Exposed a helper for keeping the Auto state synchronized from the GTK layer to preferences handling. deepend 2026-01-17 23:09:38 -07:00
  • 8d275ddb31 - Added dark mode mode constants, config storage as an integer, and a helper to resolve Auto/Dark/Light using system preferences where available. - Replaced the dark mode checkbox with an Auto/Dark/Light color mode selector and ensured palette edits use the resolved mode. - Applied the resolved color mode consistently across palette saving and GTK styling in the user list and channel tree/theme application paths. deepend 2026-01-17 22:52:32 -07:00
  • cf41615cb3 - Reworked GTK window snapshotting in the main GUI to capture into cairo surfaces and convert via gdk_pixbuf_get_from_surface. - Added a Cairo surface → RGBA pixbuf conversion helper that unpremultiplies ARGB32 data for GTK2 compatibility while keeping window snapshots Cairo-based. - Updated window snapshotting to use the new Cairo surface conversion instead of gdk_pixbuf_get_from_surface deepend 2026-01-17 22:25:12 -07:00
  • c1f855c2ab - Updated main GUI color helpers and tab palette generation to use XTextColor, and simplified drag icon snapshotting to use gdk_pixbuf_get_from_window with a null guard. - Added pixbuf-based cairo surface capture for xtext window scrolling with a fallback to full redraw when capture fails. deepend 2026-01-17 21:56:00 -07:00
  • 4ac836fc66 - Added a shared XTextColor definition and a palette conversion helper for Cairo-ready colors, decoupling renderer palettes from GdkColor usage in the API surface. - Updated xtext palette APIs to accept internal color arrays directly for rendering setup. - Wired xtext palette creation through UI entry points to use the new palette helper when constructing or refreshing text views. deepend 2026-01-17 21:39:45 -07:00
  • 5986e6a78b -Added the standard type attribute to the GTK file info query so file type checks no longer trigger GLib-GIO warnings. deepend 2026-01-17 18:31:04 -07:00
  • 0601be026c - Converted text background loading to build Cairo surfaces directly from pixbufs for renderer use. - Updated the xtext renderer to accept Cairo background surfaces and dropped the GtkStyle attach during realize to keep rendering Cairo/Pango-focused. - Switched background surface ownership and cleanup to use cairo_surface_t across the shared state and settings update path. deepend 2026-01-17 18:19:00 -07:00
  • 24b0a3d75f - Introduced the XTextColor struct and stored xtext palette/foreground/background colors in internal renderer state rather than GdkColor fields. deepend 2026-01-17 17:44:49 -07:00
  • 2ac5234803 - Added Cairo-based window snapshot conversion (with unpremultiplication) for drag icons and updated drag rendering to use the new helper instead of drawable capture. - Updated GtkXText to track the draw window and use a pixmap-to-surface helper for Cairo contexts, avoiding drawable references in the struct and rendering flow. - Added a Cairo helper for capturing window-backed surfaces and used it when blitting during scrolling, fixing the build break from the removed drawable helper. deepend 2026-01-17 17:34:38 -07:00
  • 30e309853c Added the required gdk/gdk.h include before gdkcairo.h in maingui.c to satisfy GDK header include order requirements on Windows builds. deepend 2026-01-17 16:56:35 -07:00
  • 944ce69906 Added a Cairo color helper for drag highlight rendering and applied it to the drag motion drawing path. deepend 2026-01-17 16:46:21 -07:00
  • 4bf5316cfa Replaced legacy GDK rectangle drawing in the drag highlight path with Cairo calls and ensured cleanup before early return deepend 2026-01-17 16:34:38 -07:00
  • 136e63a6cd ciaro fixes deepend 2026-01-17 16:19:56 -07:00
  • 5ea424d0e8 start of ciaro implementation. deepend 2026-01-17 16:08:00 -07:00
  • d0e7e45a41 Revise changelog for ZoiteChat 2.17.3 release deepend-tildeclub 2026-01-17 15:34:53 -07:00
  • 8df91eb382 Fix XML structure in appdata file zoitechat-2.17.3 deepend-tildeclub 2026-01-17 15:14:30 -07:00
  • 40ed3bc0bc Merge pull request #28 from ZoiteChat/upcoming-version-bump deepend-tildeclub 2026-01-17 15:01:33 -07:00
  • 437e8fc3d1 Merge pull request #27 from ZoiteChat/master deepend-tildeclub 2026-01-17 14:56:36 -07:00
  • 4c86105183 Bump version from 2.17.2 to 2.17.3 deepend-tildeclub 2026-01-17 14:55:54 -07:00
  • 87e9d93f5e Bump version from 2.17.2 to 2.17.3 deepend-tildeclub 2026-01-17 14:54:56 -07:00
  • b6fba447da Update release notes for version 2.17.3 deepend-tildeclub 2026-01-17 14:53:34 -07:00
  • 95d31bad57 Merge pull request #24 from ZoiteChat/Github-Action-Changes deepend-tildeclub 2026-01-17 13:38:19 -07:00
  • 19fbceec93 Add permissions for AppImage build workflow deepend-tildeclub 2026-01-16 23:45:13 -07:00
  • 4c13b96bd9 Merge pull request #26 from ZoiteChat/win-emoji-fix deepend-tildeclub 2026-01-16 23:40:43 -07:00
  • 113c026ffa Merge pull request #20 from ZoiteChat/theme-integration-in-preferences deepend-tildeclub 2026-01-16 23:40:29 -07:00
  • e985506737 fix windows color emojis deepend 2026-01-16 23:18:12 -07:00
  • d858b12d8e Merge pull request #25 from ZoiteChat/merge-with-theme-update deepend-tildeclub 2026-01-16 23:10:14 -07:00
  • e97937f82c Merge branch 'theme-integration-in-preferences' into merge-with-theme-update deepend-tildeclub 2026-01-16 23:09:44 -07:00
  • 960b51933d Merge pull request #16 from ZoiteChat/emoji-menu deepend-tildeclub 2026-01-16 23:04:55 -07:00
  • ccc6580652 Enhance Flatpak build workflow with permissions and steps deepend-tildeclub 2026-01-16 22:57:03 -07:00
  • f473f3d4b9 fixes for importing themes. deepend 2026-01-16 22:42:18 -07:00
  • 2c349deee2 theme import fixes. deepend 2026-01-16 22:07:01 -07:00
  • 94e92b8edf Update Windows build workflow with permissions and attestations deepend-tildeclub 2026-01-16 21:36:10 -07:00
  • 85d0edbbed stop application from treating the theme files as server urls. deepend 2026-01-16 20:02:37 -07:00
  • b1fc133883 associated .hct and .zct files with ZoiteChat for easy Theme importation like there was in the Theme Manager that was removed. deepend 2026-01-16 19:34:18 -07:00
  • f480366c87 add button in theme preferences to open themes folder. deepend 2026-01-16 19:26:22 -07:00
  • 51bd5376aa Merge pull request #21 from ZoiteChat/master deepend-tildeclub 2026-01-16 19:09:49 -07:00
  • 44880a41f9 Remove theme-manager option from build configuration deepend-tildeclub 2026-01-16 18:57:52 -07:00
  • 1766ec558f Remove theme-manager option from build configuration deepend-tildeclub 2026-01-16 18:57:35 -07:00
  • 58073542ff Remove theme-manager option in debian-build.yml deepend-tildeclub 2026-01-16 18:57:18 -07:00
  • b7177b9fe6 Delete data/misc/net.zoite.Zoitechat.ThemeManager.xml deepend-tildeclub 2026-01-16 18:47:10 -07:00