ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

Mouse​Event​Listener

by SublimeText ST2/ST3

Adds on_pre_click and on_post_click callbacks to Sublime Text's plugin API.

Details

  • 2016.04.27.02.28.57
  • github.​com
  • github.​com
  • 2 years ago
  • 47 minutes ago
  • 6 years ago

Installs

  • Total 1K
  • Win 725
  • OS X 305
  • Linux 275
May 26 May 25 May 24 May 23 May 22 May 21 May 20 May 19 May 18 May 17 May 16 May 15 May 14 May 13 May 12 May 11 May 10 May 9 May 8 May 7 May 6 May 5 May 4 May 3 May 2 May 1 Apr 30 Apr 29 Apr 28 Apr 27 Apr 26 Apr 25 Apr 24 Apr 23 Apr 22 Apr 21 Apr 20 Apr 19 Apr 18 Apr 17 Apr 16 Apr 15 Apr 14 Apr 13 Apr 12 Apr 11
Windows 1 4 2 0 0 2 0 2 0 2 2 1 2 0 1 0 0 1 1 4 4 1 2 2 1 1 1 0 0 1 0 3 3 0 1 0 0 0 1 1 2 0 2 2 2 1
OS X 0 1 1 0 1 0 2 0 1 1 1 0 0 0 1 1 1 0 0 0 0 0 2 0 0 1 0 0 1 0 0 2 0 0 1 0 0 0 0 0 0 0 0 0 0 0
Linux 0 2 0 1 0 2 1 0 0 1 0 1 1 0 0 0 1 1 1 0 0 0 1 0 0 0 0 1 0 1 0 3 1 0 1 3 0 0 3 1 1 0 2 0 0 0

Readme

Source
raw.​githubusercontent.​com

MouseEventListener

MouseEventListener adds two new callbacks to Sublime Text 2's plugin API:

  • on_pre_click({'event': {'x': screen_x, 'y': screen_y, 'button': button}})
  • on_post_click(text_point)

An important thing to note is that the selection is modified not once but twice in between on_pre_mouse_down and on_post_mouse_down—this is done to determine the text_point of the click, as Sublime Text 2 has no API to translate a screen x and y into a text_point other than by calling drag_select and seeing where the selection ends up.

A second important thing to note is that mouse-up currently cannot be captured using Sublime Text 2's API. Hopefully this will be added in the future. However, this means that drags cannot be detected! other than perhaps by carefully monitoring the selection as it changes and just guessing. Additionally, on_selection_modified fires on mouse up in most cases.

Install

This plugin is available through Package Control, which is available here:

http://wbond.net/sublime_packages/package_control

As far as I know, Package Control does not handle dependencies, so if you depend on this package you may have to mention installing it in your install instructions.