منابع اکس

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

منابع اکس (به انگلیسی: X resources) پارامترهایی هستند که به برنامه‌های کلاینت اکس ارسال می‌شوند. این پارامترها معمولاً برای تغییر شکل ظاهری برنامه استفاده می‌شوند. مثلاً فونت‌هایی که برنامه برای دکمه‌ها استفاده می‌کند، رنگ پس‌زمینه منوها و دیگر قسمت‌های برنامه، مختصات پنجره و ... این پارامترها یا درهنگام اجرای برنامه از طریق خط فرمان به آن ارسال می‌شوند، و یا اینکه در یک فایل پیکربندی نوشته می‌شوند و برنامه با خواندن این فایل آنها را اعمال می‌کند. این فایل پیکربندی معمولاً در مسیر ‎~/.Xdefaults قرار دارد.

قالب[ویرایش]

در سطح پروتکل اکس، منابع رشته‌هایی هستند که در سرور ذخیره می‌شوند و معنای خاصی هم برای سرور ندارند. کتابخانه‌ها و برنامه‌های کلاینت اکس این پارامترها را از سرور دریافت کرده و آنها را تفسیر می‌کنند. بنابراین نحو (به انگلیسی: syntax) و مفهوم این رشته‌ها توسط کلاینتهای اکس مشخص می‌شود. هر منبع اکس (به انگلیسی: X resource)، مشخص کننده یک پارامتر برای خود برنامه و یا یکی از مولفه‌های (به انگلیسی: component) آن برنامه است. قالب کلی یک منبع به شکل زیر است:

application.component.subcomponent.subcomponent.attribute: value

منبع بالا، مقدار یک ویژگی به نام attribute را برای مولفه‌ای به نام component.subcomponent.subcomponent در برنامه‌ای به نام application مشخص می‌کند. منابع معمولا برای مشخص کردن پارامترهای ویجت‌ها استفاده می‌شوند. از آنجا که این ویجت‌ها در یک درخت چیده می‌شوند، دنبالهٔ اسامیِ مولفه/زیرمولفه برای شناسایی یک ویجت خاص در درخت استفاده می‌شود. به عبارت دیگر، دنبالهٔ اسامیِ مولفه/زیرمولفه همان مسیر ویجت مورد نظر در درخت است. مقدار یک منبع، (در مثال بالا کلمه value) به یکی از صفت‌های ویجت مورد نظر منتسب می‌شود. مثل فونت، رنگ پس‌زمینه و ...

با استفاده از یک منبع، می‌توان پارامترهای یکسانی را برای چند برنامه یا چند مولفه در یک برنامه ارسال کرد. این کار با استفاده از wildcardها انجام می‌شود. کاراکتر ? برای مشخص کردن نام یک برنامه و یا نام یکی از مولفه‌های آن برنامه استفاده می‌شود. از کاراکتر * برای مشخص کردن تعداد دلخواهی از برنامه‌ها و یا مولفه‌ها استفاده می‌شود. از این کاراکترها می‌توان در هر جایی به غیر از آخرین قسمت استفاده کرد. به عبارت دیگر یک صفت (در مثال بالا کلمه attribute) نمی‌تواند؟ یا * باشد.

در حالی که منابع می‌توانند به شکل آزادانه با استفاده از wildcardها مشخص شوند، پرس‌وجو برای مقدار آن منبع باید به شکل صریح باشد. برای مثال، یک منبع می‌تواند رنگ پس‌زمینه تمام مولفه‌های برنامه xmail را به صورت زیر مشخص کند:

xmail*background: red

با این حال وقتی که یک برنامه (برای مثال برنامه xmail، وقتی که می‌خواهد رنگ پس‌زمینه را بخواند) از طریق کتابخانه اکس به بانک اطلاعاتی منابع دسترسی پیدا می‌کند، تنها می‌تواند مقدار یک منبع خاص را درخواست دهد. برخلاف اکثر پایگاه داده‌ها، داده‌های می‌توانند به کمک wildcardها به شکل آزادانه ذخیره شوند، اما پرس و جو نمی‌تواند اینگونه باشد. به عنوان مثالی دیگر، یک برنامه می‌تواند مقدار xmail.main.background و یا xmail.toc.buttons.background را پرس‌وجو کند، اما نمی‌تواند مقدار چند مولفه را به صورت یکجا و با استفاده از wildcardهای؟ و * پرس‌وجو کند. (مثلا xmail*background غیر مجاز است)

منابع[ویرایش]

مشارکت‌کنندگان ویکی‌پدیا، «X resources»، ویکی‌پدیای en، دانشنامهٔ آزاد (بازیابی در ۲۳ ژوئیه ۲۰۱۳).