Bug 62486 - [NEW PORT] x11-wm/ion-2: Ion is a tiling tabbed window manager designed with keyboard users in mind.
Summary: [NEW PORT] x11-wm/ion-2: Ion is a tiling tabbed window manager designed with ...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Pav Lucistnik
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-02-07 18:10 UTC by Anthony Ginepro
Modified: 2004-05-30 08:07 UTC (History)
0 users

See Also:


Attachments
ion-2.shar (5.14 KB, text/plain)
2004-02-07 18:10 UTC, Anthony Ginepro
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Anthony Ginepro 2004-02-07 18:10:07 UTC
Ion (based on PWM) is a new kind of window manager that brings a
text-editorish, keyboard friendly user interface to window management.
 
Modern GUIs are unusable. Overlapping windows are hard to manage, especially
from the keyboard, and the user often ends up in a jungle. Not to mention the
application programs, which are even worse. Mouse-based search-and-click
interfaces are slow - keyboard is fast having learnt the commands. Ion (the
last three letters of vision =-) was written as an example and an experiment of
something presumably better (just the window manager, though).
 
Ion simply divides the screen into frames that take the whole screen. Big
displays have so much space that this is convenient and smaller displays
couldn't show more than one window at a time anyway. The frames can be split
and growing the size of one will shrink others. Alike in PWM, clients can be
moved between frames and multiple clients can be attached to one frame.
 
With Ion you will hardly ever have to touch the mouse again for navigation
between windows and the windows are always in order.
 
WWW: http://modeemi.cs.tut.fi/~tuomov/ion/

