summary refs log tree commit diff stats
path: root/src/fe-gtk
diff options
context:
space:
mode:
authorSoniEx2 <endermoneymod@gmail.com>2024-02-11 19:11:24 -0300
committerSoniEx2 <endermoneymod@gmail.com>2024-02-11 19:11:24 -0300
commit230a70d02e13123436815635a41824f906671505 (patch)
tree478c27a66deb81a03e81c1b4bb8d241990dd5a2b /src/fe-gtk
parent014b242df803089c34084de3d806a7c4e4dad75e (diff)
parentb544ac3350e85d4cc41fe3414cbdb82d75ce5d7a (diff)
Merge remote-tracking branch 'upstream/master' into default
Diffstat (limited to 'src/fe-gtk')
-rw-r--r--src/fe-gtk/fe-gtk.c3
-rw-r--r--src/fe-gtk/maingui.c32
-rw-r--r--src/fe-gtk/servlistgui.c8
-rw-r--r--src/fe-gtk/setup.c1
-rw-r--r--src/fe-gtk/xtext.c3
5 files changed, 25 insertions, 22 deletions
diff --git a/src/fe-gtk/fe-gtk.c b/src/fe-gtk/fe-gtk.c
index 38e6172d..125ab577 100644
--- a/src/fe-gtk/fe-gtk.c
+++ b/src/fe-gtk/fe-gtk.c
@@ -1065,8 +1065,7 @@ uri_contains_forbidden_characters (const char *uri)
 {
 	while (*uri)
 	{
-		/* This is not an exhaustive list, the full URI has segments that allow characters like "[]:" for example. */
-		if (strchr ("`<> ${}\"+", *uri) != NULL || (*uri & 0x80) /* non-ascii */)
+		if (!g_ascii_isalnum (*uri) && !strchr ("-._~:/?#[]@!$&'()*+,;=", *uri))
 			return TRUE;
 		uri++;
 	}
diff --git a/src/fe-gtk/maingui.c b/src/fe-gtk/maingui.c
index 3e62da15..a3e633bc 100644
--- a/src/fe-gtk/maingui.c
+++ b/src/fe-gtk/maingui.c
@@ -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:
diff --git a/src/fe-gtk/servlistgui.c b/src/fe-gtk/servlistgui.c
index edcd4609..0e5e108b 100644
--- a/src/fe-gtk/servlistgui.c
+++ b/src/fe-gtk/servlistgui.c
@@ -128,6 +128,9 @@ static int login_types_conf[] =
 	LOGIN_SASL,
 #ifdef USE_OPENSSL
 	LOGIN_SASLEXTERNAL,
+	LOGIN_SASL_SCRAM_SHA_1,
+	LOGIN_SASL_SCRAM_SHA_256,
+	LOGIN_SASL_SCRAM_SHA_512,
 #endif
 	LOGIN_PASS,
 	LOGIN_MSG_NICKSERV,
@@ -146,9 +149,12 @@ static int login_types_conf[] =
 static const char *login_types[]=
 {
 	"Default",
-	"SASL (username + password)",
+	"SASL PLAIN (username + password)",
 #ifdef USE_OPENSSL
 	"SASL EXTERNAL (cert)",
+	"SASL SCRAM-SHA-1",
+	"SASL SCRAM-SHA-256",
+	"SASL SCRAM-SHA-512",
 #endif
 	"Server password (/PASS password)",
 	"NickServ (/MSG NickServ + password)",
diff --git a/src/fe-gtk/setup.c b/src/fe-gtk/setup.c
index 2f0589bd..0e1dfde3 100644
--- a/src/fe-gtk/setup.c
+++ b/src/fe-gtk/setup.c
@@ -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}
 };
diff --git a/src/fe-gtk/xtext.c b/src/fe-gtk/xtext.c
index 08a5110a..be978f22 100644
--- a/src/fe-gtk/xtext.c
+++ b/src/fe-gtk/xtext.c
@@ -170,7 +170,8 @@ xtext_pango_attr (PangoAttribute *attr)
 static void
 xtext_pango_init (GtkXText *xtext)
 {
-	int i, j;
+	size_t i;
+	int j;
 	char buf[2] = "\000";
 
 	if (attr_lists[0])