From 306a9288b8a55bb19309c9369e0660e92fcd826b Mon Sep 17 00:00:00 2001 From: dgy Date: Fri, 19 Aug 2022 14:09:56 -0300 Subject: vamos de a poco --- cwm/cwmrc | 55 + dfc/dfcrc | 68 + exrc | 29 + fontconfig/conf.d/68-color-emoji.conf | 25 + fontconfig/conf.d/68-noto-sans-cjk.conf | 49 + fontconfig/conf.d/68-noto-serif-cjk.conf | 49 + fontconfig/conf.d/68-unifont.conf | 104 + fontconfig/fonts.conf | 66 + git/config | 124 + git/gitignore | 126 + gtk-3.0/gtk.css | 60 + gtk-3.0/settings.ini | 18 + htop/htoprc | 42 + ksh/.kshrc | 14 + ksh/conf/alias.ksh | 56 + ksh/conf/complete.ksh | 18 + ksh/conf/fonts.ksh | 10 + ksh/conf/fzf.ksh | 42 + ksh/conf/prompt.ksh | 41 + ksh/tmux.ksh | 55 + lf/lfrc | 281 +++ lynx.cfg | 3831 ++++++++++++++++++++++++++++++ lynx.lss | 115 + tmux/tmux.conf | 105 + wget/wgetrc | 8 + 25 files changed, 5391 insertions(+) create mode 100644 cwm/cwmrc create mode 100644 dfc/dfcrc create mode 100644 exrc create mode 100644 fontconfig/conf.d/68-color-emoji.conf create mode 100644 fontconfig/conf.d/68-noto-sans-cjk.conf create mode 100644 fontconfig/conf.d/68-noto-serif-cjk.conf create mode 100644 fontconfig/conf.d/68-unifont.conf create mode 100644 fontconfig/fonts.conf create mode 100644 git/config create mode 100644 git/gitignore create mode 100644 gtk-3.0/gtk.css create mode 100644 gtk-3.0/settings.ini create mode 100644 htop/htoprc create mode 100644 ksh/.kshrc create mode 100644 ksh/conf/alias.ksh create mode 100644 ksh/conf/complete.ksh create mode 100755 ksh/conf/fonts.ksh create mode 100755 ksh/conf/fzf.ksh create mode 100644 ksh/conf/prompt.ksh create mode 100644 ksh/tmux.ksh create mode 100644 lf/lfrc create mode 100644 lynx.cfg create mode 100644 lynx.lss create mode 100644 tmux/tmux.conf create mode 100644 wget/wgetrc diff --git a/cwm/cwmrc b/cwm/cwmrc new file mode 100644 index 0000000..325914e --- /dev/null +++ b/cwm/cwmrc @@ -0,0 +1,55 @@ +color activeborder "#000000" +color inactiveborder darkslategray +color urgencyborder firebrick +color menubg "#1d2021" +color menufg "#44475a" +color font "#f8f8f2" +color selfont "#f8f8f2" +htile 100 +vtile 100 +snapdist 2 +borderwidth 1 +sticky yes +unbind-mouse all +unbind-key all +bind-key 4-space menu-exec +bind-key 4-s menu-window +bind-key 4-w window-close +bind-key 4S-w window-delete +bind-key 4-BackSpace window-hide +bind-key 4-Down window-lower +bind-key 4-Up window-raise +bind-key 4-Tab window-cycle +bind-key 4S-Tab window-rcycle +bind-key 4S-f window-fullscreen +bind-key 4-equal window-vmaximize +bind-key 4S-equal window-hmaximize +bind-key 4-f window-maximize +bind-key 4-v window-vtile +bind-key 4S-v window-htile +bind-key CM-r restart +bind-key CM-l lock +bind-key CM-q quit +bind-key 4-z "xterm" +bind-key 4-b "links -g" +bind-key 4-1 group-only-1 +bind-key 4-2 group-only-2 +bind-key 4-3 group-only-3 +bind-key 4-4 group-only-4 +bind-key 4-5 group-only-5 +bind-key 4-6 group-only-6 +bind-key 4-7 group-only-7 +bind-key 4-8 group-only-8 +bind-key 4-9 group-only-9 +bind-key 4S-1 window-movetogroup-1 +bind-key 4S-2 window-movetogroup-2 +bind-key 4S-3 window-movetogroup-3 +bind-key 4S-4 window-movetogroup-4 +bind-key 4S-5 window-movetogroup-5 +bind-key 4S-6 window-movetogroup-6 +bind-key 4S-7 window-movetogroup-7 +bind-key 4S-8 window-movetogroup-8 +bind-key 4S-9 window-movetogroup-9 + +bind-mouse 4-1 window-move +bind-mouse 4-3 window-resize diff --git a/dfc/dfcrc b/dfc/dfcrc new file mode 100644 index 0000000..3088d0f --- /dev/null +++ b/dfc/dfcrc @@ -0,0 +1,68 @@ +# Optional configuration file for dfc + +# Colors used for the default text output +# Possible values are: +# - black +# - red +# - green +# - yellow +# - blue +# - magenta +# - cyan +# - white +# Note: it only concerns foreground colors + +# Display bold font or extra light colors +# Note: This might work differently on some terminals +# Use either "yes" or "no" +bold_font = no + +# Header color +color_header = blue +# Color when usage is low +color_low = green +# Color when usage is medium +color_medium = yellow +# Color when usage is high +color_high = red + +# Values in percent when color changes in the graph +# starting value from which usage is considered medium +graph_medium = 50 +# starting value from which usage is considered high +graph_high = 75 + +# Symbol used for the graph (can be any ASCII symbol) +graph_symbol = = + +# You can also choose the colors for the HTML export +# Color values can take any of html recognized value +# For instance, this is white: #FFFFFF +# This is red: #FF0000 +# Etc. +# NOTE: you MUST ommit the # sign when setting it here +# (white becomes FFFFFF and so on) + +# Header background color (also used in footer) +html_color_header_bg = 970000 +# Header font color (also used in footer) +html_color_header_fg = FFFFFF +# Cell background color +html_color_cell_bg = E9E9E9 +# Cell font color +html_color_cell_fg = 000000 +# Background color on mouse hover +html_color_hover_bg = FFFFFF +# Font color on mouse hover +html_color_hover_fg = 000000 +# Color when usage is low +html_color_low = 348017 +# Color when usage is medium +html_color_medium = FDD017 +# Color when usage is high +html_color_high = F62217 + +# separator for CSV export +csv_separator = , + +# vim: set noet syn=conf diff --git a/exrc b/exrc new file mode 100644 index 0000000..e73ce63 --- /dev/null +++ b/exrc @@ -0,0 +1,29 @@ +set autoindent +set ignorecase +set nolist +set magic +set mesg +set number +set ruler +set shiftwidth=4 +set showmatch +set showmode +set tabstop=4 +set tildeop +set windowname +set wraplen=80 +set leftright +set extended +set iclower +set searchincr +set para=BlBdPpIt +set sect=ShSs +map ZZ m +map ) 0 +map 0 ^ +map - $ +map W b +map m ' +map M ` +map Y y$ +map gg 1G diff --git a/fontconfig/conf.d/68-color-emoji.conf b/fontconfig/conf.d/68-color-emoji.conf new file mode 100644 index 0000000..0bd9b0a --- /dev/null +++ b/fontconfig/conf.d/68-color-emoji.conf @@ -0,0 +1,25 @@ + + + + + + + + Emoji + + + true + + + hintslight + + + true + + + + diff --git a/fontconfig/conf.d/68-noto-sans-cjk.conf b/fontconfig/conf.d/68-noto-sans-cjk.conf new file mode 100644 index 0000000..6c5d84d --- /dev/null +++ b/fontconfig/conf.d/68-noto-sans-cjk.conf @@ -0,0 +1,49 @@ + + + + + Noto Sans CJK Auto + + ja + + + Noto Sans CJK JP + + + + Noto Sans CJK Auto + + zh-cn + + + Noto Sans CJK SC + + + + Noto Sans CJK Auto + + zh-tw + + + Noto Sans CJK TC + + + + Noto Sans CJK Auto + + zh-hk + + + Noto Sans CJK TC + + + + Noto Sans CJK Auto + + ko + + + Noto Sans CJK KR + + + diff --git a/fontconfig/conf.d/68-noto-serif-cjk.conf b/fontconfig/conf.d/68-noto-serif-cjk.conf new file mode 100644 index 0000000..88dedf5 --- /dev/null +++ b/fontconfig/conf.d/68-noto-serif-cjk.conf @@ -0,0 +1,49 @@ + + + + + Noto Serif CJK Auto + + ja + + + Noto Serif CJK JP + + + + Noto Serif CJK Auto + + zh-cn + + + Noto Serif CJK SC + + + + Noto Serif CJK Auto + + zh-tw + + + Noto Serif CJK TC + + + + Noto Serif CJK Auto + + zh-hk + + + Noto Serif CJK TC + + + + Noto Serif CJK Auto + + ko + + + Noto Serif CJK KR + + + diff --git a/fontconfig/conf.d/68-unifont.conf b/fontconfig/conf.d/68-unifont.conf new file mode 100644 index 0000000..1d8c463 --- /dev/null +++ b/fontconfig/conf.d/68-unifont.conf @@ -0,0 +1,104 @@ + + + + + + + + unifont + + + .ttf + + + 16 + + + roman + + + false + + + + + + + unifont + + + .ttf + + + false + + + false + + + hintnone + + + + + + + + unifont_upper.ttf + + + Unifont + + + Unifont + + + 8 + + + + + + unifont_csur.ttf + + + Unifont + + + Unifont + + + 8 + + + + + Unifont Upper + + Unifont + + + + + Unifont CSUR + + Unifont + + + + + Unifont Upper CSUR + + Unifont + + + + diff --git a/fontconfig/fonts.conf b/fontconfig/fonts.conf new file mode 100644 index 0000000..84136c5 --- /dev/null +++ b/fontconfig/fonts.conf @@ -0,0 +1,66 @@ + + + + + serif + + Tinos + Liberation Serif + DejaVu Serif + + + + sans-serif + + Arimo + Liberation Sans + DejaVu Sans + + + + sans + + Arimo + Liberation Sans + DejaVu Sans + + + + monospace + + Cousine + Liberation Mono + DejaVu Sans Mono + + + + + + 10 + false + + + + + true + + + true + + + false + + + hintslight + + + rgb + + + lcddefault + + + true + + + diff --git a/git/config b/git/config new file mode 100644 index 0000000..2c2c738 --- /dev/null +++ b/git/config @@ -0,0 +1,124 @@ +[alias] + st = status + co = checkout + fx = commit --fixup=HEAD + ci = commit -v + cm = commit -m + ri = rebase -i --autosquash + wc = whatchanged + ass = add + amend = commit --amend -v + full = show --format=fuller + noed = commit --amend --no-edit + vl = log --color --stat --pretty=fuller + tr = log --graph --date-order --date=short --pretty=format:'%C(cyan)%h%Creset -%C(auto)%d %C(yellow)%s %C(blue)(%ar) %Creset<%an>' + fz = !sha=$( git -c color.ui=auto log --oneline -n 1000 | fzf +s --no-multi --prompt 'Fixup> ' ) && git commit --fixup "${sha%% *}" + fr = !sha=$( git -c color.ui=auto log --oneline -n 1000 | fzf +s --no-multi --prompt 'Revert> ' ) && git revert "${sha%% *}" + wd = "!f() { git --paginate diff --dirstat=cumulative,files,0 ${1:-HEAD} | awk '{print $2}' | cut -d / -f1-${2:-4} | sort | uniq; }; f" + +[http] + sslVerify = true + +[core] + autocrlf = input + whitespace = warn + excludesfile = /home/ghoul/.config/git/gitignore + pager = "{ \ + COLUMNS=$(tput cols); \ + if [ $COLUMNS -ge 80 ] && [ -z $FZF_PREVIEW_COLUMNS ]; then \ + delta --side-by-side -w $COLUMNS; \ + elif [ $COLUMNS -ge 160 ] && [ ! -z $FZF_PREVIEW_COLUMNS ]; then \ + delta --side-by-side -w $FZF_PREVIEW_COLUMNS; \ + else \ + delta; \ + fi \ + }" + +[interactive] + diffFilter = delta --color-only + +[delta] + side-by-side = false + line-numbers = true + syntax-theme = gruvbox-dark + hunk-header-style = omit + file-style = blue + file-decoration-style = blue ul ol + zero-style = dim syntax + minus-non-emph-style = dim red + minus-emph-style = bold red 52 + minus-empty-line-marker-style = normal "#3f0001" + plus-non-emph-style = dim green + plus-emph-style = bold green 22 + plus-empty-line-marker-style = normal "#002800" + whitespace-error-style = reverse white + file-added-label = [+] + file-copied-label = [C] + file-modified-label = [M] + file-removed-label = [-] + file-renamed-label = [R] + line-numbers-left-format = "{nm:>1} " + line-numbers-right-format = "{np:>1} " + line-numbers-minus-style = red italic + line-numbers-plus-style = green italic + +[web] + browser = firefox + +[credential] + helper = /usr/local/libexec/git/git-credential-cache + +[merge] + log = true + tool = nvimerge + conflictstyle = diff3 + +[mergetool "nvimerge"] + cmd = nvim -d \"$LOCAL\" \"$MERGED\" \"$BASE\" \"$REMOTE\" -c \"wincmd w\" -c \"wincmd J\" + +[mergetool] + prompt = false + keepBackup = false + +[diff] + colorMoved = default + algorithm = patience + tool = nvimdiff + renames = copies + submodule = log + +[difftool "nvimdiff"] + cmd = nvim -d \"$LOCAL\" \"$REMOTE\" -c \"wincmd w\" -c \"wincmd L\" + trustexitcode = true + +[commit] + gpgsign = true + verbose = true + +[status] + branch = true + +[color] + diff = auto + status = auto + branch = auto + ui = auto + +[rerere] + enabled = true + +[grep] + lineNumber = true + extendRegexp = true + +[gpg] + program = gpg2 + +[log] + decorate = short + +[include] + path = config.local + +[help] + autocorrect = 1 diff --git a/git/gitignore b/git/gitignore new file mode 100644 index 0000000..35d86be --- /dev/null +++ b/git/gitignore @@ -0,0 +1,126 @@ +# Files # +################### +~/.local/share/numbers/ +~/.config/zsh/histfile +~/.config/zsh/other.zsh +~/.config/X11/Xauthority +.git/* +.config/gtk-2.0/gtkfilechooser.ini +.config/gtk-3.0/bookmarks +.config/nvim/plugged +.config/dconf/* +.config/GIMP +.history +.zcompcache +.zcompdump +/node_modules/* +jspm_packages/ +.eslintcache +.idea +.vagrant +__pycache__ +*.egg-info +.cache +.yarnrc +.w3m +.DS_Store +.DS_Store? +._* +.Spotlight-V100 +.Trashes +packer_compiled.lua +ehthumbs.db +Thumbs.db +desktop.ini +Desktop.ini +*.pyo +*.pyc +*~ +*.bak +*.swp +.Trash-* +.nfs* +.lock +*.swp +*.out +*.eot +*.woff +*.otf +*.ttf +*.torrent +*.resume +*.dat +*.pd +*.pd_linux +*.pem + +# Compiled source # +################### +*.com +*.class +*.dll +*.exe +*.msi +*.o +*.so +*.obj +*.manifest +*.rbc +*.bin + +# Packages # +############ +# it's better to unpack these files and commit the raw source +# git has its own built in compression methods +*.7z +*.dmg +*.gz +*.iso +*.jar +*.rar +*.tar +*.tar.* +*.zip +*.tgz +*.doc +*.cbr +*.cbz +pkg/ + +# Logs and databases # +###################### +*.log.* +*.sig +*.log +*.sql +*.sqlite +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Video # +######### +*.wmv +*.mpg +*.mpeg +*.mp4 +*.mov +*.flv +*.avi +*.ogv +*.ogg +*.webm +*.mkv +*.vob +*.srt +*.vtt + +# Audio # +######### +*.wav +*.mp3 +*.wma +*.oga +*.ogg +*.flac +*.m4a diff --git a/gtk-3.0/gtk.css b/gtk-3.0/gtk.css new file mode 100644 index 0000000..654954b --- /dev/null +++ b/gtk-3.0/gtk.css @@ -0,0 +1,60 @@ +.window-frame, +.window-frame:backdrop { + box-shadow: none; + border-style: none; + margin: 0; + border-radius: 0; +} + +.titlebar { + border-radius: 0; +} + +window decoration { + margin: 0; +} + +VteTerminal, +vte-terminal { + padding: 5px; + padding-bottom: 1px; +} + +.termite { + padding: 2px 10px; +} + +.window-frame.csd.popup { + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.13); +} + +.header-bar { + background-image: none; + background-color: #ededed; + box-shadow: none; +} + +/* You may want to use this if you don't like the double title. +GtkLabel.title { + opacity: 0; +}*/ + +headerbar.default-decoration { + padding-top: 0; + padding-bottom: 0; + min-height: 0; + font-size: 0.8em; +} + +headerbar.default-decoration button.titlebutton { + padding: 0; + min-height: 0; +} + +/* Remove dotted lines from GTK+ 3 applications */ +undershoot.top, +undershoot.right, +undershoot.bottom, +undershoot.left { + background-image: none; +} \ No newline at end of file diff --git a/gtk-3.0/settings.ini b/gtk-3.0/settings.ini new file mode 100644 index 0000000..c4a0917 --- /dev/null +++ b/gtk-3.0/settings.ini @@ -0,0 +1,18 @@ +[Settings] +gtk-theme-name=Zukitre-dark +gtk-icon-theme-name=Adwaita +gtk-font-name=Sans 10 +gtk-cursor-theme-name=Adwaita +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=0 +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=rgb +gtk-modules=gail:atk-bridge +gtk-key-theme-name=Default diff --git a/htop/htoprc b/htop/htoprc new file mode 100644 index 0000000..356e445 --- /dev/null +++ b/htop/htoprc @@ -0,0 +1,42 @@ +# Beware! This file is rewritten by htop when settings are changed in the interface. +# The parser is also very primitive, and not human-friendly. +htop_version=3.1.2 +config_reader_min_version=2 +fields=0 48 39 2 46 47 49 1 +sort_key=47 +sort_direction=1 +tree_sort_key=0 +tree_sort_direction=1 +hide_kernel_threads=1 +hide_userland_threads=1 +shadow_other_users=0 +show_thread_names=0 +show_program_path=1 +highlight_base_name=1 +highlight_deleted_exe=1 +highlight_megabytes=1 +highlight_threads=1 +highlight_changes=1 +highlight_changes_delay_secs=5 +find_comm_in_cmdline=1 +strip_exe_from_cmdline=1 +show_merged_command=0 +tree_view=1 +tree_view_always_by_pid=0 +all_branches_collapsed=0 +header_margin=0 +detailed_cpu_time=0 +cpu_count_from_one=1 +show_cpu_usage=1 +show_cpu_frequency=0 +update_process_names=0 +account_guest_in_cpu_meter=0 +color_scheme=0 +enable_mouse=0 +delay=15 +hide_function_bar=0 +header_layout=two_50_50 +column_meters_0=Blank AllCPUs2 Blank +column_meter_modes_0=2 1 2 +column_meters_1=Blank CPU Memory Tasks +column_meter_modes_1=2 2 2 2 diff --git a/ksh/.kshrc b/ksh/.kshrc new file mode 100644 index 0000000..76638bb --- /dev/null +++ b/ksh/.kshrc @@ -0,0 +1,14 @@ +#!/bin/ksh + +[[ -x /etc/ksh.kshrc ]] && . /etc/ksh.kshrc + +[ -n "$DISPLAY" ] && . $HOME/.config/ksh/tmux.ksh + +for f in $HOME/.config/ksh/conf/*; do + . "${f}" +done + +set -o emacs +set -o braceexpand +export HISTFILE="$HOME/.config/ksh/.ksh_history" +export HISTSIZE=16384 diff --git a/ksh/conf/alias.ksh b/ksh/conf/alias.ksh new file mode 100644 index 0000000..11caebf --- /dev/null +++ b/ksh/conf/alias.ksh @@ -0,0 +1,56 @@ +if command -v colorls > /dev/null ; then + LS='colorls' +else + LS='ls' +fi + +# Programas +alias \ + v="$EDITOR" \ + m='neomutt' \ + xi="doas pkg_add" \ + vv='nvi' \ + se="doas nvim" \ + irc='irssi --config="$XDG_CONFIG_HOME"/irssi/config --home="$XDG_DATA_HOME"/irssi' \ + del='doas pkg_delete -cmvvv' \ + updatedb='doas /usr/libexec/locate.updatedb' + +# Tmux +alias tmux='tmux -2' +if [[ -n $TMUX ]]; then + alias txa='tmux switch-client -t' +else + alias txa='tmux attach-session -t' +fi +alias \ + txn='tmux new-session -s' \ + txk='tmux kill-session -t' \ + txz='tmux kill-server' + +# MAXIMUM VERBOSITY YIELDS MAXIMUM RESULTS +alias \ + mv='mv -iv' \ + mkdir='mkdir -p' \ + cp='cp -Raiv' \ + rm='rm -iv' \ + mount='doas mount -v' \ + umount='doas umount -v' + +# Con opciones por defecto +alias \ + ls="$LS -FAGt" \ + ll='ls -cohltFAG' \ + df='df -hT --total' \ + free='free -ht' \ + du='du -sh' \ + ping='ping -c 5' \ + dfc='dfc -dmT' \ + wget='wget --no-hsts' \ + +# Comandos +alias \ + tplano='mosh tplano' \ + reboot='doas shutdown -r now' \ + shutdown='doas shutdown -p now' \ + pwn='chmod +x' \ + rat='tar -xf' diff --git a/ksh/conf/complete.ksh b/ksh/conf/complete.ksh new file mode 100644 index 0000000..c9db4c2 --- /dev/null +++ b/ksh/conf/complete.ksh @@ -0,0 +1,18 @@ +#!/bin/ksh + +complete() { + if type "$1" >/dev/null + then + typeset cmd="$1" + typeset num="$2" + shift 2 + set -A "complete_${cmd}${num:+"_$num"}" -- "$@" + fi +} + +complete sysctl "" $(sysctl | sed 's/[ =].*//') +complete rcctl 1 disable enable get ls order set restart start stop +complete rcctl 2 $(rcctl ls all) +complete git 1 $(git --list-cmds=main) +complete kill 1 -9 -HUP -INFO -KILL -TERM +complete pkill 1 -9 -HUP -INFO -KILL -TERM diff --git a/ksh/conf/fonts.ksh b/ksh/conf/fonts.ksh new file mode 100755 index 0000000..6a088f2 --- /dev/null +++ b/ksh/conf/fonts.ksh @@ -0,0 +1,10 @@ +if [ ! -z $DISPLAY ]; then + [[ -d ~/.fonts ]] && xset +fp ~/.fonts 2>/dev/null + [[ -d ~/.local/share/fonts ]] && xset +fp ~/.local/share/fonts/ 2>/dev/null + + for font in /usr/local/share/fonts/*; do + xset +fp "${font}" 2>/dev/null + done + + xset fp rehash +fi diff --git a/ksh/conf/fzf.ksh b/ksh/conf/fzf.ksh new file mode 100755 index 0000000..c9f5b46 --- /dev/null +++ b/ksh/conf/fzf.ksh @@ -0,0 +1,42 @@ +OHMY_DO=${OHMY_DO:-doas} + +zh() { + fc -ln | eval $(fzf) +} + +zpkg() { + local _pkg _usage + + _usage="zpkg add|rm" + + if [ ! -f /usr/local/share/sqlports ]; then + echo "please install sqlports" + return 1 + fi + + if [ ! -e /usr/local/bin/sqlite3 ]; then + echo "please install sqlite3" + return 1 + fi + + if [ -z $1 ]; then + echo $_usage + return 1 + else + case $1 in + add) + _pkg=$(/usr/local/bin/sqlite3 -separator " " \ + /usr/local/share/sqlports \ + "select distinct fullpkgname from Ports;" |\ + fzf --preview "/usr/sbin/pkg_info {1}") + [ ! -z $_pkg ] && ${OHMY_DO} /usr/sbin/pkg_add $_pkg + ;; + rm) + _pkg=$(ls -1 /var/db/pkg | fzf --preview "/usr/sbin/pkg_info {1}") + [ ! -z $_pkg ] && ${OHMY_DO} /usr/sbin/pkg_delete $_pkg + ;; + *) + echo $_usage + esac + fi +} diff --git a/ksh/conf/prompt.ksh b/ksh/conf/prompt.ksh new file mode 100644 index 0000000..0d654fe --- /dev/null +++ b/ksh/conf/prompt.ksh @@ -0,0 +1,41 @@ +#function _promp { +# if [[ $(id -u) -eq 0 ]]; then +# local SUFFIX='\w \$:' +# else +# local SUFFIX='\033[34m\w \033[1;33m\076\033[0m' +# fi +# print "$SUFFIX" +#} +# +#export PS1=' +#$(_promp)' + +PS1='$( + case "$PWD/" in + ("$HOME"/*) + _cwd="~${PWD#"${HOME}"}";; + (*) + cwd="$PWD";; + esac + + _rprompt="$_cwd" + _cols=$((COLUMNS - ${#_rprompt})) + + if [ $(id -u) -eq 0 ] + then + _color="1;31m" + else + _color="1;33m" + fi + + printf "\n" + printf "\\\\[\e[0m\\\\]\\\\[\e[s\\\\]" + printf "\\\\[\e[%sG\\\\]" "$_cols" + printf "%s" "$_rprompt" + printf "\\\\[\e[u\\\\]" + printf "\\\\[\e[%s\\\\]" "$_color" + printf "> " + printf "\\\\[\e[0m\\\\]" +)' + +trap 'printf "\e[1;31mEXIT: %s\e[0m\n" "$?"' ERR diff --git a/ksh/tmux.ksh b/ksh/tmux.ksh new file mode 100644 index 0000000..a760988 --- /dev/null +++ b/ksh/tmux.ksh @@ -0,0 +1,55 @@ +tmux_new_session() { + if [[ -n $TMUX ]]; then + tmux switch-client -t "$(TMUX= tmux -S "${TMUX%,*,*}" new-session -dP "$@")" + else + echo -n "Nombre de Sesión: " + read REPLY + if [[ -n $REPLY ]]; then + tmux -2 new-session -s "$REPLY" + else + tmux -2 new-session + fi + fi +} + +tmux_sessions() { + # Select existing session or create session with fuzzy search tool + # get the IDs + if ! ID="$(tmux list-sessions 2>/dev/null)"; then + # tmux returned error, so try cleaning up /tmp + \rm -rf /tmp/tmux* + fi + create_new_session="Crear Sesión" + if [[ -n "$ID" ]]; then + ID="${create_new_session}:\n$ID" + else + ID="${create_new_session}:" + fi + ID="$(echo "$ID" | fzf | cut -d: -f1)" + if [[ "$ID" == "${create_new_session}" ]]; then + tmux_new_session + elif [[ -n "$ID" ]]; then + if [[ -n $TMUX ]]; then + tmux switch-client -t "$ID" + else + tmux attach-session -t "$ID" + fi + else + : # Start terminal normally + fi +} + +tmux_base_session(){ +# create base session, then prompt for others +client_cnt="$(tmux list-clients 2>/dev/null | wc -l)" +if [[ $client_cnt -eq 0 ]]; then + tmux -2 new-session -d -s z + tmux -2 attach-session -t z +else + tmux_sessions +fi +} + +if [[ -z $TMUX ]]; then + tmux_base_session +fi diff --git a/lf/lfrc b/lf/lfrc new file mode 100644 index 0000000..d43f862 --- /dev/null +++ b/lf/lfrc @@ -0,0 +1,281 @@ +# Basic Settings +set shell sh +set shellopts '-eu' +set ifs "\n" +set errorfmt "\033[1;31m%s\033[0m" +set promptfmt "\033[34;1m%d\033[0m\033[1m%f\033[0m" +set scrolloff 5 +set wrapscroll +set sortby time +set info size:time +set reverse +set incsearch +set period 1 +set hidden +set preview +#set previewer lfview +set ratios 2:4 + +%[ $LF_LEVEL -eq 1 ] || echo "Warning: You're in a nested lf instance!" + +# Custom Functions +cmd open ${{ + case $(file --mime-type "$(readlink -f $f)" -b) in + text/*|application/json) vix "$f";; + image/svg+xml) display -- $f ;; + image/*) nsxiv-rifle $f 2>/dev/null & ;; + audio/*) mpv $f ;; + video/*) mpv $f -quiet >/dev/null 2>&1 & ;; + *) xdg-open "$f" &>/dev/null &;; + esac +}} + +cmd bulkrename ${{ + old=$(mktemp) + new=$(mktemp) + [ -n $fs ] && fs=$(ls) + printf "$fs\n" > $old + printf "$fs\n" > $new + $EDITOR $new + [ $(cat $new | wc -l) -ne $(cat $old | wc -l) ] && exit + paste $old $new | while read names; do + src=$(printf $names | cut -f1) + dst=$(printf $names | cut -f2) + [ $src = $dst ] && continue + [ -e $dst ] && continue + mv $src $dst + done + rm $old $new + lf -remote "send $id unselect" +}} + +# insert +cmd rename-insert &{{ + if [ "$(echo "$fx" | wc -l)" -gt 1 ]; then + lf -remote "send $id echo You can't change more than one file name" + lf -remote "send $id unselect" + else + len="$(basename "$f" | wc -m)" # length of selected file/directory + for i in $(seq "$len"); do + pos="${pos}" # how many times do I have to press in order to get first char + done + lf -remote "send $id rename" + lf -remote "send $id push $pos" + fi +}} + +# append before ext +cmd rename-before-ext &{{ + if [ "$(echo "$fx" | wc -l)" -gt 1 ]; then + lf -remote "send $id echo You can't change more than one file name" + lf -remote "send $id unselect" + else + if [ -d "$f" ]; then + lf -remote "send $id rename" + else + ext_len="$(echo ${f##*.} | wc -m)" # extention length + for i in $(seq "$ext_len"); do + pos="${pos}" + done + lf -remote "send $id rename" + lf -remote "send $id push "$pos"" + fi + fi +}} + +# change its name entirely +cmd rename-new &{{ + if [ "$(echo "$fx" | wc -l)" -gt 1 ]; then + lf -remote "send $id echo You can't change more than one file name" + lf -remote "send $id unselect" + else + lf -remote "send $id rename" + lf -remote "send $id push " + fi +}} + +cmd paste-rsync &{{ + set -- $(cat ~/.local/share/lf/files) + mode="$1" + shift + case "$mode" in + copy) + rsync -av --ignore-existing --progress -- "$@" . | + stdbuf -i0 -o0 -e0 tr '\r' '\n' | + while IFS= read -r line; do + lf -remote "send $id echo $line" + done + ;; + move) mv -n -- "$@" .;; + esac + rm ~/.local/share/lf/files + lf -remote "send clear" +}} + +cmd paste-overwrite %{{ + mode=$(head -1 ~/.local/share/lf/files) + list=$(sed 1d ~/.local/share/lf/files) + if [ $mode = 'copy' ]; then + cp -R $list . + elif [ $mode = 'move' ]; then + mv $list . + fi + lf -remote 'send clear' +}} + +cmd fzf_jump ${{ + res="$(find . -maxdepth 3 | sed "s|^\./||" | fzf --reverse --header='Jump to location' | sed 's/\\/\\\\/g;s/"/\\"/g')" + if [ -d "$res" ]; then + cmd="cd" + else + cmd="select" + fi + lf -remote "send $id $cmd \"$res\"" +}} + +cmd Link %{{ + lf -remote 'load' | while read file; do + if [ ! -n "${mode+1}" ]; then + mode="$file" + continue + fi + files+=("$file") + done + if [ "${#files[@]}" -le 1 ]; then + lf -remote "send $id echo no files to link" + exit 0 + fi + # symbolicly copy mode is indicating a soft link + if [[ "$mode" == copy ]]; then + ln -sr $files -t . + # while a move mode is indicating a hard link + elif [[ "$mode" == move ]]; then + ln $files -t . + fi +}} + +cmd git_branch ${{ + git branch | iomenu | xargs git checkout + pwd_shell=$(pwd) + lf -remote "send $id updir" + lf -remote "send $id cd \"$pwd_shell\"" +}} + +# toggle single column view +cmd no_preview :{{ + set nopreview + set ratios 2 + set info size:time + map ~ yes_preview +}} + +cmd yes_preview :{{ + set ratios 2:2 + set preview + set info + map ~ no_preview +}} + +cmd yank-dirname $dirname -- "$f" | head -c-1 | xclip -i -selection clipboard +cmd yank-path $printf '%s' "$fx" | xclip -i -selection clipboard +cmd yank-basename $basename -a -- $fx | head -c-1 | xclip -i -selection clipboard + +cmd yank-basename-without-extension ${{ + echo "$fx" | + xargs -r -d '\n' basename -a | + awk -e '{ + for (i=length($0); i > 0; i--) { + if (substr($0, i, 1) == ".") { + if (i == 1) print $0 + else print substr($0, 0, i-1) + + break + } + } + + if (i == 0) + print $0 + }' | + if [ -n "$fs" ]; then cat; else tr -d '\n'; fi | + xclip -i -selection clipboard +}} + +cmd mkdir $mkdir -p "$(echo $* | tr ' ' '\ ')" + +# Bindings +# Remove some defaults +map "'" +map '"' +map m +map n +map d +map p +map w +map y +map c +map / +map r +map G + +cmap cmd-escape + +map push A # new rename +map cut +map copy +map reload +map push $touch +map push :mkdir +map delete +map paste + +map open +map delete +map . set hidden! +map ~ no_preview +map | top +map ¿ bottom +map x clear +map dd cut +map yy copy +map yn yank-dirname +map yp yank-path +map yn yank-basename +map yw yank-basename-without-extension +map pp paste +map po paste-overwrite +map pr paste-rsync +map o &mimeopen $f +map O $mimeopen --ask $f +map cx $chmod +x "$f" +map bg $setbg $f +map du %du -sh $f +map Y %cp -ri $fs . +map D %mv -i $fs . +map zf $file-roller "$f" +map zx $zx "$f" +map I push A # at the very beginning +map A rename # at the very end +map i push A # at the very beginning +map a push A # after extention +map B bulkrename +map L :Link +map f fzf_jump + +map Gb :git_branch +map Gp ${{clear; git pull --rebase || true; echo "press ENTER"; read ENTER}} +map Gs ${{clear; git status; echo "press ENTER"; read ENTER}} +map Gl ${{clear; git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit}} +map da $git add $fx + +# Movement +map gR cd / +map gE cd /etc +map gl cd ~/.local/share +map gb cd ~/.local/bin +map g. cd ~/.config +map gn cd ~/.config/nvim +map gd cd ~/doc +map ga cd ~/src +map ge cd ~/etc +map gi cd ~/img +map gu cd ~/usb diff --git a/lynx.cfg b/lynx.cfg new file mode 100644 index 0000000..b2d9fdc --- /dev/null +++ b/lynx.cfg @@ -0,0 +1,3831 @@ +# $LynxId: lynx.cfg,v 1.302 2018/07/08 15:22:44 tom Exp $ +# lynx.cfg file. +# The default placement for this file is /usr/local/lib/lynx.cfg (Unix) +# or Lynx_Dir:lynx.cfg (VMS) +# +# $Format: "#PRCS LYNX_VERSION \"$ProjectVersion$\""$ +#PRCS LYNX_VERSION "2.8.9rel.1" +# +# $Format: "#PRCS LYNX_DATE \"$ProjectDate$\""$ +#PRCS LYNX_DATE "Sun, 08 Jul 2018 06:46:06 -0400" +# +# Definition pairs (configuration settings) are of the form +# VARIABLE:DEFINITION +# NO spaces are allowed around the colon ":" between the pair items. +# +# If you do not have write access to /usr/local/lib you may change +# the default location of this file in the userdefs.h file and recompile, +# or specify its location on the command line with the "-cfg" +# command line option. +# +# Items may be commented out by putting a '#' as the FIRST char of the line +# (Any line beginning with punctuation is ignored). Leading blanks on each +# line are ignored; trailing blanks may be significant depending on the option. + +# In most cases, a definition can be overridden by another later in the +# file, or in an including configuration file. You can see the effect of +# definitions (and redefinitions) in the trace file Lynx.log by using the +# "-trace" and "-trace-mask" options, e.g., +# lynx -trace -trace-mask=8 + +# As a documentation aid, the default values for each setting are shown +# commented-out. By convention, these default value comments have no space +# after the "#", e.g., +# #HTTP_PROTOCOL:1.0 + +# An HTML'ized description of all settings (based on comments in this file, +# with alphabetical table of settings and with table of settings by category) +# is available at https://lynx.invisible-island.net/release/breakout/lynx_help/cattoc.html +# +### The conversion is done via the scripts/cfg2html.pl script. +### Several directives beginning with '.' are used for this purpose. + +.h1 Auxiliary Facilities +# These settings control the auxiliary navigating facilities of lynx, e.g., +# jumpfiles, bookmarks, default URLs. + +.h2 INCLUDE +# Starting with Lynx 2.8.1, the lynx.cfg file has a crude "include" +# facility. This means that you can take advantage of the global lynx.cfg +# while also supplying your own tweaks. +# +# You can use a command-line argument (-cfg /where/is/lynx.cfg) or an +# environment variable (LYNX_CFG=/where/is/lynx.cfg). +# For instance, put in your .profile or .login: +# +# LYNX_CFG=~/lynx.cfg; export LYNX_CFG # in .profile for sh/ksh/bash/etc. +# setenv LYNX_CFG ~/lynx.cfg # in .login for [t]csh +# +# Then in ~/lynx.cfg: +# +# INCLUDE:/usr/local/lib/lynx.cfg +# ^^^^^^^^^^^^^^^^^^^^^^^ or whatever is appropriate on your system +# and now your own tweaks. If you omit the directory name, e.g., +# +# INCLUDE:lynx.cfg +# +# then lynx first checks if it is in any of the directories listed in the +# environment variable LYNX_CFG_PATH, then tries the directory of the default +# config-file. +# +# You can also suppress all but specific settings that will be read from +# included files. This allows sysadmins to provide users the ability to +# customize lynx with options that normally do not affect security, such as +# COLOR, VIEWER, KEYMAP. +# +# The syntax is +# +# INCLUDE:filename for +# +# sample: +.ex +#INCLUDE:~/lynx.cfg for COLOR VIEWER KEYMAP +# only one space character should surround the word 'for'. On Unix systems ':' +# is also accepted as separator. In that case, the example can be written as +.ex +#INCLUDE:~/lynx.cfg:COLOR VIEWER KEYMAP +# In the example, only the settings COLOR, VIEWER and KEYMAP are accepted by +# lynx. Other settings are ignored. Note: INCLUDE is also treated as a +# setting, so to allow an included file to include other files, put INCLUDE in +# the list of allowed settings. +# +# If you allow an included file to include other files, and if a list of +# allowed settings is specified for that file with the INCLUDE command, nested +# files are only allowed to include the list of settings that is the set AND of +# settings allowed for the included file and settings allowed by nested INCLUDE +# commands. In short, there is no security hole introduced by including a +# user-defined configuration file if the original list of allowed settings is +# secure. + +.h2 STARTFILE +# STARTFILE is the default starting URL if none is specified +# on the command line or via a WWW_HOME environment variable; +# Lynx will refuse to start without a starting URL of some kind. +# STARTFILE can be remote, e.g. http://www.w3.org/default.html , +# or local, e.g. file://localhost/PATH_TO/FILENAME , +# where PATH_TO is replaced with the complete path to FILENAME +# using Unix shell syntax and including the device on VMS. +# +# Normally we expect you will connect to a remote site, e.g., the Lynx starting +# site: +STARTFILE:https://www.openbsd.org/ +# +# As an alternative, you may want to use a local URL. A good choice for this is +# the user's home directory: +.ex +#STARTFILE:file://localhost/~/ +# +# Your choice of STARTFILE should reflect your site's needs, and be a URL that +# you can connect to reliably. Otherwise users will become confused and think +# that they cannot run Lynx. + +.h2 HELPFILE +# HELPFILE must be defined as a URL and must have a +# complete path if local: +# file://localhost/PATH_TO/lynx_help/lynx_help_main.html +# Replace PATH_TO with the path to the lynx_help subdirectory +# for this distribution (use SHELL syntax including the device +# on VMS systems). +# The default HELPFILE is: +.url https://lynx.invisible-island.net/lynx_help/lynx_help_main.html +# This should be changed to the local path. +# This definition will be overridden if the "LYNX_HELPFILE" environment +# variable has been set. +# +#HELPFILE:https://lynx.invisible-island.net/lynx_help/lynx_help_main.html +.ex +HELPFILE:file://localhost/usr/local/share/doc/lynx/lynx_help/lynx_help_main.html + +.h2 DEFAULT_INDEX_FILE +# DEFAULT_INDEX_FILE is the default file retrieved when the +# user presses the 'I' key when viewing any document. +# An index to your CWIS can be placed here or a document containing +# pointers to lots of interesting places on the web. +# +DEFAULT_INDEX_FILE:http://scout.wisc.edu/ + +.h1 Interaction + +.h2 GOTOBUFFER +# Set GOTOBUFFER to TRUE if you want to have the previous goto URL, +# if any, offered for reuse or editing when using the 'g'oto command. +# The default is defined in userdefs.h. If left FALSE, the circular +# buffer of previously entered goto URLs can still be invoked via the +# Up-Arrow or Down-Arrow keys after entering the 'g'oto command. +# +#GOTOBUFFER:FALSE + +.h2 JUMP_PROMPT +# JUMP_PROMPT is the default statusline prompt for selecting a jumps file +# shortcut. (see below). +# You can change the prompt here from that defined in userdefs.h. Any +# trailing white space will be trimmed, and a single space is added by Lynx +# following the last non-white character. You must set the default prompt +# before setting the default jumps file (below). If a default jumps file +# was set via userdefs.h, and you change the prompt here, you must set the +# default jumps file again (below) for the change to be implemented. +# +#JUMP_PROMPT:Jump to (use '?' for list): + +.h1 Auxiliary Facilities + +.h2 JUMPFILE +# JUMPFILE is the local file checked for short-cut names for URLs when +# the user presses the 'j' (JUMP) key. The file contains an HTML +# definition list (DL). The definition titles (DT) are used as +# short-cut name; the definition data (DD) are URLs. +# +# There is an example jumps file in the samples subdirectory. +# +# After pressing 'j', the user will be prompted to enter a short-cut +# name for an URL, which Lynx will then follow in a similar manner to +# 'g'oto; alternatively, s/he can enter '?' to view the full JUMPFILE +# list of short-cuts with associated URLs. +# +# If the URL contains one or more "%s" markers, Lynx will prompt the user +# for text to fill in for each marker. If no text is given, the jump is +# cancelled. +# +# If not defined here or in userdefs.h, the JUMP command will invoke the +# NO_JUMPFILE statusline message (see LYMessages_en.h ). +# +# To allow '?' to work, include in the JUMPFILE +# a short-cut to the JUMPFILE itself, e.g. +#
?
This Shortcut List +# +# On VMS, use Unix SHELL syntax (including a lead slash) to define it. +# +# Alternate jumps files can be defined and mapped to keys here. If the +# keys have already been mapped, then those mappings will be replaced, +# but you should leave at least one key mapped to the default jumps +# file. You optionally may include a statusline prompt string for the +# mapping. You must map upper and lowercase keys separately (beware of +# mappings to keys which the user can further remap via the 'o'ptions +# menu). The format is: +# +# JUMPFILE:path:key[:prompt] +# +# where path should begin with a '/' (i.e., not include file://localhost). +# Any white space following a prompt string will be trimmed, and a single +# space will be added by Lynx. +# +# In the following line, include the actual full local path to JUMPFILE, +# but do not include 'file://localhost' in the line. +#JUMPFILE:/FULL_LOCAL_PATH/jumps.html +.ex +#JUMPFILE:/Lynx_Dir/ips.html:i:IP or Interest group (? for list): + +.h2 JUMPBUFFER +# Set JUMPBUFFER to TRUE if you want to have the previous jump target, +# if any, offered for reuse or editing when using the 'J'ump command. +# The default is defined in userdefs.h. If left FALSE, the circular +# buffer of previously entered targets (shortcuts) can still be invoked +# via the Up-Arrow or Down-Arrow keys after entering the 'J'ump command. +# If multiple jumps files are installed, the recalls of shortcuts will +# be specific to each file. If Lynx was built with PERMIT_GOTO_FROM_JUMP +# defined, any random URLs used instead of shortcuts will be stored in the +# goto URL buffer, not in the shortcuts buffer(s), and the single character +# ':' can be used as a target to invoke the goto URL buffer (as if 'g'oto +# followed by Up-Arrow had been entered). +# +#JUMPBUFFER:FALSE + +.h1 Internal Behavior + +.h2 SAVE_SPACE +# If SAVE_SPACE is defined, it will be used as a path prefix for the +# suggested filename in "Save to Disk" operations from the 'p'rint or +# 'd'ownload menus. On VMS, you can use either VMS (e.g., "SYS$LOGIN:") +# or Unix syntax (including '~' for the HOME directory). On Unix, you +# must use Unix syntax. If the symbol is not defined, or is zero-length +# (""), no prefix will be used, and only a filename for saving in the +# current default directory will be suggested. +# This definition will be overridden if a "LYNX_SAVE_SPACE" environment +# variable has been set on Unix, or logical has been defined on VMS. +# +#SAVE_SPACE:~/foo/ + +.h2 REUSE_TEMPFILES +# Lynx uses temporary files for (among other purposes) the content of +# various user interface pages. REUSE_TEMPFILES changes the behavior +# for some of these temp files, among them pages shown for HISTORY, +# VLINKS, OPTIONS, INFO, PRINT, DOWNLOAD commands. +# If set to TRUE, the same file can be used multiple times for the same +# purpose. If set to FALSE, a new filename is generated each time before +# rewriting such a page. With TRUE, repeated invocation of these commands +# is less likely to push previous documents out of the cache of rendered +# texts (see also DEFAULT_CACHE_SIZE). This is especially useful with +# intermittent (dialup) network connections, when it is desirable to +# continue browsing through the cached documents after disconnecting. +# With the default setting of FALSE, there can be more than one incarnation +# of e.g. the VLINKS page cached in memory (but still only the most recently +# generated one is kept as a file), resulting in sometimes less surprising +# behaviour when returning to such a page via HISTORY or PREV_DOC functions +# (most users will not encounter and notice this difference). +# +#REUSE_TEMPFILES:FALSE + +.h2 LYNX_HOST_NAME +# If LYNX_HOST_NAME is defined here or in userdefs.h, it will be +# treated as an alias for the local host name in checks for URLs on +# the local host (e.g., when the -localhost switch is set), and this +# host name, "localhost", and HTHostName (the fully qualified domain +# name of the system on which Lynx is running) will all be passed as +# local. A different definition here will override that in userdefs.h. +# +#LYNX_HOST_NAME:www.cc.ukans.edu + +.h2 LOCALHOST_ALIAS +# localhost aliases +# Any LOCALHOST_ALIAS definitions also will be accepted as local when +# the -localhost switch is set. These need not actually be local, i.e., +# in contrast to LYNX_HOST_NAME, you can define them to trusted hosts at +# other Internet sites. +# +.ex 2 +#LOCALHOST_ALIAS:gopher.server.domain +#LOCALHOST_ALIAS:news.server.domain + +.h2 LOCAL_DOMAIN +# LOCAL_DOMAIN is used for a tail match with the ut_host element of +# the utmp or utmpx structure on systems with utmp capabilities, to +# determine if a user is local to your campus or organization when +# handling -restrictions=inside_foo or outside_foo settings for ftp, +# news, telnet/tn3270 and rlogin URLs. An "inside" user is assumed +# if your system does not have utmp capabilities. CHANGE THIS here +# if it was not changed in userdefs.h at compilation time. +# +#LOCAL_DOMAIN:ukans.edu + +.h1 Session support + +.h2 AUTO_SESSION +# If AUTO_SESSION is TRUE lynx will save/restore useful information about +# your browsing history when closing/starting current lynx session if +# no command-line session switches override this setting. +# This setting is useful only if SESSION_FILE is defined here or in the user's +# .lynxrc file. +# +#AUTO_SESSION:FALSE + +.h2 SESSION_FILE +# SESSION_FILE defines the file name where lynx will store user sessions. +# This setting is used only when AUTO_SESSION is true. +# Note: the default setting will store/resume each session in a different +# folder under same file name (if that is allowed by operating system) +# when lynx is invoked from different directories. +# (The current working directory may be changed inside lynx) +# +# If you want to use the same session file wherever you invoke Lynx, +# enter the full path below, eg '/home//.lynx_session'. +# +# If you do not want this feature, leave the setting commented. +# Users can still customize SESSION_FILE and AUTO_SESSION via +# their .lynxrc file. +# +#SESSION_FILE:lynx_session + +.h2 SESSION_LIMIT +# SESSION_LIMIT defines maximum number of: searched strings, goto URLs, +# visited links and history entries which will be saved in session file. The +# minimum allowed is 1, the maximum is 10000. +# +# For instance, if SESSION_LIMIT is 250, a per-session limit of 250 entries of +# searched strings, goto URLs, visited links and history entries will be saved +# in the session file. +# +# There is no fixed limit on the number of entries which can be restored; +# It is limited only by available memory. +# +#SESSION_LIMIT:250 + +.h1 Character Sets + +.h2 CHARACTER_SET +# CHARACTER_SET defines the display character set, i.e., assumed to be +# installed on the user's terminal. It determines which characters or strings +# will be used to represent 8-bit character entities within HTML. New +# character sets may be defined as explained in the README files of the +# src/chrtrans directory in the Lynx source code distribution. For Asian (CJK) +# character sets, it also determines how Kanji code will be handled. The +# default is defined in userdefs.h and can be changed here or via the +# 'o'ptions menu. The 'o'ptions menu setting will be stored in the user's RC +# file whenever those settings are saved, and thereafter will be used as the +# default. For Lynx a "character set" has two names: a MIME name (for +# recognizing properly labeled charset parameters in HTTP headers etc.), and a +# human-readable string for the 'O'ptions Menu (so you may find info about +# language or group of languages besides MIME name). Not all 'human-readable' +# names correspond to exactly one valid MIME charset (example is "Chinese"); +# in that case an appropriate valid (and more specific) MIME name should be +# used where required. Well-known synonyms are also processed in the code. +# +# Raw (CJK) mode +# +# Lynx normally translates characters from a document's charset to display +# charset, using ASSUME_CHARSET value (see below) if the document's charset +# is not specified explicitly. Raw (CJK) mode is OFF for this case. +# When the document charset is specified explicitly, that charset +# overrides any assumption like ASSUME_CHARSET or raw (CJK) mode. +# +# For the Asian (CJK) display character sets, the corresponding charset is +# assumed in documents, i.e., raw (CJK) mode is ON by default. In raw CJK +# mode, 8-bit characters are not reverse translated in relation to the entity +# conversion arrays, i.e., they are assumed to be appropriate for the display +# character set. The mode should be toggled OFF when an Asian (CJK) display +# character set is selected but the document is not CJK and its charset not +# specified explicitly. +# +# Raw (CJK) mode may be toggled by user via '@' (LYK_RAW_TOGGLE) key, +# the -raw command line switch or from the 'o'ptions menu. +# +# Raw (CJK) mode effectively changes the charset assumption about unlabeled +# documents. You can toggle raw mode ON if you believe the document has a +# charset which does correspond to your Display Character Set. On the other +# hand, if you set ASSUME_CHARSET the same as Display Character Set you get raw +# mode ON by default (but you get assume_charset=iso-8859-1 if you try raw mode +# OFF after it). +# +# Note that "raw" does not mean that every byte will be passed to the screen. +# HTML character entities may get expanded and translated, inappropriate +# control characters filtered out, etc. There is a "Transparent" pseudo +# character set for more "rawness". +# +# Since Lynx now supports a wide range of platforms it may be useful to note +# the cpXXX codepages used by IBM PC compatible computers, and windows-xxxx +# used by native MS-Windows apps. We also note that cpXXX pages rarely are +# found on Internet, but are mostly for local needs on DOS. +# +# Recognized character sets include: +# +.nf +# string for 'O'ptions Menu MIME name +# =========================== ========= +# 7 bit approximations (US-ASCII) us-ascii +# Western (ISO-8859-1) iso-8859-1 +# Western (ISO-8859-15) iso-8859-15 +# Western (cp850) cp850 +# Western (windows-1252) windows-1252 +# IBM PC US codepage (cp437) cp437 +# DEC Multinational dec-mcs +# Macintosh (8 bit) macintosh +# NeXT character set next +# HP Roman8 hp-roman8 +# Chinese euc-cn +# Japanese (EUC-JP) euc-jp +# Japanese (Shift_JIS) shift_jis +# Korean euc-kr +# Taipei (Big5) big5 +# Vietnamese (VISCII) viscii +# Eastern European (ISO-8859-2) iso-8859-2 +# Eastern European (cp852) cp852 +# Eastern European (windows-1250) windows-1250 +# Latin 3 (ISO-8859-3) iso-8859-3 +# Latin 4 (ISO-8859-4) iso-8859-4 +# Baltic Rim (ISO-8859-13) iso-8859-13 +# Baltic Rim (cp775) cp775 +# Baltic Rim (windows-1257) windows-1257 +# Celtic (ISO-8859-14) iso-8859-14 +# Cyrillic (ISO-8859-5) iso-8859-5 +# Cyrillic (cp866) cp866 +# Cyrillic (windows-1251) windows-1251 +# Cyrillic (KOI8-R) koi8-r +# Arabic (ISO-8859-6) iso-8859-6 +# Arabic (cp864) cp864 +# Arabic (windows-1256) windows-1256 +# Greek (ISO-8859-7) iso-8859-7 +# Greek (cp737) cp737 +# Greek2 (cp869) cp869 +# Greek (windows-1253) windows-1253 +# Hebrew (ISO-8859-8) iso-8859-8 +# Hebrew (cp862) cp862 +# Hebrew (windows-1255) windows-1255 +# Turkish (ISO-8859-9) iso-8859-9 +# North European (ISO-8859-10) iso-8859-10 +# Ukrainian Cyrillic (cp866u) cp866u +# Ukrainian Cyrillic (KOI8-U) koi8-u +# UNICODE (UTF-8) utf-8 +# RFC 1345 w/o Intro mnemonic+ascii+0 +# RFC 1345 Mnemonic mnemonic +# Transparent x-transparent +.fi +# +# The value should be the MIME name of a character set recognized by +# Lynx (case insensitive). +# Find RFC 1345 at +.url http://tools.ietf.org/html/rfc1345 +# +CHARACTER_SET:utf-8 + +.h2 LOCALE_CHARSET +# LOCALE_CHARSET overrides CHARACTER_SET if true, using the current locale to +# lookup a MIME name that corresponds, and use that as the display charset. +# +# It also modifies the default value for ASSUME_CHARSET; it does not override +# that setting. +# +# Note that while nl_langinfo(CODESET) itself is standardized, the return +# values and their relationship to the locale value is not. GNU libiconv +# happens to give useful values, but other implementations are not guaranteed +# to do this. +#LOCALE_CHARSET:FALSE + +.h2 HTML5_CHARSETS +# HTML5_CHARSETS is an alternative to ASSUME_CHARSET and ASSUME_LOCAL_CHARSET. +# Those assume by default that the character set of an HTML document is (as is +# standard in HTML4) ISO-8859-1, in the absence of locale information. +# +# HTML5 introduces a "compatibility" (sic) feature which assumes that the +# default is Windows 1252. In the same way, it equates ISO-8859-4 and Windows +# 1254. Finally, it also makes recommendations which selectively reinterpret +# the locale encoding. +# +# This option currently implements only the equating of ISO-8859-1 and Windows +# 1252. +# +#HTML5_CHARSETS:FALSE + +.h2 ASSUME_CHARSET +# ASSUME_CHARSET changes the handling of documents which do not +# explicitly specify a charset. Normally Lynx assumes that 8-bit +# characters in those documents are encoded according to iso-8859-1 +# (the official default for the HTTP protocol). When ASSUME_CHARSET +# is defined here or by an -assume_charset command line flag is in effect, +# Lynx will treat documents as if they were encoded accordingly. +# See above on how this interacts with "raw mode" and the Display +# Character Set. +# ASSUME_CHARSET can also be changed via the 'o'ptions menu but will +# not be saved as permanent value in user's .lynxrc file to avoid more chaos. +# +ASSUME_CHARSET:utf-8 + +.h2 ASSUMED_DOC_CHARSET_CHOICE +.h2 DISPLAY_CHARSET_CHOICE +# It is possible to reduce the number of charset choices in the 'O'ptions menu +# for "display charset" and "assumed document charset" fields via +# DISPLAY_CHARSET_CHOICE and ASSUMED_DOC_CHARSET_CHOICE settings correspondingly. +# Each of these settings can be used several times to define the set of possible +# choices for corresponding field. The syntax for the values is +# +# string | prefix* | * +# +# where +# +# 'string' is either the MIME name of charset or it's full name (listed +# either in the left or in the right column of table of +# recognized charsets), case-insensitive - e.g. 'Koi8-R' or +# 'Cyrillic (KOI8-R)' (both without quotes), +# +# 'prefix' is any string, and such value will select all charsets having +# the name with prefix matching given (case insensitive), i.e., +# for the charsets listed in the table of recognized charsets, +# +.ex +# ASSUMED_DOC_CHARSET_CHOICE:cyrillic* +# will be equal to specifying +.ex 4 +# ASSUMED_DOC_CHARSET_CHOICE:cp866 +# ASSUMED_DOC_CHARSET_CHOICE:windows-1251 +# ASSUMED_DOC_CHARSET_CHOICE:koi8-r +# ASSUMED_DOC_CHARSET_CHOICE:iso-8859-5 +# or lines with full names of charsets. +# +# literal string '*' (without quotes) will enable all charset choices +# in corresponding field. This is useful for overriding site +# defaults in private pieces of lynx.cfg included via INCLUDE +# directive. +# +# Default values for both settings are '*', but any occurrence of settings +# with values that denote any charsets will make only listed choices available +# for corresponding field. +#ASSUMED_DOC_CHARSET_CHOICE:* +#DISPLAY_CHARSET_CHOICE:* + +.h2 ASSUME_LOCAL_CHARSET +# ASSUME_LOCAL_CHARSET is like ASSUME_CHARSET but only applies to local +# files. If no setting is given here or by an -assume_local_charset +# command line option, the value for ASSUME_CHARSET or -assume_charset +# is used. It works for both text/plain and text/html files. +# This option will ignore "raw mode" toggling when local files are viewed +# (it is "stronger" than "assume_charset" or the effective change +# of the charset assumption caused by changing "raw mode"), +# so only use when necessary. +# +ASSUME_LOCAL_CHARSET:utf-8 + +.h2 PREPEND_CHARSET_TO_SOURCE +# PREPEND_CHARSET_TO_SOURCE:TRUE tells Lynx to prepend a META CHARSET line +# to text/html source files when they are retrieved for 'd'ownloading +# or passed to 'p'rint functions, so HTTP headers will not be lost. +# This is necessary for resolving charset for local html files, +# while the assume_local_charset is just an assumption. +# For the 'd'ownload option, a META CHARSET will be added only if the HTTP +# charset is present. The compilation default is TRUE. +# It is generally desirable to have charset information for every local +# html file, but META CHARSET string potentially could cause +# compatibility problems with other browsers, see also PREPEND_BASE_TO_SOURCE. +# Note that the prepending is not done for -source dumps. +# +#PREPEND_CHARSET_TO_SOURCE:TRUE + +.h2 NCR_IN_BOOKMARKS +# NCR_IN_BOOKMARKS:TRUE allows you to save 8-bit characters in bookmark titles +# in the unicode format (NCR). This may be useful if you need to switch +# display charsets frequently. This is the case when you use Lynx on different +# platforms, e.g., on UNIX and from a remote PC, and want to keep the bookmarks +# file persistent. +# Another aspect is compatibility: NCR is part of I18N and HTML4.0 +# specifications supported starting with Lynx 2.7.2, Netscape 4.0 and MSIE 4.0. +# Older browser versions will fail so keep NCR_IN_BOOKMARKS:FALSE if you +# plan to use them. +# +#NCR_IN_BOOKMARKS:FALSE + +.h2 FORCE_8BIT_TOUPPER +# FORCE_8BIT_TOUPPER overrides locale settings and uses internal 8-bit +# case-conversion mechanism for case-insensitive searches in non-ASCII display +# character sets. It is FALSE by default and should not be changed unless +# you encounter problems with case-insensitive searches. +# +#FORCE_8BIT_TOUPPER:FALSE + +.h2 OUTGOING_MAIL_CHARSET +# While Lynx supports different platforms and display character sets +# we need to limit the charset in outgoing mail to reduce +# trouble for remote recipients who may not recognize our charset. +# You may try US-ASCII as the safest value (7 bit), any other MIME name, +# or leave this field blank (default) to use the display character set. +# Charset translations currently are implemented for mail "subjects= " only. +# +#OUTGOING_MAIL_CHARSET: + +.h2 ASSUME_UNREC_CHARSET +# If Lynx encounters a charset parameter it doesn't recognize, it will +# replace the value given by ASSUME_UNREC_CHARSET (or a corresponding +# -assume_unrec_charset command line option) for it. This can be used +# to deal with charsets unknown to Lynx, if they are "sufficiently +# similar" to one that Lynx does know about, by forcing the same +# treatment. There is no default, and you probably should leave this +# undefined unless necessary. +# +#ASSUME_UNREC_CHARSET:iso-8859-1 + +.h2 PREFERRED_LANGUAGE +# PREFERRED_LANGUAGE is the language in MIME notation (e.g., "en", +# "fr") which will be indicated by Lynx in its Accept-Language headers +# as the preferred language. If available, the document will be +# transmitted in that language. Users can override this setting via +# the 'o'ptions menu and save that preference in their RC file. +# This may be a comma-separated list of languages in decreasing preference. +# +#PREFERRED_LANGUAGE:en + +.h2 PREFERRED_CHARSET +# PREFERRED_CHARSET specifies the character set in MIME notation (e.g., +# "ISO-8859-2", "ISO-8859-5") which Lynx will indicate you prefer in +# requests to http servers using an Accept-Charsets header. Users can +# change it via the 'o'ptions menu and save that preference in their RC file. +# The value should NOT include "ISO-8859-1" or "US-ASCII", +# since those values are always assumed by default. +# If a file in that character set is available, the server will send it. +# If no Accept-Charset header is present, the default is that any +# character set is acceptable. If an Accept-Charset header is present, +# and if the server cannot send a response which is acceptable +# according to the Accept-Charset header, then the server SHOULD send +# an error response with the 406 (not acceptable) status code, though +# the sending of an unacceptable response is also allowed. See RFC 2068 +.url http://tools.ietf.org/html/rfc2068 +# +#PREFERRED_CHARSET: + +.h2 CHARSETS_DIRECTORY +# CHARSETS_DIRECTORY specifies the directory with the fonts (glyph data) +# used by Lynx to switch the display-font to a font best suited for the +# given document. The font should be in a format understood by the +# platforms TTY-display-font-switching API. Currently supported on OS/2 only. +# +# Lynx expects the glyphs for the charset CHARSET with character cell +# size HHHxWWW to be stored in a file HHHxWWW/CHARSET.fnt inside the directory +# specified by CHARSETS_DIRECTORY. E.g., the font for koi8-r sized 14x9 +# should be in the file 14x9/koi8-r.fnt. +# +#CHARSETS_DIRECTORY: + +.h2 CHARSET_SWITCH_RULES +# CHARSET_SWITCH_RULES hints lynx on how to choose the best display font given +# the document encoding. This string is a sequence of chunks, each chunk +# having the following form: +# +# IN_CHARSET1 IN_CHARSET2 ... IN_CHARSET5 :OUT_CHARSET +# +# For readability, one may insert arbitrary additional punctuation (anything +# but : is ignored). E.g., if lynx is able to switch only to display charsets +# cp866, cp850, cp852, and cp862, then the following setting may be useful +# (split for readability): +# +# CHARSET_SWITCH_RULES: koi8-r ISO-8859-5 windows-1251 cp866u KOI8-U :cp866, +# iso-8859-1 windows-1252 ISO-8859-15 :cp850, +# ISO-8859-2 windows-1250 :cp852, +# ISO-8859-8 windows-1255 :cp862 +# +#CHARSET_SWITCH_RULES: + +.h1 Interaction + +.h2 URL_DOMAIN_PREFIXES +.h2 URL_DOMAIN_SUFFIXES +# URL_DOMAIN_PREFIXES and URL_DOMAIN_SUFFIXES are strings which will be +# prepended (together with a scheme://) and appended to the first element +# of command line or 'g'oto arguments which are not complete URLs and +# cannot be opened as a local file (file://localhost/string). Both +# can be comma-separated lists. Each prefix must end with a dot, each +# suffix must begin with a dot, and either may contain other dots (e.g., +# .com.jp). The default lists are defined in userdefs.h and can be +# replaced here. Each prefix will be used with each suffix, in order, +# until a valid Internet host is created, based on a successful DNS +# lookup (e.g., foo will be tested as www.foo.com and then www.foo.edu +# etc.). The first element can include a :port and/or /path which will +# be restored with the expanded host (e.g., wfbr:8002/dir/lynx will +# become http://www.wfbr.edu:8002/dir/lynx). The prefixes will not be +# used if the first element ends in a dot (or has a dot before the +# :port or /path), and similarly the suffixes will not be used if the +# the first element begins with a dot (e.g., .nyu.edu will become +# http://www.nyu.edu without testing www.nyu.com). Lynx will try to +# guess the scheme based on the first field of the expanded host name, +# and use "http://" as the default (e.g., gopher.wfbr.edu or gopher.wfbr. +# will be made gopher://gopher.wfbr.edu). +# +#URL_DOMAIN_PREFIXES:www. +#URL_DOMAIN_SUFFIXES:.com,.edu,.net,.org + +.h2 FORMS_OPTIONS +# Toggle whether the Options Menu is key-based or form-based; +# the key-based version is available only if specified at compile time. +#FORMS_OPTIONS:TRUE + +.h2 PARTIAL +# Display partial pages while downloading +#PARTIAL:TRUE + +.h2 PARTIAL_THRES +# Set the threshold # of lines Lynx must render before it +# redraws the screen in PARTIAL mode. Anything < 0 implies +# use of the screen size. +#PARTIAL_THRES:-1 + +.h2 SHOW_KB_RATE +# While getting large files, Lynx shows the approximate rate of transfer. +# Set this to change the units shown. "Kilobytes" denotes 1024 bytes: +# NONE to disable the display of transfer rate altogether. +# TRUE or KB for Kilobytes/second. +# FALSE or BYTES for bytes/second. +# KB,ETA to show Kilobytes/second with estimated completion time. +# BYTES,ETA to show BYTES/second with estimated completion time. +# KB2,ETA to show Kilobytes/second with estimated completion time using 2-digits. +# BYTES2,ETA to show BYTES/second with estimated completion time using 2-digits. +# Note that the "ETA" values are available if USE_READPROGRESS was defined. +#SHOW_KB_RATE:TRUE + +.h2 SHOW_KB_NAME +# Set the abbreviation for Kilobytes (1024). +# Quoting from +.url http://www.romulus2.com/articles/guides/misc/bitsbytes.shtml +# In December 1998, the International Electrotechnical Commission (IEC) +# approved a new IEC International Standard. Instead of using the metric +# prefixes for multiples in binary code, the new IEC standard invented specific +# prefixes for binary multiples made up of only the first two letters of the +# metric prefixes and adding the first two letters of the word "binary". Thus, +# for instance, instead of Kilobyte (KB) or Gigabyte (GB), the new terms would +# be kibibyte (KiB) or gibibyte (GiB). +# +# If you prefer using the conventional (and more common) "KB", modify this +# setting. +#SHOW_KB_NAME:KiB + +.h1 Timeouts + +.h2 INFOSECS +.h2 MESSAGESECS +.h2 ALERTSECS +.h2 NO_PAUSE +# The following definitions set the number of seconds for +# pauses following statusline messages that would otherwise be +# replaced immediately, and are more important than the unpaused +# progress messages. Those set by INFOSECS are also basically +# progress messages (e.g., that a prompted input has been canceled) +# and should have the shortest pause. Those set by MESSAGESECS are +# informational (e.g., that a function is disabled) and should have +# a pause of intermediate duration. Those set by ALERTSECS typically +# report a serious problem and should be paused long enough to read +# whenever they appear (typically unexpectedly). The default values +# are defined in userdefs.h, and can be modified here should longer +# pauses be desired for braille-based access to Lynx. +# +# SVr4-curses implementations support time delays in milliseconds, +# hence the value may be given shorter, e.g., 0.5 +# +# Use the NO_PAUSE option (like the command-line -nopause) to override +# all of the delay times. +# +#INFOSECS:1 +#MESSAGESECS:2 +#ALERTSECS:3 +#NO_PAUSE:FALSE + +.h2 DEBUGSECS +# Set DEBUGSECS to a nonzero value to slow down progress messages +# (see "-delay" option). +#DEBUGSECS:0 + +.h2 REPLAYSECS +# Set REPLAYSECS to a nonzero value to allow for slow replaying of +# command scripts (see "-cmd_script" option). +#REPLAYSECS:0 + +.h1 Appearance +# These settings control the appearance of Lynx's screen and the way +# Lynx renders some tags. + +.h2 USE_SELECT_POPUPS +# If USE_SELECT_POPUPS is set FALSE, Lynx will present a vertical list of +# radio buttons for the OPTIONs in SELECT blocks which lack the MULTIPLE +# attribute, instead of using a popup menu. Note that if the MULTIPLE +# attribute is present in the SELECT start tag, Lynx always will create a +# vertical list of checkboxes for the OPTIONs. +# The default defined here or in userdefs.h can be changed via the 'o'ptions +# menu and saved in the RC file, and always can be toggled via the -popup +# command line switch. +# +#USE_SELECT_POPUPS:TRUE + +.h2 SHOW_CURSOR +# SHOW_CURSOR controls whether or not the cursor is hidden or appears +# over the current link in documents or the current option in popups. +# Showing the cursor is handy if you are a sighted user with a poor +# terminal that can't do bold and reverse video at the same time or +# at all. It also can be useful to blind users, as an alternative +# or supplement to setting LINKS_AND_FIELDS_ARE_NUMBERED or +# LINKS_ARE_NUMBERED. +# The default defined here or in userdefs.h can be changed via the +# 'o'ptions menu and saved in the RC file, and always can be toggled +# via the -show_cursor command line switch. +# +#SHOW_CURSOR:FALSE + +.h2 UNDERLINE_LINKS +# UNDERLINE_LINKS controls whether links are underlined by default, or shown +# in bold. Normally this default is set from the configure script. +# +#UNDERLINE_LINKS:FALSE + +.h2 BOLD_HEADERS +# If BOLD_HEADERS is set to TRUE the HT_BOLD default style will be acted +# upon for

