Existe um comando DBus para adicionar um botão de início de programa a um painel de plasma do KDE?

1

Houve um comando legal no KDE3 que permitiu que eu adicionasse um botão de início de programa a um painel de kicker programaticamente:

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

Gostaria de saber se existe algo similar para o KDE4?

    
por Stefan Endrullis 09.07.2014 / 21:03

1 resposta

0

Eu só encontrei uma solução parcial para o problema. O seguinte script faz o trabalho do one-liner do KDE3, mas infelizmente ele ainda requer uma interação com o usuário, já que o plasma não suporta execuções de script sem uma interface gráfica com o usuário. Isso é muito decepcionante.

Se você conhece uma maneira de executar scripts de plasma diretamente, responda esta questão .

#!/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"
    
por 10.07.2014 / 00:07