Commit Graph

  • 1475d02be0 Merge pull request #39 from ZoiteChat/master deepend-tildeclub 2026-01-25 11:16:51 -07:00
  • a40f53a1f3 Add 'standard-replies' to inbound.c deepend-tildeclub 2026-01-25 11:09:31 -07:00
  • 08d357dc98 Added explicit GTK3-only branches in gtk_xtext_unrealize() so gtk_widget_get_window() is used without GTK2 struct access leaking into the GTK3 path. Split the GTK3 and GTK2 initialization paths in gtk_xtext_realize() so the GTK3 branch uses gtk_widget_get_allocation()/gtk_widget_get_parent_window() and the GTK2 branch keeps the direct struct access under #if !HAVE_GTK3. deepend 2026-01-23 22:08:17 -07:00
  • 0df299acf5 Updated gtk_xtext_unrealize() to use GTK3 accessors (gtk_widget_get_window(), gtk_widget_set_window(), and gtk_widget_set_realized()) while keeping the GTK2 struct access in the #if !HAVE_GTK3 branch. Consolidated the GTK3 vs GTK2 branching in gtk_xtext_realize() so GTK3 uses gtk_widget_get_allocation(), gtk_widget_get_parent_window(), and gtk_widget_set_window(), with the existing GTK2 direct struct access preserved under #if !HAVE_GTK3. deepend 2026-01-23 22:00:36 -07:00
  • 00eb2de4c8 Split the GTK3 and GTK2 branches in gtk_xtext_unrealize() so GTK3 uses gtk_widget_get_window() while the GTK2 path remains under #if !HAVE_GTK3 with direct struct access. Split the GTK3 and GTK2 branches in gtk_xtext_realize() so GTK3 uses gtk_widget_get_allocation(), gtk_widget_get_parent_window(), and gtk_widget_set_window(), while keeping the existing GTK2 struct access under #if !HAVE_GTK3. deepend 2026-01-23 21:55:46 -07:00
  • f65f350965 Moved gtk_widget_set_realized() into the GTK3 branch and used GTK_WIDGET_SET_FLAGS(widget, GTK_REALIZED) for GTK2, keeping allocation/parent-window access split by #if HAVE_GTK3 deepend 2026-01-23 21:52:40 -07:00
  • 1d32aed8dc Added a GTK3-specific branch in gtk_xtext_unrealize() that clears user data via gtk_widget_get_window() while preserving the GTK2 struct access under #if !HAVE_GTK3. Updated gtk_xtext_realize() to use gtk_widget_get_allocation(), gtk_widget_get_parent_window(), and gtk_widget_set_window() on GTK3, and routed all subsequent window usage through the local window variable instead of direct struct access; the GTK2 path remains intact under #if !HAVE_GTK3. Adjusted gtk_xtext_clear_background() to use gtk_widget_get_window() on GTK3 rather than widget->window. deepend 2026-01-23 21:40:22 -07:00
  • ab3bdf219f Added #if HAVE_GTK3 / #elif !HAVE_GTK3 branches around gtk_hbox_new / gtk_vbox_new call sites in the GTK front-end, using gtk_box_new(GTK_ORIENTATION_*, spacing) for GTK3 while keeping the GTK2 constructors explicitly gated under !HAVE_GTK3. Applied gtk_box_set_homogeneous() in GTK3 branches where the GTK2 code requested homogeneous layout (e.g., dialog hboxes). Updated remaining helpers and setup/preferences UI box constructors (including the shared mg_box_new helper) to follow the same GTK3/GTK2 branching approach consistently across src/fe-gtk/ deepend 2026-01-23 21:28:32 -07:00
  • 5b1a58195e Verified the requested #if HAVE_GTK3 / #if !HAVE_GTK3 alignment branches are already present across the noted src/fe-gtk/ files, then refined the GTK3 join dialog icon alignment by adding a small top margin to better approximate the legacy y = 0.06 alignment behavior. Removed a lingering commented-out gtk_misc_set_alignment call in servlistgui.c so the remaining legacy alignment calls surfaced by search are all active and guarded. deepend 2026-01-23 21:16:43 -07:00
  • 7f5d92addb Searched the requested GTK alignment usages across src/fe-gtk/ and found the #if HAVE_GTK3 branches were already in place for the gtk_misc_set_alignment() call sites; the remaining gap was an implicit #else around gtk_alignment_new() in setup_create_spin, which I made explicit as #elif !HAVE_GTK3 while keeping the GTK3 halign/valign branch intact. deepend 2026-01-23 21:09:21 -07:00
  • 7a37918ec7 Replaced #else with #elif !HAVE_GTK3 anywhere the legacy alignment calls appear, so the GTK2/legacy path is now explicitly scoped to non-GTK3 builds while preserving the existing GTK3 halign/valign behavior across the requested files (maingui.c, chanlist.c, dccgui.c, joind.c, servlistgui.c). Applied the same explicit !HAVE_GTK3 guard style in setup.c, including the gtk_alignment_* block and the padding/margin section you called out. deepend 2026-01-23 20:34:48 -07:00
  • 31e198f772 Added GTK3 halign/valign handling (and GTK3 label margins) across setup UI elements, including spin widgets, color buttons, sound labels, and page headers while keeping GTK2 fallbacks intact. Applied GTK3 alignment updates to DCC detail labels in the DCC GUI. Updated join dialog widgets to use GTK3 alignment calls for the image and labels, retaining legacy alignment for GTK2. Added GTK3 alignment handling for server list dialogs and labels in the server list UI. deepend 2026-01-23 20:18:49 -07:00
  • 366039eb2b Adjusted GTK3 menu item icon-name fallbacks for quick items and stock icon menus in the menu helpers. Updated channel list icon menu items to convert stock icon IDs to GTK3 icon names with a fallback path. Added a GTK3 icon-name fallback for spell entry menu items when building the icon/label box layout. deepend 2026-01-23 18:08:39 -07:00
  • fd83f3636d Consolidated the GTK3/GTK2 branching for icon menu items in menu_quick_item and create_icon_menu to use the GtkMenuItem + GtkBox path under GTK3 and GtkImageMenuItem under GTK2. Unified the GTK3/GTK2 icon menu item construction branches in the channel list menu helper to match the GtkBox + GtkImage + GtkLabel pattern for GTK3 while preserving GTK2 behavior. Aligned the spelling menu icon item helper with the same GTK3/GTK2 branching structure, keeping GTK2 GtkImageMenuItem intact. deepend 2026-01-23 18:01:07 -07:00
  • c2e8507402 Guarded GTK3 chanlist menu item image creation on a non-null icon name before packing into the menu item box. Updated GTK3 create_icon_menu to build menu items with explicit image/label composition using icon names or pixbufs before packing into the box. Adjusted GTK3 spell entry icon menu item to create the image only when an icon name is available. deepend 2026-01-23 17:35:01 -07:00
  • 3923bd915c Updated GTK3 menu quick items to build a GtkMenuItem with a box, icon-name image, and mnemonic label before packing into the menu item. Ensured chanlist GTK3 icon menu items always create images from icon names before packing with the mnemonic label. Adjusted spell entry GTK3 icon menu items to create icon-name images for the boxed menu item layout. deepend 2026-01-23 17:26:59 -07:00
  • d1163a4ee8 Updated create_icon_menu to build GTK3 menu items with a boxed image + mnemonic label and icon-name-based images. deepend 2026-01-23 17:17:17 -07:00
  • 5538e738a8 Expanded GTK3 icon-menu construction in menu.c to build menu items with a GtkBox, GtkImage, and mnemonic label when using icon names. Updated channel list icon menu items to build GTK3 menu items with GtkBox/GtkImage/GtkLabel while preserving GTK2 GtkImageMenuItem paths. Updated sexy spell entry icon menu items to build GTK3 menu items with GtkBox/GtkImage/GtkLabel while preserving GTK2 GtkImageMenuItem paths deepend 2026-01-23 16:00:02 -07:00
  • b0a9f34dc4 Added GTK3 icon-name menu item helper and used it when building icon-based menu items in the main menu paths, while keeping the GtkImageMenuItem fallback for GTK2 intact. Guarded GTK3 chanlist icon menu item creation to handle missing icon names safely while still creating the boxed menu layout. Applied the same GTK3 icon-name guard for the sexy-spell-entry menu items while preserving GTK2 code paths. deepend 2026-01-23 14:46:19 -07:00
  • 65ca665e25 Added a GTK3 helper to build menu items with image + mnemonic label and reused it for icon menu item creation in the main menu helpers. Added GTK3 helper builders for icon menu items in the channel list and spell entry menus, reusing them in the GTK3 branches while keeping GTK2 paths intact. deepend 2026-01-23 14:33:11 -07:00
  • 72b9560c32 Made the GTK3 vs GTK2 icon menu item paths explicit in menu_quick_item, keeping the GTK3 boxed menu item and guarding the GtkImageMenuItem path under #if !HAVE_GTK3. Updated the chanlist icon menu item to keep the GTK2 GtkImageMenuItem logic under #if !HAVE_GTK3. Updated the spelling menu icon item to keep the GTK2 GtkImageMenuItem logic under #if !HAVE_GTK3. deepend 2026-01-23 14:18:37 -07:00
  • 7694d4dd18 Restructured icon menu item creation in menu_quick_item to use explicit GTK3 GtkMenuItem + GtkBox + GtkImage/GtkLabel handling with a GTK2 GtkImageMenuItem fallback. Added GTK3 image null checks and explicit GTK3/GTK2 branching for chanlist icon menu items. Added GTK3 image null checks and explicit GTK3/GTK2 branching for sexy spell entry icon menu items. deepend 2026-01-23 14:09:50 -07:00
  • 853c16a9bc Updated create_icon_menu to build GTK3 icon menu items by packing an image and mnemonic label into a box while keeping GTK2 GtkImageMenuItem handling intact. Expanded channel list icon menu items to handle GTK3 box-based layout and GTK2 image menu items in one helper, and used that helper for the context menu entries. Unified sexy spell entry icon menu item creation across GTK versions, using stock IDs for both and centralizing the GTK3 box-based layout with GTK2 image menu items preserved. deepend 2026-01-23 13:58:53 -07:00
  • 905cc2f22e Added a GTK3 helper to build icon+label menu items for the channel list context menu entries. Added a GTK3 helper for icon-name menu items and reused it when building stock icon menu entries. Added a GTK3 helper for spelling-related menu items and reused it for add/ignore/suggestions entries. deepend 2026-01-23 13:42:11 -07:00
  • edbe5c405c Updated GTK3 menu item creation in menu_quick_item and create_icon_menu to use GtkBox with GtkImage and GtkLabel while keeping GTK2 image menu items intact. Reworked GTK3 channel list context menu items to use GtkBox-packed images and mnemonic labels, preserving GTK2 behavior under !HAVE_GTK3. Added GTK3 menu item layouts for spell entry actions and suggestion menu with icon-name images and mnemonic labels, while retaining GTK2 image menu items. deepend 2026-01-23 13:27:40 -07:00
  • 07bd2d4c13 Split GTK entry icon updates into explicit HAVE_GTK3 and !HAVE_GTK3 guards in the server list callbacks to keep GTK3 icon-name usage separate from stock icons. Applied the same explicit GTK3 vs non-GTK3 guard structure for search entry icon handling in the main GUI search flow deepend 2026-01-23 13:16:45 -07:00
  • d57f66ef75 Updated server list entry icon handling to use GTK3 icon names with stock fallbacks for GTK2. Switched main search entry error/clear icons to GTK3 icon-name API while preserving GTK2 stock icons. deepend 2026-01-23 13:09:02 -07:00
  • 19ecc6a284 Updated GTK3 entry icon handling in the server list UI to use icon names (and NULL clears) while keeping GTK2 stock calls under #if !HAVE_GTK3. Updated GTK3 entry icon handling in the main search UI to use icon names (and NULL clears) while keeping GTK2 stock calls under #if !HAVE_GTK3. deepend 2026-01-23 13:04:19 -07:00
  • 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