1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-12-04 14:46:46 -05:00

Added flash notification and option

This commit is contained in:
James Booth 2012-04-24 01:39:23 +01:00
parent b3ae1a7d12
commit 1b7d9e9e26
4 changed files with 33 additions and 0 deletions

View File

@ -39,6 +39,7 @@ static int _cmd_connect(const char * const inp);
static int _cmd_msg(const char * const inp);
static int _cmd_close(const char * const inp);
static int _cmd_set_beep(const char * const inp);
static int _cmd_set_flash(const char * const inp);
static int _cmd_default(const char * const inp);
int process_input(char *inp)
@ -87,6 +88,8 @@ static int _handle_command(const char * const command, const char * const inp)
result = _cmd_connect(inp);
} else if (strcmp(command, "/beep") == 0) {
result = _cmd_set_beep(inp);
} else if (strcmp(command, "/flash") == 0) {
result = _cmd_set_flash(inp);
} else {
result = _cmd_default(inp);
}
@ -210,8 +213,10 @@ static int _cmd_close(const char * const inp)
static int _cmd_set_beep(const char * const inp)
{
if (strcmp(inp, "/beep on") == 0) {
cons_show("Sound enabled.");
win_set_beep(TRUE);
} else if (strcmp(inp, "/beep off") == 0) {
cons_show("Sound disabled.");
win_set_beep(FALSE);
} else {
cons_show("Usage: /beep <on/off>");
@ -220,6 +225,21 @@ static int _cmd_set_beep(const char * const inp)
return TRUE;
}
static int _cmd_set_flash(const char * const inp)
{
if (strcmp(inp, "/flash on") == 0) {
cons_show("Screen flash enabled.");
status_bar_set_flash(TRUE);
} else if (strcmp(inp, "/flash off") == 0) {
cons_show("Screen flash disabled.");
status_bar_set_flash(FALSE);
} else {
cons_show("Usage: /flash <on/off>");
}
return TRUE;
}
static int _cmd_default(const char * const inp)
{
if (win_in_chat()) {

View File

@ -35,6 +35,9 @@ static int is_new[9];
static int dirty;
static char curr_time[80];
// allow flash?
static int do_flash = FALSE;
static void _status_bar_update_time(void);
void create_status_bar(void)
@ -158,9 +161,17 @@ void status_bar_new(const int win)
wattroff(status_bar, COLOR_PAIR(3));
wattroff(status_bar, A_BLINK);
if (do_flash == TRUE)
flash();
dirty = TRUE;
}
void status_bar_set_flash(int val)
{
do_flash = val;
}
void status_bar_get_password(void)
{
status_bar_print_message("Enter password:");

View File

@ -274,6 +274,7 @@ void cons_help(void)
cons_show("/who : Find out who is online.");
cons_show("/ros : List all contacts.");
cons_show("/beep <on/off> : Enable/disable sound notification");
cons_show("/flash <on/off> : Enable/disable screen flash notification");
cons_show("/close : Close a chat window.");
cons_show("/quit : Quit Profanity.");
cons_show("");

View File

@ -91,6 +91,7 @@ void status_bar_inactive(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_set_flash(int val);
// input window actions
void inp_get_char(int *ch, char *input, int *size);