Compare commits
	
		
			No commits in common. "8529f24a464013f31253d8c3aa0886cbd47cf86b" and "9a996c8440f1470b7c1a686e4c345bfad4c0e997" have entirely different histories.
		
	
	
		
			8529f24a46
			...
			9a996c8440
		
	
		
							
								
								
									
										2
									
								
								NEWS
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								NEWS
									
									
									
									
									
								
							| @ -4,8 +4,6 @@ Unreleased | |||||||
| 
 | 
 | ||||||
|  * Implemented mouse drags on the elapsed time gauge and the scrollbar |  * Implemented mouse drags on the elapsed time gauge and the scrollbar | ||||||
| 
 | 
 | ||||||
|  * Added Tab and S-Tab bindings to iterate tabs |  | ||||||
| 
 |  | ||||||
|  * Added a "z" binding to center the view on the selected item |  * Added a "z" binding to center the view on the selected item | ||||||
| 
 | 
 | ||||||
|  * Added a "?" binding to describe items in various tabs |  * Added a "?" binding to describe items in various tabs | ||||||
|  | |||||||
							
								
								
									
										49
									
								
								nncmpp.c
									
									
									
									
									
								
							
							
						
						
									
										49
									
								
								nncmpp.c
									
									
									
									
									
								
							| @ -2948,8 +2948,6 @@ g_normal_defaults[] = | |||||||
