| @@ -158,15 +158,21 @@ void update_title() { |
| 158 | 158 | | float size; |
| 159 | 159 | | const char *unit; |
| 160 | 160 | | |
| 161 | | − | if (img.valid) { |
| 162 | | − | size = filesize; |
| 163 | | − | size_readable(&size, &unit); |
| 164 | | − | n = snprintf(win_title, TITLE_LEN, "sxiv: [%d/%d] <%d%%> (%.2f%s) %s", |
| 165 | | − | fileidx + 1, filecnt, (int) (img.zoom * 100.0), size, unit, |
| 166 | | − | filenames[fileidx]); |
| 161 | + | if (mode == MODE_THUMBS) { |
| 162 | + | n = snprintf(win_title, TITLE_LEN, "sxiv: [%d/%d] %s", |
| 163 | + | tns.cnt ? tns.sel + 1 : 0, tns.cnt, |
| 164 | + | tns.cnt ? tns.thumbs[tns.sel].filename : ""); |
| 167 | 165 | | } else { |
| 168 | | − | n = snprintf(win_title, TITLE_LEN, "sxiv: [%d/%d] broken: %s", |
| 169 | | − | fileidx + 1, filecnt, filenames[fileidx]); |
| 166 | + | if (img.valid) { |
| 167 | + | size = filesize; |
| 168 | + | size_readable(&size, &unit); |
| 169 | + | n = snprintf(win_title, TITLE_LEN, "sxiv: [%d/%d] <%d%%> (%.2f%s) %s", |
| 170 | + | fileidx + 1, filecnt, (int) (img.zoom * 100.0), size, unit, |
| 171 | + | filenames[fileidx]); |
| 172 | + | } else { |
| 173 | + | n = snprintf(win_title, TITLE_LEN, "sxiv: [%d/%d] broken: %s", |
| 174 | + | fileidx + 1, filecnt, filenames[fileidx]); |
| 175 | + | } |
| 170 | 176 | | } |
| 171 | 177 | | |
| 172 | 178 | | if (n >= TITLE_LEN) { |
| @@ -491,7 +497,7 @@ void run() { |
| 491 | 497 | | if (tns_loaded == filecnt) |
| 492 | 498 | | win_set_cursor(&win, CURSOR_ARROW); |
| 493 | 499 | | if (!XPending(win.env.dpy)) { |
| 494 | | − | tns_render(&tns, &win); |
| 500 | + | redraw(); |
| 495 | 501 | | continue; |
| 496 | 502 | | } else { |
| 497 | 503 | | timeout = 1; |
| @@ -503,13 +509,8 @@ void run() { |
| 503 | 509 | | FD_ZERO(&fds); |
| 504 | 510 | | FD_SET(xfd, &fds); |
| 505 | 511 | | |
| 506 | | − | if (!XPending(win.env.dpy) && !select(xfd + 1, &fds, 0, 0, &t)) { |
| 507 | | − | timeout = 0; |
| 508 | | − | if (mode == MODE_NORMAL) |
| 509 | | − | img_render(&img, &win); |
| 510 | | − | else |
| 511 | | − | tns_render(&tns, &win); |
| 512 | | − | } |
| 512 | + | if (!XPending(win.env.dpy) && !select(xfd + 1, &fds, 0, 0, &t)) |
| 513 | + | redraw(); |
| 513 | 514 | | } |
| 514 | 515 | | |
| 515 | 516 | | if (!XNextEvent(win.env.dpy, &ev)) { |