Как я могу указать прозрачный фон, используя Perl и Curses? - PullRequest
4 голосов
/ 07 июля 2010

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

1 Ответ

1 голос
/ 13 июля 2010

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