swing-menu-corr.sh
Seit Einführung von GTK 3 in den gängigen GNU/Linux Distributionen, zeigen Javas Swing Anwendungen, die im GTK Look and Feel (LaF) laufen, bei der Darstellung in den Menüs Fehler.
Bei Linux Mint Cinnamon:
- Keinen Rahmen um die Dropdown- und Kontextmenüs
- Falsche Schriftfarbe bei aktiven Checkbox- und Radiobutton-Menüeinträgen (Schrift hat die Hintergrundfarbe und ist nicht sichtbar)
- Keine Menü-Separatoren
Das Skript swing-menu-corr.sh beseitigt das Problem.
Die unten dargestellte Screenshot-Animation zeigt das Problem an einem Beispielprogramm vor der Fehlerbeseitigung und die korrigierte Darstellung nach Anwendung des Skripts.
Das Problem
Das Problem sind Einstellungen in den „menus.rc“ Dateien der einzelnen Mint-Themes unter /usr/share/themes/[mint-theme]/gtk-2.0/style
.
Was das Skript genau macht, wird in dem Artikel Korrekte Javas Swing Menüs im GTK LaF von Linux Mint beschrieben.
Das Skript
Das Bash-Skript swing-menu-corr.sh ändert die Einträge in Linux Mints Themes automatisch.
Das Skript korrigiert die Mint-X und Adwaita-Themes von Mint 17 oder höher. Mint-Y-Themes werden nicht unterstützt. Diese zeigen die o.g. Fehler auch nicht.
Das Skript legt Sicherheitskopien der Originaldateien an, die wiederum mit meinem Skript „swing-menu-undo.sh“ zurück gespielt werden können, um den Ausgangszustand wieder herzustellen.
Das Skript überprüft, ob es unter Linux Mint 17 oder höher läuft und gibt ggf. eine Warnmeldung aus. Kaputtmachen kann das Skript nichts, da man zur Not den Originalzustand der Konfigurationsdateien mit dem „Undo“-Skript wieder herstellen kann.
swing-menu-corr.sh wurde erfolgreich unter Linux Mint 17.x, 18.x, 19.x, 20.x mit Cinnamon getestet und sollte auch mit Mate oder XFCE einwandfrei funktionieren.
Lizenz
Das Skript ist unter der GNU Public License 3.0 lizenziert.
Download
swing-menu-corr.sh und swing-menu-undo bei GitHub
Download
Java-Test Programm „Menutest.tar.gz“
Download