#include "WindowMaker.h" #include "window.h" typedef struct { WWindow *wwin; WMLabel *mini; } WSMWindow; typedef struct { WScreen *scr; WMWindow *win; WSMWindow *windows; int windowCount; int xcount, ycount; int wswidth, wsheight; } WWorkspaceMap; #define WSMAP_DEFAULT_WIDTH 150 static WWorkspaceMap *createWorkspaceMap(WMScreen * scr, int xcount, int ycount) { WWorkspaceMap *wsm = wnew0(WWorkspaceMap, 1); WMRect rect; // rect.width = 1024; rect.height = 768; wsm->win = WMCreateWindow(scr, "wsmap"); /* find out the ideal size of the mini-workspaces */ wsm->wswidth = WSMAP_DEFAULT_WIDTH; wsm->wsheight = (wsm->wswidth * rect.height) / rect.width; // check if it fits screen wsm->xcount = xcount; wsm->ycount = ycount; return wsm; } static void handleEvent(WWorkspaceMap * map, XEvent * event) { switch (event->type) { } } void wShowWorkspaceMap(WScreen * scr) { } Display *dpy; int main(int argc, char **argv) { WWorkspaceMap *wsmap; WMScreen *scr; WMInitializeApplication("WSMap", &argc, argv); dpy = XOpenDisplay(""); if (!dpy) { wfatal("cant open display"); exit(0); } scr = WMCreateSimpleApplicationScreen(dpy); wsmap = createWorkspaceMap(scr); WMRealizeWidget(wsmap->win); WMMapWidget(wsmap->win); WMScreenMainLoop(scr); return 0; }