update st and dmenu overlay

Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
This commit is contained in:
2022-11-25 02:27:36 +05:30
parent 3f4abeee23
commit f4ce7e6aa9
3 changed files with 70 additions and 71 deletions

View File

@@ -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 ];
}); });

View File

@@ -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

View File

@@ -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)
{ {