Git commit 4b2370f35534441a393297c57627eefc6edef293 by Alexander Lohnau. Committed on 13/10/2021 at 18:36. Pushed by alex into branch 'master'.
Create versionless systemsettings executable & install symlink to old name This way consumers will be able to call "systemsettings" as the executable name and don't have to worry about the major version. Considering the systemsettings is part of Plasma and Plasma 5/6 are not going to be co-installable there is no point in having a versioned executable. In KF6 the symlink to systemsettings5 can be removed. Task: https://phabricator.kde.org/T14763 M +10 -4 app/CMakeLists.txt M +1 -1 app/main.cpp M +6 -6 app/systemsettings.desktop M +2 -2 doc/index.docbook M +1 -1 runner/systemsettingsrunner.cpp https://invent.kde.org/plasma/systemsettings/commit/4b2370f35534441a393297c57627eefc6edef293 diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt index 5fb0510a..c0cdae0d 100644 --- a/app/CMakeLists.txt +++ b/app/CMakeLists.txt @@ -12,10 +12,10 @@ ecm_qt_declare_logging_category(systemsettings_SRCS HEADER systemsettings_app_de # kde4_add_app_icon( systemsettings_SRCS "${KDE4_ICON_INSTALL_DIR}/oxygen/*/categories/preferences-system.png" ) kconfig_add_kcfg_files( systemsettings_SRCS BaseConfig.kcfgc ) -add_executable( systemsettings5 ${systemsettings_SRCS}) -target_compile_definitions(systemsettings5 PRIVATE -DPROJECT_VERSION="${PROJECT_VERSION}") +add_executable(systemsettings ${systemsettings_SRCS}) +target_compile_definitions(systemsettings PRIVATE -DPROJECT_VERSION="${PROJECT_VERSION}") -target_link_libraries( systemsettings5 systemsettingsview +target_link_libraries( systemsettings systemsettingsview KF5::Crash KF5::ItemViews KF5::KCMUtils @@ -32,7 +32,13 @@ target_link_libraries( systemsettings5 systemsettingsview PW::KWorkspace ) -install( TARGETS systemsettings5 ${KDE_INSTALL_TARGETS_DEFAULT_ARGS} ) + +add_custom_command(TARGET systemsettings POST_BUILD + COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/systemsettings systemsettings5) + +install( FILES ${CMAKE_CURRENT_BINARY_DIR}/systemsettings5 DESTINATION ${KDE_INSTALL_FULL_BINDIR}/ ) + +install( TARGETS systemsettings ${KDE_INSTALL_TARGETS_DEFAULT_ARGS} ) install( FILES systemsettings.kcfg DESTINATION ${KDE_INSTALL_DATADIR}/systemsettings ) install( FILES systemsettingsui.rc DESTINATION ${KDE_INSTALL_KXMLGUI5DIR}/systemsettings ) install( PROGRAMS kdesystemsettings.desktop systemsettings.desktop DESTINATION ${KDE_INSTALL_APPDIR} ) diff --git a/app/main.cpp b/app/main.cpp index 0dea0c86..48ae913f 100644 --- a/app/main.cpp +++ b/app/main.cpp @@ -35,7 +35,7 @@ int main(int argc, char *argv[]) mode = BaseMode::InfoCenter; } - // exec is systemsettings5, but we need the QPT to use the right config from the qApp constructor + // exec is systemsettings, but we need the QPT to use the right config from the qApp constructor // which is before KAboutData::setApplicationData QCoreApplication::setApplicationName(binaryName); diff --git a/app/systemsettings.desktop b/app/systemsettings.desktop index 2dcd3c10..6d3510f8 100755 --- a/app/systemsettings.desktop +++ b/app/systemsettings.desktop @@ -1,5 +1,5 @@ [Desktop Entry] -Exec=systemsettings5 +Exec=systemsettings Icon=preferences-system Type=Application X-DocPath=systemsettings/index.html @@ -278,7 +278,7 @@ Name[x-test]=xxGlobal Themexx Name[zh_CN]=全局主题 Name[zh_TW]=全域主題 Icon=preferences-desktop-theme-global -Exec=systemsettings5 kcm_lookandfeel +Exec=systemsettings kcm_lookandfeel [Desktop Action kcm-users] Name=Users @@ -324,7 +324,7 @@ Name[x-test]=xxUsersxx Name[zh_CN]=用户 Name[zh_TW]=使用者 Icon=preferences-system-users -Exec=systemsettings5 kcm_users +Exec=systemsettings kcm_users [Desktop Action screenlocker] Name=Screen Locking @@ -369,7 +369,7 @@ Name[x-test]=xxScreen Lockingxx Name[zh_CN]=锁屏 Name[zh_TW]=螢幕鎖定 Icon=preferences-desktop-user-password -Exec=systemsettings5 screenlocker +Exec=systemsettings screenlocker [Desktop Action powerdevilprofilesconfig] Name=Energy Saving @@ -414,7 +414,7 @@ Name[x-test]=xxEnergy Savingxx Name[zh_CN]=节能 Name[zh_TW]=節能選項 Icon=preferences-system-power-management -Exec=systemsettings5 powerdevilprofilesconfig +Exec=systemsettings powerdevilprofilesconfig [Desktop Action kcm-kscreen] Name=Display Configuration @@ -457,4 +457,4 @@ Name[x-test]=xxDisplay Configurationxx Name[zh_CN]=显示器配置 Name[zh_TW]=顯示設定 Icon=preferences-desktop-display-randr -Exec=systemsettings5 kcm_kscreen +Exec=systemsettings kcm_kscreen diff --git a/doc/index.docbook b/doc/index.docbook index 5e8d8ccc..facfc7c8 100644 --- a/doc/index.docbook +++ b/doc/index.docbook @@ -104,12 +104,12 @@ By selecting <menuchoice><guimenu>Settings</guimenu><guimenuitem>System Settings </listitem> <listitem> <para> - By pressing <keycombo>&Alt;<keycap>F2</keycap></keycombo> or <keycombo>&Alt;<keycap>Space</keycap></keycombo>. This will bring up the &krunner; dialog. Type <command>systemsettings5</command>, and press &Enter;. + By pressing <keycombo>&Alt;<keycap>F2</keycap></keycombo> or <keycombo>&Alt;<keycap>Space</keycap></keycombo>. This will bring up the &krunner; dialog. Type <command>systemsettings</command>, and press &Enter;. </para> </listitem> <listitem> <para> -Type <command>systemsettings5 &</command> at any command prompt. +Type <command>systemsettings &</command> at any command prompt. </para> </listitem> </orderedlist> diff --git a/runner/systemsettingsrunner.cpp b/runner/systemsettingsrunner.cpp index 5c0ad559..6b4ee46b 100644 --- a/runner/systemsettingsrunner.cpp +++ b/runner/systemsettingsrunner.cpp @@ -68,7 +68,7 @@ void SystemsettingsRunner::run(const Plasma::RunnerContext &context, const Plasm job = new KIO::CommandLauncherJob(QStringLiteral("kinfocenter"), {data.pluginId()}); job->setDesktopName(QStringLiteral("org.kde.kinfocenter")); } else if (!data.value(QStringLiteral("X-KDE-System-Settings-Parent-Category")).isEmpty()) { - job = new KIO::CommandLauncherJob(QStringLiteral("systemsettings5"), {data.pluginId()}); + job = new KIO::CommandLauncherJob(QStringLiteral("systemsettings"), {data.pluginId()}); job->setDesktopName(QStringLiteral("org.kde.systemsettings")); } else { // If we have created the KPluginMetaData from a desktop file KCMShell needs the pluginId, otherwise we can give
