Advance Wayland and KDE package bring-up

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
2026-04-14 10:51:06 +01:00
parent 51f3c21121
commit cf12defd28
15214 changed files with 20594243 additions and 269 deletions
@@ -0,0 +1,12 @@
cmake_minimum_required(VERSION 3.0)
set(ECM_KDE_MODULE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../kde-modules)
set(ECM_MODULE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../modules)
set(CMAKE_MODULE_PATH "${ECM_KDE_MODULE_DIR}")
include(KDEPackageAppTemplates)
message(STATUS "Test: generate compressed template")
kde_package_app_templates(TEMPLATES "qml-plasmoid" INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR})
# this will be run by CTest
configure_file(check.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/check.cmake" @ONLY)
@@ -0,0 +1,37 @@
set(CMAKE_MODULE_PATH "@MODULES_DIR@/../kde-modules")
set(CMAKE_CURRENT_SOURCE_DIR "@CMAKE_CURRENT_SOURCE_DIR@")
set(CMAKE_CURRENT_BINARY_DIR "@CMAKE_CURRENT_BINARY_DIR@")
###########################################################
macro(check_exists file)
message(STATUS "Checking for ${file}")
if (NOT EXISTS ${file})
message(FATAL_ERROR "File \"${file}\" does not exist")
endif()
endmacro()
message(STATUS "Test: the packaged template has been generated")
check_exists(${CMAKE_CURRENT_BINARY_DIR}/qml-plasmoid.tar.bz2 )
message(STATUS "Extracting the packaged template")
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/qml-plasmoid)
execute_process(COMMAND ${CMAKE_COMMAND} -E tar "xvfj" ${CMAKE_CURRENT_BINARY_DIR}/qml-plasmoid.tar.bz2
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/qml-plasmoid
RESULT_VARIABLE result
ERROR_VARIABLE error
)
if(NOT result EQUAL 0)
message(FATAL_ERROR "Error extracting the template: ${error}")
endif()
message(STATUS "Test: the packaged template has been correctly extracted")
check_exists(${CMAKE_CURRENT_BINARY_DIR}/qml-plasmoid/qml-plasmoid.png )
check_exists(${CMAKE_CURRENT_BINARY_DIR}/qml-plasmoid/qml-plasmoid.kdevtemplate )
check_exists(${CMAKE_CURRENT_BINARY_DIR}/qml-plasmoid/package/metadata.desktop )
message(STATUS "Cleaning up generated files")
file(REMOVE ${CMAKE_CURRENT_BINARY_DIR}/qml-plasmoid.tar.bz2 )
file(REMOVE_RECURSE ${CMAKE_CURRENT_BINARY_DIR}/qml-plasmoid )
@@ -0,0 +1,10 @@
cmake_minimum_required(VERSION 3.5)
project(plasma-%{APPNAMELC})
find_package(ECM 1.4.0 REQUIRED NO_MODULE)
set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
find_package(KF5Plasma REQUIRED)
plasma_install_package(package org.kde.%{APPNAMELC})
@@ -0,0 +1,2 @@
#! /usr/bin/env bash
$XGETTEXT `find . -name \*.qml` -o $podir/plasma_applet_%{APPNAMELC}.pot
@@ -0,0 +1,32 @@
Plasma Applet Template
----------------------
-- Build instructions --
cd /where/your/applet/is/generated
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=MYPREFIX ..
make
make install
(MYPREFIX is where you install your Plasma setup, replace it accordingly)
Restart plasma to load the applet
(in a terminal type:
kquitapp plasmashell
and then
plasmashell)
or view it with
plasmoidviewer -a YourAppletName
-- Tutorials and resources --
The explanation of the template
http://techbase.kde.org/index.php?title=Development/Tutorials/Plasma/GettingStarted
Plasma techbase pages
http://techbase.kde.org/Projects/Plasma
Plasma QML API explained
http://techbase.kde.org/Development/Tutorials/Plasma/QML/API
@@ -0,0 +1,28 @@
/***************************************************************************
* Copyright (C) %{CURRENT_YEAR} by %{AUTHOR} <%{EMAIL}> *
* *
* Distributed under the OSI-approved BSD License (the "License");
* see accompanying file COPYING-CMAKE-SCRIPTS for details.
*
* This software is distributed WITHOUT ANY WARRANTY; without even the
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the License for more information.
***************************************************************************/
import QtQuick 2.1
import QtQuick.Layouts 1.1
import org.kde.kirigami 2.20 as Kirigami
import org.kde.plasma.plasmoid 2.0
import org.kde.plasma.components 2.0 as PlasmaComponents
Item {
Plasmoid.fullRepresentation: ColumnLayout {
anchors.fill: parent
Kirigami.Icon {
source: "kde"
}
PlasmaComponents.Label {
text: "This is Plasma!"
}
}
}
@@ -0,0 +1,66 @@
[Desktop Entry]
Name=%{APPNAME}
Name[ca]=%{APPNAME}
Name[ca@valencia]=%{APPNAME}
Name[da]=%{APPNAME}
Name[en_GB]=%{APPNAME}
Name[es]=%{APPNAME}
Name[fi]=%{APPNAME}
Name[gl]=%{APPNAME}
Name[it]=%{APPNAME}
Name[nb]=%{APPNAME}
Name[nl]=%{APPNAME}
Name[nn]=%{APPNAME}
Name[pl]=%{APPNAME}
Name[pt]=%{APPNAME}
Name[pt_BR]=%{APPNAME}
Name[sl]=%{APPNAME}
Name[sr]=%{APPNAME}
Name[sr@ijekavian]=%{APPNAME}
Name[sr@ijekavianlatin]=%{APPNAME}
Name[sr@latin]=%{APPNAME}
Name[sv]=%{APPNAME}
Name[uk]=%{APPNAME}
Name[x-test]=xx%{APPNAME}xx
Comment=what your app does in a few words
Comment[ca]=Què fa aquesta aplicació en poques paraules
Comment[ca@valencia]=Què fa esta aplicació en poques paraules
Comment[da]=nogle få ord om hvad din app gør
Comment[en_GB]=what your app does in a few words
Comment[es]=lo que hace su aplicación, en pocas palabras
Comment[fi]=ohjelmasi toiminta muutamalla sanalla
Comment[gl]=o que fai o seu programa en poucas palabras
Comment[it]=Cosa fa la tua applicazione in poche parole
Comment[nb]=hva programmet gjør, med noen få ord
Comment[nl]=wat uw app doet in een paar woorden
Comment[pl]=w kilku słowach opis co robi twój program
Comment[pt]=o que faz a sua aplicação, em poucas palavras
Comment[pt_BR]=breve descrição do que o seu aplicativo faz
Comment[sl]=kaj vaš program dela, v nekaj besedah
Comment[sr]=Укратко о томе шта ваш програм ради
Comment[sr@ijekavian]=Укратко о томе шта ваш програм ради
Comment[sr@ijekavianlatin]=Ukratko o tome šta vaš program radi
Comment[sr@latin]=Ukratko o tome šta vaš program radi
Comment[sv]=vad programmet gör med några få ord
Comment[uk]=призначення вашої програми у декількох словах
Comment[x-test]=xxwhat your app does in a few wordsxx
Icon=applications-system
Type=Service
ServiceTypes=Plasma/Applet
X-KDE-PluginInfo-Author=%{AUTHOR}
X-KDE-PluginInfo-Email=%{EMAIL}
X-KDE-PluginInfo-Name=%{APPNAMELC}
X-KDE-PluginInfo-Version=1.0
X-KDE-PluginInfo-Website=https://plasma.kde.org/
X-KDE-PluginInfo-Category=Utilities
X-KDE-PluginInfo-License=GPL
X-KDE-PluginInfo-EnabledByDefault=true
X-KDE-PluginInfo-Name=org.kde.%{APPNAMELC}
X-Plasma-API=declarativeappletscript
X-Plasma-MainScript=ui/main.qml
X-Plasma-Requires-FileDialog=Unused
X-Plasma-Requires-LaunchApp=Unused
X-Plasma-DefaultSize=200,300
@@ -0,0 +1,74 @@
# KDE Config File
[General]
Name=Plasma QML Applet
Name[bs]=Plasma QML Applet
Name[ca]=Miniaplicació en QML pel Plasma
Name[ca@valencia]=Miniaplicació en QML pel Plasma
Name[cs]=Aplet QML Plasma
Name[da]=Plasma QML-applet
Name[de]=Plasma-QML-Miniprogramm
Name[el]=Μικροεφαρμογή Plasma QML
Name[en_GB]=Plasma QML Applet
Name[es]=Miniaplicación QML para Plasma
Name[et]=Plasma QML aplett
Name[fi]=Plasma QML-sovelma
Name[fr]=Composant graphique QML pour Plasma
Name[gl]=Applet QML para Plasma
Name[hu]=Plasma QML kisalkalmazás
Name[it]=Applet di Plasma in QML
Name[kk]=Plasma QML апплеті
Name[ko]=Plasma QML 애플릿
Name[nb]=Plasma QML-miniprogram
Name[nl]=Plasma QML-applet
Name[pl]=Aplet plazmy QML Applet
Name[pt]='Applet' do Plasma em QML
Name[pt_BR]=Miniaplicativo Plasma em QML
Name[ru]=Аплет Plasma QML
Name[sk]=Plasma QML Applet
Name[sl]=Aplet QML za Plasmo
Name[sr]=Плазма КуМЛ аплет
Name[sr@ijekavian]=Плазма КуМЛ аплет
Name[sr@ijekavianlatin]=Plasma QML aplet
Name[sr@latin]=Plasma QML aplet
Name[sv]=Plasma QML-miniprogram
Name[tr]=Plasma QML Programcığı
Name[uk]=Аплет Плазми мовою QML
Name[x-test]=xxPlasma QML Appletxx
Name[zh_CN]=Plasma QML 小程序
Name[zh_TW]=Plasma QML 小程式
Comment=Plasma QML Applet Template: a plasma applet template displaying a svg picture and a text.
Comment[bs]=Predložak za QML aplete. Predložak za plasma aplete koji prikazuju SVG sliku i tekst.
Comment[ca]=Plantilla de miniaplicació pel Plasma: una plantilla de miniaplicació del plasma que mostra una icona i un text.
Comment[ca@valencia]=Plantilla de miniaplicació pel Plasma: una plantilla de miniaplicació del plasma que mostra una icona i un text.
Comment[da]=Skabelon til Plasma QML-applet. En skabelon til en Plasma-applet, som viser et SVG-billede og en tekst.
Comment[de]=Vorlage für Plasma-QML-Miniprogramm. Eine Vorlage für ein Plasma-Miniprogramm, das ein SVG-Symbol und einen Text anzeigt
Comment[el]=Πρότυπο μικροεφαρμογής Plasma QML: ένα πρότυπο μικροεφαρμογής plasma που εμφανίζει μια εικόνα svg και ένα κείμενο.
Comment[en_GB]=Plasma QML Applet Template: a plasma applet template displaying a svg picture and a text.
Comment[es]=Plantilla de miniaplicación QML para Plasma: una plantilla de miniaplicación para Plasma que muestra una imagen SVG y un texto.
Comment[et]=Plasma QML apleti mall. Plasma apleti mall, näitab SVG-pilti ja teksti
Comment[fi]=Plasman QML-sovelmamalli: Plasma-sovelmamalli, joka näyttää kuvakkeen ja tekstiä.
Comment[fr]=Modèle de composant graphique QML pour Plasma. Un modèle de composant graphique pour Plasma affichant une image « svg » et un texte.
Comment[gl]=Modelo de applet para Plasma: un modelo de applet para Plasma que mostra unha imaxe SVG e un texto.
Comment[hu]=Plasma QML kisalkalmazás sablon: egy Plasma kisalkalmazás sablon, amely megjelenít egy SVG képet és egy szöveget.
Comment[it]=Modello di applet Plasma in QML. Un modello di programmino Plasma che visualizza un'immagine SVG e del testo
Comment[kk]=Plasma QML апплет үлгісі. SVG-суреті мен мәтінді көрсететін Plasma апплет үлгісі.
Comment[ko]=Plasma QML 애플릿 템플릿. SVG 그림과 텍스트를 표시하는 Plasma 애플릿 템플릿
Comment[nb]=Plasma mal for QML miniprogram: en mal for et Plasma-element som viser et svg-bilde og en tekst.
Comment[nl]=Sjabloon voor Plasma-QML-applet: Een sjabloon voor een plasma-applet dat een svg-afbeelding en een tekst toont
Comment[pl]=Szablon apletu Plazmy QML: szablon apletu plazmy wyświetlający zdjęcie svg i tekst.
Comment[pt]=Modelo de 'Applet' do Plasma. Um modelo de 'applet' do Plasma que mostra uma imagem SVG e algum texto.
Comment[pt_BR]=Modelo de miniaplicativo Plasma em QML: Um modelo de miniaplicativo Plasma que mostra uma imagem SVG e texto.
Comment[ru]=Пример виджета Plasma на QML. Шаблон виджета Plasma, показывающий изображение SVG и текст.
Comment[sk]=Šablóna appletu Plasma QML: šablóna plasma appletu zobrazujúca svg obrázok a text.
Comment[sl]=Predloga apleta Plasma, ki prikazuje sliko svg in besedilo.
Comment[sr]=Шаблон за плазма КуМЛ аплет који даје СВГ слику и текст
Comment[sr@ijekavian]=Шаблон за плазма КуМЛ аплет који даје СВГ слику и текст
Comment[sr@ijekavianlatin]=Šablon za plasma QML aplet koji daje SVG sliku i tekst
Comment[sr@latin]=Šablon za plasma QML aplet koji daje SVG sliku i tekst
Comment[sv]=Mall för Plasma QML-miniprogram. En mall för ett Plasma-miniprogram som visar en SVG-bild och en text.
Comment[tr]=Plasma QML Programcığı Şablonu: Bir metin ve svg resmi gösteren plasma programcığı şablonu
Comment[uk]=Шаблон аплету Плазми. Шаблон аплету Плазми, який показу зображення SVG і текст.
Comment[x-test]=xxPlasma QML Applet Template: a plasma applet template displaying a svg picture and a text.xx
Comment[zh_TW]=Plasma QML 小程式樣本:用於顯示 svg 圖片與文字的 plasma 小程式樣本
Category=KDE/Plasmoid
Icon=qml-plasmoid.png