Xavier Nayrac

Accro au TDD, rubyiste mais pas que, maker, heureux utilisateur de Vim, accordéoniste.
Si vous vous sentez particulièrement généreux, suivez moi sur Twitter.

Un éditeur pour le terminal - partie 8

| Comments

Niveau : intermédiaire

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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?:

1
  unless has_colors?

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

1
  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:

1
  init_pair(1, COLOR_RED, COLOR_BLACK)

On active un «assemblage» comme ceci:

1
  attron(color_pair(1))

Et on le désactive comme cela:

1
  attroff(color_pair(1))

Voilà.

À demain.

Articles connexes

Commentaires