Sat Mar 16 08:50:48 2019 UTC ()
xosd: place text correctly when using offset monitors.

From Aran Clauson in PR pkg/53994. Upstream seems dead.


(bsiegert)
diff -r1.13 -r1.14 pkgsrc/x11/xosd/Makefile
diff -r1.14 -r1.15 pkgsrc/x11/xosd/distinfo
diff -r0 -r1.1 pkgsrc/x11/xosd/patches/patch-src_libxosd_intern.h
diff -r0 -r1.1 pkgsrc/x11/xosd/patches/patch-src_libxosd_xosd.c

cvs diff -r1.13 -r1.14 pkgsrc/x11/xosd/Makefile (expand / switch to unified diff)

--- pkgsrc/x11/xosd/Makefile 2018/12/09 21:05:37 1.13
+++ pkgsrc/x11/xosd/Makefile 2019/03/16 08:50:47 1.14
@@ -1,11 +1,12 @@ @@ -1,11 +1,12 @@
1# $NetBSD: Makefile,v 1.13 2018/12/09 21:05:37 adam Exp $ 1# $NetBSD: Makefile,v 1.14 2019/03/16 08:50:47 bsiegert Exp $
2 2
3.include "Makefile.common" 3.include "Makefile.common"
4 4
5COMMENT= Library to display shaped text on your X display 5COMMENT= Library to display shaped text on your X display
 6PKGREVISION= 1
6 7
7CONFIGURE_ENV+= XOSD_XMMS_PLUGIN=NO 8CONFIGURE_ENV+= XOSD_XMMS_PLUGIN=NO
8CONFIGURE_ARGS+= --disable-gdk_pixbuftest 9CONFIGURE_ARGS+= --disable-gdk_pixbuftest
9CONFIGURE_ARGS+= --disable-new-plugin 10CONFIGURE_ARGS+= --disable-new-plugin
10 11
11.include "../../mk/bsd.pkg.mk" 12.include "../../mk/bsd.pkg.mk"

cvs diff -r1.14 -r1.15 pkgsrc/x11/xosd/distinfo (expand / switch to unified diff)

--- pkgsrc/x11/xosd/distinfo 2015/11/04 03:29:10 1.14
+++ pkgsrc/x11/xosd/distinfo 2019/03/16 08:50:47 1.15
@@ -1,9 +1,11 @@ @@ -1,9 +1,11 @@
1$NetBSD: distinfo,v 1.14 2015/11/04 03:29:10 agc Exp $ 1$NetBSD: distinfo,v 1.15 2019/03/16 08:50:47 bsiegert Exp $
2 2
3SHA1 (xosd-2.2.14.tar.gz) = 1d459a62239c9fe842d835bb7f60eb2edd7c979f 3SHA1 (xosd-2.2.14.tar.gz) = 1d459a62239c9fe842d835bb7f60eb2edd7c979f
4RMD160 (xosd-2.2.14.tar.gz) = 8a39756c5a46f2897be9bbd47dd86770f42ed648 4RMD160 (xosd-2.2.14.tar.gz) = 8a39756c5a46f2897be9bbd47dd86770f42ed648
5SHA512 (xosd-2.2.14.tar.gz) = 3caf6d106d34488f4823e2a58fdff7a69b90f505b8da2443485167ff0362c6f27614c9a5019e738ff1f897d3c2249c934ff60953e3775566d66e8e9b30e4e473 5SHA512 (xosd-2.2.14.tar.gz) = 3caf6d106d34488f4823e2a58fdff7a69b90f505b8da2443485167ff0362c6f27614c9a5019e738ff1f897d3c2249c934ff60953e3775566d66e8e9b30e4e473
6Size (xosd-2.2.14.tar.gz) = 418331 bytes 6Size (xosd-2.2.14.tar.gz) = 418331 bytes
7SHA1 (patch-aa) = b555bbb0777dcf0d2475496ae8725b1b2c202fb5 7SHA1 (patch-aa) = b555bbb0777dcf0d2475496ae8725b1b2c202fb5
8SHA1 (patch-ab) = 5502dc0f546a5afe199e746995efd90b0056a34b 8SHA1 (patch-ab) = 5502dc0f546a5afe199e746995efd90b0056a34b
9SHA1 (patch-ac) = 3c42659ff34b26710fd1ad3329a1f203710155f5 9SHA1 (patch-ac) = 3c42659ff34b26710fd1ad3329a1f203710155f5
 10SHA1 (patch-src_libxosd_intern.h) = 56f45d50d5c79913b6972bb1d603432dbf56f869
 11SHA1 (patch-src_libxosd_xosd.c) = 5343cc73338eb12ccdb56ce3e907ddf36252db4b

File Added: pkgsrc/x11/xosd/patches/patch-src_libxosd_intern.h
$NetBSD: patch-src_libxosd_intern.h,v 1.1 2019/03/16 08:50:48 bsiegert Exp $

Support for y-offset monitors, http://gnats.netbsd.org/53994

--- src/libxosd/intern.h.orig	2004-11-04 19:50:45.000000000 +0000
+++ src/libxosd/intern.h
@@ -107,6 +107,7 @@ struct xosd
   int screen_width;             /* CONST x11 */
   int screen_height;            /* CONST x11 */
   int screen_xpos;              /* CONST x11 */
+  int screen_ypos;              /* CONST x11 */
   int height;                   /* CACHE (font) */
   int line_height;              /* CACHE (font) */
   xosd_pos pos;                 /* CONF */

File Added: pkgsrc/x11/xosd/patches/patch-src_libxosd_xosd.c
$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)