2014-06-02 14:18:12 +02:00
|
|
|
/* -------------------------------
|
|
|
|
* vim:tabstop=4:shiftwidth=4
|
|
|
|
* settings.h
|
|
|
|
* Sun, 12 Sep 2004 18:06:08 +0700
|
|
|
|
* -------------------------------
|
|
|
|
* settings parser\container
|
|
|
|
* -------------------------------*/
|
2014-06-02 02:39:44 +02:00
|
|
|
|
|
|
|
#ifndef _SETTINGS_H_
|
|
|
|
#define _SETTINGS_H_
|
|
|
|
|
|
|
|
#include <X11/X.h>
|
|
|
|
#include <X11/Xlib.h>
|
|
|
|
|
|
|
|
#include "systray.h"
|
2014-06-02 14:18:12 +02:00
|
|
|
//#include "layout.h"
|
2014-06-02 02:39:44 +02:00
|
|
|
|
|
|
|
/* Default name of configuration file */
|
|
|
|
#define STALONETRAY_RC ".stalonetrayrc"
|
|
|
|
|
|
|
|
struct Settings {
|
2014-06-02 14:18:12 +02:00
|
|
|
/* Flags */
|
|
|
|
int parent_bg; /* Enable pseudo-transparency using parents' background*/
|
|
|
|
int deco_flags; /* Decoration flags */
|
|
|
|
int transparent; /* Enable root-transparency */
|
|
|
|
int skip_taskbar; /* Remove tray from wm`s taskbar */
|
|
|
|
int sticky; /* Make tray sticky across desktops/pages */
|
|
|
|
int xsync; /* Operate on X server syncronously */
|
|
|
|
int pixmap_bg; /* Is pixmap used for background */
|
|
|
|
int min_space_policy; /* Use placement that cause minimal grow */
|
|
|
|
int full_pmt_search; /* Use non-first-match search algorithm */
|
|
|
|
int vertical; /* Use vertical icon layout */
|
|
|
|
int shrink_back_mode; /* Keep tray's window size minimal */
|
2014-06-02 02:39:44 +02:00
|
|
|
int dockapp_mode; /* Activate dockapp mode */
|
|
|
|
int kludge_flags; /* What kludges to activate */
|
|
|
|
|
2014-06-02 14:18:12 +02:00
|
|
|
int need_help; /* Print usage and exit */
|
|
|
|
|
|
|
|
/* Strings */
|
|
|
|
char *display_str; /* Name of the display */
|
|
|
|
char *bg_color_str; /* Background color name */
|
|
|
|
char *scrollbars_highlight_color_str; /* Name of color to highlight scrollbars with. NULL means highlighting is disabled */
|
|
|
|
char *geometry_str; /* Geometry spec */
|
|
|
|
char *max_geometry_str; /* Geometry spec */
|
|
|
|
char *config_fname; /* Path to the configuration file */
|
|
|
|
char *wnd_type; /* Window type */
|
|
|
|
char *wnd_layer; /* Window layer */
|
|
|
|
char *wnd_name; /* Window name (WM_NAME) */
|
|
|
|
char *bg_pmap_path; /* Background pixmap path */
|
|
|
|
char *tint_color_str; /* Color used for tinting */
|
2014-06-02 02:39:44 +02:00
|
|
|
char *remote_click_name; /* Icon name to execute remote click on */
|
|
|
|
|
2014-06-02 14:18:12 +02:00
|
|
|
/* Values */
|
|
|
|
int icon_size; /* Icon size */
|
|
|
|
int slot_size; /* Grid slot size */
|
|
|
|
//int grow_gravity; /* Icon gravity (interpretation of icon_gravity_str) */
|
|
|
|
//int icon_gravity; /* Grow gravity (interpretation of grow_gravity_str) */
|
|
|
|
//int win_gravity; /* Tray window gravity (computed using grow gravity) */
|
|
|
|
//int bit_gravity; /* Tray window bit gravity (computed using icon_gravity) */
|
|
|
|
int geom_gravity; /* Tray window gravity when mapping the window (computed using geometry_str) */
|
|
|
|
int fuzzy_edges; /* Level of edges fuzziness (0 = disabled) */
|
|
|
|
int tint_level; /* Tinting level (0 = disabled) */
|
|
|
|
//int scrollbars_mode; /* SB_MODE_NONE | SB_MODE_VERT | SB_MODE_HORZ */
|
|
|
|
//int scrollbars_size; /* Size of scrollbar windows in pixels */
|
|
|
|
//int scrollbars_inc; /* Step of scrollbar */
|
|
|
|
int wm_strut_mode; /* WM strut mode */
|
2014-06-02 02:39:44 +02:00
|
|
|
struct Point max_tray_dims;/* Maximal tray dimensions */
|
|
|
|
struct Point max_layout_dims; /* Maximal layout dimensions */
|
|
|
|
struct Point orig_tray_dims; /* Original tray dimensions */
|
|
|
|
struct Point remote_click_pos; /* Remote click position */
|
|
|
|
int remote_click_btn; /* Remote click button */
|
|
|
|
int remote_click_cnt; /* Remote click count */
|
|
|
|
|
2014-06-02 14:18:12 +02:00
|
|
|
XColor tint_color; /* Color used for tinting */
|
2014-06-02 02:39:44 +02:00
|
|
|
|
|
|
|
#ifdef DELAY_EMBEDDING_CONFIRMATION
|
2014-06-02 14:18:12 +02:00
|
|
|
int confirmation_delay;
|
2014-06-02 02:39:44 +02:00
|
|
|
#endif
|
|
|
|
|
2014-06-02 14:18:12 +02:00
|
|
|
XColor bg_color; /* Tray background color */
|
|
|
|
//XColor scrollbars_highlight_color; /* Color to highlight scrollbars with */
|
|
|
|
int log_level; /* Debug level */
|
2014-06-02 02:39:44 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
extern struct Settings settings;
|
|
|
|
|
|
|
|
/* Read settings from cmd line and configuration file */
|
2014-06-02 14:18:12 +02:00
|
|
|
int read_settings(int argc, char **argv);
|
|
|
|
/* Interpret all settings that either need an
|
|
|
|
* open display or are interpreted from other
|
|
|
|
* settings */
|
|
|
|
//void interpret_settings();
|
2014-06-02 02:39:44 +02:00
|
|
|
|
|
|
|
#endif
|