From 0886bbbf5ee98f6456a9bdb2c07a344145b98cda Mon Sep 17 00:00:00 2001 From: Martin Duquesnoy Date: Fri, 5 Aug 2011 15:06:53 +0200 Subject: [PATCH] remove wmfs.c --- wmfs2/wmfs.c | 188 --------------------------------------------------- 1 file changed, 188 deletions(-) delete mode 100644 wmfs2/wmfs.c diff --git a/wmfs2/wmfs.c b/wmfs2/wmfs.c deleted file mode 100644 index f90bfd0..0000000 --- a/wmfs2/wmfs.c +++ /dev/null @@ -1,188 +0,0 @@ -/* - * wmfs2 by Martin Duquesnoy { for(i = 2011; i < 2111; ++i) ©(i); } - * - */ - -/* Standard */ -#include -#include -#include -#include -#include -#include -#include - -/* Xlib */ -#include -#include -#include - -/* Macro */ -#define FREE_LIST(type, head) \ - do { \ - type *t; \ - while(!SLIST_EMPTY(&head)) { \ - t = SLIST_FIRST(&head); \ - SLIST_REMOVE_HEAD(&head, next); \ - free(t); \ - } \ - } while(/* CONSTCOND */ 0); \ - -/* Structure */ -typedef unsigned int Flags; - -typedef struct -{ - int x, y, w, h; -} Geo; - -typedef struct Tag -{ - char *name; - Screen *screen; - Flags flags; - Client *sel; - SLIST_ENTRY(Tag) next; -} Tag; - -typedef struct Screen -{ - Geo geo; - Tag *seltag; - SLIST_HEAD(, Tag) tags; - SLIST_ENTRY(Screen) next; -} Screen; - -typedef struct Client -{ - Tag *tag; - Screen *screen; - Geo *geo; - Flags flags; - SLIST_ENTRY(Client) next; -} Client; - -typedef struct -{ - /* X11 stuffs */ - Display *dpy; - Window root; - int xscreen; - GC gc; - - struct - { - int as, de, width, height; - XFontSet fontset; - } font; - - /* Lists heads */ - struct - { - SLIST_HEAD(, Screen) screen; - SLIST_HEAD(, Client) client; - } h; - - /* - * Selected screen, from what you go everywhere; selected tag, - * and then selected client. - */ - Screen *screen; - -} Wmfs; - -/* Only global variable */ -Wmfs *W; - -/* - * SCREEN - */ -void -screen_init(void) -{ - Geo g; - - g.x = 0; - g.y = 0; - g.w = DisplayWidth(W->dpy, W->xscreen); - g.h = DisplayHeight(W->dpy, W->xscreen); - - SLIST_INIT(&W->h.screen); - - screen_new(g); -} - -Screen* -screen_new(Geo g) -{ - Screen *s = calloc(sizeof(Screen)); - - s->geo = g; - s->seltag = NULL; - - SLIST_INIT(&s->tags); - - SLIST_INSERT_HEAD(s, &W->h.screen, next); - - W->screen = s; - - return s; -} - -void -screen_free(void) -{ - FREE_LIST(Screen, W->h.screen); -} - -/* - * INIT - */ -void -init(void) -{ - /* X init */ - W->xscreen = DefaultScreen(W->dpy); - W->gc = DefaultGC(W->dpy, W->xscreen); - W->root = RootWindow(dpy, W->xscreen); - - /* Screen init */ - screen_init(); - - return; -} - -void -quit(void) -{ - /* X stuffs */ - XCloseDisplay(W->dpy); - XFreeGC(W->gc); - XFreeFontSet(dpy, W->font.fontset); - - screen_free(); - - free(W); -} - -int -main(int argc, char **argv) -{ - - W = calloc(sizeof(Wmfs)); - - - /* Get X display */ - if(!(W->dpy = XOpenDisplay(NULL))) - { - fprintf(stderr, "%s: Can't open X server\n", argv[0]); - exit(EXIT_FAILURE); - } - - init(); - - quit(); - - return 1; -} -