mirror of
https://invent.kde.org/marcoa/shift-shell.git
synced 2026-06-11 00:47:22 +00:00
Brand product metadata as SHIFT
Update session, AppStream, service, shell metadata, and initial setup about/defaults to use SHIFT-facing product metadata while keeping runtime package IDs and executable names stable. Install Shift AppStream metadata and remove stale upstream metainfo from existing prefixes. Add a guard for product metadata branding.
This commit is contained in:
parent
a3173160e2
commit
18bef9a573
13 changed files with 158 additions and 395 deletions
|
|
@ -166,7 +166,8 @@ if(BUILD_TESTING)
|
|||
add_subdirectory(tests)
|
||||
endif()
|
||||
|
||||
install(FILES org.kde.plasma.mobileshell.metainfo.xml DESTINATION ${KDE_INSTALL_METAINFODIR})
|
||||
install(CODE "file(REMOVE \"\$ENV{DESTDIR}${KDE_INSTALL_FULL_METAINFODIR}/org.kde.plasma.mobileshell.metainfo.xml\")")
|
||||
install(FILES org.shift.mobile.metainfo.xml DESTINATION ${KDE_INSTALL_METAINFODIR})
|
||||
|
||||
find_program(PlasmaOpenSettings plasma-open-settings)
|
||||
set_package_properties(PlasmaOpenSettings PROPERTIES
|
||||
|
|
|
|||
|
|
@ -5,86 +5,6 @@
|
|||
Exec=@CMAKE_INSTALL_FULL_LIBEXECDIR@/plasma-dbus-run-session-if-needed @CMAKE_INSTALL_FULL_LIBEXECDIR@/startplasmamobile-dev.sh
|
||||
Type=Application
|
||||
DesktopNames=KDE
|
||||
Name=Plasma Mobile (Development)
|
||||
Name[ar]=بلازما الجوال (التطوير)
|
||||
Name[az]=Plasma Mobil (Tərtibat)
|
||||
Name[ca]=Plasma Mobile (Desenvolupament)
|
||||
Name[ca@valencia]=Plasma Mobile (desenvolupament)
|
||||
Name[cs]=Plasma Mobile (Vývojová)
|
||||
Name[de]=Plasma Mobile (Entwicklung)
|
||||
Name[en_GB]=Plasma Mobile (Development)
|
||||
Name[eo]=Plasma Poŝtelefono (Evoluo)
|
||||
Name[es]=Plasma Mobile (desarrollo)
|
||||
Name[eu]=Plasma Mugikorra (Garapena)
|
||||
Name[fi]=Plasma Mobile (kehitys)
|
||||
Name[fr]=Plasma Mobile (Développement)
|
||||
Name[gl]=Plasma Mobile (desenvolvemento)
|
||||
Name[he]=פלזמה לניידים (פיתוח)
|
||||
Name[hu]=Plasma Mobile (fejlesztői)
|
||||
Name[ia]=Plasma Mobile (Disveloppamento)
|
||||
Name[is]=Plasma Mobile (þróunarútgáfa)
|
||||
Name[it]=Plasma Mobile (sviluppo)
|
||||
Name[ka]=Plasma Mobile (ბეტა)
|
||||
Name[ko]=Plasma 모바일(개발)
|
||||
Name[lv]=Plasma Mobile (izstrādē)
|
||||
Name[nl]=Plasma Mobile (ontwikkeling)
|
||||
Name[nn]=Plasma Mobile (utvikling)
|
||||
Name[pa]=ਪਲਾਜ਼ਮਾ ਮੋਬਾਈਲ (ਵਿਕਾਸ)
|
||||
Name[pl]=Przenośna Plazma (Rozwój)
|
||||
Name[pt]=Plasma Mobile (Desenvolvimento)
|
||||
Name[pt_BR]=Plasma Mobile (desenvolvimento)
|
||||
Name[ru]=Plasma Mobile (разработка)
|
||||
Name[sa]=प्लाज्मा मोबाईल (विकास)
|
||||
Name[sk]=Plasma Mobile (Vývoj)
|
||||
Name[sl]=Plasma Mobile (Razvoj)
|
||||
Name[sv]=Plasma mobil (utvecklingsversion)
|
||||
Name[ta]=பிளாஸ்மா கைபேசி (நிரலாக்கம்)
|
||||
Name[tr]=Plasma Cep (Geliştirme)
|
||||
Name[uk]=Мобільна Плазма (версія у розробці)
|
||||
Name[zh_CN]=Plasma Mobile (开发)
|
||||
Name[zh_TW]=Plasma 行動(開發)
|
||||
Comment=Plasma Mobile by KDE
|
||||
Comment[ar]=بلازما الجوال من كيدي
|
||||
Comment[az]=KDE Plasma Mobil
|
||||
Comment[ca]=Plasma Mobile, creat per la comunitat KDE
|
||||
Comment[ca@valencia]=Plasma Mobile, creat per la comunitat KDE
|
||||
Comment[cs]=Plasma Mobile od KDE
|
||||
Comment[da]=Plasma Mobile fra KDE
|
||||
Comment[de]=Plasma Mobile von KDE
|
||||
Comment[en_GB]=Plasma Mobile by KDE
|
||||
Comment[eo]=Plasma Mobile de KDE
|
||||
Comment[es]=Plasma Mobile creado por KDE
|
||||
Comment[et]=KDE Plasma Mobile
|
||||
Comment[eu]=Plasma Mugikorra KDEk egina
|
||||
Comment[fi]=KDE:n Plasma Mobile
|
||||
Comment[fr]=Plasma Mobile par KDE
|
||||
Comment[gl]=Plasma Mobile de KDE.
|
||||
Comment[he]=פלזמה לניידים מבית KDE
|
||||
Comment[hi]=केडीइ द्वारा प्लाज़्मा मोबाइल
|
||||
Comment[hu]=Plasma Mobile a KDE-től
|
||||
Comment[ia]=Plasma Mobile per KDE
|
||||
Comment[id]=Plasma Mobile oleh KDE
|
||||
Comment[is]=Plasma Mobile frá KDE
|
||||
Comment[it]=Plasma Mobile creato da KDE
|
||||
Comment[ka]=მობილური Plasma, KDE-სგან
|
||||
Comment[ko]=KDE의 Plasma 모바일
|
||||
Comment[lt]=Plasma mobilioji sąsaja pagal KDE
|
||||
Comment[lv]=KDE „Plasma Mobile“
|
||||
Comment[nl]=Plasma Mobile door KDE
|
||||
Comment[nn]=Plasma Mobile frå KDE
|
||||
Comment[pa]=KDE ਵਲੋਂ ਪਲਾਜ਼ਮਾ ਮੋਬਾਈਲ
|
||||
Comment[pl]=Plazma Mobile stworzona przez KDE
|
||||
Comment[pt]=Plasma Mobile do KDE
|
||||
Comment[pt_BR]=Plasma Mobile do KDE
|
||||
Comment[ro]=Plasma Mobile, de către KDE
|
||||
Comment[ru]=KDE Plasma Mobile
|
||||
Comment[sa]=केडीई द्वारा प्लाज्मा मोबाईल
|
||||
Comment[sk]=Plasma Mobile od KDE
|
||||
Comment[sl]=Plasma Mobile od KDE
|
||||
Comment[sv]=Plasma mobil av KDE
|
||||
Comment[ta]=கே.டீ.யீ. வழங்கும் பிளாஸ்மா கைபேசி
|
||||
Comment[tr]=KDE tarafından yapılan Plasma Cep
|
||||
Comment[uk]=Мобільна Плазма від KDE
|
||||
Comment[zh_CN]=KDE Plasma Mobile
|
||||
Comment[zh_TW]=來自 KDE 的 Plasma 行動作業系統
|
||||
Name=SHIFT (Development)
|
||||
Comment=Convergent SHIFT shell session with development DBus setup
|
||||
X-KDE-PluginInfo-Version=${PROJECT_VERSION}
|
||||
|
|
|
|||
|
|
@ -6,92 +6,6 @@ Exec=@CMAKE_INSTALL_FULL_LIBEXECDIR@/plasma-dbus-run-session-if-needed ${CMAKE_I
|
|||
TryExec=${CMAKE_INSTALL_FULL_BINDIR}/startplasmamobile
|
||||
Type=Application
|
||||
DesktopNames=KDE
|
||||
Name=Plasma Mobile
|
||||
Name[ar]=بلازما الجوال
|
||||
Name[az]=Plasma Mobil
|
||||
Name[ca]=Plasma Mobile
|
||||
Name[ca@valencia]=Plasma Mobile
|
||||
Name[cs]=Plasma Mobile
|
||||
Name[da]=Plasma Mobile
|
||||
Name[de]=Plasma Mobile
|
||||
Name[en_GB]=Plasma Mobile
|
||||
Name[eo]=Plasma Poŝtelefono
|
||||
Name[es]=Plasma Mobile
|
||||
Name[et]=Plasma Mobile
|
||||
Name[eu]=Plasma Mugikorra
|
||||
Name[fi]=Plasma Mobile
|
||||
Name[fr]=Plasma Mobile
|
||||
Name[gl]=Plasma Mobile
|
||||
Name[he]=פלזמה לניידים
|
||||
Name[hi]=प्लाज़्मा मोबाइल
|
||||
Name[hu]=Plasma Mobile
|
||||
Name[ia]=Plasma Mobile
|
||||
Name[id]=Plasma Mobile
|
||||
Name[is]=Plasma Mobile
|
||||
Name[it]=Plasma Mobile
|
||||
Name[ka]=Plasma Mobile
|
||||
Name[ko]=Plasma 모바일
|
||||
Name[lt]=Plasma mobilioji sąsaja
|
||||
Name[lv]=Plasma Mobile
|
||||
Name[nl]=Plasma Mobile
|
||||
Name[nn]=Plasma Mobile
|
||||
Name[pa]=ਪਲਾਜ਼ਮਾ ਮੋਬਾਈਲ
|
||||
Name[pl]=Przenośna Plazma
|
||||
Name[pt]=Plasma Mobile
|
||||
Name[pt_BR]=Plasma Mobile
|
||||
Name[ro]=Plasma Mobile
|
||||
Name[ru]=Plasma Mobile
|
||||
Name[sa]=प्लाज्मा मोबाईल
|
||||
Name[sk]=Plasma Mobile
|
||||
Name[sl]=Plasma Mobile
|
||||
Name[sv]=Plasma mobil
|
||||
Name[ta]=பிளாஸ்மா கைபேசி
|
||||
Name[tr]=Plasma Cep
|
||||
Name[uk]=Мобільна Плазма
|
||||
Name[zh_CN]=Plasma Mobile
|
||||
Name[zh_TW]=Plasma 行動
|
||||
Comment=Plasma Mobile by KDE
|
||||
Comment[ar]=بلازما الجوال من كيدي
|
||||
Comment[az]=KDE Plasma Mobil
|
||||
Comment[ca]=Plasma Mobile, creat per la comunitat KDE
|
||||
Comment[ca@valencia]=Plasma Mobile, creat per la comunitat KDE
|
||||
Comment[cs]=Plasma Mobile od KDE
|
||||
Comment[da]=Plasma Mobile fra KDE
|
||||
Comment[de]=Plasma Mobile von KDE
|
||||
Comment[en_GB]=Plasma Mobile by KDE
|
||||
Comment[eo]=Plasma Mobile de KDE
|
||||
Comment[es]=Plasma Mobile creado por KDE
|
||||
Comment[et]=KDE Plasma Mobile
|
||||
Comment[eu]=Plasma Mugikorra KDEk egina
|
||||
Comment[fi]=KDE:n Plasma Mobile
|
||||
Comment[fr]=Plasma Mobile par KDE
|
||||
Comment[gl]=Plasma Mobile de KDE.
|
||||
Comment[he]=פלזמה לניידים מבית KDE
|
||||
Comment[hi]=केडीइ द्वारा प्लाज़्मा मोबाइल
|
||||
Comment[hu]=Plasma Mobile a KDE-től
|
||||
Comment[ia]=Plasma Mobile per KDE
|
||||
Comment[id]=Plasma Mobile oleh KDE
|
||||
Comment[is]=Plasma Mobile frá KDE
|
||||
Comment[it]=Plasma Mobile creato da KDE
|
||||
Comment[ka]=მობილური Plasma, KDE-სგან
|
||||
Comment[ko]=KDE의 Plasma 모바일
|
||||
Comment[lt]=Plasma mobilioji sąsaja pagal KDE
|
||||
Comment[lv]=KDE „Plasma Mobile“
|
||||
Comment[nl]=Plasma Mobile door KDE
|
||||
Comment[nn]=Plasma Mobile frå KDE
|
||||
Comment[pa]=KDE ਵਲੋਂ ਪਲਾਜ਼ਮਾ ਮੋਬਾਈਲ
|
||||
Comment[pl]=Plazma Mobile stworzona przez KDE
|
||||
Comment[pt]=Plasma Mobile do KDE
|
||||
Comment[pt_BR]=Plasma Mobile do KDE
|
||||
Comment[ro]=Plasma Mobile, de către KDE
|
||||
Comment[ru]=KDE Plasma Mobile
|
||||
Comment[sa]=केडीई द्वारा प्लाज्मा मोबाईल
|
||||
Comment[sk]=Plasma Mobile od KDE
|
||||
Comment[sl]=Plasma Mobile od KDE
|
||||
Comment[sv]=Plasma mobil av KDE
|
||||
Comment[ta]=கே.டீ.யீ. வழங்கும் பிளாஸ்மா கைபேசி
|
||||
Comment[tr]=KDE tarafından yapılan Plasma Cep
|
||||
Comment[uk]=Мобільна Плазма від KDE
|
||||
Comment[zh_CN]=KDE Plasma Mobile
|
||||
Comment[zh_TW]=來自 KDE 的 Plasma 行動作業系統
|
||||
Name=SHIFT
|
||||
Comment=Convergent SHIFT shell session
|
||||
X-KDE-PluginInfo-Version=${PROJECT_VERSION}
|
||||
|
|
|
|||
|
|
@ -36,12 +36,14 @@ int main(int argc, char *argv[])
|
|||
// start wizard
|
||||
KLocalizedString::setApplicationDomain("plasma_org.kde.plasma.mobileinitialstart");
|
||||
KAboutData aboutData(QStringLiteral("plasma-mobile-initial-start"),
|
||||
QStringLiteral("Initial Start"),
|
||||
QStringLiteral("SHIFT Initial Setup"),
|
||||
QStringLiteral(PLASMA_MOBILE_VERSION_STRING),
|
||||
QStringLiteral(""),
|
||||
KAboutLicense::GPL,
|
||||
i18n("© 2026 KDE Community"));
|
||||
i18n("© 2023-2026 Plasma Mobile and SHIFT contributors"));
|
||||
aboutData.addAuthor(i18n("Devin Lin"), QString(), QStringLiteral("devin@kde.org"));
|
||||
aboutData.addAuthor(i18n("SHIFT Contributors"));
|
||||
aboutData.setBugAddress("https://invent.kde.org/marcoa/shift-shell/-/issues");
|
||||
KAboutData::setApplicationData(aboutData);
|
||||
|
||||
// parse command
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
<group name="General">
|
||||
<entry name="colorScheme" key="ColorScheme" type="String">
|
||||
<label>Color scheme name</label>
|
||||
<default>BreezeLight</default>
|
||||
<default>ShiftLight</default>
|
||||
</entry>
|
||||
<entry name="accentColor" key="AccentColor" type="Color">
|
||||
<label>Accent color</label>
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ PrepareUtil::PrepareUtil(QObject *parent)
|
|||
initKScreen([]() { });
|
||||
|
||||
// set property initially
|
||||
m_usingDarkTheme = m_colorsSettings->colorScheme() == "BreezeDark";
|
||||
m_usingDarkTheme = m_colorsSettings->colorScheme() == "ShiftDark";
|
||||
}
|
||||
|
||||
void PrepareUtil::initKScreen(std::function<void()> callback)
|
||||
|
|
@ -109,9 +109,9 @@ void PrepareUtil::setUsingDarkTheme(bool usingDarkTheme)
|
|||
{
|
||||
// use plasma-apply-colorscheme since it has logic for notifying the shell of changes
|
||||
if (usingDarkTheme) {
|
||||
QProcess::execute("plasma-apply-colorscheme", {QStringLiteral("BreezeDark")});
|
||||
QProcess::execute("plasma-apply-colorscheme", {QStringLiteral("ShiftDark")});
|
||||
} else {
|
||||
QProcess::execute("plasma-apply-colorscheme", {QStringLiteral("BreezeLight")});
|
||||
QProcess::execute("plasma-apply-colorscheme", {QStringLiteral("ShiftLight")});
|
||||
}
|
||||
|
||||
m_usingDarkTheme = usingDarkTheme;
|
||||
|
|
|
|||
|
|
@ -44,11 +44,9 @@ Item {
|
|||
readonly property bool isLandscape: width >= height
|
||||
|
||||
source: {
|
||||
// Default wallpaper background
|
||||
// Needs to be in-sync with breeze/wallpapers/Next/contents/images
|
||||
const imgFile = isLandscape ? '5120x2880.png' : '1440x2960.png';
|
||||
const lightWallpaperFolder = 'wallpapers/Next/contents/images/';
|
||||
const darkWallpaperFolder = 'wallpapers/Next/contents/images_dark/';
|
||||
const imgFile = '5120x2880.png';
|
||||
const lightWallpaperFolder = 'wallpapers/SHIFT/contents/images/';
|
||||
const darkWallpaperFolder = 'wallpapers/SHIFT/contents/images_dark/';
|
||||
|
||||
const wallpaperUrl = StandardPaths.locate(
|
||||
StandardPaths.GenericDataLocation,
|
||||
|
|
|
|||
|
|
@ -1,99 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
- SPDX-FileCopyrightText: 2025 Marco Mattiolo <marco.mattiolo@hotmail.it>
|
||||
- SPDX-License-Identifier: GPL-2.0-or-later
|
||||
-->
|
||||
<component>
|
||||
<id>org.kde.plasma.mobileshell</id>
|
||||
<developer id="org.kde">
|
||||
<name translate="no">KDE</name>
|
||||
</developer>
|
||||
<metadata_license>CC0-1.0</metadata_license>
|
||||
<project_license>GPL-2.0+</project_license>
|
||||
<name>KDE Plasma Mobile Shell</name>
|
||||
<name xml:lang="ar">صدفة بلازما الجوال من كيدي</name>
|
||||
<name xml:lang="ca">Espai de treball del Plasma Mobile de KDE</name>
|
||||
<name xml:lang="ca-valencia">Espai de treball Plasma Mobile de KDE</name>
|
||||
<name xml:lang="cs">Rozhraní KDE Plasma Mobile</name>
|
||||
<name xml:lang="es">Entorno KDE Plasma Móvil</name>
|
||||
<name xml:lang="eu">KDE Plasma Mugikor Oskola</name>
|
||||
<name xml:lang="fi">KDE Plasma Mobile -käyttöliittymä</name>
|
||||
<name xml:lang="fr">Shell pour KDE Plasma Mobile</name>
|
||||
<name xml:lang="he">מעטפת לניידים של פלזמה מבית KDE</name>
|
||||
<name xml:lang="ia">KDE Plasma Mobile Shell (Shell de Plasma KDE Mobile)</name>
|
||||
<name xml:lang="is">KDE Plasma snjalltækjaskel</name>
|
||||
<name xml:lang="it">Shell Plasma Mobile di KDE</name>
|
||||
<name xml:lang="ka">KDE Plasma Mobile-ის გარსი</name>
|
||||
<name xml:lang="ko">KDE Plasma 모바일 셸</name>
|
||||
<name xml:lang="lv">KDE „Plasma Mobile“ čaula</name>
|
||||
<name xml:lang="nl">KDE Plasma Mobiel-shell</name>
|
||||
<name xml:lang="pt-BR">Shell do KDE Plasma Mobile</name>
|
||||
<name xml:lang="sl">KDE Plasma Mobile Shell</name>
|
||||
<name xml:lang="sv">KDE Plasma mobilskal</name>
|
||||
<name xml:lang="tr">KDE Plasma Cep Kabuğu</name>
|
||||
<name xml:lang="uk">Оболонка Мобільної Плазми KDE</name>
|
||||
<name xml:lang="zh-CN">KDE Plasma Mobile Shell</name>
|
||||
<name xml:lang="zh-TW">KDE Plasma 行動殼層</name>
|
||||
<summary>KDE's Plasma shell for mobile form-factor devices</summary>
|
||||
<summary xml:lang="ar">صدفة بلازما كيدي للأجهزة المحمولة</summary>
|
||||
<summary xml:lang="ca">Espai de treball del Plasma de KDE per a dispositius de factor de forma mòbil</summary>
|
||||
<summary xml:lang="ca-valencia">Espai de treball Plasma de KDE per a dispositius de factor de forma mòbil</summary>
|
||||
<summary xml:lang="es">Entorno de Plasma de KDE para dispositivos con factor de forma móvil</summary>
|
||||
<summary xml:lang="eu">Mugikor forma faktorea duten gailuetarako KDEren Plasma Oskola</summary>
|
||||
<summary xml:lang="fi">KDE Plasman käyttöliittymä mobiililaitteille</summary>
|
||||
<summary xml:lang="fr">Shell pour KDE Plasma pour les périphériques de format mobile</summary>
|
||||
<summary xml:lang="he">מעטפת פלזמה מבית KDE למכשירים בתצורת ניוד</summary>
|
||||
<summary xml:lang="ia">Shell de Plasma per dispositivos de factor de forma mobile</summary>
|
||||
<summary xml:lang="is">Plasma-skel frá KDE fyrir farsíma og snjalltæki</summary>
|
||||
<summary xml:lang="it">Shell Plasma di KDE per dispositivi mobili</summary>
|
||||
<summary xml:lang="ka">KDE's Plasma-ის გარსი მობილური ფორმფაქტორის მქონე მოწყობილობებისთვის</summary>
|
||||
<summary xml:lang="ko">KDE의 모바일 장치를 위한 Plasma 셸</summary>
|
||||
<summary xml:lang="lv">KDE „Plasma“ čaula ierīcēm ar maziem ekrāniem</summary>
|
||||
<summary xml:lang="nl">Plasma-shell van KDE voor apparaten met mobiele vormfactor</summary>
|
||||
<summary xml:lang="pt-BR">Shell do Plasma do KDE para dispositivos móveis</summary>
|
||||
<summary xml:lang="sl">KDE's Plasma shell za mobilne naprave</summary>
|
||||
<summary xml:lang="sv">KDE:s Plasma skal för mobilapparater</summary>
|
||||
<summary xml:lang="tr">Taşınabilir biçimdeki aygıtlar için KDE’nin Plasma kabuğu</summary>
|
||||
<summary xml:lang="uk">Оболонка Плазми KDE для пристроїв мобільного форм-фактора</summary>
|
||||
<summary xml:lang="zh-CN">KDE Plasma 的手机形态设备外壳程序</summary>
|
||||
<summary xml:lang="zh-TW">行動裝置用的 KDE Plasma 殼層</summary>
|
||||
<url type="homepage">https://plasma-mobile.org/</url>
|
||||
<url type="bugtracker">https://bugs.kde.org/enter_bug.cgi?format=guided&product=plasma-mobile</url>
|
||||
<url type="vcs-browser">https://invent.kde.org/plasma/plasma-mobile</url>
|
||||
<project_group>KDE</project_group>
|
||||
<provides>
|
||||
<binary>plasma.mobileshell</binary>
|
||||
</provides>
|
||||
<screenshots>
|
||||
<screenshot type="default">
|
||||
<caption>Plasma Mobile shell being used on mobile form-factor screen</caption>
|
||||
<caption xml:lang="ar">تُستخدم صدفة بلازما الجوال على شاشة الجوال</caption>
|
||||
<caption xml:lang="ca">Espai de treball del Plasma Mobile que es fa servir en una pantalla de factor de forma mòbil</caption>
|
||||
<caption xml:lang="ca-valencia">Espai de treball Plasma Mobile que s'utilitza en una pantalla de factor de forma mòbil</caption>
|
||||
<caption xml:lang="es">El entorno Plasma Mobile en uso en una pantalla con factor de forma móvil</caption>
|
||||
<caption xml:lang="eu">Mugikor forma faktoreko pantaila batean Plasma Mugikor oskola erabiltzen</caption>
|
||||
<caption xml:lang="fi">Plasma Mobilen käyttöliittymä käytössä mobiilinäytöllä</caption>
|
||||
<caption xml:lang="fr">Shell pour Plasma Mobile utilisée sur un écran de périphérique de format mobile</caption>
|
||||
<caption xml:lang="he">המעטפת של פלזמה לניידים מיועדת למסכים של מכשירים שמיועדים לניוד</caption>
|
||||
<caption xml:lang="ia">KDE Plasma Mobile Shell e usate sur schermo de factor de forma mobile</caption>
|
||||
<caption xml:lang="is">Plasma Mobile skel notuð á skjái farsíma og snjalltækja</caption>
|
||||
<caption xml:lang="it">Shell di Plasma Mobile utilizzata su schermi per dispositivi mobili</caption>
|
||||
<caption xml:lang="ka">Plasma Mobile-ის გარსი გამოიყენება მობილური ფორმფაქტორის მქონე ეკრანზე</caption>
|
||||
<caption xml:lang="ko">모바일 화면에서 사용 중인 Plasma 모바일 셸</caption>
|
||||
<caption xml:lang="lv">„Plasma Mobile“ čaula tiek izmantota viedtālruņa lieluma ekrānam</caption>
|
||||
<caption xml:lang="nl">Plasma Mobiel-shell wordt gebruikt op schermen met een mobiele vormfactor</caption>
|
||||
<caption xml:lang="pt-BR">O shell do Plasma Mobile está sendo usado em telas de fator de formato móvel</caption>
|
||||
<caption xml:lang="sl">Plasma Mobile shell uporabljen za zaslon oblikovan za mobilno napravo</caption>
|
||||
<caption xml:lang="sv">Plasma mobilskal använt på mobilskärm</caption>
|
||||
<caption xml:lang="tr">Plasma Cep kabuğu, taşınabilir biçimli bir aygıtta kullanılırken</caption>
|
||||
<caption xml:lang="uk">Оболонка Мобільної Плазми, яку використовують для екранів мобільного форм-фактора</caption>
|
||||
<caption xml:lang="zh-CN">Plasma Mobile 的手机形态设备外壳程序</caption>
|
||||
<caption xml:lang="zh-TW">Plasma 行動殼層在行動螢幕上使用</caption>
|
||||
<image type="source">https://plasma-mobile.org/img/plasmaphone.png</image>
|
||||
</screenshot>
|
||||
</screenshots>
|
||||
<compulsory_for_desktop>KDE</compulsory_for_desktop>
|
||||
<releases>
|
||||
<release version="6.4.5" date="2025-09-09"/>
|
||||
</releases>
|
||||
</component>
|
||||
33
org.shift.mobile.metainfo.xml
Normal file
33
org.shift.mobile.metainfo.xml
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
- SPDX-FileCopyrightText: 2025 Marco Mattiolo <marco.mattiolo@hotmail.it>
|
||||
- SPDX-License-Identifier: CC0-1.0
|
||||
-->
|
||||
<component>
|
||||
<id>org.shift.mobile</id>
|
||||
<developer id="org.shift">
|
||||
<name translate="no">SHIFT Contributors</name>
|
||||
</developer>
|
||||
<metadata_license>CC0-1.0</metadata_license>
|
||||
<project_license>GPL-2.0-or-later</project_license>
|
||||
<name>SHIFT</name>
|
||||
<summary>Convergent shell for mobile, desktop, and hybrid devices</summary>
|
||||
<description>
|
||||
<p>
|
||||
SHIFT is an independent shell built on KDE Plasma Mobile. It includes convergence mode, a unified dock, window management controls, SHIFT visual defaults, and setup profiles for mobile, desktop, gaming, and hybrid devices.
|
||||
</p>
|
||||
<p>
|
||||
SHIFT is not affiliated with or endorsed by KDE or the KDE community.
|
||||
</p>
|
||||
</description>
|
||||
<url type="homepage">https://invent.kde.org/marcoa/shift-shell</url>
|
||||
<url type="bugtracker">https://invent.kde.org/marcoa/shift-shell/-/issues</url>
|
||||
<url type="vcs-browser">https://invent.kde.org/marcoa/shift-shell</url>
|
||||
<provides>
|
||||
<binary>startplasmamobile</binary>
|
||||
</provides>
|
||||
<compulsory_for_desktop>KDE</compulsory_for_desktop>
|
||||
<releases>
|
||||
<release version="6.6.80" date="2026-05-17"/>
|
||||
</releases>
|
||||
</component>
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
[Unit]
|
||||
Description=Open-source user interface for phones, based on Plasma technologies
|
||||
Documentation=https://invent.kde.org/plasma-mobile
|
||||
Description=SHIFT shell session for tty1
|
||||
Documentation=https://invent.kde.org/marcoa/shift-shell
|
||||
|
||||
# replaces the getty
|
||||
Conflicts=getty@tty1.service
|
||||
|
|
|
|||
|
|
@ -4,123 +4,18 @@
|
|||
"Authors": [
|
||||
{
|
||||
"Email": "devin@kde.org",
|
||||
"Name": "Devin Lin",
|
||||
"Name[ar]": "ديفين لين",
|
||||
"Name[az]": "Devin Lin",
|
||||
"Name[ca@valencia]": "Devin Lin",
|
||||
"Name[ca]": "Devin Lin",
|
||||
"Name[cs]": "Devin Lin",
|
||||
"Name[de]": "Devin Lin",
|
||||
"Name[en_GB]": "Devin Lin",
|
||||
"Name[eo]": "Devin Lin",
|
||||
"Name[es]": "Devin Lin",
|
||||
"Name[eu]": "Devin Lin",
|
||||
"Name[fi]": "Devin Lin",
|
||||
"Name[fr]": "Devin Lin",
|
||||
"Name[gl]": "Devin Lin",
|
||||
"Name[he]": "דווין לין",
|
||||
"Name[hu]": "Devin Lin",
|
||||
"Name[ia]": "Devin Lin",
|
||||
"Name[is]": "Devin Lin",
|
||||
"Name[it]": "Devin Lin",
|
||||
"Name[ka]": "Devin Lin",
|
||||
"Name[ko]": "Devin Lin",
|
||||
"Name[lv]": "Devin Lin",
|
||||
"Name[nl]": "Devin Lin",
|
||||
"Name[nn]": "Devin Lin",
|
||||
"Name[pa]": "ਡੇਵਿਨ ਲਿਨ",
|
||||
"Name[pl]": "Devin Lin",
|
||||
"Name[pt]": "Devin Lin",
|
||||
"Name[pt_BR]": "Devin Lin",
|
||||
"Name[ru]": "Devin Lin",
|
||||
"Name[sa]": "डेविन् लिन्",
|
||||
"Name[sk]": "Devin Lin",
|
||||
"Name[sl]": "Devin Lin",
|
||||
"Name[sv]": "Devin Lin",
|
||||
"Name[tr]": "Devin Lin",
|
||||
"Name[uk]": "Devin Lin",
|
||||
"Name[zh_CN]": "Devin Lin",
|
||||
"Name[zh_TW]": "Devin Lin"
|
||||
"Name": "Devin Lin"
|
||||
},
|
||||
{
|
||||
"Name": "SHIFT Contributors"
|
||||
}
|
||||
],
|
||||
"Category": "",
|
||||
"Description": "Plasma shell for mobile devices",
|
||||
"Description[ar]": "صدفة بلازما للأجهزة الجوالة",
|
||||
"Description[ca@valencia]": "Espai de treball Plasma per a dispositius mòbils",
|
||||
"Description[ca]": "Espai de treball Plasma per a dispositius mòbils",
|
||||
"Description[cs]": "Plasma shell pro mobilní zařízení",
|
||||
"Description[de]": "Plasma-Shell für Mobilgeräte",
|
||||
"Description[en_GB]": "Plasma shell for mobile devices",
|
||||
"Description[eo]": "Plasma ŝelo por porteblaj aparatoj",
|
||||
"Description[es]": "Intérprete de órdenes de Plasma para dispositivos móviles",
|
||||
"Description[eu]": "Plasma oskola gailu mugikorretarako",
|
||||
"Description[fi]": "Mobiililaitteiden Plasma-käyttöliittymä",
|
||||
"Description[fr]": "Plasmashell pour périphériques mobiles",
|
||||
"Description[gl]": "Intérprete de ordes de Plasma para dispositivos móbiles.",
|
||||
"Description[he]": "מעטפת פלזמה למכשירים ניידים",
|
||||
"Description[hu]": "Plasma felület mobileszközökhöz",
|
||||
"Description[ia]": "Shell de Plasma per dispositivos mobile",
|
||||
"Description[is]": "Plasma-skel fyrir síma",
|
||||
"Description[it]": "Shell di Plasma per dispositivi mobili",
|
||||
"Description[ka]": "Plasma გარსი ტელეფონისთვიის პარამეტრი Plasma Mobile-სთვის",
|
||||
"Description[ko]": "모바일 장치용 Plasma 셸",
|
||||
"Description[lv]": "„Plasma“ čaula mobilajām ierīcēm",
|
||||
"Description[nl]": "Plasma-shell voor telefoons voor Plasma Mobile",
|
||||
"Description[nn]": "Plasma-skal for telefonar og nettbrett",
|
||||
"Description[pa]": "ਮੋਬਾਈਲ ਡਿਵਾਈਸ ਲਈ ਪਲਾਜ਼ਮਾ ਸ਼ੈਲ",
|
||||
"Description[pl]": "Powłoka Plazmy dla urządzeń przenośnych",
|
||||
"Description[pt]": "Consola do Plasma para telemóveis",
|
||||
"Description[pt_BR]": "Plasma Shell para dispositivos móveis",
|
||||
"Description[ru]": "Оболочка Plasma для смартфонов для Plasma Mobile",
|
||||
"Description[sa]": "चलयन्त्राणां कृते प्लाज्मा-शैलम्",
|
||||
"Description[sk]": "Plasma shell pre mobilné zariadenia",
|
||||
"Description[sl]": "Plasma shell za mobilne naprave",
|
||||
"Description[sv]": "Plasma skal för mobilapparater",
|
||||
"Description[tr]": "Taşınabilir aygıtlar için Plasma kabuğu",
|
||||
"Description[uk]": "Оболонка Плазми для мобільних пристроїв",
|
||||
"Description[zh_CN]": "针对手机设备设计的 Plasma 外壳程序",
|
||||
"Description[zh_TW]": "適用於行動裝置的 Plasma 殼層",
|
||||
"Description": "SHIFT shell for mobile and convergent devices",
|
||||
"Id": "org.kde.plasma.mobileshell",
|
||||
"License": "GPLv2+",
|
||||
"Name": "Plasma Mobile",
|
||||
"Name[ar]": "بلازما الجوال",
|
||||
"Name[ast]": "Plasma Mobile",
|
||||
"Name[ca@valencia]": "Plasma Mobile",
|
||||
"Name[ca]": "Plasma Mobile",
|
||||
"Name[cs]": "Plasma Mobile",
|
||||
"Name[de]": "Plasma Mobile",
|
||||
"Name[en_GB]": "Plasma Mobile",
|
||||
"Name[eo]": "Plasma Poŝtelefono",
|
||||
"Name[es]": "Plasma Mobile",
|
||||
"Name[eu]": "Plasma Mugikorra",
|
||||
"Name[fi]": "Plasma Mobile",
|
||||
"Name[fr]": "Plasma Mobile",
|
||||
"Name[gl]": "Plasma Mobile",
|
||||
"Name[he]": "פלזמה לניידים",
|
||||
"Name[hu]": "Plasma Mobile",
|
||||
"Name[ia]": "Plasma Mobile",
|
||||
"Name[is]": "Plasma Mobile",
|
||||
"Name[it]": "Plasma Mobile",
|
||||
"Name[ka]": "Plasma Mobile",
|
||||
"Name[ko]": "Plasma 모바일",
|
||||
"Name[lv]": "„Plasma Mobile“",
|
||||
"Name[nl]": "Plasma Mobile",
|
||||
"Name[nn]": "Plasma Mobile",
|
||||
"Name[pa]": "ਪਲਾਜ਼ਮਾ ਮੋਬਾਈਲ",
|
||||
"Name[pl]": "Przenośna Plazma",
|
||||
"Name[pt]": "Plasma Mobile",
|
||||
"Name[pt_BR]": "Plasma Mobile",
|
||||
"Name[ru]": "Plasma Mobile",
|
||||
"Name[sa]": "प्लाज्मा मोबाईल",
|
||||
"Name[sk]": "Plasma Mobile",
|
||||
"Name[sl]": "Plasma Mobile",
|
||||
"Name[sv]": "Plasma mobil",
|
||||
"Name[ta]": "பிளாஸ்மா கைபேசி",
|
||||
"Name[tr]": "Plasma Cep",
|
||||
"Name[uk]": "Мобільна Плазма",
|
||||
"Name[zh_CN]": "Plasma Mobile",
|
||||
"Name[zh_TW]": "Plasma 行動",
|
||||
"Website": "https://plasma-mobile.org"
|
||||
"Name": "SHIFT",
|
||||
"Website": "https://invent.kde.org/marcoa/shift-shell"
|
||||
},
|
||||
"X-Plasma-APIVersion": "2",
|
||||
"X-Plasma-FallbackPackage": "org.kde.plasma.nano"
|
||||
|
|
|
|||
|
|
@ -14,4 +14,9 @@ if(BASH_EXECUTABLE)
|
|||
NAME shift-icon-theme-coverage
|
||||
COMMAND ${BASH_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/check-shift-icon-theme.sh
|
||||
)
|
||||
|
||||
add_test(
|
||||
NAME shift-product-metadata
|
||||
COMMAND ${BASH_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/check-shift-product-metadata.sh
|
||||
)
|
||||
endif()
|
||||
|
|
|
|||
94
tests/check-shift-product-metadata.sh
Normal file
94
tests/check-shift-product-metadata.sh
Normal file
|
|
@ -0,0 +1,94 @@
|
|||
#!/usr/bin/env bash
|
||||
# SPDX-FileCopyrightText: 2026 Marco Allegretti <mightymarco4@gmail.com>
|
||||
# SPDX-License-Identifier: EUPL-1.2
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
repo_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
cd "$repo_dir"
|
||||
|
||||
fail() {
|
||||
printf '%s\n' "$1" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
require_line() {
|
||||
local file="$1"
|
||||
local pattern="$2"
|
||||
local message="$3"
|
||||
|
||||
grep -Eq "$pattern" "$file" || fail "$message"
|
||||
}
|
||||
|
||||
reject_line() {
|
||||
local file="$1"
|
||||
local pattern="$2"
|
||||
local message="$3"
|
||||
|
||||
! grep -Eq "$pattern" "$file" || fail "$message"
|
||||
}
|
||||
|
||||
for session_file in bin/plasma-mobile.desktop.cmake bin/plasma-mobile-dev.desktop.cmake; do
|
||||
reject_line "$session_file" '^(Name|Comment)(\[[^]]+\])?=.*Plasma Mobile' \
|
||||
"$session_file must not expose Plasma Mobile branding in session chooser labels"
|
||||
reject_line "$session_file" '^Comment(\[[^]]+\])?=.*by KDE' \
|
||||
"$session_file must not present Shift as a KDE-branded session"
|
||||
done
|
||||
|
||||
require_line bin/plasma-mobile.desktop.cmake '^Name=SHIFT$' \
|
||||
"main session must be branded SHIFT"
|
||||
require_line bin/plasma-mobile-dev.desktop.cmake '^Name=SHIFT \(Development\)$' \
|
||||
"development session must be branded SHIFT"
|
||||
|
||||
[[ -f org.shift.mobile.metainfo.xml ]] || fail "missing Shift AppStream metadata"
|
||||
[[ ! -e org.kde.plasma.mobileshell.metainfo.xml ]] || fail "upstream AppStream metadata file must not be installed from the repo root"
|
||||
|
||||
require_line CMakeLists.txt '^install\(FILES org\.shift\.mobile\.metainfo\.xml DESTINATION \$\{KDE_INSTALL_METAINFODIR\}\)$' \
|
||||
"CMake must install Shift AppStream metadata"
|
||||
require_line CMakeLists.txt 'file\(REMOVE .*org\.kde\.plasma\.mobileshell\.metainfo\.xml' \
|
||||
"CMake must remove stale upstream Plasma Mobile AppStream metadata from existing prefixes"
|
||||
reject_line CMakeLists.txt 'install\(FILES org\.kde\.plasma\.mobileshell\.metainfo\.xml' \
|
||||
"CMake must not install upstream Plasma Mobile AppStream metadata"
|
||||
|
||||
require_line org.shift.mobile.metainfo.xml '<id>org\.shift\.mobile</id>' \
|
||||
"AppStream id must be Shift-owned"
|
||||
require_line org.shift.mobile.metainfo.xml '<name>SHIFT</name>' \
|
||||
"AppStream name must be SHIFT"
|
||||
require_line org.shift.mobile.metainfo.xml 'https://invent\.kde\.org/marcoa/shift-shell' \
|
||||
"AppStream metadata must point at the Shift repository"
|
||||
require_line org.shift.mobile.metainfo.xml '<binary>startplasmamobile</binary>' \
|
||||
"AppStream metadata must provide the installed startplasmamobile binary"
|
||||
reject_line org.shift.mobile.metainfo.xml 'plasma-mobile\.org|bugs\.kde\.org|invent\.kde\.org/plasma/plasma-mobile|<project_group>KDE</project_group>' \
|
||||
"AppStream metadata must not point at upstream Plasma Mobile project resources"
|
||||
reject_line org.shift.mobile.metainfo.xml '<binary>plasma\.mobileshell</binary>' \
|
||||
"AppStream metadata must not provide an unverifiable plasma.mobileshell binary"
|
||||
|
||||
require_line shell/metadata.json '"Id": "org\.kde\.plasma\.mobileshell"' \
|
||||
"runtime shell package id must stay stable until a namespace migration is planned"
|
||||
require_line shell/metadata.json '"Name": "SHIFT"' \
|
||||
"shell metadata visible name must be SHIFT"
|
||||
reject_line shell/metadata.json '"Name\[[^]]+\]":|"Description\[[^]]+\]":|plasma-mobile\.org' \
|
||||
"shell metadata must not retain translated upstream Plasma Mobile labels"
|
||||
|
||||
require_line plasma-mobile.service '^Description=SHIFT shell session for tty1$' \
|
||||
"systemd service description must be branded SHIFT"
|
||||
require_line plasma-mobile.service '^Documentation=https://invent\.kde\.org/marcoa/shift-shell$' \
|
||||
"systemd service documentation must point at the Shift repository"
|
||||
reject_line plasma-mobile.service '^Documentation=https://invent\.kde\.org/plasma-mobile$' \
|
||||
"systemd service documentation must not point at the upstream Plasma Mobile repository"
|
||||
|
||||
require_line initialstart/main.cpp 'QStringLiteral\("SHIFT Initial Setup"\)' \
|
||||
"initial setup KAbout display name must be branded SHIFT"
|
||||
require_line initialstart/main.cpp 'setBugAddress\("https://invent\.kde\.org/marcoa/shift-shell/-/issues"\)' \
|
||||
"initial setup KAbout bug address must point at the Shift issue tracker"
|
||||
reject_line initialstart/main.cpp 'QStringLiteral\("Initial Start"\)|© 2026 KDE Community' \
|
||||
"initial setup KAbout metadata must not retain the upstream-only display name or copyright string"
|
||||
|
||||
require_line initialstart/qml/LandingComponent.qml "wallpapers/SHIFT/contents/images/" \
|
||||
"initial setup landing page must use the Shift wallpaper"
|
||||
require_line initialstart/modules/prepare/prepareutil.cpp 'QStringLiteral\("ShiftDark"\)' \
|
||||
"initial setup dark theme toggle must apply ShiftDark"
|
||||
require_line initialstart/modules/prepare/prepareutil.cpp 'QStringLiteral\("ShiftLight"\)' \
|
||||
"initial setup dark theme toggle must apply ShiftLight"
|
||||
|
||||
printf 'shift-product-metadata-ok\n'
|
||||
Loading…
Reference in a new issue