42abed4d34
This is an OpenGL effect to replace the startup notification used by KRunner. It provides the same functionality without the need to move and shape windows and supports translucent icons. The effect registers a manager selection which is honoured by KRunner to not start the startup notification if the effect has registerd the selection. See Review Request http://reviewboard.kde.org/r/5529/ svn path=/trunk/KDE/kdebase/workspace/; revision=1186408
119 lines
4.3 KiB
CMake
119 lines
4.3 KiB
CMake
# the factory macros cause errors
|
|
kde4_no_enable_final(kwineffects)
|
|
|
|
# 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 ${KDE4_PLASMA_LIBS} ${X11_Xfixes_LIB} ${X11_Xcursor_LIB})
|
|
if (X11_Xfixes_FOUND)
|
|
target_link_libraries(kwin4_effect_${name} ${X11_Xfixes_LIB})
|
|
endif (X11_Xfixes_FOUND)
|
|
install( TARGETS kwin4_effect_${name} DESTINATION ${PLUGIN_INSTALL_DIR} )
|
|
endmacro( KWIN4_ADD_EFFECT )
|
|
|
|
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 the KWin/Effect service type
|
|
install( FILES kwineffect.desktop DESTINATION ${SERVICETYPES_INSTALL_DIR} )
|
|
|
|
# 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( dashboard/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( resize/CMakeLists.txt )
|
|
include( scalein/CMakeLists.txt )
|
|
include( shadow/CMakeLists.txt )
|
|
include( showfps/CMakeLists.txt )
|
|
include( showpaint/CMakeLists.txt )
|
|
include( slide/CMakeLists.txt )
|
|
include( slideback/CMakeLists.txt )
|
|
include( slidingpopups/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( glide/CMakeLists.txt )
|
|
include( invert/CMakeLists.txt )
|
|
include( lookingglass/CMakeLists.txt )
|
|
include( magnifier/CMakeLists.txt )
|
|
include( mousemark/CMakeLists.txt )
|
|
include( screenshot/CMakeLists.txt )
|
|
include( sharpen/CMakeLists.txt )
|
|
include( sheet/CMakeLists.txt )
|
|
include( snaphelper/CMakeLists.txt )
|
|
include( snow/CMakeLists.txt )
|
|
include( startupfeedback/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
|
|
_data/circle-edgy.png
|
|
_data/circle.png
|
|
DESTINATION ${DATA_INSTALL_DIR}/kwin )
|