summaryrefslogtreecommitdiff
path: root/src/data.h
diff options
context:
space:
mode:
authorsabetts <sabetts>2001-04-06 07:43:17 +0000
committersabetts <sabetts>2001-04-06 07:43:17 +0000
commit4ef01dc374bd76295e7a46140591e516187e33df (patch)
tree0534514c60d47f7ed7640091840516bef51273a0 /src/data.h
parentb5272706dbd9346033add6edee2aaa519f11b182 (diff)
downloadratpoison-4ef01dc374bd76295e7a46140591e516187e33df.zip
* src/split.h (h_split_frame): renamed frome h_split_window
(v_split_frame): renamed frome v_split_window (split_frame): renamed frome split_window (remove_all_splits): renamed frome remove_all_frames (find_windows_frame): new prototype (find_frame_next): likewise (find_frame_prev): likewise (current_window): likewise (init_frame_list): likewise (set_active_frame): likewise * src/split.c (create_initial_frame): new function (init_frame_list): likewise (find_windows_frame): likewise (find_frame_next): likewise (find_frame_prev): likewise (current_window): likewise (update_frame_indicator): likewise (set_active_frame): likewise (split_frame): rename from split_window (v_split_frame): rename from v_split_window (h_split_frame): rename from h_split_window (remove_all_splits): renamed frome remove_all_frames (total_frame_area): traverses rp_window_frame list (num_frames): likewise (frame_overlaps): likewise (remove_frame): likewise (remove_frame): calls delete_frame_from_list * src/manage.c (scanwins): skips the frame_window (maximize_transient): finds the window's frame (maximize_normal): likewise * src/main.c (main): calls init_frame_list (init_screen): create and map the frame_window * src/list.c (give_window_focus): new function (goto_window): likewise (set_active_window): calls give_window_focus * src/list.h (give_window_focus): new prototype (goto_window): likewise * src/events.c (new_window): the screen's frame_window is not managed (cleanup_frame): new function (unmap_notify): calls cleanup_frame if window exists in a frame (destroy_window): likewise * src/data.h (struct screen_info): remove frame field (struct rp_window_frame): new fields win, prev, next (rp_window_frame_sentinel): new global * src/actions.c (cmd_prev): jumps to last accessed window if current frame is empty. (cmd_next): likewise (cmd_remove): nothing is done if only 1 frame exists * src/data.h (struct screen_info): new field frame_window (rp_current_frame): new global (rp_current_window): removed. All dependant code updated.
Diffstat (limited to 'src/data.h')
-rw-r--r--src/data.h17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/data.h b/src/data.h
index d4e6a82..080f7ee 100644
--- a/src/data.h
+++ b/src/data.h
@@ -40,6 +40,9 @@ typedef struct rp_window_frame rp_window_frame;
struct rp_window_frame
{
int x, y, width, height;
+ rp_window *win;
+
+ rp_window_frame *prev, *next;
};
@@ -69,9 +72,6 @@ struct rp_window
/* Saved mouse position */
int mouse_x, mouse_y;
- /* Frame for split screen */
- rp_window_frame *frame;
-
rp_window *next, *prev;
};
@@ -80,7 +80,7 @@ struct screen_info
GC normal_gc;
XFontStruct *font; /* The font we want to use. */
XWindowAttributes root_attr;
- Window root, bar_window, key_window, input_window;
+ Window root, bar_window, key_window, input_window, frame_window;
int bar_is_raised;
int screen_num; /* Our screen number as dictated my X */
Colormap def_cmap;
@@ -121,9 +121,12 @@ extern rp_window *rp_mapped_window_sentinel;
assigned to them and are not visible/active. */
extern rp_window *rp_unmapped_window_sentinel;
-/* Pointer to the currently focused window. Points to an element in
- the mapped window list. NULL if there are no mapped windows. */
-extern rp_window *rp_current_window;
+/* A list of frames that may or may not contain windows. There should
+ always be one in the list. */
+extern rp_window_frame *rp_window_frame_sentinel;
+
+/* Pointer to the currently focused frame. */
+extern rp_window_frame *rp_current_frame;
extern screen_info *screens;
extern int num_screens;