1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
#include <ncurses.h>
#include <string.h>
#include "color.h"
#include "config.h"
#include "connect.h"
#include "status.h"
#include "url.h"
void init_status(struct config *conf) {
WINDOW *status = newwin(1, conf->i.width, conf->i.height - 1, 0);
conf->i.status_win = status;
update_status(conf, "");
}
void update_status(struct config *conf, char *s) {
werase(conf->i.status_win);
wbkgd(conf->i.status_win, COLOR_PAIR(STATUS_MAIN));
wprintw(conf->i.status_win, "%s", s);
wrefresh(conf->i.status_win);
}
void prompt_status_url(struct config *conf) {
echo();
curs_set(1);
werase(conf->i.status_win);
char prompt[] = "Enter a molerat URL: molerat://";
werase(conf->i.status_win);
wbkgd(conf->i.status_win, COLOR_PAIR(STATUS_PROMPT));
wprintw(conf->i.status_win, "%s", prompt);
wrefresh(conf->i.status_win);
char url_string[MAX_URL_LENGTH];
wgetstr(conf->i.status_win, url_string);
char url_string_with_scheme[MAX_URL_LENGTH] = "molerat://";
strlcat(url_string_with_scheme, url_string, MAX_URL_LENGTH);
conf->s.url_string = url_string_with_scheme;
curs_set(0);
noecho();
}
void error_status(struct config *conf, char *s) {
werase(conf->i.status_win);
wbkgd(conf->i.status_win, COLOR_PAIR(STATUS_ERROR));
wprintw(conf->i.status_win, "Error: %s [Press RETURN]", s);
wrefresh(conf->i.status_win);
getch();
}
|