Commit Graph

93 Commits

Author SHA1 Message Date
75d54e25e9 Made tray_menu_destroy available in GTK3 builds to avoid implicit declaration errors during tray menu cleanup callbacks. 2026-02-05 15:33:59 -07:00
930e91834f Updated the tray menu callback compilation guard so the GtkStatusIcon popup handler is built for non-AppIndicator backends, fixing the missing symbol during linking. 2026-02-05 15:24:17 -07:00
8ad1394f1a Expanded the GTK3 deprecated-status-icon prototype guard so non-AppIndicator builds can compile without implicit function errors. 2026-02-05 15:12:30 -07:00
deepend-tildeclub
a53ac4479b Modify GTK3 status icon definitions for Windows
Updated conditional compilation for GTK3 on Windows to exclude appindicator backend.
2026-02-05 14:55:37 -07:00
bd707e7514 Yes — it should fall back to the X11/StatusIcon backend, but the GTK3 code path was unconditionally including the appindicator header and selecting the appindicator backend. I updated the tray backend selection to only use appindicator when the library is available and otherwise fall back to GtkStatusIcon, which avoids the missing header error and restores the intended X11 fallback. 2026-02-05 14:17:46 -07:00
872c5d6572 Switched tray menu icon defines to use GTK3 icon names when GTK3 is enabled, avoiding deprecated GTK stock IDs on Windows builds.
Added GtkStatusIcon function prototypes for GTK3 Windows builds when deprecated APIs are hidden, preventing implicit declaration errors.
2026-02-03 12:06:04 -07:00
11b11c9166 Guarded AppIndicator includes and GTK3 tray integration so Windows builds skip libappindicator, while Windows uses the status icon tray backend instead.
Enabled Windows tray menu handling paths to match the status icon backend on WIN32, even when GTK3 is enabled.
2026-02-03 11:52:22 -07:00
d8a8e6ce73 dded GTK3 draw handling while keeping GTK2 expose handling wrapped under #if !HAVE_GTK3 for the spell entry widget.
Updated gtk_entry_find_position to use GTK3-safe layout offsets and cursor position APIs while preserving GTK2-only field access behind #if !HAVE_GTK3.
2026-01-31 16:22:35 -07:00
0a0dbd384c Added GTK3 icon theme change handling to refresh themed icons and reapply the current tray icon state after theme updates.
Disconnects the GTK3 icon theme signal during backend cleanup to avoid stale handlers.
2026-01-31 13:24:04 -07:00
5c8f50a9f5 Added GTK3 tray icon fallback caching to concrete file paths using bundled pixmaps for missing themed icons and wired the check into themed icon resolution for app indicator usage. 2026-01-31 12:12:55 -07:00
e1b4e18153 Updated the GTK3 tray icon types to use GIcon values, added themed/file icon creation helpers, and converted icons to names for AppIndicator usage while preserving GTK2 behavior unchanged.
Added GTK3 icon cache initialization/cleanup in the tray backend lifecycle to manage icon lifetimes safely.
2026-01-30 20:47:26 -07:00
01104844e8 Added a GTK3 AppIndicator tray backend with a unified tray interface while keeping the GtkStatusIcon backend for GTK2 builds.
Reworked tray menu population and tray initialization to use the backend abstraction and GTK3 menu refresh behavior.
Linked AppIndicator dependencies conditionally for GTK3 builds in Meson.
2026-01-30 20:07:36 -07:00
d1e1ef3a82 Documented the GTK3 tray backend choice and added GTK3-safe tooltip property handling with a title fallback while keeping GTK2 APIs gated behind build flags.
Guarded embedded notification handling by GTK version to avoid GTK2-only APIs on GTK3 builds.
2026-01-30 19:37:29 -07:00
907211a733 Unified tray tooltip handling so GTK3 uses the tooltip-text property while GTK2 keeps the legacy API behind guards, and wired fe_tray_set_tooltip to the shared helper.
Centralized embedded-state checks through a GTK3-safe helper in the tray notification callback, avoiding GTK2-only calls under GTK3.
2026-01-30 19:33:56 -07:00
dec2aff37d Added GTK3-specific helpers for tray tooltip updates and embedded checks with a safe fallback when the embedded property is unavailable.
Updated tooltip handling and tray restore detection to use GTK3 helpers while keeping GTK2-only APIs behind GTK2 guards.
2026-01-30 19:30:02 -07:00
4bd67e4933 Updated tray tooltip handling to use GTK3 tooltip-text property while keeping GTK2-only tooltip API calls behind #if !HAVE_GTK3.
Switched GTK3 embedded checks to use the embedded property instead of GTK2-only API calls, preserving the restore timer behavior.
2026-01-30 19:26:34 -07:00
1b23b5b7a6 Added GTK3-friendly tray icon name definitions plus explicit tray icon state tracking and helpers for GTK2/GTK3 paths.
Reworked tray flashing/custom icon logic to use the new state instead of pixbuf pointer comparisons while preserving behavior across GTK versions.
Updated tray initialization and notification callbacks to use the GTK3 icon-name API with state-aware flashing for message/highlight events.
2026-01-30 18:47:23 -07:00
b48376c370 Added per-file ICON_* macros with GTK3 icon-name mappings and GTK2 stock fallbacks across GTK UI modules like banlist, DCC, editlist, ignore, URL grabber, notify, text events, tray menu, chanview tabs, and join dialog UI.
Updated GTK helper usages to reference the new ICON_* (and label) macros so GTK3 builds no longer pass stock IDs to button/icon helpers or dialogs, including banlist buttons, DCC windows, rawlog actions, notify dialog/buttons, pevent dialog buttons, tray menu items, and join dialog image helper usage.
2026-01-30 09:23:52 -07:00
2b98ebc544 HEXCHAT -> ZOITECHAT 2026-01-25 16:13:47 -07:00
4683ef705b new name after fork 2026-01-05 23:12:38 -07:00
Manuel Schneider
ee85129a9b Deiconify window on tray click. Closes #2136 2018-03-20 11:32:02 +00:00
Patrick Griffis
e9b9ff9f38 Various fixes for mingw 2018-03-09 18:23:25 +00:00
Chase Patterson
18b741804c Use localized "HexChat" in window titles
Also allow rearranging of "HexChat" in window titles
2017-09-15 19:18:29 -04:00
Chase Patterson
d935197895 Change windows from starting with "Hexchat: " to ending with " - Hexchat" 2017-09-15 19:18:29 -04:00
Patrick Griffis
d99cd18fb9 Improve detection of system tray support
Closes #2045
2017-08-31 10:16:03 -04:00
Bilal Elmoussaoui
2965fbcc87 Support changing tray icon only with tray_normal image
Previously making a hexchat icon would override all hexchat icons
not just the tray.

