/*
** EPIwm
** Copyright (C) 1999 Julien Mulot, Thomas Poindessous, Stephane Rault
**
** 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.
**
** epiwm.h
**
** Made by ()
** Login <mulot_j@epita.fr>
**
** Started on Mon Dec 28 03:19:58 1998
** Last update Mon Oct 23 21:46:12 2000 Julien Mulot
*/
#ifndef __EPIWM_H__
#define __EPIWM_H__
#ifdef HAVE_CONFIG_H
#include "../config.h"
#else
#define VERSION "0.5.6"
#ifdef LOC
#define CONFIG_PATH LOC
#endif
#endif
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <signal.h>
#include <sys/time.h>
#include <sys/types.h>
#ifdef IMLIB
#include <Imlib.h>
#endif
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/cursorfont.h>
#include <X11/Xproto.h>
#include <X11/keysym.h>
#include <X11/Xresource.h>
#include <X11/Xatom.h>
#include <X11/extensions/shape.h>
#define ERROR -1
#define OK 0
#define LINE_LEN 300
typedef struct s_hints
{
int min_width;
int min_height;
int max_width;
int max_height;
int width_inc;
int height_inc;
} t_hints;
typedef struct s_win
{
#define MAX 0x01
#define MAX_WIDTH 0x02
#define MAX_HEIGHT 0x04
#define SHAPE 0x08
Window win;
Window parent;
Window border_frame;
Window button_close;
Window button_destroy;
Window button_iconify;
Window button_max;
Window button_shade;
Window button_max_width;
Window button_max_height;
Window iconify_win;
Window iconify_title_win;
Window titlebar_win;
t_hints hints;
int win_width;
int win_height;
int win_x;
int win_y;
int shade_width;
int shade_height;
char is_shade;
/*
char is_max;
char is_max_width;
char is_max_height;
char is_win_shape;
*/
char size;
char state;
char prop;
char active;
char border_size;
char titlebar_height;
char bf_border;
char titlebar_border;
} t_win;
typedef struct s_win_list
{
t_win *p_t_win;
struct s_win_list *next_elt;
} t_win_list;
void help();
void event_type();
void handle_events();
void handle_window(Window);
void options(int , char **);
void chaos();
t_win *add_border(Window);
t_win *search_elt(Window);
void remove_elt(Window);
void add_elt(t_win *);
t_win *create_win(Window);
void add_signals();
void tab_events();
int rev_str(char *);
Atom EPIWM_WM_STATE;
Atom EPIWM_WM_CHANGE_STATE;
Atom EPIWM_WM_PROTOCOLS;
Atom EPIWM_WM_TAKE_FOCUS;
Atom EPIWM_WM_DELETE_WINDOW;
Atom EPIWM_WM_NAME;
Atom EPIWM_WM_ICON_NAME;
Atom EPIWM_WM_SAVE_YOURSELF;
Atom EPIWM_MOTIF_WM_HINTS;
char **gl_argv;
#ifdef __GNOME__
#include "gnome.h"
#endif
#include "style_init.h"
#include "window_draw.h"
#include "events.h"
#include "init.h"
#include "key.h"
#include "misc.h"
#include "menu.h"
#include "iconify.h"
#include "mouse_events.h"
#include "screen.h"
#include "workspace.h"
#include "window.h"
#include "window_events.h"
#include "window_state.h"
#include "mouse_functions.h"
#include "icon_styles.h"
#include "window_functions.h"
#include "button_draw.h"
#include "epiwm_functions.h"
#include "cursor.h"
#include "motif.h"
#include "xmalloc.h"
#endif /* __EPIWM_H__ */
syntax highlighted by Code2HTML, v. 0.9.1