Xfce Classic را تأسیس کرد، یک چنگال از Xfce بدون دکوراسیون پنجره سمت مشتری

شان آناستازی (شان آناستازیو)، یکی از علاقه مندان به نرم افزار رایگان که در یک زمان سیستم عامل خود را توسعه داد ShawnOS و در انتقال Chromium و Qubes OS به معماری ppc64le نقش داشت، تاسیس شد پروژه Xfce Classic، که در آن او قصد دارد چنگال هایی از اجزای محیط کاربری Xfce را توسعه دهد که بدون استفاده از تزئینات پنجره سمت مشتری (CSD، تزئینات سمت مشتری) کار می کنند، که در آن عنوان پنجره و قاب ها نه توسط مدیر پنجره، بلکه توسط مدیر پنجره ترسیم می شود. خود برنامه

یادآوری می کنیم که در آماده سازی برای نسخه بعدی Xfce 4.16 که انتشار آن انتظار می رود در اکتبر یا نوامبر، این رابط به ویجت GtkHeaderBar و استفاده از CSD منتقل شد، که به قیاس با گنوم، امکان قرار دادن منوها، دکمه‌ها و سایر عناصر رابط را در سرصفحه پنجره و همچنین اطمینان از پنهان‌سازی فراهم کرد. فریم ها در دیالوگ ها موتور رندر رابط جدید در کتابخانه libxfce4ui ادغام شده است، که منجر به استفاده از CSD خودکار برای تقریباً همه دیالوگ ها، بدون نیاز به ایجاد تغییرات در کد پروژه های موجود شده است.

در انتقال به CSD یافت مخالفان، که معتقدند پشتیبانی از CSD باید اختیاری باشد و کاربر باید بتواند به استفاده از عناوین پنجره کلاسیک ادامه دهد. از جمله مضرات استفاده از CSD، فضای بیش از حد بزرگ عنوان پنجره، عدم نیاز به انتقال عناصر برنامه به عنوان پنجره، ناکارآمدی تم های Xfwm4 و عدم تطابق در طراحی پنجره های برنامه ها و برنامه های Xfce/GNOME است که این کار را انجام می دهند. عدم استفاده از CSD ذکر شده است. خاطرنشان می شود که یکی از دلایل رد رابط GNOME توسط برخی از کاربران استفاده از CSD است.

از آنجایی که هیچ تلاشی برای ارائه پشتیبانی برای غیرفعال کردن CSD در 5 ماه صورت نگرفته است، شان آناستازی تصمیم گرفتم این موضوع را به دست خودم گرفتم و یک چنگال از کتابخانه ایجاد کردم libxfce4ui، که در آن صحافی به CSD را تمیز کردم و حالت دکوراسیون قدیمی را در سمت سرور (مدیر پنجره) برگرداندم. برای اطمینان از سازگاری با برنامه های کاربردی با استفاده از API جدید libxfce4ui و حفظ ABI، اتصالات ویژه ای تهیه شده است که روش های خاص CSD کلاس XfceTitledDialog را به فراخوانی های کلاس GtkDialog تبدیل می کند. در نتیجه، می‌توان برنامه‌های Xfce را با جایگزینی کتابخانه libxfce4ui، بدون تغییر کد خود برنامه‌ها، از شر CSD خلاص کرد.

علاوه بر این یک چنگال تشکیل شده است xfce4-panel، که شامل تغییراتی برای بازگشت رفتار کلاسیک است. برای کاربران جنتو آماده شده است پوشش برای نصب libxfce4ui-nocsd. برای کاربران Xubuntu/Ubuntu آماده شده است مخزن PPA با بسته های آماده شان آناستازی دلایل ایجاد فورک را با بیان اینکه سال هاست از Xfce استفاده می کند و رابط کاربری این محیط را دوست دارد توضیح داد. پس از تصمیم گیری در مورد تغییرات رابط که با آن موافق نبود، و هیچ تلاشی برای ارائه گزینه ای برای بازگشت به رفتار قبلی، تصمیم گرفت خودش مشکلش را حل کند و راه حل را با سایر افراد همفکر به اشتراک بگذارد.

یکی از مشکلاتی که در استفاده از Xfce Classic وجود دارد، ظاهر شدن عناوین تکراری به دلیل نمایش اطلاعات مکرر در عنوان و در پنجره برنامه است. این ویژگی با رفتار Xfce 4.12 و 4.14 مطابقت دارد و به CSD مربوط نمی شود. در برخی از برنامه ها، چنین تکراری طبیعی به نظر می رسد (به عنوان مثال، در xfce4-screenshooter)، اما در برخی دیگر به وضوح نامناسب است. برای حل این مشکل، می توان یک متغیر محیطی اضافه کرد که رندر XfceHeading را کنترل می کند.

Xfce Classic را تأسیس کرد، یک چنگال از Xfce بدون دکوراسیون پنجره سمت مشتری

موقعیت حامیان CSD به توانایی استفاده از فضای هدر رفته عنوان پنجره برای قرار دادن منوها، دکمه‌های پانل و سایر عناصر رابط مهم خلاصه می‌شود. مخالفان CSD معتقدند که این رویکرد مشکلاتی را با یکپارچه سازی طراحی پنجره ها ایجاد می کند، به ویژه آنهایی که برای محیط های کاربری مختلف نوشته شده اند که توصیه های متفاوتی را برای چیدمان ناحیه عنوان تعریف می کنند. هنگامی که به طور کلاسیک بخش های سرویس یک پنجره در سمت سرور ارائه می شود، طراحی پنجره های همه برنامه ها به یک سبک واحد بسیار ساده تر است. در مورد استفاده از CSD، لازم است رابط برنامه به طور جداگانه با هر محیط گرافیکی تطبیق داده شود و اطمینان از اینکه برنامه در محیط های مختلف کاربری بیگانه به نظر نمی رسد، بسیار دشوار است.

منبع: opennet.ru

اضافه کردن نظر