* Minor improvements to remote SSH profiles. Username prefilled, and line ending defaults to LF.
* Implementing "Set Default" on SSH Profiles.
* Simplifying profile view models.
* Fixing null themes issue.
* Changing line ending of a sinfle file to CRLF.
* Changing file to LF, to avoid false differences.
* Converting a file to LF in order to avoid false differences.
* Fixining a bug with shortcuts.
* Added missing resource strings for new SSH bindings
Without these the settings page has no labels for these bindings.
* Rationalise default SSH keybindings
The logic is:
- Adhoc SSH tabs and windows are based around the Y key
- SSH profile tabs and windows are based around the U key (next to Y and
easier to reach than Z)
* Reorder command enum
Group commands together in a more logical order. In particular, this
makes command keybindings appear in a more logical order on the relevant
Settings page.
Note: this does not break existing keybinding configuration.
The keyboard shortcuts for local and SSH profiles will now result in the
new terminal being started in a window if "Open new terminals as" is set
to "Windows".
The diff is longer than strictly necessary because Visual Studio fixed
inconsistent line endings.
This is a new regression introduced in 0065827bf (SSH profile support).
It's not clear to me why these JSON serializer settings were introduced
so there might be a better way to fix this.
When FluentTerminal's window is resized many resize events are sent to
the terminal in quick succession. These rapid terminal size changes
while other output is being sent to the terminal can result in
display corruption.
In this change:
- Resize events are "debounced", greatly reducing the number of
resize events being sent to the underlying terminal.
- Output to the terminal is blocked while resize events are processed.
The blocked output is temporarily buffered until the resize event
should have been processed by the underlying terminal.
The net result is that window resizes are *much* less likely to result
in corrupted buffer output. Corruption can still happen however,
especially in cases of very high rates of output being sent to the
terminal.
The mostly solves #373.
* feat(cli): Add json import/export of app config
Add the capability to export and import the application config to/from
a json file. The JSON file is LocalState\config.json in the app package
folder. The options are available via the new flags to the settings
command, e.g. `fluent.exe settings --export` and `fluent.exe settings
--import`
Import attempts to merge imported config with existing config, and
refuses to import thigns marked as pre-installed. It attempts to
merge configuration for pre-installed profiles where those fields
are editable, but otherwise discards invalid configuration.
Change-Id: Iadb468de5f724396db9a2de6bf3c3ba0d4d7ac2f
* Moved logic to SettingsService, fixed some issues
* Implementing SSH (changes from ap/ssh branch).
* Implemented opening links in the last active window.
* Using settings to determine where to open link (tab or window).
* Adding FluentTerminal.App_TemporaryKey.pfx back to repo, to solve bug with keys.
* App activation on mosh schema launching; mosh protocol parsing. (#35)
* SSH handling changed to improve links.
* Creating shortcuts from SSH dialog.
* Trivial Mosh checkbox label fix
It's "Mosh" not "MOSH".
* Obtain mosh key from ssh connection (#40)
* Prepopulate SSH username with Windows username (#50)
* Undoing Max's mosh authentication changes.
* Adding the new mosh wrapper.
* Request user name from tray process (#51)
* Mosh implemented, but still doesn't work (cannot find mosh.exe).
* Add New Remote Shell menu; Rename New Tab into New Local Shell (#52)
* Mosh works like charm.
* Mosh wrapper improved to print an error.
* Changing mosh wrapper to always exit with 0 (to ensure that the tab gets closed).
* Changing mosh wrapper again to return error codes.
* Slightly optimizing getting the username.
* Saving links improved.
* Fixed an issue in mosh wrapper, related to mosh to hostname.
* mosh-client.exe updated with 32 bit version for x86 platform (#59)
* Set line endings for remote shell connection;
Left focus on SSH info dialog if input validation error occured;
Update DataContext object on each key entered into target host text box control.
* Simplifying SSH dialog.
* Fixing some leftovers after merging.
* Fixing some after-merge issues.
* Avoiding some unintentional upstream changes.
* Fix review findings
Make the shell process's exit code available to the main app so that
actions can be taken depending on whether the shell command was
successful or not.
Later work will build on this so that failed commands will result in
tabs being left open when the shell command fails. This will help when
troubleshooting incorrectly configured profiles, SSH connection issues
etc.
Exit codes are passed up for both WinPty and ConPty based terminals.
* Fix finding SSH when executing as 32-bit process on a 64-bit operational system
* Display a suitable error message when no OpenSSH client installed
and the user tries to open an SSH connection
Many of FluentTerminal's default keybindings collide with commonly used
default keys in various terminal apps. Use defaults that are less likely
to cause problems to provide a better out-of-the-box experience. Many of
the bindings are inspired by gnome-terminal's defaults.
Also, the `false` modifiers in the default keybinding specifications
have been removed. This makes it easier to see which modifiers are
actually in use.
* Creating a control for the overlay
* using Interactivity
* trying to bind by reference
* fix bindings
* remove unused packages
* Move getter/setter to show method
* Convert to AutoProperty
* Make text copied notification configurable
* cache settings, removed unused file
* Appveyor builds (#6)
* SSH implemented.
* Implementing SSH by using the existing app infrastructure.
* Refactored to new command instead of a profile
* Update .gitignore