Alright, I spent some time now reading e17's code. Here's what


			
			
				devs/princeamd/enlightenment-0.17-elive
			
			
		
cpk 22 years ago committed by cpk
parent 59eda55bb7
commit 02379472ae
  1. 224
      config.h.in
  2. 2
      data/scripts/build_iconbar_db.sh
  3. 3
      doc/manual.raw
  4. 12
      po/ChangeLog
  5. 186
      po/Makefile.in.in
  6. 14
      src/Makefile.am
  7. 740
      src/actions.c
  8. 70
      src/actions.h
  9. 52
      src/background.c
  10. 10
      src/background.h
  11. 547
      src/border.c
  12. 7
      src/border.h
  13. 52
      src/config.c
  14. 33
      src/cursors.c
  15. 86
      src/debug.c
  16. 64
      src/debug.h
  17. 62
      src/delayed.c
  18. 29
      src/delayed.h
  19. 106
      src/desktops.c
  20. 3
      src/desktops.h
  21. 91
      src/e.h
  22. 23
      src/e_ferite.c
  23. 101
      src/embed.c
  24. 183
      src/entry.c
  25. 30
      src/exec.c
  26. 47
      src/fs.c
  27. 69
      src/guides.c
  28. 133
      src/icccm.c
  29. 216
      src/iconbar.c
  30. 6
      src/iconbar.h
  31. 21
      src/keys.c
  32. 13
      src/main.c
  33. 5
      src/match.c
  34. 460
      src/menu.c
  35. 6
      src/menu.h
  36. 87
      src/menubuild.c
  37. 4
      src/menubuild.h
  38. 79
      src/object.c
  39. 78
      src/object.h
  40. 146
      src/observer.c
  41. 107
      src/observer.h
  42. 78
      src/place.c
  43. 21
      src/place.h
  44. 10
      src/resist.c
  45. 144
      src/scrollbar.c
  46. 90
      src/text.c
  47. 107
      src/util.c
  48. 449
      src/view.c
  49. 7
      src/view.h

