Mac-Glue

 view release on metacpan or  search on metacpan

ex/finder_label_and_beep  view on Meta::CPAN

use Mac::Glue ':all';
use strict;

my($f, $vol, $label, @orig, @prop);

$f        = new Mac::Glue 'Finder';
$vol      = $f->prop('startup disk');
$label    = $f->prop('label_index', $vol);
@prop = (
    $f->prop('position', $vol),
    $f->prop(spatial_view_arrangement => of => 'desktop'),
    $f->prop(button_view_arrangement => of => 'desktop'),
);
@orig = ($f->get($prop[0]), $f->get($prop[1]), $f->get($prop[2]));


$f->activate();
$f->set($prop[2], to => enum('not arranged'));
$f->set($prop[1], to => enum('not arranged'));
$f->set($prop[0], to => [10, 40]);

for my $i (0 .. 2**5) {

ex/finder_label_and_beep_cool_version  view on Meta::CPAN

use Mac::Glue ':all';
use strict;

for (my $f = new Mac::Glue 'Finder') {
    my($vol, $label, @orig, @prop);

    $vol      = prop('startup disk');
    $label    = prop('label_index', $vol);
    @prop = (
        prop('position', $vol),
        prop(spatial_view_arrangement => of => 'desktop'),
        prop(button_view_arrangement => of => 'desktop'),
    );
    @orig = (get($prop[0]), get($prop[1]), get($prop[2]));

    activate();
    set($prop[2], to => enum('not arranged'));
    set($prop[1], to => enum('not arranged'));
    set($prop[0], to => [10, 40]);

    for my $i (0 .. 2**5) {
        set($label, to => $i);



( run in 0.355 second using v1.01-cache-2.11-cpan-299005ec8e3 )