summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'x11-wm/ion2')
-rw-r--r--x11-wm/ion2/ChangeLog7
-rw-r--r--x11-wm/ion2/Manifest4
-rw-r--r--x11-wm/ion2/files/ion2-20040207-20040211.patch267
-rw-r--r--x11-wm/ion2/files/ion2-20040207-rename.patch52
-rw-r--r--x11-wm/ion2/files/ion2-20040407-rename.patch52
-rw-r--r--x11-wm/ion2/files/xftde-20040207.patch707
6 files changed, 6 insertions, 1083 deletions
diff --git a/x11-wm/ion2/ChangeLog b/x11-wm/ion2/ChangeLog
index e86d8ffd9a08..b1adb0a11c93 100644
--- a/x11-wm/ion2/ChangeLog
+++ b/x11-wm/ion2/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for x11-wm/ion2
# Copyright 2000-2004 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-wm/ion2/ChangeLog,v 1.22 2004/10/07 12:19:22 twp Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-wm/ion2/ChangeLog,v 1.23 2004/10/07 12:28:01 twp Exp $
+
+ 07 Oct 2004; Tom Payne <twp@gentoo.org> -files/ion2-20040207-20040211.patch,
+ -files/ion2-20040207-rename.patch, -files/ion2-20040407-rename.patch,
+ -files/xftde-20040207.patch:
+ Removed old files.
07 Oct 2004; Tom Payne <twp@gentoo.org> -ion2-20040407.ebuild,
-ion2-20040601.ebuild:
diff --git a/x11-wm/ion2/Manifest b/x11-wm/ion2/Manifest
index 1631230a9c88..4de9d173b81c 100644
--- a/x11-wm/ion2/Manifest
+++ b/x11-wm/ion2/Manifest
@@ -1,11 +1,7 @@
MD5 6aebc98f59c20ce9eb69ce4d5eedc5b0 ion2-20040729.ebuild 2051
MD5 fccbfbb04abb59eeb1f50a573ea4b724 ChangeLog 2659
MD5 d992d28bec4a3bfd72b441145091a58e metadata.xml 244
-MD5 75fdff828b88dd9c4dd69be914357bbf files/ion2-20040407-rename.patch 1272
-MD5 0b7705816fa1d59203e2ebd35db2632d files/ion2-20040207-20040211.patch 8684
MD5 7057ed0ec950ad5f77b47a32dbcb4fb4 files/ion2-20040601-rename.patch 1720
MD5 59a0157884665387039b7de882e85f1c files/digest-ion2-20040729 66
-MD5 ed5496e76f679ff7e17e2056ca5e0273 files/ion2-20040207-rename.patch 1220
-MD5 16c6e0f00bd204d2f612b781d7b73f54 files/xftde-20040207.patch 18552
MD5 fece066216c6fcfa1936d068bd6ca998 files/pwm2.desktop 170
MD5 fba46fa26a6acc7159f6eb942abc002d files/ion2.desktop 217
diff --git a/x11-wm/ion2/files/ion2-20040207-20040211.patch b/x11-wm/ion2/files/ion2-20040207-20040211.patch
deleted file mode 100644
index 4296fb968dbf..000000000000
--- a/x11-wm/ion2/files/ion2-20040207-20040211.patch
+++ /dev/null
@@ -1,267 +0,0 @@
-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@
-
- CFLAGS=@CFLAGS@ $(WARN) $(DEFINES) $(INCLUDES) $(EXTRA_INCLUDES)
--LDFLAGS=@CFLAGS@ $(LIBS) $(EXTRA_LIBS)
-+LDFLAGS=@LDFLAGS@ $(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
diff --git a/x11-wm/ion2/files/ion2-20040207-rename.patch b/x11-wm/ion2/files/ion2-20040207-rename.patch
deleted file mode 100644
index d31ffe57f265..000000000000
--- a/x11-wm/ion2/files/ion2-20040207-rename.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-diff -Naur ion-2-20040207/configure.ac ion-2/configure.ac
---- ion-2-20040207/configure.ac 2004-02-07 16:37:01.000000000 +0100
-+++ ion-2/configure.ac 2004-04-04 17:41:00.751390576 +0200
-@@ -5,7 +5,7 @@
- AC_INIT([Ion Window Manager],
- [2-20040207],
- [tuomov@iki.fi],
-- [ion])
-+ [ion2])
- AC_PREREQ([2.58])
- AC_REVISION([$Revision: 1.1 $])
-
-diff -Naur ion-2-20040207/man/ion.1.in ion-2/man/ion.1.in
---- ion-2-20040207/man/ion.1.in 2004-02-01 12:54:55.000000000 +0100
-+++ ion-2/man/ion.1.in 2004-04-04 17:11:54.000000000 +0200
-@@ -2,7 +2,7 @@
- .SH NAME
- Ion - an X11 window manager
- .SH SYNOPSIS
--.B ion
-+.B ion2
- .I "[options]"
- .SH "DESCRIPTION"
-
-@@ -429,7 +429,7 @@
- .PP
- .I DOCDIR/
- .PP
--\fIX(7x)\fP, \fIpwm(1)\fP
-+\fIX(7x)\fP, \fIpwm2(1)\fP
-
- .SH AUTHOR
- Ion was written by Tuomo Valkonen <tuomov at iki.fi>.
-diff -Naur ion-2-20040207/man/pwm.1.in ion-2/man/pwm.1.in
---- ion-2-20040207/man/pwm.1.in 2004-01-25 19:05:05.000000000 +0100
-+++ ion-2/man/pwm.1.in 2004-04-04 17:12:50.000000000 +0200
-@@ -2,7 +2,7 @@
- .SH NAME
- PWM - An X11 window manager
- .SH SYNOPSIS
--.B pwm
-+.B pwm2
- .I "[options]"
- .SH "DESCRIPTION"
-
-@@ -75,5 +75,5 @@
- .SH SEE ALSO
-
- For more information, see
--\fIion(1)\fP.
-+\fIion2(1)\fP.
-
diff --git a/x11-wm/ion2/files/ion2-20040407-rename.patch b/x11-wm/ion2/files/ion2-20040407-rename.patch
deleted file mode 100644
index e6876db96ca5..000000000000
--- a/x11-wm/ion2/files/ion2-20040407-rename.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-diff -Naur ion-2-20040407/configure.ac ion-2/configure.ac
---- ion-2-20040407/configure.ac 2004-04-07 09:15:37.000000000 +0200
-+++ ion-2/configure.ac 2004-04-07 22:14:37.741378408 +0200
-@@ -5,7 +5,7 @@
- AC_INIT([Ion Window Manager],
- [2-20040407],
- [tuomov@iki.fi],
-- [ion])
-+ [ion2])
- AC_PREREQ([2.58])
- AC_REVISION([$Revision: 1.1 $])
-
-diff -Naur ion-2-20040407/man/ion.1.in ion-2/man/ion.1.in
---- ion-2-20040407/man/ion.1.in 2004-02-14 01:18:06.000000000 +0100
-+++ ion-2/man/ion.1.in 2004-04-07 22:14:08.540817568 +0200
-@@ -2,7 +2,7 @@
- .SH NAME
- Ion - an X11 window manager
- .SH SYNOPSIS
--.B ion
-+.B ion2
- .I "[options]"
- .SH "DESCRIPTION"
-
-@@ -432,7 +432,7 @@
- .PP
- .I DOCDIR/
- .PP
--\fIX(7x)\fP, \fIpwm(1)\fP, \fIjoe(1)\fP
-+\fIX(7x)\fP, \fIpwm2(1)\fP, \fIjoe(1)\fP
-
- .SH AUTHOR
- Ion was written by Tuomo Valkonen <tuomov at iki.fi>.
-diff -Naur ion-2-20040407/man/pwm.1.in ion-2/man/pwm.1.in
---- ion-2-20040407/man/pwm.1.in 2004-01-25 19:05:05.000000000 +0100
-+++ ion-2/man/pwm.1.in 2004-04-07 22:14:18.730268536 +0200
-@@ -2,7 +2,7 @@
- .SH NAME
- PWM - An X11 window manager
- .SH SYNOPSIS
--.B pwm
-+.B pwm2
- .I "[options]"
- .SH "DESCRIPTION"
-
-@@ -75,5 +75,5 @@
- .SH SEE ALSO
-
- For more information, see
--\fIion(1)\fP.
-+\fIion2(1)\fP.
-
diff --git a/x11-wm/ion2/files/xftde-20040207.patch b/x11-wm/ion2/files/xftde-20040207.patch
deleted file mode 100644
index 651e745d6e12..000000000000
--- a/x11-wm/ion2/files/xftde-20040207.patch
+++ /dev/null
@@ -1,707 +0,0 @@
---- ../ion-2-20040207/de/init.c 2004-01-03 01:27:28.000000000 +0100
-+++ init.c 2003-12-18 20:41:53.000000000 +0100
-@@ -1,7 +1,7 @@
- /*
- * ion/de/init.c
- *
-- * Copyright (c) Tuomo Valkonen 1999-2004.
-+ * Copyright (c) Tuomo Valkonen 1999-2003.
- *
- * Ion is free software; you can redistribute it and/or modify it under
- * the terms of the GNU Lesser General Public License as published by
-@@ -105,14 +105,14 @@
- static void get_colour_group(WRootWin *rootwin, DEColourGroup *cg,
- ExtlTab tab)
- {
-- get_colour(rootwin, &(cg->hl), tab, "highlight_colour",
-- DE_WHITE(rootwin));
-- get_colour(rootwin, &(cg->sh), tab, "shadow_colour",
-- DE_WHITE(rootwin));
-- get_colour(rootwin, &(cg->bg), tab, "background_colour",
-- DE_BLACK(rootwin));
-- get_colour(rootwin, &(cg->fg), tab, "foreground_colour",
-- DE_WHITE(rootwin));
-+ DEColour black, white;
-+
-+ de_alloc_colour(rootwin, &black, "black");
-+ de_alloc_colour(rootwin, &white, "white");
-+ get_colour(rootwin, &(cg->hl), tab, "highlight_colour", white);
-+ get_colour(rootwin, &(cg->sh), tab, "shadow_colour", white);
-+ get_colour(rootwin, &(cg->bg), tab, "background_colour", black);
-+ get_colour(rootwin, &(cg->fg), tab, "foreground_colour", white);
- get_colour(rootwin, &(cg->pad), tab, "padding_colour", cg->bg);
- }
-
-@@ -253,29 +253,30 @@
- /*{{{ Module initialisation */
-
-
--#include "../version.h"
-+#include "version.h"
-
--char de_module_ion_api_version[]=ION_API_VERSION;
-+char xftde_module_ion_api_version[]=ION_API_VERSION;
-+const char *modname="xftde";
-
-
--extern bool de_module_register_exports();
--extern void de_module_unregister_exports();
-+extern bool xftde_module_register_exports();
-+extern void xftde_module_unregister_exports();
-
-
--bool de_module_init()
-+bool xftde_module_init()
- {
- WRootWin *rootwin;
- DEStyle *style;
--
-- if(!de_module_register_exports())
-+
-+ if(!xftde_module_register_exports())
- return FALSE;
-
- if(!read_config("delib"))
- goto fail;
-
-- if(!gr_register_engine("de", (GrGetBrushFn*)&de_get_brush,
-+ if(!gr_register_engine(modname, (GrGetBrushFn*)&de_get_brush,
- (GrGetValuesFn*)&de_get_brush_values)){
-- warn("DE module", "Failed to register the drawing engine");
-+ warn(modname, "Failed to register the drawing engine");
- goto fail;
- }
-
-@@ -283,7 +284,7 @@
- FOR_ALL_ROOTWINS(rootwin){
- style=de_create_style(rootwin, "*");
- if(style==NULL){
-- warn_obj("DE module", "Could not initialise fallback style for "
-+ warn_obj(modname, "Could not initialise fallback style for "
- "root window %d.\n", rootwin->xscr);
- }else{
- style->is_fallback=TRUE;
-@@ -294,15 +295,15 @@
- return TRUE;
-
- fail:
-- de_module_unregister_exports();
-+ xftde_module_unregister_exports();
- return FALSE;
- }
-
-
--void de_module_deinit()
-+void xftde_module_deinit()
- {
-- gr_unregister_engine("de");
-- de_module_unregister_exports();
-+ gr_unregister_engine(modname);
-+ xftde_module_unregister_exports();
- de_deinit_styles();
- }
-
---- ../ion-2-20040207/de/draw.c 2004-01-03 01:27:28.000000000 +0100
-+++ draw.c 2003-12-18 20:41:53.000000000 +0100
-@@ -1,7 +1,7 @@
- /*
- * ion/de/draw.c
- *
-- * Copyright (c) Tuomo Valkonen 1999-2004.
-+ * Copyright (c) Tuomo Valkonen 1999-2003.
- *
- * Ion is free software; you can redistribute it and/or modify it under
- * the terms of the GNU Lesser General Public License as published by
-@@ -72,7 +72,7 @@
- w--;
- h--;
-
-- XSetForeground(wglobal.dpy, gc, tlc);
-+ XSetForeground(wglobal.dpy, gc, tlc.pixel);
-
-
- a=(br!=0);
-@@ -92,7 +92,7 @@
- }
-
-
-- XSetForeground(wglobal.dpy, gc, brc);
-+ XSetForeground(wglobal.dpy, gc, brc.pixel);
-
- a=(tl!=0);
- b=0;
-@@ -214,7 +214,7 @@
- }
-
- if(MATCHES2("*-*-tagged", a1, a2)){
-- XSetForeground(wglobal.dpy, d->copy_gc, cg->fg);
-+ XSetForeground(wglobal.dpy, d->copy_gc, cg->fg.pixel);
-
- copy_masked(brush, d->tag_pixmap, win, 0, 0,
- d->tag_pixmap_w, d->tag_pixmap_h,
-@@ -266,7 +266,7 @@
- GC gc=brush->d->normal_gc;
-
- if(TRUE/*needfill*/){
-- XSetForeground(wglobal.dpy, gc, cg->bg);
-+ XSetForeground(wglobal.dpy, gc, cg->bg.pixel);
- XFillRectangle(wglobal.dpy, win, gc, geom->x, geom->y,
- geom->w, geom->h);
- }
-@@ -499,7 +499,7 @@
- attr.background_pixmap=ParentRelative;
- }else{
- attrflags=CWBackPixel;
-- attr.background_pixel=brush->d->cgrp.bg;
-+ attr.background_pixel=brush->d->cgrp.bg.pixel;
- }
-
- XChangeWindowAttributes(wglobal.dpy, win, attrflags, &attr);
-@@ -516,7 +516,7 @@
- if(cg==NULL)
- return;
-
-- XSetForeground(wglobal.dpy, gc, cg->bg);
-+ XSetForeground(wglobal.dpy, gc, cg->bg.pixel);
- XFillRectangle(wglobal.dpy, win, gc, geom->x, geom->y, geom->w, geom->h);
- }
-
---- ../ion-2-20040207/de/font.c 2004-01-03 01:27:28.000000000 +0100
-+++ font.c 2003-12-18 20:41:53.000000000 +0100
-@@ -1,7 +1,7 @@
- /*
- * ion/de/font.c
- *
-- * Copyright (c) Tuomo Valkonen 1999-2004.
-+ * Copyright (c) Tuomo Valkonen 1999-2003.
- *
- * Ion is free software; you can redistribute it and/or modify it under
- * the terms of the GNU Lesser General Public License as published by
-@@ -13,7 +13,6 @@
-
- #include <ioncore/common.h>
- #include "font.h"
--#include "fontset.h"
- #include "brush.h"
-
-
-@@ -23,8 +22,7 @@
- DECLSTRUCT(DEFont){
- char *pattern;
- int refcount;
-- XFontSet fontset;
-- XFontStruct *fontstruct;
-+ XftFont *font;
- DEFont *next, *prev;
- };
-
-@@ -41,8 +39,7 @@
- DEFont *de_load_font(const char *fontname)
- {
- DEFont *fnt;
-- XFontSet fontset=NULL;
-- XFontStruct *fontstruct=NULL;
-+ XftFont *font=NULL;
-
- if(fontname==NULL){
- warn("Attempt to load NULL as font");
-@@ -57,20 +54,14 @@
- }
- }
-
-- if(wglobal.use_mb){
-- fontset=de_create_font_set(fontname);
-- if(fontset!=NULL){
-- if(XContextDependentDrawing(fontset)){
-- warn("Fontset for font pattern '%s' implements context "
-- "dependent drawing, which is unsupported. Expect "
-- "clutter.", fontname);
-- }
-- }
-+ if(strncmp(fontname, "xft:", 4)==0){
-+ font=XftFontOpenName(wglobal.dpy, DefaultScreen(wglobal.dpy),
-+ fontname+4);
- }else{
-- fontstruct=XLoadQueryFont(wglobal.dpy, fontname);
-+ font=XftFontOpenXlfd(wglobal.dpy, DefaultScreen(wglobal.dpy), fontname);
- }
-
-- if(fontstruct==NULL && fontset==NULL){
-+ if(font==NULL){
- if(strcmp(fontname, CF_FALLBACK_FONT_NAME)!=0){
- warn("Could not load font \"%s\", trying \"%s\"",
- fontname, CF_FALLBACK_FONT_NAME);
-@@ -86,8 +77,7 @@
- return NULL;
- }
-
-- fnt->fontset=fontset;
-- fnt->fontstruct=fontstruct;
-+ fnt->font=font;
- fnt->pattern=scopy(fontname);
- fnt->next=NULL;
- fnt->prev=NULL;
-@@ -106,11 +96,6 @@
- if(style->font==NULL)
- return FALSE;
-
-- if(style->font->fontstruct!=NULL){
-- XSetFont(wglobal.dpy, style->normal_gc,
-- style->font->fontstruct->fid);
-- }
--
- return TRUE;
- }
-
-@@ -120,10 +105,8 @@
- if(--font->refcount!=0)
- return;
-
-- if(font->fontset!=NULL)
-- XFreeFontSet(wglobal.dpy, font->fontset);
-- if(font->fontstruct!=NULL)
-- XFreeFont(wglobal.dpy, font->fontstruct);
-+ if(font->font!=NULL)
-+ XftFontClose(wglobal.dpy, font->font);
- if(font->pattern!=NULL)
- free(font->pattern);
-
-@@ -151,19 +134,10 @@
-
- void defont_get_font_extents(DEFont *font, GrFontExtents *fnte)
- {
-- if(font->fontset!=NULL){
-- XFontSetExtents *ext=XExtentsOfFontSet(font->fontset);
-- if(ext==NULL)
-- goto fail;
-- fnte->max_height=ext->max_logical_extent.height;
-- fnte->max_width=ext->max_logical_extent.width;
-- fnte->baseline=-ext->max_logical_extent.y;
-- return;
-- }else if(font->fontstruct!=NULL){
-- XFontStruct *fnt=font->fontstruct;
-- fnte->max_height=fnt->ascent+fnt->descent;
-- fnte->max_width=fnt->max_bounds.width;
-- fnte->baseline=fnt->ascent;
-+ if(font->font!=NULL){
-+ fnte->max_height=font->font->ascent+font->font->descent;
-+ fnte->max_width=font->font->max_advance_width;
-+ fnte->baseline=font->font->ascent;
- return;
- }
-
-@@ -183,17 +157,15 @@
-
- uint defont_get_text_width(DEFont *font, const char *text, uint len)
- {
-- if(font->fontset!=NULL){
-- XRectangle lext;
--#ifdef CF_DE_USE_XUTF8
-+ if(font->font!=NULL){
-+ XGlyphInfo extents;
- if(wglobal.enc_utf8)
-- Xutf8TextExtents(font->fontset, text, len, NULL, &lext);
-+ XftTextExtentsUtf8(wglobal.dpy, font->font, (XftChar8 *)text, len,
-+ &extents);
- else
--#endif
-- XmbTextExtents(font->fontset, text, len, NULL, &lext);
-- return lext.width;
-- }else if(font->fontstruct!=NULL){
-- return XTextWidth(font->fontstruct, text, len);
-+ XftTextExtents8(wglobal.dpy, font->font, (XftChar8 *)text, len,
-+ &extents);
-+ return extents.xOff;
- }else{
- return 0;
- }
-@@ -211,40 +183,30 @@
- DEColourGroup *colours)
- {
- GC gc=brush->d->normal_gc;
-+ XftFont *font=brush->d->font->font;
-+ XftDraw *draw;
-
- if(brush->d->font==NULL)
- return;
-
-- XSetForeground(wglobal.dpy, gc, colours->fg);
--
-- if(!needfill){
-- if(brush->d->font->fontset!=NULL){
--#ifdef CF_DE_USE_XUTF8
-- if(wglobal.enc_utf8)
-- Xutf8DrawString(wglobal.dpy, win, brush->d->font->fontset,
-- gc, x, y, str, len);
-- else
--#endif
-- XmbDrawString(wglobal.dpy, win, brush->d->font->fontset,
-- gc, x, y, str, len);
-- }else if(brush->d->font->fontstruct!=NULL){
-- XDrawString(wglobal.dpy, win, gc, x, y, str, len);
-- }
-- }else{
-- XSetBackground(wglobal.dpy, gc, colours->bg);
-- if(brush->d->font->fontset!=NULL){
--#ifdef CF_DE_USE_XUTF8
-- if(wglobal.enc_utf8)
-- Xutf8DrawImageString(wglobal.dpy, win, brush->d->font->fontset,
-- gc, x, y, str, len);
-- else
--#endif
-- XmbDrawImageString(wglobal.dpy, win, brush->d->font->fontset,
-- gc, x, y, str, len);
-- }else if(brush->d->font->fontstruct!=NULL){
-- XDrawImageString(wglobal.dpy, win, gc, x, y, str, len);
-- }
-+ draw=debrush_get_draw(brush, win);
-+
-+ if(TRUE/*needfill*/){
-+ XGlyphInfo extents;
-+ if(wglobal.enc_utf8)
-+ XftTextExtentsUtf8(wglobal.dpy, font, (XftChar8 *)str, len,
-+ &extents);
-+ else
-+ XftTextExtents8(wglobal.dpy, font, (XftChar8 *)str, len, &extents);
-+ XftDrawRect(draw, &(colours->bg), x-extents.x, y-extents.y,
-+ extents.width, extents.height);
- }
-+
-+ if(wglobal.enc_utf8)
-+ XftDrawStringUtf8(draw, &(colours->fg), font, x, y, (XftChar8 *)str,
-+ len);
-+ else
-+ XftDrawString8(draw, &(colours->fg), font, x, y, (XftChar8 *)str, len);
- }
-
-
---- ../ion-2-20040207/de/colour.c 2004-02-03 19:45:08.000000000 +0100
-+++ colour.c 2003-12-18 20:41:53.000000000 +0100
-@@ -1,7 +1,7 @@
- /*
- * ion/de/colour.h
- *
-- * Copyright (c) Tuomo Valkonen 1999-2004.
-+ * Copyright (c) Tuomo Valkonen 1999-2003.
- *
- * Ion is free software; you can redistribute it and/or modify it under
- * the terms of the GNU Lesser General Public License as published by
-@@ -15,60 +15,39 @@
-
- bool de_alloc_colour(WRootWin *rootwin, DEColour *ret, const char *name)
- {
-- XColor c;
-- bool ok=FALSE;
--
- if(name==NULL)
- return FALSE;
-
-- if(XParseColor(wglobal.dpy, rootwin->default_cmap, name, &c)){
-- ok=XAllocColor(wglobal.dpy, rootwin->default_cmap, &c);
-- if(ok)
-- *ret=c.pixel;
-- }
--
-- return ok;
-+ return XftColorAllocName(wglobal.dpy,
-+ DefaultVisual(wglobal.dpy,
-+ wglobal.active_screen->id),
-+ rootwin->default_cmap, name, ret);
- }
-
-
- bool de_duplicate_colour(WRootWin *rootwin, DEColour in, DEColour *out)
- {
-- XColor c;
-- c.pixel=in;
-- XQueryColor(wglobal.dpy, rootwin->default_cmap, &c);
-- if(XAllocColor(wglobal.dpy, rootwin->default_cmap, &c)){
-- *out=c.pixel;
-- return TRUE;
-- }
-- return FALSE;
-+ return XftColorAllocValue(wglobal.dpy,
-+ DefaultVisual(wglobal.dpy,
-+ wglobal.active_screen->id),
-+ rootwin->default_cmap, &(in.color), out);
- }
-
-
- void de_free_colour_group(WRootWin *rootwin, DEColourGroup *cg)
- {
-- DEColour pixels[5];
--
-- pixels[0]=cg->bg;
-- pixels[1]=cg->fg;
-- pixels[2]=cg->hl;
-- pixels[3]=cg->sh;
-- pixels[4]=cg->pad;
--
-- XFreeColors(wglobal.dpy, rootwin->default_cmap, pixels, 5, 0);
--
-- if(cg->spec!=NULL){
-- free(cg->spec);
-- cg->spec=NULL;
-- }
-+ de_free_colour(rootwin, cg->bg);
-+ de_free_colour(rootwin, cg->fg);
-+ de_free_colour(rootwin, cg->hl);
-+ de_free_colour(rootwin, cg->sh);
-+ de_free_colour(rootwin, cg->pad);
- }
-
-
- void de_free_colour(WRootWin *rootwin, DEColour col)
- {
-- DEColour pixels[1];
--
-- pixels[0]=col;
--
-- XFreeColors(wglobal.dpy, rootwin->default_cmap, pixels, 1, 0);
-+ XftColorFree(wglobal.dpy,
-+ DefaultVisual(wglobal.dpy, wglobal.active_screen->id),
-+ rootwin->default_cmap, &col);
- }
-
---- ../ion-2-20040207/de/brush.c 2004-02-03 19:45:08.000000000 +0100
-+++ brush.c 2003-12-18 20:41:53.000000000 +0100
-@@ -1,7 +1,7 @@
- /*
- * ion/de/brush.c
- *
-- * Copyright (c) Tuomo Valkonen 1999-2004.
-+ * Copyright (c) Tuomo Valkonen 1999-2003.
- *
- * Ion is free software; you can redistribute it and/or modify it under
- * the terms of the GNU Lesser General Public License as published by
-@@ -168,6 +168,8 @@
- for(i=0; i<style->n_extra_cgrps; i++)
- de_free_colour_group(style->rootwin, style->extra_cgrps+i);
-
-+ XSync(wglobal.dpy, False);
-+
- if(style->extra_cgrps!=NULL)
- free(style->extra_cgrps);
-
-@@ -180,8 +182,6 @@
- XFreeGC(wglobal.dpy, style->stipple_gc);
- XFreePixmap(wglobal.dpy, style->tag_pixmap);
- }
--
-- XSync(wglobal.dpy, False);
- }
-
-
-@@ -204,6 +204,8 @@
-
- static bool destyle_init(DEStyle *style, WRootWin *rootwin, const char *name)
- {
-+ DEColour black, white;
-+
- style->style=scopy(name);
- if(style->style==NULL){
- warn_err();
-@@ -227,11 +229,13 @@
-
- style->cgrp_alloced=FALSE;
- style->cgrp.spec=NULL;
-- style->cgrp.bg=DE_BLACK(rootwin);
-- style->cgrp.pad=DE_BLACK(rootwin);
-- style->cgrp.fg=DE_WHITE(rootwin);
-- style->cgrp.hl=DE_WHITE(rootwin);
-- style->cgrp.sh=DE_WHITE(rootwin);
-+ de_alloc_colour(rootwin, &black, "black");
-+ de_alloc_colour(rootwin, &white, "white");
-+ style->cgrp.bg=black;
-+ style->cgrp.pad=black;
-+ style->cgrp.fg=white;
-+ style->cgrp.hl=white;
-+ style->cgrp.sh=white;
-
- style->font=NULL;
-
-@@ -311,7 +315,7 @@
- for(style=styles; style!=NULL; style=next){
- next=style->next;
- if(style->usecount>1){
-- warn_obj("DE module", "Style %s still in use [%d] but the module "
-+ warn_obj(modname, "Style %s still in use [%d] but the module "
- "is being unloaded!", style->style, style->usecount);
- }
- dump_style(style);
-@@ -329,6 +333,7 @@
- {
- brush->d=style;
- style->usecount++;
-+ brush->draw=NULL;
-
- if(!grbrush_init(&(brush->grbrush))){
- style->usecount--;
-@@ -416,6 +421,8 @@
- {
- unref_style(brush->d);
- brush->d=NULL;
-+ if(brush->draw!=NULL)
-+ XftDrawDestroy(brush->draw);
- grbrush_deinit(&(brush->grbrush));
- }
-
-@@ -536,6 +543,20 @@
- }
-
-
-+XftDraw *debrush_get_draw(DEBrush *brush, Drawable d)
-+{
-+ if(brush->draw==NULL)
-+ brush->draw=XftDrawCreate(wglobal.dpy, d,
-+ DefaultVisual(wglobal.dpy,
-+ wglobal.active_screen->id),
-+ DefaultColormap(wglobal.dpy,
-+ wglobal.active_screen->id));
-+ else
-+ XftDrawChange(brush->draw, d);
-+
-+ return brush->draw;
-+}
-+
- /*}}}*/
-
-
---- ../ion-2-20040207/de/brush.h 2004-01-03 01:27:28.000000000 +0100
-+++ brush.h 2003-12-18 20:41:53.000000000 +0100
-@@ -1,7 +1,7 @@
- /*
- * ion/de/brush.h
- *
-- * Copyright (c) Tuomo Valkonen 1999-2004.
-+ * Copyright (c) Tuomo Valkonen 1999-2003.
- *
- * Ion is free software; you can redistribute it and/or modify it under
- * the terms of the GNU Lesser General Public License as published by
-@@ -15,6 +15,7 @@
- #include <ioncore/common.h>
- #include <ioncore/gr.h>
- #include <ioncore/extl.h>
-+#include <X11/Xft/Xft.h>
-
-
- #define MATCHES(S, A) (gr_stylespec_score(S, A)>0)
-@@ -97,6 +98,7 @@
- DECLOBJ(DEBrush){
- GrBrush grbrush;
- DEStyle *d;
-+ XftDraw *draw;
- };
-
-
-@@ -226,6 +228,8 @@
-
- extern void debrush_get_extra_values(DEBrush *brush, ExtlTab *tab);
-
-+XftDraw *debrush_get_draw(DEBrush *brush, Drawable d);
-+
-
- /*}}}*/
-
---- ../ion-2-20040207/de/colour.h 2004-02-05 10:10:38.000000000 +0100
-+++ colour.h 2003-12-18 20:41:53.000000000 +0100
-@@ -1,7 +1,7 @@
- /*
- * ion/de/colour.h
- *
-- * Copyright (c) Tuomo Valkonen 1999-2004.
-+ * Copyright (c) Tuomo Valkonen 1999-2003.
- *
- * Ion is free software; you can redistribute it and/or modify it under
- * the terms of the GNU Lesser General Public License as published by
-@@ -15,16 +15,17 @@
- #include <ioncore/common.h>
- #include <ioncore/global.h>
- #include <ioncore/rootwin.h>
-+#include <X11/Xft/Xft.h>
-
-
- INTRSTRUCT(DEColourGroup);
-
-
--typedef unsigned long DEColour;
-+typedef XftColor DEColour;
-
-
- DECLSTRUCT(DEColourGroup){
-- char *spec;
-+ const char *spec;
- DEColour bg, hl, sh, fg, pad;
- };
-
---- ../ion-2-20040207/de/font.h 2004-01-03 01:27:28.000000000 +0100
-+++ font.h 2003-12-18 20:41:53.000000000 +0100
-@@ -1,7 +1,7 @@
- /*
- * ion/de/font.h
- *
-- * Copyright (c) Tuomo Valkonen 1999-2004.
-+ * Copyright (c) Tuomo Valkonen 1999-2003.
- *
- * Ion is free software; you can redistribute it and/or modify it under
- * the terms of the GNU Lesser General Public License as published by
-@@ -14,6 +14,7 @@
-
- #include <ioncore/common.h>
- #include <ioncore/gr.h>
-+#include <X11/Xft/Xft.h>
-
- INTRSTRUCT(DEFont);
-
---- ../ion-2-20040207/de/misc.h 2004-01-03 01:27:28.000000000 +0100
-+++ misc.h 2003-12-19 17:51:03.000000000 +0100
-@@ -1,7 +1,7 @@
- /*
- * ion/de/misc.h
- *
-- * Copyright (c) Tuomo Valkonen 1999-2004.
-+ * Copyright (c) Tuomo Valkonen 1999-2003.
- *
- * Ion is free software; you can redistribute it and/or modify it under
- * the terms of the GNU Lesser General Public License as published by
-@@ -15,4 +15,6 @@
- #define DE_SUB_IND " ->"
- #define DE_SUB_IND_LEN 3
-
-+extern const char *modname;
-+
- #endif /* ION_DE_MISC_H */
---- ../ion-2-20040207/de/Makefile 2004-02-07 16:37:01.000000000 +0100
-+++ Makefile 2004-01-18 15:07:42.000000000 +0100
-@@ -8,16 +8,16 @@
-
- ######################################
-
--INCLUDES += -I../libtu/include $(X11_INCLUDES) -I..
-+INCLUDES += -I$(TOPDIR)/libtu/include $(X11_INCLUDES) -I$(TOPDIR) `xft-config --cflags`
- CFLAGS += $(XOPEN_SOURCE) $(C99_SOURCE)
-+LIBS += `xft-config --libs`
-
--SOURCES=init.c draw.c font.c colour.c brush.c fontset.c
-+SOURCES=init.c draw.c font.c colour.c brush.c
-+HEADERS=brush.h colour.h font.h misc.h
-
--LUA_SOURCES=delib.lua
-+MODULE=xftde
-
--MODULE=de
--
--MAKE_EXPORTS=de_module
-+MAKE_EXPORTS=xftde_module
-
- ######################################
-
-@@ -26,5 +26,6 @@
- ######################################
-
- _install: module_install
-- $(INSTALLDIR) $(SHAREDIR)
-- $(INSTALL) -m $(DATA_MODE) delib.lua delib.lc $(SHAREDIR)
-+
-+xftde.patch: $(SOURCES) $(HEADERS) Makefile
-+ -for i in $^; do diff -u $(TOPDIR)/de/$$i $$i; done >$@