1
0
Fork 0
mirror of https://github.com/davatorium/rofi.git synced 2024-11-11 13:50:48 -05:00
rofi/include/settings.h

139 lines
3.7 KiB
C
Raw Normal View History

2016-01-07 10:01:56 -05:00
#ifndef ROFI_SETTINGS_H
#define ROFI_SETTINGS_H
#include <glib.h>
/**
* Enumeration indicating the matching method to use.
*
* @ingroup CONFIGURATION
*/
typedef enum
{
MM_NORMAL = 0,
MM_REGEX = 1,
MM_GLOB = 2,
MM_FUZZY = 3
} MatchingMethod;
2016-01-07 10:01:56 -05:00
/**
* Enumeration indicating location or gravity of window.
*
* \verbatim WL_NORTH_WEST WL_NORTH WL_NORTH_EAST \endverbatim
* \verbatim WL_EAST WL_CENTER WL_EAST \endverbatim
* \verbatim WL_SOUTH_WEST WL_SOUTH WL_SOUTH_EAST\endverbatim
*
* @ingroup CONFIGURATION
*/
2016-03-24 17:13:19 -04:00
typedef enum
2016-01-07 10:01:56 -05:00
{
/** Center */
WL_CENTER = 0,
/** Left top corner. */
WL_NORTH_WEST = 1,
/** Top middle */
WL_NORTH = 2,
/** Top right */
WL_NORTH_EAST = 3,
/** Middle right */
WL_EAST = 4,
/** Bottom right */
WL_SOUTH_EAST = 5,
2016-01-07 10:01:56 -05:00
/** Bottom middle */
WL_SOUTH = 6,
/** Bottom left */
WL_SOUTH_WEST = 7,
/** Middle left */
WL_WEST = 8
} WindowLocation;
/**
* Settings structure holding all (static) configurable options.
* @ingroup CONFIGURATION
*/
2016-03-24 17:13:19 -04:00
typedef struct
2016-01-07 10:01:56 -05:00
{
/** List of enabled modi */
char *modi;
/** Width (0-100 in %, > 100 in pixels, < 0 in char width.) */
int menu_width;
/** # lines */
unsigned int menu_lines;
/** # Columns */
unsigned int menu_columns;
/** Font string (pango format) */
char * menu_font;
/** Terminal to use */
char * terminal_emulator;
/** SSH client to use */
char * ssh_client;
/** Command to execute when ssh session is selected */
char * ssh_command;
/** Command for executing an application */
char * run_command;
/** Command for executing an application in a terminal */
char * run_shell_command;
/** Command for listing executables */
char * run_list_command;
/** Command for window */
char * window_command;
2016-01-07 10:01:56 -05:00
/** Windows location/gravity */
WindowLocation location;
/** Y offset */
int y_offset;
/** X offset */
int x_offset;
/** Always should config.menu_lines lines, even if less lines are available */
unsigned int fixed_num_lines;
/** Do not use history */
unsigned int disable_history;
/** Toggle to enable sorting. */
unsigned int sort;
2016-01-07 10:01:56 -05:00
/** Use levenshtein sorting when matching */
unsigned int levenshtein_sort;
/** Search case sensitivity */
unsigned int case_sensitive;
/** Cycle through in the element list */
unsigned int cycle;
2016-01-07 10:01:56 -05:00
/** Height of an element in number of rows */
int element_height;
/** Sidebar mode, show the modi */
unsigned int sidebar_mode;
/** Lazy filter limit. */
unsigned int lazy_filter_limit;
/** Auto select. */
unsigned int auto_select;
/** Hosts file parsing */
unsigned int parse_hosts;
/** Knonw_hosts file parsing */
unsigned int parse_known_hosts;
/** Combi Modes */
char *combi_modi;
char *matching;
MatchingMethod matching_method;
2016-01-07 10:01:56 -05:00
unsigned int tokenize;
/** Monitors */
char *monitor;
2016-01-07 10:01:56 -05:00
/** filter */
char *filter;
/** fullscreen */
unsigned int fullscreen;
/** dpi */
int dpi;
/** Number threads (1 to disable) */
unsigned int threads;
2016-02-17 14:29:23 -05:00
unsigned int scroll_method;
char *window_format;
/** Click outside the window to exit */
int click_to_exit;
gboolean show_match;
2016-12-11 12:06:35 -05:00
char *theme;
2016-01-07 10:01:56 -05:00
} Settings;
/** Global Settings structure. */
extern Settings config;
#endif // ROFI_SETTINGS_H