The Cookie Machine - Click here to drag window

DUMMY TEXT - Real text set in assets/js/theCookieMachine.js

ToC Skip

Introduction

Multi-Timer Progress Bars.gif
Multi-Timer Application Indicator and Progress Bars

Do you have a job with a fixed set of tasks and, each task always takes the same amount of time?

Then Multi-Timer will help you get the job done with no wasted time!

Multi-Timer is called with mt from the command line or a Desktop Shortcut that calls mt.

The Multi-Timer program (mt) can be downloaded from the Pippim Multi-Timer Repository 🔗.

IMPORTANT NOTE:

Version 0.2.0 was released on February 19, 2022 and not tested with WSL (Windows Subsystem for Linux).


Top ToS Skip

Table of Contents


Top ToS ToC Skip

Running Multi-Timer

Running Multi-Timer is as easy as typing mt at the command line. Or simply clicking a Desktop Shortcut linked to Multi-Timer.

One-Time Configuration

Multi-Timer Maximum Number of Timers.png
Multi-Timer Maximum Number of Timers

The first time you run Multi-Timer you need to specify the maximum number of timers (alarms) you will be using. The window on the left greets you the very first time you run Multi-Timer.

Chances are you will never need more than 10 consecutive timers. However, you can can define up to 40 if, your screen size permits that many.

Once the maximum number of timers is set, you cannot change it. Your only recourse is to remove the configuration file, (using rm ~/.config/mt.conf), and start over again.


Top ToS ToC Skip
Multi-Timer Main Configuration.png
Multi-Timer Main Configuration

Main Configuration

The Main Configuration window, shown on the left, greets you each time you start Multi-Timer. From here you can change the configuration.

When done click OK to begin running timers or, click Cancel to exit Multi-Timer.

To switch to the Timers tab, click it at the top right. The Timers tab is discussed in detail in the next section.

Although there are many options on the Main Configuration tab, don’t be intimidated. The options are pretty straight forward.

It is important to note two options are “greyed out” and, cannot be changed. Those two options are; Multi-Timer Version Number and Maximum number of timers.

As mentioned in the One-Time Configuration section above, the only way to change the Maximum Number of Timers is to erase the configuration file and start again.

The changeable options on this window are:


Top ToS ToC Skip
Multi-Timer Timers Configuration.png
Multi-Timer Timers Configuration

Timers Configuration

When you click the Timers Tab a window similar to the one on the left appears.

Initially all the Aliases are set to “Timer 1”, “Timer 2”, “Timer 3”, etc., all the way up to the Maximum Number of Timers.

The Alias that you enter is used in the Progress Display.

Initially, all the Durations are set to 0. You can have as many 0 durations as you like. However, there must be at least one non-zero duration to make up a valid set of timers.

Any timers with a duration of “0” will not be displayed in the progress bars.

You can key in the Duration number directly. Or, click + to increment by a value of 1 and, click - to decrement by a value of 1.

In this example the first Alias is “Wash” and the Duration is set to “16”. In the Configuration Tab the units of measure were set to “Minutes” so the duration of the “Wash” timer is 16 minutes.

Next is the “Rinse” timer at 13 minutes. Finally, the “Dry” timer is set to 58 minutes.


Top ToS ToC Skip

Installing Multi-Timer

You can download the Source Code from GitHub but that is a complicated process for a single file.

The easiest way is to open the raw code on GitHub.

Then use:

Voila! You have just installed mt to your home directory.

Now to run Multi-Timer you need to always specify the program is located in your home directory. See the next section to move Multi-Timer to a directory in your path so you do not have to specify where mt is located.


Top ToS ToC Skip

Move Multi-Timer into PATH

In order to call Multi-Timer from any directory with the mt command you will want to move the program into your path.

A good place for all users is /usr/bin.

A good place to use Multi-Timer just for yourself is ~/bin. Because ~ is shorthand for /home/<YOUR USER NAME>, the ~/bin directory under your home user name. By default, you do not have a ~/bin directory under your home user name. So you will need to use:

mkdir ~/bin

NOTE:

After creating the ~/bin directory you will need to close the terminal and reopen it.

To verify the new directory is in your path use:

echo $PATH

The very first directory will be /home/<YOUR USER NAME>/bin.

Now move the mt program from ~/mt to ~/bin/mt using:

mv ~/mt ~/bin/mt

Now you are all set to call mt from any directory!


Top ToS ToC Skip

Optionally Modify Multi-Timer Source Code

The source code (Bash Script) can easily be changed by anyone with moderate knowledge of the Linux Shell. You can view the full source code here,

If you wish to change the source code, here are the likely places you want to change:

