noot
This commit is contained in:
parent
ff6b3c69f8
commit
2d39442ce7
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,3 +1,5 @@
|
|||
/st
|
||||
st.o
|
||||
x.o
|
||||
compile_commands.json
|
||||
.cache
|
||||
|
|
7
Makefile
7
Makefile
|
@ -2,6 +2,8 @@
|
|||
# See LICENSE file for copyright and license details.
|
||||
.POSIX:
|
||||
|
||||
.PHONY: all tooling
|
||||
|
||||
include config.mk
|
||||
|
||||
SRC = st.c x.c
|
||||
|
@ -9,6 +11,8 @@ OBJ = $(SRC:.c=.o)
|
|||
|
||||
all: st
|
||||
|
||||
tooling: compile_commands.json
|
||||
|
||||
config.h:
|
||||
cp config.def.h config.h
|
||||
|
||||
|
@ -20,6 +24,9 @@ x.o: arg.h config.h st.h win.h
|
|||
|
||||
$(OBJ): config.h config.mk
|
||||
|
||||
compile_commands.json: clean
|
||||
bear -- make st
|
||||
|
||||
st: $(OBJ)
|
||||
$(CC) -o $@ $(OBJ) $(STLDFLAGS)
|
||||
|
||||
|
|
4
config.h
4
config.h
|
@ -6,7 +6,7 @@
|
|||
* font: see http://freedesktop.org/software/fontconfig/fontconfig-user.html
|
||||
*/
|
||||
static char *font = "TamzenForPowerline:pixelsize=16:style=regular:antialias=false:hinting=false";
|
||||
static int borderpx = 4;
|
||||
static int borderpx = 2;
|
||||
|
||||
/*
|
||||
* What program is execed by st depends of these precedence rules:
|
||||
|
@ -65,7 +65,7 @@ static unsigned int blinktimeout = 800;
|
|||
/*
|
||||
* thickness of underline and bar cursors
|
||||
*/
|
||||
static unsigned int cursorthickness = 2;
|
||||
static unsigned int cursorthickness = 4;
|
||||
|
||||
/*
|
||||
* bell volume. It must be a value between -100 and 100. Use 0 for disabling
|
||||
|
|
|
@ -33,4 +33,4 @@ STLDFLAGS = $(LIBS) $(LDFLAGS)
|
|||
#MANPREFIX = ${PREFIX}/man
|
||||
|
||||
# compiler and linker
|
||||
# CC = c99
|
||||
CC = clang
|
||||
|
|
|
@ -1,163 +0,0 @@
|
|||
From 1635e04d3643dd4caa0c7c2043b585c6d7e4705f Mon Sep 17 00:00:00 2001
|
||||
From: Rizqi Nur Assyaufi <bandithijo@gmail.com>
|
||||
Date: Mon, 18 Jul 2022 01:15:45 +0800
|
||||
Subject: [PATCH] [st][patch][font2] Add patch for st-0.8.5
|
||||
|
||||
---
|
||||
config.def.h | 6 +++
|
||||
x.c | 101 +++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 107 insertions(+)
|
||||
|
||||
diff --git a/config.def.h b/config.def.h
|
||||
index 91ab8ca..717b2f0 100644
|
||||
--- a/config.def.h
|
||||
+++ b/config.def.h
|
||||
@@ -6,6 +6,12 @@
|
||||
* font: see http://freedesktop.org/software/fontconfig/fontconfig-user.html
|
||||
*/
|
||||
static char *font = "Liberation Mono:pixelsize=12:antialias=true:autohint=true";
|
||||
+/* Spare fonts */
|
||||
+static char *font2[] = {
|
||||
+/* "Inconsolata for Powerline:pixelsize=12:antialias=true:autohint=true", */
|
||||
+/* "Hack Nerd Font Mono:pixelsize=11:antialias=true:autohint=true", */
|
||||
+};
|
||||
+
|
||||
static int borderpx = 2;
|
||||
|
||||
/*
|
||||
diff --git a/x.c b/x.c
|
||||
index 8a16faa..220fc4f 100644
|
||||
--- a/x.c
|
||||
+++ b/x.c
|
||||
@@ -157,6 +157,8 @@ static void xhints(void);
|
||||
static int xloadcolor(int, const char *, Color *);
|
||||
static int xloadfont(Font *, FcPattern *);
|
||||
static void xloadfonts(const char *, double);
|
||||
+static int xloadsparefont(FcPattern *, int);
|
||||
+static void xloadsparefonts(void);
|
||||
static void xunloadfont(Font *);
|
||||
static void xunloadfonts(void);
|
||||
static void xsetenv(void);
|
||||
@@ -306,6 +308,7 @@ zoomabs(const Arg *arg)
|
||||
{
|
||||
xunloadfonts();
|
||||
xloadfonts(usedfont, arg->f);
|
||||
+ xloadsparefonts();
|
||||
cresize(0, 0);
|
||||
redraw();
|
||||
xhints();
|
||||
@@ -1034,6 +1037,101 @@ xloadfonts(const char *fontstr, double fontsize)
|
||||
FcPatternDestroy(pattern);
|
||||
}
|
||||
|
||||
+int
|
||||
+xloadsparefont(FcPattern *pattern, int flags)
|
||||
+{
|
||||
+ FcPattern *match;
|
||||
+ FcResult result;
|
||||
+
|
||||
+ match = FcFontMatch(NULL, pattern, &result);
|
||||
+ if (!match) {
|
||||
+ return 1;
|
||||
+ }
|
||||
+
|
||||
+ if (!(frc[frclen].font = XftFontOpenPattern(xw.dpy, match))) {
|
||||
+ FcPatternDestroy(match);
|
||||
+ return 1;
|
||||
+ }
|
||||
+
|
||||
+ frc[frclen].flags = flags;
|
||||
+ /* Believe U+0000 glyph will present in each default font */
|
||||
+ frc[frclen].unicodep = 0;
|
||||
+ frclen++;
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+xloadsparefonts(void)
|
||||
+{
|
||||
+ FcPattern *pattern;
|
||||
+ double sizeshift, fontval;
|
||||
+ int fc;
|
||||
+ char **fp;
|
||||
+
|
||||
+ if (frclen != 0)
|
||||
+ die("can't embed spare fonts. cache isn't empty");
|
||||
+
|
||||
+ /* Calculate count of spare fonts */
|
||||
+ fc = sizeof(font2) / sizeof(*font2);
|
||||
+ if (fc == 0)
|
||||
+ return;
|
||||
+
|
||||
+ /* Allocate memory for cache entries. */
|
||||
+ if (frccap < 4 * fc) {
|
||||
+ frccap += 4 * fc - frccap;
|
||||
+ frc = xrealloc(frc, frccap * sizeof(Fontcache));
|
||||
+ }
|
||||
+
|
||||
+ for (fp = font2; fp - font2 < fc; ++fp) {
|
||||
+
|
||||
+ if (**fp == '-')
|
||||
+ pattern = XftXlfdParse(*fp, False, False);
|
||||
+ else
|
||||
+ pattern = FcNameParse((FcChar8 *)*fp);
|
||||
+
|
||||
+ if (!pattern)
|
||||
+ die("can't open spare font %s\n", *fp);
|
||||
+
|
||||
+ if (defaultfontsize > 0) {
|
||||
+ sizeshift = usedfontsize - defaultfontsize;
|
||||
+ if (sizeshift != 0 &&
|
||||
+ FcPatternGetDouble(pattern, FC_PIXEL_SIZE, 0, &fontval) ==
|
||||
+ FcResultMatch) {
|
||||
+ fontval += sizeshift;
|
||||
+ FcPatternDel(pattern, FC_PIXEL_SIZE);
|
||||
+ FcPatternDel(pattern, FC_SIZE);
|
||||
+ FcPatternAddDouble(pattern, FC_PIXEL_SIZE, fontval);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ FcPatternAddBool(pattern, FC_SCALABLE, 1);
|
||||
+
|
||||
+ FcConfigSubstitute(NULL, pattern, FcMatchPattern);
|
||||
+ XftDefaultSubstitute(xw.dpy, xw.scr, pattern);
|
||||
+
|
||||
+ if (xloadsparefont(pattern, FRC_NORMAL))
|
||||
+ die("can't open spare font %s\n", *fp);
|
||||
+
|
||||
+ FcPatternDel(pattern, FC_SLANT);
|
||||
+ FcPatternAddInteger(pattern, FC_SLANT, FC_SLANT_ITALIC);
|
||||
+ if (xloadsparefont(pattern, FRC_ITALIC))
|
||||
+ die("can't open spare font %s\n", *fp);
|
||||
+
|
||||
+ FcPatternDel(pattern, FC_WEIGHT);
|
||||
+ FcPatternAddInteger(pattern, FC_WEIGHT, FC_WEIGHT_BOLD);
|
||||
+ if (xloadsparefont(pattern, FRC_ITALICBOLD))
|
||||
+ die("can't open spare font %s\n", *fp);
|
||||
+
|
||||
+ FcPatternDel(pattern, FC_SLANT);
|
||||
+ FcPatternAddInteger(pattern, FC_SLANT, FC_SLANT_ROMAN);
|
||||
+ if (xloadsparefont(pattern, FRC_BOLD))
|
||||
+ die("can't open spare font %s\n", *fp);
|
||||
+
|
||||
+ FcPatternDestroy(pattern);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
void
|
||||
xunloadfont(Font *f)
|
||||
{
|
||||
@@ -1131,6 +1229,9 @@ xinit(int cols, int rows)
|
||||
usedfont = (opt_font == NULL)? font : opt_font;
|
||||
xloadfonts(usedfont, 0);
|
||||
|
||||
+ /* spare fonts */
|
||||
+ xloadsparefonts();
|
||||
+
|
||||
/* colors */
|
||||
xw.cmap = XDefaultColormap(xw.dpy, xw.scr);
|
||||
xloadcols();
|
||||
--
|
||||
2.37.1
|
||||
|
Loading…
Reference in New Issue