blob: 0d9262ddc03cfff187e5c2d1a453206289d7e4b8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
$NetBSD: patch-src_libxosd_xosd.c,v 1.1 2019/03/16 08:50:48 bsiegert Exp $
Support for y-offset monitors, http://gnats.netbsd.org/53994
--- src/libxosd/xosd.c.orig 2004-11-17 19:27:11.000000000 +0000
+++ src/libxosd/xosd.c
@@ -326,13 +326,13 @@ event_loop(void *osdv)
}
switch (osd->pos) {
case XOSD_bottom:
- y = osd->screen_height - osd->height - osd->voffset;
+ y = osd->screen_height + osd->screen_ypos - osd->height - osd->voffset;
break;
case XOSD_middle:
- y = (osd->screen_height - osd->height) / 2 - osd->voffset;
+ y = (osd->screen_height + osd->screen_ypos - osd->height) / 2 - osd->voffset;
break;
case XOSD_top:
- y = osd->voffset;
+ y = osd->screen_ypos + osd->voffset;
}
XMoveWindow(osd->display, osd->window, x, y);
}
@@ -746,12 +746,14 @@ xosd_create(int number_lines)
osd->screen_width = screeninfo[0].width;
osd->screen_height = screeninfo[0].height;
osd->screen_xpos = screeninfo[0].x_org;
+ osd->screen_ypos = screeninfo[0].y_org;
} else
#endif
{
osd->screen_width = XDisplayWidth(osd->display, osd->screen);
osd->screen_height = XDisplayHeight(osd->display, osd->screen);
osd->screen_xpos = 0;
+ osd->screen_ypos = 0;
}
#ifdef HAVE_XINERAMA
if (screeninfo)
|