* Consider width2 chars that are not IsBmp
* Apply same fix in WindowsDriver
* Explicitly use type of local variable
* Revert changes to WindowsDriver
* Assume we are running in a terminal that supports true color by default unless user explicitly forces 16
* Switch to SetAttribute and WriteConsole instead of WriteConsoleOutput for 16 color mode
* Fix some cursor issues (WIP)
* Remove concept of 'dirty rows' from v2 as its never actually used
* Remove damageRegion as it does nothing
* Make string builder to console writing simpler
* Radically simplify Write method
* Simplify conditional logic
* Simplify restoring cursor position
* Reference local variable for console buffer
* Reduce calls to ConsoleWrite by accumulating till attribute changes
* When resizing v2 16 color mode on windows, recreate the back buffer to match its size
* Fixes for VTS enabled
* Fix _lastSize never being assigned
* Fixes VTS for Force16Colors
* Fixes force16Colors in VTS
* Fixes escape sequences always echoing in non-VTS
* Force Force16Colors in non-VTS. It have a bug in adding a newline in the last line
* WIP Add base class for NetOutput
* Abstract away how we change attribute
* WIP - Make WindowsOutput use base class
* WIP working to fix set cursor position
* Remove commented out code
* Fixes legacy output mode
* Fixes size with no alt buffer supported on VTS and size restore after maximized.
* Fix set cursor which also fixes the broken surrogate pairs
* Add force parameter
* Fixes an issue that only happens with Windows Terminal when paste surrogate pairs by press Ctrl+V
* In Windows escape sequences must be sent during the lifetime of the console which is created in input handle
* Ensure flush the input buffer before reset the console
* Flush input buffer before reset console in v2win
* Fixes issue in v2net not being refreshing the menu bar at start
* Only force layout and draw on size changed.
* Fix v2net issue not draw first line by forcing set cursor position
* Set _lastCursorPosition nullable and remove bool force from set cursor position
* Remove force parameter
* Cleanup code
---------
Co-authored-by: BDisp <bd.bdisp@gmail.com>
* Fixes nuget packages with vulnerabilities
* Using netstandard2.1
* Revert "Using netstandard2.1"
This reverts commit b19317f8c1.
* Replacing to 3.11.0 and 4.13.0 versions
* Using 4.12.0 version
* Revert "Using 4.12.0 version"
This reverts commit bb4f9212c4.
* Change to 4.12.0 version
* Remove unused nuget package
* Fixes#4204. v2win and v2net aren't refreshing the Character Map correctly
* Reformat to run CI again
* Revert "Reformat to run CI again"
This reverts commit 3efad83f52.
* Revert "Fixes #4204. v2win and v2net aren't refreshing the Character Map correctly"
This reverts commit 6ec4adcc45.
* Apply @tig suggested changes
* Fixes#4208. MainLoopSyncContext doesn't work with the v2 drivers
* Trying fix unit test error
* Revert "Trying fix unit test error"
This reverts commit 3aaefd6053.
---------
Co-authored-by: Tig <tig@users.noreply.github.com>
* Fixes#4196. Application.Begin doesn't refresh the screen at start
* Reformatting to run CI again
* Revert "Reformatting to run CI again"
This reverts commit ef639c1e64.
* Trying fix an issue where sometimes subview variable is null running unit tests
* Add comment and decrease the delay time
* Remove continous press code from Application
* WIP prototype code to handle continuous press as subcomponent of View
* Prototype with Button
* Implement CWP
* Move to seperate classes and prevent double entry to Start
* Fix repeat clicking when moving mouse by removing phantom click code (old implementation of WantContinuousButtonPressed)
* Remove initial tick because it results in double activation e.g. button firing twice immediately as mouse is pressed down.
* Refactor DatePicker lamdas
* WIP investigate subcomponents instead of statics
* Add IMouseGrabHandler to IApplication
* Make mouse grabbing non static activity
* Make MouseHeldDown suppress when null fields e.g. app not initialized in tests
* Update test and remove dependency on Application
* Fix other mouse click and hold tests
* Code cleanup
* Update class diagram
* Fix bad xml doc references
* Fix timed events not getting passed through in v2 applications
* Make timed events nullable for tests that dont create an Application
* Remove strange blocking test
* WIP remove all idles and replace with zero timeouts
* Fix build of tests
* Fix unit tests
* Add wakeup call back in
* Comment out incredibly complicated test and fix others
* Fix test
* test fix
* Make Post execute immediately if already on UI thread
* Re enable test and simplify Invoke to just execute if in UI thread (up front)
* Remove xml doc references to idles
* Remove more references to idles
* Make Screen initialization threadsafe
* Add more exciting timeouts
* WIP add tests
* fix log
* fix test
* make continuous key press use smoth acceleration
* Rename _lock to _lockScreen
* Remove section on idles, they are not a thing anymore - and they kinda never were.
* Add nullable enable
* Add xml comment
* Fix namings and cleanup code
* xmldoc fix
* Rename LockAndRunTimers to just RunTimers
* Rename AddTimeout and RemoveTimeout (and event) to just Add/Remove
* Update description of MainLoop
* Commented out Run_T_Call_Init_ForceDriver_Should_Pick_Correct_Driver
* Again? Commented out Run_T_Call_Init_ForceDriver_Should_Pick_Correct_Driver
* Revert Commented out Run_T_Call_Init_ForceDriver_Should_Pick_Correct_Driver
* When mouse is released from MouseHeldDown reset host MouseState
* Fix namespaces in class diagram
* Apply @BDisp suggested fix
* Fix class diagrams
* Add lock
* Make TimeSpan.Zero definetly run
* Fix duplicate entry in package props
---------
Co-authored-by: Tig <tig@users.noreply.github.com>
* Added analyzer
* WIP - Trying to create tests, failing with bad dependencies
* Working test woo
* Tidy up
* Tidy up
* Fix integration tests failing on command line
* Use 4.11 compiler
* Fix expecting 'e' as param name
* Make analyzer come as part of Terminal.Gui
* Add docs
* Fix warnings
* Source link should be private
* Remove unnecessary System.Text.Json reference
* Use logging abstractions
* Use fixed logging version
* Remove unnecessary analysis references
---------
Co-authored-by: Daniel Marbach <danielmarbach@users.noreply.github.com>
* Fixes#4139. Application.Run<T> isn't initializing properly by setting the Application.ForceDriver property
* Trying fix unit tests
* Only to force again CI tests because I haven't errors locally
* This should pass, unless RunningUnitTests is set to false somewhere
* Fix Unix unit tests and failures via ReSharper
* Changes suggested by @tig
* Prevent empty string
* Centralize all the entry logic in the InternalInit method
* Change GetDriverTypes to return a tuple
* Move parallelizable to new file
* Add UseSameRuneTypeForWords property
* Add SelectWordOnlyOnDoubleClick property and ProcessDoubleClickSelection method
* Change IsSameRuneType method to also handle equivalent rune types
* Fix WordBackward and WordForward to support properly handle rune types
* Fix unit test to deal properly with the new roles of rune types
* Add new unit tests
* Remove duplicated unit test
* Add UseSameRuneTypeForWords and SelectWordOnlyOnDoubleClick handling into Editor scenario
* Fixes#4080. TabGroup not always navigate correctly across groups
* Remove duplicated code
* Improves code by removing duplicate code
* Made requested changes
* Change to Theory unit test
* Cleanup to run git actions again
* Trying fix racing fail unit tests
---------
Co-authored-by: Tig <tig@users.noreply.github.com>
* Fixes#4116. NativeAot and SelfContained projects aren't working well in release mode
* Revert delete nuget package because it fail in the git actions
* Trying automatize the nuget package installation
* Fixing UserProfile
* Trying fix push package for Unix OS
* Still triying to push nuget to the Unix
* Trying delete nuget package in the Pack target
* Trying fix git actions for release build
* Fix projects path
* Still fixing restore
* Add restore force parameter
* Build NativeAot and SelfContained projects before solution
* Build solution without restore
* Restore solutions packages before build
* Call dotnet restore before build the AOT and self-contained projects
* Remove unneeded run
* Revert "Remove unneeded run"
This reverts commit e04498d1ce.
* Trying fix racing fail unit tests
---------
Co-authored-by: Tig <tig@users.noreply.github.com>
* Added namespace docs
* Claned up FileServices
* rewrote mainloop.md to be focused on multitasking
* rewrote mainloop.md to be focused on multitasking2
* rewrote mainloop.md to be focused on multitasking3