This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project wmaker-crm.git.
The branch, next has been updated
via 93687024ce6e3591b650177d12e2c7dd1d1af216 (commit)
from 9fa427bc7f91249568fdccf88682e86438299dab (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://repo.or.cz/w/wmaker-crm.git/commit/93687024ce6e3591b650177d12e2c7dd1d1af216
commit 93687024ce6e3591b650177d12e2c7dd1d1af216
Author: Rodolfo GarcÃa Peñas (kix) <[email protected]>
Date: Wed Oct 5 23:25:45 2011 +0200
debian: add back wmlib folder
diff --git a/debian/changelog b/debian/changelog
index c81581a..54633bb 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -10,6 +10,8 @@ wmaker (0.94.0-1) unstable; urgency=low
* Standard-Version is now 3.9.2
* manpages moved to upstream
* solved some problems with .la files (lintian clean)
+ * libwmaker0-dev is not included in upstream version.
+ Now included as patch (52_libwmaker0dev.diff)
-- Rodolfo GarcÃa Peñas (kix) <[email protected]> Mon, 28 Sep 2011 19:29:12 +0200
diff --git a/debian/control b/debian/control
index 9980c7c..b4e385f 100644
--- a/debian/control
+++ b/debian/control
@@ -49,8 +49,9 @@ Description: Static libraries and headers for Window Maker
applications
This package contains libWMaker and header files, for building
Window Maker aware applications.
.
- This package is (now) an empty package and should have problems because
- is needed for other packages.
+ Static libraries and headers for Window Maker applications
+ Contains libWMaker and header files, for building Window Maker aware
+ applications.
Package: libwraster3-dev
Architecture: any
diff --git a/debian/libwmaker0-dev.install b/debian/libwmaker0-dev.install
new file mode 100644
index 0000000..575ad17
--- /dev/null
+++ b/debian/libwmaker0-dev.install
@@ -0,0 +1,2 @@
+usr/include/WMaker.h
+usr/lib/libWMaker.a
diff --git a/debian/patches/52_libwmaker0dev.diff
b/debian/patches/52_libwmaker0dev.diff
new file mode 100644
index 0000000..129bd28
--- /dev/null
+++ b/debian/patches/52_libwmaker0dev.diff
@@ -0,0 +1,863 @@
+Description: This patch creates the wmlib folder. Is needed for
libwmaker0-dev, used by wterm and fsviewer debian applications.
+Author: Rodolfo GarcÃa Peñas (kix) <[email protected]>
+Last-Update: 2011-10-05
+--- a/configure.ac
++++ b/configure.ac
+@@ -636,6 +636,9 @@
+ fi
+ fi
+
++# for wmlib
++AC_SUBST(XCFLAGS)
++
+ AC_SUBST(XLFLAGS)
+ AC_SUBST(XLIBS)
+ AC_SUBST(X_EXTRA_LIBS)
+@@ -866,7 +869,7 @@
+ WINGs/Makefile WINGs/WINGs/Makefile WINGs/Documentation/Makefile +
WINGs/Examples/Makefile WINGs/Resources/Makefile WINGs/Tests/Makefile +
WINGs/Extras/Makefile WINGs/po/Makefile +- wrlib/Makefile
wrlib/tests/Makefile ++ wmlib/Makefile wrlib/Makefile wrlib/tests/Makefile +
src/Makefile src/wconfig.h + doc/Makefile doc/sk/Makefile doc/cs/Makefile +
doc/ru/Makefile +--- /dev/null
++++ b/wmlib/app.c
+@@ -0,0 +1,79 @@
++/* app.c - application context stuff
++ *
++ * WMlib - WindowMaker application programming interface
++ *
++ * Copyright (C) 1997-2003 Alfredo K. Kojima
++ *
++ * This library is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU Library General Public
++ * License as published by the Free Software Foundation; either
++ * version 2 of the License, or (at your option) any later version.
++ *
++ * This library is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Library General Public License for more details.
++ *
++ * You should have received a copy of the GNU Library General Public
++ * License along with this library; if not, write to the Free
++ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
++ */
++
++#include <X11/Xlib.h>
++#include <stdlib.h>
++#include <string.h>
++
++#include "WMaker.h"
++#include "app.h"
++
++WMAppContext *WMAppCreateWithMain(Display * display, int screen_number,
Window main_window)
++{
++ wmAppContext *ctx;
++
++ ctx = malloc(sizeof(wmAppContext));
++ if (!ctx)
++ return NULL;
++
++ ctx->dpy = display;
++ ctx->screen_number = screen_number;
++ ctx->our_leader_hint = False;
++ ctx->main_window = main_window;
++ ctx->windows = malloc(sizeof(Window));
++ if (!ctx->windows) {
++ free(ctx);
++ return NULL;
++ }
++ ctx->win_count = 1;
++ ctx->windows[0] = main_window;
++
++ ctx->main_menu = NULL;
++
++ ctx->last_menu_tag = 100;
++
++ return ctx;
++}
++
++int WMAppAddWindow(WMAppContext * app, Window window)
++{
++ Window *win;
++
++ win = malloc(sizeof(Window) * (app->win_count + 1));
++ if (!win)
++ return False;
++
++ memcpy(win, app->windows, sizeof(Window) * app->win_count);
++
++ free(app->windows);
++
++ win[app->win_count] = window;
++ app->windows = win;
++ app->win_count++;
++
++ return True;
++}
++
++int WMAppSetMainMenu(WMAppContext * app, WMMenu * menu)
++{
++ app->main_menu = menu;
++ return True;
++}
+--- /dev/null
++++ b/wmlib/app.h
+@@ -0,0 +1,40 @@
++/* app.h - private declarations for application context
++ *
++ * WMlib - WindowMaker application programming interface
++ *
++ * Copyright (C) 1997-2003 Alfredo K. Kojima
++ *
++ * This library is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU Library General Public
++ * License as published by the Free Software Foundation; either
++ * version 2 of the License, or (at your option) any later version.
++ *
++ * This library is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Library General Public License for more details.
++ *
++ * You should have received a copy of the GNU Library General Public
++ * License along with this library; if not, write to the Free
++ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
++ */
++
++#ifndef _APP_H_
++#define _APP_H_
++
++typedef struct _wmAppContext {
++ Display *dpy;
++ int screen_number;
++
++ int our_leader_hint; /* if app leader hint was set by us */
++ Window main_window; /* main window of the
application */
++ Window *windows;
++ int win_count; /* size of windows array */
++
++ WMMenu *main_menu;
++
++ int last_menu_tag;
++} wmAppContext;
++
++#endif
++
+--- /dev/null
++++ b/wmlib/command.c
+@@ -0,0 +1,74 @@
++/* command.c - WindowMaker commands
++ *
++ * WMlib - WindowMaker application programming interface
++ *
++ * Copyright (C) 1997-2003 Alfredo K. Kojima
++ *
++ * This library is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU Library General Public
++ * License as published by the Free Software Foundation; either
++ * version 2 of the License, or (at your option) any later version.
++ *
++ * This library is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Library General Public License for more details.
++ *
++ * You should have received a copy of the GNU Library General Public
++ * License along with this library; if not, write to the Free
++ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
++ */
++
++#include <X11/Xlib.h>
++#include <stdlib.h>
++
++#include "WMaker.h"
++#include "app.h"
++
++static Atom getwmfunc(Display * dpy)
++{
++ return XInternAtom(dpy, "_WINDOWMAKER_WM_FUNCTION", False);
++}
++
++void WMHideApplication(WMAppContext * app)
++{
++ XEvent event;
++
++ event.xclient.type = ClientMessage;
++ event.xclient.message_type = getwmfunc(app->dpy);
++ event.xclient.format = 32;
++ event.xclient.display = app->dpy;
++ event.xclient.window = app->main_window;
++ event.xclient.data.l[0] = WMFHideApplication;
++ event.xclient.data.l[1] = 0;
++ event.xclient.data.l[2] = 0;
++ event.xclient.data.l[3] = 0;
++ XSendEvent(app->dpy, RootWindow(app->dpy, app->screen_number), False,
++ SubstructureNotifyMask | SubstructureRedirectMask, &event);
++}
++
++void WMHideOthers(WMAppContext * app)
++{
++ XEvent event;
++
++ event.xclient.type = ClientMessage;
++ event.xclient.message_type = getwmfunc(app->dpy);
++ event.xclient.format = 32;
++ event.xclient.display = app->dpy;
++ event.xclient.window = app->main_window;
++ event.xclient.data.l[0] = WMFHideOtherApplications;
++ event.xclient.data.l[1] = 0;
++ event.xclient.data.l[2] = 0;
++ event.xclient.data.l[3] = 0;
++ XSendEvent(app->dpy, RootWindow(app->dpy, app->screen_number), False,
++ SubstructureNotifyMask | SubstructureRedirectMask, &event);
++}
++
++void WMSetWindowAttributes(Display * dpy, Window window, GNUstepWMAttributes
* attributes)
++{
++ Atom atom;
++
++ atom = XInternAtom(dpy, "_GNUSTEP_WM_ATTR", False);
++ XChangeProperty(dpy, window, atom, atom, 32, PropModeReplace,
++ (unsigned char *)attributes,
sizeof(GNUstepWMAttributes) / sizeof(CARD32));
++}
+--- /dev/null
++++ b/wmlib/event.c
+@@ -0,0 +1,86 @@
++/* event.c - WindowMaker event handler
++ *
++ * WMlib - WindowMaker application programming interface
++ *
++ * Copyright (C) 1997-2003 Alfredo K. Kojima
++ *
++ * This library is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU Library General Public
++ * License as published by the Free Software Foundation; either
++ * version 2 of the License, or (at your option) any later version.
++ *
++ * This library is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Library General Public License for more details.
++ *
++ * You should have received a copy of the GNU Library General Public
++ * License along with this library; if not, write to the Free
++ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
++ */
++
++#include <stdlib.h>
++#include <stdio.h>
++#include <X11/Xlib.h>
++#include <X11/Xutil.h>
++
++#include "WMaker.h"
++#include "app.h"
++#include "menu.h"
++
++static Atom _XA_WINDOWMAKER_MENU = 0;
++
++enum {
++ wmSelectItem = 1
++};
++
++static wmMenuEntry *findEntry(WMMenu * menu, int tag)
++{
++ wmMenuEntry *entry = menu->first;
++
++ while (entry) {
++ if (entry->tag == tag) {
++ return entry;
++ }
++ if (entry->cascade) {
++ wmMenuEntry *tmp;
++ tmp = findEntry(entry->cascade, tag);
++ if (tmp)
++ return tmp;
++ }
++ entry = entry->next;
++ }
++ return NULL;
++}
++
++static void wmHandleMenuEvents(WMAppContext * app, XEvent * event)
++{
++ wmMenuEntry *entry;
++
++ switch (event->xclient.data.l[1]) {
++ case wmSelectItem:
++ entry = findEntry(app->main_menu, event->xclient.data.l[2]);
++ if (entry && entry->callback) {
++ (*entry->callback) (entry->clientData,
event->xclient.data.l[2], event->xclient.data.l[0]);
++ }
++ break;
++ }
++}
++
++int WMProcessEvent(WMAppContext * app, XEvent * event)
++{
++ int proc = False;
++ if (!_XA_WINDOWMAKER_MENU) {
++ _XA_WINDOWMAKER_MENU = XInternAtom(app->dpy,
"_WINDOWMAKER_MENU", False);
++ }
++ switch (event->type) {
++ case ClientMessage:
++ if (event->xclient.format == 32
++ && event->xclient.message_type == _XA_WINDOWMAKER_MENU
++ && event->xclient.window == app->main_window) {
++ wmHandleMenuEvents(app, event);
++ proc = True;
++ }
++ }
++ return proc;
++}
+--- /dev/null
++++ b/wmlib/Makefile.am
+@@ -0,0 +1,51 @@
++
++AUTOMAKE_OPTIONS = no-dependencies
++
++libWMaker_la_LDFLAGS = -version-info 1:1:0
++lib_LTLIBRARIES = libWMaker.la
++
++include_HEADERS = WMaker.h
++
++INCLUDES = $(DFLAGS) @XCFLAGS@
++
++libWMaker_a_AR = $(QUIET_AR) $(AR) $(ARFLAGS)
++
++libWMaker_la_SOURCES = ++ menu.c ++ app.c
++ event.c ++ command.c ++ app.h ++
menu.h
++
++DISTCLEANFILES = wmlib.pc
++
++wmlib.pc: Makefile
++ @echo "Generating $@"
++ @echo 'Name: wmlib' > $@
++ @echo 'Description: WindowMaker library' >> $@
++ @echo 'Version: $(VERSION)' >> $@
++ @echo 'Requires: wrlib' >> $@
++ @echo 'Libs: $(lib_search_path) -lWUtil $(NETLIBS) $(INTLIBS) >> $@
++ @echo 'Cflags: $(inc_search_path)' >> $@
++
++install-exec-local:
++ @$(NORMAL_INSTALL)
++ $(mkinstalldirs) $(DESTDIR)$(libdir)/pkgconfig
++ @list='wmlib.pc'; for p in $$list; do ++ if test -f $$p; then
++ echo "$(INSTALL_DATA) $$p $(DESTDIR)$(libdir)/pkgconfig/"; ++
$(INSTALL_DATA) $$p $(DESTDIR)$(libdir)/pkgconfig/; ++ else :; fi;
++ done
++
++LIBTOOL = $(SHELL) $(top_srcdir)/libtool $(LIBTOOL_ARG)
++
++.c.o:
++ $(QUIET)$(COMPILE) -c $<
++
++.c.obj:
++ $(QUIET)$(COMPILE) -c `$(CYGPATH_W) '$<'`
++
++.c.lo:
++ $(QUIET)$(LTCOMPILE) -c -o $@ $<
+--- /dev/null
++++ b/wmlib/menu.c
+@@ -0,0 +1,238 @@
++/* menu.c - menu interface functions
++ *
++ * WMlib - WindowMaker application programming interface
++ *
++ * Copyright (C) 1997-2003 Alfredo K. Kojima
++ *
++ * This library is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU Library General Public
++ * License as published by the Free Software Foundation; either
++ * version 2 of the License, or (at your option) any later version.
++ *
++ * This library is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Library General Public License for more details.
++ *
++ * You should have received a copy of the GNU Library General Public
++ * License along with this library; if not, write to the Free
++ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
++ */
++
++#include <stdlib.h>
++#include <stdio.h>
++#include <string.h>
++#include <X11/Xlib.h>
++#include <X11/Xutil.h>
++
++#include "WMaker.h"
++#include "app.h"
++#include "menu.h"
++
++WMMenu *WMMenuCreate(WMAppContext * app, char *title)
++{
++ wmMenu *menu;
++
++ if (strlen(title) > 255)
++ return NULL;
++
++ menu = malloc(sizeof(wmMenu));
++ if (!menu)
++ return NULL;
++
++ menu->appcontext = app;
++ menu->parent = NULL;
++ menu->title = title;
++ menu->entries = NULL;
++ menu->first = NULL;
++
++ menu->realized = False;
++ menu->code = app->last_menu_tag++;
++
++ menu->entryline = malloc(strlen(title) + 32);
++ menu->entryline2 = malloc(32);
++ if (!menu->entryline || !menu->entryline2) {
++ if (menu->entryline)
++ free(menu->entryline);
++ free(menu);
++ return NULL;
++ }
++ sprintf(menu->entryline, "%i %i %s", wmBeginMenu, menu->code, title);
++ sprintf(menu->entryline2, "%i %i", wmEndMenu, menu->code);
++ return menu;
++}
++
++int
++WMMenuAddItem(WMMenu * menu, char *text, WMMenuAction action,
++ void *clientData, WMFreeFunction freedata, char *rtext)
++{
++ wmMenuEntry *entry;
++
++ /* max size of right side text */
++ if (rtext && strlen(rtext) > 4)
++ return -1;
++
++ /* max size of menu text */
++ if (strlen(text) > 255)
++ return -1;
++
++ entry = malloc(sizeof(wmMenuEntry));
++ if (!entry)
++ return -1;
++
++ entry->entryline = malloc(strlen(text) + 100);
++ if (!entry->entryline) {
++ free(menu);
++ return -1;
++ }
++
++ if (menu->entries)
++ entry->order = menu->entries->order + 1;
++ else {
++ entry->order = 0;
++ menu->first = entry;
++ }
++ entry->next = NULL;
++ entry->prev = menu->entries;
++ if (menu->entries)
++ menu->entries->next = entry;
++ menu->entries = entry;
++
++ entry->menu = menu;
++ entry->text = text;
++ entry->shortcut = rtext;
++ entry->callback = action;
++ entry->clientData = clientData;
++ entry->free = freedata;
++ entry->tag = menu->appcontext->last_menu_tag++;
++ entry->cascade = NULL;
++ entry->enabled = True;
++
++ if (!rtext)
++ sprintf(entry->entryline, "%i %i %i %i %s", wmNormalItem,
menu->code, entry->tag, True, text);
++ else
++ sprintf(entry->entryline, "%i %i %i %i %s %s", wmDoubleItem,
++ menu->code, entry->tag, True, rtext, text);
++ return entry->tag;
++}
++
++int WMMenuAddSubmenu(WMMenu * menu, char *text, WMMenu * submenu)
++{
++ wmMenuEntry *entry;
++
++ /* max size of menu text */
++ if (strlen(text) > 255)
++ return -1;
++
++ entry = malloc(sizeof(wmMenuEntry));
++ if (!entry)
++ return -1;
++
++ entry->entryline = malloc(strlen(text) + 100);
++ if (!entry->entryline) {
++ free(menu);
++ return -1;
++ }
++
++ if (menu->entries)
++ entry->order = menu->entries->order + 1;
++ else {
++ entry->order = 0;
++ menu->first = entry;
++ }
++ entry->next = NULL;
++ entry->prev = menu->entries;
++ if (menu->entries)
++ menu->entries->next = entry;
++ menu->entries = entry;
++ entry->menu = menu;
++ entry->text = text;
++ entry->shortcut = NULL;
++ entry->callback = NULL;
++ entry->clientData = NULL;
++ entry->tag = menu->appcontext->last_menu_tag++;
++ entry->cascade = submenu;
++ entry->enabled = True;
++
++ sprintf(entry->entryline, "%i %i %i %i %i %s", wmSubmenuItem,
++ menu->code, entry->tag, True, submenu->code, text);
++ return entry->tag;
++}
++
++static int countItems(WMMenu * menu)
++{
++ wmMenuEntry *entry = menu->first;
++ int c;
++
++ c = 1;
++ while (entry) {
++ c++;
++ if (entry->cascade) {
++ c += countItems(entry->cascade);
++ }
++ entry = entry->next;
++ }
++ c++;
++ return c;
++}
++
++static void addItems(char **slist, int *index, WMMenu * menu)
++{
++ wmMenuEntry *entry = menu->first;
++
++ slist[(*index)++] = menu->entryline;
++ while (entry) {
++ slist[(*index)++] = entry->entryline;
++ if (entry->cascade) {
++ addItems(slist, index, entry->cascade);
++ }
++ entry = entry->next;
++ }
++ slist[(*index)++] = menu->entryline2;
++}
++
++static Atom getatom(Display * dpy)
++{
++ static Atom atom = 0;
++
++ if (atom == 0) {
++ atom = XInternAtom(dpy, WMMENU_PROPNAME, False);
++ }
++ return atom;
++}
++
++int WMRealizeMenus(WMAppContext * app)
++{
++ int i, count;
++ char **slist;
++ XTextProperty text_prop;
++
++ if (!app->main_menu)
++ return False;
++
++ /* first count how many menu items there are */
++ count = countItems(app->main_menu);
++ if (count == 0)
++ return True;
++
++ count++;
++ slist = malloc(count * sizeof(char *));
++ if (!slist) {
++ return False;
++ }
++
++ slist[0] = "WMMenu 0";
++ i = 1;
++ addItems(slist, &i, app->main_menu);
++
++ if (!XStringListToTextProperty(slist, i, &text_prop)) {
++ free(slist);
++ return False;
++ }
++ free(slist);
++ XSetTextProperty(app->dpy, app->main_window, &text_prop,
getatom(app->dpy));
++
++ XFree(text_prop.value);
++
++ return True;
++}
+--- /dev/null
++++ b/wmlib/menu.h
+@@ -0,0 +1,75 @@
++/* menu.h - private menu declarations
++ *
++ * WMlib - WindowMaker application programming interface
++ *
++ * Copyright (C) 1997-2003 Alfredo K. Kojima
++ *
++ * This library is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU Library General Public
++ * License as published by the Free Software Foundation; either
++ * version 2 of the License, or (at your option) any later version.
++ *
++ * This library is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Library General Public License for more details.
++ *
++ * You should have received a copy of the GNU Library General Public
++ * License along with this library; if not, write to the Free
++ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
++ */
++
++#ifndef _MENU_H_
++#define _MENU_H_
++
++#define WMMENU_PROPNAME "_WINDOWMAKER_MENU"
++
++typedef struct _wmMenuEntry {
++ struct _wmMenuEntry *next;
++ struct _wmMenuEntry *prev;
++
++ struct _wmMenu *menu; /* menu for the entry */
++
++ char *text; /* entry text */
++ char *shortcut;
++ WMMenuAction callback;
++ void *clientData; /* data to pass to callback */
++ WMFreeFunction free; /* function to free clientData */
++ int tag; /* unique entry ID */
++
++ struct _wmMenu *cascade; /* cascade menu */
++ short order;
++ short enabled; /* entry is selectable */
++
++ char *entryline;
++} wmMenuEntry;
++
++
++typedef struct _wmMenu {
++ wmAppContext *appcontext;
++ int code;
++
++ struct _wmMenu *parent;
++
++ char *title; /* menu title */
++ wmMenuEntry *entries; /* list of entries */
++ wmMenuEntry *first; /* first of list of entries */
++ int realized;
++
++ char *entryline;
++ char *entryline2;
++} wmMenu;
++
++
++
++enum {
++ wmBeginMenu = 1,
++ wmEndMenu = 2,
++ wmNormalItem = 10,
++ wmDoubleItem = 11,
++ wmSubmenuItem = 12
++};
++
++
++#endif
++
+--- /dev/null
++++ b/wmlib/WMaker.h
+@@ -0,0 +1,161 @@
++/*
++ * WindowMaker interface definitions
++ *
++ * Copyright (C) 1997-2003 Alfredo K. Kojima
++ *
++ * This library is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU Library General Public
++ * License as published by the Free Software Foundation; either
++ * version 2 of the License, or (at your option) any later version.
++ *
++ * This library is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Library General Public License for more details.
++ *
++ * You should have received a copy of the GNU Library General Public
++ * License along with this library; if not, write to the Free
++ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
++ */
++
++#ifndef _WMLIB_H_
++#define _WMLIB_H_
++
++/* the definitions in this file can change at any time. WINGs has more
++ * stable definitions */
++
++#include <X11/Xlib.h>
++#include <X11/Xmd.h>
++
++#ifdef __cplusplus
++extern "C" {
++#endif /* __cplusplus */
++
++typedef struct {
++ CARD32 flags;
++ CARD32 window_style;
++ CARD32 window_level;
++ CARD32 reserved;
++ Pixmap miniaturize_pixmap; /* pixmap for miniaturize button
*/
++ Pixmap close_pixmap; /* pixmap for close button */
++ Pixmap miniaturize_mask; /* miniaturize pixmap mask */
++ Pixmap close_mask; /* close pixmap mask */
++ CARD32 extra_flags;
++} GNUstepWMAttributes;
++
++#define GSWindowStyleAttr (1<<0)
++#define GSWindowLevelAttr (1<<1)
++#define GSMiniaturizePixmapAttr (1<<3)
++#define GSClosePixmapAttr (1<<4)
++#define GSMiniaturizeMaskAttr (1<<5)
++#define GSCloseMaskAttr (1<<6)
++#define GSExtraFlagsAttr (1<<7)
++
++
++
++#define GSClientResizeFlag (1<<0)
++#define GSFullKeyboardEventsFlag (1<<1)
++#define GSMenuWindowFlag (1<<2)
++#define GSIconWindowFlag (1<<3)
++#define GSSkipWindowListFlag (1<<4)
++#define GSNoApplicationIconFlag (1<<5)
++#define GSDarkGrayTitlebarFlag (1<<8)
++
++
++#define WMFHideOtherApplications 10
++#define WMFHideApplication 12
++
++
++#ifndef _DEFINED_GNUSTEP_WINDOW_INFO
++#define _DEFINED_GNUSTEP_WINDOW_INFO
++/*
++ * Window levels are taken from GNUstep (gui/AppKit/NSWindow.h)
++ * NSDesktopWindowLevel intended to be the level at which things
++ * on the desktop sit ... so you should be able
++ * to put a desktop background just below it.
++ *
++ * Applications are actually permitted to use any value in the
++ * range INT_MIN+1 to INT_MAX
++ */
++enum {
++ WMDesktopWindowLevel = -1000, /* GNUstep addition */
++ WMNormalWindowLevel = 0,
++ WMFloatingWindowLevel = 3,
++ WMSubmenuWindowLevel = 3,
++ WMTornOffMenuWindowLevel = 3,
++ WMMainMenuWindowLevel = 20,
++ WMDockWindowLevel = 21, /* Deprecated - use NSStatusWindowLevel */
++ WMStatusWindowLevel = 21,
++ WMModalPanelWindowLevel = 100,
++ WMPopUpMenuWindowLevel = 101,
++ WMScreenSaverWindowLevel = 1000
++};
++
++
++/* window attributes */
++enum {
++ WMBorderlessWindowMask = 0,
++ WMTitledWindowMask = 1,
++ WMClosableWindowMask = 2,
++ WMMiniaturizableWindowMask = 4,
++ WMResizableWindowMask = 8,
++ WMIconWindowMask = 64,
++ WMMiniWindowMask = 128
++};
++#endif
++
++typedef struct _wmAppContext WMAppContext;
++
++typedef struct _wmMenu WMMenu;
++
++typedef void (*WMMenuAction)(void *clientdata, int code, Time timestamp);
++
++typedef void (*WMFreeFunction)(void *clientdata);
++
++int WMProcessEvent(WMAppContext *app, XEvent *event);
++
++
++WMAppContext *WMAppCreateWithMain(Display *display, int screen_number,
++ Window main_window);
++
++WMAppContext *WMAppCreate(Display *display, int screen_number);
++
++int WMAppAddWindow(WMAppContext *app, Window window);
++
++int WMAppSetMainMenu(WMAppContext *app, WMMenu *menu);
++
++
++int WMRealizeMenus(WMAppContext *app);
++
++
++void WMSetWindowAttributes(Display *dpy, Window window,
++ GNUstepWMAttributes *attributes);
++
++
++void WMHideApplication(WMAppContext *app);
++void WMHideOthers(WMAppContext *app);
++
++/*
++ * WARNING: the menu related functions might be removed in the future.
++ */
++WMMenu *WMMenuCreate(WMAppContext *app, char *title);
++
++int WMMenuAddItem(WMMenu *menu, char *text, WMMenuAction action,
++ void *clientData, WMFreeFunction freedata, char *rtext);
++
++int WMMenuInsertItem(WMMenu *menu, int index, char *text,
++ WMMenuAction *action, char *rtext);
++
++int WMMenuRemoveItem(WMMenu *menu, int index);
++
++int WMMenuAddSubmenu(WMMenu *menu, char *title, WMMenu *submenu);
++
++void WMMenuSetEnabled(WMMenu *menu, int index, int enabled);
++
++void WMMenuDestroy(WMMenu *menu, int submenus);
++
++#ifdef __cplusplus
++}
++#endif /* __cplusplus */
++
++#endif
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -31,7 +31,7 @@
+
+ ACLOCAL_AMFLAGS = -I m4
+
+-SUBDIRS = wrlib WINGs src util po WindowMaker WPrefs.app doc
++SUBDIRS = wrlib WINGs src util po WindowMaker wmlib WPrefs.app doc
+
+ EXTRA_DIST = TODO BUGS BUGFORM FAQ FAQ.I18N INSTALL + INSTALL-WMAKER
README.definable-cursor diff --git a/debian/patches/series
b/debian/patches/series
index d53b6e6..6c23544 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
50_def_config_paths.diff
51_wmaker_man.diff
+52_libwmaker0dev.diff
diff --git a/debian/source/options b/debian/source/options
index d3224e6..82379ee 100644
--- a/debian/source/options
+++ b/debian/source/options
@@ -1,2 +1,2 @@
# Don't store changes on autogenerated files
-extend-diff-ignore = "(^|/)(config.sub|config.guess|Makefile)$"
+extend-diff-ignore =
"(^|/)(config.sub|config.guess|Makefile|configure|Makefile.in)$"
-----------------------------------------------------------------------
Summary of changes:
debian/changelog | 2 +
debian/control | 5 +-
debian/libwmaker0-dev.install | 2 +
debian/patches/52_libwmaker0dev.diff | 863 ++++++++++++++++++++++++++++++++++
debian/patches/series | 1 +
debian/source/options | 2 +-
6 files changed, 872 insertions(+), 3 deletions(-)
create mode 100644 debian/libwmaker0-dev.install
create mode 100644 debian/patches/52_libwmaker0dev.diff
repo.or.cz automatic notification. Contact project admin [email protected]
if you want to unsubscribe, or site admin [email protected] if you receive
no reply.
--
wmaker-crm.git ("Fork from the last available CVS version of Window Maker")
--
To unsubscribe, send mail to [email protected].