| Revision: | 1.2 |
| Committed: | Wed Jan 18 11:05:09 2006 UTC (20 years, 8 months ago) by root |
| Branch: | MAIN |
| CVS Tags: | rel-7_3, rel-7_2, rel-7_1, before_dynamic_fontidx, rel-7_6, rel-7_5, rel-7_8, rel-7_9, rel-7_7, rel-9_14, rel-7_4, rel-9_11, rel-9_10, rel-8_1, rel-9_12, rel-8_5a, rel-7_3a, rel-8_2, rel-8_9, rel-8_8, dynamic_fontidx, rel-8_0, rel-8_4, rel-9_0, rel-8_3, rxvt-unicode-rel-9_15, rel-8_6, rel-8_7, rel-9_09, rel-9_02, rel-9_01, rel-9_06, rel-9_07, rel-9_05 |
| Changes since 1.1: | +3 -5 lines |
| Log Message: | *** empty log message *** |
| # | 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 | # force a refresh every second | ||
| 9 | $self->{digital_clock_refresh} = urxvt::timer | ||
| 10 | ->new | ||
| 11 | root | 1.2 | ->start (1 + int urxvt::NOW) |
| 12 | ->interval (1) | ||
| 13 | ->cb (sub { $self->want_refresh }); | ||
| 14 | root | 1.1 | |
| 15 | () | ||
| 16 | } | ||
| 17 | |||
| 18 | # before refreshing: replace upper right with the clock display | ||
| 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 | $xpos >= 0 | ||
| 26 | or return; | ||
| 27 | |||
| 28 | $self->{digital_clock_rend} = $self->ROW_r (0, [(urxvt::DEFAULT_RSTYLE) x length $time], $xpos); | ||
| 29 | $self->{digital_clock_text} = $self->ROW_t (0, $time, $xpos); | ||
| 30 | |||
| 31 | () | ||
| 32 | } | ||
| 33 | |||
| 34 | # after refreshing: restore previous screen contents | ||
| 35 | sub on_refresh_end { | ||
| 36 | my ($self) = @_; | ||
| 37 | |||
| 38 | exists $self->{digital_clock_text} | ||
| 39 | or return; | ||
| 40 | |||
| 41 | $self->ROW_r (0, delete $self->{digital_clock_rend}); | ||
| 42 | $self->ROW_t (0, delete $self->{digital_clock_text}); | ||
| 43 | |||
| 44 | () | ||
| 45 | } | ||
| 46 | |||
| 47 |