diff options
author | Nick Hadaway <raker@gentoo.org> | 2003-07-11 02:37:21 +0000 |
---|---|---|
committer | Nick Hadaway <raker@gentoo.org> | 2003-07-11 02:37:21 +0000 |
commit | 3dbf738a5b059a32497d9e999f6101286e3381aa (patch) | |
tree | 8b7857d5d1e756ece67175579f07fff5eb8205bb /x11-wm/windowmaker | |
parent | Marked 2.7.1 as x86 (diff) | |
download | historical-3dbf738a5b059a32497d9e999f6101286e3381aa.tar.gz historical-3dbf738a5b059a32497d9e999f6101286e3381aa.tar.bz2 historical-3dbf738a5b059a32497d9e999f6101286e3381aa.zip |
filter bad flags, add menu transparency and a keyboard scolling patch
Diffstat (limited to 'x11-wm/windowmaker')
-rw-r--r-- | x11-wm/windowmaker/ChangeLog | 8 | ||||
-rw-r--r-- | x11-wm/windowmaker/Manifest | 8 | ||||
-rw-r--r-- | x11-wm/windowmaker/files/digest-windowmaker-0.80.2-r3 | 2 | ||||
-rw-r--r-- | x11-wm/windowmaker/files/trance.patch.WM-0.80.2.diff | 334 | ||||
-rw-r--r-- | x11-wm/windowmaker/files/wlist.patch | 90 | ||||
-rw-r--r-- | x11-wm/windowmaker/windowmaker-0.80.2-r3.ebuild | 154 |
6 files changed, 593 insertions, 3 deletions
diff --git a/x11-wm/windowmaker/ChangeLog b/x11-wm/windowmaker/ChangeLog index 62488caa9a31..956d3f5fd319 100644 --- a/x11-wm/windowmaker/ChangeLog +++ b/x11-wm/windowmaker/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for x11-wm/windowmaker # Copyright 2002-2003 Gentoo Technologies, Inc.; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/x11-wm/windowmaker/ChangeLog,v 1.5 2003/06/20 02:49:21 kumba Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-wm/windowmaker/ChangeLog,v 1.6 2003/07/11 02:37:17 raker Exp $ + +*windowmaker-0.80.2-r3 (10 Jul 2003) + + 10 Jul 2003; Nick Hadaway <raker@gentoo.org> windowmaker-0.80.2-r3.ebuild, + file/wlist.patch, files/trance.patch.WM-0.80.2.diff: + Scroll with arrow keys and a menu transparency patch. :) 19 Jun 2003; Joshua Kinard <kumba@gentoo.org> windowmaker-0.80.2-r2.ebuild: Added ~mips to KEYWORDS. diff --git a/x11-wm/windowmaker/Manifest b/x11-wm/windowmaker/Manifest index 0fed24789d8f..37c0ee87b2a0 100644 --- a/x11-wm/windowmaker/Manifest +++ b/x11-wm/windowmaker/Manifest @@ -1,6 +1,10 @@ -MD5 c404478059d550ed8308e0f65d8626fd ChangeLog 4688 -MD5 e3776a252435548fd68f8ee6ef7e0c6c windowmaker-0.80.2-r1.ebuild 3470 MD5 43204b50424e186225c3328cddc33bea windowmaker-0.80.2-r2.ebuild 3497 +MD5 e3776a252435548fd68f8ee6ef7e0c6c windowmaker-0.80.2-r1.ebuild 3470 +MD5 d8eee7fa89cc0f81e5fe5f69d018e4d3 windowmaker-0.80.2-r3.ebuild 3754 +MD5 3bc2534665e2a67fb7371a161b5a4b25 ChangeLog 4918 +MD5 a42a33a349ca84fb6e2cc5fdbd627b99 files/trance.patch.WM-0.80.2.diff 9738 +MD5 a062e261bd5aaca39bc17be01f07f1b6 files/wlist.patch 2776 MD5 b5304655d4ff5441989ab94a1bdc9506 files/digest-windowmaker-0.80.2-r1 144 MD5 b5304655d4ff5441989ab94a1bdc9506 files/digest-windowmaker-0.80.2-r2 144 +MD5 b5304655d4ff5441989ab94a1bdc9506 files/digest-windowmaker-0.80.2-r3 144 MD5 9a5c9f1b2b44a678526f0fd71b2cf51d files/windowmaker-0.80.2-r1-gentoo.patch 4331 diff --git a/x11-wm/windowmaker/files/digest-windowmaker-0.80.2-r3 b/x11-wm/windowmaker/files/digest-windowmaker-0.80.2-r3 new file mode 100644 index 000000000000..4ef83da7e63a --- /dev/null +++ b/x11-wm/windowmaker/files/digest-windowmaker-0.80.2-r3 @@ -0,0 +1,2 @@ +MD5 e4b71ee2b35a4e16b371ab9595e7335f WindowMaker-0.80.2.tar.gz 2532831 +MD5 07c7700daaaf232bc490f5abaabef085 WindowMaker-extra-0.1.tar.gz 238018 diff --git a/x11-wm/windowmaker/files/trance.patch.WM-0.80.2.diff b/x11-wm/windowmaker/files/trance.patch.WM-0.80.2.diff new file mode 100644 index 000000000000..c5ef62f76cee --- /dev/null +++ b/x11-wm/windowmaker/files/trance.patch.WM-0.80.2.diff @@ -0,0 +1,334 @@ +--- WindowMaker-0.80.2/WPrefs.app/Appearance.c Tue Jan 8 08:44:38 2002 ++++ WindowMaker-0.80.2-trance/WPrefs.app/Appearance.c Tue Feb 4 20:45:34 2003 +@@ -82,6 +82,11 @@ + WMFrame *taliF; + WMButton *taliB[3]; + ++ WMFrame *tranceF; ++ WMButton *tranceB; ++ WMSlider *tranceSl; ++ WMLabel *tranceL; ++ + /* root bg */ + WMFrame *bgF; + +@@ -1683,6 +1688,23 @@ + } + } + ++static void ++tranceCallback(WMWidget *self, void *data) ++{ ++ _Panel *panel = (_Panel*)data; ++ char buffer[5]; ++ int i; ++ ++ i = WMGetSliderValue(panel->tranceSl); ++ i = 10*(10-i); ++ ++ if (i == 0) { ++ WMSetLabelText(panel->tranceL, "OFF"); ++ } else { ++ sprintf(buffer, "%i%%", i); ++ WMSetLabelText(panel->tranceL, buffer); ++ } ++} + + static void + createPanel(Panel *p) +@@ -1974,7 +1996,7 @@ + + + panel->taliF = WMCreateFrame(panel->optF); +- WMResizeWidget(panel->taliF, 110, 80); ++ WMResizeWidget(panel->taliF, 105, 80); + WMMoveWidget(panel->taliF, 15, 100); + WMSetFrameTitle(panel->taliF, _("Title Alignment")); + +@@ -1992,7 +2014,7 @@ + WMSetButtonText(panel->taliB[i], _("Right")); + break; + } +- WMResizeWidget(panel->taliB[i], 90, 18); ++ WMResizeWidget(panel->taliB[i], 85, 18); + WMMoveWidget(panel->taliB[i], 10, 15 + 20*i); + } + WMGroupButtons(panel->taliB[0], panel->taliB[1]); +@@ -2000,6 +2022,38 @@ + + WMMapSubwidgets(panel->taliF); + ++ ++ ++ panel->tranceF = WMCreateFrame(panel->optF); ++ WMResizeWidget(panel->tranceF, 105,80); ++ WMMoveWidget(panel->tranceF, 125, 100); ++ WMSetFrameTitle(panel->tranceF,_("Transparency")); ++ ++ WMSetBalloonTextForView(_("<yermom> i love windowmaker\n" ++ "<tarzeau> get some fresh sand-wich-es\n" ++ "<flip-> heh\n" ++ "<flip-> transparency\n" ++ "<flip-> moo\n" ++ "<flip-> :P\n"), WMWidgetView(panel->tranceF)); ++ ++ panel->tranceB = WMCreateSwitchButton(panel->tranceF); ++ WMSetButtonText(panel->tranceB, _("Menu")); ++ WMResizeWidget(panel->tranceB,85,18); ++ WMMoveWidget(panel->tranceB, 10, 15); ++ ++ panel->tranceSl = WMCreateSlider(panel->tranceF); ++ WMResizeWidget(panel->tranceSl, 70, 18); ++ WMMoveWidget(panel->tranceSl, 17, 15 + 20*2); ++ WMSetSliderMinValue(panel->tranceSl, 0); ++ WMSetSliderMaxValue(panel->tranceSl, 10); ++ WMSetSliderAction(panel->tranceSl, tranceCallback, panel); ++ ++ panel->tranceL = WMCreateLabel(panel->tranceF); ++ WMResizeWidget(panel->tranceL, 27, 18); ++ WMMoveWidget(panel->tranceL, 40, 35); ++ ++ WMMapSubwidgets(panel->tranceF); ++ + WMMapSubwidgets(panel->optF); + + /**/ +@@ -2058,6 +2112,7 @@ + static void + showData(_Panel *panel) + { ++ int x; + int i; + char *str; + +@@ -2103,6 +2158,13 @@ + + WMSetButtonSelected(panel->mstyB[panel->menuStyle], True); + WMSetButtonSelected(panel->taliB[panel->titleAlignment], True); ++ ++ ++ WMSetButtonSelected(panel->tranceB, GetBoolForKey("MenuTrance")); ++ ++ x = GetIntegerForKey("TranceAmount"); ++ WMSetSliderValue(panel->tranceSl, x); ++ tranceCallback(NULL, panel); + } + + +@@ -2154,6 +2216,9 @@ + SetStringForKey("center", "TitleJustify"); + break; + } ++ ++ SetBoolForKey(WMGetButtonSelected(panel->tranceB), "MenuTrance"); ++ SetIntegerForKey(WMGetSliderValue(panel->tranceSl), "TranceAmount"); + } + + +--- WindowMaker-0.80.2/src/WindowMaker.h Thu Feb 21 06:28:48 2002 ++++ WindowMaker-0.80.2-trance/src/WindowMaker.h Tue Feb 4 19:13:20 2003 +@@ -337,6 +337,8 @@ + char opaque_move; /* update window position during */ + /* move */ + ++ char menu_trance; /* whether menu should be translucent */ ++ int trance_amount; /* percentage of translucency */ + char wrap_menus; /* wrap menus at edge of screen */ + char scrollable_menus; /* let them be scrolled */ + char align_menus; /* align menu with their parents */ +--- WindowMaker-0.80.2/src/defaults.c Tue Jan 8 08:45:07 2002 ++++ WindowMaker-0.80.2-trance/src/defaults.c Tue Feb 4 19:13:07 2003 +@@ -494,6 +494,12 @@ + {"UseSaveUnders", "NO", NULL, + &wPreferences.use_saveunders, getBool, NULL + }, ++ {"MenuTrance", "NO", NULL, ++ &wPreferences.menu_trance, getBool, NULL ++ }, ++ {"TranceAmount", "30", NULL, ++ &wPreferences.trance_amount, getInt, NULL ++ }, + {"OpaqueMove", "NO", NULL, + &wPreferences.opaque_move, getBool, NULL + }, +--- WindowMaker-0.80.2/src/menu.c Thu Feb 21 06:28:48 2002 ++++ WindowMaker-0.80.2-trance/src/menu.c Tue Feb 4 18:50:02 2003 +@@ -85,6 +85,7 @@ + static void menuCloseClick(WCoreWindow *sender, void *data, XEvent *event); + + static void updateTexture(WMenu *menu); ++static void clipDimensionsToScreen(WMenu *menu, int *x, int *y, int *width, int *height); + + #ifndef LITE + static int saveMenuRecurs(WMPropList *menus, WScreen *scr, WMenu *menu); +@@ -480,16 +481,129 @@ + menu->menu->width-1, i*menu->entry_height, + &light); + } +- } +- if (!RConvertImage(scr->rcontext, img, &pix)) { +- wwarning(_("error rendering image:%s"), RMessageForError(RErrorCode)); +- } ++ } ++ if (!RConvertImage(scr->rcontext, img, &pix)) { ++ wwarning(_("error rendering image:%s"), RMessageForError(RErrorCode)); ++ } + RReleaseImage(img); + + return pix; + } + + ++ static void ++clipDimensionsToScreen(WMenu *menu, int *x, int *y, int *width, int *height) ++{ ++ int sw, sh; ++ int fx, fy; ++ ++ sw = menu->menu->screen_ptr->scr_width; ++ sh = menu->menu->screen_ptr->scr_height; ++ ++ fx = *x + *width; ++ fy = *y + *height; ++ ++ /* CLAMP everything */ ++ if (*x > sw) { *x = sw; } else if (*x < 0) { *x = 0; } ++ if (*y > sh) { *y = sh; } else if (*y < 0) { *y = 0; } ++ if (fx > sw) { fx = sw; } else if (fx < 0) { fx = 0; } ++ if (fy > sh) { fy = sh; } else if (fy < 0) { fy = 0; } ++ ++ /* Make sure that height and width are positive */ ++ if (fx < *x) { *width = 0; } else { *width = fx - *x; } ++ if (fy < *y) { *height = 0; } else { *height = fy - *y; } ++} ++ ++static Pixmap ++tranceMenu(WMenu *menu) ++{ ++ WScreen *scr = menu->menu->screen_ptr; ++ ++ XImage *back, *front; ++ RImage *trance, *menu_image, *msnormal; ++ Pixmap original, result; ++ ++ int mw, mh, dx, dy; /* these correspond to the menu proper */ ++ int gx, gy, gw, gh; /* these correspond to what we grab from the root window */ ++ int tamount; ++ unsigned long red_mask, green_mask, blue_mask; ++ ++ unsigned int w, h, bar; ++ int foo; ++ Window baz; ++ ++ mw = gw = menu->menu->width; ++ mh = gh = menu->menu->height; ++ dx = gx = menu->frame_x + 1; ++ dy = gy = menu->frame_y + menu->frame->top_width + 1; ++ ++ tamount = wPreferences.trance_amount; ++ clipDimensionsToScreen(menu, &gx, &gy, &gw, &gh); ++ back = XGetImage(dpy, scr->root_win, gx, gy, gw, gh, ++ AllPlanes, ZPixmap); ++ if (!back) { ++ wwarning(_("error capturing \"back\" image"),RMessageForError(RErrorCode)); ++ return None; ++ } else { ++ red_mask = back->red_mask; ++ green_mask = back->green_mask; ++ blue_mask = back->blue_mask; ++ ++ trance = RCreateImageFromXImage(scr->rcontext, back, NULL); ++ XDestroyImage(back); ++ if (!trance) { ++ wwarning(_("error rendering \"trance\" image"), ++ RMessageForError(RErrorCode)); ++ return None; ++ } else { ++ /************************************************************/ ++ original = renderTexture(menu); ++ ++ XGetGeometry(dpy, original, &baz, &foo, ++ &foo, &w, &h, &bar, &bar); ++ front = XGetImage(dpy, original, 0, 0, w, h, ++ AllPlanes, ZPixmap); ++ if (!front) { ++ wwarning(_("error capturing \"front\" image"), ++ RMessageForError(RErrorCode)); ++ return None; ++ } ++ front->red_mask = red_mask; ++ front->green_mask = green_mask; ++ front->blue_mask = blue_mask; ++ ++ menu_image=RCreateImageFromXImage(scr->rcontext,front,NULL); ++ ++ XDestroyImage(front); ++ /************************************************************/ ++ if (original) { ++ FREE_PIXMAP(original); ++ } ++ if (!menu_image) { ++ wwarning(_("error rendering \"menu_image\""), ++ RMessageForError(RErrorCode)); ++ return None; ++ } else { ++ if (wPreferences.menu_style == MS_NORMAL) { ++ msnormal = RMakeTiledImage(menu_image, mw, mh); ++ RCombineAreaWithOpaqueness(trance, msnormal,0,0,gw,gh, ++ gx - dx,gy - dy,256*tamount/10); ++ RReleaseImage(menu_image); ++ RReleaseImage(msnormal); ++ } else { ++ RCombineAreaWithOpaqueness(trance, menu_image,0,0,gw,gh, ++ gx - dx,gy - dy,256*tamount/10); ++ RReleaseImage(menu_image); ++ } ++ RConvertImage(scr->rcontext, trance, ++ &result); ++ } ++ RReleaseImage(trance); ++ } ++ } ++ return result; ++} ++ + static void + updateTexture(WMenu *menu) + { +@@ -500,7 +614,11 @@ + if (!menu->flags.brother) { + FREE_PIXMAP(menu->menu_texture_data); + +- menu->menu_texture_data = renderTexture(menu); ++ if (wPreferences.menu_trance) { ++ menu->menu_texture_data = tranceMenu(menu); ++ } else { ++ menu->menu_texture_data = renderTexture(menu); ++ } + + XSetWindowBackgroundPixmap(dpy, menu->menu->window, + menu->menu_texture_data); +@@ -1154,6 +1272,11 @@ + XMoveWindow(dpy, menu->frame->core->window, x, y); + menu->frame_x = x; + menu->frame_y = y; ++ /* FIXME: needs an if */ ++ if (wPreferences.menu_trance) { ++ updateTexture(menu); ++ } ++ /* */ + XMapWindow(dpy, menu->frame->core->window); + wRaiseFrame(menu->frame->core); + menu->flags.mapped = 1; +@@ -1178,6 +1301,11 @@ + menu->frame_y = menu->frame->screen_ptr->app_menu_y; + XMoveWindow(dpy, menu->frame->core->window, menu->frame_x, menu->frame_y); + } ++ /* FIXME: needs an if */ ++ if (wPreferences.menu_trance) { ++ updateTexture(menu); ++ } ++ /* */ + XMapWindow(dpy, menu->frame->core->window); + wRaiseFrame(menu->frame->core); + menu->flags.mapped = 1; diff --git a/x11-wm/windowmaker/files/wlist.patch b/x11-wm/windowmaker/files/wlist.patch new file mode 100644 index 000000000000..4e24e6f0d211 --- /dev/null +++ b/x11-wm/windowmaker/files/wlist.patch @@ -0,0 +1,90 @@ +--- wlist.c.orig Sat Apr 20 20:17:16 2002 ++++ wlist.c Sun Apr 21 14:12:06 2002 +@@ -4,6 +4,8 @@ + + #include "WINGsP.h" + ++#include <X11/keysym.h> ++ + char *WMListDidScrollNotification = "WMListDidScrollNotification"; + char *WMListSelectionDidChangeNotification = "WMListSelectionDidChangeNotification"; + +@@ -42,6 +44,7 @@ + unsigned int redrawPending:1; + unsigned int buttonPressed:1; + unsigned int buttonWasPressed:1; ++ unsigned int focused:1; + } flags; + } List; + +@@ -115,10 +118,10 @@ + lPtr->view->delegate = &_ListViewDelegate; + + WMCreateEventHandler(lPtr->view, ExposureMask|StructureNotifyMask +- |ClientMessageMask, handleEvents, lPtr); ++ |FocusChangeMask|ClientMessageMask, handleEvents, lPtr); + + WMCreateEventHandler(lPtr->view, ButtonPressMask|ButtonReleaseMask +- |EnterWindowMask|LeaveWindowMask|ButtonMotionMask, ++ |EnterWindowMask|LeaveWindowMask|ButtonMotionMask|KeyPressMask, + handleActionEvents, lPtr); + + lPtr->itemHeight = WMFontHeight(scrPtr->normalFont) + 1; +@@ -1011,6 +1014,11 @@ + int topItem = lPtr->topItem; + static int lastClicked = -1, prevItem = -1; + ++ /* for arrow keys handling */ ++ char buffer[64]; ++ KeySym ksym; ++ int count, row; ++ + CHECK_CLASS(data, WC_List); + + switch (event->type) { +@@ -1063,6 +1071,10 @@ + case ButtonPress: + if (event->xbutton.x <= WMWidgetWidth(lPtr->vScroller)) + break; ++ /* need focus for keyboard events */ ++ if (!lPtr->flags.focused); ++ WMSetFocusToWidget(lPtr); ++ + if (event->xbutton.button == WINGsConfiguration.mouseWheelDown || + event->xbutton.button == WINGsConfiguration.mouseWheelUp) { + int amount = 0; +@@ -1169,6 +1181,34 @@ + prevItem = tmp; + } + break; ++ case KeyPress: ++ /* handle arrow keys, space and return */ ++ count = XLookupString(&event->xkey, buffer, 63, &ksym, NULL); ++ buffer[count] = '\0'; ++ switch(ksym) { ++ case XK_Up: ++ row = WMGetListSelectedItemRow(lPtr); ++ WMSelectListItem(lPtr, row - 1); ++ if (row <= topItem) ++ scrollByAmount(lPtr, -1); ++ break; ++ case XK_Down: ++ row = WMGetListSelectedItemRow(lPtr); ++ WMSelectListItem(lPtr, row + 1); ++ if (row - topItem >= lPtr->fullFitLines) ++ scrollByAmount(lPtr, 1); ++ break; ++ case XK_space: ++ if (lPtr->action) ++ (*lPtr->action)(lPtr, lPtr->clientData); ++ break; ++ case XK_Return: ++ if (lPtr->doubleAction) ++ (*lPtr->doubleAction)(lPtr, lPtr->clientData); ++ break; ++ } ++ break; ++ + } + if (lPtr->topItem != topItem) + WMPostNotificationName(WMListDidScrollNotification, lPtr, NULL); diff --git a/x11-wm/windowmaker/windowmaker-0.80.2-r3.ebuild b/x11-wm/windowmaker/windowmaker-0.80.2-r3.ebuild new file mode 100644 index 000000000000..1a563cbf3500 --- /dev/null +++ b/x11-wm/windowmaker/windowmaker-0.80.2-r3.ebuild @@ -0,0 +1,154 @@ +# Copyright 1999-2003 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-wm/windowmaker/windowmaker-0.80.2-r3.ebuild,v 1.1 2003/07/11 02:37:20 raker Exp $ + +inherit eutils flag-o-matic +filter-flags "-mfpmath=sse,387 -mfpmath=sse -mfpmath=387" + +IUSE="gif nls png kde oss jpeg gnome" + +MY_P=${P/windowm/WindowM} +S=${WORKDIR}/${MY_P} + +DESCRIPTION="The fast and light GNUstep window manager" +SRC_URI="ftp://ftp.windowmaker.org/pub/source/release/${MY_P}.tar.gz + ftp://ftp.windowmaker.org/pub/source/release/WindowMaker-extra-0.1.tar.gz" +HOMEPAGE="http://www.windowmaker.org/" + +DEPEND="virtual/x11 + media-libs/hermes + >=media-libs/tiff-3.5.5 + gif? ( >=media-libs/giflib-4.1.0-r3 + >=media-libs/libungif-4.1.0 ) + png? ( >=media-libs/libpng-1.2.1 ) + jpeg? ( >=media-libs/jpeg-6b-r2 )" + +RDEPEND="nls? ( >=sys-devel/gettext-0.10.39 )" + +SLOT="0" +LICENSE="GPL-2" +KEYWORDS="~x86 ~ppc ~sparc ~alpha ~mips" + +src_unpack() { + unpack ${A} + cd ${S} + epatch ${FILESDIR}/${PN}-0.80.2-r1-gentoo.patch + + # scroll with the arrow keys + cd ${S}/WINGs + epatch ${FILESDIR}/wlist.patch + + # transparency/translucency + cd ${S} + epatch ${FILESDIR}/trance.patch.WM-0.80.2.diff +} + +src_compile() { + + local myconf + + use gnome \ + && myconf="${myconf} --enable-gnome" \ + || myconf="${myconf} --disable-gnome" + + use kde \ + && myconf="${myconf} --enable-kde" \ + && export KDEDIR=/usr/kde/2 \ + || myconf="${myconf} --disable-kde" + + if [ "$WITH_MODELOCK" ] ; then + myconf="${myconf} --enable-modelock" + else + myconf="${myconf} --disable-modelock" + fi + + use nls \ + && export LINGUAS="`ls po/*.po | sed 's:po/\(.*\)\.po$:\1:'`" \ + || myconf="${myconf} --disable-nls --disable-locale" + + use gif \ + || myconf="${myconf} --disable-gif" + + use jpeg \ + || myconf="${myconf} --disable-jpeg" + + use png \ + || myconf="${myconf} --disable-png" + + + use esd || use alsa || use oss \ + && myconf="${myconf} --enable-sound" \ + || myconf="${myconf} --disable-sound" + + econf \ + --sysconfdir=/etc/X11 \ + --with-x \ + --enable-newstyle \ + --enable-superfluous \ + --enable-usermenu \ + --with-appspath=/usr/lib/GNUstep/Apps \ + --with-pixmapdir=/usr/share/pixmaps \ + ${myconf} || die + + cd ${S}/po + cp Makefile Makefile.orig + sed 's:zh_TW.*::' \ + Makefile.orig > Makefile + + cd ${S}/WPrefs.app/po + cp Makefile Makefile.orig + sed 's:zh_TW.*::' \ + Makefile.orig > Makefile + + cd ${S} + for file in ${S}/WindowMaker/*menu*; do + if [ -r $file ]; then + sed -e 's/\/usr\/local\/GNUstep/\/usr\/lib\/GNUstep/g; + s/\/usr\/local\/share\/WindowMaker/\/usr\/share\/WindowMaker/g;' < $file > $file.tmp; + mv $file.tmp $file; + fi; + done; + + cd ${S} + #0.80.1-r2 did not work with make -j4 (drobbins, 15 Jul 2002) + #with future Portage, this should become "emake -j1" + make || die + + # WindowMaker Extra + cd ../WindowMaker-extra-0.1 + econf || die + + make || die +} + +src_install() { + + einstall \ + sysconfdir=${D}/etc/X11 \ + wprefsdir=${D}/usr/lib/GNUstep/Apps/WPrefs.app \ + wpdatadir=${D}/usr/lib/GNUstep/Apps/WPrefs.app \ + wpexecbindir=${D}/usr/lib/GNUstep/Apps/WPrefs.app || die + + cp -f WindowMaker/plmenu ${D}/etc/X11/WindowMaker/WMRootMenu + + dodoc AUTHORS BUGFORUM BUGS ChangeLog COPYING* INSTALL* FAQ* \ + MIRRORS README* NEWS TODO + + # WindowMaker Extra + cd ../WindowMaker-extra-0.1 + einstall || die + + newdoc README README.extra + + echo "#!/bin/bash" > wmaker + echo "/usr/bin/wmaker" >> wmaker + + exeinto /etc/X11/Sessions/ + doexe wmaker +} + +pkg_postinst() { + einfo "/usr/share/GNUstep/ has moved to /usr/lib/GNUstep/" + einfo "this means the WPrefs app has moved. If you have" + einfo "entries for this in your menus, please correct them" +} |