dorkbox / SystemTray

Cross-platform SystemTray support for Swing/AWT, macOS, GtkStatusIcon, and AppIndicator on Java 8+
Other
430 stars 58 forks source link

GNOME 46 support in v4.2.1 #217

Open kryjak opened 1 month ago

kryjak commented 1 month ago

Running on Fedora 40 with version 4.2.1, I get: GNOME shell detected, but UNSUPPORTED shell version (46.3.1). Falling back to GtkStatusIcon. Please create an issue with as many details as possible.

Full log;

Gtk-Message: 22:29:34.573: Failed to load module "pk-gtk-module"
22:29:34.758 [JavaFX-Launcher] DEBUG dorkbox.systemTray.SystemTray - Version 4.2.1
22:29:34.760 [JavaFX-Launcher] DEBUG dorkbox.systemTray.SystemTray - OS: Linux
22:29:34.760 [JavaFX-Launcher] DEBUG dorkbox.systemTray.SystemTray - Arch: amd64
22:29:34.761 [JavaFX-Launcher] DEBUG dorkbox.systemTray.SystemTray - Oracle Corporation OpenJDK 64-Bit Server VM 1.8.0_312
22:29:34.761 [JavaFX-Launcher] DEBUG dorkbox.systemTray.SystemTray - JPMS enabled: false
22:29:34.761 [JavaFX-Launcher] DEBUG dorkbox.systemTray.SystemTray - Is Auto sizing tray/menu? true
22:29:34.761 [JavaFX-Launcher] DEBUG dorkbox.systemTray.SystemTray - Is JavaFX detected? false
22:29:34.761 [JavaFX-Launcher] DEBUG dorkbox.systemTray.SystemTray - Is SWT detected? false
22:29:34.818 [JavaFX-Launcher] DEBUG dorkbox.systemTray.SystemTray - Java Swing L&F: Metal
22:29:34.818 [JavaFX-Launcher] DEBUG dorkbox.systemTray.SystemTray - Auto-detecting tray type
22:29:34.818 [JavaFX-Launcher] DEBUG dorkbox.systemTray.SystemTray - Force GTK2: true
22:29:34.818 [JavaFX-Launcher] DEBUG dorkbox.systemTray.SystemTray - Prefer GTK3: true
22:29:34.873 [JavaFX-Launcher] DEBUG dorkbox.systemTray.SystemTray - Currently using the 'Gnome' desktop environment
Fedora release 40 (Forty)
NAME="Fedora Linux"
VERSION="40 (Workstation Edition)"
ID=fedora
VERSION_ID=40
VERSION_CODENAME=""
PLATFORM_ID="platform:f40"
PRETTY_NAME="Fedora Linux 40 (Workstation Edition)"
ANSI_COLOR="0;38;2;60;110;180"
LOGO=fedora-logo-icon
CPE_NAME="cpe:/o:fedoraproject:fedora:40"
DEFAULT_HOSTNAME="fedora"
HOME_URL="https://fedoraproject.org/"
DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f40/system-administrators-guide/"
SUPPORT_URL="https://ask.fedoraproject.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=40
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=40
SUPPORT_END=2025-05-13
VARIANT="Workstation Edition"
VARIANT_ID=workstation
Fedora release 40 (Forty)
Fedora release 40 (Forty)
cpe:/o:fedoraproject:fedora:40

