Граф коммитов

280 Коммитов

Автор SHA1 Сообщение Дата
Greg Munn 847bb3381a Rework selection service to return lines and line fragments
This will allow the accessibility service to map text ranges to buffer lines
and locations and will possibly allow a search service to return fragments
that match search requests.
2020-02-28 13:35:47 -05:00
Miguel de Icaza 57cf109188
Merge pull request #45 from sgmunn/caret-focus
Update the caret when the terminal is focused/defocused
2020-02-27 16:27:10 -05:00
Greg Munn 3e65f95bbf Update the caret when the terminal is focused/defocused 2020-02-27 15:58:29 -05:00
Miguel de Icaza 387abe70a4
Merge pull request #44 from sgmunn/more-mac-support
Initial macOS voice over support
2020-02-27 14:49:32 -05:00
Miguel de Icaza e09d889127
Merge pull request #43 from mrward/resizing-terminal-view
Various fixes for the TerminalControl
2020-02-27 14:49:12 -05:00
Greg Munn 0babbb7312 Initial macOS voice over support
- implemented BufferLine.HasAnyContent so that we can skip trailing blank
  lines when getting selected text
- implemented SelectAll in selection service
- ensure that the caret is visible when the user types
- implemented initial macOS voice over support.

Voice over will read the contents of the terminal when focused and will
announce text as typed as well as new content as a result of a command
2020-02-27 14:38:02 -05:00
Matt Ward 5b53bf88e1 Fix exception sending user input to shell after process has exited
Ignore user input after the shell process has exited preventing an
exception:

System.Exception: Error writing data to child
  at XtermSharp.Mac.TerminalControl.ChildProcessWrite (CoreFoundation.DispatchData left, System.Int32 error) [0x0000a] in XtermSharp.Mac/TerminalControl.cs:204
  at CoreFoundation.DispatchIO.Trampoline_DispatchReadWriteHandler (System.IntPtr block, System.IntPtr dispatchData, System.Int32 error) [0x00029] in Xamarin.Mac/CoreFoundation/DispatchIO.cs:62
  at (wrapper native-to-managed) CoreFoundation.DispatchIO.Trampoline_DispatchReadWriteHandler(intptr,intptr,int)
