taskwarrior的交互式终端前端
twc的Python项目详细描述
twc-taskwarrior控制器(以前的taskwarrior诅咒)是交互式的 任务和待办事项管理器的终端前端-任务勇士。
有关完整文档,请参阅User Manual。
功能
简介
twc的工作理念是“议程”,它受到了强者的影响和借鉴。 组织模式。议程基本上是几个taskwarrior过滤器(称为 块)同时显示在单个屏幕上。你可以跳到 块和单个任务。
要添加议程,首先在 ~/.config/twc/config.py。它是一个带有公开变量的常规python文件 c,它引用配置对象。您可以添加这样的新块:
c.add_block(agenda='My Agenda',title='Next Tasks',filter='status:pending',sort='priority+,urgency-')c.add_block(agenda='My Agenda',title='Projects',filter='-WAITING and (+BLOCKING or +BLOCKED) and -INSTANCE',sort='project-,priority-,order+,urgency-',format='* {description}<info>{tags}</info>')
样式和颜色
twc可以用任何你想要的方式来设计。要更改其颜色,请使用c.set_style():
c.set_style('highlight','bg:ansiblue bold')c.set_style('error','fg:white bg:red')
样式示例:
- fg:white(白色前景,命名颜色)
- bg:#000000(黑色背景,十六进制表示法)
- bold italic underline blink reverse hidden(支持的样式标志)
任何样式名都可以用于任务格式。但是有些接口元素 使用特定的样式名。
任务格式
块的格式(format)是Python’s string format和类似html的混合格式 加价。
您可以使用任何taskwarrior的属性名作为格式的占位符,它将 显示(如果存在)。
<srleft=" ["> right="] ">{id}</sr>{description}
一些附加标记可以添加到任务中。以下标签是 可用:
- <sr left="[",right="]>text</sr>:用左和右包围文本。
- <ind value="A">text</ind>:如果标记中有任何文本,则 替换为value。它特别有助于表明 任务的属性存在,但不显示它(如 注释): <sr left="["right="]"><indvalue="A">{annotations}</ind></sr>
键绑定
默认情况下,您可以使用箭头或vim样式j和k导航。出口双向可控硅 使用q。
可以使用c.bind(key, command)和 c.unbind(key)。请参阅User Manual了解 命令和其他默认键绑定的列表。
状态行
底部状态行可以显示任意信息,并且可以通过 两个变量:statusleft和statusright。它们描述了相似的格式 对于Task Format中描述的任务,主要区别在于 属性由{task.<attribute>}占位符引用,并且 其他占位符可用。
c.set('statusleft','{COMMAND} {task.id}')c.set('statusright','<ind value=A>{task.annotations}</ind>')
状态行占位符还包括:taskrc,command,COMMAND, agenda.pos,agenda.size,agenda.ppos。
安装
首先,确保您的系统上安装了taskwarrior。任务勇士是 为大多数Linux发行版打包。请参考任务战士的 documentation了解详细信息。
twc通过pypi分发。你可以 使用pip安装:
$ pip3 install --user twc
或者使用pip包装,比如pipsi:
$ pipsi install --python python3 twc
twc读取您的taskrc。它将使用默认的,通常位于 在~/.taskrc中,但您可以使用-t开关更改它:
$ twc -t ~/dotfiles/my_taskrc
终端用户
TWC工作于Termux,尽管tzlocal-a库中当前有一个bug 由TWC间接用于获取本地时区信息。
在termux上运行twc之前,必须导出以下环境 变量:
exportTZ=$(getprop persist.sys.timezone)
termux在按键时模拟滚动事件。你可以把它们绑起来 导航:
c.bind('right','next-agenda')c.bind('left','prev-agenda')
许可证
twc是由micha_góral创建的。
twc是自由软件,根据gnu gpl3或任何更高版本的条款发布 版本。有关详细信息,请参见许可证文件。