Table of Contents

Namespace WindowSill.API

Classes

AcrylicWindowFrameworkElement

Provides a window that applies acrylic backdrop effects to windows, with support for system theme changes and customizable accent colors.

AcrylicWindowFrameworkElementMarkup
ActivationTypeAttribute

Defines an activator type name attached to a ISillActivator

CancellationTokenExtension

Provides a set of helper method to play around with cancellation tokens.

ControlHelper

Provides attached properties and helper methods for WinUI3 controls.

DictionaryExtensions

Provides extension methods for dictionaries.

DisposableSemaphore

Represents a semaphore that free other threads when disposing the result of the WaitAsync(CancellationToken) method.

DurationLogger
LocalizerExtensions

Provides a set of helper methods for localized strings.

LoggingExtensions

Provides extension methods for logging.

NameAttribute

Defines the internal name of this component. This name can be used to explicitly request this component to be invoked.

NullToBooleanConverter

A value converter that converts null/non-null values to boolean values.

ObservableCollectionExtensions

Provides extension methods for ObservableCollection<T>.

OrderAttribute

Defines the priority of this component over others.

PooledStringBuilder

Provides a utility for managing pooled StringBuilder instances to reduce memory allocations.

PredefinedActivationTypeNames

Provides predefined activation type names used throughout the WindowSill system. These constants define the standard activation types that can trigger sill operations based on different types of user selections or interactions.

PredefinedSettings

Defines a set of predefined settings for the application.

PreviewFlyout

A specialized tooltip control that provides preview functionality for a sill's view.

PreviewFlyoutMarkup
PriorityAttribute

Specifies the priority level of a component over others.

SettingChangedEventArgs

Represents the event arguments for the SettingChanged event.

ShortcutBadge

A UI control that displays keyboard shortcut badges and automatically manages its visibility based on whether keyboard shortcuts are enabled in the application. The badge shows or hides itself when the keyboard shortcut system is toggled on or off.

ShortcutBadgeMarkup
ShortcutBadgeStyleMarkup
SillGridLength

Represents a GridLength with configurable minimum and maximum constraints. This dependency object wraps a GridLength value and provides validation boundaries for use in grid-based UI layouts.

SillGridLengthMarkup
SillListViewButtonItem

Represents a list view item that displays an interactive button with optional preview flyout content.

SillListViewButtonItemMarkup
SillListViewButtonItemStyleMarkup
SillListViewItem

Represents an abstract base class for interactive list view items that can display preview content and execute actions when clicked. Provides built-in support for animated bitmap images, preview tooltips, visual feedback states, and keyboard shortcuts.

SillListViewItemMarkup
SillListViewItemStyleMarkup
SillListViewMenuFlyoutItem

Represents a list view item that displays a context menu flyout when its action button is clicked.

SillListViewMenuFlyoutItemMarkup
SillListViewMenuFlyoutItemStyleMarkup
SillListViewPopupItem

Represents a list view item that displays a popup when its action button is clicked.

SillListViewPopupItemMarkup
SillListViewPopupItemStyleMarkup
SillOrientedGrid

A specialized Grid control that dynamically arranges its children in either rows or columns based on the WindowSill bar's location on the screen. When the sill is positioned horizontally (top/bottom), children are arranged in columns. When positioned vertically (left/right), children are arranged in rows.

SillOrientedGridMarkup
SillOrientedGridStyleMarkup
SillOrientedStackPanel

A StackPanel that automatically adjusts its orientation based on the current WindowSill bar location. When the sill is positioned on the left or right side of the screen, the panel arranges children vertically. When the sill is positioned on the top or bottom of the screen, the panel arranges children horizontally.

SillPopup

Represents a popup control that displays custom content in a window positioned relative to a target UI element, typically near the app bar or window sill.

SillPopupContent

Represents the content of a popup displayed when clicking on a SillListViewPopupItem

SillPopupContentMarkup
SillPopupMarkup
SillPopupStyleMarkup
SillSettingsView

Represents a settings view for a sill.

SillView

Represents a view control for WindowSill that supports preview flyout functionality. This control extends SillViewBase to provide tooltip-based previews that appear when hovering over specified placement targets, with content positioning automatically determined by the current sill location.

SillViewBase

Provides a base class for WindowSill views that automatically manages orientation and size properties based on application settings. This class handles the coordination between sill location, size settings, and the resulting orientation and size combination for UI layout purposes.

