Commit Graph

172 Commits

Author SHA1 Message Date
d330d6d537 Updated emoji font fallback/primary application to use GTK3 style context fonts with gtk_widget_override_font, while keeping GTK2 style/modify calls behind #if !HAVE_GTK3.
Applied GTK3 font overrides for the user list font setting in setup_apply_to_sess, with GTK2 fallback preserved under #if !HAVE_GTK3
2026-01-30 17:28:09 -07:00
7b3a9dd30f Mirrored GTK2 padding and alignment intent for the quit dialog checkbox and label in GTK3, including explicit expand/align settings and left-aligned text handling.
Wrapped GTK3 chanview attachment logic in braces for the POS_HIDDEN branch to keep conditional behavior correct.
2026-01-30 16:14:35 -07:00
1f7ed3f1cb Added GTK3 expand/alignment setup before attaching widgets in banlist, chanlist, DCC, and main window layouts to mirror legacy table options.
Introduced a servlist table-attach helper and applied it across servlist UI attachments to keep GTK_FILL/GTK_EXPAND confined to GTK2-only paths while setting GTK3 alignment/margins explicitly.
2026-01-30 16:04:50 -07:00
7d83394e35 Updated GTK3 dialog/button creation in gtkutil.c to use label strings with GTK2 stock fallbacks for file and input dialogs.
Added GTK3 icon-name macros and applied them to tab menu/search button icon usage in maingui.c, keeping GTK2 stock fallbacks intact.
Introduced GTK3 icon-name helpers and macro splits for server list buttons/connect controls in servlistgui.c.
Tightened GTK2/GTK3 icon macro separation in sexy-spell-entry.c.
2026-01-30 15:27:01 -07:00
7c2b94eee8 Split GTK3 icon creation and GTK2 stock usage into explicit conditional blocks for the quit dialog warning image and buttons, keeping GTK2-only calls contained under #if !HAVE_GTK3.
Applied the same explicit GTK3/GTK2 split for search bar close/previous/next button images to isolate GTK2 stock usage.
2026-01-30 08:52:42 -07:00
d5a8479294 Added GTK3 icon-name variants for the quit confirmation warning and action buttons while keeping GTK2 stock icon usage under #if !HAVE_GTK3.
Updated search UI button icons to use GTK3 icon names with GTK2 stock fallbacks.
2026-01-30 08:47:31 -07:00
deepend-tildeclub
f3855583dd Merge pull request #41 from ZoiteChat/master
HEXCHAT -> ZOITECHAT
2026-01-25 16:15:37 -07:00
2b98ebc544 HEXCHAT -> ZOITECHAT 2026-01-25 16:13:47 -07:00
94789a9100 Added gtkutil_apply_palette declaration and implementation to apply palette colors/fonts via GTK3 CSS providers with GTK2 fallbacks preserved.
Switched channel tree and theme application logic to use the new palette helper.
Updated entry and user list styling to route palette/font application through the helper.
2026-01-25 11:30:21 -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/
2026-01-23 21:28:32 -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.
2026-01-23 20:34:48 -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
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.
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.
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.
2026-01-23 12:57: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.
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. 2026-01-19 22:17:57 -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.
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
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.
2026-01-19 19:26:29 -07:00
8c3986ffe0 fix auto dark/light mode on windows. 2026-01-18 10:46:41 -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.
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
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.
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.
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.
-Replaced GtkStyle application in the channel tree view with explicit base/text/font modifications to avoid style attach/detach issues on teardown.

-Updated user list styling to apply the font directly instead of setting a shared GtkStyle instance.

-Switched color button updates to use background modifications instead of creating per-button styles, reducing detach warnings on shutdown.
2026-01-17 18:31:04 -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.
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.
Added cairo surface tracking and context creation helpers for xtext rendering, including state initialization for the new draw surface field.

Replaced GdkPixmap-based offscreen text buffering with cairo surfaces and routed rendering/underline/strikethrough operations through the cairo context helper.
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.
Replaced GDK source helpers in the text rendering pipeline with Cairo surface/color helpers for lines, backgrounds, and blits.

Updated render sizing to use window dimensions and switched window copy paths to Cairo surfaces.
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 2026-01-17 16:34:38 -07:00
136e63a6cd ciaro fixes 2026-01-17 16:19:56 -07:00
deepend-tildeclub
4c13b96bd9 Merge pull request #26 from ZoiteChat/win-emoji-fix
fix windows color emojis
2026-01-16 23:40:43 -07:00
e985506737 fix windows color emojis 2026-01-16 23:18:12 -07:00
deepend-tildeclub
e97937f82c Merge branch 'theme-integration-in-preferences' into merge-with-theme-update 2026-01-16 23:09:44 -07:00
2c349deee2 theme import fixes. 2026-01-16 22:07:01 -07:00
deepend-tildeclub
44f6fc357e Refactor emoji widget application to use child handling 2026-01-15 20:21:30 -07:00
deepend-tildeclub
20dca7dc2f Enhance emoji widget handling in menu items 2026-01-15 20:10:58 -07:00
deepend-tildeclub
81b2325aa1 Refactor emoji font handling in mg_update_xtext
Removed the emoji fallback font function and related code.
2026-01-15 19:58:12 -07:00
deepend-tildeclub
fa1912bb5d Update maingui.c 2026-01-15 18:35:27 -07:00
3ffa020c2c Fixed auto replace. Now will handle auto replace no matter where or how the text is put in. 2026-01-13 14:16:40 -07:00
c1cbe14871 dark mode 2026-01-11 12:02:58 -07:00
4683ef705b new name after fork 2026-01-05 23:12:38 -07:00
konsolebox
67b25fddf1 Add option to exclude nickname in window title (#2759) 2023-01-24 17:03:53 -06:00
Nolan Lum
9039a5d75b Add -NOOVERRIDE flag to GUI COLOR. (#2644) 2021-10-14 09:44:11 -05:00
Sadie Powell
55e4f1c42e Implement support for strikethrough text.
https://defs.ircdocs.horse/info/formatting.html
2021-06-20 10:39:39 -05:00
BakasuraRCE
da26097aab notification: Implement notification option for channels 2021-05-23 21:17:07 -05:00
delthas
5d5838e712 win32: Replace include of winuser.h with windows.h
winuser.h should never be included directly. windows.h should be included instead.

This fixes a critical build issue added in c5d47fc which makes all MinGW builds fail.

See #2403.
2020-04-19 03:02:29 -07:00
Zach Bacon
d9809f2787 Add missing winuser.h include for mingw (#2403)
Without the include gcc will complain about WM_TIMECHANGE as undeclared.
2019-12-16 00:42:31 -08:00
Patrick Griffis
dc483b2342 Remove shift+click to close tab binding
It is an odd binding that conflicts with typical behavior
where shift click selects multiple items and there is
already the middle click shortcut to close tabs quickly.

Closes #918
2018-03-16 20:33:52 -04:00
Mark Jansen
9b8a7eaa01 win32: Respond to WM_TIMECHANGE by updating the CRT timezone info
Closes #2090
Fixes #1851
2018-03-09 13:24:08 -05:00