* Continuation options and code cosmetics in async methods.
* ConfigureAwait in FluentTerminal.App.ViewModels project adjusted.
* async/await in FluentTerminal.SystemTray project.
* Reviewing async/await pattern in FluentTerminal.App.Services project.
* Fixed a bug with new windows crashing the app.
* Reviewed async pattern in App.xaml.cs.
* Reviewed async pattern throughout FluentTerminal.App project.
* Async patterns in TrayProcessCommunicationService reviewed.
* Minor changes.
* Replaced ContinueWith with async/await in TrayProcessCommunicationService.
* Minor change.
* Added icon to "Recent >" menu item.
* Refactored app menu implementation, and implemented keyboard accelerators. Still doesn't work though.
* Few things fixed, but still doesn't work.
* Clicking menu items works.
* Fixing an issue with resources.
* New menu binding implemented. Still doesn't work though.
* Menu displayed properly, except for "Settings".
* Menu works, but it doesn't refresh.
* Works. But needs to be polished.
* All known issues with the new app menu solved.
* Significantly simplifying app menu binding.
* Removing some obsolete classes.
* Menu binding mechanism additionally optimized for performances.
* Removing unused translations.
* Further refactoring app menu binding, in order to make it more general.
* New window mechanism simplified. Terminal-launching code refactored to be more readable. A bug with "SSH Info" fixed.
* Merging the latest changed.
* Mosh executables changed.
* New mosh from dialog.
* CommandHistoryService implemented.
* Backward compatibility for command history implemented.
* Implemented mosh backwards compatibility for saved profiles. But the app doesn't work!
* Saved profiles are backwards compatible, and the app works.
* Adding readme file for new mosh.
* Add a background image property in theme
* Add the browse command to theme settings page
The goal was to create a command that permit to browse user pictures.
The user can now select is picture by browsing file or to simply copy the
link of the image in the textbox.
* Try to show the image that we download
* Change the save image method in file service
We call the method `ImportImageFile` so that we can show a picker dialog
and directly import the image in the roaming folder.
We make some check to avoid the application crash, still need to test
* Reorganize the UI for image import
* Add background brush converter
Now that we have a background image we need to set the background according
to the theme color or the selected image.
To do this we need to use the `ThemeViewModel` and the new converter to
select the right brush to use (`ImageBrush` or ` AcrylicBrush`)
* Use the File object insted of a image path
* Add background style to content and toolbar
* Create the ImageFile object
* Use the ImageFile object so that we can serialize the theme
* Remove commented code
* Remove the base64 string of the image file
* Disable if it's a preinstalled theme
* Add new event when background image changed
* Make the RemoveImportedImage method async
* Subscribe to background image event and change background in code behind
* Add the delete background image command
* Remove unused converters that we created
* Save background image in temporary folder
* Remove the temporary images and save the last one
* Implement the cancel and delete background
* Show the background image in terminal
* Split the image file methods in another interface
* Change the name of image saving method
* Prepare the object and methods to export encoded image
* Add import method to deserialize correctly the theme
* Remove the private from the set accessor
* Implememnt the import method
* Implement the conversion base64 image to real image
* Create the background image and import it
* Fix some actions bug
* Get the new image file name after import
* Fix some bugs when the image is deleted
* Move the background image in terminal view
* Translate the background image text
* Add the delete background command
* Fix the background image deletion if we click on cancel
* Add background opacity property to terminal view model
* Need to create a theme changed event
If we don't notify the view that the selected theme has changed with
another theme that has the same background but a different background image
we'll never see this image appear.
In fact the background change is triggered by the background color change.
* Remove the background from the theme settings page
* Fix error of last edited image
* Fix image background aspect ratio
* - Force GC.Collect() on closing of terminal;
- Prepare MainPage, MainViewModel, TabBar, TerminalBridge for disposal.
* Request _dispatcherJobs Task cancellation ASAP on terminal closing.
* Separating "SSH Info" and "Quick Launch", and updating translations.
* Adding "Quick Launch" to menu.
* Auto-complete, initial version.
* Builds, but not finished.
* Improved, but there are still some bugs...
* Minor changes.
* Refactroing request/response identifiers.
* Improving command history.
* Minor refactoring.
* Deleting history by using "Del" key.
* Handling mosh special case in quick commands.
* SSH command handled as any other command in the path.
* New resource strings.
* Fixing quick command links.
* Fixing after-merging bugs.
* Improving filtering.
* Finishing filtering.
* Changing placeholder text.
* Minor refactoring.
* Updating resources.
* Renaming NewRemoteTab back to NewSshTab.
* Simplifying view models, step 1: Extracting common terminal configuration into TerminalInfoViewModel.cs.
* Simplifying a bit.
* SSH view models simplfication.
* Refactoring duplicated code.
* Refactoring duplicated code.
* Renaming a resource file.
* Cleanup.
* Fixing an issue with TemplateSelectors.
* QuickSshDialog created.
* Minor fix.
* Wiring up QuickSshDialog.
* Minor fix.
* Fixed an issue with shared resources.
* Single-text-box dialog works.
* Improving "Quick SSH" look.
* Improving data validation workflow to avoid double validations.
* Refactoring view models and templates to avoid duplicated code.
* Minor fix.
* Fixing a bug with mosh.
* Cleanup.
* Cleanup.
* Moving profile view models in a separate folder (namespace).
* Few comment lines (short description) added to profile view models.
* Removing IDisposable from view-models because event-caused memory leaks will be solved differently.
* Implemented quick-ssh shortcuts.
* Fixing quick SSH command validation.
* Minor change.
* Minor change.
* Combining "SSH Info" and "Quick SSH" into a single dialog.
* Quick SSH profiles.
* Fixing a minor bug with custom links.
* Fixing remote profiles look and feel.
* Minor improvements.
* Fixing a minor bug.
* Minor changes based on Felix' comments.
* Saving executed commands history implemented.
* 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.
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.
* 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
* Appveyor builds (#6)
* SSH implemented.
* Implementing SSH by using the existing app infrastructure.
* Refactored to new command instead of a profile
* Update .gitignore
* Better CLI parsing, command
Added the option to run a command via the CLI.
Also added a better argument parsing solution.
You can now do `flute.exe new [PATH] [COMMAND]`
Before, you could only do `flute.exe new [PATH]`
You would also need to adjust your settings, say your default profile is using powershell with custom arguments, those arguments would have to end with ";", because the `[COMMAND]` would be appended to the arguments.
* parse arguments with commandlineparser nuget
* Run commands with no underlying shell process
* Create RunVerb, cleanup terminal creation
* Fix window close bug
* Use working directory of caller if none specified
* Restore profile arguments in WinPty