diff options
author | imil <imil> | 2012-02-19 14:43:11 +0000 |
---|---|---|
committer | imil <imil> | 2012-02-19 14:43:11 +0000 |
commit | c90c50d3a979a3129f34591caef933835e364782 (patch) | |
tree | 6772cdc16cdb61f7333c7f5eea9cb7f7dd5d65ca /x11 | |
parent | d2cd599833099cda4c6f96b4f7f6e17701bb1fe6 (diff) | |
download | pkgsrc-c90c50d3a979a3129f34591caef933835e364782.tar.gz |
Initial import of avant-window-navigator, version 0.4.0, into the
NetBSD Packages Collection.
Avant Window Navigator (Awn) is a dock-like bar which sits at the bottom of
the screen. It has support for launchers, task lists, and third party applets.
Diffstat (limited to 'x11')
-rw-r--r-- | x11/avant-window-navigator/DESCR | 2 | ||||
-rw-r--r-- | x11/avant-window-navigator/Makefile | 63 | ||||
-rw-r--r-- | x11/avant-window-navigator/PLIST | 200 | ||||
-rw-r--r-- | x11/avant-window-navigator/distinfo | 8 | ||||
-rw-r--r-- | x11/avant-window-navigator/patches/patch-applet-activation_main.c | 13 | ||||
-rw-r--r-- | x11/avant-window-navigator/patches/patch-applets_taskmanager_Makefile.in | 31 | ||||
-rw-r--r-- | x11/avant-window-navigator/patches/patch-data_Makefile.in | 31 |
7 files changed, 348 insertions, 0 deletions
diff --git a/x11/avant-window-navigator/DESCR b/x11/avant-window-navigator/DESCR new file mode 100644 index 00000000000..ff6ea79c6f2 --- /dev/null +++ b/x11/avant-window-navigator/DESCR @@ -0,0 +1,2 @@ +Avant Window Navigator (Awn) is a dock-like bar which sits at the bottom of +the screen. It has support for launchers, task lists, and third party applets. diff --git a/x11/avant-window-navigator/Makefile b/x11/avant-window-navigator/Makefile new file mode 100644 index 00000000000..50922d86f8d --- /dev/null +++ b/x11/avant-window-navigator/Makefile @@ -0,0 +1,63 @@ +# $NetBSD: Makefile,v 1.1.1.1 2012/02/19 14:43:11 imil Exp $ +# + +DISTNAME= avant-window-navigator-0.4.0 +CATEGORIES= x11 +MASTER_SITES= https://launchpad.net/awn/0.4/0.4.0/+download/ + +MAINTAINER= imil@NetBSD.org +HOMEPAGE= https://launchpad.net/awn +COMMENT= Dock-like navigation bar +LICENSE= gnu-lgpl-v2 + +PKG_DESTDIR_SUPPORT= user-destdir + +# Needed fo launchpad +FETCH_USING= curl + +GNU_CONFIGURE= yes +USE_LIBTOOL= yes +USE_TOOLS+= pkg-config msgfmt intltool gmake +USE_LIBTOOL= yes + +PKGCONFIG_OVERRIDE+= awn.pc.in + +GCONF_SCHEMAS+= avant-window-navigator.schemas +GCONF_SCHEMAS+= awn-applet-taskmanager.schemas + +SUBST_CLASSES+= python +SUBST_STAGE.python= post-patch +SUBST_MESSAGE.python= Fixing python path +SUBST_FILES.python= applet-activation/main.c +SUBST_SED.python= -e "s,@PYTHONBIN@,${PYTHONBIN}," + +SUBST_CLASSES+= pathfix +SUBST_STAGE.pathfix= post-patch +SUBST_MESSAGE.pathfix= Fixing hardcoded paths +SUBST_FILES.pathfix= applets/taskmanager/awn-applet-taskmanager.schema-ini.in +SUBST_FILES.pathfix+= doc/reference/html/*.html +SUBST_FILES.pathfix+= libawn/awn-themed-icon.c +SUBST_FILES.pathfix+= tests/test-awn-effects.c +SUBST_FILES.pathfix+= tests/test-overlays.py +SUBST_SED.pathfix= -e "s,/usr/share,${PREFIX}/share," + +PY_PATCHPLIST= yes +REPLACE_PYTHON+= awn-settings/awnSettings.py.in +REPLACE_PYTHON+= awn-settings/awnSettingsHelper.py + +DEPENDS+= ${PYPKGPREFIX}-xdg-[0-9]*:../../devel/py-xdg + +.include "../../devel/GConf/schemas.mk" +.include "../../lang/vala014/buildlink3.mk" +.include "../../devel/libwnck/buildlink3.mk" +.include "../../sysutils/dbus-glib/buildlink3.mk" +.include "../../x11/py-gtk2/buildlink3.mk" +.include "../../graphics/py-cairo/buildlink3.mk" +.include "../../x11/libdesktop-agnostic/buildlink3.mk" +.include "../../sysutils/libgtop/buildlink3.mk" +.include "../../lang/python/application.mk" +.include "../../lang/python/pyversion.mk" +.include "../../lang/python/extension.mk" +.include "../../lang/python/tool.mk" +.include "../../sysutils/desktop-file-utils/desktopdb.mk" +.include "../../mk/bsd.pkg.mk" diff --git a/x11/avant-window-navigator/PLIST b/x11/avant-window-navigator/PLIST new file mode 100644 index 00000000000..3267b7e2ae8 --- /dev/null +++ b/x11/avant-window-navigator/PLIST @@ -0,0 +1,200 @@ +@comment $NetBSD: PLIST,v 1.1.1.1 2012/02/19 14:43:11 imil Exp $ +bin/avant-window-navigator +bin/awn-applet +bin/awn-settings +include/libawn/awn-alignment.h +include/libawn/awn-applet-simple.h +include/libawn/awn-applet.h +include/libawn/awn-box.h +include/libawn/awn-cairo-utils.h +include/libawn/awn-config.h +include/libawn/awn-dbus-watcher.h +include/libawn/awn-defines.h +include/libawn/awn-desktop-lookup-client.h +include/libawn/awn-dialog.h +include/libawn/awn-effects.h +include/libawn/awn-icon-box.h +include/libawn/awn-icon.h +include/libawn/awn-image.h +include/libawn/awn-label.h +include/libawn/awn-overlay-pixbuf-file.h +include/libawn/awn-overlay-pixbuf.h +include/libawn/awn-overlay-progress-circle.h +include/libawn/awn-overlay-progress.h +include/libawn/awn-overlay-text.h +include/libawn/awn-overlay-themed-icon.h +include/libawn/awn-overlay-throbber.h +include/libawn/awn-overlay.h +include/libawn/awn-overlayable.h +include/libawn/awn-pixbuf-cache.h +include/libawn/awn-themed-icon.h +include/libawn/awn-tooltip.h +include/libawn/awn-utils.h +include/libawn/libawn.h +lib/awn/applets/expander/expander.la +lib/awn/applets/quick-prefs/quick-prefs.la +lib/awn/applets/separator/separator.la +lib/awn/applets/taskmanager/taskmanager.la +lib/libawn.la +lib/pkgconfig/awn.pc +${PYSITELIB}/awn/__init__.py +${PYSITELIB}/awn/__init__.pyc +${PYSITELIB}/awn/__init__.pyo +${PYSITELIB}/awn/awn.la +share/applications/avant-window-navigator.desktop +share/applications/awn-settings.desktop +share/avant-window-navigator/applets/expander.desktop +share/avant-window-navigator/applets/quick-prefs.desktop +share/avant-window-navigator/applets/separator.desktop +share/avant-window-navigator/applets/taskmanager.desktop +share/avant-window-navigator/applets/taskmanager/menus/advanced.xml +share/avant-window-navigator/applets/taskmanager/menus/custom-example.xml +share/avant-window-navigator/applets/taskmanager/menus/simple.xml +share/avant-window-navigator/applets/taskmanager/menus/standard.xml +share/avant-window-navigator/awn-settings/awn-settings.ui +share/avant-window-navigator/awn-settings/awnClass.py +share/avant-window-navigator/awn-settings/awnDefs.py +share/avant-window-navigator/awn-settings/awnSettings.py +share/avant-window-navigator/awn-settings/awnSettingsHelper.py +share/avant-window-navigator/awn-themed-icon.ui +share/avant-window-navigator/index.theme +share/avant-window-navigator/schemas/avant-window-navigator.schema-ini +share/avant-window-navigator/schemas/awn-applet-taskmanager.schema-ini +share/avant-window-navigator/themes/dark.awn-theme +share/avant-window-navigator/themes/dust.awn-theme +share/avant-window-navigator/themes/light.awn-theme +share/avant-window-navigator/themes/smoked.awn-theme +share/avant-window-navigator/themes/thumbnails/dark-thumb.png +share/avant-window-navigator/themes/thumbnails/dust-thumb.png +share/avant-window-navigator/themes/thumbnails/light-thumb.png +share/avant-window-navigator/themes/thumbnails/smoked-thumb.png +share/gconf/schemas/avant-window-navigator.schemas +share/gconf/schemas/awn-applet-taskmanager.schemas +share/gtk-doc/html/libawn/AwnAlignment.html +share/gtk-doc/html/libawn/AwnApplet.html +share/gtk-doc/html/libawn/AwnAppletSimple.html +share/gtk-doc/html/libawn/AwnBox.html +share/gtk-doc/html/libawn/AwnDialog.html +share/gtk-doc/html/libawn/AwnEffects.html +share/gtk-doc/html/libawn/AwnIcon.html +share/gtk-doc/html/libawn/AwnIconBox.html +share/gtk-doc/html/libawn/AwnImage.html +share/gtk-doc/html/libawn/AwnLabel.html +share/gtk-doc/html/libawn/AwnOverlayPixbuf.html +share/gtk-doc/html/libawn/AwnOverlayPixbufFile.html +share/gtk-doc/html/libawn/AwnOverlayProgress.html +share/gtk-doc/html/libawn/AwnOverlayProgressCircle.html +share/gtk-doc/html/libawn/AwnOverlayText.html +share/gtk-doc/html/libawn/AwnOverlayThemedIcon.html +share/gtk-doc/html/libawn/AwnOverlayThrobber.html +share/gtk-doc/html/libawn/AwnThemedIcon.html +share/gtk-doc/html/libawn/AwnTooltip.html +share/gtk-doc/html/libawn/api-reference.html +share/gtk-doc/html/libawn/ch01.html +share/gtk-doc/html/libawn/ch02.html +share/gtk-doc/html/libawn/ch03.html +share/gtk-doc/html/libawn/ch04.html +share/gtk-doc/html/libawn/ch05.html +share/gtk-doc/html/libawn/home.png +share/gtk-doc/html/libawn/index-all.html +share/gtk-doc/html/libawn/index.html +share/gtk-doc/html/libawn/index.sgml +share/gtk-doc/html/libawn/left.png +share/gtk-doc/html/libawn/libawn-awn-cairo-utils.html +share/gtk-doc/html/libawn/libawn-awn-config.html +share/gtk-doc/html/libawn/libawn-awn-defines.html +share/gtk-doc/html/libawn/libawn-awn-overlay.html +share/gtk-doc/html/libawn/libawn-awn-overlayable.html +share/gtk-doc/html/libawn/libawn-awn-utils.html +share/gtk-doc/html/libawn/libawn.devhelp +share/gtk-doc/html/libawn/libawn.devhelp2 +share/gtk-doc/html/libawn/right.png +share/gtk-doc/html/libawn/style.css +share/gtk-doc/html/libawn/up.png +share/icons/hicolor/24x24/apps/avant-window-navigator.png +share/icons/hicolor/32x32/apps/avant-window-navigator.png +share/icons/hicolor/48x48/apps/avant-window-navigator.png +share/icons/hicolor/48x48/apps/awn-settings.png +share/icons/hicolor/scalable/apps/avant-window-navigator.svg +share/icons/hicolor/scalable/apps/awn-settings.svg +share/icons/hicolor/scalable/apps/awn-window-fallback.svg +share/icons/hicolor/scalable/categories/awn-plugins.svg +share/locale/af/LC_MESSAGES/avant-window-navigator.mo +share/locale/ar/LC_MESSAGES/avant-window-navigator.mo +share/locale/ast/LC_MESSAGES/avant-window-navigator.mo +share/locale/az/LC_MESSAGES/avant-window-navigator.mo +share/locale/be/LC_MESSAGES/avant-window-navigator.mo +share/locale/bg/LC_MESSAGES/avant-window-navigator.mo +share/locale/bn/LC_MESSAGES/avant-window-navigator.mo +share/locale/bs/LC_MESSAGES/avant-window-navigator.mo +share/locale/ca/LC_MESSAGES/avant-window-navigator.mo +share/locale/crh/LC_MESSAGES/avant-window-navigator.mo +share/locale/cs/LC_MESSAGES/avant-window-navigator.mo +share/locale/csb/LC_MESSAGES/avant-window-navigator.mo +share/locale/cy/LC_MESSAGES/avant-window-navigator.mo +share/locale/da/LC_MESSAGES/avant-window-navigator.mo +share/locale/de/LC_MESSAGES/avant-window-navigator.mo +share/locale/dv/LC_MESSAGES/avant-window-navigator.mo +share/locale/el/LC_MESSAGES/avant-window-navigator.mo +share/locale/en_AU/LC_MESSAGES/avant-window-navigator.mo +share/locale/en_CA/LC_MESSAGES/avant-window-navigator.mo +share/locale/en_GB/LC_MESSAGES/avant-window-navigator.mo +share/locale/eo/LC_MESSAGES/avant-window-navigator.mo +share/locale/es/LC_MESSAGES/avant-window-navigator.mo +share/locale/et/LC_MESSAGES/avant-window-navigator.mo +share/locale/eu/LC_MESSAGES/avant-window-navigator.mo +share/locale/fa/LC_MESSAGES/avant-window-navigator.mo +share/locale/fi/LC_MESSAGES/avant-window-navigator.mo +share/locale/fr/LC_MESSAGES/avant-window-navigator.mo +share/locale/ga/LC_MESSAGES/avant-window-navigator.mo +share/locale/gl/LC_MESSAGES/avant-window-navigator.mo +share/locale/gu/LC_MESSAGES/avant-window-navigator.mo +share/locale/he/LC_MESSAGES/avant-window-navigator.mo +share/locale/hi/LC_MESSAGES/avant-window-navigator.mo +share/locale/hr/LC_MESSAGES/avant-window-navigator.mo +share/locale/hu/LC_MESSAGES/avant-window-navigator.mo +share/locale/id/LC_MESSAGES/avant-window-navigator.mo +share/locale/is/LC_MESSAGES/avant-window-navigator.mo +share/locale/it/LC_MESSAGES/avant-window-navigator.mo +share/locale/ja/LC_MESSAGES/avant-window-navigator.mo +share/locale/jv/LC_MESSAGES/avant-window-navigator.mo +share/locale/ka/LC_MESSAGES/avant-window-navigator.mo +share/locale/kab/LC_MESSAGES/avant-window-navigator.mo +share/locale/ko/LC_MESSAGES/avant-window-navigator.mo +share/locale/ku/LC_MESSAGES/avant-window-navigator.mo +share/locale/lt/LC_MESSAGES/avant-window-navigator.mo +share/locale/lv/LC_MESSAGES/avant-window-navigator.mo +share/locale/mk/LC_MESSAGES/avant-window-navigator.mo +share/locale/ml/LC_MESSAGES/avant-window-navigator.mo +share/locale/mn/LC_MESSAGES/avant-window-navigator.mo +share/locale/mr/LC_MESSAGES/avant-window-navigator.mo +share/locale/ms/LC_MESSAGES/avant-window-navigator.mo +share/locale/nb/LC_MESSAGES/avant-window-navigator.mo +share/locale/nds/LC_MESSAGES/avant-window-navigator.mo +share/locale/ne/LC_MESSAGES/avant-window-navigator.mo +share/locale/nl/LC_MESSAGES/avant-window-navigator.mo +share/locale/nn/LC_MESSAGES/avant-window-navigator.mo +share/locale/oc/LC_MESSAGES/avant-window-navigator.mo +share/locale/pl/LC_MESSAGES/avant-window-navigator.mo +share/locale/pt/LC_MESSAGES/avant-window-navigator.mo +share/locale/pt_BR/LC_MESSAGES/avant-window-navigator.mo +share/locale/ro/LC_MESSAGES/avant-window-navigator.mo +share/locale/ru/LC_MESSAGES/avant-window-navigator.mo +share/locale/si/LC_MESSAGES/avant-window-navigator.mo +share/locale/sk/LC_MESSAGES/avant-window-navigator.mo +share/locale/sl/LC_MESSAGES/avant-window-navigator.mo +share/locale/sq/LC_MESSAGES/avant-window-navigator.mo +share/locale/sr/LC_MESSAGES/avant-window-navigator.mo +share/locale/sv/LC_MESSAGES/avant-window-navigator.mo +share/locale/ta/LC_MESSAGES/avant-window-navigator.mo +share/locale/te/LC_MESSAGES/avant-window-navigator.mo +share/locale/th/LC_MESSAGES/avant-window-navigator.mo +share/locale/tr/LC_MESSAGES/avant-window-navigator.mo +share/locale/uk/LC_MESSAGES/avant-window-navigator.mo +share/locale/vi/LC_MESSAGES/avant-window-navigator.mo +share/locale/zh_CN/LC_MESSAGES/avant-window-navigator.mo +share/locale/zh_HK/LC_MESSAGES/avant-window-navigator.mo +share/locale/zh_TW/LC_MESSAGES/avant-window-navigator.mo +share/pygtk/2.0/defs/awn.defs +share/vala/vapi/awn.deps +share/vala/vapi/awn.vapi diff --git a/x11/avant-window-navigator/distinfo b/x11/avant-window-navigator/distinfo new file mode 100644 index 00000000000..e0530832731 --- /dev/null +++ b/x11/avant-window-navigator/distinfo @@ -0,0 +1,8 @@ +$NetBSD: distinfo,v 1.1.1.1 2012/02/19 14:43:11 imil Exp $ + +SHA1 (avant-window-navigator-0.4.0.tar.gz) = 2e64c4e66af93ff5ef3a5a2f3cfbaa1db1027a9c +RMD160 (avant-window-navigator-0.4.0.tar.gz) = 2f57086b34bceba1e503e3fbe7e10a2138bb683c +Size (avant-window-navigator-0.4.0.tar.gz) = 1556708 bytes +SHA1 (patch-applet-activation_main.c) = 364b76fb884d02e6e4f84b630116aaa7cda22e5d +SHA1 (patch-applets_taskmanager_Makefile.in) = d0cdfc228b18bf13c65ab5dca219b6cd16a4dd87 +SHA1 (patch-data_Makefile.in) = af286e9c8dcc72559f07e818759cd4d6543205a2 diff --git a/x11/avant-window-navigator/patches/patch-applet-activation_main.c b/x11/avant-window-navigator/patches/patch-applet-activation_main.c new file mode 100644 index 00000000000..ac3f4185d7c --- /dev/null +++ b/x11/avant-window-navigator/patches/patch-applet-activation_main.c @@ -0,0 +1,13 @@ +$NetBSD: patch-applet-activation_main.c,v 1.1.1.1 2012/02/19 14:43:11 imil Exp $ + +--- applet-activation/main.c.orig 2010-03-25 10:44:53.000000000 +0000 ++++ applet-activation/main.c +@@ -222,7 +222,7 @@ main(gint argc, gchar **argv) + + if (strcmp(type, "Python") == 0) + { +- launch_applet_with ("python", path, exec, uid, window, panel_id); ++ launch_applet_with ("@PYTHONBIN@", path, exec, uid, window, panel_id); + return 0; + } + diff --git a/x11/avant-window-navigator/patches/patch-applets_taskmanager_Makefile.in b/x11/avant-window-navigator/patches/patch-applets_taskmanager_Makefile.in new file mode 100644 index 00000000000..5f4b2038d06 --- /dev/null +++ b/x11/avant-window-navigator/patches/patch-applets_taskmanager_Makefile.in @@ -0,0 +1,31 @@ +$NetBSD: patch-applets_taskmanager_Makefile.in,v 1.1.1.1 2012/02/19 14:43:11 imil Exp $ + +--- applets/taskmanager/Makefile.in.orig 2010-04-11 14:29:22.000000000 +0000 ++++ applets/taskmanager/Makefile.in +@@ -401,8 +401,8 @@ MARSHALFILES = \ + $(builddir)/$(MARSHAL).h \ + $(NULL) + +-@GCONF_SCHEMAS_INSTALL_TRUE@schemasdir = @GCONF_SCHEMA_FILE_DIR@ +-@GCONF_SCHEMAS_INSTALL_TRUE@schemas_DATA = $(schema_DATA:.schema-ini=.schemas) ++schemasdir = @GCONF_SCHEMA_FILE_DIR@ ++schemas_DATA = $(schema_DATA:.schema-ini=.schemas) + schema_DATA = $(schema_in_files:.schema-ini.in=.schema-ini) + schemadir = $(pkgdatadir)/schemas + VALA_H_FILES = \ +@@ -948,12 +948,12 @@ $(builddir)/$(MARSHAL).c: $(MARSHAL_LIST + + # vim: set ft=automake ts=8 sts=8 sw=8 noet : + +-@GCONF_SCHEMAS_INSTALL_TRUE@%.schemas: %.schema-ini +-@GCONF_SCHEMAS_INSTALL_TRUE@ $(QUIET_GEN)$(LDA_BINDIR)/lda-schema-to-gconf $< $@ ++%.schemas: %.schema-ini ++ $(QUIET_GEN)$(LDA_BINDIR)/lda-schema-to-gconf $< $@ + + @GCONF_SCHEMAS_INSTALL_TRUE@install-gconf-schemas: $(schemas_DATA) + @GCONF_SCHEMAS_INSTALL_TRUE@ GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) $(GCONFTOOL) --makefile-install-rule $(schemas_DATA) +-@GCONF_SCHEMAS_INSTALL_FALSE@install-gconf-schemas: ++@GCONF_SCHEMAS_INSTALL_FALSE@install-gconf-schemas: $(schemas_DATA) + + @INTLTOOL_SCHEMA_INI_RULE@ + diff --git a/x11/avant-window-navigator/patches/patch-data_Makefile.in b/x11/avant-window-navigator/patches/patch-data_Makefile.in new file mode 100644 index 00000000000..6e3fadb3fb1 --- /dev/null +++ b/x11/avant-window-navigator/patches/patch-data_Makefile.in @@ -0,0 +1,31 @@ +$NetBSD: patch-data_Makefile.in,v 1.1.1.1 2012/02/19 14:43:11 imil Exp $ + +--- data/Makefile.in.orig 2010-04-11 14:29:22.000000000 +0000 ++++ data/Makefile.in +@@ -312,8 +312,8 @@ desktop_DATA = $(DESKTOP_BASENAME).deskt + CLEANFILES = $(desktop_DATA) $(schemas_DATA) $(schema_in_DATA) \ + $(schema_DATA) + QUIET_GEN = $(Q:@=@echo ' GEN '$@;) +-@GCONF_SCHEMAS_INSTALL_TRUE@schemasdir = @GCONF_SCHEMA_FILE_DIR@ +-@GCONF_SCHEMAS_INSTALL_TRUE@schemas_DATA = $(schema_DATA:.schema-ini=.schemas) ++schemasdir = @GCONF_SCHEMA_FILE_DIR@ ++schemas_DATA = $(schema_DATA:.schema-ini=.schemas) + schema_DATA = $(schema_in_files:.schema-ini.in=.schema-ini) + schemadir = $(pkgdatadir)/schemas + icons = avant-window-navigator-24.png avant-window-navigator-32.png +@@ -682,12 +682,12 @@ uninstall-am: uninstall-desktopDATA unin + + @INTLTOOL_DESKTOP_RULE@ + +-@GCONF_SCHEMAS_INSTALL_TRUE@%.schemas: %.schema-ini +-@GCONF_SCHEMAS_INSTALL_TRUE@ $(QUIET_GEN)$(LDA_BINDIR)/lda-schema-to-gconf $< $@ ++%.schemas: %.schema-ini ++ $(QUIET_GEN)$(LDA_BINDIR)/lda-schema-to-gconf $< $@ + + @GCONF_SCHEMAS_INSTALL_TRUE@install-gconf-schemas: $(schemas_DATA) + @GCONF_SCHEMAS_INSTALL_TRUE@ GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) $(GCONFTOOL) --makefile-install-rule $(schemas_DATA) +-@GCONF_SCHEMAS_INSTALL_FALSE@install-gconf-schemas: ++@GCONF_SCHEMAS_INSTALL_FALSE@install-gconf-schemas: $(schemas_DATA) + + @INTLTOOL_SCHEMA_INI_RULE@ + |