changeset 1134:055eb17ce31e

fix: x11-wrapper warnings
author sam <sam@basx.dev>
date Mon, 03 Jun 2024 15:53:30 +0700
parents a52e924e5666
children 74957cbf589b
files semicongine/thirdparty/x11/x.nim semicongine/thirdparty/x11/xcms.nim semicongine/thirdparty/x11/xf86dga.nim semicongine/thirdparty/x11/xf86vmode.nim semicongine/thirdparty/x11/xi.nim semicongine/thirdparty/x11/xinerama.nim semicongine/thirdparty/x11/xinput.nim semicongine/thirdparty/x11/xkb.nim semicongine/thirdparty/x11/xkblib.nim semicongine/thirdparty/x11/xlib.nim semicongine/thirdparty/x11/xrandr.nim semicongine/thirdparty/x11/xrender.nim semicongine/thirdparty/x11/xresource.nim semicongine/thirdparty/x11/xshm.nim semicongine/thirdparty/x11/xtst.nim semicongine/thirdparty/x11/xutil.nim semicongine/thirdparty/x11/xv.nim semicongine/thirdparty/x11/xvlib.nim
diffstat 18 files changed, 638 insertions(+), 1094 deletions(-) [+]
line wrap: on
line diff
--- a/semicongine/thirdparty/x11/x.nim	Sun Jun 02 16:21:52 2024 +0700
+++ b/semicongine/thirdparty/x11/x.nim	Mon Jun 03 15:53:30 2024 +0700
@@ -60,21 +60,6 @@
   PKeyCode* = ptr KeyCode
   KeyCode* = char
 
-{.deprecated: [TXID: XID].}
-{.deprecated: [TMask: Mask].}
-{.deprecated: [TAtom: Atom].}
-{.deprecated: [TVisualID: VisualID].}
-{.deprecated: [TTime: Time].}
-{.deprecated: [TWindow: Window].}
-{.deprecated: [TDrawable: Drawable].}
-{.deprecated: [TFont: Font].}
-{.deprecated: [TPixmap: Pixmap].}
-{.deprecated: [TCursor: Cursor].}
-{.deprecated: [TColormap: Colormap].}
-{.deprecated: [TGContext: GContext].}
-{.deprecated: [TKeySym: KeySym].}
-{.deprecated: [TKeyCode: KeyCode].}
-
 const
   None* = 0
   ParentRelative* = 1
--- a/semicongine/thirdparty/x11/xcms.nim	Sun Jun 02 16:21:52 2024 +0700
+++ b/semicongine/thirdparty/x11/xcms.nim	Mon Jun 03 15:53:30 2024 +0700
@@ -24,8 +24,6 @@
   PXcmsColorFormat* = ptr XcmsColorFormat
   XcmsColorFormat* = int32
 
-{.deprecated: [TXcmsColorFormat: XcmsColorFormat].}
-
 proc XcmsUndefinedFormat*(): XcmsColorFormat
 proc XcmsCIEXYZFormat*(): XcmsColorFormat
 proc XcmsCIEuvYFormat*(): XcmsColorFormat
@@ -99,18 +97,18 @@
     pad3*: XcmsFloat
 
   PXcmsColor* = ptr XcmsColor
-  XcmsColor*{.final.} = object   # spec : record
-                                 #            case longint of
-                                 #               0 : ( RGB : XcmsRGB );
-                                 #               1 : ( RGBi : XcmsRGBi );
-                                 #               2 : ( CIEXYZ : XcmsCIEXYZ );
-                                 #               3 : ( CIEuvY : XcmsCIEuvY );
-                                 #               4 : ( CIExyY : XcmsCIExyY );
-                                 #               5 : ( CIELab : XcmsCIELab );
-                                 #               6 : ( CIELuv : XcmsCIELuv );
-                                 #               7 : ( TekHVC : XcmsTekHVC );
-                                 #               8 : ( Pad : XcmsPad );
-                                 #            end;
+  XcmsColor*{.final.} = object # spec : record
+                               #            case longint of
+                               #               0 : ( RGB : XcmsRGB );
+                               #               1 : ( RGBi : XcmsRGBi );
+                               #               2 : ( CIEXYZ : XcmsCIEXYZ );
+                               #               3 : ( CIEuvY : XcmsCIEuvY );
+                               #               4 : ( CIExyY : XcmsCIExyY );
+                               #               5 : ( CIELab : XcmsCIELab );
+                               #               6 : ( CIELuv : XcmsCIELuv );
+                               #               7 : ( TekHVC : XcmsTekHVC );
+                               #               8 : ( Pad : XcmsPad );
+                               #            end;
     pad*: XcmsPad
     pixel*: int32
     format*: XcmsColorFormat
@@ -166,36 +164,13 @@
     inverse_flag*: int32
 
   PXcmsFunctionSet* = ptr XcmsFunctionSet
-  XcmsFunctionSet*{.final.} = object   # error
-                                       # extern Status XcmsAddColorSpace (
-                                       # in declaration at line 323
+  XcmsFunctionSet*{.final.} = object # error
+                                     # extern Status XcmsAddColorSpace (
+                                     # in declaration at line 323
     DDColorSpaces*: ptr PXcmsColorSpace
     screenInitProc*: XcmsScreenInitProc
     screenFreeProc*: XcmsScreenFreeProc
 
