Comment puis-je spécifier un fond transparent en utilisant Perl et Curses?

StackOverflow https://stackoverflow.com/questions/3193941

  •  02-10-2019
  •  | 
  •  

Question

Je tente d'obtenir l'arrière-plan la couleur terminal standard au lieu de noir, mais je ne peux pas sembler comprendre. Lorsque j'utilise use_default_colors() les normes est tout comme ne pas utiliser les couleurs, mais je voudrais changer la couleur de premier plan et pas la couleur d'arrière-plan. J'utilise init_color_pair(1, COLOR_RED, COLOR_BLACK); mais qui me donne un fond noir, ce que je ne veux pas.

Était-ce utile?

La solution

afin d'avoir un fond transparent, l'utilisateur de votre application aurait dû préciser dans leur .Xdefaults ou quelque chose de similaire. Si l'utilisateur dispose déjà d'un fond transparent, tout ce que vous avez à faire, est d'utiliser l'arrière-plan par défaut comme ceci:

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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top