Please note that here we say "perl module" while referring to small files that implement a set of specific features. These are not real Perl modules.
Connection
You have to include one of these (otherwise you wont be able to communicate with ProgArm):
Text to Speech
You probably want to have one of these, because a lot of extensions rely on it.
Music
- cmus.pl -- playback control for cmus.
- [[android_music.pl?]] -- incomplete extension for controlling music players on Android.
Sound
- amixer.pl -- Mute, Volume Up, Volume Down for most GNU/Linux distros.
System
These are some extension that are actually part of the core. They could have been included in the main file, but they were separated to keep our modular design. You probably don't want to remove these from your modules list.
- repeat.pl -- Implementation of the Repeat and Negative Repeat.
- reconnect.pl -- Automatically reconnect when connection is lost.
- battery.pl -- Ask, parse and log battery info.
- [[cli.pl?]] -- Small stuff for interacting with client by using command line. (Experimental)
- [[settings.pl?]] - Save and load ProgArm settings.
- [[log.pl?]] - Log various data.
Tools
Various tools and accessories.
- timestamp.pl -- Log current timestamp. This is useful if you want to measure time (for example, how long does it take to get from one place to another).
- tutor.pl -- learn ProgArm Controls.
- watch.pl -- Tell current time and date.
- xdotool.pl -- Type characters on GNU/Linux systems.
Phone
Extensions that provide exclusively phone controls like Accept Call or similar.
- [[android.pl?]] -- Overrides some of the basic subroutines to make it work on android. This module is yet to be developed.
- [[maemo.pl?]] -- Accept/Reject calls on Maemo. It also overrides some of the other functions that work differently on Maemo.
Development
These extensions are used exclusively for development purposes, there is no reason to have them enabled all the time.