Xmonad is a tiling window manager for X. Windows are arranged

automatically to tile the screen without gaps or overlap, maximising
screen use. All features of the window manager are accessible from
the keyboard: a mouse is strictly optional. Xmonad is written and
extensible in Haskell. Custom layout algorithms, and other extensions,
may be written by the user in config files. Layouts are applied
dynamically, and different layouts may be used on each workspace.
Xinerama is fully supported, allowing windows to be tiled on several
screens. A guiding principle of the design is predictability: users
should know in advance precisely the window arrangement that will
result from any action, leading to a simpler user interface.
This commit is contained in:
kili 2007-09-01 22:18:41 +00:00
parent 0a26acd988
commit c6479abcee
6 changed files with 93 additions and 0 deletions

50
x11/xmonad/Makefile Normal file
View File

@ -0,0 +1,50 @@
# $OpenBSD: Makefile,v 1.1.1.1 2007/09/01 22:18:41 kili Exp $
COMMENT= "tiling window manager"
DISTNAME= xmonad-0.2
CATEGORIES= x11
HOMEPAGE= http://www.xmonad.org/
MAINTAINER= Matthias Kilian <kili@openbsd.org>
# BSD
PERMIT_PACKAGE_CDROM= Yes
PERMIT_PACKAGE_FTP= Yes
PERMIT_DISTFILES_CDROM= Yes
PERMIT_DISTFILES_FTP= Yes
MASTER_SITES= http://hackage.haskell.org/packages/archive/xmonad/0.2/
WANTLIB= X11 Xext Xinerama c gmp m
MODULES= lang/ghc
LIB_DEPENDS= ::x11/hs-x11-extras
SETUP_CONF_ARGS= configure -g --prefix=${PREFIX}
SETUP_CONF_ENV= HOME=${PORTHOME} PATH=${PATH}
SETUP_PROG= ${WRKSRC}/Setup
SUBST_VARS= V
USE_X11= Yes
do-configure:
@cd ${WRKSRC} && ghc --make -o ${SETUP_PROG} Setup.lhs
@cd ${WRKBUILD} && exec ${SETENV} ${SETUP_CONF_ENV} \
${SETUP_PROG} ${SETUP_CONF_ARGS}
do-build:
@cd ${WRKBUILD} && exec ${SETENV} ${SETUP_CONF_ENV} \
${SETUP_PROG} build
do-install:
@cd ${WRKBUILD} && exec ${SETENV} ${SETUP_CONF_ENV} \
${SETUP_PROG} copy --destdir=${DESTDIR}
@${INSTALL_MAN_DIR} ${PREFIX}/man/man1
@${INSTALL_MAN} ${WRKSRC}/man/xmonad.1 ${PREFIX}/man/man1
do-regress:
@cd ${WRKBUILD} && exec ${SETENV} ${SETUP_CONF_ENV} \
${SETUP_PROG} test
.include <bsd.port.mk>

5
x11/xmonad/distinfo Normal file
View File

@ -0,0 +1,5 @@
MD5 (xmonad-0.2.tar.gz) = nXxMIugdODGPhk6Hn59GwA==
RMD160 (xmonad-0.2.tar.gz) = KT51xaKWLsGRI1Sq0zyHdKPD2i8=
SHA1 (xmonad-0.2.tar.gz) = 0vc8PUOkdQwZNuPx9gnpUDzdEwI=
SHA256 (xmonad-0.2.tar.gz) = rZVltW80xJIxD0ZFDdWcV96eUa+XuJCXCJW/4G+fGEo=
SIZE (xmonad-0.2.tar.gz) = 29223

View File

@ -0,0 +1,12 @@
$OpenBSD: patch-Config_hs,v 1.1.1.1 2007/09/01 22:18:41 kili Exp $
--- Config.hs.orig Thu May 31 03:04:51 2007
+++ Config.hs Sat Aug 25 23:41:46 2007
@@ -56,7 +56,7 @@ defaultWindowsInMaster = 1
-- Fields are: top, bottom, left, right.
--
defaultGaps :: [(Int,Int,Int,Int)]
-defaultGaps = [(0,0,0,0)] -- 15 for default dzen
+defaultGaps = repeat (15,0,0,0) -- 15 for default dzen
-- numlock handling:
--

View File

@ -0,0 +1,12 @@
$OpenBSD: patch-Main_hs,v 1.1.1.1 2007/09/01 22:18:41 kili Exp $
--- Main.hs.orig Thu May 31 03:04:51 2007
+++ Main.hs Sat Aug 25 19:07:00 2007
@@ -61,7 +61,7 @@ main = do
st = XState
{ windowset = winset
, layouts = M.fromList [(w, safeLayouts) | w <- [0 .. W workspaces - 1]]
- , statusGaps = take (length xinesc) $ defaultGaps ++ repeat (0,0,0,0)
+ , statusGaps = take (length xinesc) $ repeat (0,0,0,0)
, xineScreens = xinesc
, dimensions = (fromIntegral (displayWidth dpy dflt),
fromIntegral (displayHeight dpy dflt)) }

11
x11/xmonad/pkg/DESCR Normal file
View File

@ -0,0 +1,11 @@
Xmonad is a tiling window manager for X. Windows are arranged
automatically to tile the screen without gaps or overlap, maximising
screen use. All features of the window manager are accessible from
the keyboard: a mouse is strictly optional. Xmonad is written and
extensible in Haskell. Custom layout algorithms, and other extensions,
may be written by the user in config files. Layouts are applied
dynamically, and different layouts may be used on each workspace.
Xinerama is fully supported, allowing windows to be tiled on several
screens. A guiding principle of the design is predictability: users
should know in advance precisely the window arrangement that will
result from any action, leading to a simpler user interface.

3
x11/xmonad/pkg/PLIST Normal file
View File

@ -0,0 +1,3 @@
@comment $OpenBSD: PLIST,v 1.1.1.1 2007/09/01 22:18:41 kili Exp $
bin/xmonad
@man man/man1/xmonad.1