From 216dbc3fde05969ec120054ddc3f8c382c4b7325 Mon Sep 17 00:00:00 2001 From: tengel Date: Wed, 20 Mar 2024 11:25:14 -0500 Subject: [PATCH] initial import --- Trolltech.conf | 9 + Xresources | 110 +++++++ bashrc | 58 ++++ cmus.autosave | 174 +++++++++++ dir_colors | 257 ++++++++++++++++ dmrc | 3 + fonts.conf | 86 ++++++ funcs.bc | 719 +++++++++++++++++++++++++++++++++++++++++++ gpg-agent.conf | 2 + gpg.conf | 2 + gtk-3.0-settings.ini | 17 + gtkrc-2.0 | 19 ++ mailrc | 17 + muttrc | 37 +++ netrc | 1 + petrifiedrc | 15 + pikaur.conf | 48 +++ profile.osx | 5 + qtrc | 3 + screenrc | 1 + toprc | 15 + vimrc | 174 +++++++++++ 22 files changed, 1772 insertions(+) create mode 100644 Trolltech.conf create mode 100644 Xresources create mode 100644 bashrc create mode 100644 cmus.autosave create mode 100644 dir_colors create mode 100644 dmrc create mode 100644 fonts.conf create mode 100644 funcs.bc create mode 100644 gpg-agent.conf create mode 100644 gpg.conf create mode 100644 gtk-3.0-settings.ini create mode 100644 gtkrc-2.0 create mode 100644 mailrc create mode 100644 muttrc create mode 100644 netrc create mode 100644 petrifiedrc create mode 100644 pikaur.conf create mode 100644 profile.osx create mode 100644 qtrc create mode 100644 screenrc create mode 100644 toprc create mode 100644 vimrc diff --git a/Trolltech.conf b/Trolltech.conf new file mode 100644 index 0000000..a120ab2 --- /dev/null +++ b/Trolltech.conf @@ -0,0 +1,9 @@ + +[Qt] +font="Luxi Sans,12,-1,5,75,2,0,0,0,0" +embedFonts=true +style=GTK+ +GUIEffects=none +Palette\active=#000000, #edeceb, #ffffff, #cbc7c4, #c6c5c4, #b8b5b2, #1a1a1a, #ffffff, #000000, #ffffff, #edeceb, #b7b6b5, #86abd9, #ffffff, #0000ff, #ff00ff, #efefef, #000000, #ffffdc, #000000 +Palette\inactive=#000000, #edeceb, #ffffff, #cbc7c4, #c6c5c4, #b8b5b2, #1a1a1a, #ffffff, #000000, #ffffff, #edeceb, #b7b6b5, #7099cc, #ffffff, #0000ff, #ff00ff, #efefef, #000000, #ffffdc, #000000 +Palette\disabled=#767675, #edeceb, #ffffff, #cbc7c4, #c6c5c4, #b8b5b2, #767675, #ffffff, #767675, #ffffff, #edeceb, #b7b6b5, #d9d9d9, #ffffff, #0000ff, #ff00ff, #efefef, #000000, #ffffdc, #000000 diff --git a/Xresources b/Xresources new file mode 100644 index 0000000..41377a9 --- /dev/null +++ b/Xresources @@ -0,0 +1,110 @@ +! ~/.Xresources + +! terminal font +xterm*utf8: 2 +xterm*eightBitInput: false +xterm*faceName: DejaVu Sans Mono:style=Book +xterm*faceSize: 12 +xterm*faceSize1: 6 +xterm*faceSize2: 8 +xterm*faceSize3: 10 +xterm*faceSize4: 12 +xterm*faceSize5: 16 +xterm*faceSize6: 22 +xterm*faceSize7: 32 +xterm*vt100*geometry: 80x24 +xterm*vt100*scaleHeight: 1.01 + +! popup menu font +xterm*font: -*-dejavu sans-medium-r-*-*-*-*-*-*-*-*-* + +! fontconfig may override these +Xft.antialias: 1 +Xft.autohint: 0 +Xft.embeddedbitmap: 0 +Xft.hinting: 1 +Xft.hintstyle: hintslight +Xft.lcdfilter: lcddefault +Xft.rgba: rgb +Xft.smoothing: grayscale + +! various +xterm.termName: xterm-256color +xterm*forceBoxChars: true +xterm*selectToClipboard: true +xterm*cursorBlink: false +xterm*cursorColor: rgb:8a/e2/34 +xterm*toolBar: false +xterm*fullscreen: never +xterm*loginShell: true + +! scrollbar +xterm*rightScrollBar: true +xterm*scrollBar: true +xterm*scrollKey: true +xterm*saveLines: 16384 +xterm*scrollTtyOutput: false +xterm*vt100*scrollBar*width: 8 + +! Fix Alt and Ctrl+H +xterm*vt100*metaSendsEscape: true +xterm*vt100*backarrowKey: false +xterm*ttyModes: erase ^? + +! double-click to select whole URLs +! https://lukas.zapletalovi.com/2013/07/hidden-gems-of-xterm.html +xterm*charClass: 33:48,36-47:48,58-59:48,61:48,63-64:48,95:48,126:48 + +! keyboard shortcuts +xterm*vt100.translations: #override \n\ + Shift Home: scroll-forw(10000000000) \n\ + Shift End: scroll-back(10000000000) \n\ + Ctrl Shift C: copy-selection(CLIPBOARD) \n\ + Ctrl Shift V: insert-selection(CLIPBOARD) \n\ + Ctrl minus: smaller-vt-font() \n\ + Ctrl plus: larger-vt-font() \n\ + Ctrl 0: set-vt-font(d) \n\ + : select-end(PRIMARY, CLIPBOARD, CUT_BUFFER0) \n\ + : insert-selection(PRIMARY) + +! Shift-Home Top of scrollback +! Shift-End End of scrollback +! Ctrl-Shift-c Copy +! Ctrl-Shift-v Paste +! Ctrl-minus Decrease font +! Ctrl-plus Increase font +! Ctrl-zero Default font +! +! + +! white on black +xterm*foreground: rgb:ff/ff/ff +xterm*background: rgb:00/00/00 +xterm*dynamicColors: true + +! Tango color scheme from mate-terminal adaptation +! https://en.wikipedia.org/wiki/Tango_Desktop_Project +! - Aluminium - +xterm*color0: rgb:00/00/00 +xterm*color8: rgb:55/57/53 +! - Scarlet Red - +xterm*color1: rgb:cc/00/00 +xterm*color9: rgb:ef/29/29 +! - Chameleon - +xterm*color2: rgb:4e/9a/06 +xterm*color10: rgb:8a/e2/34 +! - Butter - +xterm*color3: rgb:c4/a0/00 +xterm*color11: rgb:fc/e9/4f +! - Sky Blue - +xterm*color4: rgb:34/65/a4 +xterm*color12: rgb:72/9f/cf +! - Plum - +xterm*color5: rgb:75/50/7b +xterm*color13: rgb:ad/7f/a8 +! - Cyan - +xterm*color6: rgb:06/98/9a +xterm*color14: rgb:34/e2/e2 +! - Aluminium 2 - +xterm*color7: rgb:d3/d7/cf +xterm*color15: rgb:ee/ee/ec diff --git a/bashrc b/bashrc new file mode 100644 index 0000000..a3695f3 --- /dev/null +++ b/bashrc @@ -0,0 +1,58 @@ +# +# ~/.bashrc +# + +# history +HISTTIMEFORMAT='[%Y-%m-%d %H:%M:%S] ' +HISTCONTROL="ignoredups" +HISTSIZE="100000" +export HISTTIMEFORMAT HISTCONTROL HISTSIZE +shopt -s cmdhist histappend + +PATH=$PATH:$HOME/.local/bin:$HOME/bin +export PATH + +# these screw up pipes to sed et. al +unalias grep 2>/dev/null +unalias egrep 2>/dev/null +unalias fgrep 2>/dev/null + +# If not running interactively, don't do anything else +[[ $- != *i* ]] && return + +# User specific aliases and functions +alias ls='ls --color=auto' +alias vi="vim" +alias ntop="sudo nethogs wlp3s0" +alias mirrorme="mplayer -vf mirror -v tv:// -tv device=/dev/video0:driver=v4l2" +alias psave="sudo cpupower frequency-set -g powersave" +alias pperf="sudo cpupower frequency-set -g performance" +alias pcheck="sudo cpupower frequency-info -o" +alias words="shuf ~/tmp/words.txt | grep -v \"'s\" | head -21" + +# stop quotes around ls which coreutils introduced +export QUOTING_STYLE=literal + +# stop paste which readline introduced +bind 'set enable-bracketed-paste off' + +# stop GTK3 disappearing scrollbars +export GTK_OVERLAY_SCROLLING=0 + +# Libreoffice +export SAL_USE_VCLPLUGIN=gtk + +# this messes up git commits via cmdline +unset SSH_ASKPASS + +# mate-terminal is hard coded to 'xterm' +if [[ "X${DESKTOP_SESSION}" == "Xmate" ]] || \ + [[ "X${XDG_DESKTOP_SESSION}" == "Xmate" ]]; then + export TERM=xterm-256color +fi + +# general +PS1='[\u@\h $PWD]\n$ ' +BC_ENV_ARGS="-l -q" +MOZ_DISABLE_PANGO=1 +export PS1 BC_ENV_ARGS MOZ_DISABLE_PANGO diff --git a/cmus.autosave b/cmus.autosave new file mode 100644 index 0000000..523050c --- /dev/null +++ b/cmus.autosave @@ -0,0 +1,174 @@ +set aaa_mode=album +set altformat_current= %F +set altformat_playlist= %f%= %d +set altformat_title=%f +set altformat_trackwin= %f%= %d +set auto_expand_albums=true +set auto_reshuffle=true +set buffer_seconds=10 +set color_cmdline_attr=default +set color_cmdline_bg=default +set color_cmdline_fg=default +set color_cur_sel_attr=default +set color_error=lightred +set color_info=lightyellow +set color_separator=blue +set color_statusline_attr=default +set color_statusline_bg=gray +set color_statusline_fg=black +set color_titleline_attr=default +set color_titleline_bg=blue +set color_titleline_fg=white +set color_win_attr=default +set color_win_bg=default +set color_win_cur=lightyellow +set color_win_cur_sel_attr=default +set color_win_cur_sel_bg=blue +set color_win_cur_sel_fg=lightyellow +set color_win_dir=lightblue +set color_win_fg=default +set color_win_inactive_cur_sel_attr=default +set color_win_inactive_cur_sel_bg=gray +set color_win_inactive_cur_sel_fg=lightblue +set color_win_inactive_sel_attr=default +set color_win_inactive_sel_bg=gray +set color_win_inactive_sel_fg=black +set color_win_sel_attr=default +set color_win_sel_bg=blue +set color_win_sel_fg=white +set color_win_title_attr=default +set color_win_title_bg=blue +set color_win_title_fg=white +set confirm_run=true +set continue=false +set device=/dev/cdrom +set display_artist_sort_name=false +set dsp.alsa.device= +set dsp.ao.buffer_size=16384 +set dsp.ao.driver= +set dsp.ao.wav_counter=1 +set dsp.oss.device= +set follow=false +set format_current= %a - %l -%3n. %t%= %A +set format_playlist= %-25%a %3n. %t%= %y %d +set format_playlist_va= %-25%A %3n. %t (%a)%= %y %d +set format_title=%a - %l - %t (%y) +set format_trackwin=%3n. %t%= %y %d +set format_trackwin_va=%3n. %t (%a)%= %y %d +set icecast_default_charset=ISO-8859-1 +set id3_default_charset=ISO-8859-1 +set input.cdio.cddb_url=freedb.freedb.org:8880 +set lib_sort=albumartist date album discnumber tracknumber title filename +set mixer.alsa.channel= +set mixer.alsa.device= +set mixer.oss.channel=PCM +set mixer.oss.device= +set mixer.pulse.restore_volume=1 +set output_plugin=pulse +set passwd= +set pl_sort= +set play_library=true +set play_sorted=false +set repeat=true +set repeat_current=false +set replaygain=disabled +set replaygain_limit=true +set replaygain_preamp=0.000000 +set resume=false +set rewind_offset=5 +set scroll_offset=2 +set set_term_title=true +set show_all_tracks=true +set show_current_bitrate=true +set show_hidden=false +set show_playback_position=true +set show_remaining_time=false +set shuffle=false +set skip_track_info=false +set smart_artist_sort=true +set softvol=false +set softvol_state=0 0 +set status_display_program= +set wrap_search=true +bind browser backspace browser-up +bind browser i toggle show_hidden +bind browser space win-activate +bind browser u win-update +bind common ! push shell +bind common + vol +10% +bind common , seek -1m +bind common - vol -10% +bind common . seek +1m +bind common 1 view tree +bind common 2 view sorted +bind common 3 view playlist +bind common 4 view queue +bind common 5 view browser +bind common 6 view filters +bind common 7 view settings +bind common = vol +10% +bind common C toggle continue +bind common D win-remove +bind common E win-add-Q +bind common F push filter +bind common G win-bottom +bind common I echo {} +bind common L push live-filter +bind common M toggle play_library +bind common N search-prev +bind common P win-mv-before +bind common U win-update-cache +bind common [ vol +1% +0 +bind common ] vol +0 +1% +bind common ^B win-page-up +bind common ^C echo Type :quit to exit cmus. +bind common ^E win-scroll-down +bind common ^F win-page-down +bind common ^L refresh +bind common ^R toggle repeat_current +bind common ^Y win-scroll-up +bind common a win-add-l +bind common b player-next +bind common c win-toggle +bind common delete win-remove +bind common down win-down +bind common e win-add-q +bind common end win-bottom +bind common enter win-activate +bind common f toggle follow +bind common g win-top +bind common h seek -5 +bind common home win-top +bind common i win-sel-cur +bind common j win-down +bind common k win-up +bind common l seek +5 +bind common left seek -5 +bind common m toggle aaa_mode +bind common n search-next +bind common o toggle play_sorted +bind common p win-mv-after +bind common page_down win-page-down +bind common page_up win-page-up +bind common q quit +bind common r toggle repeat +bind common right seek +5 +bind common s toggle shuffle +bind common space player-pause +bind common t toggle show_remaining_time +bind common tab win-next +bind common u update-cache +bind common up win-up +bind common v player-stop +bind common x player-play +bind common y win-add-p +bind common z player-prev +bind common { vol -1% -0 +bind common } vol -0 -1% +fset 90s=date>=1990&date<2000 +fset classical=genre="Classical" +fset missing-tag=!stream&(artist=""|album=""|title=""|tracknumber=-1|date=-1) +fset mp3=filename="*.mp3" +fset ogg=filename="*.ogg" +fset ogg-or-mp3=ogg|mp3 +factivate diff --git a/dir_colors b/dir_colors new file mode 100644 index 0000000..304463a --- /dev/null +++ b/dir_colors @@ -0,0 +1,257 @@ +# Configuration file for the color ls utility +# Synchronized with coreutils 8.5 dircolors +# This file goes in the /etc directory, and must be world readable. +# You can copy this file to .dir_colors in your $HOME directory to override +# the system defaults. + +# COLOR needs one of these arguments: 'tty' colorizes output to ttys, but not +# pipes. 'all' adds color characters to all output. 'none' shuts colorization +# off. +COLOR tty + +# Extra command line options for ls go here. +# Basically these ones are: +# -F = show '/' for dirs, '*' for executables, etc. +# -T 0 = don't trust tab spacing when formatting ls output. +OPTIONS -F -T 0 + +# Below, there should be one TERM entry for each termtype that is colorizable +TERM Eterm +TERM ansi +TERM color-xterm +TERM con132x25 +TERM con132x30 +TERM con132x43 +TERM con132x60 +TERM con80x25 +TERM con80x28 +TERM con80x30 +TERM con80x43 +TERM con80x50 +TERM con80x60 +TERM cons25 +TERM console +TERM cygwin +TERM dtterm +TERM eterm-color +TERM gnome +TERM gnome-256color +TERM jfbterm +TERM konsole +TERM kterm +TERM linux +TERM linux-c +TERM mach-color +TERM mlterm +TERM putty +TERM rxvt +TERM rxvt-256color +TERM rxvt-cygwin +TERM rxvt-cygwin-native +TERM rxvt-unicode +TERM rxvt-unicode-256color +TERM rxvt-unicode256 +TERM screen +TERM screen-256color +TERM screen-256color-bce +TERM screen-bce +TERM screen-w +TERM screen.rxvt +TERM screen.linux +TERM terminator +TERM vt100 +TERM xterm +TERM xterm-16color +TERM xterm-256color +TERM xterm-88color +TERM xterm-color +TERM xterm-debian + +# EIGHTBIT, followed by '1' for on, '0' for off. (8-bit output) +EIGHTBIT 1 + +# Below are the color init strings for the basic file types. A color init +# string consists of one or more of the following numeric codes: +# Attribute codes: +# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed +# Text color codes: +# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white +# Background color codes: +# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white +#NORMAL 00 # no color code at all +#FILE 00 # normal file, use no color at all +RESET 0 # reset to "normal" color +DIR 01;34 # directory +LINK 01;36 # symbolic link (If you set this to 'target' instead of a + # numerical value, the color is as for the file pointed to.) +MULTIHARDLINK 00 # regular file with more than one link +FIFO 40;33 # pipe +SOCK 01;35 # socket +DOOR 01;35 # door +BLK 40;33;01 # block device driver +CHR 40;33;01 # character device driver +ORPHAN 40;31;01 # symlink to nonexistent file, or non-stat'able file +MISSING 01;05;37;41 # ... and the files they point to +SETUID 37;41 # file that is setuid (u+s) +SETGID 30;43 # file that is setgid (g+s) +CAPABILITY 30;41 # file with capability +STICKY_OTHER_WRITABLE 30;42 # dir that is sticky and other-writable (+t,o+w) +OTHER_WRITABLE 34;42 # dir that is other-writable (o+w) and not sticky +STICKY 37;44 # dir with the sticky bit set (+t) and not other-writable + +# This is for files with execute permission: +EXEC 01;32 + +# List any file extensions like '.gz' or '.tar' that you would like ls +# to colorize below. Put the extension, a space, and the color init string. +# (and any comments you want to add after a '#') +# executables (bright green) +#.cmd 01;32 +#.exe 01;32 +#.com 01;32 +#.btm 01;32 +#.bat 01;32 +#.sh 01;32 +#.csh 01;32 + +# archives or compressed (bright red) +.tar 01;31 +.tgz 01;31 +.arc 01;31 +.arj 01;31 +.taz 01;31 +.lha 01;31 +.lzh 01;31 +.lzma 01;31 +.tlz 01;31 +.txz 01;31 +.tzo 01;31 +.t7z 01;31 +.zip 01;31 +.z 01;31 +.Z 01;31 +.dz 01;31 +.gz 01;31 +.lrz 01;31 +.lz 01;31 +.lzo 01;31 +.xz 01;31 +.bz2 01;31 +.bz 01;31 +.tbz 01;31 +.tbz2 01;31 +.tz 01;31 +.deb 01;31 +.rpm 01;31 +.jar 01;31 +.war 01;31 +.ear 01;31 +.sar 01;31 +.rar 01;31 +.alz 01;31 +.ace 01;31 +.zoo 01;31 +.cpio 01;31 +.7z 01;31 +.rz 01;31 +.cab 01;31 + +# image formats (magenta) +.jpg 01;35 +.jpeg 01;35 +.gif 01;35 +.bmp 01;35 +.pbm 01;35 +.pgm 01;35 +.ppm 01;35 +.tga 01;35 +.xbm 01;35 +.xpm 01;35 +.tif 01;35 +.tiff 01;35 +.png 01;35 +.svg 01;35 +.svgz 01;35 +.mng 01;35 +.pcx 01;35 +.mov 01;35 +.mpg 01;35 +.mpeg 01;35 +.m2v 01;35 +.mkv 01;35 +.ogm 01;35 +.mp4 01;35 +.m4v 01;35 +.mp4v 01;35 +.vob 01;35 +.qt 01;35 +.nuv 01;35 +.wmv 01;35 +.asf 01;35 +.rm 01;35 +.rmvb 01;35 +.flc 01;35 +.avi 01;35 +.fli 01;35 +.flv 01;35 +.gl 01;35 +.dl 01;35 +.xcf 01;35 +.xwd 01;35 +.yuv 01;35 +.cgm 01;35 +.emf 01;35 + +# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions +.axv 01;35 +.anx 01;35 +.ogv 01;35 +.ogx 01;35 + +# audio formats (cyan) +.aac 01;36 +.au 01;36 +.flac 01;36 +.mid 01;36 +.midi 01;36 +.mka 01;36 +.mp3 01;36 +.mpc 01;36 +.ogg 01;36 +.ra 01;36 +.wav 01;36 + +# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions +.axa 01;36 +.oga 01;36 +.spx 01;36 +.xspf 01;36 + +# colorize binary documents (brown) +#.pdf 00;33 +#.ps 00;33 +#.ps.gz 00;33 +#.tex 00;33 +#.xls 00;33 +#.xlsx 00;33 +#.ppt 00;33 +#.pptx 00;33 +#.rtf 00;33 +#.doc 00;33 +#.docx 00;33 +#.odt 00;33 +#.ods 00;33 +#.odp 00;33 +#.epub 00;33 +#.abw 00;33 +#.wpd 00;33 +# +# colorize text documents (brown) +#.txt 00;33 +#.patch 00;33 +#.diff 00;33 +#.log 00;33 +#.htm 00;33 +#.html 00;33 +#.shtml 00;33 +#.xml 00;33 diff --git a/dmrc b/dmrc new file mode 100644 index 0000000..7083a13 --- /dev/null +++ b/dmrc @@ -0,0 +1,3 @@ +[Desktop] +Language=en_US.utf8 +Session=mate diff --git a/fonts.conf b/fonts.conf new file mode 100644 index 0000000..7561e62 --- /dev/null +++ b/fonts.conf @@ -0,0 +1,86 @@ + + + + + + + true + + + false + + + true + + + hintslight + + + none + + + lcddefault + + + false + + + + + + + + false + + + + + + + Roboto + + + Noto Sans + + + + + + Courier + + + Liberation Mono + + + + + Courier + + Liberation Mono + + + + + + + false + + + + + + + + + Caladea + + + + + Carlito + + + + + + diff --git a/funcs.bc b/funcs.bc new file mode 100644 index 0000000..4a919c4 --- /dev/null +++ b/funcs.bc @@ -0,0 +1,719 @@ +#!/usr/bin/bc -l + +### Funcs.BC - a large number of functions for use with GNU BC + + ## Not to be regarded as suitable for any purpose + ## Not guaranteed to return correct answers + +scale=50; +define pi() { + auto s; + if(scale==(s=scale(pi_)))return pi_ + if(scale 1, 0.99 -> 0 +define int(x) { auto os;os=scale;scale=0;x/=1;scale=os;return(x) } + +# Round down to integer below x +define floor(x) { + auto os,xx;os=scale;scale=0 + xx=x/1;if(xx>x).=xx-- + scale=os;return(xx) +} + +# Round up to integer above x +define ceil(x) { + auto os,xx;x=-x;os=scale;scale=0 + xx=x/1;if(xx>x).=xx-- + scale=os;return(-xx) +} + +# Fractional part of x: 12.345 -> 0.345 +define frac(x) { + auto os,xx;os=scale;scale=0 + xx=x/1;if(xx>x).=xx-- + scale=os;return(x-xx) +} + +# Absolute value of x +define abs(x) { if(x<0)return(-x)else return(x) } + +# Sign of x +define sgn(x) { if(x<0)return(-1)else if(x>0)return(1);return(0) } + +# Round x up to next multiple of y +define round_up( x,y) { return(y*ceil( x/y )) } + +# Round x down to previous multiple of y +define round_down(x,y) { return(y*floor(x/y )) } + +# Round x to the nearest multiple of y +define round( x,y) { + auto os,oib; + os=scale;oib=ibase + .=scale++;ibase=A + y*=floor(x/y+.5) + ibase=oib;scale=os + return y +} + +# Find the remainder of x/y +define int_remainder(x,y) { + auto os; + os=scale;scale=0 + x/=1;y/=1;x%=y + scale=os + return(x) +} +define remainder(x,y) { + os=scale;scale=0 + if(x==x/1&&y==y/1){scale=os;return int_remainder(x,y)} + scale=os + return(x-round_down(x,y)) +} + +# Greatest common divisor of x and y +define int_gcd(x,y) { + auto r,os; + os=scale;scale=0 + x/=1;y/=1 + while(y>0){r=x%y;x=y;y=r} + scale=os + return(x) +} +define gcd(x,y) { + auto r,os; + os=scale;scale=0 + if(x==x/1&&y==y/1){scale=os;return int_gcd(x,y)} + scale=os + while(y>0){r=remainder(x,y);x=y;y=r} + return(x) +} + +# Lowest common multiple of x and y +define int_lcm(x,y) { + auto r,m,os; + os=scale;scale=0 + x/=1;y/=1 + m=x*y + while(y>0){r=x%y;x=y;y=r} + m/=x + scale=os + return(m) +} +define lcm(x,y) { return (x*y/gcd(x,y)) } + +# Remove largest possible power of 2 from x +define oddpart(x){ + auto os; + os=scale;scale=0;x/=1 + if(x==0){scale=os;return 1} + while(!x%2)x/=2 + scale=os;return x +} + +# Largest power of 2 in x +define evenpart(x) { + auto os; + os=scale;scale=0 + x/=oddpart(x/1) + scale=os;return x +} + +## Trig / Hyperbolic Trig + +# Sine +define sin(x) { return s(x) } # alias for standard library +# Cosine +define c(x) { return s(x+pi()/2) } # as fast or faster than +define cos(x) { return c(x) } # . standard library +# Tangent +define tan(x) { auto c;c=c(x);if(c==0)c=A^-scale;return(s(x)/c) } + +# Secant +define sec(x) { auto c;c=c(x);if(c==0)c=A^-scale;return( 1/c) } +# Cosecant +define cosec(x) { auto s;s=s(x);if(s==0)s=A^-scale;return( 1/s) } +# Cotangent +define cotan(x) { auto s;s=s(x);if(s==0)s=A^-scale;return(c(x)/s) } + +# Arcsine +define arcsin(x) { if(x==-1||x==1)return(pi()/2*x);return( a(x/sqrt(1-x*x)) ) } +# Arccosine +define arccos(x) { if(x==0)return(0);return pi()/2-arcsin(x) } + +# Arctangent (one argument) +define arctan(x) { return a(x) } # alias for standard library + +# Arctangent (two arguments) +define arctan2(x,y) { + auto p; + if(x==0&&y==0)return(0) + p=(1-sgn(y))*pi()*(2*(x>=0)-1)/2 + if(x==0||y==0)return(p) + return(p+a(x/y)) +} + +# Arcsecant +define arcsec(x) { return( a(x/sqrt(x*x-1)) ) } +# Arccosecant +define arccosec(x) { return( a(x/sqrt(x*x-1))+pi()*(sgn(x)-1)/2 ) } +# Arccotangent (one argument) +define arccotan(x) { return( a(x)+pi()/2 ) } +# Arccotangent (two arguments) +define arccotan2(x,y) { return( arctan(x,y)+pi()/2 ) } + +# Hyperbolic Sine +define sinh(x) { auto t;t=e(x);return((t-1/t)/2) } +# Hyperbolic Cosine +define cosh(x) { auto t;t=e(x);return((t+1/t)/2) } +# Hyperbolic Tangent +define tanh(x) { auto t;t=e(x+x)-1;return(t/(t+2)) } + +# Hyperbolic Secant +define sech(x) { auto t;t=e(x);return(2/(t+1/t)) } +# Hyperbolic Cosecant +define cosech(x) { auto t;t=e(x);return(2/(t-1/t)) } +# Hyperbolic Cotangent +define coth(x) { auto t;t=e(x+x)-1;return((t+2)/t) } + +# Hyperbolic Arcsine +define arcsinh(x) { return( l(x+sqrt(x*x+1)) ) } +# Hyperbolic Arccosine +define arccosh(x) { return( l(x+sqrt(x*x-1)) ) } +# Hyperbolic Arctangent +define arctanh(x) { return( l((1+x)/(1-x))/2 ) } + +# Hyperbolic Arcsecant +define arcsech(x) { return( l((sqrt(1-x*x)+1)/x) ) } +# Hyperbolic Arccosecant +define arccosech(x) { return( l((sqrt(1+x*x)*sgn(x)+1)/x) ) } +# Hyperbolic Arccotangent +define arccoth(x) { return( l((x+1)/(x-1))/2 ) } + +# Length of the diagonal vector (0,0)-(x,y) [pythagoras] +define pyth(x,y) { return(sqrt(x*x+y*y)) } +define pyth3(x,y,z) { return(sqrt(x*x+y*y+z*z)) } + +# Gudermannian Function +define gudermann(x) { return 2*(a(e(x))-a(1)) } +# Inverse Gudermannian Function +define arcgudermann(x) { + return arctanh(s(x)) +} + +# Bessel function +define besselj(n,x) { return j(n,x) } # alias for standard library + +## Exponential / Logs + +# Exponential e^x +define exp(x) { return e(x) } # alias for standard library + +# Natural Logarithm (base e) +define ln(x) { + auto os,len,ln; + if(x< 0){print "ln error: logarithm of a negative number\n";return 0} + if(x==0)print "ln error: logarithm of zero; negative infinity\n" + len=length(x)-scale(x)-1 + if(lenlim||(maxmax2||3*length(t)>es+es)&&i>1){cf[i--]=0;break}#cheat: assume rational + if(y==0)break;#completely rational + } + n=1;d=cf[i] + if(i==0){print "id_frac2_: something is wrong; y=",y,", d=",d,"\n"} + if(d!=-2&&i)while(--i){d=n+cf[i]*(t=d);n=t} + if(d2){scale=os;return x^y} + scale=os;x/=1;scale=0 + x=fastintpow__(x,y); + scale=os;return x; +} + +# Raise x to a fractional power faster than e^(y*l(x)) +define fastfracpow_(x,y) { + auto f,yy,inv; + inv=0;if(y<0){y=-y;inv=1} + y-=int(y) + if(y==0)return 1; + if((yy=y*2^C)!=int(yy)){x=l(x);if(inv)x=-x;return e(y/1*x)} + # faster using square roots for rational binary fractions + # where denominator <= 8192 + x=sqrt(x) + for(f=1;y&&x!=1;x=sqrt(x))if(y+=y>=1){.=y--;f*=x} + if(inv)f=1/f; + return f; +} + +# Find the yth root of x where y is integer +define fastintroot_(x,y) { + auto os,d,r,ys,eps; + os=scale;scale=0;y/=1;scale=os + if(y<0){x=1/x;y=-y} + if(y==1){return x} + if(y>=x-1){return fastfracpow_(x,1/y)} + if(y*int((d=2^F)/y)==d){ + r=1;while(r+=r<=y)x=sqrt(x) + return x + } + scale=length(y)-scale(y);if(scale<5)scale=5;r=e(ln(x)/y) + scale=os+5;if(scale<5)scale=5 + d=1;eps=A^(3-scale) + ys=y-1 + while(d>eps){ + d=r;r=(ys*r+x/fastintpow_(r,ys))/y + d-=r;if(d<0)d=-d + } + scale=os + return r/1 +} + +# Raise x to the y-th power +define pow(x,y) { + auto os,p,ix,iy,fy,dn,s; + if(y==0) return 1 + if(x==0) return 0 + if(00) print "even root" + if(dn<0) print "irrational power" + print " of a negative number\n" + scale=os;return 0 + } + if(y==iy) { + if(x==ix){p=fastintpow_(ix,iy);if(iy>0){scale=0;p/=1};scale=os;return p/1} + scale+=scale;p=fastintpow_(x,iy);scale=os;return p/1 + } + if((dn=id_frac2_(y))!=-2){ #accurate rational roots (sometimes slower) + if(dn<0)dn=-dn + s=1;if(y<0){y=-y;s=-1} + p=y*dn+1/2;scale=0;p/=1;scale=os + if(p=A^3)x=fastintpow_(x,p) + if(s<0)x=1/x + return x + } + p=fastintpow_(ix,iy)*fastfracpow_(x,fy); + scale=os+os + if(ix)p*=fastintpow_(x/ix,iy) + scale=os + return p/1 + #The above is usually faster and more accurate than + # return( e(y*l(x)) ); +} + +# y-th root of x [ x^(1/y) ] +define root(x,y) { + return pow(x,1/y) +} + +# Specific cube root function +# = stripped down version of fastintroot_(x,3) +define cbrt(x) { + auto os,d,r,eps; + if(x<0)return -cbrt(-x) + if(x==0)return 0 + os=scale;scale=0;eps=A^(scale/3) + if(xeps){ + d=r;r=(r+r+x/(r*r))/3 + d-=r;if(d<0)d=-d + } + scale=os + return r/1 +} + +# Logarithm of x in given base: log(2, 32) = 5 because 2^5 = 32 +# tries to return a real answer where possible when given negative numbers +# e.g. log(-2, 64) = 6 because (-2)^6 = 64 +# likewise log(-2,-128) = 7 because (-2)^7 = -128 +define log(base,x) { + auto os,i,l,sx,dn,dnm2; + if(base==x)return 1; + if(x==0){print "log error: logarithm of zero; negative infinity\n"; return l(0)} + if(x==1)return 0; + if(base==0){print "log error: zero-based logarithm\n"; return 0 } + if(base==1){print "log error: one-based logarithm; positive infinity\n";return -l(0)} + scale+=6 + if((-1A){c*=int_log(base,A);c-=2*(base<4)}else{c=0}}else{c/=length(base)+1} + p=base^c;while(p<=x){.=c++;p*=base} + scale=os;return(c-1) +} + +# Lambert's W function 0 branch; Numerically solves w*e(w) = x for w +# * is slow to converge near -1/e at high scales +define lambertw0(x) { + auto oib, a, b, w, ow, lx, ew, e1, eps; + if(x==0) return 0; + oib=ibase;ibase=A + ew = -e(-1) + if (x5000) { + lx*=l(A);w=lx-(1-1/lx)*l(lx) + } else { + lx=l(x);w=l(x-4)-(1-1/lx)*l(lx) + } + # Iteration adapted from code found on Wikipedia + # apparently by an anonymous user at 147.142.207.26 + # and later another at 87.68.32.52 + ow = 0 + eps = A^-scale + scale += 5 + e1 = e(1) + while(abs(ow-w)>eps&&w>-1){ + ow = w + if(x>0){ew=pow(e1,w)}else{ew=e(w)} + a = w*ew + b = a+ew + a -= x; + if(a==0)break + b = b/a - 1 + 1/(w+1) + w -= 1/b + if(x<-0.367)w-=eps + } + scale -= 5 + ibase=oib + return w/1 +} + +# Lambert's W function -1 branch; Numerically solves w*e(w) = x for w +# * is slow to converge near -1/e at high scales +define lambertw_1(x) { + auto oib,os,oow,ow,w,ew,eps,d,iters; + oib=ibase;ibase=A + ew = -e(-1) + if(ew>x||x>=0) { + print "lambertw_1: expected argument in [-1/e,0)\n" + ibase=oib + if(x==0)return 1-A^scale + if(x>0)return 0 + return -1 + } + if(x==ew) return -1; + os=scale + eps=A^-os + scale+=3 + oow=ow=0 + w=x + w=l(-w) + w-=l(-w) + w+=sqrt(eps) + iters=0 + while(abs(ow-w)>eps){ + oow=ow;ow=w + if(w==-1)break + w=(x*e(-w)+w*w)/(w+1) + if(iters++==A+A||oow==w){iters=0;w-=A^-scale;scale+=2} + } + scale=os;ibase=oib + return w/1 +} + +# LambertW wrapper; takes most useful branch based on x +# to pick a branch manually, use lambertw_1 or lambertw0 directly +define w(x) { + if(x<0)return lambertw_1(x) + return lambertw0(x) +} + +# Faster calculation of lambertw0(exp(x)) +# . avoids large intermediate value and associated slowness +# . numerically solves x = y+ln(y) for y +define lambertw0_exp(x) { + auto oy,y,eps; + # Actual calculation is faster for x < 160 or thereabouts + if(xeps)y=x-l(oy=y) + return y +} + +# Shorthand alias for the above +define w_e(x){ return lambertw0_exp(x) } + +# Numerically solve pow(y,y) = x for y +define powroot(x) { + auto r; + if(x==0) { + print "powroot error: attempt to solve for zero\n" + return 0 + } + if(x==1||x==-1) {return x} + if(x<=r=e(-e(-1))){ + print "powroot error: unimplemented for values\n <0";r + return 0 + } + r = ln(x) + r /= w(r) + return r +} + +## Triangular numbers + +# xth triangular number +define tri(x) { + auto xx + x=x*(x+1)/2;xx=int(x) + if(x==xx)return(xx) + return(x) +} + +# 'triangular root' of x +define trirt(x) { + auto xx + x=(sqrt(1+8*x)-1)/2;xx=int(x) + if(x==xx)x=xx + return(x) +} + +# Workhorse for following 2 functions +define tri_step_(t,s) { + auto tt + t=t+(1+s*sqrt(1+8*t))/2;tt=int(t) + if(tt==t)return(tt) + return(t) +} + +# Turn tri(x) into tri(x+1) without knowing x +define tri_succ(t) { + return(tri_step_(t,0+1)) +} + +# Turn tri(x) into tri(x-1) without knowing x +define tri_pred(t) { + return(tri_step_(t,0-1)) +} + +## Polygonal Numbers + +# the xth s-gonal number: +# e.g. poly(3, 4) = tri(4) = 1+2+3+4 = 10; poly(4, x) = x*x, etc +define poly(s, x) { + auto xx + x*=(s/2-1)*(x-1)+1;xx=int(x);if(x==xx)x=xx + return x +} + +# inverse of the above = polygonal root: +# e.g. inverse_poly(3,x)=trirt(x); inverse_poly(4,x)=sqrt(x), etc +define inverse_poly(s, r) { + auto t,xx + t=(s-=2)-2 + r=(sqrt(8*s*r+t*t)+t)/s/2;xx=int(r);if(r==xx)r=xx + return r +} + +# converse of poly(); solves poly(s,x)=r for s +# i.e. if the xth polygonal number is r, how many sides has the polygon? +# e.g. if the 5th polygonal number is 15, converse_poly(5,15) = 3 +# so the polygon must have 3 sides! (15 is the 5th triangular number) +define converse_poly(x,r) { + auto xx + x=2*((r/x-1)/(x-1)+1);xx=int(x);if(x==xx)x=xx + return x +} + +## Tetrahedral numbers + +# nth tetrahedral number +define tet(n) { return n*(n+1)*(n+2)/6 } + +# tetrahedral root = inverse of the above +define tetrt(t) { + auto k,c3,w; + if(t==0)return 0 + if(t<0)return -2-tetrt(-t) + k=3^5*t*t-1 + if(k<0){print "tetrt: unimplemented for 0<|t|eps){ox=x;x+=x/n*(n-arigeomean(1,x))} + } + x+=5*eps + scale-=6;return x*y/s +} diff --git a/gpg-agent.conf b/gpg-agent.conf new file mode 100644 index 0000000..a5b1768 --- /dev/null +++ b/gpg-agent.conf @@ -0,0 +1,2 @@ +#pinentry-program /usr/bin/pinentry-curses +allow-loopback-pinentry diff --git a/gpg.conf b/gpg.conf new file mode 100644 index 0000000..a1c1d6d --- /dev/null +++ b/gpg.conf @@ -0,0 +1,2 @@ +default-key XXXXXXXX +#pinentry-mode loopback diff --git a/gtk-3.0-settings.ini b/gtk-3.0-settings.ini new file mode 100644 index 0000000..0f26b6c --- /dev/null +++ b/gtk-3.0-settings.ini @@ -0,0 +1,17 @@ +[Settings] +gtk-theme-name=TraditionalOk +gtk-icon-theme-name=Fog +gtk-font-name=Luxi Sans 12 +gtk-cursor-theme-name=mate +gtk-cursor-theme-size=24 +gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ +gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR +gtk-button-images=1 +gtk-menu-images=1 +gtk-enable-event-sounds=0 +gtk-enable-input-feedback-sounds=0 +gtk-dialogs-use-header=1 +gtk-xft-antialias=1 +gtk-xft-hinting=1 +gtk-xft-hintstyle=hintslight +gtk-xft-rgba=none diff --git a/gtkrc-2.0 b/gtkrc-2.0 new file mode 100644 index 0000000..40e7a9d --- /dev/null +++ b/gtkrc-2.0 @@ -0,0 +1,19 @@ +# DO NOT EDIT! This file will be overwritten by LXAppearance. +# Any customization should be done in ~/.gtkrc-2.0.mine instead. + +gtk-theme-name="TraditionalOk" +gtk-icon-theme-name="Fog" +gtk-font-name="Luxi Sans 12" +gtk-cursor-theme-name="mate" +gtk-cursor-theme-size=24 +gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ +gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR +gtk-button-images=1 +gtk-menu-images=1 +gtk-enable-event-sounds=0 +gtk-enable-input-feedback-sounds=0 +gtk-xft-antialias=1 +gtk-xft-hinting=1 +gtk-xft-hintstyle="hintslight" +gtk-xft-rgba="none" +include ".gtkrc-2.0.mine" diff --git a/mailrc b/mailrc new file mode 100644 index 0000000..69760d6 --- /dev/null +++ b/mailrc @@ -0,0 +1,17 @@ +account smtps_example { + set from=me@mydomain.com + set smtp-hostname=my.laptop + set mta=smtps://login:password@smtp.server:465 + set smtp-auth=login + set tls-verify=ignore + set v15-compat=1 +} +account starttls_example { + set from=user@my.laptop + set smtp-hostname=my.laptop + set mta=smtp://login:password@mail.server:465 + set smtp-use-starttls + set smtp-auth=plain + set tls-verify=ignore + set v15-compat=1 +} diff --git a/muttrc b/muttrc new file mode 100644 index 0000000..9538a37 --- /dev/null +++ b/muttrc @@ -0,0 +1,37 @@ +# general settings +set editor=vim +#set pager="less -c" +set help +set include +set noprompt_after +set reply_to +set read_inc=25 +set write_inc=25 +set sort=threads +set nomove + +# header configuration +ignore * +unignore from: to: date: subject: cc: reply-to: + +# color definitions +color hdrdefault cyan black +color quoted green black +color signature cyan black +color attachment brightyellow black +color indicator black cyan +color status brightgreen blue +color tree red black +color markers brightred black +color tilde blue black +#color header brightgreen black ^From: +#color header brightcyan black ^To: +#color header brightcyan black ^Reply-To: +#color header brightcyan black ^Cc: +#color header brightblue black ^Subject: +#color body brightred black [\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+ +#color body brightblue black (http|ftp)://[\-\.\,/%~_:?\#a-zA-Z0-9]+ + +# attributes when using a mono terminal +mono header underline ^(From|Subject): +mono quoted bold diff --git a/netrc b/netrc new file mode 100644 index 0000000..f3d83e1 --- /dev/null +++ b/netrc @@ -0,0 +1 @@ +machine dav.server.com login user@host.com password XXXXXXXX diff --git a/petrifiedrc b/petrifiedrc new file mode 100644 index 0000000..4bcdb26 --- /dev/null +++ b/petrifiedrc @@ -0,0 +1,15 @@ +DDNS_KEY= +DDNS_CHECK="http://4.icanhazip.com" +CURL_WAIT=10 +LOCAL_MODE=1 +LOCAL_IF=wlp3s0 +LOCAL_IV=4 +USE_JOURNAL=1 +USE_SYSLOG=0 +USE_STDOUT=0 +USE_LOGFILE=0 +PET_LOG=/var/log/petrified.log +USE_PID=1 +PET_PID=/tmp/petrified.pid +USE_LIP=1 +PET_LIP=/tmp/lastip.dat diff --git a/pikaur.conf b/pikaur.conf new file mode 100644 index 0000000..3639edc --- /dev/null +++ b/pikaur.conf @@ -0,0 +1,48 @@ +[sync] +alwaysshowpkgorigin = no +develpkgsexpiration = -1 +upgradesorting = pkgname +showdownloadsize = no +ignoreoutofdateaurupgrades = no + +[build] +keepbuilddir = no +keepdevbuilddir = no +skipfailedbuild = no +alwaysusedynamicusers = no +keepbuilddeps = no +ignorearch = no + +[colors] +version = 10 +versiondiffold = 11 +versiondiffnew = 9 + +[ui] +requireenterconfirm = yes +printcommands = no +reversesearchsorting = no +aursearchsorting = hottest +displaylastupdated = no +groupbyrepository = yes + +[misc] +sudoloopinterval = -1 +pacmanpath = pacman +debug = no +privilegeescalationtool = sudo + +[network] +socks5proxy = +aururl = https://aur.archlinux.org +newsurl = https://www.archlinux.org/feeds/news/ +aurhttpproxy = +aurhttpsproxy = + +[review] +noedit = yes +donteditbydefault = yes +nodiff = yes +gitdiffargs = --ignore-space-change,--ignore-all-space +diffpager = auto +hidedifffiles = .SRCINFO diff --git a/profile.osx b/profile.osx new file mode 100644 index 0000000..e49f9dd --- /dev/null +++ b/profile.osx @@ -0,0 +1,5 @@ +PATH=$PATH:~/bin +PS1='[\u@\h $PWD]\n$ ' +CLICOLOR=1 +LSCOLORS="Exfxcxdxbxegedabagacad" +export PATH PS1 CLICOLOR LSCOLORS diff --git a/qtrc b/qtrc new file mode 100644 index 0000000..6ae4a10 --- /dev/null +++ b/qtrc @@ -0,0 +1,3 @@ +[General] +enableXft=true +useXft=true diff --git a/screenrc b/screenrc new file mode 100644 index 0000000..3337674 --- /dev/null +++ b/screenrc @@ -0,0 +1 @@ +startup_message off diff --git a/toprc b/toprc new file mode 100644 index 0000000..ea2f258 --- /dev/null +++ b/toprc @@ -0,0 +1,15 @@ +top's Config File (Linux processes with windows) +Id:i, Mode_altscr=0, Mode_irixps=1, Delay_time=3.0, Curwin=0 +Def fieldscur=¥&K¨³´»½@·º¹56ÄFÅ')*+,-./0128<>?ABCGHIJLMNOPQRSTUVWXYZ[\]^_`abcdefghij + winflags=192564, sortindx=18, maxtasks=0, graph_cpus=0, graph_mems=0 + summclr=1, msgsclr=1, headclr=3, taskclr=1 +Job fieldscur=¥¦¹·º(³´Ä»½@<§Å)*+,-./012568>?ABCFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghij + winflags=163124, sortindx=0, maxtasks=0, graph_cpus=2, graph_mems=0 + summclr=6, msgsclr=6, headclr=7, taskclr=6 +Mem fieldscur=¥º»<½¾¿ÀÁMBNÃD34·Å&'()*+,-./0125689FGHIJKLOPQRSTUVWXYZ[\]^_`abcdefghij + winflags=163124, sortindx=21, maxtasks=0, graph_cpus=2, graph_mems=0 + summclr=5, msgsclr=5, headclr=4, taskclr=5 +Usr fieldscur=¥¦§¨ª°¹·ºÄÅ)+,-./1234568;<=>?@ABCFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghij + winflags=163124, sortindx=3, maxtasks=0, graph_cpus=2, graph_mems=0 + summclr=3, msgsclr=3, headclr=2, taskclr=3 +Fixed_widest=0, Summ_mscale=0, Task_mscale=1, Zero_suppress=0 diff --git a/vimrc b/vimrc new file mode 100644 index 0000000..f77beaf --- /dev/null +++ b/vimrc @@ -0,0 +1,174 @@ +" ~/.vimrc + +" This must be first - it changes other options as a side effect +set nocompatible " use Vim settings, rather then Vi settings + +set shortmess+=I " get rid of the intro screen on blank file +set background=dark " this works better for text mode white-on-black terms +set backspace=2 " allow backspacing over everything in insert mode +set esckeys " allow cursor keys in insert mode +set noautoindent " always set autoindenting off +set shiftwidth=4 " number of spaces used for autoindent insertions +set tabstop=4 " tabstop positions + +set nobackup " backups are for wimps +set history=250 " keep 250 lines of command line history + +set noerrorbells " damn that beep to hell +set visualbell " enable terminal visual bell, but... +set t_vb= " ...unset the code to do it. (MacVim needs this) +set magic " use 'magic' patterns (extended regexp) in search +set ignorecase " ignore case during searches +set smartcase " all lower/upper = case insensitive, \c \C overrides + +set laststatus=2 " show status line, even if only one buffer +set report=0 " show report on all (0) changes +set lazyredraw " do not update screen while executing macros +set ruler " show the cursor position all the time +set showcmd " show current uncompleted command +set showmode " show current mode +set showmatch " show matching brackets + +" tone down that dang bold highlighting, folks +" highlight=8b,db,es,hs,mb,Mn,nu,rs,sr,tb,vr,ws +set highlight=8r,db,es,hs,mb,Mr,nu,rs,sr,tb,vr,ws + +" do not jump to first character with page commands, ie keep the cursor +" in the current column. +set nostartofline + +" what info to store from an editing session in the viminfo file +set viminfo='50,\"100,:100,n~/.viminfo + +" allow the last line to be a modeline - useful when +" the last line gives the preferred textwidth +set modeline +set modelines=1 + +" add the dash ('-'), the dot ('.'), and the '@' as "letters" to "words". +" this makes it possible to expand email addresses, eg: joe-www@foo.org +set iskeyword=@,48-57,_,192-255,-,.,@-@ + +" which chars/keys to allow eol wrapping (:help whichwrap) +set whichwrap=<,>,[,] + +" enable wrapping but without linebreaks +set wrap +set linebreak +set nolist " list disables linebreak +set textwidth=0 +set wrapmargin=0 +set formatoptions+=l + +" When you forgot to sudo before editing a file +cmap w!! w !sudo tee > /dev/null % + +" When the backspace key sends a "delete" character +" then you simply map the "delete" to a "backspace" (CTRL-H): +map + +" Don't use Ex mode, use Q for formatting +map Q gq + +" Make shift-insert work like in Xterm +map +map! + +" Make p in Visual mode replace the selected text with the "" register. +vnoremap p :let current_reg = @"gvdi=current_reg + +" Switch syntax highlighting on, when the terminal has colors +" Also switch on highlighting the last used search pattern. +if &t_Co > 2 || has("gui_running") + syntax on + set hlsearch +endif + +" GVIM preferences +if has("gui_running") + " CUA Mode (shift+arrows select in insert mode, etc.) + source $VIMRUNTIME/mswin.vim + + set showtabline=2 " always show the tab bar + set guioptions-=tT " turn off the menu tearoffs + set guicursor+=a:blinkon0 " turn off the blinking cursor + set t_Co=256 " 256 colors + set lines=26 columns=80 " we like 80x24 + + " mostly mimic cli colors from syncolor.vim - white text, black bg + hi Normal guifg=White guibg=Black gui=NONE + hi Comment guifg=LightBlue gui=NONE + hi Constant guifg=LightMagenta gui=NONE + hi Special guifg=LightRed gui=NONE + hi Identifier guifg=Cyan gui=NONE + hi Statement guifg=Yellow gui=NONE + hi PreProc guifg=LightBlue gui=NONE + hi Type guifg=LightGreen gui=NONE + hi Underlined guifg=LightBlue gui=NONE + hi Ignore guifg=Black gui=NONE + hi Error guifg=White guibg=Red gui=NONE + hi Todo guifg=Blue guibg=Yellow gui=NONE + + hi link String Constant + hi link Character Constant + hi link Number Constant + hi link Boolean Constant + hi link Float Number + hi link Function Identifier + hi link Conditional Statement + hi link Repeat Statement + hi link Label Statement + hi link Operator Statement + hi link Keyword Statement + hi link Exception Statement + hi link Include PreProc + hi link Define PreProc + hi link Macro PreProc + hi link PreCondit PreProc + hi link StorageClass Type + hi link Structure Type + hi link Typedef Type + hi link Tag Special + hi link SpecialChar Special + hi link Delimiter Special + hi link SpecialComment Special + hi link Debug Special + + let os=substitute(system('uname'), '\n', '', '') + if os == 'Darwin' || os == 'Mac' + set guifont=Menlo:h16 + elseif os == 'Linux' + set guifont=Monospace\ 12 + endif + + function! GuiTabLabel() + let label = '' + let bufnrlist = tabpagebuflist(v:lnum) + " Add '+' if one of the buffers in the tab page is modified + for bufnr in bufnrlist + if getbufvar(bufnr, "&modified") + let label = '+' + break + endif + endfor + " Append the tab number + let label .= v:lnum.': ' + " Append the buffer name + let name = bufname(bufnrlist[tabpagewinnr(v:lnum) - 1]) + if name == '' + " give a name to no-name documents + if &buftype=='quickfix' + let name = '[Quickfix]' + else + let name = '[No Name]' + endif + else + " get only the file name + let name = fnamemodify(name,":t") + endif + let label .= name + return label + endfunction + set guitablabel=%{GuiTabLabel()} + +endif