Xavier Nayrac

Rubyiste accro au TDD, serial blogger, apprenti data scientist, 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