nowfocus 0.2.12__tar.gz → 0.4.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {nowfocus-0.2.12/src/nowfocus.egg-info → nowfocus-0.4.0}/PKG-INFO +66 -48
- {nowfocus-0.2.12 → nowfocus-0.4.0}/README.md +62 -39
- {nowfocus-0.2.12 → nowfocus-0.4.0}/pyproject.toml +12 -9
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/__main__.py +83 -80
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/conf.py +4 -5
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/connectors/todotxt.py +8 -3
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/connectors/txt.py +43 -28
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/new_task_dialog.py +3 -4
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/settings.py +10 -51
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/styles.css +9 -11
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/task_window.py +117 -72
- nowfocus-0.4.0/src/nowfocus/user_idle_time.py +82 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/utils.py +169 -108
- {nowfocus-0.2.12 → nowfocus-0.4.0/src/nowfocus.egg-info}/PKG-INFO +66 -48
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus.egg-info/SOURCES.txt +1 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus.egg-info/requires.txt +3 -6
- {nowfocus-0.2.12 → nowfocus-0.4.0}/LICENSE +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/setup.cfg +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/__init__.py +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/connectors/activitywatch.py +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/connectors/caldav.py +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/connectors/csv.py +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/connectors/psc_timetracker.py +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/connectors/taskwarrior.py +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/connectors/timewarrior.py +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/connectors/todo_template.py +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/connectors/trello.py +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/connectors/vikunja.py +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/desktop-extras/nowfocus.desktop +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/desktop-extras/nowfocus.png +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/desktop-extras/nowfocus.svg +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/example-todo.txt +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/icon/cancel.png +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/icon/cancel.svg +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/icon/edit.png +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/icon/edit.svg +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/icon/icon-0.svg +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/icon/icon-1.svg +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/icon/icon-2.svg +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/icon/icon-3.svg +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/icon/icon-4.svg +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/icon/icon-5.svg +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/icon/icon-6.svg +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/icon/icon-7.svg +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/icon/icon-8.svg +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/icon/icon-9.svg +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/icon/icon-red.svg +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/icon/icon.svg +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/icon/mark-done.png +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/icon/mark-done.svg +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/icon/pause.png +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/icon/pause.svg +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/icon/settings.png +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/icon/settings.svg +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/session_edit_dialog.py +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/session_options.py +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/sessions.csv +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/sound/bell-xylophone-g.mp3 +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/sound/dinner-bell.mp3 +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/sound/xylophone-chord.mp3 +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus.egg-info/dependency_links.txt +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus.egg-info/entry_points.txt +0 -0
- {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus.egg-info/top_level.txt +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: nowfocus
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.4.0
|
|
4
4
|
Summary: nowfocus: the open source task-tracking self-control panel.
|
|
5
|
-
Author:
|
|
6
|
-
Project-URL: Homepage, https://
|
|
5
|
+
Author: AltruistEnterprises
|
|
6
|
+
Project-URL: Homepage, https://www.nowfocus.org
|
|
7
7
|
Classifier: Programming Language :: Python :: 3
|
|
8
8
|
Classifier: Operating System :: OS Independent
|
|
9
9
|
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
|
|
@@ -14,17 +14,13 @@ License-File: LICENSE
|
|
|
14
14
|
Requires-Dist: psutil
|
|
15
15
|
Requires-Dist: pygobject==3.50.0
|
|
16
16
|
Requires-Dist: pycairo==1.27
|
|
17
|
-
Requires-Dist: meson
|
|
18
|
-
Requires-Dist: meson-python
|
|
19
17
|
Requires-Dist: attrs
|
|
20
18
|
Requires-Dist: caldav
|
|
21
19
|
Requires-Dist: certifi
|
|
22
20
|
Requires-Dist: charset-normalizer
|
|
23
|
-
Requires-Dist: dbus-idle
|
|
24
|
-
Requires-Dist: dbus-python
|
|
25
21
|
Requires-Dist: icalendar
|
|
26
22
|
Requires-Dist: idna
|
|
27
|
-
Requires-Dist:
|
|
23
|
+
Requires-Dist: pywin32>=221; platform_system == "Windows"
|
|
28
24
|
Requires-Dist: kitchen
|
|
29
25
|
Requires-Dist: lxml
|
|
30
26
|
Requires-Dist: playsound3
|
|
@@ -42,48 +38,57 @@ Requires-Dist: tzlocal
|
|
|
42
38
|
Requires-Dist: urllib3
|
|
43
39
|
Requires-Dist: vobject
|
|
44
40
|
Requires-Dist: x-wr-timezone
|
|
45
|
-
Requires-Dist: watchdog
|
|
46
41
|
Dynamic: license-file
|
|
47
42
|
|
|
43
|
+
---
|
|
44
|
+
mainfont: sans-serif
|
|
45
|
+
---
|
|
48
46
|
<div align="center"><img src="https://gitlab.com/GitFr33/nowfocus/-/raw/main/nowfocus.svg" width="60" align="center">
|
|
49
47
|
|
|
50
|
-
# *nowfocus* <br> Open-source task timer for
|
|
48
|
+
# *nowfocus* <br> Open-source task timer for Linux
|
|
51
49
|
|
|
52
50
|
**Avoid multifailing. Master your to-do lists. Track your time.**
|
|
53
51
|
|
|
54
52
|
</div>
|
|
55
53
|
|
|
56
|
-
nowfocus is a clean, keyboard-driven
|
|
54
|
+
nowfocus is a clean, keyboard-driven time management dashboard that flexibly connects multiple to-do lists with multiple time trackers and displays your current task and time spent in the status bar.
|
|
57
55
|
|
|
58
56
|
## Features
|
|
59
|
-
|
|
60
|
-
-
|
|
57
|
+
|
|
58
|
+
- Unlimited, flexible combinations of to-do lists and time tracking apps
|
|
61
59
|
- Inactivity detection that automatically pauses time tracking
|
|
62
|
-
- Pomodoro timer
|
|
63
60
|
- Task prioritization
|
|
61
|
+
- Infinitely nestable lists
|
|
62
|
+
- Pomodoro timer
|
|
64
63
|
- Time targets: set a minimum or maximum time for any task or list of tasks and get reminded to follow though
|
|
65
64
|
- Randomness interrupt bell (optional) to keep you on track with tracking your time
|
|
66
65
|
- Keyboard-driven interface
|
|
67
66
|
- Offline to-do list cache
|
|
68
|
-
- CLI
|
|
67
|
+
- CLI interface
|
|
69
68
|
- Run a command (or launch an application) when a task is started
|
|
69
|
+
- Not built with Electron ♥
|
|
70
|
+
- Follows system dark-mode
|
|
71
|
+
- Lightening fast task search
|
|
70
72
|
|
|
71
|
-
|
|
72
|
-
<img src="https://gitlab.com/GitFr33/nowfocus/-/raw/main/docs/
|
|
73
|
-
<img src="https://gitlab.com/GitFr33/nowfocus/-/raw/main/docs/Screenshot-25-09-23-11-
|
|
74
|
-
<img src="https://gitlab.com/GitFr33/nowfocus/-/raw/main/docs/Screenshot-25-09-23-11-
|
|
73
|
+
<table><tr><td>
|
|
74
|
+
<a href="https://gitlab.com/GitFr33/nowfocus/-/raw/main/docs/darkmode.webp"><img src="https://gitlab.com/GitFr33/nowfocus/-/raw/main/docs/darkmode.webp" height="200"></a></td><td>
|
|
75
|
+
<a href="https://gitlab.com/GitFr33/nowfocus/-/raw/main/docs/Screenshot-25-09-23-11-42-56.webp"><img src="https://gitlab.com/GitFr33/nowfocus/-/raw/main/docs/Screenshot-25-09-23-11-42-56.webp" height="200"></a></td><td>
|
|
76
|
+
<a href="https://gitlab.com/GitFr33/nowfocus/-/raw/main/docs/Screenshot-25-09-23-11-46-14.webp"><img src="https://gitlab.com/GitFr33/nowfocus/-/raw/main/docs/Screenshot-25-09-23-11-46-14.webp" height="200"></a></td><td>
|
|
77
|
+
<a href="https://gitlab.com/GitFr33/nowfocus/-/raw/main/docs/Screenshot-25-09-23-11-53-22.webp"><img src="https://gitlab.com/GitFr33/nowfocus/-/raw/main/docs/Screenshot-25-09-23-11-53-22.webp" height="200"></a></td></tr></table>
|
|
75
78
|
|
|
76
79
|
<br>
|
|
77
80
|
|
|
78
81
|
### Currently Supported To-do List Backends
|
|
79
82
|
|
|
80
|
-
-
|
|
81
|
-
- Any to-do list that supports [CalDav todos](https://en.wikipedia.org/wiki/CalDAV)
|
|
82
|
-
- [todotxt format](http://todotxt.org/)
|
|
83
|
+
- [Trello](https://www.trello.com)
|
|
83
84
|
- [TaskWarrior](https://taskwarrior.org/)
|
|
85
|
+
- [todo.txt format](http://todotxt.org/)
|
|
84
86
|
- [Vikunja](https://www.vikunja.io)
|
|
85
87
|
- [Photosynthesis Timetracker](https://github.com/Photosynthesis/Timetracker/)
|
|
86
|
-
-
|
|
88
|
+
- Simple text file with indentation based sub-lists
|
|
89
|
+
- Any to-do list that supports [CalDav todos](https://en.wikipedia.org/wiki/CalDAV)
|
|
90
|
+
|
|
91
|
+
|
|
87
92
|
|
|
88
93
|
### Currently Supported Time Tracker Backends
|
|
89
94
|
|
|
@@ -95,36 +100,47 @@ nowfocus is a clean, keyboard-driven project time tracker built with python + GT
|
|
|
95
100
|
|
|
96
101
|
## Installation
|
|
97
102
|
|
|
103
|
+
<!-- no longer needed: meson libdbus-glib-1-dev patchelf -->
|
|
104
|
+
<!-- # note: gir1.2-appindicator3-0.1 can be substituted for gir1.2-ayatanaappindicator3-0.1 -->
|
|
105
|
+
|
|
98
106
|
1. Run the following in terminal to install and setup:
|
|
99
|
-
```
|
|
100
|
-
# Install dependencies
|
|
101
|
-
sudo apt install pipx gir1.2-
|
|
107
|
+
```
|
|
108
|
+
# Install dependencies
|
|
109
|
+
sudo apt install pipx gir1.2-ayatanaappindicator3-0.1 libgirepository1.0-dev gcc libcairo2-dev pkg-config python3-dev
|
|
110
|
+
|
|
111
|
+
# only needed X display (rather than wayland)
|
|
112
|
+
sudo apt install xprintidle
|
|
102
113
|
|
|
103
|
-
#
|
|
114
|
+
# Set up pipx
|
|
115
|
+
pipx ensurepath
|
|
116
|
+
source ~.bashrc
|
|
104
117
|
|
|
105
|
-
#
|
|
106
|
-
pipx
|
|
118
|
+
# Install nowfocus
|
|
119
|
+
pipx install nowfocus
|
|
107
120
|
|
|
108
|
-
#
|
|
121
|
+
# Enter application directory
|
|
122
|
+
cd ~/.local/share/pipx/venvs/nowfocus/lib/python3.12/site-packages/nowfocus/desktop-extras
|
|
109
123
|
|
|
110
|
-
#
|
|
111
|
-
|
|
124
|
+
# Copy desktop file and icon to /usr/share
|
|
125
|
+
sudo cp nowfocus.desktop /usr/share/applications/nowfocus.desktop
|
|
126
|
+
sudo cp nowfocus.svg /usr/share/icons/hicolor/scalable/apps/nowfocus.svg
|
|
112
127
|
|
|
113
|
-
#
|
|
114
|
-
|
|
128
|
+
# and now Focus!
|
|
129
|
+
nowfocus
|
|
115
130
|
|
|
116
|
-
|
|
117
|
-
sudo cp nowfocus.desktop /usr/share/applications/nowfocus.desktop
|
|
118
|
-
sudo cp nowfocus.svg /usr/share/icons/hicolor/scalable/apps/nowfocus.svg
|
|
131
|
+
```
|
|
119
132
|
|
|
120
|
-
|
|
121
|
-
|
|
133
|
+
2. Set up a keybinding (on Ubuntu or Linux Mint), open **Settings > Keyboard > Keyboard Shortcuts > Custom Shortcuts**, set the keystroke to Ctrl + Space (or the combination of your choice) set the **command** to:
|
|
134
|
+
```
|
|
135
|
+
bash -c "echo 'open_task_window' > /tmp/nowfocus-pipe"
|
|
136
|
+
```
|
|
122
137
|
|
|
123
|
-
```
|
|
124
138
|
|
|
125
|
-
2. Set up a keybinding (on Ubuntu or Linux Mint), open **Settings > Keyboard > Keyboard Shortcuts > Custom Shortcuts**, set the **command** to `nowfocus`, and pick whatever key combo you'd like.
|
|
126
139
|
|
|
127
|
-
3. Add the following command to your startup applications:
|
|
140
|
+
3. Add the following command to your startup applications:
|
|
141
|
+
```
|
|
142
|
+
nowfocus --force
|
|
143
|
+
```
|
|
128
144
|
|
|
129
145
|
|
|
130
146
|
|
|
@@ -142,9 +158,9 @@ Open nowfocus **Settings** from the indicator menu or tasks window and connect y
|
|
|
142
158
|
- `Shift Enter` or `Shift Click` Transfer current session time to selected task (or top task if none selected)
|
|
143
159
|
- `Control Enter` or `Control Click` show opetions menu for selected (or top) task
|
|
144
160
|
- `Alt Enter` or `Alt Click` Open todolist for selected (or top) task
|
|
145
|
-
- `
|
|
146
|
-
- `
|
|
147
|
-
- `
|
|
161
|
+
- `Conrol + S` Pause and **save** current session
|
|
162
|
+
- `Conrol + D` Pause current session and mark task **Done**
|
|
163
|
+
- `Conrol + Q` **Quit** and discard current session
|
|
148
164
|
- `Ctrl + N` **New** task
|
|
149
165
|
- `Ctrl + R` **Refresh** todolists
|
|
150
166
|
- `Ctrl + L` or `Ctrl + F` **Focus** the task search
|
|
@@ -158,13 +174,15 @@ Open nowfocus **Settings** from the indicator menu or tasks window and connect y
|
|
|
158
174
|
- Start with verbose logging use: `nowfocus -l 3`
|
|
159
175
|
- Start with targeted verbose logging use: `nowfocus -s trello`
|
|
160
176
|
|
|
161
|
-
|
|
177
|
+
<!--
|
|
178
|
+
TODO: test that this works!
|
|
162
179
|
## Development
|
|
163
180
|
|
|
164
181
|
### Install from Source
|
|
165
182
|
|
|
166
|
-
- Install dependencies from above.
|
|
167
183
|
- Clone this repo somewhere (referred to as `YOUR_INSTALL_PATH`)
|
|
168
184
|
- Change to `YOUR_INSTALL_PATH` directory with `cd YOUR_INSTALL_PATH/nowfocus`
|
|
169
185
|
- build python module with `python3 -m build` (this should be done in a venv and will require some dependecies...)
|
|
170
|
-
- pipx install -e --force YOUR_INSTALL_PATH/monotask/
|
|
186
|
+
- pipx install -e --force YOUR_INSTALL_PATH/monotask/ -->
|
|
187
|
+
|
|
188
|
+
<!--built with python + GTK -->
|
|
@@ -1,42 +1,52 @@
|
|
|
1
|
+
---
|
|
2
|
+
mainfont: sans-serif
|
|
3
|
+
---
|
|
1
4
|
<div align="center"><img src="https://gitlab.com/GitFr33/nowfocus/-/raw/main/nowfocus.svg" width="60" align="center">
|
|
2
5
|
|
|
3
|
-
# *nowfocus* <br> Open-source task timer for
|
|
6
|
+
# *nowfocus* <br> Open-source task timer for Linux
|
|
4
7
|
|
|
5
8
|
**Avoid multifailing. Master your to-do lists. Track your time.**
|
|
6
9
|
|
|
7
10
|
</div>
|
|
8
11
|
|
|
9
|
-
nowfocus is a clean, keyboard-driven
|
|
12
|
+
nowfocus is a clean, keyboard-driven time management dashboard that flexibly connects multiple to-do lists with multiple time trackers and displays your current task and time spent in the status bar.
|
|
10
13
|
|
|
11
14
|
## Features
|
|
12
|
-
|
|
13
|
-
-
|
|
15
|
+
|
|
16
|
+
- Unlimited, flexible combinations of to-do lists and time tracking apps
|
|
14
17
|
- Inactivity detection that automatically pauses time tracking
|
|
15
|
-
- Pomodoro timer
|
|
16
18
|
- Task prioritization
|
|
19
|
+
- Infinitely nestable lists
|
|
20
|
+
- Pomodoro timer
|
|
17
21
|
- Time targets: set a minimum or maximum time for any task or list of tasks and get reminded to follow though
|
|
18
22
|
- Randomness interrupt bell (optional) to keep you on track with tracking your time
|
|
19
23
|
- Keyboard-driven interface
|
|
20
24
|
- Offline to-do list cache
|
|
21
|
-
- CLI
|
|
25
|
+
- CLI interface
|
|
22
26
|
- Run a command (or launch an application) when a task is started
|
|
27
|
+
- Not built with Electron ♥
|
|
28
|
+
- Follows system dark-mode
|
|
29
|
+
- Lightening fast task search
|
|
23
30
|
|
|
24
|
-
|
|
25
|
-
<img src="https://gitlab.com/GitFr33/nowfocus/-/raw/main/docs/
|
|
26
|
-
<img src="https://gitlab.com/GitFr33/nowfocus/-/raw/main/docs/Screenshot-25-09-23-11-
|
|
27
|
-
<img src="https://gitlab.com/GitFr33/nowfocus/-/raw/main/docs/Screenshot-25-09-23-11-
|
|
31
|
+
<table><tr><td>
|
|
32
|
+
<a href="https://gitlab.com/GitFr33/nowfocus/-/raw/main/docs/darkmode.webp"><img src="https://gitlab.com/GitFr33/nowfocus/-/raw/main/docs/darkmode.webp" height="200"></a></td><td>
|
|
33
|
+
<a href="https://gitlab.com/GitFr33/nowfocus/-/raw/main/docs/Screenshot-25-09-23-11-42-56.webp"><img src="https://gitlab.com/GitFr33/nowfocus/-/raw/main/docs/Screenshot-25-09-23-11-42-56.webp" height="200"></a></td><td>
|
|
34
|
+
<a href="https://gitlab.com/GitFr33/nowfocus/-/raw/main/docs/Screenshot-25-09-23-11-46-14.webp"><img src="https://gitlab.com/GitFr33/nowfocus/-/raw/main/docs/Screenshot-25-09-23-11-46-14.webp" height="200"></a></td><td>
|
|
35
|
+
<a href="https://gitlab.com/GitFr33/nowfocus/-/raw/main/docs/Screenshot-25-09-23-11-53-22.webp"><img src="https://gitlab.com/GitFr33/nowfocus/-/raw/main/docs/Screenshot-25-09-23-11-53-22.webp" height="200"></a></td></tr></table>
|
|
28
36
|
|
|
29
37
|
<br>
|
|
30
38
|
|
|
31
39
|
### Currently Supported To-do List Backends
|
|
32
40
|
|
|
33
|
-
-
|
|
34
|
-
- Any to-do list that supports [CalDav todos](https://en.wikipedia.org/wiki/CalDAV)
|
|
35
|
-
- [todotxt format](http://todotxt.org/)
|
|
41
|
+
- [Trello](https://www.trello.com)
|
|
36
42
|
- [TaskWarrior](https://taskwarrior.org/)
|
|
43
|
+
- [todo.txt format](http://todotxt.org/)
|
|
37
44
|
- [Vikunja](https://www.vikunja.io)
|
|
38
45
|
- [Photosynthesis Timetracker](https://github.com/Photosynthesis/Timetracker/)
|
|
39
|
-
-
|
|
46
|
+
- Simple text file with indentation based sub-lists
|
|
47
|
+
- Any to-do list that supports [CalDav todos](https://en.wikipedia.org/wiki/CalDAV)
|
|
48
|
+
|
|
49
|
+
|
|
40
50
|
|
|
41
51
|
### Currently Supported Time Tracker Backends
|
|
42
52
|
|
|
@@ -48,36 +58,47 @@ nowfocus is a clean, keyboard-driven project time tracker built with python + GT
|
|
|
48
58
|
|
|
49
59
|
## Installation
|
|
50
60
|
|
|
61
|
+
<!-- no longer needed: meson libdbus-glib-1-dev patchelf -->
|
|
62
|
+
<!-- # note: gir1.2-appindicator3-0.1 can be substituted for gir1.2-ayatanaappindicator3-0.1 -->
|
|
63
|
+
|
|
51
64
|
1. Run the following in terminal to install and setup:
|
|
52
|
-
```
|
|
53
|
-
# Install dependencies
|
|
54
|
-
sudo apt install pipx gir1.2-
|
|
65
|
+
```
|
|
66
|
+
# Install dependencies
|
|
67
|
+
sudo apt install pipx gir1.2-ayatanaappindicator3-0.1 libgirepository1.0-dev gcc libcairo2-dev pkg-config python3-dev
|
|
68
|
+
|
|
69
|
+
# only needed X display (rather than wayland)
|
|
70
|
+
sudo apt install xprintidle
|
|
55
71
|
|
|
56
|
-
#
|
|
72
|
+
# Set up pipx
|
|
73
|
+
pipx ensurepath
|
|
74
|
+
source ~.bashrc
|
|
57
75
|
|
|
58
|
-
#
|
|
59
|
-
pipx
|
|
76
|
+
# Install nowfocus
|
|
77
|
+
pipx install nowfocus
|
|
60
78
|
|
|
61
|
-
#
|
|
79
|
+
# Enter application directory
|
|
80
|
+
cd ~/.local/share/pipx/venvs/nowfocus/lib/python3.12/site-packages/nowfocus/desktop-extras
|
|
62
81
|
|
|
63
|
-
#
|
|
64
|
-
|
|
82
|
+
# Copy desktop file and icon to /usr/share
|
|
83
|
+
sudo cp nowfocus.desktop /usr/share/applications/nowfocus.desktop
|
|
84
|
+
sudo cp nowfocus.svg /usr/share/icons/hicolor/scalable/apps/nowfocus.svg
|
|
65
85
|
|
|
66
|
-
#
|
|
67
|
-
|
|
86
|
+
# and now Focus!
|
|
87
|
+
nowfocus
|
|
68
88
|
|
|
69
|
-
|
|
70
|
-
sudo cp nowfocus.desktop /usr/share/applications/nowfocus.desktop
|
|
71
|
-
sudo cp nowfocus.svg /usr/share/icons/hicolor/scalable/apps/nowfocus.svg
|
|
89
|
+
```
|
|
72
90
|
|
|
73
|
-
|
|
74
|
-
|
|
91
|
+
2. Set up a keybinding (on Ubuntu or Linux Mint), open **Settings > Keyboard > Keyboard Shortcuts > Custom Shortcuts**, set the keystroke to Ctrl + Space (or the combination of your choice) set the **command** to:
|
|
92
|
+
```
|
|
93
|
+
bash -c "echo 'open_task_window' > /tmp/nowfocus-pipe"
|
|
94
|
+
```
|
|
75
95
|
|
|
76
|
-
```
|
|
77
96
|
|
|
78
|
-
2. Set up a keybinding (on Ubuntu or Linux Mint), open **Settings > Keyboard > Keyboard Shortcuts > Custom Shortcuts**, set the **command** to `nowfocus`, and pick whatever key combo you'd like.
|
|
79
97
|
|
|
80
|
-
3. Add the following command to your startup applications:
|
|
98
|
+
3. Add the following command to your startup applications:
|
|
99
|
+
```
|
|
100
|
+
nowfocus --force
|
|
101
|
+
```
|
|
81
102
|
|
|
82
103
|
|
|
83
104
|
|
|
@@ -95,9 +116,9 @@ Open nowfocus **Settings** from the indicator menu or tasks window and connect y
|
|
|
95
116
|
- `Shift Enter` or `Shift Click` Transfer current session time to selected task (or top task if none selected)
|
|
96
117
|
- `Control Enter` or `Control Click` show opetions menu for selected (or top) task
|
|
97
118
|
- `Alt Enter` or `Alt Click` Open todolist for selected (or top) task
|
|
98
|
-
- `
|
|
99
|
-
- `
|
|
100
|
-
- `
|
|
119
|
+
- `Conrol + S` Pause and **save** current session
|
|
120
|
+
- `Conrol + D` Pause current session and mark task **Done**
|
|
121
|
+
- `Conrol + Q` **Quit** and discard current session
|
|
101
122
|
- `Ctrl + N` **New** task
|
|
102
123
|
- `Ctrl + R` **Refresh** todolists
|
|
103
124
|
- `Ctrl + L` or `Ctrl + F` **Focus** the task search
|
|
@@ -111,13 +132,15 @@ Open nowfocus **Settings** from the indicator menu or tasks window and connect y
|
|
|
111
132
|
- Start with verbose logging use: `nowfocus -l 3`
|
|
112
133
|
- Start with targeted verbose logging use: `nowfocus -s trello`
|
|
113
134
|
|
|
114
|
-
|
|
135
|
+
<!--
|
|
136
|
+
TODO: test that this works!
|
|
115
137
|
## Development
|
|
116
138
|
|
|
117
139
|
### Install from Source
|
|
118
140
|
|
|
119
|
-
- Install dependencies from above.
|
|
120
141
|
- Clone this repo somewhere (referred to as `YOUR_INSTALL_PATH`)
|
|
121
142
|
- Change to `YOUR_INSTALL_PATH` directory with `cd YOUR_INSTALL_PATH/nowfocus`
|
|
122
143
|
- build python module with `python3 -m build` (this should be done in a venv and will require some dependecies...)
|
|
123
|
-
- pipx install -e --force YOUR_INSTALL_PATH/monotask/
|
|
144
|
+
- pipx install -e --force YOUR_INSTALL_PATH/monotask/ -->
|
|
145
|
+
|
|
146
|
+
<!--built with python + GTK -->
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "nowfocus"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.4.0"
|
|
4
4
|
authors = [
|
|
5
|
-
{ name="
|
|
5
|
+
{ name="AltruistEnterprises" },
|
|
6
6
|
]
|
|
7
7
|
description = "nowfocus: the open source task-tracking self-control panel."
|
|
8
|
+
|
|
8
9
|
readme = "README.md"
|
|
9
10
|
|
|
10
11
|
classifiers = [
|
|
@@ -21,17 +22,18 @@ dependencies = [
|
|
|
21
22
|
"psutil",
|
|
22
23
|
"pygobject == 3.50.0",
|
|
23
24
|
"pycairo == 1.27",
|
|
24
|
-
"meson",
|
|
25
|
-
"meson-python",
|
|
25
|
+
# "meson",
|
|
26
|
+
# "meson-python",
|
|
26
27
|
"attrs",
|
|
27
28
|
"caldav",
|
|
28
29
|
"certifi",
|
|
29
30
|
"charset-normalizer",
|
|
30
|
-
"dbus-idle",
|
|
31
|
-
"dbus-python",
|
|
31
|
+
# "dbus-idle",
|
|
32
|
+
# "dbus-python",
|
|
32
33
|
"icalendar",
|
|
33
34
|
"idna",
|
|
34
|
-
"jeepney",
|
|
35
|
+
# "jeepney",
|
|
36
|
+
"pywin32>=221 ; platform_system == 'Windows'",
|
|
35
37
|
"kitchen",
|
|
36
38
|
"lxml",
|
|
37
39
|
"playsound3",
|
|
@@ -49,11 +51,12 @@ dependencies = [
|
|
|
49
51
|
"urllib3",
|
|
50
52
|
"vobject",
|
|
51
53
|
"x-wr-timezone",
|
|
52
|
-
"watchdog",
|
|
53
54
|
]
|
|
54
55
|
|
|
55
56
|
[project.urls]
|
|
56
|
-
Homepage = "https://
|
|
57
|
+
Homepage = "https://www.nowfocus.org"
|
|
58
|
+
# Homepage = "https://codeberg.org/AltruistEnterprises/nowfocus"
|
|
59
|
+
# Homepage = "https://gitlab.com/GitFr33/nowfocus"
|
|
57
60
|
|
|
58
61
|
[project.gui-scripts]
|
|
59
62
|
nowfocus = "nowfocus.__main__:startup"
|