/* * Copyright 1989 Massachusetts Institute of Technology * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, provided * that the above copyright notice appear in all copies and that both that * copyright notice and this permission notice appear in supporting * documentation, and that the name of M.I.T. not be used in advertising * or publicity pertaining to distribution of the software without specific, * written prior permission. M.I.T. makes no representations about the * suitability of this software for any purpose. It is provided "as is" * without express or implied warranty. * * M.I.T. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL M.I.T. * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ /* * [ ctwm ] * * Copyright 1992 Claude Lecommandeur. * * Permission to use, copy, modify and distribute this software [ctwm] and * its documentation for any purpose is hereby granted without fee, provided * that the above copyright notice appear in all copies and that both that * copyright notice and this permission notice appear in supporting documen- * tation, and that the name of Claude Lecommandeur not be used in adverti- * sing or publicity pertaining to distribution of the software without * specific, written prior permission. Claude Lecommandeur make no represen- * tations about the suitability of this software for any purpose. It is * provided "as is" without express or implied warranty. * * Claude Lecommandeur DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO * EVENT SHALL Claude Lecommandeur BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. * * Author: Claude Lecommandeur [ lecom@sic.epfl.ch ][ April 1992 ] */ /*********************************************************************** * * $XConsortium: iconmgr.h,v 1.11 89/12/10 17:47:02 jim Exp $ * * Icon Manager includes * * 09-Mar-89 Tom LaStrange File Created * ***********************************************************************/ #ifndef _ICONMGR_ #define _ICONMGR_ struct WList { struct WList *next; struct WList *prev; struct WList *nextv; /* pointer to the next virtual Wlist C.L. */ struct TwmWindow *twm; struct IconMgr *iconmgr; Window w; Window icon; int x, y, width, height; int row, col; int me; ColorPair cp; Pixel highlight; Pixmap iconifypm; unsigned top, bottom; short active; short down; }; struct IconMgr { struct IconMgr *next; /* pointer to the next icon manager */ struct IconMgr *prev; /* pointer to the previous icon mgr */ struct IconMgr *lasti; /* pointer to the last icon mgr */ struct IconMgr *nextv; /* pointer to the next virtual icon mgr C.L. */ struct WList *first; /* first window in the list */ struct WList *last; /* last window in the list */ struct WList *active; /* the active entry */ TwmWindow *twm_win; /* back pointer to the new parent */ struct ScreenInfo *scr; /* the screen this thing is on */ int vScreen; /* the virtual screen this thing is on */ Window w; /* this icon manager window */ char *geometry; /* geometry string */ char *name; char *icon_name; int x, y, width, height; int columns, cur_rows, cur_columns; int count; }; extern int iconmgr_textx; extern WList *DownIconManager; extern void CreateIconManagers(void); extern IconMgr *AllocateIconManager(char *name, char *geom, char *icon_name, int columns); extern void MoveIconManager(int dir); extern void MoveMappedIconManager(int dir); extern void JumpIconManager(register int dir); extern WList *AddIconManager(TwmWindow *tmp_win); extern void InsertInIconManager(IconMgr *ip, WList *tmp, TwmWindow *tmp_win); extern void RemoveFromIconManager(IconMgr *ip, WList *tmp); extern void RemoveIconManager(TwmWindow *tmp_win); extern void CurrentIconManagerEntry(WList *current); extern void ActiveIconManager(WList *active); extern void NotActiveIconManager(WList *active); extern void DrawIconManagerBorder(WList *tmp, int fill); extern void SortIconManager(IconMgr *ip); extern void PackIconManager(IconMgr *ip); #endif /* _ICONMGR_ */