Files
maui-linux/MERGE_TRACKING.md
Dave Friedel 6007b84e7a Fix BindingModes: SkiaLayoutView, SkiaStackLayout, SkiaGrid
- SkiaLayoutView: Spacing, Padding, ClipToBounds
- SkiaStackLayout: Orientation
- SkiaGrid: RowSpacing, ColumnSpacing

All now TwoWay to match decompiled production.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-01 14:30:17 -05:00

9.1 KiB

OpenMaui Linux - Recovery Merge Tracking

Branch: final Last Updated: 2026-01-01 Build Status: SUCCEEDS


HANDLERS

CRITICAL: All handlers must use namespace Microsoft.Maui.Platform.Linux.Handlers and follow decompiled EXACTLY.

File Status Notes
ActivityIndicatorHandler.Linux.cs [x] FIXED 2026-01-01 - Removed IsEnabled/BackgroundColor (not in production), fixed namespace
ApplicationHandler.cs [x] VERIFIED 2026-01-01 - Matches production
BorderHandler.cs [ ] BLOCKED - needs SkiaBorder.MauiView and Tapped
BoxViewHandler.cs [x] VERIFIED 2026-01-01 - Matches production, Color/CornerRadius/Background/BackgroundColor
ButtonHandler.Linux.cs [x] FIXED 2026-01-01 - Removed MapText/TextColor/Font (not in production), fixed namespace, added null checks
CheckBoxHandler.Linux.cs [x] FIXED 2026-01-01 - Added VerticalLayoutAlignment/HorizontalLayoutAlignment, fixed namespace
CollectionViewHandler.cs [x] VERIFIED 2026-01-01 - Matches production
DatePickerHandler.cs [x] VERIFIED 2026-01-01 - Matches production, dark theme support
EditorHandler.Linux.cs [x] CREATED 2026-01-01 - Was missing, created from decompiled
EntryHandler.Linux.cs [x] FIXED 2026-01-01 - Added CharacterSpacing/ClearButtonVisibility/VerticalTextAlignment, fixed namespace, null checks
FlexLayoutHandler.cs [x] VERIFIED 2026-01-01 - Matches production
FlyoutPageHandler.cs [x] VERIFIED 2026-01-01 - Matches production
FrameHandler.cs [ ] BLOCKED - needs SkiaFrame.MauiView and Tapped event
GestureManager.cs [x] VERIFIED 2026-01-01 - Matches production
GraphicsViewHandler.cs [x] VERIFIED 2026-01-01 - Matches production
GtkWebViewHandler.cs [x] Added new file from decompiled
GtkWebViewManager.cs [x] VERIFIED 2026-01-01 - Matches production
GtkWebViewPlatformView.cs [x] VERIFIED 2026-01-01 - Matches production
GtkWebViewProxy.cs [x] Added new file from decompiled
ImageButtonHandler.cs [x] VERIFIED 2026-01-01 - Matches production, has ImageSourceServiceResultManager
ImageHandler.Linux.cs [x] VERIFIED 2026-01-01 - Matches production, FontImageSource rendering
ItemsViewHandler.cs [x] VERIFIED 2026-01-01 - Matches production
LabelHandler.Linux.cs [x] FIXED 2026-01-01 - Added CharacterSpacing/LayoutAlignment/FormattedText, ConnectHandler gesture logic, fixed namespace
LayoutHandler.cs [x] VERIFIED 2026-01-01 - Matches production, includes StackLayoutHandler/GridHandler
NavigationPageHandler.cs [x] VERIFIED 2026-01-01 - Matches production, toolbar items, SVG/PNG icons
PageHandler.cs [x] VERIFIED 2026-01-01 - Matches production, includes ContentPageHandler
PickerHandler.Linux.cs [x] CREATED 2026-01-01 - Was missing, created from decompiled with collection changed tracking
ProgressBarHandler.Linux.cs [x] FIXED 2026-01-01 - Added ConnectHandler/DisconnectHandler IsVisible tracking, fixed namespace
RadioButtonHandler.Linux.cs [x] VERIFIED 2026-01-01 - Matches production, Content/GroupName/Value in ConnectHandler
ScrollViewHandler.Linux.cs [x] VERIFIED 2026-01-01 - Matches production, CommandMapper with RequestScrollTo
SearchBarHandler.Linux.cs [x] FIXED 2026-01-01 - Fixed namespace, added CancelButtonColor, SolidPaint, null checks
ShellHandler.cs [x] VERIFIED 2026-01-01 - Matches production, navigation event handling
SliderHandler.Linux.cs [x] FIXED 2026-01-01 - Removed BackgroundColor (use base), fixed namespace, added ConnectHandler init calls
StepperHandler.Linux.cs [x] VERIFIED 2026-01-01 - Matches production, dark theme support
SwitchHandler.Linux.cs [x] FIXED 2026-01-01 - Added OffTrackColor logic, fixed namespace, removed extra BackgroundColor
TabbedPageHandler.cs [x] VERIFIED 2026-01-01 - Matches production, SelectedIndexChanged event
TimePickerHandler.cs [x] VERIFIED 2026-01-01 - Matches production, dark theme support
WebViewHandler.cs [x] VERIFIED 2026-01-01 - Matches production
WindowHandler.cs [x] VERIFIED 2026-01-01 - Matches production, includes SkiaWindow class

VIEWS

