commit b65b3ea056c6456b6b335189af016235a22c2515 from: Mark Jamsek via: Thomas Adam date: Thu Jun 23 14:09:35 2022 UTC fix fullscreen view regression introduced in 0dbbbe90fd When cycling from a child view in fullscreen, the parent view is opened in a splitscreen with no border instead of fullscreen. Check the view mode when cycling between views and resize parent dimensions accordingly. ok op@ commit - 1c5e5faa6333a09f54d94e18818547ae55f433f7 commit + b65b3ea056c6456b6b335189af016235a22c2515 blob - cd781101f2b3d1c878adeb7a1acfae913bd7de0e blob + b74a9184cdfd8150b92033cc876d77fd85cececf --- tog/tog.c +++ tog/tog.c @@ -755,6 +755,13 @@ view_is_parent_view(struct tog_view *view) return view->parent == NULL; } +static int +view_is_splitscreen(struct tog_view *view) +{ + return view->begin_x > 0; +} + + static const struct got_error * view_resize(struct tog_view *view) { @@ -770,7 +777,7 @@ view_resize(struct tog_view *view) else ncols = view->ncols + (COLS - view->cols); - if (view->child) { + if (view->child && view_is_splitscreen(view->child)) { view->child->begin_x = view_split_begin_x(view->begin_x); if (view->child->begin_x == 0) { ncols = COLS; @@ -825,12 +832,6 @@ view_set_child(struct tog_view *view, struct tog_view return view_resize(view); } -static int -view_is_splitscreen(struct tog_view *view) -{ - return view->begin_x > 0; -} - static void tog_resizeterm(void) { @@ -963,6 +964,8 @@ view_input(struct tog_view **new, int *done, struct to view->focussed = 0; view->parent->focussed = 1; view->parent->focus_child = 0; + if (!view_is_splitscreen(view)) + err = view_fullscreen(view->parent); } break; case 'q': @@ -993,6 +996,8 @@ view_input(struct tog_view **new, int *done, struct to err = view_fullscreen(view); } else { err = view_splitscreen(view); + if (!err) + err = view_resize(view->parent); } if (err) break;