22:29:34.873 [JavaFX-Launcher] DEBUG dorkbox.systemTray.SystemTray - Currently using the 'gnome' session type
22:29:34.917 [JavaFX-Launcher] DEBUG dorkbox.systemTray.SystemTray - Gnome Version: 46.3.1
22:29:34.918 [JavaFX-Launcher] ERROR dorkbox.systemTray.SystemTray - GNOME shell detected, but UNSUPPORTED shell version (46.3.1). Falling back to GtkStatusIcon. Please create an issue with as many details as possible.
22:29:34.918 [JavaFX-Launcher] DEBUG dorkbox.systemTray.SystemTray - Preferring GTK2 because this OS has weird graphical issues with GTK3 status icons
22:29:35.018 [JavaFX-Launcher] DEBUG dorkbox.jna.linux.GtkLoader - GTK: gtk-x11-2.0
22:29:35.120 [JavaFX-Launcher] DEBUG dorkbox.systemTray.SystemTray - GTK Version: 2.24.33
22:29:35.121 [JavaFX-Launcher] DEBUG dorkbox.systemTray.SystemTray - Is the system already running GTK? true
22:29:35.204 [JavaFX-Launcher] WARN dorkbox.jna.linux.GtkTheme - Unable to get tray image size. Using fallback: 24
22:29:35.225 [JavaFX-Launcher] DEBUG dorkbox.systemTray.SystemTray - Tray indicator image size: 24
22:29:35.225 [JavaFX-Launcher] DEBUG dorkbox.systemTray.SystemTray - Tray menu image size: 16
22:29:35.257 [JavaFX-Launcher] DEBUG dorkbox.systemTray.SystemTray - Using Fake CheckMark: false
22:29:35.369 [JavaFX-Launcher] INFO dorkbox.systemTray.SystemTray - Successfully loaded type: _GtkStatusIconNativeTray
22:29:35.371 [JavaFX-Launcher] WARN dorkbox.systemTray.SystemTray - Please disable tooltips, as they are not consistent across all platforms and tray types.
22:29:35.372 [JavaFX-Launcher] DEBUG dorkbox.systemTray.SystemTray - Resizing image to 24 : jar:file:/opt/PodpisGOV/PodpisGOV!/images/pk_64x64.png
22:29:35.476 [JavaFX Application Thread] INFO pl.gov.coi.signer.Main - Ilość monitorów: 1
22:29:35.479 [JavaFX Application Thread] INFO pl.gov.coi.signer.Main - [OS]: LINUX, Linux, 6.9.12-200.fc40.x86_64, amd64       [Java Arch]: AMD64, BELSOFT
SDE-Manvendra commented 1 month ago

Facing smiliar issue when executing a JAR file. It works when we run application using maven clean install spring-boot:run. Once we create the jar and then try to execute it using java -jar abc.jar, facing similar issue.

Java version is openjdk version "17.0.12" 2024-07-16 Ubuntu 22.04.4 LTS 64-bit, GNOM Version 42.9, Windowing System X11

Below is the stack trace

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::                (v2.6.7)

2024-08-05 14:41:22.252  INFO 26831 --- [           main] c.w.t.t.ApplicationLauncher  : Starting ApplicationLauncher v1.0-SNAPSHOT using Java 17.0.12 on manvendra-ubuntu with PID 26831 (/home/dev/tracker/time-tracker.jar started by dev in /home/dev/tracker)
2024-08-05 14:41:22.258 DEBUG 26831 --- [           main] c.w.t.t.ApplicationLauncher  : Running with Spring Boot v2.6.7, Spring v5.3.19
2024-08-05 14:41:22.262  INFO 26831 --- [           main] c.w.t.t.ApplicationLauncher  : The following 1 profile is active: "dev"
Gtk-Message: 14:41:23.264: Failed to load module "canberra-gtk-module"
2024-08-05 14:41:23.538  INFO 26831 --- [           main] c.w.t.t.ApplicationLauncher  : Started ApplicationLauncher in 2.039 seconds (JVM running for 2.72)
2024-08-05 14:41:23.588  WARN 26831 --- [JavaFX-Launcher] javafx                                   : Unsupported JavaFX configuration: classes were loaded from 'unnamed module @66048bfd'
2024-08-05 14:41:23.679 DEBUG 26831 --- [       Thread-1] c.w.t.t.services.OfflineService          : Internet connection is available.
WARNING: Using GTK 2 library because GTK 3 cannot be loaded 
WARNING: The JavaFX GTK 2 library is deprecated and will be removed in a future release
2024-08-05 14:41:25.748 ERROR 26831 --- [lication Thread] c.w.t.t.HelloApplication     : Error javafx.scene.web.DirectoryLock$DirectoryAlreadyInUseException: /home/dev/.com.w.t.t.HelloApplication/webview
2024-08-05 14:41:26.119 ERROR 26831 --- [lication Thread] dorkbox.systemTray.SystemTray            : GNOME shell detected, but UNKNOWN type. This should never happen. Falling back to GtkStatusIcon. Please create an issue with as many details as possible.

(java:26831): GLib-GObject-WARNING **: 14:41:26.258: cannot register existing type 'GdkDisplayManager'

(java:26831): GLib-CRITICAL **: 14:41:26.258: g_once_init_leave: assertion 'result != 0' failed

(java:26831): GLib-GObject-CRITICAL **: 14:41:26.258: g_object_new_with_properties: assertion 'G_TYPE_IS_OBJECT (object_type)' failed
SDE-Manvendra commented 1 month ago

@kryjak @dorkbox FYI - The workaround is to put System.setProperty("jdk.gtk.version", "3"); in your main method and it works for me.