|
/*
|
|
* DWN - Desktop Window Manager
|
|
* retoor <retoor@molodetz.nl>
|
|
* Workspace (tag/virtual desktop) management
|
|
*/
|
|
|
|
#ifndef DWN_WORKSPACE_H
|
|
#define DWN_WORKSPACE_H
|
|
|
|
#include "dwn.h"
|
|
#include <stdbool.h>
|
|
|
|
/* Workspace initialization */
|
|
void workspace_init(void);
|
|
void workspace_cleanup(void);
|
|
|
|
/* Workspace access */
|
|
Workspace *workspace_get(int index);
|
|
Workspace *workspace_get_current(void);
|
|
int workspace_get_current_index(void);
|
|
|
|
/* Workspace switching */
|
|
void workspace_switch(int index);
|
|
void workspace_switch_next(void);
|
|
void workspace_switch_prev(void);
|
|
|
|
/* Client management within workspaces */
|
|
void workspace_add_client(int workspace, Client *client);
|
|
void workspace_remove_client(int workspace, Client *client);
|
|
void workspace_move_client(Client *client, int new_workspace);
|
|
Client *workspace_get_first_client(int workspace);
|
|
Client *workspace_get_focused_client(int workspace);
|
|
|
|
/* Layout */
|
|
void workspace_set_layout(int workspace, LayoutType layout);
|
|
LayoutType workspace_get_layout(int workspace);
|
|
void workspace_cycle_layout(int workspace);
|
|
void workspace_set_master_ratio(int workspace, float ratio);
|
|
void workspace_adjust_master_ratio(int workspace, float delta);
|
|
void workspace_set_master_count(int workspace, int count);
|
|
void workspace_adjust_master_count(int workspace, int delta);
|
|
|
|
/* Arrangement */
|
|
void workspace_arrange(int workspace);
|
|
void workspace_arrange_current(void);
|
|
|
|
/* Visibility */
|
|
void workspace_show(int workspace);
|
|
void workspace_hide(int workspace);
|
|
|
|
/* Properties */
|
|
void workspace_set_name(int workspace, const char *name);
|
|
const char *workspace_get_name(int workspace);
|
|
int workspace_client_count(int workspace);
|
|
bool workspace_is_empty(int workspace);
|
|
|
|
/* Focus cycling within workspace */
|
|
void workspace_focus_next(void);
|
|
void workspace_focus_prev(void);
|
|
void workspace_focus_master(void);
|
|
|
|
#endif /* DWN_WORKSPACE_H */
|