Commit Graph

3760 Commits

Author SHA1 Message Date
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.
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.
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.
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
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.
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.
- Converted palette colors and background pixmaps into cairo-ready values/surfaces for rendering (including background tiling and separator colors).
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.
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
5ea424d0e8 start of ciaro implementation. 2026-01-17 16:08:00 -07:00
deepend-tildeclub
8df91eb382 Fix XML structure in appdata file
Fix XML structure by closing the 'component' tag and removing an extra closing 'releases' tag.
zoitechat-2.17.3
2026-01-17 15:14:30 -07:00
deepend-tildeclub
40ed3bc0bc Merge pull request #28 from ZoiteChat/upcoming-version-bump
Upcoming version bump
2026-01-17 15:01:33 -07:00
deepend-tildeclub
437e8fc3d1 Merge pull request #27 from ZoiteChat/master
sync with master
2026-01-17 14:56:36 -07:00
deepend-tildeclub
4c86105183 Bump version from 2.17.2 to 2.17.3 2026-01-17 14:55:54 -07:00
deepend-tildeclub
87e9d93f5e Bump version from 2.17.2 to 2.17.3 2026-01-17 14:54:56 -07:00
deepend-tildeclub
b6fba447da Update release notes for version 2.17.3
Added details for version 2.17.3 release including fixes and features.
2026-01-17 14:53:34 -07:00
deepend-tildeclub
95d31bad57 Merge pull request #24 from ZoiteChat/Github-Action-Changes
Update Windows build workflow with permissions and attestations
2026-01-17 13:38:19 -07:00
deepend-tildeclub
19fbceec93 Add permissions for AppImage build workflow 2026-01-16 23:45:13 -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
deepend-tildeclub
113c026ffa Merge pull request #20 from ZoiteChat/theme-integration-in-preferences
Theme integration in preferences
2026-01-16 23:40:29 -07:00
e985506737 fix windows color emojis 2026-01-16 23:18:12 -07:00
deepend-tildeclub
d858b12d8e Merge pull request #25 from ZoiteChat/merge-with-theme-update
sync with master
2026-01-16 23:10:14 -07:00
deepend-tildeclub
e97937f82c Merge branch 'theme-integration-in-preferences' into merge-with-theme-update 2026-01-16 23:09:44 -07:00
deepend-tildeclub
960b51933d Merge pull request #16 from ZoiteChat/emoji-menu
Update maingui.c
2026-01-16 23:04:55 -07:00
deepend-tildeclub
ccc6580652 Enhance Flatpak build workflow with permissions and steps
Added permissions for contents, id-token, attestations, and artifact-metadata. Included steps for uploading and attesting the Flatpak bundle.
2026-01-16 22:57:03 -07:00
f473f3d4b9 fixes for importing themes. 2026-01-16 22:42:18 -07:00
2c349deee2 theme import fixes. 2026-01-16 22:07:01 -07:00
deepend-tildeclub
94e92b8edf Update Windows build workflow with permissions and attestations
Added permissions for artifact handling and attestation.
2026-01-16 21:36:10 -07:00
85d0edbbed stop application from treating the theme files as server urls. 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. 2026-01-16 19:34:18 -07:00
f480366c87 add button in theme preferences to open themes folder. 2026-01-16 19:26:22 -07:00
deepend-tildeclub
51bd5376aa Merge pull request #21 from ZoiteChat/master
sync branch to master
2026-01-16 19:09:49 -07:00
deepend-tildeclub
44880a41f9 Remove theme-manager option from build configuration
Removed theme-manager option from meson setup.
2026-01-16 18:57:52 -07:00
deepend-tildeclub
1766ec558f Remove theme-manager option from build configuration
Removed theme-manager option from Meson setup.
2026-01-16 18:57:35 -07:00
deepend-tildeclub
58073542ff Remove theme-manager option in debian-build.yml
Remove theme-manager option from Meson setup.
2026-01-16 18:57:18 -07:00
deepend-tildeclub
b7177b9fe6 Delete data/misc/net.zoite.Zoitechat.ThemeManager.xml 2026-01-16 18:47:10 -07:00
deepend-tildeclub
c7dd1d6eef Delete data/misc/net.zoite.Zoitechat.ThemeManager.desktop.in 2026-01-16 18:47:01 -07:00
19d47c1d13 associate .hct and .zct files with ZoiteChat for theme importing. 2026-01-16 18:31:13 -07:00
deepend-tildeclub
e5e22fc103 removed mention of thememan.exe 2026-01-16 18:16:22 -07:00
deepend-tildeclub
84f62080c4 fixed removal of theme manager 2026-01-16 18:12:05 -07:00
deepend-tildeclub
2f30c86be8 Update print statement from 'Hello' to 'Goodbye' 2026-01-16 18:07:38 -07:00
46da9fe581 remove theme manager in favor of theme selector in preferences. 2026-01-16 17:54:40 -07:00
deepend-tildeclub
33efa85ac9 fix theme option in preferences 2026-01-16 17:52:57 -07:00
deepend-tildeclub
724f71b650 integrate a theme manager into preferences.
Fix missing newline at end of file in setup.c
2026-01-16 16:29:12 -07:00
deepend-tildeclub
93cd47de5c Merge pull request #15 from ZoiteChat/Fix-channel-config-line-endings
Refactor newline handling in servlist.c
2026-01-16 15:59:55 -07:00