diff --git a/CMakeLists.txt b/CMakeLists.txt index 8ee5be415..273f342be 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -275,9 +275,15 @@ endif() if(ENABLE_IMAGEMAGICK7) pkg_check_modules(IMAGEMAGICK7 MagickCore-7.Q16HDRI) + if(NOT IMAGEMAGICK7_FOUND) + pkg_check_modules(IMAGEMAGICK7 /usr/lib/imagemagick7/pkgconfig/MagickCore-7.Q16HDRI.pc) + endif() if(NOT IMAGEMAGICK7_FOUND) pkg_check_modules(IMAGEMAGICK7 MagickCore-7.Q16) endif() + if(NOT IMAGEMAGICK7_FOUND) + pkg_check_modules(IMAGEMAGICK7 /usr/lib/imagemagick7/pkgconfig/MagickCore-7.Q16.pc) + endif() if(IMAGEMAGICK7_FOUND) target_compile_definitions(libfastfetch PRIVATE FF_HAVE_IMAGEMAGICK7=1) @@ -288,9 +294,15 @@ endif() if(ENABLE_IMAGEMAGICK6) pkg_check_modules(IMAGEMAGICK6 MagickCore-6.Q16HDRI) + if(NOT IMAGEMAGICK6_FOUND) + pkg_check_modules(IMAGEMAGICK6 /usr/lib/imagemagick6/pkgconfig/MagickCore-6.Q16HDRI.pc) + endif() if(NOT IMAGEMAGICK6_FOUND) pkg_check_modules(IMAGEMAGICK6 MagickCore-6.Q16) endif() + if(NOT IMAGEMAGICK6_FOUND) + pkg_check_modules(IMAGEMAGICK6 /usr/lib/imagemagick6/pkgconfig/MagickCore-6.Q16.pc) + endif() if(IMAGEMAGICK6_FOUND) target_compile_definitions(libfastfetch PRIVATE FF_HAVE_IMAGEMAGICK6=1) diff --git a/src/logo/image/im6.c b/src/logo/image/im6.c index dcad96bc9..c14eba17c 100644 --- a/src/logo/image/im6.c +++ b/src/logo/image/im6.c @@ -12,8 +12,8 @@ static void* logoResize(const void* image, size_t width, size_t height, void* ex FFLogoImageResult ffLogoPrintImageIM6(FFinstance* instance, FFLogoType type) { - FF_LIBRARY_LOAD(imageMagick, instance->config.libImageMagick, FF_LOGO_SIXEL_RESULT_INIT_ERROR, "libMagickCore-6.Q16HDRI.so", 8, "libMagickCore-6.Q16.so", 8) - FF_LIBRARY_LOAD_SYMBOL_ADRESS(imageMagick, ffResizeImage, ResizeImage, FF_LOGO_SIXEL_RESULT_INIT_ERROR); + FF_LIBRARY_LOAD(imageMagick, instance->config.libImageMagick, FF_LOGO_IMAGE_RESULT_INIT_ERROR, "libMagickCore-6.Q16HDRI.so", 8, "libMagickCore-6.Q16.so", 8) + FF_LIBRARY_LOAD_SYMBOL_ADRESS(imageMagick, ffResizeImage, ResizeImage, FF_LOGO_IMAGE_RESULT_INIT_ERROR); return ffLogoPrintImageImpl(instance, imageMagick, logoResize, type); } diff --git a/src/logo/image/im7.c b/src/logo/image/im7.c index 6f82d1c25..74f12d9a6 100644 --- a/src/logo/image/im7.c +++ b/src/logo/image/im7.c @@ -12,8 +12,8 @@ static void* logoResize(const void* image, size_t width, size_t height, void* ex FFLogoImageResult ffLogoPrintImageIM7(FFinstance* instance, FFLogoType type) { - FF_LIBRARY_LOAD(imageMagick, instance->config.libImageMagick, FF_LOGO_SIXEL_RESULT_INIT_ERROR, "libMagickCore-7.Q16HDRI.so", 11, "libMagickCore-7.Q16.so", 11) - FF_LIBRARY_LOAD_SYMBOL_ADRESS(imageMagick, ffResizeImage, ResizeImage, FF_LOGO_SIXEL_RESULT_INIT_ERROR); + FF_LIBRARY_LOAD(imageMagick, instance->config.libImageMagick, FF_LOGO_IMAGE_RESULT_INIT_ERROR, "libMagickCore-7.Q16HDRI.so", 11, "libMagickCore-7.Q16.so", 11) + FF_LIBRARY_LOAD_SYMBOL_ADRESS(imageMagick, ffResizeImage, ResizeImage, FF_LOGO_IMAGE_RESULT_INIT_ERROR); return ffLogoPrintImageImpl(instance, imageMagick, logoResize, type); } diff --git a/src/logo/image/image.c b/src/logo/image/image.c index 212cef841..9a248ed5c 100644 --- a/src/logo/image/image.c +++ b/src/logo/image/image.c @@ -13,23 +13,23 @@ FFLogoImageResult ffLogoPrintImageImpl(FFinstance* instance, void* imageMagick, { struct winsize winsize; if(ioctl(STDOUT_FILENO, TIOCGWINSZ, &winsize) != 0) - return FF_LOGO_SIXEL_RESULT_RUN_ERROR; + return FF_LOGO_IMAGE_RESULT_RUN_ERROR; - FF_LIBRARY_LOAD_SYMBOL(imageMagick, AcquireExceptionInfo, FF_LOGO_SIXEL_RESULT_INIT_ERROR) - FF_LIBRARY_LOAD_SYMBOL(imageMagick, DestroyExceptionInfo, FF_LOGO_SIXEL_RESULT_INIT_ERROR) - FF_LIBRARY_LOAD_SYMBOL(imageMagick, AcquireImageInfo, FF_LOGO_SIXEL_RESULT_INIT_ERROR) - FF_LIBRARY_LOAD_SYMBOL(imageMagick, DestroyImageInfo, FF_LOGO_SIXEL_RESULT_INIT_ERROR) - FF_LIBRARY_LOAD_SYMBOL(imageMagick, CopyMagickString, FF_LOGO_SIXEL_RESULT_INIT_ERROR) - FF_LIBRARY_LOAD_SYMBOL(imageMagick, ReadImage, FF_LOGO_SIXEL_RESULT_INIT_ERROR) - FF_LIBRARY_LOAD_SYMBOL(imageMagick, DestroyImage, FF_LOGO_SIXEL_RESULT_INIT_ERROR) - FF_LIBRARY_LOAD_SYMBOL(imageMagick, ImageToBlob, FF_LOGO_SIXEL_RESULT_INIT_ERROR) - FF_LIBRARY_LOAD_SYMBOL(imageMagick, Base64Encode, FF_LOGO_SIXEL_RESULT_INIT_ERROR) + FF_LIBRARY_LOAD_SYMBOL(imageMagick, AcquireExceptionInfo, FF_LOGO_IMAGE_RESULT_INIT_ERROR) + FF_LIBRARY_LOAD_SYMBOL(imageMagick, DestroyExceptionInfo, FF_LOGO_IMAGE_RESULT_INIT_ERROR) + FF_LIBRARY_LOAD_SYMBOL(imageMagick, AcquireImageInfo, FF_LOGO_IMAGE_RESULT_INIT_ERROR) + FF_LIBRARY_LOAD_SYMBOL(imageMagick, DestroyImageInfo, FF_LOGO_IMAGE_RESULT_INIT_ERROR) + FF_LIBRARY_LOAD_SYMBOL(imageMagick, CopyMagickString, FF_LOGO_IMAGE_RESULT_INIT_ERROR) + FF_LIBRARY_LOAD_SYMBOL(imageMagick, ReadImage, FF_LOGO_IMAGE_RESULT_INIT_ERROR) + FF_LIBRARY_LOAD_SYMBOL(imageMagick, DestroyImage, FF_LOGO_IMAGE_RESULT_INIT_ERROR) + FF_LIBRARY_LOAD_SYMBOL(imageMagick, ImageToBlob, FF_LOGO_IMAGE_RESULT_INIT_ERROR) + FF_LIBRARY_LOAD_SYMBOL(imageMagick, Base64Encode, FF_LOGO_IMAGE_RESULT_INIT_ERROR) ExceptionInfo* exceptionInfo = ffAcquireExceptionInfo(); if(exceptionInfo == NULL) { dlclose(imageMagick); - return FF_LOGO_SIXEL_RESULT_RUN_ERROR; + return FF_LOGO_IMAGE_RESULT_RUN_ERROR; } ImageInfo* imageInfoIn = ffAcquireImageInfo(); @@ -37,7 +37,7 @@ FFLogoImageResult ffLogoPrintImageImpl(FFinstance* instance, void* imageMagick, { ffDestroyExceptionInfo(exceptionInfo); dlclose(imageMagick); - return FF_LOGO_SIXEL_RESULT_RUN_ERROR; + return FF_LOGO_IMAGE_RESULT_RUN_ERROR; } //+1, because we need to copy the null byte too @@ -49,7 +49,7 @@ FFLogoImageResult ffLogoPrintImageImpl(FFinstance* instance, void* imageMagick, { ffDestroyExceptionInfo(exceptionInfo); dlclose(imageMagick); - return FF_LOGO_SIXEL_RESULT_RUN_ERROR; + return FF_LOGO_IMAGE_RESULT_RUN_ERROR; } double characterPixelWidth = winsize.ws_xpixel / (double) winsize.ws_col; @@ -64,7 +64,7 @@ FFLogoImageResult ffLogoPrintImageImpl(FFinstance* instance, void* imageMagick, ffDestroyImage(originalImage); ffDestroyExceptionInfo(exceptionInfo); dlclose(imageMagick); - return FF_LOGO_SIXEL_RESULT_RUN_ERROR; + return FF_LOGO_IMAGE_RESULT_RUN_ERROR; } Image* resizedImage = (Image*) resizeFunc(originalImage, (size_t) imagePixelWidth, (size_t) imagePixelHeight, exceptionInfo); @@ -73,7 +73,7 @@ FFLogoImageResult ffLogoPrintImageImpl(FFinstance* instance, void* imageMagick, { ffDestroyExceptionInfo(exceptionInfo); dlclose(imageMagick); - return FF_LOGO_SIXEL_RESULT_RUN_ERROR; + return FF_LOGO_IMAGE_RESULT_RUN_ERROR; } ImageInfo* imageInfoOut = ffAcquireImageInfo(); @@ -82,7 +82,7 @@ FFLogoImageResult ffLogoPrintImageImpl(FFinstance* instance, void* imageMagick, ffDestroyImage(resizedImage); ffDestroyExceptionInfo(exceptionInfo); dlclose(imageMagick); - return FF_LOGO_SIXEL_RESULT_RUN_ERROR; + return FF_LOGO_IMAGE_RESULT_RUN_ERROR; } if(type == FF_LOGO_TYPE_SIXEL) @@ -123,7 +123,7 @@ FFLogoImageResult ffLogoPrintImageImpl(FFinstance* instance, void* imageMagick, fputs("\033[9999999D", stdout); printf("\033[%uA", instance->state.logoHeight); - return FF_LOGO_SIXEL_RESULT_SUCCESS; + return FF_LOGO_IMAGE_RESULT_SUCCESS; } #endif @@ -136,14 +136,14 @@ bool ffLogoPrintImageIfExists(FFinstance* instance, FFLogoType type) #ifdef FF_HAVE_IMAGEMAGICK7 FFLogoImageResult result = ffLogoPrintImageIM7(instance, type); - if(result == FF_LOGO_SIXEL_RESULT_SUCCESS) + if(result == FF_LOGO_IMAGE_RESULT_SUCCESS) return true; - else if(result == FF_LOGO_SIXEL_RESULT_RUN_ERROR) + else if(result == FF_LOGO_IMAGE_RESULT_RUN_ERROR) return false; #endif #ifdef FF_HAVE_IMAGEMAGICK6 - return ffLogoPrintImageIM6(instance, type) == FF_LOGO_SIXEL_RESULT_SUCCESS; + return ffLogoPrintImageIM6(instance, type) == FF_LOGO_IMAGE_RESULT_SUCCESS; #endif return false; diff --git a/src/logo/image/image.h b/src/logo/image/image.h index bf4605072..2c38e544e 100644 --- a/src/logo/image/image.h +++ b/src/logo/image/image.h @@ -15,9 +15,9 @@ typedef enum FFLogoImageResult { - FF_LOGO_SIXEL_RESULT_SUCCESS, //Logo printed - FF_LOGO_SIXEL_RESULT_INIT_ERROR, //Failed to load library, try again with next IM version - FF_LOGO_SIXEL_RESULT_RUN_ERROR //Failed to load / convert image, cancle whole sixel code + FF_LOGO_IMAGE_RESULT_SUCCESS, //Logo printed + FF_LOGO_IMAGE_RESULT_INIT_ERROR, //Failed to load library, try again with next IM version + FF_LOGO_IMAGE_RESULT_RUN_ERROR //Failed to load / convert image, cancle whole sixel code } FFLogoImageResult; typedef void*(*FFLogoIMResizeFunc)(const void* image, size_t width, size_t height, void* exceptionInfo); @@ -32,7 +32,7 @@ FFLogoImageResult ffLogoPrintImageIM7(FFinstance* instance, FFLogoType type); #ifdef FF_HAVE_IMAGEMAGICK6 #include -FFLogoSixelResult ffLogoPrintImageIM6(FFinstance* instance, FFLogoType type); +FFLogoImageResult ffLogoPrintImageIM6(FFinstance* instance, FFLogoType type); #endif