mirror of
https://git.jabber.space/devs/cproof.git
synced 2026-07-27 12:06:21 +00:00
Added status bar refresh to main loop
This commit is contained in:
@@ -25,10 +25,12 @@ int handle_start_command(char *cmd)
|
|||||||
user = strndup(cmd+9, strlen(cmd)-9);
|
user = strndup(cmd+9, strlen(cmd)-9);
|
||||||
|
|
||||||
status_bar_get_password();
|
status_bar_get_password();
|
||||||
|
status_bar_refresh();
|
||||||
char passwd[20];
|
char passwd[20];
|
||||||
inp_get_password(passwd);
|
inp_get_password(passwd);
|
||||||
|
|
||||||
status_bar_print_message(user);
|
status_bar_print_message(user);
|
||||||
|
status_bar_refresh();
|
||||||
jabber_connect(user, passwd);
|
jabber_connect(user, passwd);
|
||||||
result = START_MAIN;
|
result = START_MAIN;
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ void profanity_start(void)
|
|||||||
char cmd[50];
|
char cmd[50];
|
||||||
|
|
||||||
while (cmd_result == AWAIT_COMMAND) {
|
while (cmd_result == AWAIT_COMMAND) {
|
||||||
|
status_bar_refresh();
|
||||||
inp_get_command_str(cmd);
|
inp_get_command_str(cmd);
|
||||||
cmd_result = handle_start_command(cmd);
|
cmd_result = handle_start_command(cmd);
|
||||||
}
|
}
|
||||||
@@ -51,7 +52,7 @@ static void _profanity_event_loop(int *ch, char *cmd, int *size)
|
|||||||
{
|
{
|
||||||
usleep(1);
|
usleep(1);
|
||||||
|
|
||||||
status_bar_update_time();
|
status_bar_refresh();
|
||||||
|
|
||||||
// handle incoming messages
|
// handle incoming messages
|
||||||
jabber_process_events();
|
jabber_process_events();
|
||||||
|
|||||||
31
status_bar.c
31
status_bar.c
@@ -4,6 +4,8 @@
|
|||||||
|
|
||||||
static WINDOW *status_bar;
|
static WINDOW *status_bar;
|
||||||
|
|
||||||
|
static void _status_bar_update_time(void);
|
||||||
|
|
||||||
void create_status_bar(void)
|
void create_status_bar(void)
|
||||||
{
|
{
|
||||||
int rows, cols;
|
int rows, cols;
|
||||||
@@ -14,34 +16,42 @@ void create_status_bar(void)
|
|||||||
wrefresh(status_bar);
|
wrefresh(status_bar);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void status_bar_refresh(void)
|
||||||
|
{
|
||||||
|
_status_bar_update_time();
|
||||||
|
touchwin(status_bar);
|
||||||
|
wrefresh(status_bar);
|
||||||
|
inp_put_back();
|
||||||
|
}
|
||||||
|
|
||||||
void status_bar_inactive(int win)
|
void status_bar_inactive(int win)
|
||||||
{
|
{
|
||||||
mvwaddch(status_bar, 0, 30 + win, ' ');
|
mvwaddch(status_bar, 0, 30 + win, ' ');
|
||||||
if (win == 9)
|
if (win == 9)
|
||||||
mvwaddch(status_bar, 0, 30 + win + 1, ' ');
|
mvwaddch(status_bar, 0, 30 + win + 1, ' ');
|
||||||
wrefresh(status_bar);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void status_bar_active(int win)
|
void status_bar_active(int win)
|
||||||
{
|
{
|
||||||
mvwprintw(status_bar, 0, 30 + win, "%d", win+1);
|
mvwprintw(status_bar, 0, 30 + win, "%d", win+1);
|
||||||
touchwin(status_bar);
|
|
||||||
wrefresh(status_bar);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void status_bar_get_password(void)
|
void status_bar_get_password(void)
|
||||||
{
|
{
|
||||||
mvwprintw(status_bar, 0, 1, "Enter password:");
|
mvwprintw(status_bar, 0, 9, "Enter password:");
|
||||||
wrefresh(status_bar);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void status_bar_print_message(char *msg)
|
void status_bar_print_message(char *msg)
|
||||||
{
|
{
|
||||||
mvwprintw(status_bar, 0, 9, msg);
|
mvwprintw(status_bar, 0, 9, msg);
|
||||||
wrefresh(status_bar);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void status_bar_update_time(void)
|
void status_bar_clear(void)
|
||||||
|
{
|
||||||
|
wclear(status_bar);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void _status_bar_update_time(void)
|
||||||
{
|
{
|
||||||
char bar_time[8];
|
char bar_time[8];
|
||||||
char tstmp[80];
|
char tstmp[80];
|
||||||
@@ -49,12 +59,5 @@ void status_bar_update_time(void)
|
|||||||
sprintf(bar_time, "[%s]", tstmp);
|
sprintf(bar_time, "[%s]", tstmp);
|
||||||
|
|
||||||
mvwprintw(status_bar, 0, 1, bar_time);
|
mvwprintw(status_bar, 0, 1, bar_time);
|
||||||
wrefresh(status_bar);
|
|
||||||
inp_put_back();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void status_bar_clear(void)
|
|
||||||
{
|
|
||||||
wclear(status_bar);
|
|
||||||
wrefresh(status_bar);
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ void create_status_bar(void);
|
|||||||
void create_input_window(void);
|
void create_input_window(void);
|
||||||
|
|
||||||
// status bar actions
|
// status bar actions
|
||||||
|
void status_bar_refresh(void);
|
||||||
void status_bar_clear(void);
|
void status_bar_clear(void);
|
||||||
void status_bar_get_password(void);
|
void status_bar_get_password(void);
|
||||||
void status_bar_print_message(char *msg);
|
void status_bar_print_message(char *msg);
|
||||||
|
|||||||
Reference in New Issue
Block a user