cr = do_measure(p, ri, splitpos, -1, x - ri->x);
if ((splitpos ? ri->wrap_x : ri->x ) + cr.x > x &&
ri->y + rd->line_height * (1 + splitpos) > y &&
- xyattr)
- *xyattr = ri->attr;
+ xyattr) {
+ /* This is a bit of a hack.
+ * We stick the x,y co-ords of the start
+ * of the current attr in front of the
+ * attrs so render-lines can provide a
+ * good location for a menu
+ */
+ char buf[100];
+ struct render_item *ri2;
+ int ax = ri->x;
+ for (ri2 = rd->content; ri2 != ri; ri2 = ri2->next)
+ if (strcmp(ri2->attr, ri->attr) == 0)
+ ax = ri2->x;
+ snprintf(buf, sizeof(buf), "%dx%d,", ax, y);
+ *xyattr = strconcat(p, buf, ri->attr);
+ }
if (cr.s)
return cr.s - rd->line;
return start + cr.i;
Display 80,30 FC1EC237835B86277F5612CCB22390A7 1,0
Display 80,30 9B2230AB193991E9CF9B4B3B4F1B78D3 1,0
Display 80,30 28CA57772287120B9CD146B71016A58A 1,0
-Display 80,30 DAE1AFE8DA3FCD0EEAAF2A7CCD0BFB62 1,0
Key ":A-;"
-Display 80,30 7AE4E6D8FFE412E58625CA9D13E7E36C 4,0
+Display 80,30 EE7005488CD37E92DF74F19C6AA55E31 4,0
Key ":Right"
-Display 80,30 DAE1AFE8DA3FCD0EEAAF2A7CCD0BFB62 5,0
+Display 80,30 28CA57772287120B9CD146B71016A58A 5,0
Key ":A-;"
-Display 80,30 9C84D19CB6F4199CF115B2039462DACF 10,0
+Display 80,30 681698DB119141266EA4501A85BB71F8 10,0
Key ":Right"
-Display 80,30 DAE1AFE8DA3FCD0EEAAF2A7CCD0BFB62 11,0
+Display 80,30 28CA57772287120B9CD146B71016A58A 11,0
Key ":A-;"
-Display 80,30 4DC5DC7B140D90608C0111970997A127 19,0
+Display 80,30 463708D38B1E12ADAD2DC5EB832B163C 19,0
Key ":Right"
-Display 80,30 DAE1AFE8DA3FCD0EEAAF2A7CCD0BFB62 20,0
+Display 80,30 28CA57772287120B9CD146B71016A58A 20,0
Key ":A--"
-Display 80,30 13DD8B4A5B03CB54BBC9CC65CCB10272 20,0
+Display 80,30 4DE56DF850EC723CB700FCA9BE90CC50 20,0
Key ":A-;"
-Display 80,30 187C12D6F0237E56AC725675C438D35D 8,5
+Display 80,30 08AE5E034B21A4EE7D7911A66FA04604 8,5
Key "-0"
-Display 80,30 C60B776C161AC49D15E0B343E3A80200 9,8
+Display 80,30 5AE67173629178A971A9A5D29F9C66F3 9,8
Key "-1"
-Display 80,30 A7E960EF28E8FBEF8CE1D3934F114A8D 68,8
+Display 80,30 FF9B145B35764F56A7421009A75796DC 68,8
Key "-2"
Display 80,30 FBDF992D22B009C514FDF2D2FDDCA4D7 8,15
Key "-0"
Key "-1"
Display 80,30 736A56D79B465AA8A1BACE1DBC411CF9 30,22
Key "- "
-Display 80,30 CAA9CDFD50E6851E95BAC003879567A1 6,21
+Display 80,30 A4D198351C6130A03AC0CAD2D7A5078A 59,18
Key "- "
-Display 80,30 5E0A22C09D987BE6C6C07940B9B0E578 59,24
+Display 80,30 5DC1D9D47F7F02A75A9016F3F6DC96C1 20,21
Key ":Enter"
-Display 80,30 4CC2D06DD5AAC2E00B8700890804A8ED 59,24
+Display 80,30 DF2DA01A7B0DD8388AF4797C43660625 20,21
Key ":C-X"
-Display 80,30 9599A4BF3962C00266BB8CF8D9AB3088 59,24
+Display 80,30 D09C55E2CBC37A59452B33F9462D79DB 20,21
Key ":C-S"
-Display 80,30 15D263B1D5B3FDF5F97D3428BAC8D27A 59,24
+Display 80,30 A62839B8A8C4B79894A40A116F54EE5A 20,21
Mouse ":Press-3" 26,19
-Display 80,30 6F5B8256777D5528183E96E329DEF02A 26,19
+Display 80,30 0F7C5B693774C4D56D2FA322A22846D3 20,21
Mouse ":Release-3" 28,22
-Display 80,30 27E164C7FF1F619A0449FFCBCD256DBB 59,24
+Display 80,30 C471ABA574FA3E937B74C79387F6D3D4 20,21
Mouse ":Press-3" 2,21
-Display 80,30 C863D1562DFABCF048E1488BC4179421 2,21
+Display 80,30 BD48CEE0571DEC5245F33C1CB4681B64 20,21
Mouse ":Release-3" 5,22
-Display 80,30 27E164C7FF1F619A0449FFCBCD256DBB 59,24
-Display 80,30 7E7D27ABFCF26E6F9024BE8A73EE9EE9 59,24
Key ":C-X"
-Display 80,30 120A6A63790E9F0E123CFEC24BDBB033 59,24
+Display 80,30 058EA2C9F282A5E7BA69102EE55E04DF 20,21
Key ":C-C"
-Display 80,30 43E0643A1430614E6E43F15DE5008897 21,8
-Key "-q"
-Close 680
+Display 80,30 BD48CEE0571DEC5245F33C1CB4681B64 20,21
+Close 624