12345678910111213141516171819202122232425262728293031323334353637383940 |
- /* Prints the locale's encoding via libX11. */
- #include <stdlib.h>
- #include <stdio.h>
- #include <assert.h>
- #include <locale.h>
- #include <X11/Xlib.h>
- #include <X11/Xutil.h>
- int main (int argc, char* argv[])
- {
- Display* display;
- XTextProperty textprop;
- char* input;
- if (argc != 1)
- exit(1);
- setlocale(LC_CTYPE,"");
- display = XOpenDisplay(NULL);
- if (display == NULL) {
- fprintf(stderr,"cannot open display\n");
- exit(1);
- }
- input = "";
- if (XmbTextListToTextProperty(display, &input, 1, XTextStyle, &textprop) != Success) {
- fprintf(stderr,"XmbTextListToTextProperty failed\n");
- exit(1);
- }
- assert(textprop.format == 8);
- assert(textprop.nitems == 0);
- printf("%s\n", XGetAtomName(display, textprop.encoding));
- XCloseDisplay(display);
- exit(0);
- }
|