mirror of
https://github.com/profanity-im/profanity.git
synced 2025-02-02 15:08:15 -05:00
Merge pull request #25 from dotoole/master
This commit is contained in:
commit
df1e8327f9
18
command.c
18
command.c
@ -44,6 +44,7 @@ static gboolean _cmd_msg(const char * const inp);
|
|||||||
static gboolean _cmd_close(const char * const inp);
|
static gboolean _cmd_close(const char * const inp);
|
||||||
static gboolean _cmd_set_beep(const char * const inp);
|
static gboolean _cmd_set_beep(const char * const inp);
|
||||||
static gboolean _cmd_set_flash(const char * const inp);
|
static gboolean _cmd_set_flash(const char * const inp);
|
||||||
|
static gboolean _cmd_set_showsplash(const char * const inp);
|
||||||
static gboolean _cmd_away(const char * const inp);
|
static gboolean _cmd_away(const char * const inp);
|
||||||
static gboolean _cmd_online(const char * const inp);
|
static gboolean _cmd_online(const char * const inp);
|
||||||
static gboolean _cmd_dnd(const char * const inp);
|
static gboolean _cmd_dnd(const char * const inp);
|
||||||
@ -107,6 +108,8 @@ static gboolean _handle_command(const char * const command, const char * const i
|
|||||||
result = _cmd_set_beep(inp);
|
result = _cmd_set_beep(inp);
|
||||||
} else if (strcmp(command, "/flash") == 0) {
|
} else if (strcmp(command, "/flash") == 0) {
|
||||||
result = _cmd_set_flash(inp);
|
result = _cmd_set_flash(inp);
|
||||||
|
} else if (strcmp(command, "/showsplash") == 0) {
|
||||||
|
result = _cmd_set_showsplash(inp);
|
||||||
} else if (strcmp(command, "/away") == 0) {
|
} else if (strcmp(command, "/away") == 0) {
|
||||||
result = _cmd_away(inp);
|
result = _cmd_away(inp);
|
||||||
} else if (strcmp(command, "/online") == 0) {
|
} else if (strcmp(command, "/online") == 0) {
|
||||||
@ -267,6 +270,21 @@ static gboolean _cmd_set_flash(const char * const inp)
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static gboolean _cmd_set_showsplash(const char * const inp)
|
||||||
|
{
|
||||||
|
if (strcmp(inp, "/showsplash on") == 0) {
|
||||||
|
cons_show("Splash screen enabled.");
|
||||||
|
prefs_set_showsplash(TRUE);
|
||||||
|
} else if (strcmp(inp, "/showsplash off") == 0) {
|
||||||
|
cons_show("Splash screen disabled.");
|
||||||
|
prefs_set_showsplash(FALSE);
|
||||||
|
} else {
|
||||||
|
cons_show("Usage: /showsplash <on/off>");
|
||||||
|
}
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
static gboolean _cmd_away(const char * const inp)
|
static gboolean _cmd_away(const char * const inp)
|
||||||
{
|
{
|
||||||
_update_presence(PRESENCE_AWAY, "away", inp);
|
_update_presence(PRESENCE_AWAY, "away", inp);
|
||||||
|
@ -129,6 +129,17 @@ void prefs_add_login(const char *jid)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gboolean prefs_get_showsplash(void)
|
||||||
|
{
|
||||||
|
return g_key_file_get_boolean(prefs, "ui", "showsplash", NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
void prefs_set_showsplash(gboolean value)
|
||||||
|
{
|
||||||
|
g_key_file_set_boolean(prefs, "ui", "showsplash", value);
|
||||||
|
_save_prefs();
|
||||||
|
}
|
||||||
|
|
||||||
static void _save_prefs(void)
|
static void _save_prefs(void)
|
||||||
{
|
{
|
||||||
gsize g_data_size;
|
gsize g_data_size;
|
||||||
|
@ -35,5 +35,7 @@ void prefs_set_beep(gboolean value);
|
|||||||
gboolean prefs_get_flash(void);
|
gboolean prefs_get_flash(void);
|
||||||
void prefs_set_flash(gboolean value);
|
void prefs_set_flash(gboolean value);
|
||||||
void prefs_add_login(const char *jid);
|
void prefs_add_login(const char *jid);
|
||||||
|
gboolean prefs_get_showsplash(void);
|
||||||
|
void prefs_set_showsplash(gboolean value);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
20
windows.c
20
windows.c
@ -51,6 +51,7 @@ static int dirty;
|
|||||||
static int max_cols = 0;
|
static int max_cols = 0;
|
||||||
|
|
||||||
static void _create_windows(void);
|
static void _create_windows(void);
|
||||||
|
static void _print_splash_logo(WINDOW *win);
|
||||||
static int _find_prof_win_index(const char * const contact);
|
static int _find_prof_win_index(const char * const contact);
|
||||||
static int _new_prof_win(const char * const contact);
|
static int _new_prof_win(const char * const contact);
|
||||||
static void _current_window_refresh(void);
|
static void _current_window_refresh(void);
|
||||||
@ -277,6 +278,7 @@ void cons_help(void)
|
|||||||
cons_show("");
|
cons_show("");
|
||||||
cons_show("/beep <on/off> : Enable/disable sound notification");
|
cons_show("/beep <on/off> : Enable/disable sound notification");
|
||||||
cons_show("/flash <on/off> : Enable/disable screen flash notification");
|
cons_show("/flash <on/off> : Enable/disable screen flash notification");
|
||||||
|
cons_show("/showsplash <on/off> : Enable/disable splash logo on startup");
|
||||||
cons_show("");
|
cons_show("");
|
||||||
cons_show("Status changes (msg is optional):");
|
cons_show("Status changes (msg is optional):");
|
||||||
cons_show("");
|
cons_show("");
|
||||||
@ -395,7 +397,11 @@ static void _create_windows(void)
|
|||||||
|
|
||||||
wattrset(_cons_win, A_BOLD);
|
wattrset(_cons_win, A_BOLD);
|
||||||
_win_show_time(_cons_win);
|
_win_show_time(_cons_win);
|
||||||
|
if (prefs_get_showsplash()) {
|
||||||
|
_print_splash_logo(_cons_win);
|
||||||
|
} else {
|
||||||
wprintw(_cons_win, "Welcome to Profanity.\n");
|
wprintw(_cons_win, "Welcome to Profanity.\n");
|
||||||
|
}
|
||||||
prefresh(_cons_win, 0, 0, 1, 0, rows-3, cols-1);
|
prefresh(_cons_win, 0, 0, 1, 0, rows-3, cols-1);
|
||||||
|
|
||||||
dirty = TRUE;
|
dirty = TRUE;
|
||||||
@ -414,6 +420,20 @@ static void _create_windows(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void _print_splash_logo(WINDOW *win)
|
||||||
|
{
|
||||||
|
wprintw(win, "Welcome to\n");
|
||||||
|
wattron(win, COLOR_PAIR(5));
|
||||||
|
wprintw(win, " ___ _ \n");
|
||||||
|
wprintw(win, " / __) (_)_ \n");
|
||||||
|
wprintw(win, " ____ ____ ___ | |__ ____ ____ _| |_ _ _ \n");
|
||||||
|
wprintw(win, "| _ \\ / ___) _ \\| __) _ | _ \\| | _) | | |\n");
|
||||||
|
wprintw(win, "| | | | | | |_| | | ( ( | | | | | | |_| |_| |\n");
|
||||||
|
wprintw(win, "| ||_/|_| \\___/|_| \\_||_|_| |_|_|\\___)__ |\n");
|
||||||
|
wprintw(win, "|_| (____/ \n");
|
||||||
|
wattroff(win, COLOR_PAIR(5));
|
||||||
|
}
|
||||||
|
|
||||||
static int _find_prof_win_index(const char * const contact)
|
static int _find_prof_win_index(const char * const contact)
|
||||||
{
|
{
|
||||||
// find the chat window for recipient
|
// find the chat window for recipient
|
||||||
|
Loading…
Reference in New Issue
Block a user