Class FloatingWindowPlugin
- Namespace
- Whim.FloatingWindow
- Assembly
- Whim.FloatingWindow.dll
Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.
public class FloatingWindowPlugin : IFloatingWindowPlugin, IPlugin
- Inheritance
-
FloatingWindowPlugin
- Implements
- Inherited Members
Constructors
FloatingWindowPlugin(IContext)
Creates a new instance of the floating window plugin.
public FloatingWindowPlugin(IContext context)
Parameters
context
IContext
Properties
FloatingWindows
The floating windows.
public IReadOnlySet<HWND> FloatingWindows { get; }
Property Value
Name
whim.floating_window
public string Name { get; }
Property Value
PluginCommands
The commands and keybinds for this plugin. These are registered during PreInitialize().
public IPluginCommands PluginCommands { get; }
Property Value
Remarks
Keybindings can be overridden by the user using SetKeybind(string, IKeybind).
Methods
LoadState(JsonElement)
Load the plugin's state from
state
.public void LoadState(JsonElement pluginSavedState)
Parameters
pluginSavedState
JsonElement
Remarks
State is loaded after PostInitialize() and the user's configuration has been loaded.
Thus, be careful on how you interact with the user's configuration.
MarkWindowAsDocked(IWindow?)
Mark the given
window
as a docked windowpublic void MarkWindowAsDocked(IWindow? window = null)
Parameters
window
IWindow
MarkWindowAsFloating(IWindow?)
Mark the given
window
as a floating windowpublic void MarkWindowAsFloating(IWindow? window = null)
Parameters
window
IWindow
PostInitialize()
This method is to be called by the plugin manager.
Initializes the plugin after the rest of the IContext has been initialized.
Put things which rely on the rest of the context here.
public void PostInitialize()
PreInitialize()
This method is to be called by the plugin manager.
Initializes the plugin before the IContext has been initialized.
Put things like event listeners here or adding proxy layout engines
(see AddProxyLayoutEngine(ProxyLayoutEngineCreator)).
public void PreInitialize()
SaveState()
Save the plugin's state as a JsonElement.
public JsonElement? SaveState()
Returns
- JsonElement?
- The plugin's state.
ToggleWindowFloating(IWindow?)
Toggle the floating state of the given
window
.public void ToggleWindowFloating(IWindow? window = null)
Parameters
window
IWindow