summaryrefslogtreecommitdiffstats
path: root/video/out/x11_common.h
diff options
context:
space:
mode:
authorDudemanguy <random342@airmail.cc>2023-08-12 19:30:11 -0500
committerDudemanguy <random342@airmail.cc>2023-08-20 02:01:39 +0000
commit200992f90c49fdc2d5605cf79ffaa5247fd62e3e (patch)
tree480bd98e2cab6a93fa80616019b140883ab4ff77 /video/out/x11_common.h
parenta0038504a3ef408304f87cda32f3aec7cd9975e3 (diff)
downloadmpv-200992f90c49fdc2d5605cf79ffaa5247fd62e3e.tar.bz2
mpv-200992f90c49fdc2d5605cf79ffaa5247fd62e3e.tar.xz
x11: remove xinerama and refactor window geometry
mpv mixes xinerama and randr usage together which gets kind of confusing and is also pretty stupid. Xinerama is completely unneccesary today since randr can do everything it can do and much more. Remove it. This reworks a lot of the window/geometry handling stuff to be centered completely around xrandr_display plus some other tweaks to the geometry handling. An important concept is that current_icc_screen is changed into current_screen and used more generously since it is useful for things besides just icc profiles.
Diffstat (limited to 'video/out/x11_common.h')
-rw-r--r--video/out/x11_common.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/video/out/x11_common.h b/video/out/x11_common.h
index de17113c55..0ea0cd574f 100644
--- a/video/out/x11_common.h
+++ b/video/out/x11_common.h
@@ -41,7 +41,8 @@ struct xrandr_display {
double fps;
char *name;
bool overlaps;
- int atom_id;
+ int atom_id; // offset by location of primary
+ int screen;
};
struct vo_x11_state {
@@ -65,7 +66,7 @@ struct vo_x11_state {
struct xrandr_display displays[MAX_DISPLAYS];
int num_displays;
- int current_icc_screen;
+ int current_screen;
int xrandr_event;
bool has_mesa;