public WaylandClientConnection(string display = null) : base(ConnectToDisplay(display), new WaylandClientObjectMap()) { uint id = ObjectMap.AllocateId(); Display = new WlDisplay(id, 1, this); Display.Error += (display, objectId, code, message) => { throw new WaylandProtocolException(objectId, code, message); }; Display.DeleteId += (display, id) => { this.DeallocateId(id); }; ObjectMap[id] = Display; }