From: yomguy Date: Tue, 17 Apr 2012 07:59:54 +0000 (+0200) Subject: init first TC etc X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=dfe3564094416e4e1917eb62d0123729eb351ae3;p=tc-box-etc.git init first TC etc --- dfe3564094416e4e1917eb62d0123729eb351ae3 diff --git a/ConsoleKit/seats.d/00-primary.seat b/ConsoleKit/seats.d/00-primary.seat new file mode 100644 index 0000000..6e61db4 --- /dev/null +++ b/ConsoleKit/seats.d/00-primary.seat @@ -0,0 +1,5 @@ +[Seat Entry] +Version=1.0 +Name=Primary seat +Hidden=false +Devices= \ No newline at end of file diff --git a/NetworkManager/NetworkManager.conf b/NetworkManager/NetworkManager.conf new file mode 100644 index 0000000..d8b33d9 --- /dev/null +++ b/NetworkManager/NetworkManager.conf @@ -0,0 +1,5 @@ +[main] +plugins=ifupdown,keyfile + +[ifupdown] +managed=false diff --git a/NetworkManager/VPN/nm-pptp-service.name b/NetworkManager/VPN/nm-pptp-service.name new file mode 100644 index 0000000..70fcdbc --- /dev/null +++ b/NetworkManager/VPN/nm-pptp-service.name @@ -0,0 +1,8 @@ +[VPN Connection] +name=pptp +service=org.freedesktop.NetworkManager.pptp +program=/usr/lib/NetworkManager/nm-pptp-service + +[GNOME] +auth-dialog=nm-pptp-auth-dialog +properties=libnm-pptp-properties diff --git a/NetworkManager/dispatcher.d/01ifupdown b/NetworkManager/dispatcher.d/01ifupdown new file mode 100755 index 0000000..55d721b --- /dev/null +++ b/NetworkManager/dispatcher.d/01ifupdown @@ -0,0 +1,54 @@ +#!/bin/sh -e +# Script to dispatch NetworkManager events +# +# Runs ifupdown scripts when NetworkManager fiddles with interfaces. +# See NetworkManager(8) for further documentation of the dispatcher events. + +if [ -z "$1" ]; then + echo "$0: called with no interface" 1>&2 + exit 1; +fi + +# Fake ifupdown environment +export IFACE="$1" +export LOGICAL="$1" +export ADDRFAM="NetworkManager" +export METHOD="NetworkManager" +export VERBOSITY="0" + +# Run the right scripts +case "$2" in + up|vpn-up) + export MODE="start" + export PHASE="post-up" + exec run-parts /etc/network/if-up.d + ;; + down|vpn-down) + export MODE="stop" + export PHASE="post-down" + exec run-parts /etc/network/if-post-down.d + ;; + hostname) + # do nothing here, the 'hostname' action is not handled by ifupdown scripts. + exit 0 + ;; +# pre-up/pre-down not implemented. See +# https://bugzilla.gnome.org/show_bug.cgi?id=387832 +# pre-up) +# export MODE="start" +# export PHASE="pre-up" +# exec run-parts /etc/network/if-pre-up.d +# ;; +# pre-down) +# export MODE="stop" +# export PHASE="pre-down" +# exec run-parts /etc/network/if-down.d +# ;; + hostname|dhcp4-change|dhcp6-change) + # Do nothing + ;; + *) + echo "$0: called with unknown action \`$2'" 1>&2 + exit 1 + ;; +esac diff --git a/NetworkManager/system-connections/AndroidHotspot2894 b/NetworkManager/system-connections/AndroidHotspot2894 new file mode 100644 index 0000000..5cda25a --- /dev/null +++ b/NetworkManager/system-connections/AndroidHotspot2894 @@ -0,0 +1,23 @@ + +[connection] +id=AndroidHotspot2894 +uuid=08fc71a0-8c10-4f98-959c-dc61f450d1e4 +type=802-11-wireless +permissions=user:telecaster:; +autoconnect=false + +[802-11-wireless] +ssid=AndroidHotspot2894 +mode=infrastructure +band=bg +security=802-11-wireless-security + +[802-11-wireless-security] +key-mgmt=wpa-psk +psk=12345678 + +[ipv4] +method=auto + +[ipv6] +method=ignore diff --git a/NetworkManager/system-connections/FreeWifi b/NetworkManager/system-connections/FreeWifi new file mode 100644 index 0000000..85367b2 --- /dev/null +++ b/NetworkManager/system-connections/FreeWifi @@ -0,0 +1,17 @@ + +[connection] +id=FreeWifi +uuid=8efc9f56-1b0c-4a3f-ac49-d88cdf993245 +type=802-11-wireless +permissions=user:telecaster:; + +[802-11-wireless] +ssid=FreeWifi +mode=infrastructure +band=bg + +[ipv6] +method=ignore + +[ipv4] +method=auto diff --git a/NetworkManager/system-connections/NUMERICABLE-4F81 b/NetworkManager/system-connections/NUMERICABLE-4F81 new file mode 100644 index 0000000..148024d --- /dev/null +++ b/NetworkManager/system-connections/NUMERICABLE-4F81 @@ -0,0 +1,22 @@ + +[connection] +id=NUMERICABLE-4F81 +uuid=4f956d58-3984-4678-85e0-f07ba1090df5 +type=802-11-wireless +permissions=user:telecaster:; + +[802-11-wireless] +ssid=NUMERICABLE-4F81 +mode=infrastructure +band=bg +security=802-11-wireless-security + +[802-11-wireless-security] +key-mgmt=wpa-psk +psk-flags=1 + +[ipv4] +method=auto + +[ipv6] +method=auto diff --git a/NetworkManager/system-connections/WI56L4d b/NetworkManager/system-connections/WI56L4d new file mode 100644 index 0000000..4953a46 --- /dev/null +++ b/NetworkManager/system-connections/WI56L4d @@ -0,0 +1,23 @@ + +[connection] +id=WI56L4d +uuid=aa1ca8f2-c2be-490d-b9f0-e0faaffd769a +type=802-11-wireless +permissions=user:telecaster:; +autoconnect=false + +[802-11-wireless] +ssid=WI56L4d +mode=infrastructure +band=bg +security=802-11-wireless-security + +[802-11-wireless-security] +key-mgmt=wpa-psk +psk-flags=1 + +[ipv4] +method=auto + +[ipv6] +method=ignore diff --git a/NetworkManager/system-connections/yomix b/NetworkManager/system-connections/yomix new file mode 100644 index 0000000..b449726 --- /dev/null +++ b/NetworkManager/system-connections/yomix @@ -0,0 +1,22 @@ + +[connection] +id=yomix +uuid=aed657ff-9eeb-49f3-a1ce-649b2091b414 +type=802-11-wireless +permissions=user:telecaster:; + +[802-11-wireless] +ssid=yomix +mode=infrastructure +band=bg +security=802-11-wireless-security + +[802-11-wireless-security] +key-mgmt=wpa-psk +psk-flags=1 + +[ipv4] +method=auto + +[ipv6] +method=ignore diff --git a/UPower/UPower.conf b/UPower/UPower.conf new file mode 100644 index 0000000..c9da9cd --- /dev/null +++ b/UPower/UPower.conf @@ -0,0 +1,54 @@ +# Only the system vendor should modify this file, ordinary users +# should not have to change anything. + +[UPower] + +# This is the smallest amount of time that UPower gives to session and system +# processes after the suspend or hibernate request is given. +# If the session power management component uses AboutToSuspend() then the +# session process can only make this time larger than the value below, never +# smaller. +# +# Reducing this time means the suspend happens quicker, but might also not give +# some processes enough time to save state. +# +# default=1000 +SleepTimeout=1000 + +# This controls whether hibernate is allowed when using encrypted swap. +# +# default=true +AllowHibernateEncryptedSwap=true + +# Enable the Watts Up Pro device. +# +# The Watts Up Pro contains a generic FTDI USB device without a specific +# vendor and product ID. When we probe for WUP devices, we can cause +# the user to get a perplexing "Device or resource busy" error when +# attempting to use their non-WUP device. +# +# The generic FTDI device is known to also be used on: +# +# - Sparkfun FT232 breakout board +# - Parallax Propeller +# +# default=true +EnableWattsUpPro=true + +# Poll the kernel for dock state changes. +# +# Some drivers are still broken, and do not send out uvents when the +# connected state changes. +# +# default=false +PollDockDevices=false + +# Do we ignore the lid state +# +# Some laptops are broken. The lid state is either inverted, or stuck +# on or off. We can't do much to fix these problems, but this is a way +# for users to make the laptop panel vanish and for programs like +# gnome-power-manager to not suspend on system startup. +# +# default=false +IgnoreLid=false diff --git a/X11/X b/X11/X new file mode 120000 index 0000000..7de6b02 --- /dev/null +++ b/X11/X @@ -0,0 +1 @@ +/usr/bin/Xorg \ No newline at end of file diff --git a/X11/Xreset b/X11/Xreset new file mode 100755 index 0000000..7a0974c --- /dev/null +++ b/X11/Xreset @@ -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: diff --git a/X11/Xreset.d/README b/X11/Xreset.d/README new file mode 100644 index 0000000..3c03f42 --- /dev/null +++ b/X11/Xreset.d/README @@ -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. diff --git a/X11/Xresources/x11-common b/X11/Xresources/x11-common new file mode 100644 index 0000000..7641207 --- /dev/null +++ b/X11/Xresources/x11-common @@ -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 Delete: delete-next-character() diff --git a/X11/Xsession b/X11/Xsession new file mode 100755 index 0000000..6b071c7 --- /dev/null +++ b/X11/Xsession @@ -0,0 +1,119 @@ +#!/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" \ + "." +} + +# 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 + +# 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 + +# truncate ERRFILE if it is too big to avoid disk usage DoS +if [ "`stat -c%s \"$ERRFILE\"`" -gt 500000 ]; then + T=`mktemp -p "$HOME"` + tail -c 500000 "$ERRFILE" > "$T" && mv -f "$T" "$ERRFILE" || rm -f "$T" +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: diff --git a/X11/Xsession.d/20x11-common_process-args b/X11/Xsession.d/20x11-common_process-args new file mode 100644 index 0000000..149d1d2 --- /dev/null +++ b/X11/Xsession.d/20x11-common_process-args @@ -0,0 +1,70 @@ +# $Id: 20x11-common_process-args 305 2005-07-03 18:51:43Z dnusinow $ + +# This file is sourced by Xsession(5), not executed. + +# read OPTIONFILE +OPTIONS=$(cat "$OPTIONFILE") || true + +has_option() { + if [ "${OPTIONS#* +$1}" != "$OPTIONS" ]; then + return 0 + else + return 1 + fi +} + +# 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: diff --git a/X11/Xsession.d/30x11-common_xresources b/X11/Xsession.d/30x11-common_xresources new file mode 100644 index 0000000..c3f53a8 --- /dev/null +++ b/X11/Xsession.d/30x11-common_xresources @@ -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: diff --git a/X11/Xsession.d/40x11-common_xsessionrc b/X11/Xsession.d/40x11-common_xsessionrc new file mode 100644 index 0000000..305f363 --- /dev/null +++ b/X11/Xsession.d/40x11-common_xsessionrc @@ -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 diff --git a/X11/Xsession.d/50x11-common_determine-startup b/X11/Xsession.d/50x11-common_determine-startup new file mode 100644 index 0000000..4e13505 --- /dev/null +++ b/X11/Xsession.d/50x11-common_determine-startup @@ -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: diff --git a/X11/Xsession.d/60x11-common_localhost b/X11/Xsession.d/60x11-common_localhost new file mode 100644 index 0000000..094f6b9 --- /dev/null +++ b/X11/Xsession.d/60x11-common_localhost @@ -0,0 +1,4 @@ +# This file is sourced by Xsession(5), not executed. + +[ -x /usr/bin/xhost ] && [ -x /usr/bin/id ] && + xhost +si:localuser:`id -un` > /dev/null diff --git a/X11/Xsession.d/60x11-common_xdg_path b/X11/Xsession.d/60x11-common_xdg_path new file mode 100644 index 0000000..29491c3 --- /dev/null +++ b/X11/Xsession.d/60x11-common_xdg_path @@ -0,0 +1,22 @@ +# This file is sourced by Xsession(5), not executed. +# Add additionnal xdg paths depending on selected desktop session + +DEFAULT_XDG_CONFIG_DIRS='/etc/xdg' +DEFAULT_XDG_DATA_DIRS='/usr/local/share/:/usr/share/' +if [ -n "$DESKTOP_SESSION" ]; then + # readd default if was empty + if [ -z "$XDG_CONFIG_DIRS" ]; then + XDG_CONFIG_DIRS="$DEFAULT_XDG_CONFIG_DIRS" + fi + XDG_CONFIG_DIRS="$DEFAULT_XDG_CONFIG_DIRS"/xdg-"$DESKTOP_SESSION":"$XDG_CONFIG_DIRS" + export XDG_CONFIG_DIRS + # gnome is already added if gnome-session installed + if [ "$DESKTOP_SESSION" != "gnome" ]; then + if [ -z "$XDG_DATA_DIRS" ]; then + XDG_DATA_DIRS="$DEFAULT_XDG_DATA_DIRS" + fi + XDG_DATA_DIRS=/usr/share/"$DESKTOP_SESSION":"$XDG_DATA_DIRS" + export XDG_DATA_DIRS + fi +fi + diff --git a/X11/Xsession.d/60xdg-user-dirs-update b/X11/Xsession.d/60xdg-user-dirs-update new file mode 100644 index 0000000..7a0f8ab --- /dev/null +++ b/X11/Xsession.d/60xdg-user-dirs-update @@ -0,0 +1,3 @@ +if [ -x /usr/bin/xdg-user-dirs-update ]; then + /usr/bin/xdg-user-dirs-update +fi diff --git a/X11/Xsession.d/70gconfd_path-on-session b/X11/Xsession.d/70gconfd_path-on-session new file mode 100644 index 0000000..4685e03 --- /dev/null +++ b/X11/Xsession.d/70gconfd_path-on-session @@ -0,0 +1,9 @@ +# This file is sourced by Xsession(5), not executed. +# Add additionnal gconf path depending on selected desktop session + +GCONF_PREFIX="/usr/share/gconf" +if [ -n "$DESKTOP_SESSION" ]; then + export MANDATORY_PATH=${GCONF_PREFIX}/${DESKTOP_SESSION}.mandatory.path + export DEFAULTS_PATH=${GCONF_PREFIX}/${DESKTOP_SESSION}.default.path +fi + diff --git a/X11/Xsession.d/75dbus_dbus-launch b/X11/Xsession.d/75dbus_dbus-launch new file mode 100644 index 0000000..1439023 --- /dev/null +++ b/X11/Xsession.d/75dbus_dbus-launch @@ -0,0 +1,31 @@ +# $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 [ -x "$DBUSLAUNCH" ]; then + STARTDBUS=yes + fi +fi + +if [ -n "$STARTDBUS" ]; then + # dbus-launch misbehaves when stdin is a console: + # - http://bugs.debian.org/453755 + # - https://bugs.freedesktop.org/show_bug.cgi?id=39197 + # + # While we sort out with upstream what the right solution is, + # work around it by ensuring that stdin is not a console (this is a no-op + # on xdm and gdm, but not on startx, slim, nodm). + # + # It isn't really D-Bus' place to do this - we're changing the environment + # of everything executed from Xsession.d, not just dbus-launch - but having + # X apps whose stdin is the console makes very little sense, so arguably + # startx, slim, nodm etc. should be doing this themselves. + exec < /dev/null + + STARTUP="$DBUSLAUNCH --exit-with-session $STARTUP" +fi diff --git a/X11/Xsession.d/80appmenu b/X11/Xsession.d/80appmenu new file mode 100644 index 0000000..e5a7176 --- /dev/null +++ b/X11/Xsession.d/80appmenu @@ -0,0 +1,4 @@ +if [ -f /usr/lib/gtk-2.0/2.10.0/menuproxies/libappmenu.so ] +then + export UBUNTU_MENUPROXY="libappmenu.so" +fi diff --git a/X11/Xsession.d/80appmenu-gtk3 b/X11/Xsession.d/80appmenu-gtk3 new file mode 100644 index 0000000..b660cd2 --- /dev/null +++ b/X11/Xsession.d/80appmenu-gtk3 @@ -0,0 +1,4 @@ +if [ -f /usr/lib/gtk-3.0/3.0.0/menuproxies/libappmenu.so ] +then + export UBUNTU_MENUPROXY="libappmenu.so" +fi diff --git a/X11/Xsession.d/80im-switch b/X11/Xsession.d/80im-switch new file mode 100755 index 0000000..8d54c83 --- /dev/null +++ b/X11/Xsession.d/80im-switch @@ -0,0 +1,73 @@ +#!/bin/sh +# Copyright (C) 2005 Kenshi Muto +# Modified for Debian package. +# Copyright (C) 1999 - 2004 Red Hat, Inc. All rights reserved. This +# copyrighted material is made available to anyone wishing to use, modify, +# copy, or redistribute it subject to the terms and conditions of the +# GNU General Public License version 2. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +# +# X Input method setup script + +# Keep original values related to IM +_XIM=$XIM +_XIM_PROGRAM=$XIM_PROGRAM +_XIM_ARGS=$XIM_ARGS +_XMODIFIERS=$XMODIFIERS +_GTK_IM_MODULE=$GTK_IM_MODULE +_QT_IM_MODULE=$QT_IM_MODULE + +# $LNG is locale _ without . and .@EURO +LNG=${LC_ALL:-${LC_CTYPE:-${LANG}}} +LNG=${LNG%@*} +LNG=${LNG%.*} + +[ -z "$LNG" ] && LNG="all_ALL" || true + +echo "Setting IM through im-switch for locale=$LNG." + +# Source first found configuration under $LNG locale +for f in "$HOME/.xinput.d/${LNG}" \ + "$HOME/.xinput.d/all_ALL" \ + "/etc/X11/xinit/xinput.d/${LNG}" \ + "/etc/X11/xinit/xinput.d/all_ALL" \ + "/etc/X11/xinit/xinput.d/default" ; do + if [ -f "$f" -a -r "$f" ]; then + echo "Start IM through $f linked to $(readlink -f $f)." + . "$f" + break + fi +done + +unset LNG + +# Revibe IM related environment if other values were set. +[ "$_XIM" ] && XIM=$_XIM || true +[ "$_XIM_PROGRAM" ] && XIM_PROGRAM=$_XIM_PROGRAM || true +[ "$_XIM_ARGS" ] && XIM_ARGS=$_XIM_ARGS || true +[ "$_XMODIFIERS" ] && XMODIFIERS=$_XMODIFIERS ||true +[ "$_GTK_IM_MODULE" ] && GTK_IM_MODULE=$_GTK_IM_MODULE || true +[ "$_QT_IM_MODULE" ] && QT_IM_MODULE=$_QT_IM_MODULE || true + + +[ -n "$GTK_IM_MODULE" ] && export GTK_IM_MODULE || true +[ -n "$QT_IM_MODULE" ] && export QT_IM_MODULE || true + +# setup XMODIFIERS +[ -z "$XMODIFIERS" -a -n "$XIM" ] && XMODIFIERS="@im=$XIM" || true +[ -n "$XMODIFIERS" ] && export XMODIFIERS || true + +# execute XIM_PROGRAM +if [ -n "$XIM_PROGRAM" -a -x "$XIM_PROGRAM" ]; then + if [ -z "$XIM_PROGRAM_SETS_ITSELF_AS_DAEMON" ]; then + eval "$XIM_PROGRAM $XIM_ARGS &" || true + else + eval "$XIM_PROGRAM $XIM_ARGS" || true + fi +fi +# execute XIM_PROGRAM_XTRA +[ -n "$XIM_PROGRAM_XTRA" ] && eval "$XIM_PROGRAM_XTRA &" || true + diff --git a/X11/Xsession.d/80kubuntu-xmodmap b/X11/Xsession.d/80kubuntu-xmodmap new file mode 100644 index 0000000..65398f6 --- /dev/null +++ b/X11/Xsession.d/80kubuntu-xmodmap @@ -0,0 +1,12 @@ +# Set custom keycodes +# +# This file is sourced by Xsession(5), not executed. +# The "|| true" is to ensure that the Xsession script does not terminate on error + +USRMODMAP="$HOME/.Xmodmap" + +if [ -x /usr/bin/xmodmap ]; then + if [ -f "$USRMODMAP" ]; then + /usr/bin/xmodmap "$USRMODMAP" || true + fi +fi diff --git a/X11/Xsession.d/80qtgraphicssystem b/X11/Xsession.d/80qtgraphicssystem new file mode 100644 index 0000000..1218dec --- /dev/null +++ b/X11/Xsession.d/80qtgraphicssystem @@ -0,0 +1 @@ +export QT_GRAPHICSSYSTEM=raster diff --git a/X11/Xsession.d/90consolekit b/X11/Xsession.d/90consolekit new file mode 100644 index 0000000..f0082a7 --- /dev/null +++ b/X11/Xsession.d/90consolekit @@ -0,0 +1,32 @@ +# -*- sh -*- +# Xsession.d script for ck-launch-session. +# +# +# This file is sourced by Xsession(5), not executed. + +CK_LAUNCH_SESSION=/usr/bin/ck-launch-session + +is_on_console() { + session=$(dbus-send --system --dest=org.freedesktop.ConsoleKit \ + --type=method_call --print-reply --reply-timeout=2000 \ + /org/freedesktop/ConsoleKit/Manager \ + org.freedesktop.ConsoleKit.Manager.GetCurrentSession \ + | grep path | awk '{print $3}' | sed s/\"//g) + x11_display=$(dbus-send --system --dest=org.freedesktop.ConsoleKit \ + --type=method_call --print-reply --reply-timeout=2000 \ + $session org.freedesktop.ConsoleKit.Session.GetX11Display \ + | grep string | awk '{print $2}' | sed s/\"//g) + + if [ -z "$x11_display" ] ; then + return 0 + else + return 1 + fi +} + +# gdm already creates a CK session for us, so do not run the expensive D-Bus +# calls if we have $GDMSESSION +if [ -z "$GDMSESSION" ] && [ -x "$CK_LAUNCH_SESSION" ] && \ + ( [ -z "$XDG_SESSION_COOKIE" ] || is_on_console ) ; then + STARTUP="$CK_LAUNCH_SESSION $STARTUP" +fi diff --git a/X11/Xsession.d/90gpg-agent b/X11/Xsession.d/90gpg-agent new file mode 100644 index 0000000..eb8c584 --- /dev/null +++ b/X11/Xsession.d/90gpg-agent @@ -0,0 +1,19 @@ +: ${GNUPGHOME=$HOME/.gnupg} + +GPGAGENT=/usr/bin/gpg-agent +PID_FILE="$GNUPGHOME/gpg-agent-info-$(hostname)" + +if grep -qs '^[[:space:]]*use-agent' "$GNUPGHOME/gpg.conf" "$GNUPGHOME/options" && + test -x $GPGAGENT && + { test -z "$GPG_AGENT_INFO" || ! $GPGAGENT 2>/dev/null; }; then + + if [ -r "$PID_FILE" ]; then + . "$PID_FILE" + fi + + # Invoking gpg-agent with no arguments exits successfully if the agent + # is already running as pointed by $GPG_AGENT_INFO + if ! $GPGAGENT 2>/dev/null; then + STARTUP="$GPGAGENT --daemon --sh --write-env-file=$PID_FILE $STARTUP" + fi +fi diff --git a/X11/Xsession.d/90x11-common_ssh-agent b/X11/Xsession.d/90x11-common_ssh-agent new file mode 100644 index 0000000..5397434 --- /dev/null +++ b/X11/Xsession.d/90x11-common_ssh-agent @@ -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: diff --git a/X11/Xsession.d/99x11-common_start b/X11/Xsession.d/99x11-common_start new file mode 100644 index 0000000..36a9652 --- /dev/null +++ b/X11/Xsession.d/99x11-common_start @@ -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: diff --git a/X11/Xsession.options b/X11/Xsession.options new file mode 100644 index 0000000..fc45bf9 --- /dev/null +++ b/X11/Xsession.options @@ -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 diff --git a/X11/Xwrapper.config b/X11/Xwrapper.config new file mode 100644 index 0000000..86e9bb3 --- /dev/null +++ b/X11/Xwrapper.config @@ -0,0 +1,14 @@ +# Xwrapper.config (Debian X Window System server wrapper configuration file) +# +# This file was generated by the post-installation script of the x11-common +# 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 x11-common 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 x11-common +allowed_users=console diff --git a/X11/app-defaults/Bitmap b/X11/app-defaults/Bitmap new file mode 100644 index 0000000..f9cc220 --- /dev/null +++ b/X11/app-defaults/Bitmap @@ -0,0 +1,228 @@ +! The App-defaults file for Bitmap. + +*TransientShell.allowShellResize: True +*shapeStyle: oval +*cursor: left_ptr +*pane.orientation: horizontal + +*Form*top: ChainTop +*Form*bottom: ChainTop +*Form*left: ChainLeft +*Form*right: ChainLeft + +*MenuButton.leftBitmap: menu12 +*form*width: 120 +*form*height: 15 + +*baseTranslations:#override\ + Ctrlc: do-quit()\n\ + q: do-quit()\n\ + Ctrln: do-new()\n\ + Ctrlf: do-load()\n\ + Ctrli: do-insert()\n\ + Ctrls: do-save()\n\ + Ctrlw: do-save-as()\n\ + Ctrlr: do-resize()\n\ + Ctrlx: do-rescale()\n\ + Ctrle: do-filename()\n\ + Ctrlb: do-basename()\n\ + Metai: switch-image()\n\ + Metag: switch-grid()\n\ + Metad: switch-dashed()\n\ + Metaa: switch-axes()\n\ + Metas: switch-stippled()\n\ + Metap: switch-proportional()\n\ + Metaz: switch-zoom()\n\ + Metac: do-cut()\n\ + Metaw: do-copy()\n\ + Metay: do-paste() + + +*Toggle.translations: : highlight(WhenUnset)\n\ + : unhighlight()\n\ + ,: set() notify() + +*MenuButton.translations:: highlight()\n\ + : reset()\n\ + Any: reset() fix-menu() PopupMenu() + +*Dialog*baseTranslations:#override\ + Return: set-dialog-button(okay, yes, retry)\n\ + Ctrlg: set-dialog-button(cancel, abort) +*image*baseTranslations:#override\ + ,: switch-image() +*image*width: 0 +*image*height: 0 +*image*Label.internalWidth: 0 +*image*Label.internalHeight: 0 +*image*normalImage.foreground: white +*image*normalImage.background: black +*image*invertedImage.foreground: black +*image*invertedImage.background: white + +*bitmap.cursor: tcross +*bitmap.dashes: Dashes +*bitmap.stipple: Stipple +*bitmap.stippled: on + +*TransientShell.width: 300 + +*input*icon: Term +*qsave*icon: Term +*error*icon: Excl +*Dialog.yes.label: Yes +*Dialog.no.label: No +*Dialog.okay.label: OK +*Dialog.abort.label: Abort +*Dialog.cancel.label: Cancel +*Dialog.retry.label: Retry + +*MenuButton.width: 58 + +*SimpleMenu.width: 0 +*SimpleMenu.height: 0 +*SimpleMenu.cursor: hand2 +*SimpleMenu.line.height: 0 + +*fileButton.label: File +*fileButton.menuName: fileMenu + +*editButton.label: Edit +*editButton.fromHoriz: fileButton +*editButton.menuName: editMenu + +*formy.status*top: ChainTop +*formy.status*bottom: ChainTop +*formy.status*left: ChainLeft +*formy.status*right: ChainRight +*status.fromHoriz: editButton +*status.borderWidth: 0 + +*SmeBSB.HorizontalMargins: 32 + +*fileMenu.new.label: New (Ctrl-N)... +*fileMenu.load.label: Load (Ctrl-F)... +*fileMenu.insert.label: Insert (Ctrl-I)... +*fileMenu.save.label: Save (Ctrl-S) +*fileMenu.saveAs.label: Save As (Ctrl-W)... +*fileMenu.resize.label: Resize (Ctrl-R)... +*fileMenu.rescale.label: Rescale (Ctrl-X)... +*fileMenu.filename.label: Filename (Ctrl-E)... +*fileMenu.basename.label: Basename (Ctrl-B)... +*fileMenu.quit.label: Quit (Ctrl-C, Q) + +*editMenu.image.label: Image (Meta-I) +*editMenu.grid.label: Grid (Meta-G) +*editMenu.dashed.label: Dashed (Meta-D) +*editMenu.axes.label: Axes (Meta-A) +*editMenu.stippled.label: Stippled (Meta-S) +*editMenu.proportional.label: Proportional (Meta-P) +*editMenu.zoom.label: Zoom (Meta-Z) +*editMenu.cut.label: Cut (Meta-C) +*editMenu.copy.label: Copy (Meta-W) +*editMenu.paste.label: Paste (Meta-Y, Ctrl-mb) + +*form.clear.label: Clear +*form.set.fromVert: clear +*form.set.label: Set +*form.invert.fromVert: set +*form.invert.label: Invert + +*form.mark.vertDistance: 10 +*form.mark.fromVert: invert +*form.mark.label: Mark +*form.unmark.fromVert: mark +*form.unmark.label: Unmark + +*form.copy.vertDistance: 10 +*form.copy.fromVert: unmark +*form.copy.radioGroup: mark +*form.copy.label: Copy +*form.move.fromVert: copy +*form.move.radioGroup: copy +*form.move.label: Move + +*form.flipHoriz.vertDistance: 10 +*form.flipHoriz.width: 36 +*form.flipHoriz.height: 36 +*form.flipHoriz.fromVert: move +*form.flipHoriz.bitmap: FlipHoriz +*form.up.vertDistance: 10 +*form.up.width: 36 +*form.up.height: 36 +*form.up.fromVert: move +*form.up.fromHoriz: flipHoriz +*form.up.bitmap: Up +*form.flipVert.vertDistance: 10 +*form.flipVert.width: 36 +*form.flipVert.height: 36 +*form.flipVert.fromVert: move +*form.flipVert.fromHoriz: up +*form.flipVert.bitmap: FlipVert +*form.left.width: 36 +*form.left.height: 36 +*form.left.fromVert: flipHoriz +*form.left.bitmap: Left +*form.fold.width: 36 +*form.fold.height: 36 +*form.fold.fromVert: up +*form.fold.fromHoriz: left +*form.fold.bitmap: Fold +*form.right.width: 36 +*form.right.height: 36 +*form.right.fromVert: flipVert +*form.right.fromHoriz: fold +*form.right.bitmap: Right +*form.rotateLeft.width: 36 +*form.rotateLeft.height: 36 +*form.rotateLeft.fromVert: left +*form.rotateLeft.bitmap: RotateLeft +*form.down.width: 36 +*form.down.height: 36 +*form.down.fromVert: fold +*form.down.fromHoriz: rotateLeft +*form.down.bitmap: Down +*form.rotateRight.width: 36 +*form.rotateRight.height: 36 +*form.rotateRight.fromVert: right +*form.rotateRight.fromHoriz: down +*form.rotateRight.bitmap: RotateRight + +*form.point.vertDistance: 10 +*form.point.fromVert: rotateLeft +*form.point.radioGroup: move +*form.point.label: Point +*form.curve.fromVert: point +*form.curve.radioGroup: point +*form.curve.label: Curve +*form.line.fromVert: curve +*form.line.radioGroup: curve +*form.line.label: Line +*form.rectangle.fromVert: line +*form.rectangle.radioGroup: line +*form.rectangle.label: Rectangle +*form.filledRectangle.fromVert: rectangle +*form.filledRectangle.radioGroup: rectangle +*form.filledRectangle.label: Filled Rectangle +*form.circle.fromVert: filledRectangle +*form.circle.radioGroup: filledRectangle +*form.circle.label: Circle +*form.filledCircle.fromVert: circle +*form.filledCircle.radioGroup: circle +*form.filledCircle.label: Filled Circle +*form.floodFill.fromVert: filledCircle +*form.floodFill.radioGroup: filledCircle +*form.floodFill.label: Flood Fill + +*form.setHotSpot.vertDistance: 10 +*form.setHotSpot.fromVert: floodFill +*form.setHotSpot.radioGroup: floodFill +*form.setHotSpot.label: Set Hot Spot +*form.clearHotSpot.fromVert: setHotSpot +*form.clearHotSpot.label: Clear Hot Spot + +*form.undo.vertDistance: 10 +*form.undo.fromVert: clearHotSpot +*form.undo.label: Undo + + diff --git a/X11/app-defaults/Bitmap-color b/X11/app-defaults/Bitmap-color new file mode 100644 index 0000000..7a7a025 --- /dev/null +++ b/X11/app-defaults/Bitmap-color @@ -0,0 +1,18 @@ +! The App-defaults file for Bitmap on a color screen. + +#include "Bitmap" + +*background: medium blue +*foreground: cyan +*borderColor: plum +*frame: deep sky blue +*highlight: magenta +*Command.background: purple +*Toggle.background: purple +*MenuButton.background: purple +*Command.foreground: white +*Toggle.foreground: white +*MenuButton.foreground: white +*status.foreground: green +*Dialog.icon.foreground: pale green +*bitmap.stippled: off diff --git a/X11/app-defaults/Bitmap-nocase b/X11/app-defaults/Bitmap-nocase new file mode 100644 index 0000000..4b35387 --- /dev/null +++ b/X11/app-defaults/Bitmap-nocase @@ -0,0 +1,231 @@ +! +! +! The App-defaults file for Bitmap for use on file systems +! that are not case sensitive. + +*TransientShell.allowShellResize: True +*shapeStyle: oval +*cursor: left_ptr +*pane.orientation: horizontal + +*Form*top: ChainTop +*Form*bottom: ChainTop +*Form*left: ChainLeft +*Form*right: ChainLeft + +*MenuButton.leftBitmap: menu12 +*form*width: 120 +*form*height: 15 + +*baseTranslations:#override\ + Ctrlc: do-quit()\n\ + q: do-quit()\n\ + Ctrln: do-new()\n\ + Ctrlf: do-load()\n\ + Ctrli: do-insert()\n\ + Ctrls: do-save()\n\ + Ctrlw: do-save-as()\n\ + Ctrlr: do-resize()\n\ + Ctrlx: do-rescale()\n\ + Ctrle: do-filename()\n\ + Ctrlb: do-basename()\n\ + Metai: switch-image()\n\ + Metag: switch-grid()\n\ + Metad: switch-dashed()\n\ + Metaa: switch-axes()\n\ + Metas: switch-stippled()\n\ + Metap: switch-proportional()\n\ + Metaz: switch-zoom()\n\ + Metac: do-cut()\n\ + Metaw: do-copy()\n\ + Metay: do-paste() + + +*Toggle.translations: : highlight(WhenUnset)\n\ + : unhighlight()\n\ + ,: set() notify() + +*MenuButton.translations:: highlight()\n\ + : reset()\n\ + Any: reset() fix-menu() PopupMenu() + +*Dialog*baseTranslations:#override\ + Return: set-dialog-button(okay, yes, retry)\n\ + Ctrlg: set-dialog-button(cancel, abort) +*image*baseTranslations:#override\ + ,: switch-image() +*image*width: 0 +*image*height: 0 +*image*Label.internalWidth: 0 +*image*Label.internalHeight: 0 +*image*normalImage.foreground: white +*image*normalImage.background: black +*image*invertedImage.foreground: black +*image*invertedImage.background: white + +*bitmap.cursor: tcross +*bitmap.dashes: Dashes +*bitmap.stipple: Stippler +*bitmap.stippled: on + +*TransientShell.width: 300 + +*input*icon: Term +*qsave*icon: Term +*error*icon: Excl +*Dialog.yes.label: Yes +*Dialog.no.label: No +*Dialog.okay.label: OK +*Dialog.abort.label: Abort +*Dialog.cancel.label: Cancel +*Dialog.retry.label: Retry + +*MenuButton.width: 58 + +*SimpleMenu.width: 0 +*SimpleMenu.height: 0 +*SimpleMenu.cursor: hand2 +*SimpleMenu.line.height: 0 + +*fileButton.label: File +*fileButton.menuName: fileMenu + +*editButton.label: Edit +*editButton.fromHoriz: fileButton +*editButton.menuName: editMenu + +*formy.status*top: ChainTop +*formy.status*bottom: ChainTop +*formy.status*left: ChainLeft +*formy.status*right: ChainRight +*status.fromHoriz: editButton +*status.borderWidth: 0 + +*SmeBSB.HorizontalMargins: 32 + +*fileMenu.new.label: New (Ctrl-N)... +*fileMenu.load.label: Load (Ctrl-F)... +*fileMenu.insert.label: Insert (Ctrl-I)... +*fileMenu.save.label: Save (Ctrl-S) +*fileMenu.saveAs.label: Save As (Ctrl-W)... +*fileMenu.resize.label: Resize (Ctrl-R)... +*fileMenu.rescale.label: Rescale (Ctrl-X)... +*fileMenu.filename.label: Filename (Ctrl-E)... +*fileMenu.basename.label: Basename (Ctrl-B)... +*fileMenu.quit.label: Quit (Ctrl-C, Q) + +*editMenu.image.label: Image (Meta-I) +*editMenu.grid.label: Grid (Meta-G) +*editMenu.dashed.label: Dashed (Meta-D) +*editMenu.axes.label: Axes (Meta-A) +*editMenu.stippled.label: Stippled (Meta-S) +*editMenu.proportional.label: Proportional (Meta-P) +*editMenu.zoom.label: Zoom (Meta-Z) +*editMenu.cut.label: Cut (Meta-C) +*editMenu.copy.label: Copy (Meta-W) +*editMenu.paste.label: Paste (Meta-Y, Ctrl-mb) + +*form.clear.label: Clear +*form.set.fromVert: clear +*form.set.label: Set +*form.invert.fromVert: set +*form.invert.label: Invert + +*form.mark.vertDistance: 10 +*form.mark.fromVert: invert +*form.mark.label: Mark +*form.unmark.fromVert: mark +*form.unmark.label: Unmark + +*form.copy.vertDistance: 10 +*form.copy.fromVert: unmark +*form.copy.radioGroup: mark +*form.copy.label: Copy +*form.move.fromVert: copy +*form.move.radioGroup: copy +*form.move.label: Move + +*form.flipHoriz.vertDistance: 10 +*form.flipHoriz.width: 36 +*form.flipHoriz.height: 36 +*form.flipHoriz.fromVert: move +*form.flipHoriz.bitmap: FlipHoriz +*form.up.vertDistance: 10 +*form.up.width: 36 +*form.up.height: 36 +*form.up.fromVert: move +*form.up.fromHoriz: flipHoriz +*form.up.bitmap: Up +*form.flipVert.vertDistance: 10 +*form.flipVert.width: 36 +*form.flipVert.height: 36 +*form.flipVert.fromVert: move +*form.flipVert.fromHoriz: up +*form.flipVert.bitmap: FlipVert +*form.left.width: 36 +*form.left.height: 36 +*form.left.fromVert: flipHoriz +*form.left.bitmap: Left +*form.fold.width: 36 +*form.fold.height: 36 +*form.fold.fromVert: up +*form.fold.fromHoriz: left +*form.fold.bitmap: Fold +*form.right.width: 36 +*form.right.height: 36 +*form.right.fromVert: flipVert +*form.right.fromHoriz: fold +*form.right.bitmap: Right +*form.rotateLeft.width: 36 +*form.rotateLeft.height: 36 +*form.rotateLeft.fromVert: left +*form.rotateLeft.bitmap: RotateLeft +*form.down.width: 36 +*form.down.height: 36 +*form.down.fromVert: fold +*form.down.fromHoriz: rotateLeft +*form.down.bitmap: Down +*form.rotateRight.width: 36 +*form.rotateRight.height: 36 +*form.rotateRight.fromVert: right +*form.rotateRight.fromHoriz: down +*form.rotateRight.bitmap: RotateRight + +*form.point.vertDistance: 10 +*form.point.fromVert: rotateLeft +*form.point.radioGroup: move +*form.point.label: Point +*form.curve.fromVert: point +*form.curve.radioGroup: point +*form.curve.label: Curve +*form.line.fromVert: curve +*form.line.radioGroup: curve +*form.line.label: Line +*form.rectangle.fromVert: line +*form.rectangle.radioGroup: line +*form.rectangle.label: Rectangle +*form.filledRectangle.fromVert: rectangle +*form.filledRectangle.radioGroup: rectangle +*form.filledRectangle.label: Filled Rectangle +*form.circle.fromVert: filledRectangle +*form.circle.radioGroup: filledRectangle +*form.circle.label: Circle +*form.filledCircle.fromVert: circle +*form.filledCircle.radioGroup: circle +*form.filledCircle.label: Filled Circle +*form.floodFill.fromVert: filledCircle +*form.floodFill.radioGroup: filledCircle +*form.floodFill.label: Flood Fill + +*form.setHotSpot.vertDistance: 10 +*form.setHotSpot.fromVert: floodFill +*form.setHotSpot.radioGroup: floodFill +*form.setHotSpot.label: Set Hot Spot +*form.clearHotSpot.fromVert: setHotSpot +*form.clearHotSpot.label: Clear Hot Spot + +*form.undo.vertDistance: 10 +*form.undo.fromVert: clearHotSpot +*form.undo.label: Undo + + diff --git a/X11/app-defaults/Clock-color b/X11/app-defaults/Clock-color new file mode 100644 index 0000000..00e87f4 --- /dev/null +++ b/X11/app-defaults/Clock-color @@ -0,0 +1,6 @@ +! $Xorg: Clock-col.ad,v 1.3 2000/08/17 19:53:59 cpqbld Exp $ +Clock*Background: grey +Clock*BorderColor: light blue +Clock*hour: yellow +Clock*jewel: yellow +Clock*minute: yellow diff --git a/X11/app-defaults/Editres b/X11/app-defaults/Editres new file mode 100644 index 0000000..9e8dc16 --- /dev/null +++ b/X11/app-defaults/Editres @@ -0,0 +1,292 @@ +! $Xorg: Editres.ad,v 1.3 2000/08/17 19:53:51 cpqbld Exp $ +! +! +! +! +! $XFree86: xc/programs/editres/Editres.ad,v 1.2 1999/05/09 10:52:00 dawes Exp $ +! +! 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\ + 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\ + ,: set() notify() + + +*commandBox.skipAdjust: True + +! Get resource values action binding. + +*List.baseTranslations: #override \n\ + ,: Set() EnableGetVal() Notify() + +! Keyboard Actions for Tree and children of the Tree. + +*Tree.baseTranslations: #override \n\ + :space: Select(nothing) \n\ + :w: Select(widget) \n\ + :s: Select(all) \n\ + :i: Select(invert) \n\ + :c: Select(children) \n\ + :d: Select(descendants) \n\ + :p: Select(parent) \n\ + :a: Select(ancestors) \n\ + :N: Relabel(name) \n\ + :C: Relabel(class) \n\ + :I: Relabel(id) \n\ + :W: Relabel(window) + +*Tree.Toggle.baseTranslations: #override \n\ + :space: Select(nothing) \n\ + :w: Select(widget) \n\ + :s: Select(all) \n\ + :i: Select(invert) \n\ + :c: Select(children) \n\ + :d: Select(descendants) \n\ + :p: Select(parent) \n\ + :a: Select(ancestors) \n\ + :N: Relabel(name) \n\ + :C: Relabel(class) \n\ + :I: Relabel(id) \n\ + :W: Relabel(window) \n\ + ,: Select(nothing) toggle() notify() \n\ + ,: Relabel(toggle) + +! For the SetValues popup + +*setValuesPopup.form.?.resizable: True +*setValuesPopup.form.?.left: ChainLeft +*setValuesPopup.form.?.right: ChainLeft + +*setValuesPopup.form.label.Label: Use 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 \ + Return: no-op(RingBell) \n\ + Ctrlq,Tab: insert-char() \n\ + : select-start() SVActiveEntry(Resource) \n\ + Tab: SVActiveEntry(Value) + +*setValuesPopup.form.valueText.baseTranslations: #override \ + Return: no-op(RingBell) \n\ + Ctrlq,Tab: insert-char() \n\ + : select-start() SVActiveEntry(Value)\n\ + Tab: SVActiveEntry(Resource) + +*Text.translations: #override \ + mI: no-op(r)\n\ + cS: no-op(r)\n\ + cR: no-op(r)\n\ + 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 \ +: get-values(1, $w, width) \ + set-values(1, maxWidth, $w) diff --git a/X11/app-defaults/Editres-color b/X11/app-defaults/Editres-color new file mode 100644 index 0000000..1895427 --- /dev/null +++ b/X11/app-defaults/Editres-color @@ -0,0 +1,91 @@ +! $Xorg: Edit-col.ad,v 1.3 2000/08/17 19:53:50 cpqbld Exp $ +! Here are some suggested resources if you are using a color workstation. +! They look pretty good on my display, your mileage may vary. +! $XFree86: xc/programs/editres/Edit-col.ad,v 1.2 1999/05/16 10:13:06 dawes Exp $ + +#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: \ +: 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\ +: set-values(1, background, RoyalBlue4, borderColor, RoyalBlue4, displayList, "")\n\ +Any: 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 diff --git a/X11/app-defaults/KOI8RXTerm b/X11/app-defaults/KOI8RXTerm new file mode 100644 index 0000000..acc82d2 --- /dev/null +++ b/X11/app-defaults/KOI8RXTerm @@ -0,0 +1,50 @@ +! $XTermId: KOI8RXTerm.ad,v 1.4 2010/03/04 01:17:49 tom Exp $ +! ----------------------------------------------------------------------------- +! this file is part of xterm +! +! Copyright 2007,2010 by Thomas E. Dickey +! +! All Rights Reserved +! +! Permission is hereby granted, free of charge, to any person obtaining a +! copy of this software and associated documentation files (the +! "Software"), to deal in the Software without restriction, including +! without limitation the rights to use, copy, modify, merge, publish, +! distribute, 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 ABOVE LISTED COPYRIGHT HOLDER(S) 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(s) of the above copyright +! holders shall not be used in advertising or otherwise to promote the +! sale, use or other dealings in this Software without prior written +! authorization. +! ----------------------------------------------------------------------------- +! This is based on the UXTerm app-defaults file. +! ----------------------------------------------------------------------------- +! Use +! xterm -class KOI8RXTerm +! to set resources for KOI8-R mode with corresponding fonts. + +#include "XTerm" + +*fontMenu.Label: KOI8-R Fonts +*VT100*allowC1Printable: true + +! Use Cyrillic instead of Latin fonts. +*VT100.font: -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-koi8-r +*VT100.font2: -misc-fixed-medium-r-normal--8-80-75-75-c-50-koi8-r +*VT100.font3: -misc-fixed-medium-r-normal--14-130-75-75-c-70-koi8-r +*VT100.font4: -misc-fixed-medium-r-normal--13-120-75-75-c-80-koi8-r +*VT100.font5: -misc-fixed-medium-r-normal--18-120-100-100-c-90-koi8-r +*VT100.font6: -misc-fixed-medium-r-normal--20-200-75-75-c-100-koi8-r diff --git a/X11/app-defaults/KOI8RXTerm-color b/X11/app-defaults/KOI8RXTerm-color new file mode 100644 index 0000000..2078328 --- /dev/null +++ b/X11/app-defaults/KOI8RXTerm-color @@ -0,0 +1,175 @@ +! $KOI8RXTermId: XTerm-col.ad,v 1.22 2009/08/15 15:56:29 tom Exp $ +! ----------------------------------------------------------------------------- +! this file is part of xterm +! +! Copyright 2002-2006,2009 by Thomas E. Dickey +! +! All Rights Reserved +! +! Permission is hereby granted, free of charge, to any person obtaining a +! copy of this software and associated documentation files (the +! "Software"), to deal in the Software without restriction, including +! without limitation the rights to use, copy, modify, merge, publish, +! distribute, 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 ABOVE LISTED COPYRIGHT HOLDER(S) 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(s) of the above copyright +! holders shall not be used in advertising or otherwise to promote the +! sale, use or other dealings in this Software without prior written +! authorization. +! ----------------------------------------------------------------------------- + +#include "KOI8RXTerm" + +*VT100*colorMode: on +*VT100*boldColors: on +*VT100*dynamicColors: on + +! Set the default text foreground and background colors. +*VT100*foreground: gray90 +*VT100*background: black + +! - OR - +! Uncomment this for black text on a "white" background. +!*VT100*foreground: black +!*VT100*background: gray90 + +! - OR - +! leave the foreground/background colors alone (at the mercy of your desktop +! designer). + +! Color the popup/pulldown menu border to match the text widget foreground. +!*SimpleMenu*borderColor: gray15 + +! Uncomment this to use color for underline attribute +!*VT100*colorULMode: on +*VT100*colorUL: yellow + +!*VT100*italicULMode: on + +! Uncomment this to disable underlining, e.g., if colorULMode is set. +!*VT100*underLine: off + +! Uncomment this to use color for the bold attribute +!*VT100*colorBDMode: on +*VT100*colorBD: white + +! Uncomment this to use the bold/underline colors in preference to other colors +!*VT100*colorAttrMode: on + +! These are the 8 ANSI colors and their bright equivalents. Depending on +! other resource settings, xterm may use the bright colors when displaying +! bold text (see the boldColors resource). +*VT100*color0: black +*VT100*color1: red3 +*VT100*color2: green3 +*VT100*color3: yellow3 +*VT100*color4: blue2 +*VT100*color5: magenta3 +*VT100*color6: cyan3 +*VT100*color7: gray90 +*VT100*color8: gray50 +*VT100*color9: red +*VT100*color10: green +*VT100*color11: yellow +*VT100*color12: rgb:5c/5c/ff +*VT100*color13: magenta +*VT100*color14: cyan +*VT100*color15: white + +! Disclaimer: there are no standard colors used in terminal emulation. +! +! The choice for color4 and color12 is a tradeoff between contrast, depending +! on whether they are used for text or backgrounds. Note that either color4 or +! color12 would be used for text, while only color4 would be used for a +! background. These are treated specially, since the luminosity of blue is +! only about half that of red/green, and is typically not accounted for in the +! RGB scheme. +! +! Blue text on a black background should be readable. +! Blue backgrounds should not be "too" bright. +! +! Originally color4/color12 were set to the names blue3/blue +!*VT100*color4: blue3 +!*VT100*color12: blue +! +! They are from rgb.txt respectively: +! 0 0 205 blue3 +! 0 0 255 blue +! However, blue3 is not readable on a black background. +! +! Another choice was from the Debian settings: +!*VT100*color4: DodgerBlue1 +!*VT100*color12: SteelBlue1 +! +! From rgb.txt: +! 30 144 255 DodgerBlue1 +! 99 184 255 SteelBlue1 +! +! Some users object to this choice because the background (color4) is brighter +! than they are accustomed. Others point out that the different weights for +! the red/green components make it appear to be not really blue. Finally, it +! provides poor contrast against color13 and color14. +! +! The current choice uses equal weights for red/green (effectively adding a +! gray to the result). It is brighter than the original choice, and provides +! more contrast between color12 and color13, color14 than SteelBlue1 did. +! Contrast of color4 against black is slightly improved over the original. +! +! Some refinement is certainly possible (you are welcome to try) -TD + + +#if PLANES > 8 +! Color the popup menus and the menubar to match: +*SimpleMenu*background: AntiqueWhite +*SimpleMenu*foreground: gray15 + +! Color the menubar to match: +*Form.menubar.background: AntiqueWhite +*Form.menubar*background: AntiqueWhite +*Form.menubar.foreground: gray15 +*Form.menubar*foreground: gray15 +*Form.background: AntiqueWhite +*form.background: AntiqueWhite + +*mainMenu*background: AntiqueWhite +*mainMenu*foreground: gray15 +*vtMenu*background: AntiqueWhite +*vtMenu*foreground: gray15 +*fontMenu*background: AntiqueWhite +*fontMenu*foreground: gray15 +*tekMenu*background: AntiqueWhite +*tekMenu*foreground: gray15 + +! The following two sections take advantage of new features in version 7 +! of the Athena widget library; see Xaw(7x). + +! This section is commented out because Xaw has no way to dynamically size +! the gradient. The dimension parameter may need to be adjusted depending +! on the font used in the menu. +!*SimpleMenu*backgroundPixmap: gradient:vertical?dimension=350&start=gray90&end=gray60 +!*SimpleMenu*foreground: gray15 + +*VT100.scrollbar.thumb: vlines2 +*VT100.scrollbar.width: 14 +*VT100.scrollbar.background: gray60 +*VT100.scrollbar.foreground: rgb:a/5/5 +*VT100.scrollbar.borderWidth: 0 +*VT100.scrollbar.displayList:\ +foreground gray90;\ +lines 1,-1,-1,-1,-1,1;\ +foreground gray60;\ +lines -1,0,0,0,0,-1 +#endif diff --git a/X11/app-defaults/UXTerm b/X11/app-defaults/UXTerm new file mode 100644 index 0000000..90421d0 --- /dev/null +++ b/X11/app-defaults/UXTerm @@ -0,0 +1,77 @@ +! $XTermId: UXTerm.ad,v 1.13 2010/03/04 01:17:07 tom Exp $ +! ----------------------------------------------------------------------------- +! this file is part of xterm +! +! Copyright 2000-2006,2010 by Thomas E. Dickey +! +! All Rights Reserved +! +! Permission is hereby granted, free of charge, to any person obtaining a +! copy of this software and associated documentation files (the +! "Software"), to deal in the Software without restriction, including +! without limitation the rights to use, copy, modify, merge, publish, +! distribute, 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 ABOVE LISTED COPYRIGHT HOLDER(S) 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(s) of the above copyright +! holders shall not be used in advertising or otherwise to promote the +! sale, use or other dealings in this Software without prior written +! authorization. +! ----------------------------------------------------------------------------- +! Use +! xterm -class UXTerm +! to set resources for UTF-8 mode with corresponding fonts. +! See the uxterm script for an example. + +#include "XTerm" + +*fontMenu.Label: Unicode Fonts +*VT100.utf8: 1 +*utf8Title: true + +! This includes "XTerm-color" which includes "XTerm", which defines fonts. +! Why set them here? +! +! Here is a simple description. A technically precise one would be very long. +! When xterm starts up, it uses the +! +! *VT100.font +! +! resource, and if it is told to switch to wide-character (UTF-8) mode, it +! checks if the given font is "wide", and if not looks for the +! +! *VT100.utf8Fonts.font +! +! to obtain a wide font. A "wide" font has more than 256 glyphs. Typical +! wide fonts have 10,000 glyphs. If the original "*VT100.font" is not wide, +! and xterm can load the *VT100.utf8Fonts.font, it will use that. +! +! Making the wide fonts associated with *VT100.font in this file allows uxterm +! to skip that step. It will use the fonts that the XTerm file gives for the +! *VT100.uft8Fonts.font pattern. +*VT100.font2: -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso10646-1 +*VT100.font: -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1 +*VT100.font3: -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso10646-1 +*VT100.font4: -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso10646-1 +*VT100.font5: -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso10646-1 +*VT100.font6: -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1 + +! Here is an alternate set of fonts with better support for bold: +!*VT100.font2: -efont-biwidth-medium-r-normal--10-100-75-75-p-50-iso10646-1 +!*VT100.font: -efont-biwidth-medium-r-normal--10-100-75-75-p-50-iso10646-1 +!*VT100.font3: -efont-biwidth-medium-r-normal--12-120-75-75-p-60-iso10646-1 +!*VT100.font4: -efont-biwidth-medium-r-normal--14-140-75-75-p-70-iso10646-1 +!*VT100.font5: -efont-biwidth-medium-r-normal--16-160-75-75-p-80-iso10646-1 +!*VT100.font6: -efont-biwidth-medium-r-normal--24-240-75-75-p-120-iso10646-1 diff --git a/X11/app-defaults/UXTerm-color b/X11/app-defaults/UXTerm-color new file mode 100644 index 0000000..b8a3390 --- /dev/null +++ b/X11/app-defaults/UXTerm-color @@ -0,0 +1,175 @@ +! $UXTermId: XTerm-col.ad,v 1.22 2009/08/15 15:56:29 tom Exp $ +! ----------------------------------------------------------------------------- +! this file is part of xterm +! +! Copyright 2002-2006,2009 by Thomas E. Dickey +! +! All Rights Reserved +! +! Permission is hereby granted, free of charge, to any person obtaining a +! copy of this software and associated documentation files (the +! "Software"), to deal in the Software without restriction, including +! without limitation the rights to use, copy, modify, merge, publish, +! distribute, 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 ABOVE LISTED COPYRIGHT HOLDER(S) 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(s) of the above copyright +! holders shall not be used in advertising or otherwise to promote the +! sale, use or other dealings in this Software without prior written +! authorization. +! ----------------------------------------------------------------------------- + +#include "UXTerm" + +*VT100*colorMode: on +*VT100*boldColors: on +*VT100*dynamicColors: on + +! Set the default text foreground and background colors. +*VT100*foreground: gray90 +*VT100*background: black + +! - OR - +! Uncomment this for black text on a "white" background. +!*VT100*foreground: black +!*VT100*background: gray90 + +! - OR - +! leave the foreground/background colors alone (at the mercy of your desktop +! designer). + +! Color the popup/pulldown menu border to match the text widget foreground. +!*SimpleMenu*borderColor: gray15 + +! Uncomment this to use color for underline attribute +!*VT100*colorULMode: on +*VT100*colorUL: yellow + +!*VT100*italicULMode: on + +! Uncomment this to disable underlining, e.g., if colorULMode is set. +!*VT100*underLine: off + +! Uncomment this to use color for the bold attribute +!*VT100*colorBDMode: on +*VT100*colorBD: white + +! Uncomment this to use the bold/underline colors in preference to other colors +!*VT100*colorAttrMode: on + +! These are the 8 ANSI colors and their bright equivalents. Depending on +! other resource settings, xterm may use the bright colors when displaying +! bold text (see the boldColors resource). +*VT100*color0: black +*VT100*color1: red3 +*VT100*color2: green3 +*VT100*color3: yellow3 +*VT100*color4: blue2 +*VT100*color5: magenta3 +*VT100*color6: cyan3 +*VT100*color7: gray90 +*VT100*color8: gray50 +*VT100*color9: red +*VT100*color10: green +*VT100*color11: yellow +*VT100*color12: rgb:5c/5c/ff +*VT100*color13: magenta +*VT100*color14: cyan +*VT100*color15: white + +! Disclaimer: there are no standard colors used in terminal emulation. +! +! The choice for color4 and color12 is a tradeoff between contrast, depending +! on whether they are used for text or backgrounds. Note that either color4 or +! color12 would be used for text, while only color4 would be used for a +! background. These are treated specially, since the luminosity of blue is +! only about half that of red/green, and is typically not accounted for in the +! RGB scheme. +! +! Blue text on a black background should be readable. +! Blue backgrounds should not be "too" bright. +! +! Originally color4/color12 were set to the names blue3/blue +!*VT100*color4: blue3 +!*VT100*color12: blue +! +! They are from rgb.txt respectively: +! 0 0 205 blue3 +! 0 0 255 blue +! However, blue3 is not readable on a black background. +! +! Another choice was from the Debian settings: +!*VT100*color4: DodgerBlue1 +!*VT100*color12: SteelBlue1 +! +! From rgb.txt: +! 30 144 255 DodgerBlue1 +! 99 184 255 SteelBlue1 +! +! Some users object to this choice because the background (color4) is brighter +! than they are accustomed. Others point out that the different weights for +! the red/green components make it appear to be not really blue. Finally, it +! provides poor contrast against color13 and color14. +! +! The current choice uses equal weights for red/green (effectively adding a +! gray to the result). It is brighter than the original choice, and provides +! more contrast between color12 and color13, color14 than SteelBlue1 did. +! Contrast of color4 against black is slightly improved over the original. +! +! Some refinement is certainly possible (you are welcome to try) -TD + + +#if PLANES > 8 +! Color the popup menus and the menubar to match: +*SimpleMenu*background: AntiqueWhite +*SimpleMenu*foreground: gray15 + +! Color the menubar to match: +*Form.menubar.background: AntiqueWhite +*Form.menubar*background: AntiqueWhite +*Form.menubar.foreground: gray15 +*Form.menubar*foreground: gray15 +*Form.background: AntiqueWhite +*form.background: AntiqueWhite + +*mainMenu*background: AntiqueWhite +*mainMenu*foreground: gray15 +*vtMenu*background: AntiqueWhite +*vtMenu*foreground: gray15 +*fontMenu*background: AntiqueWhite +*fontMenu*foreground: gray15 +*tekMenu*background: AntiqueWhite +*tekMenu*foreground: gray15 + +! The following two sections take advantage of new features in version 7 +! of the Athena widget library; see Xaw(7x). + +! This section is commented out because Xaw has no way to dynamically size +! the gradient. The dimension parameter may need to be adjusted depending +! on the font used in the menu. +!*SimpleMenu*backgroundPixmap: gradient:vertical?dimension=350&start=gray90&end=gray60 +!*SimpleMenu*foreground: gray15 + +*VT100.scrollbar.thumb: vlines2 +*VT100.scrollbar.width: 14 +*VT100.scrollbar.background: gray60 +*VT100.scrollbar.foreground: rgb:a/5/5 +*VT100.scrollbar.borderWidth: 0 +*VT100.scrollbar.displayList:\ +foreground gray90;\ +lines 1,-1,-1,-1,-1,1;\ +foreground gray60;\ +lines -1,0,0,0,0,-1 +#endif diff --git a/X11/app-defaults/Viewres b/X11/app-defaults/Viewres new file mode 100644 index 0000000..7272283 --- /dev/null +++ b/X11/app-defaults/Viewres @@ -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 \ + ,: Quit() unset() + +*Toggle.baseTranslations: #augment \n\ +,: set() notify() Resources(toggle) \n\ +q: Quit() \n\ +space: Select(nothing) \n\ +p: Select(parent) \n\ +a: Select(ancestors) \n\ +c: Select(children) \n\ +d: Select(descendants) \n\ +Ctrlr: Resources(on) \n\ +Ctrln: Resources(off) \n\ + +*List.baseTranslations: #augment \n\ +q: Quit() \n\ +space: Select(nothing) \n\ +p: Select(parent) \n\ +a: Select(ancestors) \n\ +c: Select(children) \n\ +d: Select(descendants) \n\ +Ctrlr: Resources(on) \n\ +Ctrln: Resources(off) \n\ + +*Porthole.baseTranslations: #override \n\ +,: Select(nothing) \n\ +q: Quit() \n\ +Ctrlh: SetOrientation(west) \n\ +Ctrlv: SetOrientation(north) \n\ +Ctrlr: Resources(on) \n\ +Ctrln: Resources(off) \n\ +Shiftc: SetLabelType(class) \n\ +Shiftv: SetLabelType(variable) \n\ +space: Select(nothing) \n\ +i: Select(invert) \n\ +p: Select(parent) \n\ +a: Select(ancestors) \n\ +c: Select(children) \n\ +d: Select(descendants) \n\ +r: Select(resources) \n\ +s: Select(shown) \n\ + +*buttonbox.view.Label: View +*buttonbox.view.viewMenu.layoutHorizontal.Label: Layout Horizontal +*buttonbox.view.viewMenu.layoutVertical.Label: Layout Vertical +*buttonbox.view.viewMenu.namesVariable.Label: Show Variable Names +*buttonbox.view.viewMenu.namesClass.Label: Show Class Names +*buttonbox.view.viewMenu.viewResources.Label: Show Resource Boxes +*buttonbox.view.viewMenu.viewNoResources.Label: Hide Resource Boxes + +*buttonbox.select.Label: Select +*buttonbox.select.selectMenu.unselect.Label: Unselect All +*buttonbox.select.selectMenu.selectAll.Label: Select All +*buttonbox.select.selectMenu.selectInvert.Label: Invert All +*buttonbox.select.selectMenu.selectParent.Label: Select Parent +*buttonbox.select.selectMenu.selectAncestors.Label: Select Ancestors +*buttonbox.select.selectMenu.selectChildren.Label: Select Children +*buttonbox.select.selectMenu.selectDescendants.Label: Select Descendants +*buttonbox.select.selectMenu.selectHasResources.Label: Select Has Resources +*buttonbox.select.selectMenu.selectShownResources.Label: Select Shown Resource Boxes diff --git a/X11/app-defaults/Viewres-color b/X11/app-defaults/Viewres-color new file mode 100644 index 0000000..3030d80 --- /dev/null +++ b/X11/app-defaults/Viewres-color @@ -0,0 +1,24 @@ +#include "Viewres" + +*background: gray95 +*foreground: gray30 +*borderColor: gray80 +*showGrip: False +*Font: XtDefaultFont +*buttonbox*ShapeStyle: rectangle +*internalBorderWidth: 0 +*buttonbox.backgroundPixmap: gradient:vertical?dimension=4&start=gray95&end=gray90 +*buttonbox.displayList: foreground gray70;line 0,-1,-1,-1;foreground gray95;line 0,0,-1,0 +*treeform.porthole.tree.backgroundPixmap:gradient:vertical?dimension=4&start=gray85&end=gray90 +*Tree*List.BorderWidth: 0 +*Tree.foreground: gray75 +*Tree.lineWidth: 7 +*List.backgroundPixmap: gradient:vertical?dimension=4&start=gray95&end=gray90 +*List.displayList: foreground gray50;line 0,-1,-1,-1;foreground white;line 0,0,-1,0 +*Porthole*Box.BorderWidth: 1 +*Panner.BorderWidth: 1 +*Panner.background: gray70 +*Panner.foreground: gray80 +*Panner.shadowColor: gray50 +*Panner*backgroundStipple: hlines2 +*SimpleMenu.backgroundPixmap: gradient:vertical?dimension=4&start=gray92&end=gray98 diff --git a/X11/app-defaults/Vncviewer b/X11/app-defaults/Vncviewer new file mode 100644 index 0000000..5c83ca2 --- /dev/null +++ b/X11/app-defaults/Vncviewer @@ -0,0 +1,138 @@ +! +! Application defaults file for vncviewer. +! + + +! +! The title of the main window. "%s" will be replaced by the desktop name. +! + +Vncviewer.title: TightVNC: %s + + +! +! Translations on the main window. +! + +Vncviewer.translations:\ + : SelectionToVNC()\n\ + : SelectionFromVNC() + + +! +! Uncomment to grab the keyboard in full-screen mode. +! + +! Vncviewer.grabKeyboard: True + + +! +! Background around a small desktop in full-screen mode. +! + +*form.background: black + + +! +! Use scrollbars on right and bottom for window smaller than desktop. +! + +*viewport.allowHoriz: True +*viewport.allowVert: True +*viewport.useBottom: True +*viewport.useRight: True +*viewport*Scrollbar*thumb: None + + +! +! Default translations on desktop window. +! + +*desktop.baseTranslations:\ + F8: ShowPopup()\n\ + : SendRFBEvent()\n\ + : SendRFBEvent()\n\ + : SendRFBEvent()\n\ + : SendRFBEvent()\n\ + : SendRFBEvent() + + +! +! Dialog boxes +! + +*serverDialog.dialog.label: VNC server: +*serverDialog.dialog.value: +*serverDialog.dialog.value.translations: #override\n\ + Return: ServerDialogDone() + +*passwordDialog.dialog.label: Password: +*passwordDialog.dialog.value: +*passwordDialog.dialog.value.AsciiSink.echo: False +*passwordDialog.dialog.value.translations: #override\n\ + Return: PasswordDialogDone() + + +! +! Popup window appearance +! + +*popup.title: TightVNC popup +*popup*background: grey +*popup*font: -*-helvetica-bold-r-*-*-16-*-*-*-*-*-*-* +*popup.buttonForm.Command.borderWidth: 0 +*popup.buttonForm.Toggle.borderWidth: 0 + +! +! Translations on popup window - send key presses through +! + +*popup.translations: #override WM_PROTOCOLS: HidePopup() +*popup.buttonForm.translations: #override\n\ + : SendRFBEvent() HidePopup() + + +! +! Popup buttons +! + +*popupButtonCount: 8 + +*popup*button1.label: Dismiss popup +*popup*button1.translations: #override\n\ + ,: HidePopup() + +*popup*button2.label: Quit viewer +*popup*button2.translations: #override\n\ + ,: Quit() + +*popup*button3.label: Full screen +*popup*button3.type: toggle +*popup*button3.translations: #override\n\ + : SetFullScreenState()\n\ + ,: toggle() HidePopup() ToggleFullScreen() + +*popup*button4.label: Clipboard: local -> remote +*popup*button4.translations: #override\n\ + ,: SelectionToVNC(always) HidePopup() + +*popup*button5.label: Clipboard: local <- remote +*popup*button5.translations: #override\n\ + ,: SelectionFromVNC(always) HidePopup() + +*popup*button6.label: Request refresh +*popup*button6.translations: #override\n\ + ,: SendRFBEvent(fbupdate) HidePopup() + +*popup*button7.label: Send ctrl-alt-del +*popup*button7.translations: #override\n\ + ,: SendRFBEvent(keydown,Control_L)\ + SendRFBEvent(keydown,Alt_L)\ + SendRFBEvent(key,Delete)\ + SendRFBEvent(keyup,Alt_L)\ + SendRFBEvent(keyup,Control_L)\ + HidePopup() + +*popup*button8.label: Send F8 +*popup*button8.translations: #override\n\ + ,: SendRFBEvent(key,F8) HidePopup() diff --git a/X11/app-defaults/XCalc b/X11/app-defaults/XCalc new file mode 100644 index 0000000..ab114b8 --- /dev/null +++ b/X11/app-defaults/XCalc @@ -0,0 +1,528 @@ +! XCalc application class resource file + +XCalc.Title: Calculator +XCalc.IconName: Calc +XCalc.IconPixmap: calculator + +XCalc*Cursor: hand2 +XCalc*Font: 8x13 +XCalc*ShapeStyle: rectangle +XCalc*Command.horizDistance: 2 +XCalc*Command.vertDistance: 2 +XCalc*Command.width: 40 +XCalc*Command.height: 26 +XCalc*Command.internalWidth: 1 + +XCalc*bevel.background: black +XCalc*bevel.horizDistance: 4 +XCalc*bevel.vertDistance: 2 + +XCalc*bevel.screen.horizDistance: 6 +XCalc*bevel.screen.vertDistance: 2 +XCalc*bevel.screen.defaultDistance: 0 + +XCalc*bevel.screen.Label.horizDistance: 4 +XCalc*bevel.screen.Label.vertDistance: 2 +XCalc*bevel.screen.Label.internalHeight: 1 +XCalc*bevel.screen.Label.internalWidth: 1 +XCalc*bevel.screen.LCD.label: 88888888888 +XCalc*bevel.screen.LCD.fromHoriz: M +XCalc*bevel.screen.LCD.horizDistance: 4 +XCalc*bevel.screen.LCD.vertDistance: 2 +XCalc*bevel.screen.INV.fromVert: LCD +XCalc*bevel.screen.INV.vertDistance: 4 +XCalc*bevel.screen.DEG.fromHoriz: INV +XCalc*bevel.screen.DEG.fromVert: LCD +XCalc*bevel.screen.DEG.horizDistance: 1 +XCalc*bevel.screen.RAD.fromHoriz: DEG +XCalc*bevel.screen.RAD.fromVert: LCD +XCalc*bevel.screen.GRAD.fromHoriz: RAD +XCalc*bevel.screen.GRAD.fromVert: LCD +XCalc*bevel.screen.P.label: () +XCalc*bevel.screen.P.fromHoriz: GRAD +XCalc*bevel.screen.P.fromVert: LCD +XCalc*bevel.screen.P.horizDistance: 2 + +!XCalc*ti.Geometry: 171x252 +XCalc*ti.bevel.screen.LCD.width: 186 + +XCalc*ti.bevel.screen.LCD.translations: #replace\n\ + Ctrlc:quit()\n\ + Ctrlh:clear()\n\ + None0:digit(0)\n\ + None1:digit(1)\n\ + None2:digit(2)\n\ + None3:digit(3)\n\ + None4:digit(4)\n\ + None5:digit(5)\n\ + None6:digit(6)\n\ + None7:digit(7)\n\ + None8:digit(8)\n\ + None9:digit(9)\n\ + KP_0:digit(0)\n\ + KP_1:digit(1)\n\ + KP_2:digit(2)\n\ + KP_3:digit(3)\n\ + KP_4:digit(4)\n\ + KP_5:digit(5)\n\ + KP_6:digit(6)\n\ + KP_7:digit(7)\n\ + KP_8:digit(8)\n\ + KP_9:digit(9)\n\ + KP_Enter:equal()\n\ + KP_Equal:equal()\n\ + KP_Multiply:multiply()\n\ + KP_Add:add()\n\ + KP_Subtract:subtract()\n\ + KP_Decimal:decimal()\n\ + KP_Separator:decimal()\n\ + KP_Divide:divide()\n\ + KP_Tab:equal()\n\ + Clear:clear()\n\ + :.:decimal()\n\ + :+:add()\n\ + :-:subtract()\n\ + :*:multiply()\n\ + :/:divide()\n\ + :(:leftParen()\n\ + :):rightParen()\n\ + :!:factorial()\n\ + e:e()\n\ + :^:power()\n\ + p:pi()\n\ + i:inverse()\n\ + s:sine()\n\ + c:cosine()\n\ + t:tangent()\n\ + d:degree()\n\ + l:naturalLog()\n\ + :=:equal()\n\ + n:negate()\n\ + r:squareRoot()\n\ + space:clear()\n\ + q:quit()\n\ + Delete:clear()\n\ + BackSpace:clear()\n\ + ,:toggle()selection()\n + +XCalc*ti.button1.label: 1/x +XCalc*ti.button1.translations: #override,:reciprocal()unset() +XCalc*ti.button2.label: x\262 +XCalc*ti.button2.translations: #override,:square()unset() +XCalc*ti.button3.font: -adobe-symbol-*-*-*-*-*-120-*-*-*-*-*-* +XCalc*ti.button3.label: \326\140 +XCalc*ti.button3.translations: #override,:squareRoot()unset() +XCalc*ti.button4.label: CE/C +XCalc*ti.button4.translations: #override,:clear()unset() +XCalc*ti.button5.label: AC +XCalc*ti.button5.translations: #override,:off()unset()\n\ + ,:quit() + +XCalc*ti.button6.label: INV +XCalc*ti.button6.translations: #override,:inverse()unset() +XCalc*ti.button7.label: sin +XCalc*ti.button7.translations: #override,:sine()unset() +XCalc*ti.button8.label: cos +XCalc*ti.button8.translations: #override,:cosine()unset() +XCalc*ti.button9.label: tan +XCalc*ti.button9.translations: #override,:tangent()unset() +XCalc*ti.button10.label: DRG +XCalc*ti.button10.translations: #override,:degree()unset() + +XCalc*ti.button11.label: e +XCalc*ti.button11.translations: #override,:e()unset() +XCalc*ti.button12.label: EE +XCalc*ti.button12.translations: #override,:scientific()unset() +XCalc*ti.button13.label: log +XCalc*ti.button13.translations: #override,:logarithm()unset() +XCalc*ti.button14.label: ln +XCalc*ti.button14.translations: #override,:naturalLog()unset() +XCalc*ti.button15.label: y^x +XCalc*ti.button15.translations: #override,:power()unset() + +XCalc*ti.button16.font: -adobe-symbol-*-*-*-*-*-120-*-*-*-*-*-* +XCalc*ti.button16.label: \160 +XCalc*ti.button16.translations: #override,:pi()unset() +XCalc*ti.button17.label: x! +XCalc*ti.button17.translations: #override,:factorial()unset() +XCalc*ti.button18.label: ( +XCalc*ti.button18.translations: #override,:leftParen()unset() +XCalc*ti.button19.label: ) +XCalc*ti.button19.translations: #override,:rightParen()unset() +XCalc*ti.button20.font: -adobe-symbol-*-*-*-*-*-120-*-*-*-*-*-* +XCalc*ti.button20.label: \270 +XCalc*ti.button20.translations: #override,:divide()unset() + +XCalc*ti.button21.label: STO +XCalc*ti.button21.translations: #override,:store()unset() +XCalc*ti.button22.label: 7 +XCalc*ti.button22.translations: #override,:digit(7)unset() +XCalc*ti.button23.label: 8 +XCalc*ti.button23.translations: #override,:digit(8)unset() +XCalc*ti.button24.label: 9 +XCalc*ti.button24.translations: #override,:digit(9)unset() +XCalc*ti.button25.label: * +XCalc*ti.button25.translations: #override,:multiply()unset() + +XCalc*ti.button26.label: RCL +XCalc*ti.button26.translations: #override,:recall()unset() +XCalc*ti.button27.label: 4 +XCalc*ti.button27.translations: #override,:digit(4)unset() +XCalc*ti.button28.label: 5 +XCalc*ti.button28.translations: #override,:digit(5)unset() +XCalc*ti.button29.label: 6 +XCalc*ti.button29.translations: #override,:digit(6)unset() +XCalc*ti.button30.label: - +XCalc*ti.button30.translations: #override,:subtract()unset() + +XCalc*ti.button31.label: SUM +XCalc*ti.button31.translations: #override,:sum()unset() +XCalc*ti.button32.label: 1 +XCalc*ti.button32.translations: #override,:digit(1)unset() +XCalc*ti.button33.label: 2 +XCalc*ti.button33.translations: #override,:digit(2)unset() +XCalc*ti.button34.label: 3 +XCalc*ti.button34.translations: #override,:digit(3)unset() +XCalc*ti.button35.label: + +XCalc*ti.button35.translations: #override,:add()unset() + +XCalc*ti.button36.label: EXC +XCalc*ti.button36.translations: #override,:exchange()unset() +XCalc*ti.button37.label: 0 +XCalc*ti.button37.translations: #override,:digit(0)unset() +XCalc*ti.button38.label: . +XCalc*ti.button38.translations: #override,:decimal()unset() +XCalc*ti.button39.label: +/- +XCalc*ti.button39.translations: #override,:negate()unset() +XCalc*ti.button40.label: = +XCalc*ti.button40.translations: #override,:equal()unset() + +XCalc*ti.button1.horizDistance: 4 +XCalc*ti.button1.vertDistance: 12 +XCalc*ti.button1.fromVert: bevel +XCalc*ti.button2.fromHoriz: button1 +XCalc*ti.button2.fromVert: bevel +XCalc*ti.button2.vertDistance: 12 +XCalc*ti.button3.fromHoriz: button2 +XCalc*ti.button3.fromVert: bevel +XCalc*ti.button3.vertDistance: 12 +XCalc*ti.button4.fromHoriz: button3 +XCalc*ti.button4.fromVert: bevel +XCalc*ti.button4.vertDistance: 12 +XCalc*ti.button5.fromHoriz: button4 +XCalc*ti.button5.fromVert: bevel +XCalc*ti.button5.vertDistance: 12 + +XCalc*ti.button6.horizDistance: 4 +XCalc*ti.button6.fromVert: button1 +XCalc*ti.button7.fromHoriz: button6 +XCalc*ti.button7.fromVert: button2 +XCalc*ti.button8.fromHoriz: button7 +XCalc*ti.button8.fromVert: button3 +XCalc*ti.button9.fromHoriz: button8 +XCalc*ti.button9.fromVert: button4 +XCalc*ti.button10.fromHoriz: button9 +XCalc*ti.button10.fromVert: button5 + +XCalc*ti.button11.horizDistance: 4 +XCalc*ti.button11.fromVert: button6 +XCalc*ti.button12.fromHoriz: button11 +XCalc*ti.button12.fromVert: button7 +XCalc*ti.button13.fromHoriz: button12 +XCalc*ti.button13.fromVert: button8 +XCalc*ti.button14.fromHoriz: button13 +XCalc*ti.button14.fromVert: button9 +XCalc*ti.button15.fromHoriz: button14 +XCalc*ti.button15.fromVert: button10 + +XCalc*ti.button16.horizDistance: 4 +XCalc*ti.button16.fromVert: button11 +XCalc*ti.button17.fromHoriz: button16 +XCalc*ti.button17.fromVert: button12 +XCalc*ti.button18.fromHoriz: button17 +XCalc*ti.button18.fromVert: button13 +XCalc*ti.button19.fromHoriz: button18 +XCalc*ti.button19.fromVert: button14 +XCalc*ti.button20.fromHoriz: button19 +XCalc*ti.button20.fromVert: button15 + +XCalc*ti.button21.horizDistance: 4 +XCalc*ti.button21.fromVert: button16 +XCalc*ti.button22.fromHoriz: button21 +XCalc*ti.button22.fromVert: button17 +XCalc*ti.button23.fromHoriz: button22 +XCalc*ti.button23.fromVert: button18 +XCalc*ti.button24.fromHoriz: button23 +XCalc*ti.button24.fromVert: button19 +XCalc*ti.button25.fromHoriz: button24 +XCalc*ti.button25.fromVert: button20 + +XCalc*ti.button26.horizDistance: 4 +XCalc*ti.button26.fromVert: button21 +XCalc*ti.button27.fromHoriz: button26 +XCalc*ti.button27.fromVert: button22 +XCalc*ti.button28.fromHoriz: button27 +XCalc*ti.button28.fromVert: button23 +XCalc*ti.button29.fromHoriz: button28 +XCalc*ti.button29.fromVert: button24 +XCalc*ti.button30.fromHoriz: button29 +XCalc*ti.button30.fromVert: button25 + +XCalc*ti.button31.horizDistance: 4 +XCalc*ti.button31.fromVert: button26 +XCalc*ti.button32.fromHoriz: button31 +XCalc*ti.button32.fromVert: button27 +XCalc*ti.button33.fromHoriz: button32 +XCalc*ti.button33.fromVert: button28 +XCalc*ti.button34.fromHoriz: button33 +XCalc*ti.button34.fromVert: button29 +XCalc*ti.button35.fromHoriz: button34 +XCalc*ti.button35.fromVert: button30 + +XCalc*ti.button36.horizDistance: 4 +XCalc*ti.button36.fromVert: button31 +XCalc*ti.button37.fromHoriz: button36 +XCalc*ti.button37.fromVert: button32 +XCalc*ti.button38.fromHoriz: button37 +XCalc*ti.button38.fromVert: button33 +XCalc*ti.button39.fromHoriz: button38 +XCalc*ti.button39.fromVert: button34 +XCalc*ti.button40.fromHoriz: button39 +XCalc*ti.button40.fromVert: button35 + + +!XCalc*hp.Geometry: 336x164 +XCalc*hp.bevel.screen.LCD.width: 186 + +XCalc*hp.bevel.screen.LCD.translations: #replace\n\ + Ctrlc:quit()\n\ + Ctrlh:back()\n\ + None0:digit(0)\n\ + None1:digit(1)\n\ + None2:digit(2)\n\ + None3:digit(3)\n\ + None4:digit(4)\n\ + None5:digit(5)\n\ + None6:digit(6)\n\ + None7:digit(7)\n\ + None8:digit(8)\n\ + None9:digit(9)\n\ + KP_0:digit(0)\n\ + KP_1:digit(1)\n\ + KP_2:digit(2)\n\ + KP_3:digit(3)\n\ + KP_4:digit(4)\n\ + KP_5:digit(5)\n\ + KP_6:digit(6)\n\ + KP_7:digit(7)\n\ + KP_8:digit(8)\n\ + KP_9:digit(9)\n\ + KP_Enter:enter()\n\ + KP_Multiply:multiply()\n\ + KP_Add:add()\n\ + KP_Subtract:subtract()\n\ + KP_Decimal:decimal()\n\ + KP_Divide:divide()\n\ + :.:decimal()\n\ + :+:add()\n\ + :-:subtract()\n\ + :*:multiply()\n\ + :/:divide()\n\ + :!:factorial()\n\ + e:e()\n\ + :^:power()\n\ + p:pi()\n\ + i:inverse()\n\ + s:sine()\n\ + c:cosine()\n\ + t:tangent()\n\ + d:degree()\n\ + l:naturalLog()\n\ + n:negate()\n\ + r:squareRoot()\n\ + space:clear()\n\ + q:quit()\n\ + Delete:back()\n\ + Return:enter()\n\ + Linefeed:enter()\n\ + x:XexchangeY()\n\ + BackSpace:back()\n\ + ,:toggle()selection()\n + +XCalc*hp.button1.font: -adobe-symbol-*-*-*-*-*-120-*-*-*-*-*-* +XCalc*hp.button1.label: \326\140 +XCalc*hp.button1.translations: #override,:squareRoot()unset() +XCalc*hp.button2.label: e^x +XCalc*hp.button2.translations: #override,:epower()unset() +XCalc*hp.button3.label: 10^x +XCalc*hp.button3.translations: #override,:tenpower()unset() +XCalc*hp.button4.label: y^x +XCalc*hp.button4.translations: #override,:power()unset() +XCalc*hp.button5.label: 1/x +XCalc*hp.button5.translations: #override,:reciprocal()unset() +XCalc*hp.button6.label: CHS +XCalc*hp.button6.translations: #override,:negate()unset() +XCalc*hp.button7.label: 7 +XCalc*hp.button7.translations: #override,:digit(7)unset() +XCalc*hp.button8.label: 8 +XCalc*hp.button8.translations: #override,:digit(8)unset() +XCalc*hp.button9.label: 9 +XCalc*hp.button9.translations: #override,:digit(9)unset() +XCalc*hp.button10.font: -adobe-symbol-*-*-*-*-*-120-*-*-*-*-*-* +XCalc*hp.button10.label: \270 +XCalc*hp.button10.translations: #override,:divide()unset() + +XCalc*hp.button11.label: x! +XCalc*hp.button11.translations: #override,:factorial()unset() +XCalc*hp.button12.font: -adobe-symbol-*-*-*-*-*-120-*-*-*-*-*-* +XCalc*hp.button12.label: \160 +XCalc*hp.button12.translations: #override,:pi()unset() +XCalc*hp.button13.label: sin +XCalc*hp.button13.translations: #override,:sine()unset() +XCalc*hp.button14.label: cos +XCalc*hp.button14.translations: #override,:cosine()unset() +XCalc*hp.button15.label: tan +XCalc*hp.button15.translations: #override,:tangent()unset() +XCalc*hp.button16.label: EEX +XCalc*hp.button16.translations: #override,:scientific()unset() +XCalc*hp.button17.label: 4 +XCalc*hp.button17.translations: #override,:digit(4)unset() +XCalc*hp.button18.label: 5 +XCalc*hp.button18.translations: #override,:digit(5)unset() +XCalc*hp.button19.label: 6 +XCalc*hp.button19.translations: #override,:digit(6)unset() +XCalc*hp.button20.label: * +XCalc*hp.button20.translations: #override,:multiply()unset() + +XCalc*hp.button21.mappedWhenManaged: False +XCalc*hp.button22.mappedWhenManaged: False +XCalc*hp.button23.label: Rv +XCalc*hp.button23.translations: #override,:roll()unset() +XCalc*hp.button24.label: x:y +XCalc*hp.button24.translations: #override,:XexchangeY()unset() +XCalc*hp.button25.label: <- +XCalc*hp.button25.translations: #override,:back()unset() +XCalc*hp.button26.label: E\nN\nT\nE\nR +XCalc*hp.button26.translations: #override,:enter()unset() +XCalc*hp.button27.label: 1 +XCalc*hp.button27.translations: #override,:digit(1)unset() +XCalc*hp.button28.label: 2 +XCalc*hp.button28.translations: #override,:digit(2)unset() +XCalc*hp.button29.label: 3 +XCalc*hp.button29.translations: #override,:digit(3)unset() +XCalc*hp.button30.label: - +XCalc*hp.button30.translations: #override,:subtract()unset() + +XCalc*hp.button31.label: ON +XCalc*hp.button31.translations: #override,:off()unset()\n\ + ,:quit() +XCalc*hp.button32.label: DRG +XCalc*hp.button32.translations: #override,:degree()unset() +XCalc*hp.button33.label: INV +XCalc*hp.button33.translations: #override,:inverse()unset() +XCalc*hp.button34.label: STO +XCalc*hp.button34.translations: #override,:store()unset() +XCalc*hp.button35.label: RCL +XCalc*hp.button35.translations: #override,:recall()unset() +XCalc*hp.button36.label: 0 +XCalc*hp.button36.translations: #override,:digit(0)unset() +XCalc*hp.button37.label: . +XCalc*hp.button37.translations: #override,:decimal()unset() +XCalc*hp.button38.label: SUM +XCalc*hp.button38.translations: #override,:sum()unset() +XCalc*hp.button39.label: + +XCalc*hp.button39.translations: #override,:add()unset() + +XCalc*hp.button1.horizDistance: 4 +XCalc*hp.button1.vertDistance: 12 +XCalc*hp.button1.fromVert: bevel +XCalc*hp.button2.fromHoriz: button1 +XCalc*hp.button2.fromVert: bevel +XCalc*hp.button2.vertDistance: 12 +XCalc*hp.button3.fromHoriz: button2 +XCalc*hp.button3.fromVert: bevel +XCalc*hp.button3.vertDistance: 12 +XCalc*hp.button4.fromHoriz: button3 +XCalc*hp.button4.fromVert: bevel +XCalc*hp.button4.vertDistance: 12 +XCalc*hp.button5.fromHoriz: button4 +XCalc*hp.button5.fromVert: bevel +XCalc*hp.button5.vertDistance: 12 +XCalc*hp.button6.fromHoriz: button5 +XCalc*hp.button6.fromVert: bevel +XCalc*hp.button6.vertDistance: 12 +XCalc*hp.button7.fromHoriz: button6 +XCalc*hp.button7.fromVert: bevel +XCalc*hp.button7.vertDistance: 12 +XCalc*hp.button8.fromHoriz: button7 +XCalc*hp.button8.fromVert: bevel +XCalc*hp.button8.vertDistance: 12 +XCalc*hp.button9.fromHoriz: button8 +XCalc*hp.button9.fromVert: bevel +XCalc*hp.button9.vertDistance: 12 +XCalc*hp.button10.fromHoriz: button9 +XCalc*hp.button10.fromVert: bevel +XCalc*hp.button10.vertDistance: 12 + +XCalc*hp.button11.horizDistance: 4 +XCalc*hp.button11.fromVert: button1 +XCalc*hp.button12.fromHoriz: button11 +XCalc*hp.button12.fromVert: button2 +XCalc*hp.button13.fromHoriz: button12 +XCalc*hp.button13.fromVert: button3 +XCalc*hp.button14.fromHoriz: button13 +XCalc*hp.button14.fromVert: button4 +XCalc*hp.button15.fromHoriz: button14 +XCalc*hp.button15.fromVert: button5 +XCalc*hp.button16.fromHoriz: button15 +XCalc*hp.button16.fromVert: button6 +XCalc*hp.button17.fromHoriz: button16 +XCalc*hp.button17.fromVert: button7 +XCalc*hp.button18.fromHoriz: button17 +XCalc*hp.button18.fromVert: button8 +XCalc*hp.button19.fromHoriz: button18 +XCalc*hp.button19.fromVert: button9 +XCalc*hp.button20.fromHoriz: button19 +XCalc*hp.button20.fromVert: button10 + +XCalc*hp.button21.horizDistance: 4 +XCalc*hp.button21.fromVert: button11 +XCalc*hp.button22.fromHoriz: button21 +XCalc*hp.button22.fromVert: button12 +XCalc*hp.button23.fromHoriz: button22 +XCalc*hp.button23.fromVert: button13 +XCalc*hp.button24.fromHoriz: button23 +XCalc*hp.button24.fromVert: button14 +XCalc*hp.button25.fromHoriz: button24 +XCalc*hp.button25.fromVert: button15 +XCalc*hp.button26.fromHoriz: button25 +XCalc*hp.button26.fromVert: button16 +XCalc*hp.button26.font: 6x12 +XCalc*hp.button26.height: 56 +XCalc*hp.button27.fromHoriz: button26 +XCalc*hp.button27.fromVert: button17 +XCalc*hp.button28.fromHoriz: button27 +XCalc*hp.button28.fromVert: button18 +XCalc*hp.button29.fromHoriz: button28 +XCalc*hp.button29.fromVert: button19 +XCalc*hp.button30.fromHoriz: button29 +XCalc*hp.button30.fromVert: button20 + +XCalc*hp.button31.horizDistance: 4 +XCalc*hp.button31.fromVert: button21 +XCalc*hp.button32.fromHoriz: button31 +XCalc*hp.button32.fromVert: button22 +XCalc*hp.button33.fromHoriz: button32 +XCalc*hp.button33.fromVert: button23 +XCalc*hp.button34.fromHoriz: button33 +XCalc*hp.button34.fromVert: button24 +XCalc*hp.button35.fromHoriz: button34 +XCalc*hp.button35.fromVert: button25 +XCalc*hp.button36.fromHoriz: button26 +XCalc*hp.button36.fromVert: button27 +XCalc*hp.button37.fromHoriz: button36 +XCalc*hp.button37.fromVert: button28 +XCalc*hp.button38.fromHoriz: button37 +XCalc*hp.button38.fromVert: button29 +XCalc*hp.button39.fromHoriz: button38 +XCalc*hp.button39.fromVert: button30 diff --git a/X11/app-defaults/XCalc-color b/X11/app-defaults/XCalc-color new file mode 100644 index 0000000..6b26604 --- /dev/null +++ b/X11/app-defaults/XCalc-color @@ -0,0 +1,225 @@ +#include "XCalc" + +XCalc*ti.backgroundPixmap: gray3?foreground=gray70&background=gray85 +XCalc*.bevel.background: gray80 +XCalc*.bevel.displayList: foreground gray90;lines -1,0,0,0,0,-1;lines 3,-4,-4,-4,-4,3 + +XCalc*.bevel.borderColor: gray60 +XCalc*.bevel.borderWidth: 1 +XCalc*.bevel.vertDistance: 4 +XCalc*.bevel.defaultDistance: 4 +XCalc*.bevel.screen.vertDistance: 4 +XCalc*.bevel.screen.horizDistance: 4 +XCalc*.bevel.screen*left: chainLeft +XCalc*.bevel.screen*right: chainRight +XCalc*.bevel.screen*top: chainTop +XCalc*.bevel.screen*bottom: chainBottom +XCalc*.bevel.screen*background: rgb:9/a/9 +XCalc*.bevel.screen.borderColor: gray50 +XCalc*.bevel.screen*LCD.foreground: gray20 +XCalc*.bevel.screen*INV.vertDistance: 2 + +! T e x a s I n s t r u m e n t s T I - 3 0 + +XCalc*ti.Command.shapeStyle: roundedRectangle +XCalc*ti.Command.displayList: foreground rgb:a/b/c;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 + +XCalc*ti.Command.borderColor: rgb:8/9/a +XCalc*ti.Command.background: rgb:c/d/e +XCalc*ti.Command.foreground: gray5 + +XCalc*ti.button20.foreground: gray5 +XCalc*ti.button20.background: rgb:e/d/c +XCalc*ti.button20.displayList: foreground rgb:a/9/8;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +XCalc*ti.button20.borderColor: rgb:9/8/7 + +XCalc*ti.button25.foreground: gray5 +XCalc*ti.button25.background: rgb:e/d/c +XCalc*ti.button25.displayList: foreground rgb:a/9/8;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +XCalc*ti.button25.borderColor: rgb:9/8/7 + +XCalc*ti.button30.foreground: gray5 +XCalc*ti.button30.background: rgb:e/d/c +XCalc*ti.button30.displayList: foreground rgb:a/9/8;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +XCalc*ti.button30.borderColor: rgb:9/8/7 + +XCalc*ti.button35.foreground: gray5 +XCalc*ti.button35.background: rgb:e/d/c +XCalc*ti.button35.displayList: foreground rgb:a/9/8;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +XCalc*ti.button35.borderColor: rgb:9/8/7 + +XCalc*ti.button40.foreground: gray5 +XCalc*ti.button40.background: rgb:e/d/c +XCalc*ti.button40.displayList: foreground rgb:a/9/8;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +XCalc*ti.button40.borderColor: rgb:9/8/7 + + + +XCalc*ti.button22.background: gray95 +XCalc*ti.button22.displayList: foreground gray75;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +XCalc*ti.button22.borderColor: gray65 + +XCalc*ti.button23.background: gray95 +XCalc*ti.button23.displayList: foreground gray75;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +XCalc*ti.button23.borderColor: gray65 + +XCalc*ti.button24.background: gray95 +XCalc*ti.button24.displayList: foreground gray75;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +XCalc*ti.button24.borderColor: gray65 + +XCalc*ti.button27.background: gray95 +XCalc*ti.button27.displayList: foreground gray75;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +XCalc*ti.button27.borderColor: gray65 + +XCalc*ti.button28.background: gray95 +XCalc*ti.button28.displayList: foreground gray75;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +XCalc*ti.button28.borderColor: gray65 + +XCalc*ti.button29.background: gray95 +XCalc*ti.button29.displayList: foreground gray75;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +XCalc*ti.button29.borderColor: gray65 + +XCalc*ti.button32.background: gray95 +XCalc*ti.button32.displayList: foreground gray75;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +XCalc*ti.button32.borderColor: gray65 + +XCalc*ti.button33.background: gray95 +XCalc*ti.button33.displayList: foreground gray75;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +XCalc*ti.button33.borderColor: gray65 + +XCalc*ti.button34.background: gray95 +XCalc*ti.button34.displayList: foreground gray75;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +XCalc*ti.button34.borderColor: gray65 + +XCalc*ti.button37.background: gray95 +XCalc*ti.button37.displayList: foreground gray75;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +XCalc*ti.button37.borderColor: gray65 + +XCalc*ti.button38.background: gray95 +XCalc*ti.button38.displayList: foreground gray75;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +XCalc*ti.button38.borderColor: gray65 + +XCalc*ti.button39.background: gray95 +XCalc*ti.button39.displayList: foreground gray75;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +XCalc*ti.button39.borderColor: gray65 + +! H e w l e t t - P a c k a r d 1 0 C + +XCalc*hp.Command.shapeStyle: roundedRectangle +XCalc*hp.background: wheat + +XCalc*hp.Command.background: peru +XCalc*hp.Command.foreground: white + +! Unused buttons. (Make invisible.) +XCalc*hp.button21.background: wheat +XCalc*hp.button22.background: wheat + +! ON button +XCalc*hp.button31.background: goldenrod +XCalc*hp.button31.displayList: foreground rgb:b/b/b;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +!XCalc*hp.button31.foreground: white + +! SQRT +XCalc*hp.button1.displayList: foreground rgb:b/b/b;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +! e^x +XCalc*hp.button2.displayList: foreground rgb:b/b/b;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +! 10^x +XCalc*hp.button3.displayList: foreground rgb:b/b/b;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +! y^x +XCalc*hp.button4.displayList: foreground rgb:b/b/b;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +! 1/c +XCalc*hp.button5.displayList: foreground rgb:b/b/b;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +! CHS +XCalc*hp.button6.displayList: foreground rgb:b/b/b;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +! x! +XCalc*hp.button11.displayList: foreground rgb:b/b/b;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +! pi +XCalc*hp.button12.displayList: foreground rgb:b/b/b;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +! sin +XCalc*hp.button13.displayList: foreground rgb:b/b/b;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +! cos +XCalc*hp.button14.displayList: foreground rgb:b/b/b;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +! tan +XCalc*hp.button15.displayList: foreground rgb:b/b/b;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +! EEX +XCalc*hp.button16.displayList: foreground rgb:b/b/b;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +! Rv +XCalc*hp.button23.displayList: foreground rgb:b/b/b;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +! x:y +XCalc*hp.button24.displayList: foreground rgb:b/b/b;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +! <- +XCalc*hp.button25.displayList: foreground rgb:b/b/b;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +! ENTER +XCalc*hp.button26.displayList: foreground rgb:b/b/b;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +! DRG +XCalc*hp.button32.displayList: foreground rgb:b/b/b;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +! INV +XCalc*hp.button33.displayList: foreground rgb:b/b/b;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +! STO +XCalc*hp.button34.displayList: foreground rgb:b/b/b;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +!RCL +XCalc*hp.button35.displayList: foreground rgb:b/b/b;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 + +! "Operator" keys. +! Divide key +XCalc*hp.button10.background: SteelBlue +XCalc*hp.button10.displayList: foreground rgb:b/b/b;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +! Multiply key +XCalc*hp.button20.background: SteelBlue +XCalc*hp.button20.displayList: foreground rgb:b/b/b;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +! Minus key +XCalc*hp.button30.background: SteelBlue +XCalc*hp.button30.displayList: foreground rgb:b/b/b;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +! SUM +XCalc*hp.button38.background: SteelBlue +XCalc*hp.button38.displayList: foreground rgb:b/b/b;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +! Plus key +XCalc*hp.button39.background: SteelBlue +XCalc*hp.button39.displayList: foreground rgb:b/b/b;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 + +! "Number" keys. +! "7" +XCalc*hp.button7.background: white +XCalc*hp.button7.foreground: black +XCalc*hp.button7.displayList: foreground rgb:b/b/b;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +! "8" +XCalc*hp.button8.background: white +XCalc*hp.button8.foreground: black +XCalc*hp.button8.displayList: foreground rgb:b/b/b;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +! "9" +XCalc*hp.button9.background: white +XCalc*hp.button9.foreground: black +XCalc*hp.button9.displayList: foreground rgb:b/b/b;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +! "4" +XCalc*hp.button17.background: white +XCalc*hp.button17.foreground: black +XCalc*hp.button17.displayList: foreground rgb:b/b/b;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +! "5" +XCalc*hp.button18.background: white +XCalc*hp.button18.foreground: black +XCalc*hp.button18.displayList: foreground rgb:b/b/b;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +! "6" +XCalc*hp.button19.background: white +XCalc*hp.button19.foreground: black +XCalc*hp.button19.displayList: foreground rgb:b/b/b;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +! "1" +XCalc*hp.button27.background: white +XCalc*hp.button27.foreground: black +XCalc*hp.button27.displayList: foreground rgb:b/b/b;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +! "2" +XCalc*hp.button28.background: white +XCalc*hp.button28.foreground: black +XCalc*hp.button28.displayList: foreground rgb:b/b/b;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +! "3" +XCalc*hp.button29.background: white +XCalc*hp.button29.foreground: black +XCalc*hp.button29.displayList: foreground rgb:b/b/b;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +! "0" +XCalc*hp.button36.background: white +XCalc*hp.button36.foreground: black +XCalc*hp.button36.displayList: foreground rgb:b/b/b;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 +! "." +XCalc*hp.button37.background: white +XCalc*hp.button37.foreground: black +XCalc*hp.button37.displayList: foreground rgb:b/b/b;segments 8,-4,-9,-4,-4,-9,-4,8;draw-arc -14,-14,-4,-4,270,90 diff --git a/X11/app-defaults/XClipboard b/X11/app-defaults/XClipboard new file mode 100644 index 0000000..91baacd --- /dev/null +++ b/X11/app-defaults/XClipboard @@ -0,0 +1,125 @@ +*Command*Font: -*-helvetica-bold-r-normal--*-120-*-*-*-*-iso8859-1 +*Label*Font: -*-helvetica-bold-r-normal--*-120-*-*-*-*-iso8859-1 +*Text*Font: -*-courier-medium-r-normal--*-120-*-*-*-*-iso8859-1 + +*quit.label: Quit +*quit.top: ChainTop +*quit.bottom: ChainTop +*quit.left: ChainLeft +*quit.right: ChainLeft +*quit.translations: #override \n\ + ,:Quit() unset() + +*delete.label: Delete +*delete.fromHoriz: quit +*delete.top: ChainTop +*delete.bottom: ChainTop +*delete.left: ChainLeft +*delete.right: ChainLeft +*delete.translations: #override \n\ + ,:DeleteClip() unset() + +*new.label: New +*new.fromHoriz: delete +*new.top: ChainTop +*new.bottom: ChainTop +*new.left: ChainLeft +*new.right: ChainLeft +*new.translations: #override \n\ + ,:NewClip() unset() + +*save.label: Save +*save.fromHoriz: new +*save.top: ChainTop +*save.bottom: ChainTop +*save.left: ChainLeft +*save.right: ChainLeft +*save.translations: #override \n\ + ,:Save() unset() + +*next.label: Next +*next.fromHoriz: save +*next.top: ChainTop +*next.bottom: ChainTop +*next.left: ChainLeft +*next.right: ChainLeft +*next.translations: #override \n\ + ,:NextClip() unset() + +*prev.label: Prev +*prev.fromHoriz: next +*prev.top: ChainTop +*prev.bottom: ChainTop +*prev.left: ChainLeft +*prev.right: ChainLeft +*prev.translations: #override \n\ + ,:PrevClip() unset() + +*index.fromHoriz: prev +*index.top: ChainTop +*index.bottom: ChainTop +*index.left: ChainLeft +*index.right: ChainLeft +*index.resizable: true + +*text.scrollVertical: WhenNeeded +*text.scrollHorizontal: WhenNeeded +*text.autoFill: on + +*text.fromVert: quit +*text.top: ChainTop +*text.bottom: ChainBottom +*text.left: ChainLeft +*text.right: ChainRight +*text.resizable: true +*text.width: 300 + +XClipboard.geometry: 300x200 +*ShapeStyle: oval +XClipboard.baseTranslations: #augment\n\ + WM_PROTOCOLS: WMProtocols()\n +*TransientShell.baseTranslations: #augment\n\ + WM_PROTOCOLS: WMProtocols()\n + +*fileDialog.label: Save to file: +*fileDialogShell.allowShellResize: true +*fileDialogShell.title: File Save + +*fileDialog*accept.label: Accept +*fileDialog*accept.translations: #override\ + : AcceptSave() unset() +*fileDialog*value.translations: #override\ + Return: AcceptSave() \n\ + CtrlS: no-op(ring-bell) \n\ + CtrlR: no-op(ring-bell) \n\ + CtrlM: no-op(ring-bell) \n\ + CtrlJ: no-op(ring-bell) \n\ + MetaI: no-op(ring-bell) +*fileDialog*value.baseTranslations: #override\ + Return: AcceptSave() \n\ + CtrlS: no-op(ring-bell) \n\ + CtrlR: no-op(ring-bell) \n\ + CtrlM: no-op(ring-bell) \n\ + CtrlJ: no-op(ring-bell) \n\ + MetaI: no-op(ring-bell) + +*fileDialog*cancel.label: Cancel +*fileDialog*cancel.translations: #override\ + :CancelSave() unset() + +*failDialog*Label.resizable: true +*failDialog.label: Can't write file +*failDialogShell.title: Error +*failDialogShell.allowShellResize: true + +*failDialog*continue.label: Continue +*failDialog*continue.translations: #override\ + :FailContinue() unset() + +*failDialog*value.translations: #override\ + Return: FailContinue() \n\ + CtrlS: no-op(ring-bell) \n\ + CtrlR: no-op(ring-bell) \n\ + CtrlM: no-op(ring-bell) \n\ + CtrlJ: no-op(ring-bell) \n\ + MetaI: no-op(ring-bell) diff --git a/X11/app-defaults/XClock b/X11/app-defaults/XClock new file mode 100644 index 0000000..971ae2d --- /dev/null +++ b/X11/app-defaults/XClock @@ -0,0 +1 @@ +XClock.input: false diff --git a/X11/app-defaults/XClock-color b/X11/app-defaults/XClock-color new file mode 100644 index 0000000..ec857f6 --- /dev/null +++ b/X11/app-defaults/XClock-color @@ -0,0 +1,10 @@ +! $XFree86$ + +#include "XClock" + +XClock.Clock.hourColor: rgba:7f/00/00/c0 +XClock.Clock.minuteColor: rgba:00/7f/7f/c0 +XClock.Clock.secondColor: rgba:00/00/ff/80 +XClock.Clock.majorColor: rgba:7f/00/00/c0 +XClock.Clock.minorColor: rgba:00/7f/7f/c0 + diff --git a/X11/app-defaults/XConsole b/X11/app-defaults/XConsole new file mode 100644 index 0000000..c3407d4 --- /dev/null +++ b/X11/app-defaults/XConsole @@ -0,0 +1,28 @@ +! $Xorg: XConsole.ad,v 1.3 2000/08/17 19:54:13 cpqbld Exp $ +! +! +! +! +! $XFree86: xc/programs/xconsole/XConsole.ad,v 1.2 2000/03/31 22:55:55 dawes Exp $ + +*allowShellResize: true +XConsole.translations: #override\ + : Deiconified() \n\ + : Iconified() \n\ + WM_PROTOCOLS: Quit() +XConsole.baseTranslations: #override\ + : Deiconified() \n\ + : Iconified() \n\ + WM_PROTOCOLS: Quit() +*text.translations: #override\ + CtrlC: Clear() \n\ + Clear: Clear() +*text.baseTranslations: #override\ + CtrlC: Clear() \n\ + Clear: Clear() +*text.scrollVertical: Always +*text.scrollHorizontal: Never +*text.width: 400 +*text.height: 70 +*text.allowResize: true +*editType: read diff --git a/X11/app-defaults/XFontSel b/X11/app-defaults/XFontSel new file mode 100644 index 0000000..73c4854 --- /dev/null +++ b/X11/app-defaults/XFontSel @@ -0,0 +1,148 @@ +! $XConsortium: XFontSel.ad,v 1.12 94/04/17 20:43:40 gildea Exp $ +! +! app-defaults for XFontSel +! +! Copyright (c) 1985, 1986, 1987, 1988, 1989 X Consortium +! +! 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 X CONSORTIUM 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 X Consortium 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 X Consortium. +! +! Author: +! Ralph R. Swick, Digital Equipment Corporation/M.I.T. Project Athena +! one weekend in November, 1989 +! +! $XFree86: xc/programs/xfontsel/XFontSel.ad,v 1.1 2000/02/13 03:26:24 dawes Exp $ + +*appDefaultsVersion: 1 + +*pixelSizeList: 7, 30, 40, 50, 60 +*pointSizeList: 250, 300, 350, 400 + +XFontSel.cursor: left_ptr +*allowShellResize: true + +*commandBox.ShowGrip: false +*commandBox*top: chainTop +*commandBox*bottom: chainTop + +*quitButton.Label: quit +*quitButton.left: chainLeft +*quitButton.right: chainLeft + +*ownButton.Label: select +*ownButton.fromHoriz: quitButton +*ownButton.left: chainLeft +*ownButton.right: chainLeft + +*countLabel.BorderWidth: 0 +*countLabel.Justify: right +*countLabel.Label: 999999 fonts match +*countLabel.left: chainRight +*countLabel.right: chainRight + +*fieldBox.Orientation: horizontal +*fieldBox.HSpace: 0 +*fieldBox.HSpace: 0 + +*dash.label: - +*dash.borderWidth: 0 +*dash.internalHeight: 0 +*dash.internalWidth: 0 + +*fieldBox*MenuButton.BorderWidth: 0 +*fieldBox*MenuButton.internalHeight: 0 +*fieldBox*MenuButton.internalWidth: 0 +*fieldBox*MenuButton.shapeStyle: rectangle + +#ifdef LONG_NAMES +*fieldBox*field0.Label: foundry +*fieldBox*field1.Label: family +*fieldBox*field2.Label: weight +*fieldBox*field3.Label: slant +*fieldBox*field4.Label: set width +*fieldBox*field5.Label: add style +*fieldBox*field6.Label: pixel size +*fieldBox*field7.Label: point size +*fieldBox*field8.Label: resolutionX +*fieldBox*field9.Label: resolutionY +*fieldBox*field10.Label: spacing +*fieldBox*field11.Label: avg width +*fieldBox*field12.Label: registry +*fieldBox*field13.Label: encoding +#else +*fieldBox*field0.Label: fndry +*fieldBox*field1.Label: fmly +*fieldBox*field2.Label: wght +*fieldBox*field3.Label: slant +*fieldBox*field4.Label: sWdth +*fieldBox*field5.Label: adstyl +*fieldBox*field6.Label: pxlsz +*fieldBox*field7.Label: ptSz +*fieldBox*field8.Label: resx +*fieldBox*field9.Label: resy +*fieldBox*field10.Label: spc +*fieldBox*field11.Label: avgWdth +*fieldBox*field12.Label: rgstry +*fieldBox*field13.Label: encdng +#endif + +!*fieldBox*field11.Sensitive: False +*fieldBox*field11.menu.Options.ShowUnselectable: False + + +!*field1*menu*courier.Font: + +*fontName*skipAdjust: true + +*sampleText*international: false + +*sampleText*Label: \ +Processing fonts... + +*sampleText: \ +ABCDEFGHIJKLMNOPQRSTUVWXYZ\n\ +abcdefghijklmnopqrstuvwxyz\n\ +0123456789\n\ +\340\346\347\353\356\360\361\363\371\375\ +\300\306\307\313\316\320\321\323\331\335 + + +*sampleText16: \ +\044\042\044\044\044\046\044\050\044\052\044\053\044\055\044\057\ +\044\061\044\063\044\065\044\067\044\071\044\073\044\075\044\077\n\ +\044\101\044\104\044\106\044\110\044\112\044\113\044\114\044\115\ +\044\116\044\117\044\122\044\125\044\130\044\133\044\136\044\137\n\ +\061\042\061\044\061\046\061\050\061\052\061\053\061\055\061\057\ +\061\061\061\063\061\065\061\067\061\071\061\073\061\075\061\077\n\ +\061\101\061\104\061\106\061\110\061\112\061\113\061\114\061\115\ +\061\116\061\117\061\122\061\125\061\130\061\133\061\136\061\137\n\ + +*sampleTextUCS: \ +ABCDEFGHIJKLMNOPQRSTUVWXYZ /0123456789\n\ +abcdefghijklmnopqrstuvwxyz £©µÀÆÖÞßéöÿ\n\ +–—‘“”„†•…‰™œŠŸž€ ΑΒΓΔΩαβγδω АБВГДабвгд\n\ +∀∂∈ℝ∧∪≡∞ ↑↗↨↻⇣ ┐┼╔╘░►☺♀ fi�⑀₂ἠḂӥẄɐː⍎אԱა + +*sampleText*allowResize: true +*sampleText*Height: 50 diff --git a/X11/app-defaults/XLoad b/X11/app-defaults/XLoad new file mode 100644 index 0000000..3d4c978 --- /dev/null +++ b/X11/app-defaults/XLoad @@ -0,0 +1,6 @@ +XLoad.input: false +*Label*Justify: left +*JumpScroll: 1 +*internalBorderWidth: 0 +*showGrip: FALSE + diff --git a/X11/app-defaults/XLogo b/X11/app-defaults/XLogo new file mode 100644 index 0000000..a70ff3c --- /dev/null +++ b/X11/app-defaults/XLogo @@ -0,0 +1,4 @@ +XLogo*iconPixmap: xlogo32 +XLogo*iconMask: xlogo32 +XLogo*baseTranslations: #override \ +q,Escape: quit() diff --git a/X11/app-defaults/XLogo-color b/X11/app-defaults/XLogo-color new file mode 100644 index 0000000..add98cc --- /dev/null +++ b/X11/app-defaults/XLogo-color @@ -0,0 +1,5 @@ +! $Xorg: XLogo-co.ad,v 1.3 2000/08/17 19:54:52 cpqbld Exp $ +#include "XLogo" +! MIT colors are Cardinal Red (Pantone 201c) and Silver Grey (Pantone 421c) +XLogo*background: rgb:d2/22/32 +XLogo*foreground: rgb:d7/d7/d7 diff --git a/X11/app-defaults/XMore b/X11/app-defaults/XMore new file mode 100644 index 0000000..9227efa --- /dev/null +++ b/X11/app-defaults/XMore @@ -0,0 +1,33 @@ +! XMore.ad + +! keyboard translations +*text.Translations: #override\n\ + CtrlS: no-op(RingBell)\n\ + CtrlR: no-op(RingBell)\n\ + space: next-page()\n\ + F: next-page()\n\ + CtrlB: previous-page()\n\ + B: previous-page()\n\ + K: scroll-one-line-down()\n\ + Y: scroll-one-line-down()\n\ + Return: scroll-one-line-up()\n\ + J: scroll-one-line-up()\n\ + E: scroll-one-line-up()\n\ + q: quit()\n +*text.baseTranslations: #override\n\ + space: next-page()\n\ + F: next-page()\n\ + CtrlB: previous-page()\n\ + K: scroll-one-line-down()\n\ + Y: scroll-one-line-down()\n\ + Return: scroll-one-line-up()\n\ + J: scroll-one-line-up()\n\ + E: scroll-one-line-up()\n\ + q: quit()\n + +! tip messages +*quit.tip: Quit application + +*international: True + +! EOF. diff --git a/X11/app-defaults/XSm b/X11/app-defaults/XSm new file mode 100644 index 0000000..5129722 --- /dev/null +++ b/X11/app-defaults/XSm @@ -0,0 +1,119 @@ +! $Xorg: XSm.ad,v 1.3 2000/08/17 19:55:04 cpqbld Exp $ +*chooseSessionPopup*font: 12x24 +*chooseSessionLabel.label: Session Menu +*chooseSessionMessageLabel.label: Press button again to confirm, or hit Cancel... +*chooseSessionLoadButton.label: Load Session +*chooseSessionDeleteButton.label: Delete Session +*chooseSessionFailSafeButton.label: Default/Fail Safe +*chooseSessionCancelButton.label: Cancel +*chooseSessionBreakLockButton.label: Break Lock +*chooseSessionLoadButton.background: light steel blue +*chooseSessionDeleteButton.background: light steel blue +*chooseSessionBreakLockButton.background: light steel blue + +*chooseSessionFailSafeButton.background:light steel blue +*chooseSessionCancelButton.background: light steel blue + +*clientInfoButton.label: Client List +*logButton.label: Session Log +*checkPointButton.label: Checkpoint +*shutdownButton.label: Shutdown +*shutdownSave.label: With Checkpoint +*shutdownDontSave.label: Immediately + +*logPopup.title: Session Log +*logPopup.iconName: Session Log +*logOkButton.label: OK +*logText.width: 600 +*logText.height: 300 + +*clientInfoPopup.title: Client List +*clientInfoPopup.iconName: Client List +*noClientsLabel.label: There are no clients in the session +*viewPropButton.label: View Properties +*cloneButton.label: Clone +*killClientButton.label: Kill +*restartHintButton.label: Restart Hint +*restartIfRunning.label: If Running +*restartAnyway.label: Anyway +*restartImmediately.label: Immediately +*restartNever.label: Never + +*clientInfoDoneButton.label: Done +*manualRestartLabel.label: Restart the following non-session-aware clients... + +*clientPropTextWidget.width: 500 +*clientPropTextWidget.height: 300 +*clientPropDoneButton.label: Done + +*saveMessageLabel.label: Session name + +*saveTypeLabel.label: Save Type +*saveTypeNone.label: None +*saveTypeLocal.label: Local +*saveTypeGlobal.label: Global +*saveTypeBoth.label: Both + +*interactStyleLabel.label: Interact Style +*interactStyleNone.label: None +*interactStyleErrors.label: Errors +*interactStyleAny.label: Any + +*saveCancelButton.label: Cancel + +*helpSaveButton.label: Help +*helpSaveOkButton.label: OK + +*helpSaveText.label:\n\ +Save types\n\ +----------\n\ +Local - Applications should save enough information to\n\ + restore the state as seen by the user.\n\ + The save should not affect data seen by other users.\n\ +\n\ +Global - Applications should commit all of their data to\n\ + permanent, globally accessible storage.\n\ +\n\ +Both - Applications should commit their data to global\n\ + storage and also save state local to the user.\n\ +\n\n\ +Interaction styles\n\ +------------------\n\ +None - Don't allow user interaction\n\ +Errors - Allow user interaction only if an error occurs\n\ +Any - Allow user interaction for any reason\n\ +\n + +*nameInUsePopup.title: Warning +*nameInUseOverwriteButton.label: Overwrite + +*badSavePopup.title: Save Failure +*badSaveLabel.label: The following applications did not report\n\ +a successful save of their state: +*badSaveOkButton.label: OK +*badSaveCancelButton.label: Cancel Shutdown + +*chooseSessionListWidget.Translations: #override\n\ + Up: ChooseSessionUp()\n\ + KP_Up: ChooseSessionUp()\n\ + CtrlP: ChooseSessionUp()\n\ + Down: ChooseSessionDown()\n\ + KP_Down: ChooseSessionDown()\n\ + CtrlN: ChooseSessionDown()\n\ + : Set() ChooseSessionBtn1Down()\n + +*chooseSessionLoadButton.Accelerators: #override\n\ + (2+): set() notify() unset()\n\ + Return: set() notify() unset()\n\ + KP_Enter: set() notify() unset()\n + +*checkPointButton.Translations: #override\n\ + : notify() reset()\n +*shutdownButton.Translations: #override\n\ + : notify() reset()\n + +*saveOkButton.Accelerators: #override\n\ + Return: set() notify() unset()\n + +*badSaveOkButton.Accelerators: #override\n\ + Return: set() notify() unset()\n diff --git a/X11/app-defaults/XTerm b/X11/app-defaults/XTerm new file mode 100644 index 0000000..990ffac --- /dev/null +++ b/X11/app-defaults/XTerm @@ -0,0 +1,260 @@ +! $XTermId: XTerm.ad,v 1.97 2011/07/11 10:52:16 tom Exp $ +! ----------------------------------------------------------------------------- +! this file is part of xterm +! +! Copyright 1996-2010,2011 by Thomas E. Dickey +! +! All Rights Reserved +! +! Permission is hereby granted, free of charge, to any person obtaining a +! copy of this software and associated documentation files (the +! "Software"), to deal in the Software without restriction, including +! without limitation the rights to use, copy, modify, merge, publish, +! distribute, 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 ABOVE LISTED COPYRIGHT HOLDER(S) 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(s) of the above copyright +! holders shall not be used in advertising or otherwise to promote the +! sale, use or other dealings in this Software without prior written +! authorization. +! ----------------------------------------------------------------------------- + +*saveLines: 1024 + +*SimpleMenu*BackingStore: NotUseful +*SimpleMenu*menuLabel.font: -adobe-helvetica-bold-r-normal--*-120-*-*-*-*-iso8859-* +*SimpleMenu*menuLabel.vertSpace: 100 +*SimpleMenu*HorizontalMargins: 16 +*SimpleMenu*Sme.height: 16 + +*SimpleMenu*Cursor: left_ptr + +*mainMenu.Label: Main Options +*mainMenu*toolbar*Label: Toolbar +*mainMenu*fullscreen*Label: Full Screen +*mainMenu*securekbd*Label: Secure Keyboard +*mainMenu*allowsends*Label: Allow SendEvents +*mainMenu*redraw*Label: Redraw Window +*mainMenu*logging*Label: Log to File +*mainMenu*print-immediate*Label: Print-All Immediately +*mainMenu*print-on-error*Label: Print-All on Error +*mainMenu*print*Label: Print Window +*mainMenu*print-redir*Label: Redirect to Printer +*mainMenu*8-bit control*Label: 8-Bit Controls +*mainMenu*backarrow key*Label: Backarrow Key (BS/DEL) +*mainMenu*num-lock*Label: Alt/NumLock Modifiers +*mainMenu*alt-esc*Label: Alt Sends Escape +*mainMenu*meta-esc*Label: Meta Sends Escape +*mainMenu*delete-is-del*Label: Delete is DEL +*mainMenu*oldFunctionKeys*Label: Old Function-Keys +*mainMenu*sunFunctionKeys*Label: Sun Function-Keys +*mainMenu*sunKeyboard*Label: VT220 Keyboard +*mainMenu*hpFunctionKeys*Label: HP Function-Keys +*mainMenu*scoFunctionKeys*Label: SCO Function-Keys +*mainMenu*tcapFunctionKeys*Label: Termcap Function-Keys +*mainMenu*suspend*Label: Send STOP Signal +*mainMenu*continue*Label: Send CONT Signal +*mainMenu*interrupt*Label: Send INT Signal +*mainMenu*hangup*Label: Send HUP Signal +*mainMenu*terminate*Label: Send TERM Signal +*mainMenu*kill*Label: Send KILL Signal +*mainMenu*quit*Label: Quit + +*vtMenu.Label: VT Options +*vtMenu*scrollbar*Label: Enable Scrollbar +*vtMenu*jumpscroll*Label: Enable Jump Scroll +*vtMenu*reversevideo*Label: Enable Reverse Video +*vtMenu*autowrap*Label: Enable Auto Wraparound +*vtMenu*reversewrap*Label: Enable Reverse Wraparound +*vtMenu*autolinefeed*Label: Enable Auto Linefeed +*vtMenu*appcursor*Label: Enable Application Cursor Keys +*vtMenu*appkeypad*Label: Enable Application Keypad +*vtMenu*scrollkey*Label: Scroll to Bottom on Key Press +*vtMenu*scrollttyoutput*Label: Scroll to Bottom on Tty Output +*vtMenu*allow132*Label: Allow 80/132 Column Switching +*vtMenu*keepSelection*Label: Keep Selection +*vtMenu*selectToClipboard*Label: Select to Clipboard +*vtMenu*cursesemul*Label: Enable Curses Emulation +*vtMenu*visualbell*Label: Enable Visual Bell +*vtMenu*bellIsUrgent*Label: Enable Bell Urgency +*vtMenu*poponbell*Label: Enable Pop on Bell +*vtMenu*cursorblink*Label: Enable Blinking Cursor +*vtMenu*titeInhibit*Label: Enable Alternate Screen Switching +*vtMenu*activeicon*Label: Enable Active Icon +*vtMenu*softreset*Label: Do Soft Reset +*vtMenu*hardreset*Label: Do Full Reset +*vtMenu*clearsavedlines*Label: Reset and Clear Saved Lines +*vtMenu*tekshow*Label: Show Tek Window +*vtMenu*tekmode*Label: Switch to Tek Mode +*vtMenu*vthide*Label: Hide VT Window +*vtMenu*altscreen*Label: Show Alternate Screen + +*fontMenu.Label: VT Fonts +*fontMenu*fontdefault*Label: Default +*fontMenu*font1*Label: Unreadable +*VT100.font1: nil2 +*IconFont: nil2 +*fontMenu*font2*Label: Tiny +*VT100.font2: 5x7 +*fontMenu*font3*Label: Small +*VT100.font3: 6x10 +*fontMenu*font4*Label: Medium +*VT100.font4: 7x13 +*fontMenu*font5*Label: Large +*VT100.font5: 9x15 +*fontMenu*font6*Label: Huge +*VT100.font6: 10x20 +*fontMenu*fontescape*Label: Escape Sequence +*fontMenu*fontsel*Label: Selection +!fontescape and fontsel overridden by application +*fontMenu*allow-bold-fonts*Label: Bold Fonts +*fontMenu*font-linedrawing*Label: Line-Drawing Characters +*fontMenu*font-doublesize*Label: Doublesized Characters +*fontMenu*font-loadable*Label: VT220 Soft Fonts +*fontMenu*font-packed*Label: Packed Font +*fontMenu*render-font*Label: TrueType Fonts +*fontMenu*utf8-mode*Label: UTF-8 Encoding +*fontMenu*utf8-fonts*Label: UTF-8 Fonts +*fontMenu*utf8-title*Label: UTF-8 Titles + +*fontMenu*allow-color-ops*Label: Allow Color Ops +*fontMenu*allow-font-ops*Label: Allow Font Ops +*fontMenu*allow-tcap-ops*Label: Allow Termcap Ops +*fontMenu*allow-title-ops*Label: Allow Title Ops +*fontMenu*allow-window-ops*Label: Allow Window Ops + +*VT100.utf8Fonts.font2: -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso10646-1 +*VT100.utf8Fonts.font: -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1 +*VT100.utf8Fonts.font3: -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso10646-1 +*VT100.utf8Fonts.font4: -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso10646-1 +*VT100.utf8Fonts.font5: -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso10646-1 +*VT100.utf8Fonts.font6: -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1 + +*tekMenu.Label: Tek Options +*tekMenu*tektextlarge*Label: Large Characters +*tekMenu*tektext2*Label: #2 Size Characters +*tekMenu*tektext3*Label: #3 Size Characters +*tekMenu*tektextsmall*Label: Small Characters +*tekMenu*tekpage*Label: PAGE +*tekMenu*tekreset*Label: RESET +*tekMenu*tekcopy*Label: COPY +*tekMenu*vtshow*Label: Show VT Window +*tekMenu*vtmode*Label: Switch to VT Mode +*tekMenu*tekhide*Label: Hide Tek Window + +*tek4014*fontLarge: 9x15 +*tek4014*font2: 8x13 +*tek4014*font3: 6x13 +*tek4014*fontSmall: 6x10 + +! Debian package customizations follow. +*backarrowKeyIsErase: true +*ptyInitialErase: true + +! If xterm is built with a toolbar, the widget hierarchy looks like this, +! showing widget name / class names. The complete menu hierarchy is built +! at startup because it is needed to make the layout work for the menubar: +! +! xterm/XTerm +! form/Form +! menubar/Box +! mainMenuButton/MenuButton +! mainMenu/SimpleMenu +! menuLabel/SmeBSB +! toolbar/SmeBSB +! ... +! vtMenu/SimpleMenu +! menuLabel/SmeBSB +! scrollbar/SmeBSB +! ... +! fontMenu/SimpleMenu +! menuLabel/SmeBSB +! fontdefault/SmeBSB +! ... +! tekMenu/SimpleMenu +! menuLabel/SmeBSB +! fontdefault/SmeBSB +! ... +! vt100/VT100 +! tektronix/TopLevelShell +! shellext/VendorShellExt +! tek4014/Tek4014 +! +! If built without a toolbar, the widget hierarchy is simpler, because there +! is no form, and the popup menu widgets are created only when they are first +! used. +! +! xterm/XTerm +! shellext/VendorShellExt +! mainMenu/SimpleMenu +! menuLabel/SmeBSB +! ... +! ... +! vt100/VT100 +! tektronix/TopLevelShell +! shellext/VendorShellExt +! tek4014/Tek4014 +! +! A more complete list of the widget/class names can be obtained using editres +! to dump a file. Some widget names are not available until the corresponding +! menu has been created. + +! These resources reduce space around the menubar, by eliminating padding in +! the enclosing form (Thickness) and the border of the Box which represents +! the menubar widget. +*form.Thickness: 0 +*menubar.borderWidth: 0 + +! If we wanted to eliminate the border of the popup menus, we could do this +! instead, since they are children of the menubar: +!*menubar*borderWidth: 0 + +! Eliminate the border of the buttons in the menubar, so the only line around +! the text is for the highlighted button: +*MenuButton*borderWidth: 0 + +! Set a border for the menus to make them simpler to distinguish against the +! vt100 widget: +*SimpleMenu*borderWidth: 2 + +! xterm can switch at runtime between bitmap (default) and TrueType fonts. +! The "faceSize" resource controls the size of the latter. However, it was +! originally given with a size that makes the two types of fonts different +! sizes. Uncomment this line to use the same size as "fixed". +!*faceSize: 8 + +! Here is a pattern that is useful for double-clicking on a URL: +*charClass: 33:48,35:48,37-38:48,43-47:48,58:48,61:48,63-64:48,95:48,126:48 +! +! Alternatively, +!*on2Clicks: regex [[:alpha:]]+://([[:alnum:]!#+,./=?@_~-]|(%[[:xdigit:]][[:xdigit:]]))+ + +! VT100s and similar terminals recognize escape sequences and control +! characters to which they reply to the host with other escape sequences, +! to provide information. The "resize" program uses this feature. +! +! In addition, xterm recognizes several escape sequences which can be used to +! set fonts, window properties, return settings via escape sequences. Some +! find these useful; others are concerned with the possibility of unexpected +! inputs. +! +! All of these features can be enabled or disabled via menus. +! +! Depending on your environment, you may wish to disable those by default by +! uncommenting one or more of the resource settings below: +!*allowFontOps: false +!*allowTcapOps: false +!*allowTitleOps: false +!*allowWindowOps: false diff --git a/X11/app-defaults/XTerm-color b/X11/app-defaults/XTerm-color new file mode 100644 index 0000000..c46483e --- /dev/null +++ b/X11/app-defaults/XTerm-color @@ -0,0 +1,175 @@ +! $XTermId: XTerm-col.ad,v 1.22 2009/08/15 15:56:29 tom Exp $ +! ----------------------------------------------------------------------------- +! this file is part of xterm +! +! Copyright 2002-2006,2009 by Thomas E. Dickey +! +! All Rights Reserved +! +! Permission is hereby granted, free of charge, to any person obtaining a +! copy of this software and associated documentation files (the +! "Software"), to deal in the Software without restriction, including +! without limitation the rights to use, copy, modify, merge, publish, +! distribute, 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 ABOVE LISTED COPYRIGHT HOLDER(S) 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(s) of the above copyright +! holders shall not be used in advertising or otherwise to promote the +! sale, use or other dealings in this Software without prior written +! authorization. +! ----------------------------------------------------------------------------- + +#include "XTerm" + +*VT100*colorMode: on +*VT100*boldColors: on +*VT100*dynamicColors: on + +! Set the default text foreground and background colors. +*VT100*foreground: gray90 +*VT100*background: black + +! - OR - +! Uncomment this for black text on a "white" background. +!*VT100*foreground: black +!*VT100*background: gray90 + +! - OR - +! leave the foreground/background colors alone (at the mercy of your desktop +! designer). + +! Color the popup/pulldown menu border to match the text widget foreground. +!*SimpleMenu*borderColor: gray15 + +! Uncomment this to use color for underline attribute +!*VT100*colorULMode: on +*VT100*colorUL: yellow + +!*VT100*italicULMode: on + +! Uncomment this to disable underlining, e.g., if colorULMode is set. +!*VT100*underLine: off + +! Uncomment this to use color for the bold attribute +!*VT100*colorBDMode: on +*VT100*colorBD: white + +! Uncomment this to use the bold/underline colors in preference to other colors +!*VT100*colorAttrMode: on + +! These are the 8 ANSI colors and their bright equivalents. Depending on +! other resource settings, xterm may use the bright colors when displaying +! bold text (see the boldColors resource). +*VT100*color0: black +*VT100*color1: red3 +*VT100*color2: green3 +*VT100*color3: yellow3 +*VT100*color4: blue2 +*VT100*color5: magenta3 +*VT100*color6: cyan3 +*VT100*color7: gray90 +*VT100*color8: gray50 +*VT100*color9: red +*VT100*color10: green +*VT100*color11: yellow +*VT100*color12: rgb:5c/5c/ff +*VT100*color13: magenta +*VT100*color14: cyan +*VT100*color15: white + +! Disclaimer: there are no standard colors used in terminal emulation. +! +! The choice for color4 and color12 is a tradeoff between contrast, depending +! on whether they are used for text or backgrounds. Note that either color4 or +! color12 would be used for text, while only color4 would be used for a +! background. These are treated specially, since the luminosity of blue is +! only about half that of red/green, and is typically not accounted for in the +! RGB scheme. +! +! Blue text on a black background should be readable. +! Blue backgrounds should not be "too" bright. +! +! Originally color4/color12 were set to the names blue3/blue +!*VT100*color4: blue3 +!*VT100*color12: blue +! +! They are from rgb.txt respectively: +! 0 0 205 blue3 +! 0 0 255 blue +! However, blue3 is not readable on a black background. +! +! Another choice was from the Debian settings: +!*VT100*color4: DodgerBlue1 +!*VT100*color12: SteelBlue1 +! +! From rgb.txt: +! 30 144 255 DodgerBlue1 +! 99 184 255 SteelBlue1 +! +! Some users object to this choice because the background (color4) is brighter +! than they are accustomed. Others point out that the different weights for +! the red/green components make it appear to be not really blue. Finally, it +! provides poor contrast against color13 and color14. +! +! The current choice uses equal weights for red/green (effectively adding a +! gray to the result). It is brighter than the original choice, and provides +! more contrast between color12 and color13, color14 than SteelBlue1 did. +! Contrast of color4 against black is slightly improved over the original. +! +! Some refinement is certainly possible (you are welcome to try) -TD + + +#if PLANES > 8 +! Color the popup menus and the menubar to match: +*SimpleMenu*background: AntiqueWhite +*SimpleMenu*foreground: gray15 + +! Color the menubar to match: +*Form.menubar.background: AntiqueWhite +*Form.menubar*background: AntiqueWhite +*Form.menubar.foreground: gray15 +*Form.menubar*foreground: gray15 +*Form.background: AntiqueWhite +*form.background: AntiqueWhite + +*mainMenu*background: AntiqueWhite +*mainMenu*foreground: gray15 +*vtMenu*background: AntiqueWhite +*vtMenu*foreground: gray15 +*fontMenu*background: AntiqueWhite +*fontMenu*foreground: gray15 +*tekMenu*background: AntiqueWhite +*tekMenu*foreground: gray15 + +! The following two sections take advantage of new features in version 7 +! of the Athena widget library; see Xaw(7x). + +! This section is commented out because Xaw has no way to dynamically size +! the gradient. The dimension parameter may need to be adjusted depending +! on the font used in the menu. +!*SimpleMenu*backgroundPixmap: gradient:vertical?dimension=350&start=gray90&end=gray60 +!*SimpleMenu*foreground: gray15 + +*VT100.scrollbar.thumb: vlines2 +*VT100.scrollbar.width: 14 +*VT100.scrollbar.background: gray60 +*VT100.scrollbar.foreground: rgb:a/5/5 +*VT100.scrollbar.borderWidth: 0 +*VT100.scrollbar.displayList:\ +foreground gray90;\ +lines 1,-1,-1,-1,-1,1;\ +foreground gray60;\ +lines -1,0,0,0,0,-1 +#endif diff --git a/X11/app-defaults/Xditview b/X11/app-defaults/Xditview new file mode 100644 index 0000000..e20734d --- /dev/null +++ b/X11/app-defaults/Xditview @@ -0,0 +1,96 @@ +Xditview.geometry: 600x800 +*MenuButton*Font: -*-helvetica-bold-r-normal--*-120-*-*-*-*-iso8859-1 +*SimpleMenu*Font: -*-helvetica-bold-r-normal--*-120-*-*-*-*-iso8859-1 +*Text*Font: -*-courier-medium-r-normal--*-120-*-*-*-*-iso8859-1 + +*paned.allowResize: true +*paned.?.showGrip: false +*paned.?.skipAdjust: false +*paned.form.porthole.width: 600 +*paned.form.porthole.height: 800 +*paned.label.skipAdjust: true + +*MenuButton.shapeStyle: oval +*Command.shapeStyle: oval + +*fileMenuButton.label: File +*fileMenuButton.leftBitmap: menu12 +*fileMenuButton.menuName: fileMenu + +*fileMenu.openFile.label: Open File +*fileMenu.revisitFile.label: Reopen File +*fileMenu.setResolution.label: Set Screen Resolution +*fileMenu.quit.label: Quit + +*prevButton.bitmap: ldblarrow +*prevButton.internalHeight: 0 +*prevButton.Translations: #override : PreviousPage() unset() + +*pageNumber.translations: #override\ + CtrlJ: SetPageNumber()\n\ + CtrlM: SetPageNumber()\n\ + Linefeed: SetPageNumber()\n\ + Return: SetPageNumber()\n\ + CtrlO: Noop()\n\ + MetaI: Noop()\n\ + CtrlN: Noop()\n\ + CtrlP: Noop()\n\ + CtrlZ: Noop()\n\ + MetaZ: Noop()\n\ + space: NextPage()\n\ + Ctrlv: NextPage()\n\ + Metav: PreviousPage()\n\ + Next: NextPage()\n\ + Prior: PreviousPage()\n\ + Find: OpenFile() +*pageNumber*editType: edit + +*nextButton.bitmap: rdblarrow +*nextButton.internalHeight: 0 +*nextButton.translations: #override : NextPage() unset() + +*viewport.allowResize: false +*viewport.forceBars: true +*viewport.allowHoriz: true +*viewport.allowVert: true + +*dvi.translations: #augment \ + : XawPositionSimpleMenu(popupMenu) MenuPopup(popupMenu)\n\ + Ctrlv: NextPage()\n\ + Metav: PreviousPage()\n\ + space: NextPage()\n\ + Next: NextPage()\n\ + Prior: PreviousPage()\n\ + Find: OpenFile() +*dvi.baseTranslations: #augment \ + : XawPositionSimpleMenu(popupMenu) MenuPopup(popupMenu)\n\ + space: NextPage()\n\ + Ctrlv: NextPage()\n\ + Metav: PreviousPage()\n\ + Next: NextPage()\n\ + Prior: PreviousPage()\n\ + Find: OpenFile() +*popupMenu.nextPage.label: Next Page +*popupMenu.previousPage.label: Previous Page +*popupMenu.setResolution.label: Set Screen Resolution +*popupMenu.openFile.label: Open File +*popupMenu.revisitFile.label: Reopen File +*popupMenu.quit.label: Quit + +*promptShell.allowShellResize: true +*promptShell.promptDialog.value.translations: #override\ + Return: Accept() +*promptShell.promptDialog.value.baseTranslations: #override\ + Return: Accept() + +*promptShell.promptDialog.accept.label: Accept +*promptShell.promptDialog.accept.translations: #override\ + : Accept() unset() +*promptShell.promptDialog.accept.baseTranslations: #override \ + : Accept() unset() + +*promptShell.promptDialog.cancel.label: Cancel +*promptShell.promptDialog.cancel.translations: #override \ + : Cancel() unset() +*promptShell.promptDialog.cancel.baseTranslations: #override \ + : Cancel() unset() diff --git a/X11/app-defaults/Xditview-chrtr b/X11/app-defaults/Xditview-chrtr new file mode 100644 index 0000000..345c190 --- /dev/null +++ b/X11/app-defaults/Xditview-chrtr @@ -0,0 +1,25 @@ +#include "Xditview" +*Dvi.fontMap:\ +R -*-charter-medium-r-normal--*-*-*-*-*-*-iso8859-1\n\ +I -*-charter-medium-i-normal--*-*-*-*-*-*-iso8859-1\n\ +B -*-charter-bold-r-normal--*-*-*-*-*-*-iso8859-1\n\ +F -*-charter-bold-i-normal--*-*-*-*-*-*-iso8859-1\n\ +BI -*-charter-bold-i-normal--*-*-*-*-*-*-iso8859-1\n\ +C -*-courier-medium-r-normal--*-*-*-*-*-*-iso8859-1\n\ +CO -*-courier-medium-o-normal--*-*-*-*-*-*-iso8859-1\n\ +CB -*-courier-bold-r-normal--*-*-*-*-*-*-iso8859-1\n\ +CF -*-courier-bold-o-normal--*-*-*-*-*-*-iso8859-1\n\ +H -*-helvetica-medium-r-normal--*-*-*-*-*-*-iso8859-1\n\ +HO -*-helvetica-medium-o-normal--*-*-*-*-*-*-iso8859-1\n\ +HB -*-helvetica-bold-r-normal--*-*-*-*-*-*-iso8859-1\n\ +HF -*-helvetica-bold-o-normal--*-*-*-*-*-*-iso8859-1\n\ +N -*-new century schoolbook-medium-r-normal--*-*-*-*-*-*-iso8859-1\n\ +NI -*-new century schoolbook-medium-i-normal--*-*-*-*-*-*-iso8859-1\n\ +NB -*-new century schoolbook-bold-r-normal--*-*-*-*-*-*-iso8859-1\n\ +NF -*-new century schoolbook-bold-i-normal--*-*-*-*-*-*-iso8859-1\n\ +A -*-charter-medium-r-normal--*-*-*-*-*-*-iso8859-1\n\ +AI -*-charter-medium-i-normal--*-*-*-*-*-*-iso8859-1\n\ +AB -*-charter-bold-r-normal--*-*-*-*-*-*-iso8859-1\n\ +AF -*-charter-bold-i-normal--*-*-*-*-*-*-iso8859-1\n\ +S -*-symbol-medium-r-normal--*-*-*-*-*-*-adobe-fontspecific\n\ +S2 -*-symbol-medium-r-normal--*-*-*-*-*-*-adobe-fontspecific\n diff --git a/X11/app-defaults/Xedit b/X11/app-defaults/Xedit new file mode 100644 index 0000000..b626bf3 --- /dev/null +++ b/X11/app-defaults/Xedit @@ -0,0 +1,468 @@ +! $XFree86: xc/programs/xedit/Xedit.ad,v 1.23 2002/09/22 07:09:05 paulo Exp $ + +*geometry: 590x440 +*input: TRUE +*enableBackups: True +*backupNameSuffix: ~ +*changedBitmap: xlogo11 +*international: False + +*hints:\ +Use Control-S and Control-R to Search.\n\ +Use Control-Shift-_ to Undo. Control-G to switch between Undo and Redo.\n\ +Use Control-A to jump to the beginning of the line.\n\ +Use Control-E to jump to the end of the line.\n\ +Use Control-T to transpose characters.\n\ +Use Control-K to cut to the end of the line. Control-Y to paste.\n\ +Use Control-Q to escape control characters.\n\ +Use Control-U[,] to multiply actions. Control-G to cancel.\n\ +Use Control-Z to scroll one line up. Meta-Z to scroll one line down.\n\ +Use Meta-Q to format a paragraph.\n\ +Use Right-Button to extend selections.\n\ +Use Meta-I to insert a file.\n\ +Use Control-W to delete a selection, and/or jump to the selection mark.\n\ +Use Control-X,Control-F to find a file. Tab for filename completion.\n\ +Use Control-X,Control-S to save.\n\ +Use Control-X,Control-C to exit.\n\ +Use Control-C to paste the selection at CUT_BUFFER0.\n\ +Use Control Left-Button to popup the File Menu.\n\ +Use Control Middle-Button to popup the Edit Menu.\n\ +Use Control Right-Button to popup the Option Menu.\n\ +Use Control-X,Tab to Indent.\n\ +Use Control-X,0 to delete current splitted window.\n\ +Use Control-X,1 to delete other splitted window.\n\ +Use Control-X,2 to split the window vertically.\n\ +Use Control-X,3 to split the window horizontally.\n\ +Use Control-X,b to switch to another file.\n\ +Use Control-X,d to list directory. Control-G to Cancel.\n\ +Use Control-X,k to close file being edited.\n\ +Use Control-X,o to switch to another splitted window.\n\ +Use Control-X,u to undo. Control-G to switch between Undo and Redo.\n\ +Use Insert to toggle Overwrite mode.\n\ +Use Control-G to interrupt the lisp subprocess.\n\ +Use Escape to enter or leave regex search and replace mode.\n\ +Use Alt-. to search tags for the selected symbol or find the next match. + +*formWindow*defaultDistance: 2 +*formWindow.?.borderWidth: 0 +*formWindow.min: 18 +*formWindow.max: 18 +*formWindow.showGrip: False +*positionWindow.fromHoriz: labelWindow +*positionWindow.horizDistance: 0 +*positionWindow.left: chainRight +*positionWindow.right: chainRight +*positionWindow.width: 90 +*positionWindow.label: error +*positionWindow.justify: left +*labelWindow*justify: center +*labelWindow*label: no file yet +*labelWindow.left: chainLeft +*labelWindow.right: chainRight + +*quit.label: Quit +*quit.tip: Close xedit window +*save.label: Save +*save.tip: Save current file +*load.label: Load +*load.tip: Load a new file + +*buttons*orientation: horizontal +*buttons*showGrip: False +*buttons.min: 18 + +*messageWindow.height: 50 +*messageWindow.min: 18 +*Paned*Text*allowResize: True + +*messageWindow.autoFill: False +*messageWindow.scrollVertical: Never + +*editWindow.autoFill: False +*editWindow.scrollVertical: Always +*editWindow.showGrip: True +xedit.textSource*enableUndo: True + +*bc_label*label: Use Control-S and Control-R to Search. +*bc_label*showGrip: False +*bc_label.min: 18 + +*dirlabel.showGrip: False +*dirlabel.min: 18 +*dirlabel.max: 18 + +*dirwindow.defaultColumns: 0 +*dirwindow.verticalList: True + +*viewport.forceBars: True +*viewport.allowVert: 1 + +*insertFile*text.width: 141 +*insertFile*text.?.pieceSize: 256 +*search*searchText.width: 157 +*search*replaceText.width: 157 +*search*case.horizDistance: 25 +*search*Text.?.pieceSize: 256 + +*SimpleMenu.BackingStore: NotUseful +*SimpleMenu.menuLabel.vertSpace: 80 +*SimpleMenu.SmeBSB.HorizontalMargins: 16 +*SimpleMenu.justify: center +*SimpleMenu.menuLabel.height: 250 +*SimpleMenu*cursor: left_ptr + +*fileMenu.label: File Menu +*optionsMenu.label: Option Menu +*optionsMenu.ispell.label: ispell... +*editMenu.label: Edit Menu +*editMenu.wrapMenuItem.label: Wrapping +*editMenu.wrapMenuItem.leftBitmap: menu12 +*wrapMenu.never.label: Never +*wrapMenu.line.label: Line +*wrapMenu.word.label: Word +*editMenu.autoFill.label: Auto Fill +*editMenu.justifyMenuItem.label: Justification +*editMenu.justifyMenuItem.leftBitmap: menu12 +*justifyMenu.left.label: Left +*justifyMenu.right.label: Right +*justifyMenu.center.label: Center +*justifyMenu.full.label: Full +*editMenu.breakColumns.label: Break Columns... +*editMenu.scrollMenuItem.label: Scrollbars +*editMenu.scrollMenuItem.leftBitmap: menu12 +*scrollMenu.vertical.label: Vertical +*scrollMenu.horizontal.label: Horizontal +*editMenu.modeMenuItem.leftBitmap: menu12 +*editMenu.modeMenuItem.label: Edit Mode +*editModes.none.label: Plain/None + +*TransientShell*Text.translations: #override \ +cS: no-op(r)\n\ +cR: no-op(r)\n\ +mI: no-op(r) + +*search.translations: #override \ +:get-values(my, $w, width, $h, height)\ + set-values(1, minWidth, $w, minHeight, $h, maxHeight, $h, allowShellResize, False) + +*insertFile.title: Insert File +*insertFile.translations: #override \ +:get-values(my, $w, width, $h, height)\ + set-values(1, minWidth, $w, minHeight, $h, maxHeight, $h, allowShellResize, False) + +*baseTranslations: #override \ +X,C:quit()\n\ +X,S:save-file()\n\ +X,F:find-file()\n\ +Escape: line-edit() + +*messageWindow.Translations: #override \ +X,C:quit()\n\ +X,S:save-file()\n\ +X,F:find-file()\n\ +: no-op()\n\ +: no-op()\n\ +: set-keyboard-focus() select-start() + +*searchText.Translations: #override \ +: no-op()\n\ +: no-op()\n\ +: set-keyboard-focus() select-start() + +*replaceText.Translations: #override \ +: no-op()\n\ +: no-op()\n\ +: set-keyboard-focus() select-start() + +*editWindow.translations: #override \ +X,E:lisp-eval()\n\ +X,Tab:indent()\n\ +X,:0:delete-window(current)\n\ +X,:1:delete-window(other)\n\ +X,:2:split-window(vertical)\n\ +X,:3:split-window(horizontal)\n\ +X,!l @Num_Lockb:switch-source()\n\ +X,!l b:switch-source()\n\ +X,!@Num_Lockb:switch-source()\n\ +X,!b:switch-source()\n\ +X,!l @Num_Lockd:dir-window()\n\ +X,!l d:dir-window()\n\ +X,!@Num_Lockd:dir-window()\n\ +X,!d:dir-window()\n\ +X,!l @Num_Lockk:kill-file()\n\ +X,!l k:kill-file()\n\ +X,!@Num_Lockk:kill-file()\n\ +X,!k:kill-file()\n\ +X,!l @Num_Locko:other-window()\n\ +X,!l o:other-window()\n\ +X,!@Num_Locko:other-window()\n\ +X,!o:other-window()\n\ +X,!l @Num_Locku:undo()\n\ +X,!l u:undo()\n\ +X,!@Num_Locku:undo()\n\ +X,!u:undo()\n\ +G: xedit-keyboard-reset()\n\ +J: xedit-print-lisp-eval()\n\ +:m.: tags()\n\ +Tab: insert-char()\n\ +!l @Num_Lockb:insert-char()\n\ +!l b: insert-char()\n\ +!@Num_Lockb:insert-char()\n\ +!b: insert-char()\n\ +!l @Num_Lockd:insert-char()\n\ +!l d: insert-char()\n\ +!@Num_Lockd:insert-char()\n\ +!d: insert-char()\n\ +!l k: insert-char()\n\ +!l @Num_Lockk:insert-char()\n\ +!@Num_Lockk:insert-char()\n\ +!k: insert-char()\n\ +!l @Num_Locko:insert-char()\n\ +!l o: insert-char()\n\ +!@Num_Locko:insert-char()\n\ +!o: insert-char()\n\ +!l @Num_Locku:insert-char()\n\ +!l u: insert-char()\n\ +!@Num_Locku:insert-char()\n\ +!u: insert-char()\n\ +~s Insert: toggle-overwrite()\n\ +c l @Num_Lock:xedit-focus() popup-menu(fileMenu)\n\ +c @Num_Lock:xedit-focus() popup-menu(fileMenu)\n\ +c l: xedit-focus() popup-menu(fileMenu)\n\ +c: xedit-focus() popup-menu(fileMenu)\n\ +c l @Num_Lock:xedit-focus() popup-menu(editMenu)\n\ +c @Num_Lock:xedit-focus() popup-menu(editMenu)\n\ +c l: xedit-focus() popup-menu(editMenu)\n\ +c: xedit-focus() popup-menu(editMenu)\n\ +c l @Num_Lock:xedit-focus() popup-menu(optionsMenu)\n\ +c @Num_Lock:xedit-focus() popup-menu(optionsMenu)\n\ +c l:xedit-focus() popup-menu(optionsMenu)\n\ +c: xedit-focus() popup-menu(optionsMenu)\n\ +: xedit-focus() select-start()\n\ +: scroll-one-line-down()\n\ +: scroll-one-line-up() + +*filename.?.pieceSize: 256 +*filename.translations: #override \ +cS: no-op(r)\n\ +cR: no-op(r)\n\ +mI: no-op(r)\n\ +cG: cancel-find-file()\n\ +Return: load-file()\n\ +Tab: file-completion(h)\n\ +Escape: cancel-find-file()\n\ +: no-op()\n\ +: no-op()\n\ +: set-keyboard-focus() select-start() + +*ispell.translations: #override \ +WM_PROTOCOLS: ispell(end) + +! Sample dictionary, word chars and text mode resources setup +!*ispell.dictionary: br +!*ispell.dictionaries: br american americanmed+ english +!*ispell*br.wordChars: áéíóúçÁÉÍÓÚÇàÀâêôÂÊÔüÜãõÃÕ- +*ispell.ispellCommand: /usr/bin/aspell -B -m +*ispell.lookCommand: /bin/egrep +!*ispell*text.skipLines: .# + +*ispell.geometry: 0x0 +*ispell.minWidth: 320 +*ispell.minHeight: 245 +*ispell*Label.borderWidth: 0 +*ispell*Label.internalHeight: 4 +*ispell*Label.justify: right +*ispell*Label.width: 112 +*ispell*Label.left: chainLeft +*ispell*Label.right: chainLeft +*ispell*Label.top: chainTop +*ispell*Label.bottom: chainTop +*ispell*mispelled.label: Misspelled word: +*ispell*mispelled.top: chainTop +*ispell*mispelled.bottom: chainTop +*ispell*mispelled.internalWidth: 0 +*ispell*repeated.label: Repeated words: +*ispell*repeated.internalWidth: 0 +*ispell*replacement.label: Replace with: +*ispell*word.fromHoriz: mispelled +*ispell*word.justify: left +*ispell*word.borderWidth: 1 +*ispell*word.internalWidth: 4 +*ispell*word.internalHeight: 3 +*ispell*word.width: 194 +*ispell*word.left: chainLeft +*ispell*word.right: chainRight +*ispell*word.top: chainTop +*ispell*word.bottom: chainTop +*ispell*word.label: +*ispell*word.tip: Press here to select this text +*ispell*word.highlightThickness: 0 +*ispell*text.fromHoriz: replacement +*ispell*replacement.fromVert: mispelled +*ispell*replacement.internalWidth: 0 +*ispell*form.text.fromVert: word +*ispell*form.text.width: 194 +*ispell*form.text.top: chainTop +*ispell*form.text.bottom: chainTop +*ispell*form.text.left: chainLeft +*ispell*form.text.right: chainRight +*ispell*form.text.leftMargin: 4 +*ispell*form.text.?.pieceSize: 256 +*ispell*suggestions.label: Suggestions: +*ispell*suggestions.fromVert: replacement +*ispell*suggestions.internalWidth: 0 +*ispell*viewport.fromHoriz: suggestions +*ispell*viewport.fromVert: text +*ispell*viewport.width: 194 +*ispell*viewport.height: 143 +*ispell*viewport.top: chainTop +*ispell*viewport.bottom: chainBottom +*ispell*viewport.left: chainLeft +*ispell*viewport.right: chainRight +*ispell*viewport.forceBars: 1 +*ispell*viewport.allowVert: 1 +*ispell*list.defaultColumns: 1 +*ispell*list.longest: 16384 +*ispell*commands.vertDistance: 5 +*ispell*commands.fromVert: suggestions +*ispell*commands.top: chainBottom +*ispell*commands.bottom: chainBottom +*ispell*commands.right: chainLeft +*ispell*commands.left: chainLeft +*ispell*check.label: Check +*ispell*check.width: 54 +*ispell*check.tip: Ask ispell about the word in the text field +*ispell*look.label: Look +*ispell*look.fromHoriz: check +*ispell*look.horizDistance: 0 +*ispell*look.width: 46 +*ispell*look.tip: Runs the look command +*ispell*undo.fromVert: check +*ispell*undo.label: Undo +*ispell*undo.width: 102 +*ispell*undo.tip: Undo last action +*ispell*replace.fromVert: undo +*ispell*replace.label: Replace +*ispell*replace.tip: Replace occurence of the word +*ispell*replaceAll.fromVert: undo +*ispell*replaceAll.fromHoriz: replace +*ispell*replaceAll.label: All +*ispell*replaceAll.tip: Replace all occurences of the word +*ispell*ignore.fromVert: replace +*ispell*ignore.label: Ignore +*ispell*ignore.tip: Ignore this word +*ispell*ignoreAll.fromVert: replaceAll +*ispell*ignoreAll.fromHoriz: ignore +*ispell*ignoreAll.label: All +*ispell*ignoreAll.tip: Ignore all ocurrences of the word +*ispell*add.fromVert: ignore +*ispell*add.label: Add +*ispell*add.width: 50 +*ispell*add.tip: Add word to your private dictionary +*ispell*addUncap.fromVert: ignoreAll +*ispell*addUncap.fromHoriz: add +*ispell*addUncap.label: Uncap +*ispell*addUncap.horizDistance: 0 +*ispell*addUncap.width: 50 +*ispell*addUncap.tip: Add word uncapitalized, to your private dictionary +*ispell*suspend.fromVert: add +*ispell*suspend.label: Suspend +*ispell*suspend.width: 57 +*ispell*suspend.tip: Suspend ispell execution +*ispell*cancel.fromHoriz: suspend +*ispell*cancel.fromVert: addUncap +*ispell*cancel.label: Close +*ispell*cancel.width: 43 +*ispell*cancel.horizDistance: 0 +*ispell*cancel.tip: Terminates ispell process +*ispell*replace.width: 65 +*ispell*ignore.width: 65 +*ispell*replaceAll.width: 35 +*ispell*replaceAll.horizDistance: 0 +*ispell*ignoreAll.width: 35 +*ispell*ignoreAll.horizDistance: 0 +*ispell*terse.fromVert: cancel +*ispell*terse.Label: Terse Mode +*ispell*terse.width: 104 +*ispell*terse.borderWidth: 0 +*ispell*terse.tip: Switch terse mode +*ispell*status.fromVert: viewport +*ispell*status.fromHoriz: suggestions +*ispell*status.top: chainBottom +*ispell*status.bottom: chainBottom +*ispell*status.left: chainLeft +*ispell*status.right: chainRight +*ispell*status.width: 194 +*ispell*status.borderWidth: 1 +*ispell*status.justify: left +*ispell*status.internalHeight: 2 +*ispell*status.vertDistance: 2 +*ispell*options.fromVert: status +*ispell*options.fromHoriz: commands +*ispell*options.bottom: chainBottom +*ispell*options.top: chainBottom +*ispell*options.left: chainLeft +*ispell*options.right: chainRight +*ispell*options.dict.width: 121 +*ispell*options.horizDistance: 2 +*ispell*options.vertDistance: 2 +*ispell*options.defaultDistance: 2 +*ispell*dict.highlightThickness: 0 +*ispell*dict.justify: left +*ispell*dict.resizable: False +*ispell*dict.leftBitmap: menu12 +*ispell*dict.label: Dictionary +*ispell*dict.tip: Change dictionary +*ispell*options.format.width: 65 +*ispell*format.highlightThickness: 0 +*ispell*format.justify: left +*ispell*format.resizable: False +*ispell*format.leftBitmap: menu12 +*ispell*format.fromHoriz: dict +*ispell*format.horizDistance: 0 +*ispell*format.tip: Select text type + +*columns.minWidth: 140 +*columns.minHeight: 76 +*columns.maxWidth: 140 +*columns.maxHeight: 76 +*columns.form*defaultDistance: 4 +*columns*left: chainLeft +*columns*right: chainLeft +*columns*top: chainTop +*columns*bottom: chainTop +*columns*Label.width: 96 +*columns*Label.borderWidth: 0 +*columns*Label.internalHeight: 4 +*columns*Label.internalWidth: 2 +*columns*Label.justify: right +*columns*Text.width: 30 +*columns*Command.width: 58 +*columns*leftLabel.label: Left Column: +*columns*left.fromHoriz: leftLabel +*columns*rightLabel.label: Right Column: +*columns*rightLabel.fromVert: leftLabel +*columns*right.fromHoriz: rightLabel +*columns*right.fromVert: left +*columns*ok.fromVert: rightLabel +*columns*cancel.fromHoriz: ok +*columns*cancel.fromVert: rightLabel +*columns*cancel.horizDistance: 12 +*columns*Text.?.pieceSize: 8 + +*columns*Text.translations: #override \ +cS: no-op(r)\n\ +cR: no-op(r)\n\ +mI: no-op(r)\n\ +Return: set-columns(ok)\n\ +Tab: change-field()\n\ +cG: set-columns(cancel)\n\ +Escape: set-columns(cancel)\n\ +: no-op()\n\ +: no-op()\n\ +: set-keyboard-focus() select-start() + +*columns.translations: #override \ +WM_PROTOCOLS: set-columns(cancel) + +! EOF. diff --git a/X11/app-defaults/Xedit-color b/X11/app-defaults/Xedit-color new file mode 100644 index 0000000..da811b9 --- /dev/null +++ b/X11/app-defaults/Xedit-color @@ -0,0 +1,195 @@ +! $XFree86: xc/programs/xedit/Xedit-color.ad,v 1.14 2002/11/10 23:21:56 paulo Exp $ + +#include "Xedit" + +*background: gray70 +*foreground: gray15 +*borderColor: gray40 +*Command.highlightThickness: 1 +*Command.backgroundPixmap: gradient:vertical?dimension=18&start=gray90&end=gray65 +*Command.foreground: gray20 +*Command.displayList:\ +foreground gray92;\ +line 1,0,-2,0;\ +foreground gray95;\ +line 2,1,-3,1;\ +foreground gray74;\ +segments 3,-3,-4,-3, 2,-4,-3,-4, 1,-6,-2,-6;\ +point -1,-1;\ +foreground gray80;\ +line 0,0,0,-1;\ +point -1,0 + +*Command.translations: #override \ +: set-values(1, foreground, gray20, background, rgb:d/5/5) set()\n\ +Button1: reset() set-values(1, foreground, gray20, background, gray70)\n\ +: notify() unset() + +*Toggle.foreground: gray30 +*Toggle.background: gray82 +*Toggle.borderColor: gray90 +*Toggle.displayList:\ +foreground gray75;\ +segments 0,1,0,-2,-1,1,-1,-2;\ +foreground gray80;\ +segments 0,0,-1,0,0,-1,-1,-1;\ +points 1,1,1,-2,-2,1, -2,-2 + +*bc_label.backgroundPixmap: gradient:vertical?dimension=18&start=gray90&end=gray65 +*bc_label.displayList:\ +foreground gray92;\ +line 1,0,-2,0;\ +foreground gray95;\ +line 2,1,-3,1;\ +foreground gray74;\ +segments 3,-2,-4,-2, 2,-3,-3,-3, 1,-5,-2,-5 +*bc_label.foreground: gray20 + +*formWindow.backgroundPixmap: gradient:vertical?dimension=18&start=gray90&end=gray65 +*formWindow.displayList:\ +foreground gray92;\ +line 1,0,-2,0;\ +foreground gray95;\ +line 2,1,-3,1;\ +foreground gray74;\ +segments 3,-2,-4,-2, 2,-3,-3,-3, 1,-5,-2,-5 +*formWindow*backgroundPixmap: ParentRelative +*formWindow*foreground: gray20 +*formWindow*background: gray74 +*formWindow.labelWindow.background: gray80 +*formWindow.labelWindow.displayList:\ +line-style onoffdash;\ +foreground gray30;\ +background gray96;\ +draw-rect 3,2,15,14;\ +foreground gray78;\ +fill-rect 4,3,15,14 + +*dirlabel.foreground: gray20 +*dirlabel.backgroundPixmap: gradient:vertical?dimension=18&start=gray90&end=gray65 +*dirlabel.displayList:\ +foreground gray92;\ +line 1,0,-2,0;\ +foreground gray95;\ +line 2,1,-3,1;\ +foreground gray74;\ +segments 3,-2,-4,-2, 2,-3,-3,-3, 1,-5,-2,-5 +*dirwindow.background: gray96 + +*internalBorderColor: gray40 + +*Text*Text.background: gray96 +*Text.background: gray96 +*Text.?.background: gray96 +*Text*cursorColor: rgb:d/5/5 +*Text.displayList:\ +foreground white;\ +line 1,-1,-2,-1;\ +foreground gray88;\ +line 1,0,-2,0 + +*Scrollbar.foreground: rgb:a/5/5 +*Scrollbar.background: gray60 +*Text.Scrollbar.background: gray60 +*Scrollbar.backgroundPixmap: gradient:horizontal?dimension=14&start=gray70&end=gray85 +*hScrollbar.backgroundPixmap: gradient:vertical?dimension=14&start=gray85&end=gray70 +*hScrollbar.displayList:\ +foreground gray85;\ +segments 1,-1,-2,-1,1,0,-2,0 +*vScrollbar.displayList:\ +foreground gray85;\ +segments 0,1,0,-2,-1,1,-1,-2 +*Scrollbar.thumb: vlines2 +*hScrollbar.thumb: hlines2 + +*SimpleMenu*borderWidth: 0 +*SimpleMenu*backgroundPixmap: xlogo11?foreground=gray90&background=gray88 +*SimpleMenu*background: gray90 +*SimpleMenu*foreground: gray20 +*SimpleMenu.VerticalMargins: 3 +*SimpleMenu.HorizontalMargins: 3 +*SimpleMenu.SimpleMenu.VerticalMargins: 3 +*SimpleMenu.SimpleMenu.HorizontalMargins: 3 +*SimpleMenu.menuLabel.foreground: rgb:d/5/5 +*SimpleMenu*displayList:\ +foreground gray70;\ +lines +2,-2,-2,-2,-2,+2;\ +foreground gray95;\ +lines -2,+1,+1,+1,+1,-2;\ +foreground gray30;\ +lines +1,-1,-1,-1,-1,+1;\ +foreground gray80;\ +lines -1,+0,+0,+0,+0,-1 + +*TransientShell.backgroundPixmap: xlogo11?foreground=gray90&background=gray87 +*TransientShell.Form.backgroundPixmap: ParentRelative +*TransientShell.Form.Label.backgroundPixmap: ParentRelative + +*ispell*Scrollbar.borderColor: gray50 +*ispell*Scrollbar.displayList: +*ispell*List.background: gray96 +*ispell*word.background: gray96 +*ispell*word.backgroundPixmap: XtUnspecifiedPixmap +*ispell*word.translations:\ +: highlight()\n\ +: reset()\n\ +: set()\n\ +: notify() unset()\n +*ispell*word.displayList: +*ispell.Form.Form.borderColor: gray80 +*ispell.Form.Form.displayList: \ +foreground gray90;\ +lines +1,-1,-1,-1,-1,+1;\ +foreground gray30;\ +lines -1,+0,+0,+0,+0,-1;\ +foreground gray60;\ +lines +2,-2,-2,-2,-2,+2 +*ispell*status.backgroundPixmap: XtUnspecifiedPixmap +*ispell*status.background: gray96 +*ispell*terse.justify: right +*ispell*terse.internalWidth: 10 +*ispell*terse.background: gray75 +*ispell*terse.foreground: gray20 +*ispell*terse.highlightThickness: 0 +*ispell*terse.displayList:\ +line-style solid;\ +foreground gray70;\ +fill-arc 6,4,14,12;\ +foreground gray90;\ +draw-arc 6,4,14,12,45,180;\ +draw-lines +0,-1,-1,-1,-1,+0;\ +foreground gray50;\ +draw-arc 6,4,14,12,225,180;\ +draw-lines -2,+0,+0,+0,+0,-2;\ +foreground gray45;\ +dashes 2,1;\ +line-style onoffdash;\ +draw-rect +1,+1,-2,-2 +*ispell*options.MenuButton.borderColor: gray70 +*ispell*options.MenuButton.background: gray78 +*ispell*options.MenuButton.backgroundPixmap: gradient:vertical?dimension=18&start=gray90&end=gray65 +*ispell*options.MenuButton.displayList:\ +foreground gray60;\ +lines +2,-2,-2,-2,-2,+2;\ +foreground gray95;\ +lines -3,+1,+1,+1,+1,-3;\ +foreground gray78;\ +points -2,+1,+1,-2 + +*tip.foreground: rgb:48/48/00 +*tip.backgroundPixmap: None +*tip.borderWidth: 0 +*tip.rightMargin: 7 +*tip.bottomMargin: 3 +*tip.displayList:\ +foreground rgb:f/e/8;\ +fill-rect 1,1,-2,-2;\ +foreground rgb:d/c/6;\ +draw-segments 0,1,0,-3,1,-2,-3,-2,-2,-3,-2,1,-3,0,1,0;\ +foreground rgb:a/8/4;\ +draw-lines 2,-1, -2,-1, -1,-2, -1,2 + +*grip.foreground: gray10 +*grip.displayList:\ +foreground gray80;\ +points 0,0,0,-1,-1,-1,-1,0 diff --git a/X11/app-defaults/Xfd b/X11/app-defaults/Xfd new file mode 100644 index 0000000..8b738c8 --- /dev/null +++ b/X11/app-defaults/Xfd @@ -0,0 +1,40 @@ +! $Xorg: Xfd.ad,v 1.3 2000/08/17 19:54:18 cpqbld Exp $ + + + +! $XFree86$ + +*internalBorderWidth: 0 +*showGrip: false + +*grid.borderWidth: 0 + +*quit.Label: Quit +*prev.Label: Prev +*next.Label: Next +*prev16.Label: -16 +*next16.Label: +16 + +*select.Label: Select a character +*metrics.Label: +*select.Justify: center +*metrics.Justify: center +*range.Justify: left +*start.Justify: left + +*quit.Translations: #override \ + ,: Quit() unset() +*next16.Translations: #override \ + ,: Next16() unset() +*next.Translations: #override \ + ,: Next() unset() +*prev.Translations: #override \ + ,: Prev() unset() +*prev16.Translations: #override \ + ,: Prev16() unset() + +*Translations: #override \n\ +q: Quit()\n\ +Ctrl n: Next()\n\ +Ctrl p: Prev() + diff --git a/X11/app-defaults/Xgc b/X11/app-defaults/Xgc new file mode 100644 index 0000000..7695abb --- /dev/null +++ b/X11/app-defaults/Xgc @@ -0,0 +1,2 @@ +*planemask*ShapeStyle: rectangle +*dashlist*ShapeStyle: rectangle diff --git a/X11/app-defaults/Xgc-color b/X11/app-defaults/Xgc-color new file mode 100644 index 0000000..e70d869 --- /dev/null +++ b/X11/app-defaults/Xgc-color @@ -0,0 +1,55 @@ +*Foreground: rgb:2/3/1 +*Background: rgb:c/d/b +*BorderWidth: 0 + +*Label.justify: left +*Text.Background: rgb:d/e/c +*Text.displayList: foreground rgb:f/f/d;segments 1,-1,-2,-1, -1,-2,-1,1;foreground rgb:7/7/5;segments -2,0,1,0, 0,1,0,-2 +*Form.displayList: foreground rgb:7/7/5;segments 1,-1,-2,-1, -1,-2,-1,1;foreground rgb:f/f/d;segments -2,0,1,0, 0,1,0,-2 + +*Label.width: 130 +*Label.left: chainLeft +*Label.right: chainLeft +*topform.Form.displayList: foreground rgb:e/e/e;segments 1,-1,-2,-1, -1,-2,-1,1;foreground rgb:4/4/4;segments -2,0,1,0, 0,1,0,-2 +*topform.Form.Form.displayList: + +*topform.Form.linestyle.Toggle.width: 123 +*topform.Form.capstyle.Toggle.width: 185 +*topform.Form.joinstyle.Toggle.width: 123 +*topform.Form.fillstyle.Toggle.width: 185 +*topform.Form.fillrule.Toggle.width: 185 +*topform.Form.arcmode.Toggle.width: 185 +*topform.Form.linewidth.Text.width: 372 +*topform.Form.font.Text.width: 372 +*topform.Form.foreground.Text.width: 110 +*topform.Form.background.Text.width: 110 +*topform.Form.testpercent.100.Background: rgb:b/c/a +*topform.Form.testpercent.100.displayList: foreground rgb:e/e/c;segments 1,-1,-2,-1, -1,-2,-1,1;foreground rgb:5/5/3;segments -2,0,1,0, 0,1,0,-2 +*topform.Form.testpercent.100.justify:right +*topform.Form.testpercent.100.width: 30 +*topform.Form.testpercent.100.left: chainLeft +*topform.Form.testpercent.100.right: chainRight +*topform.Form.testpercent.100.borderWidth: 0 +*topform.Form.testpercent.Scrollbar.width: 332 +*topform.Form.testpercent.Scrollbar.displayList: foreground rgb:e/e/c;segments 1,-1,-2,-1, -1,-2,-1,1;foreground rgb:5/5/3;segments -2,0,1,0, 0,1,0,-2 + +*topform.Form.testpercent.Scrollbar.Background: rgb:b/c/a + +*Toggle.borderWidth: 1 +*Toggle.borderColor: rgb:6/8/6 +*Toggle.justify: left +*Toggle.foreground: rgb:2/4/2 +*Toggle.background: rgb:8/a/8 +*Toggle.highlightThickness: 0 +*Toggle.displayList: foreground rgb:4/6/4;draw-rect 1,1,-2,-2;foreground rgb:8/a/8;draw-rect 0,0,-1,-1 + +*Command.width: 102 +*Command.borderWidth: 1 +*Command.borderColor: rgb:a/8/6 +*Command.justify: left +*Command.foreground: rgb:6/6/2 +*Command.background: rgb:c/c/8 +*Command.highlightThickness: 2 +*Command.displayList: line-style solid;foreground rgb:8/8/4;draw-rect 1,1,-2,-2;dashes 2,2;line-style onoffdash;foreground rgb:c/c/8;draw-rect 0,0,-1,-1 + +*test.BorderWidth: 1 diff --git a/X11/app-defaults/Xmag b/X11/app-defaults/Xmag new file mode 100644 index 0000000..3c737f4 --- /dev/null +++ b/X11/app-defaults/Xmag @@ -0,0 +1,25 @@ +*Font: fixed +*pane2*orientation: horizontal +*pane2*showGrip: False +*allowShellResize: on +*Scale.baseTranslations:#augment\ + : set-colors()\n\ + : unset-colors()\n\ + :popup-pixel()\n\ + Button1:popup-pixel()\n\ + :update-pixel()\n\ + :popdown-pixel()\n\ + :popdown-pixel()\n\ + n:new()\n\ + q:close()\n\ + Ctrlc:close()\n\ + space:replace() +*close.accelerators:#augment\ + q:set()notify()unset()\n\ + Ctrlc:set()notify()unset() +*replace.accelerators:#augment\ + space:set()notify()unset()\n\ + :set()notify()unset()\n\ + :set()notify()unset() +*helpLabel.font: 8x13bold +*helpLabel.label: xmag diff --git a/X11/app-defaults/Xman b/X11/app-defaults/Xman new file mode 100644 index 0000000..3f08b02 --- /dev/null +++ b/X11/app-defaults/Xman @@ -0,0 +1,195 @@ +*input: True + +*topBox: True +*topBox.Title: Xman +*topBox.IconName: Xman + +*manualBrowser.Title: Manual Page +*manualBrowser.IconName: Manual Page +*manualBrowser.geometry: 600x600 + +*manualFontBold: -*-courier-bold-r-*-*-*-120-*-*-*-*-*-* +*manualFontItalic: -*-courier-medium-o-*-*-*-120-*-*-*-*-*-* +*manualFontNormal: -*-courier-medium-r-*-*-*-120-*-*-*-*-*-* +*manualFontSymbol: -*-symbol-*-*-*-*-*-120-*-*-*-*-*-* +!*directoryFontNormal: -*-courier-medium-r-*-*-*-120-*-*-*-*-*-* +*directoryFontNormal: -*-helvetica-medium-r-*-*-*-120-*-*-*-*-*-* +!*directoryFontNormal: -*-lucida-bold-r-*-*-*-120-*-*-*-*-*-* + +!*SimpleMenu.BackingStore: Always +!*SimpleMenu.SaveUnder: Off + +*horizPane.orientation: horizontal +*horizPane*showGrip: False +*horizPane.min: 22 +*horizPane.max: 22 +*topLabel.BorderWidth: 0 +*search*label.BorderWidth: 0 + +*search*dialog*value: Xman + +!*optionMenu.Label: Options +!*sectionMenu.Label: Sections + +*horizPane*options.Label: Options +*horizPane*sections.Label: Sections + +*helpButton.Label: Help +*helpButton.Tip: Open help browser + +*quitButton.Label: Quit +*quitButton.Tip: Quit Xman + +*manpageButton.Label: Manual Page +*manpageButton.Tip: Open new manpage browser + +*topLabel.Label: Manual Browser + +!*SimpleMenu*menuLabel*vertSpace: 100 +!*SimpleMenu*menuLabel*leftMargin: 20 + +*displayDirectory.Label: Display Directory +*displayManualPage.Label: Display Manual Page +*help.Label: Help +*help.geometry: 600x600 +*search.Label: Search +*removeThisManpage.Label: Remove This Manpage +*help*removeThisManpage.Label: Remove Help +*openNewManpage.Label: Open New Manpage +*showVersion.Label: Show Version +*quit.Label: Quit + +*pleaseStandBy*Label: Formatting Manual Page, Please Stand By... + +*search*dialog.Label: Type string to search for: +*search*apropos.Label: Apropos +*search*manualPage.Label: Manual Page +*search*cancel.Label: Cancel + +*likeToSave*dialog.Label: Would you like to save this formatted Manual Page? +*likeToSave*yes.Label: Yes +*likeToSave*no.Label: No + +*translations: #override \ + Ctrlq: Quit() \n\ + Ctrlc: Quit() \n\ + Ctrln: CreateNewManpage() \n\ + Ctrlh: PopupHelp() \n\ + Ctrls: PopupSearch() + +*help*Paned.manualPage.translations:#override \ + Ctrl: \ + XawPositionSimpleMenu(optionMenu) \ + MenuPopup(optionMenu) \n\ + Ctrlq: Quit() \n\ + Ctrlc: Quit() \n\ + Ctrlr: RemoveThisManpage() \n\ + Ctrln: CreateNewManpage() \n\ + Ctrlh: PopupHelp() \n\ + Ctrld: GotoPage(Directory) \n\ + Ctrlm: GotoPage(ManualPage) \n\ + Ctrlv: ShowVersion() \n\ + Prior: Page(Back) \n\ + Next : Page(Forward) \n\ + Shift,: Page(Line,-1) \n\ + Shift,: Page(Line,1) \n\ + Ctrl,: Page(Back) \n\ + Ctrl,: Page(Forward) \n\ + None,: Page(Line,-5) \n\ + None,: Page(Line,5) + +*manualBrowser*manualPage.translations: #override \ + Ctrl: \ + XawPositionSimpleMenu(optionMenu) \ + MenuPopup(optionMenu) \n\ + Ctrl: \ + XawPositionSimpleMenu(sectionMenu) \ + MenuPopup(sectionMenu) \n\ + Shift,:GotoPage(Directory)\n\ + Ctrlq: Quit() \n\ + Ctrlc: Quit() \n\ + Ctrlr: RemoveThisManpage() \n\ + Ctrln: CreateNewManpage() \n\ + Ctrlh: PopupHelp() \n\ + Ctrld: GotoPage(Directory) \n\ + Ctrlm: GotoPage(ManualPage) \n\ + Ctrlv: ShowVersion() \n\ + Prior: Page(Back) \n\ + Next : Page(Forward) \n\ + Shift,: Page(Line,-1) \n\ + Shift,: Page(Line,1) \n\ + Ctrl,: Page(Back) \n\ + Ctrl,: Page(Forward) \n\ + None,: Page(Line,-5) \n\ + None,: Page(Line,5) \n\ + Ctrls: PopupSearch() + +!*manualBrowser*directory.background: Grey80 +*manualBrowser*directory.translations: #override \ + Ctrl: \ + XawPositionSimpleMenu(optionMenu) \ + MenuPopup(optionMenu) \n\ + Ctrl: \ + XawPositionSimpleMenu(sectionMenu) \ + MenuPopup(sectionMenu) \n\ + Shift,: GotoPage(Manpage) \n\ + Ctrlq: Quit() \n\ + Ctrlc: Quit() \n\ + Ctrlr: RemoveThisManpage() \n\ + Ctrln: CreateNewManpage() \n\ + Ctrlh: PopupHelp() \n\ + Ctrld: GotoPage(Directory) \n\ + Ctrlm: GotoPage(ManualPage) \n\ + Ctrlv: ShowVersion() \n\ + Ctrls: PopupSearch() + +*manualBrowser*search*manualPage.translations: #augment \ + ,: Search(Manpage) reset() + +*manualBrowser*search*apropos.translations: #augment \ + ,: Search(Apropos) reset() + +*manualBrowser*search*cancel*translations: #augment \ + ,: Search(Cancel) reset() + +*manualBrowser*search*value*translations: #override \ + Return: Search(Manpage) \n\ + Ctrlm: Search(Manpage) + +*topBox*search*manualPage.translations: #augment \ + ,: Search(Manpage, Open) reset() + +*topBox*search*apropos.translations: #augment \ + ,: Search(Apropos, Open) reset() + +*topBox*search*cancel*translations: #augment \ + ,: Search(Cancel, Open) reset() + +*topBox*search*value*translations: #override \ + Return: Search(Manpage, Open) \n\ + Ctrlm: Search(Manpage, Open) + +*manualBrowser*likeToSave*yes.translations: #override \ + ,: SaveFormattedPage(Save) reset() \n\ + y: SaveFormattedPage(Save) \n\ + n: SaveFormattedPage(Cancel) + +*manualBrowser*likeToSave*no.translations: #override \ + ,: SaveFormattedPage(Cancel) reset() \n\ + y: SaveFormattedPage(Save) \n\ + n: SaveFormattedPage(Cancel) + +*manualBrowser*likeToSave*translations: #override \ + y: SaveFormattedPage(Save) \n\ + n: SaveFormattedPage(Cancel) + +*helpButton.translations: #augment \ + ,: PopupHelp() reset() + +*quitButton.translations: #augment \ + ,: Quit() reset() + +*manpageButton.translations: #augment \ + ,: CreateNewManpage() reset() + +! EOF. diff --git a/X11/app-defaults/Xmessage b/X11/app-defaults/Xmessage new file mode 100644 index 0000000..1028ed2 --- /dev/null +++ b/X11/app-defaults/Xmessage @@ -0,0 +1,6 @@ +! $XConsortium: Xmessage.ad,v 1.3 94/07/26 20:23:17 gildea Exp $ +*baseTranslations: #override :Return: default-exit() +*message.scrollVertical: Always +*message.scrollHorizontal: Never +*Command.shapeStyle: oval +*Command.highlightThickness: 1 diff --git a/X11/app-defaults/Xmessage-color b/X11/app-defaults/Xmessage-color new file mode 100644 index 0000000..8d5f433 --- /dev/null +++ b/X11/app-defaults/Xmessage-color @@ -0,0 +1,44 @@ +! $XFree86$ + +#include "Xmessage" + +*background: gray85 +*foreground: gray15 + +*Scrollbar.thumb: vlines2 +*Scrollbar.width: 14 +*Scrollbar.foreground: rgb:a/5/5 +*Scrollbar.borderWidth: 0 +*Scrollbar.displayList:\ +foreground gray90;\ +lines 1,-1,-1,-1,-1,1;\ +foreground gray60;\ +lines -1,0,0,0,0,-1 + +*Text.?.cursorColor: rgb:d/5/5 +*Text.borderColor: gray80 +*Text*background: gray96 +*Text*Scrollbar.background: gray80 +*Text.displayList:\ +foreground gray90;\ +lines 1,-1,-1,-1,-1,1;\ +foreground gray60;\ +lines -1,0,0,0,0,-1 + +*Command.highlightThickness: 2 +*Command.internalWidth: 5 +*Command.internalHeight: 3 +*Command.borderColor: gray40 +*Command.shapeStyle: Rectangle +*Command.background: gray80 +*Command.displayList:\ +foreground gray60;\ +lines 1,-1,-1,-1,-1,1;\ +foreground gray90;\ +lines -1,0,0,0,0,-1 + +*Form.displayList:\ +foreground gray60;\ +lines 1,-1,-1,-1,-1,1;\ +foreground gray90;\ +lines -1,0,0,0,0,-1 diff --git a/X11/app-defaults/Xvidtune b/X11/app-defaults/Xvidtune new file mode 100644 index 0000000..6ba9c5d --- /dev/null +++ b/X11/app-defaults/Xvidtune @@ -0,0 +1,183 @@ +! $XFree86: xc/programs/xvidtune/Xvidtune.ad,v 3.10 1995/07/19 12:46:12 dawes Exp $ +! +*adInstalled: true +*borderWidth: 0 +*Scrollbar.borderWidth: 1 +*Scrollbar.width: 250 +*Command.borderWidth: 1 +*HSyncStart-form.fromVert: HDisplay-form +*HSyncEnd-form.fromVert: HSyncStart-form +*HTotal-form.fromVert: HSyncEnd-form +*VSyncStart-form.fromVert: VDisplay-form +*VSyncEnd-form.fromVert: VSyncStart-form +*VTotal-form.fromVert: VSyncEnd-form +*Flags-form.fromVert: HTotal-form +*Buttons-form.fromVert: Flags-form +*Buttons2-form.fromVert: Buttons-form +*Left-button.fromVert: HTotal-scrollbar +*Right-button.fromVert: HTotal-scrollbar +*Narrower-button.fromVert: HTotal-scrollbar +*Wider-button.fromVert: HTotal-scrollbar +*Up-button.fromVert: VTotal-scrollbar +*Down-button.fromVert: VTotal-scrollbar +*Shorter-button.fromVert: VTotal-scrollbar +*Taller-button.fromVert: VTotal-scrollbar +*HDisplay-text.fromHoriz: HDisplay-label +*HSyncStart-text.fromHoriz: HSyncStart-label +*HSyncStart-scrollbar.fromVert: HSyncStart-label +*HSyncStart-scrollbar.orientation: horizontal +*HSyncEnd-text.fromHoriz: HSyncEnd-label +*HSyncEnd-scrollbar.fromVert: HSyncEnd-label +*HSyncEnd-scrollbar.orientation: horizontal +*Right-button.fromHoriz: Left-button +*Wider-button.fromHoriz: Right-button +*Narrower-button.fromHoriz: Wider-button +*HTotal-text.fromHoriz: HTotal-label +*HTotal-scrollbar.fromVert: HTotal-label +*HTotal-scrollbar.orientation: horizontal +*VDisplay-form.fromHoriz: HSyncStart-form +*VTotal-form.fromHoriz: HSyncStart-form +*VSyncStart-form.fromHoriz: HSyncStart-form +*VSyncEnd-form.fromHoriz: HSyncStart-form +*VDisplay-text.fromHoriz: VDisplay-label +*VSyncStart-text.fromHoriz: VSyncStart-label +*VSyncStart-scrollbar.fromVert: VSyncStart-label +*VSyncStart-scrollbar.orientation: horizontal +*VSyncStart-text.type: XawAsciiString +*VSyncEnd-text.fromHoriz: VSyncEnd-label +*VSyncEnd-scrollbar.fromVert: VSyncEnd-label +*VSyncEnd-scrollbar.orientation: horizontal +*VTotal-text.fromHoriz: VTotal-label +*VTotal-scrollbar.fromVert: VTotal-label +*VTotal-scrollbar.orientation: horizontal +*PixelClock-form.fromHoriz: HTotal-form +*PixelClock-form.fromVert: VTotal-form +*HSyncRate-form.fromHoriz: HTotal-form +*HSyncRate-form.fromVert: PixelClock-form +*VSyncRate-form.fromHoriz: HTotal-form +*VSyncRate-form.fromVert: HSyncRate-form +*PixelClock-text.fromHoriz: PixelClock-label +*HSyncRate-text.fromHoriz: HSyncRate-label +*VSyncRate-text.fromHoriz: VSyncRate-label +*PixelClock-label.label: Pixel Clock (MHz): +*HSyncRate-label.label: Horizontal Sync (kHz): +*VSyncRate-label.label: Vertical Sync (Hz): +*Flags-text.fromHoriz: Flags-label +*HDisplay-label.label: HDisplay: +*HSyncStart-label.label: HSyncStart: +*HSyncEnd-label.label: HSyncEnd: +*HTotal-label.label: HTotal: +*VDisplay-label.label: VDisplay: +*VSyncStart-label.label: VSyncStart: +*VSyncEnd-label.label: VSyncEnd: +*VTotal-label.label: VTotal: +*Down-button.fromHoriz: Up-button +*Shorter-button.fromHoriz: Down-button +*Taller-button.fromHoriz: Shorter-button +*Flags-label.label: Flags (hex): +*Flags-text.borderWidth: 1 +*Flags-text*editType: edit +!Removed Edit capability -- Jon +*Flags-text*sensitive: False +*Apply-button.fromHoriz: Quit-button +*AutoApply-toggle.fromHoriz: Apply-button +*AutoApply-toggle.borderWidth: 1 +*Test-button.fromHoriz: AutoApply-toggle +*Restore-button.fromHoriz: Test-button +*Show-button.fromHoriz: Fetch-button +*Next-button.fromHoriz: Show-button +*Prev-button.fromHoriz: Next-button +*Quit-button.label: Quit +*Fetch-button.label: Fetch +*Show-button.label: Show +*Restore-button.label: Restore +*Test-button.label: Test +*Apply-button.label: Apply +*AutoApply-toggle.label: Auto +*Next-button.label: Next +*Prev-button.label: Prev +*Left-button.label: Left +*Right-button.label: Right +*Wider-button.label: Wider +*Narrower-button.label: Narrower +*Up-button.label: Up +*Down-button.label: Down +*Shorter-button.label: Shorter +*Taller-button.label: Taller +*Abort.label: Abort Test Now +*WarnOK.label: OK +*WarnCancel.label: Cancel +*NoTuneOK.label: OK +*Left.label: Left +*Right.label: Right +*Wider.label: Wider +*Narrower.label: Narrower +*Up.label: Up +*Down.label: Down +*Shorter.label: Shorter +*Higher.label: Higher +*AckError.label: Acknowledged +*ErrorMessage.label: Sorry: You have requested a mode-line\n\ + That is not possible, or not supported by your\n\ + hardware configuration\n +*testingMessage.label: Mode test current in progress\n\n Please wait +*WarnLabel.label: WARNING WARNING WARNING WARNING WARNING\ + WARNING\n\n\ +THE INCORRECT USE OF THIS PROGRAM CAN DO PERMANENT DAMAGE TO YOUR MONITOR\n\ +AND/OR VIDEO CARD. IF YOU ARE NOT SURE WHAT YOU ARE DOING, HIT CANCEL\n\ +NOW. OTHERWISE, HIT OK TO CONTINUE\n\ +\n\ +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\n\ +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n\ +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\n\ +IN NO EVENT SHALL Kaleb S. KEITHLEY (or his employer) OR\n\ + The X.Org Foundation \ +BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n\ +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n\ +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\n\ +DEALINGS IN THE SOFTWARE.\n\n +*NoTuneLabel.label: Video modes are not tunable on this chip.\n + + +*S3-form.fromVert: Buttons2-form +*EarlySc-toggle.fromHoriz: InvertVclk-toggle +*Blank1-label.fromHoriz: EarlySc-toggle +!*Blank1-text.fromHoriz: Blank1-label +!*Blank2-label.fromHoriz: Blank1-text +!*Blank2-text.fromHoriz: Blank2-label +*InvertVclk-toggle.borderWidth: 1 +*EarlySc-toggle.borderWidth: 1 +*Blank1-text.borderWidth: 1 +*Blank2-text.borderWidth: 1 +*Blank1-text*editType: edit +*Blank2-text*editType: edit +*Blank1-text*width: 20 +*Blank2-text*width: 20 +*InvertVclk-toggle.label: InvertVCLK +*EarlySc-toggle.label:EarlySC +*Blank1-label.label: Blank Delay 1 +*Blank2-label.label: Blank Delay 2 + +*Blank1Dec-button.fromHoriz: Blank1-label +*Blank1-text.fromHoriz: Blank1Dec-button +*Blank1Inc-button.fromHoriz: Blank1-text +*Blank2-label.fromHoriz: Blank1Inc-button +*Blank2Dec-button.fromHoriz: Blank2-label +*Blank2-text.fromHoriz: Blank2Dec-button +*Blank2Inc-button.fromHoriz: Blank2-text +*Blank1Inc-button.label: + +*Blank1Dec-button.label: - +*Blank2Inc-button.label: + +*Blank2Dec-button.label: - + +*translations: #override r: xvidtune-restore()\n\ + p: xvidtune-show()\n\ + j: xvidtune-moveleft()\n\ + k: xvidtune-moveright()\n\ + m: xvidtune-movedown()\n\ + i: xvidtune-moveup()\n\ + a: xvidtune-narrower()\n\ + s: xvidtune-wider()\n\ + x: xvidtune-shorter()\n\ + z: xvidtune-taller()\n\ + q: xvidtune-quit() diff --git a/X11/cursors/core.theme b/X11/cursors/core.theme new file mode 100644 index 0000000..33fa588 --- /dev/null +++ b/X11/cursors/core.theme @@ -0,0 +1,2 @@ +[Icon Theme] +Inherits=core diff --git a/X11/cursors/handhelds.theme b/X11/cursors/handhelds.theme new file mode 100644 index 0000000..2160a47 --- /dev/null +++ b/X11/cursors/handhelds.theme @@ -0,0 +1,2 @@ +[Icon Theme] +Inherits=handhelds diff --git a/X11/cursors/oxy-white.theme b/X11/cursors/oxy-white.theme new file mode 100644 index 0000000..06923b2 --- /dev/null +++ b/X11/cursors/oxy-white.theme @@ -0,0 +1,4 @@ +[Icon Theme] +Name = Oxygen White +Comment = Oxygen mouse theme. Oxygenize your desktop! +Inherits = oxy-white diff --git a/X11/cursors/redglass.theme b/X11/cursors/redglass.theme new file mode 100644 index 0000000..32067cc --- /dev/null +++ b/X11/cursors/redglass.theme @@ -0,0 +1,2 @@ +[Icon Theme] +Inherits=redglass diff --git a/X11/cursors/whiteglass.theme b/X11/cursors/whiteglass.theme new file mode 100644 index 0000000..c6ed360 --- /dev/null +++ b/X11/cursors/whiteglass.theme @@ -0,0 +1,2 @@ +[Icon Theme] +Inherits=whiteglass diff --git a/X11/default-display-manager b/X11/default-display-manager new file mode 100644 index 0000000..7d6c14c --- /dev/null +++ b/X11/default-display-manager @@ -0,0 +1 @@ +/usr/bin/kdm diff --git a/X11/fluxbox/apps b/X11/fluxbox/apps new file mode 100644 index 0000000..7b4aead --- /dev/null +++ b/X11/fluxbox/apps @@ -0,0 +1,4 @@ +[app] (name=fbrun) + [Position] (WINCENTER) {0 0} + [Layer] {2} +[end] diff --git a/X11/fluxbox/fluxbox-menu b/X11/fluxbox/fluxbox-menu new file mode 100644 index 0000000..d4d5ec9 --- /dev/null +++ b/X11/fluxbox/fluxbox-menu @@ -0,0 +1,141 @@ +# This is an automatically generated file. +# Please see for information. + +# to use your own menu, copy this to ~/.fluxbox/menu, then edit +# ~/.fluxbox/init and change the session.menuFile path to ~/.fluxbox/menu + +[begin] (Fluxbox) + +# Automatically generated file. Do not edit (see /usr/share/doc/menu/html/index.html) + + [submenu] (Aide) {} + [exec] (Info) { x-terminal-emulator -T "Info" -e info} <> + [exec] (Xman) {xman} <> + [end] + [submenu] (Applications) {} + [submenu] (Accessibilité) {} + [exec] (kvkbd) {/usr/bin/kvkbd} + [exec] (Xmag) {xmag} <> + [end] + [submenu] (Bureautique) {} + [exec] (LibreOffice Calc) {/usr/bin/libreoffice --calc} + [exec] (LibreOffice Impress) {/usr/bin/libreoffice --impress} + [exec] (LibreOffice Writer) {/usr/bin/libreoffice --writer} + [end] + [submenu] (Dessin et image) {} + [exec] (ImageMagick) {/usr/bin/display logo:} + [exec] (Inkscape) {/usr/bin/inkscape} + [exec] (LibreOffice Draw) {/usr/bin/libreoffice --draw} + [exec] (The GIMP) {/usr/bin/gimp} + [exec] (X Window Snapshot) {xwd | xwud} <> + [end] + [submenu] (Éditeurs) {} + [exec] (Nano) { x-terminal-emulator -T "Nano" -e /bin/nano} + [exec] (Xedit) {xedit} <> + [end] + [submenu] (Émulateurs de terminaux) {} + [exec] (XTerm) {xterm} + [exec] (XTerm (Unicode\)) {uxterm} + [end] + [submenu] (Gestion de fichiers) {} + [exec] (K3b) {/usr/bin/k3b} + [end] + [submenu] (Interpréteurs de commandes) {} + [exec] (Bash) { x-terminal-emulator -T "Bash" -e /bin/bash --login} <> + [exec] (Dash) { x-terminal-emulator -T "Dash" -e /bin/dash -i} <> + [exec] (Sh) { x-terminal-emulator -T "Sh" -e /bin/sh --login} <> + [end] + [submenu] (Lecteurs) {} + [exec] (Xditview) {xditview} <> + [end] + [submenu] (Programmation) {} + [exec] (eric) {/usr/bin/eric} + [exec] (GDB) { x-terminal-emulator -T "GDB" -e /usr/bin/gdb} <> + [exec] (Python (v2.7\)) { x-terminal-emulator -T "Python (v2.7)" -e /usr/bin/python2.7} + [exec] (Ruby (irb1.8\)) { x-terminal-emulator -T "Ruby (irb1.8)" -e /usr/bin/irb1.8} <> + [end] + [submenu] (Réseau) {} + [submenu] (Communication) {} + [exec] (Manhole Twisted Client) {/usr/bin/manhole} <> + [exec] (Telnet) { x-terminal-emulator -T "Telnet" -e /usr/bin/telnet} <> + [exec] (Twisted SSH Client) {/usr/bin/tkconch} <> + [exec] (Xbiff) {xbiff} <> + [exec] (xtightvncviewer) {/usr/bin/xtightvncviewer} <> + [end] + [submenu] (Navigateurs web) {} + [exec] (Firefox Browser) {/usr/bin/firefox} + [end] + [submenu] (Transfert de fichiers) {} + [exec] (KTorrent) {ktorrent} + [end] + [end] + [submenu] (Sciences) {} + [submenu] (Mathématiques) {} + [exec] (Bc) { x-terminal-emulator -T "Bc" -e /usr/bin/bc} <> + [exec] (Dc) { x-terminal-emulator -T "Dc" -e /usr/bin/dc} <> + [exec] (LibreOffice Math) {/usr/bin/libreoffice --math} + [exec] (Xcalc) {xcalc} <> + [end] + [end] + [submenu] (Son et musique) {} + [exec] (Amarok) {/usr/bin/amarok} <> + [exec] (Ardour Digital Audio Workstation) {/usr/bin/ardour2} <> + [exec] (JACK Control) {/usr/bin/qjackctl} + [exec] (JACK meterbridge) {/usr/bin/meterbridge -t vu alsa_pcm:playback_1 alsa_pcm:playback_2} + [exec] (JACK Rack) {/usr/bin/jack-rack} + [end] + [submenu] (Système) {} + [submenu] (Administration) {} + [exec] (Aptitude (terminal\)) { x-terminal-emulator -T "Aptitude (terminal)" -e /usr/bin/aptitude-curses} <> + [exec] (DSL/PPPoE configuration tool) { x-terminal-emulator -T "DSL/PPPoE configuration tool" -e /usr/sbin/pppoeconf} + [exec] (Editres) {editres} <> + [exec] (OpenJDK Java 6 Policy Tool) {/usr/lib/jvm/java-6-openjdk/bin/policytool} + [exec] (pppconfig) { x-terminal-emulator -T "pppconfig" -e su-to-root -p root -c /usr/sbin/pppconfig} <> + [exec] (Xclipboard) {xclipboard} <> + [exec] (Xfontsel) {xfontsel} <> + [exec] (Xkill) {xkill} <> + [exec] (Xrefresh) {xrefresh} <> + [end] + [submenu] (Matériel) {} + [exec] (Xvidtune) {xvidtune} <> + [end] + [submenu] (Paramétrage de la langue) {} + [exec] (Input Method Swicher) { x-terminal-emulator -T "Input Method Swicher" -e /usr/bin/im-switch} <> + [end] + [submenu] (Surveillance) {} + [exec] (htop) { x-terminal-emulator -T "htop" -e /usr/bin/htop} <> + [exec] (Pstree) { x-terminal-emulator -T "Pstree" -e /usr/bin/pstree.x11} + [exec] (Top) { x-terminal-emulator -T "Top" -e /usr/bin/top} <> + [exec] (Xconsole) {xconsole -file /dev/xconsole} <> + [exec] (Xev) {x-terminal-emulator -e xev} <> + [exec] (Xload) {xload} <> + [end] + [end] + [end] + [submenu] (Gestionnaires de fenêtres) {} + [restart] (FluxBox) {/usr/bin/startfluxbox} + [end] + [submenu] (Jeux) {} + [submenu] (Cartes) {} + [exec] (KDE Patience) {/usr/games/kpat} <> + [end] + [submenu] (Jouets) {} + [exec] (Oclock) {oclock} <> + [exec] (Xclock (analog\)) {xclock -analog} <> + [exec] (Xclock (digital\)) {xclock -digital -update 1} <> + [exec] (Xeyes) {xeyes} <> + [exec] (Xlogo) {xlogo} <> + [end] + [end] + + [config] (Configuration) + [submenu] (Styles) {} + [stylesdir] (/usr/share/fluxbox/styles) + [stylesdir] (~/.fluxbox/styles) + [end] + [workspaces] (Workspaces) + [reconfig] (Reconfigure) + [restart] (Restart) + [exit] (Exit) + +[end] diff --git a/X11/fluxbox/fluxbox.menu-user b/X11/fluxbox/fluxbox.menu-user new file mode 100644 index 0000000..ed1edfb --- /dev/null +++ b/X11/fluxbox/fluxbox.menu-user @@ -0,0 +1,3 @@ +[begin] (fluxbox) +[include] (/etc/X11/fluxbox/fluxbox-menu) +[end] diff --git a/X11/fluxbox/init b/X11/fluxbox/init new file mode 100644 index 0000000..32e67fb --- /dev/null +++ b/X11/fluxbox/init @@ -0,0 +1,10 @@ +! If you're looking for settings to configure, they won't be saved here until +! you change something in the fluxbox configuration menu. + +session.menuFile: ~/.fluxbox/menu +session.keyFile: ~/.fluxbox/keys +session.styleFile: /usr/share/fluxbox/styles//Ubuntu-light +session.configVersion: 13 +session.screen0.toolbar.widthPercent: 100 +session.screen0.strftimeFormat: %d %b, %a %02k:%M:%S +session.screen0.toolbar.tools: prevworkspace, workspacename, nextworkspace, clock, prevwindow, nextwindow, iconbar, systemtray \ No newline at end of file diff --git a/X11/fluxbox/keys b/X11/fluxbox/keys new file mode 100644 index 0000000..953d08b --- /dev/null +++ b/X11/fluxbox/keys @@ -0,0 +1,137 @@ +# click on the desktop to get menus +OnDesktop Mouse1 :HideMenus +OnDesktop Mouse2 :WorkspaceMenu +OnDesktop Mouse3 :RootMenu + +# scroll on the desktop to change workspaces +OnDesktop Mouse4 :PrevWorkspace +OnDesktop Mouse5 :NextWorkspace + +# scroll on the toolbar to change current window +OnToolbar Mouse4 :PrevWindow {static groups} (iconhidden=no) +OnToolbar Mouse5 :NextWindow {static groups} (iconhidden=no) + +# alt + left/right click to move/resize a window +OnWindow Mod1 Mouse1 :MacroCmd {Raise} {Focus} {StartMoving} +OnWindowBorder Move1 :StartMoving + +OnWindow Mod1 Mouse3 :MacroCmd {Raise} {Focus} {StartResizing NearestCorner} +OnLeftGrip Move1 :StartResizing bottomleft +OnRightGrip Move1 :StartResizing bottomright + +# alt + middle click to lower the window +OnWindow Mod1 Mouse2 :Lower + +# control-click a window's titlebar and drag to attach windows +OnTitlebar Control Mouse1 :StartTabbing + +# double click on the titlebar to shade +OnTitlebar Double Mouse1 :Shade + +# left click on the titlebar to move the window +OnTitlebar Mouse1 :MacroCmd {Raise} {Focus} {ActivateTab} +OnTitlebar Move1 :StartMoving + +# middle click on the titlebar to lower +OnTitlebar Mouse2 :Lower + +# right click on the titlebar for a menu of options +OnTitlebar Mouse3 :WindowMenu + +# alt-tab +Mod1 Tab :NextWindow {groups} (workspace=[current]) +Mod1 Shift Tab :PrevWindow {groups} (workspace=[current]) + +# cycle through tabs in the current window +Mod4 Tab :NextTab +Mod4 Shift Tab :PrevTab + +# go to a specific tab in the current window +Mod4 1 :Tab 1 +Mod4 2 :Tab 2 +Mod4 3 :Tab 3 +Mod4 4 :Tab 4 +Mod4 5 :Tab 5 +Mod4 6 :Tab 6 +Mod4 7 :Tab 7 +Mod4 8 :Tab 8 +Mod4 9 :Tab 9 + +# open a terminal +Mod1 F1 :Exec x-terminal-emulator + +# open a dialog to run programs +Mod1 F2 :Exec fbrun + +# volume settings, using common keycodes +# if these don't work, use xev to find out your real keycodes +176 :Exec amixer sset Master,0 1+ +174 :Exec amixer sset Master,0 1- +160 :Exec amixer sset Master,0 toggle + +# current window commands +Mod1 F4 :Close +Mod1 F5 :Kill +Mod1 F9 :Minimize +Mod1 F10 :Maximize +Mod1 F11 :Fullscreen + +# open the window menu +Mod1 space :WindowMenu + +# exit fluxbox +Control Mod1 Delete :Exit + +# change to previous/next workspace +Control Mod1 Left :PrevWorkspace +Control Mod1 Right :NextWorkspace + +# send the current window to previous/next workspace +Mod4 Left :SendToPrevWorkspace +Mod4 Right :SendToNextWorkspace + +# send the current window and follow it to previous/next workspace +Control Mod4 Left :TakeToPrevWorkspace +Control Mod4 Right :TakeToNextWorkspace + +# change to a specific workspace +Control F1 :Workspace 1 +Control F2 :Workspace 2 +Control F3 :Workspace 3 +Control F4 :Workspace 4 +Control F5 :Workspace 5 +Control F6 :Workspace 6 +Control F7 :Workspace 7 +Control F8 :Workspace 8 +Control F9 :Workspace 9 +Control F10 :Workspace 10 +Control F11 :Workspace 11 +Control F12 :Workspace 12 + +# send the current window to a specific workspace +Mod4 F1 :SendToWorkspace 1 +Mod4 F2 :SendToWorkspace 2 +Mod4 F3 :SendToWorkspace 3 +Mod4 F4 :SendToWorkspace 4 +Mod4 F5 :SendToWorkspace 5 +Mod4 F6 :SendToWorkspace 6 +Mod4 F7 :SendToWorkspace 7 +Mod4 F8 :SendToWorkspace 8 +Mod4 F9 :SendToWorkspace 9 +Mod4 F10 :SendToWorkspace 10 +Mod4 F11 :SendToWorkspace 11 +Mod4 F12 :SendToWorkspace 12 + +# send the current window and change to a specific workspace +Control Mod4 F1 :TakeToWorkspace 1 +Control Mod4 F2 :TakeToWorkspace 2 +Control Mod4 F3 :TakeToWorkspace 3 +Control Mod4 F4 :TakeToWorkspace 4 +Control Mod4 F5 :TakeToWorkspace 5 +Control Mod4 F6 :TakeToWorkspace 6 +Control Mod4 F7 :TakeToWorkspace 7 +Control Mod4 F8 :TakeToWorkspace 8 +Control Mod4 F9 :TakeToWorkspace 9 +Control Mod4 F10 :TakeToWorkspace 10 +Control Mod4 F11 :TakeToWorkspace 11 +Control Mod4 F12 :TakeToWorkspace 12 diff --git a/X11/fluxbox/menudefs.hook b/X11/fluxbox/menudefs.hook new file mode 100644 index 0000000..095e53f --- /dev/null +++ b/X11/fluxbox/menudefs.hook @@ -0,0 +1,121 @@ +# Automatically generated file. Do not edit (see /usr/share/doc/menu/html/index.html) + + [submenu] (Aide) {} + [exec] (Info) { x-terminal-emulator -T "Info" -e info} <> + [exec] (Xman) {xman} <> + [end] + [submenu] (Applications) {} + [submenu] (Accessibilité) {} + [exec] (kvkbd) {/usr/bin/kvkbd} + [exec] (Xmag) {xmag} <> + [end] + [submenu] (Bureautique) {} + [exec] (LibreOffice Calc) {/usr/bin/libreoffice --calc} + [exec] (LibreOffice Impress) {/usr/bin/libreoffice --impress} + [exec] (LibreOffice Writer) {/usr/bin/libreoffice --writer} + [end] + [submenu] (Dessin et image) {} + [exec] (ImageMagick) {/usr/bin/display logo:} + [exec] (Inkscape) {/usr/bin/inkscape} + [exec] (LibreOffice Draw) {/usr/bin/libreoffice --draw} + [exec] (The GIMP) {/usr/bin/gimp} + [exec] (X Window Snapshot) {xwd | xwud} <> + [end] + [submenu] (Éditeurs) {} + [exec] (Nano) { x-terminal-emulator -T "Nano" -e /bin/nano} + [exec] (Xedit) {xedit} <> + [end] + [submenu] (Émulateurs de terminaux) {} + [exec] (XTerm) {xterm} + [exec] (XTerm (Unicode\)) {uxterm} + [end] + [submenu] (Gestion de fichiers) {} + [exec] (K3b) {/usr/bin/k3b} + [end] + [submenu] (Interpréteurs de commandes) {} + [exec] (Bash) { x-terminal-emulator -T "Bash" -e /bin/bash --login} <> + [exec] (Dash) { x-terminal-emulator -T "Dash" -e /bin/dash -i} <> + [exec] (Sh) { x-terminal-emulator -T "Sh" -e /bin/sh --login} <> + [end] + [submenu] (Lecteurs) {} + [exec] (Xditview) {xditview} <> + [end] + [submenu] (Programmation) {} + [exec] (eric) {/usr/bin/eric} + [exec] (GDB) { x-terminal-emulator -T "GDB" -e /usr/bin/gdb} <> + [exec] (Python (v2.7\)) { x-terminal-emulator -T "Python (v2.7)" -e /usr/bin/python2.7} + [exec] (Ruby (irb1.8\)) { x-terminal-emulator -T "Ruby (irb1.8)" -e /usr/bin/irb1.8} <> + [end] + [submenu] (Réseau) {} + [submenu] (Communication) {} + [exec] (Manhole Twisted Client) {/usr/bin/manhole} <> + [exec] (Telnet) { x-terminal-emulator -T "Telnet" -e /usr/bin/telnet} <> + [exec] (Twisted SSH Client) {/usr/bin/tkconch} <> + [exec] (Xbiff) {xbiff} <> + [exec] (xtightvncviewer) {/usr/bin/xtightvncviewer} <> + [end] + [submenu] (Navigateurs web) {} + [exec] (Firefox Browser) {/usr/bin/firefox} + [end] + [submenu] (Transfert de fichiers) {} + [exec] (KTorrent) {ktorrent} + [end] + [end] + [submenu] (Sciences) {} + [submenu] (Mathématiques) {} + [exec] (Bc) { x-terminal-emulator -T "Bc" -e /usr/bin/bc} <> + [exec] (Dc) { x-terminal-emulator -T "Dc" -e /usr/bin/dc} <> + [exec] (LibreOffice Math) {/usr/bin/libreoffice --math} + [exec] (Xcalc) {xcalc} <> + [end] + [end] + [submenu] (Son et musique) {} + [exec] (Amarok) {/usr/bin/amarok} <> + [exec] (Ardour Digital Audio Workstation) {/usr/bin/ardour2} <> + [exec] (JACK Control) {/usr/bin/qjackctl} + [exec] (JACK meterbridge) {/usr/bin/meterbridge -t vu alsa_pcm:playback_1 alsa_pcm:playback_2} + [exec] (JACK Rack) {/usr/bin/jack-rack} + [end] + [submenu] (Système) {} + [submenu] (Administration) {} + [exec] (Aptitude (terminal\)) { x-terminal-emulator -T "Aptitude (terminal)" -e /usr/bin/aptitude-curses} <> + [exec] (DSL/PPPoE configuration tool) { x-terminal-emulator -T "DSL/PPPoE configuration tool" -e /usr/sbin/pppoeconf} + [exec] (Editres) {editres} <> + [exec] (OpenJDK Java 6 Policy Tool) {/usr/lib/jvm/java-6-openjdk/bin/policytool} + [exec] (pppconfig) { x-terminal-emulator -T "pppconfig" -e su-to-root -p root -c /usr/sbin/pppconfig} <> + [exec] (Xclipboard) {xclipboard} <> + [exec] (Xfontsel) {xfontsel} <> + [exec] (Xkill) {xkill} <> + [exec] (Xrefresh) {xrefresh} <> + [end] + [submenu] (Matériel) {} + [exec] (Xvidtune) {xvidtune} <> + [end] + [submenu] (Paramétrage de la langue) {} + [exec] (Input Method Swicher) { x-terminal-emulator -T "Input Method Swicher" -e /usr/bin/im-switch} <> + [end] + [submenu] (Surveillance) {} + [exec] (htop) { x-terminal-emulator -T "htop" -e /usr/bin/htop} <> + [exec] (Pstree) { x-terminal-emulator -T "Pstree" -e /usr/bin/pstree.x11} + [exec] (Top) { x-terminal-emulator -T "Top" -e /usr/bin/top} <> + [exec] (Xconsole) {xconsole -file /dev/xconsole} <> + [exec] (Xev) {x-terminal-emulator -e xev} <> + [exec] (Xload) {xload} <> + [end] + [end] + [end] + [submenu] (Gestionnaires de fenêtres) {} + [restart] (FluxBox) {/usr/bin/startfluxbox} + [end] + [submenu] (Jeux) {} + [submenu] (Cartes) {} + [exec] (KDE Patience) {/usr/games/kpat} <> + [end] + [submenu] (Jouets) {} + [exec] (Oclock) {oclock} <> + [exec] (Xclock (analog\)) {xclock -analog} <> + [exec] (Xclock (digital\)) {xclock -digital -update 1} <> + [exec] (Xeyes) {xeyes} <> + [exec] (Xlogo) {xlogo} <> + [end] + [end] diff --git a/X11/fluxbox/overlay b/X11/fluxbox/overlay new file mode 100644 index 0000000..bb4e91c --- /dev/null +++ b/X11/fluxbox/overlay @@ -0,0 +1,2 @@ +! The following line will prevent styles from setting the background. +! background: none diff --git a/X11/fluxbox/system.fluxbox-menu b/X11/fluxbox/system.fluxbox-menu new file mode 100644 index 0000000..780c8ca --- /dev/null +++ b/X11/fluxbox/system.fluxbox-menu @@ -0,0 +1,21 @@ +# This is an automatically generated file. +# Please see for information. + +# to use your own menu, copy this to ~/.fluxbox/menu, then edit +# ~/.fluxbox/init and change the session.menuFile path to ~/.fluxbox/menu + +[begin] (Fluxbox) + +include-menu-defs + + [config] (Configuration) + [submenu] (Styles) {} + [stylesdir] (/usr/share/fluxbox/styles) + [stylesdir] (~/.fluxbox/styles) + [end] + [workspaces] (Workspaces) + [reconfig] (Reconfigure) + [restart] (Restart) + [exit] (Exit) + +[end] diff --git a/X11/fluxbox/window.menu b/X11/fluxbox/window.menu new file mode 100644 index 0000000..d867b64 --- /dev/null +++ b/X11/fluxbox/window.menu @@ -0,0 +1,15 @@ +[begin] + [shade] + [stick] + [maximize] + [iconify] + [raise] + [lower] + [settitledialog] + [sendto] + [layer] + [alpha] + [extramenus] + [separator] + [close] +[end] diff --git a/X11/fonts/Type1/xfonts-mathml.scale b/X11/fonts/Type1/xfonts-mathml.scale new file mode 100644 index 0000000..9a30b43 --- /dev/null +++ b/X11/fonts/Type1/xfonts-mathml.scale @@ -0,0 +1,3 @@ +2 +Symbol.pfb -urw-standard symbols l-medium-r-normal--0-0-0-0-p-0-adobe-symbol +Symbol.pfb -urw-standard symbols l-medium-r-normal--0-0-0-0-p-0-iso10646-1 diff --git a/X11/fonts/Type1/xfonts-scalable.scale b/X11/fonts/Type1/xfonts-scalable.scale new file mode 100644 index 0000000..a9d9480 --- /dev/null +++ b/X11/fonts/Type1/xfonts-scalable.scale @@ -0,0 +1,34 @@ +33 +c0419bt_.pfb -bitstream-courier 10 pitch-medium-r-normal--0-0-0-0-m-0-adobe-standard +c0419bt_.pfb -bitstream-courier 10 pitch-medium-r-normal--0-0-0-0-m-0-ascii-0 +c0419bt_.pfb -bitstream-courier 10 pitch-medium-r-normal--0-0-0-0-m-0-iso10646-1 +c0419bt_.pfb -bitstream-courier 10 pitch-medium-r-normal--0-0-0-0-m-0-iso8859-1 +c0582bt_.pfb -bitstream-courier 10 pitch-medium-i-normal--0-0-0-0-m-0-adobe-standard +c0582bt_.pfb -bitstream-courier 10 pitch-medium-i-normal--0-0-0-0-m-0-ascii-0 +c0582bt_.pfb -bitstream-courier 10 pitch-medium-i-normal--0-0-0-0-m-0-iso10646-1 +c0582bt_.pfb -bitstream-courier 10 pitch-medium-i-normal--0-0-0-0-m-0-iso8859-1 +c0583bt_.pfb -bitstream-courier 10 pitch-bold-r-normal--0-0-0-0-m-0-adobe-standard +c0583bt_.pfb -bitstream-courier 10 pitch-bold-r-normal--0-0-0-0-m-0-ascii-0 +c0583bt_.pfb -bitstream-courier 10 pitch-bold-r-normal--0-0-0-0-m-0-iso10646-1 +c0583bt_.pfb -bitstream-courier 10 pitch-bold-r-normal--0-0-0-0-m-0-iso8859-1 +c0611bt_.pfb -bitstream-courier 10 pitch-bold-i-normal--0-0-0-0-m-0-adobe-standard +c0611bt_.pfb -bitstream-courier 10 pitch-bold-i-normal--0-0-0-0-m-0-ascii-0 +c0611bt_.pfb -bitstream-courier 10 pitch-bold-i-normal--0-0-0-0-m-0-iso10646-1 +c0611bt_.pfb -bitstream-courier 10 pitch-bold-i-normal--0-0-0-0-m-0-iso8859-1 +c0632bt_.pfb -bitstream-bitstream charter-bold-r-normal--0-0-0-0-p-0-adobe-standard +c0632bt_.pfb -bitstream-bitstream charter-bold-r-normal--0-0-0-0-p-0-ascii-0 +c0632bt_.pfb -bitstream-bitstream charter-bold-r-normal--0-0-0-0-p-0-iso10646-1 +c0632bt_.pfb -bitstream-bitstream charter-bold-r-normal--0-0-0-0-p-0-iso8859-1 +c0633bt_.pfb -bitstream-bitstream charter-bold-i-normal--0-0-0-0-p-0-adobe-standard +c0633bt_.pfb -bitstream-bitstream charter-bold-i-normal--0-0-0-0-p-0-ascii-0 +c0633bt_.pfb -bitstream-bitstream charter-bold-i-normal--0-0-0-0-p-0-iso10646-1 +c0633bt_.pfb -bitstream-bitstream charter-bold-i-normal--0-0-0-0-p-0-iso8859-1 +c0648bt_.pfb -bitstream-bitstream charter-medium-r-normal--0-0-0-0-p-0-adobe-standard +c0648bt_.pfb -bitstream-bitstream charter-medium-r-normal--0-0-0-0-p-0-ascii-0 +c0648bt_.pfb -bitstream-bitstream charter-medium-r-normal--0-0-0-0-p-0-iso10646-1 +c0648bt_.pfb -bitstream-bitstream charter-medium-r-normal--0-0-0-0-p-0-iso8859-1 +c0649bt_.pfb -bitstream-bitstream charter-medium-i-normal--0-0-0-0-p-0-adobe-standard +c0649bt_.pfb -bitstream-bitstream charter-medium-i-normal--0-0-0-0-p-0-ascii-0 +c0649bt_.pfb -bitstream-bitstream charter-medium-i-normal--0-0-0-0-p-0-iso10646-1 +c0649bt_.pfb -bitstream-bitstream charter-medium-i-normal--0-0-0-0-p-0-iso8859-1 +cursor.pfa -xfree86-cursor-medium-r-normal--0-0-0-0-p-0-adobe-fontspecific diff --git a/X11/fonts/misc/xfonts-base.alias b/X11/fonts/misc/xfonts-base.alias new file mode 100644 index 0000000..0398476 --- /dev/null +++ b/X11/fonts/misc/xfonts-base.alias @@ -0,0 +1,77 @@ +! $Xorg: fonts.alias,v 1.3 2000/08/21 16:42:31 coskrey Exp $ +fixed -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1 +variable -*-helvetica-bold-r-normal-*-*-120-*-*-*-*-iso8859-1 +5x7 -misc-fixed-medium-r-normal--7-70-75-75-c-50-iso8859-1 +5x8 -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso8859-1 +6x9 -misc-fixed-medium-r-normal--9-90-75-75-c-60-iso8859-1 +6x10 -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-1 +6x12 -misc-fixed-medium-r-semicondensed--12-110-75-75-c-60-iso8859-1 +6x13 -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1 +6x13bold -misc-fixed-bold-r-semicondensed--13-120-75-75-c-60-iso8859-1 +7x13 -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-1 +7x13bold -misc-fixed-bold-r-normal--13-120-75-75-c-70-iso8859-1 +7x13euro -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-15 +7x13eurobold -misc-fixed-bold-r-normal--13-120-75-75-c-70-iso8859-15 +7x14 -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-1 +7x14bold -misc-fixed-bold-r-normal--14-130-75-75-c-70-iso8859-1 +8x13 -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-1 +8x13bold -misc-fixed-bold-r-normal--13-120-75-75-c-80-iso8859-1 +8x16 -sony-fixed-medium-r-normal--16-120-100-100-c-80-iso8859-1 +9x15 -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-1 +9x15bold -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-1 +10x20 -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-1 +12x24 -sony-fixed-medium-r-normal--24-170-100-100-c-120-iso8859-1 +nil2 -misc-nil-medium-r-normal--2-20-75-75-c-10-misc-fontspecific + +heb6x13 -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-8 +heb8x13 -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-8 + +k14 -misc-fixed-medium-r-normal--14-*-*-*-*-*-jisx0208.1983-0 +a14 -misc-fixed-medium-r-normal--14-*-*-*-*-*-iso8859-1 +r14 -misc-fixed-medium-r-normal--14-*-*-*-*-*-jisx0201.1976-0 +rk14 -misc-fixed-medium-r-normal--14-*-*-*-*-*-jisx0201.1976-0 +r16 -sony-fixed-medium-r-normal--16-*-*-*-*-*-jisx0201.1976-0 +rk16 -sony-fixed-medium-r-normal--16-*-*-*-*-*-jisx0201.1976-0 +r24 -sony-fixed-medium-r-normal--24-*-*-*-*-*-jisx0201.1976-0 +rk24 -sony-fixed-medium-r-normal--24-*-*-*-*-*-jisx0201.1976-0 +kana14 -misc-fixed-medium-r-normal--14-*-*-*-*-*-jisx0201.1976-0 +8x16kana -sony-fixed-medium-r-normal--16-120-100-100-c-80-jisx0201.1976-0 +8x16romankana -sony-fixed-medium-r-normal--16-120-100-100-c-80-jisx0201.1976-0 +12x24kana -sony-fixed-medium-r-normal--24-170-100-100-c-120-jisx0201.1976-0 +12x24romankana -sony-fixed-medium-r-normal--24-170-100-100-c-120-jisx0201.1976-0 +kanji16 -jis-fixed-medium-r-normal--16-*-*-*-*-*-jisx0208.1983-0 +kanji24 -jis-fixed-medium-r-normal--24-*-*-*-*-*-jisx0208.1983-0 + +hanzigb16st "-isas-song ti-medium-r-normal--16-160-72-72-c-160-gb2312.1980-0" +hanzigb24st "-isas-song ti-medium-r-normal--24-240-72-72-c-240-gb2312.1980-0" +hanzigb16fs "-isas-fangsong ti-medium-r-normal--16-160-72-72-c-160-gb2312.1980-0" + +olcursor "-sun-open look cursor-----12-120-75-75-p-160-sunolcursor-1" +olglyph-10 "-sun-open look glyph-----10-100-75-75-p-101-sunolglyph-1" +olglyph-12 "-sun-open look glyph-----12-120-75-75-p-113-sunolglyph-1" +olglyph-14 "-sun-open look glyph-----14-140-75-75-p-128-sunolglyph-1" +olglyph-19 "-sun-open look glyph-----19-190-75-75-p-154-sunolglyph-1" + +-misc-fixed-medium-r-normal--7-50-100-100-c-50-iso8859-1 -misc-fixed-medium-r-normal--7-70-75-75-c-50-iso8859-1 +-misc-fixed-medium-r-normal--8-60-100-100-c-50-iso8859-1 -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso8859-1 +-misc-fixed-medium-r-normal--9-80-100-100-c-60-iso8859-1 -misc-fixed-medium-r-normal--9-90-75-75-c-60-iso8859-1 +-misc-fixed-medium-r-normal--10-70-100-100-c-60-iso8859-1 -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-1 +-misc-fixed-medium-r-semicondensed--12-90-100-100-c-60-iso8859-1 -misc-fixed-medium-r-semicondensed--12-110-75-75-c-60-iso8859-1 +-misc-fixed-medium-r-semicondensed--13-100-100-100-c-60-iso8859-1 -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1 +-misc-fixed-bold-r-semicondensed--13-100-100-100-c-60-iso8859-1 -misc-fixed-bold-r-semicondensed--13-120-75-75-c-60-iso8859-1 +-misc-fixed-medium-r-normal--13-100-100-100-c-70-iso8859-1 -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-1 +-misc-fixed-bold-r-normal--13-100-100-100-c-70-iso8859-1 -misc-fixed-bold-r-normal--13-120-75-75-c-70-iso8859-1 +-misc-fixed-medium-r-normal--13-100-100-100-c-80-iso8859-1 -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-1 +-misc-fixed-bold-r-normal--13-100-100-100-c-80-iso8859-1 -misc-fixed-bold-r-normal--13-120-75-75-c-80-iso8859-1 +-misc-fixed-medium-r-normal--14-110-100-100-c-70-iso8859-1 -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-1 +-misc-fixed-medium-r-normal--15-120-100-100-c-90-iso8859-1 -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-1 +-misc-fixed-bold-r-normal--15-120-100-100-c-90-iso8859-1 -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-1 +-misc-fixed-medium-r-normal--20-140-100-100-c-100-iso8859-1 -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-1 +-misc-fixed-medium-r-semicondensed--13-100-100-100-c-60-iso8859-8 -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-8 +-misc-fixed-medium-r-normal--13-100-100-100-c-80-iso8859-8 -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-8 +-sony-fixed-medium-r-normal--16-150-75-75-c-80-iso8859-1 -sony-fixed-medium-r-normal--16-120-100-100-c-80-iso8859-1 +-sony-fixed-medium-r-normal--16-150-75-75-c-80-jisx0201.1976-0 -sony-fixed-medium-r-normal--16-120-100-100-c-80-jisx0201.1976-0 +-sony-fixed-medium-r-normal--24-230-75-75-c-120-iso8859-1 -sony-fixed-medium-r-normal--24-170-100-100-c-120-iso8859-1 +-sony-fixed-medium-r-normal--24-230-75-75-c-120-jisx0201.1976-0 -sony-fixed-medium-r-normal--24-170-100-100-c-120-jisx0201.1976-0 +-jis-fixed-medium-r-normal--16-110-100-100-c-160-jisx0208.1983-0 -jis-fixed-medium-r-normal--16-150-75-75-c-160-jisx0208.1983-0 +-jis-fixed-medium-r-normal--24-170-100-100-c-240-jisx0208.1983-0 -jis-fixed-medium-r-normal--24-230-75-75-c-240-jisx0208.1983-0 diff --git a/X11/fonts/misc/xfonts-terminus.alias b/X11/fonts/misc/xfonts-terminus.alias new file mode 100644 index 0000000..fb061a1 --- /dev/null +++ b/X11/fonts/misc/xfonts-terminus.alias @@ -0,0 +1,238 @@ +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!! Run the command `update-fonts-alias misc' if you edit this file. !! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!! +terminus-12 -xos4-terminus-medium-r-normal--12-120-72-72-c-60-iso10646-1 +terminus-14 -xos4-terminus-medium-r-normal--14-140-72-72-c-80-iso10646-1 +terminus-16 -xos4-terminus-medium-r-normal--16-160-72-72-c-80-iso10646-1 +terminus-18 -xos4-terminus-medium-r-normal--18-180-72-72-c-100-iso10646-1 +terminus-20 -xos4-terminus-medium-r-normal--20-200-72-72-c-100-iso10646-1 +terminus-22 -xos4-terminus-medium-r-normal--22-220-72-72-c-110-iso10646-1 +terminus-24 -xos4-terminus-medium-r-normal--24-240-72-72-c-120-iso10646-1 +terminus-28 -xos4-terminus-medium-r-normal--28-280-72-72-c-140-iso10646-1 +terminus-32 -xos4-terminus-medium-r-normal--32-320-72-72-c-160-iso10646-1 +terminus-bold-12 -xos4-terminus-bold-r-normal--12-120-72-72-c-60-iso10646-1 +terminus-bold-14 -xos4-terminus-bold-r-normal--14-140-72-72-c-80-iso10646-1 +terminus-bold-16 -xos4-terminus-bold-r-normal--16-160-72-72-c-80-iso10646-1 +terminus-bold-18 -xos4-terminus-bold-r-normal--18-180-72-72-c-100-iso10646-1 +terminus-bold-20 -xos4-terminus-bold-r-normal--20-200-72-72-c-100-iso10646-1 +terminus-bold-22 -xos4-terminus-bold-r-normal--22-220-72-72-c-110-iso10646-1 +terminus-bold-24 -xos4-terminus-bold-r-normal--24-240-72-72-c-120-iso10646-1 +terminus-bold-28 -xos4-terminus-bold-r-normal--28-280-72-72-c-140-iso10646-1 +terminus-bold-32 -xos4-terminus-bold-r-normal--32-320-72-72-c-160-iso10646-1 +terminus-cp1251-12 -xos4-terminus-medium-r-normal--12-120-72-72-c-60-microsoft-cp1251 +terminus-cp1251-14 -xos4-terminus-medium-r-normal--14-140-72-72-c-80-microsoft-cp1251 +terminus-cp1251-16 -xos4-terminus-medium-r-normal--16-160-72-72-c-80-microsoft-cp1251 +terminus-cp1251-18 -xos4-terminus-medium-r-normal--18-180-72-72-c-100-microsoft-cp1251 +terminus-cp1251-20 -xos4-terminus-medium-r-normal--20-200-72-72-c-100-microsoft-cp1251 +terminus-cp1251-22 -xos4-terminus-medium-r-normal--22-220-72-72-c-110-microsoft-cp1251 +terminus-cp1251-24 -xos4-terminus-medium-r-normal--24-240-72-72-c-120-microsoft-cp1251 +terminus-cp1251-28 -xos4-terminus-medium-r-normal--28-280-72-72-c-140-microsoft-cp1251 +terminus-cp1251-32 -xos4-terminus-medium-r-normal--32-320-72-72-c-160-microsoft-cp1251 +terminus-cp1251-bold-12 -xos4-terminus-bold-r-normal--12-120-72-72-c-60-microsoft-cp1251 +terminus-cp1251-bold-14 -xos4-terminus-bold-r-normal--14-140-72-72-c-80-microsoft-cp1251 +terminus-cp1251-bold-16 -xos4-terminus-bold-r-normal--16-160-72-72-c-80-microsoft-cp1251 +terminus-cp1251-bold-18 -xos4-terminus-bold-r-normal--18-180-72-72-c-100-microsoft-cp1251 +terminus-cp1251-bold-20 -xos4-terminus-bold-r-normal--20-200-72-72-c-100-microsoft-cp1251 +terminus-cp1251-bold-22 -xos4-terminus-bold-r-normal--22-220-72-72-c-110-microsoft-cp1251 +terminus-cp1251-bold-24 -xos4-terminus-bold-r-normal--24-240-72-72-c-120-microsoft-cp1251 +terminus-cp1251-bold-28 -xos4-terminus-bold-r-normal--28-280-72-72-c-140-microsoft-cp1251 +terminus-cp1251-bold-32 -xos4-terminus-bold-r-normal--32-320-72-72-c-160-microsoft-cp1251 +terminus-pt154-12 -xos4-terminus-medium-r-normal--12-120-72-72-c-60-paratype-pt154 +terminus-pt154-14 -xos4-terminus-medium-r-normal--14-140-72-72-c-80-paratype-pt154 +terminus-pt154-16 -xos4-terminus-medium-r-normal--16-160-72-72-c-80-paratype-pt154 +terminus-pt154-18 -xos4-terminus-medium-r-normal--18-180-72-72-c-100-paratype-pt154 +terminus-pt154-20 -xos4-terminus-medium-r-normal--20-200-72-72-c-100-paratype-pt154 +terminus-pt154-22 -xos4-terminus-medium-r-normal--22-220-72-72-c-110-paratype-pt154 +terminus-pt154-24 -xos4-terminus-medium-r-normal--24-240-72-72-c-120-paratype-pt154 +terminus-pt154-28 -xos4-terminus-medium-r-normal--28-280-72-72-c-140-paratype-pt154 +terminus-pt154-32 -xos4-terminus-medium-r-normal--32-320-72-72-c-160-paratype-pt154 +terminus-pt154-bold-12 -xos4-terminus-bold-r-normal--12-120-72-72-c-60-paratype-pt154 +terminus-pt154-bold-14 -xos4-terminus-bold-r-normal--14-140-72-72-c-80-paratype-pt154 +terminus-pt154-bold-16 -xos4-terminus-bold-r-normal--16-160-72-72-c-80-paratype-pt154 +terminus-pt154-bold-18 -xos4-terminus-bold-r-normal--18-180-72-72-c-100-paratype-pt154 +terminus-pt154-bold-20 -xos4-terminus-bold-r-normal--20-200-72-72-c-100-paratype-pt154 +terminus-pt154-bold-22 -xos4-terminus-bold-r-normal--22-220-72-72-c-110-paratype-pt154 +terminus-pt154-bold-24 -xos4-terminus-bold-r-normal--24-240-72-72-c-120-paratype-pt154 +terminus-pt154-bold-28 -xos4-terminus-bold-r-normal--28-280-72-72-c-140-paratype-pt154 +terminus-pt154-bold-32 -xos4-terminus-bold-r-normal--32-320-72-72-c-160-paratype-pt154 +terminus-koi8-r-12 -xos4-terminus-medium-r-normal--12-120-72-72-c-60-koi8-r +terminus-koi8-r-14 -xos4-terminus-medium-r-normal--14-140-72-72-c-80-koi8-r +terminus-koi8-r-16 -xos4-terminus-medium-r-normal--16-160-72-72-c-80-koi8-r +terminus-koi8-r-18 -xos4-terminus-medium-r-normal--18-180-72-72-c-100-koi8-r +terminus-koi8-r-20 -xos4-terminus-medium-r-normal--20-200-72-72-c-100-koi8-r +terminus-koi8-r-22 -xos4-terminus-medium-r-normal--22-220-72-72-c-110-koi8-r +terminus-koi8-r-24 -xos4-terminus-medium-r-normal--24-240-72-72-c-120-koi8-r +terminus-koi8-r-28 -xos4-terminus-medium-r-normal--28-280-72-72-c-140-koi8-r +terminus-koi8-r-32 -xos4-terminus-medium-r-normal--32-320-72-72-c-160-koi8-r +terminus-koi8-r-bold-12 -xos4-terminus-bold-r-normal--12-120-72-72-c-60-koi8-r +terminus-koi8-r-bold-14 -xos4-terminus-bold-r-normal--14-140-72-72-c-80-koi8-r +terminus-koi8-r-bold-16 -xos4-terminus-bold-r-normal--16-160-72-72-c-80-koi8-r +terminus-koi8-r-bold-18 -xos4-terminus-bold-r-normal--18-180-72-72-c-100-koi8-r +terminus-koi8-r-bold-20 -xos4-terminus-bold-r-normal--20-200-72-72-c-100-koi8-r +terminus-koi8-r-bold-22 -xos4-terminus-bold-r-normal--22-220-72-72-c-110-koi8-r +terminus-koi8-r-bold-24 -xos4-terminus-bold-r-normal--24-240-72-72-c-120-koi8-r +terminus-koi8-r-bold-28 -xos4-terminus-bold-r-normal--28-280-72-72-c-140-koi8-r +terminus-koi8-r-bold-32 -xos4-terminus-bold-r-normal--32-320-72-72-c-160-koi8-r +terminus-koi8-u-12 -xos4-terminus-medium-r-normal--12-120-72-72-c-60-koi8-u +terminus-koi8-u-14 -xos4-terminus-medium-r-normal--14-140-72-72-c-80-koi8-u +terminus-koi8-u-16 -xos4-terminus-medium-r-normal--16-160-72-72-c-80-koi8-u +terminus-koi8-u-18 -xos4-terminus-medium-r-normal--18-180-72-72-c-100-koi8-u +terminus-koi8-u-20 -xos4-terminus-medium-r-normal--20-200-72-72-c-100-koi8-u +terminus-koi8-u-22 -xos4-terminus-medium-r-normal--22-220-72-72-c-110-koi8-u +terminus-koi8-u-24 -xos4-terminus-medium-r-normal--24-240-72-72-c-120-koi8-u +terminus-koi8-u-28 -xos4-terminus-medium-r-normal--28-280-72-72-c-140-koi8-u +terminus-koi8-u-32 -xos4-terminus-medium-r-normal--32-320-72-72-c-160-koi8-u +terminus-koi8-u-bold-12 -xos4-terminus-bold-r-normal--12-120-72-72-c-60-koi8-u +terminus-koi8-u-bold-14 -xos4-terminus-bold-r-normal--14-140-72-72-c-80-koi8-u +terminus-koi8-u-bold-16 -xos4-terminus-bold-r-normal--16-160-72-72-c-80-koi8-u +terminus-koi8-u-bold-18 -xos4-terminus-bold-r-normal--18-180-72-72-c-100-koi8-u +terminus-koi8-u-bold-20 -xos4-terminus-bold-r-normal--20-200-72-72-c-100-koi8-u +terminus-koi8-u-bold-22 -xos4-terminus-bold-r-normal--22-220-72-72-c-110-koi8-u +terminus-koi8-u-bold-24 -xos4-terminus-bold-r-normal--24-240-72-72-c-120-koi8-u +terminus-koi8-u-bold-28 -xos4-terminus-bold-r-normal--28-280-72-72-c-140-koi8-u +terminus-koi8-u-bold-32 -xos4-terminus-bold-r-normal--32-320-72-72-c-160-koi8-u +terminus-iso8859-1-12 -xos4-terminus-medium-r-normal--12-120-72-72-c-60-iso8859-1 +terminus-iso8859-1-14 -xos4-terminus-medium-r-normal--14-140-72-72-c-80-iso8859-1 +terminus-iso8859-1-16 -xos4-terminus-medium-r-normal--16-160-72-72-c-80-iso8859-1 +terminus-iso8859-1-18 -xos4-terminus-medium-r-normal--18-180-72-72-c-100-iso8859-1 +terminus-iso8859-1-20 -xos4-terminus-medium-r-normal--20-200-72-72-c-100-iso8859-1 +terminus-iso8859-1-22 -xos4-terminus-medium-r-normal--22-220-72-72-c-110-iso8859-1 +terminus-iso8859-1-24 -xos4-terminus-medium-r-normal--24-240-72-72-c-120-iso8859-1 +terminus-iso8859-1-28 -xos4-terminus-medium-r-normal--28-280-72-72-c-140-iso8859-1 +terminus-iso8859-1-32 -xos4-terminus-medium-r-normal--32-320-72-72-c-160-iso8859-1 +terminus-iso8859-1-bold-12 -xos4-terminus-bold-r-normal--12-120-72-72-c-60-iso8859-1 +terminus-iso8859-1-bold-14 -xos4-terminus-bold-r-normal--14-140-72-72-c-80-iso8859-1 +terminus-iso8859-1-bold-16 -xos4-terminus-bold-r-normal--16-160-72-72-c-80-iso8859-1 +terminus-iso8859-1-bold-18 -xos4-terminus-bold-r-normal--18-180-72-72-c-100-iso8859-1 +terminus-iso8859-1-bold-20 -xos4-terminus-bold-r-normal--20-200-72-72-c-100-iso8859-1 +terminus-iso8859-1-bold-22 -xos4-terminus-bold-r-normal--22-220-72-72-c-110-iso8859-1 +terminus-iso8859-1-bold-24 -xos4-terminus-bold-r-normal--24-240-72-72-c-120-iso8859-1 +terminus-iso8859-1-bold-28 -xos4-terminus-bold-r-normal--28-280-72-72-c-140-iso8859-1 +terminus-iso8859-1-bold-32 -xos4-terminus-bold-r-normal--32-320-72-72-c-160-iso8859-1 +terminus-iso8859-2-12 -xos4-terminus-medium-r-normal--12-120-72-72-c-60-iso8859-2 +terminus-iso8859-2-14 -xos4-terminus-medium-r-normal--14-140-72-72-c-80-iso8859-2 +terminus-iso8859-2-16 -xos4-terminus-medium-r-normal--16-160-72-72-c-80-iso8859-2 +terminus-iso8859-2-18 -xos4-terminus-medium-r-normal--18-180-72-72-c-100-iso8859-2 +terminus-iso8859-2-20 -xos4-terminus-medium-r-normal--20-200-72-72-c-100-iso8859-2 +terminus-iso8859-2-22 -xos4-terminus-medium-r-normal--22-220-72-72-c-110-iso8859-2 +terminus-iso8859-2-24 -xos4-terminus-medium-r-normal--24-240-72-72-c-120-iso8859-2 +terminus-iso8859-2-28 -xos4-terminus-medium-r-normal--28-280-72-72-c-140-iso8859-2 +terminus-iso8859-2-32 -xos4-terminus-medium-r-normal--32-320-72-72-c-160-iso8859-2 +terminus-iso8859-2-bold-12 -xos4-terminus-bold-r-normal--12-120-72-72-c-60-iso8859-2 +terminus-iso8859-2-bold-14 -xos4-terminus-bold-r-normal--14-140-72-72-c-80-iso8859-2 +terminus-iso8859-2-bold-16 -xos4-terminus-bold-r-normal--16-160-72-72-c-80-iso8859-2 +terminus-iso8859-2-bold-18 -xos4-terminus-bold-r-normal--18-180-72-72-c-100-iso8859-2 +terminus-iso8859-2-bold-20 -xos4-terminus-bold-r-normal--20-200-72-72-c-100-iso8859-2 +terminus-iso8859-2-bold-22 -xos4-terminus-bold-r-normal--22-220-72-72-c-110-iso8859-2 +terminus-iso8859-2-bold-24 -xos4-terminus-bold-r-normal--24-240-72-72-c-120-iso8859-2 +terminus-iso8859-2-bold-28 -xos4-terminus-bold-r-normal--28-280-72-72-c-140-iso8859-2 +terminus-iso8859-2-bold-32 -xos4-terminus-bold-r-normal--32-320-72-72-c-160-iso8859-2 +terminus-iso8859-5-12 -xos4-terminus-medium-r-normal--12-120-72-72-c-60-iso8859-5 +terminus-iso8859-5-14 -xos4-terminus-medium-r-normal--14-140-72-72-c-80-iso8859-5 +terminus-iso8859-5-16 -xos4-terminus-medium-r-normal--16-160-72-72-c-80-iso8859-5 +terminus-iso8859-5-18 -xos4-terminus-medium-r-normal--18-180-72-72-c-100-iso8859-5 +terminus-iso8859-5-20 -xos4-terminus-medium-r-normal--20-200-72-72-c-100-iso8859-5 +terminus-iso8859-5-22 -xos4-terminus-medium-r-normal--22-220-72-72-c-110-iso8859-5 +terminus-iso8859-5-24 -xos4-terminus-medium-r-normal--24-240-72-72-c-120-iso8859-5 +terminus-iso8859-5-28 -xos4-terminus-medium-r-normal--28-280-72-72-c-140-iso8859-5 +terminus-iso8859-5-32 -xos4-terminus-medium-r-normal--32-320-72-72-c-160-iso8859-5 +terminus-iso8859-5-bold-12 -xos4-terminus-bold-r-normal--12-120-72-72-c-60-iso8859-5 +terminus-iso8859-5-bold-14 -xos4-terminus-bold-r-normal--14-140-72-72-c-80-iso8859-5 +terminus-iso8859-5-bold-16 -xos4-terminus-bold-r-normal--16-160-72-72-c-80-iso8859-5 +terminus-iso8859-5-bold-18 -xos4-terminus-bold-r-normal--18-180-72-72-c-100-iso8859-5 +terminus-iso8859-5-bold-20 -xos4-terminus-bold-r-normal--20-200-72-72-c-100-iso8859-5 +terminus-iso8859-5-bold-22 -xos4-terminus-bold-r-normal--22-220-72-72-c-110-iso8859-5 +terminus-iso8859-5-bold-24 -xos4-terminus-bold-r-normal--24-240-72-72-c-120-iso8859-5 +terminus-iso8859-5-bold-28 -xos4-terminus-bold-r-normal--28-280-72-72-c-140-iso8859-5 +terminus-iso8859-5-bold-32 -xos4-terminus-bold-r-normal--32-320-72-72-c-160-iso8859-5 +terminus-iso8859-7-12 -xos4-terminus-medium-r-normal--12-120-72-72-c-60-iso8859-7 +terminus-iso8859-7-14 -xos4-terminus-medium-r-normal--14-140-72-72-c-80-iso8859-7 +terminus-iso8859-7-16 -xos4-terminus-medium-r-normal--16-160-72-72-c-80-iso8859-7 +terminus-iso8859-7-18 -xos4-terminus-medium-r-normal--18-180-72-72-c-100-iso8859-7 +terminus-iso8859-7-20 -xos4-terminus-medium-r-normal--20-200-72-72-c-100-iso8859-7 +terminus-iso8859-7-22 -xos4-terminus-medium-r-normal--22-220-72-72-c-110-iso8859-7 +terminus-iso8859-7-24 -xos4-terminus-medium-r-normal--24-240-72-72-c-120-iso8859-7 +terminus-iso8859-7-28 -xos4-terminus-medium-r-normal--28-280-72-72-c-140-iso8859-7 +terminus-iso8859-7-32 -xos4-terminus-medium-r-normal--32-320-72-72-c-160-iso8859-7 +terminus-iso8859-7-bold-12 -xos4-terminus-bold-r-normal--12-120-72-72-c-60-iso8859-7 +terminus-iso8859-7-bold-14 -xos4-terminus-bold-r-normal--14-140-72-72-c-80-iso8859-7 +terminus-iso8859-7-bold-16 -xos4-terminus-bold-r-normal--16-160-72-72-c-80-iso8859-7 +terminus-iso8859-7-bold-18 -xos4-terminus-bold-r-normal--18-180-72-72-c-100-iso8859-7 +terminus-iso8859-7-bold-20 -xos4-terminus-bold-r-normal--20-200-72-72-c-100-iso8859-7 +terminus-iso8859-7-bold-22 -xos4-terminus-bold-r-normal--22-220-72-72-c-110-iso8859-7 +terminus-iso8859-7-bold-24 -xos4-terminus-bold-r-normal--24-240-72-72-c-120-iso8859-7 +terminus-iso8859-7-bold-28 -xos4-terminus-bold-r-normal--28-280-72-72-c-140-iso8859-7 +terminus-iso8859-7-bold-32 -xos4-terminus-bold-r-normal--32-320-72-72-c-160-iso8859-7 +terminus-iso8859-9-12 -xos4-terminus-medium-r-normal--12-120-72-72-c-60-iso8859-9 +terminus-iso8859-9-14 -xos4-terminus-medium-r-normal--14-140-72-72-c-80-iso8859-9 +terminus-iso8859-9-16 -xos4-terminus-medium-r-normal--16-160-72-72-c-80-iso8859-9 +terminus-iso8859-9-18 -xos4-terminus-medium-r-normal--18-180-72-72-c-100-iso8859-9 +terminus-iso8859-9-20 -xos4-terminus-medium-r-normal--20-200-72-72-c-100-iso8859-9 +terminus-iso8859-9-22 -xos4-terminus-medium-r-normal--22-220-72-72-c-110-iso8859-9 +terminus-iso8859-9-24 -xos4-terminus-medium-r-normal--24-240-72-72-c-120-iso8859-9 +terminus-iso8859-9-28 -xos4-terminus-medium-r-normal--28-280-72-72-c-140-iso8859-9 +terminus-iso8859-9-32 -xos4-terminus-medium-r-normal--32-320-72-72-c-160-iso8859-9 +terminus-iso8859-9-bold-12 -xos4-terminus-bold-r-normal--12-120-72-72-c-60-iso8859-9 +terminus-iso8859-9-bold-14 -xos4-terminus-bold-r-normal--14-140-72-72-c-80-iso8859-9 +terminus-iso8859-9-bold-16 -xos4-terminus-bold-r-normal--16-160-72-72-c-80-iso8859-9 +terminus-iso8859-9-bold-18 -xos4-terminus-bold-r-normal--18-180-72-72-c-100-iso8859-9 +terminus-iso8859-9-bold-20 -xos4-terminus-bold-r-normal--20-200-72-72-c-100-iso8859-9 +terminus-iso8859-9-bold-22 -xos4-terminus-bold-r-normal--22-220-72-72-c-110-iso8859-9 +terminus-iso8859-9-bold-24 -xos4-terminus-bold-r-normal--24-240-72-72-c-120-iso8859-9 +terminus-iso8859-9-bold-28 -xos4-terminus-bold-r-normal--28-280-72-72-c-140-iso8859-9 +terminus-iso8859-9-bold-32 -xos4-terminus-bold-r-normal--32-320-72-72-c-160-iso8859-9 +terminus-iso8859-13-12 -xos4-terminus-medium-r-normal--12-120-72-72-c-60-iso8859-13 +terminus-iso8859-13-14 -xos4-terminus-medium-r-normal--14-140-72-72-c-80-iso8859-13 +terminus-iso8859-13-16 -xos4-terminus-medium-r-normal--16-160-72-72-c-80-iso8859-13 +terminus-iso8859-13-18 -xos4-terminus-medium-r-normal--18-180-72-72-c-100-iso8859-13 +terminus-iso8859-13-20 -xos4-terminus-medium-r-normal--20-200-72-72-c-100-iso8859-13 +terminus-iso8859-13-22 -xos4-terminus-medium-r-normal--22-220-72-72-c-110-iso8859-13 +terminus-iso8859-13-24 -xos4-terminus-medium-r-normal--24-240-72-72-c-120-iso8859-13 +terminus-iso8859-13-28 -xos4-terminus-medium-r-normal--28-280-72-72-c-140-iso8859-13 +terminus-iso8859-13-32 -xos4-terminus-medium-r-normal--32-320-72-72-c-160-iso8859-13 +terminus-iso8859-13-bold-12 -xos4-terminus-bold-r-normal--12-120-72-72-c-60-iso8859-13 +terminus-iso8859-13-bold-14 -xos4-terminus-bold-r-normal--14-140-72-72-c-80-iso8859-13 +terminus-iso8859-13-bold-16 -xos4-terminus-bold-r-normal--16-160-72-72-c-80-iso8859-13 +terminus-iso8859-13-bold-18 -xos4-terminus-bold-r-normal--18-180-72-72-c-100-iso8859-13 +terminus-iso8859-13-bold-20 -xos4-terminus-bold-r-normal--20-200-72-72-c-100-iso8859-13 +terminus-iso8859-13-bold-22 -xos4-terminus-bold-r-normal--22-220-72-72-c-110-iso8859-13 +terminus-iso8859-13-bold-24 -xos4-terminus-bold-r-normal--24-240-72-72-c-120-iso8859-13 +terminus-iso8859-13-bold-28 -xos4-terminus-bold-r-normal--28-280-72-72-c-140-iso8859-13 +terminus-iso8859-13-bold-32 -xos4-terminus-bold-r-normal--32-320-72-72-c-160-iso8859-13 +terminus-iso8859-15-12 -xos4-terminus-medium-r-normal--12-120-72-72-c-60-iso8859-15 +terminus-iso8859-15-14 -xos4-terminus-medium-r-normal--14-140-72-72-c-80-iso8859-15 +terminus-iso8859-15-16 -xos4-terminus-medium-r-normal--16-160-72-72-c-80-iso8859-15 +terminus-iso8859-15-18 -xos4-terminus-medium-r-normal--18-180-72-72-c-100-iso8859-15 +terminus-iso8859-15-20 -xos4-terminus-medium-r-normal--20-200-72-72-c-100-iso8859-15 +terminus-iso8859-15-22 -xos4-terminus-medium-r-normal--22-220-72-72-c-110-iso8859-15 +terminus-iso8859-15-24 -xos4-terminus-medium-r-normal--24-240-72-72-c-120-iso8859-15 +terminus-iso8859-15-28 -xos4-terminus-medium-r-normal--28-280-72-72-c-140-iso8859-15 +terminus-iso8859-15-32 -xos4-terminus-medium-r-normal--32-320-72-72-c-160-iso8859-15 +terminus-iso8859-15-bold-12 -xos4-terminus-bold-r-normal--12-120-72-72-c-60-iso8859-15 +terminus-iso8859-15-bold-14 -xos4-terminus-bold-r-normal--14-140-72-72-c-80-iso8859-15 +terminus-iso8859-15-bold-16 -xos4-terminus-bold-r-normal--16-160-72-72-c-80-iso8859-15 +terminus-iso8859-15-bold-18 -xos4-terminus-bold-r-normal--18-180-72-72-c-100-iso8859-15 +terminus-iso8859-15-bold-20 -xos4-terminus-bold-r-normal--20-200-72-72-c-100-iso8859-15 +terminus-iso8859-15-bold-22 -xos4-terminus-bold-r-normal--22-220-72-72-c-110-iso8859-15 +terminus-iso8859-15-bold-24 -xos4-terminus-bold-r-normal--24-240-72-72-c-120-iso8859-15 +terminus-iso8859-15-bold-28 -xos4-terminus-bold-r-normal--28-280-72-72-c-140-iso8859-15 +terminus-iso8859-15-bold-32 -xos4-terminus-bold-r-normal--32-320-72-72-c-160-iso8859-15 +terminus-iso8859-16-12 -xos4-terminus-medium-r-normal--12-120-72-72-c-60-iso8859-16 +terminus-iso8859-16-14 -xos4-terminus-medium-r-normal--14-140-72-72-c-80-iso8859-16 +terminus-iso8859-16-16 -xos4-terminus-medium-r-normal--16-160-72-72-c-80-iso8859-16 +terminus-iso8859-16-18 -xos4-terminus-medium-r-normal--18-180-72-72-c-100-iso8859-16 +terminus-iso8859-16-20 -xos4-terminus-medium-r-normal--20-200-72-72-c-100-iso8859-16 +terminus-iso8859-16-22 -xos4-terminus-medium-r-normal--22-220-72-72-c-110-iso8859-16 +terminus-iso8859-16-24 -xos4-terminus-medium-r-normal--24-240-72-72-c-120-iso8859-16 +terminus-iso8859-16-28 -xos4-terminus-medium-r-normal--28-280-72-72-c-140-iso8859-16 +terminus-iso8859-16-32 -xos4-terminus-medium-r-normal--32-320-72-72-c-160-iso8859-16 +terminus-iso8859-16-bold-12 -xos4-terminus-bold-r-normal--12-120-72-72-c-60-iso8859-16 +terminus-iso8859-16-bold-14 -xos4-terminus-bold-r-normal--14-140-72-72-c-80-iso8859-16 +terminus-iso8859-16-bold-16 -xos4-terminus-bold-r-normal--16-160-72-72-c-80-iso8859-16 +terminus-iso8859-16-bold-18 -xos4-terminus-bold-r-normal--18-180-72-72-c-100-iso8859-16 +terminus-iso8859-16-bold-20 -xos4-terminus-bold-r-normal--20-200-72-72-c-100-iso8859-16 +terminus-iso8859-16-bold-22 -xos4-terminus-bold-r-normal--22-220-72-72-c-110-iso8859-16 +terminus-iso8859-16-bold-24 -xos4-terminus-bold-r-normal--24-240-72-72-c-120-iso8859-16 +terminus-iso8859-16-bold-28 -xos4-terminus-bold-r-normal--28-280-72-72-c-140-iso8859-16 +terminus-iso8859-16-bold-32 -xos4-terminus-bold-r-normal--32-320-72-72-c-160-iso8859-16 diff --git a/X11/rgb.txt b/X11/rgb.txt new file mode 100644 index 0000000..b9e56c6 --- /dev/null +++ b/X11/rgb.txt @@ -0,0 +1,754 @@ +! $Xorg: rgb.txt,v 1.3 2000/08/17 19:54:00 cpqbld Exp $ +255 250 250 snow +248 248 255 ghost white +248 248 255 GhostWhite +245 245 245 white smoke +245 245 245 WhiteSmoke +220 220 220 gainsboro +255 250 240 floral white +255 250 240 FloralWhite +253 245 230 old lace +253 245 230 OldLace +250 240 230 linen +250 235 215 antique white +250 235 215 AntiqueWhite +255 239 213 papaya whip +255 239 213 PapayaWhip +255 235 205 blanched almond +255 235 205 BlanchedAlmond +255 228 196 bisque +255 218 185 peach puff +255 218 185 PeachPuff +255 222 173 navajo white +255 222 173 NavajoWhite +255 228 181 moccasin +255 248 220 cornsilk +255 255 240 ivory +255 250 205 lemon chiffon +255 250 205 LemonChiffon +255 245 238 seashell +240 255 240 honeydew +245 255 250 mint cream +245 255 250 MintCream +240 255 255 azure +240 248 255 alice blue +240 248 255 AliceBlue +230 230 250 lavender +255 240 245 lavender blush +255 240 245 LavenderBlush +255 228 225 misty rose +255 228 225 MistyRose +255 255 255 white + 0 0 0 black + 47 79 79 dark slate gray + 47 79 79 DarkSlateGray + 47 79 79 dark slate grey + 47 79 79 DarkSlateGrey +105 105 105 dim gray +105 105 105 DimGray +105 105 105 dim grey +105 105 105 DimGrey +112 128 144 slate gray +112 128 144 SlateGray +112 128 144 slate grey +112 128 144 SlateGrey +119 136 153 light slate gray +119 136 153 LightSlateGray +119 136 153 light slate grey +119 136 153 LightSlateGrey +190 190 190 gray +190 190 190 grey +211 211 211 light grey +211 211 211 LightGrey +211 211 211 light gray +211 211 211 LightGray + 25 25 112 midnight blue + 25 25 112 MidnightBlue + 0 0 128 navy + 0 0 128 navy blue + 0 0 128 NavyBlue +100 149 237 cornflower blue +100 149 237 CornflowerBlue + 72 61 139 dark slate blue + 72 61 139 DarkSlateBlue +106 90 205 slate blue +106 90 205 SlateBlue +123 104 238 medium slate blue +123 104 238 MediumSlateBlue +132 112 255 light slate blue +132 112 255 LightSlateBlue + 0 0 205 medium blue + 0 0 205 MediumBlue + 65 105 225 royal blue + 65 105 225 RoyalBlue + 0 0 255 blue + 30 144 255 dodger blue + 30 144 255 DodgerBlue + 0 191 255 deep sky blue + 0 191 255 DeepSkyBlue +135 206 235 sky blue +135 206 235 SkyBlue +135 206 250 light sky blue +135 206 250 LightSkyBlue + 70 130 180 steel blue + 70 130 180 SteelBlue +176 196 222 light steel blue +176 196 222 LightSteelBlue +173 216 230 light blue +173 216 230 LightBlue +176 224 230 powder blue +176 224 230 PowderBlue +175 238 238 pale turquoise +175 238 238 PaleTurquoise + 0 206 209 dark turquoise + 0 206 209 DarkTurquoise + 72 209 204 medium turquoise + 72 209 204 MediumTurquoise + 64 224 208 turquoise + 0 255 255 cyan +224 255 255 light cyan +224 255 255 LightCyan + 95 158 160 cadet blue + 95 158 160 CadetBlue +102 205 170 medium aquamarine +102 205 170 MediumAquamarine +127 255 212 aquamarine + 0 100 0 dark green + 0 100 0 DarkGreen + 85 107 47 dark olive green + 85 107 47 DarkOliveGreen +143 188 143 dark sea green +143 188 143 DarkSeaGreen + 46 139 87 sea green + 46 139 87 SeaGreen + 60 179 113 medium sea green + 60 179 113 MediumSeaGreen + 32 178 170 light sea green + 32 178 170 LightSeaGreen +152 251 152 pale green +152 251 152 PaleGreen + 0 255 127 spring green + 0 255 127 SpringGreen +124 252 0 lawn green +124 252 0 LawnGreen + 0 255 0 green +127 255 0 chartreuse + 0 250 154 medium spring green + 0 250 154 MediumSpringGreen +173 255 47 green yellow +173 255 47 GreenYellow + 50 205 50 lime green + 50 205 50 LimeGreen +154 205 50 yellow green +154 205 50 YellowGreen + 34 139 34 forest green + 34 139 34 ForestGreen +107 142 35 olive drab +107 142 35 OliveDrab +189 183 107 dark khaki +189 183 107 DarkKhaki +240 230 140 khaki +238 232 170 pale goldenrod +238 232 170 PaleGoldenrod +250 250 210 light goldenrod yellow +250 250 210 LightGoldenrodYellow +255 255 224 light yellow +255 255 224 LightYellow +255 255 0 yellow +255 215 0 gold +238 221 130 light goldenrod +238 221 130 LightGoldenrod +218 165 32 goldenrod +184 134 11 dark goldenrod +184 134 11 DarkGoldenrod +188 143 143 rosy brown +188 143 143 RosyBrown +205 92 92 indian red +205 92 92 IndianRed +139 69 19 saddle brown +139 69 19 SaddleBrown +160 82 45 sienna +205 133 63 peru +222 184 135 burlywood +245 245 220 beige +245 222 179 wheat +244 164 96 sandy brown +244 164 96 SandyBrown +210 180 140 tan +210 105 30 chocolate +178 34 34 firebrick +165 42 42 brown +233 150 122 dark salmon +233 150 122 DarkSalmon +250 128 114 salmon +255 160 122 light salmon +255 160 122 LightSalmon +255 165 0 orange +255 140 0 dark orange +255 140 0 DarkOrange +255 127 80 coral +240 128 128 light coral +240 128 128 LightCoral +255 99 71 tomato +255 69 0 orange red +255 69 0 OrangeRed +255 0 0 red +255 105 180 hot pink +255 105 180 HotPink +255 20 147 deep pink +255 20 147 DeepPink +255 192 203 pink +255 182 193 light pink +255 182 193 LightPink +219 112 147 pale violet red +219 112 147 PaleVioletRed +176 48 96 maroon +199 21 133 medium violet red +199 21 133 MediumVioletRed +208 32 144 violet red +208 32 144 VioletRed +255 0 255 magenta +238 130 238 violet +221 160 221 plum +218 112 214 orchid +186 85 211 medium orchid +186 85 211 MediumOrchid +153 50 204 dark orchid +153 50 204 DarkOrchid +148 0 211 dark violet +148 0 211 DarkViolet +138 43 226 blue violet +138 43 226 BlueViolet +160 32 240 purple +147 112 219 medium purple +147 112 219 MediumPurple +216 191 216 thistle +255 250 250 snow1 +238 233 233 snow2 +205 201 201 snow3 +139 137 137 snow4 +255 245 238 seashell1 +238 229 222 seashell2 +205 197 191 seashell3 +139 134 130 seashell4 +255 239 219 AntiqueWhite1 +238 223 204 AntiqueWhite2 +205 192 176 AntiqueWhite3 +139 131 120 AntiqueWhite4 +255 228 196 bisque1 +238 213 183 bisque2 +205 183 158 bisque3 +139 125 107 bisque4 +255 218 185 PeachPuff1 +238 203 173 PeachPuff2 +205 175 149 PeachPuff3 +139 119 101 PeachPuff4 +255 222 173 NavajoWhite1 +238 207 161 NavajoWhite2 +205 179 139 NavajoWhite3 +139 121 94 NavajoWhite4 +255 250 205 LemonChiffon1 +238 233 191 LemonChiffon2 +205 201 165 LemonChiffon3 +139 137 112 LemonChiffon4 +255 248 220 cornsilk1 +238 232 205 cornsilk2 +205 200 177 cornsilk3 +139 136 120 cornsilk4 +255 255 240 ivory1 +238 238 224 ivory2 +205 205 193 ivory3 +139 139 131 ivory4 +240 255 240 honeydew1 +224 238 224 honeydew2 +193 205 193 honeydew3 +131 139 131 honeydew4 +255 240 245 LavenderBlush1 +238 224 229 LavenderBlush2 +205 193 197 LavenderBlush3 +139 131 134 LavenderBlush4 +255 228 225 MistyRose1 +238 213 210 MistyRose2 +205 183 181 MistyRose3 +139 125 123 MistyRose4 +240 255 255 azure1 +224 238 238 azure2 +193 205 205 azure3 +131 139 139 azure4 +131 111 255 SlateBlue1 +122 103 238 SlateBlue2 +105 89 205 SlateBlue3 + 71 60 139 SlateBlue4 + 72 118 255 RoyalBlue1 + 67 110 238 RoyalBlue2 + 58 95 205 RoyalBlue3 + 39 64 139 RoyalBlue4 + 0 0 255 blue1 + 0 0 238 blue2 + 0 0 205 blue3 + 0 0 139 blue4 + 30 144 255 DodgerBlue1 + 28 134 238 DodgerBlue2 + 24 116 205 DodgerBlue3 + 16 78 139 DodgerBlue4 + 99 184 255 SteelBlue1 + 92 172 238 SteelBlue2 + 79 148 205 SteelBlue3 + 54 100 139 SteelBlue4 + 0 191 255 DeepSkyBlue1 + 0 178 238 DeepSkyBlue2 + 0 154 205 DeepSkyBlue3 + 0 104 139 DeepSkyBlue4 +135 206 255 SkyBlue1 +126 192 238 SkyBlue2 +108 166 205 SkyBlue3 + 74 112 139 SkyBlue4 +176 226 255 LightSkyBlue1 +164 211 238 LightSkyBlue2 +141 182 205 LightSkyBlue3 + 96 123 139 LightSkyBlue4 +198 226 255 SlateGray1 +185 211 238 SlateGray2 +159 182 205 SlateGray3 +108 123 139 SlateGray4 +202 225 255 LightSteelBlue1 +188 210 238 LightSteelBlue2 +162 181 205 LightSteelBlue3 +110 123 139 LightSteelBlue4 +191 239 255 LightBlue1 +178 223 238 LightBlue2 +154 192 205 LightBlue3 +104 131 139 LightBlue4 +224 255 255 LightCyan1 +209 238 238 LightCyan2 +180 205 205 LightCyan3 +122 139 139 LightCyan4 +187 255 255 PaleTurquoise1 +174 238 238 PaleTurquoise2 +150 205 205 PaleTurquoise3 +102 139 139 PaleTurquoise4 +152 245 255 CadetBlue1 +142 229 238 CadetBlue2 +122 197 205 CadetBlue3 + 83 134 139 CadetBlue4 + 0 245 255 turquoise1 + 0 229 238 turquoise2 + 0 197 205 turquoise3 + 0 134 139 turquoise4 + 0 255 255 cyan1 + 0 238 238 cyan2 + 0 205 205 cyan3 + 0 139 139 cyan4 +151 255 255 DarkSlateGray1 +141 238 238 DarkSlateGray2 +121 205 205 DarkSlateGray3 + 82 139 139 DarkSlateGray4 +127 255 212 aquamarine1 +118 238 198 aquamarine2 +102 205 170 aquamarine3 + 69 139 116 aquamarine4 +193 255 193 DarkSeaGreen1 +180 238 180 DarkSeaGreen2 +155 205 155 DarkSeaGreen3 +105 139 105 DarkSeaGreen4 + 84 255 159 SeaGreen1 + 78 238 148 SeaGreen2 + 67 205 128 SeaGreen3 + 46 139 87 SeaGreen4 +154 255 154 PaleGreen1 +144 238 144 PaleGreen2 +124 205 124 PaleGreen3 + 84 139 84 PaleGreen4 + 0 255 127 SpringGreen1 + 0 238 118 SpringGreen2 + 0 205 102 SpringGreen3 + 0 139 69 SpringGreen4 + 0 255 0 green1 + 0 238 0 green2 + 0 205 0 green3 + 0 139 0 green4 +127 255 0 chartreuse1 +118 238 0 chartreuse2 +102 205 0 chartreuse3 + 69 139 0 chartreuse4 +192 255 62 OliveDrab1 +179 238 58 OliveDrab2 +154 205 50 OliveDrab3 +105 139 34 OliveDrab4 +202 255 112 DarkOliveGreen1 +188 238 104 DarkOliveGreen2 +162 205 90 DarkOliveGreen3 +110 139 61 DarkOliveGreen4 +255 246 143 khaki1 +238 230 133 khaki2 +205 198 115 khaki3 +139 134 78 khaki4 +255 236 139 LightGoldenrod1 +238 220 130 LightGoldenrod2 +205 190 112 LightGoldenrod3 +139 129 76 LightGoldenrod4 +255 255 224 LightYellow1 +238 238 209 LightYellow2 +205 205 180 LightYellow3 +139 139 122 LightYellow4 +255 255 0 yellow1 +238 238 0 yellow2 +205 205 0 yellow3 +139 139 0 yellow4 +255 215 0 gold1 +238 201 0 gold2 +205 173 0 gold3 +139 117 0 gold4 +255 193 37 goldenrod1 +238 180 34 goldenrod2 +205 155 29 goldenrod3 +139 105 20 goldenrod4 +255 185 15 DarkGoldenrod1 +238 173 14 DarkGoldenrod2 +205 149 12 DarkGoldenrod3 +139 101 8 DarkGoldenrod4 +255 193 193 RosyBrown1 +238 180 180 RosyBrown2 +205 155 155 RosyBrown3 +139 105 105 RosyBrown4 +255 106 106 IndianRed1 +238 99 99 IndianRed2 +205 85 85 IndianRed3 +139 58 58 IndianRed4 +255 130 71 sienna1 +238 121 66 sienna2 +205 104 57 sienna3 +139 71 38 sienna4 +255 211 155 burlywood1 +238 197 145 burlywood2 +205 170 125 burlywood3 +139 115 85 burlywood4 +255 231 186 wheat1 +238 216 174 wheat2 +205 186 150 wheat3 +139 126 102 wheat4 +255 165 79 tan1 +238 154 73 tan2 +205 133 63 tan3 +139 90 43 tan4 +255 127 36 chocolate1 +238 118 33 chocolate2 +205 102 29 chocolate3 +139 69 19 chocolate4 +255 48 48 firebrick1 +238 44 44 firebrick2 +205 38 38 firebrick3 +139 26 26 firebrick4 +255 64 64 brown1 +238 59 59 brown2 +205 51 51 brown3 +139 35 35 brown4 +255 140 105 salmon1 +238 130 98 salmon2 +205 112 84 salmon3 +139 76 57 salmon4 +255 160 122 LightSalmon1 +238 149 114 LightSalmon2 +205 129 98 LightSalmon3 +139 87 66 LightSalmon4 +255 165 0 orange1 +238 154 0 orange2 +205 133 0 orange3 +139 90 0 orange4 +255 127 0 DarkOrange1 +238 118 0 DarkOrange2 +205 102 0 DarkOrange3 +139 69 0 DarkOrange4 +255 114 86 coral1 +238 106 80 coral2 +205 91 69 coral3 +139 62 47 coral4 +255 99 71 tomato1 +238 92 66 tomato2 +205 79 57 tomato3 +139 54 38 tomato4 +255 69 0 OrangeRed1 +238 64 0 OrangeRed2 +205 55 0 OrangeRed3 +139 37 0 OrangeRed4 +255 0 0 red1 +238 0 0 red2 +205 0 0 red3 +139 0 0 red4 +215 7 81 DebianRed +255 20 147 DeepPink1 +238 18 137 DeepPink2 +205 16 118 DeepPink3 +139 10 80 DeepPink4 +255 110 180 HotPink1 +238 106 167 HotPink2 +205 96 144 HotPink3 +139 58 98 HotPink4 +255 181 197 pink1 +238 169 184 pink2 +205 145 158 pink3 +139 99 108 pink4 +255 174 185 LightPink1 +238 162 173 LightPink2 +205 140 149 LightPink3 +139 95 101 LightPink4 +255 130 171 PaleVioletRed1 +238 121 159 PaleVioletRed2 +205 104 137 PaleVioletRed3 +139 71 93 PaleVioletRed4 +255 52 179 maroon1 +238 48 167 maroon2 +205 41 144 maroon3 +139 28 98 maroon4 +255 62 150 VioletRed1 +238 58 140 VioletRed2 +205 50 120 VioletRed3 +139 34 82 VioletRed4 +255 0 255 magenta1 +238 0 238 magenta2 +205 0 205 magenta3 +139 0 139 magenta4 +255 131 250 orchid1 +238 122 233 orchid2 +205 105 201 orchid3 +139 71 137 orchid4 +255 187 255 plum1 +238 174 238 plum2 +205 150 205 plum3 +139 102 139 plum4 +224 102 255 MediumOrchid1 +209 95 238 MediumOrchid2 +180 82 205 MediumOrchid3 +122 55 139 MediumOrchid4 +191 62 255 DarkOrchid1 +178 58 238 DarkOrchid2 +154 50 205 DarkOrchid3 +104 34 139 DarkOrchid4 +155 48 255 purple1 +145 44 238 purple2 +125 38 205 purple3 + 85 26 139 purple4 +171 130 255 MediumPurple1 +159 121 238 MediumPurple2 +137 104 205 MediumPurple3 + 93 71 139 MediumPurple4 +255 225 255 thistle1 +238 210 238 thistle2 +205 181 205 thistle3 +139 123 139 thistle4 + 0 0 0 gray0 + 0 0 0 grey0 + 3 3 3 gray1 + 3 3 3 grey1 + 5 5 5 gray2 + 5 5 5 grey2 + 8 8 8 gray3 + 8 8 8 grey3 + 10 10 10 gray4 + 10 10 10 grey4 + 13 13 13 gray5 + 13 13 13 grey5 + 15 15 15 gray6 + 15 15 15 grey6 + 18 18 18 gray7 + 18 18 18 grey7 + 20 20 20 gray8 + 20 20 20 grey8 + 23 23 23 gray9 + 23 23 23 grey9 + 26 26 26 gray10 + 26 26 26 grey10 + 28 28 28 gray11 + 28 28 28 grey11 + 31 31 31 gray12 + 31 31 31 grey12 + 33 33 33 gray13 + 33 33 33 grey13 + 36 36 36 gray14 + 36 36 36 grey14 + 38 38 38 gray15 + 38 38 38 grey15 + 41 41 41 gray16 + 41 41 41 grey16 + 43 43 43 gray17 + 43 43 43 grey17 + 46 46 46 gray18 + 46 46 46 grey18 + 48 48 48 gray19 + 48 48 48 grey19 + 51 51 51 gray20 + 51 51 51 grey20 + 54 54 54 gray21 + 54 54 54 grey21 + 56 56 56 gray22 + 56 56 56 grey22 + 59 59 59 gray23 + 59 59 59 grey23 + 61 61 61 gray24 + 61 61 61 grey24 + 64 64 64 gray25 + 64 64 64 grey25 + 66 66 66 gray26 + 66 66 66 grey26 + 69 69 69 gray27 + 69 69 69 grey27 + 71 71 71 gray28 + 71 71 71 grey28 + 74 74 74 gray29 + 74 74 74 grey29 + 77 77 77 gray30 + 77 77 77 grey30 + 79 79 79 gray31 + 79 79 79 grey31 + 82 82 82 gray32 + 82 82 82 grey32 + 84 84 84 gray33 + 84 84 84 grey33 + 87 87 87 gray34 + 87 87 87 grey34 + 89 89 89 gray35 + 89 89 89 grey35 + 92 92 92 gray36 + 92 92 92 grey36 + 94 94 94 gray37 + 94 94 94 grey37 + 97 97 97 gray38 + 97 97 97 grey38 + 99 99 99 gray39 + 99 99 99 grey39 +102 102 102 gray40 +102 102 102 grey40 +105 105 105 gray41 +105 105 105 grey41 +107 107 107 gray42 +107 107 107 grey42 +110 110 110 gray43 +110 110 110 grey43 +112 112 112 gray44 +112 112 112 grey44 +115 115 115 gray45 +115 115 115 grey45 +117 117 117 gray46 +117 117 117 grey46 +120 120 120 gray47 +120 120 120 grey47 +122 122 122 gray48 +122 122 122 grey48 +125 125 125 gray49 +125 125 125 grey49 +127 127 127 gray50 +127 127 127 grey50 +130 130 130 gray51 +130 130 130 grey51 +133 133 133 gray52 +133 133 133 grey52 +135 135 135 gray53 +135 135 135 grey53 +138 138 138 gray54 +138 138 138 grey54 +140 140 140 gray55 +140 140 140 grey55 +143 143 143 gray56 +143 143 143 grey56 +145 145 145 gray57 +145 145 145 grey57 +148 148 148 gray58 +148 148 148 grey58 +150 150 150 gray59 +150 150 150 grey59 +153 153 153 gray60 +153 153 153 grey60 +156 156 156 gray61 +156 156 156 grey61 +158 158 158 gray62 +158 158 158 grey62 +161 161 161 gray63 +161 161 161 grey63 +163 163 163 gray64 +163 163 163 grey64 +166 166 166 gray65 +166 166 166 grey65 +168 168 168 gray66 +168 168 168 grey66 +171 171 171 gray67 +171 171 171 grey67 +173 173 173 gray68 +173 173 173 grey68 +176 176 176 gray69 +176 176 176 grey69 +179 179 179 gray70 +179 179 179 grey70 +181 181 181 gray71 +181 181 181 grey71 +184 184 184 gray72 +184 184 184 grey72 +186 186 186 gray73 +186 186 186 grey73 +189 189 189 gray74 +189 189 189 grey74 +191 191 191 gray75 +191 191 191 grey75 +194 194 194 gray76 +194 194 194 grey76 +196 196 196 gray77 +196 196 196 grey77 +199 199 199 gray78 +199 199 199 grey78 +201 201 201 gray79 +201 201 201 grey79 +204 204 204 gray80 +204 204 204 grey80 +207 207 207 gray81 +207 207 207 grey81 +209 209 209 gray82 +209 209 209 grey82 +212 212 212 gray83 +212 212 212 grey83 +214 214 214 gray84 +214 214 214 grey84 +217 217 217 gray85 +217 217 217 grey85 +219 219 219 gray86 +219 219 219 grey86 +222 222 222 gray87 +222 222 222 grey87 +224 224 224 gray88 +224 224 224 grey88 +227 227 227 gray89 +227 227 227 grey89 +229 229 229 gray90 +229 229 229 grey90 +232 232 232 gray91 +232 232 232 grey91 +235 235 235 gray92 +235 235 235 grey92 +237 237 237 gray93 +237 237 237 grey93 +240 240 240 gray94 +240 240 240 grey94 +242 242 242 gray95 +242 242 242 grey95 +245 245 245 gray96 +245 245 245 grey96 +247 247 247 gray97 +247 247 247 grey97 +250 250 250 gray98 +250 250 250 grey98 +252 252 252 gray99 +252 252 252 grey99 +255 255 255 gray100 +255 255 255 grey100 +169 169 169 dark grey +169 169 169 DarkGrey +169 169 169 dark gray +169 169 169 DarkGray +0 0 139 dark blue +0 0 139 DarkBlue +0 139 139 dark cyan +0 139 139 DarkCyan +139 0 139 dark magenta +139 0 139 DarkMagenta +139 0 0 dark red +139 0 0 DarkRed +144 238 144 light green +144 238 144 LightGreen diff --git a/X11/xinit/xinitrc b/X11/xinit/xinitrc new file mode 100644 index 0000000..5a8c309 --- /dev/null +++ b/X11/xinit/xinitrc @@ -0,0 +1,8 @@ +#!/bin/sh + +# /etc/X11/xinit/xinitrc +# +# global xinitrc file, used by all X sessions started by xinit (startx) + +# invoke global X session script +. /etc/X11/Xsession diff --git a/X11/xinit/xinput.d/all_ALL b/X11/xinit/xinput.d/all_ALL new file mode 120000 index 0000000..52e4ba2 --- /dev/null +++ b/X11/xinit/xinput.d/all_ALL @@ -0,0 +1 @@ +/etc/alternatives/xinput-all_ALL \ No newline at end of file diff --git a/X11/xinit/xinput.d/default b/X11/xinit/xinput.d/default new file mode 100644 index 0000000..3404967 --- /dev/null +++ b/X11/xinit/xinput.d/default @@ -0,0 +1,40 @@ +# +# This configuration provides default IM setting (user edittable) +# See im-switch(8) and /usr/share/doc/im-switch/README.Debian . + +# +# Define IM for traditional X application with XIM +# +# XIM server name used for XMODIFIERS="@im=$XIM" +# XIM program /path/filename +# XIM program command line arguments +# +# These were traditional setting before uim and scim for CJK languages +# Language LC_CTYPE XIM server XMODIFIERS Start key +# Japanese ja_JP* kinput2 "@im=kinput2" Shift-Space +# Korean ko_KR* ami "@im=Ami" Shift-Space +# Chinese(T) zh_TW.Big5 xcin "@im=xcin-zh_TW.big5" Ctrl-Space +# Chinese(S) zh_CN.GB2312 xcin "@im=xcin-zh_CN.GB2312" Ctrl-Space +# +XIM= +XIM_PROGRAM= +XIM_ARGS= +XIM_PROGRAM_XTRA= +# Set following variable to non-zero string if program set itself as deamon +XIM_PROGRAM_SETS_ITSELF_AS_DAEMON= +# +# Define GTK and QT IM module +# They may or may not be using xim as the IM. +# +GTK_IM_MODULE= +QT_IM_MODULE= + +# +# Define lists of packages neded for above IM to function +# +DEPENDS= + +# +# Define X start up hook script to update IM environment +# + diff --git a/X11/xinit/xinput.d/default-xim b/X11/xinit/xinput.d/default-xim new file mode 100644 index 0000000..01dfb69 --- /dev/null +++ b/X11/xinit/xinput.d/default-xim @@ -0,0 +1,32 @@ +# +# General configuration to set X Input Method (xim) for GTK and QT. +# See im-switch(8) and /usr/share/doc/im-switch/README.Debian . + +# +# Define IM for traditional X application with XIM +# +# XIM server name +# XIM program /path/filename +# XIM program command line arguments +# XMODIFIERS environment parameter +# +XIM=none +XIM_PROGRAM= +XIM_ARGS= + +# +# Define GTK and QT IM module +# They may or may not be using xim as the IM. +# +GTK_IM_MODULE=xim +QT_IM_MODULE=xim + +# +# Define lists of packages neded for above IM to function +# +DEPENDS= + +# +# Define X start up hook script to update IM environment +# + diff --git a/X11/xinit/xinput.d/ibus-kde b/X11/xinit/xinput.d/ibus-kde new file mode 100644 index 0000000..fe64104 --- /dev/null +++ b/X11/xinit/xinput.d/ibus-kde @@ -0,0 +1,16 @@ +XIM=ibus +XIM_PROGRAM=/usr/bin/ibus-daemon +XIM_ARGS=" --panel=/usr/lib/ibus/ibus-ui-kde" +if [ -e /usr/lib/gtk-2.0/*/immodules/im-ibus.so ]; then + GTK_IM_MODULE=ibus +else + GTK_IM_MODULE=xim +fi + +if [ -e /usr/lib/qt4/plugins/inputmethods/libqtim-ibus.so ]; then + QT_IM_MODULE=ibus +else + QT_IM_MODULE=xim +fi +DEPENDS="ibus, ibus-gtk, ibus-qt4, plasma-widget-kimpanel-backend-ibus" +# vim:ft=sh: diff --git a/X11/xinit/xinput.d/ja_JP b/X11/xinit/xinput.d/ja_JP new file mode 120000 index 0000000..8ca83a0 --- /dev/null +++ b/X11/xinit/xinput.d/ja_JP @@ -0,0 +1 @@ +/etc/alternatives/xinput-ja_JP \ No newline at end of file diff --git a/X11/xinit/xinput.d/ko_KR b/X11/xinit/xinput.d/ko_KR new file mode 120000 index 0000000..d44bbc1 --- /dev/null +++ b/X11/xinit/xinput.d/ko_KR @@ -0,0 +1 @@ +/etc/alternatives/xinput-ko_KR \ No newline at end of file diff --git a/X11/xinit/xinput.d/lo-gtk b/X11/xinit/xinput.d/lo-gtk new file mode 100644 index 0000000..13bbbf2 --- /dev/null +++ b/X11/xinit/xinput.d/lo-gtk @@ -0,0 +1,33 @@ +# +# This configuration provides default IM setting for Lao with stock GTK+ +# Thai-Lao input method. +# See im-switch(8) and /usr/share/doc/im-switch/README.Debian . + +# +# Define IM for traditional X application with XIM +# +# XIM server name +# XIM program /path/filename +# XIM program command line arguments +# XMODIFIERS environment parameter +# +XIM=none +XIM_PROGRAM= +XIM_ARGS= + +# +# Define GTK and QT IM module +# They may or may not be using xim as the IM. +# +GTK_IM_MODULE="thai" +QT_IM_MODULE="xim" + +# +# Define lists of packages neded for above IM to function +# +DEPENDS= + +# +# Define X start up hook script to update IM environment +# + diff --git a/X11/xinit/xinput.d/lo_TH b/X11/xinit/xinput.d/lo_TH new file mode 120000 index 0000000..9b67578 --- /dev/null +++ b/X11/xinit/xinput.d/lo_TH @@ -0,0 +1 @@ +/etc/alternatives/xinput-lo_TH \ No newline at end of file diff --git a/X11/xinit/xinput.d/none b/X11/xinit/xinput.d/none new file mode 100644 index 0000000..26b0517 --- /dev/null +++ b/X11/xinit/xinput.d/none @@ -0,0 +1,28 @@ +# +# This configuration provides setting not to use any IM (keep as this is) +# See im-switch(8) and /usr/share/doc/im-switch/README.Debian . +# +XIM= +XIM_PROGRAM= +XIM_ARGS= +XIM_PROGRAM_XTRA= + +# +# Define GTK and QT IM module +# They may or may not be using xim as the IM. +# +GTK_IM_MODULE= +QT_IM_MODULE= + +# Make sure to set as -z +XMODIFIERS= + +# +# Define lists of packages neded for above IM to function +# +DEPENDS= + +# +# Define X start up hook script to update IM environment +# + diff --git a/X11/xinit/xinput.d/th-gtk b/X11/xinit/xinput.d/th-gtk new file mode 100644 index 0000000..0d54e0d --- /dev/null +++ b/X11/xinit/xinput.d/th-gtk @@ -0,0 +1,33 @@ +# +# This configuration provides default IM setting for Thai with stock GTK+ +# Thai-Lao input method. +# See im-switch(8) and /usr/share/doc/im-switch/README.Debian . + +# +# Define IM for traditional X application with XIM +# +# XIM server name +# XIM program /path/filename +# XIM program command line arguments +# XMODIFIERS environment parameter +# +XIM=BasicCheck +XIM_PROGRAM= +XIM_ARGS= + +# +# Define GTK and QT IM module +# They may or may not be using xim as the IM. +# +GTK_IM_MODULE="thai" +QT_IM_MODULE="xim" + +# +# Define lists of packages neded for above IM to function +# +DEPENDS= + +# +# Define X start up hook script to update IM environment +# + diff --git a/X11/xinit/xinput.d/th-xim b/X11/xinit/xinput.d/th-xim new file mode 100644 index 0000000..1af18df --- /dev/null +++ b/X11/xinit/xinput.d/th-xim @@ -0,0 +1,32 @@ +# +# This configuration provides default IM setting for Thai with xim +# See im-switch(8) and /usr/share/doc/im-switch/README.Debian . + +# +# Define IM for traditional X application with XIM +# +# XIM server name +# XIM program /path/filename +# XIM program command line arguments +# XMODIFIERS environment parameter +# +XIM=BasicCheck +XIM_PROGRAM= +XIM_ARGS= + +# +# Define GTK and QT IM module +# They may or may not be using xim as the IM. +# +GTK_IM_MODULE="xim" +QT_IM_MODULE="xim" + +# +# Define lists of packages neded for above IM to function +# +DEPENDS= + +# +# Define X start up hook script to update IM environment +# + diff --git a/X11/xinit/xinput.d/th_TH b/X11/xinit/xinput.d/th_TH new file mode 120000 index 0000000..a49b622 --- /dev/null +++ b/X11/xinit/xinput.d/th_TH @@ -0,0 +1 @@ +/etc/alternatives/xinput-th_TH \ No newline at end of file diff --git a/X11/xinit/xinput.d/zh_CN b/X11/xinit/xinput.d/zh_CN new file mode 120000 index 0000000..672fe2e --- /dev/null +++ b/X11/xinit/xinput.d/zh_CN @@ -0,0 +1 @@ +/etc/alternatives/xinput-zh_CN \ No newline at end of file diff --git a/X11/xinit/xinput.d/zh_HK b/X11/xinit/xinput.d/zh_HK new file mode 120000 index 0000000..9993bed --- /dev/null +++ b/X11/xinit/xinput.d/zh_HK @@ -0,0 +1 @@ +/etc/alternatives/xinput-zh_HK \ No newline at end of file diff --git a/X11/xinit/xinput.d/zh_SG b/X11/xinit/xinput.d/zh_SG new file mode 120000 index 0000000..c539c8c --- /dev/null +++ b/X11/xinit/xinput.d/zh_SG @@ -0,0 +1 @@ +/etc/alternatives/xinput-zh_SG \ No newline at end of file diff --git a/X11/xinit/xinput.d/zh_TW b/X11/xinit/xinput.d/zh_TW new file mode 120000 index 0000000..db38c3e --- /dev/null +++ b/X11/xinit/xinput.d/zh_TW @@ -0,0 +1 @@ +/etc/alternatives/xinput-zh_TW \ No newline at end of file diff --git a/X11/xinit/xserverrc b/X11/xinit/xserverrc new file mode 100755 index 0000000..94494ec --- /dev/null +++ b/X11/xinit/xserverrc @@ -0,0 +1,3 @@ +#!/bin/sh + +exec /usr/bin/X -nolisten tcp "$@" diff --git a/X11/xorg.conf b/X11/xorg.conf new file mode 100644 index 0000000..8175bd6 --- /dev/null +++ b/X11/xorg.conf @@ -0,0 +1,208 @@ +Section "ServerLayout" + Identifier "X.org Configured" + Screen 0 "Screen0" 0 0 + Screen 1 "Screen1" RightOf "Screen0" + Screen 2 "Screen2" RightOf "Screen1" + InputDevice "Mouse0" "CorePointer" + InputDevice "Keyboard0" "CoreKeyboard" +EndSection + +Section "Files" + ModulePath "/usr/lib/xorg/modules" + FontPath "/usr/share/fonts/X11/misc" + FontPath "/usr/share/fonts/X11/cyrillic" + FontPath "/usr/share/fonts/X11/100dpi/:unscaled" + FontPath "/usr/share/fonts/X11/75dpi/:unscaled" + FontPath "/usr/share/fonts/X11/Type1" + FontPath "/usr/share/fonts/X11/100dpi" + FontPath "/usr/share/fonts/X11/75dpi" + FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType" + FontPath "built-ins" +EndSection + +Section "Module" + Load "dri" + Load "extmod" + Load "dri2" + Load "glx" + Load "dbe" + Load "record" +EndSection + +Section "InputDevice" + Identifier "Keyboard0" + Driver "kbd" +EndSection + +Section "InputDevice" + Identifier "Mouse0" + Driver "mouse" + Option "Protocol" "auto" + Option "Device" "/dev/input/mice" + Option "ZAxisMapping" "4 5 6 7" +EndSection + +Section "Monitor" + Identifier "Monitor0" + VendorName "Monitor Vendor" + ModelName "Monitor Model" +EndSection + +Section "Monitor" + Identifier "Monitor1" + VendorName "Monitor Vendor" + ModelName "Monitor Model" +EndSection + +Section "Monitor" + Identifier "Monitor2" + VendorName "Monitor Vendor" + ModelName "Monitor Model" +EndSection + +Section "Device" + ### Available Driver options are:- + ### Values: : integer, : float, : "True"/"False", + ### : "String", : " Hz/kHz/MHz", + ### : "%" + ### [arg]: arg optional + Option "DRI" "true" + #Option "ColorKey" # + #Option "VideoKey" # + #Option "FallbackDebug" # [] + #Option "Tiling" # [] + #Option "LinearFramebuffer" # [] + #Option "Shadow" # [] + #Option "SwapbuffersWait" # [] + #Option "TripleBuffer" # [] + Option "XvMC" "true" + #Option "XvPreferOverlay" # [] + #Option "DebugFlushBatches" # [] + #Option "DebugFlushCaches" # [] + #Option "DebugWait" # [] + #Option "HotPlug" # [] + #Option "RelaxedFencing" # [] + Identifier "Card0" + Driver "intel" + BusID "PCI:0:2:0" +EndSection + +Section "Device" + ### Available Driver options are:- + ### Values: : integer, : float, : "True"/"False", + ### : "String", : " Hz/kHz/MHz", + ### : "%" + ### [arg]: arg optional + #Option "ShadowFB" # [] + #Option "Rotate" # + #Option "fbdev" # + #Option "debug" # [] + Identifier "Card1" + Driver "fbdev" + BusID "PCI:0:2:0" +EndSection + +Section "Device" + ### Available Driver options are:- + ### Values: : integer, : float, : "True"/"False", + ### : "String", : " Hz/kHz/MHz", + ### : "%" + ### [arg]: arg optional + #Option "ShadowFB" # [] + #Option "DefaultRefresh" # [] + #Option "ModeSetClearScreen" # [] + Identifier "Card2" + Driver "vesa" + BusID "PCI:0:2:0" +EndSection + +Section "Screen" + Identifier "Screen0" + Device "Card0" + Monitor "Monitor0" + SubSection "Display" + Viewport 0 0 + Depth 1 + EndSubSection + SubSection "Display" + Viewport 0 0 + Depth 4 + EndSubSection + SubSection "Display" + Viewport 0 0 + Depth 8 + EndSubSection + SubSection "Display" + Viewport 0 0 + Depth 15 + EndSubSection + SubSection "Display" + Viewport 0 0 + Depth 16 + EndSubSection + SubSection "Display" + Viewport 0 0 + Depth 24 + EndSubSection +EndSection + +Section "Screen" + Identifier "Screen1" + Device "Card1" + Monitor "Monitor1" + SubSection "Display" + Viewport 0 0 + Depth 1 + EndSubSection + SubSection "Display" + Viewport 0 0 + Depth 4 + EndSubSection + SubSection "Display" + Viewport 0 0 + Depth 8 + EndSubSection + SubSection "Display" + Viewport 0 0 + Depth 15 + EndSubSection + SubSection "Display" + Viewport 0 0 + Depth 16 + EndSubSection + SubSection "Display" + Viewport 0 0 + Depth 24 + EndSubSection +EndSection + +Section "Screen" + Identifier "Screen2" + Device "Card2" + Monitor "Monitor2" + SubSection "Display" + Viewport 0 0 + Depth 1 + EndSubSection + SubSection "Display" + Viewport 0 0 + Depth 4 + EndSubSection + SubSection "Display" + Viewport 0 0 + Depth 8 + EndSubSection + SubSection "Display" + Viewport 0 0 + Depth 15 + EndSubSection + SubSection "Display" + Viewport 0 0 + Depth 16 + EndSubSection + SubSection "Display" + Viewport 0 0 + Depth 24 + EndSubSection +EndSection + diff --git a/acpi/asus-brn-down.sh b/acpi/asus-brn-down.sh new file mode 100755 index 0000000..57e028f --- /dev/null +++ b/acpi/asus-brn-down.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +test -f /usr/share/acpi-support/key-constants || exit 0 +. /usr/share/acpi-support/key-constants +acpi_fakekey $KEY_BRIGHTNESSDOWN diff --git a/acpi/asus-brn-up.sh b/acpi/asus-brn-up.sh new file mode 100755 index 0000000..1bdf9bd --- /dev/null +++ b/acpi/asus-brn-up.sh @@ -0,0 +1,13 @@ +#!/bin/sh +test -f /usr/share/acpi-support/key-constants || exit 0 + +. /usr/share/acpi-support/key-constants + +DeviceConfig + +if [ "$model" != "701" ] ; then + # On an Eee PC (ASUSTeK model 701) the keys in the range handled by this + # script have entirely different meanings. They are handled in separate + # scripts. + acpi_fakekey $KEY_BRIGHTNESSUP +fi diff --git a/acpi/asus-touchpad.sh b/acpi/asus-touchpad.sh new file mode 100755 index 0000000..ebaf7bb --- /dev/null +++ b/acpi/asus-touchpad.sh @@ -0,0 +1,22 @@ +#!/bin/sh +[ -f /usr/share/acpi-support/state-funcs ] || exit 0 + +. /usr/share/acpi-support/power-funcs + +# if this is the right behavior, then this should be moved out of acpi-support +# to hal (or whatever is replacing hal for such events) +getXconsole + +XINPUTNUM=`xinput list | grep 'SynPS/2 Synaptics TouchPad' | sed -n -e's/.*id=\([0-9]\+\).*/\1/p'` + +# get the current state of the touchpad +TPSTATUS=`xinput list-props $XINPUTNUM | awk '/Synaptics Off/ { print $NF }'` + +# if getting the status failed, exit +test -z $TPSTATUS && exit 1 + +if [ $TPSTATUS = 0 ]; then + xinput set-int-prop $XINPUTNUM "Synaptics Off" 8 1 +else + xinput set-int-prop $XINPUTNUM "Synaptics Off" 8 0 +fi diff --git a/acpi/asus-wireless.sh b/acpi/asus-wireless.sh new file mode 100755 index 0000000..31ed6bb --- /dev/null +++ b/acpi/asus-wireless.sh @@ -0,0 +1,8 @@ +#!/bin/sh +# Find and toggle wireless devices on Asus laptops + +test -f /usr/share/acpi-support/state-funcs || exit 0 + +. /usr/share/acpi-support/state-funcs + +toggleAllWirelessStates diff --git a/acpi/batterybtn.sh b/acpi/batterybtn.sh new file mode 100755 index 0000000..f2d3bae --- /dev/null +++ b/acpi/batterybtn.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +test -f /usr/share/acpi-support/key-constants || exit 0 + +. /usr/share/acpi-support/key-constants + +acpi_fakekey $KEY_BATTERY diff --git a/acpi/ejectbtn.sh b/acpi/ejectbtn.sh new file mode 100755 index 0000000..47da34f --- /dev/null +++ b/acpi/ejectbtn.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +test -f /usr/share/acpi-support/key-constants || exit 0 + +. /usr/share/acpi-support/key-constants +acpi_fakekey $KEY_EJECTCD diff --git a/acpi/events/ac b/acpi/events/ac new file mode 100644 index 0000000..68dea99 --- /dev/null +++ b/acpi/events/ac @@ -0,0 +1,6 @@ +# /etc/acpi/events/ac +# Called when the user connects ac power to us +# + +event=ac_adapter +action=/etc/acpi/power.sh diff --git a/acpi/events/asus-brightness-down b/acpi/events/asus-brightness-down new file mode 100644 index 0000000..ea8c8f8 --- /dev/null +++ b/acpi/events/asus-brightness-down @@ -0,0 +1,2 @@ +event=hotkey (ATKD|HOTK) 0000002[0123456789abcdef] +action=/etc/acpi/asus-brn-down.sh diff --git a/acpi/events/asus-brightness-up b/acpi/events/asus-brightness-up new file mode 100644 index 0000000..6d38a14 --- /dev/null +++ b/acpi/events/asus-brightness-up @@ -0,0 +1,2 @@ +event=hotkey (ATKD|HOTK) 0000001[0123456789abcdef] +action=/etc/acpi/asus-brn-up.sh diff --git a/acpi/events/asus-f8sv-touchpad b/acpi/events/asus-f8sv-touchpad new file mode 100644 index 0000000..53df05f --- /dev/null +++ b/acpi/events/asus-f8sv-touchpad @@ -0,0 +1,6 @@ +# /etc/acpi/events/asus-f8sv-touchpad +# This is called when the user presses the touchpad button on the ASUS F8SV +# and calls /etc/acpi/asus-touchpad.sh for further processing. + +event=hotkey ATKD 0000008a +action=/etc/acpi/asus-touchpad.sh diff --git a/acpi/events/asus-media-eject b/acpi/events/asus-media-eject new file mode 100644 index 0000000..2116c6d --- /dev/null +++ b/acpi/events/asus-media-eject @@ -0,0 +1,6 @@ +# /etc/acpi/events/asus-media-eject +# This is called when the user presses the eject media button and calls +# /etc/acpi/media.sh for further processing. + +event=hotkey (ATKD|HOTK) 0000004c +action=/etc/acpi/ejectbtn.sh diff --git a/acpi/events/asus-rotate b/acpi/events/asus-rotate new file mode 100644 index 0000000..13271ba --- /dev/null +++ b/acpi/events/asus-rotate @@ -0,0 +1,6 @@ +# /etc/acpi/events/asus-rotate +# This is called when the user rotates the screen to/from tablet mode, or +# when "rotate screen" button is pressed. + +event=hotkey (ATKD|HOTK) 0000009b +action=/etc/acpi/rotatescreen.sh diff --git a/acpi/events/asus-touchpad b/acpi/events/asus-touchpad new file mode 100644 index 0000000..9379323 --- /dev/null +++ b/acpi/events/asus-touchpad @@ -0,0 +1,6 @@ +# /etc/acpi/events/asus-touchpad +# This is called when the user presses the touchpad button and calls +# /etc/acpi/asus-touchpad.sh for further processing. + +event=hotkey (ATKD|HOTK) (0000006[ab]|00000037) +action=/etc/acpi/asus-touchpad.sh diff --git a/acpi/events/asus-video b/acpi/events/asus-video new file mode 100644 index 0000000..dc5956f --- /dev/null +++ b/acpi/events/asus-video @@ -0,0 +1,5 @@ +# /etc/acpi/events/asus-video +# This is called when the user presses the video button. +event=hotkey (ATKD|HOTK) 0000006[123] +action=/etc/acpi/videobtn.sh + diff --git a/acpi/events/asus-wireless-off b/acpi/events/asus-wireless-off new file mode 100644 index 0000000..65368c0 --- /dev/null +++ b/acpi/events/asus-wireless-off @@ -0,0 +1,3 @@ +event=hotkey (ATKD|HOTK) 0000005e +action=/etc/acpi/asus-wireless.sh off + diff --git a/acpi/events/asus-wireless-on b/acpi/events/asus-wireless-on new file mode 100644 index 0000000..74aa017 --- /dev/null +++ b/acpi/events/asus-wireless-on @@ -0,0 +1,3 @@ +event=hotkey (ATKD|HOTK) 0000005f +action=/etc/acpi/asus-wireless.sh on + diff --git a/acpi/events/battery b/acpi/events/battery new file mode 100644 index 0000000..46c24cf --- /dev/null +++ b/acpi/events/battery @@ -0,0 +1,5 @@ +# /etc/acpi/events/battery +# Called when AC power goes away and we switch to battery + +event=battery +action=/etc/acpi/power.sh diff --git a/acpi/events/ibm-wireless b/acpi/events/ibm-wireless new file mode 100644 index 0000000..b24339f --- /dev/null +++ b/acpi/events/ibm-wireless @@ -0,0 +1,7 @@ +# /etc/acpi/events/ibmwireless +# This is called when the user presses the wireless button and calls +# /etc/acpi/wireless.sh for further processing. + +event=ibm/hotkey HKEY 00000080 00001005 +action=/etc/acpi/ibm-wireless.sh + diff --git a/acpi/events/lenovo-touchpad b/acpi/events/lenovo-touchpad new file mode 100644 index 0000000..b47e2d2 --- /dev/null +++ b/acpi/events/lenovo-touchpad @@ -0,0 +1,8 @@ +# /etc/acpi/events/ibmvideobtn +# This is called when the user presses Fn-F8. On ThinkPads this +# toggles the stretching of the display; On LenovoPads this toggles +# the touchpad on and off. + +event=ibm/hotkey HKEY 00000080 00001008 +action=/etc/acpi/thinkpad-stretchortouchpad.sh + diff --git a/acpi/events/lenovo-undock b/acpi/events/lenovo-undock new file mode 100644 index 0000000..f10c1d7 --- /dev/null +++ b/acpi/events/lenovo-undock @@ -0,0 +1,2 @@ +event=ibm/hotkey HKEY 00000080 00001009 +action=/etc/acpi/undock.sh diff --git a/acpi/events/lidbtn b/acpi/events/lidbtn new file mode 100644 index 0000000..b941e63 --- /dev/null +++ b/acpi/events/lidbtn @@ -0,0 +1,5 @@ +# /etc/acpi/events/lidbtn +# Called when the user closes or opens the lid + +event=button[ /]lid +action=/etc/acpi/lid.sh diff --git a/acpi/events/panasonic-lockbtn b/acpi/events/panasonic-lockbtn new file mode 100644 index 0000000..415d8ef --- /dev/null +++ b/acpi/events/panasonic-lockbtn @@ -0,0 +1,6 @@ +# /etc/acpi/events/panasonic-lockbtn +# This is called when the user presses the lock button and calls +# /etc/acpi/screenblank.sh for further processing + +event=pcc HKEY 00000080 00000088 +action=/etc/acpi/screenblank.sh diff --git a/acpi/events/powerbtn b/acpi/events/powerbtn new file mode 100644 index 0000000..8347570 --- /dev/null +++ b/acpi/events/powerbtn @@ -0,0 +1,13 @@ +# /etc/acpi/events/powerbtn +# This is called when the user presses the power button and calls +# /etc/acpi/powerbtn.sh for further processing. + +# Optionally you can specify the placeholder %e. It will pass +# through the whole kernel event message to the program you've +# specified. + +# We need to react on "button power.*" and "button/power.*" because +# of kernel changes. + +event=button[ /]power +action=/etc/acpi/powerbtn.sh diff --git a/acpi/events/sleepbtn b/acpi/events/sleepbtn new file mode 100644 index 0000000..bd0ec98 --- /dev/null +++ b/acpi/events/sleepbtn @@ -0,0 +1,10 @@ +# /etc/acpi/events/sleepbtn +# Called when the user presses the sleep button + +# Note that this script is part of the SUSPEND part of acpi-support. This is +# not a key translation event, it is intended to perform a suspend if no +# power management daemon is running. + +event=button[ /]sleep +action=/etc/acpi/sleep.sh + diff --git a/acpi/events/thinkpad-cmos b/acpi/events/thinkpad-cmos new file mode 100644 index 0000000..5c2eddf --- /dev/null +++ b/acpi/events/thinkpad-cmos @@ -0,0 +1,7 @@ +# /etc/acpi/events/thinkpad-cmos +# This is called when ever an ACPI interupt comes in; we +# use it to perform a (more intelligent) event-driven form +# of polling for Thinkpad hotkey status. + +event=METHOD CMOS|UCMS|CMS 00000000 00000000 +action=/usr/sbin/thinkpad-keys --update diff --git a/acpi/events/tosh-battery b/acpi/events/tosh-battery new file mode 100644 index 0000000..c808345 --- /dev/null +++ b/acpi/events/tosh-battery @@ -0,0 +1,2 @@ +event=hkey VAL[DZ] 00000001 0000013c +action=/etc/acpi/batterybtn.sh diff --git a/acpi/events/tosh-hibernate b/acpi/events/tosh-hibernate new file mode 100644 index 0000000..6e3a592 --- /dev/null +++ b/acpi/events/tosh-hibernate @@ -0,0 +1,2 @@ +event=hkey VAL[DZ] 00000001 0000013e +action=/etc/acpi/hibernatebtn.sh diff --git a/acpi/events/tosh-ibutton b/acpi/events/tosh-ibutton new file mode 100644 index 0000000..2e7c0c9 --- /dev/null +++ b/acpi/events/tosh-ibutton @@ -0,0 +1,2 @@ +event=hkey VAL[DZ] 00000001 00000b05 +action=/etc/acpi/mediabtn.sh diff --git a/acpi/events/tosh-lock b/acpi/events/tosh-lock new file mode 100644 index 0000000..b9e94b5 --- /dev/null +++ b/acpi/events/tosh-lock @@ -0,0 +1,3 @@ +event=hkey VAL[DZ] 00000001 0000013b +action=/etc/acpi/lockbtn.sh + diff --git a/acpi/events/tosh-mail b/acpi/events/tosh-mail new file mode 100644 index 0000000..e28efc9 --- /dev/null +++ b/acpi/events/tosh-mail @@ -0,0 +1,2 @@ +event=hkey VAL[DZ] 00000001 00000b07 +action=/etc/acpi/mailbtn.sh diff --git a/acpi/events/tosh-media b/acpi/events/tosh-media new file mode 100644 index 0000000..184f6a8 --- /dev/null +++ b/acpi/events/tosh-media @@ -0,0 +1,2 @@ +event=hkey VAL[DZ] 00000000 00000b5a +action=/etc/acpi/mediabtn.sh diff --git a/acpi/events/tosh-next b/acpi/events/tosh-next new file mode 100644 index 0000000..64f4978 --- /dev/null +++ b/acpi/events/tosh-next @@ -0,0 +1,2 @@ +event=hkey VAL[DZ] 00000000 00000b32 +action=/etc/acpi/nextbtn.sh diff --git a/acpi/events/tosh-play b/acpi/events/tosh-play new file mode 100644 index 0000000..eb09d7f --- /dev/null +++ b/acpi/events/tosh-play @@ -0,0 +1,2 @@ +event=hkey VAL[DZ] 00000000 00000b33 +action=/etc/acpi/playbtn.sh diff --git a/acpi/events/tosh-prev b/acpi/events/tosh-prev new file mode 100644 index 0000000..d95f845 --- /dev/null +++ b/acpi/events/tosh-prev @@ -0,0 +1,2 @@ +event=hkey VAL[DZ] 00000000 00000b31 +action=/etc/acpi/prevbtn.sh diff --git a/acpi/events/tosh-stop b/acpi/events/tosh-stop new file mode 100644 index 0000000..1345ccc --- /dev/null +++ b/acpi/events/tosh-stop @@ -0,0 +1,2 @@ +event=hkey VAL[DZ] 00000000 00000b30 +action=/etc/acpi/stopbtn.sh diff --git a/acpi/events/tosh-wireless b/acpi/events/tosh-wireless new file mode 100644 index 0000000..f81012c --- /dev/null +++ b/acpi/events/tosh-wireless @@ -0,0 +1,6 @@ +# /etc/acpi/events/tosh-wireless +# This is called when the user presses the wireless button and calls +# /etc/acpi/wireless.sh for further processing. + +event=hkey VAL[DZ] 00000001 00000142 +action=/etc/acpi/tosh-wireless.sh diff --git a/acpi/events/tosh-www b/acpi/events/tosh-www new file mode 100644 index 0000000..6143daf --- /dev/null +++ b/acpi/events/tosh-www @@ -0,0 +1,2 @@ +event=hkey VAL[DZ] 00000001 00000b06 +action=/etc/acpi/webbtn.sh diff --git a/acpi/events/videobtn b/acpi/events/videobtn new file mode 100644 index 0000000..c412800 --- /dev/null +++ b/acpi/events/videobtn @@ -0,0 +1,3 @@ +# /etc/acpi/events/videobtn +event=video.* 00000080 +action=/etc/acpi/videobtn.sh diff --git a/acpi/hibernate.sh b/acpi/hibernate.sh new file mode 100755 index 0000000..7233868 --- /dev/null +++ b/acpi/hibernate.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# TODO: Above should be /bin/sh + +test -f /usr/share/acpi-support/state-funcs || exit 0 + +. /etc/default/acpi-support + +if [ x$ACPI_HIBERNATE != xtrue ] && [ x$1 != xforce ]; then + exit; +fi + +pm-hibernate diff --git a/acpi/ibm-wireless.sh b/acpi/ibm-wireless.sh new file mode 100755 index 0000000..ddfa60f --- /dev/null +++ b/acpi/ibm-wireless.sh @@ -0,0 +1,23 @@ +#!/bin/sh + +test -f /usr/share/acpi-support/state-funcs || exit 0 + +# Find and toggle wireless of bluetooth devices on ThinkPads + +. /usr/share/acpi-support/state-funcs + +rfkill list | sed -n -e'/tpacpi_bluetooth_sw/,/^[0-9]/p' | grep -q 'Soft blocked: yes' +bluetooth_state=$? + +# Note that this always alters the state of the wireless! +toggleAllWirelessStates; + +# Sequence is Both on, Both off, Wireless only, Bluetooth only +if ! isAnyWirelessPoweredOn; then + # Wireless was turned off + if [ "$bluetooth_state" = 0 ]; then + rfkill unblock bluetooth + else + rfkill block bluetooth + fi +fi diff --git a/acpi/lid.sh b/acpi/lid.sh new file mode 100755 index 0000000..2d3ca47 --- /dev/null +++ b/acpi/lid.sh @@ -0,0 +1,48 @@ +#!/bin/bash +# TODO: Change the above to /bin/sh + +test -f /usr/share/acpi-support/state-funcs || exit 0 + +. /usr/share/acpi-support/power-funcs +. /usr/share/acpi-support/policy-funcs +. /etc/default/acpi-support + +[ -x /etc/acpi/local/lid.sh.pre ] && /etc/acpi/local/lid.sh.pre + +if [ `CheckPolicy` = 0 ]; then exit; fi + +grep -q closed /proc/acpi/button/lid/*/state +if [ $? = 0 ] +then + for x in /tmp/.X11-unix/*; do + displaynum=`echo $x | sed s#/tmp/.X11-unix/X##` + getXuser; + if [ x"$XAUTHORITY" != x"" ]; then + export DISPLAY=":$displaynum" + . /usr/share/acpi-support/screenblank + fi + done +else + for x in /tmp/.X11-unix/*; do + displaynum=`echo $x | sed s#/tmp/.X11-unix/X##` + getXuser; + if [ x"$XAUTHORITY" != x"" ]; then + export DISPLAY=":$displaynum" + grep -q off-line /proc/acpi/ac_adapter/*/state + if [ $? = 1 ] + then + if pidof xscreensaver > /dev/null; then + su $user -c "xscreensaver-command -unthrottle" + fi + fi + if [ x$RADEON_LIGHT = xtrue ]; then + [ -x /usr/sbin/radeontool ] && radeontool light on + fi + if [ `pidof xscreensaver` ]; then + su $user -c "xscreensaver-command -deactivate" + fi + su $user -c "xset dpms force on" + fi + done +fi +[ -x /etc/acpi/local/lid.sh.post ] && /etc/acpi/local/lid.sh.post diff --git a/acpi/lockbtn.sh b/acpi/lockbtn.sh new file mode 100755 index 0000000..719adbf --- /dev/null +++ b/acpi/lockbtn.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +test -f /usr/share/acpi-support/key-constants || exit 0 + +. /usr/share/acpi-support/key-constants + +acpi_fakekey $KEY_COFFEE diff --git a/acpi/mailbtn.sh b/acpi/mailbtn.sh new file mode 100755 index 0000000..e6a6bf9 --- /dev/null +++ b/acpi/mailbtn.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +test -f /usr/share/acpi-support/state-funcs || exit 0 + +. /etc/default/acpi-support +. /usr/share/acpi-support/power-funcs + +getXconsole; +if [ x"$XAUTHORITY" != x"" ]; then + . /usr/share/acpi-support/key-constants + acpi_fakekey $KEY_MAIL # [was: 236] +fi diff --git a/acpi/mediabtn.sh b/acpi/mediabtn.sh new file mode 100755 index 0000000..6c2758f --- /dev/null +++ b/acpi/mediabtn.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +test -f /usr/share/acpi-support/key-constants || exit 0 + +. /usr/share/acpi-support/key-constants +acpi_fakekey $KEY_MEDIA diff --git a/acpi/nextbtn.sh b/acpi/nextbtn.sh new file mode 100755 index 0000000..4584f51 --- /dev/null +++ b/acpi/nextbtn.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +test -f /usr/share/acpi-support/key-constants || exit 0 + +. /usr/share/acpi-support/key-constants +acpi_fakekey $KEY_NEXTSONG diff --git a/acpi/playbtn.sh b/acpi/playbtn.sh new file mode 100755 index 0000000..65dda0d --- /dev/null +++ b/acpi/playbtn.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +test -f /usr/share/acpi-support/key-constants || exit 0 + +. /usr/share/acpi-support/key-constants +acpi_fakekey $KEY_PLAYPAUSE diff --git a/acpi/power.sh b/acpi/power.sh new file mode 100755 index 0000000..f0f8124 --- /dev/null +++ b/acpi/power.sh @@ -0,0 +1,11 @@ +#!/bin/sh + +test -f /usr/share/acpi-support/key-constants || exit 0 + +. /usr/share/acpi-support/policy-funcs + +if [ -z "$*" ] && ( [ `CheckPolicy` = 0 ] || CheckUPowerPolicy ); then + exit; +fi + +pm-powersave $* diff --git a/acpi/powerbtn.sh b/acpi/powerbtn.sh new file mode 100755 index 0000000..54b7d71 --- /dev/null +++ b/acpi/powerbtn.sh @@ -0,0 +1,53 @@ +#!/bin/sh +# /etc/acpi/powerbtn.sh +# Initiates a shutdown when the power putton has been +# pressed. + +[ -r /usr/share/acpi-support/power-funcs ] && . /usr/share/acpi-support/power-funcs + +# getXuser gets the X user belonging to the display in $displaynum. +# If you want the foreground X user, use getXconsole! +getXuser() { + user=`pinky -fw | awk '{ if ($2 == ":'$displaynum'" || $(NF) == ":'$displaynum'" ) { print $1; exit; } }'` + if [ x"$user" = x"" ]; then + startx=`pgrep -n startx` + if [ x"$startx" != x"" ]; then + user=`ps -o user --no-headers $startx` + fi + fi + if [ x"$user" != x"" ]; then + userhome=`getent passwd $user | cut -d: -f6` + export XAUTHORITY=$userhome/.Xauthority + else + export XAUTHORITY="" + fi + export XUSER=$user +} + +# Skip if we just in the middle of resuming. +test -f /var/lock/acpisleep && exit 0 + +# If the current X console user is running a power management daemon that +# handles suspend/resume requests, let them handle policy This is effectively +# the same as 'acpi-support's '/usr/share/acpi-support/policy-funcs' file. + +[ -r /usr/share/acpi-support/power-funcs ] && getXconsole +PMS="gnome-settings-daemon kpowersave xfce4-power-manager" +PMS="$PMS guidance-power-manager.py dalston-power-applet" + +if pidof x $PMS > /dev/null; then + exit +elif test "$XUSER" != "" && pidof dcopserver > /dev/null && test -x /usr/bin/dcop && /usr/bin/dcop --user $XUSER kded kded loadedModules | grep -q klaptopdaemon; then + exit +elif test "$XUSER" != "" && test -x /usr/bin/qdbus; then + kded4pid=$(pgrep -n -u $XUSER kded4) + if test "$kded4pid" != ""; then + dbusaddr=$(su - $XUSER -c "grep -z DBUS_SESSION_BUS_ADDRESS /proc/$kded4pid/environ") + if test "$dbusaddr" != "" && su - $XUSER -c "export $dbusaddr; qdbus org.kde.kded" | grep -q powerdevil; then + exit + fi + fi +fi + +# If all else failed, just initiate a plain shutdown. +/sbin/shutdown -h now "Power button pressed" diff --git a/acpi/prevbtn.sh b/acpi/prevbtn.sh new file mode 100755 index 0000000..9bf40fc --- /dev/null +++ b/acpi/prevbtn.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +test -f /usr/share/acpi-support/key-constants || exit 0 + +. /usr/share/acpi-support/key-constants +acpi_fakekey $KEY_PREVIOUSSONG diff --git a/acpi/rotatescreen.sh b/acpi/rotatescreen.sh new file mode 100755 index 0000000..d12d60a --- /dev/null +++ b/acpi/rotatescreen.sh @@ -0,0 +1,31 @@ +#!/bin/sh +# +# This script rotates the display in TabletPCs when screen is changed from +# laptop to tablet mode, or when rotation button is pressed + +test -f /usr/share/acpi-support/key-constants || exit 0 + +. /usr/share/acpi-support/power-funcs + +if [ -f /var/lib/acpi-support/screen-rotation ] ; then + ROTATION=`cat /var/lib/acpi-support/screen-rotation` +fi + +case "$ROTATION" in + right) + NEW_ROTATION="normal" + ;; + *) + NEW_ROTATION="right" + ;; +esac + +for x in /tmp/.X11-unix/*; do + displaynum=`echo $x | sed s#/tmp/.X11-unix/X##` + getXconsole; + if [ x"$XAUTHORITY" != x"" ]; then + export DISPLAY=":$displaynum" + /usr/bin/xrandr -o $NEW_ROTATION && echo $NEW_ROTATION > /var/lib/acpi-support/screen-rotation + fi +done + diff --git a/acpi/screenblank.sh b/acpi/screenblank.sh new file mode 100755 index 0000000..ac3b19b --- /dev/null +++ b/acpi/screenblank.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +test -f /usr/share/acpi-support/key-constants || exit 0 + +. /etc/default/acpi-support +. /usr/share/acpi-support/power-funcs + +for x in /tmp/.X11-unix/*; do + displaynum=`echo $x | sed s#/tmp/.X11-unix/X##` + getXuser; + if [ x"$XAUTHORITY" != x"" ]; then + export DISPLAY=":$displaynum" + . /usr/share/acpi-support/screenblank + fi +done diff --git a/acpi/sleep.sh b/acpi/sleep.sh new file mode 100755 index 0000000..fbc76a6 --- /dev/null +++ b/acpi/sleep.sh @@ -0,0 +1,42 @@ +#!/bin/bash +# TODO: Change above to /bin/sh + +# This script HANDLES the sleep button (does not TRANSLATE it). It is part +# of the *suspend* side of acpi-support, not the special keys translation +# side. If this script is called, it is assumed to be the result of a suspend +# key press that can also be heard by other parts of the system. The only time +# that it actually does something is when it is determined that no other parts +# of the system are listening (this is what the CheckPolicy call does). + +test -f /usr/share/acpi-support/key-constants || exit 0 + +. /etc/default/acpi-support +. /usr/share/acpi-support/power-funcs +. /usr/share/acpi-support/device-funcs +. /usr/share/acpi-support/policy-funcs + +DeviceConfig; + +if [ x$ACPI_SLEEP != xtrue ] && [ x$1 != xforce ]; then + exit; +fi + +# If gnome-power-manager or klaptopdaemon are running, let them handle policy +if [ x$1 != xforce ] && [ x$1 != xsleep ] && [ `CheckPolicy` = 0 ]; then + exit; +fi + +if [ x$LOCK_SCREEN = xtrue ]; then + if pidof xscreensaver > /dev/null; then + for x in /tmp/.X11-unix/*; do + displaynum=`echo $x | sed s#/tmp/.X11-unix/X##` + getXuser; + if [ x"$XAUTHORITY" != x"" ]; then + export DISPLAY=":$displaynum" + . /usr/share/acpi-support/screenblank + fi + done + fi +fi + +pm-suspend diff --git a/acpi/sleepbtn.sh b/acpi/sleepbtn.sh new file mode 100755 index 0000000..221205f --- /dev/null +++ b/acpi/sleepbtn.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +# This script is part of the KEY TRANSLATION part of acpi-support. Compare with +# sleep.sh, which is part of the SUSPEND part of acpi-support. This script is +# intended to translate a key event which is not seen as a suspend key press by +# the rest of the system. + + +test -f /usr/share/acpi-support/key-constants || exit 0 + +. /usr/share/acpi-support/key-constants +acpi_fakekey $KEY_SLEEP diff --git a/acpi/stopbtn.sh b/acpi/stopbtn.sh new file mode 100755 index 0000000..f35f732 --- /dev/null +++ b/acpi/stopbtn.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +test -f /usr/share/acpi-support/key-constants || exit 0 + +. /usr/share/acpi-support/key-constants +acpi_fakekey $KEY_STOPCD diff --git a/acpi/thinkpad-stretchortouchpad.sh b/acpi/thinkpad-stretchortouchpad.sh new file mode 100755 index 0000000..99f6a69 --- /dev/null +++ b/acpi/thinkpad-stretchortouchpad.sh @@ -0,0 +1,37 @@ +#!/bin/sh + +test -f /usr/share/acpi-support/key-constants || exit 0 + +# Lenovo rock. They have changed the function of the Fn-F8 +# combination on the LenovoPads from stretching the display (in +# hardware/BIOS) to toggling the touchpad on and off. +# +# Unfortunately they didn't bother to change the DMI strings +# consistently... so some of the new machines say 'LENOVO' and some +# still say 'IBM'. Yay for consistency(!). + +# So: +# IBM && !Series60 => nothing +# IBM && Series60 => Touchpad toggle +# LENOVO && ThinkPad => Touchpad toggle + +toggle_touchpad=0 + +system_manufactuer=`dmidecode -s system-manufacturer` +case "$system_manufactuer" in + IBM*) + system_version=`dmidecode -s system-version` + case "$system_version" in + ThinkPad\ [TXZ]60*) + toggle_touchpad=1 + ;; + esac + ;; + LENOVO*) + toggle_touchpad=1 + ;; +esac + +if [ "$toggle_touchpad" -ne 0 -a -x /etc/acpi/asus-touchpad.sh ] ; then + /etc/acpi/asus-touchpad.sh +fi diff --git a/acpi/tosh-wireless.sh b/acpi/tosh-wireless.sh new file mode 100755 index 0000000..089cb15 --- /dev/null +++ b/acpi/tosh-wireless.sh @@ -0,0 +1,20 @@ +#!/bin/sh + +test -f /usr/share/acpi-support/key-constants || exit 0 + +. /usr/share/acpi-support/state-funcs + +if isAnyWirelessPoweredOn; then + if [ -x /usr/bin/toshset ]; then + if `toshset -bluetooth | grep -q attached`; then + toshset -bluetooth off + toggleAllWirelessStates + else + toshset -bluetooth on + fi + else + toggleAllWirelessStates + fi +else + toggleAllWirelessStates +fi diff --git a/acpi/undock.sh b/acpi/undock.sh new file mode 100755 index 0000000..9505eb3 --- /dev/null +++ b/acpi/undock.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +test -f /usr/share/acpi-support/key-constants || exit 0 + +for device in /sys/devices/platform/dock.*; do + [ -e "$device/type" ] || continue + [ x$(cat "$device/type") = xdock_station ] || continue + echo 1 > "$device/undock" +done diff --git a/acpi/videobtn.sh b/acpi/videobtn.sh new file mode 100755 index 0000000..e84b381 --- /dev/null +++ b/acpi/videobtn.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +test -f /usr/share/acpi-support/key-constants || exit 0 + +. /usr/share/acpi-support/key-constants +acpi_fakekey $KEY_VIDEOOUT diff --git a/acpi/webbtn.sh b/acpi/webbtn.sh new file mode 100755 index 0000000..e3d4a29 --- /dev/null +++ b/acpi/webbtn.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +test -f /usr/share/acpi-support/key-constants || exit 0 + +. /usr/share/acpi-support/key-constants +acpi_fakekey $KEY_WWW diff --git a/adduser.conf b/adduser.conf new file mode 100644 index 0000000..1626c04 --- /dev/null +++ b/adduser.conf @@ -0,0 +1,85 @@ +# /etc/adduser.conf: `adduser' configuration. +# See adduser(8) and adduser.conf(5) for full documentation. + +# The DSHELL variable specifies the default login shell on your +# system. +DSHELL=/bin/bash + +# The DHOME variable specifies the directory containing users' home +# directories. +DHOME=/home + +# If GROUPHOMES is "yes", then the home directories will be created as +# /home/groupname/user. +GROUPHOMES=no + +# If LETTERHOMES is "yes", then the created home directories will have +# an extra directory - the first letter of the user name. For example: +# /home/u/user. +LETTERHOMES=no + +# The SKEL variable specifies the directory containing "skeletal" user +# files; in other words, files such as a sample .profile that will be +# copied to the new user's home directory when it is created. +SKEL=/etc/skel + +# FIRST_SYSTEM_[GU]ID to LAST_SYSTEM_[GU]ID inclusive is the range for UIDs +# for dynamically allocated administrative and system accounts/groups. +# Please note that system software, such as the users allocated by the base-passwd +# package, may assume that UIDs less than 100 are unallocated. +FIRST_SYSTEM_UID=100 +LAST_SYSTEM_UID=999 + +FIRST_SYSTEM_GID=100 +LAST_SYSTEM_GID=999 + +# FIRST_[GU]ID to LAST_[GU]ID inclusive is the range of UIDs of dynamically +# allocated user accounts/groups. +FIRST_UID=1000 +LAST_UID=29999 + +FIRST_GID=1000 +LAST_GID=29999 + +# The USERGROUPS variable can be either "yes" or "no". If "yes" each +# created user will be given their own group to use as a default. If +# "no", each created user will be placed in the group whose gid is +# USERS_GID (see below). +USERGROUPS=yes + +# If USERGROUPS is "no", then USERS_GID should be the GID of the group +# `users' (or the equivalent group) on your system. +USERS_GID=100 + +# If DIR_MODE is set, directories will be created with the specified +# mode. Otherwise the default mode 0755 will be used. +DIR_MODE=0755 + +# If SETGID_HOME is "yes" home directories for users with their own +# group the setgid bit will be set. This was the default for +# versions << 3.13 of adduser. Because it has some bad side effects we +# no longer do this per default. If you want it nevertheless you can +# still set it here. +SETGID_HOME=no + +# If QUOTAUSER is set, a default quota will be set from that user with +# `edquota -p QUOTAUSER newuser' +QUOTAUSER="" + +# If SKEL_IGNORE_REGEX is set, adduser will ignore files matching this +# regular expression when creating a new home directory +SKEL_IGNORE_REGEX="dpkg-(old|new|dist|save)" + +# Set this if you want the --add_extra_groups option to adduser to add +# new users to other groups. +# This is the list of groups that new non-system users will be added to +# Default: +#EXTRA_GROUPS="dialout cdrom floppy audio video plugdev users" + +# If ADD_EXTRA_GROUPS is set to something non-zero, the EXTRA_GROUPS +# option above will be default behavior for adding new, non-system users +#ADD_EXTRA_GROUPS=1 + + +# check user and group names also against this regular expression. +#NAME_REGEX="^[a-z][-a-z0-9_]*\$" diff --git a/adjtime b/adjtime new file mode 100644 index 0000000..7481b11 --- /dev/null +++ b/adjtime @@ -0,0 +1 @@ +0.0 0 0.0 diff --git a/akonadi/mysql-global-mobile.conf b/akonadi/mysql-global-mobile.conf new file mode 100644 index 0000000..8e5e0b0 --- /dev/null +++ b/akonadi/mysql-global-mobile.conf @@ -0,0 +1,59 @@ +# +# Global Akonadi MySQL server settings, +# These settings can be adjusted using $HOME/.config/akonadi/mysql-local.conf +# +# Based on advice by Kris Köhntopp +# +[mysqld] +skip_grant_tables +skip_networking + +# strict query parsing/interpretation +# TODO: make Akonadi work with those settings enabled +#sql_mode=strict_trans_tables,strict_all_tables,strict_error_for_division_by_zero,no_auto_create_user,no_auto_value_on_zero,no_engine_substitution,no_zero_date,no_zero_in_date,only_full_group_by,pipes_as_concat +#sql_mode=strict_trans_tables + +# use InnoDB for transactions and better crash recovery +default_storage_engine=innodb +# case-insensitive table names, avoids trouble on windows +lower_case_table_names=1 +character_set_server=utf8 +collation_server=utf8_general_ci +table_cache=200 +thread_cache_size=3 +#log_bin=mysql-bin +#expire_logs_days=3 +#sync_bin_log=0 +# error log file name, relative to datadir +log_error=mysql.err +log_warnings=2 +# log all queries, useful for debugging but generates an enormous amount of data +#log=mysql.full +# log queries slower than n seconds, log file name relative to datadir (for debugging only) +#log_slow_queries=mysql.slow +#long_query_time=1 +# log queries not using indices, debug only, disable for production use +#log_queries_not_using_indexes=1 +# maximum blob size +max_allowed_packet=32M +max_connections=256 +# makes sense when having the same query multiple times +# makes no sense with prepared statements and/or transactions +query_cache_type=0 +query_cache_size=0 + +innodb_file_per_table=1 +innodb_log_buffer_size=1M +innodb_additional_mem_pool_size=1M +# messure database size and adjust +# SELECT sum(data_length) as bla, sum(index_length) as blub FROM information_schema.tables WHERE table_schema not in ("mysql", "information_schema"); +innodb_buffer_pool_size=8M +# size of average write burst, keep Innob_log_waits small, keep Innodb_buffer_pool_wait_free small (see show global status like "inno%", show global variables) +innodb_log_file_size=2M +innodb_flush_log_at_trx_commit=2 + +# Do not drop the connection to the DB after 8 hours of inactivity +wait_timeout=31536000 + +[client] +default-character-set=utf8 diff --git a/akonadi/mysql-global.conf b/akonadi/mysql-global.conf new file mode 100644 index 0000000..635489a --- /dev/null +++ b/akonadi/mysql-global.conf @@ -0,0 +1,59 @@ +# +# Global Akonadi MySQL server settings, +# These settings can be adjusted using $HOME/.config/akonadi/mysql-local.conf +# +# Based on advice by Kris Köhntopp +# +[mysqld] +skip_grant_tables +skip_networking + +# strict query parsing/interpretation +# TODO: make Akonadi work with those settings enabled +#sql_mode=strict_trans_tables,strict_all_tables,strict_error_for_division_by_zero,no_auto_create_user,no_auto_value_on_zero,no_engine_substitution,no_zero_date,no_zero_in_date,only_full_group_by,pipes_as_concat +#sql_mode=strict_trans_tables + +# use InnoDB for transactions and better crash recovery +default_storage_engine=innodb +# case-insensitive table names, avoids trouble on windows +lower_case_table_names=1 +character_set_server=utf8 +collation_server=utf8_general_ci +table_cache=200 +thread_cache_size=3 +#log_bin=mysql-bin +#expire_logs_days=3 +#sync_bin_log=0 +# error log file name, relative to datadir +log_error=mysql.err +log_warnings=2 +# log all queries, useful for debugging but generates an enormous amount of data +#log=mysql.full +# log queries slower than n seconds, log file name relative to datadir (for debugging only) +#log_slow_queries=mysql.slow +#long_query_time=1 +# log queries not using indices, debug only, disable for production use +#log_queries_not_using_indexes=1 +# maximum blob size +max_allowed_packet=32M +max_connections=256 +# makes sense when having the same query multiple times +# makes no sense with prepared statements and/or transactions +query_cache_type=0 +query_cache_size=0 + +innodb_file_per_table=1 +innodb_log_buffer_size=1M +innodb_additional_mem_pool_size=1M +# messure database size and adjust +# SELECT sum(data_length) as bla, sum(index_length) as blub FROM information_schema.tables WHERE table_schema not in ("mysql", "information_schema"); +innodb_buffer_pool_size=80M +# size of average write burst, keep Innob_log_waits small, keep Innodb_buffer_pool_wait_free small (see show global status like "inno%", show global variables) +innodb_log_file_size=64M +innodb_flush_log_at_trx_commit=2 + +# Do not drop the connection to the DB after 8 hours of inactivity +wait_timeout=31536000 + +[client] +default-character-set=utf8 diff --git a/alternatives/README b/alternatives/README new file mode 100644 index 0000000..54ef740 --- /dev/null +++ b/alternatives/README @@ -0,0 +1,2 @@ +Please read the update-alternatives(8) man page for information on this +directory and its contents. diff --git a/alternatives/Xvnc b/alternatives/Xvnc new file mode 120000 index 0000000..f0c75d1 --- /dev/null +++ b/alternatives/Xvnc @@ -0,0 +1 @@ +/usr/bin/Xvnc4 \ No newline at end of file diff --git a/alternatives/Xvnc.1.gz b/alternatives/Xvnc.1.gz new file mode 120000 index 0000000..acd732d --- /dev/null +++ b/alternatives/Xvnc.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/Xvnc4.1.gz \ No newline at end of file diff --git a/alternatives/aptitude b/alternatives/aptitude new file mode 120000 index 0000000..92636dd --- /dev/null +++ b/alternatives/aptitude @@ -0,0 +1 @@ +/usr/bin/aptitude-curses \ No newline at end of file diff --git a/alternatives/awk b/alternatives/awk new file mode 120000 index 0000000..19ba657 --- /dev/null +++ b/alternatives/awk @@ -0,0 +1 @@ +/usr/bin/gawk \ No newline at end of file diff --git a/alternatives/awk.1.gz b/alternatives/awk.1.gz new file mode 120000 index 0000000..134262b --- /dev/null +++ b/alternatives/awk.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/gawk.1.gz \ No newline at end of file diff --git a/alternatives/builtins.7.gz b/alternatives/builtins.7.gz new file mode 120000 index 0000000..96d1b74 --- /dev/null +++ b/alternatives/builtins.7.gz @@ -0,0 +1 @@ +/usr/share/man/man7/bash-builtins.7.gz \ No newline at end of file diff --git a/alternatives/c++ b/alternatives/c++ new file mode 120000 index 0000000..e51afad --- /dev/null +++ b/alternatives/c++ @@ -0,0 +1 @@ +/usr/bin/g++ \ No newline at end of file diff --git a/alternatives/c++.1.gz b/alternatives/c++.1.gz new file mode 120000 index 0000000..1c4ac1e --- /dev/null +++ b/alternatives/c++.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/g++.1.gz \ No newline at end of file diff --git a/alternatives/c89 b/alternatives/c89 new file mode 120000 index 0000000..9e67d74 --- /dev/null +++ b/alternatives/c89 @@ -0,0 +1 @@ +/usr/bin/c89-gcc \ No newline at end of file diff --git a/alternatives/c89.1.gz b/alternatives/c89.1.gz new file mode 120000 index 0000000..3a74238 --- /dev/null +++ b/alternatives/c89.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/c89-gcc.1.gz \ No newline at end of file diff --git a/alternatives/c99 b/alternatives/c99 new file mode 120000 index 0000000..323b6db --- /dev/null +++ b/alternatives/c99 @@ -0,0 +1 @@ +/usr/bin/c99-gcc \ No newline at end of file diff --git a/alternatives/c99.1.gz b/alternatives/c99.1.gz new file mode 120000 index 0000000..e033f2d --- /dev/null +++ b/alternatives/c99.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/c99-gcc.1.gz \ No newline at end of file diff --git a/alternatives/cc b/alternatives/cc new file mode 120000 index 0000000..cd91449 --- /dev/null +++ b/alternatives/cc @@ -0,0 +1 @@ +/usr/bin/gcc \ No newline at end of file diff --git a/alternatives/cc.1.gz b/alternatives/cc.1.gz new file mode 120000 index 0000000..406b60d --- /dev/null +++ b/alternatives/cc.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/gcc.1.gz \ No newline at end of file diff --git a/alternatives/cpp b/alternatives/cpp new file mode 120000 index 0000000..00fc3c4 --- /dev/null +++ b/alternatives/cpp @@ -0,0 +1 @@ +/usr/bin/cpp \ No newline at end of file diff --git a/alternatives/default.plymouth b/alternatives/default.plymouth new file mode 120000 index 0000000..3806a57 --- /dev/null +++ b/alternatives/default.plymouth @@ -0,0 +1 @@ +/lib/plymouth/themes/kubuntu-logo/kubuntu-logo.plymouth \ No newline at end of file diff --git a/alternatives/default.plymouth.grub b/alternatives/default.plymouth.grub new file mode 120000 index 0000000..adecbd1 --- /dev/null +++ b/alternatives/default.plymouth.grub @@ -0,0 +1 @@ +/lib/plymouth/themes/kubuntu-logo/kubuntu-logo.grub \ No newline at end of file diff --git a/alternatives/editor b/alternatives/editor new file mode 120000 index 0000000..7a06612 --- /dev/null +++ b/alternatives/editor @@ -0,0 +1 @@ +/bin/nano \ No newline at end of file diff --git a/alternatives/editor.1.gz b/alternatives/editor.1.gz new file mode 120000 index 0000000..bb2d082 --- /dev/null +++ b/alternatives/editor.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/nano.1.gz \ No newline at end of file diff --git a/alternatives/erb b/alternatives/erb new file mode 120000 index 0000000..64f2426 --- /dev/null +++ b/alternatives/erb @@ -0,0 +1 @@ +/usr/bin/erb1.8 \ No newline at end of file diff --git a/alternatives/erb.1.gz b/alternatives/erb.1.gz new file mode 120000 index 0000000..d6f026f --- /dev/null +++ b/alternatives/erb.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/erb1.8.1.gz \ No newline at end of file diff --git a/alternatives/ex b/alternatives/ex new file mode 120000 index 0000000..1d112da --- /dev/null +++ b/alternatives/ex @@ -0,0 +1 @@ +/usr/bin/vim.basic \ No newline at end of file diff --git a/alternatives/ex.1.gz b/alternatives/ex.1.gz new file mode 120000 index 0000000..e02a6af --- /dev/null +++ b/alternatives/ex.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/vim.1.gz \ No newline at end of file diff --git a/alternatives/ex.fr.1.gz b/alternatives/ex.fr.1.gz new file mode 120000 index 0000000..af52858 --- /dev/null +++ b/alternatives/ex.fr.1.gz @@ -0,0 +1 @@ +/usr/share/man/fr/man1/vim.1.gz \ No newline at end of file diff --git a/alternatives/ex.it.1.gz b/alternatives/ex.it.1.gz new file mode 120000 index 0000000..4498a3d --- /dev/null +++ b/alternatives/ex.it.1.gz @@ -0,0 +1 @@ +/usr/share/man/it/man1/vim.1.gz \ No newline at end of file diff --git a/alternatives/ex.pl.1.gz b/alternatives/ex.pl.1.gz new file mode 120000 index 0000000..345590a --- /dev/null +++ b/alternatives/ex.pl.1.gz @@ -0,0 +1 @@ +/usr/share/man/pl/man1/vim.1.gz \ No newline at end of file diff --git a/alternatives/ex.ru.1.gz b/alternatives/ex.ru.1.gz new file mode 120000 index 0000000..ea9aa16 --- /dev/null +++ b/alternatives/ex.ru.1.gz @@ -0,0 +1 @@ +/usr/share/man/ru/man1/vim.1.gz \ No newline at end of file diff --git a/alternatives/firefox-flashplugin b/alternatives/firefox-flashplugin new file mode 120000 index 0000000..f3b16af --- /dev/null +++ b/alternatives/firefox-flashplugin @@ -0,0 +1 @@ +/usr/lib/flashplugin-installer/libflashplayer.so \ No newline at end of file diff --git a/alternatives/from b/alternatives/from new file mode 120000 index 0000000..3ee6643 --- /dev/null +++ b/alternatives/from @@ -0,0 +1 @@ +/usr/bin/bsd-from \ No newline at end of file diff --git a/alternatives/from.1.gz b/alternatives/from.1.gz new file mode 120000 index 0000000..9c0d8d3 --- /dev/null +++ b/alternatives/from.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/bsd-from.1.gz \ No newline at end of file diff --git a/alternatives/ftp b/alternatives/ftp new file mode 120000 index 0000000..f0ae93f --- /dev/null +++ b/alternatives/ftp @@ -0,0 +1 @@ +/usr/bin/netkit-ftp \ No newline at end of file diff --git a/alternatives/ftp.1.gz b/alternatives/ftp.1.gz new file mode 120000 index 0000000..5b3a00b --- /dev/null +++ b/alternatives/ftp.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/netkit-ftp.1.gz \ No newline at end of file diff --git a/alternatives/gconftool b/alternatives/gconftool new file mode 120000 index 0000000..d2fc62b --- /dev/null +++ b/alternatives/gconftool @@ -0,0 +1 @@ +/usr/bin/gconftool-2 \ No newline at end of file diff --git a/alternatives/gconftool.1.gz b/alternatives/gconftool.1.gz new file mode 120000 index 0000000..a9aedb3 --- /dev/null +++ b/alternatives/gconftool.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/gconftool-2.1.gz \ No newline at end of file diff --git a/alternatives/gnome-www-browser b/alternatives/gnome-www-browser new file mode 120000 index 0000000..2aaed8a --- /dev/null +++ b/alternatives/gnome-www-browser @@ -0,0 +1 @@ +/usr/bin/chromium-browser \ No newline at end of file diff --git a/alternatives/gstreamer-codec-install b/alternatives/gstreamer-codec-install new file mode 120000 index 0000000..6d3e976 --- /dev/null +++ b/alternatives/gstreamer-codec-install @@ -0,0 +1 @@ +/usr/lib/kde4/libexec/qapt-gst-helper \ No newline at end of file diff --git a/alternatives/iceape-flashplugin b/alternatives/iceape-flashplugin new file mode 120000 index 0000000..f3b16af --- /dev/null +++ b/alternatives/iceape-flashplugin @@ -0,0 +1 @@ +/usr/lib/flashplugin-installer/libflashplayer.so \ No newline at end of file diff --git a/alternatives/iceweasel-flashplugin b/alternatives/iceweasel-flashplugin new file mode 120000 index 0000000..f3b16af --- /dev/null +++ b/alternatives/iceweasel-flashplugin @@ -0,0 +1 @@ +/usr/lib/flashplugin-installer/libflashplayer.so \ No newline at end of file diff --git a/alternatives/infobrowser b/alternatives/infobrowser new file mode 120000 index 0000000..2404fe4 --- /dev/null +++ b/alternatives/infobrowser @@ -0,0 +1 @@ +/usr/bin/info \ No newline at end of file diff --git a/alternatives/infobrowser.1.gz b/alternatives/infobrowser.1.gz new file mode 120000 index 0000000..7152786 --- /dev/null +++ b/alternatives/infobrowser.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/info.1.gz \ No newline at end of file diff --git a/alternatives/irb b/alternatives/irb new file mode 120000 index 0000000..1a0fb89 --- /dev/null +++ b/alternatives/irb @@ -0,0 +1 @@ +/usr/bin/irb1.8 \ No newline at end of file diff --git a/alternatives/irb.1.gz b/alternatives/irb.1.gz new file mode 120000 index 0000000..6ee7e03 --- /dev/null +++ b/alternatives/irb.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/irb1.8.1.gz \ No newline at end of file diff --git a/alternatives/java b/alternatives/java new file mode 120000 index 0000000..eeb27f5 --- /dev/null +++ b/alternatives/java @@ -0,0 +1 @@ +/usr/lib/jvm/java-6-openjdk/jre/bin/java \ No newline at end of file diff --git a/alternatives/java.1.gz b/alternatives/java.1.gz new file mode 120000 index 0000000..361b73d --- /dev/null +++ b/alternatives/java.1.gz @@ -0,0 +1 @@ +/usr/lib/jvm/java-6-openjdk/jre/man/man1/java.1.gz \ No newline at end of file diff --git a/alternatives/javaws b/alternatives/javaws new file mode 120000 index 0000000..4f30b3e --- /dev/null +++ b/alternatives/javaws @@ -0,0 +1 @@ +/usr/lib/jvm/java-6-openjdk/jre/bin/javaws \ No newline at end of file diff --git a/alternatives/jexec b/alternatives/jexec new file mode 120000 index 0000000..638bdc8 --- /dev/null +++ b/alternatives/jexec @@ -0,0 +1 @@ +/usr/lib/jvm/java-6-openjdk/jre/lib/jexec \ No newline at end of file diff --git a/alternatives/jexec-binfmt b/alternatives/jexec-binfmt new file mode 120000 index 0000000..19ffdc4 --- /dev/null +++ b/alternatives/jexec-binfmt @@ -0,0 +1 @@ +/usr/lib/jvm/java-6-openjdk/jre/lib/jar.binfmt \ No newline at end of file diff --git a/alternatives/kdesu b/alternatives/kdesu new file mode 120000 index 0000000..d7d67d2 --- /dev/null +++ b/alternatives/kdesu @@ -0,0 +1 @@ +/usr/bin/kdesudo \ No newline at end of file diff --git a/alternatives/keytool b/alternatives/keytool new file mode 120000 index 0000000..b69959e --- /dev/null +++ b/alternatives/keytool @@ -0,0 +1 @@ +/usr/lib/jvm/java-6-openjdk/jre/bin/keytool \ No newline at end of file diff --git a/alternatives/keytool.1.gz b/alternatives/keytool.1.gz new file mode 120000 index 0000000..53e5573 --- /dev/null +++ b/alternatives/keytool.1.gz @@ -0,0 +1 @@ +/usr/lib/jvm/java-6-openjdk/jre/man/man1/keytool.1.gz \ No newline at end of file diff --git a/alternatives/libblas.so.3gf b/alternatives/libblas.so.3gf new file mode 120000 index 0000000..4de4a61 --- /dev/null +++ b/alternatives/libblas.so.3gf @@ -0,0 +1 @@ +/usr/lib/libblas/libblas.so.3gf \ No newline at end of file diff --git a/alternatives/liblapack.so.3gf b/alternatives/liblapack.so.3gf new file mode 120000 index 0000000..1b32cac --- /dev/null +++ b/alternatives/liblapack.so.3gf @@ -0,0 +1 @@ +/usr/lib/lapack/liblapack.so.3gf \ No newline at end of file diff --git a/alternatives/locate b/alternatives/locate new file mode 120000 index 0000000..b33f6cf --- /dev/null +++ b/alternatives/locate @@ -0,0 +1 @@ +/usr/bin/mlocate \ No newline at end of file diff --git a/alternatives/locate.1.gz b/alternatives/locate.1.gz new file mode 120000 index 0000000..8d4857d --- /dev/null +++ b/alternatives/locate.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/mlocate.1.gz \ No newline at end of file diff --git a/alternatives/midbrowser-flashplugin b/alternatives/midbrowser-flashplugin new file mode 120000 index 0000000..f3b16af --- /dev/null +++ b/alternatives/midbrowser-flashplugin @@ -0,0 +1 @@ +/usr/lib/flashplugin-installer/libflashplayer.so \ No newline at end of file diff --git a/alternatives/mozilla-flashplugin b/alternatives/mozilla-flashplugin new file mode 120000 index 0000000..f3b16af --- /dev/null +++ b/alternatives/mozilla-flashplugin @@ -0,0 +1 @@ +/usr/lib/flashplugin-installer/libflashplayer.so \ No newline at end of file diff --git a/alternatives/mt b/alternatives/mt new file mode 120000 index 0000000..46c2596 --- /dev/null +++ b/alternatives/mt @@ -0,0 +1 @@ +/bin/mt-gnu \ No newline at end of file diff --git a/alternatives/mt.1.gz b/alternatives/mt.1.gz new file mode 120000 index 0000000..cac0e18 --- /dev/null +++ b/alternatives/mt.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/mt-gnu.1.gz \ No newline at end of file diff --git a/alternatives/nawk b/alternatives/nawk new file mode 120000 index 0000000..19ba657 --- /dev/null +++ b/alternatives/nawk @@ -0,0 +1 @@ +/usr/bin/gawk \ No newline at end of file diff --git a/alternatives/nawk.1.gz b/alternatives/nawk.1.gz new file mode 120000 index 0000000..134262b --- /dev/null +++ b/alternatives/nawk.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/gawk.1.gz \ No newline at end of file diff --git a/alternatives/nc b/alternatives/nc new file mode 120000 index 0000000..42844ed --- /dev/null +++ b/alternatives/nc @@ -0,0 +1 @@ +/bin/nc.openbsd \ No newline at end of file diff --git a/alternatives/nc.1.gz b/alternatives/nc.1.gz new file mode 120000 index 0000000..e288d80 --- /dev/null +++ b/alternatives/nc.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/nc_openbsd.1.gz \ No newline at end of file diff --git a/alternatives/net b/alternatives/net new file mode 120000 index 0000000..55e5a0b --- /dev/null +++ b/alternatives/net @@ -0,0 +1 @@ +/usr/bin/net.samba3 \ No newline at end of file diff --git a/alternatives/net.8.gz b/alternatives/net.8.gz new file mode 120000 index 0000000..f459731 --- /dev/null +++ b/alternatives/net.8.gz @@ -0,0 +1 @@ +/usr/share/man/man8/net.samba3.8.gz \ No newline at end of file diff --git a/alternatives/netcat b/alternatives/netcat new file mode 120000 index 0000000..42844ed --- /dev/null +++ b/alternatives/netcat @@ -0,0 +1 @@ +/bin/nc.openbsd \ No newline at end of file diff --git a/alternatives/netcat.1.gz b/alternatives/netcat.1.gz new file mode 120000 index 0000000..e288d80 --- /dev/null +++ b/alternatives/netcat.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/nc_openbsd.1.gz \ No newline at end of file diff --git a/alternatives/newt-palette b/alternatives/newt-palette new file mode 120000 index 0000000..e4f9e72 --- /dev/null +++ b/alternatives/newt-palette @@ -0,0 +1 @@ +/etc/newt/palette.original \ No newline at end of file diff --git a/alternatives/nmblookup b/alternatives/nmblookup new file mode 120000 index 0000000..19c2f38 --- /dev/null +++ b/alternatives/nmblookup @@ -0,0 +1 @@ +/usr/bin/nmblookup.samba3 \ No newline at end of file diff --git a/alternatives/nmblookup.1.gz b/alternatives/nmblookup.1.gz new file mode 120000 index 0000000..5a45746 --- /dev/null +++ b/alternatives/nmblookup.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/nmblookup.samba3.1.gz \ No newline at end of file diff --git a/alternatives/orbd b/alternatives/orbd new file mode 120000 index 0000000..7b531d7 --- /dev/null +++ b/alternatives/orbd @@ -0,0 +1 @@ +/usr/lib/jvm/java-6-openjdk/jre/bin/orbd \ No newline at end of file diff --git a/alternatives/orbd.1.gz b/alternatives/orbd.1.gz new file mode 120000 index 0000000..1604da0 --- /dev/null +++ b/alternatives/orbd.1.gz @@ -0,0 +1 @@ +/usr/lib/jvm/java-6-openjdk/jre/man/man1/orbd.1.gz \ No newline at end of file diff --git a/alternatives/pack200 b/alternatives/pack200 new file mode 120000 index 0000000..db0d4f2 --- /dev/null +++ b/alternatives/pack200 @@ -0,0 +1 @@ +/usr/lib/jvm/java-6-openjdk/jre/bin/pack200 \ No newline at end of file diff --git a/alternatives/pack200.1.gz b/alternatives/pack200.1.gz new file mode 120000 index 0000000..08b5f3f --- /dev/null +++ b/alternatives/pack200.1.gz @@ -0,0 +1 @@ +/usr/lib/jvm/java-6-openjdk/jre/man/man1/pack200.1.gz \ No newline at end of file diff --git a/alternatives/pager b/alternatives/pager new file mode 120000 index 0000000..cbce297 --- /dev/null +++ b/alternatives/pager @@ -0,0 +1 @@ +/bin/less \ No newline at end of file diff --git a/alternatives/pager.1.gz b/alternatives/pager.1.gz new file mode 120000 index 0000000..c1430af --- /dev/null +++ b/alternatives/pager.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/less.1.gz \ No newline at end of file diff --git a/alternatives/pico b/alternatives/pico new file mode 120000 index 0000000..7a06612 --- /dev/null +++ b/alternatives/pico @@ -0,0 +1 @@ +/bin/nano \ No newline at end of file diff --git a/alternatives/pico.1.gz b/alternatives/pico.1.gz new file mode 120000 index 0000000..bb2d082 --- /dev/null +++ b/alternatives/pico.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/nano.1.gz \ No newline at end of file diff --git a/alternatives/pinentry b/alternatives/pinentry new file mode 120000 index 0000000..c6f8b09 --- /dev/null +++ b/alternatives/pinentry @@ -0,0 +1 @@ +/usr/bin/pinentry-qt4 \ No newline at end of file diff --git a/alternatives/pinentry-x11 b/alternatives/pinentry-x11 new file mode 120000 index 0000000..c6f8b09 --- /dev/null +++ b/alternatives/pinentry-x11 @@ -0,0 +1 @@ +/usr/bin/pinentry-qt4 \ No newline at end of file diff --git a/alternatives/pinentry-x11.1.gz b/alternatives/pinentry-x11.1.gz new file mode 120000 index 0000000..3fb51e3 --- /dev/null +++ b/alternatives/pinentry-x11.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/pinentry-qt4.1.gz \ No newline at end of file diff --git a/alternatives/pinentry.1.gz b/alternatives/pinentry.1.gz new file mode 120000 index 0000000..3fb51e3 --- /dev/null +++ b/alternatives/pinentry.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/pinentry-qt4.1.gz \ No newline at end of file diff --git a/alternatives/policytool b/alternatives/policytool new file mode 120000 index 0000000..ad84b3b --- /dev/null +++ b/alternatives/policytool @@ -0,0 +1 @@ +/usr/lib/jvm/java-6-openjdk/jre/bin/policytool \ No newline at end of file diff --git a/alternatives/policytool.1.gz b/alternatives/policytool.1.gz new file mode 120000 index 0000000..26f41d8 --- /dev/null +++ b/alternatives/policytool.1.gz @@ -0,0 +1 @@ +/usr/lib/jvm/java-6-openjdk/jre/man/man1/policytool.1.gz \ No newline at end of file diff --git a/alternatives/rcp b/alternatives/rcp new file mode 120000 index 0000000..594df9e --- /dev/null +++ b/alternatives/rcp @@ -0,0 +1 @@ +/usr/bin/scp \ No newline at end of file diff --git a/alternatives/rcp.1.gz b/alternatives/rcp.1.gz new file mode 120000 index 0000000..63bfff3 --- /dev/null +++ b/alternatives/rcp.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/scp.1.gz \ No newline at end of file diff --git a/alternatives/rdoc b/alternatives/rdoc new file mode 120000 index 0000000..0e41ae5 --- /dev/null +++ b/alternatives/rdoc @@ -0,0 +1 @@ +/usr/bin/rdoc1.8 \ No newline at end of file diff --git a/alternatives/rdoc.1.gz b/alternatives/rdoc.1.gz new file mode 120000 index 0000000..4baddd1 --- /dev/null +++ b/alternatives/rdoc.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/rdoc1.8.1.gz \ No newline at end of file diff --git a/alternatives/rename b/alternatives/rename new file mode 120000 index 0000000..a231fc8 --- /dev/null +++ b/alternatives/rename @@ -0,0 +1 @@ +/usr/bin/prename \ No newline at end of file diff --git a/alternatives/rename.1.gz b/alternatives/rename.1.gz new file mode 120000 index 0000000..2a49421 --- /dev/null +++ b/alternatives/rename.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/prename.1.gz \ No newline at end of file diff --git a/alternatives/ri b/alternatives/ri new file mode 120000 index 0000000..82de620 --- /dev/null +++ b/alternatives/ri @@ -0,0 +1 @@ +/usr/bin/ri1.8 \ No newline at end of file diff --git a/alternatives/ri.1.gz b/alternatives/ri.1.gz new file mode 120000 index 0000000..ba0011a --- /dev/null +++ b/alternatives/ri.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/ri1.8.1.gz \ No newline at end of file diff --git a/alternatives/rlogin b/alternatives/rlogin new file mode 120000 index 0000000..8db89a8 --- /dev/null +++ b/alternatives/rlogin @@ -0,0 +1 @@ +/usr/bin/slogin \ No newline at end of file diff --git a/alternatives/rlogin.1.gz b/alternatives/rlogin.1.gz new file mode 120000 index 0000000..be0c6db --- /dev/null +++ b/alternatives/rlogin.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/slogin.1.gz \ No newline at end of file diff --git a/alternatives/rmid b/alternatives/rmid new file mode 120000 index 0000000..be39bf0 --- /dev/null +++ b/alternatives/rmid @@ -0,0 +1 @@ +/usr/lib/jvm/java-6-openjdk/jre/bin/rmid \ No newline at end of file diff --git a/alternatives/rmid.1.gz b/alternatives/rmid.1.gz new file mode 120000 index 0000000..4ef16d6 --- /dev/null +++ b/alternatives/rmid.1.gz @@ -0,0 +1 @@ +/usr/lib/jvm/java-6-openjdk/jre/man/man1/rmid.1.gz \ No newline at end of file diff --git a/alternatives/rmiregistry b/alternatives/rmiregistry new file mode 120000 index 0000000..60cc633 --- /dev/null +++ b/alternatives/rmiregistry @@ -0,0 +1 @@ +/usr/lib/jvm/java-6-openjdk/jre/bin/rmiregistry \ No newline at end of file diff --git a/alternatives/rmiregistry.1.gz b/alternatives/rmiregistry.1.gz new file mode 120000 index 0000000..a2641fe --- /dev/null +++ b/alternatives/rmiregistry.1.gz @@ -0,0 +1 @@ +/usr/lib/jvm/java-6-openjdk/jre/man/man1/rmiregistry.1.gz \ No newline at end of file diff --git a/alternatives/rmt b/alternatives/rmt new file mode 120000 index 0000000..82958a9 --- /dev/null +++ b/alternatives/rmt @@ -0,0 +1 @@ +/usr/sbin/rmt-tar \ No newline at end of file diff --git a/alternatives/rmt.8.gz b/alternatives/rmt.8.gz new file mode 120000 index 0000000..8c87e21 --- /dev/null +++ b/alternatives/rmt.8.gz @@ -0,0 +1 @@ +/usr/share/man/man8/rmt-tar.8.gz \ No newline at end of file diff --git a/alternatives/rsh b/alternatives/rsh new file mode 120000 index 0000000..50a1cff --- /dev/null +++ b/alternatives/rsh @@ -0,0 +1 @@ +/usr/bin/ssh \ No newline at end of file diff --git a/alternatives/rsh.1.gz b/alternatives/rsh.1.gz new file mode 120000 index 0000000..b3b36c0 --- /dev/null +++ b/alternatives/rsh.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/ssh.1.gz \ No newline at end of file diff --git a/alternatives/ruby b/alternatives/ruby new file mode 120000 index 0000000..51186c1 --- /dev/null +++ b/alternatives/ruby @@ -0,0 +1 @@ +/usr/bin/ruby1.8 \ No newline at end of file diff --git a/alternatives/ruby.1.gz b/alternatives/ruby.1.gz new file mode 120000 index 0000000..bfb1cc7 --- /dev/null +++ b/alternatives/ruby.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/ruby1.8.1.gz \ No newline at end of file diff --git a/alternatives/rview b/alternatives/rview new file mode 120000 index 0000000..1d112da --- /dev/null +++ b/alternatives/rview @@ -0,0 +1 @@ +/usr/bin/vim.basic \ No newline at end of file diff --git a/alternatives/rvim b/alternatives/rvim new file mode 120000 index 0000000..1d112da --- /dev/null +++ b/alternatives/rvim @@ -0,0 +1 @@ +/usr/bin/vim.basic \ No newline at end of file diff --git a/alternatives/servertool b/alternatives/servertool new file mode 120000 index 0000000..c88a5a8 --- /dev/null +++ b/alternatives/servertool @@ -0,0 +1 @@ +/usr/lib/jvm/java-6-openjdk/jre/bin/servertool \ No newline at end of file diff --git a/alternatives/servertool.1.gz b/alternatives/servertool.1.gz new file mode 120000 index 0000000..f3e34cf --- /dev/null +++ b/alternatives/servertool.1.gz @@ -0,0 +1 @@ +/usr/lib/jvm/java-6-openjdk/jre/man/man1/servertool.1.gz \ No newline at end of file diff --git a/alternatives/telnet b/alternatives/telnet new file mode 120000 index 0000000..9276ced --- /dev/null +++ b/alternatives/telnet @@ -0,0 +1 @@ +/usr/bin/telnet.netkit \ No newline at end of file diff --git a/alternatives/telnet.1.gz b/alternatives/telnet.1.gz new file mode 120000 index 0000000..9cd371e --- /dev/null +++ b/alternatives/telnet.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/telnet.netkit.1.gz \ No newline at end of file diff --git a/alternatives/testparm b/alternatives/testparm new file mode 120000 index 0000000..c2084df --- /dev/null +++ b/alternatives/testparm @@ -0,0 +1 @@ +/usr/bin/testparm.samba3 \ No newline at end of file diff --git a/alternatives/testparm.1.gz b/alternatives/testparm.1.gz new file mode 120000 index 0000000..ce364ab --- /dev/null +++ b/alternatives/testparm.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/testparm.samba3.1.gz \ No newline at end of file diff --git a/alternatives/testrb b/alternatives/testrb new file mode 120000 index 0000000..8649e85 --- /dev/null +++ b/alternatives/testrb @@ -0,0 +1 @@ +/usr/bin/testrb1.8 \ No newline at end of file diff --git a/alternatives/testrb.1.gz b/alternatives/testrb.1.gz new file mode 120000 index 0000000..f875b7c --- /dev/null +++ b/alternatives/testrb.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/testrb1.8.1.gz \ No newline at end of file diff --git a/alternatives/text.plymouth b/alternatives/text.plymouth new file mode 120000 index 0000000..dc966f8 --- /dev/null +++ b/alternatives/text.plymouth @@ -0,0 +1 @@ +/lib/plymouth/themes/kubuntu-text/kubuntu-text.plymouth \ No newline at end of file diff --git a/alternatives/tnameserv b/alternatives/tnameserv new file mode 120000 index 0000000..00f3f97 --- /dev/null +++ b/alternatives/tnameserv @@ -0,0 +1 @@ +/usr/lib/jvm/java-6-openjdk/jre/bin/tnameserv \ No newline at end of file diff --git a/alternatives/tnameserv.1.gz b/alternatives/tnameserv.1.gz new file mode 120000 index 0000000..1aac07d --- /dev/null +++ b/alternatives/tnameserv.1.gz @@ -0,0 +1 @@ +/usr/lib/jvm/java-6-openjdk/jre/man/man1/tnameserv.1.gz \ No newline at end of file diff --git a/alternatives/traceroute6 b/alternatives/traceroute6 new file mode 120000 index 0000000..7554b55 --- /dev/null +++ b/alternatives/traceroute6 @@ -0,0 +1 @@ +/usr/bin/traceroute6.iputils \ No newline at end of file diff --git a/alternatives/traceroute6.8.gz b/alternatives/traceroute6.8.gz new file mode 120000 index 0000000..e69934c --- /dev/null +++ b/alternatives/traceroute6.8.gz @@ -0,0 +1 @@ +/usr/share/man/man8/traceroute6.iputils.8.gz \ No newline at end of file diff --git a/alternatives/ttf-japanese-gothic.ttf b/alternatives/ttf-japanese-gothic.ttf new file mode 120000 index 0000000..fbe0ae0 --- /dev/null +++ b/alternatives/ttf-japanese-gothic.ttf @@ -0,0 +1 @@ +/usr/share/fonts/truetype/takao/TakaoPGothic.ttf \ No newline at end of file diff --git a/alternatives/unpack200 b/alternatives/unpack200 new file mode 120000 index 0000000..7609fe8 --- /dev/null +++ b/alternatives/unpack200 @@ -0,0 +1 @@ +/usr/lib/jvm/java-6-openjdk/jre/bin/unpack200 \ No newline at end of file diff --git a/alternatives/unpack200.1.gz b/alternatives/unpack200.1.gz new file mode 120000 index 0000000..d9fa1e9 --- /dev/null +++ b/alternatives/unpack200.1.gz @@ -0,0 +1 @@ +/usr/lib/jvm/java-6-openjdk/jre/man/man1/unpack200.1.gz \ No newline at end of file diff --git a/alternatives/updatedb b/alternatives/updatedb new file mode 120000 index 0000000..a7598ba --- /dev/null +++ b/alternatives/updatedb @@ -0,0 +1 @@ +/usr/bin/updatedb.mlocate \ No newline at end of file diff --git a/alternatives/vi b/alternatives/vi new file mode 120000 index 0000000..1d112da --- /dev/null +++ b/alternatives/vi @@ -0,0 +1 @@ +/usr/bin/vim.basic \ No newline at end of file diff --git a/alternatives/vi.1.gz b/alternatives/vi.1.gz new file mode 120000 index 0000000..e02a6af --- /dev/null +++ b/alternatives/vi.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/vim.1.gz \ No newline at end of file diff --git a/alternatives/vi.fr.1.gz b/alternatives/vi.fr.1.gz new file mode 120000 index 0000000..af52858 --- /dev/null +++ b/alternatives/vi.fr.1.gz @@ -0,0 +1 @@ +/usr/share/man/fr/man1/vim.1.gz \ No newline at end of file diff --git a/alternatives/vi.it.1.gz b/alternatives/vi.it.1.gz new file mode 120000 index 0000000..4498a3d --- /dev/null +++ b/alternatives/vi.it.1.gz @@ -0,0 +1 @@ +/usr/share/man/it/man1/vim.1.gz \ No newline at end of file diff --git a/alternatives/vi.pl.1.gz b/alternatives/vi.pl.1.gz new file mode 120000 index 0000000..345590a --- /dev/null +++ b/alternatives/vi.pl.1.gz @@ -0,0 +1 @@ +/usr/share/man/pl/man1/vim.1.gz \ No newline at end of file diff --git a/alternatives/vi.ru.1.gz b/alternatives/vi.ru.1.gz new file mode 120000 index 0000000..ea9aa16 --- /dev/null +++ b/alternatives/vi.ru.1.gz @@ -0,0 +1 @@ +/usr/share/man/ru/man1/vim.1.gz \ No newline at end of file diff --git a/alternatives/view b/alternatives/view new file mode 120000 index 0000000..1d112da --- /dev/null +++ b/alternatives/view @@ -0,0 +1 @@ +/usr/bin/vim.basic \ No newline at end of file diff --git a/alternatives/view.1.gz b/alternatives/view.1.gz new file mode 120000 index 0000000..e02a6af --- /dev/null +++ b/alternatives/view.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/vim.1.gz \ No newline at end of file diff --git a/alternatives/view.fr.1.gz b/alternatives/view.fr.1.gz new file mode 120000 index 0000000..af52858 --- /dev/null +++ b/alternatives/view.fr.1.gz @@ -0,0 +1 @@ +/usr/share/man/fr/man1/vim.1.gz \ No newline at end of file diff --git a/alternatives/view.it.1.gz b/alternatives/view.it.1.gz new file mode 120000 index 0000000..4498a3d --- /dev/null +++ b/alternatives/view.it.1.gz @@ -0,0 +1 @@ +/usr/share/man/it/man1/vim.1.gz \ No newline at end of file diff --git a/alternatives/view.pl.1.gz b/alternatives/view.pl.1.gz new file mode 120000 index 0000000..345590a --- /dev/null +++ b/alternatives/view.pl.1.gz @@ -0,0 +1 @@ +/usr/share/man/pl/man1/vim.1.gz \ No newline at end of file diff --git a/alternatives/view.ru.1.gz b/alternatives/view.ru.1.gz new file mode 120000 index 0000000..ea9aa16 --- /dev/null +++ b/alternatives/view.ru.1.gz @@ -0,0 +1 @@ +/usr/share/man/ru/man1/vim.1.gz \ No newline at end of file diff --git a/alternatives/vim b/alternatives/vim new file mode 120000 index 0000000..1d112da --- /dev/null +++ b/alternatives/vim @@ -0,0 +1 @@ +/usr/bin/vim.basic \ No newline at end of file diff --git a/alternatives/vimdiff b/alternatives/vimdiff new file mode 120000 index 0000000..1d112da --- /dev/null +++ b/alternatives/vimdiff @@ -0,0 +1 @@ +/usr/bin/vim.basic \ No newline at end of file diff --git a/alternatives/vncconfig b/alternatives/vncconfig new file mode 120000 index 0000000..ffc7c48 --- /dev/null +++ b/alternatives/vncconfig @@ -0,0 +1 @@ +/usr/bin/vnc4config \ No newline at end of file diff --git a/alternatives/vncconfig.1.gz b/alternatives/vncconfig.1.gz new file mode 120000 index 0000000..a9adac4 --- /dev/null +++ b/alternatives/vncconfig.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/vnc4config.1.gz \ No newline at end of file diff --git a/alternatives/vncpasswd b/alternatives/vncpasswd new file mode 120000 index 0000000..373c6d3 --- /dev/null +++ b/alternatives/vncpasswd @@ -0,0 +1 @@ +/usr/bin/vnc4passwd \ No newline at end of file diff --git a/alternatives/vncpasswd.1.gz b/alternatives/vncpasswd.1.gz new file mode 120000 index 0000000..1e46ae2 --- /dev/null +++ b/alternatives/vncpasswd.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/vnc4passwd.1.gz \ No newline at end of file diff --git a/alternatives/vncserver b/alternatives/vncserver new file mode 120000 index 0000000..a6ba2de --- /dev/null +++ b/alternatives/vncserver @@ -0,0 +1 @@ +/usr/bin/vnc4server \ No newline at end of file diff --git a/alternatives/vncserver.1.gz b/alternatives/vncserver.1.gz new file mode 120000 index 0000000..e3ea9af --- /dev/null +++ b/alternatives/vncserver.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/vnc4server.1.gz \ No newline at end of file diff --git a/alternatives/vncviewer b/alternatives/vncviewer new file mode 120000 index 0000000..1a55f91 --- /dev/null +++ b/alternatives/vncviewer @@ -0,0 +1 @@ +/usr/bin/xtightvncviewer \ No newline at end of file diff --git a/alternatives/vncviewer.1.gz b/alternatives/vncviewer.1.gz new file mode 120000 index 0000000..e47e6f1 --- /dev/null +++ b/alternatives/vncviewer.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/xtightvncviewer.1.gz \ No newline at end of file diff --git a/alternatives/vtrgb b/alternatives/vtrgb new file mode 120000 index 0000000..c1ccb64 --- /dev/null +++ b/alternatives/vtrgb @@ -0,0 +1 @@ +/etc/console-setup/vtrgb \ No newline at end of file diff --git a/alternatives/w b/alternatives/w new file mode 120000 index 0000000..11c34c4 --- /dev/null +++ b/alternatives/w @@ -0,0 +1 @@ +/usr/bin/w.procps \ No newline at end of file diff --git a/alternatives/w.1.gz b/alternatives/w.1.gz new file mode 120000 index 0000000..7391b64 --- /dev/null +++ b/alternatives/w.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/w.procps.1.gz \ No newline at end of file diff --git a/alternatives/write b/alternatives/write new file mode 120000 index 0000000..121ab03 --- /dev/null +++ b/alternatives/write @@ -0,0 +1 @@ +/usr/bin/bsd-write \ No newline at end of file diff --git a/alternatives/write.1.gz b/alternatives/write.1.gz new file mode 120000 index 0000000..9bcde45 --- /dev/null +++ b/alternatives/write.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/bsd-write.1.gz \ No newline at end of file diff --git a/alternatives/x-cursor-theme b/alternatives/x-cursor-theme new file mode 120000 index 0000000..34387f9 --- /dev/null +++ b/alternatives/x-cursor-theme @@ -0,0 +1 @@ +/etc/X11/cursors/oxy-white.theme \ No newline at end of file diff --git a/alternatives/x-session-manager b/alternatives/x-session-manager new file mode 120000 index 0000000..f8c367c --- /dev/null +++ b/alternatives/x-session-manager @@ -0,0 +1 @@ +/usr/bin/startkde \ No newline at end of file diff --git a/alternatives/x-session-manager.1.gz b/alternatives/x-session-manager.1.gz new file mode 120000 index 0000000..7c97fed --- /dev/null +++ b/alternatives/x-session-manager.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/startkde.1.gz \ No newline at end of file diff --git a/alternatives/x-terminal-emulator b/alternatives/x-terminal-emulator new file mode 120000 index 0000000..00984b5 --- /dev/null +++ b/alternatives/x-terminal-emulator @@ -0,0 +1 @@ +/usr/bin/konsole \ No newline at end of file diff --git a/alternatives/x-window-manager b/alternatives/x-window-manager new file mode 120000 index 0000000..3b1bb58 --- /dev/null +++ b/alternatives/x-window-manager @@ -0,0 +1 @@ +/usr/bin/kwin \ No newline at end of file diff --git a/alternatives/x-www-browser b/alternatives/x-www-browser new file mode 120000 index 0000000..2aaed8a --- /dev/null +++ b/alternatives/x-www-browser @@ -0,0 +1 @@ +/usr/bin/chromium-browser \ No newline at end of file diff --git a/alternatives/x0vncserver b/alternatives/x0vncserver new file mode 120000 index 0000000..9b7f354 --- /dev/null +++ b/alternatives/x0vncserver @@ -0,0 +1 @@ +/usr/bin/x0vnc4server \ No newline at end of file diff --git a/alternatives/x0vncserver.1.gz b/alternatives/x0vncserver.1.gz new file mode 120000 index 0000000..77a3fc7 --- /dev/null +++ b/alternatives/x0vncserver.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/x0vnc4server.1.gz \ No newline at end of file diff --git a/alternatives/x86_64-linux-gnu_gl_conf b/alternatives/x86_64-linux-gnu_gl_conf new file mode 120000 index 0000000..704c1b1 --- /dev/null +++ b/alternatives/x86_64-linux-gnu_gl_conf @@ -0,0 +1 @@ +/usr/lib/x86_64-linux-gnu/mesa/ld.so.conf \ No newline at end of file diff --git a/alternatives/x86_64-linux-gnu_xorg_extra_modules b/alternatives/x86_64-linux-gnu_xorg_extra_modules new file mode 120000 index 0000000..aaf3b11 --- /dev/null +++ b/alternatives/x86_64-linux-gnu_xorg_extra_modules @@ -0,0 +1 @@ +/usr/lib/x86_64-linux-gnu/xorg/x11-extra-modules \ No newline at end of file diff --git a/alternatives/xinput-all_ALL b/alternatives/xinput-all_ALL new file mode 120000 index 0000000..8680b66 --- /dev/null +++ b/alternatives/xinput-all_ALL @@ -0,0 +1 @@ +/etc/X11/xinit/xinput.d/default \ No newline at end of file diff --git a/alternatives/xinput-ja_JP b/alternatives/xinput-ja_JP new file mode 120000 index 0000000..0ff699b --- /dev/null +++ b/alternatives/xinput-ja_JP @@ -0,0 +1 @@ +/etc/X11/xinit/xinput.d/ibus-kde \ No newline at end of file diff --git a/alternatives/xinput-ko_KR b/alternatives/xinput-ko_KR new file mode 120000 index 0000000..0ff699b --- /dev/null +++ b/alternatives/xinput-ko_KR @@ -0,0 +1 @@ +/etc/X11/xinit/xinput.d/ibus-kde \ No newline at end of file diff --git a/alternatives/xinput-lo_TH b/alternatives/xinput-lo_TH new file mode 120000 index 0000000..8f9a4a2 --- /dev/null +++ b/alternatives/xinput-lo_TH @@ -0,0 +1 @@ +/etc/X11/xinit/xinput.d/lo-gtk \ No newline at end of file diff --git a/alternatives/xinput-th_TH b/alternatives/xinput-th_TH new file mode 120000 index 0000000..fc648ba --- /dev/null +++ b/alternatives/xinput-th_TH @@ -0,0 +1 @@ +/etc/X11/xinit/xinput.d/th-xim \ No newline at end of file diff --git a/alternatives/xinput-zh_CN b/alternatives/xinput-zh_CN new file mode 120000 index 0000000..0ff699b --- /dev/null +++ b/alternatives/xinput-zh_CN @@ -0,0 +1 @@ +/etc/X11/xinit/xinput.d/ibus-kde \ No newline at end of file diff --git a/alternatives/xinput-zh_HK b/alternatives/xinput-zh_HK new file mode 120000 index 0000000..0ff699b --- /dev/null +++ b/alternatives/xinput-zh_HK @@ -0,0 +1 @@ +/etc/X11/xinit/xinput.d/ibus-kde \ No newline at end of file diff --git a/alternatives/xinput-zh_SG b/alternatives/xinput-zh_SG new file mode 120000 index 0000000..0ff699b --- /dev/null +++ b/alternatives/xinput-zh_SG @@ -0,0 +1 @@ +/etc/X11/xinit/xinput.d/ibus-kde \ No newline at end of file diff --git a/alternatives/xinput-zh_TW b/alternatives/xinput-zh_TW new file mode 120000 index 0000000..0ff699b --- /dev/null +++ b/alternatives/xinput-zh_TW @@ -0,0 +1 @@ +/etc/X11/xinit/xinput.d/ibus-kde \ No newline at end of file diff --git a/alternatives/xulrunner-addons-flashplugin b/alternatives/xulrunner-addons-flashplugin new file mode 120000 index 0000000..f3b16af --- /dev/null +++ b/alternatives/xulrunner-addons-flashplugin @@ -0,0 +1 @@ +/usr/lib/flashplugin-installer/libflashplayer.so \ No newline at end of file diff --git a/alternatives/xulrunner-flashplugin b/alternatives/xulrunner-flashplugin new file mode 120000 index 0000000..f3b16af --- /dev/null +++ b/alternatives/xulrunner-flashplugin @@ -0,0 +1 @@ +/usr/lib/flashplugin-installer/libflashplayer.so \ No newline at end of file diff --git a/alternatives/xvncviewer b/alternatives/xvncviewer new file mode 120000 index 0000000..1a55f91 --- /dev/null +++ b/alternatives/xvncviewer @@ -0,0 +1 @@ +/usr/bin/xtightvncviewer \ No newline at end of file diff --git a/alternatives/xvncviewer.1.gz b/alternatives/xvncviewer.1.gz new file mode 120000 index 0000000..e47e6f1 --- /dev/null +++ b/alternatives/xvncviewer.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/xtightvncviewer.1.gz \ No newline at end of file diff --git a/anacrontab b/anacrontab new file mode 100644 index 0000000..4ff5c14 --- /dev/null +++ b/anacrontab @@ -0,0 +1,12 @@ +# /etc/anacrontab: configuration file for anacron + +# See anacron(8) and anacrontab(5) for details. + +SHELL=/bin/sh +PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin + +# These replace cron's entries +1 5 cron.daily nice run-parts --report /etc/cron.daily +7 10 cron.weekly nice run-parts --report /etc/cron.weekly +@monthly 15 cron.monthly nice run-parts --report /etc/cron.monthly + diff --git a/apache2/apache2.conf b/apache2/apache2.conf new file mode 100644 index 0000000..1589904 --- /dev/null +++ b/apache2/apache2.conf @@ -0,0 +1,230 @@ +# +# Based upon the NCSA server configuration files originally by Rob McCool. +# +# This is the main Apache server configuration file. It contains the +# configuration directives that give the server its instructions. +# See http://httpd.apache.org/docs/2.2/ for detailed information about +# the directives. +# +# Do NOT simply read the instructions in here without understanding +# what they do. They're here only as hints or reminders. If you are unsure +# consult the online docs. You have been warned. +# +# The configuration directives are grouped into three basic sections: +# 1. Directives that control the operation of the Apache server process as a +# whole (the 'global environment'). +# 2. Directives that define the parameters of the 'main' or 'default' server, +# which responds to requests that aren't handled by a virtual host. +# These directives also provide default values for the settings +# of all virtual hosts. +# 3. Settings for virtual hosts, which allow Web requests to be sent to +# different IP addresses or hostnames and have them handled by the +# same Apache server process. +# +# Configuration and logfile names: If the filenames you specify for many +# of the server's control files begin with "/" (or "drive:/" for Win32), the +# server will use that explicit path. If the filenames do *not* begin +# with "/", the value of ServerRoot is prepended -- so "foo.log" +# with ServerRoot set to "/etc/apache2" will be interpreted by the +# server as "/etc/apache2/foo.log". +# + +### Section 1: Global Environment +# +# The directives in this section affect the overall operation of Apache, +# such as the number of concurrent requests it can handle or where it +# can find its configuration files. +# + +# +# ServerRoot: The top of the directory tree under which the server's +# configuration, error, and log files are kept. +# +# NOTE! If you intend to place this on an NFS (or otherwise network) +# mounted filesystem then please read the LockFile documentation (available +# at ); +# you will save yourself a lot of trouble. +# +# Do NOT add a slash at the end of the directory path. +# +#ServerRoot "/etc/apache2" + +# +# The accept serialization lock file MUST BE STORED ON A LOCAL DISK. +# +LockFile ${APACHE_LOCK_DIR}/accept.lock + +# +# PidFile: The file in which the server should record its process +# identification number when it starts. +# This needs to be set in /etc/apache2/envvars +# +PidFile ${APACHE_PID_FILE} + +# +# Timeout: The number of seconds before receives and sends time out. +# +Timeout 300 + +# +# KeepAlive: Whether or not to allow persistent connections (more than +# one request per connection). Set to "Off" to deactivate. +# +KeepAlive On + +# +# MaxKeepAliveRequests: The maximum number of requests to allow +# during a persistent connection. Set to 0 to allow an unlimited amount. +# We recommend you leave this number high, for maximum performance. +# +MaxKeepAliveRequests 100 + +# +# KeepAliveTimeout: Number of seconds to wait for the next request from the +# same client on the same connection. +# +KeepAliveTimeout 5 + +## +## Server-Pool Size Regulation (MPM specific) +## + +# prefork MPM +# StartServers: number of server processes to start +# MinSpareServers: minimum number of server processes which are kept spare +# MaxSpareServers: maximum number of server processes which are kept spare +# MaxClients: maximum number of server processes allowed to start +# MaxRequestsPerChild: maximum number of requests a server process serves + + StartServers 5 + MinSpareServers 5 + MaxSpareServers 10 + MaxClients 150 + MaxRequestsPerChild 0 + + +# worker MPM +# StartServers: initial number of server processes to start +# MinSpareThreads: minimum number of worker threads which are kept spare +# MaxSpareThreads: maximum number of worker threads which are kept spare +# ThreadLimit: ThreadsPerChild can be changed to this maximum value during a +# graceful restart. ThreadLimit can only be changed by stopping +# and starting Apache. +# ThreadsPerChild: constant number of worker threads in each server process +# MaxClients: maximum number of simultaneous client connections +# MaxRequestsPerChild: maximum number of requests a server process serves + + StartServers 2 + MinSpareThreads 25 + MaxSpareThreads 75 + ThreadLimit 64 + ThreadsPerChild 25 + MaxClients 150 + MaxRequestsPerChild 0 + + +# event MPM +# StartServers: initial number of server processes to start +# MinSpareThreads: minimum number of worker threads which are kept spare +# MaxSpareThreads: maximum number of worker threads which are kept spare +# ThreadsPerChild: constant number of worker threads in each server process +# MaxClients: maximum number of simultaneous client connections +# MaxRequestsPerChild: maximum number of requests a server process serves + + StartServers 2 + MinSpareThreads 25 + MaxSpareThreads 75 + ThreadLimit 64 + ThreadsPerChild 25 + MaxClients 150 + MaxRequestsPerChild 0 + + +# These need to be set in /etc/apache2/envvars +User ${APACHE_RUN_USER} +Group ${APACHE_RUN_GROUP} + +# +# AccessFileName: The name of the file to look for in each directory +# for additional configuration directives. See also the AllowOverride +# directive. +# + +AccessFileName .htaccess + +# +# The following lines prevent .htaccess and .htpasswd files from being +# viewed by Web clients. +# + + Order allow,deny + Deny from all + Satisfy all + + +# +# DefaultType is the default MIME type the server will use for a document +# if it cannot otherwise determine one, such as from filename extensions. +# If your server contains mostly text or HTML documents, "text/plain" is +# a good value. If most of your content is binary, such as applications +# or images, you may want to use "application/octet-stream" instead to +# keep browsers from trying to display binary files as though they are +# text. +# +DefaultType text/plain + + +# +# HostnameLookups: Log the names of clients or just their IP addresses +# e.g., www.apache.org (on) or 204.62.129.132 (off). +# The default is off because it'd be overall better for the net if people +# had to knowingly turn this feature on, since enabling it means that +# each client request will result in AT LEAST one lookup request to the +# nameserver. +# +HostnameLookups Off + +# ErrorLog: The location of the error log file. +# If you do not specify an ErrorLog directive within a +# container, error messages relating to that virtual host will be +# logged here. If you *do* define an error logfile for a +# container, that host's errors will be logged there and not here. +# +ErrorLog ${APACHE_LOG_DIR}/error.log + +# +# LogLevel: Control the number of messages logged to the error_log. +# Possible values include: debug, info, notice, warn, error, crit, +# alert, emerg. +# +LogLevel warn + +# Include module configuration: +Include mods-enabled/*.load +Include mods-enabled/*.conf + +# Include all the user configurations: +Include httpd.conf + +# Include ports listing +Include ports.conf + +# +# The following directives define some format nicknames for use with +# a CustomLog directive (see below). +# If you are behind a reverse proxy, you might want to change %h into %{X-Forwarded-For}i +# +LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined +LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined +LogFormat "%h %l %u %t \"%r\" %>s %O" common +LogFormat "%{Referer}i -> %U" referer +LogFormat "%{User-agent}i" agent + +# Include of directories ignores editors' and dpkg's backup files, +# see README.Debian for details. + +# Include generic snippets of statements +Include conf.d/ + +# Include the virtual host configurations: +Include sites-enabled/ diff --git a/apache2/conf.d/charset b/apache2/conf.d/charset new file mode 100644 index 0000000..40d7198 --- /dev/null +++ b/apache2/conf.d/charset @@ -0,0 +1,6 @@ +# Read the documentation before enabling AddDefaultCharset. +# In general, it is only a good idea if you know that all your files +# have this encoding. It will override any encoding given in the files +# in meta http-equiv or xml encoding tags. + +#AddDefaultCharset UTF-8 diff --git a/apache2/conf.d/localized-error-pages b/apache2/conf.d/localized-error-pages new file mode 100644 index 0000000..2a2e83f --- /dev/null +++ b/apache2/conf.d/localized-error-pages @@ -0,0 +1,79 @@ +# +# Customizable error responses come in three flavors: +# 1) plain text 2) local redirects 3) external redirects +# +# Some examples: +#ErrorDocument 500 "The server made a boo boo." +#ErrorDocument 404 /missing.html +#ErrorDocument 404 "/cgi-bin/missing_handler.pl" +#ErrorDocument 402 http://www.example.com/subscription_info.html +# + +# +# Putting this all together, we can internationalize error responses. +# +# We use Alias to redirect any /error/HTTP_.html.var response to +# our collection of by-error message multi-language collections. We use +# includes to substitute the appropriate text. +# +# You can modify the messages' appearance without changing any of the +# default HTTP_.html.var files by adding the line: +# +# Alias /error/include/ "/your/include/path/" +# +# which allows you to create your own set of files by starting with the +# /usr/share/apache2/error/include/ files and copying them to /your/include/path/, +# even on a per-VirtualHost basis. If you include the Alias in the global server +# context, is has to come _before_ the 'Alias /error/ ...' line. +# +# The default include files will display your Apache version number and your +# ServerAdmin email address regardless of the setting of ServerSignature. +# +# WARNING: The configuration below will NOT work out of the box if you have a +# SetHandler directive in a context somewhere. Adding +# the following three lines AFTER the context should +# make it work in most cases: +# +# SetHandler none +# +# +# The internationalized error documents require mod_alias, mod_include +# and mod_negotiation. To activate them, uncomment the following 37 lines. + +# +# +# +# +# Alias /error/ "/usr/share/apache2/error/" +# +# +# AllowOverride None +# Options IncludesNoExec +# AddOutputFilter Includes html +# AddHandler type-map var +# Order allow,deny +# Allow from all +# LanguagePriority en cs de es fr it nl sv pt-br ro +# ForceLanguagePriority Prefer Fallback +# +# +# ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var +# ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var +# ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var +# ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var +# ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var +# ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var +# ErrorDocument 410 /error/HTTP_GONE.html.var +# ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var +# ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var +# ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var +# ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var +# ErrorDocument 415 /error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var +# ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var +# ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var +# ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var +# ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var +# ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var +# +# +# diff --git a/apache2/conf.d/munin b/apache2/conf.d/munin new file mode 120000 index 0000000..56fedfa --- /dev/null +++ b/apache2/conf.d/munin @@ -0,0 +1 @@ +../../munin/apache.conf \ No newline at end of file diff --git a/apache2/conf.d/other-vhosts-access-log b/apache2/conf.d/other-vhosts-access-log new file mode 100644 index 0000000..9f7aecd --- /dev/null +++ b/apache2/conf.d/other-vhosts-access-log @@ -0,0 +1,2 @@ +# Define an access log for VirtualHosts that don't define their own logfile +CustomLog ${APACHE_LOG_DIR}/other_vhosts_access.log vhost_combined diff --git a/apache2/conf.d/security b/apache2/conf.d/security new file mode 100644 index 0000000..081d77e --- /dev/null +++ b/apache2/conf.d/security @@ -0,0 +1,51 @@ +# +# Disable access to the entire file system except for the directories that +# are explicitly allowed later. +# +# This currently breaks the configurations that come with some web application +# Debian packages. +# +# +# AllowOverride None +# Order Deny,Allow +# Deny from all +# + + +# Changing the following options will not really affect the security of the +# server, but might make attacks slightly more difficult in some cases. + +# +# ServerTokens +# This directive configures what you return as the Server HTTP response +# Header. The default is 'Full' which sends information about the OS-Type +# and compiled in modules. +# Set to one of: Full | OS | Minimal | Minor | Major | Prod +# where Full conveys the most information, and Prod the least. +# +#ServerTokens Minimal +ServerTokens OS +#ServerTokens Full + +# +# Optionally add a line containing the server version and virtual host +# name to server-generated pages (internal error documents, FTP directory +# listings, mod_status and mod_info output etc., but not CGI generated +# documents or custom error documents). +# Set to "EMail" to also include a mailto: link to the ServerAdmin. +# Set to one of: On | Off | EMail +# +#ServerSignature Off +ServerSignature On + +# +# Allow TRACE method +# +# Set to "extended" to also reflect the request body (only for testing and +# diagnostic purposes). +# +# Set to one of: On | Off | extended +# +TraceEnable Off +#TraceEnable On + diff --git a/apache2/envvars b/apache2/envvars new file mode 100644 index 0000000..0a4cc94 --- /dev/null +++ b/apache2/envvars @@ -0,0 +1,37 @@ +# envvars - default environment variables for apache2ctl + +# this won't be correct after changing uid +unset HOME + +# for supporting multiple apache2 instances +if [ "${APACHE_CONFDIR##/etc/apache2-}" != "${APACHE_CONFDIR}" ] ; then + SUFFIX="-${APACHE_CONFDIR##/etc/apache2-}" +else + SUFFIX= +fi + +# Since there is no sane way to get the parsed apache2 config in scripts, some +# settings are defined via environment variables and then used in apache2ctl, +# /etc/init.d/apache2, /etc/logrotate.d/apache2, etc. +export APACHE_RUN_USER=www-data +export APACHE_RUN_GROUP=www-data +export APACHE_PID_FILE=/var/run/apache2$SUFFIX.pid +export APACHE_RUN_DIR=/var/run/apache2$SUFFIX +export APACHE_LOCK_DIR=/var/lock/apache2$SUFFIX +# Only /var/log/apache2 is handled by /etc/logrotate.d/apache2. +export APACHE_LOG_DIR=/var/log/apache2$SUFFIX + +## The locale used by some modules like mod_dav +export LANG=C +## Uncomment the following line to use the system default locale instead: +#. /etc/default/locale + +export LANG + +## The command to get the status for 'apache2ctl status'. +## Some packages providing 'www-browser' need '--dump' instead of '-dump'. +#export APACHE_LYNX='www-browser -dump' + +## If you need a higher file descriptor limit, uncomment and adjust the +## following line (default is 8192): +#APACHE_ULIMIT_MAX_FILES='ulimit -n 65536' diff --git a/apache2/httpd.conf b/apache2/httpd.conf new file mode 100644 index 0000000..e69de29 diff --git a/apache2/magic b/apache2/magic new file mode 100644 index 0000000..cdf9ac5 --- /dev/null +++ b/apache2/magic @@ -0,0 +1,935 @@ +# Magic data for mod_mime_magic (originally for file(1) command) +# +# The format is 4-5 columns: +# Column #1: byte number to begin checking from, ">" indicates continuation +# Column #2: type of data to match +# Column #3: contents of data to match +# Column #4: MIME type of result +# Column #5: MIME encoding of result (optional) + +#------------------------------------------------------------------------------ +# Localstuff: file(1) magic for locally observed files +# Add any locally observed files here. + +# Real Audio (Magic .ra\0375) +0 belong 0x2e7261fd audio/x-pn-realaudio +0 string .RMF application/vnd.rn-realmedia + +#video/x-pn-realvideo +#video/vnd.rn-realvideo +#application/vnd.rn-realmedia +# sigh, there are many mimes for that but the above are the most common. + +# Taken from magic, converted to magic.mime +# mime types according to http://www.geocities.com/nevilo/mod.htm: +# audio/it .it +# audio/x-zipped-it .itz +# audio/xm fasttracker modules +# audio/x-s3m screamtracker modules +# audio/s3m screamtracker modules +# audio/x-zipped-mod mdz +# audio/mod mod +# audio/x-mod All modules (mod, s3m, 669, mtm, med, xm, it, mdz, stm, itz, xmz, s3z) + +# Taken from loader code from mikmod version 2.14 +# by Steve McIntyre (stevem@chiark.greenend.org.uk) +# added title printing on 2003-06-24 +0 string MAS_UTrack_V00 +>14 string >/0 audio/x-mod +#audio/x-tracker-module + +#0 string UN05 MikMod UNI format module sound data + +0 string Extended\ Module: audio/x-mod +#audio/x-tracker-module +##>17 string >\0 Title: "%s" + +21 string/c \!SCREAM! audio/x-mod +#audio/x-screamtracker-module +21 string BMOD2STM audio/x-mod +#audio/x-screamtracker-module +1080 string M.K. audio/x-mod +#audio/x-protracker-module +#>0 string >\0 Title: "%s" +1080 string M!K! audio/x-mod +#audio/x-protracker-module +#>0 string >\0 Title: "%s" +1080 string FLT4 audio/x-mod +#audio/x-startracker-module +#>0 string >\0 Title: "%s" +1080 string FLT8 audio/x-mod +#audio/x-startracker-module +#>0 string >\0 Title: "%s" +1080 string 4CHN audio/x-mod +#audio/x-fasttracker-module +#>0 string >\0 Title: "%s" +1080 string 6CHN audio/x-mod +#audio/x-fasttracker-module +#>0 string >\0 Title: "%s" +1080 string 8CHN audio/x-mod +#audio/x-fasttracker-module +#>0 string >\0 Title: "%s" +1080 string CD81 audio/x-mod +#audio/x-oktalyzer-tracker-module +#>0 string >\0 Title: "%s" +1080 string OKTA audio/x-mod +#audio/x-oktalyzer-tracker-module +#>0 string >\0 Title: "%s" +# Not good enough. +#1082 string CH +#>1080 string >/0 %.2s-channel Fasttracker "oktalyzer" module sound data +1080 string 16CN audio/x-mod +#audio/x-taketracker-module +#>0 string >\0 Title: "%s" +1080 string 32CN audio/x-mod +#audio/x-taketracker-module +#>0 string >\0 Title: "%s" + +# Impuse tracker module (it) +0 string IMPM audio/x-mod +#>4 string >\0 "%s" +#>40 leshort !0 compatible w/ITv%x +#>42 leshort !0 created w/ITv%x + +#------------------------------------------------------------------------------ +# end local stuff +#------------------------------------------------------------------------------ + +# xml based formats! + +# svg + +0 string \38 string \<\!DOCTYPE\040svg image/svg+xml + + +# xml +0 string \2 short 0xbabe application/java + +#------------------------------------------------------------------------------ +# audio: file(1) magic for sound formats +# +# from Jan Nicolai Langfeldt , +# + +# Sun/NeXT audio data +0 string .snd +>12 belong 1 audio/basic +>12 belong 2 audio/basic +>12 belong 3 audio/basic +>12 belong 4 audio/basic +>12 belong 5 audio/basic +>12 belong 6 audio/basic +>12 belong 7 audio/basic + +>12 belong 23 audio/x-adpcm + +# DEC systems (e.g. DECstation 5000) use a variant of the Sun/NeXT format +# that uses little-endian encoding and has a different magic number +# (0x0064732E in little-endian encoding). +0 lelong 0x0064732E +>12 lelong 1 audio/x-dec-basic +>12 lelong 2 audio/x-dec-basic +>12 lelong 3 audio/x-dec-basic +>12 lelong 4 audio/x-dec-basic +>12 lelong 5 audio/x-dec-basic +>12 lelong 6 audio/x-dec-basic +>12 lelong 7 audio/x-dec-basic +# compressed (G.721 ADPCM) +>12 lelong 23 audio/x-dec-adpcm + +# Bytes 0-3 of AIFF, AIFF-C, & 8SVX audio files are "FORM" +# AIFF audio data +8 string AIFF audio/x-aiff +# AIFF-C audio data +8 string AIFC audio/x-aiff +# IFF/8SVX audio data +8 string 8SVX audio/x-aiff + + + +# Creative Labs AUDIO stuff +# Standard MIDI data +0 string MThd audio/unknown +#>9 byte >0 (format %d) +#>11 byte >1 using %d channels +# Creative Music (CMF) data +0 string CTMF audio/unknown +# SoundBlaster instrument data +0 string SBI audio/unknown +# Creative Labs voice data +0 string Creative\ Voice\ File audio/unknown +## is this next line right? it came this way... +#>19 byte 0x1A +#>23 byte >0 - version %d +#>22 byte >0 \b.%d + +# [GRR 950115: is this also Creative Labs? Guessing that first line +# should be string instead of unknown-endian long...] +#0 long 0x4e54524b MultiTrack sound data +#0 string NTRK MultiTrack sound data +#>4 long x - version %ld + +# Microsoft WAVE format (*.wav) +# [GRR 950115: probably all of the shorts and longs should be leshort/lelong] +# Microsoft RIFF +0 string RIFF +# - WAVE format +>8 string WAVE audio/x-wav +>8 string/B AVI video/x-msvideo +# +>8 string CDRA image/x-coreldraw + +# AAC (aka MPEG-2 NBC) +0 beshort&0xfff6 0xfff0 audio/X-HX-AAC-ADTS +0 string ADIF audio/X-HX-AAC-ADIF +0 beshort&0xffe0 0x56e0 audio/MP4A-LATM +0 beshort 0x4De1 audio/MP4A-LATM + +# MPEG Layer 3 sound files +0 beshort&0xfffe =0xfffa audio/mpeg +#MP3 with ID3 tag +0 string ID3 audio/mpeg +# Ogg/Vorbis +0 string OggS application/ogg + +#------------------------------------------------------------------------------ +# c-lang: file(1) magic for C programs or various scripts +# + +# XPM icons (Greg Roelofs, newt@uchicago.edu) +# ideally should go into "images", but entries below would tag XPM as C source +0 string /*\ XPM image/x-xpmi 7bit + +# 3DS (3d Studio files) +#16 beshort 0x3d3d image/x-3ds + +# this first will upset you if you're a PL/1 shop... (are there any left?) +# in which case rm it; ascmagic will catch real C programs +# C or REXX program text +#0 string /* text/x-c +# C++ program text +#0 string // text/x-c++ + +#------------------------------------------------------------------------------ +# commands: file(1) magic for various shells and interpreters +# +#0 string :\ shell archive or commands for antique kernel text +0 string #!/bin/sh application/x-shellscript +0 string #!\ /bin/sh application/x-shellscript +0 string #!/bin/csh application/x-shellscript +0 string #!\ /bin/csh application/x-shellscript +# korn shell magic, sent by George Wu, gwu@clyde.att.com +0 string #!/bin/ksh application/x-shellscript +0 string #!\ /bin/ksh application/x-shellscript +0 string #!/bin/tcsh application/x-shellscript +0 string #!\ /bin/tcsh application/x-shellscript +0 string #!/usr/local/tcsh application/x-shellscript +0 string #!\ /usr/local/tcsh application/x-shellscript +0 string #!/usr/local/bin/tcsh application/x-shellscript +0 string #!\ /usr/local/bin/tcsh application/x-shellscript +# bash shell magic, from Peter Tobias (tobias@server.et-inf.fho-emden.de) +0 string #!/bin/bash application/x-shellscript +0 string #!\ /bin/bash application/x-shellscript +0 string #!/usr/local/bin/bash application/x-shellscript +0 string #!\ /usr/local/bin/bash application/x-shellscript + +# +# zsh/ash/ae/nawk/gawk magic from cameron@cs.unsw.oz.au (Cameron Simpson) +0 string #!/bin/zsh application/x-shellscript +0 string #!/usr/bin/zsh application/x-shellscript +0 string #!/usr/local/bin/zsh application/x-shellscript +0 string #!\ /usr/local/bin/zsh application/x-shellscript +0 string #!/usr/local/bin/ash application/x-shellscript +0 string #!\ /usr/local/bin/ash application/x-shellscript +#0 string #!/usr/local/bin/ae Neil Brown's ae +#0 string #!\ /usr/local/bin/ae Neil Brown's ae +0 string #!/bin/nawk application/x-nawk +0 string #!\ /bin/nawk application/x-nawk +0 string #!/usr/bin/nawk application/x-nawk +0 string #!\ /usr/bin/nawk application/x-nawk +0 string #!/usr/local/bin/nawk application/x-nawk +0 string #!\ /usr/local/bin/nawk application/x-nawk +0 string #!/bin/gawk application/x-gawk +0 string #!\ /bin/gawk application/x-gawk +0 string #!/usr/bin/gawk application/x-gawk +0 string #!\ /usr/bin/gawk application/x-gawk +0 string #!/usr/local/bin/gawk application/x-gawk +0 string #!\ /usr/local/bin/gawk application/x-gawk +# +0 string #!/bin/awk application/x-awk +0 string #!\ /bin/awk application/x-awk +0 string #!/usr/bin/awk application/x-awk +0 string #!\ /usr/bin/awk application/x-awk +# update to distinguish from *.vcf files by Joerg Jenderek: joerg dot jenderek at web dot de +#0 regex BEGIN[[:space:]]*[{] application/x-awk + +# For Larry Wall's perl language. The ``eval'' line recognizes an +# outrageously clever hack for USG systems. +# Keith Waclena +0 string #!/bin/perl application/x-perl +0 string #!\ /bin/perl application/x-perl +0 string eval\ "exec\ /bin/perl application/x-perl +0 string #!/usr/bin/perl application/x-perl +0 string #!\ /usr/bin/perl application/x-perl +0 string eval\ "exec\ /usr/bin/perl application/x-perl +0 string #!/usr/local/bin/perl application/x-perl +0 string #!\ /usr/local/bin/perl application/x-perl +0 string eval\ "exec\ /usr/local/bin/perl application/x-perl + +#------------------------------------------------------------------------------ +# compress: file(1) magic for pure-compression formats (no archives) +# +# compress, gzip, pack, compact, huf, squeeze, crunch, freeze, yabba, whap, etc. +# +# Formats for various forms of compressed data +# Formats for "compress" proper have been moved into "compress.c", +# because it tries to uncompress it to figure out what's inside. + +# standard unix compress +#0 string \037\235 application/x-compress + +# gzip (GNU zip, not to be confused with [Info-ZIP/PKWARE] zip archiver) +#0 string \037\213 application/x-gzip + +0 string PK\003\004 application/x-zip + +# RAR archiver (Greg Roelofs, newt@uchicago.edu) +0 string Rar! application/x-rar + +# According to gzip.h, this is the correct byte order for packed data. +0 string \037\036 application/octet-stream +# +# This magic number is byte-order-independent. +# +0 short 017437 application/octet-stream + +# XXX - why *two* entries for "compacted data", one of which is +# byte-order independent, and one of which is byte-order dependent? +# +# compacted data +0 short 0x1fff application/octet-stream +0 string \377\037 application/octet-stream +# huf output +0 short 0145405 application/octet-stream + +# Squeeze and Crunch... +# These numbers were gleaned from the Unix versions of the programs to +# handle these formats. Note that I can only uncrunch, not crunch, and +# I didn't have a crunched file handy, so the crunch number is untested. +# Keith Waclena +#0 leshort 0x76FF squeezed data (CP/M, DOS) +#0 leshort 0x76FE crunched data (CP/M, DOS) + +# Freeze +#0 string \037\237 Frozen file 2.1 +#0 string \037\236 Frozen file 1.0 (or gzip 0.5) + +# lzh? +#0 string \037\240 LZH compressed data + +257 string ustar\0 application/x-tar posix +257 string ustar\040\040\0 application/x-tar gnu + +0 short 070707 application/x-cpio +0 short 0143561 application/x-cpio swapped + +0 string = application/x-archive +0 string \! application/x-archive +>8 string debian application/x-debian-package + +#------------------------------------------------------------------------------ +# +# RPM: file(1) magic for Red Hat Packages Erik Troan (ewt@redhat.com) +# +0 beshort 0xedab +>2 beshort 0xeedb application/x-rpm + +0 lelong&0x8080ffff 0x0000081a application/x-arc lzw +0 lelong&0x8080ffff 0x0000091a application/x-arc squashed +0 lelong&0x8080ffff 0x0000021a application/x-arc uncompressed +0 lelong&0x8080ffff 0x0000031a application/x-arc packed +0 lelong&0x8080ffff 0x0000041a application/x-arc squeezed +0 lelong&0x8080ffff 0x0000061a application/x-arc crunched + +0 leshort 0xea60 application/x-arj + +# LHARC/LHA archiver (Greg Roelofs, newt@uchicago.edu) +2 string -lh0- application/x-lharc lh0 +2 string -lh1- application/x-lharc lh1 +2 string -lz4- application/x-lharc lz4 +2 string -lz5- application/x-lharc lz5 +# [never seen any but the last; -lh4- reported in comp.compression:] +2 string -lzs- application/x-lha lzs +2 string -lh\ - application/x-lha lh +2 string -lhd- application/x-lha lhd +2 string -lh2- application/x-lha lh2 +2 string -lh3- application/x-lha lh3 +2 string -lh4- application/x-lha lh4 +2 string -lh5- application/x-lha lh5 +2 string -lh6- application/x-lha lh6 +2 string -lh7- application/x-lha lh7 +# Shell archives +10 string #\ This\ is\ a\ shell\ archive application/octet-stream x-shell + +#------------------------------------------------------------------------------ +# frame: file(1) magic for FrameMaker files +# +# This stuff came on a FrameMaker demo tape, most of which is +# copyright, but this file is "published" as witness the following: +# +0 string \ +# +0 string/cB \14 byte 12 (OS/2 1.x format) +#>14 byte 64 (OS/2 2.x format) +#>14 byte 40 (Windows 3.x format) +#0 string IC icon +#0 string PI pointer +#0 string CI color icon +#0 string CP color pointer +#0 string BA bitmap array + +# CDROM Filesystems +32769 string CD001 application/x-iso9660 + +# Newer StuffIt archives (grant@netbsd.org) +0 string StuffIt application/x-stuffit +#>162 string >0 : %s + +# BinHex is the Macintosh ASCII-encoded file format (see also "apple") +# Daniel Quinlan, quinlan@yggdrasil.com +11 string must\ be\ converted\ with\ BinHex\ 4 application/mac-binhex40 +##>41 string x \b, version %.3s + + +#------------------------------------------------------------------------------ +# lisp: file(1) magic for lisp programs +# +# various lisp types, from Daniel Quinlan (quinlan@yggdrasil.com) +0 string ;; text/plain 8bit +# Emacs 18 - this is always correct, but not very magical. +0 string \012( application/x-elc +# Emacs 19 +0 string ;ELC\023\000\000\000 application/x-elc + +#------------------------------------------------------------------------------ +# mail.news: file(1) magic for mail and news +# +# There are tests to ascmagic.c to cope with mail and news. +0 string Relay-Version: message/rfc822 7bit +0 string #!\ rnews message/rfc822 7bit +0 string N#!\ rnews message/rfc822 7bit +0 string Forward\ to message/rfc822 7bit +0 string Pipe\ to message/rfc822 7bit +0 string Return-Path: message/rfc822 7bit +0 string Received: message/rfc822 +0 string Path: message/news 8bit +0 string Xref: message/news 8bit +0 string From: message/rfc822 7bit +0 string Article message/news 8bit +#------------------------------------------------------------------------------ +# msword: file(1) magic for MS Word files +# +# Contributor claims: +# Reversed-engineered MS Word magic numbers +# + +0 string \376\067\0\043 application/msword +0 string \320\317\021\340\241\261 application/msword +0 string \333\245-\0\0\0 application/msword + + + +#------------------------------------------------------------------------------ +# printer: file(1) magic for printer-formatted files +# + +# PostScript +0 string %! application/postscript +0 string \004%! application/postscript + +# Acrobat +# (due to clamen@cs.cmu.edu) +0 string %PDF- application/pdf + +#------------------------------------------------------------------------------ +# sc: file(1) magic for "sc" spreadsheet +# +38 string Spreadsheet application/x-sc + +#------------------------------------------------------------------------------ +# tex: file(1) magic for TeX files +# +# XXX - needs byte-endian stuff (big-endian and little-endian DVI?) +# +# From + +# Although we may know the offset of certain text fields in TeX DVI +# and font files, we can't use them reliably because they are not +# zero terminated. [but we do anyway, christos] +0 string \367\002 application/x-dvi +#0 string \367\203 TeX generic font data +#0 string \367\131 TeX packed font data +#0 string \367\312 TeX virtual font data +#0 string This\ is\ TeX, TeX transcript text +#0 string This\ is\ METAFONT, METAFONT transcript text + +# There is no way to detect TeX Font Metric (*.tfm) files without +# breaking them apart and reading the data. The following patterns +# match most *.tfm files generated by METAFONT or afm2tfm. +2 string \000\021 application/x-tex-tfm +2 string \000\022 application/x-tex-tfm +#>34 string >\0 (%s) + +# Texinfo and GNU Info, from Daniel Quinlan (quinlan@yggdrasil.com) +0 string \\input\ texinfo text/x-texinfo +0 string This\ is\ Info\ file text/x-info + +# correct TeX magic for Linux (and maybe more) +# from Peter Tobias (tobias@server.et-inf.fho-emden.de) +# +0 leshort 0x02f7 application/x-dvi + +# RTF - Rich Text Format +0 string {\\rtf text/rtf + +#------------------------------------------------------------------------------ +# animation: file(1) magic for animation/movie formats +# +# animation formats, originally from vax@ccwf.cc.utexas.edu (VaX#n8) +# MPEG file +# MPEG sequences +0 belong 0x000001BA +>4 byte &0x40 video/mp2p +>4 byte ^0x40 video/mpeg +0 belong 0x000001BB video/mpeg +0 belong 0x000001B0 video/mp4v-es +0 belong 0x000001B5 video/mp4v-es +0 belong 0x000001B3 video/mpv +0 belong&0xFF5FFF1F 0x47400010 video/mp2t +0 belong 0x00000001 +>4 byte&0x1F 0x07 video/h264 + +# FLI animation format +0 leshort 0xAF11 video/fli +# FLC animation format +0 leshort 0xAF12 video/flc +# +# SGI and Apple formats +# Added ISO mimes +0 string MOVI video/sgi +4 string moov video/quicktime +4 string mdat video/quicktime +4 string wide video/quicktime +4 string skip video/quicktime +4 string free video/quicktime +4 string idsc image/x-quicktime +4 string idat image/x-quicktime +4 string pckg application/x-quicktime +4 string/B jP image/jp2 +4 string ftyp +>8 string isom video/mp4 +>8 string mp41 video/mp4 +>8 string mp42 video/mp4 +>8 string/B jp2 image/jp2 +>8 string 3gp video/3gpp +>8 string avc1 video/3gpp +>8 string mmp4 video/mp4 +>8 string/B M4A audio/mp4 +>8 string/B qt video/quicktime +# The contributor claims: +# I couldn't find a real magic number for these, however, this +# -appears- to work. Note that it might catch other files, too, +# so BE CAREFUL! +# +# Note that title and author appear in the two 20-byte chunks +# at decimal offsets 2 and 22, respectively, but they are XOR'ed with +# 255 (hex FF)! DL format SUCKS BIG ROCKS. +# +# DL file version 1 , medium format (160x100, 4 images/screen) +0 byte 1 video/unknown +0 byte 2 video/unknown +# +# Databases +# +# GDBM magic numbers +# Will be maintained as part of the GDBM distribution in the future. +# +0 belong 0x13579ace application/x-gdbm +0 lelong 0x13579ace application/x-gdbm +0 string GDBM application/x-gdbm +# +0 belong 0x061561 application/x-dbm +# +# Executables +# +0 string \177ELF +>16 leshort 0 application/octet-stream +>16 leshort 1 application/x-object +>16 leshort 2 application/x-executable +>16 leshort 3 application/x-sharedlib +>16 leshort 4 application/x-coredump +>16 beshort 0 application/octet-stream +>16 beshort 1 application/x-object +>16 beshort 2 application/x-executable +>16 beshort 3 application/x-sharedlib +>16 beshort 4 application/x-coredump +# +# DOS +0 string MZ application/x-dosexec +# +# KDE +0 string [KDE\ Desktop\ Entry] application/x-kdelnk +0 string \#\ KDE\ Config\ File application/x-kdelnk +# xmcd database file for kscd +0 string \#\ xmcd text/xmcd + +#------------------------------------------------------------------------------ +# pkgadd: file(1) magic for SysV R4 PKG Datastreams +# +0 string #\ PaCkAgE\ DaTaStReAm application/x-svr4-package + +#PNG Image Format +0 string \x89PNG image/png + +# MNG Video Format, +0 string \x8aMNG video/x-mng +0 string \x8aJNG video/x-jng + +#------------------------------------------------------------------------------ +# Hierarchical Data Format, used to facilitate scientific data exchange +# specifications at http://hdf.ncsa.uiuc.edu/ +#Hierarchical Data Format (version 4) data +0 belong 0x0e031301 application/x-hdf +#Hierarchical Data Format (version 5) data +0 string \211HDF\r\n\032 application/x-hdf + +# Adobe Photoshop +0 string 8BPS image/x-photoshop + +# Felix von Leitner +0 string d8:announce application/x-bittorrent + + +# lotus 1-2-3 document +0 belong 0x00001a00 application/x-123 +0 belong 0x00000200 application/x-123 + +# MS Access database +4 string Standard\ Jet\ DB application/msaccess + +## magic for XBase files +#0 byte 0x02 +#>8 leshort >0 +#>>12 leshort 0 application/x-dbf +# +#0 byte 0x03 +#>8 leshort >0 +#>>12 leshort 0 application/x-dbf +# +#0 byte 0x04 +#>8 leshort >0 +#>>12 leshort 0 application/x-dbf +# +#0 byte 0x05 +#>8 leshort >0 +#>>12 leshort 0 application/x-dbf +# +#0 byte 0x30 +#>8 leshort >0 +#>>12 leshort 0 application/x-dbf +# +#0 byte 0x43 +#>8 leshort >0 +#>>12 leshort 0 application/x-dbf +# +#0 byte 0x7b +#>8 leshort >0 +#>>12 leshort 0 application/x-dbf +# +#0 byte 0x83 +#>8 leshort >0 +#>>12 leshort 0 application/x-dbf +# +#0 byte 0x8b +#>8 leshort >0 +#>>12 leshort 0 application/x-dbf +# +#0 byte 0x8e +#>8 leshort >0 +#>>12 leshort 0 application/x-dbf +# +#0 byte 0xb3 +#>8 leshort >0 +#>>12 leshort 0 application/x-dbf +# +#0 byte 0xf5 +#>8 leshort >0 +#>>12 leshort 0 application/x-dbf +# +#0 leshort 0x0006 application/x-dbt + +# Debian has entries for the old PGP formats: +# pgp: file(1) magic for Pretty Good Privacy +# see http://lists.gnupg.org/pipermail/gnupg-devel/1999-September/016052.html +#text/PGP key public ring +0 beshort 0x9900 application/pgp +#text/PGP key security ring +0 beshort 0x9501 application/pgp +#text/PGP key security ring +0 beshort 0x9500 application/pgp +#text/PGP encrypted data +0 beshort 0xa600 application/pgp-encrypted +#text/PGP armored data +##public key block +2 string ---BEGIN\ PGP\ PUBLIC\ KEY\ BLOCK- application/pgp-keys +0 string -----BEGIN\040PGP\40MESSAGE- application/pgp +0 string -----BEGIN\040PGP\40SIGNATURE- application/pgp-signature +# +# GnuPG Magic: +# +# +#text/GnuPG key public ring +0 beshort 0x9901 application/pgp +#text/OpenPGP data +0 beshort 0x8501 application/pgp-encrypted + +# flash: file(1) magic for Macromedia Flash file format +# +# See +# +# http://www.macromedia.com/software/flash/open/ +# +0 string FWS +>3 byte x application/x-shockwave-flash + +# The following paramaters are created for Namazu. +# +# +# 1999/08/13 +#0 string \ + + + + + + %h + + + _udisks-ssh._tcp + 22 + + diff --git a/bash.bashrc b/bash.bashrc new file mode 100644 index 0000000..3f0fc07 --- /dev/null +++ b/bash.bashrc @@ -0,0 +1,63 @@ +# System-wide .bashrc file for interactive bash(1) shells. + +# To enable the settings / commands in this file for login shells as well, +# this file has to be sourced in /etc/profile. + +# If not running interactively, don't do anything +[ -z "$PS1" ] && return + +# check the window size after each command and, if necessary, +# update the values of LINES and COLUMNS. +shopt -s checkwinsize + +# set variable identifying the chroot you work in (used in the prompt below) +if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then + debian_chroot=$(cat /etc/debian_chroot) +fi + +# set a fancy prompt (non-color, overwrite the one in /etc/profile) +PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' + +# Commented out, don't overwrite xterm -T "title" -n "icontitle" by default. +# If this is an xterm set the title to user@host:dir +#case "$TERM" in +#xterm*|rxvt*) +# PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"' +# ;; +#*) +# ;; +#esac + +# enable bash completion in interactive shells +#if [ -f /etc/bash_completion ] && ! shopt -oq posix; then +# . /etc/bash_completion +#fi + +# sudo hint +if [ ! -e "$HOME/.sudo_as_admin_successful" ] && [ ! -e "$HOME/.hushlogin" ] ; then + case " $(groups) " in *\ admin\ *) + if [ -x /usr/bin/sudo ]; then + cat <<-EOF + To run a command as administrator (user "root"), use "sudo ". + See "man sudo_root" for details. + + EOF + fi + esac +fi + +# if the command-not-found package is installed, use it +if [ -x /usr/lib/command-not-found -o -x /usr/share/command-not-found ]; then + function command_not_found_handle { + # check because c-n-f could've been removed in the meantime + if [ -x /usr/lib/command-not-found ]; then + /usr/bin/python /usr/lib/command-not-found -- "$1" + return $? + elif [ -x /usr/share/command-not-found ]; then + /usr/bin/python /usr/share/command-not-found -- "$1" + return $? + else + return 127 + fi + } +fi diff --git a/bash_completion b/bash_completion new file mode 100644 index 0000000..b58e37e --- /dev/null +++ b/bash_completion @@ -0,0 +1,1700 @@ +# +# bash_completion - programmable completion functions for bash 3.2+ +# +# Copyright © 2006-2008, Ian Macdonald +# © 2009-2011, Bash Completion Maintainers +# +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# The latest version of this software can be obtained here: +# +# http://bash-completion.alioth.debian.org/ +# +# RELEASE: 1.3 + +if [[ $- == *v* ]]; then + BASH_COMPLETION_ORIGINAL_V_VALUE="-v" +else + BASH_COMPLETION_ORIGINAL_V_VALUE="+v" +fi + +if [[ -n $BASH_COMPLETION_DEBUG ]]; then + set -v +else + set +v +fi + +# Alter the following to reflect the location of this file. +# +[ -n "$BASH_COMPLETION" ] || BASH_COMPLETION=/etc/bash_completion +[ -n "$BASH_COMPLETION_DIR" ] || BASH_COMPLETION_DIR=/etc/bash_completion.d +[ -n "$BASH_COMPLETION_COMPAT_DIR" ] || BASH_COMPLETION_COMPAT_DIR=/etc/bash_completion.d +readonly BASH_COMPLETION BASH_COMPLETION_DIR BASH_COMPLETION_COMPAT_DIR + +# Set a couple of useful vars +# +UNAME=$( uname -s ) +# strip OS type and version under Cygwin (e.g. CYGWIN_NT-5.1 => Cygwin) +UNAME=${UNAME/CYGWIN_*/Cygwin} + +case ${UNAME} in + Linux|GNU|GNU/*) USERLAND=GNU ;; + *) USERLAND=${UNAME} ;; +esac + +# Turn on extended globbing and programmable completion +shopt -s extglob progcomp + +# A lot of the following one-liners were taken directly from the +# completion examples provided with the bash 2.04 source distribution + +# Make directory commands see only directories +complete -d pushd + +# The following section lists completions that are redefined later +# Do NOT break these over multiple lines. +# +# START exclude -- do NOT remove this line +# bzcmp, bzdiff, bz*grep, bzless, bzmore intentionally not here, see Debian: #455510 +complete -f -X '!*.?(t)bz?(2)' bunzip2 bzcat pbunzip2 pbzcat +complete -f -X '!*.@(zip|[ejw]ar|exe|pk3|wsz|zargo|xpi|sxw|o[tx]t|od[fgpst]|epub|apk)' unzip zipinfo +complete -f -X '*.Z' compress znew +# zcmp, zdiff, z*grep, zless, zmore intentionally not here, see Debian: #455510 +complete -f -X '!*.@(Z|[gGd]z|t[ag]z)' gunzip zcat unpigz +complete -f -X '!*.Z' uncompress +# lzcmp, lzdiff intentionally not here, see Debian: #455510 +complete -f -X '!*.@(tlz|lzma)' lzcat lzegrep lzfgrep lzgrep lzless lzmore unlzma +complete -f -X '!*.@(?(t)xz|tlz|lzma)' unxz xzcat +complete -f -X '!*.lrz' lrunzip +complete -f -X '!*.@(gif|jp?(e)g|miff|tif?(f)|pn[gm]|p[bgp]m|bmp|xpm|ico|xwd|tga|pcx)' ee +complete -f -X '!*.@(gif|jp?(e)g|tif?(f)|png|p[bgp]m|bmp|x[bp]m|rle|rgb|pcx|fits|pm)' xv qiv +complete -f -X '!*.@(@(?(e)ps|?(E)PS|pdf|PDF)?(.gz|.GZ|.bz2|.BZ2|.Z))' gv ggv kghostview +complete -f -X '!*.@(dvi|DVI)?(.@(gz|Z|bz2))' xdvi kdvi +complete -f -X '!*.dvi' dvips dviselect dvitype dvipdf advi dvipdfm dvipdfmx +complete -f -X '!*.[pf]df' acroread gpdf xpdf +complete -f -X '!*.@(?(e)ps|pdf)' kpdf +complete -f -X '!*.@(@(?(e)ps|?(E)PS|[pf]df|[PF]DF|dvi|DVI)?(.gz|.GZ|.bz2|.BZ2)|cb[rz]|djv?(u)|gif|jp?(e)g|miff|tif?(f)|pn[gm]|p[bgp]m|bmp|xpm|ico|xwd|tga|pcx|fdf)' evince +complete -f -X '!*.@(okular|@(?(e|x)ps|?(E|X)PS|pdf|PDF|dvi|DVI|cb[rz]|CB[RZ]|djv?(u)|DJV?(U)|dvi|DVI|gif|jp?(e)g|miff|tif?(f)|pn[gm]|p[bgp]m|bmp|xpm|ico|xwd|tga|pcx|GIF|JP?(E)G|MIFF|TIF?(F)|PN[GM]|P[BGP]M|BMP|XPM|ICO|XWD|TGA|PCX|epub|EPUB|odt|ODT|fb?(2)|FB?(2)|mobi|MOBI|g3|G3|chm|CHM|fdf|FDF)?(.?(gz|GZ|bz2|BZ2)))' okular +complete -f -X '!*.@(?(e)ps|pdf)' ps2pdf ps2pdf12 ps2pdf13 ps2pdf14 ps2pdfwr +complete -f -X '!*.texi*' makeinfo texi2html +complete -f -X '!*.@(?(la)tex|texi|dtx|ins|ltx)' tex latex slitex jadetex pdfjadetex pdftex pdflatex texi2dvi +complete -f -X '!*.mp3' mpg123 mpg321 madplay +complete -f -X '!*@(.@(mp?(e)g|MP?(E)G|wma|avi|AVI|asf|vob|VOB|bin|dat|divx|DIVX|vcd|ps|pes|fli|flv|FLV|fxm|FXM|viv|rm|ram|yuv|mov|MOV|qt|QT|wmv|mp[234]|MP[234]|m4[pv]|M4[PV]|mkv|MKV|og[agmvx]|OG[AGMVX]|t[ps]|T[PS]|m2t?(s)|M2T?(S)|wav|WAV|flac|FLAC|asx|ASX|mng|MNG|srt|m[eo]d|M[EO]D|s[3t]m|S[3T]M|it|IT|xm|XM)|+([0-9]).@(vdr|VDR))?(.part)' xine aaxine fbxine +complete -f -X '!*@(.@(mp?(e)g|MP?(E)G|wma|avi|AVI|asf|vob|VOB|bin|dat|divx|DIVX|vcd|ps|pes|fli|flv|FLV|fxm|FXM|viv|rm|ram|yuv|mov|MOV|qt|QT|wmv|mp[234]|MP[234]|m4[pv]|M4[PV]|mkv|MKV|og[agmvx]|OG[AGMVX]|t[ps]|T[PS]|m2t?(s)|M2T?(S)|wav|WAV|flac|FLAC|asx|ASX|mng|MNG|srt|m[eo]d|M[EO]D|s[3t]m|S[3T]M|it|IT|xm|XM|iso|ISO)|+([0-9]).@(vdr|VDR))?(.part)' kaffeine dragon +complete -f -X '!*.@(avi|asf|wmv)' aviplay +complete -f -X '!*.@(rm?(j)|ra?(m)|smi?(l))' realplay +complete -f -X '!*.@(mpg|mpeg|avi|mov|qt)' xanim +complete -f -X '!*.@(og[ag]|m3u|flac|spx)' ogg123 +complete -f -X '!*.@(mp3|og[ag]|pls|m3u)' gqmpeg freeamp +complete -f -X '!*.fig' xfig +complete -f -X '!*.@(mid?(i)|cmf)' playmidi +complete -f -X '!*.@(mid?(i)|rmi|rcp|[gr]36|g18|mod|xm|it|x3m|s[3t]m|kar)' timidity +complete -f -X '!*.@(m[eo]d|s[3t]m|xm|it)' modplugplay modplug123 +complete -f -X '*.@(o|so|so.!(conf)|a|[rs]pm|gif|jp?(e)g|mp3|mp?(e)g|avi|asf|ogg|class)' vi vim gvim rvim view rview rgvim rgview gview emacs xemacs sxemacs kate kwrite +complete -f -X '!*.@([eE][xX][eE]?(.[sS][oO])|[cC][oO][mM]|[sS][cC][rR])' wine +complete -f -X '!*.@(zip|z|gz|tgz)' bzme +# konqueror not here on purpose, it's more than a web/html browser +complete -f -X '!*.@(?([xX]|[sS])[hH][tT][mM]?([lL]))' netscape mozilla lynx opera galeon dillo elinks amaya firefox mozilla-firefox iceweasel google-chrome chromium-browser epiphany +complete -f -X '!*.@(sxw|stw|sxg|sgl|doc?([mx])|dot?([mx])|rtf|txt|htm|html|odt|ott|odm)' oowriter +complete -f -X '!*.@(sxi|sti|pps?(x)|ppt?([mx])|pot?([mx])|odp|otp)' ooimpress +complete -f -X '!*.@(sxc|stc|xls?([bmx])|xlw|xlt?([mx])|[ct]sv|ods|ots)' oocalc +complete -f -X '!*.@(sxd|std|sda|sdd|odg|otg)' oodraw +complete -f -X '!*.@(sxm|smf|mml|odf)' oomath +complete -f -X '!*.odb' oobase +complete -f -X '!*.[rs]pm' rpm2cpio +complete -f -X '!*.aux' bibtex +complete -f -X '!*.po' poedit gtranslator kbabel lokalize +complete -f -X '!*.@([Pp][Rr][Gg]|[Cc][Ll][Pp])' harbour gharbour hbpp +complete -f -X '!*.[Hh][Rr][Bb]' hbrun +complete -f -X '!*.ly' lilypond ly2dvi +complete -f -X '!*.@(dif?(f)|?(d)patch)?(.@([gx]z|bz2|lzma))' cdiff +complete -f -X '!*.lyx' lyx +complete -f -X '!@(*.@(ks|jks|jceks|p12|pfx|bks|ubr|gkr|cer|crt|cert|p7b|pkipath|pem|p10|csr|crl)|cacerts)' portecle +complete -f -X '!*.@(mp[234c]|og[ag]|@(fl|a)ac|m4[abp]|spx|tta|w?(a)v|wma|aif?(f)|asf|ape)' kid3 kid3-qt +# FINISH exclude -- do not remove this line + +# start of section containing compspecs that can be handled within bash + +# user commands see only users +complete -u su write chfn groups slay w sux runuser + +# bg completes with stopped jobs +complete -A stopped -P '"%' -S '"' bg + +# other job commands +complete -j -P '"%' -S '"' fg jobs disown + +# readonly and unset complete with shell variables +complete -v readonly unset + +# set completes with set options +complete -A setopt set + +# shopt completes with shopt options +complete -A shopt shopt + +# helptopics +complete -A helptopic help + +# unalias completes with aliases +complete -a unalias + +# bind completes with readline bindings (make this more intelligent) +complete -A binding bind + +# type and which complete on commands +complete -c command type which + +# builtin completes on builtins +complete -b builtin + +# start of section containing completion functions called by other functions + +# This function checks whether we have a given program on the system. +# No need for bulky functions in memory if we don't. +# +have() +{ + unset -v have + # Completions for system administrator commands are installed as well in + # case completion is attempted via `sudo command ...'. + PATH=$PATH:/sbin:/usr/sbin:/usr/local/sbin type $1 &>/dev/null && + have="yes" +} + +# This function checks whether a given readline variable +# is `on'. +# +_rl_enabled() +{ + [[ "$( bind -v )" = *$1+([[:space:]])on* ]] +} + +# This function shell-quotes the argument +quote() +{ + echo \'${1//\'/\'\\\'\'}\' #'# Help vim syntax highlighting +} + +# @see _quote_readline_by_ref() +quote_readline() +{ + local quoted + _quote_readline_by_ref "$1" ret + printf %s "$ret" +} # quote_readline() + + +# This function shell-dequotes the argument +dequote() +{ + eval echo "$1" 2> /dev/null +} + + +# Assign variable one scope above the caller +# Usage: local "$1" && _upvar $1 "value(s)" +# Param: $1 Variable name to assign value to +# Param: $* Value(s) to assign. If multiple values, an array is +# assigned, otherwise a single value is assigned. +# NOTE: For assigning multiple variables, use '_upvars'. Do NOT +# use multiple '_upvar' calls, since one '_upvar' call might +# reassign a variable to be used by another '_upvar' call. +# See: http://fvue.nl/wiki/Bash:_Passing_variables_by_reference +_upvar() { + if unset -v "$1"; then # Unset & validate varname + if (( $# == 2 )); then + eval $1=\"\$2\" # Return single value + else + eval $1=\(\"\${@:2}\"\) # Return array + fi + fi +} + + +# Assign variables one scope above the caller +# Usage: local varname [varname ...] && +# _upvars [-v varname value] | [-aN varname [value ...]] ... +# Available OPTIONS: +# -aN Assign next N values to varname as array +# -v Assign single value to varname +# Return: 1 if error occurs +# See: http://fvue.nl/wiki/Bash:_Passing_variables_by_reference +_upvars() { + if ! (( $# )); then + echo "${FUNCNAME[0]}: usage: ${FUNCNAME[0]} [-v varname"\ + "value] | [-aN varname [value ...]] ..." 1>&2 + return 2 + fi + while (( $# )); do + case $1 in + -a*) + # Error checking + [[ ${1#-a} ]] || { echo "bash: ${FUNCNAME[0]}: \`$1': missing"\ + "number specifier" 1>&2; return 1; } + printf %d "${1#-a}" &> /dev/null || { echo "bash:"\ + "${FUNCNAME[0]}: \`$1': invalid number specifier" 1>&2 + return 1; } + # Assign array of -aN elements + [[ "$2" ]] && unset -v "$2" && eval $2=\(\"\${@:3:${1#-a}}\"\) && + shift $((${1#-a} + 2)) || { echo "bash: ${FUNCNAME[0]}:"\ + "\`$1${2+ }$2': missing argument(s)" 1>&2; return 1; } + ;; + -v) + # Assign single value + [[ "$2" ]] && unset -v "$2" && eval $2=\"\$3\" && + shift 3 || { echo "bash: ${FUNCNAME[0]}: $1: missing"\ + "argument(s)" 1>&2; return 1; } + ;; + *) + echo "bash: ${FUNCNAME[0]}: $1: invalid option" 1>&2 + return 1 ;; + esac + done +} + + +# Reassemble command line words, excluding specified characters from the +# list of word completion separators (COMP_WORDBREAKS). +# @param $1 chars Characters out of $COMP_WORDBREAKS which should +# NOT be considered word breaks. This is useful for things like scp where +# we want to return host:path and not only path, so we would pass the +# colon (:) as $1 here. +# @param $2 words Name of variable to return words to +# @param $3 cword Name of variable to return cword to +# +__reassemble_comp_words_by_ref() { + local exclude i j ref + # Exclude word separator characters? + if [[ $1 ]]; then + # Yes, exclude word separator characters; + # Exclude only those characters, which were really included + exclude="${1//[^$COMP_WORDBREAKS]}" + fi + + # Default to cword unchanged + eval $3=$COMP_CWORD + # Are characters excluded which were former included? + if [[ $exclude ]]; then + # Yes, list of word completion separators has shrunk; + # Re-assemble words to complete + for (( i=0, j=0; i < ${#COMP_WORDS[@]}; i++, j++)); do + # Is current word not word 0 (the command itself) and is word not + # empty and is word made up of just word separator characters to be + # excluded? + while [[ $i -gt 0 && ${COMP_WORDS[$i]} && + ${COMP_WORDS[$i]//[^$exclude]} == ${COMP_WORDS[$i]} + ]]; do + [ $j -ge 2 ] && ((j--)) + # Append word separator to current word + ref="$2[$j]" + eval $2[$j]=\${!ref}\${COMP_WORDS[i]} + # Indicate new cword + [ $i = $COMP_CWORD ] && eval $3=$j + # Indicate next word if available, else end *both* while and for loop + (( $i < ${#COMP_WORDS[@]} - 1)) && ((i++)) || break 2 + done + # Append word to current word + ref="$2[$j]" + eval $2[$j]=\${!ref}\${COMP_WORDS[i]} + # Indicate new cword + [[ $i == $COMP_CWORD ]] && eval $3=$j + done + else + # No, list of word completions separators hasn't changed; + eval $2=\( \"\${COMP_WORDS[@]}\" \) + fi +} # __reassemble_comp_words_by_ref() + + +# @param $1 exclude Characters out of $COMP_WORDBREAKS which should NOT be +# considered word breaks. This is useful for things like scp where +# we want to return host:path and not only path, so we would pass the +# colon (:) as $1 in this case. Bash-3 doesn't do word splitting, so this +# ensures we get the same word on both bash-3 and bash-4. +# @param $2 words Name of variable to return words to +# @param $3 cword Name of variable to return cword to +# @param $4 cur Name of variable to return current word to complete to +# @see ___get_cword_at_cursor_by_ref() +__get_cword_at_cursor_by_ref() { + local cword words=() + __reassemble_comp_words_by_ref "$1" words cword + + local i cur2 + local cur="$COMP_LINE" + local index="$COMP_POINT" + for (( i = 0; i <= cword; ++i )); do + while [[ + # Current word fits in $cur? + "${#cur}" -ge ${#words[i]} && + # $cur doesn't match cword? + "${cur:0:${#words[i]}}" != "${words[i]}" + ]]; do + # Strip first character + cur="${cur:1}" + # Decrease cursor position + ((index--)) + done + + # Does found word matches cword? + if [[ "$i" -lt "$cword" ]]; then + # No, cword lies further; + local old_size="${#cur}" + cur="${cur#${words[i]}}" + local new_size="${#cur}" + index=$(( index - old_size + new_size )) + fi + done + + if [[ "${words[cword]:0:${#cur}}" != "$cur" ]]; then + # We messed up. At least return the whole word so things keep working + cur2=${words[cword]} + else + cur2=${cur:0:$index} + fi + + local "$2" "$3" "$4" && + _upvars -a${#words[@]} $2 "${words[@]}" -v $3 "$cword" -v $4 "$cur2" +} + + +# Get the word to complete and optional previous words. +# This is nicer than ${COMP_WORDS[$COMP_CWORD]}, since it handles cases +# where the user is completing in the middle of a word. +# (For example, if the line is "ls foobar", +# and the cursor is here --------> ^ +# Also one is able to cross over possible wordbreak characters. +# Usage: _get_comp_words_by_ref [OPTIONS] [VARNAMES] +# Available VARNAMES: +# cur Return cur via $cur +# prev Return prev via $prev +# words Return words via $words +# cword Return cword via $cword +# +# Available OPTIONS: +# -n EXCLUDE Characters out of $COMP_WORDBREAKS which should NOT be +# considered word breaks. This is useful for things like scp +# where we want to return host:path and not only path, so we +# would pass the colon (:) as -n option in this case. Bash-3 +# doesn't do word splitting, so this ensures we get the same +# word on both bash-3 and bash-4. +# -c VARNAME Return cur via $VARNAME +# -p VARNAME Return prev via $VARNAME +# -w VARNAME Return words via $VARNAME +# -i VARNAME Return cword via $VARNAME +# +# Example usage: +# +# $ _get_comp_words_by_ref -n : cur prev +# +_get_comp_words_by_ref() +{ + local exclude flag i OPTIND=1 + local cur cword words=() + local upargs=() upvars=() vcur vcword vprev vwords + + while getopts "c:i:n:p:w:" flag "$@"; do + case $flag in + c) vcur=$OPTARG ;; + i) vcword=$OPTARG ;; + n) exclude=$OPTARG ;; + p) vprev=$OPTARG ;; + w) vwords=$OPTARG ;; + esac + done + while [[ $# -ge $OPTIND ]]; do + case ${!OPTIND} in + cur) vcur=cur ;; + prev) vprev=prev ;; + cword) vcword=cword ;; + words) vwords=words ;; + *) echo "bash: $FUNCNAME(): \`${!OPTIND}': unknown argument" \ + 1>&2; return 1 + esac + let "OPTIND += 1" + done + + __get_cword_at_cursor_by_ref "$exclude" words cword cur + + [[ $vcur ]] && { upvars+=("$vcur" ); upargs+=(-v $vcur "$cur" ); } + [[ $vcword ]] && { upvars+=("$vcword"); upargs+=(-v $vcword "$cword"); } + [[ $vprev ]] && { upvars+=("$vprev" ); upargs+=(-v $vprev + "${words[cword - 1]}"); } + [[ $vwords ]] && { upvars+=("$vwords"); upargs+=(-a${#words[@]} $vwords + "${words[@]}"); } + + (( ${#upvars[@]} )) && local "${upvars[@]}" && _upvars "${upargs[@]}" +} + + +# Get the word to complete. +# This is nicer than ${COMP_WORDS[$COMP_CWORD]}, since it handles cases +# where the user is completing in the middle of a word. +# (For example, if the line is "ls foobar", +# and the cursor is here --------> ^ +# @param $1 string Characters out of $COMP_WORDBREAKS which should NOT be +# considered word breaks. This is useful for things like scp where +# we want to return host:path and not only path, so we would pass the +# colon (:) as $1 in this case. Bash-3 doesn't do word splitting, so this +# ensures we get the same word on both bash-3 and bash-4. +# @param $2 integer Index number of word to return, negatively offset to the +# current word (default is 0, previous is 1), respecting the exclusions +# given at $1. For example, `_get_cword "=:" 1' returns the word left of +# the current word, respecting the exclusions "=:". +# @deprecated Use `_get_comp_words_by_ref cur' instead +# @see _get_comp_words_by_ref() +_get_cword() +{ + local LC_CTYPE=C + local cword words + __reassemble_comp_words_by_ref "$1" words cword + + # return previous word offset by $2 + if [[ ${2//[^0-9]/} ]]; then + printf "%s" "${words[cword-$2]}" + elif [[ "${#words[cword]}" -eq 0 || "$COMP_POINT" == "${#COMP_LINE}" ]]; then + printf "%s" "${words[cword]}" + else + local i + local cur="$COMP_LINE" + local index="$COMP_POINT" + for (( i = 0; i <= cword; ++i )); do + while [[ + # Current word fits in $cur? + "${#cur}" -ge ${#words[i]} && + # $cur doesn't match cword? + "${cur:0:${#words[i]}}" != "${words[i]}" + ]]; do + # Strip first character + cur="${cur:1}" + # Decrease cursor position + ((index--)) + done + + # Does found word matches cword? + if [[ "$i" -lt "$cword" ]]; then + # No, cword lies further; + local old_size="${#cur}" + cur="${cur#${words[i]}}" + local new_size="${#cur}" + index=$(( index - old_size + new_size )) + fi + done + + if [[ "${words[cword]:0:${#cur}}" != "$cur" ]]; then + # We messed up! At least return the whole word so things + # keep working + printf "%s" "${words[cword]}" + else + printf "%s" "${cur:0:$index}" + fi + fi +} # _get_cword() + + +# Get word previous to the current word. +# This is a good alternative to `prev=${COMP_WORDS[COMP_CWORD-1]}' because bash4 +# will properly return the previous word with respect to any given exclusions to +# COMP_WORDBREAKS. +# @deprecated Use `_get_comp_words_by_ref cur prev' instead +# @see _get_comp_words_by_ref() +# +_get_pword() +{ + if [ $COMP_CWORD -ge 1 ]; then + _get_cword "${@:-}" 1; + fi +} + + +# If the word-to-complete contains a colon (:), left-trim COMPREPLY items with +# word-to-complete. +# On bash-3, and bash-4 with a colon in COMP_WORDBREAKS, words containing +# colons are always completed as entire words if the word to complete contains +# a colon. This function fixes this, by removing the colon-containing-prefix +# from COMPREPLY items. +# The preferred solution is to remove the colon (:) from COMP_WORDBREAKS in +# your .bashrc: +# +# # Remove colon (:) from list of word completion separators +# COMP_WORDBREAKS=${COMP_WORDBREAKS//:} +# +# See also: Bash FAQ - E13) Why does filename completion misbehave if a colon +# appears in the filename? - http://tiswww.case.edu/php/chet/bash/FAQ +# @param $1 current word to complete (cur) +# @modifies global array $COMPREPLY +# +__ltrim_colon_completions() { + # If word-to-complete contains a colon, + # and bash-version < 4, + # or bash-version >= 4 and COMP_WORDBREAKS contains a colon + if [[ + "$1" == *:* && ( + ${BASH_VERSINFO[0]} -lt 4 || + (${BASH_VERSINFO[0]} -ge 4 && "$COMP_WORDBREAKS" == *:*) + ) + ]]; then + # Remove colon-word prefix from COMPREPLY items + local colon_word=${1%${1##*:}} + local i=${#COMPREPLY[*]} + while [ $((--i)) -ge 0 ]; do + COMPREPLY[$i]=${COMPREPLY[$i]#"$colon_word"} + done + fi +} # __ltrim_colon_completions() + + +# This function quotes the argument in a way so that readline dequoting +# results in the original argument. This is necessary for at least +# `compgen' which requires its arguments quoted/escaped: +# +# $ ls "a'b/" +# c +# $ compgen -f "a'b/" # Wrong, doesn't return output +# $ compgen -f "a\'b/" # Good (bash-4) +# a\'b/c +# $ compgen -f "a\\\\\'b/" # Good (bash-3) +# a\'b/c +# +# On bash-3, special characters need to be escaped extra. This is +# unless the first character is a single quote ('). If the single +# quote appears further down the string, bash default completion also +# fails, e.g.: +# +# $ ls 'a&b/' +# f +# $ foo 'a&b/ # Becomes: foo 'a&b/f' +# $ foo a'&b/ # Nothing happens +# +# See also: +# - http://lists.gnu.org/archive/html/bug-bash/2009-03/msg00155.html +# - http://www.mail-archive.com/bash-completion-devel@lists.alioth.\ +# debian.org/msg01944.html +# @param $1 Argument to quote +# @param $2 Name of variable to return result to +_quote_readline_by_ref() +{ + if [[ ${1:0:1} == "'" ]]; then + if [[ ${BASH_VERSINFO[0]} -ge 4 ]]; then + # Leave out first character + printf -v $2 %s "${1:1}" + else + # Quote word, leaving out first character + printf -v $2 %q "${1:1}" + # Double-quote word (bash-3) + printf -v $2 %q ${!2} + fi + elif [[ ${BASH_VERSINFO[0]} -le 3 && ${1:0:1} == '"' ]]; then + printf -v $2 %q "${1:1}" + else + printf -v $2 %q "$1" + fi + + # If result becomes quoted like this: $'string', re-evaluate in order to + # drop the additional quoting. See also: http://www.mail-archive.com/ + # bash-completion-devel@lists.alioth.debian.org/msg01942.html + [[ ${!2:0:1} == '$' ]] && eval $2=${!2} +} # _quote_readline_by_ref() + + +# This function turns on "-o filenames" behavior dynamically. It is present +# for bash < 4 reasons. See http://bugs.debian.org/272660#64 for info about +# the bash < 4 compgen hack. +_compopt_o_filenames() +{ + # We test for compopt availability first because directly invoking it on + # bash < 4 at this point may cause terminal echo to be turned off for some + # reason, see https://bugzilla.redhat.com/653669 for more info. + type compopt &>/dev/null && compopt -o filenames 2>/dev/null || \ + compgen -f /non-existing-dir/ >/dev/null +} + + +# This function performs file and directory completion. It's better than +# simply using 'compgen -f', because it honours spaces in filenames. +# @param $1 If `-d', complete only on directories. Otherwise filter/pick only +# completions with `.$1' and the uppercase version of it as file +# extension. +# +_filedir() +{ + local i IFS=$'\n' xspec + + _tilde "$cur" || return 0 + + local -a toks + local quoted tmp + + _quote_readline_by_ref "$cur" quoted + toks=( ${toks[@]-} $( + compgen -d -- "$quoted" | { + while read -r tmp; do + # TODO: I have removed a "[ -n $tmp ] &&" before 'printf ..', + # and everything works again. If this bug suddenly + # appears again (i.e. "cd /b" becomes "cd /"), + # remember to check for other similar conditionals (here + # and _filedir_xspec()). --David + printf '%s\n' $tmp + done + } + )) + + if [[ "$1" != -d ]]; then + # Munge xspec to contain uppercase version too + [[ ${BASH_VERSINFO[0]} -ge 4 ]] && \ + xspec=${1:+"!*.@($1|${1^^})"} || \ + xspec=${1:+"!*.@($1|$(printf %s $1 | tr '[:lower:]' '[:upper:]'))"} + toks=( ${toks[@]-} $( compgen -f -X "$xspec" -- $quoted) ) + fi + [ ${#toks[@]} -ne 0 ] && _compopt_o_filenames + + # If the filter failed to produce anything, try w/o it (LP: #533985) + if [[ -n "$1" ]] && [[ "$1" != -d ]] && [[ ${#toks[@]} -lt 1 ]] ; then + toks=( ${toks[@]-} $( compgen -f -X -- $quoted) ) + fi + + COMPREPLY=( "${COMPREPLY[@]}" "${toks[@]}" ) +} # _filedir() + + +# This function splits $cur=--foo=bar into $prev=--foo, $cur=bar, making it +# easier to support both "--foo bar" and "--foo=bar" style completions. +# Returns 0 if current option was split, 1 otherwise. +# +_split_longopt() +{ + if [[ "$cur" == --?*=* ]]; then + # Cut also backslash before '=' in case it ended up there + # for some reason. + prev="${cur%%?(\\)=*}" + cur="${cur#*=}" + return 0 + fi + + return 1 +} + +# This function tries to parse the help output of the given command. +# @param $1 command +# @param $2 command options (default: --help) +# +_parse_help() { + $1 ${2:---help} 2>&1 | sed -e '/^[[:space:]]*-/!d' -e 's|[,/]| |g' | \ + awk '{ print $1; if ($2 ~ /^-/) { print $2 } }' | sed -e 's|[<=].*||' +} + +# This function completes on signal names +# +_signals() +{ + local i + + # standard signal completion is rather braindead, so we need + # to hack around to get what we want here, which is to + # complete on a dash, followed by the signal name minus + # the SIG prefix + COMPREPLY=( $( compgen -A signal SIG${cur#-} )) + for (( i=0; i < ${#COMPREPLY[@]}; i++ )); do + COMPREPLY[i]=-${COMPREPLY[i]#SIG} + done +} + +# This function completes on known mac addresses +# +_mac_addresses() +{ + local re='\([A-Fa-f0-9]\{2\}:\)\{5\}[A-Fa-f0-9]\{2\}' + local PATH="$PATH:/sbin:/usr/sbin" + + # Local interfaces (Linux only?) + COMPREPLY=( "${COMPREPLY[@]}" $( ifconfig -a 2>/dev/null | sed -ne \ + "s/.*[[:space:]]HWaddr[[:space:]]\{1,\}\($re\)[[:space:]]*$/\1/p" ) ) + + # ARP cache + COMPREPLY=( "${COMPREPLY[@]}" $( arp -an 2>/dev/null | sed -ne \ + "s/.*[[:space:]]\($re\)[[:space:]].*/\1/p" -ne \ + "s/.*[[:space:]]\($re\)[[:space:]]*$/\1/p" ) ) + + # /etc/ethers + COMPREPLY=( "${COMPREPLY[@]}" $( sed -ne \ + "s/^[[:space:]]*\($re\)[[:space:]].*/\1/p" /etc/ethers 2>/dev/null ) ) + + COMPREPLY=( $( compgen -W '${COMPREPLY[@]}' -- "$cur" ) ) + __ltrim_colon_completions "$cur" +} + +# This function completes on configured network interfaces +# +_configured_interfaces() +{ + if [ -f /etc/debian_version ]; then + # Debian system + COMPREPLY=( $( compgen -W "$( sed -ne 's|^iface \([^ ]\{1,\}\).*$|\1|p'\ + /etc/network/interfaces )" -- "$cur" ) ) + elif [ -f /etc/SuSE-release ]; then + # SuSE system + COMPREPLY=( $( compgen -W "$( printf '%s\n' \ + /etc/sysconfig/network/ifcfg-* | \ + sed -ne 's|.*ifcfg-\(.*\)|\1|p' )" -- "$cur" ) ) + elif [ -f /etc/pld-release ]; then + # PLD Linux + COMPREPLY=( $( compgen -W "$( command ls -B \ + /etc/sysconfig/interfaces | \ + sed -ne 's|.*ifcfg-\(.*\)|\1|p' )" -- "$cur" ) ) + else + # Assume Red Hat + COMPREPLY=( $( compgen -W "$( printf '%s\n' \ + /etc/sysconfig/network-scripts/ifcfg-* | \ + sed -ne 's|.*ifcfg-\(.*\)|\1|p' )" -- "$cur" ) ) + fi +} + +# This function completes on available kernels +# +_kernel_versions() +{ + COMPREPLY=( $( compgen -W '$( command ls /lib/modules )' -- "$cur" ) ) +} + +# This function completes on all available network interfaces +# -a: restrict to active interfaces only +# -w: restrict to wireless interfaces only +# +_available_interfaces() +{ + local cmd + + if [ "${1:-}" = -w ]; then + cmd="iwconfig" + elif [ "${1:-}" = -a ]; then + cmd="ifconfig" + else + cmd="ifconfig -a" + fi + + COMPREPLY=( $( eval PATH="$PATH:/sbin" $cmd 2>/dev/null | \ + awk '/^[^ \t]/ { print $1 }' ) ) + COMPREPLY=( $( compgen -W '${COMPREPLY[@]/%[[:punct:]]/}' -- "$cur" ) ) +} + + +# Perform tilde (~) completion +# @return True (0) if completion needs further processing, +# False (> 0) if tilde is followed by a valid username, completions +# are put in COMPREPLY and no further processing is necessary. +_tilde() { + local result=0 + # Does $1 start with tilde (~) and doesn't contain slash (/)? + if [[ ${1:0:1} == "~" && $1 == ${1//\/} ]]; then + _compopt_o_filenames + # Try generate username completions + COMPREPLY=( $( compgen -P '~' -u "${1#\~}" ) ) + result=${#COMPREPLY[@]} + fi + return $result +} + + +# Expand variable starting with tilde (~) +# We want to expand ~foo/... to /home/foo/... to avoid problems when +# word-to-complete starting with a tilde is fed to commands and ending up +# quoted instead of expanded. +# Only the first portion of the variable from the tilde up to the first slash +# (~../) is expanded. The remainder of the variable, containing for example +# a dollar sign variable ($) or asterisk (*) is not expanded. +# Example usage: +# +# $ v="~"; __expand_tilde_by_ref v; echo "$v" +# +# Example output: +# +# v output +# -------- ---------------- +# ~ /home/user +# ~foo/bar /home/foo/bar +# ~foo/$HOME /home/foo/$HOME +# ~foo/a b /home/foo/a b +# ~foo/* /home/foo/* +# +# @param $1 Name of variable (not the value of the variable) to expand +__expand_tilde_by_ref() { + # Does $1 start with tilde (~)? + if [ "${!1:0:1}" = "~" ]; then + # Does $1 contain slash (/)? + if [ "${!1}" != "${!1//\/}" ]; then + # Yes, $1 contains slash; + # 1: Remove * including and after first slash (/), i.e. "~a/b" + # becomes "~a". Double quotes allow eval. + # 2: Remove * before the first slash (/), i.e. "~a/b" + # becomes "b". Single quotes prevent eval. + # +-----1----+ +---2----+ + eval $1="${!1/%\/*}"/'${!1#*/}' + else + # No, $1 doesn't contain slash + eval $1="${!1}" + fi + fi +} # __expand_tilde_by_ref() + + +# This function expands tildes in pathnames +# +_expand() +{ + # FIXME: Why was this here? + #[ "$cur" != "${cur%\\}" ] && cur="$cur\\" + + # Expand ~username type directory specifications. We want to expand + # ~foo/... to /home/foo/... to avoid problems when $cur starting with + # a tilde is fed to commands and ending up quoted instead of expanded. + + if [[ "$cur" == \~*/* ]]; then + eval cur=$cur + elif [[ "$cur" == \~* ]]; then + cur=${cur#\~} + COMPREPLY=( $( compgen -P '~' -u "$cur" ) ) + [ ${#COMPREPLY[@]} -eq 1 ] && eval COMPREPLY[0]=${COMPREPLY[0]} + return ${#COMPREPLY[@]} + fi +} + +# This function completes on process IDs. +# AIX and Solaris ps prefers X/Open syntax. +[[ $UNAME == SunOS || $UNAME == AIX ]] && +_pids() +{ + COMPREPLY=( $( compgen -W '$( command ps -efo pid | sed 1d )' -- "$cur" )) +} || +_pids() +{ + COMPREPLY=( $( compgen -W '$( command ps axo pid= )' -- "$cur" ) ) +} + +# This function completes on process group IDs. +# AIX and SunOS prefer X/Open, all else should be BSD. +[[ $UNAME == SunOS || $UNAME == AIX ]] && +_pgids() +{ + COMPREPLY=( $( compgen -W '$( command ps -efo pgid | sed 1d )' -- "$cur" )) +} || +_pgids() +{ + COMPREPLY=( $( compgen -W '$( command ps axo pgid= )' -- "$cur" )) +} + +# This function completes on process names. +# AIX and SunOS prefer X/Open, all else should be BSD. +[[ $UNAME == SunOS || $UNAME == AIX ]] && +_pnames() +{ + COMPREPLY=( $( compgen -X '' -W '$( command ps -efo comm | \ + sed -e 1d -e "s:.*/::" -e "s/^-//" | sort -u )' -- "$cur" ) ) +} || +_pnames() +{ + # FIXME: completes "[kblockd/0]" to "0". Previously it was completed + # to "kblockd" which isn't correct either. "kblockd/0" would be + # arguably most correct, but killall from psmisc 22 treats arguments + # containing "/" specially unless -r is given so that wouldn't quite + # work either. Perhaps it'd be best to not complete these to anything + # for now. + # Not using "ps axo comm" because under some Linux kernels, it + # truncates command names (see e.g. http://bugs.debian.org/497540#19) + COMPREPLY=( $( compgen -X '' -W '$( command ps axo command= | \ + sed -e "s/ .*//" -e "s:.*/::" -e "s/:$//" -e "s/^[[(-]//" \ + -e "s/[])]$//" | sort -u )' -- "$cur" ) ) +} + +# This function completes on user IDs +# +_uids() +{ + if type getent &>/dev/null; then + COMPREPLY=( $( compgen -W '$( getent passwd | cut -d: -f3 )' -- "$cur" ) ) + elif type perl &>/dev/null; then + COMPREPLY=( $( compgen -W '$( perl -e '"'"'while (($uid) = (getpwent)[2]) { print $uid . "\n" }'"'"' )' -- "$cur" ) ) + else + # make do with /etc/passwd + COMPREPLY=( $( compgen -W '$( cut -d: -f3 /etc/passwd )' -- "$cur" ) ) + fi +} + +# This function completes on group IDs +# +_gids() +{ + if type getent &>/dev/null; then + COMPREPLY=( $( compgen -W '$( getent group | cut -d: -f3 )' \ + -- "$cur" ) ) + elif type perl &>/dev/null; then + COMPREPLY=( $( compgen -W '$( perl -e '"'"'while (($gid) = (getgrent)[2]) { print $gid . "\n" }'"'"' )' -- "$cur" ) ) + else + # make do with /etc/group + COMPREPLY=( $( compgen -W '$( cut -d: -f3 /etc/group )' -- "$cur" ) ) + fi +} + +# This function completes on services +# +_services() +{ + local sysvdir famdir + [ -d /etc/rc.d/init.d ] && sysvdir=/etc/rc.d/init.d || sysvdir=/etc/init.d + famdir=/etc/xinetd.d + COMPREPLY=( $( printf '%s\n' \ + $sysvdir/!(*.rpm@(orig|new|save)|*~|functions) ) ) + + if [ -d $famdir ]; then + COMPREPLY=( "${COMPREPLY[@]}" $( printf '%s\n' \ + $famdir/!(*.rpm@(orig|new|save)|*~) ) ) + fi + + COMPREPLY=( $( compgen -W '${COMPREPLY[@]#@($sysvdir|$famdir)/}' -- "$cur" ) ) +} + +# This function completes on modules +# +_modules() +{ + local modpath + modpath=/lib/modules/$1 + COMPREPLY=( $( compgen -W "$( command ls -R $modpath | \ + sed -ne 's/^\(.*\)\.k\{0,1\}o\(\.gz\)\{0,1\}$/\1/p' )" -- "$cur" ) ) +} + +# This function completes on installed modules +# +_installed_modules() +{ + COMPREPLY=( $( compgen -W "$( PATH="$PATH:/sbin" lsmod | \ + awk '{if (NR != 1) print $1}' )" -- "$1" ) ) +} + +# This function completes on user or user:group format; as for chown and cpio. +# +# The : must be added manually; it will only complete usernames initially. +# The legacy user.group format is not supported. +# +# @param $1 If -u, only return users/groups the user has access to in +# context of current completion. +_usergroup() +{ + if [[ $cur = *\\\\* || $cur = *:*:* ]]; then + # Give up early on if something seems horribly wrong. + return + elif [[ $cur = *\\:* ]]; then + # Completing group after 'user\:gr'. + # Reply with a list of groups prefixed with 'user:', readline will + # escape to the colon. + local prefix + prefix=${cur%%*([^:])} + prefix=${prefix//\\} + local mycur="${cur#*[:]}" + if [[ $1 == -u ]]; then + _allowed_groups "$mycur" + else + local IFS=$'\n' + COMPREPLY=( $( compgen -g -- "$mycur" ) ) + fi + COMPREPLY=( $( compgen -P "$prefix" -W "${COMPREPLY[@]}" ) ) + elif [[ $cur = *:* ]]; then + # Completing group after 'user:gr'. + # Reply with a list of unprefixed groups since readline with split on : + # and only replace the 'gr' part + local mycur="${cur#*:}" + if [[ $1 == -u ]]; then + _allowed_groups "$mycur" + else + local IFS=$'\n' + COMPREPLY=( $( compgen -g -- "$mycur" ) ) + fi + else + # Completing a partial 'usernam'. + # + # Don't suffix with a : because readline will escape it and add a + # slash. It's better to complete into 'chown username ' than 'chown + # username\:'. + if [[ $1 == -u ]]; then + _allowed_users "$cur" + else + local IFS=$'\n' + COMPREPLY=( $( compgen -u -- "$cur" ) ) + fi + fi +} + +_allowed_users() +{ + if _complete_as_root; then + local IFS=$'\n' + COMPREPLY=( $( compgen -u -- "${1:-$cur}" ) ) + else + local IFS=$'\n ' + COMPREPLY=( $( compgen -W \ + "$( id -un 2>/dev/null || whoami 2>/dev/null )" -- "${1:-$cur}" ) ) + fi +} + +_allowed_groups() +{ + if _complete_as_root; then + local IFS=$'\n' + COMPREPLY=( $( compgen -g -- "$1" ) ) + else + local IFS=$'\n ' + COMPREPLY=( $( compgen -W \ + "$( id -Gn 2>/dev/null || groups 2>/dev/null )" -- "$1" ) ) + fi +} + +# This function completes on valid shells +# +_shells() +{ + COMPREPLY=( "${COMPREPLY[@]}" $( compgen -W \ + '$( command grep "^[[:space:]]*/" /etc/shells 2>/dev/null )' \ + -- "$cur" ) ) +} + +# This function completes on valid filesystem types +# +_fstypes() +{ + local fss + + if [ -e /proc/filesystems ] ; then + # Linux + fss="$( cut -d$'\t' -f2 /proc/filesystems ) + $( awk '! /\*/ { print $NF }' /etc/filesystems 2>/dev/null )" + else + # Generic + fss="$( awk '/^[ \t]*[^#]/ { print $3 }' /etc/fstab 2>/dev/null ) + $( awk '/^[ \t]*[^#]/ { print $3 }' /etc/mnttab 2>/dev/null ) + $( awk '/^[ \t]*[^#]/ { print $4 }' /etc/vfstab 2>/dev/null ) + $( awk '{ print $1 }' /etc/dfs/fstypes 2>/dev/null ) + $( [ -d /etc/fs ] && command ls /etc/fs )" + fi + + [ -n "$fss" ] && \ + COMPREPLY=( "${COMPREPLY[@]}" $( compgen -W "$fss" -- "$cur" ) ) +} + +# Get real command. +# - arg: $1 Command +# - stdout: Filename of command in PATH with possible symbolic links resolved. +# Empty string if command not found. +# - return: True (0) if command found, False (> 0) if not. +_realcommand() +{ + type -P "$1" > /dev/null && { + if type -p realpath > /dev/null; then + realpath "$(type -P "$1")" + elif type -p readlink > /dev/null; then + readlink -f "$(type -P "$1")" + else + type -P "$1" + fi + } +} + +# This function returns the first arugment, excluding options +# @param $1 chars Characters out of $COMP_WORDBREAKS which should +# NOT be considered word breaks. See __reassemble_comp_words_by_ref. +_get_first_arg() +{ + local i + + arg= + for (( i=1; i < COMP_CWORD; i++ )); do + if [[ "${COMP_WORDS[i]}" != -* ]]; then + arg=${COMP_WORDS[i]} + break + fi + done +} + + +# This function counts the number of args, excluding options +# @param $1 chars Characters out of $COMP_WORDBREAKS which should +# NOT be considered word breaks. See __reassemble_comp_words_by_ref. +_count_args() +{ + local i cword words + __reassemble_comp_words_by_ref "$1" words cword + + args=1 + for i in "${words[@]:1:cword-1}"; do + [[ "$i" != -* ]] && args=$(($args+1)) + done +} + +# This function completes on PCI IDs +# +_pci_ids() +{ + COMPREPLY=( ${COMPREPLY[@]:-} $( compgen -W \ + "$( PATH="$PATH:/sbin" lspci -n | awk '{print $3}')" -- "$cur" ) ) +} + +# This function completes on USB IDs +# +_usb_ids() +{ + COMPREPLY=( ${COMPREPLY[@]:-} $( compgen -W \ + "$( PATH="$PATH:/sbin" lsusb | awk '{print $6}' )" -- "$cur" ) ) +} + +# CD device names +_cd_devices() +{ + COMPREPLY=( "${COMPREPLY[@]}" + $( compgen -f -d -X "!*/?([amrs])cd*" -- "${cur:-/dev/}" ) ) +} + +# DVD device names +_dvd_devices() +{ + COMPREPLY=( "${COMPREPLY[@]}" + $( compgen -f -d -X "!*/?(r)dvd*" -- "${cur:-/dev/}" ) ) +} + +# start of section containing completion functions for external programs + +# a little help for FreeBSD ports users +[ $UNAME = FreeBSD ] && complete -W 'index search fetch fetch-list extract \ + patch configure build install reinstall deinstall clean clean-depends \ + kernel buildworld' make + +# This function provides simple user@host completion +# +_user_at_host() { + local cur + + COMPREPLY=() + _get_comp_words_by_ref -n : cur + + if [[ $cur == *@* ]]; then + _known_hosts_real "$cur" + else + COMPREPLY=( $( compgen -u -- "$cur" ) ) + fi + + return 0 +} +shopt -u hostcomplete && complete -F _user_at_host -o nospace talk ytalk finger + +# NOTE: Using this function as a helper function is deprecated. Use +# `_known_hosts_real' instead. +_known_hosts() +{ + local options + COMPREPLY=() + + # NOTE: Using `_known_hosts' as a helper function and passing options + # to `_known_hosts' is deprecated: Use `_known_hosts_real' instead. + [[ "$1" == -a || "$2" == -a ]] && options=-a + [[ "$1" == -c || "$2" == -c ]] && options="$options -c" + _known_hosts_real $options "$(_get_cword :)" +} # _known_hosts() + +# Helper function for completing _known_hosts. +# This function performs host completion based on ssh's config and known_hosts +# files, as well as hostnames reported by avahi-browse if +# COMP_KNOWN_HOSTS_WITH_AVAHI is set to a non-empty value. Also hosts from +# HOSTFILE (compgen -A hostname) are added, unless +# COMP_KNOWN_HOSTS_WITH_HOSTFILE is set to an empty value. +# Usage: _known_hosts_real [OPTIONS] CWORD +# Options: -a Use aliases +# -c Use `:' suffix +# -F configfile Use `configfile' for configuration settings +# -p PREFIX Use PREFIX +# Return: Completions, starting with CWORD, are added to COMPREPLY[] +_known_hosts_real() +{ + local configfile flag prefix + local cur curd awkcur user suffix aliases i host + local -a kh khd config + + local OPTIND=1 + while getopts "acF:p:" flag "$@"; do + case $flag in + a) aliases='yes' ;; + c) suffix=':' ;; + F) configfile=$OPTARG ;; + p) prefix=$OPTARG ;; + esac + done + [ $# -lt $OPTIND ] && echo "error: $FUNCNAME: missing mandatory argument CWORD" + cur=${!OPTIND}; let "OPTIND += 1" + [ $# -ge $OPTIND ] && echo "error: $FUNCNAME("$@"): unprocessed arguments:"\ + $(while [ $# -ge $OPTIND ]; do printf '%s\n' ${!OPTIND}; shift; done) + + [[ $cur == *@* ]] && user=${cur%@*}@ && cur=${cur#*@} + kh=() + + # ssh config files + if [ -n "$configfile" ]; then + [ -r "$configfile" ] && + config=( "${config[@]}" "$configfile" ) + else + for i in /etc/ssh/ssh_config "${HOME}/.ssh/config" \ + "${HOME}/.ssh2/config"; do + [ -r $i ] && config=( "${config[@]}" "$i" ) + done + fi + + # Known hosts files from configs + if [ ${#config[@]} -gt 0 ]; then + local OIFS=$IFS IFS=$'\n' + local -a tmpkh + # expand paths (if present) to global and user known hosts files + # TODO(?): try to make known hosts files with more than one consecutive + # spaces in their name work (watch out for ~ expansion + # breakage! Alioth#311595) + tmpkh=( $( awk 'sub("^[ \t]*([Gg][Ll][Oo][Bb][Aa][Ll]|[Uu][Ss][Ee][Rr])[Kk][Nn][Oo][Ww][Nn][Hh][Oo][Ss][Tt][Ss][Ff][Ii][Ll][Ee][ \t]+", "") { print $0 }' "${config[@]}" | sort -u ) ) + for i in "${tmpkh[@]}"; do + # Remove possible quotes + i=${i//\"} + # Eval/expand possible `~' or `~user' + __expand_tilde_by_ref i + [ -r "$i" ] && kh=( "${kh[@]}" "$i" ) + done + IFS=$OIFS + fi + + if [ -z "$configfile" ]; then + # Global and user known_hosts files + for i in /etc/ssh/ssh_known_hosts /etc/ssh/ssh_known_hosts2 \ + /etc/known_hosts /etc/known_hosts2 ~/.ssh/known_hosts \ + ~/.ssh/known_hosts2; do + [ -r $i ] && kh=( "${kh[@]}" $i ) + done + for i in /etc/ssh2/knownhosts ~/.ssh2/hostkeys; do + [ -d $i ] && khd=( "${khd[@]}" $i/*pub ) + done + fi + + # If we have known_hosts files to use + if [[ ${#kh[@]} -gt 0 || ${#khd[@]} -gt 0 ]]; then + # Escape slashes and dots in paths for awk + awkcur=${cur//\//\\\/} + awkcur=${awkcur//\./\\\.} + curd=$awkcur + + if [[ "$awkcur" == [0-9]*[.:]* ]]; then + # Digits followed by a dot or a colon - just search for that + awkcur="^$awkcur[.:]*" + elif [[ "$awkcur" == [0-9]* ]]; then + # Digits followed by no dot or colon - search for digits followed + # by a dot or a colon + awkcur="^$awkcur.*[.:]" + elif [ -z "$awkcur" ]; then + # A blank - search for a dot, a colon, or an alpha character + awkcur="[a-z.:]" + else + awkcur="^$awkcur" + fi + + if [ ${#kh[@]} -gt 0 ]; then + # FS needs to look for a comma separated list + COMPREPLY=( "${COMPREPLY[@]}" $( awk 'BEGIN {FS=","} + /^\s*[^|\#]/ {for (i=1; i<=2; ++i) { \ + sub(" .*$", "", $i); \ + sub("^\\[", "", $i); sub("\\](:[0-9]+)?$", "", $i); \ + if ($i ~ /'"$awkcur"'/) {print $i} \ + }}' "${kh[@]}" 2>/dev/null ) ) + fi + if [ ${#khd[@]} -gt 0 ]; then + # Needs to look for files called + # .../.ssh2/key_22_.pub + # dont fork any processes, because in a cluster environment, + # there can be hundreds of hostkeys + for i in "${khd[@]}" ; do + if [[ "$i" == *key_22_$curd*.pub && -r "$i" ]]; then + host=${i/#*key_22_/} + host=${host/%.pub/} + COMPREPLY=( "${COMPREPLY[@]}" $host ) + fi + done + fi + + # apply suffix and prefix + for (( i=0; i < ${#COMPREPLY[@]}; i++ )); do + COMPREPLY[i]=$prefix$user${COMPREPLY[i]}$suffix + done + fi + + # append any available aliases from config files + if [[ ${#config[@]} -gt 0 && -n "$aliases" ]]; then + local hosts=$( sed -ne 's/^[ \t]*[Hh][Oo][Ss][Tt]\([Nn][Aa][Mm][Ee]\)\{0,1\}['"$'\t '"']\{1,\}\([^#*?]*\)\(#.*\)\{0,1\}$/\2/p' "${config[@]}" ) + COMPREPLY=( "${COMPREPLY[@]}" $( compgen -P "$prefix$user" \ + -S "$suffix" -W "$hosts" -- "$cur" ) ) + fi + + # Add hosts reported by avahi-browse, if desired and it's available. + + # This feature is disabled because it does not scale to + # larger networks. See: + # https://bugs.launchpad.net/ubuntu/+source/bash-completion/+bug/510591 + + #if [[ ${COMP_KNOWN_HOSTS_WITH_AVAHI:-} ]] && \ + # type avahi-browse &>/dev/null; then + # The original call to avahi-browse also had "-k", to avoid lookups + # into avahi's services DB. We don't need the name of the service, and + # if it contains ";", it may mistify the result. But on Gentoo (at + # least), -k wasn't available (even if mentioned in the manpage) some + # time ago, so... + # COMPREPLY=( "${COMPREPLY[@]}" $( \ + # compgen -P "$prefix$user" -S "$suffix" -W \ + # "$( avahi-browse -cpr _workstation._tcp 2>/dev/null | \ + # awk -F';' '/^=/ { print $7 }' | sort -u )" -- "$cur" ) ) + #fi + + # Add results of normal hostname completion, unless + # `COMP_KNOWN_HOSTS_WITH_HOSTFILE' is set to an empty value. + if [ -n "${COMP_KNOWN_HOSTS_WITH_HOSTFILE-1}" ]; then + COMPREPLY=( "${COMPREPLY[@]}" + $( compgen -A hostname -P "$prefix$user" -S "$suffix" -- "$cur" ) ) + fi + + __ltrim_colon_completions "$prefix$user$cur" + + return 0 +} # _known_hosts_real() +complete -F _known_hosts traceroute traceroute6 tracepath tracepath6 ping \ + ping6 fping fping6 telnet host nslookup rsh rlogin ftp dig mtr \ + ssh-installkeys showmount + +# This meta-cd function observes the CDPATH variable, so that cd additionally +# completes on directories under those specified in CDPATH. +# +_cd() +{ + local cur IFS=$'\n' i j k + _get_comp_words_by_ref cur + + # try to allow variable completion + if [[ "$cur" == ?(\\)\$* ]]; then + COMPREPLY=( $( compgen -v -P '$' -- "${cur#?(\\)$}" ) ) + return 0 + fi + + _compopt_o_filenames + + # Use standard dir completion if no CDPATH or parameter starts with /, + # ./ or ../ + if [[ -z "${CDPATH:-}" || "$cur" == ?(.)?(.)/* ]]; then + _filedir -d + return 0 + fi + + local -r mark_dirs=$(_rl_enabled mark-directories && echo y) + local -r mark_symdirs=$(_rl_enabled mark-symlinked-directories && echo y) + + # we have a CDPATH, so loop on its contents + for i in ${CDPATH//:/$'\n'}; do + # create an array of matched subdirs + k="${#COMPREPLY[@]}" + for j in $( compgen -d $i/$cur ); do + if [[ ( $mark_symdirs && -h $j || $mark_dirs && ! -h $j ) && ! -d ${j#$i/} ]]; then + j="${j}/" + fi + COMPREPLY[k++]=${j#$i/} + done + done + + _filedir -d + + if [[ ${#COMPREPLY[@]} -eq 1 ]]; then + i=${COMPREPLY[0]} + if [[ "$i" == "$cur" && $i != "*/" ]]; then + COMPREPLY[0]="${i}/" + fi + fi + + return 0 +} +if shopt -q cdable_vars; then + complete -v -F _cd -o nospace cd +else + complete -F _cd -o nospace cd +fi + +# a wrapper method for the next one, when the offset is unknown +_command() +{ + local offset i + + # find actual offset, as position of the first non-option + offset=1 + for (( i=1; i <= COMP_CWORD; i++ )); do + if [[ "${COMP_WORDS[i]}" != -* ]]; then + offset=$i + break + fi + done + _command_offset $offset +} + +# A meta-command completion function for commands like sudo(8), which need to +# first complete on a command, then complete according to that command's own +# completion definition - currently not quite foolproof (e.g. mount and umount +# don't work properly), but still quite useful. +# +_command_offset() +{ + local cur func cline cspec noglob cmd i char_offset word_offset \ + _COMMAND_FUNC _COMMAND_FUNC_ARGS + + word_offset=$1 + + # rewrite current completion context before invoking + # actual command completion + + # find new first word position, then + # rewrite COMP_LINE and adjust COMP_POINT + local first_word=${COMP_WORDS[$word_offset]} + for (( i=0; i <= ${#COMP_LINE}; i++ )); do + if [[ "${COMP_LINE:$i:${#first_word}}" == "$first_word" ]]; then + char_offset=$i + break + fi + done + COMP_LINE=${COMP_LINE:$char_offset} + COMP_POINT=$(( COMP_POINT - $char_offset )) + + # shift COMP_WORDS elements and adjust COMP_CWORD + for (( i=0; i <= COMP_CWORD - $word_offset; i++ )); do + COMP_WORDS[i]=${COMP_WORDS[i+$word_offset]} + done + for (( i; i <= COMP_CWORD; i++ )); do + unset COMP_WORDS[i]; + done + COMP_CWORD=$(( $COMP_CWORD - $word_offset )) + + COMPREPLY=() + _get_comp_words_by_ref cur + + if [[ $COMP_CWORD -eq 0 ]]; then + _compopt_o_filenames + COMPREPLY=( $( compgen -c -- "$cur" ) ) + else + cmd=${COMP_WORDS[0]} + if complete -p ${cmd##*/} &>/dev/null; then + cspec=$( complete -p ${cmd##*/} ) + if [ "${cspec#* -F }" != "$cspec" ]; then + # complete -F + + # get function name + func=${cspec#*-F } + func=${func%% *} + + if [[ ${#COMP_WORDS[@]} -ge 2 ]]; then + $func $cmd "${COMP_WORDS[${#COMP_WORDS[@]}-1]}" "${COMP_WORDS[${#COMP_WORDS[@]}-2]}" + else + $func $cmd "${COMP_WORDS[${#COMP_WORDS[@]}-1]}" + fi + + # remove any \: generated by a command that doesn't + # default to filenames or dirnames (e.g. sudo chown) + # FIXME: I'm pretty sure this does not work! + if [ "${cspec#*-o }" != "$cspec" ]; then + cspec=${cspec#*-o } + cspec=${cspec%% *} + if [[ "$cspec" != @(dir|file)names ]]; then + COMPREPLY=("${COMPREPLY[@]//\\\\:/:}") + else + _compopt_o_filenames + fi + fi + elif [ -n "$cspec" ]; then + cspec=${cspec#complete}; + cspec=${cspec%%${cmd##*/}}; + COMPREPLY=( $( eval compgen "$cspec" -- "$cur" ) ); + fi + elif [ ${#COMPREPLY[@]} -eq 0 ]; then + _filedir + fi + fi +} +complete -F _command aoss command do else eval exec ltrace nice nohup padsp \ + then time tsocks vsound xargs + +_root_command() +{ + local PATH=$PATH:/sbin:/usr/sbin:/usr/local/sbin + local root_command=$1 + _command $1 $2 $3 +} +complete -F _root_command fakeroot gksu gksudo kdesudo really sudo + +# Return true if the completion should be treated as running as root +_complete_as_root() +{ + [[ $EUID -eq 0 || ${root_command:-} ]] +} + +_longopt() +{ + local cur prev split=false + _get_comp_words_by_ref -n = cur prev + + _split_longopt && split=true + + case "$prev" in + --*[Dd][Ii][Rr]*) + _filedir -d + return 0 + ;; + --*[Ff][Ii][Ll][Ee]*|--*[Pp][Aa][Tt][Hh]*) + _filedir + return 0 + ;; + esac + + $split && return 0 + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W "$( $1 --help 2>&1 | \ + sed -ne 's/.*\(--[-A-Za-z0-9]\{1,\}\).*/\1/p' | sort -u )" \ + -- "$cur" ) ) + elif [[ "$1" == @(mk|rm)dir ]]; then + _filedir -d + else + _filedir + fi +} +# makeinfo and texi2dvi are defined elsewhere. +for i in a2ps awk bash bc bison cat colordiff cp csplit \ + curl cut date df diff dir du enscript env expand fmt fold gperf gprof \ + grep grub head indent irb ld ldd less ln ls m4 md5sum mkdir mkfifo mknod \ + mv netstat nl nm objcopy objdump od paste patch pr ptx readelf rm rmdir \ + sed seq sha{,1,224,256,384,512}sum shar sort split strip tac tail tee \ + texindex touch tr uname unexpand uniq units vdir wc wget who; do + have $i && complete -F _longopt -o default $i +done +unset i + +_filedir_xspec() +{ + local IFS cur xspec + + IFS=$'\n' + COMPREPLY=() + _get_comp_words_by_ref cur + + _expand || return 0 + + # get first exclusion compspec that matches this command + xspec=$( awk "/^complete[ \t]+.*[ \t]${1##*/}([ \t]|\$)/ { print \$0; exit }" \ + "$BASH_COMPLETION" ) + # prune to leave nothing but the -X spec + xspec=${xspec#*-X } + xspec=${xspec%% *} + + local -a toks + local tmp + + toks=( ${toks[@]-} $( + compgen -d -- "$(quote_readline "$cur")" | { + while read -r tmp; do + # see long TODO comment in _filedir() --David + printf '%s\n' $tmp + done + } + )) + + # Munge xspec to contain uppercase version too + eval xspec="${xspec}" + local matchop=! + if [[ $xspec == !* ]]; then + xspec=${xspec#!} + matchop=@ + fi + [[ ${BASH_VERSINFO[0]} -ge 4 ]] && \ + xspec="$matchop($xspec|${xspec^^})" || \ + xspec="$matchop($xspec|$(printf %s $xspec | tr '[:lower:]' '[:upper:]'))" + + toks=( ${toks[@]-} $( + eval compgen -f -X "!$xspec" -- "\$(quote_readline "\$cur")" | { + while read -r tmp; do + [ -n $tmp ] && printf '%s\n' $tmp + done + } + )) + + [ ${#toks[@]} -ne 0 ] && _compopt_o_filenames + COMPREPLY=( "${toks[@]}" ) +} +list=( $( sed -ne '/^# START exclude/,/^# FINISH exclude/p' "$BASH_COMPLETION" | \ + # read exclusion compspecs + ( + while read line + do + # ignore compspecs that are commented out + if [ "${line#\#}" != "$line" ]; then continue; fi + line=${line%# START exclude*} + line=${line%# FINISH exclude*} + line=${line##*\'} + list=( "${list[@]}" $line ) + done + printf '%s ' "${list[@]}" + ) + ) ) +# remove previous compspecs +if [ ${#list[@]} -gt 0 ]; then + eval complete -r ${list[@]} + # install new compspecs + eval complete -F _filedir_xspec "${list[@]}" +fi +unset list + +# source completion directory definitions +if [[ -d $BASH_COMPLETION_COMPAT_DIR && -r $BASH_COMPLETION_COMPAT_DIR && \ + -x $BASH_COMPLETION_COMPAT_DIR ]]; then + for i in $(LC_ALL=C command ls "$BASH_COMPLETION_COMPAT_DIR"); do + i=$BASH_COMPLETION_COMPAT_DIR/$i + [[ ${i##*/} != @(*~|*.bak|*.swp|\#*\#|*.dpkg*|*.rpm@(orig|new|save)|Makefile*) \ + && -f $i && -r $i ]] && . "$i" + done +fi +if [[ $BASH_COMPLETION_DIR != $BASH_COMPLETION_COMPAT_DIR && \ + -d $BASH_COMPLETION_DIR && -r $BASH_COMPLETION_DIR && \ + -x $BASH_COMPLETION_DIR ]]; then + for i in $(LC_ALL=C command ls "$BASH_COMPLETION_DIR"); do + i=$BASH_COMPLETION_DIR/$i + [[ ${i##*/} != @(*~|*.bak|*.swp|\#*\#|*.dpkg*|*.rpm@(orig|new|save)|Makefile*) \ + && -f $i && -r $i ]] && . "$i" + done +fi +unset i + +# source user completion file +[[ $BASH_COMPLETION != ~/.bash_completion && -r ~/.bash_completion ]] \ + && . ~/.bash_completion +unset -f have +unset UNAME USERLAND have + +set $BASH_COMPLETION_ORIGINAL_V_VALUE +unset BASH_COMPLETION_ORIGINAL_V_VALUE + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/abook b/bash_completion.d/abook new file mode 100644 index 0000000..f09c8b5 --- /dev/null +++ b/bash_completion.d/abook @@ -0,0 +1,62 @@ +# abook(1) completion + +have abook && +_abook() +{ + local cur prev + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + # abook only takes options, tabbing after command name adds a single + # dash (bash4) + [[ ${BASH_VERSINFO[0]} -ge 4 && $COMP_CWORD -eq 1 && -z "$cur" ]] && + { + compopt -o nospace + COMPREPLY=( "-" ) + return 0 + } + + case $cur in + -*) + _longopt abook + return 0 + ;; + esac + + case $prev in + --informat) + COMPREPLY=( $( compgen -W "$(abook --formats | \ + sed -n -e 's/^\t\([a-z]*\).*/\1/p' -e '/^$/q')" -- "$cur" ) ) + return 0 + ;; + --outformat) + COMPREPLY=( $( compgen -W "$(abook --formats | \ + sed -n -e '/^$/,$s/^\t\([a-z]*\).*/\1/p')" -- "$cur" ) ) + return 0 + ;; + --infile) + COMPREPLY=( $( compgen -W stdin -- "$cur" ) ) + _filedir + return 0 + ;; + --outfile) + COMPREPLY=( $( compgen -W stdout -- "$cur" ) ) + _filedir + return 0 + ;; + --config|--datafile) + _filedir + return 0 + ;; + esac +} && +complete -F _abook abook + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/ant b/bash_completion.d/ant new file mode 100644 index 0000000..132c439 --- /dev/null +++ b/bash_completion.d/ant @@ -0,0 +1,70 @@ +# bash completion for ant + +have ant && +{ +_ant() +{ + local cur prev buildfile i + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + case $prev in + -buildfile|-file|-f) + _filedir 'xml' + return 0 + ;; + -logfile|-l) + _filedir + return 0 + ;; + -propertyfile) + _filedir properties + return 0 + ;; + -nice) + COMPREPLY=( $( compgen -W '1 2 3 4 5 6 7 8 9 10' -- "$cur" ) ) + return 0 + ;; + -lib|-logger|-listener|-D|-inputhandler|-main) + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-help -projecthelp -version -diagnostics \ + -quiet -verbose -debug -emacs -lib -logfile -logger -listener \ + -noinput -buildfile -D -keep-going -propertyfile -inputhandler \ + -find -s -nice -nouserlib -noclasspath -autoproxy -main' \ + -- "$cur" ) ) + else + # available targets completion + # find which buildfile to use + buildfile=build.xml + for (( i=1; i < COMP_CWORD; i++ )); do + if [[ "${COMP_WORDS[i]}" == -@(?(build)file|f) ]]; then + buildfile=${COMP_WORDS[i+1]} + break + fi + done + [ ! -f $buildfile ] && return 0 + + # parse buildfile for targets + # some versions of sed complain if there's no trailing linefeed, + # hence the 2>/dev/null + COMPREPLY=( $( compgen -W "$( cat $buildfile | tr "'\t\n>" "\" \n" | \ + sed -ne 's/.*/dev/null )" \ + -- "$cur" ) ) + fi +} +have complete-ant-cmd.pl && \ + complete -C complete-ant-cmd.pl -F _ant ant || complete -F _ant ant +} + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/apache2.2-common b/bash_completion.d/apache2.2-common new file mode 100644 index 0000000..c24b2e5 --- /dev/null +++ b/bash_completion.d/apache2.2-common @@ -0,0 +1,54 @@ +# bash completion for Debian apache2 configuration tools +# $Id: apache2,v 1.1 2005/03/16 22:51:19 guillaume Exp $ + +_apache2_modsites() +{ + COMPREPLY=( $( compgen -W '$( command ls /etc/apache2/$1 2>/dev/null \ + | sed -e 's/[.]load$//' -e 's/[.]conf$//' )' -- $cur ) ) +} + +_a2enmod() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + _apache2_modsites mods-available +} +complete -F _a2enmod a2enmod + +_a2ensite() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + _apache2_modsites sites-available + +} +complete -F _a2ensite a2ensite + +_a2dismod() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + _apache2_modsites mods-enabled +} +complete -F _a2dismod a2dismod + +_a2dissite() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + _apache2_modsites sites-enabled + +} +complete -F _a2dissite a2dissite diff --git a/bash_completion.d/apache2ctl b/bash_completion.d/apache2ctl new file mode 100644 index 0000000..287443a --- /dev/null +++ b/bash_completion.d/apache2ctl @@ -0,0 +1,24 @@ +# apache2ctl(1) completion + +have apache2ctl && { +_apache2ctl() { + local APWORDS cur + + COMPREPLY=() + _get_comp_words_by_ref cur + + APWORDS=$(apache2ctl 2>&1 >/dev/null | awk 'NR<2 { print $3; exit }' | \ + tr "|" " ") + + COMPREPLY=( $( compgen -W "$APWORDS" -- "$cur" ) ) +} +complete -F _apache2ctl apache2ctl +} + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/apport_completion b/bash_completion.d/apport_completion new file mode 100644 index 0000000..13b02da --- /dev/null +++ b/bash_completion.d/apport_completion @@ -0,0 +1,268 @@ +# +# Apport bash-completion +# +############################################################################### + +# get available symptoms +_apport_symptoms () +{ + local syms + if [ -r /usr/share/apport/symptoms ]; then + for FILE in $(ls /usr/share/apport/symptoms); do + # hide utility files and symptoms that don't have a run() function + if [[ ! "$FILE" =~ ^_.* && -n $(egrep "^def run\s*\(.*\):" /usr/share/apport/symptoms/$FILE) ]]; then + syms="$syms ${FILE%.py}" + fi + done + fi + echo $syms + +} + +# completion when used without parameters +_apport_parameterless () +{ + local param + # parameter-less completion + # param= COMMAND parameters + # package names + # PIDs + # Symptoms + # any file + param="$dashoptions \ + $( apt-cache pkgnames $cur 2> /dev/null ) \ + $( command ps axo pid | sed 1d ) \ + $( _apport_symptoms ) \ + $( compgen -G "${cur}*" )" + COMPREPLY=( $( compgen -W "$param" -- $cur) ) + +} + +# apport-bug ubuntu-bug completion +_apport-bug () +{ + local cur dashoptions prev param + + COMPREPLY=() + cur=`_get_cword` + prev=${COMP_WORDS[COMP_CWORD-1]} + + + # available options + dashoptions='-h --help --save -v --version --tag -w --window' + + case "$prev" in + ubuntu-bug | apport-bug) + case "$cur" in + -*) + # parameter completion + COMPREPLY=( $( compgen -W "$dashoptions" -- $cur ) ) + + ;; + *) + # no parameter given + _apport_parameterless + + ;; + esac + + ;; + --save) + COMPREPLY=( $( compgen -o default -G "$cur*" ) ) + + ;; + -w | --window) + dashoptions="--save --tag" + COMPREPLY=( $( compgen -W "$dashoptions" -- $cur ) ) + ;; + -h | --help | -v | --version | --tag) + # standalone parameters + return 0 + + ;; + *) + # --save and --window make only sense once + dashoptions="--tag" + if ! [[ "${COMP_WORDS[*]}" =~ .*--save.* ]]; then + dashoptions="--save $dashoptions" + fi + if ! [[ "${COMP_WORDS[*]}" =~ .*--window.* || "${COMP_WORDS[*]}" =~ .*\ -w\ .* ]]; then + dashoptions="-w --window $dashoptions" + fi + + case "$cur" in + -*) + # parameter completion + COMPREPLY=( $( compgen -W "$dashoptions" -- $cur ) ) + + ;; + *) + _apport_parameterless + + ;; + esac + + ;; + esac +} + +# apport-cli completion +_apport-cli () +{ + local cur dashoptions prev param + + COMPREPLY=() + cur=`_get_cword` + prev=${COMP_WORDS[COMP_CWORD-1]} + + + # available options + dashoptions='-h --help -f --file-bug -u --update-bug -s --symptom \ + -c --crash-file --save -v --version --tag -w --window' + + case "$prev" in + apport-cli) + case "$cur" in + -*) + # parameter completion + COMPREPLY=( $( compgen -W "$dashoptions" -- $cur ) ) + + ;; + *) + # no parameter given + _apport_parameterless + + ;; + esac + + ;; + -f | --file-bug) + param="-P --pid -p --package -s --symptom" + COMPREPLY=( $( compgen -W "$param $(_apport_symptoms)" -- $cur) ) + + ;; + -s | --symptom) + COMPREPLY=( $( compgen -W "$(_apport_symptoms)" -- $cur) ) + + ;; + --save) + COMPREPLY=( $( compgen -o default -G "$cur*" ) ) + + ;; + -c | --crash-file) + # only show *.apport *.crash files + COMPREPLY=( $( compgen -G "${cur}*.apport" + compgen -G "${cur}*.crash" ) ) + + ;; + -w | --window) + dashoptions="--save --tag" + COMPREPLY=( $( compgen -W "$dashoptions" -- $cur ) ) + ;; + -h | --help | -v | --version | --tag) + # standalone parameters + return 0 + + ;; + *) + dashoptions='--tag' + + # most parameters only make sense once + if ! [[ "${COMP_WORDS[*]}" =~ .*--save.* ]]; then + dashoptions="--save $dashoptions" + fi + if ! [[ "${COMP_WORDS[*]}" =~ .*--window.* || "${COMP_WORDS[*]}" =~ .*\ -w\ .* ]]; then + dashoptions="-w --window $dashoptions" + fi + if ! [[ "${COMP_WORDS[*]}" =~ .*--symptom.* || "${COMP_WORDS[*]}" =~ .*\ -s\ .* ]]; then + dashoptions="-s --symptom $dashoptions" + fi + if ! [[ "${COMP_WORDS[*]}" =~ .*--update.* || "${COMP_WORDS[*]}" =~ .*\ -u\ .* ]]; then + dashoptions="-u --update $dashoptions" + fi + if ! [[ "${COMP_WORDS[*]}" =~ .*--file-bug.* || "${COMP_WORDS[*]}" =~ .*\ -f\ .* ]]; then + dashoptions="-f --file-bug $dashoptions" + fi + if ! [[ "${COMP_WORDS[*]}" =~ .*--crash-file.* || "${COMP_WORDS[*]}" =~ .*\ -c\ .* ]]; then + dashoptions="-c --crash-file $dashoptions" + fi + + # use same completion as if no parameter is given + case "$cur" in + -*) + # parameter completion + COMPREPLY=( $( compgen -W "$dashoptions" -- $cur ) ) + + ;; + *) + _apport_parameterless + + ;; + esac + + ;; + esac +} + +# apport-unpack completion +_apport-unpack () +{ + local cur prev + + COMPREPLY=() + cur=`_get_cword` + prev=${COMP_WORDS[COMP_CWORD-1]} + + case "$prev" in + apport-unpack) + # only show *.apport *.crash files + COMPREPLY=( $( compgen -G "${cur}*.apport" + compgen -G "${cur}*.crash" ) ) + + ;; + esac +} + +# apport-collect completion +_apport-collect () +{ + local cur prev + + COMPREPLY=() + cur=`_get_cword` + prev=${COMP_WORDS[COMP_CWORD-1]} + + case "$prev" in + apport-collect) + COMPREPLY=( $( compgen -W "-p --package --tag" -- $cur) ) + + ;; + -p | --package) + # list package names + COMPREPLY=( $( apt-cache pkgnames $cur 2> /dev/null ) ) + + ;; + --tag) + # standalone parameter + return 0 + ;; + *) + # only complete -p/--package once + if [[ "${COMP_WORDS[*]}" =~ .*\ -p.* || "${COMP_WORDS[*]}" =~ .*--package.* ]]; then + COMPREPLY=( $( compgen -W "--tag" -- $cur) ) + else + COMPREPLY=( $( compgen -W "-p --package --tag" -- $cur) ) + fi + + ;; + esac +} + +# bind completion to apport commands +complete -F _apport-bug -o filenames -o dirnames ubuntu-bug +complete -F _apport-bug -o filenames -o dirnames apport-bug +complete -F _apport-cli -o filenames -o dirnames apport-cli +complete -F _apport-unpack -o filenames -o dirnames apport-unpack +complete -F _apport-collect apport-collect + +# vi: syntax=bash diff --git a/bash_completion.d/apt b/bash_completion.d/apt new file mode 100644 index 0000000..ca158c4 --- /dev/null +++ b/bash_completion.d/apt @@ -0,0 +1,157 @@ +# Debian apt-get(8) completion. + +have apt-get && +_apt_get() +{ + local cur prev special i + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do + if [[ ${COMP_WORDS[i]} == @(install|remove|autoremove|purge|source|build-dep|changelog|download) ]]; then + special=${COMP_WORDS[i]} + fi + done + + if [ -n "$special" ]; then + case $special in + remove|autoremove|purge) + if [ -f /etc/debian_version ]; then + # Debian system + COMPREPLY=( $( _comp_dpkg_installed_packages $cur ) ) + else + # assume RPM based + _rpm_installed_packages + fi + return 0 + ;; + source) + COMPREPLY=( $( apt-cache --no-generate pkgnames "$cur" \ + 2> /dev/null ) $( apt-cache dumpavail | \ + command grep "^Source: $cur" | sort -u | cut -f2 -d" " ) ) + return 0 + ;; + *) + COMPREPLY=( $( apt-cache --no-generate pkgnames "$cur" \ + 2> /dev/null ) ) + return 0 + ;; + esac + fi + + case $prev in + -c|--config-file) + _filedir + return 0 + ;; + -t|--target-release|--default-release) + COMPREPLY=( $( apt-cache policy | \ + command grep "release.o=Debian,a=$cur" | \ + sed -e "s/.*a=\(\w*\).*/\1/" | uniq 2> /dev/null) ) + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-d -f -h -v -m -q -s -y -u -t -b -c -o \ + --download-only --fix-broken --help --version --ignore-missing \ + --fix-missing --no-download --quiet --simulate --just-print \ + --dry-run --recon --no-act --yes --assume-yes --show-upgraded \ + --only-source --compile --build --ignore-hold --target-release \ + --no-upgrade --force-yes --print-uris --purge --reinstall \ + --list-cleanup --default-release --trivial-only --no-remove \ + --diff-only --no-install-recommends --tar-only --config-file \ + --option --auto-remove' -- "$cur" ) ) + else + COMPREPLY=( $( compgen -W 'update upgrade dselect-upgrade \ + dist-upgrade install remove purge source build-dep \ + check download clean autoclean autoremove changelog' -- "$cur" ) ) + fi + + return 0 +} && +complete -F _apt_get apt-get + +# Debian apt-cache(8) completion. +# +have apt-cache && +_apt_cache() +{ + local cur prev special i + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + if [ "$cur" != show ]; then + for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do + if [[ ${COMP_WORDS[i]} == @(add|depends|dotty|madison|policy|rdepends|show?(pkg|src|)) ]]; then + special=${COMP_WORDS[i]} + fi + done + fi + + + if [ -n "$special" ]; then + case $special in + add) + _filedir + return 0 + ;; + + showsrc) + COMPREPLY=( $( apt-cache dumpavail | \ + command grep "^Source: $cur" | sort -u | cut -f2 -d" " ) ) + return 0 + ;; + + *) + COMPREPLY=( $( apt-cache --no-generate pkgnames "$cur" 2> /dev/null ) ) + return 0 + ;; + + esac + fi + + + case $prev in + -c|-p|-s|--config-file|--pkg-cache|--src-cache) + _filedir + return 0 + ;; + search) + if [[ "$cur" != -* ]]; then + return 0 + fi + ;; + esac + + if [[ "$cur" == -* ]]; then + + COMPREPLY=( $( compgen -W '-h -v -p -s -q -i -f -a -g -c \ + -o --help --version --pkg-cache --src-cache \ + --quiet --important --full --all-versions \ + --no-all-versions --generate --no-generate \ + --names-only --all-names --recurse \ + --config-file --option --installed' -- "$cur" ) ) + else + + COMPREPLY=( $( compgen -W 'add gencaches show showpkg showsrc \ + stats dump dumpavail unmet search search \ + depends rdepends pkgnames dotty xvcg \ + policy madison' -- "$cur" ) ) + + fi + + + return 0 +} && +complete -F _apt_cache apt-cache + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/apt-build b/bash_completion.d/apt-build new file mode 100644 index 0000000..d875a98 --- /dev/null +++ b/bash_completion.d/apt-build @@ -0,0 +1,66 @@ +# Debian apt-build(1) completion. + +have apt-build && +_apt_build() +{ + local cur prev special i + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do + if [[ ${COMP_WORDS[i]} == @(install|remove|source|info|clean) ]]; then + special=${COMP_WORDS[i]} + fi + done + + if [ -n "$special" ]; then + case $special in + install|source|info) + COMPREPLY=( $( apt-cache pkgnames "$cur" 2> /dev/null ) ) + return 0 + ;; + remove) + COMPREPLY=( $( _comp_dpkg_installed_packages "$cur" ) ) + return 0 + ;; + *) + return 0 + ;; + esac + fi + + case $prev in + --patch|--build-dir|--repository-dir) + _filedir + return 0 + ;; + -h|--help) + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--help --show-upgraded -u --build-dir \ + --repository-dir --build-only --build-command --reinstall \ + --rebuild --remove-builddep --no-wrapper --purge --patch \ + --patch-strip -p --yes -y --version -v --no-source' -- "$cur" ) ) + + else + COMPREPLY=( $( compgen -W 'update upgrade install remove source \ + dist-upgrade world clean info clean-build update-repository' \ + -- "$cur" ) ) + fi + + + return 0 +} && +complete -F _apt_build apt-build + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/aptitude b/bash_completion.d/aptitude new file mode 100644 index 0000000..c00ad40 --- /dev/null +++ b/bash_completion.d/aptitude @@ -0,0 +1,98 @@ +# Debian aptitude(1) completion + +have aptitude && { +have grep-status && { +_comp_dpkg_hold_packages() +{ + grep-status -P -e "^$1" -a -FStatus 'hold' -n -s Package +} +} || { +_comp_dpkg_hold_packages() +{ + command grep -B 2 'hold' /var/lib/dpkg/status | \ + command grep "Package: $1" | cut -d\ -f2 +} +} + +_aptitude() +{ + local cur dashoptions prev special i + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + dashoptions='-S -u -i -h --help --version -s --simulate -d \ + --download-only -P --prompt -y --assume-yes -F \ + --display-format -O --sort -w --width -f -r -g \ + --with-recommends -R -G --without-recommends -t \ + --target-release -V --show-versions -D --show-deps\ + -Z -v --verbose --purge-unused --schedule-only' + + for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do + if [[ ${COMP_WORDS[i]} == @(@(|re)install|@(|un)hold|@(|un)markauto|@(dist|full)-upgrade|download|show|forbid-version|purge|remove|changelog|why@(|-not)|keep@(|-all)|build-dep|@(add|remove)-user-tag) ]]; then + special=${COMP_WORDS[i]} + fi + #exclude some mutually exclusive options + [[ ${COMP_WORDS[i]} == '-u' ]] && dashoptions=${dashoptions/-i} + [[ ${COMP_WORDS[i]} == '-i' ]] && dashoptions=${dashoptions/-u} + done + + if [[ -n "$special" ]]; then + case $special in + install|hold|markauto|unmarkauto|dist-upgrade|full-upgrade| \ + download|show|changelog|why|why-not|build-dep|add-user-tag| \ + remove-user-tag) + COMPREPLY=( $( apt-cache pkgnames $cur 2> /dev/null ) ) + return 0 + ;; + purge|remove|reinstall|forbid-version) + COMPREPLY=( $( _comp_dpkg_installed_packages "$cur" ) ) + return 0 + ;; + unhold) + COMPREPLY=( $( _comp_dpkg_hold_packages "$cur" ) ) + return 0 + ;; + esac + fi + + case $prev in + # don't complete anything if these options are found + autoclean|clean|forget-new|search|safe-upgrade|upgrade|update|keep-all) + return 0 + ;; + -S) + _filedir + return 0 + ;; + -t|--target-release|--default-release) + COMPREPLY=( $( apt-cache policy | \ + command grep "release.o=Debian,a=$cur" | \ + sed -e "s/.*a=\(\w*\).*/\1/" | uniq 2> /dev/null ) ) + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W "$dashoptions" -- "$cur" ) ) + else + COMPREPLY=( $( compgen -W 'update upgrade safe-upgrade forget-new \ + clean autoclean install reinstall remove \ + hold unhold purge markauto unmarkauto why why-not \ + dist-upgrade full-upgrade download search show \ + forbid-version changelog keep-all build-dep \ + add-user-tag remove-user-tag' -- "$cur" ) ) + fi + + return 0 +} +complete -F _aptitude -o default aptitude +} + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/aspell b/bash_completion.d/aspell new file mode 100644 index 0000000..5254eee --- /dev/null +++ b/bash_completion.d/aspell @@ -0,0 +1,96 @@ +# bash completion for aspell + +have aspell && { +_aspell_dictionary() +{ + local datadir + datadir=$( aspell config data-dir 2>/dev/null || echo /usr/lib/aspell ) + # First, get aliases (dicts dump does not list them) + COMPREPLY=( $( command ls $datadir/*.alias 2>/dev/null ) ) + COMPREPLY=( ${COMPREPLY[@]%.alias} ) + COMPREPLY=( ${COMPREPLY[@]#$datadir/} ) + # Then, add the canonical dicts + COMPREPLY=( "${COMPREPLY[@]}" $( aspell dicts 2>/dev/null ) ) + COMPREPLY=( $( compgen -W '${COMPREPLY[@]}' -- "$cur" ) ) +} + +_aspell() +{ + local cur prev split=false + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + _split_longopt && split=true + + case $prev in + -c|-p|check|--conf|--personal|--repl|--per-conf) + _filedir + return 0 + ;; + --conf-dir|--data-dir|--dict-dir|--home-dir|--local-data-dir|--prefix) + _filedir -d + return 0 + ;; + dump|create|merge) + COMPREPLY=( $( compgen -W 'master personal repl' -- "$cur" ) ) + return 0 + ;; + --mode) + COMPREPLY=( $( compgen -W 'none url email sgml tex' -- "$cur" ) ) + return 0 + ;; + --sug-mode) + COMPREPLY=( $( compgen -W 'ultra fast normal bad-speller' -- "$cur" ) ) + return 0 + ;; + --keymapping) + COMPREPLY=( $( compgen -W 'aspell ispell' -- "$cur" ) ) + return 0 + ;; + -d|--master) + _aspell_dictionary + return 0 + ;; + esac + + $split && return 0 + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--conf --conf-dir --data-dir --dict-dir \ + --encoding --add-filter --rem-filter --mode \ + --add-extra-dicts --rem-extra-dicts \ + --home-dir --ignore --ignore-accents \ + --dont-ignore-accents --ignore-case --dont-ignore-case \ + --ignore-repl --dont-ignore-repl --jargon --keyboard \ + --lang --language-tag --local-data-dir --master \ + --module --add-module-search-order \ + --rem-module-search-order --per-conf --personal \ + --prefix --repl --run-together --dont-run-together \ + --run-together-limit --run-together-min --save-repl \ + --dont-save-repl --set-prefix --dont-set-prefix --size \ + --spelling --strip-accents --dont-strip-accents \ + --sug-mode --add-word-list-path --rem-word-list-path \ + --backup --dont-backup --reverse --dont-reverse \ + --time --dont-time --keymapping --add-email-quote \ + --rem-email-quote --email-margin --add-tex-command \ + --rem-tex-command --tex-check-comments \ + --dont-tex-check-comments --add-tex-extension \ + --rem-tex-extension --add-sgml-check --rem-sgml-check \ + --add-sgml-extension --rem-sgml-extension' -- "$cur" ) ) + else + COMPREPLY=( $( compgen -W 'usage help check pipe list \ + config soundslike filter version dump create merge' -- "$cur" ) ) + fi + +} +complete -F _aspell aspell +} + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/autoconf b/bash_completion.d/autoconf new file mode 100644 index 0000000..c8f1b19 --- /dev/null +++ b/bash_completion.d/autoconf @@ -0,0 +1,124 @@ +# Completions for autoconf tools + +have autoconf && +_autoconf() +{ + COMPREPLY=() + local cur prev split=false + _get_comp_words_by_ref cur prev + + _split_longopt && split=true + + case "$prev" in + --help|-h|--version|-V|--trace|-t) + return 0 + ;; + --output|-o) + _filedir + return 0 + ;; + --warnings|-W) + local cats=( cross obsolete syntax ) + COMPREPLY=( $( compgen -W \ + '${cats[@]} ${cats[@]/#/no-} all none error' -- "$cur" ) ) + return 0 + ;; + --prepend-include|-B|--include|-I) + _filedir -d + return 0 + ;; + esac + + $split && return 0 + + if [[ "$cur" == -* ]]; then + _longopt $1 + return + fi + + _filedir '@(ac|in)' +} && +complete -F _autoconf autoconf + +have autoreconf || have autoheader && +_autoreconf() +{ + COMPREPLY=() + local cur prev split=false + _get_comp_words_by_ref cur prev + + _split_longopt && split=true + + case "$prev" in + --help|-h|--version|-V) + return 0 + ;; + --warnings|-W) + local cats=( cross gnu obsolete override portability syntax \ + unsupported ) + COMPREPLY=( $( compgen -W \ + '${cats[@]} ${cats[@]/#/no-} all none error' -- "$cur" ) ) + return 0 + ;; + --prepend-include|-B|--include|-I) + _filedir -d + return 0 + ;; + esac + + $split && return 0 + + if [[ "$cur" == -* ]]; then + _longopt $1 + return 0 + fi + + if [[ $1 == autoheader ]] ; then + _filedir '@(ac|in)' + else + _filedir -d + fi +} && +complete -F _autoreconf autoreconf autoheader + +have autoscan || have autoupdate && +_autoscan() +{ + COMPREPLY=() + local cur prev split=false + _get_comp_words_by_ref cur prev + + _split_longopt && split=true + + case "$prev" in + --help|-h|--version|-V) + return 0 + ;; + --prepend-include|-B|--include|-I) + _filedir -d + return 0 + ;; + esac + + $split && return 0 + + if [[ "$cur" == -* ]]; then + _longopt $1 + return 0 + fi + + if [[ $1 == autoupdate ]] ; then + _filedir '@(ac|in)' + else + _filedir -d + fi +} && +complete -F _autoscan autoscan autoupdate + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/automake b/bash_completion.d/automake new file mode 100644 index 0000000..7ed8745 --- /dev/null +++ b/bash_completion.d/automake @@ -0,0 +1,80 @@ +# Completions for automake tools + +have automake && +_automake() +{ + COMPREPLY=() + local cur prev split=false + _get_comp_words_by_ref cur prev + + _split_longopt && split=true + + case "$prev" in + --help|--version) + return 0 + ;; + --warnings|-W) + local cats=( gnu obsolete override portability syntax unsupported ) + COMPREPLY=( $( compgen -W \ + '${cats[@]} ${cats[@]/#/no-} all none error' -- "$cur" ) ) + return 0 + ;; + --libdir) + _filedir -d + return 0 + ;; + esac + + $split && return 0 + + if [[ "$cur" == -* ]]; then + _longopt $1 + return + fi + + _filedir +} && +complete -F _automake automake automake-1.11 + +have aclocal && +_aclocal() +{ + COMPREPLY=() + local cur prev split=false + _get_comp_words_by_ref cur prev + + _split_longopt && split=true + + case "$prev" in + --help|--print-ac-dir|--version) + return 0 + ;; + --acdir|-I) + _filedir -d + return 0 + ;; + --output) + _filedir + return 0 + ;; + --warnings|-W) + local cats=( syntax unsupported ) + COMPREPLY=( $( compgen -W \ + '${cats[@]} ${cats[@]/#/no-} all none error' -- "$cur" ) ) + return 0 + ;; + esac + + $split && return 0 + + _longopt $1 +} && +complete -F _aclocal aclocal aclocal-1.11 + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/autorpm b/bash_completion.d/autorpm new file mode 100644 index 0000000..6a5f762 --- /dev/null +++ b/bash_completion.d/autorpm @@ -0,0 +1,23 @@ +# autorpm(8) completion + +have autorpm && +_autorpm() +{ + local cur + + COMPREPLY=() + _get_comp_words_by_ref cur + + COMPREPLY=( $( compgen -W '--notty --debug --help --version auto add \ + fullinfo info help install list remove set' -- "$cur" ) ) + +} && +complete -F _autorpm autorpm + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/bash-builtins b/bash_completion.d/bash-builtins new file mode 100644 index 0000000..3eba8a1 --- /dev/null +++ b/bash_completion.d/bash-builtins @@ -0,0 +1,128 @@ +# bash alias completion +# +_alias() +{ + local cur + + COMPREPLY=() + _get_comp_words_by_ref cur + + case $COMP_LINE in + *[^=]) + COMPREPLY=( $( compgen -A alias -- "$cur" ) ) + ;; + *=) + COMPREPLY=( "$( alias ${cur%=} 2>/dev/null | sed \ + -e 's|^alias '"$cur"'\(.*\)$|\1|' )" ) + ;; + esac +} +complete -F _alias -o nospace alias + +# bash export completion +# +_export() +{ + local cur + + COMPREPLY=() + _get_comp_words_by_ref cur + + case $COMP_LINE in + *=\$*) + COMPREPLY=( $( compgen -v -P '$' -- "${cur#*=\$}" ) ) + ;; + *[^=]) + COMPREPLY=( $( compgen -v -S '=' -- "$cur" ) ) + ;; + *=) + COMPREPLY=( "$( eval echo -n \"$`echo ${cur%=}`\" | + ( echo -n \' + sed -e 's/'\''/'\''\\\'\'''\''/g' + echo -n \' ) )" ) + ;; + esac +} +complete -F _export -o default -o nospace export + +# bash shell function completion +# +_function() +{ + local cur prev + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + if [[ $1 == @(declare|typeset) ]]; then + if [ "$prev" = -f ]; then + COMPREPLY=( $( compgen -A function -- "$cur" ) ) + elif [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-a -f -F -i -r -x -p' -- "$cur" ) ) + fi + elif [ $COMP_CWORD -eq 1 ]; then + COMPREPLY=( $( compgen -A function -- "$cur" ) ) + else + COMPREPLY=( "() $( type -- ${COMP_WORDS[1]} | sed -e 1,2d )" ) + fi +} +complete -F _function function declare typeset + +# bash complete completion +# +_complete() +{ + local cur prev + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + case $prev in + -o) + COMPREPLY=( $( compgen -W 'bashdefault default dirnames filenames \ + nospace plusdirs' -- "$cur" ) ) + return 0 + ;; + + -A) + COMPREPLY=( $( compgen -W 'alias arrayvar binding builtin command \ + directory disabled enabled export file function group \ + helptopic hostname job keyword running service setopt shopt \ + signal stopped user variable' -- "$cur" ) ) + return 0 + ;; + + -C) + COMPREPLY=( $( compgen -A command -- "$cur" ) ) + return 0 + ;; + -F) + COMPREPLY=( $( compgen -A function -- "$cur" ) ) + return 0 + ;; + -p|-r) + COMPREPLY=( $( complete -p | sed -e 's|.* ||' ) ) + COMPREPLY=( $( compgen -W '${COMPREPLY[@]}' -- "$cur" ) ) + return 0 + ;; + + esac + + if [[ "$cur" == -* ]]; then + # relevant options completion + local opts="-a -b -c -d -e -f -g -j -k -o -s -u -v -A -G -W -P -S -X" + [[ $1 != compgen ]] && opts="$opts -F -C" + COMPREPLY=( $( compgen -W "$opts" -- "$cur" ) ) + else + COMPREPLY=( $( compgen -A command -- "$cur" ) ) + fi +} +complete -F _complete compgen complete + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/bind-utils b/bash_completion.d/bind-utils new file mode 100644 index 0000000..040d197 --- /dev/null +++ b/bash_completion.d/bind-utils @@ -0,0 +1,23 @@ +# bash completion for nslookup + +have nslookup && +_nslookup() +{ + local cur + + COMPREPLY=() + _get_comp_words_by_ref cur + + COMPREPLY=( $( compgen -P '-' -W 'all class= debug d2 domain= srchlist= \ + defname search port= querytype= type= recurse retry root timeout vc \ + ignoretc' -- "$cur" ) ) +} && +complete -F _nslookup nslookup + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/bitkeeper b/bash_completion.d/bitkeeper new file mode 100644 index 0000000..4c312a1 --- /dev/null +++ b/bash_completion.d/bitkeeper @@ -0,0 +1,26 @@ +# BitKeeper completion adapted from code by Bart Trojanowski + +have bk && +_bk() { + local BKCMDS + + COMPREPLY=() + _get_comp_words_by_ref cur + + BKCMDS="$( bk help topics | awk '/^ bk/ { print $4 }' | \ + xargs printf '%s ' )" + + COMPREPLY=( $( compgen -W "$BKCMDS" -- "$cur" ) ) + _filedir + + return 0 +} && +complete -F _bk bk + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/bittorrent b/bash_completion.d/bittorrent new file mode 100644 index 0000000..761d083 --- /dev/null +++ b/bash_completion.d/bittorrent @@ -0,0 +1,41 @@ +# btdownloadheadless(1) completion + +have btdownloadheadless.py || have btdownloadcurses.py || \ +have btdownloadgui.py && +_btdownload() +{ + local cur prev + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + case $prev in + --responsefile|--saveas) + _filedir + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--max_uploads --keepalive_interval \ + --download_slice_size --request_backlog --max_message_length \ + --ip --minport --maxport --responsefile --url --saveas --timeout \ + --timeout_check_interval --max_slice_length --max_rate_period \ + --bind --upload_rate_fudge --display_interval --rerequest_interval \ + --min_peers --http_timeout --max_initiate --max_allow_in \ + --check_hashes --max_upload_rate --snub_time --spew \ + --rarest_first_cutoff --min_uploads --report_hash_failures' \ + -- "$cur" ) ) + else + _filedir + fi +} && +complete -F _btdownload btdownloadheadless.py btdownloadcurses.py btdownloadgui.py + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/bluez b/bash_completion.d/bluez new file mode 100644 index 0000000..7a2b1e5 --- /dev/null +++ b/bash_completion.d/bluez @@ -0,0 +1,432 @@ +# bash completion for bluez utils + +have hcitool && { +_bluetooth_adresses() +{ + if [ -n "${COMP_BLUETOOTH_SCAN:-}" ]; then + COMPREPLY=( ${COMPREPLY[@]:-} $( compgen -W "$( hcitool scan | \ + awk '/^\t/{print $1}' )" -- "$cur" ) ) + fi +} + +_bluetooth_devices() +{ + COMPREPLY=( ${COMPREPLY[@]:-} $( compgen -W "$( hcitool dev | \ + awk '/^\t/{print $1}' )" -- "$cur" ) ) +} + +_bluetooth_services() +{ + COMPREPLY=( $( compgen -W 'DID SP DUN LAN FAX OPUSH FTP HS HF HFAG \ + SAP NAP GN PANU HCRP HID CIP A2SRC A2SNK AVRCT AVRTG UDIUE \ + UDITE SYNCML' -- "$cur" ) ) +} + +_bluetooth_packet_types() +{ + COMPREPLY=( $( compgen -W 'DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3' \ + -- "$cur" ) ) +} + +_hcitool() +{ + local cur prev split=false arg + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + _split_longopt && split=true + + case $prev in + -i) + _bluetooth_devices + return 0; + ;; + --role) + COMPREPLY=( $( compgen -W 'm s' -- "$cur" ) ) + return 0; + ;; + --pkt-type) + _bluetooth_packet_types + return 0; + ;; + esac + + $split && return 0 + + _get_first_arg + if [ -z $arg ]; then + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--help -i' -- "$cur" ) ) + else + COMPREPLY=( $( compgen -W 'dev inq scan name info \ + spinq epinq cmd con cc dc sr cpt rssi lq tpl \ + afh lst auth enc key clkoff clock' -- "$cur" ) ) + fi + else + case $arg in + name|info|dc|rssi|lq|afh|auth|key|clkoff|lst) + _count_args + if [ $args -eq 2 ]; then + _bluetooth_adresses + fi + ;; + cc) + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--role --pkt-type' -- "$cur" ) ) + else + _count_args + if [ $args -eq 2 ]; then + _bluetooth_adresses + fi + fi + ;; + sr) + _count_args + if [ $args -eq 2 ]; then + _bluetooth_adresses + else + COMPREPLY=( $( compgen -W 'master slave' -- "$cur" ) ) + fi + ;; + cpt) + _count_args + if [ $args -eq 2 ]; then + _bluetooth_adresses + else + _bluetooth_packet_types + fi + ;; + tpl|enc|clock) + _count_args + if [ $args -eq 2 ]; then + _bluetooth_adresses + else + COMPREPLY=( $( compgen -W '0 1' -- "$cur" ) ) + fi + ;; + esac + fi +} +complete -F _hcitool hcitool + +_sdptool() +{ + local cur prev split=false + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + _split_longopt && split=true + + case $prev in + --bdaddr) + _bluetooth_adresses + return 0; + ;; + esac + + $split && return 0 + + _get_first_arg + if [ -z $arg ]; then + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--help' -- "$cur" ) ) + else + COMPREPLY=( $( compgen -W 'search browse records add \ + del get setattr setseq' -- "$cur" ) ) + fi + else + case $arg in + search) + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--bdaddr \ + --tree --raw --xml' -- "$cur" ) ) + else + _bluetooth_services + fi + ;; + browse|records) + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--tree --raw --xml' -- "$cur" ) ) + else + _bluetooth_adresses + fi + ;; + add) + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--handle --channel' -- "$cur" ) ) + else + _bluetooth_services + fi + ;; + get) + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--bdaddr \ + --tree --raw --xml' -- "$cur" ) ) + fi + ;; + esac + fi +} +complete -F _sdptool sdptool + +_l2ping() +{ + local cur prev + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + case $prev in + -i) + _bluetooth_devices + return 0; + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-i -s -c -t -f -r' -- "$cur" ) ) + else + _bluetooth_adresses + fi + +} +complete -F _l2ping l2ping + +_rfcomm() +{ + local cur prev + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + case $prev in + -f|--config) + _filedir + return 0; + ;; + -i) + _bluetooth_devices + _bluetooth_adresses + return 0; + ;; + esac + + _get_first_arg + if [ -z $arg ]; then + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--help -a --raw \ + --config -i --auth --encrypt --secure --master' -- "$cur" ) ) + else + COMPREPLY=( $( compgen -W 'show connect listen watch \ + bind release' -- "$cur" ) ) + fi + else + _count_args + if [ $args -eq 2 ]; then + _bluetooth_devices + else + case $arg in + connect|bind) + if [ $args -eq 3 ]; then + _bluetooth_adresses + fi + ;; + esac + fi + fi +} +complete -F _rfcomm rfcomm + +_ciptool() +{ + local cur prev + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + case $prev in + -i) + _bluetooth_devices + _bluetooth_adresses + return 0; + ;; + esac + + _get_first_arg + if [ -z $arg ]; then + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--help -i' -- "$cur" ) ) + else + COMPREPLY=( $( compgen -W 'show search connect release \ + loopback' -- "$cur" ) ) + fi + else + case $arg in + connect|release|loopback) + _count_args + if [ $args -eq 2 ]; then + _bluetooth_adresses + fi + ;; + esac + fi +} +complete -F _ciptool ciptool + +_dfutool() +{ + local cur prev + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + case $prev in + -d|--device) + _bluetooth_devices + return 0; + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--help --device' -- "$cur" ) ) + else + _count_args + case $args in + 1) + COMPREPLY=( $( compgen -W 'verify modify \ + upgrade archive' -- "$cur" ) ) + ;; + 2) + _filedir + ;; + esac + fi +} +complete -F _dfutool dfutool + +_hciconfig() +{ + local cur + + COMPREPLY=() + _get_comp_words_by_ref cur + + _get_first_arg + if [ -z $arg ]; then + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--help --all' -- "$cur" ) ) + else + COMPREPLY=( $( compgen -W 'up down reset rstat auth \ + noauth encrypt noencrypt secmgr nosecmgr \ + piscan noscan iscan pscan ptype name class \ + voice iac inqmode inqdata inqtype inqparams \ + pageparms pageto afhmode aclmtu scomtu putkey \ + delkey commands features version revision lm' \ + -- "$cur" ) ) + fi + else + case $arg in + putkey|delkey) + _count_args + if [ $args -eq 2 ]; then + _bluetooth_adresses + fi + ;; + lm) + _count_args + if [ $args -eq 2 ]; then + COMPREPLY=( $( compgen -W 'MASTER \ + SLAVE NONE ACCEPT' -- "$cur" ) ) + fi + ;; + ptype) + _count_args + if [ $args -eq 2 ]; then + _bluetooth_packet_types + fi + ;; + esac + fi +} +complete -F _hciconfig hciconfig + +_hciattach() +{ + local cur + + COMPREPLY=() + _get_comp_words_by_ref cur + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-n -p -t -b -s -l' -- "$cur" ) ) + else + _count_args + case $args in + 1) + COMPREPLY=( $( printf '%s\n' /dev/tty* ) ) + COMPREPLY=( $( compgen -W '${COMPREPLY[@]} \ + ${COMPREPLY[@]#/dev/}' -- "$cur" ) ) + ;; + 2) + COMPREPLY=( $( compgen -W 'any ericsson digi \ + xircom csr bboxes swave bcsp 0x0105 \ + 0x080a 0x0160 0x0002' -- "$cur" ) ) + ;; + 3) + COMPREPLY=( $( compgen -W '9600 19200 38400 \ + 57600 115200 230400 460800 921600' -- "$cur" ) ) + ;; + 4) + COMPREPLY=( $( compgen -W 'flow noflow' -- "$cur" ) ) + ;; + 5) + _bluetooth_adresses + ;; + esac + fi + +} +complete -F _hciattach hciattach + +_hid2hci() +{ + local cur + + COMPREPLY=() + _get_comp_words_by_ref cur + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--help --quiet -0 --tohci -1 \ + --tohid' -- "$cur" ) ) + fi +} +complete -F _hid2hci hid2hci + +_avctrl() +{ + local cur + + COMPREPLY=() + _get_comp_words_by_ref cur + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--help --quiet' -- "$cur" ) ) + else + _count_args + if [ $args -eq 1 ]; then + COMPREPLY=( $( compgen -W 'discover switch' -- "$cur" ) ) + fi + fi +} +complete -F _avctrl avctrl +} + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/brctl b/bash_completion.d/brctl new file mode 100644 index 0000000..1be86af --- /dev/null +++ b/bash_completion.d/brctl @@ -0,0 +1,48 @@ +# bash completion for brctl + +have brctl && +_brctl() +{ + local cur command + + COMPREPLY=() + _get_comp_words_by_ref cur + command=${COMP_WORDS[1]} + + case $COMP_CWORD in + 1) + COMPREPLY=( $( compgen -W "addbr delbr addif delif \ + setageing setbridgeprio setfd sethello \ + setmaxage setpathcost setportprio show \ + showmacs showstp stp" -- "$cur" ) ) + ;; + 2) + case $command in + show) + ;; + *) + COMPREPLY=( $( compgen -W "$(brctl show | \ + awk 'NR>1 {print $1}' )" -- "$cur" ) ) + esac + ;; + 3) + case $command in + addif|delif) + _configured_interfaces + ;; + stp) + COMPREPLY=( $( compgen -W 'on off' -- "$cur" ) ) + ;; + esac + ;; + esac +} && +complete -F _brctl -o default brctl + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/bzip2 b/bash_completion.d/bzip2 new file mode 100644 index 0000000..7e2f9fd --- /dev/null +++ b/bash_completion.d/bzip2 @@ -0,0 +1,51 @@ +# bash completion for bzip2 + +have bzip2 || have pbzip2 && +_bzip2() +{ + local cur prev xspec helpopts + + COMPREPLY=() + _get_comp_words_by_ref cur prev + helpopts=`_parse_help ${COMP_WORDS[0]}` + + case $prev in + -b|-h|--help|-p) + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W "${helpopts//#/} -2 -3 -4 -5 -6 -7 -8 -9" \ + -- "$cur" ) ) + return 0 + fi + + local IFS=$'\n' + + xspec="*.bz2" + if [[ "$prev" == --* ]]; then + [[ "$prev" == --decompress || \ + "$prev" == --list || \ + "$prev" == --test ]] && xspec="!"$xspec + [[ "$prev" == --compress ]] && xspec= + elif [[ "$prev" == -* ]]; then + [[ "$prev" == -*[dt]* ]] && xspec="!"$xspec + [[ "$prev" == -*z* ]] && xspec= + fi + + _expand || return 0 + + _compopt_o_filenames + COMPREPLY=( $( compgen -f -X "$xspec" -- "$cur" ) \ + $( compgen -d -- "$cur" ) ) +} && +complete -F _bzip2 bzip2 pbzip2 + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/bzr b/bash_completion.d/bzr new file mode 100644 index 0000000..2ca16a3 --- /dev/null +++ b/bash_completion.d/bzr @@ -0,0 +1,40 @@ +# Copyright (C) 2010 Canonical Ltd +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +# Programmable completion for the Bazaar-NG bzr command under bash. +# Source this file (or add it to your ~/.bash_completion or ~/.bashrc +# file, depending on your system configuration, and start a new shell) +# and bash's completion mechanism will know all about bzr's options! +# +# This completion function assumes you have the bzr-bash-completion +# plugin installed as a bzr plugin. It will generate the full +# completion function at first invocation, thus avoiding long delays +# for every shell you start. + +shopt -s progcomp +_bzr_lazy () +{ + unset _bzr + eval "$(bzr bash-completion)" + if [[ $(type -t _bzr) == function ]]; then + unset _bzr_lazy + _bzr + return $? + else + return 1 + fi +} +complete -F _bzr_lazy -o default bzr diff --git a/bash_completion.d/cardctl b/bash_completion.d/cardctl new file mode 100644 index 0000000..1af7491 --- /dev/null +++ b/bash_completion.d/cardctl @@ -0,0 +1,24 @@ +# Linux cardctl(8) completion + +have cardctl || have pccardctl && +_cardctl() +{ + local cur + + COMPREPLY=() + _get_comp_words_by_ref cur + + if [ $COMP_CWORD -eq 1 ]; then + COMPREPLY=( $( compgen -W 'status config ident suspend \ + resume reset eject insert scheme' -- "$cur" ) ) + fi +} && +complete -F _cardctl cardctl pccardctl + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/cfengine b/bash_completion.d/cfengine new file mode 100644 index 0000000..50a1384 --- /dev/null +++ b/bash_completion.d/cfengine @@ -0,0 +1,88 @@ +# bash completion for cfengine + +have cfagent && { +_cfagent_options() +{ + COMPREPLY=( $( compgen -W '--sysadm --force-net-copy --no-check-files \ + --no-check-mounts --debug --define --no-edits --enforce-links --file \ + --help --no-hard-classes --no-ifconfig --inform --no-copy --no-lock \ + --traverse-links --delete-stale-links --no-mount --no-modules \ + --dry-run --negate --parse-only --no-processes --no-splay \ + --no-commands --silent --no-tidy --use-env --underscore-classes \ + --verbose --version --no-preconf --no-links --quiet' -- "$cur" ) ) +} + +_cfagent() +{ + local cur prev + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + case $prev in + -f|--file) + _filedir + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + _cfagent_options + fi +} +complete -F _cfagent cfagent + +_cfrun() +{ + local i section cfinputs cur prev + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + section=1 + for (( i=1; i < COMP_CWORD; i++ )); do + if [[ "${COMP_WORDS[i]}" == -- ]]; then + section=$((section + 1)) + fi + done + + case $section in + 1) + case $prev in + -f) + _filedir + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-f -h -d -S -T -v' -- $cur ) ) + else + hostfile=${CFINPUTS:-/var/lib/cfengine/inputs}/cfrun.hosts + for (( i=1; i < COMP_CWORD; i++ )); do + if [[ "${COMP_WORDS[i]}" == -f ]]; then + hostfile=${COMP_WORDS[i+1]} + break + fi + done + [ ! -f $hostfile ] && return 0 + + COMPREPLY=( $(compgen -W "$( command grep -v \ + -E '(=|^$|^#)' $hostfile )" -- "$cur" ) ) + fi + ;; + 2) + _cfagent_options + ;; + esac +} +complete -F _cfrun cfrun +} + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/chkconfig b/bash_completion.d/chkconfig new file mode 100644 index 0000000..2d02e56 --- /dev/null +++ b/bash_completion.d/chkconfig @@ -0,0 +1,44 @@ +# chkconfig(8) completion + +have chkconfig && +_chkconfig() +{ + local cur prev split=false + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + _split_longopt && split=true + + case $prev in + --level=[1-6]|[1-6]|--list|--add|--del|--override) + _services + return 0 + ;; + --level) + COMPREPLY=( $( compgen -W '1 2 3 4 5 6' -- "$cur" ) ) + return 0 + ;; + esac + + $split && return 0 + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--list --add --del --override --level' -- "$cur" ) ) + else + if [[ $COMP_CWORD -eq 2 || $COMP_CWORD -eq 4 ]]; then + COMPREPLY=( $( compgen -W 'on off reset resetpriorities' -- "$cur" ) ) + else + _services + fi + fi +} && +complete -F _chkconfig chkconfig + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/chsh b/bash_completion.d/chsh new file mode 100644 index 0000000..1af3630 --- /dev/null +++ b/bash_completion.d/chsh @@ -0,0 +1,37 @@ +# chsh(1) completion + +_chsh() +{ + local cur prev + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + case $prev in + --list-shells|--help|-v|--version) + return 0 + ;; + -s|--shell) + _shells + return 0 + ;; + esac + + if [[ "$cur" == -* && "$( uname -s )" == @(Linux|GNU|GNU/*) ]]; then + COMPREPLY=( $( compgen -W '--shell --list-shells --help --version' \ + -- "$cur" ) ) + else + COMPREPLY=( $( compgen -u -- "$cur" ) ) + fi + + return 0 +} +complete -F _chsh chsh + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/cksfv b/bash_completion.d/cksfv new file mode 100644 index 0000000..1f83824 --- /dev/null +++ b/bash_completion.d/cksfv @@ -0,0 +1,38 @@ +# cksfv completion by Chris + +have cksfv && +_cksfv() +{ + local cur prev + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + if [ $COMP_CWORD -eq 1 ]; then + COMPREPLY=( $( compgen -W '-C -f -i -q -v' -- "$cur" ) ) + return 0 + fi + + case "$prev" in + -C) + _filedir -d + return 0 + ;; + -f) + _filedir 'sfv' + return 0 + ;; + esac + + _filedir + return 0 +} && +complete -F _cksfv cksfv + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/clisp b/bash_completion.d/clisp new file mode 100644 index 0000000..074f692 --- /dev/null +++ b/bash_completion.d/clisp @@ -0,0 +1,31 @@ +# bash brogrammable completion for various Common Lisp implementations by +# Nikodemus Siivola + +have clisp && +_clisp() +{ + local cur + + COMPREPLY=() + _get_comp_words_by_ref cur + + # completing an option (may or may not be separated by a space) + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-h --help --version --license -B -K \ + -M -m -L -N -E -q --quiet --silent -w -I -ansi \ + -traditional -p -C -norc -i -c -l -o -x ' -- "$cur" ) ) + else + _filedir + fi + + return 0 +} && +complete -F _clisp -o default clisp + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/configure b/bash_completion.d/configure new file mode 100644 index 0000000..1b20769 --- /dev/null +++ b/bash_completion.d/configure @@ -0,0 +1,44 @@ +# bash completion for configure + +_configure() +{ + local cur prev split=false + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + _split_longopt && split=true + + case $prev in + --*prefix|--*dir) + _filedir -d + ;; + esac + + $split && return 0 + + # if $COMP_CONFIGURE_HINTS is not null, then completions of the form + # --option=SETTING will include 'SETTING' as a contextual hint + [[ "$cur" != -* ]] && return 0 + + if [ -n "$COMP_CONFIGURE_HINTS" ]; then + COMPREPLY=( $( compgen -W "$( $1 --help 2>&1 | \ + awk '/^ --[A-Za-z]/ { print $1; \ + if ($2 ~ /--[A-Za-z]/) print $2 }' | sed -e 's/[[,].*//g' )" \ + -- "$cur" ) ) + else + COMPREPLY=( $( compgen -W "$( $1 --help 2>&1 | \ + awk '/^ --[A-Za-z]/ { print $1; \ + if ($2 ~ /--[A-Za-z]/) print $2 }' | sed -e 's/[[,=].*//g' )" \ + -- "$cur" ) ) + fi +} +complete -F _configure configure + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/coreutils b/bash_completion.d/coreutils new file mode 100644 index 0000000..33d58cf --- /dev/null +++ b/bash_completion.d/coreutils @@ -0,0 +1,149 @@ +# Completions for various core utilities + +# chown(1) completion +# +have chown && +_chown() +{ + local cur prev split=false + + # Get cur and prev words; but don't treat user:group as separate words. + _get_comp_words_by_ref -n : cur prev + + _split_longopt && split=true + + case "$prev" in + --from) + _usergroup + return 0 + ;; + --reference) + _filedir + return 0 + ;; + esac + + $split && return 0 + + if [[ "$cur" == -* ]]; then + # Complete -options + local w opts + for w in "${COMP_WORDS[@]}" ; do + [[ "$w" == -@(R|-recursive) ]] && opts="-H -L -P" && break + done + COMPREPLY=( $( compgen -W '-c -h -f -R -v --changes --dereference \ + --no-dereference --from --silent --quiet --reference --recursive \ + --verbose --help --version $opts' -- "$cur" ) ) + else + local args + + # The first argument is an usergroup; the rest are filedir. + _count_args : + + if [[ $args == 1 ]]; then + _usergroup -u + else + _filedir + fi + fi +} && +complete -F _chown chown + + +# chgrp(1) completion +# +have chgrp && +_chgrp() +{ + local cur prev split=false + + COMPREPLY=() + _get_comp_words_by_ref cur prev + cur=${cur//\\\\/} + + _split_longopt && split=true + + if [[ "$prev" == --reference ]]; then + _filedir + return 0 + fi + + $split && return 0 + + # options completion + if [[ "$cur" == -* ]]; then + local w opts + for w in "${COMP_WORDS[@]}" ; do + [[ "$w" == -@(R|-recursive) ]] && opts="-H -L -P" && break + done + COMPREPLY=( $( compgen -W '-c -h -f -R -v --changes --dereference \ + --no-dereference --silent --quiet --reference --recursive \ + --verbose --help --version $opts' -- "$cur" ) ) + return 0 + fi + + # first parameter on line or first since an option? + if [[ $COMP_CWORD -eq 1 && "$cur" != -* || "$prev" == -* ]]; then + _allowed_groups + else + _filedir || return 0 + fi + + return 0 +} && +complete -F _chgrp chgrp + +# id(1) completion +# +have id && +_id() +{ + local cur + + COMPREPLY=() + _get_comp_words_by_ref cur + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-a -g --group -G --groups -n --name\ + -r --real -u --user --help --version' -- "$cur" ) ) + else + COMPREPLY=( $( compgen -u "$cur" ) ) + fi +} && +complete -F _id id + +# mktemp(1) completion +# +have mktemp && +_mktemp() +{ + COMPREPLY=() + local cur prev split=false + _get_comp_words_by_ref cur prev + + _split_longopt && split=true + + case "$prev" in + --help|--version|--suffix) + return 0 + ;; + --tmpdir|-p) + _filedir -d + return 0 + ;; + esac + + $split && return 0 + + [[ "$cur" == -* ]] && \ + COMPREPLY=( $( compgen -W '-d -u -q -p -t' -- "$cur" ) ) +} && +complete -F _mktemp mktemp + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/cowsay b/bash_completion.d/cowsay new file mode 100644 index 0000000..c6d797a --- /dev/null +++ b/bash_completion.d/cowsay @@ -0,0 +1,31 @@ +# bash completion for cowsay + +have cowsay && +_cowsay() +{ + local cur prev + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + case $prev in + -f) + COMPREPLY=( $( compgen -W '$( cowsay -l | tail -n +2)' -- "$cur" ) ) + return 0 + ;; + esac + + # relevant options completion + COMPREPLY=( $( compgen -W '-b -d -g -p -s -t -w -y -e -f -h -l -n -T -W' \ + -- "$cur" ) ) + +} && +complete -F _cowsay -o default cowsay cowthink + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/cpan2dist b/bash_completion.d/cpan2dist new file mode 100644 index 0000000..13f568a --- /dev/null +++ b/bash_completion.d/cpan2dist @@ -0,0 +1,52 @@ +# bash completion for cpan2dist + +have cpan2dist && +_cpan2dist() +{ + local cur prev packagelist cpandirs + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + case $prev in + --format) + # should remove ":" from COMP_WORDBREAKS, but doesn't work (?) + COMPREPLY=( $( compgen -W '$(perl -MCPANPLUS::Dist -e \ + "print map { \"\$_\n\" } CPANPLUS::Dist->dist_types")' \ + -- "$cur" ) ) + return 0 + ;; + --banlist|--ignorelist|--modulelist|--logfile) + _filedir + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--help --skiptest --force --install \ + --verbose --keepsource --makefile --buildprereq \ + --archive --flushcache --defaults --edit-metafile \ + --format --ban --banlist --ignore --ignorelist \ + --modulelist --logfile --timeout --set-config \ + --set-program --dist-opts --default-banlist \ + --default-ignorelist' -- $cur ) ) + else + cpandirs=( "$HOME/.cpanplus/" "$HOME/.cpan/source/modules/" ) + for dir in ${cpandirs[@]}; do + [[ -d "$dir" && -r "$dir/02packages.details.txt.gz" ]] && \ + packagelist="$dir/02packages.details.txt.gz" + done + COMPREPLY=( $( zgrep "^${cur//-/::}" \ + $packagelist 2>/dev/null \ + | awk '{print $1}' | sed -e 's/::/-/g' ) ) + fi +} && +complete -F _cpan2dist -o default cpan2dist + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/cpio b/bash_completion.d/cpio new file mode 100644 index 0000000..5ead018 --- /dev/null +++ b/bash_completion.d/cpio @@ -0,0 +1,103 @@ +# bash completion for cpio + +have cpio && { +_cpio_format() +{ + COMPREPLY=( $( compgen -W 'bin odc newc crc tar ustar hpbin hpodc' -- "$cur" ) ) +} + +_cpio() +{ + local cur prev split=false + + COMPREPLY=() + _get_comp_words_by_ref -n : cur prev + + _split_longopt && split=true + + # --name value style option + case $prev in + -H|--format) + _cpio_format + return 0 + ;; + -E|-F|-I|--file|--pattern-file) + _filedir + return 0 + ;; + -R|--owner) + _usergroup + return 0 + ;; + --rsh-command) + _compopt_o_filenames + COMPREPLY=( $( compgen -c -- "$cur" ) ) + return 0 + ;; + esac + + $split && return 0 + + if [ $COMP_CWORD -eq 1 ]; then + COMPREPLY=( $( compgen -W '-o --create -i --extract -p --pass-through \ + -? --help --license --usage --version' -- "$cur" ) ) + else + case ${COMP_WORDS[1]} in + -o|--create) + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-0 -a -c -v -A -B\ + -L -V -C -H -M -O -F --file --format\ + --message --null --reset-access-time\ + --verbose --dot --append --block-size\ + --dereference --io-size --quiet\ + --force-local --rsh-command --help\ + --version' -- "$cur" ) ) + fi + ;; + -i|--extract) + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-b -c -d -f -m -n -r\ + -t -s -u -v -B -S -V -C -E -H -M -R -I\ + -F --file --make-directories\ + --nonmatching\ + --preserve-modification-time\ + --numeric-uid-gid --rename -t --list\ + --swap-bytes --swap --dot\ + --unconditional --verbose --block-size\ + --swap-halfwords --io-size\ + --pattern-file --format --owner\ + --no-preserve-owner --message\ + --force-local --no-absolute-filenames\ + --sparse --only-verify-crc --quiet\ + --rsh-command --help\ + --to-stdout \ + --version' -- "$cur" ) ) + fi + ;; + -p|--pass-through) + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-0 -a -d -l -m -u -v\ + -L -V -R --null --reset-access-time\ + --make-directories --link --quiet\ + --preserve-modification-time\ + --unconditional --verbose --dot\ + --dereference --owner\ + --no-preserve-owner --sparse --help\ + --version' -- "$cur" ) ) + else + _filedir -d + fi + ;; + esac + fi +} +complete -F _cpio cpio +} + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/crontab b/bash_completion.d/crontab new file mode 100644 index 0000000..d2ee23a --- /dev/null +++ b/bash_completion.d/crontab @@ -0,0 +1,60 @@ +# crontab(1) completion + +have crontab && +_crontab() +{ + local cur prev + COMPREPLY=() + _get_comp_words_by_ref cur prev + + case $prev in + -u) + _allowed_users + return 0 + ;; + esac + + local i opts=" -u -l -r -e" # leading space at start is significant... + [ "$(uname -s)" = Linux ] && opts="$opts -i" + [ -e /etc/selinux ] && opts="$opts -s" + for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do + case "${COMP_WORDS[i]}" in + -l) + opts=${opts// -l -r -e/} + opts=${opts// -i/} + opts=${opts// -s/} + ;; + -e) + opts=${opts// -l -r -e/} + opts=${opts// -i/} + ;; + -r) + opts=${opts// -l -r -e/} + ;; + -u) + opts=${opts// -u/} + opts=${opts// -i/} + ;; + -i|-s) + opts=${opts// ${COMP_WORDS[i]}/} + ;; + esac + done + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '$opts' -- "$cur" ) ) + return 0 + fi + + # do filenames only if we did not have -l, -r, or -e + [[ "${COMP_LINE}" == *\ -@(l|r|e)* ]] || _filedir +} && +complete -F _crontab crontab + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/cryptsetup b/bash_completion.d/cryptsetup new file mode 100644 index 0000000..5e88de3 --- /dev/null +++ b/bash_completion.d/cryptsetup @@ -0,0 +1,113 @@ +# bash completion for cryptsetup + +_cryptsetup_name() +{ + COMPREPLY=( $( compgen -X control -W '$( command ls /dev/mapper )' \ + -- "$cur" ) ) +} + +_cryptsetup_device() +{ + cur=${cur:=/dev/} + _filedir +} + +have cryptsetup && +_cryptsetup() +{ + local cur prev arg + COMPREPLY=() + cur=`_get_cword` + prev=`_get_pword` + + case $prev in + --key-file|--master-key-file|--header-backup-file|-d) + _filedir + return 0; + ;; + esac + + _get_first_arg + if [ -z $arg ]; then + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--hash --cipher --verify-passphrase \ + --key-file --master-key-file --key-slot --key-size --size \ + --offset --skip --readonly --iter-time --batch-mode --timeout \ + --tries --align-payload --version' -- "$cur" ) ) + else + COMPREPLY=( $( compgen -W 'create remove status resize luksFormat \ + luksOpen luksClose luksSuspend luksResume luksAddKey \ + luksRemoveKey luksKillSlot luksDelKey luksUUID isLuks \ + luksDump luksHeaderBackup luksHeaderRestore' -- "$cur" ) ) + fi + else + _count_args + case $arg in + create) + case $args in + 2) + _cryptsetup_name + ;; + 3) + _cryptsetup_device + ;; + esac + ;; + remove|status|resize|luksClose|luksSuspend|luksResume) + case $args in + 2) + _cryptsetup_name + ;; + esac + ;; + luksFormat|luksAddKey|luksRemoveKey) + case $args in + 2) + _cryptsetup_device + ;; + 3) + _filedir + ;; + esac + ;; + luksOpen) + case $args in + 2) + _cryptsetup_device + ;; + 3) + _cryptsetup_name + ;; + esac + ;; + luksKillSlot|luksDelKey|luksUUID|isLuks|luksDump) + case $args in + 2) + _cryptsetup_device + ;; + esac + ;; + luksHeaderBackup|luksHeaderRestore) + case $args in + 2) + _cryptsetup_device + ;; + 3) + COMPREPLY=( '--header-backup-file' ) + ;; + esac + ;; + esac + fi + + return 0 +} && +complete -F _cryptsetup cryptsetup + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/cups b/bash_completion.d/cups new file mode 100644 index 0000000..2848c95 --- /dev/null +++ b/bash_completion.d/cups @@ -0,0 +1,21 @@ +# bash completion for cups + +have cancel && +_cancel() +{ + local cur + + COMPREPLY=() + _get_comp_words_by_ref cur + + COMPREPLY=( $( compgen -W "$( lpstat | cut -d' ' -f1 )" -- "$cur" ) ) +} && +complete -F _cancel cancel + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/cvs b/bash_completion.d/cvs new file mode 100644 index 0000000..be3b1be --- /dev/null +++ b/bash_completion.d/cvs @@ -0,0 +1,392 @@ +# cvs(1) completion + +have cvs && { +set_prefix() +{ + [ -z ${prefix:-} ] || prefix=${cur%/*}/ + [ -r ${prefix:-}CVS/Entries ] || prefix="" +} + +get_entries() +{ + local IFS=$'\n' + [ -r ${prefix:-}CVS/Entries ] && \ + entries=$(cut -d/ -f2 -s ${prefix:-}CVS/Entries) +} + +get_modules() +{ + if [ -n "$prefix" ]; then + COMPREPLY=( $( command ls -d ${cvsroot}/${prefix}/!(CVSROOT) ) ) + else + COMPREPLY=( $( command ls -d ${cvsroot}/!(CVSROOT) ) ) + fi +} + +_cvs_commands() +{ + cvs --help-commands 2>&1 | awk '/^( *|\t)/ { print $1 }' +} + +_cvs_options() +{ + cvs --help-options 2>&1 | awk '/^( *|\t)-/ { print $1 }' +} + +_cvs_command_options() +{ + cvs --help $1 2>&1 | sed -ne 's/^[[:space:]]*\(-[^[:space:]=[]*\).*/\1/p' +} + +_cvs_kflags() +{ + COMPREPLY=( $( compgen -W 'kv kvl k o b v' -- "$cur" ) ) +} + +_cvs_roots() +{ + local -a cvsroots + cvsroots=( $CVSROOT ) + [ -r ~/.cvspass ] && \ + cvsroots=( "${cvsroots[@]}" $( awk '{ print $2 }' ~/.cvspass ) ) + [ -r CVS/Root ] && cvsroots=( "${cvsroots[@]}" $(cat CVS/Root) ) + COMPREPLY=( $( compgen -W '${cvsroots[@]}' -- "$cur" ) ) + __ltrim_colon_completions "$cur" +} + +_cvs() +{ + local cur prev count mode i cvsroot cvsroots pwd + local -a flags miss files entries changed newremoved + + COMPREPLY=() + _get_comp_words_by_ref -n : cur prev + + count=0 + for i in "${COMP_WORDS[@]}"; do + [ $count -eq $COMP_CWORD ] && break + # Last parameter was the CVSROOT, now go back to mode selection + if [[ "${COMP_WORDS[((count))]}" == "$cvsroot" && "$mode" == cvsroot ]]; then + mode="" + fi + if [ -z "$mode" ]; then + case $i in + -H|--help) + COMPREPLY=( $( compgen -W "$( _cvs_commands )" -- "$cur" ) ) + return 0 + ;; + -d) + mode=cvsroot + cvsroot=${COMP_WORDS[((count+1))]} + ;; + ad|add|new) + mode=add + ;; + adm|admin|rcs) + mode=admin + ;; + ann|annotate) + mode=annotate + ;; + checkout|co|get) + mode=checkout + ;; + com|commit|ci) + mode=commit + ;; + di|dif|diff) + mode=diff + ;; + ex|exp|export) + mode=export + ;; + edit|unedit) + mode=$i + ;; + hi|his|history) + mode=history + ;; + im|imp|import) + mode=import + ;; + re|rel|release) + mode=release + ;; + log|rlog) + mode=log + ;; + rdiff|patch) + mode=rdiff + ;; + remove|rm|delete) + mode=remove + ;; + rtag|rfreeze) + mode=rtag + ;; + st|stat|status) + mode=status + ;; + tag|freeze) + mode=tag + ;; + up|upd|update) + mode=update + ;; + esac + elif [[ "$i" = -* ]]; then + flags=( "${flags[@]}" $i ) + fi + count=$((++count)) + done + + case $mode in + add) + case $prev in + -m) + return 0 + ;; + -k) + _cvs_kflags + return 0 + ;; + esac + + if [[ "$cur" != -* ]]; then + set_prefix + if [[ $COMP_CWORD -gt 1 && -r ${prefix:-}CVS/Entries ]]; then + get_entries + [ -z "$cur" ] && \ + files=$( command ls -Ad !(CVS) ) || \ + files=$( command ls -d ${cur}* 2>/dev/null ) + for i in "${entries[@]}"; do + files=( ${files[@]/#$i//} ) + done + COMPREPLY=( $( compgen -X '*~' -W '${files[@]}' -- $cur ) ) + fi + else + COMPREPLY=( $( compgen -W "$( _cvs_command_options $mode )" \ + -- "$cur" ) ) + fi + ;; + admin) + case $prev in + -a|-A|-b|-c|-e|-l|-m|-n|-N|-o|-s|-t-|-u) + return 0 + ;; + -t) + _filedir + return 0 + ;; + -k) + _cvs_kflags + return 0 + ;; + esac + + if [[ "$cur" = -* ]]; then + COMPREPLY=( $( compgen -W "$( _cvs_command_options $mode )" \ + -- "$cur" ) ) + fi + ;; + annotate) + [[ "$prev" == -@(r|D) ]] && return 0 + + if [[ "$cur" = -* ]]; then + COMPREPLY=( $( compgen -W "$( _cvs_command_options $mode )" \ + -- "$cur" ) ) + else + get_entries + COMPREPLY=( $( compgen -W '${entries[@]}' -- "$cur" ) ) + fi + ;; + checkout) + case $prev in + -r|-D|j) + return 0 + ;; + -d) + _filedir -d + return 0 + ;; + -k) + _cvs_kflags + return 0 + ;; + esac + + if [[ "$cur" != -* ]]; then + [ -z "$cvsroot" ] && cvsroot=$CVSROOT + COMPREPLY=( $( cvs -d "$cvsroot" co -c 2> /dev/null | \ + awk '{print $1}' ) ) + COMPREPLY=( $( compgen -W '${COMPREPLY[@]}' -- "$cur" ) ) + else + COMPREPLY=( $( compgen -W "$( _cvs_command_options $mode )" \ + -- "$cur" ) ) + fi + ;; + commit) + case $prev in + -m|-r) + return 0 + ;; + -F) + _filedir + return 0 + ;; + esac + + set_prefix + + if [[ "$cur" != -* && -r ${prefix:-}CVS/Entries ]]; then + # if $COMP_CVS_REMOTE is not null, 'cvs commit' will + # complete on remotely checked-out files (requires + # passwordless access to the remote repository + if [ -n "${COMP_CVS_REMOTE:-}" ]; then + # this is the least computationally intensive + # way found so far, but other changes + # (something other than changed/removed/new) + # may be missing + changed=( $( cvs -q diff --brief 2>&1 | \ + sed -ne 's/^Files [^ ]* and \([^ ]*\) differ$/\1/p' ) ) + newremoved=( $( cvs -q diff --brief 2>&1 | \ + sed -ne 's/^cvs diff: \([^ ]*\) .*, no comparison available$/\1/p' ) ) + COMPREPLY=( $( compgen -W '${changed[@]:-} \ + ${newremoved[@]:-}' -- "$cur" ) ) + else + COMPREPLY=( $(compgen -o default -- "$cur") ) + fi + else + COMPREPLY=( $( compgen -W "$( _cvs_command_options $mode )" \ + -- "$cur" ) ) + fi + ;; + cvsroot) + # TODO: works poorly because of the colons and -o default, + # could we drop -o default? works ok without it in cvsps + _cvs_roots + ;; + export) + case $prev in + -r|-D) + return 0 + ;; + -d) + _filedir -d + return 0 + ;; + -k) + _cvs_kflags + return 0 + ;; + esac + + if [[ "$cur" != -* ]]; then + [ -z "$cvsroot" ] && cvsroot=$CVSROOT + COMPREPLY=( $( cvs -d "$cvsroot" co -c | awk '{print $1}' ) ) + COMPREPLY=( $( compgen -W '${COMPREPLY[@]}' -- "$cur" ) ) + else + COMPREPLY=( $( compgen -W "$( _cvs_command_options $mode )" \ + -- "$cur" ) ) + fi + ;; + diff) + if [[ "$cur" == -* ]]; then + _longopt diff + else + get_entries + COMPREPLY=( $( compgen -W '${entries[@]:-}' -- "$cur" ) ) + fi + ;; + remove) + if [[ "$cur" != -* ]]; then + set_prefix + if [[ $COMP_CWORD -gt 1 && -r ${prefix:-}CVS/Entries ]]; then + get_entries + # find out what files are missing + for i in "${entries[@]}"; do + [ ! -r "$i" ] && miss=( "${miss[@]}" $i ) + done + COMPREPLY=( $(compgen -W '${miss[@]:-}' -- "$cur") ) + fi + else + COMPREPLY=( $( compgen -W "$( _cvs_command_options $mode )" \ + -- "$cur" ) ) + fi + ;; + import) + case $prev in + -I|-b|-m|-W) + return 0 + ;; + -k) + _cvs_kflags + return 0 + ;; + esac + + if [[ "$cur" != -* ]]; then + # starts with same algorithm as checkout + [ -z "$cvsroot" ] && cvsroot=$CVSROOT + prefix=${cur%/*} + if [ -r ${cvsroot}/${prefix} ]; then + get_modules + COMPREPLY=( ${COMPREPLY[@]#$cvsroot} ) + COMPREPLY=( ${COMPREPLY[@]#\/} ) + fi + pwd=$( pwd ) + pwd=${pwd##*/} + COMPREPLY=( $( compgen -W '${COMPREPLY[@]} $pwd' -- $cur ) ) + else + COMPREPLY=( $( compgen -W "$( _cvs_command_options $mode )" \ + -- "$cur" ) ) + fi + ;; + update) + case $prev in + -r|-D|-j|-I|-W) + return 0 + ;; + -k) + _cvs_kflags + return 0 + ;; + esac + + if [[ "$cur" = -* ]]; then + COMPREPLY=( $( compgen -W "$( _cvs_command_options $mode )" \ + -- "$cur" ) ) + fi + ;; + "") + case $prev in + -T) + _filedir -d + return 0 + ;; + -e|-s) + return 0 + ;; + -z) + COMPREPLY=( $( compgen -W '1 2 3 4 5 6 7 8 9' -- "$cur" ) ) + return 0 + ;; + esac + + COMPREPLY=( $( compgen -W '$( _cvs_commands ) $( _cvs_options ) \ + --help --help-commands --help-options --version' -- "$cur" ) ) + ;; + esac + + return 0 +} +complete -F _cvs -o default cvs +} + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/cvsps b/bash_completion.d/cvsps new file mode 100644 index 0000000..257437b --- /dev/null +++ b/bash_completion.d/cvsps @@ -0,0 +1,69 @@ +# bash completion for cvsps + +have cvsps && +_cvsps() +{ + COMPREPLY=() + local cur prev + _get_comp_words_by_ref -n : cur prev + + case $prev in + -h|-z|-f|-d|-l|--diff-opts|--debuglvl) + return 0 + ;; + -s) + COMPREPLY=( $( compgen -W "$( cvsps 2>/dev/null | + awk '/^PatchSet:?[ \t]/ { print $2 }' )" -- "$cur" ) ) + return 0 + ;; + -a) + COMPREPLY=( $( compgen -W "$( cvsps 2>/dev/null | + awk '/^Author:[ \t]/ { print $2 }' )" -- "$cur" ) ) + return 0 + ;; + -b) + COMPREPLY=( $( compgen -W "$( cvsps 2>/dev/null | + awk '/^Branch:[ \t]/ { print $2 }' )" -- "$cur" ) ) + return 0 + ;; + -r) + COMPREPLY=( $( compgen -W "$( cvsps 2>/dev/null | + awk '/^Tag:[ \t]+[^(]/ { print $2 }' )" -- "$cur" ) ) + return 0 + ;; + -p) + _filedir -d + return 0 + ;; + --test-log) + _filedir + return 0 + ;; + -Z) + COMPREPLY=( $( compgen -W '1 2 3 4 5 6 7 8 9' -- "$cur" ) ) + return 0 + ;; + --root) + type _cvs_roots &>/dev/null && _cvs_roots + return 0 + ;; + esac + + if [[ "$cur" == -* ]] ; then + COMPREPLY=( $( compgen -W '-h -x -u -z -g -s -a -f -d -b -l -r -p -v \ + -t --norc --summary-first --test-log --diff-opts --bkcvs --no-rlog \ + --cvs-direct --no-cvs-direct --debuglvl -Z --root -q -A' \ + -- "$cur" ) ) + else + type _cvs_roots &>/dev/null && _cvs_roots + fi +} && +complete -F _cvsps cvsps + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/dd b/bash_completion.d/dd new file mode 100644 index 0000000..7b9b3ac --- /dev/null +++ b/bash_completion.d/dd @@ -0,0 +1,39 @@ +# bash completion for dd + +have dd && +_dd() +{ + local cur + + COMPREPLY=() + _get_comp_words_by_ref -n = cur + + case $cur in + if=*|of=*) + cur=${cur#*=} + _filedir + return 0 + ;; + conv=*) + cur=${cur#*=} + COMPREPLY=( $( compgen -W 'ascii ebcdic ibm block unblock lcase + notrunc ucase swab noerror sync' -- "$cur" ) ) + return 0 + ;; + esac + + _expand || return 0 + + COMPREPLY=( $( compgen -W '--help --version' -- "$cur" ) \ + $( compgen -W 'bs cbs conv count ibs if obs of seek skip' \ + -S '=' -- "$cur" ) ) +} && +complete -F _dd -o nospace dd + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/debconf b/bash_completion.d/debconf new file mode 100644 index 0000000..1880689 --- /dev/null +++ b/bash_completion.d/debconf @@ -0,0 +1,12 @@ +have debconf-show && +_debconf_show() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + COMPREPLY=($( compgen -W '--listowners --listdbs --db=' -- $cur ) \ + $( apt-cache pkgnames -- $cur ) ) +} +complete -F _debconf_show debconf-show + diff --git a/bash_completion.d/dhclient b/bash_completion.d/dhclient new file mode 100644 index 0000000..3d7e1e1 --- /dev/null +++ b/bash_completion.d/dhclient @@ -0,0 +1,36 @@ +# bash completion for dhclient + +have dhclient && _dhclient() +{ + local cur prev + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + case $prev in + -cf|-lf|-pf|-sf) + _filedir + return 0 + ;; + -s) + _known_hosts_real "$cur" + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-p -d -q -1 -r -lf -pf \ + -cf -sf -s -g -n -nw -w' -- "$cur" ) ) + else + _available_interfaces + fi +} && +complete -F _dhclient dhclient + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/dict b/bash_completion.d/dict new file mode 100644 index 0000000..4cfdf98 --- /dev/null +++ b/bash_completion.d/dict @@ -0,0 +1,77 @@ +# dict(1) completion + +{ have dict || have rdict; } && { +_dictdata() +{ + dict $host $port $1 2>/dev/null | sed -ne \ + 's/^['$'\t '']['$'\t '']*\([^'$'\t '']*\).*$/\1/p' +} + +_dict() +{ + local cur prev host port db dictfile + + COMPREPLY=() + _get_comp_words_by_ref cur prev + dictfile=/usr/share/dict/words + + for (( i=1; i < COMP_CWORD; i++ )); do + case ${COMP_WORDS[i]} in + -h|--host) + host=${COMP_WORDS[i+1]} + [ -n "$host" ] && host="-h $host" + i=$((++i)) + ;; + -p|--port) + port=${COMP_WORDS[i+1]} + [ -n "$port" ] && port="-p $port" + i=$((++i)) + ;; + -d|--database) + db=${COMP_WORDS[i+1]} + [ -n "$db" ] && host="-d $db" + i=$((++i)) + ;; + *) + ;; + esac + done + + if [[ "$cur" = -* ]]; then + COMPREPLY=( $( compgen -W '--host --port --database \ + --match --strategy --config \ + --nocorrect --dbs --strats \ + --serverhelp --info --serverinfo \ + --noauth --user --key --version \ + --license --help --verbose --raw \ + --pager --debug --html --pipesize --client' \ + -- "$cur" ) ) + return 0 + fi + + case $prev in + -d|--database|-i|-info) + COMPREPLY=( $( compgen -W '$( _dictdata -D )' -- "$cur" ) ) + return 0 + ;; + -s|--strategy) + COMPREPLY=( $( compgen -W '$( _dictdata -S )' -- "$cur" ) ) + return 0 + ;; + *) + ;; + esac + + [ -r $dictfile ] && \ + COMPREPLY=( $( compgen -W '$( cat $dictfile )' -- "$cur" ) ) +} +complete -F _dict -o default dict rdict +} + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/dpkg b/bash_completion.d/dpkg new file mode 100644 index 0000000..0556f3d --- /dev/null +++ b/bash_completion.d/dpkg @@ -0,0 +1,244 @@ +# This function is required by _dpkg() and _dpkg-reconfigure() +have dpkg && { +have grep-status && { +_comp_dpkg_installed_packages() +{ + grep-status -P -e "^$1" -a -FStatus 'install ok installed' -n -s Package +} +} || { +_comp_dpkg_installed_packages() +{ + command grep -A 1 "Package: $1" /var/lib/dpkg/status | \ + command grep -B 1 -Ee "ok installed|half-installed|unpacked| \ + half-configured|config-files" \ + -Ee "^Essential: yes" | \ + command grep "Package: $1" | cut -d\ -f2 +} +} + +# Debian dpkg(8) completion +# +_dpkg() +{ + local cur prev i + + COMPREPLY=() + _get_comp_words_by_ref cur prev + i=$COMP_CWORD + + _expand || return 0 + + _split_longopt + + # find the last option flag + if [[ $cur != -* ]]; then + while [[ $prev != -* && $i != 1 ]]; do + i=$((i-1)) + prev=${COMP_WORDS[i-1]} + done + fi + + case $prev in + -c|-i|-A|-I|-f|-e|-x|-X|-W|--install|--unpack|--record-avail| \ + --contents|--info|--fsys-tarfile|--field|--control|--extract| \ + --show) + _filedir '?(u)deb' + return 0 + ;; + -b|--build) + _filedir -d + return 0 + ;; + -s|-p|-l|--status|--print-avail|--list) + COMPREPLY=( $( apt-cache pkgnames "$cur" 2>/dev/null ) ) + return 0 + ;; + -S|--search) + _filedir + return 0 + ;; + -r|-L|-P|--remove|--purge|--listfiles) + COMPREPLY=( $( _comp_dpkg_installed_packages "$cur" ) ) + return 0 + ;; + *) + COMPREPLY=( $( compgen -W '-i --install --unpack -A --record-avail \ + --configure -r --remove -P --purge --get-selections \ + --set-selections --update-avail --merge-avail \ + --clear-avail --command-fd --forget-old-unavail -s \ + --status -p --print-avail -L --listfiles -l --list \ + -S --search -C --audit --print-architecture \ + --print-gnu-build-architecture \ + --print-installation-architecture \ + --compare-versions --help --version --force-help \ + --force-all --force-auto-select --force-downgrade \ + --force-configure-any --force-hold --force-bad-path \ + --force-not-root --force-overwrite \ + --force-overwrite-diverted --force-bad-verify \ + --force-depends-version --force-depends \ + --force-confnew --force-confold --force-confdef \ + --force-confmiss --force-conflicts --force-architecture\ + --force-overwrite-dir --force-remove-reinstreq \ + --force-remove-essential -Dh \ + --debug=help --licence --admindir --root --instdir \ + -O --selected-only -E --skip-same-version \ + -G --refuse-downgrade -B --auto-deconfigure \ + --no-debsig --no-act -D --debug --status-fd \ + -b --build -I --info -f --field -c --contents \ + -x --extract -X --vextract --fsys-tarfile -e --control \ + --ignore-depends --abort-after' -- "$cur" ) ) + ;; + esac + + +} +complete -F _dpkg dpkg dpkg-deb +} + +# Debian GNU dpkg-reconfigure(8) completion +# +have dpkg-reconfigure && +_dpkg_reconfigure() +{ + local cur prev opt + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + case $prev in + -f|--frontend) + opt=( $( printf '%s\n' /usr/share/perl5/Debconf/FrontEnd/* ) ) + opt=( ${opt[@]##*/} ) + opt=( ${opt[@]%.pm} ) + COMPREPLY=( $( compgen -W '${opt[@]}' -- "$cur" ) ) + return 0 + ;; + -p|--priority) + COMPREPLY=( $( compgen -W 'low medium high critical' -- "$cur" ) ) + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $(compgen -W '--frontend --priority --all --unseen-only \ + --help --showold --force --terse' -- "$cur" ) ) + else + COMPREPLY=( $( _comp_dpkg_installed_packages "$cur" ) ) + fi +} && +complete -F _dpkg_reconfigure -o default dpkg-reconfigure + +# Debian dpkg-source completion +# +have dpkg-source && +_dpkg_source() +{ + local cur prev options work i action packopts unpackopts fields + + packopts="-c -l -F -V -T -D -U -W -E -sa -i -I -sk -sr -ss -sA -sK -sP \ + -sU -sR" + unpackopts="-sp -sn -su" + options="-x -b $packopts $unpackopts" + fields="Format Source Version Binary Maintainer Uploader Architecture \ + Standards-Version Build-Depends Files" + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + action="options" + for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do + if [[ ${COMP_WORDS[$i]} == "-x" ]]; then + action=unpack + elif [[ ${COMP_WORDS[$i]} == "-b" ]]; then + action=pack + elif [[ ${COMP_WORDS[$i]} == "-h" ]]; then + action=help + fi + done + + case $action in + unpack) + case $prev in + -x) + _filedir -d + _filedir 'dsc' + return 0 + ;; + *) + COMPREPLY=( $( compgen -W "$unpackopts" -- "$cur" ) ) + _filedir -d + _filedir + return 0 + ;; + esac + return 0 + ;; + pack) + case $prev in + -b) + _filedir -d + return 0 + ;; + -c|-l|-T|-i|-I) + # -c: get controlfile + # -l: get per-version info from this file + # -T: read variables here, not debian/substvars + # -i: filter out files to ignore diffs of. + # -I: filter out files when building tarballs. + # return directory names and file names + _filedir -d + _filedir + return 0 + ;; + -F) + # -F: force change log format + COMPREPLY=( $( command ls /usr/lib/dpkg/parsechangelog ) ) + return 0 + ;; + -V|-D) + # -V: set a substitution variable + # we don't know anything about possible variables or values + # so we don't try to suggest any completion. + COMPREPLY=() + return 0 + ;; + -D) + # -D: override or add a .dsc field and value + # if $cur doesn't contain a = yet, suggest variable names + if [[ "$cur" == *=* ]]; then + # $cur contains a "=" + COMPREPLY=() + return 0 + else + COMPREPLY=( $( compgen -W "$fields" -- "$cur" ) ) + return 0 + fi + ;; + -U) + # -U: remove a field + # Suggest possible fieldnames + COMPREPLY=( $( compgen -W "$fields" -- "$cur" ) ) + return 0 + ;; + *) + COMPREPLY=( $( compgen -W "$packopts $unpackopts" -- "$cur" ) ) + return 0 + ;; + esac + return 0 + ;; + *) + COMPREPLY=( $( compgen -W "$options" -- "$cur" ) ) + return 0 + ;; + esac +} && +complete -F _dpkg_source dpkg-source + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/dselect b/bash_completion.d/dselect new file mode 100644 index 0000000..3042a8d --- /dev/null +++ b/bash_completion.d/dselect @@ -0,0 +1,40 @@ +# Debian Linux dselect(8) completion. + +have dselect && +_dselect() +{ + local cur prev + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + case $prev in + --admindir) + _filedir -d + return 0 + ;; + -D|-debug) + _filedir + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--admindir --help --version --licence \ + --license --expert --debug' -- "$cur" ) ) + else + COMPREPLY=( $( compgen -W 'access update select install config \ + remove quit' -- "$cur" ) ) + fi + + return 0 +} && +complete -F _dselect dselect + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/dsniff b/bash_completion.d/dsniff new file mode 100644 index 0000000..1d3b303 --- /dev/null +++ b/bash_completion.d/dsniff @@ -0,0 +1,256 @@ +# dsniff util completion + +have arpspoof && +_arpspoof() +{ + local cur prev + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + case $prev in + -i) + _available_interfaces + return 0 + ;; + -t) + _known_hosts_real "$cur" + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-i -t' -- "$cur" ) ) + else + _known_hosts_real "$cur" + fi + +} && +complete -F _arpspoof arpspoof + +have dnsspoof && +_dnsspoof() +{ + local cur prev + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + case $prev in + -i) + _interfaces + return 0 + ;; + -f) + _filedir + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-i -f' -- "$cur" ) ) + fi + +} && +complete -F _dnsspoof dnsspoof + +have dsniff && +_dsniff() +{ + local cur prev + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + case $prev in + -r|-w|-f) + _filedir + return 0 + ;; + -i) + _interfaces + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-c -d -m -n -i -s -f -t -r -w' -- "$cur" ) ) + fi + +} && +complete -F _dsniff dsniff + +have filesnarf || have mailsnarf || have msgsnarf && +_snarf() +{ + local cur prev + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + case $prev in + -i) + _interfaces + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-i -v' -- "$cur" ) ) + fi + +} && +complete -F _snarf filesnarf mailsnarf msgsnarf + +have macof && +_macof() +{ + local cur prev + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + case $prev in + -i) + _interfaces + return 0 + ;; + esac + + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-i -s -d -e -x -y -n' -- "$cur" ) ) + fi + +} && +complete -F _macof macof + +have sshmitm && +_sshmitm() +{ + local cur + + COMPREPLY=() + _get_comp_words_by_ref cur + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-d -I -p' -- "$cur" ) ) + else + _known_hosts_real "$cur" + fi + +} && +complete -F _sshmitm sshmitm + +have sshow && +_sshow() +{ + local cur prev + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + case $prev in + -i) + _interfaces + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-d -i' -- "$cur" ) ) + fi + +} && +complete -F _sshow sshow + +have tcpkill && +_tcpkill() +{ + local cur prev + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + case $prev in + -i) + _interfaces + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-i -1 -2 -3 -4 -5 -6 -7 -8 -9' -- "$cur" ) ) + fi + +} && +complete -F _tcpkill tcpkill + +have tcpnice && +_tcpnice() +{ + local cur prev + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + case $prev in + -i) + _interfaces + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-A -I -M -i' -- "$cur" ) ) + fi + +} && +complete -F _tcpnice tcpnice + +have urlsnarf && +_urlsnarf() +{ + local cur prev + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + case $prev in + -i) + _interfaces + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-n -i -v' -- "$cur" ) ) + fi + +} && +complete -F _urlsnarf urlsnarf + +have webmitm && +_webmitm() +{ + local cur + + COMPREPLY=() + _get_comp_words_by_ref cur + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-d' -- "$cur" ) ) + else + _known_hosts_real "$cur" + fi + +} && +complete -F _webmitm webmitm + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/dvd+rw-tools b/bash_completion.d/dvd+rw-tools new file mode 100644 index 0000000..f37781e --- /dev/null +++ b/bash_completion.d/dvd+rw-tools @@ -0,0 +1,47 @@ +# dvd+rw-tools completions + +have growisofs && +_growisofs() +{ + COMPREPLY=() + local cur prev + _get_comp_words_by_ref cur prev + + case $prev in + -version|-speed) + return 0 + ;; + -Z|-M) + compopt -o nospace &>/dev/null + _dvd_devices + return 0 + ;; + /?(r)dev/*) + if [[ $cur == =* ]] ; then + # e.g. /dev/dvd=foo.iso, /dev/dvdrw=/dev/zero + cur="${cur#=}" + _filedir + return 0 + fi + ;; + esac + + if [[ "$cur" == -* ]]; then + # TODO: mkisofs options + COMPREPLY=( $( compgen -W '-dvd-compat -overburn -speed= -Z -M' \ + -- "$cur" ) ) + [[ ${COMPREPLY[@]} == *= ]] && compopt -o nospace &>/dev/null + return 0 + fi + + _filedir +} && +complete -F _growisofs growisofs + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/e2fsprogs b/bash_completion.d/e2fsprogs new file mode 100644 index 0000000..50ce788 --- /dev/null +++ b/bash_completion.d/e2fsprogs @@ -0,0 +1,180 @@ +# bash completion for e2fsprogs + +have badblocks && +_badblocks() +{ + COMPREPLY=() + local cur prev + _get_comp_words_by_ref cur prev + + case $prev in + -b|-c|-e|-d|-p|-t) + return 0 + ;; + -i|-o) + _filedir + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + # -w (dangerous) and -X (internal use) not here on purpose + COMPREPLY=( $( compgen -W '-b -c -e -d -f -i -n -o -p -s -t -v' \ + -- "$cur" ) ) + return 0 + fi + + cur=${cur:=/dev/} + _filedir +} && +complete -F _badblocks badblocks + + +have dumpe2fs && +_dumpe2fs() +{ + COMPREPLY=() + local cur prev + _get_comp_words_by_ref cur prev + + case $prev in + -o|-V) + return 0 + ;; + -i) + _filedir + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-b -o -f -h -i -x -V' -- "$cur" ) ) + return 0 + fi + + cur=${cur:=/dev/} + _filedir +} && +complete -F _dumpe2fs dumpe2fs + + +have e2freefrag && +_e2freefrag() +{ + COMPREPLY=() + local cur prev + _get_comp_words_by_ref cur prev + + case $prev in + -c|-h) + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-c -h' -- "$cur" ) ) + return 0 + fi + + cur=${cur:=/dev/} + _filedir +} && +complete -F _e2freefrag e2freefrag + + +have e2label && +_e2label() +{ + COMPREPLY=() + local cur cword + _get_comp_words_by_ref cur cword + + if [ $cword -eq 1 ]; then + cur=${cur:=/dev/} + _filedir + fi +} && +complete -F _e2label e2label + + +have filefrag && +_filefrag() +{ + COMPREPLY=() + local cur + _get_comp_words_by_ref cur + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-B -b -s -v -x' -- "$cur" ) ) + return 0 + fi + + _filedir +} && +complete -F _filefrag filefrag + + +have tune2fs && +_tune2fs() +{ + COMPREPLY=() + local cur prev + _get_comp_words_by_ref cur prev + + case $prev in + -c|-C|-E|-i|-J|-L|-m|-r|-T) + return 0 + ;; + -e) + COMPREPLY=( $( compgen -W 'continue remount-ro panic' -- "$cur" ) ) + return 0 + ;; + -g) + _gids + COMPREPLY=( $( compgen -g -W '${COMPREPLY[@]}' -- "$cur" ) ) + return 0 + ;; + -M) + _filedir -d + ;; + -o) + local -a opts=(^debug ^bsdgroups ^user_xattr ^acl ^uid16 + ^journal_data ^journal_data_ordered ^journal_data_writeback) + COMPREPLY=( $( compgen -W '${opts[@]} ${opts[@]#^}' -- "$cur" ) ) + return 0 + ;; + -O) + local -a opts=(^dir_index ^dir_nlink ^extent ^extra_isize ^filetype + ^flex_bg ^has_journal ^huge_file ^large_file ^resize_inode + ^sparse_super ^uninit_bg) + COMPREPLY=( $( compgen -W '${opts[@]} ${opts[@]#^}' -- "$cur" ) ) + return 0 + ;; + -u) + _uids + COMPREPLY=( $( compgen -u -W '${COMPREPLY[@]}' -- "$cur" ) ) + return 0 + ;; + -U) + COMPREPLY=( $( compgen -W 'clear random time' -- "$cur" ) ) + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-c -C -e -E -f -g -i -j -J -l -L -m -M -o + -O -r -T -u -U' -- "$cur" ) ) + fi + + cur=${cur:=/dev/} + _filedir +} && +complete -F _tune2fs tune2fs + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/findutils b/bash_completion.d/findutils new file mode 100644 index 0000000..b8aaa57 --- /dev/null +++ b/bash_completion.d/findutils @@ -0,0 +1,128 @@ +# bash completion for GNU find. This makes heavy use of ksh style extended +# globs and contains Linux specific code for completing the parameter +# to the -fstype option. + +have find && +_find() +{ + local cur prev i exprfound onlyonce + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + case $prev in + -maxdepth|-mindepth) + COMPREPLY=( $( compgen -W '0 1 2 3 4 5 6 7 8 9' -- "$cur" ) ) + return 0 + ;; + -newer|-anewer|-cnewer|-fls|-fprint|-fprint0|-fprintf|-name|-iname|\ + -lname|-ilname|-wholename|-iwholename|-samefile) + _filedir + return 0 + ;; + -fstype) + _fstypes + if [[ "$( uname -s )" == *BSD ]] ; then + COMPREPLY=( "${COMPREPLY[@]}" \ + $( compgen -W 'local rdonly' -- "$cur" ) ) + fi + return 0 + ;; + -gid) + _gids + return 0 + ;; + -group) + COMPREPLY=( $( compgen -g -- "$cur" 2>/dev/null) ) + return 0 + ;; + -xtype|-type) + COMPREPLY=( $( compgen -W 'b c d p f l s' -- "$cur" ) ) + return 0 + ;; + -uid) + _uids + return 0 + ;; + -user) + COMPREPLY=( $( compgen -u -- "$cur" ) ) + return 0 + ;; + -exec|-execdir|-ok|-okdir) + COMP_WORDS=(COMP_WORDS[0] "$cur") + COMP_CWORD=1 + _command + return 0 + ;; + -[acm]min|-[acm]time|-iname|-lname|-wholename|-iwholename|-lwholename|\ + -ilwholename|-inum|-path|-ipath|-regex|-iregex|-links|-perm|-size|\ + -used|-printf|-context) + # do nothing, just wait for a parameter to be given + return 0 + ;; + -regextype) + COMPREPLY=( $( compgen -W 'emacs posix-awk posix-basic \ + posix-egrep posix-extended' -- "$cur" ) ) + return 0 + ;; + esac + + _expand || return 0 + # set exprfound to 1 if there is already an expression present + for i in ${COMP_WORDS[@]}; do + [[ "$i" = [-\(\),\!]* ]] && exprfound=1 && break + done + + # handle case where first parameter is not a dash option + if [[ "$exprfound" != 1 && "$cur" != [-\(\),\!]* ]]; then + _filedir -d + return 0 + fi + + # complete using basic options + COMPREPLY=( $( compgen -W '-daystart -depth -follow -help \ + -ignore_readdir_race -maxdepth -mindepth -mindepth -mount \ + -noignore_readdir_race -noleaf -regextype -version -warn -nowarn \ + -xdev \ + -amin -anewer -atime -cmin -cnewer -ctime -empty -executable -false \ + -fstype -gid -group -ilname -iname -inum -ipath -iregex -iwholename \ + -links -lname -mmin -mtime -name -newer -nogroup -nouser -path -perm \ + -readable -regex -samefile -size -true -type -uid -used -user \ + -wholename -writable -xtype -context \ + -delete -exec -execdir -fls -fprint -fprint0 -fprintf -ls -ok -okdir \ + -print -print0 -printf -prune -quit' -- "$cur" ) ) + + # this removes any options from the list of completions that have + # already been specified somewhere on the command line, as long as + # these options can only be used once (in a word, "options", in + # opposition to "tests" and "actions", as in the find(1) manpage). + onlyonce=' -daystart -depth -follow -help -ignore_readdir_race -maxdepth \ + -mindepth -mount -noignore_readdir_race -noleaf -nowarn -regextype \ + -version -warn -xdev ' + COMPREPLY=( $( \ + (while read -d ' ' i; do + [[ -z "$i" || "${onlyonce/ ${i%% *} / }" == "$onlyonce" ]] && + continue + # flatten array with spaces on either side, + # otherwise we cannot grep on word boundaries of + # first and last word + COMPREPLY=" ${COMPREPLY[@]} " + # remove word from list of completions + COMPREPLY=( ${COMPREPLY/ ${i%% *} / } ) + done + printf '%s ' "${COMPREPLY[@]}") <<<"${COMP_WORDS[@]}" + ) ) + + _filedir + + return 0 +} && +complete -F _find find + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/freeciv b/bash_completion.d/freeciv new file mode 100644 index 0000000..602ad76 --- /dev/null +++ b/bash_completion.d/freeciv @@ -0,0 +1,65 @@ +# freeciv completions + +have civserver && +_civserver() +{ + local cur prev + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + case $prev in + -f|-g|-l|-r|--file|--log|--gamelog|--read) + _filedir + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-d -f -g -h -i -l -m -M -p -q -r -v\ + --debug --file --gamelog --help --info --log --meta \ + --Metaserver --port --quitidle --read --version' -- "$cur" ) ) + fi + +} && +complete -F _civserver civserver + +have civclient && +_civclient() +{ + local cur prev + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + case $prev in + -l|-S|-t|--log|--Sound|--tiles) + _filedir + return 0 + ;; + -P|--Plugin) + COMPREPLY=( $( compgen -W 'none esd sdl' -- "$cur" ) ) + return 0 + ;; + -s|--server) + _known_hosts_real "$cur" + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-a -d -h -l -m -n -p -P -s -S -t -v\ + --autoconnect --debug --help --log --meta --name --port \ + --Plugin --server --Sound --tiles --version' -- "$cur" ) ) + fi + +} && +complete -F _civclient civclient + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/freerdp b/bash_completion.d/freerdp new file mode 100644 index 0000000..82a4646 --- /dev/null +++ b/bash_completion.d/freerdp @@ -0,0 +1,47 @@ +# bash completion for xfreerdp + +have xfreerdp && +_xfreerdp() +{ + local cur prev + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + case $prev in + -k) + COMPREPLY=( $( compgen -W "$(xfreerdp --kbd-list | \ + awk '/^0x/ {print $1}')" -- "$cur" ) ) + return 0 + ;; + -a) + COMPREPLY=( $( compgen -W '8 15 16 24 32' -- "$cur" ) ) + return 0 + ;; + -x) + COMPREPLY=( $( compgen -W 'b broadband m modem l lan' -- $cur ) ) + return 0 + ;; + --plugin) + COMPREPLY=( $( compgen -W 'cliprdr rdpsnd rdpdr' -- "$cur" ) ) + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-u -d -s -c -p -n -t -g -a -z -f -x -O -o \ + -k --kbd-list -h --plugin --data' -- "$cur" ) ) + else + _known_hosts_real "$cur" + fi + +} && +complete -F _xfreerdp xfreerdp + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/fuse b/bash_completion.d/fuse new file mode 100644 index 0000000..58d0c51 --- /dev/null +++ b/bash_completion.d/fuse @@ -0,0 +1,36 @@ +# bash completion for fuse + +have fusermount && +_fusermount() +{ + COMPREPLY=() + local cur prev + _get_comp_words_by_ref cur prev + + case $prev in + -h|-V|-o) + return 0 + ;; + -u) + COMPREPLY=( $( compgen -W "$( awk \ + '{ if ($3 ~ /^fuse\./) print $2 }' /etc/mtab 2>/dev/null )" \ + -- "$cur" ) ) + return 0 + ;; + esac + + if [[ "$cur" == -* ]] ; then + COMPREPLY=( $( compgen -W '-h -V -o -u -q -z' -- "$cur" ) ) + else + _filedir -d + fi +} && +complete -F _fusermount fusermount + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/gcc b/bash_completion.d/gcc new file mode 100644 index 0000000..d78e3e2 --- /dev/null +++ b/bash_completion.d/gcc @@ -0,0 +1,59 @@ +# gcc(1) completion +# +# The only unusual feature is that we don't parse "gcc --help -v" output +# directly, because that would include the options of all the other backend +# tools (linker, assembler, preprocessor, etc) without any indication that +# you cannot feed such options to the gcc driver directly. (For example, the +# linker takes a -z option, but you must type -Wl,-z for gcc.) Instead, we +# ask the driver ("g++") for the name of the compiler ("cc1"), and parse the +# --help output of the compiler. + +have gcc && +_gcc() +{ + local cur cc backend + + COMPREPLY=() + _get_comp_words_by_ref cur + + _expand || return 0 + + case $1 in + gcj) + backend=jc1 + ;; + gpc) + backend=gpc1 + ;; + *77) + backend=f771 + ;; + *) + backend=cc1 # (near-)universal backend + ;; + esac + + if [[ "$cur" == -* ]]; then + cc=$( $1 -print-prog-name=$backend ) + # sink stderr: + # for C/C++/ObjectiveC it's useless + # for FORTRAN/Java it's an error + COMPREPLY=( $( compgen -W "$( $cc --help 2>/dev/null | \ + tr '\t' ' ' | \ + sed -e '/^ *-/!d' -e 's/ *-\([^ ]*\).*/-\1/' | \ + sort -u )" -- "$cur" ) ) + else + _filedir + fi +} && +complete -F _gcc gcc g++ c++ g77 gcj gpc +[ $USERLAND = GNU -o $UNAME = Cygwin ] && \ +[ -n "${have:-}" ] && complete -F _gcc cc + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/gcl b/bash_completion.d/gcl new file mode 100644 index 0000000..e093153 --- /dev/null +++ b/bash_completion.d/gcl @@ -0,0 +1,30 @@ +# bash programmable completion for various Common Lisp implementations by +# Nikodemus Siivola + +have gcl && +_gcl() +{ + local cur + + COMPREPLY=() + _get_comp_words_by_ref cur + + # completing an option (may or may not be separated by a space) + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-eval -load -f -batch -dir -libdir \ + -compile -o-file -c-file -h-file -data-file -system-p '-- "$cur" ) ) + else + _filedir + fi + + return 0 +} && +complete -F _gcl -o default gcl + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/gdb b/bash_completion.d/gdb new file mode 100644 index 0000000..f0bc42d --- /dev/null +++ b/bash_completion.d/gdb @@ -0,0 +1,44 @@ +# bash completion for gdb + +have gdb && +_gdb() +{ + local cur prev + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + if [ $COMP_CWORD -eq 1 ]; then + local IFS + _compopt_o_filenames + if [[ "$cur" == */* ]]; then + # compgen -c works as expected if $cur contains any slashes. + IFS=$'\n' + COMPREPLY=( $( PATH="$PATH:." compgen -d -c -- "$cur" ) ) + else + # otherwise compgen -c contains Bash's built-in commands, + # functions and aliases. Thus we need to retrieve the program + # names manually. + IFS=":" + local path_array=( $( \ + sed -e 's/:\{2,\}/:/g' -e 's/^://' -e 's/:$//' <<<"$PATH" ) ) + IFS=$'\n' + COMPREPLY=( $( compgen -d -W '$(find "${path_array[@]}" . \ + -mindepth 1 -maxdepth 1 -not -type d -executable \ + -printf "%f\\n" 2>/dev/null)' -- "$cur" ) ) + fi + elif [ $COMP_CWORD -eq 2 ]; then + prev=${prev##*/} + COMPREPLY=( $( compgen -fW "$( command ps axo comm,pid | \ + awk '{if ($1 ~ /^'"$prev"'/) print $2}' )" -- "$cur" ) ) + fi +} && +complete -F _gdb -o default gdb + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/genisoimage b/bash_completion.d/genisoimage new file mode 100644 index 0000000..61b1811 --- /dev/null +++ b/bash_completion.d/genisoimage @@ -0,0 +1,77 @@ +# bash completion for mkisofs/genisoimage + +(have mkisofs || have genisoimage) && +_mkisofs() +{ + local cur prev + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + case $prev in + -o|-abstract|-biblio|-check-session|-copyright|-log-file| \ + -root-info|-prep-boot|-*-list) + _filedir + return 0 + ;; + -*-charset) + COMPREPLY=( $( compgen -W '$( mkisofs -input-charset \ + help 2>&1 | tail -n +3 )' -- "$cur" ) ) + return 0 + ;; + -uid) + _uids + return 0 + ;; + -gid) + _gids + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-abstract -appid -allow-lowercase \ + -allow-multidot -biblio -cache-inodes -no-cache-inodes \ + -eltorito-boot -eltorito-alt-boot -sparc-boot -generic-boot \ + -hard-disk-boot -no-emul-boot -no-boot -boot-load-seg \ + -boot-load-size -boot-info-table -cdrecord-params \ + -eltorito-catalog -check-oldname -check-session -copyright \ + -omit-period -disable-deep-relocation -dir-mode -dvd-video \ + -follow-links -file-mode -gid -gui -graft-points -hide -hide-list \ + -hidden -hidden-list -hide-joliet -hide-joliet-list \ + -hide-joliet-trans-tbl -hide-rr-moved -input-charset \ + -output-charset -iso-level -joliet -joliet-long -jcharset \ + -full-iso9660-filenames -allow-leading-dots -log-file -exclude \ + -exclude-list -max-iso9660-filenames -prev-session \ + -omit-version-number -new-dir-mode -nobak -no-bak -force-rr -no-rr \ + -no-split-symlink-components -no-split-symlink-fields -output -pad \ + -no-pad -path-list -publisher -preparer -print-size -quiet -rock + -rational-rock -relaxed-filenames -sort -split-output \ + -stream-media-size -stream-file-name -sysid -translation-table \ + -table-name -ucs-level -udf -uid -use-fileversion \ + -untranslated-filenames -no-iso-translate -volid -volset \ + -volset-size -volset-seqno -verbose -old-exclude \ + -transparent-compression -hfs -apple -map -magic -hfs-creator \ + -hfs-type -probe -no-desktop -mac-name \ + -boot-hfs-file -part -auto -cluster-size \ + -hide-hfs -hide-hfs-list -hfs-volid \ + -icon-position -root-info -prep-boot \ + -input-hfs-charset -output-hfs-charset \ + -hfs-unlock -hfs-bless -hfs-parms --cap \ + --netatalk --double --ethershare --ushare \ + --exchange --sgi --xinet --macbin --single \ + --dave --sfm --osx-double --osx-hfs' -- "$cur" )) + else + _filedir + fi + +} && +complete -F _mkisofs mkisofs genisoimage + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/getent b/bash_completion.d/getent new file mode 100644 index 0000000..54e62ab --- /dev/null +++ b/bash_completion.d/getent @@ -0,0 +1,55 @@ +# bash completion for getent + +have getent && +_getent() +{ + local cur prev + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + case $prev in + passwd) + COMPREPLY=( $( compgen -u "$cur" ) ) + return 0 + ;; + group) + COMPREPLY=( $( compgen -g "$cur" ) ) + return 0 + ;; + services) + COMPREPLY=( $( compgen -s "$cur" ) ) + return 0 + ;; + hosts) + COMPREPLY=( $( compgen -A hostname "$cur" ) ) + return 0 + ;; + protocols|networks|ahosts|ahostsv4|ahostsv6|rpc) + COMPREPLY=( $( compgen -W "$( getent "$prev" | \ + awk '{ print $1 }' )" -- "$cur" ) ) + return 0 + ;; + aliases|shadow) + COMPREPLY=( $( compgen -W "$( getent "$prev" | cut -d: -f1 )" \ + -- "$cur" ) ) + return 0 + ;; + esac + + + if [ $COMP_CWORD -eq 1 ]; then + COMPREPLY=( $( compgen -W 'passwd group hosts services protocols \ + networks ahosts ahostsv4 ahostsv6 aliases ethers netgroup rpc \ + shadow' -- "$cur" ) ) + fi +} && +complete -F _getent getent + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/bash_completion.d/git b/bash_completion.d/git new file mode 100644 index 0000000..a7d20df --- /dev/null +++ b/bash_completion.d/git @@ -0,0 +1,2834 @@ +#!bash +# +# bash completion support for core Git. +# +# Copyright (C) 2006,2007 Shawn O. Pearce +# Conceptually based on gitcompletion (http://gitweb.hawaga.org.uk/). +# Distributed under the GNU General Public License, version 2.0. +# +# The contained completion routines provide support for completing: +# +# *) local and remote branch names +# *) local and remote tag names +# *) .git/remotes file names +# *) git 'subcommands' +# *) tree paths within 'ref:path/to/file' expressions +# *) common --long-options +# +# To use these routines: +# +# 1) Copy this file to somewhere (e.g. ~/.git-completion.sh). +# 2) Added the following line to your .bashrc: +# source ~/.git-completion.sh +# +# Or, add the following lines to your .zshrc: +# autoload bashcompinit +# bashcompinit +# source ~/.git-completion.sh +# +# 3) Consider changing your PS1 to also show the current branch: +# PS1='[\u@\h \W$(__git_ps1 " (%s)")]\$ ' +# +# The argument to __git_ps1 will be displayed only if you +# are currently in a git repository. The %s token will be +# the name of the current branch. +# +# In addition, if you set GIT_PS1_SHOWDIRTYSTATE to a nonempty +# value, unstaged (*) and staged (+) changes will be shown next +# to the branch name. You can configure this per-repository +# with the bash.showDirtyState variable, which defaults to true +# once GIT_PS1_SHOWDIRTYSTATE is enabled. +# +# You can also see if currently something is stashed, by setting +# GIT_PS1_SHOWSTASHSTATE to a nonempty value. If something is stashed, +# then a '$' will be shown next to the branch name. +# +# If you would like to see if there're untracked files, then you can +# set GIT_PS1_SHOWUNTRACKEDFILES to a nonempty value. If there're +# untracked files, then a '%' will be shown next to the branch name. +# +# If you would like to see the difference between HEAD and its +# upstream, set GIT_PS1_SHOWUPSTREAM="auto". A "<" indicates +# you are behind, ">" indicates you are ahead, and "<>" +# indicates you have diverged. You can further control +# behaviour by setting GIT_PS1_SHOWUPSTREAM to a space-separated +# list of values: +# verbose show number of commits ahead/behind (+/-) upstream +# legacy don't use the '--count' option available in recent +# versions of git-rev-list +# git always compare HEAD to @{upstream} +# svn always compare HEAD to your SVN upstream +# By default, __git_ps1 will compare HEAD to your SVN upstream +# if it can find one, or @{upstream} otherwise. Once you have +# set GIT_PS1_SHOWUPSTREAM, you can override it on a +# per-repository basis by setting the bash.showUpstream config +# variable. +# +# +# To submit patches: +# +# *) Read Documentation/SubmittingPatches +# *) Send all patches to the current maintainer: +# +# "Shawn O. Pearce" +# +# *) Always CC the Git mailing list: +# +# git@vger.kernel.org +# + +case "$COMP_WORDBREAKS" in +*:*) : great ;; +*) COMP_WORDBREAKS="$COMP_WORDBREAKS:" +esac + +# __gitdir accepts 0 or 1 arguments (i.e., location) +# returns location of .git repo +__gitdir () +{ + if [ -z "${1-}" ]; then + if [ -n "${__git_dir-}" ]; then + echo "$__git_dir" + elif [ -d .git ]; then + echo .git + else + git rev-parse --git-dir 2>/dev/null + fi + elif [ -d "$1/.git" ]; then + echo "$1/.git" + else + echo "$1" + fi +} + +# stores the divergence from upstream in $p +# used by GIT_PS1_SHOWUPSTREAM +__git_ps1_show_upstream () +{ + local key value + local svn_remote=() svn_url_pattern count n + local upstream=git legacy="" verbose="" + + # get some config options from git-config + while read key value; do + case "$key" in + bash.showupstream) + GIT_PS1_SHOWUPSTREAM="$value" + if [[ -z "${GIT_PS1_SHOWUPSTREAM}" ]]; then + p="" + return + fi + ;; + svn-remote.*.url) + svn_remote[ $((${#svn_remote[@]} + 1)) ]="$value" + svn_url_pattern+="\\|$value" + upstream=svn+git # default upstream is SVN if available, else git + ;; + esac + done < <(git config -z --get-regexp '^(svn-remote\..*\.url|bash\.showupstream)$' 2>/dev/null | tr '\0\n' '\n ') + + # parse configuration values + for option in ${GIT_PS1_SHOWUPSTREAM}; do + case "$option" in + git|svn) upstream="$option" ;; + verbose) verbose=1 ;; + legacy) legacy=1 ;; + esac + done + + # Find our upstream + case "$upstream" in + git) upstream="@{upstream}" ;; + svn*) + # get the upstream from the "git-svn-id: ..." in a commit message + # (git-svn uses essentially the same procedure internally) + local svn_upstream=($(git log --first-parent -1 \ + --grep="^git-svn-id: \(${svn_url_pattern#??}\)" 2>/dev/null)) + if [[ 0 -ne ${#svn_upstream[@]} ]]; then + svn_upstream=${svn_upstream[ ${#svn_upstream[@]} - 2 ]} + svn_upstream=${svn_upstream%@*} + local n_stop="${#svn_remote[@]}" + for ((n=1; n <= n_stop; ++n)); do + svn_upstream=${svn_upstream#${svn_remote[$n]}} + done + + if [[ -z "$svn_upstream" ]]; then + # default branch name for checkouts with no layout: + upstream=${GIT_SVN_ID:-git-svn} + else + upstream=${svn_upstream#/} + fi + elif [[ "svn+git" = "$upstream" ]]; then + upstream="@{upstream}" + fi + ;; + esac + + # Find how many commits we are ahead/behind our upstream + if [[ -z "$legacy" ]]; then + count="$(git rev-list --count --left-right \ + "$upstream"...HEAD 2>/dev/null)" + else + # produce equivalent output to --count for older versions of git + local commits + if commits="$(git rev-list --left-right "$upstream"...HEAD 2>/dev/null)" + then + local commit behind=0 ahead=0 + for commit in $commits + do + case "$commit" in + "<"*) let ++behind + ;; + *) let ++ahead + ;; + esac + done + count="$behind $ahead" + else + count="" + fi + fi + + # calculate the result + if [[ -z "$verbose" ]]; then + case "$count" in + "") # no upstream + p="" ;; + "0 0") # equal to upstream + p="=" ;; + "0 "*) # ahead of upstream + p=">" ;; + *" 0") # behind upstream + p="<" ;; + *) # diverged from upstream + p="<>" ;; + esac + else + case "$count" in + "") # no upstream + p="" ;; + "0 0") # equal to upstream + p=" u=" ;; + "0 "*) # ahead of upstream + p=" u+${count#0 }" ;; + *" 0") # behind upstream + p=" u-${count% 0}" ;; + *) # diverged from upstream + p=" u+${count#* }-${count% *}" ;; + esac + fi + +} + + +# __git_ps1 accepts 0 or 1 arguments (i.e., format string) +# returns text to add to bash PS1 prompt (includes branch name) +__git_ps1 () +{ + local g="$(__gitdir)" + if [ -n "$g" ]; then + local r="" + local b="" + if [ -f "$g/rebase-merge/interactive" ]; then + r="|REBASE-i" + b="$(cat "$g/rebase-merge/head-name")" + elif [ -d "$g/rebase-merge" ]; then + r="|REBASE-m" + b="$(cat "$g/rebase-merge/head-name")" + else + if [ -d "$g/rebase-apply" ]; then + if [ -f "$g/rebase-apply/rebasing" ]; then + r="|REBASE" + elif [ -f "$g/rebase-apply/applying" ]; then + r="|AM" + else + r="|AM/REBASE" + fi + elif [ -f "$g/MERGE_HEAD" ]; then + r="|MERGING" + elif [ -f "$g/CHERRY_PICK_HEAD" ]; then + r="|CHERRY-PICKING" + elif [ -f "$g/BISECT_LOG" ]; then + r="|BISECTING" + fi + + b="$(git symbolic-ref HEAD 2>/dev/null)" || { + + b="$( + case "${GIT_PS1_DESCRIBE_STYLE-}" in + (contains) + git describe --contains HEAD ;; + (branch) + git describe --contains --all HEAD ;; + (describe) + git describe HEAD ;; + (* | default) + git describe --tags --exact-match HEAD ;; + esac 2>/dev/null)" || + + b="$(cut -c1-7 "$g/HEAD" 2>/dev/null)..." || + b="unknown" + b="($b)" + } + fi + + local w="" + local i="" + local s="" + local u="" + local c="" + local p="" + + if [ "true" = "$(git rev-parse --is-inside-git-dir 2>/dev/null)" ]; then + if [ "true" = "$(git rev-parse --is-bare-repository 2>/dev/null)" ]; then + c="BARE:" + else + b="GIT_DIR!" + fi + elif [ "true" = "$(git rev-parse --is-inside-work-tree 2>/dev/null)" ]; then + if [ -n "${GIT_PS1_SHOWDIRTYSTATE-}" ]; then + if [ "$(git config --bool bash.showDirtyState)" != "false" ]; then + git diff --no-ext-diff --quiet --exit-code || w="*" + if git rev-parse --quiet --verify HEAD >/dev/null; then + git diff-index --cached --quiet HEAD -- || i="+" + else + i="#" + fi + fi + fi + if [ -n "${GIT_PS1_SHOWSTASHSTATE-}" ]; then + git rev-parse --verify refs/stash >/dev/null 2>&1 && s="$" + fi + + if [ -n "${GIT_PS1_SHOWUNTRACKEDFILES-}" ]; then + if [ -n "$(git ls-files --others --exclude-standard)" ]; then + u="%" + fi + fi + + if [ -n "${GIT_PS1_SHOWUPSTREAM-}" ]; then + __git_ps1_show_upstream + fi + fi + + local f="$w$i$s$u" + printf "${1:- (%s)}" "$c${b##refs/heads/}${f:+ $f}$r$p" + fi +} + +# __gitcomp_1 requires 2 arguments +__gitcomp_1 () +{ + local c IFS=' '$'\t'$'\n' + for c in $1; do + case "$c$2" in + --*=*) printf %s$'\n' "$c$2" ;; + *.) printf %s$'\n' "$c$2" ;; + *) printf %s$'\n' "$c$2 " ;; + esac + done +} + +# The following function is based on code from: +# +# bash_completion - programmable completion functions for bash 3.2+ +# +# Copyright © 2006-2008, Ian Macdonald +# © 2009-2010, Bash Completion Maintainers +# +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# The latest version of this software can be obtained here: +# +# http://bash-completion.alioth.debian.org/ +# +# RELEASE: 2.x + +# This function can be used to access a tokenized list of words +# on the command line: +# +# __git_reassemble_comp_words_by_ref '=:' +# if test "${words_[cword_-1]}" = -w +# then +# ... +# fi +# +# The argument should be a collection of characters from the list of +# word completion separators (COMP_WORDBREAKS) to treat as ordinary +# characters. +# +# This is roughly equivalent to going back in time and setting +# COMP_WORDBREAKS to exclude those characters. The intent is to +# make option types like --date= and : easy to +# recognize by treating each shell word as a single token. +# +# It is best not to set COMP_WORDBREAKS directly because the value is +# shared with other completion scripts. By the time the completion +# function gets called, COMP_WORDS has already been populated so local +# changes to COMP_WORDBREAKS have no effect. +# +# Output: words_, cword_, cur_. + +__git_reassemble_comp_words_by_ref() +{ + local exclude i j first + # Which word separators to exclude? + exclude="${1//[^$COMP_WORDBREAKS]}" + cword_=$COMP_CWORD + if [ -z "$exclude" ]; then + words_=("${COMP_WORDS[@]}") + return + fi + # List of word completion separators has shrunk; + # re-assemble words to complete. + for ((i=0, j=0; i < ${#COMP_WORDS[@]}; i++, j++)); do + # Append each nonempty word consisting of just + # word separator characters to the current word. + first=t + while + [ $i -gt 0 ] && + [ -n "${COMP_WORDS[$i]}" ] && + # word consists of excluded word separators + [ "${COMP_WORDS[$i]//[^$exclude]}" = "${COMP_WORDS[$i]}" ] + do + # Attach to the previous token, + # unless the previous token is the command name. + if [ $j -ge 2 ] && [ -n "$first" ]; then + ((j--)) + fi + first= + words_[$j]=${words_[j]}${COMP_WORDS[i]} + if [ $i = $COMP_CWORD ]; then + cword_=$j + fi + if (($i < ${#COMP_WORDS[@]} - 1)); then + ((i++)) + else + # Done. + return + fi + done + words_[$j]=${words_[j]}${COMP_WORDS[i]} + if [ $i = $COMP_CWORD ]; then + cword_=$j + fi + done +} + +if ! type _get_comp_words_by_ref >/dev/null 2>&1; then +if [[ -z ${ZSH_VERSION:+set} ]]; then +_get_comp_words_by_ref () +{ + local exclude cur_ words_ cword_ + if [ "$1" = "-n" ]; then + exclude=$2 + shift 2 + fi + __git_reassemble_comp_words_by_ref "$exclude" + cur_=${words_[cword_]} + while [ $# -gt 0 ]; do + case "$1" in + cur) + cur=$cur_ + ;; + prev) + prev=${words_[$cword_-1]} + ;; + words) + words=("${words_[@]}") + ;; + cword) + cword=$cword_ + ;; + esac + shift + done +} +else +_get_comp_words_by_ref () +{ + while [ $# -gt 0 ]; do + case "$1" in + cur) + cur=${COMP_WORDS[COMP_CWORD]} + ;; + prev) + prev=${COMP_WORDS[COMP_CWORD-1]} + ;; + words) + words=("${COMP_WORDS[@]}") + ;; + cword) + cword=$COMP_CWORD + ;; + -n) + # assume COMP_WORDBREAKS is already set sanely + shift + ;; + esac + shift + done +} +fi +fi + +# __gitcomp accepts 1, 2, 3, or 4 arguments +# generates completion reply with compgen +__gitcomp () +{ + local cur + _get_comp_words_by_ref -n =: cur + if [ $# -gt 2 ]; then + cur="$3" + fi + case "$cur" in + --*=) + COMPREPLY=() + ;; + *) + local IFS=$'\n' + COMPREPLY=($(compgen -P "${2-}" \ + -W "$(__gitcomp_1 "${1-}" "${4-}")" \ + -- "$cur")) + ;; + esac +} + +# __git_heads accepts 0 or 1 arguments (to pass to __gitdir) +__git_heads () +{ + local cmd i is_hash=y dir="$(__gitdir "${1-}")" + if [ -d "$dir" ]; then + git --git-dir="$dir" for-each-ref --format='%(refname:short)' \ + refs/heads + return + fi + for i in $(git ls-remote "${1-}" 2>/dev/null); do + case "$is_hash,$i" in + y,*) is_hash=n ;; + n,*^{}) is_hash=y ;; + n,refs/heads/*) is_hash=y; echo "${i#refs/heads/}" ;; + n,*) is_hash=y; echo "$i" ;; + esac + done +} + +# __git_tags accepts 0 or 1 arguments (to pass to __gitdir) +__git_tags () +{ + local cmd i is_hash=y dir="$(__gitdir "${1-}")" + if [ -d "$dir" ]; then + git --git-dir="$dir" for-each-ref --format='%(refname:short)' \ + refs/tags + return + fi + for i in $(git ls-remote "${1-}" 2>/dev/null); do + case "$is_hash,$i" in + y,*) is_hash=n ;; + n,*^{}) is_hash=y ;; + n,refs/tags/*) is_hash=y; echo "${i#refs/tags/}" ;; + n,*) is_hash=y; echo "$i" ;; + esac + done +} + +# __git_refs accepts 0, 1 (to pass to __gitdir), or 2 arguments +# presence of 2nd argument means use the guess heuristic employed +# by checkout for tracking branches +__git_refs () +{ + local i is_hash=y dir="$(__gitdir "${1-}")" track="${2-}" + local cur format refs + _get_comp_words_by_ref -n =: cur + if [ -d "$dir" ]; then + case "$cur" in + refs|refs/*) + format="refname" + refs="${cur%/*}" + track="" + ;; + *) + for i in HEAD FETCH_HEAD ORIG_HEAD MERGE_HEAD; do + if [ -e "$dir/$i" ]; then echo $i; fi + done + format="refname:short" + refs="refs/tags refs/heads refs/remotes" + ;; + esac + git --git-dir="$dir" for-each-ref --format="%($format)" \ + $refs + if [ -n "$track" ]; then + # employ the heuristic used by git checkout + # Try to find a remote branch that matches the completion word + # but only output if the branch name is unique + local ref entry + git --git-dir="$dir" for-each-ref --shell --format="ref=%(refname:short)" \ + "refs/remotes/" | \ + while read entry; do + eval "$entry" + ref="${ref#*/}" + if [[ "$ref" == "$cur"* ]]; then + echo "$ref" + fi + done | uniq -u + fi + return + fi + for i in $(git ls-remote "$dir" 2>/dev/null); do + case "$is_hash,$i" in + y,*) is_hash=n ;; + n,*^{}) is_hash=y ;; + n,refs/tags/*) is_hash=y; echo "${i#refs/tags/}" ;; + n,refs/heads/*) is_hash=y; echo "${i#refs/heads/}" ;; + n,refs/remotes/*) is_hash=y; echo "${i#refs/remotes/}" ;; + n,*) is_hash=y; echo "$i" ;; + esac + done +} + +# __git_refs2 requires 1 argument (to pass to __git_refs) +__git_refs2 () +{ + local i + for i in $(__git_refs "$1"); do + echo "$i:$i" + done +} + +# __git_refs_remotes requires 1 argument (to pass to ls-remote) +__git_refs_remotes () +{ + local cmd i is_hash=y + for i in $(git ls-remote "$1" 2>/dev/null); do + case "$is_hash,$i" in + n,refs/heads/*) + is_hash=y + echo "$i:refs/remotes/$1/${i#refs/heads/}" + ;; + y,*) is_hash=n ;; + n,*^{}) is_hash=y ;; + n,refs/tags/*) is_hash=y;; + n,*) is_hash=y; ;; + esac + done +} + +__git_remotes () +{ + local i ngoff IFS=$'\n' d="$(__gitdir)" + shopt -q nullglob || ngoff=1 + shopt -s nullglob + for i in "$d/remotes"/*; do + echo ${i#$d/remotes/} + done + [ "$ngoff" ] && shopt -u nullglob + for i in $(git --git-dir="$d" config --get-regexp 'remote\..*\.url' 2>/dev/null); do + i="${i#remote.}" + echo "${i/.url*/}" + done +} + +__git_list_merge_strategies () +{ + git merge -s help 2>&1 | + sed -n -e '/[Aa]vailable strategies are: /,/^$/{ + s/\.$// + s/.*:// + s/^[ ]*// + s/[ ]*$// + p + }' +} + +__git_merge_strategies= +# 'git merge -s help' (and thus detection of the merge strategy +# list) fails, unfortunately, if run outside of any git working +# tree. __git_merge_strategies is set to the empty string in +# that case, and the detection will be repeated the next time it +# is needed. +__git_compute_merge_strategies () +{ + : ${__git_merge_strategies:=$(__git_list_merge_strategies)} +} + +__git_complete_revlist_file () +{ + local pfx ls ref cur + _get_comp_words_by_ref -n =: cur + case "$cur" in + *..?*:*) + return + ;; + ?*:*) + ref="${cur%%:*}" + cur="${cur#*:}" + case "$cur" in + ?*/*) + pfx="${cur%/*}" + cur="${cur##*/}" + ls="$ref:$pfx" + pfx="$pfx/" + ;; + *) + ls="$ref" + ;; + esac + + case "$COMP_WORDBREAKS" in + *:*) : great ;; + *) pfx="$ref:$pfx" ;; + esac + + local IFS=$'\n' + COMPREPLY=($(compgen -P "$pfx" \ + -W "$(git --git-dir="$(__gitdir)" ls-tree "$ls" \ + | sed '/^100... blob /{ + s,^.* ,, + s,$, , + } + /^120000 blob /{ + s,^.* ,, + s,$, , + } + /^040000 tree /{ + s,^.* ,, + s,$,/, + } + s/^.* //')" \ + -- "$cur")) + ;; + *...*) + pfx="${cur%...*}..." + cur="${cur#*...}" + __gitcomp "$(__git_refs)" "$pfx" "$cur" + ;; + *..*) + pfx="${cur%..*}.." + cur="${cur#*..}" + __gitcomp "$(__git_refs)" "$pfx" "$cur" + ;; + *) + __gitcomp "$(__git_refs)" + ;; + esac +} + + +__git_complete_file () +{ + __git_complete_revlist_file +} + +__git_complete_revlist () +{ + __git_complete_revlist_file +} + +__git_complete_remote_or_refspec () +{ + local cur words cword + _get_comp_words_by_ref -n =: cur words cword + local cmd="${words[1]}" + local i c=2 remote="" pfx="" lhs=1 no_complete_refspec=0 + while [ $c -lt $cword ]; do + i="${words[c]}" + case "$i" in + --mirror) [ "$cmd" = "push" ] && no_complete_refspec=1 ;; + --all) + case "$cmd" in + push) no_complete_refspec=1 ;; + fetch) + COMPREPLY=() + return + ;; + *) ;; + esac + ;; + -*) ;; + *) remote="$i"; break ;; + esac + c=$((++c)) + done + if [ -z "$remote" ]; then + __gitcomp "$(__git_remotes)" + return + fi + if [ $no_complete_refspec = 1 ]; then + COMPREPLY=() + return + fi + [ "$remote" = "." ] && remote= + case "$cur" in + *:*) + case "$COMP_WORDBREAKS" in + *:*) : great ;; + *) pfx="${cur%%:*}:" ;; + esac + cur="${cur#*:}" + lhs=0 + ;; + +*) + pfx="+" + cur="${cur#+}" + ;; + esac + case "$cmd" in + fetch) + if [ $lhs = 1 ]; then + __gitcomp "$(__git_refs2 "$remote")" "$pfx" "$cur" + else + __gitcomp "$(__git_refs)" "$pfx" "$cur" + fi + ;; + pull) + if [ $lhs = 1 ]; then + __gitcomp "$(__git_refs "$remote")" "$pfx" "$cur" + else + __gitcomp "$(__git_refs)" "$pfx" "$cur" + fi + ;; + push) + if [ $lhs = 1 ]; then + __gitcomp "$(__git_refs)" "$pfx" "$cur" + else + __gitcomp "$(__git_refs "$remote")" "$pfx" "$cur" + fi + ;; + esac +} + +__git_complete_strategy () +{ + local cur prev + _get_comp_words_by_ref -n =: cur prev + __git_compute_merge_strategies + case "$prev" in + -s|--strategy) + __gitcomp "$__git_merge_strategies" + return 0 + esac + case "$cur" in + --strategy=*) + __gitcomp "$__git_merge_strategies" "" "${cur##--strategy=}" + return 0 + ;; + esac + return 1 +} + +__git_list_all_commands () +{ + local i IFS=" "$'\n' + for i in $(git help -a|egrep '^ [a-zA-Z0-9]') + do + case $i in + *--*) : helper pattern;; + *) echo $i;; + esac + done +} + +__git_all_commands= +__git_compute_all_commands () +{ + : ${__git_all_commands:=$(__git_list_all_commands)} +} + +__git_list_porcelain_commands () +{ + local i IFS=" "$'\n' + __git_compute_all_commands + for i in "help" $__git_all_commands + do + case $i in + *--*) : helper pattern;; + applymbox) : ask gittus;; + applypatch) : ask gittus;; + archimport) : import;; + cat-file) : plumbing;; + check-attr) : plumbing;; + check-ref-format) : plumbing;; + checkout-index) : plumbing;; + commit-tree) : plumbing;; + count-objects) : infrequent;; + cvsexportcommit) : export;; + cvsimport) : import;; + cvsserver) : daemon;; + daemon) : daemon;; + diff-files) : plumbing;; + diff-index) : plumbing;; + diff-tree) : plumbing;; + fast-import) : import;; + fast-export) : export;; + fsck-objects) : plumbing;; + fetch-pack) : plumbing;; + fmt-merge-msg) : plumbing;; + for-each-ref) : plumbing;; + hash-object) : plumbing;; + http-*) : transport;; + index-pack) : plumbing;; + init-db) : deprecated;; + local-fetch) : plumbing;; + lost-found) : infrequent;; + ls-files) : plumbing;; + ls-remote) : plumbing;; + ls-tree) : plumbing;; + mailinfo) : plumbing;; + mailsplit) : plumbing;; + merge-*) : plumbing;; + mktree) : plumbing;; + mktag) : plumbing;; + pack-objects) : plumbing;; + pack-redundant) : plumbing;; + pack-refs) : plumbing;; + parse-remote) : plumbing;; + patch-id) : plumbing;; + peek-remote) : plumbing;; + prune) : plumbing;; + prune-packed) : plumbing;; + quiltimport) : import;; + read-tree) : plumbing;; + receive-pack) : plumbing;; + remote-*) : transport;; + repo-config) : deprecated;; + rerere) : plumbing;; + rev-list) : plumbing;; + rev-parse) : plumbing;; + runstatus) : plumbing;; + sh-setup) : internal;; + shell) : daemon;; + show-ref) : plumbing;; + send-pack) : plumbing;; + show-index) : plumbing;; + ssh-*) : transport;; + stripspace) : plumbing;; + symbolic-ref) : plumbing;; + tar-tree) : deprecated;; + unpack-file) : plumbing;; + unpack-objects) : plumbing;; + update-index) : plumbing;; + update-ref) : plumbing;; + update-server-info) : daemon;; + upload-archive) : plumbing;; + upload-pack) : plumbing;; + write-tree) : plumbing;; + var) : infrequent;; + verify-pack) : infrequent;; + verify-tag) : plumbing;; + *) echo $i;; + esac + done +} + +__git_porcelain_commands= +__git_compute_porcelain_commands () +{ + __git_compute_all_commands + : ${__git_porcelain_commands:=$(__git_list_porcelain_commands)} +} + +__git_pretty_aliases () +{ + local i IFS=$'\n' + for i in $(git --git-dir="$(__gitdir)" config --get-regexp "pretty\..*" 2>/dev/null); do + case "$i" in + pretty.*) + i="${i#pretty.}" + echo "${i/ */}" + ;; + esac + done +} + +__git_aliases () +{ + local i IFS=$'\n' + for i in $(git --git-dir="$(__gitdir)" config --get-regexp "alias\..*" 2>/dev/null); do + case "$i" in + alias.*) + i="${i#alias.}" + echo "${i/ */}" + ;; + esac + done +} + +# __git_aliased_command requires 1 argument +__git_aliased_command () +{ + local word cmdline=$(git --git-dir="$(__gitdir)" \ + config --get "alias.$1") + for word in $cmdline; do + case "$word" in + \!gitk|gitk) + echo "gitk" + return + ;; + \!*) : shell command alias ;; + -*) : option ;; + *=*) : setting env ;; + git) : git itself ;; + *) + echo "$word" + return + esac + done +} + +# __git_find_on_cmdline requires 1 argument +__git_find_on_cmdline () +{ + local word subcommand c=1 words cword + _get_comp_words_by_ref -n =: words cword + while [ $c -lt $cword ]; do + word="${words[c]}" + for subcommand in $1; do + if [ "$subcommand" = "$word" ]; then + echo "$subcommand" + return + fi + done + c=$((++c)) + done +} + +__git_has_doubledash () +{ + local c=1 words cword + _get_comp_words_by_ref -n =: words cword + while [ $c -lt $cword ]; do + if [ "--" = "${words[c]}" ]; then + return 0 + fi + c=$((++c)) + done + return 1 +} + +__git_whitespacelist="nowarn warn error error-all fix" + +_git_am () +{ + local cur dir="$(__gitdir)" + _get_comp_words_by_ref -n =: cur + if [ -d "$dir"/rebase-apply ]; then + __gitcomp "--skip --continue --resolved --abort" + return + fi + case "$cur" in + --whitespace=*) + __gitcomp "$__git_whitespacelist" "" "${cur##--whitespace=}" + return + ;; + --*) + __gitcomp " + --3way --committer-date-is-author-date --ignore-date + --ignore-whitespace --ignore-space-change + --interactive --keep --no-utf8 --signoff --utf8 + --whitespace= --scissors + " + return + esac + COMPREPLY=() +} + +_git_apply () +{ + local cur + _get_comp_words_by_ref -n =: cur + case "$cur" in + --whitespace=*) + __gitcomp "$__git_whitespacelist" "" "${cur##--whitespace=}" + return + ;; + --*) + __gitcomp " + --stat --numstat --summary --check --index + --cached --index-info --reverse --reject --unidiff-zero + --apply --no-add --exclude= + --ignore-whitespace --ignore-space-change + --whitespace= --inaccurate-eof --verbose + " + return + esac + COMPREPLY=() +} + +_git_add () +{ + __git_has_doubledash && return + + local cur + _get_comp_words_by_ref -n =: cur + case "$cur" in + --*) + __gitcomp " + --interactive --refresh --patch --update --dry-run + --ignore-errors --intent-to-add + " + return + esac + COMPREPLY=() +} + +_git_archive () +{ + local cur + _get_comp_words_by_ref -n =: cur + case "$cur" in + --format=*) + __gitcomp "$(git archive --list)" "" "${cur##--format=}" + return + ;; + --remote=*) + __gitcomp "$(__git_remotes)" "" "${cur##--remote=}" + return + ;; + --*) + __gitcomp " + --format= --list --verbose + --prefix= --remote= --exec= + " + return + ;; + esac + __git_complete_file +} + +_git_bisect () +{ + __git_has_doubledash && return + + local subcommands="start bad good skip reset visualize replay log run" + local subcommand="$(__git_find_on_cmdline "$subcommands")" + if [ -z "$subcommand" ]; then + if [ -f "$(__gitdir)"/BISECT_START ]; then + __gitcomp "$subcommands" + else + __gitcomp "replay start" + fi + return + fi + + case "$subcommand" in + bad|good|reset|skip|start) + __gitcomp "$(__git_refs)" + ;; + *) + COMPREPLY=() + ;; + esac +} + +_git_branch () +{ + local i c=1 only_local_ref="n" has_r="n" cur words cword + + _get_comp_words_by_ref -n =: cur words cword + while [ $c -lt $cword ]; do + i="${words[c]}" + case "$i" in + -d|-m) only_local_ref="y" ;; + -r) has_r="y" ;; + esac + c=$((++c)) + done + + case "$cur" in + --*) + __gitcomp " + --color --no-color --verbose --abbrev= --no-abbrev + --track --no-track --contains --merged --no-merged + --set-upstream + " + ;; + *) + if [ $only_local_ref = "y" -a $has_r = "n" ]; then + __gitcomp "$(__git_heads)" + else + __gitcomp "$(__git_refs)" + fi + ;; + esac +} + +_git_bundle () +{ + local words cword + _get_comp_words_by_ref -n =: words cword + local cmd="${words[2]}" + case "$cword" in + 2) + __gitcomp "create list-heads verify unbundle" + ;; + 3) + # looking for a file + ;; + *) + case "$cmd" in + create) + __git_complete_revlist + ;; + esac + ;; + esac +} + +_git_checkout () +{ + __git_has_doubledash && return + + local cur + _get_comp_words_by_ref -n =: cur + case "$cur" in + --conflict=*) + __gitcomp "diff3 merge" "" "${cur##--conflict=}" + ;; + --*) + __gitcomp " + --quiet --ours --theirs --track --no-track --merge + --conflict= --orphan --patch + " + ;; + *) + # check if --track, --no-track, or --no-guess was specified + # if so, disable DWIM mode + local flags="--track --no-track --no-guess" track=1 + if [ -n "$(__git_find_on_cmdline "$flags")" ]; then + track='' + fi + __gitcomp "$(__git_refs '' $track)" + ;; + esac +} + +_git_cherry () +{ + __gitcomp "$(__git_refs)" +} + +_git_cherry_pick () +{ + local cur + _get_comp_words_by_ref -n =: cur + case "$cur" in + --*) + __gitcomp "--edit --no-commit" + ;; + *) + __gitcomp "$(__git_refs)" + ;; + esac +} + +_git_clean () +{ + __git_has_doubledash && return + + local cur + _get_comp_words_by_ref -n =: cur + case "$cur" in + --*) + __gitcomp "--dry-run --quiet" + return + ;; + esac + COMPREPLY=() +} + +_git_clone () +{ + local cur + _get_comp_words_by_ref -n =: cur + case "$cur" in + --*) + __gitcomp " + --local + --no-hardlinks + --shared + --reference + --quiet + --no-checkout + --bare + --mirror + --origin + --upload-pack + --template= + --depth + " + return + ;; + esac + COMPREPLY=() +} + +_git_commit () +{ + __git_has_doubledash && return + + local cur + _get_comp_words_by_ref -n =: cur + case "$cur" in + --cleanup=*) + __gitcomp "default strip verbatim whitespace + " "" "${cur##--cleanup=}" + return + ;; + --reuse-message=*) + __gitcomp "$(__git_refs)" "" "${cur##--reuse-message=}" + return + ;; + --reedit-message=*) + __gitcomp "$(__git_refs)" "" "${cur##--reedit-message=}" + return + ;; + --untracked-files=*) + __gitcomp "all no normal" "" "${cur##--untracked-files=}" + return + ;; + --*) + __gitcomp " + --all --author= --signoff --verify --no-verify + --edit --amend --include --only --interactive + --dry-run --reuse-message= --reedit-message= + --reset-author --file= --message= --template= + --cleanup= --untracked-files --untracked-files= + --verbose --quiet + " + return + esac + COMPREPLY=() +} + +_git_describe () +{ + local cur + _get_comp_words_by_ref -n =: cur + case "$cur" in + --*) + __gitcomp " + --all --tags --contains --abbrev= --candidates= + --exact-match --debug --long --match --always + " + return + esac + __gitcomp "$(__git_refs)" +} + +__git_diff_common_options="--stat --numstat --shortstat --summary + --patch-with-stat --name-only --name-status --color + --no-color --color-words --no-renames --check + --full-index --binary --abbrev --diff-filter= + --find-copies-harder + --text --ignore-space-at-eol --ignore-space-change + --ignore-all-space --exit-code --quiet --ext-diff + --no-ext-diff + --no-prefix --src-prefix= --dst-prefix= + --inter-hunk-context= + --patience + --raw + --dirstat --dirstat= --dirstat-by-file + --dirstat-by-file= --cumulative +" + +_git_diff () +{ + __git_has_doubledash && return + + local cur + _get_comp_words_by_ref -n =: cur + case "$cur" in + --*) + __gitcomp "--cached --staged --pickaxe-all --pickaxe-regex + --base --ours --theirs --no-index + $__git_diff_common_options + " + return + ;; + esac + __git_complete_revlist_file +} + +__git_mergetools_common="diffuse ecmerge emerge kdiff3 meld opendiff + tkdiff vimdiff gvimdiff xxdiff araxis p4merge bc3 +" + +_git_difftool () +{ + __git_has_doubledash && return + + local cur + _get_comp_words_by_ref -n =: cur + case "$cur" in + --tool=*) + __gitcomp "$__git_mergetools_common kompare" "" "${cur##--tool=}" + return + ;; + --*) + __gitcomp "--cached --staged --pickaxe-all --pickaxe-regex + --base --ours --theirs + --no-renames --diff-filter= --find-copies-harder + --relative --ignore-submodules + --tool=" + return + ;; + esac + __git_complete_file +} + +__git_fetch_options=" + --quiet --verbose --append --upload-pack --force --keep --depth= + --tags --no-tags --all --prune --dry-run +" + +_git_fetch () +{ + local cur + _get_comp_words_by_ref -n =: cur + case "$cur" in + --*) + __gitcomp "$__git_fetch_options" + return + ;; + esac + __git_complete_remote_or_refspec +} + +_git_format_patch () +{ + local cur + _get_comp_words_by_ref -n =: cur + case "$cur" in + --thread=*) + __gitcomp " + deep shallow + " "" "${cur##--thread=}" + return + ;; + --*) + __gitcomp " + --stdout --attach --no-attach --thread --thread= + --output-directory + --numbered --start-number + --numbered-files + --keep-subject + --signoff --signature --no-signature + --in-reply-to= --cc= + --full-index --binary + --not --all + --cover-letter + --no-prefix --src-prefix= --dst-prefix= + --inline --suffix= --ignore-if-in-upstream + --subject-prefix= + " + return + ;; + esac + __git_complete_revlist +} + +_git_fsck () +{ + local cur + _get_comp_words_by_ref -n =: cur + case "$cur" in + --*) + __gitcomp " + --tags --root --unreachable --cache --no-reflogs --full + --strict --verbose --lost-found + " + return + ;; + esac + COMPREPLY=() +} + +_git_gc () +{ + local cur + _get_comp_words_by_ref -n =: cur + case "$cur" in + --*) + __gitcomp "--prune --aggressive" + return + ;; + esac + COMPREPLY=() +} + +_git_gitk () +{ + _gitk +} + +_git_grep () +{ + __git_has_doubledash && return + + local cur + _get_comp_words_by_ref -n =: cur + case "$cur" in + --*) + __gitcomp " + --cached + --text --ignore-case --word-regexp --invert-match + --full-name + --extended-regexp --basic-regexp --fixed-strings + --files-with-matches --name-only + --files-without-match + --max-depth + --count + --and --or --not --all-match + " + return + ;; + esac + + __gitcomp "$(__git_refs)" +} + +_git_help () +{ + local cur + _get_comp_words_by_ref -n =: cur + case "$cur" in + --*) + __gitcomp "--all --info --man --web" + return + ;; + esac + __git_compute_all_commands + __gitcomp "$__git_all_commands $(__git_aliases) + attributes cli core-tutorial cvs-migration + diffcore gitk glossary hooks ignore modules + repository-layout tutorial tutorial-2 + workflows + " +} + +_git_init () +{ + local cur + _get_comp_words_by_ref -n =: cur + case "$cur" in + --shared=*) + __gitcomp " + false true umask group all world everybody + " "" "${cur##--shared=}" + return + ;; + --*) + __gitcomp "--quiet --bare --template= --shared --shared=" + return + ;; + esac + COMPREPLY=() +} + +_git_ls_files () +{ + __git_has_doubledash && return + + local cur + _get_comp_words_by_ref -n =: cur + case "$cur" in + --*) + __gitcomp "--cached --deleted --modified --others --ignored + --stage --directory --no-empty-directory --unmerged + --killed --exclude= --exclude-from= + --exclude-per-directory= --exclude-standard + --error-unmatch --with-tree= --full-name + --abbrev --ignored --exclude-per-directory + " + return + ;; + esac + COMPREPLY=() +} + +_git_ls_remote () +{ + __gitcomp "$(__git_remotes)" +} + +_git_ls_tree () +{ + __git_complete_file +} + +# Options that go well for log, shortlog and gitk +__git_log_common_options=" + --not --all + --branches --tags --remotes + --first-parent --merges --no-merges + --max-count= + --max-age= --since= --after= + --min-age= --until= --before= + --min-parents= --max-parents= + --no-min-parents --no-max-parents +" +# Options that go well for log and gitk (not shortlog) +__git_log_gitk_options=" + --dense --sparse --full-history + --simplify-merges --simplify-by-decoration + --left-right +" +# Options that go well for log and shortlog (not gitk) +__git_log_shortlog_options=" + --author= --committer= --grep= + --all-match +" + +__git_log_pretty_formats="oneline short medium full fuller email raw format:" +__git_log_date_formats="relative iso8601 rfc2822 short local default raw" + +_git_log () +{ + __git_has_doubledash && return + + local g="$(git rev-parse --git-dir 2>/dev/null)" + local merge="" + if [ -f "$g/MERGE_HEAD" ]; then + merge="--merge" + fi + local cur + _get_comp_words_by_ref -n =: cur + case "$cur" in + --pretty=*) + __gitcomp "$__git_log_pretty_formats $(__git_pretty_aliases) + " "" "${cur##--pretty=}" + return + ;; + --format=*) + __gitcomp "$__git_log_pretty_formats $(__git_pretty_aliases) + " "" "${cur##--format=}" + return + ;; + --date=*) + __gitcomp "$__git_log_date_formats" "" "${cur##--date=}" + return + ;; + --decorate=*) + __gitcomp "long short" "" "${cur##--decorate=}" + return + ;; + --*) + __gitcomp " + $__git_log_common_options + $__git_log_shortlog_options + $__git_log_gitk_options + --root --topo-order --date-order --reverse + --follow --full-diff + --abbrev-commit --abbrev= + --relative-date --date= + --pretty= --format= --oneline + --cherry-pick + --graph + --decorate --decorate= + --walk-reflogs + --parents --children + $merge + $__git_diff_common_options + --pickaxe-all --pickaxe-regex + " + return + ;; + esac + __git_complete_revlist +} + +__git_merge_options=" + --no-commit --no-stat --log --no-log --squash --strategy + --commit --stat --no-squash --ff --no-ff --ff-only +" + +_git_merge () +{ + __git_complete_strategy && return + + local cur + _get_comp_words_by_ref -n =: cur + case "$cur" in + --*) + __gitcomp "$__git_merge_options" + return + esac + __gitcomp "$(__git_refs)" +} + +_git_mergetool () +{ + local cur + _get_comp_words_by_ref -n =: cur + case "$cur" in + --tool=*) + __gitcomp "$__git_mergetools_common tortoisemerge" "" "${cur##--tool=}" + return + ;; + --*) + __gitcomp "--tool=" + return + ;; + esac + COMPREPLY=() +} + +_git_merge_base () +{ + __gitcomp "$(__git_refs)" +} + +_git_mv () +{ + local cur + _get_comp_words_by_ref -n =: cur + case "$cur" in + --*) + __gitcomp "--dry-run" + return + ;; + esac + COMPREPLY=() +} + +_git_name_rev () +{ + __gitcomp "--tags --all --stdin" +} + +_git_notes () +{ + local subcommands='add append copy edit list prune remove show' + local subcommand="$(__git_find_on_cmdline "$subcommands")" + local cur words cword + _get_comp_words_by_ref -n =: cur words cword + + case "$subcommand,$cur" in + ,--*) + __gitcomp '--ref' + ;; + ,*) + case "${words[cword-1]}" in + --ref) + __gitcomp "$(__git_refs)" + ;; + *) + __gitcomp "$subcommands --ref" + ;; + esac + ;; + add,--reuse-message=*|append,--reuse-message=*) + __gitcomp "$(__git_refs)" "" "${cur##--reuse-message=}" + ;; + add,--reedit-message=*|append,--reedit-message=*) + __gitcomp "$(__git_refs)" "" "${cur##--reedit-message=}" + ;; + add,--*|append,--*) + __gitcomp '--file= --message= --reedit-message= + --reuse-message=' + ;; + copy,--*) + __gitcomp '--stdin' + ;; + prune,--*) + __gitcomp '--dry-run --verbose' + ;; + prune,*) + ;; + *) + case "${words[cword-1]}" in + -m|-F) + ;; + *) + __gitcomp "$(__git_refs)" + ;; + esac + ;; + esac +} + +_git_pull () +{ + __git_complete_strategy && return + + local cur + _get_comp_words_by_ref -n =: cur + case "$cur" in + --*) + __gitcomp " + --rebase --no-rebase + $__git_merge_options + $__git_fetch_options + " + return + ;; + esac + __git_complete_remote_or_refspec +} + +_git_push () +{ + local cur prev + _get_comp_words_by_ref -n =: cur prev + case "$prev" in + --repo) + __gitcomp "$(__git_remotes)" + return + esac + case "$cur" in + --repo=*) + __gitcomp "$(__git_remotes)" "" "${cur##--repo=}" + return + ;; + --*) + __gitcomp " + --all --mirror --tags --dry-run --force --verbose + --receive-pack= --repo= + " + return + ;; + esac + __git_complete_remote_or_refspec +} + +_git_rebase () +{ + local dir="$(__gitdir)" + local cur + _get_comp_words_by_ref -n =: cur + if [ -d "$dir"/rebase-apply ] || [ -d "$dir"/rebase-merge ]; then + __gitcomp "--continue --skip --abort" + return + fi + __git_complete_strategy && return + case "$cur" in + --whitespace=*) + __gitcomp "$__git_whitespacelist" "" "${cur##--whitespace=}" + return + ;; + --*) + __gitcomp " + --onto --merge --strategy --interactive + --preserve-merges --stat --no-stat + --committer-date-is-author-date --ignore-date + --ignore-whitespace --whitespace= + --autosquash + " + + return + esac + __gitcomp "$(__git_refs)" +} + +_git_reflog () +{ + local subcommands="show delete expire" + local subcommand="$(__git_find_on_cmdline "$subcommands")" + + if [ -z "$subcommand" ]; then + __gitcomp "$subcommands" + else + __gitcomp "$(__git_refs)" + fi +} + +__git_send_email_confirm_options="always never auto cc compose" +__git_send_email_suppresscc_options="author self cc bodycc sob cccmd body all" + +_git_send_email () +{ + local cur + _get_comp_words_by_ref -n =: cur + case "$cur" in + --confirm=*) + __gitcomp " + $__git_send_email_confirm_options + " "" "${cur##--confirm=}" + return + ;; + --suppress-cc=*) + __gitcomp " + $__git_send_email_suppresscc_options + " "" "${cur##--suppress-cc=}" + + return + ;; + --smtp-encryption=*) + __gitcomp "ssl tls" "" "${cur##--smtp-encryption=}" + return + ;; + --*) + __gitcomp "--annotate --bcc --cc --cc-cmd --chain-reply-to + --compose --confirm= --dry-run --envelope-sender + --from --identity + --in-reply-to --no-chain-reply-to --no-signed-off-by-cc + --no-suppress-from --no-thread --quiet + --signed-off-by-cc --smtp-pass --smtp-server + --smtp-server-port --smtp-encryption= --smtp-user + --subject --suppress-cc= --suppress-from --thread --to + --validate --no-validate" + return + ;; + esac + COMPREPLY=() +} + +_git_stage () +{ + _git_add +} + +__git_config_get_set_variables () +{ + local words cword + _get_comp_words_by_ref -n =: words cword + local prevword word config_file= c=$cword + while [ $c -gt 1 ]; do + word="${words[c]}" + case "$word" in + --global|--system|--file=*) + config_file="$word" + break + ;; + -f|--file) + config_file="$word $prevword" + break + ;; + esac + prevword=$word + c=$((--c)) + done + + git --git-dir="$(__gitdir)" config $config_file --list 2>/dev/null | + while read line + do + case "$line" in + *.*=*) + echo "${line/=*/}" + ;; + esac + done +} + +_git_config () +{ + local cur prev + _get_comp_words_by_ref -n =: cur prev + case "$prev" in + branch.*.remote) + __gitcomp "$(__git_remotes)" + return + ;; + branch.*.merge) + __gitcomp "$(__git_refs)" + return + ;; + remote.*.fetch) + local remote="${prev#remote.}" + remote="${remote%.fetch}" + __gitcomp "$(__git_refs_remotes "$remote")" + return + ;; + remote.*.push) + local remote="${prev#remote.}" + remote="${remote%.push}" + __gitcomp "$(git --git-dir="$(__gitdir)" \ + for-each-ref --format='%(refname):%(refname)' \ + refs/heads)" + return + ;; + pull.twohead|pull.octopus) + __git_compute_merge_strategies + __gitcomp "$__git_merge_strategies" + return + ;; + color.branch|color.diff|color.interactive|\ + color.showbranch|color.status|color.ui) + __gitcomp "always never auto" + return + ;; + color.pager) + __gitcomp "false true" + return + ;; + color.*.*) + __gitcomp " + normal black red green yellow blue magenta cyan white + bold dim ul blink reverse + " + return + ;; + help.format) + __gitcomp "man info web html" + return + ;; + log.date) + __gitcomp "$__git_log_date_formats" + return + ;; + sendemail.aliasesfiletype) + __gitcomp "mutt mailrc pine elm gnus" + return + ;; + sendemail.confirm) + __gitcomp "$__git_send_email_confirm_options" + return + ;; + sendemail.suppresscc) + __gitcomp "$__git_send_email_suppresscc_options" + return + ;; + --get|--get-all|--unset|--unset-all) + __gitcomp "$(__git_config_get_set_variables)" + return + ;; + *.*) + COMPREPLY=() + return + ;; + esac + case "$cur" in + --*) + __gitcomp " + --global --system --file= + --list --replace-all + --get --get-all --get-regexp + --add --unset --unset-all + --remove-section --rename-section + " + return + ;; + branch.*.*) + local pfx="${cur%.*}." + cur="${cur##*.}" + __gitcomp "remote merge mergeoptions rebase" "$pfx" "$cur" + return + ;; + branch.*) + local pfx="${cur%.*}." + cur="${cur#*.}" + __gitcomp "$(__git_heads)" "$pfx" "$cur" "." + return + ;; + guitool.*.*) + local pfx="${cur%.*}." + cur="${cur##*.}" + __gitcomp " + argprompt cmd confirm needsfile noconsole norescan + prompt revprompt revunmerged title + " "$pfx" "$cur" + return + ;; + difftool.*.*) + local pfx="${cur%.*}." + cur="${cur##*.}" + __gitcomp "cmd path" "$pfx" "$cur" + return + ;; + man.*.*) + local pfx="${cur%.*}." + cur="${cur##*.}" + __gitcomp "cmd path" "$pfx" "$cur" + return + ;; + mergetool.*.*) + local pfx="${cur%.*}." + cur="${cur##*.}" + __gitcomp "cmd path trustExitCode" "$pfx" "$cur" + return + ;; + pager.*) + local pfx="${cur%.*}." + cur="${cur#*.}" + __git_compute_all_commands + __gitcomp "$__git_all_commands" "$pfx" "$cur" + return + ;; + remote.*.*) + local pfx="${cur%.*}." + cur="${cur##*.}" + __gitcomp " + url proxy fetch push mirror skipDefaultUpdate + receivepack uploadpack tagopt pushurl + " "$pfx" "$cur" + return + ;; + remote.*) + local pfx="${cur%.*}." + cur="${cur#*.}" + __gitcomp "$(__git_remotes)" "$pfx" "$cur" "." + return + ;; + url.*.*) + local pfx="${cur%.*}." + cur="${cur##*.}" + __gitcomp "insteadOf pushInsteadOf" "$pfx" "$cur" + return + ;; + esac + __gitcomp " + add.ignoreErrors + advice.commitBeforeMerge + advice.detachedHead + advice.implicitIdentity + advice.pushNonFastForward + advice.resolveConflict + advice.statusHints + alias. + am.keepcr + apply.ignorewhitespace + apply.whitespace + branch.autosetupmerge + branch.autosetuprebase + browser. + clean.requireForce + color.branch + color.branch.current + color.branch.local + color.branch.plain + color.branch.remote + color.decorate.HEAD + color.decorate.branch + color.decorate.remoteBranch + color.decorate.stash + color.decorate.tag + color.diff + color.diff.commit + color.diff.frag + color.diff.func + color.diff.meta + color.diff.new + color.diff.old + color.diff.plain + color.diff.whitespace + color.grep + color.grep.context + color.grep.filename + color.grep.function + color.grep.linenumber + color.grep.match + color.grep.selected + color.grep.separator + color.interactive + color.interactive.error + color.interactive.header + color.interactive.help + color.interactive.prompt + color.pager + color.showbranch + color.status + color.status.added + color.status.changed + color.status.header + color.status.nobranch + color.status.untracked + color.status.updated + color.ui + commit.status + commit.template + core.abbrevguard + core.askpass + core.attributesfile + core.autocrlf + core.bare + core.bigFileThreshold + core.compression + core.createObject + core.deltaBaseCacheLimit + core.editor + core.eol + core.excludesfile + core.fileMode + core.fsyncobjectfiles + core.gitProxy + core.ignoreCygwinFSTricks + core.ignoreStat + core.ignorecase + core.logAllRefUpdates + core.loosecompression + core.notesRef + core.packedGitLimit + core.packedGitWindowSize + core.pager + core.preferSymlinkRefs + core.preloadindex + core.quotepath + core.repositoryFormatVersion + core.safecrlf + core.sharedRepository + core.sparseCheckout + core.symlinks + core.trustctime + core.warnAmbiguousRefs + core.whitespace + core.worktree + diff.autorefreshindex + diff.external + diff.ignoreSubmodules + diff.mnemonicprefix + diff.noprefix + diff.renameLimit + diff.renames + diff.suppressBlankEmpty + diff.tool + diff.wordRegex + difftool. + difftool.prompt + fetch.recurseSubmodules + fetch.unpackLimit + format.attach + format.cc + format.headers + format.numbered + format.pretty + format.signature + format.signoff + format.subjectprefix + format.suffix + format.thread + format.to + gc. + gc.aggressiveWindow + gc.auto + gc.autopacklimit + gc.packrefs + gc.pruneexpire + gc.reflogexpire + gc.reflogexpireunreachable + gc.rerereresolved + gc.rerereunresolved + gitcvs.allbinary + gitcvs.commitmsgannotation + gitcvs.dbTableNamePrefix + gitcvs.dbdriver + gitcvs.dbname + gitcvs.dbpass + gitcvs.dbuser + gitcvs.enabled + gitcvs.logfile + gitcvs.usecrlfattr + guitool. + gui.blamehistoryctx + gui.commitmsgwidth + gui.copyblamethreshold + gui.diffcontext + gui.encoding + gui.fastcopyblame + gui.matchtrackingbranch + gui.newbranchtemplate + gui.pruneduringfetch + gui.spellingdictionary + gui.trustmtime + help.autocorrect + help.browser + help.format + http.lowSpeedLimit + http.lowSpeedTime + http.maxRequests + http.minSessions + http.noEPSV + http.postBuffer + http.proxy + http.sslCAInfo + http.sslCAPath + http.sslCert + http.sslCertPasswordProtected + http.sslKey + http.sslVerify + http.useragent + i18n.commitEncoding + i18n.logOutputEncoding + imap.authMethod + imap.folder + imap.host + imap.pass + imap.port + imap.preformattedHTML + imap.sslverify + imap.tunnel + imap.user + init.templatedir + instaweb.browser + instaweb.httpd + instaweb.local + instaweb.modulepath + instaweb.port + interactive.singlekey + log.date + log.decorate + log.showroot + mailmap.file + man. + man.viewer + merge. + merge.conflictstyle + merge.log + merge.renameLimit + merge.renormalize + merge.stat + merge.tool + merge.verbosity + mergetool. + mergetool.keepBackup + mergetool.keepTemporaries + mergetool.prompt + notes.displayRef + notes.rewrite. + notes.rewrite.amend + notes.rewrite.rebase + notes.rewriteMode + notes.rewriteRef + pack.compression + pack.deltaCacheLimit + pack.deltaCacheSize + pack.depth + pack.indexVersion + pack.packSizeLimit + pack.threads + pack.window + pack.windowMemory + pager. + pretty. + pull.octopus + pull.twohead + push.default + rebase.autosquash + rebase.stat + receive.autogc + receive.denyCurrentBranch + receive.denyDeleteCurrent + receive.denyDeletes + receive.denyNonFastForwards + receive.fsckObjects + receive.unpackLimit + receive.updateserverinfo + remotes. + repack.usedeltabaseoffset + rerere.autoupdate + rerere.enabled + sendemail. + sendemail.aliasesfile + sendemail.aliasfiletype + sendemail.bcc + sendemail.cc + sendemail.cccmd + sendemail.chainreplyto + sendemail.confirm + sendemail.envelopesender + sendemail.from + sendemail.identity + sendemail.multiedit + sendemail.signedoffbycc + sendemail.smtpdomain + sendemail.smtpencryption + sendemail.smtppass + sendemail.smtpserver + sendemail.smtpserveroption + sendemail.smtpserverport + sendemail.smtpuser + sendemail.suppresscc + sendemail.suppressfrom + sendemail.thread + sendemail.to + sendemail.validate + showbranch.default + status.relativePaths + status.showUntrackedFiles + status.submodulesummary + submodule. + tar.umask + transfer.unpackLimit + url. + user.email + user.name + user.signingkey + web.browser + branch. remote. + " +} + +_git_remote () +{ + local subcommands="add rename rm show prune update set-head" + local subcommand="$(__git_find_on_cmdline "$subcommands")" + if [ -z "$subcommand" ]; then + __gitcomp "$subcommands" + return + fi + + case "$subcommand" in + rename|rm|show|prune) + __gitcomp "$(__git_remotes)" + ;; + update) + local i c='' IFS=$'\n' + for i in $(git --git-dir="$(__gitdir)" config --get-regexp "remotes\..*" 2>/dev/null); do + i="${i#remotes.}" + c="$c ${i/ */}" + done + __gitcomp "$c" + ;; + *) + COMPREPLY=() + ;; + esac +} + +_git_replace () +{ + __gitcomp "$(__git_refs)" +} + +_git_reset () +{ + __git_has_doubledash && return + + local cur + _get_comp_words_by_ref -n =: cur + case "$cur" in + --*) + __gitcomp "--merge --mixed --hard --soft --patch" + return + ;; + esac + __gitcomp "$(__git_refs)" +} + +_git_revert () +{ + local cur + _get_comp_words_by_ref -n =: cur + case "$cur" in + --*) + __gitcomp "--edit --mainline --no-edit --no-commit --signoff" + return + ;; + esac + __gitcomp "$(__git_refs)" +} + +_git_rm () +{ + __git_has_doubledash && return + + local cur + _get_comp_words_by_ref -n =: cur + case "$cur" in + --*) + __gitcomp "--cached --dry-run --ignore-unmatch --quiet" + return + ;; + esac + COMPREPLY=() +} + +_git_shortlog () +{ + __git_has_doubledash && return + + local cur + _get_comp_words_by_ref -n =: cur + case "$cur" in + --*) + __gitcomp " + $__git_log_common_options + $__git_log_shortlog_options + --numbered --summary + " + return + ;; + esac + __git_complete_revlist +} + +_git_show () +{ + __git_has_doubledash && return + + local cur + _get_comp_words_by_ref -n =: cur + case "$cur" in + --pretty=*) + __gitcomp "$__git_log_pretty_formats $(__git_pretty_aliases) + " "" "${cur##--pretty=}" + return + ;; + --format=*) + __gitcomp "$__git_log_pretty_formats $(__git_pretty_aliases) + " "" "${cur##--format=}" + return + ;; + --*) + __gitcomp "--pretty= --format= --abbrev-commit --oneline + $__git_diff_common_options + " + return + ;; + esac + __git_complete_file +} + +_git_show_branch () +{ + local cur + _get_comp_words_by_ref -n =: cur + case "$cur" in + --*) + __gitcomp " + --all --remotes --topo-order --current --more= + --list --independent --merge-base --no-name + --color --no-color + --sha1-name --sparse --topics --reflog + " + return + ;; + esac + __git_complete_revlist +} + +_git_stash () +{ + local cur + _get_comp_words_by_ref -n =: cur + local save_opts='--keep-index --no-keep-index --quiet --patch' + local subcommands='save list show apply clear drop pop create branch' + local subcommand="$(__git_find_on_cmdline "$subcommands")" + if [ -z "$subcommand" ]; then + case "$cur" in + --*) + __gitcomp "$save_opts" + ;; + *) + if [ -z "$(__git_find_on_cmdline "$save_opts")" ]; then + __gitcomp "$subcommands" + else + COMPREPLY=() + fi + ;; + esac + else + case "$subcommand,$cur" in + save,--*) + __gitcomp "$save_opts" + ;; + apply,--*|pop,--*) + __gitcomp "--index --quiet" + ;; + show,--*|drop,--*|branch,--*) + COMPREPLY=() + ;; + show,*|apply,*|drop,*|pop,*|branch,*) + __gitcomp "$(git --git-dir="$(__gitdir)" stash list \ + | sed -n -e 's/:.*//p')" + ;; + *) + COMPREPLY=() + ;; + esac + fi +} + +_git_submodule () +{ + __git_has_doubledash && return + + local subcommands="add status init update summary foreach sync" + if [ -z "$(__git_find_on_cmdline "$subcommands")" ]; then + local cur + _get_comp_words_by_ref -n =: cur + case "$cur" in + --*) + __gitcomp "--quiet --cached" + ;; + *) + __gitcomp "$subcommands" + ;; + esac + return + fi +} + +_git_svn () +{ + local subcommands=" + init fetch clone rebase dcommit log find-rev + set-tree commit-diff info create-ignore propget + proplist show-ignore show-externals branch tag blame + migrate mkdirs reset gc + " + local subcommand="$(__git_find_on_cmdline "$subcommands")" + if [ -z "$subcommand" ]; then + __gitcomp "$subcommands" + else + local remote_opts="--username= --config-dir= --no-auth-cache" + local fc_opts=" + --follow-parent --authors-file= --repack= + --no-metadata --use-svm-props --use-svnsync-props + --log-window-size= --no-checkout --quiet + --repack-flags --use-log-author --localtime + --ignore-paths= $remote_opts + " + local init_opts=" + --template= --shared= --trunk= --tags= + --branches= --stdlayout --minimize-url + --no-metadata --use-svm-props --use-svnsync-props + --rewrite-root= --prefix= --use-log-author + --add-author-from $remote_opts + " + local cmt_opts=" + --edit --rmdir --find-copies-harder --copy-similarity= + " + + local cur + _get_comp_words_by_ref -n =: cur + case "$subcommand,$cur" in + fetch,--*) + __gitcomp "--revision= --fetch-all $fc_opts" + ;; + clone,--*) + __gitcomp "--revision= $fc_opts $init_opts" + ;; + init,--*) + __gitcomp "$init_opts" + ;; + dcommit,--*) + __gitcomp " + --merge --strategy= --verbose --dry-run + --fetch-all --no-rebase --commit-url + --revision $cmt_opts $fc_opts + " + ;; + set-tree,--*) + __gitcomp "--stdin $cmt_opts $fc_opts" + ;; + create-ignore,--*|propget,--*|proplist,--*|show-ignore,--*|\ + show-externals,--*|mkdirs,--*) + __gitcomp "--revision=" + ;; + log,--*) + __gitcomp " + --limit= --revision= --verbose --incremental + --oneline --show-commit --non-recursive + --authors-file= --color + " + ;; + rebase,--*) + __gitcomp " + --merge --verbose --strategy= --local + --fetch-all --dry-run $fc_opts + " + ;; + commit-diff,--*) + __gitcomp "--message= --file= --revision= $cmt_opts" + ;; + info,--*) + __gitcomp "--url" + ;; + branch,--*) + __gitcomp "--dry-run --message --tag" + ;; + tag,--*) + __gitcomp "--dry-run --message" + ;; + blame,--*) + __gitcomp "--git-format" + ;; + migrate,--*) + __gitcomp " + --config-dir= --ignore-paths= --minimize + --no-auth-cache --username= + " + ;; + reset,--*) + __gitcomp "--revision= --parent" + ;; + *) + COMPREPLY=() + ;; + esac + fi +} + +_git_tag () +{ + local i c=1 f=0 + local words cword prev + _get_comp_words_by_ref -n =: words cword prev + while [ $c -lt $cword ]; do + i="${words[c]}" + case "$i" in + -d|-v) + __gitcomp "$(__git_tags)" + return + ;; + -f) + f=1 + ;; + esac + c=$((++c)) + done + + case "$prev" in + -m|-F) + COMPREPLY=() + ;; + -*|tag) + if [ $f = 1 ]; then + __gitcomp "$(__git_tags)" + else + COMPREPLY=() + fi + ;; + *) + __gitcomp "$(__git_refs)" + ;; + esac +} + +_git_whatchanged () +{ + _git_log +} + +_git () +{ + local i c=1 command __git_dir + + if [[ -n ${ZSH_VERSION-} ]]; then + emulate -L bash + setopt KSH_TYPESET + + # workaround zsh's bug that leaves 'words' as a special + # variable in versions < 4.3.12 + typeset -h words + fi + + local cur words cword + _get_comp_words_by_ref -n =: cur words cword + while [ $c -lt $cword ]; do + i="${words[c]}" + case "$i" in + --git-dir=*) __git_dir="${i#--git-dir=}" ;; + --bare) __git_dir="." ;; + --version|-p|--paginate) ;; + --help) command="help"; break ;; + *) command="$i"; break ;; + esac + c=$((++c)) + done + + if [ -z "$command" ]; then + case "$cur" in + --*) __gitcomp " + --paginate + --no-pager + --git-dir= + --bare + --version + --exec-path + --html-path + --work-tree= + --help + " + ;; + *) __git_compute_porcelain_commands + __gitcomp "$__git_porcelain_commands $(__git_aliases)" ;; + esac + return + fi + + local completion_func="_git_${command//-/_}" + declare -f $completion_func >/dev/null && $completion_func && return + + local expansion=$(__git_aliased_command "$command") + if [ -n "$expansion" ]; then + completion_func="_git_${expansion//-/_}" + declare -f $completion_func >/dev/null && $completion_func + fi +} + +_gitk () +{ + if [[ -n ${ZSH_VERSION-} ]]; then + emulate -L bash + setopt KSH_TYPESET + + # workaround zsh's bug that leaves 'words' as a special + # variable in versions < 4.3.12 + typeset -h words + fi + + __git_has_doubledash && return + + local cur + local g="$(__gitdir)" + local merge="" + if [ -f "$g/MERGE_HEAD" ]; then + merge="--merge" + fi + _get_comp_words_by_ref -n =: cur + case "$cur" in + --*) + __gitcomp " + $__git_log_common_options + $__git_log_gitk_options + $merge + " + return + ;; + esac + __git_complete_revlist +} + +complete -o bashdefault -o default -o nospace -F _git git 2>/dev/null \ + || complete -o default -o nospace -F _git git +complete -o bashdefault -o default -o nospace -F _gitk gitk 2>/dev/null \ + || complete -o default -o nospace -F _gitk gitk + +# The following are necessary only for Cygwin, and only are needed +# when the user has tab-completed the executable name and consequently +# included the '.exe' suffix. +# +if [ Cygwin = "$(uname -o 2>/dev/null)" ]; then +complete -o bashdefault -o default -o nospace -F _git git.exe 2>/dev/null \ + || complete -o default -o nospace -F _git git.exe +fi + +if [[ -n ${ZSH_VERSION-} ]]; then + shopt () { + local option + if [ $# -ne 2 ]; then + echo "USAGE: $0 (-q|-s|-u)