From 0724dd34334c3ba5ae4d127bd4b23d872a0aa273 Mon Sep 17 00:00:00 2001 From: Brett Weiland Date: Wed, 22 Jul 2020 00:55:49 -0500 Subject: [PATCH] modified: Makefile modified: color modified: color.c --- Makefile | 2 +- color | Bin 16968 -> 17160 bytes color.c | 76 +++++++++++++++++++++++++++++++++++++++++++++++-------- 3 files changed, 67 insertions(+), 11 deletions(-) diff --git a/Makefile b/Makefile index 44479c0..cbc04cd 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ make: gcc color.c -lX11 -o color debug: - gcc color.c -lX11 -o color -ggdb + gcc color.c -lX11 -Wall -o color -ggdb diff --git a/color b/color index 00dc18a6e7b54e01aa358f12e1a6ec5654e2be47..f6751bbd5acba40c4c615cacb40b47c5d4c404d4 100755 GIT binary patch delta 3378 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 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; -} +}