2019-05-30 13:59:25 +02:00
|
|
|
#ifndef KANSHI_CONFIG_H
|
|
|
|
#define KANSHI_CONFIG_H
|
|
|
|
|
2019-05-31 22:52:18 +02:00
|
|
|
#include <stdbool.h>
|
2019-05-30 14:18:15 +02:00
|
|
|
#include <wayland-client.h>
|
|
|
|
|
|
|
|
enum kanshi_output_field {
|
|
|
|
KANSHI_OUTPUT_ENABLED = 1 << 0,
|
|
|
|
KANSHI_OUTPUT_MODE = 1 << 1,
|
|
|
|
KANSHI_OUTPUT_POSITION = 1 << 2,
|
|
|
|
KANSHI_OUTPUT_SCALE = 1 << 3,
|
|
|
|
KANSHI_OUTPUT_TRANSFORM = 1 << 4,
|
|
|
|
};
|
2019-05-30 13:59:25 +02:00
|
|
|
|
|
|
|
struct kanshi_profile_output {
|
|
|
|
char *name;
|
2019-05-30 14:18:15 +02:00
|
|
|
unsigned int fields; // enum kanshi_output_field
|
|
|
|
struct wl_list link;
|
|
|
|
|
|
|
|
bool enabled;
|
|
|
|
struct {
|
|
|
|
int width, height;
|
|
|
|
int refresh; // mHz
|
|
|
|
} mode;
|
|
|
|
struct {
|
|
|
|
int x, y;
|
|
|
|
} position;
|
|
|
|
float scale;
|
|
|
|
enum wl_output_transform transform;
|
2019-05-30 13:59:25 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
struct kanshi_profile {
|
|
|
|
struct wl_list link;
|
2019-05-31 22:52:18 +02:00
|
|
|
// Wildcard outputs are stored at the end of the list
|
2019-05-30 13:59:25 +02:00
|
|
|
struct wl_list outputs;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct kanshi_config {
|
|
|
|
struct wl_list profiles;
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|