Add and bind an action to center the cursor
"z" stands for VIM's "zz".
This commit is contained in:
		
							parent
							
								
									338d00d605
								
							
						
					
					
						commit
						2bfb490798
					
				
							
								
								
									
										5
									
								
								sdn.cpp
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								sdn.cpp
									
									
									
									
									
								
							| @ -410,7 +410,7 @@ enum { ALT = 1 << 24, SYM = 1 << 25 };  // Outside the range of Unicode | |||||||
| #define ACTIONS(XX) XX(NONE) XX(HELP) XX(QUIT) XX(QUIT_NO_CHDIR) \ | #define ACTIONS(XX) XX(NONE) XX(HELP) XX(QUIT) XX(QUIT_NO_CHDIR) \ | ||||||
| 	XX(CHOOSE) XX(CHOOSE_FULL) XX(VIEW) XX(EDIT) XX(SORT_LEFT) XX(SORT_RIGHT) \ | 	XX(CHOOSE) XX(CHOOSE_FULL) XX(VIEW) XX(EDIT) XX(SORT_LEFT) XX(SORT_RIGHT) \ | ||||||
| 	XX(UP) XX(DOWN) XX(TOP) XX(BOTTOM) XX(HIGH) XX(MIDDLE) XX(LOW) \ | 	XX(UP) XX(DOWN) XX(TOP) XX(BOTTOM) XX(HIGH) XX(MIDDLE) XX(LOW) \ | ||||||
| 	XX(PAGE_PREVIOUS) XX(PAGE_NEXT) XX(SCROLL_UP) XX(SCROLL_DOWN) \ | 	XX(PAGE_PREVIOUS) XX(PAGE_NEXT) XX(SCROLL_UP) XX(SCROLL_DOWN) XX(CENTER) \ | ||||||
| 	XX(CHDIR) XX(PARENT) XX(GO_START) XX(GO_HOME) \ | 	XX(CHDIR) XX(PARENT) XX(GO_START) XX(GO_HOME) \ | ||||||
| 	XX(SEARCH) XX(RENAME) XX(RENAME_PREFILL) XX(MKDIR) \ | 	XX(SEARCH) XX(RENAME) XX(RENAME_PREFILL) XX(MKDIR) \ | ||||||
| 	XX(TOGGLE_FULL) XX(REVERSE_SORT) XX(SHOW_HIDDEN) XX(REDRAW) XX(RELOAD) \ | 	XX(TOGGLE_FULL) XX(REVERSE_SORT) XX(SHOW_HIDDEN) XX(REDRAW) XX(RELOAD) \ | ||||||
| @ -442,6 +442,7 @@ static map<wint_t, action> g_normal_actions { | |||||||
| 	{'H', ACTION_HIGH}, {'M', ACTION_MIDDLE}, {'L', ACTION_LOW}, | 	{'H', ACTION_HIGH}, {'M', ACTION_MIDDLE}, {'L', ACTION_LOW}, | ||||||
| 	{KEY (PPAGE), ACTION_PAGE_PREVIOUS}, {KEY (NPAGE), ACTION_PAGE_NEXT}, | 	{KEY (PPAGE), ACTION_PAGE_PREVIOUS}, {KEY (NPAGE), ACTION_PAGE_NEXT}, | ||||||
| 	{CTRL ('Y'), ACTION_SCROLL_UP}, {CTRL ('E'), ACTION_SCROLL_DOWN}, | 	{CTRL ('Y'), ACTION_SCROLL_UP}, {CTRL ('E'), ACTION_SCROLL_DOWN}, | ||||||
|  | 	{'z', ACTION_CENTER}, | ||||||
| 	{'c', ACTION_CHDIR}, {ALT | KEY (UP), ACTION_PARENT}, | 	{'c', ACTION_CHDIR}, {ALT | KEY (UP), ACTION_PARENT}, | ||||||
| 	{'&', ACTION_GO_START}, {'~', ACTION_GO_HOME}, | 	{'&', ACTION_GO_START}, {'~', ACTION_GO_HOME}, | ||||||
| 	{'/', ACTION_SEARCH}, {'s', ACTION_SEARCH}, {CTRL ('S'), ACTION_SEARCH}, | 	{'/', ACTION_SEARCH}, {'s', ACTION_SEARCH}, {CTRL ('S'), ACTION_SEARCH}, | ||||||
| @ -1420,6 +1421,8 @@ fun handle (wint_t c) -> bool { | |||||||
| 		break; | 		break; | ||||||
| 	case ACTION_SCROLL_UP: | 	case ACTION_SCROLL_UP: | ||||||
| 		g.offset--; | 		g.offset--; | ||||||
|  | 	case ACTION_CENTER: | ||||||
|  | 		g.offset = g.cursor - (visible_lines () - 1) / 2; | ||||||
| 		break; | 		break; | ||||||
| 
 | 
 | ||||||
| 	case ACTION_CHDIR: | 	case ACTION_CHDIR: | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user