rofi  1.7.0
rofi-types.h
Go to the documentation of this file.
1 #ifndef INCLUDE_ROFI_TYPES_H
2 #define INCLUDE_ROFI_TYPES_H
3 #include <glib.h>
4 #include <stdint.h>
5 G_BEGIN_DECLS
6 
10 typedef enum {
43 } PropertyType;
44 
49 extern const char *const PropertyTypeName[P_NUM_TYPES];
50 
52 typedef enum {
66  ROFI_HL_COLOR = 8
68 
70 typedef enum {
76 
80 typedef enum {
92 
96 typedef enum {
107 
108 typedef struct RofiDistanceUnit {
110  double distance;
113 
116 
119 
123 
124 typedef struct {
129 } RofiDistance;
130 
134 typedef enum {
138 
142 typedef enum {
147 
151 typedef struct {
153  double red;
155  double green;
157  double blue;
159  double alpha;
160 } ThemeColor;
161 
166 
167 typedef enum {
173 } RofiDirection;
174 
175 typedef enum {
180 } RofiScaleType;
181 
182 typedef struct {
184  char *url;
186  int wsize;
187  int hsize;
188 
190  double angle;
192  GList *colors;
193 
195  uint32_t surface_id;
196 
197 } RofiImage;
198 
202 typedef struct {
207 } RofiPadding;
208 
212 typedef struct {
218 
228 typedef enum {
232  WL_NORTH = 1,
234  WL_EAST = 2,
236  WL_SOUTH = 4,
238  WL_WEST = 8,
248 
249 typedef union _PropertyValue {
251  int i;
253  double f;
255  char *s;
257  char c;
259  gboolean b;
265  struct {
267  char *name;
269  struct Property *ref;
272  } link;
278  GList *list;
280 
284 typedef struct Property {
286  char *name;
292 
296 typedef struct rofi_range_pair {
297  int start;
298  int stop;
300 
304 typedef struct rofi_int_matcher_t {
305  GRegex *regex;
306  gboolean invert;
308 
313 typedef struct _thread_state {
314  void (*callback)(struct _thread_state *t, gpointer data);
316 
317 extern GThreadPool *tpool;
318 
319 G_END_DECLS
320 #endif // INCLUDE_ROFI_TYPES_H
WindowLocation
Definition: rofi-types.h:228
@ WL_SOUTH_EAST
Definition: rofi-types.h:244
@ WL_CENTER
Definition: rofi-types.h:230
@ WL_NORTH_WEST
Definition: rofi-types.h:240
@ WL_SOUTH
Definition: rofi-types.h:236
@ WL_NORTH_EAST
Definition: rofi-types.h:242
@ WL_WEST
Definition: rofi-types.h:238
@ WL_NORTH
Definition: rofi-types.h:232
@ WL_EAST
Definition: rofi-types.h:234
@ WL_SOUTH_WEST
Definition: rofi-types.h:246
struct rofi_range_pair rofi_range_pair
struct Property Property
RofiImageType
Definition: rofi-types.h:165
@ ROFI_IMAGE_URL
Definition: rofi-types.h:165
@ ROFI_IMAGE_LINEAR_GRADIENT
Definition: rofi-types.h:165
RofiDirection
Definition: rofi-types.h:167
@ ROFI_DIRECTION_LEFT
Definition: rofi-types.h:168
@ ROFI_DIRECTION_RIGHT
Definition: rofi-types.h:169
@ ROFI_DIRECTION_BOTTOM
Definition: rofi-types.h:171
@ ROFI_DIRECTION_TOP
Definition: rofi-types.h:170
@ ROFI_DIRECTION_ANGLE
Definition: rofi-types.h:172
PropertyType
Definition: rofi-types.h:10
@ P_INTEGER
Definition: rofi-types.h:12
@ P_NUM_TYPES
Definition: rofi-types.h:42
@ P_INHERIT
Definition: rofi-types.h:40
@ P_HIGHLIGHT
Definition: rofi-types.h:32
@ P_LINK
Definition: rofi-types.h:28
@ P_CHAR
Definition: rofi-types.h:18
@ P_IMAGE
Definition: rofi-types.h:24
@ P_PADDING
Definition: rofi-types.h:26
@ P_LIST
Definition: rofi-types.h:34
@ P_BOOLEAN
Definition: rofi-types.h:20
@ P_COLOR
Definition: rofi-types.h:22
@ P_CURSOR
Definition: rofi-types.h:38
@ P_DOUBLE
Definition: rofi-types.h:14
@ P_ORIENTATION
Definition: rofi-types.h:36
@ P_STRING
Definition: rofi-types.h:16
@ P_POSITION
Definition: rofi-types.h:30
RofiPixelUnit
Definition: rofi-types.h:80
@ ROFI_PU_EM
Definition: rofi-types.h:86
@ ROFI_PU_CH
Definition: rofi-types.h:90
@ ROFI_PU_PX
Definition: rofi-types.h:82
@ ROFI_PU_MM
Definition: rofi-types.h:84
@ ROFI_PU_PERCENT
Definition: rofi-types.h:88
struct rofi_int_matcher_t rofi_int_matcher
struct RofiDistanceUnit RofiDistanceUnit
RofiOrientation
Definition: rofi-types.h:134
@ ROFI_ORIENTATION_HORIZONTAL
Definition: rofi-types.h:136
@ ROFI_ORIENTATION_VERTICAL
Definition: rofi-types.h:135
const char *const PropertyTypeName[P_NUM_TYPES]
Definition: rofi-types.c:6
union _PropertyValue PropertyValue
GThreadPool * tpool
Definition: view.c:83
RofiDistanceModifier
Definition: rofi-types.h:96
@ ROFI_DISTANCE_MODIFIER_GROUP
Definition: rofi-types.h:103
@ ROFI_DISTANCE_MODIFIER_SUBTRACT
Definition: rofi-types.h:99
@ ROFI_DISTANCE_MODIFIER_MODULO
Definition: rofi-types.h:102
@ ROFI_DISTANCE_MODIFIER_MULTIPLY
Definition: rofi-types.h:101
@ ROFI_DISTANCE_MODIFIER_MAX
Definition: rofi-types.h:105
@ ROFI_DISTANCE_MODIFIER_MIN
Definition: rofi-types.h:104
@ ROFI_DISTANCE_MODIFIER_DIVIDE
Definition: rofi-types.h:100
@ ROFI_DISTANCE_MODIFIER_ADD
Definition: rofi-types.h:98
@ ROFI_DISTANCE_MODIFIER_NONE
Definition: rofi-types.h:97
RofiLineStyle
Definition: rofi-types.h:70
@ ROFI_HL_SOLID
Definition: rofi-types.h:72
@ ROFI_HL_DASH
Definition: rofi-types.h:74
RofiScaleType
Definition: rofi-types.h:175
@ ROFI_SCALE_HEIGHT
Definition: rofi-types.h:178
@ ROFI_SCALE_NONE
Definition: rofi-types.h:176
@ ROFI_SCALE_BOTH
Definition: rofi-types.h:177
@ ROFI_SCALE_WIDTH
Definition: rofi-types.h:179
RofiCursorType
Definition: rofi-types.h:142
@ ROFI_CURSOR_POINTER
Definition: rofi-types.h:144
@ ROFI_CURSOR_TEXT
Definition: rofi-types.h:145
@ ROFI_CURSOR_DEFAULT
Definition: rofi-types.h:143
struct _thread_state thread_state
RofiHighlightStyle
Definition: rofi-types.h:52
@ ROFI_HL_STRIKETHROUGH
Definition: rofi-types.h:60
@ ROFI_HL_SMALL_CAPS
Definition: rofi-types.h:62
@ ROFI_HL_NONE
Definition: rofi-types.h:54
@ ROFI_HL_ITALIC
Definition: rofi-types.h:64
@ ROFI_HL_UNDERLINE
Definition: rofi-types.h:58
@ ROFI_HL_BOLD
Definition: rofi-types.h:56
@ ROFI_HL_COLOR
Definition: rofi-types.h:66
PropertyValue value
Definition: rofi-types.h:290
PropertyType type
Definition: rofi-types.h:288
char * name
Definition: rofi-types.h:286
RofiDistanceModifier modtype
Definition: rofi-types.h:115
RofiPixelUnit type
Definition: rofi-types.h:112
struct RofiDistanceUnit * right
Definition: rofi-types.h:121
struct RofiDistanceUnit * left
Definition: rofi-types.h:118
RofiDistanceUnit base
Definition: rofi-types.h:126
RofiLineStyle style
Definition: rofi-types.h:128
RofiHighlightStyle style
Definition: rofi-types.h:214
RofiDirection dir
Definition: rofi-types.h:189
RofiImageType type
Definition: rofi-types.h:183
double angle
Definition: rofi-types.h:190
uint32_t surface_id
Definition: rofi-types.h:195
char * url
Definition: rofi-types.h:184
RofiScaleType scaling
Definition: rofi-types.h:185
GList * colors
Definition: rofi-types.h:192
RofiDistance bottom
Definition: rofi-types.h:205
RofiDistance top
Definition: rofi-types.h:203
RofiDistance right
Definition: rofi-types.h:204
RofiDistance left
Definition: rofi-types.h:206
double blue
Definition: rofi-types.h:157
double green
Definition: rofi-types.h:155
double red
Definition: rofi-types.h:153
double alpha
Definition: rofi-types.h:159
void(* callback)(struct _thread_state *t, gpointer data)
Definition: rofi-types.h:314
struct _PropertyValue::@6 link
ThemeColor color
Definition: rofi-types.h:261
struct Property * ref
Definition: rofi-types.h:269
RofiHighlightColorStyle highlight
Definition: rofi-types.h:274
struct Property * def_value
Definition: rofi-types.h:271
GList * list
Definition: rofi-types.h:278
RofiImage image
Definition: rofi-types.h:276
gboolean b
Definition: rofi-types.h:259
RofiPadding padding
Definition: rofi-types.h:263