2010-07-07 1 views
4

Я пытаюсь получить фон стандартного цвета терминала вместо черного, но я не могу понять его. Когда я использую use_default_colors(), стандарты не похожи на цвета, но я бы хотел изменить цвет переднего плана, а не цвет фона. Я использую init_color_pair(1, COLOR_RED, COLOR_BLACK);, но это дает мне черный фон, чего я не хочу.Как указать прозрачный фон с помощью Perl и Curses?

ответ

1

, чтобы иметь прозрачный фон, пользователь вашего приложения должен был указать его в своих .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 
+0

Мне просто нужно было знать, что -1 был по умолчанию. Огромное спасибо. – vincentkriek

Смежные вопросы