CVS commit: xsrc/external/mit/xdm/dist/greeter
Module Name:xsrc Committed By: mlelstv Date: Tue May 24 22:47:53 UTC 2022 Modified Files: xsrc/external/mit/xdm/dist/greeter: Login.c Log Message: Position input fields without overlap. To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 xsrc/external/mit/xdm/dist/greeter/Login.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: xsrc/external/mit/xdm/dist/greeter/Login.c diff -u xsrc/external/mit/xdm/dist/greeter/Login.c:1.6 xsrc/external/mit/xdm/dist/greeter/Login.c:1.7 --- xsrc/external/mit/xdm/dist/greeter/Login.c:1.6 Fri Jun 7 05:49:37 2019 +++ xsrc/external/mit/xdm/dist/greeter/Login.c Tue May 24 22:47:52 2022 @@ -328,7 +328,7 @@ XmuXftTextWidth(Display *dpy, XftFont *f #define SEP_H(w) ((w)->login.inframeswidth * 2) #define PROMPT_X(w) (2 * PROMPT_X_INC(w)) -#define PROMPT_Y(w,n) ((SEP_Y(w) + ((n)+1) * GREET_Y_INC(w) + 2 * (w)->login.inframeswidth)) +#define PROMPT_Y(w,n) (SEP_Y(w) + GREET_Y_INC(w) + (n) * Y_INC(w) + (2*(n)+1) * ((w)->login.inframeswidth + VALUE_VPAD(w,n))) #define PROMPT_W(w) (w->core.width - PROMPT_X(w) - 2 * TEXT_X_INC(w) - LOGO_W(w)) #define PROMPT_H(w) Y_INC(w)
CVS commit: xsrc/external/mit/xdm/dist/greeter
Module Name:xsrc Committed By: mlelstv Date: Tue May 24 22:47:53 UTC 2022 Modified Files: xsrc/external/mit/xdm/dist/greeter: Login.c Log Message: Position input fields without overlap. To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 xsrc/external/mit/xdm/dist/greeter/Login.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: xsrc/external/mit/xdm/dist/greeter
Module Name:xsrc Committed By: mlelstv Date: Fri Jun 7 05:49:37 UTC 2019 Modified Files: xsrc/external/mit/xdm/dist/greeter: Login.c Log Message: Center padding around edit fields. Correct greeting text horizontal position for Logo padding. To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 xsrc/external/mit/xdm/dist/greeter/Login.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: xsrc/external/mit/xdm/dist/greeter/Login.c diff -u xsrc/external/mit/xdm/dist/greeter/Login.c:1.5 xsrc/external/mit/xdm/dist/greeter/Login.c:1.6 --- xsrc/external/mit/xdm/dist/greeter/Login.c:1.5 Fri Jun 7 05:01:55 2019 +++ xsrc/external/mit/xdm/dist/greeter/Login.c Fri Jun 7 05:49:37 2019 @@ -255,7 +255,7 @@ static XtResource resources[] = { #define Y_ASCENT(w) max (F_ASCENT(prompt), F_ASCENT(text)) #define Y_DESCENT(w) max (F_DESCENT(prompt), F_DESCENT(text)) -#define Y_INC(w) ((Y_ASCENT(w) + Y_DESCENT(w)) * 5 / 4) +#define Y_INC(w) (Y_ASCENT(w) + Y_DESCENT(w)) #define CURSOR_W 5 @@ -316,7 +316,7 @@ XmuXftTextWidth(Display *dpy, XftFont *f #define GREETING(w) ((w)->login.secure_session && !(w)->login.allow_access ?\ (w)->login.greeting : (w)->login.unsecure_greet) -#define GREET_X(w) ((int)((w->core.width - \ +#define GREET_X(w) ((int)((w->core.width - LOGO_W(w) + LOGO_PAD(w) - \ STRING_WIDTH (greet, GREETING(w))) / 2)) #define GREET_Y(w) (GREETING(w)[0] ? 2 * GREET_Y_INC (w) : 0) #define GREET_W(w) (max (STRING_WIDTH (greet, w->login.greeting), \ @@ -333,6 +333,7 @@ XmuXftTextWidth(Display *dpy, XftFont *f #define PROMPT_H(w) Y_INC(w) #define VALUE_HPAD(w,n) (TEXT_X_INC(w)/8) +#define VALUE_VPAD(w,n) ((Y_INC(w)+3)/4) #define VALUE_X(w,n) (PROMPT_X(w) + CUR_PROMPT_W(w,n) + VALUE_HPAD(w,n)) #define VALUE_Y(w,n) (PROMPT_Y(w,n)) #define VALUE_W(w,n) (PROMPT_W(w) - VALUE_X(w,n) + PROMPT_X(w) - CURSOR_W) @@ -388,7 +389,7 @@ realizeValue (LoginWidget w, int cursor, x = VALUE_X (w,promptNum) + VALUE_HPAD(w,promptNum); y = VALUE_Y (w,promptNum); -height = Y_INC(w); +height = VALUE_H(w,promptNum); width = VALUE_W(w,promptNum); offset = VALUE_SHOW_START(w, promptNum); @@ -742,11 +743,13 @@ draw_it (LoginWidget w) for (p = 0; p < NUM_PROMPTS ; p++) { int in_frame_x = VALUE_X(w,p) - w->login.inframeswidth; - int in_frame_y = VALUE_Y(w,p) - Y_ASCENT(w) - w->login.inframeswidth; + int in_frame_y = VALUE_Y(w,p) - Y_ASCENT(w) - w->login.inframeswidth + - VALUE_VPAD(w,p); int in_width = VALUE_W(w,p) + CURSOR_W + 2 * w->login.inframeswidth + 2 * VALUE_HPAD(w,p); - int in_height = Y_INC(w) + 2 * w->login.inframeswidth; + int in_height = VALUE_H(w,p) + 2 * w->login.inframeswidth + + 2 * VALUE_VPAD(w,p); GC topLeftGC, botRightGC, inpGC; @@ -788,12 +791,8 @@ draw_it (LoginWidget w) } if (GREETING(w)[0]) { - int gx = GREET_X(w); - -#ifdef XPM - gx -= ((w->login.logoWidth/2) + w->login.logoPadding); -#endif - DRAW_STRING (greet, gx, GREET_Y(w), GREETING(w), strlen (GREETING(w))); + DRAW_STRING (greet, GREET_X(w), GREET_Y(w), + GREETING(w), strlen (GREETING(w))); } for (p = 0; p < NUM_PROMPTS ; p++) { if (PROMPT_STATE(w, p) != LOGIN_PROMPT_NOT_SHOWN) {
CVS commit: xsrc/external/mit/xdm/dist/greeter
Module Name:xsrc Committed By: mlelstv Date: Fri Jun 7 05:49:37 UTC 2019 Modified Files: xsrc/external/mit/xdm/dist/greeter: Login.c Log Message: Center padding around edit fields. Correct greeting text horizontal position for Logo padding. To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 xsrc/external/mit/xdm/dist/greeter/Login.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: xsrc/external/mit/xdm/dist/greeter
Module Name:xsrc Committed By: mlelstv Date: Fri Jun 7 05:01:55 UTC 2019 Modified Files: xsrc/external/mit/xdm/dist/greeter: Login.c Log Message: Add visible padding to edit fields. Vertically: 25% of field height. Horizontally: 25% of character width. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 xsrc/external/mit/xdm/dist/greeter/Login.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: xsrc/external/mit/xdm/dist/greeter
Module Name:xsrc Committed By: mlelstv Date: Fri Jun 7 05:01:55 UTC 2019 Modified Files: xsrc/external/mit/xdm/dist/greeter: Login.c Log Message: Add visible padding to edit fields. Vertically: 25% of field height. Horizontally: 25% of character width. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 xsrc/external/mit/xdm/dist/greeter/Login.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: xsrc/external/mit/xdm/dist/greeter/Login.c diff -u xsrc/external/mit/xdm/dist/greeter/Login.c:1.4 xsrc/external/mit/xdm/dist/greeter/Login.c:1.5 --- xsrc/external/mit/xdm/dist/greeter/Login.c:1.4 Fri Jun 7 04:29:02 2019 +++ xsrc/external/mit/xdm/dist/greeter/Login.c Fri Jun 7 05:01:55 2019 @@ -255,7 +255,7 @@ static XtResource resources[] = { #define Y_ASCENT(w) max (F_ASCENT(prompt), F_ASCENT(text)) #define Y_DESCENT(w) max (F_DESCENT(prompt), F_DESCENT(text)) -#define Y_INC(w) (Y_ASCENT(w) + Y_DESCENT(w)) +#define Y_INC(w) ((Y_ASCENT(w) + Y_DESCENT(w)) * 5 / 4) #define CURSOR_W 5 @@ -332,7 +332,8 @@ XmuXftTextWidth(Display *dpy, XftFont *f #define PROMPT_W(w) (w->core.width - PROMPT_X(w) - 2 * TEXT_X_INC(w) - LOGO_W(w)) #define PROMPT_H(w) Y_INC(w) -#define VALUE_X(w,n) (PROMPT_X(w) + CUR_PROMPT_W(w,n)) +#define VALUE_HPAD(w,n) (TEXT_X_INC(w)/8) +#define VALUE_X(w,n) (PROMPT_X(w) + CUR_PROMPT_W(w,n) + VALUE_HPAD(w,n)) #define VALUE_Y(w,n) (PROMPT_Y(w,n)) #define VALUE_W(w,n) (PROMPT_W(w) - VALUE_X(w,n) + PROMPT_X(w) - CURSOR_W) #define VALUE_H(w,n) Y_INC(w) @@ -384,7 +385,7 @@ realizeValue (LoginWidget w, int cursor, text[i] = 0; } -x = VALUE_X (w,promptNum); +x = VALUE_X (w,promptNum) + VALUE_HPAD(w,promptNum); y = VALUE_Y (w,promptNum); height = Y_INC(w); @@ -468,7 +469,8 @@ realizeCursor (LoginWidget w, GC gc) return; } -x = VALUE_X (w, w->login.activePrompt); +x = VALUE_X (w, w->login.activePrompt) + + VALUE_HPAD(w, w->login.activePrompt); y = VALUE_Y (w, w->login.activePrompt); ascent = F_ASCENT(text); descent = F_DESCENT(text); @@ -742,7 +744,8 @@ draw_it (LoginWidget w) int in_frame_x = VALUE_X(w,p) - w->login.inframeswidth; int in_frame_y = VALUE_Y(w,p) - Y_ASCENT(w) - w->login.inframeswidth; - int in_width = VALUE_W(w,p) + CURSOR_W + 2 * w->login.inframeswidth; + int in_width = VALUE_W(w,p) + CURSOR_W + 2 * w->login.inframeswidth + + 2 * VALUE_HPAD(w,p); int in_height = Y_INC(w) + 2 * w->login.inframeswidth; GC topLeftGC, botRightGC, inpGC;
CVS commit: xsrc/external/mit/xdm/dist/greeter
Module Name:xsrc Committed By: mlelstv Date: Fri Jun 7 04:29:03 UTC 2019 Modified Files: xsrc/external/mit/xdm/dist/greeter: Login.c Log Message: Respect the outer border width for sizing the widget horizontally. Add it twice so that the greeting text can neither trash nor touch the border. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 xsrc/external/mit/xdm/dist/greeter/Login.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: xsrc/external/mit/xdm/dist/greeter/Login.c diff -u xsrc/external/mit/xdm/dist/greeter/Login.c:1.3 xsrc/external/mit/xdm/dist/greeter/Login.c:1.4 --- xsrc/external/mit/xdm/dist/greeter/Login.c:1.3 Fri Jun 7 04:00:43 2019 +++ xsrc/external/mit/xdm/dist/greeter/Login.c Fri Jun 7 04:29:02 2019 @@ -345,7 +345,7 @@ XmuXftTextWidth(Display *dpy, XftFont *f #define FAIL_W(w) max(ERROR_W(w, w->login.failMsg), \ ERROR_W(w, w->login.passwdChangeMsg)) -#define PAD_X(w) (2 * (PROMPT_X(w) + max (GREET_X_INC(w), FAIL_X_INC(w +#define PAD_X(w) (2 * (PROMPT_X(w) + max (GREET_X_INC(w), FAIL_X_INC(w)) + 4*w->login.outframewidth)) #define PAD_Y(w) (max (max (Y_INC(w), GREET_Y_INC(w)),\ FAIL_Y_INC(w)))
CVS commit: xsrc/external/mit/xdm/dist/greeter
Module Name:xsrc Committed By: mlelstv Date: Fri Jun 7 04:29:03 UTC 2019 Modified Files: xsrc/external/mit/xdm/dist/greeter: Login.c Log Message: Respect the outer border width for sizing the widget horizontally. Add it twice so that the greeting text can neither trash nor touch the border. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 xsrc/external/mit/xdm/dist/greeter/Login.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: xsrc/external/mit/xdm/dist/greeter
Module Name:xsrc Committed By: mlelstv Date: Fri Jun 7 04:00:43 UTC 2019 Modified Files: xsrc/external/mit/xdm/dist/greeter: Login.c Log Message: Cursor position was two pixels off to the left. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 xsrc/external/mit/xdm/dist/greeter/Login.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: xsrc/external/mit/xdm/dist/greeter
Module Name:xsrc Committed By: mlelstv Date: Fri Jun 7 04:00:43 UTC 2019 Modified Files: xsrc/external/mit/xdm/dist/greeter: Login.c Log Message: Cursor position was two pixels off to the left. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 xsrc/external/mit/xdm/dist/greeter/Login.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: xsrc/external/mit/xdm/dist/greeter/Login.c diff -u xsrc/external/mit/xdm/dist/greeter/Login.c:1.2 xsrc/external/mit/xdm/dist/greeter/Login.c:1.3 --- xsrc/external/mit/xdm/dist/greeter/Login.c:1.2 Sat Jun 1 07:54:12 2019 +++ xsrc/external/mit/xdm/dist/greeter/Login.c Fri Jun 7 04:00:43 2019 @@ -506,6 +506,8 @@ realizeCursor (LoginWidget w, GC gc) break; } +x += 2; + XFillRectangle (XtDisplay (w), XtWindow (w), gc, x, y - ascent + 1, 1, ascent + descent - 2);
CVS commit: xsrc/external/mit/xdm/dist/greeter
Module Name:xsrc Committed By: mlelstv Date: Sat Jun 1 07:54:12 UTC 2019 Modified Files: xsrc/external/mit/xdm/dist/greeter: Login.c Log Message: fix geometry calculations so that entered text doesn't clobber the input field borders. scroll non-empty input when cursor deletes first position so that one character stays visible. To generate a diff of this commit: cvs rdiff -u -r1.1.1.5 -r1.2 xsrc/external/mit/xdm/dist/greeter/Login.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: xsrc/external/mit/xdm/dist/greeter
Module Name:xsrc Committed By: mlelstv Date: Sat Jun 1 07:54:12 UTC 2019 Modified Files: xsrc/external/mit/xdm/dist/greeter: Login.c Log Message: fix geometry calculations so that entered text doesn't clobber the input field borders. scroll non-empty input when cursor deletes first position so that one character stays visible. To generate a diff of this commit: cvs rdiff -u -r1.1.1.5 -r1.2 xsrc/external/mit/xdm/dist/greeter/Login.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: xsrc/external/mit/xdm/dist/greeter/Login.c diff -u xsrc/external/mit/xdm/dist/greeter/Login.c:1.1.1.5 xsrc/external/mit/xdm/dist/greeter/Login.c:1.2 --- xsrc/external/mit/xdm/dist/greeter/Login.c:1.1.1.5 Tue Mar 5 08:26:49 2019 +++ xsrc/external/mit/xdm/dist/greeter/Login.c Sat Jun 1 07:54:12 2019 @@ -244,8 +244,8 @@ static XtResource resources[] = { #define TEXT_X_INC(w) F_MAX_WIDTH(text) #define TEXT_Y_INC(w) (F_ASCENT(text) + F_DESCENT(text)) -#define PROMPT_X_INC(w) F_MAX_WIDTH(prompt) -#define PROMPT_Y_INC(w) (F_ASCENT(prompt) + F_DESCENT(prompt)) +#define PROMPT_X_INC(w) F_MAX_WIDTH(prompt) +#define PROMPT_Y_INC(w) (F_ASCENT(prompt) + F_DESCENT(prompt)) #define GREET_X_INC(w) F_MAX_WIDTH(greet) #define GREET_Y_INC(w) (F_ASCENT(greet) + F_DESCENT(greet)) @@ -253,8 +253,11 @@ 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_ASCENT(w) max (F_ASCENT(prompt), F_ASCENT(text)) +#define Y_DESCENT(w) max (F_DESCENT(prompt), F_DESCENT(text)) +#define Y_INC(w) (Y_ASCENT(w) + Y_DESCENT(w)) +#define CURSOR_W 5 #define PROMPT_TEXT(w,n) ((w)->login.prompts[n].promptText) #define DEF_PROMPT_TEXT(w,n) ((w)->login.prompts[n].defaultPrompt) @@ -272,13 +275,12 @@ static XtResource resources[] = { #ifdef USE_XFT -# define TEXT_COLOR(f) (w->login.f##color.pixel) - -# define TEXT_WIDTH(f, m, l) XmuXftTextWidth(XtDisplay (w), \ - w->login.f##Face, (FcChar8 *) m, l) static int XmuXftTextWidth(Display *dpy, XftFont *font, FcChar8 *string, int len); +# define TEXT_COLOR(f) (w->login.f##color.pixel) +# define TEXT_WIDTH(f, m, l) XmuXftTextWidth(XtDisplay (w), \ +w->login.f##Face, (FcChar8 *) m, l) # define DRAW_STRING(f, x, y, m, l) \ /* Debug("DRAW_STRING(%s, %d, %d, %s, %d)\n", #f, x, y, m, l); */ \ XftDrawString8 (w->login.draw, &w->login.f##color, w->login.f##Face, \ @@ -287,9 +289,7 @@ XmuXftTextWidth(Display *dpy, XftFont *f #else # define TEXT_COLOR(f) (w->login.f##pixel) - # define TEXT_WIDTH(f, m, l) (XTextWidth (w->login.f##Font, m, l)) - # define DRAW_STRING(f, x, y, m, l) \ XDrawString (XtDisplay (w), XtWindow (w), w->login.f##GC, x, y, m, l) @@ -300,18 +300,19 @@ XmuXftTextWidth(Display *dpy, XftFont *f /* Padded width of logo image, if compiled with XPM support */ #ifdef XPM -# define LOGO_W(w) ((w)->login.logoWidth + ((w)->login.logoPadding * 2)) +# define LOGO_PAD(w) ((w)->login.logoPadding) +# define LOGO_W(w) ((w)->login.logoWidth + (LOGO_PAD(w) * 2)) #else +# define LOGO_PAD(w) 0 # define LOGO_W(w) 0 #endif #define TEXT_PROMPT_W(w, m) (STRING_WIDTH(prompt, m) + w->login.inframeswidth) -#define DEF_PROMPT_W(w,n) TEXT_PROMPT_W(w, w->login.prompts[n].defaultPrompt) -#define CUR_PROMPT_W(w,n) (max(MAX_DEF_PROMPT_W(w), PROMPT_TEXT(w,n) ? \ - TEXT_PROMPT_W(w, PROMPT_TEXT(w,n)) : 0)) - -#define MAX_DEF_PROMPT_W(w) (max(DEF_PROMPT_W(w,0), DEF_PROMPT_W(w,1))) +#define DEF_PROMPT_W(w,n) TEXT_PROMPT_W(w, w->login.prompts[n].defaultPrompt) +#define MAX_DEF_PROMPT_W(w) (max(DEF_PROMPT_W(w,0), DEF_PROMPT_W(w,1))) +#define CUR_PROMPT_W(w,n) (max(MAX_DEF_PROMPT_W(w), PROMPT_TEXT(w,n) ? \ + TEXT_PROMPT_W(w, PROMPT_TEXT(w,n)) : 0)) #define GREETING(w) ((w)->login.secure_session && !(w)->login.allow_access ?\ (w)->login.greeting : (w)->login.unsecure_greet) @@ -319,32 +320,32 @@ XmuXftTextWidth(Display *dpy, XftFont *f STRING_WIDTH (greet, GREETING(w))) / 2)) #define GREET_Y(w) (GREETING(w)[0] ? 2 * GREET_Y_INC (w) : 0) #define GREET_W(w) (max (STRING_WIDTH (greet, w->login.greeting), \ - STRING_WIDTH (greet, w->login.unsecure_greet)) \ - + LOGO_W(w)) + STRING_WIDTH (greet, w->login.unsecure_greet))) + +#define SEP_X(w) ((w)->login.outframewidth + LOGO_PAD(w)) +#define SEP_Y(w) (GREET_Y(w) + GREET_Y_INC(w)) +#define SEP_W(w) ((w)->core.width - 2*(w->login.outframewidth) - LOGO_W(w) - LOGO_PAD(w)) +#define SEP_H(w) ((w)->login.inframeswidth * 2) #define PROMPT_X(w) (2 * PROMPT_X_INC(w)) -#define PROMPT_Y(w,n) ((GREET_Y(w) + GREET_Y_INC(w) +\ - F_ASCENT(greet) + Y_INC(w)) + \ - (n * PROMPT_SPACE_Y(w))) -#define PROMPT_W(w) (w->core.width - (2 * TEXT_X_INC(w))) -#define PROMPT_H(w) (5 * Y_INC(w) / 4) +#define PROMPT_Y(w,n) ((SEP_Y(w) + ((n