diff --git a/configure.ac b/configure.ac index 97cbc716..3ab6c7b7 100644 --- a/configure.ac +++ b/configure.ac @@ -69,6 +69,8 @@ AC_ARG_WITH([themes], [AS_HELP_STRING([--with-themes[[=PATH]]], [install themes (default yes)])]) AC_ARG_ENABLE([icons-and-clipboard], [AS_HELP_STRING([--enable-icons-and-clipboard], [enable GTK tray icons and clipboard paste support])]) +AC_ARG_ENABLE([inline-images], + [AS_HELP_STRING([--enable-inline-images], [enable inline display of images])]) ### plugins @@ -191,9 +193,6 @@ PKG_CHECK_MODULES([glib], [glib-2.0 >= 2.62.0], [], [AC_MSG_ERROR([glib 2.62.0 or higher is required for profanity])]) PKG_CHECK_MODULES([gio], [gio-2.0], [], [AC_MSG_ERROR([libgio-2.0 from glib-2.0 is required for profanity])]) -#TODO: only under cond -PKG_CHECK_MODULES([pixbuf], [gdk-pixbuf-2.0], [], - [AC_MSG_ERROR([gdk-pixbuf-2.0 from glib-2.0 is required for profanity])]) ### Check for other profanity dependencies AC_SEARCH_LIBS([fmod], [m], [], @@ -206,10 +205,6 @@ PKG_CHECK_MODULES([curl], [libcurl], [], PKG_CHECK_MODULES([SQLITE], [sqlite3 >= 3.22.0], [], [AC_MSG_ERROR([sqlite3 3.22.0 or higher is required for profanity])]) -#TODO: only under cond -PKG_CHECK_MODULES([chafa], [chafa >= 1.4.1], [], - [AC_MSG_ERROR([chafa needed])]) - AS_IF([test "x$enable_icons_and_clipboard" != xno], [PKG_CHECK_MODULES([GTK], [gtk+-3.0 >= 3.24.0], [AC_DEFINE([HAVE_GTK], [1], [libgtk module])], @@ -330,6 +325,16 @@ if test "x$enable_omemo" != xno; then AM_COND_IF([BUILD_OMEMO], [AC_DEFINE([HAVE_OMEMO], [1], [Have OMEMO])]) fi +if test "x$enable_inline_images" = xyes; then + PKG_CHECK_MODULES([pixbuf], [gdk-pixbuf-2.0], [], + [AC_MSG_ERROR([gdk-pixbuf-2.0 from glib-2.0 is required for inline image support])]) + + PKG_CHECK_MODULES([chafa], [chafa >= 1.4.1], [], + [AC_MSG_ERROR([chafa >= 1.4.1 needed for inline image support])]) + + AC_DEFINE([HAVE_INLINE_IMAGE], [1], [Have inline image]) +fi + AS_IF([test "x$with_themes" = xno], [THEMES_INSTALL="false"], [THEMES_INSTALL="true"]) diff --git a/src/ui/console.c b/src/ui/console.c index 4000981c..4752ff20 100644 --- a/src/ui/console.c +++ b/src/ui/console.c @@ -407,7 +407,9 @@ cons_about(void) getmaxyx(stdscr, rows, cols); if (prefs_get_boolean(PREF_SPLASH)) { +#ifdef HAVE_INLINE_IMAGE win_pictest(console); +#endif _cons_splash_logo(); } else { diff --git a/src/ui/window.c b/src/ui/window.c index d73fa81f..9aef04b5 100644 --- a/src/ui/window.c +++ b/src/ui/window.c @@ -44,10 +44,6 @@ #include -//TODO: ifdef -#include -#include - #ifdef HAVE_NCURSESW_NCURSES_H #include #elif HAVE_NCURSES_H @@ -56,6 +52,11 @@ #include #endif +#ifdef HAVE_INLINE_IMAGE +#include +#include +#endif + #include "log.h" #include "config/theme.h" #include "config/preferences.h" @@ -1958,6 +1959,7 @@ win_insert_last_read_position_marker(ProfWin* window, char* id) g_date_time_unref(time); } +#ifdef HAVE_INLINE_IMAGE void win_pictest(ProfWin* window) { @@ -2010,3 +2012,4 @@ win_pictest(ProfWin* window) GString *gs = chafa_canvas_build_ansi (canvas); win_println(window, THEME_DEFAULT, "!", gs->str); } +#endif diff --git a/src/ui/window.h b/src/ui/window.h index c822a983..b07ce93f 100644 --- a/src/ui/window.h +++ b/src/ui/window.h @@ -93,7 +93,8 @@ void win_sub_page_up(ProfWin* window); void win_insert_last_read_position_marker(ProfWin* window, char* id); void win_remove_entry_message(ProfWin* window, const char* const id); -// TODO: ifdef +#ifdef HAVE_INLINE_IMAGE void win_pictest(ProfWin* window); +#endif #endif