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.

Menübug in Swings GTK LaF vor und nach der Fehlerbeseitigung

Menübug in Swings GTK LaF vor und nach der Fehlerbeseitigung mit swing-menu-corr

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.

Swing-menu-corr.sh-Skript

swing-menu-corr.sh-Skript v1.0.0

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

logo_mint  swing-menu-corr.sh und swing-menu-undo bei GitHub

Download

 

Logo JavaJava-Test Programm „Menutest.tar.gz“

Download