CTWM
Toggle main menu visibility
Loading...
Searching...
No Matches
/usr/src/RPM/BUILD/ctwm-4.1.0/menus.h
Go to the documentation of this file.
1
/*
2
* twm menus include file
3
*
4
*
5
* Copyright 1988 by Evans & Sutherland Computer Corporation,
6
* Salt Lake City, Utah
7
* Portions Copyright 1989 by the Massachusetts Institute of Technology
8
* Cambridge, Massachusetts
9
*
10
* $XConsortium: menus.h,v 1.24 89/12/10 17:46:26 jim Exp $
11
*
12
* 17-Nov-87 Thomas E. LaStrange File created
13
*
14
* Copyright 1992 Claude Lecommandeur.
15
*/
16
17
#ifndef _CTWM_MENUS_H
18
#define _CTWM_MENUS_H
19
20
#define TWM_ROOT "bLoB_GoOp"
/* my private root menu */
21
#define TWM_WINDOWS "TwmWindows"
/* for f.menu "TwmWindows" */
22
#define TWM_ICONS "TwmIcons"
/* for f.menu "TwmIcons" */
23
#define TWM_WORKSPACES "TwmWorkspaces"
/* for f.menu "TwmWorkspaces" */
24
#define TWM_ALLWINDOWS "TwmAllWindows"
/* for f.menu "TwmAllWindows" */
25
26
/* Added by dl 2004 */
27
#define TWM_ALLICONS "TwmAllIcons"
/* for f.menu "TwmAllIcons" */
28
29
/*******************************************************************/
30
/* Added by Dan Lilliehorn (dl@dl.nu) 2000-02-29 */
31
#define TWM_KEYS "TwmKeys"
/* for f.menu "TwmKeys" */
32
#define TWM_VISIBLE "TwmVisible"
/* for f.menu "TwmVisible" */
33
34
35
/*
36
* MenuRoot.mapped - current/past state.
37
*
38
* XXX Perhaps the NEVER_MAPPED stuff should be pulled out and tracked
39
* some other way, and mapped just made into an bool.
40
*/
41
typedef
enum
{
42
MRM_NEVER
,
43
MRM_UNMAPPED
,
44
MRM_MAPPED
,
45
}
MRMapState
;
46
47
48
struct
MenuItem
{
49
struct
MenuItem
*
next
;
/* next menu item */
50
struct
MenuItem
*
prev
;
/* prev menu item */
51
struct
MenuRoot
*
sub
;
/* MenuRoot of a pull right menu */
52
struct
MenuRoot
*
root
;
/* back pointer to my MenuRoot */
53
char
*
item
;
/* the character string displayed */
54
char
*
action
;
/* action to be performed */
55
ColorPair
normal
;
/* unhiglight colors */
56
ColorPair
highlight
;
/* highlight colors */
57
short
item_num
;
/* item number of this menu */
58
short
x
;
/* x coordinate for text */
59
short
func
;
/* twm built in function */
60
bool
state
;
/* in reversed video state (i.e., active) */
61
short
strlen
;
/* strlen(item) */
62
bool
user_colors
;
/* colors were specified */
63
bool
separated
;
/* separated from the next item */
64
};
65
66
struct
MenuRoot
{
67
struct
MenuItem
*
first
;
/* first item in menu */
68
struct
MenuItem
*
last
;
/* last item in menu */
69
struct
MenuItem
*
lastactive
;
/* last active item in menu */
70
struct
MenuItem
*
defaultitem
;
/* default item in menu */
71
struct
MenuRoot
*
prev
;
/* previous root menu if pull right */
72
struct
MenuRoot
*
next
;
/* next in list of root menus */
73
char
*
name
;
/* name of root */
74
Window
w
;
/* the window of the menu */
75
Window
shadow
;
/* the shadow window */
76
ColorPair
highlight
;
/* highlight colors */
77
MRMapState
mapped
;
/* whether ever/currently mapped */
78
short
height
;
/* height of the menu */
79
short
width
;
/* width of the menu */
80
short
items
;
/* number of items in the menu */
81
bool
pull
;
/* is there a pull right entry ? */
82
bool
entered
;
/* EnterNotify following pop up */
83
bool
real_menu
;
/* this is a real menu */
84
short
x
,
y
;
/* position (for pinned menus) */
85
bool
pinned
;
/* is this a pinned menu*/
86
struct
MenuRoot
*
pmenu
;
/* the associated pinned menu */
87
};
88
89
90
struct
MouseButton
{
91
int
func
;
/* the function number */
92
int
mask
;
/* modifier mask */
93
MenuRoot
*
menu
;
/* menu if func is F_MENU */
94
MenuItem
*
item
;
/* action to perform if func != F_MENU */
95
};
96
97
struct
FuncButton
{
98
struct
FuncButton
*
next
;
/* next in the list of function buttons */
99
int
num
;
/* button number */
100
int
cont
;
/* context */
101
int
mods
;
/* modifiers */
102
int
func
;
/* the function number */
103
MenuRoot
*
menu
;
/* menu if func is F_MENU */
104
MenuItem
*
item
;
/* action to perform if func != F_MENU */
105
};
106
107
struct
FuncKey
{
108
struct
FuncKey
*
next
;
/* next in the list of function keys */
109
char
*
name
;
/* key name */
110
KeySym
keysym
;
/* X keysym */
111
KeyCode
keycode
;
/* X keycode */
112
int
cont
;
/* context */
113
int
mods
;
/* modifiers */
114
int
func
;
/* function to perform */
115
char
*
win_name
;
/* window name (if any) */
116
char
*
action
;
/* action string (if any) */
117
MenuRoot
*
menu
;
/* menu if func is F_MENU */
118
};
119
120
extern
MenuRoot
*
ActiveMenu
;
121
extern
MenuItem
*
ActiveItem
;
122
123
extern
bool
menuFromFrameOrWindowOrTitlebar
;
124
extern
char
*
CurrentSelectedWorkspace
;
125
extern
bool
AlternateContext
;
126
extern
int
AlternateKeymap
;
127
128
#define MAXMENUDEPTH 10
/* max number of nested menus */
129
extern
int
MenuDepth
;
130
131
#define WARPSCREEN_NEXT "next"
132
#define WARPSCREEN_PREV "prev"
133
#define WARPSCREEN_BACK "back"
134
135
#define COLORMAP_NEXT "next"
136
#define COLORMAP_PREV "prev"
137
#define COLORMAP_DEFAULT "default"
138
139
MenuRoot
*
NewMenuRoot
(
char
*
name
);
140
MenuItem
*
AddToMenu
(
MenuRoot
*
menu
,
char
*item,
char
*
action
,
141
MenuRoot
*sub,
int
func
,
char
*fore,
char
*back);
142
bool
PopUpMenu
(
MenuRoot
*
menu
,
int
x,
int
y,
bool
center);
143
void
MakeWorkspacesMenu
(
void
);
144
MenuRoot
*
FindMenuRoot
(
char
*
name
);
145
bool
AddFuncKey
(
char
*
name
,
int
cont
,
int
mods
,
int
func
,
146
MenuRoot
*
menu
,
char
*
win_name
,
char
*
action
);
147
void
AddFuncButton
(
int
num,
int
cont
,
int
mods
,
int
func
,
148
MenuRoot
*
menu
,
MenuItem
*item);
149
void
AddDefaultFuncButtons
(
void
);
150
void
PopDownMenu
(
void
);
151
void
HideMenu
(
MenuRoot
*
menu
);
152
void
PaintEntry
(
MenuRoot
*mr,
MenuItem
*mi,
bool
exposure);
153
void
PaintMenu
(
MenuRoot
*mr, XEvent *e);
154
bool
cur_fromMenu
(
void
);
155
void
UpdateMenu
(
void
);
156
void
MakeMenus
(
void
);
157
void
MakeMenu
(
MenuRoot
*mr);
158
void
MoveMenu
(XEvent *eventp);
159
void
WarpCursorToDefaultEntry
(
MenuRoot
*
menu
);
160
161
// Mostly internal; exposed for testing
162
char
*
mk_twmkeys_entry
(
const
FuncKey
*key);
163
164
#endif
/* _CTWM_MENUS_H */
MakeWorkspacesMenu
void MakeWorkspacesMenu(void)
Definition
menus.c:442
AddToMenu
MenuItem * AddToMenu(MenuRoot *menu, char *item, char *action, MenuRoot *sub, int func, char *fore, char *back)
Definition
menus.c:732
HideMenu
void HideMenu(MenuRoot *menu)
Definition
menus.c:1476
menuFromFrameOrWindowOrTitlebar
bool menuFromFrameOrWindowOrTitlebar
Definition
menus.c:60
mk_twmkeys_entry
char * mk_twmkeys_entry(const FuncKey *key)
Generate up a string representation of a keybinding->action.
Definition
menus.c:1657
AddFuncKey
bool AddFuncKey(char *name, int cont, int nmods, int func, MenuRoot *menu, char *win_name, char *action)
Definition
menus.c:102
PaintMenu
void PaintMenu(MenuRoot *mr, XEvent *e)
Definition
menus.c:419
FindMenuRoot
MenuRoot * FindMenuRoot(char *name)
Definition
menus.c:1503
MakeMenus
void MakeMenus(void)
Definition
menus.c:836
AddDefaultFuncButtons
void AddDefaultFuncButtons(void)
Definition
menus.c:223
MoveMenu
void MoveMenu(XEvent *eventp)
Definition
menus.c:1538
ActiveItem
MenuItem * ActiveItem
Definition
menus.c:59
CurrentSelectedWorkspace
char * CurrentSelectedWorkspace
Definition
menus.c:61
ActiveMenu
MenuRoot * ActiveMenu
Definition
menus.c:58
NewMenuRoot
MenuRoot * NewMenuRoot(char *name)
Definition
menus.c:637
WarpCursorToDefaultEntry
void WarpCursorToDefaultEntry(MenuRoot *menu)
Definition
menus.c:1626
PopUpMenu
bool PopUpMenu(MenuRoot *menu, int x, int y, bool center)
Definition
menus.c:1130
PaintEntry
void PaintEntry(MenuRoot *mr, MenuItem *mi, bool exposure)
Definition
menus.c:242
MakeMenu
void MakeMenu(MenuRoot *mr)
Definition
menus.c:851
PopDownMenu
void PopDownMenu(void)
Definition
menus.c:1442
AlternateContext
bool AlternateContext
Definition
menus.c:65
MenuDepth
int MenuDepth
Definition
menus.c:67
AlternateKeymap
int AlternateKeymap
Definition
menus.c:64
AddFuncButton
void AddFuncButton(int num, int cont, int nmods, int func, MenuRoot *menu, MenuItem *item)
Definition
menus.c:171
cur_fromMenu
bool cur_fromMenu(void)
Definition
menus.c:482
UpdateMenu
void UpdateMenu(void)
Definition
menus.c:487
MRMapState
MRMapState
Definition
menus.h:41
MRM_NEVER
@ MRM_NEVER
Definition
menus.h:42
MRM_UNMAPPED
@ MRM_UNMAPPED
Definition
menus.h:43
MRM_MAPPED
@ MRM_MAPPED
Definition
menus.h:44
cont
int cont
Definition
parse_yacc.c:28
mods
int mods
Definition
parse_yacc.c:29
ColorPair
Definition
ctwm.h:140
FuncButton
Definition
menus.h:97
FuncButton::menu
MenuRoot * menu
Definition
menus.h:103
FuncButton::next
struct FuncButton * next
Definition
menus.h:98
FuncButton::num
int num
Definition
menus.h:99
FuncButton::cont
int cont
Definition
menus.h:100
FuncButton::item
MenuItem * item
Definition
menus.h:104
FuncButton::func
int func
Definition
menus.h:102
FuncButton::mods
int mods
Definition
menus.h:101
FuncKey
Definition
menus.h:107
FuncKey::mods
int mods
Definition
menus.h:113
FuncKey::name
char * name
Definition
menus.h:109
FuncKey::win_name
char * win_name
Definition
menus.h:115
FuncKey::action
char * action
Definition
menus.h:116
FuncKey::func
int func
Definition
menus.h:114
FuncKey::cont
int cont
Definition
menus.h:112
FuncKey::next
struct FuncKey * next
Definition
menus.h:108
FuncKey::keycode
KeyCode keycode
Definition
menus.h:111
FuncKey::keysym
KeySym keysym
Definition
menus.h:110
FuncKey::menu
MenuRoot * menu
Definition
menus.h:117
MenuItem
Definition
menus.h:48
MenuItem::normal
ColorPair normal
Definition
menus.h:55
MenuItem::user_colors
bool user_colors
Definition
menus.h:62
MenuItem::state
bool state
Definition
menus.h:60
MenuItem::next
struct MenuItem * next
Definition
menus.h:49
MenuItem::root
struct MenuRoot * root
Definition
menus.h:52
MenuItem::separated
bool separated
Definition
menus.h:63
MenuItem::func
short func
Definition
menus.h:59
MenuItem::strlen
short strlen
Definition
menus.h:61
MenuItem::item_num
short item_num
Definition
menus.h:57
MenuItem::prev
struct MenuItem * prev
Definition
menus.h:50
MenuItem::action
char * action
Definition
menus.h:54
MenuItem::x
short x
Definition
menus.h:58
MenuItem::item
char * item
Definition
menus.h:53
MenuItem::highlight
ColorPair highlight
Definition
menus.h:56
MenuItem::sub
struct MenuRoot * sub
Definition
menus.h:51
MenuRoot
Definition
menus.h:66
MenuRoot::real_menu
bool real_menu
Definition
menus.h:83
MenuRoot::x
short x
Definition
menus.h:84
MenuRoot::height
short height
Definition
menus.h:78
MenuRoot::last
struct MenuItem * last
Definition
menus.h:68
MenuRoot::pmenu
struct MenuRoot * pmenu
Definition
menus.h:86
MenuRoot::shadow
Window shadow
Definition
menus.h:75
MenuRoot::width
short width
Definition
menus.h:79
MenuRoot::defaultitem
struct MenuItem * defaultitem
Definition
menus.h:70
MenuRoot::prev
struct MenuRoot * prev
Definition
menus.h:71
MenuRoot::entered
bool entered
Definition
menus.h:82
MenuRoot::first
struct MenuItem * first
Definition
menus.h:67
MenuRoot::items
short items
Definition
menus.h:80
MenuRoot::name
char * name
Definition
menus.h:73
MenuRoot::y
short y
Definition
menus.h:84
MenuRoot::lastactive
struct MenuItem * lastactive
Definition
menus.h:69
MenuRoot::next
struct MenuRoot * next
Definition
menus.h:72
MenuRoot::mapped
MRMapState mapped
Definition
menus.h:77
MenuRoot::w
Window w
Definition
menus.h:74
MenuRoot::highlight
ColorPair highlight
Definition
menus.h:76
MenuRoot::pull
bool pull
Definition
menus.h:81
MenuRoot::pinned
bool pinned
Definition
menus.h:85
MouseButton
Definition
menus.h:90
MouseButton::menu
MenuRoot * menu
Definition
menus.h:93
MouseButton::func
int func
Definition
menus.h:91
MouseButton::mask
int mask
Definition
menus.h:92
MouseButton::item
MenuItem * item
Definition
menus.h:94
menus.h
Generated by
1.18.0