| /* 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); |
| } |