- does not depend on GTK
- uses athena widget library ( libxaw ), which is probably already installed on your system as a dependency of some base xorg package ( xterm )
- doesn't crash emacs --daemon ( GTK version does, when you close X )
- switching to emacs windows and between buffers seems to be smoother as it's just a very thin xlib widget set, but the difference is negligible
- if you turn off scroll-bar, tool-bar, and menu-bar ( there's no real reason you shouldn't ), athena last century style widgets won't bother you. I just turned them on for the screenshot.
Created
August 16, 2011 10:13
-
-
Save volh/1148782 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[Desktop Entry] | |
Name=Emacs Text Editor | |
Name[de]=Emacs Texteditor | |
GenericName=Text Editor | |
Comment=Edit text | |
MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++; | |
Exec=emacs %f | |
Icon=emacs-icon | |
Type=Application | |
Terminal=false | |
Categories=Development;TextEditor; | |
StartupWMClass=Emacs |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ICON_PATH=/usr/share/icons/hicolor | |
INFO_DIR=/usr/share/info | |
INFO_FILES=(ada-mode auth autotype calc ccmode cl dbus dired-x ebrowse | |
ediff efaq eintr elisp emacs emacs-mime epa erc eshell eudc flymake | |
forms gnus idlwave info mairix-el message mh-e newsticker nxml-mode | |
org pcl-cvs pgg rcirc reftex remember sasl sc ses sieve smtpmail | |
speedbar tramp url vip viper widget woman) | |
post_install() { | |
for f in ${INFO_FILES[@]}; do | |
install-info ${INFO_DIR}/$f.gz ${INFO_DIR}/dir 2> /dev/null | |
done | |
} | |
post_upgrade() { | |
post_install $1 | |
} | |
pre_remove() { | |
for f in ${INFO_FILES[@]}; do | |
install-info --delete ${INFO_DIR}/$f.gz ${INFO_DIR}/dir 2> /dev/null | |
done | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#! /bin/sh | |
. /etc/rc.conf | |
. /etc/rc.d/functions | |
#change this. too bad emacs daemon can't really work in mutli-user mode. for now. | |
USERNAME=volh | |
DESC="Run the emacs daemon." | |
NAME=emacs | |
#change this | |
DAEMON=/usr/bin/$NAME | |
DAEMON_ARGS="--daemon" | |
PIDFILE=/var/run/$NAME.pid | |
SCRIPTNAME=/etc/rc.d/$NAME | |
#change this | |
EMACSCLIENT=/usr/bin/emacsclient | |
#EVALEXIT="(progn (setq kill-emacs-hook 'nil) (kill-emacs))" | |
# This one will save buffers in any case, without prompt(as save-buffers-kill-emacs will unconditionally do). | |
EVALEXIT="(progn (save-some-buffers t t)(kill-emacs))" | |
# This will save the desktop, but not the buffers themselves | |
#EVALEXIT="(progn (desktop-save-in-desktop-dir)(kill-emacs))" | |
case "$1" in | |
start) | |
stat_busy "Starting Emacs" | |
su $USERNAME -c "$DAEMON $DAEMON_ARGS" > /dev/null && (add_daemon emacs; stat_done) || stat_fail | |
;; | |
stop) | |
stat_busy "Stopping Emacs" | |
su $USERNAME -c "$EMACSCLIENT --eval \"$EVALEXIT\"" && ( rm_daemon emacs; stat_done ) || stat_fail | |
;; | |
restart|force-reload) | |
$0 stop | |
sleep 1 | |
$0 start | |
;; | |
*) | |
echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2 | |
exit 3 | |
;; | |
esac |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# $Id: PKGBUILD 134523 2011-08-05 07:55:30Z juergen $ | |
# Maintainer: Juergen Hoetzel <[email protected]> | |
# Contributor: Renchi Raju <[email protected]> | |
pkgname=emacs-athena | |
pkgver=23.3a | |
pkgrel=1 | |
pkgdesc="The Emacs Editor, with Athena widget toolkit" | |
arch=(i686 x86_64) | |
url="http://www.gnu.org/software/emacs/emacs.html" | |
license=('GPL') | |
options=(docs) | |
replaces=(cedet emacs) | |
provides=(emacs) | |
conflicts=(emacs) | |
depends=('dbus-core' 'librsvg' 'gpm' 'giflib' 'libtiff' 'libxpm' 'libjpeg' 'libxaw' 'texinfo' 'hicolor-icon-theme') | |
source=(ftp://ftp.gnu.org/gnu/emacs/emacs-$pkgver.tar.gz emacs.desktop) | |
md5sums=('20aef9ea5b5bf8050d39f8b1e96a1c04' | |
'8af038d2ba4561271e935bb444ceb4e3') | |
install=emacs.install | |
build() { | |
cd $startdir/src/emacs-${pkgver%[a-z]} | |
mandir=/usr/share/man | |
# gcc 4.5 Workaround: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43904 | |
CFLAGS="${CFLAGS} -fno-optimize-sibling-calls"\ | |
./configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib \ | |
--localstatedir=/var --mandir=${mandir} --without-sound --with-x-toolkit=athena | |
make | |
make DESTDIR=$startdir/pkg install | |
# remove conflict with ctags package | |
mv $startdir/pkg/usr/bin/{ctags,ctags.emacs} | |
mv $startdir/pkg/usr/bin/{etags,etags.emacs} | |
mv $startdir/pkg${mandir}/man1/{etags.1,etags.emacs.1} | |
mv $startdir/pkg${mandir}/man1/{ctags.1,ctags.emacs.1} | |
# fix all the 777 perms on directories | |
find $startdir/pkg/usr/share/emacs/${pkgver%[a-z]} -type d -exec chmod 755 {} \; | |
# fix user/root permissions on usr/share files | |
find $startdir/pkg/usr/share/emacs/${pkgver%[a-z]} -exec chown root.root {} \; | |
# fix perms on /var/games | |
chmod 775 ${startdir}/pkg/var/games | |
chmod 775 ${startdir}/pkg/var/games/emacs | |
chmod 664 ${startdir}/pkg/var/games/emacs/* | |
chown -R root:50 ${startdir}/pkg/var/games | |
# fix FS#9253 | |
mkdir -p $startdir/pkg/usr/share/pixmaps ${startdir}/pkg/usr/share/applications | |
install -D -m644 ${startdir}/src/emacs.desktop ${startdir}/pkg/usr/share/applications | |
ln -s ../emacs/${pkgver%[a-z]}/etc/images/icons/hicolor/48x48/apps/emacs.png $startdir/pkg/usr/share/pixmaps/emacs-icon.png | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment