diff --git a/CMakeLists.txt b/CMakeLists.txt index 6a1e5001..8fecb9ff 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -49,6 +49,12 @@ else() target_compile_options(tray PRIVATE ${APPINDICATOR_CFLAGS}) target_link_directories(tray PRIVATE ${APPINDICATOR_LIBRARY_DIRS}) target_compile_definitions(tray PRIVATE TRAY_APPINDICATOR=1) + if(APPINDICATOR_AYATANA) + target_compile_definitions(tray PRIVATE TRAY_AYATANA_APPINDICATOR=1) + endif() + if(APPINDICATOR_LEGACY) + target_compile_definitions(tray PRIVATE TRAY_LEGACY_APPINDICATOR=1) + endif() target_compile_definitions(tray PRIVATE TRAY_LIBNOTIFY=1) target_link_libraries(tray PRIVATE ${APPINDICATOR_LIBRARIES} ${LIBNOTIFY_LIBRARIES}) endif() diff --git a/cmake/FindAPPINDICATOR.cmake b/cmake/FindAPPINDICATOR.cmake index 5d9f718e..6bfeb662 100644 --- a/cmake/FindAPPINDICATOR.cmake +++ b/cmake/FindAPPINDICATOR.cmake @@ -23,7 +23,12 @@ include(FindPackageHandleStandardArgs) PKG_CHECK_MODULES(APPINDICATOR ayatana-appindicator3-0.1) IF( APPINDICATOR_FOUND ) - SET(HAVE_AYATANAAPPINDICATOR 1) + SET(APPINDICATOR_AYATANA 1) +ELSE() + PKG_CHECK_MODULES(APPINDICATOR appindicator3-0.1) + IF( APPINDICATOR_FOUND ) + SET(APPINDICATOR_LEGACY 1) + ENDIF() ENDIF() mark_as_advanced(APPINDICATOR_INCLUDE_DIR APPINDICATOR_LIBRARY) diff --git a/tray_linux.c b/tray_linux.c index 6a7da881..b3d9f087 100644 --- a/tray_linux.c +++ b/tray_linux.c @@ -1,8 +1,13 @@ #include "tray.h" +#include +#include +#ifdef TRAY_AYATANA_APPINDICATOR #include +#elif TRAY_LEGACY_APPINDICATOR +#include +#endif + #include -#include -#include #define TRAY_APPINDICATOR_ID "tray-id" static AppIndicator *indicator = NULL;