mirror of
https://github.com/labwc/labwc.git
synced 2026-02-05 04:06:33 -05:00
tree-wide: use enum types/constants where appropriate
- add LAB_WINDOW_TYPE_INVALID in place of literal -1 - document more clearly that enum lab_view_criteria is a bitset - other one-off replacements of integer values/types for consistency Note: variables of type enum lab_view_criteria are already used extensively throughout the code to contain combinations of the declared enum values. I am not introducing any new usage here, just changing the single uint32_t to be consistent with all the other usages.
This commit is contained in:
parent
ef766d16f0
commit
80b28f16c7
10 changed files with 27 additions and 17 deletions
|
|
@ -173,7 +173,7 @@ struct rcxml {
|
||||||
bool show;
|
bool show;
|
||||||
bool preview;
|
bool preview;
|
||||||
bool outlines;
|
bool outlines;
|
||||||
uint32_t criteria;
|
enum lab_view_criteria criteria;
|
||||||
struct wl_list fields; /* struct window_switcher_field.link */
|
struct wl_list fields; /* struct window_switcher_field.link */
|
||||||
} window_switcher;
|
} window_switcher;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,16 @@ enum lab_tristate {
|
||||||
LAB_STATE_DISABLED
|
LAB_STATE_DISABLED
|
||||||
};
|
};
|
||||||
|
|
||||||
/* All criteria is applied in AND logic */
|
/*
|
||||||
|
* This enum type is a set of bit flags where each set bit makes the
|
||||||
|
* criteria more restrictive. For example:
|
||||||
|
*
|
||||||
|
* (LAB_VIEW_CRITERIA_FULLSCREEN | LAB_VIEW_CRITERIA_CURRENT_WORKSPACE)
|
||||||
|
* matches only fullscreen views on the current workspace, while
|
||||||
|
*
|
||||||
|
* (LAB_VIEW_CRITERIA_ALWAYS_ON_TOP | LAB_VIEW_CRITERIA_NO_ALWAYS_ON_TOP)
|
||||||
|
* would be contradictory and match nothing at all.
|
||||||
|
*/
|
||||||
enum lab_view_criteria {
|
enum lab_view_criteria {
|
||||||
/* No filter -> all focusable views */
|
/* No filter -> all focusable views */
|
||||||
LAB_VIEW_CRITERIA_NONE = 0,
|
LAB_VIEW_CRITERIA_NONE = 0,
|
||||||
|
|
@ -79,6 +88,7 @@ enum lab_view_criteria {
|
||||||
* to make them available even in builds with xwayland support disabled.
|
* to make them available even in builds with xwayland support disabled.
|
||||||
*/
|
*/
|
||||||
enum lab_window_type {
|
enum lab_window_type {
|
||||||
|
LAB_WINDOW_TYPE_INVALID = -1,
|
||||||
LAB_WINDOW_TYPE_DESKTOP = 0,
|
LAB_WINDOW_TYPE_DESKTOP = 0,
|
||||||
LAB_WINDOW_TYPE_DOCK,
|
LAB_WINDOW_TYPE_DOCK,
|
||||||
LAB_WINDOW_TYPE_TOOLBAR,
|
LAB_WINDOW_TYPE_TOOLBAR,
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,6 @@ struct window_switcher_field {
|
||||||
struct buf;
|
struct buf;
|
||||||
struct view;
|
struct view;
|
||||||
struct server;
|
struct server;
|
||||||
enum lab_cycle_dir;
|
|
||||||
|
|
||||||
/* Begin window switcher */
|
/* Begin window switcher */
|
||||||
void osd_begin(struct server *server, enum lab_cycle_dir direction);
|
void osd_begin(struct server *server, enum lab_cycle_dir direction);
|
||||||
|
|
|
||||||
|
|
@ -3,8 +3,7 @@
|
||||||
#define LABWC_OUTPUT_H
|
#define LABWC_OUTPUT_H
|
||||||
|
|
||||||
#include <wlr/types/wlr_output.h>
|
#include <wlr/types/wlr_output.h>
|
||||||
|
#include "common/edge.h"
|
||||||
enum lab_edge;
|
|
||||||
|
|
||||||
#define LAB_NR_LAYERS (4)
|
#define LAB_NR_LAYERS (4)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -274,7 +274,7 @@ struct view_query {
|
||||||
struct wl_list link;
|
struct wl_list link;
|
||||||
char *identifier;
|
char *identifier;
|
||||||
char *title;
|
char *title;
|
||||||
int window_type;
|
enum lab_window_type window_type;
|
||||||
char *sandbox_engine;
|
char *sandbox_engine;
|
||||||
char *sandbox_app_id;
|
char *sandbox_app_id;
|
||||||
enum lab_tristate shaded;
|
enum lab_tristate shaded;
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@
|
||||||
|
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include <wayland-util.h>
|
#include <wayland-util.h>
|
||||||
|
#include "config/types.h"
|
||||||
|
|
||||||
enum window_rule_event {
|
enum window_rule_event {
|
||||||
LAB_WINDOW_RULE_EVENT_ON_FIRST_MAP = 0,
|
LAB_WINDOW_RULE_EVENT_ON_FIRST_MAP = 0,
|
||||||
|
|
@ -24,7 +25,7 @@ enum property {
|
||||||
struct window_rule {
|
struct window_rule {
|
||||||
char *identifier;
|
char *identifier;
|
||||||
char *title;
|
char *title;
|
||||||
int window_type;
|
enum lab_window_type window_type;
|
||||||
char *sandbox_engine;
|
char *sandbox_engine;
|
||||||
char *sandbox_app_id;
|
char *sandbox_app_id;
|
||||||
bool match_once;
|
bool match_once;
|
||||||
|
|
|
||||||
|
|
@ -56,11 +56,11 @@ enum font_place {
|
||||||
static void load_default_key_bindings(void);
|
static void load_default_key_bindings(void);
|
||||||
static void load_default_mouse_bindings(void);
|
static void load_default_mouse_bindings(void);
|
||||||
|
|
||||||
static int
|
static enum lab_window_type
|
||||||
parse_window_type(const char *type)
|
parse_window_type(const char *type)
|
||||||
{
|
{
|
||||||
if (!type) {
|
if (!type) {
|
||||||
return -1;
|
return LAB_WINDOW_TYPE_INVALID;
|
||||||
}
|
}
|
||||||
if (!strcasecmp(type, "desktop")) {
|
if (!strcasecmp(type, "desktop")) {
|
||||||
return LAB_WINDOW_TYPE_DESKTOP;
|
return LAB_WINDOW_TYPE_DESKTOP;
|
||||||
|
|
@ -91,7 +91,7 @@ parse_window_type(const char *type)
|
||||||
} else if (!strcasecmp(type, "normal")) {
|
} else if (!strcasecmp(type, "normal")) {
|
||||||
return LAB_WINDOW_TYPE_NORMAL;
|
return LAB_WINDOW_TYPE_NORMAL;
|
||||||
} else {
|
} else {
|
||||||
return -1;
|
return LAB_WINDOW_TYPE_INVALID;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -258,7 +258,7 @@ static void
|
||||||
fill_window_rule(xmlNode *node)
|
fill_window_rule(xmlNode *node)
|
||||||
{
|
{
|
||||||
struct window_rule *window_rule = znew(*window_rule);
|
struct window_rule *window_rule = znew(*window_rule);
|
||||||
window_rule->window_type = -1; // Window types are >= 0
|
window_rule->window_type = LAB_WINDOW_TYPE_INVALID;
|
||||||
wl_list_append(&rc.window_rules, &window_rule->link);
|
wl_list_append(&rc.window_rules, &window_rule->link);
|
||||||
wl_list_init(&window_rule->actions);
|
wl_list_init(&window_rule->actions);
|
||||||
|
|
||||||
|
|
@ -1406,7 +1406,7 @@ rcxml_init(void)
|
||||||
|
|
||||||
rc.tablet.force_mouse_emulation = false;
|
rc.tablet.force_mouse_emulation = false;
|
||||||
rc.tablet.output_name = NULL;
|
rc.tablet.output_name = NULL;
|
||||||
rc.tablet.rotation = 0;
|
rc.tablet.rotation = LAB_ROTATE_NONE;
|
||||||
rc.tablet.box = (struct wlr_fbox){0};
|
rc.tablet.box = (struct wlr_fbox){0};
|
||||||
tablet_load_default_button_mappings();
|
tablet_load_default_button_mappings();
|
||||||
rc.tablet_tool.motion = LAB_MOTION_ABSOLUTE;
|
rc.tablet_tool.motion = LAB_MOTION_ABSOLUTE;
|
||||||
|
|
|
||||||
|
|
@ -251,7 +251,7 @@ parse_xbm_builtin(const char *button, int size, uint32_t color)
|
||||||
t[i].value = button[i];
|
t[i].value = button[i];
|
||||||
t[i].type = TOKEN_INT;
|
t[i].type = TOKEN_INT;
|
||||||
}
|
}
|
||||||
t[size].type = 0;
|
t[size].type = TOKEN_NONE;
|
||||||
process_bytes(&pixmap, t, color);
|
process_bytes(&pixmap, t, color);
|
||||||
return pixmap;
|
return pixmap;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -882,7 +882,7 @@ handle_motion(struct wl_listener *listener, void *data)
|
||||||
cursor_set_visible(seat, /* visible */ true);
|
cursor_set_visible(seat, /* visible */ true);
|
||||||
|
|
||||||
if (seat->cursor_scroll_wheel_emulation) {
|
if (seat->cursor_scroll_wheel_emulation) {
|
||||||
uint32_t orientation;
|
enum wl_pointer_axis orientation;
|
||||||
double delta;
|
double delta;
|
||||||
if (fabs(event->delta_x) > fabs(event->delta_y)) {
|
if (fabs(event->delta_x) > fabs(event->delta_y)) {
|
||||||
orientation = WL_POINTER_AXIS_HORIZONTAL_SCROLL;
|
orientation = WL_POINTER_AXIS_HORIZONTAL_SCROLL;
|
||||||
|
|
@ -1014,7 +1014,7 @@ is_double_click(long double_click_speed, uint32_t button,
|
||||||
*/
|
*/
|
||||||
last_button = 0;
|
last_button = 0;
|
||||||
last_view = NULL;
|
last_view = NULL;
|
||||||
last_type = 0;
|
last_type = LAB_SSD_NONE;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
|
||||||
|
|
@ -79,7 +79,7 @@ view_query_create(void)
|
||||||
{
|
{
|
||||||
struct view_query *query = znew(*query);
|
struct view_query *query = znew(*query);
|
||||||
/* Must be synced with view_matches_criteria() in window-rules.c */
|
/* Must be synced with view_matches_criteria() in window-rules.c */
|
||||||
query->window_type = -1;
|
query->window_type = LAB_WINDOW_TYPE_INVALID;
|
||||||
query->maximized = VIEW_AXIS_INVALID;
|
query->maximized = VIEW_AXIS_INVALID;
|
||||||
query->decoration = LAB_SSD_MODE_INVALID;
|
query->decoration = LAB_SSD_MODE_INVALID;
|
||||||
return query;
|
return query;
|
||||||
|
|
@ -132,7 +132,8 @@ view_matches_query(struct view *view, struct view_query *query)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (query->window_type >= 0 && !view_contains_window_type(view, query->window_type)) {
|
if (query->window_type != LAB_WINDOW_TYPE_INVALID
|
||||||
|
&& !view_contains_window_type(view, query->window_type)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue