diff --git a/src/wsmap.c b/src/wsmap.c new file mode 100644 index 00000000..eb26acd3 --- /dev/null +++ b/src/wsmap.c @@ -0,0 +1,96 @@ + +#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; +}