about summary refs log tree commit diff stats
path: root/src/windows.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/windows.c')
-rw-r--r--src/windows.c37
1 files changed, 31 insertions, 6 deletions
diff --git a/src/windows.c b/src/windows.c
index b7486c92..f1c8f0fe 100644
--- a/src/windows.c
+++ b/src/windows.c
@@ -275,8 +275,17 @@ win_show_incomming_msg(const char * const from, const char * const message)
     // currently viewing chat window with sender
     if (win_index == _curr_prof_win) {
         _win_show_time(win);
-        _win_show_user(win, short_from, 1);
-        _win_show_message(win, message);
+
+        if (strncmp(message, "/me ", 4) == 0) {
+            wattron(win, COLOUR_ONLINE);
+            wprintw(win, "*%s ", short_from);
+            wprintw(win, message + 4);
+            wprintw(win, "\n");
+            wattroff(win, COLOUR_ONLINE);
+        } else {
+            _win_show_user(win, short_from, 1);
+            _win_show_message(win, message);
+        }
         title_bar_set_typing(FALSE);
         title_bar_draw();
         status_bar_active(win_index);
@@ -295,8 +304,16 @@ win_show_incomming_msg(const char * const from, const char * const message)
         }
 
         _win_show_time(win);
-        _win_show_user(win, short_from, 1);
-        _win_show_message(win, message);
+        if (strncmp(message, "/me ", 4) == 0) {
+            wattron(win, COLOUR_ONLINE);
+            wprintw(win, "*%s ", short_from);
+            wprintw(win, message + 4);
+            wprintw(win, "\n");
+            wattroff(win, COLOUR_ONLINE);
+        } else {
+            _win_show_user(win, short_from, 1);
+            _win_show_message(win, message);
+        }
     }
 
     if (prefs_get_beep())
@@ -423,8 +440,16 @@ win_show_outgoing_msg(const char * const from, const char * const to,
     }
 
     _win_show_time(win);
-    _win_show_user(win, from, 0);
-    _win_show_message(win, message);
+    if (strncmp(message, "/me ", 4) == 0) {
+        wattron(win, COLOUR_ONLINE);
+        wprintw(win, "*%s ", from);
+        wprintw(win, message + 4);
+        wprintw(win, "\n");
+        wattroff(win, COLOUR_ONLINE);
+    } else {
+        _win_show_user(win, from, 1);
+        _win_show_message(win, message);
+    }
     _win_switch_if_active(win_index);
 }