diff options
-rw-r--r-- | file.c | 25 | ||||
-rw-r--r-- | image.c | 6 | ||||
-rw-r--r-- | terms.c | 2 |
3 files changed, 18 insertions, 15 deletions
@@ -3377,19 +3377,21 @@ process_img(struct parsed_tag *tag, int width) if (i0 >= 0) Strcat(tmp, Sprintf(" height=%d", i0)); switch (align) { + case ALIGN_MIDDLE: + if (!support_remote_image) { + top = ni / 2; + bottom = top; + if (top * 2 == ni) + yoffset = (int)(((ni + 1) * pixel_per_line - i) / 2); + else + yoffset = (int)((ni * pixel_per_line - i) / 2); + break; + } case ALIGN_TOP: top = 0; bottom = ni - 1; yoffset = 0; break; - case ALIGN_MIDDLE: - top = ni / 2; - bottom = top; - if (top * 2 == ni) - yoffset = (int)(((ni + 1) * pixel_per_line - i) / 2); - else - yoffset = (int)((ni * pixel_per_line - i) / 2); - break; case ALIGN_BOTTOM: top = ni - 1; bottom = 0; @@ -3407,7 +3409,12 @@ process_img(struct parsed_tag *tag, int width) } break; } - xoffset = (int)((nw * pixel_per_char - w) / 2); + + if (support_remote_image) + xoffset = 0; + else + xoffset = (int)((nw * pixel_per_char - w) / 2); + if (xoffset) Strcat(tmp, Sprintf(" xoffset=%d", xoffset)); if (yoffset) @@ -288,10 +288,6 @@ clearImage() int j; TerminalImage *i; - if (support_remote_image) { - return; - } - if (!activeImage) return; if (!n_terminal_image) @@ -600,7 +596,7 @@ getImage(Image * image, ParsedURL *current, int flag) if (image->height > 0 && image->height % pixel_per_line_i > 0) image->height += (pixel_per_line_i - image->height % pixel_per_line_i); - if (image->height > 0 && image->width > 0) + if (! getenv("WINDOWID") && image->height > 0 && image->width > 0) cache->loaded = IMG_FLAG_LOADED; } @@ -500,7 +500,7 @@ get_pixel_per_cell(int *ppc, int *ppl) p = buf; left = sizeof(buf) - 1; for (i = 0; i < 5; i++) { - tval.tv_usec = 100000; /* 0.1 sec */ + tval.tv_usec = 500000; /* 0.5 sec */ tval.tv_sec = 0; FD_SET(tty,&rfd); if (select(tty+1,&rfd,NULL,NULL,&tval) <= 0 || ! FD_ISSET(tty,&rfd)) { |