Table of Contents

Class BarPlugin

Namespace
Whim.Bar
Assembly
Whim.Bar.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 BarPlugin : IBarPlugin, IPlugin, IDisposable
Inheritance
BarPlugin
Implements
Inherited Members

Constructors

BarPlugin(IContext, BarConfig)

Create the bar plugin.
public BarPlugin(IContext context, BarConfig barConfig)

Parameters

context IContext
barConfig BarConfig

Properties

Config

The configuration for the bar.
public BarConfig Config { get; }

Property Value

BarConfig

Name

whim.bar
public string Name { get; }

Property Value

string

PluginCommands

The commands and keybinds for this plugin. These are registered during PreInitialize().
public IPluginCommands PluginCommands { get; }

Property Value

IPluginCommands

Remarks

Keybindings can be overridden by the user using SetKeybind(string, IKeybind).

Methods

Dispose()

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
public void Dispose()

Dispose(bool)

protected virtual void Dispose(bool disposing)

Parameters

disposing bool

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.

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.