NowFocus 0.2.7__tar.gz → 0.2.8__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.7/src/nowfocus.egg-info → nowfocus-0.2.8}/PKG-INFO +1 -1
- {nowfocus-0.2.7 → nowfocus-0.2.8}/pyproject.toml +1 -1
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/__main__.py +7 -4
- nowfocus-0.2.8/src/nowfocus/icon/icon-red.svg +101 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/icon/icon.svg +12 -1
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/task_window.py +2 -14
- {nowfocus-0.2.7 → nowfocus-0.2.8/src/nowfocus.egg-info}/PKG-INFO +1 -1
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus.egg-info/SOURCES.txt +1 -1
- nowfocus-0.2.7/src/nowfocus/desktop-extras/set_gsettings_keybinding.sh +0 -51
- {nowfocus-0.2.7 → nowfocus-0.2.8}/LICENSE +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/README.md +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/setup.cfg +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/__init__.py +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/conf.py +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/connectors/activitywatch.py +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/connectors/caldav.py +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/connectors/csv.py +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/connectors/psc_timetracker.py +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/connectors/taskwarrior.py +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/connectors/timewarrior.py +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/connectors/todo_template.py +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/connectors/todotxt.py +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/connectors/trello.py +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/connectors/txt.py +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/connectors/vikunja.py +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/desktop-extras/nowfocus.desktop +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/desktop-extras/nowfocus.png +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/desktop-extras/nowfocus.svg +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/example-todo.txt +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/icon/cancel.png +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/icon/cancel.svg +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/icon/edit.png +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/icon/edit.svg +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/icon/icon-0.svg +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/icon/icon-1.svg +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/icon/icon-2.svg +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/icon/icon-3.svg +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/icon/icon-4.svg +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/icon/icon-5.svg +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/icon/icon-6.svg +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/icon/icon-7.svg +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/icon/icon-8.svg +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/icon/icon-9.svg +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/icon/mark-done.png +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/icon/mark-done.svg +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/icon/pause.png +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/icon/pause.svg +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/icon/settings.png +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/icon/settings.svg +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/new_task_dialog.py +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/session_edit_dialog.py +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/session_options.py +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/sessions.csv +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/settings.py +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/sound/bell-xylophone-g.mp3 +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/sound/dinner-bell.mp3 +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/sound/xylophone-chord.mp3 +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/styles.css +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus/utils.py +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus.egg-info/dependency_links.txt +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus.egg-info/entry_points.txt +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus.egg-info/requires.txt +0 -0
- {nowfocus-0.2.7 → nowfocus-0.2.8}/src/nowfocus.egg-info/top_level.txt +0 -0
|
@@ -73,7 +73,7 @@ class Application(Gtk.Application):
|
|
|
73
73
|
self.menu_tasks = {}
|
|
74
74
|
self.list_menus = {}
|
|
75
75
|
|
|
76
|
-
self.indicator = appindicator.Indicator.new(conf.app_name, os.path.abspath('icon/icon-
|
|
76
|
+
self.indicator = appindicator.Indicator.new(conf.app_name, os.path.abspath('icon/icon-1.svg'), appindicator.IndicatorCategory.APPLICATION_STATUS)
|
|
77
77
|
|
|
78
78
|
self.indicator.set_status(appindicator.IndicatorStatus.ACTIVE)
|
|
79
79
|
|
|
@@ -301,7 +301,7 @@ class Application(Gtk.Application):
|
|
|
301
301
|
if(self.is_running == True):
|
|
302
302
|
self.icon_tick_number = self.icon_tick_number + 1
|
|
303
303
|
|
|
304
|
-
if self.icon_tick_number >
|
|
304
|
+
if self.icon_tick_number > 8:
|
|
305
305
|
self.icon_tick_number = 1
|
|
306
306
|
|
|
307
307
|
label = self.session['label'] + ": " + sec_to_time(self.session['duration'])
|
|
@@ -312,8 +312,10 @@ class Application(Gtk.Application):
|
|
|
312
312
|
|
|
313
313
|
# label = random.choice(conf.idle_messages) # Cool but makes menu bounce around #Could be paused when the menu opens
|
|
314
314
|
label = conf.user['default_text']
|
|
315
|
-
|
|
316
|
-
|
|
315
|
+
if self.session['duration'] > 60 and self.session['duration'] % 2:
|
|
316
|
+
indicator.set_icon_full(os.path.abspath('icon/icon-red.svg'),label)
|
|
317
|
+
else:
|
|
318
|
+
indicator.set_icon_full(os.path.abspath('icon/icon-1.svg'),label)
|
|
317
319
|
|
|
318
320
|
# https://lazka.github.io/pgi-docs/#AyatanaAppIndicator3-0.1/classes/Indicator.html#AyatanaAppIndicator3.Indicator.set_label
|
|
319
321
|
indicator.set_label(label, "Wide")
|
|
@@ -414,6 +416,7 @@ class Application(Gtk.Application):
|
|
|
414
416
|
|
|
415
417
|
if process:
|
|
416
418
|
print("waiting for already running command with psutils", command)
|
|
419
|
+
# subprocess.run('wmctrl', '-a', command) # Doesn't work on wayland
|
|
417
420
|
process.wait()
|
|
418
421
|
else:
|
|
419
422
|
print("Launching command with subprocess.run", command)
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
|
3
|
+
|
|
4
|
+
<svg
|
|
5
|
+
width="48"
|
|
6
|
+
height="48"
|
|
7
|
+
viewBox="0 0 12.7 12.7"
|
|
8
|
+
version="1.1"
|
|
9
|
+
id="svg1"
|
|
10
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
11
|
+
xmlns:svg="http://www.w3.org/2000/svg">
|
|
12
|
+
<defs
|
|
13
|
+
id="defs1" />
|
|
14
|
+
<g
|
|
15
|
+
id="layer1"
|
|
16
|
+
transform="matrix(1.0567177,0,0,1.0567177,-0.36015771,-0.36015771)">
|
|
17
|
+
<rect
|
|
18
|
+
style="display:none;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.316;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
|
19
|
+
id="rect1"
|
|
20
|
+
width="9.5708742"
|
|
21
|
+
height="9.5708742"
|
|
22
|
+
x="1.5645629"
|
|
23
|
+
y="1.5645629" />
|
|
24
|
+
<rect
|
|
25
|
+
style="display:none;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.915798;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
|
26
|
+
id="rect38"
|
|
27
|
+
width="9.5708742"
|
|
28
|
+
height="9.5708742"
|
|
29
|
+
x="1.5645629"
|
|
30
|
+
y="1.5645629"
|
|
31
|
+
ry="3.110863" />
|
|
32
|
+
<rect
|
|
33
|
+
style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.915798;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
|
34
|
+
id="rect2"
|
|
35
|
+
width="9.5708742"
|
|
36
|
+
height="9.5708742"
|
|
37
|
+
x="1.5645629"
|
|
38
|
+
y="1.5645629"
|
|
39
|
+
ry="4.7854371"
|
|
40
|
+
rx="4.7854371" />
|
|
41
|
+
</g>
|
|
42
|
+
<g
|
|
43
|
+
id="layer2"
|
|
44
|
+
style="display:inline">
|
|
45
|
+
<path
|
|
46
|
+
style="display:none;fill:none;stroke:#ffffff;stroke-width:1.465;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
|
47
|
+
d="M 6.3410664,6.36546 4.4335013,4.0522236"
|
|
48
|
+
id="path2" />
|
|
49
|
+
<path
|
|
50
|
+
style="display:none;fill:none;stroke:#ffffff;stroke-width:1.465;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
|
51
|
+
d="M 6.37713,6.3615649 11.260009,1.2965066"
|
|
52
|
+
id="use31" />
|
|
53
|
+
<path
|
|
54
|
+
style="display:none;fill:none;stroke:#ffffff;stroke-width:1.465;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
|
55
|
+
d="M 6.3610066,6.3773634 13.39526,6.248543"
|
|
56
|
+
id="use32" />
|
|
57
|
+
<path
|
|
58
|
+
style="display:none;fill:none;stroke:#ffffff;stroke-width:1.465;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
|
59
|
+
d="m 6.338434,6.3771308 5.065058,4.8828782"
|
|
60
|
+
id="use33" />
|
|
61
|
+
<path
|
|
62
|
+
style="display:none;fill:none;stroke:#ffffff;stroke-width:1.465;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
|
63
|
+
d="M 6.322637,6.3610073 6.4514574,13.395261"
|
|
64
|
+
id="use34" />
|
|
65
|
+
<path
|
|
66
|
+
style="display:none;fill:none;stroke:#ffffff;stroke-width:1.465;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
|
67
|
+
d="M 6.322869,6.3384356 1.4399903,11.403494"
|
|
68
|
+
id="use35" />
|
|
69
|
+
<path
|
|
70
|
+
style="display:none;fill:none;stroke:#ffffff;stroke-width:1.465;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
|
71
|
+
d="M 6.3389932,6.3226376 -0.69526049,6.451458"
|
|
72
|
+
id="use36" />
|
|
73
|
+
<path
|
|
74
|
+
style="display:none;fill:none;stroke:#ffffff;stroke-width:1.465;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
|
75
|
+
d="M 6.3615647,6.3228685 1.2965064,1.4399898"
|
|
76
|
+
id="use37" />
|
|
77
|
+
<path
|
|
78
|
+
style="display:none;fill:none;stroke:#ffffff;stroke-width:1.465;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
|
79
|
+
d="M 6.3773615,6.3389927 6.2485411,-0.69526102"
|
|
80
|
+
id="use38" />
|
|
81
|
+
</g>
|
|
82
|
+
<g
|
|
83
|
+
id="layer3"
|
|
84
|
+
style="display:inline">
|
|
85
|
+
<rect
|
|
86
|
+
style="display:inline;opacity:1;fill:#ff0000;fill-opacity:1;stroke:#ff0000;stroke-width:0.915798;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
|
87
|
+
id="rect3"
|
|
88
|
+
width="9.5708742"
|
|
89
|
+
height="9.5708742"
|
|
90
|
+
x="1.5645629"
|
|
91
|
+
y="1.5645629"
|
|
92
|
+
ry="4.7854371"
|
|
93
|
+
rx="4.7854371"
|
|
94
|
+
transform="matrix(1.0567177,0,0,1.0567177,-0.36015771,-0.36015771)" />
|
|
95
|
+
<path
|
|
96
|
+
style="font-weight:bold;font-size:10.4396px;line-height:1.25;font-family:'Besley*';-inkscape-font-specification:'Besley*, Bold';letter-spacing:0px;word-spacing:0px;fill:#ffffff;stroke-width:0.198419"
|
|
97
|
+
d="m 5.2723149,3.6126858 c 0,-0.040213 0.03016,-0.080427 0.1005332,-0.1407465 0.06032,-0.06032 0.1709064,-0.1105865 0.3116529,-0.1507998 0.1407465,-0.040213 0.2915463,-0.070373 0.4624528,-0.070373 0.4121862,0 0.6936791,0.1105865 0.8545323,0.3317595 0.1507998,0.2211731 0.2312264,0.5428794 0.2312264,0.9550655 0,0.4222395 -0.1206399,0.7640524 -0.3518663,1.0254388 -0.2412797,0.2613863 -0.5830926,0.4825594 -1.0254387,0.6434125 -0.03016,0.020106 -0.080427,0.040213 -0.1608531,0.06032 -0.080427,0.020106 -0.1306932,0.040213 -0.1407465,0.050267 -0.020106,0.010054 -0.040213,0.03016 -0.080427,0.070373 -0.040213,0.040213 -0.06032,0.080427 -0.06032,0.1407464 -0.010054,0.06032 -0.010054,0.1306932 -0.010054,0.2211731 v 0.8243723 c 0,0.080427 0.010054,0.1407465 0.050267,0.1608532 0.03016,0.020106 0.1005332,0.03016 0.2211731,0.03016 h 0.9852264 c 0.1608531,0 0.2613863,-0.010054 0.3015996,-0.040213 C 6.991433,7.6943348 7.01154,7.603855 7.01154,7.4430018 V 6.9906026 c 0,-0.070373 0,-0.1306932 0.010054,-0.1809598 0,-0.040213 0.010054,-0.080427 0.020106,-0.1105865 0.010054,-0.020106 0.03016,-0.050267 0.06032,-0.070373 0.03016,-0.020106 0.050267,-0.03016 0.070373,-0.040213 0.020106,0 0.050267,-0.010054 0.1105865,-0.03016 0.06032,-0.010054 0.1005332,-0.020106 0.1407465,-0.040213 C 7.9263916,6.3572424 8.3184711,6.1159627 8.6100174,5.7842031 8.9015637,5.4624969 9.0523635,5.0402574 9.0523635,4.5375913 c 0,-0.6233059 -0.221173,-1.1159186 -0.6635191,-1.4778381 -0.4423462,-0.3518663 -1.1159187,-0.532826 -2.0408242,-0.532826 -0.8042657,0 -1.4376249,0.2111197 -1.8900243,0.6132525 -0.4624528,0.4121862 -0.6836258,0.8746389 -0.6836258,1.3873583 0,0.3418129 0.090479,0.6132526 0.2915463,0.814319 0.2010664,0.2010664 0.4423461,0.3015996 0.7338924,0.3015996 0.2714397,0 0.502666,-0.080427 0.6936791,-0.251333 0.1809598,-0.1709064 0.281493,-0.3920795 0.281493,-0.6534658 0,-0.2010665 -0.050267,-0.3820262 -0.1306931,-0.5428794 C 5.5638612,4.0349253 5.4733813,3.9142854 5.3929547,3.8238056 5.3125282,3.7333257 5.2723149,3.6629524 5.2723149,3.6126858 Z m -0.050267,5.8510328 c 0,0.2814929 0.090479,0.5127198 0.2915463,0.7137864 0.2010664,0.201066 0.4322928,0.291546 0.7137858,0.291546 0.2714396,0 0.502666,-0.09048 0.7037324,-0.291546 C 7.1321792,9.9764384 7.2327125,9.7452115 7.2327125,9.4637186 7.2327125,9.1922789 7.1321792,8.9610525 6.9311128,8.7599861 6.7300464,8.5589197 6.49882,8.4583865 6.2273804,8.4583865 c -0.281493,0 -0.5127194,0.1005332 -0.7137858,0.3015996 C 5.3125282,8.9610525 5.2220483,9.1922789 5.2220479,9.4637186 Z"
|
|
98
|
+
id="text38"
|
|
99
|
+
aria-label="?" />
|
|
100
|
+
</g>
|
|
101
|
+
</svg>
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
id="svg1"
|
|
10
10
|
inkscape:version="1.3.2 (1:1.3.2+202404261509+091e20ef0f)"
|
|
11
11
|
sodipodi:docname="icon.svg"
|
|
12
|
-
inkscape:export-filename="icon-
|
|
12
|
+
inkscape:export-filename="icon-red.svg"
|
|
13
13
|
inkscape:export-xdpi="128"
|
|
14
14
|
inkscape:export-ydpi="128"
|
|
15
15
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
@@ -185,6 +185,17 @@
|
|
|
185
185
|
id="layer3"
|
|
186
186
|
inkscape:label="?"
|
|
187
187
|
style="display:inline">
|
|
188
|
+
<rect
|
|
189
|
+
style="display:inline;opacity:1;fill:#ff0000;fill-opacity:1;stroke:#ff0000;stroke-width:0.915798;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
|
190
|
+
id="rect3"
|
|
191
|
+
width="9.5708742"
|
|
192
|
+
height="9.5708742"
|
|
193
|
+
x="1.5645629"
|
|
194
|
+
y="1.5645629"
|
|
195
|
+
inkscape:label="Red"
|
|
196
|
+
ry="4.7854371"
|
|
197
|
+
rx="4.7854371"
|
|
198
|
+
transform="matrix(1.0567177,0,0,1.0567177,-0.36015771,-0.36015771)" />
|
|
188
199
|
<path
|
|
189
200
|
style="font-weight:bold;font-size:10.4396px;line-height:1.25;font-family:'Besley*';-inkscape-font-specification:'Besley*, Bold';letter-spacing:0px;word-spacing:0px;fill:#ffffff;stroke-width:0.198419"
|
|
190
201
|
d="m 5.2723149,3.6126858 c 0,-0.040213 0.03016,-0.080427 0.1005332,-0.1407465 0.06032,-0.06032 0.1709064,-0.1105865 0.3116529,-0.1507998 0.1407465,-0.040213 0.2915463,-0.070373 0.4624528,-0.070373 0.4121862,0 0.6936791,0.1105865 0.8545323,0.3317595 0.1507998,0.2211731 0.2312264,0.5428794 0.2312264,0.9550655 0,0.4222395 -0.1206399,0.7640524 -0.3518663,1.0254388 -0.2412797,0.2613863 -0.5830926,0.4825594 -1.0254387,0.6434125 -0.03016,0.020106 -0.080427,0.040213 -0.1608531,0.06032 -0.080427,0.020106 -0.1306932,0.040213 -0.1407465,0.050267 -0.020106,0.010054 -0.040213,0.03016 -0.080427,0.070373 -0.040213,0.040213 -0.06032,0.080427 -0.06032,0.1407464 -0.010054,0.06032 -0.010054,0.1306932 -0.010054,0.2211731 v 0.8243723 c 0,0.080427 0.010054,0.1407465 0.050267,0.1608532 0.03016,0.020106 0.1005332,0.03016 0.2211731,0.03016 h 0.9852264 c 0.1608531,0 0.2613863,-0.010054 0.3015996,-0.040213 C 6.991433,7.6943348 7.01154,7.603855 7.01154,7.4430018 V 6.9906026 c 0,-0.070373 0,-0.1306932 0.010054,-0.1809598 0,-0.040213 0.010054,-0.080427 0.020106,-0.1105865 0.010054,-0.020106 0.03016,-0.050267 0.06032,-0.070373 0.03016,-0.020106 0.050267,-0.03016 0.070373,-0.040213 0.020106,0 0.050267,-0.010054 0.1105865,-0.03016 0.06032,-0.010054 0.1005332,-0.020106 0.1407465,-0.040213 C 7.9263916,6.3572424 8.3184711,6.1159627 8.6100174,5.7842031 8.9015637,5.4624969 9.0523635,5.0402574 9.0523635,4.5375913 c 0,-0.6233059 -0.221173,-1.1159186 -0.6635191,-1.4778381 -0.4423462,-0.3518663 -1.1159187,-0.532826 -2.0408242,-0.532826 -0.8042657,0 -1.4376249,0.2111197 -1.8900243,0.6132525 -0.4624528,0.4121862 -0.6836258,0.8746389 -0.6836258,1.3873583 0,0.3418129 0.090479,0.6132526 0.2915463,0.814319 0.2010664,0.2010664 0.4423461,0.3015996 0.7338924,0.3015996 0.2714397,0 0.502666,-0.080427 0.6936791,-0.251333 0.1809598,-0.1709064 0.281493,-0.3920795 0.281493,-0.6534658 0,-0.2010665 -0.050267,-0.3820262 -0.1306931,-0.5428794 C 5.5638612,4.0349253 5.4733813,3.9142854 5.3929547,3.8238056 5.3125282,3.7333257 5.2723149,3.6629524 5.2723149,3.6126858 Z m -0.050267,5.8510328 c 0,0.2814929 0.090479,0.5127198 0.2915463,0.7137864 0.2010664,0.201066 0.4322928,0.291546 0.7137858,0.291546 0.2714396,0 0.502666,-0.09048 0.7037324,-0.291546 C 7.1321792,9.9764384 7.2327125,9.7452115 7.2327125,9.4637186 7.2327125,9.1922789 7.1321792,8.9610525 6.9311128,8.7599861 6.7300464,8.5589197 6.49882,8.4583865 6.2273804,8.4583865 c -0.281493,0 -0.5127194,0.1005332 -0.7137858,0.3015996 C 5.3125282,8.9610525 5.2220483,9.1922789 5.2220479,9.4637186 Z"
|
|
@@ -126,7 +126,6 @@ class TaskWindow(Gtk.Window):
|
|
|
126
126
|
self.taskEntry.set_text(passed_data['task']['label'])
|
|
127
127
|
|
|
128
128
|
|
|
129
|
-
# box.add(Gtk.Box(border_width=10)) # Spacer
|
|
130
129
|
|
|
131
130
|
self.scrolled_window = Gtk.ScrolledWindow()
|
|
132
131
|
self.scrolled_window.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)
|
|
@@ -134,7 +133,7 @@ class TaskWindow(Gtk.Window):
|
|
|
134
133
|
self.scrolled_window.set_size_request(-1, 350)
|
|
135
134
|
|
|
136
135
|
self.scrolled_window.connect('scroll-event', self.on_scroll) # This doesn't catch scrollbar moves
|
|
137
|
-
self.scrolled_window.connect('edge-reached', self.on_scroll) # This is a little late
|
|
136
|
+
self.scrolled_window.connect('edge-reached', self.on_scroll) # This is a little late and may not fire if the list is short?
|
|
138
137
|
|
|
139
138
|
self.tasks_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=7)
|
|
140
139
|
self.tasks_box.set_halign(Gtk.Align.START)
|
|
@@ -164,10 +163,6 @@ class TaskWindow(Gtk.Window):
|
|
|
164
163
|
self.buttons_box.set_halign(Gtk.Align.CENTER)
|
|
165
164
|
self.buttons_box.set_name("Footer")
|
|
166
165
|
|
|
167
|
-
|
|
168
|
-
# box.add(Gtk.Box(border_width=10)) # Spacer
|
|
169
|
-
|
|
170
|
-
# box.add(self.buttons_box)
|
|
171
166
|
box.pack_start(self.buttons_box,False, False, 0)
|
|
172
167
|
|
|
173
168
|
self.settings_button = Gtk.Button(label="Settings")
|
|
@@ -180,19 +175,12 @@ class TaskWindow(Gtk.Window):
|
|
|
180
175
|
self.buttons_box.add(self.refresh_button)
|
|
181
176
|
|
|
182
177
|
# Todolist openables
|
|
183
|
-
openables = []
|
|
184
178
|
for id, todo in conf.user['todolists'].items():
|
|
185
179
|
if todo['status']:
|
|
186
180
|
try:
|
|
187
181
|
openable = conf.todo_connectors[todo['type']].launch
|
|
188
|
-
# if openable not in openables:
|
|
189
|
-
|
|
190
|
-
openables.append(openable)
|
|
191
|
-
|
|
192
182
|
openable_button = Gtk.Button(label=GLib.markup_escape_text(todo['label']))
|
|
193
|
-
|
|
194
|
-
openable_button.connect("clicked", lambda todo: openable(todo))
|
|
195
|
-
# openable_button.connect("clicked", openable, todo) # Doesn't work because of passing widget as first argument
|
|
183
|
+
openable_button.connect("clicked", lambda button_widget,todo=todo, openable=openable: openable(todo))
|
|
196
184
|
openable_button.set_property("tooltip-text","Open (new) "+GLib.markup_escape_text(todo['label']))
|
|
197
185
|
self.buttons_box.add(openable_button)
|
|
198
186
|
|
|
@@ -33,7 +33,6 @@ src/nowfocus/connectors/vikunja.py
|
|
|
33
33
|
src/nowfocus/desktop-extras/nowfocus.desktop
|
|
34
34
|
src/nowfocus/desktop-extras/nowfocus.png
|
|
35
35
|
src/nowfocus/desktop-extras/nowfocus.svg
|
|
36
|
-
src/nowfocus/desktop-extras/set_gsettings_keybinding.sh
|
|
37
36
|
src/nowfocus/icon/cancel.png
|
|
38
37
|
src/nowfocus/icon/cancel.svg
|
|
39
38
|
src/nowfocus/icon/edit.png
|
|
@@ -48,6 +47,7 @@ src/nowfocus/icon/icon-6.svg
|
|
|
48
47
|
src/nowfocus/icon/icon-7.svg
|
|
49
48
|
src/nowfocus/icon/icon-8.svg
|
|
50
49
|
src/nowfocus/icon/icon-9.svg
|
|
50
|
+
src/nowfocus/icon/icon-red.svg
|
|
51
51
|
src/nowfocus/icon/icon.svg
|
|
52
52
|
src/nowfocus/icon/mark-done.png
|
|
53
53
|
src/nowfocus/icon/mark-done.svg
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
|
|
3
|
-
# This function simplifies setting up Gnome 3 shortcuts from terminal
|
|
4
|
-
|
|
5
|
-
# $1 name of the shortcut
|
|
6
|
-
# $2 command to execute
|
|
7
|
-
# $3 keyboard shortcut
|
|
8
|
-
|
|
9
|
-
# src: https://askubuntu.com/a/597414/279745 and https://gitlab.com/tukusejssirs/lnx_scripts/-/blob/master/bash/functions/gshort.sh
|
|
10
|
-
|
|
11
|
-
# TODO
|
|
12
|
-
# - before shortcut creation, check if:
|
|
13
|
-
# - the shortcut is not used already in custom shortcuts;
|
|
14
|
-
# - the command is not used already in custom shortcuts;
|
|
15
|
-
# - sometimes is uses the very same $num multiple times;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
gshort(){
|
|
19
|
-
set -o errexit
|
|
20
|
-
local name="$1"
|
|
21
|
-
local command="$2"
|
|
22
|
-
local shortcut="$3"
|
|
23
|
-
local value test value_new
|
|
24
|
-
value="$(gsettings get org.gnome.settings-daemon.plugins.media-keys custom-keybindings)"
|
|
25
|
-
test="$(sed "s/\['//;s/', '/,/g;s/'\]//" <<< "$value" | tr ',' '\n' | grep -oP ".*/custom\K[0-9]*(?=/$)")"
|
|
26
|
-
|
|
27
|
-
if [ "$(echo "$value" | grep -o "@as")" = "@as" ]; then
|
|
28
|
-
local num=0
|
|
29
|
-
value_new="['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom${num}/']"
|
|
30
|
-
else
|
|
31
|
-
local i=1
|
|
32
|
-
|
|
33
|
-
until [ "$num" != "" ]; do
|
|
34
|
-
if [ "$(grep -o $i <<< "$test")" != "$i" ]; then
|
|
35
|
-
local num=$i
|
|
36
|
-
fi
|
|
37
|
-
i="$(echo 1+$i | bc)";
|
|
38
|
-
done
|
|
39
|
-
|
|
40
|
-
value_new="$(gsettings get org.gnome.settings-daemon.plugins.media-keys custom-keybindings | sed "s#']\$#', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom${num}/']#")"
|
|
41
|
-
fi
|
|
42
|
-
|
|
43
|
-
echo setting custom-keybinding ${num} to ${command} with ${shortcut}
|
|
44
|
-
|
|
45
|
-
gsettings set org.gnome.settings-daemon.plugins.media-keys custom-keybindings "$value_new"
|
|
46
|
-
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom${num}/ name "$name"
|
|
47
|
-
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom${num}/ command "$command"
|
|
48
|
-
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom${num}/ binding "$shortcut"
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
gshort $1 $2 $3
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|