Add support for 91-97 and 101-107 sequences and update documentation

This commit is contained in:
Jacob 2023-08-22 19:29:20 +02:00
parent 018a99db01
commit 48dcf2f384
3 changed files with 74 additions and 355 deletions

View file

@ -708,6 +708,8 @@ and that this isn't the only way to format them.
| \033[1;3nm | Set foreground color to bright color index 'n' (0-7) |
| \033[0;4nm | Set background color to normal color index 'n' (0-7) |
| \033[1;4nm | Set background color to bright color index 'n' (0-7) |
| \033[9nm | Set foreground color to bright color index 'n' (0-7) |
| \033[10nm | Set background color to bright color index 'n' (0-7) |
| \033[38;2;r;g;bm | Set foreground color to a specified RGB color, r is red, g is green, b is blue |
| \033[48;2;r;g;bm | Set background color to a specified RGB color, r is red, g is green, b is blue |
| \033[38;5;nm | Set foreground color to color index 'n' (0-256) |
@ -898,52 +900,27 @@ These are the default keybinds.
| Mode | Modifier | Key | Function | Argument |
| :----------------- | :----------------- | :----------------- | :----------------- | :----------------- |
| -1 | 0 | Return | selectitem | +1 |
| -1 | Shift | Return | selectitem | 0 |
| -1 | Ctrl | Return | markitem | 0 |
| -1 | 0 | Tab | complete | 0 |
| -1 | None | Enter | selectitem | +1 |
| -1 | Shift | Enter | selectitem | 0 |
| -1 | Ctrl | Enter | markitem | 0 |
| -1 | None | Tab | complete | 0 |
| -1 | Ctrl | v | paste | 2 |
| -1 | Ctrl+Shift | v | paste | 1 |
| -1 | 0 | BackSpace | backspace | 0 |
| -1 | Ctrl | BackSpace | deleteword | 0 |
| -1 | Ctrl | Left | moveword | -1 |
| -1 | Ctrl | Right | moveword | +1 |
| -1 | 0 | Left | movecursor | -1 |
| -1 | 0 | Right | movecursor | +1 |
| -1 | None | Backspace | backspace | 0 |
| -1 | Ctrl | Backspace | deleteword | 0 |
| -1 | Ctrl+Shift | p | setprofile | 0 |
| -1 | Ctrl | k | setlines | +1 |
| -1 | Ctrl | j | setlines | -1 |
| -1 | Ctrl | h | setcolumns | +1 |
| -1 | Ctrl | l | setcolumns | -1 |
| -1 | 0 | Print | screenshot | 0 |
| 0 | 0 | i | switchmode | 0 |
| 0 | Ctrl | equal | setimgsize | +10 |
| 0 | Ctrl | minus | setimgsize | -10 |
| 0 | Shift | 0 | defaultimg | 0 |
| 0 | 0 | o | setimgpos | +1 |
| 0 | Ctrl | 1 | setimggaps | -10 |
| 0 | Ctrl | 2 | setimggaps | +10 |
| 0 | 0 | t | toggleimg | 0 |
| 0 | 0 | p | paste | 2 |
| 0 | 0 | q | flipimg | 1 |
| 0 | 0 | w | flipimg | 0 |
| 0 | 0 | k | moveup | 0 |
| 0 | 0 | j | movedown | 0 |
| 0 | 0 | h | moveleft | 0 |
| 0 | 0 | l | moveright | 0 |
| 0 | Ctrl | u | moveup | 5 |
| 0 | Ctrl | d | movedown | 5 |
| 0 | 0 | u | togglehighlight | 0 |
| 0 | Shift | h | viewhist | 0 |
| 0 | 0 | d | clear | 0 |
| 0 | Shift | d | clearins | 0 |
| 0 | 0 | Escape | quit | 0 |
| 0 | 0 | g | movestart | 0 |
| 0 | Shift | g | moveend | 0 |
| 0 | Ctrl | p | navhistory | -1 |
| 0 | Ctrl | n | navhistory | +1 |
| 1 | 0 | Escape | switchmode | 0 |
| 1 | Ctrl | r | toggleregex | 0 |
| -1 | Ctrl | = | setimgsize | +10 |
| -1 | Ctrl | - | setimgsize | -10 |
| -1 | None | Up | moveup | 0 |
| -1 | None | Down | movedown | 0 |
| -1 | None | Left | moveleft | 0 |
| -1 | None | Right | moveright | 0 |
| -1 | Ctrl | u | moveup | 5 |
| -1 | Ctrl | d | movedown | 5 |
| -1 | Ctrl | h | viewhist | 0 |
| -1 | None | Esc | quit | 0 |
| -1 | Ctrl | p | navhistory | -1 |
| -1 | Ctrl | n | navhistory | +1 |
| -1 | None | PrintScr | screenshot | 0 |
## Mouse

View file

@ -214,6 +214,7 @@ int drawitemtext(struct item *item, int x, int y, int w) {
// parse hex colors, m is always the last character
while (*c_character != 'm') {
unsigned nextchar = strtoul(c_character + 1, &c_character, 10);
fprintf(stderr, "Test: %d\n", nextchar);
if (ignore)
continue;
if (bgfg) {
@ -264,6 +265,12 @@ int drawitemtext(struct item *item, int x, int y, int w) {
} else if (nextchar >= 40 && nextchar <= 47) {
bg = nextchar % 10;
bgcol = txtcols[bg];
} else if (nextchar >= 90 && nextchar <= 97) {
fg = (nextchar - 60) % 10 | (fg & 8);
fgcol = txtcols[fg];
} else if (nextchar >= 100 && nextchar <= 107) {
bg = (nextchar - 60) % 10;
bgcol = txtcols[bg];
} else if (nextchar == 48) {
int r, g, b, c;

357
spmenu.1
View file

@ -785,6 +785,16 @@ T}@T{
Set background color to bright color index `n' (0-7)
T}
T{
\[rs]033[9nm
T}@T{
Set foreground color to bright color index `n' (0-7)
T}
T{
\[rs]033[10nm
T}@T{
Set background color to bright color index `n' (0-7)
T}
T{
\[rs]033[38;2;r;g;bm
T}@T{
Set foreground color to a specified RGB color, r is red, g is green, b
@ -1272,9 +1282,9 @@ _
T{
-1
T}@T{
0
None
T}@T{
Return
Enter
T}@T{
selectitem
T}@T{
@ -1285,7 +1295,7 @@ T{
T}@T{
Shift
T}@T{
Return
Enter
T}@T{
selectitem
T}@T{
@ -1296,7 +1306,7 @@ T{
T}@T{
Ctrl
T}@T{
Return
Enter
T}@T{
markitem
T}@T{
@ -1305,7 +1315,7 @@ T}
T{
-1
T}@T{
0
None
T}@T{
Tab
T}@T{
@ -1327,20 +1337,9 @@ T}
T{
-1
T}@T{
Ctrl+Shift
None
T}@T{
v
T}@T{
paste
T}@T{
1
T}
T{
-1
T}@T{
0
T}@T{
BackSpace
Backspace
T}@T{
backspace
T}@T{
@ -1351,7 +1350,7 @@ T{
T}@T{
Ctrl
T}@T{
BackSpace
Backspace
T}@T{
deleteword
T}@T{
@ -1360,50 +1359,6 @@ T}
T{
-1
T}@T{
Ctrl
T}@T{
Left
T}@T{
moveword
T}@T{
-1
T}
T{
-1
T}@T{
Ctrl
T}@T{
Right
T}@T{
moveword
T}@T{
+1
T}
T{
-1
T}@T{
0
T}@T{
Left
T}@T{
movecursor
T}@T{
-1
T}
T{
-1
T}@T{
0
T}@T{
Right
T}@T{
movecursor
T}@T{
+1
T}
T{
-1
T}@T{
Ctrl+Shift
T}@T{
p
@ -1417,223 +1372,69 @@ T{
T}@T{
Ctrl
T}@T{
k
T}@T{
setlines
T}@T{
+1
T}
T{
-1
T}@T{
Ctrl
T}@T{
j
T}@T{
setlines
T}@T{
-1
T}
T{
-1
T}@T{
Ctrl
T}@T{
h
T}@T{
setcolumns
T}@T{
+1
T}
T{
-1
T}@T{
Ctrl
T}@T{
l
T}@T{
setcolumns
T}@T{
-1
T}
T{
-1
T}@T{
0
T}@T{
Print
T}@T{
screenshot
T}@T{
0
T}
T{
0
T}@T{
0
T}@T{
i
T}@T{
switchmode
T}@T{
0
T}
T{
0
T}@T{
Ctrl
T}@T{
equal
=
T}@T{
setimgsize
T}@T{
+10
T}
T{
0
-1
T}@T{
Ctrl
T}@T{
minus
-
T}@T{
setimgsize
T}@T{
-10
T}
T{
0
-1
T}@T{
Shift
None
T}@T{
0
T}@T{
defaultimg
T}@T{
0
T}
T{
0
T}@T{
0
T}@T{
o
T}@T{
setimgpos
T}@T{
+1
T}
T{
0
T}@T{
Ctrl
T}@T{
1
T}@T{
setimggaps
T}@T{
-10
T}
T{
0
T}@T{
Ctrl
T}@T{
2
T}@T{
setimggaps
T}@T{
+10
T}
T{
0
T}@T{
0
T}@T{
t
T}@T{
toggleimg
T}@T{
0
T}
T{
0
T}@T{
0
T}@T{
p
T}@T{
paste
T}@T{
2
T}
T{
0
T}@T{
0
T}@T{
q
T}@T{
flipimg
T}@T{
1
T}
T{
0
T}@T{
0
T}@T{
w
T}@T{
flipimg
T}@T{
0
T}
T{
0
T}@T{
0
T}@T{
k
Up
T}@T{
moveup
T}@T{
0
T}
T{
0
-1
T}@T{
0
None
T}@T{
j
Down
T}@T{
movedown
T}@T{
0
T}
T{
0
-1
T}@T{
0
None
T}@T{
h
Left
T}@T{
moveleft
T}@T{
0
T}
T{
0
-1
T}@T{
0
None
T}@T{
l
Right
T}@T{
moveright
T}@T{
0
T}
T{
0
-1
T}@T{
Ctrl
T}@T{
@ -1644,7 +1445,7 @@ T}@T{
5
T}
T{
0
-1
T}@T{
Ctrl
T}@T{
@ -1655,20 +1456,9 @@ T}@T{
5
T}
T{
0
-1
T}@T{
0
T}@T{
u
T}@T{
togglehighlight
T}@T{
0
T}
T{
0
T}@T{
Shift
Ctrl
T}@T{
h
T}@T{
@ -1677,62 +1467,18 @@ T}@T{
0
T}
T{
0
-1
T}@T{
0
None
T}@T{
d
T}@T{
clear
T}@T{
0
T}
T{
0
T}@T{
Shift
T}@T{
d
T}@T{
clearins
T}@T{
0
T}
T{
0
T}@T{
0
T}@T{
Escape
Esc
T}@T{
quit
T}@T{
0
T}
T{
0
T}@T{
0
T}@T{
g
T}@T{
movestart
T}@T{
0
T}
T{
0
T}@T{
Shift
T}@T{
g
T}@T{
moveend
T}@T{
0
T}
T{
0
-1
T}@T{
Ctrl
T}@T{
@ -1743,7 +1489,7 @@ T}@T{
-1
T}
T{
0
-1
T}@T{
Ctrl
T}@T{
@ -1754,24 +1500,13 @@ T}@T{
+1
T}
T{
1
-1
T}@T{
0
None
T}@T{
Escape
PrintScr
T}@T{
switchmode
T}@T{
0
T}
T{
1
T}@T{
Ctrl
T}@T{
r
T}@T{
toggleregex
screenshot
T}@T{
0
T}