Skip to content
Snippets Groups Projects
Commit dfe505d7 authored by George Nachman's avatar George Nachman
Browse files

For tmux clients, send CSI 1/4 ~ for home/end. Issue 3748

parent 45dcfd74
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -4806,10 +4806,10 @@ static NSTimeInterval kMinimumPartialLineTriggerCheckInterval = 0.5;
data = [_terminal.output keyDelete];
break;
case NSHomeFunctionKey:
data = [_terminal.output keyHome:modflag];
data = [_terminal.output keyHome:modflag screenlikeTerminal:self.isTmuxClient];
break;
case NSEndFunctionKey:
data = [_terminal.output keyEnd:modflag];
data = [_terminal.output keyEnd:modflag screenlikeTerminal:self.isTmuxClient];
break;
case NSPageUpFunctionKey:
data = [_terminal.output keyPageUp:modflag];
Loading
Loading
Loading
Loading
@@ -32,8 +32,8 @@ typedef enum {
- (NSData *)keyArrowDown:(unsigned int)modflag;
- (NSData *)keyArrowLeft:(unsigned int)modflag;
- (NSData *)keyArrowRight:(unsigned int)modflag;
- (NSData *)keyHome:(unsigned int)modflag;
- (NSData *)keyEnd:(unsigned int)modflag;
- (NSData *)keyHome:(unsigned int)modflag screenlikeTerminal:(BOOL)screenlike;
- (NSData *)keyEnd:(unsigned int)modflag screenlikeTerminal:(BOOL)screenlike;
- (NSData *)keyInsert;
- (NSData *)keyDelete;
- (NSData *)keyBackspace;
Loading
Loading
Loading
Loading
@@ -194,8 +194,11 @@ typedef enum {
modflag:modflag];
}
 
- (NSData *)keyHome:(unsigned int)modflag
{
- (NSData *)keyHome:(unsigned int)modflag screenlikeTerminal:(BOOL)screenlike {
if (screenlike) {
const char *bytes = "\033[1~";
return [NSData dataWithBytes:bytes length:strlen(bytes)];
}
return [self specialKey:TERMINFO_KEY_HOME
cursorMod:CURSOR_MOD_HOME
cursorSet:CURSOR_SET_HOME
Loading
Loading
@@ -203,8 +206,12 @@ typedef enum {
modflag:modflag];
}
 
- (NSData *)keyEnd:(unsigned int)modflag
- (NSData *)keyEnd:(unsigned int)modflag screenlikeTerminal:(BOOL)screenlike
{
if (screenlike) {
const char *bytes = "\033[4~";
return [NSData dataWithBytes:bytes length:strlen(bytes)];
}
return [self specialKey:TERMINFO_KEY_END
cursorMod:CURSOR_MOD_END
cursorSet:CURSOR_SET_END
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment