diff options
author | Vitaly Kushneriuk <vitaly@gentoo.org> | 2002-01-30 16:01:16 +0000 |
---|---|---|
committer | Vitaly Kushneriuk <vitaly@gentoo.org> | 2002-01-30 16:01:16 +0000 |
commit | 88ccbfe78b997b1f876327b8dd309484e9edaf1b (patch) | |
tree | b54b2af1808673d5325208fe358744ebc05e0f74 /x11-wm | |
parent | Where did these come from ?? (diff) | |
download | gentoo-2-88ccbfe78b997b1f876327b8dd309484e9edaf1b.tar.gz gentoo-2-88ccbfe78b997b1f876327b8dd309484e9edaf1b.tar.bz2 gentoo-2-88ccbfe78b997b1f876327b8dd309484e9edaf1b.zip |
added patch for two new configuration options(runtime):
"Double click on title bar maximize"
"Launch applications and restore windows with single click"
Diffstat (limited to 'x11-wm')
-rw-r--r-- | x11-wm/WindowMaker/WindowMaker-0.80.0-r1.ebuild | 93 | ||||
-rw-r--r-- | x11-wm/WindowMaker/files/digest-WindowMaker-0.80.0-r1 | 2 | ||||
-rw-r--r-- | x11-wm/WindowMaker/files/wmfpo-80.patch | 261 |
3 files changed, 356 insertions, 0 deletions
diff --git a/x11-wm/WindowMaker/WindowMaker-0.80.0-r1.ebuild b/x11-wm/WindowMaker/WindowMaker-0.80.0-r1.ebuild new file mode 100644 index 000000000000..7418cac8082a --- /dev/null +++ b/x11-wm/WindowMaker/WindowMaker-0.80.0-r1.ebuild @@ -0,0 +1,93 @@ +# Copyright 1999-2000 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License, v2 or later +# Author Daniel Robbins <drobbins@gentoo.org> +# $Header: /var/cvsroot/gentoo-x86/x11-wm/WindowMaker/WindowMaker-0.80.0-r1.ebuild,v 1.1 2002/01/30 16:01:16 vitaly Exp $ + +S=${WORKDIR}/${P} +DESCRIPTION="Window Maker" +SRC_URI="ftp://ftp.windowmaker.org/pub/source/release/${P}.tar.gz + ftp://ftp.windowmaker.org/pub/source/release/WindowMaker-extra-0.1.tar.bz2" +HOMEPAGE="http://www.windowmaker.org/" + +DEPEND="virtual/glibc virtual/x11 + >=media-libs/tiff-3.5.5 + >=media-libs/libpng-1.0.12 + >=media-libs/jpeg-6b-r2 + x11-wm/gnustep-env + gif? ( >=media-libs/giflib-4.1.0-r3 ) + ungif? ( >=media-libs/libungif-4.1.0 ) + nls? ( >=sys-devel/gettext-0.10.39 )" +# Replaced by WINGS +# >=x11-libs/libPropList-0.10.1" + +#NOTE: the default menu has the wrong path for the WMPrefs utility. +# Needs fixing. + +src_compile() { + + patch -p1 < ${FILESDIR}/wmfpo-80.patch + + local myconf + if [ "`use gnome`" ] ; then + myconf="--enable-gnome" + fi + if [ "`use kde`" ] ; then + # hope this helps for linking against kdelibs, + # I'm not testing other wms right now + export KDEDIR=/usr/kde/2 + myconf="$myconf --enable-kde" + fi + if [ "`use nls`" ] ; then + LINGUAS="`ls po/*.po | sed 's:po/\(.*\)\.po$:\1:'`" + export LINGUAS + fi + + ./configure --host=${CHOST} \ + --prefix=/usr \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --sysconfdir=/etc/X11 \ + --with-nlsdir=/usr/share/locale \ + --with-x \ + --enable-newstyle \ + --enable-superfluous \ + --enable-usermenu \ + $myconf || die + + make || die + + # WindowMaker Extra + cd ../WindowMaker-extra-0.1 + ./configure --host=${CHOST} \ + --prefix=/usr \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info || die + + make || die +} + +src_install() { + + make prefix=${D}/usr \ + mandir=${D}/usr/share/man \ + infodir=${D}/usr/share/info \ + sysconfdir=${D}/etc/X11 \ + NLSDIR=${D}/usr/share/locale \ + GNUSTEP_LOCAL_ROOT=${D}${GNUSTEP_LOCAL_ROOT} \ + install || 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 + make prefix=${D}/usr \ + mandir=${D}/usr/share/man \ + infodir=${D}/usr/share/info \ + install || die + + newdoc README README.extra +} + diff --git a/x11-wm/WindowMaker/files/digest-WindowMaker-0.80.0-r1 b/x11-wm/WindowMaker/files/digest-WindowMaker-0.80.0-r1 new file mode 100644 index 000000000000..5703a23614fa --- /dev/null +++ b/x11-wm/WindowMaker/files/digest-WindowMaker-0.80.0-r1 @@ -0,0 +1,2 @@ +MD5 0768a12edff35cba82e769fcbc8de430 WindowMaker-0.80.0.tar.gz 2457600 +MD5 e6fb381da0d207c320f58e7a1fea2a2b WindowMaker-extra-0.1.tar.bz2 245760 diff --git a/x11-wm/WindowMaker/files/wmfpo-80.patch b/x11-wm/WindowMaker/files/wmfpo-80.patch new file mode 100644 index 000000000000..1ec26e791e94 --- /dev/null +++ b/x11-wm/WindowMaker/files/wmfpo-80.patch @@ -0,0 +1,261 @@ +diff -ur WindowMaker-0.80.0/WPrefs.app/Expert.c WindowMaker-0.80.0fpo1/WPrefs.app/Expert.c +--- WindowMaker-0.80.0/WPrefs.app/Expert.c Mon May 21 18:11:17 2001 ++++ WindowMaker-0.80.0fpo1/WPrefs.app/Expert.c Sat Jan 5 03:08:10 2002 +@@ -33,7 +33,7 @@ + + WMWidget *parent; + +- WMButton *swi[8]; ++ WMButton *swi[10]; + + } _Panel; + +@@ -54,6 +54,8 @@ + WMSetButtonSelected(panel->swi[4], GetBoolForKey("WindozeCycling")); + WMSetButtonSelected(panel->swi[5], GetBoolForKey("DontConfirmKill")); + WMSetButtonSelected(panel->swi[6], GetBoolForKey("DisableBlinking")); ++ WMSetButtonSelected(panel->swi[7], GetBoolForKey("DCMaximize")); ++ WMSetButtonSelected(panel->swi[8], GetBoolForKey("SingleClickLaunch")); + } + + +@@ -66,10 +68,10 @@ + panel->box = WMCreateBox(panel->parent); + WMSetViewExpandsToParent(WMWidgetView(panel->box), 2, 2, 2, 2); + +- for (i=0; i<7; i++) { ++ for (i=0; i<9; i++) { + panel->swi[i] = WMCreateSwitchButton(panel->box); + WMResizeWidget(panel->swi[i], FRAME_WIDTH-40, 25); +- WMMoveWidget(panel->swi[i], 20, 20+i*25); ++ WMMoveWidget(panel->swi[i], 20, 20+i*23); + } + + WMSetButtonText(panel->swi[0], _("Disable miniwindows (icons for miniaturized windows). For use with KDE/GNOME.")); +@@ -79,6 +81,8 @@ + WMSetButtonText(panel->swi[4], _("Use Windoze style cycling.")); + WMSetButtonText(panel->swi[5], _("Disable confirmation panel for the Kill command.")); + WMSetButtonText(panel->swi[6], _("Disable selection animation for selected icons.")); ++ WMSetButtonText(panel->swi[7], _("Double click on title bar maximize")); ++ WMSetButtonText(panel->swi[8], _("Launch applications and restore windows with a single click")); + + WMRealizeWidget(panel->box); + WMMapSubwidgets(panel->box); +@@ -101,6 +105,8 @@ + SetBoolForKey(WMGetButtonSelected(panel->swi[4]), "WindozeCycling"); + SetBoolForKey(WMGetButtonSelected(panel->swi[5]), "DontConfirmKill"); + SetBoolForKey(WMGetButtonSelected(panel->swi[6]), "DisableBlinking"); ++ SetBoolForKey(WMGetButtonSelected(panel->swi[7]), "DCMaximize"); ++ SetBoolForKey(WMGetButtonSelected(panel->swi[8]), "SingleClickLaunch"); + } + + +diff -ur WindowMaker-0.80.0/src/WindowMaker.h WindowMaker-0.80.0fpo1/src/WindowMaker.h +--- WindowMaker-0.80.0/src/WindowMaker.h Fri Dec 21 21:38:08 2001 ++++ WindowMaker-0.80.0fpo1/src/WindowMaker.h Sat Jan 5 14:12:14 2002 +@@ -463,6 +463,12 @@ + /* shading animation */ + signed char shade_speed; + ++ /* double click on title bar maximize */ ++ char dc_maximize; ++ ++ /* single click to lauch applications */ ++ char single_click; ++ + int edge_resistance; + char attract; + +diff -ur WindowMaker-0.80.0/src/appicon.c WindowMaker-0.80.0fpo1/src/appicon.c +--- WindowMaker-0.80.0/src/appicon.c Tue Dec 18 03:43:48 2001 ++++ WindowMaker-0.80.0fpo1/src/appicon.c Sat Jan 5 14:12:14 2002 +@@ -596,6 +596,7 @@ + int shad_x = 0, shad_y = 0, docking=0, dockable, collapsed = 0; + int ix, iy; + int clickButton = event->xbutton.button; ++ Bool hasMoved = False; + Pixmap ghost = None; + Window wins[2]; + Bool movingSingle = False; +@@ -676,6 +677,7 @@ + break; + + case MotionNotify: ++ hasMoved = True; + if (!grabbed) { + if (abs(dx-ev.xmotion.x)>=MOVE_THRESHOLD + || abs(dy-ev.xmotion.y)>=MOVE_THRESHOLD) { +@@ -812,6 +814,8 @@ + + if (wPreferences.auto_arrange_icons) + wArrangeIcons(scr, True); ++ if (!hasMoved && wPreferences.single_click) ++ iconDblClick(desc, event); + + done = 1; + break; +diff -ur WindowMaker-0.80.0/src/def_pixmaps.h WindowMaker-0.80.0fpo1/src/def_pixmaps.h +--- WindowMaker-0.80.0/src/def_pixmaps.h Wed May 26 20:18:34 1999 ++++ WindowMaker-0.80.0fpo1/src/def_pixmaps.h Sat Jan 5 14:12:14 2002 +@@ -86,15 +86,15 @@ + ". c #000000", + "# c None", + "..........", +-"..........", +-"..........", +-".########.", +-".########.", +-".########.", +-".########.", +-".########.", +-".########.", +-".........." ++".........#", ++"........##", ++".......###", ++"......####", ++".....#####", ++"....######", ++"...#######", ++"..########", ++".#########" + }; + + #ifdef XKB_BUTTON_HINT +diff -ur WindowMaker-0.80.0/src/defaults.c WindowMaker-0.80.0fpo1/src/defaults.c +--- WindowMaker-0.80.0/src/defaults.c Fri Dec 21 21:38:08 2001 ++++ WindowMaker-0.80.0fpo1/src/defaults.c Sat Jan 5 14:12:14 2002 +@@ -548,6 +548,12 @@ + {"DisableBlinking", "NO", NULL, + &wPreferences.dont_blink, getBool, NULL + }, ++ {"DCMaximize", "NO", NULL, ++ &wPreferences.dc_maximize, getBool, NULL ++ }, ++ {"SingleClickLaunch", "NO", NULL, ++ &wPreferences.single_click, getBool, NULL ++ }, + /* style options */ + {"MenuStyle", "normal", seMenuStyles, + &wPreferences.menu_style, getEnum, setMenuStyle +diff -ur WindowMaker-0.80.0/src/dock.c WindowMaker-0.80.0fpo1/src/dock.c +--- WindowMaker-0.80.0/src/dock.c Fri Dec 21 21:38:08 2001 ++++ WindowMaker-0.80.0fpo1/src/dock.c Sat Jan 5 14:12:14 2002 +@@ -3772,7 +3772,7 @@ + + + +-static void ++static Bool + handleIconMove(WDock *dock, WAppIcon *aicon, XEvent *event) + { + WScreen *scr = dock->screen_ptr; +@@ -3788,6 +3788,7 @@ + int tmp; + Pixmap ghost = None; + Bool docked; ++ Bool hasMoved = False; + int superfluous = wPreferences.superfluous; /* we catch it to avoid problems */ + int omnipresent = aicon->omnipresent; /* this must be cached!!! */ + +@@ -3842,6 +3843,7 @@ + break; + + case MotionNotify: ++ hasMoved = True; + if (!grabbed) { + if (abs(ofs_x-ev.xmotion.x)>=MOVE_THRESHOLD + || abs(ofs_y-ev.xmotion.y)>=MOVE_THRESHOLD) { +@@ -3991,7 +3993,7 @@ + #ifdef DEBUG + puts("End icon move"); + #endif +- return; ++ return hasMoved; + } + } + } +@@ -4130,8 +4132,11 @@ + handleClipChangeWorkspace(scr, event); + else + handleDockMove(dock, aicon, event); +- } else +- handleIconMove(dock, aicon, event); ++ } else { ++ Bool hasMoved = handleIconMove(dock, aicon, event); ++ if (!hasMoved && wPreferences.single_click) ++ iconDblClick(desc, event); ++ } + + } else if (event->xbutton.button==Button2 && dock->type==WM_CLIP && + aicon==scr->clip_icon) { +diff -ur WindowMaker-0.80.0/src/icon.c WindowMaker-0.80.0fpo1/src/icon.c +--- WindowMaker-0.80.0/src/icon.c Tue Jul 24 06:51:05 2001 ++++ WindowMaker-0.80.0fpo1/src/icon.c Sat Jan 5 14:16:16 2002 +@@ -877,6 +877,7 @@ + int dx=event->xbutton.x, dy=event->xbutton.y; + int grabbed=0; + int clickButton=event->xbutton.button; ++ Bool hasMoved = False; + + if (WCHECK_STATE(WSTATE_MODAL)) + return; +@@ -928,6 +929,7 @@ + break; + + case MotionNotify: ++ hasMoved = True; + if (!grabbed) { + if (abs(dx-ev.xmotion.x)>=MOVE_THRESHOLD + || abs(dy-ev.xmotion.y)>=MOVE_THRESHOLD) { +@@ -965,6 +967,9 @@ + + if (wPreferences.auto_arrange_icons) + wArrangeIcons(wwin->screen_ptr, True); ++ if (!hasMoved && wPreferences.single_click) ++ miniwindowDblClick(desc, event); ++ + return; + + } +diff -ur WindowMaker-0.80.0/src/window.c WindowMaker-0.80.0fpo1/src/window.c +--- WindowMaker-0.80.0/src/window.c Fri Dec 21 21:38:08 2001 ++++ WindowMaker-0.80.0fpo1/src/window.c Sat Jan 5 14:18:07 2002 +@@ -2984,14 +2984,29 @@ + + if (event->xbutton.button==Button1) { + if (event->xbutton.state == 0) { +- if (!WFLAGP(wwin, no_shadeable)) { +- /* shade window */ +- if (wwin->flags.shaded) +- wUnshadeWindow(wwin); +- else +- wShadeWindow(wwin); +- } +- } else { ++ /* check preferences, maximize or shade */ ++ if (wPreferences.dc_maximize) { ++ if (!WFLAGP(wwin, no_resizable)) { ++ /* maximize window */ ++ if (wwin->flags.maximized != 0) { ++ wUnmaximizeWindow(wwin); ++ wwin->flags.maximized = 0; ++ } ++ else { ++ wMaximizeWindow(wwin, MAX_VERTICAL|MAX_HORIZONTAL); ++ wwin->flags.maximized = MAX_VERTICAL|MAX_HORIZONTAL; ++ } ++ } ++ } else { ++ if (!WFLAGP(wwin, no_shadeable)) { ++ /* shade window */ ++ if (wwin->flags.shaded) ++ wUnshadeWindow(wwin); ++ else ++ wShadeWindow(wwin); ++ } ++ } ++ } else { + int dir = 0; + + if (event->xbutton.state & ControlMask) |