liftoff / GateOne

Gate One is an HTML5-powered terminal emulator and SSH client
http://liftoffsoftware.com/Products/GateOne
Other
6.26k stars 925 forks source link

Mouse reporting #190

Open DAddYE opened 11 years ago

DAddYE commented 11 years ago

Hi there,

is possible to support mouse reporting?

Thanks!

liftoff commented 11 years ago

I'll see what I can do. Question though: Would click events be good enough or do you want the terminal's cursor to literally track your mouse movements? I'm sure I can do both but it would be rather bandwidth-heavy to be constantly synchronizing your cursor location.

Oh and let me know if scroll wheel support is part of your request :)

DAddYE commented 11 years ago

Thanks! I think a simple mouse reporting (so events) is enough. I usually use it in I.e. vim (mouse=a) only to activate (sometimes) panes bus mostly to scroll long files.

On 29/gen/2013, at 18:13, Dan McDougall notifications@github.com wrote:

I'll see what I can do. Question though: Would click events be good enough or do you want the terminal's cursor to literally track your mouse movements? I'm sure I can do both but it would be rather bandwidth-heavy to be constantly synchronizing your cursor location.

— Reply to this email directly or view it on GitHubhttps://github.com/liftoff/GateOne/issues/190#issuecomment-12870437.

liftoff commented 11 years ago

I played around tonight trying to figure out how hard it would be to figure out the cursor's position where the user clicked... Turns out it wasn't that hard at all. That was supposed to be the hard part!

So now that that is working I need to get the mouse reporting modes handled properly in terminal.py and also being set/tracked properly in terminal.js

DAddYE commented 11 years ago

I love to hear that!

Thank you very very much

On 30/gen/2013, at 18:17, Dan McDougall notifications@github.com wrote:

I played around tonight trying to figure out how hard it would be to figure out the cursor's position where the user clicked... Turns out it wasn't that hard at all. That was supposed to be the hard part!

So now that that is working I need to get the mouse reporting modes handled properly in terminal.py and also being set/tracked properly in terminal.js

— Reply to this email directly or view it on GitHubhttps://github.com/liftoff/GateOne/issues/190#issuecomment-12924340.

liftoff commented 11 years ago

Mouse reporting is now supported and working (for me). If you would, please pull the latest code and try it out. Let me know if it works/doesn't work. Thanks!

DAddYE commented 11 years ago

Awesome news. I'll test it tonight.

Thanks man. You make my day!

DAddYE commented 11 years ago

On safari:

2gateone.js:2843TypeError: 'undefined' is not an object (evaluating 'go.Terminal.sendChars')
gateone.js:669TypeError: 'undefined' is not an object (evaluating 'go.Terminal.terminals')
gateone.js:17182013-01-31 21:31:36 INFO PONG: Gate One server round-trip latency: 1ms

I'll try on chrome

DAddYE commented 11 years ago

Hi, tried on chrome, no more errors but nothing happen, should I set something?

Thanks!

liftoff commented 11 years ago

Here's how I tested it: I opened up vim and did a ":set mouse=a". Then I was able to use the mouse to change the cursor position and highlight text. I haven't tested with Firefox yet but I'll do that shortly.