mirror of
https://github.com/gryf/wmaker.git
synced 2025-12-21 13:28:05 +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