/*
* 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_CLIENT_H
#define __WEEWM_CLIENT_H 1
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#define NO_DOCK -1
typedef struct t_client t_client;
struct t_client
{
t_client *next;
Window window;
Window parent;
XSizeHints *size;
char *application_name;
int ignore_unmap;
int x, y, width, height;
int oldx, oldy, oldw, oldh, oldmx, oldmy, oldmw, oldmh;
int border;
int vdesk[256];
int screen;
int dock_position;
};
typedef struct t_motif_wm_hints t_motif_wm_hints;
struct t_motif_wm_hints
{
unsigned long flags;
unsigned long functions;
unsigned long decorations;
};
extern int dock_pos_free;
extern int dock_size;
extern void set_wm_state(const Window, const Atom, int, long);
extern void send_wm_delete(t_client *);
extern void set_smart_position(t_client *, char);
extern void recalculate_dock_positions();
extern void change_gravity(t_client *, int);
extern void send_config(t_client *);
extern void create_new_client(Window, int);
extern t_client *find_client(Window);
extern t_client *get_first_client_desktop(int, int);
extern void remove_client(t_client *, int);
#endif /* client.h */
syntax highlighted by Code2HTML, v. 0.9.1