proc binder_showPopup {c x y wx wy} {
	global env ttblibPath LANG binder_browseMode
	global binder_clipList binder_selCurrentTag
	global binder_shortCut_currentItem
	global binder_selList

	if {$binder_browseMode=="listMode"} {
		set starter $binder_selCurrentTag
	} else {
		set wx [$c canvasx $wx]
		set wy [$c canvasy $wy]

		set starter [string range [lindex [$c gettags \
			[$c find overlapping $wx $wy $wx $wy]] 0] 3 end]
	}

	if {[winfo exists .binder_popup]} {
		destroy .binder_popup
	}

	if {[winfo exists .binder_popup.create]} {
		destroy .binder_popup.create
	}

	if {[winfo exists .binder_popup.send]} {
		destroy .binder_popup.send
	}

	menu .binder_popup -tearoff 0

	if {$binder_shortCut_currentItem!=""} {
		source $ttblibPath/menu/alias.$LANG
	} else {
		if {[llength $binder_selCurrentTag]==1} {
			source $ttblibPath/menu/rename.$LANG
			source $ttblibPath/menu/send.$LANG
		}

		if {$starter!=""} {
			if {[catch "source $ttblibPath/menu/popup.$LANG"]} {
				return
			}
		}

		if {$binder_clipList!=""} {
			source $ttblibPath/menu/paste.$LANG
		}
	}

	source $ttblibPath/menu/mode.$LANG
	source $ttblibPath/menu/main.$LANG

	tk_popup .binder_popup $x $y
}

