ports/52125: New port: The devel branch of the ion windows manager

Rasmus Meldgaard rasmusm at diku.dk
Mon May 12 16:00:40 UTC 2003


>Number:         52125
>Category:       ports
>Synopsis:       New port: The devel branch of the ion windows manager
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Mon May 12 09:00:33 PDT 2003
>Closed-Date:
>Last-Modified:
>Originator:     Rasmus Meldgaard
>Release:        FreeBSD 4.6.2-RELEASE-p6 i386
>Organization:
>Environment:
System: FreeBSD www.cafeen.org 4.6.2-RELEASE-p6 FreeBSD 4.6.2-RELEASE-p6 #1: Tue Jan 14 01:11:14 CET 2003 root at www.cafeen.org:/usr/obj/usr/src/sys/WWW i386

>Description:
	New port: x11-wm/ion-devel
>How-To-Repeat:
>Fix:

--- ion-devel.shar begins here ---
# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	x11-wm/ion-devel
#	x11-wm/ion-devel/files
#	x11-wm/ion-devel/files/patch-ion-edit
#	x11-wm/ion-devel/files/patch-ion-view
#	x11-wm/ion-devel/files/patch-luaextl-h
#	x11-wm/ion-devel/files/patch-ion-ssh
#	x11-wm/ion-devel/files/patch-ion-man
#	x11-wm/ion-devel/files/patch-ioncore-bindings-lua
#	x11-wm/ion-devel/files/patch-querylib-lua
#	x11-wm/ion-devel/files/patch-system-mk
#	x11-wm/ion-devel/Makefile
#	x11-wm/ion-devel/distinfo
#	x11-wm/ion-devel/pkg-descr
#	x11-wm/ion-devel/pkg-plist
#	x11-wm/ion-devel/pkg-message
#
echo c - x11-wm/ion-devel
mkdir -p x11-wm/ion-devel > /dev/null 2>&1
echo c - x11-wm/ion-devel/files
mkdir -p x11-wm/ion-devel/files > /dev/null 2>&1
echo x - x11-wm/ion-devel/files/patch-ion-edit
sed 's/^X//' >x11-wm/ion-devel/files/patch-ion-edit << 'END-of-x11-wm/ion-devel/files/patch-ion-edit'
X--- scripts/ion-edit.orig	Fri Apr  5 01:34:21 2002
X+++ scripts/ion-edit	Tue May  6 23:53:44 2003
X@@ -1,2 +1,2 @@
X #!/bin/sh
X-exec run-mailcap --action=edit "$1" > /dev/null
X+exec ion-devel-runinxterm -T $1 $EDITOR "$1" > /dev/null
END-of-x11-wm/ion-devel/files/patch-ion-edit
echo x - x11-wm/ion-devel/files/patch-ion-view
sed 's/^X//' >x11-wm/ion-devel/files/patch-ion-view << 'END-of-x11-wm/ion-devel/files/patch-ion-view'
X*** scripts/ion-view.orig	Sat Jan 20 01:44:05 2001
X--- scripts/ion-view	Sat Jan 20 01:55:39 2001
X***************
X*** 1,7 ****
X  #!/bin/sh
X  if echo "$1"|grep -E '^([a-zA-Z]+://|www.)' > /dev/null; then
X! 	exec netscape-remote "$1"
X  else
X! 	exec run-mailcap --action=view "$1" > /dev/null
X  fi
X  
X--- 1,7 ----
X  #!/bin/sh
X  if echo "$1"|grep -E '^([a-zA-Z]+://|www.)' > /dev/null; then
X! 	exec netscape "$1"
X  else
X! 	exec ion-runinxterm -T $1 $EDITOR "$1" > /dev/null
X  fi
END-of-x11-wm/ion-devel/files/patch-ion-view
echo x - x11-wm/ion-devel/files/patch-luaextl-h
sed 's/^X//' >x11-wm/ion-devel/files/patch-luaextl-h << 'END-of-x11-wm/ion-devel/files/patch-luaextl-h'
X--- luaextl/luaextl.h.org	Tue May  6 22:36:24 2003
X+++ luaextl/luaextl.h	Tue May  6 22:36:30 2003
X@@ -10,6 +10,9 @@
X 
X #include <stdarg.h>
X 
X+/* FIXME: To make it compile under FreeBSD 4.8 */
X+#define va_copy(d,s) ((va_list)(d) = (va_list)(s))
X+
X #include <ioncore/common.h>
X #include <ioncore/objp.h>
X 
END-of-x11-wm/ion-devel/files/patch-luaextl-h
echo x - x11-wm/ion-devel/files/patch-ion-ssh
sed 's/^X//' >x11-wm/ion-devel/files/patch-ion-ssh << 'END-of-x11-wm/ion-devel/files/patch-ion-ssh'
X--- scripts/ion-ssh.orig	Tue May  6 23:55:05 2003
X+++ scripts/ion-ssh	Tue May  6 23:55:23 2003
X@@ -1,2 +1,2 @@
X #!/bin/sh
X-test $# -ge 1 && exec ion-runinxterm -T $1 ssh $1
X+test $# -ge 1 && exec ion-devel-runinxterm -T $1 ssh $1
END-of-x11-wm/ion-devel/files/patch-ion-ssh
echo x - x11-wm/ion-devel/files/patch-ion-man
sed 's/^X//' >x11-wm/ion-devel/files/patch-ion-man << 'END-of-x11-wm/ion-devel/files/patch-ion-man'
X--- scripts/ion-man.orig	Tue May  6 23:56:04 2003
X+++ scripts/ion-man	Tue May  6 23:56:16 2003
X@@ -1,4 +1,4 @@
X #!/bin/sh
X-topic=ion
X+topic=ion-devel
X test $# -ge 1 && topic=$*
X-exec ion-runinxterm -T "$topic manual" man $topic
X+exec ion-devel-runinxterm -T "$topic manual" man $topic
END-of-x11-wm/ion-devel/files/patch-ion-man
echo x - x11-wm/ion-devel/files/patch-ioncore-bindings-lua
sed 's/^X//' >x11-wm/ion-devel/files/patch-ioncore-bindings-lua << 'END-of-x11-wm/ion-devel/files/patch-ioncore-bindings-lua'
X--- etc/ioncore-bindings.lua.orig	Tue May  6 23:59:45 2003
X+++ etc/ioncore-bindings.lua	Wed May  7 00:00:06 2003
X@@ -45,7 +45,7 @@
X     kpress(DEFAULT_MOD .. "Shift+Left", goto_next_viewport),
X     kpress(DEFAULT_MOD .. "Shift+Right", goto_prev_viewport),
X     
X-    kpress(DEFAULT_MOD .. "F1", make_exec_fn("ion-man ion")),
X+    kpress(DEFAULT_MOD .. "F1", make_exec_fn("ion-devel-man ion")),
X     kpress("F2", make_exec_fn("xterm")),
X }
X 
END-of-x11-wm/ion-devel/files/patch-ioncore-bindings-lua
echo x - x11-wm/ion-devel/files/patch-querylib-lua
sed 's/^X//' >x11-wm/ion-devel/files/patch-querylib-lua << 'END-of-x11-wm/ion-devel/files/patch-querylib-lua'
X--- etc/querylib.lua.orig	Sat May 10 22:27:45 2003
X+++ etc/querylib.lua	Sat May 10 22:27:52 2003
X@@ -60,7 +60,7 @@
X 
X function QueryLib.exec_handler(frame, cmd)
X     if string.sub(cmd, 1, 1)==":" then
X-        cmd="ion-runinxterm " .. string.sub(cmd, 2)
X+        cmd="ion-devel-runinxterm " .. string.sub(cmd, 2)
X     end
X     exec_on_screen(region_screen_of(frame), cmd)
X end
X@@ -281,7 +281,7 @@
X         
X         local results={}
X         
X-        -- ion-completefile will return possible common part of path on
X+        -- ion-devel-completefile will return possible common part of path on
X         -- the first line and the entries in that directory on the
X         -- following lines.
X         for a in string.gfind(data, "([^\n]*)\n") do
X@@ -295,7 +295,7 @@
X     end
X     
X     str=string.gsub(str, "'", "'\\''")
X-    local cmd="ion-completefile " .. "'" .. str .. "' " .. (wp or "")
X+    local cmd="ion-devel-completefile " .. "'" .. str .. "' " .. (wp or "")
X     popen_bgread(cmd, coroutine.wrap(receive_data))
X end
X 
X@@ -376,22 +376,22 @@
X -- This function asks for a command to execute with \file{/bin/sh}.
X -- If the command is prefixed with a colon (':'), the command will
X -- be run in an XTerm (or other terminal emulator) using the script
X--- \file{ion-runinxterm}.
X+-- \file{ion-devel-runinxterm}.
X QueryLib.query_exec=QueryLib.make_frame_fn(
X     "Run:", nil, QueryLib.exec_handler, QueryLib.exec_completor
X )
X 
X --DOC
X -- This query asks for a host to connect to with SSH. It starts
X--- up ssh in a terminal using \file{ion-ssh}. To enable tab completion,
X+-- up ssh in a terminal using \file{ion-devel-ssh}. To enable tab completion,
X -- put the names of often-used hosts in the table \var{query_ssh_hosts}.
X QueryLib.query_ssh=QueryLib.make_execwith_fn(
X-    "SSH to:", nil, "ion-ssh", QueryLib.make_completor(QueryLib.complete_ssh)
X+    "SSH to:", nil, "ion-devel-ssh", QueryLib.make_completor(QueryLib.complete_ssh)
X )
X 
X --DOC
X -- This query asks for a manual page to display. It uses the command
X--- \file{ion-man} to run \file{man} in a terminal emulator. By customizing
X+-- \file{ion-devel-man} to run \file{man} in a terminal emulator. By customizing
X -- this script it is possible use some other man page viewer. To enable
X -- tab-completion you must list paths with manuals in the table
X -- \var{query_man_path}. For example,
X@@ -402,23 +402,23 @@
X --}
X --\end{verbatim}
X QueryLib.query_man=QueryLib.make_execwith_fn(
X-    "Manual page (ion):", nil, "ion-man", QueryLib.man_completor
X+    "Manual page (ion):", nil, "ion-devel-man", QueryLib.man_completor
X )
X 
X --DOC
X--- Asks for a file to be edited. It uses the script \file{ion-edit} to
X+-- Asks for a file to be edited. It uses the script \file{ion-devel-edit} to
X -- start a program to edit the file. This script uses \file{run-mailcap}
X -- by default, but if you don't have it, you may customise the script.
X QueryLib.query_editfile=QueryLib.make_execwith_fn(
X-    "Edit file:", QueryLib.get_initdir, "ion-edit", QueryLib.file_completor
X+    "Edit file:", QueryLib.get_initdir, "ion-devel-edit", QueryLib.file_completor
X )
X 
X --DOC
X--- Asks for a file to be viewed. It uses the script \file{ion-view} to
X+-- Asks for a file to be viewed. It uses the script \file{ion-devel-view} to
X -- start a program to view the file. This script uses \file{run-mailcap}
X -- by default, but if you don't have it, you may customise the script.
X QueryLib.query_runfile=QueryLib.make_execwith_fn(
X-    "View file:", QueryLib.get_initdir, "ion-view", QueryLib.file_completor
X+    "View file:", QueryLib.get_initdir, "ion-devel-view", QueryLib.file_completor
X )
X 
X -- Lua code execution
END-of-x11-wm/ion-devel/files/patch-querylib-lua
echo x - x11-wm/ion-devel/files/patch-system-mk
sed 's/^X//' >x11-wm/ion-devel/files/patch-system-mk << 'END-of-x11-wm/ion-devel/files/patch-system-mk'
X--- system.mk.orig	Tue May  6 22:21:09 2003
X+++ system.mk	Wed May  7 00:05:45 2003
X@@ -7,14 +7,12 @@
X ## Installation paths
X ##
X 
X-PREFIX=/usr/local/ion-devel
X-
X # No need to modify these usually
X BINDIR=$(PREFIX)/bin
X ETCDIR=$(PREFIX)/etc
X MANDIR=$(PREFIX)/man
X-DOCDIR=$(PREFIX)/doc
X+DOCDIR=$(PREFIX)/share/doc/ion-devel
X LIBDIR=$(PREFIX)/lib
X INCDIR=$(PREFIX)/include
X 
X #EXTRA_LIBS=-lefence
X@@ -33,8 +31,8 @@
X MODULE_LIST=ionws floatws query
X 
X # Settings for compiling and linking to ltdl
X-LTDL_INCLUDES=
X-LTDL_LIBS=-lltdl
X+LTDL_INCLUDES= -I${LOCALBASE}/include
X+LTDL_LIBS=-L${LOCALBASE}/lib -lltdl
X 
X 
X ##
X@@ -47,7 +45,7 @@
X 
X # If you, for example, have lua 4.0 in /usr/lib and 5.0 somewhere else,
X # the following settings might be what you need. 
X-LUA_PATH=/usr/local/lib
X+LUA_PATH=${LOCALBASE}
X LUA_LIBS = -L$(LUA_PATH) -R$(LUA_PATH) -llua -llualib
X LUA_INCLUDES = -I$(LUA_PATH)/include
X 
X@@ -59,7 +57,7 @@
X ## X libraries, includes and options
X ##
X 
X-X11_PREFIX=/usr/X11R6
X+X11_PREFIX=${X11BASE}
X # SunOS/Solaris
X #X11_PREFIX=/usr/openwin
X 
X@@ -132,9 +130,9 @@
X 	-Wparentheses -pedantic -Wuninitialized
X 
X 
X-C99_SOURCE=-std=c99
X+C99_SOURCE=-std=c9x
X 
X-CFLAGS=-g -O2 $(WARN) $(DEFINES) $(INCLUDES) $(EXTRA_INCLUDES)
X+CFLAGS=-g $(WARN) $(DEFINES) $(INCLUDES) $(EXTRA_INCLUDES)
X LDFLAGS=-g $(LIBS) $(EXTRA_LIBS)
X 
X 
X@@ -167,7 +165,7 @@
X INSTALLDIR=mkdir -p
X 
X BIN_MODE=755
X-DATA_MODE=664
X+DATA_MODE=644
X 
X STRIP=strip
X 
END-of-x11-wm/ion-devel/files/patch-system-mk
echo x - x11-wm/ion-devel/Makefile
sed 's/^X//' >x11-wm/ion-devel/Makefile << 'END-of-x11-wm/ion-devel/Makefile'
X# New ports collection makefile for:   ion-devel
X# Date created:        6 May 2003
X# Whom:                Rasmus Meldgaard <rasmusm at diku.dk>
X#
X# $FreeBSD$
X#
X
XPORTNAME=	ion-devel
XPORTVERSION=	20030510
XCATEGORIES=	x11-wm
XMASTER_SITES=	http://modeemi.cs.tut.fi/~tuomov/dl/
X
XMAINTAINER=	rasmusm at diku.dk
XCOMMENT=	A window manager with a text-editorish, keyboard friendly interface
X
XMAN1=		ion-devel.1x
X
XUSE_X_PREFIX=	yes
XUSE_GMAKE=	yes
XBUILD_DEPENDS=  libtool:${PORTSDIR}/devel/libtool
XBUILD_DEPENDS=  lua:${PORTSDIR}/lang/lua
X
XETC_FILES=  common-frame-bindings.lua\
X	    compat.lua\
X	    floatws.lua\
X	    ioncore-bindings.lua\
X	    ioncore-example.lua\
X	    ioncorelib.lua\
X	    ionws.lua\
X	    kludges.lua\
X	    look-blackwheat.lua\
X	    look-brownsteel.lua\
X	    look-clean.lua\
X	    look-dusky.lua\
X	    look-greyviolet.lua\
X	    look-ios.lua\
X	    look-simpleblue.lua\
X	    look-wheat.lua\
X	    pwm-ioncore-example.lua\
X	    query.lua\
X	    querylib.lua
X
XMODULE_INSTALL= $(LIBTOOL) --mode=install $(INSTALL_PROGRAM)
X
Xdo-install:
X	@ ${MKDIR} ${PREFIX}/etc/ion-devel.sampel
X.for i in ${ETC_FILES}
X	@ ${INSTALL_DATA} ${WRKSRC}/etc/${i} ${PREFIX}/etc/ion-devel.sampel
X.endfor
X	@ ${INSTALL_DATA} ${WRKSRC}/etc/ioncore-example.lua \
X		${PREFIX}/etc/ion-devel.sampel/ioncore.lua
X	@ ${INSTALL_DATA} ${WRKSRC}/etc/look-clean.lua \
X		${PREFIX}/etc/ion-devel.sampel/draw.lua
X	@ ${MKDIR} ${PREFIX}/lib/ion-devel
X	@ ${INSTALL_MAN} ${WRKSRC}/man/ion.1x ${PREFIX}/man/man1/ion-devel.1x
X	@ ${INSTALL_SCRIPT} ${WRKSRC}/scripts/ion ${PREFIX}/bin/ion-devel
X	@ ${INSTALL_SCRIPT} ${WRKSRC}/scripts/pwm ${PREFIX}/bin/pwm-devel
X	@ ${INSTALL_PROGRAM} ${WRKSRC}/ioncore/ioncore ${PREFIX}/bin/ioncore
X	@ ${INSTALL_PROGRAM} ${WRKSRC}/query/ion-completefile/ion-completefile\
X		${PREFIX}/bin/ion-devel-completefile
X	@ ${INSTALL_SCRIPT} ${WRKSRC}/scripts/ion-edit \
X		${PREFIX}/bin/ion-devel-edit
X	@ ${INSTALL_SCRIPT} ${WRKSRC}/scripts/ion-man \
X		${PREFIX}/bin/ion-devel-man
X	@ ${INSTALL_SCRIPT} ${WRKSRC}/scripts/ion-view \
X		${PREFIX}/bin/ion-devel-view
X	@ ${INSTALL_SCRIPT} ${WRKSRC}/scripts/ion-ssh \
X		${PREFIX}/bin/ion-devel-ssh
X	@ ${INSTALL_SCRIPT} ${WRKSRC}/scripts/ion-runinxterm \
X		${PREFIX}/bin/ion-devel-runinxterm
X	@ ${MODULE_INSTALL} ${WRKSRC}/ionws/ionws.la ${PREFIX}/lib/ion-devel
X	@ ${MODULE_INSTALL} ${WRKSRC}/floatws/floatws.la ${PREFIX}/lib/ion-devel
X	@ ${MODULE_INSTALL} ${WRKSRC}/query/query.la ${PREFIX}/lib/ion-devel
X	@ ${LIBTOOL} --finish ${PREFIX}/lib/ion-devel
X
Xpost-install:
X	@${CAT} ${PKGMESSAGE}
X
X.include <bsd.port.mk>
END-of-x11-wm/ion-devel/Makefile
echo x - x11-wm/ion-devel/distinfo
sed 's/^X//' >x11-wm/ion-devel/distinfo << 'END-of-x11-wm/ion-devel/distinfo'
XMD5 (ion-devel-20030510.tar.gz) = 322c87e8c0b5c06d3f89a4bc367a3f34
END-of-x11-wm/ion-devel/distinfo
echo x - x11-wm/ion-devel/pkg-descr
sed 's/^X//' >x11-wm/ion-devel/pkg-descr << 'END-of-x11-wm/ion-devel/pkg-descr'
XIon (based on PWM) is a new kind of window manager that brings a
Xtext-editorish, keyboard friendly user interface to window management. 
X
XModern GUIs are unusable. Overlapping windows are hard to manage, especially
Xfrom the keyboard, and the user often ends up in a jungle. Not to mention the
Xapplication programs, which are even worse. Mouse-based search-and-click
Xinterfaces are slow - keyboard is fast having learnt the commands. Ion (the
Xlast three letters of vision =-) was written as an example and an experiment of
Xsomething presumably better (just the window manager, though). 
X
XIon simply divides the screen into frames that take the whole screen. Big
Xdisplays have so much space that this is convenient and smaller displays
Xcouldn't show more than one window at a time anyway. The frames can be split
Xand growing the size of one will shrink others. Alike in PWM, clients can be
Xmoved between frames and multiple clients can be attached to one frame. 
X
XWith Ion you will hardly ever have to touch the mouse again for navigation
Xbetween windows and the windows are always in order. 
X
XWWW: http://modeemi.cs.tut.fi/~tuomov/ion/
X
X-- Robert Ricci
X   ricci at cs.utah.edu
END-of-x11-wm/ion-devel/pkg-descr
echo x - x11-wm/ion-devel/pkg-plist
sed 's/^X//' >x11-wm/ion-devel/pkg-plist << 'END-of-x11-wm/ion-devel/pkg-plist'
Xbin/ioncore
Xbin/ion-devel
Xbin/pwm-devel
Xbin/ion-devel-edit
Xbin/ion-devel-man
Xbin/ion-devel-runinxterm
Xbin/ion-devel-ssh
Xbin/ion-devel-view
Xbin/ion-devel-completefile
Xetc/ion-devel.sampel/ioncore.lua
Xetc/ion-devel.sampel/draw.lua
Xetc/ion-devel.sampel/common-frame-bindings.lua
Xetc/ion-devel.sampel/compat.lua
Xetc/ion-devel.sampel/floatws.lua
Xetc/ion-devel.sampel/ioncore-bindings.lua
Xetc/ion-devel.sampel/ioncore-example.lua
Xetc/ion-devel.sampel/ioncorelib.lua
Xetc/ion-devel.sampel/ionws.lua
Xetc/ion-devel.sampel/kludges.lua
Xetc/ion-devel.sampel/look-blackwheat.lua
Xetc/ion-devel.sampel/look-brownsteel.lua
Xetc/ion-devel.sampel/look-clean.lua
Xetc/ion-devel.sampel/look-dusky.lua
Xetc/ion-devel.sampel/look-greyviolet.lua
Xetc/ion-devel.sampel/look-ios.lua
Xetc/ion-devel.sampel/look-simpleblue.lua
Xetc/ion-devel.sampel/look-wheat.lua
Xetc/ion-devel.sampel/pwm-ioncore-example.lua
Xetc/ion-devel.sampel/query.lua
Xetc/ion-devel.sampel/querylib.lua
Xlib/ion-devel/floatws.la
Xlib/ion-devel/floatws.so
Xlib/ion-devel/ionws.la
Xlib/ion-devel/ionws.so
Xlib/ion-devel/query.la
Xlib/ion-devel/query.so
X at unexec rmdir %D/etc/ion-devel.sampel
X at unexec rmdir %D/lib/ion-devel
END-of-x11-wm/ion-devel/pkg-plist
echo x - x11-wm/ion-devel/pkg-message
sed 's/^X//' >x11-wm/ion-devel/pkg-message << 'END-of-x11-wm/ion-devel/pkg-message'
X******************************************************************
X* Copy ${PREFIX}/etc/ion-devel.sampel to ${PREFIX}/etc/ion-devel *
X* before runing ion-devel                                        *
X******************************************************************
END-of-x11-wm/ion-devel/pkg-message
exit
-- ion-devel.shar ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list