Introduction
Introduction Statistics Contact Development Disclaimer Help
Added a key shortcut to jump to command window. - sam - An updated version of t…
git clone git://vernunftzentrum.de/sam.git
Log
Files
Refs
LICENSE
---
commit cdbdf04093a76cd3634e59e127bfd8f7a5083b20
parent 9b3963901ed82c25a563918540e35ac55e8dc1be
Author: Rob King <[email protected]>
Date: Sun, 1 May 2016 01:27:43 -0500
Added a key shortcut to jump to command window.
Control-K now jumps to the command window, and back to the
previously-selected window.
Diffstat:
doc/sam.1 | 1 +
samterm/main.c | 20 ++++++++++++++++----
2 files changed, 17 insertions(+), 4 deletions(-)
---
diff --git a/doc/sam.1 b/doc/sam.1
@@ -727,6 +727,7 @@ Escape selects
.Pq "sets dot to"
everything typed since the last mouse hit.
Control-S, Control-D, Control-E, and Control-X collapse the selection and the …
+Control-K alternates focus between the command window and the last file window…
.Pp
Button 1 changes the selection.
Pointing to a non-current window with button 1 makes it current; within the cu…
diff --git a/samterm/main.c b/samterm/main.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 1998 Lucent Technologies - All rights reserved. */
+//* Copyright (c) 1998 Lucent Technologies - All rights reserved. */
#include <u.h>
#include <libc.h>
#include <libg.h>
@@ -13,6 +13,7 @@ Cursor *cursor;
extern Bitmap screen;
Mouse mouse;
Flayer *which = 0;
+Flayer *flast = 0;
Flayer *work = 0;
long snarflen;
long typestart = -1;
@@ -196,6 +197,8 @@ closeup(Flayer *l)
which = 0;
current(flwhich(Pt(0, 0)));
}
+ if(l == flast)
+ flast = 0;
if(l == work)
work = 0;
if(--t->nwin == 0){
@@ -467,6 +470,7 @@ flushtyping(int clearesc)
#define SCROLLKEY 0x80
#define UPKEY 0x81
#define ESC 0x1B
+#define COMMANDKEY 0x0B
void
type(Flayer *l, int res) /* what a bloody mess this is */
@@ -481,10 +485,10 @@ type(Flayer *l, int res) /* what a bloody mess thi…
scrollkey = 0;
upkey = 0;
if(res == RKeyboard) {
- int pc = qpeekc();
+ int pc = qpeekc();
scrollkey = pc==SCROLLKEY; /* ICK */
upkey = pc == UPKEY;
- movekey = (pc == CHARLEFT || pc == CHARRIGHT || pc == LINEUP || pc == …
+ movekey = (pc == CHARLEFT || pc == CHARRIGHT || pc == LINEUP |…
}
if(lock || t->lock){
@@ -501,7 +505,7 @@ type(Flayer *l, int res) /* what a bloody mess this …
moving = 0;
while((c = kbdchar())>0){
if(res == RKeyboard){
- if(c == UPKEY || c==SCROLLKEY || c==ESC)
+ if(c == UPKEY || c==SCROLLKEY || c==ESC || c==COMMANDK…
break;
/* ctrl-s, ctrl-e, ctrl-d, ctrl-x */
@@ -657,6 +661,14 @@ type(Flayer *l, int res) /* what a bloody mess this…
}
}
}
+ }else if(c==COMMANDKEY){
+ if(which == &cmd.l[0]){
+ if (flast)
+ current(flast);
+ }else{
+ flast = which;
+ current(&cmd.l[0]);
+ }
}else{
if(c==ESC && typeesc>=0){
l->p0 = typeesc;
You are viewing proxied material from vernunftzentrum.de. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.