diff options
author | Bert <ber.t@gmx.com> | 2011-02-17 14:45:54 +0100 |
---|---|---|
committer | Bert <ber.t@gmx.com> | 2011-02-17 14:45:54 +0100 |
commit | e09a6b5e3f8c3869617fb3e749c4e455ba50989a (patch) | |
tree | 5f8cbeafdd221fa6af950b831ef39ff51a9fb119 | |
parent | 1c072cc0d0b06869630bc2d842a28a7899494de8 (diff) |
Appropriate title for thumbnail mode
-rw-r--r-- | main.c | 33 | ||||
-rw-r--r-- | thumbs.c | 1 | ||||
-rw-r--r-- | thumbs.h | 3 |
3 files changed, 20 insertions, 17 deletions
@@ -158,15 +158,21 @@ void update_title() { float size; const char *unit; - if (img.valid) { - size = filesize; - size_readable(&size, &unit); - n = snprintf(win_title, TITLE_LEN, "sxiv: [%d/%d] <%d%%> (%.2f%s) %s", - fileidx + 1, filecnt, (int) (img.zoom * 100.0), size, unit, - filenames[fileidx]); + if (mode == MODE_THUMBS) { + n = snprintf(win_title, TITLE_LEN, "sxiv: [%d/%d] %s", + tns.cnt ? tns.sel + 1 : 0, tns.cnt, + tns.cnt ? tns.thumbs[tns.sel].filename : ""); } else { - n = snprintf(win_title, TITLE_LEN, "sxiv: [%d/%d] broken: %s", - fileidx + 1, filecnt, filenames[fileidx]); + if (img.valid) { + size = filesize; + size_readable(&size, &unit); + n = snprintf(win_title, TITLE_LEN, "sxiv: [%d/%d] <%d%%> (%.2f%s) %s", + fileidx + 1, filecnt, (int) (img.zoom * 100.0), size, unit, + filenames[fileidx]); + } else { + n = snprintf(win_title, TITLE_LEN, "sxiv: [%d/%d] broken: %s", + fileidx + 1, filecnt, filenames[fileidx]); + } } if (n >= TITLE_LEN) { @@ -491,7 +497,7 @@ void run() { if (tns_loaded == filecnt) win_set_cursor(&win, CURSOR_ARROW); if (!XPending(win.env.dpy)) { - tns_render(&tns, &win); + redraw(); continue; } else { timeout = 1; @@ -503,13 +509,8 @@ void run() { FD_ZERO(&fds); FD_SET(xfd, &fds); - if (!XPending(win.env.dpy) && !select(xfd + 1, &fds, 0, 0, &t)) { - timeout = 0; - if (mode == MODE_NORMAL) - img_render(&img, &win); - else - tns_render(&tns, &win); - } + if (!XPending(win.env.dpy) && !select(xfd + 1, &fds, 0, 0, &t)) + redraw(); } if (!XNextEvent(win.env.dpy, &ev)) { @@ -69,6 +69,7 @@ void tns_load(tns_t *tns, win_t *win, const char *filename) { z = MIN(zw, zh); t = &tns->thumbs[tns->cnt++]; + t->filename = filename; t->w = z * w; t->h = z * h; @@ -22,11 +22,12 @@ #include "window.h" typedef struct thumb_s { + Pixmap pm; + const char *filename; int x; int y; int w; int h; - Pixmap pm; } thumb_t; typedef struct tns_s { |