My previous patch missed a CMakeLists.txt and broke the build, because I am very smart
Index: cairo-dock-plug-ins-3.4.0/CMakeLists.txt =================================================================== --- cairo-dock-plug-ins-3.4.0.orig/CMakeLists.txt +++ cairo-dock-plug-ins-3.4.0/CMakeLists.txt @@ -569,11 +569,11 @@ if (enable-mono-interface) if (NOT GMCS_EXECUTABLE OR NOT EXISTS ${GMCS_EXECUTABLE}) message (STATUS "Could not find Mono compiler gmcs, won't build Mono interface.") else() - pkg_check_modules (MONO_PACKAGE glib-sharp-2.0 ndesk-dbus-1.0 ndesk-dbus-glib-1.0) + pkg_check_modules (MONO_PACKAGE glib-sharp-2.0 dbus-sharp-2.0 dbus-sharp-glib-2.0) if (NOT MONO_PACKAGE_FOUND) - message (STATUS "Could not find glib-sharp-2.0, ndesk-dbus-1.0 or ndesk-dbus-glib-1.0; won't be built Mono interface.") - message (WARNING "These modules are required to compile DBus applet with Mono interface: glib-sharp-2.0, ndesk-dbus-1.0 and ndesk-dbus-glib-1.0") - set (MODULES_MISSING "${MODULES_MISSING} glib-sharp-2.0 ndesk-dbus-1.0 ndesk-dbus-glib-1.0") + message (STATUS "Could not find glib-sharp-2.0, dbus-sharp-2.0 or dbus-sharp-glib-2.0; won't be built Mono interface.") + message (WARNING "These modules are required to compile DBus applet with Mono interface: glib-sharp-2.0, dbus-sharp-2.0 and dbus-sharp-glib-2.0") + set (MODULES_MISSING "${MODULES_MISSING} glib-sharp-2.0 dbus-sharp-2.0 dbus-sharp-glib-2.0") else() set (MONO_FOUND TRUE) set (with_mono yes) Index: cairo-dock-plug-ins-3.4.0/Dbus/interfaces/mono/CDApplet.cs =================================================================== --- cairo-dock-plug-ins-3.4.0.orig/Dbus/interfaces/mono/CDApplet.cs +++ cairo-dock-plug-ins-3.4.0/Dbus/interfaces/mono/CDApplet.cs @@ -29,7 +29,7 @@ using System; // Environment using System.IO; // Path, Directory using System.Reflection; using GLib; -using NDesk.DBus; +using DBus; using CairoDock.Applet; //namespace CairoDock.Applet @@ -258,8 +258,8 @@ public class CDApplet private void _connect_to_dock () { - NDesk.DBus.BusG.Init(); - NDesk.DBus.Bus bus = NDesk.DBus.Bus.Session; + DBus.BusG.Init(); + DBus.Bus bus = DBus.Bus.Session; this.icon = bus.GetObject<IApplet> ("org.cairodock.CairoDock", new ObjectPath (this.cBusPath)); this.icon.on_click += new OnClickEvent (on_click); this.icon.on_middle_click += new OnMiddleClickEvent (on_middle_click); Index: cairo-dock-plug-ins-3.4.0/Dbus/interfaces/mono/IApplet.cs =================================================================== --- cairo-dock-plug-ins-3.4.0.orig/Dbus/interfaces/mono/IApplet.cs +++ cairo-dock-plug-ins-3.4.0/Dbus/interfaces/mono/IApplet.cs @@ -1,6 +1,6 @@ using System; using System.Collections.Generic; // Dictionnary -using NDesk.DBus; +using DBus; namespace CairoDock.Applet { @@ -27,7 +27,7 @@ namespace CairoDock.Applet Left } - [NDesk.DBus.Interface("org.cairodock.CairoDock.applet")] + [DBus.Interface("org.cairodock.CairoDock.applet")] public interface IApplet { object Get(string cProperty); Index: cairo-dock-plug-ins-3.4.0/Dbus/interfaces/mono/ISubApplet.cs =================================================================== --- cairo-dock-plug-ins-3.4.0.orig/Dbus/interfaces/mono/ISubApplet.cs +++ cairo-dock-plug-ins-3.4.0/Dbus/interfaces/mono/ISubApplet.cs @@ -1,6 +1,6 @@ using System; using System.Collections.Generic; // Dictionnary -using NDesk.DBus; +using DBus; namespace CairoDock.Applet { Index: cairo-dock-plug-ins-3.4.0/Dbus/interfaces/mono/CMakeLists.txt =================================================================== --- cairo-dock-plug-ins-3.4.0.orig/Dbus/interfaces/mono/CMakeLists.txt +++ cairo-dock-plug-ins-3.4.0/Dbus/interfaces/mono/CMakeLists.txt @@ -3,7 +3,7 @@ execute_process(COMMAND ${GMCS_EXECUTABLE} -target:library - -pkg:glib-sharp-2.0 -pkg:ndesk-dbus-1.0 -pkg:ndesk-dbus-glib-1.0 + -pkg:glib-sharp-2.0 -pkg:dbus-sharp-2.0 -pkg:dbus-sharp-glib-2.0 -out:${CMAKE_CURRENT_BINARY_DIR}/CDApplet.dll ${CMAKE_CURRENT_SOURCE_DIR}/CDApplet.cs ${CMAKE_CURRENT_SOURCE_DIR}/ISubApplet.cs ${CMAKE_CURRENT_SOURCE_DIR}/IApplet.cs) ### find how to register to GAC ...