| 
							- #!/bin/bash
 - 
 - # Read FIFO argument from CLI
 - FIFO=${1}
 - shift
 - 
 - if [ ! -e "${FIFO}" ]; then
 -   echo "Fifo file ${FIFO} does not exist, cannot run"
 -   exit 1
 - fi
 - 
 - # Start kdialog with all other arguments and get dbus reference
 - dbusRef=$(kdialog "$@" 100)
 - 
 - if [ $? -ne 0 ] || [ -z "${dbusRef}" ]; then
 -   echo "Failed to start kdialog"
 -   exit 1
 - fi
 - 
 - # Setup cancellation point for this script
 - quitfn() {
 -     qdbus ${dbusRef} close 2>/dev/null
 -     exit 0
 - }
 - 
 - trap quitfn SIGINT
 - trap quitfn SIGTERM
 - 
 - # Read Fifo for new values or a quit message
 - while read -t 5 line < "${FIFO}"; do
 -   if [ $? != 0 ]; then
 -     echo "Timed out, closing"
 -     break
 -   fi
 -   if echo "${line}" | grep -q "idle"; then
 -     continue
 -   fi
 -   if echo "${line}" | grep -q "quit"; then
 -     break
 -   fi
 -   if ! qdbus ${dbusRef} Set "" value "${line}"; then
 -     break
 -   fi
 - done
 - 
 - # Cleanup
 - rm -f "${FIFO}"
 - quitfn
 
 
  |