From 47dd652b1b266895fca36f8dec07b16a506fb56a Mon Sep 17 00:00:00 2001 From: Jonas Fonseca Date: Wed, 2 Apr 2008 22:27:06 +0200 Subject: [PATCH] Add action to maximize the current view; bound to M by default --- manual.txt | 1 + tig.c | 10 +++++++++- tigrc.5.txt | 1 + 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/manual.txt b/manual.txt index 4e8b402..0ea404b 100644 --- a/manual.txt +++ b/manual.txt @@ -287,6 +287,7 @@ Enter This key is "context sensitive" depending on what view you are \ pressing Enter will simply scroll the view one line down. Tab Switch to next view. R Reload and refresh the current view. +M Maximize the current view to fill the whole display. Up This key is "context sensitive" and will move the cursor one \ line up. However, if you opened a diff view from the main view \ (split- or full-screen) it will change the cursor to point to \ diff --git a/tig.c b/tig.c index bee3ac2..413bd04 100644 --- a/tig.c +++ b/tig.c @@ -331,6 +331,7 @@ sq_quote(char buf[SIZEOF_STR], size_t bufsize, const char *src) REQ_(PREVIOUS, "Move to previous"), \ REQ_(VIEW_NEXT, "Move focus to next view"), \ REQ_(REFRESH, "Reload and refresh"), \ + REQ_(MAXIMIZE, "Maximize the current view"), \ REQ_(VIEW_CLOSE, "Close the current view"), \ REQ_(QUIT, "Close all views and quit"), \ \ @@ -730,6 +731,7 @@ static struct keybinding default_keybindings[] = { { KEY_UP, REQ_PREVIOUS }, { KEY_DOWN, REQ_NEXT }, { 'R', REQ_REFRESH }, + { 'M', REQ_MAXIMIZE }, /* Cursor navigation */ { 'k', REQ_MOVE_UP }, @@ -1437,7 +1439,8 @@ static struct view views[] = { VIEW_(STAGE, "stage", &stage_ops, TRUE, ""), }; -#define VIEW(req) (&views[(req) - REQ_OFFSET - 1]) +#define VIEW(req) (&views[(req) - REQ_OFFSET - 1]) +#define VIEW_REQ(view) ((view) - views + REQ_OFFSET + 1) #define foreach_view(view, i) \ for (i = 0; i < ARRAY_SIZE(views) && (view = &views[i]); i++) @@ -2587,6 +2590,11 @@ view_driver(struct view *view, enum request request) report("Refreshing is not yet supported for the %s view", view->name); break; + case REQ_MAXIMIZE: + if (displayed_views() == 2) + open_view(view, VIEW_REQ(view), OPEN_DEFAULT); + break; + case REQ_TOGGLE_LINENO: opt_line_number = !opt_line_number; redraw_display(); diff --git a/tigrc.5.txt b/tigrc.5.txt index 745ed74..f226968 100644 --- a/tigrc.5.txt +++ b/tigrc.5.txt @@ -197,6 +197,7 @@ next Move to next previous Move to previous view-next Move focus to next view refresh Reload and refresh view +maximize Maximize the current view view-close Close the current view quit Close all views and quit ------------------------------------------------------------------------------ -- 2.30.2