将参数传递给 KOrganizer 事件提醒 bash/yad 脚本

将参数传递给 KOrganizer 事件提醒 bash/yad 脚本

我正在完善一个 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

相关内容