gambas-source-code/gb.desktop.x11/src/systray/settings.h

95 lines
4 KiB
C
Raw Normal View History

/* -------------------------------
* vim:tabstop=4:shiftwidth=4
* settings.h
* Sun, 12 Sep 2004 18:06:08 +0700
* -------------------------------
* settings parser\container
* -------------------------------*/
#ifndef _SETTINGS_H_
#define _SETTINGS_H_
#include <X11/X.h>
#include <X11/Xlib.h>
#include "systray.h"
#include "layout.h"
/* Default name of configuration file */
#define STALONETRAY_RC ".stalonetrayrc"
struct Settings {
/* 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 */
int dockapp_mode; /* Activate dockapp mode */
int kludge_flags; /* What kludges to activate */
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 */
char *remote_click_name; /* Icon name to execute remote click on */
/* 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 */
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 */
XColor tint_color; /* Color used for tinting */
#ifdef DELAY_EMBEDDING_CONFIRMATION
int confirmation_delay;
#endif
XColor bg_color; /* Tray background color */
XColor scrollbars_highlight_color; /* Color to highlight scrollbars with */
int log_level; /* Debug level */
};
extern struct Settings settings;
/* Read settings from cmd line and configuration file */
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();
#endif