- ClickMouseButton
- SendKeys
Closing the window
my ($x, $y, $width, $height) = GetWindowPos($Main); print "$x $y $width $height\n"; MoveMouseAbs($x+2, $y-2); ClickMouseButton M_LEFT; SendKeys('c');
We could close the window by typing Alt-F4 but it does not work on my notebook as I have set Alt-F4 to be something else.
So we can either click on the X in the top-right corner, or click on the X in the top left corner, and then press C. We chose the latter.
The above code will probably work on most of the possible screen resolutions but generally moving a fixed number of pixels might not be the best solution.
perl examples/X/xcalc06.pl
examples/X/xcalc06.pl
#!/usr/bin/perl use strict; use warnings; use X11::GUITest qw(:ALL); StartApp('xcalc'); my ($Main) = WaitWindowViewable('Calculator'); if (!$Main) { die("Couldn't find xcalc window in time!"); } print "Main: $Main\n"; my $Focus = GetInputFocus(); print "Focus: $Focus\n"; if ($Focus != $Main) { die "The focus is not on the main window or you have two xcalcs open\n"; } my ($x, $y, $width, $height) = GetWindowPos($Main); print "$x $y $width $height\n"; MoveMouseAbs($x+2, $y-2); sleep(2); ClickMouseButton M_LEFT; sleep(2); SendKeys('c');