Compare commits

..

No commits in common. "50315ed3aabb9fed64d351268bfc4f75cc8cd6d1" and "81337dc1b8066f12631cd66126fe87ceef67886a" have entirely different histories.

13 changed files with 83 additions and 5 deletions

View file

@ -47,6 +47,7 @@ if __name__ == "__main__":
PERSONAL_THEME = 0
Bar.addSectionAll(KeystoreProvider(theme=PERSONAL_THEME), BarGroupType.RIGHT)
# Bar.addSectionAll(NotmuchUnreadProvider(dir='~/.mail/', theme=PERSONAL_THEME), BarGroupType.RIGHT)
Bar.addSectionAll(TaskWarriorProvider(theme=PERSONAL_THEME), BarGroupType.RIGHT)
# Bar.addSectionAll(TodoProvider(dir='~/.vdirsyncer/currentCalendars/', theme=PERSONAL_THEME), BarGroupType.RIGHT)
TIME_THEME = 6

View file

@ -14,6 +14,7 @@ import json
import notmuch
import mpd
import random
import taskw
import math
coloredlogs.install(level='DEBUG', fmt='%(levelname)s %(message)s')
@ -525,6 +526,39 @@ class NotmuchUnreadProvider(ColorCountsSection, InotifyUpdater):
self.addPath(os.path.join(self.dir, '.notmuch', 'xapian'))
class TaskWarriorProvider(StatefulSection, InotifyUpdater):
ICON = ''
NUMBER_STATES = 2
DEFAULT_STATE = 1
def __init__(self, theme=None):
InotifyUpdater.__init__(self)
StatefulSection.__init__(self, theme=theme)
self.taskw = taskw.TaskWarrior()
self.addPath(os.path.expanduser(self.taskw.config['data']['location']))
def fetcher(self):
maxi = -math.inf
total = 0
for task in self.taskw.load_tasks('pending')['pending']:
urgency = task['urgency']
if urgency > maxi:
maxi = urgency
if urgency > 0:
total += urgency
t = Text()
t.append(f"{maxi:.1f}")
if self.showTotal:
t.append(f" | {total:.1f}")
return t
def onChangeState(self, state):
self.showTotal = state >= 1
class TodoProvider(ColorCountsSection, InotifyUpdater):
# TODO OPT/UX Maybe we could get more data from the todoman python module
# TODO OPT Specific callback for specific directory

View file

@ -9,5 +9,6 @@ pulsectl==18.8.0
pyinotify==0.9.6
python-mpd2==1.0.0
python-uinput==0.11.2
taskw==1.2.0
yoke==0.1.1
zeroconf==0.21.3

View file

View file

@ -1 +0,0 @@
no-audio-display

View file

@ -5,4 +5,4 @@
cd ~/.dotfiles/config/automatrop
echo 30000 | sudo tee /sys/class/backlight/intel_backlight/brightness
xrandr --output HDMI-0 --brightness 1
ansible-playbook playbooks/default.yml -e base16_scheme=solarized-dark --tags color --connection local
ansible-playbook playbooks/default.yml -e base16_scheme=solarized-dark --tags color --inventory 'localhost'

View file

@ -5,4 +5,4 @@
cd ~/.dotfiles/config/automatrop
echo 30000 | sudo tee /sys/class/backlight/intel_backlight/brightness
xrandr --output HDMI-0 --brightness 1
ansible-playbook playbooks/default.yml -e base16_scheme=solarized-light --tags color --connection local
ansible-playbook playbooks/default.yml -e base16_scheme=solarized-light --tags color --inventory 'localhost'

View file

@ -5,4 +5,4 @@
cd ~/.dotfiles/config/automatrop
echo 1 | sudo tee /sys/class/backlight/intel_backlight/brightness
xrandr --output HDMI-0 --brightness 0.5
ansible-playbook playbooks/default.yml -e base16_scheme=solarized-dark --tags color --connection local
ansible-playbook playbooks/default.yml -e base16_scheme=solarized-dark --tags color --inventory 'localhost'

View file

@ -175,7 +175,8 @@ then
i vdirsyncer # Synchronize DAV
i khard # Contacts editor
i khal # Calendar editor
i todoman # Todo-list
i task # Todo-list
i timew # Time-tracker
fi

21
config/scripts/totask Executable file
View file

@ -0,0 +1,21 @@
#!/usr/bin/env python3
import taskw
import sys
tw = taskw.TaskWarrior()
total = 0
number = 0
statuses = set()
for task in tw._get_task_objects(*sys.argv[1:], 'export'):
statuses.add(task['status'])
if task['status'] not in {'pending', 'waiting'}:
continue
urgency = task['urgency']
if urgency <= 0:
continue
total += urgency
number += 1
print(f"Σ{total:.3f} #{number}")

View file

@ -42,7 +42,10 @@ direnv PARALLEL_HOME "$HOME/.cache/parallel"
export PYTHONSTARTUP="$HOME/.config/pythonstartup.py"
export SCREENRC="$HOME/.config/screenrc"
export SQLITE_HISTFILE="$HOME/.cache/sqlite_history"
export TASKRC="$HOME/.config/taskrc"
direnv TASKDATA "$HOME/.config/task"
direnv TERMINFO "$HOME/.config/terminfo"
direnv TIMEWARRIORDB "$HOME/.config/timewarrior"
export RXVT_SOCKET="$HOME/.cache/urxvtd-$HOST"
export MYVIMRC="$HOME/.config/vim/vimrc"
export VIMINIT="source $MYVIMRC"

View file

@ -0,0 +1,8 @@
[Unit]
Description=Taskwarrior synchronisation
[Service]
Type=oneshot
ExecStart=/usr/bin/task sync
Environment=TASKRC=%h/.config/taskrc
Environment=TASKDATA=%h/.config/task

View file

@ -0,0 +1,10 @@
[Unit]
Description=Taskwarrior synchronisation timer
[Timer]
OnBootSec=2m
OnUnitActiveSec=5m
Unit=tasksync.service
[Install]
WantedBy=timers.target