Fixes #2017
Closes #2018
2017-07-01 16:26:00 -04:00
Patrick Griffis
aab881fda2 Fix strict prototype warnings 2016-02-18 08:57:22 -05:00
Arnavion
97bf0de016 Make Preferences option in plugin tray menu available on all platforms. 2015-02-27 17:33:33 -08:00
Arnavion
b6c4cfa2a3 Fixed undefined behavior causing hover highlights on the plugin tray menu not working.
Fixes #602
2015-02-27 17:24:57 -08:00
TingPing
f4f27e438b Implement windows 8.1+ notifications
This splits notifications up into multiple backends
currently only libnotify on unix and win8 toasts.

The win8 backend was originally written by @leeter
though heavily modified.
2015-02-04 20:24:53 -05:00
Campbell Barton
f83d78dd28 Warning cleanup
- ignoring const
- declarations after statements
- some C files didnt include own headers (risking them getting out of sync)

Closes #1064
2014-11-02 14:41:20 -05:00
TingPing
904493b24f Show notifications for private actions
Fixes #990
2014-05-20 22:03:45 -04:00
TingPing
b1b6255f38 Revert e64aa93f8 2014-02-05 01:27:36 -05:00
TingPing
e64aa93f85 Use persitance with libnotify
This will keep notifications in gnomes tray
similar to a tray icon.
2014-02-05 01:00:06 -05:00
TingPing
ce09cb4a91 Update most deprecated gtk functions 2014-01-18 14:47:17 -05:00
Arnavion
2bd1c3f99d Fixed whitespace. 2013-12-27 19:50:50 -08:00
Arnavion
c531db4714 fe-gtk: Fixed notification balloons for PMs not getting displayed if blinking tray icons for PMs is unchecked. 2013-12-27 19:41:18 -08:00
TingPing
ae04663aa9 First round of using GTK accessor functions
This is the first step to build with GSEAL_ENABLE
setup.c uses a deprecated fontchooser,
chanview-tabs.c didn't like the conversion, and
I am waiting to do some work on xtext.c before
converting it.
2013-09-20 17:24:39 -04:00
TingPing
f6ba274134 Add fullscreen to to view menu 2013-09-19 17:52:17 -04:00
Arnav Singh
ac5771377e fe-gtk: Only escape notification bodies for notification servers that support "body-markup". 2013-06-28 00:14:54 -07:00
Berke Viktor
712eb5428e GtkComboBoxText requires GTK+ 2.24, dump code for older versions 2013-05-11 13:06:25 +02:00
TingPing
bd73c80152 Clean up balloon formatting 2013-04-22 20:13:34 -03:00
TingPing
e67371d269 Add option for omitting alerts while focused 2013-04-13 23:03:54 -04:00
TingPing
5326f76a40 Fix tray not respecting away_omit_alerts 2013-04-12 19:59:46 -03:00
Berke Viktor
9c49254abd Only include top level includes from GTK+, GLib and GDK-PixBuf 2013-04-02 20:39:37 -07:00
Berke Viktor
5e59578e28 Remove most of HexTray and one instance
You can still build HexTray manually if you want to try fixing it
2013-04-02 11:56:08 -07:00
Berke Viktor
3c1bd3cff0 Supposed fix for license issues
I have no clue what to put here so I'll just use what the About dialog
provides (unless specified otherwise in the file)
2013-03-31 21:45:05 +02:00
TingPing
e9a3528bbd Disable tray when using Unity 2013-03-25 02:41:13 -04:00
TingPing
e5a6913f83 add notification hints for gnome 2013-02-18 00:32:59 -05:00
TingPing
3915abc91e fix path to icon for notifications 2013-02-18 00:15:47 -05:00