xfree86: use sed rather than cpp to perform string substitutions

Makefile.am: there are only 4 string substitutions to be done in this file.
SED is much simpler than the C pre processor which adds its own
strings which must be substituted by sed, still.

xorgconf.cpp: replaced __xconfigfile__ with xorg.conf as this file name
is hard coded in the xserver configuration and cannot change.
Replace XCOMM with # permanently.

Delete cpprules.in as it isn't used anywhere else. Should one need
cpprules for real cpp work, there is one in Xquartz from which the
the old man pages code have been stripped.

Fix trailing spaces.

Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Rémi Cardona <remi@gentoo.org>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
Signed-off-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
Gaetan Nadon 2011-01-09 20:28:30 -05:00 committed by Keith Packard
parent 885a333009
commit 7ed0d426f6
4 changed files with 304 additions and 356 deletions

View File

@ -1,49 +0,0 @@
# -*- Makefile -*-
# Rules for generating files using the C pre-processor
# (Replaces CppFileTarget from Imake)
SUFFIXES = .pre .man .man.pre
# 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__sysconfdir__=$(sysconfdir) \
-D__datadir__=$(datadir) \
-D__xconfigfile__=$(__XCONFIGFILE__) \
-D__xconfigdir__=$(__XCONFIGDIR__) \
-D__xkbdir__=$(XKB_BASE_DIRECTORY) \
-D__modulepath__="$(DEFAULT_MODULE_PATH)" \
-D__xlogfile__=$(XLOGFILE) -D__xservername__=$(XSERVERNAME)
.pre:
$(AM_V_GEN)$(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < $< | $(CPP_SED_MAGIC) > $@
.man.pre.man:
$(AM_V_GEN)$(RAWCPP) $(RAWCPPFLAGS) $(MANDEFS) $(EXTRAMANDEFS) < $< | $(CPP_SED_MAGIC) > $@

View File

@ -1,7 +1,4 @@
# Add & Override for this directory and it's subdirectories
libxorg.c libxorg.c
Xorg Xorg
xorg.c xorg.c
xorg.conf.example xorg.conf.example
xorg.conf.example.pre

View File

@ -1,4 +1,3 @@
include $(top_srcdir)/cpprules.in
if DRI if DRI
DRI_SUBDIR = dri DRI_SUBDIR = dri
@ -77,7 +76,7 @@ Xorg_LDADD = $(MAIN_LIB) libxorg.la $(XORG_SYS_LIBS) $(XSERVER_SYS_LIBS)
Xorg_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG) Xorg_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG)
BUILT_SOURCES = xorg.conf.example BUILT_SOURCES = xorg.conf.example
DISTCLEANFILES += xorg.conf.example xorg.conf.example.pre DISTCLEANFILES += xorg.conf.example
EXTRA_DIST = xorgconf.cpp EXTRA_DIST = xorgconf.cpp
if SPECIAL_DTRACE_OBJECTS if SPECIAL_DTRACE_OBJECTS
@ -108,13 +107,14 @@ if INSTALL_SETUID
chmod u+s $(DESTDIR)$(bindir)/Xorg chmod u+s $(DESTDIR)$(bindir)/Xorg
endif endif
CPP_FILES_FLAGS = \ # Use variables from XORG_MANPAGE_SECTIONS and X Server configuration
$(MANDEFS) \ # Do not include manpages.am as values are not appropriate for rc files
-DDEFAULTFONTPATH="\"$(COMPILEDDEFAULTFONTPATH)\"" \ CONF_SUBSTS = -e 's|__filemansuffix__|$(FILE_MAN_SUFFIX)|g' \
-DMODULEPATH=\"$(DEFAULT_MODULE_PATH)\" -e 's|MODULEPATH|$(DEFAULT_MODULE_PATH)|g' \
-e 's|DEFAULTFONTPATH|$(COMPILEDDEFAULTFONTPATH)|g'
xorg.conf.example: xorgconf.cpp
$(AM_V_GEN)$(SED) $(CONF_SUBSTS) < $< > $@
relink: relink:
$(AM_V_at)rm -f Xorg && $(MAKE) Xorg $(AM_V_at)rm -f Xorg && $(MAKE) Xorg
xorg.conf.example.pre: xorgconf.cpp
cp $(srcdir)/xorgconf.cpp $@