@ -1,48 +1,4 @@
/* config.h.in. Generated automatically from configure.in by autoheader. */
/* Define if using alloca.c. */
#undef C_ALLOCA
/* Define to empty if the keyword does not work. */
#undef const
/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems.
This function is required for alloca.c support on those systems. */
#undef CRAY_STACKSEG_END
/* Define if you have alloca, as a function or macro. */
#undef HAVE_ALLOCA
/* Define if you have <alloca.h> and it should be used (not on Ultrix). */
#undef HAVE_ALLOCA_H
/* Define if you have a working `mmap' system call. */
#undef HAVE_MMAP
/* Define as __inline if that's what the C compiler calls it. */
#undef inline
/* Define to `long' if <sys/types.h> doesn't define. */
#undef off_t
/* Define if you need to in order for stat and other things to work. */
#undef _POSIX_SOURCE
/* Define to `unsigned' if <sys/types.h> doesn't define. */
#undef size_t
/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at run-time.
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown
*/
#undef STACK_DIRECTION
/* Define if you have the ANSI C header files. */
#undef STDC_HEADERS
/* config.h.in. Generated automatically from configure.ac by autoheader. */
#undef ENLIGHTENMENT_VERSION
#undef ENLIGHTENMENT_MAJOR
#undef ENLIGHTENMENT_MINOR
@ -60,81 +16,191 @@
#undef PACKAGE_LIB_DIR
#undef USE_FERITE
/* Define if you have the __argz_count function. */
#undef HAVE___ARGZ_COUNT
/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
systems. This function is required for `alloca.c' support on those systems.
*/
#undef CRAY_STACKSEG_END
/* Define if you have the __argz_next function. */
#undef HAVE___ARGZ_NEXT
/* Define if using `alloca.c'. */
#undef C_ALLOCA
/* Define if you have the __argz_stringify function. */
#undef HAVE___ARGZ_STRINGIFY
/* Define to 1 if translation of program messages to the user's native
language is requested. */
#undef ENABLE_NLS
/* Define if you have `alloca', as a function or macro. */
#undef HAVE_ALLOCA
/* Define if you have <alloca.h> and it should be used (not on Ultrix). */
#undef HAVE_ALLOCA_H
/* Define if you have the dcgettext function. */
/* Define if you have the <argz.h> header file. */
#undef HAVE_ARGZ_H
/* Define if you have the `dcgettext' function. */
#undef HAVE_DCGETTEXT
/* Define if you have the getcwd function. */
/* Define if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
/* Define if you have the `feof_unlocked' function. */
#undef HAVE_FEOF_UNLOCKED
/* Define if you have the `fgets_unlocked' function. */
#undef HAVE_FGETS_UNLOCKED
/* Define if you have the `getcwd' function. */
#undef HAVE_GETCWD
/* Define if you have the getpagesize function. */
/* Define if you have the `getegid' function. */
#undef HAVE_GETEGID
/* Define if you have the `geteuid' function. */
#undef HAVE_GETEUID
/* Define if you have the `getgid' function. */
#undef HAVE_GETGID
/* Define if you have the `getpagesize' function. */
#undef HAVE_GETPAGESIZE
/* Define if you have the munmap function. */
/* Define if the GNU gettext() function is already present or preinstalled. */
#undef HAVE_GETTEXT
/* Define if you have the `getuid' function. */
#undef HAVE_GETUID
/* Define if you have the iconv() function. */
#undef HAVE_ICONV
/* Define if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
#undef HAVE_LANGINFO_CODESET
/* Define if your <locale.h> file defines LC_MESSAGES. */
#undef HAVE_LC_MESSAGES
/* Define if you have the <limits.h> header file. */
#undef HAVE_LIMITS_H
/* Define if you have the <locale.h> header file. */
#undef HAVE_LOCALE_H
/* Define if you have the <malloc.h> header file. */
#undef HAVE_MALLOC_H
/* Define if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
/* Define if you have the `mempcpy' function. */
#undef HAVE_MEMPCPY
/* Define if you have a working `mmap' system call. */
#undef HAVE_MMAP
/* Define if you have the `munmap' function. */
#undef HAVE_MUNMAP
/* Define if you have the putenv function. */
/* Define if you have the <nl_types.h> header file. */
#undef HAVE_NL_TYPES_H
/* Define if you have the `putenv' function. */
#undef HAVE_PUTENV
/* Define if you have the setenv function. */
/* Define if you have the `setenv' function. */
#undef HAVE_SETENV
/* Define if you have the setlocale function. */
/* Define if you have the `setlocale' function. */
#undef HAVE_SETLOCALE
/* Define if you have the stpcpy function. */
/* Define if you have the <stddef.h> header file. */
#undef HAVE_STDDEF_H
/* Define if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
/* Define if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
/* Define if you have the `stpcpy' function. */
#undef HAVE_STPCPY
/* Define if you have the strcasecmp function. */
/* Define if you have the `strcasecmp' function. */
#undef HAVE_STRCASECMP
/* Define if you have the strchr function. */
/* Define if you have the `strchr' function. */
#undef HAVE_STRCHR
/* Define if you have the strdup function. */
/* Define if you have the `strdup' function. */
#undef HAVE_STRDUP
/* Define if you have the <argz.h> header file. */
#undef HAVE_ARGZ_H
/* Define if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H
/* Define if you have the <limits.h> header file. */
#undef HAVE_LIMITS_H
/* Define if you have the <string.h> header file. */
#undef HAVE_STRING_H
/* Define if you have the <locale.h> header file. */
#undef HAVE_LOCALE_H
/* Define if you have the `strtoul' function. */
#undef HAVE_STRTOUL
/* Define if you have the <malloc.h> header file. */
#undef HAVE_MALLOC_H
/* Define if you have the <sys/param.h> header file. */
#undef HAVE_SYS_PARAM_H
/* Define if you have the <nl_types.h> header file. */
#undef HAVE_NL_TYPES_H
/* Define if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
/* Define if you have the <string.h> header file. */
#undef HAVE_STRING_H
/* Define if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H
/* Define if you have the <sys/param.h> header file. */
#undef HAVE_SYS_PARAM_H
/* Define if you have the `tsearch' function. */
#undef HAVE_TSEARCH
/* Define if you have the <unistd.h> header file. */
/* Define if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Define if you have the i library (-li). */
#undef HAVE_LIBI
/* Define if you have the `__argz_count' function. */
#undef HAVE___ARGZ_COUNT
/* Define if you have the `__argz_next' function. */
#undef HAVE___ARGZ_NEXT
/* Define if you have the `__argz_stringify' function. */
#undef HAVE___ARGZ_STRINGIFY
/* Define as const if the declaration of iconv() needs const. */
#undef ICONV_CONST
/* Name of package */
#undef PACKAGE
/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at run-time.
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown */
#undef STACK_DIRECTION
/* Define if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Version number of package */
#undef VERSION
/* Define if using the dmalloc debugging malloc package */
#undef WITH_DMALLOC
/* Define to empty if `const' does not conform to ANSI C. */
#undef const
/* Define as `__inline' if that's what the C compiler calls it, or to nothing
if it is not supported. */
#undef inline
/* Define to `long' if <sys/types.h> does not define. */
#undef off_t
/* Define to `unsigned' if <sys/types.h> does not define. */
#undef size_t

