commit - 3b5f459ef42c1d975ca5f15ed6402b5658f779f4
commit + 1577540cfba6ba170eb61e67601af3c8fde3b9e6
blob - a0b1ce16d95d70b3bc36ff9a2e5d943fe5aaa938
blob + fbeff6d3abbfb029a41926db3f3c1c74b8450203
--- defaults.c
+++ defaults.c
[LINE_COMPL_CURRENT] = {"", ""},
[LINE_HELP] = {"", ""},
+
+ [LINE_DOWNLOAD] = {" Fetching ", " "},
+ [LINE_DOWNLOAD_DONE] = {" Done ", " "},
+ [LINE_DOWNLOAD_INFO] = {" ", " "},
};
struct line_face line_faces[] = {
.pair = PHELP,
.trail_pair = PHELP_TRAIL,
},
+
+ /* download */
+ [LINE_DOWNLOAD] = {
+ .prfx_pair = PDOWNLOAD_PRFX,
+ .pair = PDOWNLOAD,
+ .trail_pair = PDOWNLOAD_TRAIL
+ },
+ [LINE_DOWNLOAD_DONE] = {
+ .prfx_pair = PDOWNLOAD_DONE_PRFX,
+ .pair = PDOWNLOAD_DONE,
+ .trail_pair = PDOWNLOAD_DONE_TRAIL
+ },
+ [LINE_DOWNLOAD_INFO] = {
+ .prfx_pair = PDOWNLOAD_INFO_PRFX,
+ .pair = PDOWNLOAD_INFO,
+ .trail_pair = PDOWNLOAD_INFO_TRAIL
+ },
};
struct tab_face tab_face = {
.lbg = -1, .lfg = -1,
.bg = -1, .fg = -1,
.rbg = -1, .rfg = -1,
+};
+
+struct download_face download_face = {
+ .bg = -1,
+ .fg = -1,
+ .attr = A_NORMAL,
};
struct modeline_face modeline_face = {
/* help */
{"help", LINE_HELP},
+
+ /* download */
+ {"download.ongoing", LINE_DOWNLOAD},
+ {"download.done", LINE_DOWNLOAD_DONE},
+ {"download.info", LINE_DOWNLOAD_INFO},
};
static struct mapping *
return NULL;
}
-
static inline void
global_set_key(const char *key, void (*fn)(struct buffer*))
{
body_face.fg = line;
body_face.rfg = trail;
}
+ } else if (!strcmp(name, "download")) {
+ if (bg)
+ download_face.bg = prfx;
+ else
+ download_face.fg = prfx;
} else if (!strcmp(name, "minibuffer")) {
if (bg)
minibuffer_face.bg = prfx;
f->prfx_attr = prfx;
f->attr = line;
f->trail_attr = trail;
+ } else if (!strcmp(name, "download")) {
+ download_face.attr = prfx;
} else if (!strcmp(name, "minibuffer")) {
minibuffer_face.attr = prfx;
} else if (!strcmp(name, "modeline")) {
tl_init_pair(colors, PBRIGHT, body_face.rfg, body_face.rbg);
body_face.right = COLOR_PAIR(PBRIGHT);
+ /* download */
+ tl_init_pair(colors, PDOWNLOAD_WIN, download_face.fg, download_face.bg);
+ download_face.background = COLOR_PAIR(PDOWNLOAD_WIN) | download_face.attr;
+
/* modeline */
tl_init_pair(colors, PMODELINE, modeline_face.fg, modeline_face.bg);
modeline_face.background = COLOR_PAIR(PMODELINE) | modeline_face.attr;
blob - 3cba5204c6090a919e9696a2f3e47017b27aa334
blob + d6f309f1e81cbc284fc8df38ac3bbe09c1926ad1
--- defaults.h
+++ defaults.h
};
extern struct body_face body_face;
+struct download_face {
+ int bg, fg, attr;
+ int background;
+};
+extern struct download_face download_face;
+
struct modeline_face {
int bg, fg, attr;
int background;
blob - 63410a1f03f784a88dde11a6efcbba36c07f66d6
blob + 9d708132fdd258da8fa1edb5c800afb742f9f820
--- downloads.c
+++ downloads.c
if ((l = calloc(1, sizeof(*l))) == NULL)
abort();
- l->type = LINE_HELP;
+ l->type = LINE_DOWNLOAD_INFO;
l->line = strdup("No downloads");
TAILQ_INSERT_TAIL(&downloadwin.page.head, l, lines);
fmt_scaled(d->bytes, buf);
- l->type = LINE_HELP;
+ l->type = LINE_DOWNLOAD;
+ if (d->fd == -1)
+ l->type = LINE_DOWNLOAD_DONE;
+
l->line = strdup(d->path);
l->alt = strdup(buf);
blob - c8af1bde86cf787c02f3005817bfb3a87a78a7ee
blob + 9dfc3ba2b2baaef7923eb1b8ab8420ff58c01bb3
--- telescope.h
+++ telescope.h
/* help */
LINE_HELP,
+
+ /* download */
+ LINE_DOWNLOAD,
+ LINE_DOWNLOAD_DONE,
+ LINE_DOWNLOAD_INFO,
};
/* for lines: mark as hidden */
blob - 7b27a983d7361174f628a5f797108e126415826c
blob + 301dbc78589b9db6f31e69ef46ca1dc759430288
--- ui.c
+++ ui.c
if (vl->parent->type != LINE_COMPL &&
vl->parent->type != LINE_COMPL_CURRENT &&
- vl->parent->type != LINE_HELP)
+ vl->parent->type != LINE_HELP &&
+ vl->parent->type != LINE_DOWNLOAD &&
+ vl->parent->type != LINE_DOWNLOAD_DONE &&
+ vl->parent->type != LINE_DOWNLOAD_INFO)
return;
if (vl->parent->alt == NULL)
(void)y;
getyx(window, y, x);
- if (vl->parent->type == LINE_HELP)
- goal = 8;
- else
+ switch (vl->parent->type) {
+ case LINE_HELP:
+ case LINE_DOWNLOAD:
+ case LINE_DOWNLOAD_DONE:
+ case LINE_DOWNLOAD_INFO:
+ goal = 8;
+ break;
+ default:
goal = width/2;
+ }
if (goal <= x)
wprintw(window, " ");
return 0;
wbkgd(body, body_face.body);
+ wbkgd(download, download_face.background);
wbkgd(echoarea, minibuffer_face.background);
update_x_offset();
blob - 145069e54bea933d47bcd2dca0bb2c984bfd151c
blob + 85ce1c100a10ea58bde4ef9f458428f4452f0ed3
--- ui.h
+++ ui.h
PHELP,
PHELP_TRAIL,
+ PDOWNLOAD_PRFX,
+ PDOWNLOAD,
+ PDOWNLOAD_TRAIL,
+
+ PDOWNLOAD_DONE_PRFX,
+ PDOWNLOAD_DONE,
+ PDOWNLOAD_DONE_TRAIL,
+
+ PDOWNLOAD_INFO_PRFX,
+ PDOWNLOAD_INFO,
+ PDOWNLOAD_INFO_TRAIL,
+
+ PDOWNLOAD_WIN,
+
PMODELINE,
PMINIBUF,
blob - 6fd7a38bb0ef087bbca6a041f93fb5abbdefc022
blob + 7cf9b8af5ba28dda0dbf628cf0c5cdc7a7491f40
--- wrap.c
+++ wrap.c
case LINE_COMPL:
case LINE_COMPL_CURRENT:
case LINE_HELP:
+ case LINE_DOWNLOAD:
+ case LINE_DOWNLOAD_DONE:
+ case LINE_DOWNLOAD_INFO:
wrap_one(buffer, prfx, l, width);
break;
}