+void MainWindow::on_focus_changed()
+{
+ static shared_ptr<Session> prev_session;
+
+ shared_ptr<views::ViewBase> view = get_active_view();
+
+ if (view) {
+ for (shared_ptr<Session> session : sessions_) {
+ if (session->has_view(view)) {
+ if (session != prev_session) {
+ // Activate correct tab if necessary
+ shared_ptr<Session> tab_session = get_tab_session(
+ session_selector_.currentIndex());
+ if (tab_session != session)
+ session_selector_.setCurrentWidget(
+ session_windows_.at(session));
+
+ on_focused_session_changed(session);
+ }
+
+ prev_session = session;
+ break;
+ }
+ }
+ }
+
+ if (sessions_.empty())
+ setWindowTitle(WindowTitle);
+}
+
+void MainWindow::on_focused_session_changed(shared_ptr<Session> session)
+{
+ setWindowTitle(session->name() + " - " + WindowTitle);
+}
+
+void MainWindow::on_new_session_clicked()