* Add `_NET_WM_PID` atom to Linux X11 window
https://github.com/AvaloniaUI/Avalonia/issues/17444
* Also append WM_CLIENT_MACHINE
* Get the host name from uname method to avoid read the file
* Fix build fail on .NET Standard 2.0
* The render window is the child window. And it should not append pid atom.
* Using the atom from atoms
* Replace UtsName with gethostname
* Skia - Only reverse radial gradient stops if we cover the whole content bounds
* Skia - Only reverse radial gradient stops if we reach cover the whole content bounds
* Add some new lines
* Start working on Android explore by touch
* Start working on a more serious solution
* Reflectionless approach
* Allow multiple providers to be defined for the same AutomationPeer instance
* Implement EmbeddableControlRootAutomationPeer
* Garbage collection
* It's working!!
* Get better readouts
* Implement rest of providers and improve performance
* Some cleanup for the PR!
* Whoopsie!
* Better text readouts for more descriptive elements
* Fix bug with previous approach
* Some final tweaks
* Last tweak!
* Slight improvements
* Undo last change
* Fix bug where custom provider types would not be registered
* Better TextBox compatibility with screen readers & TalkBack
* Fix regression for LabeledBy tests
* Clean up provider code
* Final batch of fixes for TextBox behavior
* Append text instead of replacing it to fix buggy screen readers
* Even more fixes for buggy screen readers
* Remove english-specific state descriptions
* Code review improvements
---------
Co-authored-by: Jumar Macato <16554748+jmacato@users.noreply.github.com>
* Add failing tests for OneTime and null data context bindings
* Made OneTime bindings update on DataContext changes
Also allows null as a valid value for bindings without path
* Remove now obsolete test
* Ignore key modifiers on text editing if field is a password field.
It's not secure to rely on password field content when moving. It's should
give no information what so ever.
* Required changes
The modality of a window is decided at the time it is shown, and indicated by the `isDialog` parameter to `WindowImpl::Show`.
The code was also rather confusing in that `_isModal` was defined in `WindowBaseImpl` but `WindowBaseImpl.IsModal` always returned false. `WindowImpl.IsModal` then overrode `IsModal` to return WindowBaseImpl._isModal. That's messed up. Just define `_isModal` in `WindowImpl` not `WindowBaseImpl`.
* Fix BiDi algorithm and tests
* More adjustments
* Add EastAsianWidth trie and class
* Start implementing Unicode v15.1 Standard Annex #14
* Update Unicode data to V15.1 and initial Unicode® Standard Annex #14 implementation
* Some adjustments
* More fixes
* 543 to go
* 273 to go
* Almost done
* Finish up line breaker
* Some adjustments
* Tokenizer returns a ReadOnly Span instead of a string.
* Returning the old property for no API break changes
---------
Co-authored-by: Meloman19 <23280622+Meloman19@users.noreply.github.com>
* fix: add missing ref keyword to CombinedSpan3.CopyFromSpan
* fix: fix incorrect indent in IUITextInput.TextInRange and boundary condition for surroundingText
---------
Co-authored-by: Max Katz <maxkatz6@outlook.com>
* Add failing test for TextBlock
* Fix TextBlock re-measure in infinite container
* Fix outdated test
---------
Co-authored-by: Max Katz <maxkatz6@outlook.com>