В KDE3 была замечательная команда, которая позволяла мне программно добавлять кнопку запуска программы на панель управления:
dcop kicker $PANEL addNonKDEAppButton "$PROGRAM_NAME" "$PROGRAM_DESCRIPTION" "$PROGRAM_EXECUTABLE" "$PROGRAM_ICON" "" 0
Интересно, есть ли что-то подобное для KDE4?
решение1
Я смог найти только частичное решение проблемы. Следующий скрипт выполняет работу однострочника KDE3, но, к сожалению, он все еще требует взаимодействия с пользователем, поскольку Plasma не поддерживает выполнение скриптов без графического пользовательского интерфейса. Это очень разочаровывает.
Если вы знаете способ выполнения плазменных скриптов напрямую, пожалуйста, ответьте.этот вопрос.
#!/bin/bash
E_BADARGS=65
PLASMA_SCRIPT_FILE=/tmp/kdePlasmaScript.js
DESKTOP_FILE="$1"
PROGRAM_NAME="$2"
PROGRAM_DESCRIPTION="$3"
PROGRAM_EXECUTABLE="$4"
PROGRAM_ICON="$5"
if [ $# -ne 5 ]; then
echo "Usage: `basename $0` <DESKTOP_FILE> <PROGRAM_NAME> <PROGRAM_DESCRIPTION> <PROGRAM_EXECUTABLE> <PROGRAM_ICON>"
exit $E_BADARGS
fi
echo "[Desktop Entry]
Name=$PROGRAM_NAME
GenericName=$PROGRAM_DESCRIPTION
Exec=$PROGRAM_EXECUTABLE
Icon=$PROGRAM_ICON
Path=
Type=Application
" >"$DESKTOP_FILE"
echo "function addStartButton(quicklaunch, panel) {
quicklaunch.writeConfig('launchers', quicklaunch.readConfig('launchers', '') + ',$DESKTOP_FILE')
}
var template = loadTemplate('org.kde.plasma-desktop.findWidgets')
template.findWidgets('quicklaunch', addStartButton)
" >"$PLASMA_SCRIPT_FILE"
qdbus org.kde.plasma-desktop /MainApplication loadScriptInInteractiveConsole "$PLASMA_SCRIPT_FILE"