-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Suggested feature: Mouse tracking #4918
Comments
Does it? It does! I didn't know that! On Terminal.app and iTerm, this is implemented by sending cursor movement keys until the correct position is reached, so fish is oblivious. Making this work under XTerm mouse reporting is certainly possible, though may require a lot of work. |
I don’t know if that of any help, but I have seen this script to support mouse tracking in zsh |
+1 mouse tracking in curses: http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/mouse.html |
DomTerm also supports moving the cursor with a mouse click, by sending arrow key sequences. You can always do Alt-click. With an appropriate escape sequence in your prompt, it also works for plain click. Here are instructions for bash. I'm new to zsh, but this seems to work:
These escape sequence also add a show/hide (fold) "button" (the triangle) and create appropriate structure in the DOM, which supports styling and other features. (The use of $ZSHPID helps make the separation between commands more robust in the presence of nested interactive programs.) |
Oops my apologies. I've been trying out both zsh and fish, and got confused about all my tabs :-) I'll look for a suitable prompt for fish. |
This seems to work for Fish:
This enables moving the cursor with a (plain) mouse click; show/hide (fold) button; and structure/styling for each "command" (separate element attributes for prompt, input, and output, as well as a "command group"). |
@PerBothner: For the zsh version, I'm quite sure this piece is unnecessary: ZSHPID=`sh -c 'echo $PPID'` That executes Instead, use |
That executes sh (which is probably a different shell) and asks it about its parent pid - which is of course zsh's. Right - which is what I wanted. Is there something wrong with it (besides being over-complicated)? Instead, use ZSHPID=$$. Ah - thanks. I Googled for the zsh equivalent of For Fish, I will try out |
Also: mouse support in SSH sessions, regardless of mouse support at the console. Probably handled via the same API, though. |
I don't see any reason ssh should be a problem with mouse support. Both traditional xterm mouse support (as used by emacs), as well as how DomTerm translates a mouse-click to arrow-key sequences should work fine. Where ssh could be an issue is integrating the (primary) selection and the clipboard. If DomTerm is running in a regular browser accessing the clipboard may be prohibited except from an event handler. This prevents (for example) fish sending a command to DomTerm to read or write the clipboard. An alternative would be to use a program like xclip, but that doesn't work when using ssh (unless X forwarding) and has other security problems. The best solution probably is for the fish input editor to notify DomTerm which key sequences cause reading or writing the clipboard. This requires some non-trivial coordination between them. |
@PerBothner I've completely worked around all clipboard-related concerns in fish by defining my own https://github.com/mqudsi/fish-config/blob/master/functions/pbcopy.fish |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
would be useful |
https://github.com/PerBothner/DomTerm/blob/master/tools/shell-integration.fish works for fish in Konsole. |
I would love this, I frequently wanna add some quotes at the beginning of a long prompt and then its frustrating to jump to the right position just with the various jump and arrow keys. |
Drive-by comment here--just wanted to note that Kitty also supports this with its shell integration. |
On Tue, Jan 14, 2025 at 02:50:07PM -0800, jcgl17 wrote:
Drive-by comment here--just wanted to note that [Kitty also supports this with its shell integration](https://sw.kovidgoyal.net/kitty/shell-integration/#shell-integration).
that (click events in the prompt) fish already supports on latest master
|
When editing a long command in the command line it would be very convenient and natural to be able to click on a character and have the edit cursor moved to this character. I have seen this already working on Mac with Option+Click, but it doesn’t seem to work on my Linux machine. I am using Ubuntu and Gnome-Terminal, fish version is 2.7.1 and the $TERM is xterm-256color. It doesn’t work without customizations either.
I assume for this to work the shell should support mouse tracking but I am new to this and not 100% sure. Kind people in the gitter channel told me about Alt+V to start the default editor, and this is a definitely useful feature, but it seems an overkill for that particular task.
Steps to reproduce:
Actual: the editing cursor stays in its position
Expected: the editing cursor moves to the character clicked
Would you consider support for this feature?
The text was updated successfully, but these errors were encountered: