我正在完善一个 bash/yad 脚本,该脚本在 KOrganizer 中触发事件提醒时运行。 (yad 是 zenity 的直接替代品。它正在积极开发中,并且具有更多功能和选项。)
当触发“正常”KOrganizer 提醒时(尤其是重复提醒),您会获得大量无用信息。
这是一个非常简单的脚本,但它却有很大的不同。它会在提醒顶部弹出一个信息框,其中可以包含您想要的任何内容以清楚地描述事件。
我无法让它再次工作。 (大约一年前,当我上次使用它时,它工作得很好。)
我已将问题与 KOrganizer 将参数传递给脚本的方式隔离开来。传递 HAPPY_BIRTHDAY 是有效的。
修改脚本以接受多个参数并传递“生日快乐”是可行的。
但是,我想要传递的是类似的东西
"<span color=\"#FFD700\">\t\t\t\tHAPPY BIRTHDAY\!\n\n\t\t\t\t\tTo ME\!</span>"
它可以从命令行运行,但我不知道如何从 KOrganizer 中执行此操作。
该脚本在命令行下运行良好。
#!/bin/bash
## custom_reminder
## Copyleft 01/26/2013 - JPmicrosystems
## Creates a pop up reminder for use with
## korganizer
## Usage: custom_reminder "reminder text"
## reminder text can contain some special characters like \n"
## Theoretically, it can also conatain some markup tags
## Got simple span to work in bash, but not insde korganizer yet
if [ -z "${1}" ]
then
MSG="ERROR - NO MESSAGE"
else
MSG="${1}"
fi
kstart --ontop -- yad --title "Personal Event Calendar" --info --text="${MSG}" --width=300 --height=100
使用编辑现有提醒来安装脚本。选择内容:运行应用程序/脚本,然后在应用程序/脚本中输入脚本名称“custom_reminder”,并在参数:中输入文本。
任何想法,将不胜感激。
答案1
我对 korganizer 中传递的参数进行的测试表明,它只是删除了所有双引号“。
您的线路:
"<span color=\"#FFD700\">\t\t\t\tHAPPY BIRTHDAY\!\n\n\t\t\t\t\tTo ME\!</span>"
成为
<span color=\#FFD700\>\t\t\t\tHAPPY BIRTHDAY\!\n\n\t\t\t\t\tTo ME\!</span>
解决此限制的方法是在脚本中使用单引号并将其替换为双引号。
MSG=$(echo "$1" | sed "s/'/\"/g")
注意我还没有尝试过yad
。