@ -5,7 +5,7 @@ BIT=$1"/.e_iconbar.bits.db"
setup ()
{
PREFIX="/usr/local"
PREFIX="/usr/local/e17"
SYSIC="/usr/share/pixmaps"
USRIC=$HOME"/stuff/icons"
NUM=0

@ -133,6 +133,9 @@
!Isrc/iconbar.c
!Isrc/menu.h
!Isrc/menu.c
!Isrc/object.h
!Isrc/observer.h
!Isrc/place.h
!Isrc/view.h
</section>

@ -1,3 +1,15 @@
2001-10-22 gettextize <bug-gnu-utils@gnu.org>
* Makefile.in.in: Upgrade to gettext-0.10.39.
2001-10-21 gettextize <bug-gnu-utils@gnu.org>
* Makefile.in.in: Upgrade to gettext-0.10.39.
2001-10-21 gettextize <bug-gnu-utils@gnu.org>
* Makefile.in.in: Upgrade to gettext-0.10.39.
2001-10-13 gettextize <bug-gnu-utils@gnu.org>
* Makefile.in.in: Upgrade to gettext-0.10.39.

@ -1,14 +1,18 @@
# Makefile for program source directory in GNU NLS utilities package.
# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
# Copyright (C) 1995-1997, 2000, 2001 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
#
# This file file be copied and used freely without restrictions. It can
# be used in projects which are not available under the GNU Public License
# be used in projects which are not available under the GNU General Public License
# but which still want to provide support for the GNU gettext functionality.
# Please note that the actual code is *not* freely available.
PACKAGE = @PACKAGE@
VERSION = @VERSION@
# These two variables depend on the location of this directory.
subdir = po
top_builddir = ..
SHELL = /bin/sh
@SET_MAKE@
@ -18,24 +22,20 @@ VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
datadir = $(prefix)/@DATADIRNAME@
datadir = @datadir@
localedir = $(datadir)/locale
gnulocaledir = $(prefix)/share/locale
gettextsrcdir = $(prefix)/share/gettext/po
subdir = po
DESTDIR =
gettextsrcdir = $(datadir)/gettext/po
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
MKINSTALLDIRS = $(top_srcdir)/@MKINSTALLDIRS@
MKINSTALLDIRS = @MKINSTALLDIRS@
mkinstalldirs = $(SHELL) `case "$(MKINSTALLDIRS)" in /*) echo "$(MKINSTALLDIRS)" ;; *) echo "$(top_builddir)/$(MKINSTALLDIRS)" ;; esac`
CC = @CC@
GENCAT = @GENCAT@
GMSGFMT = PATH=../src:$$PATH @GMSGFMT@
GMSGFMT = @GMSGFMT@
MSGFMT = @MSGFMT@
XGETTEXT = PATH=../src:$$PATH @XGETTEXT@
MSGMERGE = PATH=../src:$$PATH msgmerge
XGETTEXT = @XGETTEXT@
MSGMERGE = msgmerge
DEFS = @DEFS@
CFLAGS = @CFLAGS@
@ -45,20 +45,17 @@ INCLUDES = -I.. -I$(top_srcdir)/intl
COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
SOURCES = cat-id-tbl.c
POFILES = @POFILES@
GMOFILES = @GMOFILES@
DISTFILES = ChangeLog Makefile.in.in POTFILES.in $(PACKAGE).pot \
stamp-cat-id $(POFILES) $(GMOFILES) $(SOURCES)
$(POFILES) $(GMOFILES)
POTFILES = \
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
INSTOBJEXT = @INSTOBJEXT@
.SUFFIXES:
.SUFFIXES: .c .o .po .pox .gmo .mo .msg .cat
.SUFFIXES: .c .o .po .pox .gmo .mo
.c.o:
$(COMPILE) $<
@ -72,19 +69,19 @@ INSTOBJEXT = @INSTOBJEXT@
.po.gmo:
file=$(srcdir)/`echo $* | sed 's,.*/,,'`.gmo \
&& rm -f $$file && $(GMSGFMT) -o $$file $<
.po.cat:
sed -f ../intl/po2msg.sed < $< > $*.msg \
&& rm -f $@ && $(GENCAT) $@ $*.msg
&& rm -f $$file && $(GMSGFMT) --statistics -o $$file $<
all: all-@USE_NLS@
all-yes: cat-id-tbl.c $(CATALOGS)
all-yes: $(CATALOGS)
all-no:
$(srcdir)/$(PACKAGE).pot: $(POTFILES)
# Note: Target 'all' must not depend on target '$(srcdir)/$(PACKAGE).pot',
# otherwise packages like GCC can not be built if only parts of the source
# have been downloaded.
$(srcdir)/$(PACKAGE).pot: $(POTFILES) $(srcdir)/POTFILES.in
$(XGETTEXT) --default-domain=$(PACKAGE) --directory=$(top_srcdir) \
--add-comments --keyword=_ --keyword=N_ \
--files-from=$(srcdir)/POTFILES.in \
@ -92,78 +89,35 @@ $(srcdir)/$(PACKAGE).pot: $(POTFILES)
|| ( rm -f $(srcdir)/$(PACKAGE).pot \
&& mv $(PACKAGE).po $(srcdir)/$(PACKAGE).pot )
$(srcdir)/cat-id-tbl.c: stamp-cat-id; @:
$(srcdir)/stamp-cat-id: $(PACKAGE).pot
rm -f cat-id-tbl.tmp
sed -f ../intl/po2tbl.sed $(srcdir)/$(PACKAGE).pot \
| sed -e "s/@PACKAGE NAME@/$(PACKAGE)/" > cat-id-tbl.tmp
if cmp -s cat-id-tbl.tmp $(srcdir)/cat-id-tbl.c; then \
rm cat-id-tbl.tmp; \
else \
echo cat-id-tbl.c changed; \
rm -f $(srcdir)/cat-id-tbl.c; \
mv cat-id-tbl.tmp $(srcdir)/cat-id-tbl.c; \
fi
cd $(srcdir) && rm -f stamp-cat-id && echo timestamp > stamp-cat-id
install: install-exec install-data
install-exec:
install-data: install-data-@USE_NLS@
install-data-no: all
install-data-yes: all
if test -r "$(MKINSTALLDIRS)"; then \
$(MKINSTALLDIRS) $(DESTDIR)$(datadir); \
if test "$(PACKAGE)" = "gettext"; then \
$(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
$(INSTALL_DATA) $(srcdir)/Makefile.in.in \
$(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \
else \
$(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(datadir); \
: ; \
fi
install-data-no: all
install-data-yes: all
$(mkinstalldirs) $(DESTDIR)$(datadir)
@catalogs='$(CATALOGS)'; \
for cat in $$catalogs; do \
cat=`basename $$cat`; \
case "$$cat" in \
*.gmo) destdir=$(DESTDIR)$(gnulocaledir);; \
*) destdir=$(DESTDIR)$(localedir);; \
esac; \
lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
dir=$$destdir/$$lang/LC_MESSAGES; \
if test -r "$(MKINSTALLDIRS)"; then \
$(MKINSTALLDIRS) $$dir; \
else \
$(SHELL) $(top_srcdir)/mkinstalldirs $$dir; \
fi; \
lang=`echo $$cat | sed 's/\.gmo$$//'`; \
dir=$(localedir)/$$lang/LC_MESSAGES; \
$(mkinstalldirs) $(DESTDIR)$$dir; \
if test -r $$cat; then \
$(INSTALL_DATA) $$cat $$dir/$(PACKAGE)$(INSTOBJEXT); \
echo "installing $$cat as $$dir/$(PACKAGE)$(INSTOBJEXT)"; \
$(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \
echo "installing $$cat as $(DESTDIR)$$dir/$(PACKAGE).mo"; \
else \
$(INSTALL_DATA) $(srcdir)/$$cat $$dir/$(PACKAGE)$(INSTOBJEXT); \
$(INSTALL_DATA) $(srcdir)/$$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \
echo "installing $(srcdir)/$$cat as" \
"$$dir/$(PACKAGE)$(INSTOBJEXT)"; \
fi; \
if test -r $$cat.m; then \
$(INSTALL_DATA) $$cat.m $$dir/$(PACKAGE)$(INSTOBJEXT).m; \
echo "installing $$cat.m as $$dir/$(PACKAGE)$(INSTOBJEXT).m"; \
else \
if test -r $(srcdir)/$$cat.m ; then \
$(INSTALL_DATA) $(srcdir)/$$cat.m \
$$dir/$(PACKAGE)$(INSTOBJEXT).m; \
echo "installing $(srcdir)/$$cat as" \
"$$dir/$(PACKAGE)$(INSTOBJEXT).m"; \
else \
true; \
fi; \
"$(DESTDIR)$$dir/$(PACKAGE).mo"; \
fi; \
done
if test "$(PACKAGE)" = "gettext"; then \
if test -r "$(MKINSTALLDIRS)"; then \
$(MKINSTALLDIRS) $(DESTDIR)$(gettextsrcdir); \
else \
$(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(gettextsrcdir); \
fi; \
$(INSTALL_DATA) $(srcdir)/Makefile.in.in \
$(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \
else \
: ; \
fi
# Define this as empty until I found a useful application.
installcheck:
@ -172,76 +126,68 @@ uninstall:
catalogs='$(CATALOGS)'; \
for cat in $$catalogs; do \
cat=`basename $$cat`; \
lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT); \
rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT).m; \
rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT); \
rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT).m; \
lang=`echo $$cat | sed 's/\.gmo$$//'`; \
rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(PACKAGE).mo; \
done
rm -f $(DESTDIR)$(gettextsrcdir)/po-Makefile.in.in
if test "$(PACKAGE)" = "gettext"; then \
rm -f $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \
else \
: ; \
fi
check: all
cat-id-tbl.o: ../intl/libgettext.h
dvi info tags TAGS ID:
mostlyclean:
rm -f core core.* *.pox $(PACKAGE).po *.old.po cat-id-tbl.tmp
rm -f core core.* *.pox $(PACKAGE).po *.new.po
rm -fr *.o
clean: mostlyclean
distclean: clean
rm -f Makefile Makefile.in POTFILES *.mo *.msg *.cat *.cat.m
rm -f Makefile Makefile.in POTFILES *.mo
maintainer-clean: distclean
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
rm -f $(GMOFILES)
distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
dist distdir: update-po $(DISTFILES)
distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
dist distdir:
$(MAKE) update-po
@$(MAKE) dist2
# This is a separate target because 'update-po' must be executed before.
dist2: $(DISTFILES)
dists="$(DISTFILES)"; \
for file in $$dists; do \
ln $(srcdir)/$$file $(distdir) 2> /dev/null \
|| cp -p $(srcdir)/$$file $(distdir); \
if test -f $$file; then dir=.; else dir=$(srcdir); fi; \
cp -p $$dir/$$file $(distdir); \
done
update-po: Makefile
$(MAKE) $(PACKAGE).pot
PATH=`pwd`/../src:$$PATH; \
if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; fi; \
cd $(srcdir); \
catalogs='$(CATALOGS)'; \
catalogs='$(GMOFILES)'; \
for cat in $$catalogs; do \
cat=`basename $$cat`; \
lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
mv $$lang.po $$lang.old.po; \
lang=`echo $$cat | sed 's/\.gmo$$//'`; \
echo "$$lang:"; \
if $(MSGMERGE) $$lang.old.po $(PACKAGE).pot -o $$lang.po; then \
rm -f $$lang.old.po; \
if $(MSGMERGE) $$lang.po $(PACKAGE).pot -o $$lang.new.po; then \
mv -f $$lang.new.po $$lang.po; \
else \
echo "msgmerge for $$cat failed!"; \
rm -f $$lang.po; \
mv $$lang.old.po $$lang.po; \
rm -f $$lang.new.po; \
fi; \
done
$(MAKE) update-gmo
POTFILES: POTFILES.in
( if test 'x$(srcdir)' != 'x.'; then \
posrcprefix='$(top_srcdir)/'; \
else \
posrcprefix="../"; \
fi; \
rm -f $@-t $@ \
&& (sed -e '/^#/d' -e '/^[ ]*$$/d' \
-e "s@.*@ $$posrcprefix& \\\\@" < $(srcdir)/$@.in \
| sed -e '$$s/\\$$//') > $@-t \
&& chmod a-w $@-t \
&& mv $@-t $@ )
Makefile: Makefile.in.in ../config.status POTFILES
cd .. \
update-gmo: Makefile $(GMOFILES)
@:
Makefile: Makefile.in.in $(top_builddir)/config.status POTFILES.in
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \
$(SHELL) ./config.status

@ -2,9 +2,14 @@
DISTCLEANFILES = e_ferite_gen_*
## Enable -DDEBUG for debugging messages, -DDEBUG_NEST
## for call tracing. Caution -- this will produce a *lot*
## of output!
DEBUGFLAGS = -g -DDEBUG -DDEBUG_NEST
INCLUDES = \
-I$(top_srcdir)/intl \
@evas_cflags@ @edb_cflags@ @ebits_cflags@ @ecore_cflags@ @efsd_cflags@ @ferite_cflags@
@evas_cflags@ @edb_cflags@ @ebits_cflags@ @ecore_cflags@ @efsd_cflags@ @ferite_cflags@ $(DEBUGFLAGS)
bin_PROGRAMS = enlightenment
@ -24,6 +29,7 @@ enlightenment_SOURCES = \
border.h border.c \
config.h config.c \
cursors.c cursors.h \
debug.c debug.h \
delayed.h delayed.c \
desktops.h desktops.c \
embed.c embed.h \
@ -33,6 +39,7 @@ enlightenment_SOURCES = \
$(ferite_c) \
guides.h guides.c \
icccm.h icccm.c \
iconbar.h iconbar.c\
icons.c \
ipc.h ipc.c \
keys.h keys.c \
@ -40,6 +47,8 @@ enlightenment_SOURCES = \
match.c match.h \
menu.h menu.c \
menubuild.h menubuild.c \
object.h object.c \
observer.h observer.c\
pack.c \
place.c place.h \
resist.h resist.c \
@ -48,7 +57,6 @@ enlightenment_SOURCES = \
text.h text.c \
util.h util.c \
view.h view.c \
e.h \
iconbar.c
e.h
enlightenment_LDADD = @evas_libs@ @edb_libs@ @ebits_libs@ @ecore_libs@ @efsd_libs@ @ferite_libs@ -lm -lc $(INTLLIBS)

File diff suppressed because it is too large Load Diff

@ -2,25 +2,25 @@
#define E_ACTIONS_H
#include "e.h"
#include "object.h"
typedef struct _E_Action E_Action;
typedef struct _E_Action_Impl E_Action_Impl;
typedef struct _E_Active_Action_Timer E_Active_Action_Timer;
typedef enum e_action_type
{
ACT_MOUSE_IN,
ACT_MOUSE_OUT,
ACT_MOUSE_CLICK,
ACT_MOUSE_DOUBLE,
ACT_MOUSE_TRIPLE,
ACT_MOUSE_UP,
ACT_MOUSE_CLICKED,
ACT_MOUSE_MOVE,
ACT_KEY_DOWN,
ACT_KEY_UP
}
E_Action_Type;
{
ACT_MOUSE_IN,
ACT_MOUSE_OUT,
ACT_MOUSE_CLICK,
ACT_MOUSE_DOUBLE,
ACT_MOUSE_TRIPLE,
ACT_MOUSE_UP,
ACT_MOUSE_CLICKED,
ACT_MOUSE_MOVE,
ACT_KEY_DOWN,
ACT_KEY_UP
} E_Action_Type;
struct _E_Active_Action_Timer
{
@ -30,7 +30,7 @@ struct _E_Active_Action_Timer
struct _E_Action
{
OBJ_PROPERTIES;
E_Object o;
char *name;
char *action;
@ -40,21 +40,29 @@ struct _E_Action
char *key;
int modifiers;
E_Action_Impl *action_impl;
void *object;
E_Object *object;
int started;
int grabbed;
};
typedef void (*E_Action_Start_Func)(E_Object *o, E_Action *a,
void *data, int x, int y, int rx, int ry);
typedef void (*E_Action_Cont_Func) (E_Object *o, E_Action *a,
void *data, int x, int y, int rx, int ry, int dx, int dy);
typedef void (*E_Action_Stop_Func) (E_Object *o, E_Action *a,
void *data, int x, int y, int rx, int ry);
struct _E_Action_Impl
{
OBJ_PROPERTIES;
E_Object o;
char *action;
void (*func_start) (void *o, E_Action *a, void *data, int x, int y, int rx, int ry);
void (*func_cont) (void *o, E_Action *a, void *data, int x, int y, int rx, int ry, int dx, int dy);
void (*func_stop) (void *o, E_Action *a, void *data, int x, int y, int rx, int ry);
E_Action_Start_Func func_start;
E_Action_Cont_Func func_cont;
E_Action_Stop_Func func_stop;
};
/**
* e_action_init - Actions implementation initializer
@ -65,22 +73,20 @@ struct _E_Action_Impl
void e_action_init(void);
int e_action_start(char *action, E_Action_Type act, int button, char *key,
Ecore_Event_Key_Modifiers mods, void *o, void *data,
Ecore_Event_Key_Modifiers mods, E_Object *o, void *data,
int x, int y, int rx, int ry);
void e_action_stop(char *action, E_Action_Type act, int button, char *key,
Ecore_Event_Key_Modifiers mods, void *o, void *data,
Ecore_Event_Key_Modifiers mods, E_Object *o, void *data,
int x, int y, int rx, int ry);
void e_action_cont(char *action, E_Action_Type act, int button, char *key,
Ecore_Event_Key_Modifiers mods, void *o, void *data,
Ecore_Event_Key_Modifiers mods, E_Object *o, void *data,
int x, int y, int rx, int ry, int dx, int dy);
void e_action_stop_by_object(void *o, void *data, int x, int y, int rx, int ry);
void e_action_stop_by_object(E_Object *o, void *data, int x, int y, int rx, int ry);
void e_action_stop_by_type(char *action);
void e_action_add_proto(char *action,
void (*func_start) (void *o, E_Action *a, void *data, int x, int y, int rx, int ry),
void (*func_cont) (void *o, E_Action *a, void *data, int x, int y, int rx, int ry, int dx, int dy),
void (*func_stop) (void *o, E_Action *a, void *data, int x, int y, int rx, int ry));
void e_action_del_timer(void *o, char *name);
void e_action_add_timer(void *o, char *name);
void e_action_del_timer_object(void *o);
void e_action_add_impl(char *action, E_Action_Start_Func func_start,
E_Action_Cont_Func func_cont, E_Action_Stop_Func func_stop);
void e_action_del_timer(E_Object *object, char *name);
void e_action_add_timer(E_Object *object, char *name);
void e_action_del_timer_object(E_Object *object);
#endif

@ -1,12 +1,15 @@
#include "e.h"
#include "debug.h"
#include "background.h"
#include "util.h"
void
e_background_free(E_Background *bg)
static void
e_background_cleanup(E_Background *bg)
{
Evas_List l;
D_ENTER;
if (bg->layers)
{
for (l = bg->layers; l; l = l->next)
@ -23,7 +26,10 @@ e_background_free(E_Background *bg)
}
if (bg->file) FREE (bg->file);
if (bg->base_obj) evas_del_object(bg->evas, bg->base_obj);
FREE(bg);
e_object_cleanup(E_OBJECT(bg));
D_RETURN;
}
E_Background *
@ -31,11 +37,14 @@ e_background_new(void)
{
E_Background *bg;
D_ENTER;
bg = NEW(E_Background, 1);
ZERO(bg, E_Background, 1);
OBJ_INIT(bg, e_background_free);
e_object_init(E_OBJECT(bg), (E_Cleanup_Func) e_background_cleanup);
return bg;
D_RETURN_(bg);
}
E_Background *
@ -45,15 +54,17 @@ e_background_load(char *file)
E_DB_File *db;
int i, num;
D_ENTER;
db = e_db_open_read(file);
if (!db) return NULL;
if (!db) D_RETURN_(NULL);
num = 0;
e_db_int_get(db, "/type/bg", &num);
if (num != 1)
{
e_db_close(db);
e_db_flush();
return NULL;
D_RETURN_(NULL);
}
e_db_int_get(db, "/layers/count", &num);
@ -101,7 +112,7 @@ e_background_load(char *file)
sprintf(buf, "/layers/%i/bg.b", i); e_db_int_get(db, buf, &(bl->bg.b));
sprintf(buf, "/layers/%i/bg.a", i); e_db_int_get(db, buf, &(bl->bg.a));
}
return bg;
D_RETURN_(bg);
}
void
@ -110,9 +121,11 @@ e_background_realize(E_Background *bg, Evas evas)
Evas_List l;
int ww, hh, count;
if (bg->evas) return;
D_ENTER;
if (bg->evas) D_RETURN;
bg->evas = evas;
if (!bg->evas) return;
if (!bg->evas) D_RETURN;
for (count = 0, l = bg->layers; l; l = l->next, count++)
{
E_Background_Layer *bl;
@ -149,6 +162,7 @@ e_background_realize(E_Background *bg, Evas evas)
bg->geom.h = 0;
e_background_set_size(bg, ww, hh);
D_RETURN;
}
void
@ -156,10 +170,12 @@ e_background_set_scroll(E_Background *bg, int sx, int sy)
{
Evas_List l;
if ((bg->geom.sx == sx) && (bg->geom.sy == sy)) return;
D_ENTER;
if ((bg->geom.sx == sx) && (bg->geom.sy == sy)) D_RETURN;
bg->geom.sx = sx;
bg->geom.sy = sy;
if (!bg->evas) return;
if (!bg->evas) D_RETURN;
for (l = bg->layers; l; l = l->next)
{
E_Background_Layer *bl;
@ -173,6 +189,7 @@ e_background_set_scroll(E_Background *bg, int sx, int sy)
bl->fw, bl->fh);
}
}
D_RETURN;
}
void
@ -180,7 +197,9 @@ e_background_set_size(E_Background *bg, int w, int h)
{
Evas_List l;
if ((bg->geom.w == w) && (bg->geom.h == h)) return;
D_ENTER;
if ((bg->geom.w == w) && (bg->geom.h == h)) D_RETURN;
bg->geom.w = w;
bg->geom.h = h;
for (l = bg->layers; l; l = l->next)
@ -229,6 +248,7 @@ e_background_set_size(E_Background *bg, int w, int h)
}
}
}
D_RETURN;
}
void
@ -236,6 +256,8 @@ e_background_set_color_class(E_Background *bg, char *cc, int r, int g, int b, in
{
Evas_List l;
D_ENTER;
for (l = bg->layers; l; l = l->next)
{
E_Background_Layer *bl;
@ -252,4 +274,6 @@ e_background_set_color_class(E_Background *bg, char *cc, int r, int g, int b, in
}
}
}
D_RETURN;
}

@ -1,6 +1,8 @@
#ifndef E_BACKGROUND_H
#define E_BACKGROUND_H
#include "object.h"
typedef struct _E_Background E_Background;
typedef struct _E_Background_Layer E_Background_Layer;
@ -14,7 +16,7 @@ E_Background_Type;
struct _E_Background
{
OBJ_PROPERTIES;
E_Object o;
Evas evas;
char *file;
@ -24,9 +26,9 @@ struct _E_Background
int w, h;
} geom;
Evas_List layers;
Evas_List layers;
Evas_Object base_obj;
Evas_Object base_obj;
};
@ -59,9 +61,9 @@ struct _E_Background_Layer
};
void e_background_free(E_Background *bg);
E_Background *e_background_new(void);
E_Background *e_background_load(char *file);
void e_background_realize(E_Background *bg, Evas evas);
void e_background_set_scroll(E_Background *bg, int sx, int sy);
void e_background_set_size(E_Background *bg, int w, int h);

File diff suppressed because it is too large Load Diff

@ -2,6 +2,7 @@
#define E_BORDER_H
#include "e.h"
#include "observer.h"
#ifndef E_DESKTOPS_TYPEDEF
#define E_DESKTOPS_TYPEDEF
@ -22,7 +23,7 @@ struct _E_Grab
struct _E_Border
{
OBJ_PROPERTIES;
E_Observee obs;
struct {
Window main;
@ -141,13 +142,13 @@ struct _E_Border
*/
void e_border_init(void);
E_Border *e_border_new(void);
void e_border_update_borders(void);
void e_border_apply_border(E_Border *b);
void e_border_reshape(E_Border *b);
E_Border *e_border_adopt(Window win, int use_client_pos);
void e_border_adopt_children(Window win);
E_Border *e_border_new(void);
void e_border_free(E_Border *b);
void e_border_remove_mouse_grabs(E_Border *b);
void e_border_remove_click_grab(E_Border *b);
void e_border_attach_mouse_grabs(E_Border *b);

@ -1,3 +1,4 @@
#include "debug.h"
#include "config.h"
#include "util.h"
@ -7,9 +8,9 @@ static char cfg_root[] = "";
{ \
if (!strcmp(type, _key)) \
{ \
if ((_var)[0]) return (_var); \
if ((_var)[0]) D_RETURN_(_var); \
sprintf((_var), ## _args); \
return (_var); \
D_RETURN_(_var); \
} \
}
@ -32,6 +33,8 @@ static char cfg_fonts_dir[PATH_MAX] = "";
char *
e_config_get(char *type)
{
D_ENTER;
/* for now use the system defaults and not the user copied settings */
/* so if i chnage stuff i dont have to rm my personaly settings and */
/* have e re-install them. yes this is different from e16 - the */
@ -75,7 +78,8 @@ e_config_get(char *type)
PACKAGE_DATA_DIR"/data/backgrounds/");
E_CONF("fonts", cfg_fonts_dir,
PACKAGE_DATA_DIR"/data/fonts/");
return "";
D_RETURN_("");
}
void
@ -83,6 +87,8 @@ e_config_init(void)
{
char buf[PATH_MAX];
D_ENTER;
#if 1 /* for now don't do this. i think a cp -r will be needed later anyway */
if (!e_file_is_dir(e_config_user_dir())) e_file_mkdir(e_config_user_dir());
sprintf(buf, "%sappearance", e_config_user_dir());
@ -108,11 +114,15 @@ e_config_init(void)
#if 0
ts();
#endif
D_RETURN;
}
void
e_config_set_user_dir(char *dir)
{
D_ENTER;
strcpy(cfg_root, dir);
/* reset the cached dir paths */
cfg_grabs_db[0] = 0;
@ -132,19 +142,24 @@ e_config_set_user_dir(char *dir)
cfg_fonts_dir[0] = 0;
/* init again - if the user hasnt got all the data */
e_config_init();
D_RETURN;
}
char *
e_config_user_dir(void)
{
if (cfg_user_dir[0]) return cfg_user_dir;
if (cfg_root[0]) return cfg_root;
D_ENTER;
if (cfg_user_dir[0]) D_RETURN_(cfg_user_dir);
if (cfg_root[0]) D_RETURN_(cfg_root);
#if 1 /* disabled for now - use system ones only */
sprintf(cfg_user_dir, "%s/.e/", e_file_home());
#else
sprintf(cfg_user_dir, PACKAGE_DATA_DIR"/data/config/");
#endif
return cfg_user_dir;
D_RETURN_(cfg_user_dir);
}
void
@ -157,6 +172,8 @@ e_config_type_add_node(E_Config_Base_Type *base, char *prefix,
{
E_Config_Node *cfg_node;
D_ENTER;
cfg_node = NEW(E_Config_Node, 1);
ZERO(cfg_node, E_Config_Node, 1);
@ -171,6 +188,8 @@ e_config_type_add_node(E_Config_Base_Type *base, char *prefix,
e_strdup(cfg_node->def_str, def_str);
}
base->nodes = evas_list_append(base->nodes, cfg_node);
D_RETURN;
}
E_Config_Base_Type *
@ -178,9 +197,12 @@ e_config_type_new(void)
{
E_Config_Base_Type *t;
D_ENTER;
t = NEW(E_Config_Base_Type, 1);
ZERO(t, E_Config_Base_Type, 1);
return t;
D_RETURN_(t);
}
void *
@ -191,9 +213,14 @@ e_config_load(char *file, char *prefix, E_Config_Base_Type *type)
Evas_List l;
char *data;
if (!e_file_exists(file)) return NULL;
D_ENTER;
if (!e_file_exists(file)) D_RETURN_(NULL);
db = e_db_open_read(file);
if (!db) return NULL;
if (!db)
D_RETURN_(NULL);
data = NEW(char, type->size);
ZERO(data, char , type->size);
for (l = type->nodes; l; l = l->next)
@ -272,7 +299,8 @@ e_config_load(char *file, char *prefix, E_Config_Base_Type *type)
}
}
e_db_close(db);
return data;
D_RETURN_(data);
}
@ -299,6 +327,8 @@ void ts(void)
E_Config_Base_Type *cf_list;
E_Config_Base_Type *cf_element;
D_ENTER;
cf_element = e_config_type_new();
E_CONFIG_NODE(cf_element, "name", E_CFG_TYPE_STR, NULL, List_Element, name, 0, 0, "DEFAULT_NAME");
E_CONFIG_NODE(cf_element, "size", E_CFG_TYPE_INT, NULL, List_Element, size, 777, 0, NULL);
@ -336,6 +366,8 @@ void ts(void)
}
exit(0);
}
D_RETURN;
}
#endif

