update st and dmenu overlay
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
This commit is contained in:
@@ -1,9 +1,10 @@
|
|||||||
final: prev: {
|
final: prev: {
|
||||||
|
|
||||||
dmenu = prev.dmenu.overrideAttrs (oldAttrs: rec {
|
dmenu = prev.dmenu.overrideAttrs (oldAttrs: rec {
|
||||||
|
version = "5.2";
|
||||||
src = builtins.fetchTarball {
|
src = builtins.fetchTarball {
|
||||||
url = "https://dl.suckless.org/tools/dmenu-5.1.tar.gz";
|
url = "https://dl.suckless.org/tools/dmenu-${version}.tar.gz";
|
||||||
sha256 = "1zwl0qlc4mmr973km03lmnfxjibdh2inwzb0vr6pvrfhrm0glvrk";
|
sha256 = "1rxxc3qdb5qvwg284f0hximg9953fnvlymxwmi1zlqkqbs8qbizk";
|
||||||
};
|
};
|
||||||
patches = [ ./patches/dmenu.patch ];
|
patches = [ ./patches/dmenu.patch ];
|
||||||
});
|
});
|
||||||
@@ -17,9 +18,10 @@ final: prev: {
|
|||||||
});
|
});
|
||||||
|
|
||||||
st = prev.st.overrideAttrs (oldAttrs: rec {
|
st = prev.st.overrideAttrs (oldAttrs: rec {
|
||||||
|
version = "0.9";
|
||||||
src = builtins.fetchTarball {
|
src = builtins.fetchTarball {
|
||||||
url = "https://dl.suckless.org/st/st-0.8.5.tar.gz";
|
url = "https://dl.suckless.org/st/st-${version}.tar.gz";
|
||||||
sha256 = "0iy7sj40m5x7wr4qkicijckk3cb0h9815mzacfjb3xrlrvpx6hm5";
|
sha256 = "1bdhh5lnhiz7q4ihig1f5q0ay5glsqxhpxpnsfqxwffqqwmy1vlh";
|
||||||
};
|
};
|
||||||
patches = [ ./patches/st.patch ];
|
patches = [ ./patches/st.patch ];
|
||||||
});
|
});
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
diff --color -u a/config.def.h b/config.def.h
|
diff --color -ru dmenu-5.2/config.def.h dmenu-5.2-a/config.def.h
|
||||||
--- a/config.def.h 2020-09-02 22:07:07.000000000 +0530
|
--- dmenu-5.2/config.def.h 2022-10-04 23:06:58.000000000 +0530
|
||||||
+++ b/config.def.h 2021-05-21 00:20:28.562140000 +0530
|
+++ dmenu-5.2-a/config.def.h 2022-11-25 02:20:05.393693557 +0530
|
||||||
@@ -2,16 +2,21 @@
|
@@ -2,16 +2,21 @@
|
||||||
/* Default settings; can be overriden by command line. */
|
/* Default settings; can be overriden by command line. */
|
||||||
|
|
||||||
@@ -32,10 +32,10 @@ diff --color -u a/config.def.h b/config.def.h
|
|||||||
static const char worddelimiters[] = " ";
|
static const char worddelimiters[] = " ";
|
||||||
+/* Size of the window border */
|
+/* Size of the window border */
|
||||||
+static const unsigned int border_width = 4;
|
+static const unsigned int border_width = 4;
|
||||||
Only in b: config.def.h.orig
|
Only in dmenu-5.2-a: config.h
|
||||||
diff --color -u a/dmenu.1 b/dmenu.1
|
diff --color -ru dmenu-5.2/dmenu.1 dmenu-5.2-a/dmenu.1
|
||||||
--- a/dmenu.1 2020-09-02 22:07:07.000000000 +0530
|
--- dmenu-5.2/dmenu.1 2022-10-04 23:06:58.000000000 +0530
|
||||||
+++ b/dmenu.1 2020-12-29 02:11:41.804718200 +0530
|
+++ dmenu-5.2-a/dmenu.1 2022-11-25 02:20:05.393693557 +0530
|
||||||
@@ -40,6 +40,9 @@
|
@@ -40,6 +40,9 @@
|
||||||
.B \-b
|
.B \-b
|
||||||
dmenu appears at the bottom of the screen.
|
dmenu appears at the bottom of the screen.
|
||||||
@@ -46,9 +46,9 @@ diff --color -u a/dmenu.1 b/dmenu.1
|
|||||||
.B \-f
|
.B \-f
|
||||||
dmenu grabs the keyboard before reading stdin if not reading from a tty. This
|
dmenu grabs the keyboard before reading stdin if not reading from a tty. This
|
||||||
is faster, but will lock up X until stdin reaches end\-of\-file.
|
is faster, but will lock up X until stdin reaches end\-of\-file.
|
||||||
diff --color -u a/dmenu.c b/dmenu.c
|
diff --color -ru dmenu-5.2/dmenu.c dmenu-5.2-a/dmenu.c
|
||||||
--- a/dmenu.c 2020-09-02 22:07:07.000000000 +0530
|
--- dmenu-5.2/dmenu.c 2022-10-04 23:06:58.000000000 +0530
|
||||||
+++ b/dmenu.c 2020-12-29 02:24:03.168766600 +0530
|
+++ dmenu-5.2-a/dmenu.c 2022-11-25 02:22:42.610351072 +0530
|
||||||
@@ -26,8 +26,7 @@
|
@@ -26,8 +26,7 @@
|
||||||
#define TEXTW(X) (drw_fontset_getwidth(drw, (X)) + lrpad)
|
#define TEXTW(X) (drw_fontset_getwidth(drw, (X)) + lrpad)
|
||||||
|
|
||||||
@@ -59,7 +59,7 @@ diff --color -u a/dmenu.c b/dmenu.c
|
|||||||
struct item {
|
struct item {
|
||||||
char *text;
|
char *text;
|
||||||
struct item *left, *right;
|
struct item *left, *right;
|
||||||
@@ -89,6 +88,15 @@
|
@@ -96,6 +95,15 @@
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -75,7 +75,7 @@ diff --color -u a/dmenu.c b/dmenu.c
|
|||||||
static void
|
static void
|
||||||
cleanup(void)
|
cleanup(void)
|
||||||
{
|
{
|
||||||
@@ -113,6 +121,43 @@
|
@@ -130,6 +138,43 @@
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -119,7 +119,7 @@ diff --color -u a/dmenu.c b/dmenu.c
|
|||||||
static int
|
static int
|
||||||
drawitem(struct item *item, int x, int y, int w)
|
drawitem(struct item *item, int x, int y, int w)
|
||||||
{
|
{
|
||||||
@@ -123,7 +168,9 @@
|
@@ -140,7 +185,9 @@
|
||||||
else
|
else
|
||||||
drw_setscheme(drw, scheme[SchemeNorm]);
|
drw_setscheme(drw, scheme[SchemeNorm]);
|
||||||
|
|
||||||
@@ -130,7 +130,7 @@ diff --color -u a/dmenu.c b/dmenu.c
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -501,6 +548,119 @@
|
@@ -529,6 +576,119 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -250,7 +250,7 @@ diff --color -u a/dmenu.c b/dmenu.c
|
|||||||
paste(void)
|
paste(void)
|
||||||
{
|
{
|
||||||
char *p, *q;
|
char *p, *q;
|
||||||
@@ -561,6 +721,9 @@
|
@@ -582,6 +742,9 @@
|
||||||
break;
|
break;
|
||||||
cleanup();
|
cleanup();
|
||||||
exit(1);
|
exit(1);
|
||||||
@@ -260,7 +260,7 @@ diff --color -u a/dmenu.c b/dmenu.c
|
|||||||
case Expose:
|
case Expose:
|
||||||
if (ev.xexpose.count == 0)
|
if (ev.xexpose.count == 0)
|
||||||
drw_map(drw, win, 0, 0, mw, mh);
|
drw_map(drw, win, 0, 0, mw, mh);
|
||||||
@@ -611,6 +774,7 @@
|
@@ -632,6 +795,7 @@
|
||||||
bh = drw->fonts->h + 2;
|
bh = drw->fonts->h + 2;
|
||||||
lines = MAX(lines, 0);
|
lines = MAX(lines, 0);
|
||||||
mh = (lines + 1) * bh;
|
mh = (lines + 1) * bh;
|
||||||
@@ -268,8 +268,8 @@ diff --color -u a/dmenu.c b/dmenu.c
|
|||||||
#ifdef XINERAMA
|
#ifdef XINERAMA
|
||||||
i = 0;
|
i = 0;
|
||||||
if (parentwin == root && (info = XineramaQueryScreens(dpy, &n))) {
|
if (parentwin == root && (info = XineramaQueryScreens(dpy, &n))) {
|
||||||
@@ -637,9 +801,16 @@
|
@@ -658,9 +822,16 @@
|
||||||
if (INTERSECT(x, y, 1, 1, info[i]))
|
if (INTERSECT(x, y, 1, 1, info[i]) != 0)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
- x = info[i].x_org;
|
- x = info[i].x_org;
|
||||||
@@ -288,7 +288,7 @@ diff --color -u a/dmenu.c b/dmenu.c
|
|||||||
XFree(info);
|
XFree(info);
|
||||||
} else
|
} else
|
||||||
#endif
|
#endif
|
||||||
@@ -647,21 +818,30 @@
|
@@ -668,21 +839,29 @@
|
||||||
if (!XGetWindowAttributes(dpy, parentwin, &wa))
|
if (!XGetWindowAttributes(dpy, parentwin, &wa))
|
||||||
die("could not get embedding window attributes: 0x%lx",
|
die("could not get embedding window attributes: 0x%lx",
|
||||||
parentwin);
|
parentwin);
|
||||||
@@ -307,16 +307,16 @@ diff --color -u a/dmenu.c b/dmenu.c
|
|||||||
+ }
|
+ }
|
||||||
}
|
}
|
||||||
- promptw = (prompt && *prompt) ? TEXTW(prompt) - lrpad / 4 : 0;
|
- promptw = (prompt && *prompt) ? TEXTW(prompt) - lrpad / 4 : 0;
|
||||||
inputw = MIN(inputw, mw/3);
|
inputw = mw / 3; /* input width: ~33% of monitor width */
|
||||||
match();
|
match();
|
||||||
|
|
||||||
/* create menu window */
|
/* create menu window */
|
||||||
swa.override_redirect = True;
|
swa.override_redirect = True;
|
||||||
swa.background_pixel = scheme[SchemeNorm][ColBg].pixel;
|
swa.background_pixel = scheme[SchemeNorm][ColBg].pixel;
|
||||||
|
- swa.event_mask = ExposureMask | KeyPressMask | VisibilityChangeMask;
|
||||||
|
- win = XCreateWindow(dpy, parentwin, x, y, mw, mh, 0,
|
||||||
+ swa.event_mask = ExposureMask | KeyPressMask | VisibilityChangeMask |
|
+ swa.event_mask = ExposureMask | KeyPressMask | VisibilityChangeMask |
|
||||||
+ ButtonPressMask;
|
+ ButtonPressMask;
|
||||||
swa.event_mask = ExposureMask | KeyPressMask | VisibilityChangeMask;
|
|
||||||
- win = XCreateWindow(dpy, parentwin, x, y, mw, mh, 0,
|
|
||||||
+ win = XCreateWindow(dpy, parentwin, x, y, mw, mh, border_width,
|
+ win = XCreateWindow(dpy, parentwin, x, y, mw, mh, border_width,
|
||||||
CopyFromParent, CopyFromParent, CopyFromParent,
|
CopyFromParent, CopyFromParent, CopyFromParent,
|
||||||
CWOverrideRedirect | CWBackPixel | CWEventMask, &swa);
|
CWOverrideRedirect | CWBackPixel | CWEventMask, &swa);
|
||||||
@@ -324,7 +324,7 @@ diff --color -u a/dmenu.c b/dmenu.c
|
|||||||
XSetClassHint(dpy, win, &ch);
|
XSetClassHint(dpy, win, &ch);
|
||||||
|
|
||||||
|
|
||||||
@@ -709,6 +889,8 @@
|
@@ -729,6 +908,8 @@
|
||||||
topbar = 0;
|
topbar = 0;
|
||||||
else if (!strcmp(argv[i], "-f")) /* grabs keyboard before reading stdin */
|
else if (!strcmp(argv[i], "-f")) /* grabs keyboard before reading stdin */
|
||||||
fast = 1;
|
fast = 1;
|
||||||
@@ -333,6 +333,3 @@ diff --color -u a/dmenu.c b/dmenu.c
|
|||||||
else if (!strcmp(argv[i], "-i")) { /* case-insensitive item matching */
|
else if (!strcmp(argv[i], "-i")) { /* case-insensitive item matching */
|
||||||
fstrncmp = strncasecmp;
|
fstrncmp = strncasecmp;
|
||||||
fstrstr = cistrstr;
|
fstrstr = cistrstr;
|
||||||
Only in b: dmenu.c.orig
|
|
||||||
Only in a: dmenu_path
|
|
||||||
Only in a: dmenu_run
|
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
diff --color -u b/config.def.h a/config.def.h
|
diff --color -ru st-0.9/config.def.h st-0.9-a/config.def.h
|
||||||
--- b/config.def.h 2022-03-18 10:26:17.487413585 +0530
|
--- st-0.9/config.def.h 2022-10-04 23:11:26.000000000 +0530
|
||||||
+++ a/config.def.h 2022-03-18 11:11:09.497847262 +0530
|
+++ st-0.9-a/config.def.h 2022-11-25 02:12:19.384259019 +0530
|
||||||
@@ -3,9 +3,10 @@
|
@@ -3,9 +3,10 @@
|
||||||
/*
|
/*
|
||||||
* appearance
|
* appearance
|
||||||
@@ -148,9 +148,9 @@ diff --color -u b/config.def.h a/config.def.h
|
|||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
diff --color -u b/st.c a/st.c
|
diff --color -ru st-0.9/st.c st-0.9-a/st.c
|
||||||
--- b/st.c 2022-03-18 10:26:17.488413654 +0530
|
--- st-0.9/st.c 2022-10-04 23:11:26.000000000 +0530
|
||||||
+++ a/st.c 2022-03-18 10:59:06.308482438 +0530
|
+++ st-0.9-a/st.c 2022-11-25 02:12:19.384259019 +0530
|
||||||
@@ -35,6 +35,7 @@
|
@@ -35,6 +35,7 @@
|
||||||
#define ESC_ARG_SIZ 16
|
#define ESC_ARG_SIZ 16
|
||||||
#define STR_BUF_SIZ ESC_BUF_SIZ
|
#define STR_BUF_SIZ ESC_BUF_SIZ
|
||||||
@@ -179,7 +179,7 @@ diff --color -u b/st.c a/st.c
|
|||||||
int *dirty; /* dirtyness of lines */
|
int *dirty; /* dirtyness of lines */
|
||||||
TCursor c; /* cursor */
|
TCursor c; /* cursor */
|
||||||
int ocx; /* old cursor col */
|
int ocx; /* old cursor col */
|
||||||
@@ -184,8 +191,8 @@
|
@@ -185,8 +192,8 @@
|
||||||
static void tputtab(int);
|
static void tputtab(int);
|
||||||
static void tputc(Rune);
|
static void tputc(Rune);
|
||||||
static void treset(void);
|
static void treset(void);
|
||||||
@@ -190,7 +190,7 @@ diff --color -u b/st.c a/st.c
|
|||||||
static void tsetattr(const int *, int);
|
static void tsetattr(const int *, int);
|
||||||
static void tsetchar(Rune, const Glyph *, int, int);
|
static void tsetchar(Rune, const Glyph *, int, int);
|
||||||
static void tsetdirt(int, int);
|
static void tsetdirt(int, int);
|
||||||
@@ -416,10 +423,10 @@
|
@@ -409,10 +416,10 @@
|
||||||
{
|
{
|
||||||
int i = term.col;
|
int i = term.col;
|
||||||
|
|
||||||
@@ -203,7 +203,7 @@ diff --color -u b/st.c a/st.c
|
|||||||
--i;
|
--i;
|
||||||
|
|
||||||
return i;
|
return i;
|
||||||
@@ -528,7 +535,7 @@
|
@@ -521,7 +528,7 @@
|
||||||
* Snap around if the word wraps around at the end or
|
* Snap around if the word wraps around at the end or
|
||||||
* beginning of a line.
|
* beginning of a line.
|
||||||
*/
|
*/
|
||||||
@@ -212,7 +212,7 @@ diff --color -u b/st.c a/st.c
|
|||||||
prevdelim = ISDELIM(prevgp->u);
|
prevdelim = ISDELIM(prevgp->u);
|
||||||
for (;;) {
|
for (;;) {
|
||||||
newx = *x + direction;
|
newx = *x + direction;
|
||||||
@@ -543,14 +550,14 @@
|
@@ -536,14 +543,14 @@
|
||||||
yt = *y, xt = *x;
|
yt = *y, xt = *x;
|
||||||
else
|
else
|
||||||
yt = newy, xt = newx;
|
yt = newy, xt = newx;
|
||||||
@@ -229,7 +229,7 @@ diff --color -u b/st.c a/st.c
|
|||||||
delim = ISDELIM(gp->u);
|
delim = ISDELIM(gp->u);
|
||||||
if (!(gp->mode & ATTR_WDUMMY) && (delim != prevdelim
|
if (!(gp->mode & ATTR_WDUMMY) && (delim != prevdelim
|
||||||
|| (delim && gp->u != prevgp->u)))
|
|| (delim && gp->u != prevgp->u)))
|
||||||
@@ -571,14 +578,14 @@
|
@@ -564,14 +571,14 @@
|
||||||
*x = (direction < 0) ? 0 : term.col - 1;
|
*x = (direction < 0) ? 0 : term.col - 1;
|
||||||
if (direction < 0) {
|
if (direction < 0) {
|
||||||
for (; *y > 0; *y += direction) {
|
for (; *y > 0; *y += direction) {
|
||||||
@@ -246,7 +246,7 @@ diff --color -u b/st.c a/st.c
|
|||||||
& ATTR_WRAP)) {
|
& ATTR_WRAP)) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -609,13 +616,13 @@
|
@@ -602,13 +609,13 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sel.type == SEL_RECTANGULAR) {
|
if (sel.type == SEL_RECTANGULAR) {
|
||||||
@@ -263,7 +263,7 @@ diff --color -u b/st.c a/st.c
|
|||||||
while (last >= gp && last->u == ' ')
|
while (last >= gp && last->u == ' ')
|
||||||
--last;
|
--last;
|
||||||
|
|
||||||
@@ -851,6 +858,9 @@
|
@@ -844,6 +851,9 @@
|
||||||
ttywrite(const char *s, size_t n, int may_echo)
|
ttywrite(const char *s, size_t n, int may_echo)
|
||||||
{
|
{
|
||||||
const char *next;
|
const char *next;
|
||||||
@@ -273,7 +273,7 @@ diff --color -u b/st.c a/st.c
|
|||||||
|
|
||||||
if (may_echo && IS_SET(MODE_ECHO))
|
if (may_echo && IS_SET(MODE_ECHO))
|
||||||
twrite(s, n, 1);
|
twrite(s, n, 1);
|
||||||
@@ -1062,13 +1072,53 @@
|
@@ -1055,13 +1065,53 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@@ -328,7 +328,7 @@ diff --color -u b/st.c a/st.c
|
|||||||
tsetdirt(orig, term.bot-n);
|
tsetdirt(orig, term.bot-n);
|
||||||
tclearregion(0, term.bot-n+1, term.col-1, term.bot);
|
tclearregion(0, term.bot-n+1, term.col-1, term.bot);
|
||||||
|
|
||||||
@@ -1078,17 +1128,28 @@
|
@@ -1071,17 +1121,28 @@
|
||||||
term.line[i-n] = temp;
|
term.line[i-n] = temp;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -359,7 +359,7 @@ diff --color -u b/st.c a/st.c
|
|||||||
tclearregion(0, orig, term.col-1, orig+n-1);
|
tclearregion(0, orig, term.col-1, orig+n-1);
|
||||||
tsetdirt(orig+n, term.bot);
|
tsetdirt(orig+n, term.bot);
|
||||||
|
|
||||||
@@ -1098,7 +1159,8 @@
|
@@ -1091,7 +1152,8 @@
|
||||||
term.line[i+n] = temp;
|
term.line[i+n] = temp;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -369,7 +369,7 @@ diff --color -u b/st.c a/st.c
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@@ -1127,7 +1189,7 @@
|
@@ -1120,7 +1182,7 @@
|
||||||
int y = term.c.y;
|
int y = term.c.y;
|
||||||
|
|
||||||
if (y == term.bot) {
|
if (y == term.bot) {
|
||||||
@@ -378,7 +378,7 @@ diff --color -u b/st.c a/st.c
|
|||||||
} else {
|
} else {
|
||||||
y++;
|
y++;
|
||||||
}
|
}
|
||||||
@@ -1292,14 +1354,14 @@
|
@@ -1285,14 +1347,14 @@
|
||||||
tinsertblankline(int n)
|
tinsertblankline(int n)
|
||||||
{
|
{
|
||||||
if (BETWEEN(term.c.y, term.top, term.bot))
|
if (BETWEEN(term.c.y, term.top, term.bot))
|
||||||
@@ -395,7 +395,7 @@ diff --color -u b/st.c a/st.c
|
|||||||
}
|
}
|
||||||
|
|
||||||
int32_t
|
int32_t
|
||||||
@@ -1736,11 +1798,11 @@
|
@@ -1729,11 +1791,11 @@
|
||||||
break;
|
break;
|
||||||
case 'S': /* SU -- Scroll <n> line up */
|
case 'S': /* SU -- Scroll <n> line up */
|
||||||
DEFAULT(csiescseq.arg[0], 1);
|
DEFAULT(csiescseq.arg[0], 1);
|
||||||
@@ -409,7 +409,7 @@ diff --color -u b/st.c a/st.c
|
|||||||
break;
|
break;
|
||||||
case 'L': /* IL -- Insert <n> blank lines */
|
case 'L': /* IL -- Insert <n> blank lines */
|
||||||
DEFAULT(csiescseq.arg[0], 1);
|
DEFAULT(csiescseq.arg[0], 1);
|
||||||
@@ -2330,7 +2392,7 @@
|
@@ -2296,7 +2358,7 @@
|
||||||
return 0;
|
return 0;
|
||||||
case 'D': /* IND -- Linefeed */
|
case 'D': /* IND -- Linefeed */
|
||||||
if (term.c.y == term.bot) {
|
if (term.c.y == term.bot) {
|
||||||
@@ -418,7 +418,7 @@ diff --color -u b/st.c a/st.c
|
|||||||
} else {
|
} else {
|
||||||
tmoveto(term.c.x, term.c.y+1);
|
tmoveto(term.c.x, term.c.y+1);
|
||||||
}
|
}
|
||||||
@@ -2343,7 +2405,7 @@
|
@@ -2309,7 +2371,7 @@
|
||||||
break;
|
break;
|
||||||
case 'M': /* RI -- Reverse index */
|
case 'M': /* RI -- Reverse index */
|
||||||
if (term.c.y == term.top) {
|
if (term.c.y == term.top) {
|
||||||
@@ -427,7 +427,7 @@ diff --color -u b/st.c a/st.c
|
|||||||
} else {
|
} else {
|
||||||
tmoveto(term.c.x, term.c.y-1);
|
tmoveto(term.c.x, term.c.y-1);
|
||||||
}
|
}
|
||||||
@@ -2557,7 +2619,7 @@
|
@@ -2523,7 +2585,7 @@
|
||||||
void
|
void
|
||||||
tresize(int col, int row)
|
tresize(int col, int row)
|
||||||
{
|
{
|
||||||
@@ -436,7 +436,7 @@ diff --color -u b/st.c a/st.c
|
|||||||
int minrow = MIN(row, term.row);
|
int minrow = MIN(row, term.row);
|
||||||
int mincol = MIN(col, term.col);
|
int mincol = MIN(col, term.col);
|
||||||
int *bp;
|
int *bp;
|
||||||
@@ -2594,6 +2656,14 @@
|
@@ -2560,6 +2622,14 @@
|
||||||
term.dirty = xrealloc(term.dirty, row * sizeof(*term.dirty));
|
term.dirty = xrealloc(term.dirty, row * sizeof(*term.dirty));
|
||||||
term.tabs = xrealloc(term.tabs, col * sizeof(*term.tabs));
|
term.tabs = xrealloc(term.tabs, col * sizeof(*term.tabs));
|
||||||
|
|
||||||
@@ -451,7 +451,7 @@ diff --color -u b/st.c a/st.c
|
|||||||
/* resize each row to new width, zero-pad if needed */
|
/* resize each row to new width, zero-pad if needed */
|
||||||
for (i = 0; i < minrow; i++) {
|
for (i = 0; i < minrow; i++) {
|
||||||
term.line[i] = xrealloc(term.line[i], col * sizeof(Glyph));
|
term.line[i] = xrealloc(term.line[i], col * sizeof(Glyph));
|
||||||
@@ -2652,7 +2722,7 @@
|
@@ -2618,7 +2688,7 @@
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
term.dirty[y] = 0;
|
term.dirty[y] = 0;
|
||||||
@@ -460,7 +460,7 @@ diff --color -u b/st.c a/st.c
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2673,8 +2743,9 @@
|
@@ -2639,8 +2709,9 @@
|
||||||
cx--;
|
cx--;
|
||||||
|
|
||||||
drawregion(0, 0, term.col, term.row);
|
drawregion(0, 0, term.col, term.row);
|
||||||
@@ -472,9 +472,9 @@ diff --color -u b/st.c a/st.c
|
|||||||
term.ocx = cx;
|
term.ocx = cx;
|
||||||
term.ocy = term.c.y;
|
term.ocy = term.c.y;
|
||||||
xfinishdraw();
|
xfinishdraw();
|
||||||
diff --color -u b/st.h a/st.h
|
diff --color -ru st-0.9/st.h st-0.9-a/st.h
|
||||||
--- b/st.h 2022-03-18 10:26:17.488413654 +0530
|
--- st-0.9/st.h 2022-10-04 23:11:26.000000000 +0530
|
||||||
+++ a/st.h 2022-03-18 11:04:56.429522959 +0530
|
+++ st-0.9-a/st.h 2022-11-25 02:12:19.385259029 +0530
|
||||||
@@ -81,6 +81,8 @@
|
@@ -81,6 +81,8 @@
|
||||||
void redraw(void);
|
void redraw(void);
|
||||||
void draw(void);
|
void draw(void);
|
||||||
@@ -484,7 +484,7 @@ diff --color -u b/st.h a/st.h
|
|||||||
void printscreen(const Arg *);
|
void printscreen(const Arg *);
|
||||||
void printsel(const Arg *);
|
void printsel(const Arg *);
|
||||||
void sendbreak(const Arg *);
|
void sendbreak(const Arg *);
|
||||||
@@ -122,6 +124,7 @@
|
@@ -120,6 +122,7 @@
|
||||||
extern int allowaltscreen;
|
extern int allowaltscreen;
|
||||||
extern int allowwindowops;
|
extern int allowwindowops;
|
||||||
extern char *termname;
|
extern char *termname;
|
||||||
@@ -492,9 +492,9 @@ diff --color -u b/st.h a/st.h
|
|||||||
extern unsigned int tabspaces;
|
extern unsigned int tabspaces;
|
||||||
extern unsigned int defaultfg;
|
extern unsigned int defaultfg;
|
||||||
extern unsigned int defaultbg;
|
extern unsigned int defaultbg;
|
||||||
diff --color -u b/x.c a/x.c
|
diff --color -ru st-0.9/x.c st-0.9-a/x.c
|
||||||
--- b/x.c 2022-03-18 10:26:17.489413722 +0530
|
--- st-0.9/x.c 2022-10-04 23:11:26.000000000 +0530
|
||||||
+++ a/x.c 2022-03-18 11:04:56.429522959 +0530
|
+++ st-0.9-a/x.c 2022-11-25 02:12:19.385259029 +0530
|
||||||
@@ -55,6 +55,7 @@
|
@@ -55,6 +55,7 @@
|
||||||
static void clippaste(const Arg *);
|
static void clippaste(const Arg *);
|
||||||
static void numlock(const Arg *);
|
static void numlock(const Arg *);
|
||||||
@@ -513,7 +513,7 @@ diff --color -u b/x.c a/x.c
|
|||||||
static void xsetenv(void);
|
static void xsetenv(void);
|
||||||
@@ -254,6 +256,8 @@
|
@@ -254,6 +256,8 @@
|
||||||
|
|
||||||
static int oldbutton = 3; /* button event on startup: 3 = release */
|
static uint buttons; /* bit field of pressed buttons */
|
||||||
|
|
||||||
+int usealtcolors = 0; /* 1 to use alternate palette */
|
+int usealtcolors = 0; /* 1 to use alternate palette */
|
||||||
+
|
+
|
||||||
@@ -543,7 +543,7 @@ diff --color -u b/x.c a/x.c
|
|||||||
cresize(0, 0);
|
cresize(0, 0);
|
||||||
redraw();
|
redraw();
|
||||||
xhints();
|
xhints();
|
||||||
@@ -750,6 +763,11 @@
|
@@ -766,6 +779,11 @@
|
||||||
return x == 0 ? 0 : 0x3737 + 0x2828 * x;
|
return x == 0 ? 0 : 0x3737 + 0x2828 * x;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -555,7 +555,7 @@ diff --color -u b/x.c a/x.c
|
|||||||
int
|
int
|
||||||
xloadcolor(int i, const char *name, Color *ncolor)
|
xloadcolor(int i, const char *name, Color *ncolor)
|
||||||
{
|
{
|
||||||
@@ -768,7 +786,7 @@
|
@@ -784,7 +802,7 @@
|
||||||
return XftColorAllocValue(xw.dpy, xw.vis,
|
return XftColorAllocValue(xw.dpy, xw.vis,
|
||||||
xw.cmap, &color, ncolor);
|
xw.cmap, &color, ncolor);
|
||||||
} else
|
} else
|
||||||
@@ -564,7 +564,7 @@ diff --color -u b/x.c a/x.c
|
|||||||
}
|
}
|
||||||
|
|
||||||
return XftColorAllocName(xw.dpy, xw.vis, xw.cmap, name, ncolor);
|
return XftColorAllocName(xw.dpy, xw.vis, xw.cmap, name, ncolor);
|
||||||
@@ -791,8 +809,8 @@
|
@@ -807,8 +825,8 @@
|
||||||
|
|
||||||
for (i = 0; i < dc.collen; i++)
|
for (i = 0; i < dc.collen; i++)
|
||||||
if (!xloadcolor(i, NULL, &dc.col[i])) {
|
if (!xloadcolor(i, NULL, &dc.col[i])) {
|
||||||
@@ -575,7 +575,7 @@ diff --color -u b/x.c a/x.c
|
|||||||
else
|
else
|
||||||
die("could not allocate color %d\n", i);
|
die("could not allocate color %d\n", i);
|
||||||
}
|
}
|
||||||
@@ -1034,6 +1052,67 @@
|
@@ -1050,6 +1068,67 @@
|
||||||
FcPatternDestroy(pattern);
|
FcPatternDestroy(pattern);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -643,7 +643,7 @@ diff --color -u b/x.c a/x.c
|
|||||||
void
|
void
|
||||||
xunloadfont(Font *f)
|
xunloadfont(Font *f)
|
||||||
{
|
{
|
||||||
@@ -1131,6 +1210,10 @@
|
@@ -1147,6 +1226,10 @@
|
||||||
usedfont = (opt_font == NULL)? font : opt_font;
|
usedfont = (opt_font == NULL)? font : opt_font;
|
||||||
xloadfonts(usedfont, 0);
|
xloadfonts(usedfont, 0);
|
||||||
|
|
||||||
@@ -654,7 +654,7 @@ diff --color -u b/x.c a/x.c
|
|||||||
/* colors */
|
/* colors */
|
||||||
xw.cmap = XDefaultColormap(xw.dpy, xw.scr);
|
xw.cmap = XDefaultColormap(xw.dpy, xw.scr);
|
||||||
xloadcols();
|
xloadcols();
|
||||||
@@ -1184,13 +1267,13 @@
|
@@ -1200,13 +1283,13 @@
|
||||||
cursor = XCreateFontCursor(xw.dpy, mouseshape);
|
cursor = XCreateFontCursor(xw.dpy, mouseshape);
|
||||||
XDefineCursor(xw.dpy, xw.win, cursor);
|
XDefineCursor(xw.dpy, xw.win, cursor);
|
||||||
|
|
||||||
@@ -670,7 +670,7 @@ diff --color -u b/x.c a/x.c
|
|||||||
xmousebg.red = 0x0000;
|
xmousebg.red = 0x0000;
|
||||||
xmousebg.green = 0x0000;
|
xmousebg.green = 0x0000;
|
||||||
xmousebg.blue = 0x0000;
|
xmousebg.blue = 0x0000;
|
||||||
@@ -1398,7 +1481,7 @@
|
@@ -1414,7 +1497,7 @@
|
||||||
|
|
||||||
/* Change basic system colors [0-7] to bright system colors [8-15] */
|
/* Change basic system colors [0-7] to bright system colors [8-15] */
|
||||||
if ((base.mode & ATTR_BOLD_FAINT) == ATTR_BOLD && BETWEEN(base.fg, 0, 7))
|
if ((base.mode & ATTR_BOLD_FAINT) == ATTR_BOLD && BETWEEN(base.fg, 0, 7))
|
||||||
@@ -679,7 +679,7 @@ diff --color -u b/x.c a/x.c
|
|||||||
|
|
||||||
if (IS_SET(MODE_REVERSE)) {
|
if (IS_SET(MODE_REVERSE)) {
|
||||||
if (fg == &dc.col[defaultfg]) {
|
if (fg == &dc.col[defaultfg]) {
|
||||||
@@ -1626,6 +1709,8 @@
|
@@ -1642,6 +1725,8 @@
|
||||||
int
|
int
|
||||||
xstartdraw(void)
|
xstartdraw(void)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user