mirror of
https://github.com/emersion/kanshi
synced 2024-11-26 14:03:46 +01:00
50 lines
880 B
C
50 lines
880 B
C
#ifndef KANSHI_CONFIG_H
|
|
#define KANSHI_CONFIG_H
|
|
|
|
#include <stdbool.h>
|
|
#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,
|
|
};
|
|
|
|
struct kanshi_profile_output {
|
|
char *name;
|
|
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;
|
|
};
|
|
|
|
struct kanshi_profile_command {
|
|
struct wl_list link;
|
|
char *command;
|
|
};
|
|
|
|
struct kanshi_profile {
|
|
struct wl_list link;
|
|
char *name;
|
|
// Wildcard outputs are stored at the end of the list
|
|
struct wl_list outputs;
|
|
struct wl_list commands;
|
|
};
|
|
|
|
struct kanshi_config {
|
|
struct wl_list profiles;
|
|
};
|
|
|
|
#endif
|