Release 1.8.2

- Fix Issue 28
- Update year in copyright notices
This commit is contained in:
Cagebreak Signing Key 7 2021-12-06 21:16:22 +01:00
commit a0ef72c6eb
25 changed files with 57 additions and 74 deletions

12
Bugs.md
View file

@ -352,3 +352,15 @@ Apologies for opening two tickets instead of one, but I thought that these two s
Would replicating the behaviour in ratpoison (if no config file is found, load predefined defaults) something you would be interested in? I personally found confusing when I first tried cagebreak that it wouldn't start without a config file, coming from ratpoison. Of course, other people's experience might be different.
```
### Issue 28
* github issue number: #10
* Fixed: 1.8.2
```
I'm using v. 1.8.1 and am experiencing a screen refresh lag, particularly on Firefox:
When I type in anything, the text is refreshed and becomes visible only following mouse movement. I don't experience this with the same setup when I use Sway as the compositor.
```
Cagebreak had an error with damage tracking.

View file

@ -1,4 +1,4 @@
Copyright (c) 2020-2021 The Cagebreak authors
Copyright (c) 2020-2022 The Cagebreak authors
Copyright (c) 2018-2020 Jente Hidskes
Copyright (c) 2019 The Sway authors

View file

@ -204,6 +204,21 @@ For every release after 1.0.5, hashes will be provided.
For every release after 1.7.0, hashes will be provided for man pages too.
1.8.2 cagebreak
* sha 256: f4d275d48ba3d999969f8cb3c8142d27aa8e8d362106ee7575e4b13c02173b2a
* sha 512: 72b11cb966b0978133b9848c2a7f57574c599c7fe895ca9f1cba16930216e1ac8aeae86d976593fc01b15e94ecc1430666f474654cf2fe41eda8c1181bf03f3d
1.8.2 cagebreak.1
* sha 256: 51ee97a7c0b86268cf7622f84f7b1813df8e4a7838c00aae412a611d3693e87a
* sha 512: 5ce826afbee9cbc1129f37463f5b6d4dfc060583f6f7816dd5039b18d66a2b7e22f7293a4aa03acc4e6c690886d0297fef5b9f85d720a4467becfd833b59a160
1.8.2 cagebreak-config.5
* sha 256: 7c780ba85211ba40c7535b3f10f12312f9edeaa10030228ba21a96724469a325
* sha 512: 9a56ba16c2aed6f17d4098e54900a5d25602f986e3606dd6ed26563c1920c66404b210dbca9f41bfcc3284bf5a42b750263bcaa2317320f8725e8f9c66e8b893
1.8.1 cagebreak
* sha 256: e3247281d21525413790e3feceae129d9b0559497615d3fdd64ec2fc4ab9ab3d

View file

@ -1,7 +1,7 @@
/*
* Cagebreak: A Wayland tiling compositor.
*
* Copyright (C) 2020 The Cagebreak Authors
* Copyright (C) 2020-2022 The Cagebreak Authors
* Copyright (C) 2018-2019 Jente Hidskes
*
* See the LICENSE file accompanying this file.

View file

@ -1,7 +1,7 @@
/*
* Cagebreak: A Wayland tiling compositor.
*
* Copyright (C) 2020 The Cagebreak Authors
* Copyright (C) 2020-2022 The Cagebreak Authors
* Copyright (C) 2018-2020 Jente Hidskes
*
* See the LICENSE file accompanying this file.

View file

@ -1,7 +1,7 @@
/*
* Cagebreak: A Wayland tiling compositor.
*
* Copyright (C) 2020 The Cagebreak Authors
* Copyright (C) 2020-2022 The Cagebreak Authors
* Copyright (C) 2018-2020 Jente Hidskes
*
* See the LICENSE file accompanying this file.

View file

@ -1,4 +1,4 @@
cagebreak-config(1) "Version 1.8.1" "Cagebreak Manual"
cagebreak-config(1) "Version 1.8.2" "Cagebreak Manual"
# NAME
@ -286,7 +286,7 @@ See GitHub Issues: <https://github.com/project-repo/cagebreak/issues>
# LICENSE
Copyright (c) 2020-2021 The Cagebreak authors
Copyright (c) 2020-2022 The Cagebreak authors
Copyright (c) 2018-2020 Jente Hidskes
Copyright (c) 2019 The Sway authors

View file

@ -1,4 +1,4 @@
cagebreak(1) "Version 1.8.1" "Cagebreak Manual"
cagebreak(1) "Version 1.8.2" "Cagebreak Manual"
# NAME
@ -75,7 +75,7 @@ See GitHub Issues: <https://github.com/project-repo/cagebreak/issues>
# LICENSE
Copyright (c) 2020-2021 The Cagebreak authors
Copyright (c) 2020-2022 The Cagebreak authors
Copyright (c) 2018-2020 Jente Hidskes
Copyright (c) 2019 The Sway authors

View file

@ -1,5 +1,5 @@
project('cagebreak', 'c',
version: '1.8.1',
version: '1.8.2',
license: 'MIT',
default_options: [
'c_std=c11',
@ -213,9 +213,9 @@ reproducible_build_versions = {
'libevdev': '1.12.0',
'libudev': '249',
'pixman': '0.40.0',
'pango': '1.48.10',
'pango': '1.50.0',
'cairo': '1.17.4',
'pangocairo': '1.48.10',
'pangocairo': '1.50.0',
'math': '-1'
}
@ -270,7 +270,7 @@ if get_option('man-pages')
output : 'cagebreak.1',
input : 'man/cagebreak.1.md',
capture : true,
command : [sh, '-c', 'export SOURCE_DATE_EPOCH=1636733005 ; @0@ < @INPUT@'.format(scdoc.path())],
command : [sh, '-c', 'export SOURCE_DATE_EPOCH=1638785664 ; @0@ < @INPUT@'.format(scdoc.path())],
install: true,
install_dir: mandir1
)
@ -279,7 +279,7 @@ if get_option('man-pages')
output : 'cagebreak-config.5',
input : 'man/cagebreak-config.5.md',
capture : true,
command : [sh, '-c', 'export SOURCE_DATE_EPOCH=1636733005 ; @0@ < @INPUT@'.format(scdoc.path())],
command : [sh, '-c', 'export SOURCE_DATE_EPOCH=1638785664 ; @0@ < @INPUT@'.format(scdoc.path())],
install: true,
install_dir: mandir5
)

View file

@ -1,7 +1,7 @@
/*
* Cagebreak: A Wayland tiling compositor.
*
* Copyright (C) 2020 The Cagebreak Authors
* Copyright (C) 2020-2022 The Cagebreak Authors
* Copyright (C) 2018-2020 Jente Hidskes
* Copyright (C) 2019 The Sway authors
*

View file

@ -1,7 +1,7 @@
/*
* Cagebreak: A Wayland tiling compositor.
*
* Copyright (C) 2020 The Cagebreak Authors
* Copyright (C) 2020-2022 The Cagebreak Authors
* Copyright (C) 2018-2020 Jente Hidskes
* Copyright (C) 2019 The Sway authors
*

2
seat.c
View file

@ -1,7 +1,7 @@
/*
* Cagebreak: A Wayland tiling compositor.
*
* Copyright (C) 2020 The Cagebreak Authors
* Copyright (C) 2020-2022 The Cagebreak Authors
* Copyright (C) 2018-2020 Jente Hidskes
*
* See the LICENSE file accompanying this file.

View file

@ -1,7 +1,7 @@
/*
* Cagebreak: A Wayland tiling compositor.
*
* Copyright (C) 2020 The Cagebreak Authors
* Copyright (C) 2020-2022 The Cagebreak Authors
* Copyright (C) 2018-2019 Jente Hidskes
*
* See the LICENSE file accompanying this file.

Binary file not shown.

Binary file not shown.

BIN
signatures/1.8.2.sig Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

2
util.c
View file

@ -1,7 +1,7 @@
/*
* Cagebreak: A Wayland tiling compositor.
*
* Copyright (C) 2020 The Cagebreak Authors
* Copyright (C) 2020-2022 The Cagebreak Authors
* Copyright (C) 2019 The Sway authors
*
* See the LICENSE file accompanying this file.

44
view.c
View file

@ -1,7 +1,7 @@
/*
* Cagebreak: A Wayland tiling compositor.
*
* Copyright (C) 2020 The Cagebreak Authors
* Copyright (C) 2020-2022 The Cagebreak Authors
* Copyright (C) 2018-2020 Jente Hidskes
*
* See the LICENSE file accompanying this file.
@ -51,10 +51,9 @@ view_get_prev_view(struct cg_view *view) {
void
view_damage_child(struct cg_view_child *child, bool whole) {
int x, y;
child->get_coords(child, &x, &y);
output_damage_surface(child->view->workspace->output, child->wlr_surface,
x + child->view->ox, y + child->view->oy, whole);
if(child->view != NULL) {
view_damage_part(child->view);
}
}
static void
@ -138,30 +137,6 @@ subsurface_handle_destroy(struct wl_listener *listener, void *_data) {
subsurface_destroy(view_child);
}
static void
subsurface_get_coords(struct cg_view_child *child, int *x, int *y) {
struct wlr_surface *surface = child->wlr_surface;
*x = *y = 0;
if(child->parent && child->parent->get_coords) {
int sx, sy;
child->parent->get_coords(child->parent, &sx, &sy);
*x += sx;
*y += sy;
} else {
while(surface && wlr_surface_is_subsurface(surface)) {
struct wlr_subsurface *subsurface =
wlr_subsurface_from_wlr_surface(surface);
if(subsurface == NULL) {
break;
}
*x += subsurface->current.x;
*y += subsurface->current.y;
surface = subsurface->parent;
}
}
}
static void
subsurface_create(struct cg_view_child *parent, struct cg_view *view,
struct wlr_subsurface *wlr_subsurface) {
@ -173,7 +148,6 @@ subsurface_create(struct cg_view_child *parent, struct cg_view *view,
view_child_init(&subsurface->view_child, parent, view,
wlr_subsurface->surface);
subsurface->view_child.destroy = subsurface_destroy;
subsurface->view_child.get_coords = subsurface_get_coords;
subsurface->wlr_subsurface = wlr_subsurface;
subsurface->destroy.notify = subsurface_handle_destroy;
@ -279,6 +253,11 @@ view_unmap(struct cg_view *view) {
if(view->wlr_surface == NULL) {
return;
}
struct cg_view_child *child, *tmp;
wl_list_for_each_safe(child, tmp, &view->children, link) {
child->destroy(child);
}
#if CG_HAS_XWAYLAND
if((view->type != CG_XWAYLAND_VIEW || xwayland_view_should_manage(view)))
#endif
@ -323,11 +302,6 @@ view_unmap(struct cg_view *view) {
wl_list_remove(&view->new_subsurface.link);
view->wlr_surface = NULL;
struct cg_view_child *child, *tmp;
wl_list_for_each_safe(child, tmp, &view->children, link) {
child->destroy(child);
}
}
void

1
view.h
View file

@ -62,7 +62,6 @@ struct cg_view_child {
struct wl_listener new_subsurface;
void (*destroy)(struct cg_view_child *child);
void (*get_coords)(struct cg_view_child *child, int *x, int *y);
};
struct cg_subsurface {

View file

@ -1,7 +1,7 @@
/*
* Cagebreak: A Wayland tiling compositor.
*
* Copyright (C) 2020 The Cagebreak Authors
* Copyright (C) 2020-2022 The Cagebreak Authors
* Copyright (C) 2018-2019 Jente Hidskes
*
* See the LICENSE file accompanying this file.

View file

@ -1,7 +1,7 @@
/*
* Cagebreak: A Wayland tiling compositor.
*
* Copyright (C) 2020 The Cagebreak Authors
* Copyright (C) 2020-2022 The Cagebreak Authors
* Copyright (C) 2018-2019 Jente Hidskes
*
* See the LICENSE file accompanying this file.
@ -119,22 +119,6 @@ popup_unconstrain(struct cg_xdg_popup *popup) {
wlr_xdg_popup_unconstrain_from_box(popup->wlr_popup, &output_toplevel_box);
}
static void
xdg_popup_get_coords(struct cg_view_child *child, int *x, int *y) {
if(!child) {
return;
}
struct cg_xdg_popup *popup = (struct cg_xdg_popup *)child;
struct wlr_xdg_surface *surface = popup->wlr_popup->base;
int x_offset = -surface->geometry.x;
int y_offset = -surface->geometry.y;
wlr_xdg_popup_get_toplevel_coords(
surface->popup, x_offset + surface->popup->geometry.x,
y_offset + surface->popup->geometry.y, x, y);
}
static void
xdg_popup_create(struct cg_view *view, struct wlr_xdg_popup *wlr_popup) {
struct cg_xdg_popup *popup = calloc(1, sizeof(struct cg_xdg_popup));
@ -143,7 +127,6 @@ xdg_popup_create(struct cg_view *view, struct wlr_xdg_popup *wlr_popup) {
}
popup->wlr_popup = wlr_popup;
popup->view_child.get_coords = xdg_popup_get_coords;
view_child_init(&popup->view_child, NULL, view, wlr_popup->base->surface);
popup->view_child.destroy = xdg_popup_destroy;
popup->destroy.notify = handle_xdg_popup_destroy;

View file

@ -1,7 +1,7 @@
/*
* Cagebreak: A Wayland tiling compositor.
*
* Copyright (C) 2020 The Cagebreak Authors
* Copyright (C) 2020-2022 The Cagebreak Authors
* Copyright (C) 2018-2020 Jente Hidskes
*
* See the LICENSE file accompanying this file.