From 7d40fa903908f7854710a2a278eaf5ca3f97bd14 Mon Sep 17 00:00:00 2001 From: Brett Weiland Date: Wed, 22 Jul 2020 01:02:56 -0500 Subject: new file: src/Makefile new file: src/color.c --- src/Makefile | 4 +++ src/color.c | 83 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 87 insertions(+) create mode 100644 src/Makefile create mode 100644 src/color.c (limited to 'src') diff --git a/src/Makefile b/src/Makefile new file mode 100644 index 0000000..5a84d7c --- /dev/null +++ b/src/Makefile @@ -0,0 +1,4 @@ +make: + gcc color.c -lX11 -o ../color +debug: + gcc color.c -lX11 -Wall -o ../color -ggdb diff --git a/src/color.c b/src/color.c new file mode 100644 index 0000000..8721140 --- /dev/null +++ b/src/color.c @@ -0,0 +1,83 @@ +#include +#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; + + + + + + if((display = XOpenDisplay(NULL)) == NULL) { + printf("Couldn't open display due to fatal error: %s\n", strerror(errno)); + exit(errno); + } + + screen = DefaultScreen(display); + 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, + 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_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 learn inverting math, move to bottom right of window + break; + default: + printf("wot\n"); + break; + } + } + + + return 0; +} -- cgit v1.2.3