X11 ist ein sehr niedriges Protokoll. Es bietet die Möglichkeit, einzelne Fenster zu erstellen, auf sie zu zeichnen und einzelne Eingabeereignisse zu empfangen, und nicht mehr. Das ist es.
Die Aufgabe der Bereitstellung von High-Level-Benutzerschnittstelle, wie Bearbeitungsfelder, ist für höhere Toolkits, wie Qt oder Gtk. Das sind die am häufigsten verwendeten Toolkits. Es gibt auch ein paar weniger beliebte.
Aber die Quintessenz ist, dass es keine "Bearbeitungssteuerelemente" jeglicher Art gibt, die Sie mit Xlib erhalten, der Bibliothek, die Sie verwenden, um X11-Protokoll zu sprechen. Wenn die einzige von Ihnen gewünschte Abhängigkeit Xlib ist, liegt es an Ihnen, das Bearbeitungssteuerelement mit Ihrem eigenen Code zu implementieren. Wenn Sie keine gängigen Schriftbibliotheken wie fontconfig und freetype verwenden möchten, müssen Sie den Code schreiben, um die integrierten Schriftarten des X-Servers aufzulisten, die Tastatureingabe zu verarbeiten und das Bearbeitungssteuerelement zu zeichnen. Allein die Aufgabe, die etwas obskuren Tastaturkodierungen, die in X11 verwendet werden, in etwas Brauchbares wie UTF-8 oder Unicode zu übersetzen, wird einige hundert Zeilen Code erfordern.
Also die Antwort hier ist: Verwenden Sie Qt oder Gtk.
"Low level" ist ein Wort dafür. Ein anderer ist "veraltet". Alle diese Toolkits sind Jahrzehnte alt und werden heutzutage im Wesentlichen nicht mehr genutzt (außerhalb der Rückwärtskompatibilität). Sie sind eine sehr schlechte Wahl für die Neuentwicklung. – duskwuff
Vielleicht gibt es jedoch in der Welt viel mehr als viele Desktop-PCs. – ulix
Sie eignen sich auch nicht besonders gut für eingebettete Systeme, zum Beispiel erwartet die Xaw-Bildlaufleiste eine Drei-Tasten-Maus. – duskwuff