Había un buen comando en KDE3 que me permitía agregar un botón de inicio de programa a un panel de inicio mediante programación:
dcop kicker $PANEL addNonKDEAppButton "$PROGRAM_NAME" "$PROGRAM_DESCRIPTION" "$PROGRAM_EXECUTABLE" "$PROGRAM_ICON" "" 0
Me pregunto si hay algo similar para KDE4.
Respuesta1
Sólo pude encontrar una solución parcial al problema. El siguiente script hace el trabajo de una sola línea de KDE3, pero desafortunadamente aún requiere la interacción del usuario ya que plasma no admite la ejecución de scripts sin una interfaz gráfica de usuario. Eso es muy decepcionante.
Si conoce una forma de ejecutar scripts de plasma directamente, respondaesta pregunta.
#!/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"