# Running under WSL (Windows Subsystem for Linux)?
if grep -qE "(Microsoft|WSL)" /proc/version &> /dev/null ; then
    fWindows10=TRUE
    SoundPlayer=""
    DefaultSound="C:\Windows\media\Ring05.wav"
    TitlePrefix="Windows 10"
else
    fWindows10=FALSE
    SoundPlayer="/usr/bin/paplay"
    DefaultSound="/usr/share/sounds/freedesktop/stereo/alarm-clock-elapsed.oga"
    TitlePrefix="Linux"
fi

DefaultIcon="/usr/share/icons/gnome/48x48/status/appointment-soon.png"
sIconFilename="$DefaultIcon"    # Give default until configuration read in
MAX_TIMERS=10                   # Default when creating configuration

IMPORTANT NOTE:

Version 0.2.0 was released on February 19, 2022 and not tested with WSL (Windows Subsystem for Linux).


Top ToS ToC Skip

Dependencies

Here are the dependencies you ned to install for mt.

sudo apt update
sudo apt install yad
sudo apt install libnotify-bin

Top ToS ToC Skip

Create a Second Configuration File

Lets say you want a second Multi-Timer Configuration file for another project. Enter these commands from the terminal (The # comments are not necessary but will not effect operations):

cd ~/.config                  # Go to user's configuration directory
cp mt.conf mt_laundry.conf    # Copy Multi-Timer configuration file
rm mt.conf                    # Remove Multi-Timer configuration file
mt                            # Run Multi-Timer as if first time

This saves the current configuration as mt_laundry.conf and runs Multi-Timer as if it were the first time.

The copy command (cp) and remove command (rm) can be combined into a single move command (mv) to rename the configuration file:

cd ~/.config                  # Go to user's configuration directory
mv mt.conf mt_laundry.conf    # Rename Multi-Timer configuration file

Top ToS ToC Skip

Increasing Maximum Number of Timers

Lets say you created your configuration with the Maximum Number of Timers for your laundry job set to 3 for:

Then you decided you wanted to add another timer for folding your clothes. The conventional method is to simply delete the configuration file (as described in the previous section) and create a new configuration.

There is another option though. YOu can actually edit the configuration file using gedit or another editor. For example, type gedit ~/.config/mt.conf and you will see:

0.2.0 Minutes 1 1 /usr/bin/paplay /usr/share/sounds/freedesktop/stereo/alarm-clock-elapsed.oga /usr/share/icons/gnome/48x48/status/appointment-soon.png Each set end TRUE FALSE TRUE FALSE FALSE FALSE TRUE TRUE 3 Wash Rinse Dry 16 13 58

The pipe character (|) separates fields in the configuration file.

Notice the end of the line contains:

TRUE|3|Wash|Rinse|Dry|16|13|58

The 3 indicates the maximum number of timers. This is followed by the timer aliases: Wash, Rinse and Dry. Next comes the timer durations in minutes: 16, 13 and 58.

To change to four timers you would change them to:

TRUE|4|Wash|Rinse|Dry|Fold|16|13|58|10

The 4 indicates the maximum number of timers. This is followed by the timer aliases: Wash, Rinse, Dry and Fold. Next comes the timer durations in minutes: 16, 13, 58 and 10.

But while you are add it why not add some extra spare fields?

TRUE|6|Timer 1|Wash|Rinse|Dry|Fold|Timer 6|0|16|13|58|10|0

You’ve just successfully created timer aliases Timer 1 and Timer 6 with a duration of 0 minutes which means they will never display and never get executed. If you ever want to activate them just use the regular Main Configuration Tab in Multi-Timer program.


Top ToS ToC Skip

Future Plans

A web version where you can run Multi-Timer on any web browser on any platform anywhere in the world.

The configuration file is stored on your web browser local storage in the form of a Cookie.

A function to copy and paste your cookie into an email. Then send it to yourself and receive it. Then paste the cookie onto another web browser on your device. Or paste the cookie into a different device. Or share your e-amil cookie with a friend / colleague and they can run your Set of Timers.

Perhaps some day Pippim will have a special page of the most popular Multi-Timer cookies that people can run.

Gone will be the notion of Maximum Number of Timers. You can have an infinite amount depending on RAM. You can scroll and insert a new timer anywhere in the set. You can highlight a timer and click the Trash Bin. After confirmation all timers below simply move up the list.

It will be easier to let you link the timer alarm to a YouTube video instead of just a simple audio file.

The future can be revolutionary… or at the vary least evolutionary because Cookies have existed for a long time, just never something end-users were allowed to use for their own personal gain.


Top ToS ToC