private XplatUIX11() {
// Handle singleton stuff first
RefCount = 0;
in_doevents = false;
// Now regular initialization
XlibLock = new object ();
X11Keyboard.XlibLock = XlibLock;
MessageQueues = Hashtable.Synchronized (new Hashtable(7));
unattached_timer_list = ArrayList.Synchronized (new ArrayList (3));
messageHold = Hashtable.Synchronized (new Hashtable(3));
Clipboard = new ClipboardData ();
XInitThreads();
ErrorExceptions = false;
// X11 Initialization
SetDisplay(XOpenDisplay(IntPtr.Zero));
X11DesktopColors.Initialize();
// Disable keyboard autorepeat
try {
XkbSetDetectableAutoRepeat (DisplayHandle, true, IntPtr.Zero);
detectable_key_auto_repeat = true;
} catch {
Console.Error.WriteLine ("Could not disable keyboard auto repeat, will attempt to disable manually.");
detectable_key_auto_repeat = false;
}
// Handle any upcoming errors; we re-set it here, X11DesktopColor stuff might have stolen it (gtk does)
ErrorHandler = new XErrorHandler(HandleError);
XSetErrorHandler(ErrorHandler);
}