Dans l’article d’aujourd’hui, on regarde comment utiliser la couleur.

require 'curses'
include Curses

begin
  init_screen
  unless has_colors?
    close_screen
    puts "Your terminal has no colors"
    exit 1
  end
  start_color
  init_pair(1, COLOR_RED, COLOR_BLACK)
  attron(color_pair(1))
  setpos(10, 10)
  addstr("In colors...")
  attroff(color_pair(1))
  refresh
  getch
ensure
  close_screen
end

On peut savoir si le terminal est capable d’afficher en couleur grâce à has_colors?:

  unless has_colors?

Avant de pouvoir utiliser la couleur, il faut faire appel à start_color:

  start_color

On crée un «assemblage» de couleurs avec init_pair, en lui passant un identifiant, auquel on pourra se référer plus tard, une couleur de premier plan et une couleur d’arrière plan:

  init_pair(1, COLOR_RED, COLOR_BLACK)

On active un «assemblage» comme ceci:

  attron(color_pair(1))

Et on le désactive comme cela:

  attroff(color_pair(1))

Voilà.

À demain.