Compare commits

..

3 Commits

8 changed files with 40 additions and 12 deletions

27
.clang-format Normal file
View File

@@ -0,0 +1,27 @@
# clang-format is fairly limited, and these rules are approximate:
# - array initializers can get terribly mangled with clang-format 12.0,
# - sometimes it still aligns with space characters,
# - struct name NL { NL ... NL } NL name; is unachievable.
BasedOnStyle: GNU
ColumnLimit: 80
IndentWidth: 4
TabWidth: 4
UseTab: ForContinuationAndIndentation
BreakBeforeBraces: Allman
SpaceAfterCStyleCast: true
AlignAfterOpenBracket: DontAlign
AlignOperands: DontAlign
AlignConsecutiveMacros: Consecutive
AllowAllArgumentsOnNextLine: false
AllowAllParametersOfDeclarationOnNextLine: false
IndentGotoLabels: false
# IncludeCategories has some potential, but it may also break the build.
# Note that the documentation says the value should be "Never".
SortIncludes: false
# This is a compromise, it generally works out aesthetically better.
BinPackArguments: false
# Unfortunately, this can't be told to align to column 40 or so.
SpacesBeforeTrailingComments: 2

2
.gitignore vendored
View File

@@ -7,3 +7,5 @@
/termo.files /termo.files
/termo.creator* /termo.creator*
/termo.includes /termo.includes
/termo.cflags
/termo.cxxflags

View File

@@ -250,26 +250,24 @@ load_terminfo (termo_ti_t *ti, const char *term)
else else
ti->set_mouse_string = strdup (set_mouse_string); ti->set_mouse_string = strdup (set_mouse_string);
bool have_mouse = false; // We handle 1006 and 1015 unconditionally in driver-csi.c,
if (!mouse_report_string && strstr (term, "xterm")) // and don't want to have the handling diverted by recent terminfo;
mouse_report_string = "\x1b[M"; // let's hardcode the ancient 1000 sequence locally
if (mouse_report_string) if (mouse_report_string)
{ {
have_mouse = true;
trie_node_t *node = malloc (sizeof *node); trie_node_t *node = malloc (sizeof *node);
if (!node) if (!node)
goto fail; goto fail;
node->type = TYPE_MOUSE; node->type = TYPE_MOUSE;
if (!insert_seq (ti, mouse_report_string, node)) if (!insert_seq (ti, "\x1b[M", node))
{ {
free (node); free (node);
goto fail; goto fail;
} }
} }
if (!have_mouse) if (!mouse_report_string && strstr (term, "xterm") != term)
ti->tk->guessed_mouse_proto = TERMO_MOUSE_PROTO_NONE; ti->tk->guessed_mouse_proto = TERMO_MOUSE_PROTO_NONE;
else if (strstr (term, "rxvt") == term) else if (strstr (term, "rxvt") == term)
// urxvt didn't understand the SGR protocol until version 9.25, // urxvt didn't understand the SGR protocol until version 9.25,

View File

@@ -1856,4 +1856,3 @@ termo_keycmp (termo_t *tk,
} }
return key1.modifiers - key2.modifiers; return key1.modifiers - key2.modifiers;
} }

View File

@@ -2,7 +2,8 @@
#include "../termo.h" #include "../termo.h"
#include "taplib.h" #include "taplib.h"
int main (int argc, char *argv[]) int
main (int argc, char *argv[])
{ {
termo_t *tk; termo_t *tk;
termo_key_t key; termo_key_t key;

View File

@@ -1,7 +1,8 @@
#include "../termo.h" #include "../termo.h"
#include "taplib.h" #include "taplib.h"
int main (int argc, char *argv[]) int
main (int argc, char *argv[])
{ {
termo_t *tk; termo_t *tk;
termo_key_t key; termo_key_t key;