summaryrefslogtreecommitdiff
path: root/lib/river/include/astal-river.h.in
blob: 19d295e30cc55c525f972e2386bfde75468e675d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#ifndef ASTAL_RIVER_H
#define ASTAL_RIVER_H

#include <glib-object.h>


#define ASTAL_RIVER_MAJOR_VERSION @MAJOR_VERSION@
#define ASTAL_RIVER_MINOR_VERSION @MINOR_VERSION@
#define ASTAL_RIVER_MICRO_VERSION @MICRO_VERSION@
#define ASTAL_RIVER_VERSION "@VERSION@"


G_BEGIN_DECLS

GType astal_river_transform_get_type();
#define ASTAL_RIVER_TYPE_TRANSFORM (astal_river_transform_get_type())

typedef enum {
    ASTAL_RIVER_TRANSFORM_NORMAL,
    ASTAL_RIVER_TRANSFORM_ROTATE_90_DEG,
    ASTAL_RIVER_TRANSFORM_ROTATE_180_DEG,
    ASTAL_RIVER_TRANSFORM_ROTATE_270_DEG,
    ASTAL_RIVER_TRANSFORM_FLIPPED,
    ASTAL_RIVER_TRANSFORM_FLIPPED_ROTATE_90_DEG,
    ASTAL_RIVER_TRANSFORM_FLIPPED_ROTATE_180_DEG,
    ASTAL_RIVER_TRANSFORM_FLIPPED_ROTATE_270_DEG
} AstalRiverTransform;


#define ASTAL_RIVER_TYPE_OUTPUT (astal_river_output_get_type())

G_DECLARE_FINAL_TYPE(AstalRiverOutput, astal_river_output, ASTAL_RIVER, OUTPUT, GObject)

guint astal_river_output_get_id(AstalRiverOutput *self);

gchar *astal_river_output_get_name(AstalRiverOutput *self);

gchar *astal_river_output_get_layout_name(AstalRiverOutput *self);

gchar *astal_river_output_get_focused_view(AstalRiverOutput *self);

guint astal_river_output_get_focused_tags(AstalRiverOutput *self);

void astal_river_output_set_focused_tags(AstalRiverOutput* self, guint tags);

guint astal_river_output_get_urgent_tags(AstalRiverOutput *self);

guint astal_river_output_get_occupied_tags(AstalRiverOutput *self);

const gchar* astal_river_output_get_description(AstalRiverOutput* self);
const gchar* astal_river_output_get_make(AstalRiverOutput* self);
const gchar* astal_river_output_get_model(AstalRiverOutput* self);

gint astal_river_output_get_x(AstalRiverOutput* self);
gint astal_river_output_get_y(AstalRiverOutput* self);
gint astal_river_output_get_width(AstalRiverOutput* self);
gint astal_river_output_get_height(AstalRiverOutput* self);
gint astal_river_output_get_physical_width(AstalRiverOutput* self);
gint astal_river_output_get_physical_height(AstalRiverOutput* self);
gint astal_river_output_get_scale_factor(AstalRiverOutput* self);
gdouble astal_river_output_get_refresh_rate(AstalRiverOutput* self);


#define ASTAL_RIVER_TYPE_RIVER (astal_river_river_get_type())

G_DECLARE_FINAL_TYPE(AstalRiverRiver, astal_river_river, ASTAL_RIVER, RIVER, GObject)

AstalRiverRiver *astal_river_river_new();

AstalRiverRiver *astal_river_river_get_default();
AstalRiverRiver *astal_river_get_default();

GList *astal_river_river_get_outputs(AstalRiverRiver *self);

AstalRiverOutput *astal_river_river_get_output(AstalRiverRiver *self, gchar *name);

gchar *astal_river_river_get_focused_view(AstalRiverRiver *self);

gchar *astal_river_river_get_focused_output(AstalRiverRiver *self);

gchar *astal_river_river_get_mode(AstalRiverRiver *self);

/**
 * AstalRiverCommandCallback:
 * @success: a #gboolean indicating whether the command was executed successfully
 * @msg: a string containing the result of the command
 *
 * A callback function that is called after a river command is run.
 */
typedef void (*AstalRiverCommandCallback)(gboolean success, const gchar *msg);

void astal_river_river_run_command_async(AstalRiverRiver *self, gint length, const gchar **cmd,
                                         AstalRiverCommandCallback callback);

G_END_DECLS

#endif  // !ASTAL_RIVER_H