ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/perl/digital-clock
Revision: 1.2
Committed: Tue Jan 3 01:15:44 2006 UTC (18 years, 4 months ago) by root
Branch: MAIN
Changes since 1.1: +1 -1 lines
Log Message:
*** empty log message ***

File Contents

# User Rev Content
1 root 1.1 #! perl
2    
3     # this creates a simple digital clock by overwriting the refresh hooks
4    
5     sub on_init {
6     my ($self) = @_;
7    
8     $self->{digital_clock_refresh} = urxvt::timer
9     ->new
10     ->start (urxvt::NOW)
11     ->cb (sub {
12 root 1.2 $self->{digital_clock_refresh}->start ($self->{digital_clock_refresh}->at + 1);
13 root 1.1 $self->want_refresh;
14     });
15    
16     ()
17     }
18    
19     sub on_refresh_begin {
20     my ($self) = @_;
21    
22     my $time = sprintf "%2d:%02d:%02d", (localtime urxvt::NOW)[2, 1, 0];
23     my $xpos = $self->ncol - length $time;
24    
25     $self->{digital_clock_rend} = $self->ROW_r (0, [(0x00020000 + urxvt::DEFAULT_RSTYLE) x length $time], $xpos);
26     $self->{digital_clock_text} = $self->ROW_t (0, $time, $xpos);
27    
28     ()
29     }
30    
31     sub on_refresh_end {
32     my ($self) = @_;
33    
34     $self->ROW_r (0, $self->{digital_clock_rend});
35     $self->ROW_t (0, $self->{digital_clock_text});
36    
37     ()
38     }
39    
40