Damian Conway
and 1 contributors

NAME

App::SlowQuitApps - Simplify configuration of SlowQuitApps app on MacOS

VERSION

This document describes App::SlowQuitApps version 0.000003

SYNOPSIS

    use App::SlowQuitApps;

    # Set slowness of quit (in seconds)...
    delay 1.25;

    # Make only these apps slow-quit...
    slowquit 'Microsoft PowerPoint';
    slowquit 'Terminal';
    slowquit 'Firefox';

    # Or else...make all apps slow-quit EXCEPT these...
    fastquit 'Calendar';
    fastquit 'Safari';
    fastquit 'Notes';

DESCRIPTION

This module makes it easier to configure the SlowQuitApps application (https://github.com/dteoh/SlowQuitApps).

Once the module has been installed, you can simply create a Perl script, like the one shown in the "SYNOPSIS". That script will then reconfigure SlowQuitApps when run.

INTERFACE

The module exports three subroutines:

delay( $DELAY_IN_SECONDS )

Call this function to specify how long the slow quit takes to quit. The argument is the number of (fractional) seconds.

Non-positive delays are rounded up to 1 millisecond, which is useless...but better than dealing with the inevitable time paradoxes that crop up when SlowQuitApps attempts to quit an app before you actually press COMMAND-Q.

slowquit( $APP_NAME )

Call this function to specify an application to be added to the blacklist (i.e. another app to be explicitly slow-quit, even though most other apps are not).

The single argument is the name of the application to be slow-quit, as a string.

Calling this function sets SlowQuitApps to blacklist mode.

fastquit( $APP_NAME )

Call this function to specify an application to be added to the whitelist (i.e. another app to be quit in the normal instananeous manner even though most other apps are being slow-quit).

The single argument is the name of the application to be fast-quit, as a string.

Calling this function sets SlowQuitApps to whitelist mode.

DIAGNOSTICS

Can't locate SlowQuitApps

The application this module configures could not be located. Therefore that application could not be configured.

Did you forget to install SlowQuitApps?

Can't slowquit application %s at line %d (application not found)

The application named in the error message either could not be located, or else its system identifier could not be determined.

In either case, this makes it impossible for slowquit() to add it to the SlowQuitApps blacklist, as you requested.

Did you misspell the application name?

Can't fastquit application %s at line %d (application not found)

The application named in the error message either could not be located, or else its system identifier could not be determined.

In either case, this makes it impossible for fastquit() to add it to the SlowQuitApps whitelist, as you requested.

Did you misspell the application name?

Can't configure both slowquit and fastquit on apps. Configuration unchanged.

SlowQuitApps doesn't support having both a whitelist and blacklist at the same time. Indeed, it's not clear what that would even mean.

But you tried to add two or more apps using both slowquit and fastquit, so the module gave up.

You're going to have to choose whether you want to explicitly specify which apps are to be slow-quit (i.e. by calls to slowquit), or else specify that all apps are to be slow-quit except the ones you explicitly specify (i.e. one or more calls to fastquit).

CONFIGURATION AND ENVIRONMENT

App::SlowQuitApps requires no configuration files or environment variables.

DEPENDENCIES

No Perl dependencies.

Requires the SlowQuitApps application to be installed.

And that you're running on MacOS, obviously.

INCOMPATIBILITIES

None reported.

BUGS AND LIMITATIONS

No bugs have been reported.

Please report any bugs or feature requests to bug-app-slowquitapps@rt.cpan.org, or through the web interface at http://rt.cpan.org.

AUTHOR

Damian Conway <DCONWAY@CPAN.org>

LICENCE AND COPYRIGHT

Copyright (c) 2018, Damian Conway <DCONWAY@CPAN.org>. All rights reserved.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic.

DISCLAIMER OF WARRANTY

BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR, OR CORRECTION.

IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE SOFTWARE AS PERMITTED BY THE ABOVE LICENCE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.