class com.sun.glass.ui.monocle.X
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.glass.ui.monocle.X
  super_class: java.lang.Object
{
  private static java.security.Permission permission;
    descriptor: Ljava/security/Permission;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static com.sun.glass.ui.monocle.X instance;
    descriptor: Lcom/sun/glass/ui/monocle/X;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static final long None;
    descriptor: J
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  static final int CopyFromParent;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  static final int InputOutput;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  static final long ButtonPressMask;
    descriptor: J
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  static final long ButtonReleaseMask;
    descriptor: J
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  static final long PointerMotionMask;
    descriptor: J
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 64

  static final long SubstructureRedirectMask;
    descriptor: J
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 524288

  static final long SubstructureNotifyMask;
    descriptor: J
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1048576

  static final long CWOverrideRedirect;
    descriptor: J
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 512

  static final long CWEventMask;
    descriptor: J
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 2048

  static final long CWCursorMask;
    descriptor: J
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 16384

  static final int ButtonPress;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  static final int ButtonRelease;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  static final int MotionNotify;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  static final int Button1;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  static final int Button2;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  static final int Button3;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  static final int Button4;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  static final int Button5;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  static final long _NET_WM_STATE_REMOVE;
    descriptor: J
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  static final long _NET_WM_STATE_ADD;
    descriptor: J
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  static final long _NET_WM_STATE_TOGGLE;
    descriptor: J
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  static final long GrabModeSync;
    descriptor: J
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  static final long GrabModeAsync;
    descriptor: J
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  static final long CurrentTime;
    descriptor: J
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 41
            ldc "glass_monocle_x11"
            invokestatic com.sun.glass.utils.NativeLibLoader.loadLibrary:(Ljava/lang/String;)V
         1: .line 44
            new java.lang.RuntimePermission
            dup
            ldc "loadLibrary.*"
            invokespecial java.lang.RuntimePermission.<init>:(Ljava/lang/String;)V
            putstatic com.sun.glass.ui.monocle.X.permission:Ljava/security/Permission;
         2: .line 46
            new com.sun.glass.ui.monocle.X
            dup
            invokespecial com.sun.glass.ui.monocle.X.<init>:()V
            putstatic com.sun.glass.ui.monocle.X.instance:Lcom/sun/glass/ui/monocle/X;
         3: .line 96
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static com.sun.glass.ui.monocle.X getX();
    descriptor: ()Lcom/sun/glass/ui/monocle/X;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 54
            invokestatic com.sun.glass.ui.monocle.X.checkPermissions:()V
         1: .line 55
            getstatic com.sun.glass.ui.monocle.X.instance:Lcom/sun/glass/ui/monocle/X;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void checkPermissions();
    descriptor: ()V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 59
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 0 /* security */
        start local 0 // java.lang.SecurityManager security
         1: .line 60
            aload 0 /* security */
            ifnull 3
         2: .line 61
            aload 0 /* security */
            getstatic com.sun.glass.ui.monocle.X.permission:Ljava/security/Permission;
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         3: .line 63
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            return
        end local 0 // java.lang.SecurityManager security
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            1    4     0  security  Ljava/lang/SecurityManager;

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.glass.ui.monocle.X this
         0: .line 188
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.sun.glass.ui.monocle.X this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/glass/ui/monocle/X;

  native void XInitThreads();
    descriptor: ()V
    flags: (0x0100) ACC_NATIVE

  native void XLockDisplay(long);
    descriptor: (J)V
    flags: (0x0100) ACC_NATIVE
    MethodParameters:
         Name  Flags
      display  

  native void XUnlockDisplay(long);
    descriptor: (J)V
    flags: (0x0100) ACC_NATIVE
    MethodParameters:
         Name  Flags
      display  

  native long XOpenDisplay(java.lang.String);
    descriptor: (Ljava/lang/String;)J
    flags: (0x0100) ACC_NATIVE
    MethodParameters:
             Name  Flags
      displayName  

  native long DefaultScreenOfDisplay(long);
    descriptor: (J)J
    flags: (0x0100) ACC_NATIVE
    MethodParameters:
         Name  Flags
      display  

  native long RootWindowOfScreen(long);
    descriptor: (J)J
    flags: (0x0100) ACC_NATIVE
    MethodParameters:
        Name  Flags
      screen  

  native int WidthOfScreen(long);
    descriptor: (J)I
    flags: (0x0100) ACC_NATIVE
    MethodParameters:
        Name  Flags
      screen  

  native int HeightOfScreen(long);
    descriptor: (J)I
    flags: (0x0100) ACC_NATIVE
    MethodParameters:
        Name  Flags
      screen  

  native long XCreateWindow(long, long, int, int, int, int, int, int, int, long, long, long);
    descriptor: (JJIIIIIIIJJJ)J
    flags: (0x0100) ACC_NATIVE
    MethodParameters:
             Name  Flags
      display      
      parent       
      x            
      y            
      width        
      height       
      borderWidth  
      depth        
      windowClass  
      visual       
      valueMask    
      attributes   

  native void XMapWindow(long, long);
    descriptor: (JJ)V
    flags: (0x0100) ACC_NATIVE
    MethodParameters:
         Name  Flags
      display  
      window   

  native void XStoreName(long, long, java.lang.String);
    descriptor: (JJLjava/lang/String;)V
    flags: (0x0100) ACC_NATIVE
    MethodParameters:
         Name  Flags
      display  
      window   
      name     

  native void XSync(long, boolean);
    descriptor: (JZ)V
    flags: (0x0100) ACC_NATIVE
    MethodParameters:
         Name  Flags
      display  
      flush    

  native void XGetGeometry(long, long, long[], int[], int[], int[], int[], int[], int[]);
    descriptor: (JJ[J[I[I[I[I[I[I)V
    flags: (0x0100) ACC_NATIVE
    MethodParameters:
             Name  Flags
      display      
      window       
      root         
      x            
      y            
      width        
      height       
      borderWidth  
      depth        

  native void XNextEvent(long, long);
    descriptor: (JJ)V
    flags: (0x0100) ACC_NATIVE
    MethodParameters:
         Name  Flags
      display  
      xevent   

  native long XInternAtom(long, java.lang.String, boolean);
    descriptor: (JLjava/lang/String;Z)J
    flags: (0x0100) ACC_NATIVE
    MethodParameters:
              Name  Flags
      display       
      atomName      
      onlyIfExists  

  native void XSendEvent(long, long, boolean, long, long);
    descriptor: (JJZJJ)V
    flags: (0x0100) ACC_NATIVE
    MethodParameters:
           Name  Flags
      display    
      window     
      propagate  
      mask       
      event      

  native void XGrabKeyboard(long, long, boolean, long, long, long);
    descriptor: (JJZJJJ)V
    flags: (0x0100) ACC_NATIVE
    MethodParameters:
              Name  Flags
      display       
      window        
      ownerEvents   
      pointerMode   
      keyboardMode  
      time          

  native void XWarpPointer(long, long, long, int, int, int, int, int, int);
    descriptor: (JJJIIIIII)V
    flags: (0x0100) ACC_NATIVE
    MethodParameters:
            Name  Flags
      display     
      src_window  
      dst_window  
      src_x       
      src_y       
      src_width   
      src_height  
      dest_x      
      dest_y      

  native void XFlush(long);
    descriptor: (J)V
    flags: (0x0100) ACC_NATIVE
    MethodParameters:
         Name  Flags
      display  

  native void XQueryPointer(long, long, int[]);
    descriptor: (JJ[I)V
    flags: (0x0100) ACC_NATIVE
    MethodParameters:
          Name  Flags
      display   
      window    
      position  

  native long XCreateBitmapFromData(long, long, java.nio.ByteBuffer, int, int);
    descriptor: (JJLjava/nio/ByteBuffer;II)J
    flags: (0x0100) ACC_NATIVE
    MethodParameters:
          Name  Flags
      display   
      drawable  
      data      
      width     
      height    

  native long XCreatePixmapCursor(long, long, long, long, long, int, int);
    descriptor: (JJJJJII)J
    flags: (0x0100) ACC_NATIVE
    MethodParameters:
         Name  Flags
      display  
      source   
      mask     
      fg       
      bg       
      x        
      y        

  native void XFreePixmap(long, long);
    descriptor: (JJ)V
    flags: (0x0100) ACC_NATIVE
    MethodParameters:
         Name  Flags
      display  
      pixmap   

  native void XDefineCursor(long, long, long);
    descriptor: (JJJ)V
    flags: (0x0100) ACC_NATIVE
    MethodParameters:
         Name  Flags
      display  
      window   
      cursor   

  native void XUndefineCursor(long, long);
    descriptor: (JJ)V
    flags: (0x0100) ACC_NATIVE
    MethodParameters:
         Name  Flags
      display  
      window   
}
SourceFile: "X.java"
NestMembers:
  com.sun.glass.ui.monocle.X$XButtonEvent  com.sun.glass.ui.monocle.X$XClientMessageEvent  com.sun.glass.ui.monocle.X$XColor  com.sun.glass.ui.monocle.X$XDisplay  com.sun.glass.ui.monocle.X$XEvent  com.sun.glass.ui.monocle.X$XMotionEvent  com.sun.glass.ui.monocle.X$XSetWindowAttributes
InnerClasses:
  XButtonEvent = com.sun.glass.ui.monocle.X$XButtonEvent of com.sun.glass.ui.monocle.X
  XClientMessageEvent = com.sun.glass.ui.monocle.X$XClientMessageEvent of com.sun.glass.ui.monocle.X
  XColor = com.sun.glass.ui.monocle.X$XColor of com.sun.glass.ui.monocle.X
  XDisplay = com.sun.glass.ui.monocle.X$XDisplay of com.sun.glass.ui.monocle.X
  XEvent = com.sun.glass.ui.monocle.X$XEvent of com.sun.glass.ui.monocle.X
  XMotionEvent = com.sun.glass.ui.monocle.X$XMotionEvent of com.sun.glass.ui.monocle.X
  XSetWindowAttributes = com.sun.glass.ui.monocle.X$XSetWindowAttributes of com.sun.glass.ui.monocle.X