(Note: I haven't had answer from x11-wm/ion maintainer, so I submit this as a new port)
Comment 1 Adam Weinberger freebsd_committer freebsd_triage 2004-03-03 15:51:04 UTC
Responsible Changed
From-To: freebsd-ports-bugs->adamw

I use ion a lot, so I'm gonna snag this one.
Comment 2 Adam Weinberger freebsd_committer freebsd_triage 2004-03-03 15:52:06 UTC
State Changed
From-To: open->repocopy

Send to portmgr for some tender lovin' repocopy action. 

x11-wm/ion -> x11-wm/ion2 

After that's done, I'll remove x11-wm/ion-devel, as it's 
unnecessary, and nothing happened with it once it was 
repocopied. 


Comment 3 Adam Weinberger freebsd_committer freebsd_triage 2004-03-03 15:52:06 UTC
Responsible Changed
From-To: adamw->portmgr

Send to portmgr for some tender lovin' repocopy action. 

x11-wm/ion -> x11-wm/ion2 

After that's done, I'll remove x11-wm/ion-devel, as it's 
unnecessary, and nothing happened with it once it was 
repocopied.
Comment 4 Adam Weinberger freebsd_committer freebsd_triage 2004-03-03 16:47:57 UTC
State Changed
From-To: repocopy->open

I'm taking this back, because there's some issues with the 
port that need to be worked out. 


Comment 5 Adam Weinberger freebsd_committer freebsd_triage 2004-03-03 16:47:57 UTC
Responsible Changed
From-To: portmgr->adamw

I'm taking this back, because there's some issues with the 
port that need to be worked out.
Comment 6 Adam Weinberger freebsd_committer freebsd_triage 2004-03-14 16:13:11 UTC
Responsible Changed
From-To: adamw->freebsd-ports-bugs

I have to return this to the Ports Group At Large. My old computer 
died, and my new one won't behave with X at all. Someone else, 
please take care of this one. It'll be a bit before I can do anything 
in X again ::/
Comment 7 Anthony Ginepro 2004-03-21 10:28:19 UTC
Here's attached my latest modifications done with Adam.
The commiter should note that ion3 (or ion-devel) is already available and 
I would like to send it too when I'll take some time to compile and test.

# 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:
#
#	ion2
#	ion2/files
#	ion2/files/patch-rules.mk
#	ion2/files/patch-system.mk
#	ion2/distinfo
#	ion2/Makefile
#	ion2/pkg-descr
#
echo c - ion2
mkdir -p ion2 > /dev/null 2>&1
echo c - ion2/files
mkdir -p ion2/files > /dev/null 2>&1
echo x - ion2/files/patch-rules.mk
sed 's/^X//' >ion2/files/patch-rules.mk << 'END-of-ion2/files/patch-rules.mk'
X--- rules.mk	Wed Jun 18 14:12:19 2003
X+++ rules.mk.bsd	Sun Aug 17 20:28:21 2003
X@@ -84,6 +84,7 @@
X module_install:
X 	$(INSTALLDIR) $(MODULEDIR)
X 	$(LIBTOOL) --mode=install $(INSTALL) -s -m $(BIN_MODE) $(MODULE).la $(MODULEDIR)
X+	$(INSTALL) -m $(BIN_MODE) $(MODULE).la $(MODULEDIR)
X 
END-of-ion2/files/patch-rules.mk
echo x - ion2/files/patch-system.mk
sed 's/^X//' >ion2/files/patch-system.mk << 'END-of-ion2/files/patch-system.mk'
X--- system.mk.orig	Sat Feb  7 16:37:01 2004
X+++ system.mk	Wed Mar 17 20:24:34 2004
X@@ -7,7 +7,7 @@
X ## Installation paths
X ##
X 
X-PREFIX=/usr/local
X+#PREFIX=/usr/local
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@@ -40,11 +40,12 @@
X # libtool because even more-recent-than-libtool-1.4.3 releases of those
X # OSes only have an _ancient_ 1.3.x libtool that _will_ _not_ _work even
X # though a lot of libltdl-using apps require 1.4.3.
X-LIBTOOL=libtool
X+LIBTOOL=$(LOCALBASE)/bin/libtool15 --tag=CC
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 # The following should do it if you have manually installed libtool 1.5 in
X # $(LIBTOOLDIR).
X@@ -70,7 +71,7 @@
X 
X # If you have installed Lua 5.0 from the official tarball without changing
X # paths, this should do it.
X-LUA_DIR=/usr/local
X+LUA_DIR=$(LOCALBASE)
X LUA_LIBS = -L$(LUA_DIR)/lib -R$(LUA_DIR)/lib -llua -llualib
X LUA_INCLUDES = -I$(LUA_DIR)/include
X LUA=$(LUA_DIR)/bin/lua
X@@ -88,7 +89,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@@ -117,7 +118,7 @@
X # asprintf and vasprintf in the c library. (gnu libc has.)
X # If HAS_SYSTEM_ASPRINTF is not defined, an implementation
X # in sprintf_2.2/ is used.
X-#HAS_SYSTEM_ASPRINTF=1
X+HAS_SYSTEM_ASPRINTF=1
X 
X 
X # If you're on an archaic system (such as relatively recent *BSD releases)
X@@ -130,16 +131,16 @@
X ## C compiler
X ##
X 
X-CC=gcc
X+CC?=gcc
X 
X # Same as '-Wall -pedantic' without '-Wunused' as callbacks often
X # have unused variables.
X WARN=	-W -Wimplicit -Wreturn-type -Wswitch -Wcomment \
X 	-Wtrigraphs -Wformat -Wchar-subscripts \
X-	-Wparentheses -pedantic -Wuninitialized
X+	-Wparentheses -Wuninitialized
X 
X-CFLAGS=-g -Os $(WARN) $(DEFINES) $(INCLUDES) $(EXTRA_INCLUDES)
X-LDFLAGS=-g -Os $(LIBS) $(EXTRA_LIBS)
X+CFLAGS+= $(WARN) $(DEFINES) $(INCLUDES) $(EXTRA_INCLUDES)
X+LDFLAGS= $(LIBS) $(EXTRA_LIBS)
X 
X # The following options are mainly for development use and can be used
X # to check that the code seems to conform to some standards. Depending
X@@ -188,9 +189,9 @@
X ##
X 
X # Should work almost everywhere
X-INSTALL=install
X+#INSTALL=install
X # On a system with pure BSD install, -c might be preferred
X-#INSTALL=install -c
X+INSTALL=install -c
X 
X INSTALLDIR=mkdir -p
X 
END-of-ion2/files/patch-system.mk
echo x - ion2/distinfo
sed 's/^X//' >ion2/distinfo << 'END-of-ion2/distinfo'
XMD5 (ion-2-20040207.tar.gz) = d20cde38bdc15e7e4824cf1140440f51
XSIZE (ion-2-20040207.tar.gz) = 376466
END-of-ion2/distinfo
echo x - ion2/Makefile
sed 's/^X//' >ion2/Makefile << 'END-of-ion2/Makefile'
X# New ports collection makefile for:   ion-devel
X# Date created:        20 August 2003
X# Whom:                anthony.ginepro@laposte.net
X# Original ion port:   ricci@cs.utah.edu
X#
X# $FreeBSD$
X#
X
XPORTNAME=	ion-2
XPORTVERSION=	20040207
XCATEGORIES=	x11-wm
XMASTER_SITES=	http://modeemi.fi/~tuomov/dl/
X
XMAINTAINER=	anthony.ginepro@laposte.net
XCOMMENT=	Ion is a tiling tabbed window manager
X
XLIB_DEPENDS=	ltdl.4:${PORTSDIR}/devel/libltdl \
X		lua.5:${PORTSDIR}/lang/lua
X
XCONFLICTS=	ion-2002* ion-devel-*
X
XUSE_LIBTOOL_VER=15
XUSE_X_PREFIX=	yes
XUSE_GMAKE=	yes
X
XMAN1=		ion.1 pwm.1
XMAN1PREFIX=	${PREFIX}/share
XDOCSDIR=	share/doc/ion
X
XPLIST_FILES=	bin/ion bin/pwm
XION_DIRS=	etc/ion \
X		lib/ion \
X		share/ion \
X		${DOCSDIR}
X
X# NO, I don't want to use configure but ion's author system.mk
Xdo-configure:
X
X.include <bsd.port.pre.mk>
X# dynamically built pkg-plist
Xpost-install:
X.for dir in ${ION_DIRS}
X	cd ${PREFIX} ; ${FIND} ${dir} -type f -o -type l >> ${TMPPLIST}
X	${ECHO} "@dirrm ${dir}" >> ${TMPPLIST}
X.endfor
X.include <bsd.port.post.mk>
END-of-ion2/Makefile
echo x - ion2/pkg-descr
sed 's/^X//' >ion2/pkg-descr << 'END-of-ion2/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/
END-of-ion2/pkg-descr
exit
Comment 8 Anthony Ginepro 2004-04-15 19:59:35 UTC
Here's latest ion-2 version (20040407) and some fixes.
Take care when copy-pasting the shar from freebsd web as it adds a space
in front of each line. You'll have to remove it before unpacking it.

# 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:
#
#	ion2
#	ion2/files
#	ion2/files/patch-rules.mk
#	ion2/files/patch-system.mk
#	ion2/distinfo
#	ion2/Makefile
#	ion2/pkg-descr
#
echo c - ion2
mkdir -p ion2 > /dev/null 2>&1
echo c - ion2/files
mkdir -p ion2/files > /dev/null 2>&1
echo x - ion2/files/patch-rules.mk
sed 's/^X//' >ion2/files/patch-rules.mk << 'END-of-ion2/files/patch-rules.mk'
X--- rules.mk	Wed Apr  7 09:15:54 2004
X+++ rules.mk.bsd	Sun Apr 11 12:55:10 2004
X@@ -91,6 +91,7 @@
X module_install:
X 	$(INSTALLDIR) $(MODULEDIR)
X 	$(LIBTOOL) --mode=install $(INSTALL) -s -m $(BIN_MODE) $(MODULE).la $(MODULEDIR)
X+	$(INSTALL) -m $(BIN_MODE) $(MODULE).la $(MODULEDIR)
X 
X clean_objs:
X 	$(RM) -f $(OBJS)
END-of-ion2/files/patch-rules.mk
echo x - ion2/files/patch-system.mk
sed 's/^X//' >ion2/files/patch-system.mk << 'END-of-ion2/files/patch-system.mk'
X--- system.mk	Wed Apr  7 09:15:54 2004
X+++ system.mk.bsd	Sun Apr 11 14:41:42 2004
X@@ -7,7 +7,7 @@
X ## Installation paths
X ##
X 
X-PREFIX=/usr/local
X+#PREFIX=/usr/local
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@@ -19,7 +19,7 @@
X # Some .lua files and ion-* shell scripts
X SHAREDIR=$(PREFIX)/share/ion
X # Manual pages
X-MANDIR=$(PREFIX)/share/man
X+MANDIR=$(PREFIX)/man
X # Some documents
X DOCDIR=$(PREFIX)/share/doc/ion
X # Nothing at the moment
X@@ -42,11 +42,11 @@
X # libtool because even more-recent-than-libtool-1.4.3 releases of those
X # OSes only have an _ancient_ 1.3.x libtool that _will_ _not_ _work even
X # though a lot of libltdl-using apps require 1.4.3.
X-LIBTOOL=libtool
X+LIBTOOL=$(LOCALBASE)/bin/libtool15 --tag=CC
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 # The following should do it if you have manually installed libtool 1.5 in
X # $(LIBTOOLDIR).
X@@ -72,7 +72,7 @@
X 
X # If you have installed Lua 5.0 from the official tarball without changing
X # paths, this should do it.
X-LUA_DIR=/usr/local
X+LUA_DIR=$(LOCALBASE)
X LUA_LIBS = -L$(LUA_DIR)/lib -R$(LUA_DIR)/lib -llua -llualib
X LUA_INCLUDES = -I$(LUA_DIR)/include
X LUA=$(LUA_DIR)/bin/lua
X@@ -90,7 +90,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@@ -119,7 +119,7 @@
X # asprintf and vasprintf in the c library. (gnu libc has.)
X # If HAS_SYSTEM_ASPRINTF is not defined, an implementation
X # in sprintf_2.2/ is used.
X-#HAS_SYSTEM_ASPRINTF=1
X+HAS_SYSTEM_ASPRINTF=1
X 
X 
X # If you're on an archaic system (such as relatively recent *BSD releases)
X@@ -132,16 +132,16 @@
X ## C compiler
X ##
X 
X-CC=gcc
X+CC?=gcc
X 
X # Same as '-Wall -pedantic' without '-Wunused' as callbacks often
X # have unused variables.
X WARN=	-W -Wimplicit -Wreturn-type -Wswitch -Wcomment \
X 	-Wtrigraphs -Wformat -Wchar-subscripts \
X-	-Wparentheses -pedantic -Wuninitialized
X+	-Wparentheses -Wuninitialized
X 
X-CFLAGS=-g -Os $(WARN) $(DEFINES) $(EXTRA_INCLUDES) $(INCLUDES)
X-LDFLAGS=-g -Os $(EXTRA_LIBS) $(LIBS)
X+CFLAGS+= $(WARN) $(DEFINES) $(EXTRA_INCLUDES) $(INCLUDES)
X+LDFLAGS= $(EXTRA_LIBS) $(LIBS)
X 
X # The following options are mainly for development use and can be used
X # to check that the code seems to conform to some standards. Depending
X@@ -154,11 +154,11 @@
X #POSIX_SOURCE=-D_POSIX_SOURCE
X 
X # Most systems
X-#XOPEN_SOURCE=-D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED
X+XOPEN_SOURCE=-D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED
X # SunOS, (Irix)
X #XOPEN_SOURCE=-D__EXTENSIONS__
X 
X-#C99_SOURCE=-std=c99 -DCF_HAS_VA_COPY
X+C99_SOURCE=-std=c99 -DCF_HAS_VA_COPY
X 
X # The -DCF_HAS_VA_COPY option should allow for some optimisations, and 
X # in some cases simply defining
X@@ -190,9 +190,9 @@
X ##
X 
X # Should work almost everywhere
X-INSTALL=install
X+#INSTALL=install
X # On a system with pure BSD install, -c might be preferred
X-#INSTALL=install -c
X+INSTALL=install -c
X 
X INSTALLDIR=mkdir -p
X 
END-of-ion2/files/patch-system.mk
echo x - ion2/distinfo
sed 's/^X//' >ion2/distinfo << 'END-of-ion2/distinfo'
XMD5 (ion-2-20040407.tar.gz) = f27efbd06ab1c8ac26918bef6ed029e7
XSIZE (ion-2-20040407.tar.gz) = 389518
END-of-ion2/distinfo
echo x - ion2/Makefile
sed 's/^X//' >ion2/Makefile << 'END-of-ion2/Makefile'
X# New ports collection makefile for:   ion-devel
X# Date created:        20 August 2003
X# Whom:                anthony.ginepro@laposte.net
X# Original ion port:   ricci@cs.utah.edu
X#
X# $FreeBSD$
X#
X
XPORTNAME=	ion-2
XPORTVERSION=	20040407
XCATEGORIES=	x11-wm
XMASTER_SITES=	http://modeemi.fi/~tuomov/ion/dl/
X
XMAINTAINER=	anthony.ginepro@laposte.net
XCOMMENT=	Ion is a tiling tabbed window manager
X
XLIB_DEPENDS=	ltdl.4:${PORTSDIR}/devel/libltdl \
X		lua.5:${PORTSDIR}/lang/lua
X
XCONFLICTS=	ion-2002* ion-devel-*
X
XUSE_LIBTOOL_VER=15
XUSE_X_PREFIX=	yes
XUSE_GMAKE=	yes
X
XMAN1=		ion.1 pwm.1
XDOCSDIR=	share/doc/ion
X
XPLIST_FILES=	bin/ion bin/pwm
XION_DIRS=	etc/ion \
X		lib/ion/lc \
X		lib/ion \
X		share/ion \
X		${DOCSDIR}
X
X# NO, I don't want to use configure but ion's author system.mk
Xdo-configure:
X
X.include <bsd.port.pre.mk>
X# dynamically built pkg-plist
Xpost-install:
X.for dir in ${ION_DIRS}
X	cd ${PREFIX} ; ${FIND} ${dir} -type f -o -type l -maxdepth 1 >> ${TMPPLIST}
X	${ECHO} "@dirrm ${dir}" >> ${TMPPLIST}
X.endfor
X.include <bsd.port.post.mk>
END-of-ion2/Makefile
echo x - ion2/pkg-descr
sed 's/^X//' >ion2/pkg-descr << 'END-of-ion2/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/
END-of-ion2/pkg-descr
exit
Comment 9 Pav Lucistnik freebsd_committer freebsd_triage 2004-05-25 18:41:14 UTC
State Changed
From-To: open->repocopy

I'd like to request a repocopy x11-wm/ion -> x11/wm-ion-2 
I have the port ready and will commit ASAP once repocopy is done. 


Comment 10 Pav Lucistnik freebsd_committer freebsd_triage 2004-05-25 18:41:14 UTC
Responsible Changed
From-To: freebsd-ports-bugs->portmgr

I'd like to request a repocopy x11-wm/ion -> x11/wm-ion-2 
I have the port ready and will commit ASAP once repocopy is done.
Comment 11 Joe Marcus Clarke freebsd_committer freebsd_triage 2004-05-30 03:32:05 UTC
State Changed
From-To: repocopy->open

Repo-copy completed. 


Comment 12 Joe Marcus Clarke freebsd_committer freebsd_triage 2004-05-30 03:32:05 UTC
Responsible Changed
From-To: portmgr->pav

Repo-copy completed.
Comment 13 Pav Lucistnik freebsd_committer freebsd_triage 2004-05-30 08:07:25 UTC
State Changed
From-To: open->closed

New port added, thank you!