Support openbox style "cycle window"

We still use alt-F2, but it now feels like alt-tab does.
This commit is contained in:
Johan Malm 2020-05-18 20:54:25 +01:00
parent 0380fd18f3
commit a2c48c7aab
5 changed files with 70 additions and 81 deletions

10
labwc.h
View file

@ -68,6 +68,8 @@ struct server {
struct wl_listener request_cursor;
struct wl_listener request_set_selection;
struct wl_list keyboards;
/* cursor interactive */
enum cursor_mode cursor_mode;
struct view *grabbed_view;
double grab_x, grab_y;
@ -139,19 +141,15 @@ void xwl_surface_configure(struct wl_listener *listener, void *data);
void xwl_surface_new(struct wl_listener *listener, void *data);
bool view_want_deco(struct view *view);
void view_focus_last_toplevel(struct server *server);
void view_focus(struct view *view);
void view_focus_next_toplevel(struct view *current);
void begin_interactive(struct view *view, enum cursor_mode mode,
uint32_t edges);
bool is_toplevel(struct view *view);
struct view *view_front_toplevel(struct server *server);
struct view *next_toplevel(struct view *current);
struct view *view_at(struct server *server, double lx, double ly,
struct wlr_surface **surface, double *sx, double *sy,
int *view_area);
/* TODO: try to refactor to remove from header file */
struct view *first_toplevel(struct server *server);
void server_new_input(struct wl_listener *listener, void *data);
void seat_request_cursor(struct wl_listener *listener, void *data);
void seat_request_set_selection(struct wl_listener *listener, void *data);