File: demo-xterm256.pl

package info (click to toggle)
libtickit-perl 0.73-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 660 kB
  • sloc: perl: 4,944; makefile: 5
file content (48 lines) | stat: -rw-r--r-- 1,181 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/usr/bin/perl

use v5.14;
use warnings;

use Tickit;

use Tickit::Widget::Static;

use Tickit::Widget::VBox;
use Tickit::Widget::HBox;

my $vbox = Tickit::Widget::VBox->new( spacing => 1 );
my $hbox;

$vbox->add( Tickit::Widget::Static->new( text => "ANSI" ) );
$vbox->add( $hbox = Tickit::Widget::HBox->new );
foreach my $col ( 0 .. 15 ) {
   $hbox->add( Tickit::Widget::Static->new(
      text => sprintf( "[%02d]", $col ),
      bg   => $col,
   ) );
}

$vbox->add( Tickit::Widget::Static->new( text => "216 RGB cube" ) );
$vbox->add( my $vbox256 = Tickit::Widget::VBox->new );
foreach my $y ( 0 .. 5 ) {
   $vbox256->add( $hbox = Tickit::Widget::HBox->new );
   foreach my $x ( 0 .. 35 ) {
      my $col = $y * 36 + $x + 16;
      $hbox->add( Tickit::Widget::Static->new(
         text => "  ",
         bg   => $col,
      ) );
   }
}

$vbox->add( Tickit::Widget::Static->new( text => "24 Greyscale ramp" ) );
$vbox->add( $hbox = Tickit::Widget::HBox->new );
foreach my $g ( 0 .. 23 ) {
   $hbox->add( Tickit::Widget::Static->new(
      text => sprintf( "g%02d", $g ),
      bg   => $g + 232,
      fg   => ( $g > 12 ) ? 0 : 7,
   ) );
}

Tickit->new( root => $vbox )->run;