From b0a89530f2da162999f3d96b5e6e91788dcdd9f3 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Fri, 20 Mar 2026 15:29:03 +0100 Subject: [PATCH] fix(ui): Fix custom outgoing stamp and fix stamp command help Replace the hardcoded "me" stamp for outgoing messages that are sometimes used with the value from PREF_OUTGOING_STAMP. It was never implemented in all code paths. Like with receipts for example. Additionally fix the confusing description and variable names. Ref: 2c003dd2 (Add /stamp feature) Ref: 3a4cd7da (Broke the variables) Fixes: https://github.com/profanity-im/profanity/issues/2125 Signed-off-by: Michael Vetter --- src/command/cmd_defs.c | 2 +- src/command/cmd_funcs.c | 12 ++++++------ src/ui/chatwin.c | 3 ++- src/xmpp/message.c | 2 +- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/command/cmd_defs.c b/src/command/cmd_defs.c index 392e6bb3..28b473fd 100644 --- a/src/command/cmd_defs.c +++ b/src/command/cmd_defs.c @@ -2405,7 +2405,7 @@ static const struct cmd_t command_defs[] = { "/stamp unset outgoing|incoming") CMD_DESC("Set chat window stamp. " "The format of line in the chat window is: \" \" " - "where is \"me:\" for incoming messages or \"username@server/resource\" for outgoing messages. " + "where is \"me:\" for outgoing messages or \"username@server/resource\" for incoming messages. " "This command allows to change value.") CMD_ARGS({ "outgoing", "Set outgoing stamp" }, { "incoming", "Set incoming stamp"}, diff --git a/src/command/cmd_funcs.c b/src/command/cmd_funcs.c index 75f4bced..1ee14d51 100644 --- a/src/command/cmd_funcs.c +++ b/src/command/cmd_funcs.c @@ -8960,15 +8960,15 @@ gboolean cmd_stamp(ProfWin* window, const char* const command, gchar** args) { if (g_strv_length(args) == 0) { - auto_gchar gchar* def_incoming = prefs_get_string(PREF_OUTGOING_STAMP); - if (def_incoming) { - cons_show("The outgoing stamp is: %s", def_incoming); + auto_gchar gchar* def_outgoing = prefs_get_string(PREF_OUTGOING_STAMP); + if (def_outgoing) { + cons_show("The outgoing stamp is: %s", def_outgoing); } else { cons_show("The default outgoing stamp is used."); } - auto_gchar gchar* def_outgoing = prefs_get_string(PREF_INCOMING_STAMP); - if (def_outgoing) { - cons_show("The incoming stamp is: %s", def_outgoing); + auto_gchar gchar* def_incoming = prefs_get_string(PREF_INCOMING_STAMP); + if (def_incoming) { + cons_show("The incoming stamp is: %s", def_incoming); } else { cons_show("The default incoming stamp is used."); } diff --git a/src/ui/chatwin.c b/src/ui/chatwin.c index f9094173..2105556f 100644 --- a/src/ui/chatwin.c +++ b/src/ui/chatwin.c @@ -392,7 +392,8 @@ chatwin_outgoing_msg(ProfChatWin* chatwin, const char* const message, const char const char* display_message = plugin_message ?: message; if (request_receipt && id) { - win_print_outgoing_with_receipt((ProfWin*)chatwin, enc_char, "me", display_message, id, replace_id); + auto_gchar gchar* outgoing_str = prefs_get_string(PREF_OUTGOING_STAMP); + win_print_outgoing_with_receipt((ProfWin*)chatwin, enc_char, outgoing_str, display_message, id, replace_id); } else { win_print_outgoing((ProfWin*)chatwin, enc_char, id, replace_id, display_message); } diff --git a/src/xmpp/message.c b/src/xmpp/message.c index 85d8b9ce..a154f7d3 100644 --- a/src/xmpp/message.c +++ b/src/xmpp/message.c @@ -76,7 +76,7 @@ gchar* get_display_name(const ProfMessage* const message, int* flags) { if (equals_our_barejid(message->from_jid->barejid)) { - return g_strdup("me"); + return prefs_get_string(PREF_OUTGOING_STAMP); } else { if (flags) *flags = NO_ME;