xenocara/app/fvwm/extras/FvwmWharf/Wharf.h

122 lines
3.5 KiB
C

#include "config.h"
#include "fvwmlib.h"
/*************************************************************************
*
* Subroutine Prototypes
*
*************************************************************************/
extern void CreateWindow(void);
extern Pixel GetColor(char *name);
extern void nocolor(char *a, char *b);
extern void RedrawWindow(Window *win, int firstbutton, int newbutton, int num_rows, int num_columns);
extern void match_string(char *tline);
#ifdef ENABLE_SOUND
extern void bind_sound(char *tline);
extern void PlaySound(int event);
#endif
extern void Loop(void);
extern void ParseOptions(char *);
extern char *safemalloc(int length);
extern void change_window_name(char *str);
extern int My_XNextEvent(Display *dpy, XEvent *event);
extern void DeadPipe(int nonsense);
extern void LoadIconFile(int button,int ico);
extern void CreateIconWindow(int button, Window *win);
extern void ConfigureIconWindow(int button,int row, int column);
extern void GetBitmapFile(int button,int ico);
extern int GetXPMFile(int button,int ico);
extern int GetXPMData(int button, char **data);
extern int GetXPMGradient(int button, int from[3], int to[3], int maxcols,
int type);
extern int GetSolidXPM(int button, Pixel pixel);
extern Bool Pushed;
extern Bool ForceSize;
extern void DrawOutline(Drawable d, int w, int h);
void process_message(unsigned long type,unsigned long *body);
void my_send_clientmessage (Window w, Atom a, Time timestamp);
void swallow(unsigned long *body);
void ConstrainSize (XSizeHints *hints, int *widthp, int *height);
void MapFolder(int folder, int *LastMapped, int base_x, int base_y, int row, int col);
void CloseFolder(int folder);
void OpenFolder(int folder,int x, int y, int w, int h, int direction);
void RedrawPushed(Window *win, int i, int j);
void RedrawUnpushed(Window *win, int i, int j);
void RedrawUnpushedOutline(Window *win, int i,int j);
void RedrawPushedOutline(Window *win, int i, int j);
void CreateShadowGC(void);
extern Display *dpy; /* which display are we talking to */
extern Window Root;
extern Window main_win;
extern int screen;
extern long d_depth;
extern Pixel back_pix, fore_pix;
extern GC NormalGC, HiReliefGC, HiInnerGC;
extern GC MaskGC;
extern int BUTTONWIDTH, BUTTONHEIGHT;
extern XFontStruct *font;
#define MAX_BUTTONS 100
#define BACK_BUTTON 100
#define MAX_OVERLAY 3
#define BUTTON_ARRAY_LN 102
#define FOLDER_ARRAY_LN 10
#define ICON_WIN_WIDTH 48
#define ICON_WIN_HEIGHT 48
#define ISMAPPED 0
#define NOTMAPPED 1
typedef struct icon_info {
char *file;
short w, h;
Pixmap icon, mask;
signed char depth;
} icon_info;
struct button_info
{
char *action;
char *title;
int iconno;
icon_info icons[MAX_OVERLAY];
Pixmap completeIcon; /* icon with background */
Window IconWin;
Window *parent;
XSizeHints hints;
char *hangon;
char up;
char swallow;
char maxsize;
char module;
int folder;
#ifdef ENABLE_DND
char *drop_action;
#endif
};
struct folder_info
{
Window win; /* Window of the Folder */
int firstbutton; /* index to Buttons, starting at end */
int count; /* count folded buttons */
int mapped; /* is the window visible or not ?? */
int cols; /* either 1 or me.count */
int rows; /* either me.count or 1 */
int direction; /* direction of the folder */
};
extern struct button_info Buttons[MAX_BUTTONS+2];
extern struct folder_info Folders[FOLDER_ARRAY_LN];
extern char *iconPath;
extern char *pixmapPath;