taskwarrior的交互式终端前端

twc的Python项目详细描述


twc-taskwarrior控制器(以前的taskwarrior诅咒)是交互式的 任务和待办事项管理器的终端前端-任务勇士。

https://gitlab.com/mgoral/twc/raw/master/docs/img/screenshot.png

有关完整文档,请参阅User Manual

功能

  • 议程-在一个屏幕上同时显示多个过滤器 (受org-mode影响)
  • 创建、修改、删除、注释任务
  • 批量编辑:选择任意任务并同时对其进行修改
  • 自动完成和制表符完成编写任务说明、批注、标记 等
  • 样式和任务格式(使用类似html的标记)
  • 任务和子任务分组(受 taskwiki
  • 将任务与任务服务器同步
  • 显示任意信息的状态行
  • 可配置的密钥绑定
  • 搜索和任务的增量搜索-搜索可以区分大小写, 不区分大小写或智能大小写(仅当存在大写时才区分大小写 搜索词中的大小写字符)

简介

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样式jk导航。出口双向可控硅 使用q

可以使用c.bind(key, command)c.unbind(key)。请参阅User Manual了解 命令和其他默认键绑定的列表。

状态行

底部状态行可以显示任意信息,并且可以通过 两个变量:statusleftstatusright。它们描述了相似的格式 对于Task Format中描述的任务,主要区别在于 属性由{task.<attribute>}占位符引用,并且 其他占位符可用。

c.set('statusleft','{COMMAND} {task.id}')c.set('statusright','<ind value=A>{task.annotations}</ind>')

状态行占位符还包括:taskrccommandCOMMANDagenda.posagenda.sizeagenda.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或任何更高版本的条款发布 版本。有关详细信息,请参见许可证文件。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java,我如何在方法中放置一个开关盒?   Java将数组添加到数组特殊模式   java的类常量和文件导入   如何在java中使用正则表达式更改匹配子字符串的前缀和后缀   Java Hashmap实现中的字符串哈希问题   java如何计算数组中的连续数字组   处理异常后如何在java中重新启动thrift服务器?   java嵌套列表迭代器。程序不会终止   如何在maven目标目录下的JAR文件中运行java类?   mysql Java JPA/Hibernate级联删除   java使用ApachePDFBox在PDF中查找javascript代码   java将hsqlDB集成到netbeans 7 IDE中   java如何删除word梯形图中的最后一个“>”   java如何存储由Minimax扩展的节点数