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

Mouse​Event​Listener

by SublimeText ALL

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

Details

  • 2024.11.24.20.57.04
  • github.​com
  • github.​com
  • 9 months ago
  • 3 hours ago
  • 13 years ago

Installs

  • Total 3K
  • Win 2K
  • Mac 769
  • Linux 753
Aug 27 Aug 26 Aug 25 Aug 24 Aug 23 Aug 22 Aug 21 Aug 20 Aug 19 Aug 18 Aug 17 Aug 16 Aug 15 Aug 14 Aug 13 Aug 12 Aug 11 Aug 10 Aug 9 Aug 8 Aug 7 Aug 6 Aug 5 Aug 4 Aug 3 Aug 2 Aug 1 Jul 31 Jul 30 Jul 29 Jul 28 Jul 27 Jul 26 Jul 25 Jul 24 Jul 23 Jul 22 Jul 21 Jul 20 Jul 19 Jul 18 Jul 17 Jul 16 Jul 15 Jul 14
Windows 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0
Mac 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
Linux 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0

Readme

Source
raw.​githubusercontent.​com

MouseEventListener

[!NOTE] Sublime Text build 4149 (stable: 4151, 2 August 2023) added support for the context key in mouse bindings.

If you used or want to use this package for the purpose of emulating such a context query, you should use the native functionality instead.

MouseEventListener adds two new callbacks to Sublime Text'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://packagecontol.io/sublime_packages/package_control

Package Control does not support support dependency chains among packages, so if you depend on this package, you have to mention installing it in your installation instructions.