Menu

#697 Missing tray icon for 5.1.0-2891 on Linux

v5.1.0
closed-fixed
nobody
None
5
2019-01-11
2018-12-21
No

When I run davmail directly from the commandline I get the DavMail Gateway window as expected with a davmail icon in my dock.
When I unset XDG_CURRENT_DESKTOP and then run davmail I expect to get a tray icon. Now I get a black square in the tray and a Java icon in my dock.

I'm on Ubuntu 18.04 with OpenJDK 8 and openjfx.

Discussion

  • Mickael Guessant

    But the DavMail icon in your dock looks better :-)

    Anyway, that's one of the reason why I disable tray icon under Gnome by default now.
    => you need a more recent SWT library, version 4.9 is known to work, see:
    https://packages.debian.org/sid/libswt-gtk-4-java
    or
    https://github.com/mguessan/davmail/blob/master/lib/swt-4.9-gtk-linux-x86_64.jar

    Note that Debian SID has the right version.

     
    • Jon Schewe (BBN)

      Can you package the swt jar file with the distribution?

       
  • Mickael Guessant

    No, but I can make SwtGatewayTray compatible with older SWT libs, see latest trunk.

     
  • Mickael Guessant

    • status: open --> pending-fixed
     
  • Jon Schewe (BBN)

    I tried downloading the trunk build from https://github.com/mguessan/davmail and it didn't get better. The about dialog shows 5.1.0-trunk.

     
  • Mickael Guessant

    Working fine here, can you please check that you indeed have the old swt.jar ?

    =>ps should show:
    java -Xmx512M -Dsun.net.inetaddr.ttl=60 -Djdk.gtk.version=2.2 -cp /usr/share/davmail/davmail.jar:/usr/share/java/swt.jar:/usr/share/davmail/lib/* davmail.DavGateway

     
  • Jon Schewe (BBN)

    Here is what I see:

    java -Xmx512M -Dsun.net.inetaddr.ttl=60 -Djdk.gtk.version=2.2 -cp /usr/share/davmail/davmail.jar:/usr/share/davmail/lib/*:/usr/share/java/javafx-base.jar:/usr/share/java/javafx-controls.jar:/usr/share/java/javafx-fxml.jar:/usr/share/java/javafx-graphics.jar:/usr/share/java/javafx-media.jar:/usr/share/java/javafx-swing.jar:/usr/share/java/javafx-web.jar davmail.DavGateway
    

    So it seems that I don't have swt installed at all.

     

    Last edit: Jon Schewe (BBN) 2019-01-09
  • Jon Schewe (BBN)

    I installed libswt-gtk-3-java version 3.8.2 and then started davmail and I see:

    java -Xmx512M -Dsun.net.inetaddr.ttl=60 -Djdk.gtk.version=2.2 -cp /usr/share/davmail/davmail.jar:/usr/share/java/swt.jar:/usr/share/davmail/lib/* davmail.DavGateway
    
     
  • Jon Schewe (BBN)

    Found the problem, /usr/share/java/swt.jar is a symlink. Your shell script is using "-f" and should use "-e".

     
  • Jon Schewe (BBN)

    Running with XDG_CURRENT_DESKTOP set to ubuntu:GNOME prevents any tray icon.

    Fixing "-e" vs. "-f" and unsetting XDG_CURRENT_DESKTOP I get

    Exception in thread "SWT" java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons: 
            no swt-cairo-gtk-3836 in java.library.path
            no swt-cairo-gtk in java.library.path
            Can't load library: /usr/lib/jni/libswt-cairo-gtk-3836.so
            Can't load library: /usr/lib/jni/libswt-cairo-gtk.so
            Can't load library: /home/jschewe/.swt/lib/linux/x86_64/libswt-cairo-gtk-3836.so
            Can't load library: /home/jschewe/.swt/lib/linux/x86_64/libswt-cairo-gtk.so
    
            at org.eclipse.swt.internal.Library.loadLibrary(Library.java:335)
            at org.eclipse.swt.internal.Library.loadLibrary(Library.java:240)
            at org.eclipse.swt.internal.cairo.Cairo.<clinit>(Cairo.java:27)
            at org.eclipse.swt.graphics.Image.init(Image.java:1322)
            at org.eclipse.swt.graphics.Image.<init>(Image.java:629)
            at davmail.ui.tray.SwtGatewayTray.loadSwtImage(SwtGatewayTray.java:191)
            at davmail.ui.tray.SwtGatewayTray$5.run(SwtGatewayTray.java:266)
    

    I installed libswt-cairo-gtk-3-jni and ran with XDG_CURRENT_DESKTOP cleared and I get my tray notification.

     
  • Mickael Guessant

    • status: pending-fixed --> closed-fixed
     
  • Mickael Guessant

    Fix merged

     

Log in to post a comment.

MongoDB Logo MongoDB