~petersanchez/st

67d0cb65d0794e2d91e72e5fa1e3612172e5812e — Quentin Rameau 5 years ago 4f4bccd
Remove the ISO 14755 feature

And move it to the patches section.
Keeping it would force to add an exec pledge on OpenBSD, and some
people think it's bloated, so bye!
4 files changed, 0 insertions(+), 32 deletions(-)

M config.def.h
M st.1
M st.c
M st.h
M config.def.h => config.def.h +0 -1
@@ 177,7 177,6 @@ static Shortcut shortcuts[] = {
	{ TERMMOD,              XK_V,           clippaste,      {.i =  0} },
	{ TERMMOD,              XK_Y,           selpaste,       {.i =  0} },
	{ TERMMOD,              XK_Num_Lock,    numlock,        {.i =  0} },
	{ TERMMOD,              XK_I,           iso14755,       {.i =  0} },
};

/*

M st.1 => st.1 +0 -4
@@ 159,10 159,6 @@ Copy the selected text to the clipboard selection.
.TP
.B Ctrl-Shift-v
Paste from the clipboard selection.
.TP
.B Ctrl-Shift-i
Launch dmenu to enter a unicode codepoint and send the corresponding glyph
to st.
.SH CUSTOMIZATION
.B st
can be customized by creating a custom config.h and (re)compiling the source

M st.c => st.c +0 -26
@@ 38,15 38,11 @@

/* macros */
#define IS_SET(flag)		((term.mode & (flag)) != 0)
#define NUMMAXLEN(x)		((int)(sizeof(x) * 2.56 + 0.5) + 1)
#define ISCONTROLC0(c)		(BETWEEN(c, 0, 0x1f) || (c) == '\177')
#define ISCONTROLC1(c)		(BETWEEN(c, 0x80, 0x9f))
#define ISCONTROL(c)		(ISCONTROLC0(c) || ISCONTROLC1(c))
#define ISDELIM(u)		(utf8strchr(worddelimiters, u) != NULL)

/* constants */
#define ISO14755CMD		"dmenu -w \"$WINDOWID\" -p codepoint: </dev/null"

enum term_mode {
	MODE_WRAP        = 1 << 0,
	MODE_INSERT      = 1 << 1,


@@ 1982,28 1978,6 @@ tprinter(char *s, size_t len)
}

void
iso14755(const Arg *arg)
{
	FILE *p;
	char *us, *e, codepoint[9], uc[UTF_SIZ];
	unsigned long utf32;

	if (!(p = popen(ISO14755CMD, "r")))
		return;

	us = fgets(codepoint, sizeof(codepoint), p);
	pclose(p);

	if (!us || *us == '\0' || *us == '-' || strlen(us) > 7)
		return;
	if ((utf32 = strtoul(us, &e, 16)) == ULONG_MAX ||
	    (*e != '\n' && *e != '\0'))
		return;

	ttywrite(uc, utf8encode(utf32, uc), 1);
}

void
toggleprinter(const Arg *arg)
{
	term.mode ^= MODE_PRINT;

M st.h => st.h +0 -1
@@ 80,7 80,6 @@ void die(const char *, ...);
void redraw(void);
void draw(void);

void iso14755(const Arg *);
void printscreen(const Arg *);
void printsel(const Arg *);
void sendbreak(const Arg *);