View File

@ -1,73 +1,73 @@
XCOMM #
XCOMM Copyright (c) 1994-1998 by The XFree86 Project, Inc. # Copyright (c) 1994-1998 by The XFree86 Project, Inc.
XCOMM #
XCOMM Permission is hereby granted, free of charge, to any person obtaining a # Permission is hereby granted, free of charge, to any person obtaining a
XCOMM copy of this software and associated documentation files (the "Software"), # copy of this software and associated documentation files (the "Software"),
XCOMM to deal in the Software without restriction, including without limitation # to deal in the Software without restriction, including without limitation
XCOMM the rights to use, copy, modify, merge, publish, distribute, sublicense, # the rights to use, copy, modify, merge, publish, distribute, sublicense,
XCOMM and/or sell copies of the Software, and to permit persons to whom the # and/or sell copies of the Software, and to permit persons to whom the
XCOMM Software is furnished to do so, subject to the following conditions: # Software is furnished to do so, subject to the following conditions:
XCOMM #
XCOMM The above copyright notice and this permission notice shall be included in # The above copyright notice and this permission notice shall be included in
XCOMM all copies or substantial portions of the Software. # all copies or substantial portions of the Software.
XCOMM #
XCOMM THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
XCOMM IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
XCOMM FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
XCOMM THE XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, # THE XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
XCOMM WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF # WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
XCOMM OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
XCOMM SOFTWARE. # SOFTWARE.
XCOMM #
XCOMM Except as contained in this notice, the name of the XFree86 Project shall # Except as contained in this notice, the name of the XFree86 Project shall
XCOMM not be used in advertising or otherwise to promote the sale, use or other # not be used in advertising or otherwise to promote the sale, use or other
XCOMM dealings in this Software without prior written authorization from the # dealings in this Software without prior written authorization from the
XCOMM XFree86 Project. # XFree86 Project.
XCOMM #
XCOMM $XConsortium: XF86Conf.cpp /main/22 1996/10/23 11:43:51 kaleb $ # $XConsortium: XF86Conf.cpp /main/22 1996/10/23 11:43:51 kaleb $
XCOMM ********************************************************************** # **********************************************************************
XCOMM This is a sample configuration file only, intended to illustrate # This is a sample configuration file only, intended to illustrate
XCOMM what a config file might look like. Refer to the __xconfigfile__(__filemansuffix__) # what a config file might look like. Refer to the xorg.conf(__filemansuffix__)
XCOMM man page for details about the format of this file. # man page for details about the format of this file.
XCOMM ********************************************************************** # **********************************************************************
XCOMM The ordering of sections is not important in XFree86 4.0 and later, # The ordering of sections is not important in XFree86 4.0 and later,
XCOMM nor in any Xorg release. # nor in any Xorg release.
XCOMM ********************************************************************** # **********************************************************************
XCOMM Files section. This allows default font and module paths to be set # Files section. This allows default font and module paths to be set
XCOMM ********************************************************************** # **********************************************************************
Section "Files" Section "Files"
XCOMM Multiple FontPath entries are allowed (which are concatenated together), # Multiple FontPath entries are allowed (which are concatenated together),
XCOMM as well as specifying multiple comma-separated entries in one FontPath # as well as specifying multiple comma-separated entries in one FontPath
XCOMM command (or a combination of both methods). # command (or a combination of both methods).
XCOMM The default path is shown here. # The default path is shown here.
XCOMM FontPath DEFAULTFONTPATH # FontPath DEFAULTFONTPATH
XCOMM ModulePath can be used to set a search path for the X server modules. # ModulePath can be used to set a search path for the X server modules.
XCOMM The default path is shown here. # The default path is shown here.
XCOMM ModulePath MODULEPATH # ModulePath MODULEPATH
EndSection EndSection
XCOMM ********************************************************************** # **********************************************************************
XCOMM Module section -- this is an optional section which is used to specify # Module section -- this is an optional section which is used to specify
XCOMM which run-time loadable modules to load when the X server starts up. # which run-time loadable modules to load when the X server starts up.
XCOMM ********************************************************************** # **********************************************************************
Section "Module" Section "Module"
XCOMM This loads the DBE extension module. # This loads the DBE extension module.
Load "dbe" Load "dbe"
XCOMM This loads the miscellaneous extensions module, and disables # This loads the miscellaneous extensions module, and disables
XCOMM initialisation of the XFree86-DGA extension within that module. # initialisation of the XFree86-DGA extension within that module.
SubSection "extmod" SubSection "extmod"
Option "omit xfree86-dga" Option "omit xfree86-dga"
@ -76,53 +76,53 @@ XCOMM initialisation of the XFree86-DGA extension within that module.
EndSection EndSection
XCOMM ********************************************************************** # **********************************************************************
XCOMM Server flags section. This contains various server-wide Options. # Server flags section. This contains various server-wide Options.
XCOMM ********************************************************************** # **********************************************************************
Section "ServerFlags" Section "ServerFlags"
XCOMM Uncomment this to cause a core dump at the spot where a signal is # Uncomment this to cause a core dump at the spot where a signal is
XCOMM received. This may leave the console in an unusable state, but may # received. This may leave the console in an unusable state, but may
XCOMM provide a better stack trace in the core dump to aid in debugging # provide a better stack trace in the core dump to aid in debugging
XCOMM Option "NoTrapSignals" # Option "NoTrapSignals"
XCOMM Uncomment this to disable the <Ctrl><Alt><Fn> VT switch sequence # Uncomment this to disable the <Ctrl><Alt><Fn> VT switch sequence
XCOMM (where n is 1 through 12). This allows clients to receive these key # (where n is 1 through 12). This allows clients to receive these key
XCOMM events. # events.
XCOMM Option "DontVTSwitch" # Option "DontVTSwitch"
XCOMM Uncomment this to disable the <Ctrl><Alt><BS> server abort sequence # Uncomment this to disable the <Ctrl><Alt><BS> server abort sequence
XCOMM This allows clients to receive this key event. # This allows clients to receive this key event.
XCOMM Option "DontZap" "false" # Option "DontZap" "false"
XCOMM Uncomment this to disable the <Ctrl><Alt><KP_+>/<KP_-> mode switching # Uncomment this to disable the <Ctrl><Alt><KP_+>/<KP_-> mode switching
XCOMM sequences. This allows clients to receive these key events. # sequences. This allows clients to receive these key events.
XCOMM Option "DontZoom" # Option "DontZoom"
XCOMM Uncomment this to disable tuning with the xvidtune client. With # Uncomment this to disable tuning with the xvidtune client. With
XCOMM it the client can still run and fetch card and monitor attributes, # it the client can still run and fetch card and monitor attributes,
XCOMM but it will not be allowed to change them. If it tries it will # but it will not be allowed to change them. If it tries it will
XCOMM receive a protocol error. # receive a protocol error.
XCOMM Option "DisableVidModeExtension" # Option "DisableVidModeExtension"
XCOMM Uncomment this to enable the use of a non-local xvidtune client. # Uncomment this to enable the use of a non-local xvidtune client.
XCOMM Option "AllowNonLocalXvidtune" # Option "AllowNonLocalXvidtune"
XCOMM Set the basic blanking screen saver timeout. # Set the basic blanking screen saver timeout.
Option "BlankTime" "10" # 10 minutes Option "BlankTime" "10" # 10 minutes
XCOMM Set the DPMS timeouts. These are set here because they are global # Set the DPMS timeouts. These are set here because they are global
XCOMM rather than screen-specific. These settings alone don't enable DPMS. # rather than screen-specific. These settings alone don't enable DPMS.
XCOMM It is enabled per-screen (or per-monitor), and even then only when # It is enabled per-screen (or per-monitor), and even then only when
XCOMM the driver supports it. # the driver supports it.
Option "StandbyTime" "10" # 10 minutes Option "StandbyTime" "10" # 10 minutes
Option "SuspendTime" "10" # 10 minutes Option "SuspendTime" "10" # 10 minutes
@ -130,115 +130,115 @@ XCOMM the driver supports it.
EndSection EndSection
XCOMM ********************************************************************** # **********************************************************************
XCOMM Input devices # Input devices
XCOMM ********************************************************************** # **********************************************************************
XCOMM ********************************************************************** # **********************************************************************
XCOMM Core keyboard's InputDevice section # Core keyboard's InputDevice section
XCOMM ********************************************************************** # **********************************************************************
Section "InputDevice" Section "InputDevice"
Identifier "Keyboard1" Identifier "Keyboard1"
Driver "kbd" Driver "kbd"
XCOMM Set the keyboard auto repeat parameters. Not all platforms implement # Set the keyboard auto repeat parameters. Not all platforms implement
XCOMM this. # this.
Option "AutoRepeat" "500 5" Option "AutoRepeat" "500 5"
XCOMM Specifiy which keyboard LEDs can be user-controlled (eg, with xset(1)). # Specifiy which keyboard LEDs can be user-controlled (eg, with xset(1)).
XCOMM Option "Xleds" "1 2 3" # Option "Xleds" "1 2 3"
XCOMM To customise the XKB settings to suit your keyboard, modify the # To customise the XKB settings to suit your keyboard, modify the
XCOMM lines below (which are the defaults). For example, for a European # lines below (which are the defaults). For example, for a European
XCOMM keyboard, you will probably want to use one of: # keyboard, you will probably want to use one of:
XCOMM #
XCOMM Option "XkbModel" "pc102" # Option "XkbModel" "pc102"
XCOMM Option "XkbModel" "pc105" # Option "XkbModel" "pc105"
XCOMM #
XCOMM If you have a Microsoft Natural keyboard, you can use: # If you have a Microsoft Natural keyboard, you can use:
XCOMM #
XCOMM Option "XkbModel" "microsoft" # Option "XkbModel" "microsoft"
XCOMM #
XCOMM If you have a US "windows" keyboard you will want: # If you have a US "windows" keyboard you will want:
XCOMM #
XCOMM Option "XkbModel" "pc104" # Option "XkbModel" "pc104"
XCOMM #
XCOMM Then to change the language, change the Layout setting. # Then to change the language, change the Layout setting.
XCOMM For example, a german layout can be obtained with: # For example, a german layout can be obtained with:
XCOMM #
XCOMM Option "XkbLayout" "de" # Option "XkbLayout" "de"
XCOMM #
XCOMM or: # or:
XCOMM #
XCOMM Option "XkbLayout" "de" # Option "XkbLayout" "de"
XCOMM Option "XkbVariant" "nodeadkeys" # Option "XkbVariant" "nodeadkeys"
XCOMM #
XCOMM If you'd like to switch the positions of your capslock and # If you'd like to switch the positions of your capslock and
XCOMM control keys, use: # control keys, use:
XCOMM #
XCOMM Option "XkbOptions" "ctrl:swapcaps" # Option "XkbOptions" "ctrl:swapcaps"
XCOMM These are the default XKB settings for xorg # These are the default XKB settings for xorg
XCOMM #
XCOMM Option "XkbRules" "xorg" # Option "XkbRules" "xorg"
XCOMM Option "XkbModel" "pc105" # Option "XkbModel" "pc105"
XCOMM Option "XkbLayout" "us" # Option "XkbLayout" "us"
XCOMM Option "XkbVariant" "" # Option "XkbVariant" ""
XCOMM Option "XkbOptions" "" # Option "XkbOptions" ""
EndSection EndSection
XCOMM ********************************************************************** # **********************************************************************
XCOMM Core Pointer's InputDevice section # Core Pointer's InputDevice section
XCOMM ********************************************************************** # **********************************************************************
Section "InputDevice" Section "InputDevice"
XCOMM Identifier and driver # Identifier and driver
Identifier "Mouse1" Identifier "Mouse1"
Driver "mouse" Driver "mouse"
XCOMM The mouse protocol and device. The device is normally set to /dev/mouse, # The mouse protocol and device. The device is normally set to /dev/mouse,
XCOMM which is usually a symbolic link to the real device. # which is usually a symbolic link to the real device.
Option "Protocol" "Microsoft" Option "Protocol" "Microsoft"
Option "Device" "/dev/mouse" Option "Device" "/dev/mouse"
XCOMM On platforms where PnP mouse detection is supported the following # On platforms where PnP mouse detection is supported the following
XCOMM protocol setting can be used when using a newer PnP mouse: # protocol setting can be used when using a newer PnP mouse:
XCOMM Option "Protocol" "Auto" # Option "Protocol" "Auto"
XCOMM When using mouse connected to a PS/2 port (aka "MousePort"), set the # When using mouse connected to a PS/2 port (aka "MousePort"), set the
XCOMM the protocol as follows. On some platforms some other settings may # the protocol as follows. On some platforms some other settings may
XCOMM be available. # be available.
XCOMM Option "Protocol" "PS/2" # Option "Protocol" "PS/2"
XCOMM Baudrate and SampleRate are only for some older Logitech mice. In # Baudrate and SampleRate are only for some older Logitech mice. In
XCOMM almost every case these lines should be omitted. # almost every case these lines should be omitted.
XCOMM Option "BaudRate" "9600" # Option "BaudRate" "9600"
XCOMM Option "SampleRate" "150" # Option "SampleRate" "150"
XCOMM Emulate3Buttons is an option for 2-button mice # Emulate3Buttons is an option for 2-button mice
XCOMM Emulate3Timeout is the timeout in milliseconds (default is 50ms) # Emulate3Timeout is the timeout in milliseconds (default is 50ms)
XCOMM Option "Emulate3Buttons" # Option "Emulate3Buttons"
XCOMM Option "Emulate3Timeout" "50" # Option "Emulate3Timeout" "50"
XCOMM ChordMiddle is an option for some 3-button Logitech mice, or any # ChordMiddle is an option for some 3-button Logitech mice, or any
XCOMM 3-button mouse where the middle button generates left+right button # 3-button mouse where the middle button generates left+right button
XCOMM events. # events.
XCOMM Option "ChordMiddle" # Option "ChordMiddle"
EndSection EndSection
@ -249,91 +249,91 @@ Section "InputDevice"
Option "Device" "/dev/mouse2" Option "Device" "/dev/mouse2"
EndSection EndSection
XCOMM Some examples of extended input devices # Some examples of extended input devices
XCOMM Section "InputDevice" # Section "InputDevice"
XCOMM Identifier "spaceball" # Identifier "spaceball"
XCOMM Driver "magellan" # Driver "magellan"
XCOMM Option "Device" "/dev/cua0" # Option "Device" "/dev/cua0"
XCOMM EndSection # EndSection
XCOMM #
XCOMM Section "InputDevice" # Section "InputDevice"
XCOMM Identifier "spaceball2" # Identifier "spaceball2"
XCOMM Driver "spaceorb" # Driver "spaceorb"
XCOMM Option "Device" "/dev/cua0" # Option "Device" "/dev/cua0"
XCOMM EndSection # EndSection
XCOMM #
XCOMM Section "InputDevice" # Section "InputDevice"
XCOMM Identifier "touchscreen0" # Identifier "touchscreen0"
XCOMM Driver "microtouch" # Driver "microtouch"
XCOMM Option "Device" "/dev/ttyS0" # Option "Device" "/dev/ttyS0"
XCOMM Option "MinX" "1412" # Option "MinX" "1412"
XCOMM Option "MaxX" "15184" # Option "MaxX" "15184"
XCOMM Option "MinY" "15372" # Option "MinY" "15372"
XCOMM Option "MaxY" "1230" # Option "MaxY" "1230"
XCOMM Option "ScreenNumber" "0" # Option "ScreenNumber" "0"
XCOMM Option "ReportingMode" "Scaled" # Option "ReportingMode" "Scaled"
XCOMM Option "ButtonNumber" "1" # Option "ButtonNumber" "1"
XCOMM Option "SendCoreEvents" # Option "SendCoreEvents"
XCOMM EndSection # EndSection
XCOMM #
XCOMM Section "InputDevice" # Section "InputDevice"
XCOMM Identifier "touchscreen1" # Identifier "touchscreen1"
XCOMM Driver "elo2300" # Driver "elo2300"
XCOMM Option "Device" "/dev/ttyS0" # Option "Device" "/dev/ttyS0"
XCOMM Option "MinX" "231" # Option "MinX" "231"
XCOMM Option "MaxX" "3868" # Option "MaxX" "3868"
XCOMM Option "MinY" "3858" # Option "MinY" "3858"
XCOMM Option "MaxY" "272" # Option "MaxY" "272"
XCOMM Option "ScreenNumber" "0" # Option "ScreenNumber" "0"
XCOMM Option "ReportingMode" "Scaled" # Option "ReportingMode" "Scaled"
XCOMM Option "ButtonThreshold" "17" # Option "ButtonThreshold" "17"
XCOMM Option "ButtonNumber" "1" # Option "ButtonNumber" "1"
XCOMM Option "SendCoreEvents" # Option "SendCoreEvents"
XCOMM EndSection # EndSection
XCOMM ********************************************************************** # **********************************************************************
XCOMM Monitor section # Monitor section
XCOMM ********************************************************************** # **********************************************************************
XCOMM Any number of monitor sections may be present # Any number of monitor sections may be present
Section "Monitor" Section "Monitor"
XCOMM The identifier line must be present. # The identifier line must be present.
Identifier "Generic Monitor" Identifier "Generic Monitor"
XCOMM HorizSync is in kHz unless units are specified. # HorizSync is in kHz unless units are specified.
XCOMM HorizSync may be a comma separated list of discrete values, or a # HorizSync may be a comma separated list of discrete values, or a
XCOMM comma separated list of ranges of values. # comma separated list of ranges of values.
XCOMM NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR'S # NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR'S
XCOMM USER MANUAL FOR THE CORRECT NUMBERS. # USER MANUAL FOR THE CORRECT NUMBERS.
XCOMM HorizSync 31.5 # typical for a single frequency fixed-sync monitor # HorizSync 31.5 # typical for a single frequency fixed-sync monitor
XCOMM HorizSync 30-64 # multisync # HorizSync 30-64 # multisync
XCOMM HorizSync 31.5, 35.2 # multiple fixed sync frequencies # HorizSync 31.5, 35.2 # multiple fixed sync frequencies
XCOMM HorizSync 15-25, 30-50 # multiple ranges of sync frequencies # HorizSync 15-25, 30-50 # multiple ranges of sync frequencies
XCOMM VertRefresh is in Hz unless units are specified. # VertRefresh is in Hz unless units are specified.
XCOMM VertRefresh may be a comma separated list of discrete values, or a # VertRefresh may be a comma separated list of discrete values, or a
XCOMM comma separated list of ranges of values. # comma separated list of ranges of values.
XCOMM NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR'S # NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR'S
XCOMM USER MANUAL FOR THE CORRECT NUMBERS. # USER MANUAL FOR THE CORRECT NUMBERS.
XCOMM VertRefresh 60 # typical for a single frequency fixed-sync monitor # VertRefresh 60 # typical for a single frequency fixed-sync monitor
XCOMM VertRefresh 50-100 # multisync # VertRefresh 50-100 # multisync
XCOMM VertRefresh 60, 65 # multiple fixed sync frequencies # VertRefresh 60, 65 # multiple fixed sync frequencies
XCOMM VertRefresh 40-50, 80-100 # multiple ranges of sync frequencies # VertRefresh 40-50, 80-100 # multiple ranges of sync frequencies
XCOMM Modes can be specified in two formats. A compact one-line format, or # Modes can be specified in two formats. A compact one-line format, or
XCOMM a multi-line format. # a multi-line format.
XCOMM A generic VGA 640x480 mode (hsync = 31.5kHz, refresh = 60Hz) # A generic VGA 640x480 mode (hsync = 31.5kHz, refresh = 60Hz)
XCOMM These two are equivalent # These two are equivalent
XCOMM ModeLine "640x480" 25.175 640 664 760 800 480 491 493 525 # ModeLine "640x480" 25.175 640 664 760 800 480 491 493 525
Mode "640x480" Mode "640x480"
DotClock 25.175 DotClock 25.175
@ -341,75 +341,75 @@ XCOMM ModeLine "640x480" 25.175 640 664 760 800 480 491 493 525
VTimings 480 491 493 525 VTimings 480 491 493 525
EndMode EndMode
XCOMM These two are equivalent # These two are equivalent
XCOMM ModeLine "1024x768i" 45 1024 1048 1208 1264 768 776 784 817 Interlace # ModeLine "1024x768i" 45 1024 1048 1208 1264 768 776 784 817 Interlace
XCOMM Mode "1024x768i" # Mode "1024x768i"
XCOMM DotClock 45 # DotClock 45
XCOMM HTimings 1024 1048 1208 1264 # HTimings 1024 1048 1208 1264
XCOMM VTimings 768 776 784 817 # VTimings 768 776 784 817
XCOMM Flags "Interlace" # Flags "Interlace"
XCOMM EndMode # EndMode
XCOMM If a monitor has DPMS support, that can be indicated here. This will # If a monitor has DPMS support, that can be indicated here. This will
XCOMM enable DPMS when the monitor is used with drivers that support it. # enable DPMS when the monitor is used with drivers that support it.
XCOMM Option "dpms" # Option "dpms"
XCOMM If a monitor requires that the sync signals be superimposed on the # If a monitor requires that the sync signals be superimposed on the
XCOMM green signal, the following option will enable this when used with # green signal, the following option will enable this when used with
XCOMM drivers that support it. Only a relatively small range of hardware # drivers that support it. Only a relatively small range of hardware
XCOMM (and drivers) actually support this. # (and drivers) actually support this.
XCOMM Option "sync on green" # Option "sync on green"
EndSection EndSection
XCOMM ********************************************************************** # **********************************************************************
XCOMM Graphics device section # Graphics device section
XCOMM ********************************************************************** # **********************************************************************
XCOMM Any number of graphics device sections may be present # Any number of graphics device sections may be present
Section "Device" Section "Device"
XCOMM The Identifier must be present. # The Identifier must be present.
Identifier "Generic VESA" Identifier "Generic VESA"
XCOMM The Driver line must be present. When using run-time loadable driver # The Driver line must be present. When using run-time loadable driver
XCOMM modules, this line instructs the server to load the specified driver # modules, this line instructs the server to load the specified driver
XCOMM module. Even when not using loadable driver modules, this line # module. Even when not using loadable driver modules, this line
XCOMM indicates which driver should interpret the information in this section. # indicates which driver should interpret the information in this section.
Driver "vesa" Driver "vesa"
XCOMM The chipset line is optional in most cases. It can be used to override # The chipset line is optional in most cases. It can be used to override
XCOMM the driver's chipset detection, and should not normally be specified. # the driver's chipset detection, and should not normally be specified.
XCOMM Chipset "generic" # Chipset "generic"
XCOMM Various other lines can be specified to override the driver's automatic # Various other lines can be specified to override the driver's automatic
XCOMM detection code. In most cases they are not needed. # detection code. In most cases they are not needed.
XCOMM VideoRam 256 # VideoRam 256
XCOMM Clocks 25.2 28.3 # Clocks 25.2 28.3
XCOMM The BusID line is used to specify which of possibly multiple devices # The BusID line is used to specify which of possibly multiple devices
XCOMM this section is intended for. When this line isn't present, a device # this section is intended for. When this line isn't present, a device
XCOMM section can only match up with the primary video device. For PCI # section can only match up with the primary video device. For PCI
XCOMM devices a line like the following could be used. This line should not # devices a line like the following could be used. This line should not
XCOMM normally be included unless there is more than one video device # normally be included unless there is more than one video device
XCOMM intalled. # intalled.
XCOMM BusID "PCI:0:10:0" # BusID "PCI:0:10:0"
XCOMM Various option lines can be added here as required. Some options # Various option lines can be added here as required. Some options
XCOMM are more appropriate in Screen sections, Display subsections or even # are more appropriate in Screen sections, Display subsections or even
XCOMM Monitor sections. # Monitor sections.
XCOMM Option "hw cursor" "off" # Option "hw cursor" "off"
EndSection EndSection
@ -433,24 +433,24 @@ Section "Device"
EndSection EndSection
XCOMM ********************************************************************** # **********************************************************************
XCOMM Screen sections. # Screen sections.
XCOMM ********************************************************************** # **********************************************************************
XCOMM Any number of screen sections may be present. Each describes # Any number of screen sections may be present. Each describes
XCOMM the configuration of a single screen. A single specific screen section # the configuration of a single screen. A single specific screen section
XCOMM may be specified from the X server command line with the "-screen" # may be specified from the X server command line with the "-screen"
XCOMM option. # option.
Section "Screen" Section "Screen"
XCOMM The Identifier, Device and Monitor lines must be present # The Identifier, Device and Monitor lines must be present
Identifier "Screen 1" Identifier "Screen 1"
Device "Generic VESA" Device "Generic VESA"
Monitor "Generic Monitor" Monitor "Generic Monitor"
XCOMM The favoured Depth and/or Bpp may be specified here # The favoured Depth and/or Bpp may be specified here
DefaultDepth 8 DefaultDepth 8
@ -480,7 +480,7 @@ Section "Screen"
Monitor "Generic Monitor" Monitor "Generic Monitor"
Option "no accel" Option "no accel"
DefaultDepth 16 DefaultDepth 16
XCOMM DefaultDepth 24 # DefaultDepth 24
SubSection "Display" SubSection "Display"
Depth 8 Depth 8
@ -514,38 +514,38 @@ Section "Screen"
EndSection EndSection
XCOMM ********************************************************************** # **********************************************************************
XCOMM ServerLayout sections. # ServerLayout sections.
XCOMM ********************************************************************** # **********************************************************************
XCOMM Any number of ServerLayout sections may be present. Each describes # Any number of ServerLayout sections may be present. Each describes
XCOMM the way multiple screens are organised. A specific ServerLayout # the way multiple screens are organised. A specific ServerLayout
XCOMM section may be specified from the X server command line with the # section may be specified from the X server command line with the
XCOMM "-layout" option. In the absence of this, the first section is used. # "-layout" option. In the absence of this, the first section is used.
XCOMM When now ServerLayout section is present, the first Screen section # When now ServerLayout section is present, the first Screen section
XCOMM is used alone. # is used alone.
Section "ServerLayout" Section "ServerLayout"
XCOMM The Identifier line must be present # The Identifier line must be present
Identifier "Main Layout" Identifier "Main Layout"
XCOMM Each Screen line specifies a Screen section name, and optionally # Each Screen line specifies a Screen section name, and optionally
XCOMM the relative position of other screens. The four names after # the relative position of other screens. The four names after
XCOMM primary screen name are the screens to the top, bottom, left and right # primary screen name are the screens to the top, bottom, left and right
XCOMM of the primary screen. In this example, screen 2 is located to the # of the primary screen. In this example, screen 2 is located to the
XCOMM right of screen 1. # right of screen 1.
Screen "Screen MGA 1" "" "" "" "Screen MGA 2" Screen "Screen MGA 1" "" "" "" "Screen MGA 2"
Screen "Screen MGA 2" "" "" "Screen MGA 1" "" Screen "Screen MGA 2" "" "" "Screen MGA 1" ""
XCOMM Each InputDevice line specifies an InputDevice section name and # Each InputDevice line specifies an InputDevice section name and
XCOMM optionally some options to specify the way the device is to be # optionally some options to specify the way the device is to be
XCOMM used. Those options include "CorePointer", "CoreKeyboard" and # used. Those options include "CorePointer", "CoreKeyboard" and
XCOMM "SendCoreEvents". In this example, "Mouse1" is the core pointer, # "SendCoreEvents". In this example, "Mouse1" is the core pointer,
XCOMM and "Mouse2" is an extended input device that also generates core # and "Mouse2" is an extended input device that also generates core
XCOMM pointer events (i.e., both mice will move the standard pointer). # pointer events (i.e., both mice will move the standard pointer).
InputDevice "Mouse1" "CorePointer" InputDevice "Mouse1" "CorePointer"
InputDevice "Mouse2" "SendCoreEvents" InputDevice "Mouse2" "SendCoreEvents"