diff options
author | SoniEx2 <endermoneymod@gmail.com> | 2021-05-27 20:39:07 -0300 |
---|---|---|
committer | SoniEx2 <endermoneymod@gmail.com> | 2021-05-27 20:39:07 -0300 |
commit | 5571d277b93b62c73568b78c652c85b2e8e95183 (patch) | |
tree | 0d97d65058e31ccdeab4006384442a8e378d5f06 /src/fe-gtk/menu.c | |
parent | f58165fd33919951e2ca594c6f19a785420fc4f9 (diff) | |
parent | 7f8b0a19cff46f7d27451fb9942eea5018f0c5b5 (diff) |
Merge upstream changes
Diffstat (limited to 'src/fe-gtk/menu.c')
-rw-r--r-- | src/fe-gtk/menu.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/src/fe-gtk/menu.c b/src/fe-gtk/menu.c index 097093b4..233715e5 100644 --- a/src/fe-gtk/menu.c +++ b/src/fe-gtk/menu.c @@ -1002,6 +1002,18 @@ menu_chan_part (GtkWidget * menu, char *chan) } static void +menu_chan_focus (GtkWidget * menu, char *chan) +{ + char tbuf[256]; + + if (current_sess) + { + g_snprintf (tbuf, sizeof tbuf, "doat %s gui focus", chan); + handle_command (current_sess, tbuf, FALSE); + } +} + +static void menu_chan_join (GtkWidget * menu, char *chan) { char tbuf[256]; @@ -1018,8 +1030,11 @@ menu_chanmenu (struct session *sess, GdkEventButton * event, char *chan) { GtkWidget *menu; int is_joined = FALSE; + session * chan_session; + + chan_session = find_channel (sess->server, chan); - if (find_channel (sess->server, chan)) + if (chan_session) is_joined = TRUE; g_free (str_copy); @@ -1035,6 +1050,9 @@ menu_chanmenu (struct session *sess, GdkEventButton * event, char *chan) str_copy); else { + if (chan_session != current_sess) + menu_quick_item_with_callback (menu_chan_focus, _("Focus Channel"), menu, + str_copy); menu_quick_item_with_callback (menu_chan_part, _("Part Channel"), menu, str_copy); menu_quick_item_with_callback (menu_chan_cycle, _("Cycle Channel"), menu, |