122 lines
3.5 KiB
C
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;
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|