import QtQuick 2.0 import org.kde.plasma.core 2.0 as PlasmaCore PlasmaCore.DataSource { id: executable engine: "executable" connectedSources: [] onNewData: { var exitCode = data["exit code"] var exitStatus = data["exit status"] var stdout = data["stdout"] var stderr = data["stderr"] exited(sourceName, exitCode, exitStatus, stdout, stderr) disconnectSource(sourceName) // cmd finished } function exec(cmd) { connectSource(cmd) } signal exited(string command, int exitCode, int exitStatus, string stdout, string stderr) function trimOutput(stdout) { return stdout.replace('\n', ' ').trim() } }