From d7fc84a9b28ca4a0e8b031f5c4b26752b3659e1c Mon Sep 17 00:00:00 2001 From: Matti Bickel Date: Mon, 25 Jun 2007 17:51:43 +0000 Subject: creating layman compatible structure 2/2 svn path=/; revision=5 --- ion3/ChangeLog | 306 --------- ion3/Manifest | 187 ------ ion3/files/20061223/201_all_fix-paths.patch | 90 --- ion3/files/20061223/202_all_fix-menus.patch | 13 - ion3/files/20061223/205_all_ion-lock.patch | 22 - ion3/files/20061223/207_all_bindings-manpage.patch | 117 ---- ion3/files/20070203/201_all_fix-paths.patch | 90 --- ion3/files/20070203/202_all_fix-menus.patch | 13 - ion3/files/20070203/205_all_ion-lock.patch | 22 - ion3/files/20070203/207_all_bindings-manpage.patch | 117 ---- ion3/files/20070506/200_all_fix_includes.patch | 22 - ion3/files/20070506/201_all_fix-paths.patch | 90 --- ion3/files/20070506/202_all_fix-menus.patch | 13 - ion3/files/20070506/205_all_ion-lock.patch | 22 - ion3/files/20070506/208_all_as-needed.patch | 12 - ion3/files/20070608/201_all_fix-paths.patch | 76 --- ion3/files/20070608/202_all_fix-menus.patch | 13 - ion3/files/20070608/205_all_ion-lock.patch | 22 - ion3/files/20070608/208_all_as-needed.patch | 12 - ion3/files/digest-ion3-20060326 | 3 - ion3/files/digest-ion3-20061223 | 15 - ion3/files/digest-ion3-20070506-r1 | 15 - ion3/files/digest-ion3-20070608 | 6 - ion3/files/ion3-20060317-truetype.patch | 741 --------------------- ion3/files/ion3-20060326-truetype.patch | 741 --------------------- ion3/files/ion3-mod-ionflux-20070512.tar.bz2 | Bin 12770 -> 0 bytes ion3/files/ion3-mod-xrandr-20070410.tar.bz2 | Bin 10833 -> 0 bytes ion3/files/ion3-scripts-20070608.tar.bz2 | Bin 101584 -> 0 bytes ion3/files/ion3.desktop | 9 - ion3/files/pwm3.desktop | 9 - ion3/files/xft-ion3-20070318.patch | 689 ------------------- ion3/files/xft-ion3-20070506.patch | 669 ------------------- ion3/files/xft-ion3-20070608.patch | 669 ------------------- ion3/ion3-20060326.ebuild | 84 --- ion3/ion3-20061223.ebuild | 175 ----- ion3/ion3-20070506-r1.ebuild | 195 ------ ion3/ion3-20070608.ebuild | 200 ------ ion3/metadata.xml | 9 - x11-wm/ion3/ChangeLog | 306 +++++++++ x11-wm/ion3/Manifest | 187 ++++++ x11-wm/ion3/files/20061223/201_all_fix-paths.patch | 90 +++ x11-wm/ion3/files/20061223/202_all_fix-menus.patch | 13 + x11-wm/ion3/files/20061223/205_all_ion-lock.patch | 22 + .../files/20061223/207_all_bindings-manpage.patch | 117 ++++ x11-wm/ion3/files/20070203/201_all_fix-paths.patch | 90 +++ x11-wm/ion3/files/20070203/202_all_fix-menus.patch | 13 + x11-wm/ion3/files/20070203/205_all_ion-lock.patch | 22 + .../files/20070203/207_all_bindings-manpage.patch | 117 ++++ .../ion3/files/20070506/200_all_fix_includes.patch | 22 + x11-wm/ion3/files/20070506/201_all_fix-paths.patch | 90 +++ x11-wm/ion3/files/20070506/202_all_fix-menus.patch | 13 + x11-wm/ion3/files/20070506/205_all_ion-lock.patch | 22 + x11-wm/ion3/files/20070506/208_all_as-needed.patch | 12 + x11-wm/ion3/files/20070608/201_all_fix-paths.patch | 76 +++ x11-wm/ion3/files/20070608/202_all_fix-menus.patch | 13 + x11-wm/ion3/files/20070608/205_all_ion-lock.patch | 22 + x11-wm/ion3/files/20070608/208_all_as-needed.patch | 12 + x11-wm/ion3/files/digest-ion3-20060326 | 3 + x11-wm/ion3/files/digest-ion3-20061223 | 15 + x11-wm/ion3/files/digest-ion3-20070506-r1 | 15 + x11-wm/ion3/files/digest-ion3-20070608 | 6 + x11-wm/ion3/files/ion3-20060317-truetype.patch | 741 +++++++++++++++++++++ x11-wm/ion3/files/ion3-20060326-truetype.patch | 741 +++++++++++++++++++++ .../ion3/files/ion3-mod-ionflux-20070512.tar.bz2 | Bin 0 -> 12770 bytes x11-wm/ion3/files/ion3-mod-xrandr-20070410.tar.bz2 | Bin 0 -> 10833 bytes x11-wm/ion3/files/ion3-scripts-20070608.tar.bz2 | Bin 0 -> 101584 bytes x11-wm/ion3/files/ion3.desktop | 9 + x11-wm/ion3/files/pwm3.desktop | 9 + x11-wm/ion3/files/xft-ion3-20070318.patch | 689 +++++++++++++++++++ x11-wm/ion3/files/xft-ion3-20070506.patch | 669 +++++++++++++++++++ x11-wm/ion3/files/xft-ion3-20070608.patch | 669 +++++++++++++++++++ x11-wm/ion3/ion3-20060326.ebuild | 84 +++ x11-wm/ion3/ion3-20061223.ebuild | 175 +++++ x11-wm/ion3/ion3-20070506-r1.ebuild | 195 ++++++ x11-wm/ion3/ion3-20070608.ebuild | 200 ++++++ x11-wm/ion3/metadata.xml | 9 + 76 files changed, 5488 insertions(+), 5488 deletions(-) delete mode 100644 ion3/ChangeLog delete mode 100644 ion3/Manifest delete mode 100644 ion3/files/20061223/201_all_fix-paths.patch delete mode 100644 ion3/files/20061223/202_all_fix-menus.patch delete mode 100644 ion3/files/20061223/205_all_ion-lock.patch delete mode 100644 ion3/files/20061223/207_all_bindings-manpage.patch delete mode 100644 ion3/files/20070203/201_all_fix-paths.patch delete mode 100644 ion3/files/20070203/202_all_fix-menus.patch delete mode 100644 ion3/files/20070203/205_all_ion-lock.patch delete mode 100644 ion3/files/20070203/207_all_bindings-manpage.patch delete mode 100644 ion3/files/20070506/200_all_fix_includes.patch delete mode 100644 ion3/files/20070506/201_all_fix-paths.patch delete mode 100644 ion3/files/20070506/202_all_fix-menus.patch delete mode 100644 ion3/files/20070506/205_all_ion-lock.patch delete mode 100644 ion3/files/20070506/208_all_as-needed.patch delete mode 100644 ion3/files/20070608/201_all_fix-paths.patch delete mode 100644 ion3/files/20070608/202_all_fix-menus.patch delete mode 100644 ion3/files/20070608/205_all_ion-lock.patch delete mode 100644 ion3/files/20070608/208_all_as-needed.patch delete mode 100644 ion3/files/digest-ion3-20060326 delete mode 100644 ion3/files/digest-ion3-20061223 delete mode 100644 ion3/files/digest-ion3-20070506-r1 delete mode 100644 ion3/files/digest-ion3-20070608 delete mode 100644 ion3/files/ion3-20060317-truetype.patch delete mode 100644 ion3/files/ion3-20060326-truetype.patch delete mode 100644 ion3/files/ion3-mod-ionflux-20070512.tar.bz2 delete mode 100644 ion3/files/ion3-mod-xrandr-20070410.tar.bz2 delete mode 100644 ion3/files/ion3-scripts-20070608.tar.bz2 delete mode 100644 ion3/files/ion3.desktop delete mode 100644 ion3/files/pwm3.desktop delete mode 100644 ion3/files/xft-ion3-20070318.patch delete mode 100644 ion3/files/xft-ion3-20070506.patch delete mode 100644 ion3/files/xft-ion3-20070608.patch delete mode 100644 ion3/ion3-20060326.ebuild delete mode 100644 ion3/ion3-20061223.ebuild delete mode 100644 ion3/ion3-20070506-r1.ebuild delete mode 100644 ion3/ion3-20070608.ebuild delete mode 100644 ion3/metadata.xml create mode 100644 x11-wm/ion3/ChangeLog create mode 100644 x11-wm/ion3/Manifest create mode 100644 x11-wm/ion3/files/20061223/201_all_fix-paths.patch create mode 100644 x11-wm/ion3/files/20061223/202_all_fix-menus.patch create mode 100644 x11-wm/ion3/files/20061223/205_all_ion-lock.patch create mode 100644 x11-wm/ion3/files/20061223/207_all_bindings-manpage.patch create mode 100644 x11-wm/ion3/files/20070203/201_all_fix-paths.patch create mode 100644 x11-wm/ion3/files/20070203/202_all_fix-menus.patch create mode 100644 x11-wm/ion3/files/20070203/205_all_ion-lock.patch create mode 100644 x11-wm/ion3/files/20070203/207_all_bindings-manpage.patch create mode 100644 x11-wm/ion3/files/20070506/200_all_fix_includes.patch create mode 100644 x11-wm/ion3/files/20070506/201_all_fix-paths.patch create mode 100644 x11-wm/ion3/files/20070506/202_all_fix-menus.patch create mode 100644 x11-wm/ion3/files/20070506/205_all_ion-lock.patch create mode 100644 x11-wm/ion3/files/20070506/208_all_as-needed.patch create mode 100644 x11-wm/ion3/files/20070608/201_all_fix-paths.patch create mode 100644 x11-wm/ion3/files/20070608/202_all_fix-menus.patch create mode 100644 x11-wm/ion3/files/20070608/205_all_ion-lock.patch create mode 100644 x11-wm/ion3/files/20070608/208_all_as-needed.patch create mode 100644 x11-wm/ion3/files/digest-ion3-20060326 create mode 100644 x11-wm/ion3/files/digest-ion3-20061223 create mode 100644 x11-wm/ion3/files/digest-ion3-20070506-r1 create mode 100644 x11-wm/ion3/files/digest-ion3-20070608 create mode 100644 x11-wm/ion3/files/ion3-20060317-truetype.patch create mode 100644 x11-wm/ion3/files/ion3-20060326-truetype.patch create mode 100644 x11-wm/ion3/files/ion3-mod-ionflux-20070512.tar.bz2 create mode 100644 x11-wm/ion3/files/ion3-mod-xrandr-20070410.tar.bz2 create mode 100644 x11-wm/ion3/files/ion3-scripts-20070608.tar.bz2 create mode 100644 x11-wm/ion3/files/ion3.desktop create mode 100644 x11-wm/ion3/files/pwm3.desktop create mode 100644 x11-wm/ion3/files/xft-ion3-20070318.patch create mode 100644 x11-wm/ion3/files/xft-ion3-20070506.patch create mode 100644 x11-wm/ion3/files/xft-ion3-20070608.patch create mode 100644 x11-wm/ion3/ion3-20060326.ebuild create mode 100644 x11-wm/ion3/ion3-20061223.ebuild create mode 100644 x11-wm/ion3/ion3-20070506-r1.ebuild create mode 100644 x11-wm/ion3/ion3-20070608.ebuild create mode 100644 x11-wm/ion3/metadata.xml diff --git a/ion3/ChangeLog b/ion3/ChangeLog deleted file mode 100644 index 07fbdb5..0000000 --- a/ion3/ChangeLog +++ /dev/null @@ -1,306 +0,0 @@ -# ChangeLog for x11-wm/ion3 -# Copyright 2000-2007 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/x11-wm/ion3/ChangeLog,v 1.55 2007/06/05 13:29:53 mabi Exp $ - - 10 Jun 2007; Matti Bickel - -files/20070318/201_all_fix-paths.patch, - -files/20070318/202_all_fix-menus.patch, - -files/20070318/205_all_ion-lock.patch, - -files/20070318/207_all_bindings-manpage.patch, - -files/20070318/208_all_as-needed.patch, - -ion3-20070318-r2.ebuild, - +files/ion3-scripts-20070608.tar.bz2, - +files/ion3-mod-xrandr-20070410.tar.bz2, - +files/ion3-mod-ionflux-20070512.tar.bz2, - ion3-20070608: - put tarballs in files/ as gentoo doesn't distribute them anymore, clean - version - -*ion3-20070608 (9 June 2007) - - 09 June 2007; Matti Bickel - +files/20070608/201_all_fix-paths.patch, - +files/20070608/202_all_fix-menus.patch, - +files/20070608/205_all_ion-lock.patch, - +files/20070608/208_all_as-needed.patch, +ion3-20070608.ebuild: - version bump. Please contact me in personal or assign bugs directly to - mabi@gentoo.org, so we reduce the load on gentoo infrastructure. - This release contains numerous bugfixes, so you all want it. - - 05 Jun 2007; Matti Bickel ion3-20060326.ebuild, - ion3-20061223.ebuild, ion3-20070318-r2.ebuild: - Change all ion-truetype USE to ion3-voidupstreamsupport-truetype, thanks to - Mr. Bones for notifying me - - 03 Jun 2007; Matti Bickel ion3-20070506-r1.ebuild: - Patch version.h at request of upstream - - 03 Jun 2007; Matti Bickel metadata.xml, - ion3-20070506-r1.ebuild: - Conform to upstream's license, officially take maintainership - - 02 Jun 2007; Matti Bickel - +files/xft-ion3-20070506.patch: - Added missing xft-ion3-20070506.patch (bug #180491) - -*ion3-20070506-r1 (01 Jun 2007) - - 01 Jun 2007; Matti Bickel -ion3-20070318.ebuild, - -ion3-20070506.ebuild, +ion3-20070506-r1.ebuild: - fix retarded use of $(get_libdir), fix LICENSE - -*ion3-20070506 (12 May 2007) - - 12 May 2007; Matti Bickel - +files/20070506/200_all_fix_includes.patch, - +files/20070506/201_all_fix-paths.patch, - +files/20070506/202_all_fix-menus.patch, - +files/20070506/205_all_ion-lock.patch, - +files/20070506/208_all_as-needed.patch, +ion3-20070506.ebuild: - Version bump. Note that this is the first release candidate. All - unconditional patches are minor according to the changed license file. - Also note that IUSE has changed in accordance with the new license. - Please reproduce any error you might have with all useflags disabled before - bugging upstream. File bugs at bugs.gentoo.org instead. - -*ion3-20070318-r2 (30 Apr 2007) - - 30 Apr 2007; Matti Bickel - +files/20070318/208_all_as-needed.patch, -ion3-20070318-r1.ebuild, - +ion3-20070318-r2.ebuild: - patch --as-needed instead of filtering it (bug #171391) - -*ion3-20070318-r1 (28 Apr 2007) - - 28 Apr 2007; Matti Bickel -ion3-20060317.ebuild, - -ion3-20070203.ebuild, +ion3-20070318-r1.ebuild: - filtering --as-needed now, cleanup - - 26 Mar 2007; RaĂşl Porcel ion3-20061223.ebuild, - ion3-20070203.ebuild, ion3-20070318.ebuild: - Readd ~ia64 wrt bug 162985 - -*ion3-20070318 (25 Mar 2007) - - 25 Mar 2007; Matti Bickel - +files/20070318/201_all_fix-paths.patch, - +files/20070318/205_all_ion-lock.patch, +files/xft-ion3-20070318.patch, - +files/20070318/202_all_fix-menus.patch, - +files/20070318/207_all_bindings-manpage.patch, +ion3-20070318.ebuild: - Version bump; readded iontruetype USE for problems with non latin fonts, - added docs - -*ion3-20070203 (11 Mar 2007) - - 11 Mar 2007; Matti Bickel - +files/20070203/201_all_fix-paths.patch, - +files/20070203/202_all_fix-menus.patch, - +files/20070203/205_all_ion-lock.patch, - +files/20070203/207_all_bindings-manpage.patch, +ion3-20070203.ebuild: - Version bump (warning: no xinerama, no xft support) - - 21 Feb 2007; Markus Ullmann ChangeLog: - Redigest for Manifest2 - - 03 Feb 2007; Simon Stelling ion3-20061223.ebuild: - re-add ~amd64; bug 162985 - - 03 Feb 2007; Jason Wever ion3-20061223.ebuild: - Added ~sparc keyword wrt bug #162985. - - 22 Jan 2007; Matti Bickel ion3-20061223.ebuild: - Fixing sandbox violation (missing sed add) (bug #163104) - -*ion3-20061223-r1 (20 Jan 2007) - - 20 Jan 2007; Matti Bickel - +files/20061223/201_all_fix-paths.patch, - +files/20061223/202_all_fix-menus.patch, - +files/20061223/205_all_ion-lock.patch, - +files/20061223/207_all_bindings-manpage.patch, +ion3-20061223.ebuild: - Revision bump (bug #136077) - - 27 Dec 2006; Matti Bickel ion3-20060317.ebuild, - ion3-20060326.ebuild: - Fix deps to lua-5.0.* (bug #158628) - - 08 Dec 2006; ion3-20060326.ebuild: - Added x11-libs/libSM dependency. Bug # 157171. - -*ion3-20060326 (06 Apr 2006) - - 06 Apr 2006; Tom Payne - -files/ion3-20060305-truetype.patch, +files/ion3-20060326-truetype.patch, - -ion3-20060305.ebuild, -ion3-20060305-r1.ebuild, +ion3-20060326.ebuild: - Version bump. - - 20 Mar 2006; Tom Payne ion3-20060305-r1.ebuild, - ion3-20060317.ebuild: - Use USE=iontruetype rather than USE=truetype to enable XFT support at - request of upstream. - -*ion3-20060317 (17 Mar 2006) - - 17 Mar 2006; Tom Payne - +files/ion3-20060317-truetype.patch, -ion3-20060107.ebuild, - +ion3-20060317.ebuild: - Version bump. - -*ion3-20060305-r1 (14 Mar 2006) - - 14 Mar 2006; Tom Payne - +files/ion3-20060305-truetype.patch, +ion3-20060305-r1.ebuild: - Added truetype support. Patch from Clemens Fruhwirth. - -*ion3-20060305 (05 Mar 2006) - - 05 Mar 2006; Tom Payne - -files/ion3-20051029-statusd-locale.patch, -ion3-20051210.ebuild, - +ion3-20060305.ebuild: - Version bump. - - 23 Feb 2006; Markus Rothe ion3-20060107.ebuild: - Added ~ppc64; bug #123845 - -*ion3-20060107 (15 Jan 2006) - - 15 Jan 2006; Tom Payne -ion3-20051029.ebuild, - +ion3-20060107.ebuild: - Version bump and patch for modular X. Bug # 117459. Thanks Mike Auty. - - 15 Jan 2006; Tom Payne -ion3-20050116.ebuild: - Remove old version. ion3 is still under development and should not be marked - stable. - -*ion3-20051210 (10 Dec 2005) - - 10 Dec 2005; Tom Payne -files/ion3-20051023-r1.patch, - -ion3-20050820.ebuild, -ion3-20051023-r1.ebuild, +ion3-20051210.ebuild: - Version bump. - - 01 Nov 2005; Tom Payne - +files/ion3-20051029-statusd-locale.patch, ion3-20051029.ebuild: - Add patch for amd64. Bug # 110860. - -*ion3-20051029 (29 Oct 2005) - - 29 Oct 2005; Tom Payne +ion3-20051029.ebuild: - Version bump. - -*ion3-20051023-r1 (26 Oct 2005) - - 26 Oct 2005; Tom Payne +files/ion3-20051023-r1.patch, - -ion3-20051023.ebuild, +ion3-20051023-r1.ebuild: - Apply patch to fix status bar issue. Bug # 110417. Thanks Frank Zschockelt - -*ion3-20051023 (24 Oct 2005) - - 24 Oct 2005; Tom Payne -ion3-20050728.ebuild, - +ion3-20051023.ebuild: - Version bump. Remove old version. - -*ion3-20050820 (16 Sep 2005) - - 16 Sep 2005; Tom Payne -ion3-20050625.ebuild, - +ion3-20050820.ebuild: - Version bump. Remove old version. - -*ion3-20050728 (19 Aug 2005) - - 19 Aug 2005; Tom Payne -ion3-20050502.ebuild, - +ion3-20050728.ebuild: - Version bump. Remove old version. - -*ion3-20050625 (10 Jul 2005) - - 10 Jul 2005; Tom Payne -ion3-20050322.ebuild, - +ion3-20050625.ebuild: - Version bump. Removed old version. - - 01 Jul 2005; Joseph Jezak ion3-20050116.ebuild: - Marked ppc stable for bug #97635. - -*ion3-20050505 (10 May 2005) - - 10 May 2005: Joshua Charles Campbell ion3-20050505.ebuild, - Version bump. - - 21 Apr 2005; Aron Griffis ion3-20050116.ebuild, - ion3-20050322.ebuild: - Add ia64 keywords - - 04 Apr 2005; Aron Griffis ion3-20050116.ebuild: - stable on amd64 - -*ion3-20050322 (26 Mar 2005) - - 26 Mar 2005; Tom Payne -files/ion.desktop, - -ion3-20041104.ebuild, -ion3-20050102.ebuild, ion3-20050116.ebuild, - +ion3-20050322.ebuild: - Version bump. Remove references to ion3-svn. Remove old version. - - 03 Feb 2005; Gustavo Zacarias ion3-20050116.ebuild: - Stable on sparc - - 28 Jan 2005; Aron Griffis ion3-20050116.ebuild: - stable on alpha and x86 - -*ion3-20050116 (25 Jan 2005) - - 25 Jan 2005; Tom Payne +ion3-20050116.ebuild: - Version bump. Bug # 79516. Removed old version. - -*ion3-20050102 (02 Jan 2005) - - 02 Jan 2005; Tom Payne +ion3-20050102.ebuild: - Version bump. - - 01 Jan 2005; Tom Payne ion3-20041005.ebuild, - ion3-20041104.ebuild: - Stable on x86. - - 20 Dec 2004; Tom Payne -ion3-20040906.ebuild: - Removed old version. - - 19 Dec 2004; Tom Payne - -files/ion3-20040316-libtu-I.patch, -files/ion3-20040316_p1-rename.patch: - Remove unused patches. - -*ion3-20041104 (19 Dec 2004) - - 19 Dec 2004; Tom Payne ion3-20040906.ebuild, - ion3-20041005.ebuild, +ion3-20041104.ebuild: - Prevent sandbox violation. Bug # 73672. Version bump. Bug # 74203. - -*ion3-20041005 (05 Oct 2004) - - 05 Oct 2004; Tom Payne -ion3-20040316_p1-r1.ebuild, - -ion3-20040316_p1.ebuild, +ion3-20041005.ebuild: - Version bump, remove old versions. - -*ion3-20040906 (06 Sep 2004) - - 06 Sep 2004; Tom Payne +ion3-20040906.ebuild: - Version bump. - - 05 Sep 2004; Guy Martin ion3-20040316_p1-r1.ebuild: - Fixed for hppa. Marked ~hppa. - -*ion3-20040316_p1-r1 (09 May 2004) - - 09 May 2004; +files/ion3-20040316_p1-rename.patch, - +files/ion3.desktop, +files/pwm3.desktop, +ion3-20040316_p1-r1.ebuild: - Rename binaries, directories, etc. from ion to ion3. - - 07 Apr 2004; Travis Tilley ion3-20040316_p1.ebuild: - added ~amd64 keyword - -*ion3-20040316_p1 (23 Mar 2004) - - 23 Mar 2004; Tom Payne ion3-20040316_p1.ebuild : - Version bump. - -*ion3-20040316 (16 Mar 2004) - - 16 Mar 2004; Tom Payne ion3-20040316.ebuild : - Initial import. diff --git a/ion3/Manifest b/ion3/Manifest deleted file mode 100644 index ad05013..0000000 --- a/ion3/Manifest +++ /dev/null @@ -1,187 +0,0 @@ -AUX 20061223/201_all_fix-paths.patch 2578 RMD160 1e507b2b7493f94c9e63de2d1c5e7a4a370f2bbe SHA1 92cb162401d7e970a1429437bfeef9c9684f62fb SHA256 e1eca4fca542aeeb2b6dd39b7f082d49dc7c9b526bb23b668c72fab639c2c76c -MD5 e9d2532398ca5bebda1b6e3758227006 files/20061223/201_all_fix-paths.patch 2578 -RMD160 1e507b2b7493f94c9e63de2d1c5e7a4a370f2bbe files/20061223/201_all_fix-paths.patch 2578 -SHA256 e1eca4fca542aeeb2b6dd39b7f082d49dc7c9b526bb23b668c72fab639c2c76c files/20061223/201_all_fix-paths.patch 2578 -AUX 20061223/202_all_fix-menus.patch 914 RMD160 99dc842cf99391f965d1553e862a57b98e397592 SHA1 fdd9f2bf50c2363bf97727e8c01b29920f0c541d SHA256 534148c3657cf894d99ac11ef228d87bd371e688b79ecdf96e264f7a1c753ced -MD5 5f9da59501907e01cde25b5451f6feab files/20061223/202_all_fix-menus.patch 914 -RMD160 99dc842cf99391f965d1553e862a57b98e397592 files/20061223/202_all_fix-menus.patch 914 -SHA256 534148c3657cf894d99ac11ef228d87bd371e688b79ecdf96e264f7a1c753ced files/20061223/202_all_fix-menus.patch 914 -AUX 20061223/205_all_ion-lock.patch 780 RMD160 9834836d55fb390f06d8e3c1ea821ef01c1a74b8 SHA1 6bd0278dd7d56fd9f1025fae8a00db24bf0e781f SHA256 ea4ad810355fab8a848e6506a6a2762b5ab9c37f28a7edac73030e6026bc3fae -MD5 4f2dcedcbf6d885723d1b888f0aacb87 files/20061223/205_all_ion-lock.patch 780 -RMD160 9834836d55fb390f06d8e3c1ea821ef01c1a74b8 files/20061223/205_all_ion-lock.patch 780 -SHA256 ea4ad810355fab8a848e6506a6a2762b5ab9c37f28a7edac73030e6026bc3fae files/20061223/205_all_ion-lock.patch 780 -AUX 20061223/207_all_bindings-manpage.patch 3159 RMD160 efcb802e1e00b85398facc945053fe793ed2d223 SHA1 c9a317080edd7a4f297c40572ca5a6474851ca87 SHA256 1e5d315510dde32a94b0e967cc1a315cd84cbb43f03b9a928ad80ee7a75945ba -MD5 dbd4e494033db439cd0610ef880e2659 files/20061223/207_all_bindings-manpage.patch 3159 -RMD160 efcb802e1e00b85398facc945053fe793ed2d223 files/20061223/207_all_bindings-manpage.patch 3159 -SHA256 1e5d315510dde32a94b0e967cc1a315cd84cbb43f03b9a928ad80ee7a75945ba files/20061223/207_all_bindings-manpage.patch 3159 -AUX 20070203/201_all_fix-paths.patch 2578 RMD160 1e507b2b7493f94c9e63de2d1c5e7a4a370f2bbe SHA1 92cb162401d7e970a1429437bfeef9c9684f62fb SHA256 e1eca4fca542aeeb2b6dd39b7f082d49dc7c9b526bb23b668c72fab639c2c76c -MD5 e9d2532398ca5bebda1b6e3758227006 files/20070203/201_all_fix-paths.patch 2578 -RMD160 1e507b2b7493f94c9e63de2d1c5e7a4a370f2bbe files/20070203/201_all_fix-paths.patch 2578 -SHA256 e1eca4fca542aeeb2b6dd39b7f082d49dc7c9b526bb23b668c72fab639c2c76c files/20070203/201_all_fix-paths.patch 2578 -AUX 20070203/202_all_fix-menus.patch 914 RMD160 99dc842cf99391f965d1553e862a57b98e397592 SHA1 fdd9f2bf50c2363bf97727e8c01b29920f0c541d SHA256 534148c3657cf894d99ac11ef228d87bd371e688b79ecdf96e264f7a1c753ced -MD5 5f9da59501907e01cde25b5451f6feab files/20070203/202_all_fix-menus.patch 914 -RMD160 99dc842cf99391f965d1553e862a57b98e397592 files/20070203/202_all_fix-menus.patch 914 -SHA256 534148c3657cf894d99ac11ef228d87bd371e688b79ecdf96e264f7a1c753ced files/20070203/202_all_fix-menus.patch 914 -AUX 20070203/205_all_ion-lock.patch 780 RMD160 9834836d55fb390f06d8e3c1ea821ef01c1a74b8 SHA1 6bd0278dd7d56fd9f1025fae8a00db24bf0e781f SHA256 ea4ad810355fab8a848e6506a6a2762b5ab9c37f28a7edac73030e6026bc3fae -MD5 4f2dcedcbf6d885723d1b888f0aacb87 files/20070203/205_all_ion-lock.patch 780 -RMD160 9834836d55fb390f06d8e3c1ea821ef01c1a74b8 files/20070203/205_all_ion-lock.patch 780 -SHA256 ea4ad810355fab8a848e6506a6a2762b5ab9c37f28a7edac73030e6026bc3fae files/20070203/205_all_ion-lock.patch 780 -AUX 20070203/207_all_bindings-manpage.patch 3159 RMD160 efcb802e1e00b85398facc945053fe793ed2d223 SHA1 c9a317080edd7a4f297c40572ca5a6474851ca87 SHA256 1e5d315510dde32a94b0e967cc1a315cd84cbb43f03b9a928ad80ee7a75945ba -MD5 dbd4e494033db439cd0610ef880e2659 files/20070203/207_all_bindings-manpage.patch 3159 -RMD160 efcb802e1e00b85398facc945053fe793ed2d223 files/20070203/207_all_bindings-manpage.patch 3159 -SHA256 1e5d315510dde32a94b0e967cc1a315cd84cbb43f03b9a928ad80ee7a75945ba files/20070203/207_all_bindings-manpage.patch 3159 -AUX 20070318/201_all_fix-paths.patch 2578 RMD160 1e507b2b7493f94c9e63de2d1c5e7a4a370f2bbe SHA1 92cb162401d7e970a1429437bfeef9c9684f62fb SHA256 e1eca4fca542aeeb2b6dd39b7f082d49dc7c9b526bb23b668c72fab639c2c76c -MD5 e9d2532398ca5bebda1b6e3758227006 files/20070318/201_all_fix-paths.patch 2578 -RMD160 1e507b2b7493f94c9e63de2d1c5e7a4a370f2bbe files/20070318/201_all_fix-paths.patch 2578 -SHA256 e1eca4fca542aeeb2b6dd39b7f082d49dc7c9b526bb23b668c72fab639c2c76c files/20070318/201_all_fix-paths.patch 2578 -AUX 20070318/202_all_fix-menus.patch 990 RMD160 a49c2e8c44c4c7ddceae989a0637cb4ca51647f4 SHA1 ef72a6d5b100c8148d96f6718bc95a456a3b51eb SHA256 2f9404a884e28f9d7ff42ba6ae24df99436b7a9f3c75560282fb87daa9fdf9af -MD5 aecae9e8f4e48e9b74532a3309643598 files/20070318/202_all_fix-menus.patch 990 -RMD160 a49c2e8c44c4c7ddceae989a0637cb4ca51647f4 files/20070318/202_all_fix-menus.patch 990 -SHA256 2f9404a884e28f9d7ff42ba6ae24df99436b7a9f3c75560282fb87daa9fdf9af files/20070318/202_all_fix-menus.patch 990 -AUX 20070318/205_all_ion-lock.patch 780 RMD160 9834836d55fb390f06d8e3c1ea821ef01c1a74b8 SHA1 6bd0278dd7d56fd9f1025fae8a00db24bf0e781f SHA256 ea4ad810355fab8a848e6506a6a2762b5ab9c37f28a7edac73030e6026bc3fae -MD5 4f2dcedcbf6d885723d1b888f0aacb87 files/20070318/205_all_ion-lock.patch 780 -RMD160 9834836d55fb390f06d8e3c1ea821ef01c1a74b8 files/20070318/205_all_ion-lock.patch 780 -SHA256 ea4ad810355fab8a848e6506a6a2762b5ab9c37f28a7edac73030e6026bc3fae files/20070318/205_all_ion-lock.patch 780 -AUX 20070318/207_all_bindings-manpage.patch 3159 RMD160 efcb802e1e00b85398facc945053fe793ed2d223 SHA1 c9a317080edd7a4f297c40572ca5a6474851ca87 SHA256 1e5d315510dde32a94b0e967cc1a315cd84cbb43f03b9a928ad80ee7a75945ba -MD5 dbd4e494033db439cd0610ef880e2659 files/20070318/207_all_bindings-manpage.patch 3159 -RMD160 efcb802e1e00b85398facc945053fe793ed2d223 files/20070318/207_all_bindings-manpage.patch 3159 -SHA256 1e5d315510dde32a94b0e967cc1a315cd84cbb43f03b9a928ad80ee7a75945ba files/20070318/207_all_bindings-manpage.patch 3159 -AUX 20070318/208_all_as-needed.patch 350 RMD160 d4a5d21442b8cdb618e116dd542389b2c6a0d442 SHA1 2a59201ad480f35e7553c4bd470c696fc5dc0436 SHA256 0bedd444e6384f35f6b37c4ec2848150f25ae1d1b93fe5062934887786cba893 -MD5 477892385b4dd0708761fe54886459d7 files/20070318/208_all_as-needed.patch 350 -RMD160 d4a5d21442b8cdb618e116dd542389b2c6a0d442 files/20070318/208_all_as-needed.patch 350 -SHA256 0bedd444e6384f35f6b37c4ec2848150f25ae1d1b93fe5062934887786cba893 files/20070318/208_all_as-needed.patch 350 -AUX 20070506/200_all_fix_includes.patch 893 RMD160 cc39ca826bacfd0c3d1ea5f2d314fb0b52e27fb7 SHA1 a3661dc5568a8417f2efba212fd6785c4ac67aa4 SHA256 e8b2cefc75631d9ea7e5085528eea5f51fc4d41b9dd8d02d9da039928cb55ee2 -MD5 8f7a63a0ee74b4ecce09dbc78f84a26c files/20070506/200_all_fix_includes.patch 893 -RMD160 cc39ca826bacfd0c3d1ea5f2d314fb0b52e27fb7 files/20070506/200_all_fix_includes.patch 893 -SHA256 e8b2cefc75631d9ea7e5085528eea5f51fc4d41b9dd8d02d9da039928cb55ee2 files/20070506/200_all_fix_includes.patch 893 -AUX 20070506/201_all_fix-paths.patch 2578 RMD160 1e507b2b7493f94c9e63de2d1c5e7a4a370f2bbe SHA1 92cb162401d7e970a1429437bfeef9c9684f62fb SHA256 e1eca4fca542aeeb2b6dd39b7f082d49dc7c9b526bb23b668c72fab639c2c76c -MD5 e9d2532398ca5bebda1b6e3758227006 files/20070506/201_all_fix-paths.patch 2578 -RMD160 1e507b2b7493f94c9e63de2d1c5e7a4a370f2bbe files/20070506/201_all_fix-paths.patch 2578 -SHA256 e1eca4fca542aeeb2b6dd39b7f082d49dc7c9b526bb23b668c72fab639c2c76c files/20070506/201_all_fix-paths.patch 2578 -AUX 20070506/202_all_fix-menus.patch 990 RMD160 a49c2e8c44c4c7ddceae989a0637cb4ca51647f4 SHA1 ef72a6d5b100c8148d96f6718bc95a456a3b51eb SHA256 2f9404a884e28f9d7ff42ba6ae24df99436b7a9f3c75560282fb87daa9fdf9af -MD5 aecae9e8f4e48e9b74532a3309643598 files/20070506/202_all_fix-menus.patch 990 -RMD160 a49c2e8c44c4c7ddceae989a0637cb4ca51647f4 files/20070506/202_all_fix-menus.patch 990 -SHA256 2f9404a884e28f9d7ff42ba6ae24df99436b7a9f3c75560282fb87daa9fdf9af files/20070506/202_all_fix-menus.patch 990 -AUX 20070506/205_all_ion-lock.patch 780 RMD160 9834836d55fb390f06d8e3c1ea821ef01c1a74b8 SHA1 6bd0278dd7d56fd9f1025fae8a00db24bf0e781f SHA256 ea4ad810355fab8a848e6506a6a2762b5ab9c37f28a7edac73030e6026bc3fae -MD5 4f2dcedcbf6d885723d1b888f0aacb87 files/20070506/205_all_ion-lock.patch 780 -RMD160 9834836d55fb390f06d8e3c1ea821ef01c1a74b8 files/20070506/205_all_ion-lock.patch 780 -SHA256 ea4ad810355fab8a848e6506a6a2762b5ab9c37f28a7edac73030e6026bc3fae files/20070506/205_all_ion-lock.patch 780 -AUX 20070506/208_all_as-needed.patch 350 RMD160 d4a5d21442b8cdb618e116dd542389b2c6a0d442 SHA1 2a59201ad480f35e7553c4bd470c696fc5dc0436 SHA256 0bedd444e6384f35f6b37c4ec2848150f25ae1d1b93fe5062934887786cba893 -MD5 477892385b4dd0708761fe54886459d7 files/20070506/208_all_as-needed.patch 350 -RMD160 d4a5d21442b8cdb618e116dd542389b2c6a0d442 files/20070506/208_all_as-needed.patch 350 -SHA256 0bedd444e6384f35f6b37c4ec2848150f25ae1d1b93fe5062934887786cba893 files/20070506/208_all_as-needed.patch 350 -AUX 20070608/201_all_fix-paths.patch 2256 RMD160 2df4e395ea6a99e1ae669225477ff7b68d4f457e SHA1 14dd0131411f4c99f435877cf9fda2bb3e2310eb SHA256 e50a4f3d5ecb0c8f3fcaae41fc6ce9897b7aa26867168274fab111d06e4e0d62 -MD5 d3c7f70c793ae0c3ca0ed698a01734aa files/20070608/201_all_fix-paths.patch 2256 -RMD160 2df4e395ea6a99e1ae669225477ff7b68d4f457e files/20070608/201_all_fix-paths.patch 2256 -SHA256 e50a4f3d5ecb0c8f3fcaae41fc6ce9897b7aa26867168274fab111d06e4e0d62 files/20070608/201_all_fix-paths.patch 2256 -AUX 20070608/202_all_fix-menus.patch 990 RMD160 a49c2e8c44c4c7ddceae989a0637cb4ca51647f4 SHA1 ef72a6d5b100c8148d96f6718bc95a456a3b51eb SHA256 2f9404a884e28f9d7ff42ba6ae24df99436b7a9f3c75560282fb87daa9fdf9af -MD5 aecae9e8f4e48e9b74532a3309643598 files/20070608/202_all_fix-menus.patch 990 -RMD160 a49c2e8c44c4c7ddceae989a0637cb4ca51647f4 files/20070608/202_all_fix-menus.patch 990 -SHA256 2f9404a884e28f9d7ff42ba6ae24df99436b7a9f3c75560282fb87daa9fdf9af files/20070608/202_all_fix-menus.patch 990 -AUX 20070608/205_all_ion-lock.patch 780 RMD160 9834836d55fb390f06d8e3c1ea821ef01c1a74b8 SHA1 6bd0278dd7d56fd9f1025fae8a00db24bf0e781f SHA256 ea4ad810355fab8a848e6506a6a2762b5ab9c37f28a7edac73030e6026bc3fae -MD5 4f2dcedcbf6d885723d1b888f0aacb87 files/20070608/205_all_ion-lock.patch 780 -RMD160 9834836d55fb390f06d8e3c1ea821ef01c1a74b8 files/20070608/205_all_ion-lock.patch 780 -SHA256 ea4ad810355fab8a848e6506a6a2762b5ab9c37f28a7edac73030e6026bc3fae files/20070608/205_all_ion-lock.patch 780 -AUX 20070608/208_all_as-needed.patch 350 RMD160 d4a5d21442b8cdb618e116dd542389b2c6a0d442 SHA1 2a59201ad480f35e7553c4bd470c696fc5dc0436 SHA256 0bedd444e6384f35f6b37c4ec2848150f25ae1d1b93fe5062934887786cba893 -MD5 477892385b4dd0708761fe54886459d7 files/20070608/208_all_as-needed.patch 350 -RMD160 d4a5d21442b8cdb618e116dd542389b2c6a0d442 files/20070608/208_all_as-needed.patch 350 -SHA256 0bedd444e6384f35f6b37c4ec2848150f25ae1d1b93fe5062934887786cba893 files/20070608/208_all_as-needed.patch 350 -AUX ion3-20060317-truetype.patch 19704 RMD160 6a11b4d81926224171618c036b5597948e23d89a SHA1 c387e111c65d098793ef59d020225d3770688a2a SHA256 a1934d7ea40f959579b4b4b20f08bcbc9f037beb7e50737f8110273f7f5f58d5 -MD5 f77e47b00b912f3b0b6bb35a53f158a1 files/ion3-20060317-truetype.patch 19704 -RMD160 6a11b4d81926224171618c036b5597948e23d89a files/ion3-20060317-truetype.patch 19704 -SHA256 a1934d7ea40f959579b4b4b20f08bcbc9f037beb7e50737f8110273f7f5f58d5 files/ion3-20060317-truetype.patch 19704 -AUX ion3-20060326-truetype.patch 19704 RMD160 ca9b3ee77b0a61384006728cd8839d76f6957c13 SHA1 9d4e24979cbf1434f16245054232b39c52a46e6e SHA256 3e241b25c938241e3f791203486fef17072ff46b1d77f54c8da7e23c2849c56d -MD5 137137dfcda1e2b062faec090c1c792d files/ion3-20060326-truetype.patch 19704 -RMD160 ca9b3ee77b0a61384006728cd8839d76f6957c13 files/ion3-20060326-truetype.patch 19704 -SHA256 3e241b25c938241e3f791203486fef17072ff46b1d77f54c8da7e23c2849c56d files/ion3-20060326-truetype.patch 19704 -AUX ion3-mod-ionflux-20070512.tar.bz2 12770 RMD160 8e834de0c3048b676bc5c5d5454aedac09129eb3 SHA1 d482654557104adfbf6d184e44f87a993577720a SHA256 63c4902159923aa02921e39aa7746ca8819ba1c216efa8fa6384fd093f60d18c -MD5 c8c2d7b039f751db017275f5f977702e files/ion3-mod-ionflux-20070512.tar.bz2 12770 -RMD160 8e834de0c3048b676bc5c5d5454aedac09129eb3 files/ion3-mod-ionflux-20070512.tar.bz2 12770 -SHA256 63c4902159923aa02921e39aa7746ca8819ba1c216efa8fa6384fd093f60d18c files/ion3-mod-ionflux-20070512.tar.bz2 12770 -AUX ion3-mod-xrandr-20070410.tar.bz2 10833 RMD160 8542c0dfebfd1536e6a1ad89a3b791609ca8f16e SHA1 a1ef665e0914154bf89f8b5fc8f282695438f06f SHA256 80f23a435b21f8691fc63b78394fa29b25b5304f46895dd961ac905bcc76c82f -MD5 dcb17665b215d0891be40392f57197c1 files/ion3-mod-xrandr-20070410.tar.bz2 10833 -RMD160 8542c0dfebfd1536e6a1ad89a3b791609ca8f16e files/ion3-mod-xrandr-20070410.tar.bz2 10833 -SHA256 80f23a435b21f8691fc63b78394fa29b25b5304f46895dd961ac905bcc76c82f files/ion3-mod-xrandr-20070410.tar.bz2 10833 -AUX ion3-scripts-20070608.tar.bz2 101584 RMD160 5728f7923ecf121b923169d97471793384babb0c SHA1 9ca87f26edbbd56d64dbca297533f3a04987929a SHA256 b50c767a77a1c8639141b483ebba2e6881ac2e8422d51b476c3850e3587a33a5 -MD5 ba98325b7a155b09cc76d27199625a12 files/ion3-scripts-20070608.tar.bz2 101584 -RMD160 5728f7923ecf121b923169d97471793384babb0c files/ion3-scripts-20070608.tar.bz2 101584 -SHA256 b50c767a77a1c8639141b483ebba2e6881ac2e8422d51b476c3850e3587a33a5 files/ion3-scripts-20070608.tar.bz2 101584 -AUX ion3.desktop 217 RMD160 438917d6c0370e7a368598ea611ec7658312627d SHA1 cf5cd1f09faf7530f8cb2f832a17c0cf893541c4 SHA256 4742797e200b956abf3d0b94d860aa7430c9f67a97f3640ef2c28168fa773bb9 -MD5 00450ed1292b72e2be71b9860c4db6ee files/ion3.desktop 217 -RMD160 438917d6c0370e7a368598ea611ec7658312627d files/ion3.desktop 217 -SHA256 4742797e200b956abf3d0b94d860aa7430c9f67a97f3640ef2c28168fa773bb9 files/ion3.desktop 217 -AUX pwm3.desktop 170 RMD160 7a33137ccf3857cacd7ff693df2e8952e16e3a84 SHA1 7ff6792b6e61a9a2fbb4f0fa7e3d9dbf856c8d28 SHA256 e068670634d31e58db4f54e703707f7908d30ced7f765e30ab590615b3d5dccd -MD5 e5e408ab1f83116c2138a26b20c86653 files/pwm3.desktop 170 -RMD160 7a33137ccf3857cacd7ff693df2e8952e16e3a84 files/pwm3.desktop 170 -SHA256 e068670634d31e58db4f54e703707f7908d30ced7f765e30ab590615b3d5dccd files/pwm3.desktop 170 -AUX xft-ion3-20070318.patch 19100 RMD160 7d0d01e42d65961655046f6485011425311e8723 SHA1 618fbe025e634c3aac844bdc1a2210dbecb60215 SHA256 d5e57e91185ae5c508ed036d689b5ea58e7322b633705503cfaa5ac18ff9f936 -MD5 319a7254cf4093a9e84993515b9462ec files/xft-ion3-20070318.patch 19100 -RMD160 7d0d01e42d65961655046f6485011425311e8723 files/xft-ion3-20070318.patch 19100 -SHA256 d5e57e91185ae5c508ed036d689b5ea58e7322b633705503cfaa5ac18ff9f936 files/xft-ion3-20070318.patch 19100 -AUX xft-ion3-20070506.patch 18375 RMD160 2510ae25502346f0347eafce8a313aac4db2a36c SHA1 ae75b297d6cf8c3f5dfd3793c22d754369f982bb SHA256 1db26c1db08b9a87530ef29ad2538cf191bc5d08630cc776f1dbd61940eff21f -MD5 68f3da20b45ec583347b5325d9062e19 files/xft-ion3-20070506.patch 18375 -RMD160 2510ae25502346f0347eafce8a313aac4db2a36c files/xft-ion3-20070506.patch 18375 -SHA256 1db26c1db08b9a87530ef29ad2538cf191bc5d08630cc776f1dbd61940eff21f files/xft-ion3-20070506.patch 18375 -AUX xft-ion3-20070608.patch 18375 RMD160 2510ae25502346f0347eafce8a313aac4db2a36c SHA1 ae75b297d6cf8c3f5dfd3793c22d754369f982bb SHA256 1db26c1db08b9a87530ef29ad2538cf191bc5d08630cc776f1dbd61940eff21f -MD5 68f3da20b45ec583347b5325d9062e19 files/xft-ion3-20070608.patch 18375 -RMD160 2510ae25502346f0347eafce8a313aac4db2a36c files/xft-ion3-20070608.patch 18375 -SHA256 1db26c1db08b9a87530ef29ad2538cf191bc5d08630cc776f1dbd61940eff21f files/xft-ion3-20070608.patch 18375 -DIST ion-3ds-20060326.tar.gz 617533 RMD160 147e6ad20c69ca8fe5a80dcd57ce6002a2b3cde1 SHA1 5202322198071f7cee2aefc2bcc8bd0b3a08a490 SHA256 9f3c96c961e47c61e9c10b57de820b608b9d9fdaa43a893e63499b3f17231124 -DIST ion-3ds-20061223.tar.gz 649463 RMD160 dc61a012354a30f1a83b8b0970b8c09724ea4c9c SHA1 8bccf120ce27b26feb67a916ba61748e85e69733 SHA256 0970fef74de659de45813471560ebe2f97b893de7a238ea00755fcaeb9b7d89e -DIST ion-3ds-20070318.tar.gz 657282 RMD160 a7cc9baea3624b0ed840fdc82fc5db2ac1018d9a SHA1 f352a1c7f6f465478141d538b2a4c3f3e81a4f30 SHA256 712da027fb12774f67d933d95a95452d98a5658617fc5515011ca79b6035258a -DIST ion-3rc-20070506.tar.gz 640482 RMD160 b5dda6a7a48c1f3d433b2a2b1c37294ece79a259 SHA1 81071df77b720ebad5630bd15a4c6b6e0787caf0 SHA256 850dce3bd1be5d200fda5ba3e6085f397b35c720f7758dc5481bf503fe5d2f56 -DIST ion-3rc-20070608.tar.gz 655442 RMD160 41fd6d581e27770e63f7bc66122684d8c11667f2 SHA1 e6a8afa4b177bcd95d6dd79b7f8f8e268738c7bf SHA256 1ebad89f61c3ac58bd583cfe3a0cb71c5254679a9f35f46d954d6e72eada86e8 -DIST ion-doc-3rc-20070506.tar.gz 669471 RMD160 aa9e75b60c121d3cd62f60afed4592fe1bc0da87 SHA1 1991e12e4f72153f2e02c70910322317c73a7c01 SHA256 9dac4f5e69121b98cf6e5da455d6185f00605cf237f14fc4f8578446f622476e -DIST ion3-doc-20070318.tar.bz2 38870 RMD160 5fc0225ad23f1c96b5e979d66185ea608372297d SHA1 93c14f675f5fba3212232ed127af4d4481716884 SHA256 22ca643ca5df67086f12d3f106b16094017477c41fd1ebd73d30607db206821b -DIST ion3-mod-ionflux-20070512.tar.bz2 12770 RMD160 8e834de0c3048b676bc5c5d5454aedac09129eb3 SHA1 d482654557104adfbf6d184e44f87a993577720a SHA256 63c4902159923aa02921e39aa7746ca8819ba1c216efa8fa6384fd093f60d18c -DIST ion3-mod-ionflux_20061022.orig.tar.gz 14847 RMD160 86bcc2a260f3e37d613bcebd66f37616e56d3926 SHA1 64d56a158de66cd15b03dfdccc8162509432fa01 SHA256 f9fd872d2d5b35f882d9a9161dee52fd5b2bb346c46f9e6cc30922dcda99c935 -DIST ion3-mod-xrandr-20061021.tar.bz2 10762 RMD160 cca3f472e32b8aff1ce8af123c24e17574c1b197 SHA1 9c36bc4be2a97f6a9256054ffbb946ad7dc6965a SHA256 cd2225a356ddfc6f02062bf23c1e90fa573661347ff185316aeae0e18eee72ef -DIST ion3-mod-xrandr-20070220.tar.bz2 10822 RMD160 680714961af7e6b81896c4d989baded5ea4c5222 SHA1 11e3829f16b48e90de71469b2013a0cda9ac2eb8 SHA256 858a72ad203fb98f3cea672809a2cdfd7cb87cfa744e622e5a04d2f87cc1ae38 -DIST ion3-mod-xrandr-20070410.tar.bz2 10833 RMD160 8542c0dfebfd1536e6a1ad89a3b791609ca8f16e SHA1 a1ef665e0914154bf89f8b5fc8f282695438f06f SHA256 80f23a435b21f8691fc63b78394fa29b25b5304f46895dd961ac905bcc76c82f -DIST ion3-scripts-20070322.tar.bz2 101212 RMD160 101a6dd933b5b9b495ca4607a7e0d48d48a9c409 SHA1 7dbbec42f3b97da16d05987347f0c3ae54c76eec SHA256 6864d75f2f7ca021368b52051c297f5590047257ca39d0332af65c7fef0f8d39 -DIST ion3-scripts-20070510.tar.bz2 100952 RMD160 4ac0fff86a039d5890bd934d80c33bb5a78fb02d SHA1 c255ed826a19bc681ed34f41c4cd6dd053da76d6 SHA256 53c4705ab6f880404aae92cef3018a956ee1b55d0e22ef93c12d30527a419a61 -DIST ion3-scripts_20061214.orig.tar.gz 129181 RMD160 b22827c490f23252c1953582d24a19a5aa0aaed0 SHA1 7095657b7bc3f7eba5e564e67ca09bb7b0e1a010 SHA256 82e25973fcfdd282bdb3734191f8a5b0d711b2bf0cb64196d3b42351185fdbcf -DIST xft-ion3-for-darcs-20061202.diff 20126 RMD160 054efa097492531d800bca85582d5b6836567408 SHA1 2405218fb387c3ac76ff1612bd6f4482cf459a0f SHA256 6af98c329395acb46ddbdac4f0ba023c6e5344914cc06cdfa82339526ce25b3c -EBUILD ion3-20060326.ebuild 1982 RMD160 1c859482c49b2def0ef08ab184cbfe281cac8af2 SHA1 cf58eebbd87779b38f4fb8b5c50b0c4de517ad65 SHA256 17736fa6d2e1d6583b5e4aab65fe7d2f04182a3706c190f4cd4aecd9a8468e9b -MD5 7b4a28c80dae5906c25580c43c7c7843 ion3-20060326.ebuild 1982 -RMD160 1c859482c49b2def0ef08ab184cbfe281cac8af2 ion3-20060326.ebuild 1982 -SHA256 17736fa6d2e1d6583b5e4aab65fe7d2f04182a3706c190f4cd4aecd9a8468e9b ion3-20060326.ebuild 1982 -EBUILD ion3-20061223.ebuild 4722 RMD160 b09e68bf8a4b15360f1b4cf697c003accbaf0cf7 SHA1 a5406157dd74d3a3895fc1f380f21d5d1e9ea83f SHA256 e6ba303437dff3b9d47e3e63510f7340ba59bfea6f36d59da38270dc0dfb0036 -MD5 f76cea28a1b0a06fbb8fb409511804fc ion3-20061223.ebuild 4722 -RMD160 b09e68bf8a4b15360f1b4cf697c003accbaf0cf7 ion3-20061223.ebuild 4722 -SHA256 e6ba303437dff3b9d47e3e63510f7340ba59bfea6f36d59da38270dc0dfb0036 ion3-20061223.ebuild 4722 -EBUILD ion3-20070318-r2.ebuild 4459 RMD160 6e5a41d514af4043ff4470b8f50ffa72d1df259d SHA1 d660701623f3abb7f96ba3f1b8aa1bc249fef104 SHA256 a64bf98ed42972a1eea1ecc6c5be823a19ce4eb739e597e21c984ff5735a69cb -MD5 772dc99239ea28b4193098e2c79f78e1 ion3-20070318-r2.ebuild 4459 -RMD160 6e5a41d514af4043ff4470b8f50ffa72d1df259d ion3-20070318-r2.ebuild 4459 -SHA256 a64bf98ed42972a1eea1ecc6c5be823a19ce4eb739e597e21c984ff5735a69cb ion3-20070318-r2.ebuild 4459 -EBUILD ion3-20070506-r1.ebuild 5213 RMD160 e875b068c509e7beef53433026a3f6e066c33738 SHA1 339fe6bc5ccee1bfdf4b3392987cc134e35088ba SHA256 b7b387296ff6a0c4a4cddb0eb5eb6ffb81b90ab143e148002a59cec917ceff9f -MD5 ae60013d4557315112a038ff7f8753d8 ion3-20070506-r1.ebuild 5213 -RMD160 e875b068c509e7beef53433026a3f6e066c33738 ion3-20070506-r1.ebuild 5213 -SHA256 b7b387296ff6a0c4a4cddb0eb5eb6ffb81b90ab143e148002a59cec917ceff9f ion3-20070506-r1.ebuild 5213 -EBUILD ion3-20070608.ebuild 5434 RMD160 3bbf0f46ba4a474507f5b00a112f73cd5fb13fad SHA1 10b18b11ac81d449206c5c6f41b1f828672a2a08 SHA256 07571dbe75cecf227671348c4b5bfa9f5439af6ef2a7c506aa571ef7208af25f -MD5 d125b643c6e7fedd3fd39b3eee26590c ion3-20070608.ebuild 5434 -RMD160 3bbf0f46ba4a474507f5b00a112f73cd5fb13fad ion3-20070608.ebuild 5434 -SHA256 07571dbe75cecf227671348c4b5bfa9f5439af6ef2a7c506aa571ef7208af25f ion3-20070608.ebuild 5434 -MISC ChangeLog 9850 RMD160 2d02dca582ba21592d93feb589df0220320e4738 SHA1 039815cc991293ed6f13950e86456f4b85f8aaa7 SHA256 93880b6400b79ae9a0b75390bec37d503d856764f0add77b00ea1ca5b61b52e2 -MD5 1ff1b338cb3335cf5ff28ff2224f7ca4 ChangeLog 9850 -RMD160 2d02dca582ba21592d93feb589df0220320e4738 ChangeLog 9850 -SHA256 93880b6400b79ae9a0b75390bec37d503d856764f0add77b00ea1ca5b61b52e2 ChangeLog 9850 -MISC metadata.xml 248 RMD160 7e7a4fe276728c6c4d6d0face7f0708dae9776d7 SHA1 b16dc683091d4a7cee7f9b8a6d6034a257df80b0 SHA256 3f6027d293a7bd953fd444ba8a1345ca6b9c00c28b35e8328386b9635d8eb71f -MD5 c4aada614ade13541606f0901dffd61f metadata.xml 248 -RMD160 7e7a4fe276728c6c4d6d0face7f0708dae9776d7 metadata.xml 248 -SHA256 3f6027d293a7bd953fd444ba8a1345ca6b9c00c28b35e8328386b9635d8eb71f metadata.xml 248 -MD5 27ad3490f271ac787c7c59dcee131a73 files/digest-ion3-20060326 250 -RMD160 ee5cd1057ee8e32b8e30b05fb8e036082dbdf47d files/digest-ion3-20060326 250 -SHA256 43e4165551f43f347ae8bd8beb5a8fe24f29c39d4273107bd541c271c89eef6c files/digest-ion3-20060326 250 -MD5 d7afa3f01f843fd76f3e13e9dcac45b1 files/digest-ion3-20061223 1367 -RMD160 2639e26fb415e009a08fb27b822a62fcbc5e00f7 files/digest-ion3-20061223 1367 -SHA256 0a8be4455d11e16b8f4c20d6b7019d73d7e564f1a9c41134b512fd982dc675c4 files/digest-ion3-20061223 1367 -MD5 1f454e2ba54eec9e1f3fa03e307b61f6 files/digest-ion3-20070318-r2 1045 -RMD160 7087b16c049c3b8b4d150ab7eb8a461e67ae28e6 files/digest-ion3-20070318-r2 1045 -SHA256 b2181757e7912e1c67e67d7f3e4200e3cf9b8c4d2eea0ff964f2e92e6e3ea66d files/digest-ion3-20070318-r2 1045 -MD5 d738828fdba8dec081e12431ad73be86 files/digest-ion3-20070506-r1 1331 -RMD160 2bb97783b8262b0ec65a9dcd75d359dc3ef1a2e3 files/digest-ion3-20070506-r1 1331 -SHA256 f2b7c50a3bf973359aa6e899f99fede7ebdd3698b2e93918d9f5e1306ef6ae19 files/digest-ion3-20070506-r1 1331 -MD5 d9224226ab2e1fe595374de99c915783 files/digest-ion3-20070608 512 -RMD160 a3ab13d5eb784001a522c16efb6b0555534b02f2 files/digest-ion3-20070608 512 -SHA256 8969af66aa32f5e7c6845105a35b7529b8b46d9d8b46e7e5cb9bad1e24eb4f9b files/digest-ion3-20070608 512 diff --git a/ion3/files/20061223/201_all_fix-paths.patch b/ion3/files/20061223/201_all_fix-paths.patch deleted file mode 100644 index 7f8f228..0000000 --- a/ion3/files/20061223/201_all_fix-paths.patch +++ /dev/null @@ -1,90 +0,0 @@ -diff -Nur ion-3ds-20060519.orig/system.mk ion-3ds-20060519/system.mk ---- ion-3ds-20060519.orig/system.mk 2006-05-18 18:06:53.000000000 -0500 -+++ ion-3ds-20060519/system.mk 2006-05-18 23:51:23.000000000 -0500 -@@ -7,7 +7,7 @@ - ## Installation paths - ## - --PREFIX=/usr/local -+PREFIX=/usr - - # Unless you are creating a package conforming to some OS's standards, you - # probably do not want to modify the following directories: -@@ -15,7 +15,7 @@ - # Main binaries - BINDIR=$(PREFIX)/bin - # Configuration .lua files --ETCDIR=$(PREFIX)/etc/ion3 -+ETCDIR=/etc/X11/ion3 - # Some .lua files and ion-* shell scripts - SHAREDIR=$(PREFIX)/share/ion3 - # Manual pages -@@ -27,11 +27,11 @@ - # Nothing at the moment - LIBDIR=$(PREFIX)/lib - # Modules --MODULEDIR=$(LIBDIR)/ion3/mod -+MODULEDIR=$(LIBDIR)/ion3/mod - # Compiled Lua source code - LCDIR=$(LIBDIR)/ion3/lc - # ion-completefile (does not belong in SHAREDIR being a binary file) --EXTRABINDIR=$(LIBDIR)/ion3/bin -+EXTRABINDIR=$(LIBDIR)/ion3/bin - # For ion-completeman system-wide cache - VARDIR=/var/cache/ion3 - # Message catalogs -@@ -56,18 +56,18 @@ - - # If you have installed Lua 5.1 from the official tarball without changing - # paths, this should do it. --LUA_DIR=/usr/local --LUA_LIBS = -L$(LUA_DIR)/lib -llua --LUA_INCLUDES = -I$(LUA_DIR)/include --LUA=$(LUA_DIR)/bin/lua --LUAC=$(LUA_DIR)/bin/luac -+#LUA_DIR=/usr/local -+#LUA_LIBS = -L$(LUA_DIR)/lib -llua -+#LUA_INCLUDES = -I$(LUA_DIR)/include -+#LUA=$(LUA_DIR)/bin/lua -+#LUAC=$(LUA_DIR)/bin/luac - - # If you are using the Debian packages, the following settings should be - # what you want. --#LUA_LIBS=`pkg-config --libs lua5.1` --#LUA_INCLUDES=`pkg-config --cflags lua5.1` --#LUA=`which lua5.1` --#LUAC=`which luac5.1` -+LUA_LIBS=`pkg-config --libs lua` -+LUA_INCLUDES=`pkg-config --cflags lua` -+LUA=`which lua` -+LUAC=`which luac` - - - ## -@@ -107,7 +107,7 @@ - # asprintf and vasprintf in the c library. (gnu libc has.) - # If HAS_SYSTEM_ASPRINTF is not defined, an implementation - # in sprintf_2.2/ is used. --#HAS_SYSTEM_ASPRINTF=1 -+HAS_SYSTEM_ASPRINTF=1 - - - # If you're on an archaic system (such as relatively recent *BSD releases) -@@ -144,14 +144,14 @@ - - #C89_SOURCE=-ansi - --#POSIX_SOURCE=-D_POSIX_SOURCE -+POSIX_SOURCE=-D_POSIX_SOURCE - - # Most systems --#XOPEN_SOURCE=-D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED -+XOPEN_SOURCE=-D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED - # SunOS, (Irix) - #XOPEN_SOURCE=-D__EXTENSIONS__ - --#C99_SOURCE=-std=c99 -DCF_HAS_VA_COPY -+C99_SOURCE=-std=c99 -DCF_HAS_VA_COPY - - # The -DCF_HAS_VA_COPY option should allow for some optimisations, and - # in some cases simply defining diff --git a/ion3/files/20061223/202_all_fix-menus.patch b/ion3/files/20061223/202_all_fix-menus.patch deleted file mode 100644 index f218a33..0000000 --- a/ion3/files/20061223/202_all_fix-menus.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -Naur ../work/ion-3ds-20061223/etc/cfg_ioncore.lua ion-3ds-20061223/etc/cfg_ioncore.lua ---- ../work/ion-3ds-20061223/etc/cfg_ioncore.lua 2006-12-23 17:59:43.000000000 +0300 -+++ ion-3ds-20061223/etc/cfg_ioncore.lua 2006-12-31 15:35:59.000000000 +0300 -@@ -324,7 +324,8 @@ - -- Main menu - defmenu("mainmenu", { - submenu("Programs", "appmenu"), -- menuentry("Lock screen", "ioncore.exec_on(_, 'xlock')"), -+ menuentry("Lock screen", -+ "ioncore.exec_on(_, ioncore.lookup_script('ion-lock'))"), - menuentry("Help", "mod_query.query_man(_)"), - menuentry("About Ion", "mod_query.show_about_ion(_)"), - submenu("Styles", "stylemenu"), diff --git a/ion3/files/20061223/205_all_ion-lock.patch b/ion3/files/20061223/205_all_ion-lock.patch deleted file mode 100644 index dda2016..0000000 --- a/ion3/files/20061223/205_all_ion-lock.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff -Nur ion3-20050322.orig/utils/Makefile ion3-20050322/utils/Makefile ---- ion3-20050322.orig/utils/Makefile 2005-03-22 14:31:06.000000000 +0000 -+++ ion3-20050322/utils/Makefile 2005-03-22 16:29:37.197355881 +0000 -@@ -11,7 +11,7 @@ - SUBDIRS=ion-completefile - INSTALL_SUBDIRS=$(SUBDIRS) - --SHELLSCRIPTS = ion-runinxterm ion-completeman -+SHELLSCRIPTS = ion-runinxterm ion-completeman ion-lock - - TARGETS = ion-completeman - -diff -Nur ion3-20050322.orig/utils/ion-lock ion3-20050322/utils/ion-lock ---- ion3-20050322.orig/utils/ion-lock 1970-01-01 00:00:00.000000000 +0000 -+++ ion3-20050322/utils/ion-lock 2005-03-22 16:29:19.550092305 +0000 -@@ -0,0 +1,6 @@ -+#!/bin/sh -+if xscreensaver-command -version >/dev/null 2>&1; then -+ exec xscreensaver-command -lock -+else -+ exec xlock -+fi diff --git a/ion3/files/20061223/207_all_bindings-manpage.patch b/ion3/files/20061223/207_all_bindings-manpage.patch deleted file mode 100644 index 5fac548..0000000 --- a/ion3/files/20061223/207_all_bindings-manpage.patch +++ /dev/null @@ -1,117 +0,0 @@ -diff -Nur ion3-20061020.orig/man/ion3.cs.in ion3-20061020/man/ion3.cs.in ---- ion3-20061020.orig/man/ion3.cs.in 2006-10-20 17:43:37.000000000 +0200 -+++ ion3-20061020/man/ion3.cs.in 2006-10-23 20:42:12.000000000 +0200 -@@ -81,6 +81,10 @@ - - .SS Globální přiřazení - -+BINDINGS:WFrame -+ -+.SS Přiřazení pro přesun/změnu velikosti -+ - BINDINGS:WScreen - - .SS Přiřazení pro práci s nejvyššími rámy a obrazovkami a jejich potomky -diff -Nur ion3-20061020.orig/man/ion3.fi.in ion3-20061020/man/ion3.fi.in ---- ion3-20061020.orig/man/ion3.fi.in 2006-10-20 17:43:36.000000000 +0200 -+++ ion3-20061020/man/ion3.fi.in 2006-10-23 20:42:12.000000000 +0200 -@@ -84,6 +84,10 @@ - - .SS Yleisesti saatavilla olevat sidonnat - -+BINDINGS:WFrame -+ -+.SS Siirto ja koonmuutostilan sidonnat -+ - BINDINGS:WScreen - - .SS Näytöillä tai ylimmän tason kehyksissä toimivat sidonnat -diff -Nur ion3-20061020.orig/man/ion3.in ion3-20061020/man/ion3.in ---- ion3-20061020.orig/man/ion3.in 2006-10-20 17:43:36.000000000 +0200 -+++ ion3-20061020/man/ion3.in 2006-10-23 20:42:12.000000000 +0200 -@@ -82,6 +82,10 @@ - - .SS Globally available bindings - -+BINDINGS:WFrame -+ -+.SS Move/resize mode bindings -+ - BINDINGS:WScreen - - .SS Bindings operating on top-level frames and screens and their children -diff -Nur ion3-20061020.orig/man/pwm3.cs.in ion3-20061020/man/pwm3.cs.in ---- ion3-20061020.orig/man/pwm3.cs.in 2006-10-20 17:43:36.000000000 +0200 -+++ ion3-20061020/man/pwm3.cs.in 2006-10-23 20:42:12.000000000 +0200 -@@ -56,6 +56,10 @@ - - .SS Globální přiřazení - -+BINDINGS:WFrame -+ -+.SS Přiřazení pro přesun/změnu velikosti -+ - BINDINGS:WScreen - - .".SS Přiřazení pro práci s rámy, obrazovkami a jejich potomky -@@ -64,10 +68,6 @@ - - .SS Přiřazení pro práci s rámy a jejich potomky - --BINDINGS:WFrame -- --.SS Přiřazení pro přesun/změnu velikosti -- - BINDINGS:WMoveresMode - - .SS Přiřazení pro plovoucí pracovní plochy [mod_floatws] -diff -Nur ion3-20061020.orig/man/pwm3.fi.in ion3-20061020/man/pwm3.fi.in ---- ion3-20061020.orig/man/pwm3.fi.in 2006-10-20 17:43:36.000000000 +0200 -+++ ion3-20061020/man/pwm3.fi.in 2006-10-23 20:42:12.000000000 +0200 -@@ -57,6 +57,10 @@ - - .SS Yleisesti saatavilla olevat sidonnat - -+BINDINGS:WFrame -+ -+.SS Siirto ja koonmuutostilan sidonnat -+ - BINDINGS:WScreen - - .\".SS Kehyksiä ja näyttöjä, sekä niiden lapsia käsittelevät sidonnat -@@ -65,10 +69,6 @@ - - .SS Kehyksiä, sekä niiden lapsia käsittelevät sidonnat - --BINDINGS:WFrame -- --.SS Siirto ja koonmuutostilan sidonnat -- - BINDINGS:WMoveresMode - - .SS Kelluvien työpöytien ja kehyksien sidonnat [mod_floatws] -diff -Nur ion3-20061020.orig/man/pwm3.in ion3-20061020/man/pwm3.in ---- ion3-20061020.orig/man/pwm3.in 2006-10-20 17:43:36.000000000 +0200 -+++ ion3-20061020/man/pwm3.in 2006-10-23 20:42:12.000000000 +0200 -@@ -57,6 +57,10 @@ - - .SS Globally available bindings - -+BINDINGS:WFrame -+ -+.SS Move/resize mode bindings -+ - BINDINGS:WScreen - - .".SS Bindings operating on both frames and screens and their children -@@ -65,10 +69,6 @@ - - .SS Bindings operating on frames and their children - --BINDINGS:WFrame -- --.SS Move/resize mode bindings -- - BINDINGS:WMoveresMode - - .SS Bindings for floating workspaces and frames [mod_floatws] diff --git a/ion3/files/20070203/201_all_fix-paths.patch b/ion3/files/20070203/201_all_fix-paths.patch deleted file mode 100644 index 7f8f228..0000000 --- a/ion3/files/20070203/201_all_fix-paths.patch +++ /dev/null @@ -1,90 +0,0 @@ -diff -Nur ion-3ds-20060519.orig/system.mk ion-3ds-20060519/system.mk ---- ion-3ds-20060519.orig/system.mk 2006-05-18 18:06:53.000000000 -0500 -+++ ion-3ds-20060519/system.mk 2006-05-18 23:51:23.000000000 -0500 -@@ -7,7 +7,7 @@ - ## Installation paths - ## - --PREFIX=/usr/local -+PREFIX=/usr - - # Unless you are creating a package conforming to some OS's standards, you - # probably do not want to modify the following directories: -@@ -15,7 +15,7 @@ - # Main binaries - BINDIR=$(PREFIX)/bin - # Configuration .lua files --ETCDIR=$(PREFIX)/etc/ion3 -+ETCDIR=/etc/X11/ion3 - # Some .lua files and ion-* shell scripts - SHAREDIR=$(PREFIX)/share/ion3 - # Manual pages -@@ -27,11 +27,11 @@ - # Nothing at the moment - LIBDIR=$(PREFIX)/lib - # Modules --MODULEDIR=$(LIBDIR)/ion3/mod -+MODULEDIR=$(LIBDIR)/ion3/mod - # Compiled Lua source code - LCDIR=$(LIBDIR)/ion3/lc - # ion-completefile (does not belong in SHAREDIR being a binary file) --EXTRABINDIR=$(LIBDIR)/ion3/bin -+EXTRABINDIR=$(LIBDIR)/ion3/bin - # For ion-completeman system-wide cache - VARDIR=/var/cache/ion3 - # Message catalogs -@@ -56,18 +56,18 @@ - - # If you have installed Lua 5.1 from the official tarball without changing - # paths, this should do it. --LUA_DIR=/usr/local --LUA_LIBS = -L$(LUA_DIR)/lib -llua --LUA_INCLUDES = -I$(LUA_DIR)/include --LUA=$(LUA_DIR)/bin/lua --LUAC=$(LUA_DIR)/bin/luac -+#LUA_DIR=/usr/local -+#LUA_LIBS = -L$(LUA_DIR)/lib -llua -+#LUA_INCLUDES = -I$(LUA_DIR)/include -+#LUA=$(LUA_DIR)/bin/lua -+#LUAC=$(LUA_DIR)/bin/luac - - # If you are using the Debian packages, the following settings should be - # what you want. --#LUA_LIBS=`pkg-config --libs lua5.1` --#LUA_INCLUDES=`pkg-config --cflags lua5.1` --#LUA=`which lua5.1` --#LUAC=`which luac5.1` -+LUA_LIBS=`pkg-config --libs lua` -+LUA_INCLUDES=`pkg-config --cflags lua` -+LUA=`which lua` -+LUAC=`which luac` - - - ## -@@ -107,7 +107,7 @@ - # asprintf and vasprintf in the c library. (gnu libc has.) - # If HAS_SYSTEM_ASPRINTF is not defined, an implementation - # in sprintf_2.2/ is used. --#HAS_SYSTEM_ASPRINTF=1 -+HAS_SYSTEM_ASPRINTF=1 - - - # If you're on an archaic system (such as relatively recent *BSD releases) -@@ -144,14 +144,14 @@ - - #C89_SOURCE=-ansi - --#POSIX_SOURCE=-D_POSIX_SOURCE -+POSIX_SOURCE=-D_POSIX_SOURCE - - # Most systems --#XOPEN_SOURCE=-D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED -+XOPEN_SOURCE=-D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED - # SunOS, (Irix) - #XOPEN_SOURCE=-D__EXTENSIONS__ - --#C99_SOURCE=-std=c99 -DCF_HAS_VA_COPY -+C99_SOURCE=-std=c99 -DCF_HAS_VA_COPY - - # The -DCF_HAS_VA_COPY option should allow for some optimisations, and - # in some cases simply defining diff --git a/ion3/files/20070203/202_all_fix-menus.patch b/ion3/files/20070203/202_all_fix-menus.patch deleted file mode 100644 index f218a33..0000000 --- a/ion3/files/20070203/202_all_fix-menus.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -Naur ../work/ion-3ds-20061223/etc/cfg_ioncore.lua ion-3ds-20061223/etc/cfg_ioncore.lua ---- ../work/ion-3ds-20061223/etc/cfg_ioncore.lua 2006-12-23 17:59:43.000000000 +0300 -+++ ion-3ds-20061223/etc/cfg_ioncore.lua 2006-12-31 15:35:59.000000000 +0300 -@@ -324,7 +324,8 @@ - -- Main menu - defmenu("mainmenu", { - submenu("Programs", "appmenu"), -- menuentry("Lock screen", "ioncore.exec_on(_, 'xlock')"), -+ menuentry("Lock screen", -+ "ioncore.exec_on(_, ioncore.lookup_script('ion-lock'))"), - menuentry("Help", "mod_query.query_man(_)"), - menuentry("About Ion", "mod_query.show_about_ion(_)"), - submenu("Styles", "stylemenu"), diff --git a/ion3/files/20070203/205_all_ion-lock.patch b/ion3/files/20070203/205_all_ion-lock.patch deleted file mode 100644 index dda2016..0000000 --- a/ion3/files/20070203/205_all_ion-lock.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff -Nur ion3-20050322.orig/utils/Makefile ion3-20050322/utils/Makefile ---- ion3-20050322.orig/utils/Makefile 2005-03-22 14:31:06.000000000 +0000 -+++ ion3-20050322/utils/Makefile 2005-03-22 16:29:37.197355881 +0000 -@@ -11,7 +11,7 @@ - SUBDIRS=ion-completefile - INSTALL_SUBDIRS=$(SUBDIRS) - --SHELLSCRIPTS = ion-runinxterm ion-completeman -+SHELLSCRIPTS = ion-runinxterm ion-completeman ion-lock - - TARGETS = ion-completeman - -diff -Nur ion3-20050322.orig/utils/ion-lock ion3-20050322/utils/ion-lock ---- ion3-20050322.orig/utils/ion-lock 1970-01-01 00:00:00.000000000 +0000 -+++ ion3-20050322/utils/ion-lock 2005-03-22 16:29:19.550092305 +0000 -@@ -0,0 +1,6 @@ -+#!/bin/sh -+if xscreensaver-command -version >/dev/null 2>&1; then -+ exec xscreensaver-command -lock -+else -+ exec xlock -+fi diff --git a/ion3/files/20070203/207_all_bindings-manpage.patch b/ion3/files/20070203/207_all_bindings-manpage.patch deleted file mode 100644 index 5fac548..0000000 --- a/ion3/files/20070203/207_all_bindings-manpage.patch +++ /dev/null @@ -1,117 +0,0 @@ -diff -Nur ion3-20061020.orig/man/ion3.cs.in ion3-20061020/man/ion3.cs.in ---- ion3-20061020.orig/man/ion3.cs.in 2006-10-20 17:43:37.000000000 +0200 -+++ ion3-20061020/man/ion3.cs.in 2006-10-23 20:42:12.000000000 +0200 -@@ -81,6 +81,10 @@ - - .SS Globální přiřazení - -+BINDINGS:WFrame -+ -+.SS Přiřazení pro přesun/změnu velikosti -+ - BINDINGS:WScreen - - .SS Přiřazení pro práci s nejvyššími rámy a obrazovkami a jejich potomky -diff -Nur ion3-20061020.orig/man/ion3.fi.in ion3-20061020/man/ion3.fi.in ---- ion3-20061020.orig/man/ion3.fi.in 2006-10-20 17:43:36.000000000 +0200 -+++ ion3-20061020/man/ion3.fi.in 2006-10-23 20:42:12.000000000 +0200 -@@ -84,6 +84,10 @@ - - .SS Yleisesti saatavilla olevat sidonnat - -+BINDINGS:WFrame -+ -+.SS Siirto ja koonmuutostilan sidonnat -+ - BINDINGS:WScreen - - .SS Näytöillä tai ylimmän tason kehyksissä toimivat sidonnat -diff -Nur ion3-20061020.orig/man/ion3.in ion3-20061020/man/ion3.in ---- ion3-20061020.orig/man/ion3.in 2006-10-20 17:43:36.000000000 +0200 -+++ ion3-20061020/man/ion3.in 2006-10-23 20:42:12.000000000 +0200 -@@ -82,6 +82,10 @@ - - .SS Globally available bindings - -+BINDINGS:WFrame -+ -+.SS Move/resize mode bindings -+ - BINDINGS:WScreen - - .SS Bindings operating on top-level frames and screens and their children -diff -Nur ion3-20061020.orig/man/pwm3.cs.in ion3-20061020/man/pwm3.cs.in ---- ion3-20061020.orig/man/pwm3.cs.in 2006-10-20 17:43:36.000000000 +0200 -+++ ion3-20061020/man/pwm3.cs.in 2006-10-23 20:42:12.000000000 +0200 -@@ -56,6 +56,10 @@ - - .SS Globální přiřazení - -+BINDINGS:WFrame -+ -+.SS Přiřazení pro přesun/změnu velikosti -+ - BINDINGS:WScreen - - .".SS Přiřazení pro práci s rámy, obrazovkami a jejich potomky -@@ -64,10 +68,6 @@ - - .SS Přiřazení pro práci s rámy a jejich potomky - --BINDINGS:WFrame -- --.SS Přiřazení pro přesun/změnu velikosti -- - BINDINGS:WMoveresMode - - .SS Přiřazení pro plovoucí pracovní plochy [mod_floatws] -diff -Nur ion3-20061020.orig/man/pwm3.fi.in ion3-20061020/man/pwm3.fi.in ---- ion3-20061020.orig/man/pwm3.fi.in 2006-10-20 17:43:36.000000000 +0200 -+++ ion3-20061020/man/pwm3.fi.in 2006-10-23 20:42:12.000000000 +0200 -@@ -57,6 +57,10 @@ - - .SS Yleisesti saatavilla olevat sidonnat - -+BINDINGS:WFrame -+ -+.SS Siirto ja koonmuutostilan sidonnat -+ - BINDINGS:WScreen - - .\".SS Kehyksiä ja näyttöjä, sekä niiden lapsia käsittelevät sidonnat -@@ -65,10 +69,6 @@ - - .SS Kehyksiä, sekä niiden lapsia käsittelevät sidonnat - --BINDINGS:WFrame -- --.SS Siirto ja koonmuutostilan sidonnat -- - BINDINGS:WMoveresMode - - .SS Kelluvien työpöytien ja kehyksien sidonnat [mod_floatws] -diff -Nur ion3-20061020.orig/man/pwm3.in ion3-20061020/man/pwm3.in ---- ion3-20061020.orig/man/pwm3.in 2006-10-20 17:43:36.000000000 +0200 -+++ ion3-20061020/man/pwm3.in 2006-10-23 20:42:12.000000000 +0200 -@@ -57,6 +57,10 @@ - - .SS Globally available bindings - -+BINDINGS:WFrame -+ -+.SS Move/resize mode bindings -+ - BINDINGS:WScreen - - .".SS Bindings operating on both frames and screens and their children -@@ -65,10 +69,6 @@ - - .SS Bindings operating on frames and their children - --BINDINGS:WFrame -- --.SS Move/resize mode bindings -- - BINDINGS:WMoveresMode - - .SS Bindings for floating workspaces and frames [mod_floatws] diff --git a/ion3/files/20070506/200_all_fix_includes.patch b/ion3/files/20070506/200_all_fix_includes.patch deleted file mode 100644 index 19f7edc..0000000 --- a/ion3/files/20070506/200_all_fix_includes.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff -uNr ion-3rc-20070506.orig/ioncore/ioncore.c ion-3rc-20070506/ioncore/ioncore.c ---- ion-3rc-20070506.orig/ioncore/ioncore.c 2007-05-12 22:04:33.000000000 +0200 -+++ ion-3rc-20070506/ioncore/ioncore.c 2007-05-12 22:23:30.000000000 +0200 -@@ -11,6 +11,7 @@ - #include - #include - #include -+#include - #include - #include - #include -diff -uNr ion-3rc-20070506.orig/utils/ion-completefile/ion-completefile.c ion-3rc-20070506/utils/ion-completefile/ion-completefile.c ---- ion-3rc-20070506.orig/utils/ion-completefile/ion-completefile.c 2007-05-12 22:04:33.000000000 +0200 -+++ ion-3rc-20070506/utils/ion-completefile/ion-completefile.c 2007-05-12 22:05:13.000000000 +0200 -@@ -54,6 +54,7 @@ - - #include - #include -+#include - #include - #include - #include diff --git a/ion3/files/20070506/201_all_fix-paths.patch b/ion3/files/20070506/201_all_fix-paths.patch deleted file mode 100644 index 7f8f228..0000000 --- a/ion3/files/20070506/201_all_fix-paths.patch +++ /dev/null @@ -1,90 +0,0 @@ -diff -Nur ion-3ds-20060519.orig/system.mk ion-3ds-20060519/system.mk ---- ion-3ds-20060519.orig/system.mk 2006-05-18 18:06:53.000000000 -0500 -+++ ion-3ds-20060519/system.mk 2006-05-18 23:51:23.000000000 -0500 -@@ -7,7 +7,7 @@ - ## Installation paths - ## - --PREFIX=/usr/local -+PREFIX=/usr - - # Unless you are creating a package conforming to some OS's standards, you - # probably do not want to modify the following directories: -@@ -15,7 +15,7 @@ - # Main binaries - BINDIR=$(PREFIX)/bin - # Configuration .lua files --ETCDIR=$(PREFIX)/etc/ion3 -+ETCDIR=/etc/X11/ion3 - # Some .lua files and ion-* shell scripts - SHAREDIR=$(PREFIX)/share/ion3 - # Manual pages -@@ -27,11 +27,11 @@ - # Nothing at the moment - LIBDIR=$(PREFIX)/lib - # Modules --MODULEDIR=$(LIBDIR)/ion3/mod -+MODULEDIR=$(LIBDIR)/ion3/mod - # Compiled Lua source code - LCDIR=$(LIBDIR)/ion3/lc - # ion-completefile (does not belong in SHAREDIR being a binary file) --EXTRABINDIR=$(LIBDIR)/ion3/bin -+EXTRABINDIR=$(LIBDIR)/ion3/bin - # For ion-completeman system-wide cache - VARDIR=/var/cache/ion3 - # Message catalogs -@@ -56,18 +56,18 @@ - - # If you have installed Lua 5.1 from the official tarball without changing - # paths, this should do it. --LUA_DIR=/usr/local --LUA_LIBS = -L$(LUA_DIR)/lib -llua --LUA_INCLUDES = -I$(LUA_DIR)/include --LUA=$(LUA_DIR)/bin/lua --LUAC=$(LUA_DIR)/bin/luac -+#LUA_DIR=/usr/local -+#LUA_LIBS = -L$(LUA_DIR)/lib -llua -+#LUA_INCLUDES = -I$(LUA_DIR)/include -+#LUA=$(LUA_DIR)/bin/lua -+#LUAC=$(LUA_DIR)/bin/luac - - # If you are using the Debian packages, the following settings should be - # what you want. --#LUA_LIBS=`pkg-config --libs lua5.1` --#LUA_INCLUDES=`pkg-config --cflags lua5.1` --#LUA=`which lua5.1` --#LUAC=`which luac5.1` -+LUA_LIBS=`pkg-config --libs lua` -+LUA_INCLUDES=`pkg-config --cflags lua` -+LUA=`which lua` -+LUAC=`which luac` - - - ## -@@ -107,7 +107,7 @@ - # asprintf and vasprintf in the c library. (gnu libc has.) - # If HAS_SYSTEM_ASPRINTF is not defined, an implementation - # in sprintf_2.2/ is used. --#HAS_SYSTEM_ASPRINTF=1 -+HAS_SYSTEM_ASPRINTF=1 - - - # If you're on an archaic system (such as relatively recent *BSD releases) -@@ -144,14 +144,14 @@ - - #C89_SOURCE=-ansi - --#POSIX_SOURCE=-D_POSIX_SOURCE -+POSIX_SOURCE=-D_POSIX_SOURCE - - # Most systems --#XOPEN_SOURCE=-D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED -+XOPEN_SOURCE=-D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED - # SunOS, (Irix) - #XOPEN_SOURCE=-D__EXTENSIONS__ - --#C99_SOURCE=-std=c99 -DCF_HAS_VA_COPY -+C99_SOURCE=-std=c99 -DCF_HAS_VA_COPY - - # The -DCF_HAS_VA_COPY option should allow for some optimisations, and - # in some cases simply defining diff --git a/ion3/files/20070506/202_all_fix-menus.patch b/ion3/files/20070506/202_all_fix-menus.patch deleted file mode 100644 index c2d77c8..0000000 --- a/ion3/files/20070506/202_all_fix-menus.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -Naur ../work/ion-3ds-20061223/etc/cfg_ioncore.lua ion-3ds-20061223/etc/cfg_ioncore.lua ---- ../work/ion-3ds-20061223/etc/cfg_ioncore.lua 2006-12-23 17:59:43.000000000 +0300 -+++ ion-3ds-20061223/etc/cfg_ioncore.lua 2006-12-31 15:35:59.000000000 +0300 -@@ -331,7 +331,8 @@ - defmenu("mainmenu", { - menuentry("Run...", "mod_query.query_exec(_)"), - menuentry("Terminal", "ioncore.exec_on(_, XTERM or 'xterm')"), -- menuentry("Lock screen", "ioncore.exec_on(_, 'xlock')"), -+ menuentry("Lock screen", -+ "ioncore.exec_on(_, ioncore.lookup_script('ion-lock'))"), - menuentry("Help", "mod_query.query_man(_)"), - menuentry("About Ion", "mod_query.show_about_ion(_)"), - submenu("Styles", "stylemenu"), diff --git a/ion3/files/20070506/205_all_ion-lock.patch b/ion3/files/20070506/205_all_ion-lock.patch deleted file mode 100644 index dda2016..0000000 --- a/ion3/files/20070506/205_all_ion-lock.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff -Nur ion3-20050322.orig/utils/Makefile ion3-20050322/utils/Makefile ---- ion3-20050322.orig/utils/Makefile 2005-03-22 14:31:06.000000000 +0000 -+++ ion3-20050322/utils/Makefile 2005-03-22 16:29:37.197355881 +0000 -@@ -11,7 +11,7 @@ - SUBDIRS=ion-completefile - INSTALL_SUBDIRS=$(SUBDIRS) - --SHELLSCRIPTS = ion-runinxterm ion-completeman -+SHELLSCRIPTS = ion-runinxterm ion-completeman ion-lock - - TARGETS = ion-completeman - -diff -Nur ion3-20050322.orig/utils/ion-lock ion3-20050322/utils/ion-lock ---- ion3-20050322.orig/utils/ion-lock 1970-01-01 00:00:00.000000000 +0000 -+++ ion3-20050322/utils/ion-lock 2005-03-22 16:29:19.550092305 +0000 -@@ -0,0 +1,6 @@ -+#!/bin/sh -+if xscreensaver-command -version >/dev/null 2>&1; then -+ exec xscreensaver-command -lock -+else -+ exec xlock -+fi diff --git a/ion3/files/20070506/208_all_as-needed.patch b/ion3/files/20070506/208_all_as-needed.patch deleted file mode 100644 index 662a078..0000000 --- a/ion3/files/20070506/208_all_as-needed.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -uNr ion-3ds-20070318.orig/de/Makefile ion-3ds-20070318/de/Makefile ---- ion-3ds-20070318.orig/de/Makefile 2007-03-18 21:31:37.000000000 +0100 -+++ ion-3ds-20070318/de/Makefile 2007-04-30 17:30:23.000000000 +0200 -@@ -17,6 +17,8 @@ - - MAKE_EXPORTS=de - -+LDFLAGS+=-lXext -+ - ###################################### - - include $(TOPDIR)/build/rules.mk diff --git a/ion3/files/20070608/201_all_fix-paths.patch b/ion3/files/20070608/201_all_fix-paths.patch deleted file mode 100644 index a9cb080..0000000 --- a/ion3/files/20070608/201_all_fix-paths.patch +++ /dev/null @@ -1,76 +0,0 @@ -diff -uNr ion-3rc-20070608.orig/system.mk ion-3rc-20070608/system.mk ---- ion-3rc-20070608.orig/system.mk 2007-06-08 20:42:05.000000000 +0200 -+++ ion-3rc-20070608/system.mk 2007-06-08 20:47:39.000000000 +0200 -@@ -7,7 +7,7 @@ - ## Installation paths - ## - --PREFIX=/usr/local -+PREFIX=/usr - - # Unless you are creating a package conforming to some OS's standards, you - # probably do not want to modify the following directories: -@@ -15,7 +15,7 @@ - # Main binaries - BINDIR=$(PREFIX)/bin - # Configuration .lua files --ETCDIR=$(PREFIX)/etc/ion3 -+ETCDIR=/etc/X11/ion3 - # Some .lua files and ion-* shell scripts - SHAREDIR=$(PREFIX)/share/ion3 - # Manual pages -@@ -56,18 +56,18 @@ - - # If you have installed Lua 5.1 from the official tarball without changing - # paths, this should do it. --LUA_DIR=/usr/local --LUA_LIBS = -L$(LUA_DIR)/lib -llua --LUA_INCLUDES = -I$(LUA_DIR)/include --LUA=$(LUA_DIR)/bin/lua --LUAC=$(LUA_DIR)/bin/luac -+#LUA_DIR=/usr/local -+#LUA_LIBS = -L$(LUA_DIR)/lib -llua -+#LUA_INCLUDES = -I$(LUA_DIR)/include -+#LUA=$(LUA_DIR)/bin/lua -+#LUAC=$(LUA_DIR)/bin/luac - - # If you are using the Debian packages, the following settings should be - # what you want. --#LUA_LIBS=`pkg-config --libs lua5.1` --#LUA_INCLUDES=`pkg-config --cflags lua5.1` --#LUA=/usr/bin/lua5.1 --#LUAC=/usr/bin/luac5.1 -+LUA_LIBS=`pkg-config --libs lua` -+LUA_INCLUDES=`pkg-config --cflags lua` -+LUA=/usr/bin/lua -+LUAC=/usr/bin/luac - - - ## -@@ -104,7 +104,7 @@ - # asprintf and vasprintf in the c library. (gnu libc has.) - # If HAS_SYSTEM_ASPRINTF is not defined, an implementation - # in sprintf_2.2/ is used. --#HAS_SYSTEM_ASPRINTF=1 -+HAS_SYSTEM_ASPRINTF=1 - - # If you're on an archaic system (such as relatively recent *BSD releases) - # without even dummy multibyte/widechar and localisation support, you may -@@ -143,14 +143,14 @@ - - #C89_SOURCE=-ansi - --#POSIX_SOURCE=-D_POSIX_SOURCE -+POSIX_SOURCE=-D_POSIX_C_SOURCE=200112L - - # Most systems --#XOPEN_SOURCE=-D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED -+XOPEN_SOURCE=-D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED - # SunOS, (Irix) - #XOPEN_SOURCE=-D__EXTENSIONS__ - --#C99_SOURCE=-std=c99 -DCF_HAS_VA_COPY -+C99_SOURCE=-std=c99 -DCF_HAS_VA_COPY - - # The -DCF_HAS_VA_COPY option should allow for some optimisations, and - # in some cases simply defining diff --git a/ion3/files/20070608/202_all_fix-menus.patch b/ion3/files/20070608/202_all_fix-menus.patch deleted file mode 100644 index c2d77c8..0000000 --- a/ion3/files/20070608/202_all_fix-menus.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -Naur ../work/ion-3ds-20061223/etc/cfg_ioncore.lua ion-3ds-20061223/etc/cfg_ioncore.lua ---- ../work/ion-3ds-20061223/etc/cfg_ioncore.lua 2006-12-23 17:59:43.000000000 +0300 -+++ ion-3ds-20061223/etc/cfg_ioncore.lua 2006-12-31 15:35:59.000000000 +0300 -@@ -331,7 +331,8 @@ - defmenu("mainmenu", { - menuentry("Run...", "mod_query.query_exec(_)"), - menuentry("Terminal", "ioncore.exec_on(_, XTERM or 'xterm')"), -- menuentry("Lock screen", "ioncore.exec_on(_, 'xlock')"), -+ menuentry("Lock screen", -+ "ioncore.exec_on(_, ioncore.lookup_script('ion-lock'))"), - menuentry("Help", "mod_query.query_man(_)"), - menuentry("About Ion", "mod_query.show_about_ion(_)"), - submenu("Styles", "stylemenu"), diff --git a/ion3/files/20070608/205_all_ion-lock.patch b/ion3/files/20070608/205_all_ion-lock.patch deleted file mode 100644 index dda2016..0000000 --- a/ion3/files/20070608/205_all_ion-lock.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff -Nur ion3-20050322.orig/utils/Makefile ion3-20050322/utils/Makefile ---- ion3-20050322.orig/utils/Makefile 2005-03-22 14:31:06.000000000 +0000 -+++ ion3-20050322/utils/Makefile 2005-03-22 16:29:37.197355881 +0000 -@@ -11,7 +11,7 @@ - SUBDIRS=ion-completefile - INSTALL_SUBDIRS=$(SUBDIRS) - --SHELLSCRIPTS = ion-runinxterm ion-completeman -+SHELLSCRIPTS = ion-runinxterm ion-completeman ion-lock - - TARGETS = ion-completeman - -diff -Nur ion3-20050322.orig/utils/ion-lock ion3-20050322/utils/ion-lock ---- ion3-20050322.orig/utils/ion-lock 1970-01-01 00:00:00.000000000 +0000 -+++ ion3-20050322/utils/ion-lock 2005-03-22 16:29:19.550092305 +0000 -@@ -0,0 +1,6 @@ -+#!/bin/sh -+if xscreensaver-command -version >/dev/null 2>&1; then -+ exec xscreensaver-command -lock -+else -+ exec xlock -+fi diff --git a/ion3/files/20070608/208_all_as-needed.patch b/ion3/files/20070608/208_all_as-needed.patch deleted file mode 100644 index 662a078..0000000 --- a/ion3/files/20070608/208_all_as-needed.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -uNr ion-3ds-20070318.orig/de/Makefile ion-3ds-20070318/de/Makefile ---- ion-3ds-20070318.orig/de/Makefile 2007-03-18 21:31:37.000000000 +0100 -+++ ion-3ds-20070318/de/Makefile 2007-04-30 17:30:23.000000000 +0200 -@@ -17,6 +17,8 @@ - - MAKE_EXPORTS=de - -+LDFLAGS+=-lXext -+ - ###################################### - - include $(TOPDIR)/build/rules.mk diff --git a/ion3/files/digest-ion3-20060326 b/ion3/files/digest-ion3-20060326 deleted file mode 100644 index 1b1ac52..0000000 --- a/ion3/files/digest-ion3-20060326 +++ /dev/null @@ -1,3 +0,0 @@ -MD5 3d5628d4efe93f2de804cf5b01abc743 ion-3ds-20060326.tar.gz 617533 -RMD160 147e6ad20c69ca8fe5a80dcd57ce6002a2b3cde1 ion-3ds-20060326.tar.gz 617533 -SHA256 9f3c96c961e47c61e9c10b57de820b608b9d9fdaa43a893e63499b3f17231124 ion-3ds-20060326.tar.gz 617533 diff --git a/ion3/files/digest-ion3-20061223 b/ion3/files/digest-ion3-20061223 deleted file mode 100644 index 1de1302..0000000 --- a/ion3/files/digest-ion3-20061223 +++ /dev/null @@ -1,15 +0,0 @@ -MD5 861887705546ddb5f240f10dbdab5098 ion-3ds-20061223.tar.gz 649463 -RMD160 dc61a012354a30f1a83b8b0970b8c09724ea4c9c ion-3ds-20061223.tar.gz 649463 -SHA256 0970fef74de659de45813471560ebe2f97b893de7a238ea00755fcaeb9b7d89e ion-3ds-20061223.tar.gz 649463 -MD5 3133bab28e984dd568e03e4e3fd0cdd7 ion3-mod-ionflux_20061022.orig.tar.gz 14847 -RMD160 86bcc2a260f3e37d613bcebd66f37616e56d3926 ion3-mod-ionflux_20061022.orig.tar.gz 14847 -SHA256 f9fd872d2d5b35f882d9a9161dee52fd5b2bb346c46f9e6cc30922dcda99c935 ion3-mod-ionflux_20061022.orig.tar.gz 14847 -MD5 454d6eb52c2c7c3622582a97e8e89184 ion3-mod-xrandr-20061021.tar.bz2 10762 -RMD160 cca3f472e32b8aff1ce8af123c24e17574c1b197 ion3-mod-xrandr-20061021.tar.bz2 10762 -SHA256 cd2225a356ddfc6f02062bf23c1e90fa573661347ff185316aeae0e18eee72ef ion3-mod-xrandr-20061021.tar.bz2 10762 -MD5 fd5c13cd038464cab15134e3aaa68617 ion3-scripts_20061214.orig.tar.gz 129181 -RMD160 b22827c490f23252c1953582d24a19a5aa0aaed0 ion3-scripts_20061214.orig.tar.gz 129181 -SHA256 82e25973fcfdd282bdb3734191f8a5b0d711b2bf0cb64196d3b42351185fdbcf ion3-scripts_20061214.orig.tar.gz 129181 -MD5 83a2a2a19cb3faed66b5517e31bee17f xft-ion3-for-darcs-20061202.diff 20126 -RMD160 054efa097492531d800bca85582d5b6836567408 xft-ion3-for-darcs-20061202.diff 20126 -SHA256 6af98c329395acb46ddbdac4f0ba023c6e5344914cc06cdfa82339526ce25b3c xft-ion3-for-darcs-20061202.diff 20126 diff --git a/ion3/files/digest-ion3-20070506-r1 b/ion3/files/digest-ion3-20070506-r1 deleted file mode 100644 index bfefeec..0000000 --- a/ion3/files/digest-ion3-20070506-r1 +++ /dev/null @@ -1,15 +0,0 @@ -MD5 c005ebeb89894eefbb414897d874cee6 ion-3rc-20070506.tar.gz 640482 -RMD160 b5dda6a7a48c1f3d433b2a2b1c37294ece79a259 ion-3rc-20070506.tar.gz 640482 -SHA256 850dce3bd1be5d200fda5ba3e6085f397b35c720f7758dc5481bf503fe5d2f56 ion-3rc-20070506.tar.gz 640482 -MD5 45dc4b83f2badbade8389953b3c49da7 ion-doc-3rc-20070506.tar.gz 669471 -RMD160 aa9e75b60c121d3cd62f60afed4592fe1bc0da87 ion-doc-3rc-20070506.tar.gz 669471 -SHA256 9dac4f5e69121b98cf6e5da455d6185f00605cf237f14fc4f8578446f622476e ion-doc-3rc-20070506.tar.gz 669471 -MD5 c8c2d7b039f751db017275f5f977702e ion3-mod-ionflux-20070512.tar.bz2 12770 -RMD160 8e834de0c3048b676bc5c5d5454aedac09129eb3 ion3-mod-ionflux-20070512.tar.bz2 12770 -SHA256 63c4902159923aa02921e39aa7746ca8819ba1c216efa8fa6384fd093f60d18c ion3-mod-ionflux-20070512.tar.bz2 12770 -MD5 dcb17665b215d0891be40392f57197c1 ion3-mod-xrandr-20070410.tar.bz2 10833 -RMD160 8542c0dfebfd1536e6a1ad89a3b791609ca8f16e ion3-mod-xrandr-20070410.tar.bz2 10833 -SHA256 80f23a435b21f8691fc63b78394fa29b25b5304f46895dd961ac905bcc76c82f ion3-mod-xrandr-20070410.tar.bz2 10833 -MD5 33495ed87edd9c5734a1c413847a3b3d ion3-scripts-20070510.tar.bz2 100952 -RMD160 4ac0fff86a039d5890bd934d80c33bb5a78fb02d ion3-scripts-20070510.tar.bz2 100952 -SHA256 53c4705ab6f880404aae92cef3018a956ee1b55d0e22ef93c12d30527a419a61 ion3-scripts-20070510.tar.bz2 100952 diff --git a/ion3/files/digest-ion3-20070608 b/ion3/files/digest-ion3-20070608 deleted file mode 100644 index 0afc069..0000000 --- a/ion3/files/digest-ion3-20070608 +++ /dev/null @@ -1,6 +0,0 @@ -MD5 ba02edff5d4726104f98fa70b6cd96d8 ion-3rc-20070608.tar.gz 655442 -RMD160 41fd6d581e27770e63f7bc66122684d8c11667f2 ion-3rc-20070608.tar.gz 655442 -SHA256 1ebad89f61c3ac58bd583cfe3a0cb71c5254679a9f35f46d954d6e72eada86e8 ion-3rc-20070608.tar.gz 655442 -MD5 45dc4b83f2badbade8389953b3c49da7 ion-doc-3rc-20070506.tar.gz 669471 -RMD160 aa9e75b60c121d3cd62f60afed4592fe1bc0da87 ion-doc-3rc-20070506.tar.gz 669471 -SHA256 9dac4f5e69121b98cf6e5da455d6185f00605cf237f14fc4f8578446f622476e ion-doc-3rc-20070506.tar.gz 669471 diff --git a/ion3/files/ion3-20060317-truetype.patch b/ion3/files/ion3-20060317-truetype.patch deleted file mode 100644 index 2675dfd..0000000 --- a/ion3/files/ion3-20060317-truetype.patch +++ /dev/null @@ -1,741 +0,0 @@ -diff -Naur ion-3ds-20060317/configure.ac ion-3ds/configure.ac ---- ion-3ds-20060317/configure.ac 2006-03-17 20:43:29.000000000 +0100 -+++ ion-3ds/configure.ac 2006-03-17 23:17:45.000000000 +0100 -@@ -420,6 +420,18 @@ - - dnl }}} - -+AC_ARG_ENABLE([xft], -+ [AS_HELP_STRING([--disable-xft], -+ [Disable XFT Support])]) -+ -+if test "x$enable_xft" != xno; then -+ XFT_CFLAGS=`xft-config --cflags` -+ XFT_CFLAGS="${XFT_CFLAGS} -DXFT" -+ XFT_LIBS=`xft-config --libs` -+fi -+ -+AC_SUBST([XFT_CFLAGS]) -+AC_SUBST([XFT_LIBS]) - - AC_OUTPUT([system-ac.mk]) - -diff -Naur ion-3ds-20060317/de/brush.c ion-3ds/de/brush.c ---- ion-3ds-20060317/de/brush.c 2006-03-17 20:43:04.000000000 +0100 -+++ ion-3ds/de/brush.c 2006-03-17 23:17:45.000000000 +0100 -@@ -37,7 +37,9 @@ - brush->indicator_w=0; - brush->win=win; - brush->clip_set=FALSE; -- -+#ifdef XFT -+ brush->draw=NULL; -+#endif /* XFT */ - style->usecount++; - - if(!grbrush_init(&(brush->grbrush))){ -@@ -65,7 +67,6 @@ - CREATEOBJ_IMPL(DEBrush, debrush, (p, win, stylename, style)); - } - -- - static DEBrush *do_get_brush(Window win, WRootWin *rootwin, - const char *stylename, bool slave) - { -@@ -104,6 +105,10 @@ - { - destyle_unref(brush->d); - brush->d=NULL; -+#ifdef XFT -+ if(brush->draw!=NULL) -+ XftDrawDestroy(brush->draw); -+#endif /* XFT */ - grbrush_deinit(&(brush->grbrush)); - } - -@@ -114,6 +119,21 @@ - } - - -+#ifdef XFT -+XftDraw *debrush_get_draw(DEBrush *brush, Drawable d) -+{ -+ if(brush->draw==NULL) -+ brush->draw=XftDrawCreate(ioncore_g.dpy, d, -+ XftDEDefaultVisual(), -+ DefaultColormap(ioncore_g.dpy, -+ 0)); -+ else -+ XftDrawChange(brush->draw, d); -+ -+ return brush->draw; -+} -+#endif -+ - /*}}}*/ - - -diff -Naur ion-3ds-20060317/de/brush.h ion-3ds/de/brush.h ---- ion-3ds-20060317/de/brush.h 2006-03-17 20:43:04.000000000 +0100 -+++ ion-3ds/de/brush.h 2006-03-17 23:17:45.000000000 +0100 -@@ -17,6 +17,9 @@ - #include - #include - #include -+#ifdef XFT -+#include -+#endif /* XFT */ - - INTRCLASS(DEBrush); - -@@ -34,6 +37,9 @@ - DECLCLASS(DEBrush){ - GrBrush grbrush; - DEStyle *d; -+#ifdef XFT -+ XftDraw *draw; -+#endif - DEBrushExtrasFn *extras_fn; - int indicator_w; - Window win; -@@ -104,5 +110,8 @@ - const char *attr); - extern void debrush_clear_area(DEBrush *brush, const WRectangle *geom); - -+#ifdef XFT -+XftDraw *debrush_get_draw(DEBrush *brush, Drawable d); -+#endif - - #endif /* ION_DE_BRUSH_H */ -diff -Naur ion-3ds-20060317/de/colour.c ion-3ds/de/colour.c ---- ion-3ds-20060317/de/colour.c 2006-03-17 20:43:04.000000000 +0100 -+++ ion-3ds/de/colour.c 2006-03-17 23:17:45.000000000 +0100 -@@ -12,12 +12,23 @@ - #include - #include "colour.h" - -- - bool de_alloc_colour(WRootWin *rootwin, DEColour *ret, const char *name) - { -+#ifndef XFT - XColor c; - bool ok=FALSE; -+#else /* XFT */ -+ if(name==NULL) -+ return FALSE; -+ return XftColorAllocName( -+ ioncore_g.dpy, -+ XftDEDefaultVisual(), -+ rootwin->default_cmap, -+ name, -+ ret); -+#endif /* XFT */ - -+#ifndef XFT - if(name==NULL) - return FALSE; - -@@ -28,11 +39,13 @@ - } - - return ok; -+#endif /* ! XFT */ - } - - - bool de_duplicate_colour(WRootWin *rootwin, DEColour in, DEColour *out) - { -+#ifndef XFT - XColor c; - c.pixel=in; - XQueryColor(ioncore_g.dpy, rootwin->default_cmap, &c); -@@ -41,11 +54,20 @@ - return TRUE; - } - return FALSE; -+#else /* XFT */ -+ return XftColorAllocName( -+ ioncore_g.dpy, -+ XftDEDefaultVisual(), -+ rootwin->default_cmap, -+ &(in.color), -+ out); -+#endif /* XFT */ - } - - - void de_free_colour_group(WRootWin *rootwin, DEColourGroup *cg) - { -+#ifndef XFT - DEColour pixels[5]; - - pixels[0]=cg->bg; -@@ -60,15 +82,26 @@ - free(cg->spec); - cg->spec=NULL; - } -+#else /* XFT */ -+ 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); -+#endif /* XFT */ - } - - - void de_free_colour(WRootWin *rootwin, DEColour col) - { -+#ifndef XFT - DEColour pixels[1]; - - pixels[0]=col; - - XFreeColors(ioncore_g.dpy, rootwin->default_cmap, pixels, 1, 0); -+#else /* XFT */ -+ XftColorFree(ioncore_g.dpy, XftDEDefaultVisual(), rootwin->default_cmap, &col); -+#endif /* XFT */ - } - -diff -Naur ion-3ds-20060317/de/colour.h ion-3ds/de/colour.h ---- ion-3ds-20060317/de/colour.h 2006-03-17 20:43:04.000000000 +0100 -+++ ion-3ds/de/colour.h 2006-03-17 23:17:45.000000000 +0100 -@@ -15,12 +15,19 @@ - #include - #include - #include -+#ifdef XFT -+#include -+#endif /* XFT */ - - - INTRSTRUCT(DEColourGroup); - - -+#ifndef XFT - typedef unsigned long DEColour; -+#else /* XFT */ -+typedef XftColor DEColour; -+#endif /* XFT */ - - - DECLSTRUCT(DEColourGroup){ -@@ -37,5 +44,6 @@ - bool de_duplicate_colour(WRootWin *rootwin, DEColour in, DEColour *out); - void de_free_colour_group(WRootWin *rootwin, DEColourGroup *cg); - void de_free_colour(WRootWin *rootwin, DEColour col); -+#define XftDEDefaultVisual() DefaultVisual(ioncore_g.dpy, 0) - - #endif /* ION_DE_COLOUR_H */ -diff -Naur ion-3ds-20060317/de/draw.c ion-3ds/de/draw.c ---- ion-3ds-20060317/de/draw.c 2006-03-17 20:43:04.000000000 +0100 -+++ ion-3ds/de/draw.c 2006-03-17 23:17:45.000000000 +0100 -@@ -79,7 +79,11 @@ - w--; - h--; - -+#ifndef XFT - XSetForeground(ioncore_g.dpy, gc, tlc); -+#else /* XFT */ -+ XSetForeground(ioncore_g.dpy, gc, tlc.pixel); -+#endif /* XFT */ - - - a=(br!=0); -@@ -99,7 +103,11 @@ - } - - -+#ifndef XFT - XSetForeground(ioncore_g.dpy, gc, brc); -+#else /* XFT */ -+ XSetForeground(ioncore_g.dpy, gc, brc.pixel); -+#endif /* XFT */ - - a=(tl!=0); - b=0; -@@ -174,19 +182,35 @@ - GrBorderLine line) - { - if(line==GR_BORDERLINE_LEFT && geom->h>0){ -+#ifndef XFT - XSetForeground(ioncore_g.dpy, gc, tlc); -+#else /* XFT */ -+ XSetForeground(ioncore_g.dpy, gc, tlc.pixel); -+#endif /* XFT */ - XDrawRectangle(ioncore_g.dpy, win, gc, geom->x, geom->y, tl, geom->h); - geom->x+=tl; - }else if(line==GR_BORDERLINE_TOP && geom->w>0){ -+#ifndef XFT - XSetForeground(ioncore_g.dpy, gc, tlc); -+#else /* XFT */ -+ XSetForeground(ioncore_g.dpy, gc, tlc.pixel); -+#endif /* XFT */ - XDrawRectangle(ioncore_g.dpy, win, gc, geom->x, geom->y, geom->w, tl); - geom->y+=tl; - }else if(line==GR_BORDERLINE_RIGHT && geom->h>0){ -+#ifndef XFT - XSetForeground(ioncore_g.dpy, gc, brc); -+#else /* XFT */ -+ XSetForeground(ioncore_g.dpy, gc, brc.pixel); -+#endif /* XFT */ - XDrawRectangle(ioncore_g.dpy, win, gc, geom->x+geom->w-1-br, geom->y, br, geom->h); - geom->w-=br; - }else if(line==GR_BORDERLINE_BOTTOM && geom->w>0){ -+#ifndef XFT - XSetForeground(ioncore_g.dpy, gc, brc); -+#else /* XFT */ -+ XSetForeground(ioncore_g.dpy, gc, brc.pixel); -+#endif /* XFT */ - XDrawRectangle(ioncore_g.dpy, win, gc, geom->x, geom->y+geom->h-1-br, geom->w, br); - geom->h-=br; - } -@@ -276,7 +300,11 @@ - } - - if(MATCHES2("*-*-tagged", a1, a2)){ -+#ifndef XFT - XSetForeground(ioncore_g.dpy, d->copy_gc, cg->fg); -+#else /* XFT */ -+ XSetForeground(ioncore_g.dpy, d->copy_gc, cg->fg.pixel); -+#endif /* XFT */ - - copy_masked(brush, d->tag_pixmap, brush->win, 0, 0, - d->tag_pixmap_w, d->tag_pixmap_h, -@@ -326,7 +354,11 @@ - GC gc=brush->d->normal_gc; - - if(TRUE/*needfill*/){ -+#ifndef XFT - XSetForeground(ioncore_g.dpy, gc, cg->bg); -+#else /* XFT */ -+ XSetForeground(ioncore_g.dpy, gc, cg->bg.pixel); -+#endif /* XFT */ - XFillRectangle(ioncore_g.dpy, brush->win, gc, geom->x, geom->y, - geom->w, geom->h); - } -@@ -468,7 +500,11 @@ - attr.background_pixmap=ParentRelative; - }else{ - attrflags=CWBackPixel; -+#ifndef XFT - attr.background_pixel=brush->d->cgrp.bg; -+#else /* XFT */ -+ attr.background_pixel=brush->d->cgrp.bg.pixel; -+#endif /* XFT */ - } - - XChangeWindowAttributes(ioncore_g.dpy, brush->win, attrflags, &attr); -@@ -484,7 +520,11 @@ - if(cg==NULL) - return; - -+#ifndef XFT - XSetForeground(ioncore_g.dpy, gc, cg->bg); -+#else /* XFT */ -+ XSetForeground(ioncore_g.dpy, gc, cg->bg.pixel); -+#endif /* XFT */ - XFillRectangle(ioncore_g.dpy, brush->win, gc, - geom->x, geom->y, geom->w, geom->h); - } -diff -Naur ion-3ds-20060317/de/font.c ion-3ds/de/font.c ---- ion-3ds-20060317/de/font.c 2006-03-17 20:43:04.000000000 +0100 -+++ ion-3ds/de/font.c 2006-03-17 23:17:45.000000000 +0100 -@@ -14,7 +14,9 @@ - #include - #include - #include "font.h" -+#ifndef XFT - #include "fontset.h" -+#endif /* ! XFT */ - #include "brush.h" - - -@@ -26,10 +28,13 @@ - - DEFont *de_load_font(const char *fontname) - { -+#ifdef XFT -+ XftFont *font; -+#endif - DEFont *fnt; - XFontSet fontset=NULL; - XFontStruct *fontstruct=NULL; -- -+ - assert(fontname!=NULL); - - /* There shouldn't be that many fonts... */ -@@ -40,6 +45,7 @@ - } - } - -+#ifndef XFT - if(ioncore_g.use_mb){ - fontset=de_create_font_set(fontname); - if(fontset!=NULL){ -@@ -66,13 +72,34 @@ - return NULL; - } - -+#else /* XFT */ -+ if(strncmp(fontname, "xft:", 4)==0){ -+ font=XftFontOpenName(ioncore_g.dpy, DefaultScreen(ioncore_g.dpy), -+ fontname+4); -+ }else{ -+ font=XftFontOpenXlfd(ioncore_g.dpy, DefaultScreen(ioncore_g.dpy), fontname); -+ } -+ -+ if(font==NULL){ -+ if(strcmp(fontname, CF_FALLBACK_FONT_NAME)!=0){ -+ warn(TR("Could not load font \"%s\", trying \"%s\""), -+ fontname, CF_FALLBACK_FONT_NAME); -+ return de_load_font(CF_FALLBACK_FONT_NAME); -+ } -+ return NULL; -+ } -+#endif /* XFT */ - fnt=ALLOC(DEFont); - - if(fnt==NULL) -- return NULL; -+ return NULL; - -+#ifndef XFT - fnt->fontset=fontset; - fnt->fontstruct=fontstruct; -+#else -+ fnt->font=font; -+#endif - fnt->pattern=scopy(fontname); - fnt->next=NULL; - fnt->prev=NULL; -@@ -92,11 +119,13 @@ - style->font=font; - font->refcount++; - -+#ifndef XFT - if(style->font->fontstruct!=NULL){ - XSetFont(ioncore_g.dpy, style->normal_gc, - style->font->fontstruct->fid); - } - -+#endif /* ! XFT */ - return TRUE; - } - -@@ -111,11 +140,13 @@ - if(style->font==NULL) - return FALSE; - -+#ifndef XFT - if(style->font->fontstruct!=NULL){ - XSetFont(ioncore_g.dpy, style->normal_gc, - style->font->fontstruct->fid); - } - -+#endif /* ! XFT */ - return TRUE; - } - -@@ -125,13 +156,17 @@ - if(--font->refcount!=0) - return; - -+#ifndef XFT - if(font->fontset!=NULL) - XFreeFontSet(ioncore_g.dpy, font->fontset); - if(font->fontstruct!=NULL) - XFreeFont(ioncore_g.dpy, font->fontstruct); -+#else /* XFT */ -+ if(font->font!=NULL) -+ XftFontClose(ioncore_g.dpy, font->font); -+#endif /* XFT */ - if(font->pattern!=NULL) -- free(font->pattern); -- -+ free(font->pattern); - UNLINK_ITEM(fonts, font, next, prev); - free(font); - } -@@ -156,6 +191,7 @@ - - void defont_get_font_extents(DEFont *font, GrFontExtents *fnte) - { -+#ifndef XFT - if(font->fontset!=NULL){ - XFontSetExtents *ext=XExtentsOfFontSet(font->fontset); - if(ext==NULL) -@@ -171,7 +207,14 @@ - fnte->baseline=fnt->ascent; - return; - } -- -+#else /* XFT */ -+ 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; -+ } -+#endif /* XFT */ - fail: - DE_RESET_FONT_EXTENTS(fnte); - } -@@ -188,20 +231,35 @@ - - uint defont_get_text_width(DEFont *font, const char *text, uint len) - { -+#ifndef XFT - if(font->fontset!=NULL){ - XRectangle lext; - #ifdef CF_DE_USE_XUTF8 -- if(ioncore_g.enc_utf8) -- Xutf8TextExtents(font->fontset, text, len, NULL, &lext); -- else -+ if(ioncore_g.enc_utf8) -+ Xutf8TextExtents(font->fontset, text, len, NULL, &lext); -+ else - #endif -- XmbTextExtents(font->fontset, text, len, NULL, &lext); -- return lext.width; -+ XmbTextExtents(font->fontset, text, len, NULL, &lext); -+ return lext.width; - }else if(font->fontstruct!=NULL){ - return XTextWidth(font->fontstruct, text, len); - }else{ - return 0; - } -+#else /* XFT */ -+ if(font->font!=NULL){ -+ XGlyphInfo extents; -+ if(ioncore_g.enc_utf8) -+ XftTextExtentsUtf8(ioncore_g.dpy, font->font, (XftChar8 *)text, len, -+ &extents); -+ else -+ XftTextExtents8(ioncore_g.dpy, font->font, (XftChar8 *)text, len, -+ &extents); -+ return extents.xOff; -+ }else{ -+ return 0; -+ } -+#endif /* XFT */ - } - - -@@ -211,6 +269,7 @@ - /*{{{ String drawing */ - - -+#ifndef XFT - void debrush_do_draw_string_default(DEBrush *brush, int x, int y, - const char *str, int len, bool needfill, - DEColourGroup *colours) -@@ -256,6 +315,41 @@ - } - } - -+#else /* XFT */ -+void debrush_do_draw_string_default(DEBrush *brush, -+ int x, int y, const char *str, -+ int len, bool needfill, -+ DEColourGroup *colours) -+{ -+ Window win = brush->win; -+ GC gc=brush->d->normal_gc; -+ XftDraw *draw; -+ XftFont *font; -+ -+ if(brush->d->font==NULL) -+ return; -+ -+ font=brush->d->font->font; -+ draw=debrush_get_draw(brush, win); -+ -+ if(TRUE/*needfill*/){ -+ XGlyphInfo extents; -+ if(ioncore_g.enc_utf8) -+ XftTextExtentsUtf8(ioncore_g.dpy, font, (XftChar8 *)str, len, -+ &extents); -+ else -+ XftTextExtents8(ioncore_g.dpy, font, (XftChar8 *)str, len, &extents); -+ XftDrawRect(draw, &(colours->bg), x-extents.x, y-extents.y, -+ extents.width, extents.height); -+ } -+ -+ if(ioncore_g.enc_utf8) -+ XftDrawStringUtf8(draw, &(colours->fg), font, x, y, (XftChar8 *)str, -+ len); -+ else -+ XftDrawString8(draw, &(colours->fg), font, x, y, (XftChar8 *)str, len); -+} -+#endif /* XFT */ - - void debrush_do_draw_string(DEBrush *brush, int x, int y, - const char *str, int len, bool needfill, -diff -Naur ion-3ds-20060317/de/font.h ion-3ds/de/font.h ---- ion-3ds-20060317/de/font.h 2006-03-17 20:43:04.000000000 +0100 -+++ ion-3ds/de/font.h 2006-03-17 23:17:45.000000000 +0100 -@@ -14,6 +14,9 @@ - - #include - #include -+#ifdef XFT -+#include -+#endif /* XFT */ - - INTRSTRUCT(DEFont); - -@@ -29,6 +32,9 @@ - int refcount; - XFontSet fontset; - XFontStruct *fontstruct; -+#ifdef XFT /* XFT */ -+ XftFont *font; -+#endif /* XFT */ - DEFont *next, *prev; - }; - -diff -Naur ion-3ds-20060317/de/init.c ion-3ds/de/init.c ---- ion-3ds-20060317/de/init.c 2006-03-17 20:43:04.000000000 +0100 -+++ ion-3ds/de/init.c 2006-03-17 23:17:45.000000000 +0100 -@@ -113,16 +113,19 @@ - void de_get_colour_group(WRootWin *rootwin, DEColourGroup *cg, - ExtlTab tab, DEStyle *based_on) - { -- de_get_colour(rootwin, &(cg->hl), tab, based_on, "highlight_colour", -- DE_WHITE(rootwin)); -- de_get_colour(rootwin, &(cg->sh), tab, based_on, "shadow_colour", -- DE_WHITE(rootwin)); -- de_get_colour(rootwin, &(cg->bg), tab, based_on, "background_colour", -- DE_BLACK(rootwin)); -- de_get_colour(rootwin, &(cg->fg), tab, based_on, "foreground_colour", -- DE_WHITE(rootwin)); -- de_get_colour(rootwin, &(cg->pad), tab, based_on, "padding_colour", -- cg->bg); -+ DEColour black, white; -+#ifdef XFT -+ de_alloc_colour(rootwin, &black, "black"); -+ de_alloc_colour(rootwin, &white, "white"); -+#else -+ black=DE_BLACK(rootwin); -+ white=DE_WHITE(rootwin); -+#endif -+ de_get_colour(rootwin, &(cg->hl), tab, based_on, "highlight_colour", white); -+ de_get_colour(rootwin, &(cg->sh), tab, based_on, "shadow_colour", white); -+ de_get_colour(rootwin, &(cg->bg), tab, based_on, "background_colour", black); -+ de_get_colour(rootwin, &(cg->fg), tab, based_on, "foreground_colour", white); -+ de_get_colour(rootwin, &(cg->pad), tab, based_on, "padding_colour", cg->bg); - } - - -@@ -329,7 +332,6 @@ - - char de_ion_api_version[]=ION_API_VERSION; - -- - bool de_init() - { - WRootWin *rootwin; -diff -Naur ion-3ds-20060317/de/Makefile ion-3ds/de/Makefile ---- ion-3ds-20060317/de/Makefile 2006-03-17 20:43:01.000000000 +0100 -+++ ion-3ds/de/Makefile 2006-03-17 23:17:45.000000000 +0100 -@@ -8,13 +8,12 @@ - - ###################################### - -+ - INCLUDES += $(X11_INCLUDES) $(LIBTU_INCLUDES) $(LIBEXTL_INCLUDES) -I.. - CFLAGS += $(XOPEN_SOURCE) $(C99_SOURCE) - - SOURCES=init.c draw.c font.c colour.c brush.c fontset.c style.c -- - MODULE=de -- - MAKE_EXPORTS=de - - ###################################### -diff -Naur ion-3ds-20060317/de/style.c ion-3ds/de/style.c ---- ion-3ds-20060317/de/style.c 2006-03-17 20:43:04.000000000 +0100 -+++ ion-3ds/de/style.c 2006-03-17 23:17:45.000000000 +0100 -@@ -74,10 +74,17 @@ - /*gcv.function=GXclear;*/ - gcv.stipple=stipple_pixmap; - gcvmask=GCFillStyle|GCStipple/*|GCFunction*/; -+#ifndef XFT - if(style->font!=NULL && style->font->fontstruct!=NULL){ - gcv.font=style->font->fontstruct->fid; - gcvmask|=GCFont; - } -+#else /* XFT */ -+// if(style->font!=NULL){ -+// gcv.font=style->font; -+// gcvmask|=GCFont; -+// } -+#endif /* XFT */ - - style->stipple_gc=XCreateGC(dpy, root, gcvmask, &gcv); - XCopyGC(dpy, style->normal_gc, -@@ -206,6 +213,14 @@ - - bool destyle_init(DEStyle *style, WRootWin *rootwin, const char *name) - { -+ DEColour black, white; -+#ifdef XFT -+ de_alloc_colour(rootwin, &black, "black"); -+ de_alloc_colour(rootwin, &white, "white"); -+#else -+ black=DE_BLACK(rootwin); -+ white=DE_WHITE(rootwin); -+#endif /* XFT */ - style->style=scopy(name); - if(style->style==NULL) - return FALSE; -@@ -229,11 +244,11 @@ - - 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); -+ style->cgrp.bg=black; -+ style->cgrp.pad=black; -+ style->cgrp.fg=white; -+ style->cgrp.hl=white; -+ style->cgrp.sh=white; - - style->font=NULL; - -@@ -255,7 +270,7 @@ - static DEStyle *do_create_style(WRootWin *rootwin, const char *name) - { - DEStyle *style=ALLOC(DEStyle); -- if(style!=NULL){ -+ if(style!=NULL) { - if(!destyle_init(style, rootwin, name)){ - free(style); - return NULL; -diff -Naur ion-3ds-20060317/de/style.h ion-3ds/de/style.h ---- ion-3ds-20060317/de/style.h 2006-03-17 20:43:04.000000000 +0100 -+++ ion-3ds/de/style.h 2006-03-17 23:17:45.000000000 +0100 -@@ -76,6 +76,7 @@ - Pixmap tag_pixmap; - int tag_pixmap_w; - int tag_pixmap_h; -+ int xft_style; - - DEStyle *next, *prev; - }; -diff -Naur ion-3ds-20060317/system-ac.mk.in ion-3ds/system-ac.mk.in ---- ion-3ds-20060317/system-ac.mk.in 2006-03-17 20:43:03.000000000 +0100 -+++ ion-3ds/system-ac.mk.in 2006-03-17 23:17:45.000000000 +0100 -@@ -188,3 +188,7 @@ - STRIP=@STRIP@ - - RM=rm -+ -+### XFT Support -+CFLAGS+=@XFT_CFLAGS@ -+LIBS+=@XFT_LIBS@ diff --git a/ion3/files/ion3-20060326-truetype.patch b/ion3/files/ion3-20060326-truetype.patch deleted file mode 100644 index ea94577..0000000 --- a/ion3/files/ion3-20060326-truetype.patch +++ /dev/null @@ -1,741 +0,0 @@ -diff -Naur ion-3ds-20060326/configure.ac ion-3ds/configure.ac ---- ion-3ds-20060326/configure.ac 2006-03-26 11:37:58.000000000 +0200 -+++ ion-3ds/configure.ac 2006-04-06 10:08:37.000000000 +0200 -@@ -420,6 +420,18 @@ - - dnl }}} - -+AC_ARG_ENABLE([xft], -+ [AS_HELP_STRING([--disable-xft], -+ [Disable XFT Support])]) -+ -+if test "x$enable_xft" != xno; then -+ XFT_CFLAGS=`xft-config --cflags` -+ XFT_CFLAGS="${XFT_CFLAGS} -DXFT" -+ XFT_LIBS=`xft-config --libs` -+fi -+ -+AC_SUBST([XFT_CFLAGS]) -+AC_SUBST([XFT_LIBS]) - - AC_OUTPUT([system-ac.mk]) - -diff -Naur ion-3ds-20060326/de/brush.c ion-3ds/de/brush.c ---- ion-3ds-20060326/de/brush.c 2006-03-26 11:37:34.000000000 +0200 -+++ ion-3ds/de/brush.c 2006-04-06 10:08:37.000000000 +0200 -@@ -37,7 +37,9 @@ - brush->indicator_w=0; - brush->win=win; - brush->clip_set=FALSE; -- -+#ifdef XFT -+ brush->draw=NULL; -+#endif /* XFT */ - style->usecount++; - - if(!grbrush_init(&(brush->grbrush))){ -@@ -65,7 +67,6 @@ - CREATEOBJ_IMPL(DEBrush, debrush, (p, win, stylename, style)); - } - -- - static DEBrush *do_get_brush(Window win, WRootWin *rootwin, - const char *stylename, bool slave) - { -@@ -104,6 +105,10 @@ - { - destyle_unref(brush->d); - brush->d=NULL; -+#ifdef XFT -+ if(brush->draw!=NULL) -+ XftDrawDestroy(brush->draw); -+#endif /* XFT */ - grbrush_deinit(&(brush->grbrush)); - } - -@@ -114,6 +119,21 @@ - } - - -+#ifdef XFT -+XftDraw *debrush_get_draw(DEBrush *brush, Drawable d) -+{ -+ if(brush->draw==NULL) -+ brush->draw=XftDrawCreate(ioncore_g.dpy, d, -+ XftDEDefaultVisual(), -+ DefaultColormap(ioncore_g.dpy, -+ 0)); -+ else -+ XftDrawChange(brush->draw, d); -+ -+ return brush->draw; -+} -+#endif -+ - /*}}}*/ - - -diff -Naur ion-3ds-20060326/de/brush.h ion-3ds/de/brush.h ---- ion-3ds-20060326/de/brush.h 2006-03-26 11:37:34.000000000 +0200 -+++ ion-3ds/de/brush.h 2006-04-06 10:08:37.000000000 +0200 -@@ -17,6 +17,9 @@ - #include - #include - #include -+#ifdef XFT -+#include -+#endif /* XFT */ - - INTRCLASS(DEBrush); - -@@ -34,6 +37,9 @@ - DECLCLASS(DEBrush){ - GrBrush grbrush; - DEStyle *d; -+#ifdef XFT -+ XftDraw *draw; -+#endif - DEBrushExtrasFn *extras_fn; - int indicator_w; - Window win; -@@ -104,5 +110,8 @@ - const char *attr); - extern void debrush_clear_area(DEBrush *brush, const WRectangle *geom); - -+#ifdef XFT -+XftDraw *debrush_get_draw(DEBrush *brush, Drawable d); -+#endif - - #endif /* ION_DE_BRUSH_H */ -diff -Naur ion-3ds-20060326/de/colour.c ion-3ds/de/colour.c ---- ion-3ds-20060326/de/colour.c 2006-03-26 11:37:34.000000000 +0200 -+++ ion-3ds/de/colour.c 2006-04-06 10:08:37.000000000 +0200 -@@ -12,12 +12,23 @@ - #include - #include "colour.h" - -- - bool de_alloc_colour(WRootWin *rootwin, DEColour *ret, const char *name) - { -+#ifndef XFT - XColor c; - bool ok=FALSE; -+#else /* XFT */ -+ if(name==NULL) -+ return FALSE; -+ return XftColorAllocName( -+ ioncore_g.dpy, -+ XftDEDefaultVisual(), -+ rootwin->default_cmap, -+ name, -+ ret); -+#endif /* XFT */ - -+#ifndef XFT - if(name==NULL) - return FALSE; - -@@ -28,11 +39,13 @@ - } - - return ok; -+#endif /* ! XFT */ - } - - - bool de_duplicate_colour(WRootWin *rootwin, DEColour in, DEColour *out) - { -+#ifndef XFT - XColor c; - c.pixel=in; - XQueryColor(ioncore_g.dpy, rootwin->default_cmap, &c); -@@ -41,11 +54,20 @@ - return TRUE; - } - return FALSE; -+#else /* XFT */ -+ return XftColorAllocName( -+ ioncore_g.dpy, -+ XftDEDefaultVisual(), -+ rootwin->default_cmap, -+ &(in.color), -+ out); -+#endif /* XFT */ - } - - - void de_free_colour_group(WRootWin *rootwin, DEColourGroup *cg) - { -+#ifndef XFT - DEColour pixels[5]; - - pixels[0]=cg->bg; -@@ -60,15 +82,26 @@ - free(cg->spec); - cg->spec=NULL; - } -+#else /* XFT */ -+ 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); -+#endif /* XFT */ - } - - - void de_free_colour(WRootWin *rootwin, DEColour col) - { -+#ifndef XFT - DEColour pixels[1]; - - pixels[0]=col; - - XFreeColors(ioncore_g.dpy, rootwin->default_cmap, pixels, 1, 0); -+#else /* XFT */ -+ XftColorFree(ioncore_g.dpy, XftDEDefaultVisual(), rootwin->default_cmap, &col); -+#endif /* XFT */ - } - -diff -Naur ion-3ds-20060326/de/colour.h ion-3ds/de/colour.h ---- ion-3ds-20060326/de/colour.h 2006-03-26 11:37:34.000000000 +0200 -+++ ion-3ds/de/colour.h 2006-04-06 10:08:37.000000000 +0200 -@@ -15,12 +15,19 @@ - #include - #include - #include -+#ifdef XFT -+#include -+#endif /* XFT */ - - - INTRSTRUCT(DEColourGroup); - - -+#ifndef XFT - typedef unsigned long DEColour; -+#else /* XFT */ -+typedef XftColor DEColour; -+#endif /* XFT */ - - - DECLSTRUCT(DEColourGroup){ -@@ -37,5 +44,6 @@ - bool de_duplicate_colour(WRootWin *rootwin, DEColour in, DEColour *out); - void de_free_colour_group(WRootWin *rootwin, DEColourGroup *cg); - void de_free_colour(WRootWin *rootwin, DEColour col); -+#define XftDEDefaultVisual() DefaultVisual(ioncore_g.dpy, 0) - - #endif /* ION_DE_COLOUR_H */ -diff -Naur ion-3ds-20060326/de/draw.c ion-3ds/de/draw.c ---- ion-3ds-20060326/de/draw.c 2006-03-26 11:37:34.000000000 +0200 -+++ ion-3ds/de/draw.c 2006-04-06 10:08:37.000000000 +0200 -@@ -79,7 +79,11 @@ - w--; - h--; - -+#ifndef XFT - XSetForeground(ioncore_g.dpy, gc, tlc); -+#else /* XFT */ -+ XSetForeground(ioncore_g.dpy, gc, tlc.pixel); -+#endif /* XFT */ - - - a=(br!=0); -@@ -99,7 +103,11 @@ - } - - -+#ifndef XFT - XSetForeground(ioncore_g.dpy, gc, brc); -+#else /* XFT */ -+ XSetForeground(ioncore_g.dpy, gc, brc.pixel); -+#endif /* XFT */ - - a=(tl!=0); - b=0; -@@ -174,19 +182,35 @@ - GrBorderLine line) - { - if(line==GR_BORDERLINE_LEFT && geom->h>0){ -+#ifndef XFT - XSetForeground(ioncore_g.dpy, gc, tlc); -+#else /* XFT */ -+ XSetForeground(ioncore_g.dpy, gc, tlc.pixel); -+#endif /* XFT */ - XDrawRectangle(ioncore_g.dpy, win, gc, geom->x, geom->y, tl, geom->h); - geom->x+=tl; - }else if(line==GR_BORDERLINE_TOP && geom->w>0){ -+#ifndef XFT - XSetForeground(ioncore_g.dpy, gc, tlc); -+#else /* XFT */ -+ XSetForeground(ioncore_g.dpy, gc, tlc.pixel); -+#endif /* XFT */ - XDrawRectangle(ioncore_g.dpy, win, gc, geom->x, geom->y, geom->w, tl); - geom->y+=tl; - }else if(line==GR_BORDERLINE_RIGHT && geom->h>0){ -+#ifndef XFT - XSetForeground(ioncore_g.dpy, gc, brc); -+#else /* XFT */ -+ XSetForeground(ioncore_g.dpy, gc, brc.pixel); -+#endif /* XFT */ - XDrawRectangle(ioncore_g.dpy, win, gc, geom->x+geom->w-1-br, geom->y, br, geom->h); - geom->w-=br; - }else if(line==GR_BORDERLINE_BOTTOM && geom->w>0){ -+#ifndef XFT - XSetForeground(ioncore_g.dpy, gc, brc); -+#else /* XFT */ -+ XSetForeground(ioncore_g.dpy, gc, brc.pixel); -+#endif /* XFT */ - XDrawRectangle(ioncore_g.dpy, win, gc, geom->x, geom->y+geom->h-1-br, geom->w, br); - geom->h-=br; - } -@@ -276,7 +300,11 @@ - } - - if(MATCHES2("*-*-tagged", a1, a2)){ -+#ifndef XFT - XSetForeground(ioncore_g.dpy, d->copy_gc, cg->fg); -+#else /* XFT */ -+ XSetForeground(ioncore_g.dpy, d->copy_gc, cg->fg.pixel); -+#endif /* XFT */ - - copy_masked(brush, d->tag_pixmap, brush->win, 0, 0, - d->tag_pixmap_w, d->tag_pixmap_h, -@@ -326,7 +354,11 @@ - GC gc=brush->d->normal_gc; - - if(TRUE/*needfill*/){ -+#ifndef XFT - XSetForeground(ioncore_g.dpy, gc, cg->bg); -+#else /* XFT */ -+ XSetForeground(ioncore_g.dpy, gc, cg->bg.pixel); -+#endif /* XFT */ - XFillRectangle(ioncore_g.dpy, brush->win, gc, geom->x, geom->y, - geom->w, geom->h); - } -@@ -468,7 +500,11 @@ - attr.background_pixmap=ParentRelative; - }else{ - attrflags=CWBackPixel; -+#ifndef XFT - attr.background_pixel=brush->d->cgrp.bg; -+#else /* XFT */ -+ attr.background_pixel=brush->d->cgrp.bg.pixel; -+#endif /* XFT */ - } - - XChangeWindowAttributes(ioncore_g.dpy, brush->win, attrflags, &attr); -@@ -484,7 +520,11 @@ - if(cg==NULL) - return; - -+#ifndef XFT - XSetForeground(ioncore_g.dpy, gc, cg->bg); -+#else /* XFT */ -+ XSetForeground(ioncore_g.dpy, gc, cg->bg.pixel); -+#endif /* XFT */ - XFillRectangle(ioncore_g.dpy, brush->win, gc, - geom->x, geom->y, geom->w, geom->h); - } -diff -Naur ion-3ds-20060326/de/font.c ion-3ds/de/font.c ---- ion-3ds-20060326/de/font.c 2006-03-26 11:37:34.000000000 +0200 -+++ ion-3ds/de/font.c 2006-04-06 10:08:37.000000000 +0200 -@@ -14,7 +14,9 @@ - #include - #include - #include "font.h" -+#ifndef XFT - #include "fontset.h" -+#endif /* ! XFT */ - #include "brush.h" - - -@@ -26,10 +28,13 @@ - - DEFont *de_load_font(const char *fontname) - { -+#ifdef XFT -+ XftFont *font; -+#endif - DEFont *fnt; - XFontSet fontset=NULL; - XFontStruct *fontstruct=NULL; -- -+ - assert(fontname!=NULL); - - /* There shouldn't be that many fonts... */ -@@ -40,6 +45,7 @@ - } - } - -+#ifndef XFT - if(ioncore_g.use_mb){ - fontset=de_create_font_set(fontname); - if(fontset!=NULL){ -@@ -66,13 +72,34 @@ - return NULL; - } - -+#else /* XFT */ -+ if(strncmp(fontname, "xft:", 4)==0){ -+ font=XftFontOpenName(ioncore_g.dpy, DefaultScreen(ioncore_g.dpy), -+ fontname+4); -+ }else{ -+ font=XftFontOpenXlfd(ioncore_g.dpy, DefaultScreen(ioncore_g.dpy), fontname); -+ } -+ -+ if(font==NULL){ -+ if(strcmp(fontname, CF_FALLBACK_FONT_NAME)!=0){ -+ warn(TR("Could not load font \"%s\", trying \"%s\""), -+ fontname, CF_FALLBACK_FONT_NAME); -+ return de_load_font(CF_FALLBACK_FONT_NAME); -+ } -+ return NULL; -+ } -+#endif /* XFT */ - fnt=ALLOC(DEFont); - - if(fnt==NULL) -- return NULL; -+ return NULL; - -+#ifndef XFT - fnt->fontset=fontset; - fnt->fontstruct=fontstruct; -+#else -+ fnt->font=font; -+#endif - fnt->pattern=scopy(fontname); - fnt->next=NULL; - fnt->prev=NULL; -@@ -92,11 +119,13 @@ - style->font=font; - font->refcount++; - -+#ifndef XFT - if(style->font->fontstruct!=NULL){ - XSetFont(ioncore_g.dpy, style->normal_gc, - style->font->fontstruct->fid); - } - -+#endif /* ! XFT */ - return TRUE; - } - -@@ -111,11 +140,13 @@ - if(style->font==NULL) - return FALSE; - -+#ifndef XFT - if(style->font->fontstruct!=NULL){ - XSetFont(ioncore_g.dpy, style->normal_gc, - style->font->fontstruct->fid); - } - -+#endif /* ! XFT */ - return TRUE; - } - -@@ -125,13 +156,17 @@ - if(--font->refcount!=0) - return; - -+#ifndef XFT - if(font->fontset!=NULL) - XFreeFontSet(ioncore_g.dpy, font->fontset); - if(font->fontstruct!=NULL) - XFreeFont(ioncore_g.dpy, font->fontstruct); -+#else /* XFT */ -+ if(font->font!=NULL) -+ XftFontClose(ioncore_g.dpy, font->font); -+#endif /* XFT */ - if(font->pattern!=NULL) -- free(font->pattern); -- -+ free(font->pattern); - UNLINK_ITEM(fonts, font, next, prev); - free(font); - } -@@ -156,6 +191,7 @@ - - void defont_get_font_extents(DEFont *font, GrFontExtents *fnte) - { -+#ifndef XFT - if(font->fontset!=NULL){ - XFontSetExtents *ext=XExtentsOfFontSet(font->fontset); - if(ext==NULL) -@@ -171,7 +207,14 @@ - fnte->baseline=fnt->ascent; - return; - } -- -+#else /* XFT */ -+ 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; -+ } -+#endif /* XFT */ - fail: - DE_RESET_FONT_EXTENTS(fnte); - } -@@ -188,20 +231,35 @@ - - uint defont_get_text_width(DEFont *font, const char *text, uint len) - { -+#ifndef XFT - if(font->fontset!=NULL){ - XRectangle lext; - #ifdef CF_DE_USE_XUTF8 -- if(ioncore_g.enc_utf8) -- Xutf8TextExtents(font->fontset, text, len, NULL, &lext); -- else -+ if(ioncore_g.enc_utf8) -+ Xutf8TextExtents(font->fontset, text, len, NULL, &lext); -+ else - #endif -- XmbTextExtents(font->fontset, text, len, NULL, &lext); -- return lext.width; -+ XmbTextExtents(font->fontset, text, len, NULL, &lext); -+ return lext.width; - }else if(font->fontstruct!=NULL){ - return XTextWidth(font->fontstruct, text, len); - }else{ - return 0; - } -+#else /* XFT */ -+ if(font->font!=NULL){ -+ XGlyphInfo extents; -+ if(ioncore_g.enc_utf8) -+ XftTextExtentsUtf8(ioncore_g.dpy, font->font, (XftChar8 *)text, len, -+ &extents); -+ else -+ XftTextExtents8(ioncore_g.dpy, font->font, (XftChar8 *)text, len, -+ &extents); -+ return extents.xOff; -+ }else{ -+ return 0; -+ } -+#endif /* XFT */ - } - - -@@ -211,6 +269,7 @@ - /*{{{ String drawing */ - - -+#ifndef XFT - void debrush_do_draw_string_default(DEBrush *brush, int x, int y, - const char *str, int len, bool needfill, - DEColourGroup *colours) -@@ -256,6 +315,41 @@ - } - } - -+#else /* XFT */ -+void debrush_do_draw_string_default(DEBrush *brush, -+ int x, int y, const char *str, -+ int len, bool needfill, -+ DEColourGroup *colours) -+{ -+ Window win = brush->win; -+ GC gc=brush->d->normal_gc; -+ XftDraw *draw; -+ XftFont *font; -+ -+ if(brush->d->font==NULL) -+ return; -+ -+ font=brush->d->font->font; -+ draw=debrush_get_draw(brush, win); -+ -+ if(TRUE/*needfill*/){ -+ XGlyphInfo extents; -+ if(ioncore_g.enc_utf8) -+ XftTextExtentsUtf8(ioncore_g.dpy, font, (XftChar8 *)str, len, -+ &extents); -+ else -+ XftTextExtents8(ioncore_g.dpy, font, (XftChar8 *)str, len, &extents); -+ XftDrawRect(draw, &(colours->bg), x-extents.x, y-extents.y, -+ extents.width, extents.height); -+ } -+ -+ if(ioncore_g.enc_utf8) -+ XftDrawStringUtf8(draw, &(colours->fg), font, x, y, (XftChar8 *)str, -+ len); -+ else -+ XftDrawString8(draw, &(colours->fg), font, x, y, (XftChar8 *)str, len); -+} -+#endif /* XFT */ - - void debrush_do_draw_string(DEBrush *brush, int x, int y, - const char *str, int len, bool needfill, -diff -Naur ion-3ds-20060326/de/font.h ion-3ds/de/font.h ---- ion-3ds-20060326/de/font.h 2006-03-26 11:37:34.000000000 +0200 -+++ ion-3ds/de/font.h 2006-04-06 10:08:37.000000000 +0200 -@@ -14,6 +14,9 @@ - - #include - #include -+#ifdef XFT -+#include -+#endif /* XFT */ - - INTRSTRUCT(DEFont); - -@@ -29,6 +32,9 @@ - int refcount; - XFontSet fontset; - XFontStruct *fontstruct; -+#ifdef XFT /* XFT */ -+ XftFont *font; -+#endif /* XFT */ - DEFont *next, *prev; - }; - -diff -Naur ion-3ds-20060326/de/init.c ion-3ds/de/init.c ---- ion-3ds-20060326/de/init.c 2006-03-26 11:37:34.000000000 +0200 -+++ ion-3ds/de/init.c 2006-04-06 10:08:37.000000000 +0200 -@@ -113,16 +113,19 @@ - void de_get_colour_group(WRootWin *rootwin, DEColourGroup *cg, - ExtlTab tab, DEStyle *based_on) - { -- de_get_colour(rootwin, &(cg->hl), tab, based_on, "highlight_colour", -- DE_WHITE(rootwin)); -- de_get_colour(rootwin, &(cg->sh), tab, based_on, "shadow_colour", -- DE_WHITE(rootwin)); -- de_get_colour(rootwin, &(cg->bg), tab, based_on, "background_colour", -- DE_BLACK(rootwin)); -- de_get_colour(rootwin, &(cg->fg), tab, based_on, "foreground_colour", -- DE_WHITE(rootwin)); -- de_get_colour(rootwin, &(cg->pad), tab, based_on, "padding_colour", -- cg->bg); -+ DEColour black, white; -+#ifdef XFT -+ de_alloc_colour(rootwin, &black, "black"); -+ de_alloc_colour(rootwin, &white, "white"); -+#else -+ black=DE_BLACK(rootwin); -+ white=DE_WHITE(rootwin); -+#endif -+ de_get_colour(rootwin, &(cg->hl), tab, based_on, "highlight_colour", white); -+ de_get_colour(rootwin, &(cg->sh), tab, based_on, "shadow_colour", white); -+ de_get_colour(rootwin, &(cg->bg), tab, based_on, "background_colour", black); -+ de_get_colour(rootwin, &(cg->fg), tab, based_on, "foreground_colour", white); -+ de_get_colour(rootwin, &(cg->pad), tab, based_on, "padding_colour", cg->bg); - } - - -@@ -329,7 +332,6 @@ - - char de_ion_api_version[]=ION_API_VERSION; - -- - bool de_init() - { - WRootWin *rootwin; -diff -Naur ion-3ds-20060326/de/Makefile ion-3ds/de/Makefile ---- ion-3ds-20060326/de/Makefile 2006-03-26 11:37:32.000000000 +0200 -+++ ion-3ds/de/Makefile 2006-04-06 10:08:37.000000000 +0200 -@@ -8,13 +8,12 @@ - - ###################################### - -+ - INCLUDES += $(X11_INCLUDES) $(LIBTU_INCLUDES) $(LIBEXTL_INCLUDES) -I.. - CFLAGS += $(XOPEN_SOURCE) $(C99_SOURCE) - - SOURCES=init.c draw.c font.c colour.c brush.c fontset.c style.c -- - MODULE=de -- - MAKE_EXPORTS=de - - ###################################### -diff -Naur ion-3ds-20060326/de/style.c ion-3ds/de/style.c ---- ion-3ds-20060326/de/style.c 2006-03-26 11:37:34.000000000 +0200 -+++ ion-3ds/de/style.c 2006-04-06 10:08:37.000000000 +0200 -@@ -74,10 +74,17 @@ - /*gcv.function=GXclear;*/ - gcv.stipple=stipple_pixmap; - gcvmask=GCFillStyle|GCStipple/*|GCFunction*/; -+#ifndef XFT - if(style->font!=NULL && style->font->fontstruct!=NULL){ - gcv.font=style->font->fontstruct->fid; - gcvmask|=GCFont; - } -+#else /* XFT */ -+// if(style->font!=NULL){ -+// gcv.font=style->font; -+// gcvmask|=GCFont; -+// } -+#endif /* XFT */ - - style->stipple_gc=XCreateGC(dpy, root, gcvmask, &gcv); - XCopyGC(dpy, style->normal_gc, -@@ -206,6 +213,14 @@ - - bool destyle_init(DEStyle *style, WRootWin *rootwin, const char *name) - { -+ DEColour black, white; -+#ifdef XFT -+ de_alloc_colour(rootwin, &black, "black"); -+ de_alloc_colour(rootwin, &white, "white"); -+#else -+ black=DE_BLACK(rootwin); -+ white=DE_WHITE(rootwin); -+#endif /* XFT */ - style->style=scopy(name); - if(style->style==NULL) - return FALSE; -@@ -229,11 +244,11 @@ - - 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); -+ style->cgrp.bg=black; -+ style->cgrp.pad=black; -+ style->cgrp.fg=white; -+ style->cgrp.hl=white; -+ style->cgrp.sh=white; - - style->font=NULL; - -@@ -255,7 +270,7 @@ - static DEStyle *do_create_style(WRootWin *rootwin, const char *name) - { - DEStyle *style=ALLOC(DEStyle); -- if(style!=NULL){ -+ if(style!=NULL) { - if(!destyle_init(style, rootwin, name)){ - free(style); - return NULL; -diff -Naur ion-3ds-20060326/de/style.h ion-3ds/de/style.h ---- ion-3ds-20060326/de/style.h 2006-03-26 11:37:34.000000000 +0200 -+++ ion-3ds/de/style.h 2006-04-06 10:08:37.000000000 +0200 -@@ -76,6 +76,7 @@ - Pixmap tag_pixmap; - int tag_pixmap_w; - int tag_pixmap_h; -+ int xft_style; - - DEStyle *next, *prev; - }; -diff -Naur ion-3ds-20060326/system-ac.mk.in ion-3ds/system-ac.mk.in ---- ion-3ds-20060326/system-ac.mk.in 2006-03-26 11:37:33.000000000 +0200 -+++ ion-3ds/system-ac.mk.in 2006-04-06 10:08:37.000000000 +0200 -@@ -188,3 +188,7 @@ - STRIP=@STRIP@ - - RM=rm -+ -+### XFT Support -+CFLAGS+=@XFT_CFLAGS@ -+LIBS+=@XFT_LIBS@ diff --git a/ion3/files/ion3-mod-ionflux-20070512.tar.bz2 b/ion3/files/ion3-mod-ionflux-20070512.tar.bz2 deleted file mode 100644 index 7d451ba..0000000 Binary files a/ion3/files/ion3-mod-ionflux-20070512.tar.bz2 and /dev/null differ diff --git a/ion3/files/ion3-mod-xrandr-20070410.tar.bz2 b/ion3/files/ion3-mod-xrandr-20070410.tar.bz2 deleted file mode 100644 index 6183481..0000000 Binary files a/ion3/files/ion3-mod-xrandr-20070410.tar.bz2 and /dev/null differ diff --git a/ion3/files/ion3-scripts-20070608.tar.bz2 b/ion3/files/ion3-scripts-20070608.tar.bz2 deleted file mode 100644 index 949a24d..0000000 Binary files a/ion3/files/ion3-scripts-20070608.tar.bz2 and /dev/null differ diff --git a/ion3/files/ion3.desktop b/ion3/files/ion3.desktop deleted file mode 100644 index ba4103e..0000000 --- a/ion3/files/ion3.desktop +++ /dev/null @@ -1,9 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Name=Ion3 -Comment=A tiling tabbed window manager designed with keyboard users in mind. -Exec=ion3 -TryExec=ion3 -# no icon yet, only the top three are currently used -Icon= -Type=Application diff --git a/ion3/files/pwm3.desktop b/ion3/files/pwm3.desktop deleted file mode 100644 index 072f169..0000000 --- a/ion3/files/pwm3.desktop +++ /dev/null @@ -1,9 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Name=PWM3 -Comment=An X11 window manager -Exec=pwm3 -TryExec=pwm3 -# no icon yet, only the top three are currently used -Icon= -Type=Application diff --git a/ion3/files/xft-ion3-20070318.patch b/ion3/files/xft-ion3-20070318.patch deleted file mode 100644 index f2d9658..0000000 --- a/ion3/files/xft-ion3-20070318.patch +++ /dev/null @@ -1,689 +0,0 @@ -diff -Naur ../work/ion-3/build/ac/configure.ac ion-3ds-20070203/build/ac/configure.ac ---- ../work/ion-3/build/ac/configure.ac 2007-02-21 13:11:28.000000000 +0300 -+++ ion-3ds-20070203/build/ac/configure.ac 2007-02-21 13:11:56.000000000 +0300 -@@ -65,6 +65,8 @@ - - if test "x$enable_xinerama" = xno; then - _DCF_NO_XINERAMA="-DCF_NO_XINERAMA" -+else -+ _DCF_NO_XINERAMA="-DCF_XINERAMA" - fi - - dnl }}} -@@ -427,6 +429,18 @@ - - dnl }}} - -+AC_ARG_ENABLE([xft], -+ [AS_HELP_STRING([--disable-xft], -+ [Disable XFT Support])]) -+ -+if test "x$enable_xft" != xno; then -+ XFT_CFLAGS=`xft-config --cflags` -+ XFT_CFLAGS="${XFT_CFLAGS} -DXFT" -+ XFT_LIBS=`xft-config --libs` -+fi -+ -+AC_SUBST([XFT_CFLAGS]) -+AC_SUBST([XFT_LIBS]) - - AC_OUTPUT([system-ac.mk]) - -diff -Naur ../work/ion-3/build/ac/system-ac.mk.in ion-3ds-20070203/build/ac/system-ac.mk.in ---- ../work/ion-3/build/ac/system-ac.mk.in 2007-02-21 13:11:28.000000000 +0300 -+++ ion-3ds-20070203/build/ac/system-ac.mk.in 2007-02-21 13:11:56.000000000 +0300 -@@ -188,3 +188,7 @@ - STRIP=@STRIP@ - - RM=rm -+ -+### XFT Support -+CFLAGS+=@XFT_CFLAGS@ -+LIBS+=@XFT_LIBS@ -diff -Naur ../work/ion-3/de/brush.c ion-3ds-20070203/de/brush.c ---- ../work/ion-3/de/brush.c 2007-02-03 17:50:52.000000000 +0300 -+++ ion-3ds-20070203/de/brush.c 2007-02-21 13:11:57.000000000 +0300 -@@ -47,6 +47,9 @@ - - gr_stylespec_init(&brush->current_attr); - -+#ifdef XFT -+ brush->draw=NULL; -+#endif /* XFT */ - style->usecount++; - - if(!grbrush_init(&(brush->grbrush))){ -@@ -127,6 +130,10 @@ - { - destyle_unref(brush->d); - brush->d=NULL; -+#ifdef XFT -+ if(brush->draw!=NULL) -+ XftDrawDestroy(brush->draw); -+#endif /* XFT */ - gr_stylespec_unalloc(&brush->current_attr); - grbrush_deinit(&(brush->grbrush)); - } -@@ -138,6 +145,21 @@ - } - - -+#ifdef XFT -+XftDraw *debrush_get_draw(DEBrush *brush, Drawable d) -+{ -+ if(brush->draw==NULL) -+ brush->draw=XftDrawCreate(ioncore_g.dpy, d, -+ XftDEDefaultVisual(), -+ DefaultColormap(ioncore_g.dpy, -+ 0)); -+ else -+ XftDrawChange(brush->draw, d); -+ -+ return brush->draw; -+} -+#endif -+ - /*}}}*/ - - -diff -Naur ../work/ion-3/de/brush.h ion-3ds-20070203/de/brush.h ---- ../work/ion-3/de/brush.h 2007-02-03 17:50:52.000000000 +0300 -+++ ion-3ds-20070203/de/brush.h 2007-02-21 13:11:57.000000000 +0300 -@@ -17,6 +17,9 @@ - #include - #include - #include -+#ifdef XFT -+#include -+#endif /* XFT */ - - INTRCLASS(DEBrush); - -@@ -36,6 +39,9 @@ - DECLCLASS(DEBrush){ - GrBrush grbrush; - DEStyle *d; -+#ifdef XFT -+ XftDraw *draw; -+#endif - DEBrushExtrasFn *extras_fn; - int indicator_w; - Window win; -@@ -111,5 +117,8 @@ - extern void debrush_fill_area(DEBrush *brush, const WRectangle *geom); - extern void debrush_clear_area(DEBrush *brush, const WRectangle *geom); - -+#ifdef XFT -+XftDraw *debrush_get_draw(DEBrush *brush, Drawable d); -+#endif - - #endif /* ION_DE_BRUSH_H */ -diff -Naur ../work/ion-3/de/colour.c ion-3ds-20070203/de/colour.c ---- ../work/ion-3/de/colour.c 2007-02-03 17:50:52.000000000 +0300 -+++ ion-3ds-20070203/de/colour.c 2007-02-21 13:11:57.000000000 +0300 -@@ -15,9 +15,21 @@ - - bool de_alloc_colour(WRootWin *rootwin, DEColour *ret, const char *name) - { -+#ifndef XFT - XColor c; - bool ok=FALSE; -+#else /* XFT */ -+ if(name==NULL) -+ return FALSE; -+ return XftColorAllocName( -+ ioncore_g.dpy, -+ XftDEDefaultVisual(), -+ rootwin->default_cmap, -+ name, -+ ret); -+#endif /* XFT */ - -+#ifndef XFT - if(name==NULL) - return FALSE; - -@@ -28,11 +40,13 @@ - } - - return ok; -+#endif /* ! XFT */ - } - - - bool de_duplicate_colour(WRootWin *rootwin, DEColour in, DEColour *out) - { -+#ifndef XFT - XColor c; - c.pixel=in; - XQueryColor(ioncore_g.dpy, rootwin->default_cmap, &c); -@@ -41,11 +55,20 @@ - return TRUE; - } - return FALSE; -+#else /* XFT */ -+ return XftColorAllocName( -+ ioncore_g.dpy, -+ XftDEDefaultVisual(), -+ rootwin->default_cmap, -+ &(in.color), -+ out); -+#endif /* XFT */ - } - - - void de_free_colour_group(WRootWin *rootwin, DEColourGroup *cg) - { -+#ifndef XFT - DEColour pixels[5]; - - pixels[0]=cg->bg; -@@ -57,15 +80,26 @@ - XFreeColors(ioncore_g.dpy, rootwin->default_cmap, pixels, 5, 0); - - gr_stylespec_unalloc(&cg->spec); -+#else /* XFT */ -+ 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); -+#endif /* XFT */ - } - - - void de_free_colour(WRootWin *rootwin, DEColour col) - { -+#ifndef XFT - DEColour pixels[1]; - - pixels[0]=col; - - XFreeColors(ioncore_g.dpy, rootwin->default_cmap, pixels, 1, 0); -+#else /* XFT */ -+ XftColorFree(ioncore_g.dpy, XftDEDefaultVisual(), rootwin->default_cmap, &col); -+#endif /* XFT */ - } - -diff -Naur ../work/ion-3/de/colour.h ion-3ds-20070203/de/colour.h ---- ../work/ion-3/de/colour.h 2007-02-03 17:50:52.000000000 +0300 -+++ ion-3ds-20070203/de/colour.h 2007-02-21 13:11:57.000000000 +0300 -@@ -15,12 +15,19 @@ - #include - #include - #include -+#ifdef XFT -+#include -+#endif /* XFT */ - - - INTRSTRUCT(DEColourGroup); - - -+#ifndef XFT - typedef unsigned long DEColour; -+#else /* XFT */ -+typedef XftColor DEColour; -+#endif /* XFT */ - - - DECLSTRUCT(DEColourGroup){ -@@ -37,5 +44,6 @@ - bool de_duplicate_colour(WRootWin *rootwin, DEColour in, DEColour *out); - void de_free_colour_group(WRootWin *rootwin, DEColourGroup *cg); - void de_free_colour(WRootWin *rootwin, DEColour col); -+#define XftDEDefaultVisual() DefaultVisual(ioncore_g.dpy, 0) - - #endif /* ION_DE_COLOUR_H */ -diff -Naur ../work/ion-3/de/draw.c ion-3ds-20070203/de/draw.c ---- ../work/ion-3/de/draw.c 2007-02-03 17:50:52.000000000 +0300 -+++ ion-3ds-20070203/de/draw.c 2007-02-21 13:11:57.000000000 +0300 -@@ -22,6 +22,14 @@ - #include - - -+#ifndef XFT -+#define PIXEL(x) x -+#else /* XFT */ -+#define PIXEL(x) x.pixel -+#endif /* XFT */ -+ -+ -+ - /*{{{ Colour group lookup */ - - -@@ -86,8 +94,7 @@ - w--; - h--; - -- XSetForeground(ioncore_g.dpy, gc, tlc); -- -+ XSetForeground(ioncore_g.dpy, gc, PIXEL(tlc)); - - a=(br!=0); - b=0; -@@ -104,9 +111,8 @@ - - XDrawLines(ioncore_g.dpy, win, gc, points, 3, CoordModeOrigin); - } -- - -- XSetForeground(ioncore_g.dpy, gc, brc); -+ XSetForeground(ioncore_g.dpy, gc, PIXEL(brc)); - - a=(tl!=0); - b=0; -@@ -143,23 +143,23 @@ - GrBorderLine line) - { - if(line==GR_BORDERLINE_LEFT && geom->h>0 && tl>0){ -- XSetForeground(ioncore_g.dpy, gc, tlc); -- XSetBackground(ioncore_g.dpy, gc, tlc); -+ XSetForeground(ioncore_g.dpy, gc, PIXEL(tlc)); -+ XSetBackground(ioncore_g.dpy, gc, PIXEL(tlc)); - XFillRectangle(ioncore_g.dpy, win, gc, geom->x, geom->y, tl, geom->h); - geom->x+=tl; - }else if(line==GR_BORDERLINE_TOP && geom->w>0 && tl>0){ -- XSetForeground(ioncore_g.dpy, gc, tlc); -- XSetBackground(ioncore_g.dpy, gc, tlc); -+ XSetForeground(ioncore_g.dpy, gc, PIXEL(tlc)); -+ XSetBackground(ioncore_g.dpy, gc, PIXEL(tlc)); - XFillRectangle(ioncore_g.dpy, win, gc, geom->x, geom->y, geom->w, tl); - geom->y+=tl; - }else if(line==GR_BORDERLINE_RIGHT && geom->h>0 && br>0){ -- XSetForeground(ioncore_g.dpy, gc, brc); -- XSetBackground(ioncore_g.dpy, gc, brc); -+ XSetForeground(ioncore_g.dpy, gc, PIXEL(brc)); -+ XSetBackground(ioncore_g.dpy, gc, PIXEL(brc)); - XFillRectangle(ioncore_g.dpy, win, gc, geom->x+geom->w-br, geom->y, br, geom->h); - geom->w-=br; - }else if(line==GR_BORDERLINE_BOTTOM && geom->w>0 && br>0){ -- XSetForeground(ioncore_g.dpy, gc, brc); -- XSetBackground(ioncore_g.dpy, gc, brc); -+ XSetForeground(ioncore_g.dpy, gc, PIXEL(brc)); -+ XSetBackground(ioncore_g.dpy, gc, PIXEL(brc)); - XFillRectangle(ioncore_g.dpy, win, gc, geom->x, geom->y+geom->h-br, geom->w, br); - geom->h-=br; - } -@@ -293,7 +299,7 @@ - } - - if(MATCHES2(tagged_spec, a1, a2)){ -- XSetForeground(ioncore_g.dpy, d->copy_gc, cg->fg); -+ XSetForeground(ioncore_g.dpy, d->copy_gc, PIXEL(cg->fg)); - - copy_masked(brush, d->tag_pixmap, brush->win, 0, 0, - d->tag_pixmap_w, d->tag_pixmap_h, -@@ -348,7 +354,7 @@ - GC gc=brush->d->normal_gc; - - if(TRUE/*needfill*/){ -- XSetForeground(ioncore_g.dpy, gc, cg->bg); -+ XSetForeground(ioncore_g.dpy, gc, PIXEL(cg->bg)); - XFillRectangle(ioncore_g.dpy, brush->win, gc, geom->x, geom->y, - geom->w, geom->h); - } -@@ -513,7 +519,7 @@ - attr.background_pixmap=ParentRelative; - }else{ - attrflags=CWBackPixel; -- attr.background_pixel=brush->d->cgrp.bg; -+ attr.background_pixel=brush->d->PIXEL(cgrp.bg); - } - - XChangeWindowAttributes(ioncore_g.dpy, brush->win, attrflags, &attr); -@@ -529,7 +535,7 @@ - if(cg==NULL) - return; - -- XSetForeground(ioncore_g.dpy, gc, cg->bg); -+ XSetForeground(ioncore_g.dpy, gc, PIXEL(cg->bg)); - XFillRectangle(ioncore_g.dpy, brush->win, gc, - geom->x, geom->y, geom->w, geom->h); - } -diff -Naur ../work/ion-3/de/font.c ion-3ds-20070203/de/font.c ---- ../work/ion-3/de/font.c 2007-02-03 17:50:52.000000000 +0300 -+++ ion-3ds-20070203/de/font.c 2007-02-21 13:11:57.000000000 +0300 -@@ -14,7 +14,9 @@ - #include - #include - #include "font.h" -+#ifndef XFT - #include "fontset.h" -+#endif /* ! XFT */ - #include "brush.h" - - -@@ -26,6 +28,9 @@ - - DEFont *de_load_font(const char *fontname) - { -+#ifdef XFT -+ XftFont *font; -+#endif - DEFont *fnt; - XFontSet fontset=NULL; - XFontStruct *fontstruct=NULL; -@@ -40,6 +45,7 @@ - } - } - -+#ifndef XFT - if(ioncore_g.use_mb){ - fontset=de_create_font_set(fontname); - if(fontset!=NULL){ -@@ -66,13 +72,34 @@ - return NULL; - } - -+#else /* XFT */ -+ if(strncmp(fontname, "xft:", 4)==0){ -+ font=XftFontOpenName(ioncore_g.dpy, DefaultScreen(ioncore_g.dpy), -+ fontname+4); -+ }else{ -+ font=XftFontOpenXlfd(ioncore_g.dpy, DefaultScreen(ioncore_g.dpy), fontname); -+ } -+ -+ if(font==NULL){ -+ if(strcmp(fontname, CF_FALLBACK_FONT_NAME)!=0){ -+ warn(TR("Could not load font \"%s\", trying \"%s\""), -+ fontname, CF_FALLBACK_FONT_NAME); -+ return de_load_font(CF_FALLBACK_FONT_NAME); -+ } -+ return NULL; -+ } -+#endif /* XFT */ - fnt=ALLOC(DEFont); - - if(fnt==NULL) - return NULL; - -+#ifndef XFT - fnt->fontset=fontset; - fnt->fontstruct=fontstruct; -+#else -+ fnt->font=font; -+#endif - fnt->pattern=scopy(fontname); - fnt->next=NULL; - fnt->prev=NULL; -@@ -92,11 +119,13 @@ - style->font=font; - font->refcount++; - -+#ifndef XFT - if(style->font->fontstruct!=NULL){ - XSetFont(ioncore_g.dpy, style->normal_gc, - style->font->fontstruct->fid); - } - -+#endif /* ! XFT */ - return TRUE; - } - -@@ -111,11 +140,13 @@ - if(style->font==NULL) - return FALSE; - -+#ifndef XFT - if(style->font->fontstruct!=NULL){ - XSetFont(ioncore_g.dpy, style->normal_gc, - style->font->fontstruct->fid); - } - -+#endif /* ! XFT */ - return TRUE; - } - -@@ -125,10 +156,15 @@ - if(--font->refcount!=0) - return; - -+#ifndef XFT - if(font->fontset!=NULL) - XFreeFontSet(ioncore_g.dpy, font->fontset); - if(font->fontstruct!=NULL) - XFreeFont(ioncore_g.dpy, font->fontstruct); -+#else /* XFT */ -+ if(font->font!=NULL) -+ XftFontClose(ioncore_g.dpy, font->font); -+#endif /* XFT */ - if(font->pattern!=NULL) - free(font->pattern); - -@@ -156,6 +192,7 @@ - - void defont_get_font_extents(DEFont *font, GrFontExtents *fnte) - { -+#ifndef XFT - if(font->fontset!=NULL){ - XFontSetExtents *ext=XExtentsOfFontSet(font->fontset); - if(ext==NULL) -@@ -171,7 +208,14 @@ - fnte->baseline=fnt->ascent; - return; - } -- -+#else /* XFT */ -+ 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; -+ } -+#endif /* XFT */ - fail: - DE_RESET_FONT_EXTENTS(fnte); - } -@@ -188,20 +232,35 @@ - - uint defont_get_text_width(DEFont *font, const char *text, uint len) - { -+#ifndef XFT - if(font->fontset!=NULL){ - XRectangle lext; - #ifdef CF_DE_USE_XUTF8 -- if(ioncore_g.enc_utf8) -- Xutf8TextExtents(font->fontset, text, len, NULL, &lext); -- else -+ if(ioncore_g.enc_utf8) -+ Xutf8TextExtents(font->fontset, text, len, NULL, &lext); -+ else - #endif -- XmbTextExtents(font->fontset, text, len, NULL, &lext); -- return lext.width; -+ XmbTextExtents(font->fontset, text, len, NULL, &lext); -+ return lext.width; - }else if(font->fontstruct!=NULL){ - return XTextWidth(font->fontstruct, text, len); - }else{ - return 0; - } -+#else /* XFT */ -+ if(font->font!=NULL){ -+ XGlyphInfo extents; -+ if(ioncore_g.enc_utf8) -+ XftTextExtentsUtf8(ioncore_g.dpy, font->font, (XftChar8 *)text, len, -+ &extents); -+ else -+ XftTextExtents8(ioncore_g.dpy, font->font, (XftChar8 *)text, len, -+ &extents); -+ return extents.xOff; -+ }else{ -+ return 0; -+ } -+#endif /* XFT */ - } - - -@@ -211,6 +270,7 @@ - /*{{{ String drawing */ - - -+#ifndef XFT - void debrush_do_draw_string_default(DEBrush *brush, int x, int y, - const char *str, int len, bool needfill, - DEColourGroup *colours) -@@ -256,6 +316,41 @@ - } - } - -+#else /* XFT */ -+void debrush_do_draw_string_default(DEBrush *brush, -+ int x, int y, const char *str, -+ int len, bool needfill, -+ DEColourGroup *colours) -+{ -+ Window win = brush->win; -+ GC gc=brush->d->normal_gc; -+ XftDraw *draw; -+ XftFont *font; -+ -+ if(brush->d->font==NULL) -+ return; -+ -+ font=brush->d->font->font; -+ draw=debrush_get_draw(brush, win); -+ -+ if(needfill){ -+ XGlyphInfo extents; -+ if(ioncore_g.enc_utf8) -+ XftTextExtentsUtf8(ioncore_g.dpy, font, (XftChar8 *)str, len, -+ &extents); -+ else -+ XftTextExtents8(ioncore_g.dpy, font, (XftChar8 *)str, len, &extents); -+ XftDrawRect(draw, &(colours->bg), x-extents.x, y-extents.y, -+ extents.width+10, extents.height); -+ } -+ -+ if(ioncore_g.enc_utf8) -+ XftDrawStringUtf8(draw, &(colours->fg), font, x, y, (XftChar8 *)str, -+ len); -+ else -+ XftDrawString8(draw, &(colours->fg), font, x, y, (XftChar8 *)str, len); -+} -+#endif /* XFT */ - - void debrush_do_draw_string(DEBrush *brush, int x, int y, - const char *str, int len, bool needfill, -diff -Naur ../work/ion-3/de/font.h ion-3ds-20070203/de/font.h ---- ../work/ion-3/de/font.h 2007-02-03 17:50:52.000000000 +0300 -+++ ion-3ds-20070203/de/font.h 2007-02-21 13:11:57.000000000 +0300 -@@ -14,6 +14,9 @@ - - #include - #include -+#ifdef XFT -+#include -+#endif /* XFT */ - - INTRSTRUCT(DEFont); - -@@ -29,6 +32,9 @@ - int refcount; - XFontSet fontset; - XFontStruct *fontstruct; -+#ifdef XFT /* XFT */ -+ XftFont *font; -+#endif /* XFT */ - DEFont *next, *prev; - }; - -diff -Naur ../work/ion-3/de/init.c ion-3ds-20070203/de/init.c ---- ../work/ion-3/de/init.c 2007-02-03 17:50:52.000000000 +0300 -+++ ion-3ds-20070203/de/init.c 2007-02-21 13:11:57.000000000 +0300 -@@ -138,16 +138,19 @@ - void de_get_colour_group(WRootWin *rootwin, DEColourGroup *cg, - ExtlTab tab, DEStyle *based_on) - { -- de_get_colour(rootwin, &(cg->hl), tab, based_on, "highlight_colour", -- DE_WHITE(rootwin)); -- de_get_colour(rootwin, &(cg->sh), tab, based_on, "shadow_colour", -- DE_WHITE(rootwin)); -- de_get_colour(rootwin, &(cg->bg), tab, based_on, "background_colour", -- DE_BLACK(rootwin)); -- de_get_colour(rootwin, &(cg->fg), tab, based_on, "foreground_colour", -- DE_WHITE(rootwin)); -- de_get_colour(rootwin, &(cg->pad), tab, based_on, "padding_colour", -- cg->bg); -+ DEColour black, white; -+#ifdef XFT -+ de_alloc_colour(rootwin, &black, "black"); -+ de_alloc_colour(rootwin, &white, "white"); -+#else -+ black=DE_BLACK(rootwin); -+ white=DE_WHITE(rootwin); -+#endif -+ de_get_colour(rootwin, &(cg->hl), tab, based_on, "highlight_colour", white); -+ de_get_colour(rootwin, &(cg->sh), tab, based_on, "shadow_colour", white); -+ de_get_colour(rootwin, &(cg->bg), tab, based_on, "background_colour", black); -+ de_get_colour(rootwin, &(cg->fg), tab, based_on, "foreground_colour", white); -+ de_get_colour(rootwin, &(cg->pad), tab, based_on, "padding_colour", cg->bg); - } - - -diff -Naur ../work/ion-3/de/style.c ion-3ds-20070203/de/style.c ---- ../work/ion-3/de/style.c 2007-02-03 17:50:52.000000000 +0300 -+++ ion-3ds-20070203/de/style.c 2007-02-21 13:11:57.000000000 +0300 -@@ -74,10 +74,17 @@ - /*gcv.function=GXclear;*/ - gcv.stipple=stipple_pixmap; - gcvmask=GCFillStyle|GCStipple/*|GCFunction*/; -+#ifndef XFT - if(style->font!=NULL && style->font->fontstruct!=NULL){ - gcv.font=style->font->fontstruct->fid; - gcvmask|=GCFont; - } -+#else /* XFT */ -+// if(style->font!=NULL){ -+// gcv.font=style->font; -+// gcvmask|=GCFont; -+// } -+#endif /* XFT */ - - style->stipple_gc=XCreateGC(dpy, root, gcvmask, &gcv); - XCopyGC(dpy, style->normal_gc, -@@ -205,6 +212,14 @@ - - bool destyle_init(DEStyle *style, WRootWin *rootwin, const char *name) - { -+ DEColour black, white; -+#ifdef XFT -+ de_alloc_colour(rootwin, &black, "black"); -+ de_alloc_colour(rootwin, &white, "white"); -+#else -+ black=DE_BLACK(rootwin); -+ white=DE_WHITE(rootwin); -+#endif /* XFT */ - if(!gr_stylespec_load(&style->spec, name)) - return FALSE; - -@@ -226,11 +241,11 @@ - style->textalign=DEALIGN_CENTER; - - style->cgrp_alloced=FALSE; -- 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); -+ style->cgrp.bg=black; -+ style->cgrp.pad=black; -+ style->cgrp.fg=white; -+ style->cgrp.hl=white; -+ style->cgrp.sh=white; - gr_stylespec_init(&style->cgrp.spec); - - style->font=NULL; -diff -Naur ../work/ion-3/de/style.h ion-3ds-20070203/de/style.h ---- ../work/ion-3/de/style.h 2007-02-03 17:50:52.000000000 +0300 -+++ ion-3ds-20070203/de/style.h 2007-02-21 13:11:57.000000000 +0300 -@@ -76,6 +76,7 @@ - Pixmap tag_pixmap; - int tag_pixmap_w; - int tag_pixmap_h; -+ int xft_style; - - DEStyle *next, *prev; - }; diff --git a/ion3/files/xft-ion3-20070506.patch b/ion3/files/xft-ion3-20070506.patch deleted file mode 100644 index 0cff558..0000000 --- a/ion3/files/xft-ion3-20070506.patch +++ /dev/null @@ -1,669 +0,0 @@ -diff -Naur ../work/ion-3/de/brush.c ion-3ds-20070203/de/brush.c ---- ../work/ion-3/de/brush.c 2007-02-03 17:50:52.000000000 +0300 -+++ ion-3ds-20070203/de/brush.c 2007-02-21 13:11:57.000000000 +0300 -@@ -47,6 +47,9 @@ - - gr_stylespec_init(&brush->current_attr); - -+#ifdef XFT -+ brush->draw=NULL; -+#endif /* XFT */ - style->usecount++; - - if(!grbrush_init(&(brush->grbrush))){ -@@ -127,6 +130,10 @@ - { - destyle_unref(brush->d); - brush->d=NULL; -+#ifdef XFT -+ if(brush->draw!=NULL) -+ XftDrawDestroy(brush->draw); -+#endif /* XFT */ - gr_stylespec_unalloc(&brush->current_attr); - grbrush_deinit(&(brush->grbrush)); - } -@@ -138,6 +145,21 @@ - } - - -+#ifdef XFT -+XftDraw *debrush_get_draw(DEBrush *brush, Drawable d) -+{ -+ if(brush->draw==NULL) -+ brush->draw=XftDrawCreate(ioncore_g.dpy, d, -+ XftDEDefaultVisual(), -+ DefaultColormap(ioncore_g.dpy, -+ 0)); -+ else -+ XftDrawChange(brush->draw, d); -+ -+ return brush->draw; -+} -+#endif -+ - /*}}}*/ - - -diff -Naur ../work/ion-3/de/brush.h ion-3ds-20070203/de/brush.h ---- ../work/ion-3/de/brush.h 2007-02-03 17:50:52.000000000 +0300 -+++ ion-3ds-20070203/de/brush.h 2007-02-21 13:11:57.000000000 +0300 -@@ -17,6 +17,9 @@ - #include - #include - #include -+#ifdef XFT -+#include -+#endif /* XFT */ - - INTRCLASS(DEBrush); - -@@ -36,6 +39,9 @@ - DECLCLASS(DEBrush){ - GrBrush grbrush; - DEStyle *d; -+#ifdef XFT -+ XftDraw *draw; -+#endif - DEBrushExtrasFn *extras_fn; - int indicator_w; - Window win; -@@ -111,5 +117,8 @@ - extern void debrush_fill_area(DEBrush *brush, const WRectangle *geom); - extern void debrush_clear_area(DEBrush *brush, const WRectangle *geom); - -+#ifdef XFT -+XftDraw *debrush_get_draw(DEBrush *brush, Drawable d); -+#endif - - #endif /* ION_DE_BRUSH_H */ -diff -Naur ../work/ion-3/de/colour.c ion-3ds-20070203/de/colour.c ---- ../work/ion-3/de/colour.c 2007-02-03 17:50:52.000000000 +0300 -+++ ion-3ds-20070203/de/colour.c 2007-02-21 13:11:57.000000000 +0300 -@@ -15,9 +15,21 @@ - - bool de_alloc_colour(WRootWin *rootwin, DEColour *ret, const char *name) - { -+#ifndef XFT - XColor c; - bool ok=FALSE; -+#else /* XFT */ -+ if(name==NULL) -+ return FALSE; -+ return XftColorAllocName( -+ ioncore_g.dpy, -+ XftDEDefaultVisual(), -+ rootwin->default_cmap, -+ name, -+ ret); -+#endif /* XFT */ - -+#ifndef XFT - if(name==NULL) - return FALSE; - -@@ -28,11 +40,13 @@ - } - - return ok; -+#endif /* ! XFT */ - } - - - bool de_duplicate_colour(WRootWin *rootwin, DEColour in, DEColour *out) - { -+#ifndef XFT - XColor c; - c.pixel=in; - XQueryColor(ioncore_g.dpy, rootwin->default_cmap, &c); -@@ -41,11 +55,20 @@ - return TRUE; - } - return FALSE; -+#else /* XFT */ -+ return XftColorAllocName( -+ ioncore_g.dpy, -+ XftDEDefaultVisual(), -+ rootwin->default_cmap, -+ &(in.color), -+ out); -+#endif /* XFT */ - } - - - void de_free_colour_group(WRootWin *rootwin, DEColourGroup *cg) - { -+#ifndef XFT - DEColour pixels[5]; - - pixels[0]=cg->bg; -@@ -57,15 +80,26 @@ - XFreeColors(ioncore_g.dpy, rootwin->default_cmap, pixels, 5, 0); - - gr_stylespec_unalloc(&cg->spec); -+#else /* XFT */ -+ 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); -+#endif /* XFT */ - } - - - void de_free_colour(WRootWin *rootwin, DEColour col) - { -+#ifndef XFT - DEColour pixels[1]; - - pixels[0]=col; - - XFreeColors(ioncore_g.dpy, rootwin->default_cmap, pixels, 1, 0); -+#else /* XFT */ -+ XftColorFree(ioncore_g.dpy, XftDEDefaultVisual(), rootwin->default_cmap, &col); -+#endif /* XFT */ - } - -diff -Naur ../work/ion-3/de/colour.h ion-3ds-20070203/de/colour.h ---- ../work/ion-3/de/colour.h 2007-02-03 17:50:52.000000000 +0300 -+++ ion-3ds-20070203/de/colour.h 2007-02-21 13:11:57.000000000 +0300 -@@ -15,12 +15,19 @@ - #include - #include - #include -+#ifdef XFT -+#include -+#endif /* XFT */ - - - INTRSTRUCT(DEColourGroup); - - -+#ifndef XFT - typedef unsigned long DEColour; -+#else /* XFT */ -+typedef XftColor DEColour; -+#endif /* XFT */ - - - DECLSTRUCT(DEColourGroup){ -@@ -37,5 +44,6 @@ - bool de_duplicate_colour(WRootWin *rootwin, DEColour in, DEColour *out); - void de_free_colour_group(WRootWin *rootwin, DEColourGroup *cg); - void de_free_colour(WRootWin *rootwin, DEColour col); -+#define XftDEDefaultVisual() DefaultVisual(ioncore_g.dpy, 0) - - #endif /* ION_DE_COLOUR_H */ -diff -Naur ../work/ion-3/de/draw.c ion-3ds-20070203/de/draw.c ---- ../work/ion-3/de/draw.c 2007-02-03 17:50:52.000000000 +0300 -+++ ion-3ds-20070203/de/draw.c 2007-02-21 13:11:57.000000000 +0300 -@@ -22,6 +22,14 @@ - #include - - -+#ifndef XFT -+#define PIXEL(x) x -+#else /* XFT */ -+#define PIXEL(x) x.pixel -+#endif /* XFT */ -+ -+ -+ - /*{{{ Colour group lookup */ - - -@@ -86,8 +94,7 @@ - w--; - h--; - -- XSetForeground(ioncore_g.dpy, gc, tlc); -- -+ XSetForeground(ioncore_g.dpy, gc, PIXEL(tlc)); - - a=(br!=0); - b=0; -@@ -104,9 +111,8 @@ - - XDrawLines(ioncore_g.dpy, win, gc, points, 3, CoordModeOrigin); - } -- - -- XSetForeground(ioncore_g.dpy, gc, brc); -+ XSetForeground(ioncore_g.dpy, gc, PIXEL(brc)); - - a=(tl!=0); - b=0; -@@ -143,23 +143,23 @@ - GrBorderLine line) - { - if(line==GR_BORDERLINE_LEFT && geom->h>0 && tl>0){ -- XSetForeground(ioncore_g.dpy, gc, tlc); -- XSetBackground(ioncore_g.dpy, gc, tlc); -+ XSetForeground(ioncore_g.dpy, gc, PIXEL(tlc)); -+ XSetBackground(ioncore_g.dpy, gc, PIXEL(tlc)); - XFillRectangle(ioncore_g.dpy, win, gc, geom->x, geom->y, tl, geom->h); - geom->x+=tl; - }else if(line==GR_BORDERLINE_TOP && geom->w>0 && tl>0){ -- XSetForeground(ioncore_g.dpy, gc, tlc); -- XSetBackground(ioncore_g.dpy, gc, tlc); -+ XSetForeground(ioncore_g.dpy, gc, PIXEL(tlc)); -+ XSetBackground(ioncore_g.dpy, gc, PIXEL(tlc)); - XFillRectangle(ioncore_g.dpy, win, gc, geom->x, geom->y, geom->w, tl); - geom->y+=tl; - }else if(line==GR_BORDERLINE_RIGHT && geom->h>0 && br>0){ -- XSetForeground(ioncore_g.dpy, gc, brc); -- XSetBackground(ioncore_g.dpy, gc, brc); -+ XSetForeground(ioncore_g.dpy, gc, PIXEL(brc)); -+ XSetBackground(ioncore_g.dpy, gc, PIXEL(brc)); - XFillRectangle(ioncore_g.dpy, win, gc, geom->x+geom->w-br, geom->y, br, geom->h); - geom->w-=br; - }else if(line==GR_BORDERLINE_BOTTOM && geom->w>0 && br>0){ -- XSetForeground(ioncore_g.dpy, gc, brc); -- XSetBackground(ioncore_g.dpy, gc, brc); -+ XSetForeground(ioncore_g.dpy, gc, PIXEL(brc)); -+ XSetBackground(ioncore_g.dpy, gc, PIXEL(brc)); - XFillRectangle(ioncore_g.dpy, win, gc, geom->x, geom->y+geom->h-br, geom->w, br); - geom->h-=br; - } -@@ -293,7 +299,7 @@ - } - - if(ISSET(a2, GR_ATTR(tagged)) || ISSET(a1, GR_ATTR(tagged))){ -- XSetForeground(ioncore_g.dpy, d->copy_gc, cg->fg); -+ XSetForeground(ioncore_g.dpy, d->copy_gc, PIXEL(cg->fg)); - - copy_masked(brush, d->tag_pixmap, brush->win, 0, 0, - d->tag_pixmap_w, d->tag_pixmap_h, -@@ -348,7 +354,7 @@ - GC gc=brush->d->normal_gc; - - if(TRUE/*needfill*/){ -- XSetForeground(ioncore_g.dpy, gc, cg->bg); -+ XSetForeground(ioncore_g.dpy, gc, PIXEL(cg->bg)); - XFillRectangle(ioncore_g.dpy, brush->win, gc, geom->x, geom->y, - geom->w, geom->h); - } -@@ -513,7 +519,7 @@ - attr.background_pixmap=ParentRelative; - }else{ - attrflags=CWBackPixel; -- attr.background_pixel=brush->d->cgrp.bg; -+ attr.background_pixel=brush->d->PIXEL(cgrp.bg); - } - - XChangeWindowAttributes(ioncore_g.dpy, brush->win, attrflags, &attr); -@@ -529,7 +535,7 @@ - if(cg==NULL) - return; - -- XSetForeground(ioncore_g.dpy, gc, cg->bg); -+ XSetForeground(ioncore_g.dpy, gc, PIXEL(cg->bg)); - XFillRectangle(ioncore_g.dpy, brush->win, gc, - geom->x, geom->y, geom->w, geom->h); - } -diff -Naur ../work/ion-3/de/font.c ion-3ds-20070203/de/font.c ---- ../work/ion-3/de/font.c 2007-02-03 17:50:52.000000000 +0300 -+++ ion-3ds-20070203/de/font.c 2007-02-21 13:11:57.000000000 +0300 -@@ -14,7 +14,9 @@ - #include - #include - #include "font.h" -+#ifndef XFT - #include "fontset.h" -+#endif /* ! XFT */ - #include "brush.h" - - -@@ -26,6 +28,9 @@ - - DEFont *de_load_font(const char *fontname) - { -+#ifdef XFT -+ XftFont *font; -+#endif - DEFont *fnt; - XFontSet fontset=NULL; - XFontStruct *fontstruct=NULL; -@@ -40,6 +45,7 @@ - } - } - -+#ifndef XFT - if(ioncore_g.use_mb){ - fontset=de_create_font_set(fontname); - if(fontset!=NULL){ -@@ -66,13 +72,34 @@ - return NULL; - } - -+#else /* XFT */ -+ if(strncmp(fontname, "xft:", 4)==0){ -+ font=XftFontOpenName(ioncore_g.dpy, DefaultScreen(ioncore_g.dpy), -+ fontname+4); -+ }else{ -+ font=XftFontOpenXlfd(ioncore_g.dpy, DefaultScreen(ioncore_g.dpy), fontname); -+ } -+ -+ if(font==NULL){ -+ if(strcmp(fontname, CF_FALLBACK_FONT_NAME)!=0){ -+ warn(TR("Could not load font \"%s\", trying \"%s\""), -+ fontname, CF_FALLBACK_FONT_NAME); -+ return de_load_font(CF_FALLBACK_FONT_NAME); -+ } -+ return NULL; -+ } -+#endif /* XFT */ - fnt=ALLOC(DEFont); - - if(fnt==NULL) - return NULL; - -+#ifndef XFT - fnt->fontset=fontset; - fnt->fontstruct=fontstruct; -+#else -+ fnt->font=font; -+#endif - fnt->pattern=scopy(fontname); - fnt->next=NULL; - fnt->prev=NULL; -@@ -92,11 +119,13 @@ - style->font=font; - font->refcount++; - -+#ifndef XFT - if(style->font->fontstruct!=NULL){ - XSetFont(ioncore_g.dpy, style->normal_gc, - style->font->fontstruct->fid); - } - -+#endif /* ! XFT */ - return TRUE; - } - -@@ -111,11 +140,13 @@ - if(style->font==NULL) - return FALSE; - -+#ifndef XFT - if(style->font->fontstruct!=NULL){ - XSetFont(ioncore_g.dpy, style->normal_gc, - style->font->fontstruct->fid); - } - -+#endif /* ! XFT */ - return TRUE; - } - -@@ -125,10 +156,15 @@ - if(--font->refcount!=0) - return; - -+#ifndef XFT - if(font->fontset!=NULL) - XFreeFontSet(ioncore_g.dpy, font->fontset); - if(font->fontstruct!=NULL) - XFreeFont(ioncore_g.dpy, font->fontstruct); -+#else /* XFT */ -+ if(font->font!=NULL) -+ XftFontClose(ioncore_g.dpy, font->font); -+#endif /* XFT */ - if(font->pattern!=NULL) - free(font->pattern); - -@@ -156,6 +192,7 @@ - - void defont_get_font_extents(DEFont *font, GrFontExtents *fnte) - { -+#ifndef XFT - if(font->fontset!=NULL){ - XFontSetExtents *ext=XExtentsOfFontSet(font->fontset); - if(ext==NULL) -@@ -171,7 +208,14 @@ - fnte->baseline=fnt->ascent; - return; - } -- -+#else /* XFT */ -+ 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; -+ } -+#endif /* XFT */ - fail: - DE_RESET_FONT_EXTENTS(fnte); - } -@@ -188,20 +232,35 @@ - - uint defont_get_text_width(DEFont *font, const char *text, uint len) - { -+#ifndef XFT - if(font->fontset!=NULL){ - XRectangle lext; - #ifdef CF_DE_USE_XUTF8 -- if(ioncore_g.enc_utf8) -- Xutf8TextExtents(font->fontset, text, len, NULL, &lext); -- else -+ if(ioncore_g.enc_utf8) -+ Xutf8TextExtents(font->fontset, text, len, NULL, &lext); -+ else - #endif -- XmbTextExtents(font->fontset, text, len, NULL, &lext); -- return lext.width; -+ XmbTextExtents(font->fontset, text, len, NULL, &lext); -+ return lext.width; - }else if(font->fontstruct!=NULL){ - return XTextWidth(font->fontstruct, text, len); - }else{ - return 0; - } -+#else /* XFT */ -+ if(font->font!=NULL){ -+ XGlyphInfo extents; -+ if(ioncore_g.enc_utf8) -+ XftTextExtentsUtf8(ioncore_g.dpy, font->font, (XftChar8 *)text, len, -+ &extents); -+ else -+ XftTextExtents8(ioncore_g.dpy, font->font, (XftChar8 *)text, len, -+ &extents); -+ return extents.xOff; -+ }else{ -+ return 0; -+ } -+#endif /* XFT */ - } - - -@@ -211,6 +270,7 @@ - /*{{{ String drawing */ - - -+#ifndef XFT - void debrush_do_draw_string_default(DEBrush *brush, int x, int y, - const char *str, int len, bool needfill, - DEColourGroup *colours) -@@ -256,6 +316,41 @@ - } - } - -+#else /* XFT */ -+void debrush_do_draw_string_default(DEBrush *brush, -+ int x, int y, const char *str, -+ int len, bool needfill, -+ DEColourGroup *colours) -+{ -+ Window win = brush->win; -+ GC gc=brush->d->normal_gc; -+ XftDraw *draw; -+ XftFont *font; -+ -+ if(brush->d->font==NULL) -+ return; -+ -+ font=brush->d->font->font; -+ draw=debrush_get_draw(brush, win); -+ -+ if(needfill){ -+ XGlyphInfo extents; -+ if(ioncore_g.enc_utf8) -+ XftTextExtentsUtf8(ioncore_g.dpy, font, (XftChar8 *)str, len, -+ &extents); -+ else -+ XftTextExtents8(ioncore_g.dpy, font, (XftChar8 *)str, len, &extents); -+ XftDrawRect(draw, &(colours->bg), x-extents.x, y-extents.y, -+ extents.width+10, extents.height); -+ } -+ -+ if(ioncore_g.enc_utf8) -+ XftDrawStringUtf8(draw, &(colours->fg), font, x, y, (XftChar8 *)str, -+ len); -+ else -+ XftDrawString8(draw, &(colours->fg), font, x, y, (XftChar8 *)str, len); -+} -+#endif /* XFT */ - - void debrush_do_draw_string(DEBrush *brush, int x, int y, - const char *str, int len, bool needfill, -diff -Naur ../work/ion-3/de/font.h ion-3ds-20070203/de/font.h ---- ../work/ion-3/de/font.h 2007-02-03 17:50:52.000000000 +0300 -+++ ion-3ds-20070203/de/font.h 2007-02-21 13:11:57.000000000 +0300 -@@ -14,6 +14,9 @@ - - #include - #include -+#ifdef XFT -+#include -+#endif /* XFT */ - - INTRSTRUCT(DEFont); - -@@ -29,6 +32,9 @@ - int refcount; - XFontSet fontset; - XFontStruct *fontstruct; -+#ifdef XFT /* XFT */ -+ XftFont *font; -+#endif /* XFT */ - DEFont *next, *prev; - }; - -diff -Naur ../work/ion-3/de/init.c ion-3ds-20070203/de/init.c ---- ../work/ion-3/de/init.c 2007-02-03 17:50:52.000000000 +0300 -+++ ion-3ds-20070203/de/init.c 2007-02-21 13:11:57.000000000 +0300 -@@ -165,17 +165,26 @@ - { - bool bgset; - DEColour padinh; -- -+ DEColour black, white; -+ -+#ifdef XFT -+ de_alloc_colour(rootwin, &black, "black"); -+ de_alloc_colour(rootwin, &white, "white"); -+#else -+ black=DE_BLACK(rootwin); -+ white=DE_WHITE(rootwin); -+#endif -+ - de_get_colour(rootwin, &(cg->hl), tab, "highlight_colour", -- (based_on ? based_on->cgrp.hl : DE_WHITE(rootwin))); -+ (based_on ? based_on->cgrp.hl : white)); - de_get_colour(rootwin, &(cg->sh), tab, "shadow_colour", -- (based_on ? based_on->cgrp.sh : DE_WHITE(rootwin))); -+ (based_on ? based_on->cgrp.sh : white)); - de_get_colour(rootwin, &(cg->fg), tab, "foreground_colour", -- (based_on ? based_on->cgrp.fg : DE_WHITE(rootwin))); -+ (based_on ? based_on->cgrp.fg : white)); - bgset=de_get_colour(rootwin, &(cg->bg), tab, "background_colour", -- (based_on ? based_on->cgrp.bg : DE_BLACK(rootwin))); -+ (based_on ? based_on->cgrp.bg : black)); - -- padinh=(based_on ? based_on->cgrp.pad : DE_WHITE(rootwin)); -+ padinh=(based_on ? based_on->cgrp.pad : white); - - de_get_colour_(rootwin, &(cg->pad), tab, "padding_colour", - (bgset ? cg->bg : padinh), padinh); -diff -Naur ../work/ion-3/de/style.c ion-3ds-20070203/de/style.c ---- ../work/ion-3/de/style.c 2007-02-03 17:50:52.000000000 +0300 -+++ ion-3ds-20070203/de/style.c 2007-02-21 13:11:57.000000000 +0300 -@@ -74,10 +74,17 @@ - /*gcv.function=GXclear;*/ - gcv.stipple=stipple_pixmap; - gcvmask=GCFillStyle|GCStipple/*|GCFunction*/; -+#ifndef XFT - if(style->font!=NULL && style->font->fontstruct!=NULL){ - gcv.font=style->font->fontstruct->fid; - gcvmask|=GCFont; - } -+#else /* XFT */ -+// if(style->font!=NULL){ -+// gcv.font=style->font; -+// gcvmask|=GCFont; -+// } -+#endif /* XFT */ - - style->stipple_gc=XCreateGC(dpy, root, gcvmask, &gcv); - XCopyGC(dpy, style->normal_gc, -@@ -205,6 +212,14 @@ - - bool destyle_init(DEStyle *style, WRootWin *rootwin, const char *name) - { -+ DEColour black, white; -+#ifdef XFT -+ de_alloc_colour(rootwin, &black, "black"); -+ de_alloc_colour(rootwin, &white, "white"); -+#else -+ black=DE_BLACK(rootwin); -+ white=DE_WHITE(rootwin); -+#endif /* XFT */ - if(!gr_stylespec_load(&style->spec, name)) - return FALSE; - -@@ -226,11 +241,11 @@ - style->textalign=DEALIGN_CENTER; - - style->cgrp_alloced=FALSE; -- 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); -+ style->cgrp.bg=black; -+ style->cgrp.pad=black; -+ style->cgrp.fg=white; -+ style->cgrp.hl=white; -+ style->cgrp.sh=white; - gr_stylespec_init(&style->cgrp.spec); - - style->font=NULL; -diff -Naur ../work/ion-3/de/style.h ion-3ds-20070203/de/style.h ---- ../work/ion-3/de/style.h 2007-02-03 17:50:52.000000000 +0300 -+++ ion-3ds-20070203/de/style.h 2007-02-21 13:11:57.000000000 +0300 -@@ -76,6 +76,7 @@ - Pixmap tag_pixmap; - int tag_pixmap_w; - int tag_pixmap_h; -+ int xft_style; - - DEStyle *next, *prev; - }; ---- ../work/ion-3/system.mk 2007-05-10 22:45:16.000000000 +0400 -+++ ion-3ds-20070203/system.mk 2007-05-10 22:45:07.000000000 +0400 -@@ -115,6 +115,16 @@ - #EXTRA_LIBS += -lintl - #EXTRA_INCLUDES += - -+## -+## Xft support -+## -+ -+#USE_XFT=1 -+ -+ifeq ($(USE_XFT),1) -+EXTRA_INCLUDES += `xft-config --cflags` -DXFT -+EXTRA_LIBS += `xft-config --libs` -+endif - - ## - ## C compiler diff --git a/ion3/files/xft-ion3-20070608.patch b/ion3/files/xft-ion3-20070608.patch deleted file mode 100644 index 0cff558..0000000 --- a/ion3/files/xft-ion3-20070608.patch +++ /dev/null @@ -1,669 +0,0 @@ -diff -Naur ../work/ion-3/de/brush.c ion-3ds-20070203/de/brush.c ---- ../work/ion-3/de/brush.c 2007-02-03 17:50:52.000000000 +0300 -+++ ion-3ds-20070203/de/brush.c 2007-02-21 13:11:57.000000000 +0300 -@@ -47,6 +47,9 @@ - - gr_stylespec_init(&brush->current_attr); - -+#ifdef XFT -+ brush->draw=NULL; -+#endif /* XFT */ - style->usecount++; - - if(!grbrush_init(&(brush->grbrush))){ -@@ -127,6 +130,10 @@ - { - destyle_unref(brush->d); - brush->d=NULL; -+#ifdef XFT -+ if(brush->draw!=NULL) -+ XftDrawDestroy(brush->draw); -+#endif /* XFT */ - gr_stylespec_unalloc(&brush->current_attr); - grbrush_deinit(&(brush->grbrush)); - } -@@ -138,6 +145,21 @@ - } - - -+#ifdef XFT -+XftDraw *debrush_get_draw(DEBrush *brush, Drawable d) -+{ -+ if(brush->draw==NULL) -+ brush->draw=XftDrawCreate(ioncore_g.dpy, d, -+ XftDEDefaultVisual(), -+ DefaultColormap(ioncore_g.dpy, -+ 0)); -+ else -+ XftDrawChange(brush->draw, d); -+ -+ return brush->draw; -+} -+#endif -+ - /*}}}*/ - - -diff -Naur ../work/ion-3/de/brush.h ion-3ds-20070203/de/brush.h ---- ../work/ion-3/de/brush.h 2007-02-03 17:50:52.000000000 +0300 -+++ ion-3ds-20070203/de/brush.h 2007-02-21 13:11:57.000000000 +0300 -@@ -17,6 +17,9 @@ - #include - #include - #include -+#ifdef XFT -+#include -+#endif /* XFT */ - - INTRCLASS(DEBrush); - -@@ -36,6 +39,9 @@ - DECLCLASS(DEBrush){ - GrBrush grbrush; - DEStyle *d; -+#ifdef XFT -+ XftDraw *draw; -+#endif - DEBrushExtrasFn *extras_fn; - int indicator_w; - Window win; -@@ -111,5 +117,8 @@ - extern void debrush_fill_area(DEBrush *brush, const WRectangle *geom); - extern void debrush_clear_area(DEBrush *brush, const WRectangle *geom); - -+#ifdef XFT -+XftDraw *debrush_get_draw(DEBrush *brush, Drawable d); -+#endif - - #endif /* ION_DE_BRUSH_H */ -diff -Naur ../work/ion-3/de/colour.c ion-3ds-20070203/de/colour.c ---- ../work/ion-3/de/colour.c 2007-02-03 17:50:52.000000000 +0300 -+++ ion-3ds-20070203/de/colour.c 2007-02-21 13:11:57.000000000 +0300 -@@ -15,9 +15,21 @@ - - bool de_alloc_colour(WRootWin *rootwin, DEColour *ret, const char *name) - { -+#ifndef XFT - XColor c; - bool ok=FALSE; -+#else /* XFT */ -+ if(name==NULL) -+ return FALSE; -+ return XftColorAllocName( -+ ioncore_g.dpy, -+ XftDEDefaultVisual(), -+ rootwin->default_cmap, -+ name, -+ ret); -+#endif /* XFT */ - -+#ifndef XFT - if(name==NULL) - return FALSE; - -@@ -28,11 +40,13 @@ - } - - return ok; -+#endif /* ! XFT */ - } - - - bool de_duplicate_colour(WRootWin *rootwin, DEColour in, DEColour *out) - { -+#ifndef XFT - XColor c; - c.pixel=in; - XQueryColor(ioncore_g.dpy, rootwin->default_cmap, &c); -@@ -41,11 +55,20 @@ - return TRUE; - } - return FALSE; -+#else /* XFT */ -+ return XftColorAllocName( -+ ioncore_g.dpy, -+ XftDEDefaultVisual(), -+ rootwin->default_cmap, -+ &(in.color), -+ out); -+#endif /* XFT */ - } - - - void de_free_colour_group(WRootWin *rootwin, DEColourGroup *cg) - { -+#ifndef XFT - DEColour pixels[5]; - - pixels[0]=cg->bg; -@@ -57,15 +80,26 @@ - XFreeColors(ioncore_g.dpy, rootwin->default_cmap, pixels, 5, 0); - - gr_stylespec_unalloc(&cg->spec); -+#else /* XFT */ -+ 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); -+#endif /* XFT */ - } - - - void de_free_colour(WRootWin *rootwin, DEColour col) - { -+#ifndef XFT - DEColour pixels[1]; - - pixels[0]=col; - - XFreeColors(ioncore_g.dpy, rootwin->default_cmap, pixels, 1, 0); -+#else /* XFT */ -+ XftColorFree(ioncore_g.dpy, XftDEDefaultVisual(), rootwin->default_cmap, &col); -+#endif /* XFT */ - } - -diff -Naur ../work/ion-3/de/colour.h ion-3ds-20070203/de/colour.h ---- ../work/ion-3/de/colour.h 2007-02-03 17:50:52.000000000 +0300 -+++ ion-3ds-20070203/de/colour.h 2007-02-21 13:11:57.000000000 +0300 -@@ -15,12 +15,19 @@ - #include - #include - #include -+#ifdef XFT -+#include -+#endif /* XFT */ - - - INTRSTRUCT(DEColourGroup); - - -+#ifndef XFT - typedef unsigned long DEColour; -+#else /* XFT */ -+typedef XftColor DEColour; -+#endif /* XFT */ - - - DECLSTRUCT(DEColourGroup){ -@@ -37,5 +44,6 @@ - bool de_duplicate_colour(WRootWin *rootwin, DEColour in, DEColour *out); - void de_free_colour_group(WRootWin *rootwin, DEColourGroup *cg); - void de_free_colour(WRootWin *rootwin, DEColour col); -+#define XftDEDefaultVisual() DefaultVisual(ioncore_g.dpy, 0) - - #endif /* ION_DE_COLOUR_H */ -diff -Naur ../work/ion-3/de/draw.c ion-3ds-20070203/de/draw.c ---- ../work/ion-3/de/draw.c 2007-02-03 17:50:52.000000000 +0300 -+++ ion-3ds-20070203/de/draw.c 2007-02-21 13:11:57.000000000 +0300 -@@ -22,6 +22,14 @@ - #include - - -+#ifndef XFT -+#define PIXEL(x) x -+#else /* XFT */ -+#define PIXEL(x) x.pixel -+#endif /* XFT */ -+ -+ -+ - /*{{{ Colour group lookup */ - - -@@ -86,8 +94,7 @@ - w--; - h--; - -- XSetForeground(ioncore_g.dpy, gc, tlc); -- -+ XSetForeground(ioncore_g.dpy, gc, PIXEL(tlc)); - - a=(br!=0); - b=0; -@@ -104,9 +111,8 @@ - - XDrawLines(ioncore_g.dpy, win, gc, points, 3, CoordModeOrigin); - } -- - -- XSetForeground(ioncore_g.dpy, gc, brc); -+ XSetForeground(ioncore_g.dpy, gc, PIXEL(brc)); - - a=(tl!=0); - b=0; -@@ -143,23 +143,23 @@ - GrBorderLine line) - { - if(line==GR_BORDERLINE_LEFT && geom->h>0 && tl>0){ -- XSetForeground(ioncore_g.dpy, gc, tlc); -- XSetBackground(ioncore_g.dpy, gc, tlc); -+ XSetForeground(ioncore_g.dpy, gc, PIXEL(tlc)); -+ XSetBackground(ioncore_g.dpy, gc, PIXEL(tlc)); - XFillRectangle(ioncore_g.dpy, win, gc, geom->x, geom->y, tl, geom->h); - geom->x+=tl; - }else if(line==GR_BORDERLINE_TOP && geom->w>0 && tl>0){ -- XSetForeground(ioncore_g.dpy, gc, tlc); -- XSetBackground(ioncore_g.dpy, gc, tlc); -+ XSetForeground(ioncore_g.dpy, gc, PIXEL(tlc)); -+ XSetBackground(ioncore_g.dpy, gc, PIXEL(tlc)); - XFillRectangle(ioncore_g.dpy, win, gc, geom->x, geom->y, geom->w, tl); - geom->y+=tl; - }else if(line==GR_BORDERLINE_RIGHT && geom->h>0 && br>0){ -- XSetForeground(ioncore_g.dpy, gc, brc); -- XSetBackground(ioncore_g.dpy, gc, brc); -+ XSetForeground(ioncore_g.dpy, gc, PIXEL(brc)); -+ XSetBackground(ioncore_g.dpy, gc, PIXEL(brc)); - XFillRectangle(ioncore_g.dpy, win, gc, geom->x+geom->w-br, geom->y, br, geom->h); - geom->w-=br; - }else if(line==GR_BORDERLINE_BOTTOM && geom->w>0 && br>0){ -- XSetForeground(ioncore_g.dpy, gc, brc); -- XSetBackground(ioncore_g.dpy, gc, brc); -+ XSetForeground(ioncore_g.dpy, gc, PIXEL(brc)); -+ XSetBackground(ioncore_g.dpy, gc, PIXEL(brc)); - XFillRectangle(ioncore_g.dpy, win, gc, geom->x, geom->y+geom->h-br, geom->w, br); - geom->h-=br; - } -@@ -293,7 +299,7 @@ - } - - if(ISSET(a2, GR_ATTR(tagged)) || ISSET(a1, GR_ATTR(tagged))){ -- XSetForeground(ioncore_g.dpy, d->copy_gc, cg->fg); -+ XSetForeground(ioncore_g.dpy, d->copy_gc, PIXEL(cg->fg)); - - copy_masked(brush, d->tag_pixmap, brush->win, 0, 0, - d->tag_pixmap_w, d->tag_pixmap_h, -@@ -348,7 +354,7 @@ - GC gc=brush->d->normal_gc; - - if(TRUE/*needfill*/){ -- XSetForeground(ioncore_g.dpy, gc, cg->bg); -+ XSetForeground(ioncore_g.dpy, gc, PIXEL(cg->bg)); - XFillRectangle(ioncore_g.dpy, brush->win, gc, geom->x, geom->y, - geom->w, geom->h); - } -@@ -513,7 +519,7 @@ - attr.background_pixmap=ParentRelative; - }else{ - attrflags=CWBackPixel; -- attr.background_pixel=brush->d->cgrp.bg; -+ attr.background_pixel=brush->d->PIXEL(cgrp.bg); - } - - XChangeWindowAttributes(ioncore_g.dpy, brush->win, attrflags, &attr); -@@ -529,7 +535,7 @@ - if(cg==NULL) - return; - -- XSetForeground(ioncore_g.dpy, gc, cg->bg); -+ XSetForeground(ioncore_g.dpy, gc, PIXEL(cg->bg)); - XFillRectangle(ioncore_g.dpy, brush->win, gc, - geom->x, geom->y, geom->w, geom->h); - } -diff -Naur ../work/ion-3/de/font.c ion-3ds-20070203/de/font.c ---- ../work/ion-3/de/font.c 2007-02-03 17:50:52.000000000 +0300 -+++ ion-3ds-20070203/de/font.c 2007-02-21 13:11:57.000000000 +0300 -@@ -14,7 +14,9 @@ - #include - #include - #include "font.h" -+#ifndef XFT - #include "fontset.h" -+#endif /* ! XFT */ - #include "brush.h" - - -@@ -26,6 +28,9 @@ - - DEFont *de_load_font(const char *fontname) - { -+#ifdef XFT -+ XftFont *font; -+#endif - DEFont *fnt; - XFontSet fontset=NULL; - XFontStruct *fontstruct=NULL; -@@ -40,6 +45,7 @@ - } - } - -+#ifndef XFT - if(ioncore_g.use_mb){ - fontset=de_create_font_set(fontname); - if(fontset!=NULL){ -@@ -66,13 +72,34 @@ - return NULL; - } - -+#else /* XFT */ -+ if(strncmp(fontname, "xft:", 4)==0){ -+ font=XftFontOpenName(ioncore_g.dpy, DefaultScreen(ioncore_g.dpy), -+ fontname+4); -+ }else{ -+ font=XftFontOpenXlfd(ioncore_g.dpy, DefaultScreen(ioncore_g.dpy), fontname); -+ } -+ -+ if(font==NULL){ -+ if(strcmp(fontname, CF_FALLBACK_FONT_NAME)!=0){ -+ warn(TR("Could not load font \"%s\", trying \"%s\""), -+ fontname, CF_FALLBACK_FONT_NAME); -+ return de_load_font(CF_FALLBACK_FONT_NAME); -+ } -+ return NULL; -+ } -+#endif /* XFT */ - fnt=ALLOC(DEFont); - - if(fnt==NULL) - return NULL; - -+#ifndef XFT - fnt->fontset=fontset; - fnt->fontstruct=fontstruct; -+#else -+ fnt->font=font; -+#endif - fnt->pattern=scopy(fontname); - fnt->next=NULL; - fnt->prev=NULL; -@@ -92,11 +119,13 @@ - style->font=font; - font->refcount++; - -+#ifndef XFT - if(style->font->fontstruct!=NULL){ - XSetFont(ioncore_g.dpy, style->normal_gc, - style->font->fontstruct->fid); - } - -+#endif /* ! XFT */ - return TRUE; - } - -@@ -111,11 +140,13 @@ - if(style->font==NULL) - return FALSE; - -+#ifndef XFT - if(style->font->fontstruct!=NULL){ - XSetFont(ioncore_g.dpy, style->normal_gc, - style->font->fontstruct->fid); - } - -+#endif /* ! XFT */ - return TRUE; - } - -@@ -125,10 +156,15 @@ - if(--font->refcount!=0) - return; - -+#ifndef XFT - if(font->fontset!=NULL) - XFreeFontSet(ioncore_g.dpy, font->fontset); - if(font->fontstruct!=NULL) - XFreeFont(ioncore_g.dpy, font->fontstruct); -+#else /* XFT */ -+ if(font->font!=NULL) -+ XftFontClose(ioncore_g.dpy, font->font); -+#endif /* XFT */ - if(font->pattern!=NULL) - free(font->pattern); - -@@ -156,6 +192,7 @@ - - void defont_get_font_extents(DEFont *font, GrFontExtents *fnte) - { -+#ifndef XFT - if(font->fontset!=NULL){ - XFontSetExtents *ext=XExtentsOfFontSet(font->fontset); - if(ext==NULL) -@@ -171,7 +208,14 @@ - fnte->baseline=fnt->ascent; - return; - } -- -+#else /* XFT */ -+ 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; -+ } -+#endif /* XFT */ - fail: - DE_RESET_FONT_EXTENTS(fnte); - } -@@ -188,20 +232,35 @@ - - uint defont_get_text_width(DEFont *font, const char *text, uint len) - { -+#ifndef XFT - if(font->fontset!=NULL){ - XRectangle lext; - #ifdef CF_DE_USE_XUTF8 -- if(ioncore_g.enc_utf8) -- Xutf8TextExtents(font->fontset, text, len, NULL, &lext); -- else -+ if(ioncore_g.enc_utf8) -+ Xutf8TextExtents(font->fontset, text, len, NULL, &lext); -+ else - #endif -- XmbTextExtents(font->fontset, text, len, NULL, &lext); -- return lext.width; -+ XmbTextExtents(font->fontset, text, len, NULL, &lext); -+ return lext.width; - }else if(font->fontstruct!=NULL){ - return XTextWidth(font->fontstruct, text, len); - }else{ - return 0; - } -+#else /* XFT */ -+ if(font->font!=NULL){ -+ XGlyphInfo extents; -+ if(ioncore_g.enc_utf8) -+ XftTextExtentsUtf8(ioncore_g.dpy, font->font, (XftChar8 *)text, len, -+ &extents); -+ else -+ XftTextExtents8(ioncore_g.dpy, font->font, (XftChar8 *)text, len, -+ &extents); -+ return extents.xOff; -+ }else{ -+ return 0; -+ } -+#endif /* XFT */ - } - - -@@ -211,6 +270,7 @@ - /*{{{ String drawing */ - - -+#ifndef XFT - void debrush_do_draw_string_default(DEBrush *brush, int x, int y, - const char *str, int len, bool needfill, - DEColourGroup *colours) -@@ -256,6 +316,41 @@ - } - } - -+#else /* XFT */ -+void debrush_do_draw_string_default(DEBrush *brush, -+ int x, int y, const char *str, -+ int len, bool needfill, -+ DEColourGroup *colours) -+{ -+ Window win = brush->win; -+ GC gc=brush->d->normal_gc; -+ XftDraw *draw; -+ XftFont *font; -+ -+ if(brush->d->font==NULL) -+ return; -+ -+ font=brush->d->font->font; -+ draw=debrush_get_draw(brush, win); -+ -+ if(needfill){ -+ XGlyphInfo extents; -+ if(ioncore_g.enc_utf8) -+ XftTextExtentsUtf8(ioncore_g.dpy, font, (XftChar8 *)str, len, -+ &extents); -+ else -+ XftTextExtents8(ioncore_g.dpy, font, (XftChar8 *)str, len, &extents); -+ XftDrawRect(draw, &(colours->bg), x-extents.x, y-extents.y, -+ extents.width+10, extents.height); -+ } -+ -+ if(ioncore_g.enc_utf8) -+ XftDrawStringUtf8(draw, &(colours->fg), font, x, y, (XftChar8 *)str, -+ len); -+ else -+ XftDrawString8(draw, &(colours->fg), font, x, y, (XftChar8 *)str, len); -+} -+#endif /* XFT */ - - void debrush_do_draw_string(DEBrush *brush, int x, int y, - const char *str, int len, bool needfill, -diff -Naur ../work/ion-3/de/font.h ion-3ds-20070203/de/font.h ---- ../work/ion-3/de/font.h 2007-02-03 17:50:52.000000000 +0300 -+++ ion-3ds-20070203/de/font.h 2007-02-21 13:11:57.000000000 +0300 -@@ -14,6 +14,9 @@ - - #include - #include -+#ifdef XFT -+#include -+#endif /* XFT */ - - INTRSTRUCT(DEFont); - -@@ -29,6 +32,9 @@ - int refcount; - XFontSet fontset; - XFontStruct *fontstruct; -+#ifdef XFT /* XFT */ -+ XftFont *font; -+#endif /* XFT */ - DEFont *next, *prev; - }; - -diff -Naur ../work/ion-3/de/init.c ion-3ds-20070203/de/init.c ---- ../work/ion-3/de/init.c 2007-02-03 17:50:52.000000000 +0300 -+++ ion-3ds-20070203/de/init.c 2007-02-21 13:11:57.000000000 +0300 -@@ -165,17 +165,26 @@ - { - bool bgset; - DEColour padinh; -- -+ DEColour black, white; -+ -+#ifdef XFT -+ de_alloc_colour(rootwin, &black, "black"); -+ de_alloc_colour(rootwin, &white, "white"); -+#else -+ black=DE_BLACK(rootwin); -+ white=DE_WHITE(rootwin); -+#endif -+ - de_get_colour(rootwin, &(cg->hl), tab, "highlight_colour", -- (based_on ? based_on->cgrp.hl : DE_WHITE(rootwin))); -+ (based_on ? based_on->cgrp.hl : white)); - de_get_colour(rootwin, &(cg->sh), tab, "shadow_colour", -- (based_on ? based_on->cgrp.sh : DE_WHITE(rootwin))); -+ (based_on ? based_on->cgrp.sh : white)); - de_get_colour(rootwin, &(cg->fg), tab, "foreground_colour", -- (based_on ? based_on->cgrp.fg : DE_WHITE(rootwin))); -+ (based_on ? based_on->cgrp.fg : white)); - bgset=de_get_colour(rootwin, &(cg->bg), tab, "background_colour", -- (based_on ? based_on->cgrp.bg : DE_BLACK(rootwin))); -+ (based_on ? based_on->cgrp.bg : black)); - -- padinh=(based_on ? based_on->cgrp.pad : DE_WHITE(rootwin)); -+ padinh=(based_on ? based_on->cgrp.pad : white); - - de_get_colour_(rootwin, &(cg->pad), tab, "padding_colour", - (bgset ? cg->bg : padinh), padinh); -diff -Naur ../work/ion-3/de/style.c ion-3ds-20070203/de/style.c ---- ../work/ion-3/de/style.c 2007-02-03 17:50:52.000000000 +0300 -+++ ion-3ds-20070203/de/style.c 2007-02-21 13:11:57.000000000 +0300 -@@ -74,10 +74,17 @@ - /*gcv.function=GXclear;*/ - gcv.stipple=stipple_pixmap; - gcvmask=GCFillStyle|GCStipple/*|GCFunction*/; -+#ifndef XFT - if(style->font!=NULL && style->font->fontstruct!=NULL){ - gcv.font=style->font->fontstruct->fid; - gcvmask|=GCFont; - } -+#else /* XFT */ -+// if(style->font!=NULL){ -+// gcv.font=style->font; -+// gcvmask|=GCFont; -+// } -+#endif /* XFT */ - - style->stipple_gc=XCreateGC(dpy, root, gcvmask, &gcv); - XCopyGC(dpy, style->normal_gc, -@@ -205,6 +212,14 @@ - - bool destyle_init(DEStyle *style, WRootWin *rootwin, const char *name) - { -+ DEColour black, white; -+#ifdef XFT -+ de_alloc_colour(rootwin, &black, "black"); -+ de_alloc_colour(rootwin, &white, "white"); -+#else -+ black=DE_BLACK(rootwin); -+ white=DE_WHITE(rootwin); -+#endif /* XFT */ - if(!gr_stylespec_load(&style->spec, name)) - return FALSE; - -@@ -226,11 +241,11 @@ - style->textalign=DEALIGN_CENTER; - - style->cgrp_alloced=FALSE; -- 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); -+ style->cgrp.bg=black; -+ style->cgrp.pad=black; -+ style->cgrp.fg=white; -+ style->cgrp.hl=white; -+ style->cgrp.sh=white; - gr_stylespec_init(&style->cgrp.spec); - - style->font=NULL; -diff -Naur ../work/ion-3/de/style.h ion-3ds-20070203/de/style.h ---- ../work/ion-3/de/style.h 2007-02-03 17:50:52.000000000 +0300 -+++ ion-3ds-20070203/de/style.h 2007-02-21 13:11:57.000000000 +0300 -@@ -76,6 +76,7 @@ - Pixmap tag_pixmap; - int tag_pixmap_w; - int tag_pixmap_h; -+ int xft_style; - - DEStyle *next, *prev; - }; ---- ../work/ion-3/system.mk 2007-05-10 22:45:16.000000000 +0400 -+++ ion-3ds-20070203/system.mk 2007-05-10 22:45:07.000000000 +0400 -@@ -115,6 +115,16 @@ - #EXTRA_LIBS += -lintl - #EXTRA_INCLUDES += - -+## -+## Xft support -+## -+ -+#USE_XFT=1 -+ -+ifeq ($(USE_XFT),1) -+EXTRA_INCLUDES += `xft-config --cflags` -DXFT -+EXTRA_LIBS += `xft-config --libs` -+endif - - ## - ## C compiler diff --git a/ion3/ion3-20060326.ebuild b/ion3/ion3-20060326.ebuild deleted file mode 100644 index 2ee0294..0000000 --- a/ion3/ion3-20060326.ebuild +++ /dev/null @@ -1,84 +0,0 @@ -# Copyright 1999-2007 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-wm/ion3/ion3-20060326.ebuild,v 1.4 2007/06/05 13:29:53 mabi Exp $ - -inherit eutils - -MY_PV=${PV/_p/-} -MY_PN=ion-3ds-${MY_PV} -DESCRIPTION="A tiling tabbed window manager designed with keyboard users in mind" -HOMEPAGE="http://www.iki.fi/tuomov/ion/" -SRC_URI="http://modeemi.cs.tut.fi/~tuomov/ion/dl/${MY_PN}.tar.gz" -LICENSE="LGPL-2.1" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86" -IUSE="ion3-voidupstreamsupport-truetype xinerama" -DEPEND=" - || ( - ( - x11-libs/libICE - x11-libs/libSM - x11-libs/libXext - ion3-voidupstreamsupport-truetype? ( x11-libs/libXft ) - xinerama? ( x11-libs/libXinerama ) - ) - virtual/x11 - ) - app-misc/run-mailcap - =dev-lang/lua-5.0*" -S=${WORKDIR}/${MY_PN} - -src_unpack() { - unpack ${A} - use ion3-voidupstreamsupport-truetype && epatch ${FILESDIR}/ion3-20060326-truetype.patch -} - -src_compile() { - - autoreconf -i - - local myconf="" - - if has_version '>=x11-base/xfree-4.3.0'; then - myconf="${myconf} --disable-xfree86-textprop-bug-workaround" - fi - - use hppa && myconf="${myconf} --disable-shared" - - econf \ - --sysconfdir=/etc/X11 \ - `use_enable ion3-voidupstreamsupport-truetype xft` \ - `use_enable xinerama` \ - ${myconf} || die - - make \ - DOCDIR=/usr/share/doc/${PF} || die - -} - -src_install() { - - make \ - prefix=${D}/usr \ - ETCDIR=${D}/etc/X11/ion3 \ - SHAREDIR=${D}/usr/share/ion3 \ - MANDIR=${D}/usr/share/man \ - DOCDIR=${D}/usr/share/doc/${PF} \ - LOCALEDIR=${D}/usr/share/locale \ - LIBDIR=${D}/usr/lib \ - MODULEDIR=${D}/usr/lib/ion3/mod \ - LCDIR=${D}/usr/lib/ion3/lc \ - VARDIR=${D}/var/cache/ion3 \ - install || die - - prepalldocs - - echo -e "#!/bin/sh\n/usr/bin/ion3" > ${T}/ion3 - echo -e "#!/bin/sh\n/usr/bin/pwm3" > ${T}/pwm3 - exeinto /etc/X11/Sessions - doexe ${T}/ion3 ${T}/pwm3 - - insinto /usr/share/xsessions - doins ${FILESDIR}/ion3.desktop ${FILESDIR}/pwm3.desktop - -} diff --git a/ion3/ion3-20061223.ebuild b/ion3/ion3-20061223.ebuild deleted file mode 100644 index a261c83..0000000 --- a/ion3/ion3-20061223.ebuild +++ /dev/null @@ -1,175 +0,0 @@ -# Copyright 1999-2007 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-wm/ion3/ion3-20061223.ebuild,v 1.6 2007/06/05 13:29:53 mabi Exp $ - -inherit autotools eutils - -MY_PV=${PV/_p/-} -MY_PN=ion-3ds-${MY_PV} - -SCRIPTS_PV=20061214 -SCRIPTS_PN=ion3-scripts - -IONFLUX_PV=20061022 -IONFLUX_PN=ion3-mod-ionflux - -IONXRANDR_PV=20061021 -IONXRANDR_PN=ion3-mod-xrandr - - -DESCRIPTION="A tiling tabbed window manager designed with keyboard users in mind" -HOMEPAGE="http://www.iki.fi/tuomov/ion/" -SRC_URI="http://iki.fi/tuomov/dl/${MY_PN}.tar.gz - mirror://debian/pool/main/i/${SCRIPTS_PN}/${SCRIPTS_PN}_${SCRIPTS_PV}.orig.tar.gz - mirror://debian/pool/main/i/${IONFLUX_PN}/${IONFLUX_PN}_${IONFLUX_PV}.orig.tar.gz - mirror://gentoo/${IONXRANDR_PN}-${IONXRANDR_PV}.tar.bz2 - ion3-voidupstreamsupport-truetype? ( - http://clemens.endorphin.org/patches/xft-ion3-for-darcs-20061202.diff )" -LICENSE="LGPL-2.1" -SLOT="0" -KEYWORDS="~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86" -IUSE="xinerama unicode ion3-voidupstreamsupport-truetype" -DEPEND=" - || ( - ( - x11-libs/libICE - x11-libs/libXext - x11-libs/libSM - ion3-voidupstreamsupport-truetype? ( x11-libs/libXft ) - xinerama? ( x11-libs/libXinerama ) - ) - virtual/x11 - ) - app-misc/run-mailcap - >=dev-lang/lua-5.1.1" -S=${WORKDIR}/${MY_PN} - -SCRIPTS_DIRS="keybindings scripts statusbar statusd styles" - -src_unpack() { - unpack ${A} - cd ${S} - EPATCH_SOURCE="${FILESDIR}/${PV}" EPATCH_SUFFIX="patch" epatch - -# use ion3-voidupstreamsupport-truetype && epatch ${DISTDIR}/xft-ion3-for-darcs-20061202.diff - use ion3-voidupstreamsupport-truetype && patch -p1 < ${DISTDIR}/xft-ion3-for-darcs-20061202.diff - - # Rewrite install directories to be prefixed by DESTDIR for sake of portage's sandbox - sed -i Makefile */Makefile */*/Makefile build/rules.mk \ - -e 's!\($(INSTALL\w*)\|rm -f\|ln -s\)\(.*\)\($(\w\+DIR)\)!\1\2$(DESTDIR)\3!g' - - for i in "${IONFLUX_PN}-${IONFLUX_PV}" "${IONXRANDR_PN}-${IONXRANDR_PV}" - do - cd ${WORKDIR}/${i} - # Rewrite install directories to be prefixed by DESTDIR for sake of portage's sandbox - sed -i Makefile */Makefile \ - -e 's!\($(INSTALL\w*)\|rm -f\|ln -s\)\(.*\)\($(\w\+DIR)\)!\1\2$(DESTDIR)\3!g' - done - cd ${S} - - # Hey guys! Implicit rules apply to include statements also. Be more careful! - # Fix an implicit rule that will kill the installation by rewriting a .mk - # should configure be given just the right set of options. - sed -i 's!%: %.in!ion-completeman: %: %.in!g' utils/Makefile - - cd ${S}/build/ac/ - # for the first instance of DEFINES, add XINERAMA - use xinerama && \ - ( - sed -i 's!\(DEFINES *+=\)!\1 -DCF_XINERAMA !' system-ac.mk.in - sed -i 's!\(LIBS="$LIBS.*\)"!\1 $XINERAMA_LIBS"!' configure.ac - ) - - cd ${S}/build/ac/ - eautoreconf - - # FIX for modules - cd ${WORKDIR} - ln -s ${MY_PN} ion-3 -} - -src_compile() { - local myconf="" - - myconf="${myconf} `use_enable ion3-voidupstreamsupport-truetype xft`" - - # xfree - if has_version '>=x11-base/xfree-4.3.0'; then - myconf="${myconf} --disable-xfree86-textprop-bug-workaround" - fi - - # help out this arch as it can't handle certain shared library linkage - use hppa && myconf="${myconf} --disable-shared" - - # unicode support - use unicode && myconf="${myconf} --enable-Xutf8" - - # configure bug, only specify xinerama to not have it - myconf="${myconf} `use_enable xinerama`" - - cd build/ac/ -# ${S}/build/ac/configure \ - econf \ - ${myconf} \ - --sysconfdir=/etc/X11 \ - --with-lua-prefix=/usr - - cd ${S} - make \ - DOCDIR=/usr/share/doc/${PF} || die - - for i in "${IONFLUX_PN}-${IONFLUX_PV}" "${IONXRANDR_PN}-${IONXRANDR_PV}" ; do - cd ${WORKDIR}/${i} - - emake \ - prefix=/usr \ - ETCDIR=/etc/X11/ion3 \ - SHAREDIR=/usr/share/ion3 \ - MANDIR=/usr/share/man \ - DOCDIR=/usr/share/doc/${PF} \ - LOCALEDIR=/usr/share/locale \ - LIBDIR=/usr/lib \ - MODULEDIR=/usr/lib/ion3/mod \ - LCDIR=/usr/lib/ion3/lc \ - VARDIR=/var/cache/ion3 - done -} - -src_install() { - - emake \ - DESTDIR=${D} \ - install || die - - prepalldocs - - echo -e "#!/bin/sh\n/usr/bin/ion3" > ${T}/ion3 - echo -e "#!/bin/sh\n/usr/bin/pwm3" > ${T}/pwm3 - exeinto /etc/X11/Sessions - doexe ${T}/ion3 ${T}/pwm3 - - insinto /usr/share/xsessions - doins ${FILESDIR}/ion3.desktop ${FILESDIR}/pwm3.desktop - - cd ${WORKDIR}/${SCRIPTS_PN}-${SCRIPTS_PV} - insinto /usr/share/ion3 - find $SCRIPTS_DIRS -type f |\ - while read FILE ; do - doins $PWD/$FILE - done - -# dodir /usr/share/ion3 -# cp -R * ${D}/usr/share/ion3 - - for i in "${IONFLUX_PN}-${IONFLUX_PV}" "${IONXRANDR_PN}-${IONXRANDR_PV}" ; do - cd ${WORKDIR}/${i} - - emake \ - DESTDIR=${D} \ - install || die - - done - - echo '--dopath("mod_ionflux")' >> ${D}/etc/X11/ion3/cfg_modules.lua - echo 'dopath("mod_xrandr")' >> ${D}/etc/X11/ion3/cfg_modules.lua -} diff --git a/ion3/ion3-20070506-r1.ebuild b/ion3/ion3-20070506-r1.ebuild deleted file mode 100644 index aa230f3..0000000 --- a/ion3/ion3-20070506-r1.ebuild +++ /dev/null @@ -1,195 +0,0 @@ -# Copyright 1999-2007 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-wm/ion3/ion3-20070506-r1.ebuild,v 1.3 2007/06/03 15:08:02 mabi Exp $ - -inherit eutils flag-o-matic - -MY_PV=${PV/_p/-} -MY_PN=ion-3rc-${MY_PV} - -SCRIPTS_PV=20070510 -SCRIPTS_PN=ion3-scripts - -IONFLUX_PV=20070512 -IONFLUX_PN=ion3-mod-ionflux - -IONXRANDR_PV=20070410 -IONXRANDR_PN=ion3-mod-xrandr - -IONDOC_PV=20070506 -IONDOC_PN=ion-doc-3rc - -DESCRIPTION="A tiling tabbed window manager designed with keyboard users in mind" -HOMEPAGE="http://www.iki.fi/tuomov/ion/" -SRC_URI="http://iki.fi/tuomov/dl/${MY_PN}.tar.gz - mirror://gentoo/${SCRIPTS_PN}-${SCRIPTS_PV}.tar.bz2 - mirror://gentoo/${IONXRANDR_PN}-${IONXRANDR_PV}.tar.bz2 - mirror://gentoo/${IONFLUX_PN}-${IONFLUX_PV}.tar.bz2 - doc? ( http://iki.fi/tuomov/dl/${IONDOC_PN}-${IONDOC_PV}.tar.gz )" - -LICENSE="LGPL-2.1+tuomov" -SLOT="0" -KEYWORDS="~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86" -IUSE="unicode ion3-voidupstreamsupport-truetype doc" -DEPEND=" - || ( - ( - x11-libs/libICE - x11-libs/libXext - x11-libs/libSM - ion3-voidupstreamsupport-truetype? ( x11-libs/libXft ) - ) - virtual/x11 - ) - dev-util/pkgconfig - app-misc/run-mailcap - >=dev-lang/lua-5.1.1 - doc? ( dev-tex/latex2html - virtual/tetex )" - -S=${WORKDIR}/${MY_PN} - -SCRIPTS_DIRS="keybindings scripts statusbar statusd styles" -MODULES="${IONXRANDR_PN}-${IONXRANDR_PV} ${IONFLUX_PN}-${IONFLUX_PV}" - -src_unpack() { - unpack ${A} - - cd ${S} - EPATCH_SOURCE="${FILESDIR}/${PV}" EPATCH_SUFFIX="patch" epatch - if (use ion3-voidupstreamsupport-truetype); then - epatch ${FILESDIR}/xft-ion3-${PV}.patch - - sed -i -e "s:#USE_XFT=1:USE_XFT=1:" ${S}/system.mk - sed -i -e 's:\(#define ION_VERSION - "3rc-20070506\):\1-voidupstreamsupport-xft-enabled:' ${S}/version.h - fi; - - # Allow user CFLAGS - sed -i "s:\(CFLAGS=\)-g -Os\(.*\):\1\2 ${CFLAGS}:" system.mk - - # Allow user LDFLAGS - sed -i "s:\(LDFLAGS=\)-g -Os\(.*\):\1\2 ${LDFLAGS}:" system.mk - - # Don't strip ionflux - sed -i "s:-s::" "../${IONFLUX_PN}-${IONFLUX_PV}/ionflux/Makefile" - - # Make snprintf avaible to ion-completefile - sed -i 's:\(CFLAGS +=.*\):\1 $(C99_SOURCE):' utils/ion-completefile/Makefile - - # Rewrite install directories to be prefixed by DESTDIR for sake of portage's sandbox - sed -i 's!\($(INSTALL\w*)\|rm -f\|ln -s\)\(.*\)\($(\w\+DIR)\)!\1\2$(DESTDIR)\3!g' Makefile */Makefile */*/Makefile build/rules.mk - - for i in ${MODULES} - do - cd ${WORKDIR}/${i} - # Rewrite install directories to be prefixed by DESTDIR for sake of portage's sandbox - sed -i Makefile */Makefile \ - -e 's!\($(INSTALL\w*)\|rm -f\|ln -s\)\(.*\)\($(\w\+DIR)\)!\1\2$(DESTDIR)\3!g' - - done - cd ${S} - - # Hey guys! Implicit rules apply to include statements also. Be more careful! - # Fix an implicit rule that will kill the installation by rewriting a .mk - # should configure be given just the right set of options. - sed -i 's!%: %.in!ion-completeman: %: %.in!g' utils/Makefile - - # Fix prestripping of files - sed -i mod_statusbar/ion-statusd/Makefile utils/ion-completefile/Makefile \ - -e 's: -s::' - - # FIX for modules - cd ${WORKDIR} - ln -s ${MY_PN} ion-3 -} - -src_compile() { - local myconf="" - - # xfree - if has_version '>=x11-base/xfree-4.3.0'; then - sed -i -e "s:DEFINES += -DCF_XFREE86_TEXTPROP_BUG_WORKAROUND:#DEFINES += -DCF_XFREE86_TEXTPROP_BUG_WORKAROUND:" ${S}/system.mk - fi - - # help out this arch as it can't handle certain shared library linkage - use hppa && sed -i -e "s:#PRELOAD_MODULES=1:PRELOAD_MODULES=1:" ${S}/system.mk - - # unicode support - use unicode && sed -i -e "s:#DEFINES += -DCF_DE_USE_XUTF8:DEFINES += -DCF_DE_USE_XUTF8:" ${S}/system.mk - - cd ${S} - make \ - LIBDIR=/usr/$(get_libdir) \ - DOCDIR=/usr/share/doc/${PF} || die - - for i in ${MODULES} - do - cd ${WORKDIR}/${i} - - make \ - LIBDIR=/usr/$(get_libdir) - done - - if ( use doc ) - then - export MT_FEATURES=varfonts - mkdir -p ${T}/var/cache/fonts - export VARTEXFONTS=${T}/var/cache/fonts - - cd ${WORKDIR}/${IONDOC_PN}-${IONDOC_PV} - make all - make all-pdf - fi -} - -src_install() { - - emake \ - DESTDIR=${D} \ - DOCDIR=/usr/share/doc/${PF} \ - install || die - - echo -e "#!/bin/sh\n/usr/bin/ion3" > ${T}/ion3 - echo -e "#!/bin/sh\n/usr/bin/pwm3" > ${T}/pwm3 - exeinto /etc/X11/Sessions - doexe ${T}/ion3 ${T}/pwm3 - - insinto /usr/share/xsessions - doins ${FILESDIR}/ion3.desktop ${FILESDIR}/pwm3.desktop - - cd ${WORKDIR}/${SCRIPTS_PN}-${SCRIPTS_PV} - insinto /usr/share/ion3 - find $SCRIPTS_DIRS -type f |\ - while read FILE - do - doins $PWD/$FILE - done - - for i in ${MODULES} - do - cd ${WORKDIR}/${i} - - emake \ - DESTDIR=${D} \ - install || die - - done - - if ( use doc ) - then - cd ${WORKDIR}/${IONDOC_PN}-${IONDOC_PV} - dodoc *.pdf - fi - - sed -i -e '/dopath("mod_sp")/a\dopath("mod_xrandr")' ${D}/etc/X11/ion3/cfg_defaults.lua -} - -pkg_postinst() { - elog "This version of ion3 contains no xinerama support (removed upstream)." - elog "Remember that USE='ion3-voidupstreamsupport-truetype' will render" - elog "upstream support for your installation of ion3 void." - elog "Thus, if you encouter a bug in ion-3, be sure to to reproduce it with a" - elog "vanilla build before reporting it upstream. You are welcome to report" - elog "any problem as a bug on http://bugs.gentoo.org." -} diff --git a/ion3/ion3-20070608.ebuild b/ion3/ion3-20070608.ebuild deleted file mode 100644 index 61ad152..0000000 --- a/ion3/ion3-20070608.ebuild +++ /dev/null @@ -1,200 +0,0 @@ -# Copyright 1999-2007 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-wm/ion3/ion3-20070506-r1.ebuild,v 1.3 2007/06/03 15:08:02 mabi Exp $ - -inherit eutils flag-o-matic - -MY_PV=${PV/_p/-} -MY_PN=ion-3rc-${MY_PV} - -SCRIPTS_PV=20070608 -SCRIPTS_PN=ion3-scripts - -IONFLUX_PV=20070512 -IONFLUX_PN=ion3-mod-ionflux - -IONXRANDR_PV=20070410 -IONXRANDR_PN=ion3-mod-xrandr - -IONDOC_PV=20070506 -IONDOC_PN=ion-doc-3rc - -DESCRIPTION="A tiling tabbed window manager designed with keyboard users in mind" -HOMEPAGE="http://www.iki.fi/tuomov/ion/" -SRC_URI="http://iki.fi/tuomov/dl/${MY_PN}.tar.gz - doc? ( http://iki.fi/tuomov/dl/${IONDOC_PN}-${IONDOC_PV}.tar.gz )" - -LICENSE="LGPL-2.1+tuomov" -SLOT="0" -KEYWORDS="~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86" -IUSE="unicode ion3-voidupstreamsupport-truetype doc" -DEPEND=" - || ( - ( - x11-libs/libICE - x11-libs/libXext - x11-libs/libSM - ion3-voidupstreamsupport-truetype? ( x11-libs/libXft ) - ) - virtual/x11 - ) - dev-util/pkgconfig - app-misc/run-mailcap - >=dev-lang/lua-5.1.1 - doc? ( dev-tex/latex2html - virtual/tetex )" - -S=${WORKDIR}/${MY_PN} - -SCRIPTS_DIRS="keybindings scripts statusbar statusd styles" -MODULES="${IONXRANDR_PN}-${IONXRANDR_PV} ${IONFLUX_PN}-${IONFLUX_PV}" - -src_unpack() { - unpack ${A} - - ln -s "${FILESDIR}"/ion3-scripts-20070608.tar.bz2 - unpack ./ion3-scripts-20070608.tar.bz2 - ln -s "${FILESDIR}"/${IONXRANDR_PN}-${IONXRANDR_PV}.tar.bz2 - unpack ./${IONXRANDR_PN}-${IONXRANDR_PV}.tar.bz2 - ln -s "${FILESDIR}"/${IONFLUX_PN}-${IONFLUX_PV}.tar.bz2 - unpack ./${IONFLUX_PN}-${IONFLUX_PV}.tar.bz2 - - cd ${S} - EPATCH_SOURCE="${FILESDIR}/${PV}" EPATCH_SUFFIX="patch" epatch - if (use ion3-voidupstreamsupport-truetype); then - epatch ${FILESDIR}/xft-ion3-${PV}.patch - - sed -i -e "s:#USE_XFT=1:USE_XFT=1:" ${S}/system.mk - sed -i -e 's:\(#define ION_VERSION "3rc-20070608\):\1-voidupstreamsupport-xft-enabled:' ${S}/version.h - fi; - - # Allow user CFLAGS - sed -i "s:\(CFLAGS=\)-g -Os\(.*\):\1\2 ${CFLAGS}:" system.mk - - # Allow user LDFLAGS - sed -i "s:\(LDFLAGS=\)-g -Os\(.*\):\1\2 ${LDFLAGS}:" system.mk - - # XOPEN_SOURCE does give _POSIX_MONOTONIC_CLOCK, but not CLOCK_MONOTONIC, - # thus compile will fail - sed -e '/CFLAGS +=.*XOPEN_SOURCE.*C99_SOURCE/s:$: $\(POSIX_SOURCE\):' \ - -i libmainloop/Makefile - - # Don't strip ionflux - sed -i "s:-s::" "../${IONFLUX_PN}-${IONFLUX_PV}/ionflux/Makefile" - - # Rewrite install directories to be prefixed by DESTDIR for sake of portage's sandbox - sed -i 's!\($(INSTALL\w*)\|rm -f\|ln -s\)\(.*\)\($(\w\+DIR)\)!\1\2$(DESTDIR)\3!g' Makefile */Makefile */*/Makefile build/rules.mk - - for i in ${MODULES} - do - cd ${WORKDIR}/${i} - # Rewrite install directories to be prefixed by DESTDIR for sake of portage's sandbox - sed -i Makefile */Makefile \ - -e 's!\($(INSTALL\w*)\|rm -f\|ln -s\)\(.*\)\($(\w\+DIR)\)!\1\2$(DESTDIR)\3!g' - - done - cd ${S} - - # Hey guys! Implicit rules apply to include statements also. Be more careful! - # Fix an implicit rule that will kill the installation by rewriting a .mk - # should configure be given just the right set of options. - sed -i 's!%: %.in!ion-completeman: %: %.in!g' utils/Makefile - - # Fix prestripping of files - sed -i mod_statusbar/ion-statusd/Makefile utils/ion-completefile/Makefile \ - -e 's: -s::' - - # FIX for modules - cd ${WORKDIR} - ln -s ${MY_PN} ion-3 -} - -src_compile() { - local myconf="" - - # xfree - if has_version '>=x11-base/xfree-4.3.0'; then - sed -i -e "s:DEFINES += -DCF_XFREE86_TEXTPROP_BUG_WORKAROUND:#DEFINES += -DCF_XFREE86_TEXTPROP_BUG_WORKAROUND:" ${S}/system.mk - fi - - # help out this arch as it can't handle certain shared library linkage - use hppa && sed -i -e "s:#PRELOAD_MODULES=1:PRELOAD_MODULES=1:" ${S}/system.mk - - # unicode support - use unicode && sed -i -e "s:#DEFINES += -DCF_DE_USE_XUTF8:DEFINES += -DCF_DE_USE_XUTF8:" ${S}/system.mk - - cd ${S} - make \ - LIBDIR=/usr/$(get_libdir) \ - DOCDIR=/usr/share/doc/${PF} || die - - for i in ${MODULES} - do - cd ${WORKDIR}/${i} - - make \ - LIBDIR=/usr/$(get_libdir) - done - - if ( use doc ) - then - export MT_FEATURES=varfonts - mkdir -p ${T}/var/cache/fonts - export VARTEXFONTS=${T}/var/cache/fonts - - cd ${WORKDIR}/${IONDOC_PN}-${IONDOC_PV} - make all - make all-pdf - fi -} - -src_install() { - - emake \ - DESTDIR=${D} \ - DOCDIR=/usr/share/doc/${PF} \ - install || die - - echo -e "#!/bin/sh\n/usr/bin/ion3" > ${T}/ion3 - echo -e "#!/bin/sh\n/usr/bin/pwm3" > ${T}/pwm3 - exeinto /etc/X11/Sessions - doexe ${T}/ion3 ${T}/pwm3 - - insinto /usr/share/xsessions - doins ${FILESDIR}/ion3.desktop ${FILESDIR}/pwm3.desktop - - cd ${WORKDIR}/${SCRIPTS_PN}-${SCRIPTS_PV} - insinto /usr/share/ion3 - find $SCRIPTS_DIRS -type f |\ - while read FILE - do - doins $PWD/$FILE - done - - for i in ${MODULES} - do - cd ${WORKDIR}/${i} - - emake \ - DESTDIR=${D} \ - install || die - - done - - if ( use doc ) - then - cd ${WORKDIR}/${IONDOC_PN}-${IONDOC_PV} - dodoc *.pdf - fi - - sed -i -e '/dopath("mod_sp")/a\dopath("mod_xrandr")' ${D}/etc/X11/ion3/cfg_defaults.lua -} - -pkg_postinst() { - elog "This version of ion3 contains no xinerama support (removed upstream)." - elog "Remember that USE='ion3-voidupstreamsupport-truetype' will render" - elog "upstream support for your installation of ion3 void." - elog "Thus, if you encouter a bug in ion-3, be sure to to reproduce it with a" - elog "vanilla build before reporting it upstream. You are welcome to report" - elog "any problem as a bug on http://bugs.gentoo.org." -} diff --git a/ion3/metadata.xml b/ion3/metadata.xml deleted file mode 100644 index b35b976..0000000 --- a/ion3/metadata.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - -no-herd - - mabi@gentoo.org - Matti Bickel - - diff --git a/x11-wm/ion3/ChangeLog b/x11-wm/ion3/ChangeLog new file mode 100644 index 0000000..07fbdb5 --- /dev/null +++ b/x11-wm/ion3/ChangeLog @@ -0,0 +1,306 @@ +# ChangeLog for x11-wm/ion3 +# Copyright 2000-2007 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/x11-wm/ion3/ChangeLog,v 1.55 2007/06/05 13:29:53 mabi Exp $ + + 10 Jun 2007; Matti Bickel + -files/20070318/201_all_fix-paths.patch, + -files/20070318/202_all_fix-menus.patch, + -files/20070318/205_all_ion-lock.patch, + -files/20070318/207_all_bindings-manpage.patch, + -files/20070318/208_all_as-needed.patch, + -ion3-20070318-r2.ebuild, + +files/ion3-scripts-20070608.tar.bz2, + +files/ion3-mod-xrandr-20070410.tar.bz2, + +files/ion3-mod-ionflux-20070512.tar.bz2, + ion3-20070608: + put tarballs in files/ as gentoo doesn't distribute them anymore, clean + version + +*ion3-20070608 (9 June 2007) + + 09 June 2007; Matti Bickel + +files/20070608/201_all_fix-paths.patch, + +files/20070608/202_all_fix-menus.patch, + +files/20070608/205_all_ion-lock.patch, + +files/20070608/208_all_as-needed.patch, +ion3-20070608.ebuild: + version bump. Please contact me in personal or assign bugs directly to + mabi@gentoo.org, so we reduce the load on gentoo infrastructure. + This release contains numerous bugfixes, so you all want it. + + 05 Jun 2007; Matti Bickel ion3-20060326.ebuild, + ion3-20061223.ebuild, ion3-20070318-r2.ebuild: + Change all ion-truetype USE to ion3-voidupstreamsupport-truetype, thanks to + Mr. Bones for notifying me + + 03 Jun 2007; Matti Bickel ion3-20070506-r1.ebuild: + Patch version.h at request of upstream + + 03 Jun 2007; Matti Bickel metadata.xml, + ion3-20070506-r1.ebuild: + Conform to upstream's license, officially take maintainership + + 02 Jun 2007; Matti Bickel + +files/xft-ion3-20070506.patch: + Added missing xft-ion3-20070506.patch (bug #180491) + +*ion3-20070506-r1 (01 Jun 2007) + + 01 Jun 2007; Matti Bickel -ion3-20070318.ebuild, + -ion3-20070506.ebuild, +ion3-20070506-r1.ebuild: + fix retarded use of $(get_libdir), fix LICENSE + +*ion3-20070506 (12 May 2007) + + 12 May 2007; Matti Bickel + +files/20070506/200_all_fix_includes.patch, + +files/20070506/201_all_fix-paths.patch, + +files/20070506/202_all_fix-menus.patch, + +files/20070506/205_all_ion-lock.patch, + +files/20070506/208_all_as-needed.patch, +ion3-20070506.ebuild: + Version bump. Note that this is the first release candidate. All + unconditional patches are minor according to the changed license file. + Also note that IUSE has changed in accordance with the new license. + Please reproduce any error you might have with all useflags disabled before + bugging upstream. File bugs at bugs.gentoo.org instead. + +*ion3-20070318-r2 (30 Apr 2007) + + 30 Apr 2007; Matti Bickel + +files/20070318/208_all_as-needed.patch, -ion3-20070318-r1.ebuild, + +ion3-20070318-r2.ebuild: + patch --as-needed instead of filtering it (bug #171391) + +*ion3-20070318-r1 (28 Apr 2007) + + 28 Apr 2007; Matti Bickel -ion3-20060317.ebuild, + -ion3-20070203.ebuild, +ion3-20070318-r1.ebuild: + filtering --as-needed now, cleanup + + 26 Mar 2007; RaĂşl Porcel ion3-20061223.ebuild, + ion3-20070203.ebuild, ion3-20070318.ebuild: + Readd ~ia64 wrt bug 162985 + +*ion3-20070318 (25 Mar 2007) + + 25 Mar 2007; Matti Bickel + +files/20070318/201_all_fix-paths.patch, + +files/20070318/205_all_ion-lock.patch, +files/xft-ion3-20070318.patch, + +files/20070318/202_all_fix-menus.patch, + +files/20070318/207_all_bindings-manpage.patch, +ion3-20070318.ebuild: + Version bump; readded iontruetype USE for problems with non latin fonts, + added docs + +*ion3-20070203 (11 Mar 2007) + + 11 Mar 2007; Matti Bickel + +files/20070203/201_all_fix-paths.patch, + +files/20070203/202_all_fix-menus.patch, + +files/20070203/205_all_ion-lock.patch, + +files/20070203/207_all_bindings-manpage.patch, +ion3-20070203.ebuild: + Version bump (warning: no xinerama, no xft support) + + 21 Feb 2007; Markus Ullmann ChangeLog: + Redigest for Manifest2 + + 03 Feb 2007; Simon Stelling ion3-20061223.ebuild: + re-add ~amd64; bug 162985 + + 03 Feb 2007; Jason Wever ion3-20061223.ebuild: + Added ~sparc keyword wrt bug #162985. + + 22 Jan 2007; Matti Bickel ion3-20061223.ebuild: + Fixing sandbox violation (missing sed add) (bug #163104) + +*ion3-20061223-r1 (20 Jan 2007) + + 20 Jan 2007; Matti Bickel + +files/20061223/201_all_fix-paths.patch, + +files/20061223/202_all_fix-menus.patch, + +files/20061223/205_all_ion-lock.patch, + +files/20061223/207_all_bindings-manpage.patch, +ion3-20061223.ebuild: + Revision bump (bug #136077) + + 27 Dec 2006; Matti Bickel ion3-20060317.ebuild, + ion3-20060326.ebuild: + Fix deps to lua-5.0.* (bug #158628) + + 08 Dec 2006; ion3-20060326.ebuild: + Added x11-libs/libSM dependency. Bug # 157171. + +*ion3-20060326 (06 Apr 2006) + + 06 Apr 2006; Tom Payne + -files/ion3-20060305-truetype.patch, +files/ion3-20060326-truetype.patch, + -ion3-20060305.ebuild, -ion3-20060305-r1.ebuild, +ion3-20060326.ebuild: + Version bump. + + 20 Mar 2006; Tom Payne ion3-20060305-r1.ebuild, + ion3-20060317.ebuild: + Use USE=iontruetype rather than USE=truetype to enable XFT support at + request of upstream. + +*ion3-20060317 (17 Mar 2006) + + 17 Mar 2006; Tom Payne + +files/ion3-20060317-truetype.patch, -ion3-20060107.ebuild, + +ion3-20060317.ebuild: + Version bump. + +*ion3-20060305-r1 (14 Mar 2006) + + 14 Mar 2006; Tom Payne + +files/ion3-20060305-truetype.patch, +ion3-20060305-r1.ebuild: + Added truetype support. Patch from Clemens Fruhwirth. + +*ion3-20060305 (05 Mar 2006) + + 05 Mar 2006; Tom Payne + -files/ion3-20051029-statusd-locale.patch, -ion3-20051210.ebuild, + +ion3-20060305.ebuild: + Version bump. + + 23 Feb 2006; Markus Rothe ion3-20060107.ebuild: + Added ~ppc64; bug #123845 + +*ion3-20060107 (15 Jan 2006) + + 15 Jan 2006; Tom Payne -ion3-20051029.ebuild, + +ion3-20060107.ebuild: + Version bump and patch for modular X. Bug # 117459. Thanks Mike Auty. + + 15 Jan 2006; Tom Payne -ion3-20050116.ebuild: + Remove old version. ion3 is still under development and should not be marked + stable. + +*ion3-20051210 (10 Dec 2005) + + 10 Dec 2005; Tom Payne -files/ion3-20051023-r1.patch, + -ion3-20050820.ebuild, -ion3-20051023-r1.ebuild, +ion3-20051210.ebuild: + Version bump. + + 01 Nov 2005; Tom Payne + +files/ion3-20051029-statusd-locale.patch, ion3-20051029.ebuild: + Add patch for amd64. Bug # 110860. + +*ion3-20051029 (29 Oct 2005) + + 29 Oct 2005; Tom Payne +ion3-20051029.ebuild: + Version bump. + +*ion3-20051023-r1 (26 Oct 2005) + + 26 Oct 2005; Tom Payne +files/ion3-20051023-r1.patch, + -ion3-20051023.ebuild, +ion3-20051023-r1.ebuild: + Apply patch to fix status bar issue. Bug # 110417. Thanks Frank Zschockelt + +*ion3-20051023 (24 Oct 2005) + + 24 Oct 2005; Tom Payne -ion3-20050728.ebuild, + +ion3-20051023.ebuild: + Version bump. Remove old version. + +*ion3-20050820 (16 Sep 2005) + + 16 Sep 2005; Tom Payne -ion3-20050625.ebuild, + +ion3-20050820.ebuild: + Version bump. Remove old version. + +*ion3-20050728 (19 Aug 2005) + + 19 Aug 2005; Tom Payne -ion3-20050502.ebuild, + +ion3-20050728.ebuild: + Version bump. Remove old version. + +*ion3-20050625 (10 Jul 2005) + + 10 Jul 2005; Tom Payne -ion3-20050322.ebuild, + +ion3-20050625.ebuild: + Version bump. Removed old version. + + 01 Jul 2005; Joseph Jezak ion3-20050116.ebuild: + Marked ppc stable for bug #97635. + +*ion3-20050505 (10 May 2005) + + 10 May 2005: Joshua Charles Campbell ion3-20050505.ebuild, + Version bump. + + 21 Apr 2005; Aron Griffis ion3-20050116.ebuild, + ion3-20050322.ebuild: + Add ia64 keywords + + 04 Apr 2005; Aron Griffis ion3-20050116.ebuild: + stable on amd64 + +*ion3-20050322 (26 Mar 2005) + + 26 Mar 2005; Tom Payne -files/ion.desktop, + -ion3-20041104.ebuild, -ion3-20050102.ebuild, ion3-20050116.ebuild, + +ion3-20050322.ebuild: + Version bump. Remove references to ion3-svn. Remove old version. + + 03 Feb 2005; Gustavo Zacarias ion3-20050116.ebuild: + Stable on sparc + + 28 Jan 2005; Aron Griffis ion3-20050116.ebuild: + stable on alpha and x86 + +*ion3-20050116 (25 Jan 2005) + + 25 Jan 2005; Tom Payne +ion3-20050116.ebuild: + Version bump. Bug # 79516. Removed old version. + +*ion3-20050102 (02 Jan 2005) + + 02 Jan 2005; Tom Payne +ion3-20050102.ebuild: + Version bump. + + 01 Jan 2005; Tom Payne ion3-20041005.ebuild, + ion3-20041104.ebuild: + Stable on x86. + + 20 Dec 2004; Tom Payne -ion3-20040906.ebuild: + Removed old version. + + 19 Dec 2004; Tom Payne + -files/ion3-20040316-libtu-I.patch, -files/ion3-20040316_p1-rename.patch: + Remove unused patches. + +*ion3-20041104 (19 Dec 2004) + + 19 Dec 2004; Tom Payne ion3-20040906.ebuild, + ion3-20041005.ebuild, +ion3-20041104.ebuild: + Prevent sandbox violation. Bug # 73672. Version bump. Bug # 74203. + +*ion3-20041005 (05 Oct 2004) + + 05 Oct 2004; Tom Payne -ion3-20040316_p1-r1.ebuild, + -ion3-20040316_p1.ebuild, +ion3-20041005.ebuild: + Version bump, remove old versions. + +*ion3-20040906 (06 Sep 2004) + + 06 Sep 2004; Tom Payne +ion3-20040906.ebuild: + Version bump. + + 05 Sep 2004; Guy Martin ion3-20040316_p1-r1.ebuild: + Fixed for hppa. Marked ~hppa. + +*ion3-20040316_p1-r1 (09 May 2004) + + 09 May 2004; +files/ion3-20040316_p1-rename.patch, + +files/ion3.desktop, +files/pwm3.desktop, +ion3-20040316_p1-r1.ebuild: + Rename binaries, directories, etc. from ion to ion3. + + 07 Apr 2004; Travis Tilley ion3-20040316_p1.ebuild: + added ~amd64 keyword + +*ion3-20040316_p1 (23 Mar 2004) + + 23 Mar 2004; Tom Payne ion3-20040316_p1.ebuild : + Version bump. + +*ion3-20040316 (16 Mar 2004) + + 16 Mar 2004; Tom Payne ion3-20040316.ebuild : + Initial import. diff --git a/x11-wm/ion3/Manifest b/x11-wm/ion3/Manifest new file mode 100644 index 0000000..ad05013 --- /dev/null +++ b/x11-wm/ion3/Manifest @@ -0,0 +1,187 @@ +AUX 20061223/201_all_fix-paths.patch 2578 RMD160 1e507b2b7493f94c9e63de2d1c5e7a4a370f2bbe SHA1 92cb162401d7e970a1429437bfeef9c9684f62fb SHA256 e1eca4fca542aeeb2b6dd39b7f082d49dc7c9b526bb23b668c72fab639c2c76c +MD5 e9d2532398ca5bebda1b6e3758227006 files/20061223/201_all_fix-paths.patch 2578 +RMD160 1e507b2b7493f94c9e63de2d1c5e7a4a370f2bbe files/20061223/201_all_fix-paths.patch 2578 +SHA256 e1eca4fca542aeeb2b6dd39b7f082d49dc7c9b526bb23b668c72fab639c2c76c files/20061223/201_all_fix-paths.patch 2578 +AUX 20061223/202_all_fix-menus.patch 914 RMD160 99dc842cf99391f965d1553e862a57b98e397592 SHA1 fdd9f2bf50c2363bf97727e8c01b29920f0c541d SHA256 534148c3657cf894d99ac11ef228d87bd371e688b79ecdf96e264f7a1c753ced +MD5 5f9da59501907e01cde25b5451f6feab files/20061223/202_all_fix-menus.patch 914 +RMD160 99dc842cf99391f965d1553e862a57b98e397592 files/20061223/202_all_fix-menus.patch 914 +SHA256 534148c3657cf894d99ac11ef228d87bd371e688b79ecdf96e264f7a1c753ced files/20061223/202_all_fix-menus.patch 914 +AUX 20061223/205_all_ion-lock.patch 780 RMD160 9834836d55fb390f06d8e3c1ea821ef01c1a74b8 SHA1 6bd0278dd7d56fd9f1025fae8a00db24bf0e781f SHA256 ea4ad810355fab8a848e6506a6a2762b5ab9c37f28a7edac73030e6026bc3fae +MD5 4f2dcedcbf6d885723d1b888f0aacb87 files/20061223/205_all_ion-lock.patch 780 +RMD160 9834836d55fb390f06d8e3c1ea821ef01c1a74b8 files/20061223/205_all_ion-lock.patch 780 +SHA256 ea4ad810355fab8a848e6506a6a2762b5ab9c37f28a7edac73030e6026bc3fae files/20061223/205_all_ion-lock.patch 780 +AUX 20061223/207_all_bindings-manpage.patch 3159 RMD160 efcb802e1e00b85398facc945053fe793ed2d223 SHA1 c9a317080edd7a4f297c40572ca5a6474851ca87 SHA256 1e5d315510dde32a94b0e967cc1a315cd84cbb43f03b9a928ad80ee7a75945ba +MD5 dbd4e494033db439cd0610ef880e2659 files/20061223/207_all_bindings-manpage.patch 3159 +RMD160 efcb802e1e00b85398facc945053fe793ed2d223 files/20061223/207_all_bindings-manpage.patch 3159 +SHA256 1e5d315510dde32a94b0e967cc1a315cd84cbb43f03b9a928ad80ee7a75945ba files/20061223/207_all_bindings-manpage.patch 3159 +AUX 20070203/201_all_fix-paths.patch 2578 RMD160 1e507b2b7493f94c9e63de2d1c5e7a4a370f2bbe SHA1 92cb162401d7e970a1429437bfeef9c9684f62fb SHA256 e1eca4fca542aeeb2b6dd39b7f082d49dc7c9b526bb23b668c72fab639c2c76c +MD5 e9d2532398ca5bebda1b6e3758227006 files/20070203/201_all_fix-paths.patch 2578 +RMD160 1e507b2b7493f94c9e63de2d1c5e7a4a370f2bbe files/20070203/201_all_fix-paths.patch 2578 +SHA256 e1eca4fca542aeeb2b6dd39b7f082d49dc7c9b526bb23b668c72fab639c2c76c files/20070203/201_all_fix-paths.patch 2578 +AUX 20070203/202_all_fix-menus.patch 914 RMD160 99dc842cf99391f965d1553e862a57b98e397592 SHA1 fdd9f2bf50c2363bf97727e8c01b29920f0c541d SHA256 534148c3657cf894d99ac11ef228d87bd371e688b79ecdf96e264f7a1c753ced +MD5 5f9da59501907e01cde25b5451f6feab files/20070203/202_all_fix-menus.patch 914 +RMD160 99dc842cf99391f965d1553e862a57b98e397592 files/20070203/202_all_fix-menus.patch 914 +SHA256 534148c3657cf894d99ac11ef228d87bd371e688b79ecdf96e264f7a1c753ced files/20070203/202_all_fix-menus.patch 914 +AUX 20070203/205_all_ion-lock.patch 780 RMD160 9834836d55fb390f06d8e3c1ea821ef01c1a74b8 SHA1 6bd0278dd7d56fd9f1025fae8a00db24bf0e781f SHA256 ea4ad810355fab8a848e6506a6a2762b5ab9c37f28a7edac73030e6026bc3fae +MD5 4f2dcedcbf6d885723d1b888f0aacb87 files/20070203/205_all_ion-lock.patch 780 +RMD160 9834836d55fb390f06d8e3c1ea821ef01c1a74b8 files/20070203/205_all_ion-lock.patch 780 +SHA256 ea4ad810355fab8a848e6506a6a2762b5ab9c37f28a7edac73030e6026bc3fae files/20070203/205_all_ion-lock.patch 780 +AUX 20070203/207_all_bindings-manpage.patch 3159 RMD160 efcb802e1e00b85398facc945053fe793ed2d223 SHA1 c9a317080edd7a4f297c40572ca5a6474851ca87 SHA256 1e5d315510dde32a94b0e967cc1a315cd84cbb43f03b9a928ad80ee7a75945ba +MD5 dbd4e494033db439cd0610ef880e2659 files/20070203/207_all_bindings-manpage.patch 3159 +RMD160 efcb802e1e00b85398facc945053fe793ed2d223 files/20070203/207_all_bindings-manpage.patch 3159 +SHA256 1e5d315510dde32a94b0e967cc1a315cd84cbb43f03b9a928ad80ee7a75945ba files/20070203/207_all_bindings-manpage.patch 3159 +AUX 20070318/201_all_fix-paths.patch 2578 RMD160 1e507b2b7493f94c9e63de2d1c5e7a4a370f2bbe SHA1 92cb162401d7e970a1429437bfeef9c9684f62fb SHA256 e1eca4fca542aeeb2b6dd39b7f082d49dc7c9b526bb23b668c72fab639c2c76c +MD5 e9d2532398ca5bebda1b6e3758227006 files/20070318/201_all_fix-paths.patch 2578 +RMD160 1e507b2b7493f94c9e63de2d1c5e7a4a370f2bbe files/20070318/201_all_fix-paths.patch 2578 +SHA256 e1eca4fca542aeeb2b6dd39b7f082d49dc7c9b526bb23b668c72fab639c2c76c files/20070318/201_all_fix-paths.patch 2578 +AUX 20070318/202_all_fix-menus.patch 990 RMD160 a49c2e8c44c4c7ddceae989a0637cb4ca51647f4 SHA1 ef72a6d5b100c8148d96f6718bc95a456a3b51eb SHA256 2f9404a884e28f9d7ff42ba6ae24df99436b7a9f3c75560282fb87daa9fdf9af +MD5 aecae9e8f4e48e9b74532a3309643598 files/20070318/202_all_fix-menus.patch 990 +RMD160 a49c2e8c44c4c7ddceae989a0637cb4ca51647f4 files/20070318/202_all_fix-menus.patch 990 +SHA256 2f9404a884e28f9d7ff42ba6ae24df99436b7a9f3c75560282fb87daa9fdf9af files/20070318/202_all_fix-menus.patch 990 +AUX 20070318/205_all_ion-lock.patch 780 RMD160 9834836d55fb390f06d8e3c1ea821ef01c1a74b8 SHA1 6bd0278dd7d56fd9f1025fae8a00db24bf0e781f SHA256 ea4ad810355fab8a848e6506a6a2762b5ab9c37f28a7edac73030e6026bc3fae +MD5 4f2dcedcbf6d885723d1b888f0aacb87 files/20070318/205_all_ion-lock.patch 780 +RMD160 9834836d55fb390f06d8e3c1ea821ef01c1a74b8 files/20070318/205_all_ion-lock.patch 780 +SHA256 ea4ad810355fab8a848e6506a6a2762b5ab9c37f28a7edac73030e6026bc3fae files/20070318/205_all_ion-lock.patch 780 +AUX 20070318/207_all_bindings-manpage.patch 3159 RMD160 efcb802e1e00b85398facc945053fe793ed2d223 SHA1 c9a317080edd7a4f297c40572ca5a6474851ca87 SHA256 1e5d315510dde32a94b0e967cc1a315cd84cbb43f03b9a928ad80ee7a75945ba +MD5 dbd4e494033db439cd0610ef880e2659 files/20070318/207_all_bindings-manpage.patch 3159 +RMD160 efcb802e1e00b85398facc945053fe793ed2d223 files/20070318/207_all_bindings-manpage.patch 3159 +SHA256 1e5d315510dde32a94b0e967cc1a315cd84cbb43f03b9a928ad80ee7a75945ba files/20070318/207_all_bindings-manpage.patch 3159 +AUX 20070318/208_all_as-needed.patch 350 RMD160 d4a5d21442b8cdb618e116dd542389b2c6a0d442 SHA1 2a59201ad480f35e7553c4bd470c696fc5dc0436 SHA256 0bedd444e6384f35f6b37c4ec2848150f25ae1d1b93fe5062934887786cba893 +MD5 477892385b4dd0708761fe54886459d7 files/20070318/208_all_as-needed.patch 350 +RMD160 d4a5d21442b8cdb618e116dd542389b2c6a0d442 files/20070318/208_all_as-needed.patch 350 +SHA256 0bedd444e6384f35f6b37c4ec2848150f25ae1d1b93fe5062934887786cba893 files/20070318/208_all_as-needed.patch 350 +AUX 20070506/200_all_fix_includes.patch 893 RMD160 cc39ca826bacfd0c3d1ea5f2d314fb0b52e27fb7 SHA1 a3661dc5568a8417f2efba212fd6785c4ac67aa4 SHA256 e8b2cefc75631d9ea7e5085528eea5f51fc4d41b9dd8d02d9da039928cb55ee2 +MD5 8f7a63a0ee74b4ecce09dbc78f84a26c files/20070506/200_all_fix_includes.patch 893 +RMD160 cc39ca826bacfd0c3d1ea5f2d314fb0b52e27fb7 files/20070506/200_all_fix_includes.patch 893 +SHA256 e8b2cefc75631d9ea7e5085528eea5f51fc4d41b9dd8d02d9da039928cb55ee2 files/20070506/200_all_fix_includes.patch 893 +AUX 20070506/201_all_fix-paths.patch 2578 RMD160 1e507b2b7493f94c9e63de2d1c5e7a4a370f2bbe SHA1 92cb162401d7e970a1429437bfeef9c9684f62fb SHA256 e1eca4fca542aeeb2b6dd39b7f082d49dc7c9b526bb23b668c72fab639c2c76c +MD5 e9d2532398ca5bebda1b6e3758227006 files/20070506/201_all_fix-paths.patch 2578 +RMD160 1e507b2b7493f94c9e63de2d1c5e7a4a370f2bbe files/20070506/201_all_fix-paths.patch 2578 +SHA256 e1eca4fca542aeeb2b6dd39b7f082d49dc7c9b526bb23b668c72fab639c2c76c files/20070506/201_all_fix-paths.patch 2578 +AUX 20070506/202_all_fix-menus.patch 990 RMD160 a49c2e8c44c4c7ddceae989a0637cb4ca51647f4 SHA1 ef72a6d5b100c8148d96f6718bc95a456a3b51eb SHA256 2f9404a884e28f9d7ff42ba6ae24df99436b7a9f3c75560282fb87daa9fdf9af +MD5 aecae9e8f4e48e9b74532a3309643598 files/20070506/202_all_fix-menus.patch 990 +RMD160 a49c2e8c44c4c7ddceae989a0637cb4ca51647f4 files/20070506/202_all_fix-menus.patch 990 +SHA256 2f9404a884e28f9d7ff42ba6ae24df99436b7a9f3c75560282fb87daa9fdf9af files/20070506/202_all_fix-menus.patch 990 +AUX 20070506/205_all_ion-lock.patch 780 RMD160 9834836d55fb390f06d8e3c1ea821ef01c1a74b8 SHA1 6bd0278dd7d56fd9f1025fae8a00db24bf0e781f SHA256 ea4ad810355fab8a848e6506a6a2762b5ab9c37f28a7edac73030e6026bc3fae +MD5 4f2dcedcbf6d885723d1b888f0aacb87 files/20070506/205_all_ion-lock.patch 780 +RMD160 9834836d55fb390f06d8e3c1ea821ef01c1a74b8 files/20070506/205_all_ion-lock.patch 780 +SHA256 ea4ad810355fab8a848e6506a6a2762b5ab9c37f28a7edac73030e6026bc3fae files/20070506/205_all_ion-lock.patch 780 +AUX 20070506/208_all_as-needed.patch 350 RMD160 d4a5d21442b8cdb618e116dd542389b2c6a0d442 SHA1 2a59201ad480f35e7553c4bd470c696fc5dc0436 SHA256 0bedd444e6384f35f6b37c4ec2848150f25ae1d1b93fe5062934887786cba893 +MD5 477892385b4dd0708761fe54886459d7 files/20070506/208_all_as-needed.patch 350 +RMD160 d4a5d21442b8cdb618e116dd542389b2c6a0d442 files/20070506/208_all_as-needed.patch 350 +SHA256 0bedd444e6384f35f6b37c4ec2848150f25ae1d1b93fe5062934887786cba893 files/20070506/208_all_as-needed.patch 350 +AUX 20070608/201_all_fix-paths.patch 2256 RMD160 2df4e395ea6a99e1ae669225477ff7b68d4f457e SHA1 14dd0131411f4c99f435877cf9fda2bb3e2310eb SHA256 e50a4f3d5ecb0c8f3fcaae41fc6ce9897b7aa26867168274fab111d06e4e0d62 +MD5 d3c7f70c793ae0c3ca0ed698a01734aa files/20070608/201_all_fix-paths.patch 2256 +RMD160 2df4e395ea6a99e1ae669225477ff7b68d4f457e files/20070608/201_all_fix-paths.patch 2256 +SHA256 e50a4f3d5ecb0c8f3fcaae41fc6ce9897b7aa26867168274fab111d06e4e0d62 files/20070608/201_all_fix-paths.patch 2256 +AUX 20070608/202_all_fix-menus.patch 990 RMD160 a49c2e8c44c4c7ddceae989a0637cb4ca51647f4 SHA1 ef72a6d5b100c8148d96f6718bc95a456a3b51eb SHA256 2f9404a884e28f9d7ff42ba6ae24df99436b7a9f3c75560282fb87daa9fdf9af +MD5 aecae9e8f4e48e9b74532a3309643598 files/20070608/202_all_fix-menus.patch 990 +RMD160 a49c2e8c44c4c7ddceae989a0637cb4ca51647f4 files/20070608/202_all_fix-menus.patch 990 +SHA256 2f9404a884e28f9d7ff42ba6ae24df99436b7a9f3c75560282fb87daa9fdf9af files/20070608/202_all_fix-menus.patch 990 +AUX 20070608/205_all_ion-lock.patch 780 RMD160 9834836d55fb390f06d8e3c1ea821ef01c1a74b8 SHA1 6bd0278dd7d56fd9f1025fae8a00db24bf0e781f SHA256 ea4ad810355fab8a848e6506a6a2762b5ab9c37f28a7edac73030e6026bc3fae +MD5 4f2dcedcbf6d885723d1b888f0aacb87 files/20070608/205_all_ion-lock.patch 780 +RMD160 9834836d55fb390f06d8e3c1ea821ef01c1a74b8 files/20070608/205_all_ion-lock.patch 780 +SHA256 ea4ad810355fab8a848e6506a6a2762b5ab9c37f28a7edac73030e6026bc3fae files/20070608/205_all_ion-lock.patch 780 +AUX 20070608/208_all_as-needed.patch 350 RMD160 d4a5d21442b8cdb618e116dd542389b2c6a0d442 SHA1 2a59201ad480f35e7553c4bd470c696fc5dc0436 SHA256 0bedd444e6384f35f6b37c4ec2848150f25ae1d1b93fe5062934887786cba893 +MD5 477892385b4dd0708761fe54886459d7 files/20070608/208_all_as-needed.patch 350 +RMD160 d4a5d21442b8cdb618e116dd542389b2c6a0d442 files/20070608/208_all_as-needed.patch 350 +SHA256 0bedd444e6384f35f6b37c4ec2848150f25ae1d1b93fe5062934887786cba893 files/20070608/208_all_as-needed.patch 350 +AUX ion3-20060317-truetype.patch 19704 RMD160 6a11b4d81926224171618c036b5597948e23d89a SHA1 c387e111c65d098793ef59d020225d3770688a2a SHA256 a1934d7ea40f959579b4b4b20f08bcbc9f037beb7e50737f8110273f7f5f58d5 +MD5 f77e47b00b912f3b0b6bb35a53f158a1 files/ion3-20060317-truetype.patch 19704 +RMD160 6a11b4d81926224171618c036b5597948e23d89a files/ion3-20060317-truetype.patch 19704 +SHA256 a1934d7ea40f959579b4b4b20f08bcbc9f037beb7e50737f8110273f7f5f58d5 files/ion3-20060317-truetype.patch 19704 +AUX ion3-20060326-truetype.patch 19704 RMD160 ca9b3ee77b0a61384006728cd8839d76f6957c13 SHA1 9d4e24979cbf1434f16245054232b39c52a46e6e SHA256 3e241b25c938241e3f791203486fef17072ff46b1d77f54c8da7e23c2849c56d +MD5 137137dfcda1e2b062faec090c1c792d files/ion3-20060326-truetype.patch 19704 +RMD160 ca9b3ee77b0a61384006728cd8839d76f6957c13 files/ion3-20060326-truetype.patch 19704 +SHA256 3e241b25c938241e3f791203486fef17072ff46b1d77f54c8da7e23c2849c56d files/ion3-20060326-truetype.patch 19704 +AUX ion3-mod-ionflux-20070512.tar.bz2 12770 RMD160 8e834de0c3048b676bc5c5d5454aedac09129eb3 SHA1 d482654557104adfbf6d184e44f87a993577720a SHA256 63c4902159923aa02921e39aa7746ca8819ba1c216efa8fa6384fd093f60d18c +MD5 c8c2d7b039f751db017275f5f977702e files/ion3-mod-ionflux-20070512.tar.bz2 12770 +RMD160 8e834de0c3048b676bc5c5d5454aedac09129eb3 files/ion3-mod-ionflux-20070512.tar.bz2 12770 +SHA256 63c4902159923aa02921e39aa7746ca8819ba1c216efa8fa6384fd093f60d18c files/ion3-mod-ionflux-20070512.tar.bz2 12770 +AUX ion3-mod-xrandr-20070410.tar.bz2 10833 RMD160 8542c0dfebfd1536e6a1ad89a3b791609ca8f16e SHA1 a1ef665e0914154bf89f8b5fc8f282695438f06f SHA256 80f23a435b21f8691fc63b78394fa29b25b5304f46895dd961ac905bcc76c82f +MD5 dcb17665b215d0891be40392f57197c1 files/ion3-mod-xrandr-20070410.tar.bz2 10833 +RMD160 8542c0dfebfd1536e6a1ad89a3b791609ca8f16e files/ion3-mod-xrandr-20070410.tar.bz2 10833 +SHA256 80f23a435b21f8691fc63b78394fa29b25b5304f46895dd961ac905bcc76c82f files/ion3-mod-xrandr-20070410.tar.bz2 10833 +AUX ion3-scripts-20070608.tar.bz2 101584 RMD160 5728f7923ecf121b923169d97471793384babb0c SHA1 9ca87f26edbbd56d64dbca297533f3a04987929a SHA256 b50c767a77a1c8639141b483ebba2e6881ac2e8422d51b476c3850e3587a33a5 +MD5 ba98325b7a155b09cc76d27199625a12 files/ion3-scripts-20070608.tar.bz2 101584 +RMD160 5728f7923ecf121b923169d97471793384babb0c files/ion3-scripts-20070608.tar.bz2 101584 +SHA256 b50c767a77a1c8639141b483ebba2e6881ac2e8422d51b476c3850e3587a33a5 files/ion3-scripts-20070608.tar.bz2 101584 +AUX ion3.desktop 217 RMD160 438917d6c0370e7a368598ea611ec7658312627d SHA1 cf5cd1f09faf7530f8cb2f832a17c0cf893541c4 SHA256 4742797e200b956abf3d0b94d860aa7430c9f67a97f3640ef2c28168fa773bb9 +MD5 00450ed1292b72e2be71b9860c4db6ee files/ion3.desktop 217 +RMD160 438917d6c0370e7a368598ea611ec7658312627d files/ion3.desktop 217 +SHA256 4742797e200b956abf3d0b94d860aa7430c9f67a97f3640ef2c28168fa773bb9 files/ion3.desktop 217 +AUX pwm3.desktop 170 RMD160 7a33137ccf3857cacd7ff693df2e8952e16e3a84 SHA1 7ff6792b6e61a9a2fbb4f0fa7e3d9dbf856c8d28 SHA256 e068670634d31e58db4f54e703707f7908d30ced7f765e30ab590615b3d5dccd +MD5 e5e408ab1f83116c2138a26b20c86653 files/pwm3.desktop 170 +RMD160 7a33137ccf3857cacd7ff693df2e8952e16e3a84 files/pwm3.desktop 170 +SHA256 e068670634d31e58db4f54e703707f7908d30ced7f765e30ab590615b3d5dccd files/pwm3.desktop 170 +AUX xft-ion3-20070318.patch 19100 RMD160 7d0d01e42d65961655046f6485011425311e8723 SHA1 618fbe025e634c3aac844bdc1a2210dbecb60215 SHA256 d5e57e91185ae5c508ed036d689b5ea58e7322b633705503cfaa5ac18ff9f936 +MD5 319a7254cf4093a9e84993515b9462ec files/xft-ion3-20070318.patch 19100 +RMD160 7d0d01e42d65961655046f6485011425311e8723 files/xft-ion3-20070318.patch 19100 +SHA256 d5e57e91185ae5c508ed036d689b5ea58e7322b633705503cfaa5ac18ff9f936 files/xft-ion3-20070318.patch 19100 +AUX xft-ion3-20070506.patch 18375 RMD160 2510ae25502346f0347eafce8a313aac4db2a36c SHA1 ae75b297d6cf8c3f5dfd3793c22d754369f982bb SHA256 1db26c1db08b9a87530ef29ad2538cf191bc5d08630cc776f1dbd61940eff21f +MD5 68f3da20b45ec583347b5325d9062e19 files/xft-ion3-20070506.patch 18375 +RMD160 2510ae25502346f0347eafce8a313aac4db2a36c files/xft-ion3-20070506.patch 18375 +SHA256 1db26c1db08b9a87530ef29ad2538cf191bc5d08630cc776f1dbd61940eff21f files/xft-ion3-20070506.patch 18375 +AUX xft-ion3-20070608.patch 18375 RMD160 2510ae25502346f0347eafce8a313aac4db2a36c SHA1 ae75b297d6cf8c3f5dfd3793c22d754369f982bb SHA256 1db26c1db08b9a87530ef29ad2538cf191bc5d08630cc776f1dbd61940eff21f +MD5 68f3da20b45ec583347b5325d9062e19 files/xft-ion3-20070608.patch 18375 +RMD160 2510ae25502346f0347eafce8a313aac4db2a36c files/xft-ion3-20070608.patch 18375 +SHA256 1db26c1db08b9a87530ef29ad2538cf191bc5d08630cc776f1dbd61940eff21f files/xft-ion3-20070608.patch 18375 +DIST ion-3ds-20060326.tar.gz 617533 RMD160 147e6ad20c69ca8fe5a80dcd57ce6002a2b3cde1 SHA1 5202322198071f7cee2aefc2bcc8bd0b3a08a490 SHA256 9f3c96c961e47c61e9c10b57de820b608b9d9fdaa43a893e63499b3f17231124 +DIST ion-3ds-20061223.tar.gz 649463 RMD160 dc61a012354a30f1a83b8b0970b8c09724ea4c9c SHA1 8bccf120ce27b26feb67a916ba61748e85e69733 SHA256 0970fef74de659de45813471560ebe2f97b893de7a238ea00755fcaeb9b7d89e +DIST ion-3ds-20070318.tar.gz 657282 RMD160 a7cc9baea3624b0ed840fdc82fc5db2ac1018d9a SHA1 f352a1c7f6f465478141d538b2a4c3f3e81a4f30 SHA256 712da027fb12774f67d933d95a95452d98a5658617fc5515011ca79b6035258a +DIST ion-3rc-20070506.tar.gz 640482 RMD160 b5dda6a7a48c1f3d433b2a2b1c37294ece79a259 SHA1 81071df77b720ebad5630bd15a4c6b6e0787caf0 SHA256 850dce3bd1be5d200fda5ba3e6085f397b35c720f7758dc5481bf503fe5d2f56 +DIST ion-3rc-20070608.tar.gz 655442 RMD160 41fd6d581e27770e63f7bc66122684d8c11667f2 SHA1 e6a8afa4b177bcd95d6dd79b7f8f8e268738c7bf SHA256 1ebad89f61c3ac58bd583cfe3a0cb71c5254679a9f35f46d954d6e72eada86e8 +DIST ion-doc-3rc-20070506.tar.gz 669471 RMD160 aa9e75b60c121d3cd62f60afed4592fe1bc0da87 SHA1 1991e12e4f72153f2e02c70910322317c73a7c01 SHA256 9dac4f5e69121b98cf6e5da455d6185f00605cf237f14fc4f8578446f622476e +DIST ion3-doc-20070318.tar.bz2 38870 RMD160 5fc0225ad23f1c96b5e979d66185ea608372297d SHA1 93c14f675f5fba3212232ed127af4d4481716884 SHA256 22ca643ca5df67086f12d3f106b16094017477c41fd1ebd73d30607db206821b +DIST ion3-mod-ionflux-20070512.tar.bz2 12770 RMD160 8e834de0c3048b676bc5c5d5454aedac09129eb3 SHA1 d482654557104adfbf6d184e44f87a993577720a SHA256 63c4902159923aa02921e39aa7746ca8819ba1c216efa8fa6384fd093f60d18c +DIST ion3-mod-ionflux_20061022.orig.tar.gz 14847 RMD160 86bcc2a260f3e37d613bcebd66f37616e56d3926 SHA1 64d56a158de66cd15b03dfdccc8162509432fa01 SHA256 f9fd872d2d5b35f882d9a9161dee52fd5b2bb346c46f9e6cc30922dcda99c935 +DIST ion3-mod-xrandr-20061021.tar.bz2 10762 RMD160 cca3f472e32b8aff1ce8af123c24e17574c1b197 SHA1 9c36bc4be2a97f6a9256054ffbb946ad7dc6965a SHA256 cd2225a356ddfc6f02062bf23c1e90fa573661347ff185316aeae0e18eee72ef +DIST ion3-mod-xrandr-20070220.tar.bz2 10822 RMD160 680714961af7e6b81896c4d989baded5ea4c5222 SHA1 11e3829f16b48e90de71469b2013a0cda9ac2eb8 SHA256 858a72ad203fb98f3cea672809a2cdfd7cb87cfa744e622e5a04d2f87cc1ae38 +DIST ion3-mod-xrandr-20070410.tar.bz2 10833 RMD160 8542c0dfebfd1536e6a1ad89a3b791609ca8f16e SHA1 a1ef665e0914154bf89f8b5fc8f282695438f06f SHA256 80f23a435b21f8691fc63b78394fa29b25b5304f46895dd961ac905bcc76c82f +DIST ion3-scripts-20070322.tar.bz2 101212 RMD160 101a6dd933b5b9b495ca4607a7e0d48d48a9c409 SHA1 7dbbec42f3b97da16d05987347f0c3ae54c76eec SHA256 6864d75f2f7ca021368b52051c297f5590047257ca39d0332af65c7fef0f8d39 +DIST ion3-scripts-20070510.tar.bz2 100952 RMD160 4ac0fff86a039d5890bd934d80c33bb5a78fb02d SHA1 c255ed826a19bc681ed34f41c4cd6dd053da76d6 SHA256 53c4705ab6f880404aae92cef3018a956ee1b55d0e22ef93c12d30527a419a61 +DIST ion3-scripts_20061214.orig.tar.gz 129181 RMD160 b22827c490f23252c1953582d24a19a5aa0aaed0 SHA1 7095657b7bc3f7eba5e564e67ca09bb7b0e1a010 SHA256 82e25973fcfdd282bdb3734191f8a5b0d711b2bf0cb64196d3b42351185fdbcf +DIST xft-ion3-for-darcs-20061202.diff 20126 RMD160 054efa097492531d800bca85582d5b6836567408 SHA1 2405218fb387c3ac76ff1612bd6f4482cf459a0f SHA256 6af98c329395acb46ddbdac4f0ba023c6e5344914cc06cdfa82339526ce25b3c +EBUILD ion3-20060326.ebuild 1982 RMD160 1c859482c49b2def0ef08ab184cbfe281cac8af2 SHA1 cf58eebbd87779b38f4fb8b5c50b0c4de517ad65 SHA256 17736fa6d2e1d6583b5e4aab65fe7d2f04182a3706c190f4cd4aecd9a8468e9b +MD5 7b4a28c80dae5906c25580c43c7c7843 ion3-20060326.ebuild 1982 +RMD160 1c859482c49b2def0ef08ab184cbfe281cac8af2 ion3-20060326.ebuild 1982 +SHA256 17736fa6d2e1d6583b5e4aab65fe7d2f04182a3706c190f4cd4aecd9a8468e9b ion3-20060326.ebuild 1982 +EBUILD ion3-20061223.ebuild 4722 RMD160 b09e68bf8a4b15360f1b4cf697c003accbaf0cf7 SHA1 a5406157dd74d3a3895fc1f380f21d5d1e9ea83f SHA256 e6ba303437dff3b9d47e3e63510f7340ba59bfea6f36d59da38270dc0dfb0036 +MD5 f76cea28a1b0a06fbb8fb409511804fc ion3-20061223.ebuild 4722 +RMD160 b09e68bf8a4b15360f1b4cf697c003accbaf0cf7 ion3-20061223.ebuild 4722 +SHA256 e6ba303437dff3b9d47e3e63510f7340ba59bfea6f36d59da38270dc0dfb0036 ion3-20061223.ebuild 4722 +EBUILD ion3-20070318-r2.ebuild 4459 RMD160 6e5a41d514af4043ff4470b8f50ffa72d1df259d SHA1 d660701623f3abb7f96ba3f1b8aa1bc249fef104 SHA256 a64bf98ed42972a1eea1ecc6c5be823a19ce4eb739e597e21c984ff5735a69cb +MD5 772dc99239ea28b4193098e2c79f78e1 ion3-20070318-r2.ebuild 4459 +RMD160 6e5a41d514af4043ff4470b8f50ffa72d1df259d ion3-20070318-r2.ebuild 4459 +SHA256 a64bf98ed42972a1eea1ecc6c5be823a19ce4eb739e597e21c984ff5735a69cb ion3-20070318-r2.ebuild 4459 +EBUILD ion3-20070506-r1.ebuild 5213 RMD160 e875b068c509e7beef53433026a3f6e066c33738 SHA1 339fe6bc5ccee1bfdf4b3392987cc134e35088ba SHA256 b7b387296ff6a0c4a4cddb0eb5eb6ffb81b90ab143e148002a59cec917ceff9f +MD5 ae60013d4557315112a038ff7f8753d8 ion3-20070506-r1.ebuild 5213 +RMD160 e875b068c509e7beef53433026a3f6e066c33738 ion3-20070506-r1.ebuild 5213 +SHA256 b7b387296ff6a0c4a4cddb0eb5eb6ffb81b90ab143e148002a59cec917ceff9f ion3-20070506-r1.ebuild 5213 +EBUILD ion3-20070608.ebuild 5434 RMD160 3bbf0f46ba4a474507f5b00a112f73cd5fb13fad SHA1 10b18b11ac81d449206c5c6f41b1f828672a2a08 SHA256 07571dbe75cecf227671348c4b5bfa9f5439af6ef2a7c506aa571ef7208af25f +MD5 d125b643c6e7fedd3fd39b3eee26590c ion3-20070608.ebuild 5434 +RMD160 3bbf0f46ba4a474507f5b00a112f73cd5fb13fad ion3-20070608.ebuild 5434 +SHA256 07571dbe75cecf227671348c4b5bfa9f5439af6ef2a7c506aa571ef7208af25f ion3-20070608.ebuild 5434 +MISC ChangeLog 9850 RMD160 2d02dca582ba21592d93feb589df0220320e4738 SHA1 039815cc991293ed6f13950e86456f4b85f8aaa7 SHA256 93880b6400b79ae9a0b75390bec37d503d856764f0add77b00ea1ca5b61b52e2 +MD5 1ff1b338cb3335cf5ff28ff2224f7ca4 ChangeLog 9850 +RMD160 2d02dca582ba21592d93feb589df0220320e4738 ChangeLog 9850 +SHA256 93880b6400b79ae9a0b75390bec37d503d856764f0add77b00ea1ca5b61b52e2 ChangeLog 9850 +MISC metadata.xml 248 RMD160 7e7a4fe276728c6c4d6d0face7f0708dae9776d7 SHA1 b16dc683091d4a7cee7f9b8a6d6034a257df80b0 SHA256 3f6027d293a7bd953fd444ba8a1345ca6b9c00c28b35e8328386b9635d8eb71f +MD5 c4aada614ade13541606f0901dffd61f metadata.xml 248 +RMD160 7e7a4fe276728c6c4d6d0face7f0708dae9776d7 metadata.xml 248 +SHA256 3f6027d293a7bd953fd444ba8a1345ca6b9c00c28b35e8328386b9635d8eb71f metadata.xml 248 +MD5 27ad3490f271ac787c7c59dcee131a73 files/digest-ion3-20060326 250 +RMD160 ee5cd1057ee8e32b8e30b05fb8e036082dbdf47d files/digest-ion3-20060326 250 +SHA256 43e4165551f43f347ae8bd8beb5a8fe24f29c39d4273107bd541c271c89eef6c files/digest-ion3-20060326 250 +MD5 d7afa3f01f843fd76f3e13e9dcac45b1 files/digest-ion3-20061223 1367 +RMD160 2639e26fb415e009a08fb27b822a62fcbc5e00f7 files/digest-ion3-20061223 1367 +SHA256 0a8be4455d11e16b8f4c20d6b7019d73d7e564f1a9c41134b512fd982dc675c4 files/digest-ion3-20061223 1367 +MD5 1f454e2ba54eec9e1f3fa03e307b61f6 files/digest-ion3-20070318-r2 1045 +RMD160 7087b16c049c3b8b4d150ab7eb8a461e67ae28e6 files/digest-ion3-20070318-r2 1045 +SHA256 b2181757e7912e1c67e67d7f3e4200e3cf9b8c4d2eea0ff964f2e92e6e3ea66d files/digest-ion3-20070318-r2 1045 +MD5 d738828fdba8dec081e12431ad73be86 files/digest-ion3-20070506-r1 1331 +RMD160 2bb97783b8262b0ec65a9dcd75d359dc3ef1a2e3 files/digest-ion3-20070506-r1 1331 +SHA256 f2b7c50a3bf973359aa6e899f99fede7ebdd3698b2e93918d9f5e1306ef6ae19 files/digest-ion3-20070506-r1 1331 +MD5 d9224226ab2e1fe595374de99c915783 files/digest-ion3-20070608 512 +RMD160 a3ab13d5eb784001a522c16efb6b0555534b02f2 files/digest-ion3-20070608 512 +SHA256 8969af66aa32f5e7c6845105a35b7529b8b46d9d8b46e7e5cb9bad1e24eb4f9b files/digest-ion3-20070608 512 diff --git a/x11-wm/ion3/files/20061223/201_all_fix-paths.patch b/x11-wm/ion3/files/20061223/201_all_fix-paths.patch new file mode 100644 index 0000000..7f8f228 --- /dev/null +++ b/x11-wm/ion3/files/20061223/201_all_fix-paths.patch @@ -0,0 +1,90 @@ +diff -Nur ion-3ds-20060519.orig/system.mk ion-3ds-20060519/system.mk +--- ion-3ds-20060519.orig/system.mk 2006-05-18 18:06:53.000000000 -0500 ++++ ion-3ds-20060519/system.mk 2006-05-18 23:51:23.000000000 -0500 +@@ -7,7 +7,7 @@ + ## Installation paths + ## + +-PREFIX=/usr/local ++PREFIX=/usr + + # Unless you are creating a package conforming to some OS's standards, you + # probably do not want to modify the following directories: +@@ -15,7 +15,7 @@ + # Main binaries + BINDIR=$(PREFIX)/bin + # Configuration .lua files +-ETCDIR=$(PREFIX)/etc/ion3 ++ETCDIR=/etc/X11/ion3 + # Some .lua files and ion-* shell scripts + SHAREDIR=$(PREFIX)/share/ion3 + # Manual pages +@@ -27,11 +27,11 @@ + # Nothing at the moment + LIBDIR=$(PREFIX)/lib + # Modules +-MODULEDIR=$(LIBDIR)/ion3/mod ++MODULEDIR=$(LIBDIR)/ion3/mod + # Compiled Lua source code + LCDIR=$(LIBDIR)/ion3/lc + # ion-completefile (does not belong in SHAREDIR being a binary file) +-EXTRABINDIR=$(LIBDIR)/ion3/bin ++EXTRABINDIR=$(LIBDIR)/ion3/bin + # For ion-completeman system-wide cache + VARDIR=/var/cache/ion3 + # Message catalogs +@@ -56,18 +56,18 @@ + + # If you have installed Lua 5.1 from the official tarball without changing + # paths, this should do it. +-LUA_DIR=/usr/local +-LUA_LIBS = -L$(LUA_DIR)/lib -llua +-LUA_INCLUDES = -I$(LUA_DIR)/include +-LUA=$(LUA_DIR)/bin/lua +-LUAC=$(LUA_DIR)/bin/luac ++#LUA_DIR=/usr/local ++#LUA_LIBS = -L$(LUA_DIR)/lib -llua ++#LUA_INCLUDES = -I$(LUA_DIR)/include ++#LUA=$(LUA_DIR)/bin/lua ++#LUAC=$(LUA_DIR)/bin/luac + + # If you are using the Debian packages, the following settings should be + # what you want. +-#LUA_LIBS=`pkg-config --libs lua5.1` +-#LUA_INCLUDES=`pkg-config --cflags lua5.1` +-#LUA=`which lua5.1` +-#LUAC=`which luac5.1` ++LUA_LIBS=`pkg-config --libs lua` ++LUA_INCLUDES=`pkg-config --cflags lua` ++LUA=`which lua` ++LUAC=`which luac` + + + ## +@@ -107,7 +107,7 @@ + # asprintf and vasprintf in the c library. (gnu libc has.) + # If HAS_SYSTEM_ASPRINTF is not defined, an implementation + # in sprintf_2.2/ is used. +-#HAS_SYSTEM_ASPRINTF=1 ++HAS_SYSTEM_ASPRINTF=1 + + + # If you're on an archaic system (such as relatively recent *BSD releases) +@@ -144,14 +144,14 @@ + + #C89_SOURCE=-ansi + +-#POSIX_SOURCE=-D_POSIX_SOURCE ++POSIX_SOURCE=-D_POSIX_SOURCE + + # Most systems +-#XOPEN_SOURCE=-D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED ++XOPEN_SOURCE=-D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED + # SunOS, (Irix) + #XOPEN_SOURCE=-D__EXTENSIONS__ + +-#C99_SOURCE=-std=c99 -DCF_HAS_VA_COPY ++C99_SOURCE=-std=c99 -DCF_HAS_VA_COPY + + # The -DCF_HAS_VA_COPY option should allow for some optimisations, and + # in some cases simply defining diff --git a/x11-wm/ion3/files/20061223/202_all_fix-menus.patch b/x11-wm/ion3/files/20061223/202_all_fix-menus.patch new file mode 100644 index 0000000..f218a33 --- /dev/null +++ b/x11-wm/ion3/files/20061223/202_all_fix-menus.patch @@ -0,0 +1,13 @@ +diff -Naur ../work/ion-3ds-20061223/etc/cfg_ioncore.lua ion-3ds-20061223/etc/cfg_ioncore.lua +--- ../work/ion-3ds-20061223/etc/cfg_ioncore.lua 2006-12-23 17:59:43.000000000 +0300 ++++ ion-3ds-20061223/etc/cfg_ioncore.lua 2006-12-31 15:35:59.000000000 +0300 +@@ -324,7 +324,8 @@ + -- Main menu + defmenu("mainmenu", { + submenu("Programs", "appmenu"), +- menuentry("Lock screen", "ioncore.exec_on(_, 'xlock')"), ++ menuentry("Lock screen", ++ "ioncore.exec_on(_, ioncore.lookup_script('ion-lock'))"), + menuentry("Help", "mod_query.query_man(_)"), + menuentry("About Ion", "mod_query.show_about_ion(_)"), + submenu("Styles", "stylemenu"), diff --git a/x11-wm/ion3/files/20061223/205_all_ion-lock.patch b/x11-wm/ion3/files/20061223/205_all_ion-lock.patch new file mode 100644 index 0000000..dda2016 --- /dev/null +++ b/x11-wm/ion3/files/20061223/205_all_ion-lock.patch @@ -0,0 +1,22 @@ +diff -Nur ion3-20050322.orig/utils/Makefile ion3-20050322/utils/Makefile +--- ion3-20050322.orig/utils/Makefile 2005-03-22 14:31:06.000000000 +0000 ++++ ion3-20050322/utils/Makefile 2005-03-22 16:29:37.197355881 +0000 +@@ -11,7 +11,7 @@ + SUBDIRS=ion-completefile + INSTALL_SUBDIRS=$(SUBDIRS) + +-SHELLSCRIPTS = ion-runinxterm ion-completeman ++SHELLSCRIPTS = ion-runinxterm ion-completeman ion-lock + + TARGETS = ion-completeman + +diff -Nur ion3-20050322.orig/utils/ion-lock ion3-20050322/utils/ion-lock +--- ion3-20050322.orig/utils/ion-lock 1970-01-01 00:00:00.000000000 +0000 ++++ ion3-20050322/utils/ion-lock 2005-03-22 16:29:19.550092305 +0000 +@@ -0,0 +1,6 @@ ++#!/bin/sh ++if xscreensaver-command -version >/dev/null 2>&1; then ++ exec xscreensaver-command -lock ++else ++ exec xlock ++fi diff --git a/x11-wm/ion3/files/20061223/207_all_bindings-manpage.patch b/x11-wm/ion3/files/20061223/207_all_bindings-manpage.patch new file mode 100644 index 0000000..5fac548 --- /dev/null +++ b/x11-wm/ion3/files/20061223/207_all_bindings-manpage.patch @@ -0,0 +1,117 @@ +diff -Nur ion3-20061020.orig/man/ion3.cs.in ion3-20061020/man/ion3.cs.in +--- ion3-20061020.orig/man/ion3.cs.in 2006-10-20 17:43:37.000000000 +0200 ++++ ion3-20061020/man/ion3.cs.in 2006-10-23 20:42:12.000000000 +0200 +@@ -81,6 +81,10 @@ + + .SS Globální přiřazení + ++BINDINGS:WFrame ++ ++.SS Přiřazení pro přesun/změnu velikosti ++ + BINDINGS:WScreen + + .SS Přiřazení pro práci s nejvyššími rámy a obrazovkami a jejich potomky +diff -Nur ion3-20061020.orig/man/ion3.fi.in ion3-20061020/man/ion3.fi.in +--- ion3-20061020.orig/man/ion3.fi.in 2006-10-20 17:43:36.000000000 +0200 ++++ ion3-20061020/man/ion3.fi.in 2006-10-23 20:42:12.000000000 +0200 +@@ -84,6 +84,10 @@ + + .SS Yleisesti saatavilla olevat sidonnat + ++BINDINGS:WFrame ++ ++.SS Siirto ja koonmuutostilan sidonnat ++ + BINDINGS:WScreen + + .SS Näytöillä tai ylimmän tason kehyksissä toimivat sidonnat +diff -Nur ion3-20061020.orig/man/ion3.in ion3-20061020/man/ion3.in +--- ion3-20061020.orig/man/ion3.in 2006-10-20 17:43:36.000000000 +0200 ++++ ion3-20061020/man/ion3.in 2006-10-23 20:42:12.000000000 +0200 +@@ -82,6 +82,10 @@ + + .SS Globally available bindings + ++BINDINGS:WFrame ++ ++.SS Move/resize mode bindings ++ + BINDINGS:WScreen + + .SS Bindings operating on top-level frames and screens and their children +diff -Nur ion3-20061020.orig/man/pwm3.cs.in ion3-20061020/man/pwm3.cs.in +--- ion3-20061020.orig/man/pwm3.cs.in 2006-10-20 17:43:36.000000000 +0200 ++++ ion3-20061020/man/pwm3.cs.in 2006-10-23 20:42:12.000000000 +0200 +@@ -56,6 +56,10 @@ + + .SS Globální přiřazení + ++BINDINGS:WFrame ++ ++.SS Přiřazení pro přesun/změnu velikosti ++ + BINDINGS:WScreen + + .".SS Přiřazení pro práci s rámy, obrazovkami a jejich potomky +@@ -64,10 +68,6 @@ + + .SS Přiřazení pro práci s rámy a jejich potomky + +-BINDINGS:WFrame +- +-.SS Přiřazení pro přesun/změnu velikosti +- + BINDINGS:WMoveresMode + + .SS Přiřazení pro plovoucí pracovní plochy [mod_floatws] +diff -Nur ion3-20061020.orig/man/pwm3.fi.in ion3-20061020/man/pwm3.fi.in +--- ion3-20061020.orig/man/pwm3.fi.in 2006-10-20 17:43:36.000000000 +0200 ++++ ion3-20061020/man/pwm3.fi.in 2006-10-23 20:42:12.000000000 +0200 +@@ -57,6 +57,10 @@ + + .SS Yleisesti saatavilla olevat sidonnat + ++BINDINGS:WFrame ++ ++.SS Siirto ja koonmuutostilan sidonnat ++ + BINDINGS:WScreen + + .\".SS Kehyksiä ja näyttöjä, sekä niiden lapsia käsittelevät sidonnat +@@ -65,10 +69,6 @@ + + .SS Kehyksiä, sekä niiden lapsia käsittelevät sidonnat + +-BINDINGS:WFrame +- +-.SS Siirto ja koonmuutostilan sidonnat +- + BINDINGS:WMoveresMode + + .SS Kelluvien työpöytien ja kehyksien sidonnat [mod_floatws] +diff -Nur ion3-20061020.orig/man/pwm3.in ion3-20061020/man/pwm3.in +--- ion3-20061020.orig/man/pwm3.in 2006-10-20 17:43:36.000000000 +0200 ++++ ion3-20061020/man/pwm3.in 2006-10-23 20:42:12.000000000 +0200 +@@ -57,6 +57,10 @@ + + .SS Globally available bindings + ++BINDINGS:WFrame ++ ++.SS Move/resize mode bindings ++ + BINDINGS:WScreen + + .".SS Bindings operating on both frames and screens and their children +@@ -65,10 +69,6 @@ + + .SS Bindings operating on frames and their children + +-BINDINGS:WFrame +- +-.SS Move/resize mode bindings +- + BINDINGS:WMoveresMode + + .SS Bindings for floating workspaces and frames [mod_floatws] diff --git a/x11-wm/ion3/files/20070203/201_all_fix-paths.patch b/x11-wm/ion3/files/20070203/201_all_fix-paths.patch new file mode 100644 index 0000000..7f8f228 --- /dev/null +++ b/x11-wm/ion3/files/20070203/201_all_fix-paths.patch @@ -0,0 +1,90 @@ +diff -Nur ion-3ds-20060519.orig/system.mk ion-3ds-20060519/system.mk +--- ion-3ds-20060519.orig/system.mk 2006-05-18 18:06:53.000000000 -0500 ++++ ion-3ds-20060519/system.mk 2006-05-18 23:51:23.000000000 -0500 +@@ -7,7 +7,7 @@ + ## Installation paths + ## + +-PREFIX=/usr/local ++PREFIX=/usr + + # Unless you are creating a package conforming to some OS's standards, you + # probably do not want to modify the following directories: +@@ -15,7 +15,7 @@ + # Main binaries + BINDIR=$(PREFIX)/bin + # Configuration .lua files +-ETCDIR=$(PREFIX)/etc/ion3 ++ETCDIR=/etc/X11/ion3 + # Some .lua files and ion-* shell scripts + SHAREDIR=$(PREFIX)/share/ion3 + # Manual pages +@@ -27,11 +27,11 @@ + # Nothing at the moment + LIBDIR=$(PREFIX)/lib + # Modules +-MODULEDIR=$(LIBDIR)/ion3/mod ++MODULEDIR=$(LIBDIR)/ion3/mod + # Compiled Lua source code + LCDIR=$(LIBDIR)/ion3/lc + # ion-completefile (does not belong in SHAREDIR being a binary file) +-EXTRABINDIR=$(LIBDIR)/ion3/bin ++EXTRABINDIR=$(LIBDIR)/ion3/bin + # For ion-completeman system-wide cache + VARDIR=/var/cache/ion3 + # Message catalogs +@@ -56,18 +56,18 @@ + + # If you have installed Lua 5.1 from the official tarball without changing + # paths, this should do it. +-LUA_DIR=/usr/local +-LUA_LIBS = -L$(LUA_DIR)/lib -llua +-LUA_INCLUDES = -I$(LUA_DIR)/include +-LUA=$(LUA_DIR)/bin/lua +-LUAC=$(LUA_DIR)/bin/luac ++#LUA_DIR=/usr/local ++#LUA_LIBS = -L$(LUA_DIR)/lib -llua ++#LUA_INCLUDES = -I$(LUA_DIR)/include ++#LUA=$(LUA_DIR)/bin/lua ++#LUAC=$(LUA_DIR)/bin/luac + + # If you are using the Debian packages, the following settings should be + # what you want. +-#LUA_LIBS=`pkg-config --libs lua5.1` +-#LUA_INCLUDES=`pkg-config --cflags lua5.1` +-#LUA=`which lua5.1` +-#LUAC=`which luac5.1` ++LUA_LIBS=`pkg-config --libs lua` ++LUA_INCLUDES=`pkg-config --cflags lua` ++LUA=`which lua` ++LUAC=`which luac` + + + ## +@@ -107,7 +107,7 @@ + # asprintf and vasprintf in the c library. (gnu libc has.) + # If HAS_SYSTEM_ASPRINTF is not defined, an implementation + # in sprintf_2.2/ is used. +-#HAS_SYSTEM_ASPRINTF=1 ++HAS_SYSTEM_ASPRINTF=1 + + + # If you're on an archaic system (such as relatively recent *BSD releases) +@@ -144,14 +144,14 @@ + + #C89_SOURCE=-ansi + +-#POSIX_SOURCE=-D_POSIX_SOURCE ++POSIX_SOURCE=-D_POSIX_SOURCE + + # Most systems +-#XOPEN_SOURCE=-D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED ++XOPEN_SOURCE=-D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED + # SunOS, (Irix) + #XOPEN_SOURCE=-D__EXTENSIONS__ + +-#C99_SOURCE=-std=c99 -DCF_HAS_VA_COPY ++C99_SOURCE=-std=c99 -DCF_HAS_VA_COPY + + # The -DCF_HAS_VA_COPY option should allow for some optimisations, and + # in some cases simply defining diff --git a/x11-wm/ion3/files/20070203/202_all_fix-menus.patch b/x11-wm/ion3/files/20070203/202_all_fix-menus.patch new file mode 100644 index 0000000..f218a33 --- /dev/null +++ b/x11-wm/ion3/files/20070203/202_all_fix-menus.patch @@ -0,0 +1,13 @@ +diff -Naur ../work/ion-3ds-20061223/etc/cfg_ioncore.lua ion-3ds-20061223/etc/cfg_ioncore.lua +--- ../work/ion-3ds-20061223/etc/cfg_ioncore.lua 2006-12-23 17:59:43.000000000 +0300 ++++ ion-3ds-20061223/etc/cfg_ioncore.lua 2006-12-31 15:35:59.000000000 +0300 +@@ -324,7 +324,8 @@ + -- Main menu + defmenu("mainmenu", { + submenu("Programs", "appmenu"), +- menuentry("Lock screen", "ioncore.exec_on(_, 'xlock')"), ++ menuentry("Lock screen", ++ "ioncore.exec_on(_, ioncore.lookup_script('ion-lock'))"), + menuentry("Help", "mod_query.query_man(_)"), + menuentry("About Ion", "mod_query.show_about_ion(_)"), + submenu("Styles", "stylemenu"), diff --git a/x11-wm/ion3/files/20070203/205_all_ion-lock.patch b/x11-wm/ion3/files/20070203/205_all_ion-lock.patch new file mode 100644 index 0000000..dda2016 --- /dev/null +++ b/x11-wm/ion3/files/20070203/205_all_ion-lock.patch @@ -0,0 +1,22 @@ +diff -Nur ion3-20050322.orig/utils/Makefile ion3-20050322/utils/Makefile +--- ion3-20050322.orig/utils/Makefile 2005-03-22 14:31:06.000000000 +0000 ++++ ion3-20050322/utils/Makefile 2005-03-22 16:29:37.197355881 +0000 +@@ -11,7 +11,7 @@ + SUBDIRS=ion-completefile + INSTALL_SUBDIRS=$(SUBDIRS) + +-SHELLSCRIPTS = ion-runinxterm ion-completeman ++SHELLSCRIPTS = ion-runinxterm ion-completeman ion-lock + + TARGETS = ion-completeman + +diff -Nur ion3-20050322.orig/utils/ion-lock ion3-20050322/utils/ion-lock +--- ion3-20050322.orig/utils/ion-lock 1970-01-01 00:00:00.000000000 +0000 ++++ ion3-20050322/utils/ion-lock 2005-03-22 16:29:19.550092305 +0000 +@@ -0,0 +1,6 @@ ++#!/bin/sh ++if xscreensaver-command -version >/dev/null 2>&1; then ++ exec xscreensaver-command -lock ++else ++ exec xlock ++fi diff --git a/x11-wm/ion3/files/20070203/207_all_bindings-manpage.patch b/x11-wm/ion3/files/20070203/207_all_bindings-manpage.patch new file mode 100644 index 0000000..5fac548 --- /dev/null +++ b/x11-wm/ion3/files/20070203/207_all_bindings-manpage.patch @@ -0,0 +1,117 @@ +diff -Nur ion3-20061020.orig/man/ion3.cs.in ion3-20061020/man/ion3.cs.in +--- ion3-20061020.orig/man/ion3.cs.in 2006-10-20 17:43:37.000000000 +0200 ++++ ion3-20061020/man/ion3.cs.in 2006-10-23 20:42:12.000000000 +0200 +@@ -81,6 +81,10 @@ + + .SS Globální přiřazení + ++BINDINGS:WFrame ++ ++.SS Přiřazení pro přesun/změnu velikosti ++ + BINDINGS:WScreen + + .SS Přiřazení pro práci s nejvyššími rámy a obrazovkami a jejich potomky +diff -Nur ion3-20061020.orig/man/ion3.fi.in ion3-20061020/man/ion3.fi.in +--- ion3-20061020.orig/man/ion3.fi.in 2006-10-20 17:43:36.000000000 +0200 ++++ ion3-20061020/man/ion3.fi.in 2006-10-23 20:42:12.000000000 +0200 +@@ -84,6 +84,10 @@ + + .SS Yleisesti saatavilla olevat sidonnat + ++BINDINGS:WFrame ++ ++.SS Siirto ja koonmuutostilan sidonnat ++ + BINDINGS:WScreen + + .SS Näytöillä tai ylimmän tason kehyksissä toimivat sidonnat +diff -Nur ion3-20061020.orig/man/ion3.in ion3-20061020/man/ion3.in +--- ion3-20061020.orig/man/ion3.in 2006-10-20 17:43:36.000000000 +0200 ++++ ion3-20061020/man/ion3.in 2006-10-23 20:42:12.000000000 +0200 +@@ -82,6 +82,10 @@ + + .SS Globally available bindings + ++BINDINGS:WFrame ++ ++.SS Move/resize mode bindings ++ + BINDINGS:WScreen + + .SS Bindings operating on top-level frames and screens and their children +diff -Nur ion3-20061020.orig/man/pwm3.cs.in ion3-20061020/man/pwm3.cs.in +--- ion3-20061020.orig/man/pwm3.cs.in 2006-10-20 17:43:36.000000000 +0200 ++++ ion3-20061020/man/pwm3.cs.in 2006-10-23 20:42:12.000000000 +0200 +@@ -56,6 +56,10 @@ + + .SS Globální přiřazení + ++BINDINGS:WFrame ++ ++.SS Přiřazení pro přesun/změnu velikosti ++ + BINDINGS:WScreen + + .".SS Přiřazení pro práci s rámy, obrazovkami a jejich potomky +@@ -64,10 +68,6 @@ + + .SS Přiřazení pro práci s rámy a jejich potomky + +-BINDINGS:WFrame +- +-.SS Přiřazení pro přesun/změnu velikosti +- + BINDINGS:WMoveresMode + + .SS Přiřazení pro plovoucí pracovní plochy [mod_floatws] +diff -Nur ion3-20061020.orig/man/pwm3.fi.in ion3-20061020/man/pwm3.fi.in +--- ion3-20061020.orig/man/pwm3.fi.in 2006-10-20 17:43:36.000000000 +0200 ++++ ion3-20061020/man/pwm3.fi.in 2006-10-23 20:42:12.000000000 +0200 +@@ -57,6 +57,10 @@ + + .SS Yleisesti saatavilla olevat sidonnat + ++BINDINGS:WFrame ++ ++.SS Siirto ja koonmuutostilan sidonnat ++ + BINDINGS:WScreen + + .\".SS Kehyksiä ja näyttöjä, sekä niiden lapsia käsittelevät sidonnat +@@ -65,10 +69,6 @@ + + .SS Kehyksiä, sekä niiden lapsia käsittelevät sidonnat + +-BINDINGS:WFrame +- +-.SS Siirto ja koonmuutostilan sidonnat +- + BINDINGS:WMoveresMode + + .SS Kelluvien työpöytien ja kehyksien sidonnat [mod_floatws] +diff -Nur ion3-20061020.orig/man/pwm3.in ion3-20061020/man/pwm3.in +--- ion3-20061020.orig/man/pwm3.in 2006-10-20 17:43:36.000000000 +0200 ++++ ion3-20061020/man/pwm3.in 2006-10-23 20:42:12.000000000 +0200 +@@ -57,6 +57,10 @@ + + .SS Globally available bindings + ++BINDINGS:WFrame ++ ++.SS Move/resize mode bindings ++ + BINDINGS:WScreen + + .".SS Bindings operating on both frames and screens and their children +@@ -65,10 +69,6 @@ + + .SS Bindings operating on frames and their children + +-BINDINGS:WFrame +- +-.SS Move/resize mode bindings +- + BINDINGS:WMoveresMode + + .SS Bindings for floating workspaces and frames [mod_floatws] diff --git a/x11-wm/ion3/files/20070506/200_all_fix_includes.patch b/x11-wm/ion3/files/20070506/200_all_fix_includes.patch new file mode 100644 index 0000000..19f7edc --- /dev/null +++ b/x11-wm/ion3/files/20070506/200_all_fix_includes.patch @@ -0,0 +1,22 @@ +diff -uNr ion-3rc-20070506.orig/ioncore/ioncore.c ion-3rc-20070506/ioncore/ioncore.c +--- ion-3rc-20070506.orig/ioncore/ioncore.c 2007-05-12 22:04:33.000000000 +0200 ++++ ion-3rc-20070506/ioncore/ioncore.c 2007-05-12 22:23:30.000000000 +0200 +@@ -11,6 +11,7 @@ + #include + #include + #include ++#include + #include + #include + #include +diff -uNr ion-3rc-20070506.orig/utils/ion-completefile/ion-completefile.c ion-3rc-20070506/utils/ion-completefile/ion-completefile.c +--- ion-3rc-20070506.orig/utils/ion-completefile/ion-completefile.c 2007-05-12 22:04:33.000000000 +0200 ++++ ion-3rc-20070506/utils/ion-completefile/ion-completefile.c 2007-05-12 22:05:13.000000000 +0200 +@@ -54,6 +54,7 @@ + + #include + #include ++#include + #include + #include + #include diff --git a/x11-wm/ion3/files/20070506/201_all_fix-paths.patch b/x11-wm/ion3/files/20070506/201_all_fix-paths.patch new file mode 100644 index 0000000..7f8f228 --- /dev/null +++ b/x11-wm/ion3/files/20070506/201_all_fix-paths.patch @@ -0,0 +1,90 @@ +diff -Nur ion-3ds-20060519.orig/system.mk ion-3ds-20060519/system.mk +--- ion-3ds-20060519.orig/system.mk 2006-05-18 18:06:53.000000000 -0500 ++++ ion-3ds-20060519/system.mk 2006-05-18 23:51:23.000000000 -0500 +@@ -7,7 +7,7 @@ + ## Installation paths + ## + +-PREFIX=/usr/local ++PREFIX=/usr + + # Unless you are creating a package conforming to some OS's standards, you + # probably do not want to modify the following directories: +@@ -15,7 +15,7 @@ + # Main binaries + BINDIR=$(PREFIX)/bin + # Configuration .lua files +-ETCDIR=$(PREFIX)/etc/ion3 ++ETCDIR=/etc/X11/ion3 + # Some .lua files and ion-* shell scripts + SHAREDIR=$(PREFIX)/share/ion3 + # Manual pages +@@ -27,11 +27,11 @@ + # Nothing at the moment + LIBDIR=$(PREFIX)/lib + # Modules +-MODULEDIR=$(LIBDIR)/ion3/mod ++MODULEDIR=$(LIBDIR)/ion3/mod + # Compiled Lua source code + LCDIR=$(LIBDIR)/ion3/lc + # ion-completefile (does not belong in SHAREDIR being a binary file) +-EXTRABINDIR=$(LIBDIR)/ion3/bin ++EXTRABINDIR=$(LIBDIR)/ion3/bin + # For ion-completeman system-wide cache + VARDIR=/var/cache/ion3 + # Message catalogs +@@ -56,18 +56,18 @@ + + # If you have installed Lua 5.1 from the official tarball without changing + # paths, this should do it. +-LUA_DIR=/usr/local +-LUA_LIBS = -L$(LUA_DIR)/lib -llua +-LUA_INCLUDES = -I$(LUA_DIR)/include +-LUA=$(LUA_DIR)/bin/lua +-LUAC=$(LUA_DIR)/bin/luac ++#LUA_DIR=/usr/local ++#LUA_LIBS = -L$(LUA_DIR)/lib -llua ++#LUA_INCLUDES = -I$(LUA_DIR)/include ++#LUA=$(LUA_DIR)/bin/lua ++#LUAC=$(LUA_DIR)/bin/luac + + # If you are using the Debian packages, the following settings should be + # what you want. +-#LUA_LIBS=`pkg-config --libs lua5.1` +-#LUA_INCLUDES=`pkg-config --cflags lua5.1` +-#LUA=`which lua5.1` +-#LUAC=`which luac5.1` ++LUA_LIBS=`pkg-config --libs lua` ++LUA_INCLUDES=`pkg-config --cflags lua` ++LUA=`which lua` ++LUAC=`which luac` + + + ## +@@ -107,7 +107,7 @@ + # asprintf and vasprintf in the c library. (gnu libc has.) + # If HAS_SYSTEM_ASPRINTF is not defined, an implementation + # in sprintf_2.2/ is used. +-#HAS_SYSTEM_ASPRINTF=1 ++HAS_SYSTEM_ASPRINTF=1 + + + # If you're on an archaic system (such as relatively recent *BSD releases) +@@ -144,14 +144,14 @@ + + #C89_SOURCE=-ansi + +-#POSIX_SOURCE=-D_POSIX_SOURCE ++POSIX_SOURCE=-D_POSIX_SOURCE + + # Most systems +-#XOPEN_SOURCE=-D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED ++XOPEN_SOURCE=-D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED + # SunOS, (Irix) + #XOPEN_SOURCE=-D__EXTENSIONS__ + +-#C99_SOURCE=-std=c99 -DCF_HAS_VA_COPY ++C99_SOURCE=-std=c99 -DCF_HAS_VA_COPY + + # The -DCF_HAS_VA_COPY option should allow for some optimisations, and + # in some cases simply defining diff --git a/x11-wm/ion3/files/20070506/202_all_fix-menus.patch b/x11-wm/ion3/files/20070506/202_all_fix-menus.patch new file mode 100644 index 0000000..c2d77c8 --- /dev/null +++ b/x11-wm/ion3/files/20070506/202_all_fix-menus.patch @@ -0,0 +1,13 @@ +diff -Naur ../work/ion-3ds-20061223/etc/cfg_ioncore.lua ion-3ds-20061223/etc/cfg_ioncore.lua +--- ../work/ion-3ds-20061223/etc/cfg_ioncore.lua 2006-12-23 17:59:43.000000000 +0300 ++++ ion-3ds-20061223/etc/cfg_ioncore.lua 2006-12-31 15:35:59.000000000 +0300 +@@ -331,7 +331,8 @@ + defmenu("mainmenu", { + menuentry("Run...", "mod_query.query_exec(_)"), + menuentry("Terminal", "ioncore.exec_on(_, XTERM or 'xterm')"), +- menuentry("Lock screen", "ioncore.exec_on(_, 'xlock')"), ++ menuentry("Lock screen", ++ "ioncore.exec_on(_, ioncore.lookup_script('ion-lock'))"), + menuentry("Help", "mod_query.query_man(_)"), + menuentry("About Ion", "mod_query.show_about_ion(_)"), + submenu("Styles", "stylemenu"), diff --git a/x11-wm/ion3/files/20070506/205_all_ion-lock.patch b/x11-wm/ion3/files/20070506/205_all_ion-lock.patch new file mode 100644 index 0000000..dda2016 --- /dev/null +++ b/x11-wm/ion3/files/20070506/205_all_ion-lock.patch @@ -0,0 +1,22 @@ +diff -Nur ion3-20050322.orig/utils/Makefile ion3-20050322/utils/Makefile +--- ion3-20050322.orig/utils/Makefile 2005-03-22 14:31:06.000000000 +0000 ++++ ion3-20050322/utils/Makefile 2005-03-22 16:29:37.197355881 +0000 +@@ -11,7 +11,7 @@ + SUBDIRS=ion-completefile + INSTALL_SUBDIRS=$(SUBDIRS) + +-SHELLSCRIPTS = ion-runinxterm ion-completeman ++SHELLSCRIPTS = ion-runinxterm ion-completeman ion-lock + + TARGETS = ion-completeman + +diff -Nur ion3-20050322.orig/utils/ion-lock ion3-20050322/utils/ion-lock +--- ion3-20050322.orig/utils/ion-lock 1970-01-01 00:00:00.000000000 +0000 ++++ ion3-20050322/utils/ion-lock 2005-03-22 16:29:19.550092305 +0000 +@@ -0,0 +1,6 @@ ++#!/bin/sh ++if xscreensaver-command -version >/dev/null 2>&1; then ++ exec xscreensaver-command -lock ++else ++ exec xlock ++fi diff --git a/x11-wm/ion3/files/20070506/208_all_as-needed.patch b/x11-wm/ion3/files/20070506/208_all_as-needed.patch new file mode 100644 index 0000000..662a078 --- /dev/null +++ b/x11-wm/ion3/files/20070506/208_all_as-needed.patch @@ -0,0 +1,12 @@ +diff -uNr ion-3ds-20070318.orig/de/Makefile ion-3ds-20070318/de/Makefile +--- ion-3ds-20070318.orig/de/Makefile 2007-03-18 21:31:37.000000000 +0100 ++++ ion-3ds-20070318/de/Makefile 2007-04-30 17:30:23.000000000 +0200 +@@ -17,6 +17,8 @@ + + MAKE_EXPORTS=de + ++LDFLAGS+=-lXext ++ + ###################################### + + include $(TOPDIR)/build/rules.mk diff --git a/x11-wm/ion3/files/20070608/201_all_fix-paths.patch b/x11-wm/ion3/files/20070608/201_all_fix-paths.patch new file mode 100644 index 0000000..a9cb080 --- /dev/null +++ b/x11-wm/ion3/files/20070608/201_all_fix-paths.patch @@ -0,0 +1,76 @@ +diff -uNr ion-3rc-20070608.orig/system.mk ion-3rc-20070608/system.mk +--- ion-3rc-20070608.orig/system.mk 2007-06-08 20:42:05.000000000 +0200 ++++ ion-3rc-20070608/system.mk 2007-06-08 20:47:39.000000000 +0200 +@@ -7,7 +7,7 @@ + ## Installation paths + ## + +-PREFIX=/usr/local ++PREFIX=/usr + + # Unless you are creating a package conforming to some OS's standards, you + # probably do not want to modify the following directories: +@@ -15,7 +15,7 @@ + # Main binaries + BINDIR=$(PREFIX)/bin + # Configuration .lua files +-ETCDIR=$(PREFIX)/etc/ion3 ++ETCDIR=/etc/X11/ion3 + # Some .lua files and ion-* shell scripts + SHAREDIR=$(PREFIX)/share/ion3 + # Manual pages +@@ -56,18 +56,18 @@ + + # If you have installed Lua 5.1 from the official tarball without changing + # paths, this should do it. +-LUA_DIR=/usr/local +-LUA_LIBS = -L$(LUA_DIR)/lib -llua +-LUA_INCLUDES = -I$(LUA_DIR)/include +-LUA=$(LUA_DIR)/bin/lua +-LUAC=$(LUA_DIR)/bin/luac ++#LUA_DIR=/usr/local ++#LUA_LIBS = -L$(LUA_DIR)/lib -llua ++#LUA_INCLUDES = -I$(LUA_DIR)/include ++#LUA=$(LUA_DIR)/bin/lua ++#LUAC=$(LUA_DIR)/bin/luac + + # If you are using the Debian packages, the following settings should be + # what you want. +-#LUA_LIBS=`pkg-config --libs lua5.1` +-#LUA_INCLUDES=`pkg-config --cflags lua5.1` +-#LUA=/usr/bin/lua5.1 +-#LUAC=/usr/bin/luac5.1 ++LUA_LIBS=`pkg-config --libs lua` ++LUA_INCLUDES=`pkg-config --cflags lua` ++LUA=/usr/bin/lua ++LUAC=/usr/bin/luac + + + ## +@@ -104,7 +104,7 @@ + # asprintf and vasprintf in the c library. (gnu libc has.) + # If HAS_SYSTEM_ASPRINTF is not defined, an implementation + # in sprintf_2.2/ is used. +-#HAS_SYSTEM_ASPRINTF=1 ++HAS_SYSTEM_ASPRINTF=1 + + # If you're on an archaic system (such as relatively recent *BSD releases) + # without even dummy multibyte/widechar and localisation support, you may +@@ -143,14 +143,14 @@ + + #C89_SOURCE=-ansi + +-#POSIX_SOURCE=-D_POSIX_SOURCE ++POSIX_SOURCE=-D_POSIX_C_SOURCE=200112L + + # Most systems +-#XOPEN_SOURCE=-D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED ++XOPEN_SOURCE=-D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED + # SunOS, (Irix) + #XOPEN_SOURCE=-D__EXTENSIONS__ + +-#C99_SOURCE=-std=c99 -DCF_HAS_VA_COPY ++C99_SOURCE=-std=c99 -DCF_HAS_VA_COPY + + # The -DCF_HAS_VA_COPY option should allow for some optimisations, and + # in some cases simply defining diff --git a/x11-wm/ion3/files/20070608/202_all_fix-menus.patch b/x11-wm/ion3/files/20070608/202_all_fix-menus.patch new file mode 100644 index 0000000..c2d77c8 --- /dev/null +++ b/x11-wm/ion3/files/20070608/202_all_fix-menus.patch @@ -0,0 +1,13 @@ +diff -Naur ../work/ion-3ds-20061223/etc/cfg_ioncore.lua ion-3ds-20061223/etc/cfg_ioncore.lua +--- ../work/ion-3ds-20061223/etc/cfg_ioncore.lua 2006-12-23 17:59:43.000000000 +0300 ++++ ion-3ds-20061223/etc/cfg_ioncore.lua 2006-12-31 15:35:59.000000000 +0300 +@@ -331,7 +331,8 @@ + defmenu("mainmenu", { + menuentry("Run...", "mod_query.query_exec(_)"), + menuentry("Terminal", "ioncore.exec_on(_, XTERM or 'xterm')"), +- menuentry("Lock screen", "ioncore.exec_on(_, 'xlock')"), ++ menuentry("Lock screen", ++ "ioncore.exec_on(_, ioncore.lookup_script('ion-lock'))"), + menuentry("Help", "mod_query.query_man(_)"), + menuentry("About Ion", "mod_query.show_about_ion(_)"), + submenu("Styles", "stylemenu"), diff --git a/x11-wm/ion3/files/20070608/205_all_ion-lock.patch b/x11-wm/ion3/files/20070608/205_all_ion-lock.patch new file mode 100644 index 0000000..dda2016 --- /dev/null +++ b/x11-wm/ion3/files/20070608/205_all_ion-lock.patch @@ -0,0 +1,22 @@ +diff -Nur ion3-20050322.orig/utils/Makefile ion3-20050322/utils/Makefile +--- ion3-20050322.orig/utils/Makefile 2005-03-22 14:31:06.000000000 +0000 ++++ ion3-20050322/utils/Makefile 2005-03-22 16:29:37.197355881 +0000 +@@ -11,7 +11,7 @@ + SUBDIRS=ion-completefile + INSTALL_SUBDIRS=$(SUBDIRS) + +-SHELLSCRIPTS = ion-runinxterm ion-completeman ++SHELLSCRIPTS = ion-runinxterm ion-completeman ion-lock + + TARGETS = ion-completeman + +diff -Nur ion3-20050322.orig/utils/ion-lock ion3-20050322/utils/ion-lock +--- ion3-20050322.orig/utils/ion-lock 1970-01-01 00:00:00.000000000 +0000 ++++ ion3-20050322/utils/ion-lock 2005-03-22 16:29:19.550092305 +0000 +@@ -0,0 +1,6 @@ ++#!/bin/sh ++if xscreensaver-command -version >/dev/null 2>&1; then ++ exec xscreensaver-command -lock ++else ++ exec xlock ++fi diff --git a/x11-wm/ion3/files/20070608/208_all_as-needed.patch b/x11-wm/ion3/files/20070608/208_all_as-needed.patch new file mode 100644 index 0000000..662a078 --- /dev/null +++ b/x11-wm/ion3/files/20070608/208_all_as-needed.patch @@ -0,0 +1,12 @@ +diff -uNr ion-3ds-20070318.orig/de/Makefile ion-3ds-20070318/de/Makefile +--- ion-3ds-20070318.orig/de/Makefile 2007-03-18 21:31:37.000000000 +0100 ++++ ion-3ds-20070318/de/Makefile 2007-04-30 17:30:23.000000000 +0200 +@@ -17,6 +17,8 @@ + + MAKE_EXPORTS=de + ++LDFLAGS+=-lXext ++ + ###################################### + + include $(TOPDIR)/build/rules.mk diff --git a/x11-wm/ion3/files/digest-ion3-20060326 b/x11-wm/ion3/files/digest-ion3-20060326 new file mode 100644 index 0000000..1b1ac52 --- /dev/null +++ b/x11-wm/ion3/files/digest-ion3-20060326 @@ -0,0 +1,3 @@ +MD5 3d5628d4efe93f2de804cf5b01abc743 ion-3ds-20060326.tar.gz 617533 +RMD160 147e6ad20c69ca8fe5a80dcd57ce6002a2b3cde1 ion-3ds-20060326.tar.gz 617533 +SHA256 9f3c96c961e47c61e9c10b57de820b608b9d9fdaa43a893e63499b3f17231124 ion-3ds-20060326.tar.gz 617533 diff --git a/x11-wm/ion3/files/digest-ion3-20061223 b/x11-wm/ion3/files/digest-ion3-20061223 new file mode 100644 index 0000000..1de1302 --- /dev/null +++ b/x11-wm/ion3/files/digest-ion3-20061223 @@ -0,0 +1,15 @@ +MD5 861887705546ddb5f240f10dbdab5098 ion-3ds-20061223.tar.gz 649463 +RMD160 dc61a012354a30f1a83b8b0970b8c09724ea4c9c ion-3ds-20061223.tar.gz 649463 +SHA256 0970fef74de659de45813471560ebe2f97b893de7a238ea00755fcaeb9b7d89e ion-3ds-20061223.tar.gz 649463 +MD5 3133bab28e984dd568e03e4e3fd0cdd7 ion3-mod-ionflux_20061022.orig.tar.gz 14847 +RMD160 86bcc2a260f3e37d613bcebd66f37616e56d3926 ion3-mod-ionflux_20061022.orig.tar.gz 14847 +SHA256 f9fd872d2d5b35f882d9a9161dee52fd5b2bb346c46f9e6cc30922dcda99c935 ion3-mod-ionflux_20061022.orig.tar.gz 14847 +MD5 454d6eb52c2c7c3622582a97e8e89184 ion3-mod-xrandr-20061021.tar.bz2 10762 +RMD160 cca3f472e32b8aff1ce8af123c24e17574c1b197 ion3-mod-xrandr-20061021.tar.bz2 10762 +SHA256 cd2225a356ddfc6f02062bf23c1e90fa573661347ff185316aeae0e18eee72ef ion3-mod-xrandr-20061021.tar.bz2 10762 +MD5 fd5c13cd038464cab15134e3aaa68617 ion3-scripts_20061214.orig.tar.gz 129181 +RMD160 b22827c490f23252c1953582d24a19a5aa0aaed0 ion3-scripts_20061214.orig.tar.gz 129181 +SHA256 82e25973fcfdd282bdb3734191f8a5b0d711b2bf0cb64196d3b42351185fdbcf ion3-scripts_20061214.orig.tar.gz 129181 +MD5 83a2a2a19cb3faed66b5517e31bee17f xft-ion3-for-darcs-20061202.diff 20126 +RMD160 054efa097492531d800bca85582d5b6836567408 xft-ion3-for-darcs-20061202.diff 20126 +SHA256 6af98c329395acb46ddbdac4f0ba023c6e5344914cc06cdfa82339526ce25b3c xft-ion3-for-darcs-20061202.diff 20126 diff --git a/x11-wm/ion3/files/digest-ion3-20070506-r1 b/x11-wm/ion3/files/digest-ion3-20070506-r1 new file mode 100644 index 0000000..bfefeec --- /dev/null +++ b/x11-wm/ion3/files/digest-ion3-20070506-r1 @@ -0,0 +1,15 @@ +MD5 c005ebeb89894eefbb414897d874cee6 ion-3rc-20070506.tar.gz 640482 +RMD160 b5dda6a7a48c1f3d433b2a2b1c37294ece79a259 ion-3rc-20070506.tar.gz 640482 +SHA256 850dce3bd1be5d200fda5ba3e6085f397b35c720f7758dc5481bf503fe5d2f56 ion-3rc-20070506.tar.gz 640482 +MD5 45dc4b83f2badbade8389953b3c49da7 ion-doc-3rc-20070506.tar.gz 669471 +RMD160 aa9e75b60c121d3cd62f60afed4592fe1bc0da87 ion-doc-3rc-20070506.tar.gz 669471 +SHA256 9dac4f5e69121b98cf6e5da455d6185f00605cf237f14fc4f8578446f622476e ion-doc-3rc-20070506.tar.gz 669471 +MD5 c8c2d7b039f751db017275f5f977702e ion3-mod-ionflux-20070512.tar.bz2 12770 +RMD160 8e834de0c3048b676bc5c5d5454aedac09129eb3 ion3-mod-ionflux-20070512.tar.bz2 12770 +SHA256 63c4902159923aa02921e39aa7746ca8819ba1c216efa8fa6384fd093f60d18c ion3-mod-ionflux-20070512.tar.bz2 12770 +MD5 dcb17665b215d0891be40392f57197c1 ion3-mod-xrandr-20070410.tar.bz2 10833 +RMD160 8542c0dfebfd1536e6a1ad89a3b791609ca8f16e ion3-mod-xrandr-20070410.tar.bz2 10833 +SHA256 80f23a435b21f8691fc63b78394fa29b25b5304f46895dd961ac905bcc76c82f ion3-mod-xrandr-20070410.tar.bz2 10833 +MD5 33495ed87edd9c5734a1c413847a3b3d ion3-scripts-20070510.tar.bz2 100952 +RMD160 4ac0fff86a039d5890bd934d80c33bb5a78fb02d ion3-scripts-20070510.tar.bz2 100952 +SHA256 53c4705ab6f880404aae92cef3018a956ee1b55d0e22ef93c12d30527a419a61 ion3-scripts-20070510.tar.bz2 100952 diff --git a/x11-wm/ion3/files/digest-ion3-20070608 b/x11-wm/ion3/files/digest-ion3-20070608 new file mode 100644 index 0000000..0afc069 --- /dev/null +++ b/x11-wm/ion3/files/digest-ion3-20070608 @@ -0,0 +1,6 @@ +MD5 ba02edff5d4726104f98fa70b6cd96d8 ion-3rc-20070608.tar.gz 655442 +RMD160 41fd6d581e27770e63f7bc66122684d8c11667f2 ion-3rc-20070608.tar.gz 655442 +SHA256 1ebad89f61c3ac58bd583cfe3a0cb71c5254679a9f35f46d954d6e72eada86e8 ion-3rc-20070608.tar.gz 655442 +MD5 45dc4b83f2badbade8389953b3c49da7 ion-doc-3rc-20070506.tar.gz 669471 +RMD160 aa9e75b60c121d3cd62f60afed4592fe1bc0da87 ion-doc-3rc-20070506.tar.gz 669471 +SHA256 9dac4f5e69121b98cf6e5da455d6185f00605cf237f14fc4f8578446f622476e ion-doc-3rc-20070506.tar.gz 669471 diff --git a/x11-wm/ion3/files/ion3-20060317-truetype.patch b/x11-wm/ion3/files/ion3-20060317-truetype.patch new file mode 100644 index 0000000..2675dfd --- /dev/null +++ b/x11-wm/ion3/files/ion3-20060317-truetype.patch @@ -0,0 +1,741 @@ +diff -Naur ion-3ds-20060317/configure.ac ion-3ds/configure.ac +--- ion-3ds-20060317/configure.ac 2006-03-17 20:43:29.000000000 +0100 ++++ ion-3ds/configure.ac 2006-03-17 23:17:45.000000000 +0100 +@@ -420,6 +420,18 @@ + + dnl }}} + ++AC_ARG_ENABLE([xft], ++ [AS_HELP_STRING([--disable-xft], ++ [Disable XFT Support])]) ++ ++if test "x$enable_xft" != xno; then ++ XFT_CFLAGS=`xft-config --cflags` ++ XFT_CFLAGS="${XFT_CFLAGS} -DXFT" ++ XFT_LIBS=`xft-config --libs` ++fi ++ ++AC_SUBST([XFT_CFLAGS]) ++AC_SUBST([XFT_LIBS]) + + AC_OUTPUT([system-ac.mk]) + +diff -Naur ion-3ds-20060317/de/brush.c ion-3ds/de/brush.c +--- ion-3ds-20060317/de/brush.c 2006-03-17 20:43:04.000000000 +0100 ++++ ion-3ds/de/brush.c 2006-03-17 23:17:45.000000000 +0100 +@@ -37,7 +37,9 @@ + brush->indicator_w=0; + brush->win=win; + brush->clip_set=FALSE; +- ++#ifdef XFT ++ brush->draw=NULL; ++#endif /* XFT */ + style->usecount++; + + if(!grbrush_init(&(brush->grbrush))){ +@@ -65,7 +67,6 @@ + CREATEOBJ_IMPL(DEBrush, debrush, (p, win, stylename, style)); + } + +- + static DEBrush *do_get_brush(Window win, WRootWin *rootwin, + const char *stylename, bool slave) + { +@@ -104,6 +105,10 @@ + { + destyle_unref(brush->d); + brush->d=NULL; ++#ifdef XFT ++ if(brush->draw!=NULL) ++ XftDrawDestroy(brush->draw); ++#endif /* XFT */ + grbrush_deinit(&(brush->grbrush)); + } + +@@ -114,6 +119,21 @@ + } + + ++#ifdef XFT ++XftDraw *debrush_get_draw(DEBrush *brush, Drawable d) ++{ ++ if(brush->draw==NULL) ++ brush->draw=XftDrawCreate(ioncore_g.dpy, d, ++ XftDEDefaultVisual(), ++ DefaultColormap(ioncore_g.dpy, ++ 0)); ++ else ++ XftDrawChange(brush->draw, d); ++ ++ return brush->draw; ++} ++#endif ++ + /*}}}*/ + + +diff -Naur ion-3ds-20060317/de/brush.h ion-3ds/de/brush.h +--- ion-3ds-20060317/de/brush.h 2006-03-17 20:43:04.000000000 +0100 ++++ ion-3ds/de/brush.h 2006-03-17 23:17:45.000000000 +0100 +@@ -17,6 +17,9 @@ + #include + #include + #include ++#ifdef XFT ++#include ++#endif /* XFT */ + + INTRCLASS(DEBrush); + +@@ -34,6 +37,9 @@ + DECLCLASS(DEBrush){ + GrBrush grbrush; + DEStyle *d; ++#ifdef XFT ++ XftDraw *draw; ++#endif + DEBrushExtrasFn *extras_fn; + int indicator_w; + Window win; +@@ -104,5 +110,8 @@ + const char *attr); + extern void debrush_clear_area(DEBrush *brush, const WRectangle *geom); + ++#ifdef XFT ++XftDraw *debrush_get_draw(DEBrush *brush, Drawable d); ++#endif + + #endif /* ION_DE_BRUSH_H */ +diff -Naur ion-3ds-20060317/de/colour.c ion-3ds/de/colour.c +--- ion-3ds-20060317/de/colour.c 2006-03-17 20:43:04.000000000 +0100 ++++ ion-3ds/de/colour.c 2006-03-17 23:17:45.000000000 +0100 +@@ -12,12 +12,23 @@ + #include + #include "colour.h" + +- + bool de_alloc_colour(WRootWin *rootwin, DEColour *ret, const char *name) + { ++#ifndef XFT + XColor c; + bool ok=FALSE; ++#else /* XFT */ ++ if(name==NULL) ++ return FALSE; ++ return XftColorAllocName( ++ ioncore_g.dpy, ++ XftDEDefaultVisual(), ++ rootwin->default_cmap, ++ name, ++ ret); ++#endif /* XFT */ + ++#ifndef XFT + if(name==NULL) + return FALSE; + +@@ -28,11 +39,13 @@ + } + + return ok; ++#endif /* ! XFT */ + } + + + bool de_duplicate_colour(WRootWin *rootwin, DEColour in, DEColour *out) + { ++#ifndef XFT + XColor c; + c.pixel=in; + XQueryColor(ioncore_g.dpy, rootwin->default_cmap, &c); +@@ -41,11 +54,20 @@ + return TRUE; + } + return FALSE; ++#else /* XFT */ ++ return XftColorAllocName( ++ ioncore_g.dpy, ++ XftDEDefaultVisual(), ++ rootwin->default_cmap, ++ &(in.color), ++ out); ++#endif /* XFT */ + } + + + void de_free_colour_group(WRootWin *rootwin, DEColourGroup *cg) + { ++#ifndef XFT + DEColour pixels[5]; + + pixels[0]=cg->bg; +@@ -60,15 +82,26 @@ + free(cg->spec); + cg->spec=NULL; + } ++#else /* XFT */ ++ 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); ++#endif /* XFT */ + } + + + void de_free_colour(WRootWin *rootwin, DEColour col) + { ++#ifndef XFT + DEColour pixels[1]; + + pixels[0]=col; + + XFreeColors(ioncore_g.dpy, rootwin->default_cmap, pixels, 1, 0); ++#else /* XFT */ ++ XftColorFree(ioncore_g.dpy, XftDEDefaultVisual(), rootwin->default_cmap, &col); ++#endif /* XFT */ + } + +diff -Naur ion-3ds-20060317/de/colour.h ion-3ds/de/colour.h +--- ion-3ds-20060317/de/colour.h 2006-03-17 20:43:04.000000000 +0100 ++++ ion-3ds/de/colour.h 2006-03-17 23:17:45.000000000 +0100 +@@ -15,12 +15,19 @@ + #include + #include + #include ++#ifdef XFT ++#include ++#endif /* XFT */ + + + INTRSTRUCT(DEColourGroup); + + ++#ifndef XFT + typedef unsigned long DEColour; ++#else /* XFT */ ++typedef XftColor DEColour; ++#endif /* XFT */ + + + DECLSTRUCT(DEColourGroup){ +@@ -37,5 +44,6 @@ + bool de_duplicate_colour(WRootWin *rootwin, DEColour in, DEColour *out); + void de_free_colour_group(WRootWin *rootwin, DEColourGroup *cg); + void de_free_colour(WRootWin *rootwin, DEColour col); ++#define XftDEDefaultVisual() DefaultVisual(ioncore_g.dpy, 0) + + #endif /* ION_DE_COLOUR_H */ +diff -Naur ion-3ds-20060317/de/draw.c ion-3ds/de/draw.c +--- ion-3ds-20060317/de/draw.c 2006-03-17 20:43:04.000000000 +0100 ++++ ion-3ds/de/draw.c 2006-03-17 23:17:45.000000000 +0100 +@@ -79,7 +79,11 @@ + w--; + h--; + ++#ifndef XFT + XSetForeground(ioncore_g.dpy, gc, tlc); ++#else /* XFT */ ++ XSetForeground(ioncore_g.dpy, gc, tlc.pixel); ++#endif /* XFT */ + + + a=(br!=0); +@@ -99,7 +103,11 @@ + } + + ++#ifndef XFT + XSetForeground(ioncore_g.dpy, gc, brc); ++#else /* XFT */ ++ XSetForeground(ioncore_g.dpy, gc, brc.pixel); ++#endif /* XFT */ + + a=(tl!=0); + b=0; +@@ -174,19 +182,35 @@ + GrBorderLine line) + { + if(line==GR_BORDERLINE_LEFT && geom->h>0){ ++#ifndef XFT + XSetForeground(ioncore_g.dpy, gc, tlc); ++#else /* XFT */ ++ XSetForeground(ioncore_g.dpy, gc, tlc.pixel); ++#endif /* XFT */ + XDrawRectangle(ioncore_g.dpy, win, gc, geom->x, geom->y, tl, geom->h); + geom->x+=tl; + }else if(line==GR_BORDERLINE_TOP && geom->w>0){ ++#ifndef XFT + XSetForeground(ioncore_g.dpy, gc, tlc); ++#else /* XFT */ ++ XSetForeground(ioncore_g.dpy, gc, tlc.pixel); ++#endif /* XFT */ + XDrawRectangle(ioncore_g.dpy, win, gc, geom->x, geom->y, geom->w, tl); + geom->y+=tl; + }else if(line==GR_BORDERLINE_RIGHT && geom->h>0){ ++#ifndef XFT + XSetForeground(ioncore_g.dpy, gc, brc); ++#else /* XFT */ ++ XSetForeground(ioncore_g.dpy, gc, brc.pixel); ++#endif /* XFT */ + XDrawRectangle(ioncore_g.dpy, win, gc, geom->x+geom->w-1-br, geom->y, br, geom->h); + geom->w-=br; + }else if(line==GR_BORDERLINE_BOTTOM && geom->w>0){ ++#ifndef XFT + XSetForeground(ioncore_g.dpy, gc, brc); ++#else /* XFT */ ++ XSetForeground(ioncore_g.dpy, gc, brc.pixel); ++#endif /* XFT */ + XDrawRectangle(ioncore_g.dpy, win, gc, geom->x, geom->y+geom->h-1-br, geom->w, br); + geom->h-=br; + } +@@ -276,7 +300,11 @@ + } + + if(MATCHES2("*-*-tagged", a1, a2)){ ++#ifndef XFT + XSetForeground(ioncore_g.dpy, d->copy_gc, cg->fg); ++#else /* XFT */ ++ XSetForeground(ioncore_g.dpy, d->copy_gc, cg->fg.pixel); ++#endif /* XFT */ + + copy_masked(brush, d->tag_pixmap, brush->win, 0, 0, + d->tag_pixmap_w, d->tag_pixmap_h, +@@ -326,7 +354,11 @@ + GC gc=brush->d->normal_gc; + + if(TRUE/*needfill*/){ ++#ifndef XFT + XSetForeground(ioncore_g.dpy, gc, cg->bg); ++#else /* XFT */ ++ XSetForeground(ioncore_g.dpy, gc, cg->bg.pixel); ++#endif /* XFT */ + XFillRectangle(ioncore_g.dpy, brush->win, gc, geom->x, geom->y, + geom->w, geom->h); + } +@@ -468,7 +500,11 @@ + attr.background_pixmap=ParentRelative; + }else{ + attrflags=CWBackPixel; ++#ifndef XFT + attr.background_pixel=brush->d->cgrp.bg; ++#else /* XFT */ ++ attr.background_pixel=brush->d->cgrp.bg.pixel; ++#endif /* XFT */ + } + + XChangeWindowAttributes(ioncore_g.dpy, brush->win, attrflags, &attr); +@@ -484,7 +520,11 @@ + if(cg==NULL) + return; + ++#ifndef XFT + XSetForeground(ioncore_g.dpy, gc, cg->bg); ++#else /* XFT */ ++ XSetForeground(ioncore_g.dpy, gc, cg->bg.pixel); ++#endif /* XFT */ + XFillRectangle(ioncore_g.dpy, brush->win, gc, + geom->x, geom->y, geom->w, geom->h); + } +diff -Naur ion-3ds-20060317/de/font.c ion-3ds/de/font.c +--- ion-3ds-20060317/de/font.c 2006-03-17 20:43:04.000000000 +0100 ++++ ion-3ds/de/font.c 2006-03-17 23:17:45.000000000 +0100 +@@ -14,7 +14,9 @@ + #include + #include + #include "font.h" ++#ifndef XFT + #include "fontset.h" ++#endif /* ! XFT */ + #include "brush.h" + + +@@ -26,10 +28,13 @@ + + DEFont *de_load_font(const char *fontname) + { ++#ifdef XFT ++ XftFont *font; ++#endif + DEFont *fnt; + XFontSet fontset=NULL; + XFontStruct *fontstruct=NULL; +- ++ + assert(fontname!=NULL); + + /* There shouldn't be that many fonts... */ +@@ -40,6 +45,7 @@ + } + } + ++#ifndef XFT + if(ioncore_g.use_mb){ + fontset=de_create_font_set(fontname); + if(fontset!=NULL){ +@@ -66,13 +72,34 @@ + return NULL; + } + ++#else /* XFT */ ++ if(strncmp(fontname, "xft:", 4)==0){ ++ font=XftFontOpenName(ioncore_g.dpy, DefaultScreen(ioncore_g.dpy), ++ fontname+4); ++ }else{ ++ font=XftFontOpenXlfd(ioncore_g.dpy, DefaultScreen(ioncore_g.dpy), fontname); ++ } ++ ++ if(font==NULL){ ++ if(strcmp(fontname, CF_FALLBACK_FONT_NAME)!=0){ ++ warn(TR("Could not load font \"%s\", trying \"%s\""), ++ fontname, CF_FALLBACK_FONT_NAME); ++ return de_load_font(CF_FALLBACK_FONT_NAME); ++ } ++ return NULL; ++ } ++#endif /* XFT */ + fnt=ALLOC(DEFont); + + if(fnt==NULL) +- return NULL; ++ return NULL; + ++#ifndef XFT + fnt->fontset=fontset; + fnt->fontstruct=fontstruct; ++#else ++ fnt->font=font; ++#endif + fnt->pattern=scopy(fontname); + fnt->next=NULL; + fnt->prev=NULL; +@@ -92,11 +119,13 @@ + style->font=font; + font->refcount++; + ++#ifndef XFT + if(style->font->fontstruct!=NULL){ + XSetFont(ioncore_g.dpy, style->normal_gc, + style->font->fontstruct->fid); + } + ++#endif /* ! XFT */ + return TRUE; + } + +@@ -111,11 +140,13 @@ + if(style->font==NULL) + return FALSE; + ++#ifndef XFT + if(style->font->fontstruct!=NULL){ + XSetFont(ioncore_g.dpy, style->normal_gc, + style->font->fontstruct->fid); + } + ++#endif /* ! XFT */ + return TRUE; + } + +@@ -125,13 +156,17 @@ + if(--font->refcount!=0) + return; + ++#ifndef XFT + if(font->fontset!=NULL) + XFreeFontSet(ioncore_g.dpy, font->fontset); + if(font->fontstruct!=NULL) + XFreeFont(ioncore_g.dpy, font->fontstruct); ++#else /* XFT */ ++ if(font->font!=NULL) ++ XftFontClose(ioncore_g.dpy, font->font); ++#endif /* XFT */ + if(font->pattern!=NULL) +- free(font->pattern); +- ++ free(font->pattern); + UNLINK_ITEM(fonts, font, next, prev); + free(font); + } +@@ -156,6 +191,7 @@ + + void defont_get_font_extents(DEFont *font, GrFontExtents *fnte) + { ++#ifndef XFT + if(font->fontset!=NULL){ + XFontSetExtents *ext=XExtentsOfFontSet(font->fontset); + if(ext==NULL) +@@ -171,7 +207,14 @@ + fnte->baseline=fnt->ascent; + return; + } +- ++#else /* XFT */ ++ 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; ++ } ++#endif /* XFT */ + fail: + DE_RESET_FONT_EXTENTS(fnte); + } +@@ -188,20 +231,35 @@ + + uint defont_get_text_width(DEFont *font, const char *text, uint len) + { ++#ifndef XFT + if(font->fontset!=NULL){ + XRectangle lext; + #ifdef CF_DE_USE_XUTF8 +- if(ioncore_g.enc_utf8) +- Xutf8TextExtents(font->fontset, text, len, NULL, &lext); +- else ++ if(ioncore_g.enc_utf8) ++ Xutf8TextExtents(font->fontset, text, len, NULL, &lext); ++ else + #endif +- XmbTextExtents(font->fontset, text, len, NULL, &lext); +- return lext.width; ++ XmbTextExtents(font->fontset, text, len, NULL, &lext); ++ return lext.width; + }else if(font->fontstruct!=NULL){ + return XTextWidth(font->fontstruct, text, len); + }else{ + return 0; + } ++#else /* XFT */ ++ if(font->font!=NULL){ ++ XGlyphInfo extents; ++ if(ioncore_g.enc_utf8) ++ XftTextExtentsUtf8(ioncore_g.dpy, font->font, (XftChar8 *)text, len, ++ &extents); ++ else ++ XftTextExtents8(ioncore_g.dpy, font->font, (XftChar8 *)text, len, ++ &extents); ++ return extents.xOff; ++ }else{ ++ return 0; ++ } ++#endif /* XFT */ + } + + +@@ -211,6 +269,7 @@ + /*{{{ String drawing */ + + ++#ifndef XFT + void debrush_do_draw_string_default(DEBrush *brush, int x, int y, + const char *str, int len, bool needfill, + DEColourGroup *colours) +@@ -256,6 +315,41 @@ + } + } + ++#else /* XFT */ ++void debrush_do_draw_string_default(DEBrush *brush, ++ int x, int y, const char *str, ++ int len, bool needfill, ++ DEColourGroup *colours) ++{ ++ Window win = brush->win; ++ GC gc=brush->d->normal_gc; ++ XftDraw *draw; ++ XftFont *font; ++ ++ if(brush->d->font==NULL) ++ return; ++ ++ font=brush->d->font->font; ++ draw=debrush_get_draw(brush, win); ++ ++ if(TRUE/*needfill*/){ ++ XGlyphInfo extents; ++ if(ioncore_g.enc_utf8) ++ XftTextExtentsUtf8(ioncore_g.dpy, font, (XftChar8 *)str, len, ++ &extents); ++ else ++ XftTextExtents8(ioncore_g.dpy, font, (XftChar8 *)str, len, &extents); ++ XftDrawRect(draw, &(colours->bg), x-extents.x, y-extents.y, ++ extents.width, extents.height); ++ } ++ ++ if(ioncore_g.enc_utf8) ++ XftDrawStringUtf8(draw, &(colours->fg), font, x, y, (XftChar8 *)str, ++ len); ++ else ++ XftDrawString8(draw, &(colours->fg), font, x, y, (XftChar8 *)str, len); ++} ++#endif /* XFT */ + + void debrush_do_draw_string(DEBrush *brush, int x, int y, + const char *str, int len, bool needfill, +diff -Naur ion-3ds-20060317/de/font.h ion-3ds/de/font.h +--- ion-3ds-20060317/de/font.h 2006-03-17 20:43:04.000000000 +0100 ++++ ion-3ds/de/font.h 2006-03-17 23:17:45.000000000 +0100 +@@ -14,6 +14,9 @@ + + #include + #include ++#ifdef XFT ++#include ++#endif /* XFT */ + + INTRSTRUCT(DEFont); + +@@ -29,6 +32,9 @@ + int refcount; + XFontSet fontset; + XFontStruct *fontstruct; ++#ifdef XFT /* XFT */ ++ XftFont *font; ++#endif /* XFT */ + DEFont *next, *prev; + }; + +diff -Naur ion-3ds-20060317/de/init.c ion-3ds/de/init.c +--- ion-3ds-20060317/de/init.c 2006-03-17 20:43:04.000000000 +0100 ++++ ion-3ds/de/init.c 2006-03-17 23:17:45.000000000 +0100 +@@ -113,16 +113,19 @@ + void de_get_colour_group(WRootWin *rootwin, DEColourGroup *cg, + ExtlTab tab, DEStyle *based_on) + { +- de_get_colour(rootwin, &(cg->hl), tab, based_on, "highlight_colour", +- DE_WHITE(rootwin)); +- de_get_colour(rootwin, &(cg->sh), tab, based_on, "shadow_colour", +- DE_WHITE(rootwin)); +- de_get_colour(rootwin, &(cg->bg), tab, based_on, "background_colour", +- DE_BLACK(rootwin)); +- de_get_colour(rootwin, &(cg->fg), tab, based_on, "foreground_colour", +- DE_WHITE(rootwin)); +- de_get_colour(rootwin, &(cg->pad), tab, based_on, "padding_colour", +- cg->bg); ++ DEColour black, white; ++#ifdef XFT ++ de_alloc_colour(rootwin, &black, "black"); ++ de_alloc_colour(rootwin, &white, "white"); ++#else ++ black=DE_BLACK(rootwin); ++ white=DE_WHITE(rootwin); ++#endif ++ de_get_colour(rootwin, &(cg->hl), tab, based_on, "highlight_colour", white); ++ de_get_colour(rootwin, &(cg->sh), tab, based_on, "shadow_colour", white); ++ de_get_colour(rootwin, &(cg->bg), tab, based_on, "background_colour", black); ++ de_get_colour(rootwin, &(cg->fg), tab, based_on, "foreground_colour", white); ++ de_get_colour(rootwin, &(cg->pad), tab, based_on, "padding_colour", cg->bg); + } + + +@@ -329,7 +332,6 @@ + + char de_ion_api_version[]=ION_API_VERSION; + +- + bool de_init() + { + WRootWin *rootwin; +diff -Naur ion-3ds-20060317/de/Makefile ion-3ds/de/Makefile +--- ion-3ds-20060317/de/Makefile 2006-03-17 20:43:01.000000000 +0100 ++++ ion-3ds/de/Makefile 2006-03-17 23:17:45.000000000 +0100 +@@ -8,13 +8,12 @@ + + ###################################### + ++ + INCLUDES += $(X11_INCLUDES) $(LIBTU_INCLUDES) $(LIBEXTL_INCLUDES) -I.. + CFLAGS += $(XOPEN_SOURCE) $(C99_SOURCE) + + SOURCES=init.c draw.c font.c colour.c brush.c fontset.c style.c +- + MODULE=de +- + MAKE_EXPORTS=de + + ###################################### +diff -Naur ion-3ds-20060317/de/style.c ion-3ds/de/style.c +--- ion-3ds-20060317/de/style.c 2006-03-17 20:43:04.000000000 +0100 ++++ ion-3ds/de/style.c 2006-03-17 23:17:45.000000000 +0100 +@@ -74,10 +74,17 @@ + /*gcv.function=GXclear;*/ + gcv.stipple=stipple_pixmap; + gcvmask=GCFillStyle|GCStipple/*|GCFunction*/; ++#ifndef XFT + if(style->font!=NULL && style->font->fontstruct!=NULL){ + gcv.font=style->font->fontstruct->fid; + gcvmask|=GCFont; + } ++#else /* XFT */ ++// if(style->font!=NULL){ ++// gcv.font=style->font; ++// gcvmask|=GCFont; ++// } ++#endif /* XFT */ + + style->stipple_gc=XCreateGC(dpy, root, gcvmask, &gcv); + XCopyGC(dpy, style->normal_gc, +@@ -206,6 +213,14 @@ + + bool destyle_init(DEStyle *style, WRootWin *rootwin, const char *name) + { ++ DEColour black, white; ++#ifdef XFT ++ de_alloc_colour(rootwin, &black, "black"); ++ de_alloc_colour(rootwin, &white, "white"); ++#else ++ black=DE_BLACK(rootwin); ++ white=DE_WHITE(rootwin); ++#endif /* XFT */ + style->style=scopy(name); + if(style->style==NULL) + return FALSE; +@@ -229,11 +244,11 @@ + + 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); ++ style->cgrp.bg=black; ++ style->cgrp.pad=black; ++ style->cgrp.fg=white; ++ style->cgrp.hl=white; ++ style->cgrp.sh=white; + + style->font=NULL; + +@@ -255,7 +270,7 @@ + static DEStyle *do_create_style(WRootWin *rootwin, const char *name) + { + DEStyle *style=ALLOC(DEStyle); +- if(style!=NULL){ ++ if(style!=NULL) { + if(!destyle_init(style, rootwin, name)){ + free(style); + return NULL; +diff -Naur ion-3ds-20060317/de/style.h ion-3ds/de/style.h +--- ion-3ds-20060317/de/style.h 2006-03-17 20:43:04.000000000 +0100 ++++ ion-3ds/de/style.h 2006-03-17 23:17:45.000000000 +0100 +@@ -76,6 +76,7 @@ + Pixmap tag_pixmap; + int tag_pixmap_w; + int tag_pixmap_h; ++ int xft_style; + + DEStyle *next, *prev; + }; +diff -Naur ion-3ds-20060317/system-ac.mk.in ion-3ds/system-ac.mk.in +--- ion-3ds-20060317/system-ac.mk.in 2006-03-17 20:43:03.000000000 +0100 ++++ ion-3ds/system-ac.mk.in 2006-03-17 23:17:45.000000000 +0100 +@@ -188,3 +188,7 @@ + STRIP=@STRIP@ + + RM=rm ++ ++### XFT Support ++CFLAGS+=@XFT_CFLAGS@ ++LIBS+=@XFT_LIBS@ diff --git a/x11-wm/ion3/files/ion3-20060326-truetype.patch b/x11-wm/ion3/files/ion3-20060326-truetype.patch new file mode 100644 index 0000000..ea94577 --- /dev/null +++ b/x11-wm/ion3/files/ion3-20060326-truetype.patch @@ -0,0 +1,741 @@ +diff -Naur ion-3ds-20060326/configure.ac ion-3ds/configure.ac +--- ion-3ds-20060326/configure.ac 2006-03-26 11:37:58.000000000 +0200 ++++ ion-3ds/configure.ac 2006-04-06 10:08:37.000000000 +0200 +@@ -420,6 +420,18 @@ + + dnl }}} + ++AC_ARG_ENABLE([xft], ++ [AS_HELP_STRING([--disable-xft], ++ [Disable XFT Support])]) ++ ++if test "x$enable_xft" != xno; then ++ XFT_CFLAGS=`xft-config --cflags` ++ XFT_CFLAGS="${XFT_CFLAGS} -DXFT" ++ XFT_LIBS=`xft-config --libs` ++fi ++ ++AC_SUBST([XFT_CFLAGS]) ++AC_SUBST([XFT_LIBS]) + + AC_OUTPUT([system-ac.mk]) + +diff -Naur ion-3ds-20060326/de/brush.c ion-3ds/de/brush.c +--- ion-3ds-20060326/de/brush.c 2006-03-26 11:37:34.000000000 +0200 ++++ ion-3ds/de/brush.c 2006-04-06 10:08:37.000000000 +0200 +@@ -37,7 +37,9 @@ + brush->indicator_w=0; + brush->win=win; + brush->clip_set=FALSE; +- ++#ifdef XFT ++ brush->draw=NULL; ++#endif /* XFT */ + style->usecount++; + + if(!grbrush_init(&(brush->grbrush))){ +@@ -65,7 +67,6 @@ + CREATEOBJ_IMPL(DEBrush, debrush, (p, win, stylename, style)); + } + +- + static DEBrush *do_get_brush(Window win, WRootWin *rootwin, + const char *stylename, bool slave) + { +@@ -104,6 +105,10 @@ + { + destyle_unref(brush->d); + brush->d=NULL; ++#ifdef XFT ++ if(brush->draw!=NULL) ++ XftDrawDestroy(brush->draw); ++#endif /* XFT */ + grbrush_deinit(&(brush->grbrush)); + } + +@@ -114,6 +119,21 @@ + } + + ++#ifdef XFT ++XftDraw *debrush_get_draw(DEBrush *brush, Drawable d) ++{ ++ if(brush->draw==NULL) ++ brush->draw=XftDrawCreate(ioncore_g.dpy, d, ++ XftDEDefaultVisual(), ++ DefaultColormap(ioncore_g.dpy, ++ 0)); ++ else ++ XftDrawChange(brush->draw, d); ++ ++ return brush->draw; ++} ++#endif ++ + /*}}}*/ + + +diff -Naur ion-3ds-20060326/de/brush.h ion-3ds/de/brush.h +--- ion-3ds-20060326/de/brush.h 2006-03-26 11:37:34.000000000 +0200 ++++ ion-3ds/de/brush.h 2006-04-06 10:08:37.000000000 +0200 +@@ -17,6 +17,9 @@ + #include + #include + #include ++#ifdef XFT ++#include ++#endif /* XFT */ + + INTRCLASS(DEBrush); + +@@ -34,6 +37,9 @@ + DECLCLASS(DEBrush){ + GrBrush grbrush; + DEStyle *d; ++#ifdef XFT ++ XftDraw *draw; ++#endif + DEBrushExtrasFn *extras_fn; + int indicator_w; + Window win; +@@ -104,5 +110,8 @@ + const char *attr); + extern void debrush_clear_area(DEBrush *brush, const WRectangle *geom); + ++#ifdef XFT ++XftDraw *debrush_get_draw(DEBrush *brush, Drawable d); ++#endif + + #endif /* ION_DE_BRUSH_H */ +diff -Naur ion-3ds-20060326/de/colour.c ion-3ds/de/colour.c +--- ion-3ds-20060326/de/colour.c 2006-03-26 11:37:34.000000000 +0200 ++++ ion-3ds/de/colour.c 2006-04-06 10:08:37.000000000 +0200 +@@ -12,12 +12,23 @@ + #include + #include "colour.h" + +- + bool de_alloc_colour(WRootWin *rootwin, DEColour *ret, const char *name) + { ++#ifndef XFT + XColor c; + bool ok=FALSE; ++#else /* XFT */ ++ if(name==NULL) ++ return FALSE; ++ return XftColorAllocName( ++ ioncore_g.dpy, ++ XftDEDefaultVisual(), ++ rootwin->default_cmap, ++ name, ++ ret); ++#endif /* XFT */ + ++#ifndef XFT + if(name==NULL) + return FALSE; + +@@ -28,11 +39,13 @@ + } + + return ok; ++#endif /* ! XFT */ + } + + + bool de_duplicate_colour(WRootWin *rootwin, DEColour in, DEColour *out) + { ++#ifndef XFT + XColor c; + c.pixel=in; + XQueryColor(ioncore_g.dpy, rootwin->default_cmap, &c); +@@ -41,11 +54,20 @@ + return TRUE; + } + return FALSE; ++#else /* XFT */ ++ return XftColorAllocName( ++ ioncore_g.dpy, ++ XftDEDefaultVisual(), ++ rootwin->default_cmap, ++ &(in.color), ++ out); ++#endif /* XFT */ + } + + + void de_free_colour_group(WRootWin *rootwin, DEColourGroup *cg) + { ++#ifndef XFT + DEColour pixels[5]; + + pixels[0]=cg->bg; +@@ -60,15 +82,26 @@ + free(cg->spec); + cg->spec=NULL; + } ++#else /* XFT */ ++ 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); ++#endif /* XFT */ + } + + + void de_free_colour(WRootWin *rootwin, DEColour col) + { ++#ifndef XFT + DEColour pixels[1]; + + pixels[0]=col; + + XFreeColors(ioncore_g.dpy, rootwin->default_cmap, pixels, 1, 0); ++#else /* XFT */ ++ XftColorFree(ioncore_g.dpy, XftDEDefaultVisual(), rootwin->default_cmap, &col); ++#endif /* XFT */ + } + +diff -Naur ion-3ds-20060326/de/colour.h ion-3ds/de/colour.h +--- ion-3ds-20060326/de/colour.h 2006-03-26 11:37:34.000000000 +0200 ++++ ion-3ds/de/colour.h 2006-04-06 10:08:37.000000000 +0200 +@@ -15,12 +15,19 @@ + #include + #include + #include ++#ifdef XFT ++#include ++#endif /* XFT */ + + + INTRSTRUCT(DEColourGroup); + + ++#ifndef XFT + typedef unsigned long DEColour; ++#else /* XFT */ ++typedef XftColor DEColour; ++#endif /* XFT */ + + + DECLSTRUCT(DEColourGroup){ +@@ -37,5 +44,6 @@ + bool de_duplicate_colour(WRootWin *rootwin, DEColour in, DEColour *out); + void de_free_colour_group(WRootWin *rootwin, DEColourGroup *cg); + void de_free_colour(WRootWin *rootwin, DEColour col); ++#define XftDEDefaultVisual() DefaultVisual(ioncore_g.dpy, 0) + + #endif /* ION_DE_COLOUR_H */ +diff -Naur ion-3ds-20060326/de/draw.c ion-3ds/de/draw.c +--- ion-3ds-20060326/de/draw.c 2006-03-26 11:37:34.000000000 +0200 ++++ ion-3ds/de/draw.c 2006-04-06 10:08:37.000000000 +0200 +@@ -79,7 +79,11 @@ + w--; + h--; + ++#ifndef XFT + XSetForeground(ioncore_g.dpy, gc, tlc); ++#else /* XFT */ ++ XSetForeground(ioncore_g.dpy, gc, tlc.pixel); ++#endif /* XFT */ + + + a=(br!=0); +@@ -99,7 +103,11 @@ + } + + ++#ifndef XFT + XSetForeground(ioncore_g.dpy, gc, brc); ++#else /* XFT */ ++ XSetForeground(ioncore_g.dpy, gc, brc.pixel); ++#endif /* XFT */ + + a=(tl!=0); + b=0; +@@ -174,19 +182,35 @@ + GrBorderLine line) + { + if(line==GR_BORDERLINE_LEFT && geom->h>0){ ++#ifndef XFT + XSetForeground(ioncore_g.dpy, gc, tlc); ++#else /* XFT */ ++ XSetForeground(ioncore_g.dpy, gc, tlc.pixel); ++#endif /* XFT */ + XDrawRectangle(ioncore_g.dpy, win, gc, geom->x, geom->y, tl, geom->h); + geom->x+=tl; + }else if(line==GR_BORDERLINE_TOP && geom->w>0){ ++#ifndef XFT + XSetForeground(ioncore_g.dpy, gc, tlc); ++#else /* XFT */ ++ XSetForeground(ioncore_g.dpy, gc, tlc.pixel); ++#endif /* XFT */ + XDrawRectangle(ioncore_g.dpy, win, gc, geom->x, geom->y, geom->w, tl); + geom->y+=tl; + }else if(line==GR_BORDERLINE_RIGHT && geom->h>0){ ++#ifndef XFT + XSetForeground(ioncore_g.dpy, gc, brc); ++#else /* XFT */ ++ XSetForeground(ioncore_g.dpy, gc, brc.pixel); ++#endif /* XFT */ + XDrawRectangle(ioncore_g.dpy, win, gc, geom->x+geom->w-1-br, geom->y, br, geom->h); + geom->w-=br; + }else if(line==GR_BORDERLINE_BOTTOM && geom->w>0){ ++#ifndef XFT + XSetForeground(ioncore_g.dpy, gc, brc); ++#else /* XFT */ ++ XSetForeground(ioncore_g.dpy, gc, brc.pixel); ++#endif /* XFT */ + XDrawRectangle(ioncore_g.dpy, win, gc, geom->x, geom->y+geom->h-1-br, geom->w, br); + geom->h-=br; + } +@@ -276,7 +300,11 @@ + } + + if(MATCHES2("*-*-tagged", a1, a2)){ ++#ifndef XFT + XSetForeground(ioncore_g.dpy, d->copy_gc, cg->fg); ++#else /* XFT */ ++ XSetForeground(ioncore_g.dpy, d->copy_gc, cg->fg.pixel); ++#endif /* XFT */ + + copy_masked(brush, d->tag_pixmap, brush->win, 0, 0, + d->tag_pixmap_w, d->tag_pixmap_h, +@@ -326,7 +354,11 @@ + GC gc=brush->d->normal_gc; + + if(TRUE/*needfill*/){ ++#ifndef XFT + XSetForeground(ioncore_g.dpy, gc, cg->bg); ++#else /* XFT */ ++ XSetForeground(ioncore_g.dpy, gc, cg->bg.pixel); ++#endif /* XFT */ + XFillRectangle(ioncore_g.dpy, brush->win, gc, geom->x, geom->y, + geom->w, geom->h); + } +@@ -468,7 +500,11 @@ + attr.background_pixmap=ParentRelative; + }else{ + attrflags=CWBackPixel; ++#ifndef XFT + attr.background_pixel=brush->d->cgrp.bg; ++#else /* XFT */ ++ attr.background_pixel=brush->d->cgrp.bg.pixel; ++#endif /* XFT */ + } + + XChangeWindowAttributes(ioncore_g.dpy, brush->win, attrflags, &attr); +@@ -484,7 +520,11 @@ + if(cg==NULL) + return; + ++#ifndef XFT + XSetForeground(ioncore_g.dpy, gc, cg->bg); ++#else /* XFT */ ++ XSetForeground(ioncore_g.dpy, gc, cg->bg.pixel); ++#endif /* XFT */ + XFillRectangle(ioncore_g.dpy, brush->win, gc, + geom->x, geom->y, geom->w, geom->h); + } +diff -Naur ion-3ds-20060326/de/font.c ion-3ds/de/font.c +--- ion-3ds-20060326/de/font.c 2006-03-26 11:37:34.000000000 +0200 ++++ ion-3ds/de/font.c 2006-04-06 10:08:37.000000000 +0200 +@@ -14,7 +14,9 @@ + #include + #include + #include "font.h" ++#ifndef XFT + #include "fontset.h" ++#endif /* ! XFT */ + #include "brush.h" + + +@@ -26,10 +28,13 @@ + + DEFont *de_load_font(const char *fontname) + { ++#ifdef XFT ++ XftFont *font; ++#endif + DEFont *fnt; + XFontSet fontset=NULL; + XFontStruct *fontstruct=NULL; +- ++ + assert(fontname!=NULL); + + /* There shouldn't be that many fonts... */ +@@ -40,6 +45,7 @@ + } + } + ++#ifndef XFT + if(ioncore_g.use_mb){ + fontset=de_create_font_set(fontname); + if(fontset!=NULL){ +@@ -66,13 +72,34 @@ + return NULL; + } + ++#else /* XFT */ ++ if(strncmp(fontname, "xft:", 4)==0){ ++ font=XftFontOpenName(ioncore_g.dpy, DefaultScreen(ioncore_g.dpy), ++ fontname+4); ++ }else{ ++ font=XftFontOpenXlfd(ioncore_g.dpy, DefaultScreen(ioncore_g.dpy), fontname); ++ } ++ ++ if(font==NULL){ ++ if(strcmp(fontname, CF_FALLBACK_FONT_NAME)!=0){ ++ warn(TR("Could not load font \"%s\", trying \"%s\""), ++ fontname, CF_FALLBACK_FONT_NAME); ++ return de_load_font(CF_FALLBACK_FONT_NAME); ++ } ++ return NULL; ++ } ++#endif /* XFT */ + fnt=ALLOC(DEFont); + + if(fnt==NULL) +- return NULL; ++ return NULL; + ++#ifndef XFT + fnt->fontset=fontset; + fnt->fontstruct=fontstruct; ++#else ++ fnt->font=font; ++#endif + fnt->pattern=scopy(fontname); + fnt->next=NULL; + fnt->prev=NULL; +@@ -92,11 +119,13 @@ + style->font=font; + font->refcount++; + ++#ifndef XFT + if(style->font->fontstruct!=NULL){ + XSetFont(ioncore_g.dpy, style->normal_gc, + style->font->fontstruct->fid); + } + ++#endif /* ! XFT */ + return TRUE; + } + +@@ -111,11 +140,13 @@ + if(style->font==NULL) + return FALSE; + ++#ifndef XFT + if(style->font->fontstruct!=NULL){ + XSetFont(ioncore_g.dpy, style->normal_gc, + style->font->fontstruct->fid); + } + ++#endif /* ! XFT */ + return TRUE; + } + +@@ -125,13 +156,17 @@ + if(--font->refcount!=0) + return; + ++#ifndef XFT + if(font->fontset!=NULL) + XFreeFontSet(ioncore_g.dpy, font->fontset); + if(font->fontstruct!=NULL) + XFreeFont(ioncore_g.dpy, font->fontstruct); ++#else /* XFT */ ++ if(font->font!=NULL) ++ XftFontClose(ioncore_g.dpy, font->font); ++#endif /* XFT */ + if(font->pattern!=NULL) +- free(font->pattern); +- ++ free(font->pattern); + UNLINK_ITEM(fonts, font, next, prev); + free(font); + } +@@ -156,6 +191,7 @@ + + void defont_get_font_extents(DEFont *font, GrFontExtents *fnte) + { ++#ifndef XFT + if(font->fontset!=NULL){ + XFontSetExtents *ext=XExtentsOfFontSet(font->fontset); + if(ext==NULL) +@@ -171,7 +207,14 @@ + fnte->baseline=fnt->ascent; + return; + } +- ++#else /* XFT */ ++ 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; ++ } ++#endif /* XFT */ + fail: + DE_RESET_FONT_EXTENTS(fnte); + } +@@ -188,20 +231,35 @@ + + uint defont_get_text_width(DEFont *font, const char *text, uint len) + { ++#ifndef XFT + if(font->fontset!=NULL){ + XRectangle lext; + #ifdef CF_DE_USE_XUTF8 +- if(ioncore_g.enc_utf8) +- Xutf8TextExtents(font->fontset, text, len, NULL, &lext); +- else ++ if(ioncore_g.enc_utf8) ++ Xutf8TextExtents(font->fontset, text, len, NULL, &lext); ++ else + #endif +- XmbTextExtents(font->fontset, text, len, NULL, &lext); +- return lext.width; ++ XmbTextExtents(font->fontset, text, len, NULL, &lext); ++ return lext.width; + }else if(font->fontstruct!=NULL){ + return XTextWidth(font->fontstruct, text, len); + }else{ + return 0; + } ++#else /* XFT */ ++ if(font->font!=NULL){ ++ XGlyphInfo extents; ++ if(ioncore_g.enc_utf8) ++ XftTextExtentsUtf8(ioncore_g.dpy, font->font, (XftChar8 *)text, len, ++ &extents); ++ else ++ XftTextExtents8(ioncore_g.dpy, font->font, (XftChar8 *)text, len, ++ &extents); ++ return extents.xOff; ++ }else{ ++ return 0; ++ } ++#endif /* XFT */ + } + + +@@ -211,6 +269,7 @@ + /*{{{ String drawing */ + + ++#ifndef XFT + void debrush_do_draw_string_default(DEBrush *brush, int x, int y, + const char *str, int len, bool needfill, + DEColourGroup *colours) +@@ -256,6 +315,41 @@ + } + } + ++#else /* XFT */ ++void debrush_do_draw_string_default(DEBrush *brush, ++ int x, int y, const char *str, ++ int len, bool needfill, ++ DEColourGroup *colours) ++{ ++ Window win = brush->win; ++ GC gc=brush->d->normal_gc; ++ XftDraw *draw; ++ XftFont *font; ++ ++ if(brush->d->font==NULL) ++ return; ++ ++ font=brush->d->font->font; ++ draw=debrush_get_draw(brush, win); ++ ++ if(TRUE/*needfill*/){ ++ XGlyphInfo extents; ++ if(ioncore_g.enc_utf8) ++ XftTextExtentsUtf8(ioncore_g.dpy, font, (XftChar8 *)str, len, ++ &extents); ++ else ++ XftTextExtents8(ioncore_g.dpy, font, (XftChar8 *)str, len, &extents); ++ XftDrawRect(draw, &(colours->bg), x-extents.x, y-extents.y, ++ extents.width, extents.height); ++ } ++ ++ if(ioncore_g.enc_utf8) ++ XftDrawStringUtf8(draw, &(colours->fg), font, x, y, (XftChar8 *)str, ++ len); ++ else ++ XftDrawString8(draw, &(colours->fg), font, x, y, (XftChar8 *)str, len); ++} ++#endif /* XFT */ + + void debrush_do_draw_string(DEBrush *brush, int x, int y, + const char *str, int len, bool needfill, +diff -Naur ion-3ds-20060326/de/font.h ion-3ds/de/font.h +--- ion-3ds-20060326/de/font.h 2006-03-26 11:37:34.000000000 +0200 ++++ ion-3ds/de/font.h 2006-04-06 10:08:37.000000000 +0200 +@@ -14,6 +14,9 @@ + + #include + #include ++#ifdef XFT ++#include ++#endif /* XFT */ + + INTRSTRUCT(DEFont); + +@@ -29,6 +32,9 @@ + int refcount; + XFontSet fontset; + XFontStruct *fontstruct; ++#ifdef XFT /* XFT */ ++ XftFont *font; ++#endif /* XFT */ + DEFont *next, *prev; + }; + +diff -Naur ion-3ds-20060326/de/init.c ion-3ds/de/init.c +--- ion-3ds-20060326/de/init.c 2006-03-26 11:37:34.000000000 +0200 ++++ ion-3ds/de/init.c 2006-04-06 10:08:37.000000000 +0200 +@@ -113,16 +113,19 @@ + void de_get_colour_group(WRootWin *rootwin, DEColourGroup *cg, + ExtlTab tab, DEStyle *based_on) + { +- de_get_colour(rootwin, &(cg->hl), tab, based_on, "highlight_colour", +- DE_WHITE(rootwin)); +- de_get_colour(rootwin, &(cg->sh), tab, based_on, "shadow_colour", +- DE_WHITE(rootwin)); +- de_get_colour(rootwin, &(cg->bg), tab, based_on, "background_colour", +- DE_BLACK(rootwin)); +- de_get_colour(rootwin, &(cg->fg), tab, based_on, "foreground_colour", +- DE_WHITE(rootwin)); +- de_get_colour(rootwin, &(cg->pad), tab, based_on, "padding_colour", +- cg->bg); ++ DEColour black, white; ++#ifdef XFT ++ de_alloc_colour(rootwin, &black, "black"); ++ de_alloc_colour(rootwin, &white, "white"); ++#else ++ black=DE_BLACK(rootwin); ++ white=DE_WHITE(rootwin); ++#endif ++ de_get_colour(rootwin, &(cg->hl), tab, based_on, "highlight_colour", white); ++ de_get_colour(rootwin, &(cg->sh), tab, based_on, "shadow_colour", white); ++ de_get_colour(rootwin, &(cg->bg), tab, based_on, "background_colour", black); ++ de_get_colour(rootwin, &(cg->fg), tab, based_on, "foreground_colour", white); ++ de_get_colour(rootwin, &(cg->pad), tab, based_on, "padding_colour", cg->bg); + } + + +@@ -329,7 +332,6 @@ + + char de_ion_api_version[]=ION_API_VERSION; + +- + bool de_init() + { + WRootWin *rootwin; +diff -Naur ion-3ds-20060326/de/Makefile ion-3ds/de/Makefile +--- ion-3ds-20060326/de/Makefile 2006-03-26 11:37:32.000000000 +0200 ++++ ion-3ds/de/Makefile 2006-04-06 10:08:37.000000000 +0200 +@@ -8,13 +8,12 @@ + + ###################################### + ++ + INCLUDES += $(X11_INCLUDES) $(LIBTU_INCLUDES) $(LIBEXTL_INCLUDES) -I.. + CFLAGS += $(XOPEN_SOURCE) $(C99_SOURCE) + + SOURCES=init.c draw.c font.c colour.c brush.c fontset.c style.c +- + MODULE=de +- + MAKE_EXPORTS=de + + ###################################### +diff -Naur ion-3ds-20060326/de/style.c ion-3ds/de/style.c +--- ion-3ds-20060326/de/style.c 2006-03-26 11:37:34.000000000 +0200 ++++ ion-3ds/de/style.c 2006-04-06 10:08:37.000000000 +0200 +@@ -74,10 +74,17 @@ + /*gcv.function=GXclear;*/ + gcv.stipple=stipple_pixmap; + gcvmask=GCFillStyle|GCStipple/*|GCFunction*/; ++#ifndef XFT + if(style->font!=NULL && style->font->fontstruct!=NULL){ + gcv.font=style->font->fontstruct->fid; + gcvmask|=GCFont; + } ++#else /* XFT */ ++// if(style->font!=NULL){ ++// gcv.font=style->font; ++// gcvmask|=GCFont; ++// } ++#endif /* XFT */ + + style->stipple_gc=XCreateGC(dpy, root, gcvmask, &gcv); + XCopyGC(dpy, style->normal_gc, +@@ -206,6 +213,14 @@ + + bool destyle_init(DEStyle *style, WRootWin *rootwin, const char *name) + { ++ DEColour black, white; ++#ifdef XFT ++ de_alloc_colour(rootwin, &black, "black"); ++ de_alloc_colour(rootwin, &white, "white"); ++#else ++ black=DE_BLACK(rootwin); ++ white=DE_WHITE(rootwin); ++#endif /* XFT */ + style->style=scopy(name); + if(style->style==NULL) + return FALSE; +@@ -229,11 +244,11 @@ + + 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); ++ style->cgrp.bg=black; ++ style->cgrp.pad=black; ++ style->cgrp.fg=white; ++ style->cgrp.hl=white; ++ style->cgrp.sh=white; + + style->font=NULL; + +@@ -255,7 +270,7 @@ + static DEStyle *do_create_style(WRootWin *rootwin, const char *name) + { + DEStyle *style=ALLOC(DEStyle); +- if(style!=NULL){ ++ if(style!=NULL) { + if(!destyle_init(style, rootwin, name)){ + free(style); + return NULL; +diff -Naur ion-3ds-20060326/de/style.h ion-3ds/de/style.h +--- ion-3ds-20060326/de/style.h 2006-03-26 11:37:34.000000000 +0200 ++++ ion-3ds/de/style.h 2006-04-06 10:08:37.000000000 +0200 +@@ -76,6 +76,7 @@ + Pixmap tag_pixmap; + int tag_pixmap_w; + int tag_pixmap_h; ++ int xft_style; + + DEStyle *next, *prev; + }; +diff -Naur ion-3ds-20060326/system-ac.mk.in ion-3ds/system-ac.mk.in +--- ion-3ds-20060326/system-ac.mk.in 2006-03-26 11:37:33.000000000 +0200 ++++ ion-3ds/system-ac.mk.in 2006-04-06 10:08:37.000000000 +0200 +@@ -188,3 +188,7 @@ + STRIP=@STRIP@ + + RM=rm ++ ++### XFT Support ++CFLAGS+=@XFT_CFLAGS@ ++LIBS+=@XFT_LIBS@ diff --git a/x11-wm/ion3/files/ion3-mod-ionflux-20070512.tar.bz2 b/x11-wm/ion3/files/ion3-mod-ionflux-20070512.tar.bz2 new file mode 100644 index 0000000..7d451ba Binary files /dev/null and b/x11-wm/ion3/files/ion3-mod-ionflux-20070512.tar.bz2 differ diff --git a/x11-wm/ion3/files/ion3-mod-xrandr-20070410.tar.bz2 b/x11-wm/ion3/files/ion3-mod-xrandr-20070410.tar.bz2 new file mode 100644 index 0000000..6183481 Binary files /dev/null and b/x11-wm/ion3/files/ion3-mod-xrandr-20070410.tar.bz2 differ diff --git a/x11-wm/ion3/files/ion3-scripts-20070608.tar.bz2 b/x11-wm/ion3/files/ion3-scripts-20070608.tar.bz2 new file mode 100644 index 0000000..949a24d Binary files /dev/null and b/x11-wm/ion3/files/ion3-scripts-20070608.tar.bz2 differ diff --git a/x11-wm/ion3/files/ion3.desktop b/x11-wm/ion3/files/ion3.desktop new file mode 100644 index 0000000..ba4103e --- /dev/null +++ b/x11-wm/ion3/files/ion3.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=Ion3 +Comment=A tiling tabbed window manager designed with keyboard users in mind. +Exec=ion3 +TryExec=ion3 +# no icon yet, only the top three are currently used +Icon= +Type=Application diff --git a/x11-wm/ion3/files/pwm3.desktop b/x11-wm/ion3/files/pwm3.desktop new file mode 100644 index 0000000..072f169 --- /dev/null +++ b/x11-wm/ion3/files/pwm3.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=PWM3 +Comment=An X11 window manager +Exec=pwm3 +TryExec=pwm3 +# no icon yet, only the top three are currently used +Icon= +Type=Application diff --git a/x11-wm/ion3/files/xft-ion3-20070318.patch b/x11-wm/ion3/files/xft-ion3-20070318.patch new file mode 100644 index 0000000..f2d9658 --- /dev/null +++ b/x11-wm/ion3/files/xft-ion3-20070318.patch @@ -0,0 +1,689 @@ +diff -Naur ../work/ion-3/build/ac/configure.ac ion-3ds-20070203/build/ac/configure.ac +--- ../work/ion-3/build/ac/configure.ac 2007-02-21 13:11:28.000000000 +0300 ++++ ion-3ds-20070203/build/ac/configure.ac 2007-02-21 13:11:56.000000000 +0300 +@@ -65,6 +65,8 @@ + + if test "x$enable_xinerama" = xno; then + _DCF_NO_XINERAMA="-DCF_NO_XINERAMA" ++else ++ _DCF_NO_XINERAMA="-DCF_XINERAMA" + fi + + dnl }}} +@@ -427,6 +429,18 @@ + + dnl }}} + ++AC_ARG_ENABLE([xft], ++ [AS_HELP_STRING([--disable-xft], ++ [Disable XFT Support])]) ++ ++if test "x$enable_xft" != xno; then ++ XFT_CFLAGS=`xft-config --cflags` ++ XFT_CFLAGS="${XFT_CFLAGS} -DXFT" ++ XFT_LIBS=`xft-config --libs` ++fi ++ ++AC_SUBST([XFT_CFLAGS]) ++AC_SUBST([XFT_LIBS]) + + AC_OUTPUT([system-ac.mk]) + +diff -Naur ../work/ion-3/build/ac/system-ac.mk.in ion-3ds-20070203/build/ac/system-ac.mk.in +--- ../work/ion-3/build/ac/system-ac.mk.in 2007-02-21 13:11:28.000000000 +0300 ++++ ion-3ds-20070203/build/ac/system-ac.mk.in 2007-02-21 13:11:56.000000000 +0300 +@@ -188,3 +188,7 @@ + STRIP=@STRIP@ + + RM=rm ++ ++### XFT Support ++CFLAGS+=@XFT_CFLAGS@ ++LIBS+=@XFT_LIBS@ +diff -Naur ../work/ion-3/de/brush.c ion-3ds-20070203/de/brush.c +--- ../work/ion-3/de/brush.c 2007-02-03 17:50:52.000000000 +0300 ++++ ion-3ds-20070203/de/brush.c 2007-02-21 13:11:57.000000000 +0300 +@@ -47,6 +47,9 @@ + + gr_stylespec_init(&brush->current_attr); + ++#ifdef XFT ++ brush->draw=NULL; ++#endif /* XFT */ + style->usecount++; + + if(!grbrush_init(&(brush->grbrush))){ +@@ -127,6 +130,10 @@ + { + destyle_unref(brush->d); + brush->d=NULL; ++#ifdef XFT ++ if(brush->draw!=NULL) ++ XftDrawDestroy(brush->draw); ++#endif /* XFT */ + gr_stylespec_unalloc(&brush->current_attr); + grbrush_deinit(&(brush->grbrush)); + } +@@ -138,6 +145,21 @@ + } + + ++#ifdef XFT ++XftDraw *debrush_get_draw(DEBrush *brush, Drawable d) ++{ ++ if(brush->draw==NULL) ++ brush->draw=XftDrawCreate(ioncore_g.dpy, d, ++ XftDEDefaultVisual(), ++ DefaultColormap(ioncore_g.dpy, ++ 0)); ++ else ++ XftDrawChange(brush->draw, d); ++ ++ return brush->draw; ++} ++#endif ++ + /*}}}*/ + + +diff -Naur ../work/ion-3/de/brush.h ion-3ds-20070203/de/brush.h +--- ../work/ion-3/de/brush.h 2007-02-03 17:50:52.000000000 +0300 ++++ ion-3ds-20070203/de/brush.h 2007-02-21 13:11:57.000000000 +0300 +@@ -17,6 +17,9 @@ + #include + #include + #include ++#ifdef XFT ++#include ++#endif /* XFT */ + + INTRCLASS(DEBrush); + +@@ -36,6 +39,9 @@ + DECLCLASS(DEBrush){ + GrBrush grbrush; + DEStyle *d; ++#ifdef XFT ++ XftDraw *draw; ++#endif + DEBrushExtrasFn *extras_fn; + int indicator_w; + Window win; +@@ -111,5 +117,8 @@ + extern void debrush_fill_area(DEBrush *brush, const WRectangle *geom); + extern void debrush_clear_area(DEBrush *brush, const WRectangle *geom); + ++#ifdef XFT ++XftDraw *debrush_get_draw(DEBrush *brush, Drawable d); ++#endif + + #endif /* ION_DE_BRUSH_H */ +diff -Naur ../work/ion-3/de/colour.c ion-3ds-20070203/de/colour.c +--- ../work/ion-3/de/colour.c 2007-02-03 17:50:52.000000000 +0300 ++++ ion-3ds-20070203/de/colour.c 2007-02-21 13:11:57.000000000 +0300 +@@ -15,9 +15,21 @@ + + bool de_alloc_colour(WRootWin *rootwin, DEColour *ret, const char *name) + { ++#ifndef XFT + XColor c; + bool ok=FALSE; ++#else /* XFT */ ++ if(name==NULL) ++ return FALSE; ++ return XftColorAllocName( ++ ioncore_g.dpy, ++ XftDEDefaultVisual(), ++ rootwin->default_cmap, ++ name, ++ ret); ++#endif /* XFT */ + ++#ifndef XFT + if(name==NULL) + return FALSE; + +@@ -28,11 +40,13 @@ + } + + return ok; ++#endif /* ! XFT */ + } + + + bool de_duplicate_colour(WRootWin *rootwin, DEColour in, DEColour *out) + { ++#ifndef XFT + XColor c; + c.pixel=in; + XQueryColor(ioncore_g.dpy, rootwin->default_cmap, &c); +@@ -41,11 +55,20 @@ + return TRUE; + } + return FALSE; ++#else /* XFT */ ++ return XftColorAllocName( ++ ioncore_g.dpy, ++ XftDEDefaultVisual(), ++ rootwin->default_cmap, ++ &(in.color), ++ out); ++#endif /* XFT */ + } + + + void de_free_colour_group(WRootWin *rootwin, DEColourGroup *cg) + { ++#ifndef XFT + DEColour pixels[5]; + + pixels[0]=cg->bg; +@@ -57,15 +80,26 @@ + XFreeColors(ioncore_g.dpy, rootwin->default_cmap, pixels, 5, 0); + + gr_stylespec_unalloc(&cg->spec); ++#else /* XFT */ ++ 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); ++#endif /* XFT */ + } + + + void de_free_colour(WRootWin *rootwin, DEColour col) + { ++#ifndef XFT + DEColour pixels[1]; + + pixels[0]=col; + + XFreeColors(ioncore_g.dpy, rootwin->default_cmap, pixels, 1, 0); ++#else /* XFT */ ++ XftColorFree(ioncore_g.dpy, XftDEDefaultVisual(), rootwin->default_cmap, &col); ++#endif /* XFT */ + } + +diff -Naur ../work/ion-3/de/colour.h ion-3ds-20070203/de/colour.h +--- ../work/ion-3/de/colour.h 2007-02-03 17:50:52.000000000 +0300 ++++ ion-3ds-20070203/de/colour.h 2007-02-21 13:11:57.000000000 +0300 +@@ -15,12 +15,19 @@ + #include + #include + #include ++#ifdef XFT ++#include ++#endif /* XFT */ + + + INTRSTRUCT(DEColourGroup); + + ++#ifndef XFT + typedef unsigned long DEColour; ++#else /* XFT */ ++typedef XftColor DEColour; ++#endif /* XFT */ + + + DECLSTRUCT(DEColourGroup){ +@@ -37,5 +44,6 @@ + bool de_duplicate_colour(WRootWin *rootwin, DEColour in, DEColour *out); + void de_free_colour_group(WRootWin *rootwin, DEColourGroup *cg); + void de_free_colour(WRootWin *rootwin, DEColour col); ++#define XftDEDefaultVisual() DefaultVisual(ioncore_g.dpy, 0) + + #endif /* ION_DE_COLOUR_H */ +diff -Naur ../work/ion-3/de/draw.c ion-3ds-20070203/de/draw.c +--- ../work/ion-3/de/draw.c 2007-02-03 17:50:52.000000000 +0300 ++++ ion-3ds-20070203/de/draw.c 2007-02-21 13:11:57.000000000 +0300 +@@ -22,6 +22,14 @@ + #include + + ++#ifndef XFT ++#define PIXEL(x) x ++#else /* XFT */ ++#define PIXEL(x) x.pixel ++#endif /* XFT */ ++ ++ ++ + /*{{{ Colour group lookup */ + + +@@ -86,8 +94,7 @@ + w--; + h--; + +- XSetForeground(ioncore_g.dpy, gc, tlc); +- ++ XSetForeground(ioncore_g.dpy, gc, PIXEL(tlc)); + + a=(br!=0); + b=0; +@@ -104,9 +111,8 @@ + + XDrawLines(ioncore_g.dpy, win, gc, points, 3, CoordModeOrigin); + } +- + +- XSetForeground(ioncore_g.dpy, gc, brc); ++ XSetForeground(ioncore_g.dpy, gc, PIXEL(brc)); + + a=(tl!=0); + b=0; +@@ -143,23 +143,23 @@ + GrBorderLine line) + { + if(line==GR_BORDERLINE_LEFT && geom->h>0 && tl>0){ +- XSetForeground(ioncore_g.dpy, gc, tlc); +- XSetBackground(ioncore_g.dpy, gc, tlc); ++ XSetForeground(ioncore_g.dpy, gc, PIXEL(tlc)); ++ XSetBackground(ioncore_g.dpy, gc, PIXEL(tlc)); + XFillRectangle(ioncore_g.dpy, win, gc, geom->x, geom->y, tl, geom->h); + geom->x+=tl; + }else if(line==GR_BORDERLINE_TOP && geom->w>0 && tl>0){ +- XSetForeground(ioncore_g.dpy, gc, tlc); +- XSetBackground(ioncore_g.dpy, gc, tlc); ++ XSetForeground(ioncore_g.dpy, gc, PIXEL(tlc)); ++ XSetBackground(ioncore_g.dpy, gc, PIXEL(tlc)); + XFillRectangle(ioncore_g.dpy, win, gc, geom->x, geom->y, geom->w, tl); + geom->y+=tl; + }else if(line==GR_BORDERLINE_RIGHT && geom->h>0 && br>0){ +- XSetForeground(ioncore_g.dpy, gc, brc); +- XSetBackground(ioncore_g.dpy, gc, brc); ++ XSetForeground(ioncore_g.dpy, gc, PIXEL(brc)); ++ XSetBackground(ioncore_g.dpy, gc, PIXEL(brc)); + XFillRectangle(ioncore_g.dpy, win, gc, geom->x+geom->w-br, geom->y, br, geom->h); + geom->w-=br; + }else if(line==GR_BORDERLINE_BOTTOM && geom->w>0 && br>0){ +- XSetForeground(ioncore_g.dpy, gc, brc); +- XSetBackground(ioncore_g.dpy, gc, brc); ++ XSetForeground(ioncore_g.dpy, gc, PIXEL(brc)); ++ XSetBackground(ioncore_g.dpy, gc, PIXEL(brc)); + XFillRectangle(ioncore_g.dpy, win, gc, geom->x, geom->y+geom->h-br, geom->w, br); + geom->h-=br; + } +@@ -293,7 +299,7 @@ + } + + if(MATCHES2(tagged_spec, a1, a2)){ +- XSetForeground(ioncore_g.dpy, d->copy_gc, cg->fg); ++ XSetForeground(ioncore_g.dpy, d->copy_gc, PIXEL(cg->fg)); + + copy_masked(brush, d->tag_pixmap, brush->win, 0, 0, + d->tag_pixmap_w, d->tag_pixmap_h, +@@ -348,7 +354,7 @@ + GC gc=brush->d->normal_gc; + + if(TRUE/*needfill*/){ +- XSetForeground(ioncore_g.dpy, gc, cg->bg); ++ XSetForeground(ioncore_g.dpy, gc, PIXEL(cg->bg)); + XFillRectangle(ioncore_g.dpy, brush->win, gc, geom->x, geom->y, + geom->w, geom->h); + } +@@ -513,7 +519,7 @@ + attr.background_pixmap=ParentRelative; + }else{ + attrflags=CWBackPixel; +- attr.background_pixel=brush->d->cgrp.bg; ++ attr.background_pixel=brush->d->PIXEL(cgrp.bg); + } + + XChangeWindowAttributes(ioncore_g.dpy, brush->win, attrflags, &attr); +@@ -529,7 +535,7 @@ + if(cg==NULL) + return; + +- XSetForeground(ioncore_g.dpy, gc, cg->bg); ++ XSetForeground(ioncore_g.dpy, gc, PIXEL(cg->bg)); + XFillRectangle(ioncore_g.dpy, brush->win, gc, + geom->x, geom->y, geom->w, geom->h); + } +diff -Naur ../work/ion-3/de/font.c ion-3ds-20070203/de/font.c +--- ../work/ion-3/de/font.c 2007-02-03 17:50:52.000000000 +0300 ++++ ion-3ds-20070203/de/font.c 2007-02-21 13:11:57.000000000 +0300 +@@ -14,7 +14,9 @@ + #include + #include + #include "font.h" ++#ifndef XFT + #include "fontset.h" ++#endif /* ! XFT */ + #include "brush.h" + + +@@ -26,6 +28,9 @@ + + DEFont *de_load_font(const char *fontname) + { ++#ifdef XFT ++ XftFont *font; ++#endif + DEFont *fnt; + XFontSet fontset=NULL; + XFontStruct *fontstruct=NULL; +@@ -40,6 +45,7 @@ + } + } + ++#ifndef XFT + if(ioncore_g.use_mb){ + fontset=de_create_font_set(fontname); + if(fontset!=NULL){ +@@ -66,13 +72,34 @@ + return NULL; + } + ++#else /* XFT */ ++ if(strncmp(fontname, "xft:", 4)==0){ ++ font=XftFontOpenName(ioncore_g.dpy, DefaultScreen(ioncore_g.dpy), ++ fontname+4); ++ }else{ ++ font=XftFontOpenXlfd(ioncore_g.dpy, DefaultScreen(ioncore_g.dpy), fontname); ++ } ++ ++ if(font==NULL){ ++ if(strcmp(fontname, CF_FALLBACK_FONT_NAME)!=0){ ++ warn(TR("Could not load font \"%s\", trying \"%s\""), ++ fontname, CF_FALLBACK_FONT_NAME); ++ return de_load_font(CF_FALLBACK_FONT_NAME); ++ } ++ return NULL; ++ } ++#endif /* XFT */ + fnt=ALLOC(DEFont); + + if(fnt==NULL) + return NULL; + ++#ifndef XFT + fnt->fontset=fontset; + fnt->fontstruct=fontstruct; ++#else ++ fnt->font=font; ++#endif + fnt->pattern=scopy(fontname); + fnt->next=NULL; + fnt->prev=NULL; +@@ -92,11 +119,13 @@ + style->font=font; + font->refcount++; + ++#ifndef XFT + if(style->font->fontstruct!=NULL){ + XSetFont(ioncore_g.dpy, style->normal_gc, + style->font->fontstruct->fid); + } + ++#endif /* ! XFT */ + return TRUE; + } + +@@ -111,11 +140,13 @@ + if(style->font==NULL) + return FALSE; + ++#ifndef XFT + if(style->font->fontstruct!=NULL){ + XSetFont(ioncore_g.dpy, style->normal_gc, + style->font->fontstruct->fid); + } + ++#endif /* ! XFT */ + return TRUE; + } + +@@ -125,10 +156,15 @@ + if(--font->refcount!=0) + return; + ++#ifndef XFT + if(font->fontset!=NULL) + XFreeFontSet(ioncore_g.dpy, font->fontset); + if(font->fontstruct!=NULL) + XFreeFont(ioncore_g.dpy, font->fontstruct); ++#else /* XFT */ ++ if(font->font!=NULL) ++ XftFontClose(ioncore_g.dpy, font->font); ++#endif /* XFT */ + if(font->pattern!=NULL) + free(font->pattern); + +@@ -156,6 +192,7 @@ + + void defont_get_font_extents(DEFont *font, GrFontExtents *fnte) + { ++#ifndef XFT + if(font->fontset!=NULL){ + XFontSetExtents *ext=XExtentsOfFontSet(font->fontset); + if(ext==NULL) +@@ -171,7 +208,14 @@ + fnte->baseline=fnt->ascent; + return; + } +- ++#else /* XFT */ ++ 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; ++ } ++#endif /* XFT */ + fail: + DE_RESET_FONT_EXTENTS(fnte); + } +@@ -188,20 +232,35 @@ + + uint defont_get_text_width(DEFont *font, const char *text, uint len) + { ++#ifndef XFT + if(font->fontset!=NULL){ + XRectangle lext; + #ifdef CF_DE_USE_XUTF8 +- if(ioncore_g.enc_utf8) +- Xutf8TextExtents(font->fontset, text, len, NULL, &lext); +- else ++ if(ioncore_g.enc_utf8) ++ Xutf8TextExtents(font->fontset, text, len, NULL, &lext); ++ else + #endif +- XmbTextExtents(font->fontset, text, len, NULL, &lext); +- return lext.width; ++ XmbTextExtents(font->fontset, text, len, NULL, &lext); ++ return lext.width; + }else if(font->fontstruct!=NULL){ + return XTextWidth(font->fontstruct, text, len); + }else{ + return 0; + } ++#else /* XFT */ ++ if(font->font!=NULL){ ++ XGlyphInfo extents; ++ if(ioncore_g.enc_utf8) ++ XftTextExtentsUtf8(ioncore_g.dpy, font->font, (XftChar8 *)text, len, ++ &extents); ++ else ++ XftTextExtents8(ioncore_g.dpy, font->font, (XftChar8 *)text, len, ++ &extents); ++ return extents.xOff; ++ }else{ ++ return 0; ++ } ++#endif /* XFT */ + } + + +@@ -211,6 +270,7 @@ + /*{{{ String drawing */ + + ++#ifndef XFT + void debrush_do_draw_string_default(DEBrush *brush, int x, int y, + const char *str, int len, bool needfill, + DEColourGroup *colours) +@@ -256,6 +316,41 @@ + } + } + ++#else /* XFT */ ++void debrush_do_draw_string_default(DEBrush *brush, ++ int x, int y, const char *str, ++ int len, bool needfill, ++ DEColourGroup *colours) ++{ ++ Window win = brush->win; ++ GC gc=brush->d->normal_gc; ++ XftDraw *draw; ++ XftFont *font; ++ ++ if(brush->d->font==NULL) ++ return; ++ ++ font=brush->d->font->font; ++ draw=debrush_get_draw(brush, win); ++ ++ if(needfill){ ++ XGlyphInfo extents; ++ if(ioncore_g.enc_utf8) ++ XftTextExtentsUtf8(ioncore_g.dpy, font, (XftChar8 *)str, len, ++ &extents); ++ else ++ XftTextExtents8(ioncore_g.dpy, font, (XftChar8 *)str, len, &extents); ++ XftDrawRect(draw, &(colours->bg), x-extents.x, y-extents.y, ++ extents.width+10, extents.height); ++ } ++ ++ if(ioncore_g.enc_utf8) ++ XftDrawStringUtf8(draw, &(colours->fg), font, x, y, (XftChar8 *)str, ++ len); ++ else ++ XftDrawString8(draw, &(colours->fg), font, x, y, (XftChar8 *)str, len); ++} ++#endif /* XFT */ + + void debrush_do_draw_string(DEBrush *brush, int x, int y, + const char *str, int len, bool needfill, +diff -Naur ../work/ion-3/de/font.h ion-3ds-20070203/de/font.h +--- ../work/ion-3/de/font.h 2007-02-03 17:50:52.000000000 +0300 ++++ ion-3ds-20070203/de/font.h 2007-02-21 13:11:57.000000000 +0300 +@@ -14,6 +14,9 @@ + + #include + #include ++#ifdef XFT ++#include ++#endif /* XFT */ + + INTRSTRUCT(DEFont); + +@@ -29,6 +32,9 @@ + int refcount; + XFontSet fontset; + XFontStruct *fontstruct; ++#ifdef XFT /* XFT */ ++ XftFont *font; ++#endif /* XFT */ + DEFont *next, *prev; + }; + +diff -Naur ../work/ion-3/de/init.c ion-3ds-20070203/de/init.c +--- ../work/ion-3/de/init.c 2007-02-03 17:50:52.000000000 +0300 ++++ ion-3ds-20070203/de/init.c 2007-02-21 13:11:57.000000000 +0300 +@@ -138,16 +138,19 @@ + void de_get_colour_group(WRootWin *rootwin, DEColourGroup *cg, + ExtlTab tab, DEStyle *based_on) + { +- de_get_colour(rootwin, &(cg->hl), tab, based_on, "highlight_colour", +- DE_WHITE(rootwin)); +- de_get_colour(rootwin, &(cg->sh), tab, based_on, "shadow_colour", +- DE_WHITE(rootwin)); +- de_get_colour(rootwin, &(cg->bg), tab, based_on, "background_colour", +- DE_BLACK(rootwin)); +- de_get_colour(rootwin, &(cg->fg), tab, based_on, "foreground_colour", +- DE_WHITE(rootwin)); +- de_get_colour(rootwin, &(cg->pad), tab, based_on, "padding_colour", +- cg->bg); ++ DEColour black, white; ++#ifdef XFT ++ de_alloc_colour(rootwin, &black, "black"); ++ de_alloc_colour(rootwin, &white, "white"); ++#else ++ black=DE_BLACK(rootwin); ++ white=DE_WHITE(rootwin); ++#endif ++ de_get_colour(rootwin, &(cg->hl), tab, based_on, "highlight_colour", white); ++ de_get_colour(rootwin, &(cg->sh), tab, based_on, "shadow_colour", white); ++ de_get_colour(rootwin, &(cg->bg), tab, based_on, "background_colour", black); ++ de_get_colour(rootwin, &(cg->fg), tab, based_on, "foreground_colour", white); ++ de_get_colour(rootwin, &(cg->pad), tab, based_on, "padding_colour", cg->bg); + } + + +diff -Naur ../work/ion-3/de/style.c ion-3ds-20070203/de/style.c +--- ../work/ion-3/de/style.c 2007-02-03 17:50:52.000000000 +0300 ++++ ion-3ds-20070203/de/style.c 2007-02-21 13:11:57.000000000 +0300 +@@ -74,10 +74,17 @@ + /*gcv.function=GXclear;*/ + gcv.stipple=stipple_pixmap; + gcvmask=GCFillStyle|GCStipple/*|GCFunction*/; ++#ifndef XFT + if(style->font!=NULL && style->font->fontstruct!=NULL){ + gcv.font=style->font->fontstruct->fid; + gcvmask|=GCFont; + } ++#else /* XFT */ ++// if(style->font!=NULL){ ++// gcv.font=style->font; ++// gcvmask|=GCFont; ++// } ++#endif /* XFT */ + + style->stipple_gc=XCreateGC(dpy, root, gcvmask, &gcv); + XCopyGC(dpy, style->normal_gc, +@@ -205,6 +212,14 @@ + + bool destyle_init(DEStyle *style, WRootWin *rootwin, const char *name) + { ++ DEColour black, white; ++#ifdef XFT ++ de_alloc_colour(rootwin, &black, "black"); ++ de_alloc_colour(rootwin, &white, "white"); ++#else ++ black=DE_BLACK(rootwin); ++ white=DE_WHITE(rootwin); ++#endif /* XFT */ + if(!gr_stylespec_load(&style->spec, name)) + return FALSE; + +@@ -226,11 +241,11 @@ + style->textalign=DEALIGN_CENTER; + + style->cgrp_alloced=FALSE; +- 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); ++ style->cgrp.bg=black; ++ style->cgrp.pad=black; ++ style->cgrp.fg=white; ++ style->cgrp.hl=white; ++ style->cgrp.sh=white; + gr_stylespec_init(&style->cgrp.spec); + + style->font=NULL; +diff -Naur ../work/ion-3/de/style.h ion-3ds-20070203/de/style.h +--- ../work/ion-3/de/style.h 2007-02-03 17:50:52.000000000 +0300 ++++ ion-3ds-20070203/de/style.h 2007-02-21 13:11:57.000000000 +0300 +@@ -76,6 +76,7 @@ + Pixmap tag_pixmap; + int tag_pixmap_w; + int tag_pixmap_h; ++ int xft_style; + + DEStyle *next, *prev; + }; diff --git a/x11-wm/ion3/files/xft-ion3-20070506.patch b/x11-wm/ion3/files/xft-ion3-20070506.patch new file mode 100644 index 0000000..0cff558 --- /dev/null +++ b/x11-wm/ion3/files/xft-ion3-20070506.patch @@ -0,0 +1,669 @@ +diff -Naur ../work/ion-3/de/brush.c ion-3ds-20070203/de/brush.c +--- ../work/ion-3/de/brush.c 2007-02-03 17:50:52.000000000 +0300 ++++ ion-3ds-20070203/de/brush.c 2007-02-21 13:11:57.000000000 +0300 +@@ -47,6 +47,9 @@ + + gr_stylespec_init(&brush->current_attr); + ++#ifdef XFT ++ brush->draw=NULL; ++#endif /* XFT */ + style->usecount++; + + if(!grbrush_init(&(brush->grbrush))){ +@@ -127,6 +130,10 @@ + { + destyle_unref(brush->d); + brush->d=NULL; ++#ifdef XFT ++ if(brush->draw!=NULL) ++ XftDrawDestroy(brush->draw); ++#endif /* XFT */ + gr_stylespec_unalloc(&brush->current_attr); + grbrush_deinit(&(brush->grbrush)); + } +@@ -138,6 +145,21 @@ + } + + ++#ifdef XFT ++XftDraw *debrush_get_draw(DEBrush *brush, Drawable d) ++{ ++ if(brush->draw==NULL) ++ brush->draw=XftDrawCreate(ioncore_g.dpy, d, ++ XftDEDefaultVisual(), ++ DefaultColormap(ioncore_g.dpy, ++ 0)); ++ else ++ XftDrawChange(brush->draw, d); ++ ++ return brush->draw; ++} ++#endif ++ + /*}}}*/ + + +diff -Naur ../work/ion-3/de/brush.h ion-3ds-20070203/de/brush.h +--- ../work/ion-3/de/brush.h 2007-02-03 17:50:52.000000000 +0300 ++++ ion-3ds-20070203/de/brush.h 2007-02-21 13:11:57.000000000 +0300 +@@ -17,6 +17,9 @@ + #include + #include + #include ++#ifdef XFT ++#include ++#endif /* XFT */ + + INTRCLASS(DEBrush); + +@@ -36,6 +39,9 @@ + DECLCLASS(DEBrush){ + GrBrush grbrush; + DEStyle *d; ++#ifdef XFT ++ XftDraw *draw; ++#endif + DEBrushExtrasFn *extras_fn; + int indicator_w; + Window win; +@@ -111,5 +117,8 @@ + extern void debrush_fill_area(DEBrush *brush, const WRectangle *geom); + extern void debrush_clear_area(DEBrush *brush, const WRectangle *geom); + ++#ifdef XFT ++XftDraw *debrush_get_draw(DEBrush *brush, Drawable d); ++#endif + + #endif /* ION_DE_BRUSH_H */ +diff -Naur ../work/ion-3/de/colour.c ion-3ds-20070203/de/colour.c +--- ../work/ion-3/de/colour.c 2007-02-03 17:50:52.000000000 +0300 ++++ ion-3ds-20070203/de/colour.c 2007-02-21 13:11:57.000000000 +0300 +@@ -15,9 +15,21 @@ + + bool de_alloc_colour(WRootWin *rootwin, DEColour *ret, const char *name) + { ++#ifndef XFT + XColor c; + bool ok=FALSE; ++#else /* XFT */ ++ if(name==NULL) ++ return FALSE; ++ return XftColorAllocName( ++ ioncore_g.dpy, ++ XftDEDefaultVisual(), ++ rootwin->default_cmap, ++ name, ++ ret); ++#endif /* XFT */ + ++#ifndef XFT + if(name==NULL) + return FALSE; + +@@ -28,11 +40,13 @@ + } + + return ok; ++#endif /* ! XFT */ + } + + + bool de_duplicate_colour(WRootWin *rootwin, DEColour in, DEColour *out) + { ++#ifndef XFT + XColor c; + c.pixel=in; + XQueryColor(ioncore_g.dpy, rootwin->default_cmap, &c); +@@ -41,11 +55,20 @@ + return TRUE; + } + return FALSE; ++#else /* XFT */ ++ return XftColorAllocName( ++ ioncore_g.dpy, ++ XftDEDefaultVisual(), ++ rootwin->default_cmap, ++ &(in.color), ++ out); ++#endif /* XFT */ + } + + + void de_free_colour_group(WRootWin *rootwin, DEColourGroup *cg) + { ++#ifndef XFT + DEColour pixels[5]; + + pixels[0]=cg->bg; +@@ -57,15 +80,26 @@ + XFreeColors(ioncore_g.dpy, rootwin->default_cmap, pixels, 5, 0); + + gr_stylespec_unalloc(&cg->spec); ++#else /* XFT */ ++ 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); ++#endif /* XFT */ + } + + + void de_free_colour(WRootWin *rootwin, DEColour col) + { ++#ifndef XFT + DEColour pixels[1]; + + pixels[0]=col; + + XFreeColors(ioncore_g.dpy, rootwin->default_cmap, pixels, 1, 0); ++#else /* XFT */ ++ XftColorFree(ioncore_g.dpy, XftDEDefaultVisual(), rootwin->default_cmap, &col); ++#endif /* XFT */ + } + +diff -Naur ../work/ion-3/de/colour.h ion-3ds-20070203/de/colour.h +--- ../work/ion-3/de/colour.h 2007-02-03 17:50:52.000000000 +0300 ++++ ion-3ds-20070203/de/colour.h 2007-02-21 13:11:57.000000000 +0300 +@@ -15,12 +15,19 @@ + #include + #include + #include ++#ifdef XFT ++#include ++#endif /* XFT */ + + + INTRSTRUCT(DEColourGroup); + + ++#ifndef XFT + typedef unsigned long DEColour; ++#else /* XFT */ ++typedef XftColor DEColour; ++#endif /* XFT */ + + + DECLSTRUCT(DEColourGroup){ +@@ -37,5 +44,6 @@ + bool de_duplicate_colour(WRootWin *rootwin, DEColour in, DEColour *out); + void de_free_colour_group(WRootWin *rootwin, DEColourGroup *cg); + void de_free_colour(WRootWin *rootwin, DEColour col); ++#define XftDEDefaultVisual() DefaultVisual(ioncore_g.dpy, 0) + + #endif /* ION_DE_COLOUR_H */ +diff -Naur ../work/ion-3/de/draw.c ion-3ds-20070203/de/draw.c +--- ../work/ion-3/de/draw.c 2007-02-03 17:50:52.000000000 +0300 ++++ ion-3ds-20070203/de/draw.c 2007-02-21 13:11:57.000000000 +0300 +@@ -22,6 +22,14 @@ + #include + + ++#ifndef XFT ++#define PIXEL(x) x ++#else /* XFT */ ++#define PIXEL(x) x.pixel ++#endif /* XFT */ ++ ++ ++ + /*{{{ Colour group lookup */ + + +@@ -86,8 +94,7 @@ + w--; + h--; + +- XSetForeground(ioncore_g.dpy, gc, tlc); +- ++ XSetForeground(ioncore_g.dpy, gc, PIXEL(tlc)); + + a=(br!=0); + b=0; +@@ -104,9 +111,8 @@ + + XDrawLines(ioncore_g.dpy, win, gc, points, 3, CoordModeOrigin); + } +- + +- XSetForeground(ioncore_g.dpy, gc, brc); ++ XSetForeground(ioncore_g.dpy, gc, PIXEL(brc)); + + a=(tl!=0); + b=0; +@@ -143,23 +143,23 @@ + GrBorderLine line) + { + if(line==GR_BORDERLINE_LEFT && geom->h>0 && tl>0){ +- XSetForeground(ioncore_g.dpy, gc, tlc); +- XSetBackground(ioncore_g.dpy, gc, tlc); ++ XSetForeground(ioncore_g.dpy, gc, PIXEL(tlc)); ++ XSetBackground(ioncore_g.dpy, gc, PIXEL(tlc)); + XFillRectangle(ioncore_g.dpy, win, gc, geom->x, geom->y, tl, geom->h); + geom->x+=tl; + }else if(line==GR_BORDERLINE_TOP && geom->w>0 && tl>0){ +- XSetForeground(ioncore_g.dpy, gc, tlc); +- XSetBackground(ioncore_g.dpy, gc, tlc); ++ XSetForeground(ioncore_g.dpy, gc, PIXEL(tlc)); ++ XSetBackground(ioncore_g.dpy, gc, PIXEL(tlc)); + XFillRectangle(ioncore_g.dpy, win, gc, geom->x, geom->y, geom->w, tl); + geom->y+=tl; + }else if(line==GR_BORDERLINE_RIGHT && geom->h>0 && br>0){ +- XSetForeground(ioncore_g.dpy, gc, brc); +- XSetBackground(ioncore_g.dpy, gc, brc); ++ XSetForeground(ioncore_g.dpy, gc, PIXEL(brc)); ++ XSetBackground(ioncore_g.dpy, gc, PIXEL(brc)); + XFillRectangle(ioncore_g.dpy, win, gc, geom->x+geom->w-br, geom->y, br, geom->h); + geom->w-=br; + }else if(line==GR_BORDERLINE_BOTTOM && geom->w>0 && br>0){ +- XSetForeground(ioncore_g.dpy, gc, brc); +- XSetBackground(ioncore_g.dpy, gc, brc); ++ XSetForeground(ioncore_g.dpy, gc, PIXEL(brc)); ++ XSetBackground(ioncore_g.dpy, gc, PIXEL(brc)); + XFillRectangle(ioncore_g.dpy, win, gc, geom->x, geom->y+geom->h-br, geom->w, br); + geom->h-=br; + } +@@ -293,7 +299,7 @@ + } + + if(ISSET(a2, GR_ATTR(tagged)) || ISSET(a1, GR_ATTR(tagged))){ +- XSetForeground(ioncore_g.dpy, d->copy_gc, cg->fg); ++ XSetForeground(ioncore_g.dpy, d->copy_gc, PIXEL(cg->fg)); + + copy_masked(brush, d->tag_pixmap, brush->win, 0, 0, + d->tag_pixmap_w, d->tag_pixmap_h, +@@ -348,7 +354,7 @@ + GC gc=brush->d->normal_gc; + + if(TRUE/*needfill*/){ +- XSetForeground(ioncore_g.dpy, gc, cg->bg); ++ XSetForeground(ioncore_g.dpy, gc, PIXEL(cg->bg)); + XFillRectangle(ioncore_g.dpy, brush->win, gc, geom->x, geom->y, + geom->w, geom->h); + } +@@ -513,7 +519,7 @@ + attr.background_pixmap=ParentRelative; + }else{ + attrflags=CWBackPixel; +- attr.background_pixel=brush->d->cgrp.bg; ++ attr.background_pixel=brush->d->PIXEL(cgrp.bg); + } + + XChangeWindowAttributes(ioncore_g.dpy, brush->win, attrflags, &attr); +@@ -529,7 +535,7 @@ + if(cg==NULL) + return; + +- XSetForeground(ioncore_g.dpy, gc, cg->bg); ++ XSetForeground(ioncore_g.dpy, gc, PIXEL(cg->bg)); + XFillRectangle(ioncore_g.dpy, brush->win, gc, + geom->x, geom->y, geom->w, geom->h); + } +diff -Naur ../work/ion-3/de/font.c ion-3ds-20070203/de/font.c +--- ../work/ion-3/de/font.c 2007-02-03 17:50:52.000000000 +0300 ++++ ion-3ds-20070203/de/font.c 2007-02-21 13:11:57.000000000 +0300 +@@ -14,7 +14,9 @@ + #include + #include + #include "font.h" ++#ifndef XFT + #include "fontset.h" ++#endif /* ! XFT */ + #include "brush.h" + + +@@ -26,6 +28,9 @@ + + DEFont *de_load_font(const char *fontname) + { ++#ifdef XFT ++ XftFont *font; ++#endif + DEFont *fnt; + XFontSet fontset=NULL; + XFontStruct *fontstruct=NULL; +@@ -40,6 +45,7 @@ + } + } + ++#ifndef XFT + if(ioncore_g.use_mb){ + fontset=de_create_font_set(fontname); + if(fontset!=NULL){ +@@ -66,13 +72,34 @@ + return NULL; + } + ++#else /* XFT */ ++ if(strncmp(fontname, "xft:", 4)==0){ ++ font=XftFontOpenName(ioncore_g.dpy, DefaultScreen(ioncore_g.dpy), ++ fontname+4); ++ }else{ ++ font=XftFontOpenXlfd(ioncore_g.dpy, DefaultScreen(ioncore_g.dpy), fontname); ++ } ++ ++ if(font==NULL){ ++ if(strcmp(fontname, CF_FALLBACK_FONT_NAME)!=0){ ++ warn(TR("Could not load font \"%s\", trying \"%s\""), ++ fontname, CF_FALLBACK_FONT_NAME); ++ return de_load_font(CF_FALLBACK_FONT_NAME); ++ } ++ return NULL; ++ } ++#endif /* XFT */ + fnt=ALLOC(DEFont); + + if(fnt==NULL) + return NULL; + ++#ifndef XFT + fnt->fontset=fontset; + fnt->fontstruct=fontstruct; ++#else ++ fnt->font=font; ++#endif + fnt->pattern=scopy(fontname); + fnt->next=NULL; + fnt->prev=NULL; +@@ -92,11 +119,13 @@ + style->font=font; + font->refcount++; + ++#ifndef XFT + if(style->font->fontstruct!=NULL){ + XSetFont(ioncore_g.dpy, style->normal_gc, + style->font->fontstruct->fid); + } + ++#endif /* ! XFT */ + return TRUE; + } + +@@ -111,11 +140,13 @@ + if(style->font==NULL) + return FALSE; + ++#ifndef XFT + if(style->font->fontstruct!=NULL){ + XSetFont(ioncore_g.dpy, style->normal_gc, + style->font->fontstruct->fid); + } + ++#endif /* ! XFT */ + return TRUE; + } + +@@ -125,10 +156,15 @@ + if(--font->refcount!=0) + return; + ++#ifndef XFT + if(font->fontset!=NULL) + XFreeFontSet(ioncore_g.dpy, font->fontset); + if(font->fontstruct!=NULL) + XFreeFont(ioncore_g.dpy, font->fontstruct); ++#else /* XFT */ ++ if(font->font!=NULL) ++ XftFontClose(ioncore_g.dpy, font->font); ++#endif /* XFT */ + if(font->pattern!=NULL) + free(font->pattern); + +@@ -156,6 +192,7 @@ + + void defont_get_font_extents(DEFont *font, GrFontExtents *fnte) + { ++#ifndef XFT + if(font->fontset!=NULL){ + XFontSetExtents *ext=XExtentsOfFontSet(font->fontset); + if(ext==NULL) +@@ -171,7 +208,14 @@ + fnte->baseline=fnt->ascent; + return; + } +- ++#else /* XFT */ ++ 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; ++ } ++#endif /* XFT */ + fail: + DE_RESET_FONT_EXTENTS(fnte); + } +@@ -188,20 +232,35 @@ + + uint defont_get_text_width(DEFont *font, const char *text, uint len) + { ++#ifndef XFT + if(font->fontset!=NULL){ + XRectangle lext; + #ifdef CF_DE_USE_XUTF8 +- if(ioncore_g.enc_utf8) +- Xutf8TextExtents(font->fontset, text, len, NULL, &lext); +- else ++ if(ioncore_g.enc_utf8) ++ Xutf8TextExtents(font->fontset, text, len, NULL, &lext); ++ else + #endif +- XmbTextExtents(font->fontset, text, len, NULL, &lext); +- return lext.width; ++ XmbTextExtents(font->fontset, text, len, NULL, &lext); ++ return lext.width; + }else if(font->fontstruct!=NULL){ + return XTextWidth(font->fontstruct, text, len); + }else{ + return 0; + } ++#else /* XFT */ ++ if(font->font!=NULL){ ++ XGlyphInfo extents; ++ if(ioncore_g.enc_utf8) ++ XftTextExtentsUtf8(ioncore_g.dpy, font->font, (XftChar8 *)text, len, ++ &extents); ++ else ++ XftTextExtents8(ioncore_g.dpy, font->font, (XftChar8 *)text, len, ++ &extents); ++ return extents.xOff; ++ }else{ ++ return 0; ++ } ++#endif /* XFT */ + } + + +@@ -211,6 +270,7 @@ + /*{{{ String drawing */ + + ++#ifndef XFT + void debrush_do_draw_string_default(DEBrush *brush, int x, int y, + const char *str, int len, bool needfill, + DEColourGroup *colours) +@@ -256,6 +316,41 @@ + } + } + ++#else /* XFT */ ++void debrush_do_draw_string_default(DEBrush *brush, ++ int x, int y, const char *str, ++ int len, bool needfill, ++ DEColourGroup *colours) ++{ ++ Window win = brush->win; ++ GC gc=brush->d->normal_gc; ++ XftDraw *draw; ++ XftFont *font; ++ ++ if(brush->d->font==NULL) ++ return; ++ ++ font=brush->d->font->font; ++ draw=debrush_get_draw(brush, win); ++ ++ if(needfill){ ++ XGlyphInfo extents; ++ if(ioncore_g.enc_utf8) ++ XftTextExtentsUtf8(ioncore_g.dpy, font, (XftChar8 *)str, len, ++ &extents); ++ else ++ XftTextExtents8(ioncore_g.dpy, font, (XftChar8 *)str, len, &extents); ++ XftDrawRect(draw, &(colours->bg), x-extents.x, y-extents.y, ++ extents.width+10, extents.height); ++ } ++ ++ if(ioncore_g.enc_utf8) ++ XftDrawStringUtf8(draw, &(colours->fg), font, x, y, (XftChar8 *)str, ++ len); ++ else ++ XftDrawString8(draw, &(colours->fg), font, x, y, (XftChar8 *)str, len); ++} ++#endif /* XFT */ + + void debrush_do_draw_string(DEBrush *brush, int x, int y, + const char *str, int len, bool needfill, +diff -Naur ../work/ion-3/de/font.h ion-3ds-20070203/de/font.h +--- ../work/ion-3/de/font.h 2007-02-03 17:50:52.000000000 +0300 ++++ ion-3ds-20070203/de/font.h 2007-02-21 13:11:57.000000000 +0300 +@@ -14,6 +14,9 @@ + + #include + #include ++#ifdef XFT ++#include ++#endif /* XFT */ + + INTRSTRUCT(DEFont); + +@@ -29,6 +32,9 @@ + int refcount; + XFontSet fontset; + XFontStruct *fontstruct; ++#ifdef XFT /* XFT */ ++ XftFont *font; ++#endif /* XFT */ + DEFont *next, *prev; + }; + +diff -Naur ../work/ion-3/de/init.c ion-3ds-20070203/de/init.c +--- ../work/ion-3/de/init.c 2007-02-03 17:50:52.000000000 +0300 ++++ ion-3ds-20070203/de/init.c 2007-02-21 13:11:57.000000000 +0300 +@@ -165,17 +165,26 @@ + { + bool bgset; + DEColour padinh; +- ++ DEColour black, white; ++ ++#ifdef XFT ++ de_alloc_colour(rootwin, &black, "black"); ++ de_alloc_colour(rootwin, &white, "white"); ++#else ++ black=DE_BLACK(rootwin); ++ white=DE_WHITE(rootwin); ++#endif ++ + de_get_colour(rootwin, &(cg->hl), tab, "highlight_colour", +- (based_on ? based_on->cgrp.hl : DE_WHITE(rootwin))); ++ (based_on ? based_on->cgrp.hl : white)); + de_get_colour(rootwin, &(cg->sh), tab, "shadow_colour", +- (based_on ? based_on->cgrp.sh : DE_WHITE(rootwin))); ++ (based_on ? based_on->cgrp.sh : white)); + de_get_colour(rootwin, &(cg->fg), tab, "foreground_colour", +- (based_on ? based_on->cgrp.fg : DE_WHITE(rootwin))); ++ (based_on ? based_on->cgrp.fg : white)); + bgset=de_get_colour(rootwin, &(cg->bg), tab, "background_colour", +- (based_on ? based_on->cgrp.bg : DE_BLACK(rootwin))); ++ (based_on ? based_on->cgrp.bg : black)); + +- padinh=(based_on ? based_on->cgrp.pad : DE_WHITE(rootwin)); ++ padinh=(based_on ? based_on->cgrp.pad : white); + + de_get_colour_(rootwin, &(cg->pad), tab, "padding_colour", + (bgset ? cg->bg : padinh), padinh); +diff -Naur ../work/ion-3/de/style.c ion-3ds-20070203/de/style.c +--- ../work/ion-3/de/style.c 2007-02-03 17:50:52.000000000 +0300 ++++ ion-3ds-20070203/de/style.c 2007-02-21 13:11:57.000000000 +0300 +@@ -74,10 +74,17 @@ + /*gcv.function=GXclear;*/ + gcv.stipple=stipple_pixmap; + gcvmask=GCFillStyle|GCStipple/*|GCFunction*/; ++#ifndef XFT + if(style->font!=NULL && style->font->fontstruct!=NULL){ + gcv.font=style->font->fontstruct->fid; + gcvmask|=GCFont; + } ++#else /* XFT */ ++// if(style->font!=NULL){ ++// gcv.font=style->font; ++// gcvmask|=GCFont; ++// } ++#endif /* XFT */ + + style->stipple_gc=XCreateGC(dpy, root, gcvmask, &gcv); + XCopyGC(dpy, style->normal_gc, +@@ -205,6 +212,14 @@ + + bool destyle_init(DEStyle *style, WRootWin *rootwin, const char *name) + { ++ DEColour black, white; ++#ifdef XFT ++ de_alloc_colour(rootwin, &black, "black"); ++ de_alloc_colour(rootwin, &white, "white"); ++#else ++ black=DE_BLACK(rootwin); ++ white=DE_WHITE(rootwin); ++#endif /* XFT */ + if(!gr_stylespec_load(&style->spec, name)) + return FALSE; + +@@ -226,11 +241,11 @@ + style->textalign=DEALIGN_CENTER; + + style->cgrp_alloced=FALSE; +- 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); ++ style->cgrp.bg=black; ++ style->cgrp.pad=black; ++ style->cgrp.fg=white; ++ style->cgrp.hl=white; ++ style->cgrp.sh=white; + gr_stylespec_init(&style->cgrp.spec); + + style->font=NULL; +diff -Naur ../work/ion-3/de/style.h ion-3ds-20070203/de/style.h +--- ../work/ion-3/de/style.h 2007-02-03 17:50:52.000000000 +0300 ++++ ion-3ds-20070203/de/style.h 2007-02-21 13:11:57.000000000 +0300 +@@ -76,6 +76,7 @@ + Pixmap tag_pixmap; + int tag_pixmap_w; + int tag_pixmap_h; ++ int xft_style; + + DEStyle *next, *prev; + }; +--- ../work/ion-3/system.mk 2007-05-10 22:45:16.000000000 +0400 ++++ ion-3ds-20070203/system.mk 2007-05-10 22:45:07.000000000 +0400 +@@ -115,6 +115,16 @@ + #EXTRA_LIBS += -lintl + #EXTRA_INCLUDES += + ++## ++## Xft support ++## ++ ++#USE_XFT=1 ++ ++ifeq ($(USE_XFT),1) ++EXTRA_INCLUDES += `xft-config --cflags` -DXFT ++EXTRA_LIBS += `xft-config --libs` ++endif + + ## + ## C compiler diff --git a/x11-wm/ion3/files/xft-ion3-20070608.patch b/x11-wm/ion3/files/xft-ion3-20070608.patch new file mode 100644 index 0000000..0cff558 --- /dev/null +++ b/x11-wm/ion3/files/xft-ion3-20070608.patch @@ -0,0 +1,669 @@ +diff -Naur ../work/ion-3/de/brush.c ion-3ds-20070203/de/brush.c +--- ../work/ion-3/de/brush.c 2007-02-03 17:50:52.000000000 +0300 ++++ ion-3ds-20070203/de/brush.c 2007-02-21 13:11:57.000000000 +0300 +@@ -47,6 +47,9 @@ + + gr_stylespec_init(&brush->current_attr); + ++#ifdef XFT ++ brush->draw=NULL; ++#endif /* XFT */ + style->usecount++; + + if(!grbrush_init(&(brush->grbrush))){ +@@ -127,6 +130,10 @@ + { + destyle_unref(brush->d); + brush->d=NULL; ++#ifdef XFT ++ if(brush->draw!=NULL) ++ XftDrawDestroy(brush->draw); ++#endif /* XFT */ + gr_stylespec_unalloc(&brush->current_attr); + grbrush_deinit(&(brush->grbrush)); + } +@@ -138,6 +145,21 @@ + } + + ++#ifdef XFT ++XftDraw *debrush_get_draw(DEBrush *brush, Drawable d) ++{ ++ if(brush->draw==NULL) ++ brush->draw=XftDrawCreate(ioncore_g.dpy, d, ++ XftDEDefaultVisual(), ++ DefaultColormap(ioncore_g.dpy, ++ 0)); ++ else ++ XftDrawChange(brush->draw, d); ++ ++ return brush->draw; ++} ++#endif ++ + /*}}}*/ + + +diff -Naur ../work/ion-3/de/brush.h ion-3ds-20070203/de/brush.h +--- ../work/ion-3/de/brush.h 2007-02-03 17:50:52.000000000 +0300 ++++ ion-3ds-20070203/de/brush.h 2007-02-21 13:11:57.000000000 +0300 +@@ -17,6 +17,9 @@ + #include + #include + #include ++#ifdef XFT ++#include ++#endif /* XFT */ + + INTRCLASS(DEBrush); + +@@ -36,6 +39,9 @@ + DECLCLASS(DEBrush){ + GrBrush grbrush; + DEStyle *d; ++#ifdef XFT ++ XftDraw *draw; ++#endif + DEBrushExtrasFn *extras_fn; + int indicator_w; + Window win; +@@ -111,5 +117,8 @@ + extern void debrush_fill_area(DEBrush *brush, const WRectangle *geom); + extern void debrush_clear_area(DEBrush *brush, const WRectangle *geom); + ++#ifdef XFT ++XftDraw *debrush_get_draw(DEBrush *brush, Drawable d); ++#endif + + #endif /* ION_DE_BRUSH_H */ +diff -Naur ../work/ion-3/de/colour.c ion-3ds-20070203/de/colour.c +--- ../work/ion-3/de/colour.c 2007-02-03 17:50:52.000000000 +0300 ++++ ion-3ds-20070203/de/colour.c 2007-02-21 13:11:57.000000000 +0300 +@@ -15,9 +15,21 @@ + + bool de_alloc_colour(WRootWin *rootwin, DEColour *ret, const char *name) + { ++#ifndef XFT + XColor c; + bool ok=FALSE; ++#else /* XFT */ ++ if(name==NULL) ++ return FALSE; ++ return XftColorAllocName( ++ ioncore_g.dpy, ++ XftDEDefaultVisual(), ++ rootwin->default_cmap, ++ name, ++ ret); ++#endif /* XFT */ + ++#ifndef XFT + if(name==NULL) + return FALSE; + +@@ -28,11 +40,13 @@ + } + + return ok; ++#endif /* ! XFT */ + } + + + bool de_duplicate_colour(WRootWin *rootwin, DEColour in, DEColour *out) + { ++#ifndef XFT + XColor c; + c.pixel=in; + XQueryColor(ioncore_g.dpy, rootwin->default_cmap, &c); +@@ -41,11 +55,20 @@ + return TRUE; + } + return FALSE; ++#else /* XFT */ ++ return XftColorAllocName( ++ ioncore_g.dpy, ++ XftDEDefaultVisual(), ++ rootwin->default_cmap, ++ &(in.color), ++ out); ++#endif /* XFT */ + } + + + void de_free_colour_group(WRootWin *rootwin, DEColourGroup *cg) + { ++#ifndef XFT + DEColour pixels[5]; + + pixels[0]=cg->bg; +@@ -57,15 +80,26 @@ + XFreeColors(ioncore_g.dpy, rootwin->default_cmap, pixels, 5, 0); + + gr_stylespec_unalloc(&cg->spec); ++#else /* XFT */ ++ 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); ++#endif /* XFT */ + } + + + void de_free_colour(WRootWin *rootwin, DEColour col) + { ++#ifndef XFT + DEColour pixels[1]; + + pixels[0]=col; + + XFreeColors(ioncore_g.dpy, rootwin->default_cmap, pixels, 1, 0); ++#else /* XFT */ ++ XftColorFree(ioncore_g.dpy, XftDEDefaultVisual(), rootwin->default_cmap, &col); ++#endif /* XFT */ + } + +diff -Naur ../work/ion-3/de/colour.h ion-3ds-20070203/de/colour.h +--- ../work/ion-3/de/colour.h 2007-02-03 17:50:52.000000000 +0300 ++++ ion-3ds-20070203/de/colour.h 2007-02-21 13:11:57.000000000 +0300 +@@ -15,12 +15,19 @@ + #include + #include + #include ++#ifdef XFT ++#include ++#endif /* XFT */ + + + INTRSTRUCT(DEColourGroup); + + ++#ifndef XFT + typedef unsigned long DEColour; ++#else /* XFT */ ++typedef XftColor DEColour; ++#endif /* XFT */ + + + DECLSTRUCT(DEColourGroup){ +@@ -37,5 +44,6 @@ + bool de_duplicate_colour(WRootWin *rootwin, DEColour in, DEColour *out); + void de_free_colour_group(WRootWin *rootwin, DEColourGroup *cg); + void de_free_colour(WRootWin *rootwin, DEColour col); ++#define XftDEDefaultVisual() DefaultVisual(ioncore_g.dpy, 0) + + #endif /* ION_DE_COLOUR_H */ +diff -Naur ../work/ion-3/de/draw.c ion-3ds-20070203/de/draw.c +--- ../work/ion-3/de/draw.c 2007-02-03 17:50:52.000000000 +0300 ++++ ion-3ds-20070203/de/draw.c 2007-02-21 13:11:57.000000000 +0300 +@@ -22,6 +22,14 @@ + #include + + ++#ifndef XFT ++#define PIXEL(x) x ++#else /* XFT */ ++#define PIXEL(x) x.pixel ++#endif /* XFT */ ++ ++ ++ + /*{{{ Colour group lookup */ + + +@@ -86,8 +94,7 @@ + w--; + h--; + +- XSetForeground(ioncore_g.dpy, gc, tlc); +- ++ XSetForeground(ioncore_g.dpy, gc, PIXEL(tlc)); + + a=(br!=0); + b=0; +@@ -104,9 +111,8 @@ + + XDrawLines(ioncore_g.dpy, win, gc, points, 3, CoordModeOrigin); + } +- + +- XSetForeground(ioncore_g.dpy, gc, brc); ++ XSetForeground(ioncore_g.dpy, gc, PIXEL(brc)); + + a=(tl!=0); + b=0; +@@ -143,23 +143,23 @@ + GrBorderLine line) + { + if(line==GR_BORDERLINE_LEFT && geom->h>0 && tl>0){ +- XSetForeground(ioncore_g.dpy, gc, tlc); +- XSetBackground(ioncore_g.dpy, gc, tlc); ++ XSetForeground(ioncore_g.dpy, gc, PIXEL(tlc)); ++ XSetBackground(ioncore_g.dpy, gc, PIXEL(tlc)); + XFillRectangle(ioncore_g.dpy, win, gc, geom->x, geom->y, tl, geom->h); + geom->x+=tl; + }else if(line==GR_BORDERLINE_TOP && geom->w>0 && tl>0){ +- XSetForeground(ioncore_g.dpy, gc, tlc); +- XSetBackground(ioncore_g.dpy, gc, tlc); ++ XSetForeground(ioncore_g.dpy, gc, PIXEL(tlc)); ++ XSetBackground(ioncore_g.dpy, gc, PIXEL(tlc)); + XFillRectangle(ioncore_g.dpy, win, gc, geom->x, geom->y, geom->w, tl); + geom->y+=tl; + }else if(line==GR_BORDERLINE_RIGHT && geom->h>0 && br>0){ +- XSetForeground(ioncore_g.dpy, gc, brc); +- XSetBackground(ioncore_g.dpy, gc, brc); ++ XSetForeground(ioncore_g.dpy, gc, PIXEL(brc)); ++ XSetBackground(ioncore_g.dpy, gc, PIXEL(brc)); + XFillRectangle(ioncore_g.dpy, win, gc, geom->x+geom->w-br, geom->y, br, geom->h); + geom->w-=br; + }else if(line==GR_BORDERLINE_BOTTOM && geom->w>0 && br>0){ +- XSetForeground(ioncore_g.dpy, gc, brc); +- XSetBackground(ioncore_g.dpy, gc, brc); ++ XSetForeground(ioncore_g.dpy, gc, PIXEL(brc)); ++ XSetBackground(ioncore_g.dpy, gc, PIXEL(brc)); + XFillRectangle(ioncore_g.dpy, win, gc, geom->x, geom->y+geom->h-br, geom->w, br); + geom->h-=br; + } +@@ -293,7 +299,7 @@ + } + + if(ISSET(a2, GR_ATTR(tagged)) || ISSET(a1, GR_ATTR(tagged))){ +- XSetForeground(ioncore_g.dpy, d->copy_gc, cg->fg); ++ XSetForeground(ioncore_g.dpy, d->copy_gc, PIXEL(cg->fg)); + + copy_masked(brush, d->tag_pixmap, brush->win, 0, 0, + d->tag_pixmap_w, d->tag_pixmap_h, +@@ -348,7 +354,7 @@ + GC gc=brush->d->normal_gc; + + if(TRUE/*needfill*/){ +- XSetForeground(ioncore_g.dpy, gc, cg->bg); ++ XSetForeground(ioncore_g.dpy, gc, PIXEL(cg->bg)); + XFillRectangle(ioncore_g.dpy, brush->win, gc, geom->x, geom->y, + geom->w, geom->h); + } +@@ -513,7 +519,7 @@ + attr.background_pixmap=ParentRelative; + }else{ + attrflags=CWBackPixel; +- attr.background_pixel=brush->d->cgrp.bg; ++ attr.background_pixel=brush->d->PIXEL(cgrp.bg); + } + + XChangeWindowAttributes(ioncore_g.dpy, brush->win, attrflags, &attr); +@@ -529,7 +535,7 @@ + if(cg==NULL) + return; + +- XSetForeground(ioncore_g.dpy, gc, cg->bg); ++ XSetForeground(ioncore_g.dpy, gc, PIXEL(cg->bg)); + XFillRectangle(ioncore_g.dpy, brush->win, gc, + geom->x, geom->y, geom->w, geom->h); + } +diff -Naur ../work/ion-3/de/font.c ion-3ds-20070203/de/font.c +--- ../work/ion-3/de/font.c 2007-02-03 17:50:52.000000000 +0300 ++++ ion-3ds-20070203/de/font.c 2007-02-21 13:11:57.000000000 +0300 +@@ -14,7 +14,9 @@ + #include + #include + #include "font.h" ++#ifndef XFT + #include "fontset.h" ++#endif /* ! XFT */ + #include "brush.h" + + +@@ -26,6 +28,9 @@ + + DEFont *de_load_font(const char *fontname) + { ++#ifdef XFT ++ XftFont *font; ++#endif + DEFont *fnt; + XFontSet fontset=NULL; + XFontStruct *fontstruct=NULL; +@@ -40,6 +45,7 @@ + } + } + ++#ifndef XFT + if(ioncore_g.use_mb){ + fontset=de_create_font_set(fontname); + if(fontset!=NULL){ +@@ -66,13 +72,34 @@ + return NULL; + } + ++#else /* XFT */ ++ if(strncmp(fontname, "xft:", 4)==0){ ++ font=XftFontOpenName(ioncore_g.dpy, DefaultScreen(ioncore_g.dpy), ++ fontname+4); ++ }else{ ++ font=XftFontOpenXlfd(ioncore_g.dpy, DefaultScreen(ioncore_g.dpy), fontname); ++ } ++ ++ if(font==NULL){ ++ if(strcmp(fontname, CF_FALLBACK_FONT_NAME)!=0){ ++ warn(TR("Could not load font \"%s\", trying \"%s\""), ++ fontname, CF_FALLBACK_FONT_NAME); ++ return de_load_font(CF_FALLBACK_FONT_NAME); ++ } ++ return NULL; ++ } ++#endif /* XFT */ + fnt=ALLOC(DEFont); + + if(fnt==NULL) + return NULL; + ++#ifndef XFT + fnt->fontset=fontset; + fnt->fontstruct=fontstruct; ++#else ++ fnt->font=font; ++#endif + fnt->pattern=scopy(fontname); + fnt->next=NULL; + fnt->prev=NULL; +@@ -92,11 +119,13 @@ + style->font=font; + font->refcount++; + ++#ifndef XFT + if(style->font->fontstruct!=NULL){ + XSetFont(ioncore_g.dpy, style->normal_gc, + style->font->fontstruct->fid); + } + ++#endif /* ! XFT */ + return TRUE; + } + +@@ -111,11 +140,13 @@ + if(style->font==NULL) + return FALSE; + ++#ifndef XFT + if(style->font->fontstruct!=NULL){ + XSetFont(ioncore_g.dpy, style->normal_gc, + style->font->fontstruct->fid); + } + ++#endif /* ! XFT */ + return TRUE; + } + +@@ -125,10 +156,15 @@ + if(--font->refcount!=0) + return; + ++#ifndef XFT + if(font->fontset!=NULL) + XFreeFontSet(ioncore_g.dpy, font->fontset); + if(font->fontstruct!=NULL) + XFreeFont(ioncore_g.dpy, font->fontstruct); ++#else /* XFT */ ++ if(font->font!=NULL) ++ XftFontClose(ioncore_g.dpy, font->font); ++#endif /* XFT */ + if(font->pattern!=NULL) + free(font->pattern); + +@@ -156,6 +192,7 @@ + + void defont_get_font_extents(DEFont *font, GrFontExtents *fnte) + { ++#ifndef XFT + if(font->fontset!=NULL){ + XFontSetExtents *ext=XExtentsOfFontSet(font->fontset); + if(ext==NULL) +@@ -171,7 +208,14 @@ + fnte->baseline=fnt->ascent; + return; + } +- ++#else /* XFT */ ++ 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; ++ } ++#endif /* XFT */ + fail: + DE_RESET_FONT_EXTENTS(fnte); + } +@@ -188,20 +232,35 @@ + + uint defont_get_text_width(DEFont *font, const char *text, uint len) + { ++#ifndef XFT + if(font->fontset!=NULL){ + XRectangle lext; + #ifdef CF_DE_USE_XUTF8 +- if(ioncore_g.enc_utf8) +- Xutf8TextExtents(font->fontset, text, len, NULL, &lext); +- else ++ if(ioncore_g.enc_utf8) ++ Xutf8TextExtents(font->fontset, text, len, NULL, &lext); ++ else + #endif +- XmbTextExtents(font->fontset, text, len, NULL, &lext); +- return lext.width; ++ XmbTextExtents(font->fontset, text, len, NULL, &lext); ++ return lext.width; + }else if(font->fontstruct!=NULL){ + return XTextWidth(font->fontstruct, text, len); + }else{ + return 0; + } ++#else /* XFT */ ++ if(font->font!=NULL){ ++ XGlyphInfo extents; ++ if(ioncore_g.enc_utf8) ++ XftTextExtentsUtf8(ioncore_g.dpy, font->font, (XftChar8 *)text, len, ++ &extents); ++ else ++ XftTextExtents8(ioncore_g.dpy, font->font, (XftChar8 *)text, len, ++ &extents); ++ return extents.xOff; ++ }else{ ++ return 0; ++ } ++#endif /* XFT */ + } + + +@@ -211,6 +270,7 @@ + /*{{{ String drawing */ + + ++#ifndef XFT + void debrush_do_draw_string_default(DEBrush *brush, int x, int y, + const char *str, int len, bool needfill, + DEColourGroup *colours) +@@ -256,6 +316,41 @@ + } + } + ++#else /* XFT */ ++void debrush_do_draw_string_default(DEBrush *brush, ++ int x, int y, const char *str, ++ int len, bool needfill, ++ DEColourGroup *colours) ++{ ++ Window win = brush->win; ++ GC gc=brush->d->normal_gc; ++ XftDraw *draw; ++ XftFont *font; ++ ++ if(brush->d->font==NULL) ++ return; ++ ++ font=brush->d->font->font; ++ draw=debrush_get_draw(brush, win); ++ ++ if(needfill){ ++ XGlyphInfo extents; ++ if(ioncore_g.enc_utf8) ++ XftTextExtentsUtf8(ioncore_g.dpy, font, (XftChar8 *)str, len, ++ &extents); ++ else ++ XftTextExtents8(ioncore_g.dpy, font, (XftChar8 *)str, len, &extents); ++ XftDrawRect(draw, &(colours->bg), x-extents.x, y-extents.y, ++ extents.width+10, extents.height); ++ } ++ ++ if(ioncore_g.enc_utf8) ++ XftDrawStringUtf8(draw, &(colours->fg), font, x, y, (XftChar8 *)str, ++ len); ++ else ++ XftDrawString8(draw, &(colours->fg), font, x, y, (XftChar8 *)str, len); ++} ++#endif /* XFT */ + + void debrush_do_draw_string(DEBrush *brush, int x, int y, + const char *str, int len, bool needfill, +diff -Naur ../work/ion-3/de/font.h ion-3ds-20070203/de/font.h +--- ../work/ion-3/de/font.h 2007-02-03 17:50:52.000000000 +0300 ++++ ion-3ds-20070203/de/font.h 2007-02-21 13:11:57.000000000 +0300 +@@ -14,6 +14,9 @@ + + #include + #include ++#ifdef XFT ++#include ++#endif /* XFT */ + + INTRSTRUCT(DEFont); + +@@ -29,6 +32,9 @@ + int refcount; + XFontSet fontset; + XFontStruct *fontstruct; ++#ifdef XFT /* XFT */ ++ XftFont *font; ++#endif /* XFT */ + DEFont *next, *prev; + }; + +diff -Naur ../work/ion-3/de/init.c ion-3ds-20070203/de/init.c +--- ../work/ion-3/de/init.c 2007-02-03 17:50:52.000000000 +0300 ++++ ion-3ds-20070203/de/init.c 2007-02-21 13:11:57.000000000 +0300 +@@ -165,17 +165,26 @@ + { + bool bgset; + DEColour padinh; +- ++ DEColour black, white; ++ ++#ifdef XFT ++ de_alloc_colour(rootwin, &black, "black"); ++ de_alloc_colour(rootwin, &white, "white"); ++#else ++ black=DE_BLACK(rootwin); ++ white=DE_WHITE(rootwin); ++#endif ++ + de_get_colour(rootwin, &(cg->hl), tab, "highlight_colour", +- (based_on ? based_on->cgrp.hl : DE_WHITE(rootwin))); ++ (based_on ? based_on->cgrp.hl : white)); + de_get_colour(rootwin, &(cg->sh), tab, "shadow_colour", +- (based_on ? based_on->cgrp.sh : DE_WHITE(rootwin))); ++ (based_on ? based_on->cgrp.sh : white)); + de_get_colour(rootwin, &(cg->fg), tab, "foreground_colour", +- (based_on ? based_on->cgrp.fg : DE_WHITE(rootwin))); ++ (based_on ? based_on->cgrp.fg : white)); + bgset=de_get_colour(rootwin, &(cg->bg), tab, "background_colour", +- (based_on ? based_on->cgrp.bg : DE_BLACK(rootwin))); ++ (based_on ? based_on->cgrp.bg : black)); + +- padinh=(based_on ? based_on->cgrp.pad : DE_WHITE(rootwin)); ++ padinh=(based_on ? based_on->cgrp.pad : white); + + de_get_colour_(rootwin, &(cg->pad), tab, "padding_colour", + (bgset ? cg->bg : padinh), padinh); +diff -Naur ../work/ion-3/de/style.c ion-3ds-20070203/de/style.c +--- ../work/ion-3/de/style.c 2007-02-03 17:50:52.000000000 +0300 ++++ ion-3ds-20070203/de/style.c 2007-02-21 13:11:57.000000000 +0300 +@@ -74,10 +74,17 @@ + /*gcv.function=GXclear;*/ + gcv.stipple=stipple_pixmap; + gcvmask=GCFillStyle|GCStipple/*|GCFunction*/; ++#ifndef XFT + if(style->font!=NULL && style->font->fontstruct!=NULL){ + gcv.font=style->font->fontstruct->fid; + gcvmask|=GCFont; + } ++#else /* XFT */ ++// if(style->font!=NULL){ ++// gcv.font=style->font; ++// gcvmask|=GCFont; ++// } ++#endif /* XFT */ + + style->stipple_gc=XCreateGC(dpy, root, gcvmask, &gcv); + XCopyGC(dpy, style->normal_gc, +@@ -205,6 +212,14 @@ + + bool destyle_init(DEStyle *style, WRootWin *rootwin, const char *name) + { ++ DEColour black, white; ++#ifdef XFT ++ de_alloc_colour(rootwin, &black, "black"); ++ de_alloc_colour(rootwin, &white, "white"); ++#else ++ black=DE_BLACK(rootwin); ++ white=DE_WHITE(rootwin); ++#endif /* XFT */ + if(!gr_stylespec_load(&style->spec, name)) + return FALSE; + +@@ -226,11 +241,11 @@ + style->textalign=DEALIGN_CENTER; + + style->cgrp_alloced=FALSE; +- 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); ++ style->cgrp.bg=black; ++ style->cgrp.pad=black; ++ style->cgrp.fg=white; ++ style->cgrp.hl=white; ++ style->cgrp.sh=white; + gr_stylespec_init(&style->cgrp.spec); + + style->font=NULL; +diff -Naur ../work/ion-3/de/style.h ion-3ds-20070203/de/style.h +--- ../work/ion-3/de/style.h 2007-02-03 17:50:52.000000000 +0300 ++++ ion-3ds-20070203/de/style.h 2007-02-21 13:11:57.000000000 +0300 +@@ -76,6 +76,7 @@ + Pixmap tag_pixmap; + int tag_pixmap_w; + int tag_pixmap_h; ++ int xft_style; + + DEStyle *next, *prev; + }; +--- ../work/ion-3/system.mk 2007-05-10 22:45:16.000000000 +0400 ++++ ion-3ds-20070203/system.mk 2007-05-10 22:45:07.000000000 +0400 +@@ -115,6 +115,16 @@ + #EXTRA_LIBS += -lintl + #EXTRA_INCLUDES += + ++## ++## Xft support ++## ++ ++#USE_XFT=1 ++ ++ifeq ($(USE_XFT),1) ++EXTRA_INCLUDES += `xft-config --cflags` -DXFT ++EXTRA_LIBS += `xft-config --libs` ++endif + + ## + ## C compiler diff --git a/x11-wm/ion3/ion3-20060326.ebuild b/x11-wm/ion3/ion3-20060326.ebuild new file mode 100644 index 0000000..2ee0294 --- /dev/null +++ b/x11-wm/ion3/ion3-20060326.ebuild @@ -0,0 +1,84 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-wm/ion3/ion3-20060326.ebuild,v 1.4 2007/06/05 13:29:53 mabi Exp $ + +inherit eutils + +MY_PV=${PV/_p/-} +MY_PN=ion-3ds-${MY_PV} +DESCRIPTION="A tiling tabbed window manager designed with keyboard users in mind" +HOMEPAGE="http://www.iki.fi/tuomov/ion/" +SRC_URI="http://modeemi.cs.tut.fi/~tuomov/ion/dl/${MY_PN}.tar.gz" +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86" +IUSE="ion3-voidupstreamsupport-truetype xinerama" +DEPEND=" + || ( + ( + x11-libs/libICE + x11-libs/libSM + x11-libs/libXext + ion3-voidupstreamsupport-truetype? ( x11-libs/libXft ) + xinerama? ( x11-libs/libXinerama ) + ) + virtual/x11 + ) + app-misc/run-mailcap + =dev-lang/lua-5.0*" +S=${WORKDIR}/${MY_PN} + +src_unpack() { + unpack ${A} + use ion3-voidupstreamsupport-truetype && epatch ${FILESDIR}/ion3-20060326-truetype.patch +} + +src_compile() { + + autoreconf -i + + local myconf="" + + if has_version '>=x11-base/xfree-4.3.0'; then + myconf="${myconf} --disable-xfree86-textprop-bug-workaround" + fi + + use hppa && myconf="${myconf} --disable-shared" + + econf \ + --sysconfdir=/etc/X11 \ + `use_enable ion3-voidupstreamsupport-truetype xft` \ + `use_enable xinerama` \ + ${myconf} || die + + make \ + DOCDIR=/usr/share/doc/${PF} || die + +} + +src_install() { + + make \ + prefix=${D}/usr \ + ETCDIR=${D}/etc/X11/ion3 \ + SHAREDIR=${D}/usr/share/ion3 \ + MANDIR=${D}/usr/share/man \ + DOCDIR=${D}/usr/share/doc/${PF} \ + LOCALEDIR=${D}/usr/share/locale \ + LIBDIR=${D}/usr/lib \ + MODULEDIR=${D}/usr/lib/ion3/mod \ + LCDIR=${D}/usr/lib/ion3/lc \ + VARDIR=${D}/var/cache/ion3 \ + install || die + + prepalldocs + + echo -e "#!/bin/sh\n/usr/bin/ion3" > ${T}/ion3 + echo -e "#!/bin/sh\n/usr/bin/pwm3" > ${T}/pwm3 + exeinto /etc/X11/Sessions + doexe ${T}/ion3 ${T}/pwm3 + + insinto /usr/share/xsessions + doins ${FILESDIR}/ion3.desktop ${FILESDIR}/pwm3.desktop + +} diff --git a/x11-wm/ion3/ion3-20061223.ebuild b/x11-wm/ion3/ion3-20061223.ebuild new file mode 100644 index 0000000..a261c83 --- /dev/null +++ b/x11-wm/ion3/ion3-20061223.ebuild @@ -0,0 +1,175 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-wm/ion3/ion3-20061223.ebuild,v 1.6 2007/06/05 13:29:53 mabi Exp $ + +inherit autotools eutils + +MY_PV=${PV/_p/-} +MY_PN=ion-3ds-${MY_PV} + +SCRIPTS_PV=20061214 +SCRIPTS_PN=ion3-scripts + +IONFLUX_PV=20061022 +IONFLUX_PN=ion3-mod-ionflux + +IONXRANDR_PV=20061021 +IONXRANDR_PN=ion3-mod-xrandr + + +DESCRIPTION="A tiling tabbed window manager designed with keyboard users in mind" +HOMEPAGE="http://www.iki.fi/tuomov/ion/" +SRC_URI="http://iki.fi/tuomov/dl/${MY_PN}.tar.gz + mirror://debian/pool/main/i/${SCRIPTS_PN}/${SCRIPTS_PN}_${SCRIPTS_PV}.orig.tar.gz + mirror://debian/pool/main/i/${IONFLUX_PN}/${IONFLUX_PN}_${IONFLUX_PV}.orig.tar.gz + mirror://gentoo/${IONXRANDR_PN}-${IONXRANDR_PV}.tar.bz2 + ion3-voidupstreamsupport-truetype? ( + http://clemens.endorphin.org/patches/xft-ion3-for-darcs-20061202.diff )" +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86" +IUSE="xinerama unicode ion3-voidupstreamsupport-truetype" +DEPEND=" + || ( + ( + x11-libs/libICE + x11-libs/libXext + x11-libs/libSM + ion3-voidupstreamsupport-truetype? ( x11-libs/libXft ) + xinerama? ( x11-libs/libXinerama ) + ) + virtual/x11 + ) + app-misc/run-mailcap + >=dev-lang/lua-5.1.1" +S=${WORKDIR}/${MY_PN} + +SCRIPTS_DIRS="keybindings scripts statusbar statusd styles" + +src_unpack() { + unpack ${A} + cd ${S} + EPATCH_SOURCE="${FILESDIR}/${PV}" EPATCH_SUFFIX="patch" epatch + +# use ion3-voidupstreamsupport-truetype && epatch ${DISTDIR}/xft-ion3-for-darcs-20061202.diff + use ion3-voidupstreamsupport-truetype && patch -p1 < ${DISTDIR}/xft-ion3-for-darcs-20061202.diff + + # Rewrite install directories to be prefixed by DESTDIR for sake of portage's sandbox + sed -i Makefile */Makefile */*/Makefile build/rules.mk \ + -e 's!\($(INSTALL\w*)\|rm -f\|ln -s\)\(.*\)\($(\w\+DIR)\)!\1\2$(DESTDIR)\3!g' + + for i in "${IONFLUX_PN}-${IONFLUX_PV}" "${IONXRANDR_PN}-${IONXRANDR_PV}" + do + cd ${WORKDIR}/${i} + # Rewrite install directories to be prefixed by DESTDIR for sake of portage's sandbox + sed -i Makefile */Makefile \ + -e 's!\($(INSTALL\w*)\|rm -f\|ln -s\)\(.*\)\($(\w\+DIR)\)!\1\2$(DESTDIR)\3!g' + done + cd ${S} + + # Hey guys! Implicit rules apply to include statements also. Be more careful! + # Fix an implicit rule that will kill the installation by rewriting a .mk + # should configure be given just the right set of options. + sed -i 's!%: %.in!ion-completeman: %: %.in!g' utils/Makefile + + cd ${S}/build/ac/ + # for the first instance of DEFINES, add XINERAMA + use xinerama && \ + ( + sed -i 's!\(DEFINES *+=\)!\1 -DCF_XINERAMA !' system-ac.mk.in + sed -i 's!\(LIBS="$LIBS.*\)"!\1 $XINERAMA_LIBS"!' configure.ac + ) + + cd ${S}/build/ac/ + eautoreconf + + # FIX for modules + cd ${WORKDIR} + ln -s ${MY_PN} ion-3 +} + +src_compile() { + local myconf="" + + myconf="${myconf} `use_enable ion3-voidupstreamsupport-truetype xft`" + + # xfree + if has_version '>=x11-base/xfree-4.3.0'; then + myconf="${myconf} --disable-xfree86-textprop-bug-workaround" + fi + + # help out this arch as it can't handle certain shared library linkage + use hppa && myconf="${myconf} --disable-shared" + + # unicode support + use unicode && myconf="${myconf} --enable-Xutf8" + + # configure bug, only specify xinerama to not have it + myconf="${myconf} `use_enable xinerama`" + + cd build/ac/ +# ${S}/build/ac/configure \ + econf \ + ${myconf} \ + --sysconfdir=/etc/X11 \ + --with-lua-prefix=/usr + + cd ${S} + make \ + DOCDIR=/usr/share/doc/${PF} || die + + for i in "${IONFLUX_PN}-${IONFLUX_PV}" "${IONXRANDR_PN}-${IONXRANDR_PV}" ; do + cd ${WORKDIR}/${i} + + emake \ + prefix=/usr \ + ETCDIR=/etc/X11/ion3 \ + SHAREDIR=/usr/share/ion3 \ + MANDIR=/usr/share/man \ + DOCDIR=/usr/share/doc/${PF} \ + LOCALEDIR=/usr/share/locale \ + LIBDIR=/usr/lib \ + MODULEDIR=/usr/lib/ion3/mod \ + LCDIR=/usr/lib/ion3/lc \ + VARDIR=/var/cache/ion3 + done +} + +src_install() { + + emake \ + DESTDIR=${D} \ + install || die + + prepalldocs + + echo -e "#!/bin/sh\n/usr/bin/ion3" > ${T}/ion3 + echo -e "#!/bin/sh\n/usr/bin/pwm3" > ${T}/pwm3 + exeinto /etc/X11/Sessions + doexe ${T}/ion3 ${T}/pwm3 + + insinto /usr/share/xsessions + doins ${FILESDIR}/ion3.desktop ${FILESDIR}/pwm3.desktop + + cd ${WORKDIR}/${SCRIPTS_PN}-${SCRIPTS_PV} + insinto /usr/share/ion3 + find $SCRIPTS_DIRS -type f |\ + while read FILE ; do + doins $PWD/$FILE + done + +# dodir /usr/share/ion3 +# cp -R * ${D}/usr/share/ion3 + + for i in "${IONFLUX_PN}-${IONFLUX_PV}" "${IONXRANDR_PN}-${IONXRANDR_PV}" ; do + cd ${WORKDIR}/${i} + + emake \ + DESTDIR=${D} \ + install || die + + done + + echo '--dopath("mod_ionflux")' >> ${D}/etc/X11/ion3/cfg_modules.lua + echo 'dopath("mod_xrandr")' >> ${D}/etc/X11/ion3/cfg_modules.lua +} diff --git a/x11-wm/ion3/ion3-20070506-r1.ebuild b/x11-wm/ion3/ion3-20070506-r1.ebuild new file mode 100644 index 0000000..aa230f3 --- /dev/null +++ b/x11-wm/ion3/ion3-20070506-r1.ebuild @@ -0,0 +1,195 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-wm/ion3/ion3-20070506-r1.ebuild,v 1.3 2007/06/03 15:08:02 mabi Exp $ + +inherit eutils flag-o-matic + +MY_PV=${PV/_p/-} +MY_PN=ion-3rc-${MY_PV} + +SCRIPTS_PV=20070510 +SCRIPTS_PN=ion3-scripts + +IONFLUX_PV=20070512 +IONFLUX_PN=ion3-mod-ionflux + +IONXRANDR_PV=20070410 +IONXRANDR_PN=ion3-mod-xrandr + +IONDOC_PV=20070506 +IONDOC_PN=ion-doc-3rc + +DESCRIPTION="A tiling tabbed window manager designed with keyboard users in mind" +HOMEPAGE="http://www.iki.fi/tuomov/ion/" +SRC_URI="http://iki.fi/tuomov/dl/${MY_PN}.tar.gz + mirror://gentoo/${SCRIPTS_PN}-${SCRIPTS_PV}.tar.bz2 + mirror://gentoo/${IONXRANDR_PN}-${IONXRANDR_PV}.tar.bz2 + mirror://gentoo/${IONFLUX_PN}-${IONFLUX_PV}.tar.bz2 + doc? ( http://iki.fi/tuomov/dl/${IONDOC_PN}-${IONDOC_PV}.tar.gz )" + +LICENSE="LGPL-2.1+tuomov" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86" +IUSE="unicode ion3-voidupstreamsupport-truetype doc" +DEPEND=" + || ( + ( + x11-libs/libICE + x11-libs/libXext + x11-libs/libSM + ion3-voidupstreamsupport-truetype? ( x11-libs/libXft ) + ) + virtual/x11 + ) + dev-util/pkgconfig + app-misc/run-mailcap + >=dev-lang/lua-5.1.1 + doc? ( dev-tex/latex2html + virtual/tetex )" + +S=${WORKDIR}/${MY_PN} + +SCRIPTS_DIRS="keybindings scripts statusbar statusd styles" +MODULES="${IONXRANDR_PN}-${IONXRANDR_PV} ${IONFLUX_PN}-${IONFLUX_PV}" + +src_unpack() { + unpack ${A} + + cd ${S} + EPATCH_SOURCE="${FILESDIR}/${PV}" EPATCH_SUFFIX="patch" epatch + if (use ion3-voidupstreamsupport-truetype); then + epatch ${FILESDIR}/xft-ion3-${PV}.patch + + sed -i -e "s:#USE_XFT=1:USE_XFT=1:" ${S}/system.mk + sed -i -e 's:\(#define ION_VERSION + "3rc-20070506\):\1-voidupstreamsupport-xft-enabled:' ${S}/version.h + fi; + + # Allow user CFLAGS + sed -i "s:\(CFLAGS=\)-g -Os\(.*\):\1\2 ${CFLAGS}:" system.mk + + # Allow user LDFLAGS + sed -i "s:\(LDFLAGS=\)-g -Os\(.*\):\1\2 ${LDFLAGS}:" system.mk + + # Don't strip ionflux + sed -i "s:-s::" "../${IONFLUX_PN}-${IONFLUX_PV}/ionflux/Makefile" + + # Make snprintf avaible to ion-completefile + sed -i 's:\(CFLAGS +=.*\):\1 $(C99_SOURCE):' utils/ion-completefile/Makefile + + # Rewrite install directories to be prefixed by DESTDIR for sake of portage's sandbox + sed -i 's!\($(INSTALL\w*)\|rm -f\|ln -s\)\(.*\)\($(\w\+DIR)\)!\1\2$(DESTDIR)\3!g' Makefile */Makefile */*/Makefile build/rules.mk + + for i in ${MODULES} + do + cd ${WORKDIR}/${i} + # Rewrite install directories to be prefixed by DESTDIR for sake of portage's sandbox + sed -i Makefile */Makefile \ + -e 's!\($(INSTALL\w*)\|rm -f\|ln -s\)\(.*\)\($(\w\+DIR)\)!\1\2$(DESTDIR)\3!g' + + done + cd ${S} + + # Hey guys! Implicit rules apply to include statements also. Be more careful! + # Fix an implicit rule that will kill the installation by rewriting a .mk + # should configure be given just the right set of options. + sed -i 's!%: %.in!ion-completeman: %: %.in!g' utils/Makefile + + # Fix prestripping of files + sed -i mod_statusbar/ion-statusd/Makefile utils/ion-completefile/Makefile \ + -e 's: -s::' + + # FIX for modules + cd ${WORKDIR} + ln -s ${MY_PN} ion-3 +} + +src_compile() { + local myconf="" + + # xfree + if has_version '>=x11-base/xfree-4.3.0'; then + sed -i -e "s:DEFINES += -DCF_XFREE86_TEXTPROP_BUG_WORKAROUND:#DEFINES += -DCF_XFREE86_TEXTPROP_BUG_WORKAROUND:" ${S}/system.mk + fi + + # help out this arch as it can't handle certain shared library linkage + use hppa && sed -i -e "s:#PRELOAD_MODULES=1:PRELOAD_MODULES=1:" ${S}/system.mk + + # unicode support + use unicode && sed -i -e "s:#DEFINES += -DCF_DE_USE_XUTF8:DEFINES += -DCF_DE_USE_XUTF8:" ${S}/system.mk + + cd ${S} + make \ + LIBDIR=/usr/$(get_libdir) \ + DOCDIR=/usr/share/doc/${PF} || die + + for i in ${MODULES} + do + cd ${WORKDIR}/${i} + + make \ + LIBDIR=/usr/$(get_libdir) + done + + if ( use doc ) + then + export MT_FEATURES=varfonts + mkdir -p ${T}/var/cache/fonts + export VARTEXFONTS=${T}/var/cache/fonts + + cd ${WORKDIR}/${IONDOC_PN}-${IONDOC_PV} + make all + make all-pdf + fi +} + +src_install() { + + emake \ + DESTDIR=${D} \ + DOCDIR=/usr/share/doc/${PF} \ + install || die + + echo -e "#!/bin/sh\n/usr/bin/ion3" > ${T}/ion3 + echo -e "#!/bin/sh\n/usr/bin/pwm3" > ${T}/pwm3 + exeinto /etc/X11/Sessions + doexe ${T}/ion3 ${T}/pwm3 + + insinto /usr/share/xsessions + doins ${FILESDIR}/ion3.desktop ${FILESDIR}/pwm3.desktop + + cd ${WORKDIR}/${SCRIPTS_PN}-${SCRIPTS_PV} + insinto /usr/share/ion3 + find $SCRIPTS_DIRS -type f |\ + while read FILE + do + doins $PWD/$FILE + done + + for i in ${MODULES} + do + cd ${WORKDIR}/${i} + + emake \ + DESTDIR=${D} \ + install || die + + done + + if ( use doc ) + then + cd ${WORKDIR}/${IONDOC_PN}-${IONDOC_PV} + dodoc *.pdf + fi + + sed -i -e '/dopath("mod_sp")/a\dopath("mod_xrandr")' ${D}/etc/X11/ion3/cfg_defaults.lua +} + +pkg_postinst() { + elog "This version of ion3 contains no xinerama support (removed upstream)." + elog "Remember that USE='ion3-voidupstreamsupport-truetype' will render" + elog "upstream support for your installation of ion3 void." + elog "Thus, if you encouter a bug in ion-3, be sure to to reproduce it with a" + elog "vanilla build before reporting it upstream. You are welcome to report" + elog "any problem as a bug on http://bugs.gentoo.org." +} diff --git a/x11-wm/ion3/ion3-20070608.ebuild b/x11-wm/ion3/ion3-20070608.ebuild new file mode 100644 index 0000000..61ad152 --- /dev/null +++ b/x11-wm/ion3/ion3-20070608.ebuild @@ -0,0 +1,200 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-wm/ion3/ion3-20070506-r1.ebuild,v 1.3 2007/06/03 15:08:02 mabi Exp $ + +inherit eutils flag-o-matic + +MY_PV=${PV/_p/-} +MY_PN=ion-3rc-${MY_PV} + +SCRIPTS_PV=20070608 +SCRIPTS_PN=ion3-scripts + +IONFLUX_PV=20070512 +IONFLUX_PN=ion3-mod-ionflux + +IONXRANDR_PV=20070410 +IONXRANDR_PN=ion3-mod-xrandr + +IONDOC_PV=20070506 +IONDOC_PN=ion-doc-3rc + +DESCRIPTION="A tiling tabbed window manager designed with keyboard users in mind" +HOMEPAGE="http://www.iki.fi/tuomov/ion/" +SRC_URI="http://iki.fi/tuomov/dl/${MY_PN}.tar.gz + doc? ( http://iki.fi/tuomov/dl/${IONDOC_PN}-${IONDOC_PV}.tar.gz )" + +LICENSE="LGPL-2.1+tuomov" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86" +IUSE="unicode ion3-voidupstreamsupport-truetype doc" +DEPEND=" + || ( + ( + x11-libs/libICE + x11-libs/libXext + x11-libs/libSM + ion3-voidupstreamsupport-truetype? ( x11-libs/libXft ) + ) + virtual/x11 + ) + dev-util/pkgconfig + app-misc/run-mailcap + >=dev-lang/lua-5.1.1 + doc? ( dev-tex/latex2html + virtual/tetex )" + +S=${WORKDIR}/${MY_PN} + +SCRIPTS_DIRS="keybindings scripts statusbar statusd styles" +MODULES="${IONXRANDR_PN}-${IONXRANDR_PV} ${IONFLUX_PN}-${IONFLUX_PV}" + +src_unpack() { + unpack ${A} + + ln -s "${FILESDIR}"/ion3-scripts-20070608.tar.bz2 + unpack ./ion3-scripts-20070608.tar.bz2 + ln -s "${FILESDIR}"/${IONXRANDR_PN}-${IONXRANDR_PV}.tar.bz2 + unpack ./${IONXRANDR_PN}-${IONXRANDR_PV}.tar.bz2 + ln -s "${FILESDIR}"/${IONFLUX_PN}-${IONFLUX_PV}.tar.bz2 + unpack ./${IONFLUX_PN}-${IONFLUX_PV}.tar.bz2 + + cd ${S} + EPATCH_SOURCE="${FILESDIR}/${PV}" EPATCH_SUFFIX="patch" epatch + if (use ion3-voidupstreamsupport-truetype); then + epatch ${FILESDIR}/xft-ion3-${PV}.patch + + sed -i -e "s:#USE_XFT=1:USE_XFT=1:" ${S}/system.mk + sed -i -e 's:\(#define ION_VERSION "3rc-20070608\):\1-voidupstreamsupport-xft-enabled:' ${S}/version.h + fi; + + # Allow user CFLAGS + sed -i "s:\(CFLAGS=\)-g -Os\(.*\):\1\2 ${CFLAGS}:" system.mk + + # Allow user LDFLAGS + sed -i "s:\(LDFLAGS=\)-g -Os\(.*\):\1\2 ${LDFLAGS}:" system.mk + + # XOPEN_SOURCE does give _POSIX_MONOTONIC_CLOCK, but not CLOCK_MONOTONIC, + # thus compile will fail + sed -e '/CFLAGS +=.*XOPEN_SOURCE.*C99_SOURCE/s:$: $\(POSIX_SOURCE\):' \ + -i libmainloop/Makefile + + # Don't strip ionflux + sed -i "s:-s::" "../${IONFLUX_PN}-${IONFLUX_PV}/ionflux/Makefile" + + # Rewrite install directories to be prefixed by DESTDIR for sake of portage's sandbox + sed -i 's!\($(INSTALL\w*)\|rm -f\|ln -s\)\(.*\)\($(\w\+DIR)\)!\1\2$(DESTDIR)\3!g' Makefile */Makefile */*/Makefile build/rules.mk + + for i in ${MODULES} + do + cd ${WORKDIR}/${i} + # Rewrite install directories to be prefixed by DESTDIR for sake of portage's sandbox + sed -i Makefile */Makefile \ + -e 's!\($(INSTALL\w*)\|rm -f\|ln -s\)\(.*\)\($(\w\+DIR)\)!\1\2$(DESTDIR)\3!g' + + done + cd ${S} + + # Hey guys! Implicit rules apply to include statements also. Be more careful! + # Fix an implicit rule that will kill the installation by rewriting a .mk + # should configure be given just the right set of options. + sed -i 's!%: %.in!ion-completeman: %: %.in!g' utils/Makefile + + # Fix prestripping of files + sed -i mod_statusbar/ion-statusd/Makefile utils/ion-completefile/Makefile \ + -e 's: -s::' + + # FIX for modules + cd ${WORKDIR} + ln -s ${MY_PN} ion-3 +} + +src_compile() { + local myconf="" + + # xfree + if has_version '>=x11-base/xfree-4.3.0'; then + sed -i -e "s:DEFINES += -DCF_XFREE86_TEXTPROP_BUG_WORKAROUND:#DEFINES += -DCF_XFREE86_TEXTPROP_BUG_WORKAROUND:" ${S}/system.mk + fi + + # help out this arch as it can't handle certain shared library linkage + use hppa && sed -i -e "s:#PRELOAD_MODULES=1:PRELOAD_MODULES=1:" ${S}/system.mk + + # unicode support + use unicode && sed -i -e "s:#DEFINES += -DCF_DE_USE_XUTF8:DEFINES += -DCF_DE_USE_XUTF8:" ${S}/system.mk + + cd ${S} + make \ + LIBDIR=/usr/$(get_libdir) \ + DOCDIR=/usr/share/doc/${PF} || die + + for i in ${MODULES} + do + cd ${WORKDIR}/${i} + + make \ + LIBDIR=/usr/$(get_libdir) + done + + if ( use doc ) + then + export MT_FEATURES=varfonts + mkdir -p ${T}/var/cache/fonts + export VARTEXFONTS=${T}/var/cache/fonts + + cd ${WORKDIR}/${IONDOC_PN}-${IONDOC_PV} + make all + make all-pdf + fi +} + +src_install() { + + emake \ + DESTDIR=${D} \ + DOCDIR=/usr/share/doc/${PF} \ + install || die + + echo -e "#!/bin/sh\n/usr/bin/ion3" > ${T}/ion3 + echo -e "#!/bin/sh\n/usr/bin/pwm3" > ${T}/pwm3 + exeinto /etc/X11/Sessions + doexe ${T}/ion3 ${T}/pwm3 + + insinto /usr/share/xsessions + doins ${FILESDIR}/ion3.desktop ${FILESDIR}/pwm3.desktop + + cd ${WORKDIR}/${SCRIPTS_PN}-${SCRIPTS_PV} + insinto /usr/share/ion3 + find $SCRIPTS_DIRS -type f |\ + while read FILE + do + doins $PWD/$FILE + done + + for i in ${MODULES} + do + cd ${WORKDIR}/${i} + + emake \ + DESTDIR=${D} \ + install || die + + done + + if ( use doc ) + then + cd ${WORKDIR}/${IONDOC_PN}-${IONDOC_PV} + dodoc *.pdf + fi + + sed -i -e '/dopath("mod_sp")/a\dopath("mod_xrandr")' ${D}/etc/X11/ion3/cfg_defaults.lua +} + +pkg_postinst() { + elog "This version of ion3 contains no xinerama support (removed upstream)." + elog "Remember that USE='ion3-voidupstreamsupport-truetype' will render" + elog "upstream support for your installation of ion3 void." + elog "Thus, if you encouter a bug in ion-3, be sure to to reproduce it with a" + elog "vanilla build before reporting it upstream. You are welcome to report" + elog "any problem as a bug on http://bugs.gentoo.org." +} diff --git a/x11-wm/ion3/metadata.xml b/x11-wm/ion3/metadata.xml new file mode 100644 index 0000000..b35b976 --- /dev/null +++ b/x11-wm/ion3/metadata.xml @@ -0,0 +1,9 @@ + + + +no-herd + + mabi@gentoo.org + Matti Bickel + + -- cgit v1.2.3-65-gdbad