mirror of
https://github.com/swaywm/sway.git
synced 2025-11-08 13:29:50 -05:00
Implement borders
The borders are implemented as a surface/buffer attached to each view which is sent to and rendered by wlc in the view_pre_render callback. All the drawing logic is handled in sway/border.c and all the logic for calculating the geometry of the border/view is handled in `update_geometry` in sway/layout.c (same place as gaps are calculated).
This commit is contained in:
parent
3b05f92f76
commit
5a13cb0ed1
12 changed files with 386 additions and 149 deletions
|
|
@ -9,7 +9,7 @@
|
|||
#include <ctype.h>
|
||||
|
||||
#include "handlers.h"
|
||||
#include "render.h"
|
||||
#include "border.h"
|
||||
#include "log.h"
|
||||
#include "layout.h"
|
||||
#include "config.h"
|
||||
|
|
@ -349,15 +349,14 @@ static void handle_view_geometry_request(wlc_handle handle, const struct wlc_geo
|
|||
view->desired_width = geometry->size.w;
|
||||
view->desired_height = geometry->size.h;
|
||||
|
||||
if (view->is_floating) {
|
||||
view->width = view->desired_width;
|
||||
view->height = view->desired_height;
|
||||
view->x = geometry->origin.x;
|
||||
view->y = geometry->origin.y;
|
||||
arrange_windows(view->parent, -1, -1);
|
||||
}
|
||||
/* if (view->is_floating) { */
|
||||
/* view->width = view->desired_width; */
|
||||
/* view->height = view->desired_height; */
|
||||
/* view->x = geometry->origin.x; */
|
||||
/* view->y = geometry->origin.y; */
|
||||
/* /1* arrange_windows(view->parent, -1, -1); *1/ */
|
||||
/* } */
|
||||
}
|
||||
update_view_border(view);
|
||||
}
|
||||
|
||||
static void handle_view_state_request(wlc_handle view, enum wlc_view_state_bit state, bool toggle) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue