mirror of
https://invent.kde.org/marcoa/shift-shell.git
synced 2026-06-11 00:47:22 +00:00
Brand containment metadata as SHIFT
Point homescreen and panel containment metadata at the Shift repository. Update the panel and task-panel descriptions from Plasma Mobile to SHIFT, and remove translated descriptions that would override the corrected base metadata. Add a containment metadata guard while preserving the existing org.kde.plasma.mobile.* applet target IDs.
This commit is contained in:
parent
d0967c100f
commit
82316c393e
7 changed files with 75 additions and 79 deletions
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
# Folio Homescreen
|
# Folio Homescreen
|
||||||
|
|
||||||
This is the paged homescreen for Plasma Mobile.
|
This is the paged homescreen for SHIFT.
|
||||||
|
|
||||||
### How it works
|
### How it works
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -118,7 +118,7 @@
|
||||||
"Name[uk]": "Фоліо",
|
"Name[uk]": "Фоліо",
|
||||||
"Name[zh_CN]": "Folio",
|
"Name[zh_CN]": "Folio",
|
||||||
"Name[zh_TW]": "Folio",
|
"Name[zh_TW]": "Folio",
|
||||||
"Website": "https://plasma-mobile.org"
|
"Website": "https://invent.kde.org/marcoa/shift-shell"
|
||||||
},
|
},
|
||||||
"X-Plasma-API-Minimum-Version": "6.0",
|
"X-Plasma-API-Minimum-Version": "6.0",
|
||||||
"X-Plasma-ContainmentType": "Desktop",
|
"X-Plasma-ContainmentType": "Desktop",
|
||||||
|
|
|
||||||
|
|
@ -119,7 +119,7 @@
|
||||||
"Name[uk]": "Альціон",
|
"Name[uk]": "Альціон",
|
||||||
"Name[zh_CN]": "Halcyon",
|
"Name[zh_CN]": "Halcyon",
|
||||||
"Name[zh_TW]": "Halcyon",
|
"Name[zh_TW]": "Halcyon",
|
||||||
"Website": "https://plasma-mobile.org"
|
"Website": "https://invent.kde.org/marcoa/shift-shell"
|
||||||
},
|
},
|
||||||
"X-Plasma-API-Minimum-Version": "6.0",
|
"X-Plasma-API-Minimum-Version": "6.0",
|
||||||
"X-Plasma-ContainmentType": "Desktop",
|
"X-Plasma-ContainmentType": "Desktop",
|
||||||
|
|
|
||||||
|
|
@ -44,43 +44,7 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"Category": "Containments",
|
"Category": "Containments",
|
||||||
"Description": "Top panel for Plasma Mobile",
|
"Description": "Top panel for SHIFT",
|
||||||
"Description[ar]": "اللوحة العلوية لبلازما الجوال",
|
|
||||||
"Description[ca@valencia]": "Quadro superior per a Plasma Mobile",
|
|
||||||
"Description[ca]": "Plafó superior per al Plasma Mobile",
|
|
||||||
"Description[cs]": "Horní panel pro Plasma Mobile",
|
|
||||||
"Description[de]": "Obere Kontrollleiste für Plasma Mobile",
|
|
||||||
"Description[en_GB]": "Top panel for Plasma Mobile",
|
|
||||||
"Description[eo]": "Supra panelo por Plasma Mobile",
|
|
||||||
"Description[es]": "Panel superior para Plasma Mobile",
|
|
||||||
"Description[eu]": "Plasma Mugikorrerako goiko panela",
|
|
||||||
"Description[fi]": "Yläpaneeli Plasma Mobileen",
|
|
||||||
"Description[fr]": "Panneau supérieur pour Plasma Mobile",
|
|
||||||
"Description[gl]": "Panel superior para Plasma Mobile.",
|
|
||||||
"Description[he]": "לוח עליון לפלזמה לניידים",
|
|
||||||
"Description[hu]": "Felső panel a Plasma Mobile-hoz",
|
|
||||||
"Description[ia]": "Pannello in alto per Plasma Mobile",
|
|
||||||
"Description[is]": "Toppspjald fyrir Plasma Mobile",
|
|
||||||
"Description[it]": "Pannello superiore per Plasma Mobile",
|
|
||||||
"Description[ka]": "Plasma Mobile-ის ზედა პანელი",
|
|
||||||
"Description[ko]": "Plasma 모바일의 최상위 패널",
|
|
||||||
"Description[lv]": "„Plasma Mobile“ augšējais panelis",
|
|
||||||
"Description[nl]": "Hoofdpaneel voor Plasma Mobile",
|
|
||||||
"Description[nn]": "Toppanel for Plasma Mobile",
|
|
||||||
"Description[pa]": "ਪਲਾਜ਼ਮਾ ਮੋਬਾਈਲ ਲਈ ਸਿਖਰਲਾ ਪੈਨਲ",
|
|
||||||
"Description[pl]": "Górny panel dla Przenośnej Plazmy",
|
|
||||||
"Description[pt]": "Painel de topo do Plasma Mobile",
|
|
||||||
"Description[pt_BR]": "Painel superior do Plasma Mobile",
|
|
||||||
"Description[ru]": "Верхняя панель Plasma Mobile",
|
|
||||||
"Description[sa]": "प्लाज्मा मोबाईलस्य कृते शीर्षपटलम्",
|
|
||||||
"Description[sk]": "Horný panel pre Plasma Mobile",
|
|
||||||
"Description[sl]": "Vrhnja plošča za Plasma Mobile",
|
|
||||||
"Description[sv]": "Överpanel för Plasma mobil",
|
|
||||||
"Description[ta]": "பிளாஸ்மா கைபேசிக்கான மேலோரப் பலகை",
|
|
||||||
"Description[tr]": "Plasma Cep için üst panel",
|
|
||||||
"Description[uk]": "Верхня панель для мобільної Плазми",
|
|
||||||
"Description[zh_CN]": "Plasma Mobile 的顶部面板",
|
|
||||||
"Description[zh_TW]": "Plasma 行動的頂部面板",
|
|
||||||
"License": "GPLv2+",
|
"License": "GPLv2+",
|
||||||
"Name": "Phone Panel",
|
"Name": "Phone Panel",
|
||||||
"Name[ar]": "لوحة الهاتف",
|
"Name[ar]": "لوحة الهاتف",
|
||||||
|
|
@ -126,7 +90,7 @@
|
||||||
"Name[uk]": "Панель телефону",
|
"Name[uk]": "Панель телефону",
|
||||||
"Name[zh_CN]": "手机面板",
|
"Name[zh_CN]": "手机面板",
|
||||||
"Name[zh_TW]": "手機面板",
|
"Name[zh_TW]": "手機面板",
|
||||||
"Website": "https://plasma-mobile.org"
|
"Website": "https://invent.kde.org/marcoa/shift-shell"
|
||||||
},
|
},
|
||||||
"X-Plasma-API-Minimum-Version": "6.0",
|
"X-Plasma-API-Minimum-Version": "6.0",
|
||||||
"X-Plasma-ContainmentType": "Panel"
|
"X-Plasma-ContainmentType": "Panel"
|
||||||
|
|
|
||||||
|
|
@ -44,43 +44,7 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"Category": "Containments",
|
"Category": "Containments",
|
||||||
"Description": "Navigation panel for Plasma Mobile",
|
"Description": "Navigation panel for SHIFT",
|
||||||
"Description[ar]": "لوحة التنقل لبلازما الجوال",
|
|
||||||
"Description[ca@valencia]": "Quadro de navegació per a Plasma Mobile",
|
|
||||||
"Description[ca]": "Plafó de navegació per al Plasma Mobile",
|
|
||||||
"Description[cs]": "Navigační panel pro Plasma Mobile",
|
|
||||||
"Description[de]": "Navigationsleiste für Plasma Mobile",
|
|
||||||
"Description[en_GB]": "Navigation panel for Plasma Mobile",
|
|
||||||
"Description[eo]": "Navigada panelo por Plasma Mobile",
|
|
||||||
"Description[es]": "Panel de navegación para Plasma Mobile",
|
|
||||||
"Description[eu]": "Plasma Mugikorrerako nabigazio-panela",
|
|
||||||
"Description[fi]": "Navigointipaneeli Plasma Mobilelle",
|
|
||||||
"Description[fr]": "Panneau de navigation pour Plasma Mobile",
|
|
||||||
"Description[gl]": "Panel de navegación para Plasma Mobile.",
|
|
||||||
"Description[he]": "לוח ניווט לפלזמה לניידים",
|
|
||||||
"Description[hu]": "Navigációs panel a Plasma Mobile-hoz",
|
|
||||||
"Description[ia]": "Pannello de Navigation per Plasma Mobile",
|
|
||||||
"Description[is]": "Flakkspjald fyrir Plasma Mobile",
|
|
||||||
"Description[it]": "Pannello di navigazione per Plasma Mobile",
|
|
||||||
"Description[ka]": "Plasma Mobile-ის ნავიგაციის პანელი",
|
|
||||||
"Description[ko]": "Plasma 모바일의 탐색 패널",
|
|
||||||
"Description[lv]": "„Plasma Mobile“ navigācijas panelis",
|
|
||||||
"Description[nl]": "Navigatiepaneel voor Plasma Mobile",
|
|
||||||
"Description[nn]": "Navigasjonspanel for Plasma Mobile",
|
|
||||||
"Description[pa]": "ਪਲਾਜ਼ਮਾ ਮੋਬਾਈਲ ਲਈ ਨੇਵੀਗੇਸ਼ਨ ਪੈਨਲ",
|
|
||||||
"Description[pl]": "Pasek poruszania się dla Przenośnej Plazmy",
|
|
||||||
"Description[pt]": "Painel de navegação do Plasma Mobile",
|
|
||||||
"Description[pt_BR]": "Painel de navegação do Plasma Mobile",
|
|
||||||
"Description[ru]": "Панель навигации Plasma Mobile",
|
|
||||||
"Description[sa]": "प्लाज्मा मोबाईलस्य कृते नेविगेशन पैनल",
|
|
||||||
"Description[sk]": "Navigačný panel pre Plasma Mobile",
|
|
||||||
"Description[sl]": "Krmilna plošča za Plasma Mobile",
|
|
||||||
"Description[sv]": "Navigeringspanel för Plasma mobil",
|
|
||||||
"Description[ta]": "பிளாஸ்மா கைபேசிக்கான உலாவல் பலகை",
|
|
||||||
"Description[tr]": "Plasma Cep için dolaşım paneli",
|
|
||||||
"Description[uk]": "Панель навігації для мобільної Плазми",
|
|
||||||
"Description[zh_CN]": "Plasma 移动版导航面板",
|
|
||||||
"Description[zh_TW]": "Plasma 行動的導覽面板",
|
|
||||||
"License": "GPLv2+",
|
"License": "GPLv2+",
|
||||||
"Name": "Phone Task panel",
|
"Name": "Phone Task panel",
|
||||||
"Name[ar]": "لوحة مهمة الهاتف",
|
"Name[ar]": "لوحة مهمة الهاتف",
|
||||||
|
|
@ -126,7 +90,7 @@
|
||||||
"Name[uk]": "Панель завдань телефону",
|
"Name[uk]": "Панель завдань телефону",
|
||||||
"Name[zh_CN]": "手机任务面板",
|
"Name[zh_CN]": "手机任务面板",
|
||||||
"Name[zh_TW]": "手機工作面板",
|
"Name[zh_TW]": "手機工作面板",
|
||||||
"Website": "https://plasma-mobile.org"
|
"Website": "https://invent.kde.org/marcoa/shift-shell"
|
||||||
},
|
},
|
||||||
"X-Plasma-API-Minimum-Version": "6.0",
|
"X-Plasma-API-Minimum-Version": "6.0",
|
||||||
"X-Plasma-ContainmentType": "Panel"
|
"X-Plasma-ContainmentType": "Panel"
|
||||||
|
|
|
||||||
|
|
@ -29,4 +29,9 @@ if(BASH_EXECUTABLE)
|
||||||
NAME shift-quicksettings-metadata
|
NAME shift-quicksettings-metadata
|
||||||
COMMAND ${BASH_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/check-shift-quicksettings-metadata.sh
|
COMMAND ${BASH_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/check-shift-quicksettings-metadata.sh
|
||||||
)
|
)
|
||||||
|
|
||||||
|
add_test(
|
||||||
|
NAME shift-containment-metadata
|
||||||
|
COMMAND ${BASH_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/check-shift-containment-metadata.sh
|
||||||
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
|
||||||
63
tests/check-shift-containment-metadata.sh
Normal file
63
tests/check-shift-containment-metadata.sh
Normal file
|
|
@ -0,0 +1,63 @@
|
||||||
|
#!/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"
|
||||||
|
}
|
||||||
|
|
||||||
|
mapfile -t metadata_files < <(find containments -name metadata.json | sort)
|
||||||
|
[[ "${#metadata_files[@]}" -eq 4 ]] || fail "unexpected containment metadata file count"
|
||||||
|
|
||||||
|
for metadata_file in "${metadata_files[@]}"; do
|
||||||
|
require_line "$metadata_file" '"Website": "https://invent\.kde\.org/marcoa/shift-shell"' \
|
||||||
|
"$metadata_file must point at the Shift repository"
|
||||||
|
reject_line "$metadata_file" 'Plasma Mobile|plasma-mobile\.org|bugs\.kde\.org|"Website": "https://kde\.org"' \
|
||||||
|
"$metadata_file must not expose upstream Plasma Mobile product metadata"
|
||||||
|
done
|
||||||
|
|
||||||
|
require_line containments/panel/metadata.json '"Description": "Top panel for SHIFT"' \
|
||||||
|
"panel containment description must be branded SHIFT"
|
||||||
|
require_line containments/taskpanel/metadata.json '"Description": "Navigation panel for SHIFT"' \
|
||||||
|
"task panel containment description must be branded SHIFT"
|
||||||
|
|
||||||
|
reject_line containments/panel/metadata.json '"Description\[[^]]+\]"' \
|
||||||
|
"panel containment must not keep translated descriptions that can override the base description"
|
||||||
|
reject_line containments/taskpanel/metadata.json '"Description\[[^]]+\]"' \
|
||||||
|
"task panel containment must not keep translated descriptions that can override the base description"
|
||||||
|
|
||||||
|
require_line containments/panel/CMakeLists.txt 'plasma_add_applet\(org\.kde\.plasma\.mobile\.panel' \
|
||||||
|
"panel containment package id must stay stable until a namespace migration is planned"
|
||||||
|
require_line containments/taskpanel/CMakeLists.txt 'plasma_add_applet\(org\.kde\.plasma\.mobile\.taskpanel' \
|
||||||
|
"task panel containment package id must stay stable until a namespace migration is planned"
|
||||||
|
require_line containments/homescreens/folio/CMakeLists.txt 'plasma_add_applet\(org\.kde\.plasma\.mobile\.homescreen\.folio' \
|
||||||
|
"Folio containment package id must stay stable until a namespace migration is planned"
|
||||||
|
require_line containments/homescreens/halcyon/CMakeLists.txt 'plasma_add_applet\(org\.kde\.plasma\.mobile\.homescreen\.halcyon' \
|
||||||
|
"Halcyon containment package id must stay stable until a namespace migration is planned"
|
||||||
|
|
||||||
|
reject_line containments/homescreens/folio/README.md 'Plasma Mobile' \
|
||||||
|
"Folio README must not describe the homescreen as Plasma Mobile"
|
||||||
|
|
||||||
|
printf 'shift-containment-metadata-ok\n'
|
||||||
Loading…
Reference in a new issue