@ -1,3 +1,4 @@
#include "debug.h"
#include "cursors.h"
#include "config.h"
#include "util.h"
@ -24,8 +25,10 @@ static void
e_cursors_idle(void *data)
{
int change = 0;
D_ENTER;
if (!cursor_change) return;
if (!cursor_change) D_RETURN;
if ((prev_cursor) && (cur_cursor) && (strcmp(prev_cursor, cur_cursor)))
change = 1;
if ((prev_cursor) && (!cur_cursor))
@ -39,14 +42,18 @@ e_cursors_idle(void *data)
cur_cursor = NULL;
cursor_change = 0;
return;
D_RETURN;
UN(data);
}
static void
e_cursors_set(char *type)
{
D_ENTER;
e_cursors_display_in_window(0, type);
D_RETURN;
}
static E_Cursor *
@ -54,6 +61,8 @@ e_cursors_find(char *type)
{
Evas_List l;
D_ENTER;
for (l = cursors; l; l = l->next)
{
E_Cursor *c;
@ -70,12 +79,12 @@ e_cursors_find(char *type)
IF_FREE(c->type);
ecore_cursor_free(c->cursor);
FREE(c);
return NULL;
D_RETURN_(NULL);
}
return c;
D_RETURN_(c);
}
}
return NULL;
D_RETURN_(NULL);
}
void
@ -83,6 +92,8 @@ e_cursors_display_in_window(Window win, char *type)
{
E_Cursor *c;
D_ENTER;
if (!type) type = "Default";
c = e_cursors_find(type);
if (!c)
@ -222,23 +233,33 @@ e_cursors_display_in_window(Window win, char *type)
ecore_cursor_set(win, c->cursor);
else
{
if (!strcmp(type, "Default")) return;
if (!strcmp(type, "Default")) D_RETURN;
e_cursors_display_in_window(win, "Default");
}
D_RETURN;
}
void
e_cursors_display(char *type)
{
D_ENTER;
IF_FREE(cur_cursor);
e_strdup(cur_cursor, type);
printf("%s\n", type);
cursor_change = 1;
D_RETURN;
}
void
e_cursors_init(void)
{
D_ENTER;
ecore_event_filter_idle_handler_add(e_cursors_idle, NULL);
e_cursors_set("Default");
D_RETURN;
}

@ -0,0 +1,86 @@
/*
Copyright (C) 2000, 2001 Christian Kreibich <cK@whoop.org>.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
deal in the Software without restriction, including without limitation the
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies of the Software and its documentation and acknowledgment shall be
given in the documentation and software packages that this Software was
used.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS<