]> jfr.im git - irc/hexchat/hexchat.git/commitdiff
Add option to exclude nickname in window title (#2759)
authorkonsolebox <redacted>
Tue, 24 Jan 2023 23:03:53 +0000 (07:03 +0800)
committerGitHub <redacted>
Tue, 24 Jan 2023 23:03:53 +0000 (17:03 -0600)
src/common/cfgfiles.c
src/common/hexchat.h
src/fe-gtk/maingui.c
src/fe-gtk/setup.c

index fdee9f2c9d524719ac587bb164a9d55983d3519b..f0799de931a8533c12b5866a696a41bd6b894e2b 100644 (file)
@@ -468,6 +468,7 @@ const struct prefs vars[] =
        {"gui_win_fullscreen", P_OFFINT (hex_gui_win_fullscreen), TYPE_INT},
        {"gui_win_left", P_OFFINT (hex_gui_win_left), TYPE_INT},
        {"gui_win_modes", P_OFFINT (hex_gui_win_modes), TYPE_BOOL},
+       {"gui_win_nick", P_OFFINT (hex_gui_win_nick), TYPE_BOOL},
        {"gui_win_save", P_OFFINT (hex_gui_win_save), TYPE_BOOL},
        {"gui_win_state", P_OFFINT (hex_gui_win_state), TYPE_INT},
        {"gui_win_swap", P_OFFINT (hex_gui_win_swap), TYPE_BOOL},
@@ -772,6 +773,7 @@ load_default_config(void)
        prefs.hex_gui_ulist_count = 1;
        prefs.hex_gui_ulist_icons = 1;
        prefs.hex_gui_ulist_style = 1;
+       prefs.hex_gui_win_nick = 1;
        prefs.hex_gui_win_save = 1;
        prefs.hex_input_filter_beep = 1;
        prefs.hex_input_flash_hilight = 1;
index 470dd4ad47e99bb049c8ef7e7e41e5fe2a085928..1b86f588edda231a6d947ce3aadd9452c967f47d 100644 (file)
@@ -150,6 +150,7 @@ struct hexchatprefs
        unsigned int hex_gui_ulist_style;
        unsigned int hex_gui_usermenu;
        unsigned int hex_gui_win_modes;
+       unsigned int hex_gui_win_nick;
        unsigned int hex_gui_win_save;
        unsigned int hex_gui_win_swap;
        unsigned int hex_gui_win_ucount;
index 61f59856b36f1c236d6d5accf3e8b67723e4c065..0da60b3eefddd7ada435f96c6312729b209e75f4 100644 (file)
@@ -399,27 +399,22 @@ fe_set_title (session *sess)
                                         _(DISPLAY_NAME));
                break;
        case SESS_SERVER:
-               g_snprintf (tbuf, sizeof (tbuf), "%s @ %s - %s",
-                                        sess->server->nick, server_get_network (sess->server, TRUE),
+               g_snprintf (tbuf, sizeof (tbuf), "%s%s%s - %s",
+                                        prefs.hex_gui_win_nick ? sess->server->nick : "",
+                                        prefs.hex_gui_win_nick ? " @ " : "", server_get_network (sess->server, TRUE),
                                         _(DISPLAY_NAME));
                break;
        case SESS_CHANNEL:
                /* don't display keys in the titlebar */
-               if (prefs.hex_gui_win_modes)
-               {
                        g_snprintf (tbuf, sizeof (tbuf),
-                                                "%s @ %s / %s (%s) - %s",
-                                                sess->server->nick, server_get_network (sess->server, TRUE),
-                                                sess->channel, sess->current_modes ? sess->current_modes : "",
-                                                _(DISPLAY_NAME));
-               }
-               else
-               {
-                       g_snprintf (tbuf, sizeof (tbuf),
-                                                "%s @ %s / %s - %s",
-                                                sess->server->nick, server_get_network (sess->server, TRUE),
-                                                sess->channel, _(DISPLAY_NAME));
-               }
+                                        "%s%s%s / %s%s%s%s - %s",
+                                        prefs.hex_gui_win_nick ? sess->server->nick : "",
+                                        prefs.hex_gui_win_nick ? " @ " : "",
+                                        server_get_network (sess->server, TRUE), sess->channel,
+                                        prefs.hex_gui_win_modes && sess->current_modes ? " (" : "",
+                                        prefs.hex_gui_win_modes && sess->current_modes ? sess->current_modes : "",
+                                        prefs.hex_gui_win_modes && sess->current_modes ? ")" : "",
+                                        _(DISPLAY_NAME));
                if (prefs.hex_gui_win_ucount)
                {
                        g_snprintf (tbuf + strlen (tbuf), 9, " (%d)", sess->total);
@@ -427,8 +422,9 @@ fe_set_title (session *sess)
                break;
        case SESS_NOTICES:
        case SESS_SNOTICES:
-               g_snprintf (tbuf, sizeof (tbuf), "%s @ %s (notices) - %s",
-                                        sess->server->nick, server_get_network (sess->server, TRUE),
+               g_snprintf (tbuf, sizeof (tbuf), "%s%s%s (notices) - %s",
+                                        prefs.hex_gui_win_nick ? sess->server->nick : "",
+                                        prefs.hex_gui_win_nick ? " @ " : "", server_get_network (sess->server, TRUE),
                                         _(DISPLAY_NAME));
                break;
        default:
index 2f0589bd4047979c18da350eb0e29f711bbccb2b..0e1dfde3ad3fefca4fe9a8fa196aa043912688d9 100644 (file)
@@ -176,6 +176,7 @@ static const setting appearance_settings[] =
        {ST_HEADER,     N_("Title Bar"),0,0,0},
        {ST_TOGGLE, N_("Show channel modes"), P_OFFINTNL(hex_gui_win_modes),0,0,0},
        {ST_TOGGLR, N_("Show number of users"), P_OFFINTNL(hex_gui_win_ucount),0,0,0},
+       {ST_TOGGLE, N_("Show nickname"), P_OFFINTNL(hex_gui_win_nick),0,0,0},
 
        {ST_END, 0, 0, 0, 0, 0}
 };