mirror of
https://github.com/swaywm/sway.git
synced 2025-11-05 13:29:51 -05:00
Revert "Revert "Merge pull request #1943 from RyanDwyer/criteria-improvements""
This reverts commit 32a572cecf.
This reimplements the criteria overhaul in preparation for fixing a
known bug.
This commit is contained in:
parent
270c1ee7e5
commit
1e9aaa54a8
10 changed files with 615 additions and 542 deletions
|
|
@ -21,11 +21,15 @@ enum sway_view_prop {
|
|||
VIEW_PROP_APP_ID,
|
||||
VIEW_PROP_CLASS,
|
||||
VIEW_PROP_INSTANCE,
|
||||
VIEW_PROP_WINDOW_TYPE,
|
||||
VIEW_PROP_WINDOW_ROLE,
|
||||
VIEW_PROP_X11_WINDOW_ID,
|
||||
};
|
||||
|
||||
struct sway_view_impl {
|
||||
const char *(*get_prop)(struct sway_view *view,
|
||||
const char *(*get_string_prop)(struct sway_view *view,
|
||||
enum sway_view_prop prop);
|
||||
uint32_t (*get_int_prop)(struct sway_view *view, enum sway_view_prop prop);
|
||||
void (*configure)(struct sway_view *view, double ox, double oy, int width,
|
||||
int height);
|
||||
void (*set_activated)(struct sway_view *view, bool activated);
|
||||
|
|
@ -53,6 +57,8 @@ struct sway_view {
|
|||
enum sway_container_border border;
|
||||
int border_thickness;
|
||||
|
||||
list_t *executed_criteria;
|
||||
|
||||
union {
|
||||
struct wlr_xdg_surface_v6 *wlr_xdg_surface_v6;
|
||||
struct wlr_xdg_surface *wlr_xdg_surface;
|
||||
|
|
@ -109,6 +115,9 @@ struct sway_xwayland_view {
|
|||
struct wl_listener request_maximize;
|
||||
struct wl_listener request_configure;
|
||||
struct wl_listener request_fullscreen;
|
||||
struct wl_listener set_title;
|
||||
struct wl_listener set_class;
|
||||
struct wl_listener set_window_type;
|
||||
struct wl_listener map;
|
||||
struct wl_listener unmap;
|
||||
struct wl_listener destroy;
|
||||
|
|
@ -191,6 +200,10 @@ const char *view_get_class(struct sway_view *view);
|
|||
|
||||
const char *view_get_instance(struct sway_view *view);
|
||||
|
||||
uint32_t view_get_x11_window_id(struct sway_view *view);
|
||||
|
||||
uint32_t view_get_window_type(struct sway_view *view);
|
||||
|
||||
const char *view_get_type(struct sway_view *view);
|
||||
|
||||
void view_configure(struct sway_view *view, double ox, double oy, int width,
|
||||
|
|
@ -243,4 +256,10 @@ void view_child_destroy(struct sway_view_child *child);
|
|||
*/
|
||||
void view_update_title(struct sway_view *view, bool force);
|
||||
|
||||
/**
|
||||
* Run any criteria that match the view and haven't been run on this view
|
||||
* before.
|
||||
*/
|
||||
void view_execute_criteria(struct sway_view *view);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue