mirror of
https://github.com/profanity-im/profanity.git
synced 2024-12-04 14:46:46 -05:00
Added blinking notifications
When something happens in the a active window, the status bar shows a blinking notification. Moving to the window stops the blinking.
This commit is contained in:
parent
4f454b6a64
commit
6ab1a84c65
17
status_bar.c
17
status_bar.c
@ -96,6 +96,23 @@ void status_bar_active(const int win)
|
|||||||
dirty = TRUE;
|
dirty = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void status_bar_new(const int win)
|
||||||
|
{
|
||||||
|
int active_pos = 1 + ((win -1) * 3);
|
||||||
|
|
||||||
|
int rows, cols;
|
||||||
|
getmaxyx(stdscr, rows, cols);
|
||||||
|
|
||||||
|
wattron(status_bar, A_BLINK);
|
||||||
|
if (win < 9)
|
||||||
|
mvwprintw(status_bar, 0, cols - 29 + active_pos, "%d", win+1);
|
||||||
|
else
|
||||||
|
mvwprintw(status_bar, 0, cols - 29 + active_pos, "10");
|
||||||
|
wattroff(status_bar, A_BLINK);
|
||||||
|
|
||||||
|
dirty = TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
void status_bar_get_password(void)
|
void status_bar_get_password(void)
|
||||||
{
|
{
|
||||||
mvwprintw(status_bar, 0, 9, "Enter password:");
|
mvwprintw(status_bar, 0, 9, "Enter password:");
|
||||||
|
24
windows.c
24
windows.c
@ -158,12 +158,15 @@ void win_show_incomming_msg(const char * const from, const char * const message)
|
|||||||
_win_show_time(win);
|
_win_show_time(win);
|
||||||
_win_show_user(win, short_from, 1);
|
_win_show_user(win, short_from, 1);
|
||||||
_win_show_message(win, message);
|
_win_show_message(win, message);
|
||||||
|
|
||||||
status_bar_active(win_index);
|
if (win_index == _curr_prof_win) {
|
||||||
_cons_show_incoming_message(short_from, win_index);
|
status_bar_active(win_index);
|
||||||
|
|
||||||
if (win_index == _curr_prof_win)
|
|
||||||
dirty = TRUE;
|
dirty = TRUE;
|
||||||
|
} else {
|
||||||
|
status_bar_new(win_index);
|
||||||
|
_cons_show_incoming_message(short_from, win_index);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void win_show_outgoing_msg(const char * const from, const char * const to,
|
void win_show_outgoing_msg(const char * const from, const char * const to,
|
||||||
@ -180,8 +183,11 @@ void win_show_outgoing_msg(const char * const from, const char * const to,
|
|||||||
|
|
||||||
status_bar_active(win_index);
|
status_bar_active(win_index);
|
||||||
|
|
||||||
if (win_index == _curr_prof_win)
|
if (win_index == _curr_prof_win) {
|
||||||
dirty = TRUE;
|
dirty = TRUE;
|
||||||
|
} else {
|
||||||
|
status_bar_new(win_index);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void win_contact_online(const char * const from, const char * const show,
|
void win_contact_online(const char * const from, const char * const show,
|
||||||
@ -425,10 +431,12 @@ static void _win_switch_if_active(const int i)
|
|||||||
_curr_prof_win = i;
|
_curr_prof_win = i;
|
||||||
win_page_off();
|
win_page_off();
|
||||||
|
|
||||||
if (i == 0)
|
if (i == 0) {
|
||||||
title_bar_title();
|
title_bar_title();
|
||||||
else
|
} else {
|
||||||
title_bar_show(_wins[i].from);
|
title_bar_show(_wins[i].from);
|
||||||
|
status_bar_active(i);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dirty = TRUE;
|
dirty = TRUE;
|
||||||
|
@ -84,6 +84,7 @@ void status_bar_get_password(void);
|
|||||||
void status_bar_print_message(const char * const msg);
|
void status_bar_print_message(const char * const msg);
|
||||||
void status_bar_inactive(const int win);
|
void status_bar_inactive(const int win);
|
||||||
void status_bar_active(const int win);
|
void status_bar_active(const int win);
|
||||||
|
void status_bar_new(const int win);
|
||||||
void status_bar_update_time(void);
|
void status_bar_update_time(void);
|
||||||
|
|
||||||
// input window actions
|
// input window actions
|
||||||
|
Loading…
Reference in New Issue
Block a user