<?php use React\EventLoop\Factory; use Clue\React\Zenity\Launcher; use Clue\React\Zenity\Builder; use Clue\React\Zenity\Dialog\EntryDialog; require __DIR__ . '/../vendor/autoload.php'; $loop = Factory::create(); $launcher = new Launcher($loop); $builder = new Builder(); $name = $launcher->waitFor(new EntryDialog('Search package')); if ($name === false) { exit; } $pulser = $launcher->launchZen($builder->pulsate('Searching packagist.org for "' . $name . '"...')); sleep(3); $pulser->close(); $packages = array('mink', 'behat', 'phpunit', 'box', 'boris'); $pid = $launcher->waitFor($builder->listRadio($packages, 'Select package')); var_dump($packages[$pid]);
<?php use React\EventLoop\Factory; use Clue\React\Zenity\Launcher; use Clue\React\Zenity\Builder; require __DIR__ . '/../vendor/autoload.php'; $loop = Factory::create(); $launcher = new Launcher($loop); $builder = new Builder(); $progress = $launcher->launchZen($builder->progress('Pseudo-processing...')); $progress->setPercentage(50); $timer = $loop->addPeriodicTimer(0.2, function () use($progress) { $progress->advance(mt_rand(-1, 3)); }); $progress->promise()->then(function () use($timer, $builder, $launcher) { $timer->cancel(); $launcher->launch($builder->info('Done')); }, function () use($timer) { $timer->cancel(); }); $loop->run();
<?php use React\EventLoop\Factory; use Clue\React\Zenity\Launcher; use Clue\React\Zenity\Builder; use Clue\React\Zenity\Dialog\InfoDialog; require __DIR__ . '/../vendor/autoload.php'; $loop = Factory::create(); $launcher = new Launcher($loop); $builder = new Builder(); $progress = $launcher->launchZen($builder->progress('Pseudo-processing...')); $loop->addPeriodicTimer(0.1, function ($timer) use($progress) { $progress->advance(mt_rand(0, 3)); if ($progress->getPercentage() >= 100) { $timer->cancel(); } }); $pulsate = $launcher->launchZen($builder->pulsate('[1/3] Preparing...')); $loop->addTimer(2, function () use($pulsate) { $pulsate->setText('[2/3] Downloading...'); }); $loop->addtimer(4, function () use($pulsate) { $pulsate->setText('[3/3] Unpacking...'); }); $loop->addTimer(6, function () use($pulsate) { $pulsate->complete(); }); $launcher->launch(new InfoDialog('Quit "Processing"?'))->then(function () use($pulsate) { $pulsate->close(); }); $loop->run();
<?php use React\EventLoop\Factory; use Clue\React\Zenity\Launcher; use Clue\React\Zenity\Builder; require __DIR__ . '/../vendor/autoload.php'; $loop = Factory::create(); $launcher = new Launcher($loop); $builder = new Builder(); $notification = $builder->notifier(); $zen = $launcher->launchZen($notification); $zen->setMessage('Hello world'); $n = 0; $loop->addPeriodicTimer(10.0, function ($timer) use($zen, &$n) { $zen->setMessage('Hi' . ++$n); }); $loop->run();