#include <X11/Xft/Xft.h>
#include <X11/XKBlib.h>
+static char *argv0;
#include "arg.h"
#define Glyph Glyph_
#define Font Font_
-#include "win.h"
#include "st.h"
+#include "win.h"
/* XEMBED messages */
#define XEMBED_FOCUS_IN 4
static void xclear(int, int, int, int);
static void xdrawcursor(void);
static int xgeommasktogravity(int);
+static void xinit(void);
static int xloadfont(Font *, FcPattern *);
+static void xloadfonts(char *, double);
static void xunloadfont(Font *);
+static void xunloadfonts(void);
+static void xsetenv(void);
static void expose(XEvent *);
static void visibility(XEvent *);
static void getbuttoninfo(XEvent *);
static void mousereport(XEvent *);
+static void run(void);
+static void usage(void);
+
static void (*handler[LASTEvent])(XEvent *) = {
[KeyPress] = kpress,
[ClientMessage] = cmessage,
static Fontcache frc[16];
static int frclen = 0;
+void
+zoom(const Arg *arg)
+{
+ Arg larg;
+
+ larg.f = usedfontsize + arg->f;
+ zoomabs(&larg);
+}
+
+void
+zoomabs(const Arg *arg)
+{
+ xunloadfonts();
+ xloadfonts(usedfont, arg->f);
+ cresize(0, 0);
+ ttyresize();
+ redraw();
+ xhints();
+}
+
+void
+zoomreset(const Arg *arg)
+{
+ Arg larg;
+
+ if (defaultfontsize > 0) {
+ larg.f = defaultfontsize;
+ zoomabs(&larg);
+ }
+}
+
void
getbuttoninfo(XEvent *e)
{
colfg.red = fg->color.red / 2;
colfg.green = fg->color.green / 2;
colfg.blue = fg->color.blue / 2;
+ colfg.alpha = fg->color.alpha;
XftColorAllocValue(xw.dpy, xw.vis, xw.cmap, &colfg, &revfg);
fg = &revfg;
}
XkbBell(xw.dpy, xw.win, vol, (Atom)NULL);
}
-unsigned long
-xwinid(void)
-{
- return xw.win;
-}
-
void
focus(XEvent *ev)
{
}
}
+void
+usage(void)
+{
+ die("usage: %s [-aiv] [-c class] [-f font] [-g geometry]"
+ " [-n name] [-o file]\n"
+ " [-T title] [-t title] [-w windowid]"
+ " [[-e] command [args ...]]\n"
+ " %s [-aiv] [-c class] [-f font] [-g geometry]"
+ " [-n name] [-o file]\n"
+ " [-T title] [-t title] [-w windowid] -l line"
+ " [stty_args ...]\n", argv0, argv0);
+}
+
int
main(int argc, char *argv[])
{
XSetLocaleModifiers("");
tnew(MAX(cols, 1), MAX(rows, 1));
xinit();
+ xsetenv();
selinit();
run();