brewery
notashelf /
ebdc3fe08e4cdde737abc0080b067fd6c86e093c

chroma

public

Lightweight wallpaper daemon for Wayland

Star0tarball
clone
ssh://git@git.notashelf.dev:33/notashelf/chroma.git

Commit ebdc3fe08e4c

tarball

NotAShelf <raf@notashelf.dev> · 2026-06-19 16:54 UTC

unverified2 files changed+20-0
utils: add transform-aware output dimension helpers

Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I145c40a4231c6f211da122ac1137f2f76a6a6964
diff --git a/include/chroma.h b/include/chroma.hindex 9c1c9ef..08ff520 100644--- a/include/chroma.h+++ b/include/chroma.h@@ -238,6 +238,9 @@ void chroma_output_remove(chroma_state_t *state, uint32_t id); chroma_output_t *chroma_output_find_by_id(chroma_state_t *state, uint32_t id); chroma_output_t *chroma_output_find_by_name(chroma_state_t *state,                                             const char *name);+// Output methods+int32_t chroma_output_width(chroma_output_t* output);+int32_t chroma_output_height(chroma_output_t* output);  // Output event handlers void chroma_output_geometry(void *data, struct wl_output *output, int32_t x,@@ -253,6 +256,7 @@ void chroma_output_description(void *data, struct wl_output *output,                                const char *description); void chroma_output_done(void *data, struct wl_output *output); + // Rendering and surface management int chroma_surface_create(chroma_state_t *state, chroma_output_t *output); void chroma_surface_destroy(chroma_output_t *output);diff --git a/src/utils.c b/src/utils.cindex 72468b4..3eeb360 100644--- a/src/utils.c+++ b/src/utils.c@@ -491,3 +491,19 @@ void chroma_format_memory_size(size_t bytes, char *buffer, size_t buffer_size) {  // Cleanup utility functions void chroma_utils_cleanup(void) { chroma_cleanup_signals(); }++// Returns width of monitor accounting for transform+int32_t chroma_output_width(chroma_output_t *output) {+  if (output->transform & 1)+    return output->height;+  else+    return output->width;+}++// Returns height of monitor accounting for transform+int32_t chroma_output_height(chroma_output_t *output) {+  if (output->transform & 1)+    return output->width;+  else+    return output->height;+}