اکس‌لیب

کتابخانه اکس  یک کتابخانه پروتکل کلاینت سامانه پنجره اکس است که به زبان برنامه‌نویسی سی نوشته شده‌است. این کتابخانه دربرگیرنده توابعی برای تعامل با یک سرور اکس است. این توابع به برنامه‌نویسان اجازه می‌دهند برنامه‌های خود را بدون دانستن جزئیات پروتکل بنویسند. برنامه‌های کمی مستقیماً از کتابخانه اکس استفاده می‌کنند. در عوض آن‌ها از کتابخانه‌های دیگری که ابزار ویجت نامیده می‌شوند استفاده می‌کنند. این ابزار ویجت‌ها در حقیقت خود در سطوح پایین‌تر از کتابخانه اکس استفاده می‌کنند. برخی از این ابزار ویجت عبارتند از:
 آتنا
 موتیف
 اف‌ال‌تی‌کی
 جی‌تی‌کی+
 کیوت
 تی‌کی

اکس‌لیب اولین بار در سال ۱۹۸۵ معرفی شد و در حال حاضر واسط‌های گرافیکی زیادی در سیستم‌عامل‌های شبه‌یونیکس از آن استفاده می‌کنند. کتابخانه اکس‌سی‌بی تلاشی برای جایگزینی اکس‌لیب است.

توابع  
توابع موجود در کتابخانه اکس را می‌توان به چند دسته تقسیم کرد:
 توابعی که بر روی اتصالات عمل می‌کنند (مانند XOpenDisplay و XCloseDisplay که برای باز و بسته کردن اتصالات با سرور اکس استفاده می‌شوند).
 توابعی که درخواستی برای سرور ارسال می‌کنند. مثلاً درخواست‌هایی برای ایجاد یک شیء یا درخواست‌هایی برای کسب اطلاعات در مورد یک شیء. مثلاً تابع XCreateWindow درخواستی برای ایجاد یک پنجره به سرور ارسال می‌کند و همین‌طور تابع XGetWindowProperty از سرور درخواستی برای کسب اطلاعاتی در مورد یک پنجره.
 عملیاتی که مخصوص خود کلاینت هستند و با سرور هیچ کاری ندارند. مثل عملیات بر روی صف رویدادها مانند XNextEvent و XPeekEvent یا عملیات بر روی داده‌های محلی دیگر مثل XLookupKeysym و XParseGeometry.

دیگر کتابخانه‌ها  
اکس‌لیب از چیزهایی مثل دکمه‌ها، منوها، نوار لغزنده، جعبه‌های کشویی و... پشتیبانی نمی‌کند. چنین چیزهایی توسط کتابخانه‌های دیگر ارائه می‌شوند که خود این کتابخانه‌ها هم به نوبه خود در سطوح پایین‌تر از اکس‌لیب استفاده می‌کنند.

منابع  

واسط‌های برنامه‌نویسی کاربردی
سامانه پنجره‌ای اکس
کتابخانه‌های سی