diff -Naurp sawfish-1.1-gtk1/Makefile.in sawfish-1.1-gtk1-cygwin/Makefile.in --- sawfish-1.1-gtk1/Makefile.in 2002-06-29 05:33:57.000000000 +0100 +++ sawfish-1.1-gtk1-cygwin/Makefile.in 2002-07-03 11:59:28.000000000 +0100 @@ -29,7 +29,7 @@ SUBDIRS = @SUBDIRS@ OLD_BINARIES = sawmill sawmill-client sawmill-capplet sawmill-ui sawmill-themer -all : build.h DOC NEWS FAQ +all : build.h DOC.dbm NEWS FAQ for dir in $(SUBDIRS); do \ [ -d $$dir ] && ( cd $$dir && $(MAKE) $@ ) || exit 1; \ done @@ -67,8 +67,8 @@ uninstall : done rm -rf $(DESTDIR)$(sawfishdir)/$(version) -DOC : - repdoc DOC `find $(srcdir) \( -name '*.c' -o -name '*.jl' \) -print` +DOC.dbm : + repdoc DOC.dbm `find $(srcdir) \( -name '*.c' -o -name '*.jl' \) -print` NEWS : man/news.texi (cd man && $(MAKE) ../NEWS ) diff -Naurp sawfish-1.1-gtk1/configure sawfish-1.1-gtk1-cygwin/configure --- sawfish-1.1-gtk1/configure 2002-06-29 06:51:25.000000000 +0100 +++ sawfish-1.1-gtk1-cygwin/configure 2002-07-03 11:59:28.000000000 +0100 @@ -4257,7 +4257,7 @@ for ac_file in .. $CONFIG_FILES; do if t ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then # The file is in a subdirectory. - test ! -d "$ac_dir" && mkdir "$ac_dir" + test ! -d "$ac_dir" && mkdir -p "$ac_dir" ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" # A "../" for each directory in $ac_dir_suffix. ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` @@ -4399,7 +4399,7 @@ cat >> $CONFIG_STATUS <<\EOF ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then # The file is in a subdirectory. - test ! -d "$ac_dir" && mkdir "$ac_dir" + test ! -d "$ac_dir" && mkdir -p "$ac_dir" fi rm -f $ac_file mv conftest.h $ac_file diff -Naurp sawfish-1.1-gtk1/lisp/Makefile.in sawfish-1.1-gtk1-cygwin/lisp/Makefile.in --- sawfish-1.1-gtk1/lisp/Makefile.in 2000-09-01 21:09:58.000000000 +0100 +++ sawfish-1.1-gtk1-cygwin/lisp/Makefile.in 2002-07-03 11:59:28.000000000 +0100 @@ -30,7 +30,7 @@ sawfish_prog = $(rep_LIBTOOL) --mode=exe ../src/sawfish --batch --no-rc COMPILE_ENV = SAWFISHLISPDIR=. \ SAWFISHEXECDIR=$(top_builddir)/src/.libexec \ - SAWFISHDOCFILE=../DOC + SAWFISHDOCFILE=../DOC.dbm SAWFISH_LISP_FILES := sawfish/wm.jlc SAWFISH_LISP_DIRS := sawfish/wm diff -Naurp sawfish-1.1-gtk1/mkdll.sh sawfish-1.1-gtk1-cygwin/mkdll.sh --- sawfish-1.1-gtk1/mkdll.sh 1970-01-01 00:00:00.000000000 +0000 +++ sawfish-1.1-gtk1-cygwin/mkdll.sh 2002-07-03 11:59:28.000000000 +0100 @@ -0,0 +1,98 @@ +#!/bin/sh + +# script to generate dll from libtool-generated static archive (.la file) +# invoke with: +# mkdll.sh +# eg: +# mkdll.sh libtest.la -L/usr/local/lib -llocal + +# defaults to using gcc for libraries written in C. +# set the CC env var to use a different compiler driver: eg +# export CC=g++ +# for C++ libraries + +# defaults to using /usr/local as the installation PREFIX +# override this by setting the PREFIX env var: eg +# export PREFIX=/opt/gnome + +archive=$1 +test -f $archive || { echo $(basename $0): $archive not found; exit 1; } + +module=$(echo $(basename $archive) | sed -e 's,^lib,,' -e 's,.la$,,') + +shift +dependency_libs="$@" + +test -n "$CC" || CC=gcc +prefix=${PREFIX:=/usr/local} +case "$DLDIR" in + :) dldir= + ;; + "") dldir=../bin/ + ;; + *) dldir=$DLDIR/ + ;; +esac +case "$DLPREFIX" in + :) dlprefix= + ;; + "") dlprefix=cyg + ;; + *) dlprefix=$DLPREFIX + ;; +esac +case "$LIBPREFIX" in + :) libprefix= + ;; + "") libprefix=lib + ;; + *) libprefix=$LIBPREFIX + ;; +esac + +# get the static library name +# first look in the .la archive +old_lib=$(sed -ne '/^old_library=/ s,^old_library='\''\(.*\)'\''.*$,\1,p' .libs/$archive) +# if not there, use default name +test -n "$old_lib" || old_lib=${libprefix}${module}.a + + + +# update the archive with the dll and import lib name; fix install dir; remove relink command +# (${prefix}/lib is hard-coded here - edit it if necessary) +libdir=${prefix}/lib +if sed -e 's,^dlname='\'\'',dlname='\'${dlprefix}${module}.dll\'',' \ + -e 's,^library_names='\'\'',library_names='\'${libprefix}${module}.dll.a\'',' \ + -e 's,^libdir='\'\'',libdir='\'$libdir\'',' \ + -e 's,^relink_command=.*$,,' \ + .libs/$archive > .libs/${archive}.tmp +then cat .libs/${archive}.tmp > .libs/${archive} +fi +rm -f .libs/${archive}.tmp + +# update the install archive if it exists +if [ -f .libs/${archive}i ] ; then + if sed -e 's,^dlname='\'\'',dlname='\'${dldir}${dlprefix}${module}.dll\'',' \ + -e 's,^library_names='\'\'',library_names='\'${libprefix}${module}.dll.a\'',' \ + -e 's,^relink_command=.*$,,' \ + .libs/${archive}i > .libs/${archive}i.tmp + then cat .libs/${archive}i.tmp > .libs/${archive}i + fi + rm -f .libs/${archive}i.tmp +fi + + +# report the link command to stdout +eval echo $CC -shared -o .libs/${dlprefix}${module}.dll -Wl,--out-implib=.libs/${libprefix}${module}.dll.a \ +-Wl,--export-all-symbols -Wl,--whole-archive .libs/$old_lib -Wl,--no-whole-archive ${dependency_libs} + +# do the link command - if it fails, remove archive so make knows to re-build it +eval $CC -shared -o .libs/${dlprefix}${module}.dll -Wl,--out-implib=.libs/${libprefix}${module}.dll.a -Wl,--export-all-symbols \ +-Wl,--whole-archive .libs/$old_lib -Wl,--no-whole-archive ${dependency_libs} || { rm -f $archive; false; } +ret=$? + +# copy the .dll.a file to .dll.aT to keep libtool happy +rm -f .libs/${libprefix}${module}.dll.aT +ln .libs/${libprefix}${module}.dll.a .libs/${libprefix}${module}.dll.aT + +exit $ret diff -Naurp sawfish-1.1-gtk1/po/make-pot sawfish-1.1-gtk1-cygwin/po/make-pot --- sawfish-1.1-gtk1/po/make-pot 2000-09-01 23:45:15.000000000 +0100 +++ sawfish-1.1-gtk1-cygwin/po/make-pot 2002-07-03 15:01:10.000000000 +0100 @@ -30,7 +30,7 @@ GLADE_SRCS="../themer/themer.glade" rm -f sawfish.pot -if [ ! -r ../DOC ]; then +if [ ! -r ../DOC.dbm ]; then echo "error: Need a DOC file!" exit 1 fi @@ -38,7 +38,7 @@ fi lisp_c=.$$.lisp.c glade_c=.$$.glade.c -./sawfish-xgettext --doc-file=../DOC --c $REP_SRCS >$lisp_c +./sawfish-xgettext --doc-file=../DOC.dbm --c $REP_SRCS >$lisp_c libglade-xgettext --c $GLADE_SRCS >$glade_c xgettext --add-comments -a --no-location $lisp_c $glade_c diff -Naurp sawfish-1.1-gtk1/po/sawfish-xgettext sawfish-1.1-gtk1-cygwin/po/sawfish-xgettext --- sawfish-1.1-gtk1/po/sawfish-xgettext 2001-04-20 22:40:50.000000000 +0100 +++ sawfish-1.1-gtk1-cygwin/po/sawfish-xgettext 2002-07-03 15:02:13.000000000 +0100 @@ -153,7 +153,7 @@ Usage: sawfish-xgettext [OPTIONS...] FIL Program to extract strings from sawfish Lisp files that should be translated. - --doc-file DOC + --doc-file DOC.dbm --c --pot\n") (exit 0)) diff -Naurp sawfish-1.1-gtk1/src/Makefile.in sawfish-1.1-gtk1-cygwin/src/Makefile.in --- sawfish-1.1-gtk1/src/Makefile.in 2001-06-20 22:43:16.000000000 +0100 +++ sawfish-1.1-gtk1-cygwin/src/Makefile.in 2002-07-04 11:40:34.000000000 +0100 --- /src/sawfish-1.1-gtk1/src/Makefile.in 2001-06-20 22:43:16.000000000 +0100 +++ sawfish-1.1-gtk1/src/Makefile.in 2002-07-07 16:41:59.000000000 +0100 @@ -38,26 +38,47 @@ DL_DSTS = sawfish/wm/util/gradient.la sa sawfish/wm/util/play-sample.la DL_DIRS = sawfish/wm/util +MODULE_CFLAGS = -DSAWFISH_MODULE + +EXEEXT = .exe + override CFLAGS := $(CFLAGS) $(REP_CFLAGS) $(IMAGE_CFLAGS) $(X11_CFLAGS) $(ESD_CFLAGS) all : sawfish libclient.o $(DL_OBJS) .libexec gtk-style +$(OBJS): CPPFLAGS := $(CPPFLAGS) -DBUILD_DLL + sawfish : $(OBJS) $(LIBOBJS) - $(rep_LIBTOOL) --mode=link $(CC) -export-dynamic $(LDFLAGS) \ - -o sawfish $(OBJS) $(LIBOBJS) $(REP_LIBS) \ - $(IMAGE_LIBS) $(X11_LIBS) $(EXTRA_X11_LIBS) $(LIBS) + gcc $(LDFLAGS) -Wl,--base-file,sawfish.base -o sawfish $(OBJS) $(LIBOBJS) $(REP_LIBS) $(IMAGE_LIBS) $(X11_LIBS) $(EXTRA_X11_LIBS) $(LIBS) -lextras + dlltool --base-file sawfish.base --output-def sawfish.def --output-exp sawfish.exp $(OBJS) + gcc $(LDFLAGS) -Wl,--base-file,sawfish.base,sawfish.exp -o sawfish $(OBJS) $(LIBOBJS) $(REP_LIBS) $(IMAGE_LIBS) $(X11_LIBS) $(EXTRA_X11_LIBS) $(LIBS) -lextras + dlltool --base-file sawfish.base --input-def sawfish.def --output-exp sawfish.exp + gcc $(LDFLAGS) -Wl,sawfish.exp -o sawfish $(OBJS) $(LIBOBJS) $(REP_LIBS) $(IMAGE_LIBS) $(X11_LIBS) $(EXTRA_X11_LIBS) $(LIBS) -lextras + dlltool --dllname sawfish.exe --input-def sawfish.def --output-lib libsawfish.a $(OBJS) %.la : %.lo $(rep_DL_LD) $(LDFLAGS) -o $@ $< + PREFIX=$(prefix) DLDIR=":" DLPREFIX=":" LIBPREFIX=":" sh $(top_srcdir)/mkdll.sh $@ libsawfish.a $(REP_LIBS) $(IMAGE_LIBS) $(X11_LIBS) $(EXTRA_X11_LIBS) $(LIBS) play-sample.la : play-sample.lo $(rep_DL_LD) $(LDFLAGS) -o $@ $< $(ESD_LIBS) $(AUDIOFILE_LIBS) + PREFIX=$(prefix) DLDIR=":" DLPREFIX=":" LIBPREFIX=":" sh $(top_srcdir)/mkdll.sh $@ $(ESD_LIBS) $(AUDIOFILE_LIBS) libsawfish.a $(REP_LIBS) $(IMAGE_LIBS) $(X11_LIBS) $(EXTRA_X11_LIBS) $(LIBS) libclient_.lo : libclient.c $(rep_LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $< client.la : client.lo libclient_.lo $(rep_DL_LD) $(LDFLAGS) -o $@ $^ $(X11_LIBS) $(REP_LIBS) $(LIBS) + PREFIX=$(prefix) DLDIR=":" DLPREFIX=":" LIBPREFIX=":" sh $(top_srcdir)/mkdll.sh $@ $(X11_LIBS) $(REP_LIBS) $(LIBS) + +flippers.lo : flippers.c + $(rep_LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(MODULE_CFLAGS) $< + +x.lo : x.c + $(rep_LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(MODULE_CFLAGS) $< + +selection.lo : selection.c + $(rep_LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(MODULE_CFLAGS) $< gtk-style : gtk-style.c $(CC) $(CPPFLAGS) $(GTK_CFLAGS) $(LDFLAGS) -o $@ $< $(GTK_LIBS) $(LIBS) @@ -66,7 +87,7 @@ install : all installdirs for p in sawfish; do \ $(rep_LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)${bindir}; \ done - $(rep_DL_INSTALL) gtk-style $(DESTDIR)${sawfishexecdir} + $(rep_DL_INSTALL) gtk-style$(EXEEXT) $(DESTDIR)${sawfishexecdir} $(foreach x,$(DL_DSTS),\ $(rep_LIBTOOL) --mode=install $(INSTALL_PROGRAM) \ $(notdir $(x)) $(DESTDIR)$(sawfishexecdir)/$(dir $(x));) @@ -74,11 +95,11 @@ install : all installdirs $(rep_LIBTOOL) --mode=install $(INSTALL_PROGRAM) client.la $(DESTDIR)$(repexecdir)/sawfish/ uninstall : - for p in sawfish; do \ + for p in sawfish$(EXEEXT); do \ $(rep_LIBTOOL) rm $(DESTDIR)${bindir}/$$p; \ done rm -f $(DESTDIR)$(bindir)/sawfish-client - $(rep_DL_UNINSTALL) $(DESTDIR)${sawfishexecdir}/gtk-style + $(rep_DL_UNINSTALL) $(DESTDIR)${sawfishexecdir}/gtk-style$(EXEEXT) for dl in $(DL_DSTS); do \ $(rep_LIBTOOL) rm $(DESTDIR)${sawfishexecdir}/$$dl; \ done diff -Naurp sawfish-1.1-gtk1/src/fake-libexec sawfish-1.1-gtk1-cygwin/src/fake-libexec --- sawfish-1.1-gtk1/src/fake-libexec 2000-09-28 13:31:04.000000000 +0100 +++ sawfish-1.1-gtk1-cygwin/src/fake-libexec 2002-07-03 11:59:28.000000000 +0100 @@ -21,6 +21,6 @@ for f in $libs; do rm -f $dest/$b echo "$src/$b -> $dest/$b" ../mkinstalldirs $dest - ln -s $src/$b $dest/$b + cp $src/$b $dest/$b done done diff -Naurp sawfish-1.1-gtk1/src/libclient.c sawfish-1.1-gtk1-cygwin/src/libclient.c --- sawfish-1.1-gtk1/src/libclient.c 2002-04-09 04:36:33.000000000 +0100 +++ sawfish-1.1-gtk1-cygwin/src/libclient.c 2002-07-03 14:43:31.000000000 +0100 @@ -391,6 +391,16 @@ unix_server_init (char *display) sprintf(addr.sun_path, SAWMILL_SOCK_DIR "/%s", user_login_name (), display); addr.sun_family = AF_UNIX; +#ifdef __CYGWIN__ + { + int i; + for (i = 0; i < strlen(addr.sun_path); i++) { + if (addr.sun_path[i] == ':') { + addr.sun_path[i] = '%'; + } + } + } +#endif socket_fd = socket(AF_UNIX, SOCK_STREAM, 0); if(socket_fd >= 0) diff -Naurp sawfish-1.1-gtk1/src/main.c sawfish-1.1-gtk1-cygwin/src/main.c --- sawfish-1.1-gtk1/src/main.c 2002-04-10 04:59:54.000000000 +0100 +++ sawfish-1.1-gtk1-cygwin/src/main.c 2002-07-03 11:59:28.000000000 +0100 @@ -204,7 +204,7 @@ sawfish_symbols (void) { Fset (Qdocumentation_file, rep_concat2 (rep_STR (Fsymbol_value - (Qsawfish_exec_directory, Qt)), "/DOC")); + (Qsawfish_exec_directory, Qt)), "/DOC.dbm")); } Fset (Qdocumentation_files, Fcons(Fsymbol_value (Qdocumentation_file, Qt), diff -Naurp sawfish-1.1-gtk1/src/sawmill_subrs.h sawfish-1.1-gtk1-cygwin/src/sawmill_subrs.h --- sawfish-1.1-gtk1/src/sawmill_subrs.h 2002-04-23 08:44:11.000000000 +0100 +++ sawfish-1.1-gtk1-cygwin/src/sawmill_subrs.h 2002-07-03 13:24:21.000000000 +0100 @@ -22,343 +22,351 @@ #ifndef SAWMILL_SUBRS_H #define SAWMILL_SUBRS_H +#if defined ( __CYGWIN__ ) +#if defined ( BUILD_DLL ) +#define SAWFISH_IMPORT __declspec(dllexport) +#else +#define SAWFISH_IMPORT __declspec(dllimport) +#endif +#endif /* __CYGWIN__ */ + /* from colors.c */ -extern int color_type; -extern repv Qdefault_foreground; -extern repv Fget_color_rgb (repv red, repv green, repv blue); -extern repv Fget_color (repv name); -extern repv Fcolor_name (repv color); -extern repv Fcolor_rgb (repv color); -extern repv Fcolorp (repv arg); -extern void colors_init (void); -extern void colors_kill (void); +extern SAWFISH_IMPORT int color_type; +extern SAWFISH_IMPORT repv Qdefault_foreground; +extern SAWFISH_IMPORT repv Fget_color_rgb (repv red, repv green, repv blue); +extern SAWFISH_IMPORT repv Fget_color (repv name); +extern SAWFISH_IMPORT repv Fcolor_name (repv color); +extern SAWFISH_IMPORT repv Fcolor_rgb (repv color); +extern SAWFISH_IMPORT repv Fcolorp (repv arg); +extern SAWFISH_IMPORT void colors_init (void); +extern SAWFISH_IMPORT void colors_kill (void); /* from cursors.c */ -extern int cursor_type; -extern repv default_cursor, Qcursor_shape; -extern repv Fget_cursor (repv name); -extern repv Vdefault_cursor (repv arg); -extern void cursors_init (void); -extern void cursors_kill (void); +extern SAWFISH_IMPORT int cursor_type; +extern SAWFISH_IMPORT repv default_cursor, Qcursor_shape; +extern SAWFISH_IMPORT repv Fget_cursor (repv name); +extern SAWFISH_IMPORT repv Vdefault_cursor (repv arg); +extern SAWFISH_IMPORT void cursors_init (void); +extern SAWFISH_IMPORT void cursors_kill (void); /* from commands.c */ -extern repv this_command, last_command, Qpost_command_hook, Qpre_command_hook; -extern repv Qthis_command, Qlast_command, Qprefix_arg, Qcurrent_prefix_arg; -extern repv Fcall_command (repv cmd, repv Farg); -extern repv Fprefix_numeric_argument (repv arg); -extern repv Finteractive (repv arg_list); -extern repv Fcommandp (repv arg); -extern void commands_init (void); +extern SAWFISH_IMPORT repv this_command, last_command, Qpost_command_hook, Qpre_command_hook; +extern SAWFISH_IMPORT repv Qthis_command, Qlast_command, Qprefix_arg, Qcurrent_prefix_arg; +extern SAWFISH_IMPORT repv Fcall_command (repv cmd, repv Farg); +extern SAWFISH_IMPORT repv Fprefix_numeric_argument (repv arg); +extern SAWFISH_IMPORT repv Finteractive (repv arg_list); +extern SAWFISH_IMPORT repv Fcommandp (repv arg); +extern SAWFISH_IMPORT void commands_init (void); /* from display.c */ -extern char *prog_name; -extern Display *dpy; -extern int screen_num, screen_width, screen_height, preferred_depth; -extern Visual *preferred_visual; -extern Window root_window, no_focus_window; -extern Atom xa_wm_state, xa_wm_change_state, xa_wm_protocols, + +extern SAWFISH_IMPORT Display *dpy; +extern SAWFISH_IMPORT int screen_num, screen_width, screen_height, preferred_depth; +extern SAWFISH_IMPORT Visual *preferred_visual; +extern SAWFISH_IMPORT Window root_window, no_focus_window; +extern SAWFISH_IMPORT Atom xa_wm_state, xa_wm_change_state, xa_wm_protocols, xa_wm_delete_window, xa_wm_colormap_windows, xa_wm_take_focus, xa_compound_text; -extern int shape_event_base, shape_error_base; -extern repv Qdisplay_name, Qcanonical_display_name; -extern bool sys_init (char *program_name); -extern void sys_kill (void); -extern repv x_atom_symbol (Atom atom); -extern Window x_win_from_arg (repv arg); -extern void send_client_message (Window w, Atom a, Time time); +extern SAWFISH_IMPORT int shape_event_base, shape_error_base; +extern SAWFISH_IMPORT repv Qdisplay_name, Qcanonical_display_name; +extern SAWFISH_IMPORT bool sys_init (char *program_name); +extern SAWFISH_IMPORT void sys_kill (void); +extern SAWFISH_IMPORT repv x_atom_symbol (Atom atom); +extern SAWFISH_IMPORT Window x_win_from_arg (repv arg); +extern SAWFISH_IMPORT void send_client_message (Window w, Atom a, Time time); #if XlibSpecificationRelease < 6 -extern Status XGetAtomNames (Display *dpy, Atom *atoms, +extern SAWFISH_IMPORT Status XGetAtomNames (Display *dpy, Atom *atoms, int count, char **names_ret); #endif -extern void db_printf(char *fmt, ...); +extern SAWFISH_IMPORT void db_printf(char *fmt, ...); /* from events.c */ -extern void (*event_handlers[LASTEvent])(XEvent *ev); -extern Time last_event_time; -extern XEvent *current_x_event; -extern repv Qvisibility_notify_hook, Qdestroy_notify_hook, Qmap_notify_hook, +extern SAWFISH_IMPORT void (*event_handlers[LASTEvent])(XEvent *ev); +extern SAWFISH_IMPORT Time last_event_time; +extern SAWFISH_IMPORT XEvent *current_x_event; +extern SAWFISH_IMPORT repv Qvisibility_notify_hook, Qdestroy_notify_hook, Qmap_notify_hook, Qunmap_notify_hook, Qreparent_notify_hook, Qenter_notify_hook, Qleave_notify_hook, Qfocus_in_hook, Qfocus_out_hook, Qclient_message_hook, Qwindow_moved_hook, Qwindow_resized_hook; -extern repv Qiconify_window, Quniconify_window; -extern struct frame_part *clicked_frame_part; -extern void save_timestamp (Time t); -extern void invalidate_cached_mouse_position (void); -extern void unclick_current_fp (void); -extern void synthesize_button_release (void); -extern void map_request (XEvent *ev); -extern void send_synthetic_configure (Lisp_Window *w); -extern long get_event_mask (int type); -extern Time get_server_timestamp (void); -extern void mark_pointer_grabbed (void); -extern void ungrab_pointer (void); -extern void register_event_handler (Window w, void (*fun)(XEvent *ev)); -extern void deregister_event_handler (Window w); -extern void handle_input_mask(long mask); -extern void handle_sync_input(int fd); -extern repv Fquery_pointer (repv get); -extern repv Fquery_button_press_pointer (void); -extern repv Fquery_button_press_window (void); -extern repv Fquery_pointer_window (void); -extern repv Fcurrent_event_window (repv win); -extern void events_init (void); -extern void events_kill (void); +extern SAWFISH_IMPORT repv Qiconify_window, Quniconify_window; +extern SAWFISH_IMPORT struct frame_part *clicked_frame_part; +extern SAWFISH_IMPORT void save_timestamp (Time t); +extern SAWFISH_IMPORT void invalidate_cached_mouse_position (void); +extern SAWFISH_IMPORT void unclick_current_fp (void); +extern SAWFISH_IMPORT void synthesize_button_release (void); +extern SAWFISH_IMPORT void map_request (XEvent *ev); +extern SAWFISH_IMPORT void send_synthetic_configure (Lisp_Window *w); +extern SAWFISH_IMPORT long get_event_mask (int type); +extern SAWFISH_IMPORT Time get_server_timestamp (void); +extern SAWFISH_IMPORT void mark_pointer_grabbed (void); +extern SAWFISH_IMPORT void ungrab_pointer (void); +extern SAWFISH_IMPORT void register_event_handler (Window w, void (*fun)(XEvent *ev)); +extern SAWFISH_IMPORT void deregister_event_handler (Window w); +extern SAWFISH_IMPORT void handle_input_mask(long mask); +extern SAWFISH_IMPORT void handle_sync_input(int fd); +extern SAWFISH_IMPORT repv Fquery_pointer (repv get); +extern SAWFISH_IMPORT repv Fquery_button_press_pointer (void); +extern SAWFISH_IMPORT repv Fquery_button_press_window (void); +extern SAWFISH_IMPORT repv Fquery_pointer_window (void); +extern SAWFISH_IMPORT repv Fcurrent_event_window (repv win); +extern SAWFISH_IMPORT void events_init (void); +extern SAWFISH_IMPORT void events_kill (void); /* from fonts.c */ -extern int font_type; -extern repv Qdefault_font; -extern int x_text_width (repv font, u_char *string, size_t len); -extern void x_draw_string (Window id, repv font, GC gc, +extern SAWFISH_IMPORT int font_type; +extern SAWFISH_IMPORT repv Qdefault_font; +extern SAWFISH_IMPORT int x_text_width (repv font, u_char *string, size_t len); +extern SAWFISH_IMPORT void x_draw_string (Window id, repv font, GC gc, int x, int y, u_char *string, size_t len); -extern repv Fget_font(repv name); -extern repv Ffont_get(repv font, repv prop); -extern repv Ffont_put(repv font, repv prop, repv value); -extern repv Ffont_name (repv font); -extern repv Ftext_width (repv string, repv font); -extern repv Ffont_height (repv font); -extern repv Ffontp (repv font); -extern void fonts_init (void); -extern void fonts_kill (void); +extern SAWFISH_IMPORT repv Fget_font(repv name); +extern SAWFISH_IMPORT repv Ffont_get(repv font, repv prop); +extern SAWFISH_IMPORT repv Ffont_put(repv font, repv prop, repv value); +extern SAWFISH_IMPORT repv Ffont_name (repv font); +extern SAWFISH_IMPORT repv Ftext_width (repv string, repv font); +extern SAWFISH_IMPORT repv Ffont_height (repv font); +extern SAWFISH_IMPORT repv Ffontp (repv font); +extern SAWFISH_IMPORT void fonts_init (void); +extern SAWFISH_IMPORT void fonts_kill (void); /* from frames.c */ -extern int frame_part_type; -extern repv Qdefault_frame, Qnil_frame; -extern repv Qfocused, Qhighlighted, Qclicked; -extern repv Qhide_client, Qclass, Qframe_part_classes; -extern repv Qinternal, Qtiled, Qcenter, Qright, Qleft, Qtop, Qbottom; -extern repv Qtext, Qx_justify, Qy_justify, Qbackground, Qforeground; -extern repv Qrenderer, Qrender_scale, Qfont, Qwidth, Qheight; -extern repv Qleft_edge, Qtop_edge, Qright_edge, Qbottom_edge; -extern repv Qcursor, Qfocused, Qhighlighted, Qclicked; -extern bool frame_state_mutex; -extern int current_state (struct frame_part *fp); -extern void set_frame_shapes (Lisp_Window *w, bool atomic); -extern void queue_reshape_frame (Lisp_Window *w); -extern void commit_queued_reshapes (void); -extern void refresh_frame_part (struct frame_part *fp); -extern void refresh_frame_parts (Lisp_Window *w); -extern void create_window_frame (Lisp_Window *w); -extern void destroy_window_frame (Lisp_Window *w, bool leave_frame_win); -extern struct frame_part *find_frame_part_by_window (Window id); -extern void frame_part_exposer (XExposeEvent *ev, struct frame_part *fp); -extern repv get_keymap_for_frame_part (struct frame_part *fp); -extern void mark_frame_parts (Lisp_Window *w); -extern void reset_frame_parts (Lisp_Window *w); -extern void restack_frame_parts (Lisp_Window *w); -extern repv Vframe_draw_mutex (repv arg); -extern repv Vframe_state_mutex (repv arg); -extern void frames_init (void); -extern void frames_kill (void); +extern SAWFISH_IMPORT int frame_part_type; +extern SAWFISH_IMPORT repv Qdefault_frame, Qnil_frame; +extern SAWFISH_IMPORT repv Qfocused, Qhighlighted, Qclicked; +extern SAWFISH_IMPORT repv Qhide_client, Qclass, Qframe_part_classes; +extern SAWFISH_IMPORT repv Qinternal, Qtiled, Qcenter, Qright, Qleft, Qtop, Qbottom; +extern SAWFISH_IMPORT repv Qtext, Qx_justify, Qy_justify, Qbackground, Qforeground; +extern SAWFISH_IMPORT repv Qrenderer, Qrender_scale, Qfont, Qwidth, Qheight; +extern SAWFISH_IMPORT repv Qleft_edge, Qtop_edge, Qright_edge, Qbottom_edge; +extern SAWFISH_IMPORT repv Qcursor, Qfocused, Qhighlighted, Qclicked; +extern SAWFISH_IMPORT bool frame_state_mutex; +extern SAWFISH_IMPORT int current_state (struct frame_part *fp); +extern SAWFISH_IMPORT void set_frame_shapes (Lisp_Window *w, bool atomic); +extern SAWFISH_IMPORT void queue_reshape_frame (Lisp_Window *w); +extern SAWFISH_IMPORT void commit_queued_reshapes (void); +extern SAWFISH_IMPORT void refresh_frame_part (struct frame_part *fp); +extern SAWFISH_IMPORT void refresh_frame_parts (Lisp_Window *w); +extern SAWFISH_IMPORT void create_window_frame (Lisp_Window *w); +extern SAWFISH_IMPORT void destroy_window_frame (Lisp_Window *w, bool leave_frame_win); +extern SAWFISH_IMPORT struct frame_part *find_frame_part_by_window (Window id); +extern SAWFISH_IMPORT void frame_part_exposer (XExposeEvent *ev, struct frame_part *fp); +extern SAWFISH_IMPORT repv get_keymap_for_frame_part (struct frame_part *fp); +extern SAWFISH_IMPORT void mark_frame_parts (Lisp_Window *w); +extern SAWFISH_IMPORT void reset_frame_parts (Lisp_Window *w); +extern SAWFISH_IMPORT void restack_frame_parts (Lisp_Window *w); +extern SAWFISH_IMPORT repv Vframe_draw_mutex (repv arg); +extern SAWFISH_IMPORT repv Vframe_state_mutex (repv arg); +extern SAWFISH_IMPORT void frames_init (void); +extern SAWFISH_IMPORT void frames_kill (void); /* from functions.c */ -extern repv Qroot, Qafter_restacking_hook, Qposition, Qspacing; -extern repv Fdelete_window (repv win); -extern repv Fdestroy_window (repv win); -extern repv Frestack_windows (repv list); -extern repv Fx_raise_window (repv win, repv above); -extern repv Fx_lower_window (repv win, repv below); -extern repv Fwarp_cursor (repv x, repv y); -extern repv Fmove_window_to (repv win, repv x, repv y); -extern repv Fresize_window_to (repv win, repv x, repv y); -extern repv Fmove_resize_window_to (repv win, repv x, repv y, repv w, repv h); -extern repv Fgrab_server (void); -extern repv Fungrab_server (void); -extern repv Fserver_grabbed_p (void); -extern void regrab_server (void); -extern repv Fgrab_pointer (repv win, repv cursor, repv ptr_sync, +extern SAWFISH_IMPORT repv Qroot, Qafter_restacking_hook, Qposition, Qspacing; +extern SAWFISH_IMPORT repv Fdelete_window (repv win); +extern SAWFISH_IMPORT repv Fdestroy_window (repv win); +extern SAWFISH_IMPORT repv Frestack_windows (repv list); +extern SAWFISH_IMPORT repv Fx_raise_window (repv win, repv above); +extern SAWFISH_IMPORT repv Fx_lower_window (repv win, repv below); +extern SAWFISH_IMPORT repv Fwarp_cursor (repv x, repv y); +extern SAWFISH_IMPORT repv Fmove_window_to (repv win, repv x, repv y); +extern SAWFISH_IMPORT repv Fresize_window_to (repv win, repv x, repv y); +extern SAWFISH_IMPORT repv Fmove_resize_window_to (repv win, repv x, repv y, repv w, repv h); +extern SAWFISH_IMPORT repv Fgrab_server (void); +extern SAWFISH_IMPORT repv Fungrab_server (void); +extern SAWFISH_IMPORT repv Fserver_grabbed_p (void); +extern SAWFISH_IMPORT void regrab_server (void); +extern SAWFISH_IMPORT repv Fgrab_pointer (repv win, repv cursor, repv ptr_sync, repv kbd_sync, repv confine_to); -extern repv Fungrab_pointer (void); -extern repv Fgrab_keyboard (repv win, repv ptr_sync, repv kbd_sync); -extern repv Fungrab_keyboard (void); -extern repv Fdelete_x_property (repv win, repv prop); -extern repv Flist_x_properties (repv win); -extern repv Fget_x_property (repv win, repv prop); -extern repv Fset_x_property (repv win, repv prop, repv data, +extern SAWFISH_IMPORT repv Fungrab_pointer (void); +extern SAWFISH_IMPORT repv Fgrab_keyboard (repv win, repv ptr_sync, repv kbd_sync); +extern SAWFISH_IMPORT repv Fungrab_keyboard (void); +extern SAWFISH_IMPORT repv Fdelete_x_property (repv win, repv prop); +extern SAWFISH_IMPORT repv Flist_x_properties (repv win); +extern SAWFISH_IMPORT repv Fget_x_property (repv win, repv prop); +extern SAWFISH_IMPORT repv Fset_x_property (repv win, repv prop, repv data, repv type, repv format); -extern repv Fget_x_text_property (repv win, repv prop); -extern repv Fset_x_text_property (repv win, repv prop, repv vect, repv enc); -extern repv Fsend_client_message (repv win, repv type, repv data, repv format); -extern repv Fcreate_window (repv parent, repv x, repv y, +extern SAWFISH_IMPORT repv Fget_x_text_property (repv win, repv prop); +extern SAWFISH_IMPORT repv Fset_x_text_property (repv win, repv prop, repv vect, repv enc); +extern SAWFISH_IMPORT repv Fsend_client_message (repv win, repv type, repv data, repv format); +extern SAWFISH_IMPORT repv Fcreate_window (repv parent, repv x, repv y, repv width, repv height); -extern repv Fx_atom (repv symbol); -extern repv Fx_atom_name (repv atom); -extern repv Fdisplay_message (repv text, repv attrs); -extern void functions_init (void); -extern void functions_kill (void); +extern SAWFISH_IMPORT repv Fx_atom (repv symbol); +extern SAWFISH_IMPORT repv Fx_atom_name (repv atom); +extern SAWFISH_IMPORT repv Fdisplay_message (repv text, repv attrs); +extern SAWFISH_IMPORT void functions_init (void); +extern SAWFISH_IMPORT void functions_kill (void); /* from images.c */ -extern int image_type; -extern Colormap image_cmap; -extern Visual *image_visual; -extern int image_depth; -extern Pixmap make_bitmap (repv file, int *widthp, int *heightp, +extern SAWFISH_IMPORT int image_type; +extern SAWFISH_IMPORT Colormap image_cmap; +extern SAWFISH_IMPORT Visual *image_visual; +extern SAWFISH_IMPORT int image_depth; +extern SAWFISH_IMPORT Pixmap make_bitmap (repv file, int *widthp, int *heightp, int *x_hotp, int *y_hotp); -extern repv Fmake_image (repv file, repv plist); -extern repv Fmake_image_from_x_drawable (repv id, repv mask_id); -extern repv Fwindow_icon_image (repv win); -extern repv Fcopy_image (repv source); -extern repv Fimage_get (repv image, repv prop); -extern repv Fimage_put (repv image, repv prop, repv value); -extern repv Fimagep (repv arg); -extern repv Fimage_dimensions (repv img); -extern repv Fimage_shape_color (repv img); -extern repv Fset_image_shape_color (repv img, repv shape); -extern repv Fimage_border (repv img); -extern repv Fset_image_border (repv img, repv, repv, repv, repv); -extern repv Fmake_sized_image (repv w, repv h, repv color); -extern repv Fbevel_image (repv img, repv border, repv up, repv bevel_percent); -extern repv Fclear_image (repv img, repv color); -extern repv Ftile_image (repv dst, repv src); -extern void pixmap_cache_flush_image (Lisp_Image *im); -extern void image_render (Lisp_Image *image, int width, int height, +extern SAWFISH_IMPORT repv Fmake_image (repv file, repv plist); +extern SAWFISH_IMPORT repv Fmake_image_from_x_drawable (repv id, repv mask_id); +extern SAWFISH_IMPORT repv Fwindow_icon_image (repv win); +extern SAWFISH_IMPORT repv Fcopy_image (repv source); +extern SAWFISH_IMPORT repv Fimage_get (repv image, repv prop); +extern SAWFISH_IMPORT repv Fimage_put (repv image, repv prop, repv value); +extern SAWFISH_IMPORT repv Fimagep (repv arg); +extern SAWFISH_IMPORT repv Fimage_dimensions (repv img); +extern SAWFISH_IMPORT repv Fimage_shape_color (repv img); +extern SAWFISH_IMPORT repv Fset_image_shape_color (repv img, repv shape); +extern SAWFISH_IMPORT repv Fimage_border (repv img); +extern SAWFISH_IMPORT repv Fset_image_border (repv img, repv, repv, repv, repv); +extern SAWFISH_IMPORT repv Fmake_sized_image (repv w, repv h, repv color); +extern SAWFISH_IMPORT repv Fbevel_image (repv img, repv border, repv up, repv bevel_percent); +extern SAWFISH_IMPORT repv Fclear_image (repv img, repv color); +extern SAWFISH_IMPORT repv Ftile_image (repv dst, repv src); +extern SAWFISH_IMPORT void pixmap_cache_flush_image (Lisp_Image *im); +extern SAWFISH_IMPORT void image_render (Lisp_Image *image, int width, int height, Pixmap *pixmap, Pixmap *mask); -extern void image_free_pixmaps (Lisp_Image *image, Pixmap pixmap, Pixmap mask); -extern int best_color_match (int red, int green, int blue); -extern void paste_image_to_drawable (Lisp_Image *img, Drawable d, +extern SAWFISH_IMPORT void image_free_pixmaps (Lisp_Image *image, Pixmap pixmap, Pixmap mask); +extern SAWFISH_IMPORT int best_color_match (int red, int green, int blue); +extern SAWFISH_IMPORT void paste_image_to_drawable (Lisp_Image *img, Drawable d, int x, int y, int w, int h); -extern int image_width (Lisp_Image *im); -extern int image_height (Lisp_Image *im); -extern u_char *image_pixels (Lisp_Image *im); -extern int image_row_stride (Lisp_Image *im); -extern int image_channels (Lisp_Image *im); -extern void image_changed (Lisp_Image *im); -extern void images_init (void); -extern void images_kill (void); +extern SAWFISH_IMPORT int image_width (Lisp_Image *im); +extern SAWFISH_IMPORT int image_height (Lisp_Image *im); +extern SAWFISH_IMPORT u_char *image_pixels (Lisp_Image *im); +extern SAWFISH_IMPORT int image_row_stride (Lisp_Image *im); +extern SAWFISH_IMPORT int image_channels (Lisp_Image *im); +extern SAWFISH_IMPORT void image_changed (Lisp_Image *im); +extern SAWFISH_IMPORT void images_init (void); +extern SAWFISH_IMPORT void images_kill (void); /* from keys.c */ -extern repv Qglobal_keymap, Qunbound_key_hook, Qkeymap; -extern repv eval_input_event (repv context_map); -extern bool print_event_prefix(void); -extern repv Fmake_keymap (void); -extern repv Fmake_sparse_keymap (repv base); -extern repv Fbind_keys (repv args); -extern repv Funbind_keys (repv args); -extern repv Fgrab_keymap (repv map); -extern repv Fungrab_keymap (repv map); -extern repv Fcurrent_event_string (void); -extern repv Fcurrent_event (void); -extern repv Fproxy_current_event (repv win, repv mask, repv prop); -extern repv Fallow_events (repv mode); -extern repv Flast_event (void); -extern repv Fevent_name (repv ev); -extern repv Flookup_event (repv name); -extern repv Flookup_event_binding (repv ev); -extern repv Fsearch_keymap (repv ev, repv km); -extern repv Fkeymapp (repv arg); -extern repv Feventp (repv arg); -extern void grab_window_events (Lisp_Window *w, bool grab); -extern void grab_keymap_events (Window grab_win, repv keymap, bool grab); -extern void update_keyboard_mapping (void); -extern void keys_init (void); +extern SAWFISH_IMPORT repv Qglobal_keymap, Qunbound_key_hook, Qkeymap; +extern SAWFISH_IMPORT repv eval_input_event (repv context_map); +extern SAWFISH_IMPORT bool print_event_prefix(void); +extern SAWFISH_IMPORT repv Fmake_keymap (void); +extern SAWFISH_IMPORT repv Fmake_sparse_keymap (repv base); +extern SAWFISH_IMPORT repv Fbind_keys (repv args); +extern SAWFISH_IMPORT repv Funbind_keys (repv args); +extern SAWFISH_IMPORT repv Fgrab_keymap (repv map); +extern SAWFISH_IMPORT repv Fungrab_keymap (repv map); +extern SAWFISH_IMPORT repv Fcurrent_event_string (void); +extern SAWFISH_IMPORT repv Fcurrent_event (void); +extern SAWFISH_IMPORT repv Fproxy_current_event (repv win, repv mask, repv prop); +extern SAWFISH_IMPORT repv Fallow_events (repv mode); +extern SAWFISH_IMPORT repv Flast_event (void); +extern SAWFISH_IMPORT repv Fevent_name (repv ev); +extern SAWFISH_IMPORT repv Flookup_event (repv name); +extern SAWFISH_IMPORT repv Flookup_event_binding (repv ev); +extern SAWFISH_IMPORT repv Fsearch_keymap (repv ev, repv km); +extern SAWFISH_IMPORT repv Fkeymapp (repv arg); +extern SAWFISH_IMPORT repv Feventp (repv arg); +extern SAWFISH_IMPORT void grab_window_events (Lisp_Window *w, bool grab); +extern SAWFISH_IMPORT void grab_keymap_events (Window grab_win, repv keymap, bool grab); +extern SAWFISH_IMPORT void update_keyboard_mapping (void); +extern SAWFISH_IMPORT void keys_init (void); /* from main.c */ -extern int exit_code; -extern repv Qsawfish_directory, Qsawfish_lisp_lib_directory, +extern SAWFISH_IMPORT int exit_code; +extern SAWFISH_IMPORT repv Qsawfish_directory, Qsawfish_lisp_lib_directory, Qsawfish_site_lisp_directory, Qsawfish_exec_directory; -extern repv Qwindow_error, Qinvalid_pos, Qbad_event_desc; -extern repv Qbefore_exit_hook, Qfonts_are_fontsets; -extern bool batch_mode_p (void); -extern int main (int argc, char **argv); -extern repv Fquit (void); -extern repv Frestart (void); -extern void add_hook (repv sym, repv fun); -extern repv module_symbol_value (repv mod, repv sym); -extern repv global_symbol_value (repv sym); +extern SAWFISH_IMPORT repv Qwindow_error, Qinvalid_pos, Qbad_event_desc; +extern SAWFISH_IMPORT repv Qbefore_exit_hook, Qfonts_are_fontsets; +extern SAWFISH_IMPORT bool batch_mode_p (void); +extern SAWFISH_IMPORT int main (int argc, char **argv); +extern SAWFISH_IMPORT repv Fquit (void); +extern SAWFISH_IMPORT repv Frestart (void); +extern SAWFISH_IMPORT void add_hook (repv sym, repv fun); +extern SAWFISH_IMPORT repv module_symbol_value (repv mod, repv sym); +extern SAWFISH_IMPORT repv global_symbol_value (repv sym); /* from multihead.c */ -extern void multihead_init (int *argcp, char ***argvp); +extern SAWFISH_IMPORT void multihead_init (int *argcp, char ***argvp); /* from pixmap-cache.c */ #ifdef NEED_PIXMAP_CACHE -extern bool pixmap_cache_ref (Lisp_Image *im, int width, int height, +extern SAWFISH_IMPORT bool pixmap_cache_ref (Lisp_Image *im, int width, int height, Pixmap *p1, Pixmap *p2); -extern void pixmap_cache_unref (Lisp_Image *im, Pixmap p1, Pixmap p2); -extern void pixmap_cache_set (Lisp_Image *im, int width, int height, +extern SAWFISH_IMPORT void pixmap_cache_unref (Lisp_Image *im, Pixmap p1, Pixmap p2); +extern SAWFISH_IMPORT void pixmap_cache_set (Lisp_Image *im, int width, int height, Pixmap p1, Pixmap p2); -extern void pixmap_cache_flush_image (Lisp_Image *im); +extern SAWFISH_IMPORT void pixmap_cache_flush_image (Lisp_Image *im); #endif -extern repv Fpixmap_cache_control (repv max); -extern void pixmap_cache_init (void); +extern SAWFISH_IMPORT repv Fpixmap_cache_control (repv max); +extern SAWFISH_IMPORT void pixmap_cache_init (void); /* from server.c */ -extern void server_init (void); -extern void server_kill (void); +extern SAWFISH_IMPORT void server_init (void); +extern SAWFISH_IMPORT void server_kill (void); /* from session.c */ -extern repv Qsm_save_yourself; -extern repv Fsm_set_property (repv prop, repv value); -extern repv Fsm_delete_property (repv prop); -extern repv Fsm_connect (repv id); -extern repv Fsm_disconnect (void); -extern void session_init (void); -extern void session_kill (void); +extern SAWFISH_IMPORT repv Qsm_save_yourself; +extern SAWFISH_IMPORT repv Fsm_set_property (repv prop, repv value); +extern SAWFISH_IMPORT repv Fsm_delete_property (repv prop); +extern SAWFISH_IMPORT repv Fsm_connect (repv id); +extern SAWFISH_IMPORT repv Fsm_disconnect (void); +extern SAWFISH_IMPORT void session_init (void); +extern SAWFISH_IMPORT void session_kill (void); /* from windows.c */ -extern Lisp_Window *window_list; -extern int window_type; -extern Lisp_Window *focus_window; -extern int pending_destroys; -extern repv Qadd_window_hook, Qbefore_add_window_hook, Qplace_window_hook; -extern bool mapped_not_override_p (Window id); -extern void commit_queued_focus_change (void); -extern void focus_on_window (Lisp_Window *w); -extern void focus_off_window (Lisp_Window *w); -extern void fix_window_size (Lisp_Window *w); -extern Lisp_Window *find_window_by_id (Window id); -extern Lisp_Window *x_find_window_by_id (Window id); -extern void get_window_protocols (Lisp_Window *w); -extern void before_local_map (Lisp_Window *w); -extern void after_local_map (Lisp_Window *w); -extern void install_window_frame (Lisp_Window *w); -extern void remove_window_frame (Lisp_Window *w); -extern Lisp_Window *add_window (Window id); -extern void remove_window (Lisp_Window *win, repv destroyed, repv from_error); -extern void emit_pending_destroys (void); -extern repv Fwindow_get (repv win, repv prop); -extern void register_property_monitor (repv prop, void (*callback) +extern SAWFISH_IMPORT Lisp_Window *window_list; +extern SAWFISH_IMPORT int window_type; +extern SAWFISH_IMPORT Lisp_Window *focus_window; +extern SAWFISH_IMPORT int pending_destroys; +extern SAWFISH_IMPORT repv Qadd_window_hook, Qbefore_add_window_hook, Qplace_window_hook; +extern SAWFISH_IMPORT bool mapped_not_override_p (Window id); +extern SAWFISH_IMPORT void commit_queued_focus_change (void); +extern SAWFISH_IMPORT void focus_on_window (Lisp_Window *w); +extern SAWFISH_IMPORT void focus_off_window (Lisp_Window *w); +extern SAWFISH_IMPORT void fix_window_size (Lisp_Window *w); +extern SAWFISH_IMPORT Lisp_Window *find_window_by_id (Window id); +extern SAWFISH_IMPORT Lisp_Window *x_find_window_by_id (Window id); +extern SAWFISH_IMPORT void get_window_protocols (Lisp_Window *w); +extern SAWFISH_IMPORT void before_local_map (Lisp_Window *w); +extern SAWFISH_IMPORT void after_local_map (Lisp_Window *w); +extern SAWFISH_IMPORT void install_window_frame (Lisp_Window *w); +extern SAWFISH_IMPORT void remove_window_frame (Lisp_Window *w); +extern SAWFISH_IMPORT Lisp_Window *add_window (Window id); +extern SAWFISH_IMPORT void remove_window (Lisp_Window *win, repv destroyed, repv from_error); +extern SAWFISH_IMPORT void emit_pending_destroys (void); +extern SAWFISH_IMPORT repv Fwindow_get (repv win, repv prop); +extern SAWFISH_IMPORT void register_property_monitor (repv prop, void (*callback) (Lisp_Window *, repv, repv, repv)); -extern repv Fwindow_put (repv win, repv prop, repv value); -extern repv Fwindow_name (repv win); -extern repv Fwindow_full_name (repv win); -extern repv Fwindow_icon_name (repv win); -extern repv Fwindow_mapped_p (repv win); -extern repv Fwindow_frame (repv win); -extern repv Fset_window_frame (repv win, repv frame); -extern repv Frebuild_frame (repv win); -extern repv Fwindow_position (repv win); -extern repv Fwindow_dimensions (repv win); -extern repv Fwindow_frame_dimensions (repv win); -extern repv Fwindow_frame_offset (repv win); -extern repv Fwindowp (repv win); -extern repv Fset_input_focus (repv win); -extern repv Finput_focus (void); -extern repv Fwindow_wants_input_p (repv win); -extern repv Fmanaged_windows (void); -extern repv Fget_window_by_id (repv id); -extern repv Fstacking_order (void); -extern repv Fwindow_visibility (repv win); -extern repv Fwindow_transient_p (repv win); -extern repv Fwindow_shaped_p (repv win); -extern repv Fhide_window (repv win); -extern repv Fshow_window (repv win); -extern repv Fwindow_visible_p (repv win); -extern repv Fwindow_reparented_p (repv win); -extern repv Fwindow_id (repv win); -extern repv Fwindow_group_id (repv win); -extern repv Fwindow_size_hints (repv win); -extern repv Fcall_window_hook (repv hook, repv win, repv args, repv type); -extern void manage_windows (void); -extern void windows_init (void); -extern void windows_kill (void); +extern SAWFISH_IMPORT repv Fwindow_put (repv win, repv prop, repv value); +extern SAWFISH_IMPORT repv Fwindow_name (repv win); +extern SAWFISH_IMPORT repv Fwindow_full_name (repv win); +extern SAWFISH_IMPORT repv Fwindow_icon_name (repv win); +extern SAWFISH_IMPORT repv Fwindow_mapped_p (repv win); +extern SAWFISH_IMPORT repv Fwindow_frame (repv win); +extern SAWFISH_IMPORT repv Fset_window_frame (repv win, repv frame); +extern SAWFISH_IMPORT repv Frebuild_frame (repv win); +extern SAWFISH_IMPORT repv Fwindow_position (repv win); +extern SAWFISH_IMPORT repv Fwindow_dimensions (repv win); +extern SAWFISH_IMPORT repv Fwindow_frame_dimensions (repv win); +extern SAWFISH_IMPORT repv Fwindow_frame_offset (repv win); +extern SAWFISH_IMPORT repv Fwindowp (repv win); +extern SAWFISH_IMPORT repv Fset_input_focus (repv win); +extern SAWFISH_IMPORT repv Finput_focus (void); +extern SAWFISH_IMPORT repv Fwindow_wants_input_p (repv win); +extern SAWFISH_IMPORT repv Fmanaged_windows (void); +extern SAWFISH_IMPORT repv Fget_window_by_id (repv id); +extern SAWFISH_IMPORT repv Fstacking_order (void); +extern SAWFISH_IMPORT repv Fwindow_visibility (repv win); +extern SAWFISH_IMPORT repv Fwindow_transient_p (repv win); +extern SAWFISH_IMPORT repv Fwindow_shaped_p (repv win); +extern SAWFISH_IMPORT repv Fhide_window (repv win); +extern SAWFISH_IMPORT repv Fshow_window (repv win); +extern SAWFISH_IMPORT repv Fwindow_visible_p (repv win); +extern SAWFISH_IMPORT repv Fwindow_reparented_p (repv win); +extern SAWFISH_IMPORT repv Fwindow_id (repv win); +extern SAWFISH_IMPORT repv Fwindow_group_id (repv win); +extern SAWFISH_IMPORT repv Fwindow_size_hints (repv win); +extern SAWFISH_IMPORT repv Fcall_window_hook (repv hook, repv win, repv args, repv type); +extern SAWFISH_IMPORT void manage_windows (void); +extern SAWFISH_IMPORT void windows_init (void); +extern SAWFISH_IMPORT void windows_kill (void); /* from window-list.c */ -extern bool window_in_stacking_list_p (Lisp_Window *w); -extern void remove_from_stacking_list (Lisp_Window *w); -extern void insert_in_stacking_list_above_all (Lisp_Window *w); -extern void insert_in_stacking_list_below_all (Lisp_Window *w); -extern void insert_in_stacking_list_above (Lisp_Window *w, Lisp_Window *x); -extern void insert_in_stacking_list_below (Lisp_Window *w, Lisp_Window *x); -extern void restack_window (Lisp_Window *w); -extern repv make_stacking_list (void); +extern SAWFISH_IMPORT bool window_in_stacking_list_p (Lisp_Window *w); +extern SAWFISH_IMPORT void remove_from_stacking_list (Lisp_Window *w); +extern SAWFISH_IMPORT void insert_in_stacking_list_above_all (Lisp_Window *w); +extern SAWFISH_IMPORT void insert_in_stacking_list_below_all (Lisp_Window *w); +extern SAWFISH_IMPORT void insert_in_stacking_list_above (Lisp_Window *w, Lisp_Window *x); +extern SAWFISH_IMPORT void insert_in_stacking_list_below (Lisp_Window *w, Lisp_Window *x); +extern SAWFISH_IMPORT void restack_window (Lisp_Window *w); +extern SAWFISH_IMPORT repv make_stacking_list (void); #endif /* SAWMILL_SUBRS_H */ diff -Naurp sawfish-1.1-gtk1/src/server.c sawfish-1.1-gtk1-cygwin/src/server.c --- sawfish-1.1-gtk1/src/server.c 2000-07-13 00:11:23.000000000 +0100 +++ sawfish-1.1-gtk1-cygwin/src/server.c 2002-07-03 11:59:28.000000000 +0100 @@ -41,6 +41,10 @@ # include #endif +#ifdef __CYGWIN__ +#include /* for check_ntsec() */ +#endif + /* fd of the socket which clients connect to, or zero. */ static int socket_fd = -1; @@ -187,6 +191,9 @@ server_init (void) { if (errno == EEXIST) { +#ifdef __CYGWIN__ + if (check_ntsec(namebuf)) { +#endif struct stat st; if (stat (namebuf, &st) == 0) { @@ -214,11 +221,24 @@ server_init (void) perror (namebuf); return; } +#ifdef __CYGWIN__ + } +#endif } /* Add the socket name */ strcat (namebuf, "/"); strcat (namebuf, rep_STR(name)); +#ifdef __CYGWIN__ + { + int i; + for (i = 0; i < strlen(namebuf); i++) { + if (namebuf[i] == ':') { + namebuf[i] = '%'; + } + } + } +#endif /* Delete the socket if it exists */ if(access(namebuf, F_OK) == 0) diff -Naurp sawfish-1.1-gtk1/themes/Crux/theme.jl sawfish-1.1-gtk1-cygwin/themes/Crux/theme.jl --- sawfish-1.1-gtk1/themes/Crux/theme.jl 2002-03-29 04:00:23.000000000 +0000 +++ sawfish-1.1-gtk1-cygwin/themes/Crux/theme.jl 2002-07-04 13:45:32.000000000 +0100 @@ -71,107 +71,107 @@ ;; maps WINDOW -> BUTTON-LIST (define button-table (make-weak-table eq-hash eq)) - + ;; images ;; 16x3 (define top-left-border - (list (make-image "inactive:top-left-border.png") - (make-image "active:top-left-border.png"))) + (list (make-image "inactive_top-left-border.png") + (make-image "active_top-left-border.png"))) ;; 18x3 (define top-right-border - (list (make-image "inactive:top-right-border.png") - (make-image "active:top-right-border.png"))) + (list (make-image "inactive_top-right-border.png") + (make-image "active_top-right-border.png"))) ;; 16*x3 (define top-center-left-border (list (set-image-border - (make-image "inactive:top-center-left-border.png") 0 13 0 0) + (make-image "inactive_top-center-left-border.png") 0 13 0 0) (set-image-border - (make-image "active:top-center-left-border.png") 0 13 0 0))) + (make-image "active_top-center-left-border.png") 0 13 0 0))) ;; 16*x3 (define top-center-right-border - (list (make-image "inactive:top-center-right-border.png") - (make-image "active:top-center-right-border.png"))) + (list (make-image "inactive_top-center-right-border.png") + (make-image "active_top-center-right-border.png"))) ;; 48*x19 (define top-center-left - (list (make-image "inactive:top-center-left.png") - (make-image "active:top-center-left.png"))) + (list (make-image "inactive_top-center-left.png") + (make-image "active_top-center-left.png"))) ;; 48*x19 (define top-center-mid - (list (make-image "inactive:top-center-mid.png") - (make-image "active:top-center-mid.png"))) + (list (make-image "inactive_top-center-mid.png") + (make-image "active_top-center-mid.png"))) ;; 48*x19 (define top-center-right - (list (make-image "inactive:top-center-right.png") - (make-image "active:top-center-right.png"))) + (list (make-image "inactive_top-center-right.png") + (make-image "active_top-center-right.png"))) ;; 4x18 (define left-top-border - (list (make-image "inactive:left-top-border.png") - (make-image "active:left-top-border.png"))) + (list (make-image "inactive_left-top-border.png") + (make-image "active_left-top-border.png"))) (define left-top-border-shaped - (list (make-image "inactive:left-top-border-shaped.png") - (make-image "active:left-top-border-shaped.png"))) + (list (make-image "inactive_left-top-border-shaped.png") + (make-image "active_left-top-border-shaped.png"))) ;; 5x16* (define left-border - (list (make-image "inactive:left-border.png") - (make-image "active:left-border.png"))) + (list (make-image "inactive_left-border.png") + (make-image "active_left-border.png"))) ;; 5x18 (define right-top-border - (list (make-image "inactive:right-top-border.png") - (make-image "active:right-top-border.png"))) + (list (make-image "inactive_right-top-border.png") + (make-image "active_right-top-border.png"))) (define right-top-border-shaped - (list (make-image "inactive:right-top-border-shaped.png") - (make-image "active:right-top-border-shaped.png"))) + (list (make-image "inactive_right-top-border-shaped.png") + (make-image "active_right-top-border-shaped.png"))) ;; 6x16* (define right-border - (list (make-image "inactive:right-border.png") - (make-image "active:right-border.png"))) + (list (make-image "inactive_right-border.png") + (make-image "active_right-border.png"))) ;; 5x6 (define bottom-left-corner - (list (make-image "inactive:bottom-left-corner.png") - (make-image "active:bottom-left-corner.png"))) + (list (make-image "inactive_bottom-left-corner.png") + (make-image "active_bottom-left-corner.png"))) ;; 32*x6 (define bottom-left-border - (list (set-image-border (make-image "inactive:bottom-left-border.png") 0 30 0 0) - (set-image-border (make-image "active:bottom-left-border.png") 0 30 0 0))) + (list (set-image-border (make-image "inactive_bottom-left-border.png") 0 30 0 0) + (set-image-border (make-image "active_bottom-left-border.png") 0 30 0 0))) ;; 16*x6 (define bottom-right-border - (list (make-image "inactive:bottom-right-border.png") - (make-image "active:bottom-right-border.png"))) + (list (make-image "inactive_bottom-right-border.png") + (make-image "active_bottom-right-border.png"))) ;; 6x6 (define bottom-right-corner - (list (make-image "inactive:bottom-right-corner.png") - (make-image "active:bottom-right-corner.png"))) + (list (make-image "inactive_bottom-right-corner.png") + (make-image "active_bottom-right-corner.png"))) ;; 16x16 (define button-background - `((inactive . ,(make-image "inactive:button.png")) - (focused . ,(make-image "active:button.png")) - (inactive-highlighted . ,(make-image "inactive:button-hilight.png")) - (highlighted . ,(make-image "active:button-hilight.png")) - (inactive-clicked . ,(make-image "inactive:button-pressed.png")) - (clicked . ,(make-image "active:button-pressed.png")))) + `((inactive . ,(make-image "inactive_button.png")) + (focused . ,(make-image "active_button.png")) + (inactive-highlighted . ,(make-image "inactive_button-hilight.png")) + (highlighted . ,(make-image "active_button-hilight.png")) + (inactive-clicked . ,(make-image "inactive_button-pressed.png")) + (clicked . ,(make-image "active_button-pressed.png")))) (define menu-button - `((inactive . ,(make-image "inactive:menu-button.png")) - (focused . ,(make-image "active:menu-button.png")) - (inactive-highlighted . ,(make-image "inactive:menu-button-hilight.png")) - (highlighted . ,(make-image "active:menu-button-hilight.png")) - (inactive-clicked . ,(make-image "inactive:menu-button-pressed.png")) - (clicked . ,(make-image "active:menu-button-pressed.png")))) + `((inactive . ,(make-image "inactive_menu-button.png")) + (focused . ,(make-image "active_menu-button.png")) + (inactive-highlighted . ,(make-image "inactive_menu-button-hilight.png")) + (highlighted . ,(make-image "active_menu-button-hilight.png")) + (inactive-clicked . ,(make-image "inactive_menu-button-pressed.png")) + (clicked . ,(make-image "active_menu-button-pressed.png")))) (let ((make-button-fg (lambda (inactive active) @@ -183,17 +183,17 @@ (clicked . ,active))))) (define minimize-fg - (make-button-fg (make-image "inactive:minimize-button.png") - (make-image "active:minimize-button.png"))) + (make-button-fg (make-image "inactive_minimize-button.png") + (make-image "active_minimize-button.png"))) (define maximize-fg - (make-button-fg (make-image "inactive:maximize-button.png") - (make-image "active:maximize-button.png"))) + (make-button-fg (make-image "inactive_maximize-button.png") + (make-image "active_maximize-button.png"))) (define close-fg - (make-button-fg (make-image "inactive:close-button.png") - (make-image "active:close-button.png"))) + (make-button-fg (make-image "inactive_close-button.png") + (make-image "active_close-button.png"))) (define shade-fg - (make-button-fg (make-image "inactive:shade-button.png") - (make-image "active:shade-button.png")))) + (make-button-fg (make-image "inactive_shade-button.png") + (make-image "active_shade-button.png")))) ;; geometry computations diff -Naurp sawfish-1.1-gtk1/themes/Makefile.in sawfish-1.1-gtk1-cygwin/themes/Makefile.in --- sawfish-1.1-gtk1/themes/Makefile.in 2001-01-20 02:40:29.000000000 +0000 +++ sawfish-1.1-gtk1-cygwin/themes/Makefile.in 2002-07-03 11:59:28.000000000 +0100 @@ -34,7 +34,7 @@ sawfish_prog = $(rep_LIBTOOL) --mode=exe ../src/sawfish --batch --no-rc COMPILE_ENV = SAWFISHLISPDIR=../lisp \ SAWFISHEXECDIR=$(top_builddir)/src/.libs \ - SAWFISHDOCFILE=../DOC + SAWFISHDOCFILE=../DOC.dbm THEMES := absolute-e Crux brushed-metal gradient gtk microGUI mono simple smaker diff -Naurp sawfish-1.1-gtk1/capplet/Makefile.in sawfish-1.1-gtk1-cygwin/capplet/Makefile.in --- sawfish-1.1-gtk1/capplet/Makefile.in 2002-07-04 12:10:59.000000000 +0100 +++ sawfish-1.1-gtk1-cygwin/capplet/Makefile.in 2000-07-20 12:14:15.000000000 +0100 @@ -33,13 +33,15 @@ G_CC_DIR = $(GNOMEDIR)/share/control-cen G_MENU_DIR = $(GNOMEDIR)/share/gnome/apps/Settings G_PIXMAP_DIR = $(GNOMEDIR)/share/pixmaps +EXEEXT = .exe + all : sawfish-capplet sawfish-capplet : sawmill-capplet.c ../src/libclient.o $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS) install : all installdirs - for p in sawfish-capplet; do \ + for p in sawfish-capplet$(EXEEXT); do \ $(INSTALL_PROGRAM) $$p $(DESTDIR)${bindir}; \ done rm -rf $(DESTDIR)$(G_CC_DIR)/Sawfish @@ -64,7 +66,7 @@ install : all installdirs uninstall : for p in sawfish-capplet; do \ - rm -f $(DESTDIR)${bindir}/$$p; \ + rm -f $(DESTDIR)${bindir}/$$p$(EXEEXT); \ done rm -rf $(DESTDIR)$(G_CC_DIR)/Sawfish rm -rf $(DESTDIR)$(G_MENU_DIR)/Sawfish