Integrated "fvwm" closing branch commit to avoid an extra topological head.
authorOleksandr Gavenko <gavenkoa@gmail.com>
Tue, 03 Jan 2023 01:10:23 +0200
changeset 437 edf39d897193
parent 435 f6e23b5bf73f (diff)
parent 436 7c02f704b6de (current diff)
child 438 65413b4c91ba
Integrated "fvwm" closing branch commit to avoid an extra topological head.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.Xdefaults	Tue Jan 03 01:10:23 2023 +0200
@@ -0,0 +1,59 @@
+! To update db after edit run:
+!   $ xrdb -merge .Xdefaults
+! To get list of loaded resources:
+!   $ xrdb -query
+! Also see:
+!   appres(1), listres(1)
+
+! Useful font names:
+!   4x6, 5x7, 5x8, 6x9, 8x9, 6x10, 5x12, 6x12, 7x12, 8x12, 16x12, 6x13, 7x13, 8x13, 7x14, 9x15, 8x16, 12x16, 9x18, 10x18, 10x20, 12x24
+
+emacs.font: 7x13
+emacs21.font: 7x13
+emacs22.font: 7x13
+emacs23.font: 7x13
+emacs22-gtk.font: 7x13
+emacs23-gtk.font: 7x13
+! Same as 7x13
+! emacs.font: -misc-fixed-medium-r-*-*-13-*-*-*-*-*-iso8859-*
+! emacs.font: -misc-fixed-medium-r-*-*-14-*-*-*-*-*-iso8859-*
+
+! emacs.geometry: 20x20+0+0
+! emacs.FontBackend: xft
+
+XTerm*background: white
+XTerm*foreground: black
+XTerm*cursorColor: brown
+! Allow Alt as Meta in Emacs:
+XTerm*eightBitInput: false
+XTerm*metaSendsEscape: true
+XTerm*saveLines: 10000
+! When an interactive shell that is not a login shell is started, bash reads
+! and executes commands from /etc/bash.bashrc and ~/.bashrc, if these files
+! exist.
+! By default 'xterm' start shell with '-i', so it interactive. But if it also
+! login shell then ~/.bashrc will not be read. Awful!
+XTerm*loginShell: false
+
+
+Rxvt*background: white
+Rxvt*foreground: black
+Rxvt*cursorColor: brown
+Rxvt*geometry: 120x40
+! 5x7, 5x8, 6x9, 6x10, 6x12, 7x13, 7x14, 9x15, 8x16, 10x20, 12x24
+Rxvt*font: 7x14
+! Rxvt*boldFont: 7x14
+Rxvt*scrollBar: on
+Rxvt*saveLines: 5000
+! When an interactive shell that is not a login shell is started, bash reads
+! and executes commands from /etc/bash.bashrc and ~/.bashrc, if these files
+! exist.
+! By default rxvt start shell without args, so it interactive. But if it also
+! login shell then ~/.bashrc will not be read. Awful!
+Rxvt*loginShell: false
+
+xpdf*initialZoom: width
+
+! Xft.hinting: none
+! Xft.dpi: 96
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.bash_completion	Tue Jan 03 01:10:23 2023 +0200
@@ -0,0 +1,157 @@
+# -*- mode: shell-script -*-
+
+# user commands see only users
+complete -u su passwd write chfn groups slay w sux
+
+# bg completes with stopped jobs
+complete -A stopped -P '"%' -S '"' bg
+
+# other job commands
+complete -j -P '"%' -S '"' fg jobs disown
+
+# readonly and unset complete with shell variables
+complete -v readonly unset
+
+# set completes with set options
+complete -A setopt set
+
+# shopt completes with shopt options
+complete -A shopt shopt
+
+# helptopics
+complete -A helptopic help
+
+# unalias completes with aliases
+complete -a unalias
+
+# bind completes with readline bindings (make this more intelligent)
+complete -A binding bind
+
+# type and which complete on commands
+complete -c command type which
+
+# builtin completes on builtins
+complete -b builtin
+
+_hgsyncew() {
+  local cur=${COMP_WORDS[COMP_CWORD]}
+  COMPREPLY=( $(compgen -W "--push" -- $cur) )
+  return 0
+}
+complete -F _hgsyncew -o nospace hgsyncew
+
+_pathsearch() {
+  local prev cur=${COMP_WORDS[COMP_CWORD]}
+  [[ $COMP_CWORD > 0 ]] && prev=${COMP_WORDS[COMP_CWORD-1]}
+  if [[ $prev = -d ]]; then
+    COMPREPLY=()
+    return 0
+  fi
+  case "$cur" in
+    -*) COMPREPLY=( $(compgen -W "-d --delimiter= -h --help" -- $cur ) ) ;;
+    *) COMPREPLY=() ;;
+  esac
+  return 0
+}
+complete -F _pathsearch -o nospace pathsearch
+
+_mycd() {
+  local cur
+  cur=${COMP_WORDS[COMP_CWORD]}
+  if [[ -z "${CDPATH:-}" || "$cur" == ?(.)?(.)/* ]]; then
+    COMPREPLY=( $(compgen -d -- "$cur") )
+    return 0
+  fi
+  local i j k
+  k=0
+  for i in ${CDPATH//:/$'\n'}; do
+    for j in $( compgen -d -- $i/$cur ); do
+      COMPREPLY[k++]=${j#$i/}
+    done
+  done
+  return 0
+}
+complete -F _mycd -o nospace cd
+
+_man() {
+  local p
+  local cur=${COMP_WORDS[COMP_CWORD]}
+  if [[ $cur = /* || $cur = ./* ]]; then
+    COMPREPLY=( $(compgen -f -- $cur) )
+  fi
+  local IFS=':
+'
+  for p in /usr/share/man $MANPATH; do
+    [[ -n $p ]] || continue
+    p=( $p/man*/* )
+    p=( ${p[@]##*/} )
+    p=( ${p[@]%.gz} )
+    p=( ${p[@]%.*} )
+    p=( $(compgen -W '${p[@]}' -- $cur ) )
+    COMPREPLY=( ${COMPREPLY[@]} ${p[@]} )
+  done
+}
+complete -F _man man
+
+_make() {
+  local i mk
+  local dir=.
+  local cur=${COMP_WORDS[COMP_CWORD]}
+  if [[ $cur = -* ]]; then
+    COMPREPLY=( $(compgen -W "-C -f" -- "$cur") )
+    return 0
+  fi
+  [[ $COMP_CWORD > 0 ]] && prev=${COMP_WORDS[COMP_CWORD-1]}
+  for (( i=1; i < ${#COMP_WORDS[@]}-1; i++ )); do
+    case ${COMP_WORDS[i]} in
+      -f) mk=${COMP_WORDS[i+1]} ;;
+      -C) dir=${COMP_WORDS[i+1]} ;;
+    esac
+  done
+  if [[ $prev = -C ]]; then
+    COMPREPLY=( $(compgen -d -- "$cur") )
+    return 0
+  fi
+  if [[ $prev = -f ]]; then
+    COMPREPLY=( $(cd $dir >/dev/null 2>&1; compgen -f -- "$cur") )
+    return 0
+  fi
+  mk=$dir/$mk
+  [[ -f $mk ]] || mk=$(eval echo $dir/[Mm]akefile)
+  [[ -f $mk ]] || return 1
+  COMPREPLY=( $(compgen -W "$(sed -n -e '/^[[:alnum:]_-]*:/{s=^\([^:]*\):.*=\1=;p;}' $mk)" -- $cur) )
+  return 0
+}
+complete -F _make make gmake pmake
+
+_cygcheck() {
+  local opt
+  local cur=${COMP_WORDS[COMP_CWORD]}
+  case $COMP_CWORD in
+    1)
+      case $cur in
+        -*)
+          COMPREPLY=( $(compgen -W "-v --verbose -h --help -V --version -c --check-setup -s --sysinfo
+            -k --keycheck -f --find-package -l --list-package -p --package-query" -- "$cur") )
+          return 0 ;;
+        *)
+          COMPREPLY=( $(compgen -c -- "$cur") )
+          return 0 ;;
+      esac
+      ;;
+    2)
+      opt=${COMP_WORDS[1]}
+      case $opt in
+        -c|--check-setup|-l|--list-package)
+          pkgs=( /etc/setup/*.lst.gz )
+          pkgs=( ${pkgs[@]##*/} )
+          pkgs=( ${pkgs[@]%.lst.gz} )
+          COMPREPLY=( $(compgen -W '${pkgs[@]}' -- $cur ) )
+          return 0;;
+      esac
+      return 0;;
+  esac
+  return 0
+}
+complete -F _cygcheck cygcheck.exe cygcheck
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.bash_path	Tue Jan 03 01:10:23 2023 +0200
@@ -0,0 +1,50 @@
+#!/bin/bash
+
+# set -x
+# set -u
+
+# XXX for mc, cvs, svn, ...
+export EDITOR=vim
+
+# XXX vim and gnome-terminal have support for 256 colours in fedora 8 at least
+# Note debian/ubuntu users should install the ncurses-term package to support this
+# export TERM=xterm-256color
+
+# Special case for CYGWIN to properly display russian letters in rxvt.
+# Don't forget set in Windows SHELL=/bin/bash. If default SHELL is sh then .bashrc will not be read.
+if [[ $OSTYPE = cygwin ]]; then
+  export LANG=ru_RU.CP1251
+  # Avoid permission problem in Cygwin.
+  umask 0000
+fi
+
+# Easy cd to often used dirs.
+export CDPATH=.:~:~/devel:~/devel/my-devel
+
+if [[ ! $PATH =~ $HOME/usr/bin ]]; then
+  export PATH=$PATH:~/usr/bin
+fi
+if [[ ! $PATH =~ /usr/sbin ]]; then
+  export PATH=$PATH:/usr/sbin
+fi
+
+if [[ ! $LD_LIBRARY_PATH =~ $HOME/usr/lib ]]; then
+  export LD_LIBRARY_PATH=$HOME/usr/lib
+else
+  export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":$HOME/usr/lib
+fi
+
+if [[ -z "$MANPATH" ]]; then
+  export MANPATH=~/usr/share/man:
+elif [[ ! $MANPATH =~ $HOME/usr/share/man: ]]; then
+  export MANPATH=$MANPATH:$HOME/usr/share/man:
+fi
+
+if [[ -z "$INFOPATH" ]]; then
+  export INFOPATH=~/usr/share/info:
+elif [[ ! $INFOPATH =~ $HOME/usr/share/info: ]]; then
+  export INFOPATH=$INFOPATH:$HOME/usr/share/info:
+fi
+
+export PYTHONSTARTUP=~/.pystartup
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.bashrc	Tue Jan 03 01:10:23 2023 +0200
@@ -0,0 +1,146 @@
+
+# set -x
+# set -u
+
+# XXX
+# [[ -f /etc/bashrc ]] && . /etc/bashrc
+
+if [[ -f ~/.bash_path ]]; then
+  . ~/.bash_path
+fi
+
+PS1='bash# '
+# Set magenta bold font.
+case "$TERM" in
+  xterm*)
+    PS1='\[\033[31m\033[1m\]\h\[\033[35m\]+bash# \[\033[0m\]'
+    PS2='\[\033[32m\]> \[\033[0m\]'
+  ;;
+esac
+
+if command -v dircolors >/dev/null 2>&1 && [[ -f ~/.dircolors ]]; then
+  eval "`dircolors -b ~/.dircolors`"
+fi
+
+# Don't store duplicate adjacent items in the history.
+#   ignorespace     do not save lines that start with space
+#   erasedups       all previous lines matching the current line to be removed from
+#                   the history list before that line is saved
+HISTCONTROL=igrorespace:erasedups
+
+# Don't store noisy/dumb items.
+# TIP: MC command start with space.
+HISTIGNORE=\
+" cd *":\
+"e *":\
+"sudo mv *":"sudo rm *":"sudo cp *":"sudo mkdir *":"sudo chmod *":"sudo chown *":\
+"vlc *":ls:pwd
+
+# To these options assigned default value, as they satisfy my needs I comment them.
+# HISTFILE=~/.bash_history  # where is command history stored
+# HISTFILESIZE=500          # how many lines been in $HISTFILE
+# HISTSIZE=500              # how many lines been stored in bash process
+
+# Can be XXX /visible. I like bell.
+# set bell-style visible
+
+# Make Bash append rather than overwrite the history.
+shopt -s histappend
+
+shopt -s histreedit
+shopt -s histverify
+
+# Minor errors in the spelling of a directory component in a cd command will
+# be corrected.
+shopt -s cdspell
+
+# Save all lines of a multiple-line command in the same history entry.
+shopt -s cmdhist
+
+# Allows files beginning with a dot ('.') to be returned in the results of path-name expansion.
+shopt -s dotglob
+
+# ksh-88 egrep-style extended pattern matching.
+shopt -s extglob
+
+# Adjust settings according to current terminal window width
+# which may have changed while the last command was running
+# (which is a common occurance for vim/less/etc.)
+# Note this is already set in /etc/bashrc on Fedora 8 at least.
+shopt -s checkwinsize
+
+# Let me have core dumps
+ulimit -c unlimited
+
+################################################################
+# shortcut aliases
+
+alias ..="cd .."        #go to parent dir
+alias ...="cd ../.."    #go to grandparent dir
+alias -- -="cd -"       # go to previous dir
+alias l.='ls -d .*'     #list hidden files
+alias ll='ls -lhrt'     #extra info compared to "l"
+alias lld='ls -lUd */'  #list directories
+# I prefer EN man pages.
+alias man='LANG=C man'
+
+alias j='jobs '
+
+# make and change to a directory
+md () { mkdir -p "$1" && cd "$1"; }
+
+# LANG=C for speed.
+alias grep='GREP_COLOR="31;47" LANG=C grep -n --color=auto'
+alias ls='ls --color=auto'
+alias minicom='minicom -c on'
+
+# Show 3 months. Weeks start on Monday.
+alias cal='cal -3'
+alias ncal='ncal -3 -M'
+
+# alias diff='LC_ALL=C TZ=GMT0 diff -Naur' #normalise diffs for distribution
+# alias sudo='sudo env PATH=$PATH' #work around sudo built --with-secure-path (ubuntu)
+# alias vim='vim -X' #don't try to contact xserver (which can hang on network issues)
+# alias gdb='gdb -tui' #enable the text window interface if possible
+
+# what most people want from od (hexdump)
+# alias hd='od -Ax -tx1z -v'
+
+# --blank-lines-after-procedures --break-before-boolean-operator --braces-on-if-line --braces-on-struct-decl-line
+# --comment-indentationn --space-after-cast --line-comments-indentationn --declaration-indentationn --honour-newlines
+# --no-space-after-function-call-names --no-tabs --struct-brace-indentationn --start-left-side-of-comments
+alias indent-bifit="indent -bap -bbo -br -brs -cdw -ce -cli0 -c0 -cs -d0 -di0 -hnl -l120 -lc90 -i4 -npcs -ppi 3 -npsl -nut -sbi4 -sc"
+
+# canonicalize path (including resolving symlinks)
+# alias realpath='readlink -f'
+
+################################################################
+# Key binding.
+
+set -o emacs
+
+bind '"\e/": dabbrev-expand'
+bind '"\ee": edit-and-execute-command'
+
+################################################################
+# Completion.
+
+# Use system wide completion, if available.
+if [[ -f /etc/bash_completion ]]; then
+  # Under Cygwin bash completition take a long time for starting.
+  if [[ ! $OSTYPE = cygwin ]]; then
+    . /etc/bash_completion
+  fi
+elif [[ -f ~/usr/etc/bash_completion ]]; then
+  . ~/usr/etc/bash_completion
+fi
+# Load local completions.
+if [[ -f ~/.bash_completion ]]; then
+  . ~/.bash_completion
+fi
+if [[ -d ~/.bash_completion.d ]]; then
+  for f in ~/.bash_completion.d/* ~/.bash_completion.d/.*; do
+    [[ -f "$f" ]] && . "$f"
+  done
+fi
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.bazaar/bazaar.conf	Tue Jan 03 01:10:23 2023 +0200
@@ -0,0 +1,7 @@
+[DEFAULT]
+email=Oleksandr Gavenko <gavenkoa@gmail.com>
+
+[ALIASES]
+; commit = commit --strict
+; log10 = log --short -r -10..-1
+; diff = diff -v
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.bazaar/ignore	Tue Jan 03 01:10:23 2023 +0200
@@ -0,0 +1,35 @@
+*.a
+*.diff
+*.elc
+*.exe
+*.lib
+*.o
+*.obj
+*.patch
+*.py[co]
+*.so
+*.class
+*.jar
+*.war
+
+# MSVC ActiveX/COM artefact:
+# *_i.c
+# *_p.c
+# MSVC project files:
+*.sln
+*.sln.cache
+*.ncb
+*.vcproj
+*.vcproj.*.user
+# MSVC precompiled header:
+*.pch
+# MSVC program database file:
+*.pdb
+# MSVC type library:
+*.tlb
+# MSVC build dirs:
+[Dd]ebug/
+[Rr]elease/
+[Oo]bj/
+
+*~
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.config/mc/mc.ext	Tue Jan 03 01:10:23 2023 +0200
@@ -0,0 +1,252 @@
+# -*- mode: conf -*-
+#
+# All lines starting with # or empty lines are thrown away.
+# Lines starting in the first column should have following format:
+#
+# keyword/descNL, i.e. everything after keyword/ until new line is desc
+#
+# keyword can be: 
+#
+#    shell (desc is, when starting with a dot, any extension (no wildcars), 
+#          i.e. matches all the files *desc . Example: .tar matches *.tar;
+#          if it doesn't start with a dot, it matches only a file of that name)
+#
+#    regex (desc is an extended regular expression)
+#          Please note that we are using the GNU regex library and thus
+#          \| matches the literal | and | has special meaning (or) and
+#          () have special meaning and \( \) stand for literal ( ).
+#
+#    type  (file matches this if `file %f` matches regular expression desc
+#          (the filename: part from `file %f` is removed))
+#
+#    directory (matches any directory matching regular expression desc)
+#
+#    include (matches an include directive)
+#
+#    default (matches any file no matter what desc is)
+#
+# Other lines should start with a space or tab and should be in the format:
+#
+# keyword=commandNL (with no spaces around =), where keyword should be: 
+#
+#    Open (if the user presses Enter or doubleclicks it), 
+#
+#    View (F3), Edit (F4)
+#
+#    Include is the keyword used to add any further entries from an include/
+#    section
+#
+# command is any one-line shell command, with the following substitutions:
+#
+# %% -> % character
+# %p -> name of the current file (without path, but pwd is its path)
+# %f -> name of the current file. Unlike %p, if file is located on a
+#   non-local virtual filesystem, i.e. either tarfs or ftpfs,
+#   then the file will be temporarily copied into a local directory
+#   and %f will be the full path to this local temporal file.
+#   If you don't want to get a local copy and want to get the
+#   virtual fs path (like /#ftp:ftp.cvut.cz/pub/hungry/xword), then
+#   use %d/%p instead of %f.
+# %d -> name of the current directory (pwd, without trailing slash)
+# %s -> "selected files", i.e. space separated list of tagged files if any
+#       or name of the current file
+# %t -> list of tagged files
+# %u -> list of tagged files (they'll be untaged after the command)
+#
+# (If these 6 letters are in uppercase, they refer to the other panel.
+# But you shouldn't have to use it in this file.)
+#
+#
+# %cd -> the rest is a path mc should change into (cd won't work, since it's
+#   a child process).  %cd handles even vfs names.
+#
+# %view -> the command you type will be piped into mc's internal file viewer
+#   if you type only the %view and no command, viewer will load %f file
+#   instead (i.e. no piping, so it is different to %view cat %f)
+#   %view may be directly followed by {} with a list of any of
+#   ascii (Ascii mode), hex (Hex mode), nroff (color highlighting for
+#   text using backspace for bold and underscore) and unform
+#   (no highlighting for nroff sequences) separated by commas.
+#
+# %var -> You use it like this: %var{VAR:default}.  This macro will expand
+#       to the value of the VAR variable in the environment if it's set
+#       otherwise the value in default will be used.  This is similar to
+#       the Bourne shell ${VAR-default} construct.
+#
+# Rules are applied from top to bottom, thus the order is important.
+# If some actions are missing, search continues as if this target didn't
+# match (i.e. if a file matches the first and second entry and View action
+# is missing in the first one, then on pressing F3 the View action from
+# the second entry will be used. default should catch all the actions.
+#
+# Any new entries you develop for you are always welcome if they are
+# useful on more than one system.  You can post your modifications
+# as tickets at www.midnight-commander.org
+
+################################################################
+# Image.
+
+shell/.xcf
+	Open=(gimp %f &)
+
+type/^GIF
+	Include=image
+type/^JPEG
+	Include=image
+type/^PC\ bitmap
+	Include=image
+type/^PNG
+	Include=image
+type/^TIFF
+	Include=image
+type/^PBM
+	Include=image
+type/^PGM
+	Include=image
+type/^PPM
+	Include=image
+type/^Netpbm
+	Include=image
+shell/.xbm
+	Open=bitmap %f
+shell/.xpm
+	Include=image
+	# View=sxpm %f
+shell/.ico
+	Include=image
+
+include/image
+    Open=see %f &
+    View=%view{ascii} identify %f
+    Edit=gimp %f 2>/dev/null &
+
+################################################################
+# Audio.
+
+regex/\.([wW][aA][vV]|[sS][nN][dD]|[vV][oO][cC]|[aA][uU]|[sS][mM][pP]|[aA][iI][fF][fF]|[sS][nN][dD])$
+    Include=audio
+regex/\.([mM][pP]3)$
+    Include=audio
+
+include/audio
+    Open=vlc %f&
+
+################################################################
+# Video.
+
+regex/\.([wW][mM][vV])$
+    Include=video
+regex/\.([fF][lL][iIcCvV])$
+    Include=video
+regex/\.([mM][pP]4|[mM][pP][eE]?[gG])$
+    Include=video
+regex/\.([aA][vV][iI])$
+    Include=video
+regex/\.(3[gG][pP])$
+    Include=video
+regex/\.([aA][sS][fFxX])$
+    Include=video
+regex/\.([dD][iI][vV][xX])$
+    Include=video
+regex/\.([mM][kK][vV])$
+    Include=video
+regex/\.([mM][oO][vV]|[qQ][tT])$
+    Include=video
+# MPEG-2 TS container + H.264 codec
+regex/\.([mM][tT][sS])$
+    Include=video
+regex/\.([vV][oO][bB])$
+    Include=video
+regex/\.([wW][mM][vV])$
+    Include=video
+regex/\.([oO][gG][mM])$
+    Include=video
+
+include/video
+    Open=vlc %f
+
+################################################################
+# Plain and binary documents.
+
+# GNU Info page
+type/^Info\ text
+    Open=info -f %f
+shell/.info
+    Open=info -f %f
+type/^PDF
+	Open=see %f 2>/dev/null &
+shell/.chm
+    Open=xchm %f 2>/dev/null &
+shell/.djvu
+    Open=djview %f 2>/dev/null &
+shell/.fb2
+    Open=fbreader %f 2>/dev/null &
+shell/.epub
+    Open=fbreader %f 2>/dev/null &
+regex/\.([rR][tT][fF])$
+    Open=see %f 2>/dev/null &
+    View=%view{ascii} catdoc -w %f
+
+regex/\.([Dd][oO][cCtT]|[Ww][rR][iI])$
+    Include=msword
+type/^Microsoft\ Word
+    Include=msword
+type/^Microsoft\ Office\ Document
+    Include=msword
+include/msword
+	Open=see %f >/dev/null 2>&1 &
+	View=%view{ascii} antiword -t %f || catdoc -w %f || word2x -f text %f - || strings %f
+
+################################################################
+# Build rules.
+
+# Makefile
+regex/[Mm]akefile$
+    Open=make -f %f %{Enter parameters}
+# Imakefile
+shell/Imakefile
+    Open=xmkmf -a
+# Makefile.PL (MakeMaker)
+regex/^Makefile.(PL|pl)$
+    Open=%var{PERL:perl} %f
+
+################################################################
+# Open in Emacs.
+
+regex/\.(c|cpp|cxx)
+    Open=e %f
+    # Open=sensible-editor %f
+regex/\.(h|hpp)
+    Open=e %f
+shell/.(s|S)
+    Open=e %f
+shell/.java
+    Open=e %f
+shell/.f
+    Open=e %f
+regex/\.([Tt][Ee][Xx])$
+    Open=e %f
+    #Open=%var{EDITOR:vi} %f
+regex/\.(sh|bash|tcsh)
+    Edit=e %f
+regex/\.(te?xi|texinfo)$
+    Open=e %f
+
+################################################################
+# Object files.
+
+regex/\.(o|obj)
+    View=%view{ascii} file %f && nm %f
+regex/\.(so|so\.[0-9\.]*)$
+    View=%view{ascii} file %f && nm -C -D %f
+type/^ELF
+    View=%view{ascii} file %f && nm -C %f
+shell/.class
+    View=%view{ascii} tmp=%p; javap -c ${tmp%%.class}
+
+################################################################
+# Misc, tutorial, help rules.
+
+shell/.my
+    Open=tmp=%f; echo ${tmp%.my} %f %{Enter opt:} %{Enter file:}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.cvsrc	Tue Jan 03 01:10:23 2023 +0200
@@ -0,0 +1,17 @@
+# -q be quiet
+# -z6 enables compression level 6
+cvs -q -z6
+# -P prune empty directories
+co -P
+# -u provides unified diff
+# -p print to standard output
+diff -up
+rdiff -up
+# -P prune empty directories
+get -P
+# Do not print the list of tags for this file. Can be very useful when your
+# site uses a lot of tags.
+log -N
+# -P prune empty directories
+# -d create new directories
+update -Pd
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.dictrc	Tue Jan 03 01:10:23 2023 +0200
@@ -0,0 +1,1 @@
+server localhost 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.dircolors	Tue Jan 03 01:10:23 2023 +0200
@@ -0,0 +1,91 @@
+# Below are the color init strings for the basic file types. A color init
+# string consists of one or more of the following numeric codes:
+# Attribute codes:
+# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed
+# Text color codes:
+# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
+# Background color codes:
+# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white
+
+NORMAL 00
+FILE 00
+DIR 01;34
+LINK 04;36
+ORPHAN 01;31;40
+# MISSING 01;31;40
+FIFO 33;40
+SOCK 33;40
+DOOR 33;40
+BLK 43
+CHR 43
+EXEC 04;31
+
+.cmd 32
+.exe 32
+.com 32
+.bat 32
+
+.tar 36
+.tgz 36
+.arj 36
+.taz 36
+.lzh 36
+.zip 36
+.z 36
+.Z 36
+.gz 36
+.bz2 36
+.deb 36
+.rpm 36
+.jar 36
+
+.jpg 32
+.jpe 32
+.jpeg 32
+.gif 32
+.bmp 32
+.pbm 32
+.pgm 32
+.ppm 32
+.tga 32
+.xbm 32
+.xpm 32
+.tif 32
+.tiff 32
+.png 32
+.eps 32
+.mpg 32
+.mpeg 32
+.avi 32
+.fli 32
+.gl 32
+.dl 32
+.xcf 32
+.xwd 32
+
+.ogg 01;35
+.mp3 01;35
+.wav 01;35
+
+.o 01;33
+.c 01;35
+.cc 01;35
+.h 01;35
+.pl 01;35
+.pm 01;35
+.m 01;35
+
+*Makefile 0;35
+*tags 01;32
+*~ 01;30
+.swp 01;30
+*README 01;31
+.tex 01;31
+.htm 01;31
+.html 01;31
+
+*readme 00;31
+.pdf 00;31
+.ps 00;31
+.dvi 00;31
+
--- a/.fvwm/config	Mon Apr 23 17:53:46 2012 +0300
+++ b/.fvwm/config	Tue Jan 03 01:10:23 2023 +0200
@@ -183,8 +183,8 @@
 # Prevent show long title.
 SetEnv fvwm_winlist_width 60
 # Define switch between aps.
-Key     Tab A M WindowList Root c c NoDeskSort, MaxLabelWidth $[fvwm_winlist_width], SelectOnRelease Meta_L
-Key Super_L A N WindowList Root c c NoDeskSort, MaxLabelWidth $[fvwm_winlist_width]
+Key Tab A M WindowList Root c c NoDeskSort, MaxLabelWidth $[fvwm_winlist_width], SelectOnRelease Meta_L
+Key Tab A 3 WindowList Root c c NoDeskSort, MaxLabelWidth $[fvwm_winlist_width]
 
 # Close window on Alt+F4 (send SIGHUP).
 Key F4 A M Delete
@@ -242,6 +242,14 @@
 Key F11 A S CursorMove +0p -50p
 Key F12 A S CursorMove +50p +0p
 
+# Switch input method.
+Key 1 A 3 Exec exec setxkbmap -layout us
+Key 2 A 3 Exec exec setxkbmap -layout ru
+Key 3 A 3 Exec exec setxkbmap -layout ua
+
+# Win+R like in Windows.
+Key R A 3 Exec exec gmrun
+
 ###############
 # Window Decor.
 ###############
@@ -400,6 +408,7 @@
 
 # Only once.
 AddToFunc InitFunction
++ I Exec  exec xsetroot -gray
 + I Exec  exec xterm -fn "-misc-fixed-medium-r-*-*-18-*-*-*-*-*-iso10646-1" \
                -name mc-main1 -geometry 136x42 -e bash -i -c "mc -x"
 + I Exec  exec xterm -fn "-misc-fixed-medium-r-*-*-18-*-*-*-*-*-iso10646-1" \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.gitconfig	Tue Jan 03 01:10:23 2023 +0200
@@ -0,0 +1,55 @@
+# -*- mode: conf -*-
+
+[user]
+name = Oleksandr Gavenko
+email = gavenkoa@gmail.com
+
+[alias]
+br = branch
+ci = commit -a
+co = checkout
+cp = cherry-pick
+graph = log --graph --oneline --decorate
+info = config --list
+pop = !git stash apply && git stash clear
+sb = show-branch
+st = status
+staged = diff --cached
+summary = log --oneline
+tags = tag -n1 -l
+w = whatchanged
+
+[core]
+whitespace=fix,-indent-with-non-tab,trailing-space,cr-at-eol
+excludesfile = ~/.gitignore
+
+[apply]
+# fix/strip/nowarn
+# whitespace = strip
+
+[diff]
+color = auto
+status = auto
+branch = auto
+# Makes the diff much shorter when moving or copying files.
+rename = copy
+
+# The number of files to consider when performing the copy/rename
+# detection; equivalent to the git diff option -l.
+# renamelimit = 0
+
+[pager]
+color = true
+
+[status]
+color = auto
+
+[color]
+branch = auto
+diff = auto
+interactive = auto
+status = auto
+
+pager = true
+ui = true
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.gitignore	Tue Jan 03 01:10:23 2023 +0200
@@ -0,0 +1,37 @@
+# See: man 5 gitignore.
+
+*.a
+*.elc
+*.exe
+*.dll
+*.ocx
+*.lib
+*.o
+*.obj
+*.py[co]
+*.so
+*.class
+*.jar
+*.war
+
+# MSVC ActiveX/COM artefact:
+# *_i.c
+# *_p.c
+# MSVC project files:
+*.sln
+*.sln.cache
+*.ncb
+*.vcproj
+*.vcproj.*.user
+# MSVC precompiled header:
+*.pch
+# MSVC program database file:
+*.pdb
+# MSVC type library:
+*.tlb
+# MSVC build dirs:
+[Dd]ebug/
+[Rr]elease/
+[Oo]bj/
+
+*~
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.gnupg/gpg.conf	Tue Jan 03 01:10:23 2023 +0200
@@ -0,0 +1,2 @@
+# Disable "gpg: Warning: using insecure memory!".
+no-secmem-warning
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.hgignore	Tue Jan 03 01:10:23 2023 +0200
@@ -0,0 +1,41 @@
+# To check file assosiation use:
+#   http://filext.com/file-extension/XXX
+# or at Windows 'cmd':
+#   bash# cmd /c assoc .cmd | { IFS='=' read ext name; echo $name; [ -z $name ] || cmd /c ftype $name; }
+
+syntax: glob
+*.a
+*.elc
+*.exe
+*.dll
+*.ocx
+*.lib
+*.o
+*.obj
+*.py[co]
+*.so
+*.class
+*.jar
+*.war
+
+# MSVC ActiveX/COM artefact:
+# *_i.c
+# *_p.c
+# MSVC project files:
+*.sln
+*.sln.cache
+*.ncb
+*.vcproj
+*.vcproj.*.user
+# MSVC precompiled header:
+*.pch
+# MSVC program database file:
+*.pdb
+# MSVC type library:
+*.tlb
+# MSVC build dirs:
+[Dd]ebug/
+[Rr]elease/
+[Oo]bj/
+
+*~
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.hgrc	Tue Jan 03 01:10:23 2023 +0200
@@ -0,0 +1,60 @@
+; -*- mode: ini-generic; coding: utf-8 -*-
+
+[ui]
+; Who are you?
+username = Oleksandr Gavenko <gavenkoa@gmail.com>
+; Use internal merge engine. When merge fail you see <<<<<< ====== >>>>>> and a .orig file.
+merge = internal:merge
+editor = emacs -q
+ignore = ~/.hgignore
+
+style = ~/.hgstyle
+
+[defaults]
+log = -v -f
+incoming = -v
+outgoing = -v
+diff = --git
+
+[merge-tools]
+emacs.args = -q --eval "(ediff-merge-with-ancestor \"$local\" \"$other\" \"$base\" nil \"$output\")"
+
+[web]
+encoding = utf-8
+
+[extensions]
+; To allow 'fetch' command.
+hgext.fetch =
+; To allow Mercurial Queues.
+hgext.mq =
+; To import revisions from foreign VCS repositories into Mercurial.
+hgext.convert =
+; Usage:  hg glog <dir>
+hgext.graphlog =
+; Enable '.hgeol' tracking (fix for CR/LF).
+hgext.eol =
+; Allow cherry-picking.
+transplant =
+; Show progress on operations.
+progress =
+; Delete untracked files from the working directory.
+hgext.purge=
+
+[progress]
+; Number of seconds (float) before showing the progress bar.
+delay = 2
+; Time in seconds between refreshes of the progress bar.
+refresh = 0.5
+; Format of the progress bar: topic bar number estimate.
+format = topic bar number estimate
+; Clear the progress bar after it's done.
+clear-complete = False
+; If true, don't show a progress bar.
+disable = False
+; If true, ALWAYS show a progress bar, unless disable is given.
+assume-tty = False
+
+[trusted]
+; http://mercurial.selenic.com/wiki/Trust
+; Do not include: nobody.
+groups = apache, daemon, www-data
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.hgstyle	Tue Jan 03 01:10:23 2023 +0200
@@ -0,0 +1,25 @@
+changeset = 'changeset:   {rev}:{node|short}\n{branches}{bookmarks}{tags}{parents}user:        {author}\ndate:        {date|isodate}\nsummary:     {desc|firstline}\n\n'
+changeset_quiet = '{rev}:{node|short}\n'
+changeset_verbose = 'changeset:   {rev}:{node|short}\n{branches}{bookmarks}{tags}{parents}user:        {author}\ndate:        {date|isodate}\n{files}{file_copies_switch}description:\n{desc|strip}\n\n\n'
+changeset_debug = 'changeset:   {rev}:{node}\n{branches}{bookmarks}{tags}{parents}{manifest}user:        {author}\ndate:        {date|isodate}\n{file_mods}{file_adds}{file_dels}{file_copies_switch}{extras}description:\n{desc|strip}\n\n\n'
+start_files = 'files:      '
+file = ' {file}'
+end_files = '\n'
+start_file_mods = 'files:      '
+file_mod = ' {file_mod}'
+end_file_mods = '\n'
+start_file_adds = 'files+:     '
+file_add = ' {file_add}'
+end_file_adds = '\n'
+start_file_dels = 'files-:     '
+file_del = ' {file_del}'
+end_file_dels = '\n'
+start_file_copies = 'copies:     '
+file_copy = ' {name} ({source})'
+end_file_copies = '\n'
+parent = 'parent:      {rev}:{node|formatnode}\n'
+manifest = 'manifest:    {rev}:{node}\n'
+branch = 'branch:      {branch}\n'
+tag = 'tag:         {tag}\n'
+bookmark = 'bookmark:    {bookmark}\n'
+extra = 'extra:       {key}={value|stringescape}\n'
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.inputrc	Tue Jan 03 01:10:23 2023 +0200
@@ -0,0 +1,100 @@
+# Settings for readline.
+#
+# Tips:
+#   C-x C-r  re-read ~/.inputrc
+
+# I like this!
+set editing-mode emacs
+
+# Don't strip characters to 7 bits when reading.
+set input-meta on
+
+# Allow iso-latin1 characters to be inserted rather than converted to
+# prefix-meta sequences.
+set convert-meta off
+
+# Display characters with the eighth bit set directly rather than as
+# meta-prefixed characters.
+set output-meta on
+
+# Terminal driver rebound some keys. See output 'stty -a'. I like original
+# control codes (to set 'C-w', etc).
+set bind-tty-special-chars off
+
+# Ignore case (on/off).
+set completion-ignore-case on
+
+set completion-query-items 100
+
+# First tab suggests ambiguous variants.
+set show-all-if-ambiguous on
+
+# Replace common prefix with ...
+set completion-prefix-display-length 1
+
+# If set to 'on', completed directory names have a slash appended. The default is 'on'.
+set mark-directories on
+set mark-symlinked-directories on
+
+# If set to 'on', a character denoting a file's type is appended to the
+# filename when listing possible completions. The default is 'off'.
+set visible-stats on
+
+# I like beep (audible/visible/none).
+set bell-style audible
+
+# 'quoted-insert' binded to C-q or C-v by default, but C-q usually not worked
+# because it handled by terminal driver before readline.
+C-v: quoted-insert
+
+# Setting it to 'on' means that the text of the lines being edited will scroll
+# horizontally on a single screen line when they are longer than the width of
+# the screen, instead of wrapping onto a new screen line. By default, this
+# variable is set to 'off'.
+set horizontal-scroll-mode off
+
+# This variable, when set to `on', causes Readline to display an asterisk
+# ('*') at the start of history lines which have been modified. This variable
+# is 'off' by default.
+set mark-modified-lines off
+
+$if Bash
+# Invoke an editor on the current command line, and execute the result as
+# shell commands. Bash attempts to invoke $FCEDIT, $EDITOR, and emacs as the
+# editor, in that order.
+"\C-x\C-e": edit-and-execute-command
+$endif
+
+# Define my favorite Emacs key bindings.
+"\C-@": set-mark
+"\C-w": kill-region
+"\M-w": copy-region-as-kill
+
+# Ctrl+Left/Right to move by whole words.
+"\e[1;5C": forward-word
+"\e[1;5D": backward-word
+# Same with Shift pressed.
+"\e[1;6C": forward-word
+"\e[1;6D": backward-word
+
+# Ctrl+Backspace/Delete to delete whole words.
+"\e[3;5~": kill-word
+"\C-_": backward-kill-word
+
+# UP/DOWN filter history by typed string as prefix.
+"\e[A": history-search-backward
+"\C-p": history-search-backward
+"\e[B": history-search-forward
+"\C-n": history-search-forward
+
+# Bind 'Shift+TAB' to complete as in Python TAB was need for another purpose.
+"\e[Z": complete
+$if Bash
+# Use 'Control+TAB' for cycling possible completion in bash.
+"\e[1;5I": menu-complete
+$endif
+
+# Local Variables:
+# mode: shell-script
+# fill-column: 78
+# End:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.local/share/mc/bashrc	Tue Jan 03 01:10:23 2023 +0200
@@ -0,0 +1,9 @@
+# -*- mode: sh -*-
+
+if [[ -f $HOME/.bashrc ]]; then
+  . $HOME/.bashrc
+fi
+
+# TIP: MC command start with space.
+export HISTIGNORE=$HISTIGNORE:" *"
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.magic	Tue Jan 03 01:10:23 2023 +0200
@@ -0,0 +1,3 @@
+0               string/64       -*-
+>&0             regex/64        mode:\ *rst                   reStructuredText plaintext markup
+>&0             regex/64        mode:\ *outline               Outline plaintext markup
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.minttyrc	Tue Jan 03 01:10:23 2023 +0200
@@ -0,0 +1,52 @@
+; -*- mode: conf -*-
+
+ForegroundColour=0,0,0
+BackgroundColour=255,255,255
+CursorColour=165,42,42
+
+; Block, Underscore, Line.
+CursorType=Block
+CursorBlinks=yes
+
+; Off, Low, Medium, High, Glass (>= Vista only).
+Transparency=Low
+OpaqueWhenFocused=yes
+
+; 'Lucida Console' and 'Courier New' are the best fixed width font under Windows.
+; Nice looks and support large amount of chars.
+Font=Courier New
+BoldAsFont=yes
+FontHeight=10
+AllowBlinking=no
+
+FontSmoothing=None
+
+BackspaceSendsBS=no
+; Enable Ctrl+Ins and Shift+Ins.
+ClipShortcuts=yes
+; Disable Windows Alt+Space and Alt+Enter shortcuts.
+WindowShortcuts=no
+; Disable Ctrl+TAB and Ctrl+Shift+TAB shortcuts for use in screen(1).
+SwitchShortcuts=no
+; Enable font zooming shortcuts Ctrl+plus/minus/zero.
+ZoomShortcuts=yes
+; Shift, Ctrl, Alt, Off.
+ScrollMod=Shift
+
+CopyAsRTF=yes
+
+; Use mouse copy on select like in X window.
+CopyOnSelect=yes
+ClicksPlaceCursor=no
+RightClickAction=menu
+
+BellSound=no
+
+Term=xterm-256color
+Answerback=
+
+Columns=120
+Rows=40
+Scrollbar=right
+ScrollbackLines=10000
+ConfirmExit=yes
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.muttrc	Tue Jan 03 01:10:23 2023 +0200
@@ -0,0 +1,21 @@
+set folder = ~/Mail     # Directory that contains all mail files (mailboxes)
+set realname  = "Steve Kemp"
+set signature = ~/.signature
+set record    = +sent-mail      # Where to save copies of outgoing mail
+set fast_reply          # replies and forwards with same names and subject
+set copy="yes"          # Always save a copy of outgoing mails
+set delete="yes"        # Don't ask for mails flagged 'deleted' when exiting
+set move="no"           # Don't move to 'mbox'
+set postpone="ask-yes"  # Unsent messages
+set confirmappend="no"  # Don't ask to append a mail
+set confirmcreate="yes" # Ask before creating a new folder
+set save_empty="no"     # Delete empty folders
+macro index .n "l~N\n" # Show new messages macro index
+macro index .a "l~A\n" # Show all messages
+macro pager "w"      "set invsmart_wrap invmarkers" # Toggle wrap stuff
+# Allow headers to be headered.
+set edit_headers=yes
+
+set pager_index_lines=10
+set pager_stop=yes
+set mark_old=no
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.nethackrc	Tue Jan 03 01:10:23 2023 +0200
@@ -0,0 +1,10 @@
+
+OPTIONS=color,hilite_pet,news
+OPTIONS=number_pad
+OPTIONS=!autopickup
+
+OPTIONS=name:gavenkoa
+OPTIONS=catname:Catty
+OPTIONS=dogname:Doggy
+OPTIONS=horsename:Loshadka
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.pylintrc	Tue Jan 03 01:10:23 2023 +0200
@@ -0,0 +1,28 @@
+# Brain-dead errors regarding standard language features
+#   W0142 = *args and **kwargs support
+#   W0403 = Relative imports
+
+# Pointless whinging
+#   R0201 = Method could be a function
+#   W0212 = Accessing protected attribute of client class
+#   W0613 = Unused argument
+#   W0232 = Class has no __init__ method
+#   R0903 = Too few public methods
+#   C0301 = Line too long
+#   R0913 = Too many arguments
+#   C0103 = Invalid name
+#   R0914 = Too many local variables
+
+# PyLint's module importation is unreliable
+#   F0401 = Unable to import module
+#   W0402 = Uses of a deprecated module
+
+# Already an error when wildcard imports are used
+#   W0614 = Unused import from wildcard
+
+# Sometimes disabled depending on how bad a module is
+#   C0111 = Missing docstring
+
+# Disable the message(s) with the given id(s).
+disable-msg=W0142,W0403,R0201,W0212,W0613,W0232,R0903,W0614,C0111,C0301,R0913,C0103,F0401,W0402,R0914
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.pystartup	Tue Jan 03 01:10:23 2023 +0200
@@ -0,0 +1,35 @@
+# -*- mode: python -*-
+# Add auto-completion and a stored history file of commands to your Python
+# interactive interpreter. Requires Python 2.0+, readline. Autocomplete is
+# bound to the Esc key by default (you can change it - see readline docs).
+#
+# Store the file in ~/.pystartup, and set an environment variable to point
+# to it:  "export PYTHONSTARTUP=~/.pystartup" in bash.
+
+import os
+import sys
+import atexit
+import readline
+import rlcompleter
+
+historyPath = os.path.expanduser("~/.pyhistory")
+
+def save_history(historyPath=historyPath):
+    import readline
+    readline.write_history_file(historyPath)
+
+if os.path.exists(historyPath):
+    readline.read_history_file(historyPath)
+
+term_with_colors = ['xterm', 'xterm-color', 'xterm-256color', 'linux', 'screen', 'screen-256color', 'screen-bce']
+if os.environ.get('TERM') in term_with_colors:
+    green='\001\033[32m\002'
+    red='\001\033[31m\002'
+    reset='\001\033[0m\002'
+    sys.ps1 = red + '>>> ' + reset
+    sys.ps2 = green + '... ' + reset
+del term_with_colors
+
+atexit.register(save_history)
+del os, sys, atexit, readline, rlcompleter, save_history, historyPath
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.screenrc	Tue Jan 03 01:10:23 2023 +0200
@@ -0,0 +1,26 @@
+
+startup_message off
+
+# Use backtick instead of Ctrl+A.
+escape ``
+
+term xterm-256color
+
+shell bash
+
+# If a window goes unresponsive, don't block the whole session waiting for it.
+nonblock on
+
+# Window numbering starts at 1, not 0.
+bind c screen 1
+bind 0 select 10
+
+# Define a bigger scrollback, default is 100 lines.
+defscrollback 10000
+
+vbell on
+
+# Ctrl+Tab and Ctrl+Shift+Tab to switch session in GNU Screen.
+bindkey "^[[1;5I" next
+bindkey "^[[1;6I" prev
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.signature	Tue Jan 03 01:10:23 2023 +0200
@@ -0,0 +1,1 @@
+Best regards!
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.ssh/config	Tue Jan 03 01:10:23 2023 +0200
@@ -0,0 +1,27 @@
+
+Host *
+
+# Allow sharing of multiple sessions over a single network connection for all
+# host. Also don't prompt for password when connection live.
+# This option was disabled to simplify use of port forwarding.
+# You can enable it and pass "-s none" to ssh.
+# ControlPath ~/.ssh/sock_%r@%h_%p
+# ControlMaster auto
+
+# This by default.
+# UserKnownHostsFile ~/.ssh/known_hosts
+
+# Enable compression. To turn on it manually invoke ssh with -C key.
+Compression yes
+# CompressionLevel has value 1..9 (fast..slow/best) with default 6.
+# Applicable for SSH protocol version 1.
+CompressionLevel 8
+
+# Prefer public key authentication.
+PreferredAuthentications publickey,keyboard-interactive,password
+PubkeyAuthentication yes
+
+# Bypass locale env vars to remote host.
+# Add to remote opensshd: AcceptEnv LANG LC_*
+SendEnv LANG LC_*
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.subversion/config	Tue Jan 03 01:10:23 2023 +0200
@@ -0,0 +1,145 @@
+### This file configures various client-side behaviors.
+###
+### The commented-out examples below are intended to demonstrate
+### how to use this file.
+
+### Section for authentication and authorization customizations.
+[auth]
+### Set password stores used by Subversion. They should be
+### delimited by spaces or commas. The order of values determines
+### the order in which password stores are used.
+### Valid password stores:
+###   gnome-keyring        (Unix-like systems)
+###   kwallet              (Unix-like systems)
+###   keychain             (Mac OS X)
+###   windows-cryptoapi    (Windows)
+# password-stores = windows-cryptoapi
+###
+### The rest of this section in this file has been deprecated.
+### Both 'store-passwords' and 'store-auth-creds' can now be
+### specified in the 'servers' file in your config directory.
+### Anything specified in this section is overridden by settings
+### specified in the 'servers' file.
+###
+### Set store-passwords to 'no' to avoid storing passwords in the
+### auth/ area of your config directory.  It defaults to 'yes',
+### but Subversion will never save your password to disk in
+### plaintext unless you tell it to (see the 'servers' file).
+### Note that this option only prevents saving of *new* passwords;
+### it doesn't invalidate existing passwords.  (To do that, remove
+### the cache files by hand as described in the Subversion book.)
+# store-passwords = no
+### Set store-auth-creds to 'no' to avoid storing any subversion
+### credentials in the auth/ area of your config directory.
+### It defaults to 'yes'.  Note that this option only prevents
+### saving of *new* credentials;  it doesn't invalidate existing
+### caches.  (To do that, remove the cache files by hand.)
+# store-auth-creds = no
+
+### Section for configuring external helper applications.
+[helpers]
+### Set editor-cmd to the command used to invoke your text editor.
+###   This will override the environment variables that Subversion
+###   examines by default to find this information ($EDITOR, 
+###   et al).
+# editor-cmd = editor (vi, emacs, notepad, etc.)
+### Set diff-cmd to the absolute path of your 'diff' program.
+###   This will override the compile-time default, which is to use
+###   Subversion's internal diff implementation.
+# diff-cmd = diff_program (diff, gdiff, etc.)
+### Set diff3-cmd to the absolute path of your 'diff3' program.
+###   This will override the compile-time default, which is to use
+###   Subversion's internal diff3 implementation.
+# diff3-cmd = diff3_program (diff3, gdiff3, etc.)
+### Set diff3-has-program-arg to 'yes' if your 'diff3' program
+###   accepts the '--diff-program' option.
+# diff3-has-program-arg = [yes | no]
+### Set merge-tool-cmd to the command used to invoke your external
+### merging tool of choice. Subversion will pass 4 arguments to
+### the specified command: base theirs mine merged
+# merge-tool-cmd = merge_command
+
+### Section for configuring tunnel agents.
+[tunnels]
+### Configure svn protocol tunnel schemes here.  By default, only
+### the 'ssh' scheme is defined.  You can define other schemes to
+### be used with 'svn+scheme://hostname/path' URLs.  A scheme
+### definition is simply a command, optionally prefixed by an
+### environment variable name which can override the command if it
+### is defined.  The command (or environment variable) may contain
+### arguments, using standard shell quoting for arguments with
+### spaces.  The command will be invoked as:
+###   <command> <hostname> svnserve -t
+### (If the URL includes a username, then the hostname will be
+### passed to the tunnel agent as <user>@<hostname>.)  If the
+### built-in ssh scheme were not predefined, it could be defined
+### as:
+# ssh = $SVN_SSH ssh -q
+### If you wanted to define a new 'rsh' scheme, to be used with
+### 'svn+rsh:' URLs, you could do so as follows:
+# rsh = rsh
+### Or, if you wanted to specify a full path and arguments:
+# rsh = /path/to/rsh -l myusername
+### On Windows, if you are specifying a full path to a command,
+### use a forward slash (/) or a paired backslash (\\) as the
+### path separator.  A single backslash will be treated as an
+### escape for the following character.
+
+### Section for configuring miscelleneous Subversion options.
+[miscellany]
+### Set global-ignores to a set of whitespace-delimited globs
+### which Subversion will ignore in its 'status' output, and
+### while importing or adding files and directories.
+### '*' matches leading dots, e.g. '*.rej' matches '.foo.rej'.
+# global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo
+#   *.rej *~ #*# .#* .*.swp .DS_Store
+### Set log-encoding to the default encoding for log messages
+# log-encoding = latin1
+### Set use-commit-times to make checkout/update/switch/revert
+### put last-committed timestamps on every file touched.
+# use-commit-times = yes
+### Set no-unlock to prevent 'svn commit' from automatically
+### releasing locks on files.
+# no-unlock = yes
+### Set mime-types-file to a MIME type registry file, used to
+### provide hints to Subversion's MIME type auto-detection
+### algorithm.
+# mime-types-file = /path/to/mime.types
+### Set preserved-conflict-file-exts to a whitespace-delimited
+### list of patterns matching file extensions which should be
+### preserved in generated conflict file names.  By default,
+### conflict files use custom extensions.
+# preserved-conflict-file-exts = doc ppt xls od?
+### Set enable-auto-props to 'yes' to enable automatic properties
+### for 'svn add' and 'svn import', it defaults to 'no'.
+### Automatic properties are defined in the section 'auto-props'.
+enable-auto-props = yes
+### Set interactive-conflicts to 'no' to disable interactive
+### conflict resolution prompting.  It defaults to 'yes'.
+interactive-conflicts = no
+
+### Section for configuring automatic properties.
+[auto-props]
+### The format of the entries is:
+###   file-name-pattern = propname[=value][;propname[=value]...]
+### The file-name-pattern can contain wildcards (such as '*' and
+### '?').  All entries which match (case-insensitively) will be
+### applied to the file.  Note that auto-props functionality
+### must be enabled, which is typically done by setting the
+### 'enable-auto-props' option.
+*.c = svn:eol-style=native
+*.cpp = svn:eol-style=native
+*.cxx = svn:eol-style=native
+*.h = svn:eol-style=native
+*.s = svn:eol-style=native
+*.S = svn:eol-style=native
+*.java = svn:eol-style=native
+*.js = svn:eol-style=native
+*.dsp = svn:eol-style=CRLF
+*.dsw = svn:eol-style=CRLF
+*.sh = svn:eol-style=LF;svn:executable
+*.txt = svn:eol-style=native
+# *.png = svn:mime-type=image/png
+# *.jpg = svn:mime-type=image/jpeg
+Makefile = svn:eol-style=native
+README = svn:eol-style=native
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.tidy	Tue Jan 03 01:10:23 2023 +0200
@@ -0,0 +1,10 @@
+gnu-emacs: yes
+tab-size: 2
+indent: auto
+indent-cdata: no
+indent-attributes: yes
+indent-spaces: 2
+punctuation-wrap: no
+wrap: 120
+wrap-attributes: yes
+newline: LF
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.vimrc	Tue Jan 03 01:10:23 2023 +0200
@@ -0,0 +1,138 @@
+" On loding VIM search for /etc/vimrc, ~/.vimrc.
+
+" Do not emulate old vi bug.
+" This must be first, because it changes other options as side effect.
+set nocompatible
+
+" Switch syntax highlighting on, when the terminal has colors
+if &t_Co > 2 || has("gui_running")
+  syntax on
+endif
+
+" A 256 color scheme.
+if &t_Co >= 256 || has("gui_running")
+  colorscheme delek
+endif
+
+set sessionoptions=curdir,buffers,tabpages
+
+set showcmd  
+" Do not show line numbers.
+set nonu
+" Set command string height.
+set ch=1
+
+" Hide buffers instead of closing them.
+set hidden
+
+set mouse=a
+set mousemodel=popup
+set mousehide
+
+" Number of lines of history to remember
+set history=1000
+" Number of levels of undo history
+set undolevels=1000
+
+" Same as set ts=4, by default - 8, how long TAB.
+set tabstop=4
+" Use spaces instead TAB.
+set expandtab
+set shiftwidth=4
+set softtabstop=4
+set smarttab
+set et
+
+" Move cursor on RET to previous line indent.
+set autoindent
+" Indent for C-like languages.
+set smartindent
+
+" This setting will cause the cursor to very briefly jump to a
+" brace/parenthese/bracket's "match" whenever you type a closing or opening
+" brace/parenthese/bracket. I've had almost no mismatched-punctuation errors
+" since I started using this setting.
+set showmatch
+
+" Turn on incremental search with ignore case (except explicit caps).
+set incsearch
+set ignorecase
+set smartcase
+set hlsearch
+
+" No audio or visual bell.
+set novisualbell
+set noerrorbells
+
+" Have 3 lines of offset (or buffer) when scrolling.
+set scrolloff=3
+" set scrolljump=3
+
+" I find the toolbar in the GUI version of vim (gvim) to be somewhat useless
+" visual clutter. This option gets rid of the toolbar.
+set guioptions-=T
+
+
+" This setting prevents vi from making its annoying beeps when a command
+" doesn't work. Instead, it briefly flashes the screen -- much less annoying.
+set vb t_vb=
+
+
+" This setting ensures that each window contains a statusline that displays
+" the current cursor position.
+set ruler
+
+" By default, search matches are highlighted. I find this annoying most of the
+" time. This option turns off search highlighting. You can always turn it back
+" on with :set hls.
+set nohls
+
+" With this nifty option, vim will search for text as you enter it. For
+" instance, if you type /bob to search for bob, vi will go to the first "b"
+" after you type the "b," to the first "bo" after you type the "o," and so on.
+" It makes searching much faster, since if you pay attention you never have to
+" enter more than the minimum number of characters to find your target
+" location. Make sure that you press Enter to accept the match after vim finds
+" the location you want.
+set incsearch
+
+" When you type the first tab hit will complete as much as possible, the
+" second tab hit will provide a list, the third and subsequent tabs will cycle
+" through completion options so you can complete the file without further
+" keys.
+set wildmode=longest,list,full
+set wildmenu
+
+set complete=""
+" From current buffer.
+set complete+=.
+" From dictionary.
+set complete+=k
+" From another buffers.
+set complete+=b
+" From tags.
+set complete+=t
+
+" Disable these characters as word dividers.
+set iskeyword+=_
+
+" Allow backspacing over autoindent, line breaks (join lines), start of insert
+set backspace=indent,eol,start
+
+" Affects the output of :TOhtml.
+:let html_use_css = 1
+:let use_xhtml = 1
+
+" Fix <Enter> for comment
+" set fo+=cr
+
+" set termencoding=cp866
+" set fileencoding=cp1251
+" set fileencodings=cp1251,cp866,utf8
+" set encoding=cp1251
+
+" Local Variables:
+" mode: fundamental
+" comment-start: "\""
+" eval: (font-lock-add-keywords nil '( ("^[[:blank:]]*\".*" . font-lock-comment-face) ))
+" End:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.wgetrc	Tue Jan 03 01:10:23 2023 +0200
@@ -0,0 +1,11 @@
+# As I not install cetificate, don't check them.
+check_certificate = off
+
+# Set all applicable timeout values to N sec. Equivalent to
+# specifying `--dns-timeout', `--connect-timeout', and
+# `--read-timeout', all at the same time.
+timeout = 10
+
+# Turn on recognition of the (non-standard) `Content-Disposition' header.
+content_disposition = on
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.xinitrc	Tue Jan 03 01:10:23 2023 +0200
@@ -0,0 +1,28 @@
+#!/bin/bash
+
+if [[ -f ~/.bash_path ]]; then
+  . ~/.bash_path
+fi
+
+xrdb -merge ~/.Xdefaults
+# xrdb -load ~/.Xdefaults
+
+# Set lang switch.
+# Because of bug in xorg invoking setxkbmap cause disable repeat char when key pressed.
+# setxkbmap -rules xorg -model pc104 -layout "us,ru" -option "grp:rwin_toggle,grp_led:scroll" &
+
+# Root window parameter.
+# Color names check from /etc/X11/rgb.txt or enter in hex: #aabbcc.
+# xsetroot -gray -fg red -bg white
+# xsetroot -bitmap dir/file.bitmap -fg red -bg white
+# xsetroot -mod 3 3 -fg red -bg white
+
+# Under Cygwin I prefer '-multiwindow' option, so it needn't to setup WM.
+if [[ -z $COMSPEC ]]; then
+  xmodmap ~/.xmodmaprc
+  fvwm &
+fi
+
+# Last command.
+exec xterm -geometry 80x42 -e bash -i
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.xmodmaprc	Tue Jan 03 01:10:23 2023 +0200
@@ -0,0 +1,14 @@
+! To load this config run:
+!   $ xmodmap .xmodmaprc
+
+! Win key.
+clear mod3
+clear mod4
+
+keycode 133 = Super_L
+! keycode 134 = Multi_key
+! keycode 134 = Super_R
+keycode 134 = Hyper_R
+add mod3 = Super_L
+add mod4 = Hyper_R
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.xserverrc	Tue Jan 03 01:10:23 2023 +0200
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+# http://tldp.org/HOWTO/XWindow-User-HOWTO/runningx.html
+
+if [ -n "$WINDIR" -o "$TERM" = cygwin ]; then
+  # Probably under Cygwin.
+  exec XWin -multiwindow -clipboard -silent-dup-error -xkblayout "us,ru" -xkboptions "grp:caps_toggle" "$@"
+elif [ -f /etc/debian_version ]; then
+  exec /usr/bin/X -nolisten tcp "$@"
+else
+  exec X -nolisten tcp "$@"
+fi
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.xxkbrc	Tue Jan 03 01:10:23 2023 +0200
@@ -0,0 +1,19 @@
+XXkb.mainwindow.enable: no
+XXkb.mainwindow.type: tray
+XXkb.mainwindow.appicon: no
+XXkb.mainwindow.in_tray: true
+# xxkb at start time tries to find all application already run.
+XXkb.controls.add_when_start: yes
+
+# This resource require 'geometry'.
+# XXkb.mainwindow.enable: yes
+# XXkb.mainwindow.geometry: 100x100+0+0
+
+# Lang per window.
+# XXkb.button.enable: yes
+
+XXkb.mainwindow.label.enable: yes
+XXkb.mainwindow.label.background: yellow
+XXkb.mainwindow.label.foreground: blue4
+XXkb.mainwindow.label.font: -misc-*-r-*-13-*
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.zshrc	Tue Jan 03 01:10:23 2023 +0200
@@ -0,0 +1,39 @@
+
+if [[ -e /etc/zshrc ]]; then
+. /etc/zshrc
+fi
+
+EDITOR=vim
+
+PS1='zsh# '
+
+# Easy cd to often used dirs.
+CDPATH=.:~:~/devel:~/devel/my-devel
+
+HISTFILE=~/.histfile
+HISTSIZE=10000
+SAVEHIST=10000
+
+setopt autocd beep extendedglob nomatch notify
+
+setopt hist_ignore_all_dups
+setopt append_history
+setopt hist_ignore_space
+setopt hist_no_functions
+
+autoload -U edit-command-line
+zle -N edit-command-line
+bindkey '\ee' edit-command-line
+
+# Emacs like editing.
+bindkey -e
+
+bindkey "^[[A" history-search-backward
+bindkey "^[[B" history-search-forward
+
+autoload -U compinit
+compinit
+
+# autoload -U promptinit
+# promptinit
+# prompt walters
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/LICENSE.rst	Tue Jan 03 01:10:23 2023 +0200
@@ -0,0 +1,21 @@
+
+==========================================
+ LICENSE for gavenkoa personal dot-files.
+==========================================
+.. contents::
+
+TERMS of use.
+=============
+
+All files from gavenkoa-skel project under public domain if this
+term applicable in your national low.
+
+In other cases I allow do anything you want with this files.
+
+NOTE: Some international/national lows preserve some inalienable
+rights for authors like:
+
+ * XXX
+
+Be careful!
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Makefile	Tue Jan 03 01:10:23 2023 +0200
@@ -0,0 +1,163 @@
+SHELL = /bin/sh
+export PATH := /bin:/usr/bin:${PATH}
+
+# Disable built in pattern rules.
+MAKEFLAGS += -r
+# Disable built in variables.
+MAKEFLAGS += -R
+# Disable built in suffix rules.
+.SUFFIXES:
+# Default target.
+.DEFAULT_GOAL = help
+
+################################################################
+# Platform definition.
+
+ifeq '' '$(HOME)'
+  $(error HOME env var not set!)
+endif
+
+host_os = linux
+ifneq '' '$(COMSPEC)'
+  host_os = cygwin
+endif
+
+################################################################
+# Build tool definition/switches.
+
+RST2HTML = rst2html
+ifeq '$(host_os)' 'cygwin'
+  RST2HTML = rst2html.py
+endif
+
+################################################################
+# Project dirs/files.
+
+OVERRIDDEN_ITEMS := \
+    .fvwm .xxkbrc .xmodmaprc \
+    .inputrc .minttyrc .Xdefaults .xinitrc .xserverrc .screenrc .dircolors \
+    .bashrc .bash_path .bash_completion .zshrc .vimrc .ssh .pystartup \
+    .pylintrc \
+    .signature .muttrc .tidy \
+    .dictrc \
+    .hgrc .hgignore .hgstyle .bazaar .gitconfig .gitignore .cvsrc \
+    .gnupg \
+    .glhackrc
+MANUALINSTALL_ITEMS = .mc
+IFNONEXIST_ITEMS = .wgetrc .subversion
+
+RST_FILES = $(wildcard *.rst)
+HTML_FILES = $(RST_FILES:.rst=.html)
+
+################################################################
+# Build targets.
+
+.PHONY: all
+all:
+
+################################################################
+# Install/uninstall targets.
+
+.PHONY: install
+install:
+	for item in $(OVERRIDDEN_ITEMS); do \
+		if [ -f $$item ]; then \
+			install -m 640 $$item $(HOME)/$$item; \
+		fi; \
+		if [ -d $$item ]; then \
+			for file in `find $$item`; do \
+				if [ -d $$file ]; then \
+					mkdir -p $(HOME)/$$file; \
+					continue; \
+				fi; \
+				install -m 640 $$file $(HOME)/$$file; \
+			done; \
+		fi; \
+	done
+	for item in $(IFNONEXIST_ITEMS); do \
+		if [ -f $$item -a ! -f $(HOME)/$$item ]; then \
+			install -m 640 $$item $(HOME)/$$item; \
+		fi; \
+		if [ -d $$item ]; then \
+			for file in `find $$item`; do \
+				if [ -d $$file ]; then \
+					mkdir -p $(HOME)/$$file; \
+					continue; \
+				fi; \
+				if [ ! -f $(HOME)/$$file ]; then \
+					install -m 640 $$file $(HOME)/$$file; \
+				fi; \
+			done; \
+		fi; \
+	done
+	chmod a+x ~/.xinitrc ~/.xserverrc
+	rm -f ~/.xsession
+	ln -s ~/.xinitrc ~/.xsession
+	v=`mc --version | sed 's|.*\([0-9]\+\.[0-9]\+\.[0-9]\+\)$$|\1|;q'`; \
+	vmajor=$${v%%.*}; \
+	vminor=$${v#*.}; \
+	vminor=$${vminor%.*}; \
+	umask 0117; \
+	if [ $$vmajor -gt 4 -o '(' $$vmajor -eq 4 -a $$vminor -ge 8 ')' ]; then \
+		mkdir -p $(HOME)/.config/mc $(HOME)/.local/share/mc/; \
+		install -m 640 .local/share/mc/bashrc $(HOME)/.local/share/mc/; \
+		cat .config/mc/mc.ext /etc/mc/mc.ext > $(HOME)/.local/share/mc/mc.ext; \
+	else \
+		mkdir -p $(HOME)/.mc; \
+		install -m 640 .local/share/mc/bashrc $(HOME)/.mc; \
+		install -m 640 .config/mc/mc.ext $(HOME)/.mc/bindings; \
+	fi
+	if command -v file 1>/dev/null; then \
+		install -m 640 .magic $(HOME); \
+		cd $(HOME); \
+		file --compile -m .magic; \
+	fi
+
+.PHONY: uninstall
+uninstall:
+	for item in $(OVERRIDDEN_ITEMS); do \
+		if [ -f $$item ]; then \
+			[ -f $(HOME)/$$file ] && rm -f $(HOME)/$$item; \
+		fi; \
+		if [ -d $$item ]; then \
+			for file in `find $$item -depth`; do \
+				if [ -d $$file ]; then \
+					rmdir $(HOME)/$$file || :; \
+					continue; \
+				fi; \
+				[ -f $(HOME)/$$file ] && rm $(HOME)/$$file; \
+			done; \
+		fi; \
+	done
+	rm -f $(HOME)/.mc/bashrc $(HOME)/.mc/ini $(HOME)/.mc/bindings
+	rmdir $(HOME)/.mc || :
+
+################################################################
+# Docs targets.
+
+.PHONY: html
+html: $(HTML_FILES)
+
+# --stylesheet=rst.css
+$(HTML_FILES): %.html: %.rst
+	$(RST2HTML) $*.rst $@
+
+################################################################
+# Clean targets.
+
+.PHONY: clean
+clean:
+	rm -f $(HTML_FILES)
+
+.PHONY: distclean
+distclean: clean
+
+################################################################
+# Helper target.
+
+.PHONY: help
+help:
+	@echo
+	@echo Supported targets:
+	@sed -n -e '/^[[:alnum:]_-]*:/{s=^\(.*\):.*=  \1=;p;}' $(MAKEFILE_LIST)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/README.rst	Tue Jan 03 01:10:23 2023 +0200
@@ -0,0 +1,39 @@
+.. -*- coding: utf-8 -*-
+.. rst2html.py README README.html
+
+==============================
+ gavenkoa personal dot-files.
+==============================
+.. contents::
+
+How install.
+============
+::
+
+  $ make install
+
+Tidy.
+-----
+
+To enable Tidy config set HTML_TIDY env var::
+
+  $ cat ~/.bashrc
+  ...
+  HTML_TIDY = ~/.tidy
+
+Structure.
+==========
+
+  .mailsign
+                signature for mail
+  .tidy
+                config for Tidy
+
+Tips.
+=====
+
+Cygwin ssh.
+-----------
+
+To point Cygwin ssh to your $HOME edit /etc/password for your user.
+