From owner-freebsd-ports-bugs@FreeBSD.ORG Mon Jun 2 14:50:15 2003 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6D66B37B401 for ; Mon, 2 Jun 2003 14:50:14 -0700 (PDT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id D7A1743F3F for ; Mon, 2 Jun 2003 14:50:13 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.9/8.12.9) with ESMTP id h52LoDUp011372 for ; Mon, 2 Jun 2003 14:50:13 -0700 (PDT) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.9/8.12.9/Submit) id h52LoDhY011369; Mon, 2 Jun 2003 14:50:13 -0700 (PDT) Date: Mon, 2 Jun 2003 14:50:13 -0700 (PDT) Message-Id: <200306022150.h52LoDhY011369@freefall.freebsd.org> To: freebsd-ports-bugs@FreeBSD.org From: Rasmus Meldgaard Subject: Re: ports/52125: New port: The devel branch of the ion windows manager X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Rasmus Meldgaard List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Jun 2003 21:50:15 -0000 The following reply was made to PR ports/52125; it has been noted by GNATS. From: Rasmus Meldgaard To: FreeBSD-gnats-submit@FreeBSD.org Cc: Subject: Re: ports/52125: New port: The devel branch of the ion windows manager Date: Mon, 2 Jun 2003 23:42:44 +0200 On Sat, May 31, 2003 at 11:49:25PM +0200, Rasmus Meldgaard wrote: There is a new version of ion-devel (20030602-1) --- 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-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/files/patch-readconfig-c # 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--- share/ion-edit.orig Fri May 30 23:17:53 2003 X+++ share/ion-edit Sat May 31 21:31:11 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--- share/ion-view.orig Fri May 30 23:17:53 2003 X+++ share/ion-view Sat May 31 21:31:11 2003 X@@ -1,7 +1,7 @@ X #!/bin/sh X if echo "$1"|grep -E '^([a-zA-Z]+://|www.)' > /dev/null; then X- exec netscape-remote "$1" X+ exec netscape "$1" X else X- exec run-mailcap --action=view "$1" > /dev/null X+ exec ion-runinxterm -T $1 $EDITOR "$1" > /dev/null X fi X END-of-x11-wm/ion-devel/files/patch-ion-view 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--- share/ion-ssh.orig Fri May 30 23:17:53 2003 X+++ share/ion-ssh Sat May 31 21:31:11 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--- share/ion-man.orig Fri May 30 23:17:53 2003 X+++ share/ion-man Sat May 31 21:31:11 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 Sat May 17 15:08:58 2003 X+++ etc/ioncore-bindings.lua Sat May 31 22:04:14 2003 X@@ -42,7 +42,7 @@ X kpress(DEFAULT_MOD .. "Shift+Left", goto_next_screen), X kpress(DEFAULT_MOD .. "Shift+Right", goto_prev_screen), X X- kpress(DEFAULT_MOD .. "F1", make_exec_fn("ion-man ion")), X+ kpress(DEFAULT_MOD .. "F1", make_exec_fn("ion-devel-man ion-devel")), 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--- share/querylib.lua.orig Sat May 31 17:33:05 2003 X+++ share/querylib.lua Mon Jun 2 22:57:17 2003 X@@ -141,7 +141,7 @@ X X function QueryLib.exec_handler(frame, cmd) X if string.sub(cmd, 1, 1)==":" then X- local ix=get_script_warn(frame, "ion-runinxterm") X+ local ix=get_script_warn(frame, "ion-devel-runinxterm") X if not ix then return end X cmd=ix.." "..string.sub(cmd, 2) X end X@@ -402,7 +402,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@@ -416,7 +416,7 @@ X end X X str=string.gsub(str, "'", "'\\''") X- local ic=lookup_script("ion-completefile") X+ local ic=lookup_script("ion-devel-completefile") X if ic then X popen_bgread(ic.." '"..str.."' "..(wp or ""), X coroutine.wrap(receive_data)) X@@ -503,24 +503,24 @@ 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, X- QueryLib.make_script_lookup_fn("ion-ssh"), X+ "SSH to:", nil, X+ QueryLib.make_script_lookup_fn("ion-devel-ssh"), X 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@@ -531,28 +531,28 @@ X --} X --\end{verbatim} X QueryLib.query_man=QueryLib.make_execwith_fn( X- "Manual page (ion):", nil, X- QueryLib.make_script_lookup_fn("ion-man"), X+ "Manual page (ion-devel):", nil, X+ QueryLib.make_script_lookup_fn("ion-devel-man"), X 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_execfile_fn( X "Edit file:", QueryLib.get_initdir, X- QueryLib.make_script_lookup_fn("ion-edit"), X+ QueryLib.make_script_lookup_fn("ion-devel-edit"), X 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_execfile_fn( X "View file:", QueryLib.get_initdir, X- QueryLib.make_script_lookup_fn("ion-view"), X+ QueryLib.make_script_lookup_fn("ion-devel-view"), X QueryLib.file_completor X ) X 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 Sat May 31 15:20:09 2003 X+++ system.mk Mon Jun 2 15:35:21 2003 X@@ -7,8 +7,6 @@ X ## Installation paths X ## X X-PREFIX=/usr/local/ion-devel X- X # Unless you are creating a package conforming to some OS's standards, you X # probably do not want to modify the following directories: X X@@ -21,9 +19,9 @@ X # Manual pages X MANDIR=$(PREFIX)/man X # Some documents X-DOCDIR=$(PREFIX)/doc/ion-devel X+DOCDIR=$(PREFIX)/share/doc/ion-devel X # Nothing at the moment X-INCDIR=$(PREFIX)/include/ion-devel X+INCDIR=$(PREFIX)/include X # Nothing at the moment X LIBDIR=$(PREFIX)/lib X # Modules X@@ -45,8 +43,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@@ -59,7 +57,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 X+LUA_PATH=${LOCALBASE} X LUA_LIBS = -L$(LUA_PATH)/lib -R$(LUA_PATH)/lib -llua -llualib X LUA_INCLUDES = -I$(LUA_PATH)/include X X@@ -71,7 +69,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@@ -147,8 +145,8 @@ X # following should optimize function calls to Lua a little. X #C99_SOURCE=-std=c99 -DCF_HAS_VA_COPY X X-CFLAGS=-g -Os $(WARN) $(DEFINES) $(INCLUDES) $(EXTRA_INCLUDES) X-LDFLAGS=-g -Os $(LIBS) $(EXTRA_LIBS) X+CFLAGS=-g $(WARN) $(DEFINES) $(INCLUDES) $(EXTRA_INCLUDES) X+LDFLAGS=-g $(LIBS) $(EXTRA_LIBS) X X X ## END-of-x11-wm/ion-devel/files/patch-system-mk echo x - x11-wm/ion-devel/files/patch-readconfig-c sed 's/^X//' >x11-wm/ion-devel/files/patch-readconfig-c << 'END-of-x11-wm/ion-devel/files/patch-readconfig-c' X--- ioncore/readconfig.c.orig Mon Jun 2 12:04:00 2003 X+++ ioncore/readconfig.c Mon Jun 2 20:49:11 2003 X@@ -72,7 +72,24 @@ X X bool ioncore_add_moduledir(const char *dir) X { X- return (lt_dlinsertsearchdir(lt_dlgetsearchpath(), dir)==0); X+ const char *oldpath; X+ char *newpath; X+ bool ret; X+ X+ oldpath=lt_dlgetsearchpath(); X+ if(oldpath==NULL){ X+ return (lt_dlsetsearchpath(dir)==0); X+ }else{ X+ libtu_asprintf(&newpath, "%s:%s", dir, oldpath); X+ if(newpath==NULL){ X+ warn_err(); X+ return FALSE; X+ }else{ X+ ret=(lt_dlsetsearchpath(newpath)==0); X+ free(newpath); X+ return ret; X+ } X+ } X } X X END-of-x11-wm/ion-devel/files/patch-readconfig-c 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 X# X# $FreeBSD$ X# X XPORTNAME= ion-devel XPORTVERSION= 20030602-1 XCATEGORIES= x11-wm XMASTER_SITES= http://modeemi.cs.tut.fi/~tuomov/dl/ X XMAINTAINER= rasmusm@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 floatws.lua\ X ioncore-bindings.lua\ X ioncore-example.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 XSHARE_DATA= ioncorelib.lua\ X compat.lua\ X querylib.lua X XMODULE_INSTALL= $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) X Xdo-install: X @ ${MKDIR} ${PREFIX}/etc/ion-devel.sampel X @ ${MKDIR} ${PREFIX}/lib/ion-devel X @ ${MKDIR} ${PREFIX}/share/ion-devel X.for i in ${ETC_FILES} X @ ${INSTALL_DATA} ${WRKSRC}/etc/${i} ${PREFIX}/etc/ion-devel.sampel X.endfor X.for i in ${SHARE_DATA} X @ ${INSTALL_DATA} ${WRKSRC}/share/${i} ${PREFIX}/share/ion-devel 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 @ ${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}/lib/ion-devel/ion-devel-completefile X @ ${INSTALL_SCRIPT} ${WRKSRC}/share/ion-edit \ X ${PREFIX}/share/ion-devel/ion-devel-edit X @ ${INSTALL_SCRIPT} ${WRKSRC}/share/ion-man \ X ${PREFIX}/share/ion-devel/ion-devel-man X @ ${INSTALL_SCRIPT} ${WRKSRC}/share/ion-view \ X ${PREFIX}/share/ion-devel/ion-devel-view X @ ${INSTALL_SCRIPT} ${WRKSRC}/share/ion-ssh \ X ${PREFIX}/share/ion-devel/ion-devel-ssh X @ ${INSTALL_SCRIPT} ${WRKSRC}/share/ion-runinxterm \ X ${PREFIX}/share/ion-devel/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 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-20030602-1.tar.gz) = 6c6e52c4aeb09d3601a0a029c05ab21f 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@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 Xshare/ion-devel/ion-devel-edit Xshare/ion-devel/ion-devel-man Xshare/ion-devel/ion-devel-runinxterm Xshare/ion-devel/ion-devel-ssh Xshare/ion-devel/ion-devel-view Xetc/ion-devel.sampel/ioncore.lua Xetc/ion-devel.sampel/draw.lua Xetc/ion-devel.sampel/common-frame-bindings.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/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 Xshare/ion-devel/compat.lua Xshare/ion-devel/ioncorelib.lua Xshare/ion-devel/querylib.lua Xlib/ion-devel/ion-devel-completefile 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@unexec rmdir %D/etc/ion-devel.sampel X@unexec rmdir %D/lib/ion-devel X@unexec rmdir %D/share/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 --- -- Rasmus Meldgaard