mirror of
https://github.com/Cloudef/bemenu
synced 2024-05-09 00:56:18 +02:00
Compare commits
3 Commits
2a748060a2
...
08598e5d82
Author | SHA1 | Date | |
---|---|---|---|
Matt A | 08598e5d82 | ||
Jari Vetoniemi | d58c9dc365 | ||
Matt Allan | 9740d37d17 |
|
@ -217,10 +217,8 @@ get_align_anchor(enum bm_align align)
|
|||
{
|
||||
uint32_t anchor = ZWLR_LAYER_SURFACE_V1_ANCHOR_LEFT | ZWLR_LAYER_SURFACE_V1_ANCHOR_RIGHT;
|
||||
|
||||
if(align == BM_ALIGN_TOP) {
|
||||
if(align == BM_ALIGN_TOP || align == BM_ALIGN_CENTER) {
|
||||
anchor |= ZWLR_LAYER_SURFACE_V1_ANCHOR_TOP;
|
||||
} else if(align == BM_ALIGN_CENTER) {
|
||||
anchor |= ZWLR_LAYER_SURFACE_V1_ANCHOR_TOP | ZWLR_LAYER_SURFACE_V1_ANCHOR_BOTTOM;
|
||||
} else {
|
||||
anchor |= ZWLR_LAYER_SURFACE_V1_ANCHOR_BOTTOM;
|
||||
}
|
||||
|
@ -256,7 +254,11 @@ bm_wl_window_render(struct window *window, struct wl_display *display, struct bm
|
|||
break;
|
||||
|
||||
struct cairo_paint_result result;
|
||||
window->notify.render(&buffer->cairo, buffer->width, window->max_height, menu, &result);
|
||||
uint32_t max_height = window->max_height;
|
||||
if (menu->align == BM_ALIGN_CENTER) {
|
||||
max_height /= 2;
|
||||
}
|
||||
window->notify.render(&buffer->cairo, buffer->width, max_height, menu, &result);
|
||||
window->displayed = result.displayed;
|
||||
|
||||
if (window->height == (uint32_t) ceil(result.height / window->scale))
|
||||
|
@ -378,6 +380,9 @@ bm_wl_window_set_align(struct window *window, struct wl_display *display, enum b
|
|||
window->align_anchor = get_align_anchor(window->align);
|
||||
|
||||
zwlr_layer_surface_v1_set_anchor(window->layer_surface, window->align_anchor);
|
||||
if (align == BM_ALIGN_CENTER) {
|
||||
zwlr_layer_surface_v1_set_margin(window->layer_surface, window->max_height / 2, 0, 0, 0);
|
||||
}
|
||||
wl_surface_commit(window->surface);
|
||||
wl_display_roundtrip(display);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue