Initial recommit

master
Joshua Dye 2 years ago
commit ef30213fc4

File diff suppressed because it is too large Load Diff

@ -0,0 +1,3 @@
proc /proc proc defaults 0 0
PARTUUID=ceb251fe-01 /boot vfat defaults 0 2
PARTUUID=ceb251fe-02 / ext4 defaults,noatime 0 1

59
.gitignore vendored

@ -0,0 +1,59 @@
# begin section managed by etckeeper (do not edit this section by hand)
# new and old versions of conffiles, stored by dpkg
*.dpkg-*
# new and old versions of conffiles, stored by ucf
*.ucf-*
# old versions of files
*.old
# mount(8) records system state here, no need to store these
blkid.tab
blkid.tab.old
# some other files in /etc that typically do not need to be tracked
nologin
ld.so.cache
prelink.cache
mtab
mtab.fuselock
.pwd.lock
*.LOCK
network/run
adjtime
lvm/cache
lvm/archive
X11/xdm/authdir/authfiles/*
ntp.conf.dhcp
.initctl
webmin/fsdump/*.status
webmin/webmin/oscache
apparmor.d/cache/*
service/*/supervise/*
service/*/log/supervise/*
sv/*/supervise/*
sv/*/log/supervise/*
*.elc
*.pyc
*.pyo
init.d/.depend.*
openvpn/openvpn-status.log
cups/subscriptions.conf
cups/subscriptions.conf.O
fake-hwclock.data
check_mk/logwatch.state
# editor temp files
*~
.*.sw?
.sw?
\#*\#
DEADJOE
# end section managed by etckeeper
pihole/*.db
.pihole
gravity-sync/.gs
*.pem
*.key

@ -0,0 +1,21 @@
# Only the system administrator should modify this file, ordinary users
# should not have to change anything.
[Daemon]
# Default backends, as chosen in the configure script. This will be used
# where no --backend="foo" option is given to the daemon.
#
# The order they are specified is the order they are tried, so for the
# value "foo,bar" first "foo" will be attempted and then "bar" if the
# libpk_backend_foo.so module load failed.
#DefaultBackend=auto
# Unlock the backend after this many seconds idle.
#BackendShutdownTimeout=5
# Shut down the daemon after this many seconds idle. 0 means don't shutdown.
#ShutdownTimeout=300
# Keep the packages after they have been downloaded
#KeepCache=false

@ -0,0 +1,48 @@
# Only the system vendor should modify this file, ordinary users
# should not have to change anything.
[PackagesNotFound]
# This is a link to a vendor URL which is shown when a suitable package
# could not be found in any remote software repository.
# The page set here should explain how to add new software repositories if required.
#
# If the value is set to 'none' then no link is shown.
#
# default=http://www.packagekit.org/pk-package-not-found.html
DefaultUrl=https://wiki.debian.org/PackageKit/ItemNotFound#Missing_Package
# The URL which is shown to the user when a codec could not be found.
# It should explain why certain codecs cannot be used, and perhaps show
# links to web stores where the codec can be legally purchased.
#
# If the value is set to 'none' then the value of DefaultUrl is used.
#
# default=none
CodecUrl=https://wiki.debian.org/PackageKit/ItemNotFound#Missing_Codec
# The URL which is shown to the user when hardware drivers could not be found.
# It should explain why some hardware is not supported, and links to futher
# information.
#
# If the value is set to 'none' then the value of DefaultUrl is used.
#
# default=none
HardwareUrl=https://wiki.debian.org/PackageKit/ItemNotFound#Missing_Driver
# The URL which is shown to the user when fonts could not be found.
# Alternatives should probably be suggested where possible.
#
# If the value is set to 'none' then the value of DefaultUrl is used.
#
# default=none
FontUrl=https://wiki.debian.org/PackageKit/ItemNotFound#Missing_Font
# The URL which is shown to the user when programs handing a mime tpye could not
# be found. It should probably explain how to use wine if the program is a
# Windows program, or suggest alternatives.
#
# If the value is set to 'none' then the value of DefaultUrl is used.
#
# default=none
MimeUrl=https://wiki.debian.org/PackageKit/ItemNotFound#Missing_MIME_Support

@ -0,0 +1,658 @@
# #####################################################################
#
# RTIMULib settings file
# General settings
#
# IMU type -
# 0 = Auto discover
# 1 = Null (used when data is provided from a remote IMU
# 2 = InvenSense MPU-9150
# 3 = STM L3GD20H + LSM303D
# 4 = STM L3GD20 + LSM303DLHC
# 5 = STM LSM9DS0
# 6 = STM LSM9DS1
# 7 = InvenSense MPU-9250
# 8 = STM L3GD20H + LSM303DLHC
# 9 = Bosch BMX055
# 10 = Bosch BNX055
IMUType=6
#
# Fusion type type -
# 0 - Null. Use if only sensor data required without fusion
# 1 - Kalman STATE4
# 2 - RTQF
FusionType=2
#
# Is bus I2C: 'true' for I2C, 'false' for SPI
BusIsI2C=true
#
# I2C Bus (between 0 and 7)
I2CBus=1
#
# SPI Bus (between 0 and 7)
SPIBus=0
#
# SPI select (between 0 and 1)
SPISelect=0
#
# SPI Speed in Hz
SPISpeed=500000
#
# I2C slave address (filled in automatically by auto discover)
I2CSlaveAddress=106
#
# IMU axis rotation - see RTIMU.h for details
AxisRotation=0
# Pressure sensor type -
# 0 = Auto discover
# 1 = Null (no hardware or don't use)
# 2 = BMP180
# 3 = LPS25H
# 4 = MS5611
# 5 = MS5637
PressureType=0
#
# I2C pressure sensor address (filled in automatically by auto discover)
I2CPressureAddress=0
# Humidity sensor type -
# 0 = Auto discover
# 1 = Null (no hardware or don't use)
# 2 = HTS221
# 3 = HTU21D
HumidityType=0
#
# I2C humidity sensor address (filled in automatically by auto discover)
I2CHumidityAddress=0
# #####################################################################
#
# Compass calibration settings
CompassCalValid=true
CompassCalMinX=-26.074535
CompassCalMinY=-2.034567
CompassCalMinZ=-14.253133
CompassCalMaxX=49.599648
CompassCalMaxY=70.567223
CompassCalMaxZ=55.166424
# #####################################################################
#
# Compass adjustment settings
# Compass declination is in radians and is subtracted from calculated heading
compassAdjDeclination=0.000000
# #####################################################################
#
# Compass ellipsoid calibration
compassCalEllipsoidValid=true
compassCalOffsetX=0.268940
compassCalOffsetY=0.530345
compassCalOffsetZ=-0.120908
compassCalCorr11=0.973294
compassCalCorr12=-0.014069
compassCalCorr13=-0.021423
compassCalCorr21=-0.014069
compassCalCorr22=0.965692
compassCalCorr23=-0.002746
compassCalCorr31=-0.021423
compassCalCorr32=-0.002746
compassCalCorr33=0.980103
# #####################################################################
#
# Accel calibration
AccelCalValid=true
AccelCalMinX=-0.988512
AccelCalMinY=-1.011500
AccelCalMinZ=-1.012328
AccelCalMaxX=1.006410
AccelCalMaxY=1.004973
AccelCalMaxZ=1.001244
# #####################################################################
#
# Saved gyro bias data
GyroBiasValid=true
GyroBiasX=0.024642
GyroBiasY=0.020255
GyroBiasZ=-0.011905
# #####################################################################
#
# MPU-9150 settings
#
# Gyro sample rate (between 5Hz and 1000Hz)
MPU9150GyroAccelSampleRate=50
#
# Compass sample rate (between 1Hz and 100Hz)
MPU9150CompassSampleRate=25
#
# Gyro/accel low pass filter -
# 0 - gyro: 256Hz, accel: 260Hz
# 1 - gyro: 188Hz, accel: 184Hz
# 2 - gyro: 98Hz, accel: 98Hz
# 3 - gyro: 42Hz, accel: 44Hz
# 4 - gyro: 20Hz, accel: 21Hz
# 5 - gyro: 10Hz, accel: 10Hz
# 6 - gyro: 5Hz, accel: 5Hz
MPU9150GyroAccelLpf=4
#
# Gyro full scale range -
# 0 - +/- 250 degress per second
# 8 - +/- 500 degress per second
# 16 - +/- 1000 degress per second
# 24 - +/- 2000 degress per second
MPU9150GyroFSR=16
#
# Accel full scale range -
# 0 - +/- 2g
# 8 - +/- 4g
# 16 - +/- 8g
# 24 - +/- 16g
MPU9150AccelFSR=16
# #####################################################################
#
# MPU-9250 settings
#
# Gyro sample rate (between 5Hz and 1000Hz plus 8000Hz and 32000Hz)
MPU9250GyroAccelSampleRate=80
#
# Compass sample rate (between 1Hz and 100Hz)
MPU9250CompassSampleRate=40
#
# Gyro low pass filter -
# 0x11 - 8800Hz, 0.64mS delay
# 0x10 - 3600Hz, 0.11mS delay
# 0x00 - 250Hz, 0.97mS delay
# 0x01 - 184Hz, 2.9mS delay
# 0x02 - 92Hz, 3.9mS delay
# 0x03 - 41Hz, 5.9mS delay
# 0x04 - 20Hz, 9.9mS delay
# 0x05 - 10Hz, 17.85mS delay
# 0x06 - 5Hz, 33.48mS delay
MPU9250GyroLpf=3
#
# Accel low pass filter -
# 0x08 - 1130Hz, 0.75mS delay
# 0x00 - 460Hz, 1.94mS delay
# 0x01 - 184Hz, 5.80mS delay
# 0x02 - 92Hz, 7.80mS delay
# 0x03 - 41Hz, 11.80mS delay
# 0x04 - 20Hz, 19.80mS delay
# 0x05 - 10Hz, 35.70mS delay
# 0x06 - 5Hz, 66.96mS delay
MPU9250AccelLpf=3
#
# Gyro full scale range -
# 0 - +/- 250 degress per second
# 8 - +/- 500 degress per second
# 16 - +/- 1000 degress per second
# 24 - +/- 2000 degress per second
MPU9250GyroFSR=16
#
# Accel full scale range -
# 0 - +/- 2g
# 8 - +/- 4g
# 16 - +/- 8g
# 24 - +/- 16g
MPU9250AccelFSR=16
# #####################################################################
#
# L3GD20H + LSM303D settings
#
# Gyro sample rate -
# 0 = 12.5Hz
# 1 = 25Hz
# 2 = 50Hz
# 3 = 100Hz
# 4 = 200Hz
# 5 = 400Hz
# 6 = 800Hz
GD20HM303DGyroSampleRate=2
#
# Gyro full scale range -
# 0 = 245 degrees per second
# 1 = 500 degrees per second
# 2 = 2000 degrees per second
GD20HM303DGyroFsr=1
#
# Gyro high pass filter -
# 0 - 9 but see the L3GD20H manual for details
GD20HM303DGyroHpf=4
#
# Gyro bandwidth -
# 0 - 3 but see the L3GD20H manual for details
GD20HM303DGyroBW=1
# Accel sample rate -
# 1 = 3.125Hz
# 2 = 6.25Hz
# 3 = 12.5Hz
# 4 = 25Hz
# 5 = 50Hz
# 6 = 100Hz
# 7 = 200Hz
# 8 = 400Hz
# 9 = 800Hz
# 10 = 1600Hz
GD20HM303DAccelSampleRate=5
#
# Accel full scale range -
# 0 = +/- 2g
# 1 = +/- 4g
# 2 = +/- 6g
# 3 = +/- 8g
# 4 = +/- 16g
GD20HM303DAccelFsr=3
#
# Accel low pass filter -
# 0 = 773Hz
# 1 = 194Hz
# 2 = 362Hz
# 3 = 50Hz
GD20HM303DAccelLpf=3
#
# Compass sample rate -
# 0 = 3.125Hz
# 1 = 6.25Hz
# 2 = 12.5Hz
# 3 = 25Hz
# 4 = 50Hz
# 5 = 100Hz
GD20HM303DCompassSampleRate=4
#
# Compass full scale range -
# 0 = +/- 200 uT
# 1 = +/- 400 uT
# 2 = +/- 800 uT
# 3 = +/- 1200 uT
GD20HM303DCompassFsr=0
# #####################################################################
#
# L3GD20 + LSM303DLHC settings
#
# Gyro sample rate -
# 0 = 95z
# 1 = 190Hz
# 2 = 380Hz
# 3 = 760Hz
GD20M303DLHCGyroSampleRate=0
#
# Gyro full scale range -
# 0 = 250 degrees per second
# 1 = 500 degrees per second
# 2 = 2000 degrees per second
GD20M303DLHCGyroFsr=1
#
# Gyro high pass filter -
# 0 - 9 but see the L3GD20 manual for details
GD20M303DLHCGyroHpf=4
#
# Gyro bandwidth -
# 0 - 3 but see the L3GD20 manual for details
GD20M303DLHCGyroBW=1
# Accel sample rate -
# 1 = 1Hz
# 2 = 10Hz
# 3 = 25Hz
# 4 = 50Hz
# 5 = 100Hz
# 6 = 200Hz
# 7 = 400Hz
GD20M303DLHCAccelSampleRate=4
#
# Accel full scale range -
# 0 = +/- 2g
# 1 = +/- 4g
# 2 = +/- 8g
# 3 = +/- 16g
GD20M303DLHCAccelFsr=2
#
# Compass sample rate -
# 0 = 0.75Hz
# 1 = 1.5Hz
# 2 = 3Hz
# 3 = 7.5Hz
# 4 = 15Hz
# 5 = 30Hz
# 6 = 75Hz
# 7 = 220Hz
GD20M303DLHCCompassSampleRate=5
#
# Compass full scale range -
# 1 = +/- 130 uT
# 2 = +/- 190 uT
# 3 = +/- 250 uT
# 4 = +/- 400 uT
# 5 = +/- 470 uT
# 6 = +/- 560 uT
# 7 = +/- 810 uT
GD20M303DLHCCompassFsr=1
# #####################################################################
#
# L3GD20H + LSM303DLHC settings
#
#
# Gyro sample rate -
# 0 = 12.5Hz
# 1 = 25Hz
# 2 = 50Hz
# 3 = 100Hz
# 4 = 200Hz
# 5 = 400Hz
# 6 = 800Hz
GD20HM303DLHCGyroSampleRate=2
#
# Gyro full scale range -
# 0 = 245 degrees per second
# 1 = 500 degrees per second
# 2 = 2000 degrees per second
GD20HM303DLHCGyroFsr=1
#
# Gyro high pass filter -
# 0 - 9 but see the L3GD20H manual for details
GD20HM303DLHCGyroHpf=4
#
# Gyro bandwidth -
# 0 - 3 but see the L3GD20H manual for details
GD20HM303DLHCGyroBW=1
# Accel sample rate -
# 1 = 1Hz
# 2 = 10Hz
# 3 = 25Hz
# 4 = 50Hz
# 5 = 100Hz
# 6 = 200Hz
# 7 = 400Hz
GD20HM303DLHCAccelSampleRate=4
#
# Accel full scale range -
# 0 = +/- 2g
# 1 = +/- 4g
# 2 = +/- 8g
# 3 = +/- 16g
GD20HM303DLHCAccelFsr=2
#
# Compass sample rate -
# 0 = 0.75Hz
# 1 = 1.5Hz
# 2 = 3Hz
# 3 = 7.5Hz
# 4 = 15Hz
# 5 = 30Hz
# 6 = 75Hz
# 7 = 220Hz
GD20HM303DLHCCompassSampleRate=5
#
# Compass full scale range -
# 1 = +/- 130 uT
# 2 = +/- 190 uT
# 3 = +/- 250 uT
# 4 = +/- 400 uT
# 5 = +/- 470 uT
# 6 = +/- 560 uT
# 7 = +/- 810 uT
GD20HM303DLHCCompassFsr=1
# #####################################################################
#
# LSM9DS0 settings
#
# Gyro sample rate -
# 0 = 95z
# 1 = 190Hz
# 2 = 380Hz
# 3 = 760Hz
LSM9DS0GyroSampleRate=0
#
# Gyro full scale range -
# 0 = 250 degrees per second
# 1 = 500 degrees per second
# 2 = 2000 degrees per second
LSM9DS0GyroFsr=1
#
# Gyro high pass filter -
# 0 - 9 but see the LSM9DS0 manual for details
LSM9DS0GyroHpf=4
#
# Gyro bandwidth -
# 0 - 3 but see the LSM9DS0 manual for details
LSM9DS0GyroBW=1
# Accel sample rate -
# 1 = 3.125Hz
# 2 = 6.25Hz
# 3 = 12.5Hz
# 4 = 25Hz
# 5 = 50Hz
# 6 = 100Hz
# 7 = 200Hz
# 8 = 400Hz
# 9 = 800Hz
# 10 = 1600Hz
LSM9DS0AccelSampleRate=5
#
# Accel full scale range -
# 0 = +/- 2g
# 1 = +/- 4g
# 2 = +/- 6g
# 3 = +/- 8g
# 4 = +/- 16g
LSM9DS0AccelFsr=3
#
# Accel low pass filter -
# 0 = 773Hz
# 1 = 194Hz
# 2 = 362Hz
# 3 = 50Hz
LSM9DS0AccelLpf=3
#
# Compass sample rate -
# 0 = 3.125Hz
# 1 = 6.25Hz
# 2 = 12.5Hz
# 3 = 25Hz
# 4 = 50Hz
# 5 = 100Hz
LSM9DS0CompassSampleRate=4
#
# Compass full scale range -
# 0 = +/- 200 uT
# 1 = +/- 400 uT
# 2 = +/- 800 uT
# 3 = +/- 1200 uT
LSM9DS0CompassFsr=0
# #####################################################################
#
# LSM9DS1 settings
#
# Gyro sample rate -
# 0 = 95Hz
# 1 = 190Hz
# 2 = 380Hz
# 3 = 760Hz
LSM9DS1GyroSampleRate=2
#
# Gyro full scale range -
# 0 = 250 degrees per second
# 1 = 500 degrees per second
# 2 = 2000 degrees per second
LSM9DS1GyroFsr=1
#
# Gyro high pass filter -
# 0 - 9 but see the LSM9DS1 manual for details
LSM9DS1GyroHpf=4
#
# Gyro bandwidth -
# 0 - 3 but see the LSM9DS1 manual for details
LSM9DS1GyroBW=1
# Accel sample rate -
# 1 = 14.9Hz
# 2 = 59.5Hz
# 3 = 119Hz
# 4 = 238Hz
# 5 = 476Hz
# 6 = 952Hz
LSM9DS1AccelSampleRate=3
#
# Accel full scale range -
# 0 = +/- 2g
# 1 = +/- 16g
# 2 = +/- 4g
# 3 = +/- 8g
LSM9DS1AccelFsr=3
#
# Accel low pass filter -
# 0 = 408Hz
# 1 = 211Hz
# 2 = 105Hz
# 3 = 50Hz
LSM9DS1AccelLpf=3
#
# Compass sample rate -
# 0 = 0.625Hz
# 1 = 1.25Hz
# 2 = 2.5Hz
# 3 = 5Hz
# 4 = 10Hz
# 5 = 20Hz
# 6 = 40Hz
# 7 = 80Hz
LSM9DS1CompassSampleRate=5
#
# Compass full scale range -
# 0 = +/- 400 uT
# 1 = +/- 800 uT
# 2 = +/- 1200 uT
# 3 = +/- 1600 uT
LSM9DS1CompassFsr=0
# #####################################################################
#
# BMX055 settings
#
#
# Gyro sample rate -
# 0 = 2000Hz (532Hz filter)
# 1 = 2000Hz (230Hz filter)
# 2 = 1000Hz (116Hz filter)
# 3 = 400Hz (47Hz filter)
# 4 = 200Hz (23Hz filter)
# 5 = 100Hz (12Hz filter)
# 6 = 200Hz (64Hz filter)
# 7 = 100Hz (32Hz filter)
BMX055GyroSampleRate=7
#
# Gyro full scale range -
# 0 = 2000 deg/s
# 1 = 1000 deg/s
# 2 = 500 deg/s
# 3 = 250 deg/s
# 4 = 125 deg/s
BMX055GyroFsr=2
#
# Accel sample rate -
# 0 = 15.63Hz
# 1 = 31.25
# 2 = 62.5
# 3 = 125
# 4 = 250
# 5 = 500
# 6 = 1000
# 7 = 2000
BMX055AccelSampleRate=3
#
# Accel full scale range -
# 0 = +/- 2g
# 1 = +/- 4g
# 2 = +/- 8g
# 3 = +/- 16g
BMX055AccelFsr=2
#
# Mag presets -
# 0 = Low power
# 1 = Regular
# 2 = Enhanced
# 3 = High accuracy
BMX055MagPreset=1

@ -0,0 +1,34 @@
#!/bin/sh
#
# /etc/X11/Xreset
#
# global Xreset file -- for use by display managers
# $Id: Xsession 967 2005-12-27 07:20:55Z dnusinow $
set -e
PROGNAME=Xreset
SYSSESSIONDIR=/etc/X11/Xreset.d
if [ ! -d "$SYSSESSIONDIR" ]; then
# Nothing to do, exiting
exit 0
fi
# use run-parts to source every file in the session directory; we source
# instead of executing so that the variables and functions defined above
# are available to the scripts, and so that they can pass variables to each
# other
SESSIONFILES=$(run-parts --list $SYSSESSIONDIR)
if [ -n "$SESSIONFILES" ]; then
set +e
for SESSIONFILE in $SESSIONFILES; do
. $SESSIONFILE
done
set -e
fi
exit 0
# vim:set ai et sts=2 sw=2 tw=80:

@ -0,0 +1,4 @@
# Scripts in this directory are executed as root when a user log out from
# a display manager using /etc/X11/Xreset.
# The username of the user logging out is provided in the $USER environment
# variable.

@ -0,0 +1,10 @@
! $Id$
! load color-specific resources for clients that have them
#ifdef COLOR
*customization: -color
#endif
! make Xaw (Athena widget set) clients understand the delete key
! this causes problems with some non-Xaw apps, use with care
! *Text.translations: #override ~Shift ~Meta <Key>Delete: delete-next-character()

@ -0,0 +1,131 @@
#!/bin/sh
#
# /etc/X11/Xsession
#
# global Xsession file -- used by display managers and xinit (startx)
# $Id: Xsession 967 2005-12-27 07:20:55Z dnusinow $
set -e
PROGNAME=Xsession
message () {
# pretty-print messages of arbitrary length; use xmessage if it
# is available and $DISPLAY is set
MESSAGE="$PROGNAME: $*"
echo "$MESSAGE" | fold -s -w ${COLUMNS:-80} >&2
if [ -n "$DISPLAY" ] && which xmessage > /dev/null 2>&1; then
echo "$MESSAGE" | fold -s -w ${COLUMNS:-80} | xmessage -center -file -
fi
}
message_nonl () {
# pretty-print messages of arbitrary length (no trailing newline); use
# xmessage if it is available and $DISPLAY is set
MESSAGE="$PROGNAME: $*"
echo -n "$MESSAGE" | fold -s -w ${COLUMNS:-80} >&2;
if [ -n "$DISPLAY" ] && which xmessage > /dev/null 2>&1; then
echo -n "$MESSAGE" | fold -s -w ${COLUMNS:-80} | xmessage -center -file -
fi
}
errormsg () {
# exit script with error
message "$*"
exit 1
}
internal_errormsg () {
# exit script with error; essentially a "THIS SHOULD NEVER HAPPEN" message
# One big call to message() for the sake of xmessage; if we had two then
# the user would have dismissed the error we want reported before seeing the
# request to report it.
errormsg "$*" \
"Please report the installed version of the \"x11-common\"" \
"package and the complete text of this error message to" \
"<debian-x@lists.debian.org>."
}
# initialize variables for use by all session scripts
OPTIONFILE=/etc/X11/Xsession.options
SYSRESOURCES=/etc/X11/Xresources
USRRESOURCES=$HOME/.Xresources
SYSSESSIONDIR=/etc/X11/Xsession.d
USERXSESSION=$HOME/.xsession
USERXSESSIONRC=$HOME/.xsessionrc
ALTUSERXSESSION=$HOME/.Xsession
ERRFILE=$HOME/.xsession-errors
OPTIONS="$(
if [ -r "$OPTIONFILE" ]; then
cat "$OPTIONFILE"
fi
if [ -d /etc/X11/Xsession.options.d ]; then
run-parts --list --regex '\.conf$' /etc/X11/Xsession.options.d | xargs -d '\n' cat
fi
)"
has_option() {
# Ensure that a later no-foo overrides an earlier foo
if [ "$(echo "$OPTIONS" | grep -Eo "^(no-)?$1\>" | tail -n 1)" = "$1" ]; then
return 0
else
return 1
fi
}
# attempt to create an error file; abort if we cannot
if (umask 077 && touch "$ERRFILE") 2> /dev/null && [ -w "$ERRFILE" ] &&
[ ! -L "$ERRFILE" ]; then
chmod 600 "$ERRFILE"
elif ERRFILE=$(tempfile 2> /dev/null); then
if ! ln -sf "$ERRFILE" "${TMPDIR:=/tmp}/xsession-$USER"; then
message "warning: unable to symlink \"$TMPDIR/xsession-$USER\" to" \
"\"$ERRFILE\"; look for session log/errors in" \
"\"$TMPDIR/xsession-$USER\"."
fi
else
errormsg "unable to create X session log/error file; aborting."
fi
exec >>"$ERRFILE" 2>&1
echo "$PROGNAME: X session started for $LOGNAME at $(date)"
# sanity check; is our session script directory present?
if [ ! -d "$SYSSESSIONDIR" ]; then
errormsg "no \"$SYSSESSIONDIR\" directory found; aborting."
fi
# Attempt to create a file of non-zero length in /tmp; a full filesystem can
# cause mysterious X session failures. We do not use touch, :, or test -w
# because they won't actually create a file with contents. We also let standard
# error from tempfile and echo go to the error file to aid the user in
# determining what went wrong.
WRITE_TEST=$(tempfile)
if ! echo "*" >>"$WRITE_TEST"; then
message "warning: unable to write to ${WRITE_TEST%/*}; X session may exit" \
"with an error"
fi
rm -f "$WRITE_TEST"
# use run-parts to source every file in the session directory; we source
# instead of executing so that the variables and functions defined above
# are available to the scripts, and so that they can pass variables to each
# other
SESSIONFILES=$(run-parts --list $SYSSESSIONDIR)
if [ -n "$SESSIONFILES" ]; then
set +e
for SESSIONFILE in $SESSIONFILES; do
. $SESSIONFILE
done
set -e
fi
exit 0
# vim:set ai et sts=2 sw=2 tw=80:

@ -0,0 +1,24 @@
# vim:set ft=sh sw=2 sts=2 et:
if [ -z "$DBUS_SESSION_BUS_ADDRESS" ] && [ -n "$XDG_RUNTIME_DIR" ] && \
[ "$XDG_RUNTIME_DIR" = "/run/user/`id -u`" ] && \
[ -S "$XDG_RUNTIME_DIR/bus" ]; then
# We are under systemd-logind or something remarkably similar, and
# a user-session socket has already been set up.
#
# Be nice to non-libdbus, non-sd-bus implementations by using
# that as the session bus address in the environment. The check for
# XDG_RUNTIME_DIR = "/run/user/`id -u`" is because we know that
# form of the address, from systemd-logind, doesn't need escaping,
# whereas arbitrary addresses might.
DBUS_SESSION_BUS_ADDRESS="unix:path=$XDG_RUNTIME_DIR/bus"
export DBUS_SESSION_BUS_ADDRESS
fi
if [ -x "/usr/bin/dbus-update-activation-environment" ]; then
# tell dbus-daemon --session (and systemd --user, if running)
# to put a minimal subset of the Xsession's environment in activated
# services' environments
dbus-update-activation-environment --verbose --systemd \
DBUS_SESSION_BUS_ADDRESS DISPLAY XAUTHORITY
fi

@ -0,0 +1,6 @@
# To enable the use of libvdpau-va-gl as the default VDPAU driver,
# uncommont the following lines. See
# `/usr/share/doc/libvdpau-va-gl1/README.Debian` for more details.
# [ ! -f /usr/lib/$(arch)-$(uname -s | tr '[A-Z]' '[a-z]')-gnu/vdpau/libvdpau_va_gl.so.1 ] || \
# export VDPAU_DRIVER=va_gl

@ -0,0 +1,58 @@
# $Id: 20x11-common_process-args 305 2005-07-03 18:51:43Z dnusinow $
# This file is sourced by Xsession(5), not executed.
# Determine how many arguments were provided.
case $# in
0)
# No arguments given; use default behavior.
;;
1)
# One argument given; see what it was.
case "$1" in
failsafe)
# Failsafe session was requested.
if has_option allow-failsafe; then
if [ -e /usr/bin/x-terminal-emulator ]; then
if [ -x /usr/bin/x-terminal-emulator ]; then
exec x-terminal-emulator -geometry +1+1
else
# fatal error
errormsg "unable to launch failsafe X session ---" \
"x-terminal-emulator not executable; aborting."
fi
else
# fatal error
errormsg "unable to launch failsafe X session ---" \
"x-terminal-emulator not found; aborting."
fi
fi
;;
default)
# Default behavior was requested.
;;
*)
# Specific program was requested.
STARTUP_FULL_PATH=$(/usr/bin/which "${1%% *}" || true)
if [ -n "$STARTUP_FULL_PATH" ] && [ -e "$STARTUP_FULL_PATH" ]; then
if [ -x "$STARTUP_FULL_PATH" ]; then
STARTUP="$1"
else
message "unable to launch \"$1\" X session ---" \
"\"$1\" not executable; falling back to default session."
fi
else
message "unable to launch \"$1\" X session ---" \
"\"$1\" not found; falling back to default session."
fi
;;
esac
;;
*)
# More than one argument given; we don't know what to do.
message "unsupported number of arguments ($#); falling back to default" \
"session."
;;
esac
# vim:set ai et sts=2 sw=2 tw=80:

@ -0,0 +1,26 @@
# $Id: 30x11-common_xresources 305 2005-07-03 18:51:43Z dnusinow $
# This file is sourced by Xsession(5), not executed.
# If xrdb (from xbase-clients) is installed, merge system-wide X resources.
# Then merge the user's X resources, if the options file is so configured.
if [ -d "$SYSRESOURCES" ] && type xrdb >/dev/null 2>&1; then
RESOURCEFILES=$(run-parts --list $SYSRESOURCES)
if [ -n "$RESOURCEFILES" ]; then
for RESOURCEFILE in $RESOURCEFILES; do
xrdb -merge $RESOURCEFILE
done
fi
fi
if has_option allow-user-resources && [ -f "$USRRESOURCES" ]; then
if type xrdb >/dev/null 2>&1; then
xrdb -merge $USRRESOURCES
else
# Comment out this command if you desire a legacy-free X environment, and find
# the warning spurious.
message "warning: xrdb command not found; X resources not merged."
fi
fi
# vim:set ai et sts=2 sw=2 tw=80:

@ -0,0 +1,10 @@
# This file is sourced by Xsession(5), not executed.
# If xhost (from x11-xserver-utils) is installed, use it to give access
# to the X server to any process from the same user on the local host.
# Unlike other uses of xhost, this is safe since the kernel can check
# the actual owner of the calling process.
if type xhost >/dev/null 2>&1; then
xhost +si:localuser:$(id -un) || :
fi

@ -0,0 +1,6 @@
# This file is sourced by Xsession(5), not executed.
#Source user defined xsessionrc (locales and other environment variables)
if [ -r "$USERXSESSIONRC" ]; then
. "$USERXSESSIONRC"
fi

@ -0,0 +1,47 @@
# $Id: 50x11-common_determine-startup 305 2005-07-03 18:51:43Z dnusinow $
# This file is sourced by Xsession(5), not executed.
# If no X session startup program was passed to the Xsession script as an
# argument (e.g., by the display manager), or if that program was not
# executable, fall back to looking for a user's custom X session script, if
# allowed by the options file.
if [ -z "$STARTUP" ]; then
if has_option allow-user-xsession; then
for STARTUPFILE in "$USERXSESSION" "$ALTUSERXSESSION"; do
if [ -e "$STARTUPFILE" ]; then
if [ -x "$STARTUPFILE" ]; then
STARTUP="$STARTUPFILE"
else
shell=${SHELL:-sh}
STARTUP="$shell $STARTUPFILE"
fi
break
fi
done
fi
fi
# If there is still nothing to use for a startup program, try the system
# default session manager, window manager, and terminal emulator.
if [ -z "$STARTUP" ]; then
if [ -x /usr/bin/x-session-manager ]; then
STARTUP=x-session-manager
elif [ -x /usr/bin/x-window-manager ]; then
STARTUP=x-window-manager
elif [ -x /usr/bin/x-terminal-emulator ]; then
STARTUP=x-terminal-emulator
fi
fi
# If we still have not found a startup program, give up.
if [ -z "$STARTUP" ]; then
ERRMSG="unable to start X session ---"
if has_option allow-user-xsession; then
ERRMSG="$ERRMSG no \"$USERXSESSION\" file, no \"$ALTUSERXSESSION\" file,"
fi
errormsg "$ERRMSG no session managers, no window managers, and no terminal" \
"emulators found; aborting."
fi
# vim:set ai et sts=2 sw=2 tw=80:

@ -0,0 +1,22 @@
# $Id:$
# In order to activate the session bus at X session launch
# simply place use-session-dbus into your /etc/X11/Xsession.options file
#
STARTDBUS=
DBUSLAUNCH=/usr/bin/dbus-launch
if has_option use-session-dbus; then
if [ -z "$DBUS_SESSION_BUS_ADDRESS" ] && [ -x "$DBUSLAUNCH" ]; then
STARTDBUS=yes
fi
fi
if [ -n "$STARTDBUS" ]; then
# Note that anything that is D-Bus-activated between here and
# 95dbus_update-activation-env will not have the complete environment
# set up by Xsession.d, unless the Xsession.d snippet that sets the
# environment variable also calls dbus-update-activation-environment.
# See <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=815503>
eval $($DBUSLAUNCH --exit-with-session --sh-syntax)
fi

@ -0,0 +1,2 @@
[ -f /etc/profile ] && . /etc/profile
[ -f "$HOME/.profile" ] && . "$HOME/.profile"

@ -0,0 +1,22 @@
# On systems with systemd running, we expect the agent to be launched
# via systemd's user mode (see
# /usr/lib/systemd/user/gpg-agent.{socket,service} and
# systemd.unit(5)). This allows systemd to clean up the agent
# automatically at logout.
# If systemd is absent from your system, or you do not permit it to
# run in user mode, then you may need to manually launch gpg-agent
# from your session initialization with something like "gpgconf
# --launch gpg-agent"
# Nonetheless, ssh and older versions of gpg require environment
# variables to be set in order to find the agent, so we will set those
# here.
agent_sock=$(gpgconf --list-dirs agent-socket)
export GPG_AGENT_INFO=${agent_sock}:0:1
if [ -n "$(gpgconf --list-options gpg-agent | \
awk -F: '/^enable-ssh-support:/{ print $10 }')" ]; then
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
fi

@ -0,0 +1,24 @@
# $Id: 90x11-common_ssh-agent 305 2005-07-03 18:51:43Z dnusinow $
# This file is sourced by Xsession(5), not executed.
STARTSSH=
SSHAGENT=/usr/bin/ssh-agent
SSHAGENTARGS=
if has_option use-ssh-agent; then
if [ -x "$SSHAGENT" ] && [ -z "$SSH_AUTH_SOCK" ] \
&& [ -z "$SSH2_AUTH_SOCK" ]; then
STARTSSH=yes
if [ -f /usr/bin/ssh-add1 ] && cmp -s $SSHAGENT /usr/bin/ssh-agent2; then
# use ssh-agent2's ssh-agent1 compatibility mode
SSHAGENTARGS=-1
fi
fi
fi
if [ -n "$STARTSSH" ]; then
STARTUP="$SSHAGENT $SSHAGENTARGS ${TMPDIR:+env TMPDIR=$TMPDIR} $STARTUP"
fi
# vim:set ai et sts=2 sw=2 tw=80:

@ -0,0 +1,17 @@
# vim:set ft=sh sw=2 sts=2 et:
if [ -n "$DBUS_SESSION_BUS_ADDRESS" ] && \
[ -x "/usr/bin/dbus-update-activation-environment" ]; then
# subshell so we can unset environment variables
(
# unset login-session-specifics
unset XDG_SEAT
unset XDG_SESSION_ID
unset XDG_VTNR
# tell dbus-daemon --session (and systemd --user, if running)
# to put the Xsession's environment in activated services'
# environments
dbus-update-activation-environment --verbose --systemd --all
)
fi

@ -0,0 +1,6 @@
# Enable qt5ct by default unless another PLATFORMTHEME option is set
# or KDE is running.
if [ -z "$QT_QPA_PLATFORMTHEME" ] && [ "$XDG_CURRENT_DESKTOP" != "KDE" ]
then
export QT_QPA_PLATFORMTHEME=qt5ct
fi

@ -0,0 +1,7 @@
# $Id: 99x11-common_start 305 2005-07-03 18:51:43Z dnusinow $
# This file is sourced by Xsession(5), not executed.
exec $STARTUP
# vim:set ai et sts=2 sw=2 tw=80:

@ -0,0 +1,9 @@
# $Id: Xsession.options 189 2005-06-11 00:04:27Z branden $
#
# configuration options for /etc/X11/Xsession
# See Xsession.options(5) for an explanation of the available options.
allow-failsafe
allow-user-resources
allow-user-xsession
use-ssh-agent
use-session-dbus

@ -0,0 +1,15 @@
# Xwrapper.config (Debian X Window System server wrapper configuration file)
#
# This file was generated by the post-installation script of the
# xserver-xorg-legacy package using values from the debconf database.
#
# See the Xwrapper.config(5) manual page for more information.
#
# This file is automatically updated on upgrades of the xserver-xorg-legacy
# package *only* if it has not been modified since the last upgrade of that
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command as root:
# dpkg-reconfigure xserver-xorg-legacy
allowed_users=anybody

@ -0,0 +1,285 @@
! The App-defaults file for Editres.
Editres.Geometry: 500x568
*ShapeStyle: Oval
*Tree*ShapeStyle: Rectangle
! The rest of this file are either button names, or important for
! functionality, modifying these values may cause strange program
! behavior.
*flash.BorderWidth: 0
! Menu Button Names
*Box.commands.Label: Commands
*Box.treeCommands.Label: Tree
*porthole.tree.width: 500
*porthole.tree.height: 480
! Universal Menu Entry Names
*xt.sendTree.Label: Get Tree
*xt.quit.Label: Quit
*xt.selectAll.Label: Select All
*xt.unselectAll.Label: Unselect All
*xt.invertAll.Label: Invert All
*xt.selectChildren.Label: Select Children
*xt.selectParent.Label: Select Parent
*xt.selectDescendants.Label: Select Descendants
*xt.selectAncestors.Label: Select Ancestors
! Xt Menu Entry Names
*xt.refreshTree.Label: Refresh Current Widget Tree
*xt.dumpTreeToFile.Label: Dump Widget Tree to a File
*xt.getResourceList.Label: Show Resource Box
*xt.setValues.Label: Set Resource
*xt.showClientWidget.Label: Select Widget in Client
*xt.showWidgetNames.Label: Show Widget Names
*xt.showClassNames.Label: Show Class Names
*xt.showWidgetIDs.Label: Show Widget IDs
*xt.showWidgetWindows.Label: Show Widget Windows
*xt.flashActiveWidgets.Label: Flash Active Widgets
! InterViews Menu Entry Names
*iv*refreshTree.Label: Refresh Current Style Tree
*iv*dumpTreeToFile.Label: Dump Style Tree to a File
*iv*getResourceList.Label: Show Attribute Box
*iv*setValues.Label: Set Attribute
*iv*showClientWidget.Label: Select Style in Client
*iv*showWidgetNames.Label: Show Style Names
*iv*showClassNames.Label: Show Class Names
*iv*showWidgetIDs.Label: Show Style IDs
*iv*showWidgetWindows.Label: Show Style Windows
*iv*flashActiveWidgets.Label: Flash Active Styles
! Universal Toolkit Messages
*label0: Action `%s' must have the Editres Protocol.
*label1: Action %s's argument must be either `cancel' or `okay'.
*label2: Action `%s' must have exactly one argument.
*label3: Unknown parameter to action `%s' must be one of:\n
*label4: It appears that this client does not understand\nthe Editres Protocol.
*label5: Can't grab the mouse.\n
*label6: Click the mouse pointer on any toolkit client.
*label8: Message sent to client%s.
*label9: Incorrectly formatted message from client.
*label10: Unable to own the Resource Editor Command Selection
*label11: Unknown Error code %d
*label13: Welcome to the X Resource Editor version 1.1
*label15: That window does not appear to be\nin the currently displayed client.
*label16: Editres Internal Error: Unable to FindNode.\n
*label18: There are no active nodes.
*label20: ApplyResource: found no matches.
*label21: Error: SVActiveEntry Action must have exactly one argument.
*label22: Error: SVActiveEntry Action's first Argument must be either 'Resource' or 'Value'.
*label24: Unable to open the file `%s' for writing.
*label25: Error while trying to save Context\nAborting file dialog popup.
*label26: Error while trying to find Context\nAborting...
*label28: Loop in tree: node %s's parent (%s) has not been created yet\n
*label30: There are no active nodes.
*label31: Internal Error: Unknown select type.
*label32: Internal Error: Unknown label type.
*label33: Internal Error: Unknown activate type.
*label34: Only one Resource Box can be active at a time.
*label35: Unable to unpack protocol request.
*label36: This version of editres uses protocol version %s,\nbut the client speaks version %s.
! Xt Messages
*xt*label7: Unable to own the Resource Selection
*xt*label12: Widget Tree for client %s(%s).
*xt*label14: Click on any widget in the client.\nEditres will select that widget in the tree display.
*xt*label17: No widget Tree is avaliable.
*xt*label19: This function requires exactly one (1) widget to be selected.
*xt*label23: There are no currently active widgets.
*xt*label27: There is no widget tree to display.
*xt*label29: XSaveContext failed on widget %s.
! InterViews Messages
*iv*label7: Unable to own the Attribute Selection
*iv*label12: Style Tree for client %s(%s).
*iv*label14: Click on any style in the client.\nEditres will select that style in the tree display.
*iv*label17: No style Tree is avaliable.
*iv*label19: This function requires exactly one (1) style to be selected.
*iv*label23: There are no currently active styles.
*iv*label27: There is no style tree to display.
*iv*label29: XSaveContext failed on style %s.
*MenuButton.leftBitmap: menu10
! For the Top Area
*hPane.orientation: horizontal
*hPane.preferredPaneSize: 100
*hPane.Panner.width: 100
*hPane.Panner.height: 100
*hPane.Panner.preferredPaneSize: 100
*Paned.Panner.showGrip: False
*Paned.box.showGrip: False
*Paned.hPane.showGrip: True
! For the Filename popup dialog.
*fileDialog*value:
*fileDialog*allowShellResize: True
*fileDialog*Text.baseTranslations: #override \n\
<Key>Return: PopdownFileDialog(okay)
! Universal Resources for the Resource Box.
*mainViewport*resourceLabel.font: \
-*-new century schoolbook-bold-r-*-*-14-*-*-*-*-*-*-*
*allowShellResize: True
*resourceLabel.allowResize: True
*List.verticalList: True
*namesAndClasses*BorderWidth: 0
*star.Label: *
*dot.Label: .
*namesLabel.font: \
-*-new century schoolbook-bold-r-*-*-14-*-*-*-*-*-*-*
*constraintLabel.font: \
-*-new century schoolbook-bold-r-*-*-14-*-*-*-*-*-*-*
*valueLabel.BorderWidth: 0
*valueForm*preferredPaneSize: 40
*valueForm*min: 28
*valueText*editType: edit
*valueText.Scroll: WhenNeeded
*valueText.width: 297
*setValuesPopup*resourceText.width: 297
*setFile.Label: Set Save File
*save.Label: Save
*apply.Label: Apply
*saveAndApply.Label: Save and Apply
*commandBox.show.Label: Show
*commandBox.min: 28
! InterViews Resources for the Resource Box.
*iv*single.Label: Any Style
*iv*any.Label: Any Style Chain
*iv*namesLabel.Label: Normal Attributes: mb2 gets a value
*iv*constraintLabel.Label: Constraint Attributes
*iv*valueLabel.Label: Enter Attribute Value:
*iv*commandBox.cancel.Label: Popdown Attribute Box
! Xt Resources for the Resource Box.
*xt*single.Label: ?
*xt*any.Label: *
*xt*namesLabel.Label: Normal Resources: mb2 gets a value
*xt*constraintLabel.Label: Constraint Resources
*xt*valueLabel.Label: Enter Resource Value:
*xt*commandBox.cancel.Label: Popdown Resource Box
! This gives us an exactly one of many toggle, if toggle is
! not set in each group the application will probabally core dump.
*namesAndClasses*Toggle.baseTranslations: #override \n\
<Btn1Down>,<Btn1Up>: set() notify()
*commandBox.skipAdjust: True
! Get resource values action binding.
*List.baseTranslations: #override \n\
<Btn2Down>,<Btn2Up>: Set() EnableGetVal() Notify()
! Keyboard Actions for Tree and children of the Tree.
*Tree.baseTranslations: #override \n\
:<Key>space: Select(nothing) \n\
:<Key>w: Select(widget) \n\
:<Key>s: Select(all) \n\
:<Key>i: Select(invert) \n\
:<Key>c: Select(children) \n\
:<Key>d: Select(descendants) \n\
:<Key>p: Select(parent) \n\
:<Key>a: Select(ancestors) \n\
:<Key>N: Relabel(name) \n\
:<Key>C: Relabel(class) \n\
:<Key>I: Relabel(id) \n\
:<Key>W: Relabel(window)
*Tree.Toggle.baseTranslations: #override \n\
:<Key>space: Select(nothing) \n\
:<Key>w: Select(widget) \n\
:<Key>s: Select(all) \n\
:<Key>i: Select(invert) \n\
:<Key>c: Select(children) \n\
:<Key>d: Select(descendants) \n\
:<Key>p: Select(parent) \n\
:<Key>a: Select(ancestors) \n\
:<Key>N: Relabel(name) \n\
:<Key>C: Relabel(class) \n\
:<Key>I: Relabel(id) \n\
:<Key>W: Relabel(window) \n\
<Btn2Down>,<Btn2Up>: Select(nothing) toggle() notify() \n\
<Btn3Down>,<Btn3Up>: Relabel(toggle)
! For the SetValues popup
*setValuesPopup.form.?.resizable: True
*setValuesPopup.form.?.left: ChainLeft
*setValuesPopup.form.?.right: ChainLeft
*setValuesPopup.form.label.Label: Use <Tab> to Change Fields.
*setValuesPopup.form.Label.BorderWidth: 0
*xt*setValuesPopup.form.resourceLabel.Label: Resource Name:
*xt*setValuesPopup.form.resourceLabel.width: 114
*xt*setValuesPopup.form.resourceLabel.justify: right
*xt*setValuesPopup.form.valueLabel.Label: Resource Value:
*xt*setValuesPopup.form.valueLabel.width: 114
*xt*setValuesPopup.form.setValues.Label: Apply
*xt*setValuesPopup.form.cancel.Label: Cancel
*setValuesPopup.form.Text.?.EditType: Edit
*setValuesPopup.form.Text.resize: Width
*setValuesPopup.form.resourceText.baseTranslations: #override \
<Key>Return: no-op(RingBell) \n\
Ctrl<Key>q,<Key>Tab: insert-char() \n\
<Btn1Down>: select-start() SVActiveEntry(Resource) \n\
<Key>Tab: SVActiveEntry(Value)
*setValuesPopup.form.valueText.baseTranslations: #override \
<Key>Return: no-op(RingBell) \n\
Ctrl<Key>q,<Key>Tab: insert-char() \n\
<Btn1Down>: select-start() SVActiveEntry(Value)\n\
<Key>Tab: SVActiveEntry(Resource)
*Text.translations: #override \
m<Key>I: no-op(r)\n\
c<Key>S: no-op(r)\n\
c<Key>R: no-op(r)\n\
<Key>Escape: no-op()
*fileDialog.?.Text.width: 280
! New resource settings
*normalViewport.min: 19
*normalViewport.allowVert: True
*constraintViewport.min: 19
*constraintViewport.allowVert: True
*mainViewport.allowHoriz: True
*mainViewport.pane.namesAndClasses.defaultDistance: 0
*mainViewport.useBottom: True
*mainViewport.pane.Label.min: 22
*mainViewport.pane.Label.max: 22
*mainViewport.pane.Form.showGrip: False
*mainViewport.pane.Label.showGrip: False
*mainViewport.pane.Form.min: 66
*mainViewport.pane.Form.max: 66
*tree*TransientShell.translations: #override \
<Map>: get-values(1, $w, width) \
set-values(1, maxWidth, $w)

@ -0,0 +1,89 @@
! Here are some suggested resources if you are using a color workstation.
! They look pretty good on my display, your mileage may vary.
#include "Editres"
*flashColor: Yellow
*Background: RoyalBlue4
!*Foreground: Azure
!*BorderColor: LightCyan1
*cursorColor: Azure
*Tree.Background: Grey
*Tree.Foreground: White
*Tree.Toggle.Foreground: Gold
*Tree.Toggle.BorderWidth: 0
*MenuButton.Foreground: Gold
*MenuButton.BorderWidth: 0
*SmeBSB.Foreground: Gold
*Porthole.Background: Grey
*porthole.panner*Foreground: red
*porthole.panner*Background: Grey
*porthole.panner*BorderColor: Grey
*porthole.panner*ShadowColor: Black
*porthole.panner*BackgroundStipple: None
*resourceBox*namesAndClasses.Background: Grey
*resourceBox*namesAndClasses*Toggle.Background: RoyalBlue4
*resourceBox*namesAndClasses*Toggle.Foreground: White
*resourceBox*valueForm.Background: Grey
*resourceBox*valueLabel.Background: Grey
*resourceBox*valueLabel.Foreground: White
*resourceBox*Command.Foreground: Gold
*displayList: foreground rgb:20/35/73;lines 1,-1,-1,-1,-1,1;foreground rgb:30/4e/ab;lines -1,0,0,0,0,-1
*Foreground: Azure3
*borderColor: rgb:1d/30/69
*internalBorderColor: rgb:1d/30/69
*SmeLine.lineWidth: 1
*SmeLine.foreground: rgb:1d/30/69
*SimpleMenu.VerticalMargins: 2
*SimpleMenu.HorizontalMargins: 2
*SimpleMenu.?.HorizontalMargins:8
*MenuButton.displayList:
*MenuButton.borderWidth: 1
*MenuButton.borderColor: RoyalBlue4
*MenuButton.shapeStyle: rectangle
*MenuButton.leftBitmap: None
*MenuButton.translations: \
<Enter>: set-values(1, background, "rgb:29/44/94", borderColor, "rgb:1d/30/69", displayList, "foreground rgb:20/35/73;lines 1,-1,-1,-1,-1,1;foreground rgb:30/4e/ab;lines -1,0,0,0,0,-1")\n\
<Leave>: set-values(1, background, RoyalBlue4, borderColor, RoyalBlue4, displayList, "")\n\
Any<BtnDown>: set-values(1, background, "rgb:23/3a/7d", displayList, "foreground rgb:30/4e/ab;lines 1,-1,-1,-1,-1,1;foreground rgb:20/35/73;lines -1,0,0,0,0,-1") PopupMenu()
*List.displayList:
*List.background: rgb:23/3a/7d
*Tree.displayList:
*Label.displayList:
*Paned.?.displayList: foreground rgb:20/35/73;lines 1,-1,-1,-1,-1,1;foreground rgb:30/4e/ab;lines -1,0,0,0,0,-1
*Grip.foreground: rgb:30/4e/ab
*Toggle.displayList:\
foreground rgb:30/4e/ab;\
lines 1,-1,-1,-1,-1,1;\
lines -2,1,1,1,1,-2;\
foreground rgb:20/35/73;\
lines -1,0,0,0,0,-1;\
lines 2,-2,-2,-2,-2,2
*Text.background: rgb:29/44/94
*Text.?.background: rgb:29/44/94
*Text.displayList: foreground rgb:30/4e/ab;lines 1,-1,-1,-1,-1,1;foreground rgb:20/35/73;lines -1,0,0,0,0,-1
*Scrollbar.foreground: rgb:2e/4c/a5
*Scrollbar.background: rgb:23/3a/7d
*Scrollbar.thumb: black
*Command.shapeStyle: rectangle
*Command.background: rgb:29/44/94

@ -0,0 +1,95 @@
*Panner*backgroundStipple: grid2
*allowShellResize: true
*buttonbox*ShapeStyle: oval
*Form*Panner.Thickness: -1
*Form.defaultDistance: 0
*Form.BorderWidth: 0
*Porthole.BorderWidth: 0
*Porthole.top: ChainTop
*Porthole.left: ChainLeft
*Porthole.bottom: ChainBottom
*Porthole.right: ChainRight
*Porthole.resizable: on
*Panner.top: ChainTop
*Panner.left: ChainLeft
*Panner.bottom: ChainTop
*Panner.right: ChainLeft
*Panner.resizable: on
*Tree*ShapeStyle: rectangle
*Tree*Toggle*BorderWidth: 0
*Porthole*Box.BorderWidth: 0
*Porthole*Box.HSpace: 0
*Porthole*Box.VSpace: 0
*Paned*allowResize: true
*Tree*List*Font: -adobe-helvetica-medium-r-normal--*-80-*-*-*-*-iso*-*
*SimpleMenu*BackingStore: NotUseful
*Font: -adobe-helvetica-bold-r-normal--*-120-*-*-*-*-iso*-*
*buttonbox.MenuButton.leftBitmap: menu12
*SimpleMenu*menuLabel.vertSpace: 100
*SimpleMenu*SmeLine*Height: 12
*quit.Label: Quit
*buttonbox.quit.baseTranslations: #override \
<Btn1Down>,<Btn1Up>: Quit() unset()
*Toggle.baseTranslations: #augment \n\
<Btn2Down>,<Btn2Up>: set() notify() Resources(toggle) \n\
<Key>q: Quit() \n\
<Key>space: Select(nothing) \n\
<Key>p: Select(parent) \n\
<Key>a: Select(ancestors) \n\
<Key>c: Select(children) \n\
<Key>d: Select(descendants) \n\
Ctrl<Key>r: Resources(on) \n\
Ctrl<Key>n: Resources(off) \n\
*List.baseTranslations: #augment \n\
<Key>q: Quit() \n\
<Key>space: Select(nothing) \n\
<Key>p: Select(parent) \n\
<Key>a: Select(ancestors) \n\
<Key>c: Select(children) \n\
<Key>d: Select(descendants) \n\
Ctrl<Key>r: Resources(on) \n\
Ctrl<Key>n: Resources(off) \n\
*Porthole.baseTranslations: #override \n\
<Btn1Down>,<Btn1Up>: Select(nothing) \n\
<Key>q: Quit() \n\
Ctrl<Key>h: SetOrientation(west) \n\
Ctrl<Key>v: SetOrientation(north) \n\
Ctrl<Key>r: Resources(on) \n\
Ctrl<Key>n: Resources(off) \n\
Shift<Key>c: SetLabelType(class) \n\
Shift<Key>v: SetLabelType(variable) \n\
<Key>space: Select(nothing) \n\
<Key>i: Select(invert) \n\
<Key>p: Select(parent) \n\
<Key>a: Select(ancestors) \n\