summaryrefslogtreecommitdiff
path: root/src/globals.h
diff options
context:
space:
mode:
authorsabetts <sabetts>2003-05-16 23:25:06 +0000
committersabetts <sabetts>2003-05-16 23:25:06 +0000
commitcf843449115562fe44be792e37bd78639414da4e (patch)
tree0eba8dbd41b3ad9328b600ca35b4d41e34aaec60 /src/globals.h
parentbcf85f95069519c29b2263ff5391a4da0442188e (diff)
downloadratpoison-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.h103
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