XF86Config-4 – Dual-Head

Section "ServerLayout"
    Identifier     "Matrox PowerDesk configured."
    Screen      0  "Display 1" RightOf "Display 2"
    Screen         "Display 2" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "PS/2 Mouse" "CorePointer"
EndSection

Section "Files"
    RgbPath     "/usr/X11R6/lib/X11/rgb"
    ModulePath  "/usr/X11R6/lib/modules"
    FontPath    "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
    FontPath    "/var/lib/defoma/x-ttcidfont-conf.d/dirs/CID"
    FontPath    "/usr/local/fonts/unicode"
#   FontPath     "unix/:7101"
    FontPath    "unix/:7100"
    FontPath    "/usr/X11R6/lib/X11/fonts/misc"
#   FontPath     "/usr/X11R6/lib/X11/fonts/misc:unscaled"
#   FontPath     "/usr/X11R6/lib/X11/fonts/misc"
#   FontPath     "/usr/X11R6/lib/X11/fonts/75dpi:unscaled"
#   FontPath     "/usr/X11R6/lib/X11/fonts/75dpi"
#   FontPath     "/usr/X11R6/lib/X11/fonts/100dpi:unscaled"
#   FontPath     "/usr/X11R6/lib/X11/fonts/100dpi"
#   FontPath     "/usr/X11R6/lib/X11/fonts/Speedo"
#   FontPath     "/usr/X11R6/lib/X11/fonts/PEX"
#   FontPath     "/usr/X11R6/lib/X11/fonts/cyrillic"
#   FontPath     "/usr/X11R6/lib/X11/fonts/Type1"
#   FontPath     "/usr/share/fonts/ttf/western"
#   FontPath     "/usr/share/fonts/ttf/decoratives"
#   FontPath     "/usr/share/fonts/truetype"
#   FontPath     "/usr/share/fonts/truetype/openoffice"
#   FontPath     "/usr/share/fonts/truetype/ttf-bitstream-vera"
#   FontPath     "/usr/share/fonts/latex-ttf-fonts"
#   FontPath     "/usr/X11R6/lib/X11/fonts/defoma/CID"
#   FontPath     "/usr/X11R6/lib/X11/fonts/defoma/TrueType"
EndSection

Section "Module"
    Load  "ddc"
    Load  "GLcore"
    Load  "dbe"
    Load  "extmod"
    Load  "glx"
    Load  "bitmap"
    Load  "speedo"
    Load  "type1"
    Load  "freetype"
    Load  "record"
EndSection

Section "ServerFlags"
    Option "AllowMouseOpenFail" "true"
    Option "Xinerama"
EndSection

Section "InputDevice"
    Identifier  "Keyboard0"
    Driver      "keyboard"
    Option      "CoreKeyboard"
    Option      "XkbRules" "xfree86"
    Option      "XkbModel" "pc105"
    Option      "XkbLayout" "us"
    #Option      "XkbLayout" "us_intl"
EndSection

Section "InputDevice"
    Identifier  "PS/2 Mouse"
    Driver      "mouse"
    Option      "Protocol" "PS/2"
    Option      "ZAxisMapping" "4 5"
    Option      "Device" "/dev/psaux"
    Option      "Emulate3Buttons" "true"
    Option      "Emulate3Timeout" "70"
    Option      "SendCoreEvents" "true"
EndSection

Section "Monitor"
    Identifier   "Display 1"
    VendorName   "CPQ"

    ModelName    "CPQ1330"
    HorizSync    30.0 - 85.0
    VertRefresh  50.0 - 150.0
    Option       "DPMS" "true"
EndSection

Section "Monitor"
    Identifier   "Display 2"
    VendorName   "CPQ"
    ModelName    "CPQ1330"
    HorizSync    30.0 - 50.0
    VertRefresh  50.0 - 90.0
EndSection

Section "Device"
    Identifier  "MATROX CARD 1"
    Driver      "mga"
    VendorName  "All"
    BoardName   "All"
    BusID       "PCI:1:0:0"
EndSection

Section "Device"
    Identifier  "MATROX CARD 2"
    Driver      "mga"
    VendorName  "All"
    BoardName   "All"
    BusID       "PCI:1:0:0"
    Screen      1
EndSection

Section "Screen"
    Identifier "Display 1"
    Device     "MATROX CARD 1"
    Monitor    "Display 1"
    DefaultDepth     24
    SubSection "Display"
        Depth     24
        Modes    "1024x768" "1024x768" "1024x768" "1024x768" "1024x768"
    EndSubSection
EndSection

Section "Screen"
    Identifier "Display 2"
    Device     "MATROX CARD 2"
    Monitor    "Display 2"
    DefaultDepth     24
    SubSection "Display"
        Depth     24
        Modes    "1024x768"
    EndSubSection
EndSection

Section "DRI"
    Mode         0666
EndSection

Backdrop in Python

#!/usr/bin/python

import os, sys, random, imghdr

# This is a little program I call via cron to change my desktop every
# few minutes.  With no arguments it goes to my directory of backdrop
# images and picks a valid image at random.  If I specify a path and a
# file the program will put it up as the display.

# I don't want to fill up my inbox with emails from cron telling me that
# X isn't running, so I check first.
xisrunning = os.popen("pidof /usr/bin/X11/X").read()

def changebackdrop():
    # The below command works for transparent Eterm or Urxvt terminals,
    # populating their backgrounds with the image they occlude.  xli or
    # xsetroot can be called, but they don't work as desired for
    # transparent terminals.
    command = "/usr/bin/Esetroot"
    # If I was logging into X remotely, this would change.
    commandargs = " -display :0.0 "

    # This is where my backdrops live
    picdir = "/home/willyyam/misc/bmps/"

    if sys.argv[1:]:
        doit = command + commandargs + sys.argv[1]
        os.popen(doit, 'r')
    else:
        files = os.listdir(picdir)
        os.chdir(picdir)
        pics = []
        for file in files:
            # This is a test for valid images - it includes rgb files,
            # which are not supported by my image software, but the
            # error thrown is not terrible - it knows what it can and
            # cannot run.
            if imghdr.what(file):
                pics.append(file)

        randpic = random.choice(pics)
        doit = command + commandargs + picdir + randpic
        os.popen(doit, 'r')

if xisrunning:
    changebackdrop()
else:
    exit

# Copyright 2005 William Witteman

oglerc

<!-- I left the RC file almost totally alone, but I run two monitors on a Matrox G400, and so I had to do the following: -->
<geometry>
    <width>400</width>
    <height>300</height>
</geometry>
<geometry_src>user</geometry_src>
<resolution_src>Xinerama</resolution_src>