#!/usr/bin/perl # Overwrite a bunch of randomly chosen windows on the screen with # random-colored rectangles. You might want to learn about the # "xrefresh" program before trying this one. # Demonstrates the use of "robust_req" use X11::Protocol; $X = X11::Protocol->new; my $gc = $X->new_rsrc; $X->req('CreateGC', $gc, $X->root); for (1 .. 2500) { my $client = rand(50); my $client_id = rand(200); my $id = $client << 21 | $client_id; printf "XID %x ", $id; my($result,) = $X->robust_req('GetGeometry', $id); my %geom; if (ref $result) { print "exists\n"; %geom = @$result; } else { print "does not exist\n"; next; } # Make sure we've got a Window rather than a Pixmap, since overwriting # Pixmaps is more permanent and therefore less amusing. next unless ref $X->robust_req('GetWindowAttributes', $id); $X->req('ChangeGC', $gc, 'foreground' => rand(2**32)); my($result,) = $X->robust_req('PolyFillRectangle', $id, $gc, [5, 5, $geom{width}-10, $geom{height}-10]); if (not ref $result) { print "Ignoring $result error\n"; } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
anim.pl | File | 2.77 KB | 0644 |
|
full_test.pl.gz | File | 5.44 KB | 0644 |
|
long-run.pl | File | 3.09 KB | 0644 |
|
random-win.pl | File | 1.08 KB | 0644 |
|
render-clock.pl.gz | File | 3.33 KB | 0644 |
|
render-test.pl.gz | File | 1.92 KB | 0644 |
|
teletype.pl | File | 2.87 KB | 0644 |
|
widgets.c.gz | File | 7.69 KB | 0644 |
|
widgets1.pl.gz | File | 6.9 KB | 0644 |
|
widgets2.pl.gz | File | 7.6 KB | 0644 |
|
widgets3.pl.gz | File | 6.68 KB | 0644 |
|
wintree.pl | File | 2.3 KB | 0644 |
|