Knowledge

Xlib

Source 📝

463: 440: 208: 160: 422: 282: 488: 25: 1368:. This operation can only be performed after the window is created. However, performing it once may not be enough. Indeed, the content of the window is not always guaranteed to be preserved. For example, if the window is covered and then uncovered again, its content might require being redrawn. The program is informed that the window or a part of it has to be drawn by the reception of an 569:, etc. are all identifiers, which are 32-bit integers (just as in the X11 protocol itself). A client 'creates' a window by requesting that the server create a window. This is done via a call to an Xlib function that returns an identifier for the window, that is, a number. This identifier can then be used by the client for requesting other operations on the same window to the server. 1685: 593:
in this case refers to the request from the client that is directed to the server: the request buffer can contain all kinds of requests to the server, not only those having a visible effect on the screen. The request buffer is guaranteed to be flushed (i.e., all requests done so far are sent to the
605:
Xlib stores the received events in a queue. The client application can inspect and retrieve events from the queue. While the X server sends events asynchronously, applications using the Xlib library are required to explicitly call Xlib functions for accessing the events in the queue. Some of these
542:
structure as an argument because they either operate on the channel or are relative to a specific channel. In particular, all Xlib functions that interact with the server need this structure for accessing the channel. Some other functions need this structure, even if they operate locally, because
572:
The identifiers are unique to the server. Most of them can be used by different applications to refer to the same objects. For example, two applications connecting with the same server use the same identifier to refer to the same window. These two applications use two different channels, and
704: 1453:
library is an alternative to Xlib. Its two main aims are: reduction in library size and direct access to the X11 protocol. A modification of Xlib has been produced to use XCB as a low-level layer.
546:
Windows, colormaps, etc. are managed by the server, which means that the data about their actual implementation is all stored in the server. The client operates on these objects by using their
522:
structure of the Xlib library contains information about the display, but more importantly it contains information relative to the channel between the client and the server. For example, in a
692: 609:
Errors are instead received and treated asynchronously: the application can provide an error handler that will be called whenever an error message from the server is received.
1383:. The event loop waits for an incoming event: if this event is a key press, the application exits; if it is an expose event, the window content is drawn. The function 1552: 1442:
Applications using any of these widget libraries typically specify the content of the window before entering the main loop and do not need to explicitly handle
612:
The content of a window is not guaranteed to be preserved if the window or one of its parts are made not visible. In this case, the application is sent an
543:
they operate on data relative to a specific channel. Operations of this kind include for example operations on the event queue, which is described below.
2274: 602:, after a call to a function that returns a value from the server (these functions block until the answer is received), and in some other conditions. 550:. The client cannot directly operate on an object, but can only request the server to perform the operation specifying the identifier of the object. 2213: 3112: 585:
The Xlib functions that send requests to the server usually do not send these requests immediately but store them in a buffer, called the
3631: 3626: 1639: 325: 2307: 616:
event when the window or one part of it is made visible again. The application is then supposed to draw the window content again.
3549: 2758: 1407:
library (Xt), which provides support for widgets but does not provide any particular widget; specific widgets are provided by
1506: 577:
structures; however, when they request operations on the same identifier, these operations will be done on the same object.
3370: 2979: 2904: 3235: 3039: 2931: 2798: 382: 1674: 1622: 1591: 1572: 108: 228: 89: 2763: 1959: 61: 462: 3067: 2745: 2708: 2514: 2483: 1918: 46: 3442: 3344: 3311: 2994: 2568: 2300: 2218: 1648: 68: 2657: 331:
Few applications use Xlib directly; rather, they employ other libraries that use Xlib functions to provide
183: 1422:
libraries that provide widget sets using Xlib directly, without the Xt library, such as the X versions of
3597: 3490: 3192: 2555: 1739: 1379:. Before entering this loop, the events the application is interested in are selected, in this case with 151: 3577: 3326: 2896: 2474: 2398: 1970: 1938: 305: 75: 3582: 3352: 3156: 2071: 469: 439: 3636: 3539: 2923: 2831: 2808: 2545: 2532: 2455: 2293: 2149: 2096: 2003: 1471: 493: 377: 309: 254: 221: 159: 3225: 3200: 2803: 2491: 2316: 2013: 1531: 452: 57: 35: 1399:
are provided by other libraries, which in turn use Xlib. There are two kinds of such libraries:
2813: 1659: 518:
Informally, a display is a physical or virtual device where graphical operations are done. The
2773: 2721: 2611: 2141: 1943: 1923: 1908: 1729: 1714: 1615: 703: 42: 3268: 2601: 2440: 2223: 2164: 2076: 2046: 1886: 1704: 1404: 339: 8: 3498: 3316: 3102: 3014: 2969: 2159: 1913: 1764: 233: 207: 1527: 3605: 3230: 2768: 1759: 1654: 1396: 531: 317: 3587: 2736: 2385: 2369: 2346: 1993: 1900: 1896: 1734: 1699: 1587: 1568: 1557: 1542: 1492: 1463: 3559: 3455: 3258: 3029: 2946: 2880: 2870: 2860: 1953: 1608: 1416: 1361:
is necessary for mapping the window, that is, for making it visible on the screen.
396: 351: 345: 132: 82: 3164: 2852: 2422: 2403: 2228: 1754: 1719: 1664: 1631: 301: 192: 3334: 3107: 2941: 2622: 2357: 2320: 1790: 1669: 711: 696: 449: 332: 286: 281: 3620: 3544: 3521: 3404: 3362: 3115: 3080: 3009: 2823: 2780: 2753: 2716: 2635: 1586:. The Definitive Guides to the X Window System. Vol. 2. O'Reilly Media. 1567:. The Definitive Guides to the X Window System. Vol. 1. O'Reilly Media. 372: 366: 421: 3253: 3220: 3024: 2606: 2374: 2126: 1799: 1537: 1427: 501: 475: 2285: 479:) and its clients. It communicates with its clients over a given protocol. 3298: 3288: 3139: 3131: 3049: 2989: 2670: 2665: 2653: 2563: 2393: 2254: 1387:
blocks and flushes the request buffer if there is no event in the queue.
718:
The following program creates a window with a little black square in it:
497: 1395:
Xlib does not provide support for buttons, menus, scrollbars, etc. Such
654:
operations that are local to the client: operations on the event queue (
3569: 3385: 3245: 2693: 1547: 1408: 1376: 606:
functions may block; in this case, they also flush the request buffer.
321: 313: 127: 726:
Simple Xlib application for creating a window and drawing a box in it.
691: 3380: 3306: 3273: 3182: 3121: 3075: 3034: 2169: 2121: 2026: 523: 393: 695:
Simple Xlib application drawing a box and text in a window. Without
24: 3475: 3215: 3097: 2463: 2036: 1988: 1860: 1805: 1769: 1600: 3450: 3427: 3283: 3278: 3174: 3057: 2865: 2698: 2588: 2338: 2184: 2086: 2051: 1928: 1855: 1825: 1820: 1810: 1724: 707:
Simple Xlib application drawing a box and text in a window. With
3503: 3460: 3409: 3263: 3210: 3085: 2688: 2643: 2596: 2522: 2249: 2189: 2179: 1978: 1850: 1375:
The drawing of the window content is therefore made inside the
3117: 3470: 3432: 3375: 3019: 2999: 2974: 2961: 2885: 2790: 2680: 2626: 2361: 2269: 2264: 2259: 2244: 2106: 2066: 2031: 1830: 1744: 1709: 1435: 708: 487: 428: 3480: 3465: 3395: 3205: 3144: 3092: 3004: 2984: 2875: 2846: 2451: 2416: 2174: 2116: 2091: 2081: 2061: 2056: 2041: 2021: 1998: 1983: 1933: 1840: 1835: 1815: 1431: 1349:
The client creates a connection with the server by calling
639:
requests to the server, including requests for operations (
399:. A re-implementation of Xlib was introduced in 2007 using 356: 3554: 3531: 3513: 3419: 2951: 2936: 2540: 2435: 2154: 2131: 2111: 2101: 1881: 1845: 1749: 1450: 1423: 1412: 445: 400: 389: 361: 1684: 1528:
X.Org Foundation's official programming documentation
624:
The functions in the Xlib library can be grouped in:
324:
to write programs without knowing the details of the
414:
The role of KMS (Kernel mode-setting), Linux example
244: 49:. Unsourced material may be challenged and removed. 1353:. It then requests the creation of a window with 534:of this channel (this can be retrieved using the 3618: 1511:Tip search for: typedef struct _XDisplay Display 448:and Xlib are client libraries which implement a 1499: 2301: 1616: 1038:// select kind of events we are interested in 285:X11-clients use xlib to communicate with the 1558:Using Xlib for creating a screensaver module 1469: 515:structure and the types of the identifiers. 2315: 662:, ...) and other operations on local data ( 2308: 2294: 1623: 1609: 530:structure contains the file handle of the 496:can circumvent Xlib and write directly to 388:Xlib appeared around 1985, and is used in 206: 158: 383:SFML (Simple and Fast Multimedia Library) 109:Learn how and when to remove this message 1548:Kenton Lee's pages on X Window and Motif 702: 690: 280: 511:The main types of data in Xlib are the 431:graphics stack current as of 2013-08-24 3619: 3550:Extensible Application Markup Language 1507:"Display Structure on freedesktop CVS" 1446:events and redraw the window content. 594:server) after a call to the functions 580: 16:Client library for the X Window System 2289: 1604: 3371:Component Library for Cross Platform 2980:Component Library for Cross Platform 647:,...) and requests for information ( 468:The display server sits between the 47:adding citations to reliable sources 18: 1630: 1581: 1562: 1543:Manual pages for all Xlib functions 1530:, including most recent version of 538:macro.) Most Xlib functions have a 13: 3632:C (programming language) libraries 3627:Application programming interfaces 3236:Lightweight User Interface Toolkit 3040:Simple and Fast Multimedia Library 2932:Enlightenment Foundation Libraries 2482: 1730:X Display Manager Control Protocol 1472:"[ANNOUNCE] libX11 1.8.10" 1390: 14: 3648: 2275:Desktop environments (comparison) 1521: 1320:// close connection to the server 1683: 834:// open connection to the server 486: 461: 438: 420: 23: 2764:Windows Presentation Foundation 1411:libraries that use Xt, such as 1364:The square is drawn by calling 34:needs additional citations for 1485: 628:operations on the connection ( 378:SDL (Simple DirectMedia Layer) 1: 2995:OpenGL User Interface Library 2580:High-level, platform-specific 1532:Xlib - C Language X Interface 1456: 573:therefore have two different 406: 1403:libraries built atop of the 1125:// draw or redraw the window 619: 7: 2330:Low-level platform-specific 1740:X-Video Motion Compensation 729:gcc input.c -o output -lX11 10: 3653: 2916:High-level, cross-platform 686: 316:for interacting with an X 3596: 3568: 3530: 3512: 3489: 3441: 3418: 3394: 3361: 3353:Lazarus Component Library 3343: 3325: 3297: 3244: 3191: 3173: 3155: 3130: 3066: 3048: 2960: 2922: 2913: 2894: 2844: 2822: 2789: 2744: 2734: 2707: 2679: 2652: 2634: 2620: 2586: 2577: 2554: 2531: 2513: 2504: 2472: 2449: 2414: 2383: 2355: 2336: 2327: 2237: 2206: 2140: 2012: 1969: 1952: 1895: 1869: 1789: 1778: 1692: 1681: 1638: 1553:A longer tutorial on Xlib 888:"Cannot open display 819:"Hello, World!" 239: 227: 217: 182: 178: 150: 146: 138: 126: 2832:Visual Component Library 2809:Windows Template Library 2546:Simple DirectMedia Layer 2507:Low Level Cross-platform 1538:A short tutorial on Xlib 1377:loop handling the events 1071:// map (show) the window 720: 500:. An additional port to 494:Simple DirectMedia Layer 320:. These functions allow 3226:Standard Widget Toolkit 3201:Abstract Window Toolkit 2804:Active Template Library 1725:Shared memory extension 1565:Xlib Programming Manual 453:communications protocol 2814:Object Windows Library 1660:X Window authorization 715: 700: 526:operating system, the 310:C programming language 290: 1715:X Rendering Extension 1584:Xlib Reference Manual 1357:. A separate call to 706: 694: 284: 165:; 49 days ago 3269:Google Closure Tools 2441:X Toolkit Intrinsics 1887:X Toolkit Intrinsics 1705:X keyboard extension 1582:Nye, Adrian (1990). 1563:Nye, Adrian (1990). 1405:X Toolkit Intrinsics 1284:// exit on key press 340:X Toolkit Intrinsics 43:improve this article 1765:Composite Extension 1534:in several formats. 1495:. February 9, 2007. 1355:XCreateSimpleWindow 942:XCreateSimpleWindow 581:Protocol and events 123: 3231:Google Web Toolkit 2769:Windows UI Library 1760:Display PostScript 1655:X Window selection 1470:Alan Coopersmith. 738:<X11/Xlib.h> 716: 701: 649:XGetWindowProperty 291: 121: 3614: 3613: 2840: 2839: 2730: 2729: 2500: 2499: 2370:Macintosh Toolbox 2283: 2282: 2202: 2201: 2198: 2197: 1963: 1735:X video extension 1700:X Image Extension 504:is also available 397:operating systems 346:Athena widget set 279: 278: 252:, documentation: 119: 118: 111: 93: 3644: 3015:Rogue Wave Views 2742: 2741: 2632: 2631: 2480: 2479: 2310: 2303: 2296: 2287: 2286: 1967: 1966: 1957: 1901:Session managers 1897:Display managers 1870:Client libraries 1787: 1786: 1687: 1625: 1618: 1611: 1602: 1601: 1597: 1578: 1515: 1514: 1503: 1497: 1496: 1489: 1483: 1482: 1480: 1478: 1467: 1445: 1386: 1382: 1371: 1367: 1360: 1356: 1352: 1345: 1342: 1339: 1336: 1333: 1330: 1327: 1324: 1321: 1318: 1315: 1312: 1309: 1306: 1303: 1300: 1297: 1294: 1291: 1288: 1285: 1282: 1279: 1276: 1273: 1270: 1267: 1264: 1261: 1258: 1255: 1252: 1249: 1246: 1243: 1240: 1237: 1234: 1231: 1228: 1225: 1222: 1219: 1216: 1213: 1210: 1207: 1204: 1201: 1198: 1195: 1192: 1189: 1186: 1183: 1180: 1177: 1174: 1171: 1168: 1165: 1162: 1159: 1156: 1153: 1150: 1147: 1144: 1141: 1138: 1135: 1132: 1129: 1126: 1123: 1120: 1117: 1114: 1111: 1108: 1105: 1102: 1099: 1096: 1093: 1090: 1087: 1084: 1081: 1078: 1075: 1072: 1069: 1066: 1063: 1060: 1057: 1054: 1051: 1048: 1045: 1042: 1039: 1036: 1033: 1030: 1027: 1024: 1021: 1018: 1015: 1012: 1009: 1006: 1003: 1000: 997: 994: 991: 988: 985: 982: 979: 976: 973: 970: 967: 964: 961: 958: 955: 952: 949: 946: 943: 940: 937: 934: 933:// create window 931: 928: 925: 922: 919: 916: 913: 910: 907: 904: 901: 898: 895: 892: 889: 886: 883: 880: 877: 874: 871: 868: 865: 862: 859: 856: 853: 850: 847: 844: 841: 838: 835: 832: 829: 826: 823: 820: 817: 814: 811: 808: 805: 802: 799: 796: 793: 790: 787: 784: 781: 778: 775: 772: 769: 766: 763: 760: 757: 756:<string.h> 754: 751: 750:<stdlib.h> 748: 745: 742: 739: 736: 733: 730: 727: 724: 681: 677: 673: 669: 665: 661: 657: 650: 646: 642: 635: 631: 615: 601: 597: 576: 568: 564: 560: 556: 541: 537: 536:ConnectionNumber 529: 521: 514: 490: 465: 442: 427:Illustrates the 424: 304:protocol client 275: 272: 270: 268: 266: 264: 262: 260: 258: 256: 251: 248: 246: 210: 205: 202: 200: 198: 196: 194: 173: 171: 166: 162: 133:X.Org Foundation 124: 120: 114: 107: 103: 100: 94: 92: 51: 27: 19: 3652: 3651: 3647: 3646: 3645: 3643: 3642: 3641: 3637:X Window System 3617: 3616: 3615: 3610: 3592: 3564: 3526: 3508: 3485: 3437: 3414: 3390: 3357: 3339: 3321: 3317:Common Graphics 3293: 3240: 3187: 3169: 3151: 3126: 3062: 3044: 2956: 2918: 2909: 2890: 2850: 2836: 2818: 2785: 2726: 2703: 2675: 2648: 2616: 2582: 2573: 2550: 2527: 2509: 2496: 2492:Xamarin.Android 2468: 2445: 2420: 2410: 2379: 2351: 2332: 2323: 2321:widget toolkits 2314: 2284: 2279: 2233: 2229:freedesktop.org 2194: 2136: 2008: 1956: 1954:Window managers 1948: 1899: 1891: 1865: 1791:Display servers 1783:implementations 1782: 1780: 1774: 1755:Multi-Pointer X 1720:Shape extension 1688: 1679: 1665:X11 color names 1634: 1632:X Window System 1629: 1594: 1575: 1524: 1519: 1518: 1505: 1504: 1500: 1493:"XDC2007 Notes" 1491: 1490: 1486: 1476: 1474: 1468: 1464: 1459: 1443: 1393: 1391:Other libraries 1384: 1380: 1369: 1365: 1358: 1354: 1350: 1347: 1346: 1343: 1340: 1337: 1334: 1331: 1328: 1325: 1322: 1319: 1316: 1313: 1310: 1307: 1304: 1301: 1298: 1295: 1292: 1289: 1286: 1283: 1280: 1277: 1274: 1271: 1268: 1265: 1262: 1259: 1256: 1253: 1250: 1247: 1244: 1241: 1238: 1235: 1232: 1229: 1226: 1223: 1220: 1217: 1214: 1211: 1208: 1205: 1202: 1199: 1196: 1193: 1190: 1187: 1184: 1181: 1178: 1175: 1172: 1169: 1166: 1163: 1160: 1157: 1154: 1151: 1148: 1145: 1142: 1139: 1136: 1133: 1130: 1127: 1124: 1121: 1118: 1115: 1112: 1109: 1106: 1103: 1100: 1097: 1094: 1091: 1088: 1085: 1082: 1079: 1076: 1073: 1070: 1067: 1064: 1061: 1058: 1055: 1052: 1049: 1046: 1043: 1040: 1037: 1034: 1031: 1028: 1025: 1022: 1019: 1016: 1013: 1010: 1007: 1004: 1001: 998: 995: 992: 989: 986: 983: 980: 977: 974: 971: 968: 965: 962: 959: 956: 953: 950: 947: 944: 941: 938: 935: 932: 929: 926: 923: 920: 917: 914: 911: 908: 905: 902: 899: 896: 893: 890: 887: 884: 881: 878: 875: 872: 869: 866: 863: 860: 857: 854: 851: 848: 845: 842: 839: 836: 833: 830: 827: 824: 821: 818: 815: 812: 809: 806: 803: 800: 797: 794: 791: 788: 785: 782: 779: 776: 773: 770: 767: 764: 761: 758: 755: 752: 749: 746: 744:<stdio.h> 743: 740: 737: 734: 731: 728: 725: 722: 689: 679: 675: 671: 667: 663: 659: 655: 648: 644: 640: 633: 629: 622: 613: 599: 595: 583: 574: 566: 562: 558: 554: 539: 535: 527: 519: 512: 509: 508: 507: 506: 505: 491: 482: 481: 480: 466: 457: 456: 455: 443: 434: 433: 432: 425: 416: 415: 409: 333:widget toolkits 308:written in the 302:X Window System 296:(also known as 253: 243: 213: 191: 174: 169: 167: 164: 139:Initial release 115: 104: 98: 95: 52: 50: 40: 28: 17: 12: 11: 5: 3650: 3640: 3639: 3634: 3629: 3612: 3611: 3609: 3608: 3602: 3600: 3594: 3593: 3591: 3590: 3585: 3580: 3574: 3572: 3566: 3565: 3563: 3562: 3557: 3552: 3547: 3542: 3536: 3534: 3528: 3527: 3525: 3524: 3518: 3516: 3510: 3509: 3507: 3506: 3501: 3495: 3493: 3487: 3486: 3484: 3483: 3478: 3473: 3468: 3463: 3458: 3453: 3447: 3445: 3439: 3438: 3436: 3435: 3430: 3424: 3422: 3416: 3415: 3413: 3412: 3407: 3400: 3398: 3392: 3391: 3389: 3388: 3383: 3378: 3373: 3367: 3365: 3359: 3358: 3356: 3355: 3349: 3347: 3341: 3340: 3338: 3337: 3331: 3329: 3323: 3322: 3320: 3319: 3314: 3309: 3303: 3301: 3295: 3294: 3292: 3291: 3286: 3281: 3276: 3271: 3266: 3261: 3256: 3250: 3248: 3242: 3241: 3239: 3238: 3233: 3228: 3223: 3218: 3213: 3208: 3203: 3197: 3195: 3189: 3188: 3186: 3185: 3179: 3177: 3171: 3170: 3168: 3167: 3161: 3159: 3153: 3152: 3150: 3149: 3148: 3147: 3136: 3134: 3128: 3127: 3125: 3124: 3119: 3110: 3105: 3100: 3095: 3090: 3089: 3088: 3078: 3072: 3070: 3064: 3063: 3061: 3060: 3054: 3052: 3046: 3045: 3043: 3042: 3037: 3032: 3027: 3022: 3017: 3012: 3007: 3002: 2997: 2992: 2987: 2982: 2977: 2972: 2966: 2964: 2958: 2957: 2955: 2954: 2949: 2944: 2939: 2934: 2928: 2926: 2920: 2919: 2914: 2911: 2910: 2908: 2907: 2905:Qt for Android 2901: 2899: 2892: 2891: 2889: 2888: 2883: 2878: 2873: 2868: 2863: 2857: 2855: 2842: 2841: 2838: 2837: 2835: 2834: 2828: 2826: 2820: 2819: 2817: 2816: 2811: 2806: 2801: 2795: 2793: 2787: 2786: 2784: 2783: 2778: 2777: 2776: 2771: 2766: 2756: 2750: 2748: 2739: 2732: 2731: 2728: 2727: 2725: 2724: 2719: 2713: 2711: 2705: 2704: 2702: 2701: 2696: 2691: 2685: 2683: 2677: 2676: 2674: 2673: 2668: 2662: 2660: 2650: 2649: 2647: 2646: 2640: 2638: 2629: 2623:Classic Mac OS 2618: 2617: 2615: 2614: 2609: 2604: 2599: 2593: 2591: 2584: 2583: 2578: 2575: 2574: 2572: 2571: 2566: 2560: 2558: 2552: 2551: 2549: 2548: 2543: 2537: 2535: 2529: 2528: 2526: 2525: 2519: 2517: 2511: 2510: 2505: 2502: 2501: 2498: 2497: 2495: 2494: 2488: 2486: 2477: 2470: 2469: 2467: 2466: 2460: 2458: 2447: 2446: 2444: 2443: 2438: 2433: 2427: 2425: 2412: 2411: 2409: 2408: 2407: 2406: 2396: 2390: 2388: 2381: 2380: 2378: 2377: 2372: 2366: 2364: 2358:Classic Mac OS 2353: 2352: 2350: 2349: 2343: 2341: 2334: 2333: 2328: 2325: 2324: 2313: 2312: 2305: 2298: 2290: 2281: 2280: 2278: 2277: 2272: 2267: 2262: 2257: 2252: 2247: 2241: 2239: 2235: 2234: 2232: 2231: 2226: 2221: 2216: 2210: 2208: 2204: 2203: 2200: 2199: 2196: 2195: 2193: 2192: 2187: 2182: 2177: 2172: 2167: 2162: 2157: 2152: 2146: 2144: 2138: 2137: 2135: 2134: 2129: 2124: 2119: 2114: 2109: 2104: 2099: 2094: 2089: 2084: 2079: 2074: 2069: 2064: 2059: 2054: 2049: 2044: 2039: 2034: 2029: 2024: 2018: 2016: 2010: 2009: 2007: 2006: 2001: 1996: 1991: 1986: 1981: 1975: 1973: 1964: 1950: 1949: 1947: 1946: 1941: 1936: 1931: 1926: 1921: 1916: 1911: 1905: 1903: 1893: 1892: 1890: 1889: 1884: 1879: 1873: 1871: 1867: 1866: 1864: 1863: 1858: 1853: 1848: 1843: 1838: 1833: 1828: 1823: 1818: 1813: 1808: 1803: 1795: 1793: 1784: 1776: 1775: 1773: 1772: 1767: 1762: 1757: 1752: 1747: 1742: 1737: 1732: 1727: 1722: 1717: 1712: 1707: 1702: 1696: 1694: 1690: 1689: 1682: 1680: 1678: 1677: 1672: 1670:X Input Method 1667: 1662: 1657: 1652: 1644: 1642: 1636: 1635: 1628: 1627: 1620: 1613: 1605: 1599: 1598: 1592: 1579: 1573: 1560: 1555: 1550: 1545: 1540: 1535: 1523: 1522:External links 1520: 1517: 1516: 1498: 1484: 1461: 1460: 1458: 1455: 1440: 1439: 1420: 1392: 1389: 1366:XFillRectangle 1155:XFillRectangle 721: 712:window manager 697:window manager 688: 685: 684: 683: 668:XParseGeometry 652: 637: 621: 618: 587:request buffer 582: 579: 492: 485: 484: 483: 467: 460: 459: 458: 450:display server 444: 437: 436: 435: 426: 419: 418: 417: 413: 412: 411: 410: 408: 405: 386: 385: 380: 375: 370: 364: 359: 354: 349: 343: 312:. It contains 287:display server 277: 276: 241: 237: 236: 231: 225: 224: 219: 215: 214: 212: 211: 188: 186: 180: 179: 176: 175: 163:/ 28 July 2024 156: 154: 152:Stable release 148: 147: 144: 143: 140: 136: 135: 130: 117: 116: 99:September 2018 31: 29: 22: 15: 9: 6: 4: 3: 2: 3649: 3638: 3635: 3633: 3630: 3628: 3625: 3624: 3622: 3607: 3604: 3603: 3601: 3599: 3595: 3589: 3586: 3584: 3581: 3579: 3576: 3575: 3573: 3571: 3567: 3561: 3558: 3556: 3553: 3551: 3548: 3546: 3545:Lively Kernel 3543: 3541: 3538: 3537: 3535: 3533: 3529: 3523: 3520: 3519: 3517: 3515: 3511: 3505: 3502: 3500: 3497: 3496: 3494: 3492: 3488: 3482: 3479: 3477: 3474: 3472: 3469: 3467: 3464: 3462: 3459: 3457: 3454: 3452: 3449: 3448: 3446: 3444: 3440: 3434: 3431: 3429: 3426: 3425: 3423: 3421: 3417: 3411: 3408: 3406: 3402: 3401: 3399: 3397: 3393: 3387: 3384: 3382: 3379: 3377: 3374: 3372: 3369: 3368: 3366: 3364: 3363:Object Pascal 3360: 3354: 3351: 3350: 3348: 3346: 3342: 3336: 3333: 3332: 3330: 3328: 3324: 3318: 3315: 3313: 3310: 3308: 3305: 3304: 3302: 3300: 3296: 3290: 3287: 3285: 3282: 3280: 3277: 3275: 3272: 3270: 3267: 3265: 3262: 3260: 3257: 3255: 3252: 3251: 3249: 3247: 3243: 3237: 3234: 3232: 3229: 3227: 3224: 3222: 3219: 3217: 3214: 3212: 3209: 3207: 3204: 3202: 3199: 3198: 3196: 3194: 3190: 3184: 3181: 3180: 3178: 3176: 3172: 3166: 3163: 3162: 3160: 3158: 3154: 3146: 3143: 3142: 3141: 3138: 3137: 3135: 3133: 3129: 3123: 3120: 3118: 3116: 3114: 3111: 3109: 3108:Xamarin.Forms 3106: 3104: 3101: 3099: 3096: 3094: 3091: 3087: 3084: 3083: 3082: 3081:Tao Framework 3079: 3077: 3074: 3073: 3071: 3069: 3065: 3059: 3056: 3055: 3053: 3051: 3047: 3041: 3038: 3036: 3033: 3031: 3028: 3026: 3023: 3021: 3018: 3016: 3013: 3011: 3008: 3006: 3003: 3001: 2998: 2996: 2993: 2991: 2988: 2986: 2983: 2981: 2978: 2976: 2973: 2971: 2968: 2967: 2965: 2963: 2959: 2953: 2950: 2948: 2945: 2943: 2940: 2938: 2935: 2933: 2930: 2929: 2927: 2925: 2921: 2917: 2912: 2906: 2903: 2902: 2900: 2898: 2893: 2887: 2884: 2882: 2879: 2877: 2874: 2872: 2869: 2867: 2864: 2862: 2859: 2858: 2856: 2854: 2848: 2843: 2833: 2830: 2829: 2827: 2825: 2824:Object Pascal 2821: 2815: 2812: 2810: 2807: 2805: 2802: 2800: 2797: 2796: 2794: 2792: 2788: 2782: 2781:Microsoft XNA 2779: 2775: 2772: 2770: 2767: 2765: 2762: 2761: 2760: 2757: 2755: 2754:Windows Forms 2752: 2751: 2749: 2747: 2743: 2740: 2738: 2733: 2723: 2720: 2718: 2715: 2714: 2712: 2710: 2706: 2700: 2697: 2695: 2692: 2690: 2687: 2686: 2684: 2682: 2678: 2672: 2669: 2667: 2664: 2663: 2661: 2659: 2655: 2651: 2645: 2642: 2641: 2639: 2637: 2636:Object Pascal 2633: 2630: 2628: 2624: 2619: 2613: 2610: 2608: 2605: 2603: 2600: 2598: 2595: 2594: 2592: 2590: 2585: 2581: 2576: 2570: 2567: 2565: 2562: 2561: 2559: 2557: 2553: 2547: 2544: 2542: 2539: 2538: 2536: 2534: 2530: 2524: 2521: 2520: 2518: 2516: 2512: 2508: 2503: 2493: 2490: 2489: 2487: 2485: 2481: 2478: 2476: 2471: 2465: 2462: 2461: 2459: 2457: 2453: 2448: 2442: 2439: 2437: 2434: 2432: 2429: 2428: 2426: 2424: 2418: 2413: 2405: 2402: 2401: 2400: 2397: 2395: 2392: 2391: 2389: 2387: 2382: 2376: 2373: 2371: 2368: 2367: 2365: 2363: 2359: 2354: 2348: 2345: 2344: 2342: 2340: 2335: 2331: 2326: 2322: 2318: 2311: 2306: 2304: 2299: 2297: 2292: 2291: 2288: 2276: 2273: 2271: 2268: 2266: 2263: 2261: 2258: 2256: 2253: 2251: 2248: 2246: 2243: 2242: 2240: 2236: 2230: 2227: 2225: 2222: 2220: 2217: 2215: 2212: 2211: 2209: 2205: 2191: 2188: 2186: 2183: 2181: 2178: 2176: 2173: 2171: 2168: 2166: 2163: 2161: 2158: 2156: 2153: 2151: 2148: 2147: 2145: 2143: 2139: 2133: 2130: 2128: 2125: 2123: 2120: 2118: 2115: 2113: 2110: 2108: 2105: 2103: 2100: 2098: 2095: 2093: 2090: 2088: 2085: 2083: 2080: 2078: 2075: 2073: 2070: 2068: 2065: 2063: 2060: 2058: 2055: 2053: 2050: 2048: 2045: 2043: 2040: 2038: 2035: 2033: 2030: 2028: 2025: 2023: 2020: 2019: 2017: 2015: 2011: 2005: 2004:Enlightenment 2002: 2000: 1997: 1995: 1992: 1990: 1987: 1985: 1982: 1980: 1977: 1976: 1974: 1972: 1968: 1965: 1961: 1955: 1951: 1945: 1942: 1940: 1937: 1935: 1932: 1930: 1927: 1925: 1922: 1920: 1917: 1915: 1912: 1910: 1907: 1906: 1904: 1902: 1898: 1894: 1888: 1885: 1883: 1880: 1878: 1875: 1874: 1872: 1868: 1862: 1859: 1857: 1854: 1852: 1849: 1847: 1844: 1842: 1839: 1837: 1834: 1832: 1829: 1827: 1824: 1822: 1819: 1817: 1814: 1812: 1809: 1807: 1804: 1802: 1801: 1797: 1796: 1794: 1792: 1788: 1785: 1777: 1771: 1768: 1766: 1763: 1761: 1758: 1756: 1753: 1751: 1748: 1746: 1743: 1741: 1738: 1736: 1733: 1731: 1728: 1726: 1723: 1721: 1718: 1716: 1713: 1711: 1708: 1706: 1703: 1701: 1698: 1697: 1695: 1691: 1686: 1676: 1673: 1671: 1668: 1666: 1663: 1661: 1658: 1656: 1653: 1651: 1650: 1649:Core protocol 1646: 1645: 1643: 1641: 1637: 1633: 1626: 1621: 1619: 1614: 1612: 1607: 1606: 1603: 1595: 1593:0-937175-12-9 1589: 1585: 1580: 1576: 1574:0-937175-11-0 1570: 1566: 1561: 1559: 1556: 1554: 1551: 1549: 1546: 1544: 1541: 1539: 1536: 1533: 1529: 1526: 1525: 1512: 1508: 1502: 1494: 1488: 1473: 1466: 1462: 1454: 1452: 1447: 1437: 1433: 1429: 1425: 1421: 1418: 1414: 1410: 1406: 1402: 1401: 1400: 1398: 1388: 1378: 1373: 1362: 1323:XCloseDisplay 1092:// event loop 921:DefaultScreen 719: 713: 710: 705: 698: 693: 664:XLookupKeysym 653: 641:XCreateWindow 638: 634:XCloseDisplay 627: 626: 625: 617: 610: 607: 603: 592: 588: 578: 570: 551: 549: 544: 533: 525: 516: 503: 499: 495: 489: 478: 477: 471: 464: 454: 451: 447: 441: 430: 423: 404: 402: 398: 395: 391: 384: 381: 379: 376: 374: 371: 369:(X11 version) 368: 365: 363: 360: 358: 355: 353: 350: 347: 344: 341: 338: 337: 336: 334: 329: 327: 323: 319: 315: 311: 307: 303: 299: 295: 288: 283: 274: 250: 242: 238: 235: 232: 230: 226: 223: 220: 216: 209: 204: 190: 189: 187: 185: 181: 177: 161: 155: 153: 149: 145: 141: 137: 134: 131: 129: 125: 113: 110: 102: 91: 88: 84: 81: 77: 74: 70: 67: 63: 60: –  59: 55: 54:Find sources: 48: 44: 38: 37: 32:This article 30: 26: 21: 20: 3254:Dojo Toolkit 2915: 2861:Athena (Xaw) 2607:ReAction GUI 2579: 2506: 2430: 2329: 2238:Applications 2127:Window Maker 1876: 1800:X.Org Server 1798: 1647: 1640:Architecture 1583: 1564: 1510: 1501: 1487: 1475:. Retrieved 1465: 1448: 1441: 1394: 1381:XSelectInput 1374: 1363: 1351:XOpenDisplay 1348: 1065:KeyPressMask 1059:ExposureMask 1041:XSelectInput 843:XOpenDisplay 717: 714:decorations. 699:decorations. 680:XSaveContext 676:XCreateImage 630:XOpenDisplay 623: 611: 608: 604: 590: 586: 584: 571: 552: 547: 545: 517: 510: 476:Linux kernel 473: 387: 330: 297: 293: 292: 195:.freedesktop 170:28 July 2024 157:1.8.10  128:Developer(s) 105: 96: 86: 79: 72: 65: 53: 41:Please help 36:verification 33: 3299:Common Lisp 3140:Apache Flex 3132:Adobe Flash 3050:Objective-C 2990:FOX toolkit 2774:Silverlight 2722:Xamarin.iOS 2717:Xamarin.Mac 2671:Cocoa Touch 2654:Objective-C 2394:Windows API 1971:Compositing 1781:and notable 1215:XDrawString 651:, ...); and 589:. The term 548:identifiers 498:framebuffer 322:programmers 3621:Categories 3386:FireMonkey 3246:JavaScript 2694:PowerPlant 1960:comparison 1779:Components 1693:Extensions 1457:References 1409:widget set 1385:XNextEvent 1359:XMapWindow 1104:XNextEvent 1074:XMapWindow 1020:WhitePixel 1002:BlackPixel 954:RootWindow 672:XSetRegion 660:XPeekEvent 656:XNextEvent 553:The types 407:Data types 326:X protocol 218:Written in 184:Repository 69:newspapers 3381:IP Pascal 3274:jQuery UI 3183:wxHaskell 3122:.NET MAUI 3103:Moonlight 3035:wxWidgets 2347:Intuition 2207:Standards 2170:ratpoison 2122:WindowLab 2027:AfterStep 1233:DefaultGC 1173:DefaultGC 645:XCreateGC 620:Functions 524:Unix-like 394:Unix-like 392:for many 314:functions 261:/releases 3540:GladeXML 3476:wxPython 3216:Qt Jambi 3098:MonoGame 2464:BeOS API 2072:Matchbox 2037:Blackbox 2014:Stacking 1989:Metacity 1939:Entrance 1861:XWayland 1806:Cygwin/X 1770:Xinerama 1305:KeyPress 753:#include 747:#include 741:#include 735:#include 567:Colormap 300:) is an 263:/current 3606:Flutter 3451:Tkinter 3428:PHP-GTK 3284:Qooxdoo 3279:OpenUI5 3175:Haskell 3058:GNUstep 2970:Bedrock 2897:Android 2866:LessTif 2737:Windows 2699:THINK C 2589:AmigaOS 2475:Android 2386:Windows 2339:AmigaOS 2185:StumpWM 2150:awesome 2097:Sawfish 2087:Openbox 2052:Fluxbox 1929:LightDM 1856:XQuartz 1826:XDarwin 1821:XFree86 1811:X-Win32 1675:Wayland 1477:29 July 1397:widgets 1372:event. 1329:display 1239:display 1221:display 1179:display 1161:display 1110:display 1080:display 1047:display 1026:display 1008:display 960:display 948:display 927:display 876:fprintf 861:display 837:display 783:display 777:Display 687:Example 636:, ...); 591:request 575:Display 555:Windows 540:Display 528:Display 520:Display 513:Display 306:library 271:/libX11 269:/libX11 267:/libX11 240:Website 234:Library 203:/libx11 168: ( 83:scholar 3588:Dialog 3522:Tcl/Tk 3504:QtRuby 3461:PySide 3443:Python 3410:wxPerl 3345:Pascal 3264:Ext JS 3211:JavaFX 3086:OpenTK 2947:XForms 2881:XForms 2851:under 2689:MacApp 2644:MacApp 2597:BOOPSI 2523:OpenTK 2421:under 2375:Carbon 2250:xclock 2190:larswm 2180:xmonad 2142:Tiling 1994:Mutter 1979:Compiz 1851:Xephyr 1590:  1571:  1444:Expose 1370:Expose 1335:return 1269:strlen 1227:window 1167:window 1146:Expose 1086:window 1053:window 936:window 894:" 882:stderr 798:XEvent 792:window 789:Window 682:, ...) 614:Expose 600:XFlush 559:Pixmap 532:socket 474:here: 470:kernel 318:server 298:libX11 193:gitlab 142:~1985 85:  78:  71:  64:  58:"Xlib" 56:  3570:shell 3499:Shoes 3471:PyGTK 3433:wxPHP 3403:Perl/ 3376:fpGUI 3221:Swing 3020:TnFOX 3000:gtkmm 2975:CEGUI 2886:XView 2871:Motif 2666:Cocoa 2658:Swift 2627:macOS 2569:LWJGL 2456:Haiku 2404:WinRT 2362:macOS 2270:xeyes 2265:xterm 2260:xload 2255:xedit 2245:xcalc 2214:ICCCM 2107:tvtwm 2067:IceWM 2032:amiwm 1831:Xming 1745:AIGLX 1710:RandR 1436:fpGUI 1417:Motif 1311:break 1293:event 1134:event 1119:event 1116:& 801:event 709:IceWM 596:XSync 429:Linux 352:Motif 348:(Xaw) 273:.html 199:/xorg 90:JSTOR 76:books 3598:Dart 3578:Newt 3491:Ruby 3481:Pyjs 3466:PyQt 3456:Kivy 3396:Perl 3312:CLIM 3307:CAPI 3259:Echo 3206:FXML 3193:Java 3165:Fyne 3145:MXML 3093:UIML 3076:Gtk# 3005:JUCE 2985:FLTK 2876:OLIT 2847:Unix 2759:XAML 2612:Zune 2564:JOGL 2556:Java 2452:BeOS 2431:Xlib 2417:Unix 2317:List 2219:EWMH 2175:wmii 2117:vtwm 2092:Qvwm 2082:olwm 2062:FVWM 2057:FLWM 2042:CTWM 2022:4Dwm 1999:Xfwm 1984:KWin 1934:LXDM 1919:SDDM 1877:Xlib 1841:Xsun 1836:Xsgi 1816:X386 1588:ISBN 1569:ISBN 1479:2024 1449:The 1434:and 1432:FLTK 1415:and 1299:type 1140:type 1098:(;;) 900:exit 867:NULL 849:NULL 807:char 768:void 762:main 563:Font 390:GUIs 357:FLTK 342:(Xt) 294:Xlib 265:/doc 259:.org 249:.org 229:Type 201:/lib 197:.org 122:Xlib 62:news 3583:CDK 3555:XUL 3532:XML 3514:Tcl 3420:PHP 3335:IUP 3327:Lua 3289:YUI 3113:XWT 3068:CLI 3025:U++ 2962:C++ 2952:XVT 2942:IUP 2937:GTK 2895:On 2853:X11 2845:On 2799:MFC 2791:C++ 2746:CLI 2735:On 2709:CLI 2681:C++ 2621:On 2602:MUI 2587:On 2541:GDK 2515:CLI 2484:CLI 2473:On 2450:On 2436:XCB 2423:X11 2415:On 2399:UWP 2384:On 2356:On 2337:On 2319:of 2224:XDS 2165:Ion 2155:dwm 2132:wm2 2112:twm 2102:swm 2077:mwm 2047:cwm 1944:WDM 1924:XDM 1914:KDM 1909:GDM 1882:XCB 1846:Xgl 1750:GLX 1451:XCB 1424:GTK 1413:Xaw 1278:)); 1275:msg 1263:msg 1095:for 1035:)); 990:200 984:200 825:int 813:msg 759:int 598:or 502:EGL 446:XCB 401:XCB 362:GTK 255:www 245:www 45:by 3623:: 3560:Wt 3405:Tk 3157:Go 3030:Wt 3010:Qt 2656:, 2625:, 2454:, 2360:, 2160:i3 1509:. 1430:, 1428:Qt 1426:, 1332:); 1302:== 1287:if 1257:50 1251:50 1248:), 1212:); 1209:10 1203:10 1197:20 1191:20 1188:), 1143:== 1128:if 1122:); 1089:); 1068:); 1017:), 978:10 972:10 969:), 930:); 909:); 897:); 891:\n 864:== 855:if 852:); 732:*/ 723:/* 678:, 674:, 670:, 666:, 658:, 643:, 632:, 565:, 561:, 557:, 403:. 373:Tk 367:Qt 335:: 328:. 257:.x 247:.x 2924:C 2849:, 2533:C 2419:, 2309:e 2302:t 2295:v 1962:) 1958:( 1624:e 1617:t 1610:v 1596:. 1577:. 1513:. 1481:. 1438:. 1419:; 1344:} 1341:; 1338:0 1326:( 1317:} 1314:; 1308:) 1296:. 1290:( 1281:} 1272:( 1266:, 1260:, 1254:, 1245:s 1242:, 1236:( 1230:, 1224:, 1218:( 1206:, 1200:, 1194:, 1185:s 1182:, 1176:( 1170:, 1164:, 1158:( 1152:{ 1149:) 1137:. 1131:( 1113:, 1107:( 1101:{ 1083:, 1077:( 1062:| 1056:, 1050:, 1044:( 1032:s 1029:, 1023:( 1014:s 1011:, 1005:( 999:, 996:1 993:, 987:, 981:, 975:, 966:s 963:, 957:( 951:, 945:( 939:= 924:( 918:= 915:s 912:} 906:1 903:( 885:, 879:( 873:{ 870:) 858:( 846:( 840:= 831:; 828:s 822:; 816:= 810:* 804:; 795:; 786:; 780:* 774:{ 771:) 765:( 472:( 289:. 222:C 172:) 112:) 106:( 101:) 97:( 87:· 80:· 73:· 66:· 39:.

Index


verification
improve this article
adding citations to reliable sources
"Xlib"
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message
Developer(s)
X.Org Foundation
Stable release
Edit this on Wikidata
Repository
gitlab.freedesktop.org/xorg/lib/libx11
Edit this at Wikidata
C
Type
Library
www.x.org
www.x.org/releases/current/doc/libX11/libX11/libX11.html

display server
X Window System
library
C programming language
functions
server

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.