Date: Mon, 24 May 2004 01:03:23 +0300 From: Andrey Slusar <vasallia@ukr.net> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/67103: [NEW PORT] x11-wm/ion-2: Tiling tabbed window manager Message-ID: <E1BS13z-000Gci-Ao@santinel.home.ua> Resent-Message-ID: <200405232300.i4NN0kFB049699@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 67103 >Category: ports >Synopsis: [NEW PORT] x11-wm/ion-2: Tiling tabbed window 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: Sun May 23 16:00:46 PDT 2004 >Closed-Date: >Last-Modified: >Originator: Andrey Slusar >Release: FreeBSD 5.2-CURRENT i386 >Organization: Santinel >Environment: System: FreeBSD santinel.home.ua 5.2-CURRENT FreeBSD 5.2-CURRENT #0: Sat May 15 17:05:19 EEST 2004 root@santinel.home.ua:/usr/obj/usr/src/sys/ANRAY i386 >Description: * Tiling workspaces with tabbed frames, as discussed above. * Designed to be primarily used from the keyboard. * Fully documented configuration and scripting interface on top of the lightweight Lua extension language. * Modular design. The main binary implements only basic window manager functionality. Actual window management policies are implemented by dynamically loaded workspace and other modules. * The query module implements a line editor similar to mini buffers in many text editors. It is used to implement many different queries with tab-completion support: show manual page, run program, open SSH session, view file, goto named client window or workspace, etc. * To run those few particularly badly behaving programs, Ion-2 also supports conventional workspaces of the PWM flavour through the floatws module. This module is also used to implement PWM2 on top of the Ion core library. * Other modules include the drawing engine, dock module for Window Maker dockapp support, menu module and, of course, the tiled workspaces module. * Full screen client windows are seen as workspaces on their own. It is possible to switch to a normal workspace while keeping several client windows in full screen state and also switch clients that do not themselves support full screen mode to this state. >How-To-Repeat: N/A >Fix: --- ion2.port 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: # # /usr/ports/x11-wm/ion-2/ # /usr/ports/x11-wm/ion-2/files # /usr/ports/x11-wm/ion-2/files/patch-rules.mk # /usr/ports/x11-wm/ion-2/files/patch-system.mk # /usr/ports/x11-wm/ion-2/files/patch-ion-edit # /usr/ports/x11-wm/ion-2/files/patch-ion-view # /usr/ports/x11-wm/ion-2/distinfo # /usr/ports/x11-wm/ion-2/Makefile # /usr/ports/x11-wm/ion-2/pkg-descr # /usr/ports/x11-wm/ion-2/pkg-plist # echo c - /usr/ports/x11-wm/ion-2/ mkdir -p /usr/ports/x11-wm/ion-2/ > /dev/null 2>&1 echo c - /usr/ports/x11-wm/ion-2/files mkdir -p /usr/ports/x11-wm/ion-2/files > /dev/null 2>&1 echo x - /usr/ports/x11-wm/ion-2/files/patch-rules.mk sed 's/^X//' >/usr/ports/x11-wm/ion-2/files/patch-rules.mk << 'END-of-/usr/ports/x11-wm/ion-2/files/patch-rules.mk' X--- rules.mk.orig Wed Apr 7 10:15:54 2004 X+++ rules.mk Mon May 24 00:34:20 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-/usr/ports/x11-wm/ion-2/files/patch-rules.mk echo x - /usr/ports/x11-wm/ion-2/files/patch-system.mk sed 's/^X//' >/usr/ports/x11-wm/ion-2/files/patch-system.mk << 'END-of-/usr/ports/x11-wm/ion-2/files/patch-system.mk' X--- system.mk.orig Wed Apr 7 10:15:54 2004 X+++ system.mk Sun May 23 23:16:38 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@@ -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-/usr/ports/x11-wm/ion-2/files/patch-system.mk echo x - /usr/ports/x11-wm/ion-2/files/patch-ion-edit sed 's/^X//' >/usr/ports/x11-wm/ion-2/files/patch-ion-edit << 'END-of-/usr/ports/x11-wm/ion-2/files/patch-ion-edit' X--- share/ion-edit.old Sun May 23 23:24:17 2004 X+++ share/ion-edit Sun May 23 23:24:48 2004 X@@ -1,2 +1,2 @@ X #!/bin/sh X-exec run-mailcap --action=edit "$1" > /dev/null X+exec ion-runinxterm -T $1 $EDITOR "$1" > /dev/null END-of-/usr/ports/x11-wm/ion-2/files/patch-ion-edit echo x - /usr/ports/x11-wm/ion-2/files/patch-ion-view sed 's/^X//' >/usr/ports/x11-wm/ion-2/files/patch-ion-view << 'END-of-/usr/ports/x11-wm/ion-2/files/patch-ion-view' X--- share/ion-view.old Sun May 23 23:26:19 2004 X+++ share/ion-view Sun May 23 23:28:04 2004 X@@ -1,3 +1,2 @@ X #!/bin/sh X-exec run-mailcap --action=view "$1" > /dev/null X- X+exec ion-runinxterm -T $1 $EDITOR "$1" > /dev/null END-of-/usr/ports/x11-wm/ion-2/files/patch-ion-view echo x - /usr/ports/x11-wm/ion-2/distinfo sed 's/^X//' >/usr/ports/x11-wm/ion-2/distinfo << 'END-of-/usr/ports/x11-wm/ion-2/distinfo' XMD5 (ion-2-20040407.tar.gz) = f27efbd06ab1c8ac26918bef6ed029e7 XSIZE (ion-2-20040407.tar.gz) = 389518 END-of-/usr/ports/x11-wm/ion-2/distinfo echo x - /usr/ports/x11-wm/ion-2/Makefile sed 's/^X//' >/usr/ports/x11-wm/ion-2/Makefile << 'END-of-/usr/ports/x11-wm/ion-2/Makefile' X# New ports collection makefile for: ion-2 X# Date created: 23 May 2004 X# Whom: Andrey Slusar <vasallia@ukr.net> X# X# $FreeBSD$ X# X XPORTNAME= ion-2 XPORTVERSION= 20040407 XCATEGORIES= x11-wm XMASTER_SITES= http://modeemi.fi/~tuomov/dl/ X XMAINTAINER= vasallia@ukr.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* X XMAN1= ion.1 pwm.1 X XUSE_LIBTOOL_VER=15 XUSE_X_PREFIX= yes XUSE_GMAKE= yes X Xdo-configure: X X.include <bsd.port.mk> END-of-/usr/ports/x11-wm/ion-2/Makefile echo x - /usr/ports/x11-wm/ion-2/pkg-descr sed 's/^X//' >/usr/ports/x11-wm/ion-2/pkg-descr << 'END-of-/usr/ports/x11-wm/ion-2/pkg-descr' X Ion was written as an experiment on a different kind of window management Xmodel. It tries to address the navigation problem by dividing the screen Xinto mutually non-overlapping frames that take up the whole screen. Big Xdisplays have so much space that this should be convenient and smaller Xdisplays couldn't show more than one window at a time anyway. The frame Xlayout is, of course, dynamic and different on each workspace. Given the Xorganised tree based instead of an unorganised coordinate-based frame Xlayout, moving between the frames can be conveniently done from the Xkeyboard. As in PWM, the frames may have multiple clients attached, each Xindicated with a tab. X XWhile this model makes using well-designed and well-behaving programs a joy, Xsome applications, obviously, don't work well in this model. These are in Xparticular those applications that do not conform to the ICCCM (Inter-Client XCommunications Conventions Manual; the standard on how WM:s and applications Xshould communicate) and expect a particular window management model. XBadly-designed applications with multiple top-level windows that affect a Xsingle document are also not particularly well suited to the Ion model and Xshould be fixed, although can be occasionally kludged to be compatible. X XWWW: http://modeemi.cs.tut.fi/~tuomov/ion/ END-of-/usr/ports/x11-wm/ion-2/pkg-descr echo x - /usr/ports/x11-wm/ion-2/pkg-plist sed 's/^X//' >/usr/ports/x11-wm/ion-2/pkg-plist << 'END-of-/usr/ports/x11-wm/ion-2/pkg-plist' Xbin/ion Xbin/pwm Xetc/ion/dock-draw.lua Xetc/ion/dock.lua Xetc/ion/draw.lua Xetc/ion/floatws.lua Xetc/ion/ion-bindings.lua Xetc/ion/ion-menus.lua Xetc/ion/ion.lua Xetc/ion/ionws.lua Xetc/ion/kludges.lua Xetc/ion/look-brownsteel.lua Xetc/ion/look-clean.lua Xetc/ion/look-cleanios.lua Xetc/ion/look-cleanviolet.lua Xetc/ion/look-dusky.lua Xetc/ion/look-greyviolet.lua Xetc/ion/look-ios.lua Xetc/ion/look-simpleblue.lua Xetc/ion/look-wheat2.lua Xetc/ion/menu.lua Xetc/ion/pwm-bindings.lua Xetc/ion/pwm-menus.lua Xetc/ion/pwm.lua Xetc/ion/query.lua Xlib/ion/de.la Xlib/ion/de.so Xlib/ion/dock.la Xlib/ion/dock.so Xlib/ion/floatws.la Xlib/ion/floatws.so Xlib/ion/ion-completefile Xlib/ion/ionws.la Xlib/ion/ionws.so Xlib/ion/menu.la Xlib/ion/menu.so Xlib/ion/query.la Xlib/ion/query.so Xlib/ion/lc/ioncore-efbb.lc Xlib/ion/lc/ioncorelib.lc Xlib/ion/lc/ioncorelib-mplexfns.lc Xlib/ion/lc/menulib.lc Xlib/ion/lc/querylib.lc Xshare/ion/delib.lc Xshare/ion/delib.lua Xshare/ion/ion-edit Xshare/ion/ion-man Xshare/ion/ion-runinxterm Xshare/ion/ion-ssh Xshare/ion/ion-view Xshare/ion/ioncore-efbb.lua Xshare/ion/ioncorelib-mplexfns.lua Xshare/ion/ioncorelib.lua Xshare/ion/menulib.lua Xshare/ion/querylib.lua Xshare/ion/welcome_message.txt Xshare/doc/ion/README Xshare/doc/ion/LICENSE Xshare/doc/ion/ChangeLog X@dirrm lib/ion/lc X@dirrm lib/ion X@dirrm share/ion X@dirrm share/doc/ion X@unexec rmdir %D/etc/ion 2>/dev/null || true END-of-/usr/ports/x11-wm/ion-2/pkg-plist exit --- ion2.port ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E1BS13z-000Gci-Ao>