From f4268d8d18e57952b046c1bb6ab2aeeac145c310 Mon Sep 17 00:00:00 2001 From: Araki Ken Date: Tue, 29 Jan 2013 00:27:27 +0900 Subject: Support remote image by OSC 5379 show_picture sequence. --- main.c | 42 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) (limited to 'main.c') diff --git a/main.c b/main.c index c8f1e82..e00eb5e 100644 --- a/main.c +++ b/main.c @@ -122,6 +122,42 @@ static int searchKeyNum(void); #define help() fusage(stdout, 0) #define usage() fusage(stderr, 1) +int support_remote_image; + +static void +check_support_remote_image(void) +{ + char *env; + + if ((env = getenv("MLTERM"))) { + char *p; + int major; + int minor; + int micro; + + if (!(p = strchr(env,'.'))) + return; + *p = '\0'; + major = atoi(env); + env = p + 1; + + if (!(p = strchr(env,'.'))) + return; + *p = '\0'; + minor = atoi(env); + env = p + 1; + micro = atoi(env) ; + + if (major > 3 || + (major == 3 && (minor > 1 || (minor == 1 && micro >= 7)))) { + support_remote_image = 1 ; + set_environ( "W3M_USE_REMOTE_IMAGE","1"); /* for w3mimgdisplay */ + } + } + + return; +} + static void fversion(FILE * f) { @@ -409,7 +445,7 @@ main(int argc, char **argv, char **envp) #if defined(DONT_CALL_GC_AFTER_FORK) && defined(USE_IMAGE) char **getimage_args = NULL; #endif /* defined(DONT_CALL_GC_AFTER_FORK) && defined(USE_IMAGE) */ - + check_support_remote_image(); GC_INIT(); #if defined(ENABLE_NLS) || (defined(USE_M17N) && defined(HAVE_LANGINFO_CODESET)) setlocale(LC_ALL, ""); @@ -679,6 +715,10 @@ main(int argc, char **argv, char **envp) } } #endif + else if (!strcmp("-ri" , argv[i])) { + support_remote_image = 1; + set_environ( "W3M_USE_REMOTE_IMAGE","1"); /* for w3mimgdisplay */ + } else if (!strcmp("-num", argv[i])) showLineNum = TRUE; else if (!strcmp("-no-proxy", argv[i])) -- cgit v1.2.3 From 2fe66f3a6f1b1fd28424a2f14beebdd535e9d17b Mon Sep 17 00:00:00 2001 From: Araki Ken Date: Mon, 22 Sep 2014 20:16:39 +0900 Subject: Add -sixel option which supports image processing by img2sixel. --- main.c | 45 ++++++--------------------------------------- 1 file changed, 6 insertions(+), 39 deletions(-) (limited to 'main.c') diff --git a/main.c b/main.c index e00eb5e..5d8de21 100644 --- a/main.c +++ b/main.c @@ -122,41 +122,7 @@ static int searchKeyNum(void); #define help() fusage(stdout, 0) #define usage() fusage(stderr, 1) -int support_remote_image; - -static void -check_support_remote_image(void) -{ - char *env; - - if ((env = getenv("MLTERM"))) { - char *p; - int major; - int minor; - int micro; - - if (!(p = strchr(env,'.'))) - return; - *p = '\0'; - major = atoi(env); - env = p + 1; - - if (!(p = strchr(env,'.'))) - return; - *p = '\0'; - minor = atoi(env); - env = p + 1; - micro = atoi(env) ; - - if (major > 3 || - (major == 3 && (minor > 1 || (minor == 1 && micro >= 7)))) { - support_remote_image = 1 ; - set_environ( "W3M_USE_REMOTE_IMAGE","1"); /* for w3mimgdisplay */ - } - } - - return; -} +int enable_inline_image; /* 1 == mlterm OSC 5379, 2 == sixel */ static void fversion(FILE * f) @@ -445,7 +411,6 @@ main(int argc, char **argv, char **envp) #if defined(DONT_CALL_GC_AFTER_FORK) && defined(USE_IMAGE) char **getimage_args = NULL; #endif /* defined(DONT_CALL_GC_AFTER_FORK) && defined(USE_IMAGE) */ - check_support_remote_image(); GC_INIT(); #if defined(ENABLE_NLS) || (defined(USE_M17N) && defined(HAVE_LANGINFO_CODESET)) setlocale(LC_ALL, ""); @@ -715,9 +680,11 @@ main(int argc, char **argv, char **envp) } } #endif - else if (!strcmp("-ri" , argv[i])) { - support_remote_image = 1; - set_environ( "W3M_USE_REMOTE_IMAGE","1"); /* for w3mimgdisplay */ + else if (!strcmp("-ri", argv[i])) { + enable_inline_image = 1; + } + else if (!strcmp("-sixel", argv[i])) { + enable_inline_image = 2; } else if (!strcmp("-num", argv[i])) showLineNum = TRUE; -- cgit v1.2.3 From 4459dbe26e18850c43d78974ba4aeb50258fa028 Mon Sep 17 00:00:00 2001 From: Araki Ken Date: Sat, 27 Sep 2014 21:25:42 +0900 Subject: img2sixel exits by Ctrl+C. Enable GIF Animation if 'I' is pressed to show it. --- main.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'main.c') diff --git a/main.c b/main.c index 5d8de21..32f4da2 100644 --- a/main.c +++ b/main.c @@ -5917,8 +5917,14 @@ deleteFiles() Firstbuf = buf; } } - while ((f = popText(fileToDelete)) != NULL) + while ((f = popText(fileToDelete)) != NULL) { unlink(f); + if (enable_inline_image == 2 && strcmp(f+strlen(f)-4, ".gif") == 0) { + Str firstframe = Strnew_charp(f); + Strcat_charp(firstframe, "-1"); + unlink(firstframe->ptr); + } + } } void -- cgit v1.2.3