![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /usr/share/doc/libx11-protocol-perl/examples/ |
Upload File : |
#!/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"; } }