mirror of
https://github.com/cage-kiosk/cage.git
synced 2025-10-29 05:40:19 -04:00
Put damage tracking debugging behind a flag
This commit is contained in:
parent
e981cb8a1c
commit
667667505a
3 changed files with 49 additions and 6 deletions
42
cage.c
42
cage.c
|
|
@ -10,6 +10,7 @@
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
|
#include <getopt.h>
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
@ -97,6 +98,42 @@ handle_signal(int signal, void *data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
usage(FILE *file, const char *cage)
|
||||||
|
{
|
||||||
|
fprintf(file, "Usage: %s APPLICATION\n"
|
||||||
|
"\n"
|
||||||
|
" -D\t Turn on damage tracking debugging\n"
|
||||||
|
" -h\t Display this help message\n",
|
||||||
|
cage);
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool
|
||||||
|
parse_args(struct cg_server *server, int argc, char *argv[])
|
||||||
|
{
|
||||||
|
int c;
|
||||||
|
while ((c = getopt(argc, argv, "hD")) != -1) {
|
||||||
|
switch (c) {
|
||||||
|
case 'D':
|
||||||
|
server->debug_damage_tracking = true;
|
||||||
|
break;
|
||||||
|
case 'h':
|
||||||
|
usage(stdout, argv[0]);
|
||||||
|
return false;
|
||||||
|
default:
|
||||||
|
usage(stderr, argv[0]);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (optind == 0) {
|
||||||
|
usage(stderr, argv[0]);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
main(int argc, char *argv[])
|
main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
|
|
@ -112,8 +149,7 @@ main(int argc, char *argv[])
|
||||||
#endif
|
#endif
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
if (argc < 2) {
|
if (!parse_args(&server, argc, argv)) {
|
||||||
printf("Usage: %s APPLICATION\n", argv[0]);
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -259,7 +295,7 @@ main(int argc, char *argv[])
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
pid_t pid;
|
pid_t pid;
|
||||||
if (!spawn_primary_client(argv + 1, &pid)) {
|
if (!spawn_primary_client(argv + optind, &pid)) {
|
||||||
ret = 1;
|
ret = 1;
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
9
output.c
9
output.c
|
|
@ -219,8 +219,9 @@ handle_output_damage_frame(struct wl_listener *listener, void *data)
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
// TODO: guard this behind a flag.
|
if (output->server->debug_damage_tracking) {
|
||||||
wlr_renderer_clear(renderer, (float[]){1, 0, 0, 1});
|
wlr_renderer_clear(renderer, (float[]){1, 0, 0, 1});
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
float color[4] = {0.3, 0.3, 0.3, 1.0};
|
float color[4] = {0.3, 0.3, 0.3, 1.0};
|
||||||
|
|
@ -255,7 +256,9 @@ handle_output_damage_frame(struct wl_listener *listener, void *data)
|
||||||
wlr_renderer_end(renderer);
|
wlr_renderer_end(renderer);
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
pixman_region32_union_rect(&damage, &damage, 0, 0, output_width, output_height);
|
if (output->server->debug_damage_tracking) {
|
||||||
|
pixman_region32_union_rect(&damage, &damage, 0, 0, output_width, output_height);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
enum wl_output_transform transform = wlr_output_transform_invert(output->wlr_output->transform);
|
enum wl_output_transform transform = wlr_output_transform_invert(output->wlr_output->transform);
|
||||||
|
|
|
||||||
4
server.h
4
server.h
|
|
@ -36,6 +36,10 @@ struct cg_server {
|
||||||
#if CAGE_HAS_XWAYLAND
|
#if CAGE_HAS_XWAYLAND
|
||||||
struct wl_listener new_xwayland_surface;
|
struct wl_listener new_xwayland_surface;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef DEBUG
|
||||||
|
bool debug_damage_tracking;
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
void set_window_title(struct cg_server *server, struct cg_view *view);
|
void set_window_title(struct cg_server *server, struct cg_view *view);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue