< prev index next >

src/java.desktop/unix/classes/sun/awt/X11/XTaskbarPeer.java

Print this page

        

@@ -30,18 +30,27 @@
 import java.awt.peer.TaskbarPeer;
 import java.awt.event.ActionEvent;
 
 import sun.awt.UNIXToolkit;
 import java.security.AccessController;
+import java.security.PrivilegedAction;
 import sun.security.action.GetPropertyAction;
 
 final class XTaskbarPeer implements TaskbarPeer {
 
     private static boolean nativeLibraryLoaded = false;
     private static boolean initExecuted = false;
 
     private PopupMenu menu = null;
+    private static boolean isUnity;
+
+    static {
+        String de = AccessController.doPrivileged(
+                        (PrivilegedAction<String>) ()
+                                -> System.getenv("XDG_CURRENT_DESKTOP"));
+        isUnity = de != null && de.equals("Unity");
+    }
 
     private static void initWithLock() {
         XToolkit.awtLock();
         try {
             if (!initExecuted) {

@@ -66,10 +75,13 @@
     XTaskbarPeer() {
         initWithLock();
     }
 
     static boolean isTaskbarSupported() {
+        if (!isUnity) {
+            return false;
+        }
         initWithLock();
         return nativeLibraryLoaded;
     }
 
     @Override
< prev index next >