diff options
51 files changed, 425 insertions, 247 deletions
diff --git a/.arduino b/.arduino new file mode 120000 index 0000000..a7ade0f --- /dev/null +++ b/.arduino @@ -0,0 +1 @@ +.config/arduino/
\ No newline at end of file diff --git a/.config/.gitignore b/.config/.gitignore new file mode 100644 index 0000000..b5b3b3c --- /dev/null +++ b/.config/.gitignore @@ -0,0 +1,19 @@ +/RecentDocuments + +# Ignore things I don't care enough about to track +/Trolltech.conf +/vlc +/purple + +# some 3d graphics toolkit +/Kitware +# KDE color picker +/colors +# binary, not helpful to track +/dconf/user + +# Ignore these files that if I tracked them, would be a separate repo +/libreoffice +/transmission +/gimp-* +/netbeans diff --git a/.config/X11/defaults b/.config/X11/defaults index ceabc5c..07d35b4 100644 --- a/.config/X11/defaults +++ b/.config/X11/defaults @@ -14,5 +14,5 @@ URxvt.scrollTtyKeypress: false URxvt.scrollWithBuffer: true URxvt.perl-ext-common: default,matcher -URxvt.urlLauncher: v-www-browser +URxvt.url-launcher: v-www-browser URxvt.matcher.button: 1 diff --git a/.config/X11/serverrc b/.config/X11/serverrc index d6c6ffc..ce14133 100644..120000 --- a/.config/X11/serverrc +++ b/.config/X11/serverrc @@ -1,6 +1 @@ -#!/bin/bash - -VT=vt07 -#VT=$(tty|sed 's@/dev/tty@vt@') - -exec /usr/bin/X -nolisten tcp "$VT" "$@" +/etc/X11/xinit/xserverrc
\ No newline at end of file diff --git a/.config/bash/aliases.sh b/.config/bash/aliases.sh index 8241b95..0964a83 100644 --- a/.config/bash/aliases.sh +++ b/.config/bash/aliases.sh @@ -37,7 +37,7 @@ alias l='ls -CF' ###################################################################### #alias rm='gvfs-trash' alias ssh='ssh -XC' -alias sed='sed --follow-symlinks' +#alias sed='sed --follow-symlinks' # breaks sed 4.2.2 alias tree='tree --charset utf8' alias cd=pushd alias gitk='gitk --all --date-order' @@ -53,7 +53,6 @@ unset redshift ###################################################################### # Some almost-function aliases # ###################################################################### -xterm-title() { echo "];$@"; } # Oh, wait this one *is* a function alias lock="clear; away -C 'This terminal is locked'" -alias plock="xterm-title Terminal Locked;lock" +alias plock="term-title Terminal Locked;lock" mvln() { mv $1 $2; ln -s $2 $1; } diff --git a/.config/bash/rc.sh b/.config/bash/rc.sh index ed55f75..faf8116 100644 --- a/.config/bash/rc.sh +++ b/.config/bash/rc.sh @@ -1,80 +1,85 @@ # ~/.bashrc: executed by bash(1) for non-login shells. -# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) -# for examples - # I include this file for all interactive invocations of bash(1), whether # they are login shells or not. # If not running interactively, don't do anything -[ -z "$PS1" ] && return +[[ $- != *i* ]] && return + +# 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 -# don't put duplicate lines in the history. See bash(1) for more options +# Why is this not on by default? +# "We have a cached value, but it isn't valid anymore. Should we trash it?" +# "Duh, yes!" +shopt -s checkhash + +################################################################################ + +# History settings export HISTCONTROL=ignoredups export HISTFILE=${XDG_CACHE_HOME}/bash/history export HISTTIMEFORMAT='[%Y-%m-%d %H:%M] ' +export HISTSIZE=5000 shopt -s histappend # append to the history file, don't overwrite it +mkdir -p "${HISTFILE%/*}" +# General settings shopt -s checkwinsize # update the values of LINES and COLUMNS shopt -s globstar # Let ** recursively scan directories +PROMPT_COMMAND='' -# Why is this not on by default? -# "We have a cached value, but it isn't valid anymore. Should we trash it?" -shopt -s checkhash - -# make less more friendly for non-text input files, see lesspipe(1) -[ -x "`which lesspipe 2>/dev/null`" ] && eval "$(SHELL=/bin/sh lesspipe)" +################################################################################ +# Overly complicated setting of PS1 # +################################################################################ -# 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 +# Belongs in aliases, but I use it here +term-title() { + local fmt='' + case "$TERM" in + screen|tmux) fmt='\ek%s\e\\';; + xterm*|rxvt*) fmt='\e]0;%s\a';; + esac + printf "$fmt" "$*" +} make_prompt() { - local RESET='' - local BOLD='' - local GREEN='' - local BLUE='' - if $1; then - RESET="$(tput sgr0)" - BOLD="$(tput bold)" - GREEN="$(tput setaf 2)" - BLUE="$(tput setaf 4)" - fi - local CHROOT='${debian_chroot:+($debian_chroot)}' - echo "${RESET}${BOLD}${CHROOT}${GREEN}"'\u@\h'"${RESET}:${BOLD}${BLUE}"'\w'"${RESET}" + local _CHROOT='${debian_chroot:+($debian_chroot)}' + echo "${BOLD}${_CHROOT}${GREEN}\u@\h${RESET}${BOLD}${BLUE}:\w${RESET}" } -if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then +if [[ -x /usr/bin/tput ]] && tput setaf 1 >&/dev/null; then # We have color support; assume it's compliant with Ecma-48 # (ISO/IEC-6429). (Lack of such support is extremely rare, and such # a case would tend to support setf rather than setaf.) - PS1="$(make_prompt true )"'\n\$ ' + RESET="$(tput sgr0)" + BOLD="$(tput bold)" + RED="$(tput setaf 1)" + GREEN="$(tput setaf 2)" + BLUE="$(tput setaf 4)" + + _STATUS="${BOLD}[" + _STATUS+='$(v=$?; if [[ $v = 0 ]]; then c='"'${GREEN}'"'; else c='"${RED}"'; fi; printf %s%03i $c $v)' + _STATUS+="${RESET}${BOLD}]${RESET}" else - PS1="$(make_prompt false)"'\n\$ ' + _STATUS='[$?]' fi - -# If this is an xterm set the title to user@host:dir -case "$TERM" in - xterm*|rxvt*) - PS1="\[\e]0;$(make_prompt false)\a\]$PS1";; -esac - +PS1="${_STATUS} $(make_prompt)"'\n\$ ' +unset RESET BOLD RED GREEN BLUE _STATUS use_color +PS1="$(term-title $(make_prompt))$PS1" unset make_prompt -# Include modular config files -if [ -d "${XDG_CONFIG_HOME}/rc.d" ]; then - for file in "${XDG_CONFIG_HOME}/rc.d"/*.sh; do - . "$file" - done -fi +################################################################################ -if [ -f ${XDG_CONFIG_HOME}/bash/aliases.sh ]; then +# Load my alaises +if [[ -f ${XDG_CONFIG_HOME}/bash/aliases.sh ]]; then . ${XDG_CONFIG_HOME}/bash/aliases.sh fi -# enable programmable completion features (you don't need to enable -# this, if it's already enabled in /etc/bash.bashrc and /etc/profile -# sources /etc/bash.bashrc). -if [ -f /etc/bash_completion ]; then - . /etc/bash_completion +# Include modular config files +if [[ -d ${XDG_CONFIG_HOME}/bash/rc.d ]]; then + for file in "${XDG_CONFIG_HOME}/bash/rc.d"/*.sh; do + . "$file" + done fi diff --git a/.config/conkerorrc b/.config/conkerorrc new file mode 100644 index 0000000..e33add1 --- /dev/null +++ b/.config/conkerorrc @@ -0,0 +1,55 @@ +/* -*- Mode: js -*- */ +session_pref("signon.rememberSignons", true); +session_pref("signon.expireMasterPassword", false); +session_pref("signon.SignonFileName", "signons.txt"); + +define_webjump("ddg", "https://duckduckgo.com/?q=%s"); + +// Load login manager +Components.classes["@mozilla.org/login-manager;1"].getService(Components.interfaces.nsILoginManager); + +// Auto complete stuff +minibuffer_auto_complete_default = true; +url_completion_use_history = true; // should work since bf05c87405 +url_completion_use_bookmarks = true; + +// Prompt before closing +//define_key(content_buffer_normal_keymap, "C-x C-c", "confirm-quit"); +//can_kill_last_buffer = false; + +// Workaround for scrollbar bug (issue351) +add_hook("create_buffer_late_hook", + function (buffer) { + buffer.top_frame.scrollbars.visible = true; + }); + +// load session module +require("session.js"); +session_auto_save_auto_load = true; // auto-load session + +// Don't show a clock in the modeline +remove_hook("mode_line_hook", mode_line_adder(clock_widget)); + +// Add favicons to the modeline +require("favicon"); +add_hook("mode_line_hook", mode_line_adder(buffer_icon_widget), true); +read_buffer_show_icons = true; + +// load firebug lite +define_variable("firebug_url", + "https://getfirebug.com/firebug-lite.js"); + +function firebug (I) { + var doc = I.buffer.document; + var script = doc.createElement('script'); + script.setAttribute('type', 'text/javascript'); + script.setAttribute('src', firebug_url); + script.setAttribute('onload', 'firebug.init();'); + doc.body.appendChild(script); +} +interactive("firebug", "open firebug lite", firebug); + +// Make middle-click open links in a new buffer +require("clicks-in-new-buffer.js"); +clicks_in_new_buffer_target = OPEN_NEW_BUFFER_BACKGROUND; +clicks_in_new_buffer_button = 1; diff --git a/.crontab b/.config/cron/crontab index ca405cf..e396cef 100644 --- a/.crontab +++ b/.config/cron/crontab @@ -1,3 +1,3 @@ # m h dom mon dow command -*/5 * * * * cd $HOME && make +*/5 * * * * cd $HOME/.config && make */5 * * * * offlineimap-runner 2 -u quiet diff --git a/.config/emacs/custom.el b/.config/emacs/custom.el index 5a3e67f..dad3d8d 100644 --- a/.config/emacs/custom.el +++ b/.config/emacs/custom.el @@ -3,16 +3,20 @@ ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. - '(custom-enabled-themes (quote (wombat))) - '(custom-safe-themes (quote ("71b172ea4aad108801421cc5251edb6c792f3adbaecfa1c52e94e3d99634dee7" "fc5fcb6f1f1c1bc01305694c59a1a861b008c534cae8d0e48e4d5e81ad718bc6" default))) + '(custom-enabled-themes (quote (zenburn))) + '(custom-safe-themes (quote ("1e7e097ec8cb1f8c3a912d7e1e0331caeed49fef6cff220be63bd2a6ba4cc365" "71b172ea4aad108801421cc5251edb6c792f3adbaecfa1c52e94e3d99634dee7" "fc5fcb6f1f1c1bc01305694c59a1a861b008c534cae8d0e48e4d5e81ad718bc6" default))) '(erc-nick "lukeshu") '(explicit-shell-file-name "/bin/bash") '(inhibit-startup-screen t) '(mdmua-maildir "~/Maildir") '(minibuffer-prompt-properties (quote (read-only t point-entered minibuffer-avoid-prompt face minibuffer-prompt))) + '(page-break-lines-char 45) '(ruby-deep-arglist nil) '(ruby-deep-indent-paren nil) - '(scroll-bar-mode nil)) + '(safe-local-variable-values (quote ((Nginx-indent-tabs-mode) (Nginx-indent-level . 4) (Nginx-indent-level . 8)))) + '(scroll-bar-mode nil) + '(sh-basic-offset 8) + '(sh-indent-comment t)) (custom-set-faces ;; custom-set-faces was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. diff --git a/.config/emacs/init.el b/.config/emacs/init.el index 3cd2ea3..402957a 100644 --- a/.config/emacs/init.el +++ b/.config/emacs/init.el @@ -1,6 +1,6 @@ ;; Preliminary settings ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -(set-face-attribute 'default nil :height 80) +(set-face-attribute 'default nil :height 75) (setq notify-method 'notify-via-libnotify) (add-to-list 'load-path "~/.emacs.d/") (add-to-list 'load-path "~/.emacs.d/el-get/el-get") @@ -58,6 +58,36 @@ ;; General settings ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +(require 'go-mode-load) + +(require 'mailcrypt) +(mc-setversion "gpg") +(add-hook 'wl-summary-mode-hook 'mc-install-read-mode) +(add-hook 'wl-mail-setup-hook 'mc-install-write-mode) + +(defun mc-wl-verify-signature () + (interactive) + (save-window-excursion + (wl-summary-jump-to-current-message) + (mc-verify))) + +(defun mc-wl-decrypt-message () + (interactive) + (save-window-excursion + (wl-summary-jump-to-current-message) + (let ((inhibit-read-only t)) + (mc-decrypt)))) + +(eval-after-load "mailcrypt" + '(setq mc-modes-alist + (append + (quote + ((wl-draft-mode (encrypt . mc-encrypt-message) + (sign . mc-sign-message)) + (wl-summary-mode (decrypt . mc-wl-decrypt-message) + (verify . mc-wl-verify-signature)))) + mc-modes-alist))) + ;(load "mdmua") (load "emacsutils") @@ -170,6 +200,7 @@ )) (add-to-list 'auto-mode-alist '("PKGBUILD" . sh-mode)) +(add-to-list 'auto-mode-alist '("SRCBUILD" . sh-mode)) ;(require 'flymake) ;(add-hook 'php-mode-hook (lambda() (flymake-mode 1))) diff --git a/.config/gtk-3.0/settings.ini b/.config/gtk-3.0/settings.ini index 5c3cf6a..b0443ec 100644 --- a/.config/gtk-3.0/settings.ini +++ b/.config/gtk-3.0/settings.ini @@ -1,17 +1,16 @@ -[Settings] -# DO NOT EDIT! This file will be overwritten by LXAppearance. -gtk-theme-name = oxygen-gtk -gtk-icon-theme-name = default.kde4 -gtk-font-name = Sans 10 -gtk-cursor-theme-name = Vanilla-DMZ -gtk-cursor-theme-size = 0 -gtk-toolbar-style = GTK_TOOLBAR_BOTH -gtk-toolbar-icon-size = GTK_ICON_SIZE_SMALL_TOOLBAR -gtk-button-images = 0 -gtk-menu-images = 1 -gtk-enable-event-sounds = 1 -gtk-enable-input-feedback-sounds = 1 -gtk-xft-antialias = 1 -gtk-xft-hinting = 1 -gtk-xft-hintstyle = hintfull -gtk-xft-rgba = rgb +[Settings] +gtk-theme-name=Raleigh +gtk-icon-theme-name=oxygen +gtk-font-name=Sans 10 +gtk-cursor-theme-name=Vanilla-DMZ +gtk-cursor-theme-size=0 +gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ +gtk-toolbar-icon-size=GTK_ICON_SIZE_SMALL_TOOLBAR +gtk-button-images=0 +gtk-menu-images=1 +gtk-enable-event-sounds=1 +gtk-enable-input-feedback-sounds=1 +gtk-xft-antialias=1 +gtk-xft-hinting=1 +gtk-xft-hintstyle=hintfull +gtk-xft-rgba=rgb diff --git a/.config/hgrc b/.config/hgrc new file mode 100644 index 0000000..96fce82 --- /dev/null +++ b/.config/hgrc @@ -0,0 +1,2 @@ +[ui] +username = Luke Shumaker <lukeshu@sbcglobal.net> diff --git a/.config/libretools/.gitignore b/.config/libretools/.gitignore new file mode 100644 index 0000000..1881962 --- /dev/null +++ b/.config/libretools/.gitignore @@ -0,0 +1 @@ +blacklist.txt diff --git a/.config/lxpanel/default/panels/panel b/.config/lxpanel/default/panels/panel index 9d776bb..e89a833 100644 --- a/.config/lxpanel/default/panels/panel +++ b/.config/lxpanel/default/panels/panel @@ -25,6 +25,26 @@ Global { } Plugin { + type = menu + Config { + image=/usr/share/lxpanel/images/my-computer.png + system { + } + separator { + } + item { + command=run + } + separator { + } + item { + image=gnome-logout + command=logout + } + } +} + +Plugin { type = space expand=1 Config { diff --git a/.config/maildirproc/default.rc b/.config/maildirproc/default.rc index c2ad6f2..ecea80f 100644 --- a/.config/maildirproc/default.rc +++ b/.config/maildirproc/default.rc @@ -10,7 +10,9 @@ def is_to_or_from(mail,address): Return true if [mail] is to or from an address that contains [address]. """ return ( - mail["From"].contains(address) + False + or mail["From"].contains(address) + or mail["Reply-To"].contains(address) or mail.target.contains(address)) def is_to_or_from_re(mail,address): """ @@ -72,7 +74,7 @@ def handle_incoming_unknown(mail): def my_filters(mail): # Sort mail from GNU mailing lists - for list in [ 'bug-gsrc', 'bug-make', 'help-make', 'social', 'help-grub' ]: + for list in [ 'bug-gsrc', 'bug-make', 'help-make', 'social', 'help-grub', 'bug-gnuzilla' ]: if ( False or mail["List-Id"].matches(list+"\.gnu\.org") @@ -90,6 +92,10 @@ def my_filters(mail): mail.move(".software.social") return + if mail["List-Id"].matches("networkmanager-list\.gnome\.org"): + mail.move(".software.networkmanager") + return + if mail["List-Id"].matches("maintenance.lists.parabolagnulinux.org"): mail.move(".software.parabola-maintenance") return @@ -97,6 +103,7 @@ def my_filters(mail): False or mail["List-Id"].matches("parabolagnulinux.org") or is_to_or_from(mail, "parabolagnulinux.org") + or is_to_or_from(mail, "kiwwwi.com.ar") or is_to_or_from(mail, "parabola.nu") ): mail.move(".software.parabola-dev") @@ -166,6 +173,7 @@ def my_filters(mail): "justicejade10@aol.com", "parsonsjade@aol.com", "parsonstjade@gmail.com", + "jadparso@umail.iu.edu", ]: if mail["From"].contains(address): mail.move(".misc.Jade") @@ -190,23 +198,24 @@ def my_filters(mail): # Sort mail from FRC people for address in [ - "jeffreysmith@msdlt.k12.in.us", - "jason.zielke@gmail.com", - "allison.m.babcock@gmail.com", - "william.walk@gmail.com", + "@ni.com", + "@usfirst.org", "BBonahoom@stanleyworks.com", - "wcxctrack829@aim.com", # Pat + "allison.m.babcock@gmail.com", + "bryanbonahoom@gmail.com", + "cdewalt3@yahoo.com", + "dave.nelson@ecolab.com", + "dickaustin190@yahoo.com", "djnels1@comcast.net", # Dave and Julie Nelson + "gamefreak207@gmail.com", # Brett Leedy + "jason.zielke@gmail.com", + "jeffreysmith@msdlt.k12.in.us", "sarahlittell@comcast.net", + "silioso@gmail.com", "skiplittell@comcast.net", - "dave.nelson@ecolab.com", - "@ni.com", - "@usfirst.org", - "gamefreak207@gmail.com", # Brett Leedy "tswilson4801@att.net", - "silioso@gmail.com", - "cdewalt3@yahoo.com", - "bryanbonahoom@gmail.com", + "wcxctrack829@aim.com", # Pat + "william.walk@gmail.com", ]: if is_to_or_from(mail,address): mail.move(".School.Robotics") @@ -224,6 +233,7 @@ def my_filters(mail): # Sort mail from software people for address in [ "gnu.org", + "gnome.org", "eff.org", "gitorious.org", "sourceforge.com", @@ -306,10 +316,10 @@ def my_filters(mail): return if ( False - or mail["From"].contains(".edu") + #or mail["From"].contains(".edu") or mail["From"].contains("admissions@") - or mail["From"].contains("college") - or mail["From"].contains("university") + #or mail["From"].contains("college") + #or mail["From"].contains("university") or mail["Subject"].contains("college") # now we get to the BS or mail["From"].contains("@dreamitdoitindiana.com") diff --git a/.config/meld/meldrc.ini b/.config/meld/meldrc.ini deleted file mode 120000 index dc1dc0c..0000000 --- a/.config/meld/meldrc.ini +++ /dev/null @@ -1 +0,0 @@ -/dev/null
\ No newline at end of file diff --git a/.nanorc.in b/.config/nanorc index b21e86b..b21e86b 100644 --- a/.nanorc.in +++ b/.config/nanorc diff --git a/.config/offlineimaprc b/.config/offlineimaprc new file mode 100644 index 0000000..8ea8f30 --- /dev/null +++ b/.config/offlineimaprc @@ -0,0 +1,49 @@ +# -*- Mode: Conf -*- +[general] +accounts = ATT,Purdue + +## AT&T ############################################################### + +[Account ATT] +localrepository = Local-Main +remoterepository = Remote-SBCGlobal + +[Repository Local-Main] +type = Maildir +localfolders = ~/Maildir +sep = . +folderfilter = lambda foldername: not re.search('(Trash|Del|-old|Draft)', foldername) +# transforms local -> remote +nametrans = lambda foldername: re.sub('^$', 'Inbox', re.sub('^'+re.escape('%(sep)s'), '', foldername)) + +[Repository Remote-SBCGlobal] +type = IMAP +ssl = yes +cert_fingerprint = 700d84baa7e852240178dc2de18e7e528a2854df +remotehost = imap.mail.yahoo.com +remoteuser = lukeshu@sbcglobal.net +folderfilter = lambda foldername: not re.search('(Trash|Del)', foldername) + +# transforms remote -> local +# we must assume that sep=/ on the remote IMAP server. +nametrans = lambda foldername: '/'+re.sub('^Inbox$', '', foldername) + +## Purdue ############################################################ + +[Account Purdue] +localrepository = Local-Purdue +remoterepository = Remote-Purdue + +[Repository Local-Purdue] +type = Maildir +localfolders = ~/Maildir.purdue +sep = . +folderfilter = lambda foldername: re.search('INBOX', foldername) + +[Repository Remote-Purdue] +type = IMAP +ssl = yes +cert_fingerprint = 32bdd134cad8da1bea57aa379b98b1cff692e4fd +remotehost = mymail.purdue.edu +remoteuser = shumakl +folderfilter = lambda foldername: re.search('INBOX', foldername) diff --git a/.config/okular/.gitignore b/.config/okular/.gitignore new file mode 100644 index 0000000..4e33b14 --- /dev/null +++ b/.config/okular/.gitignore @@ -0,0 +1 @@ +docdata diff --git a/.config/symlinks b/.config/symlinks new file mode 100644 index 0000000..3d87984 --- /dev/null +++ b/.config/symlinks @@ -0,0 +1,35 @@ +.config/X11/defaults .Xdefaults +.config/X11/clientrc .xinitrc +.config/X11/serverrc .xserverrc +.config/X11/login .xsession + +.config/bash/rc.sh .bashrc +.config/bash/login.sh .bash_login +.config/bash/logout.sh .bash_logout + +.config/arduino/ .arduino +.config/bazaar/ .bazaar +.config/cpan/ .cpan +.config/emacs/ .emacs.d +.config/gimp-2.6/ .gimp-2.6 +.config/gimp-2.8/ .gimp-2.8 +.config/maildirproc/ .maildirproc +.config/mozilla/ .mozilla # +.config/mplayer/ .mplayer +.config/nanorc .nanorc +.config/netbeans/ .netbeans +.config/purple/ .purple +.config/ssh/ .ssh # +.config/subversion/ .subversion +.config/wmii/ .wmii + +.config/conkerorrc .conkerorrc +.config/hgrc .hgrc +.config/linphonerc .linphonerc +.config/offlineimaprc .offlineimaprc + +.config/ .kde/share/apps +.config/ .kde/share/config + +.kde/ .kde4 +.mozilla/ .conkeror.mozdev.org diff --git a/.config/symlinks.sh b/.config/symlinks.sh new file mode 100755 index 0000000..a3db6ae --- /dev/null +++ b/.config/symlinks.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +sed -e '/^\s*$/d' -e '/#/d' symlinks | while read _path _link; do + path="$(sed -rn 's|[^/]+/|../|g;s|/[^/]+$|/|p' <<<"$_link")${_path}" + link="$HOME/$_link" + if [[ -L "$link" ]]; then + rm -f "$link" + fi + if [[ -e "$link" ]]; then + echo "ERROR: file exists: $link" >> /dev/stderr + else + mkdir -p "${link%/*}" + ln -s "$path" "$link" + fi +done diff --git a/.conkerorrc b/.conkerorrc index e33add1..6a56807 100644..120000 --- a/.conkerorrc +++ b/.conkerorrc @@ -1,55 +1 @@ -/* -*- Mode: js -*- */ -session_pref("signon.rememberSignons", true); -session_pref("signon.expireMasterPassword", false); -session_pref("signon.SignonFileName", "signons.txt"); - -define_webjump("ddg", "https://duckduckgo.com/?q=%s"); - -// Load login manager -Components.classes["@mozilla.org/login-manager;1"].getService(Components.interfaces.nsILoginManager); - -// Auto complete stuff -minibuffer_auto_complete_default = true; -url_completion_use_history = true; // should work since bf05c87405 -url_completion_use_bookmarks = true; - -// Prompt before closing -//define_key(content_buffer_normal_keymap, "C-x C-c", "confirm-quit"); -//can_kill_last_buffer = false; - -// Workaround for scrollbar bug (issue351) -add_hook("create_buffer_late_hook", - function (buffer) { - buffer.top_frame.scrollbars.visible = true; - }); - -// load session module -require("session.js"); -session_auto_save_auto_load = true; // auto-load session - -// Don't show a clock in the modeline -remove_hook("mode_line_hook", mode_line_adder(clock_widget)); - -// Add favicons to the modeline -require("favicon"); -add_hook("mode_line_hook", mode_line_adder(buffer_icon_widget), true); -read_buffer_show_icons = true; - -// load firebug lite -define_variable("firebug_url", - "https://getfirebug.com/firebug-lite.js"); - -function firebug (I) { - var doc = I.buffer.document; - var script = doc.createElement('script'); - script.setAttribute('type', 'text/javascript'); - script.setAttribute('src', firebug_url); - script.setAttribute('onload', 'firebug.init();'); - doc.body.appendChild(script); -} -interactive("firebug", "open firebug lite", firebug); - -// Make middle-click open links in a new buffer -require("clicks-in-new-buffer.js"); -clicks_in_new_buffer_target = OPEN_NEW_BUFFER_BACKGROUND; -clicks_in_new_buffer_button = 1; +.config/conkerorrc
\ No newline at end of file @@ -0,0 +1 @@ +.config/cpan/
\ No newline at end of file @@ -0,0 +1 @@ +.config/gconf
\ No newline at end of file @@ -0,0 +1 @@ +.cache/gconfd
\ No newline at end of file diff --git a/.gimp-2.6 b/.gimp-2.6 new file mode 120000 index 0000000..bc9fb52 --- /dev/null +++ b/.gimp-2.6 @@ -0,0 +1 @@ +.config/gimp-2.6/
\ No newline at end of file diff --git a/.gimp-2.8 b/.gimp-2.8 new file mode 120000 index 0000000..fd36916 --- /dev/null +++ b/.gimp-2.8 @@ -0,0 +1 @@ +.config/gimp-2.8/
\ No newline at end of file diff --git a/.git.info.exclude.in b/.git.info.exclude.in index 612ecf2..0c5ce40 100644 --- a/.git.info.exclude.in +++ b/.git.info.exclude.in @@ -32,6 +32,7 @@ history *.lock .~lock.*# +*.lock.* lock *.state @@ -51,8 +52,6 @@ lock .camel_certs .compiz/session/* .config/RecentDocuments/* -.config/chromium/Default/History\ Index* -.config/okular/docdata/* .dbus/session-bus/* .ddd/sessions .esd_auth @@ -60,8 +59,6 @@ lock .gconfd/saved_state .gnash-media .gnash/SharedObjects/* -.kde/socket-* -.kde4/socket-* .lesshst .link*/*.his .local/share/Trash/* @@ -81,26 +78,17 @@ lock .xsession-errors* # Ignore files that are autogenerated -.config/libretools/blacklist.txt .folders .git.info.exclude -.nanorc # Ignore these files for no good reason .bogofilter -.config/Trolltech.conf -.config/vlc .gem +.gitk .offlineimap .prefix .prefix.* -.terminfo .wine* # Ignore these files that if I tracked them, would be a separate repo -.config/chromium -.config/libreoffice -.config/transmission -.eclipse .mozilla -.netbeans @@ -8,3 +8,7 @@ smtpserver = plus.smtp.mail.yahoo.com smtpuser = lukeshu@sbcglobal.net smtpserverport = 465 +[push] + default = matching +[alias] + lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/.gitignore diff --git a/.gnuzilla b/.gnuzilla deleted file mode 120000 index 49c36a2..0000000 --- a/.gnuzilla +++ /dev/null @@ -1 +0,0 @@ -.mozilla/
\ No newline at end of file @@ -1,12 +1,12 @@ # DO NOT EDIT! This file will be overwritten by LXAppearance. # Any customization should be done in ~/.gtkrc-2.0.mine instead. -gtk-theme-name="oxygen-gtk" -gtk-icon-theme-name="default.kde4" +gtk-theme-name="Raleigh" +gtk-icon-theme-name="oxygen" gtk-font-name="Sans 10" gtk-cursor-theme-name="Vanilla-DMZ" gtk-cursor-theme-size=0 -gtk-toolbar-style=GTK_TOOLBAR_BOTH +gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ gtk-toolbar-icon-size=GTK_ICON_SIZE_SMALL_TOOLBAR gtk-button-images=0 gtk-menu-images=1 @@ -1,2 +1 @@ -[ui] -username = Luke Shumaker <lukeshu@sbcglobal.net> +.config/hgrc
\ No newline at end of file diff --git a/.kde/.gitignore b/.kde/.gitignore new file mode 100644 index 0000000..3e3f239 --- /dev/null +++ b/.kde/.gitignore @@ -0,0 +1 @@ +socket-*
\ No newline at end of file diff --git a/.kde/share/apps b/.kde/share/apps index 7f8f949..231b1b5 120000 --- a/.kde/share/apps +++ b/.kde/share/apps @@ -1 +1 @@ -../../.config
\ No newline at end of file +../../.config/
\ No newline at end of file diff --git a/.kde/share/config b/.kde/share/config index 7f8f949..231b1b5 120000 --- a/.kde/share/config +++ b/.kde/share/config @@ -1 +1 @@ -../../.config
\ No newline at end of file +../../.config/
\ No newline at end of file @@ -1 +1 @@ -.kde
\ No newline at end of file +.kde/
\ No newline at end of file diff --git a/.linphonerc b/.linphonerc new file mode 120000 index 0000000..aa45b66 --- /dev/null +++ b/.linphonerc @@ -0,0 +1 @@ +.config/linphonerc
\ No newline at end of file diff --git a/.local/bin/pick b/.local/bin/pick new file mode 100755 index 0000000..ed2d44d --- /dev/null +++ b/.local/bin/pick @@ -0,0 +1,38 @@ +#!/bin/bash + +cmd=${0##*/} + +if [[ $1 = -h ]]; then + echo "Usage: $cmd PROG1 PROG2 PROG3..." + echo " $cmd -s PROG1 PROG2 PROG3..." + echo "" + echo "If \`-s' ISN'T given, print the first program name given that is" + echo "found in PATH." + echo "" + echo "If \`-s' IS given, print the first program name given that is" + echo "currently running. If no match is found, fall back to default" + echo "behavior." + exit 0 +fi + +if [[ $1 = -s ]]; then + shift + # Scan to find a running instance + for prog in "$@"; do + if [[ -n "`pgrep $prog`" ]]; then + printf '%s\n' "$prog" + exit 0 + fi + done +fi + +# Scan to find one that is installed +for prog in "$@"; do + if [[ -x "`which $prog 2>/dev/null`" ]]; then + printf '%s\n' "$prog" + exit 0 + fi +done + +printf '%s\n' "$cmd: no suitable program found" +exit 1 diff --git a/.local/bin/x-pdf b/.local/bin/x-pdf index a9893c0..1b23a3d 100755 --- a/.local/bin/x-pdf +++ b/.local/bin/x-pdf @@ -1,9 +1,4 @@ #!/bin/sh -if [ -x "`which okular 2>/dev/null`" ]; then - okular "$@" -elif [ -x "`which evince 2>/dev/null`" ]; then - evince "$@" -elif [ -x "`which xpdf 2>/dev/null`" ]; then - xpdf "$@" -fi +`pick evince okular xpdf` "$@" +exit $? diff --git a/.local/bin/x-terminal-emulator b/.local/bin/x-terminal-emulator index f7290b4..049b081 100755 --- a/.local/bin/x-terminal-emulator +++ b/.local/bin/x-terminal-emulator @@ -1,10 +1,4 @@ #!/bin/sh -if [ -x "`which emacsterm`" ]; then - emacsterm $@ -elif [ -x "`which urxvt`" ]; then - urxvt $@ -elif [ -x "`which gnome-terminal`" ]; then - gnome-terminal $@ -elif [ -x "`which xterm`"]; then - xterm $@ -fi + +`pick emacsterm urxvt gnome-terminal xterm` "$@" +exit $? diff --git a/.local/bin/x-www-browser b/.local/bin/x-www-browser index 0ead72a..bbd8943 100755 --- a/.local/bin/x-www-browser +++ b/.local/bin/x-www-browser @@ -1,14 +1,4 @@ #!/bin/sh -list='firefox iceweasel icecat conkeror' - -looking=true -for prog in $list; do - if $looking && [ -n "`pgrep $prog`" ]; then - $prog $@ - looking=false - fi -done -if $looking; then - conkeror $@ -fi +`pick -s conkeror iceweasel icecat firefox` "$@" +exit $? diff --git a/.mplayer b/.mplayer new file mode 120000 index 0000000..577c445 --- /dev/null +++ b/.mplayer @@ -0,0 +1 @@ +.config/mplayer/
\ No newline at end of file @@ -0,0 +1 @@ +.config/nanorc
\ No newline at end of file diff --git a/.netbeans b/.netbeans new file mode 120000 index 0000000..3ca44ab --- /dev/null +++ b/.netbeans @@ -0,0 +1 @@ +.config/netbeans/
\ No newline at end of file diff --git a/.offlineimaprc b/.offlineimaprc index 319593c..85b605c 100644..120000 --- a/.offlineimaprc +++ b/.offlineimaprc @@ -1,29 +1 @@ -# -*- Mode: Conf -*- -[general] -accounts = LukeShu - -[Account LukeShu] -localrepository = Local -remoterepository = Remote - -[Repository Local] -type = Maildir -localfolders = ~/Maildir -sep = . -folderfilter = lambda foldername: not re.search('(Trash|Del|-old|Draft)', foldername) - -# transforms local -> remote -nametrans = lambda foldername: re.sub('^$', 'Inbox', re.sub('^'+re.escape('%(sep)s'), '', foldername)) - - -[Repository Remote] -type = IMAP -ssl = yes -cert_fingerprint = 700d84baa7e852240178dc2de18e7e528a2854df -remotehost = imap.mail.yahoo.com -remoteuser = lukeshu@sbcglobal.net -folderfilter = lambda foldername: not re.search('(Trash|Del)', foldername) - -# transforms remote -> local -# we must assume that sep=/ on the remote IMAP server. -nametrans = lambda foldername: '/'+re.sub('^Inbox$', '', foldername) +.config/offlineimaprc
\ No newline at end of file @@ -43,8 +43,8 @@ if [ -z "$GPGKEY" ] && [ -f "${HOME}/.gnupg/gpg.conf" ]; then export GPGKEY=`sed -nr 's/^\s*default-key\s+//p' "${HOME}/.gnupg/gpg.conf"` fi if [ -z "$(pgrep -u `whoami` gpg-agent)" ]; then - mkdir -p ${XDG_RUNTIME_DIR}/sessions/gpg - gpg-agent --daemon --write-env-file "${XDG_RUNTIME_DIR}/sessions/gpg" + mkdir -p ${XDG_RUNTIME_DIR}/sessions + gpg-agent --daemon --write-env-file "${XDG_RUNTIME_DIR}/sessions/gpg" &>/dev/null fi if [ -f "${XDG_RUNTIME_DIR}/sessions/gpg" ]; then . "${XDG_RUNTIME_DIR}/sessions/gpg" @@ -0,0 +1 @@ +.config/purple/
\ No newline at end of file diff --git a/.selected_editor b/.selected_editor index 81a95de..7631487 100644 --- a/.selected_editor +++ b/.selected_editor @@ -1,4 +1,4 @@ # Generated by /usr/bin/select-editor -SELECTED_EDITOR="emacsclient -a ''" -ALTERNATE_EDITOR="$SELECTED_EDITOR -c" -VISUAL="$SELECTED_EDITOR -c" +SELECTED_EDITOR="emacsclient -a '' -c" +ALTERNATE_EDITOR='nano' +VISUAL="$SELECTED_EDITOR" diff --git a/.ssh/config b/.ssh/config index 5c271b5..63519e1 100644 --- a/.ssh/config +++ b/.ssh/config @@ -9,3 +9,7 @@ Host parabola Port 1863 HostName repo.parabolagnulinux.org User repo + +Host lore + HostName lore.cs.purdue.edu + User shumakl @@ -9,22 +9,20 @@ all: $(targets) clean: rm -f $(targets) -.nanorc: .nanorc.in $(NANO_SHARE) +.config/nanorc: .config/nanorc.in $(NANO_SHARE) cat '$<' > '$@' for file in $(NANO_SHARE)/*.nanorc; do echo "include \"$$file\""; done >> '$@' .folders: Maildir ( echo '..'; find ~/Maildir -maxdepth 2 -type f -name "maildirfolder" -printf '%h\n'|sed -r 's@.*/(.*\.)(.*)@.\1\2@' )|sort>'$@' -.git.info.exclude: .git.info.exclude.in . - ( cat $<; find . -type f -name 'CACHEDIR.TAG' -printf '%h\n'|sed 's@^\./@/@' ) > $@ +.git.info.exclude: .git.info.exclude.in $(shell echo .??*/) + ( cat $<; find $^ -type f -name 'CACHEDIR.TAG' -printf '%h\n'|sed 's@^\./@/@' ) > $@ -.crontab.cookie: .crontab .crontab.local - -(cat $^; echo) | crontab - 2>/dev/null +.cache/cron/cookie: .config/cron + -(cat $^/*; echo) | crontab - 2>/dev/null + mkdir -p '$(@D)' date > '$@' -# don't do anything, just create these if they doesn't exist -.crontab.local: - touch '$@' Maildir: mkdir -p '$@'/{cur,new,tmp} Maildir/%: | Maildir |