summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
95d7ddc)
This makes it possible to easily switch back to the main (or log) view
by closing the diff view, regardless of whether it is split or full-screen.
Requested-by: Aneesh Kumar <aneesh.kumar@gmail.com>
Signed-off-by: Jonas Fonseca <fonseca@diku.dk>
unsigned long offset; /* Offset of the window top */
unsigned long lineno; /* Current line number */
unsigned long offset; /* Offset of the window top */
unsigned long lineno; /* Current line number */
+ /* If non-NULL, points to the view that opened this view. If this view
+ * is closed tig will switch back to the parent view. */
+ struct view *parent;
+
/* Buffering */
unsigned long lines; /* Total number of lines */
void **line; /* Line index; each line contains user data */
/* Buffering */
unsigned long lines; /* Total number of lines */
void **line; /* Line index; each line contains user data */
/* Continue loading split views in the background. */
if (!split)
end_update(prev);
/* Continue loading split views in the background. */
if (!split)
end_update(prev);
return TRUE;
case REQ_VIEW_CLOSE:
return TRUE;
case REQ_VIEW_CLOSE:
- if (display[1]) {
- view = display[(current_view + 1) % ARRAY_SIZE(display)];
memset(display, 0, sizeof(display));
current_view = 0;
memset(display, 0, sizeof(display));
current_view = 0;
- display[current_view] = view;
+ display[current_view] = view->parent;
+ view->parent = NULL;
resize_display();
redraw_display();
break;
resize_display();
redraw_display();
break;
* h::
* Show man page.
* q::
* h::
* Show man page.
* q::
- * Close view if multiple views are open, else quit.
+ * Close view, if multiple views are open it will jump back to the
+ * previous view in the view stack. If it is the last open view it
+ * will quit. Use 'Q' to quit all views at once.
* Enter::
* This key is "context sensitive" depending on what view you are
* currently in. When in log view on a commit line or in the main
* Enter::
* This key is "context sensitive" depending on what view you are
* currently in. When in log view on a commit line or in the main