Mercurial > pidgin.yaz
annotate console/libgnt/gntkeys.c @ 14976:2ccce4e114ca
[gaim-migrate @ 17754]
*cough*
committer: Tailor Script <tailor@pidgin.im>
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Wed, 15 Nov 2006 20:11:01 +0000 |
parents | 99112cd4a2f4 |
children | 1c0772f7260b |
rev | line source |
---|---|
14091
ae4cbed1b309
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
1 #include "gntkeys.h" |
ae4cbed1b309
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
2 |
14877
c01f62c83647
[gaim-migrate @ 17646]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14876
diff
changeset
|
3 #include <stdlib.h> |
14091
ae4cbed1b309
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
4 #include <string.h> |
ae4cbed1b309
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
5 |
14972
99112cd4a2f4
[gaim-migrate @ 17750]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14877
diff
changeset
|
6 static const char *term; |
14876
70623f0d5cdc
[gaim-migrate @ 17645]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14091
diff
changeset
|
7 |
14091
ae4cbed1b309
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
8 void gnt_keys_refine(char *text) |
ae4cbed1b309
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
9 { |
14972
99112cd4a2f4
[gaim-migrate @ 17750]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14877
diff
changeset
|
10 if (term == NULL) { |
99112cd4a2f4
[gaim-migrate @ 17750]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14877
diff
changeset
|
11 term = getenv("TERM"); |
99112cd4a2f4
[gaim-migrate @ 17750]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14877
diff
changeset
|
12 if (!term) |
99112cd4a2f4
[gaim-migrate @ 17750]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14877
diff
changeset
|
13 term = ""; /* Just in case */ |
99112cd4a2f4
[gaim-migrate @ 17750]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14877
diff
changeset
|
14 } |
99112cd4a2f4
[gaim-migrate @ 17750]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14877
diff
changeset
|
15 |
14876
70623f0d5cdc
[gaim-migrate @ 17645]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14091
diff
changeset
|
16 if (*text == 27 && *(text + 1) == '[' && *(text + 3) == '\0' && |
14976
2ccce4e114ca
[gaim-migrate @ 17754]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14972
diff
changeset
|
17 (*(text + 2) >= 'A' && *(text + 2) <= 'D')) { |
14972
99112cd4a2f4
[gaim-migrate @ 17750]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14877
diff
changeset
|
18 /* Apparently this is necessary for urxvt and screen and xterm */ |
99112cd4a2f4
[gaim-migrate @ 17750]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14877
diff
changeset
|
19 if (strcmp(term, "screen") == 0 || strcmp(term, "rxvt-unicode") == 0 || |
99112cd4a2f4
[gaim-migrate @ 17750]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14877
diff
changeset
|
20 strcmp(term, "xterm") == 0) |
14876
70623f0d5cdc
[gaim-migrate @ 17645]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14091
diff
changeset
|
21 *(text + 1) = 'O'; |
14972
99112cd4a2f4
[gaim-migrate @ 17750]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14877
diff
changeset
|
22 } else if (*(unsigned char*)text == 195) { |
99112cd4a2f4
[gaim-migrate @ 17750]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14877
diff
changeset
|
23 if (*(text + 2) == 0 && strcmp(term, "xterm") == 0) { |
99112cd4a2f4
[gaim-migrate @ 17750]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14877
diff
changeset
|
24 *(text) = 27; |
99112cd4a2f4
[gaim-migrate @ 17750]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14877
diff
changeset
|
25 *(text + 1) -= 64; /* Say wha? */ |
99112cd4a2f4
[gaim-migrate @ 17750]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14877
diff
changeset
|
26 } |
14091
ae4cbed1b309
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
27 } |
ae4cbed1b309
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
28 } |
ae4cbed1b309
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
29 |