summaryrefslogtreecommitdiff
path: root/src/data.h
diff options
context:
space:
mode:
authorJérémie Courrèges-Anglas <jca@wxcvbn.org>2017-02-15 16:25:34 +0100
committerJérémie Courrèges-Anglas <jca@wxcvbn.org>2017-02-15 16:25:34 +0100
commit2dbe923ea51cc9a13f4c20091e1bfd86f56f9688 (patch)
tree3dd7587776ff1679dac0aee80913244d2dd0cad4 /src/data.h
parentc24d1e39ea14666f86c286d72d7f88c9028b3094 (diff)
parent2bda8bc2933dc3be318fbb7d1e290cd6ff4b1262 (diff)
downloadratpoison-2dbe923ea51cc9a13f4c20091e1bfd86f56f9688.zip
Merge branch 'xrandr'
All the hard work on xrandr done by Mathieu OTHACEHE, thanks!
Diffstat (limited to 'src/data.h')
-rw-r--r--src/data.h34
1 files changed, 30 insertions, 4 deletions
diff --git a/src/data.h b/src/data.h
index 52aaa42..1d3be80 100644
--- a/src/data.h
+++ b/src/data.h
@@ -35,6 +35,7 @@
typedef struct rp_window rp_window;
typedef struct rp_screen rp_screen;
+typedef struct rp_global_screen rp_global_screen;
typedef struct rp_action rp_action;
typedef struct rp_keymap rp_keymap;
typedef struct rp_frame rp_frame;
@@ -149,18 +150,37 @@ struct rp_group
struct list_head node;
};
+struct rp_global_screen
+{
+ Window root;
+ unsigned long fg_color, bg_color, fw_color, bw_color; /* The pixel color. */
+
+ /* This numset is responsible for giving out numbers for each screen */
+ struct numset *numset;
+};
+
+struct xrandr_info {
+ int output;
+ int crtc;
+ int primary;
+ struct sbuf* name;
+};
+
struct rp_screen
{
GC normal_gc, inverse_gc;
Window root, bar_window, key_window, input_window, frame_window, help_window;
int bar_is_raised;
- int screen_num; /* Our screen number as dictated my X */
- int xine_screen_num; /* Our screen number for the Xinerama extension */
+ int screen_num; /* Our screen number as dictated by X */
Colormap def_cmap;
Cursor rat;
- unsigned long fg_color, bg_color, fw_color, bw_color; /* The pixel color. */
- /* Here to abstract over the Xinerama vs X screens difference */
+ /* Screen number, handled by rp_global_screen numset */
+ int number;
+
+ struct xrandr_info xrandr;
+
+ /* Here to abstract over the Xrandr vs X screens difference */
int left, top, width, height;
char *display_string;
@@ -176,6 +196,12 @@ struct rp_screen
when you switch screens the focus doesn't get frobbed. */
int current_frame;
+ /* This structure can exist in a list. */
+ struct list_head node;
+
+ /* Used by sfrestore */
+ struct sbuf *scratch_buffer;
+
#ifdef USE_XFT_FONT
XftFont *xft_font;
XftColor xft_fg_color, xft_bg_color;