Merge branch 'master' into wheel

This commit is contained in:
James Booth
2012-11-21 00:23:53 +00:00
7 changed files with 323 additions and 170 deletions

View File

@@ -114,20 +114,40 @@ gui_init(void)
use_default_colors();
start_color();
init_pair(1, prefs_get_text(), prefs_get_bkgnd());
init_pair(2, prefs_get_online(), prefs_get_bkgnd());
init_pair(3, prefs_get_text(), prefs_get_bar());
init_pair(4, prefs_get_bar_draw(), prefs_get_bar());
init_pair(5, prefs_get_offline(), prefs_get_bkgnd());
init_pair(6, prefs_get_err(), prefs_get_bkgnd());
init_pair(7, prefs_get_inc(), prefs_get_bkgnd());
init_pair(8, prefs_get_bar_text(), prefs_get_bar());
// main text
init_pair(1, prefs_get_maintext(), prefs_get_bkgnd());
init_pair(2, prefs_get_splashtext(), prefs_get_bkgnd());
init_pair(3, prefs_get_error(), prefs_get_bkgnd());
init_pair(4, prefs_get_incoming(), prefs_get_bkgnd());
//statuses
init_pair(9, prefs_get_away(), prefs_get_bkgnd());
init_pair(10, prefs_get_chat(), prefs_get_bkgnd());
init_pair(11, prefs_get_dnd(), prefs_get_bkgnd());
init_pair(12, prefs_get_xa(), prefs_get_bkgnd());
// title bar
init_pair(10, prefs_get_titlebartext(), prefs_get_titlebar());
init_pair(11, prefs_get_titlebarbrackets(), prefs_get_titlebar());
// status bar
init_pair(20, prefs_get_statusbartext(), prefs_get_statusbar());
init_pair(21, prefs_get_statusbarbrackets(), prefs_get_statusbar());
init_pair(22, prefs_get_statusbaractive(), prefs_get_statusbar());
init_pair(23, prefs_get_statusbarnew(), prefs_get_statusbar());
// chat
init_pair(30, prefs_get_me(), prefs_get_bkgnd());
init_pair(31, prefs_get_them(), prefs_get_bkgnd());
// room chat
init_pair(40, prefs_get_roominfo(), prefs_get_bkgnd());
// statuses
init_pair(50, prefs_get_online(), prefs_get_bkgnd());
init_pair(51, prefs_get_offline(), prefs_get_bkgnd());
init_pair(52, prefs_get_away(), prefs_get_bkgnd());
init_pair(53, prefs_get_chat(), prefs_get_bkgnd());
init_pair(54, prefs_get_dnd(), prefs_get_bkgnd());
init_pair(55, prefs_get_xa(), prefs_get_bkgnd());
// states
init_pair(60, prefs_get_typing(), prefs_get_bkgnd());
init_pair(61, prefs_get_gone(), prefs_get_bkgnd());
}
refresh();
@@ -408,11 +428,11 @@ win_show_incomming_msg(const char * const from, const char * const message,
}
if (strncmp(message, "/me ", 4) == 0) {
wattron(win, COLOUR_ONLINE);
wattron(win, COLOUR_THEM);
wprintw(win, "*%s ", from);
wprintw(win, message + 4);
wprintw(win, "\n");
wattroff(win, COLOUR_ONLINE);
wattroff(win, COLOUR_THEM);
} else {
_win_show_user(win, from, 1);
_win_show_message(win, message);
@@ -445,11 +465,11 @@ win_show_incomming_msg(const char * const from, const char * const message,
}
if (strncmp(message, "/me ", 4) == 0) {
wattron(win, COLOUR_ONLINE);
wattron(win, COLOUR_THEM);
wprintw(win, "*%s ", from);
wprintw(win, message + 4);
wprintw(win, "\n");
wattroff(win, COLOUR_ONLINE);
wattroff(win, COLOUR_THEM);
} else {
_win_show_user(win, from, 1);
_win_show_message(win, message);
@@ -499,11 +519,11 @@ win_show_gone(const char * const from)
if (win_index < NUM_WINS) {
win = _wins[win_index].win;
_win_show_time(win);
wattron(win, COLOUR_AWAY);
wattron(win, COLOUR_GONE);
wprintw(win, "*%s ", from);
wprintw(win, "has left the conversation.");
wprintw(win, "\n");
wattroff(win, COLOUR_AWAY);
wattroff(win, COLOUR_GONE);
if (win_index == _curr_prof_win) {
dirty = TRUE;
}
@@ -533,9 +553,7 @@ win_show_system_msg(const char * const from, const char *message)
win = _wins[win_index].win;
_win_show_time(win);
wattron(win, COLOUR_ONLINE);
wprintw(win, "*%s %s\n", bare_jid, message);
wattroff(win, COLOUR_ONLINE);
// this is the current window
if (win_index == _curr_prof_win) {
@@ -645,11 +663,11 @@ win_show_outgoing_msg(const char * const from, const char * const to,
_win_show_time(win);
if (strncmp(message, "/me ", 4) == 0) {
wattron(win, COLOUR_INC);
wattron(win, COLOUR_ME);
wprintw(win, "*%s ", from);
wprintw(win, message + 4);
wprintw(win, "\n");
wattroff(win, COLOUR_INC);
wattroff(win, COLOUR_ME);
} else {
_win_show_user(win, from, 0);
_win_show_message(win, message);
@@ -679,13 +697,13 @@ win_show_room_roster(const char * const room)
GList *roster = room_get_roster(room);
if ((roster == NULL) || (g_list_length(roster) == 0)) {
wattron(win, COLOUR_INC);
wattron(win, COLOUR_ROOMINFO);
wprintw(win, "You are alone!\n");
wattroff(win, COLOUR_INC);
wattroff(win, COLOUR_ROOMINFO);
} else {
wattron(win, COLOUR_INC);
wattron(win, COLOUR_ROOMINFO);
wprintw(win, "Room occupants:\n");
wattroff(win, COLOUR_INC);
wattroff(win, COLOUR_ROOMINFO);
wattron(win, COLOUR_ONLINE);
while (roster != NULL) {
@@ -757,9 +775,9 @@ win_show_room_member_nick_change(const char * const room,
WINDOW *win = _wins[win_index].win;
_win_show_time(win);
wattron(win, COLOUR_ONLINE);
wattron(win, COLOUR_THEM);
wprintw(win, "** %s is now known as %s\n", old_nick, nick);
wattroff(win, COLOUR_ONLINE);
wattroff(win, COLOUR_THEM);
if (win_index == _curr_prof_win)
dirty = TRUE;
@@ -772,9 +790,9 @@ win_show_room_nick_change(const char * const room, const char * const nick)
WINDOW *win = _wins[win_index].win;
_win_show_time(win);
wattron(win, COLOUR_ONLINE);
wattron(win, COLOUR_ME);
wprintw(win, "** You are now known as %s\n", nick);
wattroff(win, COLOUR_ONLINE);
wattroff(win, COLOUR_ME);
if (win_index == _curr_prof_win)
dirty = TRUE;
@@ -816,11 +834,11 @@ win_show_room_message(const char * const room_jid, const char * const nick,
_win_show_time(win);
if (strcmp(nick, room_get_nick_for_room(room_jid)) != 0) {
if (strncmp(message, "/me ", 4) == 0) {
wattron(win, COLOUR_ONLINE);
wattron(win, COLOUR_THEM);
wprintw(win, "*%s ", nick);
wprintw(win, message + 4);
wprintw(win, "\n");
wattroff(win, COLOUR_ONLINE);
wattroff(win, COLOUR_THEM);
} else {
_win_show_user(win, nick, 1);
_win_show_message(win, message);
@@ -828,11 +846,11 @@ win_show_room_message(const char * const room_jid, const char * const nick,
} else {
if (strncmp(message, "/me ", 4) == 0) {
wattron(win, COLOUR_INC);
wattron(win, COLOUR_ME);
wprintw(win, "*%s ", nick);
wprintw(win, message + 4);
wprintw(win, "\n");
wattroff(win, COLOUR_INC);
wattroff(win, COLOUR_ME);
} else {
_win_show_user(win, nick, 0);
_win_show_message(win, message);
@@ -879,9 +897,9 @@ win_show_room_subject(const char * const room_jid, const char * const subject)
int win_index = _find_prof_win_index(room_jid);
WINDOW *win = _wins[win_index].win;
wattron(win, COLOUR_INC);
wattron(win, COLOUR_ROOMINFO);
wprintw(win, "Room subject: ");
wattroff(win, COLOUR_INC);
wattroff(win, COLOUR_ROOMINFO);
wprintw(win, "%s\n", subject);
// currently in groupchat window
@@ -901,9 +919,9 @@ win_show_room_broadcast(const char * const room_jid, const char * const message)
int win_index = _find_prof_win_index(room_jid);
WINDOW *win = _wins[win_index].win;
wattron(win, COLOUR_INC);
wattron(win, COLOUR_ROOMINFO);
wprintw(win, "Room message: ");
wattroff(win, COLOUR_INC);
wattroff(win, COLOUR_ROOMINFO);
wprintw(win, "%s\n", message);
// currently in groupchat window
@@ -932,9 +950,9 @@ win_bad_show(const char * const msg)
{
WINDOW *win = _wins[_curr_prof_win].win;
_win_show_time(win);
wattron(win, COLOUR_ERR);
wattron(win, COLOUR_ERROR);
wprintw(win, "%s\n", msg);
wattroff(win, COLOUR_ERR);
wattroff(win, COLOUR_ERROR);
dirty = TRUE;
}
@@ -992,9 +1010,9 @@ win_disconnected(void)
if (strcmp(_wins[i].from, "") != 0) {
WINDOW *win = _wins[i].win;
_win_show_time(win);
wattron(win, COLOUR_ERR);
wattron(win, COLOUR_ERROR);
wprintw(win, "%s\n", "Lost connection.");
wattroff(win, COLOUR_ERR);
wattroff(win, COLOUR_ERROR);
// if current win, set dirty
if (i == _curr_prof_win) {
@@ -1210,9 +1228,9 @@ cons_bad_show(const char * const msg, ...)
GString *fmt_msg = g_string_new(NULL);
g_string_vprintf(fmt_msg, msg, arg);
_win_show_time(_cons_win);
wattron(_cons_win, COLOUR_ERR);
wattron(_cons_win, COLOUR_ERROR);
wprintw(_cons_win, "%s\n", fmt_msg->str);
wattroff(_cons_win, COLOUR_ERR);
wattroff(_cons_win, COLOUR_ERROR);
g_string_free(fmt_msg, TRUE);
va_end(arg);
@@ -1381,13 +1399,9 @@ cons_check_version(gboolean not_available_msg)
if (relase_valid) {
if (_new_release(latest_release)) {
_win_show_time(_cons_win);
wattron(_cons_win, COLOUR_ONLINE);
wprintw(_cons_win, "A new version of Profanity is available: %s", latest_release);
wattroff(_cons_win, COLOUR_ONLINE);
_win_show_time(_cons_win);
wattron(_cons_win, COLOUR_ONLINE);
wprintw(_cons_win, "Check <http://www.profanity.im> for details.\n");
wattroff(_cons_win, COLOUR_ONLINE);
free(latest_release);
_win_show_time(_cons_win);
wprintw(_cons_win, "\n");
@@ -1434,39 +1448,39 @@ _cons_splash_logo(void)
wprintw(_cons_win, "Welcome to\n");
_win_show_time(_cons_win);
wattron(_cons_win, COLOUR_OFFLINE);
wattron(_cons_win, COLOUR_SPLASH);
wprintw(_cons_win, " ___ _ \n");
wattroff(_cons_win, COLOUR_OFFLINE);
wattroff(_cons_win, COLOUR_SPLASH);
_win_show_time(_cons_win);
wattron(_cons_win, COLOUR_OFFLINE);
wattron(_cons_win, COLOUR_SPLASH);
wprintw(_cons_win, " / __) (_)_ \n");
wattroff(_cons_win, COLOUR_OFFLINE);
wattroff(_cons_win, COLOUR_SPLASH);
_win_show_time(_cons_win);
wattron(_cons_win, COLOUR_OFFLINE);
wattron(_cons_win, COLOUR_SPLASH);
wprintw(_cons_win, " ____ ____ ___ | |__ ____ ____ _| |_ _ _ \n");
wattroff(_cons_win, COLOUR_OFFLINE);
wattroff(_cons_win, COLOUR_SPLASH);
_win_show_time(_cons_win);
wattron(_cons_win, COLOUR_OFFLINE);
wattron(_cons_win, COLOUR_SPLASH);
wprintw(_cons_win, "| _ \\ / ___) _ \\| __) _ | _ \\| | _) | | |\n");
wattroff(_cons_win, COLOUR_OFFLINE);
wattroff(_cons_win, COLOUR_SPLASH);
_win_show_time(_cons_win);
wattron(_cons_win, COLOUR_OFFLINE);
wattron(_cons_win, COLOUR_SPLASH);
wprintw(_cons_win, "| | | | | | |_| | | ( ( | | | | | | |_| |_| |\n");
wattroff(_cons_win, COLOUR_OFFLINE);
wattroff(_cons_win, COLOUR_SPLASH);
_win_show_time(_cons_win);
wattron(_cons_win, COLOUR_OFFLINE);
wattron(_cons_win, COLOUR_SPLASH);
wprintw(_cons_win, "| ||_/|_| \\___/|_| \\_||_|_| |_|_|\\___)__ |\n");
wattroff(_cons_win, COLOUR_OFFLINE);
wattroff(_cons_win, COLOUR_SPLASH);
_win_show_time(_cons_win);
wattron(_cons_win, COLOUR_OFFLINE);
wattron(_cons_win, COLOUR_SPLASH);
wprintw(_cons_win, "|_| (____/ \n");
wattroff(_cons_win, COLOUR_OFFLINE);
wattroff(_cons_win, COLOUR_SPLASH);
_win_show_time(_cons_win);
wprintw(_cons_win, "\n");
@@ -1543,14 +1557,14 @@ static void
_win_show_user(WINDOW *win, const char * const user, const int colour)
{
if (colour)
wattron(win, COLOUR_ONLINE);
wattron(win, COLOUR_THEM);
else
wattron(win, COLOUR_INC);
wattron(win, COLOUR_ME);
wprintw(win, "%s: ", user);
if (colour)
wattroff(win, COLOUR_ONLINE);
wattroff(win, COLOUR_THEM);
else
wattroff(win, COLOUR_INC);
wattroff(win, COLOUR_ME);
}
static void
@@ -1562,9 +1576,9 @@ _win_show_message(WINDOW *win, const char * const message)
static void
_win_show_error_msg(WINDOW *win, const char * const message)
{
wattron(win, COLOUR_ERR);
wattron(win, COLOUR_ERROR);
wprintw(win, "%s\n", message);
wattroff(win, COLOUR_ERR);
wattroff(win, COLOUR_ERROR);
}
static void
@@ -1661,18 +1675,18 @@ static void
_cons_show_typing(const char * const short_from)
{
_win_show_time(_cons_win);
wattron(_cons_win, COLOUR_INC);
wattron(_cons_win, COLOUR_TYPING);
wprintw(_cons_win, "!! %s is typing a message...\n", short_from);
wattroff(_cons_win, COLOUR_INC);
wattroff(_cons_win, COLOUR_TYPING);
}
static void
_cons_show_incoming_message(const char * const short_from, const int win_index)
{
_win_show_time(_cons_win);
wattron(_cons_win, COLOUR_INC);
wattron(_cons_win, COLOUR_INCOMING);
wprintw(_cons_win, "<< incoming from %s (%d)\n", short_from, win_index + 1);
wattroff(_cons_win, COLOUR_INC);
wattroff(_cons_win, COLOUR_INCOMING);
}
static void