Commit bfddd0d9d1a52d2c2f1304f52befa1e20ec83b72

Stefan Sperling 2018-09-29T19:48:19

focus diff view when it comes up in fullscreen

diff --git a/tog/tog.c b/tog/tog.c
index 6bfae94..47557c3 100644
--- a/tog/tog.c
+++ b/tog/tog.c
@@ -335,6 +335,12 @@ view_resize(struct tog_view *view)
 	return NULL;
 }
 
+static int
+view_is_splitscreen(struct tog_view *view)
+{
+	return view->begin_x > 0;
+}
+
 static const struct got_error *
 view_splitscreen(struct tog_view *view)
 {
@@ -1287,10 +1293,14 @@ input_log_view(struct tog_view **new_view, struct tog_view **dead_view,
 			break;
 		case KEY_ENTER:
 		case '\r':
-			*focus_view = view; /* keep log view focussed */
 			err = open_diff_view_for_commit(new_view, view->begin_x,
 			    s->selected_entry->id, s->selected_entry->commit,
 			    s->repo);
+			if (err)
+				break;
+			/* Keep log view focussed in split-screen mode. */
+			if (view_is_splitscreen(*new_view))
+				*focus_view = view;
 			break;
 		case 't':
 			err = browse_commit(new_view, view->begin_x,