JFritz 0.7.0: System-Tray unter Linux

alpha1974

Neuer User
Mitglied seit
5 Sep 2006
Beiträge
185
Punkte für Reaktionen
0
Punkte
0
Bei mir gibt es unter Linux (mit SUN-JRE 1.6) folgendes Problem mit der neuen Version: Wenn man das Programm-Fenster minimiert, wird es beim Klick auf das Tray-Icon nicht mehr angezeigt (auch nicht nach mehrmaligem Klicken oder Doppelklick). JFritz 0.7.0 ist daher für mich derzeit nur nutzbar mit der Option -n.

Ich habe irgendwo gelesen, dass es Probleme zwischen jdic und Java 6 (Sun-JRE 1.6) gibt. Dazu würde passen, dass ich mit der Vorgängerversion und JRE 1.6. ein ähnliches Problem hatte, das auch im Bugtracker beschrieben ist:
http://sourceforge.net/tracker/index.php?func=detail&aid=1849938&group_id=138196&atid=741413
Bei der Vorgängerversion konnte man das dort beschriebene Problem lösen, indem man JFritz mit einer Java-VM <= 1.5 startete. Dies geht ja nun bei JFritz 0.7.0 nicht mehr.

Hier läuft ein leicht individualisiertes Gentoo-Linux (Kernel 2.6.24-rc6, Gnome 2.20.1, Sun-JRE 1.6). Es ist ein AMD64-System, wobei ich die Dateien libjaydic.so und libtray.so durch 64Bit-Versionen ersetzt habe. Die ansonsten auftretende Fehlermeldung beim Programmstart wird nicht angezeigt. Das Tray-Icon samt (einwandfrei funktionierendem) Kontext-Menü ist auch vorhanden. Nach dem Minimieren meldet JFritz Im Debug-Modus beim Klick auf das Tray-Icon nur noch:
Code:
(14:49:33) DEBUG: Hide JFritz-Window
(14:49:33) DEBUG: 0

Gruß
alpha1974
 
Diese Funktion habe ich heute überarbeitet. Ich schicke dir gleich mal die aktuelle Version per PN zu, kannst du es dann möglichst schnell testen und mir bescheid geben?

JFritz müsste dann auch wieder mit Java 1.5 laufen.

Gruß,
Robert
 
Die aktuelle Version startet unter JRE 1.5 und das Programmfenster öffnet sich, bleibt aber auf meinem System vollkommen leer (es wird nur der Fensterrahmen angezeigt, kein Menü, kein Inhalt). Auch das Einstellungsfenster aus dem Kontextmenü des Tray-Icons ist leer. Wahrscheinlich hängt das damit zusammen:

Code:
(18:24:47) DEBUG: loading the client settings xml file: /opt/jfritz/jfritz.clientsettings.xml
(18:24:47) DEBUG: Changing look and feel to: com.sun.java.swing.plaf.gtk.GTKLookAndFeel
/usr/share/themes/Clearlooks/gtk-2.0/gtkrc:42: error: lexical error or unexpected token, expected valid token

Wenn ich die aktuelle Version von JFritz mit JRE 1.6. starte, sieht die entsprechende Debug-Meldung so aus:
Code:
(18:33:38) DEBUG: loading the client settings xml file: /opt/jfritz/jfritz.clientsettings.xml
(18:33:38) DEBUG: Changing look and feel to: com.sun.java.swing.plaf.gtk.GTKLookAndFeel

Die gute Nachricht: Man kann mit JRE 1.5 das (leere) Programmfenster wieder über das Tray-Icon maximieren. Wenn jetzt noch Fensterinhalte angezeigt würden, wäre alles in Ordnung :)

Unter Java 1.6 hat sich das Fehlverhalten des Tray-Icons (Maximieren des minimierten Fensters nicht möglich) auch mit der neuen Version nicht geändert.

Nachtrag: Ich habe das Problem mit den leeren Fenstern eingegrenzt. Anscheinend gibt es ein Problem mit dem Window-Manager Compiz. Unter Metacity werden die Fensterinhalte angezeigt, wenn man JFritz mit JRE 1.5 startet... Gibt es keine Möglichkeit, JFritz so anzupassen, dass sich das Programmfenster auch unter JRE 1.6 / Java 6 über das Tray-Icon wiederherstellen lässt?
 
Zuletzt bearbeitet:
Beim weiteren Herumprobieren ist mir noch aufgefallen, dass sich das minimierte Programmfenster auch unter Java 6 als 32Bit-Emul-Version nicht öffnen lässt und der Fehler offenbar auch nicht mit Compiz zusammenhängt.
 
Auch wenn das hier schon älter ist, ich bin über die Suche hier her gekommen und hatte den selben Fehler. Das ist ein dirty workaround für den Gnome TrayIcon bug. Btw. mit der jre 1.6.0_10 geht das TrayIcon auch mit Compiz.

PHP:
private void miniIt() {
        if (guiFrame.isVisible()) {
            guiFrame.setVisible(false);
        } else {
            //Gnome TrayIcon minimize bug workaround
            guiFrame.setState(JFrame.NORMAL);
            guiFrame.setVisible(true);
            guiFrame.setState(JFrame.ICONIFIED);
            guiFrame.setVisible(false);
            guiFrame.setState(JFrame.NORMAL);
            guiFrame.setVisible(true);
        }
    }

mfg DwD von jDownloader.org
Den kompletten Sourcecode meines TrayIcons findet man hier:
https://www.syncom.org/svn/jdownloader/trunk/src/jd/plugins/optional/JDLightTray.java
 
Zuletzt bearbeitet:
Kostenlos!

Statistik des Forums

Themen
248,928
Beiträge
2,305,530
Mitglieder
378,653
Neuestes Mitglied
M.CH.