/*
 * DWN - Desktop Window Manager
 * retoor <retoor@molodetz.nl>
 * Window marks for quick navigation
 */

#ifndef DWN_MARKS_H
#define DWN_MARKS_H

#include "dwn.h"
#include <stdbool.h>

#define MAX_MARKS 26

void marks_init(void);
void marks_cleanup(void);

void marks_set(char mark, Client *client);
Client *marks_get(char mark);
void marks_clear(char mark);
void marks_clear_all(void);
void marks_remove_client(Client *client);

bool marks_is_waiting_for_mark(void);
bool marks_is_waiting_for_goto(void);
void marks_start_set_mode(void);
void marks_start_goto_mode(void);
void marks_cancel_mode(void);
bool marks_handle_key(char key);

char marks_get_mark_for_client(Client *client);

#endif
