summaryrefslogtreecommitdiff
path: root/src/data.h
diff options
context:
space:
mode:
authorsabetts <sabetts>2003-03-18 03:56:57 +0000
committersabetts <sabetts>2003-03-18 03:56:57 +0000
commit7e2c4ccc01fbaf3ea93aa3963ba6cc2e9f5ce163 (patch)
tree412bb53a1b4aeaf9b6c60a8c6c116988b4c0fd0a /src/data.h
parentd9712b14bec0317663b9464108d8155152e41cad (diff)
downloadratpoison-7e2c4ccc01fbaf3ea93aa3963ba6cc2e9f5ce163.zip
* src/actions.c (initialize_default_keybindings): add keybindings
for fselect and resize. Move keybinding for curframe. * src/split.c (create_initial_frame): call frame_new to allocate a frame. (split_frame): likewise * src/main.c (free_screen): call frame_free to free the screen frames. * src/frame.h (frame_new): new prototype (frame_free): likewise * src/frame.c (frame_new): new function. (frame_free): likewise
Diffstat (limited to 'src/data.h')
-rw-r--r--src/data.h20
1 files changed, 17 insertions, 3 deletions
diff --git a/src/data.h b/src/data.h
index e87d63e..9f0d2fd 100644
--- a/src/data.h
+++ b/src/data.h
@@ -106,9 +106,8 @@ struct screen_info
char *display_string;
- /* A list of frames that may or may not contain windows. There should
- always be one in the list. */
- struct list_head rp_window_frames;
+ /* A tree of frame splits. */
+ rp_split_tree *split_tree;
/* Keep track of which numbers have been given to frames. */
struct numset *frames_numset;
@@ -118,6 +117,21 @@ struct screen_info
rp_window_frame *rp_current_frame;
};
+rp_split_tree
+{
+ /* The width and height of this node. */
+ int width, height;
+
+ /* The frame occupying this split. If this is a leaf node, then
+ frame will not be a pointer to an actual frame, otherwise it'll
+ be NULL. */
+ rp_window_frame *frame;
+
+ /* A list of rp_split_tree children. By convention this list is
+ always has 0 or 2 elements in it. */
+ struct list_head children;
+}
+
struct rp_action
{
KeySym key;