summaryrefslogtreecommitdiffstats
path: root/source/x/x11-skel
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2009-08-26 10:00:38 -0500
committer Eric Hameleers <alien@slackware.com>2018-05-31 22:41:17 +0200
commit5a12e7c134274dba706667107d10d231517d3e05 (patch)
tree55718d5acb710fde798d9f38d0bbaf594ed4b296 /source/x/x11-skel
downloadcurrent-5a12e7c134274dba706667107d10d231517d3e05.tar.gz
current-5a12e7c134274dba706667107d10d231517d3e05.tar.xz
Slackware 13.0slackware-13.0
Wed Aug 26 10:00:38 CDT 2009 Slackware 13.0 x86_64 is released as stable! Thanks to everyone who helped make this release possible -- see the RELEASE_NOTES for the credits. The ISOs are off to the replicator. This time it will be a 6 CD-ROM 32-bit set and a dual-sided 32-bit/64-bit x86/x86_64 DVD. We're taking pre-orders now at store.slackware.com. Please consider picking up a copy to help support the project. Once again, thanks to the entire Slackware community for all the help testing and fixing things and offering suggestions during this development cycle. As always, have fun and enjoy! -P.
Diffstat (limited to 'source/x/x11-skel')
-rw-r--r--source/x/x11-skel/doinst.sh36
-rw-r--r--source/x/x11-skel/manpages/xwmconfig.129
-rw-r--r--source/x/x11-skel/scripts/setup.xwmconfig15
-rw-r--r--source/x/x11-skel/scripts/xorg.conf-fbdev507
-rw-r--r--source/x/x11-skel/scripts/xorg.conf-vesa484
-rw-r--r--source/x/x11-skel/scripts/xorgsetup338
-rw-r--r--source/x/x11-skel/scripts/xwmconfig224
-rw-r--r--source/x/x11-skel/slack-desc19
-rwxr-xr-xsource/x/x11-skel/x11-skel.SlackBuild74
9 files changed, 1726 insertions, 0 deletions
diff --git a/source/x/x11-skel/doinst.sh b/source/x/x11-skel/doinst.sh
new file mode 100644
index 000000000..05e7fb0fe
--- /dev/null
+++ b/source/x/x11-skel/doinst.sh
@@ -0,0 +1,36 @@
+
+# X.Org will work without any xorg.conf now, so don't move anything
+# into place by default. Commenting out the block below:
+
+## Use framebuffer by default if no xorg.conf is found:
+#if [ ! -r etc/X11/xorg.conf -a -r etc/X11/xorg.conf-vesa ]; then
+# cp -a etc/X11/xorg.conf-vesa etc/X11/xorg.conf
+#fi
+
+( cd usr/lib/X11 ; rm -rf fonts )
+( cd usr/lib/X11 ; ln -sf ../../share/fonts fonts )
+# This setup should allow the following packages to install in a
+# sane fashion, and should also allow third-party video drivers to
+# find X in the old places. However, anything you've installed in
+# your /usr/X11R6 directory will be moved to /usr/X11R6.bak.
+# Anything you really want want to keep will need to be merged back
+# by hand.
+if [ ! -L /usr/X11R6/bin ]; then
+ if [ -d usr/X11R6 ]; then
+ mv usr/X11R6 usr/X11R6.bak
+ fi
+fi
+mkdir -p usr/X11R6
+( cd usr/X11R6
+ for dir in ../bin ../include ../lib ../libexec ../man ../share ; do
+ rm -rf $(basename $dir)
+ ln -sf $dir .
+ done
+)
+( cd usr ; rm -rf X11 )
+( cd usr ; ln -sf X11R6 X11 )
+( cd usr/bin ; rm -rf X11 )
+( cd usr/bin ; ln -sf . X11 )
+if [ -L usr/include/X11 ]; then
+ ( cd usr/include ; rm -rf X11 )
+fi
diff --git a/source/x/x11-skel/manpages/xwmconfig.1 b/source/x/x11-skel/manpages/xwmconfig.1
new file mode 100644
index 000000000..c54ef7e1b
--- /dev/null
+++ b/source/x/x11-skel/manpages/xwmconfig.1
@@ -0,0 +1,29 @@
+.\" -*- nroff -*-
+.ds g \" empty
+.ds G \" empty
+.\" Like TP, but if specified indent is more than half
+.\" the current line-length - indent, use the default indent.
+.de Tp
+.ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP
+.el .TP "\\$1"
+..
+.TH XWMCONFIG 1 "31 May 2002" "Slackware Version 8.1.0"
+.SH NAME
+xwmconfig \- choose a default window manager for X.
+.SH SYNOPSIS
+.B xwmconfig
+.SH DESCRIPTION
+.B xwmconfig
+provides a menu of the window managers available on the machine so that you
+may choose one of them to use when X is started with "startx".
+
+When run by root,
+it sets the symbolic link /etc/X11/xinit/xinitrc, which selected the default
+system-wide window manager to use for X, and also creates a /root/.xinitrc file
+with the same window manager selected (perhaps suitable to move into /etc/skel/).
+
+When run by a non-root user, xwmconfig writes out a $HOME/.xinitrc file, allowing
+the user to choose their own default window manager (possibly overriding the
+one chosen as a system default).
+.SH AUTHOR
+Patrick J. Volkerding <volkerdi@slackware.com>
diff --git a/source/x/x11-skel/scripts/setup.xwmconfig b/source/x/x11-skel/scripts/setup.xwmconfig
new file mode 100644
index 000000000..3ca88b202
--- /dev/null
+++ b/source/x/x11-skel/scripts/setup.xwmconfig
@@ -0,0 +1,15 @@
+#!/bin/sh
+#BLURB="Choose a default window manager for X"
+TMP=/var/log/setup/tmp
+if [ -r $TMP/SeTT_PX ]; then
+ T_PX="`cat $TMP/SeTT_PX`"
+elif [ ! "$1" = "" ]; then
+ T_PX=$1
+else
+ T_PX=/
+fi
+if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then # use menus
+ if [ -d $T_PX/etc/X11/xinit ]; then
+ chroot $T_PX /bin/bash /usr/bin/xwmconfig
+ fi
+fi
diff --git a/source/x/x11-skel/scripts/xorg.conf-fbdev b/source/x/x11-skel/scripts/xorg.conf-fbdev
new file mode 100644
index 000000000..13bc3dc16
--- /dev/null
+++ b/source/x/x11-skel/scripts/xorg.conf-fbdev
@@ -0,0 +1,507 @@
+# File generated by xf86config.
+
+#
+# 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.
+#
+
+# **********************************************************************
+# Refer to the XF86Config(4/5) man page for details about the format of
+# this file.
+# **********************************************************************
+
+# This XF86Config file is designed for use with the Linux framebuffer console.
+# This generic interface should work with nearly all video cards (although
+# not every card will support every resolution). To use the Linux framebuffer
+# console, you need to enable these kernel options:
+# Using 'make menuconfig', in 'console drivers', enable:
+# [*] VGA text console
+# [*] Video mode selection support
+# [*] Support for frame buffer devices (EXPERIMENTAL)
+# [*] VESA VGA graphics console
+# [*] Advanced low level driver options
+# <*> 8 bpp packed pixels support
+# <*> 16 bpp packed pixels support
+# <*> 24 bpp packed pixels support
+# <*> 32 bpp packed pixels support
+# <*> VGA characters/attributes support
+# [*] Select compiled-in fonts
+# [*] VGA 8x8 font
+# [*] VGA 8x16 font
+# If you have a Matrox or ATI Mach64, you might try enabling the options having
+# to do with those cards as well. However, if the card is VESA compliant, you
+# don't really need to (and it might cause problems, possibly)
+#
+# Next, if this file is not already named /etc/X11/XF86Config, make a copy
+# with that name. This file ships with the name XF86Config-fbdev to avoid
+# overwriting an existing config file.
+#
+# To get the kernel to start in VESA framebuffer mode, you need to pass it
+# a vga= init string at boot time. For example, if you use LILO you'll
+# probably find a vga=normal string in your /etc/lilo.conf. If you edit that
+# to one of the values in this table:
+#
+# Colours 640x480 800x600 1024x768 1280x1024 1600x1200
+# --------+---------------------------------------------
+# 256 | 769 771 773 775 796
+# 32,768 | 784 787 790 793 797
+# 65,536 | 785 788 791 794 798
+# 16.8M | 786 789 792 795 799
+#
+# ...such as this for 1024x768x64k:
+# vga = 791
+# and then reinstall LILO by running 'lilo' as root, then at the next boot
+# Linux should start in a VESA framebuffer console mode.
+#
+# For more information on how to activate the Linux frame buffer, see
+# /usr/src/linux/Documentation/fb/vesafb.txt.
+#
+# Enjoy! :)
+# -- volkerdi@slackware.com
+#
+
+# **********************************************************************
+# Module section -- this section is used to specify
+# which dynamically loadable modules to load.
+# **********************************************************************
+#
+Section "Module"
+
+# This loads the DBE extension module.
+
+ Load "dbe" # Double buffer extension
+
+# This loads the miscellaneous extensions module, and disables
+# initialisation of the XFree86-DGA extension within that module.
+ SubSection "extmod"
+ Option "omit xfree86-dga" # don't initialise the DGA extension
+ EndSubSection
+
+# This loads the font modules
+ Load "type1"
+ Load "freetype"
+ #Load "speedo"
+
+# This loads the GLX module
+ Load "glx"
+
+EndSection
+
+# **********************************************************************
+# Files section. This allows default font and rgb paths to be set
+# **********************************************************************
+
+Section "Files"
+
+# The location of the RGB database. Note, this is the name of the
+# file minus the extension (like ".txt" or ".db"). There is normally
+# no need to change the default.
+
+ RgbPath "/usr/share/X11/rgb"
+
+# Multiple FontPath entries are allowed (which are concatenated together),
+# as well as specifying multiple comma-separated entries in one FontPath
+# command (or a combination of both methods)
+#
+# If you don't have a floating point coprocessor and emacs, Mosaic or other
+# programs take long to start up, try moving the Type1 and Speedo directory
+# to the end of this list (or comment them out).
+#
+
+ FontPath "/usr/share/fonts/local/"
+ FontPath "/usr/share/fonts/misc/"
+ FontPath "/usr/share/fonts/Type1/"
+ FontPath "/usr/share/fonts/OTF/"
+ FontPath "/usr/share/fonts/TTF/"
+ FontPath "/usr/share/fonts/CID/"
+ FontPath "/usr/share/fonts/Speedo/"
+ FontPath "/usr/share/fonts/75dpi/:unscaled"
+ FontPath "/usr/share/fonts/100dpi/:unscaled"
+ FontPath "/usr/share/fonts/75dpi/"
+ FontPath "/usr/share/fonts/100dpi/"
+ FontPath "/usr/share/fonts/cyrillic/"
+
+# ModulePath can be used to set a search path for the X server modules.
+# The default path is shown here.
+
+# ModulePath "/usr/lib/xorg/modules"
+
+EndSection
+
+# **********************************************************************
+# Server flags section.
+# **********************************************************************
+
+Section "ServerFlags"
+
+# Uncomment this to cause a core dump at the spot where a signal is
+# received. This may leave the console in an unusable state, but may
+# provide a better stack trace in the core dump to aid in debugging
+
+# Option "NoTrapSignals"
+
+# Uncomment this to disable the <Crtl><Alt><Fn> VT switch sequence
+# (where n is 1 through 12). This allows clients to receive these key
+# events.
+
+# Option "DontVTSwitch"
+
+# Uncomment this to disable the <Crtl><Alt><BS> server abort sequence
+# This allows clients to receive this key event.
+
+# Option "DontZap"
+
+# Uncomment this to disable the <Crtl><Alt><KP_+>/<KP_-> mode switching
+# sequences. This allows clients to receive these key events.
+
+# Option "DontZoom"
+
+# Uncomment this to disable tuning with the xvidtune client. With
+# it the client can still run and fetch card and monitor attributes,
+# but it will not be allowed to change them. If it tries it will
+# receive a protocol error.
+
+# Option "DisableVidModeExtension"
+
+# Uncomment this to enable the use of a non-local xvidtune client.
+
+# Option "AllowNonLocalXvidtune"
+
+# Uncomment this to disable dynamically modifying the input device
+# (mouse and keyboard) settings.
+
+# Option "DisableModInDev"
+
+# Uncomment this to enable the use of a non-local client to
+# change the keyboard or mouse settings (currently only xset).
+
+# Option "AllowNonLocalModInDev"
+
+# Set the basic blanking screen saver timeout.
+
+# Option "blank time" "10" # 10 minutes
+
+# Set the DPMS timeouts. These are set here because they are global
+# rather than screen-specific. These settings alone don't enable DPMS.
+# It is enabled per-screen (or per-monitor), and even then only when
+# the driver supports it.
+
+# Option "standby time" "20"
+# Option "suspend time" "30"
+# Option "off time" "60"
+
+# On some platform the server needs to estimate the sizes of PCI
+# memory and pio ranges. This is done by assuming that PCI ranges
+# don't overlap. Some broken BIOSes tend to set ranges of inactive
+# devices wrong. Here one can adjust how aggressive the assumptions
+# should be. Default is 0.
+
+# Option "EstimateSizesAggresively" "0"
+
+EndSection
+
+# **********************************************************************
+# Input devices
+# **********************************************************************
+
+# **********************************************************************
+# Core keyboard's InputDevice section
+# **********************************************************************
+
+Section "InputDevice"
+
+ Identifier "Keyboard1"
+ Driver "kbd"
+# For most OSs the protocol can be omitted (it defaults to "Standard").
+# When using XQUEUE (only for SVR3 and SVR4, but not Solaris),
+# uncomment the following line.
+
+# Option "Protocol" "Xqueue"
+
+# Set the keyboard auto repeat parameters. Not all platforms implement
+# this.
+
+# Option "AutoRepeat" "500 5"
+
+# Specifiy which keyboard LEDs can be user-controlled (eg, with xset(1)).
+
+# Option "Xleds" "1 2 3"
+
+# To disable the XKEYBOARD extension, uncomment XkbDisable.
+
+# Option "XkbDisable"
+
+# To customise the XKB settings to suit your keyboard, modify the
+# lines below (which are the defaults). For example, for a European
+# keyboard, you will probably want to use one of:
+#
+# Option "XkbModel" "pc102"
+# Option "XkbModel" "pc105"
+#
+# If you have a Microsoft Natural keyboard, you can use:
+#
+# Option "XkbModel" "microsoft"
+#
+# If you have a US "windows" keyboard you will want:
+#
+# Option "XkbModel" "pc104"
+#
+# Then to change the language, change the Layout setting.
+# For example, a german layout can be obtained with:
+#
+# Option "XkbLayout" "de"
+#
+# or:
+#
+# Option "XkbLayout" "de"
+# Option "XkbVariant" "nodeadkeys"
+#
+# If you'd like to switch the positions of your capslock and
+# control keys, use:
+#
+# Option "XkbOptions" "ctrl:swapcaps"
+
+
+# These are the default XKB settings for X.Org
+#
+# Option "XkbRules" "xorg"
+# Option "XkbModel" "pc105"
+# Option "XkbLayout" "us"
+# Option "XkbVariant" ""
+# Option "XkbOptions" ""
+
+EndSection
+
+
+# **********************************************************************
+# Core Pointer's InputDevice section
+# **********************************************************************
+
+Section "InputDevice"
+
+# Identifier and driver
+
+ Identifier "Mouse1"
+ Driver "mouse"
+
+# On platforms where PnP mouse detection is supported the following
+# protocol setting can be used when using a newer PnP mouse:
+
+# Option "Protocol" "Auto"
+
+# The available mouse protocols types that you can set below are:
+# Auto BusMouse GlidePoint GlidePointPS/2 IntelliMouse IMPS/2
+# Logitech Microsoft MMHitTab MMSeries Mouseman MouseManPlusPS/2
+# MouseSystems NetMousePS/2 NetScrollPS/2 OSMouse PS/2 SysMouse
+# ThinkingMouse ThinkingMousePS/2 Xqueue
+ Option "Protocol" "PS/2"
+
+# The mouse device. The device is normally set to /dev/mouse,
+# which is usually a symbolic link to the real device.
+
+ Option "Device" "/dev/mouse"
+# Option "Device" "/dev/psaux"
+# Option "Device" "/dev/ttyS0"
+# Option "Device" "/dev/ttyS1"
+
+# When using XQUEUE, comment out the above two lines, and uncomment
+# the following line.
+
+# Option "Protocol" "Xqueue"
+
+# Baudrate and SampleRate are only for some Logitech mice. In
+# almost every case these lines should be omitted.
+
+# Option "BaudRate" "9600"
+# Option "SampleRate" "150"
+
+# Emulate3Buttons is an option for 2-button Microsoft mice
+# Emulate3Timeout is the timeout in milliseconds (default is 50ms)
+
+# Option "Emulate3Buttons"
+# Option "Emulate3Timeout" "50"
+
+# ChordMiddle is an option for some 3-button Logitech mice
+
+# Option "ChordMiddle"
+
+EndSection
+
+# Some examples of extended input devices
+
+# Section "InputDevice"
+# Identifier "spaceball"
+# Driver "magellan"
+# Option "Device" "/dev/cua0"
+# EndSection
+#
+# Section "InputDevice"
+# Identifier "spaceball2"
+# Driver "spaceorb"
+# Option "Device" "/dev/cua0"
+# EndSection
+#
+# Section "InputDevice"
+# Identifier "touchscreen0"
+# Driver "microtouch"
+# Option "Device" "/dev/ttyS0"
+# Option "MinX" "1412"
+# Option "MaxX" "15184"
+# Option "MinY" "15372"
+# Option "MaxY" "1230"
+# Option "ScreenNumber" "0"
+# Option "ReportingMode" "Scaled"
+# Option "ButtonNumber" "1"
+# Option "SendCoreEvents"
+# EndSection
+#
+# Section "InputDevice"
+# Identifier "touchscreen1"
+# Driver "elo2300"
+# Option "Device" "/dev/ttyS0"
+# Option "MinX" "231"
+# Option "MaxX" "3868"
+# Option "MinY" "3858"
+# Option "MaxY" "272"
+# Option "ScreenNumber" "0"
+# Option "ReportingMode" "Scaled"
+# Option "ButtonThreshold" "17"
+# Option "ButtonNumber" "1"
+# Option "SendCoreEvents"
+# EndSection
+
+# **********************************************************************
+# Monitor section
+# **********************************************************************
+
+# Any number of monitor sections may be present
+
+Section "Monitor"
+
+ Identifier "My Monitor"
+
+# HorizSync is in kHz unless units are specified.
+# HorizSync may be a comma separated list of discrete values, or a
+# comma separated list of ranges of values.
+# NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR'S
+# USER MANUAL FOR THE CORRECT NUMBERS.
+
+ HorizSync 31.5 - 50.0
+
+# HorizSync 30-64 # multisync
+# HorizSync 31.5, 35.2 # multiple fixed sync frequencies
+# HorizSync 15-25, 30-50 # multiple ranges of sync frequencies
+
+# VertRefresh is in Hz unless units are specified.
+# VertRefresh may be a comma separated list of discrete values, or a
+# comma separated list of ranges of values.
+# NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR'S
+# USER MANUAL FOR THE CORRECT NUMBERS.
+
+ VertRefresh 40-90
+
+EndSection
+
+
+# **********************************************************************
+# Graphics device section
+# **********************************************************************
+
+# Any number of graphics device sections may be present
+
+Section "Device"
+ Identifier "VESA Framebuffer"
+ Driver "fbdev"
+ #VideoRam 4096
+ # Insert Clocks lines here if appropriate
+EndSection
+
+# **********************************************************************
+# Screen sections
+# **********************************************************************
+
+# Any number of screen sections may be present. Each describes
+# the configuration of a single screen. A single specific screen section
+# may be specified from the X server command line with the "-screen"
+# option.
+Section "Screen"
+ Identifier "Screen 1"
+ Device "VESA Framebuffer"
+ Monitor "My Monitor"
+
+# You shouldn't need to set a default depth as the server will use
+# whatever the framebuffer is set to. If you insist on setting it, make
+# sure it matches the setting for your framebuffer.
+# DefaultDepth 8
+
+ Subsection "Display"
+ Depth 8
+ EndSubsection
+ Subsection "Display"
+ Depth 16
+ EndSubsection
+ Subsection "Display"
+ Depth 24
+ EndSubsection
+ Subsection "Display"
+ Depth 32
+ EndSubsection
+
+EndSection
+
+# **********************************************************************
+# ServerLayout sections.
+# **********************************************************************
+
+# Any number of ServerLayout sections may be present. Each describes
+# the way multiple screens are organised. A specific ServerLayout
+# section may be specified from the X server command line with the
+# "-layout" option. In the absence of this, the first section is used.
+# When now ServerLayout section is present, the first Screen section
+# is used alone.
+
+Section "ServerLayout"
+
+# The Identifier line must be present
+ Identifier "Simple Layout"
+
+# Each Screen line specifies a Screen section name, and optionally
+# the relative position of other screens. The four names after
+# primary screen name are the screens to the top, bottom, left and right
+# of the primary screen. In this example, screen 2 is located to the
+# right of screen 1.
+
+ Screen "Screen 1"
+
+# Each InputDevice line specifies an InputDevice section name and
+# optionally some options to specify the way the device is to be
+# used. Those options include "CorePointer", "CoreKeyboard" and
+# "SendCoreEvents".
+
+ InputDevice "Mouse1" "CorePointer"
+ InputDevice "Keyboard1" "CoreKeyboard"
+
+EndSection
+
diff --git a/source/x/x11-skel/scripts/xorg.conf-vesa b/source/x/x11-skel/scripts/xorg.conf-vesa
new file mode 100644
index 000000000..33325c468
--- /dev/null
+++ b/source/x/x11-skel/scripts/xorg.conf-vesa
@@ -0,0 +1,484 @@
+# File generated by xf86config.
+
+#
+# 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.
+#
+
+# **********************************************************************
+# Refer to the XF86Config(4/5) man page for details about the format of
+# this file.
+# **********************************************************************
+
+# NOTE: This is a NEW IMPROVED version of XF86Config-fbdev that uses the vesa
+# driver instead of the fbdev driver. Thanks to Kenneth Fanyo who pointed
+# this out to me. :)
+
+# This XF86Config file is designed for use with the VESA framebuffer.
+# This generic interface should work with nearly all video cards
+# (although not every card will support every resolution).
+
+# With the new driver, it should no longer be required to have frame buffer
+# support in the kernel, or to run it on the console.
+#
+# Enjoy! :)
+# -- volkerdi@slackware.com
+#
+
+# **********************************************************************
+# Module section -- this section is used to specify
+# which dynamically loadable modules to load.
+# **********************************************************************
+#
+Section "Module"
+
+# This loads the DBE extension module.
+
+ Load "dbe" # Double buffer extension
+
+# This loads the miscellaneous extensions module, and disables
+# initialisation of the XFree86-DGA extension within that module.
+ SubSection "extmod"
+ Option "omit xfree86-dga" # don't initialise the DGA extension
+ EndSubSection
+
+# This loads the font modules
+ Load "type1"
+ Load "freetype"
+ #Load "speedo"
+
+# This loads the GLX module
+ Load "glx"
+
+EndSection
+
+# **********************************************************************
+# Files section. This allows default font and rgb paths to be set
+# **********************************************************************
+
+Section "Files"
+
+# The location of the RGB database. Note, this is the name of the
+# file minus the extension (like ".txt" or ".db"). There is normally
+# no need to change the default.
+
+ RgbPath "/usr/share/X11/rgb"
+
+# Multiple FontPath entries are allowed (which are concatenated together),
+# as well as specifying multiple comma-separated entries in one FontPath
+# command (or a combination of both methods)
+#
+# If you don't have a floating point coprocessor and emacs, Mosaic or other
+# programs take long to start up, try moving the Type1 and Speedo directory
+# to the end of this list (or comment them out).
+#
+
+ FontPath "/usr/share/fonts/local/"
+ FontPath "/usr/share/fonts/misc/"
+ FontPath "/usr/share/fonts/OTF/"
+ FontPath "/usr/share/fonts/TTF/"
+ FontPath "/usr/share/fonts/Type1/"
+ FontPath "/usr/share/fonts/CID/"
+ FontPath "/usr/share/fonts/Speedo/"
+ FontPath "/usr/share/fonts/75dpi/:unscaled"
+ FontPath "/usr/share/fonts/100dpi/:unscaled"
+ FontPath "/usr/share/fonts/75dpi/"
+ FontPath "/usr/share/fonts/100dpi/"
+ FontPath "/usr/share/fonts/cyrillic/"
+
+# ModulePath can be used to set a search path for the X server modules.
+# The default path is shown here.
+
+# ModulePath "/usr/lib/xorg/modules"
+
+EndSection
+
+# **********************************************************************
+# Server flags section.
+# **********************************************************************
+
+Section "ServerFlags"
+
+# Uncomment this to cause a core dump at the spot where a signal is
+# received. This may leave the console in an unusable state, but may
+# provide a better stack trace in the core dump to aid in debugging
+
+# Option "NoTrapSignals"
+
+# Uncomment this to disable the <Crtl><Alt><Fn> VT switch sequence
+# (where n is 1 through 12). This allows clients to receive these key
+# events.
+
+# Option "DontVTSwitch"
+
+# Uncomment this to disable the <Crtl><Alt><BS> server abort sequence
+# This allows clients to receive this key event.
+
+# Option "DontZap"
+
+# Uncomment this to disable the <Crtl><Alt><KP_+>/<KP_-> mode switching
+# sequences. This allows clients to receive these key events.
+
+# Option "DontZoom"
+
+# Uncomment this to disable tuning with the xvidtune client. With
+# it the client can still run and fetch card and monitor attributes,
+# but it will not be allowed to change them. If it tries it will
+# receive a protocol error.
+
+# Option "DisableVidModeExtension"
+
+# Uncomment this to enable the use of a non-local xvidtune client.
+
+# Option "AllowNonLocalXvidtune"
+
+# Uncomment this to disable dynamically modifying the input device
+# (mouse and keyboard) settings.
+
+# Option "DisableModInDev"
+
+# Uncomment this to enable the use of a non-local client to
+# change the keyboard or mouse settings (currently only xset).
+
+# Option "AllowNonLocalModInDev"
+
+# Set the basic blanking screen saver timeout.
+
+# Option "blank time" "10" # 10 minutes
+
+# Set the DPMS timeouts. These are set here because they are global
+# rather than screen-specific. These settings alone don't enable DPMS.
+# It is enabled per-screen (or per-monitor), and even then only when
+# the driver supports it.
+
+# Option "standby time" "20"
+# Option "suspend time" "30"
+# Option "off time" "60"
+
+# On some platform the server needs to estimate the sizes of PCI
+# memory and pio ranges. This is done by assuming that PCI ranges
+# don't overlap. Some broken BIOSes tend to set ranges of inactive
+# devices wrong. Here one can adjust how aggressive the assumptions
+# should be. Default is 0.
+
+# Option "EstimateSizesAggresively" "0"
+
+EndSection
+
+# **********************************************************************
+# Input devices
+# **********************************************************************
+
+# **********************************************************************
+# Core keyboard's InputDevice section
+# **********************************************************************
+
+Section "InputDevice"
+
+ Identifier "Keyboard1"
+ Driver "kbd"
+# For most OSs the protocol can be omitted (it defaults to "Standard").
+# When using XQUEUE (only for SVR3 and SVR4, but not Solaris),
+# uncomment the following line.
+
+# Option "Protocol" "Xqueue"
+
+# Set the keyboard auto repeat parameters. Not all platforms implement
+# this.
+
+# Option "AutoRepeat" "500 5"
+
+# Specifiy which keyboard LEDs can be user-controlled (eg, with xset(1)).
+
+# Option "Xleds" "1 2 3"
+
+# To disable the XKEYBOARD extension, uncomment XkbDisable.
+
+# Option "XkbDisable"
+
+# To customise the XKB settings to suit your keyboard, modify the
+# lines below (which are the defaults). For example, for a European
+# keyboard, you will probably want to use one of:
+#
+# Option "XkbModel" "pc102"
+# Option "XkbModel" "pc105"
+#
+# If you have a Microsoft Natural keyboard, you can use:
+#
+# Option "XkbModel" "microsoft"
+#
+# If you have a US "windows" keyboard you will want:
+#
+# Option "XkbModel" "pc104"
+#
+# Then to change the language, change the Layout setting.
+# For example, a german layout can be obtained with:
+#
+# Option "XkbLayout" "de"
+#
+# or:
+#
+# Option "XkbLayout" "de"
+# Option "XkbVariant" "nodeadkeys"
+#
+# If you'd like to switch the positions of your capslock and
+# control keys, use:
+#
+# Option "XkbOptions" "ctrl:swapcaps"
+
+
+# These are the default XKB settings for X.Org
+#
+# Option "XkbRules" "xorg"
+# Option "XkbModel" "pc105"
+# Option "XkbLayout" "us"
+# Option "XkbVariant" ""
+# Option "XkbOptions" ""
+
+EndSection
+
+
+# **********************************************************************
+# Core Pointer's InputDevice section
+# **********************************************************************
+
+Section "InputDevice"
+
+# Identifier and driver
+
+ Identifier "Mouse1"
+ Driver "mouse"
+
+# On platforms where PnP mouse detection is supported the following
+# protocol setting can be used when using a newer PnP mouse:
+
+# Option "Protocol" "Auto"
+
+# The available mouse protocols types that you can set below are:
+# Auto BusMouse GlidePoint GlidePointPS/2 IntelliMouse IMPS/2
+# Logitech Microsoft MMHitTab MMSeries Mouseman MouseManPlusPS/2
+# MouseSystems NetMousePS/2 NetScrollPS/2 OSMouse PS/2 SysMouse
+# ThinkingMouse ThinkingMousePS/2 Xqueue
+ Option "Protocol" "PS/2"
+
+# The mouse device. The device is normally set to /dev/mouse,
+# which is usually a symbolic link to the real device.
+
+ Option "Device" "/dev/mouse"
+# Option "Device" "/dev/psaux"
+# Option "Device" "/dev/ttyS0"
+# Option "Device" "/dev/ttyS1"
+
+# When using XQUEUE, comment out the above two lines, and uncomment
+# the following line.
+
+# Option "Protocol" "Xqueue"
+
+# Baudrate and SampleRate are only for some Logitech mice. In
+# almost every case these lines should be omitted.
+
+# Option "BaudRate" "9600"
+# Option "SampleRate" "150"
+
+# Emulate3Buttons is an option for 2-button Microsoft mice
+# Emulate3Timeout is the timeout in milliseconds (default is 50ms)
+
+# Option "Emulate3Buttons"
+# Option "Emulate3Timeout" "50"
+
+# ChordMiddle is an option for some 3-button Logitech mice
+
+# Option "ChordMiddle"
+
+EndSection
+
+# Some examples of extended input devices
+
+# Section "InputDevice"
+# Identifier "spaceball"
+# Driver "magellan"
+# Option "Device" "/dev/cua0"
+# EndSection
+#
+# Section "InputDevice"
+# Identifier "spaceball2"
+# Driver "spaceorb"
+# Option "Device" "/dev/cua0"
+# EndSection
+#
+# Section "InputDevice"
+# Identifier "touchscreen0"
+# Driver "microtouch"
+# Option "Device" "/dev/ttyS0"
+# Option "MinX" "1412"
+# Option "MaxX" "15184"
+# Option "MinY" "15372"
+# Option "MaxY" "1230"
+# Option "ScreenNumber" "0"
+# Option "ReportingMode" "Scaled"
+# Option "ButtonNumber" "1"
+# Option "SendCoreEvents"
+# EndSection
+#
+# Section "InputDevice"
+# Identifier "touchscreen1"
+# Driver "elo2300"
+# Option "Device" "/dev/ttyS0"
+# Option "MinX" "231"
+# Option "MaxX" "3868"
+# Option "MinY" "3858"
+# Option "MaxY" "272"
+# Option "ScreenNumber" "0"
+# Option "ReportingMode" "Scaled"
+# Option "ButtonThreshold" "17"
+# Option "ButtonNumber" "1"
+# Option "SendCoreEvents"
+# EndSection
+
+# **********************************************************************
+# Monitor section
+# **********************************************************************
+
+# Any number of monitor sections may be present
+
+Section "Monitor"
+
+ Identifier "My Monitor"
+
+# HorizSync is in kHz unless units are specified.
+# HorizSync may be a comma separated list of discrete values, or a
+# comma separated list of ranges of values.
+# NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR'S
+# USER MANUAL FOR THE CORRECT NUMBERS.
+
+ HorizSync 31.5 - 50.0
+
+# HorizSync 30-64 # multisync
+# HorizSync 31.5, 35.2 # multiple fixed sync frequencies
+# HorizSync 15-25, 30-50 # multiple ranges of sync frequencies
+
+# VertRefresh is in Hz unless units are specified.
+# VertRefresh may be a comma separated list of discrete values, or a
+# comma separated list of ranges of values.
+# NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR'S
+# USER MANUAL FOR THE CORRECT NUMBERS.
+
+ VertRefresh 40-90
+
+EndSection
+
+
+# **********************************************************************
+# Graphics device section
+# **********************************************************************
+
+# Any number of graphics device sections may be present
+
+Section "Device"
+ Identifier "VESA Framebuffer"
+ Driver "vesa"
+ #VideoRam 4096
+ # Insert Clocks lines here if appropriate
+EndSection
+
+# **********************************************************************
+# Screen sections
+# **********************************************************************
+
+# Any number of screen sections may be present. Each describes
+# the configuration of a single screen. A single specific screen section
+# may be specified from the X server command line with the "-screen"
+# option.
+Section "Screen"
+ Identifier "Screen 1"
+ Device "VESA Framebuffer"
+ Monitor "My Monitor"
+
+# If your card can handle it, a higher default color depth (like 24 or 32)
+# is highly recommended.
+
+# DefaultDepth 8
+# DefaultDepth 16
+ DefaultDepth 24
+# DefaultDepth 32
+
+# "1024x768" is also a conservative usable default resolution. If you
+# have a better monitor, feel free to try resolutions such as
+# "1152x864", "1280x1024", "1600x1200", and "1800x1400" (or whatever your
+# card/monitor can produce)
+
+ Subsection "Display"
+ Depth 8
+ Modes "1024x768" "800x600" "640x480"
+ EndSubsection
+ Subsection "Display"
+ Depth 16
+ Modes "1024x768" "800x600" "640x480"
+ EndSubsection
+ Subsection "Display"
+ Depth 24
+ Modes "1024x768" "800x600" "640x480"
+ EndSubsection
+ Subsection "Display"
+ Depth 32
+ Modes "1024x768" "800x600" "640x480"
+ EndSubsection
+
+EndSection
+
+# **********************************************************************
+# ServerLayout sections.
+# **********************************************************************
+
+# Any number of ServerLayout sections may be present. Each describes
+# the way multiple screens are organised. A specific ServerLayout
+# section may be specified from the X server command line with the
+# "-layout" option. In the absence of this, the first section is used.
+# When now ServerLayout section is present, the first Screen section
+# is used alone.
+
+Section "ServerLayout"
+
+# The Identifier line must be present
+ Identifier "Simple Layout"
+
+# Each Screen line specifies a Screen section name, and optionally
+# the relative position of other screens. The four names after
+# primary screen name are the screens to the top, bottom, left and right
+# of the primary screen. In this example, screen 2 is located to the
+# right of screen 1.
+
+ Screen "Screen 1"
+
+# Each InputDevice line specifies an InputDevice section name and
+# optionally some options to specify the way the device is to be
+# used. Those options include "CorePointer", "CoreKeyboard" and
+# "SendCoreEvents".
+
+ InputDevice "Mouse1" "CorePointer"
+ InputDevice "Keyboard1" "CoreKeyboard"
+
+EndSection
+
diff --git a/source/x/x11-skel/scripts/xorgsetup b/source/x/x11-skel/scripts/xorgsetup
new file mode 100644
index 000000000..5a111dd67
--- /dev/null
+++ b/source/x/x11-skel/scripts/xorgsetup
@@ -0,0 +1,338 @@
+#!/bin/sh
+# Copyright 2001 BSDi, Inc, Concord, CA. Written by volkerdi@slackware.com.
+# Copyright 2004 Slackware Linux, Inc., Concord, CA.
+# Copyright 2006 Patrick Volkerding, Sebeka, MN.
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+
+# These functions will spit out code to ask for Keyboard Model/Layout/Variant
+# Options
+# They are pretty much identical, but the text message changes and they parse
+# different parts of the same file.
+dump_keyboard_model()
+{
+ echo -n "dialog --title \"SELECT YOUR KEYBOARD MODEL\" --menu \"It is recomended to choose the default keyboard (\\\"pc101\\\") unless you know your keyboard model and it is present in this list. Also note the keyboard model is not the same thing as the keyboard layout (the keyboard layout defaults to \\\"pc105\\\" which is usually correct)\" 21 68 10 "
+ CAN_START_PARSING=0
+ while read LINE ; do
+ if [[ $LINE == "! model" ]]; then
+ CAN_START_PARSING=1
+ elif [[ $CAN_START_PARSING == 1 ]]; then
+ if [[ $LINE =~ "^!.*" ]]; then
+ break
+ fi
+ if ! echo $LINE | grep '^//' 1> /dev/null ; then
+ echo -n $LINE | sed -e's/\s*\([A-Za-z0-9_]\+\)\s\+\(.\+\)$/"\1" "\2" /g'
+ fi
+ fi
+ done < /etc/X11/xkb/rules/xorg.lst
+ echo " 2> \$TMP/keybmodel"
+ echo "return \$?"
+}
+
+dump_keyboard_layout()
+{
+ echo -n "dialog --title \"SELECT YOUR $1 KEYBOARD LAYOUT\" --menu \"The keyboard layout supports the language \
+that is normally used on this keyboard. You would usually select a similar keyboard layout \
+to what you choose for the console. (Defaults to \\\"us\\\") You can select up to 4 different layouts.\" 21 60 10 "
+ if [ ! $1 = "MAIN" ]; then
+ echo -n \"none\" \"Do not select an additional layout\"" "
+ fi
+ CAN_START_PARSING=0
+ while read LINE ; do
+ if [[ $LINE == "! layout" ]]; then
+ CAN_START_PARSING=1
+ elif [[ $CAN_START_PARSING == 1 ]]; then
+ if [[ $LINE =~ "^!.*" ]]; then
+ break
+ fi
+ if ! echo $LINE | grep '^//' 1> /dev/null ; then
+ echo -n $LINE | sed -e's/\s*\([A-Za-z0-9_]\+\)\s\+\(.\+\)$/'\''\1'\'' '\''\2'\'' /g'
+ fi
+ fi
+ done < /etc/X11/xkb/rules/xorg.lst
+ echo " 2> \$TMP/keyblayout "
+ echo "return \$?"
+}
+
+# Note: This receives as a parameter the selected layout.
+dump_keyboard_variant()
+{
+ # IMPORTANT: This function only works with X.org 6.9 rules. I haven't
+ # tested it with 7.0+, but it should be the same format, so it should work.
+ # This WILL NOT work with X.org 6.8.x (it just has one variant, anyway).
+ if ! grep "${1}:" /etc/X11/xkb/rules/xorg.lst 1> /dev/null; then
+ # This keyboard layout doesn't have any variants.
+ # Lets dump a dummy script instead.
+ echo "echo none > \$TMP/keybvariant"
+ echo "return 1"
+ return
+ fi
+ echo -n "dialog --title \"SELECT YOUR KEYBOARD LAYOUT VARIANT\" --menu \"There are some variations \
+avaiable for keyboard layout \\\"$1\\\".\nSelect the one your keyboard uses or none if \
+your keyboard doesn't use a layout variant. If in doubt, select none. (Defaults to \\\"none\\\")\" 15 67 5 "
+ echo -n \"none\" \"Do not select a layout variant\"" "
+ grep "${1}:" /etc/X11/xkb/rules/xorg.lst | while read LINE ; do
+ # This may look scary, but it's a simple pattern, the problem is all
+ # those things which need to be escaped...
+ echo -n $LINE | sed -e's/\s*\([A-Za-z0-9_-]\+\)\s\+\('${1}':\)\s\+\(.\+\)$/'\''\1'\'' '\''\3'\'' /g'
+ done
+ echo " 2> \$TMP/keybvariant"
+ echo "return \$?"
+}
+
+dump_keyboard_option()
+{
+ echo -n "dialog --title \"SELECT YOUR KEYBOARD OPTIONS\" --menu \"Select additional keyboard options. You may continue to select additional options until you select 'none'.\" 18 72 10 "
+ echo -n \"none\" \"Finished: do not select additional options.\"" "
+ CAN_START_PARSING=0
+ while read LINE ; do
+ if [[ $LINE == "! option" ]]; then
+ CAN_START_PARSING=1
+ elif [[ $CAN_START_PARSING == 1 ]]; then
+ if [[ $LINE =~ "^!.*" ]]; then
+ break
+ fi
+ if ! echo $LINE | grep '^//' 1> /dev/null ; then
+ if echo $LINE | grep ':' 1> /dev/null ; then
+ echo -n $LINE | sed -e's/\s*\([A-Za-z0-9_]\+\)\s\+\(.\+\)$/"\1" "\2" /g'
+ fi
+ fi
+ fi
+ done < /etc/X11/xkb/rules/xorg.lst
+ echo " 2> \$TMP/keyboption "
+ echo "return \$?"
+}
+
+# If we aren't root, bail:
+if [ "$USER" = "root" ]; then
+ TMP=/var/log/setup/tmp
+else
+ echo "Only root can configure X."
+ exit
+fi
+
+# Now, this wouldn't make much sense either:
+if [ ! -r /usr/X11R6/bin/Xorg ]; then
+ exit
+fi
+
+dialog --title "CONFIGURE X SERVER?" --yesno \
+"If you like, X can attempt to probe for your video hardware and mouse, and \
+write an initial configuration file to /etc/X11/xorg.conf. Would you like to do \
+this now?" 7 66
+if [ ! $? = 0 ]; then
+ exit
+fi
+
+if [ ! -d $TMP ]; then
+ mkdir -p $TMP
+ chmod 700 $TMP
+fi
+
+# OK, we'll warn the user if there's already an existing xorg.conf:
+CONFIG_EXISTS=false
+for xf86config in /etc/X11/xorg.conf /etc/xorg.conf /usr/X11R6/lib/X11/xorg.conf $HOME/xorg.conf ; do
+ if [ -r $xf86config ]; then
+ CONFIG_EXISTS=$xf86config
+ fi
+done
+if [ ! "$CONFIG_EXISTS" = "false" ]; then
+ dialog --title "FOUND EXISTING xorg.conf in `dirname $CONFIG_EXISTS`" \
+ --msgbox "A previous X Window System configuration file has been found. \
+You can now reconfigure X, replacing the file with a new version (and \
+keeping a backup of the old file), or you can abort leaving the existing \
+config file in place. Hit ENTER to rename the xorg.conf file to \
+xorg.conf.backup and create a new one, or ESC to abort." 9 72
+ if [ ! $? = 0 ]; then
+ exit
+ fi
+fi
+
+# Have the X server create a default config file:
+/usr/X11R6/bin/X -configure
+if [ ! $? = 0 ]; then
+ # failure, bail.
+ exit
+fi
+
+# Move any existing config file(s) aside:
+for xf86config in /etc/X11/xorg.conf /etc/xorg.conf /usr/X11R6/lib/X11/xorg.conf $HOME/xorg.conf ; do
+ if [ -r $xf86config ]; then
+ mv $xf86config ${xf86config}.backup
+ fi
+done
+
+# OK, so now that we have a default file in $HOME/xorg.conf.new
+# we can set up a default color depth:
+dialog --title "SELECT DEFAULT COLOR DEPTH" \
+ --menu "Now you may select a default color depth for the X server:" 13 70 6 \
+ "24" "24 bit True Color" \
+ "16" "16 bit Pseudo Color" \
+ "8" "8 bit 256 Color" \
+ "4" "4 bit 16 Color" \
+ "1" "1 bit Mono B/W" \
+ "none" "Go with driver default (usually 8-bit)" 2> $TMP/colordepth
+if [ ! $? = 0 ]; then
+ rm -f $TMP/colordepth
+ exit
+fi
+
+if grep Driver $HOME/xorg.conf.new | grep \"kbd\" 1> /dev/null ; then
+ dump_keyboard_model > $TMP/askmodel
+ . $TMP/askmodel
+ # The configuration will continue, using Xorg defaults, when the user
+ # hits ESC or cancel.
+ if [ $? = 0 ]; then
+ KBMODEL=`cat $TMP/keybmodel`
+ fi
+ for i in "MAIN" "SECOND" "THIRD" "FOURTH"; do
+ dump_keyboard_layout $i > $TMP/asklayout
+ . $TMP/asklayout
+ if [ ! $? = 0 ]; then
+ break
+ else
+ KBLAYOUT=`cat $TMP/keyblayout`
+ if [ $KBLAYOUT = "none" ]; then
+ break
+ fi
+ if [ ! $KBLAYOUTS = "" ]; then
+ KBLAYOUTS=$KBLAYOUTS,$KBLAYOUT
+ else
+ KBLAYOUTS=$KBLAYOUT
+ fi
+ dump_keyboard_variant $KBLAYOUT > $TMP/askvariant
+ . $TMP/askvariant
+ if [ ! $? = 0 ]; then
+ KBVARIANT="none"
+ else
+ KBVARIANT=`cat $TMP/keybvariant`
+ if [ ! $KBVARIANT = "none" ]; then
+ KBLAYOUTS="$KBLAYOUTS($KBVARIANT)"
+ fi
+ fi
+ fi
+ done
+ KBLAYOUT=$KBLAYOUTS
+# if [ ! $KBLAYOUT = "us" ]; then
+ dump_keyboard_option > $TMP/askoption
+ while [ 1 ]; do
+ . $TMP/askoption
+ if [ ! $? = 0 ]; then
+ break
+ else
+ KBOPTION=`cat $TMP/keyboption`
+ if [ $KBOPTION = "none" ]; then
+ break
+ fi
+ if [ ! $KBOPTIONS = "" ]; then
+ KBOPTIONS=$KBOPTIONS,$KBOPTION
+ else
+ KBOPTIONS=$KBOPTION
+ fi
+ fi
+ done
+# fi
+ rm -f $TMP/{ask,keyb}{model,layout,variant,option}
+fi
+
+# /* I know this completely hoses the indentation of the xorg.conf file, but
+# really don't know a good way around that. Shoulda used perl. ;) */
+# NOTE: Thanks to Jonathan Woithe for the IFS fix for output formatting!
+START_LOOKING_MONITOR=false
+START_LOOKING_MOUSE=false
+rm -f /etc/X11/xorg.conf
+REAL_IFS=${IFS}
+IFS=""
+cat $HOME/xorg.conf.new | while read LINE ; do
+ IFS=${REAL_IFS}
+ if [ ! "$START_LOOKING_MOUSE" = "true" ]; then
+ # When looking for a mouse entry we want to write before the EndSection
+ # mark.
+ echo "$LINE" >> /etc/X11/xorg.conf
+ fi
+ if echo $LINE | grep Section | grep Screen 1> /dev/null ; then
+ START_LOOKING_MONITOR=true
+ fi
+ if [ "$START_LOOKING_MONITOR" = "true" ]; then
+ if echo $LINE | grep Monitor 1> /dev/null ; then
+ if [ ! "`cat $TMP/colordepth`" = "none" ]; then
+ echo -e "\tDefaultDepth `cat $TMP/colordepth`" >> /etc/X11/xorg.conf
+ fi
+ START_LOOKING_MONITOR=false
+ fi
+ fi
+ if echo $LINE | grep Driver | grep \"kbd\" 1> /dev/null ; then
+ # This is a keyboard, lets add the configuration which might have been
+ # given by the user
+ if [ ! "$KBMODEL" = "" ]; then
+ echo -e "\tOption \"XkbModel\" \"$KBMODEL\"" >> /etc/X11/xorg.conf
+ fi
+ if [ ! "$KBLAYOUT" = "" ]; then
+ echo -e "\tOption \"XkbLayout\" \"$KBLAYOUT\"" >> /etc/X11/xorg.conf
+# KBVARIANT in KBLAYOUT
+# if [ ! "$KBVARIANT" = "none" ]; then
+# echo -e "\tOption \"XkbVariant\" \"$KBVARIANT\"" >> /etc/X11/xorg.conf
+# fi
+ fi
+ if [ ! "$KBOPTIONS" = "" ]; then
+ echo -e "\tOption \"XkbOptions\" \"$KBOPTIONS\"" >> /etc/X11/xorg.conf
+ fi
+ elif echo $LINE | grep Driver | grep \"mouse\" 1> /dev/null ; then
+ # This is a mouse, lets take a look and check if X was able to configure
+ # the wheel, otherwize we'll ask the all knowing root.
+ # If there's a mouse and X didn't detect a wheel, then we ask the user if his
+ # mouse has a wheel and enable it if so. This should fix the times when X
+ # doesn't configure the mouse wheel.
+ START_LOOKING_MOUSE=true
+ elif [ "$START_LOOKING_MOUSE" = "true" ]; then
+ if echo $LINE | grep Option | grep \"Device\" 1> /dev/null ; then
+ MOUSE_NAME=`echo $LINE | sed -e's/\s*//' | sed -e's/\s\+/\t/g' | cut -f 3`
+ elif echo $LINE | grep ZAxisMapping 1> /dev/null ; then
+ # X was able to configure the mouse properly, we stop looking for a
+ # mouse.
+ START_LOOKING_MOUSE=false
+ elif echo $LINE | grep EndSection 1> /dev/null ; then
+ # We reached the end of the section, and didn't find a ZAxisMapping,
+ # lets ask the all-knowing user.
+ dialog --title "ADD MOUSE WHEEL SUPPORT" \
+ --yesno "Does your mouse (${MOUSE_NAME}) have a wheel and if so, would you like to have it enabled?" 6 60
+ if [ $? = 0 ]; then
+ echo -e "\tOption \"ZAxisMapping\" \"4 5\"" >> /etc/X11/xorg.conf
+ fi
+ MOUSE_NAME=
+ START_LOOKING_MOUSE=false
+ fi
+ echo "$LINE" >> /etc/X11/xorg.conf
+ fi
+ IFS=""
+done
+IFS=${REAL_IFS}
+rm -f $TMP/colordepth
+rm -f $HOME/xorg.conf.new
+
+dialog --title "X CONFIGURED" \
+ --msgbox "Your new X configuration file has been saved to /etc/X11/xorg.conf. \
+You may still need to add or adjust some values in the file to achieve the desired \
+screen resolution. For example, some monitors would require \"HorizSync 30-55\" in \
+the \"Monitor\" section of the configuration file. For complete information about \
+making these adjustments, please refer to \"man xorg.conf\"." \
+ 11 66
+
diff --git a/source/x/x11-skel/scripts/xwmconfig b/source/x/x11-skel/scripts/xwmconfig
new file mode 100644
index 000000000..944207bf5
--- /dev/null
+++ b/source/x/x11-skel/scripts/xwmconfig
@@ -0,0 +1,224 @@
+#!/bin/sh
+# Copyright 1999, 2002 Patrick Volkerding, Moorhead, Minnesota USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+# First, let's bail if our being here doesn't make sense:
+if [ ! -d /etc/X11/xinit ]; then
+ exit
+fi
+if [ "`cd /etc/X11/xinit ; echo *.*`" = '*.*' ]; then
+ exit
+fi
+
+if [ "$USER" = "root" ]; then
+ TMP=/var/log/setup/tmp
+else
+ TMP=$HOME/.xwmconfig
+fi
+
+if [ ! -d $TMP ]; then
+ mkdir -p $TMP
+ chmod 700 $TMP
+fi
+
+# Do we already have an existing default?
+unset PRESELECT
+if [ -L /etc/X11/xinit/xinitrc ]; then
+ CURRENT="`/bin/ls -l /etc/X11/xinit/xinitrc | cut -f 2 -d '>' | cut -b2-`"
+ PRESELECT=" --default-item $CURRENT "
+fi
+
+# Figure out who we are and set up some background information:
+if [ "$USER" = "root" ]; then
+ BACKTITLE="--backtitle \"Setting system-wide default window manager in /etc/X11/xinit/\""
+else
+ BACKTITLE="--backtitle \"Setting default window manager in $HOME/.xinitrc\""
+fi
+
+# This stops --backtitle from cluttering the initial install:
+if [ ! -r /proc/kcore ]; then
+ BACKTITLE=""
+fi
+
+# Remove any previous script:
+rm -f $TMP/tmpscript.sh
+
+# Add the top of the script:
+if [ -r /etc/X11/xinit/xinitrc.gnome -a -r /etc/X11/xinit/xinitrc.kde ]; then
+cat << EOF > $TMP/tmpscript.sh
+#!/bin/sh
+dialog $BACKTITLE --title "SELECT DEFAULT WINDOW MANAGER FOR X" $PRESELECT --menu \\
+"Please select the default window manager to use with the X Window \\
+System. This will define the style of graphical user interface \\
+the computer uses. KDE and GNOME provide the most features. People \\
+with Windows or MacOS experience will find either one easy to use. \\
+Other window managers are easier on system \\
+resources, or provide other unique features." 12 74 0 \\
+EOF
+elif [ -r /etc/X11/xinit/xinitrc.kde ]; then
+cat << EOF > $TMP/tmpscript.sh
+#!/bin/sh
+dialog $BACKTITLE --title "SELECT DEFAULT WINDOW MANAGER FOR X" $PRESELECT --menu \\
+"Please select the default window manager to use with the X Window \\
+System. This will define the style of graphical user interface \\
+the computer uses. KDE provides the most features, and people \\
+with Windows or MacOS experience will find it easy to use. \\
+Other window managers are easier on system \\
+resources, or provide other unique features." 12 74 0 \\
+EOF
+elif [ -r /etc/X11/xinit/xinitrc.xfce ]; then
+cat << EOF > $TMP/tmpscript.sh
+#!/bin/sh
+dialog $BACKTITLE --title "SELECT DEFAULT WINDOW MANAGER FOR X" $PRESELECT --menu \\
+"Please select the default window manager to use with the X Window \\
+System. This will define the style of graphical user interface \\
+the computer uses. XFce provides the most features, and people \\
+with Windows or MacOS experience will find it easy to use. \\
+Other window managers are easier on system \\
+resources, or provide other unique features." 12 74 0 \\
+EOF
+else
+cat << EOF > $TMP/tmpscript.sh
+dialog $BACKTITLE --title "SELECT DEFAULT WINDOW MANAGER FOR X" $PRESELECT --menu \\
+"Please select the default window manager to use with the X Window \\
+System. This will define the style of graphical user interface \\
+the computer uses." 12 74 0 \\
+EOF
+fi
+
+# Add KDE as the first and default entry:
+if [ -r /etc/X11/xinit/xinitrc.kde ]; then
+ echo "\"xinitrc.kde\" \"KDE: K Desktop Environment\" \\" >> $TMP/tmpscript.sh
+fi
+
+# Then, we add GNOME:
+if [ -r /etc/X11/xinit/xinitrc.gnome ]; then
+ echo "\"xinitrc.gnome\" \"GNU Network Object Model Environment\" \\" >> $TMP/tmpscript.sh
+fi
+
+# Add XFce:
+if [ -r /etc/X11/xinit/xinitrc.xfce ]; then
+ echo "\"xinitrc.xfce\" \"The Cholesterol Free Desktop Environment\" \\" >> $TMP/tmpscript.sh
+fi
+
+# Add Enlightenment:
+if [ -r /etc/X11/xinit/xinitrc.e ]; then
+ echo "\"xinitrc.e\" \"Enlightenment\" \\" >> $TMP/tmpscript.sh
+fi
+
+# Add Fluxbox:
+if [ -r /etc/X11/xinit/xinitrc.fluxbox ]; then
+ echo "\"xinitrc.fluxbox\" \"The fluxbox window manager\" \\" >> $TMP/tmpscript.sh
+fi
+
+# Add Blackbox:
+if [ -r /etc/X11/xinit/xinitrc.blackbox ]; then
+ echo "\"xinitrc.blackbox\" \"The blackbox window manager\" \\" >> $TMP/tmpscript.sh
+fi
+
+# Add WindowMaker:
+if [ -r /etc/X11/xinit/xinitrc.wmaker ]; then
+ echo "\"xinitrc.wmaker\" \"WindowMaker\" \\" >> $TMP/tmpscript.sh
+fi
+
+# Add FVWM2:
+if [ -r /etc/X11/xinit/xinitrc.fvwm2 ]; then
+ echo "\"xinitrc.fvwm2\" \"F(?) Virtual Window Manager (version 2.xx)\" \\" >> $TMP/tmpscript.sh
+fi
+
+# Add FVWM95:
+if [ -r /etc/X11/xinit/xinitrc.fvwm95 ]; then
+ echo "\"xinitrc.fvwm95\" \"FVWM2 with a Windows look and feel\" \\" >> $TMP/tmpscript.sh
+fi
+
+# Add icewm:
+if [ -r /etc/X11/xinit/xinitrc.icewm ]; then
+ echo "\"xinitrc.icewm\" \"ICE Window Manager\" \\" >> $TMP/tmpscript.sh
+fi
+
+# Add sawfish:
+if [ -r /etc/X11/xinit/xinitrc.sawfish ]; then
+ echo "\"xinitrc.sawfish\" \"Sawfish without GNOME\" \\" >> $TMP/tmpscript.sh
+fi
+
+# Add twm:
+if [ -r /etc/X11/xinit/xinitrc.twm ]; then
+ echo "\"xinitrc.twm\" \"Tab Window Manager (very basic)\" \\" >> $TMP/tmpscript.sh
+fi
+
+# Add mwm:
+if [ -r /etc/X11/xinit/xinitrc.mwm ]; then
+ echo "\"xinitrc.mwm\" \"Motif WM\" \\" >> $TMP/tmpscript.sh
+fi
+
+# Now, add support for the other window managers:
+( cd /etc/X11/xinit
+ for file in xinitrc.* ; do
+ if [ ! "$file" = "xinitrc.kde" -a ! "$file" = "xinitrc.gnome" \
+ -a ! "$file" = "xinitrc.e" -a ! "$file" = "xinitrc.wmaker" \
+ -a ! "$file" = "xinitrc.fvwm2" -a ! "$file" = "xinitrc.fvwm95" \
+ -a ! "$file" = "xinitrc.icewm" -a ! "$file" = "xinitrc.twm" \
+ -a ! "$file" = "xinitrc.mwm" -a ! "$file" = "xinitrc.xfce" \
+ -a ! "$file" = "xinitrc.blackbox" -a ! "$file" = "xinitrc.fluxbox" \
+ -a ! "$file" = "xinitrc.sawfish" ]; then
+ echo "\"$file\" \"$file\" \\" >> $TMP/tmpscript.sh
+ fi
+ done
+)
+
+# Then, the tail end:
+cat << EOF >> $TMP/tmpscript.sh
+2> $TMP/output
+if [ ! \$? = 0 ]; then
+ rm -f $TMP/output
+ echo "Canceled."
+ exit
+fi
+EOF
+
+sh $TMP/tmpscript.sh
+
+if [ ! -r $TMP/output ]; then
+ rm -f $TMP/tmpscript.sh
+ exit
+fi
+
+OUTPUT=`cat $TMP/output`
+
+# If xwmconfig is run by root, it changes the system-wide default for users
+# that do not have a $HOME/.xinitrc:
+if [ "$USER" = "root" ]; then
+ if [ -r /etc/X11/xinit/$OUTPUT ]; then
+ ( cd /etc/X11/xinit ; rm -f xinitrc ; ln -sf $OUTPUT xinitrc )
+ fi
+fi
+
+# Also set up a new $HOME/.xinitrc:
+if [ -r /etc/X11/xinit/$OUTPUT -a ! "$HOME" = "/" ]; then
+ if [ -r $HOME/.xinitrc ]; then
+ rm -f $HOME/.xinitrc-backup
+ mv $HOME/.xinitrc $HOME/.xinitrc-backup
+ fi
+ cat /etc/X11/xinit/$OUTPUT > $HOME/.xinitrc
+fi
+
+rm -f $TMP/tmpscript.sh $TMP/output
+
diff --git a/source/x/x11-skel/slack-desc b/source/x/x11-skel/slack-desc
new file mode 100644
index 000000000..c4d1de4d1
--- /dev/null
+++ b/source/x/x11-skel/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+x11-skel: x11-skel (Miscellaneous things required for X)
+x11-skel:
+x11-skel: These are some symlinks needed by X11 after moving some files and
+x11-skel: directories to conform with the Linux FHS. For example, the fonts
+x11-skel: are now in the /usr/share/fonts directory, and this package makes
+x11-skel: a symlink to there from /usr/lib/X11/fonts (the default location).
+x11-skel: An /etc/xdg directory (the default for XDG_CONFIG_DIRS in the
+x11-skel: XDG Base Directory Specification) is also contained in this package,
+x11-skel: as well as sample xorg.conf files and other scripts.
+x11-skel:
+x11-skel:
diff --git a/source/x/x11-skel/x11-skel.SlackBuild b/source/x/x11-skel/x11-skel.SlackBuild
new file mode 100755
index 000000000..b21b325c9
--- /dev/null
+++ b/source/x/x11-skel/x11-skel.SlackBuild
@@ -0,0 +1,74 @@
+#!/bin/sh
+
+# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+VERSION=7.4
+ARCH=${ARCH:-x86_64}
+BUILD=${BUILD:-1}
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-x11-skel
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $PKG
+mkdir -p etc/xdg
+mkdir -p etc/X11
+mkdir -p usr/lib${LIBDIRSUFFIX}/X11
+mkdir -p usr/bin
+mkdir -p var/log/setup
+mkdir -p usr/man/man1
+
+# obsolete:
+#cp -a $CWD/scripts/xorg.conf-fbdev etc/X11
+
+cp -a $CWD/scripts/xorg.conf-vesa etc/X11
+chown -R root:root etc/X11
+find etc/X11 -type f -exec chmod 644 {} \;
+cp -a $CWD/scripts/xorgsetup usr/bin
+cp -a $CWD/scripts/xwmconfig usr/bin
+chown root:root usr/bin/*
+chmod 755 usr/bin/*
+sed -i -e "s#lib/#lib${LIBDIRSUFFIX}/#g" usr/bin/*
+cp -a $CWD/scripts/setup.xwmconfig var/log/setup
+chown root:root var/log/setup/setup.xwmconfig
+chmod 755 var/log/setup/setup.xwmconfig
+cat $CWD/manpages/xwmconfig.1 | gzip -9c > $PKG/usr/man/man1/xwmconfig.1.gz
+
+mkdir -p install
+zcat $CWD/doinst.sh.gz \
+ | sed -e "s#lib/#lib${LIBDIRSUFFIX}/#g" -e "s#lib #lib${LIBDIRSUFFIX} #g" \
+ > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+# Build the package:
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/x11-skel-$VERSION-$ARCH-$BUILD.txz
+