{"id":4344,"date":"2020-02-18T14:30:52","date_gmt":"2020-02-18T13:30:52","guid":{"rendered":"https:\/\/blog.hani-ibrahim.de\/?page_id=4344"},"modified":"2022-03-31T16:26:27","modified_gmt":"2022-03-31T15:26:27","slug":"swing-menu-corr","status":"publish","type":"page","link":"https:\/\/blog.hani-ibrahim.de\/en\/swing-menu-corr.html","title":{"rendered":"swing-menu-corr.sh"},"content":{"rendered":"<nav class=\"tinytoc tiny_toc\">\n<ul>\n<li><a href=\"#h0\">The problem<\/a><\/li>\n<li><a href=\"#h1\">The script<\/a><\/li>\n<li><a href=\"#h2\">License<\/a><\/li>\n<li><a href=\"#h3\">Download<\/a><\/li>\n<\/ul>\n<\/nav>\n\n\r\n<body><p>Since GTK 3 has been introduced Java Swing applications have a bug in displaying their menus when using the GTK Look and Feel (LaF).<\/p>\n<p>At Linux Mint Cinnamon:<\/p>\n<ul>\n<li>No border around dropdown and context menus<\/li>\n<li>Wrong font color of <em>activated<\/em> checkbox and radiobutton menu items (the font has the same color as the background and appears invisible)<\/li>\n<li>No menu separators<\/li>\n<\/ul>\n<p>The script<span class=\"tt_tag\"> swing-menu-corr.sh<\/span> fixes this problem.<\/p>\n<p>\u00a0<\/p>\n<p>This How-To shows how to fix the problem and offers a bash script to get rid of this problem on Mint 17 and later automatically.<\/p>\n<p>The animated screenshot below shows the problem before and after the fix.<\/p>\n<div id=\"attachment_3551\" style=\"width: 412px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/blog.hani-ibrahim.de\/wp-content\/uploads\/menutest_ani.gif\" data-rel=\"lightbox-gallery-pky8MxEm\" data-rl_title=\"Men\u00fcbug in Swings GTK LaF vor und nach der Fehlerbeseitigung\" data-rl_caption=\"\" title=\"Men\u00fcbug in Swings GTK LaF vor und nach der Fehlerbeseitigung\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-3551\" class=\"size-full wp-image-3551\" src=\"https:\/\/blog.hani-ibrahim.de\/wp-content\/uploads\/menutest_ani.gif\" alt=\"Men\u00fcbug in Swings GTK LaF vor und nach der Fehlerbeseitigung\" width=\"402\" height=\"330\"><\/a><p id=\"caption-attachment-3551\" class=\"wp-caption-text\">Menu bug in Swing\u2019s GTK LaF befor and after the fix<\/p><\/div>\n<h2 id=\"h0\">The problem<\/h2>\n<p>The problem are entries in the \u201cmenus.rc\u201d files of the Mint-themes at <span class=\"codestyle\">\/usr\/share\/themes\/<code>[mint-theme]\/gtk-2.0\/style<\/code><\/span>.<\/p>\n<p>What the script does exactly and how to correct it manually is shown in the article <a href=\"https:\/\/blog.hani-ibrahim.de\/swing-menus-gtk-laf.html\">Korrekte Javas Swing Men\u00fcs im GTK LaF von Linux Mint<\/a>.<\/p>\n<h2 id=\"h1\">The script<\/h2>\n<p>The bash script <span class=\"tt_tag\">swing-menu-corr.sh<\/span> does the changes in all files automatically.<\/p>\n<div id=\"attachment_3559\" style=\"width: 668px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/blog.hani-ibrahim.de\/wp-content\/uploads\/terminal_swing-menu-corr.png\" data-rel=\"lightbox-gallery-pky8MxEm\" data-rl_title=\"Swing-menu-corr.sh-Skript\" data-rl_caption=\"\" title=\"Swing-menu-corr.sh-Skript\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-3559\" class=\"size-full wp-image-3559\" src=\"https:\/\/blog.hani-ibrahim.de\/wp-content\/uploads\/terminal_swing-menu-corr.png\" alt=\"Swing-menu-corr.sh-Skript \" width=\"658\" height=\"420\" srcset=\"https:\/\/blog.hani-ibrahim.de\/wp-content\/uploads\/terminal_swing-menu-corr.png 658w, https:\/\/blog.hani-ibrahim.de\/wp-content\/uploads\/terminal_swing-menu-corr-300x191.png 300w\" sizes=\"auto, (max-width: 658px) 100vw, 658px\"><\/a><p id=\"caption-attachment-3559\" class=\"wp-caption-text\">Swing-menu-corr.sh-script v1.0.0<\/p><\/div>\n<p>The script corrects Mint-X and Adwaita themes on Mint 17 or later.\u00a0 Linux Mint 18\u2019s Mint-Y themes are not supported. They do not show the problems in question.<\/p>\n<p>The script creates backup files of all changed files. You can undo the changes of <span class=\"tt_tag\">swing-menu-corr.sh<\/span> with the script <span class=\"tt_tag\">swing-menu-undo.sh<\/span> automatically.<\/p>\n<p>Furthermore the script checks if it runs under Linux Mint. If not, it displays a warning. But do not worry. <span class=\"tt_tag\">swing-menu-corr.sh<\/span> cannot damage your system. The \u201cundo\u201d script <span class=\"tt_tag\">swing-menu-undo.sh<\/span> can bring back the original files anyway.<\/p>\n<p><span class=\"tt_tag\">swing-menu-corr.sh<\/span> was successfully tested under Linux Mint 17.x, 18.x, 19.x, 20.x with Cinnamon desktop and should also correct problems with Mate or XFCE.<\/p>\n<h2 id=\"h2\">License<\/h2>\n<p>The script is licensed under <a href=\"https:\/\/www.gnu.org\/licenses\/gpl-3.0.en.html\" target=\"_blank\" rel=\"noopener noreferrer\">GNU Public License 3.0<\/a>.<\/p>\n<h2 id=\"h3\">Download<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3565\" src=\"https:\/\/blog.hani-ibrahim.de\/wp-content\/uploads\/logo_mint.png\" alt=\"logo_mint\" width=\"40\" height=\"36\">\u00a0 <span class=\"tt_tag\">swing-menu-corr.sh<\/span> and <span class=\"tt_tag\">swing-menu-undo<\/span> at GitHub<\/p>\n<a class=\"maxbutton-4 maxbutton maxbutton-download\" target=\"_blank\" rel=\"nofollow noopener\" href=\"https:\/\/github.com\/haniibrahim\/swing-menu-corr\/releases\"><span class=\"mb-text\">Download<\/span><\/a>\n<p>\u00a0<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3316\" src=\"https:\/\/blog.hani-ibrahim.de\/wp-content\/uploads\/logo-java_th.png\" alt=\"Logo Java\" width=\"40\" height=\"40\">Java-Test program \u201cMenutest.tar.gz\u201d<\/p>\n<p><a class=\"maxbutton-4 maxbutton maxbutton-download\" target=\"_blank\" rel=\"nofollow noopener\" href=\"https:\/\/blog.hani-ibrahim.de\/wp-content\/uploads\/Menutest.tar.gz\"><span class=\"mb-text\">Download<\/span><\/a><\/p><\/body>","protected":false},"excerpt":{"rendered":"<div class=\"shariff shariff-align-left shariff-widget-align-left\" data-services=\"facebook\" data-url=\"https:\/\/blog.hani-ibrahim.de\/en\/swing-menu-corr.html\" data-timestamp=\"1648743987\" data-backendurl=\"https:\/\/blog.hani-ibrahim.de\/en\/wp-json\/shariff\/v1\/share_counts?\"><ul class=\"shariff-buttons theme-round orientation-horizontal buttonsize-small\"><li class=\"shariff-button facebook shariff-nocustomcolor\" style=\"background-color:#4273c8;border-radius:50%\"><a href=\"https:\/\/www.facebook.com\/sharer\/sharer.php?u=https%3A%2F%2Fblog.hani-ibrahim.de%2Fen%2Fswing-menu-corr.html\" title=\"Share on Facebook\" aria-label=\"Share on Facebook\" role=\"button\" rel=\"nofollow\" class=\"shariff-link\" style=\";border-radius:50%; background-color:#3b5998; color:#fff\" target=\"_blank\"><span class=\"shariff-icon\" style=\"\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 18 32\"><path fill=\"#3b5998\" d=\"M17.1 0.2v4.7h-2.8q-1.5 0-2.1 0.6t-0.5 1.9v3.4h5.2l-0.7 5.3h-4.5v13.6h-5.5v-13.6h-4.5v-5.3h4.5v-3.9q0-3.3 1.9-5.2t5-1.8q2.6 0 4.1 0.2z\"\/><\/svg><\/span><span data-service=\"facebook\" style=\"color:#3b5998\" class=\"shariff-count shariff-hidezero\"><\/span>&nbsp;<\/a><\/li><li class=\"shariff-button twitter shariff-nocustomcolor\" style=\"background-color:#595959;border-radius:50%\"><a href=\"https:\/\/twitter.com\/share?url=https%3A%2F%2Fblog.hani-ibrahim.de%2Fen%2Fswing-menu-corr.html&text=swing-menu-corr.sh\" title=\"Share on X\" aria-label=\"Share on X\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\";border-radius:50%; background-color:#000; color:#fff\" target=\"_blank\"><span class=\"shariff-icon\" style=\"\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path fill=\"#000\" d=\"M14.258 10.152L23.176 0h-2.113l-7.747 8.813L7.133 0H0l9.352 13.328L0 23.973h2.113l8.176-9.309 6.531 9.309h7.133zm-2.895 3.293l-.949-1.328L2.875 1.56h3.246l6.086 8.523.945 1.328 7.91 11.078h-3.246zm0 0\"\/><\/svg><\/span><\/a><\/li><li class=\"shariff-button pocket shariff-nocustomcolor\" style=\"background-color:#444;border-radius:50%\"><a href=\"https:\/\/getpocket.com\/save?url=https%3A%2F%2Fblog.hani-ibrahim.de%2Fen%2Fswing-menu-corr.html&title=swing-menu-corr.sh\" title=\"Save to Pocket\" aria-label=\"Save to Pocket\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\";border-radius:50%; background-color:#ff0000; color:#fff\" target=\"_blank\"><span class=\"shariff-icon\" style=\"\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 27 28\"><path fill=\"#ff0000\" d=\"M24.5 2q1 0 1.7 0.7t0.7 1.7v8.1q0 2.8-1.1 5.3t-2.9 4.3-4.3 2.9-5.2 1.1q-2.7 0-5.2-1.1t-4.3-2.9-2.9-4.3-1.1-5.2v-8.1q0-1 0.7-1.7t1.7-0.7h22zM13.5 18.6q0.7 0 1.3-0.5l6.3-6.1q0.6-0.5 0.6-1.3 0-0.8-0.5-1.3t-1.3-0.5q-0.7 0-1.3 0.5l-5 4.8-5-4.8q-0.5-0.5-1.3-0.5-0.8 0-1.3 0.5t-0.5 1.3q0 0.8 0.6 1.3l6.3 6.1q0.5 0.5 1.3 0.5z\"\/><\/svg><\/span><\/a><\/li><li class=\"shariff-button rss shariff-nocustomcolor\" style=\"background-color:#ff8c00;border-radius:50%\"><a href=\"https:\/\/blog.hani-ibrahim.de\/en\/feed\/rss\" title=\"RSS feed\" aria-label=\"RSS feed\" role=\"button\" class=\"shariff-link\" style=\";border-radius:50%; background-color:#fe9312; color:#fff\" target=\"_blank\"><span class=\"shariff-icon\" style=\"\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 32 32\"><path fill=\"#fe9312\" d=\"M4.3 23.5c-2.3 0-4.3 1.9-4.3 4.3 0 2.3 1.9 4.2 4.3 4.2 2.4 0 4.3-1.9 4.3-4.2 0-2.3-1.9-4.3-4.3-4.3zM0 10.9v6.1c4 0 7.7 1.6 10.6 4.4 2.8 2.8 4.4 6.6 4.4 10.6h6.2c0-11.7-9.5-21.1-21.1-21.1zM0 0v6.1c14.2 0 25.8 11.6 25.8 25.9h6.2c0-17.6-14.4-32-32-32z\"\/><\/svg><\/span><\/a><\/li><li class=\"shariff-button mailto shariff-nocustomcolor\" style=\"background-color:#a8a8a8;border-radius:50%\"><a href=\"mailto:?body=https%3A%2F%2Fblog.hani-ibrahim.de%2Fen%2Fswing-menu-corr.html&subject=swing-menu-corr.sh\" title=\"Send by email\" aria-label=\"Send by email\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\";border-radius:50%; background-color:#999; color:#fff\"><span class=\"shariff-icon\" style=\"\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 32 32\"><path fill=\"#999\" d=\"M32 12.7v14.2q0 1.2-0.8 2t-2 0.9h-26.3q-1.2 0-2-0.9t-0.8-2v-14.2q0.8 0.9 1.8 1.6 6.5 4.4 8.9 6.1 1 0.8 1.6 1.2t1.7 0.9 2 0.4h0.1q0.9 0 2-0.4t1.7-0.9 1.6-1.2q3-2.2 8.9-6.1 1-0.7 1.8-1.6zM32 7.4q0 1.4-0.9 2.7t-2.2 2.2q-6.7 4.7-8.4 5.8-0.2 0.1-0.7 0.5t-1 0.7-0.9 0.6-1.1 0.5-0.9 0.2h-0.1q-0.4 0-0.9-0.2t-1.1-0.5-0.9-0.6-1-0.7-0.7-0.5q-1.6-1.1-4.7-3.2t-3.6-2.6q-1.1-0.7-2.1-2t-1-2.5q0-1.4 0.7-2.3t2.1-0.9h26.3q1.2 0 2 0.8t0.9 2z\"\/><\/svg><\/span><\/a><\/li><li class=\"shariff-button whatsapp shariff-nocustomcolor\" style=\"background-color:#5cbe4a;border-radius:50%\"><a href=\"https:\/\/api.whatsapp.com\/send?text=https%3A%2F%2Fblog.hani-ibrahim.de%2Fen%2Fswing-menu-corr.html%20swing-menu-corr.sh\" title=\"Share on Whatsapp\" aria-label=\"Share on Whatsapp\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\";border-radius:50%; background-color:#34af23; color:#fff\" target=\"_blank\"><span class=\"shariff-icon\" style=\"\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 32 32\"><path fill=\"#34af23\" d=\"M17.6 17.4q0.2 0 1.7 0.8t1.6 0.9q0 0.1 0 0.3 0 0.6-0.3 1.4-0.3 0.7-1.3 1.2t-1.8 0.5q-1 0-3.4-1.1-1.7-0.8-3-2.1t-2.6-3.3q-1.3-1.9-1.3-3.5v-0.1q0.1-1.6 1.3-2.8 0.4-0.4 0.9-0.4 0.1 0 0.3 0t0.3 0q0.3 0 0.5 0.1t0.3 0.5q0.1 0.4 0.6 1.6t0.4 1.3q0 0.4-0.6 1t-0.6 0.8q0 0.1 0.1 0.3 0.6 1.3 1.8 2.4 1 0.9 2.7 1.8 0.2 0.1 0.4 0.1 0.3 0 1-0.9t0.9-0.9zM14 26.9q2.3 0 4.3-0.9t3.6-2.4 2.4-3.6 0.9-4.3-0.9-4.3-2.4-3.6-3.6-2.4-4.3-0.9-4.3 0.9-3.6 2.4-2.4 3.6-0.9 4.3q0 3.6 2.1 6.6l-1.4 4.2 4.3-1.4q2.8 1.9 6.2 1.9zM14 2.2q2.7 0 5.2 1.1t4.3 2.9 2.9 4.3 1.1 5.2-1.1 5.2-2.9 4.3-4.3 2.9-5.2 1.1q-3.5 0-6.5-1.7l-7.4 2.4 2.4-7.2q-1.9-3.2-1.9-6.9 0-2.7 1.1-5.2t2.9-4.3 4.3-2.9 5.2-1.1z\"\/><\/svg><\/span><\/a><\/li><li class=\"shariff-button info shariff-nocustomcolor\" style=\"background-color:#eee;border-radius:50%\"><a href=\"http:\/\/ct.de\/-2467514\" title=\"More information\" aria-label=\"More information\" role=\"button\" rel=\"noopener \" class=\"shariff-link\" style=\";border-radius:50%; background-color:#fff; color:#fff\" target=\"_blank\"><span class=\"shariff-icon\" style=\"\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 11 32\"><path fill=\"#999\" d=\"M11.4 24v2.3q0 0.5-0.3 0.8t-0.8 0.4h-9.1q-0.5 0-0.8-0.4t-0.4-0.8v-2.3q0-0.5 0.4-0.8t0.8-0.4h1.1v-6.8h-1.1q-0.5 0-0.8-0.4t-0.4-0.8v-2.3q0-0.5 0.4-0.8t0.8-0.4h6.8q0.5 0 0.8 0.4t0.4 0.8v10.3h1.1q0.5 0 0.8 0.4t0.3 0.8zM9.2 3.4v3.4q0 0.5-0.4 0.8t-0.8 0.4h-4.6q-0.4 0-0.8-0.4t-0.4-0.8v-3.4q0-0.4 0.4-0.8t0.8-0.4h4.6q0.5 0 0.8 0.4t0.4 0.8z\"\/><\/svg><\/span><\/a><\/li><\/ul><\/div><p>The problem The script License Download Since GTK 3 has been introduced Java Swing applications have a bug in displaying their menus when using the [&#8230;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"ngg_post_thumbnail":0,"footnotes":""},"class_list":["post-4344","page","type-page","status-publish","hentry"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/blog.hani-ibrahim.de\/en\/wp-json\/wp\/v2\/pages\/4344","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.hani-ibrahim.de\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/blog.hani-ibrahim.de\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/blog.hani-ibrahim.de\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.hani-ibrahim.de\/en\/wp-json\/wp\/v2\/comments?post=4344"}],"version-history":[{"count":28,"href":"https:\/\/blog.hani-ibrahim.de\/en\/wp-json\/wp\/v2\/pages\/4344\/revisions"}],"predecessor-version":[{"id":5036,"href":"https:\/\/blog.hani-ibrahim.de\/en\/wp-json\/wp\/v2\/pages\/4344\/revisions\/5036"}],"wp:attachment":[{"href":"https:\/\/blog.hani-ibrahim.de\/en\/wp-json\/wp\/v2\/media?parent=4344"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}