|
/*
|
|
* DWN - Desktop Window Manager
|
|
* Built-in Layout Registration
|
|
*/
|
|
|
|
#ifndef BUILTIN_LAYOUTS_H
|
|
#define BUILTIN_LAYOUTS_H
|
|
|
|
#include "plugins/layout_plugin.h"
|
|
#include "dwn.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/**
|
|
* Initialize and register all built-in layouts.
|
|
* Called during DWN startup.
|
|
*/
|
|
bool wm_layouts_builtin_init(void);
|
|
|
|
/**
|
|
* Get a layout plugin by legacy LayoutType.
|
|
*/
|
|
LayoutPlugin* wm_layout_get_by_type(LayoutManager *mgr, LayoutType type);
|
|
|
|
/**
|
|
* Bridge function to arrange a workspace using the plugin system.
|
|
*/
|
|
bool wm_layout_arrange_workspace(LayoutManager *mgr, int workspace, LayoutType type);
|
|
|
|
/**
|
|
* Get symbol for a layout type.
|
|
*/
|
|
const char* wm_layout_get_symbol_for_type(LayoutType type);
|
|
|
|
/**
|
|
* Get name for a layout type.
|
|
*/
|
|
const char* wm_layout_get_name_for_type(LayoutType type);
|
|
|
|
/**
|
|
* Get LayoutType from name.
|
|
*/
|
|
LayoutType wm_layout_type_from_name(const char *name);
|
|
|
|
/* External layout interface getters */
|
|
const LayoutPluginInterface* wm_layout_tiling_get_interface(void);
|
|
const LayoutPluginInterface* wm_layout_floating_get_interface(void);
|
|
const LayoutPluginInterface* wm_layout_monocle_get_interface(void);
|
|
const LayoutPluginInterface* wm_layout_grid_get_interface(void);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* BUILTIN_LAYOUTS_H */
|