summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'x11-wm/wm2')
-rw-r--r--x11-wm/wm2/Manifest1
-rw-r--r--x11-wm/wm2/files/wm2-4-gentoo.patch146
-rw-r--r--x11-wm/wm2/metadata.xml5
-rw-r--r--x11-wm/wm2/wm2-4-r1.ebuild57
4 files changed, 209 insertions, 0 deletions
diff --git a/x11-wm/wm2/Manifest b/x11-wm/wm2/Manifest
new file mode 100644
index 000000000000..1456e684a771
--- /dev/null
+++ b/x11-wm/wm2/Manifest
@@ -0,0 +1 @@
+DIST wm2-4.tar.gz 32807 SHA256 a6c3352390f958c5033408ce73e1abd9677372a7c8c5949e39a62fda433b054d SHA512 9151267e5a6bf39587b15dc3e55b4acc05aa1b14a7a9bcb4e1ed25d474af8b0e7699343117f184c745645deb404d6f6e230809b88d9b7bb5c1f67ba0fbde72e9 WHIRLPOOL a2b8e77969fd21176db97d75be0b7e0136075b62d1f838fa08a774b7be0c28a781f5baace77518ee1a6a53167c8e0aa90c4f159dd3c2ad847d536bf78429591d
diff --git a/x11-wm/wm2/files/wm2-4-gentoo.patch b/x11-wm/wm2/files/wm2-4-gentoo.patch
new file mode 100644
index 000000000000..88c78080c542
--- /dev/null
+++ b/x11-wm/wm2/files/wm2-4-gentoo.patch
@@ -0,0 +1,146 @@
+diff -ur wm2-4/Border.C wm2-4.new/Border.C
+--- wm2-4/Border.C 1997-03-21 12:12:30.000000000 +0100
++++ wm2-4.new/Border.C 2007-06-30 16:56:10.000000000 +0200
+@@ -183,7 +183,7 @@
+
+ if (m_label) free(m_label);
+ m_label = m_client->iconName() ?
+- NewString(m_client->iconName()) : NewString("incognito");
++ NewString(m_client->iconName()) : NewString(CONFIG_INCOGNITO);
+
+ int len = strlen(m_label);
+ m_tabHeight = XRotTextWidth(m_tabFont, m_label, len) + 6 + m_tabWidth;
+diff -ur wm2-4/Buttons.C wm2-4.new/Buttons.C
+--- wm2-4/Buttons.C 1997-03-21 12:12:30.000000000 +0100
++++ wm2-4.new/Buttons.C 2007-06-30 16:56:10.000000000 +0200
+@@ -139,7 +139,11 @@
+ (allowExit && ((n) > clients.count())) ? "[Exit wm2]" \
+ : clients.item((n)-1)->label())
+
++#ifdef CONFIG_MENU_REVERSE
++ for (i = m_hiddenClients.count() - 1; i>=0; --i) {
++#else
+ for (i = 0; i < m_hiddenClients.count(); ++i) {
++#endif
+ clients.append(m_hiddenClients.item(i));
+ }
+ int nh = clients.count() + 1;
+diff -ur wm2-4/Client.C wm2-4.new/Client.C
+--- wm2-4/Client.C 1997-03-21 12:12:30.000000000 +0100
++++ wm2-4.new/Client.C 2007-06-30 16:56:10.000000000 +0200
+@@ -4,7 +4,7 @@
+
+ #include <X11/Xutil.h>
+
+-const char *const Client::m_defaultLabel = "incognito";
++const char *const Client::m_defaultLabel = CONFIG_INCOGNITO;
+
+
+
+@@ -400,7 +400,7 @@
+ }
+
+
+-int Client::getAtomProperty(Atom a, Atom type)
++uintptr_t Client::getAtomProperty(Atom a, Atom type)
+ {
+ char **p, *x;
+ if (getProperty_aux(display(), m_window, a, type, 1L,
+@@ -410,7 +410,7 @@
+
+ x = *p;
+ XFree((void *)p);
+- return (int)x;
++ return (uintptr_t)x;
+ }
+
+
+diff -ur wm2-4/Client.h wm2-4.new/Client.h
+--- wm2-4/Client.h 1997-03-21 12:12:30.000000000 +0100
++++ wm2-4.new/Client.h 2007-06-30 16:56:10.000000000 +0200
+@@ -2,6 +2,8 @@
+ #ifndef _CLIENT_H_
+ #define _CLIENT_H_
+
++#include <inttypes.h>
++
+ #include "General.h"
+ #include "Manager.h"
+ #include "Border.h"
+@@ -125,7 +127,7 @@
+ WindowManager *const m_windowManager;
+
+ char *getProperty(Atom);
+- int getAtomProperty(Atom, Atom);
++ uintptr_t getAtomProperty(Atom, Atom);
+ int getIntegerProperty(Atom);
+
+ // accessors
+diff -ur wm2-4/Config.h wm2-4.new/Config.h
+--- wm2-4/Config.h 1997-03-21 12:12:30.000000000 +0100
++++ wm2-4.new/Config.h 2007-06-30 16:56:10.000000000 +0200
+@@ -39,6 +39,9 @@
+
+ #define CONFIG_FRAME_THICKNESS 7
+
++#define CONFIG_INCOGNITO "incognito"
++#define CONFIG_MENU_REVERSE
++
+ // If CONFIG_PROD_SHAPE is True, all frame element shapes will be
+ // recalculated afresh every time their focus changes. This will
+ // probably slow things down hideously, but has been reported as
+@@ -46,4 +49,3 @@
+ #define CONFIG_PROD_SHAPE False
+
+ #endif
+-
+diff -ur wm2-4/General.h wm2-4.new/General.h
+--- wm2-4/General.h 1997-03-21 12:12:30.000000000 +0100
++++ wm2-4.new/General.h 2007-06-30 16:56:10.000000000 +0200
+@@ -32,7 +32,7 @@
+ #define NewString(x) (strcpy((char *)malloc(strlen(x)+1),(x)))
+
+ #ifndef SIGNAL_CALLBACK_TYPE
+-#define SIGNAL_CALLBACK_TYPE (void (*)(...))
++#define SIGNAL_CALLBACK_TYPE (void (*)(int))
+ #endif
+
+ #define signal(x,y) \
+diff -ur wm2-4/Makefile wm2-4.new/Makefile
+--- wm2-4/Makefile 1997-03-21 12:12:30.000000000 +0100
++++ wm2-4.new/Makefile 2007-06-30 16:56:10.000000000 +0200
+@@ -1,8 +1,8 @@
+
+-LIBS = -L/usr/X11/lib -lXext -lX11 -lXmu -lm
++LIBS = -L/usr/X11R6/lib -lXext -lX11 -lXmu -lm
+
+ CC = gcc
+-CCC = gcc
++CCC = g++
+ CFLAGS = -O2
+ OBJECTS = Border.o Buttons.o Client.o Events.o Main.o Manager.o Rotated.o
+
+diff -ur wm2-4/Manager.C wm2-4.new/Manager.C
+--- wm2-4/Manager.C 1997-03-21 12:12:30.000000000 +0100
++++ wm2-4.new/Manager.C 2007-06-30 16:56:10.000000000 +0200
+@@ -368,7 +368,7 @@
+ return m_currentTime;
+ }
+
+-void WindowManager::sigHandler()
++void WindowManager::sigHandler(int n)
+ {
+ m_signalled = True;
+ }
+diff -ur wm2-4/Manager.h wm2-4.new/Manager.h
+--- wm2-4/Manager.h 1997-03-21 12:12:30.000000000 +0100
++++ wm2-4.new/Manager.h 2007-06-30 16:56:10.000000000 +0200
+@@ -85,7 +85,7 @@
+
+ static Boolean m_initialising;
+ static int errorHandler(Display *, XErrorEvent *);
+- static void sigHandler();
++ static void sigHandler(int);
+ static int m_signalled;
+
+ void initialiseScreen();
diff --git a/x11-wm/wm2/metadata.xml b/x11-wm/wm2/metadata.xml
new file mode 100644
index 000000000000..4538a68724a6
--- /dev/null
+++ b/x11-wm/wm2/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer><email>maintainer-needed@gentoo.org</email></maintainer>
+</pkgmetadata>
diff --git a/x11-wm/wm2/wm2-4-r1.ebuild b/x11-wm/wm2/wm2-4-r1.ebuild
new file mode 100644
index 000000000000..e47f5ee40302
--- /dev/null
+++ b/x11-wm/wm2/wm2-4-r1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils toolchain-funcs
+
+DESCRIPTION="Small, unconfigurable window manager"
+HOMEPAGE="http://www.all-day-breakfast.com/wm2/"
+SRC_URI="http://www.all-day-breakfast.com/wm2/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="freedist"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+RDEPEND="x11-libs/libXmu"
+DEPEND="${RDEPEND}
+ x11-proto/xextproto"
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-gentoo.patch"
+ sed -e "s/CFLAGS/CXXFLAGS/" \
+ -e "s/\$(CCC) -o/\$(CCC) \$(LDFLAGS) -o/" \
+ -i Makefile || die #334681
+
+ sed 's/^#//' Config.h > wm2.conf
+ if [ -e "/etc/wm2.conf" ]; then
+ echo "#undef _CONFIG_H_" >> Config.h
+ awk '/^[^/]/{print "#" $0}' /etc/wm2.conf >> Config.h
+ fi
+}
+
+src_compile() {
+ emake \
+ CXXFLAGS="${CXXFLAGS}" \
+ CCC="$(tc-getCXX)" \
+ LDFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+ dobin wm2
+ insinto /etc
+ doins wm2.conf
+ dodoc README
+}
+
+pkg_postinst() {
+ echo
+ elog "wm2 is unconfigurable after you have installed. If you want to"
+ elog "change settings of wm2, please have a look at /etc/wm2.conf"
+ elog "and rewrite it, then emerge wm2 again (wm2 ebuild uses settings"
+ elog "from that file automatically). If you think wm2 lacks some important"
+ elog "features that you want to use (such as background pixmaps),"
+ elog "consider using wmx, written by the same author."
+ echo
+}