Difference between revisions of "Development/Tutorials/Plasma/ContainmentAction"

Jump to: navigation, search
(CMakeLists.txt)
Line 20: Line 20:
 
  X-KDE-PluginInfo-Website=http://techbase.kde.org
 
  X-KDE-PluginInfo-Website=http://techbase.kde.org
 
  X-KDE-PluginInfo-EnabledByDefault=true
 
  X-KDE-PluginInfo-EnabledByDefault=true
 +
 +
== CMakeLists.txt ==
 +
<pre>
 +
project(kde-contextmenu)
 +
 +
set(KDE_MIN_VERSION "4.3.85") # for the < 4.2 macro
 +
find_package(KDE4 4.3.85 REQUIRED)
 +
 +
include(MacroLibrary)
 +
include(KDE4Defaults)
 +
 +
add_definitions(${QT_DEFINITIONS} ${KDE4_DEFINITIONS})
 +
include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${KDE4_INCLUDES})
 +
 +
set(contextmenu_SRCS
 +
    launch.cpp
 +
)
 +
 +
kde4_add_plugin(kde-contextmenu ${contextmenu_SRCS})
 +
target_link_libraries(kde-contextmenu ${KDE4_PLASMA_LIBS} ${KDE4_KIO_LIBS})
 +
 +
install(TARGETS kde-contextmenu DESTINATION ${PLUGIN_INSTALL_DIR})
 +
install(FILES kde-contextmenu.desktop DESTINATION ${SERVICES_INSTALL_DIR})
 +
</pre>
  
 
= Debugging =
 
= Debugging =

Revision as of 00:15, 1 March 2013

You can use Plasma ContainmentAction e.g. for Context Menus on your Plasma Desktop. They will run as plugins meaning you can add and remove them after compilation. If they exist, their name will be stored in .desktop files.

Contents

Example

A simple example for Plasma ContainmentAction plugins can be found at https://github.com/tstaerk/kde-contextmenu/tree/0.1. Let's look at it here:

kde-contextmenu.desktop

[Desktop Entry]
Name=KDE Context Menu
Type=Service
Icon=favorites
Comment=Simple application launcher

ServiceTypes=Plasma/ContainmentActions

X-KDE-Library=kde-contextmenu
X-KDE-PluginInfo-Author=R. Hacker
X-KDE-PluginInfo-Email=hacker@home.org
X-KDE-PluginInfo-Name=kde-contextmenu
X-KDE-PluginInfo-Version=pre0.1
X-KDE-PluginInfo-Website=http://techbase.kde.org
X-KDE-PluginInfo-EnabledByDefault=true

CMakeLists.txt

project(kde-contextmenu)

set(KDE_MIN_VERSION "4.3.85") # for the < 4.2 macro
find_package(KDE4 4.3.85 REQUIRED)

include(MacroLibrary)
include(KDE4Defaults)

add_definitions(${QT_DEFINITIONS} ${KDE4_DEFINITIONS})
include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${KDE4_INCLUDES})

set(contextmenu_SRCS
    launch.cpp
)

kde4_add_plugin(kde-contextmenu ${contextmenu_SRCS})
target_link_libraries(kde-contextmenu ${KDE4_PLASMA_LIBS} ${KDE4_KIO_LIBS})

install(TARGETS kde-contextmenu DESTINATION ${PLUGIN_INSTALL_DIR})
install(FILES kde-contextmenu.desktop DESTINATION ${SERVICES_INSTALL_DIR})

Debugging

To debug your Plasma ContainmentAction call

kdebugdialog --fullmode

search for "plasma" and direct kDebug's output to /tmp/whatever.txt


KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal