Module: MouseInput::Terminal

Defined in:
lib/mouse_input/terminal.rb

Overview

Terminal settings

Class Method Summary collapse

Class Method Details

.disable_mouse_trackingObject

disable the mouse tracking using control sequences - invisible-island.net/xterm/ctlseqs/ctlseqs.html#h2-Mouse-Tracking



28
29
30
31
# File 'lib/mouse_input/terminal.rb', line 28

def self.disable_mouse_tracking
  print "\e[?1006l" # Disable SGR mouse tracking
  print "\e[?1000l" # Disable normal mouse tracking
end

.enable_mouse_trackingObject

enable the mouse tracking using control sequences - invisible-island.net/xterm/ctlseqs/ctlseqs.html#h2-Mouse-Tracking



15
16
17
18
# File 'lib/mouse_input/terminal.rb', line 15

def self.enable_mouse_tracking
  print "\e[?1000h" # Enable normal mouse tracking
  print "\e[?1006h" # Enable SGR mouse tracking
end

.restoreObject

undo the setup for reading input



21
22
23
24
# File 'lib/mouse_input/terminal.rb', line 21

def self.restore
  disable_mouse_tracking
  system("stty icanon echo") # Restore terminal to sane mode
end

.setupObject

setup terminal for reading input



8
9
10
11
# File 'lib/mouse_input/terminal.rb', line 8

def self.setup
  system("stty -icanon -echo") # Disable canonical mode and echo in terminal
  enable_mouse_tracking
end