Class Pickers
- Namespace
- Whim
- Assembly
- Whim.dll
Pure pickers for IMapSector.
public static class Pickers
- Inheritance
-
Pickers
- Inherited Members
Methods
PickActiveLayoutEngine()
Get the active layout engine in the active workspace.
public static PurePicker<ILayoutEngine> PickActiveLayoutEngine()
Returns
- PurePicker<ILayoutEngine>
- The active layout engine in the active workspace, when passed to Pick<TResult>(PurePicker<TResult>).
PickActiveLayoutEngine(Guid)
Get the active layout engine in the provided workspace.
public static PurePicker<Result<ILayoutEngine>> PickActiveLayoutEngine(Guid workspaceId)
Parameters
workspaceIdGuid
Returns
- PurePicker<Result<ILayoutEngine>>
- The active layout engine in the provided workspace, when passed to Pick<TResult>(PurePicker<TResult>). If the workspace is not found, then an error will be returned.
PickActiveLayoutEngineByMonitor(HMONITOR)
Retrieves the active layout engine for the workspace on the given monitor.
public static PurePicker<Result<ILayoutEngine>> PickActiveLayoutEngineByMonitor(HMONITOR monitorHandle)
Parameters
monitorHandleHMONITOR- The handle of the monitor to get the active layout engine for.
Returns
- PurePicker<Result<ILayoutEngine>>
- The active layout engine for the workspace on the monitor, otherwise an error.
PickActiveMonitor()
Get the currently active monitor.
public static PurePicker<IMonitor> PickActiveMonitor()
Returns
- PurePicker<IMonitor>
- The active monitor, when passed to Pick<TResult>(PurePicker<TResult>).
PickActiveWorkspace()
Get the active workspace.
public static PurePicker<IWorkspace> PickActiveWorkspace()
Returns
- PurePicker<IWorkspace>
- The active workspace, when passed to Pick<TResult>(PurePicker<TResult>).
PickActiveWorkspaceId()
Get the id of the active workspace.
public static PurePicker<Guid> PickActiveWorkspaceId()
Returns
- PurePicker<Guid>
- The id of the active workspace, when passed to Pick<TResult>(PurePicker<TResult>).
PickActiveWorkspaceWindows()
Get all the windows in the active workspace.
public static PurePicker<IEnumerable<IWindow>> PickActiveWorkspaceWindows()
Returns
- PurePicker<IEnumerable<IWindow>>
- All the windows in the active workspace, when passed to Pick<TResult>(PurePicker<TResult>).
PickAdjacentMonitor(HMONITOR, bool, bool)
Gets the monitor before the given monitor.
public static PurePicker<Result<IMonitor>> PickAdjacentMonitor(HMONITOR handle = default, bool reverse = false, bool getFirst = false)
Parameters
handleHMONITOR- The handle of the monitor to use as a reference. Defaults to the current active monitor.
reversebool- When true, gets the previous monitor, otherwise gets the next monitor. Defaults to false.
getFirstbool- When true, then returns the first monitor. Otherwise returns an exception in the result.
Returns
- PurePicker<Result<IMonitor>>
- The monitor adjacent to the given monitor, when passed to Pick<TResult>(PurePicker<TResult>). If the monitor is not found, then an error will be returned.
PickAdjacentWorkspace(Guid, bool, bool)
Gets the adjacent workspace for the given workspace.
public static PurePicker<Result<IWorkspace>> PickAdjacentWorkspace(Guid workspaceId, bool reverse = false, bool skipActive = false)
Parameters
workspaceIdGuid- The workspace to get the adjacent workspace for.
reversebool- When true, gets the previous workspace, otherwise gets the next workspace. Defaults to false.
skipActivebool- When true, skips all workspaces that are active on any other monitor. Defaults to false.
Returns
- PurePicker<Result<IWorkspace>>
- The adjacent workspace, when passed to Pick<TResult>(PurePicker<TResult>). If the workspace is not found or there are no adjacent workspaces, then an error will be returned.
PickAllActiveWorkspaces()
Gets all the workspaces which are active on any monitor.
public static PurePicker<IEnumerable<IWorkspace>> PickAllActiveWorkspaces()
Returns
- PurePicker<IEnumerable<IWorkspace>>
- All the active workspaces, when passed to Pick<TResult>(PurePicker<TResult>).
PickAllMonitors()
Get all the IMonitors tracked by Whim.
public static PurePicker<IReadOnlyList<IMonitor>> PickAllMonitors()
Returns
- PurePicker<IReadOnlyList<IMonitor>>
- The monitors, when passed to Pick<TResult>(PurePicker<TResult>).
PickAllWindows()
Get all the IWindows tracked by Whim.
public static PurePicker<IEnumerable<IWindow>> PickAllWindows()
Returns
PickCreateLeafLayoutEngines()
Picks the function used to create the default layout engines to add to a workspace.
public static PurePicker<Func<CreateLeafLayoutEngine[]>> PickCreateLeafLayoutEngines()
Returns
- PurePicker<Func<CreateLeafLayoutEngine[]>>
- The function used to create the default layout engines to add to a workspace, when passed to Pick<TResult>(PurePicker<TResult>).
PickExplicitStickyMonitorIndicesByWorkspace(Guid)
Retrieves the explicit indices of the monitors which can show the given workspace.
public static PurePicker<Result<IReadOnlyList<int>>> PickExplicitStickyMonitorIndicesByWorkspace(Guid workspaceId)
Parameters
workspaceIdGuid- The ID of the workspace to get the monitor indices for.
Returns
- PurePicker<Result<IReadOnlyList<int>>>
- The explicit indices of the monitors which can show the workspace, when passed to Pick<TResult>(PurePicker<TResult>). If the workspace cannot be found, or if the workspace has no explicit mappings, then an error is returned.
PickIsStartupWindow(HWND)
Returns whether a window was open when Whim started.
public static PurePicker<bool> PickIsStartupWindow(HWND handle)
Parameters
handleHWND
Returns
PickLastFocusedWindow(Guid)
Get the last focused window in the provided workspace.
public static PurePicker<Result<IWindow>> PickLastFocusedWindow(Guid workspaceId = default)
Parameters
workspaceIdGuid- The workspace to get the last focused window for. Defaults to the active workspace
Returns
- PurePicker<Result<IWindow>>
- The last focused window in the provided workspace, when passed to Pick<TResult>(PurePicker<TResult>). If the workspace is not found or there is no last focused window, then an error will be returned.
PickLastFocusedWindowHandle(Guid)
Get the last focused window handle in the provided workspace.
public static PurePicker<Result<HWND>> PickLastFocusedWindowHandle(Guid workspaceId = default)
Parameters
workspaceIdGuid- The workspace to get the last focused window handle for. Defaults to the active workspace
Returns
- PurePicker<Result<HWND>>
- If the workspace is not found or there is no last focused window, then an error will be returned.
PickLastWhimActiveMonitor()
Get the last IMonitor which received an event sent by Windows which Whim did not ignore.
public static PurePicker<IMonitor> PickLastWhimActiveMonitor()
Returns
- PurePicker<IMonitor>
- The last monitor which received an event, when passed to Pick<TResult>(PurePicker<TResult>).
PickMonitorAtPoint(IPoint<int>, bool)
Get the monitor at the point
pointpublic static Picker<Result<IMonitor>> PickMonitorAtPoint(IPoint<int> point, bool getFirst = false)
Parameters
pointIPoint<int>- The point to get the monitor for.
getFirstbool- When true, then returns the first monitor. Otherwise returns an exception in the result.
Returns
- Picker<Result<IMonitor>>
- The monitor at the given point, when passed to Pick<TResult>(PurePicker<TResult>). If the monitor is not found, then an error will be returned.
PickMonitorByHandle(HMONITOR)
Get a monitor by its HMONITOR handle.
public static PurePicker<Result<IMonitor>> PickMonitorByHandle(HMONITOR handle)
Parameters
handleHMONITOR
Returns
- PurePicker<Result<IMonitor>>
- The monitor with the given handle, when passed to Pick<TResult>(PurePicker<TResult>). If the monitor is not found, then an error will be returned.
PickMonitorByIndex(int)
Get the monitor at the given index.
public static PurePicker<Result<IMonitor>> PickMonitorByIndex(int index)
Parameters
indexint- The 0-based index of the monitor to get.
Returns
- PurePicker<Result<IMonitor>>
- The monitor at the given index, when passed to Pick<TResult>(PurePicker<TResult>). If the monitor is not found, then an error will be returned.
PickMonitorByWindow(HWND)
Retrieves the monitor for the given window.
public static PurePicker<Result<IMonitor>> PickMonitorByWindow(HWND windowHandle)
Parameters
windowHandleHWND- The handle of the window to get the monitor for.
Returns
- PurePicker<Result<IMonitor>>
- The monitor for the window, when passed to Pick<TResult>(PurePicker<TResult>). If the window is not tracked or does not appear on any monitor, then an error will be returned.
PickMonitorByWorkspace(Guid)
Retrieves the monitor for the given workspace.
public static PurePicker<Result<IMonitor>> PickMonitorByWorkspace(Guid searchWorkspaceId)
Parameters
searchWorkspaceIdGuid- The ID of the workspace to get the monitor for.
Returns
- PurePicker<Result<IMonitor>>
- The monitor for the workspace, when passed to Pick<TResult>(PurePicker<TResult>). If the workspace is not found or does not appear on any monitor, then an error will be returned.
PickPrimaryMonitor()
Get the primary monitor.
public static PurePicker<IMonitor> PickPrimaryMonitor()
Returns
- PurePicker<IMonitor>
- The primary monitor, when passed to Pick<TResult>(PurePicker<TResult>).
PickStickyMonitorsByWorkspace(Guid)
Retrieves the handles of the monitors which can show the given workspace. This includes workspaces
which explicitly state which monitors they can be shown on, and workspaces which can be shown on any monitor
(i.e., they don't specify any monitors).
public static PurePicker<Result<IReadOnlyList<HMONITOR>>> PickStickyMonitorsByWorkspace(Guid workspaceId)
Parameters
workspaceIdGuid- The ID of the workspace to get the monitors for.
Returns
- PurePicker<Result<IReadOnlyList<HMONITOR>>>
- The handles of the monitors which can show the workspace, when passed to Pick<TResult>(PurePicker<TResult>). If there are no explicit monitors which can show the workspace, then all monitors will be returned. If the workspace is not found, then an error will be returned.
PickStickyWorkspacesByMonitor(HMONITOR)
Retrieves the workspaces which can be shown on the given monitor.
public static PurePicker<Result<IReadOnlyList<IWorkspace>>> PickStickyWorkspacesByMonitor(HMONITOR monitorHandle)
Parameters
monitorHandleHMONITOR- The handle of the monitor to get the workspaces for.
Returns
- PurePicker<Result<IReadOnlyList<IWorkspace>>>
- The workspaces which can be shown on the monitor, when passed to Pick<TResult>(PurePicker<TResult>). If the monitor can't be found, then an error is returned.
PickValidMonitorByWorkspace(Guid, HMONITOR)
Retrieves the first suitable monitor for a workspace, if one is not provided. A monitor is suitable for a workspace if:
- If the workspace lists the monitor's index as one of its sticky monitors
- If the workspace does not list any sticky monitors
- If the workspace lists all non-existent monitors as sticky monitors
-
The provided
monitorHandle - The last monitor the workspace was activated on
- The first available monitor
public static PurePicker<Result<HMONITOR>> PickValidMonitorByWorkspace(Guid workspaceId, HMONITOR monitorHandle = default)
Parameters
workspaceIdGuid- The ID of the workspace to get the monitor for.
monitorHandleHMONITOR- The preferred monitor to use. If not provided, the last monitor the workspace was activated on will next be tried.
Returns
- PurePicker<Result<HMONITOR>>
- The first valid monitor for the workspace, when passed to Pick<TResult>(PurePicker<TResult>). If the workspace can't be found, then an error is returned.
PickWindowByHandle(HWND)
public static PurePicker<Result<IWindow>> PickWindowByHandle(HWND handle)
Parameters
handleHWND
Returns
PickWindowPosition(Guid, HWND)
Get the window position in the provided workspace.
public static PurePicker<Result<WindowPosition>> PickWindowPosition(Guid workspaceId, HWND windowHandle)
Parameters
workspaceIdGuid- The workspace to get the window position for.
windowHandleHWND- The window handle to get the position for.
Returns
- PurePicker<Result<WindowPosition>>
- The window position in the provided workspace, when passed to Pick<TResult>(PurePicker<TResult>). If the workspace is not found or the window is not found in the workspace, then an error will be returned.
PickWindowPosition(HWND)
Get the window position for the given
windowHandle.public static PurePicker<Result<WindowPosition>> PickWindowPosition(HWND windowHandle)
Parameters
windowHandleHWND- The window handle to get the position for.
Returns
- PurePicker<Result<WindowPosition>>
- The window position for the given
windowHandle, when passed to Pick<TResult>(PurePicker<TResult>). If the window is not found, then an error will be returned.
PickWorkspaceById(Guid)
Get the workspace with the provided
workspaceId.public static PurePicker<Result<IWorkspace>> PickWorkspaceById(Guid workspaceId)
Parameters
workspaceIdGuid
Returns
- PurePicker<Result<IWorkspace>>
- The workspace with the provided
workspaceId, when passed to Pick<TResult>(PurePicker<TResult>). If the workspace is not found, then an error will be returned.
PickWorkspaceByMonitor(HMONITOR)
Retrieves the workspace shown on the given monitor.
public static PurePicker<Result<IWorkspace>> PickWorkspaceByMonitor(HMONITOR monitorHandle)
Parameters
monitorHandleHMONITOR- The handle of the monitor to get the workspace for.
Returns
- PurePicker<Result<IWorkspace>>
- The workspace shown on the monitor, when passed to Pick<TResult>(PurePicker<TResult>). If the monitor is not found, then an error will be returned.
PickWorkspaceByName(string)
Get the workspace with the provided
name.public static PurePicker<Result<IWorkspace>> PickWorkspaceByName(string name)
Parameters
namestring
Returns
- PurePicker<Result<IWorkspace>>
- The workspace with the provided
name, when passed to Pick<TResult>(PurePicker<TResult>). If the workspace is not found, then an error will be returned.
PickWorkspaceByWindow(HWND)
Retrieves the workspace for the given window.
public static PurePicker<Result<IWorkspace>> PickWorkspaceByWindow(HWND windowHandle)
Parameters
windowHandleHWND
Returns
- PurePicker<Result<IWorkspace>>
- The workspace for the window, when passed to Pick<TResult>(PurePicker<TResult>). If the window is not tracked or does not belong to any workspace, then an error will be returned.
PickWorkspaceWindows(Guid)
Get all the windows in the provided workspace.
public static PurePicker<Result<IEnumerable<IWindow>>> PickWorkspaceWindows(Guid workspaceId)
Parameters
workspaceIdGuid
Returns
- PurePicker<Result<IEnumerable<IWindow>>>
- All the windows in the provided workspace, when passed to Pick<TResult>(PurePicker<TResult>). If the workspace is not found, then an error will be returned.
PickWorkspaces()
Get all workspaces.
public static PurePicker<IEnumerable<IWorkspace>> PickWorkspaces()
Returns
- PurePicker<IEnumerable<IWorkspace>>
- All workspaces, when passed to Pick<TResult>(PurePicker<TResult>).