jdk/src/solaris/classes/sun/awt/X11/XToolkit.java
changeset 1962 6c293d33645b
parent 1190 f27065d0d9f0
child 1966 12a51fb0db0d
child 1967 a103c7d1eea6
equal deleted inserted replaced
1961:436a5a828d9f 1962:6c293d33645b
    72     XClipboard selection;
    72     XClipboard selection;
    73 
    73 
    74     // Dynamic Layout Resize client code setting
    74     // Dynamic Layout Resize client code setting
    75     protected static boolean dynamicLayoutSetting = false;
    75     protected static boolean dynamicLayoutSetting = false;
    76 
    76 
       
    77     //Is it allowed to generate events assigned to extra mouse buttons.
       
    78     //Set to true by default.
       
    79     private static boolean areExtraMouseButtonsEnabled = true;
       
    80 
    77     /**
    81     /**
    78      * True when the x settings have been loaded.
    82      * True when the x settings have been loaded.
    79      */
    83      */
    80     private boolean loadedXSettings;
    84     private boolean loadedXSettings;
    81 
    85 
   271             AwtScreenData defaultScreen = new AwtScreenData(XToolkit.getDefaultScreenData());
   275             AwtScreenData defaultScreen = new AwtScreenData(XToolkit.getDefaultScreenData());
   272             awt_defaultFg = defaultScreen.get_blackpixel();
   276             awt_defaultFg = defaultScreen.get_blackpixel();
   273 
   277 
   274             arrowCursor = XlibWrapper.XCreateFontCursor(XToolkit.getDisplay(),
   278             arrowCursor = XlibWrapper.XCreateFontCursor(XToolkit.getDisplay(),
   275                 XCursorFontConstants.XC_arrow);
   279                 XCursorFontConstants.XC_arrow);
       
   280             areExtraMouseButtonsEnabled = Boolean.parseBoolean(System.getProperty("sun.awt.enableExtraMouseButtons", "true"));
       
   281             //set system property if not yet assigned
       
   282             System.setProperty("sun.awt.enableExtraMouseButtons", ""+areExtraMouseButtonsEnabled);
   276         } finally {
   283         } finally {
   277             awtUnlock();
   284             awtUnlock();
   278         }
   285         }
   279 
   286 
   280         Runtime.getRuntime().addShutdownHook(new Thread() {
   287         Runtime.getRuntime().addShutdownHook(new Thread() {
  1381             desktopProperties.put("awt.mouse.numButtons",
  1388             desktopProperties.put("awt.mouse.numButtons",
  1382                                   Integer.valueOf(getNumMouseButtons()));
  1389                                   Integer.valueOf(getNumMouseButtons()));
  1383         }
  1390         }
  1384     }
  1391     }
  1385 
  1392 
  1386     private int getNumMouseButtons() {
  1393     public static int getNumMouseButtons() {
  1387         awtLock();
  1394         awtLock();
  1388         try {
  1395         try {
  1389             return XlibWrapper.XGetPointerMapping(XToolkit.getDisplay(), 0, 0);
  1396             return XlibWrapper.XGetPointerMapping(XToolkit.getDisplay(), 0, 0);
  1390         } finally {
  1397         } finally {
  1391             awtUnlock();
  1398             awtUnlock();
  2164     public DesktopPeer createDesktopPeer(Desktop target){
  2171     public DesktopPeer createDesktopPeer(Desktop target){
  2165         return new XDesktopPeer();
  2172         return new XDesktopPeer();
  2166     }
  2173     }
  2167 
  2174 
  2168     public static native void setNoisyXErrorHandler();
  2175     public static native void setNoisyXErrorHandler();
       
  2176 
       
  2177     public boolean areExtraMouseButtonsEnabled() throws HeadlessException {
       
  2178         return areExtraMouseButtonsEnabled;
       
  2179     }
  2169 }
  2180 }