On Wed, Feb 11, 2004 at 10:39:07AM +0100, Quentin Garnier wrote:
> Thus there is some editing of configure.ac needed in order to make ion
> autoconfigurable on anything but Linux.
Fixed.
The full list of known bugs (all minor) since the release of
ion-2-20040207 is as follows:
2004-02-11:
* Move/resize display was never showing position.
* Completions display wasn't being refreshed, if its size wasn't
changed between completions.
* Oops, warping on workspace switch had been broken at some point.
* Some autoconf script portability and other fixes.
2004-02-10:
* Client window focusing routine was not setting "awaiting focus"
status.
* Removed superfluous debugging message.
2004-02-08:
* querylib.query_renameworkspace documentation was out-of-date.
2004-02-07:
* Mod1+Enter full screen toggle was not mentioned on the manual
page.
I have attached a patch that fixes these issues to this mail. As
these are not that serious problems, I'll wait a little longer to
make an actual bugfix release.
--
Tuomo
Index: system-ac.mk.in
===================================================================
--- system-ac.mk.in (.../tags/RELEASE_2-20040207) (revision 1290)
+++ system-ac.mk.in (.../ion-2-stable) (revision 1290)
@@ -163,7 +163,7 @@
DEFINES += @_DCF_HAS_VA_COPY@
[EMAIL PROTECTED]@ $(WARN) $(DEFINES) $(INCLUDES) $(EXTRA_INCLUDES)
[EMAIL PROTECTED]@ $(LIBS) $(EXTRA_LIBS)
[EMAIL PROTECTED]@ $(LIBS) $(EXTRA_LIBS)
##
Index: ioncore/mplex.c
===================================================================
--- ioncore/mplex.c (.../tags/RELEASE_2-20040207) (revision 1290)
+++ ioncore/mplex.c (.../ion-2-stable) (revision 1290)
@@ -349,7 +349,7 @@
region_lower(sub);
if(region_may_control_focus((WRegion*)mplex))
- set_focus((WRegion*)mplex);
+ warp((WRegion*)mplex);
return TRUE;
}
Index: ioncore/clientwin.c
===================================================================
--- ioncore/clientwin.c (.../tags/RELEASE_2-20040207) (revision 1290)
+++ ioncore/clientwin.c (.../ion-2-stable) (revision 1290)
@@ -1078,7 +1078,7 @@
send_clientmsg(cwin->win, wglobal.atom_wm_take_focus, stmp);
}
- XSetInputFocus(wglobal.dpy, cwin->win, RevertToParent, CurrentTime);
+ SET_FOCUS(cwin->win);
XSync(wglobal.dpy, 0);
}
Index: ioncore/rootwin.c
===================================================================
--- ioncore/rootwin.c (.../tags/RELEASE_2-20040207) (revision 1290)
+++ ioncore/rootwin.c (.../ion-2-stable) (revision 1290)
@@ -105,8 +105,15 @@
Window create_simple_window(WRootWin *rw, Window par, const WRectangle *geom)
{
- return XCreateSimpleWindow(wglobal.dpy, par,
- geom->x, geom->y, geom->w,
geom->h,
+ int w=geom->w;
+ int h=geom->h;
+
+ if(w<=0)
+ w=1;
+ if(h<=0)
+ h=1;
+
+ return XCreateSimpleWindow(wglobal.dpy, par, geom->x, geom->y, w, h,
0, 0,
BlackPixel(wglobal.dpy, rw->xscr));
}
Index: ioncore/resize.c
===================================================================
--- ioncore/resize.c (.../tags/RELEASE_2-20040207) (revision 1290)
+++ ioncore/resize.c (.../ion-2-stable) (revision 1290)
@@ -499,8 +499,6 @@
if(tmpreg!=reg || reg==NULL)
return;
- moveres_mode=MOVERES_SIZE;
-
realdx1=(tmpdx1+=dx1);
realdx2=(tmpdx2+=dx2);
realdy1=(tmpdy1+=dy1);
Index: ionws/split.c
===================================================================
--- ionws/split.c (.../tags/RELEASE_2-20040207) (revision 1290)
+++ ionws/split.c (.../ion-2-stable) (revision 1290)
@@ -720,8 +720,6 @@
sn=s/2;
so=s-sn;
- fprintf(stderr, "%d[%d:%d %d:%d]\n", s, sn, minsize, so, objmin);
-
if(sn<minsize)
sn=minsize;
if(so<objmin)
Index: configure.ac
===================================================================
--- configure.ac (.../tags/RELEASE_2-20040207) (revision 1290)
+++ configure.ac (.../ion-2-stable) (revision 1290)
@@ -20,7 +20,7 @@
dnl Checks for libraries. {{{
AC_PATH_XTRA()
-test "${X_DISPLAY_MISSING+set}" == set && exit 1
+test "${X_DISPLAY_MISSING+set}" = set && exit 1
AC_CHECK_LIB([Xext],
[XMissingExtension],
[X_LIBS="$X_LIBS -lXext"],
@@ -73,7 +73,7 @@
instead of Xmb routines in
an UTF-8 locale given
the -i18n command line
option])])
-if test "x$enable_Xutf8" == xyes; then
+if test "x$enable_Xutf8" = xyes; then
AC_MSG_CHECKING([for Xutf8*])
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $X_CFLAGS"
@@ -115,7 +115,7 @@
libtool_path="$PATH"
fi
AC_PATH_PROG([LIBTOOL], [libtool], [], [$libtool_path])
-test "x$LIBTOOL" == x && exit 1
+test "x$LIBTOOL" = x && exit 1
AC_MSG_CHECKING([for libtool version >= 1.4.3])
libtool_version=$($LIBTOOL --version | head -n 1 | cut -d' ' -f4)
dnl libtool_version=$($LIBTOOL --version | $EGREP -o '[0-9]+(\.[0-9]+)+' | head -n 1)
@@ -143,7 +143,7 @@
[Do not dynamically load
modules (preload modules
instead)])])
-if test "x$enable_shared" == xno; then
+if test "x$enable_shared" = xno; then
PRELOAD_MODULES="1"
fi
@@ -173,14 +173,14 @@
dnl }}}
dnl LUA {{{
-if test "x$with_lua_prefix" == x; then
+if test "x$with_lua_prefix" = x; then
lua_search_path="$PATH"
else
lua_search_path="$with_lua_prefix/bin"
fi
-if test "x$LUA" == x; then
+if test "x$LUA" = x; then
AC_PATH_PROG([LUA], [lua$with_lua_suffix], [], [$lua_search_path])
- test "x$LUA" == x && exit 1
+ test "x$LUA" = x && exit 1
fi
dnl }}}
@@ -200,16 +200,16 @@
dnl }}}
dnl LUAC {{{
-if test "x$LUAC" == x; then
+if test "x$LUAC" = x; then
AC_PATH_PROG([LUAC], [luac$with_lua_suffix], [], [$lua_search_path])
- test "x$LUAC" == x && exit 1
+ test "x$LUAC" = x && exit 1
fi
dnl }}}
dnl luac_version {{{
-AC_MSG_CHECKING([for lua version == luac version])
+AC_MSG_CHECKING([for lua version = luac version])
luac_version=$($LUAC -v 2>&1 | head -n 1 | cut -d' ' -f2)
-if test "x$lua_version" == "x$luac_version"; then
+if test "x$lua_version" = "x$luac_version"; then
AC_MSG_RESULT([yes (found $luac_version)])
else
AC_MSG_RESULT([no (found $luac_version)])
@@ -301,7 +301,7 @@
[AS_HELP_STRING([--enable-xopen-source],
[Enable X/Open C flags
(development use only)])])
-if test "x$enable_xopen_source" == xyes; then
+if test "x$enable_xopen_source" = xyes; then
AC_MSG_CHECKING([for $CC flags to accept X/Open C])
case $host in
# FIXME: what flags are required for other hosts/compilers?
@@ -325,7 +325,7 @@
[AS_HELP_STRING([--enable-c99-source],
[Enable C99 source
(development use only)])])
-if test "x$enable_c99_source" == xyes; then
+if test "x$enable_c99_source" = xyes; then
AC_MSG_CHECKING([for $CC flags to accept C99])
case $CC in
# FIXME: what flags are required for other hosts/compilers?
@@ -428,7 +428,7 @@
AC_OUTPUT([system-ac.mk])
-if test "x$lua_version" == "x5.0"; then
+if test "x$lua_version" = "x5.0"; then
AC_MSG_NOTICE([**])
AC_MSG_NOTICE([** lua version 5.0 is buggy, consider upgrading to 5.0.1])
AC_MSG_NOTICE([** see http://lua-users.org/lists/lua-l/2003-10/msg00039.html])
Index: query/wedln.c
===================================================================
--- query/wedln.c (.../tags/RELEASE_2-20040207) (revision 1290)
+++ query/wedln.c (.../ion-2-stable) (revision 1290)
@@ -416,12 +416,16 @@
static void wedln_show_completions(WEdln *wedln, char **strs, int nstrs)
{
- if(WEDLN_BRUSH(wedln)==NULL)
- return;
-
- setup_listing(&(wedln->complist), strs, nstrs, FALSE);
- input_refit((WInput*)wedln);
- /*wedln_draw_completions(wedln, TRUE);*/
+ int w=REGION_GEOM(wedln).w;
+ int h=REGION_GEOM(wedln).h;
+
+ if(WEDLN_BRUSH(wedln)==NULL)
+ return;
+
+ setup_listing(&(wedln->complist), strs, nstrs, FALSE);
+ input_refit((WInput*)wedln);
+ if(w==REGION_GEOM(wedln).w && h==REGION_GEOM(wedln).h)
+ wedln_draw_completions(wedln, TRUE);
}
Index: query/querylib.lua
===================================================================
--- query/querylib.lua (.../tags/RELEASE_2-20040207) (revision 1290)
+++ query/querylib.lua (.../ion-2-stable) (revision 1290)
@@ -337,10 +337,8 @@
-- This query asks for the name of a workspace. If a workspace
-- (an object inheriting \type{WGenWS}) with such a name exists,
-- it will be switched to. Otherwise a new workspace with the
--- entered name will be created. The default class for such a workspace
--- has been \emph{temporarily} hardcoded to \type{WIonWS}. By prefixing
--- the input string with ''classname:'' it is possible to create other
--- kinds of workspaces.
+-- entered name will be created and the user will be queried for
+-- the type of the workspace.
querylib.query_workspace=querylib.make_frame_fn(
"Go to or create workspace:", nil,
querylib.workspace_handler,
Index: man/ion.1.in.txt
===================================================================
--- man/ion.1.in.txt (.../tags/RELEASE_2-20040207) (revision 1290)
+++ man/ion.1.in.txt (.../ion-2-stable) (revision 1290)
@@ -258,8 +258,11 @@
Mod1+K Q
Send next key press to active client window.
+ Mod1+Enter
+ Toggle client window full screen mode.
+
LINE-EDITING KEYS
These keys can be used in the line editor (queries). They are similar
to those of the joe(1) editor. Selection works differently, though,
Index: man/ion.1.in
===================================================================
--- man/ion.1.in (.../tags/RELEASE_2-20040207) (revision 1290)
+++ man/ion.1.in (.../ion-2-stable) (revision 1290)
@@ -272,6 +272,9 @@
.TP
.B Mod1+K Q
Send next key press to active client window.
+.TP
+.B Mod1+Enter
+Toggle client window full screen mode.
.SH LINE-EDITING KEYS