X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=st.h;h=a34e31c5d3f61bdae7419e5be880460bd1b6dc10;hb=cfc7acdfd923924ae150a32061fb95987697b159;hp=372462da2436b2e959b2151c7e848e3349daae1b;hpb=dbe8676d7d69651132bde2b6d9ec3787cbbc552a;p=st.git diff --git a/st.h b/st.h index 372462d..a34e31c 100644 --- a/st.h +++ b/st.h @@ -9,6 +9,7 @@ #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 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 != (b).mode || (a).fg != (b).fg || \ (a).bg != (b).bg) @@ -133,12 +134,6 @@ typedef struct { int cursor; /* cursor style */ } TermWindow; -typedef struct { - uint b; - uint mask; - char *s; -} MouseShortcut; - typedef struct { int mode; int type; @@ -154,12 +149,7 @@ typedef struct { int x, y; } nb, ne, ob, oe; - char *primary, *clipboard; int alt; - struct timespec tclick1; - struct timespec tclick2; - - //Atom xtarget; } Selection; typedef union { @@ -169,23 +159,21 @@ typedef union { const void *v; } Arg; -typedef struct { - uint mod; - KeySym keysym; - void (*func)(const Arg *); - const Arg arg; -} Shortcut; - void die(const char *, ...); void redraw(void); +void iso14755(const Arg *); +void numlock(const Arg *); +void printscreen(const Arg *); +void printsel(const Arg *); +void sendbreak(const Arg *); +void toggleprinter(const Arg *); + int tattrset(int); void tnew(int, int); void tresize(int, int); -void tsetdirt(int, int); void tsetdirtattr(int); -int match(uint, uint); -void ttynew(void); +void ttynew(char *, char *, char **); size_t ttyread(void); void ttyresize(int, int); void ttysend(char *, size_t); @@ -193,15 +181,15 @@ void ttywrite(const char *, size_t); void resettitle(void); -char *kmap(KeySym, uint); void selclear(void); - void selinit(void); +void selstart(int, int, int); +void selextend(int, int, int, int); void selnormalize(void); int selected(int, int); char *getsel(void); -size_t utf8decode(char *, Rune *, size_t); +size_t utf8decode(const char *, Rune *, size_t); size_t utf8encode(Rune, char *); void *xmalloc(size_t); @@ -209,53 +197,19 @@ void *xrealloc(void *, size_t); char *xstrdup(char *); /* Globals */ -extern TermWindow win; extern Term term; -extern Selection sel; extern int cmdfd; extern pid_t pid; -extern char **opt_cmd; -extern char *opt_class; -extern char *opt_embed; -extern char *opt_font; -extern char *opt_io; -extern char *opt_line; -extern char *opt_name; -extern char *opt_title; extern int oldbutton; /* config.h globals */ -extern char font[]; -extern int borderpx; -extern float cwscale; -extern float chscale; -extern unsigned int doubleclicktimeout; -extern unsigned int tripleclicktimeout; +extern char *shell; +extern char *utmp; +extern char *stty_args; +extern char *vtiden; +extern char *worddelimiters; extern int allowaltscreen; -extern unsigned int xfps; -extern unsigned int actionfps; -extern unsigned int cursorthickness; -extern int bellvolume; -extern unsigned int blinktimeout; -extern char termname[]; -extern const char *colorname[]; -extern size_t colornamelen; +extern char *termname; +extern unsigned int tabspaces; extern unsigned int defaultfg; extern unsigned int defaultbg; -extern unsigned int defaultcs; -extern unsigned int defaultrcs; -extern unsigned int cursorshape; -extern unsigned int cols; -extern unsigned int rows; -extern unsigned int mouseshape; -extern unsigned int mousefg; -extern unsigned int mousebg; -extern unsigned int defaultattr; -extern MouseShortcut mshortcuts[]; -extern size_t mshortcutslen; -extern Shortcut shortcuts[]; -extern size_t shortcutslen; -extern uint forceselmod; -extern uint selmasks[]; -extern size_t selmaskslen; -extern char ascii_printable[];