~ctwm/ctwm/trunk

1 by Claude Lecommandeur
CTWM version 1.1
1
/*
554.1.6 by Matthew Fuller
Collapse away redundant license texts in most .h files. These are all
2
 * Icon Manager includes
3
 *
4
 *
1 by Claude Lecommandeur
CTWM version 1.1
5
 * Copyright 1989 Massachusetts Institute of Technology
6
 *
7
 * $XConsortium: iconmgr.h,v 1.11 89/12/10 17:47:02 jim Exp $
8
 *
304.1.2 by Matthew Fuller
Run 'make indent' to reindent the world.
9
 * 09-Mar-89 Tom LaStrange              File Created
1 by Claude Lecommandeur
CTWM version 1.1
10
 *
554.1.6 by Matthew Fuller
Collapse away redundant license texts in most .h files. These are all
11
 * Copyright 1992 Claude Lecommandeur.
12
 */
1 by Claude Lecommandeur
CTWM version 1.1
13
484 by Matthew Fuller
Consistently rename all the include guards so they match the filename,
14
#ifndef _CTWM_ICONMGR_H
15
#define _CTWM_ICONMGR_H
1 by Claude Lecommandeur
CTWM version 1.1
16
304.1.2 by Matthew Fuller
Run 'make indent' to reindent the world.
17
struct WList {
18
	struct WList *next;
19
	struct WList *prev;
20
	struct WList *nextv;                /* pointer to the next virtual Wlist C.L. */
21
	struct TwmWindow *twm;
22
	struct IconMgr *iconmgr;
23
	Window w;
24
	Window icon;
25
	int x, y, width, height;
26
	int row, col;
27
	int me;
28
	ColorPair cp;
29
	Pixel highlight;
30
	Pixmap iconifypm;
31
	unsigned top, bottom;
492.2.82 by Matthew Fuller
boolify these params in the WList struct.
32
	bool active;
33
	bool down;
93 by Richard Levitte
- Convert all functions to use proper prototypes.
34
};
1 by Claude Lecommandeur
CTWM version 1.1
35
304.1.2 by Matthew Fuller
Run 'make indent' to reindent the world.
36
struct IconMgr {
652.1.18 by Matthew Fuller
Add a little doc of some of these fields. next vs nextv is confusing
37
	struct IconMgr *next;  ///< Next iconmgr in this workspace
38
	struct IconMgr *prev;  ///< Prev iconmgr in this workspace
39
	struct IconMgr *lasti; ///< Last iconmgr in this workspace
40
	struct IconMgr *nextv; ///< Next workspace's icon manager head
41
304.1.2 by Matthew Fuller
Run 'make indent' to reindent the world.
42
	struct WList *first;                /* first window in the list */
43
	struct WList *last;                 /* last window in the list */
44
	struct WList *active;               /* the active entry */
45
	TwmWindow *twm_win;                 /* back pointer to the new parent */
46
	struct ScreenInfo *scr;             /* the screen this thing is on */
47
	int vScreen;                        /* the virtual screen this thing is on */
48
	Window w;                           /* this icon manager window */
49
	char *geometry;                     /* geometry string */
50
	char *name;
51
	char *icon_name;
52
	int x, y, width, height;
53
	int columns, cur_rows, cur_columns;
54
	int count;
93 by Richard Levitte
- Convert all functions to use proper prototypes.
55
};
1 by Claude Lecommandeur
CTWM version 1.1
56
57
extern WList *DownIconManager;
58
492.2.28 by Matthew Fuller
extern is implicit and the only linkage specifier that's meaningful
59
void CreateIconManagers(void);
60
IconMgr *AllocateIconManager(char *name, char *geom, char *icon_name,
61
                             int columns);
507.1.7 by Matthew Fuller
Move AllocateOtherIconManagers() into iconmgr.c.
62
void AllocateOtherIconManagers(void);
492.2.28 by Matthew Fuller
extern is implicit and the only linkage specifier that's meaningful
63
void MoveIconManager(int dir);
64
void MoveMappedIconManager(int dir);
65
void JumpIconManager(int dir);
66
WList *AddIconManager(TwmWindow *tmp_win);
67
void InsertInIconManager(IconMgr *ip, WList *tmp, TwmWindow *tmp_win);
68
void RemoveFromIconManager(IconMgr *ip, WList *tmp);
69
void RemoveIconManager(TwmWindow *tmp_win);
70
void CurrentIconManagerEntry(WList *current);
71
void ActiveIconManager(WList *active);
72
void NotActiveIconManager(WList *active);
492.2.114 by Matthew Fuller
bool-ify more function args/return values.
73
void DrawIconManagerBorder(WList *tmp, bool fill);
492.2.28 by Matthew Fuller
extern is implicit and the only linkage specifier that's meaningful
74
void SortIconManager(IconMgr *ip);
75
void PackIconManager(IconMgr *ip);
76
void PackIconManagers(void);
77
void dump_iconmanager(IconMgr *mgr, char *label);
505.1.10 by Matthew Fuller
Pull the inline code for writing a window's icon name into the icon
78
void DrawIconManagerIconName(TwmWindow *tmp_win);
505.1.9 by Matthew Fuller
Pass the TwmWindow, not thw TwmWindow->iconmanagelist. Slightly nicer
79
void ShowIconifiedIcon(TwmWindow *tmp_win);
1 by Claude Lecommandeur
CTWM version 1.1
80
81
604.1.13 by Matthew Fuller
Move these #define's over to a better place.
82
/* Spacing between the text and the outer border.  */
83
#define ICON_MGR_IBORDER 3
84
/* Thickness of the outer border (3d or not).  */
85
#define ICON_MGR_OBORDER \
86
    (Scr->use3Diconmanagers ? Scr->IconManagerShadowDepth : 2)
87
88
484 by Matthew Fuller
Consistently rename all the include guards so they match the filename,
89
#endif /* _CTWM_ICONMGR_H */