mirror of
https://github.com/gryf/wmaker.git
synced 2026-02-02 06:05:45 +01:00
Remove wmlib
was this ever used for anything? i checked a couple hundred dockapps, no joy; there's nothing in debian (afaict) that build-depends on it, so let's try doing away with it.
This commit is contained in:
committed by
Carlos R. Mafra
parent
83774951b7
commit
67a8a82670
@@ -1,25 +0,0 @@
|
||||
## Process this file with automake to produce Makefile.in
|
||||
|
||||
AUTOMAKE_OPTIONS = no-dependencies
|
||||
|
||||
EXTRA_DIST = notest.c
|
||||
|
||||
noinst_PROGRAMS = wtest
|
||||
|
||||
wtest_SOURCES = wtest.c
|
||||
|
||||
wtest_LDADD = $(top_builddir)/wmlib/libWMaker.la @XLFLAGS@ @XLIBS@
|
||||
|
||||
|
||||
INCLUDES = -g -D_BSD_SOURCE @XCFLAGS@ -I$(top_srcdir)/wmlib
|
||||
|
||||
LIBTOOL = $(QUIET) $(SHELL) $(top_srcdir)/libtool $(LIBTOOL_ARG)
|
||||
|
||||
.c.o:
|
||||
$(QUIET)$(COMPILE) -c $<
|
||||
|
||||
.c.obj:
|
||||
$(QUIET)$(COMPILE) -c `$(CYGPATH_W) '$<'`
|
||||
|
||||
.c.lo:
|
||||
$(QUIET)$(LTCOMPILE) -c -o $@ $<
|
||||
122
test/notest.c
122
test/notest.c
@@ -1,122 +0,0 @@
|
||||
/* quick and dirty test application that demonstrates: Notify grabbing
|
||||
*
|
||||
* TODO: remake
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/Xutil.h>
|
||||
#include <X11/Xproto.h>
|
||||
#include <WMaker.h>
|
||||
|
||||
Display *dpy;
|
||||
Window leader;
|
||||
WMAppContext *app;
|
||||
Atom delete_win;
|
||||
Atom prots[6];
|
||||
XWMHints *hints;
|
||||
WMMenu *menu;
|
||||
|
||||
static void quit(void *foo, int item, Time time)
|
||||
{
|
||||
exit(0);
|
||||
}
|
||||
|
||||
static void hide(void *foo, int item, Time time)
|
||||
{
|
||||
WMHideApplication(app);
|
||||
}
|
||||
|
||||
int notify_print(int id, XEvent * event, void *data)
|
||||
{
|
||||
printf("Got notification 0x%x, window 0x%lx, data '%s'\n", id, event->xclient.data.l[1], (char *)data);
|
||||
return True;
|
||||
}
|
||||
|
||||
static void newwin(void *foo, int item, Time time)
|
||||
{
|
||||
Window win;
|
||||
XClassHint classhint;
|
||||
char title[100];
|
||||
|
||||
win = XCreateSimpleWindow(dpy, DefaultRootWindow(dpy), 0, 0, 200, 100, 0, 0, 0);
|
||||
prots[0] = delete_win;
|
||||
XSetWMProtocols(dpy, win, prots, 1);
|
||||
sprintf(title, "Notify Test Window");
|
||||
XStoreName(dpy, win, title);
|
||||
|
||||
/* set class hint */
|
||||
classhint.res_name = "notest";
|
||||
classhint.res_class = "Notest";
|
||||
XSetClassHint(dpy, win, &classhint);
|
||||
|
||||
hints = XAllocWMHints();
|
||||
/* set window group leader */
|
||||
hints->window_group = leader;
|
||||
hints->flags = WindowGroupHint;
|
||||
XSetWMHints(dpy, win, hints);
|
||||
|
||||
WMAppAddWindow(app, win);
|
||||
XMapWindow(dpy, win);
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
XClassHint classhint;
|
||||
|
||||
dpy = XOpenDisplay("");
|
||||
if (!dpy) {
|
||||
puts("could not open display!");
|
||||
exit(1);
|
||||
}
|
||||
delete_win = XInternAtom(dpy, "WM_DELETE_WINDOW", False);
|
||||
|
||||
leader = XCreateSimpleWindow(dpy, DefaultRootWindow(dpy), 10, 10, 10, 10, 0, 0, 0);
|
||||
/* set class hint */
|
||||
classhint.res_name = "notest";
|
||||
classhint.res_class = "Notest";
|
||||
XSetClassHint(dpy, leader, &classhint);
|
||||
|
||||
/* set window group leader to self */
|
||||
hints = XAllocWMHints();
|
||||
hints->window_group = leader;
|
||||
hints->flags = WindowGroupHint;
|
||||
XSetWMHints(dpy, leader, hints);
|
||||
|
||||
/* create app context */
|
||||
app = WMAppCreateWithMain(dpy, DefaultScreen(dpy), leader);
|
||||
menu = WMMenuCreate(app, "Notify Test Menu");
|
||||
WMMenuAddItem(menu, "Hide", (WMMenuAction) hide, NULL, NULL, NULL);
|
||||
WMMenuAddItem(menu, "Quit", (WMMenuAction) quit, NULL, NULL, NULL);
|
||||
|
||||
WMAppSetMainMenu(app, menu);
|
||||
WMRealizeMenus(app);
|
||||
|
||||
/* Get some WindowMaker notifications */
|
||||
WMNotifySet(app, WMN_APP_START, notify_print, (void *)"App start");
|
||||
WMNotifySet(app, WMN_APP_EXIT, notify_print, (void *)"App end");
|
||||
WMNotifySet(app, WMN_WIN_FOCUS, notify_print, (void *)"Focus in");
|
||||
WMNotifySet(app, WMN_WIN_UNFOCUS, notify_print, (void *)"Focus out");
|
||||
WMNotifySet(app, WMN_NOTIFY_ALL, notify_print, (void *)"Unknown type");
|
||||
WMNotifyMaskUpdate(app); /* Mask isn't actually set till we do this */
|
||||
|
||||
/* set command to use to startup this */
|
||||
XSetCommand(dpy, leader, argv, argc);
|
||||
|
||||
/* create first window */
|
||||
newwin(NULL, 0, 0);
|
||||
|
||||
XFlush(dpy);
|
||||
while (1) {
|
||||
XEvent ev;
|
||||
XNextEvent(dpy, &ev);
|
||||
if (ev.type == ClientMessage) {
|
||||
if (ev.xclient.data.l[0] == delete_win) {
|
||||
XDestroyWindow(dpy, ev.xclient.window);
|
||||
break;
|
||||
}
|
||||
}
|
||||
WMProcessEvent(app, &ev);
|
||||
}
|
||||
exit(0);
|
||||
}
|
||||
159
test/wtest.c
159
test/wtest.c
@@ -1,159 +0,0 @@
|
||||
/* quick and dirty test application that demonstrates: application hiding,
|
||||
* application defined titlebar button images, application defined
|
||||
* titlebar button actions, application menus, docking and
|
||||
* window manager commands
|
||||
*
|
||||
* Note that the windows don't have a window command menu.
|
||||
*
|
||||
* TODO: remake
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/Xutil.h>
|
||||
#include <X11/Xproto.h>
|
||||
#include <WMaker.h>
|
||||
|
||||
static char bits[] = {
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
|
||||
};
|
||||
|
||||
static char mbits[] = {
|
||||
0xff, 0x03, 0xff, 0x01, 0xff, 0x00, 0x7f, 0x00, 0x3f, 0x00, 0x1f, 0x00,
|
||||
0x0f, 0x00, 0x07, 0x00, 0x03, 0x00, 0x01, 0x00
|
||||
};
|
||||
|
||||
Display *dpy;
|
||||
Window leader;
|
||||
WMAppContext *app;
|
||||
|
||||
static void callback(void *foo, int item, Time time)
|
||||
{
|
||||
printf("pushed item %i\n", item);
|
||||
}
|
||||
|
||||
static void quit(void *foo, int item, Time time)
|
||||
{
|
||||
exit(0);
|
||||
}
|
||||
|
||||
static void hide(void *foo, int item, Time time)
|
||||
{
|
||||
WMHideApplication(app);
|
||||
}
|
||||
|
||||
Atom delete_win, miniaturize_win;
|
||||
Atom prots[6];
|
||||
GNUstepWMAttributes attr;
|
||||
XWMHints *hints;
|
||||
WMMenu *menu;
|
||||
WMMenu *submenu;
|
||||
int wincount = 0;
|
||||
|
||||
static void newwin(void *foo, int item, Time time)
|
||||
{
|
||||
Window win;
|
||||
XClassHint classhint;
|
||||
char title[100];
|
||||
|
||||
wincount++;
|
||||
win = XCreateSimpleWindow(dpy, DefaultRootWindow(dpy), 10 * wincount, 10 * wincount, 200, 100, 0, 0, 0);
|
||||
prots[0] = delete_win;
|
||||
prots[1] = miniaturize_win;
|
||||
XSetWMProtocols(dpy, win, prots, 2);
|
||||
sprintf(title, "Test Window %i", wincount);
|
||||
XStoreName(dpy, win, title);
|
||||
|
||||
/* set class hint */
|
||||
classhint.res_name = "test";
|
||||
classhint.res_class = "Test";
|
||||
XSetClassHint(dpy, win, &classhint);
|
||||
|
||||
/* set WindowMaker hints */
|
||||
attr.flags = GSMiniaturizePixmapAttr | GSMiniaturizeMaskAttr;
|
||||
attr.miniaturize_pixmap = XCreateBitmapFromData(dpy, DefaultRootWindow(dpy), bits, 10, 10);
|
||||
|
||||
attr.miniaturize_mask = XCreateBitmapFromData(dpy, DefaultRootWindow(dpy), mbits, 10, 10);
|
||||
/*
|
||||
attr.flags |= GSWindowStyleAttr;
|
||||
attr.window_style = NSTitledWindowMask|NSClosableWindowMask;
|
||||
*/
|
||||
|
||||
WMSetWindowAttributes(dpy, win, &attr);
|
||||
|
||||
hints = XAllocWMHints();
|
||||
/* set window group leader */
|
||||
hints->window_group = leader;
|
||||
hints->flags = WindowGroupHint;
|
||||
XSetWMHints(dpy, win, hints);
|
||||
|
||||
WMAppAddWindow(app, win);
|
||||
XMapWindow(dpy, win);
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
XClassHint classhint;
|
||||
|
||||
dpy = XOpenDisplay("");
|
||||
if (!dpy) {
|
||||
puts("could not open display!");
|
||||
exit(1);
|
||||
}
|
||||
delete_win = XInternAtom(dpy, "WM_DELETE_WINDOW", False);
|
||||
miniaturize_win = XInternAtom(dpy, "_GNUSTEP_WM_MINIATURIZE_WINDOW", False);
|
||||
|
||||
leader = XCreateSimpleWindow(dpy, DefaultRootWindow(dpy), 10, 10, 10, 10, 0, 0, 0);
|
||||
/* set class hint */
|
||||
classhint.res_name = "test";
|
||||
classhint.res_class = "Test";
|
||||
XSetClassHint(dpy, leader, &classhint);
|
||||
|
||||
/* set window group leader to self */
|
||||
hints = XAllocWMHints();
|
||||
hints->window_group = leader;
|
||||
hints->flags = WindowGroupHint;
|
||||
XSetWMHints(dpy, leader, hints);
|
||||
|
||||
/* create app context */
|
||||
app = WMAppCreateWithMain(dpy, DefaultScreen(dpy), leader);
|
||||
menu = WMMenuCreate(app, "Test Menu");
|
||||
submenu = WMMenuCreate(app, "File");
|
||||
WMMenuAddSubmenu(menu, "File", submenu);
|
||||
|
||||
WMMenuAddItem(menu, "Hide", (WMMenuAction) hide, NULL, NULL, NULL);
|
||||
WMMenuAddItem(menu, "Quit", (WMMenuAction) quit, NULL, NULL, NULL);
|
||||
WMMenuAddItem(submenu, "New", (WMMenuAction) newwin, NULL, NULL, NULL);
|
||||
WMMenuAddItem(submenu, "Open", (WMMenuAction) callback, NULL, NULL, NULL);
|
||||
WMMenuAddItem(submenu, "Save", (WMMenuAction) callback, NULL, NULL, NULL);
|
||||
WMMenuAddItem(submenu, "Save As...", (WMMenuAction) callback, NULL, NULL, NULL);
|
||||
|
||||
WMAppSetMainMenu(app, menu);
|
||||
|
||||
WMRealizeMenus(app);
|
||||
|
||||
/* set command to use to startup this */
|
||||
XSetCommand(dpy, leader, argv, argc);
|
||||
|
||||
/* create first window */
|
||||
newwin(NULL, 0, 0);
|
||||
|
||||
XFlush(dpy);
|
||||
puts("Run xprop on the test window to see the properties defined");
|
||||
while (wincount > 0) {
|
||||
XEvent ev;
|
||||
XNextEvent(dpy, &ev);
|
||||
if (ev.type == ClientMessage) {
|
||||
if (ev.xclient.data.l[0] == delete_win) {
|
||||
XDestroyWindow(dpy, ev.xclient.window);
|
||||
wincount--;
|
||||
} else if (ev.xclient.data.l[0] == miniaturize_win) {
|
||||
puts("You've pushed the maximize window button");
|
||||
}
|
||||
}
|
||||
WMProcessEvent(app, &ev);
|
||||
}
|
||||
exit(0);
|
||||
}
|
||||
Reference in New Issue
Block a user