diff --git a/CMakeLists.txt b/CMakeLists.txt index 766bcbe7f..0064d1117 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,197 +1,197 @@ cmake_minimum_required(VERSION 3.0) project(plasma-desktop) set(PROJECT_VERSION "5.19.80") set(PROJECT_VERSION_MAJOR 5) set(QT_MIN_VERSION "5.12.0") -set(KF5_MIN_VERSION "5.71.0") +set(KF5_MIN_VERSION "5.72.0") find_package(ECM ${KF5_MIN_VERSION} REQUIRED NO_MODULE) set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules) include(KDEInstallDirs) include(KDECMakeSettings) include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE) include(ECMInstallIcons) include(ECMMarkAsTest) include(ECMMarkNonGuiExecutable) include(ECMOptionalAddSubdirectory) include(ECMQtDeclareLoggingCategory) include(FeatureSummary) include(CheckIncludeFiles) include(KDEClangFormat) find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Quick QuickWidgets DBus Widgets X11Extras Svg Concurrent ) find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS Auth Plasma PlasmaQuick DocTools I18n KCMUtils NewStuff NewStuffQuick KDELibs4Support Notifications NotifyConfig Attica Wallet Runner GlobalAccel Declarative DBusAddons Activities ActivitiesStats Config WidgetsAddons ) find_package(KF5Kirigami2 ${KF5_MIN_VERSION} CONFIG) set_package_properties(KF5Kirigami2 PROPERTIES DESCRIPTION "A QtQuick based components set" PURPOSE "Required at runtime by many KCMs" TYPE RUNTIME ) find_package(KF5QQC2DesktopStyle ${KF5_MIN_VERSION} CONFIG) set_package_properties(KF5QQC2DesktopStyle PROPERTIES DESCRIPTION "QtQuickControls 2 style that uses QWidget's QStyle for painting" PURPOSE "Required at runtime by many KCMs" TYPE RUNTIME ) find_package(LibKWorkspace ${PROJECT_VERSION} CONFIG REQUIRED) find_package(LibNotificationManager ${PROJECT_VERSION} CONFIG REQUIRED) find_package(LibTaskManager ${PROJECT_VERSION} CONFIG REQUIRED) find_package(LibColorCorrect ${PROJECT_VERSION} CONFIG REQUIRED) find_package(KWinDBusInterface CONFIG REQUIRED) find_package(ScreenSaverDBusInterface CONFIG REQUIRED) find_package(KRunnerAppDBusInterface CONFIG REQUIRED) find_package(KSMServerDBusInterface CONFIG REQUIRED) find_package(KF5ItemModels CONFIG REQUIRED) find_package(KF5Emoticons CONFIG REQUIRED) find_package(KSysGuard CONFIG REQUIRED) find_package(KDED CONFIG REQUIRED) find_package(KF5Baloo ${KF5_MIN_VERSION}) set_package_properties(KF5Baloo PROPERTIES DESCRIPTION "File Searching" TYPE RECOMMENDED PURPOSE "Needed to build the File Search KCM" ) find_package(Fontconfig) set_package_properties(Fontconfig PROPERTIES DESCRIPTION "Font access configuration library" URL "https://www.freedesktop.org/wiki/Software/fontconfig" TYPE OPTIONAL PURPOSE "Needed to build font configuration and installation tools" ) find_package(X11) set_package_properties(X11 PROPERTIES DESCRIPTION "X11 libraries" URL "https://www.x.org" TYPE REQUIRED PURPOSE "Required for building the X11 based workspace" ) if(X11_FOUND) set(HAVE_X11 1) endif() find_package(UDev) set_package_properties(UDev PROPERTIES DESCRIPTION "UDev library" URL "https://www.freedesktop.org/wiki/Software/systemd/" TYPE OPTIONAL PURPOSE "Required for device discovery in keyboard daemon" ) find_package(XCB REQUIRED COMPONENTS XCB SHM IMAGE OPTIONAL_COMPONENTS XKB XINPUT ) set_package_properties(XCB PROPERTIES TYPE REQUIRED) add_feature_info("XCB-XKB" XCB_XKB_FOUND "Required for building kcm/keyboard") add_feature_info("libxft" X11_Xft_FOUND "X FreeType interface library required for font installation") find_package(Evdev) set_package_properties(Evdev PROPERTIES TYPE OPTIONAL) add_feature_info("Evdev" EVDEV_FOUND "Evdev driver headers needed for mouse KCM") find_package(Synaptics) set_package_properties(Synaptics PROPERTIES TYPE OPTIONAL) add_feature_info("Synaptics" SYNAPTICS_FOUND "Synaptics libraries needed for touchpad KCM") find_package(XorgServer) set_package_properties(XorgServer PROPERTIES TYPE OPTIONAL) add_feature_info("XorgServer" XORGSERVER_FOUND "XServer header needed for touchpad KCM (X11 backend)") find_package(XorgLibinput) set_package_properties(XorgLibinput PROPERTIES TYPE OPTIONAL) add_feature_info("XorgLibinput" XORGLIBINPUT_FOUND "Libinput driver headers needed for mouse and touchpad KCM") if(XORGLIBINPUT_FOUND) set(HAVE_XORGLIBINPUT 1) endif() include(ConfigureChecks.cmake) find_package(Breeze ${PROJECT_VERSION} CONFIG) set_package_properties(Breeze PROPERTIES TYPE OPTIONAL PURPOSE "For setting the default window decoration plugin") if(${Breeze_FOUND}) if(${BREEZE_WITH_KDECORATION}) set(HAVE_BREEZE_DECO true) else() set(HAVE_BREEZE_DECO FALSE) endif() else() set(HAVE_BREEZE_DECO FALSE) endif() include_directories("${CMAKE_CURRENT_BINARY_DIR}") configure_file(config-workspace.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-workspace.h) configure_file(config-unix.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-unix.h ) configure_file(config-X11.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-X11.h) configure_file(config-runtime.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-runtime.h) plasma_install_package(desktoppackage org.kde.plasma.desktop shells shell) add_definitions(-DQT_NO_URL_CAST_FROM_STRING) add_subdirectory(layout-templates) add_subdirectory(doc) add_subdirectory(runners) add_subdirectory(containments) add_subdirectory(toolboxes) add_subdirectory(applets) add_subdirectory(dataengines) add_subdirectory(kcms) add_subdirectory(knetattach) add_subdirectory(attica-kde) add_subdirectory(imports/activitymanager/) add_subdirectory(solid-device-automounter) if(X11_Xkb_FOUND AND XCB_XKB_FOUND) add_subdirectory(kaccess) endif() install(FILES org.kde.plasmashell.metainfo.xml DESTINATION ${KDE_INSTALL_METAINFODIR}) # add clang-format target for all our real source files file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h) kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES}) feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES) diff --git a/runners/kwin/CMakeLists.txt b/runners/kwin/CMakeLists.txt index fd681ce27..b4cd18dea 100644 --- a/runners/kwin/CMakeLists.txt +++ b/runners/kwin/CMakeLists.txt @@ -1,15 +1,15 @@ add_definitions(-DTRANSLATION_DOMAIN="plasma_runner_kwin") set(krunner_kwin_SRCS kwin-runner.cpp ) add_library(krunner_kwin MODULE ${krunner_kwin_SRCS}) +kcoreaddons_desktop_to_json(krunner_kwin plasma-runner-kwin.desktop) target_link_libraries(krunner_kwin Qt5::DBus KF5::KIOCore KF5::I18n KF5::Runner) -install(TARGETS krunner_kwin DESTINATION ${KDE_INSTALL_PLUGINDIR}) -install(FILES plasma-runner-kwin.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR}) +install(TARGETS krunner_kwin DESTINATION "${KDE_INSTALL_PLUGINDIR}/kf5/krunner") diff --git a/runners/kwin/kwin-runner.cpp b/runners/kwin/kwin-runner.cpp index b46887363..b3b36f0c8 100644 --- a/runners/kwin/kwin-runner.cpp +++ b/runners/kwin/kwin-runner.cpp @@ -1,97 +1,97 @@ /* * Copyright (C) 2009 Aaron Seigo * Copyright (C) 2016 Martin Gräßlin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Library General Public License version 2 as * published by the Free Software Foundation * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details * * You should have received a copy of the GNU Library General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "kwin-runner.h" #include #include #include #include -K_EXPORT_PLASMA_RUNNER(kwin, KWinRunner) +K_EXPORT_PLASMA_RUNNER_WITH_JSON(KWinRunner, "plasma-runner-kwin.json") static const QString s_kwinService = QStringLiteral("org.kde.KWin"); static const QString s_keyword = QStringLiteral("KWin"); KWinRunner::KWinRunner(QObject *parent, const QVariantList &args) : Plasma::AbstractRunner(parent, args), m_enabled(false) { setObjectName(s_keyword); setIgnoredTypes(Plasma::RunnerContext::FileSystem | Plasma::RunnerContext::NetworkLocation | Plasma::RunnerContext::Help); QDBusServiceWatcher *watcher = new QDBusServiceWatcher(s_kwinService, QDBusConnection::sessionBus(), QDBusServiceWatcher::WatchForOwnerChange, this); connect(watcher, &QDBusServiceWatcher::serviceOwnerChanged, this, &KWinRunner::checkAvailability); checkAvailability(QString(), QString(), QString()); } KWinRunner::~KWinRunner() { } void KWinRunner::match(Plasma::RunnerContext &context) { if (m_enabled && context.query().compare(s_keyword, Qt::CaseInsensitive) == 0) { Plasma::QueryMatch match(this); match.setId(QStringLiteral("kwin")); match.setType(Plasma::QueryMatch::ExactMatch); match.setIconName(QStringLiteral("kwin")); match.setText(i18n("Open KWin debug console")); match.setRelevance(1.0); context.addMatch(match); } } void KWinRunner::run(const Plasma::RunnerContext &context, const Plasma::QueryMatch &match) { Q_UNUSED(match) if (m_enabled && context.query().compare(s_keyword, Qt::CaseInsensitive) == 0) { QDBusMessage message = QDBusMessage::createMethodCall(s_kwinService, QStringLiteral("/KWin"), s_kwinService, QStringLiteral("showDebugConsole")); QDBusConnection::sessionBus().asyncCall(message); } } void KWinRunner::checkAvailability(const QString &name, const QString &oldOwner, const QString &newOwner) { Q_UNUSED(oldOwner) bool enabled = false; if (name.isEmpty()) { enabled = QDBusConnection::sessionBus().interface()->isServiceRegistered(s_kwinService).value(); } else { enabled = !newOwner.isEmpty(); } if (m_enabled != enabled) { m_enabled = enabled; if (m_enabled) { addSyntax(Plasma::RunnerSyntax(s_keyword, i18n("Opens the KWin (Plasma Window Manager) debug console."))); } else { setSyntaxes(QList()); } } } #include "kwin-runner.moc" diff --git a/runners/kwin/plasma-runner-kwin.desktop b/runners/kwin/plasma-runner-kwin.desktop index bd79d1fd3..cbe7a270d 100644 --- a/runners/kwin/plasma-runner-kwin.desktop +++ b/runners/kwin/plasma-runner-kwin.desktop @@ -1,94 +1,94 @@ [Desktop Entry] Name=KWin Name[ast]=KWin Name[ca]=KWin Name[ca@valencia]=KWin Name[cs]=KWin Name[da]=KWin Name[de]=KWin Name[el]=KWin Name[en_GB]=KWin Name[es]=KWin Name[et]=KWin Name[eu]=KWin Name[fi]=KWin Name[fr]=KWin Name[gl]=KWin Name[he]=מנהל חלונות KWin Name[hu]=KWin Name[ia]=KWin Name[id]=KWin Name[it]=KWin Name[ko]=KWin Name[lt]=KWin Name[nl]=KWin Name[nn]=KWin Name[pa]=KWin Name[pl]=KWin Name[pt]=KWin Name[pt_BR]=KWin Name[ru]=KWin Name[sk]=KWin Name[sl]=KWin Name[sr]=К‑вин Name[sr@ijekavian]=К‑вин Name[sr@ijekavianlatin]=KWin Name[sr@latin]=KWin Name[sv]=Kwin Name[tr]=KWin Name[uk]=KWin Name[x-test]=xxKWinxx Name[zh_CN]=KWin Name[zh_TW]=KWin Comment=Interact with the Plasma Compositor Comment[ast]=Interactúa col compositor de Plasma Comment[ca]=Interactua amb el compositor del Plasma Comment[ca@valencia]=Interactua amb el compositor del Plasma Comment[cs]=Interakce s kompozitorem pracovní plochy plasmy Comment[da]=Interaktion med Plasmas compositor Comment[de]=Interaktion mit dem Plasma-Compositor Comment[el]=Αλληλεπίδραση με τον συνθέτη Plasma Comment[en_GB]=Interact with the Plasma Compositor Comment[es]=Interactuar con el compositor de Plasma Comment[et]=Suhtlus Plasma komposiitoriga Comment[eu]=Plasma-Konposatzailearekin elkarreragin Comment[fi]=Ole vuorovaikutuksessa Plasma-koostimen kanssa Comment[fr]=Interagit avec le shell du bureau Plasma Comment[gl]=Interactúa co compositor de Plasma Comment[he]=אינטראקציה עם מעטפת שולחן העבודה של Plasma Comment[hu]=Interakció a Plasma kompozitorral Comment[ia]=Interage con le Compositor de Plasma Comment[id]=Interaksi dengan Plasma Compositor Comment[it]=Interagisce con il compositore di Plasma Comment[ko]=Plasma 컴포지터와 상호 작용 Comment[lt]=Sąveikauti su Plasma kompozitoriumi Comment[nl]=Interactie met de Plasma Compositor Comment[nn]=Bruk Plasma-samansetjaren Comment[pa]=ਪਲਾਜ਼ਮਾ ਡੈਸਕਟਾਪ ਸ਼ੈੱਲ ਨਾਲ ਤਾਲਮੇਲ Comment[pl]=Współdziałanie z kompozytorem Plazmy Comment[pt]=Interacção com o Compositor do Plasma Comment[pt_BR]=Interage com o Plasma Compositor Comment[ru]=Инструмент взаимодействия с диспетчером окон в Plasma Comment[sk]=Interakcia s kompozítorom Plasma Comment[sl]=Upravljajte z upravljalnikom skladnje Plasma Comment[sr]=Позабавите се Плазминим слагачем Comment[sr@ijekavian]=Позабавите се Плазминим слагачем Comment[sr@ijekavianlatin]=Pozabavite se Plasminim slagačem Comment[sr@latin]=Pozabavite se Plasminim slagačem Comment[sv]=Interaktion med Plasma sammansättning Comment[tr]=Plasma Dizgicisi ile Etileşim Comment[uk]=Взаємодія із засобом композиції Плазми Comment[x-test]=xxInteract with the Plasma Compositorxx Comment[zh_CN]=和 Plasma 混成器进行交互 Comment[zh_TW]=與 Plasma 合成器互動 X-KDE-ServiceTypes=Plasma/Runner Type=Service Icon=kwin -X-KDE-Library=krunner_kwin +X-KDE-Library=kf5/krunner/krunner_kwin X-Plasma-RunnerPhase=first X-KDE-PluginInfo-Author=Plasma Team X-KDE-PluginInfo-Email=plasma-devel@kde.org X-KDE-PluginInfo-Name=kwin X-KDE-PluginInfo-Version=1.0 X-KDE-PluginInfo-License=LGPLv2 X-KDE-PluginInfo-EnabledByDefault=true diff --git a/runners/plasma-desktop/CMakeLists.txt b/runners/plasma-desktop/CMakeLists.txt index a21950a44..e44ae7eb2 100644 --- a/runners/plasma-desktop/CMakeLists.txt +++ b/runners/plasma-desktop/CMakeLists.txt @@ -1,15 +1,15 @@ add_definitions(-DTRANSLATION_DOMAIN="plasma_runner_plasma-desktop") set(krunner_plasma-desktop_SRCS plasma-desktop-runner.cpp ) add_library(krunner_plasma-desktop MODULE ${krunner_plasma-desktop_SRCS}) +kcoreaddons_desktop_to_json(krunner_plasma-desktop plasma-runner-plasma-desktop.desktop) target_link_libraries(krunner_plasma-desktop Qt5::DBus KF5::KIOCore KF5::I18n KF5::Runner) -install(TARGETS krunner_plasma-desktop DESTINATION ${KDE_INSTALL_PLUGINDIR}) -install(FILES plasma-runner-plasma-desktop.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR}) +install(TARGETS krunner_plasma-desktop DESTINATION "${KDE_INSTALL_PLUGINDIR}/kf5/krunner") diff --git a/runners/plasma-desktop/plasma-desktop-runner.cpp b/runners/plasma-desktop/plasma-desktop-runner.cpp index fd2403d9a..921148221 100644 --- a/runners/plasma-desktop/plasma-desktop-runner.cpp +++ b/runners/plasma-desktop/plasma-desktop-runner.cpp @@ -1,145 +1,145 @@ /* * Copyright (C) 2009 Aaron Seigo * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Library General Public License version 2 as * published by the Free Software Foundation * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details * * You should have received a copy of the GNU Library General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "plasma-desktop-runner.h" #include #include #include #include #include -K_EXPORT_PLASMA_RUNNER(plasma-desktop, PlasmaDesktopRunner) +K_EXPORT_PLASMA_RUNNER_WITH_JSON(PlasmaDesktopRunner, "plasma-runner-plasma-desktop.json") static const QString s_plasmaService = QLatin1String("org.kde.plasmashell"); PlasmaDesktopRunner::PlasmaDesktopRunner(QObject *parent, const QVariantList &args) : Plasma::AbstractRunner(parent, args), m_desktopConsoleKeyword(i18nc("Note this is a KRunner keyword", "desktop console")), m_kwinConsoleKeyword(i18nc("Note this is a KRunner keyword", "wm console")), m_enabled(false) { setObjectName( QLatin1String("Plasma-Desktop" )); setIgnoredTypes(Plasma::RunnerContext::FileSystem | Plasma::RunnerContext::NetworkLocation | Plasma::RunnerContext::Help); QDBusServiceWatcher *watcher = new QDBusServiceWatcher(s_plasmaService, QDBusConnection::sessionBus(), QDBusServiceWatcher::WatchForOwnerChange, this); connect(watcher, &QDBusServiceWatcher::serviceOwnerChanged, this, &PlasmaDesktopRunner::checkAvailability); checkAvailability(QString(), QString(), QString()); } PlasmaDesktopRunner::~PlasmaDesktopRunner() { } void PlasmaDesktopRunner::match(Plasma::RunnerContext &context) { if (m_enabled && context.query().startsWith(m_desktopConsoleKeyword, Qt::CaseInsensitive)) { Plasma::QueryMatch match(this); match.setId(QStringLiteral("plasma-desktop-console")); match.setType(Plasma::QueryMatch::ExactMatch); match.setIconName(QStringLiteral("plasma")); match.setText(i18n("Open Plasma desktop interactive console")); match.setRelevance(1.0); context.addMatch(match); } if (m_enabled && context.query().startsWith(m_kwinConsoleKeyword, Qt::CaseInsensitive)) { Plasma::QueryMatch match(this); match.setId(QStringLiteral("plasma-desktop-console")); match.setType(Plasma::QueryMatch::ExactMatch); match.setIconName(QStringLiteral("kwin")); match.setText(i18n("Open KWin interactive console")); match.setRelevance(1.0); context.addMatch(match); } } void PlasmaDesktopRunner::run(const Plasma::RunnerContext &context, const Plasma::QueryMatch &match) { Q_UNUSED(match) if (m_enabled) { QDBusMessage message; QString query = context.query(); if (query.compare(m_desktopConsoleKeyword, Qt::CaseInsensitive) == 0) { message = QDBusMessage::createMethodCall(s_plasmaService, QStringLiteral("/PlasmaShell"), QStringLiteral("org.kde.PlasmaShell"), QStringLiteral("showInteractiveConsole")); } else if (query.startsWith(m_desktopConsoleKeyword)) { message = QDBusMessage::createMethodCall(s_plasmaService, QStringLiteral("/PlasmaShell"), QStringLiteral("org.kde.PlasmaShell"), QStringLiteral("loadScriptInInteractiveConsole")); query.replace(m_desktopConsoleKeyword, QString(), Qt::CaseInsensitive); QList args; args << query; message.setArguments(args); } if (query.compare(m_kwinConsoleKeyword, Qt::CaseInsensitive) == 0) { message = QDBusMessage::createMethodCall(s_plasmaService, QStringLiteral("/PlasmaShell"), QStringLiteral("org.kde.PlasmaShell"), QStringLiteral("showInteractiveKWinConsole")); } else if (query.startsWith(m_kwinConsoleKeyword)) { message = QDBusMessage::createMethodCall(s_plasmaService, QStringLiteral("/PlasmaShell"), QStringLiteral("org.kde.PlasmaShell"), QStringLiteral("loadKWinScriptInInteractiveConsole")); query.replace(m_kwinConsoleKeyword, QString(), Qt::CaseInsensitive); QList args; args << query; message.setArguments(args); } QDBusConnection::sessionBus().asyncCall(message); } } void PlasmaDesktopRunner::checkAvailability(const QString &name, const QString &oldOwner, const QString &newOwner) { Q_UNUSED(oldOwner) bool enabled = false; if (name.isEmpty()) { enabled = QDBusConnection::sessionBus().interface()->isServiceRegistered(s_plasmaService).value(); } else { enabled = !newOwner.isEmpty(); } if (m_enabled != enabled) { m_enabled = enabled; if (m_enabled) { addSyntax(Plasma::RunnerSyntax(m_desktopConsoleKeyword, i18n("Opens the Plasma desktop interactive console " "with a file path to a script on disk."))); addSyntax(Plasma::RunnerSyntax(i18nc("Note this is a KRunner keyword", "desktop console :q:"), i18n("Opens the Plasma desktop interactive console " "with a file path to a script on disk."))); addSyntax(Plasma::RunnerSyntax(m_kwinConsoleKeyword, i18n("Opens the KWin interactive console " "with a file path to a script on disk."))); addSyntax(Plasma::RunnerSyntax(i18nc("Note this is a KRunner keyword", "wm console :q:"), i18n("Opens the KWin interactive console " "with a file path to a script on disk."))); } else { setSyntaxes(QList()); } } } #include "plasma-desktop-runner.moc" diff --git a/runners/plasma-desktop/plasma-runner-plasma-desktop.desktop b/runners/plasma-desktop/plasma-runner-plasma-desktop.desktop index acd5f5401..6d7dbaaa5 100644 --- a/runners/plasma-desktop/plasma-runner-plasma-desktop.desktop +++ b/runners/plasma-desktop/plasma-runner-plasma-desktop.desktop @@ -1,138 +1,138 @@ [Desktop Entry] Name=Plasma Desktop Shell Name[ar]=صدفة سطح مكتب بلازما Name[bg]=Настолна обвивка Plasma Name[bs]=Plazma školjka površi Name[ca]=Àrea de treball de l'escriptori Plasma Name[ca@valencia]=Intèrpret d'ordres de l'escriptori Plasma Name[cs]=Pracovní plocha Plasma Name[da]=Plasma-skrivebordets skal Name[de]=Plasma-Umgebung Name[el]=Κέλυφος επιφάνειας εργασίας Plasma Name[en_GB]=Plasma Desktop Shell Name[eo]=Plasma Labortabla ŝelo Name[es]=Shell de escritorio Plasma Name[et]=Plasma töölauakest Name[eu]=Plasma mahaigainaren shell-a Name[fi]=Plasma-työpöytäkuori Name[fr]=Shell du bureau Plasma Name[fy]=Plasma buroblêdflues Name[ga]=Blaosc dheisce Plasma Name[gl]=Shell de escritorio Plasma Name[gu]=પ્લાઝમા ડેસ્કટોપ શેલ Name[he]=מעטפת שולחן העבודה של Plasma Name[hi]=प्लाज्मा डेस्कटॉप शेल Name[hr]=Plasma ljuska radne površine Name[hu]=Plazma asztali héj Name[ia]=Shell de scriptorio de Plasma Name[id]=Shell Desktop Plasma Name[is]=Plasma skjáborðsskel Name[it]=Shell del desktop di Plasma Name[ja]=Plasma デスクトップシェル Name[kk]=Plasma үстел ортасы Name[km]=សែល​ផ្ទៃតុ​ប្លាស្មា Name[kn]=ಪ್ಲಾಸ್ಮಾ ಗಣಕತೆರೆ ಶೆಲ್ Name[ko]=Plasma 데스크톱 셸 Name[lt]=Plasma darbalaukio apvalkalas Name[lv]=Plasma darbvirsmas čaula Name[ml]=പ്ലാസ്മ പണിയിട ആവരണം Name[mr]=प्लाज्मा डेस्कटॉप शेल Name[nb]=Plasma skrivebordsskall Name[nds]=Plasma-Schriefdischkonsool Name[nl]=Plasma Bureaublad-shell Name[nn]=Skrivebordsskal for Plasma Name[pa]=ਪਲਾਜ਼ਮਾ ਡੈਸਕਟਾਪ ਸ਼ੈੱਲ Name[pl]=Powłoka pulpitu Plazmy Name[pt]=Consola de Ecrã do Plasma Name[pt_BR]=Shell do Plasma Desktop Name[ro]=Învelișul de birou Plasma Name[ru]=Консоль сценариев Plasma Name[si]=ප්ලාස්මා වැඩතල ශෙලය Name[sk]=Shell plochy Plasma Name[sl]=Namizna lupina Plasma Name[sr]=Плазмина шкољка површи Name[sr@ijekavian]=Плазмина шкољка површи Name[sr@ijekavianlatin]=Plasmina školjka površi Name[sr@latin]=Plasmina školjka površi Name[sv]=Plasma skrivbordskal Name[tg]=Восити мизи кории Плазма Name[th]=เชลล์พื้นที่ทำงานแบบพลาสมา Name[tr]=Plasma Masaüstü Kabuğu Name[ug]=پلازما ئۈستەلئۈستى Shell ئى Name[uk]=Оболонка стільниці Плазми Name[wa]=Shell do scribanne Plasma Name[x-test]=xxPlasma Desktop Shellxx Name[zh_CN]=Plasma 桌面外壳 Name[zh_TW]=Plasma 桌面 shell Comment=Interact with the Plasma desktop shell Comment[ar]=تفاعل مع صدفة سطح مكتب بلازما Comment[bs]=Pozabavite se plazma školjkom površi Comment[ca]=Interactua amb l'àrea de treball de l'escriptori Plasma Comment[ca@valencia]=Interactua amb l'intèrpret d'ordres de l'escriptori Plasma Comment[cs]=Interakce se shellem pracovní plochy plasmy Comment[da]=Interaktion med Plasma-skrivebordets skal Comment[de]=Interaktion mit der Plasma-Shell Comment[el]=Αλληλεπίδραση με το κέλυφος επιφάνειας εργασίας Plasma Comment[en_GB]=Interact with the Plasma desktop shell Comment[es]=Interactuar con la interfaz del escritorio Plasma Comment[et]=Suhtlus Plasma töölauakestaga Comment[eu]=Elkarreraginean jardun Plasma mahaigainaren shell-arekin Comment[fi]=Ole vuorovaikutuksessa Plasma-työpöytäkuoren kanssa Comment[fr]=Interagit avec le shell du bureau Plasma Comment[fy]=Ynteraksje mei de Plasma buroblêd flues Comment[ga]=Bain úsáid as blaosc dheisce Plasma Comment[gl]=Interactúa coa shell de escritorio Plasma Comment[he]=אינטראקציה עם מעטפת שולחן העבודה של Plasma Comment[hr]=Interakcija s Plasma ljuskom radne površine Comment[hu]=Interakció a Plasma asztali héjjal Comment[ia]=Interage con le shell de scriptorio de Plasma Comment[id]=Interaksi dengan shell desktop Plasma Comment[is]=Gagnvirkni með Plasma skjáborðsskelinni Comment[it]=Interagisce con la shell del desktop di Plasma Comment[ja]=Plasma デスクトップシェルと対話 Comment[kk]=Plasma үстел қоршау-ортасымен әркеттесу Comment[km]=មាន​ទំនាក់ទំនង​ជា​មួយ​នឹង​សែល​ផ្ទៃតុ​​ប្លាស្មា Comment[kn]=ಪ್ಲಾಸ್ಮಾ ಗಣಕತೆರೆ ಶೆಲ್‌ನೊಂದಿಗೆ ವ್ಯವಹರಿಸು Comment[ko]=Plasma 데스크톱 셸 사용하기 Comment[lt]=Sąveikauti su Plasma darbalaukio apvalkalu Comment[lv]=Iedarboties uz Plasma darbvirsmas čaulu Comment[ml]=പ്ലാസ്മ പണിയിട ഷെല്ലുമായി പരസ്പരവിനിമയം നടത്തുക Comment[mr]=प्लाज्मा डेस्कटॉप शेल बरोबर संवाद Comment[nb]=Arbeid med Plasma skrivebordsskallet Comment[nds]=Mit den Plasma-Schriefdischkieker snacken Comment[nl]=Interactie met de Plasma bureaublad-shell Comment[nn]=Bruk Plasma-skrivebordsskalet Comment[pa]=ਪਲਾਜ਼ਮਾ ਡੈਸਕਟਾਪ ਸ਼ੈੱਲ ਨਾਲ ਕੰਮ Comment[pl]=Współdziałanie z powłoką pulpitu Plazmy Comment[pt]=Interagir com a consola do ambiente de trabalho Plasma Comment[pt_BR]=Interage com a shell do Plasma Desktop Comment[ro]=Interacționați cu învelișul de birou Plasma Comment[ru]=Инструмент взаимодействия с оболочкой Plasma Comment[si]=ප්ලාස්මා වැඩතල ශෙලය සමඟ අන්තර්ක්‍රියාකාරී Comment[sk]=Interakcia so shellom plochy Plasma Comment[sl]=Uporabljajte Namizno lupino Plasma Comment[sr]=Позабавите се Плазмином шкољком површи Comment[sr@ijekavian]=Позабавите се Плазмином шкољком површи Comment[sr@ijekavianlatin]=Pozabavite se Plasminom školjkom površi Comment[sr@latin]=Pozabavite se Plasminom školjkom površi Comment[sv]=Interaktion med Plasma skrivbordsskal Comment[th]=ใช้งานผ่านทางเชลล์พื้นที่ทำงานแบบพลาสมา Comment[tr]=Plasma Masaüstü Kabuğu ile etkileş Comment[ug]=پلازما ئۈستەلئۈستى بىلەن مۇناسىۋەتلىشىدۇ Comment[uk]=Взаємодія з оболонкою стільниці Плазма Comment[vi]=Tương tác với vỏ Plasma Comment[wa]=Ovrer d' façon interactive avou l' shell do scribanne Plasma Comment[x-test]=xxInteract with the Plasma desktop shellxx Comment[zh_CN]=和 Plasma 桌面外壳进行交互 Comment[zh_TW]=與 Plasma 桌面 shell 互動 X-KDE-ServiceTypes=Plasma/Runner Type=Service Icon=plasma -X-KDE-Library=krunner_plasma-desktop +X-KDE-Library=kf5/krunner/krunner_plasma-desktop X-Plasma-RunnerPhase=first X-KDE-PluginInfo-Author=Plasma Team X-KDE-PluginInfo-Email=plasma-devel@kde.org X-KDE-PluginInfo-Name=plasma-desktop X-KDE-PluginInfo-Version=1.0 X-KDE-PluginInfo-License=LGPLv2 X-KDE-PluginInfo-EnabledByDefault=true