through

headers. The compilation default is FALSE +# (only the indentation styles are acted upon, but see BOLD_H1, below). +# On Unix, compilation with -DUNDERLINE_LINKS also will apply to the +# HT_BOLD style for headers when BOLD_HEADERS is TRUE. +# +#BOLD_HEADERS:FALSE + +.h2 BOLD_H1 +# If BOLD_H1 is set to TRUE the HT_BOLD default style will be acted +# upon for

headers even if BOLD_HEADERS is FALSE. The compilation +# default is FALSE. On Unix, compilation with -DUNDERLINE_LINKS also +# will apply to the HT_BOLD style for headers when BOLD_H1 is TRUE. +# +#BOLD_H1:FALSE + +.h2 BOLD_NAME_ANCHORS +# If BOLD_NAME_ANCHORS is set to TRUE the content of anchors without +# an HREF attribute, (i.e., anchors with a NAME or ID attribute) will +# have the HT_BOLD default style. The compilation default is FALSE. +# On Unix, compilation with -DUNDERLINE_LINKS also will apply to the +# HT_BOLD style for NAME (ID) anchors when BOLD_NAME_ANCHORS is TRUE. +# +#BOLD_NAME_ANCHORS:FALSE + +.h1 Internal Behavior + +.h2 DEFAULT_CACHE_SIZE +.h2 DEFAULT_VIRTUAL_MEMORY_SIZE +# The DEFAULT_CACHE_SIZE specifies the number of WWW documents to be +# cached in memory at one time. +# +# This so-called cache size (actually, number) is defined in userdefs.h and +# may be modified here and/or with the command line argument -cache=NUMBER +# The minimum allowed value is 2, for the current document and at least one +# to fetch, and there is no absolute maximum number of cached documents. +# On Unix, and VMS not compiled with VAXC, whenever the number is exceeded +# the least recently displayed document will be removed from memory. +# +# On VMS compiled with VAXC, the DEFAULT_VIRTUAL_MEMORY_SIZE specifies the +# amount (bytes) of virtual memory that can be allocated and not yet be freed +# before previous documents are removed from memory. If the values for both +# the DEFAULT_CACHE_SIZE and DEFAULT_VIRTUAL_MEMORY_SIZE are exceeded, then +# the least recently displayed documents will be freed until one or the other +# value is no longer exceeded. The default value is defined in userdefs.h. +# +# The Unix and VMS (but not VAXC) implementations use the C library malloc's +# and calloc's for memory allocation, but procedures for taking the actual +# amount of cache into account still need to be developed. They use only +# the DEFAULT_CACHE_SIZE value, and that specifies the absolute maximum +# number of documents to cache (rather than the maximum number only if +# DEFAULT_VIRTUAL_MEMORY_SIZE has been exceeded, as with VAXC/VAX). +# +#DEFAULT_CACHE_SIZE:10 +#DEFAULT_VIRTUAL_MEMORY_SIZE:512000 + +.h2 SOURCE_CACHE +# SOURCE_CACHE sets the source caching behavior for Lynx: +# +# FILE causes Lynx to keep a temporary file for each cached document +# containing the HTML source of the document, which it uses to regenerate +# the document when certain settings are changed (for instance, +# historical vs. minimal vs. valid comment parsing) instead of reloading +# the source from the network. +# +# MEMORY is like FILE, except the document source is kept in memory. You +# may wish to adjust DEFAULT_CACHE_SIZE and DEFAULT_VIRTUAL_MEMORY_SIZE +# accordingly. +# +# NONE is the default; the document source is not cached, and is reloaded +# from the network when needed. +# +#SOURCE_CACHE:NONE + +.h2 SOURCE_CACHE_FOR_ABORTED +# This setting controls what will happen with cached source for the document +# being fetched from the net if fetching was aborted (either user pressed +# 'z' or network went down). If set to KEEP, the source fetched so far will +# be preserved (and used as cache), if set to DROP lynx will drop the +# source cache for that document (i.e. only completely downloaded documents +# will be cached in that case). +#SOURCE_CACHE_FOR_ABORTED:DROP + +.h2 ALWAYS_RESUBMIT_POSTS +# If ALWAYS_RESUBMIT_POSTS is set TRUE, Lynx always will resubmit forms +# with method POST, dumping any cache from a previous submission of the +# form, including when the document returned by that form is sought with +# the PREV_DOC command or via the history list. Lynx always resubmits +# forms with method POST when a submit button or a submitting text input +# is activated, but normally retrieves the previously returned document +# if it had links which you activated, and then go back with the PREV_DOC +# command or via the history list. +# +# The default defined here or in userdefs.h can be toggled via +# the -resubmit_forms command line switch. +# +#ALWAYS_RESUBMIT_POSTS:FALSE + +.h2 TRIM_INPUT_FIELDS +# If TRIM_INPUT_FIELDS is set TRUE, Lynx will trim trailing whitespace (e.g., +# space, tab, carriage return, line feed and form feed) from the text entered +# into form text and textarea fields. Older versions of Lynx do this trimming +# unconditionally, but other browsers do not, which would yield different +# behavior for CGI scripts. +#TRIM_INPUT_FIELDS:FALSE + +.h1 HTML Parsing + +.h2 NO_ISMAP_IF_USEMAP +# If NO_ISMAP_IF_USEMAP is set TRUE, Lynx will not include a link to the +# server-side image map if both a server-side and client-side map for the +# same image is indicated in the HTML markup. The compilation default is +# FALSE, such that a link with "[ISMAP]" as the link name, followed by a +# hyphen, will be prepended to the ALT string or "[USEMAP]" pseudo-ALT for +# accessing Lynx's text-based rendition of the client-side map (based on +# the content of the associated MAP element). If the "[ISMAP]" link is +# activated, Lynx will send a 0,0 coordinate pair to the server, which +# Lynx-friendly sites can map to a for-text-client document, homologous +# to what is intended for the content of a FIG element. +# +# The compilation default, or default defined here, can be toggled via +# the "-ismap" command line switch. +# +#NO_ISMAP_IF_USEMAP:FALSE + +.h2 SEEK_FRAG_MAP_IN_CUR +# If SEEK_FRAG_MAP_IN_CUR is set FALSE, then USEMAP attribute values +# (in IMG or OBJECT tags) consisting of only a fragment (USEMAP="#foo") +# will be resolved with respect to the current document's base, which +# might not be the same as the current document's URL. +# The compilation default is to use the current document's URL in all +# cases (i.e., assume the MAP is present below, if it wasn't present +# above the point in the HTML stream where the USEMAP attribute was +# detected). Lynx's present "single pass" rendering engine precludes +# checking below before making the decision on how to resolve a USEMAP +# reference consisting solely of a fragment. +# +#SEEK_FRAG_MAP_IN_CUR:TRUE + +.h2 SEEK_FRAG_AREA_IN_CUR +# If SEEK_FRAG_AREA_IN_CUR is set FALSE, then HREF attribute values +# in AREA tags consisting of only a fragment (HREF="#foo") will be +# resolved with respect to the current document's base, which might +# not be the same as the current document's URL. The compilation +# default is to use the current document's URL, as is done for the +# HREF attribute values of Anchors and LINKs that consist solely of +# a fragment. +# +#SEEK_FRAG_AREA_IN_CUR:TRUE + +.h1 CGI scripts +# These settings control Lynx's ability to execute various types of scripts. + +.h2 LOCAL_EXECUTION_LINKS_ALWAYS_ON +.h2 LOCAL_EXECUTION_LINKS_ON_BUT_NOT_REMOTE +# Local execution links and scripts are by default completely disabled, +# unless a change is made to the userdefs.h file to enable them or +# the configure script is used with the corresponding options +# (-enable-exec-links and -enable-exec-scripts). +# See the Lynx source code distribution and the userdefs.h +# file for more detail on enabling execution links and scripts. +# +# If you have enabled execution links or scripts the following +# two variables control Lynx's action when an execution link +# or script is encountered. +# +# If LOCAL_EXECUTION_LINKS_ALWAYS_ON is set to TRUE any execution +# link or script will be executed no matter where it came from. +# This is EXTREMELY dangerous. Since Lynx can access files from +# anywhere in the world, you may encounter links or scripts that +# will cause damage or compromise the security of your system. +# +# If LOCAL_EXECUTION_LINKS_ON_BUT_NOT_REMOTE is set to TRUE only +# links or scripts that reside on the local machine and are +# referenced with a URL beginning with "file://localhost/" or meet +# TRUSTED_EXEC or ALWAYS_TRUSTED_EXEC rules (see below) will be +# executed. This is much less dangerous than enabling all execution +# links, but can still be dangerous. +# +#LOCAL_EXECUTION_LINKS_ALWAYS_ON:FALSE +#LOCAL_EXECUTION_LINKS_ON_BUT_NOT_REMOTE:FALSE + +.h2 TRUSTED_EXEC +# If LOCAL_EXECUTION_LINK_ON_BUT_NOT_REMOTE is TRUE, and no TRUSTED_EXEC +# rule is defined, it defaults to "file://localhost/" and any lynxexec +# or lynxprog command will be permitted if it was referenced from within +# a document whose URL begins with that string. If you wish to restrict the +# referencing URLs further, you can extend the string to include a trusted +# path. You also can specify a trusted directory for http URLs, which will +# then be treated as if they were local rather than remote. For example: +# +# TRUSTED_EXEC:file://localhost/trusted/ +# TRUSTED_EXEC:http://www.wfbr.edu/trusted/ +# +# If you also wish to restrict the commands which can be executed, create +# a series of rules with the path (Unix) or command name (VMS) following +# the string, separated by a tab. For example: +# +# Unix: +# ==== +# TRUSTED_EXEC:file://localhost//bin/cp +# TRUSTED_EXEC:file://localhost//bin/rm +# VMS: +# === +# TRUSTED_EXEC:file://localhost/copy +# TRUSTED_EXEC:file://localhost/delete +# +# Once you specify a TRUSTED_EXEC referencing string, the default is +# replaced, and all the referencing strings you desire must be specified +# as a series. Similarly, if you associate a command with the referencing +# string, you must specify all of the allowable commands as a series of +# TRUSTED_EXEC rules for that string. If you specify ALWAYS_TRUSTED_EXEC +# rules below, you need not repeat them as TRUSTED_EXEC rules. +# +# If EXEC_LINKS and JUMPFILE have been defined, any lynxexec or lynxprog +# URLs in that file will be permitted, regardless of other settings. If +# you also set LOCAL_EXECUTION_LINKS_ON_BUT_NOT_REMOTE:TRUE and a single +# TRUSTED_EXEC rule that will always fail (e.g., "none"), then *ONLY* the +# lynxexec or lynxprog URLs in JUMPFILE (and any ALWAYS_TRUSTED_EXEC rules, +# see below) will be allowed. Note, however, that if Lynx was compiled with +# CAN_ANONYMOUS_JUMP set to FALSE (default is TRUE), or -restrictions=jump +# is included with the -anonymous switch at run time, then users of an +# anonymous account will not be able to access the jumps file or enter +# 'j'ump shortcuts, and this selective execution feature will be overridden +# as well (i.e., they will only be able to access lynxexec or lynxprog +# URLs which meet any ALWAYS_TRUSTED_EXEC rules). +# +#TRUSTED_EXEC:none + +.h2 ALWAYS_TRUSTED_EXEC +# If EXEC_LINKS was defined, any lynxexec or lynxprog URL can be made +# always enabled by an ALWAYS_TRUSTED_EXEC rule for it. This is useful for +# anonymous accounts in which you have disabled execution links generally, +# and may also have disabled jumps file links, but still want to allow +# execution of particular utility scripts or programs. The format is +# like that for TRUSTED_EXEC. For example: +# +# Unix: +# ==== +# ALWAYS_TRUSTED_EXEC:file://localhost//usr/local/kinetic/bin/usertime +# ALWAYS_TRUSTED_EXEC:http://www.more.net//usr/local/kinetic/bin/who.sh +# VMS: +# === +# ALWAYS_TRUSTED_EXEC:file://localhost/usertime +# ALWAYS_TRUSTED_EXEC:http://www.more.net/show users +# +# The default ALWAYS_TRUSTED_EXEC rule is "none". +# +#ALWAYS_TRUSTED_EXEC:none + +.h2 TRUSTED_LYNXCGI +# Unix: +# ===== +# TRUSTED_LYNXCGI rules define the permitted sources and/or paths for +# lynxcgi links (if LYNXCGI_LINKS is defined in userdefs.h). The format +# is the same as for TRUSTED_EXEC rules (see above). Example rules: +# +# TRUSTED_LYNXCGI:file://localhost/ +# TRUSTED_LYNXCGI:/usr/local/etc/httpd/cgi-bin/ +# TRUSTED_LYNXCGI:file://localhost//usr/local/www/cgi-bin/ +# +# VMS: +# ==== +# Do not define this. +# +# The default TRUSTED_LYNXCGI rule is "none". +# +#TRUSTED_LYNXCGI:none + +.h2 LYNXCGI_ENVIRONMENT +# Unix: +# ===== +# LYNXCGI_ENVIRONMENT adds the current value of the specified +# environment variable to the list of environment variables passed on to the +# lynxcgi script. Useful variables are HOME, USER, etc... If proxies +# are in use, and the script invokes another copy of lynx (or a program like +# wget) in a subsidiary role, it can be useful to add http_proxy and other +# *_proxy variables. +# +# VMS: +# ==== +# Do not define this. +# +#LYNXCGI_ENVIRONMENT: + +.h2 LYNXCGI_DOCUMENT_ROOT +# Unix: +# ===== +# LYNXCGI_DOCUMENT_ROOT is the value of DOCUMENT_ROOT that will be passed +# to lynxcgi scripts. If set and the URL has PATH_INFO data, then +# PATH_TRANSLATED will also be generated. Examples: +# LYNXCGI_DOCUMENT_ROOT:/usr/local/etc/httpd/htdocs +# LYNXCGI_DOCUMENT_ROOT:/data/htdocs/ +# +# VMS: +# ==== +# Do not define this. +# +#LYNXCGI_DOCUMENT_ROOT: + +.h1 Cookies + +.h2 FORCE_SSL_COOKIES_SECURE +# If FORCE_SSL_COOKIES_SECURE is set to TRUE, then SSL encrypted cookies +# received from https servers never will be sent unencrypted to http +# servers. The compilation default is to impose this block only if the +# https server included a secure attribute for the cookie. The normal +# default or that defined here can be toggled via the -force_secure +# command line switch. +# +#FORCE_SSL_COOKIES_SECURE:FALSE + +.h1 Internal Behavior + +.h2 MAIL_SYSTEM_ERROR_LOGGING +# MAIL_SYSTEM_ERROR_LOGGING will send a message to the owner of +# the information, or ALERTMAIL if there is no owner, every time +# that a document cannot be accessed! +# +# NOTE: This can generate A LOT of mail, be warned. +# +#MAIL_SYSTEM_ERROR_LOGGING:FALSE + +.h2 CHECKMAIL +# If CHECKMAIL is set to TRUE, the user will be informed (via a statusline +# message) about the existence of any unread mail at startup of Lynx, and +# will get statusline messages if subsequent new mail arrives. If a jumps +# file with a lynxprog URL for invoking mail is available, or your html +# pages include an mail launch file URL, the user thereby can access mail +# and read the messages. The checks and statusline reports will not be +# performed if Lynx has been invoked with the -restrictions=mail switch. +# +# VMS USERS !!! +# ============= +# New mail is normally broadcast as it arrives, via "unsolicited screen +# broadcasts", which can be "wiped" from the Lynx display via the Ctrl-W +# command. You may prefer to disable the broadcasts and use CHECKMAIL +# instead (e.g., in a public account which will be used by people who +# are ignorant about VMS). +# +#CHECKMAIL:FALSE + +.h1 News-groups + +.h2 NNTPSERVER +# To enable news reading ability via Lynx, the environment variable NNTPSERVER +# must be set so that it points to your site's NNTP server +# (see Lynx Users Guide on environment variables). +# Lynx respects RFC 1738 +.url http://tools.ietf.org/html/rfc1738 +# and does not accept a host field in news URLs (use nntp: instead of news: for +# the scheme if you wish to specify an NNTP host in a URL, as explained in the +# RFC). If you have not set the variable externally, you can set it at run +# time via this configuration file. It will not override an external setting. +# Note that on VMS it is set as a process logical rather than symbol, and will +# outlive the Lynx image. +# The news reading facility in Lynx is quite limited. Lynx does not provide a +# full featured news reader with elaborate error checking and safety features. +# +#NNTPSERVER:news.server.dom + +.h2 LIST_NEWS_NUMBERS +# If LIST_NEWS_NUMBERS is set TRUE, Lynx will use an ordered list and include +# the numbers of articles in news listings, instead of using an unordered +# list. The default is defined in userdefs.h, and can be overridden here. +# +#LIST_NEWS_NUMBERS:FALSE + +.h2 LIST_NEWS_DATES +# If LIST_NEWS_DATES is set TRUE, Lynx will include the dates of articles in +# news listings. The dates always are included in the articles, themselves. +# The default is defined in userdefs.h, and can be overridden here. +# +#LIST_NEWS_DATES:FALSE + +.h2 NEWS_CHUNK_SIZE +.h2 NEWS_MAX_CHUNK +# NEWS_CHUNK_SIZE and NEWS_MAX_CHUNK regulate the chunking of news article +# listings with inclusion of links for listing earlier and/or later articles. +# The defaults are defined in HTNews.c as 30 and 40, respectively. If the +# news group contains more than NEWS_MAX_CHUNK articles, they will be listed +# in NEWS_CHUNK_SIZE chunks. You can change the defaults here, and/or on +# the command line via -newschunksize=NUMBER and/or -newsmaxchunk=NUMBER +# switches. Note that if the chunk size is increased, here or on the command +# line, to a value greater than the current maximum, the maximum will be +# increased to that number. Conversely, if the maximum is set to a number +# less than the current chunk size, the chunk size will be reduced to that +# number. Thus, you need use only one of the two switches on the command +# line, based on the direction of intended change relative to the compilation +# or configuration defaults. The compilation defaults ensure that there will +# be at least 10 earlier articles before bothering to chunk and create a link +# for earlier articles. +# +#NEWS_CHUNK_SIZE:30 +#NEWS_MAX_CHUNK:40 + +.h2 NEWS_POSTING +# Set NEWS_POSTING to FALSE if you do not want to support posting to +# news groups via Lynx. If left TRUE, Lynx will use its news gateway to +# post new messages or followups to news groups, using the URL schemes +# described in the "Supported URLs" section of the online 'h'elp. The +# posts will be attempted via the nntp server specified in the URL, or +# if none was specified, via the NNTPSERVER configuration or environment +# variable. Links with these URLs for posting or sending followups are +# created by the news gateway when reading group listings or articles +# from nntp servers if the server indicates that it permits posting. +# The compilation default set in userdefs.h can be changed here. If +# the default is TRUE, posting can still be disallowed via the +# -restrictions command line switch. +# The posting facility in Lynx is quite limited. Lynx does not provide a +# full featured news poster with elaborate error checking and safety features. +# +#NEWS_POSTING:TRUE + +.h2 LYNX_SIG_FILE +# LYNX_SIG_FILE defines the name of a file containing a signature which +# can be appended to email messages and news postings or followups. The +# user will be prompted whether to append it. It is sought in the home +# directory. If it is in a subdirectory, begin it with a dot-slash +# (e.g., ./lynx/.lynxsig). The definition is set in userdefs.h and can +# be changed here. +# +#LYNX_SIG_FILE:.lynxsig + +.h1 Bibliographic Protocol (bibp scheme) + +.h2 BIBP_GLOBAL_SERVER +# BIBP_GLOBAL_SERVER is the default global server for bibp: links, used +# when a local bibhost or document-specified citehost is unavailable. +# Set in userdefs.h and can be changed here. +#BIBP_GLOBAL_SERVER:http://usin.org/ + +.h2 BIBP_BIBHOST +# BIBP_BIBHOST is the URL at which local bibp service may be found, if +# it exists. Defaults to http://bibhost/ for protocol conformance, but +# may be overridden here or via -bibhost parameter. +#BIBP_BIBHOST:http://bibhost/ + +.h1 Interaction +# These settings control interaction of the user with lynx. + +.h2 SCROLLBAR +# If SCROLLBAR is set TRUE, Lynx will show scrollbar on windows. With mouse +# enabled, the scrollbar strip outside the bar is clickable, and scrolls the +# window by pages. The appearance of the scrollbar can be changed from +# LYNX_LSS file: define attributes scroll.bar, scroll.back (for the bar, and +# for the strip along which the scrollbar moves). +#SCROLLBAR:FALSE + +.h2 SCROLLBAR_ARROW +# If SCROLLBAR_ARROW is set TRUE, Lynx's scrollbar will have arrows at the +# ends. With mouse enabled, the arrows are clickable, and scroll the window by +# 2 lines. The appearance of the scrollbar arrows can be changed from LYNX_LSS +# file: define attributes scroll.arrow, scroll.noarrow (for enabled-arrows, +# and disabled arrows). An arrow is "disabled" if the bar is at this end of +# the strip. +#SCROLLBAR_ARROW:TRUE + +.h2 USE_MOUSE +# If Lynx is configured with ncurses, PDcurses or slang & USE_MOUSE is TRUE, +# users can perform commands by left-clicking certain parts of the screen: +# on a link = `g'oto + ACTIVATE (i.e., move highlight & follow the link); +# on the top/bottom lines = PREV/NEXT_PAGE (i.e., go up/down 1 page); +# on the top/bottom left corners = PREV/NEXT_DOC (i.e., go to the previous +# document / undo goto previous document); +# on the top/bottom right corners = HISTORY/VLINKS (i.e., call up the history +# page or visited links page if on history page). +# NB if the mouse is defined in this way, it will not be available +# for copy/paste operations using the clipboard of a desktop manager: +# for flexibility instead, use the command-line switch -use_mouse . +# +# ncurses and slang have built-in support for the xterm mouse protocol. In +# addition, ncurses can be linked with the gpm mouse library, to automatically +# provide support for this interface in applications such as Lynx. (Please +# read the ncurses faq to work around broken gpm configurations packaged by +# some distributors). PDCurses implements mouse support for win32 console +# windows, as does slang. +#USE_MOUSE:FALSE + +.h1 HTML Parsing +# These settings control the way Lynx parses invalid HTML +# and how it may resolve such issues. + +.h2 COLLAPSE_BR_TAGS +# If COLLAPSE_BR_TAGS is set FALSE, Lynx will not collapse serial BR tags. +# If set TRUE, two or more concurrent BRs will be collapsed into a single +# line break. Note that the valid way to insert extra blank lines in HTML +# is via a PRE block with only newlines in the block. +# +#COLLAPSE_BR_TAGS:TRUE + +.h2 TRIM_BLANK_LINES +# If TRIM_BLANK_LINES is set FALSE, Lynx will not trim trailing blank lines +# from the document. Also, Lynx will not collapse BR-tags onto the previous +# line when it happens to be empty. +#TRIM_BLANK_LINES:TRUE + +.h2 TAGSOUP +# If TAGSOUP is set, Lynx uses the "Tag Soup DTD" rather than "SortaSGML". +# The two approaches differ by the style of error detection and recovery. +# Tag Soup DTD allows for improperly nested tags; SortaSGML is stricter. +#TAGSOUP:FALSE + +.h1 Cookies + +.h2 SET_COOKIES +# If SET_COOKIES is set FALSE, Lynx will ignore Set-Cookie headers +# in http server replies. Note that if a COOKIE_FILE is in use (see +# below) that contains cookies at startup, Lynx will still send those +# persistent cookies in requests as appropriate. Setting SET_COOKIES +# to FALSE just prevents accepting any new cookies from servers. To +# prevent all cookie processing (sending *and* receiving) in a session, +# make sure that PERSISTENT_COOKIES is not TRUE or that COOKIE_FILE does +# not point to a file with cookies, in addition to setting SET_COOKIES +# to FALSE. +# The default is defined in userdefs.h, and can be overridden here, +# and/or toggled via the -cookies command line switch. +# +#SET_COOKIES:TRUE + +.h2 ACCEPT_ALL_COOKIES +# If ACCEPT_ALL_COOKIES is set TRUE, Lynx will accept cookies from all +# domains with no user interaction. This is equivalent to automatically +# replying to all cookie 'Allow?' prompts with 'A'lways. Note that it +# does not preempt validity checking, which has to be controlled separately +# (see below). +# The default is defined in userdefs.h and can be overridden here, or +# in the .lynxrc file via an o(ptions) screen setting. It may also be +# toggled via the -accept_all_cookies command line switch. +# +#ACCEPT_ALL_COOKIES:FALSE + +.h2 COOKIE_ACCEPT_DOMAINS +.h2 COOKIE_REJECT_DOMAINS +# COOKIE_ACCEPT_DOMAINS and COOKIE_REJECT_DOMAINS are comma-delimited lists +# of domains from which Lynx should automatically accept or reject cookies +# without asking for confirmation. If the same domain is specified in both +# lists, rejection will take precedence. +# Note that in order to match cookies, domains have to be spelled out exactly +# in the form in which they would appear on the Cookie Jar page (case is +# insignificant). They are not wildcards. Domains that apply to more than +# one host have a leading '.', but have to match *the cookie's* domain +# exactly. +# +#COOKIE_ACCEPT_DOMAINS: +#COOKIE_REJECT_DOMAINS: + +.h2 COOKIE_LOOSE_INVALID_DOMAINS +.h2 COOKIE_STRICT_INVALID_DOMAINS +.h2 COOKIE_QUERY_INVALID_DOMAINS +# COOKIE_LOOSE_INVALID_DOMAINS, COOKIE_STRICT_INVALID_DOMAINS, and +# COOKIE_QUERY_INVALID_DOMAINS are comma-delimited lists of domains. +# They control the degree of validity checking that is applied to cookies +# for the specified domains. +# Note that in order to match cookies, domains have to be spelled out exactly +# in the form in which they would appear on the Cookie Jar page (case is +# insignificant). They are not wildcards. Domains that apply to more than +# one host have a leading '.', but have to match *the cookie's* domain +# exactly. +# If a domain is set to strict checking, strict conformance to RFC 2109 will +# be applied. A domain with loose checking will be allowed to set cookies +# with an invalid path or domain attribute. All domains will default to +# asking the user for confirmation in case of an invalid path or domain. +# Cookie validity checking takes place as a separate step before the +# final decision to accept or reject (see previous options), therefore +# a cookie that passes validity checking may still be automatically +# rejected or cause another prompt. +# +#COOKIE_LOOSE_INVALID_DOMAINS: +#COOKIE_STRICT_INVALID_DOMAINS: +#COOKIE_QUERY_INVALID_DOMAINS: + +.h2 MAX_COOKIES_DOMAIN +.h2 MAX_COOKIES_GLOBAL +.h2 MAX_COOKIES_BUFFER +# MAX_COOKIES_DOMAIN, +# MAX_COOKIES_GLOBAL and +# MAX_COOKIES_BUFFER are limits on the total number of cookies for each domain, +# globally, and the per-cookie buffer size. These limits are by default large +# enough for reasonable usage; if they are very high, some sites may present +# undue performance waste. +# +#MAX_COOKIES_DOMAIN:50 +#MAX_COOKIES_GLOBAL:500 +#MAX_COOKIES_BUFFER:4096 + +.h2 PERSISTENT_COOKIES +# PERSISTENT_COOKIES indicates that cookies should be read at startup from +# the COOKIE_FILE, and saved at exit for storage between Lynx sessions. +# It is not used if Lynx was compiled without USE_PERSISTENT_COOKIES. +# The default is FALSE, so that the feature needs to be enabled here +# explicitly if you want it. +# +#PERSISTENT_COOKIES:FALSE + +.h2 COOKIE_FILE +# COOKIE_FILE is the default file from which persistent cookies are read +# at startup (if the file exists), if Lynx was compiled with +# USE_PERSISTENT_COOKIES and the PERSISTENT_COOKIES option is enabled. +# The cookie file can also be specified in .lynxrc or on the command line. +# +#COOKIE_FILE:~/.lynx_cookies + +.h2 COOKIE_SAVE_FILE +# COOKIE_SAVE_FILE is the default file in which persistent cookies are +# stored at exit, if Lynx was compiled with USE_PERSISTENT_COOKIES and the +# PERSISTENT_COOKIES option is enabled. The cookie save file can also be +# specified on the command line. +# +# With an interactive Lynx session, COOKIE_SAVE_FILE will default to +# COOKIE_FILE if it is not set. With a non-interactive Lynx session (e.g., +# -dump), cookies will only be saved to file if COOKIE_SAVE_FILE is set. +# +#COOKIE_SAVE_FILE:~/.lynx_cookies + +.h1 Mail-related + +.h2 SYSTEM_MAIL +.h2 SYSTEM_MAIL_FLAGS +# VMS: +# === +# The mail command and qualifiers are defined in userdefs.h. Lynx +# will spawn a subprocess to send replies and error messages. The +# command, and qualifiers (if any), can be re-defined here. If +# you use PMDF then headers will we passed via a header file. +# If you use "generic" VMS MAIL, the subject will be passed on the +# command line via a /subject="SUBJECT" qualifier, and inclusion +# of other relevant headers may not be possible. +# If your mailer uses another syntax, some hacking of the mailform() +# mailmsg() and reply_by_mail() functions in LYMail.c, and send_file_to_mail() +# function in LYPrint.c, may be required. +# +.ex 2 +#SYSTEM_MAIL:PMDF SEND +#SYSTEM_MAIL_FLAGS:/headers +# +.ex 2 +#SYSTEM_MAIL:MAIL +#SYSTEM_MAIL_FLAGS: +# +# Unix: +#====== +# The mail path and flags normally are defined for sendmail (or submit +# with MMDF) in userdefs.h. You can change them here, but should first +# read the zillions of CERT advisories about security problems with Unix +# mailers. +# +.ex 2 +#SYSTEM_MAIL:/usr/mmdf/bin/submit +#SYSTEM_MAIL_FLAGS:-mlruxto,cc\* +# +.ex 2 +#SYSTEM_MAIL:/usr/sbin/sendmail +#SYSTEM_MAIL_FLAGS:-t -oi +# +.ex 2 +#SYSTEM_MAIL:/usr/lib/sendmail +#SYSTEM_MAIL_FLAGS:-t -oi +# +# Win32: +#======= +# The Win32 port assumes that the mailer cannot read via a pipe. That is, it +# must read all information from files. The "sendmail" utility in the 2.8.1 +# release is able to work with that assumption. There is no way to tell the +# Win32 port of Lynx to send its information to the sendmail utility via a +# pipe. +# +# Please read sendmail.txt in the LYNX_W32.ZIP distribution +.url http://invisible-mirror.net/archives/lynx/tarballs/lynx2.8.1_w32.zip +.url ftp://ftp.invisible-island.net/lynx/tarballs/lynx2.8.1_w32.zip +# +# As an alternative, the newer "sendmail for windows" may be useful: +.url http://glob.com.au/sendmail/ +# +# See also BLAT_MAIL and ALT_BLAT_MAIL flags. +# +#SYSTEM_MAIL:sendmail -f me@my.host -h my.host -r my.smtp.mailer -m SMTP + +.h2 MAIL_ADRS +# VMS ONLY: +# ======== +# MAIL_ADRS is defined in userdefs.h and normally is structured for PMDF's +# IN%"INTERNET_ADDRESS" scheme. The %s is replaced with the address given +# by the user. If you are using a different Internet mail transport, change +# the IN appropriately (e.g., to SMTP, MX, or WINS). +# +#MAIL_ADRS:"IN%%""%s""" + +.h2 USE_FIXED_RECORDS +# VMS ONLY: +# ======== +# If USE_FIXED_RECORDS is set to TRUE here or in userdefs.h, Lynx will +# convert 'd'ownloaded binary files to FIXED 512 record format before saving +# them to disk or acting on a DOWNLOADER option. If set to FALSE, the +# headers of such files will indicate that they are Stream_LF with Implied +# Carriage Control, which is incorrect, and can cause downloading software +# to get confused and unhappy. If you do set it FALSE, you can use the +# FIXED512.COM command file, which is included in this distribution, to do +# the conversion externally. +# +#USE_FIXED_RECORDS:TRUE + +.h1 Keyboard Input +# These settings control the way Lynx interprets user input. + +.h2 VI_KEYS_ALWAYS_ON +.h2 EMACS_KEYS_ALWAYS_ON +# Vi or Emacs movement keys, i.e. familiar hjkl or ^N^P^F^B . +# These are defaults, which can be changed in the Options Menu or .lynxrc . +#VI_KEYS_ALWAYS_ON:FALSE +#EMACS_KEYS_ALWAYS_ON:FALSE + +.h2 DEFAULT_KEYPAD_MODE +# DEFAULT_KEYPAD_MODE may be set to NUMBERS_AS_ARROWS +# or LINKS_ARE_NOT_NUMBERED (the same) +# or LINKS_ARE_NUMBERED +# or LINKS_AND_FIELDS_ARE_NUMBERED +# or FIELDS_ARE_NUMBERED +# to specify whether numbers (e.g. [10]) appear next to all links, +# allowing immediate access by entering the number on the keyboard, +# or numbers on the numeric key-pad work like arrows; +# the "FIELDS" options cause form fields also to be numbered. +# This may be overridden by the keypad_mode setting in .lynxrc, +# and can also be changed via the Options Menu. +# +#DEFAULT_KEYPAD_MODE:NUMBERS_AS_ARROWS + +.h2 NUMBER_LINKS_ON_LEFT +.h2 NUMBER_FIELDS_ON_LEFT +# Denotes the position for link- and field-numbers (whether it is on the left +# or right of the anchor). These are subject to DEFAULT_KEYPAD_MODE, which +# determines whether numbers are shown. +#NUMBER_LINKS_ON_LEFT:TRUE +#NUMBER_FIELDS_ON_LEFT:TRUE + +.h2 DEFAULT_KEYPAD_MODE_IS_NUMBERS_AS_ARROWS +# Obsolete form of DEFAULT_KEYPAD_MODE, +# numbers work like arrows or numbered links. +# Set to TRUE, indicates numbers act as arrows, +# and set to FALSE indicates numbers refer to numbered links on the page. +# LINKS_AND_FIELDS_ARE_NUMBERED cannot be set by this option because +# it allows only two values (true and false). +# +#DEFAULT_KEYPAD_MODE_IS_NUMBERS_AS_ARROWS:TRUE + +.h2 CASE_SENSITIVE_ALWAYS_ON +# The default search type. +# This is a default that can be overridden by the user! +# +#CASE_SENSITIVE_ALWAYS_ON:FALSE + +.h1 Auxiliary Facilities + +.h2 DEFAULT_BOOKMARK_FILE +# DEFAULT_BOOKMARK_FILE is the filename used for storing personal bookmarks. +# It will be prepended by the user's home directory. +# NOTE that a file ending in .html or other suffix mapped to text/html +# should be used to ensure its treatment as HTML. The built-in default +# is lynx_bookmarks.html. On both Unix and VMS, if a subdirectory off of +# the HOME directory is desired, the path should begin with "./" (e.g., +# ./BM/lynx_bookmarks.html), but the subdirectory must already exist. +# Lynx will create the bookmark file, if it does not already exist, on +# the first ADD_BOOKMARK attempt if the HOME directory is indicated +# (i.e., if the definition is just filename.html without any slashes), +# but requires a pre-existing subdirectory to create the file there. +# The user can re-define the default bookmark file, as well as a set +# of sub-bookmark files if multiple bookmark file support is enabled +# (see below), via the 'o'ptions menu, and can save those definitions +# in the .lynxrc file. +# +#DEFAULT_BOOKMARK_FILE:lynx_bookmarks.html + +.h2 MULTI_BOOKMARK_SUPPORT +# If MULTI_BOOKMARK_SUPPORT is set TRUE, and BLOCK_MULTI_BOOKMARKS (see +# below) is FALSE, and sub-bookmarks exist, all bookmark operations will +# first prompt the user to select an active sub-bookmark file or the +# default bookmark file. FALSE is the default so that one (the default) +# bookmark file will be available initially. The definition here will +# override that in userdefs.h. The user can turn on multiple bookmark +# support via the 'o'ptions menu, and can save that choice as the startup +# default via the .lynxrc file. When on, the setting can be STANDARD or +# ADVANCED. If SUPPORT is set to the latter, and the user mode also is +# ADVANCED, the VIEW_BOOKMARK command will invoke a statusline prompt at +# which the user can enter the letter token (A - Z) of the desired bookmark, +# or '=' to get a menu of available bookmark files. The menu always is +# presented in NOVICE or INTERMEDIATE mode, or if the SUPPORT is set to +# STANDARD. No prompting or menu display occurs if only one (the startup +# default) bookmark file has been defined (define additional ones via the +# 'o'ptions menu). The startup default, however set, can be overridden on +# the command line via the -restrictions=multibook or the -anonymous or +# -validate switches. +# +#MULTI_BOOKMARK_SUPPORT:FALSE + +.h2 BLOCK_MULTI_BOOKMARKS +# If BLOCK_MULTI_BOOKMARKS is set TRUE, multiple bookmark support will +# be forced off, and cannot to toggled on via the 'o'ptions menu. The +# compilation setting is normally FALSE, and can be overridden here. +# It can also be set via the -restrictions=multibook or the -anonymous +# or -validate command line switches. +# +#BLOCK_MULTI_BOOKMARKS:FALSE + +.h1 Interaction + +.h2 DEFAULT_USER_MODE +# DEFAULT_USER_MODE sets the default user mode for Lynx users. +# NOVICE shows a three line help message at the bottom of the screen. +# INTERMEDIATE shows normal amount of help (one line). +# ADVANCED help is replaced by the URL of the current link. +# +#DEFAULT_USER_MODE:NOVICE + +.h1 External Programs + +.h2 DEFAULT_EDITOR +# If DEFAULT_EDITOR is defined, users may edit local documents with it +# & it will also be used for sending mail messages. +# If no editor is defined here or by the user, +# the user will not be able to edit local documents +# and a primitive line-oriented mail-input mode will be used. +# +# For sysadmins: do not define a default editor +# unless you know EVERY user will know how to use it; +# users can easily define their own editor in the Options Menu. +# +#DEFAULT_EDITOR: + +.h2 SYSTEM_EDITOR +# SYSTEM_EDITOR behaves the same as DEFAULT_EDITOR, +# except that it can't be changed by users. +# +#SYSTEM_EDITOR: + +.h3 POSITIONABLE_EDITOR +# If POSITIONABLE_EDITOR is defined once or multiple times and if the same +# editor is used as editor in lynx, lynx will use its features, i.e., adding an +# option to set the initial line-position, when editing files and textarea. +# The commented editors below are already known; there is no need to uncomment +# them. +# +#POSITIONABLE_EDITOR:emacs +#POSITIONABLE_EDITOR:jed +#POSITIONABLE_EDITOR:jmacs +#POSITIONABLE_EDITOR:joe +#POSITIONABLE_EDITOR:jove +#POSITIONABLE_EDITOR:jpico +#POSITIONABLE_EDITOR:jstar +#POSITIONABLE_EDITOR:nano +#POSITIONABLE_EDITOR:pico +#POSITIONABLE_EDITOR:rjoe +#POSITIONABLE_EDITOR:vi + +.h1 Proxy + +.h2 HTTP_PROXY +.h2 HTTPS_PROXY +.h2 FTP_PROXY +.h2 GOPHER_PROXY +.h2 NEWSPOST_PROXY +.h2 NEWSREPLY_PROXY +.h2 NEWS_PROXY +.h2 NNTP_PROXY +.h2 SNEWSPOST_PROXY +.h2 SNEWSREPLY_PROXY +.h2 SNEWS_PROXY +.h2 WAIS_PROXY +.h2 FINGER_PROXY +.h2 CSO_PROXY +# Lynx version 2.2 and beyond supports the use of proxy servers that can act as +# firewall gateways and caching servers. They are preferable to the older +# gateway servers. Each protocol used by Lynx can be mapped separately using +# PROTOCOL_proxy environment variables (see Lynx Users Guide). If you have not set +# them externally, you can set them at run time via this configuration file. +# They will not override external settings. The no_proxy variable can be used +# to inhibit proxying to selected regions of the Web (see below). Note that on +# VMS these proxy variables are set as process logicals rather than symbols, to +# preserve lowercasing, and will outlive the Lynx image. +# +.ex 15 +#http_proxy:http://some.server.dom:port/ +#https_proxy:http://some.server.dom:port/ +#ftp_proxy:http://some.server.dom:port/ +#gopher_proxy:http://some.server.dom:port/ +#news_proxy:http://some.server.dom:port/ +#newspost_proxy:http://some.server.dom:port/ +#newsreply_proxy:http://some.server.dom:port/ +#snews_proxy:http://some.server.dom:port/ +#snewspost_proxy:http://some.server.dom:port/ +#snewsreply_proxy:http://some.server.dom:port/ +#nntp_proxy:http://some.server.dom:port/ +#wais_proxy:http://some.server.dom:port/ +#finger_proxy:http://some.server.dom:port/ +#cso_proxy:http://some.server.dom:port/ +#no_proxy:host.domain.dom + +.h2 NO_PROXY +# The no_proxy variable can be a comma-separated list of strings defining +# no-proxy zones in the DNS domain name space. If a tail substring of the +# domain-path for a host matches one of these strings, transactions with that +# node will not be proxied. +.ex +#no_proxy:domain.path1,path2 +# +# A single asterisk as an entry will override all proxy variables and no +# transactions will be proxied. +.ex +#no_proxy:* +# This is the only allowed use of * in no_proxy. +# +# Warning: Note that setting 'il' as an entry in this list will block proxying +# for the .mil domain as well as the .il domain. If the entry is '.il' this +# will not happen. + +.h1 External Programs + +.h2 PRINTER +.h2 DOWNLOADER +.h2 UPLOADER +# PRINTER, DOWNLOADER & UPLOADER DEFINITIONS: +# Lynx has 4 pre-defined print options & 1 pre-defined download option, +# which are called up on-screen when `p' or `d' are entered; +# any number of options can be added by the user, as explained below. +# Uploaders can be defined only for UNIX with DIRED_SUPPORT: +# see the Makefile in the top directory & the header of src/LYUpload.c . +# +# For `p' pre-defined options are: `Save to local file', `E-mail the file', +# `Print to screen' and `Print to local printer attached to vt100'. +# `Print to screen' allows file transfers in the absence of alternatives +# and is often the only option allowed here for anonymous users; +# the 3rd & 4th options are not pre-defined for DOS/WINDOWS versions of Lynx. +# For `d' the pre-defined option is: `Download to local file'. +# +# To define your own print or download option use the following formats: +# +# PRINTER:::