Mouse position: Difference between revisions

→‎{{header|Perl 6}}: Add a second version which doesn't require jmv.
(AppleScript/AppleScriptObjC)
(→‎{{header|Perl 6}}: Add a second version which doesn't require jmv.)
Line 822:
say .getX, 'x', .getY;
}</lang>
 
An implementation that will work on any X11 windowing system. Reports mouse position, window ID# and window name for whichever window the mouse pointer is over. Automatically moves mouse for hands-off testing purposes.
 
{{works with|Rakudo|2018.11}}
<lang perl6>use X11::libxdo;
my $xdo = Xdo.new;
 
my ($dw, $dh) = $xdo.get-desktop-dimensions( 0 );
 
sleep .25;
 
for ^$dw -> $mx {
my $my = (($mx / $dh * τ).sin * 500).abs.Int + 200;
$xdo.move-mouse( $mx, $my, 0 );
my ($x, $y, $window-id, $screen) = $xdo.get-mouse-info;
my $name = (try $xdo.get-window-name($window-id) if $window-id)
// 'No name set';
 
my $line = "Mouse location: x=$x : y=$y\nWindow under mouse.\nID: " ~
$window-id ~ "\nWindow name: " ~ $name ~ "\nScreen #: $screen";
 
print "\e[H\e[J", $line;
sleep .001;
}
 
say '';</lang>
 
=={{header|Phix}}==
10,333

edits