/*
* Copyright (c) 2003 FlashCode <flashcode@flashtux.org>
* Xahlexx <xahlexx@tuxfamily.org>
* Bounga <bounga@altern.org>
* See README for Licence detail.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef __WEEWM_CONFIG_H
#define __WEEWM_CONFIG_H 1
#define LINE_MAX_LENGTH 1024
#define NUM_MODIFIERS 7
#define CONFIG_OPTIONS 1
#define CONFIG_KEYS 2
#define OPTION_TYPE_INT 1
#define OPTION_TYPE_STRING 2
typedef struct t_modifier_list t_modifier_list;
struct t_modifier_list
{
char *modifier_name;
int modifier_mask;
};
typedef struct t_handler_list t_handler_list;
struct t_handler_list
{
char *command_name;
void (*handler)(XKeyEvent *event);
char *description;
};
typedef struct t_keymap t_keymap;
struct t_keymap
{
char *modifier_name;
int modifier_mask;
char *key_name;
int keysym;
int initial_desktop;
char *smart_position;
char *application_name;
int only_one;
char *command_file;
char **command_args;
void (*handler)(XKeyEvent *event);
int key_switch_desktop;
t_keymap *next;
};
typedef struct t_default_keys t_default_keys;
struct t_default_keys
{
char *modifier_name;
char *key_name;
char *command;
char *application_name;
int initial_desktop;
char *smart_position;
char *command_file_and_args;
};
typedef struct t_config_option t_config_option;
struct t_config_option
{
char *option_name;
char *description;
int option_type;
int min, max;
int default_int;
char *default_string;
int *ptr_int;
char **ptr_string;
};
extern int config_border;
extern int config_space;
extern int config_num_desktops;
extern int config_min_width;
extern int config_min_height;
extern int config_move_offset;
extern char *config_color_border1;
extern char *config_color_border0;
extern char *config_color_sticky;
extern int config_info_width;
extern int config_info_height;
extern int config_dock_use;
extern int config_dock_size;
extern int config_dock_position;
extern int config_dock_align;
extern t_keymap *keymap;
extern int mouse_mask;
extern void wee_print_options();
extern void wee_print_commands();
extern char **explode_string(char *, char *, int, int *);
extern int wee_read_config(char *, int);
extern void wee_create_default_config(char *, int);
extern void free_keymap();
#endif /* config.h */
syntax highlighted by Code2HTML, v. 0.9.1