Commit graph

15 commits

Author SHA1 Message Date
ec84a11036
feat: install Pominal with make
This commit adds an install target in the Makefile to install
Pominal on the user's system. The default installation path is
/usr/local/bin but this can be configured by overriding the
INSTALL_PREFIX variable.

Changes include:

- cleaning up .gitignore
- adding workflow to .gitlab-ci.yml
- bumping Go version in .gitlab-ci.yml
- excluding main.go for gochecknoglobals
- adding copyright notice in Makefile
- adding install and uninstall targets in Makefile
- adding installation instructions in the README
- adding a config.mk file for make arguments
- updating Pominal to specify where the icon is installed
2020-07-14 19:57:02 +01:00
19eb9b20be
feat: support configuring Pominal with config file
This commit adds a feature to load Pominal
configuration from a JSON configuration file.

A new data type called PominalConfig was created for
the purpose of configuring Pominal.
A new factory function called newPominalConfig was
created which takes the path to the JSON configuration
file and the flag overrides and generates the new
PominalConfig value.

Here, the JSON config is parsed to create the initial
configuration and any flag overrides can override
the corresponding fields in the PominalConfig object.
Currently only the sessions times and the maximum work
sessions per Pominal cycle have flag overrides.

Additionally users can now configure custom notification
messages for each session type from the configuration file.
There are currently no flag overrides for these.

This commit resolves dananglin/Pominal#1
2020-02-13 12:42:55 +00:00
9e2b011e39
chore: updated Copyright 2020-02-11 16:27:47 +00:00
99ebc86270
refactor: add lint test and refactor code.
- lint test using golangci-lint.
- lint test added as a job in the testing stage.
- code refactoring based on feedback.
2020-01-24 09:51:21 +00:00
0a2b9c483e
fix: limit the height and width of flex
This commit fixes the issue where the app was using
the full height of the terminal screen.

The fix include setting the 'fullscreen' boolean to
false and explicity defining the size using SetRect.
2020-01-20 20:29:45 +00:00
1d79a4c7e6
test: added test suite for validating Pominal 2020-01-20 09:13:47 +00:00
c8a1d0adfa
refactor: add a stop channel 2020-01-19 21:26:46 +00:00
45ad772818
feat: Basic UI for Pominal 2020-01-18 19:24:35 +00:00
0a86afbec3
chore: updated Go to version 1.13.4
As part of the Go update the flag.Parse()
function was moved out of init() and into
main() as the test was failing.
2019-12-01 20:30:20 +00:00
f0b46ed8b7
refactor: code refactoring to improve stability.
This commit removes the need to calculate the time remaining in a
session and instead introduces a countdown counter which decrements at
each one second 'tick'. This stabilizes the interface where it appeared
that he timer was randomly pausing or skipping time.

A summary of changes made in this commit includes:

- Updated the command line flags so that they are easier to remember.
- The work, short break and long break session times are now parsed and
converted to type float64. These times represent the total amount of
seconds.
- Removal of timer and finish from Pominal.
- The method that calculates the time remaining is removed.
- A countdown counter is added to the Pominal type.
- Updated alert message for the desktop notification.
- Simplified the Run method by moving the logic to chosse the next session
in a separate method.
2019-09-18 09:08:12 +01:00
09002e6d91
refactor: move Pominal type & methods to new file 2019-09-11 09:03:40 +01:00
38ae9ed082
feat: added desktop notification integration 2019-08-16 09:20:56 +01:00
4daa57de82
feat: show versions 2019-08-14 20:07:27 +01:00
18cdd01dc8
fix: use math.Ceil to stabilise the timer display 2019-08-12 09:22:51 +01:00
a68cc534b5 feat: added Pominal
This is the first commit of Pominal,
a Pomodoro application for the terminal.

This commit includes:
- Timers for work sessions, short breaks and long breaks.
- Flags to allow users to configure Pominal to their preferences.
- Graceful shutdown when a SIGINT or SIGTERM is sent to the application.
2019-05-30 22:19:53 +00:00