summaryrefslogtreecommitdiffstats
path: root/include/settings.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/settings.h')
-rw-r--r--include/settings.h157
1 files changed, 157 insertions, 0 deletions
diff --git a/include/settings.h b/include/settings.h
new file mode 100644
index 00000000..fb68a713
--- /dev/null
+++ b/include/settings.h
@@ -0,0 +1,157 @@
+#ifndef ROFI_SETTINGS_H
+#define ROFI_SETTINGS_H
+
+/**
+ * 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
+ * \endverbatim
+ *
+ * @ingroup CONFIGURATION
+ */
+typedef enum _WindowLocation
+{
+ /** 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_EAST_SOUTH = 5,
+ /** 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
+ */
+typedef struct _Settings
+{
+ /** List of enabled modi */
+ char *modi;
+ /** Window settings */
+ unsigned int window_opacity;
+ /** Border width */
+ unsigned int menu_bw;
+ /** 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;
+
+ /** New row colors */
+ unsigned int color_enabled;
+ char * color_normal;
+ char * color_active;
+ char * color_urgent;
+ char * color_window;
+ /** Foreground color */
+ char * menu_fg;
+ char * menu_fg_urgent;
+ char * menu_fg_active;
+ /** Background color */
+ char * menu_bg;
+ char * menu_bg_urgent;
+ char * menu_bg_active;
+ /** Background color alt */
+ char * menu_bg_alt;
+ /** Highlight foreground color */
+ char * menu_hlfg;
+ char * menu_hlfg_urgent;
+ char * menu_hlfg_active;
+ /** Highlight background color */
+ char * menu_hlbg;
+ char * menu_hlbg_urgent;
+ char * menu_hlbg_active;
+ /** Border color */
+ char * menu_bc;
+ /** 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;
+
+ /** Windows location/gravity */
+ WindowLocation location;
+ /** Padding between elements */
+ unsigned int padding;
+ /** 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;
+ /** Use levenshtein sorting when matching */
+ unsigned int levenshtein_sort;
+ /** Search case sensitivity */
+ unsigned int case_sensitive;
+ /** Separator to use for dmenu mode */
+ char separator;
+ /** 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;
+ /** Fuzzy match */
+ unsigned int fuzzy;
+ unsigned int glob;
+ unsigned int tokenize;
+ unsigned int regex;
+ /** Monitors */
+ int monitor;
+ /** Line margin */
+ unsigned int line_margin;
+ /** filter */
+ char *filter;
+ /** style */
+ char *separator_style;
+ /** hide scrollbar */
+ unsigned int hide_scrollbar;
+ /** show markup in elements. */
+ unsigned int markup_rows;
+ /** fullscreen */
+ unsigned int fullscreen;
+ /** bg image */
+ unsigned int fake_transparency;
+ /** dpi */
+ int dpi;
+ /** Number threads (1 to disable) */
+ unsigned int threads;
+ unsigned int scrollbar_width;
+} Settings;
+/** Global Settings structure. */
+extern Settings config;
+#endif // ROFI_SETTINGS_H