KDE Mouse/Containment action plugins
( copy of https://forum.kde.org/viewtopic.php?f=83&t=132075#p354748 )
Plasma 4
Tutorial
- KDE Techbase - Plasma4 ContainmentAction: https://techbase.kde.org/Development/Tutorials/Plasma4/ContainmentAction
KDE Store
Plasma 5
KDE Store
- Plasma custom desktop menu: https://store.kde.org/p/998904/
--> source: https://github.com/MatMoul/plasma-containmentactions-customdesktopmenu
With the Kubuntu & Plasma 5
Downloading the plasma-containmentactions-customdesktopmenu-master.zip from https://github.com/MatMoul/plasma-containmentactions-customdesktopmenu

Installing build dependencies:
- build-essential
- cmake
- extra-cmake-modules
- qtbase5-dev
- plasma-framework-dev
- kio-dev
Generic commands:
mkdir -p builddir
cd builddir && cmake .. -DCMAKE_INSTALL_PREFIX=$(kf5-config --prefix) -DCMAKE_BUILD_TYPE=Release -DKDE_INSTALL_USE_QT_SYS_PATHS=ON
make
sudo make install
Build example:
Unpacking the plasma-containmentactions-customdesktopmenu-master.zip
At /Downloads/plasma-containmentactions-customdesktopmenu-master/src
$ mkdir -p builddir
$ cd builddir && cmake .. -DCMAKE_INSTALL_PREFIX=$(kf5-config --prefix) -DCMAKE_BUILD_TYPE=Release -DKDE_INSTALL_USE_QT_SYS_PATHS=ON
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found KF5Plasma: /usr/lib/x86_64-linux-gnu/cmake/KF5Plasma/KF5PlasmaConfig.cmake (found version "5.33.0")
-- Found KF5KIO: /usr/lib/x86_64-linux-gnu/cmake/KF5KIO/KF5KIOConfig.cmake (found version "5.33.0")
-- Found KF5: success (found version "5.33.0") found components: Plasma KIO
-- Looking for __GLIBC__
-- Looking for __GLIBC__ - found
-- Performing Test _OFFT_IS_64BIT
-- Performing Test _OFFT_IS_64BIT - Success
-- Configuring done
-- Generating done
-- Build files have been written to: /home/tryme/Downloads/plasma-containmentactions-customdesktopmenu-master/src/builddir
$ make
Scanning dependencies of target plasma_containmentactions_customdesktopmenu_automoc
[ 20%] Generating plasma-containmentactions-customdesktopmenu.json
About to parse service type file "plasma-containmentactions.desktop"
Found property definition "X-Plasma-HasConfigurationInterface" with type "bool"
Generated "/home/tryme/Downloads/plasma-containmentactions-customdesktopmenu-master/src/builddir/plasma-containmentactions-customdesktopmenu.json"
[ 40%] Automatic moc for target plasma_containmentactions_customdesktopmenu
Generating customdesktopmenu.moc
Generating moc_customdesktopmenu.cpp
[ 40%] Built target plasma_containmentactions_customdesktopmenu_automoc
Scanning dependencies of target plasma_containmentactions_customdesktopmenu
[ 60%] Building CXX object CMakeFiles/plasma_containmentactions_customdesktopmenu.dir/customdesktopmenu.cpp.o
[ 80%] Building CXX object CMakeFiles/plasma_containmentactions_customdesktopmenu.dir/plasma_containmentactions_customdesktopmenu_automoc.cpp.o
[100%] Linking CXX shared module plasma_containmentactions_customdesktopmenu.so
[100%] Built target plasma_containmentactions_customdesktopmenu
$ sudo make install
[sudo] password for tryme:
[ 20%] Automatic moc for target plasma_containmentactions_customdesktopmenu
[ 40%] Built target plasma_containmentactions_customdesktopmenu_automoc
[100%] Built target plasma_containmentactions_customdesktopmenu
Install the project...
-- Install configuration: "Release"
-- Installing: /usr/lib/x86_64-linux-gnu/qt5/plugins/plasma_containmentactions_customdesktopmenu.so
-- Installing: /usr/share/kservices5/plasma-containmentactions-customdesktopmenu.desktop
At here: