Meggy is a command-line interactive task management jar
program with GUI. It supports task addition, deletion, and
lookup.
- Ensure you have Java
11
or above installed in your Computer. - Download the latest release of
Meggy.jar
. - Move
Meggy.jar
to the folder you want to use as the home folder. If this is your first time using, you might want to make sure there is noMeggyData.txt
in the same folder in prior. - Open a command terminal,
cd
into the folder you put the jar file in, and use thejava -jar Meggy.jar
command to run the application. The GUI should appear in a few seconds. - Type the command in the command box. Click the
Send
button ot press Enter to execute it. - Refer to Usage for details of each command.
The program is uses a direct message GUI. Adjacent whitespace characters in user input will be replaced by a single one.
The commands names are not case-sensitive, but the rest of user input is.
If Meggy finds a valid command in your input, Meggy will start execution and ignore the rest part of your input line.
Meggy keeps a list of tasks from your input. Each task has completion status and optional time moment(s).
Task list data are synchronized locally with file MeggyData.txt
at same directory with the jar
file.
Task list data is loaded from file each time the program starts and stored once the task list changes.
The data is kept in MeggyData.txt
after a session ends.
Adds a task with description. The description can't be empty.
Input example:
todo World domination
Meggy will reply:
Got it. Added this task:
[T][ ] World domination
Adds a task with description and a time moment (deadline). The description can't be empty.
Specify the time moment with /by
.
If the time is not in any known date-time format, it will be unchanged in display. If the time is unspecified, [N/A]
will be displayed.
Input example:
deadline Enslave humanity /by 2038-01-19 0314
Meggy will reply:
Got it. Added this task:
[D][ ] Enslave humanity (by: 19/01/2038 03:14)
Input example:
deadline Enslave humanity /by Armageddon
Meggy will reply:
Got it. Added this task:
[D][ ] Enslave humanity (by: [Armageddon])
Input example:
deadline Enslave humanity
Meggy will reply:
Got it. Added this task:
[D][ ] Enslave humanity (by: [N/A])
Adds a task with description and two time moment (start and end). The description can't be empty.
Specify the start moment with /from
and the end moment with /to
.
If the time is not in any known date-time format, it will be unchanged in display. If the time is unspecified, [N/A]
will be displayed.
Input example:
event Matrix maintainance /from 2106-07-02 0628 /to 2106-07-02 0629
Meggy will reply:
Got it. Added this task:
[E][ ] Matrix maintainance (from: 07/02/2106 06:28 to: 07/02/2106 06:29)
Input example:
event Matrix maintainance /from 2106-07-02 0628
Meggy will reply:
Got it. Added this task:
[E][ ] Matrix maintainance (from: 07/02/2106 06:28 to: [N/A]])
Input example:
event Matrix maintainance /from Unsigned 32-bit time_t overflow /to 2106-07-02 0629
Meggy will reply:
Got it. Added this task:
[E][ ] Matrix maintainance (from: Unsigned 32-bit time_t overflow to: 07/02/2106 06:29)
Displays all task remaining on the list regardless of completion status.
Input example:
list
If you executed all above commands in sequence, Meggy will reply:
Here are the tasks in your list:
1.[T][ ] World domination
2.[D][ ] Enslave humanity (by: 19/01/2038 03:14)
3.[D][ ] Enslave humanity (by: [Armageddon])
4.[D][ ] Enslave humanity (by: [N/A])
5.[E][ ] Matrix maintainance (from: 07/02/2106 06:28 to: 07/02/2106 06:29)
6.[E][ ] Matrix maintainance (from: 07/02/2106 06:28 to: [N/A]])
7.[E][ ] Matrix maintainance (from: Unsigned 32-bit time_t overflow to: 07/02/2106 06:29)
Select a task by list index (start with 1) and set its completion status into "completed" regardless of previous status.
Input example:
mark 1
If you executed all above commands in sequence, Meggy will reply:
Booyah! Marked this task as done:
[T][X] World domination
Select a task by list index (start with 1) and set its completion status into "incomplete" regardless of previous status.
Input example:
unmark 6
If you executed all above commands in sequence, Meggy will reply:
OK. Marked this task as not done:
[E][ ] Matrix maintainance (from: 07/02/2106 06:28 to: [N/A]])
Select a task by list index (start with 1) and remove it from the list.
Input example:
delete 2
If you executed all above commands in sequence, Meggy will reply:
OK. Removed this task:
[D][ ] Enslave humanity (by: 19/01/2038 03:14)
List all tasks whose descriptions are superstrings of a specified string. Case sensitive.
Time moments are not considered here.
The specified string can't be entirely whitespace characters.
Input example:
find ina
If you executed all above commands in sequence, Meggy will reply:
Here are the matching tasks in your list:
1.[T][X] World domination
2.[E][ ] Matrix maintainance (from: 07/02/2106 06:28 to: 07/02/2106 06:29)
3.[E][ ] Matrix maintainance (from: 07/02/2106 06:28 to: [N/A]])
4.[E][ ] Matrix maintainance (from: Unsigned 32-bit time_t overflow to: 07/02/2106 06:29)
Meggy data are saved locally in file MeggyData.txt
automatically after any command that changes the data. There is no
need to save manually.
Meggy data are saved as a text file MeggyData.txt
. Advanced users are welcome to update data directly by editing that
data file.
Changes to the data file during a Meggy session will not be kept once Meggy successfully executes a command that changes
task list.
If your changes to the data file make its format invalid, Meggy will stop loading upon the first syntax error, give you
a warning message, and only load the tasks already read.
Action | Format |
---|---|
Todo | todo DESCRIPTION |
Deadline | deadline DESCRIPTION <optional:/by TIME> |
Event | event DESCRIPTION <optional:/from TIME> <optional:/to TIME> |
List | list |
Mark | mark INDEX |
Unmark | unmark INDEX |
Delete | delete INDEX |
Find | find SUBSTRING |
Q: How do I transfer my data to another Computer?
A: Install the app in the other computer and overwrite the empty data file it creates with the file that contains
the data of your previous Meggy home folder.
User Guide format and structure based
on AB3
Font made by frozenpandaman
Meggy icon cropped
from Fandom Wiki
User icon cropped
from The Calvert Journal