Add CMake variable to rename kwin binaries

A CMake variable is used to specify the name of the binary.
By default this is "kwin" but building for PA changes the
name to "kwinactive". The variable adjusts all names, e.g.
kwinnvidiahack becomes kwinactivenvidiahack.

The remaining usage of kwinrc in core and libs is replaced
by a cmakedefine for the configuration name and all data
installations are moved to the defined name. Dynamic loading
for scripts & co is adjusted for loading based on defined name.

This change allows the side-by-side installation of both kwin
for desktop and kwin for Plasma Desktop without the known
issues like conflicts in config files or missing build options
if kwin desktop is used for Plasma Active.

Likewise the KCMs are not adjusted as they are not intended to
be used for kwinactive.

REVIEW: 104299
BUG: 296084
FIXED-IN: 4.9.0
CCMAIL: active@kde.org
This commit is contained in:
Martin Gräßlin 2012-03-16 08:37:09 +01:00
parent 1f97345e35
commit f3443a6b07
13 changed files with 59 additions and 41 deletions

View file

@ -15,6 +15,9 @@ else(${KDE_PLATFORM_PROFILE} STREQUAL "Desktop")
OPTION(KWIN_PLASMA_ACTIVE "Enable building KWin for Plasma Active." On) OPTION(KWIN_PLASMA_ACTIVE "Enable building KWin for Plasma Active." On)
endif(${KDE_PLATFORM_PROFILE} STREQUAL "Desktop") endif(${KDE_PLATFORM_PROFILE} STREQUAL "Desktop")
# Binary name of KWin
set(KWIN_NAME "kwin")
if(KWIN_PLASMA_ACTIVE) if(KWIN_PLASMA_ACTIVE)
set(KWIN_BUILD_DECORATIONS OFF) set(KWIN_BUILD_DECORATIONS OFF)
set(KWIN_BUILD_KCMS OFF) set(KWIN_BUILD_KCMS OFF)
@ -24,6 +27,7 @@ if(KWIN_PLASMA_ACTIVE)
set(KWIN_BUILD_XRENDER_COMPOSITING OFF) set(KWIN_BUILD_XRENDER_COMPOSITING OFF)
set(KWIN_MOBILE_EFFECTS ON) set(KWIN_MOBILE_EFFECTS ON)
set(KWIN_BUILD_WITH_OPENGLES ON) set(KWIN_BUILD_WITH_OPENGLES ON)
set(KWIN_NAME "kwinactive")
endif(KWIN_PLASMA_ACTIVE) endif(KWIN_PLASMA_ACTIVE)
# KWIN_HAVE_XRENDER_COMPOSITING - whether XRender-based compositing support is available: may be disabled # KWIN_HAVE_XRENDER_COMPOSITING - whether XRender-based compositing support is available: may be disabled
@ -193,6 +197,8 @@ endif(KWIN_BUILD_ACTIVITIES)
kde4_add_kdeinit_executable( kwin ${kwin_KDEINIT_SRCS}) kde4_add_kdeinit_executable( kwin ${kwin_KDEINIT_SRCS})
target_link_libraries(kdeinit_kwin ${kwinLibs}) target_link_libraries(kdeinit_kwin ${kwinLibs})
set_target_properties(kwin PROPERTIES OUTPUT_NAME ${KWIN_NAME})
set_target_properties(kdeinit_kwin PROPERTIES OUTPUT_NAME kdeinit4_${KWIN_NAME})
if(OPENGL_FOUND) if(OPENGL_FOUND)
set_target_properties(kdeinit_kwin PROPERTIES COMPILE_FLAGS -DKWIN_HAVE_OPENGL) set_target_properties(kdeinit_kwin PROPERTIES COMPILE_FLAGS -DKWIN_HAVE_OPENGL)
@ -217,6 +223,8 @@ if(OPENGLES_FOUND)
kde4_add_kdeinit_executable( kwin_gles ${kwin_KDEINIT_SRCS}) kde4_add_kdeinit_executable( kwin_gles ${kwin_KDEINIT_SRCS})
target_link_libraries(kdeinit_kwin_gles ${kwinLibs} kwinglesutils ${OPENGLES_LIBRARIES}) target_link_libraries(kdeinit_kwin_gles ${kwinLibs} kwinglesutils ${OPENGLES_LIBRARIES})
set_target_properties(kdeinit_kwin_gles PROPERTIES COMPILE_FLAGS "-DKWIN_HAVE_OPENGL -DKWIN_HAVE_OPENGLES") set_target_properties(kdeinit_kwin_gles PROPERTIES COMPILE_FLAGS "-DKWIN_HAVE_OPENGL -DKWIN_HAVE_OPENGLES")
set_target_properties(kwin_gles PROPERTIES OUTPUT_NAME ${KWIN_NAME}_gles)
set_target_properties(kdeinit_kwin_gles PROPERTIES OUTPUT_NAME kdeinit4_${KWIN_NAME}_gles)
install(TARGETS kdeinit_kwin_gles ${INSTALL_TARGETS_DEFAULT_ARGS} ) install(TARGETS kdeinit_kwin_gles ${INSTALL_TARGETS_DEFAULT_ARGS} )
install(TARGETS kwin_gles ${INSTALL_TARGETS_DEFAULT_ARGS} ) install(TARGETS kwin_gles ${INSTALL_TARGETS_DEFAULT_ARGS} )
endif(OPENGLES_FOUND) endif(OPENGLES_FOUND)
@ -230,12 +238,13 @@ set( kwinnvidiahack_LIB_SRCS
kde4_add_library(kwinnvidiahack SHARED ${kwinnvidiahack_LIB_SRCS}) kde4_add_library(kwinnvidiahack SHARED ${kwinnvidiahack_LIB_SRCS})
set_target_properties(kwinnvidiahack PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} ) set_target_properties(kwinnvidiahack PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )
set_target_properties(kwinnvidiahack PROPERTIES OUTPUT_NAME ${KWIN_NAME}nvidiahack)
install(TARGETS kwinnvidiahack ${INSTALL_TARGETS_DEFAULT_ARGS} LIBRARY NAMELINK_SKIP) install(TARGETS kwinnvidiahack ${INSTALL_TARGETS_DEFAULT_ARGS} LIBRARY NAMELINK_SKIP)
########### install files ############### ########### install files ###############
install( FILES kwin.kcfg DESTINATION ${KCFG_INSTALL_DIR} ) install( FILES kwin.kcfg DESTINATION ${KCFG_INSTALL_DIR} RENAME ${KWIN_NAME}.kcfg )
install( FILES kwin.notifyrc DESTINATION ${DATA_INSTALL_DIR}/kwin ) install( FILES kwin.notifyrc DESTINATION ${DATA_INSTALL_DIR}/${KWIN_NAME} RENAME ${KWIN_NAME}.notifyrc)
install( FILES org.kde.KWin.xml DESTINATION ${DBUS_INTERFACES_INSTALL_DIR} ) install( FILES org.kde.KWin.xml DESTINATION ${DBUS_INTERFACES_INSTALL_DIR} )
if( KWIN_BUILD_SCRIPTING ) if( KWIN_BUILD_SCRIPTING )

