X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=hacks%2Fxmatrix.c;h=9f97bb773205cde19267a905b0d2170b35ea0f4b;hb=39809ded547bdbb08207d3e514950425215b4410;hp=85ed51e72cf5f438c9e4ec24a05a3e0820cbb967;hpb=6afd6db0ae9396cd7ff897ade597cd5483f49b0e;p=xscreensaver diff --git a/hacks/xmatrix.c b/hacks/xmatrix.c index 85ed51e7..9f97bb77 100644 --- a/hacks/xmatrix.c +++ b/hacks/xmatrix.c @@ -1,4 +1,4 @@ -/* xscreensaver, Copyright (c) 1999-2014 Jamie Zawinski +/* xscreensaver, Copyright (c) 1999-2017 Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that @@ -59,13 +59,13 @@ #include #include -#ifdef HAVE_COCOA +#ifdef HAVE_JWXYZ # define HAVE_XPM #else # define DO_XBM /* only do mono bitmaps under real X11 */ #endif -#ifndef HAVE_COCOA +#ifndef HAVE_JWXYZ # include #endif @@ -342,6 +342,7 @@ fill_input (m_state *s) s->buf [s->buf_pos] = (char) c; } + if (n > 0) { s->do_fill_buff = False; @@ -460,25 +461,22 @@ static void init_trace (m_state *state) { char *s = get_string_resource (state->dpy, "tracePhone", "TracePhone"); - char *s2, *s3; - int i; + const char *s2; + signed char *s3; if (!s) goto FAIL; state->tracing = (signed char *) malloc (strlen (s) + 1); - s3 = (char *) state->tracing; + s3 = state->tracing; for (s2 = s; *s2; s2++) if (*s2 >= '0' && *s2 <= '9') - *s3++ = *s2; + *s3++ = -*s2; *s3 = 0; - if (s3 == (char *) state->tracing) + if (s3 == state->tracing) goto FAIL; - for (i = 0; i < strlen((char *) state->tracing); i++) - state->tracing[i] = -state->tracing[i]; - state->glyph_map = decimal_encoding; state->nglyphs = countof(decimal_encoding); @@ -1333,6 +1331,33 @@ hack_text (m_state *state) state->typing_delay = state->typing_char_delay; if (state->typing_cursor_p) set_cursor (state, True); + +# ifdef USE_IPHONE + /* Stupid iPhone X bezel. + #### This is the worst of all possible ways to do this! But how else? + */ + if (state->xgwa.width == 2436 || state->xgwa.height == 2436) + switch (state->mode) + { + case TRACE_TEXT_A: + case TRACE_TEXT_B: + case KNOCK: + case NMAP: + { + int off = 5 * (state->small_p ? 2 : 1); + if (state->xgwa.width > state->xgwa.height) + { + state->typing_left_margin += off; + state->cursor_x += off; + } + else + { + state->cursor_y += off; + } + } + default: break; + } +# endif } else { @@ -1824,7 +1849,7 @@ static const char *xmatrix_defaults [] = { "*knockKnock: True", "*usePipe: False", "*usePty: False", - "*program: xscreensaver-text", + "*program: xscreensaver-text --latin1", "*geometry: 960x720", 0 };