aboutsummaryrefslogtreecommitdiff
path: root/x11-wm/awesome2
diff options
context:
space:
mode:
authorMartin Wilke <miwi@FreeBSD.org>2007-09-27 23:55:09 +0000
committerMartin Wilke <miwi@FreeBSD.org>2007-09-27 23:55:09 +0000
commit0b339e8b776c5a76942f20b97a037709499f0312 (patch)
treee3508df93668eaceed81862b73c23d09cbfc94ad /x11-wm/awesome2
parent0b5ac0cdade646cd488e81e39423b78a3c450ac8 (diff)
downloadports-0b339e8b776c5a76942f20b97a037709499f0312.tar.gz
ports-0b339e8b776c5a76942f20b97a037709499f0312.zip
Notes
Diffstat (limited to 'x11-wm/awesome2')
-rw-r--r--x11-wm/awesome2/Makefile52
-rw-r--r--x11-wm/awesome2/distinfo3
-rw-r--r--x11-wm/awesome2/files/extrapatch-lowerfloat29
-rw-r--r--x11-wm/awesome2/files/extrapatch-warp25
-rw-r--r--x11-wm/awesome2/files/patch-config.mk29
-rw-r--r--x11-wm/awesome2/files/patch-tag.c19
-rw-r--r--x11-wm/awesome2/pkg-descr12
7 files changed, 169 insertions, 0 deletions
diff --git a/x11-wm/awesome2/Makefile b/x11-wm/awesome2/Makefile
new file mode 100644
index 000000000000..5a081c834f3d
--- /dev/null
+++ b/x11-wm/awesome2/Makefile
@@ -0,0 +1,52 @@
+# New ports collection makefile for: awesome
+# Date created: September 26, 2007
+# Whom: Nikos Ntarmos <ntarmos@ceid.upatras.gr>
+#
+# $FreeBSD$
+#
+
+PORTNAME= awesome
+PORTVERSION= 1.2
+CATEGORIES= x11-wm
+MASTER_SITES= http://awesome.naquadah.org/download/
+
+MAINTAINER= ntarmos@ceid.upatras.gr
+COMMENT= A tiling window manager initialy based on a dwm code rewriting
+
+LIB_DEPENDS= config.4:${PORTSDIR}/devel/libconfig
+
+USE_XLIB= yes
+
+MAN1= awesome.1
+PLIST_FILES= bin/awesome
+PORTDOCS= AUTHORS LICENSE README
+PORTEXAMPLES= awesomerc
+
+OPTIONS= LWRFLT "Support lowering of floating windows" on \
+ WARP "Support mouse warping" on
+
+.include <bsd.port.pre.mk>
+
+.if defined(WITH_LWRFLT)
+EXTRA_PATCHES+= ${FILESDIR}/extrapatch-lowerfloat
+.endif
+
+.if defined(WITH_WARP)
+EXTRA_PATCHES+= ${FILESDIR}/extrapatch-warp
+.endif
+
+post-install:
+.if !defined(NOPORTDOCS)
+ @${ECHO_MSG} "installing additional documentation to ${DOCSDIR}"
+ @${MKDIR} ${DOCSDIR}
+ @${INSTALL_MAN} ${WRKSRC}/AUTHORS ${DOCSDIR}
+ @${INSTALL_MAN} ${WRKSRC}/LICENSE ${DOCSDIR}
+ @${INSTALL_MAN} ${WRKSRC}/README ${DOCSDIR}
+.endif
+.if !defined(NOPORTEXAMPLES)
+ @${ECHO_MSG} "installing example config file to ${EXAMPLESDIR}"
+ @${MKDIR} ${EXAMPLESDIR}
+ @${INSTALL_MAN} ${WRKSRC}/awesomerc ${EXAMPLESDIR}
+.endif
+
+.include <bsd.port.post.mk>
diff --git a/x11-wm/awesome2/distinfo b/x11-wm/awesome2/distinfo
new file mode 100644
index 000000000000..b643c80ad1d3
--- /dev/null
+++ b/x11-wm/awesome2/distinfo
@@ -0,0 +1,3 @@
+MD5 (awesome-1.2.tar.gz) = 810de61609a3fabd1ce5ec745e385c57
+SHA256 (awesome-1.2.tar.gz) = 44bce503a3c27a9afc4b4f508a5cb2930ca2ace0317f24f34ab543390402cf9d
+SIZE (awesome-1.2.tar.gz) = 39006
diff --git a/x11-wm/awesome2/files/extrapatch-lowerfloat b/x11-wm/awesome2/files/extrapatch-lowerfloat
new file mode 100644
index 000000000000..cd23c3bce440
--- /dev/null
+++ b/x11-wm/awesome2/files/extrapatch-lowerfloat
@@ -0,0 +1,29 @@
+--- layout.c.orig 2007-09-26 12:08:27.000000000 +0300
++++ layout.c 2007-09-26 17:41:42.000000000 +0300
+@@ -118,25 +118,7 @@
+ drawstatusbar(disp, drawcontext, awesomeconf);
+ if(!sel)
+ return;
+- if(sel->isfloating || IS_ARRANGE(layout_floating))
+- XRaiseWindow(disp, sel->win);
+- if(!IS_ARRANGE(layout_floating))
+- {
+- wc.stack_mode = Below;
+- wc.sibling = awesomeconf->statusbar.window;
+- if(!sel->isfloating)
+- {
+- XConfigureWindow(disp, sel->win, CWSibling | CWStackMode, &wc);
+- wc.sibling = sel->win;
+- }
+- for(c = clients; c; c = c->next)
+- {
+- if(!IS_TILED(c, awesomeconf->screen, awesomeconf->tags, awesomeconf->ntags) || c == sel)
+- continue;
+- XConfigureWindow(disp, c->win, CWSibling | CWStackMode, &wc);
+- wc.sibling = c->win;
+- }
+- }
++ XRaiseWindow(disp, sel->win);
+ XSync(disp, False);
+ while(XCheckMaskEvent(disp, EnterWindowMask, &ev));
+ }
diff --git a/x11-wm/awesome2/files/extrapatch-warp b/x11-wm/awesome2/files/extrapatch-warp
new file mode 100644
index 000000000000..47b1d2dd41cd
--- /dev/null
+++ b/x11-wm/awesome2/files/extrapatch-warp
@@ -0,0 +1,25 @@
+--- layout.c.orig 2007-09-26 13:18:33.000000000 +0300
++++ layout.c 2007-09-26 13:20:48.000000000 +0300
+@@ -114,6 +114,22 @@
+ Client *c;
+ XEvent ev;
+ XWindowChanges wc;
++ Window dummy, root;
++ int wex, wey, ex, ey, i, dummyscno;
++ unsigned int dmask;
++
++ if(sel) {
++ ScreenInfo *si = get_screen_info(disp, awesomeconf->screen, awesomeconf->statusbar, &dummyscno);
++ root = RootWindow(disp, awesomeconf->screen);
++ XQueryPointer(disp, sel->win, &dummy, &dummy, &i, &i, &wex, &wey, &dmask);
++ XTranslateCoordinates(disp, sel->win, root, wex, wey, &ex, &ey, &dummy);
++ /* I'm so sorry for this... Shame on me... */
++ if(ex > si[awesomeconf->screen].x_org && ex < si[awesomeconf->screen].width && ey > si[awesomeconf->screen].y_org && ey < si[awesomeconf->screen].height) {
++ XSelectInput(disp, root, SubstructureRedirectMask & EnterWindowMask);
++ XWarpPointer(disp, None, sel->win, 0, 0, 0, 0, sel->w / 2, sel->h / 2);
++ XSelectInput(disp, root, SubstructureRedirectMask);
++ }
++ }
+
+ drawstatusbar(disp, awesomeconf->screen, drawcontext, awesomeconf);
+ if(!sel)
diff --git a/x11-wm/awesome2/files/patch-config.mk b/x11-wm/awesome2/files/patch-config.mk
new file mode 100644
index 000000000000..0d4a628d9107
--- /dev/null
+++ b/x11-wm/awesome2/files/patch-config.mk
@@ -0,0 +1,29 @@
+--- config.mk.orig 2007-09-26 11:41:29.000000000 +0300
++++ config.mk 2007-09-26 11:42:35.000000000 +0300
+@@ -7,19 +7,19 @@
+ LAYOUTS = layouts/tile.c layouts/floating.c
+
+ # paths
+-PREFIX = /usr/local
+-MANPREFIX = ${PREFIX}/share/man
++PREFIX?= /usr/local
++MANPREFIX = ${PREFIX}/man
+
+-X11INC = /usr/include/X11
+-X11LIB = /usr/lib/X11
++X11INC = ${X11BASE}/include
++X11LIB = ${X11BASE}/lib
+
+ # includes and libs
+ INCS = -I. -I/usr/include -I${X11INC} `pkg-config --cflags libconfig`
+ LIBS = -L/usr/lib -lc -L${X11LIB} -lX11 `pkg-config --libs libconfig` -lXext -lXrandr -lXinerama
+
+ # flags
+-CFLAGS = -fgnu89-inline -std=gnu99 -ggdb3 -pipe -Wall -Wextra -W -Wchar-subscripts -Wundef -Wshadow -Wcast-align -Wwrite-strings -Wsign-compare -Wunused -Wuninitialized -Winit-self -Wpointer-arith -Wredundant-decls -Wno-format-zero-length -Wmissing-prototypes -Wmissing-format-attribute -Wmissing-noreturn -O3 ${INCS} -DVERSION=\"${VERSION}\"
+-LDFLAGS = -ggdb3 ${LIBS}
++CFLAGS+= -pipe -Wall -W -Wchar-subscripts -Wshadow -Wcast-align -Wwrite-strings -Wunused -Wuninitialized -Wpointer-arith -Wredundant-decls -Wmissing-prototypes ${INCS} -DVERSION=\"${VERSION}\"
++LDFLAGS+= ${LIBS}
+
+ # compiler and linker
+-CC = cc
++CC?= cc
diff --git a/x11-wm/awesome2/files/patch-tag.c b/x11-wm/awesome2/files/patch-tag.c
new file mode 100644
index 000000000000..2a2280d0b3c3
--- /dev/null
+++ b/x11-wm/awesome2/files/patch-tag.c
@@ -0,0 +1,19 @@
+--- tag.c.orig
++++ tag.c
+@@ -67,13 +67,13 @@ applyrules(Client * c, awesome_config *awesomeconf)
+ XClassHint ch = { 0, 0 };
+ char *prop;
+
++ XGetClassHint(c->display, c->win, &ch);
+ len += a_strlen(ch.res_class) + a_strlen(ch.res_name) + a_strlen(c->name);
+
+- prop = p_new(char, len + 1);
++ prop = p_new(char, len + 3);
+
+ /* rule matching */
+- XGetClassHint(c->display, c->win, &ch);
+- snprintf(prop, len + 1, "%s:%s:%s",
++ snprintf(prop, len + 3, "%s:%s:%s",
+ ch.res_class ? ch.res_class : "", ch.res_name ? ch.res_name : "", c->name);
+ for(i = 0; i < awesomeconf->nrules; i++)
+ if(regs[i].propregex && !regexec(regs[i].propregex, prop, 1, &tmp, 0))
diff --git a/x11-wm/awesome2/pkg-descr b/x11-wm/awesome2/pkg-descr
new file mode 100644
index 000000000000..cb4a1fad6823
--- /dev/null
+++ b/x11-wm/awesome2/pkg-descr
@@ -0,0 +1,12 @@
+awesome is a tiling window manager initialy based on a dwm code
+rewriting. It's extremely fast, small, dynamic and awesome.
+
+Windows can be managed in several layouts: tiled and floating. Each
+layout can be applied on the fly, optimizing the environment for the
+application in use and the task performed.
+
+Managing windows in tiled mode assures that no space will be waste on
+your screen. No gaps, no overlap.
+
+
+WWW: http://awesome.naquadah.org/