1 #include "../../lib/aftersteplib.h" 2 3 /************************************************************************* 4 * 5 * Subroutine Prototypes 6 * 7 *************************************************************************/ 8 extern void CreateWindow(void); 9 extern Pixel GetColor(char *name); 10 extern void nocolor(char *a, char *b); 11 extern void RedrawWindow(Window *win, int firstbutton, int newbutton, int num_rows, int num_columns); 12 extern void match_string(char *tline); 13 #ifdef ENABLE_SOUND 14 extern void bind_sound(char *tline); 15 extern void PlaySound(int event); 16 #endif 17 extern void Loop(void); 18 extern void ParseOptions(char *); 19 extern char *safemalloc(int length); 20 extern void change_window_name(char *str); 21 extern int My_XNextEvent(Display *dpy, XEvent *event); 22 extern void DeadPipe(int nonsense); 23 extern void LoadIconFile(int button,int ico); 24 extern void CreateIconWindow(int button, Window *win); 25 extern void ConfigureIconWindow(int button,int row, int column); 26 extern void GetBitmapFile(int button,int ico); 27 extern int GetXPMFile(int button,int ico); 28 extern int GetXPMData(int button, char **data); 29 extern int GetXPMGradient(int button, int from[3], int to[3], int maxcols, 30 int type); 31 extern int GetSolidXPM(int button, Pixel pixel); 32 extern Bool Pushed; 33 extern Bool ForceSize; 34 extern void DrawOutline(Drawable d, int w, int h); 35 void process_message(unsigned long type,unsigned long *body); 36 void send_clientmessage (Window w, Atom a, Time timestamp); 37 void swallow(unsigned long *body); 38 void ConstrainSize (XSizeHints *hints, int *widthp, int *height); 39 void MapFolder(int folder, int *LastMapped, int base_x, int base_y, int row, int col); 40 void CloseFolder(int folder); 41 void OpenFolder(int folder,int x, int y, int w, int h, int direction); 42 void RedrawPushed(Window *win, int i, int j); 43 void RedrawUnpushed(Window *win, int i, int j); 44 void RedrawUnpushedOutline(Window *win, int i,int j); 45 void RedrawPushedOutline(Window *win, int i, int j); 46 void CreateShadowGC(void); 47 extern Display *dpy; /* which display are we talking to */ 48 extern Window Root; 49 extern Window main_win; 50 extern int screen; 51 extern long d_depth; 52 extern Pixel back_pix, fore_pix; 53 extern GC NormalGC, HiReliefGC, HiInnerGC; 54 extern GC MaskGC; 55 extern int BUTTONWIDTH, BUTTONHEIGHT; 56 extern XFontStruct *font; 57 #define MAX_BUTTONS 100 58 #define BACK_BUTTON 100 59 60 #define MAX_OVERLAY 3 61 62 #define BUTTON_ARRAY_LN 102 63 #define FOLDER_ARRAY_LN 10 64 65 #define ICON_WIN_WIDTH 48 66 #define ICON_WIN_HEIGHT 48 67 68 #define ISMAPPED 0 69 #define NOTMAPPED 1 70 71 typedef struct icon_info { 72 char *file; 73 short w, h; 74 Pixmap icon, mask; 75 char depth; 76 } icon_info; 77 78 struct button_info 79 { 80 char *action; 81 char *title; 82 int iconno; 83 icon_info icons[MAX_OVERLAY]; 84 85 Pixmap completeIcon; /* icon with background */ 86 Window IconWin; 87 Window *parent; 88 XSizeHints hints; 89 char *hangon; 90 char up; 91 char swallow; 92 char maxsize; 93 char module; 94 int folder; 95 #ifdef ENABLE_DND 96 char *drop_action; 97 #endif 98 }; 99 100 struct folder_info 101 { 102 Window win; /* Window of the Folder */ 103 int firstbutton; /* index to Buttons, starting at end */ 104 int count; /* count folded buttons */ 105 int mapped; /* is the window visible or not ?? */ 106 int cols; /* either 1 or me.count */ 107 int rows; /* either me.count or 1 */ 108 int direction; /* direction of the folder */ 109 }; 110 111 extern struct button_info Buttons[MAX_BUTTONS+2]; 112 extern struct folder_info Folders[FOLDER_ARRAY_LN]; 113 114 extern char *iconPath; 115 extern char *pixmapPath; 116 117 #ifdef BROKEN_SUN_HEADERS 118 #include "../../afterstep/sun_headers.h" 119 #endif 120 121 #ifdef NEEDS_ALPHA_HEADER 122 #include "../../afterstep/alpha_header.h" 123 #endif /* NEEDS_ALPHA_HEADER */ 124 125 126