Darwin: Dead code removal, Code cleanup, Added launcher

Imported changes from xorg-server-1.2-apple to make master more current wrt
file layout, build system changes, and dead code removal.
This commit is contained in:
Jeremy Huddleston 2007-11-21 19:51:14 -08:00
parent a55ec1a9f4
commit bcbaf2a0ce
103 changed files with 341 additions and 11011 deletions

View File

@ -1,7 +1,9 @@
if XDARWIN
DARWIN_SUBDIRS = apple
if XQUARTZ
XQUARTZ_SUBDIRS = apple
endif
SUBDIRS = glx mesa $(DARWIN_SUBDIRS)
SUBDIRS = glx mesa $(XQUARTZ_SUBDIRS)
DIST_SUBDIRS = glx mesa apple
WINDOWS_EXTRAS = \
windows/ChangeLog \

View File

@ -1,8 +1,9 @@
AM_CFLAGS = -I$(top_srcdir) \
-I$(top_srcdir)/hw/darwin/quartz \
-I$(top_srcdir)/GL/glx \
-I$(top_srcdir)/hw/darwin/quartz/cr \
-I$(top_srcdir)/GL/include
AM_CPPFLAGS = \
-I$(top_srcdir) \
-I$(top_srcdir)/GL/glx \
-I$(top_srcdir)/GL/include \
-I$(top_srcdir)/hw/darwin/quartz \
-I$(top_srcdir)/hw/darwin/quartz/cr
if HAVE_AGL_FRAMEWORK
noinst_LIBRARIES = libAGLcore.a

View File

