From a98d134e89a42909721dcefd426118af38628048 Mon Sep 17 00:00:00 2001 From: EliteTK Date: Thu, 24 Apr 2014 09:06:24 +0100 Subject: Latest random crap. --- box.c | 10 +++++ cursor_remove.c | 6 +++ encrypt.c | 10 +++++ foursquare.c | 121 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ genkeypairs.c | 32 +++++++++++++++ gtk.c | 79 ++++++++++++++++++++++++++++++++++++ revlist.c | 31 +++++++++++++++ vixus.c | 41 +++++++++++++++++++ xlibtest.c | 59 +++++++++++++++++++++++++++ 9 files changed, 389 insertions(+) create mode 100644 box.c create mode 100644 cursor_remove.c create mode 100644 encrypt.c create mode 100644 foursquare.c create mode 100644 genkeypairs.c create mode 100644 gtk.c create mode 100644 revlist.c create mode 100644 vixus.c create mode 100644 xlibtest.c diff --git a/box.c b/box.c new file mode 100644 index 0000000..3a62deb --- /dev/null +++ b/box.c @@ -0,0 +1,10 @@ +#include + +int main(int argc, char **argv) +{ + if(argc != 2){ + printf("\33[?25l"); + } else { + printf("\33[?25h"); + } +} diff --git a/cursor_remove.c b/cursor_remove.c new file mode 100644 index 0000000..a413709 --- /dev/null +++ b/cursor_remove.c @@ -0,0 +1,6 @@ +#include + +int main(int argc, char **argv) +{ + printf("\33[8m"); +} diff --git a/encrypt.c b/encrypt.c new file mode 100644 index 0000000..6a8ca12 --- /dev/null +++ b/encrypt.c @@ -0,0 +1,10 @@ +#include +#include + +int main(int argc, char **argv) +{ + srand(time(NULL)); + char c; + while((c = getchar()) != EOF) + putchar((char)((double)rand() / (double)RAND_MAX * (double)256)); +} diff --git a/foursquare.c b/foursquare.c new file mode 100644 index 0000000..9552ed4 --- /dev/null +++ b/foursquare.c @@ -0,0 +1,121 @@ +// foursquare.c +#include +#include +#include +#include + +#define Q ('Q'-'A') + +typedef struct vec2 { + int x; + int y; +} Vec2; + +int increinc(int *); +void allupper(char *); +void genkey(char *, char *); +Vec2 *newVec2(const int, const int); + +int main(int argc, char **argv) +{ + int x, y, c=0; + + if(argc!=4){ + printf("Usage: %s ", *argv); + exit(1); + } + + printf("%s, %s ", *(argv+1), *(argv+2)); + + char *trkey = *(argv+1); + allupper(trkey); + char *trfullkey = malloc(26); + genkey(trkey, trfullkey); + + char *blkey = *(argv+2); + allupper(blkey); + char *blfullkey = malloc(26); + genkey(blkey, blfullkey); + + char *cipher = *(argv+3); + allupper(cipher); + + int i=0; + Vec2 *trtable[25]; + for(x=0; x<5; x++) + for(y=0; y<5; y++) + trtable[trfullkey[i++]-'A'] = newVec2(x, y); + free(trfullkey); + + i = 0; + Vec2 *bltable[25]; + for(x=0; x<5; x++) + for(y=0; y<5; y++) + bltable[blfullkey[i++]-'A'] = newVec2(x, y); + free(blfullkey); + + char basetable[5][5]; + for(x=0; x<5; x++) + for(y=0; y<5; y++){ + if(c==Q) + c++; + basetable[x][y] = 'A' + c++; + } + + for(i=0; ix][bltable[c2-'A']->y]); + putchar(basetable[bltable[c2-'A']->x][trtable[c1-'A']->y]); + } + putchar('\n'); + + for(i=0; i++; i<25){ + free(trtable[i]); + free(bltable[i]); + } + + return 0; +} + +int increinc(int *num) +{ + (*num)++; + return (*num)++; +} + +void allupper(char *input) +{ + int i; + for(i=0; ix = x; + v->y = y; + return v; +} diff --git a/genkeypairs.c b/genkeypairs.c new file mode 100644 index 0000000..df4bc3d --- /dev/null +++ b/genkeypairs.c @@ -0,0 +1,32 @@ +// genkeypairs.c +#include +#include +#include + +#define MAXLIST 1000 +#define MAXKEY 100 + +int main(int argc, char **argv) +{ + int c, i, ii, listsize; + char *list[MAXLIST]; + char *word = malloc(MAXKEY+1); + for(i=0; i + +gint count = 0; +char buf[5]; + +void increase(GtkWidget *widget, gpointer label) +{ + count++; + + sprintf(buf, "%d", count); + gtk_label_set_text(GTK_LABEL(label), buf); +} + +void decrease(GtkWidget *widget, gpointer label) +{ + count--; + + sprintf(buf, "%d", count); + gtk_label_set_text(GTK_LABEL(label), buf); +} + + +GdkPixbuf *create_pixbuf(const gchar *filename) +{ + GdkPixbuf *pixbuf; + GError *error = NULL; + pixbuf = gdk_pixbuf_new_from_file(filename, &error); + if(!pixbuf) { + fprintf(stderr, "%s\n", error->message); + g_error_free(error); + } + + return pixbuf; +} + +int main(int argc, char **argv) +{ + + GtkWidget *label; + GtkWidget *window; + GtkWidget *frame; + GtkWidget *plus; + GtkWidget *minus; + + gtk_init(&argc, &argv); + + window = gtk_window_new(GTK_WINDOW_TOPLEVEL); + gtk_window_set_title(GTK_WINDOW(window), "Yay!"); + gtk_window_set_default_size(GTK_WINDOW(window), 250, 180); + gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER); + gtk_window_set_icon(GTK_WINDOW(window), create_pixbuf("/home/main/Media/Pictures/GTKTutIcon.png")); + + frame = gtk_fixed_new(); + gtk_container_add(GTK_CONTAINER(window), frame); + + plus = gtk_button_new_with_label("+"); + gtk_widget_set_size_request(plus, 50, 20); + gtk_fixed_put(GTK_FIXED(frame), plus, 50, 20); + + minus = gtk_button_new_with_label("-"); + gtk_widget_set_size_request(minus, 50, 20); + gtk_fixed_put(GTK_FIXED(frame), minus, 50, 80); + + label = gtk_label_new("0"); + gtk_fixed_put(GTK_FIXED(frame), label, 190, 58); + + gtk_widget_show_all(window); + + g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(gtk_main_quit), NULL); + + g_signal_connect(plus, "clicked", G_CALLBACK(increase), label); + + g_signal_connect(minus, "clicked", G_CALLBACK(decrease), label); + + gtk_main(); + + return 0; +} + diff --git a/revlist.c b/revlist.c new file mode 100644 index 0000000..4c5dddb --- /dev/null +++ b/revlist.c @@ -0,0 +1,31 @@ +#include +#include +#include + +int main(int argc, char **argv) +{ + if(argc != 3){ + fprintf(stderr, "Incorrect argument count.\nUsage: %s \n"\ + , argv[0]); + exit(1); + } + + char *input = argv[1]; + char separator = argv[2][0]; + int length = strlen(input), startpos = 0, strpos; + + char *output = malloc(length); + + for(strpos = 0; strpos <= length; strpos ++){ + if(input[strpos] == separator || strpos == length){ + strncpy(output + length - strpos, input + startpos, strpos - startpos); + if(strpos != length) + output[length - strpos - 1] = separator; + startpos = strpos + 1; + } + } + + printf("%s\n", output); + free(output); + return 0; +} diff --git a/vixus.c b/vixus.c new file mode 100644 index 0000000..5753c92 --- /dev/null +++ b/vixus.c @@ -0,0 +1,41 @@ +#include +#include +#include +#include + +#include +#include +#include + +int main(int argc, char** argv) { + if (argc < 3) { + printf("xftwidth font string\n"); + return 1; + } + + Display *dpy; + XftFont *fn; + XGlyphInfo ext; + FcChar8 *str; + + char *name = argv[1]; + size_t len = strlen(argv[2]); +// len + 1?.. + str = (FcChar8*) malloc(len * sizeof(FcChar8) + 1); + + strncpy((char*)str, argv[2], len); + + dpy = XOpenDisplay(NULL); + fn = XftFontOpenName(dpy, 0, name); + + if (fn == NULL) { + printf("Font not found.\n"); + return 1; + } + + XftTextExtents8(dpy, fn, str, (int)len, &ext); + printf("%d\n", ext.width); + + free((void*)str); + return 0; +} diff --git a/xlibtest.c b/xlibtest.c new file mode 100644 index 0000000..670dcf6 --- /dev/null +++ b/xlibtest.c @@ -0,0 +1,59 @@ +/* + * Simple Xlib application drawing a box in a window. + * gcc input.c -o output -lX11 + */ + +#include +#include +#include +#include + +int main(void) +{ + Display *display; + Window window; + XEvent event; + char *msg = "Hello, World!"; + int s; + + /* open connection with the server */ + display = XOpenDisplay(NULL); + if (display == NULL) + { + fprintf(stderr, "Cannot open display\n"); + exit(1); + } + + s = DefaultScreen(display); + + /* create window */ + window = XCreateSimpleWindow(display, RootWindow(display, s), 10, 10, 200, 200, 1, + BlackPixel(display, s), WhitePixel(display, s)); + + /* select kind of events we are interested in */ + XSelectInput(display, window, ExposureMask | KeyPressMask); + + /* map (show) the window */ + XMapWindow(display, window); + + /* event loop */ + for (;;) + { + XNextEvent(display, &event); + + /* draw or redraw the window */ + if (event.type == Expose) + { + XFillRectangle(display, window, DefaultGC(display, s), 20, 20, 10, 10); + XDrawString(display, window, DefaultGC(display, s), 50, 50, msg, strlen(msg)); + } + /* exit on key press */ + if (event.type == KeyPress) + break; + } + + /* close connection to server */ + XCloseDisplay(display); + + return 0; +} -- cgit v1.2.3-54-g00ecf