aboutsummaryrefslogtreecommitdiff
path: root/st.h
diff options
context:
space:
mode:
authorJack Sangdahl <[email protected]>2024-04-23 15:29:58 -0600
committerJack Sangdahl <[email protected]>2024-04-23 15:29:58 -0600
commit93b045609bd7b078da1db87712a088190137add6 (patch)
treea2b3acec0cd47941a68c50b813881e520988a9e2 /st.h
parenta9c2d5b0084857f572e08ba1413cb7916cf2409f (diff)
downloadst-93b045609bd7b078da1db87712a088190137add6.tar.gz
st-93b045609bd7b078da1db87712a088190137add6.zip
initial wayland
Diffstat (limited to 'st.h')
-rw-r--r--st.h54
1 files changed, 10 insertions, 44 deletions
diff --git a/st.h b/st.h
index c30a0d4..adec5e4 100644
--- a/st.h
+++ b/st.h
@@ -3,19 +3,20 @@
#include <stdint.h>
#include <sys/types.h>
-// #include <gd.h>
-#include <glib.h>
+/* Arbitrary sizes */
+#define UTF_SIZ 4
+#define ESC_BUF_SIZ (128 * UTF_SIZ)
/* macros */
+#define MIN(a, b) ((a) < (b) ? (a) : (b))
+#define MAX(a, b) ((a) < (b) ? (b) : (a))
#define LEN(a) (sizeof(a) / sizeof(a)[0])
#define BETWEEN(x, a, b) ((a) <= (x) && (x) <= (b))
-#define DIVCEIL(n, d) (((n) + ((d)-1)) / (d))
+#define DIVCEIL(n, d) (((n) + ((d) - 1)) / (d))
#define DEFAULT(a, b) (a) = (a) ? (a) : (b)
#define LIMIT(x, a, b) (x) = (x) < (a) ? (a) : (x) > (b) ? (b) : (x)
#define ATTRCMP(a, b) \
- (((a).mode & (~ATTR_WRAP) & (~ATTR_LIGA)) != \
- ((b).mode & (~ATTR_WRAP) & (~ATTR_LIGA)) || \
- (a).fg != (b).fg || (a).bg != (b).bg)
+ ((a).mode != (b).mode || (a).fg != (b).fg || (a).bg != (b).bg)
#define TIMEDIFF(t1, t2) \
((t1.tv_sec - t2.tv_sec) * 1000 + (t1.tv_nsec - t2.tv_nsec) / 1E6)
#define MODBIT(x, set, bit) ((set) ? ((x) |= (bit)) : ((x) &= ~(bit)))
@@ -36,17 +37,9 @@ enum glyph_attribute {
ATTR_WRAP = 1 << 8,
ATTR_WIDE = 1 << 9,
ATTR_WDUMMY = 1 << 10,
- ATTR_BOXDRAW = 1 << 11,
- ATTR_LIGA = 1 << 12,
ATTR_BOLD_FAINT = ATTR_BOLD | ATTR_FAINT,
};
-enum drawing_mode {
- DRAW_NONE = 0,
- DRAW_BG = 1 << 0,
- DRAW_FG = 1 << 1,
-};
-
enum selection_mode { SEL_IDLE = 0, SEL_EMPTY = 1, SEL_READY = 2 };
enum selection_type { SEL_REGULAR = 1, SEL_RECTANGULAR = 2 };
@@ -60,7 +53,6 @@ typedef unsigned short ushort;
typedef uint_least32_t Rune;
-#define Glyph Glyph_
typedef struct {
Rune u; /* character code */
ushort mode; /* attribute flags */
@@ -77,34 +69,21 @@ typedef union {
const void *v;
} Arg;
-typedef struct {
- uint b;
- uint mask;
- void (*func)(const Arg *);
- const Arg arg;
-} MouseKey;
-
void die(const char *, ...);
void redraw(void);
void draw(void);
-void externalpipe(const Arg *);
-void iso14755(const Arg *);
-void kscrolldown(const Arg *);
-void kscrollup(const Arg *);
-void newterm(const Arg *);
void printscreen(const Arg *);
void printsel(const Arg *);
void sendbreak(const Arg *);
void toggleprinter(const Arg *);
int tattrset(int);
-int tisaltscr(void);
void tnew(int, int);
void tresize(int, int);
void tsetdirtattr(int);
void ttyhangup(void);
-int ttynew(const char *, char *, const char *, char **);
+int ttynew(char *, char *, char *, char **);
size_t ttyread(void);
void ttyresize(int, int);
void ttywrite(const char *, size_t, int);
@@ -118,20 +97,12 @@ void selextend(int, int, int, int);
int selected(int, int);
char *getsel(void);
+size_t utf8decode(const char *, Rune *, size_t);
size_t utf8encode(Rune, char *);
void *xmalloc(size_t);
void *xrealloc(void *, size_t);
-char *xstrdup(const char *);
-
-int isboxdraw(Rune);
-ushort boxdrawindex(const Glyph *);
-#ifdef XFT_VERSION
-/* only exposed to x.c, otherwise we'll need Xft.h for the types */
-void boxdraw_xinit(Display *, Colormap, XftDraw *, Visual *);
-void drawboxes(int, int, int, int, XftColor *, XftColor *,
- const XftGlyphFontSpec *, int);
-#endif
+char *xstrdup(char *);
/* config.h globals */
extern char *utmp;
@@ -143,8 +114,3 @@ extern char *termname;
extern unsigned int tabspaces;
extern unsigned int defaultfg;
extern unsigned int defaultbg;
-extern unsigned int defaultcs;
-extern const int boxdraw, boxdraw_bold, boxdraw_braille;
-extern float alpha;
-extern MouseKey mkeys[];
-extern int ximspot_update_interval;