58 lines
1.8 KiB
C
Raw Normal View History

2025-12-28 03:14:31 +01:00
/*
* DWN - Desktop Window Manager
* retoor <retoor@molodetz.nl>
2025-12-28 03:14:31 +01:00
* Workspace (tag/virtual desktop) management
*/
#ifndef DWN_WORKSPACE_H
#define DWN_WORKSPACE_H
#include "dwn.h"
#include <stdbool.h>
void workspace_init(void);
void workspace_cleanup(void);
Workspace *workspace_get(int index);
Workspace *workspace_get_current(void);
int workspace_get_current_index(void);
void workspace_switch(int index);
void workspace_switch_next(void);
void workspace_switch_prev(void);
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);
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);
void workspace_arrange(int workspace);
void workspace_arrange_current(void);
void workspace_show(int workspace);
void workspace_hide(int workspace);
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);
void workspace_focus_next(void);
void workspace_focus_prev(void);
void workspace_focus_master(void);
void workspace_mru_push(int workspace, Client *client);
void workspace_mru_remove(int workspace, Client *client);
Client *workspace_mru_get_previous(int workspace, Client *current);
#endif