-{.deprecated: [TXcmsRGB: XcmsRGB].}
-{.deprecated: [TXcmsRGBi: XcmsRGBi].}
-{.deprecated: [TXcmsCIEXYZ: XcmsCIEXYZ].}
-{.deprecated: [TXcmsCIEuvY: XcmsCIEuvY].}
-{.deprecated: [TXcmsCIExyY: XcmsCIExyY].}
-{.deprecated: [TXcmsCIELab: XcmsCIELab].}
-{.deprecated: [TXcmsCIELuv: XcmsCIELuv].}
-{.deprecated: [TXcmsTekHVC: XcmsTekHVC].}
-{.deprecated: [TXcmsPad: XcmsPad].}
-{.deprecated: [TXcmsColor: XcmsColor].}
-{.deprecated: [TXcmsPerScrnInfo: XcmsPerScrnInfo].}
-{.deprecated: [TXcmsCompressionProc: XcmsCompressionProc].}
-{.deprecated: [TXcmsWhiteAdjustProc: XcmsWhiteAdjustProc].}
-{.deprecated: [TXcmsCCC: XcmsCCC].}
-{.deprecated: [TXcmsCCCRec: XcmsCCCRec].}
-{.deprecated: [TXcmsScreenInitProc: XcmsScreenInitProc].}
-{.deprecated: [TXcmsScreenFreeProc: XcmsScreenFreeProc].}
-{.deprecated: [TXcmsConversionProc: XcmsConversionProc].}
-{.deprecated: [TXcmsFuncListPtr: XcmsFuncListPtr].}
-{.deprecated: [TXcmsParseStringProc: XcmsParseStringProc].}
-{.deprecated: [TXcmsColorSpace: XcmsColorSpace].}
-{.deprecated: [TXcmsFunctionSet: XcmsFunctionSet].}
-
 proc XcmsAddFunctionSet*(para1: PXcmsFunctionSet): Status{.cdecl,
     dynlib: libX11, importc.}
 proc XcmsAllocColor*(para1: PDisplay, para2: Colormap, para3: PXcmsColor,
--- a/semicongine/thirdparty/x11/xf86dga.nim	Sun Jun 02 16:21:52 2024 +0700
+++ b/semicongine/thirdparty/x11/xf86dga.nim	Mon Jun 03 15:53:30 2024 +0700
@@ -78,8 +78,8 @@
 proc XF86DGAViewPortChanged*(dpy: PDisplay, screen: cint, n: cint): XBool{.
     cdecl, dynlib: libXxf86dga, importc.}
 const
-  X_XDGAQueryVersion* = 0     # 1 through 9 are in xf86dga1.pp
-                              # 10 and 11 are reserved to avoid conflicts with rogue DGA extensions
+  X_XDGAQueryVersion* = 0 # 1 through 9 are in xf86dga1.pp
+                          # 10 and 11 are reserved to avoid conflicts with rogue DGA extensions
   X_XDGAQueryModes* = 12
   X_XDGASetMode* = 13
   X_XDGASetViewport* = 14
@@ -118,16 +118,16 @@
 type
   PXDGAMode* = ptr XDGAMode
   XDGAMode*{.final.} = object
-    num*: cint                # A unique identifier for the mode (num > 0)
-    name*: cstring            # name of mode given in the XF86Config
+    num*: cint           # A unique identifier for the mode (num > 0)
+    name*: cstring       # name of mode given in the XF86Config
     verticalRefresh*: cfloat
-    flags*: cint              # DGA_CONCURRENT_ACCESS, etc...
-    imageWidth*: cint         # linear accessible portion (pixels)
+    flags*: cint         # DGA_CONCURRENT_ACCESS, etc...
+    imageWidth*: cint    # linear accessible portion (pixels)
     imageHeight*: cint
-    pixmapWidth*: cint        # Xlib accessible portion (pixels)
-    pixmapHeight*: cint       # both fields ignored if no concurrent access
+    pixmapWidth*: cint   # Xlib accessible portion (pixels)
+    pixmapHeight*: cint  # both fields ignored if no concurrent access
     bytesPerScanline*: cint
-    byteOrder*: cint          # MSBFirst, LSBFirst
+    byteOrder*: cint     # MSBFirst, LSBFirst
     depth*: cint
     bitsPerPixel*: cint
     redMask*: culong
@@ -136,11 +136,11 @@
     visualClass*: cshort
     viewportWidth*: cint
     viewportHeight*: cint
-    xViewportStep*: cint      # viewport position granularity
+    xViewportStep*: cint # viewport position granularity
     yViewportStep*: cint
-    maxViewportX*: cint       # max viewport origin
+    maxViewportX*: cint  # max viewport origin
     maxViewportY*: cint
-    viewportFlags*: cint      # types of page flipping possible
+    viewportFlags*: cint # types of page flipping possible
     reserved1*: cint
     reserved2*: cint
 
@@ -191,13 +191,6 @@
                               #      3 : (xmotion : XDGAMotionEvent);
                               #      4 : (pad : Array[0..23] Of clong);
 
-{.deprecated: [TXDGAMode: XDGAMode].}
-{.deprecated: [TXDGADevice: XDGADevice].}
-{.deprecated: [TXDGAButtonEvent: XDGAButtonEvent].}
-{.deprecated: [TXDGAKeyEvent: XDGAKeyEvent].}
-{.deprecated: [TXDGAMotionEvent: XDGAMotionEvent].}
-{.deprecated: [TXDGAEvent: XDGAEvent].}
-
 proc XDGAQueryExtension*(dpy: PDisplay, eventBase: Pcint, erroBase: Pcint): XBool{.
     cdecl, dynlib: libXxf86dga, importc.}
 proc XDGAQueryVersion*(dpy: PDisplay, majorVersion: Pcint, minorVersion: Pcint): XBool{.
--- a/semicongine/thirdparty/x11/xf86vmode.nim	Sun Jun 02 16:21:52 2024 +0700
+++ b/semicongine/thirdparty/x11/xf86vmode.nim	Mon Jun 03 15:53:30 2024 +0700
@@ -137,28 +137,21 @@
 
   PXF86VidModeNotifyEvent* = ptr XF86VidModeNotifyEvent
   XF86VidModeNotifyEvent*{.final.} = object
-    theType*: cint            # of event
-    serial*: culong           # # of last request processed by server
-    send_event*: XBool        # true if this came from a SendEvent req
-    display*: PDisplay        # Display the event was read from
-    root*: Window            # root window of event screen
-    state*: cint              # What happened
-    kind*: cint               # What happened
-    forced*: XBool            # extents of new region
-    time*: Time              # event timestamp
+    theType*: cint     # of event
+    serial*: culong    # # of last request processed by server
+    send_event*: XBool # true if this came from a SendEvent req
+    display*: PDisplay # Display the event was read from
+    root*: Window      # root window of event screen
+    state*: cint       # What happened
+    kind*: cint        # What happened
+    forced*: XBool     # extents of new region
+    time*: Time        # event timestamp
 
   PXF86VidModeGamma* = ptr XF86VidModeGamma
   XF86VidModeGamma*{.final.} = object
-    red*: cfloat              # Red Gamma value
-    green*: cfloat            # Green Gamma value
-    blue*: cfloat             # Blue Gamma value
-
-{.deprecated: [TXF86VidModeModeLine: XF86VidModeModeLine].}
-{.deprecated: [TXF86VidModeModeInfo: XF86VidModeModeInfo].}
-{.deprecated: [TXF86VidModeSyncRange: XF86VidModeSyncRange].}
-{.deprecated: [TXF86VidModeMonitor: XF86VidModeMonitor].}
-{.deprecated: [TXF86VidModeNotifyEvent: XF86VidModeNotifyEvent].}
-{.deprecated: [TXF86VidModeGamma: XF86VidModeGamma].}
+    red*: cfloat   # Red Gamma value
+    green*: cfloat # Green Gamma value
+    blue*: cfloat  # Blue Gamma value
 
 when defined(MACROS):
   proc XF86VidModeSelectNextMode*(disp: PDisplay, scr: cint): XBool
--- a/semicongine/thirdparty/x11/xi.nim	Sun Jun 02 16:21:52 2024 +0700
+++ b/semicongine/thirdparty/x11/xi.nim	Mon Jun 03 15:53:30 2024 +0700
@@ -62,7 +62,7 @@
 const
   libXi* = "libXi.so(|.6)"
 
-const 
+const
   sz_xGetExtensionVersionReq* = 8
   sz_xGetExtensionVersionReply* = 32
   sz_xListInputDevicesReq* = 4
@@ -121,10 +121,10 @@
   sz_xChangeDeviceControlReq* = 8
   sz_xChangeDeviceControlReply* = 32
 
-const 
+const
   INAME* = "XInputExtension"
 
-const 
+const
   XI_KEYBOARD* = "KEYBOARD"
   XI_MOUSE* = "MOUSE"
   XI_TABLET* = "TABLET"
@@ -144,60 +144,60 @@
   XI_CURSORKEYS* = "CURSORKEYS"
   XI_FOOTMOUSE* = "FOOTMOUSE"
 
-const 
+const
   Dont_Check* = 0
   XInput_Initial_Release* = 1
   XInput_Add_XDeviceBell* = 2
   XInput_Add_XSetDeviceValuators* = 3
   XInput_Add_XChangeDeviceControl* = 4
 
-const 
+const
   XI_Absent* = 0
   XI_Present* = 1
 
-const 
+const
   XI_Initial_Release_Major* = 1
   XI_Initial_Release_Minor* = 0
 
-const 
+const
   XI_Add_XDeviceBell_Major* = 1
   XI_Add_XDeviceBell_Minor* = 1
 
-const 
+const
   XI_Add_XSetDeviceValuators_Major* = 1
   XI_Add_XSetDeviceValuators_Minor* = 2
 
-const 
+const
   XI_Add_XChangeDeviceControl_Major* = 1
   XI_Add_XChangeDeviceControl_Minor* = 3
 
-const 
+const
   DEVICE_RESOLUTION* = 1
 
-const 
+const
   NoSuchExtension* = 1
 
-const 
+const
   COUNT* = 0
   CREATE* = 1
 
-const 
+const
   NewPointer* = 0
   NewKeyboard* = 1
 
-const 
+const
   XPOINTER* = 0
   XKEYBOARD* = 1
 
-const 
+const
   UseXKeyboard* = 0x000000FF
 
-const 
+const
   IsXPointer* = 0
   IsXKeyboard* = 1
   IsXExtensionDevice* = 2
 
-const 
+const
   AsyncThisDevice* = 0
   SyncThisDevice* = 1
   ReplayThisDevice* = 2
@@ -205,16 +205,16 @@
   AsyncAll* = 4
   SyncAll* = 5
 
-const 
+const
   FollowKeyboard* = 3
   RevertToFollowKeyboard* = 3
 
-const 
+const
   DvAccelNum* = int(1) shl 0
   DvAccelDenom* = int(1) shl 1
   DvThreshold* = int(1) shl 2
 
-const 
+const
   DvKeyClickPercent* = int(1) shl 0
   DvPercent* = int(1) shl 1
   DvPitch* = int(1) shl 2
@@ -224,31 +224,31 @@
   DvKey* = int(1) shl 6
   DvAutoRepeatMode* = 1 shl 7
 
-const 
+const
   DvString* = int(1) shl 0
 
-const 
+const
   DvInteger* = int(1) shl 0
 
-const 
+const
   DeviceMode* = int(1) shl 0
   Relative* = 0
-  Absolute* = 1               # Merged from Metrolink tree for XINPUT stuff 
+  Absolute* = 1            # Merged from Metrolink tree for XINPUT stuff
   TS_Raw* = 57
   TS_Scaled* = 58
   SendCoreEvents* = 59
-  DontSendCoreEvents* = 60    # End of merged section 
+  DontSendCoreEvents* = 60 # End of merged section
 
-const 
+const
   ProximityState* = int(1) shl 1
   InProximity* = int(0) shl 1
   OutOfProximity* = int(1) shl 1
 
-const 
+const
   AddToList* = 0
   DeleteFromList* = 1
 
-const 
+const
   KeyClass* = 0
   ButtonClass* = 1
   ValuatorClass* = 2
@@ -257,7 +257,7 @@
   FocusClass* = 5
   OtherClass* = 6
 
-const 
+const
   KbdFeedbackClass* = 0
   PtrFeedbackClass* = 1
   StringFeedbackClass* = 2
@@ -265,7 +265,7 @@
   LedFeedbackClass* = 4
   BellFeedbackClass* = 5
 
-const 
+const
   devicePointerMotionHint* = 0
   deviceButton1Motion* = 1
   deviceButton2Motion* = 2
@@ -277,7 +277,7 @@
   deviceOwnerGrabButton* = 8
   noExtensionEvent* = 9
 
-const 
+const
   XI_BadDevice* = 0
   XI_BadEvent* = 1
   XI_BadMode* = 2
@@ -287,25 +287,23 @@
                    #  See the top of X.h for more _XSERVER64 magic.
                    #
 
-when defined(XSERVER64): 
-  type 
+when defined(XSERVER64):
+  type
     XEventClass* = CARD32
-else: 
-  type 
+else:
+  type
     XEventClass* = int32
 #******************************************************************
 # *
 # * Extension version structure.
 # *
-# 
+#
 
-type 
+type
   PXExtensionVersion* = ptr XExtensionVersion
-  XExtensionVersion*{.final.} = object 
+  XExtensionVersion*{.final.} = object
     present*: int16
     major_version*: int16
     minor_version*: int16
 
-{.deprecated: [TXExtensionVersion: XExtensionVersion].}
-
 # implementation
--- a/semicongine/thirdparty/x11/xinerama.nim	Sun Jun 02 16:21:52 2024 +0700
+++ b/semicongine/thirdparty/x11/xinerama.nim	Mon Jun 03 15:53:30 2024 +0700
@@ -14,8 +14,6 @@
     width*: int16
     height*: int16
 
-{.deprecated: [TXineramaScreenInfo: XineramaScreenInfo].}
-
 proc XineramaQueryExtension*(dpy: PDisplay, event_base: Pcint, error_base: Pcint): XBool{.
     cdecl, dynlib: xineramaLib, importc.}
 proc XineramaQueryVersion*(dpy: PDisplay, major: Pcint, minor: Pcint): Status{.
--- a/semicongine/thirdparty/x11/xinput.nim	Sun Jun 02 16:21:52 2024 +0700
+++ b/semicongine/thirdparty/x11/xinput.nim	Mon Jun 03 15:53:30 2024 +0700
@@ -129,23 +129,23 @@
     ##  support input class Keys.
     ##  The location of the X pointer is reported in the coordinate
     ##  fields of the x,y and x_root,y_root fields.
-    `type`*: cint              ##  of event
-    serial*: culong            ##  # of last request processed
-    send_event*: XBool          ##  true if from SendEvent request
-    display*: PDisplay       ##  Display the event was read from
-    window*: Window            ##  "event" window reported relative to
+    `type`*: cint ##  of event
+    serial*: culong ##  # of last request processed
+    send_event*: XBool ##  true if from SendEvent request
+    display*: PDisplay ##  Display the event was read from
+    window*: Window ##  "event" window reported relative to
     deviceid*: XID
-    root*: Window              ##  root window event occured on
-    subwindow*: Window         ##  child window
-    time*: Time                ##  milliseconds
+    root*: Window ##  root window event occured on
+    subwindow*: Window ##  child window
+    time*: Time ##  milliseconds
     x*: cint
-    y*: cint                   ##  x, y coordinates in event window
-    x_root*: cint              ##  coordinates relative to root
-    y_root*: cint              ##  coordinates relative to root
-    state*: cuint              ##  key or button mask
-    keycode*: cuint            ##  detail
-    same_screen*: XBool         ##  same screen flag
-    device_state*: cuint       ##  device key or button mask
+    y*: cint ##  x, y coordinates in event window
+    x_root*: cint ##  coordinates relative to root
+    y_root*: cint ##  coordinates relative to root
+    state*: cuint ##  key or button mask
+    keycode*: cuint ##  detail
+    same_screen*: XBool ##  same screen flag
+    device_state*: cuint ##  device key or button mask
     axes_count*: cuchar
     first_axis*: cuchar
     axis_data*: array[6, cint]
@@ -160,23 +160,23 @@
   XDeviceButtonEvent* {.final.} = object
     ##  DeviceButton events.  These events are sent by extension devices
     ##  that support input class Buttons.
-    `type`*: cint              ##  of event
-    serial*: culong            ##  # of last request processed by server
-    send_event*: XBool          ##  true if from a SendEvent request
-    display*: PDisplay         ##  Display the event was read from
-    window*: Window            ##  "event" window reported relative to
+    `type`*: cint ##  of event
+    serial*: culong ##  # of last request processed by server
+    send_event*: XBool ##  true if from a SendEvent request
+    display*: PDisplay ##  Display the event was read from
+    window*: Window ##  "event" window reported relative to
     deviceid*: XID
-    root*: Window              ##  root window that the event occured on
-    subwindow*: Window         ##  child window
-    time*: Time                ##  milliseconds
+    root*: Window ##  root window that the event occured on
+    subwindow*: Window ##  child window
+    time*: Time ##  milliseconds
     x*: cint
-    y*: cint                   ##  x, y coordinates in event window
-    x_root*: cint              ##  coordinates relative to root
-    y_root*: cint              ##  coordinates relative to root
-    state*: cuint              ##  key or button mask
-    button*: cuint             ##  detail
-    same_screen*: XBool         ##  same screen flag
-    device_state*: cuint       ##  device key or button mask
+    y*: cint ##  x, y coordinates in event window
+    x_root*: cint ##  coordinates relative to root
+    y_root*: cint ##  coordinates relative to root
+    state*: cuint ##  key or button mask
+    button*: cuint ##  detail
+    same_screen*: XBool ##  same screen flag
+    device_state*: cuint ##  device key or button mask
     axes_count*: cuchar
     first_axis*: cuchar
     axis_data*: array[6, cint]
@@ -191,23 +191,23 @@
   XDeviceMotionEvent* {.final.} = object
     ##  DeviceMotionNotify event.  These events are sent by extension devices
     ##  that support input class Valuators.
-    `type`*: cint              ##  of event
-    serial*: culong            ##  # of last request processed by server
-    send_event*: XBool          ##  true if from a SendEvent request
-    display*: PDisplay         ##  Display the event was read from
-    window*: Window            ##  "event" window reported relative to
+    `type`*: cint ##  of event
+    serial*: culong ##  # of last request processed by server
+    send_event*: XBool ##  true if from a SendEvent request
+    display*: PDisplay ##  Display the event was read from
+    window*: Window ##  "event" window reported relative to
     deviceid*: XID
-    root*: Window              ##  root window that the event occured on
-    subwindow*: Window         ##  child window
-    time*: Time                ##  milliseconds
+    root*: Window ##  root window that the event occured on
+    subwindow*: Window ##  child window
+    time*: Time ##  milliseconds
     x*: cint
-    y*: cint                   ##  x, y coordinates in event window
-    x_root*: cint              ##  coordinates relative to root
-    y_root*: cint              ##  coordinates relative to root
-    state*: cuint              ##  key or button mask
-    is_hint*: char             ##  detail
-    same_screen*: XBool         ##  same screen flag
-    device_state*: cuint       ##  device key or button mask
+    y*: cint ##  x, y coordinates in event window
+    x_root*: cint ##  coordinates relative to root
+    y_root*: cint ##  coordinates relative to root
+    state*: cuint ##  key or button mask
+    is_hint*: char ##  detail
+    same_screen*: XBool ##  same screen flag
+    device_state*: cuint ##  device key or button mask
     axes_count*: cuchar
     first_axis*: cuchar
     axis_data*: array[6, cint]
@@ -216,18 +216,18 @@
   XDeviceFocusChangeEvent* {.final.} = object
     ##  DeviceFocusChange events.  These events are sent when the focus
     ##  of an extension device that can be focused is changed.
-    `type`*: cint              ##  of event
-    serial*: culong            ##  # of last request processed by server
-    send_event*: XBool          ##  true if from a SendEvent request
-    display*: PDisplay         ##  Display the event was read from
-    window*: Window            ##  "event" window reported relative to
+    `type`*: cint ##  of event
+    serial*: culong ##  # of last request processed by server
+    send_event*: XBool ##  true if from a SendEvent request
+    display*: PDisplay ##  Display the event was read from
+    window*: Window ##  "event" window reported relative to
     deviceid*: XID
-    mode*: cint                ##  NotifyNormal, NotifyGrab, NotifyUngrab
+    mode*: cint ##  NotifyNormal, NotifyGrab, NotifyUngrab
     detail*: cint ##
-                ##  NotifyAncestor, NotifyVirtual, NotifyInferior,
-                ##  NotifyNonLinear,NotifyNonLinearVirtual, NotifyPointer,
-                ##  NotifyPointerRoot, NotifyDetailNone
-                ##
+                    ##  NotifyAncestor, NotifyVirtual, NotifyInferior,
+                    ##  NotifyNonLinear,NotifyNonLinearVirtual, NotifyPointer,
+                    ##  NotifyPointerRoot, NotifyDetailNone
+                    ##
     time*: Time
 
   PXDeviceFocusInEvent* = PXDeviceFocusChangeEvent
@@ -240,10 +240,10 @@
   XProximityNotifyEvent* {.final.} = object
     ##  ProximityNotify events.  These events are sent by those absolute
     ##  positioning devices that are capable of generating proximity information.
-    `type`*: cint              ##  ProximityIn or ProximityOut
-    serial*: culong            ##  # of last request processed by server
-    send_event*: XBool          ##  true if this came from a SendEvent request
-    display*: PDisplay         ##  Display the event was read from
+    `type`*: cint ##  ProximityIn or ProximityOut
+    serial*: culong ##  # of last request processed by server
+    send_event*: XBool ##  true if this came from a SendEvent request
+    display*: PDisplay ##  Display the event was read from
     window*: Window
     deviceid*: XID
     root*: Window
@@ -255,7 +255,7 @@
     y_root*: cint
     state*: cuint
     same_screen*: XBool
-    device_state*: cuint       ##  device key or button mask
+    device_state*: cuint ##  device key or button mask
     axes_count*: cuchar
     first_axis*: cuchar
     axis_data*: array[6, cint]
@@ -276,9 +276,9 @@
     ##  DeviceStateNotify events are generated on EnterWindow and FocusIn
     ##  for those clients who have selected DeviceState.
     `type`*: cint
-    serial*: culong            ##  # of last request processed by server
-    send_event*: XBool          ##  true if this came from a SendEvent request
-    display*: PDisplay         ##  Display the event was read from
+    serial*: culong ##  # of last request processed by server
+    send_event*: XBool ##  true if this came from a SendEvent request
+    display*: PDisplay ##  Display the event was read from
     window*: Window
     deviceid*: XID
     time*: Time
@@ -312,29 +312,29 @@
     ##  DeviceMappingNotify event.  This event is sent when the key mapping,
     ##  modifier mapping, or button mapping of an extension device is changed.
     `type`*: cint
-    serial*: culong            ##  # of last request processed by server
-    send_event*: XBool          ##  true if this came from a SendEvent request
-    display*: PDisplay         ##  Display the event was read from
-    window*: Window            ##  unused
+    serial*: culong ##  # of last request processed by server
+    send_event*: XBool ##  true if this came from a SendEvent request
+    display*: PDisplay ##  Display the event was read from
+    window*: Window ##  unused
     deviceid*: XID
     time*: Time
-    request*: cint             ##  one of MappingModifier, MappingKeyboard,
-                               ##  MappingPointer
-    first_keycode*: cint       ##  first keycode
-    count*: cint               ##  defines range of change w. first_keycode
+    request*: cint ##  one of MappingModifier, MappingKeyboard,
+                     ##  MappingPointer
+    first_keycode*: cint ##  first keycode
+    count*: cint ##  defines range of change w. first_keycode
 
   PXChangeDeviceNotifyEvent* = ptr XChangeDeviceNotifyEvent
   XChangeDeviceNotifyEvent* {.final.} = object
     ##  ChangeDeviceNotify event.  This event is sent when an
     ##  XChangeKeyboard or XChangePointer request is made.
     `type`*: cint
-    serial*: culong            ##  # of last request processed by server
-    send_event*: XBool          ##  true if this came from a SendEvent request
-    display*: PDisplay         ##  Display the event was read from
-    window*: Window            ##  unused
+    serial*: culong ##  # of last request processed by server
+    send_event*: XBool ##  true if this came from a SendEvent request
+    display*: PDisplay ##  Display the event was read from
+    window*: Window ##  unused
     deviceid*: XID
     time*: Time
-    request*: cint             ##  NewPointer or NewKeyboard
+    request*: cint ##  NewPointer or NewKeyboard
 
   PXDevicePresenceNotifyEvent* = ptr XDevicePresenceNotifyEvent
   XDevicePresenceNotifyEvent* {.final.} = object
@@ -348,10 +348,10 @@
     ##  XGetDeviceControl to examine the device.  If control is non-zero,
     ##  then that control has changed meaningfully.
     `type`*: cint
-    serial*: culong            ##  # of last request processed by server
-    send_event*: XBool          ##  true if this came from a SendEvent request
-    display*: PDisplay         ##  Display the event was read from
-    window*: Window            ##  unused
+    serial*: culong ##  # of last request processed by server
+    send_event*: XBool ##  true if this came from a SendEvent request
+    display*: PDisplay ##  Display the event was read from
+    window*: Window ##  unused
     time*: Time
     devchange*: XBool
     deviceid*: XID
@@ -360,14 +360,14 @@
   PXDevicePropertyNotifyEvent* = ptr XDevicePropertyNotifyEvent
   XDevicePropertyNotifyEvent* {.final.} = object
     `type`*: cint
-    serial*: culong            ##  # of last request processed by server
-    send_event*: XBool          ##  true if this came from a SendEvent request
-    display*: PDisplay         ##  Display the event was read from
-    window*: Window            ##  unused
+    serial*: culong    ##  # of last request processed by server
+    send_event*: XBool ##  true if this came from a SendEvent request
+    display*: PDisplay ##  Display the event was read from
+    window*: Window    ##  unused
     time*: Time
-    deviceid*: XID             ##  id of the device that changed
-    atom*: Atom                ##  the property that changed
-    state*: cint               ##  PropertyNewValue or PropertyDeleted
+    deviceid*: XID     ##  id of the device that changed
+    atom*: Atom        ##  the property that changed
+    state*: cint       ##  PropertyNewValue or PropertyDeleted
 
   PXFeedbackState* = ptr XFeedbackState
   XFeedbackState* {.final.} = object
@@ -659,67 +659,6 @@
     num_buttons*: cshort
     buttons*: array[32, char]
 
-{.deprecated: [TXDeviceKeyEvent: XDeviceKeyEvent].}
-{.deprecated: [TXDeviceKeyPressedEvent: XDeviceKeyPressedEvent].}
-{.deprecated: [TXDeviceKeyReleasedEvent: XDeviceKeyReleasedEvent].}
-{.deprecated: [TXDeviceButtonEvent: XDeviceButtonEvent].}
-{.deprecated: [TXDeviceButtonPressedEvent: XDeviceButtonPressedEvent].}
-{.deprecated: [TXDeviceButtonReleasedEvent: XDeviceButtonReleasedEvent].}
-{.deprecated: [TXDeviceMotionEvent: XDeviceMotionEvent].}
-{.deprecated: [TXDeviceFocusChangeEvent: XDeviceFocusChangeEvent].}
-{.deprecated: [TXDeviceFocusInEvent: XDeviceFocusInEvent].}
-{.deprecated: [TXDeviceFocusOutEvent: XDeviceFocusOutEvent].}
-{.deprecated: [TXProximityNotifyEvent: XProximityNotifyEvent].}
-{.deprecated: [TXProximityInEvent: XProximityInEvent].}
-{.deprecated: [TXProximityOutEvent: XProximityOutEvent].}
-{.deprecated: [TXInputClass: XInputClass].}
-{.deprecated: [TXDeviceStateNotifyEvent: XDeviceStateNotifyEvent].}
-{.deprecated: [TXValuatorStatus: XValuatorStatus].}
-{.deprecated: [TXKeyStatus: XKeyStatus].}
-{.deprecated: [TXButtonStatus: XButtonStatus].}
-{.deprecated: [TXDeviceMappingEvent: XDeviceMappingEvent].}
-{.deprecated: [TXChangeDeviceNotifyEvent: XChangeDeviceNotifyEvent].}
-{.deprecated: [TXDevicePresenceNotifyEvent: XDevicePresenceNotifyEvent].}
-{.deprecated: [TXDevicePropertyNotifyEvent: XDevicePropertyNotifyEvent].}
-{.deprecated: [TXFeedbackState: XFeedbackState].}
-{.deprecated: [TXKbdFeedbackState: XKbdFeedbackState].}
-{.deprecated: [TXPtrFeedbackState: XPtrFeedbackState].}
-{.deprecated: [TXIntegerFeedbackState: XIntegerFeedbackState].}
-{.deprecated: [TXStringFeedbackState: XStringFeedbackState].}
-{.deprecated: [TXBellFeedbackState: XBellFeedbackState].}
-{.deprecated: [TXLedFeedbackState: XLedFeedbackState].}
-{.deprecated: [TXFeedbackControl: XFeedbackControl].}
-{.deprecated: [TXPtrFeedbackControl: XPtrFeedbackControl].}
-{.deprecated: [TXKbdFeedbackControl: XKbdFeedbackControl].}
-{.deprecated: [TXStringFeedbackControl: XStringFeedbackControl].}
-{.deprecated: [TXIntegerFeedbackControl: XIntegerFeedbackControl].}
-{.deprecated: [TXBellFeedbackControl: XBellFeedbackControl].}
-{.deprecated: [TXLedFeedbackControl: XLedFeedbackControl].}
-{.deprecated: [TXDeviceControl: XDeviceControl].}
-{.deprecated: [TXDeviceResolutionControl: XDeviceResolutionControl].}
-{.deprecated: [TXDeviceResolutionState: XDeviceResolutionState].}
-{.deprecated: [TXDeviceAbsCalibControl: XDeviceAbsCalibControl].}
-{.deprecated: [TXDeviceAbsCalibState: XDeviceAbsCalibState].}
-{.deprecated: [TXDeviceAbsAreaControl: XDeviceAbsAreaControl].}
-{.deprecated: [TXDeviceAbsAreaState: XDeviceAbsAreaState].}
-{.deprecated: [TXDeviceCoreControl: XDeviceCoreControl].}
-{.deprecated: [TXDeviceCoreState: XDeviceCoreState].}
-{.deprecated: [TXDeviceEnableControl: XDeviceEnableControl].}
-{.deprecated: [TXDeviceEnableState: XDeviceEnableState].}
-{.deprecated: [TXAnyClassInfo: XAnyClassInfo].}
-{.deprecated: [TXDeviceInfo: XDeviceInfo].}
-{.deprecated: [TXKeyInfo: XKeyInfo].}
-{.deprecated: [TXButtonInfo: XButtonInfo].}
-{.deprecated: [TXAxisInfo: XAxisInfo].}
-{.deprecated: [TXValuatorInfo: XValuatorInfo].}
-{.deprecated: [TXInputClassInfo: XInputClassInfo].}
-{.deprecated: [TXDevice: XDevice].}
-{.deprecated: [TXEventList: XEventList].}
-{.deprecated: [TXDeviceTimeCoord: XDeviceTimeCoord].}
-{.deprecated: [TXDeviceState: XDeviceState].}
-{.deprecated: [TXValuatorState: XValuatorState].}
-{.deprecated: [TXKeyState: XKeyState].}
-{.deprecated: [TXButtonState: XButtonState].}
 
 {.push cdecl, importc, dynlib: libXi.}
 
--- a/semicongine/thirdparty/x11/xkb.nim	Sun Jun 02 16:21:52 2024 +0700
+++ b/semicongine/thirdparty/x11/xkb.nim	Mon Jun 03 15:53:30 2024 +0700
@@ -99,7 +99,6 @@
     compat_lookup_mods*: int8
     ptr_buttons*: int16
 
-{.deprecated: [TXkbStateRec: XkbStateRec].}
 
 
 proc XkbModLocks*(s: PXkbStatePtr): int8
@@ -111,11 +110,10 @@
 type
   PXkbModsPtr* = ptr XkbModsRec
   XkbModsRec*{.final.} = object
-    mask*: int8               # effective mods
+    mask*: int8 # effective mods
     real_mods*: int8
     vmods*: int16
 
-{.deprecated: [TXkbModsRec: XkbModsRec].}
 
 
 type
@@ -125,7 +123,6 @@
     level*: int8
     mods*: XkbModsRec
 
-{.deprecated: [TXkbKTMapEntryRec: XkbKTMapEntryRec].}
 
 
 type
@@ -139,7 +136,6 @@
     name*: Atom
     level_names*: Atom
 
-{.deprecated: [TXkbKeyTypeRec: XkbKeyTypeRec].}
 
 
 proc XkbNumGroups*(g: int16): int16
@@ -157,7 +153,6 @@
     theType*: int8
     data*: int8
 
-{.deprecated: [TXkbBehavior: XkbBehavior].}
 
 
 type
@@ -170,7 +165,6 @@
     vmods1*: int8
     vmods2*: int8
 
-{.deprecated: [TXkbModAction: XkbModAction].}
 
 
 proc XkbModActionVMods*(a: PXkbModAction): int16
@@ -182,7 +176,6 @@
     flags*: int8
     group_XXX*: int8
 
-{.deprecated: [TXkbGroupAction: XkbGroupAction].}
 
 
 proc XkbSAGroup*(a: PXkbGroupAction): int8
@@ -199,7 +192,6 @@
     vmods1*: int8
     vmods2*: int8
 
-{.deprecated: [TXkbISOAction: XkbISOAction].}
 
 
 type
@@ -212,7 +204,6 @@
     high_YYY*: int8
     low_YYY*: int8
 
-{.deprecated: [TXkbPtrAction: XkbPtrAction].}
 
 
 proc XkbPtrActionX*(a: PXkbPtrAction): int16
@@ -227,7 +218,6 @@
     count*: int8
     button*: int8
 
-{.deprecated: [TXkbPtrBtnAction: XkbPtrBtnAction].}
 
 
 type
@@ -238,7 +228,6 @@
     affect*: int8
     valueXXX*: int8
 
-{.deprecated: [TXkbPtrDfltAction: XkbPtrDfltAction].}
 
 
 proc XkbSAPtrDfltValue*(a: PXkbPtrDfltAction): int8
@@ -250,7 +239,6 @@
     flags*: int8
     screenXXX*: int8
 
-{.deprecated: [TXkbSwitchScreenAction: XkbSwitchScreenAction].}
 
 
 proc XkbSAScreen*(a: PXkbSwitchScreenAction): int8
@@ -265,7 +253,6 @@
     ctrls1*: int8
     ctrls0*: int8
 
-{.deprecated: [TXkbCtrlsAction: XkbCtrlsAction].}
 
 
 proc XkbActionSetCtrls*(a: PXkbCtrlsAction, c: int8)
@@ -277,7 +264,6 @@
     flags*: int8
     message*: array[0..5, char]
 
-{.deprecated: [TXkbMessageAction: XkbMessageAction].}
 
 
 type
@@ -292,7 +278,6 @@
     vmods0*: int8
     vmods1*: int8
 
-{.deprecated: [TXkbRedirectKeyAction: XkbRedirectKeyAction].}
 
 
 proc XkbSARedirectVMods*(a: PXkbRedirectKeyAction): int16
@@ -308,14 +293,13 @@
     button*: int8
     device*: int8
 
-{.deprecated: [TXkbDeviceBtnAction: XkbDeviceBtnAction].}
 
 
 type
   PXkbDeviceValuatorAction* = ptr XkbDeviceValuatorAction
-  XkbDeviceValuatorAction*{.final.} = object   #
-                                               #      Macros to classify key actions
-                                               #
+  XkbDeviceValuatorAction*{.final.} = object #
+                                             #      Macros to classify key actions
+                                             #
     theType*: int8
     device*: int8
     v1_what*: int8
@@ -325,7 +309,6 @@
     v2_ndx*: int8
     v2_value*: int8
 
-{.deprecated: [TXkbDeviceValuatorAction: XkbDeviceValuatorAction].}
 
 
 const
@@ -337,7 +320,6 @@
     theType*: int8
     data*: array[0..XkbAnyActionDataSize - 1, int8]
 
-{.deprecated: [TXkbAnyAction: XkbAnyAction].}
 
 
 proc XkbIsModAction*(a: PXkbAnyAction): bool
@@ -345,11 +327,11 @@
 proc XkbIsPtrAction*(a: PXkbAnyAction): bool
 type
   PXkbAction* = ptr XkbAction
-  XkbAction*{.final.} = object   #
-                                 #      XKB request codes, used in:
-                                 #      -  xkbReqType field of all requests
-                                 #      -  requestMinor field of some events
-                                 #
+  XkbAction*{.final.} = object #
+                               #      XKB request codes, used in:
+                               #      -  xkbReqType field of all requests
+                               #      -  requestMinor field of some events
+                               #
     any*: XkbAnyAction
     mods*: XkbModAction
     group*: XkbGroupAction
@@ -365,7 +347,6 @@
     devval*: XkbDeviceValuatorAction
     theType*: int8
 
-{.deprecated: [TXkbAction: XkbAction].}
 
 
 const
@@ -877,12 +858,12 @@
 
 const
   XkbSA_XFree86Private* = 0x00000086
-#
-#      Specifies the key actions that clear latched groups or modifiers.
-#
+ #
+ #      Specifies the key actions that clear latched groups or modifiers.
+ #
 
-const  ##define        XkbSA_BreakLatch \
-       #        ((1<<XkbSA_NoAction)|(1<<XkbSA_PtrBtn)|(1<<XkbSA_LockPtrBtn)|\
+const                                                        ##define        XkbSA_BreakLatch \
+  #        ((1<<XkbSA_NoAction)|(1<<XkbSA_PtrBtn)|(1<<XkbSA_LockPtrBtn)|\
        #        (1<<XkbSA_Terminate)|(1<<XkbSA_SwitchScreen)|(1<<XkbSA_SetControls)|\
        #        (1<<XkbSA_LockControls)|(1<<XkbSA_ActionMessage)|\
        #        (1<<XkbSA_RedirectKey)|(1<<XkbSA_DeviceBtn)|(1<<XkbSA_LockDeviceBtn))
@@ -945,7 +926,6 @@
     axt_ctrls_values*: int16
     per_key_repeat*: array[0..XkbPerKeyBitArraySize - 1, int8]
 
-{.deprecated: [TXkbControlsRec: XkbControlsRec].}
 
 
 proc XkbAX_AnyFeedback*(c: PXkbControlsPtr): int16
@@ -983,7 +963,6 @@
     vmods*: array[0..XkbNumVirtualMods - 1, int8]
     vmodmap*: PWord
 
-{.deprecated: [TXkbServerMapRec: XkbServerMapRec].}
 
 
 proc XkbSMKeyActionsPtr*(m: PXkbServerMapPtr, k: int16): PXkbAction
@@ -998,7 +977,6 @@
     width*: int8
     offset*: int8
 
-{.deprecated: [TXkbSymMapRec: XkbSymMapRec].}
 
 
 type
@@ -1013,7 +991,6 @@
     key_sym_map*: ptr array[0..0xffff, XkbSymMapRec]
     modmap*: PByte
 
-{.deprecated: [TXkbClientMapRec: XkbClientMapRec].}
 
 
 proc XkbCMKeyGroupInfo*(m: PXkbClientMapPtr, k: int16): int8
@@ -1037,7 +1014,6 @@
     virtual_mod*: int8
     act*: XkbAnyAction
 
-{.deprecated: [TXkbSymInterpretRec: XkbSymInterpretRec].}
 
 
 type
@@ -1048,7 +1024,6 @@
     num_si*: int16
     size_si*: int16
 
-{.deprecated: [TXkbCompatMapRec: XkbCompatMapRec].}
 
 
 type
@@ -1061,7 +1036,6 @@
     mods*: XkbModsRec
     ctrls*: int16
 
-{.deprecated: [TXkbIndicatorMapRec: XkbIndicatorMapRec].}
 
 
 proc XkbIM_IsAuto*(i: PXkbIndicatorMapPtr): bool
@@ -1072,7 +1046,6 @@
     phys_indicators*: int32
     maps*: array[0..XkbNumIndicators - 1, XkbIndicatorMapRec]
 
-{.deprecated: [TXkbIndicatorRec: XkbIndicatorRec].}
 
 
 type
@@ -1080,25 +1053,23 @@
   XkbKeyNameRec*{.final.} = object
     name*: array[0..XkbKeyNameLength - 1, char]
 
-{.deprecated: [TXkbKeyNameRec: XkbKeyNameRec].}
 
 
 type
   PXkbKeyAliasPtr* = ptr XkbKeyAliasRec
-  XkbKeyAliasRec*{.final.} = object  #
-                                      #          Names for everything
-                                      #
+  XkbKeyAliasRec*{.final.} = object #
+                                    #          Names for everything
+                                    #
     float*: array[0..XkbKeyNameLength - 1, char]
     alias*: array[0..XkbKeyNameLength - 1, char]
 
-{.deprecated: [TXkbKeyAliasRec: XkbKeyAliasRec].}
 
 
 type
   PXkbNamesPtr* = ptr XkbNamesRec
-  XkbNamesRec*{.final.} = object  #
-                                   #      Key Type index and mask for the four standard key types.
-                                   #
+  XkbNamesRec*{.final.} = object #
+                                 #      Key Type index and mask for the four standard key types.
+                                 #
     keycodes*: Atom
     geometry*: Atom
     symbols*: Atom
@@ -1115,7 +1086,6 @@
     num_key_aliases*: int8
     num_rg*: int16
 
-{.deprecated: [TXkbNamesRec: XkbNamesRec].}
 
 
 const
@@ -1277,7 +1247,6 @@
     name*: cstring
     value*: cstring
 
-{.deprecated: [TXkbPropertyRec: XkbPropertyRec].}
 
 
 type
@@ -1286,7 +1255,6 @@
     pixel*: int16
     spec*: cstring
 
-{.deprecated: [TXkbColorRec: XkbColorRec].}
 
 
 type
@@ -1295,7 +1263,6 @@
     x*: int16
     y*: int16
 
-{.deprecated: [TXkbPointRec: XkbPointRec].}
 
 
 type
@@ -1306,7 +1273,6 @@
     x2*: int16
     y2*: int16
 
-{.deprecated: [TXkbBoundsRec: XkbBoundsRec].}
 
 
 proc XkbBoundsWidth*(b: PXkbBoundsPtr): int16
@@ -1319,7 +1285,6 @@
     corner_radius*: int16
     points*: PXkbPointPtr
 
-{.deprecated: [TXkbOutlineRec: XkbOutlineRec].}
 
 
 type
@@ -1333,7 +1298,6 @@
     primary*: ptr array[0..0xffff, XkbOutlineRec]
     bounds*: XkbBoundsRec
 
-{.deprecated: [TXkbShapeRec: XkbShapeRec].}
 
 
 proc XkbOutlineIndex*(s: PXkbShapePtr, o: PXkbOutlinePtr): int32
@@ -1349,7 +1313,6 @@
     color_ndx*: int16
     shape_ndx*: int16
 
-{.deprecated: [TXkbShapeDoodadRec: XkbShapeDoodadRec].}
 
 
 type
@@ -1367,7 +1330,6 @@
     text*: cstring
     font*: cstring
 
-{.deprecated: [TXkbTextDoodadRec: XkbTextDoodadRec].}
 
 
 type
@@ -1383,7 +1345,6 @@
     on_color_ndx*: int16
     off_color_ndx*: int16
 
-{.deprecated: [TXkbIndicatorDoodadRec: XkbIndicatorDoodadRec].}
 
 
 type
@@ -1399,7 +1360,6 @@
     shape_ndx*: int16
     logo_name*: cstring
 
-{.deprecated: [TXkbLogoDoodadRec: XkbLogoDoodadRec].}
 
 
 type
@@ -1412,7 +1372,6 @@
     left*: int16
     angle*: int16
 
-{.deprecated: [TXkbAnyDoodadRec: XkbAnyDoodadRec].}
 
 
 type
@@ -1424,7 +1383,6 @@
     indicator*: XkbIndicatorDoodadRec
     logo*: XkbLogoDoodadRec
 
-{.deprecated: [TXkbDoodadRec: XkbDoodadRec].}
 
 
 const
@@ -1443,7 +1401,6 @@
     shape_ndx*: int8
     color_ndx*: int8
 
-{.deprecated: [TXkbKeyRec: XkbKeyRec].}
 
 
 type
@@ -1457,14 +1414,13 @@
     Keys*: PXkbKeyPtr
     bounds*: XkbBoundsRec
 
-{.deprecated: [TXkbRowRec: XkbRowRec].}
 
 
 type
   PXkbOverlayPtr* = ptr XkbOverlayRec #forward for XkbSectionRec use.
                                        #Do not add more "type"
   PXkbSectionPtr* = ptr XkbSectionRec
-  XkbSectionRec*{.final.} = object  #Do not add more "type"
+  XkbSectionRec*{.final.} = object #Do not add more "type"
     name*: Atom
     priority*: int8
     top*: int16
@@ -1481,12 +1437,12 @@
     overlays*: PXkbOverlayPtr
 
   PXkbOverlayKeyPtr* = ptr XkbOverlayKeyRec
-  XkbOverlayKeyRec*{.final.} = object  #Do not add more "type"
+  XkbOverlayKeyRec*{.final.} = object #Do not add more "type"
     over*: XkbKeyNameRec
     under*: XkbKeyNameRec
 
   PXkbOverlayRowPtr* = ptr XkbOverlayRowRec
-  XkbOverlayRowRec*{.final.} = object  #Do not add more "type"
+  XkbOverlayRowRec*{.final.} = object #Do not add more "type"
     row_under*: int16
     num_keys*: int16
     sz_keys*: int16
@@ -1500,10 +1456,6 @@
     rows*: PXkbOverlayRowPtr
     bounds*: PXkbBoundsPtr
 
-{.deprecated: [TXkbSectionRec: XkbSectionRec].}
-{.deprecated: [TXkbOverlayKeyRec: XkbOverlayKeyRec].}
-{.deprecated: [TXkbOverlayRowRec: XkbOverlayRowRec].}
-{.deprecated: [TXkbOverlayRec: XkbOverlayRec].}
 
 type
   PXkbGeometryRec* = ptr XkbGeometryRec
@@ -1533,7 +1485,6 @@
     sections*: ptr array[0..0xffff, XkbSectionRec]
     key_aliases*: ptr array[0..0xffff, XkbKeyAliasRec]
 
-{.deprecated: [TXkbGeometryRec: XkbGeometryRec].}
 
 
 const
@@ -1547,9 +1498,9 @@
 
 type
   PXkbGeometrySizesPtr* = ptr XkbGeometrySizesRec
-  XkbGeometrySizesRec*{.final.} = object   #
-                                           #          Tie it all together into one big keyboard description
-                                           #
+  XkbGeometrySizesRec*{.final.} = object #
+                                         #          Tie it all together into one big keyboard description
+                                         #
     which*: int16
     num_properties*: int16
     num_colors*: int16
@@ -1558,7 +1509,6 @@
     num_doodads*: int16
     num_key_aliases*: int16
 
-{.deprecated: [TXkbGeometrySizesRec: XkbGeometrySizesRec].}
 
 
 type
@@ -1577,7 +1527,6 @@
     compat*: PXkbCompatMapPtr
     geom*: PXkbGeometryPtr
 
-{.deprecated: [TXkbDescRec: XkbDescRec].}
 
 
 proc XkbKeyKeyTypeIndex*(d: PXkbDescPtr, k: int16, g: int8): int8
@@ -1623,7 +1572,6 @@
     pad*: int8
     vmods*: int16
 
-{.deprecated: [TXkbMapChangesRec: XkbMapChangesRec].}
 
 
 type
@@ -1633,7 +1581,6 @@
     enabled_ctrls_changes*: int16
     num_groups_changed*: bool
 
-{.deprecated: [TXkbControlsChangesRec: XkbControlsChangesRec].}
 
 
 type
@@ -1642,7 +1589,6 @@
     state_changes*: int16
     map_changes*: int16
 
-{.deprecated: [TXkbIndicatorChangesRec: XkbIndicatorChangesRec].}
 
 
 type
@@ -1661,7 +1607,6 @@
     changed_indicators*: int32
     changed_groups*: int8
 
-{.deprecated: [TXkbNameChangesRec: XkbNameChangesRec].}
 
 
 type
@@ -1671,16 +1616,15 @@
     first_si*: int16
     num_si*: int16
 
-{.deprecated: [TXkbCompatChangesRec: XkbCompatChangesRec].}
 
 
 type
   PXkbChangesPtr* = ptr XkbChangesRec
-  XkbChangesRec*{.final.} = object   #
-                                     #          These data structures are used to construct a keymap from
-                                     #          a set of components or to list components in the server
-                                     #          database.
-                                     #
+  XkbChangesRec*{.final.} = object #
+                                   #          These data structures are used to construct a keymap from
+                                   #          a set of components or to list components in the server
+                                   #          database.
+                                   #
     device_spec*: int16
     state_changes*: int16
     map*: XkbMapChangesRec
@@ -1689,7 +1633,6 @@
     names*: XkbNameChangesRec
     compat*: XkbCompatChangesRec
 
-{.deprecated: [TXkbChangesRec: XkbChangesRec].}
 
 
 type
@@ -1702,7 +1645,6 @@
     symbols*: ptr int16
     geometry*: ptr int16
 
-{.deprecated: [TXkbComponentNamesRec: XkbComponentNamesRec].}
 
 
 type
@@ -1711,15 +1653,14 @@
     flags*: int16
     name*: cstring
 
-{.deprecated: [TXkbComponentNameRec: XkbComponentNameRec].}
 
 
 type
   PXkbComponentListPtr* = ptr XkbComponentListRec
-  XkbComponentListRec*{.final.} = object   #
-                                           #          The following data structures describe and track changes to a
-                                           #          non-keyboard extension device
-                                           #
+  XkbComponentListRec*{.final.} = object #
+                                         #          The following data structures describe and track changes to a
+                                         #          non-keyboard extension device
+                                         #
     num_keymaps*: int16
     num_keycodes*: int16
     num_types*: int16
@@ -1733,7 +1674,6 @@
     symbols*: PXkbComponentNamePtr
     geometry*: PXkbComponentNamePtr
 
-{.deprecated: [TXkbComponentListRec: XkbComponentListRec].}
 
 
 type
@@ -1748,7 +1688,6 @@
     names*: array[0..XkbNumIndicators - 1, Atom]
     maps*: array[0..XkbNumIndicators - 1, XkbIndicatorMapRec]
 
-{.deprecated: [TXkbDeviceLedInfoRec: XkbDeviceLedInfoRec].}
 
 
 type
@@ -1768,7 +1707,6 @@
     dflt_led_fb*: int16
     leds*: PXkbDeviceLedInfoPtr
 
-{.deprecated: [TXkbDeviceInfoRec: XkbDeviceInfoRec].}
 
 
 proc XkbXI_DevHasBtnActs*(d: PXkbDeviceInfoPtr): bool
@@ -1779,7 +1717,7 @@
   XkbDeviceLedChangesRec*{.final.} = object
     led_class*: int16
     led_id*: int16
-    defined*: int16           #names or maps changed
+    defined*: int16 #names or maps changed
     next*: PXkbDeviceLedChangesPtr
 
 
@@ -1791,7 +1729,6 @@
     num_btns*: int16
     leds*: XkbDeviceLedChangesRec
 
-{.deprecated: [TXkbDeviceChangesRec: XkbDeviceChangesRec].}
 
 
 proc XkbShapeDoodadColor*(g: PXkbGeometryPtr, d: PXkbShapeDoodadPtr): PXkbColorPtr
@@ -2020,7 +1957,7 @@
       libx11c, importc: "XkbFreeGeometry".}
 # implementation
 
-import                        #************************************ xkb ************************************
+import #************************************ xkb ************************************
   xi
 
 proc XkbLegalXILedClass(c: int): bool =
@@ -2414,7 +2351,7 @@
 
 proc XkbOutlineIndex(s: PXkbShapePtr, o: PXkbOutlinePtr): int32 =
   ##define XkbOutlineIndex(s,o) ((int)((o)-&(s)->outlines[0]))
-  result = int32((cast[ByteAddress](o) - cast[ByteAddress](addr(s.outlines[0]))) div sizeof(PXkbOutlinePtr))
+  result = int32((cast[int](o) - cast[int](addr(s.outlines[0]))) div sizeof(PXkbOutlinePtr))
 
 proc XkbShapeDoodadColor(g: PXkbGeometryPtr, d: PXkbShapeDoodadPtr): PXkbColorPtr =
   ##define XkbShapeDoodadColor(g,d) (&(g)->colors[(d)->color_ndx])
@@ -2427,12 +2364,12 @@
 proc XkbSetShapeDoodadColor(g: PXkbGeometryPtr, d: PXkbShapeDoodadPtr,
                             c: PXkbColorPtr) =
   ##define XkbSetShapeDoodadColor(g,d,c) ((d)->color_ndx= (c)-&(g)->colors[0])
-  d.color_ndx = int16((cast[ByteAddress](c) - cast[ByteAddress](addr(g.colors[0]))) div sizeof(XkbColorRec))
+  d.color_ndx = int16((cast[int](c) - cast[int](addr(g.colors[0]))) div sizeof(XkbColorRec))
 
 proc XkbSetShapeDoodadShape(g: PXkbGeometryPtr, d: PXkbShapeDoodadPtr,
                             s: PXkbShapePtr) =
   ##define XkbSetShapeDoodadShape(g,d,s) ((d)->shape_ndx= (s)-&(g)->shapes[0])
-  d.shape_ndx = int16((cast[ByteAddress](s) - cast[ByteAddress](addr(g.shapes[0]))) div sizeof(XkbShapeRec))
+  d.shape_ndx = int16((cast[int](s) - cast[int](addr(g.shapes[0]))) div sizeof(XkbShapeRec))
 
 proc XkbTextDoodadColor(g: PXkbGeometryPtr, d: PXkbTextDoodadPtr): PXkbColorPtr =
   ##define XkbTextDoodadColor(g,d) (&(g)->colors[(d)->color_ndx])
@@ -2441,7 +2378,7 @@
 proc XkbSetTextDoodadColor(g: PXkbGeometryPtr, d: PXkbTextDoodadPtr,
                            c: PXkbColorPtr) =
   ##define XkbSetTextDoodadColor(g,d,c) ((d)->color_ndx= (c)-&(g)->colors[0])
-  d.color_ndx = int16((cast[ByteAddress](c) - cast[ByteAddress](addr(g.colors[0]))) div sizeof(XkbColorRec))
+  d.color_ndx = int16((cast[int](c) - cast[int](addr(g.colors[0]))) div sizeof(XkbColorRec))
 
 proc XkbIndicatorDoodadShape(g: PXkbGeometryPtr, d: PXkbIndicatorDoodadPtr): PXkbShapeDoodadPtr =
   ##define XkbIndicatorDoodadShape(g,d) (&(g)->shapes[(d)->shape_ndx])
@@ -2458,17 +2395,17 @@
 proc XkbSetIndicatorDoodadOnColor(g: PXkbGeometryPtr, d: PXkbIndicatorDoodadPtr,
                                   c: PXkbColorPtr) =
   ##define XkbSetIndicatorDoodadOnColor(g,d,c) ((d)->on_color_ndx= (c)-&(g)->colors[0])
-  d.on_color_ndx = int16((cast[ByteAddress](c) - cast[ByteAddress](addr(g.colors[0]))) div sizeof(XkbColorRec))
+  d.on_color_ndx = int16((cast[int](c) - cast[int](addr(g.colors[0]))) div sizeof(XkbColorRec))
 
 proc XkbSetIndicatorDoodadOffColor(g: PXkbGeometryPtr,
                                    d: PXkbIndicatorDoodadPtr, c: PXkbColorPtr) =
   ##define        XkbSetIndicatorDoodadOffColor(g,d,c) ((d)->off_color_ndx= (c)-&(g)->colors[0])
-  d.off_color_ndx = int16((cast[ByteAddress](c) - cast[ByteAddress](addr(g.colors[0]))) div sizeof(XkbColorRec))
+  d.off_color_ndx = int16((cast[int](c) - cast[int](addr(g.colors[0]))) div sizeof(XkbColorRec))
 
 proc XkbSetIndicatorDoodadShape(g: PXkbGeometryPtr, d: PXkbIndicatorDoodadPtr,
                                 s: PXkbShapeDoodadPtr) =
   ##define XkbSetIndicatorDoodadShape(g,d,s) ((d)->shape_ndx= (s)-&(g)->shapes[0])
-  d.shape_ndx = int16((cast[ByteAddress](s) - (cast[ByteAddress](addr(g.shapes[0])))) div sizeof(XkbShapeRec))
+  d.shape_ndx = int16((cast[int](s) - (cast[int](addr(g.shapes[0])))) div sizeof(XkbShapeRec))
 
 proc XkbLogoDoodadColor(g: PXkbGeometryPtr, d: PXkbLogoDoodadPtr): PXkbColorPtr =
   ##define XkbLogoDoodadColor(g,d) (&(g)->colors[(d)->color_ndx])
@@ -2481,12 +2418,12 @@
 proc XkbSetLogoDoodadColor(g: PXkbGeometryPtr, d: PXkbLogoDoodadPtr,
                            c: PXkbColorPtr) =
   ##define XkbSetLogoDoodadColor(g,d,c) ((d)->color_ndx= (c)-&(g)->colors[0])
-  d.color_ndx = int16((cast[ByteAddress](c) - cast[ByteAddress](addr(g.colors[0]))) div sizeof(XkbColorRec))
+  d.color_ndx = int16((cast[int](c) - cast[int](addr(g.colors[0]))) div sizeof(XkbColorRec))
 
 proc XkbSetLogoDoodadShape(g: PXkbGeometryPtr, d: PXkbLogoDoodadPtr,
                            s: PXkbShapeDoodadPtr) =
   ##define XkbSetLogoDoodadShape(g,d,s) ((d)->shape_ndx= (s)-&(g)->shapes[0])
-  d.shape_ndx = int16((cast[ByteAddress](s) - cast[ByteAddress](addr(g.shapes[0]))) div sizeof(XkbShapeRec))
+  d.shape_ndx = int16((cast[int](s) - cast[int](addr(g.shapes[0]))) div sizeof(XkbShapeRec))
 
 proc XkbKeyShape(g: PXkbGeometryPtr, k: PXkbKeyPtr): PXkbShapeDoodadPtr =
   ##define XkbKeyShape(g,k) (&(g)->shapes[(k)->shape_ndx])
@@ -2498,12 +2435,12 @@
 
 proc XkbSetKeyShape(g: PXkbGeometryPtr, k: PXkbKeyPtr, s: PXkbShapeDoodadPtr) =
   ##define XkbSetKeyShape(g,k,s) ((k)->shape_ndx= (s)-&(g)->shapes[0])
-  k.shape_ndx = int8((cast[ByteAddress](s) - cast[ByteAddress](addr(g.shapes[0]))) div sizeof(XkbShapeRec))
+  k.shape_ndx = int8((cast[int](s) - cast[int](addr(g.shapes[0]))) div sizeof(XkbShapeRec))
 
 proc XkbSetKeyColor(g: PXkbGeometryPtr, k: PXkbKeyPtr, c: PXkbColorPtr) =
   ##define XkbSetKeyColor(g,k,c) ((k)->color_ndx= (c)-&(g)->colors[0])
-  k.color_ndx = int8((cast[ByteAddress](c) - cast[ByteAddress](addr(g.colors[0]))) div sizeof(XkbColorRec))
+  k.color_ndx = int8((cast[int](c) - cast[int](addr(g.colors[0]))) div sizeof(XkbColorRec))
 
 proc XkbGeomColorIndex(g: PXkbGeometryPtr, c: PXkbColorPtr): int32 =
   ##define XkbGeomColorIndex(g,c) ((int)((c)-&(g)->colors[0]))
-  result = int16((cast[ByteAddress](c) - (cast[ByteAddress](addr(g.colors[0])))) div sizeof(XkbColorRec))
+  result = int16((cast[int](c) - (cast[int](addr(g.colors[0])))) div sizeof(XkbColorRec))
--- a/semicongine/thirdparty/x11/xkblib.nim	Sun Jun 02 16:21:52 2024 +0700
+++ b/semicongine/thirdparty/x11/xkblib.nim	Mon Jun 03 15:53:30 2024 +0700
@@ -59,53 +59,49 @@
 type
   PXkbAnyEvent* = ptr XkbAnyEvent
   XkbAnyEvent*{.final.} = object
-    theType*: int16           # XkbAnyEvent
-    serial*: int32            # # of last req processed by server
-    send_event*: bool         # is this `from` a SendEvent request?
-    display*: PDisplay        # Display the event was read `from`
-    time*: Time               # milliseconds;
-    xkb_type*: int16          # XKB event minor code
-    device*: int16            # device ID
-
-{.deprecated: [TXkbAnyEvent: XkbAnyEvent].}
+    theType*: int16    # XkbAnyEvent
+    serial*: int32     # # of last req processed by server
+    send_event*: bool  # is this `from` a SendEvent request?
+    display*: PDisplay # Display the event was read `from`
+    time*: Time        # milliseconds;
+    xkb_type*: int16   # XKB event minor code
+    device*: int16     # device ID
 
 
 type
   PXkbNewKeyboardNotifyEvent* = ptr XkbNewKeyboardNotifyEvent
   XkbNewKeyboardNotifyEvent*{.final.} = object
-    theType*: int16           # XkbAnyEvent
-    serial*: int32            # of last req processed by server
-    send_event*: bool         # is this `from` a SendEvent request?
-    display*: PDisplay        # Display the event was read `from`
-    time*: Time               # milliseconds
-    xkb_type*: int16          # XkbNewKeyboardNotify
-    device*: int16            # device ID
-    old_device*: int16        # device ID of previous keyboard
-    min_key_code*: int16      # minimum key code
-    max_key_code*: int16      # maximum key code
-    old_min_key_code*: int16  # min key code of previous kbd
-    old_max_key_code*: int16  # max key code of previous kbd
-    changed*: int16           # changed aspects of the keyboard
-    req_major*: int8          # major and minor opcode of req
-    req_minor*: int8          # that caused change, if applicable
-
-{.deprecated: [TXkbNewKeyboardNotifyEvent: XkbNewKeyboardNotifyEvent].}
+    theType*: int16          # XkbAnyEvent
+    serial*: int32           # of last req processed by server
+    send_event*: bool        # is this `from` a SendEvent request?
+    display*: PDisplay       # Display the event was read `from`
+    time*: Time              # milliseconds
+    xkb_type*: int16         # XkbNewKeyboardNotify
+    device*: int16           # device ID
+    old_device*: int16       # device ID of previous keyboard
+    min_key_code*: int16     # minimum key code
+    max_key_code*: int16     # maximum key code
+    old_min_key_code*: int16 # min key code of previous kbd
+    old_max_key_code*: int16 # max key code of previous kbd
+    changed*: int16          # changed aspects of the keyboard
+    req_major*: int8         # major and minor opcode of req
+    req_minor*: int8         # that caused change, if applicable
 
 
 type
   PXkbMapNotifyEvent* = ptr XkbMapNotifyEvent
   XkbMapNotifyEvent*{.final.} = object
-    theType*: int16           # XkbAnyEvent
-    serial*: int32            # of last req processed by server
-    send_event*: bool         # is this `from` a SendEvent request
-    display*: PDisplay        # Display the event was read `from`
-    time*: Time               # milliseconds
-    xkb_type*: int16          # XkbMapNotify
-    device*: int16            # device ID
-    changed*: int16           # fields which have been changed
-    flags*: int16             # reserved
-    first_type*: int16        # first changed key type
-    num_types*: int16         # number of changed key types
+    theType*: int16    # XkbAnyEvent
+    serial*: int32     # of last req processed by server
+    send_event*: bool  # is this `from` a SendEvent request
+    display*: PDisplay # Display the event was read `from`
+    time*: Time        # milliseconds
+    xkb_type*: int16   # XkbMapNotify
+    device*: int16     # device ID
+    changed*: int16    # fields which have been changed
+    flags*: int16      # reserved
+    first_type*: int16 # first changed key type
+    num_types*: int16  # number of changed key types
     min_key_code*: KeyCode
     max_key_code*: KeyCode
     first_key_sym*: KeyCode
@@ -120,9 +116,7 @@
     num_key_explicit*: int16
     num_modmap_keys*: int16
     num_vmodmap_keys*: int16
-    vmods*: int16             # mask of changed virtual mods
-
-{.deprecated: [TXkbMapNotifyEvent: XkbMapNotifyEvent].}
+    vmods*: int16      # mask of changed virtual mods
 
 
 type
@@ -155,173 +149,155 @@
     req_major*: int8          # Major opcode of request
     req_minor*: int8          # Minor opcode of request
 
-{.deprecated: [TXkbStateNotifyEvent: XkbStateNotifyEvent].}
-
 
 type
   PXkbControlsNotifyEvent* = ptr XkbControlsNotifyEvent
   XkbControlsNotifyEvent*{.final.} = object
-    theType*: int16           # XkbAnyEvent
-    serial*: int32            # of last req processed by server
-    send_event*: bool         # is this `from` a SendEvent request?
-    display*: PDisplay        # Display the event was read `from`
-    time*: Time               # milliseconds
-    xkb_type*: int16          # XkbControlsNotify
-    device*: int16            # device ID
-    changed_ctrls*: int16     # controls with changed sub-values
-    enabled_ctrls*: int16     # controls currently enabled
+    theType*: int16              # XkbAnyEvent
+    serial*: int32               # of last req processed by server
+    send_event*: bool            # is this `from` a SendEvent request?
+    display*: PDisplay           # Display the event was read `from`
+    time*: Time                  # milliseconds
+    xkb_type*: int16             # XkbControlsNotify
+    device*: int16               # device ID
+    changed_ctrls*: int16        # controls with changed sub-values
+    enabled_ctrls*: int16        # controls currently enabled
     enabled_ctrl_changes*: int16 # controls just {en,dis}abled
-    num_groups*: int16        # total groups on keyboard
-    keycode*: KeyCode         # key that caused change or 0
-    event_type*: int8         # type of event that caused change
-    req_major*: int8          # if keycode==0, major and minor
-    req_minor*: int8          # opcode of req that caused change
-
-{.deprecated: [TXkbControlsNotifyEvent: XkbControlsNotifyEvent].}
+    num_groups*: int16           # total groups on keyboard
+    keycode*: KeyCode            # key that caused change or 0
+    event_type*: int8            # type of event that caused change
+    req_major*: int8             # if keycode==0, major and minor
+    req_minor*: int8             # opcode of req that caused change
 
 
 type
   PXkbIndicatorNotifyEvent* = ptr XkbIndicatorNotifyEvent
   XkbIndicatorNotifyEvent*{.final.} = object
-    theType*: int16           # XkbAnyEvent
-    serial*: int32            # of last req processed by server
-    send_event*: bool         # is this `from` a SendEvent request?
-    display*: PDisplay        # Display the event was read `from`
-    time*: Time               # milliseconds
-    xkb_type*: int16          # XkbIndicatorNotify
-    device*: int16            # device
-    changed*: int16           # indicators with new state or map
-    state*: int16             # current state of all indicators
-
-{.deprecated: [TXkbIndicatorNotifyEvent: XkbIndicatorNotifyEvent].}
+    theType*: int16    # XkbAnyEvent
+    serial*: int32     # of last req processed by server
+    send_event*: bool  # is this `from` a SendEvent request?
+    display*: PDisplay # Display the event was read `from`
+    time*: Time        # milliseconds
+    xkb_type*: int16   # XkbIndicatorNotify
+    device*: int16     # device
+    changed*: int16    # indicators with new state or map
+    state*: int16      # current state of all indicators
 
 
 type
   PXkbNamesNotifyEvent* = ptr XkbNamesNotifyEvent
   XkbNamesNotifyEvent*{.final.} = object
-    theType*: int16           # XkbAnyEvent
-    serial*: int32            # of last req processed by server
-    send_event*: bool         # is this `from` a SendEvent request?
-    display*: PDisplay        # Display the event was read `from`
-    time*: Time               # milliseconds
-    xkb_type*: int16          # XkbNamesNotify
-    device*: int16            # device ID
-    changed*: int32           # names that have changed
-    first_type*: int16        # first key type with new name
-    num_types*: int16         # number of key types with new names
-    first_lvl*: int16         # first key type new new level names
-    num_lvls*: int16          # # of key types w/new level names
-    num_aliases*: int16       # total number of key aliases
-    num_radio_groups*: int16  # total number of radio groups
-    changed_vmods*: int16     # virtual modifiers with new names
-    changed_groups*: int16    # groups with new names
+    theType*: int16            # XkbAnyEvent
+    serial*: int32             # of last req processed by server
+    send_event*: bool          # is this `from` a SendEvent request?
+    display*: PDisplay         # Display the event was read `from`
+    time*: Time                # milliseconds
+    xkb_type*: int16           # XkbNamesNotify
+    device*: int16             # device ID
+    changed*: int32            # names that have changed
+    first_type*: int16         # first key type with new name
+    num_types*: int16          # number of key types with new names
+    first_lvl*: int16          # first key type new new level names
+    num_lvls*: int16           # # of key types w/new level names
+    num_aliases*: int16        # total number of key aliases
+    num_radio_groups*: int16   # total number of radio groups
+    changed_vmods*: int16      # virtual modifiers with new names
+    changed_groups*: int16     # groups with new names
     changed_indicators*: int16 # indicators with new names
-    first_key*: int16         # first key with new name
-    num_keys*: int16          # number of keys with new names
-
-{.deprecated: [TXkbNamesNotifyEvent: XkbNamesNotifyEvent].}
+    first_key*: int16          # first key with new name
+    num_keys*: int16           # number of keys with new names
 
 
 type
   PXkbCompatMapNotifyEvent* = ptr XkbCompatMapNotifyEvent
   XkbCompatMapNotifyEvent*{.final.} = object
-    theType*: int16           # XkbAnyEvent
-    serial*: int32            # of last req processed by server
-    send_event*: bool         # is this `from` a SendEvent request?
-    display*: PDisplay        # Display the event was read `from`
-    time*: Time               # milliseconds
-    xkb_type*: int16          # XkbCompatMapNotify
-    device*: int16            # device ID
-    changed_groups*: int16    # groups with new compat maps
-    first_si*: int16          # first new symbol interp
-    num_si*: int16            # number of new symbol interps
-    num_total_si*: int16      # total # of symbol interps
-
-{.deprecated: [TXkbCompatMapNotifyEvent: XkbCompatMapNotifyEvent].}
+    theType*: int16        # XkbAnyEvent
+    serial*: int32         # of last req processed by server
+    send_event*: bool      # is this `from` a SendEvent request?
+    display*: PDisplay     # Display the event was read `from`
+    time*: Time            # milliseconds
+    xkb_type*: int16       # XkbCompatMapNotify
+    device*: int16         # device ID
+    changed_groups*: int16 # groups with new compat maps
+    first_si*: int16       # first new symbol interp
+    num_si*: int16         # number of new symbol interps
+    num_total_si*: int16   # total # of symbol interps
 
 
 type
   PXkbBellNotifyEvent* = ptr XkbBellNotifyEvent
   XkbBellNotifyEvent*{.final.} = object
-    theType*: int16           # XkbAnyEvent
-    serial*: int32            # of last req processed by server
-    send_event*: bool         # is this `from` a SendEvent request?
-    display*: PDisplay        # Display the event was read `from`
-    time*: Time               # milliseconds
-    xkb_type*: int16          # XkbBellNotify
-    device*: int16            # device ID
-    percent*: int16           # requested volume as a % of maximum
-    pitch*: int16             # requested pitch in Hz
-    duration*: int16          # requested duration in useconds
-    bell_class*: int16        # (input extension) feedback class
-    bell_id*: int16           # (input extension) ID of feedback
-    name*: Atom               # "name" of requested bell
-    window*: Window           # window associated with event
-    event_only*: bool         # "event only" requested
-
-{.deprecated: [TXkbBellNotifyEvent: XkbBellNotifyEvent].}
+    theType*: int16    # XkbAnyEvent
+    serial*: int32     # of last req processed by server
+    send_event*: bool  # is this `from` a SendEvent request?
+    display*: PDisplay # Display the event was read `from`
+    time*: Time        # milliseconds
+    xkb_type*: int16   # XkbBellNotify
+    device*: int16     # device ID
+    percent*: int16    # requested volume as a % of maximum
+    pitch*: int16      # requested pitch in Hz
+    duration*: int16   # requested duration in useconds
+    bell_class*: int16 # (input extension) feedback class
+    bell_id*: int16    # (input extension) ID of feedback
+    name*: Atom        # "name" of requested bell
+    window*: Window    # window associated with event
+    event_only*: bool  # "event only" requested
 
 
 type
   PXkbActionMessageEvent* = ptr XkbActionMessageEvent
   XkbActionMessageEvent*{.final.} = object
-    theType*: int16           # XkbAnyEvent
-    serial*: int32            # of last req processed by server
-    send_event*: bool         # is this `from` a SendEvent request?
-    display*: PDisplay        # Display the event was read `from`
-    time*: Time               # milliseconds
-    xkb_type*: int16          # XkbActionMessage
-    device*: int16            # device ID
-    keycode*: KeyCode         # key that generated the event
-    press*: bool              # true if act caused by key press
-    key_event_follows*: bool  # true if key event also generated
-    group*: int16             # effective group
-    mods*: int16              # effective mods
+    theType*: int16                                  # XkbAnyEvent
+    serial*: int32                                   # of last req processed by server
+    send_event*: bool                                # is this `from` a SendEvent request?
+    display*: PDisplay                               # Display the event was read `from`
+    time*: Time                                      # milliseconds
+    xkb_type*: int16                                 # XkbActionMessage
+    device*: int16                                   # device ID
+    keycode*: KeyCode                                # key that generated the event
+    press*: bool                                     # true if act caused by key press
+    key_event_follows*: bool                         # true if key event also generated
+    group*: int16                                    # effective group
+    mods*: int16                                     # effective mods
     message*: array[0..XkbActionMessageLength, char] # message -- leave space for NUL
 
-{.deprecated: [TXkbActionMessageEvent: XkbActionMessageEvent].}
-
 
 type
   PXkbAccessXNotifyEvent* = ptr XkbAccessXNotifyEvent
   XkbAccessXNotifyEvent*{.final.} = object
-    theType*: int16           # XkbAnyEvent
-    serial*: int32            # of last req processed by server
-    send_event*: bool         # is this `from` a SendEvent request?
-    display*: PDisplay        # Display the event was read `from`
-    time*: Time               # milliseconds
-    xkb_type*: int16          # XkbAccessXNotify
-    device*: int16            # device ID
-    detail*: int16            # XkbAXN_*
-    keycode*: int16           # key of event
-    sk_delay*: int16          # current slow keys delay
-    debounce_delay*: int16    # current debounce delay
-
-{.deprecated: [TXkbAccessXNotifyEvent: XkbAccessXNotifyEvent].}
+    theType*: int16        # XkbAnyEvent
+    serial*: int32         # of last req processed by server
+    send_event*: bool      # is this `from` a SendEvent request?
+    display*: PDisplay     # Display the event was read `from`
+    time*: Time            # milliseconds
+    xkb_type*: int16       # XkbAccessXNotify
+    device*: int16         # device ID
+    detail*: int16         # XkbAXN_*
+    keycode*: int16        # key of event
+    sk_delay*: int16       # current slow keys delay
+    debounce_delay*: int16 # current debounce delay
 
 
 type
   PXkbExtensionDeviceNotifyEvent* = ptr XkbExtensionDeviceNotifyEvent
   XkbExtensionDeviceNotifyEvent*{.final.} = object
-    theType*: int16           # XkbAnyEvent
-    serial*: int32            # of last req processed by server
-    send_event*: bool         # is this `from` a SendEvent request?
-    display*: PDisplay        # Display the event was read `from`
-    time*: Time               # milliseconds
-    xkb_type*: int16          # XkbExtensionDeviceNotify
-    device*: int16            # device ID
-    reason*: int16            # reason for the event
-    supported*: int16         # mask of supported features
-    unsupported*: int16       # mask of unsupported features
-                              # that some app tried to use
-    first_btn*: int16         # first button that changed
-    num_btns*: int16          # range of buttons changed
-    leds_defined*: int16      # indicators with names or maps
-    led_state*: int16         # current state of the indicators
-    led_class*: int16         # feedback class for led changes
-    led_id*: int16            # feedback id for led changes
-
-{.deprecated: [TXkbExtensionDeviceNotifyEvent: XkbExtensionDeviceNotifyEvent].}
+    theType*: int16      # XkbAnyEvent
+    serial*: int32       # of last req processed by server
+    send_event*: bool    # is this `from` a SendEvent request?
+    display*: PDisplay   # Display the event was read `from`
+    time*: Time          # milliseconds
+    xkb_type*: int16     # XkbExtensionDeviceNotify
+    device*: int16       # device ID
+    reason*: int16       # reason for the event
+    supported*: int16    # mask of supported features
+    unsupported*: int16  # mask of unsupported features
+                         # that some app tried to use
+    first_btn*: int16    # first button that changed
+    num_btns*: int16     # range of buttons changed
+    leds_defined*: int16 # indicators with names or maps
+    led_state*: int16    # current state of the indicators
+    led_class*: int16    # feedback class for led changes
+    led_id*: int16       # feedback id for led changes
 
 
 type
@@ -342,14 +318,10 @@
     device*: XkbExtensionDeviceNotifyEvent
     core*: XEvent
 
-{.deprecated: [TXkbEvent: XkbEvent].}
-
 
 type
   PXkbKbdDpyStatePtr* = ptr XkbKbdDpyStateRec
-  XkbKbdDpyStateRec*{.final.} = object  # XkbOpenDisplay error codes
-
-{.deprecated: [TXkbKbdDpyStateRec: XkbKbdDpyStateRec].}
+  XkbKbdDpyStateRec*{.final.} = object # XkbOpenDisplay error codes
 
 const
   XkbOD_Success* = 0
@@ -605,21 +577,21 @@
     importc: "XkbGetKeyboardByName".}
 
 proc XkbKeyTypesForCoreSymbols*(xkb: PXkbDescPtr,
-                                map_width: int16,  # keyboard device
-                                core_syms: PKeySym,  # always mapWidth symbols
-                                protected: int16,  # explicit key types
-                                types_inout: ptr int16,  # always four type indices
+                                map_width: int16, # keyboard device
+                                core_syms: PKeySym, # always mapWidth symbols
+                                protected: int16, # explicit key types
+                                types_inout: ptr int16, # always four type indices
                                 xkb_syms_rtrn: PKeySym): int16{.libx11c, importc: "XkbKeyTypesForCoreSymbols".}
   # must have enough space
 proc XkbApplyCompatMapToKey*(xkb: PXkbDescPtr,
-                             key: KeyCode,  # key to be updated
+                             key: KeyCode, # key to be updated
                              changes: PXkbChangesPtr): bool{.libx11c, importc: "XkbApplyCompatMapToKey".}
   # resulting changes to map
 proc XkbUpdateMapFromCore*(xkb: PXkbDescPtr,
-                           first_key: KeyCode,  # first changed key
+                           first_key: KeyCode, # first changed key
                            num_keys,
                            map_width: int16,
-                           core_keysyms: PKeySym,  # symbols `from` core keymap
+                           core_keysyms: PKeySym, # symbols `from` core keymap
                            changes: PXkbChangesPtr): bool{.libx11c, importc: "XkbUpdateMapFromCore".}
 
 proc XkbAddDeviceLedInfo*(devi: PXkbDeviceInfoPtr, ledClass, ledId: int16): PXkbDeviceLedInfoPtr{.
--- a/semicongine/thirdparty/x11/xlib.nim	Sun Jun 02 16:21:52 2024 +0700
+++ b/semicongine/thirdparty/x11/xlib.nim	Mon Jun 03 15:53:30 2024 +0700
@@ -8,7 +8,7 @@
   cunsigned* = cint
   Pcint* = ptr cint
   PPcint* = ptr Pcint
-  PPcuchar* = ptr ptr cuchar
+  PPcuchar* = ptr ptr char
   PWideChar* = ptr int16
   PPChar* = ptr cstring
   PPPChar* = ptr ptr cstring
@@ -36,10 +36,6 @@
   PStatus* = ptr Status
   Status* = cint
 
-{.deprecated: [TXPointer: XPointer].}
-{.deprecated: [TXBool: XBool].}
-{.deprecated: [TStatus: Status].}
-
 const
   QueuedAlready* = 0
   QueuedAfterReading* = 1
@@ -725,9 +721,9 @@
     display*: PDisplay
     resourceid*: XID
     serial*: culong
-    error_code*: cuchar
-    request_code*: cuchar
-    minor_code*: cuchar
+    error_code*: char
+    request_code*: char
+    minor_code*: char
 
   PXAnyEvent* = ptr XAnyEvent
   XAnyEvent*{.final.} = object
@@ -739,21 +735,21 @@
 
   PXGenericEvent* = ptr XGenericEvent
   XGenericEvent*{.final.} = object
-    theType*: cint              ##  of event. Always GenericEvent
-    serial*: culong            ##  # of last request processed
-    send_event*: XBool          ##  true if from SendEvent request
-    display*: PDisplay       ##  Display the event was read from
-    extension*: cint           ##  major opcode of extension that caused the event
-    evtype*: cint              ##  actual event type.
+    theType*: cint     ##  of event. Always GenericEvent
+    serial*: culong    ##  # of last request processed
+    send_event*: XBool ##  true if from SendEvent request
+    display*: PDisplay ##  Display the event was read from
+    extension*: cint   ##  major opcode of extension that caused the event
+    evtype*: cint      ##  actual event type.
 
   PXGenericEventCookie* = ptr XGenericEventCookie
   XGenericEventCookie*{.final.} = object
-    theType*: cint              ##  of event. Always GenericEvent
-    serial*: culong            ##  # of last request processed
-    send_event*: XBool          ##  true if from SendEvent request
-    display*: PDisplay       ##  Display the event was read from
-    extension*: cint           ##  major opcode of extension that caused the event
-    evtype*: cint              ##  actual event type.
+    theType*: cint     ##  of event. Always GenericEvent
+    serial*: culong    ##  # of last request processed
+    send_event*: XBool ##  true if from SendEvent request
+    display*: PDisplay ##  Display the event was read from
+    extension*: cint   ##  major opcode of extension that caused the event
+    evtype*: cint      ##  actual event type.
     cookie*: cuint
     data*: pointer
 
@@ -795,79 +791,6 @@
     xcookie*: XGenericEventCookie
     pad: array[0..23, clong]
 
-{.deprecated: [TXExtData: XExtData].}
-{.deprecated: [TXExtCodes: XExtCodes].}
-{.deprecated: [TXPixmapFormatValues: XPixmapFormatValues].}
-{.deprecated: [TXGCValues: XGCValues].}
-{.deprecated: [TXGC: XGC].}
-{.deprecated: [TGC: GC].}
-{.deprecated: [TVisual: Visual].}
-{.deprecated: [TDepth: Depth].}
-{.deprecated: [TXDisplay: XDisplay].}
-{.deprecated: [TScreen: Screen].}
-{.deprecated: [TScreenFormat: ScreenFormat].}
-{.deprecated: [TXSetWindowAttributes: XSetWindowAttributes].}
-{.deprecated: [TXWindowAttributes: XWindowAttributes].}
-{.deprecated: [TXHostAddress: XHostAddress].}
-{.deprecated: [TXServerInterpretedAddress: XServerInterpretedAddress].}
-{.deprecated: [TF: F].}
-{.deprecated: [TXImage: XImage].}
-{.deprecated: [TXWindowChanges: XWindowChanges].}
-{.deprecated: [TXColor: XColor].}
-{.deprecated: [TXSegment: XSegment].}
-{.deprecated: [TXPoint: XPoint].}
-{.deprecated: [TXRectangle: XRectangle].}
-{.deprecated: [TXArc: XArc].}
-{.deprecated: [TXKeyboardControl: XKeyboardControl].}
-{.deprecated: [TXKeyboardState: XKeyboardState].}
-{.deprecated: [TXTimeCoord: XTimeCoord].}
-{.deprecated: [TXModifierKeymap: XModifierKeymap].}
-{.deprecated: [TDisplay: Display].}
-{.deprecated: [TPrivate: Private].}
-{.deprecated: [TXrmHashBucketRec: XrmHashBucketRec].}
-{.deprecated: [TXPrivDisplay: XPrivDisplay].}
-{.deprecated: [TXKeyEvent: XKeyEvent].}
-{.deprecated: [TXKeyPressedEvent: XKeyPressedEvent].}
-{.deprecated: [TXKeyReleasedEvent: XKeyReleasedEvent].}
-{.deprecated: [TXButtonEvent: XButtonEvent].}
-{.deprecated: [TXButtonPressedEvent: XButtonPressedEvent].}
-{.deprecated: [TXButtonReleasedEvent: XButtonReleasedEvent].}
-{.deprecated: [TXMotionEvent: XMotionEvent].}
-{.deprecated: [TXPointerMovedEvent: XPointerMovedEvent].}
-{.deprecated: [TXCrossingEvent: XCrossingEvent].}
-{.deprecated: [TXEnterWindowEvent: XEnterWindowEvent].}
-{.deprecated: [TXLeaveWindowEvent: XLeaveWindowEvent].}
-{.deprecated: [TXFocusChangeEvent: XFocusChangeEvent].}
-{.deprecated: [TXFocusInEvent: XFocusInEvent].}
-{.deprecated: [TXFocusOutEvent: XFocusOutEvent].}
-{.deprecated: [TXKeymapEvent: XKeymapEvent].}
-{.deprecated: [TXExposeEvent: XExposeEvent].}
-{.deprecated: [TXGraphicsExposeEvent: XGraphicsExposeEvent].}
-{.deprecated: [TXNoExposeEvent: XNoExposeEvent].}
-{.deprecated: [TXVisibilityEvent: XVisibilityEvent].}
-{.deprecated: [TXCreateWindowEvent: XCreateWindowEvent].}
-{.deprecated: [TXDestroyWindowEvent: XDestroyWindowEvent].}
-{.deprecated: [TXUnmapEvent: XUnmapEvent].}
-{.deprecated: [TXMapEvent: XMapEvent].}
-{.deprecated: [TXMapRequestEvent: XMapRequestEvent].}
-{.deprecated: [TXReparentEvent: XReparentEvent].}
-{.deprecated: [TXConfigureEvent: XConfigureEvent].}
-{.deprecated: [TXGravityEvent: XGravityEvent].}
-{.deprecated: [TXResizeRequestEvent: XResizeRequestEvent].}
-{.deprecated: [TXConfigureRequestEvent: XConfigureRequestEvent].}
-{.deprecated: [TXCirculateEvent: XCirculateEvent].}
-{.deprecated: [TXCirculateRequestEvent: XCirculateRequestEvent].}
-{.deprecated: [TXPropertyEvent: XPropertyEvent].}
-{.deprecated: [TXSelectionClearEvent: XSelectionClearEvent].}
-{.deprecated: [TXSelectionRequestEvent: XSelectionRequestEvent].}
-{.deprecated: [TXSelectionEvent: XSelectionEvent].}
-{.deprecated: [TXColormapEvent: XColormapEvent].}
-{.deprecated: [TXClientMessageData: XClientMessageData].}
-{.deprecated: [TXClientMessageEvent: XClientMessageEvent].}
-{.deprecated: [TXMappingEvent: XMappingEvent].}
-{.deprecated: [TXErrorEvent: XErrorEvent].}
-{.deprecated: [TXAnyEvent: XAnyEvent].}
-{.deprecated: [TXEvent: XEvent].}
 
 type
   PXCharStruct* = ptr XCharStruct
@@ -914,8 +837,8 @@
 
   PXChar2b* = ptr XChar2b
   XChar2b*{.final.} = object
-    byte1*: cuchar
-    byte2*: cuchar
+    byte1*: char
+    byte2*: char
 
   PXTextItem16* = ptr XTextItem16
   XTextItem16*{.final.} = object
@@ -926,13 +849,13 @@
 
   PXEDataObject* = ptr XEDataObject
   XEDataObject*{.final.} = object
-    display*: PDisplay        # case longint of
-                              #          0 : ( display : PDisplay );
-                              #          1 : ( gc : GC );
-                              #          2 : ( visual : PVisual );
-                              #          3 : ( screen : PScreen );
-                              #          4 : ( pixmap_format : PScreenFormat );
-                              #          5 : ( font : PXFontStruct );
+    display*: PDisplay # case longint of
+                       #          0 : ( display : PDisplay );
+                       #          1 : ( gc : GC );
+                       #          2 : ( visual : PVisual );
+                       #          3 : ( screen : PScreen );
+                       #          4 : ( pixmap_format : PScreenFormat );
+                       #          5 : ( font : PXFontStruct );
 
   PXFontSetExtents* = ptr XFontSetExtents
   XFontSetExtents*{.final.} = object
@@ -957,25 +880,11 @@
 
   PXwcTextItem* = ptr XwcTextItem
   XwcTextItem*{.final.} = object
-    chars*: PWideChar         #wchar_t*
+    chars*: PWideChar #wchar_t*
     nchars*: cint
     delta*: cint
     font_set*: XFontSet
 
-{.deprecated: [TXCharStruct: XCharStruct].}
-{.deprecated: [TXFontProp: XFontProp].}
-{.deprecated: [TXFontStruct: XFontStruct].}
-{.deprecated: [TXTextItem: XTextItem].}
-{.deprecated: [TXChar2b: XChar2b].}
-{.deprecated: [TXTextItem16: XTextItem16].}
-{.deprecated: [TXEDataObject: XEDataObject].}
-{.deprecated: [TXFontSetExtents: XFontSetExtents].}
-{.deprecated: [TXOM: XOM].}
-{.deprecated: [TXOC: XOC].}
-{.deprecated: [TXFontSet: XFontSet].}
-{.deprecated: [TXmbTextItem: XmbTextItem].}
-{.deprecated: [TXwcTextItem: XwcTextItem].}
-
 const
   XNRequiredCharSet* = "requiredCharSet"
   XNQueryOrientation* = "queryOrientation"
@@ -1029,18 +938,6 @@
     count_styles*: cushort
     supported_styles*: PXIMStyle
 
-{.deprecated: [TXOMCharSetList: XOMCharSetList].}
-{.deprecated: [TXOrientation: XOrientation].}
-{.deprecated: [TXOMOrientation: XOMOrientation].}
-{.deprecated: [TXOMFontInfo: XOMFontInfo].}
-{.deprecated: [TXIM: XIM].}
-{.deprecated: [TXIC: XIC].}
-{.deprecated: [TXIMProc: XIMProc].}
-{.deprecated: [TXICProc: XICProc].}
-{.deprecated: [TXIDProc: XIDProc].}
-{.deprecated: [TXIMStyle: XIMStyle].}
-{.deprecated: [TXIMStyles: XIMStyles].}
-
 const
   XIMPreeditArea* = 0x00000001
   XIMPreeditCallbacks* = 0x00000002
@@ -1116,11 +1013,6 @@
   PXIMFeedback* = ptr XIMFeedback
   XIMFeedback* = culong
 
-{.deprecated: [TXVaNestedList: XVaNestedList].}
-{.deprecated: [TXIMCallback: XIMCallback].}
-{.deprecated: [TXICCallback: XICCallback].}
-{.deprecated: [TXIMFeedback: XIMFeedback].}
-
 const
   XIMReverse* = 1
   XIMUnderline* = 1 shl 1
@@ -1143,9 +1035,6 @@
   PXIMPreeditState* = ptr XIMPreeditState
   XIMPreeditState* = culong
 
-{.deprecated: [TXIMText: XIMText].}
-{.deprecated: [TXIMPreeditState: XIMPreeditState].}
-
 const
   XIMPreeditUnKnown* = 0
   XIMPreeditEnable* = 1
@@ -1159,9 +1048,6 @@
   PXIMResetState* = ptr XIMResetState
   XIMResetState* = culong
 
-{.deprecated: [TXIMPreeditStateNotifyCallbackStruct: XIMPreeditStateNotifyCallbackStruct].}
-{.deprecated: [TXIMResetState: XIMResetState].}
-
 const
   XIMInitialState* = 1
   XIMPreserveState* = 1 shl 1
@@ -1170,8 +1056,6 @@
   PXIMStringConversionFeedback* = ptr XIMStringConversionFeedback
   XIMStringConversionFeedback* = culong
 
-{.deprecated: [TXIMStringConversionFeedback: XIMStringConversionFeedback].}
-
 const
   XIMStringConversionLeftEdge* = 0x00000001
   XIMStringConversionRightEdge* = 0x00000002
@@ -1194,10 +1078,6 @@
   PXIMStringConversionType* = ptr XIMStringConversionType
   XIMStringConversionType* = cushort
 
-{.deprecated: [TXIMStringConversionText: XIMStringConversionText].}
-{.deprecated: [TXIMStringConversionPosition: XIMStringConversionPosition].}
-{.deprecated: [TXIMStringConversionType: XIMStringConversionType].}
-
 const
   XIMStringConversionBuffer* = 0x00000001
   XIMStringConversionLine* = 0x00000002
@@ -1208,8 +1088,6 @@
   PXIMStringConversionOperation* = ptr XIMStringConversionOperation
   XIMStringConversionOperation* = cushort
 
-{.deprecated: [TXIMStringConversionOperation: XIMStringConversionOperation].}
-
 const
   XIMStringConversionSubstitution* = 0x00000001
   XIMStringConversionRetrieval* = 0x00000002
@@ -1269,17 +1147,6 @@
   PXIMHotKeyState* = ptr XIMHotKeyState
   XIMHotKeyState* = culong
 
-{.deprecated: [TXIMCaretDirection: XIMCaretDirection].}
-{.deprecated: [TXIMStringConversionCallbackStruct: XIMStringConversionCallbackStruct].}
-{.deprecated: [TXIMPreeditDrawCallbackStruct: XIMPreeditDrawCallbackStruct].}
-{.deprecated: [TXIMCaretStyle: XIMCaretStyle].}
-{.deprecated: [TXIMPreeditCaretCallbackStruct: XIMPreeditCaretCallbackStruct].}
-{.deprecated: [TXIMStatusDataType: XIMStatusDataType].}
-{.deprecated: [TXIMStatusDrawCallbackStruct: XIMStatusDrawCallbackStruct].}
-{.deprecated: [TXIMHotKeyTrigger: XIMHotKeyTrigger].}
-{.deprecated: [TXIMHotKeyTriggers: XIMHotKeyTriggers].}
-{.deprecated: [TXIMHotKeyState: XIMHotKeyState].}
-
 const
   XIMHotKeyStateON* = 0x00000001
   XIMHotKeyStateOFF* = 0x00000002
@@ -1290,8 +1157,6 @@
     count_values*: cushort
     supported_values*: PPChar
 
-{.deprecated: [TXIMValuesList: XIMValuesList].}
-
 
 type
   funcdisp* = proc (display: PDisplay): cint{.cdecl.}
@@ -1426,12 +1291,10 @@
 
 type
   XErrorHandler* = proc (para1: PDisplay, para2: PXErrorEvent): cint{.cdecl.}
-{.deprecated: [TXErrorHandler: XErrorHandler].}
 
 proc XSetErrorHandler*(para1: XErrorHandler): XErrorHandler{.libx11.}
 type
   XIOErrorHandler* = proc (para1: PDisplay): cint{.cdecl.}
-{.deprecated: [TXIOErrorHandler: XIOErrorHandler].}
 
 proc XSetIOErrorHandler*(para1: XIOErrorHandler): XIOErrorHandler{.libx11.}
 proc XListPixmapFormats*(para1: PDisplay, para2: Pcint): PXPixmapFormatValues{.
@@ -1975,7 +1838,6 @@
 type
   XConnectionWatchProc* = proc (para1: PDisplay, para2: XPointer, para3: cint,
                                  para4: XBool, para5: PXPointer){.cdecl.}
-{.deprecated: [TXConnectionWatchProc: XConnectionWatchProc].}
 
 proc XInternalConnectionNumbers*(para1: PDisplay, para2: PPcint, para3: Pcint): Status{.
     libx11.}
@@ -2047,7 +1909,7 @@
 # implementation
 
 #when defined(MACROS):
-template privDisp : untyped = cast[PXPrivDisplay](dpy)
+template privDisp: untyped = cast[PXPrivDisplay](dpy)
 
 proc ConnectionNumber(dpy: PDisplay): cint =
   privDisp.fd
--- a/semicongine/thirdparty/x11/xrandr.nim	Sun Jun 02 16:21:52 2024 +0700
+++ b/semicongine/thirdparty/x11/xrandr.nim	Mon Jun 03 15:53:30 2024 +0700
@@ -80,34 +80,25 @@
   PConnection* = ptr Connection
   Connection* = cushort
 
-{.deprecated: [TRotation: Rotation].}
-{.deprecated: [TSizeID: SizeID].}
-{.deprecated: [TSubpixelOrder: SubpixelOrder].}
-{.deprecated: [TRRCrtc: RRCrtc].}
-{.deprecated: [TRROutput: RROutput].}
-{.deprecated: [TRRMode: RRMode].}
-{.deprecated: [TXRRModeFlags: XRRModeFlags].}
-{.deprecated: [TConnection: Connection].}
-
 const
   RANDR_NAME* = "RANDR"
   RANDR_MAJOR* = 1
   RANDR_MINOR* = 1
   RRNumberErrors* = 0
   RRNumberEvents* = 1
-  constX_RRQueryVersion* = 0 # we skip 1 to make old clients fail pretty immediately
+  constX_RRQueryVersion* = 0          # we skip 1 to make old clients fail pretty immediately
   X_RROldGetScreenInfo* = 1
-  X_RR1_0SetScreenConfig* = 2 # V1.0 apps share the same set screen config request id
+  X_RR1_0SetScreenConfig* = 2         # V1.0 apps share the same set screen config request id
   constX_RRSetScreenConfig* = 2
   X_RROldScreenChangeSelectInput* = 3 # 3 used to be ScreenChangeSelectInput; deprecated
   constX_RRSelectInput* = 4
-  constX_RRGetScreenInfo* = 5      # used in XRRSelectInput
+  constX_RRGetScreenInfo* = 5         # used in XRRSelectInput
   RRScreenChangeNotifyMask* = 1 shl 0
-  RRScreenChangeNotify* = 0   # used in the rotation field; rotation and reflection in 0.1 proto.
+  RRScreenChangeNotify* = 0           # used in the rotation field; rotation and reflection in 0.1 proto.
   RR_Rotate_0* = 1
   RR_Rotate_90* = 2
   RR_Rotate_180* = 4
-  RR_Rotate_270* = 8          # new in 1.0 protocol, to allow reflection of screen
+  RR_Rotate_270* = 8                  # new in 1.0 protocol, to allow reflection of screen
   RR_Reflect_X* = 16
   RR_Reflect_Y* = 32
   RRSetConfigSuccess* = 0
@@ -120,21 +111,21 @@
 
 type
   PXRRScreenSize* = ptr XRRScreenSize
-  XRRScreenSize*{.final.} = object  #
-                                    #   Events.
-                                    #
+  XRRScreenSize*{.final.} = object #
+                                   #   Events.
+                                   #
     width*, height*: cint
     mwidth*, mheight*: cint
 
-  XRRScreenChangeNotifyEvent*{.final.} = object  # internal representation is private to the library
-    typ*: cint               # event base
-    serial*: culong          # # of last request processed by server
-    send_event*: XBool        # true if this came from a SendEvent request
-    display*: PDisplay       # Display the event was read from
-    window*: Window          # window which selected for this event
-    root*: Window            # Root window for changed screen
-    timestamp*: Time         # when the screen change occurred
-    config_timestamp*: Time  # when the last configuration change
+  XRRScreenChangeNotifyEvent*{.final.} = object # internal representation is private to the library
+    typ*: cint                                  # event base
+    serial*: culong                             # # of last request processed by server
+    send_event*: XBool                          # true if this came from a SendEvent request
+    display*: PDisplay                          # Display the event was read from
+    window*: Window                             # window which selected for this event
+    root*: Window                               # Root window for changed screen
+    timestamp*: Time                            # when the screen change occurred
+    config_timestamp*: Time                     # when the last configuration change
     size_index*: SizeID
     subpixel_order*: SubpixelOrder
     rotation*: Rotation
@@ -192,14 +183,6 @@
   RandrFormat* = enum
     randrFormat16bit = 16, randrFormat32bit = 32
 
-{.deprecated: [TXRRScreenSize: XRRScreenSize].}
-{.deprecated: [TXRRScreenChangeNotifyEvent: XRRScreenChangeNotifyEvent].}
-{.deprecated: [TXRRScreenConfiguration: XRRScreenConfiguration].}
-{.deprecated: [TXRRModeInfo: XRRModeInfo].}
-{.deprecated: [TXRRScreenResources: XRRScreenResources].}
-{.deprecated: [TXRROutputInfo: XRROutputInfo].}
-{.deprecated: [TXRRPropertyInfo: XRRPropertyInfo].}
-
 proc XRRQueryExtension*(dpy: PDisplay, event_basep, error_basep: Pcint): XBool{.
     cdecl, dynlib: libXrandr, importc.}
 proc XRRQueryVersion*(dpy: PDisplay, major_versionp: Pcint,
--- a/semicongine/thirdparty/x11/xrender.nim	Sun Jun 02 16:21:52 2024 +0700
+++ b/semicongine/thirdparty/x11/xrender.nim	Mon Jun 03 15:53:30 2024 +0700
@@ -1,6 +1,6 @@
 
 import
-  x, xlib
+    x, xlib
 
 when defined(use_pkg_config) or defined(use_pkg_config_static):
     {.pragma: libxrender, cdecl, importc.}
@@ -11,10 +11,10 @@
 else:
     when defined(macosx):
         const
-          libXrender* = "libXrender.dylib"
+            libXrender* = "libXrender.dylib"
     else:
         const
-          libXrender* = "libXrender.so"
+            libXrender* = "libXrender.so"
 
 
     {.pragma: libxrender, dynlib: libXrender, cdecl, importc.}
@@ -33,197 +33,182 @@
 #
 
 type
-  PGlyph* = ptr Glyph
-  Glyph* = int32
+PGlyph* = ptr Glyph
+    Glyph* = int32
 
-  PGlyphSet* = ptr GlyphSet
-  GlyphSet* = int32
+    PGlyphSet* = ptr GlyphSet
+    GlyphSet* = int32
 
-  PPicture* = ptr Picture
-  Picture* = int32
+    PPicture* = ptr Picture
+    Picture* = int32
 
-  PPictFormat* = ptr PictFormat
-  PictFormat* = int32
-
-{.deprecated: [TGlyph: Glyph].}
-{.deprecated: [TGlyphSet: GlyphSet].}
-{.deprecated: [TPicture: Picture].}
-{.deprecated: [TPictFormat: PictFormat].}
+    PPictFormat* = ptr PictFormat
+    PictFormat* = int32
 
 const
-  RENDER_NAME* = "RENDER"
-  RENDER_MAJOR* = 0
-  RENDER_MINOR* = 0
-  constX_RenderQueryVersion* = 0
-  X_RenderQueryPictFormats* = 1
-  X_RenderQueryPictIndexValues* = 2
-  X_RenderQueryDithers* = 3
-  constX_RenderCreatePicture* = 4
-  constX_RenderChangePicture* = 5
-  X_RenderSetPictureClipRectangles* = 6
-  constX_RenderFreePicture* = 7
-  constX_RenderComposite* = 8
-  X_RenderScale* = 9
-  X_RenderTrapezoids* = 10
-  X_RenderTriangles* = 11
-  X_RenderTriStrip* = 12
-  X_RenderTriFan* = 13
-  X_RenderColorTrapezoids* = 14
-  X_RenderColorTriangles* = 15
-  X_RenderTransform* = 16
-  constX_RenderCreateGlyphSet* = 17
-  constX_RenderReferenceGlyphSet* = 18
-  constX_RenderFreeGlyphSet* = 19
-  constX_RenderAddGlyphs* = 20
-  constX_RenderAddGlyphsFromPicture* = 21
-  constX_RenderFreeGlyphs* = 22
-  constX_RenderCompositeGlyphs8* = 23
-  constX_RenderCompositeGlyphs16* = 24
-  constX_RenderCompositeGlyphs32* = 25
-  BadPictFormat* = 0
-  BadPicture* = 1
-  BadPictOp* = 2
-  BadGlyphSet* = 3
-  BadGlyph* = 4
-  RenderNumberErrors* = BadGlyph + 1
-  PictTypeIndexed* = 0
-  PictTypeDirect* = 1
-  PictOpClear* = 0
-  PictOpSrc* = 1
-  PictOpDst* = 2
-  PictOpOver* = 3
-  PictOpOverReverse* = 4
-  PictOpIn* = 5
-  PictOpInReverse* = 6
-  PictOpOut* = 7
-  PictOpOutReverse* = 8
-  PictOpAtop* = 9
-  PictOpAtopReverse* = 10
-  PictOpXor* = 11
-  PictOpAdd* = 12
-  PictOpSaturate* = 13
-  PictOpMaximum* = 13
-  PolyEdgeSharp* = 0
-  PolyEdgeSmooth* = 1
-  PolyModePrecise* = 0
-  PolyModeImprecise* = 1
-  CPRepeat* = 1 shl 0
-  CPAlphaMap* = 1 shl 1
-  CPAlphaXOrigin* = 1 shl 2
-  CPAlphaYOrigin* = 1 shl 3
-  CPClipXOrigin* = 1 shl 4
-  CPClipYOrigin* = 1 shl 5
-  CPClipMask* = 1 shl 6
-  CPGraphicsExposure* = 1 shl 7
-  CPSubwindowMode* = 1 shl 8
-  CPPolyEdge* = 1 shl 9
-  CPPolyMode* = 1 shl 10
-  CPDither* = 1 shl 11
-  CPLastBit* = 11
+    RENDER_NAME* = "RENDER"
+    RENDER_MAJOR* = 0
+    RENDER_MINOR* = 0
+    constX_RenderQueryVersion* = 0
+    X_RenderQueryPictFormats* = 1
+    X_RenderQueryPictIndexValues* = 2
+    X_RenderQueryDithers* = 3
+    constX_RenderCreatePicture* = 4
+    constX_RenderChangePicture* = 5
+    X_RenderSetPictureClipRectangles* = 6
+    constX_RenderFreePicture* = 7
+    constX_RenderComposite* = 8
+    X_RenderScale* = 9
+    X_RenderTrapezoids* = 10
+    X_RenderTriangles* = 11
+    X_RenderTriStrip* = 12
+    X_RenderTriFan* = 13
+    X_RenderColorTrapezoids* = 14
+    X_RenderColorTriangles* = 15
+    X_RenderTransform* = 16
+    constX_RenderCreateGlyphSet* = 17
+    constX_RenderReferenceGlyphSet* = 18
+    constX_RenderFreeGlyphSet* = 19
+    constX_RenderAddGlyphs* = 20
+    constX_RenderAddGlyphsFromPicture* = 21
+    constX_RenderFreeGlyphs* = 22
+    constX_RenderCompositeGlyphs8* = 23
+    constX_RenderCompositeGlyphs16* = 24
+    constX_RenderCompositeGlyphs32* = 25
+    BadPictFormat* = 0
+    BadPicture* = 1
+    BadPictOp* = 2
+    BadGlyphSet* = 3
+    BadGlyph* = 4
+    RenderNumberErrors* = BadGlyph + 1
+    PictTypeIndexed* = 0
+    PictTypeDirect* = 1
+    PictOpClear* = 0
+    PictOpSrc* = 1
+    PictOpDst* = 2
+    PictOpOver* = 3
+    PictOpOverReverse* = 4
+    PictOpIn* = 5
+    PictOpInReverse* = 6
+    PictOpOut* = 7
+    PictOpOutReverse* = 8
+    PictOpAtop* = 9
+    PictOpAtopReverse* = 10
+    PictOpXor* = 11
+    PictOpAdd* = 12
+    PictOpSaturate* = 13
+    PictOpMaximum* = 13
+    PolyEdgeSharp* = 0
+    PolyEdgeSmooth* = 1
+    PolyModePrecise* = 0
+    PolyModeImprecise* = 1
+    CPRepeat* = 1 shl 0
+    CPAlphaMap* = 1 shl 1
+    CPAlphaXOrigin* = 1 shl 2
+    CPAlphaYOrigin* = 1 shl 3
+    CPClipXOrigin* = 1 shl 4
+    CPClipYOrigin* = 1 shl 5
+    CPClipMask* = 1 shl 6
+    CPGraphicsExposure* = 1 shl 7
+    CPSubwindowMode* = 1 shl 8
+    CPPolyEdge* = 1 shl 9
+    CPPolyMode* = 1 shl 10
+    CPDither* = 1 shl 11
+    CPLastBit* = 11
 
 type
-  PXRenderDirectFormat* = ptr XRenderDirectFormat
-  XRenderDirectFormat*{.final.} = object
-    red*: int16
-    redMask*: int16
-    green*: int16
-    greenMask*: int16
-    blue*: int16
-    blueMask*: int16
-    alpha*: int16
-    alphaMask*: int16
+    PXRenderDirectFormat* = ptr XRenderDirectFormat
+    XRenderDirectFormat*{.final.} = object
+        red*: int16
+        redMask*: int16
+        green*: int16
+        greenMask*: int16
+        blue*: int16
+        blueMask*: int16
+        alpha*: int16
+        alphaMask*: int16
 
-  PXRenderPictFormat* = ptr XRenderPictFormat
-  XRenderPictFormat*{.final.} = object
-    id*: PictFormat
-    thetype*: int32
-    depth*: int32
-    direct*: XRenderDirectFormat
-    colormap*: Colormap
-
-{.deprecated: [TXRenderDirectFormat: XRenderDirectFormat].}
-{.deprecated: [TXRenderPictFormat: XRenderPictFormat].}
+    PXRenderPictFormat* = ptr XRenderPictFormat
+    XRenderPictFormat*{.final.} = object
+        id*: PictFormat
+        thetype*: int32
+        depth*: int32
+        direct*: XRenderDirectFormat
+        colormap*: Colormap
 
 const
-  PictFormatID* = 1 shl 0
-  PictFormatType* = 1 shl 1
-  PictFormatDepth* = 1 shl 2
-  PictFormatRed* = 1 shl 3
-  PictFormatRedMask* = 1 shl 4
-  PictFormatGreen* = 1 shl 5
-  PictFormatGreenMask* = 1 shl 6
-  PictFormatBlue* = 1 shl 7
-  PictFormatBlueMask* = 1 shl 8
-  PictFormatAlpha* = 1 shl 9
-  PictFormatAlphaMask* = 1 shl 10
-  PictFormatColormap* = 1 shl 11
+    PictFormatID* = 1 shl 0
+    PictFormatType* = 1 shl 1
+    PictFormatDepth* = 1 shl 2
+    PictFormatRed* = 1 shl 3
+    PictFormatRedMask* = 1 shl 4
+    PictFormatGreen* = 1 shl 5
+    PictFormatGreenMask* = 1 shl 6
+    PictFormatBlue* = 1 shl 7
+    PictFormatBlueMask* = 1 shl 8
+    PictFormatAlpha* = 1 shl 9
+    PictFormatAlphaMask* = 1 shl 10
+    PictFormatColormap* = 1 shl 11
 
 type
-  PXRenderVisual* = ptr XRenderVisual
-  XRenderVisual*{.final.} = object
-    visual*: PVisual
-    format*: PXRenderPictFormat
+    PXRenderVisual* = ptr XRenderVisual
+    XRenderVisual*{.final.} = object
+        visual*: PVisual
+        format*: PXRenderPictFormat
 
-  PXRenderDepth* = ptr XRenderDepth
-  XRenderDepth*{.final.} = object
-    depth*: int32
-    nvisuals*: int32
-    visuals*: PXRenderVisual
+    PXRenderDepth* = ptr XRenderDepth
+    XRenderDepth*{.final.} = object
+        depth*: int32
+        nvisuals*: int32
+        visuals*: PXRenderVisual
 
-  PXRenderScreen* = ptr XRenderScreen
-  XRenderScreen*{.final.} = object
-    depths*: PXRenderDepth
-    ndepths*: int32
-    fallback*: PXRenderPictFormat
+    PXRenderScreen* = ptr XRenderScreen
+    XRenderScreen*{.final.} = object
+        depths*: PXRenderDepth
+        ndepths*: int32
+        fallback*: PXRenderPictFormat
 
-  PXRenderInfo* = ptr XRenderInfo
-  XRenderInfo*{.final.} = object
-    format*: PXRenderPictFormat
-    nformat*: int32
-    screen*: PXRenderScreen
-    nscreen*: int32
-    depth*: PXRenderDepth
-    ndepth*: int32
-    visual*: PXRenderVisual
-    nvisual*: int32
+    PXRenderInfo* = ptr XRenderInfo
+    XRenderInfo*{.final.} = object
+        format*: PXRenderPictFormat
+        nformat*: int32
+        screen*: PXRenderScreen
+        nscreen*: int32
+        depth*: PXRenderDepth
+        ndepth*: int32
+        visual*: PXRenderVisual
+        nvisual*: int32
 
-  PXRenderPictureAttributes* = ptr XRenderPictureAttributes
-  XRenderPictureAttributes*{.final.} = object
-    repeat*: XBool
-    alpha_map*: Picture
-    alpha_x_origin*: int32
-    alpha_y_origin*: int32
-    clip_x_origin*: int32
-    clip_y_origin*: int32
-    clip_mask*: Pixmap
-    graphics_exposures*: XBool
-    subwindow_mode*: int32
-    poly_edge*: int32
-    poly_mode*: int32
-    dither*: Atom
+    PXRenderPictureAttributes* = ptr XRenderPictureAttributes
+    XRenderPictureAttributes*{.final.} = object
+        repeat*: XBool
+        alpha_map*: Picture
+        alpha_x_origin*: int32
+        alpha_y_origin*: int32
+        clip_x_origin*: int32
+        clip_y_origin*: int32
+        clip_mask*: Pixmap
+        graphics_exposures*: XBool
+        subwindow_mode*: int32
+        poly_edge*: int32
+        poly_mode*: int32
+        dither*: Atom
 
-  PXGlyphInfo* = ptr XGlyphInfo
-  XGlyphInfo*{.final.} = object
-    width*: int16
-    height*: int16
-    x*: int16
-    y*: int16
-    xOff*: int16
-    yOff*: int16
+    PXGlyphInfo* = ptr XGlyphInfo
+    XGlyphInfo*{.final.} = object
+        width*: int16
+        height*: int16
+        x*: int16
+        y*: int16
+        xOff*: int16
+        yOff*: int16
 
-  PXRenderColor* = ptr XRenderColor
-  XRenderColor* = object
-    red*: cushort
-    green*: cushort
-    blue*: cushort
-    alpha*: cushort
-
-{.deprecated: [TXRenderVisual: XRenderVisual].}
-{.deprecated: [TXRenderDepth: XRenderDepth].}
-{.deprecated: [TXRenderScreen: XRenderScreen].}
-{.deprecated: [TXRenderInfo: XRenderInfo].}
-{.deprecated: [TXRenderPictureAttributes: XRenderPictureAttributes].}
-{.deprecated: [TXGlyphInfo: XGlyphInfo].}
+    PXRenderColor* = ptr XRenderColor
+    XRenderColor* = object
+        red*: cushort
+        green*: cushort
+        blue*: cushort
+        alpha*: cushort
 
 proc XRenderQueryExtension*(dpy: PDisplay, event_basep: ptr int32,
                             error_basep: ptr int32): XBool{.libxrender.}
--- a/semicongine/thirdparty/x11/xresource.nim	Sun Jun 02 16:21:52 2024 +0700
+++ b/semicongine/thirdparty/x11/xresource.nim	Mon Jun 03 15:53:30 2024 +0700
@@ -25,17 +25,12 @@
   XrmQuarkList* = PXrmQuark
   PXrmQuarkList* = ptr XrmQuarkList
 
-{.deprecated: [TXrmQuark: XrmQuark].}
-{.deprecated: [TXrmQuarkList: XrmQuarkList].}
-
 proc NULLQUARK*(): XrmQuark
 
 type
   PXrmString* = ptr XrmString
   XrmString* = ptr char
 
-{.deprecated: [TXrmString: XrmString].}
-
 proc NULLSTRING*(): XrmString
 proc XrmStringToQuark*(para1: cstring): XrmQuark{.cdecl, dynlib: libX11,
     importc.}
@@ -55,9 +50,6 @@
   XrmBindingList* = PXrmBinding
   PXrmBindingList* = ptr XrmBindingList
 
-{.deprecated: [TXrmBinding: XrmBinding].}
-{.deprecated: [TXrmBindingList: XrmBindingList].}
-
 proc XrmStringToQuarkList*(para1: cstring, para2: XrmQuarkList){.cdecl,
     dynlib: libX11, importc.}
 proc XrmStringToBindingQuarkList*(para1: cstring, para2: XrmBindingList,
@@ -71,9 +63,6 @@
   PXrmNameList* = ptr XrmNameList
   XrmNameList* = XrmQuarkList
 
-{.deprecated: [TXrmName: XrmName].}
-{.deprecated: [TXrmNameList: XrmNameList].}
-
 #when defined(MACROS):
 proc XrmNameToString*(name: int32): XrmString
 proc XrmStringToName*(str: cstring): int32
@@ -86,9 +75,6 @@
   PXrmClassList* = ptr XrmClassList
   XrmClassList* = XrmQuarkList
 
-{.deprecated: [TXrmClass: XrmClass].}
-{.deprecated: [TXrmClassList: XrmClassList].}
-
 #when defined(MACROS):
 proc XrmClassToString*(c_class: int32): XrmString
 proc XrmStringToClass*(c_class: cstring): int32
@@ -97,7 +83,6 @@
 type
   PXrmRepresentation* = ptr XrmRepresentation
   XrmRepresentation* = XrmQuark
-{.deprecated: [TXrmRepresentation: XrmRepresentation].}
 
 #when defined(MACROS):
 proc XrmStringToRepresentation*(str: cstring): int32
@@ -124,13 +109,6 @@
   PXrmDatabase* = ptr XrmDatabase
   XrmDatabase* = PXrmHashBucketRec
 
-{.deprecated: [TXrmValue: XrmValue].}
-{.deprecated: [TXrmValuePtr: XrmValuePtr].}
-{.deprecated: [TXrmHashBucketRec: XrmHashBucketRec].}
-{.deprecated: [TXrmHashBucket: XrmHashBucket].}
-{.deprecated: [TXrmHashTable: XrmHashTable].}
-{.deprecated: [TXrmDatabase: XrmDatabase].}
-
 proc XrmDestroyDatabase*(para1: XrmDatabase){.cdecl, dynlib: libX11, importc.}
 proc XrmQPutResource*(para1: PXrmDatabase, para2: XrmBindingList,
                       para3: XrmQuarkList, para4: XrmRepresentation,
@@ -199,10 +177,6 @@
   XrmOptionDescList* = PXrmOptionDescRec
   PXrmOptionDescList* = ptr XrmOptionDescList
 
-{.deprecated: [TXrmOptionKind: XrmOptionKind].}
-{.deprecated: [TXrmOptionDescRec: XrmOptionDescRec].}
-{.deprecated: [TPXrmOptionDescList: PXrmOptionDescList].}
-
 proc XrmParseCommand*(para1: PXrmDatabase, para2: XrmOptionDescList,
                       para3: int32, para4: cstring, para5: ptr int32,
                       para6: PPchar){.cdecl, dynlib: libX11, importc.}
--- a/semicongine/thirdparty/x11/xshm.nim	Sun Jun 02 16:21:52 2024 +0700
+++ b/semicongine/thirdparty/x11/xshm.nim	Mon Jun 03 15:53:30 2024 +0700
@@ -1,5 +1,5 @@
 import
-  x, xlib
+ x, xlib
 
 const
  libXext* = "libXext.so(.6|)"
@@ -16,43 +16,39 @@
 #
 
 const
-  constX_ShmQueryVersion* = 0
-  constX_ShmAttach* = 1
-  constX_ShmDetach* = 2
-  constX_ShmPutImage* = 3
-  constX_ShmGetImage* = 4
-  constX_ShmCreatePixmap* = 5
-  ShmCompletion* = 0
-  ShmNumberEvents* = ShmCompletion + 1
-  BadShmSeg* = 0
-  ShmNumberErrors* = BadShmSeg + 1
+ constX_ShmQueryVersion* = 0
+ constX_ShmAttach* = 1
+ constX_ShmDetach* = 2
+ constX_ShmPutImage* = 3
+ constX_ShmGetImage* = 4
+ constX_ShmCreatePixmap* = 5
+ ShmCompletion* = 0
+ ShmNumberEvents* = ShmCompletion + 1
+ BadShmSeg* = 0
+ ShmNumberErrors* = BadShmSeg + 1
 
 type
-  PShmSeg* = ptr ShmSeg
-  ShmSeg* = culong
+ PShmSeg* = ptr ShmSeg
+ ShmSeg* = culong
 
-  PXShmCompletionEvent* = ptr XShmCompletionEvent
-  XShmCompletionEvent*{.final.} = object
-    theType*: cint
-    serial*: culong
-    send_event*: XBool
-    display*: PDisplay
-    drawable*: Drawable
-    major_code*: cint
-    minor_code*: cint
-    shmseg*: ShmSeg
-    offset*: culong
+ PXShmCompletionEvent* = ptr XShmCompletionEvent
+ XShmCompletionEvent*{.final.} = object
+  theType*: cint
+  serial*: culong
+  send_event*: XBool
+  display*: PDisplay
+  drawable*: Drawable
+  major_code*: cint
+  minor_code*: cint
+  shmseg*: ShmSeg
+  offset*: culong
 
-  PXShmSegmentInfo* = ptr XShmSegmentInfo
-  XShmSegmentInfo*{.final.} = object
-    shmseg*: ShmSeg
-    shmid*: cint
-    shmaddr*: cstring
-    readOnly*: XBool
-
-{.deprecated: [TShmSeg: ShmSeg].}
-{.deprecated: [TXShmCompletionEvent: XShmCompletionEvent].}
-{.deprecated: [TXShmSegmentInfo: XShmSegmentInfo].}
+ PXShmSegmentInfo* = ptr XShmSegmentInfo
+ XShmSegmentInfo*{.final.} = object
+  shmseg*: ShmSeg
+  shmid*: cint
+  shmaddr*: cstring
+  readOnly*: XBool
 
 proc XShmQueryExtension*(para1: PDisplay): XBool{.cdecl, dynlib: libXext, importc.}
 proc XShmGetEventBase*(para1: PDisplay): cint{.cdecl, dynlib: libXext, importc.}
--- a/semicongine/thirdparty/x11/xtst.nim	Sun Jun 02 16:21:52 2024 +0700
+++ b/semicongine/thirdparty/x11/xtst.nim	Mon Jun 03 15:53:30 2024 +0700
@@ -53,15 +53,15 @@
 
   PXRecordRange* = ptr XRecordRange
   XRecordRange* {.final.} = object
-    core_requests*: XRecordRange8 ##  core X requests
-    core_replies*: XRecordRange8 ##  core X replies
-    ext_requests*: XRecordExtRange ##  extension requests
-    ext_replies*: XRecordExtRange ##  extension replies
+    core_requests*: XRecordRange8    ##  core X requests
+    core_replies*: XRecordRange8     ##  core X replies
+    ext_requests*: XRecordExtRange   ##  extension requests
+    ext_replies*: XRecordExtRange    ##  extension replies
     delivered_events*: XRecordRange8 ##  delivered core and ext events
-    device_events*: XRecordRange8 ##  all core and ext device events
-    errors*: XRecordRange8     ##  core X and ext errors
-    client_started*: XBool      ##  connection setup reply
-    client_died*: XBool         ##  notice of client disconnect
+    device_events*: XRecordRange8    ##  all core and ext device events
+    errors*: XRecordRange8           ##  core X and ext errors
+    client_started*: XBool           ##  connection setup reply
+    client_died*: XBool              ##  notice of client disconnect
 
   PXRecordClientInfo* = ptr XRecordClientInfo
   XRecordClientInfo* {.final.} = object
@@ -84,21 +84,10 @@
     category*: cint
     client_swapped*: XBool
     data*: cstring
-    data_len*: culong          ##  in 4-byte units
+    data_len*: culong ##  in 4-byte units
 
   XRecordInterceptProc* = proc (a1: XPointer, a2: PXRecordInterceptData)
 
-{.deprecated: [TXRecordClientSpec: XRecordClientSpec].}
-{.deprecated: [TXRecordContext: XRecordContext].}
-{.deprecated: [TXRecordRange8: XRecordRange8].}
-{.deprecated: [TXRecordRange16: XRecordRange16].}
-{.deprecated: [TXRecordExtRange: XRecordExtRange].}
-{.deprecated: [TXRecordRange: XRecordRange].}
-{.deprecated: [TXRecordClientInfo: XRecordClientInfo].}
-{.deprecated: [TXRecordState: XRecordState].}
-{.deprecated: [TXRecordInterceptData: XRecordInterceptData].}
-{.deprecated: [TXRecordInterceptProc: XRecordInterceptProc].}
-
 {.push cdecl, importc, dynlib: libXtst.}
 
 proc XRecordIdBaseMask*(dpy: PDisplay): XID
--- a/semicongine/thirdparty/x11/xutil.nim	Sun Jun 02 16:21:52 2024 +0700
+++ b/semicongine/thirdparty/x11/xutil.nim	Mon Jun 03 15:53:30 2024 +0700
@@ -43,9 +43,6 @@
     base_width*, base_height*: cint
     win_gravity*: cint
 
-{.deprecated: [TCPoint: CPoint].}
-{.deprecated: [TXSizeHints: XSizeHints].}
-
 const
   USPosition* = 1 shl 0
   USSize* = 1 shl 1
@@ -72,8 +69,6 @@
     icon_mask*: Pixmap
     window_group*: XID
 
-{.deprecated: [TXWMHints: XWMHints].}
-
 
 const
   InputHint* = 1 shl 0
@@ -101,8 +96,6 @@
     format*: cint
     nitems*: culong
 
-{.deprecated: [TXTextProperty: XTextProperty].}
-
 
 const
   XNoMemory* = - 1
@@ -127,9 +120,6 @@
     res_name*: cstring
     res_class*: cstring
 
-{.deprecated: [TXICCEncodingStyle: XICCEncodingStyle].}
-{.deprecated: [TXIconSize: XIconSize].}
-{.deprecated: [TXClassHint: XClassHint].}
 
 type
   PXComposeStatus* = ptr XComposeStatus
@@ -137,8 +127,6 @@
     compose_ptr*: XPointer
     chars_matched*: cint
 
-{.deprecated: [TXComposeStatus: XComposeStatus].}
-
 
 type
   PXRegion* = ptr XRegion
@@ -147,9 +135,6 @@
   PRegion* = ptr Region
   Region* = PXRegion
 
-{.deprecated: [TXRegion: XRegion].}
-{.deprecated: [TRegion: Region].}
-
 const
   RectangleOut* = 0
   RectangleIn* = 1
@@ -169,8 +154,6 @@
     colormap_size*: cint
     bits_per_rgb*: cint
 
-{.deprecated: [TXVisualInfo: XVisualInfo].}
-
 
 const
   VisualNoMask* = 0x00000000
@@ -200,8 +183,6 @@
     visualid*: VisualID
     killid*: XID
 
-{.deprecated: [TXStandardColormap: XStandardColormap].}
-
 
 const
   BitmapSuccess* = 0
@@ -217,8 +198,6 @@
   PXContext* = ptr XContext
   XContext* = cint
 
-{.deprecated: [TXContext: XContext].}
-
 proc XAllocClassHint*(): PXClassHint{.cdecl, dynlib: libX11, importc.}
 proc XAllocIconSize*(): PXIconSize{.cdecl, dynlib: libX11, importc.}
 proc XAllocSizeHints*(): PXSizeHints{.cdecl, dynlib: libX11, importc.}
--- a/semicongine/thirdparty/x11/xv.nim	Sun Jun 02 16:21:52 2024 +0700
+++ b/semicongine/thirdparty/x11/xv.nim	Mon Jun 03 15:53:30 2024 +0700
@@ -29,15 +29,12 @@
 const
   XvName* = "libXVideo.so"
   XvVersion* = 2
-  XvRevision* = 2             # Symbols
+  XvRevision* = 2 # Symbols
 
 type
   XvPortID* = XID
   XvEncodingID* = XID
 
-{.deprecated: [TXvPortID: XvPortID].}
-{.deprecated: [TXvEncodingID: XvEncodingID].}
-
 const
   XvNone* = 0
   XvInput* = 0
@@ -46,7 +43,7 @@
   XvOutputMask* = 1 shl XvOutput
   XvVideoMask* = 0x00000004
   XvStillMask* = 0x00000008
-  XvImageMask* = 0x00000010   # These two are not client viewable
+  XvImageMask* = 0x00000010 # These two are not client viewable
   XvPixmapMask* = 0x00010000
   XvWindowMask* = 0x00020000
   XvGettable* = 0x00000001
@@ -56,10 +53,10 @@
   XvPacked* = 0
   XvPlanar* = 1
   XvTopToBottom* = 0
-  XvBottomToTop* = 1          # Events
+  XvBottomToTop* = 1        # Events
   XvVideoNotify* = 0
   XvPortNotify* = 1
-  XvNumEvents* = 2            # Video Notify Reasons
+  XvNumEvents* = 2          # Video Notify Reasons
   XvStarted* = 0
   XvStopped* = 1
   XvBusy* = 2
@@ -73,11 +70,11 @@
   XvPreemptedMask* = 1 shl XvPreempted
   XvHardErrorMask* = 1 shl XvHardError
   XvAnyReasonMask* = (1 shl XvNumReasons) - 1
-  XvNoReasonMask* = 0         # Errors
+  XvNoReasonMask* = 0       # Errors
   XvBadPort* = 0
   XvBadEncoding* = 1
   XvBadControl* = 2
-  XvNumErrors* = 3            # Status
+  XvNumErrors* = 3          # Status
   XvBadExtension* = 1
   XvAlreadyGrabbed* = 2
   XvInvalidTime* = 3
--- a/semicongine/thirdparty/x11/xvlib.nim	Sun Jun 02 16:21:52 2024 +0700
+++ b/semicongine/thirdparty/x11/xvlib.nim	Mon Jun 03 15:53:30 2024 +0700
@@ -64,7 +64,7 @@
 
   PXvAttribute* = ptr XvAttribute
   XvAttribute*{.final.} = object
-    flags*: cint              # XvGettable, XvSettable
+    flags*: cint # XvGettable, XvSettable
     min_value*: cint
     max_value*: cint
     name*: cstring
@@ -98,24 +98,24 @@
   PXvVideoNotifyEvent* = ptr XvVideoNotifyEvent
   XvVideoNotifyEvent*{.final.} = object
     theType*: cint
-    serial*: culong          # # of last request processed by server
-    send_event*: XBool        # true if this came from a SendEvent request
-    display*: PDisplay       # Display the event was read from
-    drawable*: Drawable      # drawable
-    reason*: culong          # what generated this event
-    port_id*: XvPortID       # what port
-    time*: Time              # milliseconds
+    serial*: culong     # # of last request processed by server
+    send_event*: XBool  # true if this came from a SendEvent request
+    display*: PDisplay  # Display the event was read from
+    drawable*: Drawable # drawable
+    reason*: culong     # what generated this event
+    port_id*: XvPortID  # what port
+    time*: Time         # milliseconds
 
   PXvPortNotifyEvent* = ptr XvPortNotifyEvent
   XvPortNotifyEvent*{.final.} = object
     theType*: cint
-    serial*: culong          # # of last request processed by server
-    send_event*: XBool        # true if this came from a SendEvent request
-    display*: PDisplay       # Display the event was read from
-    port_id*: XvPortID       # what port
-    time*: Time              # milliseconds
-    attribute*: Atom         # atom that identifies attribute
-    value*: clong            # value of attribute
+    serial*: culong    # # of last request processed by server
+    send_event*: XBool # true if this came from a SendEvent request
+    display*: PDisplay # Display the event was read from
+    port_id*: XvPortID # what port
+    time*: Time        # milliseconds
+    attribute*: Atom   # atom that identifies attribute
+    value*: clong      # value of attribute
 
   PXvEvent* = ptr XvEvent
   XvEvent*{.final.} = object
@@ -135,17 +135,17 @@
 
   PXvImageFormatValues* = ptr XvImageFormatValues
   XvImageFormatValues*{.final.} = object
-    id*: cint                 # Unique descriptor for the format
-    theType*: cint            # XvRGB, XvYUV
-    byte_order*: cint         # LSBFirst, MSBFirst
-    guid*: array[0..15, cchar] # Globally Unique IDentifier
+    id*: cint                            # Unique descriptor for the format
+    theType*: cint                       # XvRGB, XvYUV
+    byte_order*: cint                    # LSBFirst, MSBFirst
+    guid*: array[0..15, cchar]           # Globally Unique IDentifier
     bits_per_pixel*: cint
-    format*: cint             # XvPacked, XvPlanar
-    num_planes*: cint         # for RGB formats only
+    format*: cint                        # XvPacked, XvPlanar
+    num_planes*: cint                    # for RGB formats only
     depth*: cint
     red_mask*: cuint
     green_mask*: cuint
-    blue_mask*: cuint         # for YUV formats only
+    blue_mask*: cuint                    # for YUV formats only
     y_sample_bits*: cuint
     u_sample_bits*: cuint
     v_sample_bits*: cuint
@@ -156,30 +156,19 @@
     vert_u_period*: cuint
     vert_v_period*: cuint
     component_order*: array[0..31, char] # eg. UYVY
-    scanline_order*: cint     # XvTopToBottom, XvBottomToTop
+    scanline_order*: cint                # XvTopToBottom, XvBottomToTop
 
   PXvImage* = ptr XvImage
   XvImage*{.final.} = object
     id*: cint
     width*, height*: cint
-    data_size*: cint          # bytes
+    data_size*: cint # bytes
     num_planes*: cint
-    pitches*: cint           # bytes
-    offsets*: cint           # bytes
+    pitches*: cint   # bytes
+    offsets*: cint   # bytes
     data*: pointer
     obdata*: XPointer
 
-{.deprecated: [TXvRational: XvRational].}
-{.deprecated: [TXvAttribute: XvAttribute].}
-{.deprecated: [TXvEncodingInfo: XvEncodingInfo].}
-{.deprecated: [TXvFormat: XvFormat].}
-{.deprecated: [TXvAdaptorInfo: XvAdaptorInfo].}
-{.deprecated: [TXvVideoNotifyEvent: XvVideoNotifyEvent].}
-{.deprecated: [TXvPortNotifyEvent: XvPortNotifyEvent].}
-{.deprecated: [TXvEvent: XvEvent].}
-{.deprecated: [TXvImageFormatValues: XvImageFormatValues].}
-{.deprecated: [TXvImage: XvImage].}
-
 proc XvQueryExtension*(display: PDisplay, p_version, p_revision, p_requestBase,
     p_eventBase, p_errorBase: cuint): cint{.cdecl, dynlib: libXv, importc.}
 proc XvQueryAdaptors*(display: PDisplay, window: Window, p_nAdaptors: cuint,