diff --git a/emacs.changes b/emacs.changes index 47194ae..9f6d192 100644 --- a/emacs.changes +++ b/emacs.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Tue Dec 18 17:29:57 CET 2007 - werner@suse.de + +- Add workaround for conflict between GTK/GDK and KWin by using + Athena/Xaw3d toolkit in case of running within a KDE session. + this fix the bug #342385 as well as bug #345669 + ------------------------------------------------------------------- Sun Dec 9 12:40:33 CET 2007 - schwab@suse.de diff --git a/emacs.spec b/emacs.spec index 8544bb0..a8cd033 100644 --- a/emacs.spec +++ b/emacs.spec @@ -20,7 +20,7 @@ Requires: emacs-info ctags emacs_program Provides: ge_site ge_exec emacs-url Mule-UCS emacs-calc erc AutoReqProv: on Version: 22.1 -Release: 65 +Release: 69 BuildRoot: %{_tmppath}/%{name}-%{version}-build Summary: GNU Emacs Base Package Source: emacs-22.1.tar.bz2 @@ -259,16 +259,23 @@ export CC CFLAGS LANG LC_CTYPE LDFLAGS --sharedstatedir=%{_localstatedir}/lib \ --libexecdir=%{_prefix}/lib " - X11="--with-x \ +DESTTOP="--with-x \ --with-sound \ --with-xpm \ --with-jpeg \ --with-tiff \ --with-gif \ --with-png \ +" + GTK="${DESTTOP} \ --with-x-toolkit=gtk \ --x-includes=%{_x11inc} \ --x-libraries=%{_x11lib}:%{_x11data} \ +" + X11="${DESTTOP} \ + --with-x-toolkit=lucid \ + --x-includes=%{_x11inc} \ + --x-libraries=%{_x11lib}:%{_x11data} \ " NOX11="--with-x=no \ --with-sound=no \ @@ -311,10 +318,21 @@ make cp src/emacs emacs-nox make distclean # +CFLAGS="$CFLAGS $LARGE" ./configure ${COMP} ${PREFIX} ${GTK} ${SYS} +malloc_chk_off make bootfast +set -- $(src/emacs -batch --eval "(print pure-space-overflow)") +test "$1" = "nil" || exit 1 +# +cp src/emacs emacs-gtk +make distclean +# CFLAGS="$CFLAGS $LARGE" ./configure ${COMP} ${PREFIX} ${X11} ${SYS} malloc_chk_off make bootfast set -- $(src/emacs -batch --eval "(print pure-space-overflow)") test "$1" = "nil" || exit 1 +# +cp src/emacs emacs-x11 +# cd ../site-lisp/ ../emacs-%{version}/src/emacs -batch -q --no-site -f batch-byte-compile *.el rm -vf site-start.elc @@ -332,8 +350,30 @@ touch /tmp/bstamp; sleep 3; sync ## VERSION=%{version} mkdir -p %{buildroot}/usr/bin -install -m755 emacs-nox %{buildroot}/usr/bin/ +install -m 0755 emacs-nox %{buildroot}/usr/bin/ +install -m 0755 emacs-gtk %{buildroot}/usr/bin/ +install -m 0755 emacs-x11 %{buildroot}/usr/bin/ make install DESTDIR=%{buildroot} +rm -vf %{buildroot}/usr/bin/emacs +cat > %{buildroot}/usr/bin/emacs <<-"EOF" + #!/bin/bash + # Avoid trouble with maximize/minimize within KDE (bug #345669) + # -> under KWin emacs does not maximize in the correct way if + # GTK/GDK is used as toolkit. After click on the maximize + # button emacs shrinks to fit to the current font which + # destroys the maximize state in KWin. + # Avoid trouble with "iconic" state information (bug #342385) + # -> under KWin emacs with GTK/GDK toolkit does not hold its + # "iconic" state if a desktop state is saved before logout + # and restored after login. + toolkit=gtk + KDE_FULL_SESSION=$(xprop -root KDE_FULL_SESSION 2>/dev/null) + case "$KDE_FULL_SESSION" in + *true*) toolkit=x11 + esac + exec -a ${0} ${0}-${toolkit} +EOF +chmod 0755 %{buildroot}/usr/bin/emacs tar cf - `find site-lisp/ -name '*.el' -o -name '*.elc'` | \ tar -x -f - -C %{buildroot}/usr/share/emacs/%{version}/ mkdir -p %{buildroot}%{_docdir}/emacs @@ -409,10 +449,10 @@ ln -sf ../etc/COPYING \ %{buildroot}/usr/share/emacs/%{version}/lisp/COPYING ## for f in etc/images/icons/emacs_??.png; do - w=${f##*_} w=${w%.png} - icon_dir=%{buildroot}/usr/share/icons/hicolor/${w}x${w}/apps - mkdir -p $icon_dir - ln -s /usr/share/emacs/%{version}/$f $icon_dir/emacs.png + w=${f##*_} w=${w%.png} + icon_dir=%{buildroot}/usr/share/icons/hicolor/${w}x${w}/apps + mkdir -p $icon_dir + ln -s /usr/share/emacs/%{version}/$f $icon_dir/emacs.png done # install desktop file cp etc/images/icons/emacs_32.png $RPM_SOURCE_DIR/emacs.png @@ -2092,6 +2132,8 @@ done %files -n emacs-x11 %defattr(-, root, root) /usr/bin/emacs +/usr/bin/emacs-x11 +/usr/bin/emacs-gtk %{appDefaultsFile} /usr/share/applications/emacs.desktop /usr/share/pixmaps/emacs.png @@ -3199,6 +3241,10 @@ done /usr/share/emacs/%{version}/lisp/xt-mouse.el.gz %changelog +* Tue Dec 18 2007 - werner@suse.de +- Add workaround for conflict between GTK/GDK and KWin by using + Athena/Xaw3d toolkit in case of running within a KDE session. + this fix the bug #342385 as well as bug #345669 * Sun Dec 09 2007 - schwab@suse.de - Install all icon sizes. * Thu Nov 22 2007 - schwab@suse.de