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.
Files changed (63) hide show
  1. {nowfocus-0.2.12/src/nowfocus.egg-info → nowfocus-0.4.0}/PKG-INFO +66 -48
  2. {nowfocus-0.2.12 → nowfocus-0.4.0}/README.md +62 -39
  3. {nowfocus-0.2.12 → nowfocus-0.4.0}/pyproject.toml +12 -9
  4. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/__main__.py +83 -80
  5. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/conf.py +4 -5
  6. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/connectors/todotxt.py +8 -3
  7. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/connectors/txt.py +43 -28
  8. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/new_task_dialog.py +3 -4
  9. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/settings.py +10 -51
  10. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/styles.css +9 -11
  11. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/task_window.py +117 -72
  12. nowfocus-0.4.0/src/nowfocus/user_idle_time.py +82 -0
  13. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/utils.py +169 -108
  14. {nowfocus-0.2.12 → nowfocus-0.4.0/src/nowfocus.egg-info}/PKG-INFO +66 -48
  15. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus.egg-info/SOURCES.txt +1 -0
  16. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus.egg-info/requires.txt +3 -6
  17. {nowfocus-0.2.12 → nowfocus-0.4.0}/LICENSE +0 -0
  18. {nowfocus-0.2.12 → nowfocus-0.4.0}/setup.cfg +0 -0
  19. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/__init__.py +0 -0
  20. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/connectors/activitywatch.py +0 -0
  21. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/connectors/caldav.py +0 -0
  22. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/connectors/csv.py +0 -0
  23. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/connectors/psc_timetracker.py +0 -0
  24. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/connectors/taskwarrior.py +0 -0
  25. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/connectors/timewarrior.py +0 -0
  26. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/connectors/todo_template.py +0 -0
  27. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/connectors/trello.py +0 -0
  28. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/connectors/vikunja.py +0 -0
  29. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/desktop-extras/nowfocus.desktop +0 -0
  30. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/desktop-extras/nowfocus.png +0 -0
  31. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/desktop-extras/nowfocus.svg +0 -0
  32. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/example-todo.txt +0 -0
  33. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/icon/cancel.png +0 -0
  34. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/icon/cancel.svg +0 -0
  35. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/icon/edit.png +0 -0
  36. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/icon/edit.svg +0 -0
  37. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/icon/icon-0.svg +0 -0
  38. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/icon/icon-1.svg +0 -0
  39. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/icon/icon-2.svg +0 -0
  40. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/icon/icon-3.svg +0 -0
  41. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/icon/icon-4.svg +0 -0
  42. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/icon/icon-5.svg +0 -0
  43. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/icon/icon-6.svg +0 -0
  44. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/icon/icon-7.svg +0 -0
  45. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/icon/icon-8.svg +0 -0
  46. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/icon/icon-9.svg +0 -0
  47. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/icon/icon-red.svg +0 -0
  48. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/icon/icon.svg +0 -0
  49. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/icon/mark-done.png +0 -0
  50. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/icon/mark-done.svg +0 -0
  51. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/icon/pause.png +0 -0
  52. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/icon/pause.svg +0 -0
  53. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/icon/settings.png +0 -0
  54. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/icon/settings.svg +0 -0
  55. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/session_edit_dialog.py +0 -0
  56. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/session_options.py +0 -0
  57. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/sessions.csv +0 -0
  58. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/sound/bell-xylophone-g.mp3 +0 -0
  59. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/sound/dinner-bell.mp3 +0 -0
  60. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus/sound/xylophone-chord.mp3 +0 -0
  61. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus.egg-info/dependency_links.txt +0 -0
  62. {nowfocus-0.2.12 → nowfocus-0.4.0}/src/nowfocus.egg-info/entry_points.txt +0 -0
  63. {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.2.12
3
+ Version: 0.4.0
4
4
  Summary: nowfocus: the open source task-tracking self-control panel.
5
- Author: GitFr33
6
- Project-URL: Homepage, https://gitlab.com/GitFr33/nowfocus
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: jeepney
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 linux
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 project time tracker built with python + GTK that flexibly connects multiple to-do lists with multiple time trackers and displays your current task and time spent in the status bar.
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
- - Unlimited flexible combinations of to-do lists and time tracking systems
60
- - Infinitely nestable lists
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/Screenshot-25-09-23-11-42-56.webp" width="500">
73
- <img src="https://gitlab.com/GitFr33/nowfocus/-/raw/main/docs/Screenshot-25-09-23-11-46-14.webp" width="400">
74
- <img src="https://gitlab.com/GitFr33/nowfocus/-/raw/main/docs/Screenshot-25-09-23-11-53-22.webp" width="400">
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
- - Simple text file with indentation based sub-lists
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
- - [Trello](https://www.trello.com)
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-appindicator3-0.1 meson libdbus-glib-1-dev patchelf libgirepository1.0-dev gcc libcairo2-dev pkg-config python3-dev
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
- # note gir1.2-ayatanaappindicator3-0.1 can be substituted for gir1.2-appindicator3-0.1
114
+ # Set up pipx
115
+ pipx ensurepath
116
+ source ~.bashrc
104
117
 
105
- # Set up pipx
106
- pipx ensurepath
118
+ # Install nowfocus
119
+ pipx install nowfocus
107
120
 
108
- # At this point you may need to restart your terminal window
121
+ # Enter application directory
122
+ cd ~/.local/share/pipx/venvs/nowfocus/lib/python3.12/site-packages/nowfocus/desktop-extras
109
123
 
110
- # Install nowfocus
111
- pipx install nowfocus
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
- # Enter application directory
114
- cd ~/.local/share/pipx/venvs/nowfocus/lib/python3.12/site-packages/nowfocus/desktop-extras
128
+ # and now Focus!
129
+ nowfocus
115
130
 
116
- # Copy .desktop and icon to /usr/share
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
- # and now Focus!
121
- nowfocus
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: `nowfocus --force`
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
- - `Ctrl + P` **Pause** current task
146
- - `Ctrl + D` Pause current task and mark it **Done**
147
- - `Ctrl + X` Cancel current task
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 linux
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 project time tracker built with python + GTK that flexibly connects multiple to-do lists with multiple time trackers and displays your current task and time spent in the status bar.
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
- - Unlimited flexible combinations of to-do lists and time tracking systems
13
- - Infinitely nestable lists
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/Screenshot-25-09-23-11-42-56.webp" width="500">
26
- <img src="https://gitlab.com/GitFr33/nowfocus/-/raw/main/docs/Screenshot-25-09-23-11-46-14.webp" width="400">
27
- <img src="https://gitlab.com/GitFr33/nowfocus/-/raw/main/docs/Screenshot-25-09-23-11-53-22.webp" width="400">
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
- - Simple text file with indentation based sub-lists
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
- - [Trello](https://www.trello.com)
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-appindicator3-0.1 meson libdbus-glib-1-dev patchelf libgirepository1.0-dev gcc libcairo2-dev pkg-config python3-dev
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
- # note gir1.2-ayatanaappindicator3-0.1 can be substituted for gir1.2-appindicator3-0.1
72
+ # Set up pipx
73
+ pipx ensurepath
74
+ source ~.bashrc
57
75
 
58
- # Set up pipx
59
- pipx ensurepath
76
+ # Install nowfocus
77
+ pipx install nowfocus
60
78
 
61
- # At this point you may need to restart your terminal window
79
+ # Enter application directory
80
+ cd ~/.local/share/pipx/venvs/nowfocus/lib/python3.12/site-packages/nowfocus/desktop-extras
62
81
 
63
- # Install nowfocus
64
- pipx install nowfocus
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
- # Enter application directory
67
- cd ~/.local/share/pipx/venvs/nowfocus/lib/python3.12/site-packages/nowfocus/desktop-extras
86
+ # and now Focus!
87
+ nowfocus
68
88
 
69
- # Copy .desktop and icon to /usr/share
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
- # and now Focus!
74
- nowfocus
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: `nowfocus --force`
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
- - `Ctrl + P` **Pause** current task
99
- - `Ctrl + D` Pause current task and mark it **Done**
100
- - `Ctrl + X` Cancel current task
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.2.12"
3
+ version = "0.4.0"
4
4
  authors = [
5
- { name="GitFr33" },
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://gitlab.com/GitFr33/nowfocus"
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"