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)
Responsible Changed From-To: freebsd-ports-bugs->adamw I use ion a lot, so I'm gonna snag this one.
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.
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.
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.
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.
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 ::/
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
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
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.
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.
State Changed From-To: repocopy->open Repo-copy completed.
Responsible Changed From-To: portmgr->pav Repo-copy completed.
State Changed From-To: open->closed New port added, thank you!