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