From 0724dd34334c3ba5ae4d127bd4b23d872a0aa273 Mon Sep 17 00:00:00 2001 From: Brett Weiland Date: Wed, 22 Jul 2020 00:55:49 -0500 Subject: modified: Makefile modified: color modified: color.c --- color.c | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 66 insertions(+), 10 deletions(-) (limited to 'color.c') diff --git a/color.c b/color.c index d82a142..e05e177 100644 --- a/color.c +++ b/color.c @@ -2,27 +2,83 @@ #include #include #include - +#include + +//TODO: fix your ugly ass vim colors, I don't care if it's part of the code + + int main(void) { + + char text_prompt_buffer[32] = "testing"; //TODO: everything + Display *display; Window window; XEvent event; + Colormap colormap; int screen; + + XColor background_color; + XTextItem text_prompt; + XGCValues text_prompt_formatting; + GC text_prompt_gc; + + + + - d = XOpenDisplay(NULL); - if (d == NULL) { - fprintf(stderr, "Cannot open display\n"); - exit(1); + if((display = XOpenDisplay(NULL)) == NULL) { + printf("Couldn't open display due to fatal error: %s\n", strerror(errno)); + exit(errno); } screen = DefaultScreen(display); - w = XCreateSimpleWindow(display, RootWindow(display, screen), + colormap = DefaultColormap(display, screen); + + background_color.red = 0; + background_color.green = 65535; + background_color.blue = 0; + + XAllocColor(display, colormap, &background_color); + + + window = XCreateSimpleWindow(display, RootWindow(display, screen), 10, 10, 100, 100, - 1, - BlackPixel(d, s), - WhitePixel(d, s)); //last arg is color + 0, + background_color.pixel, + background_color.pixel); //last arg is color + + XMapWindow(display, window); + XSelectInput(display, window, KeyPressMask | ExposureMask); + + + //text struct + text_prompt.chars = text_prompt_buffer; + text_prompt.nchars = strlen(text_prompt_buffer); + text_prompt.delta = 0; //what? + text_prompt.font = None; + + //text formatting struct + text_prompt_formatting.foreground = BlackPixel(display, screen); + text_prompt_formatting.background = WhitePixel(display, screen); + text_prompt_gc = XCreateGC(display, window, GCForeground | GCBackground, &text_prompt_formatting); + + + for(;;) { + XNextEvent(display, &event); + switch (event.type) { + case KeyPress: + printf("Key press\n"); + break; + case Expose: + XDrawText(display, window, text_prompt_gc, 10, 10, &text_prompt, 1); //TODO formatting, textprompt + break; + default: + printf("wot\n"); + break; + } + } return 0; -} +} -- cgit v1.2.3