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.
deepend2026-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.
deepend2026-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.
deepend2026-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
deepend2026-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.
deepend2026-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/
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-01-22 22:03:31 -07:00
d7d29a843f
Added a forward declaration for userlist_store_color to prevent implicit declaration errors in GTK2 builds.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-01-19 22:01:45 -07:00
5441ab1a58
Aligned ban list checkboxes in GTK3 grids to preserve GTK2-style placement using GTK3 alignment helpers.
deepend2026-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.
deepend2026-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.
deepend2026-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
deepend2026-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.
deepend2026-01-19 19:26:29 -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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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.
deepend2026-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
deepend2026-01-17 16:34:38 -07:00