@ -101,8 +101,6 @@ AC_HEADER_DIRENT
AC_HEADER_STDC
AC_CHECK_HEADERS([fcntl.h stdlib.h string.h unistd.h])
AC_CHECK_PROG(HAVE_LAUNCHD, [launchd], [yes], [])
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_C_BIGENDIAN([ENDIAN="X_BIG_ENDIAN"], [ENDIAN="X_LITTLE_ENDIAN"])
@ -470,10 +468,13 @@ AC_ARG_WITH(xkb-output, AS_HELP_STRING([--with-xkb-output=PATH], [Path to
AC_ARG_WITH(serverconfig-path, AS_HELP_STRING([--with-serverconfig-path=PATH], [Path to server config (default: ${libdir}/xserver)]),
[ SERVERCONFIG="$withval" ],
[ SERVERCONFIG="${libdir}/xserver" ])
APPLE_APPLICATIONS_DIR="${bindir}/Applications"
AC_ARG_WITH(apple-applications-dir,AS_HELP_STRING([--with-apple-applications-dir=PATH], [Path to the Applications directory (default: ${bindir}/Applications)]),
[ APPLE_APPLICATIONS_DIR="${withval}" ].
[ APPLE_APPLICATIONS_DIR="${bindir}/Applications" ])
APPLE_APPLICATIONS_DIR="/Applications/Utilities"
AC_ARG_WITH(apple-applications-dir,AS_HELP_STRING([--with-apple-applications-dir=PATH], [Path to the Applications directory (default: /Applications/Utilities)]),
[ APPLE_APPLICATIONS_DIR="${withval}" ].
[ APPLE_APPLICATIONS_DIR="/Applications/Utilities" ])
AC_ARG_WITH(launchd, AS_HELP_STRING([--with-launchd], [Build with support for Apple's launchd (default: auto)]), [LAUNCHD=$withval], [LAUNCHD=auto])
AC_ARG_WITH(pci-txt-ids-dir, AS_HELP_STRING([--with-pci-txt-ids-dir=PATH],
[Path to pci id directory (default: ${datadir}/X11/pci)]),
[ PCI_TXT_IDS_DIR="$withval" ],
@ -546,10 +547,10 @@ AC_ARG_ENABLE(xorg, AS_HELP_STRING([--enable-xorg], [Build Xorg server
AC_ARG_ENABLE(dmx, AS_HELP_STRING([--enable-dmx], [Build DMX server (default: no)]), [DMX=$enableval], [DMX=no])
AC_ARG_ENABLE(xvfb, AS_HELP_STRING([--enable-xvfb], [Build Xvfb server (default: yes)]), [XVFB=$enableval], [XVFB=yes])
AC_ARG_ENABLE(xnest, AS_HELP_STRING([--enable-xnest], [Build Xnest server (default: auto)]), [XNEST=$enableval], [XNEST=auto])
AC_ARG_ENABLE(xdarwin, AS_HELP_STRING([--enable-xdarwin], [Build XDarwin server (default: auto)]), [XDARWIN=$enableval], [XDARWIN=auto])
AC_ARG_ENABLE(xdarwinapp, AS_HELP_STRING([--enable-xdarwinapp], [Build XDarwin.app server (default: no)]), [XDARWINAPP=$enableval], [XDARWINAPP=no])
AC_ARG_ENABLE(xquartz, AS_HELP_STRING([--disable-xquartz], [Build Xquartz server on Darwin (default: auto)]), [XQUARTZ=$enableval], [XQUARTZ=auto])
AC_ARG_ENABLE(x11app, AS_HELP_STRING([--enable-x11app], [Build Apple's X11.app wrapper for Xquartz (default: no)]), [X11APP=$enableval], [X11APP=no])
AC_ARG_ENABLE(xquartz, AS_HELP_STRING([--enable-xquartz], [Build Xquartz server for OS-X (default: auto)]), [XQUARTZ=$enableval], [XQUARTZ=auto])
AC_ARG_ENABLE(x11app, AS_HELP_STRING([--enable-x11app], [Build Apple's X11.app for Xquartz (default: auto)]), [X11APP=$enableval], [X11APP=auto])
AC_ARG_WITH(x11app-archs, AS_HELP_STRING([--with-x11app-archs=ARCHS], [Architectures to build X11.app for, space delimeted (default: "ppc i386")]), [X11APP_ARCHS=$enableval], [X11APP_ARCHS="ppc i386"])
AC_SUBST([X11APP_ARCHS])
AC_ARG_ENABLE(xwin, AS_HELP_STRING([--enable-xwin], [Build XWin server (default: auto)]), [XWIN=$enableval], [XWIN=auto])
AC_ARG_ENABLE(xprint, AS_HELP_STRING([--enable-xprint], [Build Xprint extension and server (default: no)]), [XPRINT=$enableval], [XPRINT=no])
AC_ARG_ENABLE(xgl, AS_HELP_STRING([--enable-xgl], [Build Xgl server (default: no)]), [XGL=$enableval], [XGL=no])
@ -1155,58 +1156,6 @@ dnl ---------------------------------------------------------------------------
dnl DDX section.
dnl ---------------------------------------------------------------------------
dnl DMX DDX
AC_MSG_CHECKING([whether to build Xdmx DDX])
PKG_CHECK_MODULES([DMXMODULES], [xmuu xext x11 xrender xfixes xfont xi dmxproto xau $XDMCP_MODULES], [have_dmx=yes], [have_dmx=no])
if test "x$DMX" = xauto; then
DMX="$have_dmx"
fi
AC_MSG_RESULT([$DMX])
AM_CONDITIONAL(DMX, [test "x$DMX" = xyes])
if test "x$DMX" = xyes; then
if test "x$have_dmx" = xno; then
AC_MSG_ERROR([Xdmx build explicitly requested, but required
modules not found.])
fi
DMX_INCLUDES="$XEXT_INC $RENDER_INC $XTRAP_INC $RECORD_INC"
XDMX_CFLAGS="$DMXMODULES_CFLAGS"
XDMX_LIBS="$XEXT_LIB $FB_LIB $CONFIG_LIB $RENDER_LIB $XTRAP_LIB $RECORD_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $MIEXT_SHADOW_LIB $MIEXT_DAMAGE_LIB $CWRAP_LIB"
XDMX_SYS_LIBS="$DMXMODULES_LIBS"
AC_SUBST([XDMX_CFLAGS])
AC_SUBST([XDMX_LIBS])
AC_SUBST([XDMX_SYS_LIBS])
dnl USB sources in DMX require <linux/input.h>
AC_CHECK_HEADER([linux/input.h], DMX_BUILD_USB="yes",
DMX_BUILD_USB="no")
dnl Linux sources in DMX require <linux/keyboard.h>
AC_CHECK_HEADER([linux/keyboard.h], DMX_BUILD_LNX="yes",
DMX_BUILD_LNX="no")
if test "x$GLX" = xyes; then
PKG_CHECK_MODULES([GL], [glproto])
fi
PKG_CHECK_MODULES([XDMXCONFIG_DEP], [xaw7 xmu xt xpm x11])
AC_SUBST(XDMXCONFIG_DEP_CFLAGS)
AC_SUBST(XDMXCONFIG_DEP_LIBS)
PKG_CHECK_MODULES([DMXEXAMPLES_DEP], [dmx xext x11])
AC_SUBST(DMXEXAMPLES_DEP_LIBS)
PKG_CHECK_MODULES([DMXXMUEXAMPLES_DEP], [dmx xmu xext x11])
AC_SUBST(DMXXMUEXAMPLES_DEP_LIBS)
PKG_CHECK_MODULES([DMXXIEXAMPLES_DEP], [dmx xi xext x11])
AC_SUBST(DMXXIEXAMPLES_DEP_LIBS)
PKG_CHECK_MODULES([XTSTEXAMPLES_DEP], [xtst xext x11])
AC_SUBST(XTSTEXAMPLES_DEP_LIBS)
PKG_CHECK_MODULES([XRESEXAMPLES_DEP], [xres xext x11])
AC_SUBST(XRESEXAMPLES_DEP_LIBS)
PKG_CHECK_MODULES([X11EXAMPLES_DEP], [xext x11])
AC_SUBST(X11EXAMPLES_DEP_LIBS)
fi
AM_CONDITIONAL([DMX_BUILD_LNX], [test "x$DMX_BUILD_LNX" = xyes])
AM_CONDITIONAL([DMX_BUILD_USB], [test "x$DMX_BUILD_USB" = xyes])
dnl Xvfb DDX
AC_MSG_CHECKING([whether to build Xvfb DDX])
@ -1712,35 +1661,25 @@ AM_CONDITIONAL(XWIN_RANDR, [test "x$XWIN" = xyes])
AM_CONDITIONAL(XWIN_XV, [test "x$XWIN" = xyes && test "x$XV" = xyes])
dnl Darwin / OS X DDX
AC_MSG_CHECKING([whether to build XDarwin (Mac OS X) DDX])
if test "x$XDARWIN" = xauto; then
case $host_os in
darwin*) XDARWIN="yes" ;;
*) XDARWIN="no" ;;
esac
if test "X$XQUARTZ" = Xauto; then
AC_CACHE_CHECK([whether to build Xquartz],xorg_cv_Carbon_framework,[
save_LDFLAGS=$LDFLAGS
LDFLAGS="$LDFLAGS -framework Carbon"
AC_LINK_IFELSE([char FSFindFolder(); int main() { FSFindFolder(); return 0;}],
[xorg_cv_Carbon_framework=yes],
[xorg_cv_Carbon_framework=no])
LDFLAGS=$save_LDFLAGS])
if test "X$xorg_cv_Carbon_framework" = Xyes; then
XQUARTZ=yes
else
XQUARTZ=no
fi
fi
AC_MSG_RESULT([$XDARWIN])
if test "x$XDARWIN" = xyes; then
if test "X$XQUARTZ" = Xauto; then
AC_CACHE_CHECK([for Carbon framework],xorg_cv_Carbon_framework,[
save_LDFLAGS=$LDFLAGS
LDFLAGS="$LDFLAGS -framework Carbon"
AC_LINK_IFELSE([char FSFindFolder();
int main() {
FSFindFolder();
return 0;}
],[xorg_cv_Carbon_framework=yes],
[xorg_cv_Carbon_framework=no])
LDFLAGS=$save_LDFLAGS])
if test "X$xorg_cv_Carbon_framework" = Xyes; then
AC_DEFINE([DARWIN_WITH_QUARTZ],[1],
[Have Quartz])
XQUARTZ=yes
else
XQUARTZ=no
fi
fi
if test "x$XQUARTZ" = xyes; then
AC_DEFINE([XQUARTZ],[1],[Have Quartz])
# glxAGL / glxCGL don't work yet
# AC_CACHE_CHECK([for AGL framework],xorg_cv_AGL_framework,[
# save_LDFLAGS=$LDFLAGS
@ -1755,11 +1694,11 @@ return 0;}
# ])
xorg_cv_AGL_framework=no
DARWIN_GLX_LIBS='$(top_builddir)/GL/apple/indirect.o $(top_builddir)/GL/glx/libglx.la'
DARWIN_LIBS="$FB_LIB $FIXES_LIB $XEXT_LIB $CONFIG_LIB $DBE_LIB $XTRAP_LIB $RECORD_LIB $DARWIN_GLX_LIBS $RENDER_LIB $RANDR_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $XPSTUBS_LIB"
DARWIN_LIBS="$FB_LIB $FIXES_LIB $XEXT_LIB $CONFIG_LIB $DBE_LIB $XTRAP_LIB $RECORD_LIB $RENDER_LIB $RANDR_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $XPSTUBS_LIB"
AC_SUBST([DARWIN_LIBS])
AC_CHECK_LIB([Xplugin],[xp_init],[:])
AC_SUBST([APPLE_APPLICATIONS_DIR])
CFLAGS="${CFLAGS} -D__DARWIN__"
CFLAGS="${CFLAGS} -D__DARWIN__ -DROOTLESS_WORKAROUND"
PLIST_VERSION_STRING=$PACKAGE_VERSION
AC_SUBST([PLIST_VERSION_STRING])
PLIST_VENDOR_WEB=$VENDOR_WEB
@ -1780,7 +1719,38 @@ return 0;}
AC_MSG_NOTICE([Disabling DGA extension])
DGA=no
fi
if test "x$DMX" = xyes || test "x$DMX" = xauto; then
AC_MSG_NOTICE([Disabling DMX DDX])
DMX=no
fi
fi
if test "x$X11APP" = xauto; then
AC_MSG_CHECKING([whether to build X11.app])
if test "x$XQUARTZ" = xyes ; then
X11APP=yes
else
X11APP=no
fi
AC_MSG_RESULT([$X11APP])
fi
if test "x$LAUNCHD" = xauto; then
# Do we want to have this default to on for Xquartz builds only or any time we have launchd (like Xnest or Xvfb on OS-X)
#AC_CHECK_PROG(LAUNCHD, [launchd], [yes], [no])
AC_MSG_CHECKING([whether to support launchd])
if test "x$XQUARTZ" = xyes ; then
LAUNCHD=yes
else
LAUNCHD=no
fi
AC_MSG_RESULT([$LAUNCHD])
fi
if test "x$LAUNCHD" = xyes ; then
AC_DEFINE(HAVE_LAUNCHD, 1, [launchd support available])
fi
# Support for objc in autotools is minimal and not documented.
OBJC='$(CC)'
OBJCLD='$(CCLD)'
@ -1794,9 +1764,59 @@ AC_SUBST([OBJCFLAGS])
_AM_DEPENDENCIES([OBJC])
AM_CONDITIONAL(HAVE_XPLUGIN, [test "x$ac_cv_lib_Xplugin_xp_init" = xyes])
AM_CONDITIONAL(HAVE_AGL_FRAMEWORK, [test "x$xorg_cv_AGL_framework" = xyes])
AM_CONDITIONAL(XDARWIN, [test "x$XDARWIN" = xyes])
AM_CONDITIONAL(XDARWINAPP, [test "x$XDARWINAPP" = xyes])
AM_CONDITIONAL(XQUARTZ, [test "x$XQUARTZ" = xyes])
AM_CONDITIONAL(X11APP,[test "X$X11APP" = Xyes])
dnl DMX DDX
AC_MSG_CHECKING([whether to build Xdmx DDX])
PKG_CHECK_MODULES([DMXMODULES], [xmuu xext x11 xrender xfixes xfont xi dmxproto xau $XDMCP_MODULES], [have_dmx=yes], [have_dmx=no])
if test "x$DMX" = xauto; then
DMX="$have_dmx"
fi
AC_MSG_RESULT([$DMX])
AM_CONDITIONAL(DMX, [test "x$DMX" = xyes])
if test "x$DMX" = xyes; then
if test "x$have_dmx" = xno; then
AC_MSG_ERROR([Xdmx build explicitly requested, but required
modules not found.])
fi
DMX_INCLUDES="$XEXT_INC $RENDER_INC $XTRAP_INC $RECORD_INC"
XDMX_CFLAGS="$DMXMODULES_CFLAGS"
XDMX_LIBS="$XEXT_LIB $FB_LIB $CONFIG_LIB $RENDER_LIB $XTRAP_LIB $RECORD_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $MIEXT_SHADOW_LIB $MIEXT_DAMAGE_LIB $CWRAP_LIB"
XDMX_SYS_LIBS="$DMXMODULES_LIBS"
AC_SUBST([XDMX_CFLAGS])
AC_SUBST([XDMX_LIBS])
AC_SUBST([XDMX_SYS_LIBS])
dnl USB sources in DMX require <linux/input.h>
AC_CHECK_HEADER([linux/input.h], DMX_BUILD_USB="yes",
DMX_BUILD_USB="no")
dnl Linux sources in DMX require <linux/keyboard.h>
AC_CHECK_HEADER([linux/keyboard.h], DMX_BUILD_LNX="yes",
DMX_BUILD_LNX="no")
if test "x$GLX" = xyes; then
PKG_CHECK_MODULES([GL], [glproto])
fi
PKG_CHECK_MODULES([XDMXCONFIG_DEP], [xaw7 xmu xt xpm x11])
AC_SUBST(XDMXCONFIG_DEP_CFLAGS)
AC_SUBST(XDMXCONFIG_DEP_LIBS)
PKG_CHECK_MODULES([DMXEXAMPLES_DEP], [dmx xext x11])
AC_SUBST(DMXEXAMPLES_DEP_LIBS)
PKG_CHECK_MODULES([DMXXMUEXAMPLES_DEP], [dmx xmu xext x11])
AC_SUBST(DMXXMUEXAMPLES_DEP_LIBS)
PKG_CHECK_MODULES([DMXXIEXAMPLES_DEP], [dmx xi xext x11])
AC_SUBST(DMXXIEXAMPLES_DEP_LIBS)
PKG_CHECK_MODULES([XTSTEXAMPLES_DEP], [xtst xext x11])
AC_SUBST(XTSTEXAMPLES_DEP_LIBS)
PKG_CHECK_MODULES([XRESEXAMPLES_DEP], [xres xext x11])
AC_SUBST(XRESEXAMPLES_DEP_LIBS)
PKG_CHECK_MODULES([X11EXAMPLES_DEP], [xext x11])
AC_SUBST(X11EXAMPLES_DEP_LIBS)
fi
AM_CONDITIONAL([DMX_BUILD_LNX], [test "x$DMX_BUILD_LNX" = xyes])
AM_CONDITIONAL([DMX_BUILD_USB], [test "x$DMX_BUILD_USB" = xyes])
dnl kdrive DDX
@ -2144,19 +2164,8 @@ hw/xgl/glxext/module/Makefile
hw/xnest/Makefile
hw/xwin/Makefile
hw/darwin/Makefile
hw/darwin/bundle/Makefile
hw/darwin/bundle/Dutch.lproj/Makefile
hw/darwin/bundle/English.lproj/Makefile
hw/darwin/bundle/French.lproj/Makefile
hw/darwin/bundle/German.lproj/Makefile
hw/darwin/bundle/Japanese.lproj/Makefile
hw/darwin/bundle/Portuguese.lproj/Makefile
hw/darwin/bundle/Spanish.lproj/Makefile
hw/darwin/bundle/Swedish.lproj/Makefile
hw/darwin/bundle/ko.lproj/Makefile
hw/darwin/iokit/Makefile
hw/darwin/quartz/Makefile
hw/darwin/utils/Makefile
hw/darwin/quartz/xpr/Makefile
hw/kdrive/Makefile
hw/kdrive/ati/Makefile
hw/kdrive/chips/Makefile

View File

@ -256,10 +256,10 @@ main(int argc, char *argv[], char *envp[])
PrinterInitGlobals();
#endif
#ifdef XQUARTZ
/* Quartz support on Mac OS X requires that the Cocoa event loop be in
* the main thread. This allows the X server main to be called again
* from another thread. */
#if defined(__DARWIN__) && defined(DARWIN_WITH_QUARTZ)
DarwinHandleGUI(argc, argv, envp);
#endif

View File

@ -1,10 +1,6 @@
if DMX
if XDARWIN
# Darwin does not need the dmx subdir
else
DMX_SUBDIRS = dmx
endif
endif
if XORG
XORG_SUBDIRS = xfree86
@ -34,19 +30,19 @@ if XPRINT
XPRINT_SUBDIRS = xprint
endif
if XDARWIN
XDARWIN_SUBDIRS = darwin
if XQUARTZ
XQUARTZ_SUBDIRS = darwin
endif
SUBDIRS = \
$(XORG_SUBDIRS) \
$(XGL_SUBDIRS) \
$(XWIN_SUBDIRS) \
$(XDARWIN_SUBDIRS) \
$(XQUARTZ_SUBDIRS) \
$(XVFB_SUBDIRS) \
$(XNEST_SUBDIRS) \
$(DMX_SUBDIRS) \
$(KDRIVE_SUBDIRS) \
$(KDRIVE_SUBDIRS) \
$(XPRINT_SUBDIRS)
DIST_SUBDIRS = dmx xfree86 vfb xnest xwin darwin kdrive xgl xprint

View File

@ -1,290 +1,106 @@
noinst_LIBRARIES = libdarwinShared.a
libdarwin_XINPUT_SRCS = darwinXinput.c
AM_CFLAGS = $(XORG_CFLAGS) $(DIX_CFLAGS)
AM_CPPFLAGS = $(XORG_INCS) \
-DINXQUARTZ \
-DUSE_NEW_CLUT \
-DXFree86Server \
-I$(top_srcdir)/miext/rootless
AM_CFLAGS = @XORG_CFLAGS@ @DIX_CFLAGS@
AM_CPPFLAGS = @XORG_CFLAGS@ @DIX_CFLAGS@
INCLUDES = @XORG_INCS@ -I../../miext/rootless
SUBDIRS = quartz utils
DEFS = @DEFS@ -DUSE_NEW_CLUT
if XQUARTZ
XQUARTZ_SUBDIRS = quartz
XQUARTZ_PROGS = Xquartz
XQUARTZ_HOOK = xquartz-install-hook
endif
if XDARWINAPP
XDARWINAPP_SUBDIRS = bundle
XDARWINAPP_HOOK = xdarwinapp-install-hook
endif
SUBDIRS = \
iokit \
$(XQUARTZ_SUBDIRS) \
$(XDARWINAPP_SUBDIRS) \
utils \
.
libdarwinShared_a_SOURCES = darwin.c \
darwinEvents.c \
darwinKeyboard.c \
$(darwin_XINPUT_SRCS)
# bin_PROGRAMS = XDarwin Xquartz
bin_PROGRAMS = $(XQUARTZ_PROGS)
#XDarwin_SOURCES = \
# $(top_srcdir)/fb/fbcmap_mi.c \
# $(top_srcdir)/mi/miinitext.c \
# $(top_srcdir)/Xi/stubs.c
bin_PROGRAMS = Xquartz
man1_MANS = Xquartz.man
Xquartz_SOURCES = \
$(top_srcdir)/fb/fbcmap_mi.c \
$(top_srcdir)/mi/miinitext.c \
$(top_srcdir)/Xi/stubs.c \
apple/X11Application.m \
apple/X11Controller.m \
quartz/Preferences.m \
quartz/applewm.c \
quartz/keysym2ucs.c \
quartz/pseudoramiX.c \
quartz/quartz.c \
quartz/quartzAudio.c \
quartz/quartzCocoa.m \
quartz/quartzKeyboard.c \
quartz/quartzPasteboard.c \
quartz/quartzStartup.c \
quartz/xpr/appledri.c \
quartz/xpr/dri.c \
quartz/xpr/xprAppleWM.c \
quartz/xpr/xprCursor.c \
quartz/xpr/xprFrame.c \
quartz/xpr/xprScreen.c \
quartz/xpr/x-hash.c \
quartz/xpr/x-hook.c \
quartz/xpr/x-list.c
darwin.c \
darwinEvents.c \
darwinKeyboard.c \
darwinXinput.c \
$(top_srcdir)/fb/fbcmap_mi.c \
$(top_srcdir)/mi/miinitext.c
DARWIN_LIBS = \
# We should probably add these once they're working, or are these obsolete and to be removed?
# ./quartz/cr/libcr.a
# ./quartz/fullscreen/libfullscreen.a
Xquartz_LDADD = \
./quartz/libXquartz.a \
./quartz/xpr/libxpr.a \
$(top_builddir)/dix/dixfonts.lo \
$(top_builddir)/config/libconfig.a \
$(top_builddir)/dix/libdix.la \
$(top_builddir)/os/libos.la \
$(top_builddir)/dix/libxpstubs.la \
$(top_builddir)/miext/shadow/libshadow.la \
$(top_builddir)/fb/libfb.la \
$(top_builddir)/mi/libmi.la \
$(top_builddir)/composite/libcomposite.la \
$(top_builddir)/damageext/libdamageext.la \
$(top_builddir)/miext/damage/libdamage.la \
$(top_builddir)/xfixes/libxfixes.la \
$(top_builddir)/miext/cw/libcw.la \
@DARWIN_LIBS@ \
$(top_builddir)/Xext/libXext.la \
$(top_builddir)/xkb/libxkb.la \
$(top_builddir)/xkb/libxkbstubs.la \
$(top_builddir)/Xi/libXi.la \
$(top_builddir)/dbe/libdbe.la \
$(top_builddir)/record/librecord.la \
$(top_builddir)/XTrap/libxtrap.la \
$(top_builddir)/miext/rootless/librootless.la \
$(top_builddir)/miext/rootless/safeAlpha/libsafeAlpha.la \
$(top_builddir)/miext/rootless/accel/librlAccel.la \
./libdarwinShared.a \
$(XSERVER_LIBS)
#XDARWIN_LIBS = \
# $(DARWIN_LIBS) \
# ./iokit/libiokit.a
XQUARTZ_LIBS = \
$(DARWIN_LIBS)
#XDarwin_DEPENDENCIES = $(XDARWIN_LIBS)
#XDarwin_LDADD = $(XDARWIN_LIBS) $(XSERVER_SYS_LIBS)
Xquartz_DEPENDENCIES = $(XQUARTZ_LIBS)
Xquartz_LDADD = $(XQUARTZ_LIBS) $(XSERVER_SYS_LIBS) -lXplugin
#XDarwin_LDFLAGS = \
# -XCClinker -Objc \
# -Wl,-u,_miDCInitialize \
# -Wl,-framework,IOKit
$(DARWIN_LIBS) $(XSERVER_LIBS) -lXplugin
Xquartz_LDFLAGS = \
-XCClinker -Objc \
-Wl,-u,_miDCInitialize \
-Wl,-framework,Carbon \
-Wl,-framework,OpenGL \
-Wl,-dylib_file,/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib \
-Wl,-framework,Cocoa \
-Wl,-framework,CoreAudio \
-Wl,-framework,IOKit
-XCClinker -Objc \
-Wl,-u,_miDCInitialize \
-Wl,-framework,Carbon \
-L/System/Library/Frameworks/OpenGL.framework/Libraries -lGL \
-Wl,-framework,OpenGL \
-Wl,-framework,Cocoa \
-Wl,-framework,CoreAudio \
-Wl,-framework,IOKit
#XDarwin_CFLAGS = -DINXDARWIN
Xquartz_CFLAGS = -DINXQUARTZ -DHAS_CG_MACH_PORT -DHAS_KL_API -DHAVE_XORG_CONFIG_H
if XQUARTZ
DEFS += -DDARWIN_WITH_QUARTZ -DXFree86Server
bin_SCRIPTS = x11app
if X11APP
bin_SCRIPTS = x11app x11launcher
x11app:
cd apple && xcodebuild CFLAGS="$(XSERVERCFLAGS_CFLAGS)" LDFLAGS="$(XSERVERCFLAGS_LIBS)"
endif
cd apple && xcodebuild CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" ARCHS="$(X11APP_ARCHS)"
if XDARWINAPP
macosdir = $(darwinappdir)/Contents/MacOS
x11launcher:
cd launcher && xcodebuild CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" ARCHS="$(X11APP_ARCHS)"
macos_PROGRAMS = XDarwinApp
darwinappdir = @APPLE_APPLICATIONS_DIR@/XDarwin.app
x11app-install:
cd apple && xcodebuild install DSTROOT=$(DESTDIR) INSTALL_PATH=$(prefix) DEPLOYMENT_LOCATION=YES SKIP_INSTALL=NO ARCHS="$(X11APP_ARCHS)"
XDarwinApp_SOURCES = \
$(top_srcdir)/fb/fbcmap_mi.c \
$(top_srcdir)/mi/miinitext.c \
$(top_srcdir)/Xi/stubs.c
x11launcher-install:
cd launcher && xcodebuild install DSTROOT=$(DESTDIR) INSTALL_PATH=$(APPLE_APPLICATIONS_DIR) DEPLOYMENT_LOCATION=YES SKIP_INSTALL=NO ARCHS="$(X11APP_ARCHS)"
XDARWINAPP_LIBS = \
$(DARWIN_LIBS) \
./quartz/XApplication.o \
./libdarwinShared.a \
./quartz/libXQuartz.a \
$(XSERVER_LIBS)
x11app-clean:
rm -rf apple/build
XDarwinApp_DEPENDENCIES = $(XDARWINAPP_LIBS)
XDarwinApp_LDADD = $(XDARWINAPP_LIBS) $(XSERVER_SYS_LIBS)
x11launcher-clean:
rm -rf launcher/build
XDarwinApp_LDFLAGS = \
-XCClinker -Objc \
-Wl,-u,_miDCInitialize \
-Wl,-framework,Carbon \
-Wl,-framework,ApplicationServices \
-Wl,-framework,Cocoa \
-Wl,-framework,CoreAudio \
-Wl,-framework,IOKit
XDarwinApp_CFLAGS = -DINXDARWINAPP
crplugindir = $(darwinappdir)/Contents/Resources/cr.bundle/Contents/MacOS
crplugin_LTLIBRARIES = cr.la
cr_la_SOURCES = \
quartz/cr/crAppleWM.m \
quartz/cr/crFrame.m \
quartz/cr/crScreen.m \
quartz/fullscreen/quartzCursor.c \
quartz/cr/XView.m
cr_la_LIBADD = \
$(top_builddir)/miext/rootless/librootless.la \
$(top_builddir)/miext/rootless/safeAlpha/libsafeAlpha.la \
$(top_builddir)/miext/rootless/accel/librlAccel.la
cr_la_LDFLAGS = -shrext '' -Wl,-framework,ApplicationServices \
-lpixman-1 \
-Wl,-framework,Cocoa \
-Wl,-framework,Carbon \
-XCClinker -ObjC \
-XCClinker -bundle_loader -XCClinker XDarwinApp \
-module -avoid-version -no-undefined
cr_la_DEPENDENCIES = XDarwinApp
fullscreenplugindir = $(darwinappdir)/Contents/Resources/fullscreen.bundle/Contents/MacOS
fullscreenplugin_LTLIBRARIES = fullscreen.la
fullscreen_la_SOURCES = \
quartz/fullscreen/fullscreen.c \
quartz/fullscreen/quartzCursor.c
fullscreen_la_LIBADD = \
$(top_builddir)/miext/shadow/libshadow.la
fullscreen_la_LDFLAGS = -shrext '' -Wl,-framework,ApplicationServices \
-XCClinker -bundle_loader -XCClinker XDarwinApp \
-module -avoid-version -no-undefined
fullscreen_la_DEPENDENCIES = XDarwinApp
if GLX
glxMesaplugindir = $(darwinappdir)/Contents/Resources/glxMesa.bundle/Contents/MacOS
glxMesaplugin_LTLIBRARIES = glxMesa.la
glxMesa_la_SOURCES =
glxMesa_la_LIBADD = \
$(top_builddir)/GL/glx/libglx.la \
$(top_builddir)/GL/mesa/libGLcore.la
glxMesa_la_LDFLAGS = -shrext '' \
-Wl,-framework,AGL \
-Wl,-framework,OpenGL \
-XCClinker -ObjC \
-XCClinker -bundle_loader -XCClinker XDarwinApp \
-module -avoid-version -no-undefined
glxMesa_la_DEPENDENCIES = XDarwinApp
endif
if HAVE_XPLUGIN
xprplugindir = $(darwinappdir)/Contents/Resources/xpr.bundle/Contents/MacOS
xprplugin_LTLIBRARIES = xpr.la
xpr_la_SOURCES = \
quartz/xpr/appledri.c \
quartz/xpr/dri.c \
quartz/xpr/xprAppleWM.c \
quartz/xpr/xprCursor.c \
quartz/xpr/xprFrame.c \
quartz/xpr/xprScreen.c \
quartz/xpr/x-hash.c \
quartz/xpr/x-hook.c \
quartz/xpr/x-list.c
xpr_la_LIBADD = \
$(top_builddir)/miext/rootless/librootless.la \
$(top_builddir)/miext/rootless/safeAlpha/libsafeAlpha.la \
$(top_builddir)/miext/rootless/accel/librlAccel.la
xpr_la_LDFLAGS = -shrext '' -Wl,-framework,ApplicationServices \
-lpixman-1 \
-lXplugin \
-XCClinker -bundle_loader -XCClinker XDarwinApp \
-module -avoid-version -no-undefined
xpr_la_DEPENDENCIES = XDarwinApp
install-data-hook: x11app-install x11launcher-install
clean-local: x11app-clean x11launcher-clean
endif
if HAVE_AGL_FRAMEWORK
glxCGLplugindir = $(darwinappdir)/Contents/Resources/glxCGL.bundle/Contents/MacOS
glxCGLplugin_LTLIBRARIES = glxCGL.la
glxCGL_la_SOURCES =
glxCGL_la_LIBADD = \
$(top_builddir)/GL/glx/glxext.o \
$(top_builddir)/GL/glx/libglx.a \
$(top_builddir)/GL/apple/libAGLcore.a
glxCGL_la_LDFLAGS = -shrext '' -Wl,-framework,ApplicationServices \
-Wl,-framework,AGL \
-Wl,-framework,OpenGL \
-XCClinker -ObjC \
-XCClinker -bundle_loader -XCClinker XDarwinApp \
-module -avoid-version -no-undefined
glxCGL_la_DEPENDENCIES = XDarwinApp
glxAGLplugindir = $(darwinappdir)/Contents/Resources/glxAGL.bundle/Contents/MacOS
glxAGLplugin_LTLIBRARIES = glxAGL.la
glxAGL_la_SOURCES =
glxAGL_la_LIBADD = \
$(top_builddir)/GL/glx/glxext.o \
$(top_builddir)/GL/glx/libglx.a \
$(top_builddir)/GL/apple/libAGLcore.a
glxAGL_la_LDFLAGS = -shrext '' \
-Wl,-framework,AGL \
-Wl,-framework,OpenGL \
-XCClinker -ObjC \
-XCClinker -bundle_loader -XCClinker XDarwinApp \
-module -avoid-version -no-undefined
glxAGL_la_DEPENDENCIES = XDarwinApp
endif
endif
#man1_MANS = XDarwin.man
#uninstall-hook:
# rm -rf $(DESTDIR)$(macosdir)/XDarwin
install-data-hook: $(XQUARTZ_HOOK) $(XDARWINAPP_HOOK)
xquartz-install-hook::
cd apple && xcodebuild install CFLAGS="$(XSERVERCFLAGS_CFLAGS)" LDFLAGS="$(XSERVERCFLAGS_LIBS)"
xdarwinapp-install hook:
mv $(DESTDIR)$(macosdir)/XDarwinApp $(DESTDIR)$(macosdir)/XDarwin
EXTRA_DIST = \
darwin.c \
Xquartz.man \
darwinClut8.h \
darwinEvents.c \
darwin.h \
darwinKeyboard.c \
darwinKeyboard.h \
darwinXinput.c \
XDarwin.man
apple/Info.plist \
apple/X11.icns \
apple/bundle-main.c \
apple/English.lproj/InfoPlist.strings \
apple/English.lproj/Localizable.strings \
apple/English.lproj/main.nib/classes.nib \
apple/English.lproj/main.nib/info.nib \
apple/English.lproj/main.nib/keyedobjects.nib \
apple/X11.xcodeproj/project.pbxproj \
launcher/bundle-main.c \
launcher/Info.plist \
launcher/X11.icns \
launcher/X11.xcodeproj/project.pbxproj

View File

@ -1,35 +0,0 @@
This directory contains a port of the XDarwin code to the modular X.org
codebase to be compiled on Darwin/OS X; this would not have been possible
without the help of Torrey Lyons and Peter O'Gorman, to whom I am
grateful for their patches, time and moral support.
The server builds 4 targets:
* XDarwin: this server runs on Darwin systems without Quartz
(i.e. non-OS X); it has not been well-tested.
* XDarwinApp: this builds XDarwin.app, which is a full X server using
Quartz. It has loadable module support for AGL and CGL, and well as
fullscreen and rootless support.
* Xquartz: this server runs on Quartz-based systems, and is meant to
work with X11.app
* x11app: this builds a version of Apple's X11.app using patches by
Torrey Lyons; most, but not all, functionality of Apple's original
X11.app is present in this release.
Known issues:
* AGL and CGL support for 3D indirect acceleration does not work;
indirect.c has been rewritten, but not yet integrated into this source tree.
* Fullscreen mode does not work; I don't know why.
* Some features in X11.app are not yet implemented; these are marked
with #ifdef DARWIN_DDX_MISSING in the code.
* The build system code could probably be cleaned up slightly.
Any patches or code contributions would be most welcome and may be
sent to me at bbyer@apple.com.

View File

@ -1,203 +0,0 @@
.TH XDARWIN 1 __vendorversion__
.SH NAME
XDarwin \- X window system server for Darwin operating system
.SH SYNOPSIS
.B XDarwin
[ options ] ...
.SH DESCRIPTION
#ifdef DARWIN_WITH_QUARTZ
.I XDarwin
is the X window server for Mac OS X and the Darwin operating system
provided by the X.Org Foundation.
.I XDarwin
can run in three different modes. On Mac OS X,
.I XDarwin
runs in parallel with Aqua in full screen or rootless modes. These modes
are called Quartz modes, named after the Quartz 2D compositing engine used
by Aqua. XDarwin can also be run from the Darwin text console in IOKit mode.
.PP
When running from the console,
.I XDarwin
acts as the window server and uses IOKit services to access the display
framebuffer, mouse and keyboard and to provide a layer of hardware
abstraction. In console mode,
.I XDarwin
will normally be started by the \fIxdm(1)\fP display manager or by a script
that runs the program \fIxinit(1)\fP.
.PP
When running with the Mac OS X Aqua GUI,
.I XDarwin
will normally be started by launching from the Finder, but it may also be
started from the command line with the \fB\-quartz\fP, \fB\-fullscreen\fP, or
\fB\-rootless\fP options. Note that the defaults for various command line
options are set by the
.I XDarwin
application preferences in the Quartz modes.
.PP
In full screen Quartz mode, when the X Window System is active, it takes over
the entire screen. CoreGraphics is used to capture and draw to the screen. The
.I XDarwin
application allows easy switching between the Mac OS X and X window
desktops. More information is available in the Help menu of the
.I XDarwin
application.
.PP
In rootless mode, the X window system and Aqua share your display. The root
window of the X11 display is the size of the screen and contains all the
other windows. The X11 root window is not displayed in rootless mode as Aqua
handles the desktop background.
#else
.I XDarwin
is the X window server for Mac OS X and the Darwin operating system
provided by the X.Org Foundation. This version of
.I XDarwin
can only be started from the Darwin text console. The Mac OS X Aqua GUI, if
present, must be shut down.
.I XDarwin
uses IOKit services to access the display
framebuffer, mouse and keyboard and to provide a layer of hardware
abstraction.
.I XDarwin
will normally be started by the \fIxdm(1)\fP display manager or by a script
that runs the program \fIxinit(1)\fP.
#endif
.SH OPTIONS
.PP
In addition to the normal server options described in the \fIXserver(1)\fP
manual page, \fIXDarwin\fP accepts the following command line switches:
.TP 8
.B \-fakebuttons
Emulates a 3 button mouse using modifier keys. By default, the Command modifier
is used to emulate button 2 and Option is used for button 3. Thus, clicking the
first mouse button while holding down Command will act like clicking
button 2. Holding down Option will simulate button 3.
.TP 8
.B \-nofakebuttons
Do not emulate a 3 button mouse. This is the default.
.TP 8
.B "\-fakemouse2 \fImodifiers\fP"
Change the modifier keys used to emulate the second mouse button. By default,
Command is used to emulate the second button. Any combination of the following
modifier names may be used: Shift, Option, Control, Command, Fn. For example,
.B \-fakemouse2 """Option,Shift""
will set holding Option, Shift and clicking on button one as equivalent to
clicking the second mouse button.
.TP 8
.B "\-fakemouse3 \fImodifiers\fP"
Change the modifier keys used to emulate the third mouse button. By default,
Option is used to emulate the third button. Any combination of the following
modifier names may be used: Shift, Option, Control, Command, Fn. For example,
.B \-fakemouse3 """Control,Shift""
will set holding Control, Shift and clicking on button one as equivalent to
clicking the third mouse button.
.TP 8
.B "\-keymap \fIfile\fP"
On startup \fIXDarwin\fP translates a Darwin keymapping into an X keymap.
The default is to read this keymapping from USA.keymapping. With this option
the keymapping will be read from \fIfile\fP instead. If the file's path is
not specified, it will be searched for in Library/Keyboards/ underneath the
following directories (in order): ~, /, /Network, /System.
.TP 8
.B \-nokeymap
On startup \fIXDarwin\fP translates a Darwin keymapping into an X keymap.
With this option XDarwin queries the kernel for the current keymapping
instead of reading it from a file. This will often fail on newer kernels.
#ifdef DARWIN_WITH_QUARTZ
.TP 8
.B "\-size \fIwidth\fP \fIheight\fP"
Sets the screen resolution for the X server to use.
Ignored in rootless mode.
.TP 8
.B "\-depth \fIdepth\fP"
Specifies the color bit depth to use. Currently only 8, 15, and 24 color bits
per pixel are supported.
Ignored in rootless mode.
.TP 8
.B "\-refresh \fIrate\fP"
Gives the refresh rate to use in Hz. For LCD displays this should be 0.
Ignored in rootless mode.
.TP 8
.B \-fullscreen
Run full screen in parallel with Mac OS X Aqua GUI.
.TP 8
.B \-rootless
Run rootless inside Mac OS X Aqua GUI.
.TP 8
.B \-quartz
Run in parallel with the Mac OS X Aqua GUI using the default mode.
#else
.TP 8
.B "\-size \fIwidth\fP \fIheight\fP"
Sets the screen resolution for the X server to use.
.TP 8
.B "\-depth \fIdepth\fP"
Specifies the color bit depth to use. Currently only 8, 15, and 24 color bits
per pixel are supported.
.TP 8
.B "\-refresh \fIrate\fP"
Gives the refresh rate to use in Hz. For LCD displays this should be 0.
#endif
.TP 8
.B \-showconfig
Print out the server version and patchlevel.
.TP 8
.B \-version
Same as \fB\-showconfig\fP.
.SH "SEE ALSO"
.PP
X(__miscmansuffix__), Xorg(1), Xserver(1), xdm(1), xinit(1)
.SH BUGS
.I XDarwin
and this man page still have many limitations. Some of the more obvious
ones are:
.br
- The display mode cannot be changed once the X server has started.
.br
- A screen saver is not supported.
.PP
.SH AUTHORS
XFree86 was originally ported to Mac OS X Server by John Carmack. Dave
Zarzycki used this as the basis of his port of XFree86 4.0 to Darwin 1.0.
Torrey T. Lyons improved and integrated this code into the XFree86
Project's mainline for the 4.0.2 release.
.PP
The following members of the XonX Team contributed to the following
releases (in alphabetical order):
.TP 4
XFree86 4.1.0:
.br
Rob Braun - Darwin x86 support
.br
Torrey T. Lyons - Project Lead
.br
Andreas Monitzer - Cocoa version of XDarwin front end
.br
Gregory Robert Parker - Original Quartz implementation
.br
Christoph Pfisterer - Dynamic shared X libraries
.br
Toshimitsu Tanaka - Japanese localization
.TP 4
XFree86 4.2.0:
.br
Rob Braun - Darwin x86 support
.br
Pablo Di Noto - Spanish localization
.br
Paul Edens - Dutch localization
.br
Kyunghwan Kim - Korean localization
.br
Mario Klebsch - Non-US keyboard support
.br
Torrey T. Lyons - Project Lead
.br
Andreas Monitzer - German localization
.br
Patrik Montgomery - Swedish localization
.br
Greg Parker - Rootless support
.br
Toshimitsu Tanaka - Japanese localization
.br
Olivier Verdier - French localization

View File

@ -195,41 +195,40 @@
527F24090B5D8FFC007840A7 /* Development */ = {
isa = XCBuildConfiguration;
buildSettings = {
DSTROOT = "$(DSTROOT)";
SKIP_INSTALL = YES;
INSTALL_MODE_FLAG = "a+rX";
};
name = Development;
};
527F240A0B5D8FFC007840A7 /* Deployment */ = {
isa = XCBuildConfiguration;
buildSettings = {
DSTROOT = "$(DSTROOT)";
SKIP_INSTALL = YES;
INSTALL_MODE_FLAG = "a+rX";
};
name = Deployment;
};
527F240B0B5D8FFC007840A7 /* Default */ = {
isa = XCBuildConfiguration;
buildSettings = {
DSTROOT = "$(DSTROOT)";
SKIP_INSTALL = YES;
INSTALL_MODE_FLAG = "a+rX";
};
name = Default;
};
527F24230B5D938C007840A7 /* Development */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(NATIVE_ARCH_32_BIT)";
COPY_PHASE_STRIP = NO;
DSTROOT = "$(DSTROOT)";
FRAMEWORK_SEARCH_PATHS = "";
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
HEADER_SEARCH_PATHS = "";
INFOPLIST_FILE = Info.plist;
INSTALL_PATH = $DSTROOT/Applications/Utilties;
LIBRARY_SEARCH_PATHS = "";
OTHER_CFLAGS = "$(CFLAGS)";
OTHER_LDFLAGS = "$(LDFLAGS)";
INSTALL_PATH = /usr/X11;
LIBRARY_SEARCH_PATHS = /usr/X11/lib;
OTHER_CFLAGS = "";
OTHER_LDFLAGS = (
"-lXau",
"-lxcb",
"-lX11",
);
OTHER_REZFLAGS = "";
PRODUCT_NAME = X11;
SECTORDER_FLAGS = "";
@ -246,15 +245,18 @@
isa = XCBuildConfiguration;
buildSettings = {
COPY_PHASE_STRIP = YES;
DSTROOT = "$(DSTROOT)";
FRAMEWORK_SEARCH_PATHS = "";
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
HEADER_SEARCH_PATHS = "";
INFOPLIST_FILE = Info.plist;
INSTALL_PATH = $DSTROOT/Applications/Utilties;
LIBRARY_SEARCH_PATHS = "";
OTHER_CFLAGS = "$(CFLAGS)";
OTHER_LDFLAGS = "$(LDFLAGS)";
INSTALL_PATH = /usr/X11;
LIBRARY_SEARCH_PATHS = /usr/X11/lib;
OTHER_CFLAGS = "";
OTHER_LDFLAGS = (
"-lXau",
"-lxcb",
"-lX11",
);
OTHER_REZFLAGS = "";
PRODUCT_NAME = X11;
SECTORDER_FLAGS = "";
@ -270,15 +272,18 @@
527F24250B5D938C007840A7 /* Default */ = {
isa = XCBuildConfiguration;
buildSettings = {
DSTROOT = "$(DSTROOT)";
FRAMEWORK_SEARCH_PATHS = "";
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
HEADER_SEARCH_PATHS = "";
INFOPLIST_FILE = Info.plist;
INSTALL_PATH = $DSTROOT/Applications/Utilties;
LIBRARY_SEARCH_PATHS = "";
OTHER_CFLAGS = "$(CFLAGS)";
OTHER_LDFLAGS = "$(LDFLAGS)";
INSTALL_PATH = /usr/X11;
LIBRARY_SEARCH_PATHS = /usr/X11/lib;
OTHER_CFLAGS = "";
OTHER_LDFLAGS = (
"-lXau",
"-lxcb",
"-lX11",
);
OTHER_REZFLAGS = "";
PRODUCT_NAME = X11;
SECTORDER_FLAGS = "";

View File

@ -1,168 +0,0 @@
{\rtf1\mac\ansicpg10000\cocoartf102
{\fonttbl\f0\fswiss\fcharset77 Helvetica;\f1\fswiss\fcharset77 Helvetica-Bold;\f2\fswiss\fcharset77 Helvetica-Oblique;
}
{\colortbl;\red255\green255\blue255;}
\vieww9000\viewh9000\viewkind0
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
\f0\fs24 \cf0 This product includes software developed by The XFree86 Project, Inc (http://www.xfree86.org/) and its contributors. The following people contributed to Darwin/Mac OS X support.\
\
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\f1\b \cf0 Contributors to Xorg Foundation Release:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Kaleb KEITHLEY\
\f2\i Working left and right Ctrl, Alt (Option), Meta (Command) and Shift keys.
\f0\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f1\b \cf0 \
\f1\b \cf0 Contributors to XFree86 4.4:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 John Harper\
\f2\i Rootless acceleration and Apple-WM extension
\f0\i0 \
Torrey T. Lyons\
\f2\i Project Lead
\f0\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f1\b \cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\cf0 Additional XonX Contributors to XFree86 4.3:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Fabr\'92cio Luis de Castro\
\f2\i Portuguese localization
\f0\i0 \
Michael Oland\
\f2\i New XDarwin icon
\f0\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f1\b \cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\cf0 XonX Contributors to XFree86 4.2:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Rob Braun\
\f2\i Darwin x86 support
\f0\i0 \
Pablo Di Noto\
\f2\i Spanish localization
\f0\i0 \
Paul Edens\
\f2\i Dutch localization
\f0\i0 \
Kyunghwan Kim\
\f2\i Korean localization
\f0\i0 \
Mario Klebsch\
\f2\i Non-US keyboard support
\f0\i0 \
Torrey T. Lyons\
\f2\i Project Lead
\f0\i0 \
Andreas Monitzer\
\f2\i German localization
\f0\i0 \
Patrik Montgomery\
\f2\i Swedish localization
\f0\i0 \
Greg Parker\
\f2\i Rootless support
\f0\i0 \
Toshimitsu Tanaka\
\f2\i Japanese localization
\f0\i0 \
Olivier Verdier\
\f2\i French localization
\f0\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f1\b \cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\cf0 Special Thanks:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Devin Poolman and Zero G Software, Inc.\
\f2\i Installer
\f0\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f1\b \cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\cf0 XonX Team Members\
Contributing to XFree86 4.1:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Rob Braun\
\f2\i Darwin x86 support
\f0\i0 \
Torrey T. Lyons\
\f2\i Project Lead
\f0\i0 \
Andreas Monitzer\
\f2\i Cocoa version of XDarwin front end
\f0\i0 \
Greg Parker\
\f2\i Original Quartz implementation
\f0\i0 \
Christoph Pfisterer\
\f2\i Dynamic shared libraries
\f0\i0 \
Toshimitsu Tanaka\
\f2\i Japanese localization
\f0\i0 \
\
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\f1\b \cf0 Special Thanks:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Tiago Ribeiro\
\f2\i XDarwin icon
\f0\i0 \
\
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\f1\b \cf0 History:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 John Carmack\
\f2\i Original XFree86 port to Mac OS X Server
\f0\i0 \
Dave Zarzycki\
\f2\i XFree86 4.0 port to Darwin 1.0
\f0\i0 \
Torrey T. Lyons\
\f2\i Integration into XFree86 Project for 4.0.2}

View File

@ -1,72 +0,0 @@
{
IBClasses = (
{
ACTIONS = {showHelp = id; };
CLASS = FirstResponder;
LANGUAGE = ObjC;
SUPERCLASS = NSObject;
},
{
ACTIONS = {close = id; pickFile = id; saveChanges = id; setKey = id; };
CLASS = Preferences;
LANGUAGE = ObjC;
OUTLETS = {
addToPathButton = id;
addToPathField = id;
button2ModifiersMatrix = id;
button3ModifiersMatrix = id;
depthButton = id;
displayField = id;
dockSwitchButton = id;
fakeButton = id;
keymapFileField = id;
modeMatrix = id;
modeWindowButton = id;
mouseAccelChangeButton = id;
startupHelpButton = id;
switchKeyButton = id;
systemBeepButton = id;
useDefaultShellMatrix = id;
useOtherShellField = id;
useXineramaButton = id;
window = id;
};
SUPERCLASS = NSObject;
},
{
CLASS = XApplication;
LANGUAGE = ObjC;
OUTLETS = {preferences = id; xserver = id; };
SUPERCLASS = NSApplication;
},
{
ACTIONS = {
bringAllToFront = id;
closeHelpAndShow = id;
itemSelected = id;
nextWindow = id;
previousWindow = id;
showAction = id;
showSwitchPanel = id;
startFullScreen = id;
startRootless = id;
};
CLASS = XServer;
LANGUAGE = ObjC;
OUTLETS = {
dockMenu = NSMenu;
helpWindow = NSWindow;
modeWindow = NSWindow;
startFullScreenButton = NSButton;
startRootlessButton = NSButton;
startupHelpButton = NSButton;
startupModeButton = NSButton;
switchWindow = NSPanel;
windowMenu = NSMenu;
windowSeparator = NSMenuItem;
};
SUPERCLASS = NSObject;
}
);
IBVersion = 1;
}

View File

@ -1,35 +0,0 @@
BINDIR = ${bindir}
include $(top_srcdir)/cpprules.in
XINITDIR = $(libdir)/X11/xinit
XDEFS = \
-DX_VERSION="$(PLIST_VERSION_STRING)" \
-DX_PRE_RELEASE="$(PRE)" \
-DX_REL_DATE="$(XORG_DATE)" \
-DX_VENDOR_NAME="$(VENDOR_STRING)" \
-DX_VENDOR_LINK="$(PLIST_VENDOR_WEB)"
resourcesdir = @APPLE_APPLICATIONS_DIR@/XDarwin.app/Contents/Resources
Dutchlprojdir = $(resourcesdir)/Dutch.lproj
Dutchlproj_DATA = \
XDarwinHelp.html \
InfoPlist.strings \
Credits.rtf Localizable.strings
Dutchlprojnibdir = $(Dutchlprojdir)/MainMenu.nib
Dutchlprojnib_DATA = MainMenu.nib/classes.nib MainMenu.nib/objects.nib
InfoPlist.strings: $(srcdir)/../English.lproj/InfoPlist.strings.cpp
$(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) | $(SED) -e's/__quote__/"/g' > $@
XDarwinHelp.html: XDarwinHelp.html.cpp
$(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) > $@
CLEANFILES = XDarwinHelp.html InfoPlist.strings
EXTRA_DIST = \
Credits.rtf Localizable.strings \
MainMenu.nib/classes.nib \
MainMenu.nib/objects.nib \
XDarwinHelp.html.cpp

View File

@ -1,101 +0,0 @@
<html>
<head>
<title>XDarwin Help</title>
</head>
<body>
<center>
<h1>XDarwin X Server for Mac OS X</h1>
X_VENDOR_NAME X_VERSION<br>
Release Date: X_REL_DATE
</center>
<h2>Inhoud</h2>
<ol>
<li><A HREF="#notice">Belangrijke Informatie</A></li>
<li><A HREF="#usage">Gebruik</A></li>
<li><A HREF="#path">Instellen van het Path</A></li>
<li><A HREF="#prefs">Voorkeursinstellingen</A></li>
<li><A HREF="#license">Licentie</A></li>
</ol>
<center>
<h2><a NAME="notice">Belangrijke Informatie</a></h2>
</center>
<blockquote>
#if X_PRE_RELEASE
Dit is een pre-release van XDarwin, waarvoor geen ondersteuning beschikbaar is. Rapporteren van bugs en aanleveren van patches kan op de <A HREF="http://sourceforge.net/projects/xonx/">XonX project pagina</A> bij SourceForge. Kijk alvorens een bug te rapporteren in een pre-release eerst of een nieuwe versie beschikbaar is bij <A HREF="http://sourceforge.net/projects/xonx/">XonX</A> of de X_VENDOR_LINK.
#else
Als de server ouder is dan 6-12 maanden, of als uw hardware nieuwer is dan de bovenstaande datum, kijk dan of een nieuwe versie beschikbaar is voor u een probleem aanmeldt. Rapporteren van bugs en aanleveren van patches kan op de <A HREF="http://sourceforge.net/projects/xonx/">XonX project pagina</A> bij SourceForge.
#endif
</blockquote>
<blockquote>
Deze software is beschikbaar gesteld onder de voorwaarden van de <A HREF="#license">MIT X11 / X Consortium Licentie</A> en is beschikbaar 'AS IS',zonder enige garantie. Lees s.v.p. de <A HREF="#license">Licentie</A> voor gebruik.</blockquote>
<h2><a NAME="usage">Gebruik</a></h2>
<p>XDarwin is een open-source X server van het <a HREF="http://www.x.org/">X Window Systeem</a>. This version of XDarwin was produced by the X_VENDOR_LINK. XDarwin werkt op Mac OS X in schermvullende of rootless modus.</p>
<p>Het X window systeem in schermvullende modus neemt het hele beeldscherm in beslag. U schakelt terug naar de Mac OS X desktop door de toesten Command-Option-A in te drukken. Deze toetsencombinatie kunt u veranderen in de Voorkeuren. Op de Mac OS X desktop klikt u op de XDarwin icoon in de Dock om weer naar het X window systeem te schakelen. (In de Voorkeuren kunt er voor kiezen om een apart XDarwin schakelpaneel te gebruiken op de Mac OS X desktop.)</p>
<p>In rootless modus verschijnen het X window systeem en Aqua (de Mac OS X desktop) tegelijk op het scherm. Het achtergrondscherm van X11, waarbinnen alle X11 vensters vallen, is net zo groot als het gehele scherm, maar het achtergrondscherm zelf is onzichtbaar.</p>
<h3>Meerknopsmuis emulatie</h3>
<p>Voor veel X11 programma's hebt u een 3-knops muis nodig. Met een 1-knops muis kunt u een 3-knops muis nabootsen door een toets in te drukken terwijl u klikt met de muis. Het instellen hiervan kan bij Voorkeuren, "Meerknopsmuis emulatie" in "Algemeen". Emulatie is standaard ingeschakeld: ingedrukt houden van de "command" toets terwijl u klikt emuleert knop 2, ingedrukt houden van "option" emuleert knop 3. Deze toetsen kunt u dus wijzigen in de Voorkeuren. Let op: als u xmodmap gebruikt om de indeling van het toetsenbord te wijzigen, moet u toch de oorspronkelijke toetsen op het toetsenbord gebruiken voor deze functie.</p>
<h2><a NAME="path">Instellen van het Path</a></h2>
<p>Het path is de lijst van directories waarin gezocht wordt naar commando's. De X11 commando's staan in de directory <code>/usr/X11R6/bin</code>, die dus aan uw path moet worden toegevoegd. XDarwin doet dit automatisch voor u en kan extra directories toevoegen waarin u commando's hebt ge&iuml;nstalleerd.</p>
<p>Ervaren gebruikers zullen het path al correct hebben ingesteld in de configuratiebestanden voor hun shell. In dat geval kunt u XDarwin via de Voorkeuren vertellen het path niet te wijzigen. XDarwin start de eerste X11 clients binnen de standaard login shell van de gebruiker (bij de Voorkeuren kunt u een afwijkende shell opgeven). Het instellen van het path is afhankelijk van de shell. Zie hiervoor de man pages voor de shell.</p>
<p>Het kan handig zijn de manualpages voor X11 toe te voegen aan de lijst waarin gezocht wordt als u documentatie opvraagt. De manualpages voor X11 staan in <code>/usr/X11R6/man</code> en de <code>MANPATH</code> environment variable bevat de lijst van directories waarin naar documentatie wordt gezocht.</p>
<h2><a NAME="prefs">Voorkeursinstellingen</a></h2>
<p>Een aantal instellingen kan worden gewijzigd door "Voorkeuren..." te kiezen in het "XDarwin" menu. Wijzigingen van de instellingen genoemd onder "Start" gaan pas in als u XDarwin opnieuw hebt gestart. Een wijziging van de overige instellingen is direct effectief. Hier onder vindt u de verschillende mogelijkheden beschreven:</p>
<h3>Algemeen</h3>
<ul>
<li><b>Gebruik systeempiep voor X11:</b> Als u dit inschakelt wordt het Mac OS X waarschuwingssignaal ook gebruikt door X11, anders gebruikt X11 een simpele pieptoon (dit is de standaardinstelling).</li>
<li><b>Wijzigen muis-versnelling door X11 mogelijk:</b> In een standaard X window systeem kan de window manager de muis-versnelling aanpassen. Dit kan verwarrend zijn omdat de snelheid onder X11 dan verschillend kan zijn van de snelheid die u in Mac OS X bij Systeemvoorkeuren hebt ingesteld. Om verwarring te voorkomen is de standaardinstelling dat X11 de versnelling niet kan wijzigen.</li>
<li><b>Meerknopsmuis emulatie:</b> Dit is hierboven beschreven bij <a HREF="#usage">Gebruik</a>. Als emulatie is ingeschakeld moet u de gekozen toetsen ingedrukt houden terwijl u met de muis klikt om de tweede en derde muisknop na te bootsen.</li>
</ul>
<h3>Start</h3>
<ul>
<li><b>Standaard modus:</b> Hier kiest u de standaard scherm-modus: schermvullend of rootless (hierboven beschreven bij <a HREF="#usage">Gebruik</a>). U kunt ook kiezen tijdens het starten van XDarwin, zie de optie hieronder.</li>
<li><b>Kies scherm-modus tijdens start:</b> Dit is standaard ingeschakeld zodat u tijdens het starten van XDarwin kunt kiezen tussen schermvullend en rootless scherm-modus. Als u dit uitschakelt start XDarwin in de standaard modus zonder u iets te vragen.</li>
<li><b>X11 scherm nummer:</b> Met X11 kunnen meerdere schermen worden aangestuurd door verschillende X servers op dezelfde computer. Als u meerdere X servers tegelijk wilt gebruiken stelt u hier het scherm nummer in dat door XDarwin wordt gebruikt.</li>
<li><b>Xinerama multi-monitor ondersteuning mogelijk:</b> XDarwin ondersteunt het gebruik van meerdere monitoren met Xinerama, waarbij elke monitor wordt gezien als deel van &eacute;&eacute;n groot rechthoekig scherm. U kunt Xinerama hier uitschakelen, maar XDarwin werkt op dit moment zonder Xinerama niet goed met meerdere monitoren. Als u maar 1 monitor gebruikt is deze instelling automatisch uitgeschakeld.</li>
<li><b>Toetsenbordindeling-bestand:</b> Een toetsenbordindeling-bestand wordt bij het starten geladen en omgezet naar een X11 toetsenbordindeling. Voor verschillende talen vindt u toetsenbordindelingen in de directory <code>/System/Library/Keyboards</code>.</li>
<li><b>Bij starten eerste X11 clients:</b> Als XDarwin start, wordt <code>xinit</code> uitgevoerd om de X window manager en andere X clients te starten (zie "<code>man xinit</code>"). Voordat XDarwin <code>xinit</code> uitvoert voegt het de opgegeven directories toe aan het path. Standaard wordt alleen <code>/usr/X11R6/bin</code> toegevoegd. U kunt meerdere directories opgeven, gescheiden door een dubbelepunt. X clients worden gestart met de standaard login shell van de gebruiker met gebruik van de configuratiebestanden voor die shell. U kunt een afwijkende shell opgeven.</li>
</ul>
<h3>Schermvullend</h3>
<ul>
<li><b>Toetscombinatie knop:</b> Klik op deze knop om de toetscombinatie te wijzigen waarmee u tussen de Mac OS X desktop en X11 schakelt. Als toetscombinatie kunt u elke combinatie gebruiken van de shift, control, command en option toetsen samen met &eacute;&eacute;n normale toets.</li>
<li><b>Klikken op icoon in Dock schakelt naar X11:</b> Hiermee is een klik op de XDarwin icoon in de Dock voldoende om naar X11 te schakelen. In sommige versies van Mac OS X verdwijnt soms de cursor als u deze mogelijkheid gebruikt en daarna terugkeert naar de Mac OS X desktop.</li>
<li><b>Toon help bij schermvullend starten:</b> Hiermee wordt een inleidend scherm getoond als XDarwin schermvullend start.</li>
<li><b>Kleurdiepte:</b> In de schermvullende modus kan X11 een andere kleurdiepte gebruiken dan Aqua (en de Mac OS X desktop). Als u "Huidig" kiest, neemt XDarwin bij het starten de kleurdiepte over van Aqua. U kunt ook kiezen voor 8, 15 of 24 bits.</li>
</ul>
<h2><a NAME="license">Licentie</a></h2>
The main license for XDarwin is one based on the traditional MIT X11 / X Consortium License, which does not impose any conditions on modification or redistribution of source code or binaries other than requiring that copyright/license notices are left intact. For more information and additional copyright/licensing notices covering some sections of the code, please refer to the source code.
<H3><A NAME="3"></A>X Consortium License</H3>
<p>Copyright (C) 1996 X Consortium</p>
<p>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:</p>
<p>The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.</p>
<p>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 X CONSORTIUM 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
IN THE SOFTWARE.</p>
<p>Except as contained in this notice, the name of the X Consortium shall
not be used in advertising or otherwise to promote the sale, use or
other dealings in this Software without prior written authorization from
the X Consortium.</p>
<p>X Window System is a trademark of X Consortium, Inc.</p>
</body>
</html>

View File

@ -1,168 +0,0 @@
{\rtf1\mac\ansicpg10000\cocoartf102
{\fonttbl\f0\fswiss\fcharset77 Helvetica;\f1\fswiss\fcharset77 Helvetica-Bold;\f2\fswiss\fcharset77 Helvetica-Oblique;
}
{\colortbl;\red255\green255\blue255;}
\vieww5160\viewh6300\viewkind0
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
\f0\fs24 \cf0 This product includes software developed by The XFree86 Project, Inc (http://www.xfree86.org/) and its contributors. The following people contributed to Darwin/Mac OS X support.\
\
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\f1\b \cf0 Contributors to Xorg Foundation Release:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Kaleb KEITHLEY\
\f2\i Working left and right Ctrl, Alt (Option), Meta (Command) and Shift keys.
\f0\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f1\b \cf0 \
\f1\b \cf0 Contributors to XFree86 4.4:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 John Harper\
\f2\i Rootless acceleration and Apple-WM extension
\f0\i0 \
Torrey T. Lyons\
\f2\i Project Lead
\f0\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f1\b \cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\cf0 Additional XonX Contributors to XFree86 4.3:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Fabr\'92cio Luis de Castro\
\f2\i Portuguese localization
\f0\i0 \
Michael Oland\
\f2\i New XDarwin icon
\f0\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f1\b \cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\cf0 XonX Contributors to XFree86 4.2:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Rob Braun\
\f2\i Darwin x86 support
\f0\i0 \
Pablo Di Noto\
\f2\i Spanish localization
\f0\i0 \
Paul Edens\
\f2\i Dutch localization
\f0\i0 \
Kyunghwan Kim\
\f2\i Korean localization
\f0\i0 \
Mario Klebsch\
\f2\i Non-US keyboard support
\f0\i0 \
Torrey T. Lyons\
\f2\i Project Lead
\f0\i0 \
Andreas Monitzer\
\f2\i German localization
\f0\i0 \
Patrik Montgomery\
\f2\i Swedish localization
\f0\i0 \
Greg Parker\
\f2\i Rootless support
\f0\i0 \
Toshimitsu Tanaka\
\f2\i Japanese localization
\f0\i0 \
Olivier Verdier\
\f2\i French localization
\f0\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f1\b \cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\cf0 Special Thanks:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Devin Poolman and Zero G Software, Inc.\
\f2\i Installer
\f0\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f1\b \cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\cf0 XonX Team Members\
Contributing to XFree86 4.1:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Rob Braun\
\f2\i Darwin x86 support
\f0\i0 \
Torrey T. Lyons\
\f2\i Project Lead
\f0\i0 \
Andreas Monitzer\
\f2\i Cocoa version of XDarwin front end
\f0\i0 \
Greg Parker\
\f2\i Original Quartz implementation
\f0\i0 \
Christoph Pfisterer\
\f2\i Dynamic shared libraries
\f0\i0 \
Toshimitsu Tanaka\
\f2\i Japanese localization
\f0\i0 \
\
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\f1\b \cf0 Special Thanks:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Tiago Ribeiro\
\f2\i XDarwin icon
\f0\i0 \
\
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\f1\b \cf0 History:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 John Carmack\
\f2\i Original XFree86 port to Mac OS X Server
\f0\i0 \
Dave Zarzycki\
\f2\i XFree86 4.0 port to Darwin 1.0
\f0\i0 \
Torrey T. Lyons\
\f2\i Integration into XFree86 Project for 4.0.2}

View File

@ -1,4 +0,0 @@
/* English versions of the Info.plist keys; used by most localizations. */
/* Most of these are set in the target application settings. */
NSHumanReadableCopyright = __quote__ X_VENDOR_NAME X_VERSION __quote__;

View File

@ -1,22 +0,0 @@
/* English localized versions of strings used by the Mac OS X front end. */
/* Title of alert panel */
"Quit X server?" = "Quit X server?";
/* Text of alert panel */
"Quitting the X server will terminate any running X Window System programs." = "Quitting the X server will terminate any running X Window System programs.";
/* Quit */
"Quit" = "Quit";
/* Cancel */
"Cancel" = "Cancel";
/* Default keymapping file */
"USA.keymapping" = "USA.keymapping";
/* Default switch string */
"Cmd-Opt-a" = "Cmd-Opt-a";
/* Button title when changing switch key */
"Press key" = "Press key";

View File

@ -1,72 +0,0 @@
{
IBClasses = (
{
ACTIONS = {showHelp = id; };
CLASS = FirstResponder;
LANGUAGE = ObjC;
SUPERCLASS = NSObject;
},
{
ACTIONS = {close = id; pickFile = id; saveChanges = id; setKey = id; };
CLASS = Preferences;
LANGUAGE = ObjC;
OUTLETS = {
addToPathButton = id;
addToPathField = id;
button2ModifiersMatrix = id;
button3ModifiersMatrix = id;
depthButton = id;
displayField = id;
dockSwitchButton = id;
fakeButton = id;
keymapFileField = id;
modeMatrix = id;
modeWindowButton = id;
mouseAccelChangeButton = id;
startupHelpButton = id;
switchKeyButton = id;
systemBeepButton = id;
useDefaultShellMatrix = id;
useOtherShellField = id;
useXineramaButton = id;
window = id;
};
SUPERCLASS = NSObject;
},
{
CLASS = XApplication;
LANGUAGE = ObjC;
OUTLETS = {preferences = id; xserver = id; };
SUPERCLASS = NSApplication;
},
{
ACTIONS = {
bringAllToFront = id;
closeHelpAndShow = id;
itemSelected = id;
nextWindow = id;
previousWindow = id;
showAction = id;
showSwitchPanel = id;
startFullScreen = id;
startRootless = id;
};
CLASS = XServer;
LANGUAGE = ObjC;
OUTLETS = {
dockMenu = NSMenu;
helpWindow = NSWindow;
modeWindow = NSWindow;
startFullScreenButton = NSButton;
startRootlessButton = NSButton;
startupHelpButton = NSButton;
startupModeButton = NSButton;
switchWindow = NSPanel;
windowMenu = NSMenu;
windowSeparator = NSMenuItem;
};
SUPERCLASS = NSObject;
}
);
IBVersion = 1;
}

View File

@ -1,35 +0,0 @@
BINDIR = ${bindir}
include $(top_srcdir)/cpprules.in
XINITDIR = $(libdir)/X11/xinit
XDEFS = \
-DX_VERSION="$(PLIST_VERSION_STRING)" \
-DX_PRE_RELEASE="$(PRE)" \
-DX_REL_DATE="$(XORG_DATE)" \
-DX_VENDOR_NAME="$(VENDOR_STRING)" \
-DX_VENDOR_LINK="$(PLIST_VENDOR_WEB)"
resourcesdir = @APPLE_APPLICATIONS_DIR@/XDarwin.app/Contents/Resources
Englishlprojdir = $(resourcesdir)/English.lproj
Englishlproj_DATA = \
XDarwinHelp.html \
InfoPlist.strings \
Credits.rtf Localizable.strings
Englishlprojnibdir = $(Englishlprojdir)/MainMenu.nib
Englishlprojnib_DATA = MainMenu.nib/classes.nib MainMenu.nib/objects.nib
InfoPlist.strings: InfoPlist.strings.cpp
$(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) | $(SED) -e's/__quote__/"/g' > $@
XDarwinHelp.html: XDarwinHelp.html.cpp
$(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) > $@
CLEANFILES = XDarwinHelp.html InfoPlist.strings
EXTRA_DIST = \
Credits.rtf Localizable.strings \
MainMenu.nib/classes.nib \
MainMenu.nib/objects.nib \
XDarwinHelp.html.cpp \
InfoPlist.strings.cpp

View File

@ -1,94 +0,0 @@
<html>
<head>
<title>XDarwin Help</title>
</head>
<body>
<center>
<h1>XDarwin X Server for Mac OS X</h1>
X_VENDOR_NAME X_VERSION<br>
Release Date: X_REL_DATE
</center>
<h2>Contents</h2>
<ol>
<li><A HREF="#notice">Important Notice</A></li>
<li><A HREF="#usage">Usage</A></li>
<li><A HREF="#path">Setting Your Path</A></li>
<li><A HREF="#prefs">User Preferences</A></li>
<li><A HREF="#license">License</A></li>
</ol>
<center>
<h2><a NAME="notice">Important Notice</a></h2>
</center>
<blockquote>
#if X_PRE_RELEASE
This is a pre-release version of XDarwin, and is not supported in any way. Bugs may be reported and patches may be submitted to the <A HREF="http://sourceforge.net/projects/xonx/">XonX project page</A> at SourceForge. Before reporting bugs in pre-release versions, please check the latest version from <A HREF="http://sourceforge.net/projects/xonx/">XonX</A> or the X_VENDOR_LINK.
#else
If the server is older than 6-12 months, or if your hardware is newer than the above date, look for a newer version before reporting problems. Bugs may be reported and patches may be submitted to the <A HREF="http://sourceforge.net/projects/xonx/">XonX project page</A> at SourceForge.
#endif
</blockquote>
<blockquote>
This software is distributed under the terms of the <A HREF="#license">MIT X11 / X Consortium License</A> and is provided AS IS, with no warranty. Please read the <A HREF="#license">License</A> before using.</blockquote>
<h2><a NAME="usage">Usage</a></h2>
<p>XDarwin is a freely redistributable open-source X server for the <a HREF="http://www.x.org/">X Window System</a>. This version of XDarwin was produced by the X_VENDOR_LINK. XDarwin runs on Mac OS X in full screen or rootless modes.</p>
<p>In full screen mode, when the X window system is active, it takes over the entire screen. You can switch back to the Mac OS X desktop by holding down Command-Option-A. This key combination can be changed in the user preferences. From the Mac OS X desktop, click on the XDarwin icon in the Dock to switch back to the X window system. (You can change this behavior in the user preferences so that you must click the XDarwin icon in the floating switch window instead.)</p>
<p>In rootless mode, the X window system and Aqua share your display. The root window of the X11 display is the size of the screen and contains all the other windows. The X11 root window is not displayed in rootless mode as Aqua handles the desktop background.</p>
<h3>Multi-Button Mouse Emulation</h3>
<p>Many X11 applications rely on the use of a 3-button mouse. You can emulate a 3-button mouse with a single button by holding down various modifier keys while you click the mouse button. This is controlled by settings in the "Multi-Button Mouse Emulation" section of the "General" preferences. By default, emulation is on and holding down the command key and clicking the mouse button will simulate clicking the second mouse button. Holding down the option key and clicking will simulate the third button. You can change to any combination of modifiers to emulate buttons two and three in the preferences. Note, even if the modifiers keys are mapped to some other key with xmodmap, you still must use the actual keys specified in the preferences for multi-button mouse emulation.</p>
<h2><a NAME="path">Setting Your Path</a></h2>
<p>Your path is the list of directories to be searched for executable commands. The X11 commands are located in <code>/usr/X11R6/bin</code>, which needs to be added to your path. XDarwin does this for you by default and can also add additional directories where you have installed command line applications.</p>
<p>More experienced users will have already set their path correctly using the initialization files for their shell. In this case, you can inform XDarwin not to modify your path in the preferences. XDarwin launches the initial X11 clients in the user's default login shell. (An alternate shell can also be specified in the preferences.) The way to set the path depends on the shell you are using. This is described in the man page documentation for the shell.</p>
<p>In addition you may also want to add the X11 man pages to the list of pages to be searched when you are looking for documentation. The X11 man pages are located in <code>/usr/X11R6/man</code> and the <code>MANPATH</code> environment variable contains the list of directories to search.</p>
<h2><a NAME="prefs">User Preferences</a></h2>
<p>A number of options may be set from the user preferences, accessible from the "Preferences..." menu item in the "XDarwin" menu. The options listed as start up options will not take effect until you have restarted XDarwin. All other options take effect immediately. The various options are described below:</p>
<h3>General</h3>
<ul>
<li><b>Use System beep for X11:</b> When enabled the standard Mac OS X alert sound is used as the X11 bell. When disabled (default) a simple tone is used.</li>
<li><b>Allow X11 to change mouse acceleration:</b> In a standard X window system implementation, the window manager can change the mouse acceleration. This can lead to confusion as the mouse acceleration may be set to different values by the Mac OS X System Preferences and the X window manager. By default, X11 is not allowed to change the mouse acceleration to avoid this problem.</li>
<li><b>Multi-Button Mouse Emulation:</b> This is described above under <a HREF="#usage">Usage</a>. When emulation is enabled the selected modifiers must be held down when the mouse button is pushed to emulate the second or third mouse buttons.</li>
</ul>
<h3>Start Up</h3>
<ul>
<li><b>Default Mode:</b> If the user does not indicate whether to run in full screen or rootless mode, the mode specified here will be used.</li>
<li><b>Show mode pick panel on startup:</b> By default, a panel is displayed when XDarwin is started to allow the user to choose between full screen or rootless mode. If this option is turned off, the default mode will be started automatically.</li>
<li><b>X11 Display number:</b> X11 allows there to be multiple displays managed by separate X servers on a single computer. The user may specify an integer display number for XDarwin to use if more than one X server is going to be run simultaneously.</li>
<li><b>Allow Xinerama multiple monitor support:</b> XDarwin supports multiple monitors with Xinerama, which treats all monitors as being part of one large rectangular screen. You can disable Xinerama with this option, but currently XDarwin does not handle multiple monitors correctly without it. If you only have a single monitor, Xinerama is automatically disabled.</li>
<li><b>Keymapping File:</b> A keymapping file is read at startup and translated to an X11 keymap. Keymapping files, available for a wide variety of languages, are found in <code>/System/Library/Keyboards</code>.</li>
<li><b>Starting First X11 Clients:</b> When XDarwin is started from the Finder, it will run <code>xinit</code> to launch the X window manager and other X clients. (See "<code>man xinit</code>" for more information.) Before XDarwin runs <code>xinit</code> it will add the specified directories to the user's path. By default only <code>/usr/X11R6/bin</code> is added. Additional directories may added, separated by a colon. The X clients are started in the user's default login shell so that the user's shell initialization files are read. If desired, an alternate shell may be specified.</li>
</ul>
<h3>Full Screen</h3>
<ul>
<li><b>Key combination button:</b> Click this button and then press any number of modifiers followed by a standard key to change the key combination to switch between Aqua and X11.</li>
<li><b>Click on icon in Dock switches to X11:</b> Enable this to activate switching to X11 by clicking on the XDarwin icon in the Dock. On some versions of Mac OS X, switching by clicking in the Dock can cause the cursor to disappear on returning to Aqua.</li>
<li><b>Show help on startup:</b> This will show an introductory splash screen when XDarwin is started in full screen mode.</li>
<li><b>Color bit depth:</b> In full screen mode, the X11 display can use a different color bit depth than is used by Aqua. If "Current" is specified, the depth used by Aqua when XDarwin starts will be used. Otherwise 8, 15, or 24 bits may be specified.</li>
</ul>
<h2><a NAME="license">License</a></h2>
The main license for XDarwin is based on the traditional MIT X11 / X Consortium License, which does not impose any conditions on modification or redistribution of source code or binaries other than requiring that copyright/license notices are left intact. For more information and additional copyright/licensing notices covering some sections of the code, please refer to the source code.
<H3><A NAME="3"></A>X Consortium License</H3>
<p>Copyright (C) 1996 X Consortium</p>
<p>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:</p>
<p>The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.</p>
<p>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 X CONSORTIUM 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
IN THE SOFTWARE.</p>
<p>Except as contained in this notice, the name of the X Consortium shall
not be used in advertising or otherwise to promote the sale, use or
other dealings in this Software without prior written authorization from
the X Consortium.</p>
<p>X Window System is a trademark of X Consortium, Inc.</p>
</body>
</html>

View File

@ -1,166 +0,0 @@
{\rtf1\mac\ansicpg10000\cocoartf102
{\fonttbl\f0\fswiss\fcharset77 Helvetica;\f1\fswiss\fcharset77 Helvetica-Bold;\f2\fswiss\fcharset77 Helvetica-Oblique;
}
{\colortbl;\red255\green255\blue255;}
\vieww5160\viewh4480\viewkind0
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
\f0\fs24 \cf0 This product includes software developed by The XFree86 Project, Inc (http://www.xfree86.org/) and its contributors. The following people contributed to Darwin/Mac OS X support.\
\
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\f1\b \cf0 Contributors to Xorg Foundation Release:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Kaleb KEITHLEY\
\f2\i Working left and right Ctrl, Alt (Option), Meta (Command) and Shift keys.
\f0\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f1\b \cf0 \
\f1\b \cf0 Contributors to XFree86 4.4:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 John Harper\
\f2\i Rootless acceleration and Apple-WM extension
\f0\i0 \
Torrey T. Lyons\
\f2\i Project Lead
\f0\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f1\b \cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\cf0 Additional XonX Contributors to XFree86 4.3:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Fabr\'92cio Luis de Castro\
\f2\i Portuguese localization
\f0\i0 \
Michael Oland\
\f2\i New XDarwin icon
\f0\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\f1\b \cf0 \
Participants \'88 XonX pour XFree86 4.2 :
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Rob Braun\
\f2\i Version pour Darwin x86
\f0\i0 \
Pablo Di Noto\
\f2\i Traduction en espagnol
\f0\i0 \
Paul Edens\
\f2\i Traduction en allemand
\f0\i0 \
Kyunghwan Kim\
\f2\i Traduction en cor\'8een
\f0\i0 \
Mario Klebsch\
\f2\i Claviers non-US
\f0\i0 \
Torrey T. Lyons\
\f2\i Direction du projet
\f0\i0 \
Andreas Monitzer\
\f2\i Traduction en allemand
\f0\i0 \
Patrik Montgomery\
\f2\i Traduction en su\'8edois
\f0\i0 \
Greg Parker\
\f2\i Version \'c7 rootless \'c8
\f0\i0 \
Toshimitsu Tanaka\
\f2\i Traduction en japonais
\f0\i0 \
Olivier Verdier\
\f2\i Traduction en fran\'8dais
\f0\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f1\b \cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\cf0 Remerciements :
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Devin Poolman et Zero G Software, Inc.\
\f2\i Installeur
\f0\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f1\b \cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\cf0 Participants \'88 XonX pour XFree86 4.2 :
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Rob Braun\
\f2\i Version pour Darwin x86
\f0\i0 \
Torrey T. Lyons\
\f2\i Direction du projet
\f0\i0 \
Andreas Monitzer\
\f2\i Version Cocoa de l'interface de XDarwin
\f0\i0 \
Greg Parker\
\f2\i Impl\'8ementation initiale sur Quartz
\f0\i0 \
Christoph Pfisterer\
\f2\i Librairies partag\'8ees dynamiquement
\f0\i0 \
Toshimitsu Tanaka\
\f2\i Traduction en japonais
\f0\i0 \
\
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\f1\b \cf0 Remerciements :
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Tiago Ribeiro\
Ic\'99ne
\f2\i XDarwin
\f0\i0 \
\
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\f1\b \cf0 Historique :
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 John Carmack\
\f2\i Premi\'8fre adaptation de XFree86 sur Mac OS X Server
\f0\i0 \
Dave Zarzycki\
\f2\i Adaptation de Free86 4.0 pour Darwin 1.0
\f0\i0 \
Torrey T. Lyons\
\f2\i Int\'8egration dans le projet XFree86 pour la version 4.0.2}

View File

@ -1,72 +0,0 @@
{
IBClasses = (
{
ACTIONS = {showHelp = id; };
CLASS = FirstResponder;
LANGUAGE = ObjC;
SUPERCLASS = NSObject;
},
{
ACTIONS = {close = id; pickFile = id; saveChanges = id; setKey = id; };
CLASS = Preferences;
LANGUAGE = ObjC;
OUTLETS = {
addToPathButton = id;
addToPathField = id;
button2ModifiersMatrix = id;
button3ModifiersMatrix = id;
depthButton = id;
displayField = id;
dockSwitchButton = id;
fakeButton = id;
keymapFileField = id;
modeMatrix = id;
modeWindowButton = id;
mouseAccelChangeButton = id;
startupHelpButton = id;
switchKeyButton = id;
systemBeepButton = id;
useDefaultShellMatrix = id;
useOtherShellField = id;
useXineramaButton = id;
window = id;
};
SUPERCLASS = NSObject;
},
{
CLASS = XApplication;
LANGUAGE = ObjC;
OUTLETS = {preferences = id; xserver = id; };
SUPERCLASS = NSApplication;
},
{
ACTIONS = {
bringAllToFront = id;
closeHelpAndShow = id;
itemSelected = id;
nextWindow = id;
previousWindow = id;
showAction = id;
showSwitchPanel = id;
startFullScreen = id;
startRootless = id;
};
CLASS = XServer;
LANGUAGE = ObjC;
OUTLETS = {
dockMenu = NSMenu;
helpWindow = NSWindow;
modeWindow = NSWindow;
startFullScreenButton = NSButton;
startRootlessButton = NSButton;
startupHelpButton = NSButton;
startupModeButton = NSButton;
switchWindow = NSPanel;
windowMenu = NSMenu;
windowSeparator = NSMenuItem;
};
SUPERCLASS = NSObject;
}
);
IBVersion = 1;
}

View File

@ -1,38 +0,0 @@
BINDIR = ${bindir}
include $(top_srcdir)/cpprules.in
XINITDIR = $(libdir)/X11/xinit
XDEFS = \
-DX_VERSION="$(PLIST_VERSION_STRING)" \
-DX_PRE_RELEASE="$(PRE)" \
-DX_REL_DATE="$(XORG_DATE)" \
-DX_VENDOR_NAME="$(VENDOR_STRING)" \
-DX_VENDOR_LINK="$(PLIST_VENDOR_WEB)"
resourcesdir = @APPLE_APPLICATIONS_DIR@/XDarwin.app/Contents/Resources
Frenchlprojdir = $(resourcesdir)/French.lproj
Frenchlproj_DATA = \
XDarwinHelp.html \
InfoPlist.strings \
Credits.rtf Localizable.strings
Frenchlprojnibdir = $(Frenchlprojdir)/MainMenu.nib
Frenchlprojnib_DATA = MainMenu.nib/classes.nib MainMenu.nib/objects.nib
InfoPlist.strings: $(srcdir)/../English.lproj/InfoPlist.strings.cpp
$(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) | $(SED) -e's/__quote__/"/g' > $@
XDarwinHelp.html: XDarwinHelp.html.cpp
$(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) > $@
CLEANFILES = XDarwinHelp.html InfoPlist.strings
EXTRA_DIST = \
Credits.rtf Localizable.strings \
Localizable.strings \
MainMenu.nib/classes.nib \
MainMenu.nib/objects.nib \
XDarwinHelp.html.cpp

View File

@ -1,99 +0,0 @@
<html>
<head><META HTTP-EQUIV="content-type" CONTENT="text/html; charset=iso-8859-1">
<title>XDarwin Help</title>
</head>
<body>
<center>
<h1>XDarwin X Server pour Mac OS X</h1>
X_VENDOR_NAME X_VERSION<br>
Date : X_REL_DATE
</center>
<h2>Sommaire</h2>
<ol>
<li><A HREF="#notice">Avertissement</A></li>
<li><A HREF="#usage">Utilisation</A></li>
<li><A HREF="#path">Chemins d'accès</A></li>
<li><A HREF="#prefs">Préférences</A></li>
<li><A HREF="#license">Licence</A></li>
</ol>
<center>
<h2><a NAME="notice">Avertissement</a></h2>
</center>
<blockquote>
#if PRE_RELEASE
Ceci est une pré-version de XDarwin et ne fait par conséquent l'objet d'aucun support client. Les bogues peuvent être signalés et des patches peuvent être soumis sur la
<A HREF="http://sourceforge.net/projects/xonx/">page du projet XonX</A> chez SourceForge. Veuillez prendre connaissance de la dernière version sur <A HREF="http://sourceforge.net/projects/xonx/">XonX</A> ou le X_VENDOR_LINK avant de signaler un bogue d'une pré-version.
#else
Si le serveur date de plus de 6-12 mois ou si votre matériel est plus récent que la date indiquée ci-dessus, veuillez vous procurer une version plus récente avant de signaler toute anomalie. Les bogues peuvent être signalés et des patches peuvent être soumis sur la <A HREF="http://sourceforge.net/projects/xonx/">page du projet XonX</A> chez SourceForge.
#endif
</blockquote>
<blockquote>
Ce logiciel est distribué sous la
<A HREF="#license">Licence du Consortium X/X11 du MIT</A> et est fourni TEL QUEL, sans garanties. Veuillez prendre connaissance de la <A HREF="#license">Licence</A> avant toute utilisation.</blockquote>
<h2><a NAME="usage">Utilisation</a></h2>
<p>XDarwin est une X server libre et distribuable sans contrainte du <a HREF
="http://www.x.org/">X Window System</a>. This version of XDarwin was produced by the X_VENDOR_LINK. XDarwin fonctionne sous Mac OS X en mode « rootless » ou plein écran.</p>
<p>Lorsque le système X window est actif en mode plein écran, il prend en charge la totalité de l'écran. Il est possible de revenir sur le bureau de Mac OS X en appuyant sur Commande-Option-A. Cette combinaison de touches peut être modifiée dans les préférences. Pour revenir dans X window, cliquer sur l'icône de XDarwin dans le Dock de Mac OS X. (Un réglage des préférences permet d'effectuer cette opération en cliquant dans une fenêtre flottante au lieu de l'icône du Dock)</p>
<p>En mode « rootless », X window system et Aqua utilisent le même affichage. La fenêtre-mère de l'affichage X11 est de la taille de l'écran et contient toutes les autre fenêtres. En mode « rootless » cette fenêtre-mère n'est pas affichée car Aqua gère le fond d'écran.</p>
<h3>Émulation de souris à plusieurs boutons</h3>
<p>Le fonctionnement de la plupart des applications X11 repose sur l'utilisation d'une souris à 3 boutons. Il est possible d'émuler une souris à 3 boutons avec un seul bouton en appuyant sur des touches de modification. Ceci est réglé dans la section "Émulation de souris à plusieurs boutons" de l'onglet "Général" des préférences. L'émulation est activée par défaut. Dans ce cas, cliquer en appuyant simultanément sur la touche "commande" simulera le bouton du milieu. Cliquer en appuyant simultanément sur la touche "option" simulera le bouton de droite. Les préférences permettent de régler n'importe quelle combinaison de touches de modification pour émuler les boutons du milieu et de droite. Notez que même si les touches de modifications sont mises en correspondance avec d'autres touches par xmodmap, ce sont les touches originelles spécifiées dans les préférences qui assureront l'émulation d'une souris à plusieurs boutons.
<h2><a NAME="path">Réglage du chemin d'accès</a></h2>
<p>Le chemin d'accès est une liste de répertoires utilisés pour la recherche d'exécutables. Les commandes X11 sont situées dans <code>/usr/X11R6/bin</code>, qui doit être ajouté à votre chemin d'accès. XDarwin fait cela par défaut, et peut également ajouter d'autres répertoires dans lesquels vous auriez installé d'autre commandes unix.</p>
<p>Les utilisateurs plus expérimentés auront déjà réglé leur chemin d'accès correctement par le biais des fichiers d'initialisation de leur shell. Dans ce cas, il est possible de demander à XDarwin de ne pas modifier le chemin d'accès initial. XDarwin lance les premiers clients X11 dans le shell d'ouverture de session par défaut. (Un shell de remplacement peut être spécifié dans les préférences.) La façon de régler le chemin d'accès dépend du shell utilisé. Ceci est documenté dans les pages "man" du shell.</p>
<p>De plus, il est possible d'ajouter les pages "man" de X11 à la liste des pages recherchées pour la documentation "man". Les pages "man" X11 se trouvent dans <code>/usr/X11R6/man</code> et la variable d'environnement <code>MANPATH</code> contient la liste des répertoires dans lesquels chercher.</p>
<h2><a NAME="prefs">Préférences</a></h2>
<p>Un certain nombre d'options peuvent être réglées dans les préférences. On accède aux préférences en choisissant "Préférences..." dans le menu "XDarwin". Les options décrites comme options de démarrage ne prendront pas effet avant le redémarrage de XDarwin. Les autres options prennent immédiatement effet. Les différentes options sont détaillées ci-après :</p>
<h3>Général</h3>
<ul>
<li><b>Utiliser le bip d'alerte Système dans X11 :</b> Cocher cette option pour que le son d'alerte standard de Mac OS X soit utilisé à la place du son d'alerte de X11. L'option n'est pas cochée ar défaut. Dans ce cas, un simple signal sonore est utilisé.</li>
<li><b>Autoriser X11 à changer la vitesse de la souris :</b> Dans une implémentation classique du sytème X window, le gestionnaire de fenêtres peut modifier la vitesse de la souris. Cela peut s'avérer déroutant puisque le réglage de la vitesse de la souris peut être différent dans les préférences de Mac OS X et dans le gestionnaire X window. Par défaut, X11 n'est pas autorisé à changer la vitesse de la souris.</li>
<li><b>Émulation de souris à plusieurs boutons :</b> Ceci est décrit ci-dessus à la rubrique <a HREF="#usage">Usage</a>. Lorsque l'émulation est activée, il suffit d'appuyer simultanément sur les touches modificatrices sélectionnées et sur le bouton de la souris afin d'émuler les boutons du milieu et de droite.</li>
</ul>
<h3>Démarrage</h3>
<ul>
<li><b>Mode par défaut :</b> Le mode spécifié à cet endroit sera utilisé si l'utilisateur ne l'indique pas au démarrage.</li>
<li><b>Choix du mode d'affichage au démarrage</b> Par défaut, une fenêtre de dialogue est affichée au démarrage de XDarwin pour permettre à l'utilisateur de choisir entre le mode plein écran et le mode « rootless ». Si cette option est désactivée, le mode par défaut sera automatiquement utilisé.</li>
<li><b>Numéro d'affichage (Display)</b> X11 offre la possibilité de plusieurs serveurs X sur un ordinateur. L'utilisateur doit spécifier ici le numéro d'affichage utilisé par XDarwin dans le cas plusieurs serveurs X seraient en service simultanément.</li>
<li><b>Autoriser la prise en charge Xinerama de plusieurs moniteurs :</b> XDarwin peut être utilisé avec plusieurs moniteur avec Xinerama, qui considère les différents moniteurs comme des parties d'un écran rectugulaire plus grand. Cette option permet de désactiver Xinerama mais XDarwin ne prend alors pour l'instant pas correctement en charge l'affichage sur plusieurs écrans. Si il n'y a qu'un seul moniteur, Xinerama est automatiquement désactivé.</li>
<li><b>Fichier clavier :</b> Un fichier de correspondance de clavier est lu au démarrage puis transformé en un fihcier de correspondance clavier pour X11. Les fichiers de correspondance clavier, disponibles pour de nombreuses langues, se trouvent dans <code>/System/Library/Keyboards</code>.</li>
<li><b>Démarrage des premiers clients X11 :</b> Lorsque XDarwin est démarré à partir du Finder, il lance <code>xinit</code> qui lance à son tour le gestionnaire X window ainsi que d'autres clients X. (Voir "<code>man xinit</code>" pour plus d'informations.) Avant de lancer <code>xinit</code>, XDarwin ajoute les répertoires ainsi spécifiés au chemin d'accès de l'utilisateur. Par défaut, seul <code>/usr/X11R6/bin</code> est ajouté. Il est possible d'ajouter d'autres répertoires en les séparants à l'aide de deux points (<code>:</code>). Les clients X sont démarrés à partir du shell par défaut de l'utilisateur. Ainsi, le fichier d'initialisation de shell de l'utilisateur est lu. Un autre shell peut éventuellement être spécifié.</li>
</ul>
<h3>Plein écran</h3>
<ul>
<li><b>Combinaison de touches :</b> Appuyer sur ce bouton, puis appuyer sur une ou plusieurs touches modificatrices suivies d'une touche ordinaire. Cette combinaison de touche servira à commuter entre Aqua et X11.</li>
<li><b>Basculer dans X11 en cliquant sur l'icône du Dock :</b> Cette option permet de passer dans X11 en cliquant dans l'icône de XDarwin dans le Dock. Sur certaines versions de Mac OS X, la commutation en utilisant le Dock peut faire disparaître le curseur lors du retour dans Aqua.</li>
<li><b>Afficher l'aide du mode plein écran au démarrage :</b> Permet l'affichage d'une fenêtre d'introduction lorsque XDarwin est démarré en mode plein écran.</li>
<li><b>Profondeur de couleur :</b> En mode plein écran, l'affichage X11 peut utiliser une autre profondeur de couleur que celle employée par Aqua. Si "Actuelle" est choisi, XDarwin utilisera la même profondeur de couleur qu'Aqua. Les autres choix sont 8 (256 couleurs), 15 (milliers de couleurs) et 24 bits (millions de couleurs). </li>
</ul>
<h2><a NAME="license">Licence</a></h2>
The main license for XDarwin is one based on the traditional MIT X11 / X Consortium License, which does not impose any conditions on modification or redistribution of source code or binaries other than requiring that copyright/license notices are left intact. For more information and additional copyright/licensing notices covering some sections of the code, please refer to the source code.
<H3><A NAME="3"></A>X Consortium License</H3>
<p>Copyright (C) 1996 X Consortium</p>
<p>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:</p>
<p>The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.</p>
<p>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 X CONSORTIUM 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
IN THE SOFTWARE.</p>
<p>Except as contained in this notice, the name of the X Consortium shall
not be used in advertising or otherwise to promote the sale, use or
other dealings in this Software without prior written authorization from
the X Consortium.</p>
<p>X Window System is a trademark of X Consortium, Inc.</p>
</body>
</html>

View File

@ -1,168 +0,0 @@
{\rtf1\mac\ansicpg10000\cocoartf102
{\fonttbl\f0\fswiss\fcharset77 Helvetica;\f1\fswiss\fcharset77 Helvetica-Bold;\f2\fswiss\fcharset77 Helvetica-Oblique;
}
{\colortbl;\red255\green255\blue255;}
\vieww5160\viewh6300\viewkind0
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
\f0\fs24 \cf0 This product includes software developed by The XFree86 Project, Inc (http://www.xfree86.org/) and its contributors. The following people contributed to Darwin/Mac OS X support.\
\
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\f1\b \cf0 Contributors to Xorg Foundation Release:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Kaleb KEITHLEY\
\f2\i Working left and right Ctrl, Alt (Option), Meta (Command) and Shift keys.
\f0\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f1\b \cf0 \
\f1\b \cf0 Contributors to XFree86 4.4:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 John Harper\
\f2\i Rootless acceleration and Apple-WM extension
\f0\i0 \
Torrey T. Lyons\
\f2\i Project Lead
\f0\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f1\b \cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\cf0 Additional XonX Contributors to XFree86 4.3:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Fabr\'92cio Luis de Castro\
\f2\i Portuguese localization
\f0\i0 \
Michael Oland\
\f2\i New XDarwin icon
\f0\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f1\b \cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\cf0 XonX Contributors to XFree86 4.2:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Rob Braun\
\f2\i Darwin x86 support
\f0\i0 \
Pablo Di Noto\
\f2\i Spanish localization
\f0\i0 \
Paul Edens\
\f2\i Dutch localization
\f0\i0 \
Kyunghwan Kim\
\f2\i Korean localization
\f0\i0 \
Mario Klebsch\
\f2\i Non-US keyboard support
\f0\i0 \
Torrey T. Lyons\
\f2\i Project Lead
\f0\i0 \
Andreas Monitzer\
\f2\i German localization
\f0\i0 \
Patrik Montgomery\
\f2\i Swedish localization
\f0\i0 \
Greg Parker\
\f2\i Rootless support
\f0\i0 \
Toshimitsu Tanaka\
\f2\i Japanese localization
\f0\i0 \
Olivier Verdier\
\f2\i French localization
\f0\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f1\b \cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\cf0 Special Thanks:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Devin Poolman and Zero G Software, Inc.\
\f2\i Installer
\f0\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f1\b \cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\cf0 XonX Team Members\
Contributing to XFree86 4.1:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Rob Braun\
\f2\i Darwin x86 support
\f0\i0 \
Torrey T. Lyons\
\f2\i Project Lead
\f0\i0 \
Andreas Monitzer\
\f2\i Cocoa version of XDarwin front end
\f0\i0 \
Greg Parker\
\f2\i Original Quartz implementation
\f0\i0 \
Christoph Pfisterer\
\f2\i Dynamic shared libraries
\f0\i0 \
Toshimitsu Tanaka\
\f2\i Japanese localization
\f0\i0 \
\
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\f1\b \cf0 Special Thanks:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Tiago Ribeiro\
\f2\i XDarwin icon
\f0\i0 \
\
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\f1\b \cf0 History:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 John Carmack\
\f2\i Original XFree86 port to Mac OS X Server
\f0\i0 \
Dave Zarzycki\
\f2\i XFree86 4.0 port to Darwin 1.0
\f0\i0 \
Torrey T. Lyons\
\f2\i Integration into XFree86 Project for 4.0.2}

View File

@ -1,72 +0,0 @@
{
IBClasses = (
{
ACTIONS = {showHelp = id; };
CLASS = FirstResponder;
LANGUAGE = ObjC;
SUPERCLASS = NSObject;
},
{
ACTIONS = {close = id; pickFile = id; saveChanges = id; setKey = id; };
CLASS = Preferences;
LANGUAGE = ObjC;
OUTLETS = {
addToPathButton = id;
addToPathField = id;
button2ModifiersMatrix = id;
button3ModifiersMatrix = id;
depthButton = id;
displayField = id;
dockSwitchButton = id;
fakeButton = id;
keymapFileField = id;
modeMatrix = id;
modeWindowButton = id;
mouseAccelChangeButton = id;
startupHelpButton = id;
switchKeyButton = id;
systemBeepButton = id;
useDefaultShellMatrix = id;
useOtherShellField = id;
useXineramaButton = id;
window = id;
};
SUPERCLASS = NSObject;
},
{
CLASS = XApplication;
LANGUAGE = ObjC;
OUTLETS = {preferences = id; xserver = id; };
SUPERCLASS = NSApplication;
},
{
ACTIONS = {
bringAllToFront = id;
closeHelpAndShow = id;
itemSelected = id;
nextWindow = id;
previousWindow = id;
showAction = id;
showSwitchPanel = id;
startFullScreen = id;
startRootless = id;
};
CLASS = XServer;
LANGUAGE = ObjC;
OUTLETS = {
dockMenu = NSMenu;
helpWindow = NSWindow;
modeWindow = NSWindow;
startFullScreenButton = NSButton;
startRootlessButton = NSButton;
startupHelpButton = NSButton;
startupModeButton = NSButton;
switchWindow = NSPanel;
windowMenu = NSMenu;
windowSeparator = NSMenuItem;
};
SUPERCLASS = NSObject;
}
);
IBVersion = 1;
}

View File

@ -1,36 +0,0 @@
BINDIR = ${bindir}
include $(top_srcdir)/cpprules.in
XINITDIR = $(libdir)/X11/xinit
XDEFS = \
-DX_VERSION="$(PLIST_VERSION_STRING)" \
-DX_PRE_RELEASE="$(PRE)" \
-DX_REL_DATE="$(XORG_DATE)" \
-DX_VENDOR_NAME="$(VENDOR_STRING)" \
-DX_VENDOR_LINK="$(PLIST_VENDOR_WEB)"
resourcesdir = @APPLE_APPLICATIONS_DIR@/XDarwin.app/Contents/Resources
Germanlprojdir = $(resourcesdir)/German.lproj
Germanlproj_DATA = \
XDarwinHelp.html \
InfoPlist.strings \
Credits.rtf Localizable.strings
Germanlprojnibdir = $(Germanlprojdir)/MainMenu.nib
Germanlprojnib_DATA = MainMenu.nib/classes.nib MainMenu.nib/objects.nib
InfoPlist.strings: $(srcdir)/../English.lproj/InfoPlist.strings.cpp
$(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) | $(SED) -e's/__quote__/"/g' > $@
XDarwinHelp.html: XDarwinHelp.html.cpp
$(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) > $@
CLEANFILES = XDarwinHelp.html InfoPlist.strings
EXTRA_DIST = \
Credits.rtf Localizable.strings \
Localizable.strings \
MainMenu.nib/classes.nib \
MainMenu.nib/objects.nib \
XDarwinHelp.html.cpp

View File

@ -1,94 +0,0 @@
<html>
<head>
<title>XDarwin Help</title>
</head>
<body>
<center>
<h1>XDarwin X Server for Mac OS X</h1>
X_VENDOR_NAME X_VERSION<br>
Release Date: X_REL_DATE
</center>
<h2>Contents</h2>
<ol>
<li><A HREF="#notice">Important Notice</A></li>
<li><A HREF="#usage">Usage</A></li>
<li><A HREF="#path">Setting Your Path</A></li>
<li><A HREF="#prefs">User Preferences</A></li>
<li><A HREF="#license">License</A></li>
</ol>
<center>
<h2><a NAME="notice">Important Notice</a></h2>
</center>
<blockquote>
#if X_PRE_RELEASE
This is a pre-release version of XDarwin, and is not supported in any way. Bugs may be reported and patches may be submitted to the <A HREF="http://sourceforge.net/projects/xonx/">XonX project page</A> at SourceForge. Before reporting bugs in pre-release versions, please check the latest version from <A HREF="http://sourceforge.net/projects/xonx/">XonX</A> or the X_VENDOR_LINK.
#else
If the server is older than 6-12 months, or if your hardware is newer than the above date, look for a newer version before reporting problems. Bugs may be reported and patches may be submitted to the <A HREF="http://sourceforge.net/projects/xonx/">XonX project page</A> at SourceForge.
#endif
</blockquote>
<blockquote>
This software is distributed under the terms of the <A HREF="#license">MIT X11 / X Consortium License</A> and is provided AS IS, with no warranty. Please read the <A HREF="#license">License</A> before using.</blockquote>
<h2><a NAME="usage">Usage</a></h2>
<p>XDarwin is a freely redistributable open-source X server for the <a HREF="http://www.x.org/">X Window System</a>. This version of XDarwin was produced by the X_VENDOR_LINK. XDarwin runs on Mac OS X in full screen or rootless modes.</p>
<p>In full screen mode, when the X window system is active, it takes over the entire screen. You can switch back to the Mac OS X desktop by holding down Command-Option-A. This key combination can be changed in the user preferences. From the Mac OS X desktop, click on the XDarwin icon in the Dock to switch back to the X window system. (You can change this behavior in the user preferences so that you must click the XDarwin icon in the floating switch window instead.)</p>
<p>In rootless mode, the X window system and Aqua share your display. The root window of the X11 display is the size of the screen and contains all the other windows. The X11 root window is not displayed in rootless mode as Aqua handles the desktop background.</p>
<h3>Multi-Button Mouse Emulation</h3>
<p>Many X11 applications rely on the use of a 3-button mouse. You can emulate a 3-button mouse with a single button by holding down various modifier keys while you click the mouse button. This is controlled by settings in the "Multi-Button Mouse Emulation" section of the "General" preferences. By default, emulation is on and holding down the command key and clicking the mouse button will simulate clicking the second mouse button. Holding down the option key and clicking will simulate the third button. You can change to any combination of modifiers to emulate buttons two and three in the preferences. Note, even if the modifiers keys are mapped to some other key with xmodmap, you still must use the actual keys specified in the preferences for multi-button mouse emulation.</p>
<h2><a NAME="path">Setting Your Path</a></h2>
<p>Your path is the list of directories to be searched for executable commands. The X11 commands are located in <code>/usr/X11R6/bin</code>, which needs to be added to your path. XDarwin does this for you by default and can also add additional directories where you have installed command line applications.</p>
<p>More experienced users will have already set their path correctly using the initialization files for their shell. In this case, you can inform XDarwin not to modify your path in the preferences. XDarwin launches the initial X11 clients in the user's default login shell. (An alternate shell can also be specified in the preferences.) The way to set the path depends on the shell you are using. This is described in the man page documentation for the shell.</p>
<p>In addition you may also want to add the X11 man pages to the list of pages to be searched when you are looking for documentation. The X11 man pages are located in <code>/usr/X11R6/man</code> and the <code>MANPATH</code> environment variable contains the list of directories to search.</p>
<h2><a NAME="prefs">User Preferences</a></h2>
<p>A number of options may be set from the user preferences, accessible from the "Preferences..." menu item in the "XDarwin" menu. The options listed as start up options will not take effect until you have restarted XDarwin. All other options take effect immediately. The various options are described below:</p>
<h3>General</h3>
<ul>
<li><b>Use System beep for X11:</b> When enabled the standard Mac OS X alert sound is used as the X11 bell. When disabled (default) a simple tone is used.</li>
<li><b>Allow X11 to change mouse acceleration:</b> In a standard X window system implementation, the window manager can change the mouse acceleration. This can lead to confusion as the mouse acceleration may be set to different values by the Mac OS X System Preferences and the X window manager. By default, X11 is not allowed to change the mouse acceleration to avoid this problem.</li>
<li><b>Multi-Button Mouse Emulation:</b> This is described above under <a HREF="#usage">Usage</a>. When emulation is enabled the selected modifiers must be held down when the mouse button is pushed to emulate the second or third mouse buttons.</li>
</ul>
<h3>Start Up</h3>
<ul>
<li><b>Default Mode:</b> If the user does not indicate whether to run in full screen or rootless mode, the mode specified here will be used.</li>
<li><b>Show mode pick panel on startup:</b> By default, a panel is displayed when XDarwin is started to allow the user to choose between full screen or rootless mode. If this option is turned off, the default mode will be started automatically.</li>
<li><b>X11 Display number:</b> X11 allows there to be multiple displays managed by separate X servers on a single computer. The user may specify an integer display number for XDarwin to use if more than one X server is going to be run simultaneously.</li>
<li><b>Allow Xinerama multiple monitor support:</b> XDarwin supports multiple monitors with Xinerama, which treats all monitors as being part of one large rectangular screen. You can disable Xinerama with this option, but currently XDarwin does not handle multiple monitors correctly without it. If you only have a single monitor, Xinerama is automatically disabled.</li>
<li><b>Keymapping File:</b> A keymapping file is read at startup and translated to an X11 keymap. Keymapping files, available for a wide variety of languages, are found in <code>/System/Library/Keyboards</code>.</li>
<li><b>Starting First X11 Clients:</b> When XDarwin is started from the Finder, it will run <code>xinit</code> to launch the X window manager and other X clients. (See "<code>man xinit</code>" for more information.) Before XDarwin runs <code>xinit</code> it will add the specified directories to the user's path. By default only <code>/usr/X11R6/bin</code> is added. Additional directories may added, separated by a colon. The X clients are started in the user's default login shell so that the user's shell initialization files are read. If desired, an alternate shell may be specified.</li>
</ul>
<h3>Full Screen</h3>
<ul>
<li><b>Key combination button:</b> Click this button and then press any number of modifiers followed by a standard key to change the key combination to switch between Aqua and X11.</li>
<li><b>Click on icon in Dock switches to X11:</b> Enable this to activate switching to X11 by clicking on the XDarwin icon in the Dock. On some versions of Mac OS X, switching by clicking in the Dock can cause the cursor to disappear on returning to Aqua.</li>
<li><b>Show help on startup:</b> This will show an introductory splash screen when XDarwin is started in full screen mode.</li>
<li><b>Color bit depth:</b> In full screen mode, the X11 display can use a different color bit depth than is used by Aqua. If "Current" is specified, the depth used by Aqua when XDarwin starts will be used. Otherwise 8, 15, or 24 bits may be specified.</li>
</ul>
<h2><a NAME="license">License</a></h2>
The main license for XDarwin is based on the traditional MIT X11 / X Consortium License, which does not impose any conditions on modification or redistribution of source code or binaries other than requiring that copyright/license notices are left intact. For more information and additional copyright/licensing notices covering some sections of the code, please refer to the source code.
<H3><A NAME="3"></A>X Consortium License</H3>
<p>Copyright (C) 1996 X Consortium</p>
<p>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:</p>
<p>The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.</p>
<p>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 X CONSORTIUM 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
IN THE SOFTWARE.</p>
<p>Except as contained in this notice, the name of the X Consortium shall
not be used in advertising or otherwise to promote the sale, use or
other dealings in this Software without prior written authorization from
the X Consortium.</p>
<p>X Window System is a trademark of X Consortium, Inc.</p>
</body>
</html>

View File

@ -1,66 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>x11app</string>
</array>
<key>CFBundleTypeName</key>
<string>X11 Application</string>
<key>CFBundleTypeOSTypes</key>
<array>
<string>****</string>
</array>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>tool</string>
<string>*</string>
</array>
<key>CFBundleTypeName</key>
<string>UNIX Application</string>
<key>CFBundleTypeOSTypes</key>
<array>
<string>****</string>
</array>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
</array>
<key>CFBundleExecutable</key>
<string>XDarwin</string>
<key>CFBundleGetInfoString</key>
<string>XDarwin 1.4.0, X.Org Foundation</string>
<key>CFBundleIconFile</key>
<string>XDarwin.icns</string>
<key>CFBundleIdentifier</key>
<string>org.x.XDarwin</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>XDarwin</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>XDarwin 1.4.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string></string>
<key>NSHelpFile</key>
<string>XDarwinHelp.html</string>
<key>NSMainNibFile</key>
<string>MainMenu</string>
<key>NSPrincipalClass</key>
<string>XApplication</string>
</dict>
</plist>

View File

@ -1,193 +0,0 @@
{\rtf1\mac\ansicpg10001\cocoartf102
{\fonttbl\f0\fnil\fcharset78 HiraKakuPro-W3;\f1\fswiss\fcharset77 Helvetica;\f2\fswiss\fcharset77 Helvetica-Bold;
\f3\fswiss\fcharset77 Helvetica-Oblique;}
{\colortbl;\red255\green255\blue255;}
\vieww13980\viewh11160\viewkind0
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
\f0\fs24 \cf0 \'82\'b1\'82\'cc\'90\'bb\'95\'69\'82\'cd
\f1 XFree86
\f0 \'83\'76\'83\'8d\'83\'57\'83\'46\'83\'4e\'83\'67
\f1 (http://www.xfree86.org/)
\f0 \'82\'a8\'82\'e6\'82\'d1\'82\'bb\'82\'cc\'8d\'76\'8c\'a3\'8e\'d2\'82\'c9\'82\'e6\'82\'c1\'82\'c4\'8a\'4a\'94\'ad\'82\'b3\'82\'ea\'82\'bd\'83\'5c\'83\'74\'83\'67\'83\'45\'83\'46\'83\'41\'82\'f0\'8a\'dc\'82\'f1\'82\'c5\'82\'a2\'82\'dc\'82\'b7\'81\'42\'8e\'9f\'82\'cc\'90\'6c\'81\'58\'82\'cd Darwin
\f1 /Mac OS X
\f0 \'82\'cc\'83\'54\'83\'7c\'81\'5b\'83\'67\'82\'c9\'8d\'76\'8c\'a3\'82\'b5\'82\'dc\'82\'b5\'82\'bd\'81\'42
\f1 \
\
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\f2\b \cf0 Contributors to Xorg Foundation Release:
\f1\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Kaleb KEITHLEY\
\f0 \'8d\'b6\'89\'45\'82\'cc Ctrl,Alt(Option),Meta(Command) \'82\'a8\'82\'e6\'82\'d1 Shift \'83\'4c\'81\'5b\'82\'cc\'93\'ae\'8d\'ec
\f1 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f2\b \cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\cf0 Contributors to XFree86 4.4:
\f1\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 John Harper
\f3\i \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f0\i0 \cf0 \'83\'8b\'81\'5b\'83\'67\'83\'8c\'83\'58 \'83\'41\'83\'4e\'83\'5a\'83\'89\'83\'8c\'81\'5b\'83\'56\'83\'87\'83\'93 \'82\'a8\'82\'e6\'82\'d1 Apple-WM \'8a\'67\'92\'a3
\f1 \
Torrey T. Lyons\
\f0 \'83\'76\'83\'8d\'83\'57\'83\'46\'83\'4e\'83\'67 \'83\'8a\'81\'5b\'83\'5f\'81\'5b\
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f2\b \cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\cf0 Additional XonX Contributors to XFree86 4.3:
\f1\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Fabr\'92cio Luis de Castro\
\f0 \'83\'7c\'83\'8b\'83\'67\'83\'4b\'83\'8b\'8c\'ea\'83\'8d\'81\'5b\'83\'4a\'83\'89\'83\'43\'83\'59
\f1 \
Michael Oland\
\f0 \'90\'56\'82\'b5\'82\'a2
\f1 XDarwin
\f0 \'83\'41\'83\'43\'83\'52\'83\'93
\f1 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f2\b \cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\cf0 XonX Contributors to XFree86 4.2:
\f1\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Rob Braun\
Darwin x86
\f3\i
\f0\i0 \'83\'54\'83\'7c\'81\'5b\'83\'67
\f1 \
Pablo Di Noto\
\f3\i
\f0\i0 \'83\'58\'83\'79\'83\'43\'83\'93\'8c\'ea\'83\'8d\'81\'5b\'83\'4a\'83\'89\'83\'43\'83\'59
\f1 \
Paul Edens\
\f3\i
\f0\i0 \'83\'49\'83\'89\'83\'93\'83\'5f\'8c\'ea\'83\'8d\'81\'5b\'83\'4a\'83\'89\'83\'43\'83\'59
\f1 \
Kyunghwan Kim\
\f3\i
\f0\i0 \'8a\'d8\'8d\'91\'8c\'ea\'83\'8d\'81\'5b\'83\'4a\'83\'89\'83\'43\'83\'59
\f1 \
Mario Klebsch\
\f0 \'94\'f1US\'83\'4c\'81\'5b\'83\'7b\'81\'5b\'83\'68 \'83\'54\'83\'7c\'81\'5b\'83\'67
\f1 \
Torrey T. Lyons\
\f0 \'83\'76\'83\'8d\'83\'57\'83\'46\'83\'4e\'83\'67 \'83\'8a\'81\'5b\'83\'5f\'81\'5b
\f1 \
Andreas Monitzer\
\f0 \'83\'68\'83\'43\'83\'63\'8c\'ea\'83\'8d\'81\'5b\'83\'4a\'83\'89\'83\'43\'83\'59
\f1 \
Patrik Montgomery\
\f3\i
\f0\i0 \'83\'58\'83\'45\'83\'46\'81\'5b\'83\'66\'83\'93\'8c\'ea\'83\'8d\'81\'5b\'83\'4a\'83\'89\'83\'43\'83\'59
\f1 \
Greg Parker\
\f0 \'83\'8b\'81\'5b\'83\'67\'83\'8c\'83\'58 \'83\'54\'83\'7c\'81\'5b\'83\'67
\f1 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f0 \cf0 \'93\'63\'92\'86 \'8f\'72\'8c\'f5
\f1 \
\f0 \'93\'fa\'96\'7b\'8c\'ea\'83\'8d\'81\'5b\'83\'4a\'83\'89\'83\'43\'83\'59
\f1 \
Olivier Verdier\
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f3\i \cf0
\f0\i0 \'83\'74\'83\'89\'83\'93\'83\'58\'8c\'ea\'83\'8d\'81\'5b\'83\'4a\'83\'89\'83\'43\'83\'59
\f1 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f2\b \cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\cf0 Special Thanks:
\f1\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Devin Poolman and Zero G Software, Inc.\
\f3\i
\f0\i0 \'83\'43\'83\'93\'83\'58\'83\'67\'81\'5b\'83\'89
\f1 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f2\b \cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\cf0 XonX Team Members\
Contributing to XFree86 4.1:
\f1\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Rob Braun\
Darwin x86
\f0 \'83\'54\'83\'7c\'81\'5b\'83\'67
\f1 \
Torrey T. Lyons\
\f0 \'83\'76\'83\'8d\'83\'57\'83\'46\'83\'4e\'83\'67 \'83\'8a\'81\'5b\'83\'5f\'81\'5b
\f1 \
Andreas Monitzer\
Cocoa
\f0 \'94\'c5 XDarwin \'83\'74\'83\'8d\'83\'93\'83\'67\'83\'47\'83\'93\'83\'68
\f1 \
Greg Parker\
\f0 \'8d\'c5\'8f\'89\'82\'cc Quartz \'83\'43\'83\'93\'83\'76\'83\'8a\'83\'81\'83\'93\'83\'67
\f1 \
Christoph Pfisterer\
\f0 \'8b\'a4\'97\'4c\'83\'89\'83\'43\'83\'75\'83\'89\'83\'8a
\f1 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f0 \cf0 \'93\'63\'92\'86 \'8f\'72\'8c\'f5
\f1 \
\f0 \'93\'fa\'96\'7b\'8c\'ea\'83\'8d\'81\'5b\'83\'4a\'83\'89\'83\'43\'83\'59
\f1 \
\
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\f2\b \cf0 Special Thanks:
\f1\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Tiago Ribeiro\
XDarwin
\f0 \'83\'41\'83\'43\'83\'52\'83\'93
\f1 \
\
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\f2\b \cf0 History:
\f1\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 John Carmack\
\f0 XFree86 \'82\'cc Mac OS X Server \'82\'d6\'82\'cc\'8d\'c5\'8f\'89\'82\'cc\'88\'da\'90\'41
\f1 \
Dave Zarzycki\
XFree86 4.0
\f0 \'82\'f0 Darwin 1.0 \'82\'c9\'88\'da\'90\'41
\f1 \
Torrey T. Lyons\
XFree86 4.0.2
\f0 \'83\'76\'83\'8d\'83\'57\'83\'46\'83\'4e\'83\'67\'82\'d6\'82\'cc\'93\'9d\'8d\'87}

View File

@ -1,72 +0,0 @@
{
IBClasses = (
{
ACTIONS = {showHelp = id; };
CLASS = FirstResponder;
LANGUAGE = ObjC;
SUPERCLASS = NSObject;
},
{
ACTIONS = {close = id; pickFile = id; saveChanges = id; setKey = id; };
CLASS = Preferences;
LANGUAGE = ObjC;
OUTLETS = {
addToPathButton = id;
addToPathField = id;
button2ModifiersMatrix = id;
button3ModifiersMatrix = id;
depthButton = id;
displayField = id;
dockSwitchButton = id;
fakeButton = id;
keymapFileField = id;
modeMatrix = id;
modeWindowButton = id;
mouseAccelChangeButton = id;
startupHelpButton = id;
switchKeyButton = id;
systemBeepButton = id;
useDefaultShellMatrix = id;
useOtherShellField = id;
useXineramaButton = id;
window = id;
};
SUPERCLASS = NSObject;
},
{
CLASS = XApplication;
LANGUAGE = ObjC;
OUTLETS = {preferences = id; xserver = id; };
SUPERCLASS = NSApplication;
},
{
ACTIONS = {
bringAllToFront = id;
closeHelpAndShow = id;
itemSelected = id;
nextWindow = id;
previousWindow = id;
showAction = id;
showSwitchPanel = id;
startFullScreen = id;
startRootless = id;
};
CLASS = XServer;
LANGUAGE = ObjC;
OUTLETS = {
dockMenu = NSMenu;
helpWindow = NSWindow;
modeWindow = NSWindow;
startFullScreenButton = NSButton;
startRootlessButton = NSButton;
startupHelpButton = NSButton;
startupModeButton = NSButton;
switchWindow = NSPanel;
windowMenu = NSMenu;
windowSeparator = NSMenuItem;
};
SUPERCLASS = NSObject;
}
);
IBVersion = 1;
}

View File

@ -1,37 +0,0 @@
BINDIR = ${bindir}
include $(top_srcdir)/cpprules.in
XINITDIR = $(libdir)/X11/xinit
XDEFS = \
-DX_VERSION="$(PLIST_VERSION_STRING)" \
-DX_PRE_RELEASE="$(PRE)" \
-DX_REL_DATE="$(XORG_DATE)" \
-DX_VENDOR_NAME="$(VENDOR_STRING)" \
-DX_VENDOR_LINK="$(PLIST_VENDOR_WEB)"
resourcesdir = @APPLE_APPLICATIONS_DIR@/XDarwin.app/Contents/Resources
Japaneselprojdir = $(resourcesdir)/Japanese.lproj
Japaneselproj_DATA = \
XDarwinHelp.html \
InfoPlist.strings \
Credits.rtf Localizable.strings
Japaneselprojnibdir = $(Japaneselprojdir)/MainMenu.nib
Japaneselprojnib_DATA = MainMenu.nib/classes.nib MainMenu.nib/objects.nib
InfoPlist.strings: $(srcdir)/../English.lproj/InfoPlist.strings.cpp
$(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) | $(SED) -e's/__quote__/"/g' > $@
XDarwinHelp.html: XDarwinHelp.html.cpp
$(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) > $@
CLEANFILES = XDarwinHelp.html InfoPlist.strings
EXTRA_DIST = \
Credits.rtf Localizable.strings \
Localizable.strings \
MainMenu.nib/classes.nib \
MainMenu.nib/objects.nib \
XDarwinHelp.html.cpp

View File

@ -1,141 +0,0 @@
<!-- $XFree86: xc/programs/Xserver/hw/darwin/bundle/Japanese.lproj/XDarwinHelp.html.cpp,v 1.4 2001/11/27 07:27:46 torrey Exp $ -->
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=EUC-JP">
<title>
XDarwin Help</title></head>
<body>
<center>
<h1>XDarwin X Server for Mac OS X</h1>
X_VENDOR_NAME X_VERSION<br>
Release Date: X_REL_DATE
</center>
<h2></h2>
<ol>
<li><A HREF="#notice"></A></li>
<li><A HREF="#usage">使</A></li>
<li><A HREF="#path"></A></li>
<li><A HREF="#prefs"></A></li>
<li><A HREF="#license"></A></li>
</ol>
<center>
<h2><a NAME="notice"></a></h2>
</center>
<blockquote>
#if X_PRE_RELEASE
XDarwin
SourceForge <A HREF="http://sourceforge.net/projects/xonx/">XonX </A>
<A HREF="http://sourceforge.net/projects/xonx/">XonX</A> X_VENDOR_LINKで最新版のチェックをして下さい
#else
6 -12
SourceForge <A HREF="http://sourceforge.net/projects/xonx/">XonX </A>
#endif
</blockquote>
<blockquote>
<A HREF="#license">MIT X11/X Consortium License</A>
使<A HREF="#license"></A>
</blockquote>
<h2><a NAME="usage">使</a></h2>
<p>XDarwin <a HREF="http://www.x.org/">X Window System</a> X XDarwin X_VENDOR_LINK XDarwin Mac OS X </p>
<p>X Window System
Command-Option-A Mac OS X
Mac OS X X Window System XDarwin
XDarwin </p>
<p>X Window System Aqua
X11
Aqua X11 </p>
<h3></h3>
<p> X11 3
3
2
3
2 3 使
xmodmap 使</p>
<h2><a NAME="path"></a></h2>
<p>
X11 <code>/usr/X11R6/bin</code>
XDarwin </p>
<p>使
XDarwin
XDarwin X11
使
<p>X11
X11 <code>/usr/X11R6/man</code> <code>MANPATH</code> </p>
<h2><a NAME="prefs"></a></h2>
<p>XDarwin...
XDarwin
:</p>
<h3></h3>
<ul>
<li><b>X11 使:</b> Mac OS X X11 使 使</li>
<li><b>X11 :</b> X Window System
Mac OS X X
X11 </li>
<li><b>:</b> <a HREF="#usage">使</a> 2 3 </li>
</ul>
<h3></h3>
<ul>
<li><b>:</b> 使使</li>
<li><b>:</b> XDarwin 使</li>
<li><b>X11 :</b> X11は X X XDarwin 使</li>
<li><b>Xinerama :</b> XDarwin Xinerama Xinerama XDarwin 使Xinerama </li>
<li><b>:</b> X11 <code>/System/Library/Keyboards</code> Japanese USA ~/.Xmodmap </li>
<li><b> X11 :</b> XDarwin Finderから起動する時X X <code>xinit</code> "<code>man xinit</code>" XDarwin <code>xinit</code> <code>/usr/X11R6/bin</code> X </li>
</ul>
<h3></h3>
<ul>
<li><b>:</b> X11 Aqua 使
</li>
<li><b> X11 :</b> XDarwin X11 Mac OS X Aqua </li>
<li><b>:</b> XDarwin </li>
<li><b>:</b> X11 Aqua 使XDarwin Aqua 使使 815 24 </li>
</ul>
<h2>
<a NAME="license"></a>
</h2>
XDarwin MIT X11/X Consortium License
/
/
<H3>
<A NAME="3"></A>
X Consortium License</H3>
<p>Copyright (C) 1996 X Consortium</p>
<p>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:</p>
<p>The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.</p>
<p>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 X CONSORTIUM 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
IN THE SOFTWARE.</p>
<p>Except as contained in this notice, the name of the X Consortium shall
not be used in advertising or otherwise to promote the sale, use or
other dealings in this Software without prior written authorization from
the X Consortium.</p>
<p>X Window System is a trademark of X Consortium, Inc.</p>
</body>
</html>

View File

@ -1,38 +0,0 @@
BINDIR = ${bindir}
include $(top_srcdir)/cpprules.in
XINITDIR = $(libdir)/X11/xinit
XDEFS = \
-DX_VERSION="$(PLIST_VERSION_STRING)" \
-DX_PRE_RELEASE="$(PRE)" \
-DX_REL_DATE="$(XORG_DATE)" \
-DX_VENDOR_NAME="$(VENDOR_STRING)" \
-DX_VENDOR_LINK="$(PLIST_VENDOR_WEB)"
SUBDIRS = English.lproj Dutch.lproj French.lproj German.lproj Japanese.lproj \
ko.lproj Portuguese.lproj Spanish.lproj Swedish.lproj
bin_SCRIPTS = startXClients
startXClients: $(srcdir)/startXClients.cpp
$(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) -DXINITDIR=$(XINITDIR) -DXBINDIR=$(BINDIR) $< | $(CPP_SED_MAGIC) > $@
-chmod 755 startXClients
contentsdir = @APPLE_APPLICATIONS_DIR@/XDarwin.app/Contents
resourcesdir = $(contentsdir)/Resources
contents_DATA = Info.plist
resources_DATA = XDarwin.icns startXClients
install-data-hook:
chmod 755 $(DESTDIR)$(resourcesdir)/startXClients
echo "APPL????" > $(DESTDIR)$(contentsdir)/PkgInfo
touch $(DESTDIR)@APPLE_APPLICATIONS_DIR@/XDarwin.app
uninstall-hook:
rm -rf $(DESTDIR)$(contentsdir)/PkgInfo
CLEANFILES = startXClients
EXTRA_DIST = \
XDarwin.icns \
Info.plist

View File

@ -1,171 +0,0 @@
{\rtf1\mac\ansicpg10000\cocoartf102
{\fonttbl\f0\fswiss\fcharset77 Helvetica;\f1\fswiss\fcharset77 Helvetica-Bold;\f2\fswiss\fcharset77 Helvetica-Oblique;
}
{\colortbl;\red255\green255\blue255;}
\vieww5140\viewh4980\viewkind0
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
\f0\fs24 \cf0 This product includes software developed by The XFree86 Project, Inc (http://www.xfree86.org/) and its contributors. The following people contributed to Darwin/Mac OS X support.\
\
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\f1\b \cf0 Contributors to Xorg Foundation Release:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Kaleb KEITHLEY\
\f2\i Working left and right Ctrl, Alt (Option), Meta (Command) and Shift keys.
\f0\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f1\b \cf0 \
\f1\b \cf0 Contributors to XFree86 4.4:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 John Harper\
\f2\i Rootless acceleration and Apple-WM extension
\f0\i0 \
Torrey T. Lyons\
\f2\i Project Lead
\f0\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f1\b \cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\cf0 Contribuidores do XonX ao XFree86 4.3:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Fabr\'92cio Luis de Castro
\f1\b \
\f2\i\b0 Localiza\'8d\'8bo para o Portugu\'90s\
\f0\i0 Michael Oland\
\f2\i New XDarwin icon
\f1\i0\b \
\
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\cf0 Contribuidores do XonX ao XFree86 4.2:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Rob Braun\
\f2\i Suporte para o Darwin x86\
\f0\i0 Pablo Di Noto\
\f2\i Localiza\'8d\'8bo para o Espanhol
\f0\i0 \
Paul Edens\
\f2\i Localiza\'8d\'8bo para o Holand\'90s
\f0\i0 \
Kyunghwan Kim\
\f2\i Localiza\'8d\'8bo para o Coreano
\f0\i0 \
Mario Klebsch\
\f2\i Suporte para teclados Non-US
\f0\i0 \
Torrey T. Lyons\
\f2\i L\'92der de Projeto
\f0\i0 \
Andreas Monitzer\
\f2\i Localiza\'8d\'8bo para o Alem\'8bo
\f0\i0 \
Patrik Montgomery\
\f2\i Localiza\'8d\'8bo para o Sueco
\f0\i0 \
Greg Parker\
\f2\i Suporte ao modo Compartilhado (Rootless)
\f0\i0 \
Toshimitsu Tanaka\
\f2\i Localiza\'8d\'8bo para o Japon\'90s
\f0\i0 \
Olivier Verdier\
\f2\i Localiza\'8d\'8bo para o Fran\'8d\'90s
\f0\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f1\b \cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\cf0 Agradecimentos Especiais:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Devin Poolman and Zero G Software, Inc.\
\f2\i Instalador
\f0\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f1\b \cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\cf0 Membros do Time XonX\
Contribuindo com o XFree86 4.1:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Rob Braun\
\f2\i Suporte ao Darwin x86\
\f0\i0 Torrey T. Lyons\
\f2\i L\'92der de Projeto
\f0\i0 \
Andreas Monitzer\
\f2\i Vers\'8bo Cocoa da interface XDarwin
\f0\i0 \
Greg Parker\
\f2\i Implementa\'8d\'8bo Original
\f0\i0
\f2\i ao Quartz \
\f0\i0 Christoph Pfisterer\
\f2\i Bibliotecas Din\'89micas Compartilhadas
\f0\i0 \
Toshimitsu Tanaka\
\f2\i Localiza\'8d\'8bo para o Japon\'90s
\f0\i0 \
\
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\f1\b \cf0 Agradecimento Especial:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Tiago Ribeiro\
\f2\i \'eacone do XDarwin
\f0\i0 \
\
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\f1\b \cf0 Hist\'97rico:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 John Carmack\
\f2\i Suporte Original do XFree86 no Mac OS X Server
\f0\i0 \
Dave Zarzycki\
\f2\i Suporte ao
\f0\i0
\f2\i XFree86 4.0 no Darwin 1.0
\f0\i0 \
Torrey T. Lyons\
\f2\i Integra\'8d\'8bo dentro do Projeto XFree86 na vers\'8bo 4.0.2}

View File

@ -1,72 +0,0 @@
{
IBClasses = (
{
ACTIONS = {showHelp = id; };
CLASS = FirstResponder;
LANGUAGE = ObjC;
SUPERCLASS = NSObject;
},
{
ACTIONS = {close = id; pickFile = id; saveChanges = id; setKey = id; };
CLASS = Preferences;
LANGUAGE = ObjC;
OUTLETS = {
addToPathButton = id;
addToPathField = id;
button2ModifiersMatrix = id;
button3ModifiersMatrix = id;
depthButton = id;
displayField = id;
dockSwitchButton = id;
fakeButton = id;
keymapFileField = id;
modeMatrix = id;
modeWindowButton = id;
mouseAccelChangeButton = id;
startupHelpButton = id;
switchKeyButton = id;
systemBeepButton = id;
useDefaultShellMatrix = id;
useOtherShellField = id;
useXineramaButton = id;
window = id;
};
SUPERCLASS = NSObject;
},
{
CLASS = XApplication;
LANGUAGE = ObjC;
OUTLETS = {preferences = id; xserver = id; };
SUPERCLASS = NSApplication;
},
{
ACTIONS = {
bringAllToFront = id;
closeHelpAndShow = id;
itemSelected = id;
nextWindow = id;
previousWindow = id;
showAction = id;
showSwitchPanel = id;
startFullScreen = id;
startRootless = id;
};
CLASS = XServer;
LANGUAGE = ObjC;
OUTLETS = {
dockMenu = NSMenu;
helpWindow = NSWindow;
modeWindow = NSWindow;
startFullScreenButton = NSButton;
startRootlessButton = NSButton;
startupHelpButton = NSButton;
startupModeButton = NSButton;
switchWindow = NSPanel;
windowMenu = NSMenu;
windowSeparator = NSMenuItem;
};
SUPERCLASS = NSObject;
}
);
IBVersion = 1;
}

View File

@ -1,36 +0,0 @@
BINDIR = ${bindir}
include $(top_srcdir)/cpprules.in
XINITDIR = $(libdir)/X11/xinit
XDEFS = \
-DX_VERSION="$(PLIST_VERSION_STRING)" \
-DX_PRE_RELEASE="$(PRE)" \
-DX_REL_DATE="$(XORG_DATE)" \
-DX_VENDOR_NAME="$(VENDOR_STRING)" \
-DX_VENDOR_LINK="$(PLIST_VENDOR_WEB)"
resourcesdir = @APPLE_APPLICATIONS_DIR@/XDarwin.app/Contents/Resources
Portugueselprojdir = $(resourcesdir)/Portuguese.lproj
Portugueselproj_DATA = \
XDarwinHelp.html \
InfoPlist.strings \
Credits.rtf Localizable.strings
Portugueselprojnibdir = $(Portugueselprojdir)/MainMenu.nib
Portugueselprojnib_DATA = MainMenu.nib/classes.nib MainMenu.nib/objects.nib
InfoPlist.strings: $(srcdir)/../English.lproj/InfoPlist.strings.cpp
$(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) | $(SED) -e's/__quote__/"/g' > $@
XDarwinHelp.html: XDarwinHelp.html.cpp
$(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) > $@
CLEANFILES = XDarwinHelp.html InfoPlist.strings
EXTRA_DIST = \
Credits.rtf Localizable.strings \
Localizable.strings \
MainMenu.nib/classes.nib \
MainMenu.nib/objects.nib \
XDarwinHelp.html.cpp

View File

@ -1,209 +0,0 @@
<head>
<title>XDarwin Help</title>
</head>
<center>
<h1>XDarwin X Server para Mac OS X</h1>
X_VENDOR_NAME X_VERSION<br>
Release Date: X_REL_DATE
</center>
<h2>&Iacute;ndice</h2>
<ol>
<li><A HREF="#notice">Notas importantes</A></li>
<li><A HREF="#usage">Uso</A></li>
<li><A HREF="#path">Ajustando seu Path</A></li>
<li><A HREF="#prefs">Prefer&ecirc;ncias do usu&aacute;rio</A></li>
<li><A HREF="#license">Licen&ccedil;a</A></li>
</ol>
<center>
<h2><a NAME="notice">Notas importantes</a></h2>
</center>
<blockquote>
#if PRE_RELEASE
Essa &eacute; uma vers&atilde;o pr&eacute;-lancamento
do XDarwin, e ela n&atilde;o &eacute; suportada de nenhuma forma. Bugs podem
ser reportados e corre&ccedil;&otilde;es podem ser enviadas para <A HREF="http://sourceforge.net/projects/xonx/">P&aacute;gina
do projeto XonX</A> no SourceForge. Antes de informar bugs em vers&otilde;es
pr&eacute;-lancamento, por favor verifique a þltima vers&atilde;o em <A HREF="http://sourceforge.net/projects/xonx/">XonX</A>
or X_VENDOR_LINK.
#else
Se o servidor &eacute; mais velho que 6-12 semanas, ou seu hardware &eacute;
mais novo que a data acima, procure por uma nova vers&atilde;o antes de informar
problemas. Bugs podem ser reportados e corre&ccedil;&otilde;es podem ser enviadas
para a <A HREF="http://sourceforge.net/projects/xonx/">P&aacute;gina do projeto
XonX</A> na SourceForge.
#endif
</blockquote>
<blockquote> Este software &eacute; distribu&iacute;do sob os termos da <a href="#license">licen&ccedil;a
MIT X11 / X Consortium</a> e &eacute; provido, sem nenhuma garantia. Por favor
leia a <a href="#license">Licen&ccedil;a</a> antes de come&ccedil;ar a usar
o programa.</blockquote>
<h2><a NAME="usage">Uso</a></h2>
<p>O XDarwin &eacute; uma X server &quot;open-source&quot; livremente
redistribu&iacute;da do <a HREF
="http://www.x.org/">Sistema X Window</a>. This version of XDarwin was produced by the X_VENDOR_LINK.
XDarwin roda sobre Mac OS X no modo Tela Cheia ou no modo Compartilhado.</p>
<p>No modo Tela Cheia, quando o sistema X window est&aacute; ativo, ele ocupa
a tela toda. Voc&ecirc; pode voltar ao desktop do Mac OS X clicando Command-Option-A.
Essa combina&ccedil;&atilde;o de teclas pode ser mudada nas prefer&ecirc;ncias.
Pelo desktop Mac OS X, clique no &iacute;cone XDarwin no Dock para voltar ao
sistema X window. (Voc&ecirc; pode mudar esse comportamento nas prefer&ecirc;ncias
da&iacute; voc&ecirc; dever&aacute; clicar no &iacute;cone XDarwin na janela
flutuante que aparecer&aacute;.)</p>
<p>No modo Compartilhado, o sistema X window e Aqua dividem a mesma tela. A janela
raiz da tela X11 est&aacute; do tamanho da tela (monitor) e cont&eacute;m todas
as outras janelas. A janela raiz do X11 no modo compartilhado n&atilde;o &eacute;
mostrada pois o Aqua controla o fundo de tela.</p>
<h3>Emula&ccedil;&atilde;o de Mouse Multi-Bot&otilde;es</h3>
<p>Muitas aplica&ccedil;&otilde;es X11 insistem em usar um mouse de 3 bot&otilde;es.
Voc&ecirc; pode emular um mouse de 3 bot&otilde;es com um simples bot&atilde;o,
mantendo pressionando teclas modificadoras enquanto voc&ecirc; clica no bot&atilde;o
do mouse. Isto &eacute; controlado pela configura&ccedil;&atilde;o da &quot;Emula&ccedil;&atilde;o
de Mouse Multi-Bot&otilde;es&quot; da prefer&ecirc;ncia &quot;Geral&quot;. Por
padr&atilde;o, a emula&ccedil;&atilde;o est&aacute; habilitada e mantendo pressionada
a tecla Command e clicando no bot&atilde;o do mouse ele simular&aacute; o clique
no segundo bot&atilde;o do mouse. Mantendo pressionada a tecla Option e clicando
no bot&atilde;o do mouse ele simular&aacute; o terceiro bot&atilde;o. Voc&ecirc;
pode mudar a combina&ccedil;&atilde;o de teclas modificadoras para emular os
bot&otilde;es dois e tr&ecirc;s nas prefer&ecirc;ncias. Nota, se a tecla modificadora
foi mapeada para alguma outra tecla no xmodmap, voc&ecirc; ainda ter&aacute;
que usar a tecla atual especificada nas prefer&ecirc;ncias para a emula&ccedil;&atilde;o
do mouse multi-bot&otilde;es.</p>
<h2><a NAME="path">Ajustando seu Path</a></h2>
<p>Seu path &eacute; a lista de diret&oacute;rios a serem procurados por arquivos
execut&aacute;veis. O comando X11 est&aacute; localizado em <code>/usr/X11R6/bin</code>,
que precisa ser adicionado ao seu path. XDarwin faz isso para voc&ecirc; por
padr&atilde;o e pode-se tamb&eacute;m adicionar diret&oacute;rios onde voc&ecirc;
instalou aplica&ccedil;&otilde;es de linha de comando.</p>
<p>Usu&aacute;rios experientes j&aacute; ter&atilde;o configurado corretamente
seu path usando arquivos de inicializa&ccedil;&atilde;o de seu shell. Neste
caso, voc&ecirc; pode informar o XDarwin para n&atilde;o modificar seu path
nas prefer&ecirc;ncias. O XDarwin inicia o cliente inicial X11 no shell padr&atilde;o
do usu&aacute;rio corrente. (Um shell alternativo pode ser tamb&eacute;m expecificado
nas prefer&ecirc;ncias.) O modo para ajustar o path depende do shell que voc&ecirc;
est&aacute; usando. Isto &eacute; descrito na man page do seu shell.</p>
<p>Voc&ecirc; pode tamb&eacute;m querer adicionar as man pages do X11 para
a lista de p&aacute;ginas a serem procuradas quando voc&ecirc; est&aacute; procurando
por documenta&ccedil;&atilde;o. As man pages do X11 est&atilde;o localizadas
em <code>/usr/X11R6/man</code> e a vari&aacute;vel de ambiente <code>MANPATH</code>
cont&eacute;m a lista de diret&oacute;rios a buscar.</p>
<h2><a NAME="prefs">Prefer&ecirc;ncias do Usu&aacute;rio</a></h2>
<p>V&aacute;rias op&ccedil;&otilde;es podem ser ajustadas nas prefer&ecirc;ncias
do usu&aacute;rio, acess&iacute;vel pelo item &quot;Prefer&ecirc;ncias...&quot;
no menu &quot;XDarwin&quot;. As op&ccedil;&otilde;es listadas como op&ccedil;&otilde;es
de inicializa&ccedil;&atilde;o, n&atilde;o ter&atilde;o efeito at&eacute; voc&ecirc;
reiniciar o XDarwin. Todas as outras op&ccedil;&otilde;es ter&atilde;o efeito
imediatamente. V&aacute;rias das op&ccedil;&otilde;es est&atilde;o descritas
abaixo:</p>
<h3>Geral</h3>
<ul>
<li><b>Usar o Beep do Sistema para o X11: </b>Quando habilitado som de alerta
padr&atilde;o do Mac OS X ser&aacute; usado como alerta no X11. Quando desabilitado
(padr&atilde;o) um tom simples ser&aacute; usado.</li>
<li><b>Permitir o X11 mudar a acelera&ccedil;&atilde;o do mouse: </b>Por implementa&ccedil;&atilde;o
padr&atilde;o no sistema X window, o gerenciador de janelas pode mudar a acelera&ccedil;&atilde;o
do mouse. Isso pode gerar uma confus&atilde;o pois a acelera&ccedil;&atilde;o
do mouse pode ser ajustada diferentemente nas prefer&ecirc;ncias do Mac OS
X e nas prefer&ecirc;ncias do X window. Por padr&atilde;o, o X11 n&atilde;o
est&aacute; habilitado a mudar a acelera&ccedil;&atilde;o do mouse para evitar
este problema.</li>
<li><b>Emula&ccedil;&atilde;o de Mouse de Multi-Bot&otilde;es: </b>Esta op&ccedil;&atilde;o
est&aacute; escrita acima em <a href="#usage">Uso</a>. Quando a emula&ccedil;&atilde;o
est&aacute; habilitada as teclas modificadoras selecionadas tem que estar
pressionadas quando o bot&atilde;o do mouse for pressionado, para emular o
segundo e terceiro bot&otilde;es.</li>
</ul>
<h3>Inicial</h3>
<ul>
<li><b>Modo Padr&atilde;o: </b>Se o usu&aacute;rio n&atilde;o indicar qual modo
de exibi&ccedil;&atilde;o quer usar (Tela Cheia ou Compartilhado) o modo especificado
aqui ser&aacute; usado .</li>
<li><b>Mostrar o painel de escolha na inicializa&ccedil;&atilde;o: </b> Por
padr&atilde;o, uma painel &eacute; mostrado quando o XDarwin &eacute;
iniciado para permitir que o usu&aacute;rio escolha ente o modo tela cheia
ou modo compartilhado. Se esta op&ccedil;&atilde;o estiver desligada, o modo
padr&atilde;o ser&aacute; inicializado automaticamente.</li>
<li><b>N&uacute;mero do Monitor X11: </b>O X11 permite ser administrado em multiplos
monitores por servidores X separados num mesmo computador. O usu&aacute;rio
pode indicar o n&uacute;mero do monitor para o XDarwin usar se mais de um
servidor X se estiver rodando simultaneamente.</li>
<li><b>Habilitar suporte a m&uacute;ltiplos monitores pelo Xinerama: </b>o XDarwin
suporta m&uacute;ltiplos monitores com o Xinerama, que trata todos os monitores
como parte de uma grande e retangular tela. Voc&ecirc; pode desabilitar o
Xinerama com est&aacute; op&ccedil;&atilde;o, mas normalmente o XDarwin n&atilde;o
controla m&uacute;ltiplos monitores corretamente sem est&aacute; op&ccedil;&atilde;o.
Se voc&ecirc; s&oacute; tiver um monotor, Xinerama &eacute; automaticamente
desabilitado. </li>
<li><b>Arquivo de Mapa de Teclado: </b> O mapa de teclado &eacute; lido na inicializa&ccedil;&atilde;o
e traduzido para um mapa de teclado X11. Arquivos de mapa de teclado, est&atilde;o
dispon&iacute;veis numa grande variedade de l&iacute;nguas e s&atilde;o encontradas
em <code>/System/Library/Keyboards</code>.</li>
<li><b>Iniciando Clientes X11 primeiro: </b>Quando o XDrawin &eacute; inicializado
pelo Finder, ele ir&aacute; rodar o <code>xinit</code> para abrir o controlador
X window e outros clientes X. (Veja o manual "<code>man xinit</code>" para
mais informa&ccedil;&otilde;es.) Antes do XDarwin rodar o <code>xinit</code>
ele ir&aacute; adicionar espec&iacute;ficos diret&oacute;rios a seu path.
Por padr&atilde;o somente o <code>/usr/X11R6/bin</code> &eacute; adicionado.
separado por um ponto-e-v&iacute;rgula. Os clientes X s&atilde;o inicializados
no shell padr&atilde;o do usu&aacute;rio e os arquivos de inicializa&ccedil;&atilde;o
do shell ser&atilde;o lidos. Se desejado, um shell alternativo pode ser especificado.</li>
</ul>
<h3>Tela Cheia</h3>
<ul>
<li><b>Bot&atilde;o de Combina&ccedil;&atilde;o de Teclas: </b> Clique no bot&atilde;o
e pressione qualquer quantidade de teclas modificadoras seguidas por uma tecla
padr&atilde;o para modificar a combina&ccedil;&atilde;o quando se quer mudar
entre o Aqua e X11.</li>
<li><b>Clique no &Iacute;cone no Dock para mudar para o X11: </b>Habilitando
esta op&ccedil;&atilde;o voc&ecirc; ir&aacute; ativar a mudan&ccedil;a para
o X11 clicando no &iacute;cone do XDarwin no Dock. Em algumas vers&otilde;es
do Mac OS X, mudando pelo clique no Dock pode causar o desaparecimento do
cursor quando retornar ao Aqua.</li>
<li><b>Mostrar a Ajuda na inicializa&ccedil;&atilde;o: </b>Isto ir&aacute; mostrar
uma tela introdut&oacute;ria quando o XDarwin for inicializado no modo Tela
Cheia. </li>
<li><b>Profundidade de Cores em bits: </b> No modo Tela Cheia, a tela do X11
pode usar uma profundiadde de cor diferente da usada no Aqua. Se a op&ccedil;&atilde;o
&quot;Atual&quot; est&aacute; especificada, a profundidade usada pelo Aqua
quando o XDarwin iniciar ser&aacute; a mesma. Al&eacute;m das op&ccedil;&otilde;es
8, 15 ou 24 bits que podem ser especificadas.</li>
</ul>
<h2><a NAME="license">Licen&ccedil;a</a></h2>
<p>A licen&ccedil;a
principal n&oacute;s por XDarwin baseada na licen&ccedil;a tradicional MIT X11
/ X Consortium, que n&atilde;o imp&otilde;e nenhuma condi&ccedil;&atilde;o sobre
modifica&ccedil;&otilde;es ou redistribui&ccedil;&atilde;o do c&oacute;digo-fonte
ou dos bin&aacute;rios desde que o copyright/licen&ccedil;a sejam mantidos intactos.
Para mais informa&ccedil;&otilde;es e not&iacute;cias adicionais de copyright/licensing
em algumas se&ccedil;&atilde;o do c&oacute;digo, por favor refer to the source code.</p>
<H3><A NAME="3"></A>Licen&ccedil;a do X Consortium</H3>
<p>Copyright (C) 1996 X Consortium</p>
<p>Permiss&otilde;es s&atilde;o em virtude garantidas, livre de mudan&ccedil;as,
para qualquer pessoa que possua uma c&oacute;pia deste software e aos arquivos
de documenta&ccedil;&atilde;o associada (o &quot;Software&quot;), para lidar
com o software sem restri&ccedil;&otilde;es, incluindo limita&ccedil;&otilde;es
dos direitos de uso, c&oacute;pia, modifica&ccedil;&atilde;o, inclus&atilde;o,
publica&ccedil;&atilde;o, distribui&ccedil;&atilde;o, sub licen&ccedil;a, e/ou
venda de c&oacute;pias deste Software, e permitir pessoas to whom o Software
&eacute; fornecido para ser desta forma, verifique as seguintes condi&ccedil;&otilde;es:</p>
<p>O nota de copyright abaixo e a permiss&atilde;o dever&atilde;o ser inclu&iacute;das
em todas as c&oacute;pias ou substanciais por&ccedil;&otilde;es do Software.</p>
<p>O SOFTWARE 'E PROVIDO &quot;COMO TAL&quot;, SEM GARANTIAS DE NENHUM TIPO, EXPLICITA
OU IMPLICITA, INCLUINDO MAS N&Atilde;O LIMITADO NOS AVISOS DE COM&Eacute;RCIO,
TAMANHO OU PARA PROPOSTAS PARTICULARES E N&Atilde;O INFRA&Ccedil;&Atilde;O.
EM NENHUM ACONTECIMENTO O X CONSORTIUM SER&Aacute; RESPONSAV&Eacute;L POR NENHUMA
RECLAMA&Ccedil;&Atilde;O, DANOS OU OUTRAS RESPONSABILIDADES, SE NUMA A&Ccedil;&Atilde;O
DE CONTRATO, OU OUTRA COISA, SURGINDO DE, FORA DE OU EM CONEX&Atilde;O COM O
SOFTWARE OU O USO OU OUTRO MODO DE LIDAR COM O SOFTWARE.</p>
<p>Exceto o contido nesta nota, o nome do X Consortium n&atilde;o pode ser usado
em propagandas ou outra forma de promo&ccedil;&atilde;o de vendas, uso ou outro
modo de lidar com este Software sem ter recebido uma autoriza&ccedil;&atilde;o
escrita pelo X Consortium.</p>
<p>O Sistema X Window &eacute; marca registrada do X Consortium, Inc.</p>
</body>
</html>

View File

@ -1,168 +0,0 @@
{\rtf1\mac\ansicpg10000\cocoartf102
{\fonttbl\f0\fswiss\fcharset77 Helvetica;\f1\fswiss\fcharset77 Helvetica-Bold;\f2\fswiss\fcharset77 Helvetica-Oblique;
}
{\colortbl;\red255\green255\blue255;}
\vieww5160\viewh6300\viewkind0
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
\f0\fs24 \cf0 This product includes software developed by The XFree86 Project, Inc (http://www.xfree86.org/) and its contributors. The following people contributed to Darwin/Mac OS X support.\
\
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\f1\b \cf0 Contributors to Xorg Foundation Release:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Kaleb KEITHLEY\
\f2\i Working left and right Ctrl, Alt (Option), Meta (Command) and Shift keys.
\f0\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f1\b \cf0 \
\f1\b \cf0 Contributors to XFree86 4.4:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 John Harper\
\f2\i Rootless acceleration and Apple-WM extension
\f0\i0 \
Torrey T. Lyons\
\f2\i Project Lead
\f0\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f1\b \cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\cf0 Additional XonX Contributors to XFree86 4.3:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Fabr\'92cio Luis de Castro\
\f2\i Portuguese localization
\f0\i0 \
Michael Oland\
\f2\i New XDarwin icon
\f0\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f1\b \cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\cf0 XonX Contributors to XFree86 4.2:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Rob Braun\
\f2\i Darwin x86 support
\f0\i0 \
Pablo Di Noto\
\f2\i Spanish localization
\f0\i0 \
Paul Edens\
\f2\i Dutch localization
\f0\i0 \
Kyunghwan Kim\
\f2\i Korean localization
\f0\i0 \
Mario Klebsch\
\f2\i Non-US keyboard support
\f0\i0 \
Torrey T. Lyons\
\f2\i Project Lead
\f0\i0 \
Andreas Monitzer\
\f2\i German localization
\f0\i0 \
Patrik Montgomery\
\f2\i Swedish localization
\f0\i0 \
Greg Parker\
\f2\i Rootless support
\f0\i0 \
Toshimitsu Tanaka\
\f2\i Japanese localization
\f0\i0 \
Olivier Verdier\
\f2\i French localization
\f0\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f1\b \cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\cf0 Special Thanks:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Devin Poolman and Zero G Software, Inc.\
\f2\i Installer
\f0\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f1\b \cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\cf0 XonX Team Members\
Contributing to XFree86 4.1:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Rob Braun\
\f2\i Darwin x86 support
\f0\i0 \
Torrey T. Lyons\
\f2\i Project Lead
\f0\i0 \
Andreas Monitzer\
\f2\i Cocoa version of XDarwin front end
\f0\i0 \
Greg Parker\
\f2\i Original Quartz implementation
\f0\i0 \
Christoph Pfisterer\
\f2\i Dynamic shared libraries
\f0\i0 \
Toshimitsu Tanaka\
\f2\i Japanese localization
\f0\i0 \
\
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\f1\b \cf0 Special Thanks:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Tiago Ribeiro\
\f2\i XDarwin icon
\f0\i0 \
\
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\f1\b \cf0 History:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 John Carmack\
\f2\i Original XFree86 port to Mac OS X Server
\f0\i0 \
Dave Zarzycki\
\f2\i XFree86 4.0 port to Darwin 1.0
\f0\i0 \
Torrey T. Lyons\
\f2\i Integration into XFree86 Project for 4.0.2}

View File

@ -1,72 +0,0 @@
{
IBClasses = (
{
ACTIONS = {showHelp = id; };
CLASS = FirstResponder;
LANGUAGE = ObjC;
SUPERCLASS = NSObject;
},
{
ACTIONS = {close = id; pickFile = id; saveChanges = id; setKey = id; };
CLASS = Preferences;
LANGUAGE = ObjC;
OUTLETS = {
addToPathButton = id;
addToPathField = id;
button2ModifiersMatrix = id;
button3ModifiersMatrix = id;
depthButton = id;
displayField = id;
dockSwitchButton = id;
fakeButton = id;
keymapFileField = id;
modeMatrix = id;
modeWindowButton = id;
mouseAccelChangeButton = id;
startupHelpButton = id;
switchKeyButton = id;
systemBeepButton = id;
useDefaultShellMatrix = id;
useOtherShellField = id;
useXineramaButton = id;
window = id;
};
SUPERCLASS = NSObject;
},
{
CLASS = XApplication;
LANGUAGE = ObjC;
OUTLETS = {preferences = id; xserver = id; };
SUPERCLASS = NSApplication;
},
{
ACTIONS = {
bringAllToFront = id;
closeHelpAndShow = id;
itemSelected = id;
nextWindow = id;
previousWindow = id;
showAction = id;
showSwitchPanel = id;
startFullScreen = id;
startRootless = id;
};
CLASS = XServer;
LANGUAGE = ObjC;
OUTLETS = {
dockMenu = NSMenu;
helpWindow = NSWindow;
modeWindow = NSWindow;
startFullScreenButton = NSButton;
startRootlessButton = NSButton;
startupHelpButton = NSButton;
startupModeButton = NSButton;
switchWindow = NSPanel;
windowMenu = NSMenu;
windowSeparator = NSMenuItem;
};
SUPERCLASS = NSObject;
}
);
IBVersion = 1;
}

View File

@ -1,36 +0,0 @@
BINDIR = ${bindir}
include $(top_srcdir)/cpprules.in
XINITDIR = $(libdir)/X11/xinit
XDEFS = \
-DX_VERSION="$(PLIST_VERSION_STRING)" \
-DX_PRE_RELEASE="$(PRE)" \
-DX_REL_DATE="$(XORG_DATE)" \
-DX_VENDOR_NAME="$(VENDOR_STRING)" \
-DX_VENDOR_LINK="$(PLIST_VENDOR_WEB)"
resourcesdir = @APPLE_APPLICATIONS_DIR@/XDarwin.app/Contents/Resources
Spanishlprojdir = $(resourcesdir)/Spanish.lproj
Spanishlproj_DATA = \
XDarwinHelp.html \
InfoPlist.strings \
Credits.rtf Localizable.strings
Spanishlprojnibdir = $(Spanishlprojdir)/MainMenu.nib
Spanishlprojnib_DATA = MainMenu.nib/classes.nib MainMenu.nib/objects.nib
InfoPlist.strings: $(srcdir)/../English.lproj/InfoPlist.strings.cpp
$(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) | $(SED) -e's/__quote__/"/g' > $@
XDarwinHelp.html: XDarwinHelp.html.cpp
$(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) > $@
CLEANFILES = XDarwinHelp.html InfoPlist.strings
EXTRA_DIST = \
Credits.rtf Localizable.strings \
Localizable.strings \
MainMenu.nib/classes.nib \
MainMenu.nib/objects.nib \
XDarwinHelp.html.cpp

View File

@ -1,109 +0,0 @@
<html>
<head>
<title>XDarwin Ayuda</title>
</head>
<body>
<center>
<h1>XDarwin X Server for Mac OS X</h1>
X_VENDOR_NAME X_VERSION<br>
Fecha de release: X_REL_DATE
</center>
<h2>Contenido</h2>
<ol>
<li><A HREF="#notice">Aviso Importante</A></li>
<li><A HREF="#usage">Modo de uso</A></li>
<li><A HREF="#path">Configurando su Path</A></li>
<li><A HREF="#prefs">Preferencias del Usuario</A></li>
<li><A HREF="#license">Licencia</A></li>
</ol>
<center>
<h2><a NAME="notice">Aviso Importante</a></h2>
</center>
<blockquote>
#if PRE_RELEASE
Esta es una versi&oacuten pre-release de XDarwin, y no tiene ning&uacuten soporte. Patches y reportes de error pueden ser enviados a la <A HREF="http://sourceforge.net/projects/xonx/">p&aacutegina del proyecto XonX</A> en SourceForge. Antes de reportar errores en versiones pre-release, por favor verifique la ultima versi&oacuten en <A HREF="http://sourceforge.net/projects/xonx/">XonX</A> o bien el X_VENDOR_LINK.
#else
Si el server el m&aacutes antiguo que 6 a 12 meses, o si su hardware es posterior a la fecha indicada m&aacutes arriba, por favor verifique la &uacuteltima versi&oacuten antes de reportar problemas. Patches y reportes de error pueden ser enviados a la <A HREF="http://sourceforge.net/projects/xonx/">p&aacutegina del proyecto XonX</A> en SourceForge.
#endif
</blockquote>
<blockquote>
Este software es distribuido bajo los t&eacuterminos de la <A HREF="#license">Licencia MIT X11 / X Consortium</A> y es provisto sin garant&iacutea alguna y en el estado en que se encuentra. Por favor lea la <A HREF="#license">Licencia</A> antes de utilizarlo.</blockquote>
<h2><a NAME="usage">Modo de uso</a></h2>
<p>XDarwin es una X server open-source de distribuci&oacuten libre del <a HREF
="http://www.x.org/">X Window System</a>. This version of XDarwin was produced by the X_VENDOR_LINK. XDarwin funciona en Mac OS X en modo pantalla completa o en modo rootless (integrado al escritorio).</p>
<p>En modo pantalla completa, el X window system toma control total de la pantalla mientras esta activo. Presionando Command-Option-A puede regresar al Escritorio de Mac OS X. Esta combinaci&oacuten de teclas puede cambiarse en las Preferencias de Usuario. Desde el Escritorio de Mac OS X, haga click en &iacutecono de XDarwin en el Dock para volver al X window system. (Puede cambiar esta comportamiento en las Preferencias de Usuario y configurar que XDarwin vuelva al X window system haciendo click en la ventana flotante con el logo X.)</p>
<p>En modo rootless, el X window system comparte la pantalla con Aqua. La ventana root de X11 es del tama&ntildeo de la pantalla y contiene a todas las dem&aacutes ventanas. La ventana root de X11 no se muestra en este modo, ya que Aqua maneja el fondo de pantalla.</p>
<h3>Emulaci&oacuten de mouse multi-bot&oacuten</h3>
<p>Muchas aplicaciones X11 requieren del uso de un mouse de 3 botones. Es posible emular un mouse de 3 botones con un mouse de solo un bot&oacuten presionando teclas modificadoras mientras hace click. Esto es controlado en de la seccion "Emulaci&oacuten mouse" dentro de la secci&oacuten "General" de las Preferencias del Usuario. Por defecto, la emulaci&oacuten est&aacute activa y utiliza la tecla Command para simular el 2do bot&oacuten y la tecla Option para simlar el 3er bot&oacuten. La conbinaci&oacuten para simular el 2do y 3er bot&oacuten pueden ser modificada por cualquier combinaci&oacuten de teclas modificadoras dentro de las Preferencias del Usuario. Tenga en cuenta que aunque las teclas modificadoras hayan sido mapeadas a otras teclas con xmodmap, las teclas configuradas en las Preferencias del Usuario seguir&aacuten siendo las utilizadas por la emulaci&oacuten de mouse multi-bot&oacuten.</p>
<h2><a NAME="path">Configurando su Path</a></h2>
<p>El path es la lista de directorios donde se buscar&aacuten los comandos ejecutables. Los comandos de X11 se encuentran en <code>/usr/X11R6/bin</code>, y &eacuteste necesita estar dentro de su path. XDarwin hace &eacutesto autom&aacuteticamente por defecto, y puede adem&aacutes agregar directorios adicionales donde tenga otros comandos de l&iacutenea.</p>
<p>Usuarios experimentados pueden tener su path correctamente configurado mediante los archivos de inicio de su interprete de comandos. En este caso, puede informarle a XDarwin en las Preferencias de Usuario para que no modifique su path. XDarwin arrancar&aacute los clientes X11 iniciales usando el int&eacuterprete de comandos del usuario, seg&uacuten su configuraci&oacuten de login. Un int&eacuterprete de comandos alternativo puede ser especificado en las Preferencias del Usuario. La manera de configurar el path de su int&eacuterprete de comandos depende de cual est&aacute usando, y es generalmente descripta en las p&aacuteginas man del mismo.</p>
<p>Adem&aacutes, Ud. puede agregar las p&aacuteginas man de X11 a la lista de p&aacuteginas que son consultadas. Estas est&aacuten ubicadas en <code>/usr/X11R6/man</code> y <code>MANPATH</code> es la variable de entorno que contiene los directorios que son consultados.</p>
<h2><a NAME="prefs">Preferencias del Usuario</a></h2>
<p>Ciertas opciones pueden definirse dentro de "Preferencias...", en el men&uacute de XDarwin. Las opciones dentro de de "Inicio" no surtir&aacuten efecto hasta que la aplicaci&oacuten se reinicie. Las restantes opciones surten efecto inmediatamente. Las diferentes opciones se describen a continuaci&oacuten:</p>
<h3>General</h3>
<ul>
<li><b>Usar beep del sistema en X11:</b> Cuando esta opci&oacuten est&aacute activa, el sonido de alerta est&aacutendar de Mac OS X se usar&aacute como alerta de X11. Cuando est&aacute desactivada, un simple tono es utilizado (esta es la opci&oacuten por defecto).</li>
<li><b>Permitir que X11 cambie la aceleraci&oacuten del mouse:</b> En una implementaci&oacuten est&aacutendard de X11, el window manager puede cambiar la aceleraci&oacuten del mouse. Esto puede llevar a una gran confusi&oacuten si la aceleraci&oacuten es diferente en XDarwin y en Mac OS X. Por defecto, no se le permite a X11 alterar la aceleraci&oacuten para evitar este inconveniente.</li>
<li><b>Emulaci&oacuten de mouse multi-bot&oacuten:</b> Esta opci&oacuten es descripta m&aacutes arriba bajo <a HREF="#usage">Modo de Uso</a>. Cuando esta emulaci&oacuten est&aacute activa los modificadores seleccionados deben ser presionados cuando se hace click para emular el bot&oacuten 2 o el bot&oacuten 3.</li>
</ul>
<h3>Inicio</h3>
<ul>
<li><b>Modo inicial:</b> Si el usuario no indica si desea utilizar la Pantalla Completa o el modo Rootless, el modo especificado aqu&iacute ser&aacute el usado.</li>
<li><b>Mostrar panel de selecci&oacuten al inicio:</b> Por defecto, un di&aacutelogo permite al usuario elegir entre Pantalla Completa o Rootless al inicio. Si esta opci&oacuten esta desactivada, XDarwin arrancar&aacute utilizando el modo por defecto sin consultar al usuario.</li>
<li><b>N&uacutemero de display X11:</b> X11 permite que existan m&uacuteltiples pantallas manejadas por servidores X11 separados funcionando en una misma computadora. El usuario puede especificar aqui un n&uacutemero entero para indicar el n&uacutemero de pantalla (display) que XDarwin utilizar&aacute si m&aacutes de un servidor X funciona en forma simult&aacutenea.</li>
<li><b>Habilitar soporte Xinerama para m&uacuteltipes monitores:</b> XDarwin suporta m&uacuteltiple monitores con Xinerama, que maneja todos los monitores como si fueran parte de una gran pantalla rectangular. Puede deshabilitar Xinerama con esta opci&oacuten, pero XDarwin no maneja m&uacuteltiples monitores en forma correcta sin esta opci&oacuten habilitada. Si tiene solo un monitor, Xinerama es autom&aacuteticamente deshabilitado.</li>
<li><b>Archivo de mapa de teclado:</b> Un archivo de mapa de teclas es le&iacutedo al inicio y es traducido a un keymap X11 (un archivo est&aacutendard de X11 para especificar la funci&oacuten de cada tecla). Estos archivos, disponibles para una amplia variedad de lenguajes, pueden encontrarse en <code>/System/Library/Keyboards</code>.</li>
<li><b>Al iniciar clientes X11:</b> Cuando XDarwin arranca desde el Finder, &eacuteste ejecutar&aacute <code>xinit</code> para a su vez arrancar el window manager y otros clientes. (Vea en "<code>man xinit</code>" para mayor informaci&oacuten). Antes de ejecutar <code>xinit</code> XDarwin agregar&aacute los directorios especificados al path del usuario. Por defecto, solo <code>/usr/X11R6/bin</code> es agregado. Otros directorios adicionales puede agregarse separados por dos puntos (:). Los clientes X son ejecutados con el int&eacuterprete de comandos del usuario, por lo que los archivos de inicio de &eacuteste son le&iacutedos. Si se desea, un int&eacuterprete de comandos diferente puede ser especificado.</li>
</ul>
<h3>Pantalla Completa</h3>
<ul>
<li><b>Bot&oacuten para definir combinaci&oacuten de teclas:</b> Haga click en este bot&oacuten y luego presione cualquier combinaci&oacuten de modificadores seguidos de una tecla convencional para definir que combinaci&oacuten usar&aacute para intercambiar entre X11 y Aqua.</li>
<li><b>Click en el &iacutecono del Dock cambia a X11:</b> Habilite esta opci&oacuten para volver a X11 al hacer click en &iacutecono de XDarwin en el Dock. En algunas versiones de Mac OS X, al volver haciendo click en el Dock puede causar al desaparci&oacuten del cursor al volver a Aqua.</li>
<li><b>Mostrar ayuda al inicio:</b> Esta opci&oacuten habilitada har&aacute que una pantalla inicial de introducci&oacuten aparezca cuando XDarwin es arrancado en modo Pantalla Completa.</li>
<li><b>Profundidad de color (bits):</b> En modo Pantalla Completa, el display X11 puede utilizar una profundidad de color diferente de la utilizada por Aqua. Si se especifica "Actual", la misma profundidad de color que Aqua utiliza ser&aacute adoptada por X11. Al contrario, puede especificar 8, 15, o 24 bits.</li>
</ul>
<h2><a NAME="license">Licencia</a></h2>
La licencia principal de XDarwin es basada en la Licencia MIT X11 tradicional, que no impone condiciones a la modificaci&oacuten o redistribuci&oacuten del c&oacutedigo fuente o de archivos binarios m&aacutes all&aacute de requerir que los mensajes de Licencia y Copyright se mantengan intactos. Para mayor informaci&oacuten y para mensajes adicionales de Licencia y Copyright que cubren algunas secciones del c&oacutedigo fuente, por favor consulte the source code.
<H3><A NAME="3"></A>Licencia del X Consortium</H3>
<p>Copyright (C) 1996 X Consortium</p>
<p>Se otorga aqui permiso, libre de costo, a toda persona que obtenga una copia de este Software y los archivos de documentaci&oacuten asociados (el "Software"),
para utilizar el Software sin restricciones, incluyendo sin l&iacutemites los derechos de usar, copiar, modificar, integrar con otros productos, publicar, distribuir, sub-licenciar y/o comercializar copias del Software, y de permitir a las personas que lo reciben para hacer lo propio, sujeto a las siguientes condiciones:</p>
<p>El mensaje de Copyright indicado m&aacutes arriba y este permiso ser&aacute inclu&iacutedo en todas las copias o porciones sustanciales del Software.</p>
<p>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 X CONSORTIUM 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
IN THE SOFTWARE.</p>
<p>Excepto lo indicado en este mensaje, el nombre del X Consortium no ser&aacute utilizado en propaganda o como medio de promoci&oacuten para la venta, utilizaci&oacuten u otros manejos de este Software sin previa autorizaci&oacuten escrita del X Consortium.</p>
<p>X Window System es una marca registrada de X Consortium, Inc.</p>
<H3><A NAME="3"></A>X Consortium License (English)</H3>
<p>Copyright (C) 1996 X Consortium</p>
<p>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:</p>
<p>The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.</p>
<p>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 X CONSORTIUM 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
IN THE SOFTWARE.</p>
<p>Except as contained in this notice, the name of the X Consortium shall
not be used in advertising or otherwise to promote the sale, use or
other dealings in this Software without prior written authorization from
the X Consortium.</p>
<p>X Window System is a trademark of X Consortium, Inc.</p>
</body>
</html>

View File

@ -1,168 +0,0 @@
{\rtf1\mac\ansicpg10000\cocoartf102
{\fonttbl\f0\fswiss\fcharset77 Helvetica;\f1\fswiss\fcharset77 Helvetica-Bold;\f2\fswiss\fcharset77 Helvetica-Oblique;
}
{\colortbl;\red255\green255\blue255;}
\vieww5160\viewh6300\viewkind0
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
\f0\fs24 \cf0 This product includes software developed by The XFree86 Project, Inc (http://www.xfree86.org/) and its contributors. The following people contributed to Darwin/Mac OS X support.\
\
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\f1\b \cf0 Contributors to Xorg Foundation Release:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Kaleb KEITHLEY\
\f2\i Working left and right Ctrl, Alt (Option), Meta (Command) and Shift keys.
\f0\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f1\b \cf0 \
\f1\b \cf0 Contributors to XFree86 4.4:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 John Harper\
\f2\i Rootless acceleration and Apple-WM extension
\f0\i0 \
Torrey T. Lyons\
\f2\i Project Lead
\f0\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f1\b \cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\cf0 Additional XonX Contributors to XFree86 4.3:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Fabr\'92cio Luis de Castro\
\f2\i Portuguese localization
\f0\i0 \
Michael Oland\
\f2\i New XDarwin icon
\f0\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f1\b \cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\cf0 XonX Contributors to XFree86 4.2:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Rob Braun\
\f2\i Darwin x86 support
\f0\i0 \
Pablo Di Noto\
\f2\i Spanish localization
\f0\i0 \
Paul Edens\
\f2\i Dutch localization
\f0\i0 \
Kyunghwan Kim\
\f2\i Korean localization
\f0\i0 \
Mario Klebsch\
\f2\i Non-US keyboard support
\f0\i0 \
Torrey T. Lyons\
\f2\i Project Lead
\f0\i0 \
Andreas Monitzer\
\f2\i German localization
\f0\i0 \
Patrik Montgomery\
\f2\i Swedish localization
\f0\i0 \
Greg Parker\
\f2\i Rootless support
\f0\i0 \
Toshimitsu Tanaka\
\f2\i Japanese localization
\f0\i0 \
Olivier Verdier\
\f2\i French localization
\f0\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f1\b \cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\cf0 Special Thanks:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Devin Poolman and Zero G Software, Inc.\
\f2\i Installer
\f0\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f1\b \cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\cf0 XonX Team Members\
Contributing to XFree86 4.1:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Rob Braun\
\f2\i Darwin x86 support
\f0\i0 \
Torrey T. Lyons\
\f2\i Project Lead
\f0\i0 \
Andreas Monitzer\
\f2\i Cocoa version of XDarwin front end
\f0\i0 \
Greg Parker\
\f2\i Original Quartz implementation
\f0\i0 \
Christoph Pfisterer\
\f2\i Dynamic shared libraries
\f0\i0 \
Toshimitsu Tanaka\
\f2\i Japanese localization
\f0\i0 \
\
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\f1\b \cf0 Special Thanks:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Tiago Ribeiro\
\f2\i XDarwin icon
\f0\i0 \
\
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\f1\b \cf0 History:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 John Carmack\
\f2\i Original XFree86 port to Mac OS X Server
\f0\i0 \
Dave Zarzycki\
\f2\i XFree86 4.0 port to Darwin 1.0
\f0\i0 \
Torrey T. Lyons\
\f2\i Integration into XFree86 Project for 4.0.2}

View File

@ -1,72 +0,0 @@
{
IBClasses = (
{
ACTIONS = {showHelp = id; };
CLASS = FirstResponder;
LANGUAGE = ObjC;
SUPERCLASS = NSObject;
},
{
ACTIONS = {close = id; pickFile = id; saveChanges = id; setKey = id; };
CLASS = Preferences;
LANGUAGE = ObjC;
OUTLETS = {
addToPathButton = id;
addToPathField = id;
button2ModifiersMatrix = id;
button3ModifiersMatrix = id;
depthButton = id;
displayField = id;
dockSwitchButton = id;
fakeButton = id;
keymapFileField = id;
modeMatrix = id;
modeWindowButton = id;
mouseAccelChangeButton = id;
startupHelpButton = id;
switchKeyButton = id;
systemBeepButton = id;
useDefaultShellMatrix = id;
useOtherShellField = id;
useXineramaButton = id;
window = id;
};
SUPERCLASS = NSObject;
},
{
CLASS = XApplication;
LANGUAGE = ObjC;
OUTLETS = {preferences = id; xserver = id; };
SUPERCLASS = NSApplication;
},
{
ACTIONS = {
bringAllToFront = id;
closeHelpAndShow = id;
itemSelected = id;
nextWindow = id;
previousWindow = id;
showAction = id;
showSwitchPanel = id;
startFullScreen = id;
startRootless = id;
};
CLASS = XServer;
LANGUAGE = ObjC;
OUTLETS = {
dockMenu = NSMenu;
helpWindow = NSWindow;
modeWindow = NSWindow;
startFullScreenButton = NSButton;
startRootlessButton = NSButton;
startupHelpButton = NSButton;
startupModeButton = NSButton;
switchWindow = NSPanel;
windowMenu = NSMenu;
windowSeparator = NSMenuItem;
};
SUPERCLASS = NSObject;
}
);
IBVersion = 1;
}

View File

@ -1,36 +0,0 @@
BINDIR = ${bindir}
include $(top_srcdir)/cpprules.in
XINITDIR = $(libdir)/X11/xinit
XDEFS = \
-DX_VERSION="$(PLIST_VERSION_STRING)" \
-DX_PRE_RELEASE="$(PRE)" \
-DX_REL_DATE="$(XORG_DATE)" \
-DX_VENDOR_NAME="$(VENDOR_STRING)" \
-DX_VENDOR_LINK="$(PLIST_VENDOR_WEB)"
resourcesdir = @APPLE_APPLICATIONS_DIR@/XDarwin.app/Contents/Resources
Swedishlprojdir = $(resourcesdir)/Swedish.lproj
Swedishlproj_DATA = \
XDarwinHelp.html \
InfoPlist.strings \
Credits.rtf Localizable.strings
Swedishlprojnibdir = $(Swedishlprojdir)/MainMenu.nib
Swedishlprojnib_DATA = MainMenu.nib/classes.nib MainMenu.nib/objects.nib
InfoPlist.strings: $(srcdir)/../English.lproj/InfoPlist.strings.cpp
$(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) | $(SED) -e's/__quote__/"/g' > $@
XDarwinHelp.html: XDarwinHelp.html.cpp
$(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) > $@
CLEANFILES = XDarwinHelp.html InfoPlist.strings
EXTRA_DIST = \
Credits.rtf Localizable.strings \
Localizable.strings \
MainMenu.nib/classes.nib \
MainMenu.nib/objects.nib \
XDarwinHelp.html.cpp

View File

@ -1,101 +0,0 @@
<html>
<head>
<title>XDarwin Help</title>
</head>
<body>
<center>
<h1>XDarwin X Server for Mac OS X</h1>
X_VENDOR_NAME X_VERSION<br>
F&auml;rdigst&auml;llt: X_REL_DATE
</center>
<h2>Inneh&aring;ll</h2>
<ol>
<li><A HREF="#notice">Viktigt!</A></li>
<li><A HREF="#usage">Anv&auml;ndande</A></li>
<li><A HREF="#path">Att st&auml;lla in sin s&ouml;kv&auml;g</A></li>
<li><A HREF="#prefs">Inst&auml;llningar</A></li>
<li><A HREF="#license">Licens</A></li>
</ol>
<center>
<h2><a NAME="notice">Viktigt!</a></h2>
</center>
<blockquote>
#if PRE_RELEASE
Detta &auml;r en testversion av XDarwin, och du kan inte garranteras n&aring;gon som helst support f&ouml;r den. Buggar och fel kan rapporteras och f&ouml;rslag till fixar kan skickas till <A HREF="http://sourceforge.net/projects/xonx/">XonX-projektets sida</A> p&aring; SourceForge. Innan du rapporterar buggar i testversioner, var god pr&ouml;va den senaste versionen fr&aring;n <A HREF="http://sourceforge.net/projects/xonx/">XonX</A> eller i X_VENDOR_LINK.
#else
Om servern &auml;r &auml;ldre &auml;n 6-12 m&aring;nader, eller om din h&aring;rdvara &auml;r nyare &auml;n datumet ovan, leta efter en nyare version innan du rapporterar fel. Buggar och fel kan rapporteras och f&ouml;rslag till fixar kan skickas till <A HREF="http://sourceforge.net/projects/xonx/">XonX-projektets sida</A> p&aring; SourceForge.
#endif
</blockquote>
<blockquote>
Denna programvara distrubueras i enlighet med <A HREF="#license">MIT X11 / X Consortium License</A> och tilhandh&aring;lls som den &auml;r, helt utan garantier. Var god l&auml;s igenom <A HREF="#license">licensdokumentet (engelska)</A> innan du anv&auml;nder programmet.</blockquote>
<h2><a NAME="usage">Anv&auml;ndande</a></h2>
<p>XDarwin &auml;r en fritt spridd X server av <a HREF
="http://www.x.org/">X Window-systemet</a>. This version of XDarwin was produced by the X_VENDOR_LINK. XDarwin kan k&ouml;ras p&aring; Mac OS X i fullsk&auml;rmsl&auml;ge eller rotl&ouml;st l&auml;ge.</p>
<p>I fullsk&auml;rmsl&auml;ge kommer X window-systemet att ta &ouml;ver hela sk&auml;rmen n&auml;r det &auml;r aktivt. Du kan byta tillbaka till Mac OS Xs skrivbord genom att trycka Kommando-Alt-A. Denna tangentkombination kan &auml;ndra i inst&auml;llningarna. N&auml;r du &auml;r p&aring; Mac OS Xs skrivbord kan du klicka p&aring; XDarwin-ikonen i dockan f&ouml;r att byta tillbaka till X Window-systemet. (Du kan f&ouml;r&auml;ndra detta beteende i inst&auml;llningarna s&aring; att du ist&auml;llet m&aring;ste klicka i det fltande bytesf&ouml;nstret ist&auml;llet.)</p>
<p>I rotl&ouml;stl&auml;ge delar X11 och Aqua p&aring; din sk&auml;rm. Rotf&ouml;nstret p&aring; X11-sk&auml;rmen &auml;r av samma storlek som hela sk&auml;rmen och inneh&aring;ller alla andra f&ouml;nster - det fungerar som bakgrund. I rotl&ouml;stl&auml;ge visas inte detta rotf&ouml;nster, eftersom Aqua hanterar skrvbordbakgrunden.</p>
<h3>Emulering av flerknapparsmus</h3>
<p>M&aring;nga X11-program utnyttjar en treknapparsmus. Du kan emulera en treknapparsmus med en knapp genom att h&aring;lla ner olika knappar p&aring; tangentbordet medan du klickar med musens enda knapp. Denna funktion styrs av inst&auml;llningarna i "Emulera flerknapparsmus" under fliken "Diverse" i inst&auml;llningarna. Grundinst&auml;llningen &auml;r att emulationen &auml;r aktiv och att ett kommando-klick (H&aring;ll ner kommando och klicka) simulerar den andra musknappen. Den tredje musknappen f&aring;s genom att h&aring;lla ner alt och klicka. Du kan &auml;ndra detta till n&aring;gon annan kombination av de fem tangenterna kommando, alt, kontrol, skift och fn (Powerbook/iBook). Notera att om dessa knappar har flyttats med hj&auml;lp av kommandot xmodmap kommer denna f&ouml;r&auml;ndring inte att p&aring;verka vilka knappar som anv&auml;nds vid flerknappsemulationen.</p>
<h2><a NAME="path">Att st&auml;lla in sin s&ouml;kv&auml;g</a></h2>
<p>Din s&ouml;kv&auml;g &auml;r en lista av kataloger som s&ouml;ks igenom n&auml;r terminalen letar efter kommandon att exekvera. Kommandon som h&ouml;r till X11 ligger i <code>/usr/X11R6/bin</code>, en katalog som inte ligger i din s&ouml;kv&auml;g fr&aring;n b&ouml;rjan. XDarwin l&auml;gger till denna katalog &aring;t dig, och du kan ocks&aring; l&auml;gga till ytterligare kataloger i vilka du lagt program som skall k&ouml;ras fr&aring;n kommandoraden.</p>
<p>Mer erfarna anv&auml;ndare har antagligen redan st&auml;llt in sin s&ouml;kv&auml;g i skalets inst&auml;llningsfiler. Om detta g&auml;ller dig kan st&auml;lla in XDarwin s&aring; att din s&ouml;kv&auml;g inte modifieras. XDarwin startar de f&ouml;rsta X11-klienterna i anv&auml;ndarens inloggningsskal (Vill du anv&auml;nda ett alternativt skall, kan du specificera detta i inst&auml;llningarna). Hur du st&auml;ller in din s&ouml;kv&auml;g beror p&aring; vilket skal du anv&auml;nder. Exakt hur beskrivs i skalets man-sidor.</p>
<p>Ut&ouml;ver detta kan du ocks&aring; vilja l&auml;gga till X11s man-sidor (dokumentation) till listan &auml;ver sidor som som skall s&ouml;kas n&auml;r du vill l&auml;sa efter dokumentationen. X11s man-sidor ligger i <code>/usr/X11R6/man</code> och listan &auml;ver kataloger att s&ouml;ka best&auml;mms av variabeln<code>MANPATH</code>.</p>
<h2><a NAME="prefs">Inst&auml;llningar</a></h2>
<p>I inst&auml;llningarna finns ett antal alternativ d&auml;r du kan p&aring;verka hur XDarwin beter sig i vissa fall. Inst&auml;llningarna kommer du till genom att v&auml;lja "Inst&auml;llningar..." i menyn "XDarwin". De alternativ som finns under fliken "Starta" tr&auml;der inte i kraft f&ouml;rr&auml;n du startat om programmet. Alla andra alternativ tr&auml;der i kraft omedelbart. De olika alternativen beskrivs nedan:</p>
<h3>Diverse</h3>
<ul>
<li><b>Anv&auml;nd Mac OS varningsljud i X11:</b> N&auml;r detta alternativ &auml;r valt anv&auml;nds Mac OS vanliga varningsljud &auml;r X11s varningsljud (bell). N&auml;r detta alternativ inte &auml;r valt (f&ouml;rvalt) anv&auml;nds en vanlig ton.</li>
<li><b>Till&aring;t X11 att &auml;ndra musens acceleration:</b> I ett vanligt X11-system kan f&ouml;nsterhanteraren &auml;ndra musens acceleration. Detta kan vara f&ouml;rvirrande eftersom musens acceleration kan vara olika i Mac OS Xs System Preferences och i f&ouml;nsterhanteraren i X11. F&ouml;rvalet &auml;r att X11 inte kan &auml;ndra musens acceleration f&ouml;r att p&aring; detta s&auml;tt undvika detta problem.</li>
<li><b>Emulera flerknapparsmus:</b> Detta beskrivs ovan under <a HREF="#usage">Anv&auml;ndande</a>. N&auml;r emulationen &auml;r aktiv m&aring;ste du h&aring;lla ner de valda knapparna f&ouml;r att emulera en andra eller tredje musknapp.</li>
</ul>
<h3>Starta</h3>
<ul>
<li><b>F&ouml;rvalt l&auml;ge:</b> Om anv&auml;ndaren inte p&aring; annat s&auml;tt v&auml;ljer vilket l&auml;ge som skall anv&auml;ndas kommer alternativet h&auml;r att anv&auml;ndas.</li>
<li><b>Visa val av sk&auml;rml&auml;ge vid start:</b> F&ouml;rvalet &auml;r att visa ett f&ouml;nster n&auml;r XDarwin startar som l&aring;ter anv&auml;ndaren v&auml;lja mellan fullsk&auml;rmsl&auml;ge och rotl&ouml;st l&auml;ge. Om detta alternativ inte &auml;r aktivt kommer XDarwin automatiskt att startas i det l&auml;ge som valts ovan.</li>
<li><b>Sk&auml;rmnummer i X11:</b> X11 till&aring;ter att det finns flera sk&auml;rmar styrda av varsin X-server p&aring; en och samma dator. Anv&auml;ndaren kan ange vilket nummer XDarwin skall anv&auml;nda om mer &auml;n en X-server skall anv&auml;ndas samtidigt.</li>
<li><b>Aktivera Xinerama (st&ouml;d f&ouml;r flera sk&auml;rmar):</b> XDarwin st&ouml;djer flera sk&auml;rmar genom Xinerama, vilket hanterar alla skr&auml;mar som delar av en enda stor rektangul&auml;r sk&auml;rm. Du kan anv&auml;nda detta alternativ f&ouml;r att st&auml;nga av Xinerama, men f&ouml;r n&auml;rvarande kan inte XDarwin hantera flera sk&auml;rmar utan det. Om du bara har en sk&auml;rm kommer Xinerama automatiskt att deaktiveras.</li>
<li><b>Fil med tangentbordsupps&auml;ttning:</b> En fil som anger tangentbordsupps&auml;ttning l&auml;ses vid start och &ouml;vers&auml;tts till en tangentborsupps&auml;ttningsfil f&ouml;r X11. Filer med tangentbordsupps&auml;ttningar f&ouml;r ett stort antal spr&aring;k finns i <code>/System/Library/Keyboards</code>.</li>
<li><b>Startar f&ouml;rsta X11-klienterna:</b> N&auml;r X11 startas fr&aring;n Finder kommer det att exekvera filen <code>xinit</code> f&ouml;r att starta f&ouml;nsterhanteraren i X11 och andra program. (Se "<code>man xinit</code>" f&ouml;r mer information.) Innan XDarwin k&ouml;r xinit kommer det att l&auml;gga till katalogern h&auml;r till anv&auml;ndarens s&ouml;kv&auml;g. F&ouml;rvalet &auml;r att endast l&auml;gga till katalogen <code>/usr/X11R6/bin</code>. Ytterligare kataloger kan l&auml;ggas till - separera dem med kolon. X11-klienterna startas i anv&auml;ndarens inloggningsskal s&aring; att anv&auml;ndarens inst&auml;llningsfiler i skalet l&auml;ses. Om s&aring; &ouml;nskas kan de startas i ett annat skal.</li>
</ul>
<h3>Fullsk&auml;rm</h3>
<ul>
<li><b>Tangentkombinationsknappen:</b> Tryck p&aring; denna knapp och en tangentkombination f&ouml;r att &auml;ndra den tangentkombination som anv&auml;nds f&ouml;r att byta mellan X11 och Aqua.</li>
<li><b>Klick p&aring; ikonen i dockan byter till X11:</b> Aktivera detta alternativ f&ouml;r att byta till X11 genom att klicka p&aring; ikonen i dockan. I vissa versioner av Mac OS X kommer ett bte p&aring; detta s&auml;tt att g&ouml;mma pekaren n&auml;r du &aring;terv&auml;nder till Aqua.</li>
<li><b>Visa fullsk&auml;rmshj&auml;lp vid start:</b> Detta kommer att visa en informationsruta n&auml;r XDarwin startas i fullsk&auml;rmsl&auml;ge.</li>
<li><b>F&auml;rgdjup:</b> I fullsk&auml;rmsl&auml;ge kan X11 anv&auml;nda ett annat f&auml;rgdjup &auml;n Aquas. Om du v&auml;jer "Nuvarande" kommer X11 att anv&auml;nda det f&auml;rgdjup som Aqua har just d&aring;. Annars kan du v&auml;lja 8, 15, eller 24 bitare f&auml;rg.</li>
</ul>
<h2><a NAME="license">Licens (svenska)</a></h2>
<p>Den huvudsakliga licens vi anv&auml;nder oss av &auml;r baserad p&aring; den traditionella MIT X11 / XConsortium-licensen, vilken inte p&aring; n&aring;got s&auml;tt begr&auml;nsar f&ouml;r&auml;ndringar eller vidarespridning av vare sig k&auml;llkod eller kompilerad programvara annat &auml;n genom att kr&auml;va att delarna som r&ouml;r copyright och licensiering l&auml;mnas intakta. F&ouml;r mer information och ytterligare copyright/licensieringsinfromation r&ouml;rande vissa speciella delar av koden, se the source code.</p>
<h3>Licence (english)</h3>
<p>The main license for XDarwin is based on the traditional MIT X11 / X Consortium License, which does not impose any conditions on modification or redistribution of source code or binaries other than requiring that copyright/license notices are left intact. For more information and additional copyright/licensing notices covering some sections of the code, please refer to the source code.</p>
<H3><A NAME="3"></A>X Consortium License</H3>
<p>Copyright (C) 1996 X Consortium</p>
<p>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:</p>
<p>The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.</p>
<p>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 X CONSORTIUM 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
IN THE SOFTWARE.</p>
<p>Except as contained in this notice, the name of the X Consortium shall
not be used in advertising or otherwise to promote the sale, use or
other dealings in this Software without prior written authorization from
the X Consortium.</p>
<p>X Window System is a trademark of X Consortium, Inc.</p>
</body>
</html>

Binary file not shown.

View File

@ -1,168 +0,0 @@
{\rtf1\mac\ansicpg10000\cocoartf102
{\fonttbl\f0\fswiss\fcharset77 Helvetica;\f1\fswiss\fcharset77 Helvetica-Bold;\f2\fswiss\fcharset77 Helvetica-Oblique;
}
{\colortbl;\red255\green255\blue255;}
\vieww5160\viewh6300\viewkind0
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
\f0\fs24 \cf0 This product includes software developed by The XFree86 Project, Inc (http://www.xfree86.org/) and its contributors. The following people contributed to Darwin/Mac OS X support.\
\
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\f1\b \cf0 Contributors to Xorg Foundation Release:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Kaleb KEITHLEY\
\f2\i Working left and right Ctrl, Alt (Option), Meta (Command) and Shift keys.
\f0\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f1\b \cf0 \
\f1\b \cf0 Contributors to XFree86 4.4:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 John Harper\
\f2\i Rootless acceleration and Apple-WM extension
\f0\i0 \
Torrey T. Lyons\
\f2\i Project Lead
\f0\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f1\b \cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\cf0 Additional XonX Contributors to XFree86 4.3:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Fabr\'92cio Luis de Castro\
\f2\i Portuguese localization
\f0\i0 \
Michael Oland\
\f2\i New XDarwin icon
\f0\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f1\b \cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\cf0 XonX Contributors to XFree86 4.2:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Rob Braun\
\f2\i Darwin x86 support
\f0\i0 \
Pablo Di Noto\
\f2\i Spanish localization
\f0\i0 \
Paul Edens\
\f2\i Dutch localization
\f0\i0 \
Kyunghwan Kim\
\f2\i Korean localization
\f0\i0 \
Mario Klebsch\
\f2\i Non-US keyboard support
\f0\i0 \
Torrey T. Lyons\
\f2\i Project Lead
\f0\i0 \
Andreas Monitzer\
\f2\i German localization
\f0\i0 \
Patrik Montgomery\
\f2\i Swedish localization
\f0\i0 \
Greg Parker\
\f2\i Rootless support
\f0\i0 \
Toshimitsu Tanaka\
\f2\i Japanese localization
\f0\i0 \
Olivier Verdier\
\f2\i French localization
\f0\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f1\b \cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\cf0 Special Thanks:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Devin Poolman and Zero G Software, Inc.\
\f2\i Installer
\f0\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f1\b \cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\cf0 XonX Team Members\
Contributing to XFree86 4.1:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Rob Braun\
\f2\i Darwin x86 support
\f0\i0 \
Torrey T. Lyons\
\f2\i Project Lead
\f0\i0 \
Andreas Monitzer\
\f2\i Cocoa version of XDarwin front end
\f0\i0 \
Greg Parker\
\f2\i Original Quartz implementation
\f0\i0 \
Christoph Pfisterer\
\f2\i Dynamic shared libraries
\f0\i0 \
Toshimitsu Tanaka\
\f2\i Japanese localization
\f0\i0 \
\
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\f1\b \cf0 Special Thanks:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Tiago Ribeiro\
\f2\i XDarwin icon
\f0\i0 \
\
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\f1\b \cf0 History:
\f0\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 John Carmack\
\f2\i Original XFree86 port to Mac OS X Server
\f0\i0 \
Dave Zarzycki\
\f2\i XFree86 4.0 port to Darwin 1.0
\f0\i0 \
Torrey T. Lyons\
\f2\i Integration into XFree86 Project for 4.0.2}

View File

@ -1,72 +0,0 @@
{
IBClasses = (
{
ACTIONS = {showHelp = id; };
CLASS = FirstResponder;
LANGUAGE = ObjC;
SUPERCLASS = NSObject;
},
{
ACTIONS = {close = id; pickFile = id; saveChanges = id; setKey = id; };
CLASS = Preferences;
LANGUAGE = ObjC;
OUTLETS = {
addToPathButton = id;
addToPathField = id;
button2ModifiersMatrix = id;
button3ModifiersMatrix = id;
depthButton = id;
displayField = id;
dockSwitchButton = id;
fakeButton = id;
keymapFileField = id;
modeMatrix = id;
modeWindowButton = id;
mouseAccelChangeButton = id;
startupHelpButton = id;
switchKeyButton = id;
systemBeepButton = id;
useDefaultShellMatrix = id;
useOtherShellField = id;
useXineramaButton = id;
window = id;
};
SUPERCLASS = NSObject;
},
{
CLASS = XApplication;
LANGUAGE = ObjC;
OUTLETS = {preferences = id; xserver = id; };
SUPERCLASS = NSApplication;
},
{
ACTIONS = {
bringAllToFront = id;
closeHelpAndShow = id;
itemSelected = id;
nextWindow = id;
previousWindow = id;
showAction = id;
showSwitchPanel = id;
startFullScreen = id;
startRootless = id;
};
CLASS = XServer;
LANGUAGE = ObjC;
OUTLETS = {
dockMenu = NSMenu;
helpWindow = NSWindow;
modeWindow = NSWindow;
startFullScreenButton = NSButton;
startRootlessButton = NSButton;
startupHelpButton = NSButton;
startupModeButton = NSButton;
switchWindow = NSPanel;
windowMenu = NSMenu;
windowSeparator = NSMenuItem;
};
SUPERCLASS = NSObject;
}
);
IBVersion = 1;
}

Binary file not shown.

View File

@ -1,37 +0,0 @@
BINDIR = ${bindir}
include $(top_srcdir)/cpprules.in
XINITDIR = $(libdir)/X11/xinit
XDEFS = \
-DX_VERSION="$(PLIST_VERSION_STRING)" \
-DX_PRE_RELEASE="$(PRE)" \
-DX_REL_DATE="$(XORG_DATE)" \
-DX_VENDOR_NAME="$(VENDOR_STRING)" \
-DX_VENDOR_LINK="$(PLIST_VENDOR_WEB)"
resourcesdir = @APPLE_APPLICATIONS_DIR@/XDarwin.app/Contents/Resources
kolprojdir = $(resourcesdir)/ko.lproj
kolproj_DATA = \
XDarwinHelp.html \
InfoPlist.strings \
Credits.rtf Localizable.strings
kolprojnibdir = $(kolprojdir)/MainMenu.nib
kolprojnib_DATA = MainMenu.nib/classes.nib MainMenu.nib/objects.nib
InfoPlist.strings: $(srcdir)/../English.lproj/InfoPlist.strings.cpp
$(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) | $(SED) -e's/__quote__/"/g' > $@
XDarwinHelp.html: XDarwinHelp.html.cpp
$(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) > $@
CLEANFILES = XDarwinHelp.html InfoPlist.strings
EXTRA_DIST = \
Credits.rtf Localizable.strings \
Localizable.strings \
MainMenu.nib/classes.nib \
MainMenu.nib/objects.nib \
XDarwinHelp.html.cpp

View File

@ -1,94 +0,0 @@
<html>
<head>
<title>XDarwin Help</title>
</head>
<body>
<center>
<h1>XDarwin X Server for Mac OS X</h1>
X_VENDOR_NAME X_VERSION<br>
Release Date: X_REL_DATE
</center>
<h2>Contents</h2>
<ol>
<li><A HREF="#notice">Important Notice</A></li>
<li><A HREF="#usage">Usage</A></li>
<li><A HREF="#path">Setting Your Path</A></li>
<li><A HREF="#prefs">User Preferences</A></li>
<li><A HREF="#license">License</A></li>
</ol>
<center>
<h2><a NAME="notice">Important Notice</a></h2>
</center>
<blockquote>
#if X_PRE_RELEASE
This is a pre-release version of XDarwin, and is not supported in any way. Bugs may be reported and patches may be submitted to the <A HREF="http://sourceforge.net/projects/xonx/">XonX project page</A> at SourceForge. Before reporting bugs in pre-release versions, please check the latest version from <A HREF="http://sourceforge.net/projects/xonx/">XonX</A> or the X_VENDOR_LINK.
#else
If the server is older than 6-12 months, or if your hardware is newer than the above date, look for a newer version before reporting problems. Bugs may be reported and patches may be submitted to the <A HREF="http://sourceforge.net/projects/xonx/">XonX project page</A> at SourceForge.
#endif
</blockquote>
<blockquote>
This software is distributed under the terms of the <A HREF="#license">MIT X11 / X Consortium License</A> and is provided AS IS, with no warranty. Please read the <A HREF="#license">License</A> before using.</blockquote>
<h2><a NAME="usage">Usage</a></h2>
<p>XDarwin is a freely redistributable open-source X server for the <a HREF="http://www.x.org/">X Window System</a>. This version of XDarwin was produced by the X_VENDOR_LINK. XDarwin runs on Mac OS X in full screen or rootless modes.</p>
<p>In full screen mode, when the X window system is active, it takes over the entire screen. You can switch back to the Mac OS X desktop by holding down Command-Option-A. This key combination can be changed in the user preferences. From the Mac OS X desktop, click on the XDarwin icon in the Dock to switch back to the X window system. (You can change this behavior in the user preferences so that you must click the XDarwin icon in the floating switch window instead.)</p>
<p>In rootless mode, the X window system and Aqua share your display. The root window of the X11 display is the size of the screen and contains all the other windows. The X11 root window is not displayed in rootless mode as Aqua handles the desktop background.</p>
<h3>Multi-Button Mouse Emulation</h3>
<p>Many X11 applications rely on the use of a 3-button mouse. You can emulate a 3-button mouse with a single button by holding down various modifier keys while you click the mouse button. This is controlled by settings in the "Multi-Button Mouse Emulation" section of the "General" preferences. By default, emulation is on and holding down the command key and clicking the mouse button will simulate clicking the second mouse button. Holding down the option key and clicking will simulate the third button. You can change to any combination of modifiers to emulate buttons two and three in the preferences. Note, even if the modifiers keys are mapped to some other key with xmodmap, you still must use the actual keys specified in the preferences for multi-button mouse emulation.</p>
<h2><a NAME="path">Setting Your Path</a></h2>
<p>Your path is the list of directories to be searched for executable commands. The X11 commands are located in <code>/usr/X11R6/bin</code>, which needs to be added to your path. XDarwin does this for you by default and can also add additional directories where you have installed command line applications.</p>
<p>More experienced users will have already set their path correctly using the initialization files for their shell. In this case, you can inform XDarwin not to modify your path in the preferences. XDarwin launches the initial X11 clients in the user's default login shell. (An alternate shell can also be specified in the preferences.) The way to set the path depends on the shell you are using. This is described in the man page documentation for the shell.</p>
<p>In addition you may also want to add the X11 man pages to the list of pages to be searched when you are looking for documentation. The X11 man pages are located in <code>/usr/X11R6/man</code> and the <code>MANPATH</code> environment variable contains the list of directories to search.</p>
<h2><a NAME="prefs">User Preferences</a></h2>
<p>A number of options may be set from the user preferences, accessible from the "Preferences..." menu item in the "XDarwin" menu. The options listed as start up options will not take effect until you have restarted XDarwin. All other options take effect immediately. The various options are described below:</p>
<h3>General</h3>
<ul>
<li><b>Use System beep for X11:</b> When enabled the standard Mac OS X alert sound is used as the X11 bell. When disabled (default) a simple tone is used.</li>
<li><b>Allow X11 to change mouse acceleration:</b> In a standard X window system implementation, the window manager can change the mouse acceleration. This can lead to confusion as the mouse acceleration may be set to different values by the Mac OS X System Preferences and the X window manager. By default, X11 is not allowed to change the mouse acceleration to avoid this problem.</li>
<li><b>Multi-Button Mouse Emulation:</b> This is described above under <a HREF="#usage">Usage</a>. When emulation is enabled the selected modifiers must be held down when the mouse button is pushed to emulate the second or third mouse buttons.</li>
</ul>
<h3>Start Up</h3>
<ul>
<li><b>Default Mode:</b> If the user does not indicate whether to run in full screen or rootless mode, the mode specified here will be used.</li>
<li><b>Show mode pick panel on startup:</b> By default, a panel is displayed when XDarwin is started to allow the user to choose between full screen or rootless mode. If this option is turned off, the default mode will be started automatically.</li>
<li><b>X11 Display number:</b> X11 allows there to be multiple displays managed by separate X servers on a single computer. The user may specify an integer display number for XDarwin to use if more than one X server is going to be run simultaneously.</li>
<li><b>Allow Xinerama multiple monitor support:</b> XDarwin supports multiple monitors with Xinerama, which treats all monitors as being part of one large rectangular screen. You can disable Xinerama with this option, but currently XDarwin does not handle multiple monitors correctly without it. If you only have a single monitor, Xinerama is automatically disabled.</li>
<li><b>Keymapping File:</b> A keymapping file is read at startup and translated to an X11 keymap. Keymapping files, available for a wide variety of languages, are found in <code>/System/Library/Keyboards</code>.</li>
<li><b>Starting First X11 Clients:</b> When XDarwin is started from the Finder, it will run <code>xinit</code> to launch the X window manager and other X clients. (See "<code>man xinit</code>" for more information.) Before XDarwin runs <code>xinit</code> it will add the specified directories to the user's path. By default only <code>/usr/X11R6/bin</code> is added. Additional directories may added, separated by a colon. The X clients are started in the user's default login shell so that the user's shell initialization files are read. If desired, an alternate shell may be specified.</li>
</ul>
<h3>Full Screen</h3>
<ul>
<li><b>Key combination button:</b> Click this button and then press any number of modifiers followed by a standard key to change the key combination to switch between Aqua and X11.</li>
<li><b>Click on icon in Dock switches to X11:</b> Enable this to activate switching to X11 by clicking on the XDarwin icon in the Dock. On some versions of Mac OS X, switching by clicking in the Dock can cause the cursor to disappear on returning to Aqua.</li>
<li><b>Show help on startup:</b> This will show an introductory splash screen when XDarwin is started in full screen mode.</li>
<li><b>Color bit depth:</b> In full screen mode, the X11 display can use a different color bit depth than is used by Aqua. If "Current" is specified, the depth used by Aqua when XDarwin starts will be used. Otherwise 8, 15, or 24 bits may be specified.</li>
</ul>
<h2><a NAME="license">License</a></h2>
The main license for XDarwin is based on the traditional MIT X11 / X Consortium License, which does not impose any conditions on modification or redistribution of source code or binaries other than requiring that copyright/license notices are left intact. For more information and additional copyright/licensing notices covering some sections of the code, please refer to the source code.
<H3><A NAME="3"></A>X Consortium License</H3>
<p>Copyright (C) 1996 X Consortium</p>
<p>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:</p>
<p>The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.</p>
<p>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 X CONSORTIUM 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
IN THE SOFTWARE.</p>
<p>Except as contained in this notice, the name of the X Consortium shall
not be used in advertising or otherwise to promote the sale, use or
other dealings in this Software without prior written authorization from
the X Consortium.</p>
<p>X Window System is a trademark of X Consortium, Inc.</p>
</body>
</html>

View File

@ -1,22 +0,0 @@
XCOMM!/bin/sh
XCOMM This script is used by XDarwin to start X clients when XDarwin is
XCOMM launched from the Finder.
userclientrc=$HOME/.xinitrc
sysclientrc=XINITDIR/xinitrc
clientargs=""
if [ -f $userclientrc ]; then
clientargs=$userclientrc
else if [ -f $sysclientrc ]; then
clientargs=$sysclientrc
fi
fi
if [ "x$2" != "x" ]; then
PATH="$PATH:$2"
export PATH
fi
exec xinit $clientargs -- XBINDIR/XDarwinStartup "$1" -idle

View File

@ -67,6 +67,11 @@
#include <IOKit/hidsystem/IOHIDLib.h>
#include <IOKit/hidsystem/ev_keymap.h>
#ifdef MITSHM
#define _XSHM_SERVER_
#include <X11/extensions/XShm.h>
#endif
#include "darwin.h"
#include "darwinClut8.h"
@ -180,7 +185,9 @@ static Bool DarwinAddScreen(
// allocate space for private per screen storage
dfb = xalloc(sizeof(DarwinFramebufferRec));
SCREEN_PRIV(pScreen) = dfb;
// SCREEN_PRIV(pScreen) = dfb;
pScreen->devPrivates[darwinScreenIndex].ptr = dfb;
// setup hardware/mode specific details
ret = DarwinModeAddScreen(foundIndex, pScreen);
@ -336,7 +343,7 @@ static int DarwinMouseProc(
DeviceIntPtr pPointer,
int what )
{
char map[6];
CARD8 map[6];
switch (what) {
@ -677,10 +684,30 @@ void ddxInitGlobals(void)
*/
int ddxProcessArgument( int argc, char *argv[], int i )
{
int numDone;
if ( !strcmp( argv[i], "-fullscreen" ) ) {
ErrorF( "Running full screen in parallel with Mac OS X Quartz window server.\n" );
return 1;
}
if ((numDone = DarwinModeProcessArgument( argc, argv, i )))
return numDone;
if ( !strcmp( argv[i], "-rootless" ) ) {
ErrorF( "Running rootless inside Mac OS X window server.\n" );
return 1;
}
if ( !strcmp( argv[i], "-quartz" ) ) {
ErrorF( "Running in parallel with Mac OS X Quartz window server.\n" );
return 1;
}
// The Mac OS X front end uses this argument, which we just ignore here.
if ( !strcmp( argv[i], "-nostartx" ) ) {
return 1;
}
// This command line arg is passed when launched from the Aqua GUI.
if ( !strncmp( argv[i], "-psn_", 5 ) ) {
return 1;
}
if ( !strcmp( argv[i], "-fakebuttons" ) ) {
darwinFakeButtons = TRUE;
@ -833,14 +860,11 @@ void ddxUseMsg( void )
ErrorF("-keymap <file> : read the keymapping from a file instead of the kernel.\n");
ErrorF("-version : show the server version.\n");
ErrorF("\n");
#ifdef DARWIN_WITH_QUARTZ
ErrorF("Quartz modes:\n");
ErrorF("Quartz modes (Experimental / In Development):\n");
ErrorF("-fullscreen : run full screen in parallel with Mac OS X window server.\n");
ErrorF("-rootless : run rootless inside Mac OS X window server.\n");
ErrorF("-quartz : use default Mac OS X window server mode\n");
ErrorF("\n");
ErrorF("Options ignored in rootless mode:\n");
#endif
ErrorF("-size <height> <width> : use a screen resolution of <height> x <width>.\n");
ErrorF("-depth <8,15,24> : use this bit depth.\n");
ErrorF("-refresh <rate> : use a monitor refresh rate of <rate> Hz.\n");

View File

@ -27,6 +27,8 @@
#ifndef _DARWIN_H
#define _DARWIN_H
#include "dix-config.h"
#include <IOKit/IOTypes.h>
#include "inputstr.h"
#include "scrnintstr.h"
@ -76,7 +78,6 @@ Bool DarwinModeAddScreen(int index, ScreenPtr pScreen);
Bool DarwinModeSetupScreen(int index, ScreenPtr pScreen);
void DarwinModeInitOutput(int argc,char **argv);
void DarwinModeInitInput(int argc, char **argv);
int DarwinModeProcessArgument(int argc, char *argv[], int i);
void DarwinModeProcessEvent(xEvent *xe);
void DarwinModeGiveUp(void);
void DarwinModeBell(int volume, DeviceIntPtr pDevice, pointer ctrl, int class);

View File

@ -1,17 +0,0 @@
noinst_LIBRARIES = libiokit.a
AM_CFLAGS = @XORG_CFLAGS@ @DIX_CFLAGS@
INCLUDES = -I. -I.. -I$(srcdir) -I$(srcdir)/.. @XORG_INCS@
AM_DEFS =
if XQUARTZ
AM_DEFS += -DDARWIN_WITH_QUARTZ -DXFree86Server
XQUARTZ_SUBDIRS = bundle quartz
endif
DEFS = @DEFS@ $(AM_DEFS)
libiokit_a_SOURCES = xfIOKit.c \
xfIOKitCursor.c \
xfIOKitStartup.c
EXTRA_DIST = \
xfIOKit.h

View File

@ -1,773 +0,0 @@
/**************************************************************
*
* IOKit support for the Darwin X Server
*
* HISTORY:
* Original port to Mac OS X Server by John Carmack
* Port to Darwin 1.0 by Dave Zarzycki
* Significantly rewritten for XFree86 4.0.1 by Torrey Lyons
*
**************************************************************/
/*
* Copyright (c) 2001-2004 Torrey T. Lyons. All Rights Reserved.
*
* 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 or substantial portions of the Software.
*
* 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 ABOVE LISTED COPYRIGHT HOLDER(S) 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 IN THE SOFTWARE.
*
* Except as contained in this notice, the name(s) of the above copyright
* holders shall not be used in advertising or otherwise to promote the sale,
* use or other dealings in this Software without prior written authorization.
*/
#include <dix-config.h>
#include <X11/X.h>
#include <X11/Xproto.h>
#include "os.h"
#include "servermd.h"
#include "inputstr.h"
#include "scrnintstr.h"
#include "mi.h"
#include "mibstore.h"
#include "mipointer.h"
#include "micmap.h"
#include "shadow.h"
#include <sys/types.h>
#include <sys/time.h>
#include <unistd.h>
#include <fcntl.h>
#include <pthread.h>
#include <assert.h>
#include <mach/mach_interface.h>
#define NO_CFPLUGIN
#include <IOKit/IOKitLib.h>
#include <IOKit/hidsystem/IOHIDShared.h>
#include <IOKit/hidsystem/event_status_driver.h>
#include <IOKit/graphics/IOGraphicsLib.h>
// Define this to work around bugs in the display drivers for
// older PowerBook G3's. If the X server starts without this
// #define, you don't need it.
#undef OLD_POWERBOOK_G3
#include "darwin.h"
#include "xfIOKit.h"
// Globals
int xfIOKitScreenIndex = 0;
io_connect_t xfIOKitInputConnect = 0;
static pthread_t inputThread;
static EvGlobals * evg;
static mach_port_t masterPort;
static mach_port_t notificationPort;
static IONotificationPortRef NotificationPortRef;
static mach_port_t pmNotificationPort;
static io_iterator_t fbIter;
/*
* XFIOKitStoreColors
* This is a callback from X to change the hardware colormap
* when using PsuedoColor.
*/
static void XFIOKitStoreColors(
ColormapPtr pmap,
int numEntries,
xColorItem *pdefs)
{
kern_return_t kr;
int i;
IOColorEntry *newColors;
ScreenPtr pScreen = pmap->pScreen;
XFIOKitScreenPtr iokitScreen = XFIOKIT_SCREEN_PRIV(pScreen);
assert( newColors = (IOColorEntry *)
xalloc( numEntries*sizeof(IOColorEntry) ));
// Convert xColorItem values to IOColorEntry
// assume the colormap is PsuedoColor
// as we do not support DirectColor
for (i = 0; i < numEntries; i++) {
newColors[i].index = pdefs[i].pixel;
newColors[i].red = pdefs[i].red;
newColors[i].green = pdefs[i].green;
newColors[i].blue = pdefs[i].blue;
}
kr = IOFBSetCLUT( iokitScreen->fbService, 0, numEntries,
kSetCLUTByValue, newColors );
kern_assert( kr );
xfree( newColors );
}
/*
* DarwinModeBell
* FIXME
*/
void DarwinModeBell(
int loud,
DeviceIntPtr pDevice,
pointer ctrl,
int fbclass)
{
}
/*
* DarwinModeGiveUp
* Closes the connections to IOKit services
*/
void DarwinModeGiveUp( void )
{
int i;
// we must close the HID System first
// because it is a client of the framebuffer
NXCloseEventStatus( darwinParamConnect );
IOServiceClose( xfIOKitInputConnect );
for (i = 0; i < screenInfo.numScreens; i++) {
XFIOKitScreenPtr iokitScreen =
XFIOKIT_SCREEN_PRIV(screenInfo.screens[i]);
IOServiceClose( iokitScreen->fbService );
}
}
/*
* ClearEvent
* Clear an event from the HID System event queue
*/
static void ClearEvent(NXEvent * ep)
{
static NXEvent nullEvent = {NX_NULLEVENT, {0, 0 }, 0, -1, 0 };
*ep = nullEvent;
ep->data.compound.subType = ep->data.compound.misc.L[0] =
ep->data.compound.misc.L[1] = 0;
}
/*
* XFIOKitHIDThread
* Read the HID System event queue, translate it to an X event,
* and queue it for processing.
*/
static void *XFIOKitHIDThread(void *unused)
{
for (;;) {
NXEQElement *oldHead;
mach_msg_return_t kr;
mach_msg_empty_rcv_t msg;
kr = mach_msg((mach_msg_header_t*) &msg, MACH_RCV_MSG, 0,
sizeof(msg), notificationPort, 0, MACH_PORT_NULL);
kern_assert(kr);
while (evg->LLEHead != evg->LLETail) {
NXEvent ev;
xEvent xe;
// Extract the next event from the kernel queue
oldHead = (NXEQElement*)&evg->lleq[evg->LLEHead];
ev_lock(&oldHead->sema);
ev = oldHead->event;
ClearEvent(&oldHead->event);
evg->LLEHead = oldHead->next;
ev_unlock(&oldHead->sema);
memset(&xe, 0, sizeof(xe));
// These fields should be filled in for every event
xe.u.keyButtonPointer.rootX = ev.location.x;
xe.u.keyButtonPointer.rootY = ev.location.y;
xe.u.keyButtonPointer.time = GetTimeInMillis();
switch( ev.type ) {
case NX_MOUSEMOVED:
xe.u.u.type = MotionNotify;
break;
case NX_LMOUSEDOWN:
xe.u.u.type = ButtonPress;
xe.u.u.detail = 1;
break;
case NX_LMOUSEUP:
xe.u.u.type = ButtonRelease;
xe.u.u.detail = 1;
break;
// A newer kernel generates multi-button events with
// NX_SYSDEFINED. Button 2 isn't handled correctly by
// older kernels anyway. Just let NX_SYSDEFINED events
// handle these.
#if 0
case NX_RMOUSEDOWN:
xe.u.u.type = ButtonPress;
xe.u.u.detail = 2;
break;
case NX_RMOUSEUP:
xe.u.u.type = ButtonRelease;
xe.u.u.detail = 2;
break;
#endif
case NX_KEYDOWN:
xe.u.u.type = KeyPress;
xe.u.u.detail = ev.data.key.keyCode;
break;
case NX_KEYUP:
xe.u.u.type = KeyRelease;
xe.u.u.detail = ev.data.key.keyCode;
break;
case NX_FLAGSCHANGED:
xe.u.u.type = kXDarwinUpdateModifiers;
xe.u.clientMessage.u.l.longs0 = ev.flags;
break;
case NX_SYSDEFINED:
if (ev.data.compound.subType == 7) {
xe.u.u.type = kXDarwinUpdateButtons;
xe.u.clientMessage.u.l.longs0 =
ev.data.compound.misc.L[0];
xe.u.clientMessage.u.l.longs1 =
ev.data.compound.misc.L[1];
} else {
continue;
}
break;
case NX_SCROLLWHEELMOVED:
xe.u.u.type = kXDarwinScrollWheel;
xe.u.clientMessage.u.s.shorts0 =
ev.data.scrollWheel.deltaAxis1;
break;
default:
continue;
}
DarwinEQEnqueue(&xe);
}
}
return NULL;
}
/*
* XFIOKitPMThread
* Handle power state notifications
*/
static void *XFIOKitPMThread(void *arg)
{
ScreenPtr pScreen = (ScreenPtr)arg;
XFIOKitScreenPtr iokitScreen = XFIOKIT_SCREEN_PRIV(pScreen);
for (;;) {
mach_msg_return_t kr;
mach_msg_empty_rcv_t msg;
kr = mach_msg((mach_msg_header_t*) &msg, MACH_RCV_MSG, 0,
sizeof(msg), pmNotificationPort, 0, MACH_PORT_NULL);
kern_assert(kr);
// display is powering down
if (msg.header.msgh_id == 0) {
IOFBAcknowledgePM( iokitScreen->fbService );
xf86SetRootClip(pScreen, FALSE);
}
// display just woke up
else if (msg.header.msgh_id == 1) {
xf86SetRootClip(pScreen, TRUE);
}
}
return NULL;
}
/*
* SetupFBandHID
* Setup an IOFramebuffer service and connect the HID system to it.
*/
static Bool SetupFBandHID(
int index,
DarwinFramebufferPtr dfb,
XFIOKitScreenPtr iokitScreen)
{
kern_return_t kr;
io_service_t service;
io_connect_t fbService;
vm_address_t vram;
vm_size_t shmemSize;
int i;
UInt32 numModes;
IODisplayModeInformation modeInfo;
IODisplayModeID displayMode, *allModes;
IOIndex displayDepth;
IOFramebufferInformation fbInfo;
IOPixelInformation pixelInfo;
StdFBShmem_t *cshmem;
// find and open the IOFrameBuffer service
service = IOIteratorNext(fbIter);
if (service == 0)
return FALSE;
kr = IOServiceOpen( service, mach_task_self(),
kIOFBServerConnectType, &iokitScreen->fbService );
IOObjectRelease( service );
if (kr != KERN_SUCCESS) {
ErrorF("Failed to connect as window server to screen %i.\n", index);
return FALSE;
}
fbService = iokitScreen->fbService;
// create the slice of shared memory containing cursor state data
kr = IOFBCreateSharedCursor( fbService,
kIOFBCurrentShmemVersion,
32, 32 );
if (kr != KERN_SUCCESS)
return FALSE;
// Register for power management events for the framebuffer's device
kr = IOCreateReceivePort(kOSNotificationMessageID, &pmNotificationPort);
kern_assert(kr);
kr = IOConnectSetNotificationPort( fbService, 0,
pmNotificationPort, 0 );
if (kr != KERN_SUCCESS) {
ErrorF("Power management registration failed.\n");
}
// SET THE SCREEN PARAMETERS
// get the current screen resolution, refresh rate and depth
kr = IOFBGetCurrentDisplayModeAndDepth( fbService,
&displayMode,
&displayDepth );
if (kr != KERN_SUCCESS)
return FALSE;
// use the current screen resolution if the user
// only wants to change the refresh rate
if (darwinDesiredRefresh != -1 && darwinDesiredWidth == 0) {
kr = IOFBGetDisplayModeInformation( fbService,
displayMode,
&modeInfo );
if (kr != KERN_SUCCESS)
return FALSE;
darwinDesiredWidth = modeInfo.nominalWidth;
darwinDesiredHeight = modeInfo.nominalHeight;
}
// use the current resolution and refresh rate
// if the user doesn't have a preference
if (darwinDesiredWidth == 0) {
// change the pixel depth if desired
if (darwinDesiredDepth != -1) {
kr = IOFBGetDisplayModeInformation( fbService,
displayMode,
&modeInfo );
if (kr != KERN_SUCCESS)
return FALSE;
if (modeInfo.maxDepthIndex < darwinDesiredDepth) {
ErrorF("Discarding screen %i:\n", index);
ErrorF("Current screen resolution does not support desired pixel depth.\n");
return FALSE;
}
displayDepth = darwinDesiredDepth;
kr = IOFBSetDisplayModeAndDepth( fbService, displayMode,
displayDepth );
if (kr != KERN_SUCCESS)
return FALSE;
}
// look for display mode with correct resolution and refresh rate
} else {
// get an array of all supported display modes
kr = IOFBGetDisplayModeCount( fbService, &numModes );
if (kr != KERN_SUCCESS)
return FALSE;
assert(allModes = (IODisplayModeID *)
xalloc( numModes * sizeof(IODisplayModeID) ));
kr = IOFBGetDisplayModes( fbService, numModes, allModes );
if (kr != KERN_SUCCESS)
return FALSE;
for (i = 0; i < numModes; i++) {
kr = IOFBGetDisplayModeInformation( fbService, allModes[i],
&modeInfo );
if (kr != KERN_SUCCESS)
return FALSE;
if (modeInfo.flags & kDisplayModeValidFlag &&
modeInfo.nominalWidth == darwinDesiredWidth &&
modeInfo.nominalHeight == darwinDesiredHeight) {
if (darwinDesiredDepth == -1)
darwinDesiredDepth = modeInfo.maxDepthIndex;
if (modeInfo.maxDepthIndex < darwinDesiredDepth) {
ErrorF("Discarding screen %i:\n", index);
ErrorF("Desired screen resolution does not support desired pixel depth.\n");
return FALSE;
}
if ((darwinDesiredRefresh == -1 ||
(darwinDesiredRefresh << 16) == modeInfo.refreshRate)) {
displayMode = allModes[i];
displayDepth = darwinDesiredDepth;
kr = IOFBSetDisplayModeAndDepth(fbService,
displayMode,
displayDepth);
if (kr != KERN_SUCCESS)
return FALSE;
break;
}
}
}
xfree( allModes );
if (i >= numModes) {
ErrorF("Discarding screen %i:\n", index);
ErrorF("Desired screen resolution or refresh rate is not supported.\n");
return FALSE;
}
}
kr = IOFBGetPixelInformation( fbService, displayMode, displayDepth,
kIOFBSystemAperture, &pixelInfo );
if (kr != KERN_SUCCESS)
return FALSE;
#ifdef __i386__
/* x86 in 8bit mode currently needs fixed color map... */
if (pixelInfo.bitsPerComponent == 8 &&
pixelInfo.componentCount == 1)
{
pixelInfo.pixelType = kIOFixedCLUTPixels;
}
#endif
#ifdef OLD_POWERBOOK_G3
if (pixelInfo.pixelType == kIOCLUTPixels)
pixelInfo.pixelType = kIOFixedCLUTPixels;
#endif
kr = IOFBGetFramebufferInformationForAperture( fbService,
kIOFBSystemAperture,
&fbInfo );
if (kr != KERN_SUCCESS)
return FALSE;
// FIXME: 1x1 IOFramebuffers are sometimes used to indicate video
// outputs without a monitor connected to them. Since IOKit Xinerama
// does not really work, this often causes problems on PowerBooks.
// For now we explicitly check and ignore these screens.
if (fbInfo.activeWidth <= 1 || fbInfo.activeHeight <= 1) {
ErrorF("Discarding screen %i:\n", index);
ErrorF("Invalid width or height.\n");
return FALSE;
}
kr = IOConnectMapMemory( fbService, kIOFBCursorMemory,
mach_task_self(), (vm_address_t *) &cshmem,
&shmemSize, kIOMapAnywhere );
if (kr != KERN_SUCCESS)
return FALSE;
iokitScreen->cursorShmem = cshmem;
kr = IOConnectMapMemory( fbService, kIOFBSystemAperture,
mach_task_self(), &vram, &shmemSize,
kIOMapAnywhere );
if (kr != KERN_SUCCESS)
return FALSE;
iokitScreen->framebuffer = (void*)vram;
dfb->x = cshmem->screenBounds.minx;
dfb->y = cshmem->screenBounds.miny;
dfb->width = fbInfo.activeWidth;
dfb->height = fbInfo.activeHeight;
dfb->pitch = fbInfo.bytesPerRow;
dfb->bitsPerPixel = fbInfo.bitsPerPixel;
dfb->colorBitsPerPixel = pixelInfo.componentCount *
pixelInfo.bitsPerComponent;
dfb->bitsPerComponent = pixelInfo.bitsPerComponent;
// allocate shadow framebuffer
iokitScreen->shadowPtr = xalloc(dfb->pitch * dfb->height);
dfb->framebuffer = iokitScreen->shadowPtr;
// Note: Darwin kIORGBDirectPixels = X TrueColor, not DirectColor
if (pixelInfo.pixelType == kIORGBDirectPixels) {
dfb->colorType = TrueColor;
} else if (pixelInfo.pixelType == kIOCLUTPixels) {
dfb->colorType = PseudoColor;
} else if (pixelInfo.pixelType == kIOFixedCLUTPixels) {
dfb->colorType = StaticColor;
}
// Inform the HID system that the framebuffer is also connected to it.
kr = IOConnectAddClient( xfIOKitInputConnect, fbService );
kern_assert( kr );
// We have to have added at least one screen
// before we can enable the cursor.
kr = IOHIDSetCursorEnable(xfIOKitInputConnect, TRUE);
kern_assert( kr );
return TRUE;
}
/*
* DarwinModeAddScreen
* IOKit specific initialization for each screen.
*/
Bool DarwinModeAddScreen(
int index,
ScreenPtr pScreen)
{
DarwinFramebufferPtr dfb = SCREEN_PRIV(pScreen);
XFIOKitScreenPtr iokitScreen;
// allocate space for private per screen storage
iokitScreen = xalloc(sizeof(XFIOKitScreenRec));
XFIOKIT_SCREEN_PRIV(pScreen) = iokitScreen;
// setup hardware framebuffer
iokitScreen->fbService = 0;
if (! SetupFBandHID(index, dfb, iokitScreen)) {
if (iokitScreen->fbService) {
IOServiceClose(iokitScreen->fbService);
}
return FALSE;
}
return TRUE;
}
/*
* XFIOKitShadowUpdate
* Update the damaged regions of the shadow framebuffer on the screen.
*/
static void XFIOKitShadowUpdate(ScreenPtr pScreen,
shadowBufPtr pBuf)
{
DarwinFramebufferPtr dfb = SCREEN_PRIV(pScreen);
XFIOKitScreenPtr iokitScreen = XFIOKIT_SCREEN_PRIV(pScreen);
RegionPtr damage = &pBuf->damage;
int numBox = REGION_NUM_RECTS(damage);
BoxPtr pBox = REGION_RECTS(damage);
int pitch = dfb->pitch;
int bpp = dfb->bitsPerPixel/8;
// Loop through all the damaged boxes
while (numBox--) {
int width, height, offset;
unsigned char *src, *dst;
width = (pBox->x2 - pBox->x1) * bpp;
height = pBox->y2 - pBox->y1;
offset = (pBox->y1 * pitch) + (pBox->x1 * bpp);
src = iokitScreen->shadowPtr + offset;
dst = iokitScreen->framebuffer + offset;
while (height--) {
memcpy(dst, src, width);
dst += pitch;
src += pitch;
}
// Get the next box
pBox++;
}
}
/*
* DarwinModeSetupScreen
* Finalize IOKit specific initialization of each screen.
*/
Bool DarwinModeSetupScreen(
int index,
ScreenPtr pScreen)
{
DarwinFramebufferPtr dfb = SCREEN_PRIV(pScreen);
pthread_t pmThread;
// initalize cursor support
if (! XFIOKitInitCursor(pScreen)) {
return FALSE;
}
// initialize shadow framebuffer support
if (! shadowInit(pScreen, XFIOKitShadowUpdate, NULL)) {
ErrorF("Failed to initalize shadow framebuffer for screen %i.\n",
index);
return FALSE;
}
// initialize colormap handling as needed
if (dfb->colorType == PseudoColor) {
pScreen->StoreColors = XFIOKitStoreColors;
}
// initialize power manager handling
pthread_create( &pmThread, NULL, XFIOKitPMThread,
(void *) pScreen );
return TRUE;
}
/*
* DarwinModeInitOutput
* One-time initialization of IOKit output support.
*/
void DarwinModeInitOutput(
int argc,
char **argv)
{
static unsigned long generation = 0;
kern_return_t kr;
io_iterator_t iter;
io_service_t service;
vm_address_t shmem;
vm_size_t shmemSize;
ErrorF("Display mode: IOKit\n");
// Allocate private storage for each screen's IOKit specific info
if (generation != serverGeneration) {
xfIOKitScreenIndex = AllocateScreenPrivateIndex();
generation = serverGeneration;
}
kr = IOMasterPort(bootstrap_port, &masterPort);
kern_assert( kr );
// Find and open the HID System Service
// Do this now to be sure the Mac OS X window server is not running.
kr = IOServiceGetMatchingServices( masterPort,
IOServiceMatching( kIOHIDSystemClass ),
&iter );
kern_assert( kr );
assert( service = IOIteratorNext( iter ) );
kr = IOServiceOpen( service, mach_task_self(), kIOHIDServerConnectType,
&xfIOKitInputConnect );
if (kr != KERN_SUCCESS) {
ErrorF("Failed to connect to the HID System as the window server!\n");
#ifdef DARWIN_WITH_QUARTZ
FatalError("Quit the Mac OS X window server or use the -quartz option.\n");
#else
FatalError("Make sure you have quit the Mac OS X window server.\n");
#endif
}
IOObjectRelease( service );
IOObjectRelease( iter );
// Setup the event queue in memory shared by the kernel and X server
kr = IOHIDCreateSharedMemory( xfIOKitInputConnect,
kIOHIDCurrentShmemVersion );
kern_assert( kr );
kr = IOConnectMapMemory( xfIOKitInputConnect, kIOHIDGlobalMemory,
mach_task_self(), &shmem, &shmemSize,
kIOMapAnywhere );
kern_assert( kr );
evg = (EvGlobals *)(shmem + ((EvOffsets *)shmem)->evGlobalsOffset);
assert(sizeof(EvGlobals) == evg->structSize);
NotificationPortRef = IONotificationPortCreate( masterPort );
notificationPort = IONotificationPortGetMachPort(NotificationPortRef);
kr = IOConnectSetNotificationPort( xfIOKitInputConnect,
kIOHIDEventNotification,
notificationPort, 0 );
kern_assert( kr );
evg->movedMask |= NX_MOUSEMOVEDMASK;
// find number of framebuffers
kr = IOServiceGetMatchingServices( masterPort,
IOServiceMatching( IOFRAMEBUFFER_CONFORMSTO ),
&fbIter );
kern_assert( kr );
darwinScreensFound = 0;
while ((service = IOIteratorNext(fbIter))) {
IOObjectRelease( service );
darwinScreensFound++;
}
IOIteratorReset(fbIter);
}
/*
* DarwinModeInitInput
* One-time initialization of IOKit input support.
*/
void DarwinModeInitInput(
int argc,
char **argv)
{
kern_return_t kr;
int fd[2];
kr = IOHIDSetEventsEnable(xfIOKitInputConnect, TRUE);
kern_assert( kr );
// Start event passing thread
assert( pipe(fd) == 0 );
darwinEventReadFD = fd[0];
darwinEventWriteFD = fd[1];
fcntl(darwinEventReadFD, F_SETFL, O_NONBLOCK);
pthread_create(&inputThread, NULL,
XFIOKitHIDThread, NULL);
}
/*
* DarwinModeProcessEvent
* Process IOKit specific events.
*/
void DarwinModeProcessEvent(
xEvent *xe)
{
// No mode specific events
ErrorF("Unknown X event caught: %d\n", xe->u.u.type);
}

View File

@ -1,56 +0,0 @@
/*
xfIOKit.h
IOKit specific functions and definitions
*/
/*
* Copyright (c) 2001-2002 Torrey T. Lyons. All Rights Reserved.
*
* 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 or substantial portions of the Software.
*
* 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 ABOVE LISTED COPYRIGHT HOLDER(S) 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 IN THE SOFTWARE.
*
* Except as contained in this notice, the name(s) of the above copyright
* holders shall not be used in advertising or otherwise to promote the sale,
* use or other dealings in this Software without prior written authorization.
*/
#ifndef _XFIOKIT_H
#define _XFIOKIT_H
#include <pthread.h>
#include <IOKit/graphics/IOFramebufferShared.h>
#include <X11/Xproto.h>
#include "screenint.h"
#include "darwin.h"
typedef struct {
io_connect_t fbService;
StdFBShmem_t *cursorShmem;
unsigned char *framebuffer;
unsigned char *shadowPtr;
} XFIOKitScreenRec, *XFIOKitScreenPtr;
#define XFIOKIT_SCREEN_PRIV(pScreen) \
((XFIOKitScreenPtr)pScreen->devPrivates[xfIOKitScreenIndex].ptr)
extern int xfIOKitScreenIndex; // index into pScreen.devPrivates
extern io_connect_t xfIOKitInputConnect;
Bool XFIOKitInitCursor(ScreenPtr pScreen);
#endif /* _XFIOKIT_H */

View File

@ -1,736 +0,0 @@
/**************************************************************
*
* Cursor support for Darwin X Server
*
* Three different cursor modes are possible:
* X (0) - tracking via Darwin kernel,
* display via X machine independent
* Kernel (1) - tracking and display via Darwin kernel
* (not currently supported)
* Hardware (2) - tracking and display via hardware
*
* The X software cursor uses the Darwin software cursor
* routines in IOFramebuffer.cpp to track the cursor, but
* displays the cursor image using the X machine
* independent display cursor routines in midispcur.c.
*
* The kernel cursor uses IOFramebuffer.cpp routines to
* track and display the cursor. This gives better
* performance as the display calls don't have to cross
* the kernel boundary. Unfortunately, this mode has
* synchronization issues with the user land X server
* and isn't currently used.
*
* Hardware cursor support lets the hardware handle these
* details.
*
* Kernel and hardware cursor mode only work for cursors
* up to a certain size, currently 16x16 pixels. If a
* bigger cursor is set, we fallback to X cursor mode.
*
* HISTORY:
* 1.0 by Torrey T. Lyons, October 30, 2000
*
**************************************************************/
/*
* Copyright (c) 2001-2002 Torrey T. Lyons. All Rights Reserved.
*
* 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 or substantial portions of the Software.
*
* 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 ABOVE LISTED COPYRIGHT HOLDER(S) 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 IN THE SOFTWARE.
*
* Except as contained in this notice, the name(s) of the above copyright
* holders shall not be used in advertising or otherwise to promote the sale,
* use or other dealings in this Software without prior written authorization.
*/
#include <dix-config.h>
#include "scrnintstr.h"
#include "cursorstr.h"
#include "mipointrst.h"
#include "micmap.h"
#define NO_CFPLUGIN
#include <IOKit/graphics/IOGraphicsLib.h>
#include <IOKit/hidsystem/IOHIDLib.h>
#include "darwin.h"
#include "xfIOKit.h"
#include <assert.h>
#define DUMP_DARWIN_CURSOR FALSE
#define CURSOR_PRIV(pScreen) \
((XFIOKitCursorScreenPtr)pScreen->devPrivates[darwinCursorScreenIndex].ptr)
// The cursors format are documented in IOFramebufferShared.h.
#define RGBto34WithGamma(red, green, blue) \
( 0x000F \
| (((red) & 0xF) << 12) \
| (((green) & 0xF) << 8) \
| (((blue) & 0xF) << 4) )
#define RGBto38WithGamma(red, green, blue) \
( 0xFF << 24 \
| (((red) & 0xFF) << 16) \
| (((green) & 0xFF) << 8) \
| (((blue) & 0xFF)) )
#define HighBitOf32 0x80000000
typedef struct {
Bool canHWCursor;
short cursorMode;
RecolorCursorProcPtr RecolorCursor;
InstallColormapProcPtr InstallColormap;
QueryBestSizeProcPtr QueryBestSize;
miPointerSpriteFuncPtr spriteFuncs;
ColormapPtr pInstalledMap;
} XFIOKitCursorScreenRec, *XFIOKitCursorScreenPtr;
static int darwinCursorScreenIndex = -1;
static unsigned long darwinCursorGeneration = 0;
/*
===========================================================================
Pointer sprite functions
===========================================================================
*/
/*
Realizing the Darwin hardware cursor (ie. converting from the
X representation to the IOKit representation) is complicated
by the fact that we have three different potential cursor
formats to go to, one for each bit depth (8, 15, or 24).
The IOKit formats are documented in IOFramebufferShared.h.
X cursors are represented as two pieces, a source and a mask.
The mask is a bitmap indicating which parts of the cursor are
transparent and which parts are drawn. The source is a bitmap
indicating which parts of the non-transparent portion of the the
cursor should be painted in the foreground color and which should
be painted in the background color. The bitmaps are given in
32-bit format with least significant byte and bit first.
(This is opposite PowerPC Darwin.)
*/
typedef struct {
unsigned char image[CURSORWIDTH*CURSORHEIGHT];
unsigned char mask[CURSORWIDTH*CURSORHEIGHT];
} cursorPrivRec, *cursorPrivPtr;
/*
* XFIOKitRealizeCursor8
* Convert the X cursor representation to an 8-bit depth
* format for Darwin. This function assumes the maximum cursor
* width is a multiple of 8.
*/
static Bool
XFIOKitRealizeCursor8(
ScreenPtr pScreen,
CursorPtr pCursor)
{
cursorPrivPtr newCursor;
unsigned char *newSourceP, *newMaskP;
CARD32 *oldSourceP, *oldMaskP;
xColorItem fgColor, bgColor;
int index, x, y, rowPad;
int cursorWidth, cursorHeight;
ColormapPtr pmap;
// check cursor size just to be sure
cursorWidth = pCursor->bits->width;
cursorHeight = pCursor->bits->height;
if (cursorHeight > CURSORHEIGHT || cursorWidth > CURSORWIDTH)
return FALSE;
// get cursor colors in colormap
index = pScreen->myNum;
pmap = miInstalledMaps[index];
if (!pmap) return FALSE;
fgColor.red = pCursor->foreRed;
fgColor.green = pCursor->foreGreen;
fgColor.blue = pCursor->foreBlue;
FakeAllocColor(pmap, &fgColor);
bgColor.red = pCursor->backRed;
bgColor.green = pCursor->backGreen;
bgColor.blue = pCursor->backBlue;
FakeAllocColor(pmap, &bgColor);
FakeFreeColor(pmap, fgColor.pixel);
FakeFreeColor(pmap, bgColor.pixel);
// allocate memory for new cursor image
newCursor = xalloc( sizeof(cursorPrivRec) );
if (!newCursor)
return FALSE;
memset( newCursor->image, pScreen->blackPixel, CURSORWIDTH*CURSORHEIGHT );
memset( newCursor->mask, 0, CURSORWIDTH*CURSORHEIGHT );
// convert to 8-bit Darwin cursor format
oldSourceP = (CARD32 *) pCursor->bits->source;
oldMaskP = (CARD32 *) pCursor->bits->mask;
newSourceP = newCursor->image;
newMaskP = newCursor->mask;
rowPad = CURSORWIDTH - cursorWidth;
for (y = 0; y < cursorHeight; y++) {
for (x = 0; x < cursorWidth; x++) {
if (*oldSourceP & (HighBitOf32 >> x))
*newSourceP = fgColor.pixel;
else
*newSourceP = bgColor.pixel;
if (*oldMaskP & (HighBitOf32 >> x))
*newMaskP = 255;
else
*newSourceP = pScreen->blackPixel;
newSourceP++; newMaskP++;
}
oldSourceP++; oldMaskP++;
newSourceP += rowPad; newMaskP += rowPad;
}
// save the result
pCursor->devPriv[pScreen->myNum] = (pointer) newCursor;
return TRUE;
}
/*
* XFIOKitRealizeCursor15
* Convert the X cursor representation to an 15-bit depth
* format for Darwin.
*/
static Bool
XFIOKitRealizeCursor15(
ScreenPtr pScreen,
CursorPtr pCursor)
{
unsigned short *newCursor;
unsigned short fgPixel, bgPixel;
unsigned short *newSourceP;
CARD32 *oldSourceP, *oldMaskP;
int x, y, rowPad;
int cursorWidth, cursorHeight;
// check cursor size just to be sure
cursorWidth = pCursor->bits->width;
cursorHeight = pCursor->bits->height;
if (cursorHeight > CURSORHEIGHT || cursorWidth > CURSORWIDTH)
return FALSE;
// allocate memory for new cursor image
newCursor = xalloc( CURSORWIDTH*CURSORHEIGHT*sizeof(short) );
if (!newCursor)
return FALSE;
memset( newCursor, 0, CURSORWIDTH*CURSORHEIGHT*sizeof(short) );
// calculate pixel values
fgPixel = RGBto34WithGamma( pCursor->foreRed, pCursor->foreGreen,
pCursor->foreBlue );
bgPixel = RGBto34WithGamma( pCursor->backRed, pCursor->backGreen,
pCursor->backBlue );
// convert to 15-bit Darwin cursor format
oldSourceP = (CARD32 *) pCursor->bits->source;
oldMaskP = (CARD32 *) pCursor->bits->mask;
newSourceP = newCursor;
rowPad = CURSORWIDTH - cursorWidth;
for (y = 0; y < cursorHeight; y++) {
for (x = 0; x < cursorWidth; x++) {
if (*oldMaskP & (HighBitOf32 >> x)) {
if (*oldSourceP & (HighBitOf32 >> x))
*newSourceP = fgPixel;
else
*newSourceP = bgPixel;
} else {
*newSourceP = 0;
}
newSourceP++;
}
oldSourceP++; oldMaskP++;
newSourceP += rowPad;
}
#if DUMP_DARWIN_CURSOR
// Write out the cursor
ErrorF("Cursor: 0x%x\n", pCursor);
ErrorF("Width = %i, Height = %i, RowPad = %i\n", cursorWidth,
cursorHeight, rowPad);
for (y = 0; y < cursorHeight; y++) {
newSourceP = newCursor + y*CURSORWIDTH;
for (x = 0; x < cursorWidth; x++) {
if (*newSourceP == fgPixel)
ErrorF("x");
else if (*newSourceP == bgPixel)
ErrorF("o");
else
ErrorF(" ");
newSourceP++;
}
ErrorF("\n");
}
#endif
// save the result
pCursor->devPriv[pScreen->myNum] = (pointer) newCursor;
return TRUE;
}
/*
* XFIOKitRealizeCursor24
* Convert the X cursor representation to an 24-bit depth
* format for Darwin. This function assumes the maximum cursor
* width is a multiple of 8.
*/
static Bool
XFIOKitRealizeCursor24(
ScreenPtr pScreen,
CursorPtr pCursor)
{
unsigned int *newCursor;
unsigned int fgPixel, bgPixel;
unsigned int *newSourceP;
CARD32 *oldSourceP, *oldMaskP;
int x, y, rowPad;
int cursorWidth, cursorHeight;
// check cursor size just to be sure
cursorWidth = pCursor->bits->width;
cursorHeight = pCursor->bits->height;
if (cursorHeight > CURSORHEIGHT || cursorWidth > CURSORWIDTH)
return FALSE;
// allocate memory for new cursor image
newCursor = xalloc( CURSORWIDTH*CURSORHEIGHT*sizeof(int) );
if (!newCursor)
return FALSE;
memset( newCursor, 0, CURSORWIDTH*CURSORHEIGHT*sizeof(int) );
// calculate pixel values
fgPixel = RGBto38WithGamma( pCursor->foreRed, pCursor->foreGreen,
pCursor->foreBlue );
bgPixel = RGBto38WithGamma( pCursor->backRed, pCursor->backGreen,
pCursor->backBlue );
// convert to 24-bit Darwin cursor format
oldSourceP = (CARD32 *) pCursor->bits->source;
oldMaskP = (CARD32 *) pCursor->bits->mask;
newSourceP = newCursor;
rowPad = CURSORWIDTH - cursorWidth;
for (y = 0; y < cursorHeight; y++) {
for (x = 0; x < cursorWidth; x++) {
if (*oldMaskP & (HighBitOf32 >> x)) {
if (*oldSourceP & (HighBitOf32 >> x))
*newSourceP = fgPixel;
else
*newSourceP = bgPixel;
} else {
*newSourceP = 0;
}
newSourceP++;
}
oldSourceP++; oldMaskP++;
newSourceP += rowPad;
}
#if DUMP_DARWIN_CURSOR
// Write out the cursor
ErrorF("Cursor: 0x%x\n", pCursor);
ErrorF("Width = %i, Height = %i, RowPad = %i\n", cursorWidth,
cursorHeight, rowPad);
for (y = 0; y < cursorHeight; y++) {
newSourceP = newCursor + y*CURSORWIDTH;
for (x = 0; x < cursorWidth; x++) {
if (*newSourceP == fgPixel)
ErrorF("x");
else if (*newSourceP == bgPixel)
ErrorF("o");
else
ErrorF(" ");
newSourceP++;
}
ErrorF("\n");
}
#endif
// save the result
pCursor->devPriv[pScreen->myNum] = (pointer) newCursor;
return TRUE;
}
/*
* XFIOKitRealizeCursor
*
*/
static Bool
XFIOKitRealizeCursor(
ScreenPtr pScreen,
CursorPtr pCursor)
{
Bool result;
XFIOKitCursorScreenPtr ScreenPriv = CURSOR_PRIV(pScreen);
DarwinFramebufferPtr dfb = SCREEN_PRIV(pScreen);
if ((pCursor->bits->height > CURSORHEIGHT) ||
(pCursor->bits->width > CURSORWIDTH) ||
// FIXME: this condition is not needed after kernel cursor works
!ScreenPriv->canHWCursor) {
result = (*ScreenPriv->spriteFuncs->RealizeCursor)(pScreen, pCursor);
} else if (dfb->bitsPerPixel == 8) {
result = XFIOKitRealizeCursor8(pScreen, pCursor);
} else if (dfb->bitsPerPixel == 16) {
result = XFIOKitRealizeCursor15(pScreen, pCursor);
} else {
result = XFIOKitRealizeCursor24(pScreen, pCursor);
}
return result;
}
/*
* XFIOKitUnrealizeCursor
*
*/
static Bool
XFIOKitUnrealizeCursor(
ScreenPtr pScreen,
CursorPtr pCursor)
{
Bool result;
XFIOKitCursorScreenPtr ScreenPriv = CURSOR_PRIV(pScreen);
if ((pCursor->bits->height > CURSORHEIGHT) ||
(pCursor->bits->width > CURSORWIDTH) ||
// FIXME: this condition is not needed after kernel cursor works
!ScreenPriv->canHWCursor) {
result = (*ScreenPriv->spriteFuncs->UnrealizeCursor)(pScreen, pCursor);
} else {
xfree( pCursor->devPriv[pScreen->myNum] );
result = TRUE;
}
return result;
}
/*
* XFIOKitSetCursor
* Set the cursor sprite and position
* Use hardware cursor if possible
*/
static void
XFIOKitSetCursor(
ScreenPtr pScreen,
CursorPtr pCursor,
int x,
int y)
{
kern_return_t kr;
DarwinFramebufferPtr dfb = SCREEN_PRIV(pScreen);
XFIOKitScreenPtr iokitScreen = XFIOKIT_SCREEN_PRIV(pScreen);
StdFBShmem_t *cshmem = iokitScreen->cursorShmem;
XFIOKitCursorScreenPtr ScreenPriv = CURSOR_PRIV(pScreen);
// are we supposed to remove the cursor?
if (!pCursor) {
if (ScreenPriv->cursorMode == 0)
(*ScreenPriv->spriteFuncs->SetCursor)(pScreen, 0, x, y);
else {
if (!cshmem->cursorShow) {
cshmem->cursorShow++;
if (cshmem->hardwareCursorActive) {
kr = IOFBSetCursorVisible(iokitScreen->fbService, FALSE);
kern_assert( kr );
}
}
}
return;
}
// can we use the kernel or hardware cursor?
if ((pCursor->bits->height <= CURSORHEIGHT) &&
(pCursor->bits->width <= CURSORWIDTH) &&
// FIXME: condition not needed when kernel cursor works
ScreenPriv->canHWCursor) {
if (ScreenPriv->cursorMode == 0) // remove the X cursor
(*ScreenPriv->spriteFuncs->SetCursor)(pScreen, 0, x, y);
ScreenPriv->cursorMode = 1; // kernel cursor
// change the cursor image in shared memory
if (dfb->bitsPerPixel == 8) {
cursorPrivPtr newCursor =
(cursorPrivPtr) pCursor->devPriv[pScreen->myNum];
memcpy(cshmem->cursor.bw8.image[0], newCursor->image,
CURSORWIDTH*CURSORHEIGHT);
memcpy(cshmem->cursor.bw8.mask[0], newCursor->mask,
CURSORWIDTH*CURSORHEIGHT);
} else if (dfb->bitsPerPixel == 16) {
unsigned short *newCursor =
(unsigned short *) pCursor->devPriv[pScreen->myNum];
memcpy(cshmem->cursor.rgb.image[0], newCursor,
2*CURSORWIDTH*CURSORHEIGHT);
} else {
unsigned int *newCursor =
(unsigned int *) pCursor->devPriv[pScreen->myNum];
memcpy(cshmem->cursor.rgb24.image[0], newCursor,
4*CURSORWIDTH*CURSORHEIGHT);
}
// FIXME: We always use a full size cursor, even if the image
// is smaller because I couldn't get the padding to come out
// right otherwise.
cshmem->cursorSize[0].width = CURSORWIDTH;
cshmem->cursorSize[0].height = CURSORHEIGHT;
cshmem->hotSpot[0].x = pCursor->bits->xhot;
cshmem->hotSpot[0].y = pCursor->bits->yhot;
// try to use a hardware cursor
if (ScreenPriv->canHWCursor) {
kr = IOFBSetNewCursor(iokitScreen->fbService, 0, 0, 0);
// FIXME: this is a fatal error without the kernel cursor
kern_assert( kr );
#if 0
if (kr != KERN_SUCCESS) {
ErrorF("Could not set new cursor with kernel return 0x%x.\n", kr);
ScreenPriv->canHWCursor = FALSE;
}
#endif
}
// make the new cursor visible
if (cshmem->cursorShow)
cshmem->cursorShow--;
if (!cshmem->cursorShow && ScreenPriv->canHWCursor) {
kr = IOFBSetCursorVisible(iokitScreen->fbService, TRUE);
// FIXME: this is a fatal error without the kernel cursor
kern_assert( kr );
#if 0
if (kr != KERN_SUCCESS) {
ErrorF("Couldn't set hardware cursor visible with kernel return 0x%x.\n", kr);
ScreenPriv->canHWCursor = FALSE;
} else
#endif
ScreenPriv->cursorMode = 2; // hardware cursor
}
return;
}
// otherwise we use a software cursor
if (ScreenPriv->cursorMode) {
/* remove the kernel or hardware cursor */
XFIOKitSetCursor(pScreen, 0, x, y);
}
ScreenPriv->cursorMode = 0;
(*ScreenPriv->spriteFuncs->SetCursor)(pScreen, pCursor, x, y);
}
/*
* XFIOKitMoveCursor
* Move the cursor. This is a noop for a kernel or hardware cursor.
*/
static void
XFIOKitMoveCursor(
ScreenPtr pScreen,
int x,
int y)
{
XFIOKitCursorScreenPtr ScreenPriv = CURSOR_PRIV(pScreen);
// only the X cursor needs to be explicitly moved
if (!ScreenPriv->cursorMode)
(*ScreenPriv->spriteFuncs->MoveCursor)(pScreen, x, y);
}
static miPointerSpriteFuncRec darwinSpriteFuncsRec = {
XFIOKitRealizeCursor,
XFIOKitUnrealizeCursor,
XFIOKitSetCursor,
XFIOKitMoveCursor
};
/*
===========================================================================
Pointer screen functions
===========================================================================
*/
/*
* XFIOKitCursorOffScreen
*/
static Bool XFIOKitCursorOffScreen(ScreenPtr *pScreen, int *x, int *y)
{ return FALSE;
}
/*
* XFIOKitCrossScreen
*/
static void XFIOKitCrossScreen(ScreenPtr pScreen, Bool entering)
{ return;
}
/*
* XFIOKitWarpCursor
* Change the cursor position without generating an event or motion history
*/
static void
XFIOKitWarpCursor(
ScreenPtr pScreen,
int x,
int y)
{
kern_return_t kr;
kr = IOHIDSetMouseLocation( xfIOKitInputConnect, x, y );
if (kr != KERN_SUCCESS) {
ErrorF("Could not set cursor position with kernel return 0x%x.\n", kr);
}
miPointerWarpCursor(pScreen, x, y);
}
static miPointerScreenFuncRec darwinScreenFuncsRec = {
XFIOKitCursorOffScreen,
XFIOKitCrossScreen,
XFIOKitWarpCursor,
DarwinEQPointerPost,
DarwinEQSwitchScreen
};
/*
===========================================================================
Other screen functions
===========================================================================
*/
/*
* XFIOKitCursorQueryBestSize
* Handle queries for best cursor size
*/
static void
XFIOKitCursorQueryBestSize(
int class,
unsigned short *width,
unsigned short *height,
ScreenPtr pScreen)
{
XFIOKitCursorScreenPtr ScreenPriv = CURSOR_PRIV(pScreen);
if (class == CursorShape) {
*width = CURSORWIDTH;
*height = CURSORHEIGHT;
} else
(*ScreenPriv->QueryBestSize)(class, width, height, pScreen);
}
/*
* XFIOKitInitCursor
* Initialize cursor support
*/
Bool
XFIOKitInitCursor(
ScreenPtr pScreen)
{
XFIOKitScreenPtr iokitScreen = XFIOKIT_SCREEN_PRIV(pScreen);
XFIOKitCursorScreenPtr ScreenPriv;
miPointerScreenPtr PointPriv;
kern_return_t kr;
// start with no cursor displayed
if (!iokitScreen->cursorShmem->cursorShow++) {
if (iokitScreen->cursorShmem->hardwareCursorActive) {
kr = IOFBSetCursorVisible(iokitScreen->fbService, FALSE);
kern_assert( kr );
}
}
// initialize software cursor handling (always needed as backup)
if (!miDCInitialize(pScreen, &darwinScreenFuncsRec)) {
return FALSE;
}
// allocate private storage for this screen's hardware cursor info
if (darwinCursorGeneration != serverGeneration) {
if ((darwinCursorScreenIndex = AllocateScreenPrivateIndex()) < 0)
return FALSE;
darwinCursorGeneration = serverGeneration;
}
ScreenPriv = xcalloc( 1, sizeof(XFIOKitCursorScreenRec) );
if (!ScreenPriv) return FALSE;
pScreen->devPrivates[darwinCursorScreenIndex].ptr = (pointer) ScreenPriv;
// check if a hardware cursor is supported
if (!iokitScreen->cursorShmem->hardwareCursorCapable) {
ScreenPriv->canHWCursor = FALSE;
ErrorF("Hardware cursor not supported.\n");
} else {
// we need to make sure that the hardware cursor really works
ScreenPriv->canHWCursor = TRUE;
kr = IOFBSetNewCursor(iokitScreen->fbService, 0, 0, 0);
if (kr != KERN_SUCCESS) {
ErrorF("Could not set hardware cursor with kernel return 0x%x.\n", kr);
ScreenPriv->canHWCursor = FALSE;
}
kr = IOFBSetCursorVisible(iokitScreen->fbService, TRUE);
if (kr != KERN_SUCCESS) {
ErrorF("Couldn't set hardware cursor visible with kernel return 0x%x.\n", kr);
ScreenPriv->canHWCursor = FALSE;
}
IOFBSetCursorVisible(iokitScreen->fbService, FALSE);
}
ScreenPriv->cursorMode = 0;
ScreenPriv->pInstalledMap = NULL;
// override some screen procedures
ScreenPriv->QueryBestSize = pScreen->QueryBestSize;
pScreen->QueryBestSize = XFIOKitCursorQueryBestSize;
// ScreenPriv->ConstrainCursor = pScreen->ConstrainCursor;
// pScreen->ConstrainCursor = XFIOKitConstrainCursor;
// initialize hardware cursor handling
PointPriv = (miPointerScreenPtr)
pScreen->devPrivates[miPointerScreenIndex].ptr;
ScreenPriv->spriteFuncs = PointPriv->spriteFuncs;
PointPriv->spriteFuncs = &darwinSpriteFuncsRec;
/* Other routines that might be overridden */
/*
CursorLimitsProcPtr CursorLimits;
RecolorCursorProcPtr RecolorCursor;
*/
return TRUE;
}

View File

@ -1,131 +0,0 @@
/**************************************************************
*
* Startup code for the IOKit Darwin X Server
*
**************************************************************/
/*
* Copyright (c) 2001-2004 Torrey T. Lyons. All Rights Reserved.
*
* 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 or substantial portions of the Software.
*
* 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 ABOVE LISTED COPYRIGHT HOLDER(S) 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 IN THE SOFTWARE.
*
* Except as contained in this notice, the name(s) of the above copyright
* holders shall not be used in advertising or otherwise to promote the sale,
* use or other dealings in this Software without prior written authorization.
*/
#include <dix-config.h>
#include "darwin.h"
#include "darwinKeyboard.h"
#include "micmap.h"
void GlxExtensionInit(void);
void GlxWrapInitVisuals(miInitVisualsProcPtr *procPtr);
/*
* DarwinHandleGUI
* This function is called first from main().
* It does nothing for the IOKit X server.
*/
void DarwinHandleGUI(
int argc,
char *argv[],
char *envp[] )
{
}
/*
* DarwinGlxExtensionInit
* Initialize the GLX extension.
* Mesa is linked into the IOKit mode X server so we just call directly.
*/
void DarwinGlxExtensionInit(void)
{
#ifdef GLXEXT
GlxExtensionInit();
#endif
}
/*
* DarwinGlxWrapInitVisuals
*/
void DarwinGlxWrapInitVisuals(
miInitVisualsProcPtr *procPtr)
{
#ifdef GLXEXT
GlxWrapInitVisuals(procPtr);
#endif
}
/*
* DarwinModeProcessArgument
* Process IOKit specific command line arguments.
*/
int DarwinModeProcessArgument(
int argc,
char *argv[],
int i)
{
#ifdef DARWIN_WITH_QUARTZ
// XDarwinStartup uses these arguments to indicate which X server
// should be started. Ignore them here.
if (!strcmp( argv[i], "-fullscreen" ) ||
!strcmp( argv[i], "-rootless" ) ||
!strcmp( argv[i], "-quartz" ))
{
return 1;
}
#else
if (!strcmp( argv[i], "-fullscreen" ) ||
!strcmp( argv[i], "-rootless" ) ||
!strcmp( argv[i], "-quartz" ))
{
FatalError("Command line option %s is not available without Quartz "
"support.\n", argv[i]);
}
#endif
return 0;
}
/*
* DarwinModeSystemKeymapSeed
* Changes to NXKeyMapping are not tracked.
*/
unsigned int
DarwinModeSystemKeymapSeed(void)
{
return 0;
}
/*
* DarwinModeReadSystemKeymap
* IOKit has no alternative to NXKeyMapping API.
*/
Bool DarwinModeReadSystemKeymap(
darwinKeyboardInfo *info)
{
return FALSE;
}

View File

@ -1,54 +1,36 @@
noinst_LIBRARIES = libXQuartz.a
AM_CFLAGS = @XORG_CFLAGS@ @DIX_CFLAGS@
AM_OBJCFLAGS = @XORG_CFLAGS@ @DIX_CFLAGS@
AM_CFLAGS = $(XORG_CFLAGS) $(DIX_CFLAGS)
AM_OBJCFLAGS = $(XORG_CFLAGS) $(DIX_CFLAGS)
AM_CPPFLAGS = $(XORG_INCS) \
-DHAS_KL_API \
-I$(srcdir) -I$(srcdir)/.. \
-I$(top_srcdir)/miext/rootless
INCLUDES = -I$(srcdir) -I$(srcdir)/.. @XORG_INCS@
AM_DEFS = -DHAS_CG_MACH_PORT -DHAS_KL_API
if HAVE_XPLUGIN
AM_DEFS += -DBUILD_XPR
endif
DEFS = @DEFS@ $(AM_DEFS) -DXBINDIR=\"${bindir}\"
SUBDIRS = xpr
libXQuartz_a_SOURCES = \
Preferences.m \
XApplication.m \
XServer.m \
applewm.c \
keysym2ucs.c \
quartz.c \
quartzAudio.c \
quartzCocoa.m \
quartzPasteboard.c \
quartzKeyboard.c \
quartzStartup.c \
pseudoramiX.c
bin_PROGRAMS = XDarwinStartup
XDarwinStartup_SOURCES = XDarwinStartup.c
XDarwinStartup_LDFLAGS = -Wl,-framework,CoreFoundation \
-Wl,-framework,ApplicationServices
XDarwinStartupCFLAGS = -DXBINDIR="${bindir}"
XDARWINROOT = @APPLE_APPLICATIONS_DIR@
BINDIR = $(bindir)
install-exec-local:
-(cd $(DESTDIR)$(BINDIR); rm X; $(LN_S) XDarwinStartup X)
man1_MANS = XDarwinStartup.man
X11Application.m \
X11Controller.m \
applewm.c \
keysym2ucs.c \
pseudoramiX.c \
quartz.c \
quartzAudio.c \
quartzCocoa.m \
quartzKeyboard.c \
quartzPasteboard.c \
quartzStartup.c
EXTRA_DIST = \
X11Application.h \
X11Controller.h \
applewmExt.h \
keysym2ucs.h \
Preferences.h \
pseudoramiX.h \
quartzAudio.h \
quartzCommon.h \
quartzCursor.c \
quartzCursor.h \
quartz.h \
quartzPasteboard.h \
XApplication.h \
XDarwin.pbproj/project.pbxproj \
XServer.h \
XDarwinStartup.man
quartzPasteboard.h

View File

@ -45,6 +45,10 @@
#include <unistd.h>
#include <pthread.h>
#include "rootlessCommon.h"
WindowPtr xprGetXWindowFromAppKit(int windowNumber); // xpr/xprFrame.c
#define DEFAULTS_FILE "/usr/X11/lib/X11/xserver/Xquartz.plist"
int X11EnableKeyEquivalents = TRUE;
@ -514,7 +518,7 @@ static NSMutableArray * cfarray_to_nsarray (CFArrayRef in) {
else if (CFGetTypeID (value) == CFBooleanGetTypeID ())
ret = CFBooleanGetValue (value);
else if (CFGetTypeID (value) == CFStringGetTypeID ()) {
const char *tem = [(NSString *) value lossyCString];
const char *tem = [(NSString *) value UTF8String];
if (strcasecmp (tem, "true") == 0 || strcasecmp (tem, "yes") == 0)
ret = YES;
else

View File

@ -1,46 +0,0 @@
//
// XApplication.h
//
// Created by Andreas Monitzer on January 6, 2001.
//
/*
* Copyright (c) 2001 Andreas Monitzer. All Rights Reserved.
*
* 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 or substantial portions of the Software.
*
* 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 ABOVE LISTED COPYRIGHT HOLDER(S) 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 IN THE SOFTWARE.
*
* Except as contained in this notice, the name(s) of the above copyright
* holders shall not be used in advertising or otherwise to promote the
* sale, use or other dealings in this Software without prior written
* authorization.
*/
#import <Cocoa/Cocoa.h>
#import "XServer.h"
#import "Preferences.h"
@interface XApplication : NSApplication {
IBOutlet XServer *xserver;
IBOutlet Preferences *preferences;
}
- (void)sendEvent:(NSEvent *)anEvent;
@end

View File

@ -1,46 +0,0 @@
//
// XApplication.m
//
// Created by Andreas Monitzer on January 6, 2001.
/*
* Copyright (c) 2001 Andreas Monitzer. All Rights Reserved.
*
* 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 or substantial portions of the Software.
*
* 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 ABOVE LISTED COPYRIGHT HOLDER(S) 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 IN THE SOFTWARE.
*
* Except as contained in this notice, the name(s) of the above copyright
* holders shall not be used in advertising or otherwise to promote the
* sale, use or other dealings in this Software without prior written
* authorization.
*/
#import "XApplication.h"
@implementation XApplication
- (void)sendEvent:(NSEvent *)anEvent {
if (![xserver translateEvent:anEvent]) {
if (![preferences sendEvent:anEvent])
[super sendEvent:anEvent];
}
}
@end

File diff suppressed because it is too large Load Diff

View File

@ -1,163 +0,0 @@
/**************************************************************
*
* Startup program for Darwin X servers
*
* This program selects the appropriate X server to launch:
* XDarwin IOKit X server (default)
* XDarwinQuartz A soft link to the Quartz X server
* executable (-quartz etc. option)
*
* If told to idle, the program will simply pause and not
* launch any X server. This is to support startx being
* run by XDarwin.app.
*
**************************************************************/
/*
* Copyright (c) 2001-2002 Torrey T. Lyons. All Rights Reserved.
*
* 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 or substantial portions of the Software.
*
* 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
* TORREY T. LYONS 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 IN THE
* SOFTWARE.
*
* Except as contained in this notice, the name of Torrey T. Lyons shall not
* be used in advertising or otherwise to promote the sale, use or other
* dealings in this Software without prior written authorization from
* Torrey T. Lyons.
*/
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <sys/syslimits.h>
#include <ApplicationServices/ApplicationServices.h>
// Macros to build the path name
#ifndef XBINDIR
#define XBINDIR /usr/X11/bin
#endif
#define STR(s) #s
#define XSTRPATH(s) STR(s) "/"
#define XPATH(file) XSTRPATH(XBINDIR) STR(file)
int main(
int argc,
char *argv[] )
{
int i, j, quartzMode = -1;
char **newargv;
// Check if we are going to run in Quartz mode or idle
// to support startx from the Quartz server. The last
// parameter in the list is the one used.
for (i = argc-1; i; i--) {
if (!strcmp(argv[i], "-idle")) {
pause();
return 0;
} else if (!strcmp(argv[i], "-quartz") ||
!strcmp(argv[i], "-rootless") ||
!strcmp(argv[i], "-fullscreen"))
{
quartzMode = 1;
break;
} else if (!strcmp(argv[i], "-iokit")) {
quartzMode = 0;
break;
}
}
if (quartzMode == -1) {
#ifdef HAS_CG_MACH_PORT
// Check if the CoreGraphics window server is running.
// Mike Paquette says this is the fastest way to determine if it is running.
CFMachPortRef cgMachPortRef = CGWindowServerCFMachPort();
if (cgMachPortRef == NULL)
quartzMode = 0;
else
quartzMode = 1;
#else
// On older systems we assume IOKit mode.
quartzMode = 0;
#endif
}
if (quartzMode) {
// Launch the X server for the quartz modes
char quartzPath[PATH_MAX+1];
int pathLength;
OSStatus theStatus;
CFURLRef appURL;
CFStringRef appPath;
Boolean success;
// Build the new argument list
newargv = (char **) malloc((argc+2) * sizeof(char *));
for (j = argc; j; j--)
newargv[j] = argv[j];
newargv[argc] = "-nostartx";
newargv[argc+1] = NULL;
// Use the XDarwinQuartz soft link if it is valid
pathLength = readlink(XPATH(XDarwinQuartz), quartzPath, PATH_MAX);
if (pathLength != -1) {
quartzPath[pathLength] = '\0';
newargv[0] = quartzPath;
execv(newargv[0], newargv);
}
// Otherwise query LaunchServices for the location of the XDarwin application
theStatus = LSFindApplicationForInfo(kLSUnknownCreator,
CFSTR("org.x.x11"),
NULL, NULL, &appURL);
if (theStatus) {
fprintf(stderr, "Could not find the XDarwin application. (Error = 0x%lx)\n", theStatus);
fprintf(stderr, "Launch XDarwin once from the Finder.\n");
return theStatus;
}
appPath = CFURLCopyFileSystemPath (appURL, kCFURLPOSIXPathStyle);
success = CFStringGetCString(appPath, quartzPath, PATH_MAX, CFStringGetSystemEncoding());
if (! success) {
fprintf(stderr, "Could not find path to XDarwin application.\n");
return success;
}
// Launch the XDarwin application
strncat(quartzPath, "/Contents/MacOS/XDarwin", PATH_MAX);
newargv[0] = quartzPath;
execv(newargv[0], newargv);
fprintf(stderr, "Could not start XDarwin application at %s.\n", newargv[0]);
return errno;
} else {
// Build the new argument list
newargv = (char **) malloc((argc+1) * sizeof(char *));
for (j = argc; j; j--)
newargv[j] = argv[j];
newargv[0] = "XDarwin";
newargv[argc] = NULL;
// Launch the IOKit X server
execvp(newargv[0], newargv);
fprintf(stderr, "Could not start XDarwin IOKit X server.\n");
return errno;
}
}

View File

@ -1,74 +0,0 @@
.TH XDarwinStartup 1
.SH NAME
XDarwinStartup - Startup program for the XDarwin X window server
.SH SYNOPSIS
.B XDarwinStartup
[\fI-iokit\fP]
[\fI-fullscreen\fP]
[\fI-rootless\fP]
[\fI-quartz\fP]
[\fI-idle\fP]
[\fIoptions\fP]
.SH DESCRIPTION
The \fIXDarwin(1)\fP X window server can be run in a variety of different
modes and is actually two different executables. The IOKit X server,
XDarwin, is used when running from the console. It is most commonly
located in __XBinDir__. The Quartz X server, for running in parallel with
Aqua, is a full-fledged Mac OS X application that can be started from
the Finder. Its application bundle is XDarwin.app, which is typically
located in /Applications.
.I XDarwinStartup
allows easy switching between these X servers and auto-detection of the
appropriate one to use when launching from the command line.
When run without any arguments,
.I XDarwinStartup
will start the Quartz X server if the Core Graphics window server
is currently running. Otherwise it will start the IOKit X server.
.PP
To locate the Quartz X server,
.I XDarwinStartup
will try to read the soft link at __XBinDir__/XDarwinQuartz.
This is typically a soft link to the executable of the XDarwin.app
application. If this fails,
.I XDarwinStartup
will call Launch Services to locate XDarwin.app.
.PP
To start the IOKit X server,
.I XDarwinStartup
will run the XDarwin executable, which should be present in the
user's path.
.SH OPTIONS
.I XDarwinStartup
accepts and passes on all options to the X server it
launches. In addition the following options have specific effects:
.TP 8
.B \-iokit
Launch the IOKit X server.
.TP 8
.B \-fullscreen
Launch the Quartz X server to run in full screen mode.
.TP 8
.B \-rootless
Launch the Quartz X server to run in rootless mode.
.TP 8
.B \-quartz
Launch the Quartz X server.
.TP 8
.B \-idle
Pause and do nothing. This option is used by XDarwin.app when it is
started from the Finder.
.SH FILES
.TP 30
__XBinDir__/XDarwin
IOKit mode X server
.TP 30
/Applications/XDarwin.app
Quartz mode X server
.TP 30
__XBinDir__/XDarwinQuartz
Soft link to Quartz mode X server executable
.SH SEE ALSO
XDarwin(1)
.SH BUGS
The path to XDarwinQuartz should not be hard coded.

View File

@ -1,136 +0,0 @@
//
// XServer.h
//
/*
* Copyright (c) 2001 Andreas Monitzer. All Rights Reserved.
* Copyright (c) 2002-2003 Torrey T. Lyons. All Rights Reserved.
*
* 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 or substantial portions of the Software.
*
* 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 ABOVE LISTED COPYRIGHT HOLDER(S) 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 IN THE SOFTWARE.
*
* Except as contained in this notice, the name(s) of the above copyright
* holders shall not be used in advertising or otherwise to promote the
* sale, use or other dealings in this Software without prior written
* authorization.
*/
#define BOOL xBOOL
#include <X11/Xproto.h>
#undef BOOL
#import <Cocoa/Cocoa.h>
@interface XServer : NSObject {
// Server state
int serverState;
NSRecursiveLock *serverLock;
NSMutableArray *pendingClients;
BOOL serverVisible;
BOOL rootlessMenuBarVisible;
BOOL queueShowServer;
BOOL quitWithoutQuery;
BOOL pendingAppQuitReply;
UInt32 mouseState;
unsigned short swallowedKey;
BOOL sendServerEvents;
BOOL x11Active;
// Aqua interface
IBOutlet NSWindow *modeWindow;
IBOutlet NSButton *startupModeButton;
IBOutlet NSButton *startFullScreenButton;
IBOutlet NSButton *startRootlessButton;
IBOutlet NSWindow *helpWindow;
IBOutlet NSButton *startupHelpButton;
IBOutlet NSPanel *switchWindow;
// Menu elements setable by Apple-WM extension
IBOutlet NSMenu *windowMenu;
IBOutlet NSMenuItem *windowSeparator;
IBOutlet NSMenu *dockMenu;
int checkedWindowItem;
}
- (id)init;
- (BOOL)translateEvent:(NSEvent *)anEvent;
- (BOOL)getMousePosition:(xEvent *)xe fromEvent:(NSEvent *)anEvent;
- (NSString *)makeSafePath:(NSString *)path;
- (BOOL)loadDisplayBundle;
- (void)startX;
- (void)finishStartX;
- (BOOL)startXClients;
- (void)runClient:(NSString *)filename;
- (void)run;
- (void)toggle;
- (void)showServer:(BOOL)show;
- (void)forceShowServer:(BOOL)show;
- (void)setRootClip:(BOOL)enable;
- (void)readPasteboard;
- (void)writePasteboard;
- (void)quitServer;
- (void)sendXEvent:(xEvent *)xe;
- (void)sendShowHide:(BOOL)show;
- (void)clientProcessDone:(int)clientStatus;
- (void)activateX11:(BOOL)state;
- (void)windowBecameKey:(NSNotification *)notification;
- (void)setX11WindowList:(NSArray *)list;
- (void)setX11WindowCheck:(NSNumber *)nn;
// Aqua interface actions
- (IBAction)startFullScreen:(id)sender;
- (IBAction)startRootless:(id)sender;
- (IBAction)closeHelpAndShow:(id)sender;
- (IBAction)showSwitchPanel:(id)sender;
- (IBAction)showAction:(id)sender;
- (IBAction)itemSelected:(id)sender;
- (IBAction)nextWindow:(id)sender;
- (IBAction)previousWindow:(id)sender;
- (IBAction)performClose:(id)sender;
- (IBAction)performMiniaturize:(id)sender;
- (IBAction)performZoom:(id)sender;
- (IBAction)bringAllToFront:(id)sender;
- (IBAction)copy:(id)sender;
// NSApplication delegate
- (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender;
- (void)applicationWillTerminate:(NSNotification *)aNotification;
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification;
- (void)applicationDidHide:(NSNotification *)aNotification;
- (void)applicationDidUnhide:(NSNotification *)aNotification;
- (BOOL)applicationShouldHandleReopen:(NSApplication *)theApplication hasVisibleWindows:(BOOL)flag;
- (void)applicationWillResignActive:(NSNotification *)aNotification;
- (void)applicationWillBecomeActive:(NSNotification *)aNotification;
- (BOOL)application:(NSApplication *)theApplication openFile:(NSString *)filename;
// NSPort delegate
- (void)handlePortMessage:(NSPortMessage *)portMessage;
@end
// X server states
enum {
server_NotStarted,
server_Starting,
server_Running,
server_Quitting,
server_Done
};

File diff suppressed because it is too large Load Diff

View File

@ -47,6 +47,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define _APPLEWM_SERVER_
#include "X11/extensions/applewmstr.h"
#include "applewmExt.h"
#include "X11Application.h"
#define DEFINE_ATOM_HELPER(func,atom_name) \
static Atom func (void) { \
@ -445,13 +446,7 @@ ProcAppleWMSetWindowMenu(
break;
}
}
#ifdef INXQUARTZ
X11ApplicationSetWindowMenu (nitems, items, shortcuts);
#else
QuartzSetWindowMenu (nitems, items, shortcuts);
#endif
free(items);
free(shortcuts);
@ -466,12 +461,7 @@ ProcAppleWMSetWindowMenuCheck(
REQUEST(xAppleWMSetWindowMenuCheckReq);
REQUEST_SIZE_MATCH(xAppleWMSetWindowMenuCheckReq);
#ifdef INXQUARTZ
X11ApplicationSetWindowMenuCheck(stuff->index);
#else
QuartzMessageMainThread(kQuartzSetWindowMenuCheck, &stuff->index,
sizeof(stuff->index));
#endif
return (client->noClientException);
}
@ -481,11 +471,8 @@ ProcAppleWMSetFrontProcess(
)
{
REQUEST_SIZE_MATCH(xAppleWMSetFrontProcessReq);
#ifdef INXQUARTZ
X11ApplicationSetFrontProcess();
#else
QuartzMessageMainThread(kQuartzSetFrontProcess, NULL, 0);
#endif
return (client->noClientException);
}
@ -524,13 +511,8 @@ ProcAppleWMSetCanQuit(
REQUEST(xAppleWMSetCanQuitReq);
REQUEST_SIZE_MATCH(xAppleWMSetCanQuitReq);
#ifdef INXQUARTZ
X11ApplicationSetCanQuit(stuff->state);
#else
QuartzMessageMainThread(kQuartzSetCanQuit, &stuff->state,
sizeof(stuff->state));
#endif
X11ApplicationSetCanQuit(stuff->state);
return (client->noClientException);
}

View File

@ -39,11 +39,14 @@
#include "X11/extensions/applewm.h"
#include "applewmExt.h"
#include "X11Application.h"
// X headers
#include "scrnintstr.h"
#include "windowstr.h"
#include "colormapst.h"
#include "globals.h"
#include "rootlessWindow.h"
// System headers
#include <sys/types.h>
@ -84,7 +87,9 @@ Bool DarwinModeAddScreen(
{
// allocate space for private per screen Quartz specific storage
QuartzScreenPtr displayInfo = xcalloc(sizeof(QuartzScreenRec), 1);
QUARTZ_PRIV(pScreen) = displayInfo;
// QUARTZ_PRIV(pScreen) = displayInfo;
pScreen->devPrivates[quartzScreenIndex].ptr = displayInfo;
// do Quartz mode specific initialization
return quartzProcs->AddScreen(index, pScreen);
@ -158,12 +163,7 @@ void DarwinModeInitInput(
int argc,
char **argv )
{
#ifdef INXQUARTZ
X11ApplicationServerReady();
#else
QuartzMessageMainThread(kQuartzServerStarted, NULL, 0);
#endif
X11ApplicationServerReady();
// Do final display mode specific initialization before handling events
if (quartzProcs->InitInput)
quartzProcs->InitInput(argc, argv);
@ -276,9 +276,6 @@ static void QuartzHide(void)
}
}
quartzServerVisible = FALSE;
#ifndef INXQUARTZ
QuartzMessageMainThread(kQuartzServerHidden, NULL, 0);
#endif
}
@ -386,7 +383,7 @@ void DarwinModeProcessEvent(
case kXDarwinWindowMoved:
// ErrorF("kXDarwinWindowMoved\n");
RootlessNativeWindowMoved (xe->u.clientMessage.u.l.longs0);
RootlessNativeWindowMoved ((WindowPtr)xe->u.clientMessage.u.l.longs0);
break;
case kXDarwinToggleFullscreen:

View File

@ -124,6 +124,4 @@ typedef struct _QuartzModeProcs {
extern QuartzModeProcsPtr quartzProcs;
extern int quartzHasRoot, quartzEnableRootless;
Bool QuartzLoadDisplayBundle(const char *dpyBundleName);
#endif

View File

@ -42,63 +42,12 @@
#include <Cocoa/Cocoa.h>
#ifndef INXQUARTZ
#import "Preferences.h"
#endif
#include "pseudoramiX.h"
extern void FatalError(const char *, ...);
extern char *display;
extern int noPanoramiXExtension;
#ifndef INXQUARTZ
/*
* QuartzReadPreferences
* Read the user preferences from the Cocoa front end.
*/
void QuartzReadPreferences(void)
{
char *fileString;
darwinFakeButtons = [Preferences fakeButtons];
darwinFakeMouse2Mask = [Preferences button2Mask];
darwinFakeMouse3Mask = [Preferences button3Mask];
// darwinMouseAccelChange = [Preferences mouseAccelChange];
quartzUseSysBeep = [Preferences systemBeep];
quartzEnableKeyEquivalents = [Preferences enableKeyEquivalents];
// quartzRootless has already been set
if (quartzRootless) {
// Use PseudoramiX instead of Xinerama
noPanoramiXExtension = TRUE;
noPseudoramiXExtension = ![Preferences xinerama];
quartzUseAGL = [Preferences useAGL];
} else {
noPanoramiXExtension = ![Preferences xinerama];
noPseudoramiXExtension = TRUE;
// Full screen can't use AGL for GLX
quartzUseAGL = FALSE;
}
if ([Preferences useKeymapFile]) {
fileString = (char *) [[Preferences keymapFile] lossyCString];
darwinKeymapFile = (char *) malloc(strlen(fileString)+1);
if (! darwinKeymapFile)
FatalError("malloc failed in QuartzReadPreferences()!\n");
strcpy(darwinKeymapFile, fileString);
}
display = (char *) malloc(8);
if (! display)
FatalError("malloc failed in QuartzReadPreferences()!\n");
snprintf(display, 8, "%i", [Preferences display]);
darwinDesiredDepth = [Preferences depth] - 1;
}
#endif
/*
* QuartzWriteCocoaPasteboard
* Write text to the Mac OS X pasteboard.
@ -162,19 +111,6 @@ char *QuartzReadCocoaPasteboard(void)
int QuartzFSUseQDCursor(
int depth) // screen depth
{
#ifndef INXQUARTZ
switch ([Preferences useQDCursor]) {
case qdCursor_Always:
return TRUE;
case qdCursor_Never:
return FALSE;
case qdCursor_Not8Bit:
if (depth > 8)
return TRUE;
else
return FALSE;
}
#endif
return TRUE;
}
@ -184,9 +120,9 @@ int QuartzFSUseQDCursor(
* Clean out any autoreleased objects.
*/
void QuartzBlockHandler(
void *blockData,
void *pTimeout,
void *pReadmask)
pointer blockData,
OSTimePtr pTimeout,
pointer pReadmask)
{
static NSAutoreleasePool *aPool = nil;
@ -199,9 +135,9 @@ void QuartzBlockHandler(
* QuartzWakeupHandler
*/
void QuartzWakeupHandler(
void *blockData,
pointer blockData,
int result,
void *pReadmask)
pointer pReadmask)
{
// nothing here
}

View File

@ -46,6 +46,7 @@
#undef Cursor
#undef WindowPtr
#undef Picture
#include <X11/Xdefs.h>
// Quartz specific per screen storage structure
typedef struct {
@ -87,8 +88,8 @@ void QuartzSetWindowMenu(int nitems, const char **items,
void QuartzFSCapture(void);
void QuartzFSRelease(void);
int QuartzFSUseQDCursor(int depth);
void QuartzBlockHandler(void *blockData, void *pTimeout, void *pReadmask);
void QuartzWakeupHandler(void *blockData, int result, void *pReadmask);
void QuartzBlockHandler(pointer blockData, OSTimePtr pTimeout, pointer pReadmask);
void QuartzWakeupHandler(pointer blockData, int result, pointer pReadmask);
// Messages that can be sent to the main thread.
enum {

View File

@ -42,32 +42,13 @@
char **envpGlobal; // argcGlobal and argvGlobal
// are from dix/globals.c
#ifdef INXQUARTZ
void X11ControllerMain(int argc, char *argv[], void (*server_thread) (void *), void *server_arg);
# ifdef GLXEXT
void GlxExtensionInit(void);
void GlxWrapInitVisuals(miInitVisualsProcPtr *);
# endif
static void server_thread (void *arg) {
extern int main (int argc, char **argv, char **envp);
extern int main(int argc, char **argv, char **envp);
exit (main (argcGlobal, argvGlobal, envpGlobal));
}
#else
int NSApplicationMain(int argc, char *argv[]);
typedef Bool (*QuartzModeBundleInitPtr)(void);
# ifdef GLXEXT
// GLX bundle function pointers
typedef void (*GlxExtensionInitPtr)(void);
static GlxExtensionInitPtr GlxExtensionInit = NULL;
typedef void (*GlxWrapInitVisualsPtr)(miInitVisualsProcPtr *);
static GlxWrapInitVisualsPtr GlxWrapInitVisuals = NULL;
void * __DarwinglXMesaProvider = NULL;
typedef void (*GlxPushProviderPtr)(void *);
GlxPushProviderPtr GlxPushProvider = NULL;
# endif
#endif
/*
* DarwinHandleGUI
@ -83,13 +64,10 @@ void DarwinHandleGUI(
char *envp[] )
{
static Bool been_here = FALSE;
int main_exit, i;
int i;
int fd[2];
if (been_here) {
#ifdef INXDARWINAPP
QuartzReadPreferences();
#endif
return;
}
been_here = TRUE;
@ -124,7 +102,7 @@ void DarwinHandleGUI(
}
}
#ifdef INXQUARTZ
/* Initially I ran the X server on the main thread, and received
events on the second thread. But now we may be using Carbon,
that needs to run on the main thread. (Otherwise, when it's
@ -133,221 +111,10 @@ void DarwinHandleGUI(
grr.. but doing that means that if the X thread gets scheduled
before the main thread when we're _not_ prebound, things fail,
so initialize by hand. */
extern void _InitHLTB(void);
_InitHLTB();
_InitHLTB();
X11ControllerMain(argc, argv, server_thread, NULL);
#else
main_exit = NSApplicationMain(argc, argv);
#endif
exit(main_exit);
}
#ifndef INXQUARTZ
/*
* QuartzLoadDisplayBundle
* Try to load the appropriate bundle containing the back end display code.
*/
Bool QuartzLoadDisplayBundle(
const char *dpyBundleName)
{
CFBundleRef mainBundle;
CFStringRef bundleName;
CFURLRef bundleURL;
CFBundleRef dpyBundle;
QuartzModeBundleInitPtr bundleInit;
// Get the main bundle for the application
mainBundle = CFBundleGetMainBundle();
// Make CFString from bundle name
bundleName = CFStringCreateWithCStringNoCopy(kCFAllocatorDefault,
dpyBundleName,
kCFStringEncodingASCII,
kCFAllocatorNull);
// Look for the appropriate bundle in the main bundle
bundleURL = CFBundleCopyResourceURL(mainBundle, bundleName,
NULL, NULL);
if (!bundleURL) {
ErrorF("Could not find display mode bundle %s.\n", dpyBundleName);
return FALSE;
}
// Make a bundle instance using the URLRef
dpyBundle = CFBundleCreate(kCFAllocatorDefault, bundleURL);
if (!CFBundleLoadExecutable(dpyBundle)) {
ErrorF("Could not load display mode bundle %s.\n", dpyBundleName);
return FALSE;
}
// Lookup the bundle initialization function
bundleInit = (void *)
CFBundleGetFunctionPointerForName(dpyBundle,
CFSTR("QuartzModeBundleInit"));
if (!bundleInit) {
ErrorF("Could not initialize display mode bundle %s.\n",
dpyBundleName);
return FALSE;
}
if (!bundleInit())
return FALSE;
// Release the CF objects
CFRelease(bundleName);
CFRelease(bundleURL);
return TRUE;
}
#ifdef GLXEXT
/*
* LoadGlxBundle
* The Quartz mode X server needs to dynamically load the appropriate
* bundle before initializing GLX.
*/
static void LoadGlxBundle(void)
{
CFBundleRef mainBundle;
CFStringRef bundleName;
CFURLRef bundleURL;
CFBundleRef glxBundle;
// Get the main bundle for the application
mainBundle = CFBundleGetMainBundle();
// Choose the bundle to load
ErrorF("Loading GLX bundle ");
if (/*quartzUseAGL*/0) {
bundleName = CFStringCreateWithCStringNoCopy(kCFAllocatorDefault,
quartzOpenGLBundle,
kCFStringEncodingASCII,
kCFAllocatorNull);
ErrorF("%s (using Apple's OpenGL)\n", quartzOpenGLBundle);
} else {
bundleName = CFSTR("glxMesa.bundle");
CFRetain(bundleName); // so we can release later
ErrorF("glxMesa.bundle (using Mesa)\n");
}
// Look for the appropriate GLX bundle in the main bundle by name
bundleURL = CFBundleCopyResourceURL(mainBundle, bundleName,
NULL, NULL);
if (!bundleURL) {
FatalError("Could not find GLX bundle.");
}
// Make a bundle instance using the URLRef
glxBundle = CFBundleCreate(kCFAllocatorDefault, bundleURL);
if (!CFBundleLoadExecutable(glxBundle)) {
FatalError("Could not load GLX bundle.");
}
// Find the GLX init functions
__DarwinglXMesaProvider = (void *) CFBundleGetDataPointerForName(
glxBundle, CFSTR("__glXMesaProvider"));
GlxPushProvider = (void *) CFBundleGetFunctionPointerForName(
glxBundle, CFSTR("GlxPushProvider"));
GlxExtensionInit = (void *) CFBundleGetFunctionPointerForName(
glxBundle, CFSTR("GlxExtensionInit"));
GlxWrapInitVisuals = (void *) CFBundleGetFunctionPointerForName(
glxBundle, CFSTR("GlxWrapInitVisuals"));
if (!GlxExtensionInit || !GlxWrapInitVisuals) {
FatalError("Could not initialize GLX bundle.");
}
// Release the CF objects
CFRelease(bundleName);
CFRelease(bundleURL);
}
# endif
#else
Bool QuartzLoadDisplayBundle(const char *dpyBundleName)
{
return TRUE;
}
#endif
#ifdef GLXEXT
void DarwinGlxPushProvider(void *impl)
{
#ifndef INXQUARTZ
if (!GlxExtensionInit)
LoadGlxBundle();
#endif
GlxPushProvider(impl);
}
/*
* DarwinGlxExtensionInit
* Initialize the GLX extension.
*/
void DarwinGlxExtensionInit(void)
{
#ifndef INXQUARTZ
if (!GlxExtensionInit)
LoadGlxBundle();
#endif
GlxExtensionInit();
}
/*
* DarwinGlxWrapInitVisuals
*/
void DarwinGlxWrapInitVisuals(
miInitVisualsProcPtr *procPtr)
{
#ifndef INXQUARTZ
if (!GlxWrapInitVisuals)
LoadGlxBundle();
#endif
GlxWrapInitVisuals(procPtr);
}
#endif
int DarwinModeProcessArgument( int argc, char *argv[], int i )
{
// fullscreen: CoreGraphics full-screen mode
// rootless: Cocoa rootless mode
// quartz: Default, either fullscreen or rootless
if ( !strcmp( argv[i], "-fullscreen" ) ) {
ErrorF( "Running full screen in parallel with Mac OS X Quartz window server.\n" );
return 1;
}
if ( !strcmp( argv[i], "-rootless" ) ) {
ErrorF( "Running rootless inside Mac OS X window server.\n" );
return 1;
}
if ( !strcmp( argv[i], "-quartz" ) ) {
ErrorF( "Running in parallel with Mac OS X Quartz window server.\n" );
return 1;
}
// The Mac OS X front end uses this argument, which we just ignore here.
if ( !strcmp( argv[i], "-nostartx" ) ) {
return 1;
}
// This command line arg is passed when launched from the Aqua GUI.
if ( !strncmp( argv[i], "-psn_", 5 ) ) {
return 1;
}
return 0;
exit(0);
}

View File

@ -174,7 +174,7 @@ ProcAppleDRIAuthConnection(
rep.authenticated = 1;
if (!DRIAuthConnection( screenInfo.screens[stuff->screen], stuff->magic)) {
ErrorF("Failed to authenticate %u\n", stuff->magic);
ErrorF("Failed to authenticate %u\n", (unsigned int)stuff->magic);
rep.authenticated = 0;
}
WriteToClient(client, sizeof(xAppleDRIAuthConnectionReply), (char *)&rep);

View File

@ -65,6 +65,7 @@ X_PFX (hook_remove) (x_list *lst, x_hook_function *fun, void *data)
}
X_PFX (list_free) (to_delete);
return lst;
}
X_EXTERN void

View File

@ -380,7 +380,8 @@ QuartzInitCursor(ScreenPtr pScreen)
if (ScreenPriv == NULL)
return FALSE;
CURSOR_PRIV(pScreen) = ScreenPriv;
/* CURSOR_PRIV(pScreen) = ScreenPriv; */
pScreen->devPrivates[darwinCursorScreenIndex].ptr = ScreenPriv;
/* override some screen procedures */
ScreenPriv->QueryBestSize = pScreen->QueryBestSize;

View File

@ -41,6 +41,9 @@
#include "Xplugin.h"
#include "quartz/applewmExt.h"
// From xprFrame.c
WindowPtr xprGetXWindow(xp_window_id wid);
#ifdef DAMAGE
# include "damage.h"
#endif
@ -84,13 +87,7 @@ eventHandler(unsigned int type, const void *arg,
{
xp_window_id id = * (xp_window_id *) arg;
WindowPtr pWin = xprGetXWindow(id);
BoxRec box;
xp_error retval = xp_get_window_bounds(id, &box);
if (retval != Success) {
ErrorF("Unable to find new bounds for window\n");
break;
}
QuartzMessageServerThread(kXDarwinWindowMoved, 3, pWin, box.x1, box.y1);
QuartzMessageServerThread(kXDarwinWindowMoved, 1, pWin);
}
break;

View File

@ -7,5 +7,5 @@ dumpkeymap_LDFLAGS = -Wl,-framework,IOKit
man1_MANS = dumpkeymap.man
EXTRA_DIST = \
README.txt \
dumpkeymap.man
README.txt \
dumpkeymap.man

View File

@ -145,6 +145,9 @@
/* Define to 1 if you have version 2.2 (or newer) of the drm library */
#undef HAVE_LIBDRM_2_2
/* Have Quartz */
#undef XQUARTZ
/* Define to 1 if you have the `m' library (-lm). */
#undef HAVE_LIBM

Some files were not shown because too many files have changed in this diff Show More