LINUX.ORG.RU

Plasma5 как просмотреть установленные engines?

 , ,


0

1

Доброго времени суток. Столкнулся с такой проблемой. В KDE4 различную информацию о системе можно было получить через dataEngane, список которых можно было просмотреть с помощью plasmaengineexplorer. В пятой плазме я такого не видел, но все таки поставщики информации там есть. Например в официальной документации приведен такой вот кусок кода

PlasmaCore.DataSource {
     id: dataSource
     engine: "time"
     connectedSources: ["Local"]
     interval: 500
 }
В нем, как видно, данные о времени можно узнать с помощью engine: «time». Вопрос собственно в следующим: как я могу узнать, какие engines доступны в системе

Ответ на: комментарий от fluorite

Спасибо. Вы мне очень помогли. А как можно узнать, какие данные импортирует такой dataengine? Например, в приведенном куске кода из engene: 'time' берется информация о локальном времени

connectedSources: ["Local"]
Когда я просматривал .desctop файлы в директории plugins/plasma/dataengine/, я не нашел в них упоминания про импортируемые данные.

konstantinz
() автор топика
Ответ на: комментарий от konstantinz

PlasmaCore.DataSource — это зарегистрированный в QML класс с++ DataSource, соответственно, в QML строка connectedSources: [«Local»] означает вызов метода DataSource::setConnectedSources(const QStringList &s); Список всех доступных источников можно получить вызовом метода QStringList DataSource::sources() const из плюсов, либо проверкой атрибута sources у элемента PlasmaCore.DataSource в QML.

fluorite ★★★★★
()
Ответ на: комментарий от fluorite

Все, разобрался немного. А можно еще вопрос - как с помощью механизма dataEngine я могу узнать разрешение экрана и положение на экране определенного окна (я хочу написать плазмоид, который будет бегать по экрану)?

konstantinz
() автор топика
Ответ на: комментарий от konstantinz

Я помню на четвёртых кедах был плазмоид мячик. Его можно было гонять мышкой по экрану. Ищи сорцы, читай.

anonymous
()
Ответ на: комментарий от fluorite

Нашел промежуточное решение, которое позволяет если не взять нужные мне сведения из dataengine, то хотя бы запустить нужную мне команду, которая возьмет нужные мне сведения и внесет их в конфигурационный файл плазмоида

Item {
    id: root


    PlasmaCore.DataSource {
        id: executeSource
        engine: "executable"
        connectedSources: []
        
    }
    
    Rectangle{
    id: boot
    color: "blue"
    anchors.fill: parent;
    MouseArea {
       anchors.fill: parent;
            onClicked: {
                print(executeSource.sources)
                executeSource.connectSource('kcalc')
            }
        } 
    }
 
}


результатом работы этого кода будет запуск калькулятора
konstantinz
() автор топика
Ответ на: комментарий от konstantinz

Спасибо за наводку. Поищу. Только как я заметил, в четвертых и пятых кедах одни и те же функции вызываются по разному. В смысле синтаксис команд разный. На счет отличий во внутренний сишной организации не в курсе. Но в целом спасибо большое, вы мне очень помогли продвинутся с моим плазмоидом.

konstantinz
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.