Merge pull request #193 from fauxmight/chasing-wlroots

Chasing wlroots
This commit is contained in:
Sevz 2022-03-10 10:11:17 -06:00 committed by GitHub
commit 2630664fef
Failed to generate hash of commit
2 changed files with 11 additions and 8 deletions

View file

@ -39,7 +39,7 @@ client_activate_surface(struct wlr_surface *s, int activated)
#endif #endif
if (wlr_surface_is_xdg_surface(s)) if (wlr_surface_is_xdg_surface(s))
wlr_xdg_toplevel_set_activated( wlr_xdg_toplevel_set_activated(
wlr_xdg_surface_from_wlr_surface(s), activated); wlr_xdg_surface_from_wlr_surface(s)->toplevel, activated);
} }
static inline void static inline void
@ -121,7 +121,7 @@ client_send_close(Client *c)
return; return;
} }
#endif #endif
wlr_xdg_toplevel_send_close(c->surface.xdg); wlr_xdg_toplevel_send_close(c->surface.xdg->toplevel);
} }
static inline void static inline void
@ -133,7 +133,7 @@ client_set_fullscreen(Client *c, int fullscreen)
return; return;
} }
#endif #endif
wlr_xdg_toplevel_set_fullscreen(c->surface.xdg, fullscreen); wlr_xdg_toplevel_set_fullscreen(c->surface.xdg->toplevel, fullscreen);
} }
static inline uint32_t static inline uint32_t
@ -146,7 +146,7 @@ client_set_size(Client *c, uint32_t width, uint32_t height)
return 0; return 0;
} }
#endif #endif
return wlr_xdg_toplevel_set_size(c->surface.xdg, width, height); return wlr_xdg_toplevel_set_size(c->surface.xdg->toplevel, width, height);
} }
static inline void static inline void
@ -156,7 +156,7 @@ client_set_tiled(Client *c, uint32_t edges)
if (client_is_x11(c)) if (client_is_x11(c))
return; return;
#endif #endif
wlr_xdg_toplevel_set_tiled(c->surface.xdg, WLR_EDGE_TOP | wlr_xdg_toplevel_set_tiled(c->surface.xdg->toplevel, WLR_EDGE_TOP |
WLR_EDGE_BOTTOM | WLR_EDGE_LEFT | WLR_EDGE_RIGHT); WLR_EDGE_BOTTOM | WLR_EDGE_LEFT | WLR_EDGE_RIGHT);
} }

9
dwl.c
View file

@ -36,6 +36,7 @@
#include <wlr/types/wlr_screencopy_v1.h> #include <wlr/types/wlr_screencopy_v1.h>
#include <wlr/types/wlr_server_decoration.h> #include <wlr/types/wlr_server_decoration.h>
#include <wlr/types/wlr_seat.h> #include <wlr/types/wlr_seat.h>
#include <wlr/types/wlr_subcompositor.h>
#include <wlr/types/wlr_viewporter.h> #include <wlr/types/wlr_viewporter.h>
#include <wlr/types/wlr_virtual_keyboard_v1.h> #include <wlr/types/wlr_virtual_keyboard_v1.h>
#include <wlr/types/wlr_xcursor_manager.h> #include <wlr/types/wlr_xcursor_manager.h>
@ -863,7 +864,7 @@ createmon(struct wl_listener *listener, void *data)
* output (such as DPI, scale factor, manufacturer, etc). * output (such as DPI, scale factor, manufacturer, etc).
*/ */
wlr_output_layout_add(output_layout, wlr_output, r->x, r->y); wlr_output_layout_add(output_layout, wlr_output, r->x, r->y);
sgeom = *wlr_output_layout_get_box(output_layout, NULL); wlr_output_layout_get_box(output_layout, NULL, &sgeom);
/* When adding monitors, the geometries of all monitors must be updated */ /* When adding monitors, the geometries of all monitors must be updated */
wl_list_for_each(m, &mons, link) { wl_list_for_each(m, &mons, link) {
@ -2029,6 +2030,7 @@ setup(void)
wlr_gamma_control_manager_v1_create(dpy); wlr_gamma_control_manager_v1_create(dpy);
wlr_primary_selection_v1_device_manager_create(dpy); wlr_primary_selection_v1_device_manager_create(dpy);
wlr_viewporter_create(dpy); wlr_viewporter_create(dpy);
wlr_subcompositor_create(dpy);
/* Initializes the interface used to implement urgency hints */ /* Initializes the interface used to implement urgency hints */
activation = wlr_xdg_activation_v1_create(dpy); activation = wlr_xdg_activation_v1_create(dpy);
@ -2305,7 +2307,7 @@ updatemons(struct wl_listener *listener, void *data)
struct wlr_output_configuration_v1 *config = struct wlr_output_configuration_v1 *config =
wlr_output_configuration_v1_create(); wlr_output_configuration_v1_create();
Monitor *m; Monitor *m;
sgeom = *wlr_output_layout_get_box(output_layout, NULL); wlr_output_layout_get_box(output_layout, NULL, &sgeom);
wl_list_for_each(m, &mons, link) { wl_list_for_each(m, &mons, link) {
struct wlr_output_configuration_head_v1 *config_head = struct wlr_output_configuration_head_v1 *config_head =
wlr_output_configuration_head_v1_create(config, m->wlr_output); wlr_output_configuration_head_v1_create(config, m->wlr_output);
@ -2314,7 +2316,8 @@ updatemons(struct wl_listener *listener, void *data)
/* TODO: move focus if selmon is disabled */ /* TODO: move focus if selmon is disabled */
/* Get the effective monitor geometry to use for surfaces */ /* Get the effective monitor geometry to use for surfaces */
m->m = m->w = *wlr_output_layout_get_box(output_layout, m->wlr_output); wlr_output_layout_get_box(output_layout, m->wlr_output, &(m->m));
wlr_output_layout_get_box(output_layout, m->wlr_output, &(m->w));
/* Calculate the effective monitor geometry to use for clients */ /* Calculate the effective monitor geometry to use for clients */
arrangelayers(m); arrangelayers(m);
/* Don't move clients to the left output when plugging monitors */ /* Don't move clients to the left output when plugging monitors */