1
0
mirror of https://github.com/Cloudef/bemenu synced 2024-11-23 09:21:59 +01:00
bemenu/client/common/common.h
2022-10-21 03:17:29 +09:00

52 lines
1.3 KiB
C

#ifndef _BM_COMMON_H_
#define _BM_COMMON_H_
#include <bemenu.h>
#include <stddef.h>
struct client {
enum bm_filter_mode filter_mode;
enum bm_scrollbar_mode scrollbar;
const char *colors[BM_COLOR_LAST];
const char *title;
const char *prefix;
const char *font;
const char *initial_filter;
uint32_t line_height;
uint32_t cursor_height;
uint32_t cursor_width;
uint32_t hpadding;
uint32_t lines;
uint32_t selected;
uint32_t monitor;
uint32_t hmargin_size;
uint32_t border_size;
float width_factor;
bool bottom;
bool center;
bool grab;
bool wrap;
bool accept_single;
bool ifne;
bool no_overlap;
bool no_spacing;
bool no_cursor;
bool no_touch;
bool no_keyboard;
bool force_fork, fork;
bool no_exec;
bool password;
bool use_vim_bindings;
char *monitor_name;
};
char* cstrcopy(const char *str, size_t size);
char** tokenize_quoted_to_argv(const char *str, char *argv0, int *out_argc);
void parse_args(struct client *client, int *argc, char **argv[]);
struct bm_menu* menu_with_options(struct client *client);
enum bm_run_result run_menu(const struct client *client, struct bm_menu *menu, void (*item_cb)(const struct client *client, struct bm_item *item));
#endif /* _BM_COMMON_H_ */
/* vim: set ts=8 sw=4 tw=0 :*/