Din*_*ino 6 command-line calendar schedule notify-send
我使用日历和日程安排应用程序calcurse。这是一个很好的命令行程序。
例如,calcurse -a您可以显示当天的事件。
我如何将此信息发送到notify-send,以在桌面上显示通知?
$ calcurse -a | notify-send
Run Code Online (Sandbox Code Playgroud)
不管用 ...
通常,恢复到(非常)基本但完整的功能感觉很奇怪,但在某种程度上令人耳目一新。但不确定我是否会使用它。
尽管 Calcurse 窗口的底部建议使用管道选项,并且Calcurse 的网站提到“用户可配置的通知系统”,但我找不到一种方法来使用它来自动安排所有事件的通知。
同时:事实上,这样的提醒功能将是一个有用的补充。calcurse下面的脚本可以用作显示提醒的插件。希望对你有帮助。
它非常容易使用;只需在后台运行脚本即可。它所做的只是检查今天的事件(每分钟更新两次),并在到期前的任意时间运行通知。
命令的输出:
calcurse -a
Run Code Online (Sandbox Code Playgroud)
好像:
calcurse -a
Run Code Online (Sandbox Code Playgroud)
立即发生的是,计划项目以“-”开头,而全天项目以“*”开头。我们需要做的是创建两组项目(列表):
对于第一类,我们需要解析时间,将其转换为我们可以计算的格式,这样我们就可以在n到期前 - 分钟显示提醒。
随后,我们需要“留意时钟”,将(事件的)设定时间与当前时间进行比较。如果两者之间的时间跨度进入设定的警告时间,则只需显示通知即可。
最后,为了防止重复通知,我们需要将该项目添加到“完成”列表中。
此外,该脚本还会清理“完成”列表;如果某个项目不再出现在今天的项目中(无论您删除了该项目还是在会话期间切换了日期),该项目都会自动删除。
启动时(登录)
到期前的任意时间(在本例中为 15 分钟)
12/29/15:
* Free today!
- 12:00 -> ..:..
See if this script does its job :)
Run Code Online (Sandbox Code Playgroud)
run_ccursereminders.py测试 - 使用您希望收到警告的时间(在到期时间之前,以分钟为单位)作为参数来运行它。例如,要在预约前 30 分钟运行提醒:
python3 /path/to/run_ccursereminders.py 30
Run Code Online (Sandbox Code Playgroud)如果它如您所愿,请将其添加到启动应用程序:选择 Dash > 启动应用程序 > 添加。添加命令
/bin/bash -c "sleep 30 && python3 /path/to/run_ccursereminders.py 30"
Run Code Online (Sandbox Code Playgroud)
其中最后一个30是在约会到期之前警告您的分钟数