2020-02-21 17:05:47 +00:00
Matt Ward 4f8e995290 TerminalControl provides the process id of the shell that was run 2020-02-21 16:50:58 +00:00
Matt Ward 2a1e89064d Support environment variables being passed to terminal
TerminalControl now supports being passed the environment variables
that will be used when launching the shell process.
2020-02-21 16:50:02 +00:00
Matt Ward b19f02d7c2 Fix terminal selection being incorrect
Ensure the location of the mouse click is converted to a location
relative to the terminal view instead of the sender. Fixes selection
being offset depending on which window the NSEvent was sent from.
2020-02-21 16:40:29 +00:00
Matt Ward 6c3a772a51 Fix TerminalView not resizing to fix TerminalControl
TerminalView's frame X and Y was incorrect causing it to be offset
in the TerminalControl. Similar problem for the scrollbar.
2020-02-21 14:38:48 +00:00
Matt Ward e87ebd2120 Fix Mac app failing to find NStack on startup
NStack was not local copied. Fixed by adding a PackageReference to
NStack.
2020-02-21 14:30:37 +00:00
Matt Ward 708c773c76 Remove packages.config file which is not needed
XtermSharp.Mac project now uses PackageReferences so the
packages.config file is not needed.
2020-02-21 09:43:47 +00:00
Miguel de Icaza 2aa2945470
Merge pull request #40 from Therzok/patch-1
Switch NStack to PackageReference
2020-02-13 13:58:07 -05:00
Miguel de Icaza 5cbb55b4d7
Merge pull request #41 from Therzok/patch-2
Add all target
2020-02-13 13:57:54 -05:00
Miguel de Icaza 5ecb9bdf91
Merge pull request #39 from sgmunn/mac-support
Mac support
2020-02-13 13:57:40 -05:00
Greg Munn 546dc407a8 Pass arguments to the shell process 2020-02-12 20:36:37 -05:00
Greg Munn 38080e81ed Basic autoscrolling support 2020-02-12 20:29:28 -05:00
Greg Munn 1f1e403638 Notify that the shell exited. 2020-02-12 15:18:55 -05:00
Greg Munn 4d4ef3d288 Refactor selection to a selection service 2020-02-12 15:04:32 -05:00
Marius Ungureanu c3e98473c3
Add all target 2020-02-12 15:29:58 +02:00
Marius Ungureanu 8b62028c27
Fixup 2020-02-12 13:52:20 +02:00
Marius Ungureanu 3d7ea4b93a
Switch NStack to PackageReference 2020-02-12 13:47:58 +02:00
Greg Munn 7d27b20a1d Disable selection when the user types 2020-02-07 15:25:10 -05:00
Greg Munn be74610f92 Set correct cursor for the terminal view 2020-02-05 16:31:25 -05:00
Greg Munn 4adcf97c6b macOS mouse paging support 2020-02-05 16:26:45 -05:00
Greg Munn 4beb21e168 Added PageUp/PageDown support for macOS 2020-02-05 16:03:24 -05:00
Greg Munn 28460d7a8e Keep the cursor position in sync with the scroller 2020-02-05 15:18:26 -05:00
Greg Munn 21fd652edb Enable and disable the scroller when the buffer changes size and calculate the correct thumb size 2020-02-04 16:40:18 -05:00
Greg Munn f7c7e18b53 Fix rendering issues with emoji's
This does not address the calculation of the console width of emojis, rather
it just lets Terminal display them properly. Xterm has a similar issue with
the calculation of the width and you can see the cursor overlapping half
of the emoji when entered/pasted.
2020-02-04 15:50:38 -05:00
Greg Munn 84a80f5c80 Only dump log files for debug. 2020-02-04 15:02:50 -05:00
Greg Munn ccfcd05dce Implement buffer resize 2020-02-04 15:01:48 -05:00
Greg Munn 209a8a7bee macOS copy+paste 2020-01-30 14:53:54 -05:00
Greg Munn a4bf20545d Support macOS selection 2020-01-27 14:25:10 -05:00
Greg Munn 4f3efd2d8b Handle NRE when building attributed string and we are given a null line.
This can happen if Buffer.YDisp + row is > Buffer.Lines.Length. This happens
if we allow scrolling so that the last content is part way up the viewport,
or when we resize the terminal view and the row counts change.
2020-01-27 09:45:27 -05:00
Greg Munn 9581543faf Add macOS scroll support 2020-01-24 16:29:58 -05:00
Greg Munn e9661cbee1 Create a self contained control to host a TerminalView
This code seems to be duplicated among projects that want to embed a terminal view so lets make this a standard control that can be used.
2020-01-24 15:53:26 -05:00
Greg Munn 7b8a17b7d7 Ignore these files 2020-01-24 15:03:38 -05:00
Miguel de Icaza b62ff888d2
Merge pull request #36 from bratsche/copy-libpty-afterbuild
[Pty] Remove the DllImport hard path
2019-12-19 13:36:29 -05:00
Cody Russell ede7ac1201 [Pty] Remove the DllImport hard path
Let the client copy the .dylib to wherever it needs it.
2019-12-17 10:08:09 -06:00
Miguel de Icaza cb231a303c
Merge pull request #35 from bratsche/solutiondir
Use $(SolutionDir) for path to the packages
2019-12-11 22:09:17 -05:00
Miguel de Icaza 19f52cd209
Merge pull request #33 from nosami/fix-cursor-keys
Makes cursor keys work on Mac
2019-12-11 22:09:03 -05:00
Miguel de Icaza e2665b5dc2
Merge pull request #31 from nosami/patch-1
Fix 1px gap between rows in Cocoa
2019-12-11 22:08:42 -05:00
Cody Russell dd39d6de80 Use $(SolutionDir) for path to the packages
This fixes nuget package restore when XtermSharp is
used as a git submodule of another project.
2019-12-10 21:28:36 -06:00
nosami 68ff196c8f Makes cursor keys work on Mac
Fixes #32
2019-11-24 10:22:02 +00:00
Jason Imison 3fb0c44b82
Fixes #8 2019-11-21 16:16:58 -05:00
Miguel de Icaza 08ebd330a3 Hardening: further chages after fuzzing with /dev/random 2019-11-20 11:23:59 -05:00
Miguel de Icaza 6658137347
Merge pull request #29 from nosami/fix-dev-random-crash
Harden against bad input. Fixes #23
2019-11-20 10:49:07 -05:00
Miguel de Icaza 94faa31087
Do not change HeavyDuty setting 2019-11-20 10:48:54 -05:00
nosami 8f8d9af4f5 Harden against bad input. Fixes #23 2019-11-20 09:49:50 -05:00