diff --git a/effects/CMakeLists.txt b/effects/CMakeLists.txt
index 62c4b08d18..5782681013 100644
--- a/effects/CMakeLists.txt
+++ b/effects/CMakeLists.txt
@@ -1,235 +1,104 @@
-# Uncomment to have the test effects built
-#add_subdirectory( test )
-
+# Uncomment to have the test effects built as well
+#add_subdirectory( _test )
# Adds effect plugin with given name. Sources are given after the name
-macro(KWIN4_ADD_EFFECT name)
- kde4_add_plugin(kwin4_effect_${name} ${ARGN})
- target_link_libraries(kwin4_effect_${name} kwineffects ${KDE4_KDEUI_LIBS} kephal)
- install(TARGETS kwin4_effect_${name} DESTINATION ${PLUGIN_INSTALL_DIR})
-endmacro(KWIN4_ADD_EFFECT)
+macro( KWIN4_ADD_EFFECT name )
+ kde4_add_plugin( kwin4_effect_${name} ${ARGN} )
+ target_link_libraries( kwin4_effect_${name} kwineffects ${KDE4_KDEUI_LIBS} kephal )
+ install( TARGETS kwin4_effect_${name} DESTINATION ${PLUGIN_INSTALL_DIR} )
+endmacro( KWIN4_ADD_EFFECT )
-macro(KWIN4_ADD_EFFECT_CONFIG name)
- set(kwin4_effect_ui ) #empty
- set(kwin4_effect_src ) #empty
- foreach(file ${ARGN})
- if(file MATCHES \\.ui)
- set(kwin4_effect_ui ${kwin4_effect_ui} ${file})
- else(file MATCHES \\.ui)
- set(kwin4_effect_src ${kwin4_effect_src} ${file})
- endif(file MATCHES \\.ui)
- endforeach(file)
- kde4_add_ui_files(kwin4_effect_src ${kwin4_effect_ui})
- kde4_add_plugin(kcm_kwin4_effect_${name} ${kwin4_effect_src})
- target_link_libraries(kcm_kwin4_effect_${name} kwineffects ${KDE4_KIO_LIBS} ${KDE4_KDEUI_LIBS} kephal)
- install(TARGETS kcm_kwin4_effect_${name} DESTINATION ${PLUGIN_INSTALL_DIR})
-endmacro(KWIN4_ADD_EFFECT_CONFIG)
+macro( KWIN4_ADD_EFFECT_CONFIG name )
+ set( kwin4_effect_ui ) # Initially empty
+ set( kwin4_effect_src ) # Initially empty
+ foreach( file ${ARGN} )
+ if( file MATCHES \\.ui )
+ set( kwin4_effect_ui ${kwin4_effect_ui} ${file} )
+ else( file MATCHES \\.ui )
+ set( kwin4_effect_src ${kwin4_effect_src} ${file} )
+ endif( file MATCHES \\.ui )
+ endforeach( file )
+
+ kde4_add_ui_files( kwin4_effect_src ${kwin4_effect_ui} )
+ kde4_add_plugin( kcm_kwin4_effect_${name} ${kwin4_effect_src} )
+ target_link_libraries( kcm_kwin4_effect_${name} kwineffects ${KDE4_KIO_LIBS} ${KDE4_KDEUI_LIBS} kephal )
+ install( TARGETS kcm_kwin4_effect_${name} DESTINATION ${PLUGIN_INSTALL_DIR} )
+endmacro( KWIN4_ADD_EFFECT_CONFIG )
+
+macro( KWIN4_EFFECT_LINK_XRENDER name )
+ if( KWIN_HAVE_XRENDER_COMPOSITING )
+ target_link_libraries( kwin4_effect_${name} ${X11_Xrender_LIB} ${X11_LIBRARIES} kephal )
+ endif( KWIN_HAVE_XRENDER_COMPOSITING )
+endmacro( KWIN4_EFFECT_LINK_XRENDER )
+
+# Make sure we can see our libraries
include_directories(
${KDEBASE_WORKSPACE_SOURCE_DIR}/kwin/lib
)
-install( FILES kwineffect.desktop DESTINATION ${SERVICETYPES_INSTALL_DIR})
+# Install the KWin/Effect service type
+install( FILES kwineffect.desktop DESTINATION ${SERVICETYPES_INSTALL_DIR} )
-### builtins - most important, ready-to-use effects
-# sources
-SET(kwin4_effect_builtins_sources
- boxswitch.cpp
- desktopgrid.cpp
- dialogparent.cpp
- diminactive.cpp
- dimscreen.cpp
- fade.cpp
- fadedesktop.cpp
- fallapart.cpp
- highlightwindow.cpp
- login.cpp
- logout.cpp
- magiclamp.cpp
- maketransparent.cpp
- minimizeanimation.cpp
- presentwindows.cpp
- scalein.cpp
- shadow.cpp
- showfps.cpp
- showpaint.cpp
- slide.cpp
- taskbarthumbnail.cpp
- thumbnailaside.cpp
- zoom.cpp
- )
-# their .desktop files
+# Create initial variables
+set( kwin4_effect_builtins_sources )
+set( kwin4_effect_builtins_config_sources configs_builtins.cpp )
+set( kwin4_effect_include_directories )
+
+###############################################################################
+# Built-in effects go here
+
+# Common effects
+include( boxswitch/CMakeLists.txt )
+include( desktopgrid/CMakeLists.txt )
+include( dialogparent/CMakeLists.txt )
+include( diminactive/CMakeLists.txt )
+include( dimscreen/CMakeLists.txt )
+include( fade/CMakeLists.txt )
+include( fadedesktop/CMakeLists.txt )
+include( fallapart/CMakeLists.txt )
+include( highlightwindow/CMakeLists.txt )
+include( login/CMakeLists.txt )
+include( logout/CMakeLists.txt )
+include( magiclamp/CMakeLists.txt )
+include( translucency/CMakeLists.txt )
+include( minimizeanimation/CMakeLists.txt )
+include( presentwindows/CMakeLists.txt )
+include( scalein/CMakeLists.txt )
+include( shadow/CMakeLists.txt )
+include( showfps/CMakeLists.txt )
+include( showpaint/CMakeLists.txt )
+include( slide/CMakeLists.txt )
+include( taskbarthumbnail/CMakeLists.txt )
+include( thumbnailaside/CMakeLists.txt )
+include( zoom/CMakeLists.txt )
+
+# OpenGL-specific effects
+if( KWIN_HAVE_OPENGL_COMPOSITING )
+ include( blur/CMakeLists.txt )
+ include( coverswitch/CMakeLists.txt )
+ include( cube/CMakeLists.txt )
+ include( explosion/CMakeLists.txt )
+ include( flipswitch/CMakeLists.txt )
+ include( invert/CMakeLists.txt )
+ include( lookingglass/CMakeLists.txt )
+ include( magnifier/CMakeLists.txt )
+ include( mousemark/CMakeLists.txt )
+ include( sharpen/CMakeLists.txt )
+ include( snow/CMakeLists.txt )
+ include( trackmouse/CMakeLists.txt )
+ include( wobblywindows/CMakeLists.txt )
+endif( KWIN_HAVE_OPENGL_COMPOSITING )
+
+###############################################################################
+
+# Add the builtins plugin
+KWIN4_ADD_EFFECT( builtins ${kwin4_effect_builtins_sources} )
+KWIN4_ADD_EFFECT_CONFIG( builtins ${kwin4_effect_builtins_config_sources} )
+KWIN4_EFFECT_LINK_XRENDER( builtins )
+
+# Install global data files
install( FILES
- boxswitch.desktop
- desktopgrid.desktop
- dialogparent.desktop
- diminactive.desktop
- dimscreen.desktop
- fade.desktop
- fadedesktop.desktop
- fallapart.desktop
- highlightwindow.desktop
- login.desktop
- logout.desktop
- magiclamp.desktop
- maketransparent.desktop
- minimizeanimation.desktop
- presentwindows.desktop
- scalein.desktop
- shadow.desktop
- showfps.desktop
- showpaint.desktop
- slide.desktop
- taskbarthumbnail.desktop
- thumbnailaside.desktop
- zoom.desktop
- DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
-
-# config modules
-SET(kwin4_effect_builtins_config_sources
- boxswitch_config.cpp
- boxswitch_config.ui
- desktopgrid_config.cpp
- desktopgrid_config.ui
- diminactive_config.cpp
- diminactive_config.ui
- magiclamp_config.cpp
- magiclamp_config.ui
- maketransparent_config.cpp
- maketransparent_config.ui
- presentwindows_config.cpp
- presentwindows_config.ui
- shadow_config.cpp
- shadow_config.ui
- showfps_config.cpp
- showfps_config.ui
- thumbnailaside_config.cpp
- thumbnailaside_config.ui
- zoom_config.cpp
- configs_builtins.cpp)
-install( FILES
- boxswitch_config.desktop
- desktopgrid_config.desktop
- diminactive_config.desktop
- magiclamp_config.desktop
- maketransparent_config.desktop
- presentwindows_config.desktop
- shadow_config.desktop
- showfps_config.desktop
- thumbnailaside_config.desktop
- zoom_config.desktop
- DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
-
-if(KWIN_HAVE_OPENGL_COMPOSITING)
- # opengl-based effects
- SET(kwin4_effect_builtins_sources ${kwin4_effect_builtins_sources}
- blur.cpp
- coverswitch.cpp
- cube.cpp
- cylinder.cpp
- explosioneffect.cpp
- flipswitch.cpp
- invert.cpp
- lookingglass.cpp
- magnifier.cpp
- mousemark.cpp
- sharpen.cpp
- sphere.cpp
- snow.cpp
- trackmouse.cpp
- wobblywindows.cpp
- )
- install( FILES
- blur.desktop
- coverswitch.desktop
- cube.desktop
- cylinder.desktop
- explosion.desktop
- flipswitch.desktop
- invert.desktop
- lookingglass.desktop
- magnifier.desktop
- mousemark.desktop
- sharpen.desktop
- sphere.desktop
- snow.desktop
- trackmouse.desktop
- wobblywindows.desktop
- DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
- install( FILES
- data/trackmouse.png
- data/explosion.frag
- data/explosion.vert
- data/explosion-start.png
- data/explosion-end.png
- data/blur.frag
- data/blur.vert
- data/blur-render.frag
- data/blur-render.vert
- data/invert.frag
- data/invert.vert
- data/sharpen.frag
- data/sharpen.vert
- data/lookingglass.frag
- data/lookingglass.vert
- data/shadow-texture.png
- data/snow.frag
- data/snow.vert
- data/snowflake.png
- data/circle.png
- data/circle-edgy.png
- data/cubecap.png
- data/cylinder.frag
- data/cylinder.vert
- data/sphere.vert
- DESTINATION ${DATA_INSTALL_DIR}/kwin )
- SET(kwin4_effect_builtins_config_sources ${kwin4_effect_builtins_config_sources}
- coverswitch_config.cpp
- coverswitch_config.ui
- cube_config.cpp
- cube_config.ui
- cylinder_config.cpp
- cylinder_config.ui
- flipswitch_config.cpp
- flipswitch_config.ui
- invert_config.cpp
- lookingglass_config.cpp
- lookingglass_config.ui
- magnifier_config.cpp
- magnifier_config.ui
- mousemark_config.cpp
- mousemark_config.ui
- sharpen_config.cpp
- snow_config.cpp
- snow_config.ui
- sphere_config.cpp
- sphere_config.ui
- trackmouse_config.cpp
- wobblywindows_config.cpp
- wobblywindows_config.ui
- )
- install( FILES
- coverswitch_config.desktop
- cube_config.desktop
- cylinder_config.desktop
- flipswitch_config.desktop
- invert_config.desktop
- lookingglass_config.desktop
- magnifier_config.desktop
- mousemark_config.desktop
- sharpen_config.desktop
- snow_config.desktop
- sphere_config.desktop
- trackmouse_config.desktop
- wobblywindows_config.desktop
- DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
-endif(KWIN_HAVE_OPENGL_COMPOSITING)
-
-# add the plugin
-KWIN4_ADD_EFFECT(builtins ${kwin4_effect_builtins_sources})
-KWIN4_ADD_EFFECT_CONFIG(builtins ${kwin4_effect_builtins_config_sources})
-# link to xrender if necessary
-if (KWIN_HAVE_XRENDER_COMPOSITING)
- target_link_libraries(kwin4_effect_builtins ${X11_Xrender_LIB} ${X11_LIBRARIES} kephal)
-endif (KWIN_HAVE_XRENDER_COMPOSITING)
-
+ _data/circle-edgy.png
+ _data/circle.png
+ DESTINATION ${DATA_INSTALL_DIR}/kwin )
diff --git a/effects/data/circle-edgy.png b/effects/_data/circle-edgy.png
similarity index 100%
rename from effects/data/circle-edgy.png
rename to effects/_data/circle-edgy.png
diff --git a/effects/data/circle.png b/effects/_data/circle.png
similarity index 100%
rename from effects/data/circle.png
rename to effects/_data/circle.png
diff --git a/effects/test/CMakeLists.txt b/effects/_test/CMakeLists.txt
similarity index 100%
rename from effects/test/CMakeLists.txt
rename to effects/_test/CMakeLists.txt
diff --git a/effects/test/data/liquid.frag b/effects/_test/data/liquid.frag
similarity index 100%
rename from effects/test/data/liquid.frag
rename to effects/_test/data/liquid.frag
diff --git a/effects/test/data/liquid.vert b/effects/_test/data/liquid.vert
similarity index 100%
rename from effects/test/data/liquid.vert
rename to effects/_test/data/liquid.vert
diff --git a/effects/test/demo_liquid.cpp b/effects/_test/demo_liquid.cpp
similarity index 100%
rename from effects/test/demo_liquid.cpp
rename to effects/_test/demo_liquid.cpp
diff --git a/effects/test/demo_liquid.desktop b/effects/_test/demo_liquid.desktop
similarity index 100%
rename from effects/test/demo_liquid.desktop
rename to effects/_test/demo_liquid.desktop
diff --git a/effects/test/demo_liquid.h b/effects/_test/demo_liquid.h
similarity index 100%
rename from effects/test/demo_liquid.h
rename to effects/_test/demo_liquid.h
diff --git a/effects/test/demo_shakymove.cpp b/effects/_test/demo_shakymove.cpp
similarity index 100%
rename from effects/test/demo_shakymove.cpp
rename to effects/_test/demo_shakymove.cpp
diff --git a/effects/test/demo_shakymove.desktop b/effects/_test/demo_shakymove.desktop
similarity index 100%
rename from effects/test/demo_shakymove.desktop
rename to effects/_test/demo_shakymove.desktop
diff --git a/effects/test/demo_shakymove.h b/effects/_test/demo_shakymove.h
similarity index 100%
rename from effects/test/demo_shakymove.h
rename to effects/_test/demo_shakymove.h
diff --git a/effects/test/demo_shiftworkspaceup.cpp b/effects/_test/demo_shiftworkspaceup.cpp
similarity index 100%
rename from effects/test/demo_shiftworkspaceup.cpp
rename to effects/_test/demo_shiftworkspaceup.cpp
diff --git a/effects/test/demo_shiftworkspaceup.desktop b/effects/_test/demo_shiftworkspaceup.desktop
similarity index 100%
rename from effects/test/demo_shiftworkspaceup.desktop
rename to effects/_test/demo_shiftworkspaceup.desktop
diff --git a/effects/test/demo_shiftworkspaceup.h b/effects/_test/demo_shiftworkspaceup.h
similarity index 100%
rename from effects/test/demo_shiftworkspaceup.h
rename to effects/_test/demo_shiftworkspaceup.h
diff --git a/effects/test/demo_showpicture.cpp b/effects/_test/demo_showpicture.cpp
similarity index 100%
rename from effects/test/demo_showpicture.cpp
rename to effects/_test/demo_showpicture.cpp
diff --git a/effects/test/demo_showpicture.desktop b/effects/_test/demo_showpicture.desktop
similarity index 100%
rename from effects/test/demo_showpicture.desktop
rename to effects/_test/demo_showpicture.desktop
diff --git a/effects/test/demo_showpicture.h b/effects/_test/demo_showpicture.h
similarity index 100%
rename from effects/test/demo_showpicture.h
rename to effects/_test/demo_showpicture.h
diff --git a/effects/test/demo_wavywindows.cpp b/effects/_test/demo_wavywindows.cpp
similarity index 100%
rename from effects/test/demo_wavywindows.cpp
rename to effects/_test/demo_wavywindows.cpp
diff --git a/effects/test/demo_wavywindows.desktop b/effects/_test/demo_wavywindows.desktop
similarity index 100%
rename from effects/test/demo_wavywindows.desktop
rename to effects/_test/demo_wavywindows.desktop
diff --git a/effects/test/demo_wavywindows.h b/effects/_test/demo_wavywindows.h
similarity index 100%
rename from effects/test/demo_wavywindows.h
rename to effects/_test/demo_wavywindows.h
diff --git a/effects/test/drunken.cpp b/effects/_test/drunken.cpp
similarity index 100%
rename from effects/test/drunken.cpp
rename to effects/_test/drunken.cpp
diff --git a/effects/test/drunken.desktop b/effects/_test/drunken.desktop
similarity index 100%
rename from effects/test/drunken.desktop
rename to effects/_test/drunken.desktop
diff --git a/effects/test/drunken.h b/effects/_test/drunken.h
similarity index 100%
rename from effects/test/drunken.h
rename to effects/_test/drunken.h
diff --git a/effects/test/flame.cpp b/effects/_test/flame.cpp
similarity index 100%
rename from effects/test/flame.cpp
rename to effects/_test/flame.cpp
diff --git a/effects/test/flame.desktop b/effects/_test/flame.desktop
similarity index 100%
rename from effects/test/flame.desktop
rename to effects/_test/flame.desktop
diff --git a/effects/test/flame.h b/effects/_test/flame.h
similarity index 100%
rename from effects/test/flame.h
rename to effects/_test/flame.h
diff --git a/effects/test/howto.cpp b/effects/_test/howto.cpp
similarity index 100%
rename from effects/test/howto.cpp
rename to effects/_test/howto.cpp
diff --git a/effects/test/howto.desktop b/effects/_test/howto.desktop
similarity index 100%
rename from effects/test/howto.desktop
rename to effects/_test/howto.desktop
diff --git a/effects/test/howto.h b/effects/_test/howto.h
similarity index 100%
rename from effects/test/howto.h
rename to effects/_test/howto.h
diff --git a/effects/test/test_fbo.cpp b/effects/_test/test_fbo.cpp
similarity index 100%
rename from effects/test/test_fbo.cpp
rename to effects/_test/test_fbo.cpp
diff --git a/effects/test/test_fbo.desktop b/effects/_test/test_fbo.desktop
similarity index 100%
rename from effects/test/test_fbo.desktop
rename to effects/_test/test_fbo.desktop
diff --git a/effects/test/test_fbo.h b/effects/_test/test_fbo.h
similarity index 100%
rename from effects/test/test_fbo.h
rename to effects/_test/test_fbo.h
diff --git a/effects/test/test_input.cpp b/effects/_test/test_input.cpp
similarity index 100%
rename from effects/test/test_input.cpp
rename to effects/_test/test_input.cpp
diff --git a/effects/test/test_input.desktop b/effects/_test/test_input.desktop
similarity index 100%
rename from effects/test/test_input.desktop
rename to effects/_test/test_input.desktop
diff --git a/effects/test/test_input.h b/effects/_test/test_input.h
similarity index 100%
rename from effects/test/test_input.h
rename to effects/_test/test_input.h
diff --git a/effects/test/test_thumbnail.cpp b/effects/_test/test_thumbnail.cpp
similarity index 100%
rename from effects/test/test_thumbnail.cpp
rename to effects/_test/test_thumbnail.cpp
diff --git a/effects/test/test_thumbnail.desktop b/effects/_test/test_thumbnail.desktop
similarity index 100%
rename from effects/test/test_thumbnail.desktop
rename to effects/_test/test_thumbnail.desktop
diff --git a/effects/test/test_thumbnail.h b/effects/_test/test_thumbnail.h
similarity index 100%
rename from effects/test/test_thumbnail.h
rename to effects/_test/test_thumbnail.h
diff --git a/effects/test/videorecord.cpp b/effects/_test/videorecord.cpp
similarity index 100%
rename from effects/test/videorecord.cpp
rename to effects/_test/videorecord.cpp
diff --git a/effects/test/videorecord.desktop b/effects/_test/videorecord.desktop
similarity index 100%
rename from effects/test/videorecord.desktop
rename to effects/_test/videorecord.desktop
diff --git a/effects/test/videorecord.h b/effects/_test/videorecord.h
similarity index 100%
rename from effects/test/videorecord.h
rename to effects/_test/videorecord.h
diff --git a/effects/test/videorecord_config.cpp b/effects/_test/videorecord_config.cpp
similarity index 100%
rename from effects/test/videorecord_config.cpp
rename to effects/_test/videorecord_config.cpp
diff --git a/effects/test/videorecord_config.desktop b/effects/_test/videorecord_config.desktop
similarity index 100%
rename from effects/test/videorecord_config.desktop
rename to effects/_test/videorecord_config.desktop
diff --git a/effects/test/videorecord_config.h b/effects/_test/videorecord_config.h
similarity index 100%
rename from effects/test/videorecord_config.h
rename to effects/_test/videorecord_config.h
diff --git a/effects/blur/CMakeLists.txt b/effects/blur/CMakeLists.txt
new file mode 100644
index 0000000000..2dd7dc6756
--- /dev/null
+++ b/effects/blur/CMakeLists.txt
@@ -0,0 +1,20 @@
+#######################################
+# Effect
+
+# Source files
+set( kwin4_effect_builtins_sources ${kwin4_effect_builtins_sources}
+ blur/blur.cpp
+ )
+
+# .desktop files
+install( FILES
+ blur/blur.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
+
+# Data files
+install( FILES
+ blur/data/blur.frag
+ blur/data/blur.vert
+ blur/data/blur-render.frag
+ blur/data/blur-render.vert
+ DESTINATION ${DATA_INSTALL_DIR}/kwin )
diff --git a/effects/blur.cpp b/effects/blur/blur.cpp
similarity index 100%
rename from effects/blur.cpp
rename to effects/blur/blur.cpp
diff --git a/effects/blur.desktop b/effects/blur/blur.desktop
similarity index 100%
rename from effects/blur.desktop
rename to effects/blur/blur.desktop
diff --git a/effects/blur.h b/effects/blur/blur.h
similarity index 100%
rename from effects/blur.h
rename to effects/blur/blur.h
diff --git a/effects/data/blur-render.frag b/effects/blur/data/blur-render.frag
similarity index 100%
rename from effects/data/blur-render.frag
rename to effects/blur/data/blur-render.frag
diff --git a/effects/data/blur-render.vert b/effects/blur/data/blur-render.vert
similarity index 100%
rename from effects/data/blur-render.vert
rename to effects/blur/data/blur-render.vert
diff --git a/effects/data/blur.frag b/effects/blur/data/blur.frag
similarity index 100%
rename from effects/data/blur.frag
rename to effects/blur/data/blur.frag
diff --git a/effects/data/blur.vert b/effects/blur/data/blur.vert
similarity index 100%
rename from effects/data/blur.vert
rename to effects/blur/data/blur.vert
diff --git a/effects/boxswitch/CMakeLists.txt b/effects/boxswitch/CMakeLists.txt
new file mode 100644
index 0000000000..5ed180a022
--- /dev/null
+++ b/effects/boxswitch/CMakeLists.txt
@@ -0,0 +1,26 @@
+#######################################
+# Effect
+
+# Source files
+set( kwin4_effect_builtins_sources ${kwin4_effect_builtins_sources}
+ boxswitch/boxswitch.cpp
+ )
+
+# .desktop files
+install( FILES
+ boxswitch/boxswitch.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
+
+#######################################
+# Config
+
+# Source files
+set( kwin4_effect_builtins_config_sources ${kwin4_effect_builtins_config_sources}
+ boxswitch/boxswitch_config.cpp
+ boxswitch/boxswitch_config.ui
+ )
+
+# .desktop files
+install( FILES
+ boxswitch/boxswitch_config.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
diff --git a/effects/boxswitch.cpp b/effects/boxswitch/boxswitch.cpp
similarity index 100%
rename from effects/boxswitch.cpp
rename to effects/boxswitch/boxswitch.cpp
diff --git a/effects/boxswitch.desktop b/effects/boxswitch/boxswitch.desktop
similarity index 100%
rename from effects/boxswitch.desktop
rename to effects/boxswitch/boxswitch.desktop
diff --git a/effects/boxswitch.h b/effects/boxswitch/boxswitch.h
similarity index 100%
rename from effects/boxswitch.h
rename to effects/boxswitch/boxswitch.h
diff --git a/effects/boxswitch_config.cpp b/effects/boxswitch/boxswitch_config.cpp
similarity index 99%
rename from effects/boxswitch_config.cpp
rename to effects/boxswitch/boxswitch_config.cpp
index a48ee808e7..ae4c0e15aa 100644
--- a/effects/boxswitch_config.cpp
+++ b/effects/boxswitch/boxswitch_config.cpp
@@ -24,13 +24,12 @@ along with this program. If not, see .
#include
#include
-#ifndef KDE_USE_FINAL
-KWIN_EFFECT_CONFIG_FACTORY
-#endif
namespace KWin
{
+KWIN_EFFECT_CONFIG_FACTORY
+
BoxSwitchEffectConfigForm::BoxSwitchEffectConfigForm(QWidget* parent) : QWidget(parent)
{
setupUi(this);
diff --git a/effects/boxswitch_config.desktop b/effects/boxswitch/boxswitch_config.desktop
similarity index 100%
rename from effects/boxswitch_config.desktop
rename to effects/boxswitch/boxswitch_config.desktop
diff --git a/effects/boxswitch_config.h b/effects/boxswitch/boxswitch_config.h
similarity index 100%
rename from effects/boxswitch_config.h
rename to effects/boxswitch/boxswitch_config.h
diff --git a/effects/boxswitch_config.ui b/effects/boxswitch/boxswitch_config.ui
similarity index 100%
rename from effects/boxswitch_config.ui
rename to effects/boxswitch/boxswitch_config.ui
diff --git a/effects/configs_builtins.cpp b/effects/configs_builtins.cpp
index 3a1a9a7846..35b0cdb451 100644
--- a/effects/configs_builtins.cpp
+++ b/effects/configs_builtins.cpp
@@ -4,6 +4,7 @@
Copyright (C) 2007 Bernhard Loos
Copyright (C) 2007 Christian Nitschkowski
+Copyright (C) 2009 Lucas Murray
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -21,93 +22,67 @@ along with this program. If not, see .
#include
-#include "boxswitch_config.h"
-#include "desktopgrid_config.h"
-#include "diminactive_config.h"
-#include "magiclamp_config.h"
-#include "maketransparent_config.h"
-#include "presentwindows_config.h"
-#include "shadow_config.h"
-#include "showfps_config.h"
-#include "thumbnailaside_config.h"
-#include "zoom_config.h"
-
+#include "boxswitch/boxswitch_config.h"
+#include "desktopgrid/desktopgrid_config.h"
+#include "diminactive/diminactive_config.h"
+#include "magiclamp/magiclamp_config.h"
+#include "translucency/translucency_config.h"
+#include "presentwindows/presentwindows_config.h"
+#include "shadow/shadow_config.h"
+#include "showfps/showfps_config.h"
+#include "thumbnailaside/thumbnailaside_config.h"
+#include "zoom/zoom_config.h"
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
-#include "coverswitch_config.h"
-#include "cube_config.h"
-#include "cylinder_config.h"
-#include "flipswitch_config.h"
-#include "invert_config.h"
-#include "lookingglass_config.h"
-#include "mousemark_config.h"
-#include "magnifier_config.h"
-#include "sharpen_config.h"
-#include "snow_config.h"
-#include "sphere_config.h"
-#include "trackmouse_config.h"
-#include "wobblywindows_config.h"
-#endif
-#ifdef KWIN_HAVE_XRENDER_COMPOSITING
-// xrender-only here if any
-#endif
-#ifdef HAVE_CAPTURY
-#include "videorecord_config.h"
+#include "coverswitch/coverswitch_config.h"
+#include "cube/cube_config.h"
+#include "cube/cylinder_config.h"
+#include "cube/sphere_config.h"
+#include "flipswitch/flipswitch_config.h"
+#include "invert/invert_config.h"
+#include "lookingglass/lookingglass_config.h"
+#include "mousemark/mousemark_config.h"
+#include "magnifier/magnifier_config.h"
+#include "sharpen/sharpen_config.h"
+#include "snow/snow_config.h"
+#include "trackmouse/trackmouse_config.h"
+#include "wobblywindows/wobblywindows_config.h"
#endif
#include
#include
-#ifndef KDE_USE_FINAL
-KWIN_EFFECT_CONFIG_FACTORY
-#endif
-#define COMMON_PLUGINS \
- registerPlugin("boxswitch"); \
- registerPlugin("desktopgrid"); \
- registerPlugin("diminactive"); \
- registerPlugin("magiclamp"); \
- registerPlugin("maketransparent"); \
- registerPlugin("presentwindows"); \
- registerPlugin("shadow"); \
- registerPlugin ("showfps"); \
- registerPlugin("thumbnailaside"); \
- registerPlugin("zoom");
+namespace KWin
+{
-#define OPENGL_PLUGINS \
- registerPlugin("coverswitch"); \
- registerPlugin("cube"); \
- registerPlugin("cylinder"); \
- registerPlugin("flipswitch"); \
- registerPlugin("invert"); \
- registerPlugin("lookingglass"); \
- registerPlugin("mousemark"); \
- registerPlugin("magnifier"); \
- registerPlugin("sharpen"); \
- registerPlugin("snow"); \
- registerPlugin("sphere"); \
- registerPlugin("trackmouse"); \
- registerPlugin ("wobblywindows");
+KWIN_EFFECT_CONFIG_MULTIPLE( builtins,
+ KWIN_EFFECT_CONFIG_SINGLE( boxswitch, BoxSwitchEffectConfig )
+ KWIN_EFFECT_CONFIG_SINGLE( desktopgrid, DesktopGridEffectConfig )
+ KWIN_EFFECT_CONFIG_SINGLE( diminactive, DimInactiveEffectConfig )
+ KWIN_EFFECT_CONFIG_SINGLE( magiclamp, MagicLampEffectConfig )
+ KWIN_EFFECT_CONFIG_SINGLE( translucency, TranslucencyEffectConfig )
+ KWIN_EFFECT_CONFIG_SINGLE( presentwindows, PresentWindowsEffectConfig )
+ KWIN_EFFECT_CONFIG_SINGLE( shadow, ShadowEffectConfig )
+ KWIN_EFFECT_CONFIG_SINGLE( showfps, ShowFpsEffectConfig )
+ KWIN_EFFECT_CONFIG_SINGLE( thumbnailaside, ThumbnailAsideEffectConfig )
+ KWIN_EFFECT_CONFIG_SINGLE( zoom, ZoomEffectConfig )
-#define XRENDER_PLUGINS
-#define CAPTURY_PLUGINS \
- registerPlugin ("videorecord");
-
-K_PLUGIN_FACTORY_DEFINITION(EffectFactory,
- COMMON_PLUGINS
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
- OPENGL_PLUGINS
-#endif
-#ifdef KWIN_HAVE_XRENDER_COMPOSITING
- XRENDER_PLUGINS
-#endif
-#ifdef HAVE_CAPTURY
- CAPTURY_PLUGINS
+ KWIN_EFFECT_CONFIG_SINGLE( coverswitch, CoverSwitchEffectConfig )
+ KWIN_EFFECT_CONFIG_SINGLE( cube, CubeEffectConfig )
+ KWIN_EFFECT_CONFIG_SINGLE( cylinder, CylinderEffectConfig )
+ KWIN_EFFECT_CONFIG_SINGLE( sphere, SphereEffectConfig )
+ KWIN_EFFECT_CONFIG_SINGLE( flipswitch, FlipSwitchEffectConfig )
+ KWIN_EFFECT_CONFIG_SINGLE( invert, InvertEffectConfig )
+ KWIN_EFFECT_CONFIG_SINGLE( lookingglass, LookingGlassEffectConfig )
+ KWIN_EFFECT_CONFIG_SINGLE( mousemark, MouseMarkEffectConfig )
+ KWIN_EFFECT_CONFIG_SINGLE( magnifier, MagnifierEffectConfig )
+ KWIN_EFFECT_CONFIG_SINGLE( sharpen, SharpenEffectConfig )
+ KWIN_EFFECT_CONFIG_SINGLE( snow, SnowEffectConfig )
+ KWIN_EFFECT_CONFIG_SINGLE( trackmouse, TrackMouseEffectConfig )
+ KWIN_EFFECT_CONFIG_SINGLE( wobblywindows, WobblyWindowsEffectConfig )
#endif
)
-K_EXPORT_PLUGIN(EffectFactory("kwin"))
-#undef COMMON_PLUGINS
-#undef OPENGL_PLUGINS
-#undef XRENDER_PLUGINS
-#undef CAPTURY_PLUGINS
+} // namespace
diff --git a/effects/coverswitch/CMakeLists.txt b/effects/coverswitch/CMakeLists.txt
new file mode 100644
index 0000000000..cc08dcbe12
--- /dev/null
+++ b/effects/coverswitch/CMakeLists.txt
@@ -0,0 +1,26 @@
+#######################################
+# Effect
+
+# Source files
+set( kwin4_effect_builtins_sources ${kwin4_effect_builtins_sources}
+ coverswitch/coverswitch.cpp
+ )
+
+# .desktop files
+install( FILES
+ coverswitch/coverswitch.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
+
+#######################################
+# Config
+
+# Source files
+set( kwin4_effect_builtins_config_sources ${kwin4_effect_builtins_config_sources}
+ coverswitch/coverswitch_config.cpp
+ coverswitch/coverswitch_config.ui
+ )
+
+# .desktop files
+install( FILES
+ coverswitch/coverswitch_config.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
diff --git a/effects/coverswitch.cpp b/effects/coverswitch/coverswitch.cpp
similarity index 100%
rename from effects/coverswitch.cpp
rename to effects/coverswitch/coverswitch.cpp
diff --git a/effects/coverswitch.desktop b/effects/coverswitch/coverswitch.desktop
similarity index 100%
rename from effects/coverswitch.desktop
rename to effects/coverswitch/coverswitch.desktop
diff --git a/effects/coverswitch.h b/effects/coverswitch/coverswitch.h
similarity index 100%
rename from effects/coverswitch.h
rename to effects/coverswitch/coverswitch.h
diff --git a/effects/coverswitch_config.cpp b/effects/coverswitch/coverswitch_config.cpp
similarity index 99%
rename from effects/coverswitch_config.cpp
rename to effects/coverswitch/coverswitch_config.cpp
index b4da1b84c1..a18b9874d1 100644
--- a/effects/coverswitch_config.cpp
+++ b/effects/coverswitch/coverswitch_config.cpp
@@ -23,13 +23,12 @@ along with this program. If not, see .
#include
#include
-#ifndef KDE_USE_FINAL
-KWIN_EFFECT_CONFIG_FACTORY
-#endif
namespace KWin
{
+KWIN_EFFECT_CONFIG_FACTORY
+
CoverSwitchEffectConfigForm::CoverSwitchEffectConfigForm(QWidget* parent) : QWidget(parent)
{
setupUi(this);
diff --git a/effects/coverswitch_config.desktop b/effects/coverswitch/coverswitch_config.desktop
similarity index 100%
rename from effects/coverswitch_config.desktop
rename to effects/coverswitch/coverswitch_config.desktop
diff --git a/effects/coverswitch_config.h b/effects/coverswitch/coverswitch_config.h
similarity index 100%
rename from effects/coverswitch_config.h
rename to effects/coverswitch/coverswitch_config.h
diff --git a/effects/coverswitch_config.ui b/effects/coverswitch/coverswitch_config.ui
similarity index 100%
rename from effects/coverswitch_config.ui
rename to effects/coverswitch/coverswitch_config.ui
diff --git a/effects/cube/CMakeLists.txt b/effects/cube/CMakeLists.txt
new file mode 100644
index 0000000000..9829f3c73f
--- /dev/null
+++ b/effects/cube/CMakeLists.txt
@@ -0,0 +1,44 @@
+#######################################
+# Effect
+
+# Source files
+set( kwin4_effect_builtins_sources ${kwin4_effect_builtins_sources}
+ cube/cube.cpp
+ cube/cylinder.cpp
+ cube/sphere.cpp
+ )
+
+# .desktop files
+install( FILES
+ cube/cube.desktop
+ cube/cylinder.desktop
+ cube/sphere.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
+
+# Data files
+install( FILES
+ cube/data/cubecap.png
+ cube/data/cylinder.frag
+ cube/data/cylinder.vert
+ cube/data/sphere.vert
+ DESTINATION ${DATA_INSTALL_DIR}/kwin )
+
+#######################################
+# Config
+
+# Source files
+set( kwin4_effect_builtins_config_sources ${kwin4_effect_builtins_config_sources}
+ cube/cube_config.cpp
+ cube/cube_config.ui
+ cube/cylinder_config.cpp
+ cube/cylinder_config.ui
+ cube/sphere_config.cpp
+ cube/sphere_config.ui
+ )
+
+# .desktop files
+install( FILES
+ cube/cube_config.desktop
+ cube/cylinder_config.desktop
+ cube/sphere_config.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
diff --git a/effects/cube.cpp b/effects/cube/cube.cpp
similarity index 100%
rename from effects/cube.cpp
rename to effects/cube/cube.cpp
diff --git a/effects/cube.desktop b/effects/cube/cube.desktop
similarity index 100%
rename from effects/cube.desktop
rename to effects/cube/cube.desktop
diff --git a/effects/cube.h b/effects/cube/cube.h
similarity index 100%
rename from effects/cube.h
rename to effects/cube/cube.h
diff --git a/effects/cube_config.cpp b/effects/cube/cube_config.cpp
similarity index 99%
rename from effects/cube_config.cpp
rename to effects/cube/cube_config.cpp
index 98ea07f8cb..f0283004be 100644
--- a/effects/cube_config.cpp
+++ b/effects/cube/cube_config.cpp
@@ -29,13 +29,12 @@ along with this program. If not, see .
#include
#include
-#ifndef KDE_USE_FINAL
-KWIN_EFFECT_CONFIG_FACTORY
-#endif
namespace KWin
{
+KWIN_EFFECT_CONFIG_FACTORY
+
CubeEffectConfigForm::CubeEffectConfigForm(QWidget* parent) : QWidget(parent)
{
setupUi(this);
diff --git a/effects/cube_config.desktop b/effects/cube/cube_config.desktop
similarity index 100%
rename from effects/cube_config.desktop
rename to effects/cube/cube_config.desktop
diff --git a/effects/cube_config.h b/effects/cube/cube_config.h
similarity index 100%
rename from effects/cube_config.h
rename to effects/cube/cube_config.h
diff --git a/effects/cube_config.ui b/effects/cube/cube_config.ui
similarity index 100%
rename from effects/cube_config.ui
rename to effects/cube/cube_config.ui
diff --git a/effects/cylinder.cpp b/effects/cube/cylinder.cpp
similarity index 100%
rename from effects/cylinder.cpp
rename to effects/cube/cylinder.cpp
diff --git a/effects/cylinder.desktop b/effects/cube/cylinder.desktop
similarity index 100%
rename from effects/cylinder.desktop
rename to effects/cube/cylinder.desktop
diff --git a/effects/cylinder.h b/effects/cube/cylinder.h
similarity index 100%
rename from effects/cylinder.h
rename to effects/cube/cylinder.h
diff --git a/effects/cylinder_config.cpp b/effects/cube/cylinder_config.cpp
similarity index 99%
rename from effects/cylinder_config.cpp
rename to effects/cube/cylinder_config.cpp
index 1a90e36eee..e5a82df595 100644
--- a/effects/cylinder_config.cpp
+++ b/effects/cube/cylinder_config.cpp
@@ -29,13 +29,12 @@ along with this program. If not, see .
#include
#include
-#ifndef KDE_USE_FINAL
-KWIN_EFFECT_CONFIG_FACTORY
-#endif
namespace KWin
{
+KWIN_EFFECT_CONFIG_FACTORY
+
CylinderEffectConfigForm::CylinderEffectConfigForm(QWidget* parent) : QWidget(parent)
{
setupUi(this);
diff --git a/effects/cylinder_config.desktop b/effects/cube/cylinder_config.desktop
similarity index 100%
rename from effects/cylinder_config.desktop
rename to effects/cube/cylinder_config.desktop
diff --git a/effects/cylinder_config.h b/effects/cube/cylinder_config.h
similarity index 100%
rename from effects/cylinder_config.h
rename to effects/cube/cylinder_config.h
diff --git a/effects/cylinder_config.ui b/effects/cube/cylinder_config.ui
similarity index 100%
rename from effects/cylinder_config.ui
rename to effects/cube/cylinder_config.ui
diff --git a/effects/data/cubecap.png b/effects/cube/data/cubecap.png
similarity index 100%
rename from effects/data/cubecap.png
rename to effects/cube/data/cubecap.png
diff --git a/effects/data/cylinder.frag b/effects/cube/data/cylinder.frag
similarity index 100%
rename from effects/data/cylinder.frag
rename to effects/cube/data/cylinder.frag
diff --git a/effects/data/cylinder.vert b/effects/cube/data/cylinder.vert
similarity index 100%
rename from effects/data/cylinder.vert
rename to effects/cube/data/cylinder.vert
diff --git a/effects/data/sphere.vert b/effects/cube/data/sphere.vert
similarity index 100%
rename from effects/data/sphere.vert
rename to effects/cube/data/sphere.vert
diff --git a/effects/sphere.cpp b/effects/cube/sphere.cpp
similarity index 100%
rename from effects/sphere.cpp
rename to effects/cube/sphere.cpp
diff --git a/effects/sphere.desktop b/effects/cube/sphere.desktop
similarity index 100%
rename from effects/sphere.desktop
rename to effects/cube/sphere.desktop
diff --git a/effects/sphere.h b/effects/cube/sphere.h
similarity index 100%
rename from effects/sphere.h
rename to effects/cube/sphere.h
diff --git a/effects/sphere_config.cpp b/effects/cube/sphere_config.cpp
similarity index 99%
rename from effects/sphere_config.cpp
rename to effects/cube/sphere_config.cpp
index a97fcaa8b2..140d5638f3 100644
--- a/effects/sphere_config.cpp
+++ b/effects/cube/sphere_config.cpp
@@ -29,13 +29,12 @@ along with this program. If not, see .
#include
#include
-#ifndef KDE_USE_FINAL
-KWIN_EFFECT_CONFIG_FACTORY
-#endif
namespace KWin
{
+KWIN_EFFECT_CONFIG_FACTORY
+
SphereEffectConfigForm::SphereEffectConfigForm(QWidget* parent) : QWidget(parent)
{
setupUi(this);
diff --git a/effects/sphere_config.desktop b/effects/cube/sphere_config.desktop
similarity index 100%
rename from effects/sphere_config.desktop
rename to effects/cube/sphere_config.desktop
diff --git a/effects/sphere_config.h b/effects/cube/sphere_config.h
similarity index 100%
rename from effects/sphere_config.h
rename to effects/cube/sphere_config.h
diff --git a/effects/sphere_config.ui b/effects/cube/sphere_config.ui
similarity index 100%
rename from effects/sphere_config.ui
rename to effects/cube/sphere_config.ui
diff --git a/effects/desktopgrid/CMakeLists.txt b/effects/desktopgrid/CMakeLists.txt
new file mode 100644
index 0000000000..e12f523498
--- /dev/null
+++ b/effects/desktopgrid/CMakeLists.txt
@@ -0,0 +1,26 @@
+#######################################
+# Effect
+
+# Source files
+set( kwin4_effect_builtins_sources ${kwin4_effect_builtins_sources}
+ desktopgrid/desktopgrid.cpp
+ )
+
+# .desktop files
+install( FILES
+ desktopgrid/desktopgrid.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
+
+#######################################
+# Config
+
+# Source files
+set( kwin4_effect_builtins_config_sources ${kwin4_effect_builtins_config_sources}
+ desktopgrid/desktopgrid_config.cpp
+ desktopgrid/desktopgrid_config.ui
+ )
+
+# .desktop files
+install( FILES
+ desktopgrid/desktopgrid_config.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
diff --git a/effects/desktopgrid.cpp b/effects/desktopgrid/desktopgrid.cpp
similarity index 100%
rename from effects/desktopgrid.cpp
rename to effects/desktopgrid/desktopgrid.cpp
diff --git a/effects/desktopgrid.desktop b/effects/desktopgrid/desktopgrid.desktop
similarity index 100%
rename from effects/desktopgrid.desktop
rename to effects/desktopgrid/desktopgrid.desktop
diff --git a/effects/desktopgrid.h b/effects/desktopgrid/desktopgrid.h
similarity index 100%
rename from effects/desktopgrid.h
rename to effects/desktopgrid/desktopgrid.h
diff --git a/effects/desktopgrid_config.cpp b/effects/desktopgrid/desktopgrid_config.cpp
similarity index 99%
rename from effects/desktopgrid_config.cpp
rename to effects/desktopgrid/desktopgrid_config.cpp
index e6a33bf255..80be4896c7 100644
--- a/effects/desktopgrid_config.cpp
+++ b/effects/desktopgrid/desktopgrid_config.cpp
@@ -28,13 +28,12 @@ along with this program. If not, see .
#include
#include
-#ifndef KDE_USE_FINAL
-KWIN_EFFECT_CONFIG_FACTORY
-#endif
namespace KWin
{
+KWIN_EFFECT_CONFIG_FACTORY
+
DesktopGridEffectConfigForm::DesktopGridEffectConfigForm(QWidget* parent) : QWidget(parent)
{
setupUi(this);
diff --git a/effects/desktopgrid_config.desktop b/effects/desktopgrid/desktopgrid_config.desktop
similarity index 100%
rename from effects/desktopgrid_config.desktop
rename to effects/desktopgrid/desktopgrid_config.desktop
diff --git a/effects/desktopgrid_config.h b/effects/desktopgrid/desktopgrid_config.h
similarity index 100%
rename from effects/desktopgrid_config.h
rename to effects/desktopgrid/desktopgrid_config.h
diff --git a/effects/desktopgrid_config.ui b/effects/desktopgrid/desktopgrid_config.ui
similarity index 100%
rename from effects/desktopgrid_config.ui
rename to effects/desktopgrid/desktopgrid_config.ui
diff --git a/effects/dialogparent/CMakeLists.txt b/effects/dialogparent/CMakeLists.txt
new file mode 100644
index 0000000000..ab626750de
--- /dev/null
+++ b/effects/dialogparent/CMakeLists.txt
@@ -0,0 +1,12 @@
+#######################################
+# Effect
+
+# Source files
+set( kwin4_effect_builtins_sources ${kwin4_effect_builtins_sources}
+ dialogparent/dialogparent.cpp
+ )
+
+# .desktop files
+install( FILES
+ dialogparent/dialogparent.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
diff --git a/effects/dialogparent.cpp b/effects/dialogparent/dialogparent.cpp
similarity index 100%
rename from effects/dialogparent.cpp
rename to effects/dialogparent/dialogparent.cpp
diff --git a/effects/dialogparent.desktop b/effects/dialogparent/dialogparent.desktop
similarity index 100%
rename from effects/dialogparent.desktop
rename to effects/dialogparent/dialogparent.desktop
diff --git a/effects/dialogparent.h b/effects/dialogparent/dialogparent.h
similarity index 100%
rename from effects/dialogparent.h
rename to effects/dialogparent/dialogparent.h
diff --git a/effects/diminactive/CMakeLists.txt b/effects/diminactive/CMakeLists.txt
new file mode 100644
index 0000000000..2d143e9392
--- /dev/null
+++ b/effects/diminactive/CMakeLists.txt
@@ -0,0 +1,26 @@
+#######################################
+# Effect
+
+# Source files
+set( kwin4_effect_builtins_sources ${kwin4_effect_builtins_sources}
+ diminactive/diminactive.cpp
+ )
+
+# .desktop files
+install( FILES
+ diminactive/diminactive.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
+
+#######################################
+# Config
+
+# Source files
+set( kwin4_effect_builtins_config_sources ${kwin4_effect_builtins_config_sources}
+ diminactive/diminactive_config.cpp
+ diminactive/diminactive_config.ui
+ )
+
+# .desktop files
+install( FILES
+ diminactive/diminactive_config.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
diff --git a/effects/diminactive.cpp b/effects/diminactive/diminactive.cpp
similarity index 100%
rename from effects/diminactive.cpp
rename to effects/diminactive/diminactive.cpp
diff --git a/effects/diminactive.desktop b/effects/diminactive/diminactive.desktop
similarity index 100%
rename from effects/diminactive.desktop
rename to effects/diminactive/diminactive.desktop
diff --git a/effects/diminactive.h b/effects/diminactive/diminactive.h
similarity index 100%
rename from effects/diminactive.h
rename to effects/diminactive/diminactive.h
diff --git a/effects/diminactive_config.cpp b/effects/diminactive/diminactive_config.cpp
similarity index 100%
rename from effects/diminactive_config.cpp
rename to effects/diminactive/diminactive_config.cpp
index c766d53aba..e3045ecda5 100644
--- a/effects/diminactive_config.cpp
+++ b/effects/diminactive/diminactive_config.cpp
@@ -31,11 +31,11 @@ along with this program. If not, see .
#include
#include
-KWIN_EFFECT_CONFIG_FACTORY
-
namespace KWin
{
+KWIN_EFFECT_CONFIG_FACTORY
+
DimInactiveEffectConfigForm::DimInactiveEffectConfigForm(QWidget* parent) : QWidget(parent)
{
setupUi(this);
diff --git a/effects/diminactive_config.desktop b/effects/diminactive/diminactive_config.desktop
similarity index 100%
rename from effects/diminactive_config.desktop
rename to effects/diminactive/diminactive_config.desktop
diff --git a/effects/diminactive_config.h b/effects/diminactive/diminactive_config.h
similarity index 100%
rename from effects/diminactive_config.h
rename to effects/diminactive/diminactive_config.h
diff --git a/effects/diminactive_config.ui b/effects/diminactive/diminactive_config.ui
similarity index 100%
rename from effects/diminactive_config.ui
rename to effects/diminactive/diminactive_config.ui
diff --git a/effects/dimscreen/CMakeLists.txt b/effects/dimscreen/CMakeLists.txt
new file mode 100644
index 0000000000..0373e911ce
--- /dev/null
+++ b/effects/dimscreen/CMakeLists.txt
@@ -0,0 +1,12 @@
+#######################################
+# Effect
+
+# Source files
+set( kwin4_effect_builtins_sources ${kwin4_effect_builtins_sources}
+ dimscreen/dimscreen.cpp
+ )
+
+# .desktop files
+install( FILES
+ dimscreen/dimscreen.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
diff --git a/effects/dimscreen.cpp b/effects/dimscreen/dimscreen.cpp
similarity index 100%
rename from effects/dimscreen.cpp
rename to effects/dimscreen/dimscreen.cpp
diff --git a/effects/dimscreen.desktop b/effects/dimscreen/dimscreen.desktop
similarity index 100%
rename from effects/dimscreen.desktop
rename to effects/dimscreen/dimscreen.desktop
diff --git a/effects/dimscreen.h b/effects/dimscreen/dimscreen.h
similarity index 100%
rename from effects/dimscreen.h
rename to effects/dimscreen/dimscreen.h
diff --git a/effects/explosion/CMakeLists.txt b/effects/explosion/CMakeLists.txt
new file mode 100644
index 0000000000..ba83e60d79
--- /dev/null
+++ b/effects/explosion/CMakeLists.txt
@@ -0,0 +1,20 @@
+#######################################
+# Effect
+
+# Source files
+set( kwin4_effect_builtins_sources ${kwin4_effect_builtins_sources}
+ explosion/explosion.cpp
+ )
+
+# .desktop files
+install( FILES
+ explosion/explosion.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
+
+# Data files
+install( FILES
+ explosion/data/explosion-end.png
+ explosion/data/explosion-start.png
+ explosion/data/explosion.frag
+ explosion/data/explosion.vert
+ DESTINATION ${DATA_INSTALL_DIR}/kwin )
diff --git a/effects/data/explosion-end.png b/effects/explosion/data/explosion-end.png
similarity index 100%
rename from effects/data/explosion-end.png
rename to effects/explosion/data/explosion-end.png
diff --git a/effects/data/explosion-start.png b/effects/explosion/data/explosion-start.png
similarity index 100%
rename from effects/data/explosion-start.png
rename to effects/explosion/data/explosion-start.png
diff --git a/effects/data/explosion.frag b/effects/explosion/data/explosion.frag
similarity index 100%
rename from effects/data/explosion.frag
rename to effects/explosion/data/explosion.frag
diff --git a/effects/data/explosion.vert b/effects/explosion/data/explosion.vert
similarity index 100%
rename from effects/data/explosion.vert
rename to effects/explosion/data/explosion.vert
diff --git a/effects/explosioneffect.cpp b/effects/explosion/explosion.cpp
similarity index 99%
rename from effects/explosioneffect.cpp
rename to effects/explosion/explosion.cpp
index ca7a8dc8e8..4e3c2570e5 100644
--- a/effects/explosioneffect.cpp
+++ b/effects/explosion/explosion.cpp
@@ -18,7 +18,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see .
*********************************************************************/
-#include "explosioneffect.h"
+#include "explosion.h"
#include
diff --git a/effects/explosion.desktop b/effects/explosion/explosion.desktop
similarity index 100%
rename from effects/explosion.desktop
rename to effects/explosion/explosion.desktop
diff --git a/effects/explosioneffect.h b/effects/explosion/explosion.h
similarity index 100%
rename from effects/explosioneffect.h
rename to effects/explosion/explosion.h
diff --git a/effects/fade/CMakeLists.txt b/effects/fade/CMakeLists.txt
new file mode 100644
index 0000000000..865afb7560
--- /dev/null
+++ b/effects/fade/CMakeLists.txt
@@ -0,0 +1,12 @@
+#######################################
+# Effect
+
+# Source files
+set( kwin4_effect_builtins_sources ${kwin4_effect_builtins_sources}
+ fade/fade.cpp
+ )
+
+# .desktop files
+install( FILES
+ fade/fade.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
diff --git a/effects/fade.cpp b/effects/fade/fade.cpp
similarity index 100%
rename from effects/fade.cpp
rename to effects/fade/fade.cpp
diff --git a/effects/fade.desktop b/effects/fade/fade.desktop
similarity index 100%
rename from effects/fade.desktop
rename to effects/fade/fade.desktop
diff --git a/effects/fade.h b/effects/fade/fade.h
similarity index 100%
rename from effects/fade.h
rename to effects/fade/fade.h
diff --git a/effects/fadedesktop/CMakeLists.txt b/effects/fadedesktop/CMakeLists.txt
new file mode 100644
index 0000000000..61bd4fcacc
--- /dev/null
+++ b/effects/fadedesktop/CMakeLists.txt
@@ -0,0 +1,12 @@
+#######################################
+# Effect
+
+# Source files
+set( kwin4_effect_builtins_sources ${kwin4_effect_builtins_sources}
+ fadedesktop/fadedesktop.cpp
+ )
+
+# .desktop files
+install( FILES
+ fadedesktop/fadedesktop.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
diff --git a/effects/fadedesktop.cpp b/effects/fadedesktop/fadedesktop.cpp
similarity index 100%
rename from effects/fadedesktop.cpp
rename to effects/fadedesktop/fadedesktop.cpp
diff --git a/effects/fadedesktop.desktop b/effects/fadedesktop/fadedesktop.desktop
similarity index 100%
rename from effects/fadedesktop.desktop
rename to effects/fadedesktop/fadedesktop.desktop
diff --git a/effects/fadedesktop.h b/effects/fadedesktop/fadedesktop.h
similarity index 100%
rename from effects/fadedesktop.h
rename to effects/fadedesktop/fadedesktop.h
diff --git a/effects/fallapart/CMakeLists.txt b/effects/fallapart/CMakeLists.txt
new file mode 100644
index 0000000000..f41fbb401a
--- /dev/null
+++ b/effects/fallapart/CMakeLists.txt
@@ -0,0 +1,12 @@
+#######################################
+# Effect
+
+# Source files
+set( kwin4_effect_builtins_sources ${kwin4_effect_builtins_sources}
+ fallapart/fallapart.cpp
+ )
+
+# .desktop files
+install( FILES
+ fallapart/fallapart.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
diff --git a/effects/fallapart.cpp b/effects/fallapart/fallapart.cpp
similarity index 100%
rename from effects/fallapart.cpp
rename to effects/fallapart/fallapart.cpp
diff --git a/effects/fallapart.desktop b/effects/fallapart/fallapart.desktop
similarity index 100%
rename from effects/fallapart.desktop
rename to effects/fallapart/fallapart.desktop
diff --git a/effects/fallapart.h b/effects/fallapart/fallapart.h
similarity index 100%
rename from effects/fallapart.h
rename to effects/fallapart/fallapart.h
diff --git a/effects/flipswitch/CMakeLists.txt b/effects/flipswitch/CMakeLists.txt
new file mode 100644
index 0000000000..e838c607be
--- /dev/null
+++ b/effects/flipswitch/CMakeLists.txt
@@ -0,0 +1,26 @@
+#######################################
+# Effect
+
+# Source files
+set( kwin4_effect_builtins_sources ${kwin4_effect_builtins_sources}
+ flipswitch/flipswitch.cpp
+ )
+
+# .desktop files
+install( FILES
+ flipswitch/flipswitch.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
+
+#######################################
+# Config
+
+# Source files
+set( kwin4_effect_builtins_config_sources ${kwin4_effect_builtins_config_sources}
+ flipswitch/flipswitch_config.cpp
+ flipswitch/flipswitch_config.ui
+ )
+
+# .desktop files
+install( FILES
+ flipswitch/flipswitch_config.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
diff --git a/effects/flipswitch.cpp b/effects/flipswitch/flipswitch.cpp
similarity index 100%
rename from effects/flipswitch.cpp
rename to effects/flipswitch/flipswitch.cpp
diff --git a/effects/flipswitch.desktop b/effects/flipswitch/flipswitch.desktop
similarity index 100%
rename from effects/flipswitch.desktop
rename to effects/flipswitch/flipswitch.desktop
diff --git a/effects/flipswitch.h b/effects/flipswitch/flipswitch.h
similarity index 100%
rename from effects/flipswitch.h
rename to effects/flipswitch/flipswitch.h
diff --git a/effects/flipswitch_config.cpp b/effects/flipswitch/flipswitch_config.cpp
similarity index 99%
rename from effects/flipswitch_config.cpp
rename to effects/flipswitch/flipswitch_config.cpp
index fc63eda2c2..d68d8cd8e5 100644
--- a/effects/flipswitch_config.cpp
+++ b/effects/flipswitch/flipswitch_config.cpp
@@ -23,13 +23,12 @@ along with this program. If not, see .
#include
#include
-#ifndef KDE_USE_FINAL
-KWIN_EFFECT_CONFIG_FACTORY
-#endif
namespace KWin
{
+KWIN_EFFECT_CONFIG_FACTORY
+
FlipSwitchEffectConfigForm::FlipSwitchEffectConfigForm(QWidget* parent) : QWidget(parent)
{
setupUi(this);
diff --git a/effects/flipswitch_config.desktop b/effects/flipswitch/flipswitch_config.desktop
similarity index 100%
rename from effects/flipswitch_config.desktop
rename to effects/flipswitch/flipswitch_config.desktop
diff --git a/effects/flipswitch_config.h b/effects/flipswitch/flipswitch_config.h
similarity index 100%
rename from effects/flipswitch_config.h
rename to effects/flipswitch/flipswitch_config.h
diff --git a/effects/flipswitch_config.ui b/effects/flipswitch/flipswitch_config.ui
similarity index 100%
rename from effects/flipswitch_config.ui
rename to effects/flipswitch/flipswitch_config.ui
diff --git a/effects/highlightwindow/CMakeLists.txt b/effects/highlightwindow/CMakeLists.txt
new file mode 100644
index 0000000000..c770e547de
--- /dev/null
+++ b/effects/highlightwindow/CMakeLists.txt
@@ -0,0 +1,12 @@
+#######################################
+# Effect
+
+# Source files
+set( kwin4_effect_builtins_sources ${kwin4_effect_builtins_sources}
+ highlightwindow/highlightwindow.cpp
+ )
+
+# .desktop files
+install( FILES
+ highlightwindow/highlightwindow.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
diff --git a/effects/highlightwindow.cpp b/effects/highlightwindow/highlightwindow.cpp
similarity index 100%
rename from effects/highlightwindow.cpp
rename to effects/highlightwindow/highlightwindow.cpp
diff --git a/effects/highlightwindow.desktop b/effects/highlightwindow/highlightwindow.desktop
similarity index 100%
rename from effects/highlightwindow.desktop
rename to effects/highlightwindow/highlightwindow.desktop
diff --git a/effects/highlightwindow.h b/effects/highlightwindow/highlightwindow.h
similarity index 100%
rename from effects/highlightwindow.h
rename to effects/highlightwindow/highlightwindow.h
diff --git a/effects/invert/CMakeLists.txt b/effects/invert/CMakeLists.txt
new file mode 100644
index 0000000000..1b014c59d5
--- /dev/null
+++ b/effects/invert/CMakeLists.txt
@@ -0,0 +1,31 @@
+#######################################
+# Effect
+
+# Source files
+set( kwin4_effect_builtins_sources ${kwin4_effect_builtins_sources}
+ invert/invert.cpp
+ )
+
+# .desktop files
+install( FILES
+ invert/invert.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
+
+# Data files
+install( FILES
+ invert/data/invert.frag
+ invert/data/invert.vert
+ DESTINATION ${DATA_INSTALL_DIR}/kwin )
+
+#######################################
+# Config
+
+# Source files
+set( kwin4_effect_builtins_config_sources ${kwin4_effect_builtins_config_sources}
+ invert/invert_config.cpp
+ )
+
+# .desktop files
+install( FILES
+ invert/invert_config.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
diff --git a/effects/data/invert.frag b/effects/invert/data/invert.frag
similarity index 100%
rename from effects/data/invert.frag
rename to effects/invert/data/invert.frag
diff --git a/effects/data/invert.vert b/effects/invert/data/invert.vert
similarity index 100%
rename from effects/data/invert.vert
rename to effects/invert/data/invert.vert
diff --git a/effects/invert.cpp b/effects/invert/invert.cpp
similarity index 100%
rename from effects/invert.cpp
rename to effects/invert/invert.cpp
diff --git a/effects/invert.desktop b/effects/invert/invert.desktop
similarity index 100%
rename from effects/invert.desktop
rename to effects/invert/invert.desktop
diff --git a/effects/invert.h b/effects/invert/invert.h
similarity index 100%
rename from effects/invert.h
rename to effects/invert/invert.h
diff --git a/effects/invert_config.cpp b/effects/invert/invert_config.cpp
similarity index 98%
rename from effects/invert_config.cpp
rename to effects/invert/invert_config.cpp
index fe5312bfc8..ba5e10b865 100644
--- a/effects/invert_config.cpp
+++ b/effects/invert/invert_config.cpp
@@ -29,12 +29,12 @@ along with this program. If not, see .
#include
#include
-#ifndef KDE_USE_FINAL
-KWIN_EFFECT_CONFIG_FACTORY
-#endif
+
namespace KWin
{
+KWIN_EFFECT_CONFIG_FACTORY
+
InvertEffectConfig::InvertEffectConfig(QWidget* parent, const QVariantList& args) :
KCModule(EffectFactory::componentData(), parent, args)
{
diff --git a/effects/invert_config.desktop b/effects/invert/invert_config.desktop
similarity index 100%
rename from effects/invert_config.desktop
rename to effects/invert/invert_config.desktop
diff --git a/effects/invert_config.h b/effects/invert/invert_config.h
similarity index 100%
rename from effects/invert_config.h
rename to effects/invert/invert_config.h
diff --git a/effects/login/CMakeLists.txt b/effects/login/CMakeLists.txt
new file mode 100644
index 0000000000..a7cbbf3ce0
--- /dev/null
+++ b/effects/login/CMakeLists.txt
@@ -0,0 +1,12 @@
+#######################################
+# Effect
+
+# Source files
+set( kwin4_effect_builtins_sources ${kwin4_effect_builtins_sources}
+ login/login.cpp
+ )
+
+# .desktop files
+install( FILES
+ login/login.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
diff --git a/effects/login.cpp b/effects/login/login.cpp
similarity index 100%
rename from effects/login.cpp
rename to effects/login/login.cpp
diff --git a/effects/login.desktop b/effects/login/login.desktop
similarity index 100%
rename from effects/login.desktop
rename to effects/login/login.desktop
diff --git a/effects/login.h b/effects/login/login.h
similarity index 100%
rename from effects/login.h
rename to effects/login/login.h
diff --git a/effects/logout/CMakeLists.txt b/effects/logout/CMakeLists.txt
new file mode 100644
index 0000000000..67ccff4004
--- /dev/null
+++ b/effects/logout/CMakeLists.txt
@@ -0,0 +1,12 @@
+#######################################
+# Effect
+
+# Source files
+set( kwin4_effect_builtins_sources ${kwin4_effect_builtins_sources}
+ logout/logout.cpp
+ )
+
+# .desktop files
+install( FILES
+ logout/logout.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
diff --git a/effects/logout.cpp b/effects/logout/logout.cpp
similarity index 100%
rename from effects/logout.cpp
rename to effects/logout/logout.cpp
diff --git a/effects/logout.desktop b/effects/logout/logout.desktop
similarity index 100%
rename from effects/logout.desktop
rename to effects/logout/logout.desktop
diff --git a/effects/logout.h b/effects/logout/logout.h
similarity index 100%
rename from effects/logout.h
rename to effects/logout/logout.h
diff --git a/effects/lookingglass/CMakeLists.txt b/effects/lookingglass/CMakeLists.txt
new file mode 100644
index 0000000000..5b17c06c06
--- /dev/null
+++ b/effects/lookingglass/CMakeLists.txt
@@ -0,0 +1,32 @@
+#######################################
+# Effect
+
+# Source files
+set( kwin4_effect_builtins_sources ${kwin4_effect_builtins_sources}
+ lookingglass/lookingglass.cpp
+ )
+
+# .desktop files
+install( FILES
+ lookingglass/lookingglass.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
+
+# Data files
+install( FILES
+ lookingglass/data/lookingglass.frag
+ lookingglass/data/lookingglass.vert
+ DESTINATION ${DATA_INSTALL_DIR}/kwin )
+
+#######################################
+# Config
+
+# Source files
+set( kwin4_effect_builtins_config_sources ${kwin4_effect_builtins_config_sources}
+ lookingglass/lookingglass_config.cpp
+ lookingglass/lookingglass_config.ui
+ )
+
+# .desktop files
+install( FILES
+ lookingglass/lookingglass_config.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
diff --git a/effects/data/lookingglass.frag b/effects/lookingglass/data/lookingglass.frag
similarity index 100%
rename from effects/data/lookingglass.frag
rename to effects/lookingglass/data/lookingglass.frag
diff --git a/effects/data/lookingglass.vert b/effects/lookingglass/data/lookingglass.vert
similarity index 100%
rename from effects/data/lookingglass.vert
rename to effects/lookingglass/data/lookingglass.vert
diff --git a/effects/lookingglass.cpp b/effects/lookingglass/lookingglass.cpp
similarity index 100%
rename from effects/lookingglass.cpp
rename to effects/lookingglass/lookingglass.cpp
diff --git a/effects/lookingglass.desktop b/effects/lookingglass/lookingglass.desktop
similarity index 100%
rename from effects/lookingglass.desktop
rename to effects/lookingglass/lookingglass.desktop
diff --git a/effects/lookingglass.h b/effects/lookingglass/lookingglass.h
similarity index 100%
rename from effects/lookingglass.h
rename to effects/lookingglass/lookingglass.h
diff --git a/effects/lookingglass_config.cpp b/effects/lookingglass/lookingglass_config.cpp
similarity index 100%
rename from effects/lookingglass_config.cpp
rename to effects/lookingglass/lookingglass_config.cpp
index b9cfe07f79..7f77b35d5a 100644
--- a/effects/lookingglass_config.cpp
+++ b/effects/lookingglass/lookingglass_config.cpp
@@ -32,11 +32,11 @@ along with this program. If not, see .
#include
#include
-KWIN_EFFECT_CONFIG_FACTORY
-
namespace KWin
{
+KWIN_EFFECT_CONFIG_FACTORY
+
LookingGlassEffectConfigForm::LookingGlassEffectConfigForm(QWidget* parent) : QWidget(parent)
{
setupUi(this);
diff --git a/effects/lookingglass_config.desktop b/effects/lookingglass/lookingglass_config.desktop
similarity index 100%
rename from effects/lookingglass_config.desktop
rename to effects/lookingglass/lookingglass_config.desktop
diff --git a/effects/lookingglass_config.h b/effects/lookingglass/lookingglass_config.h
similarity index 100%
rename from effects/lookingglass_config.h
rename to effects/lookingglass/lookingglass_config.h
diff --git a/effects/lookingglass_config.ui b/effects/lookingglass/lookingglass_config.ui
similarity index 100%
rename from effects/lookingglass_config.ui
rename to effects/lookingglass/lookingglass_config.ui
diff --git a/effects/magiclamp/CMakeLists.txt b/effects/magiclamp/CMakeLists.txt
new file mode 100644
index 0000000000..81e42fd3c3
--- /dev/null
+++ b/effects/magiclamp/CMakeLists.txt
@@ -0,0 +1,26 @@
+#######################################
+# Effect
+
+# Source files
+set( kwin4_effect_builtins_sources ${kwin4_effect_builtins_sources}
+ magiclamp/magiclamp.cpp
+ )
+
+# .desktop files
+install( FILES
+ magiclamp/magiclamp.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
+
+#######################################
+# Config
+
+# Source files
+set( kwin4_effect_builtins_config_sources ${kwin4_effect_builtins_config_sources}
+ magiclamp/magiclamp_config.cpp
+ magiclamp/magiclamp_config.ui
+ )
+
+# .desktop files
+install( FILES
+ magiclamp/magiclamp_config.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
diff --git a/effects/magiclamp.cpp b/effects/magiclamp/magiclamp.cpp
similarity index 100%
rename from effects/magiclamp.cpp
rename to effects/magiclamp/magiclamp.cpp
diff --git a/effects/magiclamp.desktop b/effects/magiclamp/magiclamp.desktop
similarity index 100%
rename from effects/magiclamp.desktop
rename to effects/magiclamp/magiclamp.desktop
diff --git a/effects/magiclamp.h b/effects/magiclamp/magiclamp.h
similarity index 100%
rename from effects/magiclamp.h
rename to effects/magiclamp/magiclamp.h
diff --git a/effects/magiclamp_config.cpp b/effects/magiclamp/magiclamp_config.cpp
similarity index 98%
rename from effects/magiclamp_config.cpp
rename to effects/magiclamp/magiclamp_config.cpp
index b8d51912e8..7765e01881 100644
--- a/effects/magiclamp_config.cpp
+++ b/effects/magiclamp/magiclamp_config.cpp
@@ -23,13 +23,12 @@ along with this program. If not, see .
#include
#include
-#ifndef KDE_USE_FINAL
-KWIN_EFFECT_CONFIG_FACTORY
-#endif
namespace KWin
{
+KWIN_EFFECT_CONFIG_FACTORY
+
MagicLampEffectConfigForm::MagicLampEffectConfigForm(QWidget* parent) : QWidget(parent)
{
setupUi(this);
diff --git a/effects/magiclamp_config.desktop b/effects/magiclamp/magiclamp_config.desktop
similarity index 100%
rename from effects/magiclamp_config.desktop
rename to effects/magiclamp/magiclamp_config.desktop
diff --git a/effects/magiclamp_config.h b/effects/magiclamp/magiclamp_config.h
similarity index 100%
rename from effects/magiclamp_config.h
rename to effects/magiclamp/magiclamp_config.h
diff --git a/effects/magiclamp_config.ui b/effects/magiclamp/magiclamp_config.ui
similarity index 100%
rename from effects/magiclamp_config.ui
rename to effects/magiclamp/magiclamp_config.ui
diff --git a/effects/magnifier/CMakeLists.txt b/effects/magnifier/CMakeLists.txt
new file mode 100644
index 0000000000..c0c0050fd3
--- /dev/null
+++ b/effects/magnifier/CMakeLists.txt
@@ -0,0 +1,26 @@
+#######################################
+# Effect
+
+# Source files
+set( kwin4_effect_builtins_sources ${kwin4_effect_builtins_sources}
+ magnifier/magnifier.cpp
+ )
+
+# .desktop files
+install( FILES
+ magnifier/magnifier.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
+
+#######################################
+# Config
+
+# Source files
+set( kwin4_effect_builtins_config_sources ${kwin4_effect_builtins_config_sources}
+ magnifier/magnifier_config.cpp
+ magnifier/magnifier_config.ui
+ )
+
+# .desktop files
+install( FILES
+ magnifier/magnifier_config.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
diff --git a/effects/magnifier.cpp b/effects/magnifier/magnifier.cpp
similarity index 100%
rename from effects/magnifier.cpp
rename to effects/magnifier/magnifier.cpp
diff --git a/effects/magnifier.desktop b/effects/magnifier/magnifier.desktop
similarity index 100%
rename from effects/magnifier.desktop
rename to effects/magnifier/magnifier.desktop
diff --git a/effects/magnifier.h b/effects/magnifier/magnifier.h
similarity index 100%
rename from effects/magnifier.h
rename to effects/magnifier/magnifier.h
diff --git a/effects/magnifier_config.cpp b/effects/magnifier/magnifier_config.cpp
similarity index 100%
rename from effects/magnifier_config.cpp
rename to effects/magnifier/magnifier_config.cpp
index fe4eafe114..b3f661a528 100644
--- a/effects/magnifier_config.cpp
+++ b/effects/magnifier/magnifier_config.cpp
@@ -32,11 +32,11 @@ along with this program. If not, see .
#include
#include
-KWIN_EFFECT_CONFIG_FACTORY
-
namespace KWin
{
+KWIN_EFFECT_CONFIG_FACTORY
+
MagnifierEffectConfigForm::MagnifierEffectConfigForm(QWidget* parent) : QWidget(parent)
{
setupUi(this);
diff --git a/effects/magnifier_config.desktop b/effects/magnifier/magnifier_config.desktop
similarity index 100%
rename from effects/magnifier_config.desktop
rename to effects/magnifier/magnifier_config.desktop
diff --git a/effects/magnifier_config.h b/effects/magnifier/magnifier_config.h
similarity index 100%
rename from effects/magnifier_config.h
rename to effects/magnifier/magnifier_config.h
diff --git a/effects/magnifier_config.ui b/effects/magnifier/magnifier_config.ui
similarity index 100%
rename from effects/magnifier_config.ui
rename to effects/magnifier/magnifier_config.ui
diff --git a/effects/minimizeanimation/CMakeLists.txt b/effects/minimizeanimation/CMakeLists.txt
new file mode 100644
index 0000000000..e9535d0723
--- /dev/null
+++ b/effects/minimizeanimation/CMakeLists.txt
@@ -0,0 +1,12 @@
+#######################################
+# Effect
+
+# Source files
+set( kwin4_effect_builtins_sources ${kwin4_effect_builtins_sources}
+ minimizeanimation/minimizeanimation.cpp
+ )
+
+# .desktop files
+install( FILES
+ minimizeanimation/minimizeanimation.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
diff --git a/effects/minimizeanimation.cpp b/effects/minimizeanimation/minimizeanimation.cpp
similarity index 100%
rename from effects/minimizeanimation.cpp
rename to effects/minimizeanimation/minimizeanimation.cpp
diff --git a/effects/minimizeanimation.desktop b/effects/minimizeanimation/minimizeanimation.desktop
similarity index 100%
rename from effects/minimizeanimation.desktop
rename to effects/minimizeanimation/minimizeanimation.desktop
diff --git a/effects/minimizeanimation.h b/effects/minimizeanimation/minimizeanimation.h
similarity index 100%
rename from effects/minimizeanimation.h
rename to effects/minimizeanimation/minimizeanimation.h
diff --git a/effects/mousemark/CMakeLists.txt b/effects/mousemark/CMakeLists.txt
new file mode 100644
index 0000000000..37b3ff263e
--- /dev/null
+++ b/effects/mousemark/CMakeLists.txt
@@ -0,0 +1,26 @@
+#######################################
+# Effect
+
+# Source files
+set( kwin4_effect_builtins_sources ${kwin4_effect_builtins_sources}
+ mousemark/mousemark.cpp
+ )
+
+# .desktop files
+install( FILES
+ mousemark/mousemark.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
+
+#######################################
+# Config
+
+# Source files
+set( kwin4_effect_builtins_config_sources ${kwin4_effect_builtins_config_sources}
+ mousemark/mousemark_config.cpp
+ mousemark/mousemark_config.ui
+ )
+
+# .desktop files
+install( FILES
+ mousemark/mousemark_config.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
diff --git a/effects/mousemark.cpp b/effects/mousemark/mousemark.cpp
similarity index 100%
rename from effects/mousemark.cpp
rename to effects/mousemark/mousemark.cpp
diff --git a/effects/mousemark.desktop b/effects/mousemark/mousemark.desktop
similarity index 100%
rename from effects/mousemark.desktop
rename to effects/mousemark/mousemark.desktop
diff --git a/effects/mousemark.h b/effects/mousemark/mousemark.h
similarity index 100%
rename from effects/mousemark.h
rename to effects/mousemark/mousemark.h
diff --git a/effects/mousemark_config.cpp b/effects/mousemark/mousemark_config.cpp
similarity index 100%
rename from effects/mousemark_config.cpp
rename to effects/mousemark/mousemark_config.cpp
index 9a8b143275..e61ed366c0 100644
--- a/effects/mousemark_config.cpp
+++ b/effects/mousemark/mousemark_config.cpp
@@ -32,11 +32,11 @@ along with this program. If not, see .
#include
#include
-KWIN_EFFECT_CONFIG_FACTORY
-
namespace KWin
{
+KWIN_EFFECT_CONFIG_FACTORY
+
MouseMarkEffectConfigForm::MouseMarkEffectConfigForm(QWidget* parent) : QWidget(parent)
{
setupUi(this);
diff --git a/effects/mousemark_config.desktop b/effects/mousemark/mousemark_config.desktop
similarity index 100%
rename from effects/mousemark_config.desktop
rename to effects/mousemark/mousemark_config.desktop
diff --git a/effects/mousemark_config.h b/effects/mousemark/mousemark_config.h
similarity index 100%
rename from effects/mousemark_config.h
rename to effects/mousemark/mousemark_config.h
diff --git a/effects/mousemark_config.ui b/effects/mousemark/mousemark_config.ui
similarity index 100%
rename from effects/mousemark_config.ui
rename to effects/mousemark/mousemark_config.ui
diff --git a/effects/presentwindows/CMakeLists.txt b/effects/presentwindows/CMakeLists.txt
new file mode 100644
index 0000000000..9b015f44bb
--- /dev/null
+++ b/effects/presentwindows/CMakeLists.txt
@@ -0,0 +1,26 @@
+#######################################
+# Effect
+
+# Source files
+set( kwin4_effect_builtins_sources ${kwin4_effect_builtins_sources}
+ presentwindows/presentwindows.cpp
+ )
+
+# .desktop files
+install( FILES
+ presentwindows/presentwindows.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
+
+#######################################
+# Config
+
+# Source files
+set( kwin4_effect_builtins_config_sources ${kwin4_effect_builtins_config_sources}
+ presentwindows/presentwindows_config.cpp
+ presentwindows/presentwindows_config.ui
+ )
+
+# .desktop files
+install( FILES
+ presentwindows/presentwindows_config.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
diff --git a/effects/presentwindows.cpp b/effects/presentwindows/presentwindows.cpp
similarity index 100%
rename from effects/presentwindows.cpp
rename to effects/presentwindows/presentwindows.cpp
diff --git a/effects/presentwindows.desktop b/effects/presentwindows/presentwindows.desktop
similarity index 100%
rename from effects/presentwindows.desktop
rename to effects/presentwindows/presentwindows.desktop
diff --git a/effects/presentwindows.h b/effects/presentwindows/presentwindows.h
similarity index 100%
rename from effects/presentwindows.h
rename to effects/presentwindows/presentwindows.h
diff --git a/effects/presentwindows_config.cpp b/effects/presentwindows/presentwindows_config.cpp
similarity index 99%
rename from effects/presentwindows_config.cpp
rename to effects/presentwindows/presentwindows_config.cpp
index d173bd7bc3..183812dd94 100644
--- a/effects/presentwindows_config.cpp
+++ b/effects/presentwindows/presentwindows_config.cpp
@@ -28,13 +28,12 @@ along with this program. If not, see .
#include
#include
-#ifndef KDE_USE_FINAL
-KWIN_EFFECT_CONFIG_FACTORY
-#endif
namespace KWin
{
+KWIN_EFFECT_CONFIG_FACTORY
+
PresentWindowsEffectConfigForm::PresentWindowsEffectConfigForm(QWidget* parent) : QWidget(parent)
{
setupUi(this);
diff --git a/effects/presentwindows_config.desktop b/effects/presentwindows/presentwindows_config.desktop
similarity index 100%
rename from effects/presentwindows_config.desktop
rename to effects/presentwindows/presentwindows_config.desktop
diff --git a/effects/presentwindows_config.h b/effects/presentwindows/presentwindows_config.h
similarity index 100%
rename from effects/presentwindows_config.h
rename to effects/presentwindows/presentwindows_config.h
diff --git a/effects/presentwindows_config.ui b/effects/presentwindows/presentwindows_config.ui
similarity index 100%
rename from effects/presentwindows_config.ui
rename to effects/presentwindows/presentwindows_config.ui
diff --git a/effects/scalein/CMakeLists.txt b/effects/scalein/CMakeLists.txt
new file mode 100644
index 0000000000..6a16861531
--- /dev/null
+++ b/effects/scalein/CMakeLists.txt
@@ -0,0 +1,12 @@
+#######################################
+# Effect
+
+# Source files
+set( kwin4_effect_builtins_sources ${kwin4_effect_builtins_sources}
+ scalein/scalein.cpp
+ )
+
+# .desktop files
+install( FILES
+ scalein/scalein.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
diff --git a/effects/scalein.cpp b/effects/scalein/scalein.cpp
similarity index 100%
rename from effects/scalein.cpp
rename to effects/scalein/scalein.cpp
diff --git a/effects/scalein.desktop b/effects/scalein/scalein.desktop
similarity index 100%
rename from effects/scalein.desktop
rename to effects/scalein/scalein.desktop
diff --git a/effects/scalein.h b/effects/scalein/scalein.h
similarity index 100%
rename from effects/scalein.h
rename to effects/scalein/scalein.h
diff --git a/effects/shadow/CMakeLists.txt b/effects/shadow/CMakeLists.txt
new file mode 100644
index 0000000000..e7e3413fc5
--- /dev/null
+++ b/effects/shadow/CMakeLists.txt
@@ -0,0 +1,31 @@
+#######################################
+# Effect
+
+# Source files
+set( kwin4_effect_builtins_sources ${kwin4_effect_builtins_sources}
+ shadow/shadow.cpp
+ )
+
+# .desktop files
+install( FILES
+ shadow/shadow.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
+
+# Data files
+install( FILES
+ shadow/data/shadow-texture.png
+ DESTINATION ${DATA_INSTALL_DIR}/kwin )
+
+#######################################
+# Config
+
+# Source files
+set( kwin4_effect_builtins_config_sources ${kwin4_effect_builtins_config_sources}
+ shadow/shadow_config.cpp
+ shadow/shadow_config.ui
+ )
+
+# .desktop files
+install( FILES
+ shadow/shadow_config.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
diff --git a/effects/data/shadow-texture.png b/effects/shadow/data/shadow-texture.png
similarity index 100%
rename from effects/data/shadow-texture.png
rename to effects/shadow/data/shadow-texture.png
diff --git a/effects/shadow.cpp b/effects/shadow/shadow.cpp
similarity index 100%
rename from effects/shadow.cpp
rename to effects/shadow/shadow.cpp
diff --git a/effects/shadow.desktop b/effects/shadow/shadow.desktop
similarity index 100%
rename from effects/shadow.desktop
rename to effects/shadow/shadow.desktop
diff --git a/effects/shadow.h b/effects/shadow/shadow.h
similarity index 100%
rename from effects/shadow.h
rename to effects/shadow/shadow.h
diff --git a/effects/shadow_config.cpp b/effects/shadow/shadow_config.cpp
similarity index 99%
rename from effects/shadow_config.cpp
rename to effects/shadow/shadow_config.cpp
index a00b15b2a8..b75d2d05e7 100644
--- a/effects/shadow_config.cpp
+++ b/effects/shadow/shadow_config.cpp
@@ -28,13 +28,12 @@ along with this program. If not, see .
#include
#include
#include
-#ifndef KDE_USE_FINAL
-KWIN_EFFECT_CONFIG_FACTORY
-#endif
namespace KWin
{
+KWIN_EFFECT_CONFIG_FACTORY
+
ShadowEffectConfigForm::ShadowEffectConfigForm(QWidget* parent) : QWidget(parent)
{
setupUi(this);
diff --git a/effects/shadow_config.desktop b/effects/shadow/shadow_config.desktop
similarity index 100%
rename from effects/shadow_config.desktop
rename to effects/shadow/shadow_config.desktop
diff --git a/effects/shadow_config.h b/effects/shadow/shadow_config.h
similarity index 100%
rename from effects/shadow_config.h
rename to effects/shadow/shadow_config.h
diff --git a/effects/shadow_config.ui b/effects/shadow/shadow_config.ui
similarity index 100%
rename from effects/shadow_config.ui
rename to effects/shadow/shadow_config.ui
diff --git a/effects/shadow_helper.h b/effects/shadow/shadow_helper.h
similarity index 100%
rename from effects/shadow_helper.h
rename to effects/shadow/shadow_helper.h
diff --git a/effects/sharpen/CMakeLists.txt b/effects/sharpen/CMakeLists.txt
new file mode 100644
index 0000000000..56979a082e
--- /dev/null
+++ b/effects/sharpen/CMakeLists.txt
@@ -0,0 +1,31 @@
+#######################################
+# Effect
+
+# Source files
+set( kwin4_effect_builtins_sources ${kwin4_effect_builtins_sources}
+ sharpen/sharpen.cpp
+ )
+
+# .desktop files
+install( FILES
+ sharpen/sharpen.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
+
+# Data files
+install( FILES
+ sharpen/data/sharpen.frag
+ sharpen/data/sharpen.vert
+ DESTINATION ${DATA_INSTALL_DIR}/kwin )
+
+#######################################
+# Config
+
+# Source files
+set( kwin4_effect_builtins_config_sources ${kwin4_effect_builtins_config_sources}
+ sharpen/sharpen_config.cpp
+ )
+
+# .desktop files
+install( FILES
+ sharpen/sharpen_config.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
diff --git a/effects/data/sharpen.frag b/effects/sharpen/data/sharpen.frag
similarity index 100%
rename from effects/data/sharpen.frag
rename to effects/sharpen/data/sharpen.frag
diff --git a/effects/data/sharpen.vert b/effects/sharpen/data/sharpen.vert
similarity index 100%
rename from effects/data/sharpen.vert
rename to effects/sharpen/data/sharpen.vert
diff --git a/effects/sharpen.cpp b/effects/sharpen/sharpen.cpp
similarity index 100%
rename from effects/sharpen.cpp
rename to effects/sharpen/sharpen.cpp
diff --git a/effects/sharpen.desktop b/effects/sharpen/sharpen.desktop
similarity index 100%
rename from effects/sharpen.desktop
rename to effects/sharpen/sharpen.desktop
diff --git a/effects/sharpen.h b/effects/sharpen/sharpen.h
similarity index 100%
rename from effects/sharpen.h
rename to effects/sharpen/sharpen.h
diff --git a/effects/sharpen_config.cpp b/effects/sharpen/sharpen_config.cpp
similarity index 98%
rename from effects/sharpen_config.cpp
rename to effects/sharpen/sharpen_config.cpp
index eeac453609..bbac4087bb 100644
--- a/effects/sharpen_config.cpp
+++ b/effects/sharpen/sharpen_config.cpp
@@ -29,12 +29,12 @@ along with this program. If not, see .
#include
#include
-#ifndef KDE_USE_FINAL
-KWIN_EFFECT_CONFIG_FACTORY
-#endif
+
namespace KWin
{
+KWIN_EFFECT_CONFIG_FACTORY
+
SharpenEffectConfig::SharpenEffectConfig(QWidget* parent, const QVariantList& args) :
KCModule(EffectFactory::componentData(), parent, args)
{
diff --git a/effects/sharpen_config.desktop b/effects/sharpen/sharpen_config.desktop
similarity index 100%
rename from effects/sharpen_config.desktop
rename to effects/sharpen/sharpen_config.desktop
diff --git a/effects/sharpen_config.h b/effects/sharpen/sharpen_config.h
similarity index 100%
rename from effects/sharpen_config.h
rename to effects/sharpen/sharpen_config.h
diff --git a/effects/showfps/CMakeLists.txt b/effects/showfps/CMakeLists.txt
new file mode 100644
index 0000000000..5d4f812fc7
--- /dev/null
+++ b/effects/showfps/CMakeLists.txt
@@ -0,0 +1,26 @@
+#######################################
+# Effect
+
+# Source files
+set( kwin4_effect_builtins_sources ${kwin4_effect_builtins_sources}
+ showfps/showfps.cpp
+ )
+
+# .desktop files
+install( FILES
+ showfps/showfps.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
+
+#######################################
+# Config
+
+# Source files
+set( kwin4_effect_builtins_config_sources ${kwin4_effect_builtins_config_sources}
+ showfps/showfps_config.cpp
+ showfps/showfps_config.ui
+ )
+
+# .desktop files
+install( FILES
+ showfps/showfps_config.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
diff --git a/effects/showfps.cpp b/effects/showfps/showfps.cpp
similarity index 100%
rename from effects/showfps.cpp
rename to effects/showfps/showfps.cpp
diff --git a/effects/showfps.desktop b/effects/showfps/showfps.desktop
similarity index 100%
rename from effects/showfps.desktop
rename to effects/showfps/showfps.desktop
diff --git a/effects/showfps.h b/effects/showfps/showfps.h
similarity index 100%
rename from effects/showfps.h
rename to effects/showfps/showfps.h
diff --git a/effects/showfps_config.cpp b/effects/showfps/showfps_config.cpp
similarity index 99%
rename from effects/showfps_config.cpp
rename to effects/showfps/showfps_config.cpp
index 26a7e857bd..91161472c7 100644
--- a/effects/showfps_config.cpp
+++ b/effects/showfps/showfps_config.cpp
@@ -25,13 +25,11 @@ along with this program. If not, see .
#include
#include
-#ifndef KDE_USE_FINAL
-KWIN_EFFECT_CONFIG_FACTORY
-#endif
-
namespace KWin
{
+KWIN_EFFECT_CONFIG_FACTORY
+
ShowFpsEffectConfig::ShowFpsEffectConfig(QWidget* parent, const QVariantList& args) :
KCModule(EffectFactory::componentData(), parent, args)
{
diff --git a/effects/showfps_config.desktop b/effects/showfps/showfps_config.desktop
similarity index 100%
rename from effects/showfps_config.desktop
rename to effects/showfps/showfps_config.desktop
diff --git a/effects/showfps_config.h b/effects/showfps/showfps_config.h
similarity index 100%
rename from effects/showfps_config.h
rename to effects/showfps/showfps_config.h
diff --git a/effects/showfps_config.ui b/effects/showfps/showfps_config.ui
similarity index 100%
rename from effects/showfps_config.ui
rename to effects/showfps/showfps_config.ui
diff --git a/effects/showpaint/CMakeLists.txt b/effects/showpaint/CMakeLists.txt
new file mode 100644
index 0000000000..d0e5734805
--- /dev/null
+++ b/effects/showpaint/CMakeLists.txt
@@ -0,0 +1,12 @@
+#######################################
+# Effect
+
+# Source files
+set( kwin4_effect_builtins_sources ${kwin4_effect_builtins_sources}
+ showpaint/showpaint.cpp
+ )
+
+# .desktop files
+install( FILES
+ showpaint/showpaint.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
diff --git a/effects/showpaint.cpp b/effects/showpaint/showpaint.cpp
similarity index 100%
rename from effects/showpaint.cpp
rename to effects/showpaint/showpaint.cpp
diff --git a/effects/showpaint.desktop b/effects/showpaint/showpaint.desktop
similarity index 100%
rename from effects/showpaint.desktop
rename to effects/showpaint/showpaint.desktop
diff --git a/effects/showpaint.h b/effects/showpaint/showpaint.h
similarity index 100%
rename from effects/showpaint.h
rename to effects/showpaint/showpaint.h
diff --git a/effects/slide/CMakeLists.txt b/effects/slide/CMakeLists.txt
new file mode 100644
index 0000000000..1547d0c9de
--- /dev/null
+++ b/effects/slide/CMakeLists.txt
@@ -0,0 +1,12 @@
+#######################################
+# Effect
+
+# Source files
+set( kwin4_effect_builtins_sources ${kwin4_effect_builtins_sources}
+ slide/slide.cpp
+ )
+
+# .desktop files
+install( FILES
+ slide/slide.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
diff --git a/effects/slide.cpp b/effects/slide/slide.cpp
similarity index 100%
rename from effects/slide.cpp
rename to effects/slide/slide.cpp
diff --git a/effects/slide.desktop b/effects/slide/slide.desktop
similarity index 100%
rename from effects/slide.desktop
rename to effects/slide/slide.desktop
diff --git a/effects/slide.h b/effects/slide/slide.h
similarity index 100%
rename from effects/slide.h
rename to effects/slide/slide.h
diff --git a/effects/snow/CMakeLists.txt b/effects/snow/CMakeLists.txt
new file mode 100644
index 0000000000..f2884ee9bd
--- /dev/null
+++ b/effects/snow/CMakeLists.txt
@@ -0,0 +1,33 @@
+#######################################
+# Effect
+
+# Source files
+set( kwin4_effect_builtins_sources ${kwin4_effect_builtins_sources}
+ snow/snow.cpp
+ )
+
+# .desktop files
+install( FILES
+ snow/snow.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
+
+# Data files
+install( FILES
+ snow/data/snow.frag
+ snow/data/snow.vert
+ snow/data/snowflake.png
+ DESTINATION ${DATA_INSTALL_DIR}/kwin )
+
+#######################################
+# Config
+
+# Source files
+set( kwin4_effect_builtins_config_sources ${kwin4_effect_builtins_config_sources}
+ snow/snow_config.cpp
+ snow/snow_config.ui
+ )
+
+# .desktop files
+install( FILES
+ snow/snow_config.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
diff --git a/effects/data/snow.frag b/effects/snow/data/snow.frag
similarity index 100%
rename from effects/data/snow.frag
rename to effects/snow/data/snow.frag
diff --git a/effects/data/snow.vert b/effects/snow/data/snow.vert
similarity index 100%
rename from effects/data/snow.vert
rename to effects/snow/data/snow.vert
diff --git a/effects/data/snowflake.png b/effects/snow/data/snowflake.png
similarity index 100%
rename from effects/data/snowflake.png
rename to effects/snow/data/snowflake.png
diff --git a/effects/snow.cpp b/effects/snow/snow.cpp
similarity index 100%
rename from effects/snow.cpp
rename to effects/snow/snow.cpp
diff --git a/effects/snow.desktop b/effects/snow/snow.desktop
similarity index 100%
rename from effects/snow.desktop
rename to effects/snow/snow.desktop
diff --git a/effects/snow.h b/effects/snow/snow.h
similarity index 100%
rename from effects/snow.h
rename to effects/snow/snow.h
diff --git a/effects/snow_config.cpp b/effects/snow/snow_config.cpp
similarity index 99%
rename from effects/snow_config.cpp
rename to effects/snow/snow_config.cpp
index 6659b10889..33a4da0ec2 100644
--- a/effects/snow_config.cpp
+++ b/effects/snow/snow_config.cpp
@@ -28,12 +28,12 @@ along with this program. If not, see .
#include
#include
-#ifndef KDE_USE_FINAL
-KWIN_EFFECT_CONFIG_FACTORY
-#endif
+
namespace KWin
{
+KWIN_EFFECT_CONFIG_FACTORY
+
SnowEffectConfigForm::SnowEffectConfigForm(QWidget* parent) : QWidget(parent)
{
setupUi(this);
diff --git a/effects/snow_config.desktop b/effects/snow/snow_config.desktop
similarity index 100%
rename from effects/snow_config.desktop
rename to effects/snow/snow_config.desktop
diff --git a/effects/snow_config.h b/effects/snow/snow_config.h
similarity index 100%
rename from effects/snow_config.h
rename to effects/snow/snow_config.h
diff --git a/effects/snow_config.ui b/effects/snow/snow_config.ui
similarity index 100%
rename from effects/snow_config.ui
rename to effects/snow/snow_config.ui
diff --git a/effects/taskbarthumbnail/CMakeLists.txt b/effects/taskbarthumbnail/CMakeLists.txt
new file mode 100644
index 0000000000..c502753907
--- /dev/null
+++ b/effects/taskbarthumbnail/CMakeLists.txt
@@ -0,0 +1,12 @@
+#######################################
+# Effect
+
+# Source files
+set( kwin4_effect_builtins_sources ${kwin4_effect_builtins_sources}
+ taskbarthumbnail/taskbarthumbnail.cpp
+ )
+
+# .desktop files
+install( FILES
+ taskbarthumbnail/taskbarthumbnail.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
diff --git a/effects/taskbarthumbnail.cpp b/effects/taskbarthumbnail/taskbarthumbnail.cpp
similarity index 100%
rename from effects/taskbarthumbnail.cpp
rename to effects/taskbarthumbnail/taskbarthumbnail.cpp
diff --git a/effects/taskbarthumbnail.desktop b/effects/taskbarthumbnail/taskbarthumbnail.desktop
similarity index 100%
rename from effects/taskbarthumbnail.desktop
rename to effects/taskbarthumbnail/taskbarthumbnail.desktop
diff --git a/effects/taskbarthumbnail.h b/effects/taskbarthumbnail/taskbarthumbnail.h
similarity index 100%
rename from effects/taskbarthumbnail.h
rename to effects/taskbarthumbnail/taskbarthumbnail.h
diff --git a/effects/thumbnailaside/CMakeLists.txt b/effects/thumbnailaside/CMakeLists.txt
new file mode 100644
index 0000000000..ac14c85a62
--- /dev/null
+++ b/effects/thumbnailaside/CMakeLists.txt
@@ -0,0 +1,26 @@
+#######################################
+# Effect
+
+# Source files
+set( kwin4_effect_builtins_sources ${kwin4_effect_builtins_sources}
+ thumbnailaside/thumbnailaside.cpp
+ )
+
+# .desktop files
+install( FILES
+ thumbnailaside/thumbnailaside.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
+
+#######################################
+# Config
+
+# Source files
+set( kwin4_effect_builtins_config_sources ${kwin4_effect_builtins_config_sources}
+ thumbnailaside/thumbnailaside_config.cpp
+ thumbnailaside/thumbnailaside_config.ui
+ )
+
+# .desktop files
+install( FILES
+ thumbnailaside/thumbnailaside_config.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
diff --git a/effects/thumbnailaside.cpp b/effects/thumbnailaside/thumbnailaside.cpp
similarity index 100%
rename from effects/thumbnailaside.cpp
rename to effects/thumbnailaside/thumbnailaside.cpp
diff --git a/effects/thumbnailaside.desktop b/effects/thumbnailaside/thumbnailaside.desktop
similarity index 100%
rename from effects/thumbnailaside.desktop
rename to effects/thumbnailaside/thumbnailaside.desktop
diff --git a/effects/thumbnailaside.h b/effects/thumbnailaside/thumbnailaside.h
similarity index 100%
rename from effects/thumbnailaside.h
rename to effects/thumbnailaside/thumbnailaside.h
diff --git a/effects/thumbnailaside_config.cpp b/effects/thumbnailaside/thumbnailaside_config.cpp
similarity index 100%
rename from effects/thumbnailaside_config.cpp
rename to effects/thumbnailaside/thumbnailaside_config.cpp
index 0248ab59ea..8d161f320a 100644
--- a/effects/thumbnailaside_config.cpp
+++ b/effects/thumbnailaside/thumbnailaside_config.cpp
@@ -32,11 +32,11 @@ along with this program. If not, see .
#include
#include
-KWIN_EFFECT_CONFIG_FACTORY
-
namespace KWin
{
+KWIN_EFFECT_CONFIG_FACTORY
+
ThumbnailAsideEffectConfigForm::ThumbnailAsideEffectConfigForm(QWidget* parent) : QWidget(parent)
{
setupUi(this);
diff --git a/effects/thumbnailaside_config.desktop b/effects/thumbnailaside/thumbnailaside_config.desktop
similarity index 100%
rename from effects/thumbnailaside_config.desktop
rename to effects/thumbnailaside/thumbnailaside_config.desktop
diff --git a/effects/thumbnailaside_config.h b/effects/thumbnailaside/thumbnailaside_config.h
similarity index 100%
rename from effects/thumbnailaside_config.h
rename to effects/thumbnailaside/thumbnailaside_config.h
diff --git a/effects/thumbnailaside_config.ui b/effects/thumbnailaside/thumbnailaside_config.ui
similarity index 100%
rename from effects/thumbnailaside_config.ui
rename to effects/thumbnailaside/thumbnailaside_config.ui
diff --git a/effects/trackmouse/CMakeLists.txt b/effects/trackmouse/CMakeLists.txt
new file mode 100644
index 0000000000..552e8adc6c
--- /dev/null
+++ b/effects/trackmouse/CMakeLists.txt
@@ -0,0 +1,30 @@
+#######################################
+# Effect
+
+# Source files
+set( kwin4_effect_builtins_sources ${kwin4_effect_builtins_sources}
+ trackmouse/trackmouse.cpp
+ )
+
+# .desktop files
+install( FILES
+ trackmouse/trackmouse.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
+
+# Data files
+install( FILES
+ trackmouse/data/trackmouse.png
+ DESTINATION ${DATA_INSTALL_DIR}/kwin )
+
+#######################################
+# Config
+
+# Source files
+set( kwin4_effect_builtins_config_sources ${kwin4_effect_builtins_config_sources}
+ trackmouse/trackmouse_config.cpp
+ )
+
+# .desktop files
+install( FILES
+ trackmouse/trackmouse_config.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
diff --git a/effects/data/trackmouse.png b/effects/trackmouse/data/trackmouse.png
similarity index 100%
rename from effects/data/trackmouse.png
rename to effects/trackmouse/data/trackmouse.png
diff --git a/effects/trackmouse.cpp b/effects/trackmouse/trackmouse.cpp
similarity index 100%
rename from effects/trackmouse.cpp
rename to effects/trackmouse/trackmouse.cpp
diff --git a/effects/trackmouse.desktop b/effects/trackmouse/trackmouse.desktop
similarity index 100%
rename from effects/trackmouse.desktop
rename to effects/trackmouse/trackmouse.desktop
diff --git a/effects/trackmouse.h b/effects/trackmouse/trackmouse.h
similarity index 100%
rename from effects/trackmouse.h
rename to effects/trackmouse/trackmouse.h
diff --git a/effects/trackmouse_config.cpp b/effects/trackmouse/trackmouse_config.cpp
similarity index 98%
rename from effects/trackmouse_config.cpp
rename to effects/trackmouse/trackmouse_config.cpp
index a3c4af370c..89019c8077 100644
--- a/effects/trackmouse_config.cpp
+++ b/effects/trackmouse/trackmouse_config.cpp
@@ -29,12 +29,12 @@ along with this program. If not, see .
#include
#include
-#ifndef KDE_USE_FINAL
-KWIN_EFFECT_CONFIG_FACTORY
-#endif
+
namespace KWin
{
+KWIN_EFFECT_CONFIG_FACTORY
+
TrackMouseEffectConfig::TrackMouseEffectConfig(QWidget* parent, const QVariantList& args) :
KCModule(EffectFactory::componentData(), parent, args)
{
diff --git a/effects/trackmouse_config.desktop b/effects/trackmouse/trackmouse_config.desktop
similarity index 100%
rename from effects/trackmouse_config.desktop
rename to effects/trackmouse/trackmouse_config.desktop
diff --git a/effects/trackmouse_config.h b/effects/trackmouse/trackmouse_config.h
similarity index 100%
rename from effects/trackmouse_config.h
rename to effects/trackmouse/trackmouse_config.h
diff --git a/effects/translucency/CMakeLists.txt b/effects/translucency/CMakeLists.txt
new file mode 100644
index 0000000000..ca65a0e01b
--- /dev/null
+++ b/effects/translucency/CMakeLists.txt
@@ -0,0 +1,26 @@
+#######################################
+# Effect
+
+# Source files
+set( kwin4_effect_builtins_sources ${kwin4_effect_builtins_sources}
+ translucency/translucency.cpp
+ )
+
+# .desktop files
+install( FILES
+ translucency/translucency.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
+
+#######################################
+# Config
+
+# Source files
+set( kwin4_effect_builtins_config_sources ${kwin4_effect_builtins_config_sources}
+ translucency/translucency_config.cpp
+ translucency/translucency_config.ui
+ )
+
+# .desktop files
+install( FILES
+ translucency/translucency_config.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
diff --git a/effects/maketransparent.cpp b/effects/translucency/translucency.cpp
similarity index 91%
rename from effects/maketransparent.cpp
rename to effects/translucency/translucency.cpp
index dc0a9db583..9687a40943 100644
--- a/effects/maketransparent.cpp
+++ b/effects/translucency/translucency.cpp
@@ -18,16 +18,16 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see .
*********************************************************************/
-#include "maketransparent.h"
+#include "translucency.h"
#include
namespace KWin
{
-KWIN_EFFECT( maketransparent, MakeTransparentEffect )
+KWIN_EFFECT( translucency, TranslucencyEffect )
-MakeTransparentEffect::MakeTransparentEffect()
+TranslucencyEffect::TranslucencyEffect()
: fadeout( NULL )
, current( NULL )
, previous( NULL )
@@ -36,9 +36,9 @@ MakeTransparentEffect::MakeTransparentEffect()
active = effects->activeWindow();
}
-void MakeTransparentEffect::reconfigure( ReconfigureFlags )
+void TranslucencyEffect::reconfigure( ReconfigureFlags )
{
- KConfigGroup conf = effects->effectConfig("MakeTransparent");
+ KConfigGroup conf = effects->effectConfig("Translucency");
decoration = conf.readEntry( "Decoration", 1.0 );
moveresize = conf.readEntry( "MoveResize", 0.8 );
dialogs = conf.readEntry( "Dialogs", 1.0 );
@@ -67,7 +67,7 @@ void MakeTransparentEffect::reconfigure( ReconfigureFlags )
effects->addRepaintFull();
}
-void MakeTransparentEffect::prePaintWindow( EffectWindow* w, WindowPrePaintData& data, int time )
+void TranslucencyEffect::prePaintWindow( EffectWindow* w, WindowPrePaintData& data, int time )
{
moveresize_timeline.addTime(time);
activeinactive_timeline.addTime(time);
@@ -96,7 +96,7 @@ void MakeTransparentEffect::prePaintWindow( EffectWindow* w, WindowPrePaintData&
effects->prePaintWindow( w, data, time );
}
-void MakeTransparentEffect::paintWindow( EffectWindow* w, int mask, QRegion region, WindowPaintData& data )
+void TranslucencyEffect::paintWindow( EffectWindow* w, int mask, QRegion region, WindowPaintData& data )
{
// We keep track of the windows that was last active so we know
// which one to fade out and which ones to paint as fully inactive
@@ -180,7 +180,7 @@ void MakeTransparentEffect::paintWindow( EffectWindow* w, int mask, QRegion regi
effects->paintWindow( w, mask, region, data );
}
-bool MakeTransparentEffect::isInactive( const EffectWindow* w ) const
+bool TranslucencyEffect::isInactive( const EffectWindow* w ) const
{
if( active == w || w->isDock() || !w->isManaged() )
return false;
@@ -192,7 +192,7 @@ bool MakeTransparentEffect::isInactive( const EffectWindow* w ) const
return true;
}
-void MakeTransparentEffect::windowUserMovedResized( EffectWindow* w, bool first, bool last )
+void TranslucencyEffect::windowUserMovedResized( EffectWindow* w, bool first, bool last )
{
if( moveresize != 1.0 && ( first || last ))
{
@@ -201,7 +201,7 @@ void MakeTransparentEffect::windowUserMovedResized( EffectWindow* w, bool first,
}
}
-void MakeTransparentEffect::windowActivated( EffectWindow* w )
+void TranslucencyEffect::windowActivated( EffectWindow* w )
{
if( inactive != 1.0 )
{
diff --git a/effects/maketransparent.desktop b/effects/translucency/translucency.desktop
similarity index 98%
rename from effects/maketransparent.desktop
rename to effects/translucency/translucency.desktop
index cd706f9153..ea2e5048df 100644
--- a/effects/maketransparent.desktop
+++ b/effects/translucency/translucency.desktop
@@ -71,7 +71,7 @@ Name[wa]=Transparince
Name[x-test]=xxTranslucencyxx
Name[zh_CN]=半透明
Name[zh_TW]=半透明
-Icon=preferences-system-windows-effect-maketransparent
+Icon=preferences-system-windows-effect-translucency
Comment=Make windows translucent under different conditions
Comment[ar]=تجعل النوافذ شبه شفافة في شروط مختلفة
Comment[be@latin]=Robić vokny prazrystymi dla peŭnych umovaŭ
@@ -124,7 +124,7 @@ Type=Service
X-KDE-ServiceTypes=KWin/Effect
X-KDE-PluginInfo-Author=Luboš Luňák
X-KDE-PluginInfo-Email=l.lunak@kde.org
-X-KDE-PluginInfo-Name=kwin4_effect_maketransparent
+X-KDE-PluginInfo-Name=kwin4_effect_translucency
X-KDE-PluginInfo-Version=0.1.0
X-KDE-PluginInfo-Category=Appearance
X-KDE-PluginInfo-Depends=
diff --git a/effects/maketransparent.h b/effects/translucency/translucency.h
similarity index 94%
rename from effects/maketransparent.h
rename to effects/translucency/translucency.h
index d57571fbeb..cb17044e6b 100644
--- a/effects/maketransparent.h
+++ b/effects/translucency/translucency.h
@@ -18,19 +18,19 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see .
*********************************************************************/
-#ifndef KWIN_MAKETRANSPARENT_H
-#define KWIN_MAKETRANSPARENT_H
+#ifndef KWIN_TRANSLUCENCY_H
+#define KWIN_TRANSLUCENCY_H
#include
namespace KWin
{
-class MakeTransparentEffect
+class TranslucencyEffect
: public Effect
{
public:
- MakeTransparentEffect();
+ TranslucencyEffect();
virtual void reconfigure( ReconfigureFlags );
virtual void windowUserMovedResized( EffectWindow* c, bool first, bool last );
virtual void prePaintWindow( EffectWindow* w, WindowPrePaintData& data, int time );
diff --git a/effects/maketransparent_config.cpp b/effects/translucency/translucency_config.cpp
similarity index 86%
rename from effects/maketransparent_config.cpp
rename to effects/translucency/translucency_config.cpp
index 82a4005309..c16f6a4552 100644
--- a/effects/maketransparent_config.cpp
+++ b/effects/translucency/translucency_config.cpp
@@ -18,7 +18,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see .
*********************************************************************/
-#include "maketransparent_config.h"
+#include "translucency_config.h"
#include
@@ -29,21 +29,20 @@ along with this program. If not, see .
#include
#include
-#ifndef KDE_USE_FINAL
-KWIN_EFFECT_CONFIG_FACTORY
-#endif
-
namespace KWin
{
-MakeTransparentEffectConfigForm::MakeTransparentEffectConfigForm(QWidget* parent) : QWidget(parent)
+
+KWIN_EFFECT_CONFIG_FACTORY
+
+TranslucencyEffectConfigForm::TranslucencyEffectConfigForm(QWidget* parent) : QWidget(parent)
{
setupUi(this);
}
-MakeTransparentEffectConfig::MakeTransparentEffectConfig(QWidget* parent, const QVariantList& args) :
+TranslucencyEffectConfig::TranslucencyEffectConfig(QWidget* parent, const QVariantList& args) :
KCModule(EffectFactory::componentData(), parent, args)
{
- m_ui = new MakeTransparentEffectConfigForm(this);
+ m_ui = new TranslucencyEffectConfigForm(this);
QVBoxLayout* layout = new QVBoxLayout(this);
layout->addWidget(m_ui);
@@ -62,11 +61,11 @@ MakeTransparentEffectConfig::MakeTransparentEffectConfig(QWidget* parent, const
load();
}
-void MakeTransparentEffectConfig::load()
+void TranslucencyEffectConfig::load()
{
KCModule::load();
- KConfigGroup conf = EffectsHandler::effectConfig("MakeTransparent");
+ KConfigGroup conf = EffectsHandler::effectConfig("Translucency");
m_ui->decorations->setValue( (int)( conf.readEntry( "Decoration", 1.0 ) * 100 ) );
m_ui->moveresize->setValue( (int)( conf.readEntry( "MoveResize", 0.8 ) * 100 ) );
m_ui->dialogs->setValue( (int)( conf.readEntry( "Dialogs", 1.0 ) * 100 ) );
@@ -82,11 +81,11 @@ void MakeTransparentEffectConfig::load()
emit changed(false);
}
-void MakeTransparentEffectConfig::save()
+void TranslucencyEffectConfig::save()
{
KCModule::save();
- KConfigGroup conf = EffectsHandler::effectConfig("MakeTransparent");
+ KConfigGroup conf = EffectsHandler::effectConfig("Translucency");
conf.writeEntry( "Decoration", m_ui->decorations->value() / 100.0 );
conf.writeEntry( "MoveResize", m_ui->moveresize->value() / 100.0 );
conf.writeEntry( "Dialogs", m_ui->dialogs->value() / 100.0 );
@@ -101,10 +100,10 @@ void MakeTransparentEffectConfig::save()
conf.sync();
emit changed(false);
- EffectsHandler::sendReloadMessage( "maketransparent" );
+ EffectsHandler::sendReloadMessage( "translucency" );
}
-void MakeTransparentEffectConfig::defaults()
+void TranslucencyEffectConfig::defaults()
{
m_ui->decorations->setValue( 100 );
m_ui->moveresize->setValue( 80 );
@@ -123,4 +122,4 @@ void MakeTransparentEffectConfig::defaults()
} // namespace
-#include "maketransparent_config.moc"
+#include "translucency_config.moc"
diff --git a/effects/maketransparent_config.desktop b/effects/translucency/translucency_config.desktop
similarity index 96%
rename from effects/maketransparent_config.desktop
rename to effects/translucency/translucency_config.desktop
index 4cf8349629..09aa5455ab 100644
--- a/effects/maketransparent_config.desktop
+++ b/effects/translucency/translucency_config.desktop
@@ -3,8 +3,8 @@ Type=Service
X-KDE-ServiceTypes=KCModule
X-KDE-Library=kcm_kwin4_effect_builtins
-X-KDE-ParentComponents=kwin4_effect_maketransparent
-X-KDE-PluginKeyword=maketransparent
+X-KDE-ParentComponents=kwin4_effect_translucency
+X-KDE-PluginKeyword=translucency
Name=Translucency
Name[af]=Deursigtigheid
diff --git a/effects/maketransparent_config.h b/effects/translucency/translucency_config.h
similarity index 69%
rename from effects/maketransparent_config.h
rename to effects/translucency/translucency_config.h
index a860b6faf0..bb802d7080 100644
--- a/effects/maketransparent_config.h
+++ b/effects/translucency/translucency_config.h
@@ -18,35 +18,35 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see .
*********************************************************************/
-#ifndef KWIN_MAKETRANSPARENT_CONFIG_H
-#define KWIN_MAKETRANSPARENT_CONFIG_H
+#ifndef KWIN_TRANSLUCENCY_CONFIG_H
+#define KWIN_TRANSLUCENCY_CONFIG_H
#include
-#include "ui_maketransparent_config.h"
+#include "ui_translucency_config.h"
namespace KWin
{
-class MakeTransparentEffectConfigForm : public QWidget, public Ui::MakeTransparentEffectConfigForm
+class TranslucencyEffectConfigForm : public QWidget, public Ui::TranslucencyEffectConfigForm
{
Q_OBJECT
public:
- explicit MakeTransparentEffectConfigForm(QWidget* parent);
+ explicit TranslucencyEffectConfigForm(QWidget* parent);
};
-class MakeTransparentEffectConfig : public KCModule
+class TranslucencyEffectConfig : public KCModule
{
Q_OBJECT
public:
- explicit MakeTransparentEffectConfig(QWidget* parent = 0, const QVariantList& args = QVariantList());
+ explicit TranslucencyEffectConfig(QWidget* parent = 0, const QVariantList& args = QVariantList());
virtual void save();
virtual void load();
virtual void defaults();
private:
- MakeTransparentEffectConfigForm* m_ui;
+ TranslucencyEffectConfigForm* m_ui;
};
} // namespace
diff --git a/effects/maketransparent_config.ui b/effects/translucency/translucency_config.ui
similarity index 99%
rename from effects/maketransparent_config.ui
rename to effects/translucency/translucency_config.ui
index afb47a4b4f..374c7029f5 100644
--- a/effects/maketransparent_config.ui
+++ b/effects/translucency/translucency_config.ui
@@ -1,6 +1,6 @@
- KWin::MakeTransparentEffectConfigForm
-
+ KWin::TranslucencyEffectConfigForm
+
0
diff --git a/effects/wobblywindows/CMakeLists.txt b/effects/wobblywindows/CMakeLists.txt
new file mode 100644
index 0000000000..f3cb50b51a
--- /dev/null
+++ b/effects/wobblywindows/CMakeLists.txt
@@ -0,0 +1,26 @@
+#######################################
+# Effect
+
+# Source files
+set( kwin4_effect_builtins_sources ${kwin4_effect_builtins_sources}
+ wobblywindows/wobblywindows.cpp
+ )
+
+# .desktop files
+install( FILES
+ wobblywindows/wobblywindows.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
+
+#######################################
+# Config
+
+# Source files
+set( kwin4_effect_builtins_config_sources ${kwin4_effect_builtins_config_sources}
+ wobblywindows/wobblywindows_config.cpp
+ wobblywindows/wobblywindows_config.ui
+ )
+
+# .desktop files
+install( FILES
+ wobblywindows/wobblywindows_config.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
diff --git a/effects/wobblywindows.cpp b/effects/wobblywindows/wobblywindows.cpp
similarity index 100%
rename from effects/wobblywindows.cpp
rename to effects/wobblywindows/wobblywindows.cpp
diff --git a/effects/wobblywindows.desktop b/effects/wobblywindows/wobblywindows.desktop
similarity index 100%
rename from effects/wobblywindows.desktop
rename to effects/wobblywindows/wobblywindows.desktop
diff --git a/effects/wobblywindows.h b/effects/wobblywindows/wobblywindows.h
similarity index 100%
rename from effects/wobblywindows.h
rename to effects/wobblywindows/wobblywindows.h
diff --git a/effects/wobblywindows_config.cpp b/effects/wobblywindows/wobblywindows_config.cpp
similarity index 99%
rename from effects/wobblywindows_config.cpp
rename to effects/wobblywindows/wobblywindows_config.cpp
index c1341c1df4..5019b49c5e 100644
--- a/effects/wobblywindows_config.cpp
+++ b/effects/wobblywindows/wobblywindows_config.cpp
@@ -28,13 +28,11 @@ along with this program. If not, see .
#include
#include
-#ifndef KDE_USE_FINAL
-KWIN_EFFECT_CONFIG_FACTORY
-#endif
-
namespace KWin
{
+KWIN_EFFECT_CONFIG_FACTORY
+
//-----------------------------------------------------------------------------
// WARNING: This is (kinda) copied from wobblywindows.cpp
diff --git a/effects/wobblywindows_config.desktop b/effects/wobblywindows/wobblywindows_config.desktop
similarity index 100%
rename from effects/wobblywindows_config.desktop
rename to effects/wobblywindows/wobblywindows_config.desktop
diff --git a/effects/wobblywindows_config.h b/effects/wobblywindows/wobblywindows_config.h
similarity index 100%
rename from effects/wobblywindows_config.h
rename to effects/wobblywindows/wobblywindows_config.h
diff --git a/effects/wobblywindows_config.ui b/effects/wobblywindows/wobblywindows_config.ui
similarity index 100%
rename from effects/wobblywindows_config.ui
rename to effects/wobblywindows/wobblywindows_config.ui
diff --git a/effects/zoom/CMakeLists.txt b/effects/zoom/CMakeLists.txt
new file mode 100644
index 0000000000..e3c8876c1b
--- /dev/null
+++ b/effects/zoom/CMakeLists.txt
@@ -0,0 +1,25 @@
+#######################################
+# Effect
+
+# Source files
+set( kwin4_effect_builtins_sources ${kwin4_effect_builtins_sources}
+ zoom/zoom.cpp
+ )
+
+# .desktop files
+install( FILES
+ zoom/zoom.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
+
+#######################################
+# Config
+
+# Source files
+set( kwin4_effect_builtins_config_sources ${kwin4_effect_builtins_config_sources}
+ zoom/zoom_config.cpp
+ )
+
+# .desktop files
+install( FILES
+ zoom/zoom_config.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
diff --git a/effects/zoom.cpp b/effects/zoom/zoom.cpp
similarity index 100%
rename from effects/zoom.cpp
rename to effects/zoom/zoom.cpp
diff --git a/effects/zoom.desktop b/effects/zoom/zoom.desktop
similarity index 100%
rename from effects/zoom.desktop
rename to effects/zoom/zoom.desktop
diff --git a/effects/zoom.h b/effects/zoom/zoom.h
similarity index 100%
rename from effects/zoom.h
rename to effects/zoom/zoom.h
diff --git a/effects/zoom_config.cpp b/effects/zoom/zoom_config.cpp
similarity index 99%
rename from effects/zoom_config.cpp
rename to effects/zoom/zoom_config.cpp
index 9b533c3942..e388dec2c6 100644
--- a/effects/zoom_config.cpp
+++ b/effects/zoom/zoom_config.cpp
@@ -29,12 +29,12 @@ along with this program. If not, see .
#include
#include
-#ifndef KDE_USE_FINAL
-KWIN_EFFECT_CONFIG_FACTORY
-#endif
+
namespace KWin
{
+KWIN_EFFECT_CONFIG_FACTORY
+
ZoomEffectConfig::ZoomEffectConfig(QWidget* parent, const QVariantList& args) :
KCModule(EffectFactory::componentData(), parent, args)
{
diff --git a/effects/zoom_config.desktop b/effects/zoom/zoom_config.desktop
similarity index 100%
rename from effects/zoom_config.desktop
rename to effects/zoom/zoom_config.desktop
diff --git a/effects/zoom_config.h b/effects/zoom/zoom_config.h
similarity index 100%
rename from effects/zoom_config.h
rename to effects/zoom/zoom_config.h
diff --git a/lib/kwineffects.h b/lib/kwineffects.h
index baa17382c7..b8ccf88cd5 100644
--- a/lib/kwineffects.h
+++ b/lib/kwineffects.h
@@ -462,12 +462,26 @@ class KWIN_EXPORT Effect
* E.g. KWIN_EFFECT_CONFIG( flames, MyFlameEffectConfig )
**/
#define KWIN_EFFECT_CONFIG( name, classname ) \
- K_PLUGIN_FACTORY(name##_factory, registerPlugin();) \
- K_EXPORT_PLUGIN(name##_factory("kcm_kwineffect_" #name))
-
+ K_PLUGIN_FACTORY(EffectFactory, registerPlugin(#name);) \
+ K_EXPORT_PLUGIN(EffectFactory("kcm_kwin4_effect_" #name))
+/**
+ * Defines the function used to retrieve multiple effects' config widget
+ * E.g. KWIN_EFFECT_CONFIG_MULTIPLE( flames,
+ * KWIN_EFFECT_CONFIG_SINGLE( flames, MyFlameEffectConfig )
+ * KWIN_EFFECT_CONFIG_SINGLE( fire, MyFireEffectConfig )
+ * )
+ **/
+#define KWIN_EFFECT_CONFIG_MULTIPLE( name, singles ) \
+ K_PLUGIN_FACTORY(EffectFactory, singles) \
+ K_EXPORT_PLUGIN(EffectFactory("kcm_kwin4_effect_" #name))
+/**
+ * @see KWIN_EFFECT_CONFIG_MULTIPLE
+ */
+#define KWIN_EFFECT_CONFIG_SINGLE( name, classname ) \
+ registerPlugin(#name);
/**
* The declaration of the factory to export the effect
- **/
+ */
#define KWIN_EFFECT_CONFIG_FACTORY K_PLUGIN_FACTORY_DECLARATION(EffectFactory)