summaryrefslogtreecommitdiffstats
path: root/source/x/x11
diff options
context:
space:
mode:
Diffstat (limited to 'source/x/x11')
-rw-r--r--source/x/x11/build/xdm2
-rw-r--r--source/x/x11/patch/xdm.patch1
-rw-r--r--source/x/x11/patch/xdm/xdm-greeter.patch27
3 files changed, 29 insertions, 1 deletions
diff --git a/source/x/x11/build/xdm b/source/x/x11/build/xdm
index d00491fd7..0cfbf0888 100644
--- a/source/x/x11/build/xdm
+++ b/source/x/x11/build/xdm
@@ -1 +1 @@
-1
+2
diff --git a/source/x/x11/patch/xdm.patch b/source/x/x11/patch/xdm.patch
new file mode 100644
index 000000000..2732c0a3d
--- /dev/null
+++ b/source/x/x11/patch/xdm.patch
@@ -0,0 +1 @@
+cat $CWD/patch/xdm/xdm-greeter.patch | patch -p1 || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/source/x/x11/patch/xdm/xdm-greeter.patch b/source/x/x11/patch/xdm/xdm-greeter.patch
new file mode 100644
index 000000000..84db96a07
--- /dev/null
+++ b/source/x/x11/patch/xdm/xdm-greeter.patch
@@ -0,0 +1,27 @@
+# The existing calculation of Y_INC make no allowance for the size of the
+# inner frame of the input field. When the input field text height + the
+# inner frame size exceed the height of the prompt text this results in
+# misalignment and artefacts being left behind when erasing characters
+# with tails (such as 'j').
+#
+# The following resource settings can be used to reproduce the issue:
+# xlogin*face: Helvetica-30
+# xlogin*promptFace: Helvetica-16:bold
+# xlogin*innerFramesWidth: 8
+
+# This patch resolves both issues.
+#
+# Author: gary.langshaw@gmail.com
+
+diff -Nurp xdm-1.1.16.orig/greeter/Login.c xdm-1.1.16/greeter/Login.c
+--- xdm-1.1.16.orig/greeter/Login.c 2024-04-05 01:04:33.000000000 +0100
++++ xdm-1.1.16/greeter/Login.c 2024-06-11 15:39:20.596773706 +0100
+@@ -253,7 +253,7 @@ static XtResource resources[] = {
+ #define FAIL_X_INC(w) F_MAX_WIDTH(fail)
+ #define FAIL_Y_INC(w) (F_ASCENT(fail) + F_DESCENT(fail))
+
+-#define Y_INC(w) max (TEXT_Y_INC(w), PROMPT_Y_INC(w))
++#define Y_INC(w) max ((2 * (w)->login.inframeswidth) + TEXT_Y_INC(w), PROMPT_Y_INC(w))
+
+
+ #define PROMPT_TEXT(w,n) ((w)->login.prompts[n].promptText)