Gibt es einen DBus-Befehl zum Hinzufügen einer Programmstarttaste zu einem KDE-Plasmabildschirm?

537
Stefan Endrullis

Es gab einen netten Befehl in KDE3, der es mir erlaubte, programmgesteuert einem Kicker-Panel einen Programmstartknopf hinzuzufügen:

dcop kicker $PANEL addNonKDEAppButton "$PROGRAM_NAME" "$PROGRAM_DESCRIPTION" "$PROGRAM_EXECUTABLE" "$PROGRAM_ICON" "" 0 

Ich frage mich, ob es etwas Ähnliches für KDE4 gibt?

1

1 Antwort auf die Frage

0
Stefan Endrullis

Ich konnte nur eine Teillösung für das Problem finden. Das folgende Skript erledigt den KDE3-Einzeiler, erfordert aber leider immer noch eine Benutzerinteraktion, da Plasma keine Skriptausführung ohne grafische Benutzeroberfläche unterstützt. Das ist sehr enttäuschend.

Wenn Sie wissen, wie Sie Plasmaskripts direkt ausführen können, beantworten Sie diese Frage .

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