diff --git a/gtk/main.c b/gtk/main.c
index 3fe532cd1..85009f9f0 100644
--- a/gtk/main.c
+++ b/gtk/main.c
@@ -1031,6 +1031,21 @@ void on_proxy_refresh_button_clicked(GtkWidget *w){
}
}
+static gboolean grab_focus(GtkWidget *w){
+ gtk_widget_grab_focus(w);
+ return FALSE;
+}
+
+void linphone_gtk_viewswitch_changed(GtkNotebook *notebook, GtkWidget *page, guint page_num, gpointer user_data){
+ GtkWidget *main_window = linphone_gtk_get_main_window();
+ GtkWidget *friendlist = linphone_gtk_get_widget(main_window,"contact_list");
+ GtkWidget *w = (GtkWidget*)g_object_get_data(G_OBJECT(friendlist),"chatview");
+
+ if (page_num == gtk_notebook_page_num(GTK_NOTEBOOK(notebook),w)) {
+ g_idle_add((GSourceFunc)grab_focus,linphone_gtk_get_widget(page,"text_entry"));
+ }
+}
+
static void linphone_gtk_notify_recv(LinphoneCore *lc, LinphoneFriend * fid){
linphone_gtk_show_friends();
}
diff --git a/gtk/main.ui b/gtk/main.ui
index 083ad5165..e7360e215 100644
--- a/gtk/main.ui
+++ b/gtk/main.ui
@@ -167,8 +167,8 @@
False
True
True
-
+
@@ -650,6 +650,7 @@