Passando argumentos para os scripts bash / yad do lembrete de evento do KOrganizer

1

Estou refinando um script bash / yad que é executado quando um lembrete de evento é acionado no KOrganizer. (yad é um substituto imediato do zenity. Ele está sendo desenvolvido ativamente e tem muitos mais recursos e opções.)

Quando um lembrete "normal" do KOrganizer é acionado - especialmente um lembrete recorrente, você obtém muitas informações que são menos úteis.

Este é um script muito simples, mas faz uma grande diferença. Ele exibe uma caixa de informações em cima do lembrete que pode ter o que você quiser para descrever claramente o evento.

Estou tendo problemas para fazer com que funcione novamente. (Funcionou bem por volta de um ano atrás, quando usei pela última vez.)

Eu isolei o problema para a maneira como o KOrganizer passa argumentos para o script. Passar HAPPY_BIRTHDAY funciona.

Modificando o script para aceitar vários argumentos e passando-o HAPPY BIRTHDAY funciona.

Mas, o que eu quero passar é algo como

"<span color=\"#FFD700\">\t\t\t\tHAPPY BIRTHDAY\!\n\n\t\t\t\t\tTo ME\!</span>" 

que funciona na linha de comando, mas não tenho idéia de como fazer isso no KOrganizer.

O script funciona bem na linha de comando.

#!/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

O script é instalado usando o lembrete de edição existente. Selecione What: Execute application / script e insira o nome do script "custom_reminder" em Application / Script e o texto em Arguments :.

Qualquer ideia seria apreciada.

    
por Joe 27.01.2013 / 05:50

1 resposta

1

Meus testes com o argumento que passa no korganizer mostram que ele remove todas as aspas duplas, ".

Sua linha:

"<span color=\"#FFD700\">\t\t\t\tHAPPY BIRTHDAY\!\n\n\t\t\t\t\tTo ME\!</span>"

tornou-se

<span color=\#FFD700\>\t\t\t\tHAPPY BIRTHDAY\!\n\n\t\t\t\t\tTo ME\!</span>

Uma solução alternativa para essa limitação é usar aspas simples e substituí-las por duplas no script.

MSG=$(echo "$1" | sed "s/'/\"/g")

NB Eu não tentei com yad .

    
por 27.01.2013 / 11:30