diff options
author | marha <marha@users.sourceforge.net> | 2009-07-25 20:12:58 +0000 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2009-07-25 20:12:58 +0000 |
commit | 2553bdd7c359cd87525d367761c86932cec5adff (patch) | |
tree | ae71245933c98474a699d3e392de5820879b2018 /xorg-server/hw/xfree86/utils | |
parent | e2c51f2ee7b0a3ea1a052fc49324057b4a4bbc78 (diff) | |
parent | 4a3dbb926ae3f5410198d7cc4f4ebe4f62eebf05 (diff) | |
download | vcxsrv-2553bdd7c359cd87525d367761c86932cec5adff.tar.gz vcxsrv-2553bdd7c359cd87525d367761c86932cec5adff.tar.bz2 vcxsrv-2553bdd7c359cd87525d367761c86932cec5adff.zip |
svn merge file:///D:/svnrepos/vcxsrv/branches/released .
Diffstat (limited to 'xorg-server/hw/xfree86/utils')
78 files changed, 64 insertions, 38520 deletions
diff --git a/xorg-server/hw/xfree86/utils/Makefile.am b/xorg-server/hw/xfree86/utils/Makefile.am index e3e7a6177..d27861b03 100644 --- a/xorg-server/hw/xfree86/utils/Makefile.am +++ b/xorg-server/hw/xfree86/utils/Makefile.am @@ -1,7 +1,3 @@ SUBDIRS = \ gtf \ - cvt \ - ioport \ - kbd_mode \ - xorgcfg \ - xorgconfig + cvt diff --git a/xorg-server/hw/xfree86/utils/Makefile.in b/xorg-server/hw/xfree86/utils/Makefile.in index 1a7c5f3b2..1fdee4a54 100644 --- a/xorg-server/hw/xfree86/utils/Makefile.in +++ b/xorg-server/hw/xfree86/utils/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -42,7 +42,6 @@ mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/include/do-not-use-config.h \ $(top_builddir)/include/xorg-server.h \ $(top_builddir)/include/dix-config.h \ - $(top_builddir)/include/xgl-config.h \ $(top_builddir)/include/xorg-config.h \ $(top_builddir)/include/xkb-config.h \ $(top_builddir)/include/xwin-config.h \ @@ -68,8 +67,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -90,10 +90,6 @@ CFLAGS = @CFLAGS@ COMPILEDDEFAULTFONTPATH = @COMPILEDDEFAULTFONTPATH@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DARWIN_LIBS = @DARWIN_LIBS@ DBUS_CFLAGS = @DBUS_CFLAGS@ @@ -115,6 +111,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -124,18 +121,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -154,7 +148,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -168,7 +162,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -180,8 +177,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -190,8 +186,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -224,7 +220,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -234,27 +229,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ XF86CONFIGFILE = @XF86CONFIGFILE@ -XF86MISC_CFLAGS = @XF86MISC_CFLAGS@ -XF86MISC_LIBS = @XF86MISC_LIBS@ XF86VIDMODE_CFLAGS = @XF86VIDMODE_CFLAGS@ XF86VIDMODE_LIBS = @XF86VIDMODE_LIBS@ -XGLMODULES_CFLAGS = @XGLMODULES_CFLAGS@ -XGLMODULES_LIBS = @XGLMODULES_LIBS@ -XGLXMODULES_CFLAGS = @XGLXMODULES_CFLAGS@ -XGLXMODULES_LIBS = @XGLXMODULES_LIBS@ -XGLX_LIBS = @XGLX_LIBS@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -265,10 +245,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_LIBS@ -XORGCFG_DEP_CFLAGS = @XORGCFG_DEP_CFLAGS@ -XORGCFG_DEP_LIBS = @XORGCFG_DEP_LIBS@ -XORGCONFIG_DEP_CFLAGS = @XORGCONFIG_DEP_CFLAGS@ -XORGCONFIG_DEP_LIBS = @XORGCONFIG_DEP_LIBS@ XORG_CFLAGS = @XORG_CFLAGS@ XORG_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -277,13 +253,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -316,8 +287,7 @@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -337,7 +307,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -347,12 +316,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -370,15 +339,9 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ SUBDIRS = \ gtf \ - cvt \ - ioport \ - kbd_mode \ - xorgcfg \ - xorgconfig + cvt all: all-recursive @@ -387,8 +350,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -494,7 +457,7 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/xfree86/utils/cvt/Makefile.in b/xorg-server/hw/xfree86/utils/cvt/Makefile.in index 9c1b9c585..7cf615b34 100644 --- a/xorg-server/hw/xfree86/utils/cvt/Makefile.in +++ b/xorg-server/hw/xfree86/utils/cvt/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -77,7 +77,6 @@ mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/include/do-not-use-config.h \ $(top_builddir)/include/xorg-server.h \ $(top_builddir)/include/dix-config.h \ - $(top_builddir)/include/xgl-config.h \ $(top_builddir)/include/xorg-config.h \ $(top_builddir)/include/xkb-config.h \ $(top_builddir)/include/xwin-config.h \ @@ -98,9 +97,6 @@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ @@ -118,8 +114,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -140,10 +137,6 @@ CFLAGS = @CFLAGS@ COMPILEDDEFAULTFONTPATH = @COMPILEDDEFAULTFONTPATH@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DARWIN_LIBS = @DARWIN_LIBS@ DBUS_CFLAGS = @DBUS_CFLAGS@ @@ -165,6 +158,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -174,18 +168,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -204,7 +195,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -218,7 +209,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -230,8 +224,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -240,8 +233,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -274,7 +267,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -284,27 +276,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ XF86CONFIGFILE = @XF86CONFIGFILE@ -XF86MISC_CFLAGS = @XF86MISC_CFLAGS@ -XF86MISC_LIBS = @XF86MISC_LIBS@ XF86VIDMODE_CFLAGS = @XF86VIDMODE_CFLAGS@ XF86VIDMODE_LIBS = @XF86VIDMODE_LIBS@ -XGLMODULES_CFLAGS = @XGLMODULES_CFLAGS@ -XGLMODULES_LIBS = @XGLMODULES_LIBS@ -XGLXMODULES_CFLAGS = @XGLXMODULES_CFLAGS@ -XGLXMODULES_LIBS = @XGLXMODULES_LIBS@ -XGLX_LIBS = @XGLX_LIBS@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -315,10 +292,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_LIBS@ -XORGCFG_DEP_CFLAGS = @XORGCFG_DEP_CFLAGS@ -XORGCFG_DEP_LIBS = @XORGCFG_DEP_LIBS@ -XORGCONFIG_DEP_CFLAGS = @XORGCONFIG_DEP_CFLAGS@ -XORGCONFIG_DEP_LIBS = @XORGCONFIG_DEP_LIBS@ XORG_CFLAGS = @XORG_CFLAGS@ XORG_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -327,13 +300,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -366,8 +334,7 @@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -387,7 +354,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -397,12 +363,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -420,8 +386,6 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ INCLUDES = $(XORG_INCS) \ -I$(top_srcdir)/hw/xfree86/ddc \ -I$(top_srcdir)/hw/xfree86/parser @@ -477,8 +441,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -608,8 +572,8 @@ install-man1: $(man1_MANS) $(man_MANS) esac; \ done; \ for i in $$list; do \ - if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ - else file=$$i; fi; \ + if test -f $$i; then file=$$i; \ + else file=$(srcdir)/$$i; fi; \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ case "$$ext" in \ 1*) ;; \ @@ -648,7 +612,7 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/xfree86/utils/gtf/Makefile.in b/xorg-server/hw/xfree86/utils/gtf/Makefile.in index 2dd8c08f5..0e33af399 100644 --- a/xorg-server/hw/xfree86/utils/gtf/Makefile.in +++ b/xorg-server/hw/xfree86/utils/gtf/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -78,7 +78,6 @@ mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/include/do-not-use-config.h \ $(top_builddir)/include/xorg-server.h \ $(top_builddir)/include/dix-config.h \ - $(top_builddir)/include/xgl-config.h \ $(top_builddir)/include/xorg-config.h \ $(top_builddir)/include/xkb-config.h \ $(top_builddir)/include/xwin-config.h \ @@ -98,9 +97,6 @@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ @@ -123,8 +119,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -145,10 +142,6 @@ CFLAGS = @CFLAGS@ COMPILEDDEFAULTFONTPATH = @COMPILEDDEFAULTFONTPATH@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DARWIN_LIBS = @DARWIN_LIBS@ DBUS_CFLAGS = @DBUS_CFLAGS@ @@ -170,6 +163,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -179,18 +173,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -209,7 +200,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -223,7 +214,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -235,8 +229,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -245,8 +238,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -279,7 +272,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -289,27 +281,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ XF86CONFIGFILE = @XF86CONFIGFILE@ -XF86MISC_CFLAGS = @XF86MISC_CFLAGS@ -XF86MISC_LIBS = @XF86MISC_LIBS@ XF86VIDMODE_CFLAGS = @XF86VIDMODE_CFLAGS@ XF86VIDMODE_LIBS = @XF86VIDMODE_LIBS@ -XGLMODULES_CFLAGS = @XGLMODULES_CFLAGS@ -XGLMODULES_LIBS = @XGLMODULES_LIBS@ -XGLXMODULES_CFLAGS = @XGLXMODULES_CFLAGS@ -XGLXMODULES_LIBS = @XGLXMODULES_LIBS@ -XGLX_LIBS = @XGLX_LIBS@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -320,10 +297,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_LIBS@ -XORGCFG_DEP_CFLAGS = @XORGCFG_DEP_CFLAGS@ -XORGCFG_DEP_LIBS = @XORGCFG_DEP_LIBS@ -XORGCONFIG_DEP_CFLAGS = @XORGCONFIG_DEP_CFLAGS@ -XORGCONFIG_DEP_LIBS = @XORGCONFIG_DEP_LIBS@ XORG_CFLAGS = @XORG_CFLAGS@ XORG_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -332,13 +305,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -371,8 +339,7 @@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -392,7 +359,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -402,12 +368,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -425,8 +391,6 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ gtf_SOURCES = gtf.c gtf_CFLAGS = $(XORG_CFLAGS) gtf_LDADD = -lm @@ -479,8 +443,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -607,7 +571,7 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/xfree86/utils/gtf/gtf.c b/xorg-server/hw/xfree86/utils/gtf/gtf.c index fd4a4f23c..8ce93276a 100644 --- a/xorg-server/hw/xfree86/utils/gtf/gtf.c +++ b/xorg-server/hw/xfree86/utils/gtf/gtf.c @@ -112,11 +112,6 @@ #include <string.h> #include <math.h> - -#if defined(__Lynx__) -#define rint(x) floor(x) -#endif - #define MARGIN_PERCENT 1.8 /* % of active vertical image */ #define CELL_GRAN 8.0 /* assumed character cell granularity */ #define MIN_PORCH 1 /* minimum front porch */ diff --git a/xorg-server/hw/xfree86/utils/ioport/Makefile.am b/xorg-server/hw/xfree86/utils/ioport/Makefile.am deleted file mode 100644 index 12f861372..000000000 --- a/xorg-server/hw/xfree86/utils/ioport/Makefile.am +++ /dev/null @@ -1,58 +0,0 @@ -# Copyright 2005 Sun Microsystems, Inc. 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, and/or sell copies of the Software, and to permit persons -# to whom the Software is furnished to do so, provided that the above -# copyright notice(s) and this permission notice appear in all copies of -# the Software and that both the above copyright notice(s) and this -# permission notice appear in supporting documentation. -# -# 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 -# OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL -# INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING -# FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, -# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION -# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -# -# Except as contained in this notice, the name of a copyright holder -# shall not be used in advertising or otherwise to promote the sale, use -# or other dealings in this Software without prior written authorization -# of the copyright holder. -# - -bin_PROGRAMS = ioport - -XFREE86_SRCDIR = $(top_srcdir)/hw/xfree86 -DUMMYLIB_SRCDIR = $(XFREE86_SRCDIR)/dummylib - -INCLUDES = $(XORG_INCS) -I$(DUMMYLIB_SRCDIR) - -ioport_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) -ioport_LDADD = \ - ../../os-support/libxorgos.la \ - ../../dummylib/libdummy-nonserver.a \ - ${UTILS_SYS_LIBS} ${PCIACCESS_LIBS} - - -ioport_SOURCES = \ - ioport.c - -ioport_PROGRAM_LINKS = inb inw inl outb outw outl - -all-local: - @for i in $(ioport_PROGRAM_LINKS); do (set -x; \ - rm -f $$i; $(LN_S) ioport $$i); \ - done - -install-exec-hook: - @for i in $(ioport_PROGRAM_LINKS); do (set -x; \ - rm -f $(DESTDIR)$(bindir)/$$i; \ - (cd $(DESTDIR)$(bindir); $(LN_S) ioport $$i)); \ - done - diff --git a/xorg-server/hw/xfree86/utils/ioport/Makefile.in b/xorg-server/hw/xfree86/utils/ioport/Makefile.in deleted file mode 100644 index f2afaa3cc..000000000 --- a/xorg-server/hw/xfree86/utils/ioport/Makefile.in +++ /dev/null @@ -1,739 +0,0 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -# Copyright 2005 Sun Microsystems, Inc. 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, and/or sell copies of the Software, and to permit persons -# to whom the Software is furnished to do so, provided that the above -# copyright notice(s) and this permission notice appear in all copies of -# the Software and that both the above copyright notice(s) and this -# permission notice appear in supporting documentation. -# -# 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 -# OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL -# INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING -# FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, -# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION -# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -# -# Except as contained in this notice, the name of a copyright holder -# shall not be used in advertising or otherwise to promote the sale, use -# or other dealings in this Software without prior written authorization -# of the copyright holder. -# - -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -bin_PROGRAMS = ioport$(EXEEXT) -subdir = hw/xfree86/utils/ioport -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/include/do-not-use-config.h \ - $(top_builddir)/include/xorg-server.h \ - $(top_builddir)/include/dix-config.h \ - $(top_builddir)/include/xgl-config.h \ - $(top_builddir)/include/xorg-config.h \ - $(top_builddir)/include/xkb-config.h \ - $(top_builddir)/include/xwin-config.h \ - $(top_builddir)/include/kdrive-config.h -CONFIG_CLEAN_FILES = -am__installdirs = "$(DESTDIR)$(bindir)" -binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) -PROGRAMS = $(bin_PROGRAMS) -am_ioport_OBJECTS = ioport-ioport.$(OBJEXT) -ioport_OBJECTS = $(am_ioport_OBJECTS) -am__DEPENDENCIES_1 = -ioport_DEPENDENCIES = ../../os-support/libxorgos.la \ - ../../dummylib/libdummy-nonserver.a $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -ioport_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(ioport_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -SOURCES = $(ioport_SOURCES) -DIST_SOURCES = $(ioport_SOURCES) -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ -ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ -ALLOCA = @ALLOCA@ -AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ -APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ -APP_MAN_DIR = @APP_MAN_DIR@ -APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -BASE_FONT_PATH = @BASE_FONT_PATH@ -BUILD_DATE = @BUILD_DATE@ -BUILD_TIME = @BUILD_TIME@ -CC = @CC@ -CCAS = @CCAS@ -CCASDEPMODE = @CCASDEPMODE@ -CCASFLAGS = @CCASFLAGS@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -COMPILEDDEFAULTFONTPATH = @COMPILEDDEFAULTFONTPATH@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DARWIN_LIBS = @DARWIN_LIBS@ -DBUS_CFLAGS = @DBUS_CFLAGS@ -DBUS_LIBS = @DBUS_LIBS@ -DEFAULT_LIBRARY_PATH = @DEFAULT_LIBRARY_PATH@ -DEFAULT_LOGPREFIX = @DEFAULT_LOGPREFIX@ -DEFAULT_MODULE_PATH = @DEFAULT_MODULE_PATH@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DGA_CFLAGS = @DGA_CFLAGS@ -DGA_LIBS = @DGA_LIBS@ -DIX_CFLAGS = @DIX_CFLAGS@ -DLLTOOL = @DLLTOOL@ -DMXEXAMPLES_DEP_CFLAGS = @DMXEXAMPLES_DEP_CFLAGS@ -DMXEXAMPLES_DEP_LIBS = @DMXEXAMPLES_DEP_LIBS@ -DMXMODULES_CFLAGS = @DMXMODULES_CFLAGS@ -DMXMODULES_LIBS = @DMXMODULES_LIBS@ -DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ -DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ -DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ -DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ -DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ -DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ -DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ -DRIPROTO_LIBS = @DRIPROTO_LIBS@ -DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ -DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ -DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ -DSYMUTIL = @DSYMUTIL@ -DTRACE = @DTRACE@ -ECHO = @ECHO@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ -FILE_MAN_DIR = @FILE_MAN_DIR@ -FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ -GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ -GLX_DEFINES = @GLX_DEFINES@ -GL_CFLAGS = @GL_CFLAGS@ -GL_LIBS = @GL_LIBS@ -GREP = @GREP@ -HAL_CFLAGS = @HAL_CFLAGS@ -HAL_LIBS = @HAL_LIBS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -KDRIVE_CFLAGS = @KDRIVE_CFLAGS@ -KDRIVE_INCS = @KDRIVE_INCS@ -KDRIVE_LIBS = @KDRIVE_LIBS@ -KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ -KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ -KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ -LDFLAGS = @LDFLAGS@ -LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ -LEX = @LEX@ -LEXLIB = @LEXLIB@ -LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -LIBDRM_CFLAGS = @LIBDRM_CFLAGS@ -LIBDRM_LIBS = @LIBDRM_LIBS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIB_MAN_DIR = @LIB_MAN_DIR@ -LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ -LINUXDOC = @LINUXDOC@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MAKE_HTML = @MAKE_HTML@ -MAKE_PDF = @MAKE_PDF@ -MAKE_PS = @MAKE_PS@ -MAKE_TEXT = @MAKE_TEXT@ -MESA_SOURCE = @MESA_SOURCE@ -MISC_MAN_DIR = @MISC_MAN_DIR@ -MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ -MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ -NMEDIT = @NMEDIT@ -OBJC = @OBJC@ -OBJCCLD = @OBJCCLD@ -OBJCDEPMODE = @OBJCDEPMODE@ -OBJCFLAGS = @OBJCFLAGS@ -OBJCLINK = @OBJCLINK@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ -PCIACCESS_LIBS = @PCIACCESS_LIBS@ -PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@ -PERL = @PERL@ -PKG_CONFIG = @PKG_CONFIG@ -PROJECTROOT = @PROJECTROOT@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -RAWCPP = @RAWCPP@ -RAWCPPFLAGS = @RAWCPPFLAGS@ -SED = @SED@ -SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ -SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ -STRIP = @STRIP@ -TSLIB_CFLAGS = @TSLIB_CFLAGS@ -TSLIB_LIBS = @TSLIB_LIBS@ -UTILS_SYS_LIBS = @UTILS_SYS_LIBS@ -VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ -VENDOR_NAME = @VENDOR_NAME@ -VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ -VENDOR_RELEASE = @VENDOR_RELEASE@ -VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ -X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ -X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ -XDMCP_CFLAGS = @XDMCP_CFLAGS@ -XDMCP_LIBS = @XDMCP_LIBS@ -XDMXCONFIG_DEP_CFLAGS = @XDMXCONFIG_DEP_CFLAGS@ -XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ -XDMX_CFLAGS = @XDMX_CFLAGS@ -XDMX_LIBS = @XDMX_LIBS@ -XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ -XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ -XEPHYR_INCS = @XEPHYR_INCS@ -XEPHYR_LIBS = @XEPHYR_LIBS@ -XF86CONFIGFILE = @XF86CONFIGFILE@ -XF86MISC_CFLAGS = @XF86MISC_CFLAGS@ -XF86MISC_LIBS = @XF86MISC_LIBS@ -XF86VIDMODE_CFLAGS = @XF86VIDMODE_CFLAGS@ -XF86VIDMODE_LIBS = @XF86VIDMODE_LIBS@ -XGLMODULES_CFLAGS = @XGLMODULES_CFLAGS@ -XGLMODULES_LIBS = @XGLMODULES_LIBS@ -XGLXMODULES_CFLAGS = @XGLXMODULES_CFLAGS@ -XGLXMODULES_LIBS = @XGLXMODULES_LIBS@ -XGLX_LIBS = @XGLX_LIBS@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ -XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ -XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ -XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ -XKM_OUTPUT_DIR = @XKM_OUTPUT_DIR@ -XLIB_CFLAGS = @XLIB_CFLAGS@ -XLIB_LIBS = @XLIB_LIBS@ -XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ -XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ -XNEST_LIBS = @XNEST_LIBS@ -XNEST_SYS_LIBS = @XNEST_SYS_LIBS@ -XORGCFG_DEP_CFLAGS = @XORGCFG_DEP_CFLAGS@ -XORGCFG_DEP_LIBS = @XORGCFG_DEP_LIBS@ -XORGCONFIG_DEP_CFLAGS = @XORGCONFIG_DEP_CFLAGS@ -XORGCONFIG_DEP_LIBS = @XORGCONFIG_DEP_LIBS@ -XORG_CFLAGS = @XORG_CFLAGS@ -XORG_INCS = @XORG_INCS@ -XORG_LIBS = @XORG_LIBS@ -XORG_MODULES_CFLAGS = @XORG_MODULES_CFLAGS@ -XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ -XORG_OS = @XORG_OS@ -XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ -XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ -XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ -XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ -XSDL_INCS = @XSDL_INCS@ -XSDL_LIBS = @XSDL_LIBS@ -XSERVERCFLAGS_CFLAGS = @XSERVERCFLAGS_CFLAGS@ -XSERVERCFLAGS_LIBS = @XSERVERCFLAGS_LIBS@ -XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ -XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ -XSERVER_LIBS = @XSERVER_LIBS@ -XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ -XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ -XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ -XVFB_LIBS = @XVFB_LIBS@ -XVFB_SYS_LIBS = @XVFB_SYS_LIBS@ -XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ -XWINMODULES_LIBS = @XWINMODULES_LIBS@ -XWIN_LIBS = @XWIN_LIBS@ -XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ -XWIN_SYS_LIBS = @XWIN_SYS_LIBS@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -__XCONFIGFILE__ = @__XCONFIGFILE__@ -abi_ansic = @abi_ansic@ -abi_extension = @abi_extension@ -abi_font = @abi_font@ -abi_videodrv = @abi_videodrv@ -abi_xinput = @abi_xinput@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -driverdir = @driverdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -extdir = @extdir@ -ft_config = @ft_config@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -logdir = @logdir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -moduledir = @moduledir@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sdkdir = @sdkdir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ -XFREE86_SRCDIR = $(top_srcdir)/hw/xfree86 -DUMMYLIB_SRCDIR = $(XFREE86_SRCDIR)/dummylib -INCLUDES = $(XORG_INCS) -I$(DUMMYLIB_SRCDIR) -ioport_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) -ioport_LDADD = \ - ../../os-support/libxorgos.la \ - ../../dummylib/libdummy-nonserver.a \ - ${UTILS_SYS_LIBS} ${PCIACCESS_LIBS} - -ioport_SOURCES = \ - ioport.c - -ioport_PROGRAM_LINKS = inb inw inl outb outw outl -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign hw/xfree86/utils/ioport/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign hw/xfree86/utils/ioport/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ - if test -f $$p \ - || test -f $$p1 \ - ; then \ - f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ - else :; fi; \ - done - -uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ - rm -f "$(DESTDIR)$(bindir)/$$f"; \ - done - -clean-binPROGRAMS: - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f $$p $$f"; \ - rm -f $$p $$f ; \ - done -ioport$(EXEEXT): $(ioport_OBJECTS) $(ioport_DEPENDENCIES) - @rm -f ioport$(EXEEXT) - $(ioport_LINK) $(ioport_OBJECTS) $(ioport_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioport-ioport.Po@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c $< - -.c.obj: -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< - -ioport-ioport.o: ioport.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ioport_CFLAGS) $(CFLAGS) -MT ioport-ioport.o -MD -MP -MF $(DEPDIR)/ioport-ioport.Tpo -c -o ioport-ioport.o `test -f 'ioport.c' || echo '$(srcdir)/'`ioport.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ioport-ioport.Tpo $(DEPDIR)/ioport-ioport.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ioport.c' object='ioport-ioport.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ioport_CFLAGS) $(CFLAGS) -c -o ioport-ioport.o `test -f 'ioport.c' || echo '$(srcdir)/'`ioport.c - -ioport-ioport.obj: ioport.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ioport_CFLAGS) $(CFLAGS) -MT ioport-ioport.obj -MD -MP -MF $(DEPDIR)/ioport-ioport.Tpo -c -o ioport-ioport.obj `if test -f 'ioport.c'; then $(CYGPATH_W) 'ioport.c'; else $(CYGPATH_W) '$(srcdir)/ioport.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ioport-ioport.Tpo $(DEPDIR)/ioport-ioport.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ioport.c' object='ioport-ioport.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ioport_CFLAGS) $(CFLAGS) -c -o ioport-ioport.obj `if test -f 'ioport.c'; then $(CYGPATH_W) 'ioport.c'; else $(CYGPATH_W) '$(srcdir)/ioport.c'; fi` - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ - fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(PROGRAMS) all-local -installdirs: - for dir in "$(DESTDIR)$(bindir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-exec-am: install-binPROGRAMS - @$(NORMAL_INSTALL) - $(MAKE) $(AM_MAKEFLAGS) install-exec-hook - -install-html: install-html-am - -install-info: install-info-am - -install-man: - -install-pdf: install-pdf-am - -install-ps: install-ps-am - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-binPROGRAMS - -.MAKE: install-am install-exec-am install-strip - -.PHONY: CTAGS GTAGS all all-am all-local check check-am clean \ - clean-binPROGRAMS clean-generic clean-libtool ctags distclean \ - distclean-compile distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-binPROGRAMS install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-exec-hook install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am uninstall-binPROGRAMS - - -all-local: - @for i in $(ioport_PROGRAM_LINKS); do (set -x; \ - rm -f $$i; $(LN_S) ioport $$i); \ - done - -install-exec-hook: - @for i in $(ioport_PROGRAM_LINKS); do (set -x; \ - rm -f $(DESTDIR)$(bindir)/$$i; \ - (cd $(DESTDIR)$(bindir); $(LN_S) ioport $$i)); \ - done -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/xorg-server/hw/xfree86/utils/ioport/ioport.c b/xorg-server/hw/xfree86/utils/ioport/ioport.c deleted file mode 100644 index 737043462..000000000 --- a/xorg-server/hw/xfree86/utils/ioport/ioport.c +++ /dev/null @@ -1,491 +0,0 @@ -/* - * Copyright 2002 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org - * - * Permission to use, copy, modify, distribute, and sell this software and its - * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that copyright - * notice and this permission notice appear in supporting documentation, and - * that the name of Marc Aurele La France not be used in advertising or - * publicity pertaining to distribution of the software without specific, - * written prior permission. Marc Aurele La France makes no representations - * about the suitability of this software for any purpose. It is provided - * "as-is" without express or implied warranty. - * - * MARC AURELE LA FRANCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, - * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO - * EVENT SHALL MARC AURELE LA FRANCE BE LIABLE FOR ANY SPECIAL, INDIRECT OR - * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, - * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER - * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE - * OF THIS SOFTWARE. - */ - -#include "compiler.h" -#include "xf86_OSproc.h" - -#include <errno.h> - -static char *MyName; -static int Port = -1, Index = -1; -static unsigned int Value; - -static void -inb_usage -( -#ifdef __STDC__ - void -#endif -) -{ - fprintf(stderr, "inb [-i <index>] <port>\n"); -} - -static void -inw_usage -( -#ifdef __STDC__ - void -#endif -) -{ - fprintf(stderr, "inw [-i <index>] <port>\n"); -} - -static void -inl_usage -( -#ifdef __STDC__ - void -#endif -) -{ - fprintf(stderr, "inl [-i <index>] <port>\n"); -} - - -static void -outb_usage -( -#ifdef __STDC__ - void -#endif -) -{ - fprintf(stderr, "outb [-i <index>] <port> <value>\n"); -} - -static void -outw_usage -( -#ifdef __STDC__ - void -#endif -) -{ - fprintf(stderr, "outw [-i <index>] <port> <value>\n"); -} - -static void -outl_usage -( -#ifdef __STDC__ - void -#endif -) -{ - fprintf(stderr, "outl [-i <index>] <port> <value>\n"); -} - -static int -#ifdef __STDC__ -parse_number -( - const char *String, - void (* Usage)(void), - unsigned int Maximum) -#else -parse_number(String, Usage, Maximum) - const char *String; - void (* Usage)(); - unsigned int Maximum; -#endif -{ - char *BadString = (char *)0; - unsigned int Number = strtoul(String, &BadString, 0); - if ((Number > Maximum) || errno || - (BadString && *BadString)) - { - (*Usage)(); - exit(1); - } - - return (Number); -} - -static void -#ifdef __STDC__ -input_parse -( - int argc, - char **argv, - void (* Usage)(void)) -#else -input_parse(argc, argv, Usage) - int argc; - char **argv; - void (* Usage)(); -#endif -{ - if ((argc < 2) || (argc > 4)) - { - (*Usage)(); - exit(1); - } - - for(; (++argv, --argc); ) - { - if ((Index < 0) && - (argv[0][0] == '-') && - (argv[0][1] == 'i')) - { - if ((++argv[0], *(++argv[0])) || (++argv, --argc)) - Index = parse_number(argv[0], Usage, 0xFFU); - else - { - (*Usage)(); - exit(1); - } - } - else if (Port < 0) - { - Port = parse_number(argv[0], Usage, 0xFFFFU); - } - else - { - (*Usage)(); - exit(1); - } - } -} - -static void -#ifdef __STDC__ -output_parse -( - int argc, - char **argv, - void (* Usage)(void), - unsigned int Maximum -) -#else -output_parse(argc, argv, Usage, Maximum) - int argc; - char **argv; - void (* Usage)(); - unsigned int Maximum; -#endif -{ - char ValueSpecified = 0; - - if ((argc < 3) || (argc > 5)) - { - (*Usage)(); - exit(1); - } - - for (; (++argv, --argc); ) - { - if ((Index < 0) && - (argv[0][0] == '-') && - (argv[0][1] == 'i')) - { - if ((++argv[0], *(++argv[0])) || (++argv, --argc)) - Index = parse_number(argv[0], Usage, 0xFFU); - else - { - (*Usage)(); - exit(1); - } - } - else if (Port < 0) - { - Port = parse_number(argv[0], Usage, 0xFFFFU); - } - else if (!ValueSpecified) - { - Value = parse_number(argv[0], Usage, Maximum); - ValueSpecified = 1; - } - else - { - (*Usage)(); - exit(1); - } - } - - if (!ValueSpecified) - { - (*Usage)(); - exit(1); - } -} - -static void -#ifdef __STDC__ -do_inb -( - int argc, - char **argv -) -#else -do_inb(argc, argv) - int argc; - char **argv; -#endif -{ - input_parse(argc, argv, inb_usage); - - xf86EnableIO(); - - if (Index >= 0) - { - if (Port == 0x03C0U) - { /* Attribute Controller is different */ - unsigned short gens1; - - gens1 = ((inb(0x03CCU) & 0x01U) << 5) + 0x03BA; - (void) inb(gens1); - Index = (Index & 0x1FU) | 0x20U; - } - outb(Port, Index); - Port++; - } - Value = inb(Port); - - xf86DisableIO(); - - printf("0x%02X\n", Value); -} - -static void -#ifdef __STDC__ -do_inw -( - int argc, - char **argv -) -#else -do_inw(argc, argv) - int argc; - char **argv; -#endif -{ - input_parse(argc, argv, inw_usage); - - xf86EnableIO(); - - if (Index >= 0) - { - outb(Port, Index); - Port++; - } - Value = inw(Port); - - xf86DisableIO(); - - printf("0x%04X\n", Value); -} - -static void -#ifdef __STDC__ -do_inl -( - int argc, - char **argv -) -#else -do_inl(argc, argv) - int argc; - char **argv; -#endif -{ - input_parse(argc, argv, inl_usage); - - xf86EnableIO(); - - if (Index >= 0) - { - outb(Port, Index); - Port++; - } - Value = inl(Port); - - xf86DisableIO(); - - printf("0x%08X\n", Value); -} - -static void -#ifdef __STDC__ -do_outb -( - int argc, - char **argv -) -#else -do_outb(argc, argv) - int argc; - char **argv; -#endif -{ - output_parse(argc, argv, outb_usage, 0xFFU); - - xf86EnableIO(); - - if (Index >= 0) - { - if (Port == 0x03C0U) - { /* Attribute controller is different */ - unsigned short gens1; - - gens1 = ((inb(0x03CCU) & 0x01U) << 5) + 0x03BA; - (void) inb(gens1); - outb(0x03C0U, (Index & 0x1FU) | 0x20U); - } - else - { - outb(Port, Index); - Port++; - } - } - outb(Port, Value); - - xf86DisableIO(); - -} - -static void -#ifdef __STDC__ -do_outw -( - int argc, - char **argv -) -#else -do_outw(argc, argv) - int argc; - char **argv; -#endif -{ - output_parse(argc, argv, outw_usage, 0xFFFFU); - - xf86EnableIO(); - - if (Index >= 0) - { - outb(Port, Index); - Port++; - } - outw(Port, Value); - - xf86DisableIO(); - -} - -static void -#ifdef __STDC__ -do_outl -( - int argc, - char **argv -) -#else -do_outl(argc, argv) - int argc; - char **argv; -#endif -{ - output_parse(argc, argv, outl_usage, 0xFFFFFFFFU); - - xf86EnableIO(); - - if (Index >= 0) - { - outb(Port, Index); - Port++; - } - outl(Port, Value); - - xf86DisableIO(); - -} - -static void -usage -( -#ifdef __STDC__ - void -#endif -) -{ - inb_usage(); - inw_usage(); - inl_usage(); - outb_usage(); - outw_usage(); - outl_usage(); - exit(1); -} - -int -#ifdef __STDC__ -main -( - int argc, - char **argv -) -#else -main(argc, argv) - int argc; - char **argv; -#endif -{ - struct - { - char *Name; -#ifdef __STDC__ - void (* Function)(int, char **); -#else - void (* Function)(); -#endif - } - *Function_Entry, Function_Table[] = - { - {"inb", do_inb}, - {"inw", do_inw}, - {"inl", do_inl}, - {"outb", do_outb}, - {"outw", do_outw}, - {"outl", do_outl}, -#ifdef __STDC__ - {(char *)0, (void (*)(int, char **))usage} -#else - {(char *)0, usage} -#endif - }; - - /* Get name by which we were invoked */ - for (MyName = argv[0]; argv[0][0]; ) - if (*(argv[0]++) == '/') - MyName = argv[0]; - - /* Look up name in table and call corresponding function */ - for (Function_Entry = Function_Table; - Function_Entry->Name && - strcmp(MyName, Function_Entry->Name); - Function_Entry++); - (*Function_Entry->Function)(argc, argv); - - return (0); -} - diff --git a/xorg-server/hw/xfree86/utils/kbd_mode/Makefile.am b/xorg-server/hw/xfree86/utils/kbd_mode/Makefile.am deleted file mode 100644 index 1b28411cf..000000000 --- a/xorg-server/hw/xfree86/utils/kbd_mode/Makefile.am +++ /dev/null @@ -1,70 +0,0 @@ -# $Id$ -# -# Copyright 2005 Sun Microsystems, Inc. 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, and/or sell copies of the Software, and to permit persons -# to whom the Software is furnished to do so, provided that the above -# copyright notice(s) and this permission notice appear in all copies of -# the Software and that both the above copyright notice(s) and this -# permission notice appear in supporting documentation. -# -# 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 -# OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL -# INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING -# FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, -# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION -# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -# -# Except as contained in this notice, the name of a copyright holder -# shall not be used in advertising or otherwise to promote the sale, use -# or other dealings in this Software without prior written authorization -# of the copyright holder. -# - -if BUILD_KBD_MODE -bin_PROGRAMS = kbd_mode - -if BSD_KBD_MODE -INCLUDES = $(XORG_INCS) -kbd_mode_CFLAGS = $(XORG_CFLAGS) -kbd_mode_SOURCES = bsd-kbd_mode.c -MAN_SRC = bsd-kbd_mode.man.pre -endif - -if SUN_KBD_MODE -kbd_mode_SOURCES = sun-kbd_mode.c -MAN_SRC = sun-kbd_mode.man.pre -endif - -appmandir = $(APP_MAN_DIR) - -appman_PRE = kbd_mode.man -appman_DATA = $(appman_PRE:man=@APP_MAN_SUFFIX@) -BUILT_SOURCES = $(appman_PRE) -CLEANFILES = $(appman_PRE) $(appman_DATA) - -all-local: kbd_mode.man.pre $(appman_DATA) - -kbd_mode.man.pre: $(MAN_SRC) - $(LN_S) $(MAN_SRC) kbd_mode.man.pre - -else -all-local: -endif - -include $(top_srcdir)/cpprules.in - -SUFFIXES += .$(APP_MAN_SUFFIX) .man - -.man.$(APP_MAN_SUFFIX): - -rm -f $@ - $(LN_S) $< $@ - -EXTRA_DIST = bsd-kbd_mode.man.pre sun-kbd_mode.man.pre diff --git a/xorg-server/hw/xfree86/utils/kbd_mode/Makefile.in b/xorg-server/hw/xfree86/utils/kbd_mode/Makefile.in deleted file mode 100644 index 2de3e8eaa..000000000 --- a/xorg-server/hw/xfree86/utils/kbd_mode/Makefile.in +++ /dev/null @@ -1,829 +0,0 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -# $Id$ -# -# Copyright 2005 Sun Microsystems, Inc. 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, and/or sell copies of the Software, and to permit persons -# to whom the Software is furnished to do so, provided that the above -# copyright notice(s) and this permission notice appear in all copies of -# the Software and that both the above copyright notice(s) and this -# permission notice appear in supporting documentation. -# -# 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 -# OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL -# INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING -# FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, -# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION -# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -# -# Except as contained in this notice, the name of a copyright holder -# shall not be used in advertising or otherwise to promote the sale, use -# or other dealings in this Software without prior written authorization -# of the copyright holder. -# - -# -*- Makefile -*- -# Rules for generating files using the C pre-processor -# (Replaces CppFileTarget from Imake) - - -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -@BUILD_KBD_MODE_TRUE@bin_PROGRAMS = kbd_mode$(EXEEXT) -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(top_srcdir)/cpprules.in -subdir = hw/xfree86/utils/kbd_mode -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/include/do-not-use-config.h \ - $(top_builddir)/include/xorg-server.h \ - $(top_builddir)/include/dix-config.h \ - $(top_builddir)/include/xgl-config.h \ - $(top_builddir)/include/xorg-config.h \ - $(top_builddir)/include/xkb-config.h \ - $(top_builddir)/include/xwin-config.h \ - $(top_builddir)/include/kdrive-config.h -CONFIG_CLEAN_FILES = -am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(appmandir)" -binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) -PROGRAMS = $(bin_PROGRAMS) -am__kbd_mode_SOURCES_DIST = bsd-kbd_mode.c sun-kbd_mode.c -@BSD_KBD_MODE_FALSE@@BUILD_KBD_MODE_TRUE@@SUN_KBD_MODE_TRUE@am_kbd_mode_OBJECTS = kbd_mode-sun-kbd_mode.$(OBJEXT) -@BSD_KBD_MODE_TRUE@@BUILD_KBD_MODE_TRUE@am_kbd_mode_OBJECTS = kbd_mode-bsd-kbd_mode.$(OBJEXT) -kbd_mode_OBJECTS = $(am_kbd_mode_OBJECTS) -kbd_mode_LDADD = $(LDADD) -kbd_mode_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(kbd_mode_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -SOURCES = $(kbd_mode_SOURCES) -DIST_SOURCES = $(am__kbd_mode_SOURCES_DIST) -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; -appmanDATA_INSTALL = $(INSTALL_DATA) -DATA = $(appman_DATA) -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ -ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ -ALLOCA = @ALLOCA@ -AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ -APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ -APP_MAN_DIR = @APP_MAN_DIR@ -APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -BASE_FONT_PATH = @BASE_FONT_PATH@ -BUILD_DATE = @BUILD_DATE@ -BUILD_TIME = @BUILD_TIME@ -CC = @CC@ -CCAS = @CCAS@ -CCASDEPMODE = @CCASDEPMODE@ -CCASFLAGS = @CCASFLAGS@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -COMPILEDDEFAULTFONTPATH = @COMPILEDDEFAULTFONTPATH@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DARWIN_LIBS = @DARWIN_LIBS@ -DBUS_CFLAGS = @DBUS_CFLAGS@ -DBUS_LIBS = @DBUS_LIBS@ -DEFAULT_LIBRARY_PATH = @DEFAULT_LIBRARY_PATH@ -DEFAULT_LOGPREFIX = @DEFAULT_LOGPREFIX@ -DEFAULT_MODULE_PATH = @DEFAULT_MODULE_PATH@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DGA_CFLAGS = @DGA_CFLAGS@ -DGA_LIBS = @DGA_LIBS@ -DIX_CFLAGS = @DIX_CFLAGS@ -DLLTOOL = @DLLTOOL@ -DMXEXAMPLES_DEP_CFLAGS = @DMXEXAMPLES_DEP_CFLAGS@ -DMXEXAMPLES_DEP_LIBS = @DMXEXAMPLES_DEP_LIBS@ -DMXMODULES_CFLAGS = @DMXMODULES_CFLAGS@ -DMXMODULES_LIBS = @DMXMODULES_LIBS@ -DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ -DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ -DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ -DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ -DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ -DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ -DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ -DRIPROTO_LIBS = @DRIPROTO_LIBS@ -DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ -DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ -DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ -DSYMUTIL = @DSYMUTIL@ -DTRACE = @DTRACE@ -ECHO = @ECHO@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ -FILE_MAN_DIR = @FILE_MAN_DIR@ -FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ -GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ -GLX_DEFINES = @GLX_DEFINES@ -GL_CFLAGS = @GL_CFLAGS@ -GL_LIBS = @GL_LIBS@ -GREP = @GREP@ -HAL_CFLAGS = @HAL_CFLAGS@ -HAL_LIBS = @HAL_LIBS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -KDRIVE_CFLAGS = @KDRIVE_CFLAGS@ -KDRIVE_INCS = @KDRIVE_INCS@ -KDRIVE_LIBS = @KDRIVE_LIBS@ -KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ -KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ -KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ -LDFLAGS = @LDFLAGS@ -LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ -LEX = @LEX@ -LEXLIB = @LEXLIB@ -LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -LIBDRM_CFLAGS = @LIBDRM_CFLAGS@ -LIBDRM_LIBS = @LIBDRM_LIBS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIB_MAN_DIR = @LIB_MAN_DIR@ -LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ -LINUXDOC = @LINUXDOC@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MAKE_HTML = @MAKE_HTML@ -MAKE_PDF = @MAKE_PDF@ -MAKE_PS = @MAKE_PS@ -MAKE_TEXT = @MAKE_TEXT@ -MESA_SOURCE = @MESA_SOURCE@ -MISC_MAN_DIR = @MISC_MAN_DIR@ -MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ -MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ -NMEDIT = @NMEDIT@ -OBJC = @OBJC@ -OBJCCLD = @OBJCCLD@ -OBJCDEPMODE = @OBJCDEPMODE@ -OBJCFLAGS = @OBJCFLAGS@ -OBJCLINK = @OBJCLINK@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ -PCIACCESS_LIBS = @PCIACCESS_LIBS@ -PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@ -PERL = @PERL@ -PKG_CONFIG = @PKG_CONFIG@ -PROJECTROOT = @PROJECTROOT@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -RAWCPP = @RAWCPP@ -RAWCPPFLAGS = @RAWCPPFLAGS@ -SED = sed -SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ -SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ -STRIP = @STRIP@ -TSLIB_CFLAGS = @TSLIB_CFLAGS@ -TSLIB_LIBS = @TSLIB_LIBS@ -UTILS_SYS_LIBS = @UTILS_SYS_LIBS@ -VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ -VENDOR_NAME = @VENDOR_NAME@ -VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ -VENDOR_RELEASE = @VENDOR_RELEASE@ -VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ -X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ -X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ -XDMCP_CFLAGS = @XDMCP_CFLAGS@ -XDMCP_LIBS = @XDMCP_LIBS@ -XDMXCONFIG_DEP_CFLAGS = @XDMXCONFIG_DEP_CFLAGS@ -XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ -XDMX_CFLAGS = @XDMX_CFLAGS@ -XDMX_LIBS = @XDMX_LIBS@ -XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ -XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ -XEPHYR_INCS = @XEPHYR_INCS@ -XEPHYR_LIBS = @XEPHYR_LIBS@ -XF86CONFIGFILE = @XF86CONFIGFILE@ -XF86MISC_CFLAGS = @XF86MISC_CFLAGS@ -XF86MISC_LIBS = @XF86MISC_LIBS@ -XF86VIDMODE_CFLAGS = @XF86VIDMODE_CFLAGS@ -XF86VIDMODE_LIBS = @XF86VIDMODE_LIBS@ -XGLMODULES_CFLAGS = @XGLMODULES_CFLAGS@ -XGLMODULES_LIBS = @XGLMODULES_LIBS@ -XGLXMODULES_CFLAGS = @XGLXMODULES_CFLAGS@ -XGLXMODULES_LIBS = @XGLXMODULES_LIBS@ -XGLX_LIBS = @XGLX_LIBS@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ -XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ -XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ -XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ -XKM_OUTPUT_DIR = @XKM_OUTPUT_DIR@ -XLIB_CFLAGS = @XLIB_CFLAGS@ -XLIB_LIBS = @XLIB_LIBS@ -XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ -XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ -XNEST_LIBS = @XNEST_LIBS@ -XNEST_SYS_LIBS = @XNEST_SYS_LIBS@ -XORGCFG_DEP_CFLAGS = @XORGCFG_DEP_CFLAGS@ -XORGCFG_DEP_LIBS = @XORGCFG_DEP_LIBS@ -XORGCONFIG_DEP_CFLAGS = @XORGCONFIG_DEP_CFLAGS@ -XORGCONFIG_DEP_LIBS = @XORGCONFIG_DEP_LIBS@ -XORG_CFLAGS = @XORG_CFLAGS@ -XORG_INCS = @XORG_INCS@ -XORG_LIBS = @XORG_LIBS@ -XORG_MODULES_CFLAGS = @XORG_MODULES_CFLAGS@ -XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ -XORG_OS = @XORG_OS@ -XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ -XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ -XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ -XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ -XSDL_INCS = @XSDL_INCS@ -XSDL_LIBS = @XSDL_LIBS@ -XSERVERCFLAGS_CFLAGS = @XSERVERCFLAGS_CFLAGS@ -XSERVERCFLAGS_LIBS = @XSERVERCFLAGS_LIBS@ -XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ -XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ -XSERVER_LIBS = @XSERVER_LIBS@ -XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ -XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ -XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ -XVFB_LIBS = @XVFB_LIBS@ -XVFB_SYS_LIBS = @XVFB_SYS_LIBS@ -XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ -XWINMODULES_LIBS = @XWINMODULES_LIBS@ -XWIN_LIBS = @XWIN_LIBS@ -XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ -XWIN_SYS_LIBS = @XWIN_SYS_LIBS@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -__XCONFIGFILE__ = @__XCONFIGFILE__@ -abi_ansic = @abi_ansic@ -abi_extension = @abi_extension@ -abi_font = @abi_font@ -abi_videodrv = @abi_videodrv@ -abi_xinput = @abi_xinput@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -driverdir = @driverdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -extdir = @extdir@ -ft_config = @ft_config@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -logdir = @logdir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -moduledir = @moduledir@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sdkdir = @sdkdir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ -@BSD_KBD_MODE_TRUE@@BUILD_KBD_MODE_TRUE@INCLUDES = $(XORG_INCS) -@BSD_KBD_MODE_TRUE@@BUILD_KBD_MODE_TRUE@kbd_mode_CFLAGS = $(XORG_CFLAGS) -@BSD_KBD_MODE_TRUE@@BUILD_KBD_MODE_TRUE@kbd_mode_SOURCES = bsd-kbd_mode.c -@BUILD_KBD_MODE_TRUE@@SUN_KBD_MODE_TRUE@kbd_mode_SOURCES = sun-kbd_mode.c -@BSD_KBD_MODE_TRUE@@BUILD_KBD_MODE_TRUE@MAN_SRC = bsd-kbd_mode.man.pre -@BUILD_KBD_MODE_TRUE@@SUN_KBD_MODE_TRUE@MAN_SRC = sun-kbd_mode.man.pre -@BUILD_KBD_MODE_TRUE@appmandir = $(APP_MAN_DIR) -@BUILD_KBD_MODE_TRUE@appman_PRE = kbd_mode.man -@BUILD_KBD_MODE_TRUE@appman_DATA = $(appman_PRE:man=@APP_MAN_SUFFIX@) -@BUILD_KBD_MODE_TRUE@BUILT_SOURCES = $(appman_PRE) -@BUILD_KBD_MODE_TRUE@CLEANFILES = $(appman_PRE) $(appman_DATA) -SUFFIXES = .pre .man .man.pre .$(APP_MAN_SUFFIX) .man - -# Translate XCOMM into pound sign with sed, rather than passing -DXCOMM=XCOMM -# to cpp, because that trick does not work on all ANSI C preprocessors. -# Delete line numbers from the cpp output (-P is not portable, I guess). -# Allow XCOMM to be preceded by whitespace and provide a means of generating -# output lines with trailing backslashes. -# Allow XHASH to always be substituted, even in cases where XCOMM isn't. -CPP_SED_MAGIC = $(SED) -e '/^\# *[0-9][0-9]* *.*$$/d' \ - -e '/^\#line *[0-9][0-9]* *.*$$/d' \ - -e '/^[ ]*XCOMM$$/s/XCOMM/\#/' \ - -e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/\#/' \ - -e '/^[ ]*XHASH/s/XHASH/\#/' \ - -e '/\@\@$$/s/\@\@$$/\\/' - - -# Strings to replace in man pages -XORGRELSTRING = @PACKAGE_STRING@ -XORGMANNAME = X Version 11 -XSERVERNAME = Xorg -MANDEFS = \ - -D__vendorversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\"" \ - -D__xorgversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\"" \ - -D__appmansuffix__=$(APP_MAN_SUFFIX) \ - -D__filemansuffix__=$(FILE_MAN_SUFFIX) \ - -D__libmansuffix__=$(LIB_MAN_SUFFIX) \ - -D__miscmansuffix__=$(MISC_MAN_SUFFIX) \ - -D__drivermansuffix__=$(DRIVER_MAN_SUFFIX) \ - -D__adminmansuffix__=$(ADMIN_MAN_SUFFIX) \ - -D__mandir__=$(mandir) \ - -D__projectroot__=$(prefix) \ - -D__xconfigfile__=$(__XCONFIGFILE__) -D__xconfigdir__=$(XCONFIGDIR) \ - -D__xlogfile__=$(XLOGFILE) -D__xservername__=$(XSERVERNAME) - -EXTRA_DIST = bsd-kbd_mode.man.pre sun-kbd_mode.man.pre -all: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) all-am - -.SUFFIXES: -.SUFFIXES: .pre .man .man.pre .$(APP_MAN_SUFFIX) .man .c .lo .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/cpprules.in $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign hw/xfree86/utils/kbd_mode/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign hw/xfree86/utils/kbd_mode/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ - if test -f $$p \ - || test -f $$p1 \ - ; then \ - f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ - else :; fi; \ - done - -uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ - rm -f "$(DESTDIR)$(bindir)/$$f"; \ - done - -clean-binPROGRAMS: - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f $$p $$f"; \ - rm -f $$p $$f ; \ - done -kbd_mode$(EXEEXT): $(kbd_mode_OBJECTS) $(kbd_mode_DEPENDENCIES) - @rm -f kbd_mode$(EXEEXT) - $(kbd_mode_LINK) $(kbd_mode_OBJECTS) $(kbd_mode_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kbd_mode-bsd-kbd_mode.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kbd_mode-sun-kbd_mode.Po@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c $< - -.c.obj: -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< - -kbd_mode-bsd-kbd_mode.o: bsd-kbd_mode.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(kbd_mode_CFLAGS) $(CFLAGS) -MT kbd_mode-bsd-kbd_mode.o -MD -MP -MF $(DEPDIR)/kbd_mode-bsd-kbd_mode.Tpo -c -o kbd_mode-bsd-kbd_mode.o `test -f 'bsd-kbd_mode.c' || echo '$(srcdir)/'`bsd-kbd_mode.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/kbd_mode-bsd-kbd_mode.Tpo $(DEPDIR)/kbd_mode-bsd-kbd_mode.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bsd-kbd_mode.c' object='kbd_mode-bsd-kbd_mode.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(kbd_mode_CFLAGS) $(CFLAGS) -c -o kbd_mode-bsd-kbd_mode.o `test -f 'bsd-kbd_mode.c' || echo '$(srcdir)/'`bsd-kbd_mode.c - -kbd_mode-bsd-kbd_mode.obj: bsd-kbd_mode.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(kbd_mode_CFLAGS) $(CFLAGS) -MT kbd_mode-bsd-kbd_mode.obj -MD -MP -MF $(DEPDIR)/kbd_mode-bsd-kbd_mode.Tpo -c -o kbd_mode-bsd-kbd_mode.obj `if test -f 'bsd-kbd_mode.c'; then $(CYGPATH_W) 'bsd-kbd_mode.c'; else $(CYGPATH_W) '$(srcdir)/bsd-kbd_mode.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/kbd_mode-bsd-kbd_mode.Tpo $(DEPDIR)/kbd_mode-bsd-kbd_mode.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bsd-kbd_mode.c' object='kbd_mode-bsd-kbd_mode.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(kbd_mode_CFLAGS) $(CFLAGS) -c -o kbd_mode-bsd-kbd_mode.obj `if test -f 'bsd-kbd_mode.c'; then $(CYGPATH_W) 'bsd-kbd_mode.c'; else $(CYGPATH_W) '$(srcdir)/bsd-kbd_mode.c'; fi` - -kbd_mode-sun-kbd_mode.o: sun-kbd_mode.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(kbd_mode_CFLAGS) $(CFLAGS) -MT kbd_mode-sun-kbd_mode.o -MD -MP -MF $(DEPDIR)/kbd_mode-sun-kbd_mode.Tpo -c -o kbd_mode-sun-kbd_mode.o `test -f 'sun-kbd_mode.c' || echo '$(srcdir)/'`sun-kbd_mode.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/kbd_mode-sun-kbd_mode.Tpo $(DEPDIR)/kbd_mode-sun-kbd_mode.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sun-kbd_mode.c' object='kbd_mode-sun-kbd_mode.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(kbd_mode_CFLAGS) $(CFLAGS) -c -o kbd_mode-sun-kbd_mode.o `test -f 'sun-kbd_mode.c' || echo '$(srcdir)/'`sun-kbd_mode.c - -kbd_mode-sun-kbd_mode.obj: sun-kbd_mode.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(kbd_mode_CFLAGS) $(CFLAGS) -MT kbd_mode-sun-kbd_mode.obj -MD -MP -MF $(DEPDIR)/kbd_mode-sun-kbd_mode.Tpo -c -o kbd_mode-sun-kbd_mode.obj `if test -f 'sun-kbd_mode.c'; then $(CYGPATH_W) 'sun-kbd_mode.c'; else $(CYGPATH_W) '$(srcdir)/sun-kbd_mode.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/kbd_mode-sun-kbd_mode.Tpo $(DEPDIR)/kbd_mode-sun-kbd_mode.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sun-kbd_mode.c' object='kbd_mode-sun-kbd_mode.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(kbd_mode_CFLAGS) $(CFLAGS) -c -o kbd_mode-sun-kbd_mode.obj `if test -f 'sun-kbd_mode.c'; then $(CYGPATH_W) 'sun-kbd_mode.c'; else $(CYGPATH_W) '$(srcdir)/sun-kbd_mode.c'; fi` - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-appmanDATA: $(appman_DATA) - @$(NORMAL_INSTALL) - test -z "$(appmandir)" || $(MKDIR_P) "$(DESTDIR)$(appmandir)" - @list='$(appman_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(appmanDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(appmandir)/$$f'"; \ - $(appmanDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(appmandir)/$$f"; \ - done - -uninstall-appmanDATA: - @$(NORMAL_UNINSTALL) - @list='$(appman_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(appmandir)/$$f'"; \ - rm -f "$(DESTDIR)$(appmandir)/$$f"; \ - done - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ - fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) check-am -all-am: Makefile $(PROGRAMS) $(DATA) all-local -installdirs: - for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(appmandir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -clean: clean-am - -clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: install-appmanDATA - -install-dvi: install-dvi-am - -install-exec-am: install-binPROGRAMS - -install-html: install-html-am - -install-info: install-info-am - -install-man: - -install-pdf: install-pdf-am - -install-ps: install-ps-am - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-appmanDATA uninstall-binPROGRAMS - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS all all-am all-local check check-am clean \ - clean-binPROGRAMS clean-generic clean-libtool ctags distclean \ - distclean-compile distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-appmanDATA install-binPROGRAMS \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am uninstall-appmanDATA \ - uninstall-binPROGRAMS - - -@BUILD_KBD_MODE_TRUE@all-local: kbd_mode.man.pre $(appman_DATA) - -@BUILD_KBD_MODE_TRUE@kbd_mode.man.pre: $(MAN_SRC) -@BUILD_KBD_MODE_TRUE@ $(LN_S) $(MAN_SRC) kbd_mode.man.pre - -@BUILD_KBD_MODE_FALSE@all-local: - -.pre: - $(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < $< | $(CPP_SED_MAGIC) > $@ - -.man.pre.man: - $(RAWCPP) $(RAWCPPFLAGS) $(MANDEFS) $(EXTRAMANDEFS) < $< | $(CPP_SED_MAGIC) > $@ - -.man.$(APP_MAN_SUFFIX): - -rm -f $@ - $(LN_S) $< $@ -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/xorg-server/hw/xfree86/utils/kbd_mode/bsd-kbd_mode.c b/xorg-server/hw/xfree86/utils/kbd_mode/bsd-kbd_mode.c deleted file mode 100644 index 5f8bdbd7f..000000000 --- a/xorg-server/hw/xfree86/utils/kbd_mode/bsd-kbd_mode.c +++ /dev/null @@ -1,91 +0,0 @@ -/* Keyboard mode control program for 386BSD */ - -#include <sys/types.h> -#include <fcntl.h> -#include <errno.h> -#include <unistd.h> -#include <stdio.h> -#include <ctype.h> -#include <stdlib.h> -#include <string.h> - -#include <X11/X.h> -#include "input.h" -#include "scrnintstr.h" - -#include "xf86.h" -#include "xf86Priv.h" -#include "xf86_OSlib.h" - -static int fd; - -void -msg (char* s) -{ - perror (s); - close (fd); - exit (-1); -} - -int -main(int argc, char** argv) -{ -#if defined(SYSCONS_SUPPORT) || defined(PCVT_SUPPORT) - vtmode_t vtmode; -#endif - Bool syscons = FALSE; - - if ((fd = open("/dev/vga",O_RDONLY,0)) <0) - msg ("Cannot open /dev/vga"); - -#if defined(SYSCONS_SUPPORT) || defined(PCVT_SUPPORT) - /* Check if syscons */ - if (ioctl(fd, VT_GETMODE, &vtmode) >= 0) - syscons = TRUE; -#endif - - if (0 == strcmp (argv[1], "-u")) - { - if (syscons) - { -#if defined(SYSCONS_SUPPORT) || defined(PCVT_SUPPORT) - ioctl (fd, KDSKBMODE, K_RAW); -#endif - } - else - { - if (ioctl (fd, CONSOLE_X_MODE_ON, 0) < 0) - { - close (fd); - exit (0); /* Assume codrv, so nothing to do */ - } - } - } - else if (0 == strcmp (argv[1], "-a")) - { - if (syscons) - { -#if defined(SYSCONS_SUPPORT) || defined(PCVT_SUPPORT) - ioctl (fd, KDSKBMODE, K_XLATE); -#endif - } - else - { - if (ioctl (fd, CONSOLE_X_MODE_OFF, 0) < 0) - { - close (fd); - exit (0); /* Assume codrv, so nothing to do */ - } - } - } - else - { - close (fd); - fprintf (stderr,"Usage: %s [-u|-a]\n",argv[0]); - fprintf (stderr,"-u for sending up down key events in x mode.\n"); - fprintf (stderr,"-a for sending ascii keys in normal use.\n"); - exit (-1); - } - close (fd); - exit (0); -} diff --git a/xorg-server/hw/xfree86/utils/kbd_mode/bsd-kbd_mode.man.pre b/xorg-server/hw/xfree86/utils/kbd_mode/bsd-kbd_mode.man.pre deleted file mode 100644 index 3f7842cfd..000000000 --- a/xorg-server/hw/xfree86/utils/kbd_mode/bsd-kbd_mode.man.pre +++ /dev/null @@ -1,36 +0,0 @@ -.\" $XFree86: xc/programs/Xserver/hw/xfree86/etc/kbd_mode.man,v 3.4 1998/04/05 02:28:42 dawes Exp $ -.TH KBD_MODE 1 __vendorversion__ -.SH NAME -kbd_mode \- recover the PC console keyboard -.SH SYNOPSIS -.B kbd_mode -[ -a -u ] -.SH DESCRIPTION -.I Kbd_mode -resets the PC console keyboard to a rational state. -.SH OPTIONS -The following options are supported: -.TP 8 -.B \-a -Set the keyboard so that ASCII characters are read from the console. -.TP 8 -.B \-u -Set the keyboard so that undecoded keyboard values are read from the -console. -.SH EXAMPLES -If the server crashes or otherwise fails to put the keyboard back in -ascii mode when it exits, it can leave your keyboard dead. If you are -able to login remotely, you can reset it typing: -.sp - kbd_mode -a -.sp -.PP -Conversely, changing the keyboard to ascii mode while the server is -running will make the keyboard appear to be dead while the the mouse -continues to work. Again, if you are able to login remotely, you can -reset it typing: -.sp - kbd_mode -u -.sp - -.\" $TOG: kbd_mode.man /main/6 1997/07/19 10:37:14 kaleb $ diff --git a/xorg-server/hw/xfree86/utils/kbd_mode/sun-kbd_mode.c b/xorg-server/hw/xfree86/utils/kbd_mode/sun-kbd_mode.c deleted file mode 100644 index f2802a6b8..000000000 --- a/xorg-server/hw/xfree86/utils/kbd_mode/sun-kbd_mode.c +++ /dev/null @@ -1,152 +0,0 @@ -/************************************************************ -Copyright 1987 by Sun Microsystems, Inc. Mountain View, CA. - - All Rights Reserved - -Permission to use, copy, modify, and distribute this -software and its documentation for any purpose and without -fee is hereby granted, provided that the above copyright no- -tice appear in all copies and that both that copyright no- -tice and this permission notice appear in supporting docu- -mentation, and that the names of Sun or The Open Group -not be used in advertising or publicity pertaining to -distribution of the software without specific prior -written permission. Sun and The Open Group make no -representations about the suitability of this software for -any purpose. It is provided "as is" without any express or -implied warranty. - -SUN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, -INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FIT- -NESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SUN BE LI- -ABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR -ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR -PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH -THE USE OR PERFORMANCE OF THIS SOFTWARE. - -********************************************************/ - -/* -static char sccsid[] = "@(#)kbd_mode.c 7.1 87/04/13"; - */ - -/* - * Copyright 1986 by Sun Microsystems, Inc. - * - * kbd_mode: set keyboard encoding mode - */ - -#include <sys/types.h> -#include <sys/file.h> -#include <sys/ioctl.h> -#if defined(SVR4) || defined(__SVR4) || defined(__bsdi__) -#include <fcntl.h> -#ifndef __bsdi__ -#include <sys/kbio.h> -#include <sys/kbd.h> -#else -#include <unistd.h> -#include </sys/sparc/dev/kbio.h> -#include </sys/sparc/dev/kbd.h> -#endif -#else -#ifndef CSRG_BASED -#include <sundev/kbio.h> -#include <sundev/kbd.h> -#else -#include <machine/kbio.h> -#include <machine/kbd.h> -#endif -#endif -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> - -static void die(char*); -static void usage(void); -static int kbd_fd; - -int -main(argc, argv) - int argc; - char** argv; -{ - int code = 0, translate, direct = -1; - char led; - int click; - - if ((kbd_fd = open("/dev/kbd", O_RDONLY, 0)) < 0) { - die("Couldn't open /dev/kbd"); - } - argc--; argv++; - if (argc-- && **argv == '-') { - code = *(++*argv); - } else { - usage(); - } - switch (code) { - case 'a': - case 'A': - translate = TR_ASCII; - direct = 0; - break; - case 'e': - case 'E': - translate = TR_EVENT; - break; - case 'n': - case 'N': - translate = TR_NONE; - break; - case 'u': - case 'U': - translate = TR_UNTRANS_EVENT; - break; - default: - usage(); - } -#ifdef KIOCSLED - led = 0; - if (ioctl(kbd_fd, KIOCSLED, &led)) - die("Couldn't set LEDs"); -#endif -#ifdef KIOCCMD - click = KBD_CMD_NOCLICK; - if (ioctl(kbd_fd, KIOCCMD, &click)) - die("Couldn't set click"); -#endif - if (ioctl(kbd_fd, KIOCTRANS, (caddr_t) &translate)) - die("Couldn't set translation"); - if (direct != -1 && ioctl(kbd_fd, KIOCSDIRECT, (caddr_t) &direct)) - die("Couldn't set redirect"); - return 0; -} - -static void -die(char *msg) -{ - fprintf(stderr, "%s\n", msg); - exit(1); -} - -static void -usage(void) -{ - int translate; - - if (ioctl(kbd_fd, KIOCGTRANS, (caddr_t) &translate)) { - die("Couldn't inquire current translation"); - } - fprintf(stderr, "kbd_mode {-a | -e | -n | -u }\n"); - fprintf(stderr, "\tfor ascii, encoded (normal) SunView events,\n"); - fprintf(stderr, " \tnon-encoded, or unencoded SunView events, resp.\n"); - fprintf(stderr, "Current mode is %s.\n", - ( translate == 0 ? "n (non-translated bytes)" : - ( translate == 1 ? "a (ascii bytes)" : - ( translate == 2 ? "e (encoded events)" : - /* translate == 3 */ "u (unencoded events)")))); - exit(1); -} - - diff --git a/xorg-server/hw/xfree86/utils/kbd_mode/sun-kbd_mode.man.pre b/xorg-server/hw/xfree86/utils/kbd_mode/sun-kbd_mode.man.pre deleted file mode 100644 index 367b4fc9a..000000000 --- a/xorg-server/hw/xfree86/utils/kbd_mode/sun-kbd_mode.man.pre +++ /dev/null @@ -1,53 +0,0 @@ -.\" $Xorg: kbd_mode.man,v 1.4 2001/02/09 02:04:43 xorgcvs Exp $ -.\" Copyright 1987 Sun Microsystems, Inc. -.\" Copyright 1993, 1998 The Open Group -.\" -.\" Permission to use, copy, modify, distribute, and sell this software and its -.\" documentation for any purpose is hereby granted without fee, provided that -.\" the above copyright notice appear in all copies and that both that -.\" copyright notice and this permission notice appear in supporting -.\" documentation. -.\" -.\" 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 OPEN GROUP 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 The Open Group 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 Open Group. -.\" -.\" $XFree86: xc/programs/Xserver/hw/sun/kbd_mode.man,v 1.6 2001/01/27 18:20:41 dawes Exp $ -.\" -.TH KBD_MODE 1 __xorgversion__ -.SH NAME -kbd_mode \- recover the Sun console keyboard -.SH SYNOPSIS -.B kbd_mode -[ -a -e -n -u ] -.SH DESCRIPTION -.I Kbd_mode -resets the Sun console keyboard to a rational state. -.SH OPTIONS -The following options are supported, see \fIkb(4S)\fP for details: -.TP 8 -.B \-a -Causes ASCII to be reported. -.TP 8 -.B \-e -Causes \fIFirm_events\fP to be reported. -.TP 8 -.B \-n -Causes up/down key codes to be reported. -.TP 8 -.B \-u -Causes undecoded keyboard values to be reported. -.SH SEE ALSO -kb(4S) diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/Makefile.am b/xorg-server/hw/xfree86/utils/xorgcfg/Makefile.am deleted file mode 100644 index 31d1b3f00..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/Makefile.am +++ /dev/null @@ -1,164 +0,0 @@ -# Copyright 2005 Sun Microsystems, Inc. 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, and/or sell copies of the Software, and to permit persons -# to whom the Software is furnished to do so, provided that the above -# copyright notice(s) and this permission notice appear in all copies of -# the Software and that both the above copyright notice(s) and this -# permission notice appear in supporting documentation. -# -# 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 -# OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL -# INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING -# FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, -# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION -# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -# -# Except as contained in this notice, the name of a copyright holder -# shall not be used in advertising or otherwise to promote the sale, use -# or other dealings in this Software without prior written authorization -# of the copyright holder. -# - -if BUILD_XORGCFG -bin_PROGRAMS = xorgcfg - -INCLUDES = $(XORG_INCS) -I$(top_srcdir)/hw/xfree86/parser - -OPTIONSPATH=$(libdir)/X11 - -xorgcfg_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) $(CURSESDEFINES) \ - $(XORGCFG_DEP_CFLAGS) -DXKB_RULES_DIR=\"$(XKB_BASE_DIRECTORY)/rules\" \ - -DPROJECT_ROOT=\"$(PROJECTROOT)\" -DOPTIONSPATH=\"$(OPTIONSPATH)\" -xorgcfg_LDADD = $(XORGCFG_DEP_LIBS) ../../parser/libxf86config.a $(LOADERLIB) \ - ../../os-support/libxorgos.la ../../dummylib/libdummy-nonserver.a \ - ${SYS_LIBS} - -#if DoLoadableServer -LDSRCS = \ - loader.c loadmod.c -LOADERLIB = ../../loader/libloader.a -#endif - -if USE_CURSES -TEXTSRC = text-mode.c -TEXTOBJ = text-mode.o -CURSESDEFINES = -DHAS_NCURSES -endif - -if NEED_STRLCAT -STRL_SRCS = $(top_srcdir)/os/strlcat.c $(top_srcdir)/os/strlcpy.c -endif -endif BUILD_XORGCFG - -xorgcfg_SOURCES = \ - accessx.c \ - card-cfg.c \ - cards.c \ - config.c \ - expert.c \ - help.c \ - interface.c \ - keyboard-cfg.c \ - $(LDSRCS) \ - monitor-cfg.c \ - mouse-cfg.c \ - options.c \ - screen-cfg.c \ - screen.c \ - $(SNPRINTFSRCS) \ - startx.c \ - $(STRLSRCS) \ - stubs.c \ - $(TEXTSRC) \ - vidmode.c \ - xf86config.c \ - card-cfg.h \ - cards.h \ - config.h \ - help.h \ - keyboard-cfg.h \ - loader.h \ - monitor-cfg.h \ - mouse-cfg.h \ - options.h \ - screen-cfg.h \ - screen.h \ - stubs.h \ - vidmode.h \ - xf86config.h \ - $(STRL_SRCS) - -BITMAPS = \ - card.xbm \ - keyboard.xbm \ - monitor.xbm \ - mouse.xbm \ - left.xbm \ - right.xbm \ - up.xbm \ - down.xbm \ - wider.xbm \ - narrower.xbm \ - shorter.xbm \ - taller.xbm - -PIXMAPS = \ - card.xpm \ - computer.xpm \ - keyboard.xpm \ - monitor.xpm \ - mouse.xpm - -# Rules needed to cpp man page & app-defaults -include $(top_srcdir)/cpprules.in - -if BUILD_XORGCFG -XBMdir = $(includedir)/X11/bitmaps -XPMdir = $(includedir)/X11/pixmaps - -XBM_DATA = $(BITMAPS) -XPM_DATA = $(PIXMAPS) - -# App default files (*.ad) - -appdefaultdir = @APPDEFAULTDIR@ - -APPDEFAULTFILES = XOrgCfg - -appdefault_DATA = $(APPDEFAULTFILES) - -CPP_FILES_FLAGS = -D__VENDORNAME__="@VENDOR_STRING_SHORT@" \ - -D__VENDORVERS__="@VENDOR_MAN_VERSION@" - -# dear automake: it would be really nice if you would actually put things into -# .SUFFIXES so i wouldnt' have to do this. -XOrgCfg: XOrgCfg.pre - $(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < XOrgCfg.pre | $(CPP_SED_MAGIC) > $@ - -# Man page -appmandir = $(APP_MAN_DIR) - -appman_PRE = xorgcfg.man -appman_DATA = $(appman_PRE:man=@APP_MAN_SUFFIX@) - -all-local: $(appman_PRE) $(appman_DATA) - -BUILT_SOURCES = $(appman_PRE) -CLEANFILES = $(APPDEFAULTFILES) $(BUILT_SOURCES) $(appman_DATA) - -SUFFIXES += .$(APP_MAN_SUFFIX) .man - -.man.$(APP_MAN_SUFFIX): - -rm -f $@ - $(LN_S) $< $@ - -endif BUILD_XORGCFG - -EXTRA_DIST = $(BITMAPS) $(PIXMAPS) XOrgCfg.pre xorgcfg.man.pre diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/Makefile.in b/xorg-server/hw/xfree86/utils/xorgcfg/Makefile.in deleted file mode 100644 index df043f868..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/Makefile.in +++ /dev/null @@ -1,1305 +0,0 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -# Copyright 2005 Sun Microsystems, Inc. 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, and/or sell copies of the Software, and to permit persons -# to whom the Software is furnished to do so, provided that the above -# copyright notice(s) and this permission notice appear in all copies of -# the Software and that both the above copyright notice(s) and this -# permission notice appear in supporting documentation. -# -# 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 -# OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL -# INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING -# FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, -# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION -# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -# -# Except as contained in this notice, the name of a copyright holder -# shall not be used in advertising or otherwise to promote the sale, use -# or other dealings in this Software without prior written authorization -# of the copyright holder. -# - -# -*- Makefile -*- -# Rules for generating files using the C pre-processor -# (Replaces CppFileTarget from Imake) - - -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -@BUILD_XORGCFG_TRUE@bin_PROGRAMS = xorgcfg$(EXEEXT) -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(top_srcdir)/cpprules.in TODO -@BUILD_XORGCFG_TRUE@am__append_1 = .$(APP_MAN_SUFFIX) .man -subdir = hw/xfree86/utils/xorgcfg -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/include/do-not-use-config.h \ - $(top_builddir)/include/xorg-server.h \ - $(top_builddir)/include/dix-config.h \ - $(top_builddir)/include/xgl-config.h \ - $(top_builddir)/include/xorg-config.h \ - $(top_builddir)/include/xkb-config.h \ - $(top_builddir)/include/xwin-config.h \ - $(top_builddir)/include/kdrive-config.h -CONFIG_CLEAN_FILES = -am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(XBMdir)" \ - "$(DESTDIR)$(XPMdir)" "$(DESTDIR)$(appdefaultdir)" \ - "$(DESTDIR)$(appmandir)" -binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) -PROGRAMS = $(bin_PROGRAMS) -am__xorgcfg_SOURCES_DIST = accessx.c card-cfg.c cards.c config.c \ - expert.c help.c interface.c keyboard-cfg.c loader.c loadmod.c \ - monitor-cfg.c mouse-cfg.c options.c screen-cfg.c screen.c \ - startx.c stubs.c text-mode.c vidmode.c xf86config.c card-cfg.h \ - cards.h config.h help.h keyboard-cfg.h loader.h monitor-cfg.h \ - mouse-cfg.h options.h screen-cfg.h screen.h stubs.h vidmode.h \ - xf86config.h $(top_srcdir)/os/strlcat.c \ - $(top_srcdir)/os/strlcpy.c -@BUILD_XORGCFG_TRUE@am__objects_1 = xorgcfg-loader.$(OBJEXT) \ -@BUILD_XORGCFG_TRUE@ xorgcfg-loadmod.$(OBJEXT) -@BUILD_XORGCFG_TRUE@@USE_CURSES_TRUE@am__objects_2 = xorgcfg-text-mode.$(OBJEXT) -@BUILD_XORGCFG_TRUE@@NEED_STRLCAT_TRUE@am__objects_3 = xorgcfg-strlcat.$(OBJEXT) \ -@BUILD_XORGCFG_TRUE@@NEED_STRLCAT_TRUE@ xorgcfg-strlcpy.$(OBJEXT) -am_xorgcfg_OBJECTS = xorgcfg-accessx.$(OBJEXT) \ - xorgcfg-card-cfg.$(OBJEXT) xorgcfg-cards.$(OBJEXT) \ - xorgcfg-config.$(OBJEXT) xorgcfg-expert.$(OBJEXT) \ - xorgcfg-help.$(OBJEXT) xorgcfg-interface.$(OBJEXT) \ - xorgcfg-keyboard-cfg.$(OBJEXT) $(am__objects_1) \ - xorgcfg-monitor-cfg.$(OBJEXT) xorgcfg-mouse-cfg.$(OBJEXT) \ - xorgcfg-options.$(OBJEXT) xorgcfg-screen-cfg.$(OBJEXT) \ - xorgcfg-screen.$(OBJEXT) xorgcfg-startx.$(OBJEXT) \ - xorgcfg-stubs.$(OBJEXT) $(am__objects_2) \ - xorgcfg-vidmode.$(OBJEXT) xorgcfg-xf86config.$(OBJEXT) \ - $(am__objects_3) -xorgcfg_OBJECTS = $(am_xorgcfg_OBJECTS) -am__DEPENDENCIES_1 = -@BUILD_XORGCFG_TRUE@xorgcfg_DEPENDENCIES = $(am__DEPENDENCIES_1) \ -@BUILD_XORGCFG_TRUE@ ../../parser/libxf86config.a $(LOADERLIB) \ -@BUILD_XORGCFG_TRUE@ ../../os-support/libxorgos.la \ -@BUILD_XORGCFG_TRUE@ ../../dummylib/libdummy-nonserver.a -xorgcfg_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(xorgcfg_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -SOURCES = $(xorgcfg_SOURCES) -DIST_SOURCES = $(am__xorgcfg_SOURCES_DIST) -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; -XBMDATA_INSTALL = $(INSTALL_DATA) -XPMDATA_INSTALL = $(INSTALL_DATA) -appdefaultDATA_INSTALL = $(INSTALL_DATA) -appmanDATA_INSTALL = $(INSTALL_DATA) -DATA = $(XBM_DATA) $(XPM_DATA) $(appdefault_DATA) $(appman_DATA) -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ -ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ -ALLOCA = @ALLOCA@ -AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ -APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ -APP_MAN_DIR = @APP_MAN_DIR@ -APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -BASE_FONT_PATH = @BASE_FONT_PATH@ -BUILD_DATE = @BUILD_DATE@ -BUILD_TIME = @BUILD_TIME@ -CC = @CC@ -CCAS = @CCAS@ -CCASDEPMODE = @CCASDEPMODE@ -CCASFLAGS = @CCASFLAGS@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -COMPILEDDEFAULTFONTPATH = @COMPILEDDEFAULTFONTPATH@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DARWIN_LIBS = @DARWIN_LIBS@ -DBUS_CFLAGS = @DBUS_CFLAGS@ -DBUS_LIBS = @DBUS_LIBS@ -DEFAULT_LIBRARY_PATH = @DEFAULT_LIBRARY_PATH@ -DEFAULT_LOGPREFIX = @DEFAULT_LOGPREFIX@ -DEFAULT_MODULE_PATH = @DEFAULT_MODULE_PATH@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DGA_CFLAGS = @DGA_CFLAGS@ -DGA_LIBS = @DGA_LIBS@ -DIX_CFLAGS = @DIX_CFLAGS@ -DLLTOOL = @DLLTOOL@ -DMXEXAMPLES_DEP_CFLAGS = @DMXEXAMPLES_DEP_CFLAGS@ -DMXEXAMPLES_DEP_LIBS = @DMXEXAMPLES_DEP_LIBS@ -DMXMODULES_CFLAGS = @DMXMODULES_CFLAGS@ -DMXMODULES_LIBS = @DMXMODULES_LIBS@ -DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ -DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ -DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ -DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ -DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ -DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ -DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ -DRIPROTO_LIBS = @DRIPROTO_LIBS@ -DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ -DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ -DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ -DSYMUTIL = @DSYMUTIL@ -DTRACE = @DTRACE@ -ECHO = @ECHO@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ -FILE_MAN_DIR = @FILE_MAN_DIR@ -FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ -GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ -GLX_DEFINES = @GLX_DEFINES@ -GL_CFLAGS = @GL_CFLAGS@ -GL_LIBS = @GL_LIBS@ -GREP = @GREP@ -HAL_CFLAGS = @HAL_CFLAGS@ -HAL_LIBS = @HAL_LIBS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -KDRIVE_CFLAGS = @KDRIVE_CFLAGS@ -KDRIVE_INCS = @KDRIVE_INCS@ -KDRIVE_LIBS = @KDRIVE_LIBS@ -KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ -KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ -KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ -LDFLAGS = @LDFLAGS@ -LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ -LEX = @LEX@ -LEXLIB = @LEXLIB@ -LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -LIBDRM_CFLAGS = @LIBDRM_CFLAGS@ -LIBDRM_LIBS = @LIBDRM_LIBS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIB_MAN_DIR = @LIB_MAN_DIR@ -LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ -LINUXDOC = @LINUXDOC@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MAKE_HTML = @MAKE_HTML@ -MAKE_PDF = @MAKE_PDF@ -MAKE_PS = @MAKE_PS@ -MAKE_TEXT = @MAKE_TEXT@ -MESA_SOURCE = @MESA_SOURCE@ -MISC_MAN_DIR = @MISC_MAN_DIR@ -MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ -MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ -NMEDIT = @NMEDIT@ -OBJC = @OBJC@ -OBJCCLD = @OBJCCLD@ -OBJCDEPMODE = @OBJCDEPMODE@ -OBJCFLAGS = @OBJCFLAGS@ -OBJCLINK = @OBJCLINK@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ -PCIACCESS_LIBS = @PCIACCESS_LIBS@ -PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@ -PERL = @PERL@ -PKG_CONFIG = @PKG_CONFIG@ -PROJECTROOT = @PROJECTROOT@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -RAWCPP = @RAWCPP@ -RAWCPPFLAGS = @RAWCPPFLAGS@ -SED = sed -SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ -SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ -STRIP = @STRIP@ -TSLIB_CFLAGS = @TSLIB_CFLAGS@ -TSLIB_LIBS = @TSLIB_LIBS@ -UTILS_SYS_LIBS = @UTILS_SYS_LIBS@ -VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ -VENDOR_NAME = @VENDOR_NAME@ -VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ -VENDOR_RELEASE = @VENDOR_RELEASE@ -VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ -X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ -X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ -XDMCP_CFLAGS = @XDMCP_CFLAGS@ -XDMCP_LIBS = @XDMCP_LIBS@ -XDMXCONFIG_DEP_CFLAGS = @XDMXCONFIG_DEP_CFLAGS@ -XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ -XDMX_CFLAGS = @XDMX_CFLAGS@ -XDMX_LIBS = @XDMX_LIBS@ -XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ -XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ -XEPHYR_INCS = @XEPHYR_INCS@ -XEPHYR_LIBS = @XEPHYR_LIBS@ -XF86CONFIGFILE = @XF86CONFIGFILE@ -XF86MISC_CFLAGS = @XF86MISC_CFLAGS@ -XF86MISC_LIBS = @XF86MISC_LIBS@ -XF86VIDMODE_CFLAGS = @XF86VIDMODE_CFLAGS@ -XF86VIDMODE_LIBS = @XF86VIDMODE_LIBS@ -XGLMODULES_CFLAGS = @XGLMODULES_CFLAGS@ -XGLMODULES_LIBS = @XGLMODULES_LIBS@ -XGLXMODULES_CFLAGS = @XGLXMODULES_CFLAGS@ -XGLXMODULES_LIBS = @XGLXMODULES_LIBS@ -XGLX_LIBS = @XGLX_LIBS@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ -XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ -XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ -XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ -XKM_OUTPUT_DIR = @XKM_OUTPUT_DIR@ -XLIB_CFLAGS = @XLIB_CFLAGS@ -XLIB_LIBS = @XLIB_LIBS@ -XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ -XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ -XNEST_LIBS = @XNEST_LIBS@ -XNEST_SYS_LIBS = @XNEST_SYS_LIBS@ -XORGCFG_DEP_CFLAGS = @XORGCFG_DEP_CFLAGS@ -XORGCFG_DEP_LIBS = @XORGCFG_DEP_LIBS@ -XORGCONFIG_DEP_CFLAGS = @XORGCONFIG_DEP_CFLAGS@ -XORGCONFIG_DEP_LIBS = @XORGCONFIG_DEP_LIBS@ -XORG_CFLAGS = @XORG_CFLAGS@ -XORG_INCS = @XORG_INCS@ -XORG_LIBS = @XORG_LIBS@ -XORG_MODULES_CFLAGS = @XORG_MODULES_CFLAGS@ -XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ -XORG_OS = @XORG_OS@ -XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ -XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ -XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ -XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ -XSDL_INCS = @XSDL_INCS@ -XSDL_LIBS = @XSDL_LIBS@ -XSERVERCFLAGS_CFLAGS = @XSERVERCFLAGS_CFLAGS@ -XSERVERCFLAGS_LIBS = @XSERVERCFLAGS_LIBS@ -XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ -XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ -XSERVER_LIBS = @XSERVER_LIBS@ -XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ -XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ -XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ -XVFB_LIBS = @XVFB_LIBS@ -XVFB_SYS_LIBS = @XVFB_SYS_LIBS@ -XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ -XWINMODULES_LIBS = @XWINMODULES_LIBS@ -XWIN_LIBS = @XWIN_LIBS@ -XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ -XWIN_SYS_LIBS = @XWIN_SYS_LIBS@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -__XCONFIGFILE__ = @__XCONFIGFILE__@ -abi_ansic = @abi_ansic@ -abi_extension = @abi_extension@ -abi_font = @abi_font@ -abi_videodrv = @abi_videodrv@ -abi_xinput = @abi_xinput@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -driverdir = @driverdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -extdir = @extdir@ -ft_config = @ft_config@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -logdir = @logdir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -moduledir = @moduledir@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sdkdir = @sdkdir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ -@BUILD_XORGCFG_TRUE@INCLUDES = $(XORG_INCS) -I$(top_srcdir)/hw/xfree86/parser -@BUILD_XORGCFG_TRUE@OPTIONSPATH = $(libdir)/X11 -@BUILD_XORGCFG_TRUE@xorgcfg_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) $(CURSESDEFINES) \ -@BUILD_XORGCFG_TRUE@ $(XORGCFG_DEP_CFLAGS) -DXKB_RULES_DIR=\"$(XKB_BASE_DIRECTORY)/rules\" \ -@BUILD_XORGCFG_TRUE@ -DPROJECT_ROOT=\"$(PROJECTROOT)\" -DOPTIONSPATH=\"$(OPTIONSPATH)\" - -@BUILD_XORGCFG_TRUE@xorgcfg_LDADD = $(XORGCFG_DEP_LIBS) ../../parser/libxf86config.a $(LOADERLIB) \ -@BUILD_XORGCFG_TRUE@ ../../os-support/libxorgos.la ../../dummylib/libdummy-nonserver.a \ -@BUILD_XORGCFG_TRUE@ ${SYS_LIBS} - - -#if DoLoadableServer -@BUILD_XORGCFG_TRUE@LDSRCS = \ -@BUILD_XORGCFG_TRUE@ loader.c loadmod.c - -@BUILD_XORGCFG_TRUE@LOADERLIB = ../../loader/libloader.a -#endif -@BUILD_XORGCFG_TRUE@@USE_CURSES_TRUE@TEXTSRC = text-mode.c -@BUILD_XORGCFG_TRUE@@USE_CURSES_TRUE@TEXTOBJ = text-mode.o -@BUILD_XORGCFG_TRUE@@USE_CURSES_TRUE@CURSESDEFINES = -DHAS_NCURSES -@BUILD_XORGCFG_TRUE@@NEED_STRLCAT_TRUE@STRL_SRCS = $(top_srcdir)/os/strlcat.c $(top_srcdir)/os/strlcpy.c -xorgcfg_SOURCES = \ - accessx.c \ - card-cfg.c \ - cards.c \ - config.c \ - expert.c \ - help.c \ - interface.c \ - keyboard-cfg.c \ - $(LDSRCS) \ - monitor-cfg.c \ - mouse-cfg.c \ - options.c \ - screen-cfg.c \ - screen.c \ - $(SNPRINTFSRCS) \ - startx.c \ - $(STRLSRCS) \ - stubs.c \ - $(TEXTSRC) \ - vidmode.c \ - xf86config.c \ - card-cfg.h \ - cards.h \ - config.h \ - help.h \ - keyboard-cfg.h \ - loader.h \ - monitor-cfg.h \ - mouse-cfg.h \ - options.h \ - screen-cfg.h \ - screen.h \ - stubs.h \ - vidmode.h \ - xf86config.h \ - $(STRL_SRCS) - -BITMAPS = \ - card.xbm \ - keyboard.xbm \ - monitor.xbm \ - mouse.xbm \ - left.xbm \ - right.xbm \ - up.xbm \ - down.xbm \ - wider.xbm \ - narrower.xbm \ - shorter.xbm \ - taller.xbm - -PIXMAPS = \ - card.xpm \ - computer.xpm \ - keyboard.xpm \ - monitor.xpm \ - mouse.xpm - -SUFFIXES = .pre .man .man.pre $(am__append_1) - -# Translate XCOMM into pound sign with sed, rather than passing -DXCOMM=XCOMM -# to cpp, because that trick does not work on all ANSI C preprocessors. -# Delete line numbers from the cpp output (-P is not portable, I guess). -# Allow XCOMM to be preceded by whitespace and provide a means of generating -# output lines with trailing backslashes. -# Allow XHASH to always be substituted, even in cases where XCOMM isn't. -CPP_SED_MAGIC = $(SED) -e '/^\# *[0-9][0-9]* *.*$$/d' \ - -e '/^\#line *[0-9][0-9]* *.*$$/d' \ - -e '/^[ ]*XCOMM$$/s/XCOMM/\#/' \ - -e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/\#/' \ - -e '/^[ ]*XHASH/s/XHASH/\#/' \ - -e '/\@\@$$/s/\@\@$$/\\/' - - -# Strings to replace in man pages -XORGRELSTRING = @PACKAGE_STRING@ -XORGMANNAME = X Version 11 -XSERVERNAME = Xorg -MANDEFS = \ - -D__vendorversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\"" \ - -D__xorgversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\"" \ - -D__appmansuffix__=$(APP_MAN_SUFFIX) \ - -D__filemansuffix__=$(FILE_MAN_SUFFIX) \ - -D__libmansuffix__=$(LIB_MAN_SUFFIX) \ - -D__miscmansuffix__=$(MISC_MAN_SUFFIX) \ - -D__drivermansuffix__=$(DRIVER_MAN_SUFFIX) \ - -D__adminmansuffix__=$(ADMIN_MAN_SUFFIX) \ - -D__mandir__=$(mandir) \ - -D__projectroot__=$(prefix) \ - -D__xconfigfile__=$(__XCONFIGFILE__) -D__xconfigdir__=$(XCONFIGDIR) \ - -D__xlogfile__=$(XLOGFILE) -D__xservername__=$(XSERVERNAME) - - -# Rules needed to cpp man page & app-defaults -@BUILD_XORGCFG_TRUE@XBMdir = $(includedir)/X11/bitmaps -@BUILD_XORGCFG_TRUE@XPMdir = $(includedir)/X11/pixmaps -@BUILD_XORGCFG_TRUE@XBM_DATA = $(BITMAPS) -@BUILD_XORGCFG_TRUE@XPM_DATA = $(PIXMAPS) - -# App default files (*.ad) -@BUILD_XORGCFG_TRUE@appdefaultdir = @APPDEFAULTDIR@ -@BUILD_XORGCFG_TRUE@APPDEFAULTFILES = XOrgCfg -@BUILD_XORGCFG_TRUE@appdefault_DATA = $(APPDEFAULTFILES) -@BUILD_XORGCFG_TRUE@CPP_FILES_FLAGS = -D__VENDORNAME__="@VENDOR_STRING_SHORT@" \ -@BUILD_XORGCFG_TRUE@ -D__VENDORVERS__="@VENDOR_MAN_VERSION@" - - -# Man page -@BUILD_XORGCFG_TRUE@appmandir = $(APP_MAN_DIR) -@BUILD_XORGCFG_TRUE@appman_PRE = xorgcfg.man -@BUILD_XORGCFG_TRUE@appman_DATA = $(appman_PRE:man=@APP_MAN_SUFFIX@) -@BUILD_XORGCFG_TRUE@BUILT_SOURCES = $(appman_PRE) -@BUILD_XORGCFG_TRUE@CLEANFILES = $(APPDEFAULTFILES) $(BUILT_SOURCES) $(appman_DATA) -EXTRA_DIST = $(BITMAPS) $(PIXMAPS) XOrgCfg.pre xorgcfg.man.pre -all: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) all-am - -.SUFFIXES: -.SUFFIXES: .pre .man .man.pre .$(APP_MAN_SUFFIX) .man .c .lo .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/cpprules.in $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign hw/xfree86/utils/xorgcfg/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign hw/xfree86/utils/xorgcfg/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ - if test -f $$p \ - || test -f $$p1 \ - ; then \ - f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ - else :; fi; \ - done - -uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ - rm -f "$(DESTDIR)$(bindir)/$$f"; \ - done - -clean-binPROGRAMS: - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f $$p $$f"; \ - rm -f $$p $$f ; \ - done -xorgcfg$(EXEEXT): $(xorgcfg_OBJECTS) $(xorgcfg_DEPENDENCIES) - @rm -f xorgcfg$(EXEEXT) - $(xorgcfg_LINK) $(xorgcfg_OBJECTS) $(xorgcfg_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgcfg-accessx.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgcfg-card-cfg.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgcfg-cards.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgcfg-config.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgcfg-expert.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgcfg-help.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgcfg-interface.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgcfg-keyboard-cfg.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgcfg-loader.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgcfg-loadmod.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgcfg-monitor-cfg.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgcfg-mouse-cfg.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgcfg-options.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgcfg-screen-cfg.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgcfg-screen.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgcfg-startx.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgcfg-strlcat.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgcfg-strlcpy.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgcfg-stubs.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgcfg-text-mode.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgcfg-vidmode.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgcfg-xf86config.Po@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c $< - -.c.obj: -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< - -xorgcfg-accessx.o: accessx.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-accessx.o -MD -MP -MF $(DEPDIR)/xorgcfg-accessx.Tpo -c -o xorgcfg-accessx.o `test -f 'accessx.c' || echo '$(srcdir)/'`accessx.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-accessx.Tpo $(DEPDIR)/xorgcfg-accessx.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='accessx.c' object='xorgcfg-accessx.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-accessx.o `test -f 'accessx.c' || echo '$(srcdir)/'`accessx.c - -xorgcfg-accessx.obj: accessx.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-accessx.obj -MD -MP -MF $(DEPDIR)/xorgcfg-accessx.Tpo -c -o xorgcfg-accessx.obj `if test -f 'accessx.c'; then $(CYGPATH_W) 'accessx.c'; else $(CYGPATH_W) '$(srcdir)/accessx.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-accessx.Tpo $(DEPDIR)/xorgcfg-accessx.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='accessx.c' object='xorgcfg-accessx.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-accessx.obj `if test -f 'accessx.c'; then $(CYGPATH_W) 'accessx.c'; else $(CYGPATH_W) '$(srcdir)/accessx.c'; fi` - -xorgcfg-card-cfg.o: card-cfg.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-card-cfg.o -MD -MP -MF $(DEPDIR)/xorgcfg-card-cfg.Tpo -c -o xorgcfg-card-cfg.o `test -f 'card-cfg.c' || echo '$(srcdir)/'`card-cfg.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-card-cfg.Tpo $(DEPDIR)/xorgcfg-card-cfg.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='card-cfg.c' object='xorgcfg-card-cfg.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-card-cfg.o `test -f 'card-cfg.c' || echo '$(srcdir)/'`card-cfg.c - -xorgcfg-card-cfg.obj: card-cfg.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-card-cfg.obj -MD -MP -MF $(DEPDIR)/xorgcfg-card-cfg.Tpo -c -o xorgcfg-card-cfg.obj `if test -f 'card-cfg.c'; then $(CYGPATH_W) 'card-cfg.c'; else $(CYGPATH_W) '$(srcdir)/card-cfg.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-card-cfg.Tpo $(DEPDIR)/xorgcfg-card-cfg.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='card-cfg.c' object='xorgcfg-card-cfg.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-card-cfg.obj `if test -f 'card-cfg.c'; then $(CYGPATH_W) 'card-cfg.c'; else $(CYGPATH_W) '$(srcdir)/card-cfg.c'; fi` - -xorgcfg-cards.o: cards.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-cards.o -MD -MP -MF $(DEPDIR)/xorgcfg-cards.Tpo -c -o xorgcfg-cards.o `test -f 'cards.c' || echo '$(srcdir)/'`cards.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-cards.Tpo $(DEPDIR)/xorgcfg-cards.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cards.c' object='xorgcfg-cards.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-cards.o `test -f 'cards.c' || echo '$(srcdir)/'`cards.c - -xorgcfg-cards.obj: cards.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-cards.obj -MD -MP -MF $(DEPDIR)/xorgcfg-cards.Tpo -c -o xorgcfg-cards.obj `if test -f 'cards.c'; then $(CYGPATH_W) 'cards.c'; else $(CYGPATH_W) '$(srcdir)/cards.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-cards.Tpo $(DEPDIR)/xorgcfg-cards.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cards.c' object='xorgcfg-cards.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-cards.obj `if test -f 'cards.c'; then $(CYGPATH_W) 'cards.c'; else $(CYGPATH_W) '$(srcdir)/cards.c'; fi` - -xorgcfg-config.o: config.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-config.o -MD -MP -MF $(DEPDIR)/xorgcfg-config.Tpo -c -o xorgcfg-config.o `test -f 'config.c' || echo '$(srcdir)/'`config.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-config.Tpo $(DEPDIR)/xorgcfg-config.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='config.c' object='xorgcfg-config.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-config.o `test -f 'config.c' || echo '$(srcdir)/'`config.c - -xorgcfg-config.obj: config.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-config.obj -MD -MP -MF $(DEPDIR)/xorgcfg-config.Tpo -c -o xorgcfg-config.obj `if test -f 'config.c'; then $(CYGPATH_W) 'config.c'; else $(CYGPATH_W) '$(srcdir)/config.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-config.Tpo $(DEPDIR)/xorgcfg-config.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='config.c' object='xorgcfg-config.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-config.obj `if test -f 'config.c'; then $(CYGPATH_W) 'config.c'; else $(CYGPATH_W) '$(srcdir)/config.c'; fi` - -xorgcfg-expert.o: expert.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-expert.o -MD -MP -MF $(DEPDIR)/xorgcfg-expert.Tpo -c -o xorgcfg-expert.o `test -f 'expert.c' || echo '$(srcdir)/'`expert.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-expert.Tpo $(DEPDIR)/xorgcfg-expert.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='expert.c' object='xorgcfg-expert.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-expert.o `test -f 'expert.c' || echo '$(srcdir)/'`expert.c - -xorgcfg-expert.obj: expert.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-expert.obj -MD -MP -MF $(DEPDIR)/xorgcfg-expert.Tpo -c -o xorgcfg-expert.obj `if test -f 'expert.c'; then $(CYGPATH_W) 'expert.c'; else $(CYGPATH_W) '$(srcdir)/expert.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-expert.Tpo $(DEPDIR)/xorgcfg-expert.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='expert.c' object='xorgcfg-expert.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-expert.obj `if test -f 'expert.c'; then $(CYGPATH_W) 'expert.c'; else $(CYGPATH_W) '$(srcdir)/expert.c'; fi` - -xorgcfg-help.o: help.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-help.o -MD -MP -MF $(DEPDIR)/xorgcfg-help.Tpo -c -o xorgcfg-help.o `test -f 'help.c' || echo '$(srcdir)/'`help.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-help.Tpo $(DEPDIR)/xorgcfg-help.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='help.c' object='xorgcfg-help.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-help.o `test -f 'help.c' || echo '$(srcdir)/'`help.c - -xorgcfg-help.obj: help.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-help.obj -MD -MP -MF $(DEPDIR)/xorgcfg-help.Tpo -c -o xorgcfg-help.obj `if test -f 'help.c'; then $(CYGPATH_W) 'help.c'; else $(CYGPATH_W) '$(srcdir)/help.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-help.Tpo $(DEPDIR)/xorgcfg-help.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='help.c' object='xorgcfg-help.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-help.obj `if test -f 'help.c'; then $(CYGPATH_W) 'help.c'; else $(CYGPATH_W) '$(srcdir)/help.c'; fi` - -xorgcfg-interface.o: interface.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-interface.o -MD -MP -MF $(DEPDIR)/xorgcfg-interface.Tpo -c -o xorgcfg-interface.o `test -f 'interface.c' || echo '$(srcdir)/'`interface.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-interface.Tpo $(DEPDIR)/xorgcfg-interface.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='interface.c' object='xorgcfg-interface.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-interface.o `test -f 'interface.c' || echo '$(srcdir)/'`interface.c - -xorgcfg-interface.obj: interface.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-interface.obj -MD -MP -MF $(DEPDIR)/xorgcfg-interface.Tpo -c -o xorgcfg-interface.obj `if test -f 'interface.c'; then $(CYGPATH_W) 'interface.c'; else $(CYGPATH_W) '$(srcdir)/interface.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-interface.Tpo $(DEPDIR)/xorgcfg-interface.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='interface.c' object='xorgcfg-interface.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-interface.obj `if test -f 'interface.c'; then $(CYGPATH_W) 'interface.c'; else $(CYGPATH_W) '$(srcdir)/interface.c'; fi` - -xorgcfg-keyboard-cfg.o: keyboard-cfg.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-keyboard-cfg.o -MD -MP -MF $(DEPDIR)/xorgcfg-keyboard-cfg.Tpo -c -o xorgcfg-keyboard-cfg.o `test -f 'keyboard-cfg.c' || echo '$(srcdir)/'`keyboard-cfg.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-keyboard-cfg.Tpo $(DEPDIR)/xorgcfg-keyboard-cfg.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='keyboard-cfg.c' object='xorgcfg-keyboard-cfg.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-keyboard-cfg.o `test -f 'keyboard-cfg.c' || echo '$(srcdir)/'`keyboard-cfg.c - -xorgcfg-keyboard-cfg.obj: keyboard-cfg.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-keyboard-cfg.obj -MD -MP -MF $(DEPDIR)/xorgcfg-keyboard-cfg.Tpo -c -o xorgcfg-keyboard-cfg.obj `if test -f 'keyboard-cfg.c'; then $(CYGPATH_W) 'keyboard-cfg.c'; else $(CYGPATH_W) '$(srcdir)/keyboard-cfg.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-keyboard-cfg.Tpo $(DEPDIR)/xorgcfg-keyboard-cfg.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='keyboard-cfg.c' object='xorgcfg-keyboard-cfg.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-keyboard-cfg.obj `if test -f 'keyboard-cfg.c'; then $(CYGPATH_W) 'keyboard-cfg.c'; else $(CYGPATH_W) '$(srcdir)/keyboard-cfg.c'; fi` - -xorgcfg-loader.o: loader.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-loader.o -MD -MP -MF $(DEPDIR)/xorgcfg-loader.Tpo -c -o xorgcfg-loader.o `test -f 'loader.c' || echo '$(srcdir)/'`loader.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-loader.Tpo $(DEPDIR)/xorgcfg-loader.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='loader.c' object='xorgcfg-loader.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-loader.o `test -f 'loader.c' || echo '$(srcdir)/'`loader.c - -xorgcfg-loader.obj: loader.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-loader.obj -MD -MP -MF $(DEPDIR)/xorgcfg-loader.Tpo -c -o xorgcfg-loader.obj `if test -f 'loader.c'; then $(CYGPATH_W) 'loader.c'; else $(CYGPATH_W) '$(srcdir)/loader.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-loader.Tpo $(DEPDIR)/xorgcfg-loader.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='loader.c' object='xorgcfg-loader.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-loader.obj `if test -f 'loader.c'; then $(CYGPATH_W) 'loader.c'; else $(CYGPATH_W) '$(srcdir)/loader.c'; fi` - -xorgcfg-loadmod.o: loadmod.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-loadmod.o -MD -MP -MF $(DEPDIR)/xorgcfg-loadmod.Tpo -c -o xorgcfg-loadmod.o `test -f 'loadmod.c' || echo '$(srcdir)/'`loadmod.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-loadmod.Tpo $(DEPDIR)/xorgcfg-loadmod.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='loadmod.c' object='xorgcfg-loadmod.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-loadmod.o `test -f 'loadmod.c' || echo '$(srcdir)/'`loadmod.c - -xorgcfg-loadmod.obj: loadmod.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-loadmod.obj -MD -MP -MF $(DEPDIR)/xorgcfg-loadmod.Tpo -c -o xorgcfg-loadmod.obj `if test -f 'loadmod.c'; then $(CYGPATH_W) 'loadmod.c'; else $(CYGPATH_W) '$(srcdir)/loadmod.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-loadmod.Tpo $(DEPDIR)/xorgcfg-loadmod.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='loadmod.c' object='xorgcfg-loadmod.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-loadmod.obj `if test -f 'loadmod.c'; then $(CYGPATH_W) 'loadmod.c'; else $(CYGPATH_W) '$(srcdir)/loadmod.c'; fi` - -xorgcfg-monitor-cfg.o: monitor-cfg.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-monitor-cfg.o -MD -MP -MF $(DEPDIR)/xorgcfg-monitor-cfg.Tpo -c -o xorgcfg-monitor-cfg.o `test -f 'monitor-cfg.c' || echo '$(srcdir)/'`monitor-cfg.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-monitor-cfg.Tpo $(DEPDIR)/xorgcfg-monitor-cfg.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='monitor-cfg.c' object='xorgcfg-monitor-cfg.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-monitor-cfg.o `test -f 'monitor-cfg.c' || echo '$(srcdir)/'`monitor-cfg.c - -xorgcfg-monitor-cfg.obj: monitor-cfg.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-monitor-cfg.obj -MD -MP -MF $(DEPDIR)/xorgcfg-monitor-cfg.Tpo -c -o xorgcfg-monitor-cfg.obj `if test -f 'monitor-cfg.c'; then $(CYGPATH_W) 'monitor-cfg.c'; else $(CYGPATH_W) '$(srcdir)/monitor-cfg.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-monitor-cfg.Tpo $(DEPDIR)/xorgcfg-monitor-cfg.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='monitor-cfg.c' object='xorgcfg-monitor-cfg.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-monitor-cfg.obj `if test -f 'monitor-cfg.c'; then $(CYGPATH_W) 'monitor-cfg.c'; else $(CYGPATH_W) '$(srcdir)/monitor-cfg.c'; fi` - -xorgcfg-mouse-cfg.o: mouse-cfg.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-mouse-cfg.o -MD -MP -MF $(DEPDIR)/xorgcfg-mouse-cfg.Tpo -c -o xorgcfg-mouse-cfg.o `test -f 'mouse-cfg.c' || echo '$(srcdir)/'`mouse-cfg.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-mouse-cfg.Tpo $(DEPDIR)/xorgcfg-mouse-cfg.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mouse-cfg.c' object='xorgcfg-mouse-cfg.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-mouse-cfg.o `test -f 'mouse-cfg.c' || echo '$(srcdir)/'`mouse-cfg.c - -xorgcfg-mouse-cfg.obj: mouse-cfg.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-mouse-cfg.obj -MD -MP -MF $(DEPDIR)/xorgcfg-mouse-cfg.Tpo -c -o xorgcfg-mouse-cfg.obj `if test -f 'mouse-cfg.c'; then $(CYGPATH_W) 'mouse-cfg.c'; else $(CYGPATH_W) '$(srcdir)/mouse-cfg.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-mouse-cfg.Tpo $(DEPDIR)/xorgcfg-mouse-cfg.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mouse-cfg.c' object='xorgcfg-mouse-cfg.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-mouse-cfg.obj `if test -f 'mouse-cfg.c'; then $(CYGPATH_W) 'mouse-cfg.c'; else $(CYGPATH_W) '$(srcdir)/mouse-cfg.c'; fi` - -xorgcfg-options.o: options.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-options.o -MD -MP -MF $(DEPDIR)/xorgcfg-options.Tpo -c -o xorgcfg-options.o `test -f 'options.c' || echo '$(srcdir)/'`options.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-options.Tpo $(DEPDIR)/xorgcfg-options.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='options.c' object='xorgcfg-options.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-options.o `test -f 'options.c' || echo '$(srcdir)/'`options.c - -xorgcfg-options.obj: options.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-options.obj -MD -MP -MF $(DEPDIR)/xorgcfg-options.Tpo -c -o xorgcfg-options.obj `if test -f 'options.c'; then $(CYGPATH_W) 'options.c'; else $(CYGPATH_W) '$(srcdir)/options.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-options.Tpo $(DEPDIR)/xorgcfg-options.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='options.c' object='xorgcfg-options.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-options.obj `if test -f 'options.c'; then $(CYGPATH_W) 'options.c'; else $(CYGPATH_W) '$(srcdir)/options.c'; fi` - -xorgcfg-screen-cfg.o: screen-cfg.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-screen-cfg.o -MD -MP -MF $(DEPDIR)/xorgcfg-screen-cfg.Tpo -c -o xorgcfg-screen-cfg.o `test -f 'screen-cfg.c' || echo '$(srcdir)/'`screen-cfg.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-screen-cfg.Tpo $(DEPDIR)/xorgcfg-screen-cfg.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='screen-cfg.c' object='xorgcfg-screen-cfg.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-screen-cfg.o `test -f 'screen-cfg.c' || echo '$(srcdir)/'`screen-cfg.c - -xorgcfg-screen-cfg.obj: screen-cfg.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-screen-cfg.obj -MD -MP -MF $(DEPDIR)/xorgcfg-screen-cfg.Tpo -c -o xorgcfg-screen-cfg.obj `if test -f 'screen-cfg.c'; then $(CYGPATH_W) 'screen-cfg.c'; else $(CYGPATH_W) '$(srcdir)/screen-cfg.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-screen-cfg.Tpo $(DEPDIR)/xorgcfg-screen-cfg.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='screen-cfg.c' object='xorgcfg-screen-cfg.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-screen-cfg.obj `if test -f 'screen-cfg.c'; then $(CYGPATH_W) 'screen-cfg.c'; else $(CYGPATH_W) '$(srcdir)/screen-cfg.c'; fi` - -xorgcfg-screen.o: screen.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-screen.o -MD -MP -MF $(DEPDIR)/xorgcfg-screen.Tpo -c -o xorgcfg-screen.o `test -f 'screen.c' || echo '$(srcdir)/'`screen.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-screen.Tpo $(DEPDIR)/xorgcfg-screen.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='screen.c' object='xorgcfg-screen.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-screen.o `test -f 'screen.c' || echo '$(srcdir)/'`screen.c - -xorgcfg-screen.obj: screen.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-screen.obj -MD -MP -MF $(DEPDIR)/xorgcfg-screen.Tpo -c -o xorgcfg-screen.obj `if test -f 'screen.c'; then $(CYGPATH_W) 'screen.c'; else $(CYGPATH_W) '$(srcdir)/screen.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-screen.Tpo $(DEPDIR)/xorgcfg-screen.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='screen.c' object='xorgcfg-screen.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-screen.obj `if test -f 'screen.c'; then $(CYGPATH_W) 'screen.c'; else $(CYGPATH_W) '$(srcdir)/screen.c'; fi` - -xorgcfg-startx.o: startx.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-startx.o -MD -MP -MF $(DEPDIR)/xorgcfg-startx.Tpo -c -o xorgcfg-startx.o `test -f 'startx.c' || echo '$(srcdir)/'`startx.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-startx.Tpo $(DEPDIR)/xorgcfg-startx.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='startx.c' object='xorgcfg-startx.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-startx.o `test -f 'startx.c' || echo '$(srcdir)/'`startx.c - -xorgcfg-startx.obj: startx.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-startx.obj -MD -MP -MF $(DEPDIR)/xorgcfg-startx.Tpo -c -o xorgcfg-startx.obj `if test -f 'startx.c'; then $(CYGPATH_W) 'startx.c'; else $(CYGPATH_W) '$(srcdir)/startx.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-startx.Tpo $(DEPDIR)/xorgcfg-startx.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='startx.c' object='xorgcfg-startx.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-startx.obj `if test -f 'startx.c'; then $(CYGPATH_W) 'startx.c'; else $(CYGPATH_W) '$(srcdir)/startx.c'; fi` - -xorgcfg-stubs.o: stubs.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-stubs.o -MD -MP -MF $(DEPDIR)/xorgcfg-stubs.Tpo -c -o xorgcfg-stubs.o `test -f 'stubs.c' || echo '$(srcdir)/'`stubs.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-stubs.Tpo $(DEPDIR)/xorgcfg-stubs.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stubs.c' object='xorgcfg-stubs.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-stubs.o `test -f 'stubs.c' || echo '$(srcdir)/'`stubs.c - -xorgcfg-stubs.obj: stubs.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-stubs.obj -MD -MP -MF $(DEPDIR)/xorgcfg-stubs.Tpo -c -o xorgcfg-stubs.obj `if test -f 'stubs.c'; then $(CYGPATH_W) 'stubs.c'; else $(CYGPATH_W) '$(srcdir)/stubs.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-stubs.Tpo $(DEPDIR)/xorgcfg-stubs.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stubs.c' object='xorgcfg-stubs.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-stubs.obj `if test -f 'stubs.c'; then $(CYGPATH_W) 'stubs.c'; else $(CYGPATH_W) '$(srcdir)/stubs.c'; fi` - -xorgcfg-text-mode.o: text-mode.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-text-mode.o -MD -MP -MF $(DEPDIR)/xorgcfg-text-mode.Tpo -c -o xorgcfg-text-mode.o `test -f 'text-mode.c' || echo '$(srcdir)/'`text-mode.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-text-mode.Tpo $(DEPDIR)/xorgcfg-text-mode.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='text-mode.c' object='xorgcfg-text-mode.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-text-mode.o `test -f 'text-mode.c' || echo '$(srcdir)/'`text-mode.c - -xorgcfg-text-mode.obj: text-mode.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-text-mode.obj -MD -MP -MF $(DEPDIR)/xorgcfg-text-mode.Tpo -c -o xorgcfg-text-mode.obj `if test -f 'text-mode.c'; then $(CYGPATH_W) 'text-mode.c'; else $(CYGPATH_W) '$(srcdir)/text-mode.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-text-mode.Tpo $(DEPDIR)/xorgcfg-text-mode.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='text-mode.c' object='xorgcfg-text-mode.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-text-mode.obj `if test -f 'text-mode.c'; then $(CYGPATH_W) 'text-mode.c'; else $(CYGPATH_W) '$(srcdir)/text-mode.c'; fi` - -xorgcfg-vidmode.o: vidmode.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-vidmode.o -MD -MP -MF $(DEPDIR)/xorgcfg-vidmode.Tpo -c -o xorgcfg-vidmode.o `test -f 'vidmode.c' || echo '$(srcdir)/'`vidmode.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-vidmode.Tpo $(DEPDIR)/xorgcfg-vidmode.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vidmode.c' object='xorgcfg-vidmode.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-vidmode.o `test -f 'vidmode.c' || echo '$(srcdir)/'`vidmode.c - -xorgcfg-vidmode.obj: vidmode.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-vidmode.obj -MD -MP -MF $(DEPDIR)/xorgcfg-vidmode.Tpo -c -o xorgcfg-vidmode.obj `if test -f 'vidmode.c'; then $(CYGPATH_W) 'vidmode.c'; else $(CYGPATH_W) '$(srcdir)/vidmode.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-vidmode.Tpo $(DEPDIR)/xorgcfg-vidmode.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vidmode.c' object='xorgcfg-vidmode.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-vidmode.obj `if test -f 'vidmode.c'; then $(CYGPATH_W) 'vidmode.c'; else $(CYGPATH_W) '$(srcdir)/vidmode.c'; fi` - -xorgcfg-xf86config.o: xf86config.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-xf86config.o -MD -MP -MF $(DEPDIR)/xorgcfg-xf86config.Tpo -c -o xorgcfg-xf86config.o `test -f 'xf86config.c' || echo '$(srcdir)/'`xf86config.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-xf86config.Tpo $(DEPDIR)/xorgcfg-xf86config.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='xf86config.c' object='xorgcfg-xf86config.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-xf86config.o `test -f 'xf86config.c' || echo '$(srcdir)/'`xf86config.c - -xorgcfg-xf86config.obj: xf86config.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-xf86config.obj -MD -MP -MF $(DEPDIR)/xorgcfg-xf86config.Tpo -c -o xorgcfg-xf86config.obj `if test -f 'xf86config.c'; then $(CYGPATH_W) 'xf86config.c'; else $(CYGPATH_W) '$(srcdir)/xf86config.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-xf86config.Tpo $(DEPDIR)/xorgcfg-xf86config.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='xf86config.c' object='xorgcfg-xf86config.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-xf86config.obj `if test -f 'xf86config.c'; then $(CYGPATH_W) 'xf86config.c'; else $(CYGPATH_W) '$(srcdir)/xf86config.c'; fi` - -xorgcfg-strlcat.o: $(top_srcdir)/os/strlcat.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-strlcat.o -MD -MP -MF $(DEPDIR)/xorgcfg-strlcat.Tpo -c -o xorgcfg-strlcat.o `test -f '$(top_srcdir)/os/strlcat.c' || echo '$(srcdir)/'`$(top_srcdir)/os/strlcat.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-strlcat.Tpo $(DEPDIR)/xorgcfg-strlcat.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/os/strlcat.c' object='xorgcfg-strlcat.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-strlcat.o `test -f '$(top_srcdir)/os/strlcat.c' || echo '$(srcdir)/'`$(top_srcdir)/os/strlcat.c - -xorgcfg-strlcat.obj: $(top_srcdir)/os/strlcat.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-strlcat.obj -MD -MP -MF $(DEPDIR)/xorgcfg-strlcat.Tpo -c -o xorgcfg-strlcat.obj `if test -f '$(top_srcdir)/os/strlcat.c'; then $(CYGPATH_W) '$(top_srcdir)/os/strlcat.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/os/strlcat.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-strlcat.Tpo $(DEPDIR)/xorgcfg-strlcat.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/os/strlcat.c' object='xorgcfg-strlcat.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-strlcat.obj `if test -f '$(top_srcdir)/os/strlcat.c'; then $(CYGPATH_W) '$(top_srcdir)/os/strlcat.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/os/strlcat.c'; fi` - -xorgcfg-strlcpy.o: $(top_srcdir)/os/strlcpy.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-strlcpy.o -MD -MP -MF $(DEPDIR)/xorgcfg-strlcpy.Tpo -c -o xorgcfg-strlcpy.o `test -f '$(top_srcdir)/os/strlcpy.c' || echo '$(srcdir)/'`$(top_srcdir)/os/strlcpy.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-strlcpy.Tpo $(DEPDIR)/xorgcfg-strlcpy.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/os/strlcpy.c' object='xorgcfg-strlcpy.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-strlcpy.o `test -f '$(top_srcdir)/os/strlcpy.c' || echo '$(srcdir)/'`$(top_srcdir)/os/strlcpy.c - -xorgcfg-strlcpy.obj: $(top_srcdir)/os/strlcpy.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-strlcpy.obj -MD -MP -MF $(DEPDIR)/xorgcfg-strlcpy.Tpo -c -o xorgcfg-strlcpy.obj `if test -f '$(top_srcdir)/os/strlcpy.c'; then $(CYGPATH_W) '$(top_srcdir)/os/strlcpy.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/os/strlcpy.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-strlcpy.Tpo $(DEPDIR)/xorgcfg-strlcpy.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/os/strlcpy.c' object='xorgcfg-strlcpy.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-strlcpy.obj `if test -f '$(top_srcdir)/os/strlcpy.c'; then $(CYGPATH_W) '$(top_srcdir)/os/strlcpy.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/os/strlcpy.c'; fi` - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-XBMDATA: $(XBM_DATA) - @$(NORMAL_INSTALL) - test -z "$(XBMdir)" || $(MKDIR_P) "$(DESTDIR)$(XBMdir)" - @list='$(XBM_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(XBMDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(XBMdir)/$$f'"; \ - $(XBMDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(XBMdir)/$$f"; \ - done - -uninstall-XBMDATA: - @$(NORMAL_UNINSTALL) - @list='$(XBM_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(XBMdir)/$$f'"; \ - rm -f "$(DESTDIR)$(XBMdir)/$$f"; \ - done -install-XPMDATA: $(XPM_DATA) - @$(NORMAL_INSTALL) - test -z "$(XPMdir)" || $(MKDIR_P) "$(DESTDIR)$(XPMdir)" - @list='$(XPM_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(XPMDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(XPMdir)/$$f'"; \ - $(XPMDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(XPMdir)/$$f"; \ - done - -uninstall-XPMDATA: - @$(NORMAL_UNINSTALL) - @list='$(XPM_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(XPMdir)/$$f'"; \ - rm -f "$(DESTDIR)$(XPMdir)/$$f"; \ - done -install-appdefaultDATA: $(appdefault_DATA) - @$(NORMAL_INSTALL) - test -z "$(appdefaultdir)" || $(MKDIR_P) "$(DESTDIR)$(appdefaultdir)" - @list='$(appdefault_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(appdefaultDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(appdefaultdir)/$$f'"; \ - $(appdefaultDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(appdefaultdir)/$$f"; \ - done - -uninstall-appdefaultDATA: - @$(NORMAL_UNINSTALL) - @list='$(appdefault_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(appdefaultdir)/$$f'"; \ - rm -f "$(DESTDIR)$(appdefaultdir)/$$f"; \ - done -install-appmanDATA: $(appman_DATA) - @$(NORMAL_INSTALL) - test -z "$(appmandir)" || $(MKDIR_P) "$(DESTDIR)$(appmandir)" - @list='$(appman_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(appmanDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(appmandir)/$$f'"; \ - $(appmanDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(appmandir)/$$f"; \ - done - -uninstall-appmanDATA: - @$(NORMAL_UNINSTALL) - @list='$(appman_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(appmandir)/$$f'"; \ - rm -f "$(DESTDIR)$(appmandir)/$$f"; \ - done - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ - fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) check-am -@BUILD_XORGCFG_FALSE@all-local: -all-am: Makefile $(PROGRAMS) $(DATA) all-local -installdirs: - for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(XBMdir)" "$(DESTDIR)$(XPMdir)" "$(DESTDIR)$(appdefaultdir)" "$(DESTDIR)$(appmandir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -clean: clean-am - -clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: install-XBMDATA install-XPMDATA \ - install-appdefaultDATA install-appmanDATA - -install-dvi: install-dvi-am - -install-exec-am: install-binPROGRAMS - -install-html: install-html-am - -install-info: install-info-am - -install-man: - -install-pdf: install-pdf-am - -install-ps: install-ps-am - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-XBMDATA uninstall-XPMDATA \ - uninstall-appdefaultDATA uninstall-appmanDATA \ - uninstall-binPROGRAMS - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS all all-am all-local check check-am clean \ - clean-binPROGRAMS clean-generic clean-libtool ctags distclean \ - distclean-compile distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-XBMDATA install-XPMDATA install-am \ - install-appdefaultDATA install-appmanDATA install-binPROGRAMS \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-XBMDATA uninstall-XPMDATA \ - uninstall-am uninstall-appdefaultDATA uninstall-appmanDATA \ - uninstall-binPROGRAMS - - -.pre: - $(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < $< | $(CPP_SED_MAGIC) > $@ - -.man.pre.man: - $(RAWCPP) $(RAWCPPFLAGS) $(MANDEFS) $(EXTRAMANDEFS) < $< | $(CPP_SED_MAGIC) > $@ - -# dear automake: it would be really nice if you would actually put things into -# .SUFFIXES so i wouldnt' have to do this. -@BUILD_XORGCFG_TRUE@XOrgCfg: XOrgCfg.pre -@BUILD_XORGCFG_TRUE@ $(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < XOrgCfg.pre | $(CPP_SED_MAGIC) > $@ - -@BUILD_XORGCFG_TRUE@all-local: $(appman_PRE) $(appman_DATA) - -@BUILD_XORGCFG_TRUE@.man.$(APP_MAN_SUFFIX): -@BUILD_XORGCFG_TRUE@ -rm -f $@ -@BUILD_XORGCFG_TRUE@ $(LN_S) $< $@ -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/TODO b/xorg-server/hw/xfree86/utils/xorgcfg/TODO deleted file mode 100644 index d8d1cd5ee..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/TODO +++ /dev/null @@ -1,33 +0,0 @@ -$XFree86$ - -o Have code to fetch the SymTabRec chipset list from a video driver. - This is mostly useful for the testing tool/interface, so that the - Cards file "uptodate" state can also be verified. - Probably it is better to forgot about the Cards file, and - either parse the output of scanpci, or link libscanpci.a - (and whatever else be required) in xorgcfg. - -o Check if a module is "certified", there was some talk about a - certification process in the past. - -o Rewrite mouse driver to use the same code as video drivers, so that - it is possible to store all available options in a single place. - This would also require rewriting all existing input device modules. - (Probably most of this can be made with cpp macros). - -o Create a protocol to allow 3rd part xorgcfg modules. - -o Write an interface for testing extensions/accel, maybe a frontend to - xdpyinfo, x11perf, glxinfo, etc. - -o Write a "wizard" mode, as several users find the graphical interface - too complicated, but find the text one easier to user. - -o Write code to use a Monitors database, either update the old Monitors - file or use RedHat MonitorsDB. - Chris Morgan is writting code to use MonitorsDB. - If xorgcfg could be changed to ddcprobe (in all supported platforms), - it would be even be a better solution than using a database. - -o Add interface to allow changing comments without the need of editing - config file with a text editor. diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/XOrgCfg.pre b/xorg-server/hw/xfree86/utils/xorgcfg/XOrgCfg.pre deleted file mode 100644 index 0e7148de6..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/XOrgCfg.pre +++ /dev/null @@ -1,1852 +0,0 @@ -!! $XdotOrg: $ -!! -!! Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) -!! -!! 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 -!! CONECTIVA LINUX 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 Conectiva Linux shall -!! not be used in advertising or otherwise to promote the sale, use or other -!! dealings in this Software without prior written authorization from -!! Conectiva Linux. -!! -!! Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> -!! -!! $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/XF86Cfg.ad,v 1.13 2001/05/15 18:22:23 paulo Exp $ -!! - -*Form.background: gray85 -*Label.background: gray85 -!! keyboard -*Core.background: gray85 -*Label.foreground: gray20 -*Command.background: gray80 -*Command.foreground: gray20 -*Command.borderWidth: 0 -*Command.displayList:\ -foreground gray60;\ -lines 1,-1,-1,-1,-1,1;\ -foreground gray90;\ -lines -1,0,0,0,0,-1 - -*Text.?.foreground: gray20 -*Text.borderWidth: 0 -*Text.background: gray96 -*Text.?.cursorColor: rgb:d/5/5 -*Text.displayList:\ -foreground white;\ -lines 1,-1,-1,-1,-1,1;\ -foreground gray40;\ -lines -1,0,0,0,0,-1 - -*baseTranslations: #override \ -<Key>Escape: vidmode-restore() - -*List.background: gray96 -*List.foreground: gray20 -*Viewport.borderColor: gray40 -*List.borderColor: gray40 - -*MenuButton.background: gray80 -*MenuButton.foreground: gray20 -*MenuButton.borderWidth: 0 -*MenuButton.displayList:\ -line-style solid;\ -foreground gray40;\ -lines 1,-1,-1,-1,-1,1;\ -foreground gray90;\ -lines -1,0,0,0,0,-1;\ -line-style onoffdash;\ -foreground gray80;\ -draw-rect 1,1,-2,-2 - -*SimpleMenu.background: gray80 -*SimpleMenu.?.foreground: gray20 -*SimpleMenu.borderWidth: 0 -*SimpleMenu.displayList:\ -foreground gray40;\ -lines 1,-1,-1,-1,-1,1;\ -foreground gray90;\ -lines -1,0,0,0,0,-1 - -*Dialog.displayList:\ -foreground gray40;\ -lines 1,-1,-1,-1,-1,1;\ -foreground gray90;\ -lines -1,0,0,0,0,-1 - -*Toggle.background: gray80 -*Toggle.foreground: gray20 -*Toggle.borderWidth: 0 -*Toggle.displayList:\ -foreground gray90;\ -lines 1,-1,-1,-1,-1,1;\ -foreground gray40;\ -lines -1,0,0,0,0,-1 - -*mouse.bitmap: mouse.xbm -*keyboard.bitmap: keyboard.xbm -*card.bitmap: card.xbm -*monitor.bitmap: monitor.xbm - -*Label.borderWidth: 0 -*Viewport.forceBars: True -*Viewport.allowVert: True -*Viewport.useRight: True - -.xorgcfg.geometry: 320x400 -.xorgcfg.minWidth: 320 -.xorgcfg.minHeight: 400 -.xorgcfg.maxWidth: 320 -.xorgcfg.maxHeight: 400 - -.xorgcfg.config.geometry: 320x369 -.xorgcfg.config.minWidth: 320 -.xorgcfg.config.maxWidth: 320 -.xorgcfg.config.minHeight: 369 -.xorgcfg.config.maxHeight: 369 - -*work.width: 320 -*work.height: 240 - -*error.label.label:\ -Not all required fields\n\ -were filled, or the specified\n\ -identifier is duplicated. -*error.label.vertDistance: 30 -*error.label.borderWidth: 0 -*error.label.leftBitmap: Excl -*error.command.fromVert: label -*error.command.label: Ok -*error.command.vertDistance: 20 - -*Scrollbar.translations:\ -<BtnDown>: StartScroll(Continuous) MoveThumb() NotifyThumb()\n\ -<BtnMotion>: MoveThumb() NotifyThumb()\n\ -<BtnUp>: NotifyScroll(Proportional) EndScroll() - -*Scrollbar.background: gray80 -*Scrollbar.foreground: rgb:a/5/5 -*Scrollbar.borderWidth: 0 -*Scrollbar.thumb: vlines2 -*Scrollbar.displayList:\ -foreground gray90;\ -lines 1,-1,-1,-1,-1,1;\ -foreground gray40;\ -lines -1,0,0,0,0,-1 - -*Text.Translations: #override \ -<Enter>: no-op()\n\ -<Leave>: no-op()\n\ -<Btn1Down>: set-keyboard-focus() select-start() - -*top.identifier.Translations: #override \ -<Enter>: no-op()\n\ -<Leave>: no-op()\n\ -<Key>Return: no-op()\n\ -<Btn1Down>: set-keyboard-focus() select-start() - -*List.showCurrent: True -*Tip.timeout: 100 -*Tip.background: rgb:f/f/8 -*Tip.foreground: gray20 -*Tip.borderWidth: 0 -*Tip.displayList:\ -foreground rgb:8/8/4;\ -lines 1,-1,-1,-1,-1,1;\ -foreground rgb:f/f/c;\ -lines -1,0,0,0,0,-1 - -*Toggle.internalHeight: 2 -*Toggle.internalWidth: 2 -*mouse.label: Mouse -*keyboard.label: Keyboard -*card.label: Card -*monitor.label: Monitor - -*commands.borderWidth: 0 -*commands.defaultDistance: 2 -*commands.?.bottom: chainTop -*commands.height: 50 - -*commands.keyboard.fromHoriz: mouse -*card.fromHoriz: keyboard -*monitor.fromHoriz: card - -*commands.mouse*new.label: Add new mouse -*commands.keyboard*new.label: Add new keyboard -*commands.card*new.label: Add new video card -*commands.monitor*new.label: Add new monitor -*commands.mouse*configure.label: Configure mouse(s) -*commands.keyboard*configure.label: Configure keyboard(s) -*commands.card*configure.label: Configure video card(s) -*commands.monitor*configure.label: Configure monitor(s) -*commands.mouse*SimpleMenu*newMouse.label: New mouse -*commands.keyboard*SimpleMenu*newKeyboard.label:New keyboard -*commands.card*SimpleMenu*newcard.label: New card -*commands.monitor*SimpleMenu*newMonitor.label: New monitor - -*commands.MenuButton.translations: \ -<Enter>: highlight()\n\ -<Leave>: reset()\n\ -Any<BtnDown>: highlight() set() PopupMenu() - -*hpane.showGrip: False -*hpane.expert.label: Expert Mode -*topM.min: 200 -*topM.max: 200 -*topM.justify: left -*topM.label: Configure Layout -*topM*layout.label: Configure Layout -*topM*screen.label: Configure Screen -*topM*modeline.label: Configure Modeline -*topM*accessx.label: Configure AccessX -*topM.showGrip: False -*work.showGrip: False - -*MenuButton.leftBitmap: menu10 -*SmeBSB.HorizontalMargins: 18 - -*back.label: << Back -*next.label: Next >> -*ok.label: Ok -*cancel.label: Cancel -*yes.label: Yes -*no.label: No - -*help.label: Help -*quit.label: Quit -*next.fromHoriz: back -*config*ok.fromHoriz: next -*bottom*cancel.fromHoriz: ok -*top.displayList:\ -foreground gray60;\ -lines 1,-1,-1,-1,-1,1;\ -foreground white;\ -lines -1,0,0,0,0,-1 -*bottom.displayList:\ -foreground gray60;\ -lines 1,-1,-1,-1,-1,1;\ -foreground white;\ -lines -1,0,0,0,0,-1 -*work.displayList:\ -foreground gray60;\ -lines 1,-1,-1,-1,-1,1;\ -foreground white;\ -lines -1,0,0,0,0,-1 -*options.pane.Form.displayList:\ -foreground gray60;\ -lines 1,-1,-1,-1,-1,1;\ -foreground white;\ -lines -1,0,0,0,0,-1 - -*top.label.label: Identifier: -*top.label.borderWidth: 0 -*top.identifier.fromHoriz: label -*top.label.internalHeight: 3 -*top.label.justify: left -*top.label.left: chainLeft -*top.label.right: chainLeft -*top.identifier.left: chainLeft -*top.identifier.right: chainRight - -*bottom.layout.translations: #override \ -<Key>Return: rename-layout() -*bottom.layout.label: New server layout -*bottom.layout.tip: Type a text and press Return to rename this layout -*bottom.Command.height: 19 -*bottom.Text.height: 19 -*bottom.MenuButton.height: 19 -*bottom*new.label: New server layout -*layout.fromHoriz: select -*help.fromHoriz: layout -*bottom.layout.justify: left -*bottom.select.label: Layout -*bottom.select.left: chainLeft -*bottom.select.right: chainLeft -*bottom.layout.left: chainLeft -*quit.fromHoriz: help -*bottom.?.left: chainRight -*bottom.?.right: chainRight -*bottom.?.top: chainBottom -*bottom.?.bottom: chainBottom - -*pane.bottom.min: 30 -*pane.bottom.max: 30 -*pane.bottom.showGrip: False -*pane.bottom.defaultDistance: 5 - -!! Wellcome message -*work.wellcome.borderWidth: 0 -*work.wellcome.label: Welcome to __VENDORNAME__ __VENDORVERS__ setup program -*work.?.borderWidth: 0 -!*work.?.width: 310 -*work.?.height: 290 - -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! mouseDP widget -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -*mouseDP*Label.internalHeight: 0 -*mouseDP*Label.borderWidth: 0 -*mouseDP.labelD.vertDistance: 0 -*mouseDP.labelD.label: Select mouse device -*mouseDP.device.fromVert: labelD -*mouseDP.viewportD.fromVert: device -*mouseDP.device.width: 302 -*mouseDP.viewportD.vertDistance: 2 -*mouseDP.viewportD.listD.longest: 135 -*mouseDP.viewportD.width: 302 -*mouseDP.viewportD.height: 87 -*mouseDP.labelP.label: Select mouse protocol -*mouseDP.labelP.vertDistance: 10 -*mouseDP.labelP.fromVert: viewportD -*mouseDP.viewportP.fromVert: labelP -*mouseDP.viewportP.forceBars: True -*mouseDP.viewportP.allowVert: True -*mouseDP.viewportP.useRight: True -*mouseDP.viewportP.listP.longest: 135 -*mouseDP.viewportP.width: 302 -*mouseDP.viewportP.height: 110 -*mouseDP.viewportP.vertDistance: 6 -*mouseDP*List.verticalList: True -*mouseDP.emulate3.fromVert: viewportP -*mouseDP.emulate3.width: 180 -*mouseDP.apply.label: Apply changes -*mouseDP.apply.fromVert: viewportP -*mouseDP.apply.fromHoriz: emulate3 -*mouseDP.apply.width: 116 -*mouseDP.emulate3.vertDistance: 10 -*mouseDP.apply.vertDistance: 10 -*mouseDP.emulate3.label: Emulate 3 buttons -*mouseDP.emulate3.tip: Select if your mouse has only two buttons - -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! keyboardML widget -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -*keyboardML.Label.vertDistance: 8 -*keyboardML.MenuButton.vertDistance: 8 -*keyboardML.keyboard.vertDistance: 10 -*keyboardML.Label.borderWidth: 0 -*keyboardML.Label.width: 115 -*keyboardML.MenuButton.width: 185 -*keyboardML.MenuButton.justify: left -*keyboardML.Label.internalWidth: 0 -*keyboardML.Label.justify: right -*keyboardML.labelR.label: Xkb rules: -*keyboardML.rules.left: chainRight -*keyboardML.rules.right: chainRight -*keyboardML.rules.fromHoriz: labelR -*keyboardML.model.fromVert: rules -*keyboardML.labelM.fromVert: rules -*keyboardML.model.left: chainRight -*keyboardML.model.right: chainRight -*keyboardML.model.fromHoriz: labelM -*keyboardML.labelM.label: Keyboard model: -*keyboardML.layout.left: chainRight -*keyboardML.layout.right: chainRight -*keyboardML.layout.fromVert: model -*keyboardML.labelL.fromVert: model -*keyboardML.layout.fromHoriz: labelL -*keyboardML.labelL.label: Keyboard layout: -*keyboardML.variant.fromVert: labelL -*keyboardML.variant.fromHoriz: labelV -*keyboardML.labelV.fromVert: labelL -*keyboardML.labelV.label: Xkb variant: -*keyboardML.options.fromVert: labelV -*keyboardML.options.fromHoriz: labelO -*keyboardML.labelO.fromVert: labelV -*keyboardML.labelO.label: Xkb options: -*keyboardML.keyboard.fromVert: labelO -*keyboardML.keyboard.borderWidth: 0 -*keyboardML.keyboard.width: 305 -*keyboardML.keyboard.height: 121 -*keyboardML.apply.vertDistance: 16 -*keyboardML.apply.fromVert: keyboard -*keyboardML.apply.label: Apply changes - -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! cardModel widget -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -*cardModel.label.internalHeight: 0 -*cardModel.keyboard.borderWidth: 0 -*cardModel.label.label: Card model filter -*cardModel.label.internalHeight: 2 -*cardModel.label.borderWidth: 0 -*cardModel.viewport.vertDistance: 2 -*cardModel.viewport.fromVert: filter -*cardModel.filter.fromHoriz: label -*cardModel.filter.width: 171 -*cardModel.viewport.width: 302 -*cardModel.viewport.height: 212 -*cardModel.driver.justify: left -*cardModel.driverL.label: Driver -*cardModel.driverL.fromVert: viewport -*cardModel.driverL.width: 50 -*cardModel.driverL.justify: right -*cardModel.driver.fromVert: viewport -*cardModel.driver.fromHoriz: driverL -*cardModel.driver.width: 250 -*cardModel.driver.left: chainRight -*cardModel.driver.right: chainRight -*cardModel.busidL.label: BusID -*cardModel.busidL.fromVert: driver -*cardModel.busidL.width: 50 -*cardModel.busidL.justify: right -*cardModel.busid.fromVert: driver -*cardModel.busid.fromHoriz: busidL -*cardModel.busid.width: 250 -*cardModel.busid.left: chainRight -*cardModel.busid.right: chainRight -*cardModel.viewport.forceBars: True -*cardModel.viewport.allowVert: True -*cardModel.viewport.useRight: True -*cardModel.viewport.list.longest: 277 -*cardModel.filter.tip: Type name or vendor of your card and press enter -*cardModel.filter.translations: #override \ -<Key>Return: filter-card() - - -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! main widget -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -*work.cpu.backgroundPixmap: computer.xpm -*work.mouse.backgroundPixmap: mouse.xpm -*work.keyboard.backgroundPixmap: keyboard.xpm -*work.card.backgroundPixmap: card.xpm -*work.monitor.backgroundPixmap: monitor.xpm - -*work.cpu.x: 130 -*work.cpu.y: 160 -*work.cpu.width: 30 -*work.cpu.height: 50 -*work.mouse.width: 26 -*work.mouse.height: 35 -*work.keyboard.width: 60 -*work.keyboard.height: 28 -*work.card.width: 41 -*work.card.height: 40 -*work.monitor.width: 47 -*work.monitor.height: 40 - -.xorgcfg.pane.work.Simple.borderWidth: 1 -.xorgcfg.pane.work.Simple.translations:\ -Any<Btn1Down>: select-device()\n\ -Any<Btn1Motion>: move-device()\n\ -Any<Btn1Up>: unselect-device()\n\ -Any<Btn3Down>: device-popup()\n\ -Any<Btn3Up>: device-popdown() - -.xorgcfg.pane.work.screen.translations:\ -Any<Btn1Down>: select-device()\n\ -Any<Btn1Motion>: move-device()\n\ -Any<Btn1Up>: unselect-device()\n\ -Any<Btn3Down>: device-popup()\n\ -Any<Btn3Up>: device-popdown() - -Xorgcfg.translations: #override \ -<Message>WM_PROTOCOLS: quit() -.xorgcfg.config.translations: #override \ -<Message>WM_PROTOCOLS: config-cancel() -.xorgcfg.options.translations: #override \ -<Message>WM_PROTOCOLS: options-cancel() -.xorgcfg.quit.translations: #override \ -<Message>WM_PROTOCOLS: quit-cancel() -.xorgcfg.error.translations: #override \ -<Message>WM_PROTOCOLS: error-cancel() -.xorgcfg.force.translations: #override \ -<Message>WM_PROTOCOLS: addmode-cancel() -.xorgcfg.addMode.translations: #override \ -<Message>WM_PROTOCOLS: addmode-cancel() -.xorgcfg.accessx.translations: #override \ -<Message>WM_PROTOCOLS: accessx-close() -.xorgcfg.test.translations: #override \ -<Message>WM_PROTOCOLS: testmode-cancel() -.xorgcfg.Expert.translations: #override \ -<Message>WM_PROTOCOLS: expert-close() -.xorgcfg.options.moduleOptions.translations: #override \ -<Message>WM_PROTOCOLS: module-options-close() - - -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! Options -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -.xorgcfg.options.geometry: 400x176 -.xorgcfg.options.minWidth: 400 -.xorgcfg.options.maxWidth: 400 -.xorgcfg.options.minHeight: 176 -.xorgcfg.options.maxHeight: 176 - -*options*commands.remove.fromHoriz: add -*options*commands.update.fromHoriz: remove -*options*commands.help.fromHoriz: update -*options*commands.min: 30 -*options*commands.max: 30 -*options*commands.showGrip: False -*options*commands.defaultDistance: 4 -*options*commands.?.width: 100 -*options*commands.?.height: 20 - -*options*name.fromHoriz: label1 -*options*label2.fromHoriz: name -*options*value.fromHoriz: label2 -*options*label3.fromHoriz: value -*options*viewport.fromVert: name -*options*Label.borderWidth: 0 -*options.pane.form.Label.internalWidth: 0 -*options.pane.form.Label.height: 21 -*options.pane.form.Text.height: 19 -*options.pane.form.Label.top: chainTop -*options.pane.form.Text.top: chainTop -*options.pane.form.Label.bottom: chainTop -*options.pane.form.Text.bottom: chainTop -*options.pane.form.Label.horizDistance: 0 -*options.pane.form.Text.horizDistance: 0 -*options.pane.form.Label.vertDistance: 8 -*options.pane.form.Text.vertDistance: 8 -*options.pane.form.Text.width: 147 -*options*viewport.width: 390 -*options*viewport.height: 50 - -*options*viewport.horizDistance: 7 -*options*label1.horizDistance: 5 -*options*viewport.left: chainLeft -*options*viewport.right: chainRight -*options*list.longest: 376 - -*options*driverOpts.label: Options for module -*options*driverOpts.justify: left -*options*driverOpts.width: 278 -*options*popdown.label: Popdown dialog -*options*driverOpts.tip: This menu shows:\n\ - o option name\n\ - o option type - -.xorgcfg*options.moduleOptions.geometry: 360x245 -.xorgcfg*options.moduleOptions.minWidth: 360 -.xorgcfg*options.moduleOptions.maxWidth: 360 -.xorgcfg*options.moduleOptions.minHeight: 245 -.xorgcfg*options.moduleOptions.maxHeight: 245 -*options.moduleOptions*descriptions*labelType.label: Select option -*options.moduleOptions*descriptions*labelType.width: 348 -*options.moduleOptions*descriptions*module.fromVert: labelType -*options.moduleOptions*descriptions*module.label: Module -*options.moduleOptions*descriptions*Label.horizDistance: 8 -*options.moduleOptions*descriptions*option.fromVert: labelType -*options.moduleOptions*descriptions*option.label: Option -*options.moduleOptions*descriptions*option.fromHoriz: viewM -*options.moduleOptions*descriptions*viewM.fromVert: module -*options.moduleOptions*descriptions*viewM.width: 120 -*options.moduleOptions*descriptions*viewM.height: 94 -*options.moduleOptions*descriptions*modL.longest: 100 -*options.moduleOptions*descriptions*viewO.fromHoriz: viewM -*options.moduleOptions*descriptions*viewO.fromVert: option -*options.moduleOptions*descriptions*viewO.width: 220 -*options.moduleOptions*descriptions*viewO.height: 94 -*options.moduleOptions*descriptions*optL.longest: 220 -*options.moduleOptions*descriptions*desc.horizDistance: 4 -*options.moduleOptions*descriptions*desc.fromVert: viewM -*options.moduleOptions*descriptions*desc.width: 348 -*options.moduleOptions*descriptions*desc.height: 62 -*options.moduleOptions*descriptions*desc.wrap: word -*options.moduleOptions*descriptions*desc.scrollVertical: Always -*options.moduleOptions*descriptions*desc.Scrollbar.foreground: rgb:a/5/5 -*options.moduleOptions*descriptions*desc.Scrollbar.borderWidth: 1 -*options.moduleOptions*descriptions*desc.Scrollbar.borderColor: gray60 -*options.moduleOptions*descriptions.showGrip: False -*options.moduleOptions*popdown.label: Popdown dialog - -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! monitor -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -*monitorl*Viewport.width: 302 -*monitorl*Text.width: 160 -*monitorl*Text.tip:\ -Select standard value from the list\n\ -below, or enter specific value here. - -*monitorl*hlabel.justify: right -*monitorl*hlabel.width: 138 -*monitorl*hlabel.label: Horizontal sync -*monitorl*hsync.fromHoriz: hlabel -*monitorl*hviewport.fromVert: hsync -*monitorl*hviewport.height: 156 -*monitorl*hlist.longest: 288 - -*monitorl*vlabel.justify: right -*monitorl*vlabel.width: 138 -*monitorl*vlabel.vertDistance: 12 -*monitorl*vsync.vertDistance: 12 -*monitorl*vlabel.fromVert: hviewport -*monitorl*vsync.fromVert: hviewport -*monitorl*vlabel.label: Vertical sync -*monitorl*vsync.fromHoriz: vlabel -*monitorl*vviewport.fromVert: vsync -*monitorl*vviewport.height: 20 -*monitorl*vlist.longest: 64 - -*monitorl*clabel.vertDistance: 12 -*monitorl*clabel.fromVert: vviewport -*monitorl*clabel.label: Select card connected to monitor -*monitorl*cmenu.fromVert: clabel -*monitorl*cmenu.width: 302 -*monitorl*cmenu.justify: left -*monitorl*none.label: None - -!! vidtune -*vidtune.Repeater.borderWidth: 1 -*vidtune.Repeater.borderColor: gray90 -*vidtune.Repeater.shapeStyle: ellipse -*vidtune.Repeater.foreground: gray30 -*vidtune.Repeater.background: gray80 -*vidtune.Repeater.width: 31 -*vidtune.Repeater.height: 29 -*vidtune.Repeater.repeatDelay: 200 -*vidtune.Repeater.decay: 0 -*vidtune.Repeater.displayList:\ -line-width 2;\ -foreground gray65;\ -draw-arc 0,0,-0,-0,230,180;\ -foreground gray95;\ -draw-arc 0,0,-0,-0,40,180;\ -foreground gray80;\ -draw-arc 0,0,-0,-0,220,10;\ -draw-arc 0,0,-0,-0,40,10 -*vidtune.Repeater.translations:\ -<Enter>: set-values(1, borderColor, gray50)\n\ -<Leave>: set-values(1, borderColor, gray90)\n\ -<Btn1Down>: set-values(1, borderColor, gray90) set() start()\n\ -<Btn1Up>: stop() unset() -*vidtune.left.bitmap: left.xbm -*vidtune.right.bitmap: right.xbm -*vidtune.up.bitmap: up.xbm -*vidtune.down.bitmap: down.xbm -*vidtune.wider.bitmap: wider.xbm -*vidtune.narrower.bitmap: narrower.xbm -*vidtune.shorter.bitmap: shorter.xbm -*vidtune.taller.bitmap: taller.xbm - -*vidtune.vesaB.label: Add standard VESA mode to current screen -*vidtune.vesaB.width: 312 - -*vidtune.screenB.fromVert: mode -*vidtune.screenB.width: 160 -*vidtune.screenB.horizDistance: 80 -*vidtune.prev.fromVert: vesaB -*vidtune.mode.fromVert: vesaB -*vidtune.next.fromVert: vesaB -*vidtune.prev.horizDistance: 54 -*vidtune.prev.label: << -*vidtune.mode.fromHoriz: prev -*vidtune.mode.width: 160 -*vidtune.next.label: >> -*vidtune.next.fromHoriz: mode - -*vidtune.up.fromVert: screenB -*vidtune.up.horizDistance: 143 -*vidtune.left.horizDistance: 98 -*vidtune.left.vertDistance: 16 -*vidtune.left.fromVert: up -*vidtune.monitor.fromVert: up -*vidtune.monitor.vertDistance: 0 -*vidtune.monitor.fromHoriz: left -*vidtune.right.vertDistance: 16 -*vidtune.right.fromVert: up -*vidtune.right.fromHoriz: monitor -*vidtune.down.horizDistance: 143 -*vidtune.down.fromVert: monitor -*vidtune.wider.fromVert: left -*vidtune.wider.horizDistance: 91 -*vidtune.narrower.fromVert: down -*vidtune.narrower.fromHoriz: wider -*vidtune.shorter.fromVert: down -*vidtune.shorter.fromHoriz: narrower -*vidtune.taller.fromVert: right -*vidtune.taller.fromHoriz: shorter -*vidtune.monitor.width: 47 -*vidtune.monitor.height: 40 -*vidtune.monitor.backgroundPixmap: monitor.xpm -*vidtune.narrower.horizDistance: 0 -*vidtune.shorter.horizDistance: 2 -*vidtune.taller.horizDistance: 0 -*vidtune.wider.vertDistance: 20 -*vidtune.taller.vertDistance: 20 -*vidtune.narrower.vertDistance: 0 -*vidtune.shorter.vertDistance: 0 -*vidtune.down.vertDistance: 0 - -*vidtune.monitor.tip:\ -\ WARNING\n\ -\ Using the controls here may damage your\n\ -monitor. You can safely skip this section\n\ -of the configuration process.\n\ -\n\ -Press ESC if your monitor goes out of sync. - -*vidtune.background: white -*vidtune.form.borderWidth: 0 -*vidtune.form.background: white -*vidtune.form.defaultDistance: 0 -*vidtune.form.vertDistance: 3 -*vidtune.form.horizDistance: 4 -*vidtune.form.Label.foreground: gray20 -*vidtune.form.Label.background: white -*vidtune.form.Label.font: -*-fixed-*-*-*-*-10-*-*-*-*-*-*-1 -*vidtune.form.Label.vertDistance: 0 -*vidtune*Label.justify: right - -*vidtune.form.fromVert: auto -*vidtune*hsyncstart.label: HSyncStart: -*vidtune*hsyncstart.width: 95 -*vidtune*v-hsyncstart.width: 40 -*vidtune*v-hsyncstart.fromHoriz: hsyncstart -*vidtune*vsyncstart.fromHoriz: v-hsyncstart -*vidtune*v-vsyncstart.fromHoriz: vsyncstart -*vidtune*vsyncstart.label: VSyncStart: -*vidtune*vsyncstart.width: 95 -*vidtune*v-vsyncstart.width: 40 -*vidtune*hsyncend.label: HSyncEnd: -*vidtune*hsyncend.width: 95 -*vidtune*v-hsyncend.width: 40 -*vidtune*v-hsyncend.fromHoriz: hsyncend -*vidtune*hsyncend.fromVert: hsyncstart -*vidtune*v-hsyncend.fromVert: v-hsyncstart -*vidtune*vsyncend.label: VSyncEnd: -*vidtune*vsyncend.width: 95 -*vidtune*v-vsyncend.width: 40 -*vidtune*vsyncend.fromHoriz: v-hsyncend -*vidtune*v-vsyncend.fromHoriz: vsyncend -*vidtune*vsyncend.fromVert: hsyncstart -*vidtune*v-vsyncend.fromVert: v-vsyncstart -*vidtune*htotal.label: HTotal: -*vidtune*htotal.width: 95 -*vidtune*v-htotal.width: 40 -*vidtune*v-htotal.fromHoriz: htotal -*vidtune*htotal.fromVert: hsyncend -*vidtune*v-htotal.fromVert: v-hsyncend -*vidtune*vtotal.label: VTotal: -*vidtune*vtotal.width: 95 -*vidtune*v-vtotal.width: 40 -*vidtune*vtotal.fromHoriz: v-htotal -*vidtune*v-vtotal.fromHoriz: vtotal -*vidtune*vtotal.fromVert: vsyncend -*vidtune*v-vtotal.fromVert: v-vsyncend -*vidtune*flags.label: Flags: -*vidtune*flags.width: 142 -*vidtune*v-flags.width: 156 -*vidtune*v-flags.justify: left -*vidtune*v-flags.fromHoriz: flags -*vidtune*flags.fromVert: vtotal -*vidtune*v-flags.fromVert: v-vtotal -*vidtune*clock.label: Pixel Clock (MHz): -*vidtune*clock.width: 142 -*vidtune*v-clock.width: 48 -*vidtune*v-clock.fromHoriz: clock -*vidtune*clock.fromVert: flags -*vidtune*v-clock.fromVert: v-flags -*vidtune*hsync.label: Horizontal Sync (kHz): -*vidtune*hsync.width: 142 -*vidtune*v-hsync.width: 48 -*vidtune*v-hsync.fromHoriz: hsync -*vidtune*hsync.fromVert: clock -*vidtune*v-hsync.fromVert: v-clock -*vidtune*vsync.label: Vertical Sync (Hz): -*vidtune*vsync.width: 142 -*vidtune*v-vsync.width: 48 -*vidtune*v-vsync.fromHoriz: vsync -*vidtune*vsync.fromVert: hsync -*vidtune*v-vsync.fromVert: v-hsync - -*vidtune.auto.horizDistance: 43 -*vidtune.auto.fromVert: narrower -*vidtune.auto.label: Auto -!*vidtune.auto.state: True -*vidtune.apply.fromVert: narrower -*vidtune.apply.fromHoriz: auto -*vidtune.apply.label: Apply -*vidtune.restore.fromHoriz: apply -*vidtune.restore.horizDistance: 4 -*vidtune.restore.fromVert: narrower -*vidtune.restore.label: Restore -*vidtune.update.fromVert: narrower -*vidtune.update.fromHoriz: restore -*vidtune.update.label: Update -*vidtune.test.fromVert: narrower -*vidtune.test.fromHoriz: update -*vidtune.test.label: Test - -*vidtune.Label.background: white -*vidtune.addto.vertDistance: 4 -*vidtune.addto.fromHoriz: add -*vidtune.addto.fromVert: form -*vidtune.addto.label: mode to -*vidtune.addto.horizDistance: 0 -*vidtune.ident.vertDistance: 4 -*vidtune.ident.horizDistance: 0 -*vidtune.ident.fromVert: form -*vidtune.ident.fromHoriz: addto -*vidtune.ident.width: 98 -*vidtune.ident.justify: left -*vidtune.as.vertDistance: 4 -*vidtune.as.horizDistance: 0 -*vidtune.as.fromVert: form -*vidtune.as.fromHoriz: ident -*vidtune.as.label: as: -*vidtune.text.vertDistance: 4 -*vidtune.text.horizDistance: 0 -*vidtune.text.fromVert: form -*vidtune.text.fromHoriz: as -*vidtune.text.width: 98 -*vidtune.add.vertDistance: 4 -*vidtune.add.fromVert: form -*vidtune.add.label: Add -.xorgcfg.force.geometry: 268x58 -.xorgcfg.force.minWidth: 268 -.xorgcfg.force.maxWidth: 268 -.xorgcfg.force.minHeight: 58 -.xorgcfg.force.maxHeight: 58 -.xorgcfg.force.?.label: There is already a modeline with the\n\ -specified identifier. Add anyway? - -.xorgcfg.addMode.geometry: 350x80 -.xorgcfg.addMode.minWidth: 350 -.xorgcfg.addMode.maxWidth: 350 -.xorgcfg.addMode.minHeight: 80 -.xorgcfg.addMode.maxHeight: 80 -.xorgcfg.addMode.?.label: XF86VidModeAddModeLine returned True,\n\ -but no modeline was added to the current Screen.\n\ -Do you want to add it to the Monitor section? - -.xorgcfg.test.?.label: \ Testing modeline...\n\n\ -Press ESC or stop button to quit. -.xorgcfg.test.geometry: 250x72 -.xorgcfg.test.minWidth: 250 -.xorgcfg.test.maxWidth: 250 -.xorgcfg.test.minHeight: 72 -.xorgcfg.test.maxHeight: 72 - -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! screen -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -*screenD*depthL.label: Default color depth: -*screenD*depthL.height: 20 -*screenD*1.fromHoriz: depthL -*screenD*4.fromHoriz: 1 -*screenD*8.fromHoriz: 4 -*screenD*16.fromHoriz: 8 -*screenD*24.fromHoriz: 16 -*screenD*1.width: 24 -*screenD*4.width: 24 -*screenD*8.width: 24 -*screenD*16.width: 24 -*screenD*24.width: 24 -*screenD*1.horizDistance: 5 -*screenD*4.horizDistance: 5 -*screenD*8.horizDistance: 5 -*screenD*16.horizDistance: 5 -*screenD*24.horizDistance: 5 -*screenD*modeL.fromVert: depthL -*screenD*modeL.vertDistance: 14 -*screenD*modeL.label: Select resolution(s): -*screenD*viewL.fromVert: modeL -*screenD*select.fromHoriz: viewL -*screenD*unselect.fromHoriz: viewL -*screenD*select.fromVert: modeL -*screenD*unselect.fromVert: select -*screenD*up.fromHoriz: viewL -*screenD*down.fromHoriz: viewL -*screenD*up.fromVert: unselect -*screenD*down.fromVert: up -*screenD*viewR.fromHoriz: select -*screenD*viewR.fromVert: modeL -*screenD*select.bitmap: right.xbm -*screenD*unselect.bitmap: left.xbm -*screenD*up.bitmap: up.xbm -*screenD*down.bitmap: down.xbm -*screenD*viewL.width: 133 -*screenD*viewR.width: 133 -*screenD*viewL.height: 184 -*screenD*viewR.height: 184 -*screenD*listLeft.longest: 128 -*screenD*listRight.longest: 128 -*screenD*rotate.tip: Don't select any option if\n\ -your monitor is not rotated. -*screenD*rotate.vertDistance: 14 -*screenD*rotate.fromVert: viewL -*screenD*rotate.label: Rotate screen: -*screenD*CW.tip: Clock wise -*screenD*CW.vertDistance: 14 -*screenD*CW.fromVert: viewL -*screenD*CW.fromHoriz: rotate -*screenD*CW.label: CW -*screenD*CW.width: 40 -*screenD*CCW.tip: Counter-clock wise -*screenD*CCW.vertDistance: 14 -*screenD*CCW.fromVert: viewL -*screenD*CCW.fromHoriz: CW -*screenD*CCW.label: CCW -*screenD*CCW.width: 40 - -*work.screen.width: 100 -*work.screen.height: 80 - - -*Dialog.background: gray85 -*quit.ask.label: Write configuration to -*quit.ask.value.translations: #override \ -<Key>Return: write-config() -*quit.ask.label.justify: left -*quit.ask.value.width: 222 -*quit.ask.icon: Excl -.xorgcfg.quit.geometry: 230x92 -.xorgcfg.quit.minWidth: 230 -.xorgcfg.quit.maxWidth: 230 -.xorgcfg.quit.minHeight: 92 -.xorgcfg.quit.maxHeight: 92 - -*error.notice.label: Failed to write configuration file. -.xorgcfg.error.geometry: 280x50 -.xorgcfg.error.minWidth: 260 -.xorgcfg.error.maxWidth: 260 -.xorgcfg.error.minHeight: 50 -.xorgcfg.error.maxHeight: 50 - -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! accessx -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -*Accessx*Label.font: -*-fixed-medium-r-*-*-13-*-*-*-*-*-iso8859-1 -*Accessx.Form.Toggle.font: -*-fixed-medium-r-*-*-13-*-*-*-*-*-iso8859-1 -*Accessx*Label.background: white -*Accessx*Label.justify: left -*Accessx*Label.internalHeight: 0 -*Accessx*Label.internalWidth: 0 -*Accessx*Label.foreground: gray35 -*Accessx*Toggle.internalHeight: 0 -*Accessx.Toggle.internalWidth: 18 -*Accessx.Toggle.justify: left -*Accessx.Toggle.foreground: gray30 -*Accessx.Toggle.background: white -*Accessx*Toggle.highlightThickness: 0 -*Accessx.Toggle.foreground: rgb:f/7/7 -*Accessx.Toggle.displayList:\ -foreground white;\ -points 0,0,-1,0;\ -foreground rgb:f/7/7;\ -fill-poly 0,2,0,-3,8,6 -*Accessx.Toggle.translations: \ -<Btn1Down>,<Btn1Up>: toggle() notify()\n\ -<Enter>: set-values(1, displayList, "foreground white;points 0,0,-1,0;fill-poly 0,1,10,6,0,-2;foreground rgb:7/7/f;fill-poly 0,2,0,-3,8,6")\n\ -<Leave>: set-values(1, displayList, "foreground white;points 0,0,-1,0;foreground rgb:f/7/7;fill-poly 0,2,0,-3,8,6") -*Accessx.Form.borderWidth: 1 -*Accessx.Form.borderColor: rgb:f/a/a -*Accessx.Form.vertDistance: 0 -*Accessx.Form.defaultDistance: 2 -*Accessx.borderWidth: 0 -*accessxForm.background: white -*Accessx*Form.background: white -*Accessx.background: white -*accessxForm.enable.label: Enable AccessX -*accessxForm.enable.width: 208 -*accessxForm.apply.fromHoriz: enable -*accessxForm.apply.label: Apply changes -*accessxForm.Accessx.fromVert: enable -*Accessx.timeoutToggle.background: white -*Accessx.timeoutToggle.foreground: rgb:7/7/f -*Accessx.timeoutToggle.displayList:\ -foreground rgb:a/a/f;\ -lines 1,-1,-1,-1,-1,1;\ -foreground rgb:2/2/a;\ -lines -1,0,0,0,0,-1 - -*Accessx.Form.Toggle.background: white -*Accessx.Form.Toggle.foreground: rgb:7/7/f -*Accessx.Form.Toggle.displayList:\ -foreground rgb:a/a/f;\ -lines 1,-1,-1,-1,-1,1;\ -foreground rgb:2/2/a;\ -lines -1,0,0,0,0,-1 -*Accessx.Form.Toggle.translations: \ -<Btn1Down>,<Btn1Up>: toggle() notify()\n\ -<Enter>: set-values(1, displayList, "foreground rgb:a/a/f;lines 1,-1,-1,-1,-1,1;foreground rgb:2/2/a;lines -1,0,0,0,0,-1;foreground rgb:f/7/7;draw-rect 1,1,-2,-2")\n\ -<Leave>: set-values(1, displayList, "foreground rgb:a/a/f;lines 1,-1,-1,-1,-1,1;foreground rgb:2/2/a;lines -1,0,0,0,0,-1") - -*Accessx.timeoutToggle.internalWidth: 4 -*Accessx.timeoutToggle.translations:\ -<Btn1Down>,<Btn1Up>: toggle() notify() -*Accessx.timeoutToggle.internalWidth: 4 -*Accessx.timeoutToggle.internalHeight: 1 -*Accessx.timeoutToggle.vertDistance: 6 -*Accessx.timeoutToggle.label: Time Out -*Accessx.timeoutLabel.fromHoriz: timeoutToggle -*Accessx.timeoutLabel.vertDistance: 7 -*Accessx.timeoutLabel.label: Time (min) -*Accessx.Label.background: white -*Accessx.timeoutNumber.vertDistance: 1 -*Accessx.timeoutNumber.fromHoriz: timeoutLabel -*Accessx.timeoutNumber.font: 6x9 -*Accessx.timeoutNumber.label: ?? -*Accessx.timeoutScroller.fromVert: timeoutNumber -*Accessx.timeoutScroller.fromHoriz: timeoutLabel -*Accessx.timeoutScroller.width: 133 -*Accessx.timeoutScroller.horizDistance: 31 -*Accessx*Scrollbar.vertDistance: 0 -*Accessx*Scrollbar.orientation: horizontal -*Accessx*Scrollbar.thumb: black -*Accessx*Scrollbar.height: 8 -*Accessx*Scrollbar.minimumThumb: 5 -*Accessx*Scrollbar.borderWidth: 1 -*Accessx*Scrollbar.borderColor: white -*Accessx*Scrollbar.foreground: rgb:f/7/7 -*Accessx*Scrollbar.background: gray95 -*Accessx*Scrollbar.displayList:\ -foreground gray80;\ -lines 1,-1,-1,-1,-1,1;\ -foreground gray90;\ -lines -1,0,0,0,0,-1 -*Accessx.sticky.fromVert: timeoutToggle -*Accessx.sticky.vertDistance: 6 -*Accessx.sticky.label: Enable StickyKeys -*Accessx.sticky.width: 304 -*Accessx.stickyForm.fromVert: sticky -*Accessx.stickyForm.Toggle.width: 148 -*Accessx.stickyForm.Toggle.internalHeight: 1 -*Accessx.stickyForm.auto.label: Auto off -*Accessx.stickyForm.beep.fromHoriz: auto -*Accessx.stickyForm.beep.label: Modifiers beep -*Accessx.mouseKeys.fromVert: stickyForm -*Accessx.mouseKeys.width: 304 -*Accessx.mouseKeys.vertDistance: 6 -*Accessx.mouseKeys.label: Enable MouseKeys -*Accessx.mouseForm.fromVert: mouseKeys -*Accessx.mouseForm.speedLabel.vertDistance: 7 -*Accessx.mouseForm.speedLabel.label: Peak speed (pixels/sec) -*Accessx.mouseForm.speedNumber.fromHoriz: speedLabel -*Accessx.mouseForm.speedNumber.font: 6x9 -*Accessx.mouseForm.speedNumber.label: ??? -*Accessx.mouseForm.speedScroller.fromHoriz: speedLabel -*Accessx.mouseForm.speedScroller.fromVert: speedNumber -*Accessx.mouseForm.speedScroller.width: 133 -*Accessx.mouseForm.timeLabel.fromVert: speedScroller -*Accessx.mouseForm.timeLabel.label: Time to peak (sec) -*Accessx.mouseForm.timeLabel.vertDistance: 7 -*Accessx.mouseForm.timeNumber.label: ??? -*Accessx.mouseForm.timeNumber.fromVert: speedScroller -*Accessx.mouseForm.timeNumber.fromHoriz: timeLabel -*Accessx.mouseForm.timeNumber.font: 6x9 -*Accessx.mouseForm.timeScroller.fromHoriz: timeLabel -*Accessx.mouseForm.timeScroller.fromVert: timeNumber -*Accessx.mouseForm.timeScroller.width: 133 -*Accessx.mouseForm.timeScroller.horizDistance: 37 -*Accessx.mouseForm.delayLabel.fromVert: timeScroller -*Accessx.mouseForm.delayLabel.label: Motion delay (sec) -*Accessx.mouseForm.delayLabel.tip:\ -Time between the initial key press\n\ -and the first repeated motion event -*Accessx.mouseForm.delayLabel.vertDistance: 7 -*Accessx.mouseForm.delayNumber.label: ??? -*Accessx.mouseForm.delayNumber.fromVert: timeScroller -*Accessx.mouseForm.delayNumber.fromHoriz: delayLabel -*Accessx.mouseForm.delayNumber.font: 6x9 -*Accessx.mouseForm.delayScroller.fromHoriz: delayLabel -*Accessx.mouseForm.delayScroller.fromVert: delayNumber -*Accessx.mouseForm.delayScroller.width: 133 -*Accessx.mouseForm.delayScroller.horizDistance: 37 -*Accessx.repeatKeys.fromVert: mouseForm -*Accessx.repeatKeys.width: 304 -*Accessx.repeatKeys.vertDistance: 6 -*Accessx.repeatKeys.label: Enable RepeatKeys -*Accessx.repeatForm.fromVert: repeatKeys -*Accessx.repeatForm.rateLabel.vertDistance: 7 -*Accessx.repeatForm.rateLabel.label: Repeat rate (sec/key) -*Accessx.repeatForm.rateNumber.fromHoriz: rateLabel -*Accessx.repeatForm.rateNumber.font: 6x9 -*Accessx.repeatForm.rateNumber.label: ???? -*Accessx.repeatForm.rateScroller.fromHoriz: rateLabel -*Accessx.repeatForm.rateScroller.fromVert: rateNumber -*Accessx.repeatForm.rateScroller.width: 133 -*Accessx.repeatForm.rateScroller.horizDistance: 16 -*Accessx.repeatForm.delayLabel.fromVert: rateScroller -*Accessx.repeatForm.delayLabel.label: Repeat delay (sec) -*Accessx.repeatForm.delayLabel.vertDistance: 7 -*Accessx.repeatForm.delayNumber.label: ???? -*Accessx.repeatForm.delayNumber.fromVert: rateScroller -*Accessx.repeatForm.delayNumber.fromHoriz: delayLabel -*Accessx.repeatForm.delayNumber.font: 6x9 -*Accessx.repeatForm.delayScroller.fromHoriz: delayLabel -*Accessx.repeatForm.delayScroller.fromVert: delayNumber -*Accessx.repeatForm.delayScroller.width: 133 -*Accessx.repeatForm.delayScroller.horizDistance: 37 -*Accessx.slow.fromVert: repeatForm -*Accessx.slow.vertDistance: 6 -*Accessx.slow.label: Enable SlowKeys -*Accessx.slow.width: 304 -*Accessx.slowForm.fromVert: slow -*Accessx.slowForm.Toggle.horizDistance: 4 -*Accessx.slowForm.Toggle.internalWidth: 4 -*Accessx.slowForm.Toggle.internalHeight: 1 -*Accessx.slowForm.beep.label: Beep when key is -*Accessx.slowForm.beep.vertDistance: 3 -*Accessx.slowForm.pressed.fromHoriz: beep -*Accessx.slowForm.pressed.label: pressed -*Accessx.slowForm.accepted.fromHoriz: pressed -*Accessx.slowForm.accepted.label: accepted -*Accessx.slowForm.slowLabel.fromVert: accepted -*Accessx.slowForm.slowLabel.label: Key delay (sec) -*Accessx.slowForm.slowLabel.vertDistance: 7 -*Accessx.slowForm.slowNumber.label: ??? -*Accessx.slowForm.slowNumber.fromVert: accepted -*Accessx.slowForm.slowNumber.fromHoriz: slowLabel -*Accessx.slowForm.slowNumber.font: 6x9 -*Accessx.slowForm.slowScroller.fromHoriz: slowLabel -*Accessx.slowForm.slowScroller.fromVert: slowNumber -*Accessx.slowForm.slowScroller.width: 133 -*Accessx.slowForm.slowScroller.horizDistance: 58 -*Accessx.bounce.fromVert: slowForm -*Accessx.bounce.vertDistance: 6 -*Accessx.bounce.label: Enable BounceKeys -*Accessx.bounce.width: 304 -*Accessx.bounceForm.fromVert: bounce -*Accessx.bounceForm.bounceLabel.label: Debounce time (sec) -*Accessx.bounceForm.bounceLabel.vertDistance: 7 -*Accessx.bounceForm.bounceNumber.label: ??? -*Accessx.bounceForm.bounceNumber.fromHoriz: bounceLabel -*Accessx.bounceForm.bounceNumber.font: 6x9 -*Accessx.bounceForm.bounceScroller.fromHoriz: bounceLabel -*Accessx.bounceForm.bounceScroller.fromVert: bounceNumber -*Accessx.bounceForm.bounceScroller.width: 133 -*Accessx.bounceForm.bounceScroller.horizDistance: 30 - -*accessx.geometry: 220x253 -*accessx.minWidth: 220 -*accessx.maxWidth: 220 -*accessx.minHeight: 253 -*accessx.maxHeight: 253 -*accessx*lock.fromVert: label -*accessx*div.fromVert: label -*accessx*div.fromHoriz: lock -*accessx*mul.fromVert: label -*accessx*mul.fromHoriz: div -*accessx*minus.fromVert: label -*accessx*minus.fromHoriz: mul -*accessx*7.fromVert: lock -*accessx*8.fromVert: div -*accessx*8.fromHoriz: 7 -*accessx*9.fromVert: mul -*accessx*9.fromHoriz: 8 -*accessx*plus.fromVert: minus -*accessx*plus.fromHoriz: 9 -*accessx*4.fromVert: 7 -*accessx*5.fromVert: 8 -*accessx*5.fromHoriz: 4 -*accessx*6.fromVert: 9 -*accessx*6.fromHoriz: 5 -*accessx*1.fromVert: 4 -*accessx*2.fromVert: 5 -*accessx*2.fromHoriz: 1 -*accessx*3.fromVert: 6 -*accessx*3.fromHoriz: 2 -*accessx*enter.fromVert: plus -*accessx*enter.fromHoriz: 3 -*accessx*0.fromVert: 2 -*accessx*del.fromVert: 3 -*accessx*del.fromHoriz: 0 -*accessx.form.background: gray80 -*accessx*Label.displayList:\ -foreground gray20;\ -lines +1,-1,-1,-1,-1,+1;\ -foreground white;\ -lines -1,0,0,0,0,-1 -*accessx*label.font: fixed -*accessx*Label.font: -*-helvetica-bold-o-*-*-10-*-*-*-*-*-*-1 -*accessx*Label.width: 50 -*accessx*Label.height: 35 -*accessx*label.width: 212 -*accessx*label.height: 50 -*accessx*plus.height: 74 -*accessx*enter.height: 74 -*accessx*0.width: 104 -*accessx*lock.label: Num\nLock -*accessx*div.label: /\n -*accessx*mul.label: *\n -*accessx*minus.label: -\n -*accessx*7.label: 7\n -*accessx*8.label: 8\n -*accessx*9.label: 9\n -*accessx*plus.label: +\n\ \n\ \n\ \n -*accessx*4.label: 4\n -*accessx*5.label: 5\n -*accessx*6.label: 6\n -*accessx*1.label: 1\n -*accessx*2.label: 2\n -*accessx*3.label: 3\n -*accessx*enter.label: Enter\n\ \n\ \n\ \n -*accessx*0.label: 0\n -*accessx*del.label: .\n\ \n -*accessx*label.displayList:\ -foreground white;\ -lines +1,-1,-1,-1,-1,+1;\ -foreground gray20;\ -lines -1,0,0,0,0,-1 -*accessx*label.label:\ -If your mouse does not work, use\n\ -the numeric keypad, following\n\ -the diagram bellow. -*accessx*div.displayList:\ -foreground gray20;\ -lines +1,-1,-1,-1,-1,+1;\ -foreground white;\ -lines -1,0,0,0,0,-1;\ -foreground red;\ -font -*-helvetica-bold-o-*-*-10-*-*-*-*-*-*-1;\ -draw-string 4,30, "Button 1" -*accessx*mul.displayList:\ -foreground gray20;\ -lines +1,-1,-1,-1,-1,+1;\ -foreground white;\ -lines -1,0,0,0,0,-1;\ -foreground red;\ -font -*-helvetica-bold-o-*-*-10-*-*-*-*-*-*-1;\ -draw-string 4,30, "Button 2" -*accessx*minus.displayList:\ -foreground gray20;\ -lines +1,-1,-1,-1,-1,+1;\ -foreground white;\ -lines -1,0,0,0,0,-1;\ -foreground red;\ -font -*-helvetica-bold-o-*-*-10-*-*-*-*-*-*-1;\ -draw-string 4,30, "Button 3" -*accessx*7.displayList:\ -foreground gray20;\ -lines +1,-1,-1,-1,-1,+1;\ -foreground white;\ -lines -1,0,0,0,0,-1;\ -foreground red;\ -fill-poly 20,20,20,30,30,20 -*accessx*8.displayList:\ -foreground gray20;\ -lines +1,-1,-1,-1,-1,+1;\ -foreground white;\ -lines -1,0,0,0,0,-1;\ -foreground red;\ -fill-poly 30,20,20,30,40,30 -*accessx*9.displayList:\ -foreground gray20;\ -lines +1,-1,-1,-1,-1,+1;\ -foreground white;\ -lines -1,0,0,0,0,-1;\ -foreground red;\ -fill-poly 20,20,30,30,30,20 -*accessx*plus.displayList:\ -foreground gray20;\ -lines +1,-1,-1,-1,-1,+1;\ -foreground white;\ -lines -1,0,0,0,0,-1;\ -foreground red;\ -font -*-helvetica-bold-o-*-*-10-*-*-*-*-*-*-1;\ -draw-string 9,46, "Double";\ -draw-string 14,60, "Click" -*accessx*4.displayList:\ -foreground gray20;\ -lines +1,-1,-1,-1,-1,+1;\ -foreground white;\ -lines -1,0,0,0,0,-1;\ -foreground red;\ -fill-poly 22,22,30,30,30,14 -*accessx*5.displayList:\ -foreground gray20;\ -lines +1,-1,-1,-1,-1,+1;\ -foreground white;\ -lines -1,0,0,0,0,-1;\ -foreground red;\ -font -*-helvetica-bold-o-*-*-10*-*-*-*-*-*-1;\ -draw-string 14,30, "Click" -*accessx*6.displayList:\ -foreground gray20;\ -lines +1,-1,-1,-1,-1,+1;\ -foreground white;\ -lines -1,0,0,0,0,-1;\ -foreground red;\ -fill-poly 30,22,22,30,22,14 -*accessx*1.displayList:\ -foreground gray20;\ -lines +1,-1,-1,-1,-1,+1;\ -foreground white;\ -lines -1,0,0,0,0,-1;\ -foreground red;\ -fill-poly 20,20,20,30,30,30 -*accessx*2.displayList:\ -foreground gray20;\ -lines +1,-1,-1,-1,-1,+1;\ -foreground white;\ -lines -1,0,0,0,0,-1;\ -foreground red;\ -fill-poly 28,30,20,22,36,22 -*accessx*3.displayList:\ -foreground gray20;\ -lines +1,-1,-1,-1,-1,+1;\ -foreground white;\ -lines -1,0,0,0,0,-1;\ -foreground red;\ -fill-poly 20,30,30,30,30,20 -*accessx*enter.displayList:\ -foreground gray20;\ -lines +1,-1,-1,-1,-1,+1;\ -foreground white;\ -lines -1,0,0,0,0,-1;\ -foreground red;\ -font -*-helvetica-bold-o-*-*-10-*-*-*-*-*-*-1;\ -draw-string 9,46, "Toggle";\ -draw-string 10,60, "Speed" -*accessx*0.displayList:\ -foreground gray20;\ -lines +1,-1,-1,-1,-1,+1;\ -foreground white;\ -lines -1,0,0,0,0,-1;\ -foreground red;\ -font -*-helvetica-bold-o-*-*-10-*-*-*-*-*-*-1;\ -draw-string 26,30, "Button Lock" -*accessx*del.displayList:\ -foreground gray20;\ -lines +1,-1,-1,-1,-1,+1;\ -foreground white;\ -lines -1,0,0,0,0,-1;\ -foreground red;\ -font -*-helvetica-bold-o-*-*-8-*-*-*-*-*-*-1;\ -draw-string 12,21, "Button";\ -draw-string 9,30, "Release" - -*panner.width: 100 -*panner.height: 100 - -*help*text.properties:\ -default?family=Times&weight=Medium&slant=R&pixelsize=12®istry=ISO8859&encoding=1,\ -b?weight=Bold,\ -strong?weight=Bold,\ -i?slant=I,\ -em?slant=I,\ -address?slant=I,\ -h1?pixelsize=24&weight=Bold,\ -h2?pixelsize=20&weight=Bold,\ -h3?pixelsize=17&weight=Bold,\ -h4?pixelsize=14&weight=Bold,\ -h5?pixelsize=12&weight=Bold,\ -h6?pixelsize=10&weight=Bold,\ -pre?family=Courier&pixelsize=10,\ -kbd?family=Courier&pixelsize=10,\ -code?family=Courier&pixelsize=10,\ -samp?family=Courier&pixelsize=10,\ -tt?family=Courier&pixelsize=10 -*help*commands.min: 22 -*help*commands.max: 22 -*help*commands.showGrip:False -*help*wrap: word -*help*commands.close.label: Close -.xorgcfg.help.geometry: 320x369 -.xorgcfg.help.minWidth: 320 -.xorgcfg.help.maxWidth: 320 -.xorgcfg.help.minHeight: 369 -.xorgcfg.help.maxHeight: 369 -.xorgcfg.help.translations: #override \ -<Message>WM_PROTOCOLS: help-close() -*help*text.translations:\ -<Key>Up: scroll-one-line-down()\n\ -<Key>Down: scroll-one-line-up()\n\ -<Key>Next: next-page()\n\ -<Key>Prior: previous-page()\n\ -<Key>space: next-page()\n\ -<Key>BackSpace: previous-page()\n\ -<Key>Home: beginning-of-file()\n\ -<Key>End: end-of-file() -*help*text*displayCaret: False -*help*text.leftMargin: 10 -*help*text.rightMargin: 10 - -*help.helpDevices:\ -<h2>Configuring devices</h2>\ -You can arrange the icons pressing the <i>left mouse button</i> \ -and dragging them.\ -<p>\ -To configure a device, press the <i>right mouse button</i> and choose the \ -<tt>configure</tt> option.\ - -*help.helpScreen:\ -<h2>Configuring screens</h2>\ -You can drag the monitors to set the screen layout form <b>Xinerama</b> \ -pressing the <i>left mouse button</i> and moving them.\ -<p>\ -Press the <i>right mouse button</i> to set configure or set options for \ -the given screen. - -*help.helpModeline:\ -<h2>Configuring modelines</h2>\ -<b><font size=+1 color=red>The controls here may damage your \ -monitor.</font></b> \ -<p>\ -You can safelly skip this stage of the configuration process.\ -<p>\ -When not running in <b>Xinerama</b> mode, you can configure modelines \ -for every configured monitor. Set the <b>Auto</b> toggle to see the changes \ -while the <i>control buttons</i> are pressed.\ -<p>\ -Note that the <i>arrow</i> buttons are repeaters. Press they only once \ -and they will show the changes in the <i>text labels</i>.\ -<p>\ -<font color=forestgreen>Press <b>ESC</b> if the monitor goes out of sync.</font> - -*help.helpAccessX:\ -<h2>Configuring accessx</h2>\ -This interface is expected to allow customizing most of the <b>accessx</b> \ -options.\ -<p>\ -Press in the <b>Enable ???</b> label to set specific options.\ -<p>\ -<font color=red>Note</font>: currently, if you press the \ -<tt><b>Apply changes</b></tt> button there is no way to undo your changes.</font> - - -*Expert.geometry: 640x460 -*Expert*vpane.min: 64 -*Expert*vpane.max: 64 -*Expert*vpane.showGrip: False -*Expert*vpane.close.showGrip: False -*Expert*vpane.close.min: 26 -*Expert*vpane.close.max: 26 -*panner.internalSpace: 1 -*panner.shadowThickness: 0 -*panner.shadowColor: gray60 -*panner.backgroundStipple: black -*panner.borderColor: gray40 - -*expert*tree.hSpace: 12 -*expert*tree*Box.hSpace: 4 -*expert*tree*vSpace: 4 -*expert*tree*LogFile.Text.width: 192 -*expert*tree*RgbPath.Text.width: 192 -*expert*tree*ModulePath.Text.width: 192 - -*expert*tree*Form.defaultDistance: 4 - -*expert*tree.backgroundPixmap: xlogo64?foreground=gray90&background=gray92 -*expert*tree.foreground: gray45 - -*expert*tree*Label.backgroundPixmap: ParentRelative - -*expert*tree*Box.backgroundPixmap: gradient:vertical?dimension=3&start=gray85&end=gray95 -*expert*tree*Box.borderWidth: 0 -*expert*tree*Box.background: gray85 -*expert*Box.displayList:\ -foreground gray40;\ -lines 1,-1,-1,-1,-1,1;\ -foreground white;\ -lines -1,0,0,0,0,-1 - -*expert*tree*Form.backgroundPixmap: gradient:vertical?dimension=3&start=gray85&end=gray95 -*expert*tree*Form.borderWidth: 0 -*expert*tree*Form.background: gray85 -*expert*Form.displayList:\ -foreground gray40;\ -lines 1,-1,-1,-1,-1,1;\ -foreground white;\ -lines -1,0,0,0,0,-1 - -*expert*tree*Text.width: 160 - -*expert*tree*fontpath.Text.width: 228 -*expert*tree*fontpath.up.fromHoriz: remove -*expert*tree*fontpath.down.fromHoriz: up -*expert*tree*fontpath.value.fromVert: remove -*expert*tree*fontpath.valueNew.fromVert: new - -*expert*tree*modulepath.Text.width: 228 -*expert*tree*modulepath.value.fromVert: remove -*expert*tree*modulepath.valueNew.fromVert: new - -*expert*tree*module.options.fromHoriz: remove -*expert*tree*module.label.fromVert: remove -*expert*tree*module.value.fromHoriz: new -*expert*tree*module.value.width: 78 - -*expert*tree*video*Label.justify: left -*expert*tree*video.options.fromHoriz: remove -*expert*tree*video.adaptor.fromHoriz: options -*expert*tree*video.vendorL.width: 78 -*expert*tree*video.vendorL.label: VendorName -*expert*tree*video.vendorL.fromVert: remove -*expert*tree*video.vendor.fromVert: remove -*expert*tree*video.vendor.fromHoriz: vendorL -*expert*tree*video.boardL.width: 78 -*expert*tree*video.boardL.label: BoardName -*expert*tree*video.boardL.fromVert: vendor -*expert*tree*video.board.fromVert: vendor -*expert*tree*video.board.fromHoriz: boardL -*expert*tree*video.busidL.width: 78 -*expert*tree*video.busidL.label: BusID -*expert*tree*video.busidL.fromVert: board -*expert*tree*video.busid.fromVert: board -*expert*tree*video.busid.fromHoriz: busidL -*expert*tree*video.driverL.width: 78 -*expert*tree*video.driverL.label: Driver -*expert*tree*video.driverL.fromVert: busid -*expert*tree*video.driver.fromVert: busid -*expert*tree*video.driver.fromHoriz: driverL -*expert*tree*video.value.fromHoriz: new -*expert*tree*video.value.width: 78 -*expert*tree*VideoPort.fromVert: driver -*expert*tree*VideoPort.horizDistance: 120 -*expert*tree*video.value.width: 149 - -*expert*tree*port.value.fromHoriz: new -*expert*tree*port.options.fromHoriz: remove -*expert*tree*port.label.fromVert: remove -*expert*tree*port.value.width: 78 - -*expert*tree*modes.mode.fromHoriz: remove -*expert*tree*modes.value.fromHoriz: new -*expert*tree*modes.value.width: 78 - -*expert*tree*modeline.label.fromHoriz: remove -*expert*tree*modeline.modeline.fromVert: remove -*expert*tree*modeline.modeline.width: 480 -*expert*tree*modeline.value.fromHoriz: new -*expert*tree*modeline.value.width: 120 -*expert*tree*modeline.modelineNew.fromVert: value -*expert*tree*modeline.modelineNew.width: 480 - -*expert*tree*monitor.options.fromHoriz: remove -*expert*tree*monitor.label.fromHoriz: options - -*expert*tree*monitor.Label.justify: left -*expert*tree*monitor.Text.width: 120 -*expert*tree*monitor.vendorL.width: 100 -*expert*tree*monitor.vendorL.label: VendorName -*expert*tree*monitor.vendorL.fromVert: remove -*expert*tree*monitor.vendor.fromVert: remove -*expert*tree*monitor.vendor.fromHoriz: vendorL -*expert*tree*monitor.modelnameL.width: 100 -*expert*tree*monitor.modelnameL.label: ModelName -*expert*tree*monitor.modelnameL.fromVert: vendor -*expert*tree*monitor.modelname.fromVert: vendor -*expert*tree*monitor.modelname.fromHoriz: modelnameL -*expert*tree*monitor.widthL.width: 100 -*expert*tree*monitor.widthL.label: Width (mm) -*expert*tree*monitor.widthL.fromVert: modelname -*expert*tree*monitor.width.fromVert: modelname -*expert*tree*monitor.width.fromHoriz: widthL -*expert*tree*monitor.heightL.width: 100 -*expert*tree*monitor.heightL.label: Height (mm) -*expert*tree*monitor.heightL.fromVert: width -*expert*tree*monitor.height.fromVert: width -*expert*tree*monitor.height.fromHoriz: heightL -*expert*tree*monitor.hsyncL.width: 100 -*expert*tree*monitor.hsyncL.label: Hsync -*expert*tree*monitor.hsyncL.fromVert: heightL -*expert*tree*monitor.hsync.fromVert: height -*expert*tree*monitor.hsync.fromHoriz: hsyncL -*expert*tree*monitor.vrefreshL.width: 100 -*expert*tree*monitor.vrefreshL.label: Vrefresh -*expert*tree*monitor.vrefreshL.fromVert: hsync -*expert*tree*monitor.vrefresh.fromVert: hsync -*expert*tree*monitor.vrefresh.fromHoriz: vrefreshL -*expert*tree*monitor.gammaRedL.width: 100 -*expert*tree*monitor.gammaRedL.label: Gamma (red) -*expert*tree*monitor.gammaRedL.fromVert: vrefresh -*expert*tree*monitor.gammaRed.fromVert: vrefresh -*expert*tree*monitor.gammaRed.fromHoriz: gammaRedL -*expert*tree*monitor.gammaGreenL.width: 100 -*expert*tree*monitor.gammaGreenL.label: Gamma (green) -*expert*tree*monitor.gammaGreenL.fromVert: gammaRed -*expert*tree*monitor.gammaGreen.fromVert: gammaRed -*expert*tree*monitor.gammaGreen.fromHoriz: gammaGreenL -*expert*tree*monitor.gammaBlueL.width: 100 -*expert*tree*monitor.gammaBlueL.label: Gamma (blue) -*expert*tree*monitor.gammaBlueL.fromVert: gammaGreen -*expert*tree*monitor.gammaBlue.fromVert: gammaGreen -*expert*tree*monitor.gammaBlue.fromHoriz: gammaBlueL -*expert*tree*monitor.value.width: 191 -*expert*tree*monitor.value.fromHoriz: new - -*expert*tree*device.Label.justify: left -*expert*tree*device.options.fromHoriz: remove -*expert*tree*device.label.fromHoriz: options -*expert*tree*device.vendorL.label: VendorName -*expert*tree*device.vendorL.width: 100 -*expert*tree*device.vendorL.fromVert: remove -*expert*tree*device.vendor.fromVert: remove -*expert*tree*device.vendor.fromHoriz: vendorL -*expert*tree*device.boardL.label: BoardName -*expert*tree*device.boardL.width: 100 -*expert*tree*device.boardL.fromVert: vendor -*expert*tree*device.board.fromVert: vendor -*expert*tree*device.board.fromHoriz: boardL -*expert*tree*device.chipsetL.label: Chipset -*expert*tree*device.chipsetL.width: 100 -*expert*tree*device.chipsetL.fromVert: board -*expert*tree*device.chipset.fromVert: board -*expert*tree*device.chipset.fromHoriz: chipsetL -*expert*tree*device.busidL.label: BusID -*expert*tree*device.busidL.width: 100 -*expert*tree*device.busidL.fromVert: chipset -*expert*tree*device.busid.fromVert: chipset -*expert*tree*device.busid.fromHoriz: chipsetL -*expert*tree*device.cardL.label: Card -*expert*tree*device.cardL.width: 100 -*expert*tree*device.cardL.fromVert: busid -*expert*tree*device.card.fromVert: busid -*expert*tree*device.card.fromHoriz: cardL -*expert*tree*device.driverL.label: Driver -*expert*tree*device.driverL.width: 100 -*expert*tree*device.driverL.fromVert: card -*expert*tree*device.driver.fromVert: card -*expert*tree*device.driver.fromHoriz: driverL -*expert*tree*device.ramdacL.label: Ramdac -*expert*tree*device.ramdacL.width: 100 -*expert*tree*device.ramdacL.fromVert: driverL -*expert*tree*device.ramdac.fromVert: driver -*expert*tree*device.ramdac.fromHoriz: ramdacL -*expert*tree*device.dacSpeedL.label: DacSpeed -*expert*tree*device.dacSpeedL.width: 100 -*expert*tree*device.dacSpeedL.fromVert: ramdac -*expert*tree*device.dacSpeed.fromVert: ramdac -*expert*tree*device.dacSpeed.fromHoriz: dacSpeedL -*expert*tree*device.videoRamL.label: VideoRam -*expert*tree*device.videoRamL.width: 100 -*expert*tree*device.videoRamL.fromVert: dacSpeed -*expert*tree*device.videoRam.fromVert: dacSpeed -*expert*tree*device.videoRam.fromHoriz: videoRamL -*expert*tree*device.textClockFreqL.label: TextClockFreq -*expert*tree*device.textClockFreqL.width: 100 -*expert*tree*device.textClockFreqL.fromVert: videoRam -*expert*tree*device.textClockFreq.fromVert: videoRam -*expert*tree*device.textClockFreq.fromHoriz: textClockFreqL -*expert*tree*device.biosBaseL.label: BiosBase -*expert*tree*device.biosBaseL.width: 100 -*expert*tree*device.biosBaseL.fromVert: textClockFreq -*expert*tree*device.biosBase.fromVert: textClockFreq -*expert*tree*device.biosBase.fromHoriz: biosBaseL -*expert*tree*device.memBaseL.label: MemBase -*expert*tree*device.memBaseL.width: 100 -*expert*tree*device.memBaseL.fromVert: biosBase -*expert*tree*device.memBase.fromVert: biosBase -*expert*tree*device.memBase.fromHoriz: memBaseL -*expert*tree*device.ioBaseL.label: IOBase -*expert*tree*device.ioBaseL.width: 100 -*expert*tree*device.ioBaseL.fromVert: memBase -*expert*tree*device.ioBase.fromVert: memBase -*expert*tree*device.ioBase.fromHoriz: ioBaseL -*expert*tree*device.clockChipL.label: ClockChip -*expert*tree*device.clockChipL.width: 100 -*expert*tree*device.clockChipL.fromVert: ioBase -*expert*tree*device.clockChip.fromVert: ioBase -*expert*tree*device.clockChip.fromHoriz: clockChipL -*expert*tree*device.devClockL.label: Clocks -*expert*tree*device.devClockL.width: 100 -*expert*tree*device.devClockL.fromVert: clockChip -*expert*tree*device.devClock.fromVert: clockChip -*expert*tree*device.devClock.fromHoriz: devClockL -*expert*tree*device.chipIdL.label: ChipId -*expert*tree*device.chipIdL.width: 100 -*expert*tree*device.chipIdL.fromVert: devClock -*expert*tree*device.chipId.fromVert: devClock -*expert*tree*device.chipId.fromHoriz: chipIdL -*expert*tree*device.chipRevL.label: ChipRev -*expert*tree*device.chipRevL.width: 100 -*expert*tree*device.chipRevL.fromVert: chipId -*expert*tree*device.chipRev.fromVert: chipId -*expert*tree*device.chipRev.fromHoriz: chipRevL -*expert*tree*device.irqL.label: IRQ -*expert*tree*device.irqL.width: 100 -*expert*tree*device.irqL.fromVert: chipRev -*expert*tree*device.irq.fromVert: chipRev -*expert*tree*device.irq.fromHoriz: irqL -*expert*tree*device.screenL.label: Screen -*expert*tree*device.screenL.width: 100 -*expert*tree*device.screenL.fromVert: irq -*expert*tree*device.screen.fromVert: irq -*expert*tree*device.screen.fromHoriz: screenL -*expert*tree*device.value.fromHoriz: new - -*expert*tree*screen.Label.justify: left -*expert*tree*screen.options.fromHoriz: remove -*expert*tree*screen.label.fromHoriz: options -*expert*tree*screen.defaultDepthL.label: DefaultDepth -*expert*tree*screen.defaultDepthL.width: 92 -*expert*tree*screen.defaultDepthL.fromVert: remove -*expert*tree*screen.defaultDepth.fromVert: remove -*expert*tree*screen.defaultDepth.fromHoriz: defaultDepthL -*expert*tree*screen.defaultBppL.label: DefaultBpp -*expert*tree*screen.defaultBppL.width: 92 -*expert*tree*screen.defaultBppL.fromVert: defaultDepth -*expert*tree*screen.defaultBpp.fromVert: defaultDepth -*expert*tree*screen.defaultBpp.fromHoriz: defaultBppL -*expert*tree*screen.defaultFbBppL.label: DefaultFbBpp -*expert*tree*screen.defaultFbBppL.width: 92 -*expert*tree*screen.defaultFbBppL.fromVert: defaultBpp -*expert*tree*screen.defaultFbBpp.fromVert: defaultBpp -*expert*tree*screen.defaultFbBpp.fromHoriz: defaultFbBppL -*expert*tree*screen.monitorL.label: Monitor -*expert*tree*screen.monitorL.width: 92 -*expert*tree*screen.monitorL.fromVert: defaultFbBpp -*expert*tree*screen.monitor.fromVert: defaultFbBpp -*expert*tree*screen.monitor.fromHoriz: monitorL -*expert*tree*screen.deviceL.label: Device -*expert*tree*screen.deviceL.width: 92 -*expert*tree*screen.deviceL.fromVert: monitor -*expert*tree*screen.device.fromVert: monitor -*expert*tree*screen.device.fromHoriz: deviceL -*expert*tree*screen.value.fromHoriz: new - -*expert*tree*adaptor.label.fromHoriz: remove - -*expert*tree*display.Label.width: 64 -*expert*tree*display.Label.justify: left -*expert*tree*display.options.fromHoriz: remove -*expert*tree*display.viewportL.label: Viewport -*expert*tree*display.viewportL.fromVert: remove -*expert*tree*display.viewport.fromVert: remove -*expert*tree*display.viewport.fromHoriz: viewportL -*expert*tree*display.virtualL.label: Virtual -*expert*tree*display.virtualL.fromVert: viewport -*expert*tree*display.virtual.fromVert: viewport -*expert*tree*display.virtual.fromHoriz: virtualL -*expert*tree*display.depthL.label: Depth -*expert*tree*display.depthL.fromVert: virtual -*expert*tree*display.depth.fromVert: virtual -*expert*tree*display.depth.fromHoriz: depthL -*expert*tree*display.bppL.label: FbBPP -*expert*tree*display.bppL.fromVert: depth -*expert*tree*display.bpp.fromVert: depth -*expert*tree*display.bpp.fromHoriz: bppL -*expert*tree*display.visualL.label: Visual -*expert*tree*display.visualL.fromVert: bpp -*expert*tree*display.visual.fromVert: bpp -*expert*tree*display.visual.fromHoriz: visualL -*expert*tree*display.weightL.label: Weight -*expert*tree*display.weightL.fromVert: visual -*expert*tree*display.weight.fromVert: visual -*expert*tree*display.weight.fromHoriz: weightL -*expert*tree*display.blackL.label: Black -*expert*tree*display.blackL.fromVert: weight -*expert*tree*display.black.fromVert: weight -*expert*tree*display.black.fromHoriz: blackL -*expert*tree*display.whiteL.label: White -*expert*tree*display.whiteL.fromVert: black -*expert*tree*display.white.fromVert: black -*expert*tree*display.white.fromHoriz: whiteL - -*expert*tree*mode.label.fromHoriz: remove -*expert*tree*mode.value.fromHoriz: new -*expert*tree*mode.value.width: 100 - -*expert*tree*input.options.fromHoriz: remove -*expert*tree*input.label.fromHoriz: options -*expert*tree*input.driverL.label: Driver -*expert*tree*input.driverL.fromVert: remove -*expert*tree*input.driver.fromVert: remove -*expert*tree*input.driver.fromHoriz: driverL -*expert*tree*input.value.fromHoriz: new - -*expert*tree*layout.options.fromHoriz: remove -*expert*tree*layout.label.fromHoriz: options -*expert*tree*layout.value.fromHoriz: new - -*expert*tree*adjacency.Text.width: 46 -*expert*tree*adjacency.MenuButton.width: 122 -*expert*tree*adjacency.label.fromHoriz: remove -*expert*tree*adjacency.scrnumL.label: Screen number -*expert*tree*adjacency.scrnumL.horizDistance: 50 -*expert*tree*adjacency.scrnum.width: 32 -*expert*tree*adjacency.scrnumL.fromVert: remove -*expert*tree*adjacency.scrnum.fromVert: remove -*expert*tree*adjacency.scrnum.fromHoriz: scrnumL -*expert*tree*adjacency.above.label: Above -*expert*tree*adjacency.above.fromVert: scrnumL -*expert*tree*adjacency.above.vertDistance: 20 -*expert*tree*adjacency.above.horizDistance: 96 -*expert*tree*adjacency.below.label: Below -*expert*tree*adjacency.below.horizDistance: 96 -*expert*tree*adjacency.leftOf.label: LeftOf -*expert*tree*adjacency.leftOf.fromVert: above -*expert*tree*adjacency.screen.fromVert: above -*expert*tree*adjacency.screen.fromHoriz: leftOf -*expert*tree*adjacency.rightOf.label: RightOf -*expert*tree*adjacency.rightOf.fromVert: above -*expert*tree*adjacency.rightOf.fromHoriz: screen -*expert*tree*adjacency.below.fromVert: screen -*expert*tree*adjacency.relative.label: Relative -*expert*tree*adjacency.relative.horizDistance: 53 -*expert*tree*adjacency.relative.fromVert: below -*expert*tree*adjacency.absolute.fromVert: below -*expert*tree*adjacency*absolute.label: Absolute -*expert*tree*adjacency*absolute.fromHoriz: relative -*expert*tree*adjacency*adjxL.label: X -*expert*tree*adjacency*adjxL.horizDistance: 42 -*expert*tree*adjacency*adjxL.fromVert: absolute -*expert*tree*adjacency*adjx.fromVert: absolute -*expert*tree*adjacency*adjx.fromHoriz: adjxL -*expert*tree*adjacency*adjyL.label: Y -*expert*tree*adjacency*adjyL.horizDistance: 12 -*expert*tree*adjacency*adjyL.fromVert: absolute -*expert*tree*adjacency*adjyL.fromHoriz: adjx -*expert*tree*adjacency*adjy.fromVert: absolute -*expert*tree*adjacency*adjy.fromHoriz: adjyL - -*expert*tree*inputref.options.fromHoriz: remove -*expert*tree*inputref.label.fromHoriz: options - -*expert*tree*vendor.Text.width: 100 -*expert*tree*vendor.options.fromHoriz: remove -*expert*tree*vendor.label.fromHoriz: options -*expert*tree*vendor.value.fromHoriz: new - -*expert*tree*vendorSub.Text.width: 140 -*expert*tree*vendorSub.options.fromHoriz: remove -*expert*tree*vendorSub.label.fromHoriz: options -*expert*tree*vendorSub.nameL.label: Name -*expert*tree*vendorSub.nameL.fromVert: remove -*expert*tree*vendorSub.name.fromVert: remove -*expert*tree*vendorSub.name.fromHoriz: nameL -*expert*tree*vendorSub.value.fromHoriz: new - -*expert*tree*dri.Text.width: 100 -*expert*tree*dri.Label.width: 78 -*expert*tree*dri.Label.justify: left -*expert*tree*dri.nameL.label: Group name -*expert*tree*dri.name.fromHoriz: nameL -*expert*tree*dri.groupL.label: Group -*expert*tree*dri.groupL.fromVert: name -*expert*tree*dri.group.fromVert: name -*expert*tree*dri.group.fromHoriz: groupL -*expert*tree*dri.modeL.label: Mode -*expert*tree*dri.modeL.fromVert: group -*expert*tree*dri.mode.fromVert: group -*expert*tree*dri.mode.fromHoriz: modeL - -*expert*tree*buffers.Label.width: 50 -*expert*tree*buffers.Text.width: 100 -*expert*tree*buffers.countL.label: Count -*expert*tree*buffers.countL.fromVert: remove -*expert*tree*buffers.count.fromVert: remove -*expert*tree*buffers.count.fromHoriz: countL -*expert*tree*buffers.sizeL.label: Size -*expert*tree*buffers.sizeL.fromVert: count -*expert*tree*buffers.size.fromVert: count -*expert*tree*buffers.size.fromHoriz: sizeL -*expert*tree*buffers.flagsL.label: Flags -*expert*tree*buffers.flagsL.fromVert: size -*expert*tree*buffers.flags.fromVert: size -*expert*tree*buffers.flags.fromHoriz: flagsL -*Expert*close.label: Close diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/accessx.c b/xorg-server/hw/xfree86/utils/xorgcfg/accessx.c deleted file mode 100644 index 38bda383a..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/accessx.c +++ /dev/null @@ -1,681 +0,0 @@ -/* - * Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) - * - * 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 - * CONECTIVA LINUX 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 Conectiva Linux shall - * not be used in advertising or otherwise to promote the sale, use or other - * dealings in this Software without prior written authorization from - * Conectiva Linux. - * - * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> - * - */ - -#include "config.h" -#include <sys/types.h> -#include <sys/wait.h> -#include <signal.h> -#include <X11/XKBlib.h> -#include <X11/Shell.h> -#include <X11/Xaw/Command.h> -#include <X11/Xaw/Form.h> -#include <X11/Xaw/Label.h> -#include <X11/Xaw/Scrollbar.h> -#include <X11/Xaw/Toggle.h> -#include "keyboard-cfg.h" - -#define MAX_TIMEOUT 20 -#define MAX_MOUSE_SPEED 500 -#define MAX_MOUSE_TIME 4 -#define MAX_MOUSE_DELAY 2.09 -#define MAX_REPEAT_RATE 8.04 -#define MAX_REPEAT_DELAY 6.04 -#define MAX_SLOW_TIME 4 -#define MAX_BOUNCE_TIME 4 - -/* - * Types - */ -typedef struct { - Widget label, number, scroller; - double min, max, value, resolution; - Bool integer; -} Scale; - -/* - * Initialization - */ -static Widget shell, accessx, enable, timeoutToggle, form, apply; -static Widget sticky, stickyAuto, stickyBeep; -static Widget mouse; -static Widget repeat; -static Widget slowToggle, slowPressed, slowAccepted; -static Widget bounceToggle; -static Scale *timeout, *mouseSpeed, *mouseTime, *mouseDelay, *slow, - *repeatRate, *repeatDelay, *bounce; -extern Widget work; - -/* - * Prototypes - */ -static void CreateAccessXHelpDialog(void); -static void EnableCallback(Widget, XtPointer, XtPointer); -static void ScaleEnableCallback(Widget, XtPointer, XtPointer); -static void ScaleJumpCallback(Widget, XtPointer, XtPointer); - -static void ApplyCallback(Widget, XtPointer, XtPointer); -static void AccessXInitialize(void); - -void CloseAccessXAction(Widget, XEvent*, String*, Cardinal*); -void AccessXConfigureStart(void); -void AccessXConfigureEnd(void); - -/* - * Implementation - */ -void -startaccessx(void) -{ - InitializeKeyboard(); - - if (xkb_info->xkb) { - XkbGetControls(DPY, XkbAllControlsMask, xkb_info->xkb); - if (xkb_info->xkb->ctrls == NULL) - xkb_info->xkb->ctrls = (XkbControlsPtr) - XtCalloc(1, sizeof(XkbControlsRec)); - - xkb_info->xkb->ctrls->enabled_ctrls |= XkbMouseKeysMask | - XkbMouseKeysAccelMask; - xkb_info->xkb->ctrls->mk_delay = 40; - xkb_info->xkb->ctrls->mk_interval = 10; - xkb_info->xkb->ctrls->mk_time_to_max = 1000; - xkb_info->xkb->ctrls->mk_max_speed = 500; - xkb_info->xkb->ctrls->mk_curve = 0; - XkbSetControls(DPY, XkbAllControlsMask, xkb_info->xkb); - (void)UpdateKeyboard(True); - CreateAccessXHelpDialog(); - } -} - -void -CreateAccessXHelpDialog() -{ - Widget form; - - shell = XtVaCreatePopupShell("accessx", transientShellWidgetClass, toplevel, - XtNx, toplevel->core.x + toplevel->core.width, - XtNy, toplevel->core.y, NULL); - form = XtCreateManagedWidget("form", formWidgetClass, shell, NULL, 0); - XtCreateManagedWidget("label", labelWidgetClass, form, NULL, 0); - XtCreateManagedWidget("lock", labelWidgetClass, form, NULL, 0); - XtCreateManagedWidget("div", labelWidgetClass, form, NULL, 0); - XtCreateManagedWidget("mul", labelWidgetClass, form, NULL, 0); - XtCreateManagedWidget("minus", labelWidgetClass, form, NULL, 0); - XtCreateManagedWidget("7", labelWidgetClass, form, NULL, 0); - XtCreateManagedWidget("8", labelWidgetClass, form, NULL, 0); - XtCreateManagedWidget("9", labelWidgetClass, form, NULL, 0); - XtCreateManagedWidget("plus", labelWidgetClass, form, NULL, 0); - XtCreateManagedWidget("4", labelWidgetClass, form, NULL, 0); - XtCreateManagedWidget("5", labelWidgetClass, form, NULL, 0); - XtCreateManagedWidget("6", labelWidgetClass, form, NULL, 0); - XtCreateManagedWidget("1", labelWidgetClass, form, NULL, 0); - XtCreateManagedWidget("2", labelWidgetClass, form, NULL, 0); - XtCreateManagedWidget("3", labelWidgetClass, form, NULL, 0); - XtCreateManagedWidget("enter", labelWidgetClass, form, NULL, 0); - XtCreateManagedWidget("0", labelWidgetClass, form, NULL, 0); - XtCreateManagedWidget("del", labelWidgetClass, form, NULL, 0); - - XtRealizeWidget(shell); - XSetWMProtocols(DPY, XtWindow(shell), &wm_delete_window, 1); - XtPopup(shell, XtGrabNone); -} - -/*ARGSUSED*/ -void -CloseAccessXAction(Widget w, XEvent *event, String *params, Cardinal *num_params) -{ - XtPopdown(shell); -} - -static void -AccessXInitialize(void) -{ - static int first = 1; - Arg args[1]; - Boolean state; - Widget stickyForm, mouseForm, repeatForm, slowForm, bounceForm; - float val, tmp; - - if (!first) - return; - first = 0; - - InitializeKeyboard(); - - XkbGetControls(DPY, XkbAllControlsMask, xkb_info->xkb); - if (xkb_info->xkb->ctrls == NULL) - xkb_info->xkb->ctrls = (XkbControlsPtr) - XtCalloc(1, sizeof(XkbControlsRec)); - - timeout = XtNew(Scale); - accessx = XtCreateWidget("accessxForm", formWidgetClass, work, NULL, 0); - enable = XtVaCreateManagedWidget("enable", toggleWidgetClass, accessx, - XtNstate, - (xkb_info->xkb->ctrls->enabled_ctrls & - (XkbAccessXKeysMask | XkbStickyKeysMask | - XkbSlowKeysMask | XkbBounceKeysMask)) != 0, NULL); - - apply = XtCreateManagedWidget("apply", commandWidgetClass, accessx, NULL, 0); - XtAddCallback(apply, XtNcallback, ApplyCallback, NULL); - - form = XtCreateManagedWidget("Accessx", formWidgetClass, accessx, NULL, 0); - timeoutToggle = XtVaCreateManagedWidget("timeoutToggle", toggleWidgetClass, - form, XtNstate, - xkb_info->xkb->ctrls->ax_timeout > 60 - && xkb_info->xkb->ctrls->ax_timeout - < 30000, NULL); - XtAddCallback(timeoutToggle, XtNcallback, ScaleEnableCallback, - (XtPointer)timeout); - timeout->label = XtCreateManagedWidget("timeoutLabel", labelWidgetClass, - form, NULL, 0); - timeout->number = XtCreateManagedWidget("timeoutNumber", labelWidgetClass, - form, NULL, 0); - timeout->scroller = XtCreateManagedWidget("timeoutScroller", - scrollbarWidgetClass, - form, NULL, 0); - XtAddCallback(timeout->scroller, XtNjumpProc, ScaleJumpCallback, - (XtPointer)timeout); - timeout->min = 1; - timeout->max = MAX_TIMEOUT; - timeout->resolution = 1; - timeout->integer = True; - - sticky = XtVaCreateManagedWidget("sticky", toggleWidgetClass, form, - XtNstate, - (xkb_info->xkb->ctrls->enabled_ctrls & - XkbStickyKeysMask) != 0, NULL); - stickyForm = XtCreateManagedWidget("stickyForm", formWidgetClass, - form, NULL, 0); - XtAddCallback(sticky, XtNcallback, EnableCallback, (XtPointer)stickyForm); - stickyAuto = XtVaCreateManagedWidget("auto", toggleWidgetClass, stickyForm, - XtNstate, - (xkb_info->xkb->ctrls->ax_options & - XkbAX_LatchToLockMask) == 0, NULL); - stickyBeep = XtVaCreateManagedWidget("beep", toggleWidgetClass, stickyForm, - XtNstate, - (xkb_info->xkb->ctrls->ax_options & - XkbAX_StickyKeysFBMask) != 0, NULL); - - mouse = XtVaCreateManagedWidget("mouseKeys", toggleWidgetClass, form, - XtNstate, - (xkb_info->xkb->ctrls->enabled_ctrls & - (XkbMouseKeysMask | XkbMouseKeysAccelMask)) - != 0, NULL); - mouseForm = XtCreateManagedWidget("mouseForm", formWidgetClass, - form, NULL, 0); - XtAddCallback(mouse, XtNcallback, EnableCallback, (XtPointer)mouseForm); - mouseSpeed = XtNew(Scale); - mouseSpeed->label = XtCreateManagedWidget("speedLabel", labelWidgetClass, - mouseForm, NULL, 0); - mouseSpeed->number = XtCreateManagedWidget("speedNumber", labelWidgetClass, - mouseForm, NULL, 0); - mouseSpeed->scroller = XtCreateManagedWidget("speedScroller", - scrollbarWidgetClass, - mouseForm, NULL, 0); - XtAddCallback(mouseSpeed->scroller, XtNjumpProc, ScaleJumpCallback, - (XtPointer)mouseSpeed); - mouseSpeed->min = 10; - mouseSpeed->max = MAX_MOUSE_SPEED; - mouseSpeed->resolution = 10; - mouseSpeed->integer = True; - mouseTime = XtNew(Scale); - mouseTime->label = XtCreateManagedWidget("timeLabel", labelWidgetClass, - mouseForm, NULL, 0); - mouseTime->number = XtCreateManagedWidget("timeNumber", labelWidgetClass, - mouseForm, NULL, 0); - mouseTime->scroller = XtCreateManagedWidget("timeScroller", - scrollbarWidgetClass, - mouseForm, NULL, 0); - XtAddCallback(mouseTime->scroller, XtNjumpProc, ScaleJumpCallback, - (XtPointer)mouseTime); - mouseTime->min = .1; - mouseTime->max = MAX_MOUSE_TIME; - mouseTime->resolution = .1; - mouseTime->integer = False; - mouseDelay = XtNew(Scale); - mouseDelay->label = XtCreateManagedWidget("delayLabel", labelWidgetClass, - mouseForm, NULL, 0); - mouseDelay->number = XtCreateManagedWidget("delayNumber", labelWidgetClass, - mouseForm, NULL, 0); - mouseDelay->scroller = XtCreateManagedWidget("delayScroller", - scrollbarWidgetClass, - mouseForm, NULL, 0); - XtAddCallback(mouseDelay->scroller, XtNjumpProc, ScaleJumpCallback, - (XtPointer)mouseDelay); - mouseDelay->min = .1; - mouseDelay->max = MAX_MOUSE_DELAY; - mouseDelay->resolution = .1; - mouseDelay->integer = False; - - repeat = XtVaCreateManagedWidget("repeatKeys", toggleWidgetClass, form, - XtNstate, - (xkb_info->xkb->ctrls->enabled_ctrls & - XkbRepeatKeysMask) != 0, NULL); - repeatForm = XtCreateManagedWidget("repeatForm", formWidgetClass, - form, NULL, 0); - XtAddCallback(repeat, XtNcallback, EnableCallback, (XtPointer)repeatForm); - repeatRate = XtNew(Scale); - repeatRate->label = XtCreateManagedWidget("rateLabel", labelWidgetClass, - repeatForm, NULL, 0); - repeatRate->number = XtCreateManagedWidget("rateNumber", labelWidgetClass, - repeatForm, NULL, 0); - repeatRate->scroller = XtCreateManagedWidget("rateScroller", - scrollbarWidgetClass, - repeatForm, NULL, 0); - XtAddCallback(repeatRate->scroller, XtNjumpProc, ScaleJumpCallback, - (XtPointer)repeatRate); - repeatRate->min = .05; - repeatRate->max = MAX_REPEAT_RATE; - repeatRate->resolution = .05; - repeatRate->integer = False; - repeatDelay = XtNew(Scale); - repeatDelay->label = XtCreateManagedWidget("delayLabel", labelWidgetClass, - repeatForm, NULL, 0); - repeatDelay->number = XtCreateManagedWidget("delayNumber", labelWidgetClass, - repeatForm, NULL, 0); - repeatDelay->scroller = XtCreateManagedWidget("delayScroller", - scrollbarWidgetClass, - repeatForm, NULL, 0); - XtAddCallback(repeatDelay->scroller, XtNjumpProc, ScaleJumpCallback, - (XtPointer)repeatDelay); - repeatDelay->min = .05; - repeatDelay->max = MAX_REPEAT_DELAY; - repeatDelay->resolution = .05; - repeatDelay->integer = False; - - slowToggle = XtVaCreateManagedWidget("slow", toggleWidgetClass, - form, XtNstate, - (xkb_info->xkb->ctrls->enabled_ctrls & - XkbSlowKeysMask) != 0, NULL); - slowForm = XtCreateManagedWidget("slowForm", formWidgetClass, - form, NULL, 0); - XtAddCallback(slowToggle, XtNcallback, EnableCallback, (XtPointer)slowForm); - XtCreateManagedWidget("beep", labelWidgetClass, slowForm, NULL, 0); - slowPressed = XtVaCreateManagedWidget("pressed", toggleWidgetClass, - slowForm, XtNstate, - (xkb_info->xkb->ctrls->ax_options & - XkbAX_SKPressFBMask) != 0, - NULL); - slowAccepted = XtVaCreateManagedWidget("accepted", toggleWidgetClass, - slowForm, XtNstate, - (xkb_info->xkb->ctrls->ax_options & - XkbAX_SKAcceptFBMask) != 0, - NULL); - slow = XtNew(Scale); - slow->label = XtCreateManagedWidget("slowLabel", labelWidgetClass, - slowForm, NULL, 0); - slow->number = XtCreateManagedWidget("slowNumber", labelWidgetClass, - slowForm, NULL, 0); - slow->scroller = XtCreateManagedWidget("slowScroller", - scrollbarWidgetClass, - slowForm, NULL, 0); - XtAddCallback(slow->scroller, XtNjumpProc, ScaleJumpCallback, - (XtPointer)slow); - slow->min = 0.1; - slow->max = MAX_SLOW_TIME; - slow->resolution = 0.1; - slow->integer = False; - - bounceToggle = XtVaCreateManagedWidget("bounce", toggleWidgetClass, - form, XtNstate, - (xkb_info->xkb->ctrls->enabled_ctrls & - XkbBounceKeysMask) != 0, - NULL); - bounceForm = XtCreateManagedWidget("bounceForm", formWidgetClass, - form, NULL, 0); - XtAddCallback(bounceToggle, XtNcallback, EnableCallback, (XtPointer)bounceForm); - bounce = XtNew(Scale); - bounce->label = XtCreateManagedWidget("bounceLabel", labelWidgetClass, - bounceForm, NULL, 0); - bounce->number = XtCreateManagedWidget("bounceNumber", labelWidgetClass, - bounceForm, NULL, 0); - bounce->scroller = XtCreateManagedWidget("bounceScroller", - scrollbarWidgetClass, - bounceForm, NULL, 0); - XtAddCallback(bounce->scroller, XtNjumpProc, ScaleJumpCallback, - (XtPointer)bounce); - bounce->min = 0.1; - bounce->max = MAX_BOUNCE_TIME; - bounce->resolution = 0.1; - bounce->integer = False; - - XtRealizeWidget(accessx); - - XtSetArg(args[0], XtNstate, &state); - XtGetValues(timeoutToggle, args, 1); - ScaleEnableCallback(enable, (XtPointer)timeout, (XtPointer)(long)state); - if (xkb_info->xkb->ctrls->ax_timeout > 60) - val = (float)(xkb_info->xkb->ctrls->ax_timeout - 60) / - (float)(MAX_TIMEOUT * 60); - else - val = 0; - ScaleJumpCallback(timeout->scroller, (XtPointer)timeout, (XtPointer)&val); - - XtSetArg(args[0], XtNstate, &state); - XtGetValues(sticky, args, 1); - EnableCallback(sticky, (XtPointer)stickyForm, (XtPointer)(long)state); - - XtSetArg(args[0], XtNstate, &state); - XtGetValues(mouse, args, 1); - EnableCallback(mouse, (XtPointer)mouseForm, (XtPointer)(long)state); - if (xkb_info->xkb->ctrls->mk_time_to_max > 10) - val = (float)((xkb_info->xkb->ctrls->mk_time_to_max * (40. / 10.))) / - (float)(MAX_MOUSE_TIME * 100); - else - val = 10.0 / (float)(MAX_MOUSE_TIME * 100); - ScaleJumpCallback(mouseTime->scroller, (XtPointer)mouseTime, - (XtPointer)&val); - tmp = mouseTime->value; - if (xkb_info->xkb->ctrls->mk_max_speed != 0) - val = (float)(xkb_info->xkb->ctrls->mk_max_speed / tmp - 10) / - (float)MAX_MOUSE_SPEED; - else - val = 10.0 / (float)MAX_MOUSE_SPEED; - ScaleJumpCallback(mouseSpeed->scroller, (XtPointer)mouseSpeed, - (XtPointer)&val); - if (xkb_info->xkb->ctrls->mk_delay > 10) - val = (float)(xkb_info->xkb->ctrls->mk_delay - 10) / - (float)(MAX_MOUSE_DELAY * 100); - else - val = 10.0 / (float)(MAX_MOUSE_DELAY * 100); - ScaleJumpCallback(mouseDelay->scroller, (XtPointer)mouseDelay, - (XtPointer)&val); - - XtSetArg(args[0], XtNstate, &state); - XtGetValues(repeat, args, 1); - EnableCallback(repeat, (XtPointer)repeatForm, (XtPointer)(long)state); - if (xkb_info->xkb->ctrls->repeat_interval > 5) - val = (float)(xkb_info->xkb->ctrls->repeat_interval - 5) / - (float)(MAX_REPEAT_RATE * 1000); - else - val = 5.0 / (float)(MAX_REPEAT_RATE * 1000); - ScaleJumpCallback(repeatRate->scroller, (XtPointer)repeatRate, - (XtPointer)&val); - if (xkb_info->xkb->ctrls->repeat_delay > 5) - val = (float)(xkb_info->xkb->ctrls->repeat_delay - 5) / - (float)(MAX_REPEAT_DELAY * 1000); - else - val = 5.0 / (float)(MAX_REPEAT_DELAY * 1000); - ScaleJumpCallback(repeatDelay->scroller, (XtPointer)repeatDelay, - (XtPointer)&val); - - XtSetArg(args[0], XtNstate, &state); - XtGetValues(slowToggle, args, 1); - EnableCallback(slowToggle, (XtPointer)slowForm, (XtPointer)(long)state); - if (xkb_info->xkb->ctrls->slow_keys_delay > 10) - val = (float)(xkb_info->xkb->ctrls->repeat_delay - 10) / - (float)(MAX_SLOW_TIME * 1000); - else - val = 10.0 / (float)(MAX_SLOW_TIME * 1000); - ScaleJumpCallback(slow->scroller, (XtPointer)slow, (XtPointer)&val); - - XtSetArg(args[0], XtNstate, &state); - XtGetValues(bounceToggle, args, 1); - EnableCallback(bounceToggle, (XtPointer)bounceForm, (XtPointer)(long)state); - if (xkb_info->xkb->ctrls->debounce_delay > 10) - val = (float)(xkb_info->xkb->ctrls->debounce_delay - 10) / - (float)(MAX_BOUNCE_TIME * 1000); - else - val = 10.0 / (float)(MAX_BOUNCE_TIME * 1000); - ScaleJumpCallback(bounce->scroller, (XtPointer)bounce, (XtPointer)&val); - - XtSetArg(args[0], XtNstate, &state); - XtGetValues(enable, args, 1); -} - -void -AccessXConfigureStart(void) -{ - AccessXInitialize(); - - XtMapWidget(accessx); -} - -void -AccessXConfigureEnd(void) -{ - XtUnmapWidget(accessx); -} - -/*ARGSUSED*/ -static void -EnableCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - XtSetSensitive((Widget)user_data, (long)call_data); -} - -/*ARGSUSED*/ -static void -ScaleEnableCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - Scale *scale = (Scale*)user_data; - - XtSetSensitive(scale->label, (long)call_data); - XtSetSensitive(scale->number, (long)call_data); - XtSetSensitive(scale->scroller, (long)call_data); -} - -static void -ScaleJumpCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - Scale *scale = (Scale*)user_data; - float percent = *(float *)call_data, timeout = percent * scale->max; - int x; - char str[8]; - Arg args[1]; - - if (timeout >= scale->max - scale->min) - timeout = scale->max - scale->min; - - if (scale->integer) { - int tm = timeout + scale->min; - - tm -= tm % (int)scale->resolution; - XmuSnprintf(str, sizeof(str), "%i", tm); - scale->value = tm; - } - else { - long tm = (timeout + scale->min) * 1e+6; - - tm -= tm % (long)(scale->resolution * 1e+6); - scale->value = (double)tm / 1e+6; - XmuSnprintf(str, sizeof(str), "%f", scale->value); - } - - XtSetArg(args[0], XtNlabel, str); - XtSetValues(scale->number, args, 1); - x = w->core.x + w->core.border_width; - x += ((double)(w->core.width - scale->number->core.width) / scale->max) * timeout; - XtMoveWidget(scale->number, x, scale->number->core.y); - XawScrollbarSetThumb(w, timeout / (scale->max - scale->min), - scale->resolution / (scale->max - scale->min)); -} - -/*ARGSUSED*/ -static void -ApplyCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - Arg args[1]; - Boolean state; - - XkbGetControls(DPY, XkbAllControlsMask, xkb_info->xkb); - - /* Enable AccessX */ - XtSetArg(args[0], XtNstate, &state); - XtGetValues(enable, args, 1); - if (state) { - xkb_info->config.initial_ctrls |= XkbAccessXKeysMask; - xkb_info->xkb->ctrls->enabled_ctrls |= XkbAccessXKeysMask; - } - else { - xkb_info->config.initial_ctrls &= ~XkbAccessXKeysMask; - xkb_info->xkb->ctrls->enabled_ctrls &= ~XkbAccessXKeysMask; - } - - /* Timeout */ - XtSetArg(args[0], XtNstate, &state); - XtGetValues(timeoutToggle, args, 1); - if (state) - xkb_info->config.ax_timeout = - xkb_info->xkb->ctrls->ax_timeout = timeout->value * 60; - else - xkb_info->config.ax_timeout = - xkb_info->xkb->ctrls->ax_timeout = 65535; - - /* Enable StickyKeys */ - XtSetArg(args[0], XtNstate, &state); - XtGetValues(sticky, args, 1); - if (state) { - xkb_info->config.initial_ctrls |= XkbStickyKeysMask; - xkb_info->xkb->ctrls->enabled_ctrls |= XkbStickyKeysMask; - } - else { - xkb_info->config.initial_ctrls &= ~XkbStickyKeysMask; - xkb_info->xkb->ctrls->enabled_ctrls &= ~XkbStickyKeysMask; - } - XtSetArg(args[0], XtNstate, &state); - XtGetValues(stickyAuto, args, 1); - if (state) { - xkb_info->config.initial_opts &= ~XkbAX_TwoKeysMask; - xkb_info->config.initial_opts &= ~XkbAX_LatchToLockMask; - xkb_info->xkb->ctrls->ax_options &= ~XkbAX_TwoKeysMask; - xkb_info->xkb->ctrls->ax_options &= ~XkbAX_LatchToLockMask; - } - else { - xkb_info->config.initial_opts &= ~XkbAX_TwoKeysMask; - xkb_info->config.initial_opts |= XkbAX_LatchToLockMask; - xkb_info->xkb->ctrls->ax_options &= ~XkbAX_TwoKeysMask; - xkb_info->xkb->ctrls->ax_options |= XkbAX_LatchToLockMask; - } - XtSetArg(args[0], XtNstate, &state); - XtGetValues(stickyBeep, args, 1); - if (state) { - xkb_info->config.initial_opts |= XkbAX_StickyKeysFBMask; - xkb_info->xkb->ctrls->ax_options |= XkbAX_StickyKeysFBMask; - } - else { - xkb_info->config.initial_opts &= ~XkbAX_StickyKeysFBMask; - xkb_info->xkb->ctrls->ax_options &= ~XkbAX_StickyKeysFBMask; - } - - /* Enable MouseKeys */ - XtSetArg(args[0], XtNstate, &state); - XtGetValues(mouse, args, 1); - if (state) { - xkb_info->config.initial_ctrls |= XkbMouseKeysAccelMask; - xkb_info->xkb->ctrls->enabled_ctrls |= XkbMouseKeysMask | - XkbMouseKeysAccelMask; - xkb_info->config.mk_delay = - xkb_info->xkb->ctrls->mk_delay = mouseDelay->value * 100; - xkb_info->config.mk_interval = - xkb_info->xkb->ctrls->mk_interval = 40; - xkb_info->config.mk_time_to_max = - xkb_info->xkb->ctrls->mk_time_to_max = - (mouseTime->value * 1000) / xkb_info->xkb->ctrls->mk_interval; - xkb_info->config.mk_max_speed = - xkb_info->xkb->ctrls->mk_max_speed = - mouseSpeed->value * mouseTime->value; - xkb_info->config.mk_curve = xkb_info->xkb->ctrls->mk_curve = 0; - } - else { - xkb_info->config.initial_ctrls &= ~(XkbMouseKeysMask | - XkbMouseKeysAccelMask); - xkb_info->xkb->ctrls->enabled_ctrls &= ~(XkbMouseKeysMask | - XkbMouseKeysAccelMask); - } - - /* Enable RepeatKeys */ - XtSetArg(args[0], XtNstate, &state); - XtGetValues(repeat, args, 1); - if (state) { - xkb_info->config.initial_ctrls |= XkbRepeatKeysMask; - xkb_info->xkb->ctrls->enabled_ctrls |= XkbRepeatKeysMask; - xkb_info->config.repeat_interval = - xkb_info->xkb->ctrls->repeat_interval = repeatRate->value * 1000; - xkb_info->config.repeat_delay = - xkb_info->xkb->ctrls->repeat_delay = repeatDelay->value * 1000; - } - else { - xkb_info->config.initial_ctrls &= ~XkbRepeatKeysMask; - xkb_info->xkb->ctrls->enabled_ctrls &= ~XkbRepeatKeysMask; - } - - /* Enable SlowKeys */ - XtSetArg(args[0], XtNstate, &state); - XtGetValues(slowToggle, args, 1); - if (state) { - xkb_info->config.initial_ctrls |= XkbSlowKeysMask; - xkb_info->xkb->ctrls->enabled_ctrls |= XkbSlowKeysMask; - xkb_info->config.slow_keys_delay = - xkb_info->xkb->ctrls->slow_keys_delay = slow->value * 1000; - } - else { - xkb_info->config.initial_ctrls &= ~XkbSlowKeysMask; - xkb_info->xkb->ctrls->enabled_ctrls &= ~XkbSlowKeysMask; - } - XtSetArg(args[0], XtNstate, &state); - XtGetValues(slowPressed, args, 1); - if (state) { - xkb_info->config.initial_opts |= XkbAX_SKPressFBMask; - xkb_info->xkb->ctrls->ax_options |= XkbAX_SKPressFBMask; - } - else { - xkb_info->config.initial_opts &= ~XkbAX_SKPressFBMask; - xkb_info->xkb->ctrls->ax_options &= ~XkbAX_SKPressFBMask; - } - XtSetArg(args[0], XtNstate, &state); - XtGetValues(slowAccepted, args, 1); - if (state) { - xkb_info->config.initial_opts |= XkbAX_SKAcceptFBMask; - xkb_info->xkb->ctrls->ax_options |= XkbAX_SKAcceptFBMask; - } - else { - xkb_info->config.initial_opts &= ~XkbAX_SKAcceptFBMask; - xkb_info->xkb->ctrls->ax_options &= ~XkbAX_SKAcceptFBMask; - } - - /* Enable BounceKeys */ - XtSetArg(args[0], XtNstate, &state); - XtGetValues(bounceToggle, args, 1); - if (state) { - xkb_info->config.initial_ctrls |= XkbBounceKeysMask; - xkb_info->xkb->ctrls->enabled_ctrls |= XkbBounceKeysMask; - xkb_info->config.debounce_delay = - xkb_info->xkb->ctrls->debounce_delay = bounce->value * 1000; - } - else { - xkb_info->config.initial_ctrls &= ~XkbBounceKeysMask; - xkb_info->xkb->ctrls->enabled_ctrls &= ~XkbBounceKeysMask; - } - - XkbSetControls(DPY, XkbAllControlsMask, xkb_info->xkb); - XSync(DPY, False); - (void)UpdateKeyboard(True); -} diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/card-cfg.c b/xorg-server/hw/xfree86/utils/xorgcfg/card-cfg.c deleted file mode 100644 index 1f3b7555e..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/card-cfg.c +++ /dev/null @@ -1,433 +0,0 @@ -/* - * Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) - * - * 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 - * CONECTIVA LINUX 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 Conectiva Linux shall - * not be used in advertising or otherwise to promote the sale, use or other - * dealings in this Software without prior written authorization from - * Conectiva Linux. - * - * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> - * - */ - -#include "xf86config.h" -#include "mouse-cfg.h" -#include "cards.h" -#include "card-cfg.h" -#include <X11/Xaw/AsciiText.h> -#include <X11/Xaw/Form.h> -#include <X11/Xaw/Label.h> -#include <X11/Xaw/List.h> -#include <X11/Xaw/MenuButton.h> -#include <X11/Xaw/SmeBSB.h> -#include <X11/Xaw/SimpleMenu.h> -#include <X11/Xaw/Viewport.h> -#ifdef USE_MODULES -#include "loader.h" -#endif - -/* - * Prototypes - */ -static Bool CardConfigCheck(void); -static void CardModelCallback(Widget, XtPointer, XtPointer); -#ifdef USE_MODULES -static void DriverCallback(Widget, XtPointer, XtPointer); -#endif - -/* - * Initialization - */ -static CardsEntry *card_entry; -static XF86ConfDevicePtr current_device; -static Widget filter, list, driver, busid; -static char **cards = NULL; -static int ncards; -#ifdef USE_MODULES -static char *driver_str; -#endif - -/* - * Implementation - */ -/*ARGSUSED*/ -XtPointer -CardConfig(XtPointer config) -{ - XF86ConfDevicePtr card = (XF86ConfDevicePtr)config; -/* XF86OptionPtr option;*/ - char card_name[32]; - Arg args[1]; - char *bus, *drv_nam; - - xf86info.cur_list = CARD; - XtSetSensitive(back, xf86info.lists[CARD].cur_function > 0); - XtSetSensitive(next, xf86info.lists[CARD].cur_function < - xf86info.lists[CARD].num_functions - 1); - (xf86info.lists[CARD].functions[xf86info.lists[CARD].cur_function]) - (&xf86info); - - card_entry = NULL; - current_device = card; - XawListUnhighlight(list); - XtSetArg(args[0], XtNstring, ""); - XtSetValues(filter, args, 1); - - if (card != NULL) { - if (card->dev_card != NULL) { - int i; - - for (i = 0; i < ncards; i++) { - if (strcasecmp(cards[i], card->dev_card) == 0) { - card_entry = LookupCard(cards[i]); - XawListHighlight(list, i); - XtSetArg(args[0], XtNstring, cards[i]); - XtSetValues(filter, args, 1); - break; - } - } - } - XtSetArg(args[0], XtNstring, card->dev_identifier); - XtSetValues(ident_widget, args, 1); - XtSetArg(args[0], XtNstring, card->dev_busid); - XtSetValues(busid, args, 1); -#ifdef USE_MODULES - if (!nomodules) - XtSetArg(args[0], XtNlabel, driver_str = XtNewString(card->dev_driver)); - else -#endif - XtSetArg(args[0], XtNstring, card->dev_driver); - XtSetValues(driver, args, 1); - } - else { - XF86ConfDevicePtr device = XF86Config->conf_device_lst; - int ndevices = 0; - - while (device != NULL) { - ++ndevices; - device = (XF86ConfDevicePtr)(device->list.next); - } - do { - XmuSnprintf(card_name, sizeof(card_name), "Card%d", ndevices); - ++ndevices; - } while (xf86findDevice(card_name, - XF86Config->conf_device_lst)); - - XtSetArg(args[0], XtNstring, card_name); - XtSetValues(ident_widget, args, 1); - XtSetArg(args[0], XtNstring, ""); - XtSetValues(busid, args, 1); -#ifdef USE_MODULES - if (!nomodules) - XtSetArg(args[0], XtNlabel, driver_str = XtNewString("vga")); - else -#endif - XtSetArg(args[0], XtNstring, "vga"); - XtSetValues(driver, args, 1); - } - - if (ConfigLoop(CardConfigCheck) == True) { - if (card_entry != NULL && card_entry->driver == NULL) { - fprintf(stderr, "No driver field in Cards database.\n" - "Please make sure you have the correct files installed.\n"); - exit(1); - } - if (card == NULL) { - card = (XF86ConfDevicePtr)XtCalloc(1, sizeof(XF86ConfDeviceRec)); - card->dev_identifier = XtNewString(ident_string); - if (card_entry) { - card->dev_driver = XtNewString(card_entry->driver); - card->dev_card = XtNewString(card_entry->name); - if (card_entry->chipset) - card->dev_chipset = XtNewString(card_entry->chipset); - if (card_entry->ramdac) - card->dev_ramdac = XtNewString(card_entry->ramdac); - if (card_entry->clockchip) - card->dev_clockchip = XtNewString(card_entry->clockchip); - } - /* else will fallback to "vga" */ - } - else if (card_entry != NULL) { - XtFree(card->dev_driver); - card->dev_driver = XtNewString(card_entry->driver); - if (card_entry->chipset) { - XtFree(card->dev_chipset); - card->dev_chipset = XtNewString(card_entry->chipset); - } - if (card_entry->ramdac) { - XtFree(card->dev_ramdac); - card->dev_ramdac = XtNewString(card_entry->ramdac); - } - if (card_entry->clockchip) { - XtFree(card->dev_clockchip); - card->dev_clockchip = XtNewString(card_entry->clockchip); - } - } - if (strcasecmp(card->dev_identifier, ident_string)) - xf86renameDevice(XF86Config, card, ident_string); - XtSetArg(args[0], XtNstring, &bus); - XtGetValues(busid, args, 1); - XtFree(card->dev_busid); - card->dev_busid = XtNewString(bus); - -#ifdef USE_MODULES - if (!nomodules) - drv_nam = driver_str; - else -#endif - { - XtSetArg(args[0], XtNstring, &drv_nam); - XtGetValues(driver, args, 1); - } - - XtFree(card->dev_driver); - card->dev_driver = XtNewString(drv_nam); - -#ifdef USE_MODULES - if (!nomodules) - XtFree(driver_str); -#endif - - return ((XtPointer)card); - } -#ifdef USE_MODULES - if (!nomodules) - XtFree(driver_str); -#endif - - return (NULL); -} - -static Bool -CardConfigCheck(void) -{ - XF86ConfDevicePtr device = XF86Config->conf_device_lst; - char *drv_nam; - -#ifdef USE_MODULES - if (!nomodules) - drv_nam = driver_str; - else -#endif - { - Arg args[1]; - - XtSetArg(args[0], XtNstring, &drv_nam); - XtGetValues(driver, args, 1); - } - - if (ident_string == NULL || strlen(ident_string) == 0 || -#if 0 - /* not all available cards are in the Cards database */ - (current_device == NULL && card_entry == NULL) || -#endif - drv_nam == NULL || *drv_nam == '\0') - return (False); - - while (device != NULL) { - if (device != current_device && - strcasecmp(ident_string, device->dev_identifier) == 0) - return (False); - device = (XF86ConfDevicePtr)(device->list.next); - } - - return (True); -} - -static void -CardModelCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - Arg args[1]; - XawListReturnStruct *info = (XawListReturnStruct *)call_data; - char tip[4096]; - int len; - - XtSetArg(args[0], XtNstring, info->string); - XtSetValues(filter, args, 1); - card_entry = LookupCard(info->string); - - if (card_entry == NULL) - return; - - len = XmuSnprintf(tip, sizeof(tip), "Name: %s\n", card_entry->name); - if (card_entry->flags & F_UNSUPPORTED) - len += XmuSnprintf(tip + len, sizeof(tip) - len, - "**THIS CARD IS UNSUPPORTED**\n"); - if (card_entry->chipset != NULL) - len += XmuSnprintf(tip + len, sizeof(tip) - len, - "Chipset: %s\n", card_entry->chipset); - if (card_entry->driver != NULL) { -#ifdef USE_MODULES - if (!nomodules) { - XtFree(driver_str); - driver_str = XtNewString(card_entry->driver); - XtVaSetValues(driver, XtNlabel, driver_str, NULL); - } -#endif - len += XmuSnprintf(tip + len, sizeof(tip) - len, - "Driver: %s\n", card_entry->driver); - } - if (card_entry->ramdac != NULL) - len += XmuSnprintf(tip + len, sizeof(tip), - "Ramdac: %s\n", card_entry->ramdac); - if (card_entry->clockchip != NULL) - len += XmuSnprintf(tip + len, sizeof(tip) - len, - "Clockchip: %s\n", card_entry->clockchip); - if (card_entry->dacspeed != NULL) - len += XmuSnprintf(tip + len, sizeof(tip) - len, - "Dacspeed: %s\n", card_entry->dacspeed); - if (card_entry->lines != NULL) - len += XmuSnprintf(tip + len, sizeof(tip) - len, - "\n%s\n", card_entry->lines); - -#ifndef USE_MODULES - XtSetArg(args[0], XtNstring, - card_entry->driver ? card_entry->driver : "vga"); - XtSetValues(driver, args, 1); -#endif - - XtSetArg(args[0], XtNtip, tip); - XtSetValues(filter, args, 1); -} - -/*ARGSUSED*/ -void -CardFilterAction(Widget w, XEvent *ev, String *params, Cardinal *num_params) -{ - char **cards, *pattern, **old_cards; - int ncards, old_ncards; - Arg args[2]; - - XtSetArg(args[0], XtNstring, &pattern); - XtGetValues(w, args, 1); - - XtSetArg(args[0], XtNlist, &old_cards); - XtSetArg(args[1], XtNnumberStrings, &old_ncards); - XtGetValues(list, args, 2); - - cards = FilterCardNames(pattern, &ncards); - - if (ncards == 0) { - cards = (char**)XtMalloc(sizeof(char*)); - cards[0] = XtNewString(""); - ncards = 1; - } - - XtSetArg(args[0], XtNlist, cards); - XtSetArg(args[1], XtNnumberStrings, ncards); - XtSetValues(list, args, 2); - - if (old_ncards > 1 || (XtName(list) != old_cards[0])) { - while (--old_ncards > -1) - XtFree(old_cards[old_ncards]); - XtFree((char*)old_cards); - } - - /* force relayout */ - XtUnmanageChild(list); - XtManageChild(list); -} - -#ifdef USE_MODULES -/*ARGSUSED*/ -static void -DriverCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - Arg args[1]; - - XtFree(driver_str); - driver_str = XtNewString(XtName(w)); - XtSetArg(args[0], XtNlabel, driver_str); - XtSetValues(driver, args, 1); -} -#endif - -void -CardModel(XF86SetupInfo *info) -{ - static int first = 1; - static Widget model; - - if (first) { - Widget viewport; - - first = 0; - - cards = GetCardNames(&ncards); - - model = XtCreateWidget("cardModel", formWidgetClass, - configp, NULL, 0); - (void) XtCreateManagedWidget("label", labelWidgetClass, - model, NULL, 0); - filter = XtVaCreateManagedWidget("filter", asciiTextWidgetClass, - model, - XtNeditType, XawtextEdit, - NULL); - viewport = XtCreateManagedWidget("viewport", viewportWidgetClass, - model, NULL, 0); - list = XtVaCreateManagedWidget("list", listWidgetClass, - viewport, - XtNlist, cards, - XtNnumberStrings, ncards, - NULL); - XtAddCallback(list, XtNcallback, CardModelCallback, - (XtPointer)info); - XtCreateManagedWidget("driverL", labelWidgetClass, model, NULL, 0); -#ifdef USE_MODULES - if (!nomodules) { - driver = XtVaCreateManagedWidget("driver", menuButtonWidgetClass, - model, - XtNmenuName, "driverM", - NULL); - { - Widget menu, sme; - xf86cfgModuleOptions *opts = module_options; - - menu = XtCreatePopupShell("driverM", simpleMenuWidgetClass, - driver, NULL, 0); - while (opts) { - if (opts->type == VideoModule) { - sme = XtCreateManagedWidget(opts->name, smeBSBObjectClass, - menu, NULL, 0); - XtAddCallback(sme, XtNcallback, DriverCallback, NULL); - } - opts = opts->next; - } - } - } - else -#endif - driver = XtVaCreateManagedWidget("driver", asciiTextWidgetClass, - model, - XtNeditType, XawtextEdit, - NULL); - - XtCreateManagedWidget("busidL", labelWidgetClass, model, NULL, 0); - busid = XtVaCreateManagedWidget("busid", asciiTextWidgetClass, - model, - XtNeditType, XawtextEdit, - NULL); - - XtRealizeWidget(model); - } - XtChangeManagedSet(¤t, 1, NULL, NULL, &model, 1); - current = model; -} diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/card-cfg.h b/xorg-server/hw/xfree86/utils/xorgcfg/card-cfg.h deleted file mode 100644 index fbb02a7ab..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/card-cfg.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) - * - * 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 - * CONECTIVA LINUX 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 Conectiva Linux shall - * not be used in advertising or otherwise to promote the sale, use or other - * dealings in this Software without prior written authorization from - * Conectiva Linux. - * - * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> - * - */ - -#include "config.h" - -#ifndef _xf86cfg_card_h -#define _xf86cfg_card_h - -/* - * Prototypes - */ -XtPointer CardConfig(XtPointer); -void CardModel(XF86SetupInfo*); -void CardFilterAction(Widget, XEvent*, String*, Cardinal*); - -#endif /* _xf86cfg_card_h */ diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/card.xbm b/xorg-server/hw/xfree86/utils/xorgcfg/card.xbm deleted file mode 100644 index aad07a90a..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/card.xbm +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) - * - * 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 - * CONECTIVA LINUX 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 Conectiva Linux shall - * not be used in advertising or otherwise to promote the sale, use or other - * dealings in this Software without prior written authorization from - * Conectiva Linux. - * - * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> - * - * $XFree86$ - */ -#define card_width 50 -#define card_height 44 -static unsigned char card_bits[] = { - 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x01, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, - 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xfd, 0xff, 0xff, 0xff, 0x07, - 0x00, 0x80, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x80, 0x07, 0x00, 0x00, - 0x00, 0x1c, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x18, 0x00, 0x80, 0x01, - 0x00, 0x00, 0xf8, 0x19, 0x00, 0x80, 0xf9, 0x00, 0x00, 0xf8, 0x19, 0x00, - 0x80, 0xf9, 0xf8, 0x7f, 0x98, 0x19, 0x00, 0x80, 0x01, 0xf8, 0x7f, 0x98, - 0x19, 0x00, 0x80, 0x01, 0x18, 0x60, 0xf8, 0x19, 0x00, 0x80, 0xf9, 0x18, - 0x60, 0xf8, 0x19, 0x00, 0x80, 0xf9, 0x18, 0x60, 0x00, 0x18, 0x00, 0x80, - 0x01, 0x18, 0x60, 0xf8, 0x19, 0x00, 0x80, 0x01, 0x18, 0x60, 0xf8, 0x19, - 0x00, 0x80, 0xf9, 0x18, 0x60, 0x98, 0x19, 0x00, 0x80, 0xf9, 0x18, 0x60, - 0x98, 0x19, 0x00, 0x80, 0x01, 0x18, 0x60, 0xf8, 0x19, 0x00, 0x80, 0x01, - 0xf8, 0x7f, 0xf8, 0x19, 0x00, 0x80, 0xf9, 0xf8, 0x7f, 0x00, 0x18, 0x00, - 0x80, 0xf9, 0x00, 0x00, 0xf8, 0x19, 0x00, 0x80, 0x01, 0x00, 0x00, 0xf8, - 0x19, 0x00, 0x80, 0x01, 0x30, 0x33, 0x98, 0x19, 0x00, 0x80, 0xf9, 0x30, - 0x33, 0x98, 0x19, 0x00, 0x80, 0xf9, 0x30, 0x33, 0xf8, 0x19, 0x00, 0x80, - 0x01, 0x30, 0x33, 0xf8, 0x19, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x18, - 0x00, 0x80, 0x07, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x80, 0xff, 0x07, 0x00, - 0x80, 0x0f, 0x00, 0x80, 0xfd, 0x0f, 0x00, 0xc0, 0x07, 0x00, 0x80, 0x01, - 0xcc, 0xcc, 0xcc, 0x00, 0x00, 0x80, 0x01, 0xcc, 0xcc, 0xcc, 0x00, 0x00, - 0x80, 0x01, 0xcc, 0xcc, 0xcc, 0x00, 0x00, 0x80, 0x01, 0xcc, 0xcc, 0xcc, - 0x00, 0x00, 0x80, 0x01, 0xfc, 0xff, 0xff, 0x00, 0x00, 0x80, 0x01, 0xf8, - 0xff, 0x7f, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/card.xpm b/xorg-server/hw/xfree86/utils/xorgcfg/card.xpm deleted file mode 100644 index 32bccb689..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/card.xpm +++ /dev/null @@ -1,81 +0,0 @@ -/* XPM */ -/* - * Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) - * - * 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 - * CONECTIVA LINUX 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 Conectiva Linux shall - * not be used in advertising or otherwise to promote the sale, use or other - * dealings in this Software without prior written authorization from - * Conectiva Linux. - * - * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> - * - * $XFree86$ - */ -static char * card_xpm[] = { -"41 40 8 1", -" c none", -"A c #B6DABAEAB6DA", -"X c #0000AAAA0000", -"o c #000071C60000", -"O c #000041030000", -"+ c #618561856185", -"@ c #186118611861", -"# c #CF3CA2892081", -"AAA ", -" A ", -" A ", -" A ", -" A ", -" A ", -" A ", -" AXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", -" AooooooooooooooooooooooooooooooooooooO", -" AooooooooooooooooooooooooooooooooooooO", -" AooooooooooooooooooooooooooooooooooooO", -" AooooooooooooooooooooooooOOOOOOOOOOOOO", -" AooooooooooooooooooAoAoAoAooAAAAAAA+oO", -" AooooooooooooooooooAoAoAoAooA++++++@oO", -" AooooooooooooooooooAoAoAoAooA+oooo+@oO", -" AoooooooooooooooooooooooooooA+AAAA+@oO", -" AoooooooooooooooooooooooooooA+oooo+@oO", -" AoooooooooooooooooooooooooooA++++++@oO", -" Aooooooooooooooooooooooooooo+@@@@@@@oO", -" AooooooooooooooooooooooooooooooooooooO", -" AoooooooooooooooooooooooooooAAAAAAA+oO", -" +AoooooooooooooooooAAAAAAAA@oA++++++@oO", -" AoooooooooooooooooA+++++++@oA+oooo+@oO", -" AoooooooooooooooooA+++++++@oA+AAAA+@oO", -" ++AoooooooooooooooooA+++++++@oA+oooo+@oO", -" ++AoooooooooooooooooA+++++++@oA++++++@oO", -" ++Aooooooooooooooooo@@@@@@@@@o+@@@@@@@oO", -" ++AooooooooooooooooooooooooooooooooooooO", -" AooooooooooooooooooooooooooooooooooooO", -" AooooooooooooooooooooooooooooooooooooO", -" +AooooooooooooooooooooooooooooooooooooO", -" AooooooooooooooooooooooooooooooooooooO", -" AoooOOOOooooooooooooooooooooOoooooOOO ", -" AooO X#o#o#o#o#o#o#o#o#oO X#o#O ", -" AOO X#o#o#o#o#o#o#o#o#oO X#o#O ", -" A X#o#o#o#o#o#o#o#o#oO X#o#O ", -" A X#o#o#o#o#o#o#o#o#oO X#o#O ", -" A OOOOOOOOOOOOOOOOOO OOO ", -" A ", -" A "}; diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/cards.c b/xorg-server/hw/xfree86/utils/xorgcfg/cards.c deleted file mode 100644 index dcd5828cb..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/cards.c +++ /dev/null @@ -1,695 +0,0 @@ -/* - * Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) - * - * 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 - * CONECTIVA LINUX 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 Conectiva Linux shall - * not be used in advertising or otherwise to promote the sale, use or other - * dealings in this Software without prior written authorization from - * Conectiva Linux. - * - * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> - * - */ - -#define CARDS_PRIVATE -#include "cards.h" - -#undef SERVER /* defined in config.h, but of no use here */ - -/* return values from ReadCardsLine. */ -#define ERROR -3 -#define UNKNOWN -2 -#define END -1 -#define NOTUSEFUL 0 -#define NAME 1 -#define CHIPSET 2 -#define SERVER 3 -#define DRIVER 4 -#define RAMDAC 5 -#define CLOCKCHIP 6 -#define DACSPEED 7 -#define NOCLOCKPROBE 8 -#define UNSUPPORTED 9 -#define SEE 10 -#define LINE 11 - -/* - * Prototypes - */ -static int ReadCardsLine(FILE*, char*); /* must have 256 bytes */ -static int CompareCards(_Xconst void *left, _Xconst void *right); -static int BCompareCards(_Xconst void *left, _Xconst void *right); -static void DoReadCardsDatabase(void); -static char **DoFilterCardNames(char *pattern, int *result); - -#ifdef USE_MODULES - -typedef struct { - int ivendor; - unsigned short vendor; - unsigned short valid_vendor; - char *chipsets; - int num_chipsets; -} chipset_check; -#endif - -/* - * Initialization - */ -static int linenum = 0; -static char *Cards = "lib/X11/Cards"; -CardsEntry **CardsDB; -int NumCardsEntry; - -/* - * Implementation - */ -#ifdef USE_MODULES -const pciVendorInfo *xf86PCIVendorInfo; -#endif - -#ifdef USE_MODULES -void -InitializePciInfo(void) -{ - xf86PCIVendorInfo = pciVendorInfoList; -} - -void -CheckChipsets(xf86cfgModuleOptions *opts, int *err) -{ - int i, j, ichk, ivnd = 0, vendor = -1, device; - const pciDeviceInfo **pDev; - SymTabPtr chips = opts->chipsets; - chipset_check *check = NULL; - int num_check = 0; - - if (!chips) { - CheckMsg(CHECKER_NO_CHIPSETS, "WARNING No chipsets specified.\n"); - ++*err; - return; - } - - while (chips->name) { - device = chips->token & 0xffff; - vendor = (chips->token & 0xffff0000) >> 16; - if (vendor == 0) - vendor = opts->vendor; - - for (ichk = 0; ichk < num_check; ichk++) - if (check[ichk].vendor == vendor) - break; - if (ichk >= num_check) { - check = (chipset_check*) - XtRealloc((XtPointer)check, - sizeof(chipset_check) * (num_check + 1)); - check[num_check].vendor = vendor; - memset(&check[num_check], 0, sizeof(chipset_check)); - ++num_check; - } - - /* Search for vendor in xf86PCIVendorInfo */ - if (xf86PCIVendorInfo) { - for (ivnd = 0; xf86PCIVendorInfo[ivnd].VendorID; ivnd++) - if (vendor == xf86PCIVendorInfo[ivnd].VendorID) - break; - } - if (xf86PCIVendorInfo && xf86PCIVendorInfo[ivnd].VendorID) { - check[ichk].valid_vendor = 1; - check[ichk].ivendor = ivnd; - } - else { - CheckMsg(CHECKER_CANNOT_VERIFY_CHIPSET, - "WARNING Cannot verify chipset \"%s\" (0x%x)\n", - chips->name, device); - ++*err; - ++chips; - continue; - } - - if (xf86PCIVendorInfo && - (pDev = xf86PCIVendorInfo[ivnd].Device) != NULL) { - if (check[ichk].chipsets == NULL) { - for (j = 0; pDev[j]; j++) - ; - check[ichk].chipsets = (char*)XtCalloc(1, j); - } - for (j = 0; pDev[j]; j++) { - if (device == pDev[j]->DeviceID) { - if (strcmp(chips->name, pDev[j]->DeviceName)) { - CheckMsg(CHECKER_NOMATCH_CHIPSET_STRINGS, - "WARNING chipset strings don't match: \"%s\" \"%s\" (0x%x)\n", - chips->name, xf86PCIVendorInfo[ivnd].Device[j]->DeviceName, - device); - ++*err; - } - break; - } - } - if (!pDev[j]) { - CheckMsg(CHECKER_CHIPSET_NOT_LISTED, - "WARNING chipset \"%s\" (0x%x) not in list.\n", chips->name, device); - ++*err; - } - else - check[ichk].chipsets[j] = 1; - } - ++chips; - } - - for (i = 0; i < num_check; i++) { - if (!check[i].valid_vendor) { - CheckMsg(CHECKER_CHIPSET_NO_VENDOR, - "WARNING No such vendor 0x%x\n", vendor); - ++*err; - } - for (j = 0; j < check[i].num_chipsets; j++) { - if (xf86PCIVendorInfo && !check[i].chipsets[j]) { - CheckMsg(CHECKER_CHIPSET_NOT_SUPPORTED, - "NOTICE chipset \"%s\" (0x%x) not listed as supported.\n", - xf86PCIVendorInfo[check[i].ivendor].Device[j]->DeviceName, - xf86PCIVendorInfo[check[i].ivendor].Device[j]->DeviceID); - } - } - XtFree(check[i].chipsets); - } - - XtFree((XtPointer)check); -} -#endif - -void -ReadCardsDatabase(void) -{ -#ifdef USE_MODULES - if (!nomodules) { - int i, j, ivendor, idevice; - char name[256]; - _Xconst char *vendor, *device; - CardsEntry *entry = NULL, *tmp; - xf86cfgModuleOptions *opts = module_options; - const pciDeviceInfo **pDev; - - /* Only list cards that have a driver installed */ - while (opts) { - if (opts->chipsets) { - SymTabPtr chips = opts->chipsets; - - while (chips->name) { - vendor = opts->name; - device = chips->name; - ivendor = (chips->token & 0xffff0000) >> 16; - idevice = chips->token & 0xffff0; - if (ivendor == 0) - ivendor = opts->vendor; - - if (xf86PCIVendorInfo) { - for (i = 0; xf86PCIVendorInfo[i].VendorName; i++) - if (ivendor == xf86PCIVendorInfo[i].VendorID) { - vendor = xf86PCIVendorInfo[i].VendorName; - break; - } - if (xf86PCIVendorInfo[i].VendorName) { - if ((pDev = xf86PCIVendorInfo[i].Device)) { - for (j = 0; pDev[j]; j++) - if (idevice == pDev[j]->DeviceID) { - device = pDev[j]->DeviceName; - break; - } - } - } - } - - /* Since frequently there is more than one driver for a - * single vendor, it is required to avoid duplicates. - */ - XmuSnprintf(name, sizeof(name), "%s %s", vendor, device); - tmp = LookupCard(name); - - if (tmp == NULL || strcmp(tmp->chipset, chips->name) || - strcmp(tmp->driver, opts->name)) { - entry = (CardsEntry*)XtCalloc(1, sizeof(CardsEntry)); - if (NumCardsEntry % 16 == 0) { - CardsDB = (CardsEntry**)XtRealloc((XtPointer)CardsDB, - sizeof(CardsEntry*) * (NumCardsEntry + 16)); - } - CardsDB[NumCardsEntry++] = entry; - entry->name = XtNewString(name); - - /* XXX no private copy of strings */ - entry->chipset = (char*)chips->name; - entry->driver = opts->name; - - /* better than linear searchs to find duplicates */ - qsort(CardsDB, NumCardsEntry, sizeof(CardsEntry*), - CompareCards); - } - ++chips; - } - } - opts = opts->next; - } - - /* fix entries with the same name */ - for (i = 0; i < NumCardsEntry - 2;) { - for (j = i + 1; j < NumCardsEntry - 1 && - strcmp(CardsDB[i]->name, CardsDB[j]->name) == 0; j++) - ; - - if (i + 1 != j) { - while (i < j) { - char *str; - - if (strcmp(CardsDB[i]->chipset, CardsDB[j]->chipset)) - str = CardsDB[i]->chipset; - else - str = CardsDB[i]->driver; - - XmuSnprintf(name, sizeof(name), "%s (%s)", - CardsDB[i]->name, str); - XtFree(CardsDB[i]->name); - CardsDB[i]->name = XtNewString(name); - - ++i; - } - } - else - ++i; - } - - /* make sure data is valid to bsearch in */ - qsort(CardsDB, NumCardsEntry, sizeof(CardsEntry*), CompareCards); - } - else -#endif - DoReadCardsDatabase(); -} - -static void -DoReadCardsDatabase(void) -{ - char buffer[256]; - FILE *fp = fopen(Cards, "r"); - int i, result; - CardsEntry *entry = NULL; - static char *CardsError = "Error reading Cards database, at line %d (%s).\n"; - - if (fp == NULL) { - fprintf(stderr, "Cannot open Cards database.\n"); - exit(1); - } - - while ((result = ReadCardsLine(fp, buffer)) != END) { - switch (result) { - case ERROR: - fprintf(stderr, CardsError, linenum, buffer); - break; - case UNKNOWN: - fprintf(stderr, - "Unknown field type in Cards database, at line %d (%s).\n", - linenum, buffer); - break; - case NAME: - entry = calloc(1, sizeof(CardsEntry)); - if (NumCardsEntry % 16 == 0) { - CardsDB = realloc(CardsDB, sizeof(CardsEntry*) * - (NumCardsEntry + 16)); - if (CardsDB == NULL) { - fprintf(stderr, "Out of memory reading Cards database.\n"); - exit(1); - } - } - CardsDB[NumCardsEntry++] = entry; - entry->name = strdup(buffer); - break; - case CHIPSET: - if (entry == NULL || entry->chipset != NULL) { - fprintf(stderr, CardsError, linenum, buffer); - } -#if 0 - else - entry->chipset = strdup(buffer); -#endif - break; - case SERVER: - if (entry == NULL || entry->server != NULL) { - fprintf(stderr, CardsError, linenum, buffer); - } - else - entry->server = strdup(buffer); - break; - case DRIVER: - if (entry == NULL || entry->driver != NULL) { - fprintf(stderr, CardsError, linenum, buffer); - } - else - entry->driver = strdup(buffer); - break; - case RAMDAC: - if (entry == NULL || entry->ramdac != NULL) { - fprintf(stderr, CardsError, linenum, buffer); - } - else - entry->ramdac = strdup(buffer); - break; - case CLOCKCHIP: - if (entry == NULL || entry->clockchip != NULL) { - fprintf(stderr, CardsError, linenum, buffer); - } - else - entry->clockchip = strdup(buffer); - break; - case DACSPEED: - if (entry == NULL || entry->dacspeed != NULL) { - fprintf(stderr, CardsError, linenum, buffer); - } - else - entry->dacspeed = strdup(buffer); - break; - case NOCLOCKPROBE: - if (entry == NULL) { - fprintf(stderr, CardsError, linenum, buffer); - } - else - entry->flags |= F_NOCLOCKPROBE; - break; - case UNSUPPORTED: - if (entry == NULL) { - fprintf(stderr, CardsError, linenum, buffer); - } - else - entry->flags |= F_UNSUPPORTED; - break; - case SEE: - if (entry == NULL || entry->see != NULL) { - fprintf(stderr, CardsError, linenum, buffer); - } - else - entry->see = strdup(buffer); - break; - case LINE: - if (entry == NULL) { - fprintf(stderr, CardsError, linenum, buffer); - } - else if (entry->lines == NULL) - entry->lines = strdup(buffer); - else { - char *str = malloc(strlen(entry->lines) + strlen(buffer) + 2); - - sprintf(str, "%s\n%s", entry->lines, buffer); - free(entry->lines); - entry->lines = str; - } - break; - } - } - - fclose(fp); - - qsort(CardsDB, NumCardsEntry, sizeof(CardsEntry*), CompareCards); - -#ifdef DEBUG - for (i = 0; i < NumCardsEntry - 1; i++) { - if (strcmp(CardsDB[i]->name, CardsDB[i+1]->name) == 0) - fprintf(stderr, "Duplicate entry in Cards database: (%s).\n", - CardsDB[i]->name); - } -#endif - - for (i = 0; i < NumCardsEntry - 1; i++) { - if (CardsDB[i]->see != NULL) { - if ((entry = LookupCard(CardsDB[i]->see)) == NULL) { - fprintf(stderr, "Cannot find card '%s' for filling defaults.\n", - CardsDB[i]->see); - continue; - } - if (CardsDB[i]->chipset == NULL && entry->chipset != NULL) - CardsDB[i]->chipset = strdup(entry->chipset); - if (CardsDB[i]->server == NULL && entry->server != NULL) - CardsDB[i]->server = strdup(entry->server); - if (CardsDB[i]->driver == NULL && entry->driver != NULL) - CardsDB[i]->driver = strdup(entry->driver); - if (CardsDB[i]->ramdac == NULL && entry->ramdac != NULL) - CardsDB[i]->ramdac = strdup(entry->ramdac); - if (CardsDB[i]->clockchip == NULL && entry->clockchip != NULL) - CardsDB[i]->clockchip = strdup(entry->clockchip); - if (CardsDB[i]->dacspeed == NULL && entry->dacspeed != NULL) - CardsDB[i]->dacspeed = strdup(entry->dacspeed); - if (CardsDB[i]->flags & F_NOCLOCKPROBE) - CardsDB[i]->flags |= F_NOCLOCKPROBE; - if (CardsDB[i]->flags & F_UNSUPPORTED) - CardsDB[i]->flags |= F_UNSUPPORTED; - if (entry->lines != NULL) { - if (CardsDB[i]->lines == NULL) - CardsDB[i]->lines = strdup(entry->lines); - else { - char *str = malloc(strlen(entry->lines) + - strlen(CardsDB[i]->lines) + 2); - - sprintf(str, "%s\n%s", CardsDB[i]->lines, entry->lines); - free(CardsDB[i]->lines); - CardsDB[i]->lines = str; - } - } - if (entry->see != NULL) { -#ifdef DEBUG - fprintf(stderr, "Nested SEE entry: %s -> %s -> %s\n", - CardsDB[i]->name, CardsDB[i]->see, entry->see); -#endif - CardsDB[i]->see = strdup(entry->see); - --i; - continue; - } - free(CardsDB[i]->see); - CardsDB[i]->see = NULL; - } - } -} - -CardsEntry * -LookupCard(char *name) -{ - CardsEntry **ptr; - - if (NumCardsEntry == 0 || CardsDB == 0) - return NULL; - - ptr = (CardsEntry**)bsearch(name, CardsDB, NumCardsEntry, - sizeof(CardsEntry*), BCompareCards); - - return (ptr != NULL ? *ptr : NULL); -} - -char ** -GetCardNames(int *result) -{ - char **cards = NULL; - int ncards; - - for (ncards = 0; ncards < NumCardsEntry; ncards++) { - if (ncards % 16 == 0) { - if ((cards = (char**)realloc(cards, sizeof(char*) * - (ncards + 16))) == NULL) { - fprintf(stderr, "Out of memory.\n"); - exit(1); - } - } - cards[ncards] = strdup(CardsDB[ncards]->name); - } - - *result = ncards; - - return (cards); -} - -char ** -FilterCardNames(char *pattern, int *result) -{ -#ifdef USE_MODULES - if (!nomodules) { - char **cards = NULL; - int i, ncards = 0; - - for (i = 0; i < NumCardsEntry; i++) { - if (strstr(CardsDB[i]->name, pattern) == NULL) - continue; - if (ncards % 16 == 0) { - if ((cards = (char**)realloc(cards, sizeof(char*) * - (ncards + 16))) == NULL) { - fprintf(stderr, "Out of memory.\n"); - exit(1); - } - } - cards[ncards] = strdup(CardsDB[i]->name); - ++ncards; - } - - *result = ncards; - - return (cards); - } -#endif - return (DoFilterCardNames(pattern, result)); -} - -static char ** -DoFilterCardNames(char *pattern, int *result) -{ - FILE *fp; - char **cards = NULL; - int len, ncards = 0; - char *cmd, *ptr, buffer[256]; - - cmd = malloc(32 + (strlen(pattern) * 2) + strlen(Cards)); - - strcpy(cmd, "egrep -i '^NAME\\ .*"); - len = strlen(cmd); - ptr = pattern; - while (*ptr) { - if (!isalnum(*ptr)) { - cmd[len++] = '\\'; - } - cmd[len++] = *ptr++; - } - cmd[len] = '\0'; - strcat(cmd, ".*$' "); - strcat(cmd, Cards); - strcat(cmd, " | sort"); - /*sprintf(cmd, "egrep -i '^NAME\\ .*%s.*$' %s | sort", pattern, Cards);*/ - - if ((fp = popen(cmd, "r")) == NULL) { - fprintf(stderr, "Cannot read Cards database.\n"); - exit(1); - } - while (fgets(buffer, sizeof(buffer), fp) != NULL) { - ptr = buffer + strlen(buffer) - 1; - while (isspace(*ptr) && ptr > buffer) - --ptr; - if (!isspace(*ptr) && ptr > buffer) - ptr[1] = '\0'; - ptr = buffer; - while (!isspace(*ptr) && *ptr) /* skip NAME */ - ++ptr; - while (isspace(*ptr) && *ptr) - ++ptr; - if (ncards % 16 == 0) { - if ((cards = (char**)realloc(cards, sizeof(char*) * - (ncards + 16))) == NULL) { - fprintf(stderr, "Out of memory.\n"); - exit(1); - } - } - cards[ncards++] = strdup(ptr); - } - free(cmd); - - *result = ncards; - - return (cards); -} - -static int -ReadCardsLine(FILE *fp, char *value) -{ - char name[32], buffer[256], *ptr, *end; - int result = NOTUSEFUL; - - ++linenum; - - if (fgets(buffer, sizeof(buffer), fp) == NULL) - return (END); - - ptr = buffer; - /* skip initial spaces; should'nt bother about this.. */ - while (isspace(*ptr) && *ptr) - ++ptr; - - if (*ptr == '#' || *ptr == '\0') - return (NOTUSEFUL); - - end = ptr; - while (!isspace(*end) && *end) - ++end; - if (end - ptr > sizeof(buffer) - 1) { - strncpy(value, buffer, 255); - value[255] = '\0'; - return (ERROR); - } - strncpy(name, ptr, end - ptr); - name[end - ptr] = '\0'; - - /* read the optional arguments */ - ptr = end; - while (isspace(*ptr) && *ptr) - ++ptr; - - end = ptr + strlen(ptr) - 1; - while (isspace(*end) && end > ptr) - --end; - if (!isspace(*end)) - ++end; - *end = '\0'; - - if (strcmp(name, "NAME") == 0) - result = NAME; - else if (strcmp(name, "CHIPSET") == 0) - result = CHIPSET; - else if (strcmp(name, "SERVER") == 0) - result = SERVER; - else if (strcmp(name, "DRIVER") == 0) - result = DRIVER; - else if (strcmp(name, "RAMDAC") == 0) - result = RAMDAC; - else if (strcmp(name, "CLOCKCHIP") == 0) - result = CLOCKCHIP; - else if (strcmp(name, "DACSPEED") == 0) - result = DACSPEED; - else if (strcmp(name, "NOCLOCKPROBE") == 0) - result = NOCLOCKPROBE; - else if (strcmp(name, "UNSUPPORTED") == 0) - result = UNSUPPORTED; - else if (strcmp(name, "SEE") == 0) - result = SEE; - else if (strcmp(name, "LINE") == 0) - result = LINE; - else if (strcmp(name, "END") == 0) - result = END; - else { - strcpy(value, name); - return (UNKNOWN); - } - - /* value *must* have at least 256 bytes */ - strcpy(value, ptr); - - return (result); -} - -static int -CompareCards(_Xconst void *left, _Xconst void *right) -{ - return strcasecmp((*(CardsEntry**)left)->name, (*(CardsEntry**)right)->name); -} - -static int -BCompareCards(_Xconst void *name, _Xconst void *card) -{ - return (strcasecmp((char*)name, (*(CardsEntry**)card)->name)); -} diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/cards.h b/xorg-server/hw/xfree86/utils/xorgcfg/cards.h deleted file mode 100644 index 8557e96df..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/cards.h +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) - * - * 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 - * CONECTIVA LINUX 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 Conectiva Linux shall - * not be used in advertising or otherwise to promote the sale, use or other - * dealings in this Software without prior written authorization from - * Conectiva Linux. - * - * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> - * - */ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <ctype.h> -#include <X11/Xfuncproto.h> -#include <X11/Xmd.h> -#include <X11/Intrinsic.h> -#include <X11/Xmu/SysUtil.h> - -#ifndef _xf86cfg_cards_h -#define _xf86cfg_cards_h - -#ifdef USE_MODULES -#ifdef CARDS_PRIVATE -#include "loader.h" - -#include "xf86PciStr.h" -#include "xf86PciIds.h" -#endif /* CARDS_PRIVATE */ -#endif /* USE_MODULES */ - -/* Flags in CardsEntry */ -#define F_NOCLOCKPROBE 0x1 /* Never probe clocks of the card. */ -#define F_UNSUPPORTED 0x2 /* Card is not supported (only VGA). */ - -/* - * Types - */ -typedef struct { - char *name; /* Name of the card. */ - char *chipset; /* Chipset (decriptive). */ - char *server; /* Server identifier. */ - char *driver; /* Driver identifier. */ - char *ramdac; /* Ramdac identifier. */ - char *clockchip; /* Clockchip identifier. */ - char *dacspeed; /* DAC speed rating. */ - int flags; - char *lines; /* Additional Device section lines. */ - char *see; /* Must resolve in a last step. - * Allow more than one SEE entry? */ -} CardsEntry; - -extern CardsEntry **CardsDB; -extern int NumCardsEntry; - -/* - * Prototypes - */ -void ReadCardsDatabase(void); -CardsEntry *LookupCard(char*); -char **GetCardNames(int*); -char **FilterCardNames(char*, int*); -#ifdef USE_MODULES -void InitializePciInfo(void); -typedef struct _xf86cfgModuleOptions *xf86cfgModuleOptionsPtr; -void CheckChipsets(xf86cfgModuleOptionsPtr, int*); -#endif - -#endif /* _xf86cfg_cards_h */ diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/computer.xpm b/xorg-server/hw/xfree86/utils/xorgcfg/computer.xpm deleted file mode 100644 index 9167e3eaf..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/computer.xpm +++ /dev/null @@ -1,91 +0,0 @@ -/* XPM */ -/* - * Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) - * - * 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 - * CONECTIVA LINUX 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 Conectiva Linux shall - * not be used in advertising or otherwise to promote the sale, use or other - * dealings in this Software without prior written authorization from - * Conectiva Linux. - * - * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> - * - * $XFree86$ - */ -static char * computer_xpm[] = { -"30 50 8 1", -" c none", -". c #CF3CCF3CCF3C", -"X c #B6DABAEAB6DA", -"o c #8E388E388E38", -"O c #FFFFFFFFFFFF", -"+ c #FFFF00000000", -"@ c #514451445144", -"# c #0000FFFF0000", -" ............................ ", -"..XXXXXXXXXXXXXXXXXXXXXXXXXXXo", -".XXXXXXXXXXXXXXXXXXXXXXXXXXXXo", -".XXooooooooooooooooooooooooXXo", -".XXo.......................XXo", -".XXo.XXXXXXXXXXXXXXXXXXXXo.XXo", -".XXo.XX....XXXXXXXXXXXOoXo.XXo", -".XXo.XXooooXXXXXXXXXXXooXo.XXo", -".XXo.XXXXXXXXXXXXXXXXXXXXo.XXo", -".XXo.......................XXo", -".XXooooooooooooooooooooooooXXo", -".XXo.......................XXo", -".XXo.XXXXXXXXXXXXXXXXXXXXo.XXo", -".XXo.XXXXXXXXXXXXXXXXXXXXo.XXo", -".XXo.XXXXXXXXXXXXXXXXXXXXo.XXo", -".XXooooooooooooooooooooooo.XXo", -".XXo.......................XXo", -".XXoooooooooooooo.XXXXXXXo.XXo", -".XXo..............XXXXXXXo.XXo", -".XXo.XXXXXXXXXXXX.XX.O.XXo.XXo", -".XXo.oooooooooooX.XXO+OXXo.XXo", -".XXo.XXXXXXXXXOOX.XX.O.XXo.XXo", -".XXo.XXXXXXXXXXXX.XXXXXXXo.XXo", -".XXo..............XXXXXXXo.XXo", -".XXooooooooooooooooooooooo.XXo", -".XXo.XXXXXXXXXXXXXXXXXXXXo.XXo", -".XXo.XXXXXXXXXXXXXXXXXXXXo.XXo", -".XXo.XXX@@@@@@@@@XXX...XXo.XXo", -".XXo.XX@@+@@@@@#@@X.OXXoXo.XXo", -".XXo.XXX@@@@@@@@@XXXoooXXo.XXo", -".XXo.XXXXXXXXXXXXXXXXXXXXo.XXo", -".XXo.XXXXXXXXXXXXXXXXXXXXo.XXo", -".XXo.XXXXXXXXXXXXXXX..XXXo.XXo", -".XXo.XXXXXXXXXXXXXX.OXoXXo.XXo", -".XXo.XXXXXXXXXXXXXXXooXXXo.XXo", -".XXo.XXXXXXXXXXXXXXXXXXXXo.XXo", -".XXo.XXXXXXXXXXXXXXXXXXXXo.XXo", -".XXo.XXXXXXXXXXXXXXXXXXXXo.XXo", -".XXXo.XXXXXXXXXXXXXXXXXXo.XXXo", -".XXXo.XXXXXXXXXXXXXXXXXXo.XXXo", -".XXXo.XXXXXXXXXXXXXXXXXXo.XXXo", -".XXXo.oXXXoXXXoXXXoXXXoXo.XXXo", -".XXXXo.XXXXXXXXXXXXXXXXo.XXXXo", -".XXXXo..oXXXoXXXoXXoXXoo.XXXXo", -".XXXXXoo..XXXXXXXXXXoo..XXXXXo", -".XXXXXXXoo......oooo..XXXXXXXo", -".XXXXXXXXXoooooo....XXXXXXXXXo", -".XXXXXXXXXXXXXXXXXXXXXXXXXXXXo", -".XXXXXXXXXXXXXXXXXXXXXXXXXXXoo", -" oooooooooooooooooooooooooooo "}; diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/config.c b/xorg-server/hw/xfree86/utils/xorgcfg/config.c deleted file mode 100644 index 8c985bf34..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/config.c +++ /dev/null @@ -1,301 +0,0 @@ -/* - * Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) - * - * 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 - * CONECTIVA LINUX 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 Conectiva Linux shall - * not be used in advertising or otherwise to promote the sale, use or other - * dealings in this Software without prior written authorization from - * Conectiva Linux. - * - * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> - * - */ - -#include "config.h" -#include "mouse-cfg.h" -#include "keyboard-cfg.h" -#include "card-cfg.h" -#include "monitor-cfg.h" -#include "screen-cfg.h" -#include <X11/Xaw/AsciiText.h> -#include <X11/Xaw/Paned.h> -#include <X11/Xaw/Form.h> -#include <X11/Xaw/Label.h> -#include <X11/Xaw/Command.h> -#include <X11/Shell.h> - -/* - * Prototypes - */ -void BackCallback(Widget, XtPointer, XtPointer); -void NextCallback(Widget, XtPointer, XtPointer); -void ApplyCallback(Widget, XtPointer, XtPointer); -void CloseCallback(Widget, XtPointer, XtPointer); -void ErrorCallback(Widget, XtPointer, XtPointer); - -/* - * Initialization - */ -XF86SetupFunction mouse_functions[] = { - MouseDeviceAndProtocol, -}; - -XF86SetupFunction keyboard_functions[] = { - KeyboardModelAndLayout, -}; - -XF86SetupFunction card_functions[] = { - CardModel, -}; - -XF86SetupFunction monitor_functions[] = { - MonitorLayout, -}; - -XF86SetupFunction screen_functions[] = { - ScreenDialog, -}; - -XF86SetupFunctionList function_lists[] = { - {mouse_functions, sizeof(mouse_functions) / sizeof(mouse_functions[0]),}, - {keyboard_functions, sizeof(keyboard_functions) / sizeof(keyboard_functions[0]),}, - {card_functions, sizeof(card_functions) / sizeof(card_functions[0]),}, - {monitor_functions, sizeof(monitor_functions) / sizeof(monitor_functions[0]),}, - {screen_functions, sizeof(screen_functions) / sizeof(screen_functions[0]),}, -}; - -XF86SetupInfo xf86info = { - sizeof(function_lists) / sizeof(function_lists[0]), - MOUSE, - function_lists, -}; - -Widget configp, current, ok, back, next; -static Widget shell, errcurrent, oldcurrent; - -static int config_status, config_popped; - -static ConfigCheckFunction config_function; - -Widget ident_widget; -char *ident_string; -XF86ConfigPtr XF86Config; - -/* - * Implementation - */ -void -StartConfig(void) -{ - static int first = 1; - Widget pane, top, bottom, cancel; - const char *filename; - - if (!first) - return; - first = 0; - - /* Read initial configuration */ - if ((filename = xf86openConfigFile(getuid() == 0 ? CONFPATH : USER_CONFPATH, - XF86Config_path, NULL)) == NULL) { - int length = XF86Config_path ? strlen(XF86Config_path) : -1; - - if (length > 2 && - XF86Config_path[length - 2] == '-' && - XF86Config_path[length - 1] == '4') { - XF86Config_path[length - 2] = '\0'; - filename = xf86openConfigFile(getuid() == 0 ? - CONFPATH : USER_CONFPATH, - XF86Config_path, NULL); - } - - if (filename == NULL) { - fprintf(stderr, "Cannot open config file.\n"); - exit(1); - } - } - XF86Config_path = (char *)filename; - if ((XF86Config = xf86readConfigFile()) == NULL) { - fprintf(stderr, "Problem when parsing config file\n"); - exit(1); - } - - shell = XtCreatePopupShell("config", transientShellWidgetClass, - toplevel, NULL, 0); - pane = XtCreateManagedWidget("pane", panedWidgetClass, - shell, NULL, 0); - top = XtCreateManagedWidget("top", formWidgetClass, - pane, NULL, 0); - (void) XtCreateManagedWidget("label", labelWidgetClass, - top, NULL, 0); - ident_widget = XtVaCreateManagedWidget("identifier", asciiTextWidgetClass, - top, - XtNeditType, XawtextEdit, - NULL); - configp = XtCreateManagedWidget("work", formWidgetClass, - pane, NULL, 0); - current = XtCreateManagedWidget("wellcome", labelWidgetClass, - configp, NULL, 0); - bottom = XtCreateManagedWidget("bottom", formWidgetClass, - pane, NULL, 0); - back = XtCreateManagedWidget("back", commandWidgetClass, - bottom, NULL, 0); - XtAddCallback(back, XtNcallback, BackCallback, (XtPointer)&xf86info); - next = XtCreateManagedWidget("next", commandWidgetClass, - bottom, NULL, 0); - XtAddCallback(next, XtNcallback, NextCallback, (XtPointer)&xf86info); - ok = XtCreateManagedWidget("ok", commandWidgetClass, - bottom, NULL, 0); - XtAddCallback(ok, XtNcallback, ApplyCallback, (XtPointer)NULL); - cancel = XtCreateManagedWidget("cancel", commandWidgetClass, - bottom, NULL, 0); - XtAddCallback(cancel, XtNcallback, CloseCallback, (XtPointer)NULL); - - XtRealizeWidget(shell); - - XSetWMProtocols(DPY, XtWindow(shell), &wm_delete_window, 1); -} - -/*ARGSUSED*/ -Bool -ConfigLoop(ConfigCheckFunction config_fn) -{ - Arg args[1]; - config_popped = True; - XtPopup(shell, XtGrabExclusive); - - config_function = config_fn; - while (config_popped) - XtAppProcessEvent(XtWidgetToApplicationContext(shell), XtIMAll); - - XtSetArg(args[0], XtNstring, &ident_string); - XtGetValues(ident_widget, args, 1); - - return (config_status); -} - -/*ARGSUSED*/ -void -ConfigError(void) -{ - static int first = 1; - - if (first) { - Widget command; - - errcurrent = XtCreateWidget("error", formWidgetClass, - configp, NULL, 0); - (void) XtCreateManagedWidget("label", labelWidgetClass, - errcurrent, NULL, 0); - command = XtCreateManagedWidget("command", commandWidgetClass, - errcurrent, NULL, 0); - XtAddCallback(command, XtNcallback, ErrorCallback, NULL); - - XtRealizeWidget(errcurrent); - } - - oldcurrent = current; - XtChangeManagedSet(¤t, 1, NULL, NULL, &errcurrent, 1); - current = errcurrent; - - XtSetSensitive(ok, False); -} - -/*ARGSUSED*/ -void -ErrorCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - XtChangeManagedSet(&errcurrent, 1, NULL, NULL, &oldcurrent, 1); - current = oldcurrent; - - XtSetSensitive(ok, True); -} - -/*ARGSUSED*/ -void -BackCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - XF86SetupInfo *info = (XF86SetupInfo*)user_data; - int idx = info->lists[info->cur_list].cur_function - 1; - - if (idx >= 0 && info->lists[info->cur_list].num_functions > 0) { - info->lists[info->cur_list].cur_function = idx; - if (idx - 1 == -1) - XtSetSensitive(back, False); - if (!XtIsSensitive(next)) - XtSetSensitive(next, True); - (info->lists[info->cur_list].functions[idx])(info); - } -} - -/*ARGSUSED*/ -void -NextCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - XF86SetupInfo *info = (XF86SetupInfo*)user_data; - int idx = info->lists[info->cur_list].cur_function + 1; - - if (idx < info->lists[info->cur_list].num_functions) { - info->lists[info->cur_list].cur_function = idx; - if (idx + 1 == info->lists[info->cur_list].num_functions) - XtSetSensitive(next, False); - if (!XtIsSensitive(back)) - XtSetSensitive(back, True); - (info->lists[info->cur_list].functions[idx])(info); - } -} - -/*ARGSUSED*/ -void -CloseCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - XtPopdown(shell); - config_popped = False; - config_status = False; - /* make sure it is sensitive */ - XtSetSensitive(ok, True); - xf86info.lists[xf86info.cur_list].cur_function = 0; -} - -/*ARGSUSED*/ -void -ApplyCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - Arg args[1]; - - XtSetArg(args[0], XtNstring, &ident_string); - XtGetValues(ident_widget, args, 1); - - if (config_function == NULL || (*config_function)()) { - XtPopdown(shell); - config_popped = False; - config_status = True; - xf86info.lists[xf86info.cur_list].cur_function = 0; - } - else - ConfigError(); -} - -/*ARGSUSED*/ -void -ConfigCancelAction(Widget w, XEvent *event, String *params, Cardinal *num_params) -{ - CloseCallback(w, NULL, NULL); -} diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/config.h b/xorg-server/hw/xfree86/utils/xorgcfg/config.h deleted file mode 100644 index ea12e8879..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/config.h +++ /dev/null @@ -1,226 +0,0 @@ -/* - * Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) - * - * 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 - * CONECTIVA LINUX 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 Conectiva Linux shall - * not be used in advertising or otherwise to promote the sale, use or other - * dealings in this Software without prior written authorization from - * Conectiva Linux. - * - * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> - * - */ - -#ifdef HAVE_CONFIG_H -# include "xorg-config.h" -#endif - -#include <X11/IntrinsicP.h> -#include <X11/StringDefs.h> -#include <X11/Xmu/SysUtil.h> -#include <X11/Xos.h> -#include <stdio.h> -#include <stdlib.h> -#include <dirent.h> -#include <string.h> -#ifdef sun -#undef index -#undef rindex -#include <strings.h> -#endif -#include <unistd.h> - -#include <stdarg.h> - -/* Get PATH_MAX */ -#ifndef PATH_MAX -# if defined(_POSIX_SOURCE) -# include <limits.h> -# else -# define _POSIX_SOURCE -# include <limits.h> -# undef _POSIX_SOURCE -# endif -# ifndef PATH_MAX -# ifdef MAXPATHLEN -# define PATH_MAX MAXPATHLEN -# else -# define PATH_MAX 1024 -# endif -# endif -#endif - -#include <xf86Parser.h> -#include <X11/XKBlib.h> -#include <X11/extensions/XKBgeom.h> -#include <X11/extensions/XKM.h> -#include <X11/extensions/XKBfile.h> -#include <X11/extensions/XKBui.h> -#include <X11/extensions/XKBrules.h> - -#ifndef _xf86cfg_config_h -#define _xf86cfg_config_h - -/* Must match the offset in the xf86info structure at config.c, - * and is used also by interface.c - */ -#define MOUSE 0 -#define KEYBOARD 1 -#define CARD 2 -#define MONITOR 3 -#define SCREEN 4 -#define SERVER 5 - -#define UNUSED 0 -#define USED 1 - -#define CONFIG_LAYOUT 0 -#define CONFIG_SCREEN 1 -#define CONFIG_MODELINE 2 -#define CONFIG_ACCESSX 3 -extern int config_mode; - -#define CONFPATH "%A," "%R," \ - "/etc/X11/%R," "%P/etc/X11/%R," \ - "%E," "%F," \ - "/etc/X11/%F," "%P/etc/X11/%F," \ - "/etc/X11/%X-%M," "/etc/X11/%X," "/etc/%X," \ - "%P/etc/X11/%X.%H," "%P/etc/X11/%X-%M," \ - "%P/etc/X11/%X," \ - "%P/lib/X11/%X.%H," "%P/lib/X11/%X-%M," \ - "%P/lib/X11/%X" -#define USER_CONFPATH "/etc/X11/%S," "%P/etc/X11/%S," \ - "/etc/X11/%G," "%P/etc/X11/%G," \ - "%P/etc/X11/%X.%H," "%P/etc/X11/%X-%M," \ - "%P/etc/X11/%X," \ - "%P/lib/X11/%X.%H," "%P/lib/X11/%X-%M," \ - "%P/lib/X11/%X" - -/* - * Types - */ -typedef struct _XF86SetupInfo XF86SetupInfo; -typedef void (*XF86SetupFunction)(XF86SetupInfo*); - -typedef struct _XF86SetupFunctionList { - XF86SetupFunction *functions; - int num_functions; - int cur_function; -} XF86SetupFunctionList; - -struct _XF86SetupInfo { - int num_lists; - int cur_list; - XF86SetupFunctionList *lists; -}; - -typedef Bool (*ConfigCheckFunction)(void); - -typedef struct _xf86cfgDevice xf86cfgDevice; - -struct _xf86cfgDevice { - XtPointer config; - Widget widget; - int type, state, refcount; -}; - -typedef struct { - XF86ConfScreenPtr screen; - Widget widget; - int type, state, refcount; - xf86cfgDevice *card; - xf86cfgDevice *monitor; - short row, column; - XRectangle rect; - short rotate; -} xf86cfgScreen; - -/* this structure is used just to restore - properly the monitors layout in the - screen window configuration. - */ -typedef struct { - XF86ConfLayoutPtr layout; - xf86cfgScreen **screen; - XPoint *position; - int num_layouts; -} xf86cfgLayout; - -/* The vidmode extension usage is controlled by this structure. - * The information is read at startup, and added monitors cannot - * be configured, since they are not attached to a particular screen. - */ -typedef struct _xf86cfgVidMode xf86cfgVidmode; - -typedef struct { - XF86ConfLayoutPtr layout; /* current layout */ - Widget cpu; - xf86cfgLayout **layouts; - Cardinal num_layouts; - xf86cfgScreen **screens; - Cardinal num_screens; - xf86cfgDevice **devices; - Cardinal num_devices; - xf86cfgVidmode **vidmodes; - Cardinal num_vidmodes; -} xf86cfgComputer; - -/* - * Prototypes - */ -void StartConfig(void); -Bool ConfigLoop(ConfigCheckFunction); -void ConfigError(void); -void ChangeScreen(XF86ConfMonitorPtr, XF86ConfMonitorPtr, - XF86ConfDevicePtr, XF86ConfDevicePtr); -void SetTip(xf86cfgDevice*); -Bool startx(void); -void endx(void); -void startaccessx(void); -void ConfigCancelAction(Widget, XEvent*, String*, Cardinal*); -void ExpertConfigureStart(void); -void ExpertConfigureEnd(void); -void ExpertCloseAction(Widget, XEvent*, String*, Cardinal*); -void ExpertCallback(Widget, XtPointer, XtPointer); - -/* - * Initialization - */ -extern Widget toplevel, configp, current, back, next; -extern XtAppContext appcon; -extern XF86SetupInfo xf86info; -extern Widget ident_widget; -extern char *ident_string; -extern XF86ConfigPtr XF86Config; -extern char *XF86Config_path; -extern char *XF86Module_path; -extern char *XFree86_path; -extern char *XF86Font_path; -extern char *XF86RGB_path; -extern char *XFree86Dir; -extern xf86cfgComputer computer; -extern Atom wm_delete_window; -extern Display *DPY; -extern Pixmap menuPixmap; -#ifdef USE_MODULES -extern int nomodules; -#endif - -#endif /* _xf86cfg_config_h */ diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/down.xbm b/xorg-server/hw/xfree86/utils/xorgcfg/down.xbm deleted file mode 100644 index 742adf202..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/down.xbm +++ /dev/null @@ -1,8 +0,0 @@ -#define down_width 19 -#define down_height 19 -static unsigned char down_bits[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x0f, 0x00, - 0x80, 0x0f, 0x00, 0x80, 0x0f, 0x00, 0x80, 0x0f, 0x00, 0x80, 0x0f, 0x00, - 0x80, 0x0f, 0x00, 0xfc, 0xff, 0x01, 0xf8, 0xff, 0x00, 0xf0, 0x7f, 0x00, - 0xe0, 0x3f, 0x00, 0xc0, 0x1f, 0x00, 0x80, 0x0f, 0x00, 0x00, 0x07, 0x00, - 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/expert.c b/xorg-server/hw/xfree86/utils/xorgcfg/expert.c deleted file mode 100644 index bb6960ce7..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/expert.c +++ /dev/null @@ -1,4839 +0,0 @@ -/* - * Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) - * - * 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 - * CONECTIVA LINUX 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 Conectiva Linux shall - * not be used in advertising or otherwise to promote the sale, use or other - * dealings in this Software without prior written authorization from - * Conectiva Linux. - * - * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> - * - */ - -#include "config.h" -#include "xf86config.h" -#include "options.h" -#include "screen.h" -#include "vidmode.h" -#include "monitor-cfg.h" -#include <X11/Shell.h> -#include <X11/CompositeP.h> -#include <X11/Xaw/AsciiText.h> -#include <X11/Xaw/Box.h> -#include <X11/Xaw/Command.h> -#include <X11/Xaw/Form.h> -#include <X11/Xaw/Label.h> -#include <X11/Xaw/MenuButton.h> -#include <X11/Xaw/Paned.h> -#include <X11/Xaw/Panner.h> -#include <X11/Xaw/Porthole.h> -#include <X11/Xaw/SimpleMenu.h> -#include <X11/Xaw/SmeBSB.h> -#include <X11/Xaw/Toggle.h> -#include <X11/Xaw/Tree.h> -#include <ctype.h> - -/* - * Types - */ -typedef struct _TreeNode TreeNode; -typedef union _TreeData TreeData; -typedef void (*NodeDeleteFunc)(TreeNode*); -typedef void (*NodeUpdateFunc)(TreeNode*); - -union _TreeData { - struct { - Widget text; - } files; - struct { - Widget text; - XF86LoadPtr load; - } module; - struct { - Widget text; - XF86ConfModesPtr modes; - } modes; - struct { - Widget text, value; - XF86ConfModeLinePtr modeline; - } modeline; - struct { - Widget text, vendor, board, busid, driver; - XF86ConfVideoAdaptorPtr video; - } video; - struct { - Widget text; - XF86ConfVideoPortPtr port; - } port; - struct { - Widget text, vendor, model, width, height, hsync, vrefresh, - gammaRed, gammaGreen, gammaBlue; - XF86ConfMonitorPtr monitor; - } monitor; - struct { - Widget menu; - XF86ConfModesLinkPtr modeslink; - } modeslink; - struct { - Widget text, vendor, board, chipset, busid, card, driver, ramdac, - dacSpeed, videoRam, textClockFreq, biosBase, memBase, ioBase, - clockChip, devClock, chipId, chipRev, irq, screen; - XF86ConfDevicePtr device; - } device; - struct { - Widget text, defaultDepth, defaultBpp, defaultFbBpp, - monitor, device; - XF86ConfScreenPtr screen; - } screen; - struct { - Widget menu; - XF86ConfAdaptorLinkPtr adaptorlink; - } adaptorlink; - struct { - Widget viewport, c_virtual, depth, bpp, visual, weight, black, white; - XF86ConfDisplayPtr display; - } display; - struct { - Widget text; - XF86ModePtr mode; - } mode; - struct { - Widget text; - XF86ConfInputPtr input; - } input; - struct { - Widget text; - XF86ConfLayoutPtr layout; - } layout; - struct { - Widget menu, button, scrnum, adjx, adjy; - XF86ConfScreenPtr screen; - XF86ConfAdjacencyPtr adjacency; - } adjacency; - struct { - Widget menu; - XF86ConfInputrefPtr inputref; - } inputref; - struct { - Widget text; - XF86ConfVendorPtr vendor; - } vendor; - struct { - Widget text; - XF86ConfVendSubPtr vendsub; - } vendsub; - struct { - Widget name, group, mode; - XF86ConfDRIPtr dri; - } dri; - struct { - Widget count, size, flags; - XF86ConfBuffersPtr buffers; - } buffers; -}; - -struct _TreeNode { - Widget node, toggle, treeParent; - TreeNode *parent, *child, *next; - TreeData *data; - NodeDeleteFunc destroy; - NodeUpdateFunc update; -}; - -/* - * Prototypes - */ -static Bool ExpertInitialize(void); -static TreeNode *NewNode(TreeNode*, Widget, Widget, Widget, TreeData*); -static void DeleteNode(TreeNode*); -static void DestroyCallback(Widget, XtPointer, XtPointer); -static void PannerCallback(Widget, XtPointer, XtPointer); -static void PortholeCallback(Widget, XtPointer, XtPointer); -static void ToggleCallback(Widget, XtPointer, XtPointer); -static void ToggleNode(TreeNode*, Bool); -static void ToggleNodeRecursive(TreeNode*); -static void OptionsCallback(Widget, XtPointer, XtPointer); -static void RelayoutTree(void); -static void PopdownCallback(Widget, XtPointer, XtPointer); -static void UpdateConfig(TreeNode*); -static void DestroyTree(TreeNode*); - -static void CreateFiles(TreeNode*); -static void CreateFilesField(TreeNode*, char*, char*); -static void UpdateFiles(TreeNode*); - -static void CreateFontPath(TreeNode*, char*); -static Widget CreateFontPathField(TreeNode*, char*, Bool); -static void FontPathChanged(TreeNode*); -static void NewFontPathCallback(Widget, XtPointer, XtPointer); -static void FontPathCallback(Widget, XtPointer, XtPointer); - -static void CreateModulePath(TreeNode*, char*); -static Widget CreateModulePathField(TreeNode*, char*, Bool); -static void ModulePathChanged(TreeNode*); -static void NewModulePathCallback(Widget, XtPointer, XtPointer); - -static void CreateModule(TreeNode*, XF86LoadPtr); -static void CreateModuleField(TreeNode*, Bool); -static void ModuleDestroy(TreeNode*); -static void NewModuleCallback(Widget, XtPointer, XtPointer); - -static void CreateModes(TreeNode*, XF86ConfModesPtr); -static void CreateModesField(TreeNode*, Bool); -static void ModesDestroy(TreeNode*); -static void NewModesCallback(Widget, XtPointer, XtPointer); -static void CreateModesModeLine(TreeNode*, XF86ConfModeLinePtr); -static void ModesModeLineDestroy(TreeNode*); -static void NewModesModeLineCallback(Widget, XtPointer, XtPointer); - -static void CreateModeLineField(TreeNode*, Bool, Bool); -static XF86ConfModeLinePtr ParseModeLine(char*, char*); - -static void CreateVideoAdaptor(TreeNode*, XF86ConfVideoAdaptorPtr); -static void CreateVideoAdaptorField(TreeNode*, Bool); -static void VideoAdaptorDestroy(TreeNode*); -static void NewVideoAdaptorCallback(Widget, XtPointer, XtPointer); -static void VideoAdaptorUpdate(TreeNode*); -static void CreateVideoPort(TreeNode*, XF86ConfVideoPortPtr); -static void CreateVideoPortField(TreeNode*, Bool); -static void VideoPortDestroy(TreeNode*); -static void NewVideoPortCallback(Widget, XtPointer, XtPointer); - -static void CreateMonitor(TreeNode*, XF86ConfMonitorPtr); -static void CreateMonitorField(TreeNode*, Bool); -static void MonitorDestroy(TreeNode*); -static void NewMonitorCallback(Widget, XtPointer, XtPointer); -static void MonitorUpdate(TreeNode*); -static void CreateMonitorModeLine(TreeNode*, XF86ConfModeLinePtr); -static void MonitorModeLineDestroy(TreeNode*); -static void NewMonitorModeLineCallback(Widget, XtPointer, XtPointer); -static void CreateMonitorModes(TreeNode*, XF86ConfModesLinkPtr); -static void CreateMonitorModesField(TreeNode*, Bool); -static void MonitorModesLinkDestroy(TreeNode*); -static void NewMonitorModesCallback(Widget, XtPointer, XtPointer); - -static void CreateDevice(TreeNode*, XF86ConfDevicePtr); -static void CreateDeviceField(TreeNode*, Bool); -static void NewDeviceCallback(Widget, XtPointer, XtPointer); -static void DeviceDestroy(TreeNode*); -static void DeviceUpdate(TreeNode*); - -static void CreateScreen(TreeNode*, XF86ConfScreenPtr); -static void CreateScreenField(TreeNode*, Bool); -static void NewScreenCallback(Widget, XtPointer, XtPointer); -static void ScreenDestroy(TreeNode*); -static void ScreenUpdate(TreeNode*); -static void CreateScreenAdaptor(TreeNode*, XF86ConfAdaptorLinkPtr); -static void CreateScreenAdaptorField(TreeNode*, Bool); -static void NewScreenAdaptorCallback(Widget, XtPointer, XtPointer); -static void ScreenAdaptorDestroy(TreeNode*); -static void CreateScreenDisplay(TreeNode*, XF86ConfDisplayPtr); -static void CreateScreenDisplayField(TreeNode*, Bool); -static void NewScreenDisplayCallback(Widget, XtPointer, XtPointer); -static void ScreenDisplayDestroy(TreeNode*); -static void ScreenDisplayUpdate(TreeNode*); -static void CreateDisplayMode(TreeNode*, XF86ModePtr); -static void CreateDisplayModeField(TreeNode*, Bool); -static void NewDisplayModeCallback(Widget, XtPointer, XtPointer); -static void DisplayModeDestroy(TreeNode*); - -static void CreateInput(TreeNode*, XF86ConfInputPtr); -static void CreateInputField(TreeNode*, Bool); -static void InputDestroy(TreeNode*); -static void NewInputCallback(Widget, XtPointer, XtPointer); -static void InputUpdate(TreeNode*); - -static void CreateLayout(TreeNode*, XF86ConfLayoutPtr); -static void CreateLayoutField(TreeNode*, Bool); -static void LayoutDestroy(TreeNode*); -static void NewLayoutCallback(Widget, XtPointer, XtPointer); -static void CreateAdjacency(TreeNode*, XF86ConfAdjacencyPtr); -static void CreateAdjacencyField(TreeNode*, Bool); -static void AdjacencyDestroy(TreeNode*); -static void NewAdjacencyCallback(Widget, XtPointer, XtPointer); -static void AdjacencyMenuCallback(Widget, XtPointer, XtPointer); -static void AdjacencyToggleCallback(Widget, XtPointer, XtPointer); -static void CreateInputref(TreeNode*, XF86ConfInputrefPtr); -static void CreateInputrefField(TreeNode*, Bool); -static void InputrefDestroy(TreeNode*); -static void NewInputrefCallback(Widget, XtPointer, XtPointer); - -static void CreateVendor(TreeNode*, XF86ConfVendorPtr); -static void CreateVendorField(TreeNode*, Bool); -static void VendorDestroy(TreeNode*); -static void NewVendorCallback(Widget, XtPointer, XtPointer); -static void CreateVendorSub(TreeNode*, XF86ConfVendSubPtr); -static void CreateVendorSubField(TreeNode*, Bool); -static void NewVendorSubCallback(Widget, XtPointer, XtPointer); -static void VendorSubDestroy(TreeNode*); -static void VendorSubUpdate(TreeNode*); - -static void CreateDRI(TreeNode*, XF86ConfDRIPtr); -static void CreateDRIField(TreeNode*); -static void DRIUpdate(TreeNode*); - -static void CreateBuffers(TreeNode*, XF86ConfBuffersPtr); -static void CreateBuffersField(TreeNode*, Bool); -static void BuffersDestroy(TreeNode*); -static void NewBuffersCallback(Widget, XtPointer, XtPointer); -static void BuffersUpdate(TreeNode*); - -extern void RemoveDeviceCallback(Widget, XtPointer, XtPointer); - -/* interface.c */ -extern void InitializeDevices(void); -extern void SelectLayoutCallback(Widget, XtPointer, XtPointer); -extern void UpdateMenuDeviceList(int); -extern void SetConfigModeCallback(Widget, XtPointer, XtPointer); -extern void DefaultLayoutCallback(Widget, XtPointer, XtPointer); -extern void RemoveLayoutCallback(Widget, XtPointer, XtPointer); - -/* - * Initialization - */ -static Widget shell, expert, tree, panner; -extern Widget work, optionsShell, config, layoutp, topMenu; -extern xf86cfgDevice cpu_device; -static TreeNode *mainNode, *monitorTree, *screenTree, *layoutTree; - -/* - * Implementation - */ -void -ExpertConfigureStart(void) -{ - ExpertInitialize(); - - XtPopup(shell, XtGrabExclusive); - if (optionsShell == NULL) - CreateOptionsShell(); - XtVaSetValues(optionsShell, XtNtransientFor, shell, NULL); -} - -void -ExpertConfigureEnd(void) -{ - int i, save_config_mode = config_mode; - Widget sme, layopt, layoutsme = NULL; - XF86ConfLayoutPtr lay; - - XtVaSetValues(optionsShell, XtNtransientFor, toplevel, NULL); - XtPopdown(shell); - - /* Need to do this to avoid all code elsewhere needing to update the - * "expert" widget tree - */ - UpdateConfig(mainNode); - DestroyTree(mainNode); - XtDestroyWidget(shell); - expert = NULL; - - if (save_config_mode != CONFIG_LAYOUT) - SetConfigModeCallback(topMenu, (XtPointer)CONFIG_LAYOUT, NULL); - - /* Reset everything as the "expert" interface can do almost anything - * to the configuration. - */ - for (i = 0; i < computer.num_screens; i++) { - XtDestroyWidget(computer.screens[i]->widget); - XtFree((XtPointer)computer.screens[i]); - } - XtFree((XtPointer)computer.screens); - computer.screens = NULL; - computer.num_screens = 0; - - for (i = 0; i < computer.num_devices; i++) { - XtDestroyWidget(computer.devices[i]->widget); - XtFree((XtPointer)computer.devices[i]); - } - XtFree((XtPointer)computer.devices); - computer.devices = NULL; - computer.num_devices = 0; - - for (i = 0; i < computer.num_layouts; i++) { - XtFree((XtPointer)computer.layouts[i]->position); - XtFree((XtPointer)computer.layouts[i]); - } - XtFree((XtPointer)computer.layouts); - computer.layouts = NULL; - computer.num_layouts = 0; - - for (i = 0; i < computer.num_vidmodes; i++) - XtFree((XtPointer)computer.vidmodes[i]); - XtFree((XtPointer)computer.vidmodes); - computer.vidmodes = NULL; - computer.num_vidmodes = 0; - - /* Reinitialize devices/screens */ - InitializeDevices(); - UpdateMenuDeviceList(MOUSE); - UpdateMenuDeviceList(KEYBOARD); - UpdateMenuDeviceList(CARD); - UpdateMenuDeviceList(MONITOR); - - /* Update layout menu */ - /* first entry is "New server layout" */ - for (i = 1; i < ((CompositeWidget)layoutp)->composite.num_children; i++) - XtDestroyWidget(((CompositeWidget)layoutp)->composite.children[i]); - for (i = 0; i < layoutp->core.num_popups; i++) - XtDestroyWidget(layoutp->core.popup_list[i]); - lay = XF86Config->conf_layout_lst; - while (lay != NULL) { - sme = XtVaCreateManagedWidget("sme", smeBSBObjectClass, - layoutp, - XtNlabel, lay->lay_identifier, - XtNmenuName, lay->lay_identifier, - XtNleftBitmap, menuPixmap, - NULL); - XtAddCallback(sme, XtNcallback, SelectLayoutCallback, (XtPointer)lay); - if (layoutsme == NULL) - layoutsme = sme; - layopt = XtCreatePopupShell(lay->lay_identifier, simpleMenuWidgetClass, - layoutp, NULL, 0); - sme = XtCreateManagedWidget("default", smeBSBObjectClass, - layopt, NULL, 0); - XtAddCallback(sme, XtNcallback, DefaultLayoutCallback, NULL); - sme = XtCreateManagedWidget("remove", smeBSBObjectClass, - layopt, NULL, 0); - XtAddCallback(sme, XtNcallback, RemoveLayoutCallback, NULL); - XtRealizeWidget(layopt); - - lay = (XF86ConfLayoutPtr)(lay->list.next); - } - computer.layout = NULL; - SelectLayoutCallback(layoutsme, - XF86Config->conf_layout_lst, NULL); - - - if (XF86Config->conf_flags && XF86Config->conf_flags->flg_option_lst) - SetTip(&cpu_device); - for (i = 0; i < computer.num_devices; i++) - SetTip(computer.devices[i]); - - /* Reinitialize vidmodes */ - InitializeVidmodes(); - - if (save_config_mode != CONFIG_LAYOUT) - SetConfigModeCallback(topMenu, (XtPointer)(long)save_config_mode, NULL); -} - -/*ARGSUSED*/ -void -ExpertCloseAction(Widget w, XEvent *event, String *params, Cardinal *num_params) -{ - ExpertConfigureEnd(); -} - -/*ARGSUSED*/ -void -ExpertCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - ExpertConfigureStart(); -} - -/*ARGSUSED*/ -static void -PopdownCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - ExpertConfigureEnd(); -} - -/* Files */ -static void -CreateFiles(TreeNode *files) -{ - XF86ConfFilesPtr file = XF86Config->conf_files; - TreeNode *node, *fontpath, *modulepath; - Widget w; - char *value; - - value = file->file_logfile ? file->file_logfile : ""; - node = NewNode(files, NULL, NULL, files->node, - (TreeData*)XtCalloc(1, sizeof(TreeData))); - CreateFilesField(node, "LogFile", value); - files->child = node; - files->update = UpdateFiles; - - w = XtVaCreateManagedWidget("ModulePath", toggleWidgetClass, tree, - XtNtreeParent, files->node, NULL); - node->next = modulepath = NewNode(files, w, w, files->node, NULL); - node = node->next; - CreateModulePath(modulepath, NULL); - - w = XtVaCreateManagedWidget("FontPath", toggleWidgetClass, tree, - XtNtreeParent, files->node, NULL); - node->next = fontpath = NewNode(files, w, w, files->node, NULL); - node = node->next; - CreateFontPath(fontpath, NULL); -} - -static void -CreateFilesField(TreeNode *node, char *name, char *value) -{ - Widget box, text; - - box = XtVaCreateManagedWidget(name, boxWidgetClass, tree, - XtNtreeParent, node->node, NULL); - node->node = box; - (void) XtVaCreateManagedWidget("label", labelWidgetClass, box, - XtNlabel, name, NULL); - text = XtVaCreateManagedWidget("value", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, XtNstring, value, - NULL); - node->data->files.text = text; -} - -static void -UpdateFiles(TreeNode *files) -{ - char *str; - - /* LogFile */ - files = files->child; - XtVaGetValues(files->data->files.text, XtNstring, &str, NULL); - XtFree(XF86Config->conf_files->file_logfile); - if (*str) - XF86Config->conf_files->file_logfile = XtNewString(str); - else - XF86Config->conf_files->file_logfile = NULL; -} - -/* FontPath */ -/* Don't need to set the update tree field, as it is already set - * as the destroy field */ -static void -CreateFontPath(TreeNode *fontpath, char *path) -{ - TreeNode *prev = NULL, *node; - - if (path == NULL) { - if (XF86Font_path) { - path = XtNewString(XF86Font_path); - if (XF86Config->conf_files && XF86Config->conf_files->file_fontpath) { - XtFree(XF86Config->conf_files->file_fontpath); - XF86Config->conf_files->file_fontpath = XtNewString(path); - } - } - else if (XF86Config->conf_files && XF86Config->conf_files->file_fontpath) - path = XtNewString(XF86Config->conf_files->file_fontpath); - } - else { - path = XtNewString(path); - if ((prev = fontpath->child) != NULL) - while (prev->next) - prev = prev->next; - } - - if (path) { - char *s; - - for (s = strtok(path, ","); s != NULL; s = strtok(NULL, ",")) { - node = NewNode(fontpath, NULL, NULL, fontpath->node, NULL); - node->destroy = FontPathChanged; - (void) CreateFontPathField(node, s, False); - if (fontpath->child == NULL) - fontpath->child = node; - else - prev->next = node; - prev = node; - } - XtFree(path); - } - - node = NewNode(fontpath, NULL, NULL, fontpath->node, NULL); - (void) CreateFontPathField(node, "", True); - if (fontpath->child == NULL) - fontpath->child = node; - else - prev->next = node; -} - -static Widget -CreateFontPathField(TreeNode *fontpath, char *value, Bool addnew) -{ - Widget box, command, text; - TreeData *data; - - box = XtVaCreateWidget("fontpath", formWidgetClass, tree, - XtNtreeParent, fontpath->treeParent, NULL); - fontpath->node = box; - if (!addnew) { - command = XtCreateManagedWidget("remove", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, DestroyCallback, - (XtPointer)fontpath); - command = XtCreateManagedWidget("up", commandWidgetClass, box, NULL, 0); - XtAddCallback(command, XtNcallback, FontPathCallback, - (XtPointer)fontpath); - command = XtCreateManagedWidget("down", commandWidgetClass, box, NULL, 0); - XtAddCallback(command, XtNcallback, FontPathCallback, - (XtPointer)fontpath); - text = XtVaCreateManagedWidget("value", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, value, NULL); - } - else { - command = XtCreateManagedWidget("new", commandWidgetClass, box, NULL, 0); - XtAddCallback(command, XtNcallback, NewFontPathCallback, - (XtPointer)fontpath); - text = XtVaCreateManagedWidget("valueNew", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, value, NULL); - } - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->files.text = text; - fontpath->data = data; - - if (fontpath->treeParent && XtIsRealized(fontpath->treeParent)) - XtRealizeWidget(box); - XtManageChild(box); - - return (box); -} - -static void -FontPathChanged(TreeNode *node) -{ - TreeNode *parent = node->parent; - char *fontpath = NULL, *str; - Arg args[1]; - int pos = 0, len; - - /* last node is the "new" */ - for (node = parent->child; node->next != NULL; node = node->next) { - if (pos) - fontpath[pos++] = ','; - XtSetArg(args[0], XtNstring, &str); - XtGetValues(node->data->files.text, args, 1); - len = strlen(str) + 2; - fontpath = XtRealloc(fontpath, pos + len); - strcpy(fontpath + pos, str); - pos += len - 2; - } - - if (XF86Config->conf_files->file_fontpath) - XtFree(XF86Config->conf_files->file_fontpath); - XF86Config->conf_files->file_fontpath = fontpath; -} - -static void -NewFontPathCallback(Widget unused, XtPointer user_data, XtPointer call_data) -{ - TreeNode *fontpath, *node = (TreeNode*)user_data; - Arg args[1]; - char *str; - - XtSetArg(args[0], XtNstring, &str); - XtGetValues(node->data->files.text, args, 1); - if (*str == '\0') - return; - - fontpath = node->parent; - DeleteNode(node); - CreateFontPath(fontpath, str); - - FontPathChanged(fontpath->child); - RelayoutTree(); -} - -/*ARGSUSED*/ -static void -FontPathCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - TreeNode *parent, *node, *fontpath = (TreeNode*)user_data; - char *t1, *t2; - Widget w1, w2; - - parent = fontpath->parent; - node = parent->child; - if (!node->next->next) - return; - if (strcmp(XtName(w), "up") == 0) { - if (node == fontpath) - while (node->next->next) - node = node->next; - else - while (node && node->next != fontpath) - node = node->next; - } - else { - if (fontpath->next->next) - node = fontpath->next; - /* else is already correct */ - } - - w1 = node->data->files.text; - w2 = fontpath->data->files.text; - - XtVaGetValues(w1, XtNstring, &t1, NULL); - XtVaGetValues(w2, XtNstring, &t2, NULL); - t1 = XtNewString(t1); - XtVaSetValues(w1, XtNstring, t2, NULL); - XtVaSetValues(w2, XtNstring, t1, NULL); - XtFree(t1); -} - - -/* ModulePath */ -/* Don't need to set the update tree field, as it is already set - * as the destroy field */ -static void -CreateModulePath(TreeNode *modulepath, char *path) -{ - TreeNode *prev = NULL, *node; - - if (path == NULL) { - if (XF86Module_path) { - path = XtNewString(XF86Module_path); - if (XF86Config->conf_files && XF86Config->conf_files->file_modulepath) { - XtFree(XF86Config->conf_files->file_modulepath); - XF86Config->conf_files->file_modulepath = XtNewString(path); - } - } - else if (XF86Config->conf_files && XF86Config->conf_files->file_modulepath) - path = XtNewString(XF86Config->conf_files->file_modulepath); - } - else { - path = XtNewString(path); - if ((prev = modulepath->child) != NULL) - while (prev->next) - prev = prev->next; - } - - if (path) { - char *s; - - for (s = strtok(path, ","); s != NULL; s = strtok(NULL, ",")) { - node = NewNode(modulepath, NULL, NULL, modulepath->node, NULL); - node->destroy = ModulePathChanged; - (void) CreateModulePathField(node, s, False); - if (modulepath->child == NULL) - modulepath->child = node; - else - prev->next = node; - prev = node; - } - XtFree(path); - } - - node = NewNode(modulepath, NULL, NULL, modulepath->node, NULL); - (void) CreateModulePathField(node, "", True); - if (modulepath->child == NULL) - modulepath->child = node; - else - prev->next = node; -} - -static Widget -CreateModulePathField(TreeNode *modulepath, char *value, Bool addnew) -{ - Widget box, command, text; - TreeData *data; - - box = XtVaCreateWidget("modulepath", formWidgetClass, tree, - XtNtreeParent, modulepath->treeParent, NULL); - modulepath->node = box; - if (!addnew) { - command = XtCreateManagedWidget("remove", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, DestroyCallback, - (XtPointer)modulepath); - text = XtVaCreateManagedWidget("value", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, value, NULL); - } - else { - command = XtCreateManagedWidget("new", commandWidgetClass, box, NULL, 0); - XtAddCallback(command, XtNcallback, NewModulePathCallback, - (XtPointer)modulepath); - text = XtVaCreateManagedWidget("valueNew", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, value, NULL); - } - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->files.text = text; - modulepath->data = data; - - if (modulepath->treeParent && XtIsRealized(modulepath->treeParent)) - XtRealizeWidget(box); - XtManageChild(box); - - return (box); -} - -static void -ModulePathChanged(TreeNode *node) -{ - TreeNode *parent = node->parent; - char *modulepath = NULL, *str; - Arg args[1]; - int pos = 0, len; - - /* last node is the "new" */ - for (node = parent->child; node->next != NULL; node = node->next) { - if (pos) - modulepath[pos++] = ','; - XtSetArg(args[0], XtNstring, &str); - XtGetValues(node->data->files.text, args, 1); - len = strlen(str) + 2; - modulepath = XtRealloc(modulepath, pos + len); - strcpy(modulepath + pos, str); - pos += len - 2; - } - - if (XF86Config->conf_files->file_modulepath) - XtFree(XF86Config->conf_files->file_modulepath); - XF86Config->conf_files->file_modulepath = modulepath; -} - -static void -NewModulePathCallback(Widget unused, XtPointer user_data, XtPointer call_data) -{ - TreeNode *modulepath, *node = (TreeNode*)user_data; - Arg args[1]; - char *str; - - XtSetArg(args[0], XtNstring, &str); - XtGetValues(node->data->files.text, args, 1); - if (*str == '\0') - return; - - modulepath = node->parent; - DeleteNode(node); - CreateModulePath(modulepath, str); - - ModulePathChanged(modulepath->child); - RelayoutTree(); -} - -/* Module */ -static void -CreateModule(TreeNode *module, XF86LoadPtr load) -{ - TreeNode *prev, *node; - TreeData *data; - - if ((prev = module->child) != NULL) - while (prev->next) - prev = prev->next; - - while (load) { - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->module.load = load; - node = NewNode(module, NULL, NULL, module->node, data); - node->destroy = ModuleDestroy; - CreateModuleField(node, False); - if (module->child == NULL) - module->child = node; - else - prev->next = node; - prev = node; - load = (XF86LoadPtr)(load->list.next); - } - - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - node = NewNode(module, NULL, NULL, module->node, data); - CreateModuleField(node, True); - if (module->child == NULL) - module->child = node; - else - prev->next = node; -} - -static void -CreateModuleField(TreeNode *node, Bool addnew) -{ - Widget box, command, label; - - box = XtVaCreateWidget("module", formWidgetClass, tree, - XtNtreeParent, node->treeParent, NULL); - node->node = box; - - if (!addnew) { - XF86OptionPtr *options; - XF86LoadPtr load = node->data->module.load; - - options = &(load->load_opt); - command = XtCreateManagedWidget("remove", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, DestroyCallback, (XtPointer)node); - command = XtCreateManagedWidget("options", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, OptionsCallback, (XtPointer)options); - label = XtVaCreateManagedWidget("label", labelWidgetClass, box, - XtNlabel, load->load_name, NULL); - } - else { - command = XtCreateManagedWidget("new", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, NewModuleCallback, (XtPointer)node); - label = XtVaCreateManagedWidget("value", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - NULL); - node->data->module.text = label; - } - if (XtIsRealized(node->treeParent)) - XtRealizeWidget(box); - XtManageChild(box); -} - -/*ARGUSED*/ -static void -ModuleDestroy(TreeNode *node) -{ - if (node->data->module.load) - xf86removeModule(XF86Config, node->data->module.load); -} - -/*ARGSUSED*/ -static void -NewModuleCallback(Widget unused, XtPointer user_data, XtPointer call_data) -{ - TreeNode *module, *node = (TreeNode*)user_data; - XF86LoadPtr load; - Arg args[1]; - char *label; - - XtSetArg(args[0], XtNstring, &label); - XtGetValues(node->data->module.text, args, 1); - if (*label == '\0') - return; - - module = node->parent; - DeleteNode(node); - load = (XF86LoadPtr)XtCalloc(1, sizeof(XF86LoadRec)); - load->load_name = XtNewString(label); - XF86Config->conf_modules->mod_load_lst = - xf86addModule(XF86Config->conf_modules->mod_load_lst, load); - - CreateModule(module, load); - RelayoutTree(); -} - -/* Modes */ -static void -CreateModes(TreeNode *parent, XF86ConfModesPtr modes) -{ - TreeNode *node, *prev; - TreeData *data; - - if ((prev = parent->child) != NULL) - while (prev->next) - prev = prev->next; - - while (modes) { - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->modes.modes = modes; - node = NewNode(parent, NULL, NULL, parent->node, data); - node->destroy = ModesDestroy; - CreateModesField(node, False); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - - modes = (XF86ConfModesPtr)(modes->list.next); - } - - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - node = NewNode(parent, NULL, NULL, parent->node, data); - CreateModesField(node, True); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; -} - -static void -CreateModesField(TreeNode *node, Bool addnew) -{ - Widget box, command, label; - - box = XtVaCreateWidget("modes", formWidgetClass, tree, - XtNtreeParent, node->treeParent, NULL); - node->node = box; - - if (!addnew) { - XF86ConfModesPtr modes = node->data->modes.modes; - - command = XtCreateManagedWidget("remove", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, DestroyCallback, (XtPointer)node); - label = XtVaCreateManagedWidget("mode", toggleWidgetClass, box, - XtNlabel, modes->modes_identifier, - XtNstate, True, - NULL); - node->toggle = label; - XtAddCallback(label, XtNcallback, ToggleCallback, (XtPointer)node); - CreateModesModeLine(node, node->data->modes.modes->mon_modeline_lst); - } - else { - command = XtCreateManagedWidget("new", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, NewModesCallback, (XtPointer)node); - label = XtVaCreateManagedWidget("value", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - NULL); - node->data->modes.text = label; - } - if (XtIsRealized(node->treeParent)) - XtRealizeWidget(box); - XtManageChild(box); -} - -/*ARGUSED*/ -static void -ModesDestroy(TreeNode *node) -{ - if (node->data->modes.modes) { - int i; - TreeNode *mon = monitorTree->child; - - /* last one is the "new" entry */ - while (mon && mon->next) { - /* UseModes is the second entry */ - TreeNode *mod = mon->child->next->child; - CompositeWidget composite; - - while (mod && mod->next) { - TreeNode *next = mod->next; - - if (mod && strcmp(mod->data->modeslink.modeslink->ml_modes_str, - node->data->modes.modes->modes_identifier) == 0) - /* Needs to do string comparison because may be deleting - * a "test" Modes section, with no Modelines. - */ - DeleteNode(mod); - mod = next; - } - composite = (CompositeWidget)mod->data->modeslink.menu; - - for (i = 0; i < composite->composite.num_children; ++i) - if (strcmp(XtName(composite->composite.children[i]), - node->data->modes.modes->modes_identifier) == 0) - XtDestroyWidget(composite->composite.children[i]); - - mon = mon->next; - } - - xf86removeModes(XF86Config, node->data->modes.modes); - } -} - -/*ARGSUSED*/ -static void -NewModesCallback(Widget unused, XtPointer user_data, XtPointer call_data) -{ - TreeNode *parent, *node = (TreeNode*)user_data; - XF86ConfModesPtr modes; - Arg args[1]; - char *label; - - XtSetArg(args[0], XtNstring, &label); - XtGetValues(node->data->modes.text, args, 1); - if (*label == '\0') - return; - - parent = node->parent; - DeleteNode(node); - modes = (XF86ConfModesPtr)XtCalloc(1, sizeof(XF86ConfModesRec)); - modes->modes_identifier = XtNewString(label); - XF86Config->conf_modes_lst = - xf86addModes(XF86Config->conf_modes_lst, modes); - - { - TreeNode *mon = monitorTree->child; - Widget sme; - - /* last one is the "new" entry */ - while (mon && mon->next) { - /* UseModes is the second entry */ - TreeNode *mod = mon->child->next->child; - - while (mod && mod->next) - mod = mod->next; - - sme = XtCreateManagedWidget(modes->modes_identifier, - smeBSBObjectClass, - mod->data->modeslink.menu, NULL, 0); - XtAddCallback(sme, XtNcallback, NewMonitorModesCallback, - (XtPointer)mod); - - mon = mon->next; - } - } - - CreateModes(parent, modes); - RelayoutTree(); -} - -static void -CreateModesModeLine(TreeNode *parent, XF86ConfModeLinePtr modeline) -{ - TreeNode *node, *prev; - TreeData *data; - - if ((prev = parent->child) != NULL) - while (prev->next) - prev = prev->next; - - while (modeline) { - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->modeline.modeline = modeline; - node = NewNode(parent, NULL, NULL, parent->node, data); - node->destroy = ModesModeLineDestroy; - CreateModeLineField(node, False, False); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - modeline = (XF86ConfModeLinePtr)(modeline->list.next); - } - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - node = NewNode(parent, NULL, NULL, parent->node, data); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - CreateModeLineField(node, True, False); -} - -/* This function should allow creating modelines for the - Mode and Monitor section */ -static void -CreateModeLineField(TreeNode *node, Bool addnew, Bool monitor) -{ - Widget box, command; - char buf[512], tmp[32]; - - box = XtVaCreateWidget("modeline", formWidgetClass, tree, - XtNtreeParent, node->treeParent, NULL); - node->node = box; - - if (!addnew) { - XF86ConfModeLinePtr mod = node->data->modeline.modeline; - - command = XtCreateManagedWidget("remove", commandWidgetClass, - box, NULL, 0); - XtAddCallback(command, XtNcallback, DestroyCallback, (XtPointer)node); - XtVaCreateManagedWidget("label", labelWidgetClass, box, - XtNlabel, mod->ml_identifier, NULL); - - XmuSnprintf(buf, sizeof(buf), "%g %d %d %d %d %d %d %d %d", - mod->ml_clock / 1000., mod->ml_hdisplay, mod->ml_hsyncstart, - mod->ml_hsyncend, mod->ml_htotal, mod->ml_vdisplay, - mod->ml_vsyncstart, mod->ml_vsyncend, mod->ml_vtotal); - if (mod->ml_flags & XF86CONF_INTERLACE) - strcat(buf, " interlace"); - if (mod->ml_flags & XF86CONF_PHSYNC) - strcat(buf, " +hsync"); - if (mod->ml_flags & XF86CONF_NHSYNC) - strcat(buf, " -hsync"); - if (mod->ml_flags & XF86CONF_PVSYNC) - strcat(buf, " +vsync"); - if (mod->ml_flags & XF86CONF_NVSYNC) - strcat(buf, " -vsync"); - if (mod->ml_flags & XF86CONF_CSYNC) - strcat(buf, " composite"); - if (mod->ml_flags & XF86CONF_PCSYNC) - strcat(buf, " +csync"); - if (mod->ml_flags & XF86CONF_NCSYNC) - strcat(buf, " -csync"); - if (mod->ml_flags & XF86CONF_DBLSCAN) - strcat(buf, " doublescan"); - if (mod->ml_flags & XF86CONF_BCAST) - strcat(buf, " bcast"); - if (mod->ml_flags & XF86CONF_HSKEW) { - XmuSnprintf(tmp, sizeof(tmp), " hskew %d", mod->ml_hskew); - strcat(buf, tmp); - } - if (mod->ml_flags & XF86CONF_VSCAN) { - XmuSnprintf(tmp, sizeof(tmp), " vscan %d", mod->ml_vscan); - strcat(buf, tmp); - } - if (mod->ml_flags & XF86CONF_CUSTOM) - strcat(buf, " custom"); - node->data->modeline.value = - XtVaCreateManagedWidget("modeline", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, NULL); - } - else { - *buf = '\0'; - command = XtCreateManagedWidget("new", commandWidgetClass, - box, NULL, 0); - XtAddCallback(command, XtNcallback, monitor ? - NewMonitorModeLineCallback : NewModesModeLineCallback, - (XtPointer)node); - node->data->modeline.text = - XtVaCreateManagedWidget("value", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, NULL); - node->data->modeline.value = - XtVaCreateManagedWidget("modelineNew", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, NULL); - } - if (XtIsRealized(node->treeParent)) - XtRealizeWidget(box); - XtManageChild(box); -} - -/*ARGUSED*/ -static void -ModesModeLineDestroy(TreeNode *node) -{ - if (node->data->modeline.modeline) - xf86removeModesModeLine(node->parent->data->modes.modes, - node->data->modeline.modeline); -} - -/*ARGSUSED*/ -static void -NewModesModeLineCallback(Widget unused, XtPointer user_data, XtPointer call_data) -{ - TreeNode *parent, *node = (TreeNode*)user_data; - XF86ConfModeLinePtr modeline; - Arg args[1]; - char *ident, *value; - - XtSetArg(args[0], XtNstring, &ident); - XtGetValues(node->data->modeline.text, args, 1); - XtSetArg(args[0], XtNstring, &value); - XtGetValues(node->data->modeline.value, args, 1); - if (*ident == '\0' || *value == '\0') - return; - - parent = node->parent; - DeleteNode(node); - modeline = ParseModeLine(ident, value); - parent->data->modes.modes->mon_modeline_lst = - xf86addModeLine(parent->data->modes.modes->mon_modeline_lst, modeline); - - CreateModesModeLine(parent, modeline); - RelayoutTree(); -} - -static XF86ConfModeLinePtr -ParseModeLine(char *identifier, char *modeline) -{ - XF86ConfModeLinePtr ml = (XF86ConfModeLinePtr) - XtCalloc(1, sizeof(XF86ConfModeLineRec)); - char *s, *ptr = modeline; - - /* Identifier */ - ml->ml_identifier = XtNewString(identifier); - - ml->ml_clock = (int)(strtod(ptr, &ptr) * 1000.0 + 0.5); - while (*ptr && isspace(*ptr)) ++ptr; - - ml->ml_hdisplay = strtol(ptr, &ptr, 10); - while (*ptr && isspace(*ptr)) ++ptr; - - ml->ml_hsyncstart = strtol(ptr, &ptr, 10); - while (*ptr && isspace(*ptr)) ++ptr; - - ml->ml_hsyncend = strtol(ptr, &ptr, 10); - while (*ptr && isspace(*ptr)) ++ptr; - - ml->ml_htotal = strtol(ptr, &ptr, 10); - while (*ptr && isspace(*ptr)) ++ptr; - - ml->ml_vdisplay = strtol(ptr, &ptr, 10); - while (*ptr && isspace(*ptr)) ++ptr; - - ml->ml_vsyncstart = strtol(ptr, &ptr, 10); - while (*ptr && isspace(*ptr)) ++ptr; - - ml->ml_vsyncend = strtol(ptr, &ptr, 10); - while (*ptr && isspace(*ptr)) ++ptr; - - ml->ml_vtotal = strtol(ptr, &ptr, 10); - while (*ptr && isspace(*ptr)) ++ptr; - - s = ptr; - while (*s) { - *s = tolower(*s); - ++s; - } - s = ptr; - - while (*ptr) { - while (*s && isspace(*s)) - s++; - ptr = s; - while (*s && !isspace(*s)) - s++; - - if (s != ptr) { - Bool done = *s == '\0'; - - *s = '\0'; - if (strcmp(ptr, "interlace") == 0) - ml->ml_flags |= XF86CONF_INTERLACE; - else if (strcmp(ptr, "+hsync") == 0) - ml->ml_flags |= XF86CONF_PHSYNC; - else if (strcmp(ptr, "-hsync") == 0) - ml->ml_flags |= XF86CONF_NHSYNC; - else if (strcmp(ptr, "+vsync") == 0) - ml->ml_flags |= XF86CONF_PVSYNC; - else if (strcmp(ptr, "-vsync") == 0) - ml->ml_flags |= XF86CONF_NVSYNC; - else if (strcmp(ptr, "composite") == 0) - ml->ml_flags |= XF86CONF_CSYNC; - else if (strcmp(ptr, "+csync") == 0) - ml->ml_flags |= XF86CONF_PCSYNC; - else if (strcmp(ptr, "-csync") == 0) - ml->ml_flags |= XF86CONF_NCSYNC; - else if (strcmp(ptr, "doublescan") == 0) - ml->ml_flags |= XF86CONF_DBLSCAN; - else if (strcmp(ptr, "bcast") == 0) - ml->ml_flags |= XF86CONF_BCAST; - else if (strcmp(ptr, "hskew") == 0) { - ++s; - while (*s && isspace(*s)) - ++s; - ptr = s; - while (*s && !isspace(*s)) - ++s; - if (ptr != s) { - ml->ml_hskew = strtol(ptr, &s, 10); - ml->ml_flags |= XF86CONF_HSKEW; - --s; - } - } - else if (strcmp(ptr, "vscan") == 0) { - ++s; - while (*s && isspace(*s)) - ++s; - ptr = s; - while (*s && !isspace(*s)) - ++s; - if (ptr != s) { - ml->ml_vscan = strtol(ptr, &s, 10); - ml->ml_flags |= XF86CONF_VSCAN; - --s; - } - } - else if (strcmp(ptr, "custom") == 0) - ml->ml_flags |= XF86CONF_CUSTOM; - ++s; - if (done) - break; - ptr = s; - } - } - - return (ml); -} - -/* VideoAdpator */ -static void -CreateVideoAdaptor(TreeNode *parent, XF86ConfVideoAdaptorPtr video) -{ - TreeNode *node, *prev; - TreeData *data; - - if ((prev = parent->child) != NULL) - while (prev->next) - prev = prev->next; - - while (video) { - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->video.video = video; - node = NewNode(parent, NULL, NULL, parent->node, data); - node->destroy = VideoAdaptorDestroy; - node->update = VideoAdaptorUpdate; - CreateVideoAdaptorField(node, False); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - - video = (XF86ConfVideoAdaptorPtr)(video->list.next); - } - - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - node = NewNode(parent, NULL, NULL, parent->node, data); - CreateVideoAdaptorField(node, True); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; -} - -static void -CreateVideoAdaptorField(TreeNode *node, Bool addnew) -{ - Widget box, command, label; - - box = XtVaCreateWidget("video", formWidgetClass, tree, - XtNtreeParent, node->treeParent, NULL); - node->node = box; - - if (!addnew) { - char *str; - TreeNode *port; - XF86ConfVideoAdaptorPtr video = node->data->video.video; - - command = XtCreateManagedWidget("remove", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, DestroyCallback, (XtPointer)node); - command = XtCreateManagedWidget("options", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, OptionsCallback, - (XtPointer)&(video->va_option_lst)); - label = XtVaCreateManagedWidget("adaptor", labelWidgetClass, box, - XtNlabel, video->va_identifier, - NULL); - - XtCreateManagedWidget("vendorL", labelWidgetClass, box, NULL, 0); - str = video->va_vendor ? video->va_vendor : ""; - node->data->video.vendor = - XtVaCreateManagedWidget("vendor", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, str, - NULL); - - XtCreateManagedWidget("boardL", labelWidgetClass, box, NULL, 0); - str = video->va_board ? video->va_board : ""; - node->data->video.board = - XtVaCreateManagedWidget("board", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, str, - NULL); - - XtCreateManagedWidget("busidL", labelWidgetClass, box, NULL, 0); - str = video->va_busid ? video->va_busid : ""; - node->data->video.busid = - XtVaCreateManagedWidget("busid", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, str, - NULL); - - XtCreateManagedWidget("driverL", labelWidgetClass, box, NULL, 0); - str = video->va_driver ? video->va_driver : ""; - node->data->video.driver = - XtVaCreateManagedWidget("driver", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, str, - NULL); - - label = XtVaCreateManagedWidget("VideoPort", toggleWidgetClass, tree, - XtNstate, True, - XtNtreeParent, box, - NULL); - port = NewNode(node, label, label, node->node, NULL); - node->child = port; - CreateVideoPort(port, video->va_port_lst); - } - else { - command = XtCreateManagedWidget("new", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, NewVideoAdaptorCallback, - (XtPointer)node); - label = XtVaCreateManagedWidget("value", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - NULL); - node->data->video.text = label; - } - if (XtIsRealized(node->treeParent)) - XtRealizeWidget(box); - XtManageChild(box); -} - -/*ARGUSED*/ -static void -VideoAdaptorDestroy(TreeNode *node) -{ - if (node->data->video.video) { - int i; - TreeNode *scrn = screenTree->child; - - /* last one is the "new" entry */ - while (scrn && scrn->next) { - /* VideoAdator is the first entry */ - TreeNode *ad = scrn->child->child; - CompositeWidget composite; - - while (ad && ad->next) { - TreeNode *next = ad->next; - - if (ad && strcmp(ad->data->adaptorlink.adaptorlink->al_adaptor_str, - node->data->video.video->va_identifier) == 0) - DeleteNode(ad); - ad = next; - } - composite = (CompositeWidget)ad->data->adaptorlink.menu; - - for (i = 0; i < composite->composite.num_children; ++i) - if (strcmp(XtName(composite->composite.children[i]), - node->data->video.video->va_identifier) == 0) - XtDestroyWidget(composite->composite.children[i]); - - scrn = scrn->next; - } - - xf86removeVideoAdaptor(XF86Config, node->data->video.video); - } -} - -/*ARGSUSED*/ -static void -NewVideoAdaptorCallback(Widget unused, XtPointer user_data, XtPointer call_data) -{ - TreeNode *parent, *node = (TreeNode*)user_data; - XF86ConfVideoAdaptorPtr video; - Arg args[1]; - char *label; - - XtSetArg(args[0], XtNstring, &label); - XtGetValues(node->data->video.text, args, 1); - if (*label == '\0') - return; - - parent = node->parent; - DeleteNode(node); - video = (XF86ConfVideoAdaptorPtr) - XtCalloc(1, sizeof(XF86ConfVideoAdaptorRec)); - video->va_identifier = XtNewString(label); - XF86Config->conf_videoadaptor_lst = - xf86addVideoAdaptor(XF86Config->conf_videoadaptor_lst, video); - - { - TreeNode *scrn = screenTree->child; - Widget sme; - - /* last one is the "new" entry */ - while (scrn && scrn->next) { - /* VideoAdaptor is the first entry */ - TreeNode *ad = scrn->child->child; - - while (ad && ad->next) - ad = ad->next; - - sme = XtCreateManagedWidget(video->va_identifier, - smeBSBObjectClass, - ad->data->adaptorlink.menu, NULL, 0); - XtAddCallback(sme, XtNcallback, NewScreenAdaptorCallback, - (XtPointer)ad); - - scrn = scrn->next; - } - } - - CreateVideoAdaptor(parent, video); - RelayoutTree(); -} - -static void -VideoAdaptorUpdate(TreeNode *node) -{ - char *str; - - /* vendor */ - XtVaGetValues(node->data->video.vendor, XtNstring, &str, NULL); - XtFree(node->data->video.video->va_vendor); - if (*str) - node->data->video.video->va_vendor = XtNewString(str); - else - node->data->video.video->va_vendor = NULL; - - /* board */ - XtVaGetValues(node->data->video.board, XtNstring, &str, NULL); - XtFree(node->data->video.video->va_board); - if (*str) - node->data->video.video->va_board = XtNewString(str); - else - node->data->video.video->va_board = NULL; - - /* busid */ - XtVaGetValues(node->data->video.busid, XtNstring, &str, NULL); - XtFree(node->data->video.video->va_busid); - if (*str) - node->data->video.video->va_busid = XtNewString(str); - else - node->data->video.video->va_busid = NULL; - - /* driver */ - XtVaGetValues(node->data->video.driver, XtNstring, &str, NULL); - XtFree(node->data->video.video->va_driver); - if (*str) - node->data->video.video->va_driver = XtNewString(str); - else - node->data->video.video->va_driver = NULL; -} - -static void -CreateVideoPort(TreeNode *parent, XF86ConfVideoPortPtr port) -{ - TreeNode *prev, *node; - TreeData *data; - - if ((prev = parent->child) != NULL) - while (prev->next) - prev = prev->next; - - while (port) { - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->port.port = port; - node = NewNode(parent, NULL, NULL, parent->node, data); - node->destroy = VideoPortDestroy; - CreateVideoPortField(node, False); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - port = (XF86ConfVideoPortPtr)(port->list.next); - } - - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - node = NewNode(parent, NULL, NULL, parent->node, data); - CreateVideoPortField(node, True); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; -} - -static void -CreateVideoPortField(TreeNode *node, Bool addnew) -{ - Widget box, command, label; - - box = XtVaCreateWidget("port", formWidgetClass, tree, - XtNtreeParent, node->treeParent, NULL); - node->node = box; - - if (!addnew) { - XF86OptionPtr *options; - XF86ConfVideoPortPtr port = node->data->port.port; - - options = &(port->vp_option_lst); - command = XtCreateManagedWidget("remove", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, DestroyCallback, (XtPointer)node); - command = XtCreateManagedWidget("options", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, OptionsCallback, (XtPointer)options); - label = XtVaCreateManagedWidget("label", labelWidgetClass, box, - XtNlabel, port->vp_identifier, NULL); - } - else { - command = XtCreateManagedWidget("new", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, NewVideoPortCallback, (XtPointer)node); - label = XtVaCreateManagedWidget("value", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - NULL); - node->data->port.text = label; - } - if (XtIsRealized(node->treeParent)) - XtRealizeWidget(box); - XtManageChild(box); -} - -/*ARGUSED*/ -static void -VideoPortDestroy(TreeNode *node) -{ - if (node->data->port.port) - xf86removeVideoPort(node->parent->parent->data->video.video, - node->data->port.port); -} - -/*ARGSUSED*/ -static void -NewVideoPortCallback(Widget unused, XtPointer user_data, XtPointer call_data) -{ - TreeNode *video, *node = (TreeNode*)user_data; - XF86ConfVideoPortPtr port; - Arg args[1]; - char *label; - - XtSetArg(args[0], XtNstring, &label); - XtGetValues(node->data->port.text, args, 1); - if (*label == '\0') - return; - - video = node->parent->parent; - DeleteNode(node); - port = (XF86ConfVideoPortPtr)XtCalloc(1, sizeof(XF86ConfVideoPortRec)); - port->vp_identifier = XtNewString(label); - video->data->video.video->va_port_lst = - xf86addVideoPort(video->data->video.video->va_port_lst, port); - - CreateVideoPort(video, port); - RelayoutTree(); -} - -/* Monitor */ -static void -CreateMonitor(TreeNode *parent, XF86ConfMonitorPtr mon) -{ - TreeNode *prev, *node; - TreeData *data; - - if ((prev = parent->child) != NULL) - while (prev->next) - prev = prev->next; - - while (mon) { - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->monitor.monitor = mon; - node = NewNode(parent, NULL, NULL, parent->node, data); - node->destroy = MonitorDestroy; - node->update = MonitorUpdate; - CreateMonitorField(node, False); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - mon = (XF86ConfMonitorPtr)(mon->list.next); - } - - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - node = NewNode(parent, NULL, NULL, parent->node, data); - CreateMonitorField(node, True); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; -} - -static void -CreateMonitorField(TreeNode *node, Bool addnew) -{ - Widget box, command, label; - - box = XtVaCreateWidget("monitor", formWidgetClass, tree, - XtNtreeParent, node->treeParent, NULL); - node->node = box; - - if (!addnew) { - char *str, buf[256]; - XF86OptionPtr *options; - XF86ConfMonitorPtr mon = node->data->monitor.monitor; - Widget useModes; - TreeNode *modeline, *modes, *prev; - - options = &(mon->mon_option_lst); - command = XtCreateManagedWidget("remove", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, DestroyCallback, (XtPointer)node); - command = XtCreateManagedWidget("options", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, OptionsCallback, (XtPointer)options); - label = XtVaCreateManagedWidget("label", labelWidgetClass, box, - XtNlabel, mon->mon_identifier, NULL); - - XtCreateManagedWidget("vendorL", labelWidgetClass, box, NULL, 0); - str = mon->mon_vendor ? mon->mon_vendor : ""; - node->data->monitor.vendor = - XtVaCreateManagedWidget("vendor", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, str, - NULL); - - XtCreateManagedWidget("modelnameL", labelWidgetClass, box, NULL, 0); - str = mon->mon_modelname ? mon->mon_modelname : ""; - node->data->monitor.model = - XtVaCreateManagedWidget("modelname", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, str, - NULL); - - XtCreateManagedWidget("widthL", labelWidgetClass, box, NULL, 0); - if (mon->mon_width) - XmuSnprintf(buf, sizeof(buf), "%d", mon->mon_width); - else - *buf = '\0'; - node->data->monitor.width = - XtVaCreateManagedWidget("width", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, - NULL); - - XtCreateManagedWidget("heightL", labelWidgetClass, box, NULL, 0); - if (mon->mon_height) - XmuSnprintf(buf, sizeof(buf), "%d", mon->mon_height); - else - *buf = '\0'; - node->data->monitor.height = - XtVaCreateManagedWidget("height", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, - NULL); - - XtCreateManagedWidget("hsyncL", labelWidgetClass, box, NULL, 0); - if (mon->mon_n_hsync > 0) - parser_range_to_string(buf, &(mon->mon_hsync[0]), - mon->mon_n_hsync); - else - *buf = '\0'; - node->data->monitor.hsync = - XtVaCreateManagedWidget("hsync", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, - NULL); - - XtCreateManagedWidget("vrefreshL", labelWidgetClass, box, NULL, 0); - if (mon->mon_n_vrefresh > 0) - parser_range_to_string(buf, &(mon->mon_vrefresh[0]), - mon->mon_n_vrefresh); - else - *buf = '\0'; - node->data->monitor.vrefresh = - XtVaCreateManagedWidget("vrefresh", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, - NULL); - - XtCreateManagedWidget("gammaRedL", labelWidgetClass, box, NULL, 0); - if (mon->mon_gamma_red) - XmuSnprintf(buf, sizeof(buf), "%g", mon->mon_gamma_red); - else - *buf = '\0'; - node->data->monitor.gammaRed = - XtVaCreateManagedWidget("gammaRed", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, - NULL); - - XtCreateManagedWidget("gammaGreenL", labelWidgetClass, box, NULL, 0); - if (mon->mon_gamma_green) - XmuSnprintf(buf, sizeof(buf), "%g", mon->mon_gamma_green); - else - *buf = '\0'; - node->data->monitor.gammaGreen = - XtVaCreateManagedWidget("gammaGreen", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, - NULL); - - XtCreateManagedWidget("gammaBlueL", labelWidgetClass, box, NULL, 0); - if (mon->mon_gamma_blue) - XmuSnprintf(buf, sizeof(buf), "%g", mon->mon_gamma_blue); - else - *buf = '\0'; - node->data->monitor.gammaBlue = - XtVaCreateManagedWidget("gammaBlue", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, - NULL); - - if ((prev = node->child) != NULL) - while (prev->next) - prev = prev->next; - command = XtVaCreateManagedWidget("ModeLine", toggleWidgetClass, tree, - XtNstate, True, - XtNtreeParent, box, NULL); - modeline = NewNode(node, command, command, node->node, NULL); - CreateMonitorModeLine(modeline, - node->data->monitor.monitor->mon_modeline_lst); - if (prev == NULL) - prev = node->child = modeline; - else { - prev->next = modeline; - prev = prev->next; - } - - useModes = XtVaCreateManagedWidget("UseModes", toggleWidgetClass, tree, - XtNstate, True, - XtNtreeParent, box, NULL); - prev->next = modes = NewNode(node, useModes, useModes, node->node, NULL); - CreateMonitorModes(modes, - node->data->monitor.monitor->mon_modes_sect_lst); - } - else { - command = XtCreateManagedWidget("new", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, NewMonitorCallback, (XtPointer)node); - label = XtVaCreateManagedWidget("value", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - NULL); - node->data->monitor.text = label; - } - if (XtIsRealized(node->treeParent)) - XtRealizeWidget(box); - XtManageChild(box); -} - -static void -MonitorDestroy(TreeNode *node) -{ - int i; - TreeNode *sc = screenTree; - - for (i = 0; i < computer.num_devices; i++) - if ((XF86ConfMonitorPtr)(computer.devices[i]->config) == - node->data->monitor.monitor) { - config = computer.devices[i]->widget; - RemoveDeviceCallback(NULL, NULL, NULL); - } - - if (sc) { - TreeNode *prev; - - sc = prev = sc->child; - while (sc->next) { - TreeNode *next = sc->next; - - if (sc->data->screen.screen->scrn_monitor == - node->data->monitor.monitor) { - XtDestroyWidget(sc->node); - - if (sc->child) - DestroyTree(sc->child); - if (sc->data) - XtFree((XtPointer)sc->data); - XtFree((XtPointer)sc); - - if (sc == screenTree->child) - sc = prev = next = screenTree->child = next; - else - prev->next = sc = next; - continue; - } - prev = sc; - sc = next; - } - } -} - -static void -NewMonitorCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - TreeNode *parent, *node = (TreeNode*)user_data; - XF86ConfMonitorPtr mon; - Arg args[1]; - char *label; - - XtSetArg(args[0], XtNstring, &label); - XtGetValues(node->data->monitor.text, args, 1); - if (*label == '\0') - return; - - parent = node->parent; - DeleteNode(node); - mon = (XF86ConfMonitorPtr)XtCalloc(1, sizeof(XF86ConfMonitorRec)); - mon->mon_identifier = XtNewString(label); - XF86Config->conf_monitor_lst = - xf86addMonitor(XF86Config->conf_monitor_lst, mon); - - CreateMonitor(parent, mon); - - RelayoutTree(); -} - -static void -MonitorUpdate(TreeNode *node) -{ - char *str; - - /* vendor */ - XtVaGetValues(node->data->monitor.vendor, XtNstring, &str, NULL); - XtFree(node->data->monitor.monitor->mon_vendor); - if (*str) - node->data->monitor.monitor->mon_vendor = XtNewString(str); - else - node->data->monitor.monitor->mon_vendor = NULL; - - /* model */ - XtVaGetValues(node->data->monitor.model, XtNstring, &str, NULL); - XtFree(node->data->monitor.monitor->mon_modelname); - if (*str) - node->data->monitor.monitor->mon_modelname = XtNewString(str); - else - node->data->monitor.monitor->mon_modelname = NULL; - - /* width */ - XtVaGetValues(node->data->monitor.width, XtNstring, &str, NULL); - node->data->monitor.monitor->mon_width = strtoul(str, NULL, 0); - - /* height */ - XtVaGetValues(node->data->monitor.height, XtNstring, &str, NULL); - node->data->monitor.monitor->mon_height = strtoul(str, NULL, 0); - - /* hsync */ - XtVaGetValues(node->data->monitor.hsync, XtNstring, &str, NULL); - node->data->monitor.monitor->mon_n_hsync = - string_to_parser_range(str, - &(node->data->monitor.monitor->mon_hsync[0]), - CONF_MAX_HSYNC); - - /* vrefresh */ - XtVaGetValues(node->data->monitor.vrefresh, XtNstring, &str, NULL); - node->data->monitor.monitor->mon_n_vrefresh = - string_to_parser_range(str, - &(node->data->monitor.monitor->mon_vrefresh[0]), - CONF_MAX_VREFRESH); - - /* gammaRed */ - XtVaGetValues(node->data->monitor.gammaRed, XtNstring, &str, NULL); - node->data->monitor.monitor->mon_gamma_red = strtod(str, NULL); - - /* gammaGreen */ - XtVaGetValues(node->data->monitor.gammaGreen, XtNstring, &str, NULL); - node->data->monitor.monitor->mon_gamma_green = strtod(str, NULL); - - /* gammaBlue */ - XtVaGetValues(node->data->monitor.gammaBlue, XtNstring, &str, NULL); - node->data->monitor.monitor->mon_gamma_blue = strtod(str, NULL); -} - -static void -CreateMonitorModeLine(TreeNode *parent, XF86ConfModeLinePtr modeline) -{ - TreeNode *node, *prev; - TreeData *data; - - if ((prev = parent->child) != NULL) - while (prev->next) - prev = prev->next; - - while (modeline) { - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->modeline.modeline = modeline; - node = NewNode(parent, NULL, NULL, parent->node, data); - node->destroy = MonitorModeLineDestroy; - CreateModeLineField(node, False, True); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - modeline = (XF86ConfModeLinePtr)(modeline->list.next); - } - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - node = NewNode(parent, NULL, NULL, parent->node, data); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - CreateModeLineField(node, True, True); -} - -/*ARGUSED*/ -static void -MonitorModeLineDestroy(TreeNode *node) -{ - if (node->data->modeline.modeline) - xf86removeMonitorModeLine(node->parent->parent->data->monitor.monitor, - node->data->modeline.modeline); -} - -/*ARGSUSED*/ -static void -NewMonitorModeLineCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - TreeNode *parent, *node = (TreeNode*)user_data; - XF86ConfModeLinePtr modeline; - Arg args[1]; - char *ident, *value; - - XtSetArg(args[0], XtNstring, &ident); - XtGetValues(node->data->modeline.text, args, 1); - XtSetArg(args[0], XtNstring, &value); - XtGetValues(node->data->modeline.value, args, 1); - if (*ident == '\0' || *value == '\0') - return; - - parent = node->parent; - DeleteNode(node); - modeline = ParseModeLine(ident, value); - parent->parent->data->monitor.monitor->mon_modeline_lst = - xf86addModeLine(parent->parent->data->monitor.monitor->mon_modeline_lst, - modeline); - - CreateMonitorModeLine(parent, modeline); - RelayoutTree(); -} - -static void -CreateMonitorModes(TreeNode *parent, XF86ConfModesLinkPtr lnk) -{ - TreeNode *node, *prev; - TreeData *data; - - if ((prev = parent->child) != NULL) - while (prev->next) - prev = prev->next; - - while (lnk) { - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->modeslink.modeslink = lnk; - node = NewNode(parent, NULL, NULL, parent->node, data); - node->destroy = MonitorModesLinkDestroy; - CreateMonitorModesField(node, False); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - lnk = (XF86ConfModesLinkPtr)(lnk->list.next); - } - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - node = NewNode(parent, NULL, NULL, parent->node, data); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - CreateMonitorModesField(node, True); -} - -static void -CreateMonitorModesField(TreeNode *node, Bool addnew) -{ - Widget box, command; - - box = XtVaCreateWidget("modes", formWidgetClass, tree, - XtNtreeParent, node->treeParent, NULL); - node->node = box; - - if (!addnew) { - XF86ConfModesLinkPtr lnk = node->data->modeslink.modeslink; - - command = XtCreateManagedWidget("remove", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, DestroyCallback, (XtPointer)node); - (void) XtVaCreateManagedWidget("mode", labelWidgetClass, box, - XtNlabel, lnk->ml_modes_str, NULL); - } - else { - Widget sme; - XF86ConfModesPtr ptr = XF86Config->conf_modes_lst; - - command = XtVaCreateManagedWidget("new", menuButtonWidgetClass, box, - XtNmenuName, "modesMenu", NULL); - node->data->modeslink.menu = - XtVaCreatePopupShell("modesMenu", simpleMenuWidgetClass, box, - XtNleftMargin, 1, XtNrightMargin, 1, - XtNtopMargin, 1, XtNbottomMargin, 1, - NULL); - while (ptr) { - sme = XtCreateManagedWidget(ptr->modes_identifier, smeBSBObjectClass, - node->data->modeslink.menu, NULL, 0); - XtAddCallback(sme, XtNcallback, NewMonitorModesCallback, - (XtPointer)node); - ptr = (XF86ConfModesPtr)(ptr->list.next); - } - } - if (XtIsRealized(node->treeParent)) - XtRealizeWidget(box); - XtManageChild(box); -} - -/*ARGUSED*/ -static void -MonitorModesLinkDestroy(TreeNode *node) -{ - if (node->data->modeslink.modeslink) - xf86removeMonitorModesLink(node->parent->parent->data->monitor.monitor, - node->data->modeslink.modeslink); -} - -/*ARGSUSED*/ -static void -NewMonitorModesCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - TreeNode *parent, *node = (TreeNode*)user_data; - XF86ConfModesLinkPtr link; - char *ident = XtName(w); - - parent = node->parent; - DeleteNode(node); - link = (XF86ConfModesLinkPtr)XtCalloc(1, sizeof(XF86ConfModesLinkRec)); - link->ml_modes_str = XtNewString(ident); - parent->parent->data->monitor.monitor->mon_modes_sect_lst = - xf86addModesLink(parent->parent->data->monitor.monitor->mon_modes_sect_lst, - link); - - CreateMonitorModes(parent, link); - RelayoutTree(); -} - -/* Device */ -static void -CreateDevice(TreeNode *parent, XF86ConfDevicePtr dev) -{ - TreeNode *prev, *node; - TreeData *data; - - if ((prev = parent->child) != NULL) - while (prev->next) - prev = prev->next; - - while (dev) { - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->device.device = dev; - node = NewNode(parent, NULL, NULL, parent->node, data); - node->destroy = DeviceDestroy; - node->update = DeviceUpdate; - CreateDeviceField(node, False); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - dev = (XF86ConfDevicePtr)(dev->list.next); - } - - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - node = NewNode(parent, NULL, NULL, parent->node, data); - CreateDeviceField(node, True); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; -} - -static void -CreateDeviceField(TreeNode *node, Bool addnew) -{ - Widget box, command, label; - - box = XtVaCreateWidget("device", formWidgetClass, tree, - XtNtreeParent, node->treeParent, NULL); - node->node = box; - - if (!addnew) { - int i, tmp, len; - char buf[1024], *str; - XF86OptionPtr *options; - XF86ConfDevicePtr dev = node->data->device.device; - - options = &(dev->dev_option_lst); - command = XtCreateManagedWidget("remove", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, DestroyCallback, (XtPointer)node); - command = XtCreateManagedWidget("options", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, OptionsCallback, (XtPointer)options); - label = XtVaCreateManagedWidget("label", labelWidgetClass, box, - XtNlabel, dev->dev_identifier, NULL); - - XtCreateManagedWidget("vendorL", labelWidgetClass, box, NULL, 0); - str = dev->dev_vendor ? dev->dev_vendor : ""; - node->data->device.vendor = - XtVaCreateManagedWidget("vendor", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, str, - NULL); - - XtCreateManagedWidget("boardL", labelWidgetClass, box, NULL, 0); - str = dev->dev_board ? dev->dev_board : ""; - node->data->device.board = - XtVaCreateManagedWidget("board", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, str, - NULL); - - XtCreateManagedWidget("chipsetL", labelWidgetClass, box, NULL, 0); - str = dev->dev_chipset ? dev->dev_chipset : ""; - node->data->device.chipset = - XtVaCreateManagedWidget("chipset", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, str, - NULL); - - XtCreateManagedWidget("busidL", labelWidgetClass, box, NULL, 0); - str = dev->dev_busid ? dev->dev_busid : ""; - node->data->device.busid = - XtVaCreateManagedWidget("busid", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, str, - NULL); - - XtCreateManagedWidget("cardL", labelWidgetClass, box, NULL, 0); - str = dev->dev_card ? dev->dev_card : ""; - node->data->device.card = - XtVaCreateManagedWidget("card", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, str, - NULL); - - XtCreateManagedWidget("driverL", labelWidgetClass, box, NULL, 0); - str = dev->dev_driver ? dev->dev_driver : ""; - node->data->device.driver = - XtVaCreateManagedWidget("driver", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, str, - NULL); - - XtCreateManagedWidget("ramdacL", labelWidgetClass, box, NULL, 0); - str = dev->dev_ramdac ? dev->dev_ramdac : ""; - node->data->device.ramdac = - XtVaCreateManagedWidget("ramdac", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, str, - NULL); - - XtCreateManagedWidget("dacSpeedL", labelWidgetClass, box, NULL, 0); - if (dev->dev_dacSpeeds[0] > 0) { - for (i = len = 0; i < CONF_MAXDACSPEEDS && - dev->dev_dacSpeeds[i] > 0; i++) { - tmp = XmuSnprintf(buf + len, sizeof(buf) - len, "%g ", - dev->dev_dacSpeeds[i] / 1000.); - len += tmp; - } - } - else - *buf = '\0'; - node->data->device.dacSpeed = - XtVaCreateManagedWidget("dacSpeed", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, - NULL); - - XtCreateManagedWidget("videoRamL", labelWidgetClass, box, NULL, 0); - if (dev->dev_videoram) - XmuSnprintf(buf, sizeof(buf), "%d", dev->dev_videoram); - else - *buf = '\0'; - node->data->device.videoRam = - XtVaCreateManagedWidget("videoRam", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, - NULL); - - XtCreateManagedWidget("textClockFreqL", labelWidgetClass, box, NULL, 0); - if (dev->dev_textclockfreq) - XmuSnprintf(buf, sizeof(buf), "%.1f", - (double)dev->dev_textclockfreq / 1000.0); - else - *buf = '\0'; - node->data->device.textClockFreq = - XtVaCreateManagedWidget("textClockFreq", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, - NULL); - - XtCreateManagedWidget("biosBaseL", labelWidgetClass, box, NULL, 0); - if (dev->dev_bios_base) - XmuSnprintf(buf, sizeof(buf), "0x%lx", dev->dev_bios_base); - else - *buf = '\0'; - node->data->device.biosBase = - XtVaCreateManagedWidget("biosBase", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, - NULL); - - XtCreateManagedWidget("memBaseL", labelWidgetClass, box, NULL, 0); - if (dev->dev_mem_base) - XmuSnprintf(buf, sizeof(buf), "0x%lx", dev->dev_mem_base); - else - *buf = '\0'; - node->data->device.memBase = - XtVaCreateManagedWidget("memBase", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, - NULL); - - XtCreateManagedWidget("ioBaseL", labelWidgetClass, box, NULL, 0); - if (dev->dev_io_base) - XmuSnprintf(buf, sizeof(buf), "0x%lx", dev->dev_io_base); - else - *buf = '\0'; - node->data->device.ioBase = - XtVaCreateManagedWidget("ioBase", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, - NULL); - - XtCreateManagedWidget("clockChipL", labelWidgetClass, box, NULL, 0); - str = dev->dev_clockchip ? dev->dev_clockchip : ""; - node->data->device.clockChip = - XtVaCreateManagedWidget("clockChip", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, str, - NULL); - - *buf = '\0'; - for (i = len = 0; i < dev->dev_clocks; i++) { - tmp = XmuSnprintf(buf + len, sizeof(buf) - len, "%.1f ", - (double)dev->dev_clock[i] / 1000.0); - len += tmp; - } - XtCreateManagedWidget("devClockL", labelWidgetClass, box, NULL, 0); - node->data->device.devClock = - XtVaCreateManagedWidget("devClock", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, - NULL); - - XtCreateManagedWidget("chipIdL", labelWidgetClass, box, NULL, 0); - if (dev->dev_chipid != -1) - XmuSnprintf(buf, sizeof(buf), "0x%x", dev->dev_chipid); - else - *buf = '\0'; - node->data->device.chipId = - XtVaCreateManagedWidget("chipId", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, - NULL); - - XtCreateManagedWidget("chipRevL", labelWidgetClass, box, NULL, 0); - if (dev->dev_chiprev != -1) - XmuSnprintf(buf, sizeof(buf), "0x%x", dev->dev_chiprev); - else - *buf = '\0'; - node->data->device.chipRev = - XtVaCreateManagedWidget("chipRev", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, - NULL); - - XtCreateManagedWidget("irqL", labelWidgetClass, box, NULL, 0); - if (dev->dev_irq != -1) - XmuSnprintf(buf, sizeof(buf), "%d", dev->dev_irq); - else - *buf = '\0'; - node->data->device.irq = - XtVaCreateManagedWidget("irq", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, - NULL); - - XtCreateManagedWidget("screenL", labelWidgetClass, box, NULL, 0); - if (dev->dev_screen > 0) - XmuSnprintf(buf, sizeof(buf), "%d", dev->dev_screen); - else - *buf = '\0'; - node->data->device.screen = - XtVaCreateManagedWidget("screen", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, - NULL); - } - else { - command = XtCreateManagedWidget("new", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, NewDeviceCallback, (XtPointer)node); - label = XtVaCreateManagedWidget("value", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - NULL); - node->data->device.text = label; - } - if (XtIsRealized(node->treeParent)) - XtRealizeWidget(box); - XtManageChild(box); -} - -static void -NewDeviceCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - TreeNode *parent, *node = (TreeNode*)user_data; - XF86ConfDevicePtr dev; - Arg args[1]; - char *label; - - XtSetArg(args[0], XtNstring, &label); - XtGetValues(node->data->device.text, args, 1); - if (*label == '\0') - return; - - parent = node->parent; - DeleteNode(node); - dev = (XF86ConfDevicePtr)XtCalloc(1, sizeof(XF86ConfDeviceRec)); - dev->dev_identifier = XtNewString(label); - dev->dev_chipid = -1; - dev->dev_chiprev = -1; - dev->dev_irq = -1; - - XF86Config->conf_device_lst = - xf86addDevice(XF86Config->conf_device_lst, dev); - - CreateDevice(parent, dev); - - RelayoutTree(); -} - -static void -DeviceDestroy(TreeNode *node) -{ - int i; - TreeNode *sc = screenTree; - - for (i = 0; i < computer.num_devices; i++) - if ((XF86ConfDevicePtr)(computer.devices[i]->config) == - node->data->device.device) { - config = computer.devices[i]->widget; - RemoveDeviceCallback(NULL, NULL, NULL); - } - - if (sc) { - TreeNode *prev; - - sc = prev = sc->child; - while (sc->next) { - TreeNode *next = sc->next; - - if (sc->data->screen.screen->scrn_monitor == - node->data->monitor.monitor) { - XtDestroyWidget(sc->node); - - if (sc->child) - DestroyTree(sc->child); - if (sc->data) - XtFree((XtPointer)sc->data); - XtFree((XtPointer)sc); - - if (sc == screenTree->child) - sc = prev = next = screenTree->child = next; - else - prev->next = sc = next; - continue; - } - prev = sc; - sc = next; - } - } -} - -static void -DeviceUpdate(TreeNode *node) -{ - int i; - char *str, *tmp; - - /* vendor */ - XtVaGetValues(node->data->device.vendor, XtNstring, &str, NULL); - XtFree(node->data->device.device->dev_vendor); - if (*str) - node->data->device.device->dev_vendor = XtNewString(str); - else - node->data->device.device->dev_vendor = NULL; - - /* board */ - XtVaGetValues(node->data->device.board, XtNstring, &str, NULL); - XtFree(node->data->device.device->dev_board); - if (*str) - node->data->device.device->dev_board = XtNewString(str); - else - node->data->device.device->dev_board = NULL; - - /* chipset */ - XtVaGetValues(node->data->device.chipset, XtNstring, &str, NULL); - XtFree(node->data->device.device->dev_chipset); - if (*str) - node->data->device.device->dev_chipset = XtNewString(str); - else - node->data->device.device->dev_chipset = NULL; - - /* busid */ - XtVaGetValues(node->data->device.busid, XtNstring, &str, NULL); - XtFree(node->data->device.device->dev_busid); - if (*str) - node->data->device.device->dev_busid = XtNewString(str); - else - node->data->device.device->dev_busid = NULL; - - /* card */ - XtVaGetValues(node->data->device.card, XtNstring, &str, NULL); - XtFree(node->data->device.device->dev_card); - if (*str) - node->data->device.device->dev_card = XtNewString(str); - else - node->data->device.device->dev_card = NULL; - - /* driver */ - XtVaGetValues(node->data->device.driver, XtNstring, &str, NULL); - XtFree(node->data->device.device->dev_driver); - if (*str) - node->data->device.device->dev_driver = XtNewString(str); - else - node->data->device.device->dev_driver = NULL; - - /* ramdac */ - XtVaGetValues(node->data->device.ramdac, XtNstring, &str, NULL); - XtFree(node->data->device.device->dev_ramdac); - if (*str) - node->data->device.device->dev_ramdac = XtNewString(str); - else - node->data->device.device->dev_ramdac = NULL; - - /* dacSpeed */ - tmp = NULL; - XtVaGetValues(node->data->device.dacSpeed, XtNstring, &str, NULL); - for (i = 0; i < CONF_MAXDACSPEEDS && str != tmp; i++) { - if ((node->data->device.device->dev_dacSpeeds[i] = - (strtod(str, &tmp) * 1000. + .5)) == 0) - break; - str = tmp; - while (isspace(*str)) - ++str; - } - - /* videoRam */ - XtVaGetValues(node->data->device.videoRam, XtNstring, &str, NULL); - node->data->device.device->dev_videoram = strtoul(str, NULL, 0); - - /* textClockFreq */ - XtVaGetValues(node->data->device.textClockFreq, XtNstring, &str, NULL); - node->data->device.device->dev_textclockfreq = - strtod(str, NULL) * 1000. + .5; - - /* biosBase */ - XtVaGetValues(node->data->device.biosBase, XtNstring, &str, NULL); - node->data->device.device->dev_bios_base = strtoul(str, NULL, 0); - - /* memBase */ - XtVaGetValues(node->data->device.memBase, XtNstring, &str, NULL); - node->data->device.device->dev_mem_base = strtoul(str, NULL, 0); - - /* ioBase */ - XtVaGetValues(node->data->device.ioBase, XtNstring, &str, NULL); - node->data->device.device->dev_io_base = strtoul(str, NULL, 0); - - /* clockChip */ - XtVaGetValues(node->data->device.clockChip, XtNstring, &str, NULL); - XtFree(node->data->device.device->dev_clockchip); - if (*str) - node->data->device.device->dev_clockchip = XtNewString(str); - else - node->data->device.device->dev_clockchip = NULL; - - /* devSpeed */ - tmp = NULL; - XtVaGetValues(node->data->device.devClock, XtNstring, &str, NULL); - for (i = 0; i < CONF_MAXCLOCKS && str != tmp; i++) { - if ((node->data->device.device->dev_clock[i] = - (strtod(str, &tmp) * 1000. + .5)) == 0) - break; - str = tmp; - while (isspace(*str)) - ++str; - } - node->data->device.device->dev_clocks = i; - - /* chipId */ - XtVaGetValues(node->data->device.chipId, XtNstring, &str, NULL); - if (*str) - node->data->device.device->dev_chipid = strtoul(str, NULL, 0); - else - node->data->device.device->dev_chipid = -1; - - /* chipRev */ - XtVaGetValues(node->data->device.chipRev, XtNstring, &str, NULL); - if (*str) - node->data->device.device->dev_chiprev = strtoul(str, NULL, 0); - else - node->data->device.device->dev_chiprev = -1; - - /* irq */ - XtVaGetValues(node->data->device.irq, XtNstring, &str, NULL); - if (*str) - node->data->device.device->dev_irq = strtoul(str, NULL, 0); - else - node->data->device.device->dev_irq = -1; - - /* screen */ - XtVaGetValues(node->data->device.screen, XtNstring, &str, NULL); - if (*str) - node->data->device.device->dev_screen = strtoul(str, NULL, 0); - else - node->data->device.device->dev_screen = -1; -} - -/* Screen */ -static void -CreateScreen(TreeNode *parent, XF86ConfScreenPtr scrn) -{ - TreeNode *prev, *node; - TreeData *data; - - if ((prev = parent->child) != NULL) - while (prev->next) - prev = prev->next; - - while (scrn) { - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->screen.screen = scrn; - node = NewNode(parent, NULL, NULL, parent->node, data); - node->destroy = ScreenDestroy; - node->update = ScreenUpdate; - CreateScreenField(node, False); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - scrn = (XF86ConfScreenPtr)(scrn->list.next); - } - - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - node = NewNode(parent, NULL, NULL, parent->node, data); - CreateScreenField(node, True); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; -} - -static void -CreateScreenField(TreeNode *node, Bool addnew) -{ - Widget box, command, label; - - box = XtVaCreateWidget("screen", formWidgetClass, tree, - XtNtreeParent, node->treeParent, NULL); - node->node = box; - - if (!addnew) { - char buf[256], *str; - XF86OptionPtr *options; - TreeNode *adaptor, *display; - XF86ConfScreenPtr scrn = node->data->screen.screen; - - options = &(scrn->scrn_option_lst); - command = XtCreateManagedWidget("remove", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, DestroyCallback, (XtPointer)node); - command = XtCreateManagedWidget("options", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, OptionsCallback, (XtPointer)options); - label = XtVaCreateManagedWidget("label", labelWidgetClass, box, - XtNlabel, scrn->scrn_identifier, NULL); - - XtCreateManagedWidget("defaultDepthL", labelWidgetClass, box, NULL, 0); - if (scrn->scrn_defaultdepth) - XmuSnprintf(buf, sizeof(buf), "%d", scrn->scrn_defaultdepth); - else - *buf = '\0'; - node->data->screen.defaultDepth = - XtVaCreateManagedWidget("defaultDepth", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, - NULL); - - XtCreateManagedWidget("defaultBppL", labelWidgetClass, box, NULL, 0); - if (scrn->scrn_defaultbpp) - XmuSnprintf(buf, sizeof(buf), "%d", scrn->scrn_defaultbpp); - else - *buf = '\0'; - node->data->screen.defaultBpp = - XtVaCreateManagedWidget("defaultBpp", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, - NULL); - - XtCreateManagedWidget("defaultFbBppL", labelWidgetClass, box, NULL, 0); - if (scrn->scrn_defaultfbbpp) - XmuSnprintf(buf, sizeof(buf), "%d", scrn->scrn_defaultfbbpp); - else - *buf = '\0'; - node->data->screen.defaultFbBpp = - XtVaCreateManagedWidget("defaultFbBpp", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, - NULL); - - XtCreateManagedWidget("monitorL", labelWidgetClass, box, NULL, 0); - str = scrn->scrn_monitor_str ? scrn->scrn_monitor_str : ""; - node->data->screen.monitor = - XtVaCreateManagedWidget("monitor", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, str, - NULL); - - XtCreateManagedWidget("deviceL", labelWidgetClass, box, NULL, 0); - str = scrn->scrn_device_str ? scrn->scrn_device_str : ""; - node->data->screen.device = - XtVaCreateManagedWidget("device", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, str, - NULL); - - command = XtVaCreateManagedWidget("videoAdaptor", toggleWidgetClass, - tree, XtNstate, True, - XtNtreeParent, box, NULL); - adaptor = NewNode(node, command, command, node->node, NULL); - CreateScreenAdaptor(adaptor, scrn->scrn_adaptor_lst); - node->child = adaptor; - - command = XtVaCreateManagedWidget("Display", toggleWidgetClass, - tree, XtNstate, True, - XtNtreeParent, box, NULL); - display = NewNode(node, command, command, node->node, NULL); - CreateScreenDisplay(display, scrn->scrn_display_lst); - adaptor->next = display; - } - else { - command = XtCreateManagedWidget("new", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, NewScreenCallback, (XtPointer)node); - label = XtVaCreateManagedWidget("value", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - NULL); - node->data->screen.text = label; - } - if (XtIsRealized(node->treeParent)) - XtRealizeWidget(box); - XtManageChild(box); -} - -static void -NewScreenCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - TreeNode *parent, *node = (TreeNode*)user_data; - XF86ConfScreenPtr scrn; - Arg args[1]; - char *label; - - XtSetArg(args[0], XtNstring, &label); - XtGetValues(node->data->screen.text, args, 1); - if (*label == '\0') - return; - - parent = node->parent; - DeleteNode(node); - scrn = (XF86ConfScreenPtr)XtCalloc(1, sizeof(XF86ConfScreenRec)); - scrn->scrn_identifier = XtNewString(label); - XF86Config->conf_screen_lst = - xf86addScreen(XF86Config->conf_screen_lst, scrn); - - { - TreeNode *lay = layoutTree->child; - Widget sme; - - /* last one is the "new" entry */ - while (lay && lay->next != NULL) { - /* Adjacency is the first entry */ - TreeNode *adj = lay->child->child; - - while (adj != NULL) { - sme = XtCreateManagedWidget(label, smeBSBObjectClass, - adj->data->adjacency.menu, NULL, 0); - XtAddCallback(sme, XtNcallback, adj->next != NULL ? - AdjacencyMenuCallback : NewAdjacencyCallback, - (XtPointer)adj); - adj = adj->next; - } - lay = lay->next; - } - } - - CreateScreen(parent, scrn); - - RelayoutTree(); -} - -static void -ScreenDestroy(TreeNode *node) -{ - if (node->data->screen.screen) { - int i; - TreeNode *lay = layoutTree->child; - - /* last one is the "new" entry */ - while (lay && lay->next) { - /* Adjacency is the first entry */ - TreeNode *adj = lay->child->child; - CompositeWidget composite; - - while (adj) { - TreeNode *next = adj->next; - - composite = (CompositeWidget)adj->data->adjacency.menu; - - for (i = 0; i < composite->composite.num_children; ++i) - if (strcmp(XtName(composite->composite.children[i]), - node->data->screen.screen->scrn_identifier) == 0) { - XtDestroyWidget(composite->composite.children[i]); - break; - } - - if (adj->data->adjacency.screen == node->data->screen.screen) - DeleteNode(adj); - - adj = next; - } - - lay = lay->next; - } - - for (i = 0; i < computer.num_screens; i++) - if (computer.screens[i]->screen == node->data->screen.screen) { - config = computer.screens[i]->widget; - RemoveDeviceCallback(NULL, NULL, NULL); - } - - /* for the case of screens added and removed in the expert dialog */ - xf86removeScreen(XF86Config, node->data->screen.screen); - } -} - -static void -ScreenUpdate(TreeNode *node) -{ - char *str; - - /* defautDepth */ - XtVaGetValues(node->data->screen.defaultDepth, XtNstring, &str, NULL); - node->data->screen.screen->scrn_defaultdepth = strtoul(str, NULL, 0); - - /* defautBpp */ - XtVaGetValues(node->data->screen.defaultBpp, XtNstring, &str, NULL); - node->data->screen.screen->scrn_defaultbpp = strtoul(str, NULL, 0); - - /* defautFbBpp */ - XtVaGetValues(node->data->screen.defaultFbBpp, XtNstring, &str, NULL); - node->data->screen.screen->scrn_defaultfbbpp = strtoul(str, NULL, 0); - - - /* XXX Monitor and Device should be changed to a menu interface */ - /* monitor */ - XtVaGetValues(node->data->screen.monitor, XtNstring, &str, NULL); - XtFree(node->data->screen.screen->scrn_monitor_str); - if (*str) - node->data->screen.screen->scrn_monitor_str = XtNewString(str); - else - node->data->screen.screen->scrn_monitor_str = NULL; - - /* XXX Monitor and Device should be changed to a menu interface */ - /* device */ - XtVaGetValues(node->data->screen.device, XtNstring, &str, NULL); - XtFree(node->data->screen.screen->scrn_device_str); - if (*str) - node->data->screen.screen->scrn_device_str = XtNewString(str); - else - node->data->screen.screen->scrn_device_str = NULL; -} - -static void -CreateScreenAdaptor(TreeNode *parent, XF86ConfAdaptorLinkPtr lnk) -{ - TreeNode *node, *prev; - TreeData *data; - - if ((prev = parent->child) != NULL) - while (prev->next) - prev = prev->next; - - while (lnk) { - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->adaptorlink.adaptorlink = lnk; - node = NewNode(parent, NULL, NULL, parent->node, data); - node->destroy = ScreenAdaptorDestroy; - CreateScreenAdaptorField(node, False); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - lnk = (XF86ConfAdaptorLinkPtr)(lnk->list.next); - } - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - node = NewNode(parent, NULL, NULL, parent->node, data); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - CreateScreenAdaptorField(node, True); -} - -static void -CreateScreenAdaptorField(TreeNode *node, Bool addnew) -{ - Widget box, command; - - box = XtVaCreateWidget("adaptor", formWidgetClass, tree, - XtNtreeParent, node->treeParent, NULL); - node->node = box; - - if (!addnew) { - XF86ConfAdaptorLinkPtr lnk = node->data->adaptorlink.adaptorlink; - - command = XtCreateManagedWidget("remove", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, DestroyCallback, (XtPointer)node); - (void) XtVaCreateManagedWidget("label", labelWidgetClass, box, - XtNlabel, lnk->al_adaptor_str, NULL); - } - else { - Widget sme; - XF86ConfVideoAdaptorPtr ptr = XF86Config->conf_videoadaptor_lst; - - command = XtVaCreateManagedWidget("new", menuButtonWidgetClass, box, - XtNmenuName, "adaptorMenu", NULL); - node->data->adaptorlink.menu = - XtVaCreatePopupShell("adaptorMenu", simpleMenuWidgetClass, box, - XtNleftMargin, 1, XtNrightMargin, 1, - XtNtopMargin, 1, XtNbottomMargin, 1, - NULL); - while (ptr) { - sme = XtCreateManagedWidget(ptr->va_identifier, smeBSBObjectClass, - node->data->adaptorlink.menu, NULL, 0); - XtAddCallback(sme, XtNcallback, NewScreenAdaptorCallback, - (XtPointer)node); - ptr = (XF86ConfVideoAdaptorPtr)(ptr->list.next); - } - } - if (XtIsRealized(node->treeParent)) - XtRealizeWidget(box); - XtManageChild(box); -} - -/*ARGSUSED*/ -static void -NewScreenAdaptorCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - TreeNode *parent, *node = (TreeNode*)user_data; - XF86ConfAdaptorLinkPtr link; - char *ident = XtName(w); - - parent = node->parent; - DeleteNode(node); - link = (XF86ConfAdaptorLinkPtr)XtCalloc(1, sizeof(XF86ConfAdaptorLinkRec)); - link->al_adaptor_str = XtNewString(ident); - parent->parent->data->screen.screen->scrn_adaptor_lst = - xf86addScreenAdaptor(parent->parent->data->screen.screen->scrn_adaptor_lst, - link); - - CreateScreenAdaptor(parent, link); - RelayoutTree(); -} - -/*ARGUSED*/ -static void -ScreenAdaptorDestroy(TreeNode *node) -{ - if (node->data->adaptorlink.adaptorlink) - xf86removeScreenAdaptorLink(node->parent->parent->data->screen.screen, - node->data->adaptorlink.adaptorlink); -} - -static void -CreateScreenDisplay(TreeNode *parent, XF86ConfDisplayPtr dsp) -{ - TreeNode *node, *prev; - TreeData *data; - - if ((prev = parent->child) != NULL) - while (prev->next) - prev = prev->next; - - while (dsp) { - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->display.display = dsp; - node = NewNode(parent, NULL, NULL, parent->node, data); - node->destroy = ScreenDisplayDestroy; - node->update = ScreenDisplayUpdate; - CreateScreenDisplayField(node, False); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - dsp = (XF86ConfDisplayPtr)(dsp->list.next); - } - node = NewNode(parent, NULL, NULL, parent->node, NULL); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - CreateScreenDisplayField(node, True); -} - -static void -CreateScreenDisplayField(TreeNode *node, Bool addnew) -{ - Widget box, command; - - box = XtVaCreateWidget("display", formWidgetClass, tree, - XtNtreeParent, node->treeParent, NULL); - node->node = box; - - if (!addnew) { - char *str, buf[256]; - XF86OptionPtr *options; - XF86ConfDisplayPtr dsp = node->data->display.display; - TreeNode *modes; - - command = XtCreateManagedWidget("remove", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, DestroyCallback, (XtPointer)node); - options = &(dsp->disp_option_lst); - command = XtCreateManagedWidget("options", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, OptionsCallback, (XtPointer)options); - - XtCreateManagedWidget("viewportL", labelWidgetClass, box, NULL, 0); - if (dsp->disp_frameX0 != 0 || dsp->disp_frameY0 != 0) - XmuSnprintf(buf, sizeof(buf), "%d %d", dsp->disp_frameX0, dsp->disp_frameY0); - else - *buf = '\0'; - node->data->display.viewport = - XtVaCreateManagedWidget("viewport", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, NULL); - - XtCreateManagedWidget("virtualL", labelWidgetClass, box, NULL, 0); - if (dsp->disp_virtualX != 0 || dsp->disp_virtualY != 0) - XmuSnprintf(buf, sizeof(buf), "%d %d", dsp->disp_virtualX, dsp->disp_virtualY); - else - *buf = '\0'; - node->data->display.c_virtual = - XtVaCreateManagedWidget("virtual", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, NULL); - - XtCreateManagedWidget("depthL", labelWidgetClass, box, NULL, 0); - if (dsp->disp_depth != 0) - XmuSnprintf(buf, sizeof(buf), "%d", dsp->disp_depth); - else - *buf = '\0'; - node->data->display.depth = - XtVaCreateManagedWidget("depth", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, NULL); - - XtCreateManagedWidget("bppL", labelWidgetClass, box, NULL, 0); - if (dsp->disp_bpp != 0) - XmuSnprintf(buf, sizeof(buf), "%d", dsp->disp_bpp); - else - *buf = '\0'; - node->data->display.bpp = - XtVaCreateManagedWidget("bpp", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, NULL); - - XtCreateManagedWidget("visualL", labelWidgetClass, box, NULL, 0); - str = dsp->disp_visual != NULL ? dsp->disp_visual : ""; - node->data->display.visual = - XtVaCreateManagedWidget("visual", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, str, NULL); - - XtCreateManagedWidget("weightL", labelWidgetClass, box, NULL, 0); - if (dsp->disp_weight.red > 0) - XmuSnprintf(buf, sizeof(buf), "%d %d %d", - dsp->disp_weight.red, dsp->disp_weight.green, dsp->disp_weight.blue); - else - *buf = '\0'; - node->data->display.weight = - XtVaCreateManagedWidget("weight", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, NULL); - - XtCreateManagedWidget("blackL", labelWidgetClass, box, NULL, 0); - if (dsp->disp_black.red >= 0) - XmuSnprintf(buf, sizeof(buf), "0x%04x 0x%04x 0x%04x", - dsp->disp_black.red, dsp->disp_black.green, dsp->disp_black.blue); - else - *buf = '\0'; - node->data->display.black = - XtVaCreateManagedWidget("black", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, NULL); - - XtCreateManagedWidget("whiteL", labelWidgetClass, box, NULL, 0); - if (dsp->disp_white.red >= 0) - XmuSnprintf(buf, sizeof(buf), "0x%04x 0x%04x 0x%04x", - dsp->disp_white.red, dsp->disp_white.green, dsp->disp_white.blue); - else - *buf = '\0'; - node->data->display.white = - XtVaCreateManagedWidget("white", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, NULL); - - command = XtVaCreateManagedWidget("Modes", toggleWidgetClass, tree, - XtNstate, True, XtNtreeParent, box, - NULL); - modes = NewNode(node, command, command, node->node, NULL); - node->child = modes; - CreateDisplayMode(modes, dsp->disp_mode_lst); - } - else { - command = XtCreateManagedWidget("new", commandWidgetClass, box, NULL, 0); - XtAddCallback(command, XtNcallback, NewScreenDisplayCallback, - (XtPointer)node); - } - if (XtIsRealized(node->treeParent)) - XtRealizeWidget(box); - XtManageChild(box); -} - -/*ARGSUSED*/ -static void -NewScreenDisplayCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - TreeNode *parent, *node = (TreeNode*)user_data; - XF86ConfDisplayPtr dsp; - - parent = node->parent; - DeleteNode(node); - dsp = (XF86ConfDisplayPtr)XtCalloc(1, sizeof(XF86ConfDisplayRec)); - dsp->disp_black.red = dsp->disp_black.green = dsp->disp_black.blue = - dsp->disp_white.red = dsp->disp_white.green = dsp->disp_white.blue = -1; - parent->parent->data->screen.screen->scrn_display_lst = - xf86addScreenDisplay(parent->parent->data->screen.screen->scrn_display_lst, - dsp); - - CreateScreenDisplay(parent, dsp); - RelayoutTree(); -} - -static void -ScreenDisplayDestroy(TreeNode *node) -{ - if (node->data->display.display) - xf86removeScreenDisplay(node->parent->parent->data->screen.screen, - node->data->display.display); -} - -static void -ScreenDisplayUpdate(TreeNode *node) -{ - char *str, *tmp; - int x, y; - - /* viewport */ - XtVaGetValues(node->data->display.viewport, XtNstring, &str, NULL); - if (sscanf(str, "%d %d", &x, &y) == 2) { - node->data->display.display->disp_frameX0 = x; - node->data->display.display->disp_frameY0 = y; - } - - /* virtual */ - XtVaGetValues(node->data->display.c_virtual, XtNstring, &str, NULL); - if (sscanf(str, "%d %d", &x, &y) == 2) { - node->data->display.display->disp_virtualX = x; - node->data->display.display->disp_virtualY = y; - } - - /* depth */ - XtVaGetValues(node->data->display.depth, XtNstring, &str, NULL); - node->data->display.display->disp_depth = strtoul(str, NULL, 0); - - /* bpp */ - XtVaGetValues(node->data->display.bpp, XtNstring, &str, NULL); - node->data->display.display->disp_bpp = strtoul(str, NULL, 0); - - /* visual */ - XtVaGetValues(node->data->display.visual, XtNstring, &str, NULL); - XtFree(node->data->display.display->disp_visual); - if (*str) - node->data->display.display->disp_visual = XtNewString(str); - else - node->data->display.display->disp_visual = NULL; - - /* weight */ - XtVaGetValues(node->data->display.weight, XtNstring, &str, NULL); - node->data->display.display->disp_weight.red = strtoul(str, &tmp, 0); - if (str == tmp) - node->data->display.display->disp_weight.red = 0; - else { - str = tmp; - while (isspace(*str)) - ++str; - node->data->display.display->disp_weight.green = strtoul(str, &tmp, 0); - if (str != tmp) { - str = tmp; - while (isspace(*str)) - ++str; - node->data->display.display->disp_weight.blue = strtoul(str, &tmp, 0); - } - } - - /* black */ - XtVaGetValues(node->data->display.black, XtNstring, &str, NULL); - node->data->display.display->disp_black.red = strtoul(str, &tmp, 0); - if (str == tmp) - node->data->display.display->disp_black.red = -1; - else { - str = tmp; - while (isspace(*str)) - ++str; - node->data->display.display->disp_black.green = strtoul(str, &tmp, 0); - if (str != tmp) { - str = tmp; - while (isspace(*str)) - ++str; - node->data->display.display->disp_black.blue = strtoul(str, &tmp, 0); - } - } - - /* white */ - XtVaGetValues(node->data->display.white, XtNstring, &str, NULL); - node->data->display.display->disp_white.red = strtoul(str, &tmp, 0); - if (str == tmp) - node->data->display.display->disp_white.red = -1; - else { - str = tmp; - while (isspace(*str)) - ++str; - node->data->display.display->disp_white.green = strtoul(str, &tmp, 0); - if (str != tmp) { - str = tmp; - while (isspace(*str)) - ++str; - node->data->display.display->disp_white.blue = strtoul(str, &tmp, 0); - } - } -} - -static void -CreateDisplayMode(TreeNode *parent, XF86ModePtr modes) -{ - TreeNode *node, *prev; - TreeData *data; - - if ((prev = parent->child) != NULL) - while (prev->next) - prev = prev->next; - - while (modes) { - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->mode.mode = modes; - node = NewNode(parent, NULL, NULL, parent->node, data); - node->destroy = DisplayModeDestroy; - CreateDisplayModeField(node, False); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - modes = (XF86ModePtr)(modes->list.next); - } - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - node = NewNode(parent, NULL, NULL, parent->node, data); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - CreateDisplayModeField(node, True); -} - -static void -CreateDisplayModeField(TreeNode *node, Bool addnew) -{ - Widget box, command, text; - - box = XtVaCreateWidget("mode", formWidgetClass, tree, - XtNtreeParent, node->treeParent, NULL); - node->node = box; - if (!addnew) { - XF86ModePtr mode = node->data->mode.mode; - - command = XtCreateManagedWidget("remove", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, DestroyCallback, - (XtPointer)node); - text = XtVaCreateManagedWidget("label", labelWidgetClass, box, - XtNlabel, mode->mode_name, NULL); - } - else { - command = XtCreateManagedWidget("new", commandWidgetClass, box, NULL, 0); - XtAddCallback(command, XtNcallback, NewDisplayModeCallback, - (XtPointer)node); - text = XtVaCreateManagedWidget("value", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, NULL); - } - node->data->mode.text = text; - if (node->treeParent && XtIsRealized(node->treeParent)) - XtRealizeWidget(box); - XtManageChild(box); -} - -/*ARGSUSED*/ -static void -NewDisplayModeCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - TreeNode *parent, *node = (TreeNode*)user_data; - XF86ModePtr mode; - Arg args[1]; - char *ident; - - XtSetArg(args[0], XtNstring, &ident); - XtGetValues(node->data->mode.text, args, 1); - if (*ident == '\0') - return; - - parent = node->parent; - DeleteNode(node); - mode = (XF86ModePtr)XtCalloc(1, sizeof(XF86ModeRec)); - mode->mode_name = XtNewString(ident); - parent->parent->data->display.display->disp_mode_lst = - xf86addDisplayMode(parent->parent->data->display.display->disp_mode_lst, - mode); - - CreateDisplayMode(parent, mode); - RelayoutTree(); -} - -/*ARGUSED*/ -static void -DisplayModeDestroy(TreeNode *node) -{ - if (node->data->mode.mode) - xf86removeDisplayMode(node->parent->parent->data->display.display, - node->data->mode.mode); -} - -/* Input */ -static void -CreateInput(TreeNode *parent, XF86ConfInputPtr input) -{ - TreeNode *prev, *node; - TreeData *data; - - if ((prev = parent->child) != NULL) - while (prev->next) - prev = prev->next; - - while (input) { - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->input.input = input; - node = NewNode(parent, NULL, NULL, parent->node, data); - node->destroy = InputDestroy; - node->update = InputUpdate; - CreateInputField(node, False); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - input = (XF86ConfInputPtr)(input->list.next); - } - - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - node = NewNode(parent, NULL, NULL, parent->node, data); - CreateInputField(node, True); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; -} - -static void -CreateInputField(TreeNode *node, Bool addnew) -{ - Widget box, command; - - box = XtVaCreateWidget("input", formWidgetClass, tree, - XtNtreeParent, node->treeParent, NULL); - node->node = box; - - if (!addnew) { - char *str; - XF86OptionPtr *options; - XF86ConfInputPtr inp = node->data->input.input; - - command = XtCreateManagedWidget("remove", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, DestroyCallback, (XtPointer)node); - options = &(inp->inp_option_lst); - command = XtCreateManagedWidget("options", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, OptionsCallback, (XtPointer)options); - XtVaCreateManagedWidget("label", labelWidgetClass, box, - XtNlabel, inp->inp_identifier, NULL); - - XtCreateManagedWidget("driverL", labelWidgetClass, box, NULL, 0); - str = inp->inp_driver != NULL ? inp->inp_driver : ""; - node->data->input.text = - XtVaCreateManagedWidget("driver", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, str, NULL); - } - else { - command = XtCreateManagedWidget("new", commandWidgetClass, box, NULL, 0); - XtAddCallback(command, XtNcallback, NewInputCallback, - (XtPointer)node); - node->data->input.text = - XtVaCreateManagedWidget("value", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, NULL); - } - if (XtIsRealized(node->treeParent)) - XtRealizeWidget(box); - XtManageChild(box); -} - -/*ARGSUSED*/ -static void -NewInputCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - TreeNode *parent, *node = (TreeNode*)user_data; - XF86ConfInputPtr input; - Arg args[1]; - char *ident; - - XtSetArg(args[0], XtNstring, &ident); - XtGetValues(node->data->input.text, args, 1); - if (*ident == '\0') - return; - - parent = node->parent; - DeleteNode(node); - input = (XF86ConfInputPtr)XtCalloc(1, sizeof(XF86ConfInputRec)); - input->inp_identifier = XtNewString(ident); - XF86Config->conf_input_lst = - xf86addInput(XF86Config->conf_input_lst, input); - - { - TreeNode *lay = layoutTree->child; - Widget sme; - - /* last one is the "new" entry */ - while (lay && lay->next != NULL) { - /* Inputref is the second entry */ - TreeNode *iref = lay->child->next->child; - - while (iref && iref->next) - iref = iref->next; - sme = XtCreateManagedWidget(ident, smeBSBObjectClass, - iref->data->inputref.menu, NULL, 0); - XtAddCallback(sme, XtNcallback, NewInputrefCallback, - (XtPointer)iref); - lay = lay->next; - } - } - - CreateInput(parent, input); - RelayoutTree(); -} - -/*ARGUSED*/ -static void -InputDestroy(TreeNode *node) -{ - if (node->data->input.input) { - int i; - TreeNode *lay = layoutTree->child; - - /* last one is the "new" entry */ - while (lay && lay->next) { - /* Inputref is the second entry */ - TreeNode *iref = lay->child->next->child; - CompositeWidget composite; - - while (iref && iref->next) { - TreeNode *next = iref->next; - - if (iref && strcmp(iref->data->inputref.inputref->iref_inputdev_str, - node->data->input.input->inp_identifier) == 0) - DeleteNode(iref); - iref = next; - } - - composite = (CompositeWidget)iref->data->inputref.menu; - - for (i = 0; i < composite->composite.num_children; ++i) - if (strcmp(XtName(composite->composite.children[i]), - node->data->input.input->inp_identifier) == 0) - XtDestroyWidget(composite->composite.children[i]); - - lay = lay->next; - } - - for (i = 0; i < computer.num_devices; i++) - if ((XF86ConfInputPtr)(computer.devices[i]->config) == - node->data->input.input) { - config = computer.devices[i]->widget; - RemoveDeviceCallback(NULL, NULL, NULL); - } - } -} - -static void -InputUpdate(TreeNode *node) -{ - char *str; - - /* vendor */ - XtVaGetValues(node->data->input.text, XtNstring, &str, NULL); - XtFree(node->data->input.input->inp_driver); - if (*str) - node->data->input.input->inp_driver = XtNewString(str); - else - node->data->input.input->inp_driver = NULL; -} - -/* Layout */ -static void -CreateLayout(TreeNode *parent, XF86ConfLayoutPtr lay) -{ - TreeNode *prev, *node; - TreeData *data; - - if ((prev = parent->child) != NULL) - while (prev->next) - prev = prev->next; - - while (lay) { - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->layout.layout = lay; - node = NewNode(parent, NULL, NULL, parent->node, data); - node->destroy = LayoutDestroy; - CreateLayoutField(node, False); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - lay = (XF86ConfLayoutPtr)(lay->list.next); - } - - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - node = NewNode(parent, NULL, NULL, parent->node, data); - CreateLayoutField(node, True); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; -} - -static void -CreateLayoutField(TreeNode *node, Bool addnew) -{ - Widget box, command, label; - - box = XtVaCreateWidget("layout", formWidgetClass, tree, - XtNtreeParent, node->treeParent, NULL); - node->node = box; - - if (!addnew) { - TreeNode *adjacency, *inputref; - XF86OptionPtr *options; - XF86ConfLayoutPtr lay = node->data->layout.layout; - - options = &(lay->lay_option_lst); - command = XtCreateManagedWidget("remove", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, DestroyCallback, (XtPointer)node); - command = XtCreateManagedWidget("options", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, OptionsCallback, (XtPointer)options); - label = XtVaCreateManagedWidget("label", labelWidgetClass, box, - XtNlabel, lay->lay_identifier, NULL); - - command = XtVaCreateManagedWidget("Adjacency", toggleWidgetClass, tree, - XtNstate, True, XtNtreeParent, box, - NULL); - adjacency = NewNode(node, command, command, box, NULL); - node->child = adjacency; - CreateAdjacency(adjacency, lay->lay_adjacency_lst); - - command = XtVaCreateManagedWidget("Inputref", toggleWidgetClass, tree, - XtNstate, True, XtNtreeParent, box, - NULL); - inputref = NewNode(node, command, command, box, NULL); - adjacency->next = inputref; - CreateInputref(inputref, lay->lay_input_lst); - } - else { - command = XtCreateManagedWidget("new", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, NewLayoutCallback, (XtPointer)node); - label = XtVaCreateManagedWidget("value", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - NULL); - node->data->layout.text = label; - } - if (XtIsRealized(node->treeParent)) - XtRealizeWidget(box); - XtManageChild(box); -} - -/*ARGUSED*/ -static void -LayoutDestroy(TreeNode *node) -{ - if (node->data->layout.layout) - xf86removeLayout(XF86Config, node->data->layout.layout); -} - -/*ARGSUSED*/ -static void -NewLayoutCallback(Widget unused, XtPointer user_data, XtPointer call_data) -{ - TreeNode *parent, *node = (TreeNode*)user_data; - XF86ConfLayoutPtr lay; - Arg args[1]; - char *label; - - XtSetArg(args[0], XtNstring, &label); - XtGetValues(node->data->layout.text, args, 1); - if (*label == '\0') - return; - - parent = node->parent; - DeleteNode(node); - lay = (XF86ConfLayoutPtr)XtCalloc(1, sizeof(XF86ConfLayoutRec)); - lay->lay_identifier = XtNewString(label); - XF86Config->conf_layout_lst = xf86addLayout(XF86Config->conf_layout_lst, lay); - - CreateLayout(parent, lay); - RelayoutTree(); -} - -static void -CreateAdjacency(TreeNode *parent, XF86ConfAdjacencyPtr adj) -{ - TreeNode *prev, *node; - TreeData *data; - - if ((prev = parent->child) != NULL) - while (prev->next) - prev = prev->next; - - while (adj) { - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->adjacency.screen = adj ? adj->adj_screen : NULL; - data->adjacency.adjacency = adj; - node = NewNode(parent, NULL, NULL, parent->node, data); - node->destroy = AdjacencyDestroy; - CreateAdjacencyField(node, False); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - adj = (XF86ConfAdjacencyPtr)(adj->list.next); - } - - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - node = NewNode(parent, NULL, NULL, parent->node, data); - CreateAdjacencyField(node, True); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; -} - -static void -CreateAdjacencyField(TreeNode *node, Bool addnew) -{ - Widget box, command, sme; - XF86ConfScreenPtr ptr = XF86Config->conf_screen_lst; - - box = XtVaCreateWidget("adjacency", formWidgetClass, tree, - XtNtreeParent, node->treeParent, NULL); - node->node = box; - - node->data->adjacency.menu = - XtVaCreatePopupShell("screenMenu", simpleMenuWidgetClass, box, - XtNleftMargin, 1, XtNrightMargin, 1, - XtNtopMargin, 1, XtNbottomMargin, 1, - NULL); - while (ptr) { - sme = XtCreateManagedWidget(ptr->scrn_identifier, smeBSBObjectClass, - node->data->adjacency.menu, NULL, 0); - XtAddCallback(sme, XtNcallback, !addnew ? - AdjacencyMenuCallback : NewAdjacencyCallback, - (XtPointer)node); - ptr = (XF86ConfScreenPtr)(ptr->list.next); - } - - if (!addnew) { - char buf[32]; - Cardinal width, height; - Widget left, right, above, below, relative, absolute; - XF86ConfAdjacencyPtr adj = node->data->adjacency.adjacency; - - command = XtCreateManagedWidget("remove", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, DestroyCallback, (XtPointer)node); - (void) XtVaCreateManagedWidget("label", labelWidgetClass, box, - XtNlabel, adj->adj_screen->scrn_identifier, - NULL); - - XtCreateManagedWidget("scrnumL", labelWidgetClass, box, NULL, 0); - if (adj->adj_scrnum >= 0) - XmuSnprintf(buf, sizeof(buf), "%d", adj->adj_scrnum); - else - *buf = 0; - node->data->adjacency.scrnum = - XtVaCreateManagedWidget("scrnum", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, NULL); - above = XtVaCreateManagedWidget("above", toggleWidgetClass, box, - XtNstate, adj->adj_where == CONF_ADJ_ABOVE ? - True : False, NULL); - XtAddCallback(above, XtNcallback, AdjacencyToggleCallback, (XtPointer)node); - left = XtVaCreateManagedWidget("leftOf", toggleWidgetClass, box, - XtNradioGroup, above, - XtNstate, adj->adj_where == CONF_ADJ_LEFTOF ? - True : False, NULL); - XtAddCallback(left, XtNcallback, AdjacencyToggleCallback, (XtPointer)node); - - node->data->adjacency.button = - XtVaCreateManagedWidget("screen", menuButtonWidgetClass, box, - XtNmenuName, "screenMenu", NULL); - - right = XtVaCreateManagedWidget("rightOf", toggleWidgetClass, box, - XtNradioGroup, left, - XtNstate, adj->adj_where == CONF_ADJ_RIGHTOF ? - True : False, NULL); - XtAddCallback(right, XtNcallback, AdjacencyToggleCallback, (XtPointer)node); - below = XtVaCreateManagedWidget("below", toggleWidgetClass, box, - XtNradioGroup, right, - XtNstate, adj->adj_where == CONF_ADJ_BELOW ? - True : False, NULL); - XtAddCallback(below, XtNcallback, AdjacencyToggleCallback, (XtPointer)node); - relative = XtVaCreateManagedWidget("relative", toggleWidgetClass, box, - XtNradioGroup, below, - XtNstate, adj->adj_where == CONF_ADJ_RELATIVE ? - True : False, NULL); - XtAddCallback(relative, XtNcallback, AdjacencyToggleCallback, (XtPointer)node); - absolute = XtVaCreateManagedWidget("absolute", toggleWidgetClass, box, - XtNradioGroup, relative, - XtNstate, adj->adj_where == CONF_ADJ_ABSOLUTE ? - True : False, NULL); - XtAddCallback(absolute, XtNcallback, AdjacencyToggleCallback, (XtPointer)node); - - XtCreateManagedWidget("adjxL", labelWidgetClass, box, NULL, 0); - XmuSnprintf(buf, sizeof(buf), "%d", adj->adj_x); - node->data->adjacency.adjx = - XtVaCreateManagedWidget("adjx", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, NULL); - - XtCreateManagedWidget("adjyL", labelWidgetClass, box, NULL, 0); - XmuSnprintf(buf, sizeof(buf), "%d", adj->adj_y); - node->data->adjacency.adjy = - XtVaCreateManagedWidget("adjy", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, NULL); - - XtVaGetValues(node->data->adjacency.button, XtNwidth, &width, - XtNheight, &height, NULL); - if (adj->adj_where > CONF_ADJ_ABSOLUTE && - adj->adj_where <= CONF_ADJ_RELATIVE) - XtVaSetValues(node->data->adjacency.button, XtNlabel, - adj->adj_refscreen, XtNwidth, width, - XtNheight, height, NULL); - else - XtVaSetValues(node->data->adjacency.button, XtNlabel, "", - XtNwidth, width, XtNheight, height, NULL); - } - else - XtVaCreateManagedWidget("new", menuButtonWidgetClass, box, - XtNmenuName, "screenMenu", NULL); - - if (XtIsRealized(node->treeParent)) - XtRealizeWidget(box); - XtManageChild(box); -} - -static void -AdjacencyDestroy(TreeNode *node) -{ - if (node->data->adjacency.adjacency) - xf86removeAdjacency(node->parent->parent->data->layout.layout, - node->data->adjacency.adjacency); -} - -/*ARGSUSED*/ -static void -NewAdjacencyCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - TreeNode *parent, *node = (TreeNode*)user_data; - XF86ConfAdjacencyPtr adj; - char *ident = XtName(w); - - parent = node->parent; - DeleteNode(node); - adj = (XF86ConfAdjacencyPtr)XtCalloc(1, sizeof(XF86ConfAdjacencyRec)); - adj->adj_screen = xf86findScreen(ident, XF86Config->conf_screen_lst); - if (adj->adj_screen) - adj->adj_screen_str = XtNewString(adj->adj_screen->scrn_identifier); - parent->parent->data->layout.layout->lay_adjacency_lst = - xf86addAdjacency(parent->parent->data->layout.layout->lay_adjacency_lst, - adj); - - CreateAdjacency(parent, adj); - RelayoutTree(); -} - -/*ARGUSED*/ -static void -AdjacencyMenuCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - TreeNode *node = (TreeNode*)user_data; - XF86ConfAdjacencyPtr adj = node->data->adjacency.adjacency; - - XtFree(adj->adj_refscreen); - adj->adj_refscreen = XtNewString(XtName(w)); - XtVaSetValues(node->data->adjacency.button, XtNlabel, XtName(w), NULL); -} - -static void -AdjacencyToggleCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - TreeNode *node = (TreeNode*)user_data; - XF86ConfAdjacencyPtr adj = node->data->adjacency.adjacency; - char *x, *y; - - if ((Bool)(long)call_data == False) - return; - - XtVaGetValues(node->data->adjacency.adjx, XtNstring, &x, NULL); - XtVaGetValues(node->data->adjacency.adjy, XtNstring, &y, NULL); - - adj->adj_x = strtol(x, NULL, 0); - adj->adj_y = strtol(y, NULL, 0); - - if (strcmp(XtName(w), "absolute") == 0) { - XtVaSetValues(node->data->adjacency.button, XtNlabel, "", NULL); - adj->adj_where = CONF_ADJ_ABSOLUTE; - return; - } - if (strcmp(XtName(w), "relative") == 0) - adj->adj_where = CONF_ADJ_RELATIVE; - else if (strcmp(XtName(w), "leftOf") == 0) - adj->adj_where = CONF_ADJ_LEFTOF; - else if (strcmp(XtName(w), "rightOf") == 0) - adj->adj_where = CONF_ADJ_RIGHTOF; - else if (strcmp(XtName(w), "above") == 0) - adj->adj_where = CONF_ADJ_ABOVE; - else if (strcmp(XtName(w), "below") == 0) - adj->adj_where = CONF_ADJ_BELOW; -} - -/* Inputref */ -static void -CreateInputref(TreeNode *parent, XF86ConfInputrefPtr input) -{ - TreeNode *prev, *node; - TreeData *data; - - if ((prev = parent->child) != NULL) - while (prev->next) - prev = prev->next; - - while (input) { - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->inputref.inputref = input; - node = NewNode(parent, NULL, NULL, parent->node, data); - node->destroy = InputrefDestroy; - CreateInputrefField(node, False); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - input = (XF86ConfInputrefPtr)(input->list.next); - } - - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - node = NewNode(parent, NULL, NULL, parent->node, data); - CreateInputrefField(node, True); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; -} - -static void -CreateInputrefField(TreeNode *node, Bool addnew) -{ - Widget box, command; - - box = XtVaCreateWidget("inputref", formWidgetClass, tree, - XtNtreeParent, node->treeParent, NULL); - node->node = box; - - if (!addnew) { - XF86OptionPtr *options; - XF86ConfInputrefPtr inp = node->data->inputref.inputref; - - command = XtCreateManagedWidget("remove", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, DestroyCallback, (XtPointer)node); - options = &(inp->iref_option_lst); - command = XtCreateManagedWidget("options", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, OptionsCallback, (XtPointer)options); - XtVaCreateManagedWidget("label", labelWidgetClass, box, - XtNlabel, inp->iref_inputdev_str, NULL); - } - else { - Widget sme; - XF86ConfInputPtr ptr = XF86Config->conf_input_lst; - - XtVaCreateManagedWidget("new", menuButtonWidgetClass, box, - XtNmenuName, "inputMenu", NULL); - node->data->inputref.menu = - XtVaCreatePopupShell("inputMenu", simpleMenuWidgetClass, box, - XtNleftMargin, 1, XtNrightMargin, 1, - XtNtopMargin, 1, XtNbottomMargin, 1, - NULL); - - while (ptr) { - sme = XtCreateManagedWidget(ptr->inp_identifier, smeBSBObjectClass, - node->data->inputref.menu, NULL, 0); - XtAddCallback(sme, XtNcallback, NewInputrefCallback, - (XtPointer)node); - ptr = (XF86ConfInputPtr)(ptr->list.next); - } - } - if (XtIsRealized(node->treeParent)) - XtRealizeWidget(box); - XtManageChild(box); -} - -/*ARGSUSED*/ -static void -NewInputrefCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - TreeNode *parent, *node = (TreeNode*)user_data; - XF86ConfInputrefPtr input; - char *ident = XtName(w); - - parent = node->parent; - DeleteNode(node); - input = (XF86ConfInputrefPtr)XtCalloc(1, sizeof(XF86ConfInputrefRec)); - input->iref_inputdev_str = XtNewString(ident); - parent->parent->data->layout.layout->lay_input_lst = - xf86addInputref(parent->parent->data->layout.layout->lay_input_lst, input); - - CreateInputref(parent, input); - RelayoutTree(); -} - -/*ARGUSED*/ -static void -InputrefDestroy(TreeNode *node) -{ - if (node->data->inputref.inputref) - xf86removeInputRef(node->parent->parent->data->layout.layout, node->data->inputref.inputref->iref_inputdev); -} - -/* Vendor */ -static void -CreateVendor(TreeNode *parent, XF86ConfVendorPtr vendor) -{ - TreeNode *prev, *node; - TreeData *data; - - if ((prev = parent->child) != NULL) - while (prev->next) - prev = prev->next; - - while (vendor) { - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->vendor.vendor = vendor; - node = NewNode(parent, NULL, NULL, parent->node, data); - node->destroy = VendorDestroy; - CreateVendorField(node, False); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - vendor = (XF86ConfVendorPtr)(vendor->list.next); - } - - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - node = NewNode(parent, NULL, NULL, parent->node, data); - CreateVendorField(node, True); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; -} - -static void -CreateVendorField(TreeNode *node, Bool addnew) -{ - Widget box, command; - - box = XtVaCreateWidget("vendor", formWidgetClass, tree, - XtNtreeParent, node->treeParent, NULL); - node->node = box; - - if (!addnew) { - TreeNode *sub; - XF86OptionPtr *options; - XF86ConfVendorPtr vendor = node->data->vendor.vendor; - - command = XtCreateManagedWidget("remove", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, DestroyCallback, (XtPointer)node); - options = &(vendor->vnd_option_lst); - command = XtCreateManagedWidget("options", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, OptionsCallback, (XtPointer)options); - XtVaCreateManagedWidget("label", labelWidgetClass, box, - XtNlabel, vendor->vnd_identifier, NULL); - - command = XtVaCreateManagedWidget("VendSub", toggleWidgetClass, tree, - XtNstate, True, - XtNtreeParent, box, - NULL); - sub = NewNode(node, command, command, box, NULL); - node->child = sub; - CreateVendorSub(sub, vendor->vnd_sub_lst); - } - else { - command = XtCreateManagedWidget("new", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, NewVendorCallback, (XtPointer)node); - node->data->vendor.text = - XtVaCreateManagedWidget("value", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, NULL); - } - if (XtIsRealized(node->treeParent)) - XtRealizeWidget(box); - XtManageChild(box); -} - -static void -VendorDestroy(TreeNode *node) -{ - if (node->data->vendor.vendor) - xf86removeVendor(XF86Config, node->data->vendor.vendor); -} - -static void -NewVendorCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - TreeNode *parent, *node = (TreeNode*)user_data; - XF86ConfVendorPtr vnd; - Arg args[1]; - char *label; - - XtSetArg(args[0], XtNstring, &label); - XtGetValues(node->data->vendor.text, args, 1); - if (*label == '\0') - return; - - parent = node->parent; - DeleteNode(node); - vnd = (XF86ConfVendorPtr)XtCalloc(1, sizeof(XF86ConfVendorRec)); - vnd->vnd_identifier = XtNewString(label); - XF86Config->conf_vendor_lst = xf86addVendor(XF86Config->conf_vendor_lst, vnd); - - CreateVendor(parent, vnd); - RelayoutTree(); -} - -/* VendorSub */ -static void -CreateVendorSub(TreeNode *parent, XF86ConfVendSubPtr vendor) -{ - TreeNode *prev, *node; - TreeData *data; - - if ((prev = parent->child) != NULL) - while (prev->next) - prev = prev->next; - - while (vendor) { - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->vendsub.vendsub = vendor; - node = NewNode(parent, NULL, NULL, parent->node, data); - node->destroy = VendorSubDestroy; - node->update = VendorSubUpdate; - CreateVendorSubField(node, False); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - vendor = (XF86ConfVendSubPtr)(vendor->list.next); - } - - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - node = NewNode(parent, NULL, NULL, parent->node, data); - CreateVendorSubField(node, True); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; -} - -static void -CreateVendorSubField(TreeNode *node, Bool addnew) -{ - Widget box, command; - - box = XtVaCreateWidget("vendorSub", formWidgetClass, tree, - XtNtreeParent, node->treeParent, NULL); - node->node = box; - - if (!addnew) { - XF86OptionPtr *options; - XF86ConfVendSubPtr vendor = node->data->vendsub.vendsub; - - command = XtCreateManagedWidget("remove", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, DestroyCallback, (XtPointer)node); - options = &(vendor->vs_option_lst); - command = XtCreateManagedWidget("options", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, OptionsCallback, (XtPointer)options); - XtVaCreateManagedWidget("label", labelWidgetClass, box, - XtNlabel, vendor->vs_identifier, NULL); - - XtCreateManagedWidget("nameL", labelWidgetClass, box, NULL, 0); - node->data->vendsub.text = - XtVaCreateManagedWidget("name", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, XtNstring, - vendor->vs_name ? vendor->vs_name : "", - NULL); - } - else { - command = XtCreateManagedWidget("new", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, NewVendorSubCallback, (XtPointer)node); - node->data->vendsub.text = - XtVaCreateManagedWidget("value", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, NULL); - } - if (XtIsRealized(node->treeParent)) - XtRealizeWidget(box); - XtManageChild(box); -} - -static void -VendorSubDestroy(TreeNode *node) -{ - if (node->data->vendsub.vendsub) - xf86removeVendorSub(node->parent->parent->data->vendor.vendor, - node->data->vendsub.vendsub); -} - -static void -VendorSubUpdate(TreeNode *node) -{ - char *str; - - XtVaGetValues(node->data->vendsub.text, XtNstring, &str, NULL); - XtFree(node->data->vendsub.vendsub->vs_name); - if (*str) - node->data->vendsub.vendsub->vs_name = XtNewString(str); - else - node->data->vendsub.vendsub->vs_name = NULL; -} - -static void -NewVendorSubCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - TreeNode *parent, *node = (TreeNode*)user_data; - XF86ConfVendSubPtr vnd; - Arg args[1]; - char *label; - - XtSetArg(args[0], XtNstring, &label); - XtGetValues(node->data->vendsub.text, args, 1); - if (*label == '\0') - return; - - parent = node->parent; - DeleteNode(node); - vnd = (XF86ConfVendSubPtr)XtCalloc(1, sizeof(XF86ConfVendSubRec)); - vnd->vs_identifier = XtNewString(label); - parent->parent->data->vendor.vendor->vnd_sub_lst = - xf86addVendorSub(parent->parent->data->vendor.vendor->vnd_sub_lst, vnd); - - CreateVendorSub(parent, vnd); - RelayoutTree(); -} - -/* DRI */ -static void -CreateDRI(TreeNode *parent, XF86ConfDRIPtr dri) -{ - TreeNode *node; - TreeData *data; - - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->dri.dri = dri; - node = NewNode(parent, NULL, NULL, parent->node, data); - parent->child = node; - node->update = DRIUpdate; - CreateDRIField(node); -} - -static void -CreateDRIField(TreeNode *node) -{ - Widget box, toggle; - XF86ConfDRIPtr dri = node->data->dri.dri; - TreeNode *buffers; - char buf[32]; - - box = XtVaCreateWidget("dri", formWidgetClass, tree, - XtNtreeParent, node->treeParent, NULL); - node->node = box; - XtCreateManagedWidget("nameL", labelWidgetClass, box, NULL, 0); - node->data->dri.name = - XtVaCreateManagedWidget("name", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, XtNstring, - dri->dri_group_name ? dri->dri_group_name : "", - NULL); - - XtCreateManagedWidget("groupL", labelWidgetClass, box, NULL, 0); - if (dri->dri_group >= 0) - XmuSnprintf(buf, sizeof(buf), "%d", dri->dri_group); - else - *buf = '\0'; - node->data->dri.group = - XtVaCreateManagedWidget("group", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, XtNstring, buf, - NULL); - - XtCreateManagedWidget("modeL", labelWidgetClass, box, NULL, 0); - if (dri->dri_mode > 0) - XmuSnprintf(buf, sizeof(buf), "0%o", dri->dri_mode); - else - *buf = '\0'; - node->data->dri.mode = - XtVaCreateManagedWidget("mode", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, XtNstring, buf, - NULL); - - toggle = XtVaCreateManagedWidget("Buffers", toggleWidgetClass, tree, - XtNstate, True, XtNtreeParent, box, - NULL); - buffers = NewNode(node, toggle, toggle, box, NULL); - node->child = buffers; - CreateBuffers(buffers, dri->dri_buffers_lst); - - if (XtIsRealized(node->treeParent)) - XtRealizeWidget(box); - XtManageChild(box); -} - -static void -DRIUpdate(TreeNode *node) -{ - char *str; - - /* name */ - XtVaGetValues(node->data->dri.name, XtNstring, &str, NULL); - XtFree(node->data->dri.dri->dri_group_name); - if (*str) - node->data->dri.dri->dri_group_name = XtNewString(str); - else - node->data->dri.dri->dri_group_name = NULL; - - /* group */ - XtVaGetValues(node->data->dri.group, XtNstring, &str, NULL); - if (*str) - node->data->dri.dri->dri_group = strtoul(str, NULL, 0); - else - node->data->dri.dri->dri_group = -1; - - /* mode */ - XtVaGetValues(node->data->dri.mode, XtNstring, &str, NULL); - node->data->dri.dri->dri_mode = strtoul(str, NULL, 0); -} - -/* Buffers */ -static void -CreateBuffers(TreeNode *parent, XF86ConfBuffersPtr buf) -{ - TreeNode *node, *prev; - TreeData *data; - - if ((prev = parent->child) != NULL) - while (prev->next) - prev = prev->next; - - while (buf) { - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->buffers.buffers = buf; - node = NewNode(parent, NULL, NULL, parent->node, data); - node->destroy = BuffersDestroy; - node->update = BuffersUpdate; - CreateBuffersField(node, False); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - - buf = (XF86ConfBuffersPtr)(buf->list.next); - } - node = NewNode(parent, NULL, NULL, parent->node, NULL); - CreateBuffersField(node, True); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; -} - -static void -CreateBuffersField(TreeNode *node, Bool addnew) -{ - Widget box, command; - - box = XtVaCreateWidget("buffers", formWidgetClass, tree, - XtNtreeParent, node->treeParent, NULL); - node->node = box; - - if (!addnew) { - char str[32]; - XF86ConfBuffersPtr buf = node->data->buffers.buffers; - - command = XtCreateManagedWidget("remove", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, DestroyCallback, (XtPointer)node); - - XtCreateManagedWidget("countL", labelWidgetClass, box, NULL, 0); - XmuSnprintf(str, sizeof(str), "%d", buf->buf_count); - node->data->buffers.count = - XtVaCreateManagedWidget("count", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, XtNstring, str, - NULL); - - XtCreateManagedWidget("sizeL", labelWidgetClass, box, NULL, 0); - XmuSnprintf(str, sizeof(str), "%d", buf->buf_size); - node->data->buffers.size = - XtVaCreateManagedWidget("size", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, XtNstring, str, - NULL); - - XtCreateManagedWidget("flagsL", labelWidgetClass, box, NULL, 0); - node->data->buffers.flags = - XtVaCreateManagedWidget("flags", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, XtNstring, - buf->buf_flags ? buf->buf_flags : "", - NULL); - } - else { - command = XtCreateManagedWidget("new", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, NewBuffersCallback, (XtPointer)node); - } - if (XtIsRealized(node->treeParent)) - XtRealizeWidget(box); - XtManageChild(box); -} - -/*ARGUSED*/ -static void -BuffersDestroy(TreeNode *node) -{ - if (node->data->buffers.buffers) - xf86removeBuffers(XF86Config->conf_dri, node->data->buffers.buffers); -} - -/*ARGSUSED*/ -static void -NewBuffersCallback(Widget unused, XtPointer user_data, XtPointer call_data) -{ - TreeNode *parent, *node = (TreeNode*)user_data; - XF86ConfBuffersPtr buf; - - parent = node->parent; - DeleteNode(node); - buf = (XF86ConfBuffersPtr)XtCalloc(1, sizeof(XF86ConfBuffersRec)); - XF86Config->conf_dri->dri_buffers_lst = - xf86addBuffers(XF86Config->conf_dri->dri_buffers_lst, buf); - - CreateBuffers(parent, buf); - RelayoutTree(); -} - -static void -BuffersUpdate(TreeNode *node) -{ - char *str; - - /* count */ - XtVaGetValues(node->data->buffers.count, XtNstring, &str, NULL); - node->data->buffers.buffers->buf_count = strtoul(str, NULL, 0); - - /* size */ - XtVaGetValues(node->data->buffers.size, XtNstring, &str, NULL); - node->data->buffers.buffers->buf_size = strtoul(str, NULL, 0); - - /* flags */ - XtVaGetValues(node->data->buffers.flags, XtNstring, &str, NULL); - if (*str) - node->data->buffers.buffers->buf_flags = XtNewString(str); - else - node->data->buffers.buffers->buf_flags = NULL; -} - -static TreeNode * -NewNode(TreeNode *parent, Widget node, Widget toggle, Widget treeParent, - TreeData *data) -{ - TreeNode *tree = (TreeNode*)XtCalloc(1, sizeof(TreeNode)); - - tree->parent = parent; - tree->node = node; - if ((tree->toggle = toggle) != NULL) - XtAddCallback(toggle, XtNcallback, ToggleCallback, (XtPointer)tree); - tree->treeParent = treeParent; - tree->data = data; - - return (tree); -} - -static void -DeleteNode(TreeNode *node) -{ - TreeNode *ptr = node->child; - - while (ptr != NULL) { - TreeNode *next = ptr->next; - - DeleteNode(ptr); - ptr = next; - } - - if (node->parent && node->parent->child == node) - node->parent->child = node->next; - else if (node->parent) { - for (ptr = node->parent->child; ptr && ptr->next != node; - ptr = ptr->next) - ; - if (ptr) - ptr->next = node->next; - } - - if (node->destroy) - (node->destroy)(node); - if (node->data) - XtFree((XtPointer)node->data); - - /* sets treeParent to NULL so that RelayoutTree works correctly, - * as the tree will properly calculate it's new size. - */ - XtVaSetValues(node->node, XtNtreeParent, NULL, NULL); - - XtDestroyWidget(node->node); - XtFree((XtPointer)node); -} - -/*ARGUSED*/ -static void -DestroyCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - TreeNode *node = (TreeNode*)user_data; - - DeleteNode(node); - RelayoutTree(); -} - -static void -ToggleNodeRecursive(TreeNode *node) -{ - while (node) { - if (!XtIsRealized(node->node)) - XtRealizeWidget(node->node); - XtVaSetValues(node->node, XtNtreeParent, node->treeParent, NULL); - XtManageChild(node->node); - - if (node->child && !node->toggle) - ToggleNodeRecursive(node->child); - - node = node->next; - } -} - -static void -ToggleNode(TreeNode *node, Bool toggle) -{ - while (node) { - if (toggle) { - if (!XtIsRealized(node->node)) - XtRealizeWidget(node->node); - XtVaSetValues(node->node, XtNtreeParent, node->treeParent, NULL); - XtManageChild(node->node); - - if (node->child && !node->toggle) - ToggleNodeRecursive(node->child); - } - else { - if (node->child) - ToggleNode(node->child, False); - XtVaSetValues(node->node, XtNtreeParent, NULL, NULL); - XtUnmanageChild(node->node); - if (node->toggle) - XtVaSetValues(node->toggle, XtNstate, False, NULL); - } - node = node->next; - } -} - -/* - * XXX This callback can show side effects in the way it is called. If - * the structure holding the XF86OptionPtr is reallocated, a bogus pointer - * will be passed to this callback. - */ -static void -OptionsCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - XF86OptionPtr *options = (XF86OptionPtr*)user_data; - -#ifdef USE_MODULES - OptionsPopup(options, NULL, NULL); -#else - OptionsPopup(options); -#endif -} - -static void -RelayoutTree(void) -{ - Arg args[4]; - Dimension sliderWidth, sliderHeight, canvasWidth, canvasHeight; - - XtSetArg(args[0], XtNwidth, &sliderWidth); - XtSetArg(args[1], XtNheight, &sliderHeight); - XtGetValues(shell, args, 2); - - XtSetArg(args[2], XtNwidth, &canvasWidth); - XtSetArg(args[3], XtNheight, &canvasHeight); - XtGetValues(tree, args + 2, 2); - - XtSetArg(args[0], XtNsliderWidth, sliderWidth); - XtSetArg(args[1], XtNsliderHeight, sliderHeight); - XtSetArg(args[2], XtNcanvasWidth, canvasWidth); - XtSetArg(args[3], XtNcanvasHeight, canvasHeight); - XtSetValues(panner, args, 4); -} - -static void -ToggleCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - TreeNode *nodeParent = (TreeNode*)user_data; - - if (nodeParent->child) { - if (XtIsRealized(tree)) - XtUnmapWidget(tree); - ToggleNode(nodeParent->child, (Bool)(long)call_data); - RelayoutTree(); - if (XtIsRealized(tree)) - XtMapWidget(tree); - } -} - -/*ARGSUSED*/ -static void -PannerCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - Arg args[2]; - XawPannerReport *rep = (XawPannerReport *)call_data; - - XtSetArg (args[0], XtNx, -rep->slider_x); - XtSetArg (args[1], XtNy, -rep->slider_y); - XtSetValues(tree, args, 2); -} - -/*ARGSUSED*/ -static void -PortholeCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - XawPannerReport *rep = (XawPannerReport*)call_data; - Arg args[6]; - Cardinal n = 2; - - XtSetArg (args[0], XtNsliderX, rep->slider_x); - XtSetArg (args[1], XtNsliderY, rep->slider_y); - if (rep->changed != (XawPRSliderX | XawPRSliderY)) { - XtSetArg (args[2], XtNsliderWidth, rep->slider_width); - XtSetArg (args[3], XtNsliderHeight, rep->slider_height); - XtSetArg (args[4], XtNcanvasWidth, rep->canvas_width); - XtSetArg (args[5], XtNcanvasHeight, rep->canvas_height); - n = 6; - } - XtSetValues(panner, args, n); -} - -static void -DestroyTree(TreeNode *node) -{ - while (node) { - TreeNode *next = node->next; - if (node->child) - DestroyTree(node->child); - - if (node->data) - XtFree((XtPointer)node->data); - XtFree((XtPointer)node); - - node = next; - } -} - -static void -UpdateConfig(TreeNode *node) -{ - while (node) { - if (node->child) - UpdateConfig(node->child); - if (node->update) - (node->update)(node); - node = node->next; - } -} - -static Bool -ExpertInitialize(void) -{ - Widget paned, vpane, close, config, files, modules, flags, video, modes, - monitor, device, screen, input, layout, vendor, dri; - Arg args[4]; - Dimension width, height, canvasWidth, canvasHeight; - TreeNode *node; - - if (expert != NULL) - return (False); - - shell = XtCreatePopupShell("Expert", transientShellWidgetClass, - toplevel, NULL, 0); - paned = XtVaCreateManagedWidget("paned", panedWidgetClass, shell, - XtNorientation, XtorientHorizontal, NULL); - vpane = XtCreateManagedWidget("vpane", panedWidgetClass, paned, NULL, 0); - panner = XtCreateManagedWidget ("panner", pannerWidgetClass, vpane, NULL, 0); - close = XtCreateManagedWidget("close", commandWidgetClass, vpane, NULL, 0); - XtAddCallback(close, XtNcallback, PopdownCallback, NULL); - - expert = XtCreateManagedWidget("expert", portholeWidgetClass, paned, NULL, 0); - XtAddCallback(expert, XtNreportCallback, PortholeCallback, NULL); - XtAddCallback(panner, XtNreportCallback, PannerCallback, NULL); - tree = XtCreateManagedWidget("tree", treeWidgetClass, expert, NULL, 0); - - config = XtVaCreateManagedWidget(__XCONFIGFILE__, toggleWidgetClass, tree, - XtNstate, True, NULL); - mainNode = NewNode(NULL, config, config, NULL, NULL); - - files = XtVaCreateManagedWidget("Files", toggleWidgetClass, tree, - XtNtreeParent, config, NULL); - node = NewNode(mainNode, files, files, config, NULL); - mainNode->child = node; - CreateFiles(node); - - modules = XtVaCreateManagedWidget("Module", toggleWidgetClass, tree, - XtNtreeParent, config, NULL); - node->next = NewNode(mainNode, modules, modules, config, NULL); - node = node->next; - CreateModule(node, XF86Config->conf_modules ? - XF86Config->conf_modules->mod_load_lst : NULL); - - flags = XtVaCreateManagedWidget("ServerFlags", commandWidgetClass, tree, - XtNtreeParent, config, NULL); - node->next = NewNode(mainNode, flags, NULL, config, NULL); - node = node->next; - if (XF86Config->conf_flags == NULL) - XF86Config->conf_flags = (XF86ConfFlagsPtr) - XtCalloc(1, sizeof(XF86ConfFlagsRec)); - XtAddCallback(flags, XtNcallback, OptionsCallback, - (XtPointer)&(XF86Config->conf_flags->flg_option_lst)); - - video = XtVaCreateManagedWidget("VideoAdaptor", toggleWidgetClass, tree, - XtNtreeParent, config, NULL); - node->next = NewNode(mainNode, video, video, config, NULL); - node = node->next; - CreateVideoAdaptor(node, XF86Config->conf_videoadaptor_lst); - - modes = XtVaCreateManagedWidget("Mode", toggleWidgetClass, tree, - XtNtreeParent, config, NULL); - node->next = NewNode(mainNode, modes, modes, config, NULL); - node = node->next; - CreateModes(node, XF86Config->conf_modes_lst); - - monitor = XtVaCreateManagedWidget("Monitor", toggleWidgetClass, tree, - XtNtreeParent, config, NULL); - node->next = NewNode(mainNode, monitor, monitor, config, NULL); - node = node->next; - CreateMonitor(monitorTree = node, XF86Config->conf_monitor_lst); - - device = XtVaCreateManagedWidget("Device", toggleWidgetClass, tree, - XtNtreeParent, config, NULL); - node->next = NewNode(mainNode, device, device, config, NULL); - node = node->next; - CreateDevice(node, XF86Config->conf_device_lst); - - screen = XtVaCreateManagedWidget("Screen", toggleWidgetClass, tree, - XtNtreeParent, config, NULL); - node->next = NewNode(mainNode, screen, screen, config, NULL); - node = node->next; - CreateScreen(screenTree = node, XF86Config->conf_screen_lst); - - input = XtVaCreateManagedWidget("Input", toggleWidgetClass, tree, - XtNtreeParent, config, NULL); - node->next = NewNode(mainNode, input, input, config, NULL); - node = node->next; - CreateInput(node, XF86Config->conf_input_lst); - - layout = XtVaCreateManagedWidget("Layout", toggleWidgetClass, tree, - XtNtreeParent, config, NULL); - node->next = NewNode(mainNode, layout, layout, config, NULL); - node = node->next; - CreateLayout(layoutTree = node, XF86Config->conf_layout_lst); - - vendor = XtVaCreateManagedWidget("Vendor", toggleWidgetClass, tree, - XtNtreeParent, config, NULL); - node->next = NewNode(mainNode, vendor, vendor, config, NULL); - node = node->next; - CreateVendor(node, XF86Config->conf_vendor_lst); - - dri = XtVaCreateManagedWidget("DRI", toggleWidgetClass, tree, - XtNtreeParent, config, NULL); - node->next = NewNode(mainNode, dri, dri, config, NULL); - node = node->next; - if (XF86Config->conf_dri == NULL) - XF86Config->conf_dri = (XF86ConfDRIPtr) - XtCalloc(1, sizeof(XF86ConfDRIRec)); - CreateDRI(node, XF86Config->conf_dri); - - XtRealizeWidget(shell); - - XtSetArg(args[0], XtNwidth, &width); - XtSetArg(args[1], XtNheight, &height); - XtGetValues(shell, args, 2); - XtSetArg(args[0], XtNwidth, width); - XtSetArg(args[1], XtNheight, height); - XtSetValues(expert, args, 2); - - XtSetArg(args[0], XtNsliderWidth, width); - XtSetArg(args[1], XtNsliderHeight, height); - XtSetArg(args[2], XtNwidth, &canvasWidth); - XtSetArg(args[3], XtNheight, &canvasHeight); - XtGetValues(tree, args + 2, 2); - XtSetArg(args[2], XtNcanvasWidth, canvasWidth); - XtSetArg(args[3], XtNcanvasHeight, canvasHeight); - XtSetValues(panner, args, 4); - - /* needs to do the apparently NOP code bellow to correctly layout the - * tree widget */ - - /* close all open entries */ - ToggleCallback(config, mainNode, (XtPointer)0); - /* open first level */ - ToggleCallback(config, mainNode, (XtPointer)1); - - XSetWMProtocols(DPY, XtWindow(shell), &wm_delete_window, 1); - - return (True); -} diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/help.c b/xorg-server/hw/xfree86/utils/xorgcfg/help.c deleted file mode 100644 index cd5c2c2f4..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/help.c +++ /dev/null @@ -1,1785 +0,0 @@ -/* - * Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) - * - * 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 - * CONECTIVA LINUX 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 Conectiva Linux shall - * not be used in advertising or otherwise to promote the sale, use or other - * dealings in this Software without prior written authorization from - * Conectiva Linux. - * - * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> - * - */ - -#include <X11/IntrinsicP.h> -#include <X11/StringDefs.h> -#include <X11/Shell.h> -#include <X11/Xaw/AsciiText.h> -#include <X11/Xaw/Command.h> -#include <X11/Xaw/Form.h> -#include <X11/Xaw/Paned.h> - -#include <X11/Xaw/Text.h> -#include <X11/Xaw/TextSinkP.h> -#include <X11/Xaw/TextSrcP.h> -#include <X11/Xmu/SysUtil.h> -#include <X11/Xmu/Xmu.h> -#include <stdlib.h> /* for bsearch() */ -#include <ctype.h> -#include "help.h" -#include "options.h" - -/* - * Prototypes - */ -static void CloseCallback(Widget, XtPointer, XtPointer); -static void StartHelp(void); -void Html_ModeStart(Widget); - -/* - * Initialization - */ -static Widget shell, text; -static Bool popped_up = False; - -/* - * Implementation - */ -void -Help(char *topic) -{ - Widget source; - char *str = NULL; - Bool error = False; - static char *def_text = "<h2>Help Error</h2>" - "No help available for the topic <b>%s</b>."; - XtResource resource = { - NULL, "HelpMessage", XtRString, sizeof(char*), - 0, XtRString, NULL - }; - - StartHelp(); - source = XawTextGetSource(text); - XawTextSourceClearEntities(source, 0, - XawTextSourceScan(source, 0, XawstAll, - XawsdRight, 1, True)); - if (topic != NULL) { - resource.resource_name = topic; - XtGetApplicationResources(shell, (XtPointer)&str, - &resource, 1, NULL, 0); - } - if (str == NULL) { - int len; - - error = True; - if (topic == NULL) - topic = "(null argument)"; - str = XtMalloc(len = strlen(topic) + strlen(def_text) + 1); - XmuSnprintf(str, len, def_text, topic); - } - XtVaSetValues(text, XtNstring, str, NULL); - if (error) - XtFree(str); - - Html_ModeStart(source); - _XawTextBuildLineTable((TextWidget)text, - XawTextTopPosition(text), True); - XawTextDisplay(text); - if (popped_up == False) { - popped_up = True; - XtPopup(shell, XtGrabNone); - XtSetKeyboardFocus(shell, text); - } -} - -static void -StartHelp(void) -{ - static XtResource resource = { - "properties", "Properties", XtRString, sizeof(char*), - 0, XtRString, NULL - }; - - if (shell == NULL) { - Widget pane, commands, close; - char *props; - XawTextPropertyList *propl; - - shell = XtCreatePopupShell("help", transientShellWidgetClass, - toplevel, NULL, 0); - pane = XtCreateManagedWidget("pane", panedWidgetClass, - shell, NULL, 0); - text = XtVaCreateManagedWidget("text", asciiTextWidgetClass, - pane, XtNeditType, XawtextRead, NULL); - commands = XtCreateManagedWidget("commands", formWidgetClass, pane, - NULL, 0); - close = XtCreateManagedWidget("close", commandWidgetClass, - commands, NULL, 0); - XtAddCallback(close, XtNcallback, CloseCallback, NULL); - XtRealizeWidget(shell); - XSetWMProtocols(DPY, XtWindow(shell), &wm_delete_window, 1); - XtGetApplicationResources(text, (XtPointer)&props, - &resource, 1, NULL, 0); - propl = XawTextSinkConvertPropertyList("html", props, - toplevel->core.screen, - toplevel->core.colormap, - toplevel->core.depth); - XtVaSetValues(XawTextGetSink(text), XawNtextProperties, propl, NULL); - } -} - -/*ARGSUSED*/ -static void -CloseCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - XtPopdown(shell); - popped_up = False; -} - -/*ARGSUSED*/ -void -HelpCancelAction(Widget w, XEvent *event, String *params, Cardinal *num_params) -{ - CloseCallback(w, NULL, NULL); -} - - -/* bellow is a modified version of the html-mode.c I wrote for xedit - * (at least) temporarily dead. - */ - -/* - * Copyright (c) 1999 by The XFree86 Project, Inc. - * - * 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 XFREE86 PROJECT 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 the XFree86 Project 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 - * XFree86 Project. - * - * Author: Paulo César Pereira de Andrade - */ - -#define Html_Peek(parser) ((parser)->next) - -/* - * Types - */ -typedef struct _Html_Parser Html_Parser; -typedef struct _Html_Item Html_Item; - -typedef struct _Html_TagInfo { - char *name; - unsigned int entity : 1; /* it changes the type of the text */ - unsigned int nest : 1; /* does not close tags automatically */ - unsigned int end : 1; /* need a close markup */ - unsigned int adnl : 1; /* add newline before/after tag contents */ - unsigned int para : 1; /* changes the paragraph formatting */ - unsigned long mask; /* enforce use of attributes of this tag-info */ - unsigned long xlfd_mask; - void (*parse_args)(Html_Parser*, Html_Item*); - XawTextProperty *override; - XrmQuark ident; -} Html_TagInfo; - -struct _Html_Item { - XrmQuark ident; - XawTextPosition start, end; - Html_TagInfo *info; - - XawTextProperty *combine; - Bool override; - int li; - - XtPointer replace; - - Html_Item *parent, *child, *next; -}; - -struct _Html_Parser { - Widget source; - XawTextBlock block, replace; - XawTextPosition position, offset, start, end, last; - XrmQuark quark; - int i, ch, next; - Html_Item *item, *head; - XmuScanline *mask; - int space, pre, adnl, list, desc, column; - Bool spc; - XawTextBlock *entity; - - Pixel alink; -}; - -typedef struct _Html_SourceInfo Html_SourceInfo; -struct _Html_SourceInfo { - Widget source; - XawTextBlock block; - XawTextPosition last; - Html_SourceInfo *next; -}; - -/* - * Proptotypes - */ -void Html_ModeEnd(Widget); -static void Html_ModeInit(void); -static void Html_ParseCallback(Widget, XtPointer, XtPointer); -static Html_TagInfo *Html_GetInfo(char*); -static int Html_Get(Html_Parser*); -static int Html_Parse1(Html_Parser*); -static int Html_Parse2(Html_Parser*); -static void Html_ParseTag(Html_Parser*); -static void Html_Commit(Html_Parser*); -static void Html_AddEntities(Html_Parser*, Html_Item*); - -static int Html_Put(Html_Parser*, int); -static void Html_Puts(Html_Parser*, char*); -static int Html_Format1(Html_Parser*); -static int Html_Format2(Html_Parser*); -static int Html_Format3(Html_Parser*); -static void Html_FormatTag(Html_Parser*); - -static void Html_AArgs(Html_Parser*, Html_Item*); -static void Html_FontArgs(Html_Parser*, Html_Item*); - -/* - * Initialization - */ -static XrmQuark - Qbr, - Qdefault, - Qdd, - Qdl, - Qdt, - Qentity, - Qetag, - Qhide, - Qli, - Qol, - Qp, - Qpre, - Qspace, - Qtag, - Qul; - -static Html_TagInfo tag_info[] = { - {"a", 1, 0, 1, 0, 0, - 0, 0, - Html_AArgs}, - {"address", 1, 0, 1, 0, 0, - 0, XAW_TPROP_SLANT, - }, - {"b", 1, 0, 1, 0, 0, - 0, XAW_TPROP_WEIGHT, - }, - {"blockquote", 0, 1, 1, 1, 1, - 0, 0, - }, - {"body", 0, 0, 1, 0, 0, - 0, 0, - }, - {"br", 0, 0, 0, 0, 0, - }, - {"code", 1, 0, 1, 0, 0, - 0, XAW_TPROP_FAMILY | XAW_TPROP_PIXELSIZE, - }, - {"dd", 0, 1, 1, 0, 1, - 0, 0}, - {"dl", 0, 1, 1, 0, 0, - 0, 0, - }, - {"dt", 0, 0, 1, 0, 0, - 0, 0}, - {"em", 1, 0, 1, 0, 0, - 0, XAW_TPROP_SLANT, - }, - {"font", 1, 1, 1, 0, 0, - 0, 0, - Html_FontArgs}, - {"h1", 1, 0, 1, 1, 0, - 0, XAW_TPROP_WEIGHT | XAW_TPROP_PIXELSIZE, - }, - {"h2", 1, 0, 1, 1, 0, - 0, XAW_TPROP_WEIGHT | XAW_TPROP_PIXELSIZE, - }, - {"h3", 1, 0, 1, 1, 0, - 0, XAW_TPROP_WEIGHT | XAW_TPROP_PIXELSIZE, - }, - {"h4", 1, 0, 1, 1, 0, - 0, XAW_TPROP_WEIGHT | XAW_TPROP_PIXELSIZE, - }, - {"h5", 1, 0, 1, 1, 0, - 0, XAW_TPROP_WEIGHT | XAW_TPROP_PIXELSIZE, - }, - {"h6", 1, 0, 1, 1, 0, - 0, XAW_TPROP_WEIGHT | XAW_TPROP_PIXELSIZE, - }, - {"head", 0, 0, 1, 0, 0, - 0, 0, - }, - {"html", 0, 0, 1, 0, 0, - 0, 0, - }, - {"i", 1, 0, 1, 0, 0, - 0, XAW_TPROP_SLANT, - }, - {"kbd", 1, 0, 1, 0, 0, - 0, XAW_TPROP_FAMILY | XAW_TPROP_PIXELSIZE, - }, - {"li", 0, 0, 0, 0, 0, - 0, 0}, - {"ol", 0, 1, 1, 0, 1, - 0, 0, - }, - {"p", 0, 0, 0, 1, 0, - }, - {"pre", 1, 0, 1, 1, 0, - 0, XAW_TPROP_FAMILY | XAW_TPROP_PIXELSIZE, - }, - {"samp", 1, 0, 1, 0, 0, - 0, XAW_TPROP_FAMILY | XAW_TPROP_PIXELSIZE, - }, - {"strong", 1, 0, 1, 0, 0, - 0, XAW_TPROP_WEIGHT, - }, - {"tt", 1, 0, 1, 0, 0, - 0, XAW_TPROP_FAMILY | XAW_TPROP_PIXELSIZE, - }, - {"ul", 0, 1, 1, 0, 1, - 0, 0, - }, -}; - -static char *pnl = "<p>\n", *nlpnl = "\n<p>\n"; -static Html_SourceInfo *source_info; - -/* - * Implementation - */ -static char * -Html_GetText(Widget src, XawTextPosition position) -{ - char *result, *tempResult; - XawTextPosition offset = 0; - XawTextBlock text; - - tempResult = result = XtMalloc((unsigned)(position + 1)); - - while (offset < position) { - offset = XawTextSourceRead(src, offset, &text, position - offset); - if (!text.length) - break; - memcpy(tempResult, text.ptr, (unsigned)text.length); - tempResult += text.length; - } - - *tempResult = '\0'; - - return (result); -} - -void -Html_ModeStart(Widget src) -{ - Html_Parser *parser = XtNew(Html_Parser); - Html_Item *next, *item; - XColor color, exact; - Html_SourceInfo *info = XtNew(Html_SourceInfo); - - if (XAllocNamedColor(XtDisplay(toplevel), toplevel->core.colormap, - "blue", &color, &exact)) - parser->alink = color.pixel; - else - parser->alink = 0L; - - XtVaSetValues(src, XtNeditType, XawtextEdit, NULL); - - Html_ModeInit(); - - /* initialize parser state */ - parser->source = src; - parser->position = XawTextSourceRead(parser->source, 0, - &parser->block, 4096); - parser->replace.ptr = NULL; - parser->replace.firstPos = 0; - parser->replace.length = 0; - parser->replace.format = FMT8BIT; - parser->offset = -1; - parser->quark = NULLQUARK; - parser->i = 0; - parser->i = parser->ch = parser->next = 0; - parser->last = XawTextSourceScan(src, 0, XawstAll, XawsdRight, 1, 1); - if (parser->block.length == 0) - parser->ch = parser->next = EOF; - else - (void)Html_Get(parser); - parser->pre = 0; - parser->adnl = 1; - parser->list = parser->desc = parser->column = 0; - parser->spc = True; - - info->source = src; - info->block.ptr = Html_GetText(src, parser->last); - info->block.length = parser->last; - info->block.format = FMT8BIT; - info->block.firstPos = 0; - info->next = NULL; - if (source_info == NULL) - source_info = info; - else { - Html_SourceInfo *tmp = source_info; - - while (tmp->next) - tmp = tmp->next; - tmp->next = info; - } - - while (Html_Format1(parser) != EOF) - ; - XawTextSourceReplace(parser->source, 0, parser->last, &parser->replace); - XtFree(parser->replace.ptr); - - /* re-initialize parser state */ - parser->position = XawTextSourceRead(parser->source, 0, - &parser->block, 4096); - parser->offset = -1; - parser->quark = NULLQUARK; - parser->i = parser->ch = parser->next = 0; - parser->last = XawTextSourceScan(src, 0, XawstAll, XawsdRight, 1, 1); - info->last = parser->last; - if (parser->block.length == 0) - parser->ch = parser->next = EOF; - else - (void)Html_Get(parser); - parser->adnl = 1; - parser->list = parser->desc = parser->column = 0; - parser->spc = True; - parser->head = parser->item = NULL; - - parser->mask = XmuNewScanline(0, 0, 0); - - /* build html structure information */ - while (Html_Parse1(parser) != EOF) - ; - - /* create top level entity mask */ - (void)XmuScanlineNot(parser->mask, 0, parser->last); - - item = parser->item; - while (item) { - next = item->next; - Html_AddEntities(parser, item); - if (item->combine) - XtFree((XtPointer)item->combine); - XtFree((XtPointer)item); - item = next; - } - XmuDestroyScanline(parser->mask); - - XtVaSetValues(src, XtNeditType, XawtextRead, NULL); - - XtFree((XtPointer)parser); - - /* add callbacks for interactive changes */ - XtAddCallback(src, XtNpropertyCallback, Html_ParseCallback, NULL); -} - -void -Html_ModeEnd(Widget src) -{ - Html_SourceInfo *info, *pinfo; - - XtRemoveCallback(src, XtNpropertyCallback, Html_ParseCallback, NULL); - for (pinfo = info = source_info; info; pinfo = info, info = info->next) - if (info->source == src) - break; - - if (info == NULL) - return; - - XawTextSourceClearEntities(src, 0, info->last); - XtVaSetValues(src, XtNeditType, XawtextEdit, NULL); - XawTextSourceReplace(src, 0, info->last, &info->block); - XtVaSetValues(src, XtNeditType, XawtextRead, NULL); - - if (info == source_info) - source_info = source_info->next; - else - pinfo->next = info->next; - XtFree(info->block.ptr); - XtFree((XtPointer)info); -} - -static void -Html_ParseCallback(Widget w, XtPointer client_data, XtPointer call_data) -{ -} - -static int -bcmp_tag_info(_Xconst void *left, _Xconst void *right) -{ - return (strcmp((char*)left, ((Html_TagInfo*)right)->name)); -} - -static Html_TagInfo * -Html_GetInfo(char *name) -{ - return (bsearch(name, tag_info, sizeof(tag_info) / sizeof(tag_info[0]), - sizeof(Html_TagInfo), bcmp_tag_info)); -} - -static int -Html_Get(Html_Parser *parser) -{ - if (parser->ch == EOF) - return (EOF); - if (parser->i >= parser->block.length) { - parser->i = 0; - parser->position = XawTextSourceRead(parser->source, parser->position, - &parser->block, 4096); - } - parser->ch = parser->next; - if (parser->block.length == 0) - parser->next = EOF; - else - parser->next = (unsigned char)parser->block.ptr[parser->i++]; - parser->offset++; - - return (parser->ch); -} - -static void -Html_ModeInit(void) -{ - static int initialized; - int i; - - if (initialized) - return; - - Qbr = XrmPermStringToQuark("br"); - Qdd = XrmPermStringToQuark("dd"); - Qdefault = XrmPermStringToQuark("default"); - Qdl = XrmPermStringToQuark("dl"); - Qdt = XrmPermStringToQuark("dt"); - Qentity = XrmPermStringToQuark("entity"); - Qetag = XrmPermStringToQuark("/tag"); - Qhide = XrmPermStringToQuark("hide"); - Qli = XrmPermStringToQuark("li"); - Qol = XrmPermStringToQuark("ol"); - Qp = XrmPermStringToQuark("p"); - Qpre = XrmPermStringToQuark("pre"); - Qspace = XrmPermStringToQuark("space"); - Qtag = XrmPermStringToQuark("tag"); - Qul = XrmPermStringToQuark("ul"); - - for (i = 0; i < sizeof(tag_info) / sizeof(tag_info[0]); i++) - tag_info[i].ident = XrmPermStringToQuark(tag_info[i].name); - - initialized = True; -} - -/************************************************************************/ -/* PARSE */ -/************************************************************************/ -static void -Html_AddEntities(Html_Parser *parser, Html_Item *item) -{ - Html_Item *parent, *next, *child = item->child; - XmuSegment segment, *ent; - XmuScanline *mask = XmuNewScanline(0, 0, 0); - XawTextProperty *tprop, *property = NULL; - Widget sink; - Bool changed = False; - - /* combine properties */ - if (item->info && - (item->info->entity || - (item->parent && item->parent->ident != item->parent->info->ident))) { - sink = XawTextGetSink(text); - parent = item->parent; - property = XawTextSinkCopyProperty(sink, item->ident); - property->mask = item->info->mask; - property->xlfd_mask = item->info->xlfd_mask; - if (parent) { - (void)XawTextSinkCombineProperty(sink, property, - XawTextSinkGetProperty(sink, parent->ident), False); - if (item->combine && parent->combine) - (void)XawTextSinkCombineProperty(sink, item->combine, - parent->combine, - item->override); - } - if (item->combine) - XawTextSinkCombineProperty(sink, property, item->combine, True); - tprop = property; - property = XawTextSinkAddProperty(sink, property); - XtFree((XtPointer)tprop); - if (property && item->ident != property->identifier) { - item->ident = property->identifier; - changed = True; - } - } - - if (item->end < 0) { - if (item->next) - item->end = item->next->start; - else if (item->parent) - item->end = item->parent->end; - else - item->end = parser->last; - } - - while (child) { - next = child->next; - segment.x1 = child->start; - segment.x2 = child->end; - (void)XmuScanlineOrSegment(mask, &segment); - Html_AddEntities(parser, child); - if (child->combine) - XtFree((XtPointer)child->combine); - XtFree((XtPointer)child); - child = next; - } - - /* build entity mask */ - (void)XmuScanlineNot(mask, item->start, item->end); - (void)XmuScanlineAnd(mask, parser->mask); - - /* add entities */ - if (item->info && changed) { - for (ent = mask->segment; ent; ent = ent->next) - (void)XawTextSourceAddEntity(parser->source, 0, 0, NULL, ent->x1, - ent->x2 - ent->x1, item->ident); - } - else if (item->info == NULL) - (void)XawTextSourceAddEntity(parser->source, 0, - XAW_TENTF_READ | XAW_TENTF_REPLACE, - item->replace, item->start, - item->end - item->start, - item->parent->ident); - - /* set mask for parent entities */ - (void)XmuScanlineOr(parser->mask, mask); - XmuDestroyScanline(mask); - -#if 0 - if (item->info && item->info->para) { - XawTextSourceSetParagraph(parser->source, item->start, item->end, - 40, /* arbitrary value, for testing */ - 0, 0); - } -#endif -} - -static void -Html_Commit(Html_Parser *parser) -{ - XawTextPosition position; - int length; - - position = parser->start; - length = parser->end - parser->start; - if (position < 0) { - length += position; - position = 0; - } - if (position + length > parser->last + 1) - length -= (position + length) - parser->last + 1; - - if (parser->quark != Qdefault && parser->quark != NULLQUARK && length > 0) { - XmuSegment segment; - Html_Item *head = parser->head; - XrmQuark quark = parser->quark; - - parser->quark = Qdefault; - - if (quark == Qli && head && - (head->info->ident == Qol || head->info->ident == Qul)) { - if (parser->head == NULL || head->info->ident != Qol) - XawTextSourceAddEntity(parser->source, 0, /*XAW_TENT_BULLET,*/ - XAW_TENTF_HIDE, NULL, - position, length, Qli); - else - XawTextSourceAddEntity(parser->source, 0, /*XAW_TENT_LITEM,*/ - XAW_TENTF_HIDE, - (XtPointer)(long)head->li++, - position, length, Qli); - } - else if (quark == Qhide) - XawTextSourceAddEntity(parser->source, 0, XAW_TENTF_HIDE, NULL, - position, length, quark); - else if (quark == Qentity) { - if (head && head->end == -1) { - Html_Item *item, *it; - - item = XtNew(Html_Item); - item->ident = Qentity; - item->start = position; - item->end = position + length; - item->info = NULL; - item->combine = NULL; - item->override = False; - item->replace = (XtPointer)parser->entity; - item->child = item->next = NULL; - - it = head->child; - - item->parent = head; - if (it == NULL) - head->child = item; - else { - while (it->next) - it = it->next; - it->next = item; - } - - return; - } - XawTextSourceAddEntity(parser->source, 0, - XAW_TENTF_READ | XAW_TENTF_REPLACE, - (XtPointer)parser->entity, - position, length, Qentity); - } - - segment.x1 = position; - segment.x2 = position + length; - (void)XmuScanlineOrSegment(parser->mask, &segment); - } -} - -static void -Html_ParseTag(Html_Parser *parser) -{ - int ch, sz; - char buf[32]; - Html_TagInfo *info; - Html_Item *item = NULL; - XawTextPosition offset = parser->offset - 1; - - switch (Html_Peek(parser)) { - case '!': - (void)Html_Get(parser); /* eat `!' */ - if (Html_Peek(parser) == '-') { - /* comment */ - (void)Html_Get(parser); /* eat `-' */ - if (Html_Peek(parser) == '-') { - int count = 0; - - (void)Html_Get(parser); - while ((ch = Html_Peek(parser)) != EOF) { - if (ch == '>' && count >= 2) - break; - else if (ch == '-') - ++count; - else - count = 0; - (void)Html_Get(parser); - } - } - } - break; - case '?': - break; - case '/': - (void)Html_Get(parser); /* eat `/' */ - sz = 0; - while (isalnum(Html_Peek(parser)) && - ((sz + 1) < sizeof(buf))) - buf[sz++] = tolower(Html_Get(parser)); - buf[sz] = '\0'; - if ((info = Html_GetInfo(buf)) != NULL) { - if (parser->head) { - Html_Item *it = parser->head; - - while (it) { - if (it->info == info) - break; - it = it->parent; - } - - if (it) { - if (it == parser->head) - parser->head->end = offset; - else { - it->end = offset; - do { - parser->head->end = offset; - parser->head = parser->head->parent; - } while (parser->head != it); - } - if (parser->head->parent) - parser->head = parser->head->parent; - else - parser->head = parser->item; - } - } - } - break; - default: - sz = 0; - while (isalnum(Html_Peek(parser)) && - ((sz + 1) < sizeof(buf))) - buf[sz++] = tolower(Html_Get(parser)); - buf[sz] = '\0'; - if ((info = Html_GetInfo(buf)) != NULL) { - if (info->end == False) { - if (info->ident == Qli) - parser->quark = Qli; - if (!info->para) - break; /* no more processing required */ - } - item = XtNew(Html_Item); - item->info = info; - item->ident = item->info->ident; - item->combine = NULL; - item->override = False; - item->start = item->end = -1; - if (info->ident == Qol) - item->li = 1; - else - item->li = 0; - item->parent = item->child = item->next = NULL; - if (parser->item == NULL) - parser->item = parser->head = item; - else if (parser->head->end == -1) { - if (parser->head->info != item->info || info->nest) { - Html_Item *it = parser->head; - - /* first, see if we need to close a long list of tags */ - if (info->ident == Qdd) { - if (parser->head && - parser->head->info->ident == Qdt) { - parser->head->end = offset; - parser->head = parser->head->parent; - } - } - else if (info->ident == Qdt) { - if (parser->head && - parser->head->info->ident == Qdd) { - parser->head->end = offset; - parser->head = parser->head->parent; - } - } - else if (!info->nest) { - while (it) { - if (it->info == info || it->info->end) - break; - it = it->parent; - } - if (it) { - /* close the items */ - while (parser->head != it) { - if (parser->head->info->ident == Qpre) - --parser->pre; - parser->head->end = offset; - parser->head = parser->head->parent; - } - } - } - - /* add child item */ - it = parser->head->child; - - item->parent = parser->head; - if (it == NULL) - parser->head->child = item; - else { - while (it->next) - it = it->next; - it->next = item; - } - parser->head = item; - } - else { - /* close the `head' item and start a new one */ - Html_Item *it; - - parser->head->end = offset; - if (parser->head->parent) - parser->head = parser->head->parent; - else - parser->head = parser->item; - - if ((it = parser->head->child) != NULL) { - item->parent = parser->head; - while (it->next) - it = it->next; - it->next = item; - parser->head = item; - } - else { - parser->head->child = item; - parser->head = item; - } - } - } - else { - /* this is not common, but handle it */ - Html_Item *it = parser->item; - - while (it->next) - it = it->next; - it->next = item; - parser->head = item; - } - if (info->parse_args) - (info->parse_args)(parser, item); - } - break; - } - - /* skip anything not processed */ - while ((ch = Html_Peek(parser)) != '>' && ch != EOF) - (void)Html_Get(parser); - if (item && item->start == -1) - item->start = parser->offset + 1; -} - -/* tags */ -static int -Html_Parse2(Html_Parser *parser) -{ - int ch; - - for (;;) { - if ((ch = Html_Get(parser)) == '<') { - parser->end = parser->offset - 1; - Html_Commit(parser); - parser->quark = Qhide; - parser->start = parser->end; - - Html_ParseTag(parser); - - (void)Html_Get(parser); /* eat `>' */ - parser->end = parser->offset; - Html_Commit(parser); - } - else - return (ch); - } - /*NOTREACHED*/ -} - -/* entities */ -static int -Html_Parse1(Html_Parser *parser) -{ - static XawTextBlock *entities[256]; - static char chars[256]; - int ch; - - for (;;) { - if ((ch = Html_Parse2(parser)) == EOF) - return (EOF); - - if (ch == '&') { - unsigned char idx = '?'; - char buf[32]; - int sz = 0; - - /* the string comparisons need a big optmization! */ - parser->end = parser->offset - 1; - Html_Commit(parser); - parser->start = parser->end; - while ((ch = Html_Peek(parser)) != ';' - && ch != EOF && !isspace(ch)) { - ch = Html_Get(parser); - if (sz + 1 < sizeof(buf)) - buf[sz++] = ch; - } - buf[sz] = '\0'; - if (ch == ';') - (void)Html_Get(parser); - if (sz == 0) - idx = '&'; - else if (strcasecmp(buf, "lt") == 0) - idx = '<'; - else if (strcasecmp(buf, "gt") == 0) - idx = '>'; - else if (strcasecmp(buf, "nbsp") == 0) - idx = ' '; - else if (strcasecmp(buf, "amp") == 0) - idx = '&'; - else if (strcasecmp(buf, "quot") == 0) - idx = '"'; - else if (*buf == '#') { - if (sz == 1) - idx = '#'; - else { - char *tmp; - - idx = strtol(buf + 1, &tmp, 10); - if (*tmp) - idx = '?'; - } - } - else if (strcmp(buf + 1, "acute") == 0) { - switch (*buf) { - case 'a': idx = 0xe1; break; case 'e': idx = 0xe9; break; - case 'i': idx = 0xed; break; case 'o': idx = 0xf3; break; - case 'u': idx = 0xfa; break; case 'A': idx = 0xc1; break; - case 'E': idx = 0xc9; break; case 'I': idx = 0xcd; break; - case 'O': idx = 0xd3; break; case 'U': idx = 0xda; break; - case 'y': idx = 0xfd; break; case 'Y': idx = 0xdd; break; - } - } - else if (strcmp(buf + 1, "grave") == 0) { - switch (*buf) { - case 'a': idx = 0xe0; break; case 'e': idx = 0xe8; break; - case 'i': idx = 0xec; break; case 'o': idx = 0xf2; break; - case 'u': idx = 0xf9; break; case 'A': idx = 0xc0; break; - case 'E': idx = 0xc8; break; case 'I': idx = 0xcc; break; - case 'O': idx = 0xd2; break; case 'U': idx = 0xd9; break; - } - } - else if (strcmp(buf + 1, "tilde") == 0) { - switch (*buf) { - case 'a': idx = 0xe3; break; case 'o': idx = 0xf5; break; - case 'n': idx = 0xf1; break; case 'A': idx = 0xc3; break; - case 'O': idx = 0xd5; break; case 'N': idx = 0xd1; break; - } - } - else if (strcmp(buf + 1, "circ") == 0) { - switch (*buf) { - case 'a': idx = 0xe2; break; case 'e': idx = 0xea; break; - case 'i': idx = 0xee; break; case 'o': idx = 0xf4; break; - case 'u': idx = 0xfb; break; case 'A': idx = 0xc2; break; - case 'E': idx = 0xca; break; case 'I': idx = 0xce; break; - case 'O': idx = 0xd4; break; case 'U': idx = 0xdb; break; - } - } - else if (strcmp(buf + 1, "uml") == 0) { - switch (*buf) { - case 'a': idx = 0xe4; break; case 'e': idx = 0xeb; break; - case 'i': idx = 0xef; break; case 'o': idx = 0xf6; break; - case 'u': idx = 0xfc; break; case 'A': idx = 0xc4; break; - case 'E': idx = 0xcb; break; case 'I': idx = 0xfc; break; - case 'O': idx = 0xd6; break; case 'U': idx = 0xdc; break; - case 'y': idx = 0xff; break; - } - } - else if (strcmp(buf + 1, "cedil") == 0) { - switch (*buf) { - case 'c': idx = 0xe7; break; case 'C': idx = 0xc7; break; - } - } - else if (strcmp(buf + 1, "slash") == 0) { - switch (*buf) { - case 'o': idx = 0xf8; break; case 'O': idx = 0xd8; break; - } - } - else if (strcmp(buf + 1, "ring") == 0) { - switch (*buf) { - case 'a': idx = 0xe5; break; case 'A': idx = 0xc5; break; - } - } - else if (strcasecmp(buf, "iexcl") == 0) - idx = 0xa1; - else if (strcasecmp(buf, "cent") == 0) - idx = 0xa2; - else if (strcasecmp(buf, "pound") == 0) - idx = 0xa3; - else if (strcasecmp(buf, "curren") == 0) - idx = 0xa4; - else if (strcasecmp(buf, "yen") == 0) - idx = 0xa5; - else if (strcasecmp(buf, "brvbar") == 0) - idx = 0xa6; - else if (strcasecmp(buf, "sect") == 0) - idx = 0xa7; - else if (strcasecmp(buf, "uml") == 0) - idx = 0xa8; - else if (strcasecmp(buf, "copy") == 0) - idx = 0xa9; - else if (strcasecmp(buf, "ordf") == 0) - idx = 0xaa; - else if (strcasecmp(buf, "laquo") == 0) - idx = 0xab; - else if (strcasecmp(buf, "not") == 0) - idx = 0xac; - else if (strcasecmp(buf, "shy") == 0) - idx = 0xad; - else if (strcasecmp(buf, "reg") == 0) - idx = 0xae; - else if (strcasecmp(buf, "macr") == 0) - idx = 0xaf; - else if (strcasecmp(buf, "deg") == 0) - idx = 0xb0; - else if (strcasecmp(buf, "plusmn") == 0) - idx = 0xb1; - else if (strcasecmp(buf, "sup2") == 0) - idx = 0xb2; - else if (strcasecmp(buf, "sup3") == 0) - idx = 0xb3; - else if (strcasecmp(buf, "acute") == 0) - idx = 0xb4; - else if (strcasecmp(buf, "micro") == 0) - idx = 0xb5; - else if (strcasecmp(buf, "para") == 0) - idx = 0xb6; - else if (strcasecmp(buf, "middot") == 0) - idx = 0xb7; - else if (strcasecmp(buf, "cedil") == 0) - idx = 0xb8; - else if (strcasecmp(buf, "supl") == 0) - idx = 0xb9; - else if (strcasecmp(buf, "ordm") == 0) - idx = 0xba; - else if (strcasecmp(buf, "raquo") == 0) - idx = 0xbb; - else if (strcasecmp(buf, "frac14") == 0) - idx = 0xbc; - else if (strcasecmp(buf, "frac12") == 0) - idx = 0xbd; - else if (strcasecmp(buf, "frac34") == 0) - idx = 0xbe; - else if (strcasecmp(buf, "iquest") == 0) - idx = 0xbf; - else if (strcasecmp(buf, "AElig") == 0) - idx = 0xc6; - else if (strcasecmp(buf, "ETH") == 0) - idx = 0xd0; - else if (strcasecmp(buf, "THORN") == 0) - idx = 0xde; - else if (strcasecmp(buf, "szlig") == 0) - idx = 0xdf; - else if (strcasecmp(buf, "aelig") == 0) - idx = 0xe6; - else if (strcasecmp(buf, "eth") == 0) - idx = 0xf0; - else if (strcasecmp(buf, "thorn") == 0) - idx = 0xfe; - - parser->quark = Qentity; - if (entities[idx] == NULL) { - entities[idx] = XtNew(XawTextBlock); - entities[idx]->firstPos = 0; - entities[idx]->length = 1; - entities[idx]->ptr = chars + idx; - entities[idx]->format = FMT8BIT; - chars[idx] = idx; - } - parser->entity = entities[idx]; - parser->end = parser->offset; - Html_Commit(parser); - parser->start = parser->end; - } - } - /*NOTREACHED*/ -} - -/************************************************************************/ -/* FORMAT */ -/************************************************************************/ -static int -Html_Put(Html_Parser *parser, int ch) -{ - if (ch != '\r') { - if (parser->replace.length % 4096 == 0) - parser->replace.ptr = XtRealloc(parser->replace.ptr, - parser->replace.length + 4096); - parser->replace.ptr[parser->replace.length++] = ch; - } - - return (ch); -} - -static void -Html_Puts(Html_Parser *parser, char *str) -{ - int len = strlen(str); - - if (parser->replace.length % 4096 == 0 || - parser->replace.length + len > parser->replace.length + - (4096 - (parser->replace.length % 4096))) - parser->replace.ptr = XtRealloc(parser->replace.ptr, - parser->replace.length + 4096); - memcpy(parser->replace.ptr + parser->replace.length, str, len); - parser->replace.length += len; -} - -static void -Html_FormatTag(Html_Parser *parser) -{ - int ch = 0, sz = 0; - char buf[32]; - Html_TagInfo *info = NULL; - - switch (Html_Peek(parser)) { - case '!': - Html_Put(parser, '<'); - Html_Put(parser, Html_Get(parser)); /* eat `!' */ - if (Html_Peek(parser) == '-') { - /* comment */ - Html_Put(parser, Html_Get(parser)); /* eat `-' */ - if (Html_Peek(parser) == '-') { - int count = 0; - - Html_Put(parser, Html_Get(parser)); - while ((ch = Html_Peek(parser)) != EOF) { - if (ch == '>' && count >= 2) - break; - else if (ch == '-') - ++count; - else - count = 0; - Html_Put(parser, Html_Get(parser)); - } - (void)Html_Get(parser); /* eat `>' */ - Html_Put(parser, '>'); - return; - } - } - break; - case '?': - Html_Put(parser, '<'); - break; - case '/': - (void)Html_Get(parser); /* eat `/' */ - while (isalnum(Html_Peek(parser)) && - ((sz + 1) < sizeof(buf))) - buf[sz++] = ch = tolower(Html_Get(parser)); - buf[sz] = '\0'; - if ((info = Html_GetInfo(buf)) != NULL && info->adnl) { - if (info->ident == Qpre && parser->pre) { - if (--parser->pre == 0) - parser->column = 0; - } - parser->quark = Qetag; - parser->spc = True; - if (info->ident == Qp) { - while ((ch = Html_Peek(parser) != '>' && ch != EOF)) - (void)Html_Get(parser); - (void)Html_Get(parser); /* eat '>' */ - return; - } - } - else if (info) { - if (info->ident == Qol || info->ident == Qul) { - if (parser->list && --parser->list == 0 && - parser->desc == 0) { - parser->quark = Qetag; - Html_Put(parser, '\n'); - ++parser->adnl; - parser->column = 0; - } - } - else if (info->ident == Qdl) { - if (parser->desc && --parser->desc == 0 && - parser->list == 0) { - parser->quark = Qetag; - Html_Put(parser, '\n'); - ++parser->adnl; - parser->column = 0; - } - } - } - Html_Puts(parser, "</"); - Html_Puts(parser, buf); - break; - default: - while (isalnum(Html_Peek(parser)) && - ((sz + 1) < sizeof(buf))) - buf[sz++] = tolower(Html_Get(parser)); - buf[sz] = '\0'; - if ((info = Html_GetInfo(buf)) != NULL && info->adnl) { - if (info->ident == Qpre) - ++parser->pre; - if (parser->quark != Qtag) { - if (parser->adnl < 2) { - Html_Puts(parser, parser->adnl ? pnl : nlpnl); - parser->adnl = 2; - parser->spc = True; - parser->column = 0; - } - } - parser->quark = Qtag; - if (info->ident == Qp) { - while ((ch = Html_Peek(parser) != '>' && ch != EOF)) - (void)Html_Get(parser); - (void)Html_Get(parser); /* eat '>' */ - return; - } - } - else if (info) { - if (info->ident == Qol || info->ident == Qul) { - if (++parser->list == 1 && !parser->desc) { - if (parser->adnl < 2) { - Html_Puts(parser, parser->adnl ? pnl : nlpnl); - parser->adnl = 2; - parser->column = 0; - } - } - else if (parser->adnl == 0) { - Html_Put(parser, '\n'); - parser->adnl = 1; - parser->column = 0; - } - parser->spc = True; - } - else if (info->ident == Qli) { - if (parser->adnl == 0) { - Html_Put(parser, '\n'); - parser->adnl = 1; - parser->column = 0; - } - } - - else if (info->ident == Qdl) { - if (++parser->desc == 1 && !parser->list) { - if (parser->adnl < 2) { - Html_Puts(parser, parser->adnl ? pnl : nlpnl); - parser->adnl = 2; - parser->column = 0; - } - } - else if (parser->adnl == 0) { - Html_Put(parser, '\n'); - parser->adnl = 1; - parser->column = 0; - } - parser->spc = True; - } - else if (info->ident == Qdd) { - if (parser->desc == 0) { - if (parser->adnl < 2) { - Html_Puts(parser, parser->adnl ? pnl : nlpnl); - parser->adnl = 2; - parser->column = 0; - } - } - else if (parser->adnl == 0) { - Html_Put(parser, '\n'); - parser->adnl = 1; - parser->column = 0; - } - parser->spc = True; - } - else if (info->ident == Qdt) { - if (parser->adnl == 0) { - Html_Put(parser, '\n'); - parser->adnl = 1; - parser->spc = True; - parser->column = 0; - } - } - } - Html_Put(parser, '<'); - Html_Puts(parser, buf); - break; - } - - sz = 0; - while ((ch = Html_Peek(parser)) != '>' && ch != EOF) { - if (isspace(ch)) { - (void)Html_Get(parser); - ++sz; - continue; - } - else if (sz) { - Html_Put(parser, ' '); - sz = 0; - } - Html_Put(parser, Html_Get(parser)); - } - Html_Put(parser, Html_Get(parser)); /* eat `>' */ - if (info && info->ident == Qbr) { - ++parser->adnl; - parser->spc = True; - Html_Put(parser, '\n'); - parser->quark = info->ident; - parser->column = 0; - } -} - -/* tags */ -static int -Html_Format3(Html_Parser *parser) -{ - int ch; - - for (;;) { - if ((ch = Html_Get(parser)) == '<') { - if (parser->quark == Qspace && parser->spc == False) { - Html_Put(parser, ' '); - parser->spc = True; - } - -/* parser->quark = Qhide;*/ - Html_FormatTag(parser); - } - else - return (ch); - } - /*NOTREACHED*/ -} - -/* entities */ -static int -Html_Format2(Html_Parser *parser) -{ - int ch; - - for (ch = Html_Format3(parser); ch == '&'; ch = Html_Format3(parser)) { - Html_Put(parser, '&'); - while ((ch = Html_Peek(parser)) != ';') { - if (isspace(ch) || ch == EOF) - break; - Html_Put(parser, Html_Get(parser)); - } - if (ch != EOF) - Html_Put(parser, Html_Get(parser)); - else - break; - if (parser->pre) - ++parser->column; - } - - return (ch); -} - -/* spaces */ -static int -Html_Format1(Html_Parser *parser) -{ - int ch; - - for (;;) { - if ((ch = Html_Format2(parser)) == EOF) - return (ch); - - if (parser->quark == Qetag) { - if (parser->adnl < 2) { - Html_Puts(parser, parser->adnl ? pnl : nlpnl); - parser->adnl = 2; - parser->spc = True; - } - } - else if (parser->quark == Qspace && parser->spc == False) { - Html_Put(parser, ' '); - parser->spc = True; - } - - if (!parser->pre && isspace(ch)) - parser->quark = Qspace; - else { - if (parser->pre) { - if (parser->spc) { - /* did not yet see any non space character */ - if (isspace(ch)) { - if (ch == '\n') { - parser->column = 0; - parser->spc = False; - parser->adnl = 1; - } - else if (ch == '\t') - parser->column += 8 - (parser->column % 8); - else - ++parser->column; - continue; - } - else { - int column = parser->column; - - while (column-- > 0) - Html_Put(parser, ' '); - parser->spc = False; - parser->adnl = 0; - } - } - else if (ch == '\n') { - ++parser->adnl; - parser->column = 0; - } - else if (ch == '\t') { - int column = parser->column + (8 - (parser->column % 8)); - - parser->adnl = 0; - while (parser->column < column) { - Html_Put(parser, ' '); - ++parser->column; - } - continue; - } - else { - parser->adnl = 0; - ++parser->column; - } - } - else - parser->adnl = 0; - Html_Put(parser, ch); - parser->quark = Qdefault; - parser->spc = False; - } - } -} - -/************************************************************************/ -/* ARGUMENTS */ -/************************************************************************/ -static void -Html_AArgs(Html_Parser *parser, Html_Item *item) -{ - int ch, sz; - char buf[32]; - - /*CONSTCOND*/ - while (True) { - sz = 0; - while ((ch = Html_Peek(parser)) != '>' && ch != EOF) { - if (isalnum(ch)) - break; - else - (void)Html_Get(parser); - } - - if (ch == '>' || ch == EOF) - return; - buf[sz++] = tolower(Html_Get(parser)); - while ((ch = Html_Peek(parser)) != '>' && ch != EOF) - if (isalnum(ch)) - buf[sz++] = tolower(Html_Get(parser)); - else - break; - buf[sz] = '\0'; - if (strcmp(buf, "href") == 0) { - item->combine = XawTextSinkCopyProperty(XawTextGetSink(text), - item->info->ident); - item->override = True; - item->combine->xlfd_mask = 0L; - item->combine->mask = XAW_TPROP_UNDERLINE | XAW_TPROP_FOREGROUND; - item->combine->foreground = parser->alink; - return; - } - while ((ch = Html_Peek(parser)) != '>' && ch != EOF) { - if (isspace(ch)) - break; - else - (void)Html_Get(parser); - } - } -} - -static void -Html_FontArgs(Html_Parser *parser, Html_Item *item) -{ - int ch, sz; - char name[32], value[256], xlfd[128]; - - item->combine = XawTextSinkCopyProperty(XawTextGetSink(text), - Qdefault); - item->override = True; - item->combine->mask = item->combine->xlfd_mask = 0L; - - /*CONSTCOND*/ - while (True) { - /* skip white spaces */ - while ((ch = Html_Peek(parser)) != '>' && ch != EOF) { - if (isalnum(ch)) - break; - else - (void)Html_Get(parser); - } - - if (ch == '>' || ch == EOF) - return; - - /* read option name */ - sz = 0; - name[sz++] = tolower(Html_Get(parser)); - while ((ch = Html_Peek(parser)) != '>' && ch != EOF) - if (isalnum(ch) && (sz + 1 < sizeof(name))) - name[sz++] = tolower(Html_Get(parser)); - else - break; - name[sz] = '\0'; - - if (ch != '=') - continue; - (void)Html_Get(parser); /* skip `=' */ - if (Html_Peek(parser) == '"') - (void)Html_Get(parser); - - sz = 0; - while ((ch = Html_Peek(parser)) != '>' && ch != EOF) { - if (!isspace(ch) && (sz + 1 < sizeof(value))) - value[sz++] = Html_Get(parser); - else - break; - } - value[sz] = '\0'; - if (sz > 0 && value[sz - 1] == '"') - value[--sz] = '\0'; - - if (strcmp(name, "color") == 0) { - XColor color, exact; - - if (XAllocNamedColor(XtDisplay(toplevel), toplevel->core.colormap, - value, &color, &exact)) { - item->combine->mask |= XAW_TPROP_FOREGROUND; - item->combine->foreground = color.pixel; - } - } - else if (strcmp(name, "face") == 0) { - int count = 0; - char *ptr, *family, **font_list; - - ptr = value; - do { - family = ptr; - ptr = strchr(ptr, ','); - if (ptr) - *ptr++ = '\0'; - XmuSnprintf(xlfd, sizeof(xlfd), "-*-%s-*-*-*-*-*-*-*-*-*-*-*-*", - family); - font_list = XListFonts(XtDisplay(toplevel), xlfd, 1, &count); - if (font_list) - XFreeFontNames(font_list); - if (count) - break; - } while (ptr); - if (count) { - item->combine->xlfd_mask |= XAW_TPROP_FAMILY; - item->combine->family = XrmStringToQuark(family); - } - } - else if (strcmp(name, "size") == 0) { - int size, sign = 0; - - if (isalnum(*value)) { - size = atoi(value); - sign = 0; - } - else { - char *str = XrmQuarkToString(item->combine->pixel_size); - - size = str ? atoi(str) : 12; - if (*value == '+') { - size += atoi(value + 1); - sign = 1; - } - else if (*value == '-') { - size -= atoi(value + 1); - sign = -1; - } - } - - if (item->combine->xlfd != NULLQUARK) { - int count, ucount, dcount, usize, dsize; - char **current, **result, **up, **down; - - current = result = up = down = NULL; - /* try to load an appropriate font */ - XmuSnprintf(value, sizeof(value), - "-*-%s-%s-%s-*--%%d-*-*-*-*-*-%s-%s", - XrmQuarkToString(item->combine->family), - XrmQuarkToString(item->combine->weight), - XrmQuarkToString(item->combine->slant), - XrmQuarkToString(item->combine->registry), - XrmQuarkToString(item->combine->encoding)); - XmuSnprintf(xlfd, sizeof(xlfd), value, - atoi(XrmQuarkToString(item->combine->pixel_size))); - current = XListFonts(XtDisplay(toplevel), xlfd, 1, &count); - if (count) { - ucount = dcount = usize = dsize = 0; - - XmuSnprintf(xlfd, sizeof(xlfd), value, size); - result = XListFonts(XtDisplay(toplevel), xlfd, 1, &count); - if (count == 0 || strstr(*result, "-0-")) { - if (sign <= 0) { - sz = dsize = size; - while (dcount == 0 && --sz > size - 8 && sz > 1) { - XmuSnprintf(xlfd, sizeof(xlfd), value, sz); - down = XListFonts(XtDisplay(toplevel), xlfd, - 1, &dcount); - if (dcount && strstr(*down, "-0-") != NULL) { - XFreeFontNames(down); - down = NULL; - dcount = 0; - } - } - if (dcount) - dsize = sz; - } - if (sign >= 0) { - sz = usize = size; - while (ucount == 0 && ++sz < size + 8) { - XmuSnprintf(xlfd, sizeof(xlfd), value, sz); - up = XListFonts(XtDisplay(toplevel), xlfd, - 1, &ucount); - if (ucount && strstr(*up, "-0-") != NULL) { - XFreeFontNames(up); - up = NULL; - ucount = 0; - } - } - if (ucount) - usize = sz; - } - if (ucount && dcount) - size = size - dsize < usize - size ? dsize : usize; - else if (ucount) - size = usize; - else if (dcount) - size = dsize; - } - if (current) - XFreeFontNames(current); - if (result) - XFreeFontNames(result); - if (up) - XFreeFontNames(up); - if (down) - XFreeFontNames(down); - } - } - - XmuSnprintf(value, sizeof(value), "%d", size); - item->combine->xlfd_mask |= XAW_TPROP_PIXELSIZE; - item->combine->pixel_size = XrmStringToQuark(value); - } - - while ((ch = Html_Peek(parser)) != '>' && ch != EOF) { - if (isspace(ch)) - break; - else - (void)Html_Get(parser); - } - } -} diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/help.h b/xorg-server/hw/xfree86/utils/xorgcfg/help.h deleted file mode 100644 index 141f50402..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/help.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) - * - * 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 - * CONECTIVA LINUX 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 Conectiva Linux shall - * not be used in advertising or otherwise to promote the sale, use or other - * dealings in this Software without prior written authorization from - * Conectiva Linux. - * - * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> - */ - -/* help string definitions */ -#define HELP_DEVICES "helpDevices" /* Configure Layout */ -#define HELP_SCREEN "helpScreen" /* Configure Screen */ -#define HELP_MODELINE "helpModeline" /* Configure Modeline */ -#define HELP_ACCESSX "helpAccessX" /* Configure AccessX */ - -/* - * Prototypes - */ -void Help(char*); -void HelpCancelAction(Widget, XEvent*, String*, Cardinal*); diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/interface.c b/xorg-server/hw/xfree86/utils/xorgcfg/interface.c deleted file mode 100644 index cb39624ca..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/interface.c +++ /dev/null @@ -1,2278 +0,0 @@ -/* - * Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) - * - * 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 - * CONECTIVA LINUX 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 Conectiva Linux shall - * not be used in advertising or otherwise to promote the sale, use or other - * dealings in this Software without prior written authorization from - * Conectiva Linux. - * - * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> - * - */ - -#include <X11/IntrinsicP.h> -#include <X11/StringDefs.h> -#include <X11/Composite.h> -#include <X11/Shell.h> -#include <X11/Xaw/AsciiText.h> -#include <X11/Xaw/Simple.h> -#include <X11/Xaw/Paned.h> -#include <X11/Xaw/Form.h> -#include <X11/Xaw/Command.h> -#include <X11/Xaw/MenuButton.h> -#include <X11/Xaw/SmeBSB.h> -#include <X11/Xaw/SmeLine.h> -#include <X11/Xaw/SimpleMenP.h> -#include <X11/Xaw/Dialog.h> -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <time.h> -#include "xf86config.h" -#include "mouse-cfg.h" -#include "keyboard-cfg.h" -#include "card-cfg.h" -#include "monitor-cfg.h" -#include "screen-cfg.h" -#include "screen.h" -#include "cards.h" -#include "options.h" -#include "vidmode.h" -#include "help.h" -#include "stubs.h" - -#define randomize() srand((unsigned)time((time_t*)NULL)) -#ifdef PROJECT_ROOT -#define DefaultXFree86Dir PROJECT_ROOT -#else -#define DefaultXFree86Dir "/usr" -#endif - -#define IS_KBDDRIV(S) ((strcasecmp((S),"kbd") == 0)) - -/* - * Prototypes - */ -void DrawCables(void); -static void DrawCable(Display*, Window, int, int, int, int); -static void ComputerEventHandler(Widget, XtPointer, XEvent*, Boolean*); -void SelectDeviceAction(Widget, XEvent*, String*, Cardinal*); -void MoveDeviceAction(Widget, XEvent*, String*, Cardinal*); -void UnselectDeviceAction(Widget, XEvent*, String*, Cardinal*); -void RenameLayoutAction(Widget, XEvent*, String*, Cardinal*); -void DevicePopupMenu(Widget, XEvent*, String*, Cardinal*); -void DevicePopdownMenu(Widget, XEvent*, String*, Cardinal*); -void AddDeviceCallback(Widget, XtPointer, XtPointer); -void QuitCallback(Widget, XtPointer, XtPointer); -void SmeConfigureDeviceCallback(Widget, XtPointer, XtPointer); -void ConfigureDeviceCallback(Widget, XtPointer, XtPointer); -void EnableDeviceCallback(Widget, XtPointer, XtPointer); -void DisableDeviceCallback(Widget, XtPointer, XtPointer); -void RemoveDeviceCallback(Widget, XtPointer, XtPointer); -void InitializeDevices(void); -void SetConfigModeCallback(Widget, XtPointer, XtPointer); -void SelectLayoutCallback(Widget, XtPointer, XtPointer); -void DefaultLayoutCallback(Widget, XtPointer, XtPointer); -void RemoveLayoutCallback(Widget, XtPointer, XtPointer); -void OptionsCallback(Widget, XtPointer, XtPointer); -xf86cfgDevice *AddDevice(int, XtPointer, int, int); -static Bool AskConfig(void); -void WriteConfigAction(Widget, XEvent*, String*, Cardinal*); -static void ScreenSetup(Bool); -void QuitAction(Widget, XEvent*, String*, Cardinal*); -void PopdownErrorCallback(Widget, XtPointer, XtPointer); -static void ErrorCancelAction(Widget, XEvent*, String*, Cardinal*); -static void QuitCancelAction(Widget, XEvent*, String*, Cardinal*); -static void HelpCallback(Widget, XtPointer, XtPointer); -void UpdateMenuDeviceList(int); - -extern void AccessXConfigureStart(void); -extern void AccessXConfigureEnd(void); -extern void CloseAccessXAction(Widget, XEvent*, String*, Cardinal*); - -#ifdef HAS_NCURSES -extern void TextMode(void); -#endif - -static void Usage(void); - -/* - * Initialization - */ -Widget toplevel, work, config, layout, layoutsme, layoutp, topMenu; -XtAppContext appcon; - -Pixmap menuPixmap; - -char *XF86Config_path = NULL; -char *XF86Module_path = NULL; -char *XFree86_path = NULL; -char *XF86Font_path = NULL; -char *XF86RGB_path = NULL; -char *XkbConfig_path = NULL; -char *XFree86Dir; -static char XF86Config_path_static[1024]; -static char XkbConfig_path_static[1024]; -Bool xf86config_set = False; - -int textmode = False; -#ifdef USE_MODULES -int nomodules = False; -#endif -int noverify = False; - -xf86cfgComputer computer; -xf86cfgDevice cpu_device; -Cursor no_cursor; -static Widget device, layoutm, popup, commands; -static int xpos, ypos; -int sxpos, sypos; -static char no_cursor_data[] = { 0,0,0,0, 0,0,0,0 }; -static GC cablegc, cablegcshadow; -Atom wm_delete_window; -static Bool config_set = False; -static Widget mouseSme, mouseMenu, keyboardSme, keyboardMenu, - cardSme, cardMenu, monitorSme, monitorMenu; - -int config_mode = CONFIG_LAYOUT; - -static XtActionsRec actions[] = { - {"filter-card", CardFilterAction}, - {"select-device", SelectDeviceAction}, - {"move-device", MoveDeviceAction}, - {"unselect-device", UnselectDeviceAction}, - {"device-popup", DevicePopupMenu}, - {"device-popdown", DevicePopdownMenu}, - {"rename-layout", RenameLayoutAction}, - {"write-config", WriteConfigAction}, - {"quit", QuitAction}, - {"vidmode-restore", VidmodeRestoreAction}, - {"config-cancel", ConfigCancelAction}, - {"options-cancel", OptionsCancelAction}, - {"error-cancel", ErrorCancelAction}, - {"quit-cancel", QuitCancelAction}, - {"addmode-cancel", CancelAddModeAction}, - {"accessx-close", CloseAccessXAction}, - {"testmode-cancel", CancelTestModeAction}, - {"help-close", HelpCancelAction}, - {"expert-close", ExpertCloseAction}, -#ifdef USE_MODULES - {"module-options-close", ModuleOptionsCancelAction}, -#endif -}; - -static char *device_names[] = { -/* MOUSE */ - "mouse", -/* KEYBOARD */ - "keyboard", -/* CARD */ - "card", -/* MONITOR */ - "monitor", -/* SCREEN */ - "screen", -}; - -static XtResource appResources[] = { -#if 0 - {"config", __XCONFIGFILE__, XtRString, sizeof(char*), - 0, XtRString, "/etc/X11/"__XCONFIGFILE__}, -#endif - {"menuBitmap", "MenuBitmap", XtRString, sizeof(char*), - 0, XtRString, "menu10"}, -}; - -static void -Usage(void) -{ - fprintf(stderr, -"Usage:\n" -" xorgcfg [-option ...]\n" -"\n" -"Options:\n" -" -config <"__XCONFIGFILE__"> Alternate configuration file.\n" -" -modulepath <module-path> "__XSERVERNAME__" modules location.\n" -" -serverpath <server-path> X server to start (if $DISPLAY is not defined).\n" -" -fontpath <font-path> Font path for fonts.\n" -#ifdef HAS_NCURSES -" -textmode Use this option for the text only interface.\n" -#endif -#ifdef USE_MODULES -" -nomodules Use this option if xorgcfg is slow to start.\n" -" -verbose <number> Verbosity used in the loader (default 1).\n" -#endif -" -verify Verify modules/options integrity.\n" -); - - exit(1); -} - -/* - * Implementation - */ -int -main(int argc, char *argv[]) -{ - Widget pane, hpane, expert, popup, mouse, keyboard, card, monitor; - Widget bottom, sme, smemodeline, help, quit, layopt; - XColor color, tmp; - Pixmap pixmap; - XGCValues values; - XF86ConfLayoutPtr lay; - int i, startedx; - char *menuPixmapPath = NULL; - XrmValue from, to; - - if ((XFree86Dir = getenv("XWINHOME")) == NULL) - XFree86Dir = DefaultXFree86Dir; - - chdir(XFree86Dir); - -#ifdef USE_MODULES - xf86Verbose = 1; -#endif - noverify = True; - - for (i = 1; i < argc; i++) { - if (strcmp(argv[i], "-config") == 0 || - strcmp(argv[i], "-xorgconfig") == 0 || - strcmp(argv[i], "-xf86config") == 0) { - if (i + 1 < argc) { - XF86Config_path = argv[++i]; - config_set = True; - } - } else if (strcmp(argv[i], "-modulepath") == 0) { - if (i + 1 < argc) - XF86Module_path = argv[++i]; - } else if (strcmp(argv[i], "-serverpath") == 0) { - if (i + 1 < argc) - XFree86_path = argv[++i]; - } else if (strcmp(argv[i], "-fontpath") == 0) { - if (i + 1 < argc) - XF86Font_path = argv[++i]; - } -#ifdef HAS_NCURSES - else if (strcmp(argv[i], "-textmode") == 0) - textmode = True; -#endif -#ifdef USE_MODULES - else if (strcmp(argv[i], "-nomodules") == 0) - nomodules = True; - else if (strcmp(argv[i], "-verbose") == 0) { - if (i + 1 < argc) - xf86Verbose = atoi(argv[++i]); - } -#endif - else if (strcmp(argv[i], "-verify") == 0) - noverify = False; - else - Usage(); - } - -#ifdef HAS_NCURSES - if (textmode) { - TextMode(); - exit(0); - } -#endif - - startedx = startx(); - if (XF86Config_path == NULL) - XF86Config_path = XtNewString(__XCONFIGFILE__); - if (XkbConfig_path == NULL) { - XmuSnprintf(XkbConfig_path_static, sizeof(XkbConfig_path_static), - "%s/%s%s", XFree86Dir, XkbConfigDir, XkbConfigFile); - XkbConfig_path = XkbConfig_path_static; - } - toplevel = XtAppInitialize(&appcon, "XOrgCfg", - NULL, 0, - &argc, argv, - NULL, NULL, 0); - if (DPY == NULL) - DPY = XtDisplay(toplevel); - - XtGetApplicationResources(toplevel, (XtPointer)&menuPixmapPath, - appResources, XtNumber(appResources), NULL, 0); - if (menuPixmapPath && strlen(menuPixmapPath)) { - from.size = strlen(menuPixmapPath); - from.addr = menuPixmapPath; - to.size = sizeof(Pixmap); - to.addr = (XtPointer)&(menuPixmap); - XtConvertAndStore(toplevel, XtRString, &from, XtRBitmap, &to); - } - - XtAppAddActions(appcon, actions, XtNumber(actions)); - - XawSimpleMenuAddGlobalActions(appcon); - XtRegisterGrabAction(DevicePopupMenu, True, - ButtonPressMask | ButtonReleaseMask, - GrabModeAsync, GrabModeAsync); - - pane = XtCreateManagedWidget("pane", panedWidgetClass, - toplevel, NULL, 0); - hpane = XtVaCreateManagedWidget("hpane", panedWidgetClass, pane, - XtNorientation, XtorientHorizontal, NULL); - topMenu = XtCreateManagedWidget("topM", menuButtonWidgetClass, - hpane, NULL, 0); - expert = XtCreateManagedWidget("expert", commandWidgetClass, hpane, NULL, 0); - XtAddCallback(expert, XtNcallback, ExpertCallback, NULL); - popup = XtCreatePopupShell("menu", simpleMenuWidgetClass, - topMenu, NULL, 0); - sme = XtCreateManagedWidget("layout", smeBSBObjectClass, - popup, NULL, 0); - XtAddCallback(sme, XtNcallback, SetConfigModeCallback, - (XtPointer)CONFIG_LAYOUT); - sme = XtCreateManagedWidget("screen", smeBSBObjectClass, - popup, NULL, 0); - XtAddCallback(sme, XtNcallback, SetConfigModeCallback, - (XtPointer)CONFIG_SCREEN); - smemodeline = XtCreateManagedWidget("modeline", smeBSBObjectClass, - popup, NULL, 0); - XtAddCallback(smemodeline, XtNcallback, SetConfigModeCallback, - (XtPointer)CONFIG_MODELINE); - sme = XtCreateManagedWidget("accessx", smeBSBObjectClass, - popup, NULL, 0); - XtAddCallback(sme, XtNcallback, SetConfigModeCallback, - (XtPointer)CONFIG_ACCESSX); - - commands = XtCreateManagedWidget("commands", formWidgetClass, - pane, NULL, 0); - - mouse = XtVaCreateManagedWidget("mouse", menuButtonWidgetClass, - commands, XtNmenuName, "mouseP", NULL); - popup = XtCreatePopupShell("mouseP", simpleMenuWidgetClass, - mouse, NULL, 0); - sme = XtCreateManagedWidget("new", smeBSBObjectClass, - popup, NULL, 0); - XtAddCallback(sme, XtNcallback, AddDeviceCallback, (XtPointer)MOUSE); - mouseSme = XtCreateManagedWidget("configure", smeBSBObjectClass, - popup, NULL, 0); - XtAddCallback(mouseSme, XtNcallback, SmeConfigureDeviceCallback, - (XtPointer)MOUSE); - - keyboard = XtVaCreateManagedWidget("keyboard", menuButtonWidgetClass, - commands, XtNmenuName, "keyboardP", NULL); - popup = XtCreatePopupShell("keyboardP", simpleMenuWidgetClass, - keyboard, NULL, 0); - sme = XtCreateManagedWidget("new", smeBSBObjectClass, - popup, NULL, 0); - XtAddCallback(sme, XtNcallback, AddDeviceCallback, (XtPointer)KEYBOARD); - keyboardSme = XtCreateManagedWidget("configure", smeBSBObjectClass, - popup, NULL, 0); - XtAddCallback(keyboardSme, XtNcallback, SmeConfigureDeviceCallback, - (XtPointer)KEYBOARD); - - card = XtVaCreateManagedWidget("card", menuButtonWidgetClass, - commands, XtNmenuName, "cardP", NULL); - popup = XtCreatePopupShell("cardP", simpleMenuWidgetClass, - card, NULL, 0); - sme = XtCreateManagedWidget("new", smeBSBObjectClass, - popup, NULL, 0); - XtAddCallback(sme, XtNcallback, AddDeviceCallback, (XtPointer)CARD); - cardSme = XtCreateManagedWidget("configure", smeBSBObjectClass, - popup, NULL, 0); - XtAddCallback(cardSme, XtNcallback, SmeConfigureDeviceCallback, - (XtPointer)CARD); - - monitor = XtVaCreateManagedWidget("monitor", menuButtonWidgetClass, - commands, XtNmenuName, "monitorP", NULL); - popup = XtCreatePopupShell("monitorP", simpleMenuWidgetClass, - monitor, NULL, 0); - sme = XtCreateManagedWidget("new", smeBSBObjectClass, - popup, NULL, 0); - XtAddCallback(sme, XtNcallback, AddDeviceCallback, (XtPointer)MONITOR); - monitorSme = XtCreateManagedWidget("configure", smeBSBObjectClass, - popup, NULL, 0); - XtAddCallback(monitorSme, XtNcallback, SmeConfigureDeviceCallback, - (XtPointer)MONITOR); - - work = XtCreateManagedWidget("work", compositeWidgetClass, - pane, NULL, 0); - - bottom = XtCreateManagedWidget("bottom", formWidgetClass, - pane, NULL, 0); - layoutm = XtCreateManagedWidget("select", menuButtonWidgetClass, - bottom, NULL, 0); - layout = XtVaCreateManagedWidget("layout", asciiTextWidgetClass, - bottom, - XtNeditType, XawtextEdit, - NULL); - layoutp = XtCreatePopupShell("menu", simpleMenuWidgetClass, - bottom, NULL, 0); - sme = XtCreateManagedWidget("new", smeBSBObjectClass, layoutp, - NULL, 0); - XtAddCallback(sme, XtNcallback, SelectLayoutCallback, NULL); - help = XtCreateManagedWidget("help", commandWidgetClass, - bottom, NULL, 0); - XtAddCallback(help, XtNcallback, HelpCallback, NULL); - quit = XtCreateManagedWidget("quit", commandWidgetClass, - bottom, NULL, 0); - XtAddCallback(quit, XtNcallback, QuitCallback, NULL); - - XtRealizeWidget(toplevel); - XtRealizeWidget(topMenu); - - pixmap = XCreateBitmapFromData(XtDisplay(toplevel), XtWindow(toplevel), - no_cursor_data, 8, 8); - XAllocNamedColor(XtDisplay(toplevel), toplevel->core.colormap, "black", - &color, &tmp); - no_cursor = XCreatePixmapCursor(XtDisplay(toplevel), pixmap, pixmap, - &color, &color, 0, 0); - - XAllocNamedColor(XtDisplay(toplevel), toplevel->core.colormap, "gray55", - &color, &tmp); - values.line_width = 3; - values.foreground = color.pixel; - cablegcshadow = XCreateGC(XtDisplay(toplevel), XtWindow(toplevel), - GCForeground | GCLineWidth, &values); - XAllocNamedColor(XtDisplay(toplevel), toplevel->core.colormap, "gray85", - &color, &tmp); - values.line_width = 1; - values.foreground = color.pixel; - cablegc = XCreateGC(XtDisplay(toplevel), XtWindow(toplevel), - GCForeground | GCLineWidth, &values); - - computer.cpu = XtCreateManagedWidget("cpu", simpleWidgetClass, - work, NULL, 0); - cpu_device.widget = computer.cpu; - cpu_device.type = SERVER; - - XtAddEventHandler(work, ExposureMask, False, - ComputerEventHandler, (XtPointer)NULL); - - wm_delete_window = XInternAtom(DPY, "WM_DELETE_WINDOW", False); - XSetWMProtocols(DPY, XtWindow(toplevel), &wm_delete_window, 1); - - StartConfig(); - InitializeDevices(); - UpdateMenuDeviceList(MOUSE); - UpdateMenuDeviceList(KEYBOARD); - UpdateMenuDeviceList(CARD); - UpdateMenuDeviceList(MONITOR); - XtSetSensitive(smemodeline, VideoModeInitialize()); - - lay = XF86Config->conf_layout_lst; - while (lay != NULL) { - sme = XtVaCreateManagedWidget("sme", smeBSBObjectClass, - layoutp, - XtNlabel, lay->lay_identifier, - XtNmenuName, lay->lay_identifier, - XtNleftBitmap, menuPixmap, - NULL); - XtAddCallback(sme, XtNcallback, SelectLayoutCallback, (XtPointer)lay); - if (layoutsme == NULL) - layoutsme = sme; - layopt = XtCreatePopupShell(lay->lay_identifier, simpleMenuWidgetClass, - layoutp, NULL, 0); - sme = XtCreateManagedWidget("default", smeBSBObjectClass, - layopt, NULL, 0); - XtAddCallback(sme, XtNcallback, DefaultLayoutCallback, NULL); - sme = XtCreateManagedWidget("remove", smeBSBObjectClass, - layopt, NULL, 0); - XtAddCallback(sme, XtNcallback, RemoveLayoutCallback, NULL); - XtRealizeWidget(layopt); - - lay = (XF86ConfLayoutPtr)(lay->list.next); - } - SelectLayoutCallback(layoutsme, - XF86Config->conf_layout_lst, NULL); - - startaccessx(); - if (startedx) { - switch (fork()) { - case 0: { - char path[PATH_MAX]; - - XmuSnprintf(path, sizeof(path), "%s/bin/twm", XFree86Dir); - execl(path, "twm", (void *)NULL); - exit(-127); - } break; - case -1: - fprintf(stderr, "Cannot fork.\n"); - exit(1); - break; - default: - break; - } - } - -#ifdef USE_MODULES - if (!nomodules) - LoaderInitializeOptions(); -#endif - - /* ReadCardsDatabase() must be called after LoaderInitializeOptions() */ - ReadCardsDatabase(); - - if (!config_set && startedx) { - XtFree(XF86Config_path); -#ifndef XF86CONFIG -# define XF86CONFIG __XCONFIGFILE__ -#endif -#ifdef XF86CONFIGDIR - XF86Config_path = XtNewString(XF86CONFIGDIR "/" XF86CONFIG); -#else - XF86Config_path = XtNewString("/etc/X11/" XF86CONFIG); -#endif - } - XtAppMainLoop(appcon); - if (startedx) - endx(); - - return (0); -} - -static Widget shell_cf; -static int write_cf, asking_cf; -static int cf_state = 0; -#define CF_XF86Config 1 -#define CF_XKBConfig 2 -#define CF_First CF_XF86Config -#define CF_Last CF_XKBConfig - -/*ARGSUSED*/ -static void -WriteConfig(Widget w, XtPointer user_data, XtPointer call_data) -{ - asking_cf = 0; - XtPopdown(shell_cf); - write_cf = (long)user_data; -} - -/*ARGSUSED*/ -void -QuitCancelAction(Widget w, XEvent *event, String *params, Cardinal *num_params) -{ - WriteConfig(w, (XtPointer)-1, NULL); -} - -/*ARGSUSED*/ -void -WriteConfigAction(Widget w, XEvent *event, - String *params, Cardinal *num_params) -{ - WriteConfig(w, (XtPointer)True, NULL); -} - -static Bool -AskConfig(void) -{ - static Widget dialog; - - if (shell_cf == NULL) { - Arg args[1]; - char *l, *label; - int len; - - shell_cf = XtCreatePopupShell("quit", transientShellWidgetClass, - toplevel, NULL, 0); - dialog = XtVaCreateManagedWidget("ask", dialogWidgetClass, shell_cf, - XtNvalue, XF86Config_path, NULL); - XawDialogAddButton(dialog, "yes", WriteConfig, (XtPointer)1); - XawDialogAddButton(dialog, "no", WriteConfig, (XtPointer)0); - XawDialogAddButton(dialog, "cancel", WriteConfig, (XtPointer)-1); - XtRealizeWidget(shell_cf); - XSetWMProtocols(DPY, XtWindow(shell_cf), &wm_delete_window, 1); - XtSetArg(args[0], XtNlabel, &l); - XtGetValues(dialog, args, 1); - label = XtMalloc(len = (strlen(l) + strlen(XF86CONFIG) + 2)); - XmuSnprintf(label, len, "%s\n", XF86CONFIG); - strcat(label, l); - XtSetArg(args[0], XtNlabel, label); - XtSetValues(dialog, args, 1); - XtFree(label); - } - else { - Arg args[2]; - Cardinal num_args = 0; - char *l, *label = NULL, *str = ""; - - XtSetArg(args[0], XtNlabel, &l); - XtGetValues(dialog, args, 1); - switch (cf_state) { - case CF_XF86Config: - str = XF86CONFIG; - XtSetArg(args[num_args], XtNvalue, XF86Config_path); - ++num_args; - break; - case CF_XKBConfig: - str = "XKB"; - XtSetArg(args[num_args], XtNvalue, XkbConfig_path); - ++num_args; - break; - } - l = strchr(l, '\n'); - if (l != NULL) { - label = XtMalloc(strlen(str) + strlen(l) + 1); - strcpy(label, str); - strcat(label, l); - XtSetArg(args[num_args], XtNlabel, label); - ++num_args; - } - XtSetValues(dialog, args, num_args); - if (l != NULL) - XtFree(label); - } - - asking_cf = 1; - - XtPopup(shell_cf, XtGrabExclusive); - while (asking_cf) - XtAppProcessEvent(XtWidgetToApplicationContext(shell_cf), XtIMAll); - - if (write_cf > 0) { - switch (cf_state) { - case CF_XF86Config: - XF86Config_path = XawDialogGetValueString(dialog); - XmuSnprintf(XF86Config_path_static, - sizeof(XF86Config_path_static), - "%s", XF86Config_path); - XF86Config_path = XF86Config_path_static; - break; - case CF_XKBConfig: - XkbConfig_path = XawDialogGetValueString(dialog); - XmuSnprintf(XkbConfig_path_static, - sizeof(XkbConfig_path_static), - "%s", XkbConfig_path); - XkbConfig_path = XkbConfig_path_static; - break; - } - } - - return (write_cf); -} - -/*ARGSUSED*/ -void -PopdownErrorCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - XtPopdown((Widget)user_data); -} - -/*ARGSUSED*/ -void -ErrorCancelAction(Widget w, XEvent *event, String *params, Cardinal *num_params) -{ - XtPopdown((Widget)w); -} - -/*ARGSUSED*/ -void -QuitAction(Widget w, XEvent *event, String *params, Cardinal *num_params) -{ - QuitCallback(w, NULL, NULL); -} - -/*ARGSUSED*/ -void -QuitCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - for (cf_state = CF_First; cf_state <= CF_Last; cf_state++) { - if (cf_state == CF_XKBConfig && xkb_info == NULL) - continue; - - switch (AskConfig()) { - case 0: - break; - case 1: - if ((cf_state == CF_XF86Config && - !xf86writeConfigFile(XF86Config_path, XF86Config)) || - (cf_state == CF_XKBConfig && - !WriteXKBConfiguration(XkbConfig_path, - &xkb_info->config))) { - static Widget shell; - - if (shell == NULL) { - Widget dialog; - - shell = XtCreatePopupShell("error", - transientShellWidgetClass, - toplevel, NULL, 0); - dialog = XtVaCreateManagedWidget("notice", - dialogWidgetClass, - shell, XtNvalue, NULL, - NULL); - XawDialogAddButton(dialog, "ok", PopdownErrorCallback, - (XtPointer)shell); - XtRealizeWidget(shell); - XSetWMProtocols(DPY, XtWindow(shell), - &wm_delete_window, 1); - } - XtPopup(shell, XtGrabExclusive); - return; - } - break; - default: - return; - } - } - - endx(); - exit(0); -} - -void -InitializeDevices(void) -{ - xf86cfgDevice *device; - int mouse_x, mouse_y, keyboard_x, keyboard_y, - card_x, card_y, monitor_x, monitor_y, len; - XF86ConfInputPtr input = XF86Config->conf_input_lst; - XF86ConfDevicePtr card = XF86Config->conf_device_lst; - XF86ConfMonitorPtr monitor = XF86Config->conf_monitor_lst; - XF86OptionPtr flags = NULL; - char buffer[4096], *tip; - Arg args[1]; - - if (XF86Config->conf_flags != NULL) - flags = XF86Config->conf_flags->flg_option_lst; - - len = 0; - while (flags && len < sizeof(buffer) - 1) { - len += XmuSnprintf(buffer + len, sizeof(buffer) - len, - "Option \"%s\"", - flags->opt_name); - if (flags->opt_val != NULL) - len += XmuSnprintf(buffer + len, sizeof(buffer) - len, - " \"%s\"\n", - flags->opt_val); - else - len += XmuSnprintf(buffer + len, sizeof(buffer) - len, - "%s", "\n"); - flags = (XF86OptionPtr)(flags->list.next); - } - - if (len) { - tip = XtNewString(buffer); - XtSetArg(args[0], XtNtip, tip); - XtSetValues(computer.cpu, args, 1); - } - -#define DEFAULT_MOUSE_WIDTH 30 -#define DEFAULT_MOUSE_HEIGHT 40 -#define DEFAULT_KEYBOARD_WIDTH 48 -#define DEFAULT_KEYBOARD_HEIGHT 36 - mouse_x = work->core.width - (work->core.width >> 2); - mouse_y = work->core.height - DEFAULT_MOUSE_HEIGHT; - keyboard_x = 6; - keyboard_y = work->core.height - DEFAULT_KEYBOARD_HEIGHT; - - while (input != NULL) { - if (input->inp_driver) { - if (strcasecmp(input->inp_driver, "mouse") == 0) { - device = AddDevice(MOUSE, (XtPointer)input, mouse_x, mouse_y); - SetTip(device); - if ((mouse_x += DEFAULT_MOUSE_WIDTH) > work->core.width) { - if ((mouse_y -= DEFAULT_MOUSE_HEIGHT) < (work->core.height >> 1)) - mouse_y = work->core.height >> 1; - mouse_x = work->core.width - (work->core.width >> 2); - } - } - else if (IS_KBDDRIV(input->inp_driver)) { - device = AddDevice(KEYBOARD, (XtPointer)input, keyboard_x, keyboard_y); - SetTip(device); - if ((keyboard_x += DEFAULT_KEYBOARD_WIDTH) > - work->core.width - (work->core.width >> 2)) { - if ((keyboard_y -= DEFAULT_KEYBOARD_HEIGHT) < (work->core.height >> 1)) - keyboard_y = work->core.height >> 1; - keyboard_x = 6; - } - } - } - input = (XF86ConfInputPtr)(input->list.next); - } - -#define DEFAULT_CARD_WIDTH 45 -#define DEFAULT_CARD_HEIGHT 46 - card_x = 6; - card_y = (work->core.height >> 1) - 20 - DEFAULT_CARD_HEIGHT; - while (card != NULL) { - device = AddDevice(CARD, (XtPointer)card, card_x, card_y); - SetTip(device); - if ((card_x += DEFAULT_CARD_WIDTH) > work->core.width) { - if ((card_y -= DEFAULT_CARD_HEIGHT) < (work->core.height >> 2)) - card_y = work->core.height >> 2; - card_x = 6; - } - card = (XF86ConfDevicePtr)(card->list.next); - } - -#define DEFAULT_MONITOR_WIDTH 48 -#define DEFAULT_MONITOR_HEIGHT 48 - monitor_x = 6; - monitor_y = 6; - while (monitor != NULL) { - XF86ConfScreenPtr screen = XF86Config->conf_screen_lst; - - device = AddDevice(MONITOR, (XtPointer)monitor, monitor_x, monitor_y); - SetTip(device); - if ((monitor_x += DEFAULT_MONITOR_WIDTH) > work->core.width) { - if ((monitor_y += DEFAULT_MONITOR_HEIGHT) > - (work->core.height >> 2) - DEFAULT_MONITOR_HEIGHT) - monitor_y = (work->core.height >> 2) - DEFAULT_MONITOR_HEIGHT; - monitor_x = 6; - } - - while (screen != NULL) { - if (screen->scrn_monitor == monitor) { - card = XF86Config->conf_device_lst; - while (card != NULL) { - if (screen->scrn_device == card) { - xf86cfgScreen *scr = (xf86cfgScreen*) - XtCalloc(1, sizeof(xf86cfgScreen)); - int i; - - for (i = 0; i < computer.num_devices; i++) - if ((XF86ConfDevicePtr)(computer.devices[i]->config) - == card) - break; - scr->screen = screen; - scr->card = computer.devices[i]; - scr->monitor = device; - scr->refcount = 0; - ++scr->card->refcount; - ++scr->monitor->refcount; - computer.screens = (xf86cfgScreen**) - XtRealloc((XtPointer)computer.screens, - sizeof(xf86cfgScreen*) * - (computer.num_screens + 1)); - CreateScreenWidget(scr); - scr->type = SCREEN; - computer.screens[computer.num_screens++] = scr; - SetTip((xf86cfgDevice*)scr); - break; - } - card = (XF86ConfDevicePtr)(card->list.next); - } - device->state = USED; - } - screen = (XF86ConfScreenPtr)(screen->list.next); - } - - monitor = (XF86ConfMonitorPtr)(monitor->list.next); - } -} - -xf86cfgDevice * -AddDevice(int type, XtPointer config, int x, int y) -{ - switch (type) { - case MOUSE: - case KEYBOARD: - case CARD: - case MONITOR: - computer.devices = (xf86cfgDevice**) - XtRealloc((XtPointer)computer.devices, - sizeof(xf86cfgDevice*) * (computer.num_devices + 1)); - computer.devices[computer.num_devices] = (xf86cfgDevice*) - XtCalloc(1, sizeof(xf86cfgDevice)); - computer.devices[computer.num_devices]->config = config; - computer.devices[computer.num_devices]->widget = - XtVaCreateManagedWidget(device_names[type], simpleWidgetClass, - work, - XtNx, x, - XtNy, y, - XtNtip, NULL, - NULL); - computer.devices[computer.num_devices]->type = type; - computer.devices[computer.num_devices]->state = UNUSED; - computer.devices[computer.num_devices]->refcount = 0; - ++computer.num_devices; - break; - default: - fprintf(stderr, "Bad argument to AddDevice.\n"); - exit(1); - return (NULL); - } - - UpdateMenuDeviceList(type); - - return (computer.devices[computer.num_devices - 1]); -} - -/*ARGSUSED*/ -static void -HelpCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - char *topic = NULL; - - switch (config_mode) { - case CONFIG_LAYOUT: - topic = HELP_DEVICES; - break; - case CONFIG_SCREEN: - topic = HELP_SCREEN; - break; - case CONFIG_MODELINE: - topic = HELP_MODELINE; - break; - case CONFIG_ACCESSX: - topic = HELP_ACCESSX; - break; - } - Help(topic); -} - -void -SelectLayoutCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - int i, j; - XF86ConfLayoutPtr lay = (XF86ConfLayoutPtr)user_data; - XF86ConfInputrefPtr input; - XF86ConfAdjacencyPtr adj; - Widget sme, layopt; - Arg args[1]; - char *str; - - /* XXX Needs to check computer.layout, - * because this function should also create - * a new layout... - */ - if (lay == computer.layout && computer.layout) - return; - - if (computer.layout != NULL) { - for (i = 0; i < computer.num_layouts; i++) { - if (computer.layouts[i]->layout == computer.layout) - break; - } - if (i < computer.num_layouts) { - XtFree((XtPointer)computer.layouts[i]->screen); - XtFree((XtPointer)computer.layouts[i]->position); - } - else { - computer.layouts = (xf86cfgLayout**) - XtRealloc((XtPointer)computer.layouts, sizeof(xf86cfgLayout*) * - (computer.num_layouts + 1)); - ++computer.num_layouts; - } - computer.layouts[i] = (xf86cfgLayout*)XtCalloc(1, sizeof(xf86cfgLayout)); - computer.layouts[i]->layout = computer.layout; - computer.layouts[i]->num_layouts = computer.num_screens; - computer.layouts[i]->screen = (xf86cfgScreen**) - XtMalloc(sizeof(xf86cfgScreen*) * computer.num_screens); - computer.layouts[i]->position = (XPoint*) - XtMalloc(sizeof(XPoint) * computer.num_screens); - for (j = 0; j < computer.num_screens; j++) { - computer.layouts[i]->screen[j] = computer.screens[j]; - computer.layouts[i]->position[j].x = computer.screens[j]->widget->core.x; - computer.layouts[i]->position[j].y = computer.screens[j]->widget->core.y; - } - } - - if (lay != NULL) { - for (i = 0; i < computer.num_layouts; i++) - if (computer.layouts[i]->layout == lay) { - for (j = 0; j < computer.layouts[i]->num_layouts; j++) { - int k; - - for (k = 0; k < computer.num_screens; k++) - if (computer.screens[k] == computer.layouts[i]->screen[j]) { - XtMoveWidget(computer.screens[k]->widget, - computer.layouts[i]->position[j].x, - computer.layouts[i]->position[j].y); - } - } - break; - } - - layoutsme = w; - XtSetArg(args[0], XtNlabel, &str); - XtGetValues(w, args, 1); - XtSetArg(args[0], XtNstring, str); - XtSetValues(layout, args, 1); - } - - computer.layout = lay; - - for (i = 0; i < computer.num_devices; i++) - computer.devices[i]->state = UNUSED; - for (i = 0; i < computer.num_screens; i++) - computer.screens[i]->state = UNUSED; - - if (lay == NULL) { - char name[64]; - XF86ConfLayoutPtr l; - int num_layouts = 0; - - l = XF86Config->conf_layout_lst; - while (l != NULL) { - if (l->lay_adjacency_lst == NULL && - l->lay_inactive_lst == NULL && - l->lay_input_lst == NULL && - l->lay_option_lst == NULL && - l->lay_comment == NULL) { - for (i = 0; - i < ((CompositeWidget)layout)->composite.num_children; i++) - if (strcmp(XtName(((CompositeWidget)layout)->composite. - children[i]), l->lay_identifier) == 0) { - layoutsme = ((CompositeWidget)layout)->composite.children[i]; - } - computer.layout = l; - XtSetArg(args[0], XtNstring, l->lay_identifier); - XtSetValues(layout, args, 1); - if (config_mode == CONFIG_LAYOUT) - DrawCables(); - if (config_mode == CONFIG_SCREEN) - ScreenSetup(True); - return; - } - ++num_layouts; - l = (XF86ConfLayoutPtr)(l->list.next); - } - do { - XmuSnprintf(name, sizeof(name), "Layout%d", num_layouts); - ++num_layouts; - } while (xf86findLayout(name, - XF86Config->conf_layout_lst) != NULL); - l = (XF86ConfLayoutPtr)XtCalloc(1, sizeof(XF86ConfLayoutRec)); - - l->lay_identifier = XtNewString(name); - XF86Config->conf_layout_lst = - xf86addLayout(XF86Config->conf_layout_lst, l); - layoutsme = XtVaCreateManagedWidget("sme", smeBSBObjectClass, - layoutp, - XtNlabel, name, - XtNmenuName, l->lay_identifier, - XtNleftBitmap, menuPixmap, - NULL); - XtAddCallback(layoutsme, XtNcallback, - SelectLayoutCallback, (XtPointer)l); - - layopt = XtCreatePopupShell(l->lay_identifier, simpleMenuWidgetClass, - layoutp, NULL, 0); - sme = XtCreateManagedWidget("default", smeBSBObjectClass, - layopt, NULL, 0); - XtAddCallback(sme, XtNcallback, DefaultLayoutCallback, NULL); - sme = XtCreateManagedWidget("remove", smeBSBObjectClass, - layopt, NULL, 0); - XtAddCallback(sme, XtNcallback, RemoveLayoutCallback, NULL); - XtRealizeWidget(layopt); - - computer.layout = l; - XtSetArg(args[0], XtNstring, name); - XtSetValues(layout, args, 1); - if (config_mode == CONFIG_LAYOUT) - DrawCables(); - if (config_mode == CONFIG_SCREEN) - ScreenSetup(True); - return; - } - - input = lay->lay_input_lst; - adj = lay->lay_adjacency_lst; - - for (i = 0; i < computer.num_devices; i++) - if (computer.devices[i]->config != NULL && - (computer.devices[i]->type == MOUSE || - computer.devices[i]->type == KEYBOARD)) { - while (input != NULL) { - if (strcmp(input->iref_inputdev_str, ((XF86ConfInputPtr) - (computer.devices[i]->config))->inp_identifier) == 0) { - computer.devices[i]->state = USED; - break; - } - input = (XF86ConfInputrefPtr)(input->list.next); - } - input = lay->lay_input_lst; - } - - for (i = 0; i < computer.num_devices; i++) - if (computer.devices[i]->type == CARD) { - while (adj != NULL) { - XF86ConfScreenPtr screen = adj->adj_screen; - - if (computer.devices[i]->config != NULL && - strcmp(screen->scrn_device_str, ((XF86ConfDevicePtr) - (computer.devices[i]->config))->dev_identifier) == 0) { - int j; - - for (j = 0; j < computer.num_screens; j++) - if (computer.screens[j]->card == computer.devices[i]) - break; - computer.screens[j]->card->state = USED; - if (computer.screens[j]->monitor != NULL) - computer.screens[j]->monitor->state = USED; - computer.screens[j]->state = USED; - } - - adj = (XF86ConfAdjacencyPtr)(adj->list.next); - } - adj = lay->lay_adjacency_lst; - } - - if (config_mode == CONFIG_LAYOUT) - DrawCables(); - else if (config_mode == CONFIG_SCREEN) - ScreenSetup(True); -} - -/*ARGSUSED*/ -void -DefaultLayoutCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - Widget layopt, sme; - int i; - char *str; - XF86ConfLayoutPtr prev, tmp, lay; - - str = w && XtParent(w) ? XtName(XtParent(w)) : NULL; - if (str == NULL) - return; - - prev = XF86Config->conf_layout_lst; - lay = xf86findLayout(str, prev); - if (prev == lay) - return; - - tmp = prev; - while (tmp != NULL) { - if (tmp == lay) - break; - prev = tmp; - tmp = (XF86ConfLayoutPtr)(tmp->list.next); - } - - for (i = 1; i < ((CompositeWidget)layoutp)->composite.num_children; i++) - XtDestroyWidget(((CompositeWidget)layoutp)->composite.children[i]); - for (i = 0; i < layoutp->core.num_popups; i++) - XtDestroyWidget(layoutp->core.popup_list[i]); - - prev->list.next = lay->list.next; - lay->list.next = XF86Config->conf_layout_lst; - XF86Config->conf_layout_lst = lay; - - layoutsme = NULL; - lay = XF86Config->conf_layout_lst; - while (lay != NULL) { - sme = XtVaCreateManagedWidget("sme", smeBSBObjectClass, - layoutp, - XtNlabel, lay->lay_identifier, - XtNmenuName, lay->lay_identifier, - XtNleftBitmap, menuPixmap, - NULL); - XtAddCallback(sme, XtNcallback, SelectLayoutCallback, (XtPointer)lay); - if (layoutsme == NULL) - layoutsme = sme; - layopt = XtCreatePopupShell(lay->lay_identifier, simpleMenuWidgetClass, - layoutp, NULL, 0); - sme = XtCreateManagedWidget("default", smeBSBObjectClass, - layopt, NULL, 0); - XtAddCallback(sme, XtNcallback, DefaultLayoutCallback, NULL); - sme = XtCreateManagedWidget("remove", smeBSBObjectClass, - layopt, NULL, 0); - XtAddCallback(sme, XtNcallback, RemoveLayoutCallback, NULL); - XtRealizeWidget(layopt); - - lay = (XF86ConfLayoutPtr)(lay->list.next); - } - SelectLayoutCallback(layoutsme, - XF86Config->conf_layout_lst, NULL); -} - -/*ARGSUSED*/ -void -RemoveLayoutCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - XF86ConfLayoutPtr prev, tmp, lay, rem; - Widget sme = NULL; - int i; - char *str; - Arg args[1]; - - str = w && XtParent(w) ? XtName(XtParent(w)) : NULL; - if (str == NULL) - return; - - prev = XF86Config->conf_layout_lst; - lay = xf86findLayout(str, prev); - tmp = prev; - while (tmp != NULL) { - if (tmp == lay) - break; - prev = tmp; - tmp = (XF86ConfLayoutPtr)(tmp->list.next); - } - - rem = lay; - if (tmp != NULL) - lay = (XF86ConfLayoutPtr)(tmp->list.next); - if (lay == NULL && prev != tmp) - lay = prev; - - if (lay != NULL) { - int i; - - for (i = 0; i < ((CompositeWidget)layoutp)->composite.num_children; - i++) { - XtSetArg(args[0], XtNlabel, &str); - XtGetValues(((CompositeWidget)layoutp)->composite.children[i], - args, 1); - if (strcmp(lay->lay_identifier, str) == 0) { - layoutsme = ((CompositeWidget)layoutp)->composite.children[i]; - break; - } - } - SelectLayoutCallback(layoutsme, lay, NULL); - } - else { - computer.layout = NULL; - XtSetArg(args[0], XtNstring, ""); - XtSetValues(layout, args, 1); - - for (i = 0; i < computer.num_devices; i++) - computer.devices[i]->state = UNUSED; - DrawCables(); - } - - for (i = 0; i < ((CompositeWidget)layoutp)->composite.num_children; i++) { - XtSetArg(args[0], XtNlabel, &str); - XtGetValues(((CompositeWidget)layoutp)->composite.children[i], args, 1); - if (strcmp(rem->lay_identifier, str) == 0) { - sme = ((CompositeWidget)layoutp)->composite.children[i]; - break; - } - } - - xf86removeLayout(XF86Config, rem); - if (sme) - XtDestroyWidget(sme); -} - -void -SetTip(xf86cfgDevice *device) -{ - XF86OptionPtr option = NULL; - char *tip, buffer[4096]; - Arg args[1]; - int len = 0; - - XtSetArg(args[0], XtNtip, &tip); - XtGetValues(device->widget, args, 1); - - switch (device->type) { - case MOUSE: { - XF86ConfInputPtr mouse = (XF86ConfInputPtr)device->config; - - if (mouse == NULL) - return; - len = XmuSnprintf(buffer, sizeof(buffer), - "Identifier \"%s\"\n" - "Driver \"mouse\"\n", - mouse->inp_identifier); - option = mouse->inp_option_lst; - } break; - case KEYBOARD: { - XF86ConfInputPtr keyboard = (XF86ConfInputPtr)device->config; - - if (keyboard == NULL) - return; - len = XmuSnprintf(buffer, sizeof(buffer), - "Identifier \"%s\"\n" - "Driver \"keyboard\"\n", - keyboard->inp_identifier); - option = keyboard->inp_option_lst; - } break; - case CARD: { - XF86ConfDevicePtr card = (XF86ConfDevicePtr)device->config; - - if (card == NULL) - return; - len = XmuSnprintf(buffer, sizeof(buffer), - "Identifier \"%s\"\n" - "Driver \"%s\"\n", - card->dev_identifier, - card->dev_driver); - option = card->dev_option_lst; - } break; - case MONITOR: { - XF86ConfMonitorPtr monitor = (XF86ConfMonitorPtr)device->config; - - if (monitor == NULL) - return; - if (monitor->mon_vendor != NULL) - len = XmuSnprintf(buffer, sizeof(buffer), - "Identifier \"%s\"\n" - "Vendor \"%s\"\n", - monitor->mon_identifier, - monitor->mon_vendor); - else - len = XmuSnprintf(buffer, sizeof(buffer), - "Identifier \"%s\"\n", - monitor->mon_identifier); - option = monitor->mon_option_lst; - } break; - case SCREEN: { - XF86ConfScreenPtr screen = (XF86ConfScreenPtr)device->config; - - if (screen == NULL) - return; - len = XmuSnprintf(buffer, sizeof(buffer), - "Identifier \"%s\"\n", - screen->scrn_identifier); - if (screen->scrn_device_str != NULL) - len += XmuSnprintf(buffer + len, sizeof(buffer), - "Device \"%s\"\n", - screen->scrn_device_str); - if (screen->scrn_monitor_str != NULL) - len += XmuSnprintf(buffer + len, sizeof(buffer), - "Monitor \"%s\"\n", - screen->scrn_monitor_str); - option = screen->scrn_option_lst; - } break; - case SERVER: { - len = XmuSnprintf(buffer, sizeof(buffer), - "%s\n", "Server Flags"); - option = XF86Config->conf_flags->flg_option_lst; - } break; - } - - while (option && len < sizeof(buffer) - 1) { - len += XmuSnprintf(buffer + len, sizeof(buffer) - len, - "Option \"%s\"", - option->opt_name); - if (option->opt_val != NULL) - len += XmuSnprintf(buffer + len, sizeof(buffer) - len, - " \"%s\"\n", - option->opt_val); - else - len += XmuSnprintf(buffer + len, sizeof(buffer) - len, - "%s", "\n"); - option = (XF86OptionPtr)(option->list.next); - } - - tip = buffer; - XtSetArg(args[0], XtNtip, tip); - XtSetValues(device->widget, args, 1); -} - -/*ARGSUSED*/ -void -AddDeviceCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - AddDevice((long)user_data, NULL, 6, 6); -} - -void -SmeConfigureDeviceCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - int i; - - switch ((long)user_data) { - case MOUSE: - case KEYBOARD: - case CARD: - case MONITOR: - for (i = 0; i < computer.num_devices; i++) - if (computer.devices[i]->type == (long)user_data) { - config = computer.devices[i]->widget; - ConfigureDeviceCallback(w, NULL, NULL); - } - break; - - /* hack for newly added devices */ - case -(MOUSE + 100): - case -(KEYBOARD + 100): - case -(CARD + 100): - case -(MONITOR + 100): - for (i = 0; i < computer.num_devices; i++) - if (-(computer.devices[i]->type + 100) == (long)user_data && - computer.devices[i]->config == NULL) { - config = computer.devices[i]->widget; - ConfigureDeviceCallback(w, NULL, NULL); - } - break; - - default: - for (i = 0; i < computer.num_devices; i++) - if (computer.devices[i]->config == user_data) { - config = computer.devices[i]->widget; - ConfigureDeviceCallback(w, NULL, NULL); - } - break; - } -} - -void -ConfigureDeviceCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - int i, j; - - if (config_mode == CONFIG_LAYOUT) { - for (i = 0; i < computer.num_devices; i++) { - if (computer.devices[i]->widget == config) { - switch (computer.devices[i]->type) { - case MOUSE: { - XF86ConfInputPtr mouse = - MouseConfig(computer.devices[i]->config); - - if (mouse != NULL && computer.devices[i]->config == NULL) { - XF86Config->conf_input_lst = - xf86addInput(XF86Config->conf_input_lst, - mouse); - computer.devices[i]->config = (XtPointer)mouse; - } - SetTip(computer.devices[i]); - } break; - case KEYBOARD: { - XF86ConfInputPtr keyboard = - KeyboardConfig(computer.devices[i]->config); - - if (keyboard != NULL && computer.devices[i]->config == NULL) { - XF86Config->conf_input_lst = - xf86addInput(XF86Config->conf_input_lst, - keyboard); - computer.devices[i]->config = (XtPointer)keyboard; - } - SetTip(computer.devices[i]); - } break; - case CARD: { - XF86ConfDevicePtr card = - CardConfig(computer.devices[i]->config); - - if (card != NULL && computer.devices[i]->config == NULL) { - XF86Config->conf_device_lst = - xf86addDevice(XF86Config->conf_device_lst, - card); - computer.devices[i]->config = (XtPointer)card; - } - SetTip(computer.devices[i]); - for (j = 0; j < computer.num_screens; j++) - if (computer.screens[j]->card->widget == config) - SetTip((xf86cfgDevice*)computer.screens[j]); - } break; - case MONITOR: { - XF86ConfMonitorPtr monitor = - MonitorConfig(computer.devices[i]->config); - - if (monitor != NULL && computer.devices[i]->config == NULL) { - XF86Config->conf_monitor_lst = - xf86addMonitor(XF86Config->conf_monitor_lst, - monitor); - computer.devices[i]->config = (XtPointer)monitor; - } - SetTip(computer.devices[i]); - for (j = 0; j < computer.num_screens; j++) - if (computer.screens[j]->monitor->widget == config) - SetTip((xf86cfgDevice*)computer.screens[j]); - } break; - } - /* Need to update because it may have been renamed */ - UpdateMenuDeviceList(computer.devices[i]->type); - break; - } - } - } - else if (config_mode == CONFIG_SCREEN) { - for (i = 0; i < computer.num_screens; i++) - if (computer.screens[i]->widget == config) { - if (ScreenConfig(computer.screens[i]->screen) != NULL) - SetTip((xf86cfgDevice*)computer.screens[i]); - } - } -} - -void -OptionsCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - int i; - XF86OptionPtr *options = NULL; -#ifdef USE_MODULES - xf86cfgModuleOptions *drv_opts = NULL; -#endif - - if (config_mode == CONFIG_SCREEN) { - for (i = 0; i < computer.num_screens; i++) - if (computer.screens[i]->widget == config) { - options = &(computer.screens[i]->screen->scrn_option_lst); - break; - } - } - else { - for (i = 0; i < computer.num_devices; i++) - if (computer.devices[i]->widget == config) - break; - - if (i >= computer.num_devices) { - if (XF86Config->conf_flags == NULL) - XF86Config->conf_flags = (XF86ConfFlagsPtr) - XtCalloc(1, sizeof(XF86ConfFlagsRec)); - options = &(XF86Config->conf_flags->flg_option_lst); - } - else { - switch (computer.devices[i]->type) { - case MOUSE: - case KEYBOARD: - options = (XF86OptionPtr*)&(((XF86ConfInputPtr) - (computer.devices[i]->config))->inp_option_lst); -#ifdef USE_MODULES - if (!nomodules) { - char *drv = ((XF86ConfInputPtr) - (computer.devices[i]->config))->inp_driver; - - if (drv) { - drv_opts = module_options; - while (drv_opts) { - if (drv_opts->type == InputModule && - strcmp(drv_opts->name, drv) == 0) - break; - drv_opts = drv_opts->next; - } - } - } -#endif - - break; - case CARD: - options = (XF86OptionPtr*)&(((XF86ConfDevicePtr) - (computer.devices[i]->config))->dev_option_lst); -#ifdef USE_MODULES - if (!nomodules) { - char *drv = ((XF86ConfDevicePtr) - (computer.devices[i]->config))->dev_driver; - - if (drv) { - drv_opts = module_options; - while (drv_opts) { - if (drv_opts->type == VideoModule && - strcmp(drv_opts->name, drv) == 0) - break; - drv_opts = drv_opts->next; - } - } - } -#endif - break; - case MONITOR: - options = (XF86OptionPtr*)&(((XF86ConfMonitorPtr) - (computer.devices[i]->config))->mon_option_lst); - break; - } - } - } - -#ifdef USE_MODULES - OptionsPopup(options, drv_opts ? drv_opts->name : NULL, - drv_opts ? drv_opts->option : NULL); -#else - OptionsPopup(options); -#endif - if (config_mode == CONFIG_SCREEN) { - XF86OptionPtr option, options; - int rotate = 0; - - options = computer.screens[i]->screen->scrn_option_lst; - if ((option = xf86findOption(options, "Rotate")) != NULL) { - if (option->opt_val != NULL) - rotate = strcasecmp(option->opt_val, "CW") == 0 ? 1 : - strcasecmp(option->opt_val, "CCW") == 0 ? -1 : 0; - XtFree(option->opt_val); - option->opt_val = XtNewString(rotate > 0 ? "CW" : "CCW"); - computer.screens[i]->rotate = rotate; - } - else - computer.screens[i]->rotate = 0; - UpdateScreenUI(); - AdjustScreenUI(); - SetTip((xf86cfgDevice*)computer.screens[i]); - } - else { - if (i >= computer.num_devices) - SetTip(&cpu_device); - else - SetTip(computer.devices[i]); - } -} - -void -EnableDeviceCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - int i; - - if (config_mode == CONFIG_SCREEN) { - for (i = 0; i < computer.num_screens; i++) - if (computer.screens[i]->widget == config) { - computer.screens[i]->state = USED; - computer.screens[i]->card->state = USED; - ScreenSetup(False); - return; - } - } - - for (i = 0; i < computer.num_devices; i++) - if (computer.devices[i]->widget == config) { - if (computer.devices[i]->state == USED) - return; - computer.devices[i]->state = USED; - DrawCables(); - break; - } - if (i >= computer.num_devices || computer.layout == NULL) - return; - switch (computer.devices[i]->type) { - case MOUSE: - case KEYBOARD: { - int nmouses = 0, nkeyboards = 0; - XF86ConfInputPtr input = (XF86ConfInputPtr) - (computer.devices[i]->config); - XF86ConfInputrefPtr nex, iref = computer.layout->lay_input_lst; - XF86OptionPtr option; - - nex = iref; - while (nex != NULL) { - if (strcasecmp(nex->iref_inputdev->inp_driver, "mouse") == 0) - ++nmouses; - else if (IS_KBDDRIV(nex->iref_inputdev->inp_driver)) - ++nkeyboards; - iref = nex; - nex = (XF86ConfInputrefPtr)(nex->list.next); - } - nex = (XF86ConfInputrefPtr)XtCalloc(1, sizeof(XF86ConfInputrefRec)); - nex->list.next = NULL; - nex->iref_inputdev = input; - nex->iref_inputdev_str = XtNewString(input->inp_identifier); - if (nmouses == 0 && computer.devices[i]->type == MOUSE) - option = xf86newOption(XtNewString("CorePointer"), NULL); - else if (nkeyboards == 0 && computer.devices[i]->type == KEYBOARD) - option = xf86newOption(XtNewString("CoreKeyboard"), NULL); - else - option = xf86newOption(XtNewString("SendCoreEvents"), NULL); - nex->iref_option_lst = option; - computer.layout->lay_input_lst = - xf86addInputref(computer.layout->lay_input_lst, nex); - } break; - case CARD: - for (i = 0; i < computer.num_screens; i++) { - if (computer.screens[i]->card->widget == config && - computer.screens[i]->state != USED) { - XF86ConfAdjacencyPtr adj; - - adj = (XF86ConfAdjacencyPtr) - XtCalloc(1, sizeof(XF86ConfAdjacencyRec)); - adj->adj_screen = computer.screens[i]->screen; - adj->adj_screen_str = XtNewString(computer.screens[i]-> - screen->scrn_identifier); - computer.layout->lay_adjacency_lst = (XF86ConfAdjacencyPtr) - xf86addListItem((GenericListPtr)computer.layout-> - lay_adjacency_lst, (GenericListPtr)adj); - computer.screens[i]->state = USED; - } - } - break; - case MONITOR: - break; - } -} - -void -DisableDeviceCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - int i; - - if (config_mode == CONFIG_SCREEN) { - for (i = 0; i < computer.num_screens; i++) - if (computer.screens[i]->widget == config) { - computer.screens[i]->state = UNUSED; - computer.screens[i]->card->state = UNUSED; - ScreenSetup(False); - return; - } - } - - for (i = 0; i < computer.num_devices; i++) - if (computer.devices[i]->widget == config) { - if (computer.devices[i]->state == UNUSED) - return; - computer.devices[i]->state = UNUSED; - DrawCables(); - break; - } - if (i >= computer.num_devices || computer.layout == NULL) - return; - switch (computer.devices[i]->type) { - case MOUSE: - case KEYBOARD: - xf86removeInputRef(computer.layout, - (XF86ConfInputPtr)(computer.devices[i]->config)); - break; - case CARD: { - XF86ConfAdjacencyPtr adj; - int j; - - if (computer.layout == NULL) - break; - for (j = 0; j < computer.num_screens; j++) - if (computer.screens[j]->card->widget == config) { - adj = computer.layout->lay_adjacency_lst; - while (adj != NULL) { - if (adj->adj_screen == computer.screens[j]->screen) { - xf86removeAdjacency(computer.layout, adj); - break; - } - adj = (XF86ConfAdjacencyPtr)(adj->list.next); - } - computer.screens[j]->state = UNUSED; - break; - } - } break; - case MONITOR: - break; - } -} - -/* ARGSUSED */ -void -RemoveDeviceCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - int i, j; - - for (i = 0; i < computer.num_screens; i++) - if (computer.screens[i]->widget == config) { - RemoveScreen(computer.screens[i]->monitor, - computer.screens[i]->card); - ScreenSetup(False); - return; - } - - for (i = 0; i < computer.num_devices; i++) { - if (computer.devices[i]->widget == config) { - switch (computer.devices[i]->type) { - case MOUSE: - case KEYBOARD: - xf86removeInput(XF86Config, - (XF86ConfInputPtr)(computer.devices[i]->config)); - break; - case CARD: - case MONITOR: - break; - } - - if (computer.devices[i]->type == CARD) { - for (j = 0; j < computer.num_screens; j++) - if (computer.screens[j]->card == computer.devices[i]) { - RemoveScreen(computer.screens[j]->monitor, - computer.devices[i]); - --j; - } - if (computer.devices[i]->refcount <= 0) - xf86removeDevice(XF86Config, - (XF86ConfDevicePtr)(computer.devices[i]->config)); - } - else if (computer.devices[i]->type == MONITOR) { - for (j = 0; j < computer.num_screens; j++) - if (computer.screens[j]->monitor == computer.devices[i]) { - RemoveScreen(computer.devices[i], - computer.screens[j]->card); - --j; - } - if (computer.devices[i]->refcount <= 0) - xf86removeMonitor(XF86Config, - (XF86ConfMonitorPtr)(computer.devices[i]->config)); - } - - if (computer.devices[i]->refcount <= 0) { - int type = computer.devices[i]->type; - - XtDestroyWidget(computer.devices[i]->widget); - XtFree((XtPointer)computer.devices[i]); - if (--computer.num_devices > i) - memmove(&computer.devices[i], &computer.devices[i + 1], - (computer.num_devices - i) * sizeof(xf86cfgDevice*)); - - DrawCables(); - UpdateMenuDeviceList(type); - } - - break; - } - } -} - -void -UpdateMenuDeviceList(int type) -{ - Widget sme = NULL, menu = NULL; - int i, count; - static char *mouseM = "mouseM", *keyboardM = "keyboardM", - *cardM = "cardM", *monitorM = "monitorM"; - - for (i = count = 0; i < computer.num_devices; i++) - if (computer.devices[i]->type == type) - ++count; - - switch (type) { - case MOUSE: - sme = mouseSme; - menu = mouseMenu; - break; - case KEYBOARD: - sme = keyboardSme; - menu = keyboardMenu; - break; - case CARD: - sme = cardSme; - menu = cardMenu; - break; - case MONITOR: - sme = monitorSme; - menu = monitorMenu; - break; - } - - if (menu) - for (i = ((CompositeWidget)menu)->composite.num_children - 1; i >= 0; i--) - XtDestroyWidget(((CompositeWidget)menu)->composite.children[i]); - - if (count < 2) { - XtVaSetValues(sme, XtNmenuName, NULL, XtNleftBitmap, None, NULL); - return; - } - - switch (type) { - case MOUSE: - if (mouseMenu == NULL) - menu = mouseMenu = - XtCreatePopupShell(mouseM, simpleMenuWidgetClass, - XtParent(mouseSme), NULL, 0); - XtVaSetValues(mouseSme, XtNmenuName, mouseM, - XtNleftBitmap, menuPixmap, NULL); - break; - case KEYBOARD: - if (keyboardMenu == NULL) - menu = keyboardMenu = - XtCreatePopupShell(keyboardM, simpleMenuWidgetClass, - XtParent(keyboardSme), NULL, 0); - XtVaSetValues(keyboardSme, XtNmenuName, keyboardM, - XtNleftBitmap, menuPixmap, NULL); - break; - case CARD: - if (cardMenu == NULL) - menu = cardMenu = - XtCreatePopupShell(cardM, simpleMenuWidgetClass, - XtParent(cardSme), NULL, 0); - XtVaSetValues(cardSme, XtNmenuName, cardM, - XtNleftBitmap, menuPixmap, NULL); - break; - case MONITOR: - if (monitorMenu == NULL) - menu = monitorMenu = - XtCreatePopupShell(monitorM, simpleMenuWidgetClass, - XtParent(monitorSme), NULL, 0); - XtVaSetValues(monitorSme, XtNmenuName, monitorM, - XtNleftBitmap, menuPixmap, NULL); - break; - } - - for (i = 0; i < computer.num_devices; i++) - if (computer.devices[i]->type == type) { - char *label = NULL; - - if (computer.devices[i]->config) { - switch (type) { - case MOUSE: - case KEYBOARD: - label = ((XF86ConfInputPtr)computer.devices[i]->config) - ->inp_identifier; - break; - case CARD: - label = ((XF86ConfDevicePtr)computer.devices[i]->config) - ->dev_identifier; - break; - case MONITOR: - label = ((XF86ConfMonitorPtr)computer.devices[i]->config) - ->mon_identifier; - break; - } - } - else { - switch (type) { - case MOUSE: - label = "newMouse"; - break; - case KEYBOARD: - label = "newKeyboard"; - break; - case CARD: - label = "newCard"; - break; - case MONITOR: - label = "newMonitor"; - break; - } - } - - sme = XtCreateManagedWidget(label, smeBSBObjectClass, menu, NULL, 0); - XtAddCallback(sme, XtNcallback, SmeConfigureDeviceCallback, - computer.devices[i]->config ? - computer.devices[i]->config : - (XtPointer) (-((long)type + 100))); - } -} - -/*ARGSUSED*/ -void -SelectDeviceAction(Widget w, XEvent *event, String *params, Cardinal *num_params) -{ - device = w; - xpos = event->xbutton.x_root; - ypos = event->xbutton.y_root; - XDefineCursor(XtDisplay(device), XtWindow(device), no_cursor); - - if (config_mode == CONFIG_SCREEN) { - sxpos = device->core.x; - sypos = device->core.y; - } -} - -/*ARGSUSED*/ -void -MoveDeviceAction(Widget w, XEvent *event, String *params, Cardinal *num_params) -{ - int dx, dy, x, y, oldx, oldy; - - if (device == NULL || device != w) - return; - - dx = event->xbutton.x_root - xpos; - dy = event->xbutton.y_root - ypos; - - oldx = device->core.x; - oldy = device->core.y; - x = device->core.x + dx; - y = device->core.y + dy; - - if (x < 0) - x = 0; - else if (x + device->core.width > XtParent(device)->core.width) - x = XtParent(device)->core.width - device->core.width; - if (y < 0) - y = 0; - else if (y + device->core.height > XtParent(device)->core.height) - y = XtParent(device)->core.height - device->core.height; - - dx = x - oldx; - dy = y - oldy; - - XRaiseWindow(XtDisplay(device), XtWindow(device)); - XtMoveWidget(device, x, y); - - xpos += dx; - ypos += dy; -} - -/*ARGSUSED*/ -void -UnselectDeviceAction(Widget w, XEvent *ev, String *params, Cardinal *num_params) -{ - if (device != NULL) { - XUndefineCursor(XtDisplay(device), XtWindow(device)); - - if (config_mode == CONFIG_SCREEN) - ScreenSetup(False); - device = NULL; - } -} - -/*ARGSUSED*/ -void -DevicePopupMenu(Widget w, XEvent *event, String *params, Cardinal *num_params) -{ - static Widget configure, options, enable, disable, remove; - static int first = 1; - int i; - xf86cfgDevice *dev; - - if (first) { - first = 0; - - popup = XtCreatePopupShell("popup", simpleMenuWidgetClass, - toplevel, NULL, 0); - configure = XtCreateManagedWidget("configure", smeBSBObjectClass, - popup, NULL, 0); - XtAddCallback(configure, XtNcallback, ConfigureDeviceCallback, NULL); - options = XtCreateManagedWidget("options", smeBSBObjectClass, - popup, NULL, 0); - XtAddCallback(options, XtNcallback, OptionsCallback, NULL); - XtCreateManagedWidget("line", smeLineObjectClass, - popup, NULL, 0); - enable = XtCreateManagedWidget("enable", smeBSBObjectClass, - popup, NULL, 0); - XtAddCallback(enable, XtNcallback, EnableDeviceCallback, NULL); - disable = XtCreateManagedWidget("disable", smeBSBObjectClass, - popup, NULL, 0); - XtAddCallback(disable, XtNcallback, DisableDeviceCallback, NULL); - XtCreateManagedWidget("line", smeLineObjectClass, - popup, NULL, 0); - remove = XtCreateManagedWidget("remove", smeBSBObjectClass, - popup, NULL, 0); - XtAddCallback(remove, XtNcallback, RemoveDeviceCallback, NULL); - - XtRealizeWidget(popup); - } - - dev = NULL; - if (config_mode == CONFIG_LAYOUT) { - for (i = 0; i < computer.num_devices; i++) - if (computer.devices[i]->widget == w) { - dev = computer.devices[i]; - break; - } - if (i >= computer.num_devices && strcmp(XtName(w), "cpu")) - return; - if (dev == NULL) - dev = &cpu_device; - } - else if (config_mode == CONFIG_SCREEN) { - for (i = 0; i < computer.num_screens; i++) - if (computer.screens[i]->widget == w) { - dev = (xf86cfgDevice*)computer.screens[i]; - break; - } - } - if (dev == NULL) - return; - - config = w; - - if (dev->type != SERVER) { - XtSetSensitive(configure, True); - XtSetSensitive(remove, True); - XtSetSensitive(options, dev->config != NULL); - if (computer.layout == NULL || dev->config == NULL || - dev->type == MONITOR) { - XtSetSensitive(enable, False); - XtSetSensitive(disable, False); - } - else if (dev->state == USED) { - XtSetSensitive(enable, False); - XtSetSensitive(disable, True); - } - else { - XtSetSensitive(enable, True); - XtSetSensitive(disable, False); - } - } - else { - XtSetSensitive(configure, False); - XtSetSensitive(options, True); - XtSetSensitive(enable, False); - XtSetSensitive(disable, False); - XtSetSensitive(remove, False); - } - - XtMoveWidget(popup, event->xbutton.x_root, event->xbutton.y_root); - XtPopup(popup, XtGrabNone); -} - -/*ARGSUSED*/ -void -DevicePopdownMenu(Widget w, XEvent *event, String *params, Cardinal *num_params) -{ - if (popup && XtIsRealized(popup)) - XtPopdown(popup); -} - -void RenameLayoutAction(Widget w, XEvent *event, - String *params, Cardinal *num_params) -{ - XF86ConfLayoutPtr lay = XF86Config->conf_layout_lst; - Arg args[1]; - char *name; - - XtSetArg(args[0], XtNstring, &name); - XtGetValues(layout, args, 1); - - if (computer.layout == NULL || (computer.layout && - strcasecmp(name, computer.layout->lay_identifier)) == 0) - return; - - if (name == NULL && *name == '\0') { - /* tell user about error */ - return; - } - - while (lay) { - if (strcasecmp(name, lay->lay_identifier) == 0) - /* tell user about error */ - return; - lay = (XF86ConfLayoutPtr)(lay->list.next); - } - - XtSetArg(args[0], XtNlabel, name); - XtSetValues(layoutsme, args, 1); - xf86renameLayout(XF86Config, computer.layout, name); -} - -/*ARGSUSED*/ -static void -ComputerEventHandler(Widget w, XtPointer closure, - XEvent *event, Boolean *continue_to_dispatch) -{ - if (event->xexpose.count > 1) - return; - - if (config_mode == CONFIG_LAYOUT) - DrawCables(); -} - -void -DrawCables(void) -{ - Display *display; - Window window; - int ox, oy, i; - xf86cfgScreen **scr = computer.screens; - - if (config_mode != CONFIG_LAYOUT) - return; - - ox = computer.cpu->core.x + (computer.cpu->core.width >> 1); - oy = computer.cpu->core.y + (computer.cpu->core.height >> 1); - - display = XtDisplay(work); - window = XtWindow(work); - XClearWindow(display, window); - - for (i = 0; i < computer.num_devices; i++) { - if (computer.devices[i]->state == USED && - computer.devices[i]->type != MONITOR) - DrawCable(display, window, ox, oy, - computer.devices[i]->widget->core.x + - (computer.devices[i]->widget->core.width>>1), - computer.devices[i]->widget->core.y + - (computer.devices[i]->widget->core.height>>1)); - - } - for (i = 0; i < computer.num_screens; i++) { - if (scr[i]->monitor != NULL) - DrawCable(display, window, - scr[i]->card->widget->core.x + - (scr[i]->card->widget->core.width>>1), - scr[i]->card->widget->core.y + - (scr[i]->card->widget->core.height>>1), - scr[i]->monitor->widget->core.x + - (scr[i]->monitor->widget->core.width>>1), - scr[i]->monitor->widget->core.y + - (scr[i]->monitor->widget->core.height>>1)); - } -} - -static void -DrawCable(Display *display, Window window, int o_x, int o_y, int d_x, int d_y) -{ - XDrawLine(display, window, cablegcshadow, o_x, o_y, d_x, d_y); - XDrawLine(display, window, cablegc, o_x, o_y, d_x, d_y); -} - -/*ARGSUSED*/ -void -SetConfigModeCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - int i, mode = (long)user_data; - Arg args[3]; - char *ptr; - static Dimension height; - - if (mode == config_mode) - return; - XtSetArg(args[0], XtNlabel, &ptr); - XtGetValues(w, args, 1); - XtSetArg(args[0], XtNlabel, ptr); - XtSetValues(topMenu, args, 1); - - if (config_mode == CONFIG_LAYOUT) { - XtSetArg(args[0], XtNheight, &height); - XtGetValues(commands, args, 1); - for (i = 0; i < computer.num_devices; i++) - XtUnmapWidget(computer.devices[i]->widget); - XtUnmapWidget(commands); - XtUnmapWidget(computer.cpu); - XtSetSensitive(commands, False); - XtSetArg(args[0], XtNheight, 1); - XtSetArg(args[1], XtNmin, 1); - XtSetArg(args[2], XtNmax, 1); - XtSetValues(commands, args, 3); - } - else if (config_mode == CONFIG_SCREEN) { - for (i = 0; i < computer.num_screens; i++) - XtUnmapWidget(computer.screens[i]->widget); - } - else if (config_mode == CONFIG_MODELINE) { - VideoModeConfigureEnd(); - XtSetSensitive(layout, True); - XtSetSensitive(layoutm, True); - } - else if (config_mode == CONFIG_ACCESSX) { - AccessXConfigureEnd(); - XtSetSensitive(layout, True); - XtSetSensitive(layoutm, True); - } - - config_mode = mode; - XClearWindow(XtDisplay(work), XtWindow(work)); - if (mode == CONFIG_LAYOUT) { - for (i = 0; i < computer.num_devices; i++) - XtMapWidget(computer.devices[i]->widget); - XtSetArg(args[0], XtNheight, height); - XtSetArg(args[1], XtNmin, height); - XtSetArg(args[2], XtNmax, height); - XtSetValues(commands, args, 3); - XtMapWidget(commands); - XtMapWidget(computer.cpu); - XtSetSensitive(commands, True); - DrawCables(); - } - else if (mode == CONFIG_SCREEN) { - for (i = 0; i < computer.num_screens; i++) - XtMapWidget(computer.screens[i]->widget); - ScreenSetup(True); - } - else if (mode == CONFIG_MODELINE) { - VideoModeConfigureStart(); - XtSetSensitive(layout, False); - XtSetSensitive(layoutm, False); - } - else if (mode == CONFIG_ACCESSX) { - AccessXConfigureStart(); - XtSetSensitive(layout, False); - XtSetSensitive(layoutm, False); - } -} - -static void -ScreenSetup(Bool check) -{ - if (check) { - int i; - - for (i = 0; i < computer.num_layouts; i++) - if (computer.layouts[i]->layout == computer.layout) - break; - - /* Just to put the screens in the correct positions */ - if (i >= computer.num_layouts) - AdjustScreenUI(); - } - - UpdateScreenUI(); - AdjustScreenUI(); -} diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/keyboard-cfg.c b/xorg-server/hw/xfree86/utils/xorgcfg/keyboard-cfg.c deleted file mode 100644 index 545a67067..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/keyboard-cfg.c +++ /dev/null @@ -1,1378 +0,0 @@ -/* - * Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) - * - * 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 - * CONECTIVA LINUX 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 Conectiva Linux shall - * not be used in advertising or otherwise to promote the sale, use or other - * dealings in this Software without prior written authorization from - * Conectiva Linux. - * - * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> - * - */ - -#include "xf86config.h" -#include "keyboard-cfg.h" -#include <X11/Xaw/Command.h> -#include <X11/Xaw/Form.h> -#include <X11/Xaw/Label.h> -#include <X11/Xaw/MenuButton.h> -#include <X11/Xaw/SimpleMenu.h> -#include <X11/Xaw/SmeBSB.h> - -#define IS_KBDDRIV(X) ((strcasecmp((X),"kbd") == 0)) - -/* - * Types - */ -typedef struct { - char *rules; - XkbRF_RulesPtr list; - XF86XkbDescInfo model; - XF86XkbDescInfo layout; - XF86XkbDescInfo variant; - XF86XkbDescInfo option; -} XF86XkbRulesDescInfo; - -/* - * Prototypes - */ -static void KeyboardRulesCallback(Widget, XtPointer, XtPointer); -static void KeyboardModelCallback(Widget, XtPointer, XtPointer); -static void KeyboardLayoutCallback(Widget, XtPointer, XtPointer); -static void KeyboardVariantCallback(Widget, XtPointer, XtPointer); -static void KeyboardOptionsCallback(Widget, XtPointer, XtPointer); -static void KeyboardApplyCallback(Widget, XtPointer, XtPointer); -static Bool KeyboardConfigCheck(void); -static void XkbUIEventHandler(Widget, XtPointer, XEvent*, Boolean*); -static XF86XkbRulesDescInfo *GetXkbRulesDesc(char*); -static void UpdateRulesPopups(void); - -/* - * Initialization - */ -static XF86XkbRulesDescInfo **xkb_desc, *xkb_rules; -static int num_xkb_desc; -static char *XkbRulesDir = "share/X11/xkb/rules/"; -#ifdef XFREE98_XKB -static char *XkbRulesFile = "xfree98"; -#else -static char *XkbRulesFile = __XKBDEFRULES__; -#endif -static XF86ConfInputPtr current_input; - -static char *rules, *model, *layout, *variant, *options; -static Widget kbd, rulesb, modelb, layoutb, variantb, optionsb, - modelp, layoutp, variantp, optionsp; -static XkbInfo **xkb_infos; -static int num_xkb_infos; -XkbInfo *xkb_info; - -static Widget apply; - -/* - * Implementation - */ -/*ARGSUSED*/ -XtPointer -KeyboardConfig(XtPointer config) -{ - XF86ConfInputPtr keyboard = (XF86ConfInputPtr)config; - XF86OptionPtr option; - Arg args[1]; - static char *XkbRules = "XkbRules", *XkbModel = "XkbModel", - *XkbLayout = "XkbLayout", *XkbVariant = "XkbVariant", - *XkbOptions = "XkbOptions"; - XF86XkbRulesDescInfo *info; - char *omodel, *olayout, *ovariant, *ooptions; - - InitializeKeyboard(); - rules = xkb_rules->rules; - if (xkb_info->config.rules_file == NULL) - xkb_info->config.rules_file = rules; - - if (options) - XtFree(options); - options = NULL; - - if (xkb_info->conf == NULL) - xkb_info->conf = keyboard; - - if (xkb_info->conf != keyboard) { - int i; - - for (i = 0; i < num_xkb_infos; i++) - if (xkb_infos[i]->conf == keyboard) { - xkb_info = xkb_infos[i]; - break; - } - - if (i >= num_xkb_infos) { - int timeout = 10; - - xkb_info = (XkbInfo*)XtCalloc(1, sizeof(XkbInfo)); - xkb_info->conf = keyboard; - xkb_infos = (XkbInfo**) - XtRealloc((XtPointer)xkb_infos, sizeof(XkbInfo*) * - (num_xkb_infos + 1)); - xkb_infos[num_xkb_infos++] = xkb_info; - - xkb_info->conf = keyboard; - bzero((char*)&(xkb_info->defs), sizeof(XkbRF_VarDefsRec)); - while (timeout > 0) { - xkb_info->xkb = - XkbGetKeyboard(XtDisplay(configp), - XkbGBN_AllComponentsMask, XkbUseCoreKbd); - if (xkb_info->xkb == NULL) { - timeout -= 1; - sleep(1); - } - else - break; - } - if (timeout <= 0) { - fprintf(stderr, "Couldn't get keyboard\n"); - } - if (xkb_info->xkb && xkb_info->xkb->names && xkb_info->xkb->geom && - xkb_info->xkb->names->geometry == 0) - xkb_info->xkb->names->geometry = xkb_info->xkb->geom->name; - } - - /* check for removed devices */ - for (i = 0; i < num_xkb_infos; i++) { - XF86ConfInputPtr key = XF86Config->conf_input_lst; - - while (key != NULL) { - if (IS_KBDDRIV(key->inp_driver) && xkb_infos[i]->conf == key) - break; - key = (XF86ConfInputPtr)(key->list.next); - } - if (xkb_infos[i]->conf != NULL && key == NULL) { - XkbFreeKeyboard(xkb_infos[i]->xkb, 0, False); - XtFree((XtPointer)xkb_infos[i]); - if (--num_xkb_infos > i) - memmove(&xkb_infos[i], &xkb_infos[i + 1], - (num_xkb_infos - i) * sizeof(XkbInfo*)); - } - } - } - - current_input = keyboard; - - if (keyboard != NULL) { - if ((option = xf86findOption(keyboard->inp_option_lst, XkbRules)) != NULL) { - if (strcmp(rules, option->opt_val)) { - XF86XkbRulesDescInfo *info = GetXkbRulesDesc(option->opt_val); - - if (info) { - rules = info->rules; - UpdateRulesPopups(); - } - } - } - if ((option = xf86findOption(keyboard->inp_option_lst, XkbModel)) != NULL) - xkb_info->defs.model = model = option->opt_val; - else - xkb_info->defs.model = model = xkb_rules->model.name[0]; - if ((option = xf86findOption(keyboard->inp_option_lst, XkbLayout)) != NULL) - xkb_info->defs.layout = layout = option->opt_val; - else - xkb_info->defs.layout = layout = xkb_rules->layout.name[0]; - if ((option = xf86findOption(keyboard->inp_option_lst, XkbVariant)) != NULL) - xkb_info->defs.variant = variant = option->opt_val; - else - xkb_info->defs.variant = variant = NULL; - - if ((option = xf86findOption(keyboard->inp_option_lst, XkbOptions)) != NULL) - xkb_info->defs.options = options = XtNewString(option->opt_val); - else - xkb_info->defs.options = options = NULL; - - XtSetArg(args[0], XtNstring, keyboard->inp_identifier); - XtSetValues(ident_widget, args, 1); - - (void)UpdateKeyboard(False); - } - else { - XF86ConfInputPtr input = XF86Config->conf_input_lst; - char keyboard_name[48]; - int nkeyboards = 0; - - while (input != NULL) { - if (IS_KBDDRIV(input->inp_driver)) - ++nkeyboards; - input = (XF86ConfInputPtr)(input->list.next); - } - do { - XmuSnprintf(keyboard_name, sizeof(keyboard_name), - "Keyboard%d", nkeyboards); - ++nkeyboards; - } while (xf86findInput(keyboard_name, - XF86Config->conf_input_lst)); - - model = xkb_rules->model.name[0]; - layout = xkb_rules->layout.name[0]; - variant = ""; - options = XtNewString(""); - XtSetArg(args[0], XtNstring, keyboard_name); - XtSetValues(ident_widget, args, 1); - } - - info = xkb_rules; - omodel = model; - olayout = layout; - ovariant = variant; - ooptions = options ? XtNewString(options) : NULL; - - xf86info.cur_list = KEYBOARD; - XtSetSensitive(back, xf86info.lists[KEYBOARD].cur_function > 0); - XtSetSensitive(next, xf86info.lists[KEYBOARD].cur_function < - xf86info.lists[KEYBOARD].num_functions - 1); - (xf86info.lists[KEYBOARD].functions[xf86info.lists[KEYBOARD].cur_function]) - (&xf86info); - - if (ConfigLoop(KeyboardConfigCheck) == True) { - if (keyboard == NULL) { - keyboard = XtNew(XF86ConfInputRec); - keyboard->list.next = NULL; - keyboard->inp_identifier = XtNewString(ident_string); - keyboard->inp_driver = XtNewString("kbd"); - keyboard->inp_option_lst = xf86newOption(XtNewString(XkbRules), - XtNewString(rules)); - xf86addNewOption(keyboard->inp_option_lst, - XtNewString(XkbModel), XtNewString(model)); - xf86addNewOption(keyboard->inp_option_lst, - XtNewString(XkbLayout), XtNewString(layout)); - if (variant && *variant) - xf86addNewOption(keyboard->inp_option_lst, - XtNewString(XkbVariant), XtNewString(variant)); - if (options && *options) { - xf86addNewOption(keyboard->inp_option_lst, - XtNewString(XkbOptions), options); - options = NULL; - } - keyboard->inp_comment = NULL; - } - else { - int i; - char *str; - - XtSetArg(args[0], XtNlabel, &str); - XtGetValues(modelb, args, 1); - for (i = 0; i < xkb_rules->model.nelem; i++) - if (strcmp(xkb_rules->model.desc[i], str) == 0) { - model = xkb_rules->model.name[i]; - break; - } - - XtSetArg(args[0], XtNlabel, &str); - XtGetValues(layoutb, args, 1); - for (i = 0; i < xkb_rules->layout.nelem; i++) - if (strcmp(xkb_rules->layout.desc[i], str) == 0) { - layout = xkb_rules->layout.name[i]; - break; - } - - if ((option = xf86findOption(keyboard->inp_option_lst, XkbRules)) - != NULL) { - XtFree(option->opt_val); - option->opt_val = XtNewString(rules); - XtFree(option->opt_comment); - option->opt_comment = NULL; - } - else - keyboard->inp_option_lst = - xf86addNewOption(keyboard->inp_option_lst, - XtNewString(XkbRules), XtNewString(rules)); - - if ((option = xf86findOption(keyboard->inp_option_lst, XkbModel)) - != NULL) { - XtFree(option->opt_val); - option->opt_val = XtNewString(model); - XtFree(option->opt_comment); - option->opt_comment = NULL; - } - else - keyboard->inp_option_lst = - xf86addNewOption(keyboard->inp_option_lst, - XtNewString(XkbModel), XtNewString(model)); - XtFree(xkb_info->config.model); - xkb_info->config.model = XtNewString(model); - - if ((option = xf86findOption(keyboard->inp_option_lst, XkbLayout)) - != NULL) { - XtFree(option->opt_val); - option->opt_val = XtNewString(layout); - } - else - keyboard->inp_option_lst = - xf86addNewOption(keyboard->inp_option_lst, - XtNewString(XkbLayout), XtNewString(layout)); - XtFree(xkb_info->config.layout); - xkb_info->config.layout = XtNewString(layout); - - if ((option = xf86findOption(keyboard->inp_option_lst, XkbVariant)) - != NULL) { - if (variant && *variant) { - XtFree(option->opt_val); - option->opt_val = XtNewString(variant); - } - else - xf86removeOption(&keyboard->inp_option_lst, XkbVariant); - } - else if (variant && *variant) - xf86addNewOption(keyboard->inp_option_lst, - XtNewString(XkbVariant), XtNewString(variant)); - XtFree(xkb_info->config.variant); - xkb_info->config.variant = variant && *variant ? - XtNewString(variant) : NULL; - - XtFree(xkb_info->config.options); - xkb_info->config.options = options && *options ? - XtNewString(options) : NULL; - if ((option = xf86findOption(keyboard->inp_option_lst, XkbOptions)) - != NULL) { - if (options && *options) { - XtFree(option->opt_val); - option->opt_val = options; - options = NULL; - } - else - xf86removeOption(&keyboard->inp_option_lst, XkbOptions); - } - else if (options && *options) { - xf86addNewOption(keyboard->inp_option_lst, - XtNewString(XkbOptions), options); - options = NULL; - } - } - if (strcasecmp(keyboard->inp_identifier, ident_string)) - xf86renameInput(XF86Config, keyboard, ident_string); - - xkb_info->conf = keyboard; - xkb_info->config.rules_file = rules; - - return ((XtPointer)keyboard); - } - - xkb_rules = info; - rules = info->rules; - model = omodel; - layout = olayout; - variant = ovariant; - XtFree(options); - options = ooptions; - - return (NULL); -} - -static Bool -KeyboardConfigCheck(void) -{ - XF86ConfInputPtr keyboard = XF86Config->conf_input_lst; - - while (keyboard != NULL) { - if (keyboard != current_input && - strcasecmp(ident_string, keyboard->inp_identifier) == 0) - return (False); - keyboard = (XF86ConfInputPtr)(keyboard->list.next); - } - - return (True); -} - -/*ARGSUSED*/ -static void -XkbUIEventHandler(Widget w, XtPointer closure, - XEvent *event, Boolean *continue_to_dispatch) -{ - XkbUI_ViewOptsRec opts; - XkbUI_ViewPtr view; - int width, height, bd; - - if (event->xexpose.count > 1) - return; - - bzero((char *)&opts, sizeof(opts)); - bd = 1; - opts.present = XkbUI_SizeMask | XkbUI_ColormapMask | - XkbUI_MarginMask | XkbUI_OffsetMask; - opts.margin_width = opts.margin_height = 0; - opts.viewport.x = opts.viewport.y = bd; - width = opts.viewport.width = w->core.width - 2 * bd; - height = opts.viewport.height = w->core.height - 2 * bd; - opts.cmap = w->core.colormap; - - if ((view = XkbUI_Init(XtDisplay(w), XtWindow(w), width, height, - xkb_info->xkb, &opts)) != NULL) { - XkbUI_DrawRegion(view, NULL); - free(view); - } -} - -void -InitializeKeyboard(void) -{ - int major, minor, op, event, error; - static int first = 1; - int timeout = 5; - XF86ConfInputPtr keyboard = XF86Config->conf_input_lst; - XF86OptionPtr option; - char name[PATH_MAX]; - FILE *file; - - if (!first) - return; - first = 0; - - major = XkbMajorVersion; - minor = XkbMinorVersion; - if (XkbQueryExtension(DPY, &op, &event, &error, &major, &minor) == 0) { - fprintf(stderr, "Unable to initialize XKEYBOARD extension"); - exit(1); - } - - xkb_info = (XkbInfo *)XtCalloc(1, sizeof(XkbInfo)); - xkb_info->conf = NULL; - xkb_infos = (XkbInfo**)XtCalloc(1, sizeof(XkbInfo*)); - num_xkb_infos = 1; - xkb_infos[0] = xkb_info; - bzero((char*)&(xkb_info->defs), sizeof(XkbRF_VarDefsRec)); - - while (timeout > 0) { - xkb_info->xkb = - XkbGetKeyboard(DPY, XkbGBN_AllComponentsMask, XkbUseCoreKbd); - if (xkb_info->xkb == NULL) { - timeout -= 1; - sleep(1); - } - else - break; - } - if (timeout <= 0) { - fprintf(stderr, "Couldn't get keyboard\n"); - } - if (xkb_info->xkb && xkb_info->xkb->names && xkb_info->xkb->geom && - xkb_info->xkb->names->geometry == 0) - xkb_info->xkb->names->geometry = xkb_info->xkb->geom->name; - - /* Load configuration */ - XmuSnprintf(name, sizeof(name), "%s%s", XkbConfigDir, XkbConfigFile); - file = fopen(name, "r"); - if (file != NULL) { - if (XkbCFParse(file, XkbCFDflts, xkb_info->xkb, &xkb_info->config) == 0) { - fprintf(stderr, "Error parsing config file: "); - XkbCFReportError(stderr, name, xkb_info->config.error, - xkb_info->config.line); - } - fclose(file); - } - - xkb_rules = GetXkbRulesDesc(xkb_info->config.rules_file != NULL ? - xkb_info->config.rules_file : XkbRulesFile); - if (xkb_rules == NULL) - /* error message was printed */ - exit(1); - - /* XXX Assumes the first keyboard is the core keyboard */ - while (keyboard != NULL) { - if (IS_KBDDRIV(keyboard->inp_driver)) - break; - keyboard = (XF86ConfInputPtr)(keyboard->list.next); - } - if (keyboard == NULL) - return; - - if (xkb_info->config.rules_file != NULL) - rules = xkb_info->config.rules_file; - else if ((option = xf86findOption(keyboard->inp_option_lst, "XkbRules")) - != NULL) - rules = option->opt_val; - else - rules = XkbRulesFile; - - if (strcmp(rules, xkb_rules->rules)) { - xkb_rules = GetXkbRulesDesc(rules); - if (xkb_rules == NULL) - /* error message was printed */ - exit(1); - } - { - FILE *fp; - char filename[1024]; - - XmuSnprintf(filename, sizeof(filename), "%s%s", - XkbRulesDir, xkb_rules->rules); - if ((fp = fopen(filename, "r")) == NULL) { - fprintf(stderr, "Can't open rules file\n"); - exit(1); - } - - if (!XkbRF_LoadRules(fp, xkb_rules->list)) { - fclose(fp); - fprintf(stderr, "Can't load rules\n"); - exit(1); - } - fclose(fp); - } - - if (xkb_info->config.rules_file == NULL) - xkb_info->config.rules_file = xkb_rules->rules; - - if (xkb_info->config.model != NULL) - xkb_info->defs.model = xkb_info->config.model; - else if ((option = xf86findOption(keyboard->inp_option_lst, "XkbModel")) - != NULL) - xkb_info->defs.model = option->opt_val; - else - xkb_info->defs.model = xkb_rules->model.name[0]; - - if (xkb_info->config.layout != NULL) - xkb_info->defs.layout = xkb_info->config.layout; - else if ((option = xf86findOption(keyboard->inp_option_lst, "XkbLayout")) - != NULL) - xkb_info->defs.layout = option->opt_val; - else - xkb_info->defs.layout = xkb_rules->layout.name[0]; - - if (xkb_info->config.variant != NULL) - xkb_info->defs.variant = xkb_info->config.variant; - else if ((option = xf86findOption(keyboard->inp_option_lst, "XkbVariant")) - != NULL) - xkb_info->defs.variant = option->opt_val; - else - xkb_info->defs.variant = NULL; - - if (xkb_info->config.options != NULL) - xkb_info->defs.options = xkb_info->config.options; - else if ((option = xf86findOption(keyboard->inp_option_lst, "XkbOptions")) - != NULL) - xkb_info->defs.options = option->opt_val; - else - xkb_info->defs.options = NULL; - - if (xkb_info->xkb == NULL) { - /* Try again */ - XkbComponentNamesRec comps; - - bzero((char*)&comps, sizeof(XkbComponentNamesRec)); - XkbRF_GetComponents(xkb_rules->list, &(xkb_info->defs), &comps); - - xkb_info->xkb = XkbGetKeyboardByName(DPY, XkbUseCoreKbd, &comps, - XkbGBN_AllComponentsMask, 0, 0); - } -} - -static XF86XkbRulesDescInfo * -GetXkbRulesDesc(char *rules) -{ - int i; - XkbRF_RulesPtr list; - char filename[1024]; - XF86XkbRulesDescInfo *info; - - if (rules == NULL) - return (NULL); - - for (i = 0; i < num_xkb_desc; i++) - if (strcmp(rules, xkb_desc[i]->rules) == 0) - return (xkb_desc[i]); - - XmuSnprintf(filename, sizeof(filename), "%s%s", XkbRulesDir, rules); - if ((list = XkbRF_Create(0, 0)) == NULL || - !XkbRF_LoadDescriptionsByName(filename, NULL, list)) { - fprintf(stderr, "Can't create rules structure\n"); - return (NULL); - } - - info = (XF86XkbRulesDescInfo*)XtCalloc(1, sizeof(XF86XkbRulesDescInfo)); - xkb_desc = (XF86XkbRulesDescInfo**) - XtRealloc((XtPointer)xkb_desc, - sizeof(XF86XkbRulesDescInfo*) * (num_xkb_desc + 1)); - xkb_desc[num_xkb_desc++] = info; - info->rules = XtNewString(rules); - for (i = 0; i < list->models.num_desc; i++) { - if (i % 16 == 0) { - info->model.name = (char**)XtRealloc((XtPointer)info->model.name, - (i + 16) * sizeof(char*)); - info->model.desc = (char**)XtRealloc((XtPointer)info->model.desc, - (i + 16) * sizeof(char*)); - } - info->model.name[i] = XtNewString(list->models.desc[i].name); - info->model.desc[i] = XtNewString(list->models.desc[i].desc); - } - info->model.nelem = i; - - for (i = 0; i < list->layouts.num_desc; i++) { - if (i % 16 == 0) { - info->layout.name = (char**)XtRealloc((XtPointer)info->layout.name, - (i + 16) * sizeof(char*)); - info->layout.desc = (char**)XtRealloc((XtPointer)info->layout.desc, - (i + 16) * sizeof(char*)); - } - info->layout.name[i] = XtNewString(list->layouts.desc[i].name); - info->layout.desc[i] = XtNewString(list->layouts.desc[i].desc); - } - info->layout.nelem = i; - - for (i = 0; i < list->variants.num_desc; i++) { - if (i % 16 == 0) { - info->variant.name = (char**)XtRealloc((XtPointer)info->variant.name, - (i + 16) * sizeof(char*)); - info->variant.desc = (char**)XtRealloc((XtPointer)info->variant.desc, - (i + 16) * sizeof(char*)); - } - info->variant.name[i] = XtNewString(list->variants.desc[i].name); - info->variant.desc[i] = XtNewString(list->variants.desc[i].desc); - } - info->variant.nelem = i; - - for (i = 0; i < list->options.num_desc; i++) { - if (i % 16 == 0) { - info->option.name = (char**)XtRealloc((XtPointer)info->option.name, - (i + 16) * sizeof(char*)); - info->option.desc = (char**)XtRealloc((XtPointer)info->option.desc, - (i + 16) * sizeof(char*)); - } - info->option.name[i] = XtNewString(list->options.desc[i].name); - info->option.desc[i] = XtNewString(list->options.desc[i].desc); - } - info->option.nelem = i; - info->list = list; - - return (info); -} - -static xf86ConfigSymTabRec ax_controls[] = -{ - {XkbRepeatKeysMask, "RepeatKeys"}, - {XkbSlowKeysMask, "SlowKeys"}, - {XkbBounceKeysMask, "BounceKeys"}, - {XkbStickyKeysMask, "StickyKeys"}, - {XkbMouseKeysMask, "MouseKeys"}, - {XkbMouseKeysAccelMask, "MouseKeysAccel"}, - {XkbAccessXKeysMask, "AccessxKeys"}, - {XkbAccessXTimeoutMask, "AccessxTimeout"}, - {XkbAccessXFeedbackMask, "AccessxFeedback"}, - {XkbAudibleBellMask, "AudibleBell"}, - {XkbOverlay1Mask, "Overlay1"}, - {XkbOverlay2Mask, "Overlay2"}, - {XkbIgnoreGroupLockMask, "IgnoreGroupLock"}, - {-1, ""}, -}; - -static xf86ConfigSymTabRec ax_feedback[] = -{ - {XkbAX_SKPressFBMask, "SlowKeysPress"}, - {XkbAX_SKAcceptFBMask, "SlowKeysAccept"}, - {XkbAX_FeatureFBMask, "Feature"}, - {XkbAX_SlowWarnFBMask, "SlowWarn"}, - {XkbAX_IndicatorFBMask, "Indicator"}, - {XkbAX_StickyKeysFBMask, "StickyKeys"}, - {XkbAX_TwoKeysMask, "TwoKeys"}, - {XkbAX_LatchToLockMask, "LatchToLock"}, - {XkbAX_SKReleaseFBMask, "SlowKeysRelease"}, - {XkbAX_SKRejectFBMask, "SlowkeysReject"}, - {XkbAX_BKRejectFBMask, "BounceKeysReject"}, - {XkbAX_DumbBellFBMask, "DumbBell"}, - {-1, ""}, -}; - -Bool -WriteXKBConfiguration(char *filename, XkbConfigRtrnPtr conf) -{ - FILE *fp; - int i, count; - - if (filename == NULL || conf == NULL || - (fp = fopen(filename, "w")) == NULL) - return (False); - - if (conf->rules_file != NULL) - fprintf(fp, "Rules = \"%s\"\n", - conf->rules_file); - if (conf->model != NULL) - fprintf(fp, "Model = \"%s\"\n", - conf->model); - if (conf->layout != NULL) - fprintf(fp, "Layout = \"%s\"\n", - conf->layout); - if (conf->variant != NULL) - fprintf(fp, "Variant = \"%s\"\n", - conf->variant); - if (conf->options != NULL) - fprintf(fp, "Options = \"%s\"\n", - conf->options); - if (conf->keymap != NULL) - fprintf(fp, "Keymap = %s\n", - conf->keymap); - if (conf->keycodes != NULL) - fprintf(fp, "Keycodes = %s\n", - conf->keycodes); - if (conf->geometry != NULL) - fprintf(fp, "Geometry = %s\n", - conf->geometry); - if (conf->phys_symbols != NULL) - fprintf(fp, "RealSymbols = %s\n", - conf->phys_symbols); - if (conf->symbols != NULL) - fprintf(fp, "Symbols = %s\n", - conf->symbols); - if (conf->types != NULL) - fprintf(fp, "Types = %s\n", - conf->types); - if (conf->compat != NULL) - fprintf(fp, "Compat = %s\n", - conf->compat); - - if (conf->click_volume > 0) - fprintf(fp, "ClickVolume = %d\n", - conf->click_volume); - if (conf->bell_volume > 0) - fprintf(fp, "BellVolume = %d\n", - conf->bell_volume); - if (conf->bell_pitch > 0) - fprintf(fp, "BellPitch = %d\n", - conf->bell_pitch); - if (conf->bell_duration > 0) - fprintf(fp, "BellDuration = %d\n", - conf->bell_duration); - - if (conf->repeat_delay > 0) - fprintf(fp, "RepeatDelay = %d\n", - conf->repeat_delay); - if (conf->repeat_interval > 0) - fprintf(fp, "RepeatInterval = %d\n", - conf->repeat_interval); - - if (conf->slow_keys_delay > 0) - fprintf(fp, "SlowKeysDelay = %d\n", - conf->slow_keys_delay); - - if (conf->debounce_delay > 0) - fprintf(fp, "DebounceDelay = %d\n", - conf->debounce_delay); - - if (conf->mk_delay > 0) - fprintf(fp, "MouseKeysDelay = %d\n", - conf->mk_delay); - if (conf->mk_interval > 0) - fprintf(fp, "MouseKeysInterval = %d\n", - conf->mk_interval); - if (conf->mk_time_to_max > 0) - fprintf(fp, "MouseKeysTimeToMax = %d\n", - conf->mk_time_to_max); - if (conf->mk_max_speed > 0) - fprintf(fp, "MouseKeysMaxSpeed = %d\n", - conf->mk_max_speed); - fprintf(fp, "MouseKeysCurve = %d\n", conf->mk_curve); - - if (conf->ax_timeout) - fprintf(fp, "AccessXTimeout = %d\n", - conf->ax_timeout); - if (conf->initial_ctrls != 0) { - fprintf(fp, "Controls %c= ", - conf->replace_initial_ctrls ? ' ' : '+'); - for (i = count = 0; *ax_controls[i].name; i++) - if ((conf->initial_ctrls & ax_controls[i].token) - == ax_controls[i].token) - fprintf(fp, "%s%s", count++ ? " + " : "", - ax_controls[i].name); - fprintf(fp, "\n"); - } - if (conf->axt_ctrls_on != 0) { - fprintf(fp, "AcessXTimeoutCtrlsOn %c= ", - conf->replace_axt_ctrls_on ? ' ' : '+'); - for (i = count = 0; *ax_controls[i].name; i++) - if ((conf->axt_ctrls_on & ax_controls[i].token) - == ax_controls[i].token) - fprintf(fp, "%s%s", count++ ? " + " : "", - ax_controls[i].name); - fprintf(fp, "\n"); - } - if (conf->axt_ctrls_off != 0) { - fprintf(fp, "AcessXTimeoutCtrlsOff %c= ", - conf->replace_axt_ctrls_off ? ' ' : '-'); - for (i = count = 0; *ax_controls[i].name; i++) - if ((conf->axt_ctrls_off & ax_controls[i].token) - == ax_controls[i].token) - fprintf(fp, "%s%s", count++ ? " + " : "", - ax_controls[i].name); - fprintf(fp, "\n"); - } - - if (conf->initial_opts != 0) { - fprintf(fp, "Feedback %c= ", - conf->replace_initial_opts ? ' ' : '+'); - for (i = count = 0; *ax_feedback[i].name; i++) - if ((conf->initial_opts & ax_feedback[i].token) - == ax_feedback[i].token) - fprintf(fp, "%s%s", count++ ? " + " : "", - ax_feedback[i].name); - fprintf(fp, "\n"); - } - if (conf->axt_opts_on != 0) { - fprintf(fp, "AcessXTimeoutFeedbackOn %c= ", - conf->replace_axt_opts_on ? ' ' : '+'); - for (i = count = 0; *ax_controls[i].name; i++) - if ((conf->axt_opts_on & ax_feedback[i].token) - == ax_feedback[i].token) - fprintf(fp, "%s%s", count++ ? " + " : "", - ax_feedback[i].name); - fprintf(fp, "\n"); - } - if (conf->axt_opts_off != 0) { - fprintf(fp, "AcessXTimeoutFeedbackOff%c= ", - conf->replace_axt_opts_off ? ' ' : '-'); - for (i = count = 0; *ax_feedback[i].name; i++) - if ((conf->axt_opts_off & ax_feedback[i].token) - == ax_feedback[i].token) - fprintf(fp, "%s%s", count++ ? " + " : "", - ax_feedback[i].name); - fprintf(fp, "\n"); - } - - fclose(fp); - - return (True); -} - -Bool -UpdateKeyboard(Bool load) -{ - XkbComponentNamesRec comps; - XkbDescPtr xkb; - - bzero((char*)&comps, sizeof(XkbComponentNamesRec)); - XkbRF_GetComponents(xkb_rules->list, &(xkb_info->defs), &comps); - - xkb = XkbGetKeyboardByName(DPY, XkbUseCoreKbd, &comps, - XkbGBN_AllComponentsMask, 0, load); - - if (xkb == NULL || xkb->geom == NULL) { - fprintf(stderr, "Couldn't get keyboard\n"); - return (False); - } - if (xkb_info->xkb && xkb_info->xkb->names && xkb_info->xkb->geom && - xkb_info->xkb->names->geometry == 0) - xkb_info->xkb->names->geometry = xkb_info->xkb->geom->name; - - XkbFreeKeyboard(xkb_info->xkb, 0, False); - - xkb_info->xkb = xkb; - - XtFree(comps.keymap); - XtFree(comps.keycodes); - XtFree(comps.compat); - XtFree(comps.types); - XtFree(comps.symbols); - XtFree(comps.geometry); - - if (kbd != NULL) - XClearArea(XtDisplay(configp), XtWindow(kbd), 0, 0, 0, 0, True); - - return (True); -} - -static void -KeyboardRulesCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - int i; - FILE *fp; - Arg args[1]; - char filename[1024], *omodel, *olayout, *ovariant, *ooptions, - *dmodel, *dlayout, *dvariant; - XF86XkbRulesDescInfo *oxkb_rules, *info = GetXkbRulesDesc(XtName(w)); - - if (strcmp(XtName(w), rules) == 0 || info == NULL) - /* a error message was printed */ - return; - - XmuSnprintf(filename, sizeof(filename), "%s%s", - XkbRulesDir, info->rules); - if ((fp = fopen(filename, "r")) == NULL) { - fprintf(stderr, "Can't open rules file\n"); - return; - } - - if (!XkbRF_LoadRules(fp, info->list)) { - fclose(fp); - fprintf(stderr, "Can't load rules\n"); - return; - } - fclose(fp); - - oxkb_rules = xkb_rules; - omodel = xkb_info->defs.model; - olayout = xkb_info->defs.layout; - ovariant = xkb_info->defs.variant; - ooptions = xkb_info->defs.options; - - if (omodel) { - for (i = 0; i < info->model.nelem; i++) { - if (strcmp(omodel, info->model.name[i]) == 0) - break; - } - } - else - i = 0; - model = xkb_info->defs.model = info->model.name - [i < info->model.nelem ? i : 0]; - dmodel = info->model.desc[i < info->model.nelem ? i : 0]; - - if (olayout) { - for (i = 0; i < info->layout.nelem; i++) { - if (strcmp(olayout, info->layout.name[i]) == 0) - break; - } - } - else - i = 0; - layout = xkb_info->defs.layout = info->layout.name - [i < info->layout.nelem ? i : 0]; - dlayout = info->layout.desc[i < info->layout.nelem ? i : 0]; - - if (ovariant) { - for (i = 0; i < info->variant.nelem; i++) { - if (strcmp(ovariant, info->variant.name[i]) == 0) - break; - } - } - else - i = info->variant.nelem; - variant = xkb_info->defs.variant = i < info->variant.nelem ? - info->variant.name[i] : NULL; - dvariant = i < info->variant.nelem ? - info->variant.desc[i] : NULL; - - if (ooptions) { - char *ptr, *tmp = XtNewString(options); - - for (ptr = strtok(tmp, ","); ptr != NULL; ptr = strtok(NULL, ",")) { - if (strchr(ptr, ':') == NULL) - continue; - - for (i = 0; i < xkb_rules->option.nelem; i++) - if (strcmp(xkb_rules->option.name[i], ptr) == 0) - break; - - if (i == xkb_rules->option.nelem) { - XtFree(options); - options = NULL; - /* no option with the same name */ - break; - } - } - XtFree(tmp); - } - else { - XtFree(options); - options = NULL; - } - - oxkb_rules = xkb_rules; - xkb_rules = info; - rules = info->rules; - - if (!UpdateKeyboard(False)) { - model = xkb_info->defs.model = omodel; - layout = xkb_info->defs.layout = olayout; - variant = xkb_info->defs.variant = ovariant; - options = XtNewString(xkb_info->defs.options = ooptions); - xkb_rules = oxkb_rules; - rules = xkb_rules->rules; - - XmuSnprintf(filename, sizeof(filename), "%s%s", - XkbRulesDir, rules); - if ((fp = fopen(filename, "r")) == NULL) { - fprintf(stderr, "Can't open rules file\n"); - return; - } - - if (!XkbRF_LoadRules(fp, xkb_rules->list)) { - fprintf(stderr, "Can't load rules\n"); - } - fclose(fp); - - return; - } - - UpdateRulesPopups(); - - XtSetArg(args[0], XtNlabel, rules); - XtSetValues(rulesb, args, 1); - - XtSetArg(args[0], XtNlabel, dmodel); - XtSetValues(modelb, args, 1); - - XtSetArg(args[0], XtNlabel, dlayout); - XtSetValues(layoutb, args, 1); - - XtSetArg(args[0], XtNlabel, dvariant ? dvariant : ""); - XtSetValues(variantb, args, 1); - - XtSetArg(args[0], XtNlabel, options ? options : ""); - XtSetValues(variantb, args, 1); -} - -static void -KeyboardModelCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - Arg args[1]; - int i; - char *oldval = xkb_info->defs.model; - - for (i = 0; i < xkb_rules->model.nelem; i++) - if (strcmp(XtName(w), xkb_rules->model.name[i]) == 0) - break; - model = xkb_info->defs.model = xkb_rules->model.name[i]; - if (!UpdateKeyboard(False)) - model = xkb_info->defs.model = oldval; - else { - XtSetArg(args[0], XtNlabel, xkb_rules->model.desc[i]); - XtSetValues(modelb, args, 1); - } -} - -static void -KeyboardLayoutCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - Arg args[1]; - int i; - char *oldval = xkb_info->defs.layout; - - for (i = 0; i < xkb_rules->layout.nelem; i++) - if (strcmp(XtName(w), xkb_rules->layout.name[i]) == 0) - break; - layout = xkb_info->defs.layout = xkb_rules->layout.name[i]; - if (!UpdateKeyboard(False)) - layout = xkb_info->defs.layout = oldval; - else { - XtSetArg(args[0], XtNlabel, xkb_rules->layout.desc[i]); - XtSetValues(layoutb, args, 1); - } -} - -static void -KeyboardVariantCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - Arg args[1]; - int i; - char *label, *oldval = xkb_info->defs.variant; - - for (i = 0; i < xkb_rules->variant.nelem; i++) - if (strcmp(XtName(w), xkb_rules->variant.name[i]) == 0) - break; - variant = i < xkb_rules->variant.nelem ? xkb_rules->variant.name[i] : ""; - xkb_info->defs.variant = variant && *variant ? variant : NULL; - - if (!UpdateKeyboard(False)) - xkb_info->defs.variant = variant = oldval; - else { - label = i < xkb_rules->variant.nelem ? xkb_rules->variant.desc[i] : ""; - XtSetArg(args[0], XtNlabel, label); - XtSetValues(variantb, args, 1); - } -} - -static void -KeyboardOptionsCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - Arg args[1]; - int i; - - for (i = 0; i < xkb_rules->option.nelem; i++) - if (strcmp(XtName(w), xkb_rules->option.name[i]) == 0) - break; - - if (i < xkb_rules->option.nelem) { - char *delim, *ptr, str[256]; - - /* remove old string, don't check if the same */ - if ((delim = strchr(XtName(w), ':')) != NULL) { - if (delim - XtName(w) >= sizeof(str) - 2) - return; - strncpy(str, XtName(w), delim - XtName(w) + 1); - str[delim - XtName(w) + 1] = '\0'; - } - else - XmuSnprintf(str, sizeof(str), "%s:", XtName(w)); - if (options && (delim = strstr(options, str)) != NULL) { - if ((ptr = strchr(delim, ',')) != NULL) { - *delim = *ptr = '\0'; - XmuSnprintf(str, sizeof(str), "%s%s", options, ptr + 1); - XtFree(options); - options = XtNewString(str); - } - else { - if (delim > options) - delim[-1] = '\0'; - else - delim[0] = '\0'; - } - } - - /* update string, if required */ - if ((delim = strchr(XtName(w), ':')) != NULL) { - if (options && *options) - XmuSnprintf(str, sizeof(str), "%s,%s", options, XtName(w)); - else - XmuSnprintf(str, sizeof(str), "%s", XtName(w)); - XtFree(options); - options = XtNewString(str); - } - } - else { - XtFree(options); - options = XtNewString(""); - } - - if (options == NULL) - options = XtNewString(""); - - xkb_info->defs.options = options; - if (!UpdateKeyboard(False)) { - *options = '\0'; - xkb_info->defs.options = NULL; - } - XtSetArg(args[0], XtNlabel, options); - XtSetValues(optionsb, args, 1); - XtSetArg(args[0], XtNtip, options); - XtSetValues(optionsb, args, 1); -} - -/*ARGSUSED*/ -static void -KeyboardApplyCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - (void)UpdateKeyboard(True); -} - -static void -UpdateRulesPopups(void) -{ - int i; - char *optname; - Widget sme, optpopup = NULL, optparent; - - /* MODEL */ - if (modelp) - XtDestroyWidget(modelp); - modelp = XtCreatePopupShell("modelP", simpleMenuWidgetClass, - modelb, NULL, 0); - for (i = 0; i < xkb_rules->model.nelem; i++) { - sme = XtVaCreateManagedWidget(xkb_rules->model.name[i], smeBSBObjectClass, - modelp, - XtNlabel, xkb_rules->model.desc[i], - NULL); - XtAddCallback(sme, XtNcallback, KeyboardModelCallback, NULL); - } - - /* LAYOUT */ - if (layoutp) - XtDestroyWidget(layoutp); - layoutp = XtCreatePopupShell("layoutP", simpleMenuWidgetClass, - layoutb, NULL, 0); - for (i = 0; i < xkb_rules->layout.nelem; i++) { - sme = XtVaCreateManagedWidget(xkb_rules->layout.name[i], smeBSBObjectClass, - layoutp, - XtNlabel, xkb_rules->layout.desc[i], - NULL); - XtAddCallback(sme, XtNcallback, KeyboardLayoutCallback, NULL); - } - - /* VARIANT */ - if (variantp) - XtDestroyWidget(variantp); - variantp = XtCreatePopupShell("variantP", simpleMenuWidgetClass, - variantb, NULL, 0); - sme = XtVaCreateManagedWidget("None", smeBSBObjectClass, - variantp, - XtNlabel, "None", - NULL); - XtAddCallback(sme, XtNcallback, KeyboardVariantCallback, NULL); - for (i = 0; i < xkb_rules->variant.nelem; i++) { - sme = XtVaCreateManagedWidget(xkb_rules->variant.name[i], smeBSBObjectClass, - variantp, - XtNlabel, xkb_rules->variant.desc[i], - NULL); - XtAddCallback(sme, XtNcallback, KeyboardVariantCallback, NULL); - } - - /* OPTIONS */ - if (optionsp) - XtDestroyWidget(optionsp); - optionsp = XtCreatePopupShell("optionsP", simpleMenuWidgetClass, - optionsb, NULL, 0); - sme = XtVaCreateManagedWidget("None", smeBSBObjectClass, - optionsp, - XtNlabel, "None", - NULL); - XtAddCallback(sme, XtNcallback, KeyboardOptionsCallback, NULL); - optparent = optionsp; - optname = NULL; - for (i = 0; i < xkb_rules->option.nelem; i++) { - if (!strchr(xkb_rules->option.name[i], ':')) { - optpopup = - XtCreatePopupShell(optname = xkb_rules->option.desc[i], - simpleMenuWidgetClass, - optparent = optionsp, NULL, 0); - sme = XtVaCreateManagedWidget(xkb_rules->option.name[i], - smeBSBObjectClass, - optpopup, - XtNlabel, "None", - NULL); - XtAddCallback(sme, XtNcallback, KeyboardOptionsCallback, NULL); - } - else { - optparent = optpopup; - optname = NULL; - } - sme = XtVaCreateManagedWidget(xkb_rules->option.name[i], smeBSBObjectClass, - optparent, - XtNlabel, xkb_rules->option.desc[i], - XtNmenuName, optname, - XtNleftBitmap, optname ? menuPixmap : None, - NULL); - if (optparent != optionsp) - XtAddCallback(sme, XtNcallback, KeyboardOptionsCallback, NULL); - } -} - -void -KeyboardModelAndLayout(XF86SetupInfo *info) -{ - static int first = 1; - static Widget kbdml; - Arg args[1]; - int i; - - if (first) { - Widget popup, sme; - - first = 0; - - kbdml = XtCreateWidget("keyboardML", formWidgetClass, - configp, NULL, 0); - - /* RULES */ - XtCreateManagedWidget("labelR", labelWidgetClass, kbdml, NULL, 0); - rulesb = XtVaCreateManagedWidget("rules", menuButtonWidgetClass, kbdml, - XtNmenuName, "rulesP", - NULL); - popup = XtCreatePopupShell("rulesP", simpleMenuWidgetClass, - rulesb, NULL, 0); - { - struct dirent *ent; - DIR *dir; - - if ((dir = opendir(XkbRulesDir)) != NULL) { - (void)readdir(dir); - (void)readdir(dir); - while ((ent = readdir(dir)) != NULL) { - if (strchr(ent->d_name, '.')) - continue; - - sme = XtVaCreateManagedWidget(ent->d_name, smeBSBObjectClass, - popup, - XtNlabel, ent->d_name, - NULL); - XtAddCallback(sme, XtNcallback, KeyboardRulesCallback, NULL); - } - closedir(dir); - } - } - - /* MODEL */ - XtCreateManagedWidget("labelM", labelWidgetClass, kbdml, NULL, 0); - modelb = XtVaCreateManagedWidget("model", menuButtonWidgetClass, kbdml, - XtNmenuName, "modelP", - NULL); - - /* LAYOUT */ - XtCreateManagedWidget("labelL", labelWidgetClass, kbdml, NULL, 0); - layoutb = XtVaCreateManagedWidget("layout", menuButtonWidgetClass, kbdml, - XtNmenuName, "layoutP", - XtNlabel, xkb_rules->layout.desc[0], - NULL); - - /* VARIANT */ - XtCreateManagedWidget("labelV", labelWidgetClass, kbdml, NULL, 0); - variantb = XtVaCreateManagedWidget("variant", menuButtonWidgetClass, kbdml, - XtNmenuName, "variantP", - XtNlabel, "", - NULL); - - /* OPTIONS */ - XtCreateManagedWidget("labelO", labelWidgetClass, kbdml, NULL, 0); - optionsb = XtVaCreateManagedWidget("options", menuButtonWidgetClass, kbdml, - XtNmenuName, "optionsP", - XtNlabel, "", - NULL); - - UpdateRulesPopups(); - - kbd = XtCreateManagedWidget("keyboard", coreWidgetClass, - kbdml, NULL, 0); - - apply = XtCreateManagedWidget("apply", commandWidgetClass, - kbdml, NULL, 0); - XtAddCallback(apply, XtNcallback, KeyboardApplyCallback, NULL); - - XtRealizeWidget(kbdml); - - XtAddEventHandler(kbd, ExposureMask, False, XkbUIEventHandler, NULL); - /* Force the first update */ - XClearArea(XtDisplay(kbd), XtWindow(kbd), 0, 0, 0, 0, True); - } - - XtSetArg(args[0], XtNlabel, xkb_rules->rules); - XtSetValues(rulesb, args, 1); - - for (i = 0; i < xkb_rules->model.nelem; i++) - if (strcmp(model, xkb_rules->model.name[i]) == 0) { - XtSetArg(args[0], XtNlabel, xkb_rules->model.desc[i]); - XtSetValues(modelb, args, 1); - break; - } - - for (i = 0; i < xkb_rules->layout.nelem; i++) - if (strcmp(layout, xkb_rules->layout.name[i]) == 0) { - XtSetArg(args[0], XtNlabel, xkb_rules->layout.desc[i]); - XtSetValues(layoutb, args, 1); - break; - } - - if (variant) - for (i = 0; i < xkb_rules->variant.nelem; i++) - if (strcmp(variant, xkb_rules->variant.name[i]) == 0) { - XtSetArg(args[0], XtNlabel, xkb_rules->variant.desc[i]); - XtSetValues(variantb, args, 1); - break; - } - - if (options) { - XtSetArg(args[0], XtNlabel, options); - XtSetValues(optionsb, args, 1); - } - - XtChangeManagedSet(¤t, 1, NULL, NULL, &kbdml, 1); - current = kbdml; -} diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/keyboard-cfg.h b/xorg-server/hw/xfree86/utils/xorgcfg/keyboard-cfg.h deleted file mode 100644 index 512a19d7a..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/keyboard-cfg.h +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) - * - * 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 - * CONECTIVA LINUX 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 Conectiva Linux shall - * not be used in advertising or otherwise to promote the sale, use or other - * dealings in this Software without prior written authorization from - * Conectiva Linux. - * - * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> - * - */ - -#include "config.h" -#include <X11/extensions/XKBconfig.h> - -#ifndef _xf86cfg_keyboard_h -#define _xf86cfg_keyboard_h - -/* - * All file names are from XProjectRoot or XWINHOME environment variable. - */ -#define XkbConfigDir "share/X11/xkb/" -#define XkbConfigFile "X0-config.keyboard" - -/* - * Types - */ -typedef struct { - char **name; - char **desc; - int nelem; -} XF86XkbDescInfo; - -typedef struct { - XF86ConfInputPtr conf; - XkbDescPtr xkb; - XkbRF_VarDefsRec defs; - XkbConfigRtrnRec config; -} XkbInfo; - -/* - * Prototypes - */ -XtPointer KeyboardConfig(XtPointer); -void KeyboardModelAndLayout(XF86SetupInfo*); -void InitializeKeyboard(void); -Bool UpdateKeyboard(Bool); -Bool WriteXKBConfiguration(char*, XkbConfigRtrnPtr); - -/* - * Initialization - */ -extern XkbInfo *xkb_info; - -#endif /* _xf86cfg_keyboard_h */ diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/keyboard.xbm b/xorg-server/hw/xfree86/utils/xorgcfg/keyboard.xbm deleted file mode 100644 index 0346a8ccd..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/keyboard.xbm +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) - * - * 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 - * CONECTIVA LINUX 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 Conectiva Linux shall - * not be used in advertising or otherwise to promote the sale, use or other - * dealings in this Software without prior written authorization from - * Conectiva Linux. - * - * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> - * - * $XFree86$ - */ -#define keyboard_width 50 -#define keyboard_height 44 -static unsigned char keyboard_bits[] = { - 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, 0xe0, 0xff, 0xff, 0xff, - 0xff, 0x1f, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x78, 0x9e, - 0xe7, 0x3d, 0xef, 0x79, 0x00, 0x18, 0x9a, 0xa6, 0x35, 0xad, 0x61, 0x00, - 0x18, 0x9e, 0xe7, 0x3d, 0xef, 0x61, 0x00, 0x18, 0x9e, 0xe7, 0x3d, 0xef, - 0x61, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x18, 0x00, 0x00, - 0x00, 0x00, 0x60, 0x00, 0x98, 0xf7, 0xde, 0x7b, 0xef, 0x67, 0x00, 0x98, - 0xd6, 0x5a, 0x6b, 0x2d, 0x66, 0x00, 0x98, 0xf7, 0xde, 0x7b, 0xef, 0x66, - 0x00, 0x98, 0xf7, 0xde, 0x7b, 0xef, 0x66, 0x00, 0x18, 0x00, 0x00, 0x00, - 0x80, 0x66, 0x00, 0x98, 0xdf, 0x7b, 0xef, 0xbd, 0x66, 0x00, 0x98, 0x58, - 0x6b, 0xad, 0xb5, 0x66, 0x00, 0x98, 0xdf, 0x7b, 0xef, 0xbd, 0x67, 0x00, - 0x98, 0xdf, 0x7b, 0xef, 0xbd, 0x67, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, - 0x60, 0x00, 0x98, 0xf7, 0xde, 0x7b, 0xef, 0x67, 0x00, 0x98, 0xd6, 0x5a, - 0x6b, 0x2d, 0x66, 0x00, 0x98, 0xf7, 0xde, 0x7b, 0xef, 0x67, 0x00, 0x98, - 0xf7, 0xde, 0x7b, 0xef, 0x67, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x60, - 0x00, 0x98, 0xf7, 0xfd, 0xf7, 0xbd, 0x67, 0x00, 0x98, 0x96, 0x05, 0x96, - 0xb5, 0x66, 0x00, 0x98, 0xf7, 0xfd, 0xf7, 0xbd, 0x67, 0x00, 0x98, 0xf7, - 0xfd, 0xf7, 0xbd, 0x67, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, - 0x38, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, - 0x3f, 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/keyboard.xpm b/xorg-server/hw/xfree86/utils/xorgcfg/keyboard.xpm deleted file mode 100644 index 200ba7f42..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/keyboard.xpm +++ /dev/null @@ -1,66 +0,0 @@ -/* XPM */ -/* - * Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) - * - * 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 - * CONECTIVA LINUX 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 Conectiva Linux shall - * not be used in advertising or otherwise to promote the sale, use or other - * dealings in this Software without prior written authorization from - * Conectiva Linux. - * - * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> - * - * $XFree86$ - */ -static char * card_xpm[] = { -"60 28 5 1", -" c none", -". c #AEBAAEBAAEBA", -"X c #CF3CCF3CCF3C", -"o c #8E388A288E38", -"O c #69A671C669A6", -" ........................ ", -" .............................XXXXXXXXXXXXXXXXXXXXXXXX..... ", -".XXXXXXXXXXXXXXXXXXXXXXXXXXXXX........................XXXXoO", -".X........................................................oO", -".X........................................................oO", -".X.Xo..Xo.Xo.Xo..Xo.Xo.Xo.Xo.Xo.Xo..Xo.Xo.Xo..ooooooooooo.oO", -".X.oo..oo.oo.oo..oo.oo.oo.oo.oo.oo..oo.oo.oo..XXXXXXXXXXX.oO", -".X........................................................oO", -".X........................................................oO", -".X.Xo.Xo.Xo.Xo.Xo.Xo.Xo.Xo.Xo.Xo.o..Xo.Xo.Xo..Xo.Xo.Xo.Xo.oO", -".X.oo.oo.oo.oo.oo.oo.oo.oo.oo.oo.o..oo.oo.oo..oo.oo.oo.oo.oO", -".X........................................................oO", -".X.XXo.Xo.Xo.Xo.Xo.Xo.Xo.Xo.Xo.oXo..Xo.Xo.Xo..Xo.Xo.Xo.Xo.oO", -".X.ooo.oo.oo.oo.oo.oo.oo.oo.oo..Xo..oo.oo.oo..oo.oo.oo.Xo.oO", -".X..............................Xo.....................Xo.oO", -".X.Xo.Xo.Xo.Xo.Xo.Xo.Xo.Xo.Xo.XXXo..Xo.Xo.Xo..Xo.Xo.Xo.Xo.oO", -".X.oo.oo.oo.oo.oo.oo.oo.oo.oo.oooo..oo.oo.oo..oo.oo.oo.oo.oO", -".X........................................................oO", -".X.XXo.Xo.Xo.Xo.Xo.Xo.Xo.Xo.Xo.XXo.....Xo.....Xo.Xo.Xo.Xo.oO", -".X.ooo.oo.oo.oo.oo.oo.oo.oo.oo.ooo.....oo.....oo.oo.oo.Xo.oO", -".X.....................................................Xo.oO", -".X.Xo.Xo.Xo.XXXXXXXXXXXXo.Xo.Xo.Xo..Xo.Xo.Xo..XXXXo.Xo.Xo.oO", -".X.oo.oo.oo.ooooooooooooo.oo.oo.oo..oo.oo.oo..ooooo.oo.oo.oO", -".X........................................................oO", -".X........................................................oO", -".Xooooo.......................oooooooooooooooooooooooooooooO", -" XOOOOOoooooooooooooooooooooooOOOOOOOOOOOOOOOOOOOOOOOOOOOOO ", -" OOOOOOOOOOOOOOOOOOOOOOO "}; diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/left.xbm b/xorg-server/hw/xfree86/utils/xorgcfg/left.xbm deleted file mode 100644 index bfb8f3ba8..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/left.xbm +++ /dev/null @@ -1,8 +0,0 @@ -#define left_width 19 -#define left_height 19 -static unsigned char left_bits[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x06, 0x00, - 0x00, 0x07, 0x00, 0x80, 0x07, 0x00, 0xc0, 0x07, 0x00, 0xe0, 0xff, 0x01, - 0xf0, 0xff, 0x01, 0xf8, 0xff, 0x01, 0xf0, 0xff, 0x01, 0xe0, 0xff, 0x01, - 0xc0, 0x07, 0x00, 0x80, 0x07, 0x00, 0x00, 0x07, 0x00, 0x00, 0x06, 0x00, - 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/loader.c b/xorg-server/hw/xfree86/utils/xorgcfg/loader.c deleted file mode 100644 index 8a9ad1aef..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/loader.c +++ /dev/null @@ -1,405 +0,0 @@ -/* - * Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) - * - * 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 - * CONECTIVA LINUX 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 Conectiva Linux shall - * not be used in advertising or otherwise to promote the sale, use or other - * dealings in this Software without prior written authorization from - * Conectiva Linux. - * - * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> - * - */ - -#include "config.h" -#include "cards.h" -#include "options.h" -#include "loader.h" -#include "stubs.h" -#include <X11/Xresource.h> -#include <X11/Xos.h> - -#ifdef USE_MODULES -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#if defined(X_POSIX_C_SOURCE) -#define _POSIX_C_SOURCE X_POSIX_C_SOURCE -#include <setjmp.h> -#undef _POSIX_C_SOURCE -#else -#include <setjmp.h> -#endif -#include <signal.h> -#include <ctype.h> - -#include <stdarg.h> - -#ifndef OPTIONSPATH -#define OPTIONSPATH "/usr/lib/X11" -#endif - -#ifndef SIGNALRETURNSINT -void sig_handler(int); -#else -int sig_handler(int); -#endif /* SIGNALRETURNSINT */ - -static Bool EnumDatabase(XrmDatabase*, XrmBindingList, XrmQuarkList, - XrmRepresentation*, XrmValue*, XPointer); - -static sigjmp_buf jmp; -int signal_caught; -int error_level; -char *loaderPath, **loaderList, **ploaderList; -extern XrmDatabase options_xrm; -extern int noverify; -extern ModuleType module_type; -static OptionInfoPtr option; - -extern FontModule *font_module; -extern int numFontModules; - -char **checkerLegend; -int *checkerErrors; - -#ifndef SIGNALRETURNSINT -void -#else -int -#endif -sig_handler(int sig) -{ - char *str; - - switch (sig) { - case SIGTRAP: - str = "TRAP"; - break; - case SIGBUS: - str = "BUS"; - break; - case SIGSEGV: - str = "SEGV"; - break; - case SIGILL: - str = "ILL"; - break; - case SIGFPE: - str = "FPE"; - break; - default: - str = "???"; - break; - } - - if (signal_caught == 1) { - ErrorF(" ERROR I am dead.\n"); - exit(1); - } - else if (signal_caught == 2) - abort(); - ++signal_caught; - ErrorF(" ERROR SIG%s caught!\n", str); - if (!noverify) - error_level += 50; - siglongjmp(jmp, 1); - /*NOTREACHED*/ -} - -void -CheckMsg(int code, char *fmt, ...) -{ - va_list ap; - - ++checkerErrors[code]; - ErrorF("%3d ", code); - - va_start(ap, fmt); - VErrorF(fmt, ap); - va_end(ap); -} - -static Bool -EnumDatabase(XrmDatabase *db, XrmBindingList bindings, XrmQuarkList quarks, - XrmRepresentation *type, XrmValue *value, XPointer closure) -{ - char *res = XrmQuarkToString(quarks[1]); - - if (res) { - option = module_options->option; - while (option->name) { - if (strcasecmp(option->name, res) == 0) - return (False); - ++option; - } - CheckMsg(CHECKER_OPTION_UNUSED, - "WARNING %s.%s is not used\n", - XrmQuarkToString(quarks[0]), res); - ++error_level; - } - - return (False); -} - -Bool -LoaderInitializeOptions(void) -{ - static int first = 1; - static char *modules = "lib/modules"; - volatile Bool options_ok = False; - char *ptr, query[256]; - char *ptr2, query2[256]; - char *type; - XrmValue value; - XrmQuark names[2]; - XrmQuark classes[2]; - volatile int i; - static ModuleType module_types[] = { - GenericModule, FontRendererModule, InputModule, VideoModule, NullModule - }; - - /* The offset in this vector must match loader.h:enum ModuleType values */ - static char *module_strs[] = { - "Null Module", "Video Module", "Input Module", "Generic Module", "Font Module" - }; - - if (first) { - checkerLegend = (char**) - XtCalloc(1, sizeof(char*) * (CHECKER_LAST_MESSAGE + 1)); - checkerErrors = (int*) - XtCalloc(1, sizeof(int) * (CHECKER_LAST_MESSAGE + 1)); - xf86cfgLoaderInit(); - first = 0; - - checkerLegend[CHECKER_OPTIONS_FILE_MISSING] = - "The Options file, normally " OPTIONSPATH "/Options was not found.\n"; - checkerLegend[CHECKER_OPTION_DESCRIPTION_MISSING] = - "No description for the module option. The description should be in\n" - "in the Options file, and using the sintax:\n" - "Module.Option: any text describing the option"; - checkerLegend[CHECKER_LOAD_FAILED] = - "Failed to load the module. Usually the loader will print a complete\n" - "description for the reason the module was not loaded. Use the -verbose\n" - "command line option if it is not printing any messages."; - checkerLegend[CHECKER_RECOGNIZED_AS] = - "This message means the module code did not follow what was expected\n" - "by the checker. For video drivers, it did not call xf86AddDriver,\n" - "a input module did not call xf86AddInputDriver and a font renderer\n" - "module did not call LoadFont. This message can also be printed if\n" - "the module is in the incorrect directory."; - checkerLegend[CHECKER_NO_OPTIONS_AVAILABLE] = - "The driver does not have an AvailableOptions function, or that\n" - "function is returning NULL. If the driver is returning NULL, and\n" - "really does not need any options from "__XCONFIGFILE__", than the message\n" - "can be ignored."; - checkerLegend[CHECKER_NO_VENDOR_CHIPSET] = - "The checker could not fetch the PCI chipset/vendor information from\n" - "the module. The checker currently wraps xf86PrintChipsets and\n" - "xf86MatchPciInstances to read the information from the module."; - checkerLegend[CHECKER_CANNOT_VERIFY_CHIPSET] = - "The vendor id was not found, so it is not possible to search the list\n" - "of chipsets."; - checkerLegend[CHECKER_OPTION_UNUSED] = - "The option description is defined in the Options file, but the option\n" - "was name not retrieved when calling the module AvailableOptions."; - checkerLegend[CHECKER_NOMATCH_CHIPSET_STRINGS] = - "The string specified in the module does not match the one in\n" - "common/xf86PciInfo.h"; - checkerLegend[CHECKER_CHIPSET_NOT_LISTED] = - "This means that common/xf86PciInfo.h does not have an entry for the\n" - "given vendor and id."; - checkerLegend[CHECKER_CHIPSET_NOT_SUPPORTED] = - "The chipset is listed in common/xf86PciInfo.h, but the driver does\n" - "not support it, or does not list it in the chipsets fetched by the checker."; - checkerLegend[CHECKER_CHIPSET_NO_VENDOR] = - "The vendor id specified to xf86MatchPciInstances is not defined in\n" - "common/xf86PciInfo.h"; - checkerLegend[CHECKER_NO_CHIPSETS] = - "No chipsets were passed to xf86MatchPciIntances."; - checkerLegend[CHECKER_FILE_MODULE_NAME_MISMATCH] = - "The module name string does not match the the modname field of the\n" - "XF86ModuleVersionInfo structure. This generally is not an error, but\n" - "to may be a good idea to use the same string to avoid confusion."; - } - - if (XF86Module_path == NULL) { - XF86Module_path = malloc(strlen(XFree86Dir) + strlen(modules) + 2); - sprintf(XF86Module_path, "%s/%s", XFree86Dir, modules); - } - - if (loaderPath == NULL || strcmp(XF86Module_path, loaderPath)) - loaderPath = strdup(XF86Module_path); - else - /* nothing new */ - return (True); - - if (!noverify) { - options_ok = InitializeOptionsDatabase(); - InitializePciInfo(); - } - - for (i = 0; module_types[i] != NullModule; i++) { - xf86cfgLoaderInitList(module_types[i]); - if (!noverify) - ErrorF("================= Checking modules of type \"%s\" =================\n", - module_strs[module_types[i]]); - - if (loaderList) { - for (ploaderList = loaderList; *ploaderList; ploaderList++) { - signal_caught = 0; - signal(SIGTRAP, sig_handler); - signal(SIGBUS, sig_handler); - signal(SIGSEGV, sig_handler); - signal(SIGILL, sig_handler); - signal(SIGFPE, sig_handler); - if (sigsetjmp(jmp, 1) == 0) { - if (!noverify) { - int ok, nfont_modules; - - nfont_modules = numFontModules; - error_level = 0; - ErrorF("CHECK MODULE %s\n", *ploaderList); - if ((ok = xf86cfgCheckModule()) == 0) { - CheckMsg(CHECKER_LOAD_FAILED, - "ERROR Failed to load module.\n"); - error_level += 50; - } - else if (module_type != module_types[i]) { - CheckMsg(CHECKER_RECOGNIZED_AS, - "WARNING %s recognized as a \"%s\"\n", *ploaderList, - module_strs[module_type]); - ++error_level; - } - if (ok) { - if (options_ok) { - if ((module_options == NULL || module_options->option == NULL) && - module_type != GenericModule) { - CheckMsg(CHECKER_NO_OPTIONS_AVAILABLE, - "WARNING Not a generic module, but no options available.\n"); - ++error_level; - } - else if (module_options && strcmp(module_options->name, *ploaderList) == 0) { - ErrorF(" CHECK OPTIONS\n"); - option = module_options->option; - - while (option->name) { - XmuSnprintf(query, sizeof(query), "%s.%s", *ploaderList, option->name); - for (ptr = query, ptr2 = query2; *ptr; ptr++) { - if (*ptr != '_' && *ptr != ' ' && *ptr != '\t') - *ptr2 = tolower(*ptr); - } - *ptr2 = '\0'; - /* all resources are in lowercase */ - if (!XrmGetResource(options_xrm, query2, "Module.Option", &type, &value) || - value.addr == NULL) { - CheckMsg(CHECKER_OPTION_DESCRIPTION_MISSING, - "WARNING no description for %s\n", query); - ++error_level; - } - ++option; - } - - /* now do a linear search for Options file entries that are not - * in the driver. - */ - names[0] = XrmPermStringToQuark(module_options->name); - classes[0] = XrmPermStringToQuark("Option"); - names[1] = classes[1] = NULLQUARK; - (void)XrmEnumerateDatabase(options_xrm, (XrmNameList)&names, (XrmClassList)&classes, - XrmEnumOneLevel, EnumDatabase, NULL); - } - } - else { - CheckMsg(CHECKER_OPTIONS_FILE_MISSING, - "ERROR Options file missing.\n"); - error_level += 10; - } - - if (module_type == VideoModule && - (module_options == NULL || module_options->vendor < 0 || - module_options->chipsets == NULL)) { - CheckMsg(CHECKER_NO_VENDOR_CHIPSET, - "WARNING No vendor/chipset information available.\n"); - ++error_level; - } - else if (module_type == VideoModule) { - if (module_options == NULL) { - /* No description for this, if this happen, - * something really strange happened. */ - ErrorF(" ERROR No module_options!?!\n"); - error_level += 50; - } - else { - ErrorF(" CHECK CHIPSETS\n"); - CheckChipsets(module_options, &error_level); - } - } - - /* font modules check */ - if (module_type == FontRendererModule) { - if (strcmp(*ploaderList, font_module->name)) { - /* not an error */ - ErrorF(" NOTICE FontModule->name specification mismatch: \"%s\" \"%s\"\n", - *ploaderList, font_module->name); - } - if (nfont_modules + 1 != numFontModules) { - /* not an error */ - ErrorF(" NOTICE font module \"%s\" loaded more than one font renderer.\n", - *ploaderList); - } - } - else if (nfont_modules != numFontModules) { - ErrorF(" WARNING number of font modules changed from %d to %d.\n", - nfont_modules, numFontModules); - ++error_level; - } - } - ErrorF(" SUMMARY error_level set to %d.\n\n", error_level); - } - else - (void)xf86cfgCheckModule(); - } - signal(SIGTRAP, SIG_DFL); - signal(SIGBUS, SIG_DFL); - signal(SIGSEGV, SIG_DFL); - signal(SIGILL, SIG_DFL); - signal(SIGFPE, SIG_DFL); - } - xf86cfgLoaderFreeList(); - } - else - ErrorF(" ERROR Failed to initialize module list.\n"); - } - - if (!noverify) { - ErrorF("===================================== LEGEND ===============================\n"); - ErrorF("NOTICE lines are just informative.\n"); - ErrorF("WARNING lines add 1 to error_level.\n"); - ErrorF("ERROR lines add 2 or more (based on the severity of the error) to error_level.\n\n"); - for (i = 0; i <= CHECKER_LAST_MESSAGE; i++) - if (checkerErrors[i]) { - ErrorF("%3d\n%s\n\n", i, checkerLegend[i]); - } - } - - return (True); -} -#endif diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/loader.h b/xorg-server/hw/xfree86/utils/xorgcfg/loader.h deleted file mode 100644 index 16c527327..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/loader.h +++ /dev/null @@ -1,170 +0,0 @@ -/* - * Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) - * - * 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 - * CONECTIVA LINUX 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 Conectiva Linux shall - * not be used in advertising or otherwise to promote the sale, use or other - * dealings in this Software without prior written authorization from - * Conectiva Linux. - * - * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> - * - */ - -#ifdef USE_MODULES -#ifndef LOADER_PRIVATE -#include "config.h" -#include "stubs.h" - -#else - -#define IN_LOADER - -#include "xf86.h" -#include "xf86str.h" -#include "xf86Opt.h" -#include "xf86Module.h" - -#ifndef XINPUT -#define XINPUT -#endif -#include "xf86Xinput.h" - -#include <X11/fonts/fontmod.h> -#include "loaderProcs.h" - -#include <sym.h> - -void LoaderDefaultFunc(void); -#endif - -#ifndef _xf86cfg_loader_h -#define _xf86cfg_loader_h - -void xf86cfgLoaderInit(void); -void xf86cfgLoaderInitList(int); -void xf86cfgLoaderFreeList(void); -int xf86cfgCheckModule(void); - -#ifndef LOADER_PRIVATE -/* common/xf86Opt.h */ -typedef struct { - double freq; - int units; -} OptFrequency; - -typedef union { - unsigned long num; - char * str; - double realnum; - Bool xbool; - OptFrequency freq; -} ValueUnion; - -typedef enum { - OPTV_NONE = 0, - OPTV_INTEGER, - OPTV_STRING, /* a non-empty string */ - OPTV_ANYSTR, /* Any string, including an empty one */ - OPTV_REAL, - OPTV_BOOLEAN, - OPTV_FREQ -} OptionValueType; - -typedef enum { - OPTUNITS_HZ = 1, - OPTUNITS_KHZ, - OPTUNITS_MHZ -} OptFreqUnits; - -typedef struct { - int token; - const char* name; - OptionValueType type; - ValueUnion value; - Bool found; -} OptionInfoRec, *OptionInfoPtr; - -/* fontmod.h */ -typedef void (*InitFont)(void); - -typedef struct { - InitFont initFunc; - char * name; - void *module; -} FontModule; - -extern FontModule *FontModuleList; - -typedef struct { - int token; /* id of the token */ - const char * name; /* token name */ -} SymTabRec, *SymTabPtr; -#endif /* !LOADER_PRIVATE */ - -typedef enum { - NullModule = 0, - VideoModule, - InputModule, - GenericModule, - FontRendererModule -} ModuleType; - -typedef struct _xf86cfgModuleOptions { - char *name; - ModuleType type; - OptionInfoPtr option; - int vendor; - SymTabPtr chipsets; - struct _xf86cfgModuleOptions *next; -} xf86cfgModuleOptions; - -extern xf86cfgModuleOptions *module_options; - -/* When adding a new code to the LEGEND, also update checkerLegend - * in loader.c - */ -extern char **checkerLegend; -extern int *checkerErrors; -#define CHECKER_OPTIONS_FILE_MISSING 1 -#define CHECKER_OPTION_DESCRIPTION_MISSING 2 -#define CHECKER_LOAD_FAILED 3 -#define CHECKER_RECOGNIZED_AS 4 -#define CHECKER_NO_OPTIONS_AVAILABLE 5 -#define CHECKER_NO_VENDOR_CHIPSET 6 -#define CHECKER_CANNOT_VERIFY_CHIPSET 7 -#define CHECKER_OPTION_UNUSED 8 -#define CHECKER_NOMATCH_CHIPSET_STRINGS 9 -#define CHECKER_CHIPSET_NOT_LISTED 10 -#define CHECKER_CHIPSET_NOT_SUPPORTED 11 -#define CHECKER_CHIPSET_NO_VENDOR 12 -#define CHECKER_NO_CHIPSETS 13 -#define CHECKER_FILE_MODULE_NAME_MISMATCH 14 - -#define CHECKER_LAST_MESSAGE 14 - -extern void CheckMsg(int, char*, ...); - -#ifndef LOADER_PRIVATE -int LoaderInitializeOptions(void); -#endif -#endif /* USE_MODULES */ - -#endif /* _xf86cfg_loader_h */ diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/loadmod.c b/xorg-server/hw/xfree86/utils/xorgcfg/loadmod.c deleted file mode 100644 index 629dfe118..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/loadmod.c +++ /dev/null @@ -1,663 +0,0 @@ -/* - * Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) - * - * 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 - * CONECTIVA LINUX 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 Conectiva Linux shall - * not be used in advertising or otherwise to promote the sale, use or other - * dealings in this Software without prior written authorization from - * Conectiva Linux. - * - * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> - * - */ - -#ifdef USE_MODULES -#include <setjmp.h> - -#ifndef HAS_GLIBC_SIGSETJMP -#if defined(setjmp) && defined(__GNU_LIBRARY__) && \ - (!defined(__GLIBC__) || (__GLIBC__ < 2) || \ - ((__GLIBC__ == 2) && (__GLIBC_MINOR__ < 3))) -#define HAS_GLIBC_SIGSETJMP 1 -#endif -#endif - -#define LOADER_PRIVATE -#include "loader.h" - -#define True 1 -#define False 0 -#define XtPointer char* -#define XtMalloc malloc -#define XtCalloc calloc -#define XtRealloc realloc -#define XtFree free -#define XtNew(t) malloc(sizeof(t)) -#define XtNewString(s) ((s) ? strdup(s) : NULL) - -#define pointer void* - -/* XXX beware (or fix it) libc functions called here are the xf86 ones */ - -static void AddModuleOptions(char*, const OptionInfoRec*); -#if 0 -void xf86AddDriver(DriverPtr, void*, int); -Bool xf86ServerIsOnlyDetecting(void); -void xf86AddInputDriver(InputDriverPtr, pointer, int); -void xf86AddModuleInfo(ModuleInfoPtr, void*); -Bool xf86LoaderCheckSymbol(const char*); -void xf86LoaderRefSymLists(const char **, ...); -void xf86LoaderReqSymLists(const char **, ...); -void xf86Msg(int, const char*, ...); -void xf86MsgVerb(int, int, const char*, ...); -void xf86PrintChipsets(const char*, const char*, SymTabPtr); -void xf86ErrorFVerb(int verb, const char *format, ...); -int xf86MatchDevice(const char*, GDevPtr**); -int xf86MatchPciInstances(const char*, int, SymTabPtr, PciChipsets*, GDevPtr*, int, DriverPtr,int**); -int xf86MatchIsaInstances(const char*, SymTabPtr, pointer*, DriverPtr, pointer, GDevPtr*, int, int**); -void *xf86LoadDrvSubModule(DriverPtr drv, const char*); -void xf86DrvMsg(int, int, const char*, ...); -Bool xf86IsPrimaryPci(pcVideoPtr*); -Bool xf86CheckPciSlot( const struct pci_device * ); -#endif - -extern char *loaderPath, **loaderList, **ploaderList; -xf86cfgModuleOptions *module_options; -FontModule *font_module; -int numFontModules; - -extern int noverify, error_level; - -int xf86ShowUnresolved = 1; - -LOOKUP miLookupTab[] = {{0,0}}; -LOOKUP dixLookupTab[] = {{0,0}}; -LOOKUP fontLookupTab[] = {{0,0}}; -LOOKUP extLookupTab[] = {{0,0}}; -LOOKUP xfree86LookupTab[] = { - /* Loader functions */ - SYMFUNC(LoaderDefaultFunc) - SYMFUNC(LoadSubModule) - SYMFUNC(DuplicateModule) - SYMFUNC(LoaderErrorMsg) - SYMFUNC(LoaderCheckUnresolved) - SYMFUNC(LoadExtension) - SYMFUNC(LoadFont) - SYMFUNC(LoaderReqSymbols) - SYMFUNC(LoaderReqSymLists) - SYMFUNC(LoaderRefSymbols) - SYMFUNC(LoaderRefSymLists) - SYMFUNC(UnloadSubModule) - SYMFUNC(LoaderSymbol) - SYMFUNC(LoaderListDirs) - SYMFUNC(LoaderFreeDirList) - SYMFUNC(LoaderGetOS) - - /* - * these here are our own interfaces to libc functions - */ - SYMFUNC(xf86abort) - SYMFUNC(xf86abs) - SYMFUNC(xf86acos) - SYMFUNC(xf86asin) - SYMFUNC(xf86atan) - SYMFUNC(xf86atan2) - SYMFUNC(xf86atof) - SYMFUNC(xf86atoi) - SYMFUNC(xf86atol) - SYMFUNC(xf86bsearch) - SYMFUNC(xf86ceil) - SYMFUNC(xf86calloc) - SYMFUNC(xf86clearerr) - SYMFUNC(xf86close) - SYMFUNC(xf86cos) - SYMFUNC(xf86exit) - SYMFUNC(xf86exp) - SYMFUNC(xf86fabs) - SYMFUNC(xf86fclose) - SYMFUNC(xf86feof) - SYMFUNC(xf86ferror) - SYMFUNC(xf86fflush) - SYMFUNC(xf86fgetc) - SYMFUNC(xf86fgetpos) - SYMFUNC(xf86fgets) - SYMFUNC(xf86finite) - SYMFUNC(xf86floor) - SYMFUNC(xf86fmod) - SYMFUNC(xf86fopen) - SYMFUNC(xf86fprintf) - SYMFUNC(xf86fputc) - SYMFUNC(xf86fputs) - SYMFUNC(xf86fread) - SYMFUNC(xf86free) - SYMFUNC(xf86freopen) - SYMFUNC(xf86frexp) - SYMFUNC(xf86fscanf) - SYMFUNC(xf86fseek) - SYMFUNC(xf86fsetpos) - SYMFUNC(xf86ftell) - SYMFUNC(xf86fwrite) - SYMFUNC(xf86getc) - SYMFUNC(xf86getenv) - SYMFUNC(xf86getpagesize) - SYMFUNC(xf86hypot) - SYMFUNC(xf86ioctl) - SYMFUNC(xf86isalnum) - SYMFUNC(xf86isalpha) - SYMFUNC(xf86iscntrl) - SYMFUNC(xf86isdigit) - SYMFUNC(xf86isgraph) - SYMFUNC(xf86islower) - SYMFUNC(xf86isprint) - SYMFUNC(xf86ispunct) - SYMFUNC(xf86isspace) - SYMFUNC(xf86isupper) - SYMFUNC(xf86isxdigit) - SYMFUNC(xf86labs) - SYMFUNC(xf86ldexp) - SYMFUNC(xf86log) - SYMFUNC(xf86log10) - SYMFUNC(xf86lseek) - SYMFUNC(xf86malloc) - SYMFUNC(xf86memchr) - SYMFUNC(xf86memcmp) - SYMFUNC(xf86memcpy) -#if (defined(__powerpc__) && (defined(Lynx) || defined(linux))) || \ - defined(__sparc__) || defined(__sparc) || defined(__ia64__) || \ - defined (__amd64__) || defined(__x86_64__) - /* - * Some PPC, SPARC, and IA64 compilers generate calls to memcpy to handle - * structure copies. This causes a problem both here and in shared - * libraries as there is no way to map the name of the call to the - * correct function. - */ - SYMFUNC(memcpy) - /* - * Some PPC, SPARC, and IA64 compilers generate calls to memset to handle - * aggregate initializations. - */ - SYMFUNC(memset) -#endif - SYMFUNC(xf86memmove) - SYMFUNC(xf86memset) - SYMFUNC(xf86mmap) - SYMFUNC(xf86modf) - SYMFUNC(xf86munmap) - SYMFUNC(xf86open) - SYMFUNC(xf86perror) - SYMFUNC(xf86pow) - SYMFUNC(xf86printf) - SYMFUNC(xf86qsort) - SYMFUNC(xf86read) - SYMFUNC(xf86realloc) - SYMFUNC(xf86remove) - SYMFUNC(xf86rename) - SYMFUNC(xf86rewind) - SYMFUNC(xf86setbuf) - SYMFUNC(xf86setvbuf) - SYMFUNC(xf86sin) - SYMFUNC(xf86snprintf) - SYMFUNC(xf86sprintf) - SYMFUNC(xf86sqrt) - SYMFUNC(xf86sscanf) - SYMFUNC(xf86strcat) - SYMFUNC(xf86strcmp) - SYMFUNC(xf86strcasecmp) - SYMFUNC(xf86strcpy) - SYMFUNC(xf86strcspn) - SYMFUNC(xf86strerror) - SYMFUNC(xf86strlen) - SYMFUNC(xf86strncmp) - SYMFUNC(xf86strncasecmp) - SYMFUNC(xf86strncpy) - SYMFUNC(xf86strpbrk) - SYMFUNC(xf86strchr) - SYMFUNC(xf86strrchr) - SYMFUNC(xf86strspn) - SYMFUNC(xf86strstr) - SYMFUNC(xf86strtod) - SYMFUNC(xf86strtok) - SYMFUNC(xf86strtol) - SYMFUNC(xf86strtoul) - SYMFUNC(xf86tan) - SYMFUNC(xf86tmpfile) - SYMFUNC(xf86tolower) - SYMFUNC(xf86toupper) - SYMFUNC(xf86ungetc) - SYMFUNC(xf86vfprintf) - SYMFUNC(xf86vsnprintf) - SYMFUNC(xf86vsprintf) - SYMFUNC(xf86write) - -/* non-ANSI C functions */ - SYMFUNC(xf86opendir) - SYMFUNC(xf86closedir) - SYMFUNC(xf86readdir) - SYMFUNC(xf86rewinddir) - SYMFUNC(xf86ffs) - SYMFUNC(xf86strdup) - SYMFUNC(xf86bzero) - SYMFUNC(xf86usleep) - SYMFUNC(xf86execl) - - SYMFUNC(xf86getsecs) - SYMFUNC(xf86fpossize) /* for returning sizeof(fpos_t) */ - - SYMFUNC(xf86stat) - SYMFUNC(xf86fstat) - SYMFUNC(xf86access) - SYMFUNC(xf86geteuid) - SYMFUNC(xf86getegid) - SYMFUNC(xf86getpid) - SYMFUNC(xf86mknod) - SYMFUNC(xf86chmod) - SYMFUNC(xf86chown) - SYMFUNC(xf86sleep) - SYMFUNC(xf86mkdir) - SYMFUNC(xf86shmget) - SYMFUNC(xf86shmat) - SYMFUNC(xf86shmdt) - SYMFUNC(xf86shmctl) -#ifdef HAS_GLIBC_SIGSETJMP - SYMFUNC(xf86setjmp) - SYMFUNC(xf86setjmp0) -#if defined(__GLIBC__) && (__GLIBC__ >= 2) - SYMFUNCALIAS("xf86setjmp1",__sigsetjmp) -#else - SYMFUNC(xf86setjmp1) -#endif -#else - SYMFUNCALIAS("xf86setjmp",setjmp) - SYMFUNCALIAS("xf86setjmp0",setjmp) - SYMFUNC(xf86setjmp1) -#endif - SYMFUNCALIAS("xf86longjmp",longjmp) - SYMFUNC(xf86getjmptype) - SYMFUNC(xf86setjmp1_arg2) - SYMFUNC(xf86setjmperror) - - SYMFUNC(xf86AddDriver) - SYMFUNC(xf86ServerIsOnlyDetecting) - SYMFUNC(xf86AddInputDriver) - SYMFUNC(xf86AddModuleInfo) - SYMFUNC(xf86LoaderCheckSymbol) - - SYMFUNC(xf86LoaderRefSymLists) - SYMFUNC(xf86LoaderReqSymLists) - SYMFUNC(xf86Msg) - SYMFUNC(xf86MsgVerb) - SYMFUNC(ErrorF) - SYMFUNC(xf86PrintChipsets) - SYMFUNC(xf86ErrorFVerb) - SYMFUNC(xf86MatchDevice) - SYMFUNC(xf86MatchPciInstances) - SYMFUNC(xf86MatchIsaInstances) - SYMFUNC(Xfree) - SYMFUNC(xf86LoadDrvSubModule) - SYMFUNC(xf86DrvMsg) - SYMFUNC(xf86IsPrimaryPci) - SYMFUNC(xf86CheckPciSlot) - SYMFUNC(XNFalloc) - SYMFUNC(XNFrealloc) - SYMFUNC(XNFcalloc) - {0,0} -}; - -static DriverPtr driver; -static ModuleInfoPtr info; -static SymTabPtr chips; -static int vendor; -ModuleType module_type = GenericModule; - -static void -AddModuleOptions(char *name, const OptionInfoRec *option) -{ - xf86cfgModuleOptions *ptr; - const OptionInfoRec *tmp; - SymTabPtr ctmp; - int count; - - /* XXX If the module is already in the list, then it means that - * it is now being properly loaded by xf86cfg and the "fake" entry - * added in xf86cfgLoaderInitList() isn't required anymore. - * Currently: - * ati and vmware are known to fail. */ - for (ptr = module_options; ptr; ptr = ptr->next) - if (strcmp(name, ptr->name) == 0) { - fprintf(stderr, "Module %s already in list!\n", name); - return; - } - - ptr = XtNew(xf86cfgModuleOptions); - ptr->name = XtNewString(name); - ptr->type = module_type; - if (option) { - for (count = 0, tmp = option; tmp->name != NULL; tmp++, count++) - ; - ++count; - ptr->option = XtCalloc(1, count * sizeof(OptionInfoRec)); - for (count = 0, tmp = option; tmp->name != NULL; count++, tmp++) { - memcpy(&ptr->option[count], tmp, sizeof(OptionInfoRec)); - ptr->option[count].name = XtNewString(tmp->name); - if (tmp->type == OPTV_STRING || tmp->type == OPTV_ANYSTR) - ptr->option[count].value.str = XtNewString(tmp->value.str); - } - } - else - ptr->option = NULL; - if (vendor != -1 && chips) { - ptr->vendor = vendor; - for (count = 0, ctmp = chips; ctmp->name; ctmp++, count++) - ; - ++count; - ptr->chipsets = XtCalloc(1, count * sizeof(SymTabRec)); - for (count = 0, ctmp = chips; ctmp->name != NULL; count++, ctmp++) { - memcpy(&ptr->chipsets[count], ctmp, sizeof(SymTabRec)); - ptr->chipsets[count].name = XtNewString(ctmp->name); - } - } - else - ptr->chipsets = NULL; - - ptr->next = module_options; - module_options = ptr; -} - -extern void xf86WrapperInit(void); - -void -xf86cfgLoaderInit(void) -{ - LoaderInit(); - xf86WrapperInit(); -} - -void -xf86cfgLoaderInitList(int type) -{ - static const char *generic[] = { - ".", - NULL - }; - static const char *video[] = { - "drivers", - NULL - }; - static const char *input[] = { - "input", - NULL - }; - static const char *font[] = { - "fonts", - NULL - }; - const char **subdirs; - - switch (type) { - case GenericModule: - subdirs = generic; - break; - case VideoModule: - subdirs = video; - break; - case InputModule: - subdirs = input; - break; - case FontRendererModule: - subdirs = font; - break; - default: - fprintf(stderr, "Invalid value passed to xf86cfgLoaderInitList.\n"); - subdirs = generic; - break; - } - LoaderSetPath(loaderPath); - loaderList = LoaderListDirs(subdirs, NULL); - - /* XXX Xf86cfg isn't able to provide enough wrapper functions - * to these drivers. Maybe the drivers could also be changed - * to work better when being loaded "just for testing" */ - if (type == VideoModule) { - module_type = VideoModule; - AddModuleOptions("vmware", NULL); - AddModuleOptions("ati", NULL); - module_type = NullModule; - } -} - -void -xf86cfgLoaderFreeList(void) -{ - LoaderFreeDirList(loaderList); -} - -int -xf86cfgCheckModule(void) -{ - int errmaj, errmin; - ModuleDescPtr module; - int nfonts; - FontModule *fonts, *pfont_module; - - driver = NULL; - chips = NULL; - info = NULL; - pfont_module = NULL; - vendor = -1; - module_type = GenericModule; - - if ((module = LoadModule(*ploaderList, NULL, NULL, NULL, NULL, - NULL, &errmaj, &errmin)) == NULL) { - LoaderErrorMsg(NULL, *ploaderList, errmaj, errmin); - return (0); - } - else if (driver && driver->AvailableOptions) { - /* at least fbdev does not call xf86MatchPciInstances in Probe */ - if (driver->Identify) - (*driver->Identify)(-1); - if (driver->Probe) - (*driver->Probe)(driver, PROBE_DETECT); - AddModuleOptions(*ploaderList, (*driver->AvailableOptions)(-1, -1)); - } - else if (info && info->AvailableOptions) - AddModuleOptions(*ploaderList, (*info->AvailableOptions)(NULL)); - - if (!noverify) { - XF86ModuleData *initdata = NULL; - char *p; - - p = XtMalloc(strlen(*ploaderList) + strlen("ModuleData") + 1); - strcpy(p, *ploaderList); - strcat(p, "ModuleData"); - initdata = LoaderSymbol(p); - if (initdata) { - XF86ModuleVersionInfo *vers; - - vers = initdata->vers; - if (vers && strcmp(*ploaderList, vers->modname)) { - /* This was a problem at some time for some video drivers */ - CheckMsg(CHECKER_FILE_MODULE_NAME_MISMATCH, - "WARNING file/module name mismatch: \"%s\" \"%s\"\n", - *ploaderList, vers->modname); - ++error_level; - } - } - XtFree(p); - } - - nfonts = numFontModules; - numFontModules = 0; - fonts = FontModuleList; - if (fonts) { - Bool dup = FALSE; - while (fonts->name) { - if (strcasecmp(fonts->name, *ploaderList) == 0) { - pfont_module = fonts; - /* HACK: - * fonts->names points into modules. - * Duplicate string of all remaining names to survive - * unloading. Since new fonts are appended to list - * this will only happen once per renderer. - */ - dup = TRUE; - } - if (dup) - fonts->name = strdup(fonts->name); - ++numFontModules; - ++fonts; - } - } - if (pfont_module) - module_type = FontRendererModule; - else if (nfonts + 1 <= numFontModules) { - /* loader.c will flag a warning if -noverify is not set */ - pfont_module = &FontModuleList[nfonts]; - module_type = FontRendererModule; - } - - if (font_module) { - XtFree((XtPointer)font_module->name); - XtFree((XtPointer)font_module); - font_module = NULL; - } - if (pfont_module) { - font_module = XtNew(FontModule); - memcpy(font_module, pfont_module, sizeof(FontModule)); - font_module->name = XtNewString(pfont_module->name); - } - - UnloadModule(module); - - return (1); -} - -_X_EXPORT void -xf86AddDriver(DriverPtr drv, void *module, int flags) -{ - driver = drv; - if (driver) - driver->module = module; - module_type = VideoModule; -} - -_X_EXPORT Bool -xf86ServerIsOnlyDetecting(void) -{ - return (True); -} - -_X_EXPORT void -xf86AddInputDriver(InputDriverPtr inp, void *module, int flags) -{ - module_type = InputModule; -} - -_X_EXPORT void -xf86AddModuleInfo(ModuleInfoPtr inf, void *module) -{ - info = inf; -} - -_X_EXPORT Bool -xf86LoaderCheckSymbol(const char *symbol) -{ - return LoaderSymbol(symbol) != NULL; -} - -_X_EXPORT void -xf86LoaderRefSymLists(const char **list0, ...) -{ -} - -_X_EXPORT void -xf86LoaderReqSymLists(const char **list0, ...) -{ -} - -#if 0 -void xf86Msg(int type, const char *format, ...) -{ -} -#endif - -/*ARGSUSED*/ -_X_EXPORT void -xf86PrintChipsets(const char *name, const char *msg, SymTabPtr chipsets) -{ - vendor = 0; - chips = chipsets; -} - -_X_EXPORT int -xf86MatchDevice(const char *name, GDevPtr **gdev) -{ - *gdev = NULL; - - return (1); -} - -_X_EXPORT int -xf86MatchPciInstances(const char *name, int VendorID, SymTabPtr chipsets, PciChipsets *PCIchipsets, - GDevPtr *devList, int numDevs, DriverPtr drvp, int **foundEntities) -{ - vendor = VendorID; - if (chips == NULL) - chips = chipsets; - *foundEntities = NULL; - - return (0); -} - -_X_EXPORT int -xf86MatchIsaInstances(const char *name, SymTabPtr chipsets, IsaChipsets *ISAchipsets, DriverPtr drvp, - FindIsaDevProc FindIsaDevice, GDevPtr *devList, int numDevs, int **foundEntities) -{ - *foundEntities = NULL; - - return (0); -} - -/*ARGSUSED*/ -_X_EXPORT void * -xf86LoadDrvSubModule(DriverPtr drv, const char *name) -{ - pointer ret; - int errmaj = 0, errmin = 0; - - ret = LoadSubModule(drv->module, name, NULL, NULL, NULL, NULL, - &errmaj, &errmin); - if (!ret) - LoaderErrorMsg(NULL, name, errmaj, errmin); - return (ret); -} - -_X_EXPORT Bool -xf86IsPrimaryPci(pciVideoPtr pPci) -{ - return (True); -} - -_X_EXPORT Bool -xf86CheckPciSlot( const struct pci_device * d ) -{ - (void) d; - return (False); -} -#endif diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/monitor-cfg.c b/xorg-server/hw/xfree86/utils/xorgcfg/monitor-cfg.c deleted file mode 100644 index a443c54c2..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/monitor-cfg.c +++ /dev/null @@ -1,456 +0,0 @@ -/* - * Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) - * - * 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 - * CONECTIVA LINUX 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 Conectiva Linux shall - * not be used in advertising or otherwise to promote the sale, use or other - * dealings in this Software without prior written authorization from - * Conectiva Linux. - * - * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> - * - */ - -#include "xf86config.h" -#include "monitor-cfg.h" -#include "screen.h" -#include <X11/extensions/xf86vmode.h> -#include <X11/Xaw/Form.h> -#include <X11/Xaw/Simple.h> - -#include <ctype.h> -#include <X11/Xaw/Label.h> -#include <X11/Xaw/AsciiText.h> -#include <X11/Xaw/List.h> -#include <X11/Xaw/MenuButton.h> -#include <X11/Xaw/Viewport.h> -#include <X11/Xaw/SimpleMenu.h> -#include <X11/Xaw/SmeBSB.h> - -/* - * Prototypes - */ -static Bool MonitorConfigCheck(void); -static void MonitorHsyncCallback(Widget, XtPointer, XtPointer); -static void MonitorVsyncCallback(Widget, XtPointer, XtPointer); -static void MonitorSelectCardCallback(Widget, XtPointer, XtPointer); - -extern void DrawCables(void); - -/* - * Initialization - */ -static char *hmodes[] = { - "Standard VGA, 640x480 @ 60 Hz", - "Super VGA, 800x600 @ 56 Hz", - "1024x768 @ 87 Hz int. (no 800x600)", - "1024x768 @ 87 Hz int., 800x600 @ 56 Hz", - "800x600 @ 60 Hz, 640x480 @ 72 Hz", - "1024x768 @ 60 Hz, 800x600 @ 72 Hz", - "High Frequency SVGA, 1024x768 @ 70 Hz", - "Monitor that can do 1280x1024 @ 60 Hz", - "Monitor that can do 1280x1024 @ 74 Hz", - "Monitor that can do 1280x1024 @ 76 Hz", - "Monitor that can do 1280x1024 @ 85 Hz", - "Monitor that can do 1600x1200 @ 85 Hz", - "Monitor that can do 1920x1440 @ 85 Hz", - "Monitor that can do 2048x1536 @ 85 Hz" -}; - -static char *hmodes_trans[] = { - "31.5", - "31.5 - 35.1", - "31.5, 35.5", - "31.5, 35.15, 35.5", - "31.5 - 37.9", - "31.5 - 48.5", - "31.5 - 57.0", - "31.5 - 64.3", - "31.5 - 79.0", - "31.5 - 82.0", - "31.5 - 92.0", - "31.5 - 108.0", - "31.5 - 128.5", - "31.5 - 137.0" -}; - -static char *vmodes [] = { "50 - 70", "50 - 90", "50 - 100", "40 - 150", }; - -extern Widget config; -static Widget hsync, vsync, hlist, vlist, cmenu; - -static parser_range mon_hsync[CONF_MAX_HSYNC]; -static parser_range mon_vrefresh[CONF_MAX_VREFRESH]; -static int mon_n_hsync, mon_n_vrefresh; -static XF86ConfDevicePtr oldcard, card; -static XF86ConfMonitorPtr current_monitor; - -/* - * Implementation - */ -XtPointer -MonitorConfig(XtPointer conf) -{ - XF86ConfMonitorPtr monitor = (XF86ConfMonitorPtr)conf; - char monitor_name[48]; - Arg args[1]; - - current_monitor = monitor; - - xf86info.cur_list = MONITOR; - XtSetSensitive(back, xf86info.lists[MONITOR].cur_function > 0); - XtSetSensitive(next, xf86info.lists[MONITOR].cur_function < - xf86info.lists[MONITOR].num_functions - 1); - (xf86info.lists[MONITOR].functions[xf86info.lists[MONITOR].cur_function]) - (&xf86info); - - XawListUnhighlight(hlist); - XawListUnhighlight(vlist); - - if (monitor != NULL) { - XF86ConfScreenPtr screen = XF86Config->conf_screen_lst; - char str[PARSER_RANGE_SIZE]; - - XtSetArg(args[0], XtNstring, monitor->mon_identifier); - XtSetValues(ident_widget, args, 1); - - while (screen != NULL) { - if (screen->scrn_monitor == monitor) - break; - - screen = (XF86ConfScreenPtr)(screen->list.next); - } - if (screen != NULL) { - oldcard = card = screen->scrn_device; - XtSetArg(args[0], XtNlabel, card->dev_identifier); - } - else { - oldcard = card = NULL; - XtSetArg(args[0], XtNlabel, ""); - } - XtSetValues(cmenu, args, 1); - - mon_n_hsync = monitor->mon_n_hsync; - memcpy(mon_hsync, monitor->mon_hsync, - sizeof(parser_range) * mon_n_hsync); - *str = '\0'; - parser_range_to_string(str, mon_hsync, mon_n_hsync); - XtSetArg(args[0], XtNstring, str); - XtSetValues(hsync, args, 1); - - mon_n_vrefresh = monitor->mon_n_vrefresh; - memcpy(mon_vrefresh, monitor->mon_vrefresh, - sizeof(parser_range) * mon_n_vrefresh); - *str = '\0'; - parser_range_to_string(str, mon_vrefresh, mon_n_vrefresh); - XtSetArg(args[0], XtNstring, str); - XtSetValues(vsync, args, 1); - } - else { - XF86ConfMonitorPtr monitor = XF86Config->conf_monitor_lst; - int nmonitors = 0; - - oldcard = card = NULL; - while (monitor != NULL) { - ++nmonitors; - monitor = (XF86ConfMonitorPtr)(monitor->list.next); - } - do { - XmuSnprintf(monitor_name, sizeof(monitor_name), - "Monitor%d", nmonitors); - ++nmonitors; - } while (xf86findMonitor(monitor_name, - XF86Config->conf_monitor_lst)); - - XtSetArg(args[0], XtNstring, monitor_name); - XtSetValues(ident_widget, args, 1); - - XtSetArg(args[0], XtNstring, ""); - XtSetValues(hsync, args, 1); - XtSetValues(vsync, args, 1); - - XtSetArg(args[0], XtNlabel, ""); - XtSetValues(cmenu, args, 1); - } - - if (ConfigLoop(MonitorConfigCheck) == True) { - if (monitor == NULL) { - monitor = (XF86ConfMonitorPtr) - XtCalloc(1, sizeof(XF86ConfMonitorRec)); - monitor->mon_identifier = XtNewString(ident_string); - } - - memcpy(monitor->mon_hsync, mon_hsync, sizeof(parser_range) * - (monitor->mon_n_hsync = mon_n_hsync)); - memcpy(monitor->mon_vrefresh, mon_vrefresh, sizeof(parser_range) * - (monitor->mon_n_vrefresh = mon_n_vrefresh)); - - if (strcasecmp(monitor->mon_identifier, ident_string)) - xf86renameMonitor(XF86Config, monitor, ident_string); - - if (oldcard != card) { - int i; - - for (i = 0; i < computer.num_devices; i++) - if (computer.devices[i]->widget == config) - break; - if (computer.devices[i]->config == NULL) - XF86Config->conf_monitor_lst = - xf86addMonitor(XF86Config->conf_monitor_lst, - monitor); - computer.devices[i]->config = (XtPointer)monitor; - ChangeScreen(monitor, monitor, card, oldcard); - DrawCables(); - } - - return (monitor); - } - - return (NULL); -} - -static Bool -MonitorConfigCheck(void) -{ - char *str; - Arg args[1]; - XF86ConfMonitorPtr monitor = XF86Config->conf_monitor_lst; - - if (ident_string == NULL || strlen(ident_string) == 0) - return (False); - - bzero(mon_hsync, sizeof(parser_range) * CONF_MAX_HSYNC); - bzero(mon_vrefresh, sizeof(parser_range) * CONF_MAX_VREFRESH); - - XtSetArg(args[0], XtNstring, &str); - XtGetValues(hsync, args, 1); - if ((mon_n_hsync = string_to_parser_range(str, mon_hsync, - CONF_MAX_HSYNC)) <= 0) - return (False); - - XtSetArg(args[0], XtNstring, &str); - XtGetValues(vsync, args, 1); - if ((mon_n_vrefresh = string_to_parser_range(str, mon_vrefresh, - CONF_MAX_VREFRESH)) <= 0) - return (False); - - while (monitor != NULL) { - if (monitor != current_monitor && - strcasecmp(ident_string, monitor->mon_identifier) == 0) - return (False); - monitor = (XF86ConfMonitorPtr)(monitor->list.next); - } - - return (True); -} - -int -string_to_parser_range(char *str, parser_range *range, int nrange) -{ - double val; - int i = 0; - - if (str == NULL || *str == '\0' || range == NULL || nrange == 0) - return (0); - - while (*str) { - while (*str && isspace(*str)) - ++str; - if (!isdigit(*str)) { - ++str; - continue; - } - val = strtod(str, &str); - while (*str && isspace(*str)) - ++str; - if (*str == ',' || *str == '\0') { - if (*str) - ++str; - range[i].lo = range[i].hi = val; - if (++i >= nrange || *str == '\0') - break; - continue; - } - else if (*str != '-') - return (0); - ++str; - range[i].lo = val; - while (*str && isspace(*str)) - ++str; - if ((range[i].hi = strtod(str, &str)) < range[i].lo) - return (0); - if (++i >= nrange) - break; - } - - return (i); -} - -int -parser_range_to_string(char *str, parser_range *range, int nrange) -{ - int i, len; - - if (str == NULL || range == NULL || nrange <= 0) - return (0); - - for (i = len = 0; i < nrange; i++) { - if (i > 0) - len += XmuSnprintf(str + len, PARSER_RANGE_SIZE - len, "%s", - ", "); - if (range[i].lo == range[i].hi) - len += XmuSnprintf(str + len, PARSER_RANGE_SIZE - len, "%g", - range[i].lo); - else if (range[i].lo < range[i].hi) - len += XmuSnprintf(str + len, PARSER_RANGE_SIZE - len, "%g - %g", - range[i].lo, range[i].hi); - else - return (0); - } - - return (i); -} - -/*ARGSUSED*/ -static void -MonitorHsyncCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - XawListReturnStruct *info = (XawListReturnStruct *)call_data; - Arg args[1]; - - XtSetArg(args[0], XtNstring, hmodes_trans[info->list_index]); - XtSetValues(hsync, args, 1); -} - -/*ARGSUSED*/ -static void -MonitorVsyncCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - XawListReturnStruct *info = (XawListReturnStruct *)call_data; - Arg args[1]; - - XtSetArg(args[0], XtNstring, info->string); - XtSetValues(vsync, args, 1); -} - -/*ARGSUSED*/ -static void -MonitorSelectCardCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - Arg args[1]; - - card = (XF86ConfDevicePtr)user_data; - XtSetArg(args[0], XtNlabel, card != NULL ? card->dev_identifier : ""); - XtSetValues(cmenu, args, 1); -} - -void -MonitorLayout(XF86SetupInfo *info) -{ - static int first = 1, men; - static Widget layout, menu; - XF86ConfDevicePtr device = XF86Config->conf_device_lst; - Widget sme; - Arg args[1]; - char *menuname; - - if (first) { - Widget viewport; - - first = 0; - - layout = XtCreateWidget("monitorl", formWidgetClass, - configp, NULL, 0); - XtCreateManagedWidget("hlabel", labelWidgetClass, layout, NULL, 0); - hsync = XtVaCreateManagedWidget("hsync", asciiTextWidgetClass, layout, - XtNeditType, XawtextEdit, - NULL); - viewport = XtCreateManagedWidget("hviewport", viewportWidgetClass, - layout, NULL, 0); - hlist = XtVaCreateManagedWidget("hlist", listWidgetClass, viewport, - XtNlist, hmodes, - XtNnumberStrings, sizeof(hmodes) / - sizeof(hmodes[0]), NULL); - XtAddCallback(hlist, XtNcallback, MonitorHsyncCallback, NULL); - - XtCreateManagedWidget("vlabel", labelWidgetClass, layout, NULL, 0); - vsync = XtVaCreateManagedWidget("vsync", asciiTextWidgetClass, layout, - XtNeditType, XawtextEdit, - NULL); - viewport = XtCreateManagedWidget("vviewport", viewportWidgetClass, - layout, NULL, 0); - vlist = XtVaCreateManagedWidget("vlist", listWidgetClass, viewport, - XtNlist, vmodes, - XtNnumberStrings, sizeof(vmodes) / - sizeof(vmodes[0]), NULL); - XtAddCallback(vlist, XtNcallback, MonitorVsyncCallback, NULL); - - XtCreateManagedWidget("clabel", labelWidgetClass, layout, NULL, 0); - cmenu = XtCreateManagedWidget("cmenu", menuButtonWidgetClass, - layout, NULL, 0); - - XtRealizeWidget(layout); - } - - if (menu != NULL) - XtDestroyWidget(menu); - - /* - * swaps names because XtDestroyWidget will only really destroy it - * when the code returns to XtAppMainLoop - */ - menuname = men & 1 ? "mena" : "menb"; - menu = XtCreatePopupShell(menuname, simpleMenuWidgetClass, - cmenu, NULL, 0); - XtSetArg(args[0], XtNmenuName, menuname); - XtSetValues(cmenu, args, 1); - ++men; - sme = XtVaCreateManagedWidget("none", smeBSBObjectClass, menu, - NULL); - XtAddCallback(sme, XtNcallback, MonitorSelectCardCallback, NULL); - - while (device != NULL) { - XF86ConfScreenPtr screen = XF86Config->conf_screen_lst; - Widget sme; - Bool sensitive = True; - - while (screen != NULL) { - if (screen->scrn_device == device) { - sensitive = screen->scrn_monitor == NULL || - screen->scrn_monitor == current_monitor; - break; - } - screen = (XF86ConfScreenPtr)(screen->list.next); - } - sme = XtCreateManagedWidget(device->dev_identifier, - smeBSBObjectClass, menu, - NULL, 0); - if (sensitive) - XtAddCallback(sme, XtNcallback, MonitorSelectCardCallback, device); - XtSetSensitive(sme, sensitive); - - device = (XF86ConfDevicePtr)(device->list.next); - } - - XtRealizeWidget(menu); - - XtChangeManagedSet(¤t, 1, NULL, NULL, &layout, 1); - current = layout; -} diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/monitor-cfg.h b/xorg-server/hw/xfree86/utils/xorgcfg/monitor-cfg.h deleted file mode 100644 index 48fc804bf..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/monitor-cfg.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) - * - * 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 - * CONECTIVA LINUX 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 Conectiva Linux shall - * not be used in advertising or otherwise to promote the sale, use or other - * dealings in this Software without prior written authorization from - * Conectiva Linux. - * - * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> - * - */ - -#include "config.h" - -#ifndef _xf86cfg_monitor_h -#define _xf86cfg_monitor_h - -/* - * Prototypes - */ -XtPointer MonitorConfig(XtPointer); -void MonitorLayout(XF86SetupInfo*); -void MonitorVidtune(XF86SetupInfo*); -int string_to_parser_range(char*, parser_range*, int); -#define PARSER_RANGE_SIZE 256 -/* string must have at least 256 bytes */ -int parser_range_to_string(char*, parser_range*, int); - -#endif /* _xf86cfg_monitor_h */ diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/monitor.xbm b/xorg-server/hw/xfree86/utils/xorgcfg/monitor.xbm deleted file mode 100644 index a2d4c6863..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/monitor.xbm +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) - * - * 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 - * CONECTIVA LINUX 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 Conectiva Linux shall - * not be used in advertising or otherwise to promote the sale, use or other - * dealings in this Software without prior written authorization from - * Conectiva Linux. - * - * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> - * - * $XFree86$ - */ -#define monitor_width 50 -#define monitor_height 44 -static unsigned char monitor_bits[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, - 0x03, 0x00, 0xc0, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0xe0, 0x01, 0x00, - 0x00, 0x00, 0x1e, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x70, - 0xfc, 0xff, 0xff, 0xff, 0x38, 0x00, 0x30, 0xfe, 0xff, 0xff, 0xff, 0x31, - 0x00, 0x30, 0x03, 0x00, 0x00, 0x00, 0x33, 0x00, 0x30, 0x03, 0x00, 0x00, - 0x00, 0x33, 0x00, 0x30, 0x03, 0x00, 0x00, 0x00, 0x33, 0x00, 0x30, 0x03, - 0x00, 0x00, 0x00, 0x33, 0x00, 0x30, 0x03, 0x00, 0x00, 0x00, 0x33, 0x00, - 0x30, 0x03, 0x00, 0x00, 0x00, 0x33, 0x00, 0x30, 0x03, 0x00, 0x00, 0x00, - 0x33, 0x00, 0x30, 0x03, 0x00, 0x00, 0x00, 0x33, 0x00, 0x30, 0x03, 0x00, - 0x00, 0x00, 0x33, 0x00, 0x30, 0x03, 0x00, 0x00, 0x00, 0x33, 0x00, 0x30, - 0x03, 0x00, 0x00, 0x00, 0x33, 0x00, 0x30, 0x03, 0x00, 0x00, 0x00, 0x33, - 0x00, 0x30, 0x03, 0x00, 0x00, 0x00, 0x33, 0x00, 0x30, 0x03, 0x00, 0x00, - 0x00, 0x33, 0x00, 0x30, 0x03, 0x00, 0x00, 0x00, 0x33, 0x00, 0x30, 0x03, - 0x00, 0x00, 0x00, 0x33, 0x00, 0x30, 0x03, 0x00, 0x00, 0x00, 0x33, 0x00, - 0x30, 0x03, 0x00, 0x00, 0x00, 0x33, 0x00, 0x30, 0x03, 0x00, 0x00, 0x00, - 0x33, 0x00, 0x30, 0x03, 0x00, 0x00, 0x00, 0x33, 0x00, 0x30, 0xfe, 0xff, - 0xff, 0xff, 0x31, 0x00, 0x70, 0xfc, 0xff, 0xff, 0xff, 0x38, 0x00, 0x60, - 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0xe0, 0x01, 0x00, 0x00, 0x00, 0x1e, - 0x00, 0xc0, 0x1f, 0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0xff, 0xff, 0xff, - 0xff, 0x03, 0x00, 0x00, 0xf0, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00, 0xc0, 0x0f, 0xc0, 0x0f, - 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x30, 0x00, - 0x00, 0x30, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, - 0xf8, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0x3f, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/monitor.xpm b/xorg-server/hw/xfree86/utils/xorgcfg/monitor.xpm deleted file mode 100644 index e647e3cc1..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/monitor.xpm +++ /dev/null @@ -1,79 +0,0 @@ -/* XPM */ -/* - * Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) - * - * 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 - * CONECTIVA LINUX 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 Conectiva Linux shall - * not be used in advertising or otherwise to promote the sale, use or other - * dealings in this Software without prior written authorization from - * Conectiva Linux. - * - * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> - * - * $XFree86$ - */ -static char * monitor_xpm[] = { -"47 40 6 1", -" c none", -"Z c #DF7DE38DDF7D", -". c #BEFBBEFBBEFB", -"X c #9E799A699E79", -"o c #30C230C230C2", -"O c #96589E799658", -"ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ..", -"Z..............................................", -"Z.............................................X", -"Z.............................................X", -"Z...XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....X", -"Z...Xooooooooooooooooooooooooooooooooooooo....X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z....oooooooooooooooooooooooooooooooooooooZ...X", -"Z.....ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ...X", -"Z.............................................X", -"Z.............................................X", -"..............................................X", -"..XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", -" OOOOOOOOOOOOOOOOOOOOOOOOOo ", -" XXXXXXXXXXXXXXXXXXXXXXXXXX ", -" OOOOOOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXo. ", -" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXo ", -" ooooooooooooooooooooooooooooooooooooooo "}; diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/mouse-cfg.c b/xorg-server/hw/xfree86/utils/xorgcfg/mouse-cfg.c deleted file mode 100644 index 24aec6ae4..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/mouse-cfg.c +++ /dev/null @@ -1,449 +0,0 @@ -/* - * Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) - * - * 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 - * CONECTIVA LINUX 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 Conectiva Linux shall - * not be used in advertising or otherwise to promote the sale, use or other - * dealings in this Software without prior written authorization from - * Conectiva Linux. - * - * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> - * - */ - -#include "xf86config.h" -#include "mouse-cfg.h" -#include <X11/Xaw/AsciiText.h> -#include <X11/Xaw/Label.h> -#include <X11/Xaw/List.h> -#include <X11/Xaw/Form.h> -#include <X11/Xaw/Toggle.h> -#include <X11/Xaw/Viewport.h> -#include <X11/extensions/xf86misc.h> - -/* - * Prototypes - */ -static void MouseDeviceCallback(Widget, XtPointer, XtPointer); -static void MouseProtocolCallback(Widget, XtPointer, XtPointer); -static void MouseEmulateCallback(Widget, XtPointer, XtPointer); -static void MouseApplyCallback(Widget, XtPointer, XtPointer); -static Bool MouseConfigCheck(void); - -/* - * Initialization - */ -static struct MouseProtocol { - char *name; - int type; -} protocols[] = { -#ifdef __SCO__ - {"OsMouse", MTYPE_AUTOMOUSE}, -#endif -#ifdef WSCONS_SUPPORT - {"wsmouse", MTYPE_AUTOMOUSE}, -#endif - {"Auto", MTYPE_AUTOMOUSE}, - {"SysMouse", MTYPE_SYSMOUSE}, - {"MouseSystems", MTYPE_MOUSESYS}, - {"BusMouse", MTYPE_BUSMOUSE}, - {"PS/2", MTYPE_PS_2}, - {"Microsoft", MTYPE_MICROSOFT}, -#ifndef __FreeBSD__ - {"ImPS/2", MTYPE_IMPS2}, - {"ExplorerPS/2", MTYPE_EXPPS2}, - {"GlidePointPS/2", MTYPE_GLIDEPOINTPS2}, - {"MouseManPlusPS/2", MTYPE_MMANPLUSPS2}, - {"NetMousePS/2", MTYPE_NETPS2}, - {"NetScrollPS/2", MTYPE_NETSCROLLPS2}, - {"ThinkingMousePS/2", MTYPE_THINKINGPS2}, -#endif - {"AceCad", MTYPE_ACECAD}, - {"GlidePoint", MTYPE_GLIDEPOINT}, - {"IntelliMouse", MTYPE_IMSERIAL}, - {"Logitech", MTYPE_LOGITECH}, - {"MMHitTab", MTYPE_MMHIT}, - {"MMSeries", MTYPE_MMSERIES}, - {"MouseMan", MTYPE_LOGIMAN}, - {"ThinkingMouse", MTYPE_THINKING}, -}; - -static Widget text; -static char *device, *protocol; -static Bool emulate; -static XF86ConfInputPtr current_input; - -/* - * Implementation - */ -/*ARGSUSED*/ -XtPointer -MouseConfig(XtPointer config) -{ - XF86ConfInputPtr mouse = (XF86ConfInputPtr)config; - XF86OptionPtr option; - char mouse_name[32]; - Arg args[1]; - - static char *Device = "Device", *Protocol = "Protocol", - *Emulate3Buttons = "Emulate3Buttons", - *Emulate3Timeout = "Emulate3Timeout"; - - current_input = mouse; - - if (mouse != NULL) { - emulate = xf86findOption(mouse->inp_option_lst, - Emulate3Buttons) != NULL; - if ((option = xf86findOption(mouse->inp_option_lst, Device)) != NULL) - device = option->opt_val; - else - device = NULL; - if ((option = xf86findOption(mouse->inp_option_lst, Protocol)) != NULL) - protocol = option->opt_val; - else - protocol = NULL; - - XtSetArg(args[0], XtNstring, mouse->inp_identifier); - XtSetValues(ident_widget, args, 1); - } - else { - XF86ConfInputPtr input = XF86Config->conf_input_lst; - int nmouses = 0; - - while (input != NULL) { - if (strcasecmp(input->inp_driver, "mouse") == 0) - ++nmouses; - input = (XF86ConfInputPtr)(input->list.next); - } - do { - XmuSnprintf(mouse_name, sizeof(mouse_name), "Mouse%d", nmouses); - ++nmouses; - } while (xf86findInput(mouse_name, - XF86Config->conf_input_lst)); - - XtSetArg(args[0], XtNstring, mouse_name); - XtSetValues(ident_widget, args, 1); - - emulate = True; - device = NULL; - protocol = NULL; - } - - xf86info.cur_list = MOUSE; - XtSetSensitive(back, xf86info.lists[MOUSE].cur_function > 0); - XtSetSensitive(next, xf86info.lists[MOUSE].cur_function < - xf86info.lists[MOUSE].num_functions - 1); - (xf86info.lists[MOUSE].functions[xf86info.lists[MOUSE].cur_function]) - (&xf86info); - - if (ConfigLoop(MouseConfigCheck) == True) { - XtSetArg(args[0], XtNstring, &device); - XtGetValues(text, args, 1); - if (mouse == NULL) { - mouse = XtNew(XF86ConfInputRec); - mouse->list.next = NULL; - mouse->inp_identifier = XtNewString(ident_string); - mouse->inp_driver = XtNewString("mouse"); - mouse->inp_option_lst = xf86newOption(XtNewString(Device), - XtNewString(device)); - xf86addNewOption(mouse->inp_option_lst, - XtNewString(Protocol), XtNewString(protocol)); - if (emulate) { - xf86addNewOption(mouse->inp_option_lst, - XtNewString(Emulate3Buttons), NULL); - xf86addNewOption(mouse->inp_option_lst, - XtNewString(Emulate3Timeout), - XtNewString("50")); - } - mouse->inp_comment = NULL; - } - else { - if ((option = xf86findOption(mouse->inp_option_lst, Device)) != NULL) { - XtFree(option->opt_val); - option->opt_val = XtNewString(device); - XtFree(option->opt_comment); - } - else { - if (mouse->inp_option_lst == NULL) - mouse->inp_option_lst = xf86newOption(XtNewString(Device), - XtNewString(device)); - else - xf86addNewOption(mouse->inp_option_lst, - XtNewString(Device), XtNewString(device)); - } - - if ((option = xf86findOption(mouse->inp_option_lst, Protocol)) != NULL) { - XtFree(option->opt_val); - option->opt_val = XtNewString(protocol); - XtFree(option->opt_comment); - } - else - xf86addNewOption(mouse->inp_option_lst, - XtNewString(Protocol), XtNewString(protocol)); - - if (emulate == False) { - xf86removeOption(&(mouse->inp_option_lst), Emulate3Buttons); - xf86removeOption(&(mouse->inp_option_lst), Emulate3Timeout); - } - else if (emulate) { - xf86addNewOption(mouse->inp_option_lst, - XtNewString(Emulate3Buttons), NULL); - xf86addNewOption(mouse->inp_option_lst, - XtNewString(Emulate3Timeout), XtNewString("50")); - } - } - if (strcasecmp(mouse->inp_identifier, ident_string)) - xf86renameInput(XF86Config, mouse, ident_string); - - return ((XtPointer)mouse); - } - - return (NULL); -} - -static Bool -MouseConfigCheck(void) -{ - Arg args[1]; - XF86ConfInputPtr mouse = XF86Config->conf_input_lst; - - XtSetArg(args[0], XtNstring, &device); - XtGetValues(text, args, 1); - - if (ident_string == NULL || strlen(ident_string) == 0 || - device == NULL || strlen(device) == 0 || protocol == NULL) - return (False); - while (mouse != NULL) { - if (mouse != current_input && - strcasecmp(ident_string, mouse->inp_identifier) == 0) - return (False); - mouse = (XF86ConfInputPtr)(mouse->list.next); - } - - return (True); -} - -static void -MouseDeviceCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - XawListReturnStruct *info = (XawListReturnStruct *)call_data; - Arg args[1]; - - XtSetArg(args[0], XtNstring, info->string); - XtSetValues((Widget)user_data, args, 1); - XawTextSetInsertionPoint((Widget)user_data, strlen(info->string)); -} - -static void -MouseProtocolCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - XawListReturnStruct *info = (XawListReturnStruct *)call_data; - - protocol = info->string; -} - -static void -MouseEmulateCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - emulate = (Bool)(long)call_data; -} - -static void -MouseApplyCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - int i; - XF86MiscMouseSettings mouse; - - XF86MiscGetMouseSettings(XtDisplay(w), &mouse); - XtFree(mouse.device); - - if (mouse.baudrate == 0 || mouse.baudrate < 0 || mouse.baudrate > 9600 || - mouse.baudrate % 1200) - mouse.baudrate = 1200; - - mouse.type = MTYPE_AUTOMOUSE; - for (i = 0; i < sizeof(protocols) / sizeof(protocols[0]); i++) - if (strcmp(protocols[i].name, protocol) == 0) { - mouse.type = protocols[i].type; - break; - } - - mouse.emulate3buttons = emulate; - mouse.flags |= MF_REOPEN; - - mouse.device = device; - - XFlush(XtDisplay(w)); - XF86MiscSetMouseSettings(XtDisplay(w), &mouse); -} - -void -MouseDeviceAndProtocol(XF86SetupInfo *info) -{ - static int first = 1, ndevices; - static Widget mouse_dp, listD, listP, emul3, apply; - static char **devices; - static char *dirs[] = { - "/dev", -#ifdef __linux__ - "/dev/input" -#endif - }; - static char *patterns[] = { -#ifdef WSCONS_SUPPORT - "wsmouse", -#endif - "cuaa", - "mice", - "mouse", - "ps", - "sysmouse", - "ttyS", - }; - Arg args[2]; - int i; - - if (first) { - Widget viewport; - struct dirent *ent; - DIR *dir; - char **list; - int count; - - first = 0; - - mouse_dp = XtCreateWidget("mouseDP", formWidgetClass, - configp, NULL, 0); - - /* DEVICE */ - for (count = 0; count < sizeof(dirs) / sizeof(dirs[0]); count++) { - if ((dir = opendir(dirs[count])) != NULL) { - int i, len, xlen = strlen(dirs[count]) + 2; - - (void)readdir(dir); - (void)readdir(dir); - while ((ent = readdir(dir)) != NULL) { - for (i = 0; i < sizeof(patterns) / sizeof(patterns[0]); i++) { - len = strlen(patterns[i]); - - if (strncmp(patterns[i], ent->d_name, len) == 0) { - len = strlen(ent->d_name) + xlen; - - devices = (char**)XtRealloc((XtPointer)devices, - sizeof(char*) * ++ndevices); - devices[ndevices - 1] = XtMalloc(len); - XmuSnprintf(devices[ndevices - 1], len, "%s/%s", - dirs[count], ent->d_name); - } - } - } - closedir(dir); - } - } - - (void) XtCreateManagedWidget("labelD", labelWidgetClass, - mouse_dp, NULL, 0); - text = XtVaCreateManagedWidget("device", asciiTextWidgetClass, - mouse_dp, - XtNeditType, XawtextEdit, - NULL); - viewport = XtCreateManagedWidget("viewportD", viewportWidgetClass, - mouse_dp, NULL, 0); - - listD = XtVaCreateManagedWidget("listD", listWidgetClass, - viewport, - XtNlist, devices, - XtNnumberStrings, ndevices, - NULL); - XtAddCallback(listD, XtNcallback, MouseDeviceCallback, (XtPointer)text); - - /* PROTOCOL */ - (void) XtCreateManagedWidget("labelP", labelWidgetClass, - mouse_dp, NULL, 0); - viewport = XtCreateManagedWidget("viewportP", viewportWidgetClass, - mouse_dp, NULL, 0); - - list = (char**)XtMalloc(sizeof(char*) * - sizeof(protocols)/sizeof(protocols[0])); - for (count = 0; count < sizeof(protocols)/sizeof(protocols[0]); count++) - list[count] = XtNewString(protocols[count].name); - listP = XtVaCreateManagedWidget("listP", listWidgetClass, - viewport, - XtNlist, list, - XtNnumberStrings, count, - NULL); - XtAddCallback(listP, XtNcallback, MouseProtocolCallback, NULL); - - emul3 = XtVaCreateManagedWidget("emulate3", toggleWidgetClass, - mouse_dp, XtNstate, True, NULL); - XtAddCallback(emul3, XtNcallback, MouseEmulateCallback, NULL); - apply = XtCreateManagedWidget("apply", commandWidgetClass, - mouse_dp, NULL, 0); - XtAddCallback(apply, XtNcallback, MouseApplyCallback, NULL); - - XtRealizeWidget(mouse_dp); - } - - if (device != NULL) { - for (i = 0; i < ndevices; i++) - if (strcmp(device, devices[i]) == 0) { - XtSetArg(args[0], XtNstring, device); - XtSetValues(text, args, 1); - XawListHighlight(listD, i); - break; - } - - if (i >= ndevices) { - devices = (char**)XtRealloc((XtPointer)devices, - sizeof(char*) * ++ndevices); - devices[ndevices - 1] = XtNewString(device); - XawListHighlight(listD, ndevices - 1); - XtSetArg(args[0], XtNlist, devices); - XtSetArg(args[1], XtNnumberStrings, ndevices); - XtSetValues(listD, args, 2); - } - device = devices[i]; - } - else { - XtSetArg(args[0], XtNstring, ""); - XtSetValues(text, args, 1); - XawListUnhighlight(listD); - } - - if (protocol != NULL) { - for (i = 0; i < sizeof(protocols) / sizeof(protocols[0]); i++) - if (strcasecmp(protocol, protocols[i].name) == 0) { - protocol = protocols[i].name; - XawListHighlight(listP, i); - break; - } - } - else { - /* "Auto" is the default */ - protocol = protocols[0].name; - XawListHighlight(listP, 0); - } - - XtSetArg(args[0], XtNstate, emulate); - XtSetValues(emul3, args, 1); - - XtChangeManagedSet(¤t, 1, NULL, NULL, &mouse_dp, 1); - current = mouse_dp; -} diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/mouse-cfg.h b/xorg-server/hw/xfree86/utils/xorgcfg/mouse-cfg.h deleted file mode 100644 index 90e5980e6..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/mouse-cfg.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) - * - * 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 - * CONECTIVA LINUX 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 Conectiva Linux shall - * not be used in advertising or otherwise to promote the sale, use or other - * dealings in this Software without prior written authorization from - * Conectiva Linux. - * - * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> - */ - -#include "config.h" - -#ifndef _xf86cfg_mouse_h -#define _xf86cfg_mouse_h - -/* - * Prototypes - */ -XtPointer MouseConfig(XtPointer); -void MouseDeviceAndProtocol(XF86SetupInfo*); - -#endif /* _xf86cfg_mouse_h */ - diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/mouse.xbm b/xorg-server/hw/xfree86/utils/xorgcfg/mouse.xbm deleted file mode 100644 index dce92d24a..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/mouse.xbm +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) - * - * 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 - * CONECTIVA LINUX 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 Conectiva Linux shall - * not be used in advertising or otherwise to promote the sale, use or other - * dealings in this Software without prior written authorization from - * Conectiva Linux. - * - * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> - * - * $XFree86$ - */ -#define mouse_width 50 -#define mouse_height 44 -static unsigned char mouse_bits[] = { - 0x00, 0x00, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, - 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x0f, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xcf, 0x03, 0x00, - 0x00, 0x00, 0xc0, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0xe0, 0x79, 0x78, - 0x1e, 0x00, 0x00, 0x00, 0x60, 0x38, 0x70, 0x18, 0x00, 0x00, 0x00, 0x70, - 0x30, 0x30, 0x38, 0x00, 0x00, 0x00, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, - 0x00, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x30, 0x30, 0x30, 0x30, - 0x00, 0x00, 0x00, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x30, 0x30, - 0x30, 0x30, 0x00, 0x00, 0x00, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, - 0xf0, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0x3f, 0x00, - 0x00, 0x00, 0x30, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, - 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, - 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x30, 0x00, 0x00, - 0x00, 0x30, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x30, - 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, - 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, - 0x30, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x30, 0x00, - 0x00, 0x00, 0x30, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, - 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, - 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x30, 0x00, 0x00, - 0x00, 0x30, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x38, - 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0xe0, 0x01, - 0x00, 0x1e, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, - 0x00, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/mouse.xpm b/xorg-server/hw/xfree86/utils/xorgcfg/mouse.xpm deleted file mode 100644 index ea157c266..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/mouse.xpm +++ /dev/null @@ -1,76 +0,0 @@ -/* XPM */ -/* - * Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) - * - * 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 - * CONECTIVA LINUX 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 Conectiva Linux shall - * not be used in advertising or otherwise to promote the sale, use or other - * dealings in this Software without prior written authorization from - * Conectiva Linux. - * - * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> - * - * $XFree86$ - */ -static char * mouse_xpm[] = { -"26 35 8 1", -" c none", -". c #E79DE79DE79D", -"X c #CF3CCF3CCF3C", -"o c #BEFBBAEABEFB", -"O c #8E3896588E38", -"+ c #AEBAAAAAAEBA", -"@ c #9E79AAAA9E79", -"# c #A699A289A699", -" .....XXXX. ", -" X..o.XXXXXXXo... ", -" X..XXo.XXXXXXXo.XX.X ", -" X.XXXXo.XXXXXXXo.XXX.X ", -" .XXXXXo.XXXXXXXo.XXXXoo ", -" X.XXXXXo.XXXoXXXo.XXXXoXo", -"oX.XXXXXo.XXXXXXXo.XXXXXoo", -"oX.XoXoXo.XXoXoXXo.XXXXXoO", -"oX.XXXXXo.XXXXXXXo.XXoXX+O", -"oX.XXXoXo.XXoXoXXo.XXXXX+O", -"oX.XXXXXo.XXXXXXXo.XX...+O", -"ooooo...o........oooo@@@OO", -"oX.XX#@@@@@@@@@@@@@@@XXX+O", -"oX.XXXXXXXXXXXXXXXXXXXXX+O", -"oX.XXXXXXXXXXXXXXXXXXXXX+O", -"oX.XXXXXXXXXXXXXXXXXXXXX+O", -"oX.XXXXXXXXXXXXXXXXXXXXX+O", -"oX.XXXXXXXXXXXXXXXXXXXXX+O", -"oX.XXXXXXXXXXXXXXXXXXXXX+O", -"oX.XXXXXXXXXXXXXXXXXXXXX+O", -"oX.XXXXXXXXXXXXXXXXXXXXX+O", -"oX.XXXXXXXXXXXXXXXXXXXX+oO", -" #X.XXXXXXXXXXXXXXXXXXooO ", -" #X.XXXXXXXXXXXXXXXXXXooO ", -" #X.XXXXXXXXXXXXXXXXXX+oO ", -" #X.XXXXXXXXXXXXXXXXXX+oO ", -" #.XXXXXXXXXXXXXXXXX++O ", -" #X..XXXXXXXXXXXXXXX+oO ", -" #X.XXXXXXXXXXXXXX+oO ", -" #.XXXXXXXXXXXXXX+O ", -" #X..XXXXXXXXXo++oO ", -" #XX..XXXXXoo+ooO ", -" ##XXooooo+ooOO ", -" ooooooooOO ", -" oOOOOO "}; diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/narrower.xbm b/xorg-server/hw/xfree86/utils/xorgcfg/narrower.xbm deleted file mode 100644 index 0649ef8b4..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/narrower.xbm +++ /dev/null @@ -1,8 +0,0 @@ -#define narrower_width 19 -#define narrower_height 19 -static unsigned char narrower_bits[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x80, 0x00, 0x18, 0xc0, 0x00, - 0x38, 0xe0, 0x00, 0x78, 0xf0, 0x00, 0xf8, 0xf8, 0x00, 0xff, 0xfd, 0x07, - 0xff, 0xff, 0x07, 0xff, 0xff, 0x07, 0xff, 0xff, 0x07, 0xff, 0xfd, 0x07, - 0xf8, 0xf8, 0x00, 0x78, 0xf0, 0x00, 0x38, 0xe0, 0x00, 0x18, 0xc0, 0x00, - 0x08, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/options.c b/xorg-server/hw/xfree86/utils/xorgcfg/options.c deleted file mode 100644 index d229bb17f..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/options.c +++ /dev/null @@ -1,787 +0,0 @@ -/* - * Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) - * - * 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 - * CONECTIVA LINUX 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 Conectiva Linux shall - * not be used in advertising or otherwise to promote the sale, use or other - * dealings in this Software without prior written authorization from - * Conectiva Linux. - * - * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> - * - */ - -#include "options.h" -#include "xf86config.h" -#include <X11/Xresource.h> -#include <X11/Shell.h> -#include <X11/Xaw/AsciiText.h> -#include <X11/Xaw/List.h> -#include <X11/Xaw/Command.h> -#include <X11/Xaw/MenuButton.h> -#include <X11/Xaw/Paned.h> -#include <X11/Xaw/SimpleMenP.h> -#include <X11/Xaw/SmeBSB.h> -#include <X11/Xaw/Viewport.h> -#include <ctype.h> - -/* - * Prototypes - */ -static void PopdownCallback(Widget, XtPointer, XtPointer); -static void SelectOptionCallback(Widget, XtPointer, XtPointer); -static void AddOption(Widget, XtPointer, XtPointer); -static void RemoveOption(Widget, XtPointer, XtPointer); -static void UpdateOption(Widget, XtPointer, XtPointer); -static void UpdateOptionList(void); -#ifdef USE_MODULES -static void AddDriverOption(Widget, XtPointer, XtPointer); -static void SelectModuleCallback(Widget, XtPointer, XtPointer); -static void SelectModuleOptionCallback(Widget, XtPointer, XtPointer); -static void ModuleOptionsPopdown(Widget, XtPointer, XtPointer); -#endif -static Bool EnumDatabase(XrmDatabase*, XrmBindingList, XrmQuarkList, - XrmRepresentation*, XrmValue*, XPointer); - -/* - * Initialization - */ -Widget optionsShell; -static XF86OptionPtr *options; -static Widget add, remov, update, list, name, value; -static char *option_str; -static int option_index, popped = False; -static char *Options = "lib/X11/Options"; -XrmDatabase options_xrm; -struct { - char *string; - int offset; -} rebuild_xrm; -#ifdef USE_MODULES -static Widget modList, optList, desc, modOptionsShell, labelType; -static char *module_sel; -static char *types[] = { - "none", "integer", "(non null) string", "string", "real", - "boolean", "frequency", -}; -#endif - -/* - * Implementation - */ -#ifdef USE_MODULES -static int -qcmp_str(_Xconst void *a, _Xconst void *b) -{ - return (strcmp(*(char**)a, *(char**)b)); -} - -void -ModuleOptionsPopup(Widget w, XtPointer user_data, XtPointer call_data) -{ - xf86cfgModuleOptions *info = module_options; - - if (modOptionsShell == NULL) { - char **ops; - int nops; - Widget pane, form, viewport, bottom, popdown; - - modOptionsShell = XtCreatePopupShell("moduleOptions", - transientShellWidgetClass, - optionsShell, NULL, 0); - - pane = XtCreateManagedWidget("pane", panedWidgetClass, - modOptionsShell, NULL, 0); - - form = XtCreateManagedWidget("descriptions", formWidgetClass, - pane, NULL, 0); - labelType = XtCreateManagedWidget("labelType", labelWidgetClass, - form, NULL, 0); - XtCreateManagedWidget("module", labelWidgetClass, form, NULL, 0); - viewport = XtCreateManagedWidget("viewM", viewportWidgetClass, - form, NULL, 0); - ops = NULL; - nops = 0; - while (info) { - ++nops; - ops = (char**)XtRealloc((XtPointer)ops, sizeof(char*) * nops); - ops[nops - 1] = XtNewString(info->name); - info = info->next; - } - if (nops == 0) { - ops = (char**)XtMalloc(sizeof(char*)); - ops[0] = XtNewString(""); - nops = 1; - } - else - qsort(ops, nops, sizeof(char*), qcmp_str); - modList = XtVaCreateManagedWidget("modL", listWidgetClass, - viewport, XtNlist, ops, - XtNnumberStrings, nops, - NULL); - XtAddCallback(modList, XtNcallback, SelectModuleCallback, NULL); - XtCreateManagedWidget("option", labelWidgetClass, form, NULL, 0); - viewport = XtCreateManagedWidget("viewO", viewportWidgetClass, - form, NULL, 0); - ops = (char**)XtMalloc(sizeof(char*)); - ops[0] = XtNewString(""); - optList = XtVaCreateManagedWidget("optL", listWidgetClass, - viewport, XtNlist, ops, - XtNnumberStrings, 1, NULL); - XtAddCallback(optList, XtNcallback, SelectModuleOptionCallback, NULL); - desc = XtVaCreateManagedWidget("desc", asciiTextWidgetClass, - form, XtNeditType, XawtextRead, - NULL); - - bottom = XtCreateManagedWidget("bottom", formWidgetClass, - pane, NULL, 0); - popdown = XtVaCreateManagedWidget("popdown", commandWidgetClass, - bottom, NULL); - XtAddCallback(popdown, XtNcallback, ModuleOptionsPopdown, NULL); - XtRealizeWidget(modOptionsShell); - XSetWMProtocols(DPY, XtWindow(modOptionsShell), &wm_delete_window, 1); - - info = module_options; - } - - if (module_sel && *module_sel) { - XawListReturnStruct list; /* hack to call ballbacks */ - char **strs; - int nstrs, idx = 0; - - XtVaGetValues(modList, XtNlist, &strs, XtNnumberStrings, &nstrs, NULL); - for (idx = nstrs - 1; idx > 0; idx--) - if (strcmp(module_sel, strs[idx]) == 0) - break; - while (info) { - if (strcmp(module_sel, info->name) == 0) - break; - info = info->next; - } - if (info) { - list.string = info->name; - list.list_index = idx; - XawListHighlight(modList, idx); - SelectModuleCallback(modList, NULL, (XtPointer)&list); - } - if (option_str && *option_str) { - OptionInfoPtr opts = info->option; - - idx = 0; - while (opts && opts->name) { - if (strcmp(opts->name, option_str) == 0) - break; - ++idx; - ++opts; - } - - if (opts && opts->name) { - list.string = (char *)opts->name; - list.list_index = idx; - XawListHighlight(optList, idx); - SelectModuleOptionCallback(optList, NULL, (XtPointer)&list); - } - } - } - XtPopup(modOptionsShell, XtGrabNone); -} - -/*ARGSUSED*/ -static void -ModuleOptionsPopdown(Widget w, XtPointer user_data, XtPointer call_data) -{ - XtPopdown(modOptionsShell); -} - -/*ARGSUSED*/ -void -ModuleOptionsCancelAction(Widget w, XEvent *event, - String *params, Cardinal *num_params) -{ - ModuleOptionsPopdown(w, NULL, NULL); -} -#endif - -void -CreateOptionsShell(void) -{ - optionsShell = XtCreatePopupShell("options", transientShellWidgetClass, - toplevel, NULL, 0); -} - -#ifdef USE_MODULES -void -OptionsPopup(XF86OptionPtr *opts, char *driver, OptionInfoPtr drv_opts) -#else -void -OptionsPopup(XF86OptionPtr *opts) -#endif -{ - static int first = 1; -#ifdef USE_MODULES - static Widget button, menu; - static char label[256], menuName[16]; - Widget sme; - char buf[256]; - int i = 0; - Arg args[1]; - static int menuN; -#endif - - option_str = NULL; - options = opts; - if (first) { - Widget pane, form, viewport, bottom, popdown; - - first = 0; - - if (optionsShell == NULL) - CreateOptionsShell(); - pane = XtCreateManagedWidget("pane", panedWidgetClass, - optionsShell, NULL, 0); - - form = XtCreateManagedWidget("commands", formWidgetClass, - pane, NULL, 0); - add = XtCreateManagedWidget("add", commandWidgetClass, - form, NULL, 0); - XtAddCallback(add, XtNcallback, AddOption, NULL); - remov = XtCreateManagedWidget("remove", commandWidgetClass, - form, NULL, 0); - XtAddCallback(remov, XtNcallback, RemoveOption, NULL); - update = XtCreateManagedWidget("update", commandWidgetClass, - form, NULL, 0); - XtAddCallback(update, XtNcallback, UpdateOption, NULL); -#ifdef USE_MODULES - if (!nomodules) { - Widget command; - - command = XtCreateManagedWidget("help", commandWidgetClass, - form, NULL, 0); - XtAddCallback(command, XtNcallback, ModuleOptionsPopup, NULL); - } -#endif - form = XtCreateManagedWidget("form", formWidgetClass, - pane, NULL, 0); - XtVaCreateManagedWidget("label1", labelWidgetClass, form, - XtNlabel, " Option \"", - NULL); - name = XtVaCreateManagedWidget("name", asciiTextWidgetClass, form, - XtNeditType, XawtextEdit, - NULL); - XtVaCreateManagedWidget("label2", labelWidgetClass, - form, - XtNlabel, "\" \"", - NULL); - value = XtVaCreateManagedWidget("value", asciiTextWidgetClass, form, - XtNeditType, XawtextEdit, - NULL); - XtVaCreateManagedWidget("label3", labelWidgetClass, form, - XtNlabel, "\" ", - NULL); - viewport = XtCreateManagedWidget("viewport", viewportWidgetClass, - form, NULL, 0); - list = XtCreateManagedWidget("list", listWidgetClass, - viewport, NULL, 0); - XtAddCallback(list, XtNcallback, SelectOptionCallback, NULL); - bottom = XtCreateManagedWidget("bottom", formWidgetClass, - pane, NULL, 0); -#ifdef USE_MODULES - if (!nomodules) - button = XtCreateManagedWidget("driverOpts", menuButtonWidgetClass, - bottom, NULL, 0); -#endif - popdown = XtVaCreateManagedWidget("popdown", commandWidgetClass, - bottom, NULL); -#ifdef USE_MODULES - if (!nomodules) - XtVaSetValues(popdown, XtNfromHoriz, button, NULL); -#endif - - XtAddCallback(popdown, XtNcallback, PopdownCallback, NULL); - XtRealizeWidget(optionsShell); - XSetWMProtocols(DPY, XtWindow(optionsShell), &wm_delete_window, 1); - -#ifdef USE_MODULES - if (!nomodules) { - char *str; - - XtSetArg(args[0], XtNlabel, &str); - XtGetValues(button, args, 1); - XmuSnprintf(label, sizeof(label), "%s", str); - } -#endif - } - -#ifdef USE_MODULES - if (!nomodules) { - if (menu) - XtDestroyWidget(menu); - XmuSnprintf(menuName, sizeof(menuName), "optionM%d", menuN); - menuN = !menuN; - menu = XtCreatePopupShell(menuName, simpleMenuWidgetClass, button, - NULL, 0); - XtVaSetValues(button, XtNmenuName, menuName, NULL); - if (drv_opts) { - int len, longest = 0; - char fmt[32]; - - for (i = 0; drv_opts[i].name != NULL; i++) { - len = strlen(drv_opts[i].name); - if (len > longest) - longest = len; - } - XmuSnprintf(fmt, sizeof(fmt), "%c-%ds %%s", '%', longest); - for (; drv_opts->name != NULL; drv_opts++) { - char *type; - - if (drv_opts->type >= OPTV_NONE && drv_opts->type <= OPTV_FREQ) - type = types[drv_opts->type]; - else - type = "UNKNOWN"; - - XmuSnprintf(buf, sizeof(buf), fmt, drv_opts->name, type); - sme = XtVaCreateManagedWidget(drv_opts->name, smeBSBObjectClass, - menu, XtNlabel, buf, NULL); - XtAddCallback(sme, XtNcallback, AddDriverOption, (XtPointer)drv_opts); - } - } - if (i) { - xf86cfgModuleOptions *mod = module_options; - - while (mod) { - if (strcmp(mod->name, driver) == 0) { - /* don't assign to driver, as it may be a temp string */ - module_sel = mod->name; - break; - } - mod = mod->next; - } - XmuSnprintf(buf, sizeof(buf), "%s%s", label, driver); - XtSetArg(args[0], XtNlabel, buf); - XtSetValues(button, args, 1); - XtMapWidget(button); - } - else - XtUnmapWidget(button); - } -#endif - - UpdateOptionList(); - popped = True; - XtPopup(optionsShell, XtGrabExclusive); - - while (popped) - XtAppProcessEvent(XtWidgetToApplicationContext(optionsShell), XtIMAll); -} - -static void -UpdateOptionList(void) -{ - Arg args[2]; - char **ops, **oldops; - int nops, oldnops; - XF86OptionPtr opt; - - ops = NULL; - nops = 0; - XawListUnhighlight(list); - XtSetArg(args[0], XtNlist, &oldops); - XtSetArg(args[1], XtNnumberStrings, &oldnops); - XtGetValues(list, args, 2); - opt = *options; - while (opt != NULL) { - if (nops % 16 == 0) - ops = (char**)XtRealloc((XtPointer)ops, (nops + 16) * - sizeof(char*)); - ops[nops++] = XtNewString(opt->opt_name); - opt = (XF86OptionPtr)(opt->list.next); - } - if (nops == 0) { - ops = (char**)XtMalloc(sizeof(char*)); - ops[0] = XtNewString(""); - nops = 1; - } - XtSetArg(args[0], XtNlist, ops); - XtSetArg(args[1], XtNnumberStrings, nops); - XtSetValues(list, args, 2); - if (oldnops > 0 && - (oldnops != 1 || XtName(list) != oldops[0])) { - while (--oldnops >= 0) - XtFree(oldops[oldnops]); - XtFree((XtPointer)oldops); - } - - XtSetArg(args[0], XtNstring, ""); - XtSetValues(name, args, 1); - XtSetValues(value, args, 1); - - /* force relayout */ - XtUnmanageChild(list); - XtManageChild(list); - - XtSetSensitive(remov, False); - XtSetSensitive(update, False); -} - -/*ARGSUSED*/ -static void -PopdownCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - XtPopdown(optionsShell); - popped = False; -} - -/*ARGSUSED*/ -void -OptionsCancelAction(Widget w, XEvent *event, - String *params, Cardinal *num_params) -{ - PopdownCallback(w, NULL, NULL); -} - -/*ARGSUSED*/ -static void -SelectOptionCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - Arg args[1]; - XF86OptionPtr option; - XawListReturnStruct *info = (XawListReturnStruct *)call_data; - - option_str = info->string; - option_index = info->list_index; - if ((option = xf86findOption(*options, info->string)) != NULL) { - XtSetArg(args[0], XtNstring, option->opt_name); - XtSetValues(name, args, 1); - XtSetArg(args[0], XtNstring, - option->opt_val != NULL ? option->opt_val : ""); - XtSetValues(value, args, 1); - } - XtSetSensitive(remov, True); - XtSetSensitive(update, True); -} - -/*ARGSUSED*/ -static void -AddOption(Widget w, XtPointer user_data, XtPointer call_data) -{ - Arg args[1]; - char *nam, *val; - - XtSetArg(args[0], XtNstring, &nam); - XtGetValues(name, args, 1); - XtSetArg(args[0], XtNstring, &val); - XtGetValues(value, args, 1); - if (xf86findOption(*options, nam) != NULL || strlen(nam) == 0) - /* XXX xf86addNewOption will trash the option linked list if - * the options being added already exists. - */ - return; - *options = xf86addNewOption(*options, XtNewString(nam), - val && strlen(val) ? XtNewString(val) : NULL); - UpdateOptionList(); -} - -#ifdef USE_MODULES -/*ARGSUSED*/ -static void -AddDriverOption(Widget w, XtPointer user_data, XtPointer call_data) -{ - Arg args[1]; - OptionInfoPtr opt = (OptionInfoPtr)user_data; - XF86OptionPtr option; - - option_str = (char *)opt->name; - XtSetArg(args[0], XtNstring, opt->name); - XtSetValues(name, args, 1); - if ((option = xf86findOption(*options, opt->name)) == NULL) - XtSetArg(args[0], XtNstring, ""); - else - XtSetArg(args[0], XtNstring, option->opt_val); - XtSetValues(value, args, 1); -} - -/*ARGSUSED*/ -static void -SelectModuleCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - xf86cfgModuleOptions *mod = module_options; - XawListReturnStruct *info = (XawListReturnStruct *)call_data; - - while (mod) { - if (strcmp(mod->name, info->string) == 0) - break; - mod = mod->next; - } - - if (mod) { - Arg args[2]; - char **list = NULL, **old; - OptionInfoPtr opts = mod->option; - int num = 0, oldnum; - - module_sel = mod->name; - XtSetArg(args[0], XtNlist, &old); - XtSetArg(args[1], XtNnumberStrings, &oldnum); - XtGetValues(optList, args, 2); - while (opts && opts->name) { - ++num; - list = (char**)XtRealloc((XtPointer)list, sizeof(char*) * num); - list[num - 1] = XtNewString(opts->name); - ++opts; - } - if (num == 0) { - list = (char**)XtMalloc(sizeof(char*)); - list[0] = XtNewString(""); - num = 1; - } - XtSetArg(args[0], XtNlist, list); - XtSetArg(args[1], XtNnumberStrings, num); - XtSetValues(optList, args, 2); - while (--oldnum >= 0) - XtFree(old[oldnum]); - XtFree((XtPointer)old); - - XtVaSetValues(desc, XtNstring, "", NULL); - XawListUnhighlight(optList); - - /* force relayout */ - XtUnmanageChild(optList); - XtManageChild(optList); - } -} - -static void -SelectModuleOptionCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - xf86cfgModuleOptions *mod = module_options; - XawListReturnStruct *info = (XawListReturnStruct *)call_data; - char *description = NULL, *type = "undefined"; - char label[256]; - - if (module_sel && info->string) - description = GetOptionDescription(module_sel, info->string); - if (description == NULL) - description = "** NO DESCRIPTION AVAILABLE **"; - - XtVaSetValues(desc, XtNstring, description, NULL); - - while (mod) { - if (strcmp(module_sel, mod->name) == 0) - break; - mod = mod->next; - } - if (mod) { - OptionInfoPtr opts = mod->option; - - while (opts && opts->name) { - if (strcasecmp(opts->name, info->string) == 0) - break; - ++opts; - } - if (opts && opts->name && opts->type >= OPTV_NONE && - opts->type <= OPTV_FREQ) - type = types[opts->type]; - } - - XmuSnprintf(label, sizeof(label), "%s.%s (%s)", module_sel, info->string, - type); - XtVaSetValues(labelType, XtNlabel, label, NULL); -} -#endif - -/*ARGSUSED*/ -static void -RemoveOption(Widget w, XtPointer user_data, XtPointer call_data) -{ - Arg args[1]; - char *str; - - XtSetArg(args[0], XtNstring, &str); - XtGetValues(name, args, 1); - xf86removeOption(options, str); - UpdateOptionList(); -} - -/*ARGSUSED*/ -static void -UpdateOption(Widget w, XtPointer user_data, XtPointer call_data) -{ -/* xf86removeOption(options, option_str); - AddOption(w, user_data, call_data); - UpdateOptionList();*/ - - Arg args[1]; - char *nam, *val; - XF86OptionPtr option; - - XtSetArg(args[0], XtNstring, &nam); - XtGetValues(name, args, 1); - XtSetArg(args[0], XtNstring, &val); - XtGetValues(value, args, 1); - if ((option = xf86findOption(*options, option_str)) == NULL) - return; - XtFree(option->opt_name); - option->opt_name = option_str = XtNewString(nam); - XtFree(option->opt_val); - if (val && strlen(val)) - option->opt_val = XtNewString(val); - else - option->opt_val = NULL; - - UpdateOptionList(); - XawListHighlight(list, option_index); - XtSetArg(args[0], XtNstring, option->opt_name); - XtSetValues(name, args, 1); - XtSetArg(args[0], XtNstring, option->opt_val); - XtSetValues(value, args, 1); - - XtSetSensitive(remov, True); - XtSetSensitive(update, True); -} - -/*ARGUSED*/ -static Bool -EnumDatabase(XrmDatabase *db, XrmBindingList bindings, XrmQuarkList quarks, - XrmRepresentation *type, XrmValue *value, XPointer closure) -{ - char *module = XrmQuarkToString(quarks[0]), - *option = XrmQuarkToString(quarks[1]); - - /* handle *.Option: value */ - if (module && option == NULL) { - option = module; - module = "*"; - } - - /* - * NOTE: If the Options file is changed to support any other format than - * - * Module.Option: description text - * - * this code will also need to be updated. - */ - - if (module) { - XrmValue xrm; - char *type, *value, query[256]; - - XmuSnprintf(query, sizeof(query), "%s.%s", module, option); - if (XrmGetResource(options_xrm, query, "Module.Option", &type, &xrm)) - value = (char*)xrm.addr; - else - value = NULL; - - if (value) { - char *norm; - unsigned char *ptr; - int position; - int length = strlen(module) + strlen(option) + strlen(value) + 4; - - rebuild_xrm.string = XtRealloc(rebuild_xrm.string, - rebuild_xrm.offset + length); - position = rebuild_xrm.offset + - sprintf(rebuild_xrm.string + rebuild_xrm.offset, "%s.%s:", - module, option); - - /* removes underlines and spaces */ - norm = strchr(rebuild_xrm.string + rebuild_xrm.offset, '.') + 1; - for (; *norm; norm++) { - if (*norm == '_' || *norm == ' ' || *norm == '\t') { - memmove(norm, norm + 1, strlen(norm) + 1); - --position; - --length; - } - } - - for (ptr = (unsigned char*)rebuild_xrm.string + rebuild_xrm.offset; - *ptr; ptr++) - *ptr = tolower(*ptr); - sprintf(rebuild_xrm.string + position, "%s\n", value); - rebuild_xrm.offset += length - 1; - } - } - - return (False); -} - -Bool -InitializeOptionsDatabase(void) -{ - static int first = 1; - static Bool result = True; - - if (first) { - XrmQuark names[2]; - XrmQuark classes[2]; - - first = 0; - XrmInitialize(); - if ((options_xrm = XrmGetFileDatabase(Options)) == (XrmDatabase)0) { - fprintf(stderr, "Cannot open '%s' database.\n", Options); - return (False); - } - - /* rebuild database, using only lowercase characters */ - names[0] = classes[0] = names[1] = classes[1] = NULLQUARK; - (void)XrmEnumerateDatabase(options_xrm, (XrmNameList)&names, - (XrmClassList)&classes, XrmEnumAllLevels, - EnumDatabase, NULL); - - /* free previous database, as it is not guaranteed to be - * "case insensitive" */ - XrmDestroyDatabase(options_xrm); - - /* create case insensitive database by making everything lowercase */ - if (rebuild_xrm.string == NULL || - (options_xrm = XrmGetStringDatabase(rebuild_xrm.string)) == - (XrmDatabase)0) { - fprintf(stderr, "Cannot rebuild '%s' database.\n", Options); - XtFree(rebuild_xrm.string); - return (False); - } - XtFree(rebuild_xrm.string); - } - - return (result); -} - -char * -GetOptionDescription(char *module, char *option) -{ - char *type; - XrmValue value; - char query[256]; - unsigned char *ptr; - - InitializeOptionsDatabase(); - - XmuSnprintf(query, sizeof(query), "%s.%s", module, option); - ptr = (unsigned char*)strchr(query, '.') + 1; - for (; *ptr; ptr++) { - if (*ptr == '_' || *ptr == ' ' || *ptr == '\t') - memmove(ptr, ptr + 1, strlen((char*)ptr) + 1); - } - for (ptr = (unsigned char*)query; *ptr; ptr++) - *ptr = tolower(*ptr); - if (XrmGetResource(options_xrm, query, "Module.Option", &type, &value)) - return ((char*)value.addr); - - return (NULL); -} diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/options.h b/xorg-server/hw/xfree86/utils/xorgcfg/options.h deleted file mode 100644 index 2d08ca448..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/options.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) - * - * 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 - * CONECTIVA LINUX 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 Conectiva Linux shall - * not be used in advertising or otherwise to promote the sale, use or other - * dealings in this Software without prior written authorization from - * Conectiva Linux. - * - * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> - * - */ - -#include "config.h" -#ifdef USE_MODULES -#include "loader.h" -#endif - -/* - * Prototypes - */ -#ifdef USE_MODULES -void OptionsPopup(XF86OptionPtr*, char*, OptionInfoPtr); -void ModuleOptionsPopup(Widget, XtPointer, XtPointer); -#else -void OptionsPopup(XF86OptionPtr*); -#endif -void OptionsCancelAction(Widget, XEvent*, String*, Cardinal*); -void ModuleOptionsCancelAction(Widget, XEvent*, String*, Cardinal*); -char *GetOptionDescription(char *module, char *option); -Bool InitializeOptionsDatabase(void); - -void CreateOptionsShell(void); diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/right.xbm b/xorg-server/hw/xfree86/utils/xorgcfg/right.xbm deleted file mode 100644 index a2f2ce2d1..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/right.xbm +++ /dev/null @@ -1,8 +0,0 @@ -#define right_width 19 -#define right_height 19 -static unsigned char right_bits[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x06, 0x00, - 0x00, 0x0e, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x3e, 0x00, 0xf8, 0x7f, 0x00, - 0xf8, 0xff, 0x00, 0xf8, 0xff, 0x01, 0xf8, 0xff, 0x00, 0xf8, 0x7f, 0x00, - 0x00, 0x3e, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x06, 0x00, - 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/screen-cfg.c b/xorg-server/hw/xfree86/utils/xorgcfg/screen-cfg.c deleted file mode 100644 index 4c67d725a..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/screen-cfg.c +++ /dev/null @@ -1,555 +0,0 @@ -/* - * Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) - * - * 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 - * CONECTIVA LINUX 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 Conectiva Linux shall - * not be used in advertising or otherwise to promote the sale, use or other - * dealings in this Software without prior written authorization from - * Conectiva Linux. - * - * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> - * - */ - -#include "xf86config.h" -#include "screen-cfg.h" -#include <X11/Xaw/Command.h> -#include <X11/Xaw/Form.h> -#include <X11/Xaw/Label.h> -#include <X11/Xaw/List.h> -#include <X11/Xaw/Toggle.h> -#include <X11/Xaw/Viewport.h> -#ifdef USE_MODULES -#include "loader.h" -#endif - -#define CW 1 -#define CCW -1 - -/* - * Prototypes - */ -static void DepthCallback(Widget, XtPointer, XtPointer); -static void SelectIndexCallback(Widget, XtPointer, XtPointer); -static void UnselectIndexCallback(Widget, XtPointer, XtPointer); -static void SelectCallback(Widget, XtPointer, XtPointer); -static void UnselectCallback(Widget, XtPointer, XtPointer); -static void MoveCallback(Widget, XtPointer, XtPointer); -static void RotateCallback(Widget, XtPointer, XtPointer); - -/* - * Initialization - */ -static char *standard_modes[] = { - "640x400", - "640x480", - "800x600", - "1024x768", - "1280x960", - "1280x1024", - "320x200", - "320x240", - "400x300", - "1152x864", - "1600x1200", - "1800x1400", - "512x384", - "1400x1050", - "2048x1536", - "1920x1440", -}; - -static char **modes; -static int nmodes; -static int default_depth, sel_index, unsel_index; -static Widget listL, listR; -static char **defmodes; -static int ndefmodes; -static XF86ConfScreenPtr screen; -static int rotate; - -/* - * Implementation - */ -XtPointer -ScreenConfig(XtPointer conf) -{ - XF86ConfDisplayPtr disp; - Arg args[2]; - int i, oldrotate; - - screen = (XF86ConfScreenPtr)conf; - if (screen == NULL) - return (NULL); - - XtSetArg(args[0], XtNstring, screen->scrn_identifier); - XtSetValues(ident_widget, args, 1); - if ((default_depth = screen->scrn_defaultdepth) <= 0) - default_depth = 8; - sel_index = unsel_index = -1; - for (i = 0; i < computer.num_screens; i++) - if (computer.screens[i]->screen == screen) { - SetScreenRotate(computer.screens[i]); - rotate = computer.screens[i]->rotate; - } - oldrotate = rotate; - - ndefmodes = 0; - disp = screen->scrn_display_lst; - while (disp != NULL) { - if (disp->disp_depth == default_depth) { - XF86ModePtr mod = disp->disp_mode_lst; - - while (mod != NULL) { - if (ndefmodes % 16 == 0) - defmodes = (char**) - XtRealloc((XtPointer)defmodes, - (ndefmodes + 16) * sizeof(char*)); - defmodes[ndefmodes++] = XtNewString(mod->mode_name); - mod = (XF86ModePtr)(mod->list.next); - } - break; - } - disp = (XF86ConfDisplayPtr)(disp->list.next); - } - if (ndefmodes == 0) { - defmodes = (char**)XtMalloc(sizeof(char*)); - defmodes[0] = XtNewString("640x480"); - ndefmodes = 1; - } - - if (listL != NULL) { - XawListUnhighlight(listL); - XawListUnhighlight(listR); - } - - xf86info.cur_list = SCREEN; - XtSetSensitive(back, xf86info.lists[SCREEN].cur_function > 0); - XtSetSensitive(next, xf86info.lists[SCREEN].cur_function < - xf86info.lists[SCREEN].num_functions - 1); - (xf86info.lists[SCREEN].functions[xf86info.lists[SCREEN].cur_function]) - (&xf86info); - - if (ConfigLoop(NULL) == True) { - XF86ModePtr prev = NULL, mod; - - /* user may have changed the default depth, read variables again */ - disp = screen->scrn_display_lst; - while (disp != NULL) { - if (disp->disp_depth == default_depth) - break; - disp = (XF86ConfDisplayPtr)(disp->list.next); - } - - if (disp == NULL) { - disp = (XF86ConfDisplayPtr)XtCalloc(1, sizeof(XF86ConfDisplayRec)); - screen->scrn_display_lst = (XF86ConfDisplayPtr) - xf86addListItem((GenericListPtr)(screen->scrn_display_lst), - (GenericListPtr)(disp)); - disp->disp_depth = default_depth; - } - - if (strcasecmp(screen->scrn_identifier, ident_string)) - xf86renameScreen(XF86Config, screen, ident_string); - - screen->scrn_defaultdepth = default_depth; - - XtSetArg(args[0], XtNlist, NULL); - XtSetArg(args[1], XtNnumberStrings, 0); - XtSetValues(listL, args, 2); - - XtSetArg(args[0], XtNlist, NULL); - XtSetArg(args[1], XtNnumberStrings, 0); - XtSetValues(listR, args, 2); - - mod = disp->disp_mode_lst; - /* free all modes */ - while (mod != NULL) { - prev = mod; - mod = (XF86ModePtr)(mod->list.next); - XtFree(prev->mode_name); - XtFree((XtPointer)prev); - } - /* readd modes */ - for (i = 0; i < ndefmodes; i++) { - mod = XtNew(XF86ModeRec); - mod->mode_name = XtNewString(defmodes[i]); - XtFree(defmodes[i]); - if (i == 0) - disp->disp_mode_lst = mod; - else - prev->list.next = mod; - prev = mod; - } - if (i == 0) - disp->disp_mode_lst = NULL; - else - mod->list.next = NULL; - - XtFree((XtPointer)defmodes); - defmodes = NULL; - ndefmodes = 0; - - for (i = 0; i < computer.num_screens; i++) - if (computer.screens[i]->screen == screen) - computer.screens[i]->rotate = rotate; - - if (oldrotate != rotate) { - static char *Rotate = "Rotate"; - - if (screen->scrn_option_lst != NULL) - xf86removeOption(&screen->scrn_option_lst, Rotate); - if (rotate) - screen->scrn_option_lst = - xf86addNewOption(screen->scrn_option_lst, - XtNewString(Rotate), - XtNewString(rotate > 0 ? "CW" : "CCW")); - UpdateScreenUI(); - AdjustScreenUI(); - } - - return ((XtPointer)screen); - } - - XtSetArg(args[0], XtNlist, NULL); - XtSetArg(args[1], XtNnumberStrings, 0); - XtSetValues(listL, args, 2); - - XtSetArg(args[0], XtNlist, NULL); - XtSetArg(args[1], XtNnumberStrings, 0); - XtSetValues(listR, args, 2); - - for (i = 0; i < ndefmodes; i++) - XtFree(defmodes[i]); - XtFree((XtPointer)defmodes); - defmodes = NULL; - ndefmodes = 0; - - return (NULL); -} - -/*ARGSUSED*/ -static void -DepthCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - if (call_data != NULL) - default_depth = (long)user_data; -} - -/*ARGSUSED*/ -static void -SelectIndexCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - XawListReturnStruct *info = (XawListReturnStruct *)call_data; - - sel_index = info->list_index; -} - -/*ARGSUSED*/ -static void -UnselectIndexCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - XawListReturnStruct *info = (XawListReturnStruct *)call_data; - - unsel_index = info->list_index; -} - -/*ARGSUSED*/ -static void -SelectCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - Arg args[2]; - - if (sel_index < 0 || sel_index >= nmodes) - return; - - if (ndefmodes == 1 && *defmodes[0] == '\0') { - /* make sure tmp and defentries are not the same pointer */ - char **tmp = defmodes; - - XtFree(defmodes[0]); - defmodes = (char**)XtMalloc(sizeof(char*)); - --ndefmodes; - XtFree((char*)tmp); - } - else - defmodes = (char**)XtRealloc((XtPointer)defmodes, - sizeof(char*) * (ndefmodes + 1)); - defmodes[ndefmodes++] = XtNewString(modes[sel_index]); - - XtSetArg(args[0], XtNlist, defmodes); - XtSetArg(args[1], XtNnumberStrings, ndefmodes); - XtSetValues(listR, args, 2); - - XawListUnhighlight(listR); - if (ndefmodes > 1 || (ndefmodes == 1 && *defmodes[0] != '\0')) { - if (unsel_index >= ndefmodes) - unsel_index = ndefmodes - 1; - XawListHighlight(listR, unsel_index = ndefmodes - 1); - } - else - unsel_index = -1; - - /* force realyout */ - XtUnmanageChild(listR); - XtManageChild(listR); -} - -/*ARGSUSED*/ -static void -UnselectCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - Arg args[2]; - char **modes; - Cardinal num_modes; - - if (unsel_index < 0 || unsel_index >= ndefmodes) - return; - - XawListUnhighlight(listL); - XtSetArg(args[0], XtNlist, &modes); - XtSetArg(args[1], XtNnumberStrings, &num_modes); - XtGetValues(listL, args, 2); - if (modes) { - for (sel_index = 0; sel_index < num_modes; sel_index++) - if (strcmp(defmodes[unsel_index], modes[sel_index]) == 0) - break; - if (sel_index < num_modes) - XawListHighlight(listL, sel_index); - else - sel_index = -1; - } - - XtFree(defmodes[unsel_index]); - if (--ndefmodes > unsel_index) - memmove(&defmodes[unsel_index], &defmodes[unsel_index + 1], - (ndefmodes - unsel_index) * sizeof(char*)); - if (ndefmodes == 0) { - char **tmp = defmodes; - - defmodes = (char**)XtMalloc(sizeof(char*)); - defmodes[0] = XtNewString(""); - ndefmodes = 1; - XtFree((char*)tmp); - } - - XtSetArg(args[0], XtNlist, defmodes); - XtSetArg(args[1], XtNnumberStrings, ndefmodes); - XtSetValues(listR, args, 2); - - XawListUnhighlight(listR); - if (ndefmodes > 1 || (ndefmodes == 1 && *defmodes[0] != '\0')) { - if (unsel_index >= ndefmodes) - unsel_index = ndefmodes - 1; - XawListHighlight(listR, unsel_index); - } - else - unsel_index = -1; -} - -/*ARGSUSED*/ -static void -MoveCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - char *tmp; - Bool down = (long)user_data; - - if (unsel_index < 0 || unsel_index >= ndefmodes) - return; - - if ((down && unsel_index + 1 >= ndefmodes) || - (!down && unsel_index - 1 < 0)) - return; - - tmp = defmodes[unsel_index]; - if (down) { - defmodes[unsel_index] = defmodes[unsel_index + 1]; - unsel_index++; - } else { - defmodes[unsel_index] = defmodes[unsel_index - 1]; - unsel_index--; - } - defmodes[unsel_index] = tmp; - - XawListUnhighlight(listR); - XawListHighlight(listR, unsel_index); -} - -/*ARGSUSED*/ -void -RotateCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - if (call_data != NULL) - rotate = (long)user_data; - else - rotate = 0; -} - -void -ScreenDialog(XF86SetupInfo *info) -{ - static Widget dialog, d1, d4, d8, d16, d24, labelRotate, cw, ccw; - Arg args[2]; - XF86ConfMonitorPtr mon = screen->scrn_monitor; - XF86ConfModeLinePtr mline = mon != NULL ? mon->mon_modeline_lst : NULL; - int i; -#ifdef USE_MODULES - xf86cfgModuleOptions *drv_opts = module_options; - Bool foundRotate = False; -#endif - - while (nmodes > 0) - XtFree(modes[--nmodes]); - XtFree((XtPointer)modes); - modes = NULL; - while (mline) { - if (nmodes % 16 == 0) - modes = (char**)XtRealloc((XtPointer)modes, - sizeof(char*) * (nmodes + 16)); - modes[nmodes++] = XtNewString(mline->ml_identifier); - mline = (XF86ConfModeLinePtr)(mline->list.next); - } - for (i = 0; i < sizeof(standard_modes) / sizeof(standard_modes[0]); i++) { - if (nmodes % 16 == 0) - modes = (char**)XtRealloc((XtPointer)modes, - sizeof(char*) * (nmodes + 16)); - modes[nmodes++] = XtNewString(standard_modes[i]); - } - - if (dialog == NULL) { - Widget command, viewport; - - dialog = XtCreateWidget("screenD", formWidgetClass, - configp, NULL, 0); - XtCreateManagedWidget("depthL", labelWidgetClass, - dialog, NULL, 0); - d1 = XtCreateManagedWidget("1", toggleWidgetClass, dialog, NULL, 0); - XtAddCallback(d1, XtNcallback, DepthCallback, (XtPointer)1); - d4 = XtVaCreateManagedWidget("4", toggleWidgetClass, dialog, - XtNradioGroup, d1, NULL); - XtAddCallback(d4, XtNcallback, DepthCallback, (XtPointer)4); - d8 = XtVaCreateManagedWidget("8", toggleWidgetClass, dialog, - XtNradioGroup, d4, NULL); - XtAddCallback(d8, XtNcallback, DepthCallback, (XtPointer)8); - d16 = XtVaCreateManagedWidget("16", toggleWidgetClass, dialog, - XtNradioGroup, d8, NULL); - XtAddCallback(d16, XtNcallback, DepthCallback, (XtPointer)16); - d24 = XtVaCreateManagedWidget("24", toggleWidgetClass, dialog, - XtNradioGroup, d16, NULL); - XtAddCallback(d24, XtNcallback, DepthCallback, (XtPointer)24); - - XtCreateManagedWidget("modeL", labelWidgetClass, dialog, NULL, 0); - viewport = XtCreateManagedWidget("viewL", viewportWidgetClass, dialog, - NULL, 0); - listL = XtCreateManagedWidget("listLeft", listWidgetClass, viewport, - NULL, 0); - XtAddCallback(listL, XtNcallback, SelectIndexCallback, NULL); - command = XtCreateManagedWidget("select", commandWidgetClass, - dialog, NULL, 0); - XtAddCallback(command, XtNcallback, SelectCallback, NULL); - command = XtCreateManagedWidget("unselect", commandWidgetClass, - dialog, NULL, 0); - XtAddCallback(command, XtNcallback, UnselectCallback, NULL); - command = XtCreateManagedWidget("up", commandWidgetClass, - dialog, NULL, 0); - XtAddCallback(command, XtNcallback, MoveCallback, (XtPointer)False); - command = XtCreateManagedWidget("down", commandWidgetClass, - dialog, NULL, 0); - XtAddCallback(command, XtNcallback, MoveCallback, (XtPointer)True); - viewport = XtCreateManagedWidget("viewR", viewportWidgetClass, dialog, - NULL, 0); - listR = XtCreateManagedWidget("listRight", listWidgetClass, viewport, - NULL, 0); - XtAddCallback(listR, XtNcallback, UnselectIndexCallback, NULL); - - labelRotate = XtCreateManagedWidget("rotate", labelWidgetClass, - dialog, NULL, 0); - cw = XtCreateManagedWidget("CW", toggleWidgetClass, dialog, NULL, 0); - XtAddCallback(cw, XtNcallback, RotateCallback, (XtPointer)CW); - ccw = XtVaCreateManagedWidget("CCW", toggleWidgetClass, dialog, - XtNradioGroup, cw, NULL); - XtAddCallback(ccw, XtNcallback, RotateCallback, (XtPointer)CCW); - - XtRealizeWidget(dialog); - } - -#ifdef USE_MODULES - if (!nomodules) { - while (drv_opts) { - if (drv_opts->type == VideoModule && - strcmp(drv_opts->name, screen->scrn_device->dev_driver) == 0) { - OptionInfoPtr opts = drv_opts->option; - - while (opts->name) { - if (xf86nameCompare(opts->name, "Rotate") == 0) { - foundRotate = True; - break; - } - opts++; - } - break; - } - drv_opts = drv_opts->next; - } - - if (!foundRotate) { - XtUnmapWidget(labelRotate); - XtUnmapWidget(cw); - XtUnmapWidget(ccw); - } - else { - XtMapWidget(labelRotate); - XtMapWidget(cw); - XtMapWidget(ccw); - } - } -#else - (void)labelRotate; -#endif - if (rotate == CW) { - XtVaSetValues(cw, XtNstate, True, NULL); - XtVaSetValues(ccw, XtNstate, False, NULL); - } - else if (rotate == CCW) { - XtVaSetValues(cw, XtNstate, False, NULL); - XtVaSetValues(ccw, XtNstate, True, NULL); - } - else { - XtVaSetValues(cw, XtNstate, False, NULL); - XtVaSetValues(ccw, XtNstate, False, NULL); - } - - XtSetArg(args[0], XtNlist, modes); - XtSetArg(args[1], XtNnumberStrings, nmodes); - XtSetValues(listL, args, 2); - - XtSetArg(args[0], XtNlist, defmodes); - XtSetArg(args[1], XtNnumberStrings, ndefmodes); - XtSetValues(listR, args, 2); - - XtSetArg(args[0], XtNstate, True); - XtSetValues(default_depth == 1 ? d1 : - default_depth == 4 ? d4 : - default_depth == 16 ? d16 : - default_depth == 24 ? d24 : d8, args, 1); - - XtChangeManagedSet(¤t, 1, NULL, NULL, &dialog, 1); - current = dialog; -} diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/screen-cfg.h b/xorg-server/hw/xfree86/utils/xorgcfg/screen-cfg.h deleted file mode 100644 index 07e9bc3ee..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/screen-cfg.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) - * - * 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 - * CONECTIVA LINUX 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 Conectiva Linux shall - * not be used in advertising or otherwise to promote the sale, use or other - * dealings in this Software without prior written authorization from - * Conectiva Linux. - * - * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> - * - */ - -#include "config.h" -#include "screen.h" - -#ifndef _xf86cfg_screencfg_h -#define _xf86cfg_screencfg_h - -/* - * Prototypes - */ -XtPointer ScreenConfig(XtPointer); -void ScreenDialog(XF86SetupInfo*); - -#endif /* _xf86cfg_screencfg_h */ diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/screen.c b/xorg-server/hw/xfree86/utils/xorgcfg/screen.c deleted file mode 100644 index 6b411de15..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/screen.c +++ /dev/null @@ -1,983 +0,0 @@ -/* - * Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) - * - * 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 - * CONECTIVA LINUX 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 Conectiva Linux shall - * not be used in advertising or otherwise to promote the sale, use or other - * dealings in this Software without prior written authorization from - * Conectiva Linux. - * - * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> - * - */ - -#include <X11/IntrinsicP.h> -#include <X11/extensions/shape.h> -#include <X11/Xaw/Simple.h> -#include "screen.h" - -#define CW 1 -#define CCW -1 - -/* - * Prototypes - */ -void ReshapeScreenWidget(xf86cfgScreen*); -static int qcmp_screen(_Xconst void*, _Xconst void*); - -/* - * Initialization - */ -extern Widget work; - -static int rows, columns; /* number of rows/columns of monitors */ - -static int mon_width, mon_height; -static int *mon_widths, *mon_heights; - -/* - * Implementation - */ -void -SetScreenRotate(xf86cfgScreen *screen) -{ - static char *Rotate = "Rotate", *_CW = "CW", *_CCW = "CCW"; - int rotate = 0; - XF86OptionPtr option, options; - - /* This is the only place where xf86cfg is intrusive, and deletes options - * added by the user directly in the config file. The "Rotate" option - * will be kept in the screen section. - */ - if (screen->monitor != NULL) { - options = ((XF86ConfMonitorPtr)(screen->monitor->config))->mon_option_lst; - if ((option = xf86findOption(options, Rotate)) != NULL) { - if (option->opt_val != NULL) - rotate = strcasecmp(option->opt_val, _CW) == 0 ? CW : - strcasecmp(option->opt_val, _CCW) == 0 ? CCW : 0; - xf86removeOption(&((XF86ConfMonitorPtr)(screen->monitor->config)) - ->mon_option_lst, Rotate); - } - } - if (screen->card != NULL) { - options = ((XF86ConfDevicePtr)(screen->card->config))->dev_option_lst; - if ((option = xf86findOption(options, Rotate)) != NULL) { - if (option->opt_val != NULL) - rotate += strcasecmp(option->opt_val, _CW) == 0 ? CW : - strcasecmp(option->opt_val, _CCW) == 0 ? CCW : 0; - xf86removeOption(&((XF86ConfDevicePtr)(screen->card->config)) - ->dev_option_lst, Rotate); - } - } - - options = screen->screen->scrn_option_lst; - if ((option = xf86findOption(options, Rotate)) != NULL) { - if (option->opt_val != NULL) - rotate += strcasecmp(option->opt_val, _CW) == 0 ? CW : - strcasecmp(option->opt_val, _CCW) == 0 ? CCW : 0; - xf86removeOption(&screen->screen->scrn_option_lst, Rotate); - } - - rotate = rotate > 0 ? CW : rotate < 0 ? CCW : 0; - if (rotate) - screen->screen->scrn_option_lst = - xf86addNewOption(screen->screen->scrn_option_lst, - XtNewString(Rotate), - XtNewString(rotate > 0 ? _CW : _CCW)); - screen->rotate = rotate; -} - -void -CreateScreenWidget(xf86cfgScreen *screen) -{ - Widget w = XtCreateWidget("screen", simpleWidgetClass, - XtParent(computer.cpu), NULL, 0); - - SetScreenRotate(screen); - XtRealizeWidget(w); - screen->widget = w; - screen->column = screen->row = -1; - - ReshapeScreenWidget(screen); -} - -void -ReshapeScreenWidget(xf86cfgScreen *screen) -{ - Pixmap pixmap; - XGCValues values; - GC gc; - int x = 0, y = 0, width = screen->rect.width, height = screen->rect.height; - Widget w = screen->widget; - - if (screen->state == USED && screen->row >= 0) { - if (screen->column == 0) - x = w->core.width - width; - else if (screen->column == columns - 1) - x = w->core.width - mon_widths[screen->column]; - else - x = (w->core.width - mon_widths[screen->column]) + - ((mon_widths[screen->column] - width) >> 1); - - if (screen->row == 0) - y = w->core.height - height; - else if (screen->row == rows - 1) - y = w->core.height - mon_heights[screen->row]; - else - y = (w->core.height - mon_heights[screen->row]) + - ((mon_heights[screen->row] - height) >> 1); - } - else if (screen->rect.width == 0) { - width = w->core.width; - height = w->core.height; - } - - screen->rect.x = x; - screen->rect.y = y; - screen->rect.width = width; - screen->rect.height = height; - pixmap = XCreatePixmap(XtDisplay(w), XtWindow(w), - w->core.width, w->core.height, 1); - values.foreground = 0; - values.background = 1; - gc = XCreateGC(XtDisplay(w), pixmap, GCForeground | GCBackground, &values); - XFillRectangle(XtDisplay(w), pixmap, gc, 0, 0, w->core.width, w->core.height); - XSetForeground(XtDisplay(w), gc, 1); - - DrawScreenMask(XtDisplay(w), pixmap, gc, x, y, x + width, y + height, - screen->rotate); - XShapeCombineMask(XtDisplay(w), XtWindow(w), ShapeBounding, - 0, 0, pixmap, ShapeSet); - - /* Do not call XtSetValues, to avoid all extra code for caching pixmaps */ - XFreePixmap(XtDisplay(w), pixmap); - if (XtIsRealized(w)) { - pixmap = XCreatePixmap(XtDisplay(w), XtWindow(w), - w->core.width, w->core.height, - DefaultDepthOfScreen(XtScreen(w))); - DrawScreen(XtDisplay(w), pixmap, x, y, x + width, y + height, - screen->state == USED ? True : False, screen->rotate); - XSetWindowBackgroundPixmap(XtDisplay(w), XtWindow(w), pixmap); - XClearWindow(XtDisplay(w), XtWindow(w)); - XFreePixmap(XtDisplay(w), pixmap); - } - XFreeGC(XtDisplay(w), gc); -} - -void -AddScreen(xf86cfgDevice *mon, xf86cfgDevice *dev) -{ - int nscreens = 0; - char screen_name[48]; - XF86ConfScreenPtr screen = XF86Config->conf_screen_lst; - XF86ConfAdjacencyPtr adj; - - while (screen != NULL) { - ++nscreens; - screen = (XF86ConfScreenPtr)(screen->list.next); - } - do { - XmuSnprintf(screen_name, sizeof(screen_name), "Screen%d", - nscreens); - ++nscreens; - } while (xf86findScreen(screen_name, - XF86Config->conf_screen_lst) != NULL); - - screen = (XF86ConfScreenPtr)XtCalloc(1, sizeof(XF86ConfScreenRec)); - screen->scrn_identifier = XtNewString(screen_name); - screen->scrn_device_str = XtNewString(((XF86ConfDevicePtr)(dev->config))->dev_identifier); - screen->scrn_device = (XF86ConfDevicePtr)(dev->config); - screen->scrn_monitor_str = XtNewString(((XF86ConfMonitorPtr)(mon->config))->mon_identifier); - screen->scrn_monitor = (XF86ConfMonitorPtr)(mon->config); - XF86Config->conf_screen_lst = - xf86addScreen(XF86Config->conf_screen_lst, screen); - - adj = (XF86ConfAdjacencyPtr)XtCalloc(1, sizeof(XF86ConfAdjacencyRec)); - adj->adj_screen = screen; - adj->adj_screen_str = XtNewString(screen_name); - if (computer.layout == NULL) - computer.layout = XF86Config->conf_layout_lst = (XF86ConfLayoutPtr) - XtCalloc(1, sizeof(XF86ConfLayoutRec)); - computer.layout->lay_adjacency_lst = (XF86ConfAdjacencyPtr) - xf86addListItem((GenericListPtr)computer.layout->lay_adjacency_lst, - (GenericListPtr)adj); - - computer.screens = (xf86cfgScreen**) - XtRealloc((XtPointer)computer.screens, sizeof(xf86cfgScreen*) * - (computer.num_screens + 1)); - computer.screens[computer.num_screens] = - (xf86cfgScreen*)XtCalloc(1, sizeof(xf86cfgScreen)); - computer.screens[computer.num_screens]->screen = screen; - computer.screens[computer.num_screens]->card = dev; - computer.screens[computer.num_screens]->monitor = mon; - - ++dev->refcount; - ++mon->refcount; - - CreateScreenWidget(computer.screens[computer.num_screens]); - computer.screens[computer.num_screens]->type = SCREEN; - SetTip((xf86cfgDevice*)computer.screens[computer.num_screens]); - - ++computer.num_screens; -} - -void -RemoveScreen(xf86cfgDevice *mon, xf86cfgDevice *dev) -{ - XF86ConfScreenPtr screen = XF86Config->conf_screen_lst; - int i; - - mon->state = dev->state = UNUSED; - while (screen != NULL) { - if ((XtPointer)screen->scrn_monitor == mon->config && - (XtPointer)screen->scrn_device == dev->config) - break; - - screen = (XF86ConfScreenPtr)(screen->list.next); - } - --mon->refcount; - --dev->refcount; - - for (i = 0; i < computer.num_screens; i++) { - if (computer.screens[i]->screen == screen) { - XtDestroyWidget(computer.screens[i]->widget); - if (i < --computer.num_screens) - memmove(&computer.screens[i], &computer.screens[i + 1], - (computer.num_screens - i) * sizeof(xf86cfgScreen*)); - break; - } - } - - xf86removeScreen(XF86Config, screen); -} - -void -ChangeScreen(XF86ConfMonitorPtr mon, XF86ConfMonitorPtr oldmon, - XF86ConfDevicePtr dev, XF86ConfDevicePtr olddev) -{ - int ioldm, im, ioldc, ic; - - if (mon == oldmon && dev == olddev) - return; - - if (mon != NULL) { - for (im = 0; im < computer.num_devices; im++) - if (computer.devices[im]->config == (XtPointer)mon) - break; - } - else - im = -1; - if (oldmon != NULL) { - for (ioldm = 0; ioldm < computer.num_devices; ioldm++) - if (computer.devices[ioldm]->config == (XtPointer)oldmon) - break; - } - else - ioldm = -1; - - if (dev != NULL) { - for (ic = 0; ic < computer.num_devices; ic++) - if (computer.devices[ic]->config == (XtPointer)dev) - break; - } - else - ic = -1; - if (olddev != NULL) { - for (ioldc = 0; ioldc < computer.num_devices; ioldc++) - if (computer.devices[ioldc]->config == (XtPointer)olddev) - break; - } - else - ioldc = -1; - - if (ioldm >= 0 && ioldc >= 0) { - RemoveScreen(computer.devices[ioldm], computer.devices[ioldc]); - computer.devices[ioldm]->state = UNUSED; -/* computer.devices[ioldc]->state = UNUSED;*/ - } - - if (im >= 0 && ic >= 0) { - AddScreen(computer.devices[im], computer.devices[ic]); - computer.devices[im]->state = USED; -/* computer.devices[ic]->state = USED;*/ - } -} - -/* - -+------------------------------------------------+ -| | -| +------------------------------------------+ | -| | | | -| | | | -| | | | -| | | | -| | | | -| | | | -| | | | -| | | | -| | | | -| | | | -| | | | -| | | | -| | | | -| | | | -| +------------------------------------------+ | -| | -+------------------------------------------------+ - | | - +-------+ +-------+ - | | - +----------------------------------------+ - - */ -static double oxs = 0.0, oys = 0.0, oxe = 100.0, oye = 70.0; -static double ixs = 7.0, iys = 7.0, ixe = 93.0, iye = 63.0; -static double lin[] = { 25.0, 70.0, 25.0, 75.0, 5.0, 75.0, 5.0, 80.0, - 95.0, 80.0, 95.0, 75.0, 75.0, 75.0, 75.0, 70.0 }; - -void -DrawScreen(Display *dpy, Drawable win, int xs, int ys, int xe, int ye, - Bool active, int rotate) -{ - double xfact, yfact; - XPoint points[(sizeof(lin) / sizeof(lin[0])) >> 1]; - int i; - static GC gray0, gray1, gray2, black, red; - - if (black == NULL) { - XColor color, exact; - XGCValues values; - - XAllocNamedColor(XtDisplay(toplevel), toplevel->core.colormap, "gray95", - &color, &exact); - values.foreground = color.pixel; - gray0 = XCreateGC(XtDisplay(toplevel), win, GCForeground, &values); - XAllocNamedColor(XtDisplay(toplevel), toplevel->core.colormap, "gray75", - &color, &exact); - values.foreground = color.pixel; - gray1 = XCreateGC(XtDisplay(toplevel), win, GCForeground, &values); - - XAllocNamedColor(XtDisplay(toplevel), toplevel->core.colormap, "gray60", - &color, &exact); - values.foreground = color.pixel; - gray2 = XCreateGC(XtDisplay(toplevel), win, GCForeground, &values); - - XAllocNamedColor(XtDisplay(toplevel), toplevel->core.colormap, "gray20", - &color, &exact); - values.foreground = color.pixel; - black = XCreateGC(XtDisplay(toplevel), win, GCForeground, &values); - - XAllocNamedColor(XtDisplay(toplevel), toplevel->core.colormap, "red", - &color, &exact); - values.foreground = color.pixel; - values.line_width = 4; - values.cap_style = CapButt; - red = XCreateGC(XtDisplay(toplevel), win, - GCForeground | GCLineWidth | GCCapStyle, &values); - } - - if (rotate) { - xfact = (xe - xs) / 80.0; - yfact = (ye - ys) / 100.0; - if (rotate == CW) { - /* outer rectangle */ - XFillRectangle(dpy, win, gray1, - oxs * xfact + xs + .5, - oys * yfact + ys + .5, - (oye - oys) * xfact + .5, - (oxe - oxs) * yfact + .5); - XDrawLine(dpy, win, gray2, - xs, ye - 1, - 70 * xfact + xs - 1 + .5, ye - 1); - XDrawLine(dpy, win, gray2, - 70 * xfact + xs - 1 + .5, ye - 1, - 70 * xfact + xs - 1 + .5, ys); - /* inner rectangle */ - XFillRectangle(dpy, win, black, - ixs * xfact + xs + .5, - iys * yfact + ys + .5, - (iye - iys) * xfact + .5, - (ixe - ixs) * yfact + .5); - for (i = 0; i < sizeof(points) / sizeof(points[0]); i++) { - points[i].x = lin[(i<<1) + 1] * xfact + xs + .5; - points[i].y = lin[(i<<1)] * yfact + ys + .5; - } - XFillPolygon(dpy, win, gray2, points, i, Convex, CoordModeOrigin); - XDrawLine(dpy, win, gray0, - (oxe - 10) * xfact + xs + .5, oys * yfact + ys + .5, - xs, oys * yfact + ys + .5); - XDrawLine(dpy, win, gray0, - xs, ys, - xs, xe); - XDrawLine(dpy, win, black, - lin[7] * xfact + xs - 1 + .5, lin[6] * yfact + ys + .5, - lin[9] * xfact + xs - 1 + .5, lin[8] * yfact + ys - 1 + .5); - XDrawLine(dpy, win, black, - lin[9] * xfact + xs - 1 + .5, lin[8] * yfact + ys - 1 + .5, - lin[11] * xfact + xs + .5, lin[10] * yfact + ys - 1 + .5); - XDrawLine(dpy, win, black, - lin[13] * xfact + xs + .5, lin[12] * yfact + ys - 1 + .5, - lin[15] * xfact + xs + .5, lin[14] * yfact + ys - 1 + .5); - - if (!active) { - XDrawLine(dpy, win, red, - iys * xfact, ixs * yfact, iye * xfact, ixe * yfact); - XDrawLine(dpy, win, red, - iye * xfact, ixs * yfact, iys * xfact, ixe * yfact); - } - } - else if (rotate == CCW) { - /* outer rectangle */ - XFillRectangle(dpy, win, gray1, - 10 * xfact + xs + .5, - oys * yfact + ys + .5, - (oye - oys) * xfact + .5, - (oxe - oxs) * yfact + .5); - - XDrawLine(dpy, win, gray2, - 10 * xfact + xs + .5, ye - 1, - oxe * xfact + xs - 1 + .5, ye - 1); - XDrawLine(dpy, win, gray2, - xe - 1, ye - 1, - xe - 1, ys); - /* inner rectangle */ - XFillRectangle(dpy, win, black, - (ixs + 10) * xfact + xs + .5, - iys * yfact + ys + .5, - (iye - iys) * xfact + .5, - (ixe - ixs) * yfact + .5); - for (i = 0; i < sizeof(points) / sizeof(points[0]); i++) { - points[i].x = (-lin[(i<<1) + 1] + 80.0) * xfact + xs + .5; - points[i].y = lin[(i<<1)] * yfact + ys + .5; - } - XFillPolygon(dpy, win, gray2, points, i, Convex, CoordModeOrigin); - XDrawLine(dpy, win, gray0, - oxe * xfact + xs + .5, oys * yfact + ys + .5, - (oxs - 10) * xfact + xs + .5, oys * yfact + ys + .5); - XDrawLine(dpy, win, gray0, - (oxs + 10) * xfact + xs + .5, ys, - (oxs + 10) * xfact + xs + .5, xe); - - XDrawLine(dpy, win, black, - xs, lin[8] * yfact - 1 + ys + .5, - 4 * xfact + xs + .5, lin[8] * yfact - 1 + ys + .5); - XDrawLine(dpy, win, black, - 4 * xfact + xs, lin[8] * yfact - 1 + ys + .5, - 4 * xfact + xs, lin[3] * yfact - 1 + ys + .5); - XDrawLine(dpy, win, black, - 4 * xfact + xs + .5, lin[3] * yfact - 1 + ys + .5, - 10 * xfact + xs + .5 - 1, lin[3] * yfact - 1 + ys + .5); - XDrawLine(dpy, win, black, - 4 * xfact + xs, lin[0] * yfact - 1 + ys + .5, - 4 * xfact + xs, lin[4] * yfact - 1 + ys + .5); - - if (!active) { - XDrawLine(dpy, win, red, - (iys + 10) * xfact, ixs * yfact, - (iye + 10) * xfact, ixe * yfact); - XDrawLine(dpy, win, red, - (iye + 10) * xfact, ixs * yfact, - (iys + 10) * xfact, ixe * yfact); - } - } - } - else { - xfact = (xe - xs) / 100.0; - yfact = (ye - ys) / 80.0; - - /* outer rectangle */ - XFillRectangle(dpy, win, gray1, - oxs * xfact + xs + .5, - oys * yfact + ys + .5, - (oxe - oxs) * xfact + .5, - (oye - oys) * yfact + .5); - - XDrawLine(dpy, win, gray2, - oxs * xfact + xs + .5, oye * yfact + ys - 1 + .5, - oxe * xfact + xs - 1 + .5, oye * yfact + ys - 1 + .5); - XDrawLine(dpy, win, gray2, - oxe * xfact + xs - 1 + .5, oys * yfact + ys + .5, - oxe * xfact + xs - 1 + .5, oye * yfact + ys - 1 + .5); - - /* inner rectangle */ - XFillRectangle(dpy, win, black, - ixs * xfact + xs + .5, - iys * yfact + ys + .5, - (ixe - ixs) * xfact + .5, - (iye - iys) * yfact + .5); - - for (i = 0; i < sizeof(points) / sizeof(points[0]); i++) { - points[i].x = lin[i<<1] * xfact + xs + .5; - points[i].y = lin[(i<<1) + 1] * yfact + ys + .5; - } - - XFillPolygon(dpy, win, gray2, points, i, Convex, CoordModeOrigin); - - XDrawLine(dpy, win, black, - lin[6] * xfact + xs + .5, lin[7] * yfact + ys - 1 + .5, - lin[8] * xfact + xs - 1 + .5, lin[9] * yfact + ys - 1 + .5); - XDrawLine(dpy, win, black, - lin[8] * xfact + xs - 1 + .5, lin[9] * yfact + ys - 1 + .5, - lin[10] * xfact + xs - 1 + .5, lin[11] * yfact + ys + .5); - XDrawLine(dpy, win, black, - lin[12] * xfact + xs - 1 + .5, lin[13] * yfact + ys + .5, - lin[14] * xfact + xs - 1 + .5, lin[15] * yfact + ys + .5); - - XDrawLine(dpy, win, gray0, - oxe * xfact + xs + .5, oys * yfact + ys + .5, - oxs * xfact + xs + .5, oys * yfact + ys + .5); - XDrawLine(dpy, win, gray0, - oxs * xfact + xs + .5, oys * yfact + ys + .5, - oxs * xfact + xs + .5, lin[1] * yfact + ys + .5); - - if (!active) { - XDrawLine(dpy, win, red, - ixs * xfact, iys * yfact, ixe * xfact, iye * yfact); - XDrawLine(dpy, win, red, - ixe * xfact, iys * yfact, ixs * xfact, iye * yfact); - } - } -} - -void -DrawScreenMask(Display *dpy, Drawable win, GC gc, int xs, int ys, int xe, int ye, - int rotate) -{ - double xfact, yfact; - XPoint points[(sizeof(lin) / sizeof(lin[0])) >> 1]; - int i = 0, x = 0, y = 0, width, height; - - if (rotate) { - xfact = (xe - xs) / 80.0; - yfact = (ye - ys) / 100.0; - width = (oye - oys) * xfact + .5; - height = (oxe - oxs) * yfact + .5; - if (rotate == CW) { - x = oxs * xfact + xs + .5; - y = oys * yfact + ys + .5; - for (i = 0; i < sizeof(points) / sizeof(points[0]); i++) { - points[i].x = lin[(i<<1) + 1] * xfact + xs + .5; - points[i].y = lin[(i<<1)] * yfact + ys + .5; - } - } - else if (rotate == CCW) { - x = 10 * xfact + xs + .5; - y = oys * yfact + ys + .5; - for (i = 0; i < sizeof(points) / sizeof(points[0]); i++) { - points[i].x = (-lin[(i<<1) + 1] + 80.0) * xfact + xs + .5; - points[i].y = lin[(i<<1)] * yfact + ys + .5; - } - } - } - else { - xfact = (xe - xs) / 100.0; - yfact = (ye - ys) / 80.0; - x = oxs * xfact + xs + .5; - y = oys * yfact + ys + .5; - width = (oxe - oxs) * xfact + .5; - height = (oye - oys) * yfact + .5; - for (i = 0; i < sizeof(points) / sizeof(points[0]); i++) { - points[i].x = lin[(i<<1)] * xfact + xs + .5; - points[i].y = lin[(i<<1) + 1] * yfact + ys + .5; - } - } - - /* rectangle */ - XFillRectangle(dpy, win, gc, x, y, width, height); - - - XFillPolygon(dpy, win, gc, points, i, Convex, CoordModeOrigin); -} - -void -AdjustScreenUI(void) -{ - XF86ConfLayoutPtr lay = computer.layout; - XF86ConfAdjacencyPtr adj; - int i, dx, dy, x, y, w, h, base = -1; - double xf, yf; - - if (lay == NULL) - return; - - adj = lay->lay_adjacency_lst; - -#define USED1 -USED - - XtFree((XtPointer)mon_widths); - XtFree((XtPointer)mon_heights); - mon_widths = (int*)XtCalloc(1, sizeof(int) * columns); - mon_heights = (int*)XtCalloc(1, sizeof(int) * rows); - - mon_width = mon_height = 0; - for (i = 0; i < computer.num_screens; i++) { - if (base == -1 && computer.screens[i]->state == USED) - base = i; - if (computer.screens[i]->screen->scrn_monitor->mon_width > mon_width) - mon_width = computer.screens[i]->screen->scrn_monitor->mon_width; - if (computer.screens[i]->screen->scrn_monitor->mon_height > mon_height) - mon_height = computer.screens[i]->screen->scrn_monitor->mon_height; - } - if (base < 0) { - for (i = 0; i < computer.num_screens; i++) - ReshapeScreenWidget(computer.screens[i]); - return; - } - - if (mon_width == 0) { - mon_width = 10; - mon_height = 8; - } - - XtUnmapWidget(work); - - while (adj) { - xf86cfgScreen *scr = NULL, - *topscr = NULL, *botscr = NULL, *lefscr = NULL, *rigscr = NULL; - - for (i = 0; i < computer.num_screens; i++) - if (computer.screens[i]->screen == adj->adj_screen) - break; - if (i < computer.num_screens) - scr = computer.screens[i]; - - if (adj->adj_top != NULL) { - for (i = 0; i < computer.num_screens; i++) - if (computer.screens[i]->screen == adj->adj_top) - break; - if (i < computer.num_screens) - topscr = computer.screens[i]; - } - - if (adj->adj_bottom != NULL) { - for (i = 0; i < computer.num_screens; i++) - if (computer.screens[i]->screen == adj->adj_bottom) - break; - if (i < computer.num_screens) - botscr = computer.screens[i]; - } - - if (adj->adj_left != NULL) { - for (i = 0; i < computer.num_screens; i++) - if (computer.screens[i]->screen == adj->adj_left) - break; - if (i < computer.num_screens) - lefscr = computer.screens[i]; - } - - if (adj->adj_right != NULL) { - for (i = 0; i < computer.num_screens; i++) - if (computer.screens[i]->screen == adj->adj_right) - break; - if (i < computer.num_screens) - rigscr = computer.screens[i]; - } - - if (lefscr == NULL && rigscr == NULL && topscr == NULL && lefscr == NULL) { - XF86ConfScreenPtr s; - - if (adj->adj_where >= CONF_ADJ_RIGHTOF && adj->adj_where <= CONF_ADJ_BELOW) { - s = xf86findScreen(adj->adj_refscreen, XF86Config->conf_screen_lst); - for (i = 0; i < computer.num_screens; i++) - if (computer.screens[i]->screen == s) - break; - if (i < computer.num_screens) { - switch (adj->adj_where) { - case CONF_ADJ_RIGHTOF: - lefscr = computer.screens[i]; - break; - case CONF_ADJ_LEFTOF: - rigscr = computer.screens[i]; - break; - case CONF_ADJ_ABOVE: - botscr = computer.screens[i]; - break; - case CONF_ADJ_BELOW: - topscr = computer.screens[i]; - break; - } - } - } - } - - XtMoveWidget(scr->widget, 0, 0); - scr->state = USED1; - if (lefscr != NULL) { - if (lefscr->state == USED1) - XtMoveWidget(scr->widget, - lefscr->widget->core.x + lefscr->widget->core.width, - lefscr->widget->core.y); - else - XtMoveWidget(lefscr->widget, - -(int)(lefscr->widget->core.width), - scr->widget->core.y); - } - - if (rigscr != NULL) { - if (rigscr->state == USED1) { - dx = rigscr->widget->core.x - scr->widget->core.width - scr->widget->core.x; - dy = rigscr->widget->core.y - scr->widget->core.y; - - XtMoveWidget(scr->widget, scr->widget->core.x + dx, - scr->widget->core.y + dy); - if (lefscr != NULL && lefscr->state != USED1) - XtMoveWidget(lefscr->widget, lefscr->widget->core.x + dx, - lefscr->widget->core.y + dy); - } - else - XtMoveWidget(rigscr->widget, scr->widget->core.width, - scr->widget->core.y); - } - - if (topscr != NULL) { - if (topscr->state == USED1) { - dx = topscr->widget->core.x - scr->widget->core.x; - dy = topscr->widget->core.y + topscr->widget->core.height - - scr->widget->core.y; - - XtMoveWidget(scr->widget, scr->widget->core.x + dx, - scr->widget->core.y + dy); - if (lefscr != NULL && lefscr->state != USED1) - XtMoveWidget(lefscr->widget, lefscr->widget->core.x + dx, - lefscr->widget->core.y + dy); - if (rigscr != NULL && rigscr->state != USED1) - XtMoveWidget(rigscr->widget, rigscr->widget->core.x + dx, - rigscr->widget->core.y + dy); - } - else - XtMoveWidget(topscr->widget, scr->widget->core.x, - scr->widget->core.y - topscr->widget->core.height); - } - - if (botscr != NULL) { - if (botscr->state == USED1) { - dx = botscr->widget->core.x - scr->widget->core.x; - dy = botscr->widget->core.y - scr->widget->core.height - scr->widget->core.y; - - XtMoveWidget(scr->widget, scr->widget->core.x + dx, - scr->widget->core.y + dy); - if (lefscr != NULL && lefscr->state != USED1) - XtMoveWidget(lefscr->widget, lefscr->widget->core.x + dx, - lefscr->widget->core.y + dy); - if (rigscr != NULL && rigscr->state != USED1) - XtMoveWidget(rigscr->widget, rigscr->widget->core.x + dx, - rigscr->widget->core.y + dy); - if (botscr != NULL && botscr->state != USED1) - XtMoveWidget(botscr->widget, botscr->widget->core.x + dx, - botscr->widget->core.y + dy); - } - else - XtMoveWidget(botscr->widget, scr->widget->core.x, - scr->widget->core.y + scr->widget->core.height); - } - - adj = (XF86ConfAdjacencyPtr)(adj->list.next); - } - - for (i = 0; i < computer.num_screens; i++) - if (computer.screens[i]->state == USED1) - computer.screens[i]->state = USED; - else - XLowerWindow(XtDisplay(computer.screens[i]->widget), - XtWindow(computer.screens[i]->widget)); - - w = work->core.width / (columns + 1) - 5; - h = work->core.height / (rows + 1) - 5; - - if (w > h) - w = h; - else - h = w; - - dx = (work->core.width - (columns * w)) >> 1; - dy = (work->core.height - (rows * h)) >> 1; - - xf = (double)w / (double)computer.screens[0]->widget->core.width; - yf = (double)h / (double)computer.screens[0]->widget->core.height; - - for (i = 0; i < computer.num_screens; i++) { - Widget z = computer.screens[i]->widget; - - if (computer.screens[i]->state == USED) - XtConfigureWidget(z, z->core.x * xf + dx, - z->core.y * yf + dy, w, h, 0); - else - XtConfigureWidget(z, z->core.x, z->core.y, w, h, 0); - } - - if (computer.screens[base]->row >= 0) { - double xf, yf; - int width, height; - - for (i = 0; i < computer.num_screens; i++) { - width = computer.screens[i]->screen->scrn_monitor->mon_width; - height = computer.screens[i]->screen->scrn_monitor->mon_height; - if (width <= 0) { - width = mon_width; - height = mon_height; - } - - if (computer.screens[i]->rotate) { - xf = (double)width / (double)mon_width * 8. / 10.; - yf = (double)height / (double)mon_height; - } - else { - xf = (double)width / (double)mon_width; - yf = (double)height / (double)mon_height * 8. / 10.; - } - width = computer.screens[i]->widget->core.width * xf; - height = computer.screens[i]->widget->core.height * yf; - if (computer.screens[i]->state == USED) { - if (mon_widths[computer.screens[i]->column] < width) - mon_widths[computer.screens[i]->column] = width; - if (mon_heights[computer.screens[i]->row] < height) - mon_heights[computer.screens[i]->row] = height; - } - - /* do it here to avoid recalculation */ - computer.screens[i]->rect.width = width; - computer.screens[i]->rect.height = height; - } - } - - for (i = 0; i < computer.num_screens; i++) - ReshapeScreenWidget(computer.screens[i]); - - /* do a new pass, to avoid gaps if the monitors have different - * sizes. - */ - if (computer.screens[base]->row >= 0) { - x = computer.screens[base]->widget->core.x; - y = computer.screens[base]->widget->core.y; - - /* screens representations are already ordered */ - for (i = base; i < computer.num_screens; i++) { - if (computer.screens[i]->state == UNUSED) - continue; - if (computer.screens[i]->column != 0) - x += mon_widths[computer.screens[i]->column]; - else { - x = computer.screens[base]->widget->core.x; - if (i != base) - y += mon_heights[computer.screens[i]->row]; - } - XtMoveWidget(computer.screens[i]->widget, x, y); - } - } - XtMapWidget(work); -} - -static int -qcmp_screen(_Xconst void *a, _Xconst void *b) -{ - xf86cfgScreen *s1, *s2; - - s1 = *(xf86cfgScreen**)a; - s2 = *(xf86cfgScreen**)b; - - if (s1->widget->core.x > s2->widget->core.x) { - if (s2->widget->core.y >= - s1->widget->core.y + (s1->widget->core.height >> 1)) - return (-1); - return (1); - } - else { - if (s1->widget->core.y >= - s2->widget->core.y + (s2->widget->core.height >> 1)) - return (1); - return (-1); - } - /*NOTREACHED*/ -} - -void -UpdateScreenUI(void) -{ - XF86ConfLayoutPtr lay = computer.layout; - XF86ConfAdjacencyPtr adj, prev, left, base; - int i, p, cols, scrno; - - if (lay == NULL) - return; - - rows = columns = cols = 1; - - qsort(computer.screens, computer.num_screens, sizeof(xf86cfgScreen*), - qcmp_screen); - - adj = prev = left = base = NULL; - for (i = p = scrno = 0; i < computer.num_screens; i++) { - XF86ConfScreenPtr scr = computer.screens[i]->screen; - - if (computer.screens[i]->state == UNUSED) - continue; - - adj = (XF86ConfAdjacencyPtr)XtCalloc(1, sizeof(XF86ConfAdjacencyRec)); - adj->adj_scrnum = scrno++; - adj->adj_screen = scr; - adj->adj_screen_str = XtNewString(scr->scrn_identifier); - if (base == NULL) { - base = left = adj; - computer.screens[i]->row = computer.screens[i]->column = 0; - } - else { - int dy = computer.screens[i]->widget->core.y - - computer.screens[p]->widget->core.y; - - prev->list.next = adj; - if (dy > (computer.screens[i]->widget->core.height >> 1)) { - adj->adj_where = CONF_ADJ_BELOW; - adj->adj_refscreen = XtNewString(left->adj_screen_str); - left = adj; - computer.screens[i]->row = rows; - computer.screens[i]->column = 0; - cols = 1; - ++rows; - } - else { - computer.screens[i]->row = rows - 1; - computer.screens[i]->column = cols; - adj->adj_where = CONF_ADJ_RIGHTOF; - if (++cols > columns) - columns = cols; - adj->adj_refscreen = XtNewString(prev->adj_screen_str); - } - } - prev = adj; - p = i; - } - - adj = lay->lay_adjacency_lst; - - while (adj != NULL) { - prev = adj; - adj = (XF86ConfAdjacencyPtr)(adj->list.next); - XtFree(prev->adj_screen_str); - XtFree(prev->adj_right_str); - XtFree(prev->adj_left_str); - XtFree(prev->adj_top_str); - XtFree(prev->adj_bottom_str); - XtFree(prev->adj_refscreen); - XtFree((char*)prev); - } - - lay->lay_adjacency_lst = base; -} diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/screen.h b/xorg-server/hw/xfree86/utils/xorgcfg/screen.h deleted file mode 100644 index 293820db4..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/screen.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) - * - * 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 - * CONECTIVA LINUX 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 Conectiva Linux shall - * not be used in advertising or otherwise to promote the sale, use or other - * dealings in this Software without prior written authorization from - * Conectiva Linux. - * - * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> - * - */ - -#include "xf86config.h" -#include "config.h" - -#ifndef _xf86cfg_screen_h -#define _xf86cfg_screen_h - -/* - * Prototypes - */ -void AddScreen(xf86cfgDevice*, xf86cfgDevice*); -void RemoveScreen(xf86cfgDevice*, xf86cfgDevice*); - -void DrawScreen(Display*, Drawable, int, int, int, int, Bool, int); -void DrawScreenMask(Display*, Drawable, GC, int, int, int, int, int); -void CreateScreenWidget(xf86cfgScreen*); -void SetScreenRotate(xf86cfgScreen*); - -void AdjustScreenUI(void); -void UpdateScreenUI(void); - -#endif /* _xf86cfg_screen_h */ diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/shorter.xbm b/xorg-server/hw/xfree86/utils/xorgcfg/shorter.xbm deleted file mode 100644 index 878f219d4..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/shorter.xbm +++ /dev/null @@ -1,8 +0,0 @@ -#define shorter_width 19 -#define shorter_height 19 -static unsigned char shorter_bits[] = { - 0x80, 0x0f, 0x00, 0x80, 0x0f, 0x00, 0x80, 0x0f, 0x00, 0xfc, 0xff, 0x01, - 0xf8, 0xff, 0x00, 0xf0, 0x7f, 0x00, 0xe0, 0x3f, 0x00, 0xc0, 0x1f, 0x00, - 0x80, 0x0f, 0x00, 0x00, 0x07, 0x00, 0x80, 0x0f, 0x00, 0xc0, 0x1f, 0x00, - 0xe0, 0x3f, 0x00, 0xf0, 0x7f, 0x00, 0xf8, 0xff, 0x00, 0xfc, 0xff, 0x01, - 0x80, 0x0f, 0x00, 0x80, 0x0f, 0x00, 0x80, 0x0f, 0x00}; diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/startx.c b/xorg-server/hw/xfree86/utils/xorgcfg/startx.c deleted file mode 100644 index 507afbf15..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/startx.c +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) - * - * 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 - * CONECTIVA LINUX 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 Conectiva Linux shall - * not be used in advertising or otherwise to promote the sale, use or other - * dealings in this Software without prior written authorization from - * Conectiva Linux. - * - * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> - * - */ - -#include "config.h" -#include <sys/types.h> -#include <sys/wait.h> -#include <signal.h> - -/* - * Initialization - */ -static int xpid; -Display *DPY; - -/* - * Implementation - */ -Bool -startx(void) -{ - int timeout = 8; - - if (getenv("DISPLAY") != NULL) - /* already running Xserver */ - return (False); - - if (XF86Config_path == NULL) { - char *home, filename[PATH_MAX]; - char commandline[PATH_MAX * 4]; - int c_pos; - int len; - /* - * The name of the 4.0 binary is XFree86. X might also - * be the name of the 3.3 binary. Therefore don't change - * name to 'X'. - */ - if (XFree86_path) - c_pos = XmuSnprintf(commandline, sizeof(commandline), - "%s/"__XSERVERNAME__" :8 -configure ",XFree86_path); - else - c_pos = XmuSnprintf(commandline, sizeof(commandline), - "%s/bin/"__XSERVERNAME__" :8 -configure ", XFree86Dir); - if (XF86Module_path && ((len = sizeof(commandline) - c_pos) > 0)) - c_pos += XmuSnprintf(commandline + c_pos,len, - " -modulepath %s",XF86Module_path); - if (XF86Font_path && ((len = sizeof(commandline) - c_pos) > 0)) - c_pos += XmuSnprintf(commandline + c_pos,len, - " -fontpath %s",XF86Font_path); - - if (system(commandline) != 0) { - fprintf(stderr, "Failed to run \"X -configure\".\n"); - exit(1); - } - - if ((home = getenv("HOME")) == NULL) - home = "/"; - -#ifndef QNX4 - XmuSnprintf(filename, sizeof(filename), "%s/"__XCONFIGFILE__".new", home); -#else - XmuSnprintf(filename, sizeof(filename), "//%d%s/"__XCONFIGFILE__".new", - getnid(), home); -#endif - - /* this memory is never released, even if the value of XF86Config_path is - * changed. - */ - XF86Config_path = XtNewString(filename); - } - - putenv("DISPLAY=:8"); - - switch (xpid = fork()) { - case 0: { - char path[PATH_MAX]; - /* Don't change to X! see above */ - if (XFree86_path) - XmuSnprintf(path, sizeof(path), "%s/"__XSERVERNAME__, XFree86_path); - else - XmuSnprintf(path, sizeof(path), "%s/bin/"__XSERVERNAME__, XFree86Dir); - execl(path, "X", ":8", /*"+xinerama",*/ "+accessx","-allowMouseOpenFail", - "-xf86config", XF86Config_path, (void *)NULL); - exit(-127); - } break; - case -1: - fprintf(stderr, "Cannot fork.\n"); - exit(1); - break; - default: - break; - } - - while (timeout > 0) { - int status; - - sleep(timeout -= 2); - if (waitpid(xpid, &status, WNOHANG | WUNTRACED) == xpid) - break; - else { - DPY = XOpenDisplay(NULL); - if (DPY != NULL) - break; - } - } - - if (DPY == NULL) { - fprintf(stderr, "Cannot connect to X server.\n"); - exit(1); - } - - return (True); -} - -void -endx(void) -{ - if (xpid != 0) - kill(xpid, SIGTERM); -} diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/stubs.c b/xorg-server/hw/xfree86/utils/xorgcfg/stubs.c deleted file mode 100644 index fdc840a7e..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/stubs.c +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) - * - * 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 - * CONECTIVA LINUX 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 Conectiva Linux shall - * not be used in advertising or otherwise to promote the sale, use or other - * dealings in this Software without prior written authorization from - * Conectiva Linux. - * - * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> - * - */ - -#include <stdio.h> -#include <string.h> -#include "stubs.h" - -/* - * Implementation - */ - -#if !defined(USE_MODULES) -/* these are defined in libdummy.a */ -int -ErrorF(const char *fmt, ...) -{ - int retval; - va_list ap; - - va_start(ap, fmt); - retval = vfprintf(stderr, fmt, ap); - - va_end(ap); - - return (retval); -} - -int -VErrorF(const char *fmt, va_list ap) -{ - int retval; - - retval = vfprintf(stderr, fmt, ap); - - return (retval); -} - -#endif /* !defined(USE_MODULES) */ diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/stubs.h b/xorg-server/hw/xfree86/utils/xorgcfg/stubs.h deleted file mode 100644 index c2f9f76b0..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/stubs.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) - * - * 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 - * CONECTIVA LINUX 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 Conectiva Linux shall - * not be used in advertising or otherwise to promote the sale, use or other - * dealings in this Software without prior written authorization from - * Conectiva Linux. - * - * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> - * - */ - -#ifndef _xf86cfg_stubs_h -#define _xf86cfg_stubs_h - -#include <stdarg.h> - -int ErrorF(const char*, ...); -int VErrorF(const char*, va_list); -#if defined(USE_MODULES) -extern int xf86Verbose; -#endif - -#endif /* _xf86cfg_stubs_h */ diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/taller.xbm b/xorg-server/hw/xfree86/utils/xorgcfg/taller.xbm deleted file mode 100644 index c779300ea..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/taller.xbm +++ /dev/null @@ -1,8 +0,0 @@ -#define taller_width 19 -#define taller_height 19 -static unsigned char taller_bits[] = { - 0x00, 0x02, 0x00, 0x00, 0x07, 0x00, 0x80, 0x0f, 0x00, 0xc0, 0x1f, 0x00, - 0xe0, 0x3f, 0x00, 0xf0, 0x7f, 0x00, 0xf8, 0xff, 0x00, 0xfc, 0xff, 0x01, - 0x80, 0x0f, 0x00, 0x80, 0x0f, 0x00, 0x80, 0x0f, 0x00, 0xfc, 0xff, 0x01, - 0xf8, 0xff, 0x00, 0xf0, 0x7f, 0x00, 0xe0, 0x3f, 0x00, 0xc0, 0x1f, 0x00, - 0x80, 0x0f, 0x00, 0x00, 0x07, 0x00, 0x00, 0x02, 0x00}; diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/text-mode.c b/xorg-server/hw/xfree86/utils/xorgcfg/text-mode.c deleted file mode 100644 index 0b6e65482..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/text-mode.c +++ /dev/null @@ -1,3379 +0,0 @@ -/* - * Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) - * - * 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 - * CONECTIVA LINUX 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 Conectiva Linux shall - * not be used in advertising or otherwise to promote the sale, use or other - * dealings in this Software without prior written authorization from - * Conectiva Linux. - * - * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> - * - */ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#if defined(__SCO__) || defined(__UNIXWARE__) || \ - (defined(sun) && defined(__SVR4)) || defined(__NetBSD__) -#include <curses.h> -#else -#include <ncurses.h> -#endif -#include <ctype.h> -#include <X11/Xlib.h> -#include <X11/extensions/XKBstr.h> -#include <X11/extensions/XKBrules.h> -#include "cards.h" -#include "config.h" -#include "xf86config.h" -#include "loader.h" - -#define IS_KBDDRIV(X) ((strcmp((X),"kbd") == 0)) - -#ifndef PROJECT_ROOT -#define PROJECT_ROOT "/usr" -#endif - -#ifndef XKB_RULES_DIR -#define XKB_RULES_DIR PROJECT_ROOT "/share/X11/xkb/rules" -#endif - -#define CONTROL_A 1 -#define CONTROL_D 4 -#define CONTROL_E 5 -#define CONTROL_K 11 -#define TAB 9 -#define MIN(a, b) ((a) < (b) ? (a) : (b)) -#define MAX(a, b) ((a) > (b) ? (a) : (b)) - -void TextMode(void); - -static void ClearScreen(void); -static void PaintWindow(WINDOW*, char*, int, int, int, int); -static void PaintBox(WINDOW*, int, int, int, int); -static void PaintButton(WINDOW*, char*, int, int, int); -static void PrintWrap(WINDOW*, char*, int, int, int); -static int Dialog(char*, char*, int, int, char*, char*, int); -static void PaintItem(WINDOW*, char*, int, int); -static int DialogMenu(char*, char*, int, int, int, int, char**, char*, char*, int); -static void PaintCheckItem(WINDOW*, char*, int, int, int); -static int DialogCheckBox(char*, char*, int, int, int, int, char**, char*, char*, char*); -static char *DialogInput(char*, char*, int, int, char*, char*, char*, int); -static void PaintScroller(WINDOW*, int, int, int); - -static int MouseConfig(void); -static int KeyboardConfig(void); -static int MonitorConfig(void); -static int CardConfig(void); -static int ScreenConfig(void); -static int LayoutConfig(void); -static int WriteXF86Config(void); - -static XF86ConfLayoutPtr CopyLayout(XF86ConfLayoutPtr); -static XF86ConfAdjacencyPtr CopyAdjacency(XF86ConfAdjacencyPtr); -static XF86ConfInputrefPtr CopyInputref(XF86ConfInputrefPtr); -static XF86ConfInactivePtr CopyInactive(XF86ConfInactivePtr); -static void FreeLayout(XF86ConfLayoutPtr); - -extern int string_to_parser_range(char*, parser_range*, int); -#define PARSER_RANGE_SIZE 256 -/* string must have at least 256 bytes */ -extern int parser_range_to_string(char*, parser_range*, int); - -static Bool newconfig; - -static chtype screen_attr = A_NORMAL; -static chtype dialog_attr = A_REVERSE; -static chtype highlight_border_attr = A_REVERSE; -static chtype shadow_border_attr = A_REVERSE; -static chtype title_attr = A_NORMAL; -static chtype button_active_attr = A_NORMAL; -static chtype button_inactive_attr = A_NORMAL; -static int menu_width, item_x; -static char Edit[] = "Edit "; - -static char *main_menu[] = { -#define CONF_MOUSE 0 - "Configure mouse", -#define CONF_KEYBOARD 1 - "Configure keyboard", -#define CONF_MONITOR 2 - "Configure monitor", -#define CONF_CARD 3 - "Configure card", -#define CONF_SCREEN 4 - "Configure screen", -#define CONF_LAYOUT 5 - "Configure layout", -#define CONF_FINISH 6 - "Write "__XCONFIGFILE__" and quit", -#define CONF_QUIT 7 - "Quit", -}; - -void -TextMode(void) -{ - static int first = 1; - int i, choice = CONF_MOUSE; - -#ifdef USE_MODULES - if (!nomodules) - LoaderInitializeOptions(); -#endif - initscr(); - noecho(); - nonl(); - keypad(stdscr, TRUE); - - if (first) { - const char *filename; - - first = 0; - - if (has_colors()) { - start_color(); - init_pair(1, COLOR_BLACK, COLOR_BLACK); - screen_attr = A_BOLD | COLOR_PAIR(1); - - init_pair(2, COLOR_BLACK, COLOR_WHITE); - dialog_attr = COLOR_PAIR(2); - - init_pair(3, COLOR_BLACK, COLOR_WHITE); - shadow_border_attr = A_BOLD | COLOR_PAIR(3); - - init_pair(4, COLOR_WHITE, COLOR_WHITE); - highlight_border_attr = A_BOLD | COLOR_PAIR(4); - - init_pair(5, COLOR_WHITE, COLOR_BLUE); - title_attr = A_BOLD | COLOR_PAIR(5); - button_active_attr = title_attr; - - init_pair(6, COLOR_WHITE, COLOR_BLACK); - button_inactive_attr = A_BOLD | COLOR_PAIR(6); - } - - if ((filename = xf86openConfigFile(getuid() == 0 ? - CONFPATH : USER_CONFPATH, - XF86Config_path, NULL)) != NULL) { - XF86Config_path = (char *)filename; - if ((XF86Config = xf86readConfigFile()) == NULL) { - ClearScreen(); - refresh(); - Dialog("Configuration error", - "Error parsing configuration file.", - 7, 50, " Ok ", NULL, 0); - } - } - if (XF86Config == NULL) { - XF86Config = (XF86ConfigPtr)XtCalloc(1, sizeof(XF86ConfigRec)); - newconfig = True; - } - else - newconfig = False; - } - - ClearScreen(); - refresh(); - - /*CONSTCOND*/ - while (1) { - int cancel = FALSE; - - ClearScreen(); - refresh(); - if (Dialog( __XSERVERNAME__" Configuration", - "This program will create the "__XCONFIGFILE__" file, based on " - "menu selections you make.\n" - "\n" -#if defined(__SCO__) || defined(__UNIXWARE__) - "The "__XCONFIGFILE__" file usually resides in /etc. A " - "sample "__XCONFIGFILE__" file is supplied with " -#else - "The "__XCONFIGFILE__" file usually resides in " PROJECT_ROOT "/etc/X11 " - "or /etc/X11. A sample "__XCONFIGFILE__" file is supplied with " -#endif - __XSERVERNAME__"; it is configured for a standard VGA card and " - "monitor with 640x480 resolution. This program will ask for " - "a pathname when it is ready to write the file.\n" - "\n" - "You can either take the sample "__XCONFIGFILE__" as a base and " - "edit it for your configuration, or let this program " - "produce a base "__XCONFIGFILE__" file for your configuration and " - "fine-tune it.", - 20, 60, " Ok ", " Cancel ", 0) != 0) - break; - - while (!cancel) { - ClearScreen(); - refresh(); - switch (DialogMenu("Main menu", - "Choose one of the options:", - 17, 60, 8, sizeof(main_menu) / - sizeof(main_menu[0]), main_menu, - " Ok ", " Cancel ", choice)) { - case CONF_MOUSE: - i = MouseConfig(); - if (i > 0 && choice == CONF_MOUSE) - choice = CONF_KEYBOARD; - else if (i == 0) - choice = CONF_MOUSE; - break; - case CONF_KEYBOARD: - i = KeyboardConfig(); - if (i > 0 && choice <= CONF_KEYBOARD) - choice = CONF_MONITOR; - else if (i == 0) - choice = CONF_KEYBOARD; - break; - case CONF_MONITOR: - i = MonitorConfig(); - if (i > 0 && choice <= CONF_MONITOR) - choice = CONF_CARD; - else if (i == 0) - choice = CONF_MONITOR; - break; - case CONF_CARD: - i = CardConfig(); - if (i > 0 && choice <= CONF_CARD) - choice = CONF_SCREEN; - else if (i == 0) - choice = CONF_CARD; - break; - case CONF_SCREEN: - i = ScreenConfig(); - if (i > 0 && choice <= CONF_SCREEN) - choice = CONF_LAYOUT; - else if (i == 0) - choice = CONF_SCREEN; - break; - case CONF_LAYOUT: - i = LayoutConfig(); - if (i > 0 && choice <= CONF_LAYOUT) - choice = CONF_FINISH; - else if (i == 0) - choice = CONF_LAYOUT; - break; - case CONF_FINISH: - if (WriteXF86Config() < 0) - break; - /*FALLTROUGH*/ - case CONF_QUIT: - endwin(); - exit(0); - default: - cancel = TRUE; - break; - } - } - } - - endwin(); -} - -static int -WriteXF86Config(void) -{ - char *xf86config; - - ClearScreen(); - refresh(); - xf86config = DialogInput("Write "__XCONFIGFILE__, "Write configuration to file:", - 10, 60, XF86Config_path ? XF86Config_path : - "/etc/X11/"__XCONFIGFILE__, " Ok ", " Cancel ", 0); - - if (xf86config == NULL) - return (-1); - - if (newconfig) { - if (XF86Config->conf_modules == NULL) { - static char *modules[] = {"extmod", "glx", "dri", "dbe", - "record", "xtrap", "type1"}; - XF86LoadPtr load; - int i; - - XF86Config->conf_modules = (XF86ConfModulePtr) - XtCalloc(1, sizeof(XF86ConfModuleRec)); - - XF86Config->conf_modules->mod_comment = - XtNewString("\tLoad \"freetype\"\n" - "\t# Load \"xtt\"\n"); - - for (i = 0; i < sizeof(modules) / sizeof(modules[0]); i++) { - load = (XF86LoadPtr)XtCalloc(1, sizeof(XF86LoadRec)); - load->load_name = XtNewString(modules[i]); - XF86Config->conf_modules->mod_load_lst = - xf86addModule(XF86Config->conf_modules->mod_load_lst, load); - } - } - } - - if (!xf86writeConfigFile(xf86config, XF86Config)) { - char msg[1024]; - - XmuSnprintf(msg, sizeof(msg), "Failed to write configuration file %s.", - xf86config); - ClearScreen(); - refresh(); - (void)Dialog("Write failed!", msg, 8, 60, " Ok ", NULL, 0); - XtFree(xf86config); - return (-1); - } - XtFree(xf86config); - - return (1); -} - -static char *protocols[] = { -#ifdef __SCO__ - "OsMouse", -#endif -#ifdef WSCONS_SUPPORT - "wsmouse", -#endif - "Auto", - "SysMouse", - "MouseSystems", - "BusMouse", - "PS/2", - "Microsoft", -#ifndef __FreeBSD__ - "ImPS/2", - "ExplorerPS/2", - "GlidePointPS/2", - "MouseManPlusPS/2", - "NetMousePS/2", - "NetScrollPS/2", - "ThinkingMousePS/2", -#endif - "AceCad", - "GlidePoint", - "IntelliMouse", - "Logitech", - "MMHitTab", - "MMSeries", - "MouseMan", - "ThinkingMouse", -}; - -static int -MouseConfig(void) -{ - int i, nlist, def, proto, emul; - char **list = NULL, *device, *str; - XF86ConfInputPtr *inputs = NULL; - XF86ConfInputPtr input = XF86Config->conf_input_lst; - XF86OptionPtr option; - - nlist = 0; - while (input) { - if (strcmp(input->inp_driver, "mouse") == 0) { - list = (char**)XtRealloc((XtPointer)list, (nlist + 1) * sizeof(char*)); - list[nlist] = XtMalloc(sizeof(Edit) + - strlen(input->inp_identifier) + 1); - sprintf(list[nlist], "%s%s", Edit, input->inp_identifier); - inputs = (XF86ConfInputPtr*)XtRealloc((XtPointer)inputs, (nlist + 1) * - sizeof(XF86ConfInputPtr)); - inputs[nlist] = input; - ++nlist; - } - input = (XF86ConfInputPtr)(input->list.next); - } - - input = NULL; - - if (nlist) { - list = (char**)XtRealloc((XtPointer)list, (nlist + 2) * sizeof(char*)); - list[nlist++] = XtNewString("Add new mouse"); - if (nlist == 2) { - i = strlen("Remove ") + strlen(inputs[0]->inp_identifier) + 1; - list[nlist] = XtMalloc(i); - XmuSnprintf(list[nlist], i, "Remove %s", inputs[0]->inp_identifier); - ++nlist; - } - else - list[nlist++] = XtNewString("Remove mouse"); - ClearScreen(); - refresh(); - i = DialogMenu("Mouse configuration", - "You can edit or remove a previously configured mouse, " - "or add a new one.", 14, 60, 4, nlist, list, - " Ok ", " Cancel ", 0); - if (i < 0) { - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)inputs); - return (-1); - } - if (nlist > 2 && i == nlist - 1) { - if (nlist > 3) { - for (i = 0; i < nlist - 2; i++) { - /* XXX Remove the "Edit " from list entries */ - memmove(list[i], list[i] + sizeof(Edit) - 1, - strlen(list[i]) - sizeof(Edit) + 2); - } - ClearScreen(); - refresh(); - i = DialogMenu("Remove mouse", - "Select which mouse to remove", - 13, 60, 4, nlist - 2, list, - " Remove ", " Cancel ", 0); - if (i < 0) { - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)inputs); - return (-1); - } - input = inputs[i]; - } - else - input = inputs[0]; - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)inputs); - xf86removeInput(XF86Config, input); - return (0); - } - if (i < nlist - 2) - input = inputs[i]; - } - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)inputs); - - if (input == NULL) { - char label[32]; - - input = (XF86ConfInputPtr)XtCalloc(1, sizeof(XF86ConfInputRec)); - XmuSnprintf(label, sizeof(label), "Mouse%d", nlist ? nlist - 2 : 0); - ClearScreen(); - refresh(); - input->inp_identifier = - DialogInput("Mouse identifier", - "Enter an identifier for your mouse definition:", - 11, 40, label, - " Next >>", " Cancel ", 0); - if (input->inp_identifier == NULL) { - XtFree((XtPointer)input); - return (-1); - } - } - - def = 0; - option = xf86findOption(input->inp_option_lst, "Protocol"); - if (option) - for (i = 0; i < sizeof(protocols)/sizeof(protocols[0]); i++) - if (strcasecmp(option->opt_val, protocols[i]) == 0) { - def = i; - break; - } - - ClearScreen(); - refresh(); - i = DialogMenu("Select mouse protocol", - "If you have a serial mouse, it probably will work with " - "the \"Auto\" protocol. But, if it is an old serial " - "mouse probably it is not PNP; in that case, most serial " - "mouses understand the \"Microsoft\" protocol.", - 19, 60, 7, sizeof(protocols) / - sizeof(protocols[0]), protocols, " Next >>", " Cancel ", def); - if (i < 0) { - if (input->inp_driver == NULL) { - XtFree(input->inp_driver); - XtFree((XtPointer)input); - } - return (i); - } - proto = i; - - def = 0; - if (input->inp_driver) { - option = xf86findOption(input->inp_option_lst, "Emulate3Buttons"); - def = option ? 0 : 1; - } - ClearScreen(); - refresh(); - i = Dialog("Mouse 3 buttons emulation", - "If your mouse has only two buttons, it is recommended that " - "you enable Emulate3Buttons.\n" - "\n" - "Do you want to enable Emulate3Buttons?", - 10, 60, " Yes ", " No ", def); - if (i < 0) - return (i); - emul = !i; - - str = NULL; - option = xf86findOption(input->inp_option_lst, "Device"); - if (option) - str = option->opt_val; - if (str == NULL) -#ifdef WSCONS_SUPPORT - str = "/dev/wsmouse"; -#elif defined(__FreeBSD__) || defined(__DragonFly__) - str = "/dev/sysmouse"; -#elif defined(__linux__) - str = "/dev/input/mice"; -#else - str = "/dev/mouse"; -#endif - - ClearScreen(); - refresh(); - device = DialogInput("Select mouse device", - "Enter mouse device:", 10, 40, str, - " Finish ", " Cancel ", 0); - if (device == NULL) { - if (input->inp_driver == NULL) { - XtFree(input->inp_driver); - XtFree((XtPointer)input); - } - return (-1); - } - - /* Finish mouse configuration */ - option = xf86findOption(input->inp_option_lst, "Protocol"); - if (option) { - XtFree((XtPointer)option->opt_val); - option->opt_val = XtNewString(protocols[proto]); - } - else - input->inp_option_lst = xf86addNewOption(input->inp_option_lst, - XtNewString("Protocol"), XtNewString(protocols[proto])); - - option = xf86findOption(input->inp_option_lst, "Emulate3Buttons"); - if (option && !emul) { - xf86removeOption(&input->inp_option_lst, "Emulate3Buttons"); - } - else if (option == NULL && emul) - input->inp_option_lst = xf86addNewOption(input->inp_option_lst, - XtNewString("Emulate3Buttons"), NULL); - - option = xf86findOption(input->inp_option_lst, "Device"); - if (option) { - XtFree((XtPointer)option->opt_val); - option->opt_val = device; - } - else - input->inp_option_lst = xf86addNewOption(input->inp_option_lst, - XtNewString("Device"), device); - - if (input->inp_driver == NULL) { - input->inp_driver = XtNewString("mouse"); - XF86Config->conf_input_lst = - xf86addInput(XF86Config->conf_input_lst, input); - } - - return (1); -} - -static int -KeyboardConfig(void) -{ - int i; - char *rulesfile; - static int first = 1; - static XkbRF_RulesPtr rules; - static char **models, **layouts; - XF86ConfInputPtr *inputs = NULL, input = XF86Config->conf_input_lst; - char **list = NULL, *model, *layout; - int nlist, def; - XF86OptionPtr option; - - nlist = 0; - while (input) { - if (IS_KBDDRIV(input->inp_driver)) { - list = (char**)XtRealloc((XtPointer)list, (nlist + 1) * sizeof(char*)); - list[nlist] = XtMalloc(sizeof(Edit) + - strlen(input->inp_identifier) + 1); - sprintf(list[nlist], "%s%s", Edit, input->inp_identifier); - inputs = (XF86ConfInputPtr*)XtRealloc((XtPointer)inputs, (nlist + 1) * - sizeof(XF86ConfInputPtr)); - inputs[nlist] = input; - ++nlist; - } - input = (XF86ConfInputPtr)(input->list.next); - } - - input = NULL; - - if (nlist) { - list = (char**)XtRealloc((XtPointer)list, (nlist + 2) * sizeof(char*)); - list[nlist++] = XtNewString("Add new keyboard"); - if (nlist == 2) { - i = strlen("Remove ") + strlen(inputs[0]->inp_identifier) + 1; - list[nlist] = XtMalloc(i); - XmuSnprintf(list[nlist], i, "Remove %s", inputs[0]->inp_identifier); - ++nlist; - } - else - list[nlist++] = XtNewString("Remove keyboard"); - ClearScreen(); - refresh(); - i = DialogMenu("Keyboard configuration", - "You can edit or remove a previously configured " - "keyboard, or add a new one.", 14, 60, 4, nlist, list, - " Ok ", " Cancel ", 0); - if (i < 0) { - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)inputs); - return (-1); - } - if (nlist > 2 && i == nlist - 1) { - if (nlist > 3) { - for (i = 0; i < nlist - 2; i++) { - /* XXX Remove the "Edit " from list entries */ - memmove(list[i], list[i] + sizeof(Edit) - 1, - strlen(list[i]) - sizeof(Edit) + 2); - } - ClearScreen(); - refresh(); - i = DialogMenu("Remove keyboard", - "Select which keyboard to remove", - 13, 60, 4, nlist - 2, list, - " Remove ", " Cancel ", 0); - if (i < 0) { - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)inputs); - return (-1); - } - input = inputs[i]; - } - else - input = inputs[0]; - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)inputs); - xf86removeInput(XF86Config, input); - return (0); - } - if (i < nlist - 2) - input = inputs[i]; - } - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)inputs); - - if (input == NULL) { - char label[32]; - - input = (XF86ConfInputPtr)XtCalloc(1, sizeof(XF86ConfInputRec)); - XmuSnprintf(label, sizeof(label), "Keyboard%d", nlist ? nlist - 2 : 0); - ClearScreen(); - refresh(); - input->inp_identifier = - DialogInput("Keyboard identifier", - "Enter an identifier for your keyboard definition:", - 11, 40, label, - " Next >>", " Cancel ", 0); - if (input->inp_identifier == NULL) { - XtFree((XtPointer)input); - return (-1); - } - } - - if (first) { - first = 0; -#ifdef XFREE98_XKB - rulesfile = XKB_RULES_DIR "/xfree98"; -#else - rulesfile = XKB_RULES_DIR "/"__XKBDEFRULES__; -#endif - rules = XkbRF_Load(rulesfile, "", True, False); - if (rules == NULL) { - ClearScreen(); - refresh(); - Dialog("Configuration error", - "XKB rules file not found.\n" - "\n" - "Keyboard XKB options will be set to default values.", - 10, 50, " Ok ", NULL, 0); - if (input->inp_driver == NULL) { - input->inp_option_lst = - xf86addNewOption(input->inp_option_lst, - XtNewString("XkbModel"), XtNewString("pc101")); - input->inp_option_lst = - xf86addNewOption(input->inp_option_lst, - XtNewString("XkbLayout"), XtNewString("us")); - input->inp_driver = XtNewString("kbd"); - XF86Config->conf_input_lst = - xf86addInput(XF86Config, input); - } - return (0); - } - models = (char**)XtMalloc(sizeof(char*) * rules->models.num_desc); - for (i = 0; i < rules->models.num_desc; i++) - models[i] = XtNewString(rules->models.desc[i].desc); - layouts = (char**)XtMalloc(sizeof(char*) * rules->layouts.num_desc); - for (i = 0; i < rules->layouts.num_desc; i++) - layouts[i] = XtNewString(rules->layouts.desc[i].desc); - } - else if (rules == NULL) - return (-1); - - def = 0; - option = xf86findOption(input->inp_option_lst, "XkbModel"); - if (option) { - for (i = 0; i < rules->models.num_desc; i++) - if (strcasecmp(option->opt_val, rules->models.desc[i].name) == 0) { - def = i; - break; - } - } - ClearScreen(); - refresh(); - i = DialogMenu("Keyboard model", - "Please select one of the following keyboard types that is " - "the better description of your keyboard. If nothing really " - "matches, choose \"Generic 101-key PC\".\n", - 20, 60, 9, rules->models.num_desc, - models, " Next >>", " Cancel ", def); - if (i < 0) - return (i); - model = rules->models.desc[i].name; - - def = 0; - option = xf86findOption(input->inp_option_lst, "XkbLayout"); - if (option) { - for (i = 0; i < rules->layouts.num_desc; i++) - if (strcasecmp(option->opt_val, rules->layouts.desc[i].name) == 0) { - def = i; - break; - } - } - ClearScreen(); - refresh(); - i = DialogMenu("Keyboard layout", - "Select keyboard layout:", - 20, 60, 11, rules->layouts.num_desc, - layouts, " Finish ", " Cancel ", def); - if (i < 0) - return (i); - layout = rules->layouts.desc[i].name; - - /* Finish keyboard configuration */ - option = xf86findOption(input->inp_option_lst, "XkbModel"); - if (option) { - XtFree((XtPointer)option->opt_val); - option->opt_val = XtNewString(model); - } - else - input->inp_option_lst = xf86addNewOption(input->inp_option_lst, - XtNewString("XkbModel"), XtNewString(model)); - - option = xf86findOption(input->inp_option_lst, "XkbLayout"); - if (option) { - XtFree((XtPointer)option->opt_val); - option->opt_val = XtNewString(layout); - } - else - input->inp_option_lst = xf86addNewOption(input->inp_option_lst, - XtNewString("XkbLayout"), XtNewString(layout)); - - if (input->inp_driver == NULL) { - input->inp_driver = XtNewString("kbd"); - XF86Config->conf_input_lst = - xf86addInput(XF86Config->conf_input_lst, input); - } - - return (1); -} - -static char *hsync[] = { -#define CONF_MONITOR_HSYNC 0 - "Enter your own horizontal sync range", - "31.5; Standard VGA, 640x480 @ 60 Hz", - "31.5 - 35.1; Super VGA, 800x600 @ 56 Hz", - "31.5, 35.5; 8514 Compatible, 1024x768 @ 87 Hz interlaced (no 800x600)", - "31.5, 35.15, 35.5; Super VGA, 1024x768 @ 87 Hz int., 800x600 @ 56 Hz", - "31.5 - 37.9; Extended Super VGA, 800x600 @ 60 Hz, 640x480 @ 72 Hz", - "31.5 - 48.5; Non-Interlaced SVGA, 1024x768 @ 60 Hz, 800x600 @ 72 Hz", - "31.5 - 57.0; High Frequency SVGA, 1024x768 @ 70 Hz", - "31.5 - 64.3; Monitor that can do 1280x1024 @ 60 Hz", - "31.5 - 79.0; Monitor that can do 1280x1024 @ 74 Hz", - "31.5 - 82.0; Monitor that can do 1280x1024 @ 76 Hz", - "31.5 - 92.0; Monitor that can do 1280x1024 @ 85 Hz", - "31.5 - 108.0; Monitor that can do 1600x1200 @ 85 Hz", - "31.5 - 128.5; Monitor that can do 1920x1440 @ 85 Hz", - "31.5 - 137.0; Monitor that can do 2048x1536 @ 85 Hz" -}; - -static char *vrefresh[] = { -#define CONF_MONITOR_VREFRESH 0 - "Enter your own vertical sync range", - "50 - 70", - "50 - 90", - "50 - 100", - "40 - 150", -}; - -static int -MonitorConfig(void) -{ - int i; - XF86ConfMonitorPtr *monitors = NULL, monitor = XF86Config->conf_monitor_lst; - char **list = NULL, *identifier = NULL, *tmp; - int nlist, def; - char hsync_str[256], vrefresh_str[256]; - - hsync_str[0] = vrefresh_str[0] = '\0'; - nlist = 0; - while (monitor) { - list = (char**)XtRealloc((XtPointer)list, (nlist + 1) * sizeof(char*)); - list[nlist] = XtMalloc(sizeof(Edit) + - strlen(monitor->mon_identifier) + 1); - sprintf(list[nlist], "%s%s", Edit, monitor->mon_identifier); - monitors = (XF86ConfMonitorPtr*)XtRealloc((XtPointer)monitors, (nlist + 1) * - sizeof(XF86ConfMonitorPtr)); - monitors[nlist] = monitor; - ++nlist; - monitor = (XF86ConfMonitorPtr)(monitor->list.next); - } - - monitor = NULL; - - if (nlist) { - list = (char**)XtRealloc((XtPointer)list, (nlist + 2) * sizeof(char*)); - list[nlist++] = XtNewString("Add new monitor"); - if (nlist == 2) { - i = strlen("Remove ") + strlen(monitors[0]->mon_identifier) + 1; - list[nlist] = XtMalloc(i); - XmuSnprintf(list[nlist], i, "Remove %s", monitors[0]->mon_identifier); - ++nlist; - } - else - list[nlist++] = XtNewString("Remove monitor"); - ClearScreen(); - refresh(); - i = DialogMenu("Monitor configuration", - "You can edit or remove a previously configured " - "monitor, or add a new one.", 14, 60, 4, nlist, list, - " Ok ", " Cancel ", 0); - if (i < 0) { - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)monitors); - return (-1); - } - if (nlist > 2 && i == nlist - 1) { - if (nlist > 3) { - for (i = 0; i < nlist - 2; i++) { - /* XXX Remove the "Edit " from list entries */ - memmove(list[i], list[i] + sizeof(Edit) - 1, - strlen(list[i]) - sizeof(Edit) + 2); - } - ClearScreen(); - refresh(); - i = DialogMenu("Remove monitor", - "Select which monitor to remove", - 13, 60, 4, nlist - 2, list, - " Remove ", " Cancel ", 0); - if (i < 0) { - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)monitors); - return (-1); - } - monitor = monitors[i]; - } - else - monitor = monitors[0]; - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)monitors); - xf86removeMonitor(XF86Config, monitor); - return (0); - } - if (i < nlist - 2) - monitor = monitors[i]; - } - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)monitors); - - if (monitor == NULL) { - char label[32]; - - monitor = (XF86ConfMonitorPtr)XtCalloc(1, sizeof(XF86ConfMonitorRec)); - XmuSnprintf(label, sizeof(label), "Monitor%d", nlist ? nlist - 2 : 0); - ClearScreen(); - refresh(); - identifier = - DialogInput("Monitor identifier", - "Enter an identifier for your monitor definition:", - 11, 40, label, - " Next >>", " Cancel ", 0); - if (identifier == NULL) { - XtFree((XtPointer)monitor); - return (-1); - } - } - - if (monitor->mon_identifier == NULL) { - ClearScreen(); - refresh(); - i = Dialog("Monitor configuration", - "Now we want to set the specifications of the monitor. The " - "two critical parameters are the vertical refresh rate, which " - "is the rate at which the whole screen is refreshed, and most " - "importantly the horizontal sync rate, which is the rate at " - "which scanlines are displayed.\n" - "\n" - "The valid range for horizontal sync and vertical sync should " - "be documented in the manual of your monitor.", - 15, 60, " Next >>", " Cancel ", 0); - if (i != 0) { - XtFree(identifier); - XtFree((XtPointer)monitor); - return (-1); - } - } - - def = 0; - if (monitor->mon_identifier) { - int len; - - parser_range_to_string(hsync_str, &(monitor->mon_hsync[0]), - monitor->mon_n_hsync); - len = strlen(hsync_str); - for (i = 1; i < sizeof(hsync) / sizeof(hsync[0]); i++) { - tmp = strchr(hsync[i], ';'); - if (strncmp(hsync_str, hsync[i], len) == 0) { - def = i; - break; - } - } - } - if (hsync_str[0] == '\0') - strcpy(hsync_str, "31.5"); - - ClearScreen(); - refresh(); - i = DialogMenu("Monitor HorizSync", - "You must indicate the horizontal sync range of your " - "monitor. You can either select one of the predefined " - "ranges below that correspond to industry-standard monitor " - "types, or give a specific range.", - 22, 78, 11, sizeof(hsync) / - sizeof(hsync[0]), hsync, " Next >>", " Cancel ", def); - if (i < 0) { - if (monitor->mon_identifier == NULL) { - XtFree(identifier); - XtFree((XtPointer)monitor); - } - return (-1); - } - if (i == CONF_MONITOR_HSYNC) { - ClearScreen(); - refresh(); - tmp = DialogInput("Monitor HorizSync", - "Please enter the horizontal sync range of your " - "monitor, in the format used in the table of monitor " - "types above. You can either specify one or more " - "continuous ranges (e.g. 15-25, 30-50), or one or more " - "fixed sync frequencies.\n" - "\n" - "Horizontal sync range:", 16, 62, hsync_str, - " Ok ", " Cancel ", def); - if (tmp == NULL) { - if (monitor->mon_identifier == NULL) { - XtFree(identifier); - XtFree((XtPointer)monitor); - } - return (-1); - } - XmuSnprintf(hsync_str, sizeof(hsync_str), "%s", tmp); - XtFree(tmp); - } - else { - tmp = strchr(hsync[i], ';'); - strncpy(hsync_str, hsync[i], tmp - hsync[i]); - hsync_str[tmp - hsync[i]] = '\0'; - } - - def = 0; - if (monitor->mon_identifier) { - parser_range_to_string(vrefresh_str, &(monitor->mon_vrefresh[0]), - monitor->mon_n_vrefresh); - for (i = 1; i < sizeof(vrefresh) / sizeof(vrefresh[0]); i++) { - if (strcmp(vrefresh_str, vrefresh[i]) == 0) { - def = i; - break; - } - } - } - if (vrefresh_str[0] == '\0') - strcpy(vrefresh_str, "50 - 70"); - ClearScreen(); - refresh(); - i = DialogMenu("Monitor VertRefresh", - "You must indicate the vertical sync range of your monitor. " - "You can either select one of the predefined ranges below " - "that correspond to industry-standard monitor types, or " - "give a specific range. For interlaced modes, the number " - "that counts is the high one (e.g. 87 Hz rather than 43 Hz).", - 19, 60, 5, sizeof(vrefresh) / - sizeof(vrefresh[0]), vrefresh, " Finish ", " Cancel ", def); - if (i < 0) { - if (monitor->mon_identifier == NULL) { - XtFree(identifier); - XtFree((XtPointer)monitor); - } - return (i); - } - if (i == CONF_MONITOR_VREFRESH) { - ClearScreen(); - refresh(); - tmp = DialogInput("Monitor VertRefresh", - "Vertical sync range:", 10, 50, vrefresh_str, - " Done ", " Cancel ", 0); - if (tmp == NULL) { - if (monitor->mon_identifier == NULL) { - XtFree(identifier); - XtFree((XtPointer)monitor); - } - return (-1); - } - XmuSnprintf(vrefresh_str, sizeof(vrefresh_str), "%s", tmp); - XtFree(tmp); - } - else - strcpy(vrefresh_str, vrefresh[i]); - - /* Finish monitor configuration */ - monitor->mon_n_hsync = string_to_parser_range(hsync_str, - &(monitor->mon_hsync[0]), CONF_MAX_HSYNC); - monitor->mon_n_vrefresh = string_to_parser_range(vrefresh_str, - &(monitor->mon_vrefresh[0]), CONF_MAX_VREFRESH); - if (monitor->mon_identifier == NULL) { - monitor->mon_identifier = identifier; - XF86Config->conf_monitor_lst = - xf86addMonitor(XF86Config->conf_monitor_lst, monitor); - } - - return (1); -} - -static int -CardConfig(void) -{ - int i; - XF86ConfDevicePtr *devices = NULL, device = XF86Config->conf_device_lst; - char **list = NULL, *identifier = NULL, *driver, *busid, *tmp; - int nlist, def; - CardsEntry *entry = NULL; - static char **drivers; - static int ndrivers; - static char *xdrivers[] = { - "apm", - "ark", - "ast", - "ati", - "r128", - "radeon", - "chips", - "cirrus", - "cyrix", - "fbdev", - "glint", - "i128", - "i740", - "i810", - "imstt", - "mga", - "neomagic", - "nv", - "rendition", - "s3", - "s3virge", - "savage", - "siliconmotion", - "sis", - "tdfx", - "tga", - "trident", - "tseng", - "vmware", - "vga", - "vesa", - }; - -#ifdef USE_MODULES - if (!nomodules) { - xf86cfgModuleOptions *opts = module_options; - - drivers = NULL; - ndrivers = 0; - while (opts) { - if (opts->type == VideoModule) { - ++ndrivers; - drivers = (char**)XtRealloc((XtPointer)drivers, - ndrivers * sizeof(char*)); - /* XXX no private copy */ - drivers[ndrivers - 1] = opts->name; - } - opts = opts->next; - } - } - else -#endif - { - ndrivers = sizeof(xdrivers) / sizeof(xdrivers[0]); - drivers = xdrivers; - } - - nlist = 0; - while (device) { - list = (char**)XtRealloc((XtPointer)list, (nlist + 1) * sizeof(char*)); - list[nlist] = XtMalloc(sizeof(Edit) + - strlen(device->dev_identifier) + 1); - sprintf(list[nlist], "%s%s", Edit, device->dev_identifier); - devices = (XF86ConfDevicePtr*)XtRealloc((XtPointer)devices, (nlist + 1) * - sizeof(XF86ConfDevicePtr)); - devices[nlist] = device; - ++nlist; - device = (XF86ConfDevicePtr)(device->list.next); - } - - device = NULL; - - if (nlist) { - list = (char**)XtRealloc((XtPointer)list, (nlist + 2) * sizeof(char*)); - list[nlist++] = XtNewString("Add new card"); - if (nlist == 2) { - i = strlen("Remove ") + strlen(devices[0]->dev_identifier) + 1; - list[nlist] = XtMalloc(i); - XmuSnprintf(list[nlist], i, "Remove %s", devices[0]->dev_identifier); - ++nlist; - } - else - list[nlist++] = XtNewString("Remove device"); - ClearScreen(); - refresh(); - i = DialogMenu("Card configuration", - "You can edit or remove a previously configured " - "card, or add a new one.", 14, 60, 4, nlist, list, - " Ok ", " Cancel ", 0); - if (i < 0) { - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)devices); - return (-1); - } - if (nlist > 2 && i == nlist - 1) { - if (nlist > 3) { - for (i = 0; i < nlist - 2; i++) { - /* XXX Remove the "Edit " from list entries */ - memmove(list[i], list[i] + sizeof(Edit) - 1, - strlen(list[i]) - sizeof(Edit) + 2); - } - ClearScreen(); - refresh(); - i = DialogMenu("Remove card", - "Select which card to remove", - 13, 60, 4, nlist - 2, list, - " Remove ", " Cancel ", 0); - if (i < 0) { - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)devices); - return (-1); - } - device = devices[i]; - } - else - device = devices[0]; - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)devices); - xf86removeDevice(XF86Config, device); - return (0); - } - if (i < nlist - 2) - device = devices[i]; - } - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)devices); - - if (device == NULL) { - char label[32]; - - device = (XF86ConfDevicePtr)XtCalloc(1, sizeof(XF86ConfDeviceRec)); - device->dev_chipid = device->dev_chiprev = device->dev_irq = -1; - XmuSnprintf(label, sizeof(label), "Card%d", nlist ? nlist - 2 : 0); - ClearScreen(); - refresh(); - identifier = - DialogInput("Card identifier", - "Enter an identifier for your card definition:", - 11, 40, label, - " Next >>", " Cancel ", 0); - if (identifier == NULL) { - XtFree((XtPointer)device); - return (-1); - } - } - - ClearScreen(); - refresh(); - if (Dialog("Card configuration", - "Now we must configure video card specific settings. At this " - "point you can choose to make a selection out of a database of " - "video card definitions.\n" - "\n" - "The database entries include information about the chipset, " - "what driver to run, the Ramdac and ClockChip, and comments " - "that will be included in the Device section. However, a lot " - "of definitions only hint about what driver to run (based on " - "the chipset the card uses) and are untested.\n" - "\n" - "Do you want to look at the card database?", - 18, 60, " Yes ", " No ", device->dev_identifier != NULL) == 0) { - static char **cards; - static int ncards; - - if (cards == NULL) { - ReadCardsDatabase(); - cards = GetCardNames(&ncards); - cards = (char**)XtRealloc((XtPointer)cards, - (ncards + 1) * sizeof(char*)); - for (i = ncards; i > 0; i--) - cards[i] = cards[i - 1]; - cards[0] = "** Unlisted card **"; - ++ncards; - } - if (device->dev_card) - entry = LookupCard(device->dev_card); - def = 0; - if (entry) { - for (i = 0; i < NumCardsEntry; i++) - if (strcasecmp(CardsDB[i]->name, entry->name) == 0) { - def = i + 1; - break; - } - /* make sure entry is set to null again */ - entry = NULL; - } - - i = DialogMenu("Card database", - "Select name that better matches your card:", - 20, 70, 11, ncards, cards, "Next >>", " Cancel ", def); - if (i > 0) - entry = LookupCard(cards[i]); - } - - def = 0; - tmp = device->dev_driver ? device->dev_driver : entry && entry->driver ? - entry->driver : "vga"; - for (i = 0; i < ndrivers; i++) - if (strcmp(drivers[i], tmp) == 0) { - def = i; - break; - } - - ClearScreen(); - refresh(); - i = DialogMenu("Card driver", - "You can select the driver for your card here, or just press " - "Enter to use the default/current:", 20, 50, 9, - ndrivers, drivers, " Ok ", " Cancel ", def); - if (i < 0) { - if (device->dev_identifier == NULL) { - XtFree(identifier); - XtFree((XtPointer)device); - } - return (-1); - } - driver = ndrivers ? drivers[i] : "vga"; - - ClearScreen(); - refresh(); - tmp = device->dev_busid ? device->dev_busid : ""; - busid = DialogInput("Card BusID", - "You normally does not need to fill this field " - "if you have only one video card:", 11, 50, tmp, - " Finish ", " Cancel ", 0); - - /* Finish card configuration */ - if (entry) { - XtFree(device->dev_card); - device->dev_card = XtNewString(entry->name); - if (entry->chipset) { - XtFree(device->dev_chipset); - device->dev_chipset = XtNewString(entry->chipset); - } - if (entry->ramdac) { - XtFree(device->dev_ramdac); - device->dev_ramdac = XtNewString(entry->ramdac); - } - if (entry->clockchip) { - XtFree(entry->clockchip); - device->dev_clockchip = XtNewString(entry->clockchip); - } - } - if (busid) { - XtFree(device->dev_busid); - if (*busid) - device->dev_busid = busid; - else { - device->dev_busid = NULL; - XtFree(busid); - } - } - XtFree(device->dev_driver); - device->dev_driver = XtNewString(driver); - if (device->dev_identifier == NULL) { - device->dev_identifier = identifier; - XF86Config->conf_device_lst = - xf86addDevice(XF86Config->conf_device_lst, device); - } - - return (1); -} - -static char *depths[] = { - "1 bit, monochrome", - "4 bit, 16 colors", - "8 bit, 256 colors", - "15 bits, 32Kb colors", - "16 bits, 65Kb colors", - "24 bits, 16Mb colors", -}; - -static char *modes[] = { - "2048x1536", - "1920x1440", - "1800x1400", - "1600x1200", - "1400x1050", - "1280x1024", - "1280x960", - "1152x864", - "1024x768", - "800x600", - "640x480", - "640x400", - "512x384", - "400x300", - "320x240", - "320x200", -}; - -static int -ScreenConfig(void) -{ - int i, disp_allocated; - XF86ConfScreenPtr *screens = NULL, screen = XF86Config->conf_screen_lst; - char **list = NULL, *identifier = NULL; - int nlist, def; - XF86ConfDevicePtr device = NULL; - XF86ConfMonitorPtr monitor = NULL; - XF86ConfDisplayPtr display; - XF86ModePtr mode, ptr = NULL; - char *checks; - - nlist = 0; - while (screen) { - list = (char**)XtRealloc((XtPointer)list, (nlist + 1) * sizeof(char*)); - list[nlist] = XtMalloc(sizeof(Edit) + - strlen(screen->scrn_identifier) + 1); - sprintf(list[nlist], "%s%s", Edit, screen->scrn_identifier); - screens = (XF86ConfScreenPtr*)XtRealloc((XtPointer)screens, (nlist + 1) * - sizeof(XF86ConfScreenPtr)); - screens[nlist] = screen; - ++nlist; - screen = (XF86ConfScreenPtr)(screen->list.next); - } - - screen = NULL; - - if (nlist) { - list = (char**)XtRealloc((XtPointer)list, (nlist + 2) * sizeof(char*)); - list[nlist++] = XtNewString("Add new screen"); - if (nlist == 2) { - i = strlen("Remove ") + strlen(screens[0]->scrn_identifier) + 1; - list[nlist] = XtMalloc(i); - XmuSnprintf(list[nlist], i, "Remove %s", screens[0]->scrn_identifier); - ++nlist; - } - else - list[nlist++] = XtNewString("Remove screen"); - ClearScreen(); - refresh(); - i = DialogMenu("Screen configuration", - "You can edit or remove a previously configured " - "screen, or add a new one.", 14, 60, 4, nlist, list, - " Ok ", " Cancel ", 0); - if (i < 0) { - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)screens); - return (-1); - } - if (nlist > 2 && i == nlist - 1) { - if (nlist > 3) { - for (i = 0; i < nlist - 2; i++) { - /* XXX Remove the "Edit " from list entries */ - memmove(list[i], list[i] + sizeof(Edit) - 1, - strlen(list[i]) - sizeof(Edit) + 2); - } - ClearScreen(); - refresh(); - i = DialogMenu("Remove screen", - "Select which screen to remove", - 13, 60, 4, nlist - 2, list, - " Remove ", " Cancel ", 0); - if (i < 0) { - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)screens); - return (-1); - } - screen = screens[i]; - } - else - screen = screens[0]; - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)screens); - xf86removeScreen(XF86Config, screen); - return (0); - } - if (i < nlist - 2) - screen = screens[i]; - } - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)screens); - - if (screen == NULL) { - char label[256]; - XF86ConfDevicePtr *devices = NULL; - XF86ConfMonitorPtr *monitors = NULL; - - device = XF86Config->conf_device_lst; - monitor = XF86Config->conf_monitor_lst; - - if (device == NULL || monitor == NULL) { - ClearScreen(); - refresh(); - Dialog("Configuration error", - "You need to configure (at least) one card and one " - "monitor before creating a screen definition.", - 9, 50, " Ok ", NULL, 0); - - return (-1); - } - - XmuSnprintf(label, sizeof(label), "Screen%d", nlist ? nlist - 2 : 0); - ClearScreen(); - refresh(); - identifier = - DialogInput("Screen identifier", - "Enter an identifier for your screen definition:", - 11, 40, label, - " Next >>", " Cancel ", 0); - if (identifier == NULL) - return (-1); - - nlist = 0; - list = NULL; - while (device) { - list = (char**)XtRealloc((XtPointer)list, (nlist + 1) * sizeof(char*)); - list[nlist] = XtNewString(device->dev_identifier); - devices = (XF86ConfDevicePtr*)XtRealloc((XtPointer)devices, (nlist + 1) * - sizeof(XF86ConfDevicePtr)); - devices[nlist] = device; - ++nlist; - device = (XF86ConfDevicePtr)(device->list.next); - } - ClearScreen(); - refresh(); - i = DialogMenu("Screen card", "Please select a video card:", - 13, 60, 4, nlist, list, " Next >>", " Cancel ", 0); - for (def = 0; def < nlist; def++) - XtFree(list[def]); - XtFree((XtPointer)list); - if (i < 0) { - XtFree(identifier); - XtFree((XtPointer)devices); - return (-1); - } - device = devices[i]; - XtFree((XtPointer)devices); - - nlist = 0; - list = NULL; - while (monitor) { - list = (char**)XtRealloc((XtPointer)list, (nlist + 1) * sizeof(char*)); - list[nlist] = XtNewString(monitor->mon_identifier); - monitors = (XF86ConfMonitorPtr*)XtRealloc((XtPointer)monitors, (nlist + 1) * - sizeof(XF86ConfMonitorPtr)); - monitors[nlist] = monitor; - ++nlist; - monitor = (XF86ConfMonitorPtr)(monitor->list.next); - } - XmuSnprintf(label, sizeof(label), - "Select the monitor connected to \"%s\":", - device->dev_identifier); - ClearScreen(); - refresh(); - i = DialogMenu("Screen monitor", label, - 13, 60, 4, nlist, list, " Next >>", " Cancel ", 0); - for (def = 0; def < nlist; def++) - XtFree(list[def]); - XtFree((XtPointer)list); - if (i < 0) { - XtFree(identifier); - XtFree((XtPointer)monitors); - return (-1); - } - monitor = monitors[i]; - XtFree((XtPointer)monitors); - - screen = (XF86ConfScreenPtr)XtCalloc(1, sizeof(XF86ConfScreenRec)); - screen->scrn_device = device; - screen->scrn_monitor = monitor; - } - - if (screen->scrn_defaultdepth == 1) - def = 0; - else if (screen->scrn_defaultdepth == 4) - def = 1; - else if (screen->scrn_defaultdepth == 8) - def = 2; - else if (screen->scrn_defaultdepth == 15) - def = 3; - else if (screen->scrn_defaultdepth == 16) - def = 4; - else if (screen->scrn_defaultdepth == 24) - def = 5; - else { - if (screen->scrn_device && screen->scrn_device->dev_driver && - strcmp(screen->scrn_device->dev_driver, "vga") == 0) - def = 1; /* 4bpp */ - else - def = 2; /* 8bpp */ - } - ClearScreen(); - refresh(); - i = DialogMenu("Screen depth", - "Please specify which color depth you want to use by default:", - 15, 60, 6, sizeof(depths) / sizeof(depths[0]), depths, - " Next >>", " Cancel ", def); - if (i < 0) { - if (screen->scrn_identifier == NULL) { - XtFree(identifier); - XtFree((XtPointer)screen); - } - return (-1); - } - else - /* XXX depths must begin with the depth number */ - screen->scrn_defaultdepth = atoi(depths[i]); - - def = 0; /* use def to count how many modes are selected*/ - nlist = 0; - list = NULL; - checks = XtMalloc(sizeof(modes) / sizeof(modes[0])); - /* XXX list fields in the code below are not allocated */ - disp_allocated = 0; - display = screen->scrn_display_lst; - while (display && display->disp_depth != screen->scrn_defaultdepth) - display = (XF86ConfDisplayPtr)(display->list.next); - if (display == NULL) { - display = (XF86ConfDisplayPtr)XtCalloc(1, sizeof(XF86ConfDisplayRec)); - display->disp_white.red = display->disp_black.red = -1; - display->disp_depth = screen->scrn_defaultdepth; - disp_allocated = 1; - } - else { - mode = display->disp_mode_lst; - while (mode) { - for (i = 0; i < sizeof(modes) / sizeof(modes[0]); i++) - if (strcmp(modes[i], mode->mode_name) == 0) { - break; - } - - if (i == sizeof(modes) / sizeof(modes[0])) { - list = (char**)XtRealloc((XtPointer)list, - (nlist + 1) * sizeof(char*)); - list[nlist] = mode->mode_name; - checks = XtRealloc(checks, sizeof(modes) / sizeof(modes[0]) + - nlist + 1); - checks[nlist] = 1; - ++def; - nlist++; - break; - } - mode = (XF86ModePtr)(mode->list.next); - } - } - - for (i = 0; i < sizeof(modes) / sizeof(modes[0]); i++) - checks[i + nlist] = 0; - - mode = display->disp_mode_lst; - while (mode) { - for (i = 0; i < sizeof(modes) / sizeof(modes[0]); i++) - if (strcmp(modes[i], mode->mode_name) == 0) { - ++def; - checks[i + nlist] = 1; - break; - } - mode = (XF86ModePtr)(mode->list.next); - } - - if (nlist == 0 && def == 0) - checks[7] = 1; /* 640x480 */ - list = (char**)XtRealloc((XtPointer)list, (nlist + sizeof(modes) / - sizeof(modes[0])) * sizeof(char*)); - for (i = 0; i < sizeof(modes) / sizeof(modes[0]); i++) - list[i + nlist] = modes[i]; - nlist += sizeof(modes) / sizeof(modes[0]); - - ClearScreen(); - refresh(); - i = DialogCheckBox("Screen modes", - "Select the video modes for this screen:", - 17, 60, 8, sizeof(modes) / sizeof(modes[0]), modes, - " Finish ", " Cancel ", checks); - if (i < 0) { - if (screen->scrn_identifier == NULL) { - XtFree(identifier); - XtFree((XtPointer)screen); - XtFree((XtPointer)list); - if (disp_allocated) - XtFree((XtPointer)display); - } - return (-1); - } - - mode = display->disp_mode_lst; - while (mode) { - ptr = (XF86ModePtr)(mode->list.next); - XtFree(mode->mode_name); - XtFree((XtPointer)mode); - mode = ptr; - } - display->disp_mode_lst = NULL; - - for (i = 0; i < nlist; i++) { - if (checks[i]) { - mode = (XF86ModePtr)XtCalloc(1, sizeof(XF86ModeRec)); - mode->mode_name = XtNewString(list[i]); - if (display->disp_mode_lst == NULL) - display->disp_mode_lst = ptr = mode; - else { - ptr->list.next = mode; - ptr = mode; - } - } - } - XtFree((XtPointer)list); - - if (disp_allocated) { - display->list.next = NULL; - if (screen->scrn_display_lst == NULL) - screen->scrn_display_lst = display; - else - screen->scrn_display_lst->list.next = display; - } - - if (screen->scrn_identifier == NULL) { - screen->scrn_identifier = identifier; - screen->scrn_monitor_str = XtNewString(monitor->mon_identifier); - screen->scrn_device_str = XtNewString(device->dev_identifier); - XF86Config->conf_screen_lst = - xf86addScreen(XF86Config->conf_screen_lst, screen); - } - - return (1); -} - -static XF86ConfAdjacencyPtr -CopyAdjacency(XF86ConfAdjacencyPtr ptr) -{ - XF86ConfAdjacencyPtr adj = (XF86ConfAdjacencyPtr) - XtCalloc(1, sizeof(XF86ConfAdjacencyRec)); - - adj->adj_scrnum = ptr->adj_scrnum; - adj->adj_screen = ptr->adj_screen; - adj->adj_screen_str = XtNewString(ptr->adj_screen_str); - adj->adj_top = ptr->adj_top; - if (ptr->adj_top_str) - adj->adj_top_str = XtNewString(ptr->adj_top_str); - adj->adj_bottom = ptr->adj_bottom; - if (ptr->adj_bottom_str) - adj->adj_bottom_str = XtNewString(ptr->adj_bottom_str); - adj->adj_left = ptr->adj_left; - if (ptr->adj_left_str) - adj->adj_left_str = XtNewString(ptr->adj_left_str); - adj->adj_right = ptr->adj_right; - if (ptr->adj_right_str) - adj->adj_right_str = XtNewString(ptr->adj_right_str); - adj->adj_where = ptr->adj_where; - adj->adj_x = ptr->adj_x; - adj->adj_y = ptr->adj_y; - if (ptr->adj_refscreen) - adj->adj_refscreen = XtNewString(ptr->adj_refscreen); - - return (adj); -} - -static XF86ConfInactivePtr -CopyInactive(XF86ConfInactivePtr ptr) -{ - XF86ConfInactivePtr inac = (XF86ConfInactivePtr) - XtCalloc(1, sizeof(XF86ConfInactiveRec)); - - inac->inactive_device = ptr->inactive_device; - if (ptr->inactive_device_str) - inac->inactive_device_str = XtNewString(ptr->inactive_device_str); - - return (inac); -} - -static XF86ConfInputrefPtr -CopyInputref(XF86ConfInputrefPtr ptr) -{ - XF86ConfInputrefPtr iref = (XF86ConfInputrefPtr) - XtCalloc(1, sizeof(XF86ConfInputrefRec)); - XF86OptionPtr opt = ptr->iref_option_lst; - - iref->iref_inputdev = ptr->iref_inputdev; - if (ptr->iref_inputdev_str) - iref->iref_inputdev_str = XtNewString(ptr->iref_inputdev_str); - while (opt) { - iref->iref_option_lst = xf86addNewOption(iref->iref_option_lst, - XtNewString(opt->opt_name), - opt->opt_val ? XtNewString(opt->opt_val) : NULL); - opt = (XF86OptionPtr)(opt->list.next); - } - - return (iref); -} - -static XF86ConfLayoutPtr -CopyLayout(XF86ConfLayoutPtr ptr) -{ - XF86ConfLayoutPtr lay = (XF86ConfLayoutPtr) - XtCalloc(1, sizeof(XF86ConfLayoutRec)); - XF86ConfAdjacencyPtr adj = ptr->lay_adjacency_lst, padj; - XF86ConfInactivePtr inac = ptr->lay_inactive_lst, pinac; - XF86ConfInputrefPtr iref = ptr->lay_input_lst, piref; - XF86OptionPtr opt = ptr->lay_option_lst; - - if (ptr->lay_identifier) - lay->lay_identifier = XtNewString(ptr->lay_identifier); - if (adj) { - padj = lay->lay_adjacency_lst = CopyAdjacency(adj); - adj = (XF86ConfAdjacencyPtr)(adj->list.next); - while (adj) { - padj->list.next = CopyAdjacency(adj); - padj = (XF86ConfAdjacencyPtr)(padj->list.next); - adj = (XF86ConfAdjacencyPtr)(adj->list.next); - } - } - if (inac) { - pinac = lay->lay_inactive_lst = CopyInactive(inac); - inac = (XF86ConfInactivePtr)(inac->list.next); - while (inac) { - pinac->list.next = CopyInactive(inac); - pinac = (XF86ConfInactivePtr)(pinac->list.next); - inac = (XF86ConfInactivePtr)(inac->list.next); - } - } - if (iref) { - piref = lay->lay_input_lst = CopyInputref(iref); - iref = (XF86ConfInputrefPtr)(iref->list.next); - while (iref) { - piref->list.next = CopyInputref(iref); - piref = (XF86ConfInputrefPtr)(piref->list.next); - iref = (XF86ConfInputrefPtr)(iref->list.next); - } - } - - while (opt) { - lay->lay_option_lst = xf86addNewOption(lay->lay_option_lst, - XtNewString(opt->opt_name), - opt->opt_val ? XtNewString(opt->opt_val) : NULL); - opt = (XF86OptionPtr)(opt->list.next); - } - - return (lay); -} - -static void -FreeLayout(XF86ConfLayoutPtr lay) -{ - static XF86ConfigRec xf86config; - - xf86config.conf_layout_lst = lay; - xf86removeLayout(&xf86config, lay); -} - -static int -LayoutConfig(void) -{ - int i; - XF86ConfLayoutPtr *layouts = NULL, rlayout = NULL, - layout = XF86Config->conf_layout_lst; - XF86ConfInputPtr input = XF86Config->conf_input_lst; - char **list = NULL, *identifier = NULL; - XF86ConfInputPtr *mouses = NULL, *keyboards = NULL, mouse, keyboard; - XF86ConfInputrefPtr iref, piref, mref, kref; - XF86ConfAdjacencyPtr adj, padj; - int nmouses, nkeyboards; - int nlist; - XF86OptionPtr option; - XF86ConfScreenPtr screen, *screens; - - nmouses = nkeyboards = 0; - while (input) { - if (strcmp(input->inp_driver, "mouse") == 0) { - mouses = (XF86ConfInputPtr*)XtRealloc((XtPointer)mouses, - (nmouses + 1) * sizeof(XF86ConfInputPtr)); - mouses[nmouses] = input; - ++nmouses; - } - else if (IS_KBDDRIV(input->inp_driver)) { - keyboards = (XF86ConfInputPtr*)XtRealloc((XtPointer)keyboards, - (nkeyboards + 1) * sizeof(XF86ConfInputPtr)); - keyboards[nkeyboards] = input; - ++nkeyboards; - } - input = (XF86ConfInputPtr)(input->list.next); - } - if (XF86Config->conf_screen_lst == NULL || - nmouses == 0 || nkeyboards == 0) { - XtFree((XtPointer)mouses); - XtFree((XtPointer)keyboards); - ClearScreen(); - refresh(); - Dialog("Configuration error", - "You need to configure (at least) one screen, mouse " - "and keyboard before creating a layout definition.", - 9, 50, " Ok ", NULL, 0); - return (-1); - } - - nlist = 0; - while (layout) { - list = (char**)XtRealloc((XtPointer)list, (nlist + 1) * sizeof(char*)); - list[nlist] = XtMalloc(sizeof(Edit) + - strlen(layout->lay_identifier) + 1); - sprintf(list[nlist], "%s%s", Edit, layout->lay_identifier); - layouts = (XF86ConfLayoutPtr*)XtRealloc((XtPointer)layouts, (nlist + 1) * - sizeof(XF86ConfLayoutPtr)); - layouts[nlist] = layout; - ++nlist; - layout = (XF86ConfLayoutPtr)(layout->list.next); - } - - layout = NULL; - - if (nlist) { - list = (char**)XtRealloc((XtPointer)list, (nlist + 2) * sizeof(char*)); - list[nlist++] = XtNewString("Add new layout"); - if (nlist == 2) { - i = strlen("Remove ") + strlen(layouts[0]->lay_identifier) + 1; - list[nlist] = XtMalloc(i); - XmuSnprintf(list[nlist], i, "Remove %s", layouts[0]->lay_identifier); - ++nlist; - } - else - list[nlist++] = XtNewString("Remove layout"); - ClearScreen(); - refresh(); - i = DialogMenu("Layout configuration", - "You can edit or remove a previously configured " - "layout, or add a new one.", 14, 60, 4, nlist, list, - " Ok ", " Cancel ", 0); - if (i < 0) { - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)layouts); - XtFree((XtPointer)mouses); - XtFree((XtPointer)keyboards); - return (-1); - } - if (nlist > 2 && i == nlist - 1) { - if (nlist > 3) { - for (i = 0; i < nlist - 2; i++) { - /* XXX Remove the "Edit " from list entries */ - memmove(list[i], list[i] + sizeof(Edit) - 1, - strlen(list[i]) - sizeof(Edit) + 2); - } - ClearScreen(); - refresh(); - i = DialogMenu("Remove layout", - "Select which layout to remove", - 13, 60, 4, nlist - 2, list, - " Remove ", " Cancel ", 0); - if (i < 0) { - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)layouts); - XtFree((XtPointer)mouses); - XtFree((XtPointer)keyboards); - return (-1); - } - layout = layouts[i]; - } - else - layout = layouts[0]; - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)layouts); - XtFree((XtPointer)mouses); - XtFree((XtPointer)keyboards); - xf86removeLayout(XF86Config, layout); - return (0); - } - if (i < nlist - 2) - layout = layouts[i]; - } - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)layouts); - - if (layout == NULL) { - char label[32]; - - layout = (XF86ConfLayoutPtr)XtCalloc(1, sizeof(XF86ConfLayoutRec)); - XmuSnprintf(label, sizeof(label), "Layout%d", nlist ? nlist - 2 : 0); - ClearScreen(); - refresh(); - identifier = - DialogInput("Layout identifier", - "Enter an identifier for your layout definition:", - 11, 40, label, - " Next >>", " Cancel ", 0); - if (identifier == NULL) { - XtFree((XtPointer)layout); - XtFree((XtPointer)mouses); - XtFree((XtPointer)keyboards); - return (-1); - } - } - else { - /* So that we can safely change it */ - rlayout = layout; - layout = CopyLayout(rlayout); - } - - - mouse = keyboard = NULL; - - /* Mouse */ - piref = NULL; - iref = layout->lay_input_lst; - while (iref) { - if (strcmp(iref->iref_inputdev->inp_driver, "mouse") == 0) { - if (mouse == NULL) - piref = iref; - if (xf86findOption(iref->iref_option_lst, "CorePointer")) { - mouse = iref->iref_inputdev; - piref = iref; - break; - } - } - iref = (XF86ConfInputrefPtr)(iref->list.next); - } - if (mouse == NULL) { - if (piref) { - mref = piref; - mouse = piref->iref_inputdev; - piref->iref_option_lst = - xf86addNewOption(piref->iref_option_lst, - XtNewString("CorePointer"), NULL); - } - else { - mouse = mouses[0]; - mref = iref = (XF86ConfInputrefPtr)XtCalloc(1, sizeof(XF86ConfInputrefRec)); - iref->iref_inputdev_str = XtNewString(mouse->inp_identifier); - iref->iref_inputdev = mouse; - iref->iref_option_lst = - xf86addNewOption(iref->iref_option_lst, - XtNewString("CorePointer"), NULL); - iref->list.next = layout->lay_input_lst; - if (layout->lay_input_lst == NULL) - layout->lay_input_lst = iref; - else { - iref->list.next = layout->lay_input_lst; - layout->lay_input_lst = iref; - } - } - } - else - mref = piref; - - /* XXX list fields are not allocated */ - if (nmouses > 1) { - nlist = 0; - list = (char**)XtMalloc(sizeof(char*)); - list[nlist++] = mouse->inp_identifier; - input = XF86Config->conf_input_lst; - while (input) { - if (input != mouse && strcmp(input->inp_driver, "mouse") == 0) { - list = (char**)XtRealloc((XtPointer)list, (nlist + 1) * sizeof(char*)); - list[nlist++] = input->inp_identifier; - } - input = (XF86ConfInputPtr)(input->list.next); - } - ClearScreen(); - refresh(); - i = DialogMenu("Select Core Pointer", - "Select the mouse connected to you computer", - 12, 60, 4, nlist, list, " Ok ", " Cancel ", 0); - if (i < 0) { - XtFree((XtPointer)mouses); - XtFree((XtPointer)keyboards); - XtFree((XtPointer)list); - if (layout->lay_identifier == NULL) - XtFree(identifier); - FreeLayout(layout); - return (-1); - } - if (i > 0) { - /* Did not select the default one */ - iref = layout->lay_input_lst; - while (iref) { - if (strcasecmp(iref->iref_inputdev_str, list[i]) == 0) { - if ((option = xf86findOption(iref->iref_option_lst, - "SendCoreEvents")) != NULL) { - XtFree(option->opt_name); - option->opt_name = XtNewString("CorePointer"); - } - else - iref->iref_option_lst = - xf86addNewOption(iref->iref_option_lst, - XtNewString("CorePointer"), NULL); - option = xf86findOption(mref->iref_option_lst, - "CorePointer"); - XtFree(option->opt_name); - option->opt_name = XtNewString("SendCoreEvents"); - break; - } - iref = (XF86ConfInputrefPtr)(iref->list.next); - } - } - - /* XXX Write code to add/remove more mouses here */ - } - - - /* Keyboard */ - piref = NULL; - iref = layout->lay_input_lst; - while (iref) { - if (IS_KBDDRIV(iref->iref_inputdev->inp_driver)) { - if (keyboard == NULL) - piref = iref; - if (xf86findOption(iref->iref_option_lst, "CoreKeyboard")) { - keyboard = iref->iref_inputdev; - piref = iref; - break; - } - } - iref = (XF86ConfInputrefPtr)(iref->list.next); - } - if (keyboard == NULL) { - if (piref) { - kref = piref; - keyboard = piref->iref_inputdev; - piref->iref_option_lst = - xf86addNewOption(piref->iref_option_lst, - XtNewString("CoreKeyboard"), NULL); - } - else { - keyboard = keyboards[0]; - kref = iref = (XF86ConfInputrefPtr)XtCalloc(1, sizeof(XF86ConfInputrefRec)); - iref->iref_inputdev_str = XtNewString(keyboard->inp_identifier); - iref->iref_inputdev = keyboard; - iref->iref_option_lst = - xf86addNewOption(iref->iref_option_lst, - XtNewString("CoreKeyboard"), NULL); - iref->list.next = layout->lay_input_lst; - if (layout->lay_input_lst == NULL) - layout->lay_input_lst = iref; - else { - iref->list.next = layout->lay_input_lst; - layout->lay_input_lst = iref; - } - } - } - else - kref = piref; - - /* XXX list fields are not allocated */ - if (nkeyboards > 1) { - nlist = 0; - list = (char**)XtMalloc(sizeof(char*)); - list[nlist++] = keyboard->inp_identifier; - input = XF86Config->conf_input_lst; - while (input) { - if (input != keyboard && IS_KBDDRIV(input->inp_driver)) { - list = (char**)XtRealloc((XtPointer)list, (nlist + 1) * sizeof(char*)); - list[nlist++] = input->inp_identifier; - } - input = (XF86ConfInputPtr)(input->list.next); - } - ClearScreen(); - refresh(); - i = DialogMenu("Select Core Keyboard", - "Select the keyboard connected to you computer", - 12, 60, 4, nlist, list, " Ok ", " Cancel ", 0); - if (i < 0) { - XtFree((XtPointer)mouses); - XtFree((XtPointer)keyboards); - XtFree((XtPointer)list); - if (layout->lay_identifier == NULL) - XtFree(identifier); - FreeLayout(layout); - return (-1); - } - if (i > 0) { - /* Did not select the default one */ - iref = layout->lay_input_lst; - while (iref) { - if (strcasecmp(iref->iref_inputdev_str, list[i]) == 0) { - if ((option = xf86findOption(iref->iref_option_lst, - "SendCoreEvents")) != NULL) { - XtFree(option->opt_name); - option->opt_name = XtNewString("CoreKeyboard"); - } - else - iref->iref_option_lst = - xf86addNewOption(iref->iref_option_lst, - XtNewString("CoreKeyboard"), NULL); - option = xf86findOption(kref->iref_option_lst, - "CoreKeyboard"); - XtFree(option->opt_name); - option->opt_name = XtNewString("SendCoreEvents"); - break; - } - iref = (XF86ConfInputrefPtr)(iref->list.next); - } - } - - /* XXX Write code to add/remove more keyboards here */ - } - - XtFree((XtPointer)mouses); - XtFree((XtPointer)keyboards); - - /* Just one screen */ - if (XF86Config->conf_screen_lst->list.next == NULL) { - ClearScreen(); - refresh(); - Dialog("Layout configuration", - (nmouses > 1 || nkeyboards > 1) ? - "As you have only one screen configured, I can now finish " - "creating this Layout configuration." - : - "As you have only one screen, mouse and keyboard configured, " - "I can now finish creating this Layout configuration.", - 12, 60, " Finish ", NULL, 0); - - goto LayoutFinish; - } - - - /* The code below just adds a screen to the right of the last - * one, or allows removing a screen. - * Needs some review, and adding more options. - */ - - /*CONSTCOND*/ - while (1) { - static char *screen_opts[] = { - "Add a new screen to layout", - "Remove screen from layout", - "Finish layout configuration", - }; - - ClearScreen(); - refresh(); - i = DialogMenu("Layout configuration", "Please choose one option:", - 12, 60, 3, sizeof(screen_opts) / sizeof(screen_opts[0]), - screen_opts, " Done ", " Cancel all changes ", 2); - - /* cancel */ - if (i < 0) { - XtFree(identifier); - FreeLayout(layout); - return (-1); - } - - /* add new screen */ - else if (i == 0) { - nlist = 0; - list = NULL; - screens = NULL; - screen = XF86Config->conf_screen_lst; - while (screen) { - adj = layout->lay_adjacency_lst; - while (adj) { - if (adj->adj_screen == screen) - break; - adj = (XF86ConfAdjacencyPtr)(adj->list.next); - } - if (adj == NULL) { - list = (char**)XtRealloc((XtPointer)list, (nlist + 1) * sizeof(char*)); - screens = (XF86ConfScreenPtr*)XtRealloc((XtPointer)screens, - (nlist + 1) * sizeof(XF86ConfScreenPtr)); - /* NOT duplicated */ - list[nlist] = screen->scrn_identifier; - screens[nlist] = screen; - ++nlist; - } - screen = (XF86ConfScreenPtr)(screen->list.next); - } - - if (nlist == 0) - continue; - - ClearScreen(); - refresh(); - i = DialogMenu("Layout add screen", "Choose screen to add:", - 12, 60, 3, nlist, list, - " Add ", " Cancel ", 0); - if (i >= 0) { - padj = layout->lay_adjacency_lst; - adj = (XF86ConfAdjacencyPtr) - XtCalloc(1, sizeof(XF86ConfAdjacencyRec)); - adj->adj_screen = screens[i]; - if (padj == NULL) { - adj->adj_where = CONF_ADJ_ABSOLUTE; - layout->lay_adjacency_lst = adj; - } - else { - while (padj->list.next) - padj = (XF86ConfAdjacencyPtr)(padj->list.next); - padj->list.next = adj; - adj->adj_where = CONF_ADJ_RIGHTOF; - adj->adj_refscreen = - XtNewString(padj->adj_screen->scrn_identifier); - } - } - XtFree((XtPointer)list); - XtFree((XtPointer)screens); - } - - /* remove a screen */ - else if (i == 1) { - nlist = 0; - list = NULL; - screens = NULL; - adj = layout->lay_adjacency_lst; - - while (adj) { - list = (char**)XtRealloc((XtPointer)list, (nlist + 1) * sizeof(char*)); - screens = (XF86ConfScreenPtr*)XtRealloc((XtPointer)screens, - (nlist + 1) * sizeof(XF86ConfScreenPtr)); - list[nlist] = adj->adj_screen->scrn_identifier; - screens[nlist] = adj->adj_screen; - ++nlist; - adj = (XF86ConfAdjacencyPtr)(adj->list.next); - } - - if (nlist == 0) - continue; - - ClearScreen(); - refresh(); - i = DialogMenu("Layout remove screen", "Choose screen to remove:", - 12, 60, 3, nlist, list, - " Remove ", " Cancel ", 0); - - adj = padj = layout->lay_adjacency_lst; - while (adj) { - if (adj->adj_screen == screens[i]) { - padj = (XF86ConfAdjacencyPtr)(padj->list.next); - if (padj && adj->adj_where == CONF_ADJ_RIGHTOF && - padj->adj_where == CONF_ADJ_RIGHTOF) { - XtFree(padj->adj_refscreen); - padj->adj_refscreen = XtNewString(adj->adj_refscreen); - } - xf86removeAdjacency(layout, adj); - break; - } - padj = adj; - adj = (XF86ConfAdjacencyPtr)(padj->list.next); - } - XtFree((XtPointer)list); - XtFree((XtPointer)screens); - } - - /* finish screen configuration */ - else - break; - } - -LayoutFinish: - if (layout->lay_adjacency_lst == NULL) { - adj = (XF86ConfAdjacencyPtr)XtCalloc(1, sizeof(XF86ConfAdjacencyRec)); - adj->adj_screen = XF86Config->conf_screen_lst; - adj->adj_screen_str = XtNewString(XF86Config->conf_screen_lst->scrn_identifier); - adj->adj_where = CONF_ADJ_ABSOLUTE; - layout->lay_adjacency_lst = adj; - } - if (rlayout) { - /* just edited this layout */ - if (nmouses > 1 || nkeyboards > 1) { - XF86ConfAdjacencyPtr tadj = rlayout->lay_adjacency_lst; - XF86ConfInactivePtr tinac = rlayout->lay_inactive_lst; - XF86ConfInputrefPtr tinp = rlayout->lay_input_lst; - - rlayout->lay_adjacency_lst = layout->lay_adjacency_lst; - rlayout->lay_inactive_lst = layout->lay_inactive_lst; - rlayout->lay_input_lst = layout->lay_input_lst; - - layout->lay_adjacency_lst = tadj; - layout->lay_inactive_lst = tinac; - layout->lay_input_lst = tinp; - FreeLayout(layout); - } - return (0); - } - else { - layout->lay_identifier = identifier; - XF86Config->conf_layout_lst = - xf86addLayout(XF86Config->conf_layout_lst, layout); - } - - return (1); -} - -static void -ClearScreen(void) -{ - int i, j; - - wattrset(stdscr, screen_attr); - for (i = 0; i < LINES; i++) { - wmove(stdscr, i, 0); - for (j = 0; j < COLS; j++) - waddch(stdscr, ACS_PLUS); - } - touchwin(stdscr); -} - -static int -Dialog(char *title, char * prompt, int height, int width, - char *label1, char *label2, int button) -{ - int x, x1, x2, y, key, l1len, l2len; - WINDOW *dialog; - - x = (COLS - width) / 2; - y = (LINES - height) / 2; - - dialog = newwin(height, width, y, x); - keypad(dialog, TRUE); - - PaintWindow(dialog, title, 0, 0, height, width); - wattrset(dialog, dialog_attr); - PrintWrap(dialog, prompt, width - 3, 2, 3); - - l1len = strlen(label1); - if (label2) - l2len = strlen(label2); - else { - l2len = button = 0; - } - - x1 = (width - (l1len + l2len)) / (label2 ? 3 : 2); - x2 = x1 + x1 + l1len; - y = height - 3; - if (!button) { - if (label2) - PaintButton(dialog, label2, y, x2, FALSE); - PaintButton(dialog, label1, y, x1, TRUE); - } - else { - PaintButton(dialog, label1, y, x1, FALSE); - if (label2) - PaintButton(dialog, label2, y, x2, TRUE); - } - wrefresh(dialog); - - /*CONSTCOND*/ - while (1) { - key = wgetch(dialog); - switch (key) { - case KEY_LEFT: - case KEY_RIGHT: - if (!button) { - if (label2) { - button = 1; - PaintButton(dialog, label1, y, x1, FALSE); - PaintButton(dialog, label2, y, x2, TRUE); - } - - } - else { - if (label2) { - button = 0; - PaintButton(dialog, label2, y, x2, FALSE); - PaintButton(dialog, label1, y, x1, TRUE); - } - } - wrefresh(dialog); - break; - case ' ': - case '\r': - case '\n': - delwin(dialog); - return button; - } - } - /*NOTREACHED*/ -} - -static void -PaintWindow(WINDOW *win, char *title_str, int y, int x, int height, int width) -{ - int i, j; - - if (title_str != NULL) { - j = (width - strlen(title_str)) / 2 - 1; - - wattrset(win, title_attr); - wmove(win, x, y); - for (i = 0; i < j; i++) - waddch(win, ' '); - waddstr(win, title_str); - for (; i < width; i++) - waddch(win, ' '); - } - - wattrset(win, 0); - - for (i = 1; i < height; i++) { - wmove(win, y + i, x); - for (j = 0; j < width; j++) - if (i == height - 1 && !j) - waddch(win, highlight_border_attr | ACS_LLCORNER); - else if (i == height - 1 && j == width - 1) - waddch(win, shadow_border_attr | ACS_LRCORNER); - else if (i == height - 1) - waddch(win, shadow_border_attr | ACS_HLINE); - else if (!j) - waddch(win, highlight_border_attr | ACS_VLINE); - else if (j == width - 1) - waddch(win, shadow_border_attr | ACS_VLINE); - else - waddch(win, dialog_attr | ' '); - } - -} - -static void -PaintBox(WINDOW *win, int y, int x, int height, int width) -{ - int i, j; - - wattrset(win, 0); - - for (i = 0; i < height; i++) { - wmove(win, y + i, x); - for (j = 0; j < width; j++) - if (!i && !j) - waddch(win, shadow_border_attr | ACS_ULCORNER); - else if (i == height - 1 && !j) - waddch(win, shadow_border_attr | ACS_LLCORNER); - else if (!i && j == width-1) - waddch(win, highlight_border_attr | ACS_URCORNER); - else if (i == height - 1 && j == width - 1) - waddch(win, highlight_border_attr | ACS_LRCORNER); - else if (!i) - waddch(win, shadow_border_attr | ACS_HLINE); - else if (i == height - 1) - waddch(win, highlight_border_attr | ACS_HLINE); - else if (!j) - waddch(win, shadow_border_attr | ACS_VLINE); - else if (j == width - 1) - waddch(win, highlight_border_attr | ACS_VLINE); - else - waddch(win, dialog_attr | ' '); - } - -} - -static void -PaintButton(WINDOW *win, char *label, int y, int x, int selected) -{ - int i, temp; - - wmove(win, y, x); - wattrset(win, selected ? button_active_attr : button_inactive_attr); - waddstr(win, selected ? "[" : " "); - temp = strspn(label, " "); - label += temp; - wattrset(win, selected ? button_active_attr : button_inactive_attr); - for (i = 0; i < temp; i++) - waddch(win, ' '); - wattrset(win, selected ? button_active_attr : button_inactive_attr); - waddch(win, label[0]); - wattrset(win, selected ? button_active_attr : button_inactive_attr); - waddstr(win, label + 1); - wattrset(win, selected ? button_active_attr : button_inactive_attr); - waddstr(win, selected ? "]" : " "); - wmove(win, y, x + temp + 1); -} - -static void -PrintWrap(WINDOW *win, char *prompt, int width, int y, int x) -{ - int cur_x, cur_y, len, yinc; - char *word, *tempstr = XtMalloc(strlen(prompt) + 1); - - cur_x = x; - cur_y = y; - - while (*prompt == '\n') { - ++cur_y; - ++prompt; - } - - strcpy(tempstr, prompt); - - for (word = strtok(tempstr, " \n"); word != NULL; word = strtok(NULL, " \n")) { - yinc = 0; - len = strlen(word); - while (prompt[word - tempstr + len + yinc] == '\n') - ++yinc; - if (cur_x + strlen(word) > width) { - cur_y++; - cur_x = x; - } - wmove(win, cur_y, cur_x); - waddstr(win, word); - getyx(win, cur_y, cur_x); - if (yinc) { - cur_y += yinc; - cur_x = x; - } - else - cur_x++; - } - - free(tempstr); -} - -static int -DialogMenu(char *title, char *prompt, int height, int width, int menu_height, - int item_no, char **items, char *label1, char *label2, int choice) -{ - int i, x, y, cur_x, cur_y, box_x, box_y, key = 0, button = 0, - scrlx = 0, max_choice, nscroll, max_scroll, x1, x2, l1len, l2len; - WINDOW *dialog, *menu; - - max_choice = MIN(menu_height, item_no); - max_scroll = MAX(0, item_no - max_choice); - - x = (COLS - width) / 2; - y = (LINES - height) / 2; - - dialog = newwin(height, width, y, x); - keypad(dialog, TRUE); - - PaintWindow(dialog, title, 0, 0, height, width); - - wattrset(dialog, dialog_attr); - PrintWrap(dialog, prompt, width - 3, 2, 3); - - l1len = strlen(label1); - l2len = strlen(label2); - - x1 = (width - (l1len + l2len)) / 3; - x2 = x1 + x1 + l1len; - - menu_width = width - 6; - getyx(dialog, cur_y, cur_x); - box_y = cur_y + 1; - box_x = (width - menu_width) / 2 - 1; - - menu = subwin(dialog, menu_height, menu_width, y + box_y + 1, x + box_x + 1); - keypad(menu, TRUE); - - /* draw a box around the menu items */ - PaintBox(dialog, box_y, box_x, menu_height + 2, menu_width + 2); - - item_x = 3; - - if (choice > menu_height) { - scrlx = MIN(max_scroll, choice); - choice -= scrlx; - } - - for (i = 0; i < max_choice; i++) - PaintItem(menu, items[i + scrlx], i, i == choice); - PaintScroller(menu, scrlx + choice, item_no, menu_height); - wnoutrefresh(menu); - - x = width / 2 - 11; - y = height - 3; - PaintButton(dialog, label2, y, x2, FALSE); - PaintButton(dialog, label1, y, x1, TRUE); - wrefresh(dialog); - - /*CONSTCOND*/ - while (1) { - i = choice; - key = wgetch(dialog); - - if (menu_height > 1 && key == KEY_PPAGE) { - if (!choice) { - if (scrlx) { - /* Scroll menu down */ - getyx(dialog, cur_y, cur_x); - - nscroll = max_choice > scrlx ? -scrlx : -max_choice; - scrollok(menu, TRUE); - wscrl(menu, nscroll); - scrollok(menu, FALSE); - - PaintItem(menu, items[i = scrlx + nscroll], 0, TRUE); - for (++i; i <= scrlx; i++) - PaintItem(menu, items[i], i - (scrlx + nscroll), FALSE); - scrlx += nscroll; - PaintScroller(menu, scrlx + choice, item_no, menu_height); - wnoutrefresh(menu); - wrefresh(dialog); - continue; - } - } - i = 0; - } - else if (menu_height > 1 && key == KEY_NPAGE) { - if (choice == max_choice - 1) { - if (scrlx < max_scroll) { - /* Scroll menu up */ - getyx(dialog, cur_y, cur_x); - - nscroll = (scrlx + max_choice > max_scroll ? - max_scroll : scrlx + max_choice) - scrlx; - scrollok(menu, TRUE); - wscrl(menu, nscroll); - scrollok(menu, FALSE); - - scrlx += nscroll; - for (i = 0; i < max_choice - 1; i++) - PaintItem(menu, items[i + scrlx], i, FALSE); - PaintItem(menu, items[i + scrlx], max_choice - 1, TRUE); - PaintScroller(menu, scrlx + choice, item_no, menu_height); - wnoutrefresh(menu); - wrefresh(dialog); - continue; - } - } - i = max_choice - 1; - } - else if (key == KEY_UP) { - if (!choice) { - if (scrlx) { - /* Scroll menu down */ - getyx(dialog, cur_y, cur_x); - if (menu_height > 1) { - PaintItem(menu, items[scrlx], 0, FALSE); - scrollok(menu, TRUE); - wscrl(menu, - 1); - scrollok(menu, FALSE); - } - scrlx--; - PaintItem(menu, items[scrlx], 0, TRUE); - PaintScroller(menu, scrlx + choice, item_no, menu_height); - wnoutrefresh(menu); - wrefresh(dialog); - continue; - } - } - else - i = choice - 1; - } - else if (key == KEY_DOWN) { - if (choice == max_choice - 1) { - if (scrlx + choice < item_no - 1) { - /* Scroll menu up */ - getyx(dialog, cur_y, cur_x); - if (menu_height > 1) { - PaintItem(menu, items[scrlx + max_choice - 1], max_choice - 1, FALSE); - scrollok(menu, TRUE); - scroll(menu); - scrollok(menu, FALSE); - } - scrlx++; - PaintItem(menu, items[scrlx + max_choice - 1], max_choice - 1, TRUE); - PaintScroller(menu, scrlx + choice, item_no, menu_height); - wnoutrefresh(menu); - wrefresh(dialog); - continue; - } - } - else - i = MIN(choice + 1, item_no - 1); - } - - if (i != choice) { - getyx(dialog, cur_y, cur_x); - PaintItem(menu, items[scrlx + choice], choice, FALSE); - - choice = i; - PaintItem(menu, items[scrlx + choice], choice, TRUE); - PaintScroller(menu, scrlx + choice, item_no, menu_height); - wnoutrefresh(menu); - wmove(dialog, cur_y, cur_x); - wrefresh(dialog); - continue; - } - - switch (key) { - case TAB: - case KEY_LEFT: - case KEY_RIGHT: - if (!button) { - button = 1; - PaintButton(dialog, label1, y, x1, FALSE); - PaintButton(dialog, label2, y, x2, TRUE); - } - else { - button = 0; - PaintButton(dialog, label2, y, x2, FALSE); - PaintButton(dialog, label1, y, x1, TRUE); - } - wrefresh(dialog); - break; - case ' ': - case '\r': - case '\n': - delwin(dialog); - return (!button ? scrlx + choice : -1); - default: - for (i = scrlx + choice + 1; i < item_no; i++) - if (toupper(items[i][0]) == toupper(key)) - break; - if (i == item_no) { - for (i = 0; i < scrlx + choice; i++) - if (toupper(items[i][0]) == toupper(key)) - break; - } - getyx(dialog, cur_y, cur_x); - if (i < item_no && i != scrlx + choice) { - if (i >= scrlx && i < scrlx + max_choice) { - /* it is already visible */ - PaintItem(menu, items[scrlx + choice], choice, FALSE); - choice = i - scrlx; - } - else { - scrlx = MIN(i, max_scroll); - choice = i - scrlx; - for (i = 0; i < max_choice; i++) - if (i != choice) - PaintItem(menu, items[scrlx + i], i, FALSE); - } - PaintItem(menu, items[scrlx + choice], choice, TRUE); - PaintScroller(menu, scrlx + choice, item_no, menu_height); - wnoutrefresh(menu); - wmove(dialog, cur_y, cur_x); - wrefresh(dialog); - } - break; - } - } - /*NOTREACHED*/ -} - -static void -PaintItem(WINDOW *win, char *item, int choice, int selected) -{ - int i; - - wattrset(win, selected ? title_attr : dialog_attr); - wmove(win, choice, 1); - for (i = 1; i < menu_width; i++) - waddch(win, ' '); - wmove(win, choice, item_x); - wattrset(win, selected ? title_attr : dialog_attr); - waddstr(win, item); -} - -static void -PaintScroller(WINDOW *win, int offset, int lenght, int visible) -{ - int i, pos; - - if (lenght > visible) - pos = (visible / (double)lenght) * offset; - else - pos = offset; - wattrset(win, shadow_border_attr); - for (i = 0; i < visible; i++) { - wmove(win, i, 0); - waddch(win, i == pos ? ACS_BLOCK : ACS_VLINE); - } -} - -static int -DialogCheckBox(char *title, char *prompt, int height, int width, int menu_height, - int item_no, char **items, char *label1, char *label2, char *checks) -{ - int i, x, y, cur_x, cur_y, box_x, box_y, key = 0, button = 0, choice = 0, - scrlx = 0, max_choice, nscroll, max_scroll, x1, x2, l1len, l2len; - WINDOW *dialog, *menu; - - max_choice = MIN(menu_height, item_no); - max_scroll = MAX(0, item_no - max_choice); - - x = (COLS - width) / 2; - y = (LINES - height) / 2; - - dialog = newwin(height, width, y, x); - keypad(dialog, TRUE); - - PaintWindow(dialog, title, 0, 0, height, width); - - wattrset(dialog, dialog_attr); - PrintWrap(dialog, prompt, width - 3, 2, 3); - - l1len = strlen(label1); - l2len = strlen(label2); - - x1 = (width - (l1len + l2len)) / 3; - x2 = x1 + x1 + l1len; - - menu_width = width - 6; - getyx(dialog, cur_y, cur_x); - box_y = cur_y + 1; - box_x = (width - menu_width) / 2 - 1; - - menu = subwin(dialog, menu_height, menu_width, y + box_y + 1, x + box_x + 1); - keypad(menu, TRUE); - - /* draw a box around the menu items */ - PaintBox(dialog, box_y, box_x, menu_height + 2, menu_width + 2); - - item_x = 3; - - for (i = 0; i < max_choice; i++) - PaintCheckItem(menu, items[i + scrlx], i, i == 0, checks[i + scrlx]); - PaintScroller(menu, scrlx + choice, item_no, menu_height); - wnoutrefresh(menu); - - x = width / 2 - 11; - y = height - 3; - PaintButton(dialog, label2, y, x2, FALSE); - PaintButton(dialog, label1, y, x1, TRUE); - wrefresh(dialog); - - /*CONSTCOND*/ - while (1) { - i = choice; - key = wgetch(dialog); - - if (menu_height > 1 && key == KEY_PPAGE) { - if (!choice) { - if (scrlx) { - /* Scroll menu down */ - getyx(dialog, cur_y, cur_x); - - nscroll = max_choice > scrlx ? -scrlx : -max_choice; - scrollok(menu, TRUE); - wscrl(menu, nscroll); - scrollok(menu, FALSE); - - i = scrlx + nscroll; - PaintCheckItem(menu, items[i], 0, TRUE, checks[i]); - for (++i; i <= scrlx; i++) - PaintCheckItem(menu, items[i], i - (scrlx + nscroll), FALSE, checks[i]); - scrlx += nscroll; - PaintScroller(menu, scrlx + choice, item_no, menu_height); - wnoutrefresh(menu); - wrefresh(dialog); - continue; - } - } - i = 0; - } - else if (menu_height > 1 && key == KEY_NPAGE) { - if (choice == max_choice - 1) { - if (scrlx < max_scroll) { - /* Scroll menu up */ - getyx(dialog, cur_y, cur_x); - - nscroll = (scrlx + max_choice > max_scroll ? - max_scroll : scrlx + max_choice) - scrlx; - scrollok(menu, TRUE); - wscrl(menu, nscroll); - scrollok(menu, FALSE); - - scrlx += nscroll; - for (i = 0; i < max_choice - 1; i++) - PaintCheckItem(menu, items[i + scrlx], i, FALSE, checks[i + scrlx]); - PaintCheckItem(menu, items[i + scrlx], max_choice - 1, TRUE, checks[i + scrlx]); - PaintScroller(menu, scrlx + choice, item_no, menu_height); - wnoutrefresh(menu); - wrefresh(dialog); - continue; - } - } - i = max_choice - 1; - } - else if (key == KEY_UP) { - if (!choice) { - if (scrlx) { - /* Scroll menu down */ - getyx(dialog, cur_y, cur_x); - if (menu_height > 1) { - PaintCheckItem(menu, items[scrlx], 0, FALSE, checks[scrlx]); - scrollok(menu, TRUE); - wscrl(menu, - 1); - scrollok(menu, FALSE); - } - scrlx--; - PaintCheckItem(menu, items[scrlx], 0, TRUE, checks[scrlx]); - PaintScroller(menu, scrlx + choice, item_no, menu_height); - wnoutrefresh(menu); - wrefresh(dialog); - continue; - } - } - else - i = choice - 1; - } - else if (key == KEY_DOWN) { - if (choice == max_choice - 1) { - if (scrlx + choice < item_no - 1) { - /* Scroll menu up */ - getyx(dialog, cur_y, cur_x); - if (menu_height > 1) { - PaintCheckItem(menu, items[scrlx + max_choice - 1], max_choice - 1, FALSE, checks[scrlx + max_choice - 1]); - scrollok(menu, TRUE); - scroll(menu); - scrollok(menu, FALSE); - } - scrlx++; - PaintCheckItem(menu, items[scrlx + max_choice - 1], max_choice - 1, TRUE, checks[scrlx + max_choice - 1]); - PaintScroller(menu, scrlx + choice, item_no, menu_height); - wnoutrefresh(menu); - wrefresh(dialog); - continue; - } - } - else - i = MIN(choice + 1, item_no - 1); - } - - if (i != choice) { - getyx(dialog, cur_y, cur_x); - PaintCheckItem(menu, items[scrlx + choice], choice, FALSE, checks[scrlx + choice]); - - choice = i; - PaintCheckItem(menu, items[scrlx + choice], choice, TRUE, checks[scrlx + choice]); - PaintScroller(menu, scrlx + choice, item_no, menu_height); - wnoutrefresh(menu); - wmove(dialog, cur_y, cur_x); - wrefresh(dialog); - continue; - } - - switch (key) { - case TAB: - case KEY_LEFT: - case KEY_RIGHT: - if (!button) { - button = 1; - PaintButton(dialog, label1, y, x1, FALSE); - PaintButton(dialog, label2, y, x2, TRUE); - } - else { - button = 0; - PaintButton(dialog, label2, y, x2, FALSE); - PaintButton(dialog, label1, y, x1, TRUE); - } - wrefresh(dialog); - break; - case ' ': - getyx(dialog, cur_y, cur_x); - checks[scrlx + choice] = !checks[scrlx + choice]; - PaintCheckItem(menu, items[scrlx + choice], choice, TRUE, checks[scrlx + choice]); - wmove(dialog, cur_y, cur_x); - wnoutrefresh(menu); - wrefresh(dialog); - break; - case '\r': - case '\n': - delwin(dialog); - return (!button ? 0 : -1); - default: - for (i = scrlx + choice + 1; i < item_no; i++) - if (toupper(items[i][0]) == toupper(key)) - break; - if (i == item_no) { - for (i = 0; i < scrlx + choice; i++) - if (toupper(items[i][0]) == toupper(key)) - break; - } - getyx(dialog, cur_y, cur_x); - if (i < item_no && i != scrlx + choice) { - if (i >= scrlx && i < scrlx + max_choice) { - /* it is already visible */ - PaintCheckItem(menu, items[scrlx + choice], choice, FALSE, checks[scrlx + choice]); - choice = i - scrlx; - } - else { - scrlx = MIN(i, max_scroll); - choice = i - scrlx; - for (i = 0; i < max_choice; i++) - if (i != choice) - PaintCheckItem(menu, items[scrlx + i], i, FALSE, checks[scrlx + i]); - } - PaintCheckItem(menu, items[scrlx + choice], choice, TRUE, checks[scrlx + choice]); - PaintScroller(menu, scrlx + choice, item_no, menu_height); - wnoutrefresh(menu); - wmove(dialog, cur_y, cur_x); - wrefresh(dialog); - } - break; - } - } - /*NOTREACHED*/ -} - -static void -PaintCheckItem(WINDOW *win, char *item, int choice, int selected, int checked) -{ - int i; - - wattrset(win, selected ? title_attr : dialog_attr); - wmove(win, choice, 1); - for (i = 1; i < menu_width; i++) - waddch(win, ' '); - wmove(win, choice, item_x); - wattrset(win, selected ? title_attr : dialog_attr); - wprintw(win, "[%c] ", checked ? 'X' : ' '); - waddstr(win, item); -} - -static char * -DialogInput(char *title, char *prompt, int height, int width, char *init, - char *label1, char *label2, int def_button) -{ - int i, x, y, box_y, box_x, box_width, len, - input_x = 0, scrlx = 0, key = 0, button = -1, x1, x2, l1len, l2len; - char instr[1024 + 1]; - WINDOW *dialog; - - x = (COLS - width) / 2; - y = (LINES - height) / 2; - - dialog = newwin(height, width, y, x); - keypad(dialog, TRUE); - - PaintWindow(dialog, title, 0, 0, height, width); - - wattrset(dialog, dialog_attr); - PrintWrap(dialog, prompt, width - 3, 2, 3); - - l1len = strlen(label1); - l2len = strlen(label2); - - x1 = (width - (l1len + l2len)) / 3; - x2 = x1 + x1 + l1len; - - box_width = width - 6; - getyx(dialog, y, x); - box_y = y + 2; - box_x = (width - box_width) / 2; - PaintBox(dialog, y + 1, box_x - 1, 3, box_width + 2); - - x = width / 2 - 11; - y = height - 3; - PaintButton(dialog, label2, y, x2, def_button == 1); - PaintButton(dialog, label1, y, x1, def_button == 0); - - memset(instr, '\0', sizeof(instr)); - wmove(dialog, box_y, box_x); - wattrset(dialog, dialog_attr); - if (init) - strncpy(instr, init, sizeof(instr) - 2); - - input_x = len = strlen(instr); - if (input_x >= box_width) { - scrlx = input_x - box_width + 1; - input_x = box_width - 1; - for (i = 0; i < box_width - 1; i++) - waddch(dialog, instr[scrlx + i]); - } - else - waddstr(dialog, instr); - - wmove(dialog, box_y, box_x + input_x); - - wrefresh(dialog); - - while (1) { - key = wgetch(dialog); - if (button == -1) { /* Input box selected */ - switch (key) { - case TAB: - case KEY_UP: - case KEY_DOWN: - break; - case KEY_LEFT: - if (scrlx && !input_x) { - --scrlx; - wmove(dialog, box_y, box_x); - for (i = 0; i < box_width; i++) - waddch(dialog, instr[scrlx + input_x + i] ? instr[scrlx + input_x + i] : ' '); - wmove(dialog, box_y, input_x + box_x); - wrefresh(dialog); - } - else if (input_x) { - wmove(dialog, box_y, --input_x + box_x); - wrefresh(dialog); - } - continue; - case KEY_RIGHT: - if (input_x + scrlx < len) { - if (input_x == box_width - 1) { - ++scrlx; - wmove(dialog, box_y, box_x); - for (i = scrlx; i < scrlx + box_width; i++) - waddch(dialog, instr[i] ? instr[i] : ' '); - wmove(dialog, box_y, input_x + box_x); - wrefresh(dialog); - } - else { - wmove(dialog, box_y, ++input_x + box_x); - wrefresh(dialog); - } - } - continue; - case KEY_BACKSPACE: - case 0177: -#if defined(__SCO__) || defined(__UNIXWARE__) - case '\b': -#endif - if (input_x || scrlx) { - wattrset(dialog, dialog_attr); - - if (scrlx + input_x < len) - memmove(instr + scrlx + input_x - 1, - instr + scrlx + input_x, - len - (scrlx + input_x)); - instr[--len] = '\0'; - - if (!input_x) { - scrlx = scrlx < box_width - 1 ? 0 : scrlx - (box_width - 1); - wmove(dialog, box_y, box_x); - for (i = 0; i < box_width; i++) - waddch(dialog, instr[scrlx + input_x + i] ? instr[scrlx + input_x + i] : ' '); - input_x = len - scrlx; - } - else { - wmove(dialog, box_y, --input_x + box_x); - for (i = scrlx + input_x; i < len && - i < scrlx + box_width; i++) - waddch(dialog, instr[i]); - if (i < scrlx + box_width) - waddch(dialog, ' '); - } - wmove(dialog, box_y, input_x + box_x); - wrefresh(dialog); - } - continue; - case KEY_HOME: - case CONTROL_A: - wmove(dialog, box_y, box_x); - if (scrlx != 0) { - scrlx = 0; - for (i = 0; i < box_width; i++) - waddch(dialog, instr[i] ? instr[i] : ' '); - } - input_x = 0; - wmove(dialog, box_y, box_x); - wrefresh(dialog); - break; - case CONTROL_D: - if (input_x + scrlx < len) { - memmove(instr + scrlx + input_x, - instr + scrlx + input_x + 1, - len - (scrlx + input_x)); - instr[--len] = '\0'; - for (i = scrlx + input_x; i < len && - i < scrlx + box_width; i++) - waddch(dialog, instr[i]); - if (i < scrlx + box_width) - waddch(dialog, ' '); - wmove(dialog, box_y, input_x + box_x); - wrefresh(dialog); - } - break; - case CONTROL_E: - case KEY_END: - if (box_width + scrlx < len) { - input_x = box_width - 1; - scrlx = len - box_width + 1; - wmove(dialog, box_y, box_x); - for (i = scrlx; i < scrlx + box_width; i++) - waddch(dialog, instr[i] ? instr[i] : ' '); - wmove(dialog, box_y, input_x + box_x); - wrefresh(dialog); - } - else { - input_x = len - scrlx; - wmove(dialog, box_y, input_x + box_x); - wrefresh(dialog); - } - break; - case CONTROL_K: - if (len) { - for (i = input_x; i < box_width; i++) - waddch(dialog, ' '); - for (i = scrlx + input_x; i < len; i++) - instr[i] = '\0'; - len = scrlx + input_x; - wmove(dialog, box_y, box_x + input_x); - wrefresh(dialog); - } - break; - default: - if (key < 0x100 && isprint(key)) { - if (scrlx + input_x < sizeof(instr) - 1) { - wattrset(dialog, dialog_attr); - if (scrlx + input_x < len) { - memmove(instr + scrlx + input_x + 1, - instr + scrlx + input_x, - len - (scrlx + input_x)); - } - instr[scrlx + input_x] = key; - instr[++len] = '\0'; - if (input_x == box_width - 1) { - scrlx++; - wmove(dialog, box_y, box_x); - for (i = 0; i < box_width - 1; i++) - waddch(dialog, instr[scrlx + i]); - } - else { - wmove(dialog, box_y, input_x++ + box_x); - for (i = scrlx + input_x - 1; i < len && - i < scrlx + box_width; i++) - waddch(dialog, instr[i]); - wmove(dialog, box_y, input_x + box_x); - } - wrefresh(dialog); - } - else - flash(); /* Alarm user about overflow */ - continue; - } - } - } - - switch (key) { - case KEY_UP: - case KEY_LEFT: - switch (button) { - case -1: - button = 1; /* Indicates "Cancel" button is selected */ - PaintButton(dialog, label1, y, x1, FALSE); - PaintButton(dialog, label2, y, x2, TRUE); - wrefresh(dialog); - break; - case 0: - button = -1; /* Indicates input box is selected */ - PaintButton(dialog, label2, y, x2, FALSE); - PaintButton(dialog, label1, y, x1, TRUE); - wmove(dialog, box_y, box_x + input_x); - wrefresh(dialog); - break; - case 1: - button = 0; /* Indicates "OK" button is selected */ - PaintButton(dialog, label2, y, x2, FALSE); - PaintButton(dialog, label1, y, x1, TRUE); - wrefresh(dialog); - break; - } - break; - case TAB: - case KEY_DOWN: - case KEY_RIGHT: - switch (button) { - case -1: - button = 0; /* Indicates "OK" button is selected */ - PaintButton(dialog, label2, y, x2, FALSE); - PaintButton(dialog, label1, y, x1, TRUE); - wrefresh(dialog); - break; - case 0: - button = 1; /* Indicates "Cancel" button is selected */ - PaintButton(dialog, label1, y, x1, FALSE); - PaintButton(dialog, label2, y, x2, TRUE); - wrefresh(dialog); - break; - case 1: - button = -1; /* Indicates input box is selected */ - PaintButton(dialog, label2, y, x2, FALSE); - PaintButton(dialog, label1, y, x1, TRUE); - wmove(dialog, box_y, box_x + input_x); - wrefresh(dialog); - break; - } - break; - case ' ': - case '\r': - case '\n': - delwin(dialog); - return (button != 1 ? XtNewString(instr) : NULL); - } - } -} diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/up.xbm b/xorg-server/hw/xfree86/utils/xorgcfg/up.xbm deleted file mode 100644 index 64f8f9ec4..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/up.xbm +++ /dev/null @@ -1,8 +0,0 @@ -#define up_width 19 -#define up_height 19 -static unsigned char up_bits[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, - 0x00, 0x07, 0x00, 0x80, 0x0f, 0x00, 0xc0, 0x1f, 0x00, 0xe0, 0x3f, 0x00, - 0xf0, 0x7f, 0x00, 0xf8, 0xff, 0x00, 0xfc, 0xff, 0x01, 0x80, 0x0f, 0x00, - 0x80, 0x0f, 0x00, 0x80, 0x0f, 0x00, 0x80, 0x0f, 0x00, 0x80, 0x0f, 0x00, - 0x80, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/vidmode.c b/xorg-server/hw/xfree86/utils/xorgcfg/vidmode.c deleted file mode 100644 index 2d613b6df..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/vidmode.c +++ /dev/null @@ -1,1346 +0,0 @@ -/* - * Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) - * - * 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 - * CONECTIVA LINUX 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 Conectiva Linux shall - * not be used in advertising or otherwise to promote the sale, use or other - * dealings in this Software without prior written authorization from - * Conectiva Linux. - * - * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> - * - */ - -/* - * Most of the code here is based on the xvidtune code. - */ - -#include "vidmode.h" -#include <X11/Xaw/Command.h> -#include <X11/Xaw/Form.h> -#include <X11/Xaw/Label.h> -#include <X11/Xaw/MenuButton.h> -#include <X11/Xaw/Repeater.h> -#include <X11/Shell.h> -#include <X11/Xaw/AsciiText.h> -#include <X11/Xaw/Dialog.h> -#include <X11/Xaw/SimpleMenP.h> -#include <X11/Xaw/SmeBSB.h> -#include <X11/Xaw/Toggle.h> -#include "xf86config.h" - -#define V_FLAG_MASK 0x1FF -#define V_PHSYNC 0x001 -#define V_NHSYNC 0x002 -#define V_PVSYNC 0x004 -#define V_NVSYNC 0x008 -#define V_INTERLACE 0x010 -#define V_DBLSCAN 0x020 -#define V_CSYNC 0x040 -#define V_PCSYNC 0x080 -#define V_NCSYNC 0x100 - -#define LEFT 0 -#define RIGHT 1 -#define UP 2 -#define DOWN 3 -#define WIDER 4 -#define TALLER 5 -#define NARROWER 6 -#define SHORTER 7 - -#define HDISPLAY 0 -#define VDISPLAY 1 -#define HSYNCSTART 2 -#define HSYNCEND 3 -#define HTOTAL 4 -#define VSYNCSTART 5 -#define VSYNCEND 6 -#define VTOTAL 7 -#define FLAGS 8 -#define CLOCK 9 -#define HSYNC 10 -#define VSYNC 11 - -#define MINMAJOR 2 -#define MINMINOR 0 - -/* - * Types - */ -typedef struct { - char *ident; - XF86VidModeModeInfo info; -} xf86cfgVesaModeInfo; - -/* - * Prototypes - */ -static Bool GetModeLine(Bool); -static void StartAdjustMonitorCallback(Widget, XtPointer, XtPointer); -static void AdjustMonitorCallback(Widget, XtPointer, XtPointer); -static void EndAdjustMonitorCallback(Widget, XtPointer, XtPointer); -static void SetLabel(int, int); -static void UpdateSyncRates(Bool); -static int VidmodeError(Display*, XErrorEvent*); -static void CleanUp(Display*); -static void ApplyCallback(Widget, XtPointer, XtPointer); -static void AutoCallback(Widget, XtPointer, XtPointer); -static void RestoreCallback(Widget, XtPointer, XtPointer); -static void SelectCallback(Widget, XtPointer, XtPointer); -static void SelectMonitorCallback(Widget, XtPointer, XtPointer); -static void SwitchCallback(Widget, XtPointer, XtPointer); -static void SetLabels(void); -static void UpdateCallback(Widget, XtPointer, XtPointer); -static void ChangeScreenCallback(Widget, XtPointer, XtPointer); -static void SetLabelAndModeline(void); -static void AddVesaModeCallback(Widget, XtPointer, XtPointer); -static void GetModes(void); -static void AddModeCallback(Widget, XtPointer, XtPointer); -static void TestCallback(Widget, XtPointer, XtPointer); -static void TestTimeout(XtPointer, XtIntervalId*); -static void StopTestCallback(Widget, XtPointer, XtPointer); -static int ForceAddMode(void); -static int AddMode(void); -/* - * Initialization - */ -extern Widget work; -Widget vtune; -static Widget apply, automatic, restore, mode, menu, screenb, screenp; -static Bool autoflag; -static xf86cfgVidmode *vidtune; -static XF86VidModeModeLine modeline, orig_modeline; -static int dot_clock, hsync_rate, vsync_rate, hitError; -static int screenno; -static int (*XtErrorFunc)(Display*, XErrorEvent*); -static Widget values[VSYNC + 1], repeater, monitor, - monitorb, add, text, vesap, forceshell, testshell, addshell; -static int MajorVersion, MinorVersion, EventBase, ErrorBase; -static XtIntervalId timeout; - -/* The information bellow is extracted from - * xc/programs/Xserver/hw/xfree86/etc/vesamodes - * If that file is changed, please update the table bellow also. Or even - * better, write a script to generate the table. - */ -static xf86cfgVesaModeInfo vesamodes[] = { - { - "640x350 @ 85Hz (VESA) hsync: 37.9kHz", - { - 31500, 640, 672, 736, 832, 0, 350, 382, 385, 445, - V_PHSYNC | V_NVSYNC - } - }, - { - "640x400 @ 85Hz (VESA) hsync: 37.9kHz", - { - 31500, 640, 672, 736, 832, 0, 400, 401, 404, 445, - V_NHSYNC | V_PVSYNC - } - }, - { - "720x400 @ 85Hz (VESA) hsync: 37.9kHz", - { - 35500, 720, 756, 828, 936, 0, 400, 401, 404, 446, - V_NHSYNC | V_PVSYNC - } - }, - { - "640x480 @ 60Hz (Industry standard) hsync: 31.5kHz", - { - 25200, 640, 656, 752, 800, 0, 480, 490, 492, 525, - V_NHSYNC | V_NVSYNC - } - }, - { - "640x480 @ 72Hz (VESA) hsync: 37.9kHz", - { - 31500, 640, 664, 704, 832, 0, 480, 489, 491, 520, - V_NHSYNC | V_NVSYNC - } - }, - { - "640x480 @ 75Hz (VESA) hsync: 37.5kHz", - { - 31500, 640, 656, 720, 840, 0, 480, 481, 484, 500, - V_NHSYNC | V_NVSYNC - } - }, - { - "640x480 @ 85Hz (VESA) hsync: 43.3kHz", - { - 36000, 640, 696, 752, 832, 0, 480, 481, 484, 509, - V_NHSYNC | V_NVSYNC - } - }, - { - "800x600 @ 56Hz (VESA) hsync: 35.2kHz", - { - 36000, 800, 824, 896, 1024, 0, 600, 601, 603, 625, - V_PHSYNC | V_PVSYNC - } - }, - { - "800x600 @ 60Hz (VESA) hsync: 37.9kHz", - { - 400000, 800, 840, 968, 1056, 0, 600, 601, 605, 628, - V_PHSYNC | V_PVSYNC - } - }, - { - "800x600 @ 72Hz (VESA) hsync: 48.1kHz", - { - 50000, 800, 856, 976, 1040, 0, 600, 637, 643, 666, - V_PHSYNC | V_PVSYNC - } - }, - { - "800x600 @ 75Hz (VESA) hsync: 46.9kHz", - { - 49500, 800, 816, 896, 1056, 0, 600, 601, 604, 625, - V_PHSYNC | V_PVSYNC - } - }, - { - "800x600 @ 85Hz (VESA) hsync: 53.7kHz", - { - 563000, 800, 832, 896, 1048, 0, 600, 601, 604, 631, - V_PHSYNC | V_PVSYNC - } - }, - { - "1024x768i @ 43Hz (industry standard) hsync: 35.5kHz", - { - 44900, 1024, 1032, 1208, 1264, 0, 768, 768, 776, 817, - V_PHSYNC | V_PVSYNC | V_INTERLACE - } - }, - { - "1024x768 @ 60Hz (VESA) hsync: 48.4kHz", - { - 65000, 1024, 1048, 1184, 1344, 0, 768, 771, 777, 806, - V_NHSYNC | V_NVSYNC - } - }, - { - "1024x768 @ 70Hz (VESA) hsync: 56.5kHz", - { - 75000, 1024, 1048, 1184, 1328, 0, 768, 771, 777, 806, - V_NHSYNC | V_NVSYNC - } - }, - { - "1024x768 @ 75Hz (VESA) hsync: 60.0kHz", - { - 78800, 1024, 1040, 1136, 1312, 0, 768, 769, 772, 800, - V_PHSYNC | V_PVSYNC - } - }, - { - "1024x768 @ 85Hz (VESA) hsync: 68.7kHz", - { - 94500, 1024, 1072, 1168, 1376, 0, 768, 769, 772, 808, - V_PHSYNC | V_PVSYNC - } - }, - { - "1152x864 @ 75Hz (VESA) hsync: 67.5kHz", - { - 108000, 1152, 1216, 1344, 1600, 0, 864, 865, 868, 900, - V_PHSYNC | V_PVSYNC - } - }, - { - "1280x960 @ 60Hz (VESA) hsync: 60.0kHz", - { - 108000, 1280, 1376, 1488, 1800, 0, 960, 961, 964, 1000, - V_PHSYNC | V_PVSYNC - } - }, - { - "1280x960 @ 85Hz (VESA) hsync: 85.9kHz", - { - 148500, 1280, 1344, 1504, 1728, 0, 960, 961, 964, 1011, - V_PHSYNC | V_PVSYNC - } - }, - { - "1280x1024 @ 60Hz (VESA) hsync: 64.0kHz", - { - 108000, 1280, 1328, 1440, 1688, 0, 1024, 1025, 1028, 1066, - V_PHSYNC | V_PVSYNC - } - }, - { - "1280x1024 @ 75Hz (VESA) hsync: 80.0kHz", - { - 135000, 1280, 1296, 1440, 1688, 0, 1024, 1025, 1028, 1066, - V_PHSYNC | V_PVSYNC - } - }, - { - "1280x1024 @ 85Hz (VESA) hsync: 91.1kHz", - { - 157500, 1280, 1344, 1504, 1728, 0, 1024, 1025, 1028, 1072, - V_PHSYNC | V_PVSYNC - } - }, - { - "1600x1200 @ 60Hz (VESA) hsync: 75.0kHz", - { - 162000, 1600, 1664, 1856, 2160, 0, 1200, 1201, 1204, 1250, - V_PHSYNC | V_PVSYNC - } - }, - { - "1600x1200 @ 65Hz (VESA) hsync: 81.3kHz", - { - 175500, 1600, 1664, 1856, 2160, 0, 1200, 1201, 1204, 1250, - V_PHSYNC | V_PVSYNC - } - }, - { - "1600x1200 @ 70Hz (VESA) hsync: 87.5kHz", - { - 189000, 1600, 1664, 1856, 2160, 0, 1200, 1201, 1204, 1250, - V_PHSYNC | V_PVSYNC - } - }, - { - "1600x1200 @ 75Hz (VESA) hsync: 93.8kHz", - { - 202500, 1600, 1664, 1856, 2160, 0, 1200, 1201, 1204, 1250, - V_PHSYNC | V_PVSYNC - } - }, - { - "1600x1200 @ 85Hz (VESA) hsync: 106.3kHz", - { - 229500, 1600, 1664, 1856, 2160, 0, 1200, 1201, 1204, 1250, - V_PHSYNC | V_PVSYNC - } - }, - { - "1792x1344 @ 60Hz (VESA) hsync: 83.6kHz", - { - 204800, 1792, 1920, 2120, 2448, 0, 1344, 1345, 1348, 1394, - V_NHSYNC | V_PVSYNC - } - }, - { - "1792x1344 @ 75Hz (VESA) hsync: 106.3kHz", - { - 261000, 1792, 1888, 2104, 2456, 0, 1344, 1345, 1348, 1417, - V_NHSYNC | V_PVSYNC - } - }, - { - "1856x1392 @ 60Hz (VESA) hsync: 86.3kHz", - { - 218300, 1856, 1952, 2176, 2528, 0, 1392, 1393, 1396, 1439, - V_NHSYNC | V_PVSYNC - } - }, - { - "1856x1392 @ 75Hz (VESA) hsync: 112.5kHz", - { - 288000, 1856, 1984, 2208, 2560, 0, 1392, 1393, 1396, 1500, - V_NHSYNC | V_PVSYNC - } - }, - { - "1920x1440 @ 60Hz (VESA) hsync: 90.0kHz", - { - 234000, 1920, 2048, 2256, 2600, 0, 1440, 1441, 1444, 1500, - V_NHSYNC | V_PVSYNC - } - }, - { - "1920x1440 @ 75Hz (VESA) hsync: 112.5kHz", - { - 297000, 1920, 2064, 2288, 2640, 0, 1440, 1441, 1444, 1500, - V_NHSYNC | V_PVSYNC - } - }, -}; - -/* - * Implementation - */ -Bool -VideoModeInitialize(void) -{ - Widget form; - char dispstr[128], *ptr, *tmp; - - static char *names[] = { - NULL, - NULL, - "hsyncstart", - "hsyncend", - "htotal", - "vsyncstart", - "vsyncend", - "vtotal", - "flags", - "clock", - "hsync", - "vsync", - }; - static char *vnames[] = { - NULL, - NULL, - "v-hsyncstart", - "v-hsyncend", - "v-htotal", - "v-vsyncstart", - "v-vsyncend", - "v-vtotal", - "v-flags", - "v-clock", - "v-hsync", - "v-vsync", - }; - Widget rep; - int i; - - if (!XF86VidModeQueryVersion(XtDisplay(toplevel), - &MajorVersion, &MinorVersion)) { - fprintf(stderr, "Unable to query video extension version\n"); - return (False); - } - else if (!XF86VidModeQueryExtension(XtDisplay(toplevel), - &EventBase, &ErrorBase)) { - fprintf(stderr, "Unable to query video extension information\n"); - return (False); - } - else if (MajorVersion < MINMAJOR || - (MajorVersion == MINMAJOR && MinorVersion < MINMINOR)) { - fprintf(stderr, - "Xserver is running an old XFree86-VidModeExtension version" - " (%d.%d)\n", MajorVersion, MinorVersion); - fprintf(stderr, "Minimum required version is %d.%d\n", - MINMAJOR, MINMINOR); - return (False); - } - else - InitializeVidmodes(); - - vtune = XtCreateWidget("vidtune", formWidgetClass, - work, NULL, 0); - - (void) XtVaCreateManagedWidget("vesaB", menuButtonWidgetClass, vtune, - XtNmenuName, "vesaP", NULL); - vesap = XtCreatePopupShell("vesaP", simpleMenuWidgetClass, vtune, NULL, 0); - for (i = 0; i < sizeof(vesamodes) / sizeof(vesamodes[0]); i++) { - rep = XtCreateManagedWidget(vesamodes[i].ident, smeBSBObjectClass, - vesap, NULL, 0); - XtAddCallback(rep, XtNcallback, AddVesaModeCallback, - (XtPointer)&vesamodes[i]); - } - - rep = XtCreateManagedWidget("prev", commandWidgetClass, vtune, NULL, 0); - XtAddCallback(rep, XtNcallback, SwitchCallback, (XtPointer)-1); - mode = XtCreateManagedWidget("mode", menuButtonWidgetClass, vtune, NULL, 0); - rep = XtCreateManagedWidget("next", commandWidgetClass, vtune, NULL, 0); - XtAddCallback(rep, XtNcallback, SwitchCallback, (XtPointer)1); - - screenp = XtCreatePopupShell("screenP", simpleMenuWidgetClass, vtune, - NULL, 0); - - XmuSnprintf(dispstr, sizeof(dispstr), "%s", - DisplayString(XtDisplay(toplevel))); - ptr = strrchr(dispstr, '.'); - tmp = strrchr(dispstr, ':'); - if (tmp != NULL && ptr != NULL && ptr > tmp) - *ptr = '\0'; - - for (i = 0; i < ScreenCount(XtDisplay(toplevel)); i++) { - char name[128]; - - XmuSnprintf(name, sizeof(name), "%s.%d", dispstr, i); - rep = XtCreateManagedWidget(name, smeBSBObjectClass, screenp, - NULL, 0); - XtAddCallback(rep, XtNcallback, ChangeScreenCallback, - (XtPointer)(long)i); - if (i == 0) { - screenb = XtVaCreateManagedWidget("screenB", menuButtonWidgetClass, - vtune, - XtNmenuName, "screenP", - XtNlabel, name, - NULL); - } - } - XtRealizeWidget(screenp); - - rep = XtCreateManagedWidget("up", repeaterWidgetClass, - vtune, NULL, 0); - XtAddCallback(rep, XtNstartCallback, StartAdjustMonitorCallback, NULL); - XtAddCallback(rep, XtNcallback, - AdjustMonitorCallback, (XtPointer)UP); - XtAddCallback(rep, XtNstopCallback, EndAdjustMonitorCallback, NULL); - rep = XtCreateManagedWidget("left", repeaterWidgetClass, - vtune, NULL, 0); - XtAddCallback(rep, XtNstartCallback, StartAdjustMonitorCallback, NULL); - XtAddCallback(rep, XtNcallback, - AdjustMonitorCallback, (XtPointer)LEFT); - XtAddCallback(rep, XtNstopCallback, EndAdjustMonitorCallback, NULL); - XtCreateManagedWidget("monitor", simpleWidgetClass, vtune, NULL, 0); - rep = XtCreateManagedWidget("right", repeaterWidgetClass, - vtune, NULL, 0); - XtAddCallback(rep, XtNstartCallback, StartAdjustMonitorCallback, NULL); - XtAddCallback(rep, XtNcallback, - AdjustMonitorCallback, (XtPointer)RIGHT); - XtAddCallback(rep, XtNstopCallback, EndAdjustMonitorCallback, NULL); - rep = XtCreateManagedWidget("down", repeaterWidgetClass, - vtune, NULL, 0); - XtAddCallback(rep, XtNstartCallback, StartAdjustMonitorCallback, NULL); - XtAddCallback(rep, XtNcallback, - AdjustMonitorCallback, (XtPointer)DOWN); - XtAddCallback(rep, XtNstopCallback, EndAdjustMonitorCallback, NULL); - rep = XtCreateManagedWidget("wider", repeaterWidgetClass, - vtune, NULL, 0); - XtAddCallback(rep, XtNstartCallback, StartAdjustMonitorCallback, NULL); - XtAddCallback(rep, XtNcallback, - AdjustMonitorCallback, (XtPointer)WIDER); - XtAddCallback(rep, XtNstopCallback, EndAdjustMonitorCallback, NULL); - rep = XtCreateManagedWidget("narrower", repeaterWidgetClass, - vtune, NULL, 0); - XtAddCallback(rep, XtNstartCallback, StartAdjustMonitorCallback, NULL); - XtAddCallback(rep, XtNcallback, - AdjustMonitorCallback, (XtPointer)NARROWER); - XtAddCallback(rep, XtNstopCallback, EndAdjustMonitorCallback, NULL); - rep = XtCreateManagedWidget("shorter", repeaterWidgetClass, - vtune, NULL, 0); - XtAddCallback(rep, XtNstartCallback, StartAdjustMonitorCallback, NULL); - XtAddCallback(rep, XtNcallback, - AdjustMonitorCallback, (XtPointer)SHORTER); - XtAddCallback(rep, XtNstopCallback, EndAdjustMonitorCallback, NULL); - rep = XtCreateManagedWidget("taller", repeaterWidgetClass, - vtune, NULL, 0); - XtAddCallback(rep, XtNstartCallback, StartAdjustMonitorCallback, NULL); - XtAddCallback(rep, XtNcallback, - AdjustMonitorCallback, (XtPointer)TALLER); - XtAddCallback(rep, XtNstopCallback, EndAdjustMonitorCallback, NULL); - - automatic = XtCreateManagedWidget("auto", toggleWidgetClass, vtune, NULL, 0); - XtAddCallback(automatic, XtNcallback, AutoCallback, NULL); - apply = XtCreateManagedWidget("apply", commandWidgetClass, vtune, NULL, 0); - XtAddCallback(apply, XtNcallback, ApplyCallback, NULL); - restore = XtCreateManagedWidget("restore", commandWidgetClass, vtune, NULL, 0); - XtAddCallback(restore, XtNcallback, RestoreCallback, NULL); - rep = XtCreateManagedWidget("update", commandWidgetClass, vtune, NULL, 0); - XtAddCallback(rep, XtNcallback, UpdateCallback, NULL); - rep = XtCreateManagedWidget("test", commandWidgetClass, vtune, NULL, 0); - XtAddCallback(rep, XtNcallback, TestCallback, NULL); - - form = XtCreateManagedWidget("form", formWidgetClass, vtune, NULL, 0); - for (i = 2; i < VSYNC + 1; i++) { - (void) XtCreateManagedWidget(names[i], labelWidgetClass, - form, NULL, 0); - values[i] = XtCreateManagedWidget(vnames[i], labelWidgetClass, - form, NULL, 0); - } - - add = XtCreateManagedWidget("add", commandWidgetClass, vtune, NULL, 0); - XtAddCallback(add, XtNcallback, AddModeCallback, NULL); - XtCreateManagedWidget("addto", labelWidgetClass, vtune, NULL, 0); - monitorb = XtCreateManagedWidget("ident", menuButtonWidgetClass, vtune, - NULL, 0); - XtCreateManagedWidget("as", labelWidgetClass, vtune, NULL, 0); - text = XtVaCreateManagedWidget("text", asciiTextWidgetClass, vtune, - XtNeditType, XawtextEdit, NULL); - - XtRealizeWidget(vtune); - - return (True); -} - -void -InitializeVidmodes(void) -{ - int i; - Display *display = XtDisplay(toplevel); - - computer.num_vidmodes = ScreenCount(display); - computer.vidmodes = (xf86cfgVidmode**) - XtMalloc(sizeof(xf86cfgVidmode*) * computer.num_vidmodes); - for (i = 0; i < computer.num_vidmodes; i++) { - - computer.vidmodes[i] = (xf86cfgVidmode*) - XtCalloc(1, sizeof(xf86cfgVidmode)); - computer.vidmodes[i]->screen = i; - } -} - -void -VideoModeConfigureStart(void) -{ - vidtune = computer.vidmodes[screenno]; - - XtSetSensitive(vtune, vidtune != NULL); - if (!XtIsManaged(vtune)) - XtManageChild(vtune); - else - XtMapWidget(vtune); - if (vidtune != NULL) { - Arg args[1]; - Boolean state; - XF86ConfMonitorPtr mon; - static char menuName[16]; - static int menuN; - - XtErrorFunc = XSetErrorHandler(VidmodeError); - XF86VidModeLockModeSwitch(XtDisplay(toplevel), vidtune->screen, True); - GetModeLine(True); - GetModes(); - - SetLabels(); - XtSetArg(args[0], XtNstate, &state); - XtGetValues(automatic, args, 1); - XtSetSensitive(apply, !state); - autoflag = state; - - if (monitor) - XtDestroyWidget(monitor); - XmuSnprintf(menuName, sizeof(menuName), "menuP%d", menuN); - menuN = !menuN; - monitor = XtCreatePopupShell(menuName, simpleMenuWidgetClass, - vtune, NULL, 0); - XtVaSetValues(monitorb, XtNmenuName, menuName, NULL); - - mon = XF86Config->conf_monitor_lst; - while (mon != NULL) { - Widget sme = XtCreateManagedWidget(mon->mon_identifier, - smeBSBObjectClass, - monitor, NULL, 0); - XtAddCallback(sme, XtNcallback, - SelectMonitorCallback, (XtPointer)mon); - - /* guess the monitor at a given screen and/or - * updates configuration if a monitor was removed from the - * configuration. - */ - if (XF86Config->conf_layout_lst) { - XF86ConfAdjacencyPtr adj = XF86Config->conf_layout_lst-> - lay_adjacency_lst; - - while (adj != NULL) { - if (adj->adj_screen != NULL) { - if (adj->adj_screen->scrn_monitor == mon && - adj->adj_scrnum >= 0 && - adj->adj_scrnum < ScreenCount(XtDisplay(toplevel))) { - if (computer.vidmodes[adj->adj_scrnum]->monitor == - NULL || computer.vidmodes[adj->adj_scrnum]-> - monitor == adj->adj_screen->scrn_monitor) { - computer.vidmodes[adj->adj_scrnum]->monitor = - adj->adj_screen->scrn_monitor; - break; - } - else - computer.vidmodes[adj->adj_scrnum]->monitor = - NULL; - } - } - adj = (XF86ConfAdjacencyPtr)(adj->list.next); - } - } - mon = (XF86ConfMonitorPtr)(mon->list.next); - } - SetLabelAndModeline(); - } -} - -void -VideoModeConfigureEnd(void) -{ - XtUnmapWidget(vtune); - if (vidtune != NULL) { - XF86VidModeLockModeSwitch(XtDisplay(toplevel), vidtune->screen, False); - XSetErrorHandler(XtErrorFunc); - } - vidtune = NULL; -} - -static void -SetLabelAndModeline(void) -{ - if (vidtune->monitor != NULL) { - char string[32]; - - XtVaSetValues(monitorb, XtNlabel, - vidtune->monitor->mon_identifier, NULL); - XtSetSensitive(add, True); - - if (modeline.htotal && modeline.vtotal) - XmuSnprintf(string, sizeof(string), "%dx%d@%d", - modeline.hdisplay, modeline.vdisplay, - (int)((double)dot_clock / (double)modeline.htotal * 1000.0 / - (double)modeline.vtotal)); - else - XmuSnprintf(string, sizeof(string), "%dx%d", - modeline.hdisplay, modeline.vdisplay); - XtVaSetValues(text, XtNstring, string, NULL); - } - else { - XtVaSetValues(monitorb, XtNlabel, "", NULL); - XtSetSensitive(add, False); - XtVaSetValues(text, XtNstring, "", NULL); - } -} - -/*ARGSUSED*/ -void -VidmodeRestoreAction(Widget w, XEvent *event, - String *params, Cardinal *num_params) -{ - if (vidtune != NULL) { - if (timeout != 0) - StopTestCallback(w, NULL, NULL); - else - RestoreCallback(w, NULL, NULL); - } -} - -static void -UpdateSyncRates(Bool update) -{ - if (modeline.htotal && modeline.vtotal) { - hsync_rate = (dot_clock * 1000) / modeline.htotal; - vsync_rate = (hsync_rate * 1000) / modeline.vtotal; - if (modeline.flags & V_INTERLACE) - vsync_rate *= 2; - else if (modeline.flags & V_DBLSCAN) - vsync_rate /= 2; - if (update) { - SetLabel(HSYNC, hsync_rate); - SetLabel(VSYNC, vsync_rate); - } - } -} - -static void -SetLabel(int ident, int value) -{ - Arg args[1]; - char label[256]; - - if (ident == FLAGS) { - int len = 0; - - *label = '\0'; - if (value & V_PHSYNC) - len += XmuSnprintf(label, sizeof(label), "%s", "+hsync"); - if (modeline.flags & V_NHSYNC) - len += XmuSnprintf(label + len, sizeof(label), "%s%s", - len ? " " : "", "-hsync"); - if (value & V_PVSYNC) - len += XmuSnprintf(label + len, sizeof(label), "%s%s", - len ? " " : "", "+vsync"); - if (value & V_NVSYNC) - len += XmuSnprintf(label + len, sizeof(label), "%s%s", - len ? " " : "", "-vsync"); - if (value & V_INTERLACE) - len += XmuSnprintf(label + len, sizeof(label), "%s%s", - len ? " " : "", "interlace"); - if (value & V_CSYNC) - len += XmuSnprintf(label + len, sizeof(label), "%s%s", - len ? " " : "", "composite"); - if (value & V_PCSYNC) - len += XmuSnprintf(label + len, sizeof(label), "%s%s", - len ? " " : "", "+csync"); - if (value & V_NCSYNC) - len += XmuSnprintf(label + len, sizeof(label), "%s%s", - len ? " " : "", "-csync"); - if (value & V_DBLSCAN) - len += XmuSnprintf(label + len, sizeof(label), "%s%s", - len ? " " : "", "doublescan"); - - } - else if (ident == CLOCK || ident == HSYNC || ident == VSYNC) - XmuSnprintf(label, sizeof(label), "%6.2f", (float)value / 1000.0); - else - XmuSnprintf(label, sizeof(label), "%d", value); - - XtSetArg(args[0], XtNlabel, label); - XtSetValues(values[ident], args, 1); -} - -/*ARGSUSED*/ -static void -StartAdjustMonitorCallback(Widget w, XtPointer client_data, XtPointer call_data) -{ - repeater = w; -} - -static void -AdjustMonitorCallback(Widget w, XtPointer client_data, XtPointer call_data) -{ - if (repeater != w) - return; - switch ((long)client_data) { - case LEFT: - if (modeline.hsyncend + 4 < modeline.htotal) { - modeline.hsyncstart += 4; - modeline.hsyncend += 4; - SetLabel(HSYNCSTART, modeline.hsyncstart); - SetLabel(HSYNCEND, modeline.hsyncend); - } - else - XBell(XtDisplay(w), 80); - break; - case RIGHT: - if (modeline.hsyncstart - 4 > modeline.hdisplay) { - modeline.hsyncstart -= 4; - modeline.hsyncend -= 4; - SetLabel(HSYNCSTART, modeline.hsyncstart); - SetLabel(HSYNCEND, modeline.hsyncend); - } - else - XBell(XtDisplay(w), 80); - break; - case NARROWER: - modeline.htotal += 4; - SetLabel(HTOTAL, modeline.htotal); - UpdateSyncRates(True); - break; - case WIDER: - if (modeline.htotal - 4 > modeline.hsyncend) { - modeline.htotal -= 4; - SetLabel(HTOTAL, modeline.htotal); - UpdateSyncRates(True); - } - else - XBell(XtDisplay(w), 80); - break; - case UP: - if (modeline.vsyncend + 4 < modeline.vtotal) { - modeline.vsyncstart += 4; - modeline.vsyncend += 4; - SetLabel(VSYNCSTART, modeline.vsyncstart); - SetLabel(VSYNCEND, modeline.vsyncend); - } - else - XBell(XtDisplay(w), 80); - break; - case DOWN: - if (modeline.vsyncstart - 4 > modeline.vdisplay) { - modeline.vsyncstart -= 4; - modeline.vsyncend -= 4; - SetLabel(VSYNCSTART, modeline.vsyncstart); - SetLabel(VSYNCEND, modeline.vsyncend); - } - else - XBell(XtDisplay(w), 80); - break; - case SHORTER: - modeline.vtotal += 4; - SetLabel(VTOTAL, modeline.vtotal); - UpdateSyncRates(True); - break; - case TALLER: - if (modeline.vtotal - 4 > modeline.vsyncend) { - modeline.vtotal -= 4; - SetLabel(VTOTAL, modeline.vtotal); - UpdateSyncRates(True); - } - else - XBell(XtDisplay(w), 80); - break; - } - - if (autoflag) - ApplyCallback(w, call_data, client_data); -} - -/*ARGSUSED*/ -static void -EndAdjustMonitorCallback(Widget w, XtPointer client_data, XtPointer call_data) -{ - repeater = NULL; -} - -static Bool -GetModeLine(Bool save) -{ - if (XF86VidModeGetModeLine(XtDisplay(toplevel), vidtune->screen, - &dot_clock, &modeline)) { - if (save) - memcpy(&orig_modeline, &modeline, sizeof(XF86VidModeModeLine)); - UpdateSyncRates(False); - return (True); - } - - return (False); -} - -static void -CleanUp(Display *display) -{ - /* Make sure mode switching is not locked out at exit */ - XF86VidModeLockModeSwitch(display, vidtune->screen, False); - XFlush(display); -} - -static int -VidmodeError(Display *display, XErrorEvent *error) -{ - if ((error->error_code >= ErrorBase && - error->error_code < ErrorBase + XF86VidModeNumberErrors) || - error->error_code == BadValue) { - hitError = 1; - } - else { - CleanUp(display); - if (XtErrorFunc) - (*XtErrorFunc)(display, error); - } - return (0); -} - -/*ARGSUSED*/ -static void -ApplyCallback(Widget w, XtPointer call_data, XtPointer client_data) -{ - hitError = 0; - XF86VidModeModModeLine(XtDisplay(w), vidtune->screen, &modeline); - XSync(XtDisplay(w), False); - if (hitError) { - if (repeater != NULL) { - XtCallActionProc(repeater, "unset", NULL, NULL, 0); - XtCallActionProc(repeater, "stop", NULL, NULL, 0); - repeater = NULL; - } - XBell(XtDisplay(w), 80); - if (timeout) - StopTestCallback(w, NULL, NULL); - GetModeLine(False); - SetLabels(); - } -} - -/*ARGSUSED*/ -static void -AutoCallback(Widget w, XtPointer call_data, XtPointer client_data) -{ - autoflag = (Bool)(long)client_data; - XtSetSensitive(apply, !autoflag); -} - -static void -RestoreCallback(Widget w, XtPointer call_data, XtPointer client_data) -{ - memcpy(&modeline, &orig_modeline, sizeof(XF86VidModeModeLine)); - if (autoflag) - ApplyCallback(w, call_data, client_data); - SetLabels(); -} - -static void -SelectCallback(Widget w, XtPointer call_data, XtPointer client_data) -{ - XF86VidModeModeInfo *info = (XF86VidModeModeInfo*)call_data; - Arg args[1]; - Bool result; - - XF86VidModeLockModeSwitch(XtDisplay(toplevel), vidtune->screen, False); - result = XF86VidModeSwitchToMode(XtDisplay(toplevel), vidtune->screen, info); - XF86VidModeLockModeSwitch(XtDisplay(toplevel), vidtune->screen, True); - if (!result) - return; - - XtSetArg(args[0], XtNlabel, XtName(w)); - XtSetValues(mode, args, 1); - UpdateCallback(w, call_data, client_data); -} - -static void -SwitchCallback(Widget w, XtPointer call_data, XtPointer client_data) -{ - int direction = (long)call_data; - Arg args[1]; - Bool result; - char label[32]; - - XF86VidModeLockModeSwitch(XtDisplay(toplevel), vidtune->screen, False); - result = XF86VidModeSwitchMode(XtDisplay(toplevel), vidtune->screen, - direction); - XF86VidModeLockModeSwitch(XtDisplay(toplevel), vidtune->screen, True); - if (!result) - return; - - UpdateCallback(w, call_data, client_data); - - if (modeline.htotal && modeline.vtotal) - XmuSnprintf(label, sizeof(label), "%dx%d @ %d Hz", - modeline.hdisplay, modeline.vdisplay, - (int)((double)dot_clock / (double)modeline.htotal * 1000.0 / - (double)modeline.vtotal)); - else - XmuSnprintf(label, sizeof(label), "%dx%d", - modeline.hdisplay, modeline.vdisplay); - XtSetArg(args[0], XtNlabel, label); - XtSetValues(mode, args, 1); -} - -/*ARGSUSED*/ -static void -UpdateCallback(Widget w, XtPointer call_data, XtPointer client_data) -{ - GetModeLine(True); - SetLabels(); - SetLabelAndModeline(); -} - -static void -SetLabels(void) -{ - SetLabel(HSYNCSTART, modeline.hsyncstart); - SetLabel(VSYNCSTART, modeline.vsyncstart); - SetLabel(HSYNCEND, modeline.hsyncend); - SetLabel(VSYNCEND, modeline.vsyncend); - SetLabel(HTOTAL, modeline.htotal); - SetLabel(VTOTAL, modeline.vtotal); - SetLabel(FLAGS, modeline.flags); - SetLabel(CLOCK, dot_clock); - UpdateSyncRates(True); -} - -/*ARGSUSED*/ -static void -ChangeScreenCallback(Widget w, XtPointer call_data, XtPointer client_data) -{ - Arg args[1]; - - screenno = (long)call_data; - if (screenno > computer.num_vidmodes || screenno < 0 || - vidtune == computer.vidmodes[screenno]) - return; - - XF86VidModeLockModeSwitch(XtDisplay(toplevel), vidtune->screen, False); - vidtune = computer.vidmodes[screenno]; - XF86VidModeLockModeSwitch(XtDisplay(toplevel), vidtune->screen, True); - UpdateCallback(w, call_data, client_data); - GetModes(); - - XtSetArg(args[0], XtNlabel, XtName(w)); - XtSetValues(screenb, args, 1); - - SetLabelAndModeline(); -} - -/*ARGSUSED*/ -static void -SelectMonitorCallback(Widget w, XtPointer call_data, XtPointer client_data) -{ - vidtune->monitor = (XF86ConfMonitorPtr)(call_data); - SetLabelAndModeline(); -} - -/*ARGSUSED*/ -static void -AddVesaModeCallback(Widget w, XtPointer call_data, XtPointer client_data) -{ - xf86cfgVesaModeInfo *vesa = (xf86cfgVesaModeInfo*)call_data; - XF86VidModeModeInfo mode; - int num_infos = vidtune->num_infos; - - memcpy(&mode, &vesa->info, sizeof(XF86VidModeModeInfo)); - if (XF86VidModeAddModeLine(XtDisplay(toplevel), vidtune->screen, - &vesa->info, &mode)) { - XSync(XtDisplay(toplevel), False); - GetModes(); - } - else { - XBell(XtDisplayOfObject(w), 80); - return; - } - - if (vidtune && num_infos == vidtune->num_infos) { - /* XF86VidModeAddModeLine returned True, but no modeline was added */ - XBell(XtDisplayOfObject(w), 80); - if (vidtune->monitor && AddMode()) { - XF86ConfModeLinePtr mode; - char label[256], *ptr, *str; - - XmuSnprintf(label, sizeof(label), "%s", vesa->ident); - - /* format mode name to not have spaces */ - ptr = strchr(label, ')'); - if (ptr) - *++ptr = '\0'; - ptr = str = label; - while (*ptr) { - if (*ptr != ' ') - *str++ = *ptr; - ++ptr; - } - *str = '\0'; - - if (xf86findModeLine(label, vidtune->monitor->mon_modeline_lst) - != NULL && !ForceAddMode()) - return; - - mode = (XF86ConfModeLinePtr)XtCalloc(1, sizeof(XF86ConfModeLineRec)); - mode->ml_identifier = XtNewString(label); - mode->ml_clock = vesa->info.dotclock; - mode->ml_hdisplay = vesa->info.hdisplay; - mode->ml_hsyncstart = vesa->info.hsyncstart; - mode->ml_hsyncend = vesa->info.hsyncend; - mode->ml_htotal = vesa->info.htotal; - mode->ml_vdisplay = vesa->info.vdisplay; - mode->ml_vsyncstart = vesa->info.vsyncstart; - mode->ml_vsyncend = vesa->info.vsyncend; - mode->ml_vtotal = vesa->info.vtotal; -/* mode->ml_vscan = ???;*/ - mode->ml_flags = vesa->info.flags; - mode->ml_hskew = vesa->info.hskew; - vidtune->monitor->mon_modeline_lst = - xf86addModeLine(vidtune->monitor->mon_modeline_lst, mode); - } - } -} - -static void -GetModes(void) -{ - int i; - char label[32]; - Arg args[1]; - static char menuName[16]; - static int menuN; - - XFree(vidtune->infos); - XF86VidModeGetAllModeLines(XtDisplay(toplevel), vidtune->screen, - &vidtune->num_infos, &vidtune->infos); - - XmuSnprintf(menuName, sizeof(menuName), "menu%d", menuN); - menuN = !menuN; - if (menu) - XtDestroyWidget(menu); - menu = XtCreatePopupShell(menuName, simpleMenuWidgetClass, vtune, NULL, 0); - XtVaSetValues(mode, XtNmenuName, menuName, NULL); - for (i = 0; i < vidtune->num_infos; i++) { - Widget sme; - - if ((double)vidtune->infos[i]->htotal && - (double)vidtune->infos[i]->vtotal) - XmuSnprintf(label, sizeof(label), "%dx%d @ %d Hz", - vidtune->infos[i]->hdisplay, - vidtune->infos[i]->vdisplay, - (int)((double)vidtune->infos[i]->dotclock / - (double)vidtune->infos[i]->htotal * 1000.0 / - (double)vidtune->infos[i]->vtotal)); - else - XmuSnprintf(label, sizeof(label), "%dx%d", - vidtune->infos[i]->hdisplay, - vidtune->infos[i]->vdisplay); - sme = XtCreateManagedWidget(label, smeBSBObjectClass, menu, NULL, 0); - XtAddCallback(sme, XtNcallback, SelectCallback, - (XtPointer)vidtune->infos[i]); - } - - if (modeline.htotal && modeline.vtotal) - XmuSnprintf(label, sizeof(label), "%dx%d @ %d Hz", - modeline.hdisplay, modeline.vdisplay, - (int)((double)dot_clock / (double)modeline.htotal * 1000.0 / - (double)modeline.vtotal)); - else - XmuSnprintf(label, sizeof(label), "%dx%d", - modeline.hdisplay, modeline.vdisplay); - XtSetArg(args[0], XtNlabel, label); - XtSetValues(mode, args, 1); -} - -static int do_force, asking_force; - -static void -PopdownForce(Widget w, XtPointer user_data, XtPointer call_data) -{ - asking_force = 0; - XtPopdown(forceshell); - do_force = (long)user_data; -} - -static int -ForceAddMode(void) -{ - if (forceshell == NULL) { - Widget dialog; - - forceshell = XtCreatePopupShell("force", transientShellWidgetClass, - toplevel, NULL, 0); - dialog = XtVaCreateManagedWidget("dialog", dialogWidgetClass, - forceshell, XtNvalue, NULL, NULL); - XawDialogAddButton(dialog, "yes", PopdownForce, (XtPointer)True); - XawDialogAddButton(dialog, "no", PopdownForce, (XtPointer)False); - XtRealizeWidget(forceshell); - XSetWMProtocols(DPY, XtWindow(forceshell), &wm_delete_window, 1); - } - - asking_force = 1; - - XtPopup(forceshell, XtGrabExclusive); - while (asking_force) - XtAppProcessEvent(XtWidgetToApplicationContext(forceshell), XtIMAll); - - return (do_force); -} - -static int do_add, asking_add; - -static void -PopdownAdd(Widget w, XtPointer user_data, XtPointer call_data) -{ - asking_add = 0; - XtPopdown(addshell); - do_add = (long)user_data; -} - -void -CancelAddModeAction(Widget w, XEvent *event, - String *params, Cardinal *num_params) -{ - if (asking_force) - PopdownForce(w, (XtPointer)False, NULL); - else if (asking_add) - PopdownAdd(w, (XtPointer)False, NULL); -} - -static int -AddMode(void) -{ - if (addshell == NULL) { - Widget dialog; - - addshell = XtCreatePopupShell("addMode", transientShellWidgetClass, - toplevel, NULL, 0); - dialog = XtVaCreateManagedWidget("dialog", dialogWidgetClass, - addshell, XtNvalue, NULL, NULL); - XawDialogAddButton(dialog, "yes", PopdownAdd, (XtPointer)True); - XawDialogAddButton(dialog, "no", PopdownAdd, (XtPointer)False); - XtRealizeWidget(addshell); - XSetWMProtocols(DPY, XtWindow(addshell), &wm_delete_window, 1); - } - - asking_add = 1; - - XtPopup(addshell, XtGrabExclusive); - while (asking_add) - XtAppProcessEvent(XtWidgetToApplicationContext(addshell), XtIMAll); - - return (do_add); -} - -/*ARGSUSED*/ -static void -AddModeCallback(Widget w, XtPointer call_data, XtPointer client_data) -{ - if (vidtune && vidtune->monitor) { - char *label; - Arg args[1]; - XF86ConfModeLinePtr mode; - - XtSetArg(args[0], XtNstring, &label); - XtGetValues(text, args, 1); - if (*label == '\0') { - XBell(XtDisplay(w), 80); - return; - } - if (xf86findModeLine(label, vidtune->monitor->mon_modeline_lst) - != NULL && !ForceAddMode()) - return; - - mode = (XF86ConfModeLinePtr)XtCalloc(1, sizeof(XF86ConfModeLineRec)); - mode->ml_identifier = XtNewString(label); - mode->ml_clock = dot_clock; - mode->ml_hdisplay = modeline.hdisplay; - mode->ml_hsyncstart = modeline.hsyncstart; - mode->ml_hsyncend = modeline.hsyncend; - mode->ml_htotal = modeline.htotal; - mode->ml_vdisplay = modeline.vdisplay; - mode->ml_vsyncstart = modeline.vsyncstart; - mode->ml_vsyncend = modeline.vsyncend; - mode->ml_vtotal = modeline.vtotal; -/* mode->ml_vscan = ???;*/ - mode->ml_flags = modeline.flags; - mode->ml_hskew = modeline.hskew; - vidtune->monitor->mon_modeline_lst = - xf86addModeLine(vidtune->monitor->mon_modeline_lst, mode); - } - else - XBell(XtDisplay(w), 80); -} - -/*ARGSUSED*/ -static void -StopTestCallback(Widget w, XtPointer call_data, XtPointer client_data) -{ - XtRemoveTimeOut(timeout); - TestTimeout((XtPointer)w, NULL); -} - -/*ARGSUSED*/ -void -CancelTestModeAction(Widget w, XEvent *event, - String *params, Cardinal *num_params) -{ - StopTestCallback(w, NULL, NULL); -} - -static void -TestTimeout(XtPointer client_data, XtIntervalId* id) -{ - XF86VidModeModeLine mode; - - XtPopdown(testshell); - timeout = 0; - memcpy(&mode, &modeline, sizeof(XF86VidModeModeLine)); - memcpy(&modeline, &orig_modeline, sizeof(XF86VidModeModeLine)); - ApplyCallback((Widget)client_data, NULL, NULL); -/* if (hitError == 0)*/ - memcpy(&modeline, &mode, sizeof(XF86VidModeModeLine)); - SetLabels(); -} - -static void -TestCallback(Widget w, XtPointer call_data, XtPointer client_data) -{ - if (testshell == NULL) { - Widget dialog; - - testshell = XtCreatePopupShell("test", transientShellWidgetClass, - toplevel, NULL, 0); - dialog = XtVaCreateManagedWidget("dialog", dialogWidgetClass, - testshell, XtNvalue, NULL, NULL); - XawDialogAddButton(dialog, "stop", StopTestCallback, NULL); - XtRealizeWidget(testshell); - XSetWMProtocols(DPY, XtWindow(testshell), &wm_delete_window, 1); - } - - XtPopup(testshell, XtGrabExclusive); - - XSync(XtDisplay(toplevel), False); - timeout = XtAppAddTimeOut(XtWidgetToApplicationContext(w), - /* the timeout probably shoud be converted to a resource */ - 4000, TestTimeout, (XtPointer)w); - ApplyCallback(w, call_data, client_data); -} diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/vidmode.h b/xorg-server/hw/xfree86/utils/xorgcfg/vidmode.h deleted file mode 100644 index d0c71d5c6..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/vidmode.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) - * - * 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 - * CONECTIVA LINUX 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 Conectiva Linux shall - * not be used in advertising or otherwise to promote the sale, use or other - * dealings in this Software without prior written authorization from - * Conectiva Linux. - * - * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> - * - */ - -#ifndef _xf86cfg_vidmode_h -#define _xf86cfg_vidmode_h - -#include "xf86config.h" -#include <X11/extensions/xf86vmode.h> - -/* - * Types - */ -struct _xf86cfgVidMode { - XF86ConfMonitorPtr monitor; - int screen; - int num_infos; - XF86VidModeModeInfo **infos; -}; - -/* - * Prototypes - */ -Bool VideoModeInitialize(void); -void VideoModeConfigureStart(void); -void VideoModeConfigureEnd(void); -void VidmodeRestoreAction(Widget, XEvent*, String*, Cardinal*); -void CancelAddModeAction(Widget, XEvent*, String*, Cardinal*); -void CancelTestModeAction(Widget, XEvent*, String*, Cardinal*); -void InitializeVidmodes(void); - -/* - * Initialization - */ -extern Widget vtune; - -#endif /* _xf86cfg_vidmode_h */ diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/wider.xbm b/xorg-server/hw/xfree86/utils/xorgcfg/wider.xbm deleted file mode 100644 index 5cf87f25a..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/wider.xbm +++ /dev/null @@ -1,8 +0,0 @@ -#define wider_width 19 -#define wider_height 19 -static unsigned char wider_bits[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x08, 0x00, 0xc0, 0x18, 0x00, - 0xe0, 0x38, 0x00, 0xf0, 0x78, 0x00, 0xf8, 0xf8, 0x00, 0xfc, 0xff, 0x01, - 0xfe, 0xff, 0x03, 0xff, 0xff, 0x07, 0xfe, 0xff, 0x03, 0xfc, 0xff, 0x01, - 0xf8, 0xf8, 0x00, 0xf0, 0x78, 0x00, 0xe0, 0x38, 0x00, 0xc0, 0x18, 0x00, - 0x80, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/xf86config.c b/xorg-server/hw/xfree86/utils/xorgcfg/xf86config.c deleted file mode 100644 index 2c667dcde..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/xf86config.c +++ /dev/null @@ -1,982 +0,0 @@ -/* - * Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) - * - * 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 - * CONECTIVA LINUX 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 Conectiva Linux shall - * not be used in advertising or otherwise to promote the sale, use or other - * dealings in this Software without prior written authorization from - * Conectiva Linux. - * - * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> - * - */ - -#include "xf86config.h" - -/* - * Implementation - */ -int -xf86removeOption(XF86OptionPtr *options, char *name) -{ - XF86OptionPtr opt = *options, prev = opt; - - while (opt) { - if (strcasecmp(opt->opt_name, name) == 0) { - XtFree(opt->opt_name); - XtFree(opt->opt_val); - XtFree(opt->opt_comment); - if (opt == prev) - *options = (XF86OptionPtr)(opt->list.next); - else - prev->list.next = opt->list.next; - XtFree((XtPointer)opt); - - return (True); - } - - prev = opt; - opt = (XF86OptionPtr)(opt->list.next); - } - - return (False); -} - -int -xf86removeInput(XF86ConfigPtr config, XF86ConfInputPtr input) -{ - XF86ConfInputPtr prev, inp = config->conf_input_lst; - XF86ConfLayoutPtr lay = config->conf_layout_lst; - - /* remove from main structure */ - prev = inp; - while (inp != NULL) { - if (inp == input) { - if (inp == prev) - config->conf_input_lst = (XF86ConfInputPtr)(inp->list.next); - else - prev->list.next = inp->list.next; - break; - } - prev = inp; - inp = (XF86ConfInputPtr)(inp->list.next); - } - - if (inp == NULL) - return (False); - - /* remove references */ - while (lay != NULL) { - xf86removeInputRef(lay, inp); - lay = (XF86ConfLayoutPtr)(lay->list.next); - } - - XtFree(inp->inp_identifier); - XtFree(inp->inp_driver); - XtFree(inp->inp_comment); - xf86optionListFree(inp->inp_option_lst); - XtFree((XtPointer)inp); - - return (True); -} - -int -xf86removeInputRef(XF86ConfLayoutPtr layout, XF86ConfInputPtr input) -{ - XF86ConfInputrefPtr prev, iref = layout->lay_input_lst; - - prev = iref; - while (iref != NULL) { - if (iref->iref_inputdev == input) { - XtFree(iref->iref_inputdev_str); - xf86optionListFree(iref->iref_option_lst); - if (prev == iref) - layout->lay_input_lst = - (XF86ConfInputrefPtr)(iref->list.next); - else - prev->list.next = iref->list.next; - XtFree((XtPointer)iref); - - return (True); - } - prev = iref; - iref = (XF86ConfInputrefPtr)(iref->list.next); - } - - return (False); -} - -int -xf86removeDevice(XF86ConfigPtr config, XF86ConfDevicePtr device) -{ - XF86ConfDevicePtr prev, dev = config->conf_device_lst; - XF86ConfScreenPtr psc, scr = config->conf_screen_lst; - - /* remove from main structure */ - prev = dev; - while (dev != NULL) { - if (dev == device) { - if (dev == prev) - config->conf_device_lst = (XF86ConfDevicePtr)(dev->list.next); - else - prev->list.next = dev->list.next; - break; - } - prev = dev; - dev = (XF86ConfDevicePtr)(dev->list.next); - } - - if (dev == NULL) - return (False); - - /* remove references */ - psc = scr; - while (scr != NULL) { - if (scr->scrn_device == device) { - xf86removeScreen(config, scr); - if (scr == psc) - scr = psc = config->conf_screen_lst; - else - scr = psc; - continue; - } - psc = scr; - scr = (XF86ConfScreenPtr)(scr->list.next); - } - - XtFree(dev->dev_identifier); - XtFree(dev->dev_vendor); - XtFree(dev->dev_board); - XtFree(dev->dev_chipset); - XtFree(dev->dev_busid); - XtFree(dev->dev_card); - XtFree(dev->dev_driver); - XtFree(dev->dev_ramdac); - XtFree(dev->dev_clockchip); - XtFree(dev->dev_comment); - xf86optionListFree(dev->dev_option_lst); - XtFree((XtPointer)dev); - - return (True); -} - -int -xf86removeMonitor(XF86ConfigPtr config, XF86ConfMonitorPtr monitor) -{ - XF86ConfMonitorPtr prev, mon = config->conf_monitor_lst; - XF86ConfScreenPtr psc, scr = config->conf_screen_lst; - - /* remove from main structure */ - prev = mon; - while (mon != NULL) { - if (mon == monitor) { - if (mon == prev) - config->conf_monitor_lst = (XF86ConfMonitorPtr)(mon->list.next); - else - prev->list.next = mon->list.next; - break; - } - prev = mon; - mon = (XF86ConfMonitorPtr)(mon->list.next); - } - - if (mon == NULL) - return (False); - - /* remove references */ - psc = scr; - while (scr != NULL) { - if (scr->scrn_monitor == monitor) { - xf86removeScreen(config, scr); - if (scr == psc) - scr = psc = config->conf_screen_lst; - else - scr = psc; - continue; - } - psc = scr; - scr = (XF86ConfScreenPtr)(scr->list.next); - } - - XtFree(mon->mon_identifier); - XtFree(mon->mon_vendor); - XtFree(mon->mon_modelname); - XtFree(mon->mon_comment); - xf86optionListFree(mon->mon_option_lst); - XtFree((XtPointer)mon); - - return (True); -} - -int -xf86removeScreen(XF86ConfigPtr config, XF86ConfScreenPtr screen) -{ - XF86ConfScreenPtr prev, scrn; - XF86ConfLayoutPtr lay; - - if (config == NULL || screen == NULL) - return (False); - - lay = config->conf_layout_lst; - prev = scrn = config->conf_screen_lst; - - while (scrn != NULL) { - if (scrn == screen) { - if (scrn == prev) - config->conf_screen_lst = (XF86ConfScreenPtr)(scrn->list.next); - else - prev->list.next = scrn->list.next; - break; - } - prev = scrn; - scrn = (XF86ConfScreenPtr)(scrn->list.next); - } - - if (scrn == NULL) - return (False); - - while (lay != NULL) { - XF86ConfAdjacencyPtr pad, ad = NULL, adj = lay->lay_adjacency_lst; - - pad = adj; - while (adj) { - if (adj->adj_screen == screen) - ad = adj; - else { - if (adj->adj_top != NULL && adj->adj_top == screen) { - XtFree(adj->adj_top_str); - adj->adj_top_str = NULL; - adj->adj_top = NULL; - } - else if (adj->adj_bottom != NULL && adj->adj_bottom == screen) { - XtFree(adj->adj_bottom_str); - adj->adj_bottom_str = NULL; - adj->adj_bottom = NULL; - } - else if (adj->adj_left != NULL && adj->adj_left == screen) { - XtFree(adj->adj_left_str); - adj->adj_left_str = NULL; - adj->adj_left = NULL; - } - else if (adj->adj_right != NULL && adj->adj_right == screen) { - XtFree(adj->adj_right_str); - adj->adj_right_str = NULL; - adj->adj_right = NULL; - } - else if (adj->adj_refscreen != NULL && - strcasecmp(scrn->scrn_identifier, - adj->adj_refscreen) == 0) { - XtFree(adj->adj_refscreen); - adj->adj_refscreen = NULL; - adj->adj_where = CONF_ADJ_ABSOLUTE; - adj->adj_x = adj->adj_y = 0; - } - } - if (ad == NULL) - pad = adj; - adj = (XF86ConfAdjacencyPtr)(adj->list.next); - } - - if (ad != NULL) { - if (ad == lay->lay_adjacency_lst) - lay->lay_adjacency_lst = (XF86ConfAdjacencyPtr)(ad->list.next); - else - pad->list.next = (XF86ConfAdjacencyPtr)(ad->list.next); - XtFree(ad->adj_screen_str); - XtFree(ad->adj_top_str); - XtFree(ad->adj_bottom_str); - XtFree(ad->adj_left_str); - XtFree(ad->adj_right_str); - XtFree(ad->adj_refscreen); - XtFree((XtPointer)ad); - } - - lay = (XF86ConfLayoutPtr)(lay->list.next); - } - - xf86freeAdaptorLinkList(screen->scrn_adaptor_lst); - xf86freeDisplayList(screen->scrn_display_lst); - - XtFree(screen->scrn_identifier); - XtFree(screen->scrn_monitor_str); - XtFree(screen->scrn_device_str); - xf86optionListFree(screen->scrn_option_lst); - XtFree((XtPointer)screen); - - return (True); -} - -int -xf86removeAdjacency(XF86ConfLayoutPtr layout, XF86ConfAdjacencyPtr adjacency) -{ - XF86ConfAdjacencyPtr prev, adj = layout->lay_adjacency_lst; - - if (layout == NULL || adjacency == NULL) - return (False); - - prev = adj; - while (adj != NULL) { - if (adj == adjacency) - break; - prev = adj; - adj = (XF86ConfAdjacencyPtr)(adj->list.next); - } - if (adj == NULL) - return (False); - - XtFree(adj->adj_screen_str); - XtFree(adj->adj_top_str); - XtFree(adj->adj_bottom_str); - XtFree(adj->adj_left_str); - XtFree(adj->adj_right_str); - XtFree(adj->adj_refscreen); - if (prev == adj) - layout->lay_adjacency_lst = (XF86ConfAdjacencyPtr)(adj->list.next); - else - prev->list.next = adj->list.next; - XtFree((XtPointer)adj); - - return (True); -} - -int -xf86removeInactive(XF86ConfLayoutPtr layout, XF86ConfInactivePtr inactive) -{ - XF86ConfInactivePtr prev, inac = layout->lay_inactive_lst; - - if (layout == NULL || inactive == NULL) - return (False); - - prev = inac; - while (inac != NULL) { - if (inac == inactive) - break; - prev = inac; - inac = (XF86ConfInactivePtr)(inac->list.next); - } - if (inac == NULL) - return (False); - - XtFree(inac->inactive_device_str); - if (prev == inac) - layout->lay_inactive_lst = (XF86ConfInactivePtr)(inac->list.next); - else - prev->list.next = inac->list.next; - XtFree((XtPointer)inac); - - return (True); -} - -int -xf86removeLayout(XF86ConfigPtr config, XF86ConfLayoutPtr layout) -{ - XF86ConfLayoutPtr prev, lay = config->conf_layout_lst; - XF86ConfAdjacencyPtr adj, nadj; - XF86ConfInactivePtr inac, ninac; - XF86ConfInputrefPtr iref, niref; - - if (config == NULL || layout == NULL) - return (False); - - prev = lay; - while (lay != NULL) { - if (lay == layout) - break; - prev = lay; - lay = (XF86ConfLayoutPtr)(lay->list.next); - } - - if (lay == NULL) - return (False); - - adj = lay->lay_adjacency_lst; - while (adj != NULL) { - nadj = (XF86ConfAdjacencyPtr)(adj->list.next); - xf86removeAdjacency(lay, adj); - adj = nadj; - } - - inac = lay->lay_inactive_lst; - while (inac != NULL) { - ninac = (XF86ConfInactivePtr)(inac->list.next); - xf86removeInactive(lay, inac); - inac = ninac; - } - - iref = lay->lay_input_lst; - while (iref != NULL) { - niref = (XF86ConfInputrefPtr)(iref->list.next); - xf86removeInputRef(lay, iref->iref_inputdev); - iref = niref; - } - - xf86optionListFree(lay->lay_option_lst); - - if (prev == lay) - config->conf_layout_lst = (XF86ConfLayoutPtr)(lay->list.next); - else - prev->list.next = lay->list.next; - XtFree(lay->lay_identifier); - XtFree((XtPointer)lay); - - return (True); -} - -int -xf86removeModule(XF86ConfigPtr config, XF86LoadPtr load) -{ - XF86LoadPtr prev, mod; - - if (config == NULL || config->conf_modules == NULL || - config->conf_modules->mod_load_lst == NULL) - return (False); - - for (mod = prev = config->conf_modules->mod_load_lst; - mod != NULL; prev = mod, mod = (XF86LoadPtr)(mod->list.next)) - if (load == mod) { - if (mod == prev) - config->conf_modules->mod_load_lst = - (XF86LoadPtr)(mod->list.next); - else - prev->list.next = mod->list.next; - XtFree(mod->load_name); - xf86optionListFree(mod->load_opt); - - return (True); - } - - return (False); -} - -int -xf86removeModes(XF86ConfigPtr config, XF86ConfModesPtr modes) -{ - XF86ConfModesPtr mod; - XF86ConfModeLinePtr ml, next; - XF86ConfMonitorPtr mon; - - if (config == NULL || modes == NULL) - return (False); - - /* check if modes is in config */ - if ((mod = config->conf_modes_lst) == modes) - config->conf_modes_lst = (XF86ConfModesPtr)(mod->list.next); - else - for (; mod != NULL; mod = (XF86ConfModesPtr)(mod->list.next)) - if ((XF86ConfModesPtr)(mod->list.next) == modes) { - mod->list.next = modes->list.next; - break; - } - - if (mod == NULL) - return (False); - - /* remove references in monitor sections */ - mon = config->conf_monitor_lst; - while (mon) { - XF86ConfModesLinkPtr m, p; - - m = p = mon->mon_modes_sect_lst; - while (m) { - if (m->ml_modes == modes) { - XtFree(m->ml_modes_str); - if (m == mon->mon_modes_sect_lst) - p = mon->mon_modes_sect_lst = - (XF86ConfModesLinkPtr)(m->list.next); - else { - p->list.next = m->list.next; - p = p->list.next; - } - XtFree((XtPointer)m); - m = p; - continue; - } - p = m; - m = (XF86ConfModesLinkPtr)(m->list.next); - } - mon = (XF86ConfMonitorPtr)(mon->list.next); - } - - /* free modelines */ - ml = modes->mon_modeline_lst; - while (ml) { - next = (XF86ConfModeLinePtr)(ml->list.next); - XtFree(ml->ml_identifier); - XtFree((XtPointer)ml); - ml = next; - } - - /* free mode */ - XtFree(modes->modes_identifier); - XtFree((XtPointer)modes); - - return (True); -} - -int -xf86removeModesModeLine(XF86ConfModesPtr modes, XF86ConfModeLinePtr modeline) -{ - XF86ConfModeLinePtr ml, prev; - - if (modes == NULL || modeline == NULL || modes->mon_modeline_lst == NULL) - return (False); - - for (ml = prev = modes->mon_modeline_lst; ml; - prev = ml, ml = (XF86ConfModeLinePtr)(ml->list.next)) - if (ml == modeline) { - if (prev == ml) - modes->mon_modeline_lst = (XF86ConfModeLinePtr)(ml->list.next); - else - prev->list.next = ml->list.next; - XtFree(modeline->ml_identifier); - XtFree((XtPointer)modeline); - return (True); - } - - return (False); -} - -int -xf86removeMonitorModeLine(XF86ConfMonitorPtr monitor, XF86ConfModeLinePtr modeline) -{ - XF86ConfModeLinePtr ml, prev; - - if (monitor == NULL || modeline == NULL || monitor->mon_modeline_lst == NULL) - return (False); - - for (ml = prev = monitor->mon_modeline_lst; ml; - prev = ml, ml = (XF86ConfModeLinePtr)(ml->list.next)) - if (ml == modeline) { - if (prev == ml) - monitor->mon_modeline_lst = (XF86ConfModeLinePtr)(ml->list.next); - else - prev->list.next = ml->list.next; - XtFree(modeline->ml_identifier); - XtFree((XtPointer)modeline); - return (True); - } - - return (False); -} - -int -xf86removeMonitorModesLink(XF86ConfMonitorPtr monitor, XF86ConfModesLinkPtr link) -{ - XF86ConfModesLinkPtr lnk, prev; - - if (monitor == NULL || link == NULL || monitor->mon_modes_sect_lst == NULL) - return (False); - - for (lnk = prev = monitor->mon_modes_sect_lst; lnk != NULL; - prev = lnk, lnk = (XF86ConfModesLinkPtr)(lnk->list.next)) - if (lnk == link) { - if (prev == lnk) - monitor->mon_modes_sect_lst = (XF86ConfModesLinkPtr)(lnk->list.next); - else - prev->list.next = lnk->list.next; - XtFree(link->ml_modes_str); - XtFree((XtPointer)link); - - return (True); - } - - return (False); -} - -int -xf86removeScreenAdaptorLink(XF86ConfScreenPtr scrn, XF86ConfAdaptorLinkPtr link) -{ - XF86ConfAdaptorLinkPtr lnk, prev; - - if (scrn == NULL || link == NULL || scrn->scrn_adaptor_lst == NULL) - return (False); - - for (lnk = prev = scrn->scrn_adaptor_lst; lnk != NULL; - prev = lnk, lnk = (XF86ConfAdaptorLinkPtr)(lnk->list.next)) - if (lnk == link) { - if (prev == lnk) - scrn->scrn_adaptor_lst = - (XF86ConfAdaptorLinkPtr)(lnk->list.next); - else - prev->list.next = lnk->list.next; - XtFree(link->al_adaptor_str); - XtFree((XtPointer)link); - - return (True); - } - - return (False); -} - -int -xf86removeScreenDisplay(XF86ConfScreenPtr scrn, XF86ConfDisplayPtr display) -{ - XF86ConfDisplayPtr dsp, prev; - - if (scrn == NULL || display == NULL || scrn->scrn_display_lst == NULL) - return (False); - - for (dsp = prev = scrn->scrn_display_lst; dsp != NULL; - prev = dsp, dsp = (XF86ConfDisplayPtr)(dsp->list.next)) - if (dsp == display) { - if (prev == dsp) - scrn->scrn_display_lst = - (XF86ConfDisplayPtr)(dsp->list.next); - else - prev->list.next = dsp->list.next; - xf86optionListFree(display->disp_option_lst); - XtFree((XtPointer)display->disp_visual); - xf86freeModeList(display->disp_mode_lst); - XtFree((XtPointer)display); - - return (True); - } - - return (False); -} - -int -xf86removeVideoAdaptor(XF86ConfigPtr config, XF86ConfVideoAdaptorPtr video) -{ - XF86ConfVideoAdaptorPtr vid; - XF86ConfScreenPtr scrn; - XF86ConfVideoPortPtr vp, next; - - if (config == NULL || video == NULL) - return (False); - - /* check if video is in config and update videoadaptor list */ - if ((vid = config->conf_videoadaptor_lst) == video) - config->conf_videoadaptor_lst = (XF86ConfVideoAdaptorPtr)(vid->list.next); - else - for (; vid != NULL; vid = (XF86ConfVideoAdaptorPtr)(vid->list.next)) - if ((XF86ConfVideoAdaptorPtr)(vid->list.next) == video) { - vid->list.next = video->list.next; - break; - } - - if (vid == NULL) - return (False); - - /* remove references in screen sections */ - scrn = config->conf_screen_lst; - while (scrn) { - XF86ConfAdaptorLinkPtr v, p; - - v = p = scrn->scrn_adaptor_lst; - while (v) { - if (v->al_adaptor == video) { - XtFree(v->al_adaptor_str); - if (v == scrn->scrn_adaptor_lst) - p = scrn->scrn_adaptor_lst = - (XF86ConfAdaptorLinkPtr)(v->list.next); - else { - p->list.next = v->list.next; - p = p->list.next; - } - XtFree((XtPointer)v); - v = p; - continue; - } - p = v; - v = (XF86ConfAdaptorLinkPtr)(v->list.next); - } - scrn = (XF86ConfScreenPtr)(scrn->list.next); - } - - /* free videoports */ - vp = video->va_port_lst; - while (vp) { - next = (XF86ConfVideoPortPtr)(vp->list.next); - XtFree(vp->vp_identifier); - xf86optionListFree(vp->vp_option_lst); - XtFree((XtPointer)vp); - vp = next; - } - - /* free videoadaptor */ - XtFree(video->va_identifier); - XtFree(video->va_vendor); - XtFree(video->va_board); - XtFree(video->va_busid); - XtFree(video->va_driver); - XtFree(video->va_fwdref); - xf86optionListFree(video->va_option_lst); - XtFree((XtPointer)video); - - return (True); -} - -int -xf86removeVideoPort(XF86ConfVideoAdaptorPtr va, XF86ConfVideoPortPtr vp) -{ - XF86ConfVideoPortPtr prev; - - if (va == NULL || vp == NULL) - return (False); - - if ((prev = va->va_port_lst) == vp) - va->va_port_lst = (XF86ConfVideoPortPtr)(va->va_port_lst->list.next); - else { - while (prev && (XF86ConfVideoPortPtr)(prev->list.next) != vp) - prev = (XF86ConfVideoPortPtr)(prev->list.next); - if (prev == NULL) - return (False); - prev->list.next = vp->list.next; - } - - xf86optionListFree(vp->vp_option_lst); - XtFree((XtPointer)vp); - - return (True); -} - -int -xf86removeDisplayMode(XF86ConfDisplayPtr display, XF86ModePtr mode) -{ - XF86ModePtr prev; - - if (display == NULL || mode == NULL) - return (False); - - if ((prev = display->disp_mode_lst) == mode) - display->disp_mode_lst = (XF86ModePtr)(display->disp_mode_lst->list.next); - else { - while (prev && (XF86ModePtr)(prev->list.next) != mode) - prev = (XF86ModePtr)(prev->list.next); - if (prev == NULL) - return (False); - prev->list.next = mode->list.next; - } - - XtFree((XtPointer)mode); - - return (True); -} - -int -xf86removeVendor(XF86ConfigPtr config, XF86ConfVendorPtr vendor) -{ - XF86ConfVendorPtr prev; - - if (config == NULL || vendor == NULL) - return (False); - - if ((prev = config->conf_vendor_lst) == vendor) - config->conf_vendor_lst = (XF86ConfVendorPtr)(config->conf_vendor_lst->list.next); - else { - while (prev && (XF86ConfVendorPtr)(prev->list.next) != vendor) - prev = (XF86ConfVendorPtr)(prev->list.next); - if (prev == NULL) - return (False); - prev->list.next = vendor->list.next; - } - - xf86optionListFree(vendor->vnd_option_lst); - xf86freeVendorSubList(vendor->vnd_sub_lst); - XtFree(vendor->vnd_identifier); - XtFree((XtPointer)vendor); - - return (True); -} - -int -xf86removeVendorSub(XF86ConfVendorPtr vendor, XF86ConfVendSubPtr sub) -{ - XF86ConfVendSubPtr prev; - - if (vendor == NULL || sub == NULL) - return (False); - - if ((prev = vendor->vnd_sub_lst) == sub) - vendor->vnd_sub_lst = (XF86ConfVendSubPtr)(vendor->vnd_sub_lst->list.next); - else { - while (prev && (XF86ConfVendSubPtr)(prev->list.next) != sub) - prev = (XF86ConfVendSubPtr)(prev->list.next); - if (prev == NULL) - return (False); - prev->list.next = sub->list.next; - } - - xf86optionListFree(sub->vs_option_lst); - XtFree(sub->vs_name); - XtFree(sub->vs_identifier); - XtFree((XtPointer)sub); - - return (True); -} - -int -xf86removeBuffers(XF86ConfDRIPtr dri, XF86ConfBuffersPtr buf) -{ - XF86ConfBuffersPtr prev; - - if (dri == NULL || buf == NULL) - return (False); - - if ((prev = dri->dri_buffers_lst) == buf) - dri->dri_buffers_lst = (XF86ConfBuffersPtr)(dri->dri_buffers_lst->list.next); - else { - while (prev && (XF86ConfBuffersPtr)(prev->list.next) != buf) - prev = (XF86ConfBuffersPtr)(prev->list.next); - if (prev == NULL) - return (False); - prev->list.next = buf->list.next; - } - - XtFree(buf->buf_flags); - XtFree((XtPointer)buf); - - return (True); -} - -int -xf86renameInput(XF86ConfigPtr config, XF86ConfInputPtr input, char *name) -{ - XF86ConfLayoutPtr lay = config->conf_layout_lst; - - if (config == NULL || input == NULL || name == NULL || *name == '\0') - return (False); - - while (lay != NULL) { - XF86ConfInputrefPtr iref = lay->lay_input_lst; - - while (iref != NULL) { - if (strcasecmp(input->inp_identifier, iref->iref_inputdev_str) == 0) { - XtFree(iref->iref_inputdev_str); - iref->iref_inputdev_str = XtNewString(name); - } - iref = (XF86ConfInputrefPtr)(iref->list.next); - } - lay = (XF86ConfLayoutPtr)(lay->list.next); - } - - XtFree(input->inp_identifier); - input->inp_identifier = XtNewString(name); - - return (True); -} - -int -xf86renameDevice(XF86ConfigPtr config, XF86ConfDevicePtr dev, char *name) -{ - XF86ConfScreenPtr scr = config->conf_screen_lst; - - if (config == NULL || dev == NULL || name == NULL || *name == '\0') - return (False); - - while (scr != NULL) { - if (scr->scrn_device == dev) { - XtFree(scr->scrn_device_str); - scr->scrn_device_str = XtNewString(name); - } - - scr = (XF86ConfScreenPtr)(scr->list.next); - } - - XtFree(dev->dev_identifier); - dev->dev_identifier = XtNewString(name); - - return (True); -} - -int -xf86renameMonitor(XF86ConfigPtr config, XF86ConfMonitorPtr mon, char *name) -{ - XF86ConfScreenPtr scr = config->conf_screen_lst; - - if (config == NULL || mon == NULL || name == NULL || *name == '\0') - return (False); - - while (scr != NULL) { - if (scr->scrn_monitor == mon) { - XtFree(scr->scrn_monitor_str); - scr->scrn_monitor_str = XtNewString(name); - } - - scr = (XF86ConfScreenPtr)(scr->list.next); - } - - XtFree(mon->mon_identifier); - mon->mon_identifier = XtNewString(name); - - return (True); -} - -int -xf86renameLayout(XF86ConfigPtr config, XF86ConfLayoutPtr layout, char *name) -{ - if (config == NULL || layout == NULL || name == NULL || *name == '\0') - return (False); - - XtFree(layout->lay_identifier); - layout->lay_identifier = XtNewString(name); - - return (True); -} - -int -xf86renameScreen(XF86ConfigPtr config, XF86ConfScreenPtr scrn, char *name) -{ - XF86ConfLayoutPtr lay = config->conf_layout_lst; - - if (config == NULL || scrn == NULL || name == NULL || *name == '\0') - return (False); - - while (lay != NULL) { - XF86ConfAdjacencyPtr adj = lay->lay_adjacency_lst; - - while (adj != NULL) { - if (adj->adj_screen == scrn) { - XtFree(adj->adj_screen_str); - adj->adj_screen_str = XtNewString(name); - } - else if (adj->adj_top == scrn) { - XtFree(adj->adj_top_str); - adj->adj_top_str = XtNewString(name); - } - else if (adj->adj_bottom == scrn) { - XtFree(adj->adj_bottom_str); - adj->adj_bottom_str = XtNewString(name); - } - else if (adj->adj_left == scrn) { - XtFree(adj->adj_left_str); - adj->adj_left_str = XtNewString(name); - } - else if (adj->adj_right == scrn) { - XtFree(adj->adj_right_str); - adj->adj_right_str = XtNewString(name); - } - else if (adj->adj_refscreen != NULL && - strcasecmp(adj->adj_refscreen, name) == 0) { - XtFree(adj->adj_refscreen); - adj->adj_refscreen = XtNewString(name); - } - - adj = (XF86ConfAdjacencyPtr)(adj->list.next); - } - lay = (XF86ConfLayoutPtr)(lay->list.next); - } - - XtFree(scrn->scrn_identifier); - scrn->scrn_identifier = XtNewString(name); - - return (True); -} diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/xf86config.h b/xorg-server/hw/xfree86/utils/xorgcfg/xf86config.h deleted file mode 100644 index 9387d782f..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/xf86config.h +++ /dev/null @@ -1,110 +0,0 @@ -/* - * Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) - * - * 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 - * CONECTIVA LINUX 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 Conectiva Linux shall - * not be used in advertising or otherwise to promote the sale, use or other - * dealings in this Software without prior written authorization from - * Conectiva Linux. - * - * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> - * - */ - -#include "config.h" - -#ifndef _xf86cfg_xf86config_h -#define _xf86cfg_xf86config_h - -#define xf86addInput(head, ptr) \ - (XF86ConfInputPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr)) -#define xf86addInputref(head, ptr) \ - (XF86ConfInputrefPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr)) -#define xf86addDevice(head, ptr) \ - (XF86ConfDevicePtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr)) -#define xf86addDisplayMode(head, ptr) \ - (XF86ModePtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr)) -#define xf86addMonitor(head, ptr) \ - (XF86ConfMonitorPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr)) -#define xf86addScreen(head, ptr) \ - (XF86ConfScreenPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr)) -#define xf86addLayout(head, ptr) \ - (XF86ConfLayoutPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr)) -#define xf86addModeLine(head, ptr) \ - (XF86ConfModeLinePtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr)) -#define xf86addModes(head, ptr) \ - (XF86ConfModesPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr)) -#define xf86addModesLink(head, ptr) \ - (XF86ConfModesLinkPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr)) -#define xf86addModule(head, ptr) \ - (XF86LoadPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr)) -#define xf86addScreenAdaptor(head, ptr) \ - (XF86ConfAdaptorLinkPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr)) -#define xf86addScreenDisplay(head, ptr) \ - (XF86ConfDisplayPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr)) -#define xf86addVideoAdaptor(head, ptr) \ - (XF86ConfVideoAdaptorPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr)) -#define xf86addVideoPort(head, ptr) \ - (XF86ConfVideoPortPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr)) -#define xf86addAdjacency(head, ptr) \ - (XF86ConfAdjacencyPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr)) -#define xf86addVendor(head, ptr) \ - (XF86ConfVendorPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr)) -#define xf86addVendorSub(head, ptr) \ - (XF86ConfVendSubPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr)) -#define xf86addBuffers(head, ptr) \ - (XF86ConfBuffersPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr)) - - -int xf86removeOption(XF86OptionPtr*, char*); -int xf86removeInput(XF86ConfigPtr, XF86ConfInputPtr); -int xf86removeInputRef(XF86ConfLayoutPtr, XF86ConfInputPtr); -int xf86removeDevice(XF86ConfigPtr, XF86ConfDevicePtr); -int xf86removeDisplayMode(XF86ConfDisplayPtr, XF86ModePtr); -int xf86removeMonitor(XF86ConfigPtr, XF86ConfMonitorPtr); -int xf86removeScreen(XF86ConfigPtr, XF86ConfScreenPtr); -int xf86removeAdjacency(XF86ConfLayoutPtr, XF86ConfAdjacencyPtr); -int xf86removeInactive(XF86ConfLayoutPtr, XF86ConfInactivePtr); -int xf86removeLayout(XF86ConfigPtr, XF86ConfLayoutPtr); -int xf86removeModule(XF86ConfigPtr, XF86LoadPtr); -int xf86removeModes(XF86ConfigPtr, XF86ConfModesPtr); -int xf86removeModesModeLine(XF86ConfModesPtr, XF86ConfModeLinePtr); -int xf86removeMonitorModeLine(XF86ConfMonitorPtr, XF86ConfModeLinePtr); -int xf86removeMonitorModesLink(XF86ConfMonitorPtr, XF86ConfModesLinkPtr); -int xf86removeScreenAdaptorLink(XF86ConfScreenPtr, XF86ConfAdaptorLinkPtr); -int xf86removeScreenDisplay(XF86ConfScreenPtr, XF86ConfDisplayPtr); -int xf86removeVideoAdaptor(XF86ConfigPtr, XF86ConfVideoAdaptorPtr); -int xf86removeVideoPort(XF86ConfVideoAdaptorPtr, XF86ConfVideoPortPtr); -int xf86removeVendor(XF86ConfigPtr, XF86ConfVendorPtr); -int xf86removeVendorSub(XF86ConfVendorPtr, XF86ConfVendSubPtr); -int xf86removeBuffers(XF86ConfDRIPtr, XF86ConfBuffersPtr); - -int xf86renameInput(XF86ConfigPtr, XF86ConfInputPtr, char*); -int xf86renameDevice(XF86ConfigPtr, XF86ConfDevicePtr, char*); -int xf86renameMonitor(XF86ConfigPtr, XF86ConfMonitorPtr, char*); -int xf86renameLayout(XF86ConfigPtr, XF86ConfLayoutPtr, char*); -int xf86renameScreen(XF86ConfigPtr, XF86ConfScreenPtr, char*); - -extern void xf86freeAdaptorLinkList(XF86ConfAdaptorLinkPtr); -extern void xf86freeDisplayList(XF86ConfDisplayPtr); -extern void xf86freeModeList(XF86ModePtr); -extern void xf86freeVendorSubList(XF86ConfVendSubPtr); - -#endif /* _xf86cfg_xf86config_h */ diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/xorgcfg.man.pre b/xorg-server/hw/xfree86/utils/xorgcfg/xorgcfg.man.pre deleted file mode 100644 index 71e75e2d8..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/xorgcfg.man.pre +++ /dev/null @@ -1,148 +0,0 @@ -.\" -.\" $XdotOrg: $ -.\" Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) -.\" -.\" 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 -.\" CONECTIVA LINUX 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 Conectiva Linux shall -.\" not be used in advertising or otherwise to promote the sale, use or other -.\" dealings in this Software without prior written authorization from -.\" Conectiva Linux. -.\" -.\" Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> -.\" -.\" $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/xf86cfg.man,v 1.9 2002/12/30 14:34:02 herrb Exp $ -.\" -.TH xorgcfg __appmansuffix__ __vendorversion__ -.SH NAME -xorgcfg - Graphical configuration tool for __xservername__ -.SH SYNOPSIS -.B xorgcfg -[-config \fIconfigfile\fP] [-modulepath \fImoduledir\fP] -[-fontpath \fIfontsdir\fP] [-toolkitoption ...] -.SH DESCRIPTION -.I Xorgcfg -is a tool to configure\fI __xservername__\fP, and can be used to either write the -initial configuration file or make customizations to the current configuration. -.PP -When the \fBDISPLAY\fP environment variable is not set, xorgcfg will run -the command\fI __xservername__ -configure\fP to allow the xserver to detect the -hardware in the computer, and write an initial\fI __xconfigfile__\fP file -in the user's home directory. Then, it will start -__xservername__ and allow customizations. -.PP -If the \fBDISPLAY\fP environment variable is set, xorgcfg will read the -default\fI __xconfigfile__\fP, which may or may not be the one being used by -the current server, and allow customizations. -.PP -To use an alternative location for modules or fonts the respective search -paths may be specified. -.PP -Unless there is an \fBApply\fP button in the current xorgcfg dialog, the -changes made will take place the next time\fI __xservername__\fP is started. -.PP -Xorgcfg allows addition and configuration of new devices, such as video cards, -monitors, keyboards and mouses. -.PP -Screen layout configuration for xinerama or traditional multi-head is also -available. -.PP -Modelines can be configured or optimized. -.PP -AccessX basic configurations can be made in the xorgcfg's accessx section. - -.SH OPTIONS -.TP 8 -.I -config -Specifies an alternate __xconfigfile__ file for configuration. -.TP 8 -.I -modulepath -Specifies where xorgcfg, and the server it may start, should look for -__xservername__ modules. -.TP 8 -.I -serverpath -Specifies the complete path, not including the binary name, of the -__xservername__ binary. -.TP 8 -.I -fontpath -Specifies the path to the fonts that should be used by the server started -by xorgcfg. -.TP 8 -.I -textmode -If xorgcfg was compiled with support for ncurses, this option makes xorgcfg -enter a text mode interface. -.TP 8 -.I -nomodules -When built with support for loading modules, this options changes xorgcfg -behaviour, so that it will not load any modules, and thus start quicker. - -.SH ENVIRONMENT -.TP 8 -.I DISPLAY -Default host and display number. -.TP 8 -.I XWINHOME -Directory where __xservername__ was installed, defaults to __projectroot__. -.TP 8 -.I XENVIRONMENT -Name of a resource file that overrides the global resources -stored in the RESOURCE_MANAGER property. - -.SH FILES -.TP 8 -.I /etc/__xconfigfile__ -Server configuration file -.TP 8 -.I /etc/X11/__xconfigfile__ -Server configuration file -.TP 8 -.I __projectroot__/etc/__xconfigfile__ -Server configuration file -.TP 8 -.IR __projectroot__/lib/X11/__xconfigfile__. hostname -Server configuration file -.TP 8 -.I __projectroot__/lib/X11/__xconfigfile__ -Server configuration file -.TP 8 -.I __projectroot__/lib/X11/app-default/XOrgCfg -Specifies xorgcfg resources -.TP 8 -.I __projectroot__/lib/X11/xkb/X0-config.keyboard -Keyboard specific configuration - -.SH "SEE ALSO" -.IR __xservername__ (__appmansuffix__), -.IR __xconfigfile__ (__filemansuffix__) - -.SH COPYRIGHT -.TP 8 -Copyright 2000, Conectiva Linux S.A. -\fIhttp://www.conectiva.com\fP -.TP 8 -Copyright 2000, The XFree86 Project -\fIhttp://www.XFree86.org\fP - -.SH AUTHORS -.TP 8 -Paulo C\'esar Pereira de Andrade \fI<pcpa@conectiva.com.br>\fP -originally for The XFree86 Project. - -.SH BUGS -Probably. diff --git a/xorg-server/hw/xfree86/utils/xorgconfig/Cards b/xorg-server/hw/xfree86/utils/xorgconfig/Cards deleted file mode 100644 index b95928c37..000000000 --- a/xorg-server/hw/xfree86/utils/xorgconfig/Cards +++ /dev/null @@ -1,3135 +0,0 @@ -# $XConsortium: Cards /main/27 1996/10/28 05:43:53 kaleb $ -# This is the database of card definitions used by xf86config. -# Each definition should have a NAME entry, CHIPSET (descriptive) and -# SERVER (one of Mono, VGA16, SVGA, S3, 8514, Mach8, Mach32, Mach64, AGX, -# P9000, W32, I128). -# A reference to another definition is made with SEE (already defined -# entries are not overridden). -# Optional entries are RAMDAC (identifier), CLOCKCHIP (identifier), -# DACSPEED, NOCLOCKPROBE (advises never to probe clocks), UNSUPPORTED -# (indicates card that is not yet properly supported by a dedicated -# server). A LINE entry adds a line of text to be included in the -# Device section (can include options or comments). -# There's no CLOCKS option (although a Clocks line can be included -# with LINE), as it is very undesirable to have a Clocks line that -# is incorrect. The idea is that the Clocks are probed for to be -# sure (a commented suggested Clocks line can be included). -# -# The majority of entries are just a binding of a model name to a -# chipset/server and untested. -# -# $XFree86: xc/programs/Xserver/hw/xfree86/xf86config/Cards,v 3.79 2002/10/16 01:31:05 dawes Exp $ - -# VGA - -NAME * Generic VGA compatible -SERVER VGA16 -DRIVER vga - -NAME * Generic VESA compatible -SERVER VGA16 -DRIVER vesa - -NAME * Unsupported VGA compatible -SERVER VGA16 -DRIVER vga -UNSUPPORTED - - -# # -# generic # -# # - -NAME ** Alliance Pro Motion (generic) [apm] -#CHIPSET apm -SERVER SVGA -DRIVER apm -LINE #Option "no_accel" - -NAME ** Ark Logic (generic) [ark] -#CHIPSET ark -SERVER SVGA -DRIVER ark - -NAME ** ASPEED Technology (generic) [ast] -#CHIPSET ast -SERVER SVGA -DRIVER ast - -NAME ** ATI (generic) [ati] -#CHIPSET ati -SERVER SVGA -DRIVER ati - -NAME ** ATI Rage 128 based (generic) [r128] -#CHIPSET r128 -SERVER SVGA -DRIVER r128 - -NAME ** ATI Radeon (generic) [radeon] -#CHIPSET radeon -SERVER SVGA -DRIVER radeon - -NAME ** Chips and Technologies (generic) [chips] -#CHIPSET chips -SERVER SVGA -DRIVER chips -LINE # Option "suspend_hack" -LINE # Option "STN" -LINE # Option "no_stretch" -LINE # Option "no_center" -LINE # Option "use_modeline" -LINE # Option "fix_panel_size" -LINE # videoram 512 -LINE # Option "noaccel" -LINE # Option "no_bitblt" -LINE # Option "xaa_no_color_exp" -LINE # Option "xaa_benchmark" -LINE # Option "hw_cursor" -LINE # Option "nolinear" -LINE # MemBase 0x03b00000 -LINE # Option "hw_clocks" -LINE # Textclockfreq 25.175 - -NAME ** Cirrus Logic (generic) [cirrus] -#CHIPSET cirrus -SERVER SVGA -DRIVER cirrus -LINE # MemBase 0x00e00000 # ISA card that maps to 14Mb -LINE # MemBase 0x04000000 # VLB card that maps to 64Mb -LINE # MemBase 0x80000000 # VLB card that maps to 2048Mb -LINE # MemBase 0x02000000 # VLB card that maps to 32Mb -LINE # Option "linear" -LINE # Option "fifo_conservative" - -NAME ** Cyrix MediaGX (generic) [cyrix] -#CHIPSET cyrix -SERVER SVGA -DRIVER cyrix - -NAME ** Linux framebuffer (generic) [fbdev] -#CHIPSET fbdev -SERVER SVGA -DRIVER fbdev - -NAME ** 3DLabs, TI (generic) [glint] -#CHIPSET glint -SERVER SVGA -DRIVER glint -LINE #Option "no_accel" - -NAME ** Number Nine I128 (generic) [i128] -#CHIPSET i128 -SERVER SVGA -DRIVER i128 - -NAME ** Intel i740 (generic) [i740] -#CHIPSET i740 -SERVER SVGA -DRIVER i740 - -NAME ** Intel i810 (generic) [i810] -#CHIPSET i810 -SERVER SVGA -DRIVER i810 - -NAME ** Matrox Graphics (generic) [mga] -#CHIPSET mga -SERVER SVGA -DRIVER mga -LINE # Option "mga_sdram" - -NAME ** NeoMagic (generic) [neomagic] -#CHIPSET neomagic -SERVER SVGA -DRIVER neomagic -LINE # Chipset "NM2160" -LINE # IOBase 0xfea00000 -LINE # MemBase 0xfd000000 -LINE # VideoRam 2048 -LINE # DacSpeed 90 -LINE # Option "linear" -LINE # Option "nolinear" -LINE # Option "sw_cursor" -LINE # Option "hw_cursor" -LINE # Option "no_accel" -LINE # Option "intern_disp" -LINE # Option "extern_disp" -LINE # Option "mmio" -LINE # Option "no_mmio" -LINE # Option "lcd_center" -LINE # Option "no_stretch" - -NAME ** NVIDIA (generic) [nv] -#CHIPSET nv -SERVER SVGA -DRIVER nv - -NAME ** Rendition (generic) [rendition] -#CHIPSET rendition -SERVER SVGA -DRIVER rendition -LINE # Option "sw_cursor" - -NAME ** S3 (not ViRGE or Savage) (generic) [s3] -#CHIPSET s3 -SERVER SVGA -DRIVER s3 - -NAME ** S3 ViRGE (generic) [s3virge] -#CHIPSET s3virge -SERVER SVGA -DRIVER s3virge -LINE # Option "xaa_benchmark" -LINE # Option "fifo_moderate" -LINE # Option "pci_burst_on" -LINE # Option "pci_retry" -LINE # Option "lcd_center" -LINE # Set_LCDClk <pixel_clock_for_LCD> - -NAME ** S3 Savage (generic) [savage] -#CHIPSET savage -SERVER SVGA -DRIVER savage - -NAME ** Silicon Motion (generic) [siliconmotion] -#CHIPSET siliconmotion -SERVER SVGA -DRIVER siliconmotion - -NAME ** SiS (generic) [sis] -#CHIPSET sis -SERVER SVGA -DRIVER sis -LINE # Option "no_accel" -LINE # Option "fifo_moderate" -LINE # Option "fifo_conserv" -LINE # Option "fifo_aggressive" -LINE # Option "no_BitBlt" -LINE # Option "fast_vram" -LINE # Option "pci_burst_on" -LINE # Option "xaa_benchmark" -LINE # Option "ext_eng_queue" - -NAME ** 3Dfx (generic) [tdfx] -#CHIPSET tdfx -SERVER SVGA -DRIVER tdfx - -NAME ** DEC TGA (generic) [tga] -#CHIPSET tga -SERVER SVGA -DRIVER tga - -NAME ** Trident (generic) [trident] -#CHIPSET trident -SERVER SVGA -DRIVER trident - -NAME ** Tseng Labs (generic) [tseng] -#CHIPSET tseng -SERVER SVGA -DRIVER tseng -LINE # Option "linear" -LINE # Option "noaccel" -LINE # Option "power_saver" -LINE # Option "fast_dram" -LINE # Option "pci_retry" -LINE # Option "hibit_high" -LINE # Option "hibit_low" -LINE # MemBase 0x3C00000 - -NAME ** VMWare guest OS (generic) [vmware] -#CHIPSET vmware -SERVER SVGA -DRIVER vmware - - -#Chips & Technologies - -#untested -NAME Chips & Technologies CT65520 -CHIPSET ct65520 -SERVER SVGA -DRIVER chips -LINE # Device section for C&T cards. -LINE # Option "suspend_hack" -LINE # Option "STN" -LINE # Option "no_stretch" -LINE # Option "no_center" -LINE # Option "use_modeline" -LINE # Option "fix_panel_size" -LINE # videoram 512 - -NAME Chips & Technologies CT65525 -CHIPSET ct65525 -LINE # Option "nolinear" -LINE # MemBase 0x03b00000 -SEE Chips & Technologies CT65520 - -NAME Chips & Technologies CT65530 -CHIPSET ct65530 -SEE Chips & Technologies CT65525 - -NAME Chips & Technologies CT65535 -CHIPSET ct65535 -NOCLOCKPROBE -LINE # Option "hw_clocks" -LINE # Textclockfreq 25.175 -SEE Chips & Technologies CT65530 - -NAME Chips & Technologies CT65540 -CHIPSET ct65540 -NOCLOCKPROBE -LINE # Option "use_18bit_bus" -SEE Chips & Technologies CT65535 - -NAME Chips & Technologies CT65545 -CHIPSET ct65545 -NOCLOCKPROBE -LINE # Option "noaccel" -LINE # Option "no_bitblt" -LINE # Option "xaa_no_color_exp" -LINE # Option "xaa_benchmark" -LINE # Option "hw_cursor" -LINE # Option "mmio" -SEE Chips & Technologies CT65540 - -NAME Chips & Technologies CT65546 -CHIPSET ct65546 -SEE Chips & Technologies CT65545 - -NAME Chips & Technologies CT65548 -CHIPSET ct65548 -SEE Chips & Technologies CT65545 - -NAME Chips & Technologies CT65550 -CHIPSET ct65550 -NOCLOCKPROBE -LINE # Option "noaccel" -LINE # Option "no_bitblt" -LINE # Option "xaa_no_color_exp" -LINE # Option "xaa_benchmark" -LINE # Option "hw_cursor" -LINE # Option "sync_on_green" -LINE # Option "fast_dram" -LINE # Option "use_vclk1" -LINE # Textclockfreq 25.175 -SEE Chips & Technologies CT65530 - -NAME Chips & Technologies CT65554 -CHIPSET ct65554 -SEE Chips & Technologies CT65550 - -NAME Chips & Technologies CT65555 -CHIPSET ct65555 -SEE Chips & Technologies CT65550 - -NAME Chips & Technologies CT68554 -CHIPSET ct68554 -SEE Chips & Technologies CT65550 - -NAME Chips & Technologies CT69000 -CHIPSET ct69000 -SEE Chips & Technologies CT65550 - -NAME Chips & Technologies CT69030 -CHIPSET ct69030 -SEE Chips & Technologies CT65550 - -NAME Chips & Technologies CT64200 -CHIPSET ct64200 -SERVER SVGA -DRIVER chips -LINE # Device section for C&T cards. -LINE # videoram 1024 - -NAME Chips & Technologies CT64300 -CHIPSET ct64300 -SERVER SVGA -DRIVER chips -LINE # Option "noaccel" -LINE # Option "no_bitblt" -LINE # Option "xaa_no_color_exp" -LINE # Option "xaa_benchmark" -LINE # Option "hw_cursor" -LINE # Option "nolinear" -LINE # MemBase 0x03b00000 -LINE # Option "hw_clocks" -LINE # Textclockfreq 25.175 -SEE Chips & Technologies CT64200 - -# Cirrus Logic - -#tested -NAME Cirrus Logic GD542x -SERVER SVGA -DRIVER vga -UNSUPPORTED -NOCLOCKPROBE -LINE # Device section for Cirrus Logic GD5420/2/4/6/8/9-based cards. -LINE #MemBase 0x00e00000 -LINE #MemBase 0x04e00000 -LINE #Option "linear" - -#tested -NAME Cirrus Logic GD543x -CHIPSET CL-GD5430/5434/5436 -SERVER SVGA -DRIVER cirrus -NOCLOCKPROBE -LINE # Device section for Cirrus Logic GD5430/34-based cards. -LINE #MemBase 0x00e00000 # ISA card that maps to 14Mb -LINE #MemBase 0x04000000 # VLB card that maps to 64Mb -LINE #MemBase 0x80000000 # VLB card that maps to 2048Mb -LINE #MemBase 0x02000000 # VLB card that maps to 32Mb -LINE #Option "linear" - -NAME Cirrus Logic GD544x -CHIPSET CL-GD544x -SERVER SVGA -DRIVER cirrus -NOCLOCKPROBE - -NAME Creative Labs Graphics Blaster MA201 -SEE Cirrus Logic GD544x - -NAME Creative Labs Graphics Blaster MA202 -SEE Cirrus Logic GD544x - -#tested -NAME Cirrus Logic GD5462 -CHIPSET CL-GD5462 -SERVER SVGA -DRIVER cirrus -NOCLOCKPROBE -LINE #Option "fifo_conservative" - -#tested -NAME Cirrus Logic GD5464 -CHIPSET CL-GD5464 -SERVER SVGA -DRIVER cirrus -NOCLOCKPROBE -LINE #Option "fifo_conservative" - -#tested -NAME Cirrus Logic GD5465 -CHIPSET CL-GD5465 -SERVER SVGA -DRIVER cirrus -NOCLOCKPROBE -LINE #Option "fifo_conservative" - -NAME Creative Labs Graphics Blaster MA302 -CHIPSET CL-GD5462 -SEE Cirrus Logic GD5462 - -NAME Creative Labs Graphics Blaster MA334 -CHIPSET CL-GD5464 -SEE Cirrus Logic GD5464 - -NAME Creative Labs Graphics Blaster 3D -CHIPSET CL-GD5464 -SEE Cirrus Logic GD5464 - -#tested -NAME Cirrus Logic GD5480 -CHIPSET CL-GD5480 -SERVER SVGA -DRIVER cirrus -NOCLOCKPROBE - -#tested -NAME Diamond SpeedStar 64 -CHIPSET CL-GD5434 -SEE Cirrus Logic GD543x - -NAME Diamond SpeedStar64 Graphics 2000/2200 -CHIPSET CL-GD5434 -SEE Cirrus Logic GD543x - -NAME Diamond SpeedStar Pro SE (CL-GD5430/5434) -SEE Cirrus Logic GD543x - -NAME Diamond SpeedStar Pro 1100 -SEE Cirrus Logic GD542x - -NAME Orchid Kelvin 64 VLB Rev A -CHIPSET CL-GD5434 -SERVER SVGA -DRIVER cirrus -NOCLOCKPROBE -LINE # Device section for Orchid Kelvin 64 VLB Rev A -LINE # Linear framebuffer maps at 2048Mb. Some motherboards make linear addressing -LINE # impossible. Some cards map at 32Mb. -LINE #MemBase 0x02000000 # VLB card that maps to 32Mb -LINE #MemBase 0x04000000 # VLB card that maps to 64Mb -LINE MemBase 0x80000000 # VLB card that maps to 2048Mb -LINE #Option "linear" - -NAME Orchid Kelvin 64 VLB Rev B -CHIPSET CL-GD5434 -SERVER SVGA -DRIVER cirrus -NOCLOCKPROBE -LINE # Device section for Orchid Kelvin 64 VLB Rev B -LINE # Linear framebuffer maps at 32Mb. Some motherboards make linear addressing -LINE # impossible. Some cards map at 2048Mb. -LINE MemBase 0x02000000 # VLB card that maps to 32Mb -LINE #MemBase 0x04000000 # VLB card that maps to 64Mb -LINE #MemBase 0x80000000 # VLB card that maps to 2048Mb -LINE #Option "linear" - -NAME Orchid Kelvin 64 -CHIPSET CL-GD5434 -SEE Cirrus Logic GD543x - -NAME Intel 5430 -CHIPSET CL-GD5430 -SEE Cirrus Logic GD543x - -NAME STB Nitro (64) -CHIPSET CL-GD5434 -SEE Cirrus Logic GD543x - -NAME STB Nitro 64 Video -CHIPSET CL-GD5446 -SEE Cirrus Logic GD544x - -NAME STB Horizon -CHIPSET CL-GD5426/28 -SEE Cirrus Logic GD542x - -NAME STB Horizon Video -CHIPSET CL-GD5440 -SEE Cirrus Logic GD544x - -NAME Genoa 8500VL(-28) -CHIPSET CL-GD5426/28 -SEE Cirrus Logic GD542x - -NAME Diamond SpeedStar Pro (not SE) -CHIPSET CL-GD5426/28 -SEE Cirrus Logic GD542x - -NAME ALG-5434(E) -CHIPSET CL-GD5434 -SEE Cirrus Logic GD543x - -NAME Actix ProStar -CHIPSET CL-GD5426/5428 -SEE Cirrus Logic GD542x - -NAME Actix ProStar 64 -CHIPSET CL-GD5434 -SEE Cirrus Logic GD543x - -#tested -NAME Acumos AVGA3 -SEE Cirrus Logic GD542x - -NAME DFI-WG1000 -SEE Cirrus Logic GD542x - -NAME Spider VLB Plus -CHIPSET CL-GD5428 -SEE Cirrus Logic GD542x - -NAME VI720 -CHIPSET CL-GD5434 -SEE Cirrus Logic GD543x - -NAME Cirrus Logic GD62xx (laptop) -CHIPSET CL-GD6205/15/25/35 -SERVER SVGA -DRIVER vga -UNSUPPORTED -NOCLOCKPROBE - -NAME Cirrus Logic GD64xx (laptop) -CHIPSET CL-GD6420/6440 -SERVER SVGA -DRIVER vga -UNSUPPORTED - -NAME Cirrus Logic GD754x (laptop) -CHIPSET CL-GD7541/42/43/48 -SERVER SVGA -DRIVER vga -UNSUPPORTED -NOCLOCKPROBE - -NAME Techworks Ultimate 3D -CHIPSET CL-GD5464 -SEE Cirrus Logic GD5464 - -NAME VideoLogic GrafixStar 550 -CHIPSET CL-GD5464 -SEE Cirrus Logic GD5464 - -NAME Jaton Video-70P -CHIPSET CL-GD5464 -SEE Cirrus Logic GD5464 - -NAME PixelView Combo TV Pro (Prolink) -CHIPSET CL-GD5480, 4MB -SERVER SVGA -DRIVER vga -UNSUPPORTED -LINE # COMMENT on card TV Tuner -NOCLOCKPROBE - -NAME PixelView Combo TV 3D AGP (Prolink) -CHIPSET CL-GD5465, 4MB -SERVER SVGA -DRIVER vga -UNSUPPORTED -LINE # COMMENT on card TV+FM Tuner -NOCLOCKPROBE - -NAME Creative Labs Graphics Blaster Eclipse (OEM Model CT6510) -SEE Cirrus Logic GD5465 - -NAME VideoLogic GrafixStar 560 (PCI/AGP) -SEE Cirrus Logic GD5465 - -NAME Cirrus Logic GD5446 (noname card) -CHIPSET CL-GD5446, 1MB (upgradable to 2MB). -SERVER SVGA -DRIVER vga -UNSUPPORTED -NOCLOCKPROBE - -NAME Octek VL-VGA-26 -CHIPSET CL-GD5426 -SEE Cirrus Logic GD542x - -NAME Octek VL-VGA-28 -CHIPSET CL-GD5428 -SEE Cirrus Logic GD542x - -NAME Octek Combo-26 -CHIPSET CL-GD5426 -SEE Cirrus Logic GD542x - -NAME Octek Combo-28 -CHIPSET CL-GD5428 -SEE Cirrus Logic GD542x - -NAME Octek AVGA-20 -SEE Cirrus Logic GD542x - -# S3 801/805 - -NAME S3 801/805 (generic) -CHIPSET S3 801/805 -SERVER S3 -DRIVER vga -UNSUPPORTED - -NAME S3 86C801 (generic) -SEE S3 801/805 (generic) - -NAME S3 86C805 (generic) -SEE S3 801/805 (generic) - -#tested -NAME S3 801/805 with ATT20c490 RAMDAC -CHIPSET S3 801/805 -SERVER S3 -DRIVER vga -UNSUPPORTED -RAMDAC att20c490 -LINE #Option "dac_8_bit" # Not supported by some 20c490 clones - -NAME S3 801/805 with SC1148{2,3,4} RAMDAC -CHIPSET S3 801/805 -SERVER S3 -DRIVER vga -UNSUPPORTED -RAMDAC sc11482 - -NAME S3 801/805 with SC1148{5,7,9} RAMDAC -CHIPSET S3 801/805 -SERVER S3 -DRIVER vga -UNSUPPORTED -RAMDAC sc11485 - -NAME S3 801/805 with S3 GenDAC -CHIPSET S3 801/805 -SERVER S3 -DRIVER vga -UNSUPPORTED -RAMDAC s3gendac -CLOCKCHIP s3gendac - -NAME S3 801/805 with ATT20c490 RAMDAC and ICD2061A -CHIPSET S3 801/805 -SERVER S3 -DRIVER vga -UNSUPPORTED -RAMDAC att20c490 -CLOCKCHIP icd2061a -LINE #Option "dac_8_bit" # Not supported by some 20c490 clones - -NAME S3 801/805 with Chrontel 8391 -CHIPSET S3 801/805 -SERVER S3 -DRIVER vga -UNSUPPORTED -RAMDAC att20c490 -CLOCKCHIP ch8391 -LINE Option "dac_8_bit" - -#tested -NAME Actix GE32+ 2MB -CHIPSET S3 801/805 -SERVER S3 -DRIVER vga -UNSUPPORTED -RAMDAC att20c490 -LINE #Option "dac_8_bit" - -NAME Actix GE32i -CHIPSET S3 805i -SERVER S3 -DRIVER vga -UNSUPPORTED - -NAME Orchid Fahrenheit VA -CHIPSET S3 801/805 -SERVER S3 -DRIVER vga -UNSUPPORTED -RAMDAC att20c490 - -NAME Orchid Fahrenheit 1280 -CHIPSET S3 801 -SERVER S3 -DRIVER vga -UNSUPPORTED -LINE #Probable clocks: -LINE #Clocks 25.20 28.32 32.50 0.00 40.00 44.90 50.40 65.00 -LINE #Clocks 78.00 56.70 63.10 75.10 80.00 89.90 100.90 31.50 - -NAME Orchid Fahrenheit-1280+ -CHIPSET S3 801/805 -SERVER S3 -DRIVER vga -UNSUPPORTED -RAMDAC att20C490 -LINE Dacspeed 110 -LINE Option "dac_8_bit" -LINE #Option "nolinear" # VLB card may require this -LINE #Probable clocks: -LINE #Clocks 25.20 28.32 40.0 0.0 50.10 77.0 36.10 45.0 -LINE #Clocks 130.0 120.20 80.0 31.50 110.30 65.0 75.0 94.60 - -NAME Diamond Stealth 24 -CHIPSET S3 801/805 -SERVER S3 -DRIVER vga -UNSUPPORTED -CLOCKCHIP icd2061a -LINE #Option "nolinear" -LINE #Ramdac "att20c490" # The Diamond RAMDAC is reportedly compatible for 15bpp - -NAME Miro Crystal 8S -SEE S3 801/805 (generic) - -NAME Miro Crystal 10SD with GenDAC -SEE S3 801/805 with S3 GenDAC - -NAME Dell S3 805 -SEE S3 801/805 (generic) - -NAME STB Powergraph X-24 -SEE S3 801/805 with ATT20c490 RAMDAC and ICD2061A - -NAME JAX 8241 -SEE S3 801/805 with Chrontel 8391 - -NAME VL-41 -SEE S3 801/805 with Chrontel 8391 - -NAME SPEA Mirage -SEE S3 801/805 with Chrontel 8391 - -# S3 864/Trio64/Trio32/868 - -NAME S3 864 (generic) -SERVER S3 -DRIVER vga -UNSUPPORTED - -NAME S3 86C864 (generic) -SEE S3 864 (generic) - -NAME S3 Vision864 (generic) -SEE S3 864 (generic) - -NAME S3 864 with SDAC (86C716) -CHIPSET S3 864 -SERVER S3 -DRIVER vga -UNSUPPORTED -RAMDAC s3_sdac -CLOCKCHIP s3_sdac -NOCLOCKPROBE - -NAME S3 864 with ATT 20C498 or 21C498 -CHIPSET S3 864 -SERVER S3 -DRIVER vga -UNSUPPORTED -RAMDAC att20c498 - -NAME S3 864 with STG1703 -CHIPSET S3 864 -SERVER S3 -DRIVER vga -UNSUPPORTED -RAMDAC stg1703 -NOCLOCKPROBE - -NAME S3 868 (generic) -CHIPSET S3 868 -SERVER S3 -DRIVER vga -UNSUPPORTED - -NAME S3 86C868 (generic) -SEE S3 868 (generic) - -NAME S3 Vision868 (generic) -SEE S3 868 (generic) - -NAME S3 868 with SDAC (86C716) -CHIPSET S3 868 -SERVER S3 -DRIVER vga -UNSUPPORTED -NOCLOCKPROBE - -NAME S3 868 with ATT 20C498 or 21C498 -CHIPSET S3 868 -SERVER S3 -DRIVER vga -UNSUPPORTED -RAMDAC att20c498 - -NAME S3 868 with ATT 20C409 -CHIPSET S3 868 -SERVER S3 -DRIVER vga -UNSUPPORTED -RAMDAC att20c409 -NOCLOCKPROBE - -NAME Number Nine FX Motion 531 -CLOCKCHIP icd2061a -SEE S3 868 with ATT 20C498 or 21C498 - -NAME S3 Trio64 (generic) -SERVER S3 -DRIVER vga -UNSUPPORTED -NOCLOCKPROBE - -NAME S3 86C764 (generic) -SEE S3 Trio64 (generic) - -NAME S3 Trio64V+ (generic) -SERVER S3 -DRIVER vga -UNSUPPORTED -NOCLOCKPROBE - -NAME S3 86C765 (generic) -SEE S3 Trio64V+ (generic) - -NAME S3 Trio32 (generic) -CHIPSET S3 Trio32 -SERVER S3 -DRIVER vga -UNSUPPORTED -NOCLOCKPROBE - -NAME Genoa Phantom 64i with S3 SDAC -DACSPEED 135 -SEE S3 864 with SDAC (86C716) - -NAME Number Nine GXE64 -CHIPSET S3 864 -SERVER S3 -DRIVER vga -UNSUPPORTED -CLOCKCHIP icd2061a -LINE Option "number_nine" - -NAME Number Nine GXE64 with S3 Trio64 -SEE S3 Trio64 (generic) - -NAME Diamond Stealth 64 DRAM with S3 SDAC -DACSPEED 135 -SEE S3 864 with SDAC (86C716) - -NAME Diamond Stealth64 Graphics 2xx0 series (864 + SDAC) -DACSPEED 135 -SEE S3 864 with SDAC (86C716) - -NAME Diamond Stealth 64 DRAM with S3 Trio64 -SEE S3 Trio64 (generic) - -NAME Diamond Stealth64 Graphics 2xx0 series (Trio64) -SEE S3 Trio64 (generic) - -NAME Diamond Stealth 64 DRAM SE -SEE S3 Trio32 (generic) - -NAME Diamond Stealth64 Video 2001 series (2121/2201) -SEE S3 Trio64V+ (generic) - -NAME Actix GE64 -CLOCKCHIP icd2061a -SEE S3 864 (generic) - -NAME ELSA Winner 1000PRO with S3 SDAC -SEE S3 864 with SDAC (86C716) - -NAME ELSA Winner 1000PRO with STG1700 or AT&T RAMDAC -CHIPSET S3 864 -SERVER S3 -DRIVER vga -UNSUPPORTED -CLOCKCHIP icd2061a - -NAME ELSA Winner 1000PRO/X -SEE S3 868 with SDAC (86C716) - -NAME ELSA Winner 1000ISA -CHIPSET S3 805i -SERVER S3 -DRIVER vga -UNSUPPORTED -CLOCKCHIP icd2061a -LINE Option "dac_8_bit" -LINE # the following settings should be detected and set automatically by XF86_S3 -LINE # if the serial number of the ELSA card is printed correctly: -LINE #ClockChip "icd2061a" - -NAME Cardex Trio64 -SEE S3 Trio64 (generic) - -NAME Cardex Trio64Pro -SEE S3 Trio64 (generic) - -NAME Miro Crystal 12SD -SEE S3 Trio32 (generic) - -NAME Miro Crystal 22SD -SEE S3 Trio64 (generic) - -NAME Miro Crystal 20SD with ICS2494 (BIOS 1.xx) -SEE S3 864 with ATT 20C498 or 21C498 - -NAME Miro Crystal 20SD with ICD2061A (BIOS 2.xx) -CLOCKCHIP icd2061a -SEE S3 864 with ATT 20C498 or 21C498 - -NAME Miro Crystal 20SD VLB with S3 SDAC (BIOS 3.xx) -SEE S3 864 with SDAC (86C716) - -NAME Miro Crystal 20SD PCI with S3 SDAC -SEE S3 868 with SDAC (86C716) - -NAME ELSA Winner 1000AVI (SDAC version) -SEE S3 868 with SDAC (86C716) - -NAME ELSA Winner 1000AVI (AT&T 20C409 version) -SEE S3 868 with ATT 20C409 - -NAME Diamond Stealth Video DRAM -SEE S3 868 with SDAC (86C716) - -NAME Diamond Stealth64 Video 2120/2200 -SEE S3 868 with SDAC (86C716) - -NAME SPEA/V7 Mirage P64 -CLOCKCHIP ics2595 -SEE S3 864 (generic) - -NAME SPEA/V7 Mirage P64 with S3 Trio64 -SEE S3 Trio64 (generic) - -NAME Number Nine FX Vision 330 -SEE S3 Trio64 (generic) - -NAME Number Nine FX Motion 331 -SEE S3 Trio64V+ (generic) - -NAME ASUS Video Magic PCI V864 -SEE S3 864 (generic) - -NAME ASUS Video Magic PCI VT64 -SEE S3 Trio64 (generic) - -NAME VidTech FastMax P20 -SEE S3 864 (generic) - -NAME VideoLogic GrafixStar 500 -SEE S3 868 with SDAC (86C716) - -NAME VideoLogic GrafixStar 400 -SEE S3 Trio64V+ (generic) - -NAME VideoLogic GrafixStar 300 -SEE S3 Trio64 (generic) - -NAME 2 the Max MAXColor S3 Trio64V+ -SEE S3 Trio64V+ (generic) - -NAME DataExpert DSV3365 -SEE S3 Trio64V+ (generic) - -NAME ExpertColor DSV3365 -SEE S3 Trio64V+ (generic) - -NAME DSV3326 -SEE S3 Trio64V+ (generic) - -# S3 Trio64V2 - -NAME S3 Trio64V2 (generic) -SERVER S3 -DRIVER vga -UNSUPPORTED -NOCLOCKPROBE - -NAME S3 Trio64V2/DX (generic) -SEE S3 Trio64V2 (generic) - -NAME S3 Trio64V2/GX (generic) -SEE S3 Trio64V2 (generic) - -NAME S3 86C775 (generic) -SEE S3 Trio64V2/DX (generic) - -NAME S3 86C785 (generic) -SEE S3 Trio64V2/GX (generic) - -NAME ELSA WINNER 1000/T2D -SEE S3 Trio64V2/DX (generic) - - -# S3 Aurora64V+ - -NAME S3 Aurora64V+ (generic) -CHIPSET S3 Aurora64V+ -SERVER S3 -DRIVER vga -UNSUPPORTED -NOCLOCKPROBE -LINE # Option "lcd_center" -LINE # Set_LCDClk <pixel_clock_for_LCD> - -NAME S3 86CM65 -SEE S3 Aurora64V+ (generic) - -NAME SHARP 9080 -SEE S3 Aurora64V+ (generic) - -NAME SHARP 9090 -SEE S3 Aurora64V+ (generic) - -NAME COMPAQ Armada 7730MT -SEE S3 Aurora64V+ (generic) - -NAME COMPAQ Armada 7380DMT -SEE S3 Aurora64V+ (generic) - - -# S3 964/968 - -NAME S3 964 (generic) -CHIPSET S3 964 -SERVER S3 -DRIVER vga -UNSUPPORTED -NOCLOCKPROBE - -NAME S3 86C964 (generic) -SEE S3 964 (generic) - -NAME S3 Vision964 (generic) -SEE S3 964 (generic) - -NAME S3 968 (generic) -CHIPSET S3 968 -SERVER S3 -DRIVER vga -UNSUPPORTED -NOCLOCKPROBE - -NAME S3 86C968 (generic) -SEE S3 968 (generic) - -NAME S3 Vision968 (generic) -SEE S3 968 (generic) - -NAME Number Nine GXE64 Pro -CHIPSET S3 964 -SERVER S3 -DRIVER vga -UNSUPPORTED -RAMDAC ti3025 -LINE Option "number_nine" - -NAME Diamond Stealth 64 VRAM -CLOCKCHIP icd2061a -LINE #Option "slow_vram" -SEE S3 964 (generic) - -NAME Diamond Stealth64 Video 3200 -CHIPSET S3 968 -LINE #Option "slow_vram" -SEE S3 968 (generic) - -NAME Diamond Stealth 64 Video VRAM (TI RAMDAC) -CHIPSET S3 968 -LINE #Option "slow_vram" -LINE #DacSpeed 220 -SEE S3 968 (generic) - -NAME Diamond Stealth64 Video 3240/3400 (TI RAMDAC) -CHIPSET S3 968 -LINE #Option "slow_vram" -LINE #DacSpeed 220 -SEE S3 968 (generic) - -NAME Diamond Stealth64 Video 3240/3400 (IBM RAMDAC) -CHIPSET S3 968 -LINE #Option "slow_vram" -RAMDAC ibm_rgb526 -LINE DacSpeed 220 -SEE S3 968 (generic) - -NAME Genoa VideoBlitz III AV -CHIPSET S3 968 -LINE #s3RefClk 50 -LINE #DACspeed 170 -SEE S3 968 (generic) - -NAME STB Velocity 64 Video -CHIPSET S3 968 -LINE #s3RefClk 24 -LINE #DACspeed 220 -SEE S3 968 (generic) - -NAME STB Powergraph 64 Video -SEE S3 Trio64V+ (generic) - -NAME STB Powergraph 64 -SEE S3 Trio64 (generic) - -NAME ELSA Winner 1000TRIO -SEE S3 Trio64 (generic) - -NAME ELSA Winner 1000TRIO/V -SEE S3 Trio64V+ (generic) - -NAME Hercules Graphite Terminator 64 -LINE Option "slow_vram" -LINE #s3RefClk 50 -LINE #DACspeed 170 -SEE S3 964 (generic) - -NAME Hercules Terminator 64/Video -SEE S3 Trio64V+ (generic) - -NAME Hercules Graphite Terminator 64/DRAM -SEE S3 Trio64 (generic) - -NAME Hercules Graphite Terminator Pro 64 -LINE #s3RefClk 16 -LINE #DACspeed 220 -SEE S3 968 (generic) - -NAME Number Nine FX Motion 771 -LINE #s3RefClk 16 -SEE S3 968 (generic) - -NAME Spider Tarantula 64 -SEE S3 964 (generic) - -NAME Miro Crystal 20SV -CHIPSET S3 964 -SERVER S3 -DRIVER vga -UNSUPPORTED -CLOCKCHIP icd2061a - -NAME Miro Crystal 40SV -CHIPSET S3 964 -SERVER S3 -DRIVER vga -UNSUPPORTED -CLOCKCHIP ti3025 - -NAME Miro Crystal 80SV -CHIPSET S3 968 -SERVER S3 -DRIVER vga -UNSUPPORTED -NOCLOCKPROBE - -NAME Miro Video 20SV -CHIPSET S3 968 -SERVER S3 -DRIVER vga -UNSUPPORTED -RAMDAC att20c505 -LINE #DacSpeed 150 -CLOCKCHIP ics9161a - -NAME SPEA Mercury 64 -CHIPSET S3 964 -SERVER S3 -DRIVER vga -UNSUPPORTED -CLOCKCHIP ics9161a -LINE #Option "spea_mercury" - -NAME ELSA Winner 2000PRO-2 -CHIPSET S3 964 -SERVER S3 -DRIVER vga -UNSUPPORTED -LINE #Option "ELSA_w2000pro" -NOCLOCKPROBE - -NAME ELSA Winner 2000PRO-4 -CHIPSET S3 964 -SERVER S3 -DRIVER vga -UNSUPPORTED -LINE #Option "ELSA_w2000pro" -NOCLOCKPROBE - -NAME ELSA Winner 2000PRO/X-2 -CHIPSET S3 968 -SERVER S3 -DRIVER vga -UNSUPPORTED -LINE #Option "sync_on_green" -NOCLOCKPROBE - -NAME ELSA Winner 2000PRO/X-4 -CHIPSET S3 968 -SERVER S3 -DRIVER vga -UNSUPPORTED -LINE #Option "sync_on_green" -NOCLOCKPROBE - -NAME ELSA Winner 2000PRO/X-8 -CHIPSET S3 968 -SERVER S3 -DRIVER vga -UNSUPPORTED -LINE #Option "sync_on_green" -NOCLOCKPROBE - -NAME ELSA Winner 2000AVI -CHIPSET S3 968 -SERVER S3 -DRIVER vga -UNSUPPORTED -LINE #Option "sync_on_green" -NOCLOCKPROBE - -NAME ELSA Gloria-4 -CHIPSET S3 968 -SERVER S3 -DRIVER vga -UNSUPPORTED -LINE #Option "sync_on_green" -NOCLOCKPROBE - -NAME ELSA Gloria-8 -CHIPSET S3 968 -SERVER S3 -DRIVER vga -UNSUPPORTED -LINE #Option "sync_on_green" -NOCLOCKPROBE - -NAME VideoLogic GrafixStar 700 -CHIPSET S3 968 -SERVER S3 -DRIVER vga -UNSUPPORTED -NOCLOCKPROBE - -NAME LeadTek WinFast S430 -CHIPSET S3 968 -SERVER S3 -DRIVER vga -UNSUPPORTED -NOCLOCKPROBE - -NAME WinFast S430 -SEE LeadTek WinFast S430 - -NAME LeadTek WinFast S510 -CHIPSET S3 968 -SERVER S3 -DRIVER vga -UNSUPPORTED -NOCLOCKPROBE - -NAME WinFast S510 -SEE LeadTek WinFast S510 - -# S3 928 - -NAME S3 928 (generic) -CHIPSET S3 928 -SERVER S3 -DRIVER vga -UNSUPPORTED - -NAME S3 86C928 (generic) -SEE S3 928 (generic) - -NAME Actix Ultra -CHIPSET S3 928 -SERVER S3 -DRIVER vga -UNSUPPORTED -RAMDAC att20c490 -LINE #Option "dac_8_bit" - -NAME Diamond Stealth Pro -CHIPSET S3 928 -SERVER S3 -DRIVER vga -UNSUPPORTED -CLOCKCHIP icd2061a -LINE #Ramdac "att20c490" # The Diamond RAMDAC is reportedly compatible for 15bpp -LINE #Option "no_linear" # Some VLB machines may require this - -NAME ELSA Winner 1000VL -CHIPSET S3 928 -SERVER S3 -DRIVER vga -UNSUPPORTED -LINE # the following settings should be detected and set automatically by XF86_S3 -LINE # if the serial number of the ELSA card is printed correctly: -LINE #ClockChip "icd2061a" -LINE #Membase 0xf8000000 - -NAME ELSA Winner 1000TwinBus -SEE ELSA Winner 1000VL - -NAME ELSA Winner 2000 -SEE S3 928 (generic) - -NAME Miro Crystal 16S -SEE S3 928 (generic) - -NAME SPEA/V7 Mercury -CHIPSET S3 928 -SERVER S3 -DRIVER vga -UNSUPPORTED -CLOCKCHIP sc11412 -LINE Option "spea_mercury" - -NAME STB Pegasus -CHIPSET S3 928 -SERVER S3 -DRIVER vga -UNSUPPORTED -RAMDAC bt485 -CLOCKCHIP icd2061a -LINE Option "stb_pegasus" -LINE #Option "sync_on_green" - -NAME Number Nine GXE Level 14/16 -CHIPSET S3 928 -SERVER S3 -DRIVER vga -UNSUPPORTED -DACSPEED 200 -CLOCKCHIP icd2061a -LINE Option "number_nine" -LINE #Option "nolinear" -LINE #Option "nomemaccess" - -NAME Number Nine GXE Level 10/11/12 -CHIPSET S3 928 -SERVER S3 -DRIVER vga -UNSUPPORTED -CLOCKCHIP icd2061a -LINE Option "number_nine" - -NAME 928Movie -CHIPSET S3 928 -SERVER S3 -DRIVER vga -UNSUPPORTED -CLOCKCHIP icd2595 -RAMDAC bt485 -LINE # pixel multiplexing not supported - -# S3 911/924 - -NAME S3 911/924 (generic) -CHIPSET S3 911/924 -SERVER S3 -DRIVER vga -UNSUPPORTED - -NAME S3 86C911 (generic) -SEE S3 911/924 (generic) - -NAME S3 86C924 (generic) -SEE S3 911/924 (generic) - -NAME Diamond Stealth VRAM -CHIPSET S3 911/924 -SERVER S3 -DRIVER vga -UNSUPPORTED -CLOCKCHIP icd2061a - -#NAME Orchid Fahrenheit 1280 -#SEE S3 911/924 (generic) - -NAME S3 924 with SC1148 DAC -CHIPSET S3 924 -SERVER S3 -DRIVER vga -UNSUPPORTED -LINE #Probable clocks: -LINE #Clocks 25.2 28.3 39.7 1.7 49.9 76.7 35.7 44 -LINE #Clocks 130.2 119.5 79.4 31.2 110.0 65.2 74.9 71.3 - -# S3 ViRGE,/DX,/GX and ViRGE/VX - -NAME S3 ViRGE (old S3V server) -CHIPSET S3 ViRGE -SERVER S3V -DRIVER s3virge -NOCLOCKPROBE - -NAME S3 ViRGE (generic) -CHIPSET S3 ViRGE -SERVER SVGA -DRIVER s3virge -NOCLOCKPROBE -LINE #Option "xaa_benchmark" -LINE #Option "fifo_moderate" -LINE #Option "pci_burst_on" -LINE #Option "pci_retry" - -NAME S3 ViRGE/DX (generic) -CHIPSET S3 ViRGE/DX -SERVER SVGA -DRIVER s3virge -NOCLOCKPROBE -LINE #Option "xaa_benchmark" -LINE #Option "fifo_moderate" -LINE #Option "pci_burst_on" -LINE #Option "pci_retry" - -NAME S3 ViRGE/GX (generic) -CHIPSET S3 ViRGE/GX -SERVER SVGA -DRIVER s3virge -NOCLOCKPROBE -LINE #Option "xaa_benchmark" -LINE #Option "fifo_moderate" -LINE #Option "pci_burst_on" -LINE #Option "pci_retry" - - -NAME S3 ViRGE/GX2 (generic) -CHIPSET S3 ViRGE/GX2 -SERVER SVGA -DRIVER s3virge -NOCLOCKPROBE -LINE #Option "xaa_benchmark" -LINE #Option "fifo_moderate" -LINE #Option "pci_burst_on" -LINE #Option "pci_retry" - -NAME S3 ViRGE/MX (generic) -CHIPSET S3 ViRGE/MX -SERVER SVGA -DRIVER s3virge -NOCLOCKPROBE -LINE #Option "lcd_center" -LINE #Set_LCDClk <pixel_clock_for_LCD> -LINE #Option "xaa_benchmark" -LINE #Option "fifo_moderate" -LINE #Option "pci_burst_on" -LINE #Option "pci_retry" - -NAME S3 ViRGE/MX+ (generic) -SEE S3 ViRGE/MX (generic) - - - - -NAME S3 86C325 (generic) -SEE S3 ViRGE (generic) - -NAME S3 86C375 (generic) -SEE S3 ViRGE/DX (generic) - -NAME S3 86C385 (generic) -SEE S3 ViRGE/GX (generic) - -NAME S3 86C357 (generic) -SEE S3 ViRGE/GX2 (generic) - -NAME S3 86C260 (generic) -SEE S3 ViRGE/MX (generic) - -NAME S3 86C280 (generic) -SEE S3 ViRGE/MX+ (generic) - - -NAME ELSA Victory 3D -SEE S3 ViRGE (generic) - -NAME ELSA Victory 3DX -SEE S3 ViRGE/DX (generic) - -NAME ELSA Winner 3000-S -SEE S3 ViRGE (generic) - -NAME Number Nine Visual 9FX Reality 332 -SEE S3 ViRGE (generic) - -NAME Number Nine FX Motion 332 -SEE S3 ViRGE (generic) - -NAME Diamond Stealth 3D 2000 -SEE S3 ViRGE (generic) - -NAME Diamond Stealth 3D 2000 PRO -SEE S3 ViRGE/DX (generic) - -NAME Diamond Multimedia Stealth 3D 2000 -SEE S3 ViRGE (generic) - -NAME Diamond Multimedia Stealth 3D 2000 PRO -SEE S3 ViRGE/DX (generic) - -NAME Canopus Co. Power Window 3DV -SEE S3 ViRGE (generic) - -NAME DataExpert DSV3325 -SEE S3 ViRGE (generic) - -NAME ExpertColor DSV3325 -SEE S3 ViRGE (generic) - -NAME DSV3325 -SEE S3 ViRGE (generic) - -NAME Hercules Terminator 64/3D -SEE S3 ViRGE (generic) - -NAME Hercules Terminator 3D/DX -SEE S3 ViRGE/DX (generic) - -NAME LeadTek WinFast 3D S600 -SEE S3 ViRGE (generic) - -NAME WinFast 3D S600 -SEE LeadTek WinFast 3D S600 - -NAME LeadTek WinFast 3D S680 -SEE S3 ViRGE/GX2 (generic) - -NAME Miro MiroMedia 3D -SEE S3 ViRGE (generic) - -NAME Orchid Technology Fahrenheit Video 3D -SEE S3 ViRGE (generic) - -NAME STB Systems Powergraph 3D -SEE S3 ViRGE (generic) - -NAME STB Nitro 3D -CHIPSET S3 ViRGE/GX -SEE S3 ViRGE/GX (generic) - -NAME MELCO WGP-VG4S -LINE #DACSpeed 191 162 111 83 -LINE #SetMClck 75 -SEE S3 ViRGE (generic) - - - -NAME S3 ViRGE/VX (generic) -CHIPSET S3 ViRGE/VX -SERVER SVGA -DRIVER s3virge -NOCLOCKPROBE -LINE #Option "xaa_benchmark" -LINE #Option "fifo_moderate" -LINE #Option "pci_burst_on" -LINE #Option "pci_retry" - - -NAME S3 86C988 (generic) -SEE S3 ViRGE/VX (generic) - -NAME ELSA Winner 3000 -SEE S3 ViRGE/VX (generic) - -NAME ELSA Winner 3000-M-22 -SEE S3 ViRGE/VX (generic) - -NAME ELSA Winner 3000-L-42 -SEE S3 ViRGE/VX (generic) - -NAME ELSA Winner 2000AVI/3D -SEE S3 ViRGE/VX (generic) - -NAME Diamond Stealth 3D 3000 -SEE S3 ViRGE/VX (generic) - -NAME STB Systems Velocity 3D -SEE S3 ViRGE/VX (generic) - -NAME MELCO WGP-VX8 -SEE S3 ViRGE/VX (generic) - -NAME Diamond Stealth 3D 4000 -SEE S3 ViRGE/GX2 (generic) - -NAME Toshiba Tecra 750CDT -SEE S3 ViRGE/MX (generic) - -NAME Toshiba Tecra 750DVD -SEE S3 ViRGE/MX (generic) - -NAME Toshiba Tecra 540CDT -SEE S3 ViRGE/MX (generic) - -NAME Toshiba Tecra 550CDT -SEE S3 ViRGE/MX (generic) - -# currently unsupported S3 - -NAME S3 86C365 (Trio3D) -SEE * Unsupported VGA compatible - -NAME S3 86C391 (Savage3D) -SEE * Unsupported VGA compatible - -NAME S3 Trio3D -SEE * Unsupported VGA compatible - -NAME S3 Savage3D -SEE * Unsupported VGA compatible - -NAME S3 Savage4 -SERVER SVGA -DRIVER vga -UNSUPPORTED - -# ET4000/ET6000 - -NAME ET3000 (generic) -CHIPSET ET3000 -SERVER SVGA -DRIVER tseng - -NAME Genoa 5400 -SEE ET3000 (generic) - -NAME ET4000 (generic) -CHIPSET ET4000 -SERVER SVGA -DRIVER tseng - -NAME ET4000/W32 (generic) -CHIPSET ET4000/W32 -SERVER W32 -DRIVER tseng - -NAME ET4000 W32i, W32p (generic) -CHIPSET ET4000/W32(i/p) -SERVER SVGA -DRIVER tseng -LINE #Option "linear" # for linear mode at 8bpp -LINE #Option "noaccel" # when problems with accelerator -LINE #Option "power_saver" # enable VESA DPMS -LINE #Option "fast_dram" -LINE #Option "pci_retry" # faster, but problematic for ISA DMA -LINE #Option "hibit_high" # see README.tseng -- most cards need this -LINE #Option "hibit_low" # see README.tseng -- mostly for older ET4000 cards -LINE #MemBase 0x3C00000 # when automatic MemBase detection doesn't work -LINE # -- see README.tseng for more (important) information on MemBase - -NAME ET6000 (generic) -CHIPSET ET6000 -SERVER SVGA -DRIVER tseng -NOCLOCKPROBE -LINE #videoram 2304 # 2.25 MB, when memory probe is incorrect -LINE #Option "linear" # for linear mode at 8bpp -LINE #Option "noaccel" # when problems with accelerator -LINE #Option "power_saver" # enable VESA DPMS -LINE #Option "pci_retry" # faster, but problematic for ISA DMA -LINE #Option "hw_cursor" # Use hardware cursor (see docs for limitations) -LINE #Option "xaa_no_color_exp" # When text (or bitmap) is not rendered correctly - -NAME ET6100 (generic) -CHIPSET ET6100 -SEE ET6000 (generic) - -NAME Diamond Stealth 32 -CLOCKCHIP icd2061a -NOCLOCKPROBE -SEE ET4000 W32i, W32p (generic) - -NAME Cardex Cobra -SEE ET4000 W32i, W32p (generic) - -NAME Cardex Challenger (Pro) -SEE ET4000 W32i, W32p (generic) - -NAME Colorgraphic Dual Lightning -SEE ET4000 W32i, W32p (generic) - -NAME Dell onboard ET4000 -SEE ET4000 (generic) - -NAME DFI-WG5000 -SEE ET4000 W32i, W32p (generic) - -NAME Diamond SpeedStar (Plus) -SEE ET4000 (generic) - -NAME Diamond SpeedStar 24 -SEE ET4000 (generic) - -NAME Diamond SpeedStar HiColor -SEE ET4000 (generic) - -NAME Genoa 8900 Phantom 32i -SEE ET4000 W32i, W32p (generic) - -NAME Hercules Dynamite -SEE ET4000/W32 (generic) - -NAME Hercules Dynamite Power -SEE ET4000 W32i, W32p (generic) - -NAME Hercules Dynamite Pro -SEE ET4000 W32i, W32p (generic) - -NAME Integral FlashPoint -SEE ET4000 W32i, W32p (generic) - -NAME LeadTek WinFast S200 -SEE ET4000 W32i, W32p (generic) - -NAME Matrox Comet -SEE ET4000 W32i, W32p (generic) - -NAME Matrox Marvel II -SEE ET4000 W32i, W32p (generic) - -NAME Miro MiroVideo 20TD -SEE ET4000 W32i, W32p (generic) - -NAME WinFast S200 -SEE LeadTek WinFast S200 - -NAME Sigma Concorde -SEE ET4000/W32 (generic) - -NAME Sigma Legend -SEE ET4000 (generic) - -NAME SPEA/V7 ShowTime Plus -SEE ET4000 W32i, W32p (generic) - -NAME STB LightSpeed -SEE ET4000 W32i, W32p (generic) - -NAME STB MVP-2 -SEE ET4000 (generic) - -NAME STB MVP-2 PCI -SEE ET4000 W32i, W32p (generic) - -NAME STB MVP-2X -SEE ET4000 W32i, W32p (generic) - -NAME STB MVP-4 PCI -SEE ET4000 W32i, W32p (generic) - -NAME STB MVP-4X -SEE ET4000 W32i, W32p (generic) - -NAME TechWorks Thunderbolt -SEE ET4000/W32 (generic) - -NAME ViewTop PCI -SEE ET4000 W32i, W32p (generic) - -NAME SNI PC5H W32 -CLOCKCHIP stg1703 -NOCLOCKPROBE -SEE ET4000 W32i, W32p (generic) - -NAME SNI Scenic W32 -CLOCKCHIP stg1703 -NOCLOCKPROBE -SEE ET4000 W32i, W32p (generic) - -NAME Hercules Dynamite 128/Video -SEE ET6000 (generic) - -NAME STB LightSpeed 128 -SEE ET6000 (generic) - -NAME VideoLogic GrafixStar 600 -SEE ET6000 (generic) - -NAME Jazz Multimedia G-Force 128 -SEE ET6000 (generic) - -NAME Mirage Z-128 -SEE ET6000 (generic) - -NAME California Graphics SunTracer 6000 -SEE ET6000 (generic) - -NAME Binar Graphics AnyView -SEE ET6000 (generic) - -NAME MediaVision Proaxcel 128 -SEE ET6000 (generic) - -NAME ATrend ATC-2165A -SEE ET6000 (generic) - -NAME Interay PMC Viper -SEE ET6000 (generic) - -NAME 2-the-Max MAXColor 6000 -SEE ET6000 (generic) - -NAME Gainward Challenger EV -SEE ET6000 (generic) - -NAME MachSpeed VGA ET6000 -SEE ET6000 (generic) - -NAME KouTech KeyVision 128 EV -SEE ET6000 (generic) - -NAME Jaton Video-58P -SEE ET6000 (generic) - -# ATI - -NAME ATI Rage 128 -CHIPSET ati -SERVER SVGA -DRIVER ati - -NAME ATI 8514 Ultra (no VGA) -CHIPSET ati -SERVER Mach8 -DRIVER vga -UNSUPPORTED - -NAME ATI Graphics Ultra -CHIPSET ati -SERVER Mach8 -DRIVER ati - -NAME ATI Graphics Ultra Pro -CHIPSET ati -SERVER Mach32 -DRIVER ati - -NAME ATI Wonder SVGA -CHIPSET ati -SERVER SVGA -DRIVER ati - -NAME ATI Ultra Plus -CHIPSET ati -SERVER Mach32 -DRIVER ati - -NAME ATI Mach32 -CHIPSET ati -SERVER Mach32 -DRIVER ati - -NAME ATI Mach64 -CHIPSET ati -SERVER Mach64 -DRIVER ati -NOCLOCKPROBE - -NAME ATI Mach64 CT (264CT) -SEE ATI Mach64 - -NAME ATI Mach64 VT (264VT) -SEE ATI Mach64 - -NAME ATI Mach64 GT (264GT), aka 3D RAGE -SEE ATI Mach64 - -NAME ATI Mach64 3D RAGE II -SEE ATI Mach64 - -NAME ATI Mach64 3D RAGE II+DVD -SEE ATI Mach64 - -NAME ATI Mach64 3D Rage IIC -SEE ATI Mach64 - -NAME ATI Mach64 3D Rage Pro -SEE ATI Mach64 - -NAME ATI 3D Pro Turbo -SEE ATI Mach64 - -NAME ATI 3D Pro Turbo PC2TV -SEE ATI Mach64 - -NAME ATI 3D Xpression -SEE ATI Mach64 - -NAME ATI 3D Xpression+ -SEE ATI Mach64 - -NAME ATI 3D Xpression+ PC2TV -SEE ATI Mach64 - -NAME ATI All-in-Wonder -SEE ATI Mach64 - -NAME ATI All-in-Wonder Pro -SEE ATI Mach64 - -NAME ATI Graphics Pro Turbo -SEE ATI Mach64 - -NAME ATI Graphics Pro Turbo 1600 -SEE ATI Mach64 - -NAME ATI Graphics Xpression -SEE ATI Mach64 - -NAME ATI Video Boost -SEE ATI Mach64 - -NAME ATI Video Charger -SEE ATI Mach64 - -NAME ATI Video Xpression -SEE ATI Mach64 - -NAME ATI Video Xpression+ -SEE ATI Mach64 - -NAME ATI WinBoost -SEE ATI Mach64 - -NAME ATI WinCharger -SEE ATI Mach64 - -NAME ATI WinTurbo -SEE ATI Mach64 - -NAME ATI Xpert 98 -SEE ATI Mach64 - -NAME ATI Xpert XL -SEE ATI Mach64 - -NAME ATI Xpert@Play -SEE ATI Mach64 - -NAME ATI Xpert@Play 98 -SEE ATI Mach64 - -NAME ATI Xpert@Work -SEE ATI Mach64 - -NAME ATI integrated on Intel Maui MU440EX motherboard -SEE ATI Mach64 - -NAME ASUS PCI-V264CT -SEE ATI Mach64 - -NAME ASUS PCI-AV264CT -SEE ATI Mach64 - -# AGX - -NAME AGX (generic) -CHIPSET AGX-014/15/16 -SERVER AGX -DRIVER vga -UNSUPPORTED - -NAME Boca Vortex (Sierra RAMDAC) -CHIPSET AGX-015 -SERVER AGX -DRIVER vga -UNSUPPORTED -RAMDAC sc15025 -LINE Option "dac_8_bit" -LINE Option "no_wait_state" -LINE #Option "fifo_moderate" # 2x bus bw - may result in random pixels - -NAME EIZO (VRAM) -SEE AGX (generic) - -NAME Orchid Celsius (AT&T RAMDAC) -CHIPSET AGX-015 -SERVER AGX -DRIVER vga -UNSUPPORTED -RAMDAC att20c490 -LINE Option "dac_8_bit" -LINE Option "no_wait_state" -LINE #Option "fifo_moderate" # 2x bus bw - may result in random pixels - -NAME Orchid Celsius (Sierra RAMDAC) -CHIPSET AGX-015 -SERVER AGX -DRIVER vga -UNSUPPORTED -RAMDAC sc15025 -LINE Option "dac_8_bit" -LINE Option "no_wait_state" -LINE #Option "fifo_moderate" # 2x bus bw - may result in random pixels - - -NAME Spider Black Widow -CHIPSET AGX-015 -SERVER AGX -DRIVER vga -UNSUPPORTED -RAMDAC sc15025 -LINE Option "dac_8_bit" -LINE Option "no_wait_state" -LINE #Option "fifo_moderate" # 2x bus bw - may result in random pixels - - -NAME Spider Black Widow Plus -CHIPSET AGX-016 -SERVER AGX -DRIVER vga -UNSUPPORTED -RAMDAC sc15025 -LINE Option "dac_8_bit" -LINE Option "no_wait_state" -LINE #Option "fifo_moderate" # 2x bus bw - may result in random pixels -LINE #Option "fifo_aggressive" # 3x bus bw - may result in random pixels -LINE #Probable clocks: -LINE #Clocks 25.2 28.3 39.9 72.2 50.0 76.9 36.1 44.8 -LINE #Clocks 89.0 119.8 79.9 31.5 110.0 64.9 74.9 94.9 - -NAME Hercules Graphite HG210 -CHIPSET AGX-014 -SERVER AGX -DRIVER vga -UNSUPPORTED -RAMDAC bt482 -DACSPEED 85 -LINE Chipset "AGX-014" -LINE Option "dac_8_bit" -LINE Option "no_wait_state" -LINE #Probable clocks: -LINE #Clocks 25.0 28.0 32.0 36.0 40.0 45.0 50.0 65.0 -LINE #Clocks 70.0 75.0 80.0 85.0 90.0 95.0 100.0 110.0 - -NAME Hercules Graphite Pro -CHIPSET AGX-015 -SERVER AGX -DRIVER vga -UNSUPPORTED -# Card specific DAC, doesn't appear in ramdac menu -LINE Ramdac "herc_dual_dac" -LINE Chipset "AGX-015" -LINE Option "dac_8_bit" -LINE Option "no_wait_state" -LINE #Option "fifo_moderate" # 2x bus bw - may result in random pixels -LINE #Probable clocks: -LINE #Clocks 25.0 28.0 32.0 36.0 40.0 45.0 50.0 65.0 -LINE #Clocks 70.0 75.0 80.0 85.0 90.0 95.0 100.0 110.0 - -NAME Hercules Graphite Power -CHIPSET AGX-016 -SERVER AGX -DRIVER vga -UNSUPPORTED -# Card specific DAC, doesn't appear in ramdac menu -# The glue logic state machine for RAMDAC switching doesn't work as -# documented, for now we're stuck with the small RAMDAC -LINE Ramdac "herc_small_dac" -LINE Chipset "AGX-016" -LINE Option "dac_8_bit" -LINE Option "no_wait_state" -LINE #Option "fifo_moderate" # 2x bus bw - may result in random pixels -LINE #Option "fifo_aggressive" # 3x bus bw - may result in random pixels -LINE #Probable clocks: -LINE #Clocks 25.0 28.0 32.0 36.0 40.0 45.0 50.0 65.0 -LINE #Clocks 70.0 75.0 80.0 85.0 90.0 95.0 100.0 110.0 - -NAME XGA-2 (ISA bus) -CHIPSET XGA-2 -SERVER AGX -DRIVER vga -UNSUPPORTED -NOCLOCKPROBE -LINE #Instance 7 # XGA instance 0-7 -LINE #COPbase 0xC8F00 # XGA memory-mapped register address -LINE #POSbase 0 # Disable probing if above are specified - -NAME XGA-1 (ISA bus) -CHIPSET XGA-1 -SERVER AGX -DRIVER vga -UNSUPPORTED -LINE #Instance 7 # XGA instance 0-7 -LINE #COPbase 0xC8F00 # XGA memory-mapped register address -LINE #POSbase 0 # Disable probing if above are specified - -# WD - -NAME Paradise/WD 90CXX -CHIPSET WD90CXX -SERVER SVGA -DRIVER vga -UNSUPPORTED - -NAME DFI-WG6000 -CHIPSET WD90C33 -SERVER SVGA -DRIVER vga -UNSUPPORTED - -NAME Diamond SpeedStar 24X (not fully supported) -CHIPSET WD90C31 -SERVER SVGA -DRIVER vga -UNSUPPORTED - -NAME WD 90C24 (laptop) -CHIPSET WD90C24 -SERVER SVGA -DRIVER vga -UNSUPPORTED -LINE #Chipset "wd90c24" -LINE #Option "noaccel" # Use this if acceleration is causing problems -LINE #Clocks 25.175 28.322 65 36 # These are not programmable -LINE #Clocks 29.979 77.408 62.195 59.957 # These are programmable -LINE #Clocks 31.5 35.501 75.166 50.114 # These are not programmable -LINE #Clocks 39.822 72.038 44.744 80.092 # These are programmable -LINE #Clocks 44.297 # Must match Mclk - - -NAME WD 90C24A or 90C24A2 (laptop) -CHIPSET WD90C24A -SERVER SVGA -DRIVER vga -UNSUPPORTED -LINE #Chipset "wd90c24" -LINE #Clocks 25.175 28.322 65 36 # These are not programmable -LINE #Clocks 29.979 77.408 62.195 59.957 # These are programmable -LINE #Clocks 31.5 35.501 75.166 50.114 # These are not programmable -LINE #Clocks 39.822 72.038 44.744 80.092 # These are programmable -LINE #Clocks 44.297 # Must match Mclk - -# Avance Logic - -NAME Avance Logic 2101 -CHIPSET Avance Logic -LINE #chipset "al2101" -SERVER SVGA -DRIVER vga -UNSUPPORTED - -NAME Avance Logic 2228 -CHIPSET Avance Logic -LINE #chipset "ali2228" -SERVER SVGA -DRIVER vga -UNSUPPORTED - -NAME Avance Logic 2301 -CHIPSET Avance Logic -LINE #chipset "ali2301" -SERVER SVGA -DRIVER vga -UNSUPPORTED - -NAME Avance Logic 2302 -CHIPSET Avance Logic -LINE #chipset "ali2302" -SERVER SVGA -DRIVER vga -UNSUPPORTED - -NAME Avance Logic 2308 -CHIPSET Avance Logic -LINE #chipset "ali2308" -SERVER SVGA -DRIVER vga -UNSUPPORTED - -NAME Avance Logic 2401 -CHIPSET Avance Logic -LINE #chipset "ali2401" -SERVER SVGA -DRIVER vga -UNSUPPORTED - -NAME Hercules Stingray -CHIPSET ALG-2228/2301/2302 -LINE #chipset "ali2228" -SERVER SVGA -DRIVER vga -UNSUPPORTED - -NAME SPEA/V7 Mirage VEGA Plus -CHIPSET ALG-2228 -LINE #chipset "ali2228" -SERVER SVGA -DRIVER vga -UNSUPPORTED - -# ARK Logic - -NAME Ark Logic ARK1000PV (generic) -CHIPSET ARK1000PV -SERVER SVGA -DRIVER vga -UNSUPPORTED - -# For now, treat the VL as a PV. This may be changed later -NAME Ark Logic ARK1000VL (generic) -CHIPSET ARK1000VL -LINE Chipset "ark1000pv" -SERVER SVGA -DRIVER vga -UNSUPPORTED - -NAME Ark Logic ARK2000PV (generic) -CHIPSET ARK1000PV -SERVER SVGA -DRIVER vga -UNSUPPORTED - -NAME Ark Logic ARK2000MT (generic) -CHIPSET ARK1000MT -SERVER SVGA -DRIVER vga -UNSUPPORTED - -NAME Hercules Stingray Pro -SEE Ark Logic ARK1000PV (generic) - -NAME Hercules Stingray Pro/V -SEE Ark Logic ARK1000PV (generic) - -NAME Ocean (octek) VL-VGA-1000 -RAMDAC att20c490 -SEE Ark Logic ARK1000VL (generic) - -NAME Hercules Stingray 64/V with ZoomDAC -SEE Ark Logic ARK2000PV (generic) - -NAME Hercules Stingray 64/V with ICS5342 -CHIPSET ARK2000MT -RAMDAC ics5342 -SERVER SVGA -DRIVER vga -UNSUPPORTED - -NAME Diamond Stealth64 Graphics 2001 series -CHIPSET ARK2000PV -RAMDAC ics5342 -SERVER SVGA -DRIVER vga -UNSUPPORTED - -# Oak - -NAME Oak ISA Card (generic) -CHIPSET Oak OTI-067/77 -SERVER SVGA -DRIVER vga -UNSUPPORTED - -NAME Oak 87 VLB (generic) -CHIPSET Oak OTI-087 -SERVER SVGA -DRIVER vga -UNSUPPORTED -LINE Option "fifo_aggressive" # Comment this if you experience streaks. -LINE Option "no_wait" # Comment this if you find problems. -LINE #Option "enable_bitblt" # You may enable this and see if it works (see README.Oak file) - -NAME Oak 87 ISA (generic) -CHIPSET Oak OTI-087 -SERVER SVGA -DRIVER vga -UNSUPPORTED -LINE Option "noaccel" # ISA cards seem to have Color Expansion support broken -LINE #Option "enable_bitblt" # This should work on ISA, but lets not make it default just in case. - -NAME Paradise Accelerator Value -SEE Oak 87 ISA (generic) - -# P9000 - -NAME Diamond Viper VLB 2Mb -CHIPSET Weitek 9000 -SERVER P9000 -DRIVER vga -UNSUPPORTED -LINE #Clocks must match the mode clocks (XFree86 3.1 P9000 server) -LINE #Versions later than 3.1 do not require a clocks line -LINE Chipset "vipervlb" # Required for some cards which autodetect as PCI -LINE Videoram 2048 # Required -LINE Membase 0x80000000 # Optional (0x80000000 is default) -NOCLOCKPROBE - -NAME Diamond Viper PCI 2Mb -CHIPSET Weitek 9000 -SERVER P9000 -DRIVER vga -UNSUPPORTED -LINE #Clocks must match the mode clocks (XFree86 3.1 P9000 server) -LINE #Versions later than 3.1 do not require a clocks line -LINE Videoram 2048 # Required -LINE #Membase 0x80000000 # Use scanpci to get the correct Membase -NOCLOCKPROBE - -NAME Orchid P9000 VLB -CHIPSET Weitek 9000 -SERVER P9000 -DRIVER vga -UNSUPPORTED -LINE Chipset "orchid_p9000" -LINE Membase 0xE0000000 -NOCLOCKPROBE - -# P9100 - -NAME Weitek P9100 (generic) -CHIPSET Weitek P9100 -SERVER SVGA -DRIVER vga -UNSUPPORTED -NOCLOCKPROBE - -NAME Diamond Viper Pro Video -SEE Weitek P9100 (generic) - -# Trident - -NAME Trident 8900/9000 (generic) -CHIPSET TVGA8900/9000 -SERVER SVGA -DRIVER vga -UNSUPPORTED - -NAME Trident 8900D (generic) -SERVER SVGA -DRIVER vga -UNSUPPORTED - -NAME Trident TVGA9200CXr (generic) -CHIPSET TVGA9200CXr -SERVER SVGA -DRIVER vga -UNSUPPORTED - -NAME Trident TGUI9400CXi (generic) -CHIPSET TGUI9400CXi -SERVER SVGA -DRIVER trident - -NAME Trident TGUI9420DGi (generic) -CHIPSET TGUI9420DGi -SERVER SVGA -DRIVER trident - -NAME Trident TGUI9430DGi (generic) -CHIPSET TGUI9430DGi -SERVER SVGA -DRIVER trident - -NAME Trident TGUI9420 (generic) -CHIPSET TGUI9420 -DRIVER trident -NOCLOCKPROBE - -NAME Trident TGUI9440 (generic) -CHIPSET TGUI9440 -DRIVER trident -NOCLOCKPROBE - -NAME Trident TGUI9660 (generic) -CHIPSET TGUI9660 -DRIVER trident -NOCLOCKPROBE - -NAME Trident TGUI9680 (generic) -CHIPSET TGUI9680 -DRIVER trident -NOCLOCKPROBE - -NAME Trident TGUI9682 (generic) -CHIPSET TGUI9682 -SERVER SVGA -DRIVER trident -NOCLOCKPROBE - -NAME Trident TGUI9685 (generic) -CHIPSET TGUI9685 -SERVER SVGA -DRIVER trident -NOCLOCKPROBE - -NAME Trident Cyber 9320 (generic) -CHIPSET Cyber9320 -DRIVER trident -NOCLOCKPROBE - -NAME Trident Cyber 9382 (generic) -CHIPSET Cyber9382 -SERVER SVGA -DRIVER trident -NOCLOCKPROBE - -NAME Trident Cyber 9385 (generic) -CHIPSET Cyber9385 -SERVER SVGA -DRIVER trident -NOCLOCKPROBE - -NAME Trident Cyber 9388 (generic) -CHIPSET Cyber9388 -SERVER SVGA -DRIVER trident -NOCLOCKPROBE - -NAME Trident Cyber 939a (generic) -CHIPSET Cyber939a -DRIVER trident -NOCLOCKPROBE - -NAME Trident Cyber 9397 (generic) -CHIPSET Cyber9397 -SERVER SVGA -DRIVER trident -NOCLOCKPROBE - -NAME Trident Cyber 9520 (generic) -CHIPSET Cyber9520 -DRIVER trident -NOCLOCKPROBE - -NAME Trident 3DImage975 (generic) -CHIPSET 3dimage975 -SERVER SVGA -DRIVER trident -NOCLOCKPROBE - -NAME Trident 3DImage975 AGP (generic) -CHIPSET 3dimage975 -SERVER SVGA -DRIVER trident -NOCLOCKPROBE - -NAME Trident 3DImage985 (generic) -CHIPSET 3dimage985 -SERVER SVGA -DRIVER trident -NOCLOCKPROBE - -NAME Trident Providia 9682 (generic) -CHIPSET Providia9682 -DRIVER trident -NOCLOCKPROBE - -NAME Trident Providia 9685 (generic) -CHIPSET Providia9685 -DRIVER trident -NOCLOCKPROBE - -NAME Trident TVGA 8800BR -SEE * Generic VGA compatible - -NAME Trident TVGA 8800CS -SEE * Generic VGA compatible - -NAME Trident CyberBlade (generic) -CHIPSET CyberBlade -SERVER SVGA -DRIVER trident -NOCLOCKPROBE - -NAME Trident Blade3D (generic) -CHIPSET Blade3D -SERVER SVGA -DRIVER trident -NOCLOCKPROBE - -# SiS - -NAME SiS 530 -CHIPSET SIS530 -SERVER SVGA -DRIVER sis - -NAME SiS 620 -CHIPSET SIS620 -SERVER SVGA -DRIVER sis - -NAME SiS SG86C201 -CHIPSET SIS86C201 -SERVER SVGA -DRIVER sis - -NAME SiS SG86C205 -CHIPSET SIS86C205 -SERVER SVGA -DRIVER sis -LINE # Option "no_accel" # Use this if acceleration is causing problems -LINE # Option "fifo_moderate" -LINE # Option "fifo_conserv" -LINE # Option "fifo_aggressive" -NOCLOCKPROBE - -NAME SiS SG86C215 -CHIPSET SIS86C215 -SERVER SVGA -DRIVER sis -LINE # This is a cheap version of 86c205. I am not sure if acceleration works -LINE # Option "no_accel" # Use this if acceleration is causing problems -LINE # Option "no_BitBlt" # Use this if acceleration is causing problems -LINE # Option "fifo_moderate" -LINE # Option "fifo_conserv" -LINE # Option "fifo_aggressive" -NOCLOCKPROBE - -NAME SiS SG86C225 -CHIPSET SIS86C225 -SERVER SVGA -DRIVER sis -LINE # Option "no_accel" # Use this if acceleration is causing problems -LINE # Option "fifo_moderate" -LINE # Option "fifo_conserv" -LINE # Option "fifo_aggressive" -NOCLOCKPROBE - -NAME SiS 5597 -CHIPSET SiS5597 -SERVER SVGA -DRIVER sis -LINE # Option "no_accel" # Use this if acceleration is causing problems -LINE # Option "fifo_moderate" -LINE # Option "fifo_conserv" -LINE # Option "fifo_aggressive" -LINE # Option "fast_vram" -LINE # Option "pci_burst_on" -LINE # Option "xaa_benchmark" # DON'T use with "ext_eng_queue" !!! -LINE # Option "ext_eng_queue" # Turbo-queue. This can cause drawing -LINE # errors, but gives some accel -NOCLOCKPROBE - -NAME SiS 5598 -CHIPSET SIS5598 -SERVER SVGA -DRIVER sis -LINE # Option "no_accel" # Use this if acceleration is causing problems -LINE # Option "fifo_moderate" -LINE # Option "fifo_conserv" -LINE # Option "fifo_aggressive" -LINE # Option "fast_vram" -LINE # Option "pci_burst_on" -LINE # Option "xaa_benchmark" # DON'T use with "ext_eng_queue" !!! -LINE # Option "ext_eng_queue" # Turbo-queue. This can cause drawing -LINE # errors, but gives some accel -NOCLOCKPROBE - -NAME SiS 6326 -CHIPSET SiS6326 -SERVER SVGA -DRIVER sis -LINE # Option "no_accel" # Use this if acceleration is causing problems -LINE # Option "fifo_moderate" -LINE # Option "fifo_conserv" -LINE # Option "fifo_aggressive" -LINE # Option "fast_vram" -LINE # Option "pci_burst_on" -LINE # Option "xaa_benchmark" # DON'T use with "ext_eng_queue" !!! -LINE # Option "ext_eng_queue" # Turbo-queue. This can cause drawing -LINE # errors, but gives some accel -NOCLOCKPROBE - -NAME MSI MS-4417 -SEE SiS 6326 - -NAME SiS 3D PRO AGP -SEE SiS 6326 - -NAME Miro Crystal DVD -SEE SiS 6326 - -NAME PC-Chips M567 Mainboard -SEE SiS 5597 - -NAME Diamond SpeedStar A50 -SEE SiS 6326 - -# Cyrix - -NAME MediaGX -CHIPSET mediagx -SERVER SVGA -DRIVER vga -UNSUPPORTED -NOCLOCKPROBE - -# Alliance ProMotion - -NAME Alliance ProMotion 6422 -CHIPSET AP6422 -SERVER SVGA -DRIVER vga -UNSUPPORTED - -# Number 9 I128 - -NAME Number Nine Imagine I-128 -CHIPSET I128 -SERVER I128 -DRIVER i128 -NOCLOCKPROBE - -NAME Number Nine Imagine I-128 Series 2 -CHIPSET I128 -SERVER I128 -DRIVER i128 -NOCLOCKPROBE - -NAME Number Nine Revolution 3D (T2R) -CHIPSET I128 -SERVER I128 -DRIVER i128 -NOCLOCKPROBE - -NAME Number Nine Imagine-128 Revolution IV (T2R4) -CHIPSET I128 -SERVER I128 -DRIVER i128 -NOCLOCKPROBE - -# Matrox - -NAME Matrox Millennium 2MB -CHIPSET mga2064w -SERVER SVGA -DRIVER mga -LINE VideoRam 2048 -NOCLOCKPROBE - -NAME Matrox Millennium 4MB -CHIPSET mga2064w -SERVER SVGA -DRIVER mga -LINE VideoRam 4096 -NOCLOCKPROBE - -NAME Matrox Millennium 8MB -CHIPSET mga2064w -SERVER SVGA -DRIVER mga -LINE VideoRam 8192 -NOCLOCKPROBE - -NAME Matrox Millennium II 4MB -CHIPSET mga2164w -SERVER SVGA -DRIVER mga -LINE VideoRam 4096 -NOCLOCKPROBE - -NAME Matrox Millennium II 8MB -CHIPSET mga2164w -SERVER SVGA -DRIVER mga -LINE VideoRam 8192 -NOCLOCKPROBE - -NAME Matrox Millennium II 16MB -CHIPSET mga2164w -SERVER SVGA -DRIVER mga -LINE VideoRam 16384 -NOCLOCKPROBE - -NAME Matrox Millennium G200 4MB -CHIPSET mgag200 -SERVER SVGA -DRIVER mga -LINE VideoRam 4096 -NOCLOCKPROBE - -NAME Matrox Millennium G200 8MB -CHIPSET mgag200 -SERVER SVGA -DRIVER mga -LINE VideoRam 8192 -NOCLOCKPROBE - -NAME Matrox Millennium G200 16MB -CHIPSET mgag200 -SERVER SVGA -DRIVER mga -LINE VideoRam 16384 -NOCLOCKPROBE - -NAME Matrox Millennium G200 SD 4MB -CHIPSET mgag200 -SERVER SVGA -DRIVER mga -LINE VideoRam 4096 -LINE # Option "mga_sdram" -NOCLOCKPROBE - -NAME Matrox Millennium G200 SD 8MB -CHIPSET mgag200 -SERVER SVGA -DRIVER mga -LINE VideoRam 8192 -LINE # Option "mga_sdram" -NOCLOCKPROBE - -NAME Matrox Millennium G200 SD 16MB -CHIPSET mgag200 -SERVER SVGA -DRIVER mga -LINE VideoRam 16384 -LINE # Option "mga_sdram" -NOCLOCKPROBE - -NAME Matrox Mystique -CHIPSET mga1064sg -SERVER SVGA -DRIVER mga -NOCLOCKPROBE - -NAME Matrox Mystique G200 4MB -CHIPSET mgag200 -SERVER SVGA -DRIVER mga -LINE VideoRam 4096 -NOCLOCKPROBE - -NAME Matrox Mystique G200 8MB -CHIPSET mgag200 -SERVER SVGA -DRIVER mga -LINE VideoRam 8192 -NOCLOCKPROBE - -NAME Matrox Millennium G400 -CHIPSET mgag400 -SERVER SVGA -DRIVER mga -NOCLOCKPROBE - -NAME Matrox Mystique G200 16MB -CHIPSET mgag200 -SERVER SVGA -DRIVER mga -LINE VideoRam 16384 -NOCLOCKPROBE - -NAME Matrox Productiva G100 4MB -CHIPSET mgag100 -SERVER SVGA -DRIVER mga -LINE VideoRam 4096 -NOCLOCKPROBE - -NAME Matrox Productiva G100 8MB -CHIPSET mgag100 -SERVER SVGA -DRIVER mga -LINE VideoRam 8192 -NOCLOCKPROBE - -# NVIDIA - -NAME Diamond Edge 3D -CHIPSET nv1 -SERVER SVGA -DRIVER vga -UNSUPPORTED -NOCLOCKPROBE - -NAME RIVA128 -CHIPSET RIVA128 -SERVER SVGA -DRIVER nv -NOCLOCKPROBE - -NAME RIVA TNT -CHIPSET RIVATNT -SERVER SVGA -DRIVER nv -NOCLOCKPROBE - -NAME RIVA TNT2 -CHIPSET RIVATNT2 -SERVER SVGA -DRIVER nv -NOCLOCKPROBE - -NAME NVIDIA GeForce -CHIPSET GeForce -SERVER SVGA -DRIVER nv -NOCLOCKPROBE - -NAME ELSA VICTORY ERAZOR -SEE RIVA128 - -NAME ELSA Winner 1000 R3D -SEE RIVA128 - -NAME ELSA ERAZOR II -SEE RIVA TNT - -NAME Diamond Viper 330 -SEE RIVA128 - -NAME Diamond Viper 550 -SEE RIVA TNT - -NAME Diamond Viper 770 -SEE RIVA TNT2 - -NAME STB Velocity 128 -SEE RIVA128 - -NAME STB nvidia 128 -SEE RIVA128 - -NAME STB Velocity 4400 -SEE RIVA TNT - -NAME ASUS 3Dexplorer -SEE RIVA128 - -NAME Guillemot Maxi Gamer Xentor -SEE RIVA TNT2 - -NAME Guillemot Maxi Gamer Xentor 32 -SEE RIVA TNT2 - -NAME Creative Graphics Blaster TNT -SEE RIVA TNT - -NAME Creative Graphics Blaster TNT2 -SEE RIVA TNT2 - -# 3Dfx -NAME Voodoo Banshee (generic) -SERVER SVGA -CHIPSET 3dfx Banshee -DRIVER tdfx - -NAME Voodoo3 (generic) -SERVER SVGA -CHIPSET 3dfx Voodoo3 -DRIVER tdfx - -NAME Elsa Victory II -SEE Voodoo Banshee (generic) - -NAME Diamond Monster Fusion -SEE Voodoo Banshee (generic) - -NAME AOpen PA2010 -SEE Voodoo Banshee (generic) - -NAME Chaintech Desperado 3F10 -SEE Voodoo Banshee (generic) - -# 3DLabs - -NAME ELSA GLoria-L/MX -CHIPSET GLINT MX -SERVER 3DLabs -DRIVER glint -LINE #Option "no_accel" -NOCLOCKPROBE - -NAME ELSA GLoria-L -CHIPSET GLINT 500TX -SERVER 3DLabs -DRIVER glint -NOCLOCKPROBE - -NAME ELSA GLoria-XL -CHIPSET GLINT MX -SERVER 3DLabs -DRIVER glint -NOCLOCKPROBE - -NAME Diamond Fire GL 3000 -CHIPSET GLINT 500TX -SERVER 3DLabs -DRIVER glint -LINE Option "firegl_3000" -NOCLOCKPROBE - -NAME ELSA GLoria-S -CHIPSET PERMEDIA -SERVER 3DLabs -DRIVER glint -LINE #Option "no_accel" -LINE #VideoRam 8192 -NOCLOCKPROBE - -NAME Diamond Fire GL 1000 -CHIPSET PERMEDIA -SERVER 3DLabs -DRIVER glint -LINE #Option "no_accel" -LINE #VideoRam 8192 -NOCLOCKPROBE - -NAME ELSA GLoria Synergy -CHIPSET PERMEDIA 2 -SERVER 3DLabs -DRIVER glint -LINE #Option "no_accel" -NOCLOCKPROBE - -NAME ELSA Winner 2000/Office -CHIPSET PERMEDIA 2 -SERVER 3DLabs -DRIVER glint -LINE #Option "no_accel" -NOCLOCKPROBE - -NAME Diamond Fire GL 1000 PRO -CHIPSET PERMEDIA 2 -SERVER 3DLabs -DRIVER glint -LINE #Option "no_accel" -NOCLOCKPROBE - -NAME Creative Blaster Exxtreme -CHIPSET PERMEDIA 2 -SERVER 3DLabs -DRIVER glint -LINE #Option "no_accel" -NOCLOCKPROBE - -NAME AccelStar Permedia II AGP -CHIPSET PERMEDIA 2 -SERVER 3DLabs -DRIVER glint -LINE #Option "no_accel" -NOCLOCKPROBE - -NAME Leadtek WinFast 2300 -CHIPSET PERMEDIA 2 -SERVER 3DLabs -DRIVER glint -NOCLOCKPROBE - -NAME 3DLabs Oxygen GMX -CHIPSET PERMEDIA 2 -SERVER 3DLabs -DRIVER glint -LINE #Option "no_accel" -NOCLOCKPROBE - -NAME Appian Jeronimo 2000 -CHIPSET PERMEDIA 3 -SERVER 3DLabs -DRIVER glint -NOCLOCKPROBE - -# Alliance Semiconductor - -NAME Diamond Stealth Video 2500 -CHIPSET Alliance AT24 -SERVER SVGA -DRIVER apm -NOCLOCKPROBE - -NAME AT3D -CHIPSET Alliance AT3D -SERVER SVGA -DRIVER apm -NOCLOCKPROBE -LINE #Option "no_accel" - -NAME AT25 -SEE AT3D - -NAME Hercules Stingray 128 3D -SEE AT3D - -# NeoMagic - -NAME NeoMagic (laptop/notebook) -CHIPSET MagicGraph 128 series -SERVER SVGA -DRIVER neomagic -LINE # Chipset "NM2160" -LINE # IOBase 0xfea00000 -LINE # MemBase 0xfd000000 -LINE # VideoRam 2048 -LINE # DacSpeed 90 -LINE # Option "linear" -LINE # Option "nolinear" -LINE # Option "sw_cursor" -LINE # Option "hw_cursor" -LINE # Option "no_accel" -LINE # Option "intern_disp" -LINE # Option "extern_disp" -LINE # Option "mmio" -LINE # Option "no_mmio" -LINE # Option "lcd_center" -LINE # Option "no_stretch" - -# Epson SPC8110 - -NAME EPSON SPC8110 (CardPC) -CHIPSET SPC8110 -SERVER SVGA -DRIVER vga -UNSUPPORTED -LINE # Chipset "spc8110" -LINE # MemBase 0x03e00000 -LINE # VideoRam 1024 -LINE # Option "nolinear" -LINE # Option "sw_cursor" -LINE # Option "noaccel" -LINE # Option "fifo_moderate" -LINE # Option "fifo_conservative" - -# Silicon Motion, Inc. - -NAME Silicon Motion Lynx family -CHIPSET Lynx -SERVER SVGA -DRIVER siliconmotion -NOCLOCKPROBE - -# Rendition - -NAME Rendition Verite 1000 -CHIPSET Verite 1000 -SERVER SVGA -DRIVER vga -UNSUPPORTED -LINE # Option "sw_cursor" - -NAME Rendition Verite 2x00 -CHIPSET Verite 2x00 -SERVER SVGA -DRIVER vga -UNSUPPORTED -LINE # Option "sw_cursor" - -NAME Creative Labs 3D Blaster PCI (Verite 1000) -SEE Rendition Verite 1000 - -NAME Canopus Total-3D -SEE Rendition Verite 1000 - -NAME Sierra Screaming 3D -SEE Rendition Verite 1000 - -NAME Miro CRYSTAL VRX -SEE Rendition Verite 1000 - -NAME Diamond Stealth II S220 -CHIPSET Verite 2100 -SEE Rendition Verite 2x00 - -NAME Hercules Thriller3D -CHIPSET Verite 2200 -SEE Rendition Verite 2x00 - -# Digital - -NAME Digital 8-plane TGA (UDB/Multia) -CHIPSET TGA -SERVER TGA -DRIVER tga -RAMDAC Bt485 - -NAME Digital 8-plane TGA (ZLXp-E1) -CHIPSET TGA -SERVER TGA -DRIVER tga -RAMDAC Bt485 - -NAME Digital 24-plane TGA (ZLXp-E2) -CHIPSET TGA -SERVER TGA -DRIVER tga -RAMDAC Bt463 - -NAME Digital 24-plane+3D TGA (ZLXp-E3) -CHIPSET TGA -SERVER TGA -DRIVER tga -RAMDAC Bt463 - -# i810 - -NAME Intel 810 -SERVER SVGA -DRIVER i810 - -# i740 - -NAME Intel 740 (generic) -SERVER SVGA -DRIVER i740 - -# Misc - -END diff --git a/xorg-server/hw/xfree86/utils/xorgconfig/Cards98 b/xorg-server/hw/xfree86/utils/xorgconfig/Cards98 deleted file mode 100644 index ef14a0345..000000000 --- a/xorg-server/hw/xfree86/utils/xorgconfig/Cards98 +++ /dev/null @@ -1,647 +0,0 @@ -# $XFree86: xc/programs/Xserver/hw/xfree98/xf86config/Cards98,v 1.7 1998/06/04 16:43:45 hohndel Exp $ -# -# -# -# $XConsortium: Cards /main/27 1996/10/28 05:43:53 kaleb $ -# This is the database of card definitions used by xf86config. -# Each definition should have a NAME entry, CHIPSET (descriptive) and -# SERVER (one of EGC, GANBWAP, PEGC, NKVNEC, WABS, WABEP, WSNA, TGUI, -# MGA, SVGA, NECS3, PWSKB, PWLB, GA968). -# A reference to another definition is made with SEE (already defined -# entries are not overridden). -# Optional entries are RAMDAC (identifier), CLOCKCHIP (identifier), -# DACSPEED, NOCLOCKPROBE (advises never to probe clocks), UNSUPPORTED -# (indicates card that is not yet properly supported by a dedicated -# server). A LINE entry adds a line of text to be included in the -# Device section (can include options or comments). -# There's no CLOCKS option (although a Clocks line can be included -# with LINE), as it is very undesirable to have a Clocks line that -# is incorrect. The idea is that the Clocks are probed for to be -# sure (a commented suggested Clocks line can be included). -# -# The majority of entries are just a binding of a model name to a -# chipset/server and untested. -# - -# EGC - -NAME EGC16 -CHIPSET EGC -SERVER EGC -LINE Chipset "vga" - -# PEGC - -NAME PEGC -CHIPSET PEGC -SERVER PEGC -LINE VideoRam 512 -LINE Clocks 31.5 -LINE # Virtual resolution for 640x400 -LINE # Clocks 28.322 - -# GANBWAP - -NAME GA-98NBI -CHIPSET CL-GD5434 -SERVER GANBWAP -LINE ClockChip "cirrus" -LINE Option "ga98nb1" -LINE Option "no_mmio" -LINE # Option "sw_cursor" - -NAME GA-98NBII -CHIPSET CL-GD5434 -SERVER GANBWAP -LINE ClockChip "cirrus" -LINE Option "ga98nb2" -LINE Option "no_mmio" -LINE # Option "sw_cursor" - -NAME GA-98NBIV -CHIPSET CL-GD5434 -SERVER GANBWAP -LINE ClockChip "cirrus" -LINE Option "ga98nb4" -LINE Option "no_mmio" -LINE # Option "sw_cursor" - -NAME WAP-2000/4000 -CHIPSET CL-GD5434 -SERVER GANBWAP -LINE Option "wap" -LINE Option "no_mmio" -LINE # Option "epsonmemwin" - -# NKVNEC - -NAME PCNKV/PCNKV2/NEC_CIRRUS -CHIPSET CL-GD5428/5429/5430 -SERVER NKVNEC -LINE # Option "fast_dram" -LINE VideoRam 1024 - -NAME PC9821Bf/U8W -LINE Option "nec_cirrus" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Bp/U8W/U7W -LINE Option "nec_cirrus" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Bs/U7W -LINE Option "nec_cirrus" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Be/U7W -LINE Option "nec_cirrus" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821BA3/U2/W -LINE Option "nec_cirrus" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821BX3/U2/W -LINE Option "nec_cirrus" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821BX4/U2 -LINE Option "nec_cirrus" -LINE Option "no_mmio" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Cb -LINE Option "nec_cirrus" -LINE Option "no_mmio" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Ce -LINE Option "nec_cirrus" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Cf -LINE Option "nec_cirrus" -LINE Option "no_mmio" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Ce2 -LINE Option "nec_cirrus" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Cs -LINE Option "nec_cirrus" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Cs2 -LINE Option "nec_cirrus" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Cx -LINE Option "nec_cirrus" -LINE Option "no_mmio" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Cx2 -LINE Option "nec_cirrus" -LINE Option "no_mmio" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Es -LINE Option "nec_cirrus" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Nd -LINE Option "nec_cirrus" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Ne2 -LINE Option "nec_cirrus" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Nf -LINE Option "nec_cirrus" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Np -LINE Option "nec_cirrus" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Ns -LINE Option "nec_cirrus" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821V7/C -LINE Chipset "clgd5430" -LINE Option "nec_cirrus" -LINE Option "no_mmio" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821V10/C,S -LINE Chipset "clgd5430" -LINE Option "nec_cirrus" -LINE Option "no_mmio" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821V12/S -LINE Chipset "clgd5430" -LINE Option "nec_cirrus" -LINE Option "no_mmio" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821V13/S -LINE Chipset "clgd5430" -LINE Option "nec_cirrus" -LINE Option "no_mmio" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821V16/S -LINE Chipset "clgd5430" -LINE Option "nec_cirrus" -LINE Option "no_mmio" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821V16/S5V,P -LINE Chipset "clgd5446" -LINE Option "nec_cirrus" -LINE Option "no_mmio" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821V20/S7 -LINE Chipset "clgd5430" -LINE Option "nec_cirrus" -LINE Option "no_mmio" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Xb10 -LINE Chipset "clgd5430" -LINE Option "nec_cirrus" -LINE Option "no_mmio" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Xc13/S5 -LINE Chipset "clgd5446" -LINE Option "nec_cirrus" -LINE Option "no_mmio" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Xc16/M,S -LINE Chipset "clgd5446" -LINE Option "nec_cirrus" -LINE Option "no_mmio" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Xc200/M,S -LINE Chipset "clgd5446" -LINE Option "nec_cirrus" -LINE Option "no_mmio" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Xa7e -LINE Chipset "clgd5430" -LINE Option "nec_cirrus" -LINE Option "no_mmio" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Xe -LINE Chipset "clgd5430" -LINE Option "nec_cirrus" -LINE Option "no_mmio" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Xe10 -LINE Chipset "clgd5430" -LINE Option "nec_cirrus" -LINE Option "no_mmio" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC486MR -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC486MS -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC486MU -LINE Chipset "clgd5429" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC486MV -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC586MV -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC586RV -LINE Chipset "clgd5429" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -# WABS - -NAME WAB-S -CHIPSET CL-GD5426/5428 -SERVER WABS -LINE VideoRam 1024 -LINE # VideoRam 2048 - -NAME WAB-1000/2000 -CHIPSET CL-GD5428 -SERVER WABS -LINE VideoRam 1024 -LINE # VideoRam 2048 - -NAME WSR-E/G -SEE WAB-1000/2000 - -# WABEP - -NAME WAB-EP -CHIPSET CL-GD5428 -SERVER WABEP -LINE Option "med_dram" - -# WSNA - -NAME WSN-A2F -CHIPSET CL-GD5434 -SERVER WSNA -LINE Option "no_mmio" -LINE Option "med_dram" - -# TGUI - -NAME NEC Trident -CHIPSET TGUI9680/9682 -SERVER TGUI -LINE Option "xaa_no_color_exp" -LINE # Option "noaccel" -LINE # Option "Linear" -LINE # Option "med_dram" -LINE # Option "hw_cursor" - -NAME PC9821Ra20/N -SEE NEC Trident - -NAME PC9821RaII23/N,W -SEE NEC Trident - -NAME PC9821Ra266/N,W -SEE NEC Trident - -NAME PC9821Rs20/B20 -SEE NEC Trident - -NAME PC9821RsII26/B40 -SEE NEC Trident - -NAME PC9821V13/M7 -SEE NEC Trident - -NAME PC9821V16/M7 -SEE NEC Trident - -NAME PC9821V20/M7 -SEE NEC Trident - -NAME PC9821Xa7/C,K -SEE NEC Trident - -NAME PC9821Xa9/C,K -SEE NEC Trident - -NAME PC9821Xa10/C,K -SEE NEC Trident - -NAME PC9821Xa12/C,K -SEE NEC Trident - -NAME PC9821Xa13/C,K,W -SEE NEC Trident - -NAME PC9821Xa16/R,W -SEE NEC Trident - -NAME PC9821Xa20/W -SEE NEC Trident - -NAME PC9821Xc13/M,S -SEE NEC Trident - -NAME PC9821Xv13/R -SEE NEC Trident - -NAME GA-DRV/98 -CHIPSET TGUI9680 -SERVER TGUI -LINE Option "noaccel" -LINE # Option "med_dram" -LINE # Option "hw_cursor" - -# MGA - -NAME MGA Millennium -CHIPSET MGA2064W -SERVER MGA - -NAME PC9821Xt13 -SEE MGA Millennium - -NAME PC9821Xt16 -SEE MGA Millennium - -NAME PC9821Xv13/W -SEE MGA Millennium - -NAME PC9821Xv20/W -SEE MGA Millennium - -NAME PC9821St15 -SEE MGA Millennium - -NAME PC9821St20 -SEE MGA Millennium - -NAME PC9821RvII26/N20 -SEE MGA Millennium - -NAME NEC FC-WAB-X2 -SEE MGA Millennium - -NAME MGA Mystique -CHIPSET MGA1064SG -SERVER MGA - -NAME PC9821V166/S -LINE VideoRam 2048 -SEE MGA Mystique - -NAME PC9821V200/S -LINE VideoRam 2048 -SEE MGA Mystique - -NAME PC9821V200/M -LINE VideoRam 4096 -SEE MGA Mystique - -NAME PC9821V233/M7 -LINE VideoRam 2048 -SEE MGA Mystique - -NAME PC9821V233/M7V -LINE VideoRam 4096 -SEE MGA Mystique - -# SVGA - -NAME NEC Cirrus 755x -CHIPSET CL-GD7555 -LINE Chipset "clgd7555" -LINE # VideoRam 2048 -LINE # Option "no_bitblt" -LINE # Option "fast_dram" -LINE Option "linear" -LINE Option "noaccel" -SERVER SVGA - -NAME PC9821Nr12 -SEE NEC Cirrus 755x - -NAME PC9821Nr13 -SEE NEC Cirrus 755x - -NAME PC9821La13 -SEE NEC Cirrus 755x - -NAME PC9821Ls12 -SEE NEC Cirrus 755x - -NAME PC9821Ls13 -SEE NEC Cirrus 755x - -NAME PC9821Ls150 -SEE NEC Cirrus 755x - -# NECS3 - -NAME NEC WAB-A/B -CHIPSET S3 928 -SERVER NECS3 -LINE Chipset "s3_generic" -LINE Dacspeed 110 -LINE Ramdac "sc15025" -LINE Option "dac_8_bit" -LINE # Option "necwab" -LINE # Option "nomemaccess" -LINE Clocks 25.0 28.0 40.0 0.0 50.0 77.0 36.0 45.0 -LINE Clocks 130.0 120.0 80.0 31.0 110.0 65.0 75.0 94.0 - -NAME NEC FC-WAB-A/B -CHIPSET S3 928 -SERVER NECS3 -LINE Chipset "s3_generic" -LINE Dacspeed 110 -LINE Ramdac "bt485" -LINE Option "necwab" -LINE Option "nomemaccess" -LINE Option "noinit" -LINE Option "nolinear" -LINE Clocks 25.0 28.0 40.0 0.0 50.0 77.0 36.0 45.0 -LINE Clocks 130.0 120.0 80.0 31.0 110.0 65.0 75.0 94.0 - -NAME PC9821Af/U9W E09? -SEE NEC WAB-A/B - -NAME PC9821An/U8W -SEE NEC WAB-A/B - -NAME PC9821Ap2/U8W/C9W -SEE NEC WAB-A/B - -NAME PC9821As2/U7W/U8W -SEE NEC WAB-A/B - -NAME NEC 864 -CHIPSET S3 864 -SERVER NECS3 -LINE Chipset "s3_generic" -LINE Option "necwab" -LINE Ramdac "s3_sdac" -LINE ClockChip "s3_sdac" - -NAME PC9821Ap3 -SEE NEC 864 - -NAME PC9821As3 -SEE NEC 864 - -NAME PC9821Xp -SEE NEC 864 - -NAME PC9821Xs -SEE NEC 864 - -# PWSKB - -NAME PowerWindow 928/801 -CHIPSET S3 928 -SERVER PWSKB -LINE Chipset "s3_generic" -LINE # Chipset "mmio_928" -LINE Ramdac "sc15025" -LINE Dacspeed 110 -LINE Option "dac_8_bit" -LINE # Option "epsonmemwin" -LINE # Option "nomemaccess" -LINE ClockChip "icd2061a" - -NAME PowerWindow 928II -CHIPSET S3 928 -SERVER PWSKB -LINE Chipset "s3_generic" -LINE # Chipset "mmio_928" -LINE Ramdac "att20c505" -LINE # Ramdac "bt485" -LINE Dacspeed 110 -LINE Option "dac_8_bit" -LINE # Option "pw_mux" -LINE Option "bt485_curs" -LINE # Option "epsonmemwin" -LINE # Option "nomemaccess" -LINE ClockChip "icd2061a" - -NAME PowerWindow 805i -CHIPSET S3 805 -SERVER PWSKB -LINE Chipset "s3_generic" -LINE Ramdac "s3gendac" -LINE Dacspeed 110 -LINE Option "dac_8_bit" -LINE # Option "pw805i" -LINE # Option "epsonmemwin" -LINE # Option "nomemaccess" -LINE ClockChip "s3_sdac" - -NAME PowerWindow 928G -CHIPSET S3 928 -SERVER PWSKB -LINE Chipset "s3_generic" -LINE # Chipset "mmio_928" -LINE Ramdac "sc15025" -LINE Dacspeed 110 -LINE Option "dac_8_bit" -LINE # Option "nomemaccess" -LINE # Option "nolinear" -LINE ClockChip "icd2061a" - -NAME PCSKB/PCSKB2 -CHIPSET S3 911/924 -SERVER PWSKB -LINE Chipset "s3_generic" -LINE Ramdac "sc15025" -LINE Dacspeed 110 -LINE Option "dac_8_bit" -LINE # Option "nomemaccess" -LINE Option "pcskb" -LINE Clocks 25.0 28.0 40.0 0.0 50.0 77.0 36.0 45.0 -LINE Clocks 130.0 120.0 80.0 31.0 110.0 65.0 75.0 94.0 - -NAME PCSKB3/PCSKB4/PCPKB4 -CHIPSET S3 928 -SERVER PWSKB -LINE Chipset "s3_generic" -LINE Ramdac "sc15025" -LINE # Ramdac "att20c498" -LINE Dacspeed 110 -LINE Option "dac_8_bit" -LINE Option "nomemaccess" -LINE Option "pcskb4" -LINE Clocks 25.0 28.0 40.0 0.0 50.0 77.0 36.0 45.0 -LINE Clocks 130.0 120.0 80.0 31.0 110.0 65.0 75.0 94.0 - -# PWLB - -NAME PowerWindow 928GLB -CHIPSET S3 928 -SERVER PWLB -LINE Chipset "s3_generic" -LINE # Chipset "mmio_928" -LINE Ramdac "sc15025" -LINE Dacspeed 110 -LINE Option "dac_8_bit" -LINE # Option "pw_localbus" -LINE # Option "nomemaccess" -LINE # Option "nolinear" -LINE ClockChip "icd2061a" - -NAME PowerWindow 928IILB -CHIPSET S3 928 -SERVER PWLB -LINE Chipset "s3_generic" -LINE # Chipset "mmio_928" -LINE Ramdac "att20c505" -LINE # Ramdac "bt485" -LINE Dacspeed 110 -LINE Option "dac_8_bit" -LINE Option "bt485_curs" -LINE Option "pw_localbus" -LINE # Option "pw_mux" -LINE # Option "nomemaccess" -LINE # Option "nolinear" -LINE ClockChip "icd2061a" - -NAME PowerWindow 964LB -CHIPSET S3 964 -SERVER PWLB -LINE Chipset "s3_generic" -LINE Option "pw_localbus" -LINE Option "number_nine" -LINE Ramdac "ti3025" -LINE ClockChip "ti3025" -LINE VideoRam 4096 - -# GA968 - -NAME GA-968V4/PCI -CHIPSET S3 968 -SERVER GA968 -LINE Chipset "s3_generic" -LINE # Chipset "mmio_928" -LINE VideoRam 4096 diff --git a/xorg-server/hw/xfree86/utils/xorgconfig/Makefile.am b/xorg-server/hw/xfree86/utils/xorgconfig/Makefile.am deleted file mode 100644 index dabfc3214..000000000 --- a/xorg-server/hw/xfree86/utils/xorgconfig/Makefile.am +++ /dev/null @@ -1,70 +0,0 @@ -# Copyright 2005 Sun Microsystems, Inc. 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, and/or sell copies of the Software, and to permit persons -# to whom the Software is furnished to do so, provided that the above -# copyright notice(s) and this permission notice appear in all copies of -# the Software and that both the above copyright notice(s) and this -# permission notice appear in supporting documentation. -# -# 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 -# OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL -# INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING -# FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, -# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION -# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -# -# Except as contained in this notice, the name of a copyright holder -# shall not be used in advertising or otherwise to promote the sale, use -# or other dealings in this Software without prior written authorization -# of the copyright holder. -# - -bin_PROGRAMS = xorgconfig - -X11dir = $(libdir)/X11 -dist_X11_DATA = Cards - -xorgconfig_CFLAGS = @XORGCONFIG_DEP_CFLAGS@ \ - -DCARD_DATABASE_FILE='"$(X11dir)/Cards"' \ - -DPROJECTROOT='"$(PROJECTROOT)"' \ - -DFILEMANSUFFIX='"$(FILE_MAN_SUFFIX)"' \ - -DXVERSIONSTRING='"$(PACKAGE_STRING)"' - -xorgconfig_LDADD = @XORGCONFIG_DEP_LIBS@ - -xorgconfig_SOURCES = \ - cards.c \ - cards.h \ - xorgconfig.c - -# Man page -include $(top_srcdir)/cpprules.in - -appmandir = $(APP_MAN_DIR) - -appman_PRE = xorgconfig.man -appman_DATA = $(appman_PRE:man=@APP_MAN_SUFFIX@) - -EXTRAMANDEFS = \ - -D__XCONFIGFILE__=$(__XCONFIGFILE__) \ - -D__XSERVERNAME__=$(XSERVERNAME) - -BUILT_SOURCES = $(appman_PRE) -CLEANFILES = $(appman_PRE) $(appman_DATA) - -SUFFIXES += .$(APP_MAN_SUFFIX) .man - -.man.$(APP_MAN_SUFFIX): - -rm -f $@ - $(LN_S) $< $@ - -EXTRA_DIST = \ - Cards98 \ - xorgconfig.man.pre diff --git a/xorg-server/hw/xfree86/utils/xorgconfig/Makefile.in b/xorg-server/hw/xfree86/utils/xorgconfig/Makefile.in deleted file mode 100644 index 4e54d04a1..000000000 --- a/xorg-server/hw/xfree86/utils/xorgconfig/Makefile.in +++ /dev/null @@ -1,857 +0,0 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -# Copyright 2005 Sun Microsystems, Inc. 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, and/or sell copies of the Software, and to permit persons -# to whom the Software is furnished to do so, provided that the above -# copyright notice(s) and this permission notice appear in all copies of -# the Software and that both the above copyright notice(s) and this -# permission notice appear in supporting documentation. -# -# 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 -# OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL -# INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING -# FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, -# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION -# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -# -# Except as contained in this notice, the name of a copyright holder -# shall not be used in advertising or otherwise to promote the sale, use -# or other dealings in this Software without prior written authorization -# of the copyright holder. -# - -# -*- Makefile -*- -# Rules for generating files using the C pre-processor -# (Replaces CppFileTarget from Imake) - - -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -bin_PROGRAMS = xorgconfig$(EXEEXT) -DIST_COMMON = $(dist_X11_DATA) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in $(top_srcdir)/cpprules.in -subdir = hw/xfree86/utils/xorgconfig -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/include/do-not-use-config.h \ - $(top_builddir)/include/xorg-server.h \ - $(top_builddir)/include/dix-config.h \ - $(top_builddir)/include/xgl-config.h \ - $(top_builddir)/include/xorg-config.h \ - $(top_builddir)/include/xkb-config.h \ - $(top_builddir)/include/xwin-config.h \ - $(top_builddir)/include/kdrive-config.h -CONFIG_CLEAN_FILES = -am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(appmandir)" \ - "$(DESTDIR)$(X11dir)" -binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) -PROGRAMS = $(bin_PROGRAMS) -am_xorgconfig_OBJECTS = xorgconfig-cards.$(OBJEXT) \ - xorgconfig-xorgconfig.$(OBJEXT) -xorgconfig_OBJECTS = $(am_xorgconfig_OBJECTS) -xorgconfig_DEPENDENCIES = -xorgconfig_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(xorgconfig_CFLAGS) \ - $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -SOURCES = $(xorgconfig_SOURCES) -DIST_SOURCES = $(xorgconfig_SOURCES) -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; -appmanDATA_INSTALL = $(INSTALL_DATA) -dist_X11DATA_INSTALL = $(INSTALL_DATA) -DATA = $(appman_DATA) $(dist_X11_DATA) -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ -ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ -ALLOCA = @ALLOCA@ -AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ -APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ -APP_MAN_DIR = @APP_MAN_DIR@ -APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -BASE_FONT_PATH = @BASE_FONT_PATH@ -BUILD_DATE = @BUILD_DATE@ -BUILD_TIME = @BUILD_TIME@ -CC = @CC@ -CCAS = @CCAS@ -CCASDEPMODE = @CCASDEPMODE@ -CCASFLAGS = @CCASFLAGS@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -COMPILEDDEFAULTFONTPATH = @COMPILEDDEFAULTFONTPATH@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DARWIN_LIBS = @DARWIN_LIBS@ -DBUS_CFLAGS = @DBUS_CFLAGS@ -DBUS_LIBS = @DBUS_LIBS@ -DEFAULT_LIBRARY_PATH = @DEFAULT_LIBRARY_PATH@ -DEFAULT_LOGPREFIX = @DEFAULT_LOGPREFIX@ -DEFAULT_MODULE_PATH = @DEFAULT_MODULE_PATH@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DGA_CFLAGS = @DGA_CFLAGS@ -DGA_LIBS = @DGA_LIBS@ -DIX_CFLAGS = @DIX_CFLAGS@ -DLLTOOL = @DLLTOOL@ -DMXEXAMPLES_DEP_CFLAGS = @DMXEXAMPLES_DEP_CFLAGS@ -DMXEXAMPLES_DEP_LIBS = @DMXEXAMPLES_DEP_LIBS@ -DMXMODULES_CFLAGS = @DMXMODULES_CFLAGS@ -DMXMODULES_LIBS = @DMXMODULES_LIBS@ -DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ -DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ -DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ -DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ -DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ -DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ -DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ -DRIPROTO_LIBS = @DRIPROTO_LIBS@ -DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ -DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ -DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ -DSYMUTIL = @DSYMUTIL@ -DTRACE = @DTRACE@ -ECHO = @ECHO@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ -FILE_MAN_DIR = @FILE_MAN_DIR@ -FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ -GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ -GLX_DEFINES = @GLX_DEFINES@ -GL_CFLAGS = @GL_CFLAGS@ -GL_LIBS = @GL_LIBS@ -GREP = @GREP@ -HAL_CFLAGS = @HAL_CFLAGS@ -HAL_LIBS = @HAL_LIBS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -KDRIVE_CFLAGS = @KDRIVE_CFLAGS@ -KDRIVE_INCS = @KDRIVE_INCS@ -KDRIVE_LIBS = @KDRIVE_LIBS@ -KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ -KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ -KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ -LDFLAGS = @LDFLAGS@ -LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ -LEX = @LEX@ -LEXLIB = @LEXLIB@ -LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -LIBDRM_CFLAGS = @LIBDRM_CFLAGS@ -LIBDRM_LIBS = @LIBDRM_LIBS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIB_MAN_DIR = @LIB_MAN_DIR@ -LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ -LINUXDOC = @LINUXDOC@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MAKE_HTML = @MAKE_HTML@ -MAKE_PDF = @MAKE_PDF@ -MAKE_PS = @MAKE_PS@ -MAKE_TEXT = @MAKE_TEXT@ -MESA_SOURCE = @MESA_SOURCE@ -MISC_MAN_DIR = @MISC_MAN_DIR@ -MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ -MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ -NMEDIT = @NMEDIT@ -OBJC = @OBJC@ -OBJCCLD = @OBJCCLD@ -OBJCDEPMODE = @OBJCDEPMODE@ -OBJCFLAGS = @OBJCFLAGS@ -OBJCLINK = @OBJCLINK@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ -PCIACCESS_LIBS = @PCIACCESS_LIBS@ -PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@ -PERL = @PERL@ -PKG_CONFIG = @PKG_CONFIG@ -PROJECTROOT = @PROJECTROOT@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -RAWCPP = @RAWCPP@ -RAWCPPFLAGS = @RAWCPPFLAGS@ -SED = sed -SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ -SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ -STRIP = @STRIP@ -TSLIB_CFLAGS = @TSLIB_CFLAGS@ -TSLIB_LIBS = @TSLIB_LIBS@ -UTILS_SYS_LIBS = @UTILS_SYS_LIBS@ -VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ -VENDOR_NAME = @VENDOR_NAME@ -VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ -VENDOR_RELEASE = @VENDOR_RELEASE@ -VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ -X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ -X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ -XDMCP_CFLAGS = @XDMCP_CFLAGS@ -XDMCP_LIBS = @XDMCP_LIBS@ -XDMXCONFIG_DEP_CFLAGS = @XDMXCONFIG_DEP_CFLAGS@ -XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ -XDMX_CFLAGS = @XDMX_CFLAGS@ -XDMX_LIBS = @XDMX_LIBS@ -XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ -XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ -XEPHYR_INCS = @XEPHYR_INCS@ -XEPHYR_LIBS = @XEPHYR_LIBS@ -XF86CONFIGFILE = @XF86CONFIGFILE@ -XF86MISC_CFLAGS = @XF86MISC_CFLAGS@ -XF86MISC_LIBS = @XF86MISC_LIBS@ -XF86VIDMODE_CFLAGS = @XF86VIDMODE_CFLAGS@ -XF86VIDMODE_LIBS = @XF86VIDMODE_LIBS@ -XGLMODULES_CFLAGS = @XGLMODULES_CFLAGS@ -XGLMODULES_LIBS = @XGLMODULES_LIBS@ -XGLXMODULES_CFLAGS = @XGLXMODULES_CFLAGS@ -XGLXMODULES_LIBS = @XGLXMODULES_LIBS@ -XGLX_LIBS = @XGLX_LIBS@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ -XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ -XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ -XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ -XKM_OUTPUT_DIR = @XKM_OUTPUT_DIR@ -XLIB_CFLAGS = @XLIB_CFLAGS@ -XLIB_LIBS = @XLIB_LIBS@ -XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ -XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ -XNEST_LIBS = @XNEST_LIBS@ -XNEST_SYS_LIBS = @XNEST_SYS_LIBS@ -XORGCFG_DEP_CFLAGS = @XORGCFG_DEP_CFLAGS@ -XORGCFG_DEP_LIBS = @XORGCFG_DEP_LIBS@ -XORGCONFIG_DEP_CFLAGS = @XORGCONFIG_DEP_CFLAGS@ -XORGCONFIG_DEP_LIBS = @XORGCONFIG_DEP_LIBS@ -XORG_CFLAGS = @XORG_CFLAGS@ -XORG_INCS = @XORG_INCS@ -XORG_LIBS = @XORG_LIBS@ -XORG_MODULES_CFLAGS = @XORG_MODULES_CFLAGS@ -XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ -XORG_OS = @XORG_OS@ -XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ -XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ -XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ -XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ -XSDL_INCS = @XSDL_INCS@ -XSDL_LIBS = @XSDL_LIBS@ -XSERVERCFLAGS_CFLAGS = @XSERVERCFLAGS_CFLAGS@ -XSERVERCFLAGS_LIBS = @XSERVERCFLAGS_LIBS@ -XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ -XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ -XSERVER_LIBS = @XSERVER_LIBS@ -XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ -XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ -XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ -XVFB_LIBS = @XVFB_LIBS@ -XVFB_SYS_LIBS = @XVFB_SYS_LIBS@ -XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ -XWINMODULES_LIBS = @XWINMODULES_LIBS@ -XWIN_LIBS = @XWIN_LIBS@ -XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ -XWIN_SYS_LIBS = @XWIN_SYS_LIBS@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -__XCONFIGFILE__ = @__XCONFIGFILE__@ -abi_ansic = @abi_ansic@ -abi_extension = @abi_extension@ -abi_font = @abi_font@ -abi_videodrv = @abi_videodrv@ -abi_xinput = @abi_xinput@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -driverdir = @driverdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -extdir = @extdir@ -ft_config = @ft_config@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -logdir = @logdir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -moduledir = @moduledir@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sdkdir = @sdkdir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ -X11dir = $(libdir)/X11 -dist_X11_DATA = Cards -xorgconfig_CFLAGS = @XORGCONFIG_DEP_CFLAGS@ \ - -DCARD_DATABASE_FILE='"$(X11dir)/Cards"' \ - -DPROJECTROOT='"$(PROJECTROOT)"' \ - -DFILEMANSUFFIX='"$(FILE_MAN_SUFFIX)"' \ - -DXVERSIONSTRING='"$(PACKAGE_STRING)"' - -xorgconfig_LDADD = @XORGCONFIG_DEP_LIBS@ -xorgconfig_SOURCES = \ - cards.c \ - cards.h \ - xorgconfig.c - -SUFFIXES = .pre .man .man.pre .$(APP_MAN_SUFFIX) .man - -# Translate XCOMM into pound sign with sed, rather than passing -DXCOMM=XCOMM -# to cpp, because that trick does not work on all ANSI C preprocessors. -# Delete line numbers from the cpp output (-P is not portable, I guess). -# Allow XCOMM to be preceded by whitespace and provide a means of generating -# output lines with trailing backslashes. -# Allow XHASH to always be substituted, even in cases where XCOMM isn't. -CPP_SED_MAGIC = $(SED) -e '/^\# *[0-9][0-9]* *.*$$/d' \ - -e '/^\#line *[0-9][0-9]* *.*$$/d' \ - -e '/^[ ]*XCOMM$$/s/XCOMM/\#/' \ - -e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/\#/' \ - -e '/^[ ]*XHASH/s/XHASH/\#/' \ - -e '/\@\@$$/s/\@\@$$/\\/' - - -# Strings to replace in man pages -XORGRELSTRING = @PACKAGE_STRING@ -XORGMANNAME = X Version 11 -XSERVERNAME = Xorg -MANDEFS = \ - -D__vendorversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\"" \ - -D__xorgversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\"" \ - -D__appmansuffix__=$(APP_MAN_SUFFIX) \ - -D__filemansuffix__=$(FILE_MAN_SUFFIX) \ - -D__libmansuffix__=$(LIB_MAN_SUFFIX) \ - -D__miscmansuffix__=$(MISC_MAN_SUFFIX) \ - -D__drivermansuffix__=$(DRIVER_MAN_SUFFIX) \ - -D__adminmansuffix__=$(ADMIN_MAN_SUFFIX) \ - -D__mandir__=$(mandir) \ - -D__projectroot__=$(prefix) \ - -D__xconfigfile__=$(__XCONFIGFILE__) -D__xconfigdir__=$(XCONFIGDIR) \ - -D__xlogfile__=$(XLOGFILE) -D__xservername__=$(XSERVERNAME) - - -# Man page -appmandir = $(APP_MAN_DIR) -appman_PRE = xorgconfig.man -appman_DATA = $(appman_PRE:man=@APP_MAN_SUFFIX@) -EXTRAMANDEFS = \ - -D__XCONFIGFILE__=$(__XCONFIGFILE__) \ - -D__XSERVERNAME__=$(XSERVERNAME) - -BUILT_SOURCES = $(appman_PRE) -CLEANFILES = $(appman_PRE) $(appman_DATA) -EXTRA_DIST = \ - Cards98 \ - xorgconfig.man.pre - -all: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) all-am - -.SUFFIXES: -.SUFFIXES: .pre .man .man.pre .$(APP_MAN_SUFFIX) .man .c .lo .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/cpprules.in $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign hw/xfree86/utils/xorgconfig/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign hw/xfree86/utils/xorgconfig/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ - if test -f $$p \ - || test -f $$p1 \ - ; then \ - f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ - else :; fi; \ - done - -uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ - rm -f "$(DESTDIR)$(bindir)/$$f"; \ - done - -clean-binPROGRAMS: - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f $$p $$f"; \ - rm -f $$p $$f ; \ - done -xorgconfig$(EXEEXT): $(xorgconfig_OBJECTS) $(xorgconfig_DEPENDENCIES) - @rm -f xorgconfig$(EXEEXT) - $(xorgconfig_LINK) $(xorgconfig_OBJECTS) $(xorgconfig_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgconfig-cards.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgconfig-xorgconfig.Po@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c $< - -.c.obj: -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< - -xorgconfig-cards.o: cards.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgconfig_CFLAGS) $(CFLAGS) -MT xorgconfig-cards.o -MD -MP -MF $(DEPDIR)/xorgconfig-cards.Tpo -c -o xorgconfig-cards.o `test -f 'cards.c' || echo '$(srcdir)/'`cards.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgconfig-cards.Tpo $(DEPDIR)/xorgconfig-cards.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cards.c' object='xorgconfig-cards.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgconfig_CFLAGS) $(CFLAGS) -c -o xorgconfig-cards.o `test -f 'cards.c' || echo '$(srcdir)/'`cards.c - -xorgconfig-cards.obj: cards.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgconfig_CFLAGS) $(CFLAGS) -MT xorgconfig-cards.obj -MD -MP -MF $(DEPDIR)/xorgconfig-cards.Tpo -c -o xorgconfig-cards.obj `if test -f 'cards.c'; then $(CYGPATH_W) 'cards.c'; else $(CYGPATH_W) '$(srcdir)/cards.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgconfig-cards.Tpo $(DEPDIR)/xorgconfig-cards.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cards.c' object='xorgconfig-cards.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgconfig_CFLAGS) $(CFLAGS) -c -o xorgconfig-cards.obj `if test -f 'cards.c'; then $(CYGPATH_W) 'cards.c'; else $(CYGPATH_W) '$(srcdir)/cards.c'; fi` - -xorgconfig-xorgconfig.o: xorgconfig.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgconfig_CFLAGS) $(CFLAGS) -MT xorgconfig-xorgconfig.o -MD -MP -MF $(DEPDIR)/xorgconfig-xorgconfig.Tpo -c -o xorgconfig-xorgconfig.o `test -f 'xorgconfig.c' || echo '$(srcdir)/'`xorgconfig.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgconfig-xorgconfig.Tpo $(DEPDIR)/xorgconfig-xorgconfig.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='xorgconfig.c' object='xorgconfig-xorgconfig.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgconfig_CFLAGS) $(CFLAGS) -c -o xorgconfig-xorgconfig.o `test -f 'xorgconfig.c' || echo '$(srcdir)/'`xorgconfig.c - -xorgconfig-xorgconfig.obj: xorgconfig.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgconfig_CFLAGS) $(CFLAGS) -MT xorgconfig-xorgconfig.obj -MD -MP -MF $(DEPDIR)/xorgconfig-xorgconfig.Tpo -c -o xorgconfig-xorgconfig.obj `if test -f 'xorgconfig.c'; then $(CYGPATH_W) 'xorgconfig.c'; else $(CYGPATH_W) '$(srcdir)/xorgconfig.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgconfig-xorgconfig.Tpo $(DEPDIR)/xorgconfig-xorgconfig.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='xorgconfig.c' object='xorgconfig-xorgconfig.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgconfig_CFLAGS) $(CFLAGS) -c -o xorgconfig-xorgconfig.obj `if test -f 'xorgconfig.c'; then $(CYGPATH_W) 'xorgconfig.c'; else $(CYGPATH_W) '$(srcdir)/xorgconfig.c'; fi` - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-appmanDATA: $(appman_DATA) - @$(NORMAL_INSTALL) - test -z "$(appmandir)" || $(MKDIR_P) "$(DESTDIR)$(appmandir)" - @list='$(appman_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(appmanDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(appmandir)/$$f'"; \ - $(appmanDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(appmandir)/$$f"; \ - done - -uninstall-appmanDATA: - @$(NORMAL_UNINSTALL) - @list='$(appman_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(appmandir)/$$f'"; \ - rm -f "$(DESTDIR)$(appmandir)/$$f"; \ - done -install-dist_X11DATA: $(dist_X11_DATA) - @$(NORMAL_INSTALL) - test -z "$(X11dir)" || $(MKDIR_P) "$(DESTDIR)$(X11dir)" - @list='$(dist_X11_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(dist_X11DATA_INSTALL) '$$d$$p' '$(DESTDIR)$(X11dir)/$$f'"; \ - $(dist_X11DATA_INSTALL) "$$d$$p" "$(DESTDIR)$(X11dir)/$$f"; \ - done - -uninstall-dist_X11DATA: - @$(NORMAL_UNINSTALL) - @list='$(dist_X11_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(X11dir)/$$f'"; \ - rm -f "$(DESTDIR)$(X11dir)/$$f"; \ - done - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ - fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) check-am -all-am: Makefile $(PROGRAMS) $(DATA) -installdirs: - for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(appmandir)" "$(DESTDIR)$(X11dir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -clean: clean-am - -clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: install-appmanDATA install-dist_X11DATA - -install-dvi: install-dvi-am - -install-exec-am: install-binPROGRAMS - -install-html: install-html-am - -install-info: install-info-am - -install-man: - -install-pdf: install-pdf-am - -install-ps: install-ps-am - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-appmanDATA uninstall-binPROGRAMS \ - uninstall-dist_X11DATA - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ - clean-generic clean-libtool ctags distclean distclean-compile \ - distclean-generic distclean-libtool distclean-tags distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-appmanDATA install-binPROGRAMS install-data \ - install-data-am install-dist_X11DATA install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ - pdf pdf-am ps ps-am tags uninstall uninstall-am \ - uninstall-appmanDATA uninstall-binPROGRAMS \ - uninstall-dist_X11DATA - - -.pre: - $(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < $< | $(CPP_SED_MAGIC) > $@ - -.man.pre.man: - $(RAWCPP) $(RAWCPPFLAGS) $(MANDEFS) $(EXTRAMANDEFS) < $< | $(CPP_SED_MAGIC) > $@ - -.man.$(APP_MAN_SUFFIX): - -rm -f $@ - $(LN_S) $< $@ -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/xorg-server/hw/xfree86/utils/xorgconfig/cards.c b/xorg-server/hw/xfree86/utils/xorgconfig/cards.c deleted file mode 100644 index 8116f0a03..000000000 --- a/xorg-server/hw/xfree86/utils/xorgconfig/cards.c +++ /dev/null @@ -1,278 +0,0 @@ -/* - * Functions to manipulate card database. - */ - -#include <stdlib.h> -#include <stdio.h> -#include <string.h> - -#include "cards.h" - -/* Some vars to make path names in texts more flexible. */ -#ifndef PROJECTROOT -# define PROJECTROOT "/usr" -#endif -#define TREEROOT PROJECTROOT -#define TREEROOTLX TREEROOT "/lib/X11" -#define TREEROOTCFG TREEROOT "/etc/X11" -#ifdef XDOCDIR -# define TREEROOTDOC XDOCDIR -#else -# define TREEROOTDOC TREEROOTLX "/doc" -#endif - -/* - * Database format: - * - * NAME <name of card> - * CHIPSET <chipset description> - * SERVER <server name> - * DRIVER <driver name> - * - * Optional keywords: - * RAMDAC <ramdac identifier> - * CLOCKCHIP <clockchip identifier> - * DACSPEED <dacspeed> - * NOCLOCKPROBE - * UNSUPPORTED - * - * SEE <name of card> refers to another card definition; parameters that - * are already defined are not overridden. - * - * <server name> is one of Mono, VGA16, SVGA, S3, Mach32, Mach8, 8514, - * P9000, AGX, W32. - * - * A useful additional keywords may be CLOCKS. - */ - - - -/* Database vars. */ - -int lastcard; - -Card card[MAX_CARDS]; - - -static int -getnextline(FILE *f, char *l) -{ - if (fgets(l, 128, f) == NULL) - return -1; - return 0; -} - -static void -appendstring(char **destp, char *src) -{ - char *newstr; - newstr = malloc(strlen(*destp) + strlen(src) + 1); - strcpy(newstr, *destp); - strcat(newstr, src); - if (strlen(*destp) > 0) - free(*destp); - *destp = newstr; -} - -int -lookupcard(char *name) { - int i; - for (i = 0; i <= lastcard; i++) - if (strcmp(name, card[i].name) == 0) - return i; - return -1; -} - -static char *s3_comment = -"# Use Option \"nolinear\" if the server doesn't start up correctly\n" -"# (this avoids the linear framebuffer probe). If that fails try\n" -"# option \"nomemaccess\".\n" -"#\n" -"# Refer to " TREEROOTDOC "/README.S3, and the XF86_S3 man page.\n"; - -static char *cirrus_comment = -"# Use Option \"no_bitblt\" if you have graphics problems. If that fails\n" -"# try Option \"noaccel\".\n" -"# Refer to " TREEROOTDOC "/README.cirrus.\n" -"# To allow linear addressing, uncomment the Option line and the\n" -"# address that the card maps the framebuffer to.\n"; - -int parse_database() { - FILE *f; - char buf[128]; - int i, lineno; - char filename[128]; - - strcpy(filename, CARD_DATABASE_FILE); - f = fopen(filename, "r"); - if (f == NULL) - return -1; - - lastcard = -1; - lineno = 0; - - for (;;) { - if (getnextline(f, buf)) - break; - lineno++; - if (buf[0] == '#') - /* Comment. */ - continue; - if (strncmp(buf, "END", 3) == 0) - /* End of database. */ - break; - if (strncmp(buf, "LINE", 4) == 0 && lastcard>=0) { - /* Line of Device comment. */ - /* Append to existing lines. */ - appendstring(&card[lastcard].lines, buf + 5); - continue; - } - /* - * The following keywords require the trailing newline - * to be deleted. - */ - i = strlen(buf); - buf[--i] = '\0'; - - /* remove trailing spaces or tabs */ - for(--i; i>=0 && (buf[i] == ' ' || buf[i] == '\011'); i--) ; - if (i>=0) - buf[i+1] = '\0'; - else - continue; /* skip empty lines */ - - if (strncmp(buf, "NAME", 4) == 0) { - /* New entry. */ - lastcard++; - card[lastcard].name = malloc(strlen(buf + 5) + 1); - strcpy(card[lastcard].name, buf + 5); - card[lastcard].chipset = NULL; - card[lastcard].server = NULL; - card[lastcard].driver = NULL; - card[lastcard].ramdac = NULL; - card[lastcard].clockchip = NULL; - card[lastcard].dacspeed = NULL; - card[lastcard].flags = 0; - card[lastcard].lines = ""; - continue; - } - if (lastcard < 0) /* no NAME line found yet */ - continue; - if (strncmp(buf, "SEE", 3) == 0) { - /* Reference to another entry. */ - int i; - i = lookupcard(buf + 4); - if (i == -1) { - printf("Error in database, invalid reference: %s.\n", - buf + 4); - free(card[lastcard].name); - lastcard--; - continue; - } - if (card[lastcard].chipset == NULL) - card[lastcard].chipset = card[i].chipset; - if (card[lastcard].server == NULL) - card[lastcard].server = card[i].server; - if (card[lastcard].driver == NULL) - card[lastcard].driver = card[i].driver; - if (card[lastcard].ramdac == NULL) - card[lastcard].ramdac = card[i].ramdac; - if (card[lastcard].clockchip == NULL) - card[lastcard].clockchip = card[i].clockchip; - if (card[lastcard].dacspeed == NULL) - card[lastcard].dacspeed = card[i].dacspeed; - card[lastcard].flags |= card[i].flags; - appendstring(&card[lastcard].lines, card[i].lines); - continue; - } - if (strncmp(buf, "CHIPSET", 7) == 0) { - /* Chipset description. */ - card[lastcard].chipset = malloc(strlen(buf + 8) + 1); - strcpy(card[lastcard].chipset, buf + 8); - continue; - } - if (strncmp(buf, "SERVER", 6) == 0) { - /* Server identifier. */ - card[lastcard].server = malloc(strlen(buf + 7) + 1); - strcpy(card[lastcard].server, buf + 7); - continue; - } - if (strncmp(buf, "DRIVER", 6) == 0) { - /* Driver identifier. */ - card[lastcard].driver = malloc(strlen(buf + 7) + 1); - strcpy(card[lastcard].driver, buf + 7); - continue; - } - if (strncmp(buf, "RAMDAC", 6) == 0) { - /* Ramdac indentifier. */ - card[lastcard].ramdac = malloc(strlen(buf + 7) + 1); - strcpy(card[lastcard].ramdac, buf + 7); - continue; - } - if (strncmp(buf, "CLOCKCHIP", 9) == 0) { - /* Clockchip indentifier. */ - card[lastcard].clockchip = malloc(strlen(buf + 10) + 1); - strcpy(card[lastcard].clockchip, buf + 10); - card[lastcard].flags |= NOCLOCKPROBE; - continue; - } - if (strncmp(buf, "DACSPEED", 8) == 0) { - /* Clockchip indentifier. */ - card[lastcard].dacspeed = malloc(strlen(buf + 9) + 1); - strcpy(card[lastcard].dacspeed, buf + 9); - continue; - } - if (strncmp(buf, "NOCLOCKPROBE", 12) == 0) { - card[lastcard].flags |= NOCLOCKPROBE; - continue; - } - if (strncmp(buf, "UNSUPPORTED", 12) == 0) { - card[lastcard].flags |= UNSUPPORTED; - continue; - } - /* test for missing required fields */ - if (card[lastcard].driver == NULL) { - fprintf(stderr, "Warning DRIVER specification missing " - "in Card database entry %s (line %d).\n", - card[lastcard].name, lineno); - keypress(); - card[lastcard].driver = "unknown"; - } - if (card[lastcard].chipset == NULL) { - fprintf(stderr, "Warning CHIPSET specification missing " - "in Card database entry %s (line %d).\n", - card[lastcard].name, lineno); - keypress(); - card[lastcard].chipset = "unknown"; - } - } - - fclose(f); - - /* - * Add general comments. - */ - for (i = 0; i <= lastcard; i++) { - if (card[i].server && strcmp(card[i].server, "S3") == 0) - appendstring(&card[i].lines, s3_comment); - if (card[i].chipset && - strncmp(card[i].chipset, "CL-GD", 5) == 0) - appendstring(&card[i].lines, cirrus_comment); - } - - sort_database(); - - return 0; -} - -static int -compare_card(const void *e1, const void *e2) -{ - return strcmp(((Card *)e1)->name, ((Card *)e2)->name); -} - -void -sort_database() { - /* Each element is a bunch of words, but nothing too bad. */ - qsort(card, lastcard + 1, sizeof(Card), compare_card); -} diff --git a/xorg-server/hw/xfree86/utils/xorgconfig/cards.h b/xorg-server/hw/xfree86/utils/xorgconfig/cards.h deleted file mode 100644 index 7e1438db8..000000000 --- a/xorg-server/hw/xfree86/utils/xorgconfig/cards.h +++ /dev/null @@ -1,30 +0,0 @@ -#ifndef CARD_DATABASE_FILE -#define CARD_DATABASE_FILE "Cards" -#endif - -#define MAX_CARDS 1000 - -typedef struct { - char *name; /* Name of the card. */ - char *chipset; /* Chipset (decriptive). */ - char *server; /* Server identifier. */ - char *driver; /* Driver identifier. */ - char *ramdac; /* Ramdac identifier. */ - char *clockchip; /* Clockchip identifier. */ - char *dacspeed; /* DAC speed rating. */ - int flags; - char *lines; /* Additional Device section lines. */ -} Card; - -/* Flags: */ -#define NOCLOCKPROBE 0x1 /* Never probe clocks of the card. */ -#define UNSUPPORTED 0x2 /* Card is not supported (only VGA). */ - -extern int lastcard; - -extern Card card[MAX_CARDS]; - -extern int lookupcard ( char *name ); -extern int parse_database ( void ); -extern void sort_database ( void ); -extern void keypress ( void ); diff --git a/xorg-server/hw/xfree86/utils/xorgconfig/xorgconfig.c b/xorg-server/hw/xfree86/utils/xorgconfig/xorgconfig.c deleted file mode 100644 index 30eb83182..000000000 --- a/xorg-server/hw/xfree86/utils/xorgconfig/xorgconfig.c +++ /dev/null @@ -1,2890 +0,0 @@ -/* - * This is a configuration program that will create a base XF86Config - * file based on menu choices. Its main feature is that clueless users - * may be less inclined to select crazy sync rates way over monitor spec, - * by presenting a menu with standard monitor types. Also some people - * don't read docs unless an executable that they can run tells them to. - * - * It assumes a 24-line or bigger text console. - * - * Revision history: - * 25Sep94 Initial version. - * 27Sep94 Fix hsync range of monitor types to match with best possible mode. - * Remove 'const'. - * Tweak descriptions. - * 28Sep94 Fixes from J"org Wunsch: - * Don't use gets(). - * Add mouse device prompt. - * Fix lines overrun for 24-line console. - * Increase buffer size for probeonly output. - * 29Sep94 Fix bad bug with old XF86Config preserving during probeonly run. - * Add note about vertical refresh in interlaced modes. - * Name gets() replacement getstring(). - * Add warning about binary paths. - * Fixes from David Dawes: - * Don't use 'ln -sf'. - * Omit man path reference in comment. - * Generate only a generic 320x200 SVGA section for accel cards. - * Only allow writing to /usr/X11R6/lib/X11 if root, and use - * -xf86config for the -probeonly phase (root only). - * Fix bug that forces screen type to accel in some cases. - * 30Sep94 Continue after clocks probe fails. - * Note about programmable clocks. - * Rename to 'xf86config'. Not to be confused with XF86Config - * or the -xf86config option. - * 07Oct94 Correct hsync in standard mode timings comments, and include - * the proper +/-h/vsync flags. - * 11Oct94 Skip 'numclocks:' and 'pixel clocks:' lines when probing for - * clocks. - * 18Oct94 Add check for existence of /usr/X11R6. - * Add note about ctrl-alt-backspace. - * 06Nov94 Add comment above standard mode timings in XF86Config. - * 24Dec94 Add low-resolution modes using doublescan. - * 29Dec94 Add note in horizontal sync range selection. - * Ask about ClearDTR/RTS option for Mouse Systems mice. - * Ask about writing to /etc/XF86Config. - * Allow link to be set in /var/X11R6/bin. - * Note about X -probeonly crashing. - * Add keyboard Alt binding option for non-ASCII characters. - * Add card database selection. - * Write temporary XF86Config for clock probing in /tmp instead - * of /usr/X11R6/lib/X11. - * Add RAMDAC and Clockchip menu. - * 27Mar99 Modified for XFree86 4.0 config file format - * 06Sep02 Write comment block about 'DontVTSwitch'. - * - * Possible enhancements: - * - Add more standard mode timings (also applies to README.Config). Missing - * are 1024x768 @ 72 Hz, 1152x900 modes, and 1280x1024 @ ~70 Hz. - * I suspect there is a VESA standard for 1024x768 @ 72 Hz with 77 MHz dot - * clock, and 1024x768 @ 75 Hz with 78.7 MHz dot clock. New types of - * monitors probably work better with VESA 75 Hz timings. - * - Add option for creation of clear, minimal XF86Config. - * - The card database doesn't include most of the entries in previous - * databases. - * - * Send comments to H.Hanemaayer@inter.nl.net. - * - * Things to keep up-to-date: - * - Accelerated server names. - * - Ramdac and Clockchip settings. - * - The card database. - * - */ -/* Oct2000 - * New 'Configuration of XKB' section. - * Author: Ivan Pascal The XFree86 Project. - */ -/* - * Nov2002 - * Some enhancements: - * - Add new PS/2 mouse protocol. - * "IMPS/2","ExplorerPS/2","ThinkingMousePS/2","MouseManPlusPS/2", - * "GlidePointPS/2","NetMousePS/2" and "NetScrollPS/2". - * - Add mouse-speed setting for PS/2 mouse. - * - Fix seg.fault problem on Solaris. - * - Add modestring "1400x1050"(for ATI Mobile-Rage). - * - Add videomemory 8192, 16384, 32768, 65536, 131072 and 262144. - * - Ready to DRI. - * - Load xtt module instead of freetype module. - * - Add font path "/TrueType/" and "/freefont/". - * Chisato Yamauchi(cyamauch@phyas.aichi-edu.ac.jp) - */ - -#ifdef HAVE_CONFIG_H -# include "xorg-server.h" -# include "xkb-config.h" -#endif - -#include <stdlib.h> -#include <stdio.h> -#include <ctype.h> -#include <string.h> -#include <unistd.h> -#include <errno.h> -#include <sys/types.h> -#include <sys/stat.h> - -#include <X11/Xlib.h> -#include <X11/extensions/XKBstr.h> -#include <X11/extensions/XKBrules.h> -#define MAX_XKBOPTIONS 5 - -#include "cards.h" - - -/* - * Define the following to 310 to remove references to XFree86 features that - * have been added since XFree86 3.1 (e.g. DoubleScan modes). - * or to 311 to remove certain new modelines - */ -#define XFREE86_VERSION 400 - -/* - * Define this to have /etc/X11/XF86Config prompted for as the default - * location to write the XF86Config file to. - */ -#define PREFER_XF86CONFIG_IN_ETC - -/* - * Define this to force the user to go through XKB configuration section. - * - */ -#define FORCE_XKB_DIALOG - -/* - * Configuration variables. - */ - -#define MAX_CLOCKS_LINES 16 - -#define DUMBCONFIG2 "dumbconfig.2" -#define DUMBCONFIG3 "dumbconfig.3" - -/* some more vars to make path names in texts more flexible. OS/2 users - * may be more irritated than Unix users - */ -#ifndef PROJECTROOT -#define PROJECTROOT "/usr" -#endif -#define TREEROOT PROJECTROOT -#define TREEROOTLX TREEROOT "/lib/X11" -#define TREEROOTCFG TREEROOT "/etc/X11" -#define TREEROOTSHARE TREEROOT "/share/X11" -#ifdef XDOCDIR -# define TREEROOTDOC XDOCDIR -#else -# define TREEROOTDOC TREEROOTLX "/doc" -#endif -#ifdef XFONTDIR -# define TREEROOTFONT XFONTDIR -#else -# define TREEROOTFONT TREEROOTLX "/fonts" -#endif -#define MODULEPATH TREEROOT "/lib/modules" - -#define XSERVERNAME_FOR_PROBE "X" - -#ifndef XCONFIGFILE -#define XCONFIGFILE "xorg.conf" -#endif -#define CONFIGNAME XCONFIGFILE - -/* - * This is the filename of the temporary XF86Config file that is written - * when the program is told to probe clocks (which can only happen for - * root). - */ -#define TEMPORARY_XF86CONFIG_DIR_PREFIX "/tmp/."XCONFIGFILE -#define TEMPORARY_XF86CONFIG_FILENAME XCONFIGFILE".tmp" - -#ifndef XF86_VERSION_MAJOR -#ifdef XVERSION -#if XVERSION > 40000000 -#define XF86_VERSION_MAJOR (XVERSION / 10000000) -#else -#define XF86_VERSION_MAJOR (XVERSION / 1000) -#endif -#else -#define XF86_VERSION_MAJOR 4 -#endif -#endif - - -int config_mousetype; /* Mouse. */ -int config_emulate3buttons; -int config_chordmiddle; -int config_cleardtrrts; -char *config_pointerdevice; -int config_altmeta; /* Keyboard. */ -int config_monitortype; /* Monitor. */ -char *config_hsyncrange; -char *config_vsyncrange; -char *config_monitoridentifier; -int config_videomemory; /* Video card. */ -int config_screentype; /* mono, vga16, svga, accel */ -char *config_deviceidentifier; -int config_numberofclockslines; -char *config_clocksline[MAX_CLOCKS_LINES]; -char *config_modesline8bpp; -char *config_modesline16bpp; -char *config_modesline24bpp; -int config_virtual; /* 1 (yes) or 0 (no) */ -int config_virtualx8bpp, config_virtualy8bpp; -int config_virtualx16bpp, config_virtualy16bpp; -int config_virtualx24bpp, config_virtualy24bpp; -char *config_ramdac; -char *config_dacspeed; -char *config_clockchip; -#if defined(__OpenBSD__) && defined(WSCONS_SUPPORT) && !defined(PCVT_SUPPORT) -char *config_keyboard_dev = "/dev/wskbd0"; -#endif -int config_xkbdisable = 0; -char *config_xkbrules; -char *config_xkbmodel = "pc105"; -char *config_xkblayout = "us"; -char *config_xkbvariant = (char *) 0; -char *config_xkboptions = (char *) 0; -char *config_depth; - -char *temp_dir = ""; - -/* - * These are from the selected card definition. Parameters from the - * definition are offered during the questioning about the video card. - */ - -int card_selected; /* Card selected from database. */ - - -static int write_XF86Config(char *filename); - - -/* - * This is the initial intro text that appears when the program is started. - */ - -static char *intro_text = -"\n" -"This program will create a basic " CONFIGNAME " file, based on menu selections\n" -"you make. It will ask for a pathname when it is ready to write the file.\n" -"\n" -"The " CONFIGNAME " file usually resides in /etc/X11 or " TREEROOTCFG ". If\n" -"no " CONFIGNAME " file is present there, " __XSERVERNAME__" will probe the system to\n" -"autoconfigure itself. You can run " __XSERVERNAME__ " -configure to generate a " CONFIGNAME "\n" -"file based on the results of autoconfiguration, or let this program\n" -"produce a base " CONFIGNAME " file for your configuration, and fine-tune it.\n" -"A sample " CONFIGNAME " file is also supplied with "__XSERVERNAME__"; it is configured \n" -"for a standard VGA card and monitor with 640x480 resolution.\n" -"\n" -"There are also many chipset and card-specific options and settings available,\n" -"but this program does not know about these. On some configurations some of\n" -"these settings must be specified. Refer to the X driver man pages and the\n" -"chipset-specific READMEs in " TREEROOTDOC " for further details.\n" -#if 0 -" Refer to " TREEROOTDOC "/README.Config\n" -"for a detailed overview of the configuration process.\n" -"\n" -"(what should we change this section to?)\n" -"For accelerated servers (including accelerated drivers in the SVGA server),\n" -"there are many chipset and card-specific options and settings. This program\n" -"does not know about these. On some configurations some of these settings must\n" -"be specified. Refer to the server man pages and chipset-specific READMEs.\n" -#endif -"\n" -"Before continuing with this program, make sure you know what video card\n" -"you have, and preferably also the chipset it uses and the amount of video\n" -"memory on your video card, as well as the specifications of your monitor.\n" -"\n" -; - -static char *finalcomment_text = -"File has been written. Take a look at it before starting an X server. Note that\n" -"the " CONFIGNAME " file must be in one of the directories searched by the server\n" -"(e.g. /etc/X11) in order to be used. Within the server press\n" -"ctrl, alt and '+' simultaneously to cycle video resolutions. Pressing ctrl,\n" -"alt and backspace simultaneously immediately exits the server (use if\n" -"the monitor doesn't sync for a particular mode).\n" -"\n" -"For further configuration, refer to the " XCONFIGFILE "(" FILEMANSUFFIX ") manual page.\n" -"\n"; - -static void * -Malloc(int i) { - void *p; - - p = malloc(i); - if (p == NULL) { - printf("Fatal malloc error\n"); - exit(-1); - } - return p; -} - -static char * -Strdup(const char *s){ - char *d; - - d = Malloc(strlen(s) + 1); - strcpy(d, s); - return d; -} - -static void -createtmpdir(void) { - /* length of prefix + 20 (digits in 2**64) + 1 (slash) + 1 */ - temp_dir = Malloc(strlen(TEMPORARY_XF86CONFIG_DIR_PREFIX) + 22); - sprintf(temp_dir, "%s%ld", TEMPORARY_XF86CONFIG_DIR_PREFIX, - (long)getpid()); - if (mkdir(temp_dir, 0700) != 0) { - printf("Cannot create directory %s\n", temp_dir); - exit(-1); - } - /* append a slash */ - strcat(temp_dir, "/"); -} - - -void -keypress(void) { - printf("Press enter to continue, or ctrl-c to abort."); - getchar(); - printf("\n"); -} - -static void -emptylines(void) { - int i; - for (i = 0; i < 50; i++) - printf("\n"); -} - -static int -answerisyes(char *s) -{ - if (s[0] == '\'') /* For fools that type the ' literally. */ - return tolower(s[1]) == 'y'; - return tolower(s[0]) == 'y'; -} - -/* - * This is a replacement for gets(). Limit is 80 chars. - * The 386BSD descendants scream about using gets(), for good reason. - */ - -static void -getstring(char *s) -{ - char *cp; - if (fgets(s, 80, stdin) == NULL) - exit(1); - cp = strchr(s, '\n'); - if (cp) - *cp=0; -} - -/* - * Mouse configuration. - */ - -int M_OSMOUSE, M_WSMOUSE, M_AUTO, - M_SYSMOUSE, M_MOUSESYSTEMS, M_PS2, - M_MICROSOFT, M_BUSMOUSE, M_IMPS2, - M_EXPLORER_PS2, M_GLIDEPOINT_PS2, M_MOUSEMANPLUS_PS2, - M_NETMOUSE_PS2, M_NETSCROLL_PS2, M_THINKINGMOUSE_PS2, - M_ACECAD, M_GLIDEPOINT, M_INTELLIMOUSE, - M_LOGITECH, M_MMHITTAB, M_MMSERIES, - M_MOUSEMAN, M_THINKINGMOUSE, M_VUID; - -struct { - char *name; - int *ident; - char *desc; -} mouse_info[] = { -#if defined(QNX4) -#define DEF_PROTO_STRING "OSMOUSE" - {"OSMOUSE", &M_OSMOUSE, - "OSMOUSE" - }, -#endif -#ifdef WSCONS_SUPPORT -#define WS_MOUSE_STRING "wsmouse" -#define DEF_PROTO_STRING WS_MOUSE_STRING - {WS_MOUSE_STRING, &M_WSMOUSE, - "wsmouse protocol" - }, -#endif -#ifndef DEF_PROTO_STRING -#define DEF_PROTO_STRING "Auto" -#endif - {"Auto", &M_AUTO, - "Auto detect" - }, -#ifdef sun - {"VUID", &M_VUID, - "Solaris VUID protocol (SPARC, USB, or virtual mouse)" - }, -#endif - {"SysMouse", &M_SYSMOUSE, - "SysMouse" - }, -#define M_MOUSESYSTEMS_STRING "MouseSystems" - {M_MOUSESYSTEMS_STRING, &M_MOUSESYSTEMS, - "Mouse Systems (3-button protocol)" - }, - {"PS/2", &M_PS2, - "PS/2 Mouse" - }, -#define M_MICROSOFT_STRING "Microsoft" - {M_MICROSOFT_STRING, &M_MICROSOFT, - "Microsoft compatible (2-button protocol)" - }, - {"Busmouse", &M_BUSMOUSE, - "Bus Mouse" - }, -#ifndef __FreeBSD__ - {"IMPS/2", &M_IMPS2, - "IntelliMouse PS/2" - }, - {"ExplorerPS/2", &M_EXPLORER_PS2, - "Explorer PS/2" - }, - {"GlidePointPS/2", &M_GLIDEPOINT_PS2, - "GlidePoint PS/2" - }, - {"MouseManPlusPS/2", &M_MOUSEMANPLUS_PS2, - "MouseManPlus PS/2" - }, - {"NetMousePS/2", &M_NETMOUSE_PS2, - "NetMouse PS/2" - }, - {"NetScrollPS/2", &M_NETSCROLL_PS2, - "NetScroll PS/2" - }, - {"ThinkingMousePS/2", &M_THINKINGMOUSE_PS2, - "ThinkingMouse PS/2" - }, -#endif - {"AceCad", &M_ACECAD, - "AceCad" - }, - {"GlidePoint", &M_GLIDEPOINT, - "GlidePoint" - }, - {"IntelliMouse", &M_INTELLIMOUSE, - "Microsoft IntelliMouse" - }, - {"Logitech", &M_LOGITECH, - "Logitech Mouse (serial, old type, Logitech protocol)" - }, - {"MMHitTab", &M_MMHITTAB, - "MM HitTablet" - }, - {"MMSeries", &M_MMSERIES, - "MM Series" /* XXXX These descriptions should be improved. */ - }, - {"MouseMan", &M_MOUSEMAN, - "Logitech MouseMan (Microsoft compatible)" - }, - {"ThinkingMouse", &M_THINKINGMOUSE, - "ThinkingMouse" - }, -}; - -#ifdef WSCONS_SUPPORT -# define DEF_MOUSEDEV "/dev/wsmouse"; -#elif defined(__FreeBSD__) || defined(__DragonFly__) -# define DEF_MOUSEDEV "/dev/sysmouse"; -#elif defined(__linux__) -# define DEF_MOUSEDEV "/dev/input/mice"; -#else -# define DEF_MOUSEDEV "/dev/mouse"; -#endif - -static char *mouseintro_text = -"First specify a mouse protocol type. Choose one from the following list:\n" -"\n"; - -static char *mousedev_text = -"Now give the full device name that the mouse is connected to, for example\n" -"/dev/tty00. Just pressing enter will use the default, %s.\n" -"\n"; - -static char *mousecomment_text = -"The recommended protocol is " DEF_PROTO_STRING ". If you have a very old mouse\n" -"or don't want OS support or auto detection, and you have a two-button\n" -"or three-button serial mouse, it is most likely of type " M_MICROSOFT_STRING ".\n" -#ifdef WSCONS_SUPPORT -"\n" -"If your system uses the wscons console driver, with a PS/2 type mouse,\n" -"select " WS_MOUSE_STRING ".\n" -#endif -"\n"; - -static char *twobuttonmousecomment_text = -"You have selected a two-button mouse protocol. It is recommended that you\n" -"enable Emulate3Buttons.\n"; - -static char *threebuttonmousecomment_text = -"You have selected a three-button mouse protocol. It is recommended that you\n" -"do not enable Emulate3Buttons, unless the third button doesn't work.\n"; - -static char *unknownbuttonsmousecomment_text = -"If your mouse has only two buttons, it is recommended that you enable\n" -"Emulate3Buttons.\n"; - -static char *microsoftmousecomment_text = -"You have selected a Microsoft protocol mouse. If your mouse was made by\n" -"Logitech, you might want to enable ChordMiddle which could cause the\n" -"third button to work.\n"; - -static char *mousesystemscomment_text = -"You have selected a Mouse Systems protocol mouse. If your mouse is normally\n" -"in Microsoft-compatible mode, enabling the ClearDTR and ClearRTS options\n" -"may cause it to switch to Mouse Systems mode when the server starts.\n"; - -static char *logitechmousecomment_text = -"You have selected a Logitech protocol mouse. This is only valid for old\n" -"Logitech mice.\n"; - -static char *mousemancomment_text = -"You have selected a Logitech MouseMan type mouse. You might want to enable\n" -"ChordMiddle which could cause the third button to work.\n"; - -static void -mouse_configuration(void) { - -#if !defined(QNX4) - int i, j; - char s[80]; - char *def_mousedev = DEF_MOUSEDEV; - -#define MOUSETYPE_COUNT sizeof(mouse_info)/sizeof(mouse_info[0]) - for (i = 0; i < MOUSETYPE_COUNT; i++) - *(mouse_info[i].ident) = i; - - for (i=0;;) { - emptylines(); - printf("%s", mouseintro_text); - for (j = i; j < i + 14 && j < MOUSETYPE_COUNT; j++) - printf("%2d. %s [%s]\n", j + 1, - mouse_info[j].name, mouse_info[j].desc); - printf("\n"); - printf("%s", mousecomment_text); - printf("Enter a protocol number: "); - getstring(s); - if (strlen(s) == 0) { - i += 14; - if (i >= MOUSETYPE_COUNT) - i = 0; - continue; - } - config_mousetype = atoi(s) - 1; - if (config_mousetype >= 0 && config_mousetype < MOUSETYPE_COUNT) - break; - } - printf("\n"); - - if (config_mousetype == M_LOGITECH) { - /* Logitech. */ - printf("%s", logitechmousecomment_text); - printf("\n"); - printf("Please answer the following question with either 'y' or 'n'.\n"); - printf("Are you sure it's really not a Microsoft compatible one? "); - getstring(s); - if (!answerisyes(s)) - config_mousetype = M_MICROSOFT; - printf("\n"); - } - - config_chordmiddle = 0; - if (config_mousetype == M_MICROSOFT || config_mousetype == M_MOUSEMAN) { - /* Microsoft or MouseMan. */ - if (config_mousetype == M_MICROSOFT) - printf("%s", microsoftmousecomment_text); - else - printf("%s", mousemancomment_text); - printf("\n"); - printf("Please answer the following question with either 'y' or 'n'.\n"); - printf("Do you want to enable ChordMiddle? "); - getstring(s); - if (answerisyes(s)) - config_chordmiddle = 1; - printf("\n"); - } - - config_cleardtrrts = 0; - if (config_mousetype == M_MOUSESYSTEMS) { - /* Mouse Systems. */ - printf("%s", mousesystemscomment_text); - printf("\n"); - printf("Please answer the following question with either 'y' or 'n'.\n"); - printf("Do you want to enable ClearDTR and ClearRTS? "); - getstring(s); - if (answerisyes(s)) - config_cleardtrrts = 1; - printf("\n"); - } - - if (config_mousetype == M_MICROSOFT) { - if (config_chordmiddle) - printf("%s", threebuttonmousecomment_text); - else - printf("%s", twobuttonmousecomment_text); - } - else if (config_mousetype == M_MOUSESYSTEMS || - config_mousetype == M_INTELLIMOUSE) { - printf("%s", threebuttonmousecomment_text); - } - else { - printf("%s", unknownbuttonsmousecomment_text); - } - - printf("\n"); - - printf("Please answer the following question with either 'y' or 'n'.\n"); - printf("Do you want to enable Emulate3Buttons? "); - getstring(s); - if (answerisyes(s)) - config_emulate3buttons = 1; - else - config_emulate3buttons = 0; - printf("\n"); - -#if (defined(sun) && (defined(__i386) || defined(__x86))) - /* SPARC & USB mice (VUID or AUTO protocols) default to /dev/mouse, - but PS/2 mice default to /dev/kdmouse */ - if ((config_mousetype != M_AUTO) && (config_mousetype != M_VUID)) { - def_mousedev = "/dev/kdmouse"; - } -#endif - - printf(mousedev_text, def_mousedev); - printf("Mouse device: "); - getstring(s); - if (strlen(s) == 0) { - config_pointerdevice = def_mousedev; - } else { - config_pointerdevice = Malloc(strlen(s) + 1); - strcpy(config_pointerdevice, s); - } - printf("\n"); - -#else - /* set some reasonable defaults for OS/2 */ - config_mousetype = M_OSMOUSE; - config_chordmiddle = 0; - config_cleardtrrts = 0; - config_emulate3buttons = 0; - config_pointerdevice = "QNXMOUSE"; -#endif -} - - -/* - * Keyboard configuration. - */ - -/* - * Configuration of XKB - */ -static char *xkbmodeltext = -"Please select one of the following keyboard types that is the better\n" -"description of your keyboard. If nothing really matches,\n" -"choose \"Generic 104-key PC\"\n\n"; - -static char *xkblayouttext = -"Please select the layout corresponding to your keyboard\n"; - -static char *xkbvarianttext = -"Please enter a variant name for '%s' layout. Or just press enter\n" -"for default variant\n\n"; - -static char *xkboptionstext = -"Please answer the following question with either 'y' or 'n'.\n" -"Do you want to select additional XKB options (group switcher,\n" -"group indicator, etc.)? "; - -#if defined(__OpenBSD__) && defined(WSCONS_SUPPORT) && !defined(PCVT_SUPPORT) -static char *kbdevtext = -"Please enter the device name for your keyboard or just press enter\n" -"for the default of wskbd0\n\n"; -#endif - -static void -keyboard_configuration(void) -{ - int i, j; - char s[80]; - char *rulesfile; - int number, options[MAX_XKBOPTIONS], num_options; - XkbRF_RulesPtr rules; - -#if defined(__OpenBSD__) && defined(WSCONS_SUPPORT) && !defined(PCVT_SUPPORT) - printf(kbdevtext); - getstring(s); - if (strlen(s) != 0) { - config_keyboard_dev = Malloc(strlen(s) + 1); - strcpy(config_keyboard_dev, s); - } -#endif - -#ifndef XKB_RULES_DIR -# define XKB_RULES_DIR XKB_BASE_DIRECTORY "/rules" -#endif - -#ifdef XFREE98_XKB - config_xkbrules = "xfree98"; /* static */ - rulesfile = XKB_RULES_DIR "/xfree98"; -#else - config_xkbrules = __XKBDEFRULES__; /* static */ - rulesfile = XKB_RULES_DIR "/" __XKBDEFRULES__; -#endif - - rules = XkbRF_Load(rulesfile, "", True, False); - emptylines(); - - if (!rules) { - printf("XKB rules file '%s' not found\n", rulesfile); - printf("Keyboard XKB options will be set to default values.\n"); - keypress(); - return; - } - - number = -1; - for (i=0;;) { - emptylines(); - printf(xkbmodeltext); - for (j = i; j < i + 16 && j < rules->models.num_desc; j++) - printf("%3d %-50s\n", j+1, rules->models.desc[j].desc); - printf("\nEnter a number to choose the keyboard.\n\n"); - if (rules->models.num_desc >= 16) - printf("Press enter for the next page\n"); - getstring(s); - if (strlen(s) == 0) { - i += 16; - if (i > rules->models.num_desc) - i = 0; - continue; - } - number = atoi(s) - 1; - if (number >= 0 && number < rules->models.num_desc) - break; - } - - i = strlen(rules->models.desc[number].name) + 1; - config_xkbmodel = Malloc(i); - sprintf(config_xkbmodel,"%s", rules->models.desc[number].name); - - emptylines(); - printf(xkblayouttext); - - number = -1; - for (i=0;;) { - emptylines(); - for (j = i; j < i + 18 && j < rules->layouts.num_desc; j++) - printf("%3d %-50s\n", j+1, - rules->layouts.desc[j].desc); - printf("\n"); - printf("Enter a number to choose the country.\n"); - if (rules->layouts.num_desc >= 18) - printf("Press enter for the next page\n"); - printf("\n"); - getstring(s); - if (strlen(s) == 0) { - i += 18; - if (i > rules->layouts.num_desc) - i = 0; - continue; - } - number = atoi(s) - 1; - if (number >= 0 && number < rules->layouts.num_desc) - break; - } - config_xkblayout = Malloc(strlen(rules->layouts.desc[number].name)+1); - sprintf(config_xkblayout,"%s", rules->layouts.desc[number].name); - - emptylines(); - printf(xkbvarianttext, config_xkblayout); - getstring(s); - if (strlen(s) != 0) { - config_xkbvariant = Malloc(strlen(s) + 1); - strcpy(config_xkbvariant, s); - } - - emptylines(); - printf(xkboptionstext); - getstring(s); - if (!answerisyes(s)) - return; - - num_options = 0; - for (j=0,i=0;;) { - if (!strchr(rules->options.desc[i].name, ':')) { - emptylines(); - printf(" %s\n\n", rules->options.desc[i].desc); - j = i; - } else { - printf("%3d %-50s\n", i - j, rules->options.desc[i].desc); - } - i++; - if ( i == rules->options.num_desc || - !strchr(rules->options.desc[i].name, ':')) { - printf("\nPlease select the option or just press enter if none\n"); - getstring(s); - if (strlen(s) != 0) { - number = atoi(s); - if (number && (num_options < MAX_XKBOPTIONS)) { - options[num_options++] = number + j; - } - } - } - if (i == rules->options.num_desc) - break; - } - - if (!num_options) - return; - - for (j=0,i=0; i<num_options; i++) { - j += strlen(rules->options.desc[options[i]].name); - } - config_xkboptions = Malloc(j + num_options); - for (j=0,i=0; i<num_options; i++) { - j += sprintf(config_xkboptions+j,"%s%s", - i == 0 ? "": "," ,rules->options.desc[options[i]].name); - } - return; -} - - - -/* - * Monitor configuration. - */ - -static char *monitorintro_text = -"Now we want to set the specifications of the monitor. The two critical\n" -"parameters are the vertical refresh rate, which is the rate at which the\n" -"the whole screen is refreshed, and most importantly the horizontal sync rate,\n" -"which is the rate at which scanlines are displayed.\n" -"\n" -"The valid range for horizontal sync and vertical sync should be documented\n" -"in the manual of your monitor.\n" -"\n"; - -static char *hsyncintro_text = -"You must indicate the horizontal sync range of your monitor. You can either\n" -"select one of the predefined ranges below that correspond to industry-\n" -"standard monitor types, or give a specific range.\n" -"\n" -"It is VERY IMPORTANT that you do not specify a monitor type with a horizontal\n" -"sync range that is beyond the capabilities of your monitor. If in doubt,\n" -"choose a conservative setting.\n" -"\n"; - -static char *customhsync_text = -"Please enter the horizontal sync range of your monitor, in the format used\n" -"in the table of monitor types above. You can either specify one or more\n" -"continuous ranges (e.g. 15-25, 30-50), or one or more fixed sync frequencies.\n" -"\n"; - -static char *vsyncintro_text = -"You must indicate the vertical sync range of your monitor. You can either\n" -"select one of the predefined ranges below that correspond to industry-\n" -"standard monitor types, or give a specific range. For interlaced modes,\n" -"the number that counts is the high one (e.g. 87 Hz rather than 43 Hz).\n" -"\n" -" 1 50-70\n" -" 2 50-90\n" -" 3 50-100\n" -" 4 40-150\n" -" 5 Enter your own vertical sync range\n"; - -static char *monitordescintro_text = -"You must now enter a few identification/description strings, namely an\n" -"identifier, a vendor name, and a model name. Just pressing enter will fill\n" -"in default names.\n" -"\n"; - -#define NU_MONITORTYPES 10 - -static char *monitortype_range[NU_MONITORTYPES] = { - "31.5", - "31.5 - 35.1", - "31.5, 35.5", - "31.5, 35.15, 35.5", - "31.5 - 37.9", - "31.5 - 48.5", - "31.5 - 57.0", - "31.5 - 64.3", - "31.5 - 79.0", - "31.5 - 82.0" -}; - -static char *monitortype_name[NU_MONITORTYPES] = { - "Standard VGA, 640x480 @ 60 Hz", - "Super VGA, 800x600 @ 56 Hz", - "8514 Compatible, 1024x768 @ 87 Hz interlaced (no 800x600)", - "Super VGA, 1024x768 @ 87 Hz interlaced, 800x600 @ 56 Hz", - "Extended Super VGA, 800x600 @ 60 Hz, 640x480 @ 72 Hz", - "Non-Interlaced SVGA, 1024x768 @ 60 Hz, 800x600 @ 72 Hz", - "High Frequency SVGA, 1024x768 @ 70 Hz", - "Monitor that can do 1280x1024 @ 60 Hz", - "Monitor that can do 1280x1024 @ 74 Hz", - "Monitor that can do 1280x1024 @ 76 Hz" -}; - -static void -monitor_configuration(void) { - int i; - char s[80]; - printf("%s", monitorintro_text); - - keypress(); - emptylines(); - - printf("%s", hsyncintro_text); - - printf(" hsync in kHz; monitor type with characteristic modes\n"); - for (i = 0; i < NU_MONITORTYPES; i++) - printf("%2d %s; %s\n", i + 1, monitortype_range[i], - monitortype_name[i]); - - printf("%2d Enter your own horizontal sync range\n", - NU_MONITORTYPES + 1); - printf("\n"); - - printf("Enter your choice (1-%d): ", NU_MONITORTYPES + 1); - getstring(s); - config_monitortype = atoi(s) - 1; - if (config_monitortype < 0) - config_monitortype = 0; - - printf("\n"); - - if (config_monitortype < NU_MONITORTYPES) - config_hsyncrange = monitortype_range[config_monitortype]; - else { - /* Custom hsync range option selected. */ - printf("%s", customhsync_text); - printf("Horizontal sync range: "); - getstring(s); - config_hsyncrange = Malloc(strlen(s) + 1); - strcpy(config_hsyncrange, s); - printf("\n"); - } - - printf("%s", vsyncintro_text); - printf("\n"); - - printf("Enter your choice: "); - getstring(s); - printf("\n"); - switch (atoi(s)) { - case 0 : - case 1 : - config_vsyncrange = "50-70"; - break; - case 2 : - config_vsyncrange = "50-90"; - break; - case 3 : - config_vsyncrange = "50-100"; - break; - case 4 : - config_vsyncrange = "40-150"; - break; - case 5 : - /* Custom vsync range option selected. */ - printf("Vertical sync range: "); - getstring(s); - config_vsyncrange = Malloc(strlen(s) + 1); - strcpy(config_vsyncrange, s); - printf("\n"); - break; - } - printf("%s", monitordescintro_text); - printf("The strings are free-form, spaces are allowed.\n"); - printf("Enter an identifier for your monitor definition: "); - getstring(s); - if (strlen(s) == 0) - config_monitoridentifier = "My Monitor"; - else { - config_monitoridentifier = Malloc(strlen(s) + 1); - strcpy(config_monitoridentifier, s); - } -} - - -/* - * Card database. - */ - -static char *cardintro_text = -"Now we must configure video card specific settings. At this point you can\n" -"choose to make a selection out of a database of video card definitions.\n" -"Because there can be variation in Ramdacs and clock generators even\n" -"between cards of the same model, it is not sensible to blindly copy\n" -"the settings (e.g. a Device section). For this reason, after you make a\n" -"selection, you will still be asked about the components of the card, with\n" -"the settings from the chosen database entry presented as a strong hint.\n" -"\n" -"The database entries include information about the chipset, what driver to\n" -"run, the Ramdac and ClockChip, and comments that will be included in the\n" -"Device section. However, a lot of definitions only hint about what driver\n" -"to run (based on the chipset the card uses) and are untested.\n" -"\n" -"If you can't find your card in the database, there's nothing to worry about.\n" -"You should only choose a database entry that is exactly the same model as\n" -"your card; choosing one that looks similar is just a bad idea (e.g. a\n" -"GemStone Snail 64 may be as different from a GemStone Snail 64+ in terms of\n" -"hardware as can be).\n" -"\n"; - -static char *cardunsupported_text = -"This card is basically UNSUPPORTED. It may only work as a generic\n" -"VGA-compatible card. If you have an "__XSERVERNAME__" version more recent than what\n" -"this card definition was based on, there's a chance that it is now\n" -"supported.\n"; - -static void -carddb_configuration(void) { - int i; - char s[80]; - card_selected = -1; - printf("%s", cardintro_text); - printf("Do you want to look at the card database? "); - getstring(s); - printf("\n"); - if (!answerisyes(s)) - return; - - /* - * Choose a database entry. - */ - if (parse_database()) { - printf("Couldn't read card database file %s.\n", - CARD_DATABASE_FILE); - keypress(); - return; - } - - i = 0; - for (;;) { - int j; - emptylines(); - for (j = i; j < i + 18 && j <= lastcard; j++) { - char *name = card[j].name, - *chipset = card[j].chipset; - - printf("%3d %-50s%s\n", j, - name ? name : "-", - chipset ? chipset : "-"); - } - printf("\n"); - printf("Enter a number to choose the corresponding card definition.\n"); - printf("Press enter for the next page, q to continue configuration.\n"); - printf("\n"); - getstring(s); - if (s[0] == 'q') - break; - if (strlen(s) == 0) { - i += 18; - if (i > lastcard) - i = 0; - continue; - } - card_selected = atoi(s); - if (card_selected >= 0 && card_selected <= lastcard) - break; - } - - /* - * Look at the selected card. - */ - if (card_selected != -1) { - char *name = card[card_selected].name, - *chipset = card[card_selected].chipset; - - printf("\nYour selected card definition:\n\n"); - printf("Identifier: %s\n", name ? name : "-"); - printf("Chipset: %s\n", chipset ? chipset : "-"); - if (!card[card_selected].driver) - card[card_selected].driver = "unknown"; - printf("Driver: %s\n", card[card_selected].driver); - - if (card[card_selected].ramdac != NULL) - printf("Ramdac: %s\n", card[card_selected].ramdac); - if (card[card_selected].dacspeed != NULL) - printf("DacSpeed: %s\n", card[card_selected].dacspeed); - if (card[card_selected].clockchip != NULL) - printf("Clockchip: %s\n", card[card_selected].clockchip); - if (card[card_selected].flags & NOCLOCKPROBE) - printf("Do NOT probe clocks or use any Clocks line.\n"); - if (card[card_selected].flags & UNSUPPORTED) - printf("%s", cardunsupported_text); -#if 0 /* Might be confusing. */ - if (strlen(card[card_selected].lines) > 0) - printf("Device section text:\n%s", - card[card_selected].lines); -#endif - printf("\n"); - keypress(); - } -} - - -/* - * Screen/video card configuration. - */ - -static char *deviceintro_text = -"Now you must give information about your video card. This will be used for\n" -"the \"Device\" section of your video card in " CONFIGNAME ".\n" -"\n"; - -static char *videomemoryintro_text = -"It is probably a good idea to use the same approximate amount as that detected\n" -"by the server you intend to use. If you encounter problems that are due to the\n" -"used server not supporting the amount memory you have, specify the maximum\n" -"amount supported by the server.\n" -"\n" -"How much video memory do you have on your video card:\n" -"\n"; - -static char *carddescintro_text = -"You must now enter a few identification/description strings, namely an\n" -"identifier, a vendor name, and a model name. Just pressing enter will fill\n" -"in default names (possibly from a card definition).\n" -"\n"; - -#if 0 -static char *devicesettingscomment_text = -"Especially for accelerated drivers, Ramdac, Dacspeed and ClockChip settings\n" -"or special options may be required in the Device section.\n" -"\n"; - -static char *ramdaccomment_text = -"The RAMDAC setting only applies to some drivers. Some RAMDAC's are\n" -"auto-detected by the server. The detection of a RAMDAC is forced by using a\n" -"Ramdac \"identifier\" line in the Device section. The identifiers are shown\n" -"at the right of the following table of RAMDAC types:\n" -"\n"; - -#define NU_RAMDACS 24 - -static char *ramdac_name[NU_RAMDACS] = { - "AT&T 20C490 (S3 and AGX servers, ARK driver)", - "AT&T 20C498/21C498/22C498 (S3, autodetected)", - "AT&T 20C409/20C499 (S3, autodetected)", - "AT&T 20C505 (S3)", - "BrookTree BT481 (AGX)", - "BrookTree BT482 (AGX)", - "BrookTree BT485/9485 (S3)", - "Sierra SC15025 (S3, AGX)", -#if XFREE86_VERSION >= 311 - "S3 GenDAC (86C708) (autodetected)", - "S3 SDAC (86C716) (autodetected)", -#else - "S3 GenDAC (86C708)", - "S3 SDAC (86C716)", -#endif - "STG-1700 (S3, autodetected)", - "STG-1703 (S3, autodetected)", - "TI 3020 (S3, autodetected)", - "TI 3025 (S3, autodetected)", - "TI 3026 (S3, autodetected)", - "IBM RGB 514 (S3, autodetected)", - "IBM RGB 524 (S3, autodetected)", - "IBM RGB 525 (S3, autodetected)", - "IBM RGB 526 (S3)", - "IBM RGB 528 (S3, autodetected)", - "ICS5342 (S3, ARK)", - "ICS5341 (W32)", - "IC Works w30C516 ZoomDac (ARK)", - "Normal DAC" -}; - -static char *ramdac_id[NU_RAMDACS] = { - "att20c490", "att20c498", "att20c409", "att20c505", "bt481", "bt482", - "bt485", "sc15025", "s3gendac", "s3_sdac", "stg1700","stg1703", - "ti3020", "ti3025", "ti3026", "ibm_rgb514", "ibm_rgb524", - "ibm_rgb525", "ibm_rgb526", "ibm_rgb528", "ics5342", "ics5341", - "zoomdac", "normal" -}; - -static char *clockchipcomment_text = -"A Clockchip line in the Device section forces the detection of a\n" -"programmable clock device. With a clockchip enabled, any required\n" -"clock can be programmed without requiring probing of clocks or a\n" -"Clocks line. Most cards don't have a programmable clock chip.\n" -"Choose from the following list:\n" -"\n"; - -#define NU_CLOCKCHIPS 12 - -static char *clockchip_name[] = { - "Chrontel 8391", - "ICD2061A and compatibles (ICS9161A, DCS2824)", - "ICS2595", - "ICS5342 (similar to SDAC, but not completely compatible)", - "ICS5341", - "S3 GenDAC (86C708) and ICS5300 (autodetected)", - "S3 SDAC (86C716)", - "STG 1703 (autodetected)", - "Sierra SC11412", - "TI 3025 (autodetected)", - "TI 3026 (autodetected)", - "IBM RGB 51x/52x (autodetected)", -}; - -static char *clockchip_id[] = { - "ch8391", "icd2061a", "ics2595", "ics5342", "ics5341", - "s3gendac", "s3_sdac", - "stg1703", "sc11412", "ti3025", "ti3026", "ibm_rgb5xx", -}; - -static char *deviceclockscomment_text = -"For most modern configurations, a Clocks line is neither required or\n" -"desirable. However for some older hardware it can be useful since it\n" -"prevents the slow and nasty sounding clock probing at server start-up.\n" -"Probed clocks are displayed at server startup, along with other server\n" -"and hardware configuration info. You can save this information in a file\n" -"by running 'X -probeonly 2>output_file'. Be warned that clock probing is\n" -"inherently imprecise; some clocks may be slightly too high (varies per run).\n" -"\n"; - -static char *deviceclocksquestion_text = -"At this point I can run X -probeonly, and try to extract the clock information\n" -"from the output. It is recommended that you do this yourself and if a set of\n" -"clocks is shown then you add a clocks line (note that the list of clocks may\n" -"be split over multiple Clocks lines) to your Device section afterwards. Be\n" -"aware that a clocks line is not appropriate for most modern hardware that\n" -"has programmable clocks.\n" -"\n" -"You must be root to be able to run X -probeonly now.\n" -"\n"; - -static char *probeonlywarning_text = -"It is possible that the hardware detection routines in the server will somehow\n" -"cause the system to crash and the screen to remain blank. If this is the\n" -"case, do not choose this option the next time. The server may need a\n" -"Ramdac, ClockChip or special option (e.g. \"nolinear\" for S3) to probe\n" -"and start-up correctly.\n" -"\n"; -#endif - -static char *modesorderintro_text = -"For each depth, a list of modes (resolutions) is defined. The default\n" -"resolution that the server will start-up with will be the first listed\n" -"mode that can be supported by the monitor and card.\n" -"Currently it is set to:\n" -"\n"; - -static char *modesorder_text2 = -"Modes that cannot be supported due to monitor or clock constraints will\n" -"be automatically skipped by the server.\n" -"\n" -" 1 Change the modes for 8-bit (256 colors)\n" -" 2 Change the modes for 16-bit (32K/64K colors)\n" -" 3 Change the modes for 24-bit (24-bit color)\n" -" 4 The modes are OK, continue.\n" -"\n"; - -static char *modeslist_text = -"Please type the digits corresponding to the modes that you want to select.\n" -"For example, 432 selects \"1024x768\" \"800x600\" \"640x480\", with a\n" -"default mode of 1024x768.\n" -"\n"; - -static char *virtual_text = -"You can have a virtual screen (desktop), which is screen area that is larger\n" -"than the physical screen and which is panned by moving the mouse to the edge\n" -"of the screen. If you don't want virtual desktop at a certain resolution,\n" -"you cannot have modes listed that are larger. Each color depth can have a\n" -"differently-sized virtual screen\n" -"\n"; - -static int videomemory[] = { - 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 262144 -}; - -/* Is this required? */ -#if XFREE86_VERSION >= 400 -#define NU_MODESTRINGS 13 -#else -#if XFREE86_VERSION >= 330 -#define NU_MODESTRINGS 12 -#else -#if XFREE86_VERSION >= 311 -#define NU_MODESTRINGS 8 -#else -#define NU_MODESTRINGS 5 -#endif -#endif -#endif - -static char *modestring[NU_MODESTRINGS] = { - "\"640x400\"", - "\"640x480\"", - "\"800x600\"", - "\"1024x768\"", - "\"1280x1024\"", -#if XFREE86_VERSION >= 311 - "\"320x200\"", - "\"320x240\"", - "\"400x300\"" -#endif -#if XFREE86_VERSION >= 330 - ,"\"1152x864\"", - "\"1600x1200\"", - "\"1800x1400\"", - "\"512x384\"" -#endif -#if XFREE86_VERSION >= 400 - ,"\"1400x1050\"" -#endif -}; - -static int exists_dir(char *name) { - struct stat sbuf; - - /* is it there ? */ - if (stat(name,&sbuf) == -1) - return 0; - - /* is there, but is it a dir? */ - return S_ISDIR(sbuf.st_mode) ? 1 : 0; -} - -static int -screen_configuration(void) { - int i, c/*, np*/; - char s[80]; - - /* - * Configure the "Device" section for the video card. - */ - - printf("%s", deviceintro_text); - - printf("%s", videomemoryintro_text); - - for (i = 0; i < sizeof(videomemory) / sizeof(videomemory[0]); i++) - printf("%2d %dK\n", i + 1, videomemory[i]); - printf("%2d Other\n\n", i + 1); - - printf("Enter your choice: "); - getstring(s); - printf("\n"); - - c = atoi(s) - 1; - if (c >= 0 && c < sizeof(videomemory) / sizeof(videomemory[0])) - config_videomemory = videomemory[c]; - else { - printf("Amount of video memory in Kbytes: "); - getstring(s); - config_videomemory = atoi(s); - printf("\n"); - } - - printf("%s", carddescintro_text); - if (card_selected != -1) - printf("Your card definition is %s.\n\n", - card[card_selected].name); - printf("The strings are free-form, spaces are allowed.\n"); - printf("Enter an identifier for your video card definition: "); - getstring(s); - if (strlen(s) == 0) - if (card_selected != -1) - config_deviceidentifier = card[card_selected].name; - else - config_deviceidentifier = "My Video Card"; - else { - config_deviceidentifier = Malloc(strlen(s) + 1); - strcpy(config_deviceidentifier, s); - } - printf("\n"); - - emptylines(); - - /* - * Initialize screen mode variables for svga and accel - * to default values. - * XXXX Doesn't leave room for off-screen caching in 16/32bpp modes - * for the accelerated servers in some situations. - */ - config_modesline8bpp = - config_modesline16bpp = - config_modesline24bpp = "\"640x480\""; - config_virtualx8bpp = config_virtualx16bpp = config_virtualx24bpp = - config_virtualy8bpp = config_virtualy16bpp = config_virtualy24bpp = 0; - if (config_videomemory >= 4096) { - config_virtualx8bpp = 1600; - config_virtualy8bpp = 1280; - if (card_selected != -1 && !(card[card_selected].flags & UNSUPPORTED)) { - /* - * Allow room for font/pixmap cache for accel - * servers. - */ - config_virtualx16bpp = 1280; - config_virtualy16bpp = 1024; - } - else { - config_virtualx16bpp = 1600; - config_virtualy16bpp = 1280; - } - if (card_selected != -1 && !(card[card_selected].flags & UNSUPPORTED)) { - config_virtualx24bpp = 1152; - config_virtualy24bpp = 900; - } - else { - config_virtualx24bpp = 1280; - config_virtualy24bpp = 1024; - } - /* Add 1600x1280 */ - config_modesline8bpp = "\"1280x1024\" \"1024x768\" \"800x600\" \"640x480\""; - config_modesline16bpp = "\"1280x1024\" \"1024x768\" \"800x600\" \"640x480\""; - config_modesline24bpp = "\"1280x1024\" \"1024x768\" \"800x600\" \"640x480\""; - - } - else - if (config_videomemory >= 2048) { - if (card_selected != -1 && !(card[card_selected].flags & UNSUPPORTED)) { - /* - * Allow room for font/pixmap cache for accel - * servers. - * Also the mach32 is has a limited width. - */ - config_virtualx8bpp = 1280; - config_virtualy8bpp = 1024; - } - else { - config_virtualx8bpp = 1600; - config_virtualy8bpp = 1200; - } - if (card_selected != -1 && !(card[card_selected].flags & UNSUPPORTED)) { - config_virtualx16bpp = 1024; - config_virtualy16bpp = 768; - } - else { - config_virtualx16bpp = 1152; - config_virtualy16bpp = 900; - } - config_virtualx24bpp = 800; - config_virtualy24bpp = 600; - if (config_videomemory >= 2048 + 256) { - config_virtualx24bpp = 1024; - config_virtualy24bpp = 768; - } - config_modesline8bpp = "\"1280x1024\" \"1024x768\" \"800x600\" \"640x480\""; - config_modesline16bpp = "\"1024x768\" \"800x600\" \"640x480\""; - if (config_videomemory >= 2048 + 256) - config_modesline24bpp = "\"1024x768\" \"800x600\" \"640x480\""; - else - config_modesline24bpp = "\"800x600\" \"640x480\""; - } - else - if (config_videomemory >= 1024) { - if (card_selected != -1 && !(card[card_selected].flags & UNSUPPORTED)) { - /* - * Allow room for font/pixmap cache for accel - * servers. - */ - config_virtualx8bpp = 1024; - config_virtualy8bpp = 768; - } - else { - config_virtualx8bpp = 1152; - config_virtualy8bpp = 900; - } - config_virtualx16bpp = 800; /* Forget about cache space; */ - config_virtualy16bpp = 600; /* it's small enough as it is. */ - config_virtualx24bpp = 640; - config_virtualy24bpp = 480; - config_modesline8bpp = "\"1024x768\" \"800x600\" \"640x480\""; - config_modesline16bpp = "\"800x600\" \"640x480\""; - config_modesline24bpp = "\"640x480\""; - } - else - if (config_videomemory >= 512) { - config_virtualx8bpp = 800; - config_virtualy8bpp = 600; - config_modesline8bpp = "\"800x600\" \"640x480\""; - config_modesline16bpp = "\"640x400\""; - } - else - if (config_videomemory >= 256) { - config_modesline8bpp = "\"640x400\""; - config_virtualx8bpp = 640; - config_virtualy8bpp = 400; - } - else { - printf("Invalid amount of video memory. Please try again\n"); - return(1); - } - -#if 0 - /* - * Handle the Ramdac/Clockchip setting. - */ - - printf("%s", devicesettingscomment_text); - - if (card_selected == -1 || (card[card_selected].flags & UNSUPPORTED)) - goto skipramdacselection; - - printf("%s", ramdaccomment_text); - - /* meanwhile there are so many RAMDACs that they do no longer fit on - * on page - */ - for (np=12, i=0 ;;) { - int j; - for (j = i; j < i + np && j < NU_RAMDACS; j++) - printf("%3d %-60s%s\n", j+1, - ramdac_name[j], - ramdac_id[j]); - - printf("\n"); - if (card_selected != -1) - if (card[card_selected].ramdac != NULL) - printf("The card definition has Ramdac \"%s\".\n\n", - card[card_selected].ramdac); - printf("\n"); - printf("Enter a number to choose the corresponding RAMDAC.\n"); - printf("Press enter for the next page, q to quit without selection of a RAMDAC.\n"); - printf("\n"); - getstring(s); - - config_ramdac = NULL; - if (s[0] == 'q') - break; - - if (strlen(s) > 0) { - c = atoi(s)-1; - if (c >= 0 && c < NU_RAMDACS) { - config_ramdac = ramdac_id[atoi(s)-1]; - break; - } - } - - i += np; - if (np==12) np = 18; /* account intro lines only displayed 1st time */ - if (i >= NU_RAMDACS) - i = 0; - emptylines(); - } - -skipramdacselection: - emptylines(); - printf("%s", clockchipcomment_text); - - for (i = 0; i < NU_CLOCKCHIPS; i++) - printf("%2d %-60s%s\n", - i + 1, clockchip_name[i], clockchip_id[i]); - - printf("\n"); - - if (card_selected != -1) - if (card[card_selected].clockchip != NULL) - printf("The card definition has Clockchip \"%s\"\n\n", - card[card_selected].clockchip); - - printf("Just press enter if you don't want a Clockchip setting.\n"); - printf("What Clockchip setting do you want (1-%d)? ", NU_CLOCKCHIPS); - - getstring(s); - config_clockchip = NULL; - if (strlen(s) > 0) - config_clockchip = clockchip_id[atoi(s) - 1]; - - emptylines(); - - /* - * Optionally run X -probeonly to figure out the clocks. - */ - - config_numberofclockslines = 0; - - printf("%s", deviceclockscomment_text); - - printf("%s", deviceclocksquestion_text); -#endif - -#if 0 - /* - * XXX Change this to check for a CLOCKPROBE flag rather than an - * NOCLOCKPROBE. - */ - if (card_selected != -1) - if (card[card_selected].flags & NOCLOCKPROBE) - printf("The card definition says to NOT probe clocks.\n"); - - if (config_clockchip != NULL) { - printf("Because you have enabled a Clockchip line, there's no need for clock\n" - "probing.\n"); - keypress(); - goto skipclockprobing; - } - - printf("Do you want me to run 'X -probeonly' now? "); - getstring(s); - printf("\n"); - if (answerisyes(s)) { - /* - * Write temporary XF86Config and run X -probeonly. - * Only allow when root. - */ - FILE *f; - char *buf; - char syscmdline[2*256+100]; /* enough */ - char *fname = NULL; - char *d2name = NULL; - char *d3name = NULL; - - if (getuid() != 0) { - printf("Sorry, you must be root to do this.\n\n"); - goto endofprobeonly; - } - printf("%s", probeonlywarning_text); - keypress(); - fname = Malloc(strlen(temp_dir) + - strlen(TEMPORARY_XF86CONFIG_FILENAME) + 1); - sprintf(fname, "%s%s", temp_dir, - TEMPORARY_XF86CONFIG_FILENAME); - d2name = Malloc(strlen(temp_dir) + strlen(DUMBCONFIG2) + 1); - sprintf(d2name, "%s%s", temp_dir, DUMBCONFIG2); - d3name = Malloc(strlen(temp_dir) + strlen(DUMBCONFIG3) + 1); - sprintf(d3name, "%s%s", temp_dir, DUMBCONFIG3); - printf("Running X -probeonly -pn -xf86config %s.\n", fname); - write_XF86Config(fname); - sync(); - /* compose a line with the real path */ - sprintf(syscmdline, "X -probeonly -pn -xf86config %s 2> %s", - fname, d2name); - - if (system(syscmdline)) { - printf("X -probeonly call failed.\n"); - printf("No Clocks line inserted.\n"); - goto clocksprobefailed; - } - /* Look for 'clocks:' (case sensitive). */ - sprintf(syscmdline, "grep clocks\\: %s > %s", d2name, d3name); - if (system(syscmdline)) { - printf("grep failed.\n"); - printf("Cannot find clocks in server output.\n"); - goto clocksprobefailed; - } - f = fopen(d3name, "r"); - buf = Malloc(8192); - /* Parse lines. */ - while (fgets(buf, 8192, f) != NULL) { - char *clks; - clks = strstr(buf, "clocks: ") + 8; - if (clks >= buf + 3 && strcmp(clks - 11, "num") == 0) - /* Reject lines with 'numclocks:'. */ - continue; - if (clks >= buf + 8 && strcpy(clks - 14, "pixel ") == 0) - /* Reject lines with 'pixel clocks:'. */ - continue; - clks[strlen(clks) - 1] = '\0'; /* Remove '\n'. */ - config_clocksline[config_numberofclockslines] = - Malloc(strlen(clks) + 1); - strcpy(config_clocksline[config_numberofclockslines], - clks); - printf("Clocks %s\n", clks); - config_numberofclockslines++; - } - fclose(f); -clocksprobefailed: - unlink(d3name); - unlink(d2name); - unlink(fname); - printf("\n"); - -endofprobeonly: - keypress(); - } -skipclockprobing: -#endif - - /* - * For vga driver, no further configuration is required. - */ - if (card_selected == -1 || (card[card_selected].flags & UNSUPPORTED)) - return (0); - - /* - * Configure the modes order. - */ - config_virtual = 0; - for (;;) { - char modes[128]; - - emptylines(); - - printf("%s", modesorderintro_text); - printf("%s for 8-bit\n", config_modesline8bpp); - printf("%s for 16-bit\n", config_modesline16bpp); - printf("%s for 24-bit\n", config_modesline24bpp); - printf("\n"); - printf("%s", modesorder_text2); - - printf("Enter your choice: "); - getstring(s); - printf("\n"); - - c = atoi(s) - 1; - if (c < 0 || c >= 3) - break; - - printf("Select modes from the following list:\n\n"); - - for (i = 0; i < NU_MODESTRINGS; i++) - printf(" %c %s\n", i < 9 ? '1' + i : - 'a' + i - 9, - modestring[i]); - printf("\n"); - - printf("%s", modeslist_text); - - printf("Which modes? "); - getstring(s); - printf("\n"); - - modes[0] = '\0'; - for (i = 0; i < strlen(s); i++) { - if ( NU_MODESTRINGS > 9 ) { - if ((s[i] < '1' || s[i] > '9') && - (s[i] < 'a' || s[i] > 'a' + NU_MODESTRINGS - 10)) { - printf("Invalid mode skipped.\n"); - continue; - } - } - else { - if (s[i] < '1' || s[i] > '0' + NU_MODESTRINGS) { - printf("Invalid mode skipped.\n"); - continue; - } - } - if (i > 0) - strcat(modes, " "); - strcat(modes, modestring[s[i] <= '9' ? s[i] - '1' : - s[i] - 'a' + 9]); - } - switch (c) { - case 0 : - config_modesline8bpp = Malloc(strlen(modes) + 1); - strcpy(config_modesline8bpp, modes); - break; - case 1 : - config_modesline16bpp = Malloc(strlen(modes) + 1); - strcpy(config_modesline16bpp, modes); - break; - case 2 : - config_modesline24bpp = Malloc(strlen(modes) + 1); - strcpy(config_modesline24bpp, modes); - break; - } - - printf("%s", virtual_text); - - printf("Please answer the following question with either 'y' or 'n'.\n"); - printf("Do you want a virtual screen that is larger than the physical screen?"); - getstring(s); - if (answerisyes(s)) - config_virtual = 1; - } - return(0); -} - -static char *defaultdepthtext = -"Please specify which color depth you want to use by default:\n" -"\n"; - -static struct depth_str { - char *name; - char *desc; -} depth_list[] = { - { "1", "1 bit (monochrome)" }, - { "4", "4 bits (16 colors)" }, - { "8", "8 bits (256 colors)" }, - { "16", "16 bits (65536 colors)" }, - { "24", "24 bits (16 million colors)" } -}; - -static int ndepths = sizeof(depth_list)/sizeof(struct depth_str); - -static void -depth_configuration(void) -{ - int i; - char s[80]; - int depth; - - printf(defaultdepthtext); - for (i=0; i<ndepths; i++) { - printf("%3d %-50s\n",i+1,depth_list[i].desc); - } - - printf("\nEnter a number to choose the default depth.\n\n"); - getstring(s); - if (strlen(s) == 0) - depth = 0; - else { - i = atoi(s)-1; - depth = (i < 0 || i > ndepths) ? 0 : i; - } - config_depth = depth_list[depth].name; -} - -/* - * Create the XF86Config file. - */ - -static char *XF86Config_firstchunk_text = -"# File generated by xorgconfig.\n" -"\n" -"#\n" -"# Copyright 2004 "XVENDORNAME"\n" -"#\n" -"# Permission is hereby granted, free of charge, to any person obtaining a\n" -"# copy of this software and associated documentation files (the \"Software\"),\n" -"# to deal in the Software without restriction, including without limitation\n" -"# the rights to use, copy, modify, merge, publish, distribute, sublicense,\n" -"# and/or sell copies of the Software, and to permit persons to whom the\n" -"# Software is furnished to do so, subject to the following conditions:\n" -"# \n" -"# The above copyright notice and this permission notice shall be included in\n" -"# all copies or substantial portions of the Software.\n" -"# \n" -"# THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n" -"# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n" -"# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL\n" -"# "XVENDORNAME" BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n" -"# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF\n" -"# OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n" -"# SOFTWARE.\n" -"# \n" -"# Except as contained in this notice, the name of "XVENDORNAME" shall\n" -"# not be used in advertising or otherwise to promote the sale, use or other\n" -"# dealings in this Software without prior written authorization from\n" -"# "XVENDORNAME".\n" -"#\n" -"\n" -"# **********************************************************************\n" -"# Refer to the " CONFIGNAME "(" FILEMANSUFFIX ") man page for details about the format of \n" -"# this file.\n" -"# **********************************************************************\n" -"\n" -"# **********************************************************************\n" -"# Module section -- this section is used to specify\n" -"# which dynamically loadable modules to load.\n" -"# **********************************************************************\n" -"#\n" -"Section \"Module\"\n" -"\n" -"# This loads the DBE extension module.\n" -"\n" -" Load \"dbe\" # Double buffer extension\n" -"\n" -"# This loads the miscellaneous extensions module, and disables\n" -"# initialisation of the XFree86-DGA extension within that module.\n" -" SubSection \"extmod\"\n" -" Option \"omit xfree86-dga\" # don't initialise the DGA extension\n" -" EndSubSection\n" -"\n" -"# This loads the font modules\n" -#ifdef HAS_TYPE1 -" Load \"type1\"\n" -#else -"# Load \"type1\"\n" -#endif -" Load \"freetype\"\n" -"# Load \"xtt\"\n" -"\n" -"# This loads the GLX module\n" -"# Load \"glx\"\n" -"# This loads the DRI module\n" -"# Load \"dri\"\n" -"\n" -"EndSection\n" -"\n" -"# **********************************************************************\n" -"# Files section. This allows default font and rgb paths to be set\n" -"# **********************************************************************\n" -"\n" -"Section \"Files\"\n" -"\n" -"# Multiple FontPath entries are allowed (which are concatenated together),\n" -"# as well as specifying multiple comma-separated entries in one FontPath\n" -"# command (or a combination of both methods)\n" -"# \n" -"\n"; - -static char *XF86Config_fontpaths[] = -{ -/* " FontPath \"" TREEROOTFONT "/75dpi/\"\n"*/ - "/local/", - "/misc/", - "/75dpi/:unscaled", - "/100dpi/:unscaled", - "/Type1/", - "/TrueType/", - "/freefont/", - "/75dpi/", - "/100dpi/", - 0 /* end of fontpaths */ -}; - -static char *XF86Config_fontpathchunk_text = - -"\n" -"# The module search path. The default path is shown here.\n" -"\n" -"# ModulePath \"" MODULEPATH "\"\n" -"\n" -"EndSection\n" -"\n" -"# **********************************************************************\n" -"# Server flags section.\n" -"# **********************************************************************\n" -"\n" -"Section \"ServerFlags\"\n" -"\n" -"# Uncomment this to cause a core dump at the spot where a signal is \n" -"# received. This may leave the console in an unusable state, but may\n" -"# provide a better stack trace in the core dump to aid in debugging\n" -"\n" -"# Option \"NoTrapSignals\"\n" -"\n" -"# Uncomment this to disable the <Ctrl><Alt><Fn> VT switch sequence\n" -"# (where n is 1 through 12). This allows clients to receive these key\n" -"# events.\n" -"\n" -"# Option \"DontVTSwitch\"\n" -"\n" -"# Uncomment this to disable the <Ctrl><Alt><BS> server abort sequence\n" -"# This allows clients to receive this key event.\n" -"\n" -"# Option \"DontZap\"\n" -"\n" -"# Uncomment this to disable the <Ctrl><Alt><KP_+>/<KP_-> mode switching\n" -"# sequences. This allows clients to receive these key events.\n" -"\n" -"# Option \"Dont Zoom\"\n" -"\n" -"# Uncomment this to disable tuning with the xvidtune client. With\n" -"# it the client can still run and fetch card and monitor attributes,\n" -"# but it will not be allowed to change them. If it tries it will\n" -"# receive a protocol error.\n" -"\n" -"# Option \"DisableVidModeExtension\"\n" -"\n" -"# Uncomment this to enable the use of a non-local xvidtune client. \n" -"\n" -"# Option \"AllowNonLocalXvidtune\"\n" -"\n" -"# Uncomment this to disable dynamically modifying the input device\n" -"# (mouse and keyboard) settings. \n" -"\n" -"# Option \"DisableModInDev\"\n" -"\n" -"# Uncomment this to enable the use of a non-local client to\n" -"# change the keyboard or mouse settings (currently only xset).\n" -"\n" -"# Option \"AllowNonLocalModInDev\"\n" -"\n" -"EndSection\n" -"\n" -"# **********************************************************************\n" -"# Input devices\n" -"# **********************************************************************\n" -"\n" -"# **********************************************************************\n" -"# Core keyboard's InputDevice section\n" -"# **********************************************************************\n" -"\n" -"Section \"InputDevice\"\n" -"\n" -" Identifier \"Keyboard1\"\n" -" Driver \"kbd\"\n" -"\n" -" Option \"AutoRepeat\" \"500 30\"\n" -"\n" -"# Specify which keyboard LEDs can be user-controlled (eg, with xset(1))\n" -"# Option \"Xleds\" \"1 2 3\"\n" -"\n"; - -static char *keyboardchunk2_text = -"\n"; - -static char *keyboardchunk3_text = -"# To customise the XKB settings to suit your keyboard, modify the\n" -"# lines below (which are the defaults). For example, for a non-U.S.\n" -"# keyboard, you will probably want to use:\n" -"# Option \"XkbModel\" \"pc105\"\n" -"# If you have a US Microsoft Natural keyboard, you can use:\n" -"# Option \"XkbModel\" \"microsoft\"\n" -"#\n" -"# Then to change the language, change the Layout setting.\n" -"# For example, a german layout can be obtained with:\n" -"# Option \"XkbLayout\" \"de\"\n" -"# or:\n" -"# Option \"XkbLayout\" \"de\"\n" -"# Option \"XkbVariant\" \"nodeadkeys\"\n" -"#\n" -"# If you'd like to switch the positions of your capslock and\n" -"# control keys, use:\n" -"# Option \"XkbOptions\" \"ctrl:swapcaps\"\n" -"\n" -"# These are the default XKB settings for "__XSERVERNAME__"\n" -"# Option \"XkbRules\" \""__XKBDEFRULES__"\"\n" -"# Option \"XkbModel\" \"pc105\"\n" -"# Option \"XkbLayout\" \"us\"\n" -"# Option \"XkbVariant\" \"\"\n" -"# Option \"XkbOptions\" \"\"\n" -"\n"; - -static char *keyboardlastchunk_text = -"\n" -"EndSection\n" -"\n" -"\n"; - -static char *pointersection_text1 = -"# **********************************************************************\n" -"# Core Pointer's InputDevice section\n" -"# **********************************************************************\n" -"\n" -"Section \"InputDevice\"\n" -"\n" -"# Identifier and driver\n" -"\n" -#if defined(__UNIXWARE__) -"# Identifier \"Mouse1\"\n" -"# Driver \"mouse\"\n" -#else -" Identifier \"Mouse1\"\n" -" Driver \"mouse\"\n" -#endif -; - -static char *pointersection_text2 = -"\n" -"# Mouse-speed setting for PS/2 mouse.\n" -"\n" -"# Option \"Resolution\" \"256\"\n" -"\n" -"# Baudrate and SampleRate are only for some Logitech mice. In\n" -"# almost every case these lines should be omitted.\n" -"\n" -"# Option \"BaudRate\" \"9600\"\n" -"# Option \"SampleRate\" \"150\"\n" -"\n" -"# Mouse wheel mapping. Default is to map vertical wheel to buttons 4 & 5,\n" -"# horizontal wheel to buttons 6 & 7. Change if your mouse has more than\n" -"# 3 buttons and you need to map the wheel to different button ids to avoid\n" -"# conflicts.\n" -"\n" -" Option \"ZAxisMapping\" \"4 5 6 7\"\n" -"\n" -"# Emulate3Buttons is an option for 2-button mice\n" -"# Emulate3Timeout is the timeout in milliseconds (default is 50ms)\n" -"\n"; - - -static char *xinputsection_text = -"# **********************************************************************\n" -"# Other input device sections \n" -"# this is optional and is required only if you\n" -"# are using extended input devices. This is for example only. Refer\n" -"# to the " CONFIGNAME " man page for a description of the options.\n" -"# **********************************************************************\n" -"#\n" -"# Section \"InputDevice\" \n" -"# Identifier \"Mouse2\"\n" -"# Driver \"mouse\"\n" -"# Option \"Protocol\" \"MouseMan\"\n" -"# Option \"Device\" \"/dev/mouse2\"\n" -"# EndSection\n" -"#\n" -"# Section \"InputDevice\"\n" -"# Identifier \"spaceball\"\n" -"# Driver \"magellan\"\n" -"# Option \"Device\" \"/dev/cua0\"\n" -"# EndSection\n" -"#\n" -"# Section \"InputDevice\"\n" -"# Identifier \"spaceball2\"\n" -"# Driver \"spaceorb\"\n" -"# Option \"Device\" \"/dev/cua0\"\n" -"# EndSection\n" -"#\n" -"# Section \"InputDevice\"\n" -"# Identifier \"touchscreen0\"\n" -"# Driver \"microtouch\"\n" -"# Option \"Device\" \"/dev/ttyS0\"\n" -"# Option \"MinX\" \"1412\"\n" -"# Option \"MaxX\" \"15184\"\n" -"# Option \"MinY\" \"15372\"\n" -"# Option \"MaxY\" \"1230\"\n" -"# Option \"ScreenNumber\" \"0\"\n" -"# Option \"ReportingMode\" \"Scaled\"\n" -"# Option \"ButtonNumber\" \"1\"\n" -"# Option \"SendCoreEvents\"\n" -"# EndSection\n" -"#\n" -"# Section \"InputDevice\"\n" -"# Identifier \"touchscreen1\"\n" -"# Driver \"elo2300\"\n" -"# Option \"Device\" \"/dev/ttyS0\"\n" -"# Option \"MinX\" \"231\"\n" -"# Option \"MaxX\" \"3868\"\n" -"# Option \"MinY\" \"3858\"\n" -"# Option \"MaxY\" \"272\"\n" -"# Option \"ScreenNumber\" \"0\"\n" -"# Option \"ReportingMode\" \"Scaled\"\n" -"# Option \"ButtonThreshold\" \"17\"\n" -"# Option \"ButtonNumber\" \"1\"\n" -"# Option \"SendCoreEvents\"\n" -"# EndSection\n" -"\n"; - -static char *monitorsection_text1 = -"# **********************************************************************\n" -"# Monitor section\n" -"# **********************************************************************\n" -"\n" -"# Any number of monitor sections may be present\n" -"\n" -"Section \"Monitor\"\n" -"\n"; - -static char *monitorsection_text2 = -"# HorizSync is in kHz unless units are specified.\n" -"# HorizSync may be a comma separated list of discrete values, or a\n" -"# comma separated list of ranges of values.\n" -"# NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR\'S\n" -"# USER MANUAL FOR THE CORRECT NUMBERS.\n" -"\n"; - -static char *monitorsection_text3 = -"# HorizSync 30-64 # multisync\n" -"# HorizSync 31.5, 35.2 # multiple fixed sync frequencies\n" -"# HorizSync 15-25, 30-50 # multiple ranges of sync frequencies\n" -"\n" -"# VertRefresh is in Hz unless units are specified.\n" -"# VertRefresh may be a comma separated list of discrete values, or a\n" -"# comma separated list of ranges of values.\n" -"# NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR\'S\n" -"# USER MANUAL FOR THE CORRECT NUMBERS.\n" -"\n"; - -#if 0 -static char *monitorsection_text4 = -"# Modes can be specified in two formats. A compact one-line format, or\n" -"# a multi-line format.\n" -"\n" -"# These two are equivalent\n" -"\n" -"# ModeLine \"1024x768i\" 45 1024 1048 1208 1264 768 776 784 817 Interlace\n" -"\n" -"# Mode \"1024x768i\"\n" -"# DotClock 45\n" -"# HTimings 1024 1048 1208 1264\n" -"# VTimings 768 776 784 817\n" -"# Flags \"Interlace\"\n" -"# EndMode\n" -"\n"; - -static char *modelines_text = -"# This is a set of standard mode timings. Modes that are out of monitor spec\n" -"# are automatically deleted by the server (provided the HorizSync and\n" -"# VertRefresh lines are correct), so there's no immediate need to\n" -"# delete mode timings (unless particular mode timings don't work on your\n" -"# monitor). With these modes, the best standard mode that your monitor\n" -"# and video card can support for a given resolution is automatically\n" -"# used.\n" -"\n" -"# 640x400 @ 70 Hz, 31.5 kHz hsync\n" -"Modeline \"640x400\" 25.175 640 664 760 800 400 409 411 450\n" -"# 640x480 @ 60 Hz, 31.5 kHz hsync\n" -"Modeline \"640x480\" 25.175 640 664 760 800 480 491 493 525\n" -"# 800x600 @ 56 Hz, 35.15 kHz hsync\n" -"ModeLine \"800x600\" 36 800 824 896 1024 600 601 603 625\n" -"# 1024x768 @ 87 Hz interlaced, 35.5 kHz hsync\n" -"Modeline \"1024x768\" 44.9 1024 1048 1208 1264 768 776 784 817 Interlace\n" -"\n" -"# 640x400 @ 85 Hz, 37.86 kHz hsync\n" -"Modeline \"640x400\" 31.5 640 672 736 832 400 401 404 445 -HSync +VSync\n" -"# 640x480 @ 72 Hz, 36.5 kHz hsync\n" -"Modeline \"640x480\" 31.5 640 680 720 864 480 488 491 521\n" -"# 640x480 @ 75 Hz, 37.50 kHz hsync\n" -"ModeLine \"640x480\" 31.5 640 656 720 840 480 481 484 500 -HSync -VSync\n" -"# 800x600 @ 60 Hz, 37.8 kHz hsync\n" -"Modeline \"800x600\" 40 800 840 968 1056 600 601 605 628 +hsync +vsync\n" -"\n" -"# 640x480 @ 85 Hz, 43.27 kHz hsync\n" -"Modeline \"640x480\" 36 640 696 752 832 480 481 484 509 -HSync -VSync\n" -"# 1152x864 @ 89 Hz interlaced, 44 kHz hsync\n" -"ModeLine \"1152x864\" 65 1152 1168 1384 1480 864 865 875 985 Interlace\n" -"\n" -"# 800x600 @ 72 Hz, 48.0 kHz hsync\n" -"Modeline \"800x600\" 50 800 856 976 1040 600 637 643 666 +hsync +vsync\n" -"# 1024x768 @ 60 Hz, 48.4 kHz hsync\n" -"Modeline \"1024x768\" 65 1024 1032 1176 1344 768 771 777 806 -hsync -vsync\n" -"\n" -"# 640x480 @ 100 Hz, 53.01 kHz hsync\n" -"Modeline \"640x480\" 45.8 640 672 768 864 480 488 494 530 -HSync -VSync\n" -"# 1152x864 @ 60 Hz, 53.5 kHz hsync\n" -"Modeline \"1152x864\" 89.9 1152 1216 1472 1680 864 868 876 892 -HSync -VSync\n" -"# 800x600 @ 85 Hz, 55.84 kHz hsync\n" -"Modeline \"800x600\" 60.75 800 864 928 1088 600 616 621 657 -HSync -VSync\n" -"\n" -"# 1024x768 @ 70 Hz, 56.5 kHz hsync\n" -"Modeline \"1024x768\" 75 1024 1048 1184 1328 768 771 777 806 -hsync -vsync\n" -"# 1280x1024 @ 87 Hz interlaced, 51 kHz hsync\n" -"Modeline \"1280x1024\" 80 1280 1296 1512 1568 1024 1025 1037 1165 Interlace\n" -"\n" -"# 800x600 @ 100 Hz, 64.02 kHz hsync\n" -"Modeline \"800x600\" 69.65 800 864 928 1088 600 604 610 640 -HSync -VSync\n" -"# 1024x768 @ 76 Hz, 62.5 kHz hsync\n" -"Modeline \"1024x768\" 85 1024 1032 1152 1360 768 784 787 823\n" -"# 1152x864 @ 70 Hz, 62.4 kHz hsync\n" -"Modeline \"1152x864\" 92 1152 1208 1368 1474 864 865 875 895\n" -"# 1280x1024 @ 61 Hz, 64.2 kHz hsync\n" -"Modeline \"1280x1024\" 110 1280 1328 1512 1712 1024 1025 1028 1054\n" -"\n" -"# 1024x768 @ 85 Hz, 70.24 kHz hsync\n" -"Modeline \"1024x768\" 98.9 1024 1056 1216 1408 768 782 788 822 -HSync -VSync\n" -"# 1152x864 @ 78 Hz, 70.8 kHz hsync\n" -"Modeline \"1152x864\" 110 1152 1240 1324 1552 864 864 876 908\n" -"\n" -"# 1280x1024 @ 70 Hz, 74.59 kHz hsync\n" -"Modeline \"1280x1024\" 126.5 1280 1312 1472 1696 1024 1032 1040 1068 -HSync -VSync\n" -"# 1600x1200 @ 60Hz, 75.00 kHz hsync\n" -"Modeline \"1600x1200\" 162 1600 1664 1856 2160 1200 1201 1204 1250 +HSync +VSync\n" -"# 1152x864 @ 84 Hz, 76.0 kHz hsync\n" -"Modeline \"1152x864\" 135 1152 1464 1592 1776 864 864 876 908\n" -"\n" -"# 1280x1024 @ 74 Hz, 78.85 kHz hsync\n" -"Modeline \"1280x1024\" 135 1280 1312 1456 1712 1024 1027 1030 1064\n" -"\n" -"# 1024x768 @ 100Hz, 80.21 kHz hsync\n" -"Modeline \"1024x768\" 115.5 1024 1056 1248 1440 768 771 781 802 -HSync -VSync\n" -"# 1280x1024 @ 76 Hz, 81.13 kHz hsync\n" -"Modeline \"1280x1024\" 135 1280 1312 1416 1664 1024 1027 1030 1064\n" -"\n" -"# 1600x1200 @ 70 Hz, 87.50 kHz hsync\n" -"Modeline \"1600x1200\" 189 1600 1664 1856 2160 1200 1201 1204 1250 -HSync -VSync\n" -"# 1152x864 @ 100 Hz, 89.62 kHz hsync\n" -"Modeline \"1152x864\" 137.65 1152 1184 1312 1536 864 866 885 902 -HSync -VSync\n" -"# 1280x1024 @ 85 Hz, 91.15 kHz hsync\n" -"Modeline \"1280x1024\" 157.5 1280 1344 1504 1728 1024 1025 1028 1072 +HSync +VSync\n" -"# 1600x1200 @ 75 Hz, 93.75 kHz hsync\n" -"Modeline \"1600x1200\" 202.5 1600 1664 1856 2160 1200 1201 1204 1250 +HSync +VSync\n" -"# 1600x1200 @ 85 Hz, 105.77 kHz hsync\n" -"Modeline \"1600x1200\" 220 1600 1616 1808 2080 1200 1204 1207 1244 +HSync +VSync\n" -"# 1280x1024 @ 100 Hz, 107.16 kHz hsync\n" -"Modeline \"1280x1024\" 181.75 1280 1312 1440 1696 1024 1031 1046 1072 -HSync -VSync\n" -"\n" -"# 1800x1440 @ 64Hz, 96.15 kHz hsync \n" -"ModeLine \"1800X1440\" 230 1800 1896 2088 2392 1440 1441 1444 1490 +HSync +VSync\n" -"# 1800x1440 @ 70Hz, 104.52 kHz hsync \n" -"ModeLine \"1800X1440\" 250 1800 1896 2088 2392 1440 1441 1444 1490 +HSync +VSync\n" -"\n" -"# 512x384 @ 78 Hz, 31.50 kHz hsync\n" -"Modeline \"512x384\" 20.160 512 528 592 640 384 385 388 404 -HSync -VSync\n" -"# 512x384 @ 85 Hz, 34.38 kHz hsync\n" -"Modeline \"512x384\" 22 512 528 592 640 384 385 388 404 -HSync -VSync\n" -"\n" -#if XFREE86_VERSION >= 311 -"# Low-res Doublescan modes\n" -"# If your chipset does not support doublescan, you get a 'squashed'\n" -"# resolution like 320x400.\n" -"\n" -"# 320x200 @ 70 Hz, 31.5 kHz hsync, 8:5 aspect ratio\n" -"Modeline \"320x200\" 12.588 320 336 384 400 200 204 205 225 Doublescan\n" -"# 320x240 @ 60 Hz, 31.5 kHz hsync, 4:3 aspect ratio\n" -"Modeline \"320x240\" 12.588 320 336 384 400 240 245 246 262 Doublescan\n" -"# 320x240 @ 72 Hz, 36.5 kHz hsync\n" -"Modeline \"320x240\" 15.750 320 336 384 400 240 244 246 262 Doublescan\n" -"# 400x300 @ 56 Hz, 35.2 kHz hsync, 4:3 aspect ratio\n" -"ModeLine \"400x300\" 18 400 416 448 512 300 301 302 312 Doublescan\n" -"# 400x300 @ 60 Hz, 37.8 kHz hsync\n" -"Modeline \"400x300\" 20 400 416 480 528 300 301 303 314 Doublescan\n" -"# 400x300 @ 72 Hz, 48.0 kHz hsync\n" -"Modeline \"400x300\" 25 400 424 488 520 300 319 322 333 Doublescan\n" -"# 480x300 @ 56 Hz, 35.2 kHz hsync, 8:5 aspect ratio\n" -"ModeLine \"480x300\" 21.656 480 496 536 616 300 301 302 312 Doublescan\n" -"# 480x300 @ 60 Hz, 37.8 kHz hsync\n" -"Modeline \"480x300\" 23.890 480 496 576 632 300 301 303 314 Doublescan\n" -"# 480x300 @ 63 Hz, 39.6 kHz hsync\n" -"Modeline \"480x300\" 25 480 496 576 632 300 301 303 314 Doublescan\n" -"# 480x300 @ 72 Hz, 48.0 kHz hsync\n" -"Modeline \"480x300\" 29.952 480 504 584 624 300 319 322 333 Doublescan\n" -"\n" -#endif -; -#endif - -static char *devicesection_text = -"# **********************************************************************\n" -"# Graphics device section\n" -"# **********************************************************************\n" -"\n" -"# Any number of graphics device sections may be present\n" -"\n" -"# Standard VGA Device:\n" -"\n" -"Section \"Device\"\n" -" Identifier \"Standard VGA\"\n" -" VendorName \"Unknown\"\n" -" BoardName \"Unknown\"\n" -"\n" -"# The chipset line is optional in most cases. It can be used to override\n" -"# the driver's chipset detection, and should not normally be specified.\n" -"\n" -"# Chipset \"generic\"\n" -"\n" -"# The Driver line must be present. When using run-time loadable driver\n" -"# modules, this line instructs the server to load the specified driver\n" -"# module. Even when not using loadable driver modules, this line\n" -"# indicates which driver should interpret the information in this section.\n" -"\n" -" Driver \"vga\"\n" -"# The BusID line is used to specify which of possibly multiple devices\n" -"# this section is intended for. When this line isn't present, a device\n" -"# section can only match up with the primary video device. For PCI\n" -"# devices a line like the following could be used. This line should not\n" -"# normally be included unless there is more than one video device\n" -"# intalled.\n" -"\n" -"# BusID \"PCI:0:10:0\"\n" -"\n" -"# VideoRam 256\n" -"\n" -"# Clocks 25.2 28.3\n" -"\n" -"EndSection\n" -"\n" -"# Device configured by xorgconfig:\n" -"\n"; - -static char *screensection_text1 = -"# **********************************************************************\n" -"# Screen sections\n" -"# **********************************************************************\n" -"\n" -"# Any number of screen sections may be present. Each describes\n" -"# the configuration of a single screen. A single specific screen section\n" -"# may be specified from the X server command line with the \"-screen\"\n" -"# option.\n"; - -static char *serverlayout_section_text1 = -"# **********************************************************************\n" -"# ServerLayout sections.\n" -"# **********************************************************************\n" -"\n" -"# Any number of ServerLayout sections may be present. Each describes\n" -"# the way multiple screens are organised. A specific ServerLayout\n" -"# section may be specified from the X server command line with the\n" -"# \"-layout\" option. In the absence of this, the first section is used.\n" -"# When now ServerLayout section is present, the first Screen section\n" -"# is used alone.\n" -"\n" -"Section \"ServerLayout\"\n" -"\n" -"# The Identifier line must be present\n" -" Identifier \"Simple Layout\"\n" -"\n" -"# Each Screen line specifies a Screen section name, and optionally\n" -"# the relative position of other screens. The four names after\n" -"# primary screen name are the screens to the top, bottom, left and right\n" -"# of the primary screen. In this example, screen 2 is located to the\n" -"# right of screen 1.\n" -"\n"; - -static char *serverlayout_section_text2 = -"\n" -"# Each InputDevice line specifies an InputDevice section name and\n" -"# optionally some options to specify the way the device is to be\n" -"# used. Those options include \"CorePointer\", \"CoreKeyboard\" and\n" -"# \"SendCoreEvents\".\n" -"\n" -" InputDevice \"Mouse1\" \"CorePointer\"\n" -" InputDevice \"Keyboard1\" \"CoreKeyboard\"\n" -"\n" -"EndSection\n" -"\n" -"# Section \"DRI\"\n" -"# Mode 0666\n" -"# EndSection\n" -"\n"; - -static void -write_fontpath_section(FILE *f) -{ - /* this will create the Fontpath lines, but only after checking, - * that the corresponding dir exists (was THE absolute problem - * users had with XFree86/OS2 3.1.2D !) - */ - int i; - char cur[256+20],*colon, *hash; - -#ifdef COMPILEDDEFAULTFONTPATH - static const char dfp[] = COMPILEDDEFAULTFONTPATH; - const char *thisdir; - const char *nextdir; - int len; - - for (thisdir = dfp; thisdir != NULL; thisdir = nextdir) { - nextdir = strchr(thisdir, ','); - if (nextdir == NULL) { - len = strlen(thisdir); - } else { - len = nextdir - thisdir; - nextdir++; - } - if (len >= sizeof(cur)) - continue; - strncpy(cur, thisdir, len); - cur[len] = '\0'; - colon = strchr(cur+2,':'); /* OS/2: C:/...:scaled */ - if (colon) *colon = 0; - hash = exists_dir(cur) ? "" : "#"; - if (colon) *colon = ':'; - fprintf(f,"%s FontPath \"%s\"\n", hash, cur); - } -#endif - - for (i=0; XF86Config_fontpaths[i]; i++) { - strcpy(cur,TREEROOTFONT); - strcat(cur,XF86Config_fontpaths[i]); - /* remove a ':' */ - colon = strchr(cur+2,':'); /* OS/2: C:/...:scaled */ - if (colon) *colon = 0; -#ifdef COMPILEDDEFAULTFONTPATH - /* skip if we already added it as part of the default font path */ - if (strstr(dfp, cur) != NULL) - continue; -#endif - hash = exists_dir(cur) ? "" : "#"; - fprintf(f,"%s FontPath \"%s%s\"\n", - hash, - TREEROOTFONT, - XF86Config_fontpaths[i]); - } -} - -static int -write_XF86Config(char *filename) -{ - FILE *f; - - /* - * Write the file. - */ - - f = fopen(filename, "w"); - if (f == NULL) { - printf("Failed to open filename for writing.\n"); - if (getuid() != 0) - printf("Maybe you need to be root to write to the specified directory?\n"); - return(1); - } - - fprintf(f, "%s", XF86Config_firstchunk_text); - write_fontpath_section(f); - fprintf(f, "%s", XF86Config_fontpathchunk_text); - - /* - * Write keyboard section. - */ - if (config_altmeta) { - fprintf(f, " Option \"LeftAlt\" \"Meta\"\n"); - fprintf(f, " Option \"RightAlt\" \"ModeShift\"\n"); - } - else { - fprintf(f, "# Option \"LeftAlt\" \"Meta\"\n"); - fprintf(f, "# Option \"RightAlt\" \"ModeShift\"\n"); - } -#if defined(__OpenBSD__) && defined(WSCONS_SUPPORT) && !defined(PCVT_SUPPORT) - /* wscons keyoards need a protocol line */ - fprintf(f, " Option \"Protocol\" \"wskbd\"\n"); - fprintf(f, " Option \"Device\" \"%s\"\n", config_keyboard_dev); - fprintf(f, " Option \"XkbKeycodes\" \"wscons(ppc)\"\n"); -#endif - fprintf(f, "%s", keyboardchunk2_text); - - fprintf(f, "%s", keyboardchunk3_text); - if (config_xkbdisable) { - fprintf(f, " Option \"XkbDisable\"\n\n"); - } else { - fprintf(f, "# Option \"XkbDisable\"\n\n"); - } - fprintf(f, " Option \"XkbRules\" \"%s\"\n", - config_xkbrules); - fprintf(f, " Option \"XkbModel\" \"%s\"\n", - config_xkbmodel); - fprintf(f, " Option \"XkbLayout\" \"%s\"\n", - config_xkblayout); - if (config_xkbvariant) - fprintf(f, " Option \"XkbVariant\" \"%s\"\n", - config_xkbvariant); - if (config_xkboptions) - fprintf(f, " Option \"XkbOptions\" \"%s\"\n", - config_xkboptions); - - fprintf(f, "%s",keyboardlastchunk_text); - - /* - * Write pointer section. - */ - fprintf(f, "%s", pointersection_text1); - fprintf(f, " Option \"Protocol\" \"%s\"\t# %s\n", - mouse_info[config_mousetype].name, - mouse_info[config_mousetype].desc); -#if !defined(QNX4) - fprintf(f, " Option \"Device\" \"%s\"\n", config_pointerdevice); -#endif - fprintf(f, "%s", pointersection_text2); - if (!config_emulate3buttons) - fprintf(f, "#"); - fprintf(f, " Option \"Emulate3Buttons\"\n"); - fprintf(f, "# Option \"Emulate3Timeout\" \"50\"\n\n"); - fprintf(f, "# ChordMiddle is an option for some 3-button Logitech mice\n\n"); - if (!config_chordmiddle) - fprintf(f, "#"); - fprintf(f, " Option \"ChordMiddle\"\n\n"); - if (config_cleardtrrts) { - fprintf(f, " Option \"ClearDTR\"\n"); - fprintf(f, " Option \"ClearRTS\"\n\n"); - } - fprintf(f, "EndSection\n\n\n"); - - /* - * Write XInput sample section - */ - fprintf(f, "%s", xinputsection_text); - - /* - * Write monitor section. - */ - fprintf(f, "%s", monitorsection_text1); - fprintf(f, " Identifier \"%s\"\n", config_monitoridentifier); - fprintf(f, "\n"); - fprintf(f, "%s", monitorsection_text2); - fprintf(f, " HorizSync %s\n", config_hsyncrange); - fprintf(f, "\n"); - fprintf(f, "%s", monitorsection_text3); - fprintf(f, " VertRefresh %s\n", config_vsyncrange); - fprintf(f, "\n"); -#if 0 - fprintf(f, "%s", monitorsection_text4); - fprintf(f, "%s", modelines_text); -#endif - fprintf(f, "EndSection\n\n\n"); - - /* - * Write Device section. - */ - - fprintf(f, "%s", devicesection_text); - fprintf(f, "Section \"Device\"\n"); - fprintf(f, " Identifier \"%s\"\n", config_deviceidentifier); - if (card_selected != -1) { - fprintf(f, " Driver \"%s\"\n", card[card_selected].driver); - if (card[card_selected].flags & UNSUPPORTED) { - fprintf(f, " # unsupported card\n"); - } - } else { - fprintf(f, " Driver \"vga\"\n" - " # unsupported card\n"); - } - /* Rely on server to detect video memory. */ - fprintf(f, " #VideoRam %d\n", config_videomemory); - if (card_selected != -1) - /* Add comment lines from card definition. */ - fprintf(f, card[card_selected].lines); - if (config_ramdac != NULL) - fprintf(f, " Ramdac \"%s\"\n", config_ramdac); - if (card_selected != -1) - if (card[card_selected].dacspeed != NULL) - fprintf(f, " Dacspeed %s\n", - card[card_selected].dacspeed); - if (config_clockchip != NULL) - fprintf(f, " Clockchip \"%s\"\n", config_clockchip); - else - if (config_numberofclockslines == 0) - fprintf(f, " # Insert Clocks lines here if appropriate\n"); - else { - int i; - for (i = 0; i < config_numberofclockslines; i++) - fprintf(f, " Clocks %s\n", config_clocksline[i]); - } - fprintf(f, "EndSection\n\n\n"); - - /* - * Write Screen sections. - */ - - fprintf(f, "%s", screensection_text1); - - fprintf(f, - "Section \"Screen\"\n" - " Identifier \"Screen 1\"\n" - " Device \"%s\"\n" - " Monitor \"%s\"\n" - " DefaultDepth %s\n" - "\n" - " Subsection \"Display\"\n" - " Depth 8\n" - " Modes %s\n" - " ViewPort 0 0\n", - config_deviceidentifier, - config_monitoridentifier, - config_depth, - config_modesline8bpp); - if (config_virtual) - fprintf(f, " Virtual %d %d\n", - config_virtualx8bpp, config_virtualy8bpp); - fprintf(f, - " EndSubsection\n" - " Subsection \"Display\"\n" - " Depth 16\n" - " Modes %s\n" - " ViewPort 0 0\n", - config_modesline16bpp); - if (config_virtual) - fprintf(f, " Virtual %d %d\n", - config_virtualx16bpp, config_virtualy16bpp); - fprintf(f, - " EndSubsection\n" - " Subsection \"Display\"\n" - " Depth 24\n" - " Modes %s\n" - " ViewPort 0 0\n", - config_modesline24bpp); - if (config_virtual) - fprintf(f, " Virtual %d %d\n", - config_virtualx24bpp, config_virtualy24bpp); - fprintf(f, - " EndSubsection\n" - "EndSection\n" - "\n"); - - /* - * ServerLayout section - */ - - fprintf(f, serverlayout_section_text1); - /* replace with screen config */ - fprintf(f, " Screen \"Screen 1\"\n"); - - fprintf(f, serverlayout_section_text2); - - fclose(f); - return(0); -} - -static char * -append_version(char *name) -{ -#ifdef APPEND_VERSION_TO_CONFIG_NAME - char *ret = NULL; - - if (XF86_VERSION_MAJOR > 9 || XF86_VERSION_MAJOR < 0) - return name; - - ret = Malloc(strlen(name) + 2 + 1); - sprintf(ret, "%s-%d", name, XF86_VERSION_MAJOR); - free(name); - return ret; -#else - return name; -#endif -} - -/* - * Ask where to write XF86Config to. Returns filename. - */ - -static char * -ask_XF86Config_location(void) { - char s[80]; - char *filename = NULL; - - printf( -"I am going to write the " CONFIGNAME " file now. Make sure you don't accidently\n" -"overwrite a previously configured one.\n\n"); - - if (getuid() == 0) { -#ifdef PREFER_XF86CONFIG_IN_ETC - filename = Strdup("/etc/X11/" XCONFIGFILE); - filename = append_version(filename); - printf("Shall I write it to %s? ", filename); - getstring(s); - printf("\n"); - if (answerisyes(s)) - return filename; -#endif - - if (filename) - free(filename); - filename = Strdup(TREEROOTCFG "/" XCONFIGFILE); - filename = append_version(filename); - printf("Please answer the following question with either 'y' or 'n'.\n"); - printf("Shall I write it to the default location, %s? ", filename); - getstring(s); - printf("\n"); - if (answerisyes(s)) - return filename; - -#ifndef PREFER_XF86CONFIG_IN_ETC - if (filename) - free(filename); - filename = Strdup("/etc/X11/" XCONFIGFILE); - filename = append_version(filename); - printf("Shall I write it to %s? ", filename); - getstring(s); - printf("\n"); - if (answerisyes(s)) - return filename; -#endif - } - - if (filename) - free(filename); - filename = Strdup(XCONFIGFILE); - filename = append_version(filename); - printf("Do you want it written to the current directory as '%s'? ", filename); - getstring(s); - printf("\n"); - if (answerisyes(s)) { - return filename; - } - - printf("Please give a filename to write to: "); - getstring(s); - printf("\n"); - if (filename) - free(filename); - filename = Strdup(s); - return filename; -} - - -/* - * Check if an earlier version of XFree86 is installed; warn about proper - * search path order in that case. - */ - -static char *notinstalled_text = -"The directory " TREEROOT " does not exist. This probably means that you have\n" -"not yet installed the version of "__XSERVERNAME__" that this program was built\n" -"to configure. Please install "__XSERVERNAME__" "XVERSIONSTRING" before running this program,\n" -"following the instructions in the INSTALL or README that comes with the\n" -__XSERVERNAME__" distribution for your OS.\n" -"For a minimal installation it is sufficient to only install base binaries,\n" -"libraries, configuration files and a server that you want to use.\n" -"\n"; - -static char *oldxfree86_text = -"The directory '/usr/X386/bin' exists. You probably have a very old version of\n" -"XFree86 installed, but this program was built to configure "__XSERVERNAME__" "XVERSIONSTRING"\n" -"installed in '" TREEROOT "' instead of '/usr/X386'.\n" -"\n" -"It is important that the directory '" TREEROOT "' is present in your\n" -"search path, *before* any occurrence of '/usr/X386/bin'. If you have installed\n" -"X program binaries that are not in the base "__XSERVERNAME__" distribution in\n" -"'/usr/X386/bin', you can keep the directory in your path as long as it is\n" -"after '" TREEROOT "'.\n" -"\n"; - -static char *pathnote_text = -"Note that the X binary directory in your path may be a symbolic link.\n" -"In that case you could modify the symbolic link to point to the new binaries.\n" -"Example: 'rm -f /usr/bin/X11; ln -s /usr/X11R6/bin /usr/bin/X11', if the\n" -"link is '/usr/bin/X11'.\n" -"\n" -"Make sure the path is OK before continuing.\n"; - -static void -path_check(void) { - char s[80]; - int ok; - - ok = exists_dir(TREEROOT); - if (!ok) { - printf("%s", notinstalled_text); - printf("Do you want to continue? "); - getstring(s); - if (!answerisyes(s)) - exit(-1); - printf("\n"); - } - - ok = exists_dir("/usr/X386/bin"); - if (!ok) - return; - - printf("%s", oldxfree86_text); - printf("Your PATH is currently set as follows:\n%s\n\n", - getenv("PATH")); - printf("%s", pathnote_text); - keypress(); -} - - -static void -configdir_check(void) -{ - /* /etc/X11 may not exist on some systems */ - if (getuid() == 0) { - struct stat buf; - if (stat("/etc/X11", &buf) == -1 && errno == ENOENT) - mkdir("/etc/X11", 0777); - if (stat(TREEROOTCFG, &buf) == -1 && errno == ENOENT) - mkdir(TREEROOTCFG, 0777); - } -} - - -/* - * Program entry point. - */ - -int -main(int argc, char *argv[]) { - - createtmpdir(); - - emptylines(); - - printf("%s", intro_text); - - keypress(); - emptylines(); - - path_check(); - - emptylines(); - - configdir_check(); - - emptylines(); - - mouse_configuration(); - - emptylines(); - - keyboard_configuration(); - - emptylines(); - - monitor_configuration(); - - emptylines(); - - carddb_configuration(); - - emptylines(); - - while(screen_configuration()){}; - - emptylines(); - - depth_configuration(); - - emptylines(); - - while(write_XF86Config(ask_XF86Config_location())){}; - - printf("%s", finalcomment_text); - - exit(0); -} diff --git a/xorg-server/hw/xfree86/utils/xorgconfig/xorgconfig.man.pre b/xorg-server/hw/xfree86/utils/xorgconfig/xorgconfig.man.pre deleted file mode 100644 index b3d656cfa..000000000 --- a/xorg-server/hw/xfree86/utils/xorgconfig/xorgconfig.man.pre +++ /dev/null @@ -1,22 +0,0 @@ -.\" $XdotOrg: $ -.\" $XFree86: xc/programs/Xserver/hw/xfree86/xf86config/xorgconfig.man,v 1.5 2001/11/01 23:35:34 dawes Exp $ -.TH xorgconfig 1 __vendorversion__ -.SH NAME -xorgconfig \- generate an __XCONFIGFILE__ file -.SH SYNOPSIS -.B xorgconfig -.SH DESCRIPTION -\fIxorgconfig\fP is an interactive program for generating an __XCONFIGFILE__ file -for use with __XSERVERNAME__ X servers. -.PP -Note that the default name used by \fIxorgconfig\fP for the __XCONFIGFILE__ file -is system-dependent. For instance, on OS/2, XConfig is used. -.SH FILES -.TP -.I __projectroot__/lib/X11/Cards -Video cards database -.SH "SEE ALSO" -__XSERVERNAME__(1), __XCONFIGFILE__(__filemansuffix__), xorgcfg(1), reconfig(1) -.SH AUTHOR -Harm Hanemaayer. -.\" $TOG: xf86conf.man /main/9 1997/07/19 10:53:08 kaleb $ |