| 	{ "C-l",        ACTION_REDRAW             }, | 	{ "C-l",        ACTION_REDRAW             }, | ||||||
| 	{ "M-Tab",      ACTION_TAB_LAST           }, | 	{ "M-Tab",      ACTION_TAB_LAST           }, | ||||||
| 	{ "F1",         ACTION_TAB_HELP           }, | 	{ "F1",         ACTION_TAB_HELP           }, | ||||||
| 	{ "S-Tab",      ACTION_TAB_PREVIOUS       }, |  | ||||||
| 	{ "Tab",        ACTION_TAB_NEXT           }, |  | ||||||
| 	{ "C-Left",     ACTION_TAB_PREVIOUS       }, | 	{ "C-Left",     ACTION_TAB_PREVIOUS       }, | ||||||
| 	{ "C-Right",    ACTION_TAB_NEXT           }, | 	{ "C-Right",    ACTION_TAB_NEXT           }, | ||||||
| 	{ "C-PageUp",   ACTION_TAB_PREVIOUS       }, | 	{ "C-PageUp",   ACTION_TAB_PREVIOUS       }, | ||||||
| @ -3110,28 +3108,9 @@ app_init_bindings (const char *keymap, | |||||||
| 	return a; | 	return a; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static char * |  | ||||||
| app_strfkey (const termo_key_t *key) |  | ||||||
| { |  | ||||||
| 	// For display purposes, this is highly desirable
 |  | ||||||
| 	int flags = termo_get_flags (g.tk); |  | ||||||
| 	termo_set_flags (g.tk, flags | TERMO_FLAG_SPACESYMBOL); |  | ||||||
| 	termo_key_t fixed = *key; |  | ||||||
| 	termo_canonicalise (g.tk, &fixed); |  | ||||||
| 	termo_set_flags (g.tk, flags); |  | ||||||
| 
 |  | ||||||
| 	char buf[16] = ""; |  | ||||||
| 	termo_strfkey_utf8 (g.tk, buf, sizeof buf, &fixed, TERMO_FORMAT_ALTISMETA); |  | ||||||
| 	return xstrdup (buf); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static bool | static bool | ||||||
| app_process_termo_event (termo_key_t *event) | app_process_termo_event (termo_key_t *event) | ||||||
| { | { | ||||||
| 	char *formatted = app_strfkey (event); |  | ||||||
| 	print_debug ("%s", formatted); |  | ||||||
| 	free (formatted); |  | ||||||
| 
 |  | ||||||
| 	bool handled = false; | 	bool handled = false; | ||||||
| 	if ((handled = event->type == TERMO_TYPE_FOCUS)) | 	if ((handled = event->type == TERMO_TYPE_FOCUS)) | ||||||
| 	{ | 	{ | ||||||
| @ -4183,6 +4162,21 @@ help_tab_on_action (enum action action) | |||||||
| 	return app_process_action (a), true; | 	return app_process_action (a), true; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | static void | ||||||
|  | help_tab_strfkey (const termo_key_t *key, struct strv *out) | ||||||
|  | { | ||||||
|  | 	// For display purposes, this is highly desirable
 | ||||||
|  | 	int flags = termo_get_flags (g.tk); | ||||||
|  | 	termo_set_flags (g.tk, flags | TERMO_FLAG_SPACESYMBOL); | ||||||
|  | 	termo_key_t fixed = *key; | ||||||
|  | 	termo_canonicalise (g.tk, &fixed); | ||||||
|  | 	termo_set_flags (g.tk, flags); | ||||||
|  | 
 | ||||||
|  | 	char buf[16]; | ||||||
|  | 	termo_strfkey_utf8 (g.tk, buf, sizeof buf, &fixed, TERMO_FORMAT_ALTISMETA); | ||||||
|  | 	strv_append (out, buf); | ||||||
|  | } | ||||||
|  | 
 | ||||||
| static void | static void | ||||||
| help_tab_assign_action (enum action action) | help_tab_assign_action (enum action action) | ||||||
| { | { | ||||||
| @ -4204,7 +4198,7 @@ help_tab_group (struct binding *keys, size_t len, struct strv *out, | |||||||
| 		struct strv ass = strv_make (); | 		struct strv ass = strv_make (); | ||||||
| 		for (size_t k = 0; k < len; k++) | 		for (size_t k = 0; k < len; k++) | ||||||
| 			if (keys[k].action == i) | 			if (keys[k].action == i) | ||||||
| 				strv_append_owned (&ass, app_strfkey (&keys[k].decoded)); | 				help_tab_strfkey (&keys[k].decoded, &ass); | ||||||
| 		if (ass.len) | 		if (ass.len) | ||||||
| 		{ | 		{ | ||||||
| 			char *joined = strv_join (&ass, ", "); | 			char *joined = strv_join (&ass, ", "); | ||||||
| @ -5953,7 +5947,6 @@ x11_convert_keysym (KeySym keysym) | |||||||
| 	{ | 	{ | ||||||
| 	case XK_BackSpace:     return TERMO_SYM_BACKSPACE; | 	case XK_BackSpace:     return TERMO_SYM_BACKSPACE; | ||||||
| 	case XK_Tab:           return TERMO_SYM_TAB; | 	case XK_Tab:           return TERMO_SYM_TAB; | ||||||
| 	case XK_ISO_Left_Tab:  return TERMO_SYM_TAB; |  | ||||||
| 	case XK_Return:        return TERMO_SYM_ENTER; | 	case XK_Return:        return TERMO_SYM_ENTER; | ||||||
| 	case XK_Escape:        return TERMO_SYM_ESCAPE; | 	case XK_Escape:        return TERMO_SYM_ESCAPE; | ||||||
| 
 | 
 | ||||||
| @ -6064,14 +6057,8 @@ on_x11_keypress (XEvent *e) | |||||||
| 			memcpy (k.multibyte, p, MIN (cp_len, sizeof k.multibyte - 1)); | 			memcpy (k.multibyte, p, MIN (cp_len, sizeof k.multibyte - 1)); | ||||||
| 			p += cp_len; | 			p += cp_len; | ||||||
| 
 | 
 | ||||||
| 			// This is all unfortunate, but probably in the right place.
 | 			// This is unfortunate, but probably in the right place.
 | ||||||
| 			if (!cp) | 			if (cp >= 32) | ||||||
| 			{ |  | ||||||
| 				k.code.codepoint = ' '; |  | ||||||
| 				if (ev->state & ShiftMask) |  | ||||||
| 					k.modifiers |= TERMO_KEYMOD_SHIFT; |  | ||||||
| 			} |  | ||||||
| 			else if (cp >= 32) |  | ||||||
| 				k.code.codepoint = cp; | 				k.code.codepoint = cp; | ||||||
| 			else if (ev->state & ShiftMask) | 			else if (ev->state & ShiftMask) | ||||||
| 				k.code.codepoint = cp + 64; | 				k.code.codepoint = cp + 64; | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user