mirror of
https://github.com/gryf/wmaker.git
synced 2025-12-21 05:18:06 +01:00
eq
This commit is contained in:
96
src/wsmap.c
Normal file
96
src/wsmap.c
Normal file
@@ -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;
|
||||
}
|
||||
Reference in New Issue
Block a user