add workaround for river wm rotation issue

This commit is contained in:
2026-08-02 21:30:41 +02:00
parent 44aca6d476
commit 9dba86f3ca
4 changed files with 202 additions and 7 deletions
+17
View File
@@ -63,6 +63,20 @@ struct att_output {
int32_t width, height; /* logical size from configure */
bool configured;
struct att_buffer buffers[2];
/* Output geometry as last advertised by wl_output. Only ever compared
* against the `cfg_*` snapshot below, never used to size a buffer: the
* buffer size must come from configure alone, and with fractional scale
* the integer wl_output.scale cannot reproduce the logical size anyway. */
int32_t mode_w, mode_h, transform;
/* Same four values as of the most recent configure. A difference means
* the output changed and the compositor has not reconfigured us. */
int32_t cfg_mode_w, cfg_mode_h, cfg_transform, cfg_scale;
/* Geometry we last recreated the lock surface for, so a compositor that
* ignores the recreate is nagged once rather than forever. */
int32_t retry_mode_w, retry_mode_h, retry_transform, retry_scale;
};
struct att_seat {
@@ -111,6 +125,9 @@ struct att {
int fail_count; /* failed unlock attempts, pattern or password */
int64_t lockout_until; /* CLOCK_MONOTONIC ms; 0 when not locked out */
/* CLOCK_MONOTONIC ms at which to re-examine output geometry, or 0. */
int64_t resize_recheck_at;
/* configuration */
const char *image_path;
const char *pam_service;