plank Reference Manual

# plank

## Description:

## Content:

### Namespaces:

- Plank

### Interfaces:

- Docklet - The common interface for all docklets.
- Serializable - This interface is used by objects that need to be serialized in a Preferences. The object must have a string representation and provide these methods to translate between the string and object representations.
- UnityClient - The interface to provide the LauncherEntry handling.

### Classes:

- AbstractMain - The main class for all dock applications. All docks should extend this class. In the constructor, the string fields should be initialized to customize the dock.
- ApplicationDockItem - A dock item for applications (with .desktop launchers).
- ApplicationDockItemProvider - A container and controller class for managing application dock items on a dock.
- CompositedWindow - A Gtk.Window with compositing support enabled. The default expose event will draw a completely transparent window.
- DBusClient - Connects to a running instance of plank via DBus and provides remote interface to a currently runnning dock.
- DBusManager - Handles all the exported DBus functions of the dock
- DefaultApplicationDockItemProvider - The default container and controller class for managing application dock items on a dock.
- DockContainer - A container and controller class for managing dock elements on a dock.
- DockController - A controller class for managing a single dock.
- DockElement - The base class for all dock elements.
- DockItem - The base class for all dock items.
- DockItemDrawValue - Contains all positions and modifications to draw a dock-item on the dock
- DockItemPreferences - Contains preference keys for a dock item.
- DockItemProvider - A container and controller class for managing dock items.
- DockPreferences - Contains all preferences for docks.
- DockRenderer - Handles all of the drawing for a dock.
- DockTheme - A themed renderer for dock windows.
- DockWindow - The main window for all docks.
- DockletItem
- DockletManager - A controller class for managing all available docklets.
- DragManager - Handles all of the drag'n'drop events for a dock.
- DrawingService - Utility service for loading icons and working with pixbufs.
- Factory - The main factory class for the dock.
- FileDockItem - A dock item for files or folders on the dock.
- HideManager - Handles checking if a dock should hide or not.
- HoverWindow - A hover window that shows labels for dock items. This window floats outside (but near) the dock.
- ItemFactory - An item factory. Creates DockItems based on .dockitem files.
- Logger - A logging class to display all console messages in a nice colored format.
- Paths - A wrapper class that gives static instances of GLib.File for commonly used paths. Most paths are retrieved from GLib.Environment, which on Linux uses the XDG Base Directory specification (see http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html).
- PlaceholderDockItem - A dock item as a placeholder for the dock itself if nothing was added yet.
- PlankDockItem - A dock item for the dock itself. Has things like about, help, quit etc.
- PoofWindow - An animated window that draws a 'poof' animation. Used when dragging items off the dock.
- PositionManager - Handles computing any size/position information for the dock.
- Preferences - The base class for all preferences in the system. Preferences are serialized to files. The file is watched for changes and loads new values if the backing file changed. When any public property of a sub-class is changed, the public properties are serialized to the backing file.
- PreferencesWindow
- Renderer - Handles animated rendering. Uses a timer and continues requesting redraws for a widget until no more animation is needed.
- Settings - The base class for gsettings-based configuration classes. Defined properties will be bound to the corresponing schema-key of the given schema-path. The property's nick- name must match the schema-key.
- Surface - A surface is a wrapper class for a Cairo.Surface. It encapsulates a surface/context and provides utility methods.
- SurfaceCache - Cache multiple sizes of the assumed same image
- System - A utility class for launching applications and opening files/URIs.
- Theme - A themed renderer for windows.
- TitledSeparatorMenuItem - A Gtk.SeparatorMenuItem with a title on it. The separator can be drawn with or without a line.
- TransientDockItem - A dock item for applications which aren't pinned or doesn't have a matched desktop-files.
- Unity - Handle the LauncherEntry DBus interface implemented by applications.
- Worker

### Structs:

- Color - Represents a RGBA color and has methods for manipulating the color.
- PointD

### Enums:

- AnimationMode - The available animation modes
- AnimationType - What type of animation to perform when an item is or was interacted with.
- HideType - If/How the dock should hide itself.
- IndicatorState - What item indicator to show.
- ItemState - The current activity state of an item. The item has several states to track and can be in any combination of them.
- LogLevel - Controls what messages show in the console log.
- PopupButton - What mouse button pops up the context menu on an item. Can be multiple buttons.
- SurfaceCacheFlags - Controls some internal behaviors of a Plank.SurfaceCache
- TaskPriority
- XdgSessionClass
- XdgSessionDesktop
- XdgSessionType

### Constants:

- public const unowned string DOCKLET_ENTRY_POINT
- public const unowned string G_RESOURCE_PATH
- public const int MAJOR_VERSION
  Like get_major_version, but from the headers used at application compile time, rather than from the library linked against at application run time
- public const int MICRO_VERSION
  Like get_micro_version, but from the headers used at application compile time, rather than from the library linked against at application run time
- public const int MINOR_VERSION
  Like get_minor_version, but from the headers used at application compile time, rather than from the library linked against at application run time
- public const int NANO_VERSION
  Like get_nano_version, but from the headers used at application compile time, rather than from the library linked against at application run time

### Delegates:

- public delegate void DockletInitFunc (DockletManager manager)
- public delegate Surface? DrawDataFunc (int width, int height, Surface model, G data)
  Creates a new surface using the given element and information
- public delegate Surface? DrawFunc (int width, int height, Surface model, DrawDataFunc<G>? draw_data_func)
  Creates a new surface based on the given information
- public delegate void DrawValueFunc (DockItem item, DockItemDrawValue draw_value)
  Modify the given DrawItemValue
- public delegate void DrawValuesFunc (HashMap<DockElement,DockItemDrawValue> draw_values)
  Modify all given DrawItemValues
- public delegate G TaskFunc () throws Error

### Methods:

- public unowned string? check_version (uint required_major, uint required_minor, uint required_micro)
  Checks that the plank library in use is compatible with the given version.
- public double easing_for_mode (AnimationMode mode, double t, double d)
  Calculate an interpolated value for selected animation-mode, and given elapsed time and total duration.
- public void environment_initialize ()
- public bool environment_is_session_class (XdgSessionClass type)
- public bool environment_is_session_desktop (XdgSessionDesktop type)
- public bool environment_is_session_type (XdgSessionType type)
- public uint get_major_version ()
  Returns the major version number of the plank library.
- public uint get_micro_version ()
  Returns the micro version number of the plank library.
- public uint get_minor_version ()
  Returns the minor version number of the plank library.
- public uint get_nano_version ()
  Returns the nano version number of the plank library.