Standardise debug variables

This makes all debug options stored in a single struct rather than in
various places, changes/fixes the behaviour of existing options, and
introduces some new options.

* Fixes damage issues with `-Drender-tree` texture (by removing scissor)
* Offsets the render tree overlay's `y` position for those who have
swaybar at the top
* Replaces `-Ddamage=rerender` with `-Dnodamage`
* Replaces `-Ddamage=highlight` with `-Dhighlight-damage`
* Replaces `-Dtxn-debug` with `-Dtxn-wait`
* Introduces `-Dnoatomic`
* Removes the `create_time` and `ms_arranging` figures from transactions
and the log message. Transactions are created after arranging and the
create time is of no significance.
* Fixes `-Dtxn-debug` (now `-Dtxn-wait`) not working.
This commit is contained in:
Ryan Dwyer 2018-08-18 16:58:50 +10:00
parent 389d159c81
commit 8d1dd03823
7 changed files with 64 additions and 78 deletions

View file

@ -1,15 +1,18 @@
#ifndef SWAY_DEBUG_H
#define SWAY_DEBUG_H
#include <stdbool.h>
struct sway_debug {
bool highlight_damage; // Highlight regions of the screen being damaged
bool noatomic; // Ignore atomic layout updates
bool nodamage; // Render the full output on each frame
bool render_tree; // Render the tree overlay
bool txn_timings; // Log verbose messages about transactions
bool txn_wait; // Always wait for the timeout before applying
};
extern struct sway_debug debug;
// Tree
extern bool enable_debug_tree;
void update_debug_tree();
// Damage
extern const char *damage_debug;
// Transactions
extern int txn_timeout_ms;
extern bool txn_debug;
#endif

View file

@ -54,8 +54,7 @@ struct sway_server {
struct wl_listener server_decoration;
struct wl_list decorations; // sway_server_decoration::link
bool debug_txn_timings;
size_t txn_timeout_ms;
list_t *transactions;
list_t *dirty_containers;
};