File Status Notes
SkiaActivityIndicator.cs [x] Verified - all TwoWay, logic matches
SkiaAlertDialog.cs [ ]
SkiaBorder.cs [ ] Contains SkiaFrame
SkiaBoxView.cs [x] Verified - all TwoWay, logic matches
SkiaButton.cs [x] Verified - all TwoWay, logic matches
SkiaCarouselView.cs [ ]
SkiaCheckBox.cs [x] Verified - IsChecked=OneWay, rest TwoWay, logic matches
SkiaCollectionView.cs [ ]
SkiaContentPresenter.cs [ ]
SkiaContextMenu.cs [ ]
SkiaDatePicker.cs [ ]
SkiaEditor.cs [x] FIXED 2026-01-01 - All BindingModes corrected (Text=OneWay, others=TwoWay)
SkiaEntry.cs [x] FIXED 2026-01-01 - TextProperty BindingMode.OneWay, others TwoWay
SkiaFlexLayout.cs [ ]
SkiaFlyoutPage.cs [ ]
SkiaGraphicsView.cs [ ]
SkiaImage.cs [ ]
SkiaImageButton.cs [ ]
SkiaIndicatorView.cs [ ]
SkiaItemsView.cs [x] Added GetItemView() method
SkiaLabel.cs [x] FIXED 2026-01-01 - All BindingModes TwoWay
SkiaLayoutView.cs [x] FIXED 2026-01-01 - All BindingModes TwoWay (Spacing, Padding, ClipToBounds, Orientation, RowSpacing, ColumnSpacing)
SkiaMenuBar.cs [ ] Contains MenuItem, MenuBarItem
SkiaNavigationPage.cs [ ]
SkiaPage.cs [x] Added SkiaToolbarItem.Icon property
SkiaPicker.cs [x] FIXED - SelectedIndex=OneWay, all others=TwoWay (was missing)
SkiaProgressBar.cs [x] Verified - Progress=OneWay, rest TwoWay, logic matches
SkiaRadioButton.cs [ ]
SkiaRefreshView.cs [ ]
SkiaScrollView.cs [x] FIXED 2026-01-01 - All BindingModes TwoWay
SkiaSearchBar.cs [ ]
SkiaShell.cs [x] FIXED 2026-01-01 - Added FlyoutTextColor, ContentBackgroundColor, route registration, query parameters, OnScroll
SkiaSlider.cs [x] FIXED - Value=OneWay, rest TwoWay (agent had inverted all)
SkiaStepper.cs [ ]
SkiaSwipeView.cs [ ]
SkiaSwitch.cs [x] FIXED - IsOn=OneWay (agent had TwoWay)
SkiaTabbedPage.cs [ ]
SkiaTemplatedView.cs [ ]
SkiaTimePicker.cs [ ]
SkiaView.cs [x] Made Arrange() virtual
SkiaVisualStateManager.cs [ ]
SkiaWebView.cs [x] FIXED 2026-01-01 - Full X11 embedding, position tracking, hardware accel, load callbacks

SERVICES

File Status Notes
AppActionsService.cs [ ]
AppInfoService.cs [ ]
AtSpi2AccessibilityService.cs [ ]
BrowserService.cs [ ]
ClipboardService.cs [ ]
ConnectivityService.cs [ ]
DeviceDisplayService.cs [ ]
DeviceInfoService.cs [ ]
DisplayServerFactory.cs [ ]
DragDropService.cs [ ]
EmailService.cs [ ]
Fcitx5InputMethodService.cs [ ]
FilePickerService.cs [ ]
FolderPickerService.cs [ ]
FontFallbackManager.cs [ ]
GlobalHotkeyService.cs [ ]
Gtk4InteropService.cs [ ]
GtkHostService.cs [ ]
HardwareVideoService.cs [ ]
HiDpiService.cs [ ]
HighContrastService.cs [ ]
IAccessibilityService.cs [ ]
IBusInputMethodService.cs [ ]
IInputMethodService.cs [ ]
InputMethodServiceFactory.cs [ ]
LauncherService.cs [ ]
LinuxResourcesProvider.cs [ ]
NotificationService.cs [ ]
PortalFilePickerService.cs [ ]
PreferencesService.cs [ ]
SecureStorageService.cs [ ]
ShareService.cs [ ]
SystemThemeService.cs [ ]
SystemTrayService.cs [ ]
VersionTrackingService.cs [ ]
VirtualizationManager.cs [ ]
X11InputMethodService.cs [ ]

HOSTING

File Status Notes
LinuxMauiAppBuilderExtensions.cs [ ]
LinuxMauiContext.cs [ ]
LinuxProgramHost.cs [ ]
LinuxViewRenderer.cs [ ]
MauiAppBuilderExtensions.cs [ ]
MauiHandlerExtensions.cs [ ]

DISPATCHING

File Status Notes
LinuxDispatcher.cs [ ]
LinuxDispatcherProvider.cs [ ]
LinuxDispatcherTimer.cs [ ]

NATIVE

File Status Notes
CairoNative.cs [ ]
GdkNative.cs [ ]
GLibNative.cs [ ]
GtkNative.cs [ ]
WebKitNative.cs [ ]

WINDOW

File Status Notes
CursorType.cs [ ]
GtkHostWindow.cs [ ]
X11Window.cs [ ]

RENDERING

File Status Notes
GtkSkiaSurfaceWidget.cs [ ]

CORE

File Status Notes
LinuxApplication.cs [ ]
LinuxApplicationOptions.cs [ ]

TYPES

File Status Notes
ToggledEventArgs.cs [x] ADDED - was missing, required by SkiaSwitch