View file

@ -5,3 +5,5 @@
#cmakedefine KWIN_BUILD_SCREENEDGES 1 #cmakedefine KWIN_BUILD_SCREENEDGES 1
#cmakedefine KWIN_BUILD_SCRIPTING 1 #cmakedefine KWIN_BUILD_SCRIPTING 1
#cmakedefine KWIN_BUILD_ACTIVITIES 1 #cmakedefine KWIN_BUILD_ACTIVITIES 1
#define KWIN_NAME "${KWIN_NAME}"
#define KWIN_CONFIG "${KWIN_NAME}rc"

View file

@ -1103,6 +1103,7 @@ KLibrary* EffectsHandlerImpl::findEffectLibrary(KService* service)
libname.replace("kwin4_effect_", "kwin4_effect_gles_"); libname.replace("kwin4_effect_", "kwin4_effect_gles_");
} }
#endif #endif
libname.replace("kwin", KWIN_NAME);
KLibrary* library = new KLibrary(libname); KLibrary* library = new KLibrary(libname);
if (!library) { if (!library) {
kError(1212) << "couldn't open library for effect '" << kError(1212) << "couldn't open library for effect '" <<
@ -1265,7 +1266,7 @@ bool EffectsHandlerImpl::loadScriptedEffect(const QString& name, KService *servi
kDebug(1212) << "X-Plasma-MainScript not set"; kDebug(1212) << "X-Plasma-MainScript not set";
return false; return false;
} }
const QString scriptFile = KStandardDirs::locate("data", "kwin/effects/" + name + "/contents/" + scriptName); const QString scriptFile = KStandardDirs::locate("data", QLatin1String(KWIN_NAME) + "/effects/" + name + "/contents/" + scriptName);
if (scriptFile.isNull()) { if (scriptFile.isNull()) {
kDebug(1212) << "Could not locate the effect script"; kDebug(1212) << "Could not locate the effect script";
return false; return false;

View file

@ -18,6 +18,7 @@ macro( KWIN4_ADD_EFFECT name )
target_link_libraries(kwin4_effect_${name} kwinglesutils) target_link_libraries(kwin4_effect_${name} kwinglesutils)
set_target_properties(kwin4_effect_${name} PROPERTIES COMPILE_FLAGS "-DKWIN_HAVE_OPENGL -DKWIN_HAVE_OPENGLES") set_target_properties(kwin4_effect_${name} PROPERTIES COMPILE_FLAGS "-DKWIN_HAVE_OPENGL -DKWIN_HAVE_OPENGLES")
endif(OPENGL_FOUND) endif(OPENGL_FOUND)
set_target_properties(kwin4_effect_${name} PROPERTIES OUTPUT_NAME ${KWIN_NAME}4_effect_${name})
install( TARGETS kwin4_effect_${name} DESTINATION ${PLUGIN_INSTALL_DIR} ) install( TARGETS kwin4_effect_${name} DESTINATION ${PLUGIN_INSTALL_DIR} )
endif(OPENGL_FOUND OR NOT(OPENGL_FOUND AND OPENGLES_FOUND)) endif(OPENGL_FOUND OR NOT(OPENGL_FOUND AND OPENGLES_FOUND))
@ -27,6 +28,7 @@ macro( KWIN4_ADD_EFFECT name )
# OpenGL ES gets into a different library # OpenGL ES gets into a different library
target_link_libraries(kwin4_effect_gles_${name} kwinglesutils) target_link_libraries(kwin4_effect_gles_${name} kwinglesutils)
set_target_properties(kwin4_effect_gles_${name} PROPERTIES COMPILE_FLAGS "-DKWIN_HAVE_OPENGL -DKWIN_HAVE_OPENGLES") set_target_properties(kwin4_effect_gles_${name} PROPERTIES COMPILE_FLAGS "-DKWIN_HAVE_OPENGL -DKWIN_HAVE_OPENGLES")
set_target_properties(kwin4_effect_gles_${name} PROPERTIES OUTPUT_NAME ${KWIN_NAME}4_effect_gles_${name})
install( TARGETS kwin4_effect_gles_${name} DESTINATION ${PLUGIN_INSTALL_DIR} ) install( TARGETS kwin4_effect_gles_${name} DESTINATION ${PLUGIN_INSTALL_DIR} )
endif(OPENGLES_FOUND) endif(OPENGLES_FOUND)
endmacro( KWIN4_ADD_EFFECT ) endmacro( KWIN4_ADD_EFFECT )

View file

@ -1,6 +1,6 @@
install(DIRECTORY package/ install(DIRECTORY package/
DESTINATION ${DATA_INSTALL_DIR}/kwin/effects/kwin4_effect_fade) DESTINATION ${DATA_INSTALL_DIR}/${KWIN_NAME}/effects/kwin4_effect_fade)
install(FILES package/metadata.desktop install(FILES package/metadata.desktop
DESTINATION ${SERVICES_INSTALL_DIR}/kwin DESTINATION ${SERVICES_INSTALL_DIR}/${KWIN_NAME}
RENAME kwin4_effect_fade.desktop) RENAME kwin4_effect_fade.desktop)

View file

@ -1,6 +1,6 @@
install(DIRECTORY package/ install(DIRECTORY package/
DESTINATION ${DATA_INSTALL_DIR}/kwin/effects/kwin4_effect_fadedesktop) DESTINATION ${DATA_INSTALL_DIR}/${KWIN_NAME}/effects/kwin4_effect_fadedesktop)
install(FILES package/metadata.desktop install(FILES package/metadata.desktop
DESTINATION ${SERVICES_INSTALL_DIR}/kwin DESTINATION ${SERVICES_INSTALL_DIR}/${KWIN_NAME}
RENAME kwin4_effect_fadedesktop.desktop) RENAME kwin4_effect_fadedesktop.desktop)

View file

@ -19,6 +19,7 @@ target_link_libraries(kwineffects ${KDE4_KDEUI_LIBS} ${QT_QTGUI_LIBRARY}
${X11_Xfixes_LIB} ${X11_Xfixes_LIB}
) )
set_target_properties(kwineffects PROPERTIES VERSION 1.0.0 SOVERSION 1 ) set_target_properties(kwineffects PROPERTIES VERSION 1.0.0 SOVERSION 1 )
set_target_properties(kwineffects PROPERTIES OUTPUT_NAME ${KWIN_NAME}effects)
install(TARGETS kwineffects EXPORT kdeworkspaceLibraryTargets ${INSTALL_TARGETS_DEFAULT_ARGS}) install(TARGETS kwineffects EXPORT kdeworkspaceLibraryTargets ${INSTALL_TARGETS_DEFAULT_ARGS})
@ -44,9 +45,11 @@ endmacro( KWIN4_ADD_GLUTILS_BACKEND )
if(OPENGLES_FOUND) if(OPENGLES_FOUND)
KWIN4_ADD_GLUTILS_BACKEND(kwinglesutils ${OPENGLES_INCLUDE_DIR} ${OPENGLES_LIBRARIES}) KWIN4_ADD_GLUTILS_BACKEND(kwinglesutils ${OPENGLES_INCLUDE_DIR} ${OPENGLES_LIBRARIES})
set_target_properties(kwinglesutils PROPERTIES COMPILE_FLAGS -DKWIN_HAVE_OPENGLES) set_target_properties(kwinglesutils PROPERTIES COMPILE_FLAGS -DKWIN_HAVE_OPENGLES)
set_target_properties(kwinglesutils PROPERTIES OUTPUT_NAME ${KWIN_NAME}glesutils)
endif(OPENGLES_FOUND) endif(OPENGLES_FOUND)
if(OPENGL_FOUND) if(OPENGL_FOUND)
KWIN4_ADD_GLUTILS_BACKEND(kwinglutils ${OPENGL_INCLUDE_DIR} ${OPENGL_gl_LIBRARY}) KWIN4_ADD_GLUTILS_BACKEND(kwinglutils ${OPENGL_INCLUDE_DIR} ${OPENGL_gl_LIBRARY})
set_target_properties(kwinglutils PROPERTIES OUTPUT_NAME ${KWIN_NAME}glutils)
target_link_libraries(kwinglutils ${OPENGL_gl_LIBRARY}) target_link_libraries(kwinglutils ${OPENGL_gl_LIBRARY})
target_link_libraries(kwinglutils LINK_INTERFACE_LIBRARIES ${OPENGL_gl_LIBRARY}) target_link_libraries(kwinglutils LINK_INTERFACE_LIBRARIES ${OPENGL_gl_LIBRARY})

View file

@ -22,6 +22,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "kwineffects.h" #include "kwineffects.h"
#include "kwinxrenderutils.h" #include "kwinxrenderutils.h"
#include "config-kwin.h"
#include <QtDBus/QtDBus> #include <QtDBus/QtDBus>
#include <QVariant> #include <QVariant>
@ -271,7 +272,7 @@ void EffectsHandler::sendReloadMessage(const QString& effectname)
KConfigGroup EffectsHandler::effectConfig(const QString& effectname) KConfigGroup EffectsHandler::effectConfig(const QString& effectname)
{ {
KSharedConfig::Ptr kwinconfig = KSharedConfig::openConfig("kwinrc", KConfig::NoGlobals); KSharedConfig::Ptr kwinconfig = KSharedConfig::openConfig(KWIN_CONFIG, KConfig::NoGlobals);
return kwinconfig->group("Effect-" + effectname); return kwinconfig->group("Effect-" + effectname);
} }

View file

@ -223,7 +223,7 @@ public:
addWM("metacity"); addWM("metacity");
addWM("openbox"); addWM("openbox");
addWM("fvwm2"); addWM("fvwm2");
addWM("kwin"); addWM(KWIN_NAME);
setMainWidget(mainWidget); setMainWidget(mainWidget);
@ -278,7 +278,7 @@ Application::Application()
if (crashes >= 4) { if (crashes >= 4) {
// Something has gone seriously wrong // Something has gone seriously wrong
AlternativeWMDialog dialog; AlternativeWMDialog dialog;
QString cmd = "kwin"; QString cmd = KWIN_NAME;
if (dialog.exec() == QDialog::Accepted) if (dialog.exec() == QDialog::Accepted)
cmd = dialog.selectedWM(); cmd = dialog.selectedWM();
else else
@ -435,7 +435,7 @@ KDE_EXPORT int kdemain(int argc, char * argv[])
// ""known to be stupid" ideas ;-P // ""known to be stupid" ideas ;-P
// The invalid system parameter "" will use the systems default graphicssystem // The invalid system parameter "" will use the systems default graphicssystem
// "!= XRender" is intended since eg. pot. SW backends likely would profit from raster as well // "!= XRender" is intended since eg. pot. SW backends likely would profit from raster as well
KConfigGroup config(KSharedConfig::openConfig("kwinrc"), "Compositing"); KConfigGroup config(KSharedConfig::openConfig(KWIN_CONFIG), "Compositing");
QString preferredSystem("native"); QString preferredSystem("native");
if (config.readEntry("Enabled", true) && config.readEntry("Backend", "OpenGL") != "XRender") if (config.readEntry("Enabled", true) && config.readEntry("Backend", "OpenGL") != "XRender")
preferredSystem = ""; preferredSystem = "";
@ -484,7 +484,7 @@ KDE_EXPORT int kdemain(int argc, char * argv[])
} }
KAboutData aboutData( KAboutData aboutData(
"kwin", // The program name used internally KWIN_NAME, // The program name used internally
0, // The message catalog name. If null, program name is used instead 0, // The message catalog name. If null, program name is used instead
ki18n("KWin"), // A displayable program name string ki18n("KWin"), // A displayable program name string
version, // The program version string version, // The program version string
@ -517,10 +517,10 @@ KDE_EXPORT int kdemain(int argc, char * argv[])
setenv("QT_NO_GLIB", "1", true); setenv("QT_NO_GLIB", "1", true);
org::kde::KSMServerInterface ksmserver("org.kde.ksmserver", "/KSMServer", QDBusConnection::sessionBus()); org::kde::KSMServerInterface ksmserver("org.kde.ksmserver", "/KSMServer", QDBusConnection::sessionBus());
ksmserver.suspendStartup("kwin"); ksmserver.suspendStartup(KWIN_NAME);
KWin::Application a; KWin::Application a;
ksmserver.resumeStartup("kwin"); ksmserver.resumeStartup(KWIN_NAME);
KWin::SessionManager weAreIndeed; KWin::SessionManager weAreIndeed;
KWin::SessionSaveDoneHelper helper; KWin::SessionSaveDoneHelper helper;
KGlobal::locale()->insertCatalog("kwin_effects"); KGlobal::locale()->insertCatalog("kwin_effects");

View file

@ -400,7 +400,7 @@ LoadScriptList KWin::Scripting::queryScriptsToLoad(KConfigGroup &conf)
} }
const QString pluginName = service->property("X-KDE-PluginInfo-Name").toString(); const QString pluginName = service->property("X-KDE-PluginInfo-Name").toString();
const QString scriptName = service->property("X-Plasma-MainScript").toString(); const QString scriptName = service->property("X-Plasma-MainScript").toString();
const QString file = KStandardDirs::locate("data", "kwin/scripts/" + pluginName + "/contents/" + scriptName); const QString file = KStandardDirs::locate("data", QLatin1String(KWIN_NAME) + "/scripts/" + pluginName + "/contents/" + scriptName);
if (file.isNull()) { if (file.isNull()) {
kDebug(1212) << "Could not find script file for " << pluginName; kDebug(1212) << "Could not find script file for " << pluginName;
continue; continue;

View file

@ -1,7 +1,7 @@
# packages # packages
install( DIRECTORY videowall DESTINATION ${DATA_INSTALL_DIR}/kwin/scripts ) install( DIRECTORY videowall DESTINATION ${DATA_INSTALL_DIR}/${KWIN_NAME}/scripts )
install( DIRECTORY synchronizeskipswitcher DESTINATION ${DATA_INSTALL_DIR}/kwin/scripts ) install( DIRECTORY synchronizeskipswitcher DESTINATION ${DATA_INSTALL_DIR}/${KWIN_NAME}/scripts )
install( DIRECTORY desktopchangeosd DESTINATION ${DATA_INSTALL_DIR}/kwin/scripts ) install( DIRECTORY desktopchangeosd DESTINATION ${DATA_INSTALL_DIR}/${KWIN_NAME}/scripts )
# service files # service files
install( FILES videowall/metadata.desktop DESTINATION ${SERVICES_INSTALL_DIR} RENAME kwin-script-videowall.desktop ) install( FILES videowall/metadata.desktop DESTINATION ${SERVICES_INSTALL_DIR} RENAME kwin-script-videowall.desktop )

View file

@ -136,7 +136,7 @@ DeclarativeView::DeclarativeView(QAbstractItemModel *model, TabBoxConfig::TabBox
} else if (m_mode == TabBoxConfig::DesktopTabBox) { } else if (m_mode == TabBoxConfig::DesktopTabBox) {
rootContext()->setContextProperty("clientModel", model); rootContext()->setContextProperty("clientModel", model);
} }
setSource(QUrl(KStandardDirs::locate("data", "kwin/tabbox/tabbox.qml"))); setSource(QUrl(KStandardDirs::locate("data", QLatin1String(KWIN_NAME) + QLatin1String("/tabbox/tabbox.qml"))));
// FrameSvg // FrameSvg
m_frame->setImagePath("dialogs/background"); m_frame->setImagePath("dialogs/background");
@ -304,7 +304,7 @@ void DeclarativeView::updateQmlSource(bool force)
} }
if (m_mode == TabBoxConfig::DesktopTabBox) { if (m_mode == TabBoxConfig::DesktopTabBox) {
m_currentLayout = tabBox->config().layoutName(); m_currentLayout = tabBox->config().layoutName();
const QString file = KStandardDirs::locate("data", "kwin/tabbox/desktop.qml"); const QString file = KStandardDirs::locate("data", QLatin1String(KWIN_NAME) + QLatin1String("/tabbox/desktop.qml"));
rootObject()->setProperty("source", QUrl(file)); rootObject()->setProperty("source", QUrl(file));
return; return;
} }
@ -327,7 +327,7 @@ void DeclarativeView::updateQmlSource(bool force)
return; return;
} }
const QString scriptName = service->property("X-Plasma-MainScript").toString(); const QString scriptName = service->property("X-Plasma-MainScript").toString();
const QString file = KStandardDirs::locate("data", "kwin/tabbox/" + pluginName + "/contents/" + scriptName); const QString file = KStandardDirs::locate("data", QLatin1String(KWIN_NAME) + "/tabbox/" + pluginName + "/contents/" + scriptName);
if (file.isNull()) { if (file.isNull()) {
kDebug(1212) << "Could not find QML file for window switcher"; kDebug(1212) << "Could not find QML file for window switcher";
return; return;

View file

@ -1,26 +1,26 @@
install( FILES tabbox.qml DESTINATION ${DATA_INSTALL_DIR}/kwin/tabbox ) install( FILES tabbox.qml DESTINATION ${DATA_INSTALL_DIR}/${KWIN_NAME}/tabbox )
install( FILES desktop.qml DESTINATION ${DATA_INSTALL_DIR}/kwin/tabbox ) install( FILES desktop.qml DESTINATION ${DATA_INSTALL_DIR}/${KWIN_NAME}/tabbox )
# packages # packages
install( DIRECTORY clients/big_icons DESTINATION ${DATA_INSTALL_DIR}/kwin/tabbox ) install( DIRECTORY clients/big_icons DESTINATION ${DATA_INSTALL_DIR}/${KWIN_NAME}/tabbox )
install( DIRECTORY clients/compact DESTINATION ${DATA_INSTALL_DIR}/kwin/tabbox ) install( DIRECTORY clients/compact DESTINATION ${DATA_INSTALL_DIR}/${KWIN_NAME}/tabbox )
install( DIRECTORY clients/informative DESTINATION ${DATA_INSTALL_DIR}/kwin/tabbox ) install( DIRECTORY clients/informative DESTINATION ${DATA_INSTALL_DIR}/${KWIN_NAME}/tabbox )
install( DIRECTORY clients/present_windows DESTINATION ${DATA_INSTALL_DIR}/kwin/tabbox ) install( DIRECTORY clients/present_windows DESTINATION ${DATA_INSTALL_DIR}/${KWIN_NAME}/tabbox )
install( DIRECTORY clients/small_icons DESTINATION ${DATA_INSTALL_DIR}/kwin/tabbox ) install( DIRECTORY clients/small_icons DESTINATION ${DATA_INSTALL_DIR}/${KWIN_NAME}/tabbox )
install( DIRECTORY clients/text DESTINATION ${DATA_INSTALL_DIR}/kwin/tabbox ) install( DIRECTORY clients/text DESTINATION ${DATA_INSTALL_DIR}/${KWIN_NAME}/tabbox )
install( DIRECTORY clients/thumbnails DESTINATION ${DATA_INSTALL_DIR}/kwin/tabbox ) install( DIRECTORY clients/thumbnails DESTINATION ${DATA_INSTALL_DIR}/${KWIN_NAME}/tabbox )
install( DIRECTORY clients/window_strip DESTINATION ${DATA_INSTALL_DIR}/kwin/tabbox ) install( DIRECTORY clients/window_strip DESTINATION ${DATA_INSTALL_DIR}/${KWIN_NAME}/tabbox )
# service files # service files
install( FILES clients/big_icons/metadata.desktop DESTINATION ${SERVICES_INSTALL_DIR}/kwin RENAME kwin4_window_switcher_big_icons.desktop ) install( FILES clients/big_icons/metadata.desktop DESTINATION ${SERVICES_INSTALL_DIR}/${KWIN_NAME} RENAME kwin4_window_switcher_big_icons.desktop )
install( FILES clients/compact/metadata.desktop DESTINATION ${SERVICES_INSTALL_DIR}/kwin RENAME kwin4_window_switcher_compact.desktop ) install( FILES clients/compact/metadata.desktop DESTINATION ${SERVICES_INSTALL_DIR}/${KWIN_NAME} RENAME kwin4_window_switcher_compact.desktop )
install( FILES clients/informative/metadata.desktop DESTINATION ${SERVICES_INSTALL_DIR}/kwin RENAME kwin4_window_switcher_informative.desktop ) install( FILES clients/informative/metadata.desktop DESTINATION ${SERVICES_INSTALL_DIR}/${KWIN_NAME} RENAME kwin4_window_switcher_informative.desktop )
install( FILES clients/present_windows/metadata.desktop DESTINATION ${SERVICES_INSTALL_DIR}/kwin RENAME kwin4_window_switcher_present_windows.desktop ) install( FILES clients/present_windows/metadata.desktop DESTINATION ${SERVICES_INSTALL_DIR}/${KWIN_NAME} RENAME kwin4_window_switcher_present_windows.desktop )
install( FILES clients/small_icons/metadata.desktop DESTINATION ${SERVICES_INSTALL_DIR}/kwin RENAME kwin4_window_switcher_small_icons.desktop ) install( FILES clients/small_icons/metadata.desktop DESTINATION ${SERVICES_INSTALL_DIR}/${KWIN_NAME} RENAME kwin4_window_switcher_small_icons.desktop )
install( FILES clients/text/metadata.desktop DESTINATION ${SERVICES_INSTALL_DIR}/kwin RENAME kwin4_window_switcher_text.desktop ) install( FILES clients/text/metadata.desktop DESTINATION ${SERVICES_INSTALL_DIR}/${KWIN_NAME} RENAME kwin4_window_switcher_text.desktop )
install( FILES clients/thumbnails/metadata.desktop DESTINATION ${SERVICES_INSTALL_DIR}/kwin RENAME kwin4_window_switcher_thumbnails.desktop ) install( FILES clients/thumbnails/metadata.desktop DESTINATION ${SERVICES_INSTALL_DIR}/${KWIN_NAME} RENAME kwin4_window_switcher_thumbnails.desktop )
install( FILES clients/window_strip/metadata.desktop DESTINATION ${SERVICES_INSTALL_DIR}/kwin RENAME kwin4_window_switcher_window_strip.desktop ) install( FILES clients/window_strip/metadata.desktop DESTINATION ${SERVICES_INSTALL_DIR}/${KWIN_NAME} RENAME kwin4_window_switcher_window_strip.desktop )
# install additional icon tabbox into those that need it # install additional icon tabbox into those that need it
install (FILES IconTabBox.qml DESTINATION ${DATA_INSTALL_DIR}/kwin/tabbox/big_icons/contents/ui) install (FILES IconTabBox.qml DESTINATION ${DATA_INSTALL_DIR}/${KWIN_NAME}/tabbox/big_icons/contents/ui)
install (FILES IconTabBox.qml DESTINATION ${DATA_INSTALL_DIR}/kwin/tabbox/small_icons/contents/ui) install (FILES IconTabBox.qml DESTINATION ${DATA_INSTALL_DIR}/${KWIN_NAME}/tabbox/small_icons/contents/ui)