rofi  1.7.3
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 {
110 
111 typedef struct RofiDistanceUnit {
113  double distance;
116 
119 
122 
126 
127 typedef struct {
132 } RofiDistance;
133 
137 typedef enum {
141 
145 typedef enum {
150 
154 typedef struct {
156  double red;
158  double green;
160  double blue;
162  double alpha;
163 } ThemeColor;
164 
169 
170 typedef enum {
176 } RofiDirection;
177 
178 typedef enum {
183 } RofiScaleType;
184 
185 typedef struct {
187  char *url;
189  int wsize;
190  int hsize;
191 
193  double angle;
195  GList *colors;
196 
198  uint32_t surface_id;
199 
200 } RofiImage;
201 
205 typedef struct {
210 } RofiPadding;
211 
215 typedef struct {
221 
231 typedef enum {
235  WL_NORTH = 1,
237  WL_EAST = 2,
239  WL_SOUTH = 4,
241  WL_WEST = 8,
251 
252 typedef union _PropertyValue {
254  int i;
256  double f;
258  char *s;
260  char c;
262  gboolean b;
268  struct {
270  char *name;
272  struct Property *ref;
275  } link;
281  GList *list;
283 
287 typedef struct Property {
289  char *name;
295 
299 typedef struct rofi_range_pair {
300  int start;
301  int stop;
303 
307 typedef struct rofi_int_matcher_t {
308  GRegex *regex;
309  gboolean invert;
311 
316 typedef struct _thread_state {
317  void (*callback)(struct _thread_state *t, gpointer data);
319 
320 extern GThreadPool *tpool;
321 
322 G_END_DECLS
323 #endif // INCLUDE_ROFI_TYPES_H
rofi_range_pair
Definition: rofi-types.h:299
_PropertyValue
Definition: rofi-types.h:252
rofi_range_pair
struct rofi_range_pair rofi_range_pair
P_PADDING
@ P_PADDING
Definition: rofi-types.h:26
ROFI_HL_COLOR
@ ROFI_HL_COLOR
Definition: rofi-types.h:66
PropertyType
PropertyType
Definition: rofi-types.h:10
thread_state
struct _thread_state thread_state
RofiImage::type
RofiImageType type
Definition: rofi-types.h:186
ThemeColor::green
double green
Definition: rofi-types.h:158
_thread_state
Definition: rofi-types.h:316
ThemeColor
Definition: rofi-types.h:154
_PropertyValue::list
GList * list
Definition: rofi-types.h:281
_PropertyValue::link
struct _PropertyValue::@6 link
ROFI_DISTANCE_MODIFIER_DIVIDE
@ ROFI_DISTANCE_MODIFIER_DIVIDE
Definition: rofi-types.h:100
PropertyTypeName
const char *const PropertyTypeName[P_NUM_TYPES]
Definition: rofi-types.c:6
ROFI_IMAGE_URL
@ ROFI_IMAGE_URL
Definition: rofi-types.h:168
_PropertyValue::padding
RofiPadding padding
Definition: rofi-types.h:266
RofiDistanceUnit::right
struct RofiDistanceUnit * right
Definition: rofi-types.h:124
ROFI_ORIENTATION_VERTICAL
@ ROFI_ORIENTATION_VERTICAL
Definition: rofi-types.h:138
RofiDistance::style
RofiLineStyle style
Definition: rofi-types.h:131
RofiLineStyle
RofiLineStyle
Definition: rofi-types.h:70
RofiHighlightColorStyle::color
ThemeColor color
Definition: rofi-types.h:219
_PropertyValue::highlight
RofiHighlightColorStyle highlight
Definition: rofi-types.h:277
RofiImage::dir
RofiDirection dir
Definition: rofi-types.h:192
P_INTEGER
@ P_INTEGER
Definition: rofi-types.h:12
P_NUM_TYPES
@ P_NUM_TYPES
Definition: rofi-types.h:42
rofi_int_matcher_t
Definition: rofi-types.h:307
RofiDistanceModifier
RofiDistanceModifier
Definition: rofi-types.h:96
ThemeColor::blue
double blue
Definition: rofi-types.h:160
ROFI_DIRECTION_LEFT
@ ROFI_DIRECTION_LEFT
Definition: rofi-types.h:171
RofiImageType
RofiImageType
Definition: rofi-types.h:168
RofiScaleType
RofiScaleType
Definition: rofi-types.h:178
ROFI_SCALE_NONE
@ ROFI_SCALE_NONE
Definition: rofi-types.h:179
ROFI_DIRECTION_TOP
@ ROFI_DIRECTION_TOP
Definition: rofi-types.h:173
_PropertyValue::ref
struct Property * ref
Definition: rofi-types.h:272
Property
struct Property Property
WL_EAST
@ WL_EAST
Definition: rofi-types.h:237
rofi_range_pair::start
int start
Definition: rofi-types.h:300
ROFI_PU_EM
@ ROFI_PU_EM
Definition: rofi-types.h:86
RofiImage::wsize
int wsize
Definition: rofi-types.h:189
ThemeColor::red
double red
Definition: rofi-types.h:156
ROFI_DISTANCE_MODIFIER_MIN
@ ROFI_DISTANCE_MODIFIER_MIN
Definition: rofi-types.h:104
P_HIGHLIGHT
@ P_HIGHLIGHT
Definition: rofi-types.h:32
rofi_int_matcher
struct rofi_int_matcher_t rofi_int_matcher
ROFI_DISTANCE_MODIFIER_NONE
@ ROFI_DISTANCE_MODIFIER_NONE
Definition: rofi-types.h:97
_thread_state::callback
void(* callback)(struct _thread_state *t, gpointer data)
Definition: rofi-types.h:317
WL_NORTH_EAST
@ WL_NORTH_EAST
Definition: rofi-types.h:245
P_POSITION
@ P_POSITION
Definition: rofi-types.h:30
RofiImage::hsize
int hsize
Definition: rofi-types.h:190
WL_SOUTH_WEST
@ WL_SOUTH_WEST
Definition: rofi-types.h:249
P_LIST
@ P_LIST
Definition: rofi-types.h:34
P_BOOLEAN
@ P_BOOLEAN
Definition: rofi-types.h:20
ROFI_DISTANCE_MODIFIER_CEIL
@ ROFI_DISTANCE_MODIFIER_CEIL
Definition: rofi-types.h:108
ROFI_CURSOR_TEXT
@ ROFI_CURSOR_TEXT
Definition: rofi-types.h:148
RofiDistanceUnit::modtype
RofiDistanceModifier modtype
Definition: rofi-types.h:118
ROFI_HL_ITALIC
@ ROFI_HL_ITALIC
Definition: rofi-types.h:64
ROFI_HL_SMALL_CAPS
@ ROFI_HL_SMALL_CAPS
Definition: rofi-types.h:62
_PropertyValue::def_value
struct Property * def_value
Definition: rofi-types.h:274
ROFI_DISTANCE_MODIFIER_GROUP
@ ROFI_DISTANCE_MODIFIER_GROUP
Definition: rofi-types.h:103
RofiDistance
Definition: rofi-types.h:127
ROFI_HL_UNDERLINE
@ ROFI_HL_UNDERLINE
Definition: rofi-types.h:58
ROFI_DISTANCE_MODIFIER_ADD
@ ROFI_DISTANCE_MODIFIER_ADD
Definition: rofi-types.h:98
RofiDistanceUnit::distance
double distance
Definition: rofi-types.h:113
WL_CENTER
@ WL_CENTER
Definition: rofi-types.h:233
ROFI_DISTANCE_MODIFIER_SUBTRACT
@ ROFI_DISTANCE_MODIFIER_SUBTRACT
Definition: rofi-types.h:99
ROFI_SCALE_BOTH
@ ROFI_SCALE_BOTH
Definition: rofi-types.h:180
RofiHighlightColorStyle::style
RofiHighlightStyle style
Definition: rofi-types.h:217
P_CHAR
@ P_CHAR
Definition: rofi-types.h:18
_PropertyValue::name
char * name
Definition: rofi-types.h:270
Property
Definition: rofi-types.h:287
P_ORIENTATION
@ P_ORIENTATION
Definition: rofi-types.h:36
ROFI_PU_MM
@ ROFI_PU_MM
Definition: rofi-types.h:84
RofiPadding
Definition: rofi-types.h:205
_PropertyValue::s
char * s
Definition: rofi-types.h:258
RofiImage::scaling
RofiScaleType scaling
Definition: rofi-types.h:188
rofi_range_pair::stop
int stop
Definition: rofi-types.h:301
ROFI_HL_STRIKETHROUGH
@ ROFI_HL_STRIKETHROUGH
Definition: rofi-types.h:60
WL_WEST
@ WL_WEST
Definition: rofi-types.h:241
WL_SOUTH_EAST
@ WL_SOUTH_EAST
Definition: rofi-types.h:247
PropertyValue
union _PropertyValue PropertyValue
ROFI_DISTANCE_MODIFIER_MAX
@ ROFI_DISTANCE_MODIFIER_MAX
Definition: rofi-types.h:105
RofiImage
Definition: rofi-types.h:185
ROFI_SCALE_HEIGHT
@ ROFI_SCALE_HEIGHT
Definition: rofi-types.h:181
P_DOUBLE
@ P_DOUBLE
Definition: rofi-types.h:14
rofi_int_matcher_t::invert
gboolean invert
Definition: rofi-types.h:309
tpool
GThreadPool * tpool
Definition: view.c:83
Property::type
PropertyType type
Definition: rofi-types.h:291
RofiPixelUnit
RofiPixelUnit
Definition: rofi-types.h:80
WL_SOUTH
@ WL_SOUTH
Definition: rofi-types.h:239
P_STRING
@ P_STRING
Definition: rofi-types.h:16
ROFI_SCALE_WIDTH
@ ROFI_SCALE_WIDTH
Definition: rofi-types.h:182
P_CURSOR
@ P_CURSOR
Definition: rofi-types.h:38
_PropertyValue::i
int i
Definition: rofi-types.h:254
ROFI_DIRECTION_BOTTOM
@ ROFI_DIRECTION_BOTTOM
Definition: rofi-types.h:174
ROFI_HL_SOLID
@ ROFI_HL_SOLID
Definition: rofi-types.h:72
ThemeColor::alpha
double alpha
Definition: rofi-types.h:162
RofiPadding::right
RofiDistance right
Definition: rofi-types.h:207
RofiDistanceUnit
struct RofiDistanceUnit RofiDistanceUnit
WL_NORTH
@ WL_NORTH
Definition: rofi-types.h:235
WindowLocation
WindowLocation
Definition: rofi-types.h:231
_PropertyValue::b
gboolean b
Definition: rofi-types.h:262
ROFI_PU_PERCENT
@ ROFI_PU_PERCENT
Definition: rofi-types.h:88
ROFI_CURSOR_DEFAULT
@ ROFI_CURSOR_DEFAULT
Definition: rofi-types.h:146
RofiPadding::left
RofiDistance left
Definition: rofi-types.h:209
Property::value
PropertyValue value
Definition: rofi-types.h:293
Property::name
char * name
Definition: rofi-types.h:289
_PropertyValue::image
RofiImage image
Definition: rofi-types.h:279
RofiPadding::top
RofiDistance top
Definition: rofi-types.h:206
ROFI_DISTANCE_MODIFIER_ROUND
@ ROFI_DISTANCE_MODIFIER_ROUND
Definition: rofi-types.h:106
P_INHERIT
@ P_INHERIT
Definition: rofi-types.h:40
RofiHighlightStyle
RofiHighlightStyle
Definition: rofi-types.h:52
RofiCursorType
RofiCursorType
Definition: rofi-types.h:145
WL_NORTH_WEST
@ WL_NORTH_WEST
Definition: rofi-types.h:243
_PropertyValue::color
ThemeColor color
Definition: rofi-types.h:264
ROFI_DISTANCE_MODIFIER_FLOOR
@ ROFI_DISTANCE_MODIFIER_FLOOR
Definition: rofi-types.h:107
rofi_int_matcher_t::regex
GRegex * regex
Definition: rofi-types.h:308
RofiImage::url
char * url
Definition: rofi-types.h:187
ROFI_IMAGE_LINEAR_GRADIENT
@ ROFI_IMAGE_LINEAR_GRADIENT
Definition: rofi-types.h:168
ROFI_HL_NONE
@ ROFI_HL_NONE
Definition: rofi-types.h:54
RofiDirection
RofiDirection
Definition: rofi-types.h:170
ROFI_HL_BOLD
@ ROFI_HL_BOLD
Definition: rofi-types.h:56
RofiPadding::bottom
RofiDistance bottom
Definition: rofi-types.h:208
P_IMAGE
@ P_IMAGE
Definition: rofi-types.h:24
ROFI_DISTANCE_MODIFIER_MODULO
@ ROFI_DISTANCE_MODIFIER_MODULO
Definition: rofi-types.h:102
ROFI_DIRECTION_RIGHT
@ ROFI_DIRECTION_RIGHT
Definition: rofi-types.h:172
ROFI_DIRECTION_ANGLE
@ ROFI_DIRECTION_ANGLE
Definition: rofi-types.h:175
RofiImage::colors
GList * colors
Definition: rofi-types.h:195
P_LINK
@ P_LINK
Definition: rofi-types.h:28
RofiHighlightColorStyle
Definition: rofi-types.h:215
_PropertyValue::f
double f
Definition: rofi-types.h:256
_PropertyValue::c
char c
Definition: rofi-types.h:260
ROFI_PU_PX
@ ROFI_PU_PX
Definition: rofi-types.h:82
RofiDistance::base
RofiDistanceUnit base
Definition: rofi-types.h:129
ROFI_CURSOR_POINTER
@ ROFI_CURSOR_POINTER
Definition: rofi-types.h:147
ROFI_ORIENTATION_HORIZONTAL
@ ROFI_ORIENTATION_HORIZONTAL
Definition: rofi-types.h:139
RofiOrientation
RofiOrientation
Definition: rofi-types.h:137
RofiDistanceUnit::type
RofiPixelUnit type
Definition: rofi-types.h:115
P_COLOR
@ P_COLOR
Definition: rofi-types.h:22
ROFI_HL_DASH
@ ROFI_HL_DASH
Definition: rofi-types.h:74
RofiDistanceUnit::left
struct RofiDistanceUnit * left
Definition: rofi-types.h:121
RofiDistanceUnit
Definition: rofi-types.h:111
RofiImage::surface_id
uint32_t surface_id
Definition: rofi-types.h:198
ROFI_DISTANCE_MODIFIER_MULTIPLY
@ ROFI_DISTANCE_MODIFIER_MULTIPLY
Definition: rofi-types.h:101
RofiImage::angle
double angle
Definition: rofi-types.h:193
ROFI_PU_CH
@ ROFI_PU_CH
Definition: rofi-types.h:90