diff options
author | sabetts <sabetts> | 2003-05-16 23:25:06 +0000 |
---|---|---|
committer | sabetts <sabetts> | 2003-05-16 23:25:06 +0000 |
commit | cf843449115562fe44be792e37bd78639414da4e (patch) | |
tree | 0eba8dbd41b3ad9328b600ca35b4d41e34aaec60 /src/globals.h | |
parent | bcf85f95069519c29b2263ff5391a4da0442188e (diff) | |
download | ratpoison-cf843449115562fe44be792e37bd78639414da4e.zip |
* src/window.c (add_to_window_list): add the window to the current
group.
(find_window_name): search the current group for a matching
window.
(find_window_other): likewise.
(format_window_name): take a rp_window_elem as an argument, not an
rp_window. Print the group window's number, not the window's
internal number.
(get_window_list): loop through the current group.
* src/split.c (find_window_for_frame): search the current group
for a window to fit in the frame.
* src/ratpoison.h: include globals.h and group.h
* src/manage.c (unmanage): remove the window from any groups it
was in.
(map_window): map the window in any groups it is in.
(withdraw_window): unmap the window in any groups it is in.
* src/main.c: Move all globals to globals.h
(main): initialize the group functions.
* src/data.h: Move all defines and extern globals to globals.h
(struct rp_window_elem): new struct
(struct rp_group): likewise
* src/actions.h (cmd_gnext): new prototype
(cmd_gprev): likewise
(cmd_gnew): likewise
* src/actions.c (user_commands): new commands gnext, gprev, and gnew
(cmd_prev): fix to work with new group code.
(cmd_next): likewise
(cmd_gnext): new function
(cmd_gprev): likewise
(cmd_gnew): likewise
* src/Makefile.am (ratpoison_SOURCES): add files globals.h,
globals.c, group.h and group.c
Diffstat (limited to 'src/globals.h')
-rw-r--r-- | src/globals.h | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/src/globals.h b/src/globals.h new file mode 100644 index 0000000..011570e --- /dev/null +++ b/src/globals.h @@ -0,0 +1,103 @@ +#ifndef GLOBALS_H +#define GLOBALS_H + +#include "data.h" + +#define FONT_HEIGHT(f) ((f)->max_bounds.ascent + (f)->max_bounds.descent) + +#define WIN_EVENTS (StructureNotifyMask | PropertyChangeMask | ColormapChangeMask | FocusChangeMask) +/* EMPTY is used when a frame doesn't contain a window, or a window + doesn't have a frame. Any time a field refers to the number of a + window/frame/screen/etc, Use EMPTY to denote a lack there of. */ +#define EMPTY -1 + +/* Possible values for defaults.window_list_style */ +#define STYLE_ROW 0 +#define STYLE_COLUMN 1 + +/* Possible values for defaults.win_name */ +#define WIN_NAME_TITLE 0 +#define WIN_NAME_RES_CLASS 1 +#define WIN_NAME_RES_NAME 2 + +/* The list of groups. */ +extern struct list_head rp_groups; + +extern rp_group *rp_current_group; + +/* Each child process is stored in this list. spawn, creates a new + entry in this list, the SIGCHLD handler sets child.terminated to be + true and handle_signals in events.c processes each terminated + process by printing a message saying the process ended and + displaying it's exit code. */ +extern struct list_head rp_children; + +extern struct rp_defaults defaults; + +/* The prefix key also known as the command character under screen. */ +extern struct rp_key prefix_key; + +/* A list of mapped windows. These windows show up in the window + list and have a number assigned to them. */ +extern struct list_head rp_mapped_window; + +/* A list of unmapped windows. These windows do not have a number + assigned to them and are not visible/active. */ +extern struct list_head rp_unmapped_window; + +extern int rp_current_screen; +extern rp_screen *screens; +extern int num_screens; + +extern XEvent rp_current_event; + +extern Display *dpy; +extern Atom rp_command; +extern Atom rp_command_request; +extern Atom rp_command_result; + +extern Atom wm_name; +extern Atom wm_state; +extern Atom wm_change_state; +extern Atom wm_protocols; +extern Atom wm_delete; +extern Atom wm_take_focus; +extern Atom wm_colormaps; + +/* mouse properties */ +extern int rat_x; +extern int rat_y; +extern int rat_visible; + +/* When unmapping or deleting windows, it is sometimes helpful to + ignore a bad window when attempting to clean the window up. This + does just that when set to 1 */ +extern int ignore_badwindow; + +/* Arguments passed to ratpoison. */ +extern char **myargv; + +/* Keeps track of which mod mask each modifier is under. */ +extern struct modifier_info rp_modifier_info; + +/* nonzero if an alarm signal was raised. This means ratpoison should + hide its popup windows. */ +extern int alarm_signalled; +extern int kill_signalled; +extern int hup_signalled; +extern int chld_signalled; + +/* rudeness levels */ +extern int rp_honour_transient_raise; +extern int rp_honour_normal_raise; +extern int rp_honour_transient_map; +extern int rp_honour_normal_map; + +/* Keep track of X11 error messages. */ +extern char *rp_error_msg; + +/* Number sets for windows. */ +extern struct numset *rp_window_numset; + + +#endif |