mirror of
https://cagebreak.project-repo.co/cagebreak.git
synced 2026-08-23 05:54:19 +02:00
Release 1.8.2
- Fix Issue 28 - Update year in copyright notices
This commit is contained in:
parent
f31509f4df
commit
a0ef72c6eb
25 changed files with 57 additions and 74 deletions
12
Bugs.md
12
Bugs.md
|
|
@ -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.
|
||||
|
|
|
|||
2
LICENSE
2
LICENSE
|
|
@ -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
|
||||
|
||||
|
|
|
|||
15
README.md
15
README.md
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
10
meson.build
10
meson.build
|
|
@ -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
|
||||
)
|
||||
|
|
|
|||
2
output.c
2
output.c
|
|
@ -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
render.c
2
render.c
|
|
@ -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
2
seat.c
|
|
@ -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.
|
||||
|
|
|
|||
2
server.c
2
server.c
|
|
@ -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.
|
||||
|
|
|
|||
BIN
signatures/1.8.1-cagebreak-config.5.sig
Normal file
BIN
signatures/1.8.1-cagebreak-config.5.sig
Normal file
Binary file not shown.
BIN
signatures/1.8.1-cagebreak.1.sig
Normal file
BIN
signatures/1.8.1-cagebreak.1.sig
Normal file
Binary file not shown.
BIN
signatures/1.8.2.sig
Normal file
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
2
util.c
|
|
@ -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
44
view.c
|
|
@ -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
1
view.h
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
19
xdg_shell.c
19
xdg_shell.c
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue