كيف يمكنني تحديد خلفية شفافة باستخدام Perl و Curses؟
سؤال
أحاول الحصول على الخلفية اللون الطرفي القياسي بدلاً من الأسود ولكن لا يمكنني اكتشاف ذلك. عندما أستخدم use_default_colors()
تشبه المعايير عدم استخدام الألوان ولكني أرغب في تغيير اللون الأمامي وليس لون الخلفية. أنا أستعمل init_color_pair(1, COLOR_RED, COLOR_BLACK);
لكن هذا يعطيني خلفية سوداء ، ما لا أريده.
المحلول
من أجل الحصول على خلفية شفافة ، كان يجب أن يحدد مستخدم التطبيق الخاص بك في .xdefaults أو شيء مشابه. إذا كان لدى المستخدم بالفعل خلفية شفافة ، فكل ما عليك فعله هو استخدام الخلفية الافتراضية مثل ذلك:
use Curses;
#...some init here...
# colors:
use_default_colors; # mandatory, we want to use the default background which is transparent
init_pair 1, COLOR_BLUE, -1; # -1 mandatory, again, we want *default* background
init_pair 2, -1, COLOR_WHITE; # you can use the default foreground color if you like
لا تنتمي إلى StackOverflow