source: flowtimer/README.md@ 58e7315

guix
Last change on this file since 58e7315 was c251a80, checked in by Enrico Schwass <ennoausberlin@…>, 9 months ago

command line argument parser added and README.md updated

  • Property mode set to 100644
File size: 3.5 KB
Line 
1# Flowtimer
2
3Flowtimer is a customizable Pomodoro timer designed to enhance productivity by breaking work into intervals, typically 25 minutes long, separated by short breaks. It allows you to configure your work and break sessions through a JSON file and includes predefined phases of activity to help you stay focused.
4
5## Features
6
7- **Configurable Sessions:** Define your own work, short break, and long break durations through a JSON file.
8- **Predefined Phases:** Start with standard Pomodoro phases or create your own.
9- **Progress Tracking:** Visual feedback on time remaining for each phase.
10- **Customizable Cycle:** Choose how many work sessions you want before taking a longer break.
11
12## Getting Started
13
14### Prerequisites
15
16Ensure you have the following installed on your machine:
17
18- Python 3.x
19
20### Test without install
21 ```bash
22 git clone --branch guix https://gitlab.kid.local:/legacy/flowtimer.git
23 cd flowtimer
24
25 guix shell python python:tk python-pillow --
26 export PYTHONPATH=$PYTHONPATH:./
27 python3 flowtimer/main.py
28 ```
29
30### Installation
31
321. Clone the repository:
33 ```bash
34 git clone --branch guix https://gitlab.kid.local:/legacy/flowtimer.git
35 cd flowtimer
36 ```
372. Install the app and required dependencies
38 ```bash
39 pip3 install .
40
41 ```
42### Usage
43
441. **Create or Modify Configuration:**
45
46 Flowtimer reads its configuration from a JSON file.
47
48 Example `default.json`:
49 ```json
50 { "title": "Default",
51 "blocks": [
52 {"type": "Phase",
53 "title": "MorningHuddle",
54 "initial_ticks": 900
55 },
56 {"type": "Sequence",
57 "title": "AM",
58 "sequence": [
59 {
60 "title": "Tasking",
61 "initial_ticks": 120
62 },
63 {
64 "title": "Working",
65 "initial_ticks": 5400
66 },
67 {
68 "title": "Syncing",
69 "initial_ticks": 300
70 },
71 {
72 "title": "Break",
73 "initial_ticks": 600
74 }
75 ],
76 "initial_repetitions": 2
77 },
78 {"type": "Phase",
79 "title": "Lunch",
80 "initial_ticks": 2700
81 },
82 {"type": "Sequence",
83 "title": "PM",
84 "sequence": [
85 {
86 "title": "Tasking",
87 "initial_ticks": 120
88 },
89 {
90 "title": "Working",
91 "initial_ticks": 5400
92 },
93 {
94 "title": "Syncing",
95 "initial_ticks": 600
96 },
97 {
98 "title": "Break",
99 "initial_ticks": 600
100 }
101 ],
102 "initial_repetitions": 2
103 }
104 ]
105}
106 ```
107
108 This configuration represents a standard Pomodoro cycle: three work sessions of 25 minutes each, separated by 5-minute short breaks, and followed by a 15-minute long break.
109
1102. **Run Flowtimer:**
111 ```bash
112 python3 flowtimer.py --start --config /path/to/config_file.json
113 ```
114
115 This will start the timer based on the phases and durations specified in the JSON file.
116
1173. **Adjusting Configuration:**
118 To change the timings or the order of phases, simply edit the JSON file and rerun the script.
119
120
121### Command-line Options
122
123- `--config <file>`: Specify a custom JSON configuration file.
124- `--start`: Start the Pomodoro timer with the current configuration.
125
126### Example
127
128```bash
129python3 flowtimer.py --config myconfig.json
130```
131
132This command will start Flowtimer with a custom configuration provided in `myconfig.json`.
133
134## Contributing
135
136Contributions are welcome! Please submit a pull request or open an issue to discuss any changes or improvements.
137
138## License
139
140Flowtimer is open-source software licensed under the [MIT License](LICENSE).
141
142## Acknowledgments
143
144Special thanks to the Pomodoro Technique® for inspiring this tool.
Note: See TracBrowser for help on using the repository browser.