Revision: | 1.1 |
Committed: | Thu Jul 6 23:48:11 2006 UTC (18 years ago) by root |
Branch: | MAIN |
CVS Tags: | before_dynamic_fontidx, rel-7_8, rel-7_9, rel-9_11, rel-9_10, rel-8_1, rel-9_12, rel-8_5a, rel-8_2, rel-8_9, rel-8_8, dynamic_fontidx, rel-8_0, rel-8_4, rel-9_0, rel-8_3, rel-8_6, rel-8_7, rel-9_09, rel-9_02, rel-9_01, rel-9_06, rel-9_07, rel-9_05 |
Log Message: | *** empty log message *** |
# | Content |
---|---|
1 | #! perl |
2 | |
3 | sub on_start { |
4 | my ($self) = @_; |
5 | |
6 | $self->{key} = $self->{argv}[0] || "F10"; |
7 | |
8 | $self->{keysym} = $self->XStringToKeysym ($self->{key}) |
9 | or urxvt::fatal "cannot convert requested kuake wake-up key '$self->{key}' to keysym, unable to continue.\n"; |
10 | |
11 | $self->{keycode} = $self->XKeysymToKeycode ($self->{keysym}) |
12 | or urxvt::fatal "cannot convert requested kuake wake-up key '$self->{key}' to keycode, unable to continue.\n"; |
13 | |
14 | $self->XGrabKey ($self->{keycode}, urxvt::AnyModifier, $self->DefaultRootWindow); |
15 | |
16 | $self->XUnmapWindow ($self->parent); |
17 | |
18 | $self->{unmap_me} = 1; |
19 | |
20 | () |
21 | } |
22 | |
23 | sub on_map_notify { |
24 | my ($self) = @_; |
25 | |
26 | # suppress initial map event |
27 | $self->XUnmapWindow ($self->parent) |
28 | if delete $self->{unmap_me}; |
29 | |
30 | () |
31 | } |
32 | |
33 | sub on_root_event { |
34 | my ($self, $event) = @_; |
35 | |
36 | return unless $event->{type} == urxvt::KeyPress && $event->{keycode} == $self->{keycode}; |
37 | |
38 | $self->mapped |
39 | ? $self->XUnmapWindow ($self->parent) |
40 | : $self->XMapWindow ($self->parent); |
41 | |
42 | 1 |
43 | } |
44 | |
45 | sub on_destroy { |
46 | my ($self) = @_; |
47 | |
48 | $self->XUngrabKey ($self->XKeysymToKeycode ($self->{keysym}), 0, $self->DefaultRootWindow) |
49 | if $self->{keysym}; |
50 | |
51 | () |
52 | } |