|
/*
|
|
* DWN - Desktop Window Manager
|
|
* retoor <retoor@molodetz.nl>
|
|
* Keyboard shortcut handling
|
|
*/
|
|
|
|
#ifndef DWN_KEYS_H
|
|
#define DWN_KEYS_H
|
|
|
|
#include "dwn.h"
|
|
#include <stdbool.h>
|
|
#include <X11/keysym.h>
|
|
|
|
#define MOD_ALT Mod1Mask
|
|
#define MOD_CTRL ControlMask
|
|
#define MOD_SHIFT ShiftMask
|
|
#define MOD_SUPER Mod4Mask
|
|
|
|
typedef void (*KeyCallback)(void);
|
|
|
|
typedef struct {
|
|
unsigned int modifiers;
|
|
KeySym keysym;
|
|
KeyCallback callback;
|
|
const char *description;
|
|
} KeyBinding;
|
|
|
|
void keys_init(void);
|
|
void keys_cleanup(void);
|
|
void keys_grab_all(void);
|
|
void keys_ungrab_all(void);
|
|
|
|
void keys_bind(unsigned int modifiers, KeySym keysym,
|
|
KeyCallback callback, const char *description);
|
|
void keys_unbind(unsigned int modifiers, KeySym keysym);
|
|
void keys_clear_all(void);
|
|
|
|
void keys_handle_press(XKeyEvent *ev);
|
|
void keys_handle_release(XKeyEvent *ev);
|
|
|
|
void keys_setup_defaults(void);
|
|
|
|
void key_spawn_terminal(void);
|
|
void key_spawn_launcher(void);
|
|
void key_spawn_file_manager(void);
|
|
void key_spawn_browser(void);
|
|
void key_close_window(void);
|
|
void key_quit_dwn(void);
|
|
void key_cycle_layout(void);
|
|
void key_toggle_floating(void);
|
|
void key_toggle_fullscreen(void);
|
|
void key_toggle_maximize(void);
|
|
void key_toggle_minimize(void);
|
|
void key_focus_next(void);
|
|
void key_focus_prev(void);
|
|
void key_workspace_next(void);
|
|
void key_workspace_prev(void);
|
|
void key_workspace_1(void);
|
|
void key_workspace_2(void);
|
|
void key_workspace_3(void);
|
|
void key_workspace_4(void);
|
|
void key_workspace_5(void);
|
|
void key_workspace_6(void);
|
|
void key_workspace_7(void);
|
|
void key_workspace_8(void);
|
|
void key_workspace_9(void);
|
|
void key_move_to_workspace_1(void);
|
|
void key_move_to_workspace_2(void);
|
|
void key_move_to_workspace_3(void);
|
|
void key_move_to_workspace_4(void);
|
|
void key_move_to_workspace_5(void);
|
|
void key_move_to_workspace_6(void);
|
|
void key_move_to_workspace_7(void);
|
|
void key_move_to_workspace_8(void);
|
|
void key_move_to_workspace_9(void);
|
|
void key_increase_master(void);
|
|
void key_decrease_master(void);
|
|
void key_increase_master_count(void);
|
|
void key_decrease_master_count(void);
|
|
void key_toggle_ai(void);
|
|
void key_ai_command(void);
|
|
void key_show_shortcuts(void);
|
|
void key_start_tutorial(void);
|
|
void key_snap_left(void);
|
|
void key_snap_right(void);
|
|
void key_snap_up(void);
|
|
void key_snap_down(void);
|
|
void key_start_demo(void);
|
|
|
|
void tutorial_start(void);
|
|
void tutorial_stop(void);
|
|
void tutorial_next_step(void);
|
|
void tutorial_check_key(unsigned int modifiers, KeySym keysym);
|
|
bool tutorial_is_active(void);
|
|
|
|
#endif
|