SillViewBaseMarkup
SillViewBaseStyleMarkup
SillViewMarkup
SillViewStyleMarkup
TaskCompletionNotifier<TResult>

Watches a task and raises property-changed notifications when the task completes.

TaskExtensions

Provides a set of helper method to play around with threads.

ThreadHelper

Provides helper methods for managing thread access, particularly for UI thread operations.

Uids

Provides attached properties and methods for managing unique identifiers (UIDs) on DependencyObject instances.

ValueConverterGroup

A value converter that applies multiple converters in sequence, passing the result of each converter as input to the next converter in the chain.

ValueConverterGroupParameters

A collection of parameters that can be passed to a ValueConverterGroup, where each element corresponds to the parameter for the converter at the same index in the converter group.

WindowFrameworkElement

This class is used a workaround for this issue: https://github.com/microsoft/microsoft-ui-xaml/issues/4966 In WinUI, Window isn't a Control. This cause the source code generator to fail when trying to generate the code a x:Bind that use a Converter. It also causes ViewState to not work at all. We can use this class as a root element that is a UserControl and use it as the x:Bind source while exposing its associated window under the hood.

WindowFrameworkElementMarkup
WindowInfo

Represents information about a window in the operating system, including its metadata and associated application details.

WindowTextSelection

Represents information about text selection within a window, including the selected text content and its editability status.

XamlLessFrame

Represents a Frame that can navigate to pages without requiring XAML definitions.

XamlLessFrameMarkup
XamlLessFrameStyleMarkup
XamlLessNavigatingCancelEventArgs

Provides event data for navigation events that can be cancelled, allowing handlers to inspect navigation details and optionally prevent the navigation from occurring.

XamlLessNavigationEventArgs

Provides event data for navigation events in XAML-less navigation scenarios. This class contains information about the navigation operation including the target content, source page type, navigation parameters, and the mode of navigation.

XamlLessNavigationFailedEventArgs

Provides event data for navigation failure events in XAML-less navigation scenarios. Contains information about the navigation exception and allows handlers to mark the event as handled.

XamlLessNavigationStoppedEventArgs

Provides event data for navigation stopped events.

XamlLessPage

Represents content that a XamlLessFrame control can navigate to.

XamlLessPageMarkup
XamlLessPageStackEntry

Represents an entry in the navigation stack maintained by a XamlLessFrame. Each entry contains information about a navigated page including its type, parameters, and transition animation.

XamlLessPageStyleMarkup

Structs

SettingDefinition<T>

Represents the definition of a setting in the application.

Interfaces

IFirstTimeSetupContributor

Defines a step for first-time setup workflows, providing a user interface and state information.

IMefProvider

Provides a way to import MEF components on the fly.

IPluginInfo

Provides access to plugin-specific information and resources.

IProcessInteractionService

Provides methods for simulating keyboard input to windows and processes in the operating system.

ISettingsProvider

Provides a set of methods to manage the application's settings.

ISill

Represents the declaration of a sill.

ISillActivatedByDefault

Represents the declaration of a sill that will be activated by default when WindowSill starts.

ISillActivatedByDragAndDrop

Represents the declaration of a sill that will be activated when drag and dropping something into WindowSill.

ISillActivatedByProcess

Represents the declaration of a sill that will be activated when a specific app gets the focus in the operating system.

ISillActivatedByTextSelection

Represents the declaration of a sill that will be activated based on text being selected anywhere in the operating system.

ISillActivator

A marker interface for sill activators.

ISillDragAndDropActivator

Represents the declaration of a sill activator that will be used to determine whether a sill should be activated based on drag-and-drop action into WindowSill.

ISillFirstTimeSetup

Represents the declaration of a sill that will contribute to the first time setup experience.

ISillListView

Represents a list of items for a ISill.

ISillProcessActivator

Represents the declaration of a sill activator that will be used to determine whether a sill should be activated based on which app has the focus on the operating system.

ISillSingleView

Represents a single view for a ISill.

ISillTextSelectionActivator

Represents the declaration of a sill activator that will be used to determine whether a sill should be activated based on text selection in the foreground window.

Enums

Priority

Specifies the priority levels that can be assigned to a component or operation.

SillAccentColor

Specifies whether the accent color should be applied to the sill or not.

SillLocation

Indicates the location of the WindowSill bar on the screen.

SillOrientationAndSize

Defines the orientation and size of the WindowSill bar.

SillSize

Represents the available sizes for the WindowSill bar.