• Home (current)
  • वर्तमान निदेशक => /usr/bin/X11/
  • सूचना एवं अपलोड
    Info Server
Indian Cyber Force
Folders रचयन्तु सञ्चिकां रचयन्तु RansomWeb लॉगआउट
Current File : //usr/bin/X11/dict_lookup
#!/bin/sh

# Copyright (c) 2010
#    Alexander Vorontsov <vorontsov@imb.invention-machine.com>
#    Aleksey Cheusov     <vle@gmx.net>
# 
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the
# "Software"), to deal in the Software without restriction, including
# without limitation the rights to use, copy, modify, merge, publish,
# distribute, sublicense, and/or sell copies of the Software, and to
# permit persons to whom the Software is furnished to do so, subject to
# the following conditions:
# 
# The above copyright notice and this permission notice shall be
# included in all copies or substantial portions of the Software.
# 
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

############################################################
# Variables settable by user

#D_DICT_CMD=$HOME/bin/your-own-dict-program
D_AWK_PROG=${D_AWK_PROG-awk}
D_XCLIP_PROG=${D_XCLIP_PROG-xclip}
D_XTERM_PROG=${D_XTERM_PROG-xterm}
D_UTF8_LOCALE=${D_UTF8_LOCALE-`locale -a |fgrep .utf8 | head -n 1`}
D_DICT_PROG=${D_DICT_PROG-dict}
D_DICT_SERVER=${D_DICT_SERVER--h dict.org}
D_DICT_PORT=${D_DICT_PORT--p 2628}
D_DICT_DB_OPT=${D_DICT_DB_OPT--d foldoc}
D_XTERM_CLASS=${D_XTERM_CLASS--class XTerm}
D_XTERM_NAME=${D_XTERM_NAME--name xterm_dict}
D_XTERM_TITLE=${D_XTERM_TITLE--title dict_lookup}
D_TEXT_WIDTH=${D_TEXT_WIDTH-cyrillic_text_width}
D_TERM_X=${D_TERM_X-+200}
D_TERM_Y=${D_TERM_Y-+200}
D_TERM_H=${D_TERM_H-+40}
D_PAGER=${D_PAGER-less -R}

#if test -z "$COLORIZER"; then
#    colorit_config=$HOME/.colorit.d/dict
#    if test -f "$colorit_config"; then
	COLORIZER="colorit" # -P - -c $colorit_config"
#    else
#	COLORIZER=cat
#    fi
#fi

############################################################
# functions
#

cyrillic_text_width (){
    # This function may not work properly for languages
    # other than Russian. wcwidth(3) and C language is needed!
    LC_ALL=C $D_AWK_PROG -v h="$D_TERM_H" '
	BEGIN {max = 15}
	{ gsub(/[\300-\337][\200-\277]/, "1")
	  sub(/ +$/, "")
	  curr=length($0)
	  if (curr > max) max=curr
	}
	END { print max "x" (NR < h ? NR : h)+1}' "$@"
}

set_query ()
{
    if test -n "$query"; then
	return 0
    fi
    query=`$D_XCLIP_PROG -o`
    if test -z "$query"; then
	exit
    fi
}

check_system() {
  err=0
  for cmd in $D_XTERM_CMD $D_XCLIP_PROG; do
		if ! which "$cmd" > /dev/null; then
		missing="$missing $cmd"
	fi
  done

  if [ -n "$missing" ] ; then
	echo "Cannot find the following program(s) in the PATH: $missing"
	echo "Please install the appropriate package(s)."
	echo
	err=1
  fi


  if [ -z "$D_UTF8_LOCALE" ] ; then
	echo "Cannot find any UTF-8 locale installed on system."
	echo "Please run \`dpkg-reconfigure locales' and choose some UTF-8 locale."
	echo
	err=1
 fi

 [ "$err" = 0 ] || exit $err;
}


############################################################
# main
#

help (){
    cat 1>&2 <<'EOF'
usage: dict_lookup [OPTIONS]
   -h           display this help
   -x <x>       X coordinate of xterm
   -y <y>       Y coordinate of xterm
   -s <WxH>     size of xterm in symbols, e.g. 50x20
   -q <query>   query
EOF
}

while getopts x:y:s:q:h f
do
    case $f in
	h)      help; exit 0;;
	x)      D_TERM_X=+$OPTARG;;
	y)      D_TERM_Y=+$OPTARG;;
	s)      TERM_WH=$OPTARG;;
	q)      query=$OPTARG;;
	'?')    help; exit 1;;
    esac
done
shift `expr $OPTIND - 1`

check_system

set_query

tmp_dir=`mktemp -d`
test -d "$tmp_dir" || exit 1;
trap "rm -rf $tmp_dir" 0 1 2 3 15

if test -z "$D_DICT_CMD"; then
    D_DICT_CMD="$D_DICT_PROG $D_DICT_SERVER $D_DICT_PORT $D_DICT_DB_OPT"
fi

$D_DICT_CMD "$query" 2>&1 |
env LC_ALL=C grep -Ev "definitions? found" > "$tmp_dir/res.txt"

if test -z "$TERM_WH"; then
    TERM_WH=`$D_TEXT_WIDTH "$tmp_dir/res.txt"`
fi

geometry="-geometry ${TERM_WH}${D_TERM_X}${D_TERM_Y}"

unset LC_ALL || true
unset LANG || true
LC_CTYPE=$D_UTF8_LOCALE $D_XTERM_PROG $geometry \
    -u8 $D_XTERM_CLASS $D_XTERM_NAME $D_XTERM_TITLE \
    -e "$COLORIZER < $tmp_dir/res.txt | $D_PAGER"
curly – Verilere bak
Menu
  • Top 10

Verilere bak

Follow us
  • facebook
  • twitter
Search
Login
Create
Menu

Verilere bak

Login

You are here:

  1. Home
  2. Tag Archives: curly

curly

Latest stories

Can You Watch These 27 Examples of Food Porn Without Getting Hungry?

  • facebook
  • twitter

Arşivler

Kategoriler

Disclaimer

This demo site is only for demonstration purposes. All images are copyrighted to their respective owners. All content cited is derived from their respective sources.

© 2017 bring the pixel. Remember to change this

  • Home
  • Contact us
Back to Top
Close
  • Top 10
  • Home
  • Animals
  • Funny
  • WOW
  • WTF
  • Features
  • facebook
  • twitter
Create

Log In

Sign In

Forgot password?

Forgot password?

Enter your account data and we will send you a link to reset your password.

Back to Login

Your password reset link appears to be invalid or expired.

Log in

Privacy Policy

Accept

Add to Collection

  • Public collection title

  • Private collection title

No Collections

Here you'll find all collections you've created before.

Hey Friend!
Before You Go…

Get the best viral stories straight into your inbox before everyone else!

Don't worry, we don't spam

Close

Newsletter

Don’t miss out on new posts!

Don't worry, we don't spam

Close