JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
apply Nick's patch to fix some error printf to use stderr
[st.git] / st.c
diff --git a/st.c b/st.c
index 2be6772..1310426 100644 (file)
--- a/st.c
+++ b/st.c
 #include <sys/types.h>
 #include <sys/wait.h>
 #include <unistd.h>
-#include <X11/Xlib.h>
 #include <X11/Xatom.h>
-#include <X11/keysym.h>
+#include <X11/Xlib.h>
 #include <X11/Xutil.h>
+#include <X11/cursorfont.h>
+#include <X11/keysym.h>
 
 #if   defined(__linux)
  #include <pty.h>
@@ -934,7 +935,7 @@ csihandle(void) {
        switch(escseq.mode) {
        default:
        unknown:
-               printf("erresc: unknown csi ");
+               fprintf(stderr, "erresc: unknown csi ");
                csidump();
                /* die(""); */
                break;
@@ -1206,7 +1207,7 @@ tputc(char *c) {
                                term.c.attr.mode &= ~ATTR_GFX;
                                break;
                        default:
-                               printf("esc unhandled charset: ESC ( %c\n", ascii);
+                               fprintf(stderr, "esc unhandled charset: ESC ( %c\n", ascii);
                        }
                        term.esc = 0;
                } else {
@@ -1503,6 +1504,7 @@ initfonts(char *fontstr, char *bfontstr)
 void
 xinit(void) {
        XSetWindowAttributes attrs;
+       Cursor cursor;
 
        if(!(xw.dpy = XOpenDisplay(NULL)))
                die("Can't open display\n");
@@ -1550,6 +1552,13 @@ xinit(void) {
        /* gc */
        dc.gc = XCreateGC(xw.dpy, xw.win, 0, NULL);
        
+       /* white cursor, black outline */
+       cursor = XCreateFontCursor(xw.dpy, XC_xterm);
+       XDefineCursor(xw.dpy, xw.win, cursor);
+       XRecolorCursor(xw.dpy, cursor, 
+               &(XColor){.red = 0xffff, .green = 0xffff, .blue = 0xffff},
+               &(XColor){.red = 0x0000, .green = 0x0000, .blue = 0x0000});
+
        XMapWindow(xw.dpy, xw.win);
        xhints();
        XStoreName(xw.dpy, xw.win, opt_title ? opt_title : "st");