| ofs | hex dump | ascii |
|---|
| 0000 | 56 69 6d 9f 55 6e 44 6f e5 00 03 6e 34 0b 9c ff b3 7a 98 9c a5 44 e6 bb 78 0a 2c 78 90 1d 3f b3 | Vim.UnDo...n4....z...D..x.,x..?. |
| 0020 | 37 38 76 85 11 a3 06 17 af a0 1d 00 00 00 01 00 00 00 17 20 20 2f 2f 62 68 20 3d 20 64 72 77 2d | 78v..................//bh.=.drw- |
| 0040 | 3e 66 6f 6e 74 73 2d 3e 68 3b 00 00 02 f6 00 00 00 00 00 00 00 07 00 00 00 0b 00 00 00 00 00 00 | >fonts->h;...................... |
| 0060 | 00 0b 00 00 00 0b 00 00 00 0b 00 00 00 00 69 a1 0f dd 04 01 00 00 00 04 00 5f d0 00 00 00 00 00 | ..............i.........._...... |
| 0080 | 00 00 08 00 00 00 01 00 00 00 00 00 00 00 07 00 00 02 f3 00 00 00 13 00 00 00 00 ff ff ff ff 00 | ................................ |
| 00a0 | 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 00c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 00e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 01a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 01c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 f3 00 00 00 | ................................ |
| 01e0 | 02 00 00 00 00 00 00 02 f3 00 00 00 01 00 00 00 00 00 00 00 76 00 00 00 04 00 00 00 00 69 a1 0f | ....................v........i.. |
| 0200 | 90 04 01 00 00 00 02 00 f5 18 00 00 00 0a 00 00 03 a2 00 00 03 a0 00 00 03 95 00 00 00 15 23 69 | ..............................#i |
| 0220 | 6e 63 6c 75 64 65 20 3c 58 31 31 2f 58 6c 69 62 2e 68 3e 00 00 00 16 23 69 6e 63 6c 75 64 65 20 | nclude.<X11/Xlib.h>....#include. |
| 0240 | 3c 58 31 31 2f 58 61 74 6f 6d 2e 68 3e 00 00 00 16 23 69 6e 63 6c 75 64 65 20 3c 58 31 31 2f 58 | <X11/Xatom.h>....#include.<X11/X |
| 0260 | 75 74 69 6c 2e 68 3e 00 00 00 0f 23 69 66 64 65 66 20 58 49 4e 45 52 41 4d 41 00 00 00 24 23 69 | util.h>....#ifdef.XINERAMA...$#i |
| 0280 | 6e 63 6c 75 64 65 20 3c 58 31 31 2f 65 78 74 65 6e 73 69 6f 6e 73 2f 58 69 6e 65 72 61 6d 61 2e | nclude.<X11/extensions/Xinerama. |
| 02a0 | 68 3e 00 00 00 06 23 65 6e 64 69 66 00 00 00 18 23 69 6e 63 6c 75 64 65 20 3c 58 31 31 2f 58 66 | h>....#endif....#include.<X11/Xf |
| 02c0 | 74 2f 58 66 74 2e 68 3e 00 00 00 00 00 00 00 10 23 69 6e 63 6c 75 64 65 20 22 64 72 77 2e 68 22 | t/Xft.h>........#include."drw.h" |
| 02e0 | 00 00 00 11 23 69 6e 63 6c 75 64 65 20 22 75 74 69 6c 2e 68 22 00 00 00 00 00 00 00 0c 2f 2a 20 | ....#include."util.h"......../*. |
| 0300 | 6d 61 63 72 6f 73 20 2a 2f 00 00 00 5f 23 64 65 66 69 6e 65 20 49 4e 54 45 52 53 45 43 54 28 78 | macros.*/..._#define.INTERSECT(x |
| 0320 | 2c 79 2c 77 2c 68 2c 72 29 20 20 28 4d 41 58 28 30 2c 20 4d 49 4e 28 28 78 29 2b 28 77 29 2c 28 | ,y,w,h,r)..(MAX(0,.MIN((x)+(w),( |
| 0340 | 72 29 2e 78 5f 6f 72 67 2b 28 72 29 2e 77 69 64 74 68 29 20 20 2d 20 4d 41 58 28 28 78 29 2c 28 | r).x_org+(r).width)..-.MAX((x),( |
| 0360 | 72 29 2e 78 5f 6f 72 67 29 29 20 5c 00 00 00 5e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | r).x_org)).\...^................ |
| 0380 | 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 20 4d 41 58 28 30 2c 20 4d 49 4e 28 28 79 29 2b 28 68 | .............*.MAX(0,.MIN((y)+(h |
| 03a0 | 29 2c 28 72 29 2e 79 5f 6f 72 67 2b 28 72 29 2e 68 65 69 67 68 74 29 20 2d 20 4d 41 58 28 28 79 | ),(r).y_org+(r).height).-.MAX((y |
| 03c0 | 29 2c 28 72 29 2e 79 5f 6f 72 67 29 29 29 00 00 00 46 23 64 65 66 69 6e 65 20 54 45 58 54 57 28 | ),(r).y_org)))...F#define.TEXTW( |
| 03e0 | 58 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 72 77 5f 66 6f 6e 74 73 65 74 5f 67 65 74 | X)..............(drw_fontset_get |
| 0400 | 77 69 64 74 68 28 64 72 77 2c 20 28 58 29 29 20 2b 20 6c 72 70 61 64 29 00 00 00 00 00 00 00 0b | width(drw,.(X)).+.lrpad)........ |
| 0420 | 2f 2a 20 65 6e 75 6d 73 20 2a 2f 00 00 00 4a 65 6e 75 6d 20 7b 20 53 63 68 65 6d 65 4e 6f 72 6d | /*.enums.*/...Jenum.{.SchemeNorm |
| 0440 | 2c 20 53 63 68 65 6d 65 53 65 6c 2c 20 53 63 68 65 6d 65 4f 75 74 2c 20 53 63 68 65 6d 65 4c 61 | ,.SchemeSel,.SchemeOut,.SchemeLa |
| 0460 | 73 74 20 7d 3b 20 2f 2a 20 63 6f 6c 6f 72 20 73 63 68 65 6d 65 73 20 2a 2f 00 00 00 00 00 00 00 | st.};./*.color.schemes.*/....... |
| 0480 | 0d 73 74 72 75 63 74 20 69 74 65 6d 20 7b 00 00 00 0c 09 63 68 61 72 20 2a 74 65 78 74 3b 00 00 | .struct.item.{.....char.*text;.. |
| 04a0 | 00 1b 09 73 74 72 75 63 74 20 69 74 65 6d 20 2a 6c 65 66 74 2c 20 2a 72 69 67 68 74 3b 00 00 00 | ...struct.item.*left,.*right;... |
| 04c0 | 09 09 69 6e 74 20 6f 75 74 3b 00 00 00 02 7d 3b 00 00 00 00 00 00 00 1e 73 74 61 74 69 63 20 63 | ..int.out;....};........static.c |
| 04e0 | 68 61 72 20 74 65 78 74 5b 42 55 46 53 49 5a 5d 20 3d 20 22 22 3b 00 00 00 13 73 74 61 74 69 63 | har.text[BUFSIZ].=."";....static |
| 0500 | 20 63 68 61 72 20 2a 65 6d 62 65 64 3b 00 00 00 16 73 74 61 74 69 63 20 69 6e 74 20 62 68 2c 20 | .char.*embed;....static.int.bh,. |
| 0520 | 6d 77 2c 20 6d 68 3b 00 00 00 34 73 74 61 74 69 63 20 69 6e 74 20 64 6d 78 20 3d 20 30 3b 20 2f | mw,.mh;...4static.int.dmx.=.0;./ |
| 0540 | 2a 20 70 75 74 20 64 6d 65 6e 75 20 61 74 20 74 68 69 73 20 78 20 6f 66 66 73 65 74 20 2a 2f 00 | *.put.dmenu.at.this.x.offset.*/. |
| 0560 | 00 00 5e 73 74 61 74 69 63 20 69 6e 74 20 64 6d 79 20 3d 20 30 3b 20 2f 2a 20 70 75 74 20 64 6d | ..^static.int.dmy.=.0;./*.put.dm |
| 0580 | 65 6e 75 20 61 74 20 74 68 69 73 20 79 20 6f 66 66 73 65 74 20 28 6d 65 61 73 75 72 65 64 20 66 | enu.at.this.y.offset.(measured.f |
| 05a0 | 72 6f 6d 20 74 68 65 20 62 6f 74 74 6f 6d 20 69 66 20 74 6f 70 62 61 72 20 69 73 20 30 29 20 2a | rom.the.bottom.if.topbar.is.0).* |
| 05c0 | 2f 00 00 00 37 73 74 61 74 69 63 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 64 6d 77 20 3d 20 30 | /...7static.unsigned.int.dmw.=.0 |
| 05e0 | 3b 20 2f 2a 20 6d 61 6b 65 20 64 6d 65 6e 75 20 74 68 69 73 20 77 69 64 65 20 2a 2f 00 00 00 1f | ;./*.make.dmenu.this.wide.*/.... |
| 0600 | 73 74 61 74 69 63 20 69 6e 74 20 69 6e 70 75 74 77 20 3d 20 30 2c 20 70 72 6f 6d 70 74 77 3b 00 | static.int.inputw.=.0,.promptw;. |
| 0620 | 00 00 35 73 74 61 74 69 63 20 69 6e 74 20 6c 72 70 61 64 3b 20 2f 2a 20 73 75 6d 20 6f 66 20 6c | ..5static.int.lrpad;./*.sum.of.l |
| 0640 | 65 66 74 20 61 6e 64 20 72 69 67 68 74 20 70 61 64 64 69 6e 67 20 2a 2f 00 00 00 15 73 74 61 74 | eft.and.right.padding.*/....stat |
| 0660 | 69 63 20 73 69 7a 65 5f 74 20 63 75 72 73 6f 72 3b 00 00 00 21 73 74 61 74 69 63 20 73 74 72 75 | ic.size_t.cursor;...!static.stru |
| 0680 | 63 74 20 69 74 65 6d 20 2a 69 74 65 6d 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 27 73 74 61 74 69 63 | ct.item.*items.=.NULL;...'static |
| 06a0 | 20 73 74 72 75 63 74 20 69 74 65 6d 20 2a 6d 61 74 63 68 65 73 2c 20 2a 6d 61 74 63 68 65 6e 64 | .struct.item.*matches,.*matchend |
| 06c0 | 3b 00 00 00 2d 73 74 61 74 69 63 20 73 74 72 75 63 74 20 69 74 65 6d 20 2a 70 72 65 76 2c 20 2a | ;...-static.struct.item.*prev,.* |
| 06e0 | 63 75 72 72 2c 20 2a 6e 65 78 74 2c 20 2a 73 65 6c 3b 00 00 00 1c 73 74 61 74 69 63 20 69 6e 74 | curr,.*next,.*sel;....static.int |
| 0700 | 20 6d 6f 6e 20 3d 20 2d 31 2c 20 73 63 72 65 65 6e 3b 00 00 00 00 00 00 00 17 73 74 61 74 69 63 | .mon.=.-1,.screen;........static |
| 0720 | 20 41 74 6f 6d 20 63 6c 69 70 2c 20 75 74 66 38 3b 00 00 00 14 73 74 61 74 69 63 20 44 69 73 70 | .Atom.clip,.utf8;....static.Disp |
| 0740 | 6c 61 79 20 2a 64 70 79 3b 00 00 00 23 73 74 61 74 69 63 20 57 69 6e 64 6f 77 20 72 6f 6f 74 2c | lay.*dpy;...#static.Window.root, |
| 0760 | 20 70 61 72 65 6e 74 77 69 6e 2c 20 77 69 6e 3b 00 00 00 0f 73 74 61 74 69 63 20 58 49 43 20 78 | .parentwin,.win;....static.XIC.x |
| 0780 | 69 63 3b 00 00 00 00 00 00 00 10 73 74 61 74 69 63 20 44 72 77 20 2a 64 72 77 3b 00 00 00 1f 73 | ic;........static.Drw.*drw;....s |
| 07a0 | 74 61 74 69 63 20 43 6c 72 20 2a 73 63 68 65 6d 65 5b 53 63 68 65 6d 65 4c 61 73 74 5d 3b 00 00 | tatic.Clr.*scheme[SchemeLast];.. |
| 07c0 | 00 00 00 00 00 13 23 69 6e 63 6c 75 64 65 20 22 63 6f 6e 66 69 67 2e 68 22 00 00 00 00 00 00 00 | ......#include."config.h"....... |
| 07e0 | 45 73 74 61 74 69 63 20 69 6e 74 20 28 2a 66 73 74 72 6e 63 6d 70 29 28 63 6f 6e 73 74 20 63 68 | Estatic.int.(*fstrncmp)(const.ch |
| 0800 | 61 72 20 2a 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 2c 20 73 69 7a 65 5f 74 29 20 3d 20 73 74 | ar.*,.const.char.*,.size_t).=.st |
| 0820 | 72 6e 63 6d 70 3b 00 00 00 3d 73 74 61 74 69 63 20 63 68 61 72 20 2a 28 2a 66 73 74 72 73 74 72 | rncmp;...=static.char.*(*fstrstr |
| 0840 | 29 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 29 20 3d 20 | )(const.char.*,.const.char.*).=. |
| 0860 | 73 74 72 73 74 72 3b 00 00 00 00 00 00 00 13 73 74 61 74 69 63 20 75 6e 73 69 67 6e 65 64 20 69 | strstr;........static.unsigned.i |
| 0880 | 6e 74 00 00 00 2c 74 65 78 74 77 5f 63 6c 61 6d 70 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 74 | nt...,textw_clamp(const.char.*st |
| 08a0 | 72 2c 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 6e 29 00 00 00 01 7b 00 00 00 42 09 75 6e 73 69 | r,.unsigned.int.n)....{...B.unsi |
| 08c0 | 67 6e 65 64 20 69 6e 74 20 77 20 3d 20 64 72 77 5f 66 6f 6e 74 73 65 74 5f 67 65 74 77 69 64 74 | gned.int.w.=.drw_fontset_getwidt |
| 08e0 | 68 5f 63 6c 61 6d 70 28 64 72 77 2c 20 73 74 72 2c 20 6e 29 20 2b 20 6c 72 70 61 64 3b 00 00 00 | h_clamp(drw,.str,.n).+.lrpad;... |
| 0900 | 12 09 72 65 74 75 72 6e 20 4d 49 4e 28 77 2c 20 6e 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 0b | ..return.MIN(w,.n);....}........ |
| 0920 | 73 74 61 74 69 63 20 76 6f 69 64 00 00 00 45 61 70 70 65 6e 64 69 74 65 6d 28 73 74 72 75 63 74 | static.void...Eappenditem(struct |
| 0940 | 20 69 74 65 6d 20 2a 69 74 65 6d 2c 20 73 74 72 75 63 74 20 69 74 65 6d 20 2a 2a 6c 69 73 74 2c | .item.*item,.struct.item.**list, |
| 0960 | 20 73 74 72 75 63 74 20 69 74 65 6d 20 2a 2a 6c 61 73 74 29 00 00 00 01 7b 00 00 00 0b 09 69 66 | .struct.item.**last)....{.....if |
| 0980 | 20 28 2a 6c 61 73 74 29 00 00 00 18 09 09 28 2a 6c 61 73 74 29 2d 3e 72 69 67 68 74 20 3d 20 69 | .(*last)......(*last)->right.=.i |
| 09a0 | 74 65 6d 3b 00 00 00 05 09 65 6c 73 65 00 00 00 0f 09 09 2a 6c 69 73 74 20 3d 20 69 74 65 6d 3b | tem;.....else......*list.=.item; |
| 09c0 | 00 00 00 00 00 00 00 14 09 69 74 65 6d 2d 3e 6c 65 66 74 20 3d 20 2a 6c 61 73 74 3b 00 00 00 14 | .........item->left.=.*last;.... |
| 09e0 | 09 69 74 65 6d 2d 3e 72 69 67 68 74 20 3d 20 4e 55 4c 4c 3b 00 00 00 0e 09 2a 6c 61 73 74 20 3d | .item->right.=.NULL;.....*last.= |
| 0a00 | 20 69 74 65 6d 3b 00 00 00 01 7d 00 00 00 00 00 00 00 0b 73 74 61 74 69 63 20 76 6f 69 64 00 00 | .item;....}........static.void.. |
| 0a20 | 00 11 63 61 6c 63 6f 66 66 73 65 74 73 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 0a 09 69 6e 74 | ..calcoffsets(void)....{.....int |
| 0a40 | 20 69 2c 20 6e 3b 00 00 00 00 00 00 00 0f 09 69 66 20 28 6c 69 6e 65 73 20 3e 20 30 29 00 00 00 | .i,.n;.........if.(lines.>.0)... |
| 0a60 | 11 09 09 6e 20 3d 20 6c 69 6e 65 73 20 2a 20 62 68 3b 00 00 00 05 09 65 6c 73 65 00 00 00 38 09 | ...n.=.lines.*.bh;.....else...8. |
| 0a80 | 09 6e 20 3d 20 6d 77 20 2d 20 28 70 72 6f 6d 70 74 77 20 2b 20 69 6e 70 75 74 77 20 2b 20 54 45 | .n.=.mw.-.(promptw.+.inputw.+.TE |
| 0aa0 | 58 54 57 28 22 3c 22 29 20 2b 20 54 45 58 54 57 28 22 3e 22 29 29 3b 00 00 00 47 09 2f 2a 20 63 | XTW("<").+.TEXTW(">"));...G./*.c |
| 0ac0 | 61 6c 63 75 6c 61 74 65 20 77 68 69 63 68 20 69 74 65 6d 73 20 77 69 6c 6c 20 62 65 67 69 6e 20 | alculate.which.items.will.begin. |
| 0ae0 | 74 68 65 20 6e 65 78 74 20 70 61 67 65 20 61 6e 64 20 70 72 65 76 69 6f 75 73 20 70 61 67 65 20 | the.next.page.and.previous.page. |
| 0b00 | 2a 2f 00 00 00 33 09 66 6f 72 20 28 69 20 3d 20 30 2c 20 6e 65 78 74 20 3d 20 63 75 72 72 3b 20 | */...3.for.(i.=.0,.next.=.curr;. |
| 0b20 | 6e 65 78 74 3b 20 6e 65 78 74 20 3d 20 6e 65 78 74 2d 3e 72 69 67 68 74 29 00 00 00 3f 09 09 69 | next;.next.=.next->right)...?..i |
| 0b40 | 66 20 28 28 69 20 2b 3d 20 28 6c 69 6e 65 73 20 3e 20 30 29 20 3f 20 62 68 20 3a 20 74 65 78 74 | f.((i.+=.(lines.>.0).?.bh.:.text |
| 0b60 | 77 5f 63 6c 61 6d 70 28 6e 65 78 74 2d 3e 74 65 78 74 2c 20 6e 29 29 20 3e 20 6e 29 00 00 00 09 | w_clamp(next->text,.n)).>.n).... |
| 0b80 | 09 09 09 62 72 65 61 6b 3b 00 00 00 40 09 66 6f 72 20 28 69 20 3d 20 30 2c 20 70 72 65 76 20 3d | ...break;...@.for.(i.=.0,.prev.= |
| 0ba0 | 20 63 75 72 72 3b 20 70 72 65 76 20 26 26 20 70 72 65 76 2d 3e 6c 65 66 74 3b 20 70 72 65 76 20 | .curr;.prev.&&.prev->left;.prev. |
| 0bc0 | 3d 20 70 72 65 76 2d 3e 6c 65 66 74 29 00 00 00 45 09 09 69 66 20 28 28 69 20 2b 3d 20 28 6c 69 | =.prev->left)...E..if.((i.+=.(li |
| 0be0 | 6e 65 73 20 3e 20 30 29 20 3f 20 62 68 20 3a 20 74 65 78 74 77 5f 63 6c 61 6d 70 28 70 72 65 76 | nes.>.0).?.bh.:.textw_clamp(prev |
| 0c00 | 2d 3e 6c 65 66 74 2d 3e 74 65 78 74 2c 20 6e 29 29 20 3e 20 6e 29 00 00 00 09 09 09 09 62 72 65 | ->left->text,.n)).>.n).......bre |
| 0c20 | 61 6b 3b 00 00 00 01 7d 00 00 00 00 00 00 00 0b 73 74 61 74 69 63 20 76 6f 69 64 00 00 00 0d 63 | ak;....}........static.void....c |
| 0c40 | 6c 65 61 6e 75 70 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 0a 09 73 69 7a 65 5f 74 20 69 3b 00 | leanup(void)....{.....size_t.i;. |
| 0c60 | 00 00 00 00 00 00 23 09 58 55 6e 67 72 61 62 4b 65 79 62 6f 61 72 64 28 64 70 79 2c 20 43 75 72 | ......#.XUngrabKeyboard(dpy,.Cur |
| 0c80 | 72 65 6e 74 54 69 6d 65 29 3b 00 00 00 21 09 66 6f 72 20 28 69 20 3d 20 30 3b 20 69 20 3c 20 53 | rentTime);...!.for.(i.=.0;.i.<.S |
| 0ca0 | 63 68 65 6d 65 4c 61 73 74 3b 20 69 2b 2b 29 00 00 00 12 09 09 66 72 65 65 28 73 63 68 65 6d 65 | chemeLast;.i++)......free(scheme |
| 0cc0 | 5b 69 5d 29 3b 00 00 00 29 09 66 6f 72 20 28 69 20 3d 20 30 3b 20 69 74 65 6d 73 20 26 26 20 69 | [i]);...).for.(i.=.0;.items.&&.i |
| 0ce0 | 74 65 6d 73 5b 69 5d 2e 74 65 78 74 3b 20 2b 2b 69 29 00 00 00 16 09 09 66 72 65 65 28 69 74 65 | tems[i].text;.++i)......free(ite |
| 0d00 | 6d 73 5b 69 5d 2e 74 65 78 74 29 3b 00 00 00 0d 09 66 72 65 65 28 69 74 65 6d 73 29 3b 00 00 00 | ms[i].text);.....free(items);... |
| 0d20 | 0f 09 64 72 77 5f 66 72 65 65 28 64 72 77 29 3b 00 00 00 13 09 58 53 79 6e 63 28 64 70 79 2c 20 | ..drw_free(drw);.....XSync(dpy,. |
| 0d40 | 46 61 6c 73 65 29 3b 00 00 00 14 09 58 43 6c 6f 73 65 44 69 73 70 6c 61 79 28 64 70 79 29 3b 00 | False);.....XCloseDisplay(dpy);. |
| 0d60 | 00 00 01 7d 00 00 00 00 00 00 00 0d 73 74 61 74 69 63 20 63 68 61 72 20 2a 00 00 00 26 63 69 73 | ...}........static.char.*...&cis |
| 0d80 | 74 72 73 74 72 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 68 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 | trstr(const.char.*h,.const.char. |
| 0da0 | 2a 6e 29 00 00 00 01 7b 00 00 00 0a 09 73 69 7a 65 5f 74 20 69 3b 00 00 00 00 00 00 00 0b 09 69 | *n)....{.....size_t.i;.........i |
| 0dc0 | 66 20 28 21 6e 5b 30 5d 29 00 00 00 13 09 09 72 65 74 75 72 6e 20 28 63 68 61 72 20 2a 29 68 3b | f.(!n[0])......return.(char.*)h; |
| 0de0 | 00 00 00 00 00 00 00 12 09 66 6f 72 20 28 3b 20 2a 68 3b 20 2b 2b 68 29 20 7b 00 00 00 35 09 09 | .........for.(;.*h;.++h).{...5.. |
| 0e00 | 66 6f 72 20 28 69 20 3d 20 30 3b 20 6e 5b 69 5d 20 26 26 20 74 6f 6c 6f 77 65 72 28 28 75 6e 73 | for.(i.=.0;.n[i].&&.tolower((uns |
| 0e20 | 69 67 6e 65 64 20 63 68 61 72 29 6e 5b 69 5d 29 20 3d 3d 00 00 00 30 09 09 20 20 20 20 20 20 20 | igned.char)n[i]).==...0......... |
| 0e40 | 20 20 20 20 20 74 6f 6c 6f 77 65 72 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 29 68 5b 69 5d | .....tolower((unsigned.char)h[i] |
| 0e60 | 29 3b 20 2b 2b 69 29 00 00 00 04 09 09 09 3b 00 00 00 13 09 09 69 66 20 28 6e 5b 69 5d 20 3d 3d | );.++i).......;......if.(n[i].== |
| 0e80 | 20 27 5c 30 27 29 00 00 00 14 09 09 09 72 65 74 75 72 6e 20 28 63 68 61 72 20 2a 29 68 3b 00 00 | .'\0').......return.(char.*)h;.. |
| 0ea0 | 00 02 09 7d 00 00 00 0d 09 72 65 74 75 72 6e 20 4e 55 4c 4c 3b 00 00 00 01 7d 00 00 00 00 00 00 | ...}.....return.NULL;....}...... |
| 0ec0 | 00 0a 73 74 61 74 69 63 20 69 6e 74 00 00 00 30 64 72 61 77 69 74 65 6d 28 73 74 72 75 63 74 20 | ..static.int...0drawitem(struct. |
| 0ee0 | 69 74 65 6d 20 2a 69 74 65 6d 2c 20 69 6e 74 20 78 2c 20 69 6e 74 20 79 2c 20 69 6e 74 20 77 29 | item.*item,.int.x,.int.y,.int.w) |
| 0f00 | 00 00 00 01 7b 00 00 00 11 09 69 66 20 28 69 74 65 6d 20 3d 3d 20 73 65 6c 29 00 00 00 28 09 09 | ....{.....if.(item.==.sel)...(.. |
| 0f20 | 64 72 77 5f 73 65 74 73 63 68 65 6d 65 28 64 72 77 2c 20 73 63 68 65 6d 65 5b 53 63 68 65 6d 65 | drw_setscheme(drw,.scheme[Scheme |
| 0f40 | 53 65 6c 5d 29 3b 00 00 00 14 09 65 6c 73 65 20 69 66 20 28 69 74 65 6d 2d 3e 6f 75 74 29 00 00 | Sel]);.....else.if.(item->out).. |
| 0f60 | 00 28 09 09 64 72 77 5f 73 65 74 73 63 68 65 6d 65 28 64 72 77 2c 20 73 63 68 65 6d 65 5b 53 63 | .(..drw_setscheme(drw,.scheme[Sc |
| 0f80 | 68 65 6d 65 4f 75 74 5d 29 3b 00 00 00 05 09 65 6c 73 65 00 00 00 29 09 09 64 72 77 5f 73 65 74 | hemeOut]);.....else...)..drw_set |
| 0fa0 | 73 63 68 65 6d 65 28 64 72 77 2c 20 73 63 68 65 6d 65 5b 53 63 68 65 6d 65 4e 6f 72 6d 5d 29 3b | scheme(drw,.scheme[SchemeNorm]); |
| 0fc0 | 00 00 00 00 00 00 00 3d 09 72 65 74 75 72 6e 20 64 72 77 5f 74 65 78 74 28 64 72 77 2c 20 78 2c | .......=.return.drw_text(drw,.x, |
| 0fe0 | 20 79 2c 20 77 2c 20 62 68 2c 20 6c 72 70 61 64 20 2f 20 32 2c 20 69 74 65 6d 2d 3e 74 65 78 74 | .y,.w,.bh,.lrpad./.2,.item->text |
| 1000 | 2c 20 30 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 0b 73 74 61 74 69 63 20 76 6f 69 64 00 00 00 | ,.0);....}........static.void... |
| 1020 | 0e 64 72 61 77 6d 65 6e 75 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 15 09 75 6e 73 69 67 6e 65 | .drawmenu(void)....{.....unsigne |
| 1040 | 64 20 69 6e 74 20 63 75 72 70 6f 73 3b 00 00 00 13 09 73 74 72 75 63 74 20 69 74 65 6d 20 2a 69 | d.int.curpos;.....struct.item.*i |
| 1060 | 74 65 6d 3b 00 00 00 15 09 69 6e 74 20 78 20 3d 20 30 2c 20 79 20 3d 20 30 2c 20 77 3b 00 00 00 | tem;.....int.x.=.0,.y.=.0,.w;... |
| 1080 | 00 00 00 00 28 09 64 72 77 5f 73 65 74 73 63 68 65 6d 65 28 64 72 77 2c 20 73 63 68 65 6d 65 5b | ....(.drw_setscheme(drw,.scheme[ |
| 10a0 | 53 63 68 65 6d 65 4e 6f 72 6d 5d 29 3b 00 00 00 23 09 64 72 77 5f 72 65 63 74 28 64 72 77 2c 20 | SchemeNorm]);...#.drw_rect(drw,. |
| 10c0 | 30 2c 20 30 2c 20 6d 77 2c 20 6d 68 2c 20 31 2c 20 31 29 3b 00 00 00 00 00 00 00 19 09 69 66 20 | 0,.0,.mw,.mh,.1,.1);.........if. |
| 10e0 | 28 70 72 6f 6d 70 74 20 26 26 20 2a 70 72 6f 6d 70 74 29 20 7b 00 00 00 28 09 09 64 72 77 5f 73 | (prompt.&&.*prompt).{...(..drw_s |
| 1100 | 65 74 73 63 68 65 6d 65 28 64 72 77 2c 20 73 63 68 65 6d 65 5b 53 63 68 65 6d 65 53 65 6c 5d 29 | etscheme(drw,.scheme[SchemeSel]) |
| 1120 | 3b 00 00 00 3d 09 09 78 20 3d 20 64 72 77 5f 74 65 78 74 28 64 72 77 2c 20 78 2c 20 30 2c 20 70 | ;...=..x.=.drw_text(drw,.x,.0,.p |
| 1140 | 72 6f 6d 70 74 77 2c 20 62 68 2c 20 6c 72 70 61 64 20 2f 20 32 2c 20 70 72 6f 6d 70 74 2c 20 30 | romptw,.bh,.lrpad./.2,.prompt,.0 |
| 1160 | 29 3b 00 00 00 02 09 7d 00 00 00 17 09 2f 2a 20 64 72 61 77 20 69 6e 70 75 74 20 66 69 65 6c 64 | );.....}...../*.draw.input.field |
| 1180 | 20 2a 2f 00 00 00 2f 09 77 20 3d 20 28 6c 69 6e 65 73 20 3e 20 30 20 7c 7c 20 21 6d 61 74 63 68 | .*/.../.w.=.(lines.>.0.||.!match |
| 11a0 | 65 73 29 20 3f 20 6d 77 20 2d 20 78 20 3a 20 69 6e 70 75 74 77 3b 00 00 00 28 09 64 72 77 5f 73 | es).?.mw.-.x.:.inputw;...(.drw_s |
| 11c0 | 65 74 73 63 68 65 6d 65 28 64 72 77 2c 20 73 63 68 65 6d 65 5b 53 63 68 65 6d 65 4e 6f 72 6d 5d | etscheme(drw,.scheme[SchemeNorm] |
| 11e0 | 29 3b 00 00 00 30 09 64 72 77 5f 74 65 78 74 28 64 72 77 2c 20 78 2c 20 30 2c 20 77 2c 20 62 68 | );...0.drw_text(drw,.x,.0,.w,.bh |
| 1200 | 2c 20 6c 72 70 61 64 20 2f 20 32 2c 20 74 65 78 74 2c 20 30 29 3b 00 00 00 00 00 00 00 2d 09 63 | ,.lrpad./.2,.text,.0);.......-.c |
| 1220 | 75 72 70 6f 73 20 3d 20 54 45 58 54 57 28 74 65 78 74 29 20 2d 20 54 45 58 54 57 28 26 74 65 78 | urpos.=.TEXTW(text).-.TEXTW(&tex |
| 1240 | 74 5b 63 75 72 73 6f 72 5d 29 3b 00 00 00 25 09 69 66 20 28 28 63 75 72 70 6f 73 20 2b 3d 20 6c | t[cursor]);...%.if.((curpos.+=.l |
| 1260 | 72 70 61 64 20 2f 20 32 20 2d 20 31 29 20 3c 20 77 29 20 7b 00 00 00 29 09 09 64 72 77 5f 73 65 | rpad./.2.-.1).<.w).{...)..drw_se |
| 1280 | 74 73 63 68 65 6d 65 28 64 72 77 2c 20 73 63 68 65 6d 65 5b 53 63 68 65 6d 65 4e 6f 72 6d 5d 29 | tscheme(drw,.scheme[SchemeNorm]) |
| 12a0 | 3b 00 00 00 30 09 09 64 72 77 5f 72 65 63 74 28 64 72 77 2c 20 78 20 2b 20 63 75 72 70 6f 73 2c | ;...0..drw_rect(drw,.x.+.curpos, |
| 12c0 | 20 32 2c 20 32 2c 20 62 68 20 2d 20 34 2c 20 31 2c 20 30 29 3b 00 00 00 02 09 7d 00 00 00 00 00 | .2,.2,.bh.-.4,.1,.0);.....}..... |
| 12e0 | 00 00 11 09 69 66 20 28 6c 69 6e 65 73 20 3e 20 30 29 20 7b 00 00 00 1a 09 09 2f 2a 20 64 72 61 | ....if.(lines.>.0).{....../*.dra |
| 1300 | 77 20 76 65 72 74 69 63 61 6c 20 6c 69 73 74 20 2a 2f 00 00 00 35 09 09 66 6f 72 20 28 69 74 65 | w.vertical.list.*/...5..for.(ite |
| 1320 | 6d 20 3d 20 63 75 72 72 3b 20 69 74 65 6d 20 21 3d 20 6e 65 78 74 3b 20 69 74 65 6d 20 3d 20 69 | m.=.curr;.item.!=.next;.item.=.i |
| 1340 | 74 65 6d 2d 3e 72 69 67 68 74 29 00 00 00 26 09 09 09 64 72 61 77 69 74 65 6d 28 69 74 65 6d 2c | tem->right)...&...drawitem(item, |
| 1360 | 20 78 2c 20 79 20 2b 3d 20 62 68 2c 20 6d 77 20 2d 20 78 29 3b 00 00 00 16 09 7d 20 65 6c 73 65 | .x,.y.+=.bh,.mw.-.x);.....}.else |
| 1380 | 20 69 66 20 28 6d 61 74 63 68 65 73 29 20 7b 00 00 00 1c 09 09 2f 2a 20 64 72 61 77 20 68 6f 72 | .if.(matches).{....../*.draw.hor |
| 13a0 | 69 7a 6f 6e 74 61 6c 20 6c 69 73 74 20 2a 2f 00 00 00 0e 09 09 78 20 2b 3d 20 69 6e 70 75 74 77 | izontal.list.*/......x.+=.inputw |
| 13c0 | 3b 00 00 00 11 09 09 77 20 3d 20 54 45 58 54 57 28 22 3c 22 29 3b 00 00 00 13 09 09 69 66 20 28 | ;......w.=.TEXTW("<");......if.( |
| 13e0 | 63 75 72 72 2d 3e 6c 65 66 74 29 20 7b 00 00 00 2a 09 09 09 64 72 77 5f 73 65 74 73 63 68 65 6d | curr->left).{...*...drw_setschem |
| 1400 | 65 28 64 72 77 2c 20 73 63 68 65 6d 65 5b 53 63 68 65 6d 65 4e 6f 72 6d 5d 29 3b 00 00 00 31 09 | e(drw,.scheme[SchemeNorm]);...1. |
| 1420 | 09 09 64 72 77 5f 74 65 78 74 28 64 72 77 2c 20 78 2c 20 30 2c 20 77 2c 20 62 68 2c 20 6c 72 70 | ..drw_text(drw,.x,.0,.w,.bh,.lrp |
| 1440 | 61 64 20 2f 20 32 2c 20 22 3c 22 2c 20 30 29 3b 00 00 00 03 09 09 7d 00 00 00 09 09 09 78 20 2b | ad./.2,."<",.0);......}......x.+ |
| 1460 | 3d 20 77 3b 00 00 00 35 09 09 66 6f 72 20 28 69 74 65 6d 20 3d 20 63 75 72 72 3b 20 69 74 65 6d | =.w;...5..for.(item.=.curr;.item |
| 1480 | 20 21 3d 20 6e 65 78 74 3b 20 69 74 65 6d 20 3d 20 69 74 65 6d 2d 3e 72 69 67 68 74 29 00 00 00 | .!=.next;.item.=.item->right)... |
| 14a0 | 4a 09 09 09 78 20 3d 20 64 72 61 77 69 74 65 6d 28 69 74 65 6d 2c 20 78 2c 20 30 2c 20 74 65 78 | J...x.=.drawitem(item,.x,.0,.tex |
| 14c0 | 74 77 5f 63 6c 61 6d 70 28 69 74 65 6d 2d 3e 74 65 78 74 2c 20 6d 77 20 2d 20 78 20 2d 20 54 45 | tw_clamp(item->text,.mw.-.x.-.TE |
| 14e0 | 58 54 57 28 22 3e 22 29 29 29 3b 00 00 00 0d 09 09 69 66 20 28 6e 65 78 74 29 20 7b 00 00 00 12 | XTW(">")));......if.(next).{.... |
| 1500 | 09 09 09 77 20 3d 20 54 45 58 54 57 28 22 3e 22 29 3b 00 00 00 2a 09 09 09 64 72 77 5f 73 65 74 | ...w.=.TEXTW(">");...*...drw_set |
| 1520 | 73 63 68 65 6d 65 28 64 72 77 2c 20 73 63 68 65 6d 65 5b 53 63 68 65 6d 65 4e 6f 72 6d 5d 29 3b | scheme(drw,.scheme[SchemeNorm]); |
| 1540 | 00 00 00 36 09 09 09 64 72 77 5f 74 65 78 74 28 64 72 77 2c 20 6d 77 20 2d 20 77 2c 20 30 2c 20 | ...6...drw_text(drw,.mw.-.w,.0,. |
| 1560 | 77 2c 20 62 68 2c 20 6c 72 70 61 64 20 2f 20 32 2c 20 22 3e 22 2c 20 30 29 3b 00 00 00 03 09 09 | w,.bh,.lrpad./.2,.">",.0);...... |
| 1580 | 7d 00 00 00 02 09 7d 00 00 00 21 09 64 72 77 5f 6d 61 70 28 64 72 77 2c 20 77 69 6e 2c 20 30 2c | }.....}...!.drw_map(drw,.win,.0, |
| 15a0 | 20 30 2c 20 6d 77 2c 20 6d 68 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 0b 73 74 61 74 69 63 20 | .0,.mw,.mh);....}........static. |
| 15c0 | 76 6f 69 64 00 00 00 0f 67 72 61 62 66 6f 63 75 73 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 3c | void....grabfocus(void)....{...< |
| 15e0 | 09 73 74 72 75 63 74 20 74 69 6d 65 73 70 65 63 20 74 73 20 3d 20 7b 20 2e 74 76 5f 73 65 63 20 | .struct.timespec.ts.=.{..tv_sec. |
| 1600 | 3d 20 30 2c 20 2e 74 76 5f 6e 73 65 63 20 3d 20 31 30 30 30 30 30 30 30 20 20 7d 3b 00 00 00 11 | =.0,..tv_nsec.=.10000000..};.... |
| 1620 | 09 57 69 6e 64 6f 77 20 66 6f 63 75 73 77 69 6e 3b 00 00 00 12 09 69 6e 74 20 69 2c 20 72 65 76 | .Window.focuswin;.....int.i,.rev |
| 1640 | 65 72 74 77 69 6e 3b 00 00 00 00 00 00 00 1c 09 66 6f 72 20 28 69 20 3d 20 30 3b 20 69 20 3c 20 | ertwin;.........for.(i.=.0;.i.<. |
| 1660 | 31 30 30 3b 20 2b 2b 69 29 20 7b 00 00 00 2d 09 09 58 47 65 74 49 6e 70 75 74 46 6f 63 75 73 28 | 100;.++i).{...-..XGetInputFocus( |
| 1680 | 64 70 79 2c 20 26 66 6f 63 75 73 77 69 6e 2c 20 26 72 65 76 65 72 74 77 69 6e 29 3b 00 00 00 16 | dpy,.&focuswin,.&revertwin);.... |
| 16a0 | 09 09 69 66 20 28 66 6f 63 75 73 77 69 6e 20 3d 3d 20 77 69 6e 29 00 00 00 0a 09 09 09 72 65 74 | ..if.(focuswin.==.win).......ret |
| 16c0 | 75 72 6e 3b 00 00 00 38 09 09 58 53 65 74 49 6e 70 75 74 46 6f 63 75 73 28 64 70 79 2c 20 77 69 | urn;...8..XSetInputFocus(dpy,.wi |
| 16e0 | 6e 2c 20 52 65 76 65 72 74 54 6f 50 61 72 65 6e 74 2c 20 43 75 72 72 65 6e 74 54 69 6d 65 29 3b | n,.RevertToParent,.CurrentTime); |
| 1700 | 00 00 00 17 09 09 6e 61 6e 6f 73 6c 65 65 70 28 26 74 73 2c 20 4e 55 4c 4c 29 3b 00 00 00 02 09 | ......nanosleep(&ts,.NULL);..... |
| 1720 | 7d 00 00 00 1a 09 64 69 65 28 22 63 61 6e 6e 6f 74 20 67 72 61 62 20 66 6f 63 75 73 22 29 3b 00 | }.....die("cannot.grab.focus");. |
| 1740 | 00 00 01 7d 00 00 00 00 00 00 00 0b 73 74 61 74 69 63 20 76 6f 69 64 00 00 00 12 67 72 61 62 6b | ...}........static.void....grabk |
| 1760 | 65 79 62 6f 61 72 64 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 3b 09 73 74 72 75 63 74 20 74 69 | eyboard(void)....{...;.struct.ti |
| 1780 | 6d 65 73 70 65 63 20 74 73 20 3d 20 7b 20 2e 74 76 5f 73 65 63 20 3d 20 30 2c 20 2e 74 76 5f 6e | mespec.ts.=.{..tv_sec.=.0,..tv_n |
| 17a0 | 73 65 63 20 3d 20 31 30 30 30 30 30 30 20 20 7d 3b 00 00 00 07 09 69 6e 74 20 69 3b 00 00 00 00 | sec.=.1000000..};.....int.i;.... |
| 17c0 | 00 00 00 0b 09 69 66 20 28 65 6d 62 65 64 29 00 00 00 09 09 09 72 65 74 75 72 6e 3b 00 00 00 4e | .....if.(embed)......return;...N |
| 17e0 | 09 2f 2a 20 74 72 79 20 74 6f 20 67 72 61 62 20 6b 65 79 62 6f 61 72 64 2c 20 77 65 20 6d 61 79 | ./*.try.to.grab.keyboard,.we.may |
| 1800 | 20 68 61 76 65 20 74 6f 20 77 61 69 74 20 66 6f 72 20 61 6e 6f 74 68 65 72 20 70 72 6f 63 65 73 | .have.to.wait.for.another.proces |
| 1820 | 73 20 74 6f 20 75 6e 67 72 61 62 20 2a 2f 00 00 00 1d 09 66 6f 72 20 28 69 20 3d 20 30 3b 20 69 | s.to.ungrab.*/.....for.(i.=.0;.i |
| 1840 | 20 3c 20 31 30 30 30 3b 20 69 2b 2b 29 20 7b 00 00 00 45 09 09 69 66 20 28 58 47 72 61 62 4b 65 | .<.1000;.i++).{...E..if.(XGrabKe |
| 1860 | 79 62 6f 61 72 64 28 64 70 79 2c 20 44 65 66 61 75 6c 74 52 6f 6f 74 57 69 6e 64 6f 77 28 64 70 | yboard(dpy,.DefaultRootWindow(dp |
| 1880 | 79 29 2c 20 54 72 75 65 2c 20 47 72 61 62 4d 6f 64 65 41 73 79 6e 63 2c 00 00 00 3f 09 09 20 20 | y),.True,.GrabModeAsync,...?.... |
| 18a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 47 72 61 62 4d 6f 64 65 41 73 79 6e 63 2c 20 43 | ................GrabModeAsync,.C |
| 18c0 | 75 72 72 65 6e 74 54 69 6d 65 29 20 3d 3d 20 47 72 61 62 53 75 63 63 65 73 73 29 00 00 00 0a 09 | urrentTime).==.GrabSuccess)..... |
| 18e0 | 09 09 72 65 74 75 72 6e 3b 00 00 00 17 09 09 6e 61 6e 6f 73 6c 65 65 70 28 26 74 73 2c 20 4e 55 | ..return;......nanosleep(&ts,.NU |
| 1900 | 4c 4c 29 3b 00 00 00 02 09 7d 00 00 00 1d 09 64 69 65 28 22 63 61 6e 6e 6f 74 20 67 72 61 62 20 | LL);.....}.....die("cannot.grab. |
| 1920 | 6b 65 79 62 6f 61 72 64 22 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 0b 73 74 61 74 69 63 20 76 | keyboard");....}........static.v |
| 1940 | 6f 69 64 00 00 00 0b 6d 61 74 63 68 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 1b 09 73 74 61 74 | oid....match(void)....{.....stat |
| 1960 | 69 63 20 63 68 61 72 20 2a 2a 74 6f 6b 76 20 3d 20 4e 55 4c 4c 3b 00 00 00 15 09 73 74 61 74 69 | ic.char.**tokv.=.NULL;.....stati |
| 1980 | 63 20 69 6e 74 20 74 6f 6b 6e 20 3d 20 30 3b 00 00 00 00 00 00 00 1b 09 63 68 61 72 20 62 75 66 | c.int.tokn.=.0;.........char.buf |
| 19a0 | 5b 73 69 7a 65 6f 66 20 74 65 78 74 5d 2c 20 2a 73 3b 00 00 00 11 09 69 6e 74 20 69 2c 20 74 6f | [sizeof.text],.*s;.....int.i,.to |
| 19c0 | 6b 63 20 3d 20 30 3b 00 00 00 16 09 73 69 7a 65 5f 74 20 6c 65 6e 2c 20 74 65 78 74 73 69 7a 65 | kc.=.0;.....size_t.len,.textsize |
| 19e0 | 3b 00 00 00 3f 09 73 74 72 75 63 74 20 69 74 65 6d 20 2a 69 74 65 6d 2c 20 2a 6c 70 72 65 66 69 | ;...?.struct.item.*item,.*lprefi |
| 1a00 | 78 2c 20 2a 6c 73 75 62 73 74 72 2c 20 2a 70 72 65 66 69 78 65 6e 64 2c 20 2a 73 75 62 73 74 72 | x,.*lsubstr,.*prefixend,.*substr |
| 1a20 | 65 6e 64 3b 00 00 00 00 00 00 00 13 09 73 74 72 63 70 79 28 62 75 66 2c 20 74 65 78 74 29 3b 00 | end;.........strcpy(buf,.text);. |
| 1a40 | 00 00 41 09 2f 2a 20 73 65 70 61 72 61 74 65 20 69 6e 70 75 74 20 74 65 78 74 20 69 6e 74 6f 20 | ..A./*.separate.input.text.into. |
| 1a60 | 74 6f 6b 65 6e 73 20 74 6f 20 62 65 20 6d 61 74 63 68 65 64 20 69 6e 64 69 76 69 64 75 61 6c 6c | tokens.to.be.matched.individuall |
| 1a80 | 79 20 2a 2f 00 00 00 49 09 66 6f 72 20 28 73 20 3d 20 73 74 72 74 6f 6b 28 62 75 66 2c 20 22 20 | y.*/...I.for.(s.=.strtok(buf,.". |
| 1aa0 | 22 29 3b 20 73 3b 20 74 6f 6b 76 5b 74 6f 6b 63 20 2d 20 31 5d 20 3d 20 73 2c 20 73 20 3d 20 73 | ");.s;.tokv[tokc.-.1].=.s,.s.=.s |
| 1ac0 | 74 72 74 6f 6b 28 4e 55 4c 4c 2c 20 22 20 22 29 29 00 00 00 46 09 09 69 66 20 28 2b 2b 74 6f 6b | trtok(NULL,."."))...F..if.(++tok |
| 1ae0 | 63 20 3e 20 74 6f 6b 6e 20 26 26 20 21 28 74 6f 6b 76 20 3d 20 72 65 61 6c 6c 6f 63 28 74 6f 6b | c.>.tokn.&&.!(tokv.=.realloc(tok |
| 1b00 | 76 2c 20 2b 2b 74 6f 6b 6e 20 2a 20 73 69 7a 65 6f 66 20 2a 74 6f 6b 76 29 29 29 00 00 00 39 09 | v,.++tokn.*.sizeof.*tokv)))...9. |
| 1b20 | 09 09 64 69 65 28 22 63 61 6e 6e 6f 74 20 72 65 61 6c 6c 6f 63 20 25 7a 75 20 62 79 74 65 73 3a | ..die("cannot.realloc.%zu.bytes: |
| 1b40 | 22 2c 20 74 6f 6b 6e 20 2a 20 73 69 7a 65 6f 66 20 2a 74 6f 6b 76 29 3b 00 00 00 22 09 6c 65 6e | ",.tokn.*.sizeof.*tokv);...".len |
| 1b60 | 20 3d 20 74 6f 6b 63 20 3f 20 73 74 72 6c 65 6e 28 74 6f 6b 76 5b 30 5d 29 20 3a 20 30 3b 00 00 | .=.tokc.?.strlen(tokv[0]).:.0;.. |
| 1b80 | 00 00 00 00 00 47 09 6d 61 74 63 68 65 73 20 3d 20 6c 70 72 65 66 69 78 20 3d 20 6c 73 75 62 73 | .....G.matches.=.lprefix.=.lsubs |
| 1ba0 | 74 72 20 3d 20 6d 61 74 63 68 65 6e 64 20 3d 20 70 72 65 66 69 78 65 6e 64 20 3d 20 73 75 62 73 | tr.=.matchend.=.prefixend.=.subs |
| 1bc0 | 74 72 65 6e 64 20 3d 20 4e 55 4c 4c 3b 00 00 00 1d 09 74 65 78 74 73 69 7a 65 20 3d 20 73 74 72 | trend.=.NULL;.....textsize.=.str |
| 1be0 | 6c 65 6e 28 74 65 78 74 29 20 2b 20 31 3b 00 00 00 31 09 66 6f 72 20 28 69 74 65 6d 20 3d 20 69 | len(text).+.1;...1.for.(item.=.i |
| 1c00 | 74 65 6d 73 3b 20 69 74 65 6d 20 26 26 20 69 74 65 6d 2d 3e 74 65 78 74 3b 20 69 74 65 6d 2b 2b | tems;.item.&&.item->text;.item++ |
| 1c20 | 29 20 7b 00 00 00 1c 09 09 66 6f 72 20 28 69 20 3d 20 30 3b 20 69 20 3c 20 74 6f 6b 63 3b 20 69 | ).{......for.(i.=.0;.i.<.tokc;.i |
| 1c40 | 2b 2b 29 00 00 00 25 09 09 09 69 66 20 28 21 66 73 74 72 73 74 72 28 69 74 65 6d 2d 3e 74 65 78 | ++)...%...if.(!fstrstr(item->tex |
| 1c60 | 74 2c 20 74 6f 6b 76 5b 69 5d 29 29 00 00 00 0a 09 09 09 09 62 72 65 61 6b 3b 00 00 00 2b 09 09 | t,.tokv[i]))........break;...+.. |
| 1c80 | 69 66 20 28 69 20 21 3d 20 74 6f 6b 63 29 20 2f 2a 20 6e 6f 74 20 61 6c 6c 20 74 6f 6b 65 6e 73 | if.(i.!=.tokc)./*.not.all.tokens |
| 1ca0 | 20 6d 61 74 63 68 20 2a 2f 00 00 00 0c 09 09 09 63 6f 6e 74 69 6e 75 65 3b 00 00 00 3e 09 09 2f | .match.*/.......continue;...>../ |
| 1cc0 | 2a 20 65 78 61 63 74 20 6d 61 74 63 68 65 73 20 67 6f 20 66 69 72 73 74 2c 20 74 68 65 6e 20 70 | *.exact.matches.go.first,.then.p |
| 1ce0 | 72 65 66 69 78 65 73 2c 20 74 68 65 6e 20 73 75 62 73 74 72 69 6e 67 73 20 2a 2f 00 00 00 35 09 | refixes,.then.substrings.*/...5. |
| 1d00 | 09 69 66 20 28 21 74 6f 6b 63 20 7c 7c 20 21 66 73 74 72 6e 63 6d 70 28 74 65 78 74 2c 20 69 74 | .if.(!tokc.||.!fstrncmp(text,.it |
| 1d20 | 65 6d 2d 3e 74 65 78 74 2c 20 74 65 78 74 73 69 7a 65 29 29 00 00 00 29 09 09 09 61 70 70 65 6e | em->text,.textsize))...)...appen |
| 1d40 | 64 69 74 65 6d 28 69 74 65 6d 2c 20 26 6d 61 74 63 68 65 73 2c 20 26 6d 61 74 63 68 65 6e 64 29 | ditem(item,.&matches,.&matchend) |
| 1d60 | 3b 00 00 00 2f 09 09 65 6c 73 65 20 69 66 20 28 21 66 73 74 72 6e 63 6d 70 28 74 6f 6b 76 5b 30 | ;.../..else.if.(!fstrncmp(tokv[0 |
| 1d80 | 5d 2c 20 69 74 65 6d 2d 3e 74 65 78 74 2c 20 6c 65 6e 29 29 00 00 00 2a 09 09 09 61 70 70 65 6e | ],.item->text,.len))...*...appen |
| 1da0 | 64 69 74 65 6d 28 69 74 65 6d 2c 20 26 6c 70 72 65 66 69 78 2c 20 26 70 72 65 66 69 78 65 6e 64 | ditem(item,.&lprefix,.&prefixend |
| 1dc0 | 29 3b 00 00 00 06 09 09 65 6c 73 65 00 00 00 2a 09 09 09 61 70 70 65 6e 64 69 74 65 6d 28 69 74 | );......else...*...appenditem(it |
| 1de0 | 65 6d 2c 20 26 6c 73 75 62 73 74 72 2c 20 26 73 75 62 73 74 72 65 6e 64 29 3b 00 00 00 02 09 7d | em,.&lsubstr,.&substrend);.....} |
| 1e00 | 00 00 00 0f 09 69 66 20 28 6c 70 72 65 66 69 78 29 20 7b 00 00 00 10 09 09 69 66 20 28 6d 61 74 | .....if.(lprefix).{......if.(mat |
| 1e20 | 63 68 65 73 29 20 7b 00 00 00 1d 09 09 09 6d 61 74 63 68 65 6e 64 2d 3e 72 69 67 68 74 20 3d 20 | ches).{.......matchend->right.=. |
| 1e40 | 6c 70 72 65 66 69 78 3b 00 00 00 1c 09 09 09 6c 70 72 65 66 69 78 2d 3e 6c 65 66 74 20 3d 20 6d | lprefix;.......lprefix->left.=.m |
| 1e60 | 61 74 63 68 65 6e 64 3b 00 00 00 08 09 09 7d 20 65 6c 73 65 00 00 00 15 09 09 09 6d 61 74 63 68 | atchend;......}.else.......match |
| 1e80 | 65 73 20 3d 20 6c 70 72 65 66 69 78 3b 00 00 00 17 09 09 6d 61 74 63 68 65 6e 64 20 3d 20 70 72 | es.=.lprefix;......matchend.=.pr |
| 1ea0 | 65 66 69 78 65 6e 64 3b 00 00 00 02 09 7d 00 00 00 0f 09 69 66 20 28 6c 73 75 62 73 74 72 29 20 | efixend;.....}.....if.(lsubstr). |
| 1ec0 | 7b 00 00 00 10 09 09 69 66 20 28 6d 61 74 63 68 65 73 29 20 7b 00 00 00 1d 09 09 09 6d 61 74 63 | {......if.(matches).{.......matc |
| 1ee0 | 68 65 6e 64 2d 3e 72 69 67 68 74 20 3d 20 6c 73 75 62 73 74 72 3b 00 00 00 1c 09 09 09 6c 73 75 | hend->right.=.lsubstr;.......lsu |
| 1f00 | 62 73 74 72 2d 3e 6c 65 66 74 20 3d 20 6d 61 74 63 68 65 6e 64 3b 00 00 00 08 09 09 7d 20 65 6c | bstr->left.=.matchend;......}.el |
| 1f20 | 73 65 00 00 00 15 09 09 09 6d 61 74 63 68 65 73 20 3d 20 6c 73 75 62 73 74 72 3b 00 00 00 17 09 | se.......matches.=.lsubstr;..... |
| 1f40 | 09 6d 61 74 63 68 65 6e 64 20 3d 20 73 75 62 73 74 72 65 6e 64 3b 00 00 00 02 09 7d 00 00 00 16 | .matchend.=.substrend;.....}.... |
| 1f60 | 09 63 75 72 72 20 3d 20 73 65 6c 20 3d 20 6d 61 74 63 68 65 73 3b 00 00 00 0f 09 63 61 6c 63 6f | .curr.=.sel.=.matches;.....calco |
| 1f80 | 66 66 73 65 74 73 28 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 0b 73 74 61 74 69 63 20 76 6f 69 | ffsets();....}........static.voi |
| 1fa0 | 64 00 00 00 22 69 6e 73 65 72 74 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 74 72 2c 20 73 73 69 | d..."insert(const.char.*str,.ssi |
| 1fc0 | 7a 65 5f 74 20 6e 29 00 00 00 01 7b 00 00 00 28 09 69 66 20 28 73 74 72 6c 65 6e 28 74 65 78 74 | ze_t.n)....{...(.if.(strlen(text |
| 1fe0 | 29 20 2b 20 6e 20 3e 20 73 69 7a 65 6f 66 20 74 65 78 74 20 2d 20 31 29 00 00 00 09 09 09 72 65 | ).+.n.>.sizeof.text.-.1)......re |
| 2000 | 74 75 72 6e 3b 00 00 00 4c 09 2f 2a 20 6d 6f 76 65 20 65 78 69 73 74 69 6e 67 20 74 65 78 74 20 | turn;...L./*.move.existing.text. |
| 2020 | 6f 75 74 20 6f 66 20 74 68 65 20 77 61 79 2c 20 69 6e 73 65 72 74 20 6e 65 77 20 74 65 78 74 2c | out.of.the.way,.insert.new.text, |
| 2040 | 20 61 6e 64 20 75 70 64 61 74 65 20 63 75 72 73 6f 72 20 2a 2f 00 00 00 4d 09 6d 65 6d 6d 6f 76 | .and.update.cursor.*/...M.memmov |
| 2060 | 65 28 26 74 65 78 74 5b 63 75 72 73 6f 72 20 2b 20 6e 5d 2c 20 26 74 65 78 74 5b 63 75 72 73 6f | e(&text[cursor.+.n],.&text[curso |
| 2080 | 72 5d 2c 20 73 69 7a 65 6f 66 20 74 65 78 74 20 2d 20 63 75 72 73 6f 72 20 2d 20 4d 41 58 28 6e | r],.sizeof.text.-.cursor.-.MAX(n |
| 20a0 | 2c 20 30 29 29 3b 00 00 00 0b 09 69 66 20 28 6e 20 3e 20 30 29 00 00 00 20 09 09 6d 65 6d 63 70 | ,.0));.....if.(n.>.0)......memcp |
| 20c0 | 79 28 26 74 65 78 74 5b 63 75 72 73 6f 72 5d 2c 20 73 74 72 2c 20 6e 29 3b 00 00 00 0d 09 63 75 | y(&text[cursor],.str,.n);.....cu |
| 20e0 | 72 73 6f 72 20 2b 3d 20 6e 3b 00 00 00 09 09 6d 61 74 63 68 28 29 3b 00 00 00 01 7d 00 00 00 00 | rsor.+=.n;.....match();....}.... |
| 2100 | 00 00 00 0d 73 74 61 74 69 63 20 73 69 7a 65 5f 74 00 00 00 11 6e 65 78 74 72 75 6e 65 28 69 6e | ....static.size_t....nextrune(in |
| 2120 | 74 20 69 6e 63 29 00 00 00 01 7b 00 00 00 0b 09 73 73 69 7a 65 5f 74 20 6e 3b 00 00 00 00 00 00 | t.inc)....{.....ssize_t.n;...... |
| 2140 | 00 4a 09 2f 2a 20 72 65 74 75 72 6e 20 6c 6f 63 61 74 69 6f 6e 20 6f 66 20 6e 65 78 74 20 75 74 | .J./*.return.location.of.next.ut |
| 2160 | 66 38 20 72 75 6e 65 20 69 6e 20 74 68 65 20 67 69 76 65 6e 20 64 69 72 65 63 74 69 6f 6e 20 28 | f8.rune.in.the.given.direction.( |
| 2180 | 2b 31 20 6f 72 20 2d 31 29 20 2a 2f 00 00 00 4b 09 66 6f 72 20 28 6e 20 3d 20 63 75 72 73 6f 72 | +1.or.-1).*/...K.for.(n.=.cursor |
| 21a0 | 20 2b 20 69 6e 63 3b 20 6e 20 2b 20 69 6e 63 20 3e 3d 20 30 20 26 26 20 28 74 65 78 74 5b 6e 5d | .+.inc;.n.+.inc.>=.0.&&.(text[n] |
| 21c0 | 20 26 20 30 78 63 30 29 20 3d 3d 20 30 78 38 30 3b 20 6e 20 2b 3d 20 69 6e 63 29 00 00 00 03 09 | .&.0xc0).==.0x80;.n.+=.inc)..... |
| 21e0 | 09 3b 00 00 00 0a 09 72 65 74 75 72 6e 20 6e 3b 00 00 00 01 7d 00 00 00 00 00 00 00 0b 73 74 61 | .;.....return.n;....}........sta |
| 2200 | 74 69 63 20 76 6f 69 64 00 00 00 15 6d 6f 76 65 77 6f 72 64 65 64 67 65 28 69 6e 74 20 64 69 72 | tic.void....movewordedge(int.dir |
| 2220 | 29 00 00 00 01 7b 00 00 00 39 09 69 66 20 28 64 69 72 20 3c 20 30 29 20 7b 20 2f 2a 20 6d 6f 76 | )....{...9.if.(dir.<.0).{./*.mov |
| 2240 | 65 20 63 75 72 73 6f 72 20 74 6f 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 74 68 65 20 77 6f 72 | e.cursor.to.the.start.of.the.wor |
| 2260 | 64 2a 2f 00 00 00 42 09 09 77 68 69 6c 65 20 28 63 75 72 73 6f 72 20 3e 20 30 20 26 26 20 73 74 | d*/...B..while.(cursor.>.0.&&.st |
| 2280 | 72 63 68 72 28 77 6f 72 64 64 65 6c 69 6d 69 74 65 72 73 2c 20 74 65 78 74 5b 6e 65 78 74 72 75 | rchr(worddelimiters,.text[nextru |
| 22a0 | 6e 65 28 2d 31 29 5d 29 29 00 00 00 19 09 09 09 63 75 72 73 6f 72 20 3d 20 6e 65 78 74 72 75 6e | ne(-1)])).......cursor.=.nextrun |
| 22c0 | 65 28 2d 31 29 3b 00 00 00 43 09 09 77 68 69 6c 65 20 28 63 75 72 73 6f 72 20 3e 20 30 20 26 26 | e(-1);...C..while.(cursor.>.0.&& |
| 22e0 | 20 21 73 74 72 63 68 72 28 77 6f 72 64 64 65 6c 69 6d 69 74 65 72 73 2c 20 74 65 78 74 5b 6e 65 | .!strchr(worddelimiters,.text[ne |
| 2300 | 78 74 72 75 6e 65 28 2d 31 29 5d 29 29 00 00 00 19 09 09 09 63 75 72 73 6f 72 20 3d 20 6e 65 78 | xtrune(-1)])).......cursor.=.nex |
| 2320 | 74 72 75 6e 65 28 2d 31 29 3b 00 00 00 32 09 7d 20 65 6c 73 65 20 7b 20 2f 2a 20 6d 6f 76 65 20 | trune(-1);...2.}.else.{./*.move. |
| 2340 | 63 75 72 73 6f 72 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 77 6f 72 64 20 2a 2f | cursor.to.the.end.of.the.word.*/ |
| 2360 | 00 00 00 3e 09 09 77 68 69 6c 65 20 28 74 65 78 74 5b 63 75 72 73 6f 72 5d 20 26 26 20 73 74 72 | ...>..while.(text[cursor].&&.str |
| 2380 | 63 68 72 28 77 6f 72 64 64 65 6c 69 6d 69 74 65 72 73 2c 20 74 65 78 74 5b 63 75 72 73 6f 72 5d | chr(worddelimiters,.text[cursor] |
| 23a0 | 29 29 00 00 00 19 09 09 09 63 75 72 73 6f 72 20 3d 20 6e 65 78 74 72 75 6e 65 28 2b 31 29 3b 00 | )).......cursor.=.nextrune(+1);. |
| 23c0 | 00 00 3f 09 09 77 68 69 6c 65 20 28 74 65 78 74 5b 63 75 72 73 6f 72 5d 20 26 26 20 21 73 74 72 | ..?..while.(text[cursor].&&.!str |
| 23e0 | 63 68 72 28 77 6f 72 64 64 65 6c 69 6d 69 74 65 72 73 2c 20 74 65 78 74 5b 63 75 72 73 6f 72 5d | chr(worddelimiters,.text[cursor] |
| 2400 | 29 29 00 00 00 19 09 09 09 63 75 72 73 6f 72 20 3d 20 6e 65 78 74 72 75 6e 65 28 2b 31 29 3b 00 | )).......cursor.=.nextrune(+1);. |
| 2420 | 00 00 02 09 7d 00 00 00 01 7d 00 00 00 00 00 00 00 0b 73 74 61 74 69 63 20 76 6f 69 64 00 00 00 | ....}....}........static.void... |
| 2440 | 17 6b 65 79 70 72 65 73 73 28 58 4b 65 79 45 76 65 6e 74 20 2a 65 76 29 00 00 00 01 7b 00 00 00 | .keypress(XKeyEvent.*ev)....{... |
| 2460 | 0e 09 63 68 61 72 20 62 75 66 5b 36 34 5d 3b 00 00 00 09 09 69 6e 74 20 6c 65 6e 3b 00 00 00 18 | ..char.buf[64];.....int.len;.... |
| 2480 | 09 4b 65 79 53 79 6d 20 6b 73 79 6d 20 3d 20 4e 6f 53 79 6d 62 6f 6c 3b 00 00 00 0f 09 53 74 61 | .KeySym.ksym.=.NoSymbol;.....Sta |
| 24a0 | 74 75 73 20 73 74 61 74 75 73 3b 00 00 00 00 00 00 00 41 09 6c 65 6e 20 3d 20 58 6d 62 4c 6f 6f | tus.status;.......A.len.=.XmbLoo |
| 24c0 | 6b 75 70 53 74 72 69 6e 67 28 78 69 63 2c 20 65 76 2c 20 62 75 66 2c 20 73 69 7a 65 6f 66 20 62 | kupString(xic,.ev,.buf,.sizeof.b |
| 24e0 | 75 66 2c 20 26 6b 73 79 6d 2c 20 26 73 74 61 74 75 73 29 3b 00 00 00 12 09 73 77 69 74 63 68 20 | uf,.&ksym,.&status);.....switch. |
| 2500 | 28 73 74 61 74 75 73 29 20 7b 00 00 00 2c 09 64 65 66 61 75 6c 74 3a 20 2f 2a 20 58 4c 6f 6f 6b | (status).{...,.default:./*.XLook |
| 2520 | 75 70 4e 6f 6e 65 2c 20 58 42 75 66 66 65 72 4f 76 65 72 66 6c 6f 77 20 2a 2f 00 00 00 09 09 09 | upNone,.XBufferOverflow.*/...... |
| 2540 | 72 65 74 75 72 6e 3b 00 00 00 3b 09 63 61 73 65 20 58 4c 6f 6f 6b 75 70 43 68 61 72 73 3a 20 2f | return;...;.case.XLookupChars:./ |
| 2560 | 2a 20 63 6f 6d 70 6f 73 65 64 20 73 74 72 69 6e 67 20 66 72 6f 6d 20 69 6e 70 75 74 20 6d 65 74 | *.composed.string.from.input.met |
| 2580 | 68 6f 64 20 2a 2f 00 00 00 0e 09 09 67 6f 74 6f 20 69 6e 73 65 72 74 3b 00 00 00 14 09 63 61 73 | hod.*/......goto.insert;.....cas |
| 25a0 | 65 20 58 4c 6f 6f 6b 75 70 4b 65 79 53 79 6d 3a 00 00 00 47 09 63 61 73 65 20 58 4c 6f 6f 6b 75 | e.XLookupKeySym:...G.case.XLooku |
| 25c0 | 70 42 6f 74 68 3a 20 2f 2a 20 61 20 4b 65 79 53 79 6d 20 61 6e 64 20 61 20 73 74 72 69 6e 67 20 | pBoth:./*.a.KeySym.and.a.string. |
| 25e0 | 61 72 65 20 72 65 74 75 72 6e 65 64 3a 20 75 73 65 20 6b 65 79 73 79 6d 20 2a 2f 00 00 00 08 09 | are.returned:.use.keysym.*/..... |
| 2600 | 09 62 72 65 61 6b 3b 00 00 00 02 09 7d 00 00 00 00 00 00 00 1f 09 69 66 20 28 65 76 2d 3e 73 74 | .break;.....}.........if.(ev->st |
| 2620 | 61 74 65 20 26 20 43 6f 6e 74 72 6f 6c 4d 61 73 6b 29 20 7b 00 00 00 10 09 09 73 77 69 74 63 68 | ate.&.ControlMask).{......switch |
| 2640 | 28 6b 73 79 6d 29 20 7b 00 00 00 28 09 09 63 61 73 65 20 58 4b 5f 61 3a 20 6b 73 79 6d 20 3d 20 | (ksym).{...(..case.XK_a:.ksym.=. |
| 2660 | 58 4b 5f 48 6f 6d 65 3b 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 28 09 09 63 61 73 65 20 58 | XK_Home;......break;...(..case.X |
| 2680 | 4b 5f 62 3a 20 6b 73 79 6d 20 3d 20 58 4b 5f 4c 65 66 74 3b 20 20 20 20 20 20 62 72 65 61 6b 3b | K_b:.ksym.=.XK_Left;......break; |
| 26a0 | 00 00 00 28 09 09 63 61 73 65 20 58 4b 5f 63 3a 20 6b 73 79 6d 20 3d 20 58 4b 5f 45 73 63 61 70 | ...(..case.XK_c:.ksym.=.XK_Escap |
| 26c0 | 65 3b 20 20 20 20 62 72 65 61 6b 3b 00 00 00 28 09 09 63 61 73 65 20 58 4b 5f 64 3a 20 6b 73 79 | e;....break;...(..case.XK_d:.ksy |
| 26e0 | 6d 20 3d 20 58 4b 5f 44 65 6c 65 74 65 3b 20 20 20 20 62 72 65 61 6b 3b 00 00 00 28 09 09 63 61 | m.=.XK_Delete;....break;...(..ca |
| 2700 | 73 65 20 58 4b 5f 65 3a 20 6b 73 79 6d 20 3d 20 58 4b 5f 45 6e 64 3b 20 20 20 20 20 20 20 62 72 | se.XK_e:.ksym.=.XK_End;.......br |
| 2720 | 65 61 6b 3b 00 00 00 28 09 09 63 61 73 65 20 58 4b 5f 66 3a 20 6b 73 79 6d 20 3d 20 58 4b 5f 52 | eak;...(..case.XK_f:.ksym.=.XK_R |
| 2740 | 69 67 68 74 3b 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 28 09 09 63 61 73 65 20 58 4b 5f 67 3a | ight;.....break;...(..case.XK_g: |
| 2760 | 20 6b 73 79 6d 20 3d 20 58 4b 5f 45 73 63 61 70 65 3b 20 20 20 20 62 72 65 61 6b 3b 00 00 00 28 | .ksym.=.XK_Escape;....break;...( |
| 2780 | 09 09 63 61 73 65 20 58 4b 5f 68 3a 20 6b 73 79 6d 20 3d 20 58 4b 5f 42 61 63 6b 53 70 61 63 65 | ..case.XK_h:.ksym.=.XK_BackSpace |
| 27a0 | 3b 20 62 72 65 61 6b 3b 00 00 00 28 09 09 63 61 73 65 20 58 4b 5f 69 3a 20 6b 73 79 6d 20 3d 20 | ;.break;...(..case.XK_i:.ksym.=. |
| 27c0 | 58 4b 5f 54 61 62 3b 20 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 1e 09 09 63 61 73 65 20 58 | XK_Tab;.......break;......case.X |
| 27e0 | 4b 5f 6a 3a 20 2f 2a 20 66 61 6c 6c 74 68 72 6f 75 67 68 20 2a 2f 00 00 00 1e 09 09 63 61 73 65 | K_j:./*.fallthrough.*/......case |
| 2800 | 20 58 4b 5f 4a 3a 20 2f 2a 20 66 61 6c 6c 74 68 72 6f 75 67 68 20 2a 2f 00 00 00 1e 09 09 63 61 | .XK_J:./*.fallthrough.*/......ca |
| 2820 | 73 65 20 58 4b 5f 6d 3a 20 2f 2a 20 66 61 6c 6c 74 68 72 6f 75 67 68 20 2a 2f 00 00 00 40 09 09 | se.XK_m:./*.fallthrough.*/...@.. |
| 2840 | 63 61 73 65 20 58 4b 5f 4d 3a 20 6b 73 79 6d 20 3d 20 58 4b 5f 52 65 74 75 72 6e 3b 20 65 76 2d | case.XK_M:.ksym.=.XK_Return;.ev- |
| 2860 | 3e 73 74 61 74 65 20 26 3d 20 7e 43 6f 6e 74 72 6f 6c 4d 61 73 6b 3b 20 62 72 65 61 6b 3b 00 00 | >state.&=.~ControlMask;.break;.. |
| 2880 | 00 28 09 09 63 61 73 65 20 58 4b 5f 6e 3a 20 6b 73 79 6d 20 3d 20 58 4b 5f 44 6f 77 6e 3b 20 20 | .(..case.XK_n:.ksym.=.XK_Down;.. |
| 28a0 | 20 20 20 20 62 72 65 61 6b 3b 00 00 00 28 09 09 63 61 73 65 20 58 4b 5f 70 3a 20 6b 73 79 6d 20 | ....break;...(..case.XK_p:.ksym. |
| 28c0 | 3d 20 58 4b 5f 55 70 3b 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 00 00 00 00 1f 09 09 | =.XK_Up;........break;.......... |
| 28e0 | 63 61 73 65 20 58 4b 5f 6b 3a 20 2f 2a 20 64 65 6c 65 74 65 20 72 69 67 68 74 20 2a 2f 00 00 00 | case.XK_k:./*.delete.right.*/... |
| 2900 | 17 09 09 09 74 65 78 74 5b 63 75 72 73 6f 72 5d 20 3d 20 27 5c 30 27 3b 00 00 00 0b 09 09 09 6d | ....text[cursor].=.'\0';.......m |
| 2920 | 61 74 63 68 28 29 3b 00 00 00 09 09 09 09 62 72 65 61 6b 3b 00 00 00 1e 09 09 63 61 73 65 20 58 | atch();.......break;......case.X |
| 2940 | 4b 5f 75 3a 20 2f 2a 20 64 65 6c 65 74 65 20 6c 65 66 74 20 2a 2f 00 00 00 1c 09 09 09 69 6e 73 | K_u:./*.delete.left.*/.......ins |
| 2960 | 65 72 74 28 4e 55 4c 4c 2c 20 30 20 2d 20 63 75 72 73 6f 72 29 3b 00 00 00 09 09 09 09 62 72 65 | ert(NULL,.0.-.cursor);.......bre |
| 2980 | 61 6b 3b 00 00 00 1e 09 09 63 61 73 65 20 58 4b 5f 77 3a 20 2f 2a 20 64 65 6c 65 74 65 20 77 6f | ak;......case.XK_w:./*.delete.wo |
| 29a0 | 72 64 20 2a 2f 00 00 00 43 09 09 09 77 68 69 6c 65 20 28 63 75 72 73 6f 72 20 3e 20 30 20 26 26 | rd.*/...C...while.(cursor.>.0.&& |
| 29c0 | 20 73 74 72 63 68 72 28 77 6f 72 64 64 65 6c 69 6d 69 74 65 72 73 2c 20 74 65 78 74 5b 6e 65 78 | .strchr(worddelimiters,.text[nex |
| 29e0 | 74 72 75 6e 65 28 2d 31 29 5d 29 29 00 00 00 28 09 09 09 09 69 6e 73 65 72 74 28 4e 55 4c 4c 2c | trune(-1)]))...(....insert(NULL, |
| 2a00 | 20 6e 65 78 74 72 75 6e 65 28 2d 31 29 20 2d 20 63 75 72 73 6f 72 29 3b 00 00 00 44 09 09 09 77 | .nextrune(-1).-.cursor);...D...w |
| 2a20 | 68 69 6c 65 20 28 63 75 72 73 6f 72 20 3e 20 30 20 26 26 20 21 73 74 72 63 68 72 28 77 6f 72 64 | hile.(cursor.>.0.&&.!strchr(word |
| 2a40 | 64 65 6c 69 6d 69 74 65 72 73 2c 20 74 65 78 74 5b 6e 65 78 74 72 75 6e 65 28 2d 31 29 5d 29 29 | delimiters,.text[nextrune(-1)])) |
| 2a60 | 00 00 00 28 09 09 09 09 69 6e 73 65 72 74 28 4e 55 4c 4c 2c 20 6e 65 78 74 72 75 6e 65 28 2d 31 | ...(....insert(NULL,.nextrune(-1 |
| 2a80 | 29 20 2d 20 63 75 72 73 6f 72 29 3b 00 00 00 09 09 09 09 62 72 65 61 6b 3b 00 00 00 22 09 09 63 | ).-.cursor);.......break;..."..c |
| 2aa0 | 61 73 65 20 58 4b 5f 79 3a 20 2f 2a 20 70 61 73 74 65 20 73 65 6c 65 63 74 69 6f 6e 20 2a 2f 00 | ase.XK_y:./*.paste.selection.*/. |
| 2ac0 | 00 00 0c 09 09 63 61 73 65 20 58 4b 5f 59 3a 00 00 00 46 09 09 09 58 43 6f 6e 76 65 72 74 53 65 | .....case.XK_Y:...F...XConvertSe |
| 2ae0 | 6c 65 63 74 69 6f 6e 28 64 70 79 2c 20 28 65 76 2d 3e 73 74 61 74 65 20 26 20 53 68 69 66 74 4d | lection(dpy,.(ev->state.&.ShiftM |
| 2b00 | 61 73 6b 29 20 3f 20 63 6c 69 70 20 3a 20 58 41 5f 50 52 49 4d 41 52 59 2c 00 00 00 33 09 09 09 | ask).?.clip.:.XA_PRIMARY,...3... |
| 2b20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 74 66 38 2c 20 75 74 66 38 2c 20 77 69 | ..................utf8,.utf8,.wi |
| 2b40 | 6e 2c 20 43 75 72 72 65 6e 74 54 69 6d 65 29 3b 00 00 00 0a 09 09 09 72 65 74 75 72 6e 3b 00 00 | n,.CurrentTime);.......return;.. |
| 2b60 | 00 0f 09 09 63 61 73 65 20 58 4b 5f 4c 65 66 74 3a 00 00 00 12 09 09 63 61 73 65 20 58 4b 5f 4b | ....case.XK_Left:......case.XK_K |
| 2b80 | 50 5f 4c 65 66 74 3a 00 00 00 14 09 09 09 6d 6f 76 65 77 6f 72 64 65 64 67 65 28 2d 31 29 3b 00 | P_Left:.......movewordedge(-1);. |
| 2ba0 | 00 00 0d 09 09 09 67 6f 74 6f 20 64 72 61 77 3b 00 00 00 10 09 09 63 61 73 65 20 58 4b 5f 52 69 | ......goto.draw;......case.XK_Ri |
| 2bc0 | 67 68 74 3a 00 00 00 13 09 09 63 61 73 65 20 58 4b 5f 4b 50 5f 52 69 67 68 74 3a 00 00 00 14 09 | ght:......case.XK_KP_Right:..... |
| 2be0 | 09 09 6d 6f 76 65 77 6f 72 64 65 64 67 65 28 2b 31 29 3b 00 00 00 0d 09 09 09 67 6f 74 6f 20 64 | ..movewordedge(+1);.......goto.d |
| 2c00 | 72 61 77 3b 00 00 00 11 09 09 63 61 73 65 20 58 4b 5f 52 65 74 75 72 6e 3a 00 00 00 13 09 09 63 | raw;......case.XK_Return:......c |
| 2c20 | 61 73 65 20 58 4b 5f 4b 50 5f 45 6e 74 65 72 3a 00 00 00 09 09 09 09 62 72 65 61 6b 3b 00 00 00 | ase.XK_KP_Enter:.......break;... |
| 2c40 | 16 09 09 63 61 73 65 20 58 4b 5f 62 72 61 63 6b 65 74 6c 65 66 74 3a 00 00 00 0d 09 09 09 63 6c | ...case.XK_bracketleft:.......cl |
| 2c60 | 65 61 6e 75 70 28 29 3b 00 00 00 0b 09 09 09 65 78 69 74 28 31 29 3b 00 00 00 0a 09 09 64 65 66 | eanup();.......exit(1);......def |
| 2c80 | 61 75 6c 74 3a 00 00 00 0a 09 09 09 72 65 74 75 72 6e 3b 00 00 00 03 09 09 7d 00 00 00 23 09 7d | ault:.......return;......}...#.} |
| 2ca0 | 20 65 6c 73 65 20 69 66 20 28 65 76 2d 3e 73 74 61 74 65 20 26 20 4d 6f 64 31 4d 61 73 6b 29 20 | .else.if.(ev->state.&.Mod1Mask). |
| 2cc0 | 7b 00 00 00 10 09 09 73 77 69 74 63 68 28 6b 73 79 6d 29 20 7b 00 00 00 0c 09 09 63 61 73 65 20 | {......switch(ksym).{......case. |
| 2ce0 | 58 4b 5f 62 3a 00 00 00 14 09 09 09 6d 6f 76 65 77 6f 72 64 65 64 67 65 28 2d 31 29 3b 00 00 00 | XK_b:.......movewordedge(-1);... |
| 2d00 | 0d 09 09 09 67 6f 74 6f 20 64 72 61 77 3b 00 00 00 0c 09 09 63 61 73 65 20 58 4b 5f 66 3a 00 00 | ....goto.draw;......case.XK_f:.. |
| 2d20 | 00 14 09 09 09 6d 6f 76 65 77 6f 72 64 65 64 67 65 28 2b 31 29 3b 00 00 00 0d 09 09 09 67 6f 74 | .....movewordedge(+1);.......got |
| 2d40 | 6f 20 64 72 61 77 3b 00 00 00 24 09 09 63 61 73 65 20 58 4b 5f 67 3a 20 6b 73 79 6d 20 3d 20 58 | o.draw;...$..case.XK_g:.ksym.=.X |
| 2d60 | 4b 5f 48 6f 6d 65 3b 20 20 62 72 65 61 6b 3b 00 00 00 24 09 09 63 61 73 65 20 58 4b 5f 47 3a 20 | K_Home;..break;...$..case.XK_G:. |
| 2d80 | 6b 73 79 6d 20 3d 20 58 4b 5f 45 6e 64 3b 20 20 20 62 72 65 61 6b 3b 00 00 00 24 09 09 63 61 73 | ksym.=.XK_End;...break;...$..cas |
| 2da0 | 65 20 58 4b 5f 68 3a 20 6b 73 79 6d 20 3d 20 58 4b 5f 55 70 3b 20 20 20 20 62 72 65 61 6b 3b 00 | e.XK_h:.ksym.=.XK_Up;....break;. |
| 2dc0 | 00 00 24 09 09 63 61 73 65 20 58 4b 5f 6a 3a 20 6b 73 79 6d 20 3d 20 58 4b 5f 4e 65 78 74 3b 20 | ..$..case.XK_j:.ksym.=.XK_Next;. |
| 2de0 | 20 62 72 65 61 6b 3b 00 00 00 24 09 09 63 61 73 65 20 58 4b 5f 6b 3a 20 6b 73 79 6d 20 3d 20 58 | .break;...$..case.XK_k:.ksym.=.X |
| 2e00 | 4b 5f 50 72 69 6f 72 3b 20 62 72 65 61 6b 3b 00 00 00 24 09 09 63 61 73 65 20 58 4b 5f 6c 3a 20 | K_Prior;.break;...$..case.XK_l:. |
| 2e20 | 6b 73 79 6d 20 3d 20 58 4b 5f 44 6f 77 6e 3b 20 20 62 72 65 61 6b 3b 00 00 00 0a 09 09 64 65 66 | ksym.=.XK_Down;..break;......def |
| 2e40 | 61 75 6c 74 3a 00 00 00 0a 09 09 09 72 65 74 75 72 6e 3b 00 00 00 03 09 09 7d 00 00 00 02 09 7d | ault:.......return;......}.....} |
| 2e60 | 00 00 00 00 00 00 00 0f 09 73 77 69 74 63 68 28 6b 73 79 6d 29 20 7b 00 00 00 09 09 64 65 66 61 | .........switch(ksym).{.....defa |
| 2e80 | 75 6c 74 3a 00 00 00 07 69 6e 73 65 72 74 3a 00 00 00 24 09 09 69 66 20 28 21 69 73 63 6e 74 72 | ult:....insert:...$..if.(!iscntr |
| 2ea0 | 6c 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 29 2a 62 75 66 29 29 00 00 00 14 09 09 09 69 6e | l((unsigned.char)*buf)).......in |
| 2ec0 | 73 65 72 74 28 62 75 66 2c 20 6c 65 6e 29 3b 00 00 00 08 09 09 62 72 65 61 6b 3b 00 00 00 10 09 | sert(buf,.len);......break;..... |
| 2ee0 | 63 61 73 65 20 58 4b 5f 44 65 6c 65 74 65 3a 00 00 00 13 09 63 61 73 65 20 58 4b 5f 4b 50 5f 44 | case.XK_Delete:.....case.XK_KP_D |
| 2f00 | 65 6c 65 74 65 3a 00 00 00 1b 09 09 69 66 20 28 74 65 78 74 5b 63 75 72 73 6f 72 5d 20 3d 3d 20 | elete:......if.(text[cursor].==. |
| 2f20 | 27 5c 30 27 29 00 00 00 0a 09 09 09 72 65 74 75 72 6e 3b 00 00 00 18 09 09 63 75 72 73 6f 72 20 | '\0').......return;......cursor. |
| 2f40 | 3d 20 6e 65 78 74 72 75 6e 65 28 2b 31 29 3b 00 00 00 13 09 09 2f 2a 20 66 61 6c 6c 74 68 72 6f | =.nextrune(+1);....../*.fallthro |
| 2f60 | 75 67 68 20 2a 2f 00 00 00 13 09 63 61 73 65 20 58 4b 5f 42 61 63 6b 53 70 61 63 65 3a 00 00 00 | ugh.*/.....case.XK_BackSpace:... |
| 2f80 | 12 09 09 69 66 20 28 63 75 72 73 6f 72 20 3d 3d 20 30 29 00 00 00 0a 09 09 09 72 65 74 75 72 6e | ...if.(cursor.==.0).......return |
| 2fa0 | 3b 00 00 00 26 09 09 69 6e 73 65 72 74 28 4e 55 4c 4c 2c 20 6e 65 78 74 72 75 6e 65 28 2d 31 29 | ;...&..insert(NULL,.nextrune(-1) |
| 2fc0 | 20 2d 20 63 75 72 73 6f 72 29 3b 00 00 00 08 09 09 62 72 65 61 6b 3b 00 00 00 0d 09 63 61 73 65 | .-.cursor);......break;.....case |
| 2fe0 | 20 58 4b 5f 45 6e 64 3a 00 00 00 10 09 63 61 73 65 20 58 4b 5f 4b 50 5f 45 6e 64 3a 00 00 00 1d | .XK_End:.....case.XK_KP_End:.... |
| 3000 | 09 09 69 66 20 28 74 65 78 74 5b 63 75 72 73 6f 72 5d 20 21 3d 20 27 5c 30 27 29 20 7b 00 00 00 | ..if.(text[cursor].!=.'\0').{... |
| 3020 | 19 09 09 09 63 75 72 73 6f 72 20 3d 20 73 74 72 6c 65 6e 28 74 65 78 74 29 3b 00 00 00 09 09 09 | ....cursor.=.strlen(text);...... |
| 3040 | 09 62 72 65 61 6b 3b 00 00 00 03 09 09 7d 00 00 00 0d 09 09 69 66 20 28 6e 65 78 74 29 20 7b 00 | .break;......}......if.(next).{. |
| 3060 | 00 00 3a 09 09 09 2f 2a 20 6a 75 6d 70 20 74 6f 20 65 6e 64 20 6f 66 20 6c 69 73 74 20 61 6e 64 | ..:.../*.jump.to.end.of.list.and |
| 3080 | 20 70 6f 73 69 74 69 6f 6e 20 69 74 65 6d 73 20 69 6e 20 72 65 76 65 72 73 65 20 2a 2f 00 00 00 | .position.items.in.reverse.*/... |
| 30a0 | 13 09 09 09 63 75 72 72 20 3d 20 6d 61 74 63 68 65 6e 64 3b 00 00 00 11 09 09 09 63 61 6c 63 6f | ....curr.=.matchend;.......calco |
| 30c0 | 66 66 73 65 74 73 28 29 3b 00 00 00 0f 09 09 09 63 75 72 72 20 3d 20 70 72 65 76 3b 00 00 00 11 | ffsets();.......curr.=.prev;.... |
| 30e0 | 09 09 09 63 61 6c 63 6f 66 66 73 65 74 73 28 29 3b 00 00 00 27 09 09 09 77 68 69 6c 65 20 28 6e | ...calcoffsets();...'...while.(n |
| 3100 | 65 78 74 20 26 26 20 28 63 75 72 72 20 3d 20 63 75 72 72 2d 3e 72 69 67 68 74 29 29 00 00 00 12 | ext.&&.(curr.=.curr->right)).... |
| 3120 | 09 09 09 09 63 61 6c 63 6f 66 66 73 65 74 73 28 29 3b 00 00 00 03 09 09 7d 00 00 00 11 09 09 73 | ....calcoffsets();......}......s |
| 3140 | 65 6c 20 3d 20 6d 61 74 63 68 65 6e 64 3b 00 00 00 08 09 09 62 72 65 61 6b 3b 00 00 00 10 09 63 | el.=.matchend;......break;.....c |
| 3160 | 61 73 65 20 58 4b 5f 45 73 63 61 70 65 3a 00 00 00 0c 09 09 63 6c 65 61 6e 75 70 28 29 3b 00 00 | ase.XK_Escape:......cleanup();.. |
| 3180 | 00 0a 09 09 65 78 69 74 28 31 29 3b 00 00 00 0e 09 63 61 73 65 20 58 4b 5f 48 6f 6d 65 3a 00 00 | ....exit(1);.....case.XK_Home:.. |
| 31a0 | 00 11 09 63 61 73 65 20 58 4b 5f 4b 50 5f 48 6f 6d 65 3a 00 00 00 17 09 09 69 66 20 28 73 65 6c | ...case.XK_KP_Home:......if.(sel |
| 31c0 | 20 3d 3d 20 6d 61 74 63 68 65 73 29 20 7b 00 00 00 0e 09 09 09 63 75 72 73 6f 72 20 3d 20 30 3b | .==.matches).{.......cursor.=.0; |
| 31e0 | 00 00 00 09 09 09 09 62 72 65 61 6b 3b 00 00 00 03 09 09 7d 00 00 00 17 09 09 73 65 6c 20 3d 20 | .......break;......}......sel.=. |
| 3200 | 63 75 72 72 20 3d 20 6d 61 74 63 68 65 73 3b 00 00 00 10 09 09 63 61 6c 63 6f 66 66 73 65 74 73 | curr.=.matches;......calcoffsets |
| 3220 | 28 29 3b 00 00 00 08 09 09 62 72 65 61 6b 3b 00 00 00 0e 09 63 61 73 65 20 58 4b 5f 4c 65 66 74 | ();......break;.....case.XK_Left |
| 3240 | 3a 00 00 00 11 09 63 61 73 65 20 58 4b 5f 4b 50 5f 4c 65 66 74 3a 00 00 00 38 09 09 69 66 20 28 | :.....case.XK_KP_Left:...8..if.( |
| 3260 | 63 75 72 73 6f 72 20 3e 20 30 20 26 26 20 28 21 73 65 6c 20 7c 7c 20 21 73 65 6c 2d 3e 6c 65 66 | cursor.>.0.&&.(!sel.||.!sel->lef |
| 3280 | 74 20 7c 7c 20 6c 69 6e 65 73 20 3e 20 30 29 29 20 7b 00 00 00 19 09 09 09 63 75 72 73 6f 72 20 | t.||.lines.>.0)).{.......cursor. |
| 32a0 | 3d 20 6e 65 78 74 72 75 6e 65 28 2d 31 29 3b 00 00 00 09 09 09 09 62 72 65 61 6b 3b 00 00 00 03 | =.nextrune(-1);.......break;.... |
| 32c0 | 09 09 7d 00 00 00 10 09 09 69 66 20 28 6c 69 6e 65 73 20 3e 20 30 29 00 00 00 0a 09 09 09 72 65 | ..}......if.(lines.>.0).......re |
| 32e0 | 74 75 72 6e 3b 00 00 00 13 09 09 2f 2a 20 66 61 6c 6c 74 68 72 6f 75 67 68 20 2a 2f 00 00 00 0c | turn;....../*.fallthrough.*/.... |
| 3300 | 09 63 61 73 65 20 58 4b 5f 55 70 3a 00 00 00 0f 09 63 61 73 65 20 58 4b 5f 4b 50 5f 55 70 3a 00 | .case.XK_Up:.....case.XK_KP_Up:. |
| 3320 | 00 00 3d 09 09 69 66 20 28 73 65 6c 20 26 26 20 73 65 6c 2d 3e 6c 65 66 74 20 26 26 20 28 73 65 | ..=..if.(sel.&&.sel->left.&&.(se |
| 3340 | 6c 20 3d 20 73 65 6c 2d 3e 6c 65 66 74 29 2d 3e 72 69 67 68 74 20 3d 3d 20 63 75 72 72 29 20 7b | l.=.sel->left)->right.==.curr).{ |
| 3360 | 00 00 00 0f 09 09 09 63 75 72 72 20 3d 20 70 72 65 76 3b 00 00 00 11 09 09 09 63 61 6c 63 6f 66 | .......curr.=.prev;.......calcof |
| 3380 | 66 73 65 74 73 28 29 3b 00 00 00 03 09 09 7d 00 00 00 08 09 09 62 72 65 61 6b 3b 00 00 00 0e 09 | fsets();......}......break;..... |
| 33a0 | 63 61 73 65 20 58 4b 5f 4e 65 78 74 3a 00 00 00 11 09 63 61 73 65 20 58 4b 5f 4b 50 5f 4e 65 78 | case.XK_Next:.....case.XK_KP_Nex |
| 33c0 | 74 3a 00 00 00 0c 09 09 69 66 20 28 21 6e 65 78 74 29 00 00 00 0a 09 09 09 72 65 74 75 72 6e 3b | t:......if.(!next).......return; |
| 33e0 | 00 00 00 14 09 09 73 65 6c 20 3d 20 63 75 72 72 20 3d 20 6e 65 78 74 3b 00 00 00 10 09 09 63 61 | ......sel.=.curr.=.next;......ca |
| 3400 | 6c 63 6f 66 66 73 65 74 73 28 29 3b 00 00 00 08 09 09 62 72 65 61 6b 3b 00 00 00 0f 09 63 61 73 | lcoffsets();......break;.....cas |
| 3420 | 65 20 58 4b 5f 50 72 69 6f 72 3a 00 00 00 12 09 63 61 73 65 20 58 4b 5f 4b 50 5f 50 72 69 6f 72 | e.XK_Prior:.....case.XK_KP_Prior |
| 3440 | 3a 00 00 00 0c 09 09 69 66 20 28 21 70 72 65 76 29 00 00 00 0a 09 09 09 72 65 74 75 72 6e 3b 00 | :......if.(!prev).......return;. |
| 3460 | 00 00 14 09 09 73 65 6c 20 3d 20 63 75 72 72 20 3d 20 70 72 65 76 3b 00 00 00 10 09 09 63 61 6c | .....sel.=.curr.=.prev;......cal |
| 3480 | 63 6f 66 66 73 65 74 73 28 29 3b 00 00 00 08 09 09 62 72 65 61 6b 3b 00 00 00 10 09 63 61 73 65 | coffsets();......break;.....case |
| 34a0 | 20 58 4b 5f 52 65 74 75 72 6e 3a 00 00 00 12 09 63 61 73 65 20 58 4b 5f 4b 50 5f 45 6e 74 65 72 | .XK_Return:.....case.XK_KP_Enter |
| 34c0 | 3a 00 00 00 3d 09 09 70 75 74 73 28 28 73 65 6c 20 26 26 20 21 28 65 76 2d 3e 73 74 61 74 65 20 | :...=..puts((sel.&&.!(ev->state. |
| 34e0 | 26 20 53 68 69 66 74 4d 61 73 6b 29 29 20 3f 20 73 65 6c 2d 3e 74 65 78 74 20 3a 20 74 65 78 74 | &.ShiftMask)).?.sel->text.:.text |
| 3500 | 29 3b 00 00 00 23 09 09 69 66 20 28 21 28 65 76 2d 3e 73 74 61 74 65 20 26 20 43 6f 6e 74 72 6f | );...#..if.(!(ev->state.&.Contro |
| 3520 | 6c 4d 61 73 6b 29 29 20 7b 00 00 00 0d 09 09 09 63 6c 65 61 6e 75 70 28 29 3b 00 00 00 0b 09 09 | lMask)).{.......cleanup();...... |
| 3540 | 09 65 78 69 74 28 30 29 3b 00 00 00 03 09 09 7d 00 00 00 0a 09 09 69 66 20 28 73 65 6c 29 00 00 | .exit(0);......}......if.(sel).. |
| 3560 | 00 10 09 09 09 73 65 6c 2d 3e 6f 75 74 20 3d 20 31 3b 00 00 00 08 09 09 62 72 65 61 6b 3b 00 00 | .....sel->out.=.1;......break;.. |
| 3580 | 00 0f 09 63 61 73 65 20 58 4b 5f 52 69 67 68 74 3a 00 00 00 12 09 63 61 73 65 20 58 4b 5f 4b 50 | ...case.XK_Right:.....case.XK_KP |
| 35a0 | 5f 52 69 67 68 74 3a 00 00 00 1d 09 09 69 66 20 28 74 65 78 74 5b 63 75 72 73 6f 72 5d 20 21 3d | _Right:......if.(text[cursor].!= |
| 35c0 | 20 27 5c 30 27 29 20 7b 00 00 00 19 09 09 09 63 75 72 73 6f 72 20 3d 20 6e 65 78 74 72 75 6e 65 | .'\0').{.......cursor.=.nextrune |
| 35e0 | 28 2b 31 29 3b 00 00 00 09 09 09 09 62 72 65 61 6b 3b 00 00 00 03 09 09 7d 00 00 00 10 09 09 69 | (+1);.......break;......}......i |
| 3600 | 66 20 28 6c 69 6e 65 73 20 3e 20 30 29 00 00 00 0a 09 09 09 72 65 74 75 72 6e 3b 00 00 00 13 09 | f.(lines.>.0).......return;..... |
| 3620 | 09 2f 2a 20 66 61 6c 6c 74 68 72 6f 75 67 68 20 2a 2f 00 00 00 0e 09 63 61 73 65 20 58 4b 5f 44 | ./*.fallthrough.*/.....case.XK_D |
| 3640 | 6f 77 6e 3a 00 00 00 11 09 63 61 73 65 20 58 4b 5f 4b 50 5f 44 6f 77 6e 3a 00 00 00 38 09 09 69 | own:.....case.XK_KP_Down:...8..i |
| 3660 | 66 20 28 73 65 6c 20 26 26 20 73 65 6c 2d 3e 72 69 67 68 74 20 26 26 20 28 73 65 6c 20 3d 20 73 | f.(sel.&&.sel->right.&&.(sel.=.s |
| 3680 | 65 6c 2d 3e 72 69 67 68 74 29 20 3d 3d 20 6e 65 78 74 29 20 7b 00 00 00 0f 09 09 09 63 75 72 72 | el->right).==.next).{.......curr |
| 36a0 | 20 3d 20 6e 65 78 74 3b 00 00 00 11 09 09 09 63 61 6c 63 6f 66 66 73 65 74 73 28 29 3b 00 00 00 | .=.next;.......calcoffsets();... |
| 36c0 | 03 09 09 7d 00 00 00 08 09 09 62 72 65 61 6b 3b 00 00 00 0d 09 63 61 73 65 20 58 4b 5f 54 61 62 | ...}......break;.....case.XK_Tab |
| 36e0 | 3a 00 00 00 0b 09 09 69 66 20 28 21 73 65 6c 29 00 00 00 0a 09 09 09 72 65 74 75 72 6e 3b 00 00 | :......if.(!sel).......return;.. |
| 3700 | 00 2f 09 09 63 75 72 73 6f 72 20 3d 20 73 74 72 6e 6c 65 6e 28 73 65 6c 2d 3e 74 65 78 74 2c 20 | ./..cursor.=.strnlen(sel->text,. |
| 3720 | 73 69 7a 65 6f 66 20 74 65 78 74 20 2d 20 31 29 3b 00 00 00 22 09 09 6d 65 6d 63 70 79 28 74 65 | sizeof.text.-.1);..."..memcpy(te |
| 3740 | 78 74 2c 20 73 65 6c 2d 3e 74 65 78 74 2c 20 63 75 72 73 6f 72 29 3b 00 00 00 16 09 09 74 65 78 | xt,.sel->text,.cursor);......tex |
| 3760 | 74 5b 63 75 72 73 6f 72 5d 20 3d 20 27 5c 30 27 3b 00 00 00 0a 09 09 6d 61 74 63 68 28 29 3b 00 | t[cursor].=.'\0';......match();. |
| 3780 | 00 00 08 09 09 62 72 65 61 6b 3b 00 00 00 02 09 7d 00 00 00 00 00 00 00 05 64 72 61 77 3a 00 00 | .....break;.....}........draw:.. |
| 37a0 | 00 0c 09 64 72 61 77 6d 65 6e 75 28 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 0b 73 74 61 74 69 | ...drawmenu();....}........stati |
| 37c0 | 63 20 76 6f 69 64 00 00 00 16 62 75 74 74 6f 6e 70 72 65 73 73 28 58 45 76 65 6e 74 20 2a 65 29 | c.void....buttonpress(XEvent.*e) |
| 37e0 | 00 00 00 01 7b 00 00 00 13 09 73 74 72 75 63 74 20 69 74 65 6d 20 2a 69 74 65 6d 3b 00 00 00 27 | ....{.....struct.item.*item;...' |
| 3800 | 09 58 42 75 74 74 6f 6e 50 72 65 73 73 65 64 45 76 65 6e 74 20 2a 65 76 20 3d 20 26 65 2d 3e 78 | .XButtonPressedEvent.*ev.=.&e->x |
| 3820 | 62 75 74 74 6f 6e 3b 00 00 00 1d 09 69 6e 74 20 78 20 3d 20 30 2c 20 79 20 3d 20 30 2c 20 68 20 | button;.....int.x.=.0,.y.=.0,.h. |
| 3840 | 3d 20 62 68 2c 20 77 3b 00 00 00 00 00 00 00 17 09 69 66 20 28 65 76 2d 3e 77 69 6e 64 6f 77 20 | =.bh,.w;.........if.(ev->window. |
| 3860 | 21 3d 20 77 69 6e 29 00 00 00 09 09 09 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 18 09 2f 2a 20 | !=.win)......return;........./*. |
| 3880 | 72 69 67 68 74 2d 63 6c 69 63 6b 3a 20 65 78 69 74 20 2a 2f 00 00 00 1b 09 69 66 20 28 65 76 2d | right-click:.exit.*/.....if.(ev- |
| 38a0 | 3e 62 75 74 74 6f 6e 20 3d 3d 20 42 75 74 74 6f 6e 33 29 00 00 00 0a 09 09 65 78 69 74 28 31 29 | >button.==.Button3)......exit(1) |
| 38c0 | 3b 00 00 00 00 00 00 00 17 09 69 66 20 28 70 72 6f 6d 70 74 20 26 26 20 2a 70 72 6f 6d 70 74 29 | ;.........if.(prompt.&&.*prompt) |
| 38e0 | 00 00 00 0f 09 09 78 20 2b 3d 20 70 72 6f 6d 70 74 77 3b 00 00 00 00 00 00 00 12 09 2f 2a 20 69 | ......x.+=.promptw;........./*.i |
| 3900 | 6e 70 75 74 20 66 69 65 6c 64 20 2a 2f 00 00 00 2f 09 77 20 3d 20 28 6c 69 6e 65 73 20 3e 20 30 | nput.field.*/.../.w.=.(lines.>.0 |
| 3920 | 20 7c 7c 20 21 6d 61 74 63 68 65 73 29 20 3f 20 6d 77 20 2d 20 78 20 3a 20 69 6e 70 75 74 77 3b | .||.!matches).?.mw.-.x.:.inputw; |
| 3940 | 00 00 00 00 00 00 00 25 09 2f 2a 20 6c 65 66 74 2d 63 6c 69 63 6b 20 6f 6e 20 69 6e 70 75 74 3a | .......%./*.left-click.on.input: |
| 3960 | 20 63 6c 65 61 72 20 69 6e 70 75 74 2c 00 00 00 42 09 20 2a 20 4e 4f 54 45 3a 20 69 66 20 74 68 | .clear.input,...B..*.NOTE:.if.th |
| 3980 | 65 72 65 20 69 73 20 6e 6f 20 6c 65 66 74 2d 61 72 72 6f 77 20 74 68 65 20 73 70 61 63 65 20 66 | ere.is.no.left-arrow.the.space.f |
| 39a0 | 6f 72 20 3c 20 69 73 20 72 65 73 65 72 76 65 64 20 73 6f 00 00 00 28 09 20 2a 20 20 20 20 20 20 | or.<.is.reserved.so...(..*...... |
| 39c0 | 20 61 64 64 20 74 68 61 74 20 74 6f 20 74 68 65 20 69 6e 70 75 74 20 77 69 64 74 68 20 2a 2f 00 | .add.that.to.the.input.width.*/. |
| 39e0 | 00 00 1d 09 69 66 20 28 65 76 2d 3e 62 75 74 74 6f 6e 20 3d 3d 20 42 75 74 74 6f 6e 31 20 26 26 | ....if.(ev->button.==.Button1.&& |
| 3a00 | 00 00 00 32 09 20 20 20 28 28 6c 69 6e 65 73 20 3c 3d 20 30 20 26 26 20 65 76 2d 3e 78 20 3e 3d | ...2....((lines.<=.0.&&.ev->x.>= |
| 3a20 | 20 30 20 26 26 20 65 76 2d 3e 78 20 3c 3d 20 78 20 2b 20 77 20 2b 00 00 00 31 09 20 20 20 28 28 | .0.&&.ev->x.<=.x.+.w.+...1....(( |
| 3a40 | 21 70 72 65 76 20 7c 7c 20 21 63 75 72 72 2d 3e 6c 65 66 74 29 20 3f 20 54 45 58 54 57 28 22 3c | !prev.||.!curr->left).?.TEXTW("< |
| 3a60 | 22 29 20 3a 20 30 29 29 20 7c 7c 00 00 00 33 09 20 20 20 28 6c 69 6e 65 73 20 3e 20 30 20 26 26 | ").:.0)).||...3....(lines.>.0.&& |
| 3a80 | 20 65 76 2d 3e 79 20 3e 3d 20 79 20 26 26 20 65 76 2d 3e 79 20 3c 3d 20 79 20 2b 20 68 29 29 29 | .ev->y.>=.y.&&.ev->y.<=.y.+.h))) |
| 3aa0 | 20 7b 00 00 00 18 09 09 69 6e 73 65 72 74 28 4e 55 4c 4c 2c 20 2d 63 75 72 73 6f 72 29 3b 00 00 | .{......insert(NULL,.-cursor);.. |
| 3ac0 | 00 0d 09 09 64 72 61 77 6d 65 6e 75 28 29 3b 00 00 00 09 09 09 72 65 74 75 72 6e 3b 00 00 00 02 | ....drawmenu();......return;.... |
| 3ae0 | 09 7d 00 00 00 2a 09 2f 2a 20 6d 69 64 64 6c 65 2d 6d 6f 75 73 65 20 63 6c 69 63 6b 3a 20 70 61 | .}...*./*.middle-mouse.click:.pa |
| 3b00 | 73 74 65 20 73 65 6c 65 63 74 69 6f 6e 20 2a 2f 00 00 00 1d 09 69 66 20 28 65 76 2d 3e 62 75 74 | ste.selection.*/.....if.(ev->but |
| 3b20 | 74 6f 6e 20 3d 3d 20 42 75 74 74 6f 6e 32 29 20 7b 00 00 00 45 09 09 58 43 6f 6e 76 65 72 74 53 | ton.==.Button2).{...E..XConvertS |
| 3b40 | 65 6c 65 63 74 69 6f 6e 28 64 70 79 2c 20 28 65 76 2d 3e 73 74 61 74 65 20 26 20 53 68 69 66 74 | election(dpy,.(ev->state.&.Shift |
| 3b60 | 4d 61 73 6b 29 20 3f 20 63 6c 69 70 20 3a 20 58 41 5f 50 52 49 4d 41 52 59 2c 00 00 00 32 09 09 | Mask).?.clip.:.XA_PRIMARY,...2.. |
| 3b80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 74 66 38 2c 20 75 74 66 38 2c 20 77 69 | ..................utf8,.utf8,.wi |
| 3ba0 | 6e 2c 20 43 75 72 72 65 6e 74 54 69 6d 65 29 3b 00 00 00 0d 09 09 64 72 61 77 6d 65 6e 75 28 29 | n,.CurrentTime);......drawmenu() |
| 3bc0 | 3b 00 00 00 09 09 09 72 65 74 75 72 6e 3b 00 00 00 02 09 7d 00 00 00 10 09 2f 2a 20 73 63 72 6f | ;......return;.....}...../*.scro |
| 3be0 | 6c 6c 20 75 70 20 2a 2f 00 00 00 25 09 69 66 20 28 65 76 2d 3e 62 75 74 74 6f 6e 20 3d 3d 20 42 | ll.up.*/...%.if.(ev->button.==.B |
| 3c00 | 75 74 74 6f 6e 34 20 26 26 20 70 72 65 76 29 20 7b 00 00 00 14 09 09 73 65 6c 20 3d 20 63 75 72 | utton4.&&.prev).{......sel.=.cur |
| 3c20 | 72 20 3d 20 70 72 65 76 3b 00 00 00 10 09 09 63 61 6c 63 6f 66 66 73 65 74 73 28 29 3b 00 00 00 | r.=.prev;......calcoffsets();... |
| 3c40 | 0d 09 09 64 72 61 77 6d 65 6e 75 28 29 3b 00 00 00 09 09 09 72 65 74 75 72 6e 3b 00 00 00 02 09 | ...drawmenu();......return;..... |
| 3c60 | 7d 00 00 00 12 09 2f 2a 20 73 63 72 6f 6c 6c 20 64 6f 77 6e 20 2a 2f 00 00 00 25 09 69 66 20 28 | }...../*.scroll.down.*/...%.if.( |
| 3c80 | 65 76 2d 3e 62 75 74 74 6f 6e 20 3d 3d 20 42 75 74 74 6f 6e 35 20 26 26 20 6e 65 78 74 29 20 7b | ev->button.==.Button5.&&.next).{ |
| 3ca0 | 00 00 00 14 09 09 73 65 6c 20 3d 20 63 75 72 72 20 3d 20 6e 65 78 74 3b 00 00 00 10 09 09 63 61 | ......sel.=.curr.=.next;......ca |
| 3cc0 | 6c 63 6f 66 66 73 65 74 73 28 29 3b 00 00 00 0d 09 09 64 72 61 77 6d 65 6e 75 28 29 3b 00 00 00 | lcoffsets();......drawmenu();... |
| 3ce0 | 09 09 09 72 65 74 75 72 6e 3b 00 00 00 02 09 7d 00 00 00 1b 09 69 66 20 28 65 76 2d 3e 62 75 74 | ...return;.....}.....if.(ev->but |
| 3d00 | 74 6f 6e 20 21 3d 20 42 75 74 74 6f 6e 31 29 00 00 00 09 09 09 72 65 74 75 72 6e 3b 00 00 00 1e | ton.!=.Button1)......return;.... |
| 3d20 | 09 69 66 20 28 65 76 2d 3e 73 74 61 74 65 20 26 20 7e 43 6f 6e 74 72 6f 6c 4d 61 73 6b 29 00 00 | .if.(ev->state.&.~ControlMask).. |
| 3d40 | 00 09 09 09 72 65 74 75 72 6e 3b 00 00 00 11 09 69 66 20 28 6c 69 6e 65 73 20 3e 20 30 29 20 7b | ....return;.....if.(lines.>.0).{ |
| 3d60 | 00 00 00 2f 09 09 2f 2a 20 76 65 72 74 69 63 61 6c 20 6c 69 73 74 3a 20 28 63 74 72 6c 29 6c 65 | .../../*.vertical.list:.(ctrl)le |
| 3d80 | 66 74 2d 63 6c 69 63 6b 20 6f 6e 20 69 74 65 6d 20 2a 2f 00 00 00 0d 09 09 77 20 3d 20 6d 77 20 | ft-click.on.item.*/......w.=.mw. |
| 3da0 | 2d 20 78 3b 00 00 00 37 09 09 66 6f 72 20 28 69 74 65 6d 20 3d 20 63 75 72 72 3b 20 69 74 65 6d | -.x;...7..for.(item.=.curr;.item |
| 3dc0 | 20 21 3d 20 6e 65 78 74 3b 20 69 74 65 6d 20 3d 20 69 74 65 6d 2d 3e 72 69 67 68 74 29 20 7b 00 | .!=.next;.item.=.item->right).{. |
| 3de0 | 00 00 0a 09 09 09 79 20 2b 3d 20 68 3b 00 00 00 28 09 09 09 69 66 20 28 65 76 2d 3e 79 20 3e 3d | ......y.+=.h;...(...if.(ev->y.>= |
| 3e00 | 20 79 20 26 26 20 65 76 2d 3e 79 20 3c 3d 20 28 79 20 2b 20 68 29 29 20 7b 00 00 00 15 09 09 09 | .y.&&.ev->y.<=.(y.+.h)).{....... |
| 3e20 | 09 70 75 74 73 28 69 74 65 6d 2d 3e 74 65 78 74 29 3b 00 00 00 23 09 09 09 09 69 66 20 28 21 28 | .puts(item->text);...#....if.(!( |
| 3e40 | 65 76 2d 3e 73 74 61 74 65 20 26 20 43 6f 6e 74 72 6f 6c 4d 61 73 6b 29 29 00 00 00 0d 09 09 09 | ev->state.&.ControlMask))....... |
| 3e60 | 09 09 65 78 69 74 28 30 29 3b 00 00 00 0f 09 09 09 09 73 65 6c 20 3d 20 69 74 65 6d 3b 00 00 00 | ..exit(0);........sel.=.item;... |
| 3e80 | 0e 09 09 09 09 69 66 20 28 73 65 6c 29 20 7b 00 00 00 12 09 09 09 09 09 73 65 6c 2d 3e 6f 75 74 | .....if.(sel).{.........sel->out |
| 3ea0 | 20 3d 20 31 3b 00 00 00 10 09 09 09 09 09 64 72 61 77 6d 65 6e 75 28 29 3b 00 00 00 05 09 09 09 | .=.1;.........drawmenu();....... |
| 3ec0 | 09 7d 00 00 00 0b 09 09 09 09 72 65 74 75 72 6e 3b 00 00 00 04 09 09 09 7d 00 00 00 03 09 09 7d | .}........return;.......}......} |
| 3ee0 | 00 00 00 16 09 7d 20 65 6c 73 65 20 69 66 20 28 6d 61 74 63 68 65 73 29 20 7b 00 00 00 20 09 09 | .....}.else.if.(matches).{...... |
| 3f00 | 2f 2a 20 6c 65 66 74 2d 63 6c 69 63 6b 20 6f 6e 20 6c 65 66 74 20 61 72 72 6f 77 20 2a 2f 00 00 | /*.left-click.on.left.arrow.*/.. |
| 3f20 | 00 0e 09 09 78 20 2b 3d 20 69 6e 70 75 74 77 3b 00 00 00 11 09 09 77 20 3d 20 54 45 58 54 57 28 | ....x.+=.inputw;......w.=.TEXTW( |
| 3f40 | 22 3c 22 29 3b 00 00 00 1b 09 09 69 66 20 28 70 72 65 76 20 26 26 20 63 75 72 72 2d 3e 6c 65 66 | "<");......if.(prev.&&.curr->lef |
| 3f60 | 74 29 20 7b 00 00 00 26 09 09 09 69 66 20 28 65 76 2d 3e 78 20 3e 3d 20 78 20 26 26 20 65 76 2d | t).{...&...if.(ev->x.>=.x.&&.ev- |
| 3f80 | 3e 78 20 3c 3d 20 78 20 2b 20 77 29 20 7b 00 00 00 16 09 09 09 09 73 65 6c 20 3d 20 63 75 72 72 | >x.<=.x.+.w).{........sel.=.curr |
| 3fa0 | 20 3d 20 70 72 65 76 3b 00 00 00 12 09 09 09 09 63 61 6c 63 6f 66 66 73 65 74 73 28 29 3b 00 00 | .=.prev;........calcoffsets();.. |
| 3fc0 | 00 0f 09 09 09 09 64 72 61 77 6d 65 6e 75 28 29 3b 00 00 00 0b 09 09 09 09 72 65 74 75 72 6e 3b | ......drawmenu();........return; |
| 3fe0 | 00 00 00 04 09 09 09 7d 00 00 00 03 09 09 7d 00 00 00 31 09 09 2f 2a 20 68 6f 72 69 7a 6f 6e 74 | .......}......}...1../*.horizont |
| 4000 | 61 6c 20 6c 69 73 74 3a 20 28 63 74 72 6c 29 6c 65 66 74 2d 63 6c 69 63 6b 20 6f 6e 20 69 74 65 | al.list:.(ctrl)left-click.on.ite |
| 4020 | 6d 20 2a 2f 00 00 00 37 09 09 66 6f 72 20 28 69 74 65 6d 20 3d 20 63 75 72 72 3b 20 69 74 65 6d | m.*/...7..for.(item.=.curr;.item |
| 4040 | 20 21 3d 20 6e 65 78 74 3b 20 69 74 65 6d 20 3d 20 69 74 65 6d 2d 3e 72 69 67 68 74 29 20 7b 00 | .!=.next;.item.=.item->right).{. |
| 4060 | 00 00 0a 09 09 09 78 20 2b 3d 20 77 3b 00 00 00 33 09 09 09 77 20 3d 20 4d 49 4e 28 54 45 58 54 | ......x.+=.w;...3...w.=.MIN(TEXT |
| 4080 | 57 28 69 74 65 6d 2d 3e 74 65 78 74 29 2c 20 6d 77 20 2d 20 78 20 2d 20 54 45 58 54 57 28 22 3e | W(item->text),.mw.-.x.-.TEXTW("> |
| 40a0 | 22 29 29 3b 00 00 00 26 09 09 09 69 66 20 28 65 76 2d 3e 78 20 3e 3d 20 78 20 26 26 20 65 76 2d | "));...&...if.(ev->x.>=.x.&&.ev- |
| 40c0 | 3e 78 20 3c 3d 20 78 20 2b 20 77 29 20 7b 00 00 00 15 09 09 09 09 70 75 74 73 28 69 74 65 6d 2d | >x.<=.x.+.w).{........puts(item- |
| 40e0 | 3e 74 65 78 74 29 3b 00 00 00 23 09 09 09 09 69 66 20 28 21 28 65 76 2d 3e 73 74 61 74 65 20 26 | >text);...#....if.(!(ev->state.& |
| 4100 | 20 43 6f 6e 74 72 6f 6c 4d 61 73 6b 29 29 00 00 00 0d 09 09 09 09 09 65 78 69 74 28 30 29 3b 00 | .ControlMask)).........exit(0);. |
| 4120 | 00 00 0f 09 09 09 09 73 65 6c 20 3d 20 69 74 65 6d 3b 00 00 00 0e 09 09 09 09 69 66 20 28 73 65 | .......sel.=.item;........if.(se |
| 4140 | 6c 29 20 7b 00 00 00 12 09 09 09 09 09 73 65 6c 2d 3e 6f 75 74 20 3d 20 31 3b 00 00 00 10 09 09 | l).{.........sel->out.=.1;...... |
| 4160 | 09 09 09 64 72 61 77 6d 65 6e 75 28 29 3b 00 00 00 05 09 09 09 09 7d 00 00 00 0b 09 09 09 09 72 | ...drawmenu();........}........r |
| 4180 | 65 74 75 72 6e 3b 00 00 00 04 09 09 09 7d 00 00 00 03 09 09 7d 00 00 00 21 09 09 2f 2a 20 6c 65 | eturn;.......}......}...!../*.le |
| 41a0 | 66 74 2d 63 6c 69 63 6b 20 6f 6e 20 72 69 67 68 74 20 61 72 72 6f 77 20 2a 2f 00 00 00 11 09 09 | ft-click.on.right.arrow.*/...... |
| 41c0 | 77 20 3d 20 54 45 58 54 57 28 22 3e 22 29 3b 00 00 00 0d 09 09 78 20 3d 20 6d 77 20 2d 20 77 3b | w.=.TEXTW(">");......x.=.mw.-.w; |
| 41e0 | 00 00 00 2d 09 09 69 66 20 28 6e 65 78 74 20 26 26 20 65 76 2d 3e 78 20 3e 3d 20 78 20 26 26 20 | ...-..if.(next.&&.ev->x.>=.x.&&. |
| 4200 | 65 76 2d 3e 78 20 3c 3d 20 78 20 2b 20 77 29 20 7b 00 00 00 15 09 09 09 73 65 6c 20 3d 20 63 75 | ev->x.<=.x.+.w).{.......sel.=.cu |
| 4220 | 72 72 20 3d 20 6e 65 78 74 3b 00 00 00 11 09 09 09 63 61 6c 63 6f 66 66 73 65 74 73 28 29 3b 00 | rr.=.next;.......calcoffsets();. |
| 4240 | 00 00 0e 09 09 09 64 72 61 77 6d 65 6e 75 28 29 3b 00 00 00 0a 09 09 09 72 65 74 75 72 6e 3b 00 | ......drawmenu();.......return;. |
| 4260 | 00 00 03 09 09 7d 00 00 00 02 09 7d 00 00 00 01 7d 00 00 00 00 00 00 00 0b 73 74 61 74 69 63 20 | .....}.....}....}........static. |
| 4280 | 76 6f 69 64 00 00 00 0b 70 61 73 74 65 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 0d 09 63 68 61 | void....paste(void)....{.....cha |
| 42a0 | 72 20 2a 70 2c 20 2a 71 3b 00 00 00 08 09 69 6e 74 20 64 69 3b 00 00 00 12 09 75 6e 73 69 67 6e | r.*p,.*q;.....int.di;.....unsign |
| 42c0 | 65 64 20 6c 6f 6e 67 20 64 6c 3b 00 00 00 09 09 41 74 6f 6d 20 64 61 3b 00 00 00 00 00 00 00 49 | ed.long.dl;.....Atom.da;.......I |
| 42e0 | 09 2f 2a 20 77 65 20 68 61 76 65 20 62 65 65 6e 20 67 69 76 65 6e 20 74 68 65 20 63 75 72 72 65 | ./*.we.have.been.given.the.curre |
| 4300 | 6e 74 20 73 65 6c 65 63 74 69 6f 6e 2c 20 6e 6f 77 20 69 6e 73 65 72 74 20 69 74 20 69 6e 74 6f | nt.selection,.now.insert.it.into |
| 4320 | 20 69 6e 70 75 74 20 2a 2f 00 00 00 48 09 69 66 20 28 58 47 65 74 57 69 6e 64 6f 77 50 72 6f 70 | .input.*/...H.if.(XGetWindowProp |
| 4340 | 65 72 74 79 28 64 70 79 2c 20 77 69 6e 2c 20 75 74 66 38 2c 20 30 2c 20 28 73 69 7a 65 6f 66 20 | erty(dpy,.win,.utf8,.0,.(sizeof. |
| 4360 | 74 65 78 74 20 2f 20 34 29 20 2b 20 31 2c 20 46 61 6c 73 65 2c 00 00 00 43 09 20 20 20 20 20 20 | text./.4).+.1,.False,...C....... |
| 4380 | 20 20 20 20 20 20 20 20 20 20 20 20 20 75 74 66 38 2c 20 26 64 61 2c 20 26 64 69 2c 20 26 64 6c | .............utf8,.&da,.&di,.&dl |
| 43a0 | 2c 20 26 64 6c 2c 20 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 2a 29 26 70 29 00 00 00 17 | ,.&dl,.(unsigned.char.**)&p).... |
| 43c0 | 09 20 20 20 20 3d 3d 20 53 75 63 63 65 73 73 20 26 26 20 70 29 20 7b 00 00 00 40 09 09 69 6e 73 | .....==.Success.&&.p).{...@..ins |
| 43e0 | 65 72 74 28 70 2c 20 28 71 20 3d 20 73 74 72 63 68 72 28 70 2c 20 27 5c 6e 27 29 29 20 3f 20 71 | ert(p,.(q.=.strchr(p,.'\n')).?.q |
| 4400 | 20 2d 20 70 20 3a 20 28 73 73 69 7a 65 5f 74 29 73 74 72 6c 65 6e 28 70 29 29 3b 00 00 00 0b 09 | .-.p.:.(ssize_t)strlen(p));..... |
| 4420 | 09 58 46 72 65 65 28 70 29 3b 00 00 00 02 09 7d 00 00 00 0c 09 64 72 61 77 6d 65 6e 75 28 29 3b | .XFree(p);.....}.....drawmenu(); |
| 4440 | 00 00 00 01 7d 00 00 00 00 00 00 00 0b 73 74 61 74 69 63 20 76 6f 69 64 00 00 00 0f 72 65 61 64 | ....}........static.void....read |
| 4460 | 73 74 64 69 6e 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 13 09 63 68 61 72 20 2a 6c 69 6e 65 20 | stdin(void)....{.....char.*line. |
| 4480 | 3d 20 4e 55 4c 4c 3b 00 00 00 24 09 73 69 7a 65 5f 74 20 69 2c 20 69 74 65 6d 73 69 7a 20 3d 20 | =.NULL;...$.size_t.i,.itemsiz.=. |
| 44a0 | 30 2c 20 6c 69 6e 65 73 69 7a 20 3d 20 30 3b 00 00 00 0d 09 73 73 69 7a 65 5f 74 20 6c 65 6e 3b | 0,.linesiz.=.0;.....ssize_t.len; |
| 44c0 | 00 00 00 00 00 00 00 3c 09 2f 2a 20 72 65 61 64 20 65 61 63 68 20 6c 69 6e 65 20 66 72 6f 6d 20 | .......<./*.read.each.line.from. |
| 44e0 | 73 74 64 69 6e 20 61 6e 64 20 61 64 64 20 69 74 20 74 6f 20 74 68 65 20 69 74 65 6d 20 6c 69 73 | stdin.and.add.it.to.the.item.lis |
| 4500 | 74 20 2a 2f 00 00 00 42 09 66 6f 72 20 28 69 20 3d 20 30 3b 20 28 6c 65 6e 20 3d 20 67 65 74 6c | t.*/...B.for.(i.=.0;.(len.=.getl |
| 4520 | 69 6e 65 28 26 6c 69 6e 65 2c 20 26 6c 69 6e 65 73 69 7a 2c 20 73 74 64 69 6e 29 29 20 21 3d 20 | ine(&line,.&linesiz,.stdin)).!=. |
| 4540 | 2d 31 3b 20 69 2b 2b 29 20 7b 00 00 00 19 09 09 69 66 20 28 69 20 2b 20 31 20 3e 3d 20 69 74 65 | -1;.i++).{......if.(i.+.1.>=.ite |
| 4560 | 6d 73 69 7a 29 20 7b 00 00 00 12 09 09 09 69 74 65 6d 73 69 7a 20 2b 3d 20 32 35 36 3b 00 00 00 | msiz).{.......itemsiz.+=.256;... |
| 4580 | 3b 09 09 09 69 66 20 28 21 28 69 74 65 6d 73 20 3d 20 72 65 61 6c 6c 6f 63 28 69 74 65 6d 73 2c | ;...if.(!(items.=.realloc(items, |
| 45a0 | 20 69 74 65 6d 73 69 7a 20 2a 20 73 69 7a 65 6f 66 28 2a 69 74 65 6d 73 29 29 29 29 00 00 00 3f | .itemsiz.*.sizeof(*items))))...? |
| 45c0 | 09 09 09 09 64 69 65 28 22 63 61 6e 6e 6f 74 20 72 65 61 6c 6c 6f 63 20 25 7a 75 20 62 79 74 65 | ....die("cannot.realloc.%zu.byte |
| 45e0 | 73 3a 22 2c 20 69 74 65 6d 73 69 7a 20 2a 20 73 69 7a 65 6f 66 28 2a 69 74 65 6d 73 29 29 3b 00 | s:",.itemsiz.*.sizeof(*items));. |
| 4600 | 00 00 03 09 09 7d 00 00 00 1c 09 09 69 66 20 28 6c 69 6e 65 5b 6c 65 6e 20 2d 20 31 5d 20 3d 3d | .....}......if.(line[len.-.1].== |
| 4620 | 20 27 5c 6e 27 29 00 00 00 18 09 09 09 6c 69 6e 65 5b 6c 65 6e 20 2d 20 31 5d 20 3d 20 27 5c 30 | .'\n').......line[len.-.1].=.'\0 |
| 4640 | 27 3b 00 00 00 26 09 09 69 66 20 28 21 28 69 74 65 6d 73 5b 69 5d 2e 74 65 78 74 20 3d 20 73 74 | ';...&..if.(!(items[i].text.=.st |
| 4660 | 72 64 75 70 28 6c 69 6e 65 29 29 29 00 00 00 12 09 09 09 64 69 65 28 22 73 74 72 64 75 70 3a 22 | rdup(line))).......die("strdup:" |
| 4680 | 29 3b 00 00 00 00 00 00 00 13 09 09 69 74 65 6d 73 5b 69 5d 2e 6f 75 74 20 3d 20 30 3b 00 00 00 | );..........items[i].out.=.0;... |
| 46a0 | 02 09 7d 00 00 00 0c 09 66 72 65 65 28 6c 69 6e 65 29 3b 00 00 00 0b 09 69 66 20 28 69 74 65 6d | ..}.....free(line);.....if.(item |
| 46c0 | 73 29 00 00 00 17 09 09 69 74 65 6d 73 5b 69 5d 2e 74 65 78 74 20 3d 20 4e 55 4c 4c 3b 00 00 00 | s)......items[i].text.=.NULL;... |
| 46e0 | 17 09 6c 69 6e 65 73 20 3d 20 4d 49 4e 28 6c 69 6e 65 73 2c 20 69 29 3b 00 00 00 01 7d 00 00 00 | ..lines.=.MIN(lines,.i);....}... |
| 4700 | 00 00 00 00 0b 73 74 61 74 69 63 20 76 6f 69 64 00 00 00 09 72 75 6e 28 76 6f 69 64 29 00 00 00 | .....static.void....run(void)... |
| 4720 | 01 7b 00 00 00 0b 09 58 45 76 65 6e 74 20 65 76 3b 00 00 00 00 00 00 00 20 09 77 68 69 6c 65 20 | .{.....XEvent.ev;.........while. |
| 4740 | 28 21 58 4e 65 78 74 45 76 65 6e 74 28 64 70 79 2c 20 26 65 76 29 29 20 7b 00 00 00 1d 09 09 69 | (!XNextEvent(dpy,.&ev)).{......i |
| 4760 | 66 20 28 58 46 69 6c 74 65 72 45 76 65 6e 74 28 26 65 76 2c 20 77 69 6e 29 29 00 00 00 0c 09 09 | f.(XFilterEvent(&ev,.win))...... |
| 4780 | 09 63 6f 6e 74 69 6e 75 65 3b 00 00 00 13 09 09 73 77 69 74 63 68 28 65 76 2e 74 79 70 65 29 20 | .continue;......switch(ev.type). |
| 47a0 | 7b 00 00 00 15 09 09 63 61 73 65 20 44 65 73 74 72 6f 79 4e 6f 74 69 66 79 3a 00 00 00 27 09 09 | {......case.DestroyNotify:...'.. |
| 47c0 | 09 69 66 20 28 65 76 2e 78 64 65 73 74 72 6f 79 77 69 6e 64 6f 77 2e 77 69 6e 64 6f 77 20 21 3d | .if.(ev.xdestroywindow.window.!= |
| 47e0 | 20 77 69 6e 29 00 00 00 0a 09 09 09 09 62 72 65 61 6b 3b 00 00 00 0d 09 09 09 63 6c 65 61 6e 75 | .win)........break;.......cleanu |
| 4800 | 70 28 29 3b 00 00 00 0b 09 09 09 65 78 69 74 28 31 29 3b 00 00 00 13 09 09 63 61 73 65 20 42 75 | p();.......exit(1);......case.Bu |
| 4820 | 74 74 6f 6e 50 72 65 73 73 3a 00 00 00 14 09 09 09 62 75 74 74 6f 6e 70 72 65 73 73 28 26 65 76 | ttonPress:.......buttonpress(&ev |
| 4840 | 29 3b 00 00 00 09 09 09 09 62 72 65 61 6b 3b 00 00 00 0e 09 09 63 61 73 65 20 45 78 70 6f 73 65 | );.......break;......case.Expose |
| 4860 | 3a 00 00 00 1d 09 09 09 69 66 20 28 65 76 2e 78 65 78 70 6f 73 65 2e 63 6f 75 6e 74 20 3d 3d 20 | :.......if.(ev.xexpose.count.==. |
| 4880 | 30 29 00 00 00 24 09 09 09 09 64 72 77 5f 6d 61 70 28 64 72 77 2c 20 77 69 6e 2c 20 30 2c 20 30 | 0)...$....drw_map(drw,.win,.0,.0 |
| 48a0 | 2c 20 6d 77 2c 20 6d 68 29 3b 00 00 00 09 09 09 09 62 72 65 61 6b 3b 00 00 00 0f 09 09 63 61 73 | ,.mw,.mh);.......break;......cas |
| 48c0 | 65 20 46 6f 63 75 73 49 6e 3a 00 00 00 28 09 09 09 2f 2a 20 72 65 67 72 61 62 20 66 6f 63 75 73 | e.FocusIn:...(.../*.regrab.focus |
| 48e0 | 20 66 72 6f 6d 20 70 61 72 65 6e 74 20 77 69 6e 64 6f 77 20 2a 2f 00 00 00 1f 09 09 09 69 66 20 | .from.parent.window.*/.......if. |
| 4900 | 28 65 76 2e 78 66 6f 63 75 73 2e 77 69 6e 64 6f 77 20 21 3d 20 77 69 6e 29 00 00 00 10 09 09 09 | (ev.xfocus.window.!=.win)....... |
| 4920 | 09 67 72 61 62 66 6f 63 75 73 28 29 3b 00 00 00 09 09 09 09 62 72 65 61 6b 3b 00 00 00 10 09 09 | .grabfocus();.......break;...... |
| 4940 | 63 61 73 65 20 4b 65 79 50 72 65 73 73 3a 00 00 00 16 09 09 09 6b 65 79 70 72 65 73 73 28 26 65 | case.KeyPress:.......keypress(&e |
| 4960 | 76 2e 78 6b 65 79 29 3b 00 00 00 09 09 09 09 62 72 65 61 6b 3b 00 00 00 17 09 09 63 61 73 65 20 | v.xkey);.......break;......case. |
| 4980 | 53 65 6c 65 63 74 69 6f 6e 4e 6f 74 69 66 79 3a 00 00 00 26 09 09 09 69 66 20 28 65 76 2e 78 73 | SelectionNotify:...&...if.(ev.xs |
| 49a0 | 65 6c 65 63 74 69 6f 6e 2e 70 72 6f 70 65 72 74 79 20 3d 3d 20 75 74 66 38 29 00 00 00 0c 09 09 | election.property.==.utf8)...... |
| 49c0 | 09 09 70 61 73 74 65 28 29 3b 00 00 00 09 09 09 09 62 72 65 61 6b 3b 00 00 00 18 09 09 63 61 73 | ..paste();.......break;......cas |
| 49e0 | 65 20 56 69 73 69 62 69 6c 69 74 79 4e 6f 74 69 66 79 3a 00 00 00 34 09 09 09 69 66 20 28 65 76 | e.VisibilityNotify:...4...if.(ev |
| 4a00 | 2e 78 76 69 73 69 62 69 6c 69 74 79 2e 73 74 61 74 65 20 21 3d 20 56 69 73 69 62 69 6c 69 74 79 | .xvisibility.state.!=.Visibility |
| 4a20 | 55 6e 6f 62 73 63 75 72 65 64 29 00 00 00 1b 09 09 09 09 58 52 61 69 73 65 57 69 6e 64 6f 77 28 | Unobscured)........XRaiseWindow( |
| 4a40 | 64 70 79 2c 20 77 69 6e 29 3b 00 00 00 09 09 09 09 62 72 65 61 6b 3b 00 00 00 03 09 09 7d 00 00 | dpy,.win);.......break;......}.. |
| 4a60 | 00 02 09 7d 00 00 00 01 7d 00 00 00 00 00 00 00 0b 73 74 61 74 69 63 20 76 6f 69 64 00 00 00 0b | ...}....}........static.void.... |
| 4a80 | 73 65 74 75 70 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 10 09 69 6e 74 20 78 2c 20 79 2c 20 69 | setup(void)....{.....int.x,.y,.i |
| 4aa0 | 2c 20 6a 3b 00 00 00 11 09 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 64 75 3b 00 00 00 1a 09 58 53 | ,.j;.....unsigned.int.du;.....XS |
| 4ac0 | 65 74 57 69 6e 64 6f 77 41 74 74 72 69 62 75 74 65 73 20 73 77 61 3b 00 00 00 09 09 58 49 4d 20 | etWindowAttributes.swa;.....XIM. |
| 4ae0 | 78 69 6d 3b 00 00 00 14 09 57 69 6e 64 6f 77 20 77 2c 20 64 77 2c 20 2a 64 77 73 3b 00 00 00 16 | xim;.....Window.w,.dw,.*dws;.... |
| 4b00 | 09 58 57 69 6e 64 6f 77 41 74 74 72 69 62 75 74 65 73 20 77 61 3b 00 00 00 24 09 58 43 6c 61 73 | .XWindowAttributes.wa;...$.XClas |
| 4b20 | 73 48 69 6e 74 20 63 68 20 3d 20 7b 22 64 6d 65 6e 75 22 2c 20 22 64 6d 65 6e 75 22 7d 3b 00 00 | sHint.ch.=.{"dmenu",."dmenu"};.. |
| 4b40 | 00 0f 23 69 66 64 65 66 20 58 49 4e 45 52 41 4d 41 00 00 00 1a 09 58 69 6e 65 72 61 6d 61 53 63 | ..#ifdef.XINERAMA.....XineramaSc |
| 4b60 | 72 65 65 6e 49 6e 66 6f 20 2a 69 6e 66 6f 3b 00 00 00 0b 09 57 69 6e 64 6f 77 20 70 77 3b 00 00 | reenInfo.*info;.....Window.pw;.. |
| 4b80 | 00 18 09 69 6e 74 20 61 2c 20 64 69 2c 20 6e 2c 20 61 72 65 61 20 3d 20 30 3b 00 00 00 06 23 65 | ...int.a,.di,.n,.area.=.0;....#e |
| 4ba0 | 6e 64 69 66 00 00 00 16 09 2f 2a 20 69 6e 69 74 20 61 70 70 65 61 72 61 6e 63 65 20 2a 2f 00 00 | ndif...../*.init.appearance.*/.. |
| 4bc0 | 00 21 09 66 6f 72 20 28 6a 20 3d 20 30 3b 20 6a 20 3c 20 53 63 68 65 6d 65 4c 61 73 74 3b 20 6a | .!.for.(j.=.0;.j.<.SchemeLast;.j |
| 4be0 | 2b 2b 29 00 00 00 30 09 09 73 63 68 65 6d 65 5b 6a 5d 20 3d 20 64 72 77 5f 73 63 6d 5f 63 72 65 | ++)...0..scheme[j].=.drw_scm_cre |
| 4c00 | 61 74 65 28 64 72 77 2c 20 63 6f 6c 6f 72 73 5b 6a 5d 2c 20 32 29 3b 00 00 00 00 00 00 00 2f 09 | ate(drw,.colors[j],.2);......./. |
| 4c20 | 63 6c 69 70 20 3d 20 58 49 6e 74 65 72 6e 41 74 6f 6d 28 64 70 79 2c 20 22 43 4c 49 50 42 4f 41 | clip.=.XInternAtom(dpy,."CLIPBOA |
| 4c40 | 52 44 22 2c 20 20 20 46 61 6c 73 65 29 3b 00 00 00 2f 09 75 74 66 38 20 3d 20 58 49 6e 74 65 72 | RD",...False);.../.utf8.=.XInter |
| 4c60 | 6e 41 74 6f 6d 28 64 70 79 2c 20 22 55 54 46 38 5f 53 54 52 49 4e 47 22 2c 20 46 61 6c 73 65 29 | nAtom(dpy,."UTF8_STRING",.False) |
| 4c80 | 3b 00 00 00 00 00 00 00 1e 09 2f 2a 20 63 61 6c 63 75 6c 61 74 65 20 6d 65 6e 75 20 67 65 6f 6d | ;........./*.calculate.menu.geom |
| 4ca0 | 65 74 72 79 20 2a 2f 00 00 00 14 09 62 68 20 3d 20 64 72 77 2d 3e 66 6f 6e 74 73 2d 3e 68 3b 00 | etry.*/.....bh.=.drw->fonts->h;. |
| 4cc0 | 00 00 26 09 62 68 20 3d 20 75 73 65 72 5f 62 68 20 3f 20 62 68 20 2b 20 75 73 65 72 5f 62 68 20 | ..&.bh.=.user_bh.?.bh.+.user_bh. |
| 4ce0 | 3a 20 62 68 20 2b 20 32 3b 00 00 00 17 09 6c 69 6e 65 73 20 3d 20 4d 41 58 28 6c 69 6e 65 73 2c | :.bh.+.2;.....lines.=.MAX(lines, |
| 4d00 | 20 30 29 3b 00 00 00 17 09 6d 68 20 3d 20 28 6c 69 6e 65 73 20 2b 20 31 29 20 2a 20 62 68 3b 00 | .0);.....mh.=.(lines.+.1).*.bh;. |
| 4d20 | 00 00 0f 23 69 66 64 65 66 20 58 49 4e 45 52 41 4d 41 00 00 00 07 09 69 20 3d 20 30 3b 00 00 00 | ...#ifdef.XINERAMA.....i.=.0;... |
| 4d40 | 43 09 69 66 20 28 70 61 72 65 6e 74 77 69 6e 20 3d 3d 20 72 6f 6f 74 20 26 26 20 28 69 6e 66 6f | C.if.(parentwin.==.root.&&.(info |
| 4d60 | 20 3d 20 58 69 6e 65 72 61 6d 61 51 75 65 72 79 53 63 72 65 65 6e 73 28 64 70 79 2c 20 26 6e 29 | .=.XineramaQueryScreens(dpy,.&n) |
| 4d80 | 29 29 20 7b 00 00 00 1f 09 09 58 47 65 74 49 6e 70 75 74 46 6f 63 75 73 28 64 70 79 2c 20 26 77 | )).{......XGetInputFocus(dpy,.&w |
| 4da0 | 2c 20 26 64 69 29 3b 00 00 00 1a 09 09 69 66 20 28 6d 6f 6e 20 3e 3d 20 30 20 26 26 20 6d 6f 6e | ,.&di);......if.(mon.>=.0.&&.mon |
| 4dc0 | 20 3c 20 6e 29 00 00 00 0b 09 09 09 69 20 3d 20 6d 6f 6e 3b 00 00 00 38 09 09 65 6c 73 65 20 69 | .<.n).......i.=.mon;...8..else.i |
| 4de0 | 66 20 28 77 20 21 3d 20 72 6f 6f 74 20 26 26 20 77 20 21 3d 20 50 6f 69 6e 74 65 72 52 6f 6f 74 | f.(w.!=.root.&&.w.!=.PointerRoot |
| 4e00 | 20 26 26 20 77 20 21 3d 20 4e 6f 6e 65 29 20 7b 00 00 00 3d 09 09 09 2f 2a 20 66 69 6e 64 20 74 | .&&.w.!=.None).{...=.../*.find.t |
| 4e20 | 6f 70 2d 6c 65 76 65 6c 20 77 69 6e 64 6f 77 20 63 6f 6e 74 61 69 6e 69 6e 67 20 63 75 72 72 65 | op-level.window.containing.curre |
| 4e40 | 6e 74 20 69 6e 70 75 74 20 66 6f 63 75 73 20 2a 2f 00 00 00 07 09 09 09 64 6f 20 7b 00 00 00 3d | nt.input.focus.*/.......do.{...= |
| 4e60 | 09 09 09 09 69 66 20 28 58 51 75 65 72 79 54 72 65 65 28 64 70 79 2c 20 28 70 77 20 3d 20 77 29 | ....if.(XQueryTree(dpy,.(pw.=.w) |
| 4e80 | 2c 20 26 64 77 2c 20 26 77 2c 20 26 64 77 73 2c 20 26 64 75 29 20 26 26 20 64 77 73 29 00 00 00 | ,.&dw,.&w,.&dws,.&du).&&.dws)... |
| 4ea0 | 10 09 09 09 09 09 58 46 72 65 65 28 64 77 73 29 3b 00 00 00 22 09 09 09 7d 20 77 68 69 6c 65 20 | ......XFree(dws);..."...}.while. |
| 4ec0 | 28 77 20 21 3d 20 72 6f 6f 74 20 26 26 20 77 20 21 3d 20 70 77 29 3b 00 00 00 43 09 09 09 2f 2a | (w.!=.root.&&.w.!=.pw);...C.../* |
| 4ee0 | 20 66 69 6e 64 20 78 69 6e 65 72 61 6d 61 20 73 63 72 65 65 6e 20 77 69 74 68 20 77 68 69 63 68 | .find.xinerama.screen.with.which |
| 4f00 | 20 74 68 65 20 77 69 6e 64 6f 77 20 69 6e 74 65 72 73 65 63 74 73 20 6d 6f 73 74 20 2a 2f 00 00 | .the.window.intersects.most.*/.. |
| 4f20 | 00 2a 09 09 09 69 66 20 28 58 47 65 74 57 69 6e 64 6f 77 41 74 74 72 69 62 75 74 65 73 28 64 70 | .*...if.(XGetWindowAttributes(dp |
| 4f40 | 79 2c 20 70 77 2c 20 26 77 61 29 29 00 00 00 1b 09 09 09 09 66 6f 72 20 28 6a 20 3d 20 30 3b 20 | y,.pw,.&wa))........for.(j.=.0;. |
| 4f60 | 6a 20 3c 20 6e 3b 20 6a 2b 2b 29 00 00 00 4c 09 09 09 09 09 69 66 20 28 28 61 20 3d 20 49 4e 54 | j.<.n;.j++)...L.....if.((a.=.INT |
| 4f80 | 45 52 53 45 43 54 28 77 61 2e 78 2c 20 77 61 2e 79 2c 20 77 61 2e 77 69 64 74 68 2c 20 77 61 2e | ERSECT(wa.x,.wa.y,.wa.width,.wa. |
| 4fa0 | 68 65 69 67 68 74 2c 20 69 6e 66 6f 5b 6a 5d 29 29 20 3e 20 61 72 65 61 29 20 7b 00 00 00 0f 09 | height,.info[j])).>.area).{..... |
| 4fc0 | 09 09 09 09 09 61 72 65 61 20 3d 20 61 3b 00 00 00 0c 09 09 09 09 09 09 69 20 3d 20 6a 3b 00 00 | .....area.=.a;..........i.=.j;.. |
| 4fe0 | 00 06 09 09 09 09 09 7d 00 00 00 03 09 09 7d 00 00 00 47 09 09 2f 2a 20 6e 6f 20 66 6f 63 75 73 | .......}......}...G../*.no.focus |
| 5000 | 65 64 20 77 69 6e 64 6f 77 20 69 73 20 6f 6e 20 73 63 72 65 65 6e 2c 20 73 6f 20 75 73 65 20 70 | ed.window.is.on.screen,.so.use.p |
| 5020 | 6f 69 6e 74 65 72 20 6c 6f 63 61 74 69 6f 6e 20 69 6e 73 74 65 61 64 20 2a 2f 00 00 00 54 09 09 | ointer.location.instead.*/...T.. |
| 5040 | 69 66 20 28 6d 6f 6e 20 3c 20 30 20 26 26 20 21 61 72 65 61 20 26 26 20 58 51 75 65 72 79 50 6f | if.(mon.<.0.&&.!area.&&.XQueryPo |
| 5060 | 69 6e 74 65 72 28 64 70 79 2c 20 72 6f 6f 74 2c 20 26 64 77 2c 20 26 64 77 2c 20 26 78 2c 20 26 | inter(dpy,.root,.&dw,.&dw,.&x,.& |
| 5080 | 79 2c 20 26 64 69 2c 20 26 64 69 2c 20 26 64 75 29 29 00 00 00 1a 09 09 09 66 6f 72 20 28 69 20 | y,.&di,.&di,.&du)).......for.(i. |
| 50a0 | 3d 20 30 3b 20 69 20 3c 20 6e 3b 20 69 2b 2b 29 00 00 00 2c 09 09 09 09 69 66 20 28 49 4e 54 45 | =.0;.i.<.n;.i++)...,....if.(INTE |
| 50c0 | 52 53 45 43 54 28 78 2c 20 79 2c 20 31 2c 20 31 2c 20 69 6e 66 6f 5b 69 5d 29 20 21 3d 20 30 29 | RSECT(x,.y,.1,.1,.info[i]).!=.0) |
| 50e0 | 00 00 00 0b 09 09 09 09 09 62 72 65 61 6b 3b 00 00 00 00 00 00 00 1a 09 09 78 20 3d 20 69 6e 66 | .........break;..........x.=.inf |
| 5100 | 6f 5b 69 5d 2e 78 5f 6f 72 67 20 2b 20 64 6d 78 3b 00 00 00 41 09 09 79 20 3d 20 69 6e 66 6f 5b | o[i].x_org.+.dmx;...A..y.=.info[ |
| 5120 | 69 5d 2e 79 5f 6f 72 67 20 2b 20 28 74 6f 70 62 61 72 20 3f 20 64 6d 79 20 3a 20 69 6e 66 6f 5b | i].y_org.+.(topbar.?.dmy.:.info[ |
| 5140 | 69 5d 2e 68 65 69 67 68 74 20 2d 20 6d 68 20 2d 20 64 6d 79 29 3b 00 00 00 26 09 09 6d 77 20 3d | i].height.-.mh.-.dmy);...&..mw.= |
| 5160 | 20 28 64 6d 77 3e 30 20 3f 20 64 6d 77 20 3a 20 69 6e 66 6f 5b 69 5d 2e 77 69 64 74 68 29 3b 3b | .(dmw>0.?.dmw.:.info[i].width);; |
| 5180 | 00 00 00 0e 09 09 58 46 72 65 65 28 69 6e 66 6f 29 3b 00 00 00 07 09 7d 20 65 6c 73 65 00 00 00 | ......XFree(info);.....}.else... |
| 51a0 | 06 23 65 6e 64 69 66 00 00 00 02 09 7b 00 00 00 31 09 09 69 66 20 28 21 58 47 65 74 57 69 6e 64 | .#endif.....{...1..if.(!XGetWind |
| 51c0 | 6f 77 41 74 74 72 69 62 75 74 65 73 28 64 70 79 2c 20 70 61 72 65 6e 74 77 69 6e 2c 20 26 77 61 | owAttributes(dpy,.parentwin,.&wa |
| 51e0 | 29 29 00 00 00 3a 09 09 09 64 69 65 28 22 63 6f 75 6c 64 20 6e 6f 74 20 67 65 74 20 65 6d 62 65 | ))...:...die("could.not.get.embe |
| 5200 | 64 64 69 6e 67 20 77 69 6e 64 6f 77 20 61 74 74 72 69 62 75 74 65 73 3a 20 30 78 25 6c 78 22 2c | dding.window.attributes:.0x%lx", |
| 5220 | 00 00 00 12 09 09 09 20 20 20 20 70 61 72 65 6e 74 77 69 6e 29 3b 00 00 00 0a 09 09 78 20 3d 20 | ...........parentwin);......x.=. |
| 5240 | 64 6d 78 3b 00 00 00 2a 09 09 79 20 3d 20 74 6f 70 62 61 72 20 3f 20 64 6d 79 20 3a 20 77 61 2e | dmx;...*..y.=.topbar.?.dmy.:.wa. |
| 5260 | 68 65 69 67 68 74 20 2d 20 6d 68 20 2d 20 64 6d 79 3b 00 00 00 20 09 09 6d 77 20 3d 20 28 64 6d | height.-.mh.-.dmy;......mw.=.(dm |
| 5280 | 77 3e 30 20 3f 20 64 6d 77 20 3a 20 77 61 2e 77 69 64 74 68 29 3b 00 00 00 02 09 7d 00 00 00 3f | w>0.?.dmw.:.wa.width);.....}...? |
| 52a0 | 09 70 72 6f 6d 70 74 77 20 3d 20 28 70 72 6f 6d 70 74 20 26 26 20 2a 70 72 6f 6d 70 74 29 20 3f | .promptw.=.(prompt.&&.*prompt).? |
| 52c0 | 20 54 45 58 54 57 28 70 72 6f 6d 70 74 29 20 2d 20 6c 72 70 61 64 20 2f 20 34 20 3a 20 30 3b 00 | .TEXTW(prompt).-.lrpad./.4.:.0;. |
| 52e0 | 00 00 3a 09 69 6e 70 75 74 77 20 3d 20 6d 77 20 2f 20 33 3b 20 2f 2a 20 69 6e 70 75 74 20 77 69 | ..:.inputw.=.mw./.3;./*.input.wi |
| 5300 | 64 74 68 3a 20 7e 33 33 25 20 6f 66 20 6d 6f 6e 69 74 6f 72 20 77 69 64 74 68 20 2a 2f 00 00 00 | dth:.~33%.of.monitor.width.*/... |
| 5320 | 09 09 6d 61 74 63 68 28 29 3b 00 00 00 00 00 00 00 19 09 2f 2a 20 63 72 65 61 74 65 20 6d 65 6e | ..match();........./*.create.men |
| 5340 | 75 20 77 69 6e 64 6f 77 20 2a 2f 00 00 00 1e 09 73 77 61 2e 6f 76 65 72 72 69 64 65 5f 72 65 64 | u.window.*/.....swa.override_red |
| 5360 | 69 72 65 63 74 20 3d 20 54 72 75 65 3b 00 00 00 38 09 73 77 61 2e 62 61 63 6b 67 72 6f 75 6e 64 | irect.=.True;...8.swa.background |
| 5380 | 5f 70 69 78 65 6c 20 3d 20 73 63 68 65 6d 65 5b 53 63 68 65 6d 65 4e 6f 72 6d 5d 5b 43 6f 6c 42 | _pixel.=.scheme[SchemeNorm][ColB |
| 53a0 | 67 5d 2e 70 69 78 65 6c 3b 00 00 00 46 09 73 77 61 2e 65 76 65 6e 74 5f 6d 61 73 6b 20 3d 20 45 | g].pixel;...F.swa.event_mask.=.E |
| 53c0 | 78 70 6f 73 75 72 65 4d 61 73 6b 20 7c 20 4b 65 79 50 72 65 73 73 4d 61 73 6b 20 7c 20 56 69 73 | xposureMask.|.KeyPressMask.|.Vis |
| 53e0 | 69 62 69 6c 69 74 79 43 68 61 6e 67 65 4d 61 73 6b 20 7c 00 00 00 22 09 20 20 20 20 20 20 20 20 | ibilityChangeMask.|..."......... |
| 5400 | 20 20 20 20 20 20 20 20 20 42 75 74 74 6f 6e 50 72 65 73 73 4d 61 73 6b 3b 00 00 00 00 00 00 00 | .........ButtonPressMask;....... |
| 5420 | 46 20 20 20 20 20 20 20 77 69 6e 20 3d 20 58 43 72 65 61 74 65 57 69 6e 64 6f 77 28 64 70 79 2c | F.......win.=.XCreateWindow(dpy, |
| 5440 | 20 70 61 72 65 6e 74 77 69 6e 2c 20 78 2c 20 79 2c 20 6d 77 2c 20 6d 68 2c 20 62 6f 72 64 65 72 | .parentwin,.x,.y,.mw,.mh,.border |
| 5460 | 5f 77 69 64 74 68 2c 00 00 00 44 09 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | _width,...D..................... |
| 5480 | 43 6f 70 79 46 72 6f 6d 50 61 72 65 6e 74 2c 20 43 6f 70 79 46 72 6f 6d 50 61 72 65 6e 74 2c 20 | CopyFromParent,.CopyFromParent,. |
| 54a0 | 43 6f 70 79 46 72 6f 6d 50 61 72 65 6e 74 2c 00 00 00 4b 09 20 20 20 20 20 20 20 20 20 20 20 20 | CopyFromParent,...K............. |
| 54c0 | 20 20 20 20 20 20 20 20 43 57 4f 76 65 72 72 69 64 65 52 65 64 69 72 65 63 74 20 7c 20 43 57 42 | ........CWOverrideRedirect.|.CWB |
| 54e0 | 61 63 6b 50 69 78 65 6c 20 7c 20 43 57 45 76 65 6e 74 4d 61 73 6b 2c 20 26 73 77 61 29 3b 00 00 | ackPixel.|.CWEventMask,.&swa);.. |
| 5500 | 00 18 20 20 20 20 20 20 20 69 66 20 28 62 6f 72 64 65 72 5f 77 69 64 74 68 29 00 00 00 3d 09 20 | .........if.(border_width)...=.. |
| 5520 | 58 53 65 74 57 69 6e 64 6f 77 42 6f 72 64 65 72 28 64 70 79 2c 20 77 69 6e 2c 20 73 63 68 65 6d | XSetWindowBorder(dpy,.win,.schem |
| 5540 | 65 5b 53 63 68 65 6d 65 53 65 6c 5d 5b 43 6f 6c 42 67 5d 2e 70 69 78 65 6c 29 3b 00 00 00 1e 09 | e[SchemeSel][ColBg].pixel);..... |
| 5560 | 58 53 65 74 43 6c 61 73 73 48 69 6e 74 28 64 70 79 2c 20 77 69 6e 2c 20 26 63 68 29 3b 00 00 00 | XSetClassHint(dpy,.win,.&ch);... |
| 5580 | 00 00 00 00 14 09 2f 2a 20 69 6e 70 75 74 20 6d 65 74 68 6f 64 73 20 2a 2f 00 00 00 34 09 69 66 | ....../*.input.methods.*/...4.if |
| 55a0 | 20 28 28 78 69 6d 20 3d 20 58 4f 70 65 6e 49 4d 28 64 70 79 2c 20 4e 55 4c 4c 2c 20 4e 55 4c 4c | .((xim.=.XOpenIM(dpy,.NULL,.NULL |
| 55c0 | 2c 20 4e 55 4c 4c 29 29 20 3d 3d 20 4e 55 4c 4c 29 00 00 00 35 09 09 64 69 65 28 22 58 4f 70 65 | ,.NULL)).==.NULL)...5..die("XOpe |
| 55e0 | 6e 49 4d 20 66 61 69 6c 65 64 3a 20 63 6f 75 6c 64 20 6e 6f 74 20 6f 70 65 6e 20 69 6e 70 75 74 | nIM.failed:.could.not.open.input |
| 5600 | 20 64 65 76 69 63 65 22 29 3b 00 00 00 00 00 00 00 49 09 78 69 63 20 3d 20 58 43 72 65 61 74 65 | .device");.......I.xic.=.XCreate |
| 5620 | 49 43 28 78 69 6d 2c 20 58 4e 49 6e 70 75 74 53 74 79 6c 65 2c 20 58 49 4d 50 72 65 65 64 69 74 | IC(xim,.XNInputStyle,.XIMPreedit |
| 5640 | 4e 6f 74 68 69 6e 67 20 7c 20 58 49 4d 53 74 61 74 75 73 4e 6f 74 68 69 6e 67 2c 00 00 00 40 09 | Nothing.|.XIMStatusNothing,...@. |
| 5660 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 58 4e 43 6c 69 65 6e 74 57 69 6e 64 6f 77 2c 20 | ................XNClientWindow,. |
| 5680 | 77 69 6e 2c 20 58 4e 46 6f 63 75 73 57 69 6e 64 6f 77 2c 20 77 69 6e 2c 20 4e 55 4c 4c 29 3b 00 | win,.XNFocusWindow,.win,.NULL);. |
| 56a0 | 00 00 00 00 00 00 16 09 58 4d 61 70 52 61 69 73 65 64 28 64 70 79 2c 20 77 69 6e 29 3b 00 00 00 | ........XMapRaised(dpy,.win);... |
| 56c0 | 0d 09 69 66 20 28 65 6d 62 65 64 29 20 7b 00 00 00 2d 09 09 58 52 65 70 61 72 65 6e 74 57 69 6e | ..if.(embed).{...-..XReparentWin |
| 56e0 | 64 6f 77 28 64 70 79 2c 20 77 69 6e 2c 20 70 61 72 65 6e 74 77 69 6e 2c 20 78 2c 20 79 29 3b 00 | dow(dpy,.win,.parentwin,.x,.y);. |
| 5700 | 00 00 49 09 09 58 53 65 6c 65 63 74 49 6e 70 75 74 28 64 70 79 2c 20 70 61 72 65 6e 74 77 69 6e | ..I..XSelectInput(dpy,.parentwin |
| 5720 | 2c 20 46 6f 63 75 73 43 68 61 6e 67 65 4d 61 73 6b 20 7c 20 53 75 62 73 74 72 75 63 74 75 72 65 | ,.FocusChangeMask.|.Substructure |
| 5740 | 4e 6f 74 69 66 79 4d 61 73 6b 29 3b 00 00 00 3e 09 09 69 66 20 28 58 51 75 65 72 79 54 72 65 65 | NotifyMask);...>..if.(XQueryTree |
| 5760 | 28 64 70 79 2c 20 70 61 72 65 6e 74 77 69 6e 2c 20 26 64 77 2c 20 26 77 2c 20 26 64 77 73 2c 20 | (dpy,.parentwin,.&dw,.&w,.&dws,. |
| 5780 | 26 64 75 29 20 26 26 20 64 77 73 29 20 7b 00 00 00 2c 09 09 09 66 6f 72 20 28 69 20 3d 20 30 3b | &du).&&.dws).{...,...for.(i.=.0; |
| 57a0 | 20 69 20 3c 20 64 75 20 26 26 20 64 77 73 5b 69 5d 20 21 3d 20 77 69 6e 3b 20 2b 2b 69 29 00 00 | .i.<.du.&&.dws[i].!=.win;.++i).. |
| 57c0 | 00 2f 09 09 09 09 58 53 65 6c 65 63 74 49 6e 70 75 74 28 64 70 79 2c 20 64 77 73 5b 69 5d 2c 20 | ./....XSelectInput(dpy,.dws[i],. |
| 57e0 | 46 6f 63 75 73 43 68 61 6e 67 65 4d 61 73 6b 29 3b 00 00 00 0e 09 09 09 58 46 72 65 65 28 64 77 | FocusChangeMask);.......XFree(dw |
| 5800 | 73 29 3b 00 00 00 03 09 09 7d 00 00 00 0e 09 09 67 72 61 62 66 6f 63 75 73 28 29 3b 00 00 00 02 | s);......}......grabfocus();.... |
| 5820 | 09 7d 00 00 00 19 09 64 72 77 5f 72 65 73 69 7a 65 28 64 72 77 2c 20 6d 77 2c 20 6d 68 29 3b 00 | .}.....drw_resize(drw,.mw,.mh);. |
| 5840 | 00 00 0c 09 64 72 61 77 6d 65 6e 75 28 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 0b 73 74 61 74 | ....drawmenu();....}........stat |
| 5860 | 69 63 20 76 6f 69 64 00 00 00 0b 75 73 61 67 65 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 4c 09 | ic.void....usage(void)....{...L. |
| 5880 | 64 69 65 28 22 75 73 61 67 65 3a 20 64 6d 65 6e 75 20 5b 2d 62 66 69 76 5d 20 5b 2d 6c 20 6c 69 | die("usage:.dmenu.[-bfiv].[-l.li |
| 58a0 | 6e 65 73 5d 20 5b 2d 70 20 70 72 6f 6d 70 74 5d 20 5b 2d 66 6e 20 66 6f 6e 74 5d 20 5b 2d 6d 20 | nes].[-p.prompt].[-fn.font].[-m. |
| 58c0 | 6d 6f 6e 69 74 6f 72 5d 5c 6e 22 00 00 00 3c 09 20 20 20 20 20 20 22 20 20 20 20 20 20 20 20 20 | monitor]\n"...<......."......... |
| 58e0 | 20 20 20 20 5b 2d 78 20 78 6f 66 66 73 65 74 5d 20 5b 2d 79 20 79 6f 66 66 73 65 74 5d 20 5b 2d | ....[-x.xoffset].[-y.yoffset].[- |
| 5900 | 7a 20 77 69 64 74 68 5d 5c 6e 22 00 00 00 53 09 20 20 20 20 22 20 20 20 20 20 20 20 20 20 20 20 | z.width]\n"...S....."........... |
| 5920 | 20 20 5b 2d 6e 62 20 63 6f 6c 6f 72 5d 20 5b 2d 6e 66 20 63 6f 6c 6f 72 5d 20 5b 2d 73 62 20 63 | ..[-nb.color].[-nf.color].[-sb.c |
| 5940 | 6f 6c 6f 72 5d 20 5b 2d 73 66 20 63 6f 6c 6f 72 5d 20 5b 2d 77 20 77 69 6e 64 6f 77 69 64 5d 22 | olor].[-sf.color].[-w.windowid]" |
| 5960 | 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 03 69 6e 74 00 00 00 1c 6d 61 69 6e 28 69 6e 74 20 61 | );....}........int....main(int.a |
| 5980 | 72 67 63 2c 20 63 68 61 72 20 2a 61 72 67 76 5b 5d 29 00 00 00 01 7b 00 00 00 16 09 58 57 69 6e | rgc,.char.*argv[])....{.....XWin |
| 59a0 | 64 6f 77 41 74 74 72 69 62 75 74 65 73 20 77 61 3b 00 00 00 11 09 69 6e 74 20 69 2c 20 66 61 73 | dowAttributes.wa;.....int.i,.fas |
| 59c0 | 74 20 3d 20 30 3b 00 00 00 00 00 00 00 1b 09 66 6f 72 20 28 69 20 3d 20 31 3b 20 69 20 3c 20 61 | t.=.0;.........for.(i.=.1;.i.<.a |
| 59e0 | 72 67 63 3b 20 69 2b 2b 29 00 00 00 27 09 09 2f 2a 20 74 68 65 73 65 20 6f 70 74 69 6f 6e 73 20 | rgc;.i++)...'../*.these.options. |
| 5a00 | 74 61 6b 65 20 6e 6f 20 61 72 67 75 6d 65 6e 74 73 20 2a 2f 00 00 00 45 09 09 69 66 20 28 21 73 | take.no.arguments.*/...E..if.(!s |
| 5a20 | 74 72 63 6d 70 28 61 72 67 76 5b 69 5d 2c 20 22 2d 76 22 29 29 20 7b 20 20 20 20 20 20 2f 2a 20 | trcmp(argv[i],."-v")).{....../*. |
| 5a40 | 70 72 69 6e 74 73 20 76 65 72 73 69 6f 6e 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 2a 2f 00 00 00 | prints.version.information.*/... |
| 5a60 | 19 09 09 09 70 75 74 73 28 22 64 6d 65 6e 75 2d 22 56 45 52 53 49 4f 4e 29 3b 00 00 00 0b 09 09 | ....puts("dmenu-"VERSION);...... |
| 5a80 | 09 65 78 69 74 28 30 29 3b 00 00 00 4e 09 09 7d 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d | .exit(0);...N..}.else.if.(!strcm |
| 5aa0 | 70 28 61 72 67 76 5b 69 5d 2c 20 22 2d 62 22 29 29 20 2f 2a 20 61 70 70 65 61 72 73 20 61 74 20 | p(argv[i],."-b"))./*.appears.at. |
| 5ac0 | 74 68 65 20 62 6f 74 74 6f 6d 20 6f 66 20 74 68 65 20 73 63 72 65 65 6e 20 2a 2f 00 00 00 0e 09 | the.bottom.of.the.screen.*/..... |
| 5ae0 | 09 09 74 6f 70 62 61 72 20 3d 20 30 3b 00 00 00 4e 09 09 65 6c 73 65 20 69 66 20 28 21 73 74 72 | ..topbar.=.0;...N..else.if.(!str |
| 5b00 | 63 6d 70 28 61 72 67 76 5b 69 5d 2c 20 22 2d 66 22 29 29 20 20 20 2f 2a 20 67 72 61 62 73 20 6b | cmp(argv[i],."-f")).../*.grabs.k |
| 5b20 | 65 79 62 6f 61 72 64 20 62 65 66 6f 72 65 20 72 65 61 64 69 6e 67 20 73 74 64 69 6e 20 2a 2f 00 | eyboard.before.reading.stdin.*/. |
| 5b40 | 00 00 0c 09 09 09 66 61 73 74 20 3d 20 31 3b 00 00 00 49 09 09 65 6c 73 65 20 69 66 20 28 21 73 | ......fast.=.1;...I..else.if.(!s |
| 5b60 | 74 72 63 6d 70 28 61 72 67 76 5b 69 5d 2c 20 22 2d 69 22 29 29 20 7b 20 2f 2a 20 63 61 73 65 2d | trcmp(argv[i],."-i")).{./*.case- |
| 5b80 | 69 6e 73 65 6e 73 69 74 69 76 65 20 69 74 65 6d 20 6d 61 74 63 68 69 6e 67 20 2a 2f 00 00 00 1a | insensitive.item.matching.*/.... |
| 5ba0 | 09 09 09 66 73 74 72 6e 63 6d 70 20 3d 20 73 74 72 6e 63 61 73 65 63 6d 70 3b 00 00 00 16 09 09 | ...fstrncmp.=.strncasecmp;...... |
| 5bc0 | 09 66 73 74 72 73 74 72 20 3d 20 63 69 73 74 72 73 74 72 3b 00 00 00 1b 09 09 7d 20 65 6c 73 65 | .fstrstr.=.cistrstr;......}.else |
| 5be0 | 20 69 66 20 28 69 20 2b 20 31 20 3d 3d 20 61 72 67 63 29 00 00 00 0b 09 09 09 75 73 61 67 65 28 | .if.(i.+.1.==.argc).......usage( |
| 5c00 | 29 3b 00 00 00 27 09 09 2f 2a 20 74 68 65 73 65 20 6f 70 74 69 6f 6e 73 20 74 61 6b 65 20 6f 6e | );...'../*.these.options.take.on |
| 5c20 | 65 20 61 72 67 75 6d 65 6e 74 20 2a 2f 00 00 00 4b 09 09 65 6c 73 65 20 69 66 20 28 21 73 74 72 | e.argument.*/...K..else.if.(!str |
| 5c40 | 63 6d 70 28 61 72 67 76 5b 69 5d 2c 20 22 2d 6c 22 29 29 20 20 20 2f 2a 20 6e 75 6d 62 65 72 20 | cmp(argv[i],."-l")).../*.number. |
| 5c60 | 6f 66 20 6c 69 6e 65 73 20 69 6e 20 76 65 72 74 69 63 61 6c 20 6c 69 73 74 20 2a 2f 00 00 00 1b | of.lines.in.vertical.list.*/.... |
| 5c80 | 09 09 09 6c 69 6e 65 73 20 3d 20 61 74 6f 69 28 61 72 67 76 5b 2b 2b 69 5d 29 3b 00 00 00 3a 09 | ...lines.=.atoi(argv[++i]);...:. |
| 5ca0 | 09 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 61 72 67 76 5b 69 5d 2c 20 22 2d 78 22 29 | .else.if.(!strcmp(argv[i],."-x") |
| 5cc0 | 29 20 20 20 2f 2a 20 77 69 6e 64 6f 77 20 78 20 6f 66 66 73 65 74 20 2a 2f 00 00 00 19 09 09 09 | ).../*.window.x.offset.*/....... |
| 5ce0 | 64 6d 78 20 3d 20 61 74 6f 69 28 61 72 67 76 5b 2b 2b 69 5d 29 3b 00 00 00 51 09 09 65 6c 73 65 | dmx.=.atoi(argv[++i]);...Q..else |
| 5d00 | 20 69 66 20 28 21 73 74 72 63 6d 70 28 61 72 67 76 5b 69 5d 2c 20 22 2d 79 22 29 29 20 20 20 2f | .if.(!strcmp(argv[i],."-y")).../ |
| 5d20 | 2a 20 77 69 6e 64 6f 77 20 79 20 6f 66 66 73 65 74 20 28 66 72 6f 6d 20 62 6f 74 74 6f 6d 20 75 | *.window.y.offset.(from.bottom.u |
| 5d40 | 70 20 69 66 20 2d 62 29 20 2a 2f 00 00 00 19 09 09 09 64 6d 79 20 3d 20 61 74 6f 69 28 61 72 67 | p.if.-b).*/.......dmy.=.atoi(arg |
| 5d60 | 76 5b 2b 2b 69 5d 29 3b 00 00 00 3f 09 09 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 61 | v[++i]);...?..else.if.(!strcmp(a |
| 5d80 | 72 67 76 5b 69 5d 2c 20 22 2d 7a 22 29 29 20 20 20 2f 2a 20 6d 61 6b 65 20 64 6d 65 6e 75 20 74 | rgv[i],."-z")).../*.make.dmenu.t |
| 5da0 | 68 69 73 20 77 69 64 65 20 2a 2f 00 00 00 19 09 09 09 64 6d 77 20 3d 20 61 74 6f 69 28 61 72 67 | his.wide.*/.......dmw.=.atoi(arg |
| 5dc0 | 76 5b 2b 2b 69 5d 29 3b 00 00 00 22 09 09 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 61 | v[++i]);..."..else.if.(!strcmp(a |
| 5de0 | 72 67 76 5b 69 5d 2c 20 22 2d 6d 22 29 29 00 00 00 19 09 09 09 6d 6f 6e 20 3d 20 61 74 6f 69 28 | rgv[i],."-m")).......mon.=.atoi( |
| 5e00 | 61 72 67 76 5b 2b 2b 69 5d 29 3b 00 00 00 4d 09 09 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d | argv[++i]);...M..else.if.(!strcm |
| 5e20 | 70 28 61 72 67 76 5b 69 5d 2c 20 22 2d 70 22 29 29 20 20 20 2f 2a 20 61 64 64 73 20 70 72 6f 6d | p(argv[i],."-p")).../*.adds.prom |
| 5e40 | 70 74 20 74 6f 20 6c 65 66 74 20 6f 66 20 69 6e 70 75 74 20 66 69 65 6c 64 20 2a 2f 00 00 00 16 | pt.to.left.of.input.field.*/.... |
| 5e60 | 09 09 09 70 72 6f 6d 70 74 20 3d 20 61 72 67 76 5b 2b 2b 69 5d 3b 00 00 00 3b 09 09 65 6c 73 65 | ...prompt.=.argv[++i];...;..else |
| 5e80 | 20 69 66 20 28 21 73 74 72 63 6d 70 28 61 72 67 76 5b 69 5d 2c 20 22 2d 66 6e 22 29 29 20 20 2f | .if.(!strcmp(argv[i],."-fn"))../ |
| 5ea0 | 2a 20 66 6f 6e 74 20 6f 72 20 66 6f 6e 74 20 73 65 74 20 2a 2f 00 00 00 18 09 09 09 66 6f 6e 74 | *.font.or.font.set.*/.......font |
| 5ec0 | 73 5b 30 5d 20 3d 20 61 72 67 76 5b 2b 2b 69 5d 3b 00 00 00 42 09 09 65 6c 73 65 20 69 66 20 28 | s[0].=.argv[++i];...B..else.if.( |
| 5ee0 | 21 73 74 72 63 6d 70 28 61 72 67 76 5b 69 5d 2c 20 22 2d 6e 62 22 29 29 20 20 2f 2a 20 6e 6f 72 | !strcmp(argv[i],."-nb"))../*.nor |
| 5f00 | 6d 61 6c 20 62 61 63 6b 67 72 6f 75 6e 64 20 63 6f 6c 6f 72 20 2a 2f 00 00 00 29 09 09 09 63 6f | mal.background.color.*/...)...co |
| 5f20 | 6c 6f 72 73 5b 53 63 68 65 6d 65 4e 6f 72 6d 5d 5b 43 6f 6c 42 67 5d 20 3d 20 61 72 67 76 5b 2b | lors[SchemeNorm][ColBg].=.argv[+ |
| 5f40 | 2b 69 5d 3b 00 00 00 42 09 09 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 61 72 67 76 5b | +i];...B..else.if.(!strcmp(argv[ |
| 5f60 | 69 5d 2c 20 22 2d 6e 66 22 29 29 20 20 2f 2a 20 6e 6f 72 6d 61 6c 20 66 6f 72 65 67 72 6f 75 6e | i],."-nf"))../*.normal.foregroun |
| 5f80 | 64 20 63 6f 6c 6f 72 20 2a 2f 00 00 00 29 09 09 09 63 6f 6c 6f 72 73 5b 53 63 68 65 6d 65 4e 6f | d.color.*/...)...colors[SchemeNo |
| 5fa0 | 72 6d 5d 5b 43 6f 6c 46 67 5d 20 3d 20 61 72 67 76 5b 2b 2b 69 5d 3b 00 00 00 44 09 09 65 6c 73 | rm][ColFg].=.argv[++i];...D..els |
| 5fc0 | 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 61 72 67 76 5b 69 5d 2c 20 22 2d 73 62 22 29 29 20 20 | e.if.(!strcmp(argv[i],."-sb")).. |
| 5fe0 | 2f 2a 20 73 65 6c 65 63 74 65 64 20 62 61 63 6b 67 72 6f 75 6e 64 20 63 6f 6c 6f 72 20 2a 2f 00 | /*.selected.background.color.*/. |
| 6000 | 00 00 28 09 09 09 63 6f 6c 6f 72 73 5b 53 63 68 65 6d 65 53 65 6c 5d 5b 43 6f 6c 42 67 5d 20 3d | ..(...colors[SchemeSel][ColBg].= |
| 6020 | 20 61 72 67 76 5b 2b 2b 69 5d 3b 00 00 00 44 09 09 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d | .argv[++i];...D..else.if.(!strcm |
| 6040 | 70 28 61 72 67 76 5b 69 5d 2c 20 22 2d 73 66 22 29 29 20 20 2f 2a 20 73 65 6c 65 63 74 65 64 20 | p(argv[i],."-sf"))../*.selected. |
| 6060 | 66 6f 72 65 67 72 6f 75 6e 64 20 63 6f 6c 6f 72 20 2a 2f 00 00 00 28 09 09 09 63 6f 6c 6f 72 73 | foreground.color.*/...(...colors |
| 6080 | 5b 53 63 68 65 6d 65 53 65 6c 5d 5b 43 6f 6c 46 67 5d 20 3d 20 61 72 67 76 5b 2b 2b 69 5d 3b 00 | [SchemeSel][ColFg].=.argv[++i];. |
| 60a0 | 00 00 3e 09 09 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 61 72 67 76 5b 69 5d 2c 20 22 | ..>..else.if.(!strcmp(argv[i],." |
| 60c0 | 2d 77 22 29 29 20 20 20 2f 2a 20 65 6d 62 65 64 64 69 6e 67 20 77 69 6e 64 6f 77 20 69 64 20 2a | -w")).../*.embedding.window.id.* |
| 60e0 | 2f 00 00 00 15 09 09 09 65 6d 62 65 64 20 3d 20 61 72 67 76 5b 2b 2b 69 5d 3b 00 00 00 23 09 09 | /.......embed.=.argv[++i];...#.. |
| 6100 | 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 61 72 67 76 5b 69 5d 2c 20 22 2d 62 77 22 29 | else.if.(!strcmp(argv[i],."-bw") |
| 6120 | 29 00 00 00 35 09 09 09 62 6f 72 64 65 72 5f 77 69 64 74 68 20 3d 20 61 74 6f 69 28 61 72 67 76 | )...5...border_width.=.atoi(argv |
| 6140 | 5b 2b 2b 69 5d 29 3b 20 2f 2a 20 62 6f 72 64 65 72 20 77 69 64 74 68 20 2a 2f 00 00 00 06 09 09 | [++i]);./*.border.width.*/...... |
| 6160 | 65 6c 73 65 00 00 00 0b 09 09 09 75 73 61 67 65 28 29 3b 00 00 00 00 00 00 00 34 09 69 66 20 28 | else.......usage();.......4.if.( |
| 6180 | 21 73 65 74 6c 6f 63 61 6c 65 28 4c 43 5f 43 54 59 50 45 2c 20 22 22 29 20 7c 7c 20 21 58 53 75 | !setlocale(LC_CTYPE,."").||.!XSu |
| 61a0 | 70 70 6f 72 74 73 4c 6f 63 61 6c 65 28 29 29 00 00 00 30 09 09 66 70 75 74 73 28 22 77 61 72 6e | pportsLocale())...0..fputs("warn |
| 61c0 | 69 6e 67 3a 20 6e 6f 20 6c 6f 63 61 6c 65 20 73 75 70 70 6f 72 74 5c 6e 22 2c 20 73 74 64 65 72 | ing:.no.locale.support\n",.stder |
| 61e0 | 72 29 3b 00 00 00 21 09 69 66 20 28 21 28 64 70 79 20 3d 20 58 4f 70 65 6e 44 69 73 70 6c 61 79 | r);...!.if.(!(dpy.=.XOpenDisplay |
| 6200 | 28 4e 55 4c 4c 29 29 29 00 00 00 1d 09 09 64 69 65 28 22 63 61 6e 6e 6f 74 20 6f 70 65 6e 20 64 | (NULL)))......die("cannot.open.d |
| 6220 | 69 73 70 6c 61 79 22 29 3b 00 00 00 1d 09 73 63 72 65 65 6e 20 3d 20 44 65 66 61 75 6c 74 53 63 | isplay");.....screen.=.DefaultSc |
| 6240 | 72 65 65 6e 28 64 70 79 29 3b 00 00 00 20 09 72 6f 6f 74 20 3d 20 52 6f 6f 74 57 69 6e 64 6f 77 | reen(dpy);.....root.=.RootWindow |
| 6260 | 28 64 70 79 2c 20 73 63 72 65 65 6e 29 3b 00 00 00 35 09 69 66 20 28 21 65 6d 62 65 64 20 7c 7c | (dpy,.screen);...5.if.(!embed.|| |
| 6280 | 20 21 28 70 61 72 65 6e 74 77 69 6e 20 3d 20 73 74 72 74 6f 6c 28 65 6d 62 65 64 2c 20 4e 55 4c | .!(parentwin.=.strtol(embed,.NUL |
| 62a0 | 4c 2c 20 30 29 29 29 00 00 00 13 09 09 70 61 72 65 6e 74 77 69 6e 20 3d 20 72 6f 6f 74 3b 00 00 | L,.0)))......parentwin.=.root;.. |
| 62c0 | 00 30 09 69 66 20 28 21 58 47 65 74 57 69 6e 64 6f 77 41 74 74 72 69 62 75 74 65 73 28 64 70 79 | .0.if.(!XGetWindowAttributes(dpy |
| 62e0 | 2c 20 70 61 72 65 6e 74 77 69 6e 2c 20 26 77 61 29 29 00 00 00 39 09 09 64 69 65 28 22 63 6f 75 | ,.parentwin,.&wa))...9..die("cou |
| 6300 | 6c 64 20 6e 6f 74 20 67 65 74 20 65 6d 62 65 64 64 69 6e 67 20 77 69 6e 64 6f 77 20 61 74 74 72 | ld.not.get.embedding.window.attr |
| 6320 | 69 62 75 74 65 73 3a 20 30 78 25 6c 78 22 2c 00 00 00 11 09 09 20 20 20 20 70 61 72 65 6e 74 77 | ibutes:.0x%lx",..........parentw |
| 6340 | 69 6e 29 3b 00 00 00 3a 09 64 72 77 20 3d 20 64 72 77 5f 63 72 65 61 74 65 28 64 70 79 2c 20 73 | in);...:.drw.=.drw_create(dpy,.s |
| 6360 | 63 72 65 65 6e 2c 20 72 6f 6f 74 2c 20 77 61 2e 77 69 64 74 68 2c 20 77 61 2e 68 65 69 67 68 74 | creen,.root,.wa.width,.wa.height |
| 6380 | 29 3b 00 00 00 34 09 69 66 20 28 21 64 72 77 5f 66 6f 6e 74 73 65 74 5f 63 72 65 61 74 65 28 64 | );...4.if.(!drw_fontset_create(d |
| 63a0 | 72 77 2c 20 66 6f 6e 74 73 2c 20 4c 45 4e 47 54 48 28 66 6f 6e 74 73 29 29 29 00 00 00 23 09 09 | rw,.fonts,.LENGTH(fonts)))...#.. |
| 63c0 | 64 69 65 28 22 6e 6f 20 66 6f 6e 74 73 20 63 6f 75 6c 64 20 62 65 20 6c 6f 61 64 65 64 2e 22 29 | die("no.fonts.could.be.loaded.") |
| 63e0 | 3b 00 00 00 25 09 6c 72 70 61 64 20 3d 20 64 72 77 2d 3e 66 6f 6e 74 73 2d 3e 68 20 2b 20 68 6f | ;...%.lrpad.=.drw->fonts->h.+.ho |
| 6400 | 72 69 7a 70 61 64 62 61 72 3b 00 00 00 00 00 00 00 12 23 69 66 64 65 66 20 5f 5f 4f 70 65 6e 42 | rizpadbar;........#ifdef.__OpenB |
| 6420 | 53 44 5f 5f 00 00 00 27 09 69 66 20 28 70 6c 65 64 67 65 28 22 73 74 64 69 6f 20 72 70 61 74 68 | SD__...'.if.(pledge("stdio.rpath |
| 6440 | 22 2c 20 4e 55 4c 4c 29 20 3d 3d 20 2d 31 29 00 00 00 10 09 09 64 69 65 28 22 70 6c 65 64 67 65 | ",.NULL).==.-1)......die("pledge |
| 6460 | 22 29 3b 00 00 00 06 23 65 6e 64 69 66 00 00 00 00 00 00 00 1a 09 69 66 20 28 66 61 73 74 20 26 | ");....#endif.........if.(fast.& |
| 6480 | 26 20 21 69 73 61 74 74 79 28 30 29 29 20 7b 00 00 00 11 09 09 67 72 61 62 6b 65 79 62 6f 61 72 | &.!isatty(0)).{......grabkeyboar |
| 64a0 | 64 28 29 3b 00 00 00 0e 09 09 72 65 61 64 73 74 64 69 6e 28 29 3b 00 00 00 09 09 7d 20 65 6c 73 | d();......readstdin();.....}.els |
| 64c0 | 65 20 7b 00 00 00 0e 09 09 72 65 61 64 73 74 64 69 6e 28 29 3b 00 00 00 11 09 09 67 72 61 62 6b | e.{......readstdin();......grabk |
| 64e0 | 65 79 62 6f 61 72 64 28 29 3b 00 00 00 02 09 7d 00 00 00 09 09 73 65 74 75 70 28 29 3b 00 00 00 | eyboard();.....}.....setup();... |
| 6500 | 07 09 72 75 6e 28 29 3b 00 00 00 00 00 00 00 1c 09 72 65 74 75 72 6e 20 31 3b 20 2f 2a 20 75 6e | ..run();.........return.1;./*.un |
| 6520 | 72 65 61 63 68 61 62 6c 65 20 2a 2f 35 81 f5 18 00 00 00 00 0a 00 00 00 0f 00 00 00 94 03 00 00 | reachable.*/5................... |
| 6540 | 01 00 00 00 96 03 00 00 02 00 00 00 e7 00 00 00 00 00 00 00 28 58 00 00 00 00 00 00 a5 5e 00 00 | ....................(X.......^.. |
| 6560 | 00 00 00 00 35 81 5f d0 00 00 00 07 00 00 00 09 00 00 00 00 00 00 00 00 00 00 00 08 00 00 02 f6 | ....5._......................... |
| 6580 | 00 00 00 02 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 65a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 65c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 65e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 66a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 66c0 | 00 00 00 00 00 00 00 00 00 0b 00 00 00 02 00 00 00 00 00 00 00 0b 00 00 00 01 00 00 00 00 00 00 | ................................ |
| 66e0 | 00 76 00 00 00 04 00 00 00 00 69 a1 0f 9b 04 01 00 00 00 00 00 f5 18 00 00 02 f5 00 00 02 f7 00 | .v........i..................... |
| 6700 | 00 03 a2 00 00 00 01 00 00 00 15 20 20 62 68 20 3d 20 64 72 77 2d 3e 66 6f 6e 74 73 2d 3e 68 3b | .............bh.=.drw->fonts->h; |
| 6720 | 35 81 f5 18 00 00 00 00 f5 02 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 | 5............................... |
| 6740 | 04 48 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 08 | .H......................5._..... |
| 6760 | 00 00 00 0a 00 00 00 00 00 00 00 00 00 00 00 09 00 00 02 f6 00 00 00 03 00 00 00 00 ff ff ff ff | ................................ |
| 6780 | 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 67a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 67c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 67e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 68a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0b 00 00 | ................................ |
| 68c0 | 00 02 00 00 00 00 00 00 00 0b 00 00 00 01 00 00 00 00 00 00 00 76 00 00 00 04 00 00 00 00 69 a1 | .....................v........i. |
| 68e0 | 0f 9b 04 01 00 00 00 00 00 f5 18 00 00 02 f6 00 00 02 f8 00 00 03 a3 00 00 00 01 00 00 00 04 20 | ................................ |
| 6900 | 20 2f 2f f5 18 00 00 02 f6 00 00 02 f8 00 00 03 a2 00 00 00 00 35 81 f5 18 00 00 00 00 f6 02 00 | .//..................5.......... |
| 6920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 1a 48 00 00 00 00 00 00 00 00 00 | ......................H......... |
| 6940 | 00 00 00 00 00 05 00 00 00 00 00 00 00 f5 18 00 00 00 00 f6 02 00 00 02 00 00 00 00 00 00 00 02 | ................................ |
| 6960 | 00 00 00 00 00 00 00 03 00 00 00 1c 48 00 00 00 00 00 00 02 00 00 00 00 00 00 00 03 00 00 00 00 | ............H................... |
| 6980 | 00 00 00 f5 18 00 00 00 00 f6 02 00 00 04 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 0e 00 00 | ................................ |
| 69a0 | 00 1e 48 00 00 00 00 00 00 01 00 00 00 00 00 00 00 0e 00 00 00 00 00 00 00 f5 18 00 00 00 00 f6 | ..H............................. |
| 69c0 | 02 00 00 11 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 11 00 00 00 2b 48 00 00 00 00 00 00 01 | .......................+H....... |
| 69e0 | 00 00 00 00 00 00 00 11 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 09 00 00 00 0b 00 00 00 00 00 | ...............5._.............. |
| 6a00 | 00 00 00 00 00 00 0a 00 00 02 f7 00 00 00 21 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 | ..............!................. |
| 6a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6a60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0b 00 00 00 02 00 00 00 00 00 00 00 | ................................ |
| 6b60 | 0b 00 00 00 01 00 00 00 00 00 00 00 76 00 00 00 04 00 00 00 00 69 a1 0f a7 04 01 00 00 00 04 00 | ............v........i.......... |
| 6b80 | f5 18 00 00 02 f5 00 00 02 f7 00 00 03 a3 00 00 00 01 00 00 00 17 20 20 2f 2f 62 68 20 3d 20 64 | ........................//bh.=.d |
| 6ba0 | 72 77 2d 3e 66 6f 6e 74 73 2d 3e 68 3b 35 81 f5 18 00 00 00 00 f5 02 00 00 04 00 00 00 00 00 00 | rw->fonts->h;5.................. |
| 6bc0 | 00 00 00 00 00 00 00 00 00 01 00 00 00 06 48 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 | ..............H................. |
| 6be0 | 00 00 00 00 00 35 81 5f d0 00 00 00 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0b 00 00 02 | .....5._........................ |
| 6c00 | f7 00 00 00 21 00 00 00 00 ff ff ff ff 00 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ....!........................... |
| 6c20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6c60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6c80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6d00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6d20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6d40 | 00 00 00 00 00 00 00 00 00 00 0b 00 00 00 02 00 00 00 00 00 00 00 0b 00 00 00 01 00 00 00 00 00 | ................................ |
| 6d60 | 00 00 76 00 00 00 04 00 00 00 00 69 a1 0f dc 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 00 | ..v........i.................... |
| 6d80 | 00 00 00 00 00 00 03 a3 00 00 00 39 2f 2a 20 53 65 65 20 4c 49 43 45 4e 53 45 20 66 69 6c 65 20 | ...........9/*.See.LICENSE.file. |
| 6da0 | 66 6f 72 20 63 6f 70 79 72 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 64 65 74 61 69 6c | for.copyright.and.license.detail |
| 6dc0 | 73 2e 20 2a 2f 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 63 74 79 70 65 2e 68 3e 00 00 00 13 23 | s..*/....#include.<ctype.h>....# |
| 6de0 | 69 6e 63 6c 75 64 65 20 3c 6c 6f 63 61 6c 65 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c | include.<locale.h>....#include.< |
| 6e00 | 73 74 64 69 6f 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 6c 69 62 2e 68 3e 00 | stdio.h>....#include.<stdlib.h>. |
| 6e20 | 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 74 72 69 6e 67 2e 68 3e 00 00 00 14 23 69 6e 63 6c 75 | ...#include.<string.h>....#inclu |
| 6e40 | 64 65 20 3c 73 74 72 69 6e 67 73 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 74 69 6d 65 | de.<strings.h>....#include.<time |
| 6e60 | 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 75 6e 69 73 74 64 2e 68 3e 00 00 00 00 00 00 | .h>....#include.<unistd.h>...... |
| 6e80 | 00 16 23 69 6e 63 6c 75 64 65 20 3c 58 31 31 2f 58 61 74 6f 6d 2e 68 3e 00 00 00 15 23 69 6e 63 | ..#include.<X11/Xatom.h>....#inc |
| 6ea0 | 6c 75 64 65 20 3c 58 31 31 2f 58 6c 69 62 2e 68 3e 00 00 00 16 23 69 6e 63 6c 75 64 65 20 3c 58 | lude.<X11/Xlib.h>....#include.<X |
| 6ec0 | 31 31 2f 58 75 74 69 6c 2e 68 3e 00 00 00 0f 23 69 66 64 65 66 20 58 49 4e 45 52 41 4d 41 00 00 | 11/Xutil.h>....#ifdef.XINERAMA.. |
| 6ee0 | 00 24 23 69 6e 63 6c 75 64 65 20 3c 58 31 31 2f 65 78 74 65 6e 73 69 6f 6e 73 2f 58 69 6e 65 72 | .$#include.<X11/extensions/Xiner |
| 6f00 | 61 6d 61 2e 68 3e 00 00 00 06 23 65 6e 64 69 66 00 00 00 18 23 69 6e 63 6c 75 64 65 20 3c 58 31 | ama.h>....#endif....#include.<X1 |
| 6f20 | 31 2f 58 66 74 2f 58 66 74 2e 68 3e 00 00 00 00 00 00 00 10 23 69 6e 63 6c 75 64 65 20 22 64 72 | 1/Xft/Xft.h>........#include."dr |
| 6f40 | 77 2e 68 22 00 00 00 11 23 69 6e 63 6c 75 64 65 20 22 75 74 69 6c 2e 68 22 00 00 00 00 00 00 00 | w.h"....#include."util.h"....... |
| 6f60 | 0c 2f 2a 20 6d 61 63 72 6f 73 20 2a 2f 00 00 00 50 23 64 65 66 69 6e 65 20 49 4e 54 45 52 53 45 | ./*.macros.*/...P#define.INTERSE |
| 6f80 | 43 54 28 78 2c 20 79 2c 20 77 2c 20 68 2c 20 72 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | CT(x,.y,.w,.h,.r)............... |
| 6fa0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 6fc0 | 5c 00 00 00 50 20 20 28 4d 41 58 28 30 2c 20 4d 49 4e 28 28 78 29 20 2b 20 28 77 29 2c 20 28 72 | \...P..(MAX(0,.MIN((x).+.(w),.(r |
| 6fe0 | 29 2e 78 5f 6f 72 67 20 2b 20 28 72 29 2e 77 69 64 74 68 29 20 2d 20 4d 41 58 28 28 78 29 2c 20 | ).x_org.+.(r).width).-.MAX((x),. |
| 7000 | 28 72 29 2e 78 5f 6f 72 67 29 29 20 2a 20 20 20 20 20 20 20 5c 00 00 00 48 20 20 20 4d 41 58 28 | (r).x_org)).*.......\...H...MAX( |
| 7020 | 30 2c 20 4d 49 4e 28 28 79 29 20 2b 20 28 68 29 2c 20 28 72 29 2e 79 5f 6f 72 67 20 2b 20 28 72 | 0,.MIN((y).+.(h),.(r).y_org.+.(r |
| 7040 | 29 2e 68 65 69 67 68 74 29 20 2d 20 4d 41 58 28 28 79 29 2c 20 28 72 29 2e 79 5f 6f 72 67 29 29 | ).height).-.MAX((y),.(r).y_org)) |
| 7060 | 29 00 00 00 39 23 64 65 66 69 6e 65 20 54 45 58 54 57 28 58 29 20 28 64 72 77 5f 66 6f 6e 74 73 | )...9#define.TEXTW(X).(drw_fonts |
| 7080 | 65 74 5f 67 65 74 77 69 64 74 68 28 64 72 77 2c 20 28 58 29 29 20 2b 20 6c 72 70 61 64 29 00 00 | et_getwidth(drw,.(X)).+.lrpad).. |
| 70a0 | 00 00 00 00 00 0b 2f 2a 20 65 6e 75 6d 73 20 2a 2f 00 00 00 4a 65 6e 75 6d 20 7b 20 53 63 68 65 | ....../*.enums.*/...Jenum.{.Sche |
| 70c0 | 6d 65 4e 6f 72 6d 2c 20 53 63 68 65 6d 65 53 65 6c 2c 20 53 63 68 65 6d 65 4f 75 74 2c 20 53 63 | meNorm,.SchemeSel,.SchemeOut,.Sc |
| 70e0 | 68 65 6d 65 4c 61 73 74 20 7d 3b 20 2f 2a 20 63 6f 6c 6f 72 20 73 63 68 65 6d 65 73 20 2a 2f 00 | hemeLast.};./*.color.schemes.*/. |
| 7100 | 00 00 00 00 00 00 0d 73 74 72 75 63 74 20 69 74 65 6d 20 7b 00 00 00 0d 20 20 63 68 61 72 20 2a | .......struct.item.{......char.* |
| 7120 | 74 65 78 74 3b 00 00 00 1c 20 20 73 74 72 75 63 74 20 69 74 65 6d 20 2a 6c 65 66 74 2c 20 2a 72 | text;......struct.item.*left,.*r |
| 7140 | 69 67 68 74 3b 00 00 00 0a 20 20 69 6e 74 20 6f 75 74 3b 00 00 00 02 7d 3b 00 00 00 00 00 00 00 | ight;......int.out;....};....... |
| 7160 | 1e 73 74 61 74 69 63 20 63 68 61 72 20 74 65 78 74 5b 42 55 46 53 49 5a 5d 20 3d 20 22 22 3b 00 | .static.char.text[BUFSIZ].=."";. |
| 7180 | 00 00 13 73 74 61 74 69 63 20 63 68 61 72 20 2a 65 6d 62 65 64 3b 00 00 00 16 73 74 61 74 69 63 | ...static.char.*embed;....static |
| 71a0 | 20 69 6e 74 20 62 68 2c 20 6d 77 2c 20 6d 68 3b 00 00 00 34 73 74 61 74 69 63 20 69 6e 74 20 64 | .int.bh,.mw,.mh;...4static.int.d |
| 71c0 | 6d 78 20 3d 20 30 3b 20 2f 2a 20 70 75 74 20 64 6d 65 6e 75 20 61 74 20 74 68 69 73 20 78 20 6f | mx.=.0;./*.put.dmenu.at.this.x.o |
| 71e0 | 66 66 73 65 74 20 2a 2f 00 00 00 4e 73 74 61 74 69 63 20 69 6e 74 20 64 6d 79 20 3d 20 30 3b 20 | ffset.*/...Nstatic.int.dmy.=.0;. |
| 7200 | 2f 2a 20 70 75 74 20 64 6d 65 6e 75 20 61 74 20 74 68 69 73 20 79 20 6f 66 66 73 65 74 20 28 6d | /*.put.dmenu.at.this.y.offset.(m |
| 7220 | 65 61 73 75 72 65 64 20 66 72 6f 6d 20 74 68 65 20 62 6f 74 74 6f 6d 20 69 66 00 00 00 26 20 20 | easured.from.the.bottom.if...&.. |
| 7240 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 70 62 61 72 20 69 73 20 30 | .....................topbar.is.0 |
| 7260 | 29 20 2a 2f 00 00 00 37 73 74 61 74 69 63 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 64 6d 77 20 | ).*/...7static.unsigned.int.dmw. |
| 7280 | 3d 20 30 3b 20 2f 2a 20 6d 61 6b 65 20 64 6d 65 6e 75 20 74 68 69 73 20 77 69 64 65 20 2a 2f 00 | =.0;./*.make.dmenu.this.wide.*/. |
| 72a0 | 00 00 1f 73 74 61 74 69 63 20 69 6e 74 20 69 6e 70 75 74 77 20 3d 20 30 2c 20 70 72 6f 6d 70 74 | ...static.int.inputw.=.0,.prompt |
| 72c0 | 77 3b 00 00 00 35 73 74 61 74 69 63 20 69 6e 74 20 6c 72 70 61 64 3b 20 2f 2a 20 73 75 6d 20 6f | w;...5static.int.lrpad;./*.sum.o |
| 72e0 | 66 20 6c 65 66 74 20 61 6e 64 20 72 69 67 68 74 20 70 61 64 64 69 6e 67 20 2a 2f 00 00 00 15 73 | f.left.and.right.padding.*/....s |
| 7300 | 74 61 74 69 63 20 73 69 7a 65 5f 74 20 63 75 72 73 6f 72 3b 00 00 00 21 73 74 61 74 69 63 20 73 | tatic.size_t.cursor;...!static.s |
| 7320 | 74 72 75 63 74 20 69 74 65 6d 20 2a 69 74 65 6d 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 27 73 74 61 | truct.item.*items.=.NULL;...'sta |
| 7340 | 74 69 63 20 73 74 72 75 63 74 20 69 74 65 6d 20 2a 6d 61 74 63 68 65 73 2c 20 2a 6d 61 74 63 68 | tic.struct.item.*matches,.*match |
| 7360 | 65 6e 64 3b 00 00 00 2d 73 74 61 74 69 63 20 73 74 72 75 63 74 20 69 74 65 6d 20 2a 70 72 65 76 | end;...-static.struct.item.*prev |
| 7380 | 2c 20 2a 63 75 72 72 2c 20 2a 6e 65 78 74 2c 20 2a 73 65 6c 3b 00 00 00 1c 73 74 61 74 69 63 20 | ,.*curr,.*next,.*sel;....static. |
| 73a0 | 69 6e 74 20 6d 6f 6e 20 3d 20 2d 31 2c 20 73 63 72 65 65 6e 3b 00 00 00 00 00 00 00 17 73 74 61 | int.mon.=.-1,.screen;........sta |
| 73c0 | 74 69 63 20 41 74 6f 6d 20 63 6c 69 70 2c 20 75 74 66 38 3b 00 00 00 14 73 74 61 74 69 63 20 44 | tic.Atom.clip,.utf8;....static.D |
| 73e0 | 69 73 70 6c 61 79 20 2a 64 70 79 3b 00 00 00 23 73 74 61 74 69 63 20 57 69 6e 64 6f 77 20 72 6f | isplay.*dpy;...#static.Window.ro |
| 7400 | 6f 74 2c 20 70 61 72 65 6e 74 77 69 6e 2c 20 77 69 6e 3b 00 00 00 0f 73 74 61 74 69 63 20 58 49 | ot,.parentwin,.win;....static.XI |
| 7420 | 43 20 78 69 63 3b 00 00 00 00 00 00 00 10 73 74 61 74 69 63 20 44 72 77 20 2a 64 72 77 3b 00 00 | C.xic;........static.Drw.*drw;.. |
| 7440 | 00 1f 73 74 61 74 69 63 20 43 6c 72 20 2a 73 63 68 65 6d 65 5b 53 63 68 65 6d 65 4c 61 73 74 5d | ..static.Clr.*scheme[SchemeLast] |
| 7460 | 3b 00 00 00 00 00 00 00 13 23 69 6e 63 6c 75 64 65 20 22 63 6f 6e 66 69 67 2e 68 22 00 00 00 00 | ;........#include."config.h".... |
| 7480 | 00 00 00 45 73 74 61 74 69 63 20 69 6e 74 20 28 2a 66 73 74 72 6e 63 6d 70 29 28 63 6f 6e 73 74 | ...Estatic.int.(*fstrncmp)(const |
| 74a0 | 20 63 68 61 72 20 2a 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 2c 20 73 69 7a 65 5f 74 29 20 3d | .char.*,.const.char.*,.size_t).= |
| 74c0 | 20 73 74 72 6e 63 6d 70 3b 00 00 00 3d 73 74 61 74 69 63 20 63 68 61 72 20 2a 28 2a 66 73 74 72 | .strncmp;...=static.char.*(*fstr |
| 74e0 | 73 74 72 29 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 29 | str)(const.char.*,.const.char.*) |
| 7500 | 20 3d 20 73 74 72 73 74 72 3b 00 00 00 00 00 00 00 42 73 74 61 74 69 63 20 75 6e 73 69 67 6e 65 | .=.strstr;.......Bstatic.unsigne |
| 7520 | 64 20 69 6e 74 20 74 65 78 74 77 5f 63 6c 61 6d 70 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 74 | d.int.textw_clamp(const.char.*st |
| 7540 | 72 2c 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 6e 29 20 7b 00 00 00 43 20 20 75 6e 73 69 67 6e | r,.unsigned.int.n).{...C..unsign |
| 7560 | 65 64 20 69 6e 74 20 77 20 3d 20 64 72 77 5f 66 6f 6e 74 73 65 74 5f 67 65 74 77 69 64 74 68 5f | ed.int.w.=.drw_fontset_getwidth_ |
| 7580 | 63 6c 61 6d 70 28 64 72 77 2c 20 73 74 72 2c 20 6e 29 20 2b 20 6c 72 70 61 64 3b 00 00 00 13 20 | clamp(drw,.str,.n).+.lrpad;..... |
| 75a0 | 20 72 65 74 75 72 6e 20 4d 49 4e 28 77 2c 20 6e 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 3d 73 | .return.MIN(w,.n);....}.......=s |
| 75c0 | 74 61 74 69 63 20 76 6f 69 64 20 61 70 70 65 6e 64 69 74 65 6d 28 73 74 72 75 63 74 20 69 74 65 | tatic.void.appenditem(struct.ite |
| 75e0 | 6d 20 2a 69 74 65 6d 2c 20 73 74 72 75 63 74 20 69 74 65 6d 20 2a 2a 6c 69 73 74 2c 00 00 00 2c | m.*item,.struct.item.**list,..., |
| 7600 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 75 63 74 20 69 74 | .......................struct.it |
| 7620 | 65 6d 20 2a 2a 6c 61 73 74 29 20 7b 00 00 00 0c 20 20 69 66 20 28 2a 6c 61 73 74 29 00 00 00 1a | em.**last).{......if.(*last).... |
| 7640 | 20 20 20 20 28 2a 6c 61 73 74 29 2d 3e 72 69 67 68 74 20 3d 20 69 74 65 6d 3b 00 00 00 06 20 20 | ....(*last)->right.=.item;...... |
| 7660 | 65 6c 73 65 00 00 00 11 20 20 20 20 2a 6c 69 73 74 20 3d 20 69 74 65 6d 3b 00 00 00 00 00 00 00 | else........*list.=.item;....... |
| 7680 | 15 20 20 69 74 65 6d 2d 3e 6c 65 66 74 20 3d 20 2a 6c 61 73 74 3b 00 00 00 15 20 20 69 74 65 6d | ...item->left.=.*last;......item |
| 76a0 | 2d 3e 72 69 67 68 74 20 3d 20 4e 55 4c 4c 3b 00 00 00 0f 20 20 2a 6c 61 73 74 20 3d 20 69 74 65 | ->right.=.NULL;......*last.=.ite |
| 76c0 | 6d 3b 00 00 00 01 7d 00 00 00 00 00 00 00 1f 73 74 61 74 69 63 20 76 6f 69 64 20 63 61 6c 63 6f | m;....}........static.void.calco |
| 76e0 | 66 66 73 65 74 73 28 76 6f 69 64 29 20 7b 00 00 00 0b 20 20 69 6e 74 20 69 2c 20 6e 3b 00 00 00 | ffsets(void).{......int.i,.n;... |
| 7700 | 00 00 00 00 10 20 20 69 66 20 28 6c 69 6e 65 73 20 3e 20 30 29 00 00 00 13 20 20 20 20 6e 20 3d | .......if.(lines.>.0)........n.= |
| 7720 | 20 6c 69 6e 65 73 20 2a 20 62 68 3b 00 00 00 06 20 20 65 6c 73 65 00 00 00 3a 20 20 20 20 6e 20 | .lines.*.bh;......else...:....n. |
| 7740 | 3d 20 6d 77 20 2d 20 28 70 72 6f 6d 70 74 77 20 2b 20 69 6e 70 75 74 77 20 2b 20 54 45 58 54 57 | =.mw.-.(promptw.+.inputw.+.TEXTW |
| 7760 | 28 22 3c 22 29 20 2b 20 54 45 58 54 57 28 22 3e 22 29 29 3b 00 00 00 48 20 20 2f 2a 20 63 61 6c | ("<").+.TEXTW(">"));...H../*.cal |
| 7780 | 63 75 6c 61 74 65 20 77 68 69 63 68 20 69 74 65 6d 73 20 77 69 6c 6c 20 62 65 67 69 6e 20 74 68 | culate.which.items.will.begin.th |
| 77a0 | 65 20 6e 65 78 74 20 70 61 67 65 20 61 6e 64 20 70 72 65 76 69 6f 75 73 20 70 61 67 65 20 2a 2f | e.next.page.and.previous.page.*/ |
| 77c0 | 00 00 00 34 20 20 66 6f 72 20 28 69 20 3d 20 30 2c 20 6e 65 78 74 20 3d 20 63 75 72 72 3b 20 6e | ...4..for.(i.=.0,.next.=.curr;.n |
| 77e0 | 65 78 74 3b 20 6e 65 78 74 20 3d 20 6e 65 78 74 2d 3e 72 69 67 68 74 29 00 00 00 41 20 20 20 20 | ext;.next.=.next->right)...A.... |
| 7800 | 69 66 20 28 28 69 20 2b 3d 20 28 6c 69 6e 65 73 20 3e 20 30 29 20 3f 20 62 68 20 3a 20 74 65 78 | if.((i.+=.(lines.>.0).?.bh.:.tex |
| 7820 | 74 77 5f 63 6c 61 6d 70 28 6e 65 78 74 2d 3e 74 65 78 74 2c 20 6e 29 29 20 3e 20 6e 29 00 00 00 | tw_clamp(next->text,.n)).>.n)... |
| 7840 | 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 41 20 20 66 6f 72 20 28 69 20 3d 20 30 2c 20 70 | .......break;...A..for.(i.=.0,.p |
| 7860 | 72 65 76 20 3d 20 63 75 72 72 3b 20 70 72 65 76 20 26 26 20 70 72 65 76 2d 3e 6c 65 66 74 3b 20 | rev.=.curr;.prev.&&.prev->left;. |
| 7880 | 70 72 65 76 20 3d 20 70 72 65 76 2d 3e 6c 65 66 74 29 00 00 00 47 20 20 20 20 69 66 20 28 28 69 | prev.=.prev->left)...G....if.((i |
| 78a0 | 20 2b 3d 20 28 6c 69 6e 65 73 20 3e 20 30 29 20 3f 20 62 68 20 3a 20 74 65 78 74 77 5f 63 6c 61 | .+=.(lines.>.0).?.bh.:.textw_cla |
| 78c0 | 6d 70 28 70 72 65 76 2d 3e 6c 65 66 74 2d 3e 74 65 78 74 2c 20 6e 29 29 20 3e 20 6e 29 00 00 00 | mp(prev->left->text,.n)).>.n)... |
| 78e0 | 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 01 7d 00 00 00 00 00 00 00 1b 73 74 61 74 69 63 | .......break;....}........static |
| 7900 | 20 76 6f 69 64 20 63 6c 65 61 6e 75 70 28 76 6f 69 64 29 20 7b 00 00 00 0b 20 20 73 69 7a 65 5f | .void.cleanup(void).{......size_ |
| 7920 | 74 20 69 3b 00 00 00 00 00 00 00 24 20 20 58 55 6e 67 72 61 62 4b 65 79 62 6f 61 72 64 28 64 70 | t.i;.......$..XUngrabKeyboard(dp |
| 7940 | 79 2c 20 43 75 72 72 65 6e 74 54 69 6d 65 29 3b 00 00 00 22 20 20 66 6f 72 20 28 69 20 3d 20 30 | y,.CurrentTime);..."..for.(i.=.0 |
| 7960 | 3b 20 69 20 3c 20 53 63 68 65 6d 65 4c 61 73 74 3b 20 69 2b 2b 29 00 00 00 14 20 20 20 20 66 72 | ;.i.<.SchemeLast;.i++)........fr |
| 7980 | 65 65 28 73 63 68 65 6d 65 5b 69 5d 29 3b 00 00 00 2a 20 20 66 6f 72 20 28 69 20 3d 20 30 3b 20 | ee(scheme[i]);...*..for.(i.=.0;. |
| 79a0 | 69 74 65 6d 73 20 26 26 20 69 74 65 6d 73 5b 69 5d 2e 74 65 78 74 3b 20 2b 2b 69 29 00 00 00 18 | items.&&.items[i].text;.++i).... |
| 79c0 | 20 20 20 20 66 72 65 65 28 69 74 65 6d 73 5b 69 5d 2e 74 65 78 74 29 3b 00 00 00 0e 20 20 66 72 | ....free(items[i].text);......fr |
| 79e0 | 65 65 28 69 74 65 6d 73 29 3b 00 00 00 10 20 20 64 72 77 5f 66 72 65 65 28 64 72 77 29 3b 00 00 | ee(items);......drw_free(drw);.. |
| 7a00 | 00 14 20 20 58 53 79 6e 63 28 64 70 79 2c 20 46 61 6c 73 65 29 3b 00 00 00 15 20 20 58 43 6c 6f | ....XSync(dpy,.False);......XClo |
| 7a20 | 73 65 44 69 73 70 6c 61 79 28 64 70 79 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 35 73 74 61 74 | seDisplay(dpy);....}.......5stat |
| 7a40 | 69 63 20 63 68 61 72 20 2a 63 69 73 74 72 73 74 72 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 68 2c | ic.char.*cistrstr(const.char.*h, |
| 7a60 | 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6e 29 20 7b 00 00 00 0b 20 20 73 69 7a 65 5f 74 20 69 3b | .const.char.*n).{......size_t.i; |
| 7a80 | 00 00 00 00 00 00 00 0c 20 20 69 66 20 28 21 6e 5b 30 5d 29 00 00 00 15 20 20 20 20 72 65 74 75 | ..........if.(!n[0])........retu |
| 7aa0 | 72 6e 20 28 63 68 61 72 20 2a 29 68 3b 00 00 00 00 00 00 00 13 20 20 66 6f 72 20 28 3b 20 2a 68 | rn.(char.*)h;..........for.(;.*h |
| 7ac0 | 3b 20 2b 2b 68 29 20 7b 00 00 00 0f 20 20 20 20 66 6f 72 20 28 69 20 3d 20 30 3b 00 00 00 4e 20 | ;.++h).{........for.(i.=.0;...N. |
| 7ae0 | 20 20 20 20 20 20 20 20 6e 5b 69 5d 20 26 26 20 74 6f 6c 6f 77 65 72 28 28 75 6e 73 69 67 6e 65 | ........n[i].&&.tolower((unsigne |
| 7b00 | 64 20 63 68 61 72 29 6e 5b 69 5d 29 20 3d 3d 20 74 6f 6c 6f 77 65 72 28 28 75 6e 73 69 67 6e 65 | d.char)n[i]).==.tolower((unsigne |
| 7b20 | 64 20 63 68 61 72 29 68 5b 69 5d 29 3b 00 00 00 0d 20 20 20 20 20 20 20 20 20 2b 2b 69 29 00 00 | d.char)h[i]);.............++i).. |
| 7b40 | 00 07 20 20 20 20 20 20 3b 00 00 00 15 20 20 20 20 69 66 20 28 6e 5b 69 5d 20 3d 3d 20 27 5c 30 | ........;........if.(n[i].==.'\0 |
| 7b60 | 27 29 00 00 00 17 20 20 20 20 20 20 72 65 74 75 72 6e 20 28 63 68 61 72 20 2a 29 68 3b 00 00 00 | ')..........return.(char.*)h;... |
| 7b80 | 03 20 20 7d 00 00 00 0e 20 20 72 65 74 75 72 6e 20 4e 55 4c 4c 3b 00 00 00 01 7d 00 00 00 00 00 | ...}......return.NULL;....}..... |
| 7ba0 | 00 00 3d 73 74 61 74 69 63 20 69 6e 74 20 64 72 61 77 69 74 65 6d 28 73 74 72 75 63 74 20 69 74 | ..=static.int.drawitem(struct.it |
| 7bc0 | 65 6d 20 2a 69 74 65 6d 2c 20 69 6e 74 20 78 2c 20 69 6e 74 20 79 2c 20 69 6e 74 20 77 29 20 7b | em.*item,.int.x,.int.y,.int.w).{ |
| 7be0 | 00 00 00 12 20 20 69 66 20 28 69 74 65 6d 20 3d 3d 20 73 65 6c 29 00 00 00 2a 20 20 20 20 64 72 | ......if.(item.==.sel)...*....dr |
| 7c00 | 77 5f 73 65 74 73 63 68 65 6d 65 28 64 72 77 2c 20 73 63 68 65 6d 65 5b 53 63 68 65 6d 65 53 65 | w_setscheme(drw,.scheme[SchemeSe |
| 7c20 | 6c 5d 29 3b 00 00 00 15 20 20 65 6c 73 65 20 69 66 20 28 69 74 65 6d 2d 3e 6f 75 74 29 00 00 00 | l]);......else.if.(item->out)... |
| 7c40 | 2a 20 20 20 20 64 72 77 5f 73 65 74 73 63 68 65 6d 65 28 64 72 77 2c 20 73 63 68 65 6d 65 5b 53 | *....drw_setscheme(drw,.scheme[S |
| 7c60 | 63 68 65 6d 65 4f 75 74 5d 29 3b 00 00 00 06 20 20 65 6c 73 65 00 00 00 2b 20 20 20 20 64 72 77 | chemeOut]);......else...+....drw |
| 7c80 | 5f 73 65 74 73 63 68 65 6d 65 28 64 72 77 2c 20 73 63 68 65 6d 65 5b 53 63 68 65 6d 65 4e 6f 72 | _setscheme(drw,.scheme[SchemeNor |
| 7ca0 | 6d 5d 29 3b 00 00 00 00 00 00 00 3e 20 20 72 65 74 75 72 6e 20 64 72 77 5f 74 65 78 74 28 64 72 | m]);.......>..return.drw_text(dr |
| 7cc0 | 77 2c 20 78 2c 20 79 2c 20 77 2c 20 62 68 2c 20 6c 72 70 61 64 20 2f 20 32 2c 20 69 74 65 6d 2d | w,.x,.y,.w,.bh,.lrpad./.2,.item- |
| 7ce0 | 3e 74 65 78 74 2c 20 30 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 1c 73 74 61 74 69 63 20 76 6f | >text,.0);....}........static.vo |
| 7d00 | 69 64 20 64 72 61 77 6d 65 6e 75 28 76 6f 69 64 29 20 7b 00 00 00 16 20 20 75 6e 73 69 67 6e 65 | id.drawmenu(void).{......unsigne |
| 7d20 | 64 20 69 6e 74 20 63 75 72 70 6f 73 3b 00 00 00 14 20 20 73 74 72 75 63 74 20 69 74 65 6d 20 2a | d.int.curpos;......struct.item.* |
| 7d40 | 69 74 65 6d 3b 00 00 00 16 20 20 69 6e 74 20 78 20 3d 20 30 2c 20 79 20 3d 20 30 2c 20 77 3b 00 | item;......int.x.=.0,.y.=.0,.w;. |
| 7d60 | 00 00 00 00 00 00 29 20 20 64 72 77 5f 73 65 74 73 63 68 65 6d 65 28 64 72 77 2c 20 73 63 68 65 | ......)..drw_setscheme(drw,.sche |
| 7d80 | 6d 65 5b 53 63 68 65 6d 65 4e 6f 72 6d 5d 29 3b 00 00 00 24 20 20 64 72 77 5f 72 65 63 74 28 64 | me[SchemeNorm]);...$..drw_rect(d |
| 7da0 | 72 77 2c 20 30 2c 20 30 2c 20 6d 77 2c 20 6d 68 2c 20 31 2c 20 31 29 3b 00 00 00 00 00 00 00 1a | rw,.0,.0,.mw,.mh,.1,.1);........ |
| 7dc0 | 20 20 69 66 20 28 70 72 6f 6d 70 74 20 26 26 20 2a 70 72 6f 6d 70 74 29 20 7b 00 00 00 2a 20 20 | ..if.(prompt.&&.*prompt).{...*.. |
| 7de0 | 20 20 64 72 77 5f 73 65 74 73 63 68 65 6d 65 28 64 72 77 2c 20 73 63 68 65 6d 65 5b 53 63 68 65 | ..drw_setscheme(drw,.scheme[Sche |
| 7e00 | 6d 65 53 65 6c 5d 29 3b 00 00 00 3f 20 20 20 20 78 20 3d 20 64 72 77 5f 74 65 78 74 28 64 72 77 | meSel]);...?....x.=.drw_text(drw |
| 7e20 | 2c 20 78 2c 20 30 2c 20 70 72 6f 6d 70 74 77 2c 20 62 68 2c 20 6c 72 70 61 64 20 2f 20 32 2c 20 | ,.x,.0,.promptw,.bh,.lrpad./.2,. |
| 7e40 | 70 72 6f 6d 70 74 2c 20 30 29 3b 00 00 00 03 20 20 7d 00 00 00 18 20 20 2f 2a 20 64 72 61 77 20 | prompt,.0);......}....../*.draw. |
| 7e60 | 69 6e 70 75 74 20 66 69 65 6c 64 20 2a 2f 00 00 00 30 20 20 77 20 3d 20 28 6c 69 6e 65 73 20 3e | input.field.*/...0..w.=.(lines.> |
| 7e80 | 20 30 20 7c 7c 20 21 6d 61 74 63 68 65 73 29 20 3f 20 6d 77 20 2d 20 78 20 3a 20 69 6e 70 75 74 | .0.||.!matches).?.mw.-.x.:.input |
| 7ea0 | 77 3b 00 00 00 29 20 20 64 72 77 5f 73 65 74 73 63 68 65 6d 65 28 64 72 77 2c 20 73 63 68 65 6d | w;...)..drw_setscheme(drw,.schem |
| 7ec0 | 65 5b 53 63 68 65 6d 65 4e 6f 72 6d 5d 29 3b 00 00 00 31 20 20 64 72 77 5f 74 65 78 74 28 64 72 | e[SchemeNorm]);...1..drw_text(dr |
| 7ee0 | 77 2c 20 78 2c 20 30 2c 20 77 2c 20 62 68 2c 20 6c 72 70 61 64 20 2f 20 32 2c 20 74 65 78 74 2c | w,.x,.0,.w,.bh,.lrpad./.2,.text, |
| 7f00 | 20 30 29 3b 00 00 00 00 00 00 00 2e 20 20 63 75 72 70 6f 73 20 3d 20 54 45 58 54 57 28 74 65 78 | .0);..........curpos.=.TEXTW(tex |
| 7f20 | 74 29 20 2d 20 54 45 58 54 57 28 26 74 65 78 74 5b 63 75 72 73 6f 72 5d 29 3b 00 00 00 26 20 20 | t).-.TEXTW(&text[cursor]);...&.. |
| 7f40 | 69 66 20 28 28 63 75 72 70 6f 73 20 2b 3d 20 6c 72 70 61 64 20 2f 20 32 20 2d 20 31 29 20 3c 20 | if.((curpos.+=.lrpad./.2.-.1).<. |
| 7f60 | 77 29 20 7b 00 00 00 2b 20 20 20 20 64 72 77 5f 73 65 74 73 63 68 65 6d 65 28 64 72 77 2c 20 73 | w).{...+....drw_setscheme(drw,.s |
| 7f80 | 63 68 65 6d 65 5b 53 63 68 65 6d 65 4e 6f 72 6d 5d 29 3b 00 00 00 32 20 20 20 20 64 72 77 5f 72 | cheme[SchemeNorm]);...2....drw_r |
| 7fa0 | 65 63 74 28 64 72 77 2c 20 78 20 2b 20 63 75 72 70 6f 73 2c 20 32 2c 20 32 2c 20 62 68 20 2d 20 | ect(drw,.x.+.curpos,.2,.2,.bh.-. |
| 7fc0 | 34 2c 20 31 2c 20 30 29 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 12 20 20 69 66 20 28 6c 69 | 4,.1,.0);......}..........if.(li |
| 7fe0 | 6e 65 73 20 3e 20 30 29 20 7b 00 00 00 1c 20 20 20 20 2f 2a 20 64 72 61 77 20 76 65 72 74 69 63 | nes.>.0).{......../*.draw.vertic |
| 8000 | 61 6c 20 6c 69 73 74 20 2a 2f 00 00 00 37 20 20 20 20 66 6f 72 20 28 69 74 65 6d 20 3d 20 63 75 | al.list.*/...7....for.(item.=.cu |
| 8020 | 72 72 3b 20 69 74 65 6d 20 21 3d 20 6e 65 78 74 3b 20 69 74 65 6d 20 3d 20 69 74 65 6d 2d 3e 72 | rr;.item.!=.next;.item.=.item->r |
| 8040 | 69 67 68 74 29 00 00 00 29 20 20 20 20 20 20 64 72 61 77 69 74 65 6d 28 69 74 65 6d 2c 20 78 2c | ight)...)......drawitem(item,.x, |
| 8060 | 20 79 20 2b 3d 20 62 68 2c 20 6d 77 20 2d 20 78 29 3b 00 00 00 17 20 20 7d 20 65 6c 73 65 20 69 | .y.+=.bh,.mw.-.x);......}.else.i |
| 8080 | 66 20 28 6d 61 74 63 68 65 73 29 20 7b 00 00 00 1e 20 20 20 20 2f 2a 20 64 72 61 77 20 68 6f 72 | f.(matches).{......../*.draw.hor |
| 80a0 | 69 7a 6f 6e 74 61 6c 20 6c 69 73 74 20 2a 2f 00 00 00 10 20 20 20 20 78 20 2b 3d 20 69 6e 70 75 | izontal.list.*/........x.+=.inpu |
| 80c0 | 74 77 3b 00 00 00 13 20 20 20 20 77 20 3d 20 54 45 58 54 57 28 22 3c 22 29 3b 00 00 00 15 20 20 | tw;........w.=.TEXTW("<");...... |
| 80e0 | 20 20 69 66 20 28 63 75 72 72 2d 3e 6c 65 66 74 29 20 7b 00 00 00 2d 20 20 20 20 20 20 64 72 77 | ..if.(curr->left).{...-......drw |
| 8100 | 5f 73 65 74 73 63 68 65 6d 65 28 64 72 77 2c 20 73 63 68 65 6d 65 5b 53 63 68 65 6d 65 4e 6f 72 | _setscheme(drw,.scheme[SchemeNor |
| 8120 | 6d 5d 29 3b 00 00 00 34 20 20 20 20 20 20 64 72 77 5f 74 65 78 74 28 64 72 77 2c 20 78 2c 20 30 | m]);...4......drw_text(drw,.x,.0 |
| 8140 | 2c 20 77 2c 20 62 68 2c 20 6c 72 70 61 64 20 2f 20 32 2c 20 22 3c 22 2c 20 30 29 3b 00 00 00 05 | ,.w,.bh,.lrpad./.2,."<",.0);.... |
| 8160 | 20 20 20 20 7d 00 00 00 0b 20 20 20 20 78 20 2b 3d 20 77 3b 00 00 00 37 20 20 20 20 66 6f 72 20 | ....}........x.+=.w;...7....for. |
| 8180 | 28 69 74 65 6d 20 3d 20 63 75 72 72 3b 20 69 74 65 6d 20 21 3d 20 6e 65 78 74 3b 20 69 74 65 6d | (item.=.curr;.item.!=.next;.item |
| 81a0 | 20 3d 20 69 74 65 6d 2d 3e 72 69 67 68 74 29 00 00 00 4d 20 20 20 20 20 20 78 20 3d 20 64 72 61 | .=.item->right)...M......x.=.dra |
| 81c0 | 77 69 74 65 6d 28 69 74 65 6d 2c 20 78 2c 20 30 2c 20 74 65 78 74 77 5f 63 6c 61 6d 70 28 69 74 | witem(item,.x,.0,.textw_clamp(it |
| 81e0 | 65 6d 2d 3e 74 65 78 74 2c 20 6d 77 20 2d 20 78 20 2d 20 54 45 58 54 57 28 22 3e 22 29 29 29 3b | em->text,.mw.-.x.-.TEXTW(">"))); |
| 8200 | 00 00 00 0f 20 20 20 20 69 66 20 28 6e 65 78 74 29 20 7b 00 00 00 15 20 20 20 20 20 20 77 20 3d | ........if.(next).{..........w.= |
| 8220 | 20 54 45 58 54 57 28 22 3e 22 29 3b 00 00 00 2d 20 20 20 20 20 20 64 72 77 5f 73 65 74 73 63 68 | .TEXTW(">");...-......drw_setsch |
| 8240 | 65 6d 65 28 64 72 77 2c 20 73 63 68 65 6d 65 5b 53 63 68 65 6d 65 4e 6f 72 6d 5d 29 3b 00 00 00 | eme(drw,.scheme[SchemeNorm]);... |
| 8260 | 39 20 20 20 20 20 20 64 72 77 5f 74 65 78 74 28 64 72 77 2c 20 6d 77 20 2d 20 77 2c 20 30 2c 20 | 9......drw_text(drw,.mw.-.w,.0,. |
| 8280 | 77 2c 20 62 68 2c 20 6c 72 70 61 64 20 2f 20 32 2c 20 22 3e 22 2c 20 30 29 3b 00 00 00 05 20 20 | w,.bh,.lrpad./.2,.">",.0);...... |
| 82a0 | 20 20 7d 00 00 00 03 20 20 7d 00 00 00 22 20 20 64 72 77 5f 6d 61 70 28 64 72 77 2c 20 77 69 6e | ..}......}..."..drw_map(drw,.win |
| 82c0 | 2c 20 30 2c 20 30 2c 20 6d 77 2c 20 6d 68 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 1d 73 74 61 | ,.0,.0,.mw,.mh);....}........sta |
| 82e0 | 74 69 63 20 76 6f 69 64 20 67 72 61 62 66 6f 63 75 73 28 76 6f 69 64 29 20 7b 00 00 00 3a 20 20 | tic.void.grabfocus(void).{...:.. |
| 8300 | 73 74 72 75 63 74 20 74 69 6d 65 73 70 65 63 20 74 73 20 3d 20 7b 2e 74 76 5f 73 65 63 20 3d 20 | struct.timespec.ts.=.{.tv_sec.=. |
| 8320 | 30 2c 20 2e 74 76 5f 6e 73 65 63 20 3d 20 31 30 30 30 30 30 30 30 7d 3b 00 00 00 12 20 20 57 69 | 0,..tv_nsec.=.10000000};......Wi |
| 8340 | 6e 64 6f 77 20 66 6f 63 75 73 77 69 6e 3b 00 00 00 13 20 20 69 6e 74 20 69 2c 20 72 65 76 65 72 | ndow.focuswin;......int.i,.rever |
| 8360 | 74 77 69 6e 3b 00 00 00 00 00 00 00 1d 20 20 66 6f 72 20 28 69 20 3d 20 30 3b 20 69 20 3c 20 31 | twin;..........for.(i.=.0;.i.<.1 |
| 8380 | 30 30 3b 20 2b 2b 69 29 20 7b 00 00 00 2f 20 20 20 20 58 47 65 74 49 6e 70 75 74 46 6f 63 75 73 | 00;.++i).{.../....XGetInputFocus |
| 83a0 | 28 64 70 79 2c 20 26 66 6f 63 75 73 77 69 6e 2c 20 26 72 65 76 65 72 74 77 69 6e 29 3b 00 00 00 | (dpy,.&focuswin,.&revertwin);... |
| 83c0 | 18 20 20 20 20 69 66 20 28 66 6f 63 75 73 77 69 6e 20 3d 3d 20 77 69 6e 29 00 00 00 0d 20 20 20 | .....if.(focuswin.==.win)....... |
| 83e0 | 20 20 20 72 65 74 75 72 6e 3b 00 00 00 3a 20 20 20 20 58 53 65 74 49 6e 70 75 74 46 6f 63 75 73 | ...return;...:....XSetInputFocus |
| 8400 | 28 64 70 79 2c 20 77 69 6e 2c 20 52 65 76 65 72 74 54 6f 50 61 72 65 6e 74 2c 20 43 75 72 72 65 | (dpy,.win,.RevertToParent,.Curre |
| 8420 | 6e 74 54 69 6d 65 29 3b 00 00 00 19 20 20 20 20 6e 61 6e 6f 73 6c 65 65 70 28 26 74 73 2c 20 4e | ntTime);........nanosleep(&ts,.N |
| 8440 | 55 4c 4c 29 3b 00 00 00 03 20 20 7d 00 00 00 1b 20 20 64 69 65 28 22 63 61 6e 6e 6f 74 20 67 72 | ULL);......}......die("cannot.gr |
| 8460 | 61 62 20 66 6f 63 75 73 22 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 20 73 74 61 74 69 63 20 76 | ab.focus");....}........static.v |
| 8480 | 6f 69 64 20 67 72 61 62 6b 65 79 62 6f 61 72 64 28 76 6f 69 64 29 20 7b 00 00 00 39 20 20 73 74 | oid.grabkeyboard(void).{...9..st |
| 84a0 | 72 75 63 74 20 74 69 6d 65 73 70 65 63 20 74 73 20 3d 20 7b 2e 74 76 5f 73 65 63 20 3d 20 30 2c | ruct.timespec.ts.=.{.tv_sec.=.0, |
| 84c0 | 20 2e 74 76 5f 6e 73 65 63 20 3d 20 31 30 30 30 30 30 30 7d 3b 00 00 00 08 20 20 69 6e 74 20 69 | ..tv_nsec.=.1000000};......int.i |
| 84e0 | 3b 00 00 00 00 00 00 00 0c 20 20 69 66 20 28 65 6d 62 65 64 29 00 00 00 0b 20 20 20 20 72 65 74 | ;..........if.(embed)........ret |
| 8500 | 75 72 6e 3b 00 00 00 4f 20 20 2f 2a 20 74 72 79 20 74 6f 20 67 72 61 62 20 6b 65 79 62 6f 61 72 | urn;...O../*.try.to.grab.keyboar |
| 8520 | 64 2c 20 77 65 20 6d 61 79 20 68 61 76 65 20 74 6f 20 77 61 69 74 20 66 6f 72 20 61 6e 6f 74 68 | d,.we.may.have.to.wait.for.anoth |
| 8540 | 65 72 20 70 72 6f 63 65 73 73 20 74 6f 20 75 6e 67 72 61 62 20 2a 2f 00 00 00 1e 20 20 66 6f 72 | er.process.to.ungrab.*/......for |
| 8560 | 20 28 69 20 3d 20 30 3b 20 69 20 3c 20 31 30 30 30 3b 20 69 2b 2b 29 20 7b 00 00 00 47 20 20 20 | .(i.=.0;.i.<.1000;.i++).{...G... |
| 8580 | 20 69 66 20 28 58 47 72 61 62 4b 65 79 62 6f 61 72 64 28 64 70 79 2c 20 44 65 66 61 75 6c 74 52 | .if.(XGrabKeyboard(dpy,.DefaultR |
| 85a0 | 6f 6f 74 57 69 6e 64 6f 77 28 64 70 79 29 2c 20 54 72 75 65 2c 20 47 72 61 62 4d 6f 64 65 41 73 | ootWindow(dpy),.True,.GrabModeAs |
| 85c0 | 79 6e 63 2c 00 00 00 41 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 47 72 | ync,...A......................Gr |
| 85e0 | 61 62 4d 6f 64 65 41 73 79 6e 63 2c 20 43 75 72 72 65 6e 74 54 69 6d 65 29 20 3d 3d 20 47 72 61 | abModeAsync,.CurrentTime).==.Gra |
| 8600 | 62 53 75 63 63 65 73 73 29 00 00 00 0d 20 20 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 19 20 20 | bSuccess)..........return;...... |
| 8620 | 20 20 6e 61 6e 6f 73 6c 65 65 70 28 26 74 73 2c 20 4e 55 4c 4c 29 3b 00 00 00 03 20 20 7d 00 00 | ..nanosleep(&ts,.NULL);......}.. |
| 8640 | 00 1e 20 20 64 69 65 28 22 63 61 6e 6e 6f 74 20 67 72 61 62 20 6b 65 79 62 6f 61 72 64 22 29 3b | ....die("cannot.grab.keyboard"); |
| 8660 | 00 00 00 01 7d 00 00 00 00 00 00 00 19 73 74 61 74 69 63 20 76 6f 69 64 20 6d 61 74 63 68 28 76 | ....}........static.void.match(v |
| 8680 | 6f 69 64 29 20 7b 00 00 00 1c 20 20 73 74 61 74 69 63 20 63 68 61 72 20 2a 2a 74 6f 6b 76 20 3d | oid).{......static.char.**tokv.= |
| 86a0 | 20 4e 55 4c 4c 3b 00 00 00 16 20 20 73 74 61 74 69 63 20 69 6e 74 20 74 6f 6b 6e 20 3d 20 30 3b | .NULL;......static.int.tokn.=.0; |
| 86c0 | 00 00 00 00 00 00 00 1c 20 20 63 68 61 72 20 62 75 66 5b 73 69 7a 65 6f 66 20 74 65 78 74 5d 2c | ..........char.buf[sizeof.text], |
| 86e0 | 20 2a 73 3b 00 00 00 12 20 20 69 6e 74 20 69 2c 20 74 6f 6b 63 20 3d 20 30 3b 00 00 00 17 20 20 | .*s;......int.i,.tokc.=.0;...... |
| 8700 | 73 69 7a 65 5f 74 20 6c 65 6e 2c 20 74 65 78 74 73 69 7a 65 3b 00 00 00 40 20 20 73 74 72 75 63 | size_t.len,.textsize;...@..struc |
| 8720 | 74 20 69 74 65 6d 20 2a 69 74 65 6d 2c 20 2a 6c 70 72 65 66 69 78 2c 20 2a 6c 73 75 62 73 74 72 | t.item.*item,.*lprefix,.*lsubstr |
| 8740 | 2c 20 2a 70 72 65 66 69 78 65 6e 64 2c 20 2a 73 75 62 73 74 72 65 6e 64 3b 00 00 00 00 00 00 00 | ,.*prefixend,.*substrend;....... |
| 8760 | 14 20 20 73 74 72 63 70 79 28 62 75 66 2c 20 74 65 78 74 29 3b 00 00 00 42 20 20 2f 2a 20 73 65 | ...strcpy(buf,.text);...B../*.se |
| 8780 | 70 61 72 61 74 65 20 69 6e 70 75 74 20 74 65 78 74 20 69 6e 74 6f 20 74 6f 6b 65 6e 73 20 74 6f | parate.input.text.into.tokens.to |
| 87a0 | 20 62 65 20 6d 61 74 63 68 65 64 20 69 6e 64 69 76 69 64 75 61 6c 6c 79 20 2a 2f 00 00 00 4a 20 | .be.matched.individually.*/...J. |
| 87c0 | 20 66 6f 72 20 28 73 20 3d 20 73 74 72 74 6f 6b 28 62 75 66 2c 20 22 20 22 29 3b 20 73 3b 20 74 | .for.(s.=.strtok(buf,.".");.s;.t |
| 87e0 | 6f 6b 76 5b 74 6f 6b 63 20 2d 20 31 5d 20 3d 20 73 2c 20 73 20 3d 20 73 74 72 74 6f 6b 28 4e 55 | okv[tokc.-.1].=.s,.s.=.strtok(NU |
| 8800 | 4c 4c 2c 20 22 20 22 29 29 00 00 00 48 20 20 20 20 69 66 20 28 2b 2b 74 6f 6b 63 20 3e 20 74 6f | LL,."."))...H....if.(++tokc.>.to |
| 8820 | 6b 6e 20 26 26 20 21 28 74 6f 6b 76 20 3d 20 72 65 61 6c 6c 6f 63 28 74 6f 6b 76 2c 20 2b 2b 74 | kn.&&.!(tokv.=.realloc(tokv,.++t |
| 8840 | 6f 6b 6e 20 2a 20 73 69 7a 65 6f 66 20 2a 74 6f 6b 76 29 29 29 00 00 00 3c 20 20 20 20 20 20 64 | okn.*.sizeof.*tokv)))...<......d |
| 8860 | 69 65 28 22 63 61 6e 6e 6f 74 20 72 65 61 6c 6c 6f 63 20 25 7a 75 20 62 79 74 65 73 3a 22 2c 20 | ie("cannot.realloc.%zu.bytes:",. |
| 8880 | 74 6f 6b 6e 20 2a 20 73 69 7a 65 6f 66 20 2a 74 6f 6b 76 29 3b 00 00 00 23 20 20 6c 65 6e 20 3d | tokn.*.sizeof.*tokv);...#..len.= |
| 88a0 | 20 74 6f 6b 63 20 3f 20 73 74 72 6c 65 6e 28 74 6f 6b 76 5b 30 5d 29 20 3a 20 30 3b 00 00 00 00 | .tokc.?.strlen(tokv[0]).:.0;.... |
| 88c0 | 00 00 00 48 20 20 6d 61 74 63 68 65 73 20 3d 20 6c 70 72 65 66 69 78 20 3d 20 6c 73 75 62 73 74 | ...H..matches.=.lprefix.=.lsubst |
| 88e0 | 72 20 3d 20 6d 61 74 63 68 65 6e 64 20 3d 20 70 72 65 66 69 78 65 6e 64 20 3d 20 73 75 62 73 74 | r.=.matchend.=.prefixend.=.subst |
| 8900 | 72 65 6e 64 20 3d 20 4e 55 4c 4c 3b 00 00 00 1e 20 20 74 65 78 74 73 69 7a 65 20 3d 20 73 74 72 | rend.=.NULL;......textsize.=.str |
| 8920 | 6c 65 6e 28 74 65 78 74 29 20 2b 20 31 3b 00 00 00 32 20 20 66 6f 72 20 28 69 74 65 6d 20 3d 20 | len(text).+.1;...2..for.(item.=. |
| 8940 | 69 74 65 6d 73 3b 20 69 74 65 6d 20 26 26 20 69 74 65 6d 2d 3e 74 65 78 74 3b 20 69 74 65 6d 2b | items;.item.&&.item->text;.item+ |
| 8960 | 2b 29 20 7b 00 00 00 1e 20 20 20 20 66 6f 72 20 28 69 20 3d 20 30 3b 20 69 20 3c 20 74 6f 6b 63 | +).{........for.(i.=.0;.i.<.tokc |
| 8980 | 3b 20 69 2b 2b 29 00 00 00 28 20 20 20 20 20 20 69 66 20 28 21 66 73 74 72 73 74 72 28 69 74 65 | ;.i++)...(......if.(!fstrstr(ite |
| 89a0 | 6d 2d 3e 74 65 78 74 2c 20 74 6f 6b 76 5b 69 5d 29 29 00 00 00 0e 20 20 20 20 20 20 20 20 62 72 | m->text,.tokv[i]))............br |
| 89c0 | 65 61 6b 3b 00 00 00 2d 20 20 20 20 69 66 20 28 69 20 21 3d 20 74 6f 6b 63 29 20 2f 2a 20 6e 6f | eak;...-....if.(i.!=.tokc)./*.no |
| 89e0 | 74 20 61 6c 6c 20 74 6f 6b 65 6e 73 20 6d 61 74 63 68 20 2a 2f 00 00 00 0f 20 20 20 20 20 20 63 | t.all.tokens.match.*/..........c |
| 8a00 | 6f 6e 74 69 6e 75 65 3b 00 00 00 40 20 20 20 20 2f 2a 20 65 78 61 63 74 20 6d 61 74 63 68 65 73 | ontinue;...@..../*.exact.matches |
| 8a20 | 20 67 6f 20 66 69 72 73 74 2c 20 74 68 65 6e 20 70 72 65 66 69 78 65 73 2c 20 74 68 65 6e 20 73 | .go.first,.then.prefixes,.then.s |
| 8a40 | 75 62 73 74 72 69 6e 67 73 20 2a 2f 00 00 00 37 20 20 20 20 69 66 20 28 21 74 6f 6b 63 20 7c 7c | ubstrings.*/...7....if.(!tokc.|| |
| 8a60 | 20 21 66 73 74 72 6e 63 6d 70 28 74 65 78 74 2c 20 69 74 65 6d 2d 3e 74 65 78 74 2c 20 74 65 78 | .!fstrncmp(text,.item->text,.tex |
| 8a80 | 74 73 69 7a 65 29 29 00 00 00 2c 20 20 20 20 20 20 61 70 70 65 6e 64 69 74 65 6d 28 69 74 65 6d | tsize))...,......appenditem(item |
| 8aa0 | 2c 20 26 6d 61 74 63 68 65 73 2c 20 26 6d 61 74 63 68 65 6e 64 29 3b 00 00 00 31 20 20 20 20 65 | ,.&matches,.&matchend);...1....e |
| 8ac0 | 6c 73 65 20 69 66 20 28 21 66 73 74 72 6e 63 6d 70 28 74 6f 6b 76 5b 30 5d 2c 20 69 74 65 6d 2d | lse.if.(!fstrncmp(tokv[0],.item- |
| 8ae0 | 3e 74 65 78 74 2c 20 6c 65 6e 29 29 00 00 00 2d 20 20 20 20 20 20 61 70 70 65 6e 64 69 74 65 6d | >text,.len))...-......appenditem |
| 8b00 | 28 69 74 65 6d 2c 20 26 6c 70 72 65 66 69 78 2c 20 26 70 72 65 66 69 78 65 6e 64 29 3b 00 00 00 | (item,.&lprefix,.&prefixend);... |
| 8b20 | 08 20 20 20 20 65 6c 73 65 00 00 00 2d 20 20 20 20 20 20 61 70 70 65 6e 64 69 74 65 6d 28 69 74 | .....else...-......appenditem(it |
| 8b40 | 65 6d 2c 20 26 6c 73 75 62 73 74 72 2c 20 26 73 75 62 73 74 72 65 6e 64 29 3b 00 00 00 03 20 20 | em,.&lsubstr,.&substrend);...... |
| 8b60 | 7d 00 00 00 10 20 20 69 66 20 28 6c 70 72 65 66 69 78 29 20 7b 00 00 00 12 20 20 20 20 69 66 20 | }......if.(lprefix).{........if. |
| 8b80 | 28 6d 61 74 63 68 65 73 29 20 7b 00 00 00 20 20 20 20 20 20 20 6d 61 74 63 68 65 6e 64 2d 3e 72 | (matches).{..........matchend->r |
| 8ba0 | 69 67 68 74 20 3d 20 6c 70 72 65 66 69 78 3b 00 00 00 1f 20 20 20 20 20 20 6c 70 72 65 66 69 78 | ight.=.lprefix;..........lprefix |
| 8bc0 | 2d 3e 6c 65 66 74 20 3d 20 6d 61 74 63 68 65 6e 64 3b 00 00 00 0a 20 20 20 20 7d 20 65 6c 73 65 | ->left.=.matchend;........}.else |
| 8be0 | 00 00 00 18 20 20 20 20 20 20 6d 61 74 63 68 65 73 20 3d 20 6c 70 72 65 66 69 78 3b 00 00 00 19 | ..........matches.=.lprefix;.... |
| 8c00 | 20 20 20 20 6d 61 74 63 68 65 6e 64 20 3d 20 70 72 65 66 69 78 65 6e 64 3b 00 00 00 03 20 20 7d | ....matchend.=.prefixend;......} |
| 8c20 | 00 00 00 10 20 20 69 66 20 28 6c 73 75 62 73 74 72 29 20 7b 00 00 00 12 20 20 20 20 69 66 20 28 | ......if.(lsubstr).{........if.( |
| 8c40 | 6d 61 74 63 68 65 73 29 20 7b 00 00 00 20 20 20 20 20 20 20 6d 61 74 63 68 65 6e 64 2d 3e 72 69 | matches).{..........matchend->ri |
| 8c60 | 67 68 74 20 3d 20 6c 73 75 62 73 74 72 3b 00 00 00 1f 20 20 20 20 20 20 6c 73 75 62 73 74 72 2d | ght.=.lsubstr;..........lsubstr- |
| 8c80 | 3e 6c 65 66 74 20 3d 20 6d 61 74 63 68 65 6e 64 3b 00 00 00 0a 20 20 20 20 7d 20 65 6c 73 65 00 | >left.=.matchend;........}.else. |
| 8ca0 | 00 00 18 20 20 20 20 20 20 6d 61 74 63 68 65 73 20 3d 20 6c 73 75 62 73 74 72 3b 00 00 00 19 20 | .........matches.=.lsubstr;..... |
| 8cc0 | 20 20 20 6d 61 74 63 68 65 6e 64 20 3d 20 73 75 62 73 74 72 65 6e 64 3b 00 00 00 03 20 20 7d 00 | ...matchend.=.substrend;......}. |
| 8ce0 | 00 00 17 20 20 63 75 72 72 20 3d 20 73 65 6c 20 3d 20 6d 61 74 63 68 65 73 3b 00 00 00 10 20 20 | .....curr.=.sel.=.matches;...... |
| 8d00 | 63 61 6c 63 6f 66 66 73 65 74 73 28 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 30 73 74 61 74 69 | calcoffsets();....}.......0stati |
| 8d20 | 63 20 76 6f 69 64 20 69 6e 73 65 72 74 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 74 72 2c 20 73 | c.void.insert(const.char.*str,.s |
| 8d40 | 73 69 7a 65 5f 74 20 6e 29 20 7b 00 00 00 29 20 20 69 66 20 28 73 74 72 6c 65 6e 28 74 65 78 74 | size_t.n).{...)..if.(strlen(text |
| 8d60 | 29 20 2b 20 6e 20 3e 20 73 69 7a 65 6f 66 20 74 65 78 74 20 2d 20 31 29 00 00 00 0b 20 20 20 20 | ).+.n.>.sizeof.text.-.1)........ |
| 8d80 | 72 65 74 75 72 6e 3b 00 00 00 4d 20 20 2f 2a 20 6d 6f 76 65 20 65 78 69 73 74 69 6e 67 20 74 65 | return;...M../*.move.existing.te |
| 8da0 | 78 74 20 6f 75 74 20 6f 66 20 74 68 65 20 77 61 79 2c 20 69 6e 73 65 72 74 20 6e 65 77 20 74 65 | xt.out.of.the.way,.insert.new.te |
| 8dc0 | 78 74 2c 20 61 6e 64 20 75 70 64 61 74 65 20 63 75 72 73 6f 72 20 2a 2f 00 00 00 4e 20 20 6d 65 | xt,.and.update.cursor.*/...N..me |
| 8de0 | 6d 6d 6f 76 65 28 26 74 65 78 74 5b 63 75 72 73 6f 72 20 2b 20 6e 5d 2c 20 26 74 65 78 74 5b 63 | mmove(&text[cursor.+.n],.&text[c |
| 8e00 | 75 72 73 6f 72 5d 2c 20 73 69 7a 65 6f 66 20 74 65 78 74 20 2d 20 63 75 72 73 6f 72 20 2d 20 4d | ursor],.sizeof.text.-.cursor.-.M |
| 8e20 | 41 58 28 6e 2c 20 30 29 29 3b 00 00 00 0c 20 20 69 66 20 28 6e 20 3e 20 30 29 00 00 00 22 20 20 | AX(n,.0));......if.(n.>.0)...".. |
| 8e40 | 20 20 6d 65 6d 63 70 79 28 26 74 65 78 74 5b 63 75 72 73 6f 72 5d 2c 20 73 74 72 2c 20 6e 29 3b | ..memcpy(&text[cursor],.str,.n); |
| 8e60 | 00 00 00 0e 20 20 63 75 72 73 6f 72 20 2b 3d 20 6e 3b 00 00 00 0a 20 20 6d 61 74 63 68 28 29 3b | ......cursor.+=.n;......match(); |
| 8e80 | 00 00 00 01 7d 00 00 00 00 00 00 00 21 73 74 61 74 69 63 20 73 69 7a 65 5f 74 20 6e 65 78 74 72 | ....}.......!static.size_t.nextr |
| 8ea0 | 75 6e 65 28 69 6e 74 20 69 6e 63 29 20 7b 00 00 00 0c 20 20 73 73 69 7a 65 5f 74 20 6e 3b 00 00 | une(int.inc).{......ssize_t.n;.. |
| 8ec0 | 00 00 00 00 00 4b 20 20 2f 2a 20 72 65 74 75 72 6e 20 6c 6f 63 61 74 69 6f 6e 20 6f 66 20 6e 65 | .....K../*.return.location.of.ne |
| 8ee0 | 78 74 20 75 74 66 38 20 72 75 6e 65 20 69 6e 20 74 68 65 20 67 69 76 65 6e 20 64 69 72 65 63 74 | xt.utf8.rune.in.the.given.direct |
| 8f00 | 69 6f 6e 20 28 2b 31 20 6f 72 20 2d 31 29 20 2a 2f 00 00 00 4c 20 20 66 6f 72 20 28 6e 20 3d 20 | ion.(+1.or.-1).*/...L..for.(n.=. |
| 8f20 | 63 75 72 73 6f 72 20 2b 20 69 6e 63 3b 20 6e 20 2b 20 69 6e 63 20 3e 3d 20 30 20 26 26 20 28 74 | cursor.+.inc;.n.+.inc.>=.0.&&.(t |
| 8f40 | 65 78 74 5b 6e 5d 20 26 20 30 78 63 30 29 20 3d 3d 20 30 78 38 30 3b 20 6e 20 2b 3d 20 69 6e 63 | ext[n].&.0xc0).==.0x80;.n.+=.inc |
| 8f60 | 29 00 00 00 05 20 20 20 20 3b 00 00 00 0b 20 20 72 65 74 75 72 6e 20 6e 3b 00 00 00 01 7d 00 00 | )........;......return.n;....}.. |
| 8f80 | 00 00 00 00 00 23 73 74 61 74 69 63 20 76 6f 69 64 20 6d 6f 76 65 77 6f 72 64 65 64 67 65 28 69 | .....#static.void.movewordedge(i |
| 8fa0 | 6e 74 20 64 69 72 29 20 7b 00 00 00 3a 20 20 69 66 20 28 64 69 72 20 3c 20 30 29 20 7b 20 2f 2a | nt.dir).{...:..if.(dir.<.0).{./* |
| 8fc0 | 20 6d 6f 76 65 20 63 75 72 73 6f 72 20 74 6f 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 74 68 65 | .move.cursor.to.the.start.of.the |
| 8fe0 | 20 77 6f 72 64 2a 2f 00 00 00 44 20 20 20 20 77 68 69 6c 65 20 28 63 75 72 73 6f 72 20 3e 20 30 | .word*/...D....while.(cursor.>.0 |
| 9000 | 20 26 26 20 73 74 72 63 68 72 28 77 6f 72 64 64 65 6c 69 6d 69 74 65 72 73 2c 20 74 65 78 74 5b | .&&.strchr(worddelimiters,.text[ |
| 9020 | 6e 65 78 74 72 75 6e 65 28 2d 31 29 5d 29 29 00 00 00 1c 20 20 20 20 20 20 63 75 72 73 6f 72 20 | nextrune(-1)]))..........cursor. |
| 9040 | 3d 20 6e 65 78 74 72 75 6e 65 28 2d 31 29 3b 00 00 00 45 20 20 20 20 77 68 69 6c 65 20 28 63 75 | =.nextrune(-1);...E....while.(cu |
| 9060 | 72 73 6f 72 20 3e 20 30 20 26 26 20 21 73 74 72 63 68 72 28 77 6f 72 64 64 65 6c 69 6d 69 74 65 | rsor.>.0.&&.!strchr(worddelimite |
| 9080 | 72 73 2c 20 74 65 78 74 5b 6e 65 78 74 72 75 6e 65 28 2d 31 29 5d 29 29 00 00 00 1c 20 20 20 20 | rs,.text[nextrune(-1)]))........ |
| 90a0 | 20 20 63 75 72 73 6f 72 20 3d 20 6e 65 78 74 72 75 6e 65 28 2d 31 29 3b 00 00 00 33 20 20 7d 20 | ..cursor.=.nextrune(-1);...3..}. |
| 90c0 | 65 6c 73 65 20 7b 20 2f 2a 20 6d 6f 76 65 20 63 75 72 73 6f 72 20 74 6f 20 74 68 65 20 65 6e 64 | else.{./*.move.cursor.to.the.end |
| 90e0 | 20 6f 66 20 74 68 65 20 77 6f 72 64 20 2a 2f 00 00 00 40 20 20 20 20 77 68 69 6c 65 20 28 74 65 | .of.the.word.*/...@....while.(te |
| 9100 | 78 74 5b 63 75 72 73 6f 72 5d 20 26 26 20 73 74 72 63 68 72 28 77 6f 72 64 64 65 6c 69 6d 69 74 | xt[cursor].&&.strchr(worddelimit |
| 9120 | 65 72 73 2c 20 74 65 78 74 5b 63 75 72 73 6f 72 5d 29 29 00 00 00 1c 20 20 20 20 20 20 63 75 72 | ers,.text[cursor]))..........cur |
| 9140 | 73 6f 72 20 3d 20 6e 65 78 74 72 75 6e 65 28 2b 31 29 3b 00 00 00 41 20 20 20 20 77 68 69 6c 65 | sor.=.nextrune(+1);...A....while |
| 9160 | 20 28 74 65 78 74 5b 63 75 72 73 6f 72 5d 20 26 26 20 21 73 74 72 63 68 72 28 77 6f 72 64 64 65 | .(text[cursor].&&.!strchr(wordde |
| 9180 | 6c 69 6d 69 74 65 72 73 2c 20 74 65 78 74 5b 63 75 72 73 6f 72 5d 29 29 00 00 00 1c 20 20 20 20 | limiters,.text[cursor]))........ |
| 91a0 | 20 20 63 75 72 73 6f 72 20 3d 20 6e 65 78 74 72 75 6e 65 28 2b 31 29 3b 00 00 00 03 20 20 7d 00 | ..cursor.=.nextrune(+1);......}. |
| 91c0 | 00 00 01 7d 00 00 00 00 00 00 00 25 73 74 61 74 69 63 20 76 6f 69 64 20 6b 65 79 70 72 65 73 73 | ...}.......%static.void.keypress |
| 91e0 | 28 58 4b 65 79 45 76 65 6e 74 20 2a 65 76 29 20 7b 00 00 00 0f 20 20 63 68 61 72 20 62 75 66 5b | (XKeyEvent.*ev).{......char.buf[ |
| 9200 | 36 34 5d 3b 00 00 00 0a 20 20 69 6e 74 20 6c 65 6e 3b 00 00 00 19 20 20 4b 65 79 53 79 6d 20 6b | 64];......int.len;......KeySym.k |
| 9220 | 73 79 6d 20 3d 20 4e 6f 53 79 6d 62 6f 6c 3b 00 00 00 10 20 20 53 74 61 74 75 73 20 73 74 61 74 | sym.=.NoSymbol;......Status.stat |
| 9240 | 75 73 3b 00 00 00 00 00 00 00 42 20 20 6c 65 6e 20 3d 20 58 6d 62 4c 6f 6f 6b 75 70 53 74 72 69 | us;.......B..len.=.XmbLookupStri |
| 9260 | 6e 67 28 78 69 63 2c 20 65 76 2c 20 62 75 66 2c 20 73 69 7a 65 6f 66 20 62 75 66 2c 20 26 6b 73 | ng(xic,.ev,.buf,.sizeof.buf,.&ks |
| 9280 | 79 6d 2c 20 26 73 74 61 74 75 73 29 3b 00 00 00 13 20 20 73 77 69 74 63 68 20 28 73 74 61 74 75 | ym,.&status);......switch.(statu |
| 92a0 | 73 29 20 7b 00 00 00 2d 20 20 64 65 66 61 75 6c 74 3a 20 2f 2a 20 58 4c 6f 6f 6b 75 70 4e 6f 6e | s).{...-..default:./*.XLookupNon |
| 92c0 | 65 2c 20 58 42 75 66 66 65 72 4f 76 65 72 66 6c 6f 77 20 2a 2f 00 00 00 0b 20 20 20 20 72 65 74 | e,.XBufferOverflow.*/........ret |
| 92e0 | 75 72 6e 3b 00 00 00 3c 20 20 63 61 73 65 20 58 4c 6f 6f 6b 75 70 43 68 61 72 73 3a 20 2f 2a 20 | urn;...<..case.XLookupChars:./*. |
| 9300 | 63 6f 6d 70 6f 73 65 64 20 73 74 72 69 6e 67 20 66 72 6f 6d 20 69 6e 70 75 74 20 6d 65 74 68 6f | composed.string.from.input.metho |
| 9320 | 64 20 2a 2f 00 00 00 10 20 20 20 20 67 6f 74 6f 20 69 6e 73 65 72 74 3b 00 00 00 15 20 20 63 61 | d.*/........goto.insert;......ca |
| 9340 | 73 65 20 58 4c 6f 6f 6b 75 70 4b 65 79 53 79 6d 3a 00 00 00 48 20 20 63 61 73 65 20 58 4c 6f 6f | se.XLookupKeySym:...H..case.XLoo |
| 9360 | 6b 75 70 42 6f 74 68 3a 20 2f 2a 20 61 20 4b 65 79 53 79 6d 20 61 6e 64 20 61 20 73 74 72 69 6e | kupBoth:./*.a.KeySym.and.a.strin |
| 9380 | 67 20 61 72 65 20 72 65 74 75 72 6e 65 64 3a 20 75 73 65 20 6b 65 79 73 79 6d 20 2a 2f 00 00 00 | g.are.returned:.use.keysym.*/... |
| 93a0 | 0a 20 20 20 20 62 72 65 61 6b 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 20 20 20 69 66 20 28 | .....break;......}..........if.( |
| 93c0 | 65 76 2d 3e 73 74 61 74 65 20 26 20 43 6f 6e 74 72 6f 6c 4d 61 73 6b 29 20 7b 00 00 00 13 20 20 | ev->state.&.ControlMask).{...... |
| 93e0 | 20 20 73 77 69 74 63 68 20 28 6b 73 79 6d 29 20 7b 00 00 00 0e 20 20 20 20 63 61 73 65 20 58 4b | ..switch.(ksym).{........case.XK |
| 9400 | 5f 61 3a 00 00 00 15 20 20 20 20 20 20 6b 73 79 6d 20 3d 20 58 4b 5f 48 6f 6d 65 3b 00 00 00 0c | _a:..........ksym.=.XK_Home;.... |
| 9420 | 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 0e 20 20 20 20 63 61 73 65 20 58 4b 5f 62 3a 00 00 | ......break;........case.XK_b:.. |
| 9440 | 00 15 20 20 20 20 20 20 6b 73 79 6d 20 3d 20 58 4b 5f 4c 65 66 74 3b 00 00 00 0c 20 20 20 20 20 | ........ksym.=.XK_Left;......... |
| 9460 | 20 62 72 65 61 6b 3b 00 00 00 0e 20 20 20 20 63 61 73 65 20 58 4b 5f 63 3a 00 00 00 17 20 20 20 | .break;........case.XK_c:....... |
| 9480 | 20 20 20 6b 73 79 6d 20 3d 20 58 4b 5f 45 73 63 61 70 65 3b 00 00 00 0c 20 20 20 20 20 20 62 72 | ...ksym.=.XK_Escape;..........br |
| 94a0 | 65 61 6b 3b 00 00 00 0e 20 20 20 20 63 61 73 65 20 58 4b 5f 64 3a 00 00 00 17 20 20 20 20 20 20 | eak;........case.XK_d:.......... |
| 94c0 | 6b 73 79 6d 20 3d 20 58 4b 5f 44 65 6c 65 74 65 3b 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b | ksym.=.XK_Delete;..........break |
| 94e0 | 3b 00 00 00 0e 20 20 20 20 63 61 73 65 20 58 4b 5f 65 3a 00 00 00 14 20 20 20 20 20 20 6b 73 79 | ;........case.XK_e:..........ksy |
| 9500 | 6d 20 3d 20 58 4b 5f 45 6e 64 3b 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 0e 20 | m.=.XK_End;..........break;..... |
| 9520 | 20 20 20 63 61 73 65 20 58 4b 5f 66 3a 00 00 00 16 20 20 20 20 20 20 6b 73 79 6d 20 3d 20 58 4b | ...case.XK_f:..........ksym.=.XK |
| 9540 | 5f 52 69 67 68 74 3b 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 0e 20 20 20 20 63 | _Right;..........break;........c |
| 9560 | 61 73 65 20 58 4b 5f 67 3a 00 00 00 17 20 20 20 20 20 20 6b 73 79 6d 20 3d 20 58 4b 5f 45 73 63 | ase.XK_g:..........ksym.=.XK_Esc |
| 9580 | 61 70 65 3b 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 0e 20 20 20 20 63 61 73 65 | ape;..........break;........case |
| 95a0 | 20 58 4b 5f 68 3a 00 00 00 1a 20 20 20 20 20 20 6b 73 79 6d 20 3d 20 58 4b 5f 42 61 63 6b 53 70 | .XK_h:..........ksym.=.XK_BackSp |
| 95c0 | 61 63 65 3b 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 0e 20 20 20 20 63 61 73 65 | ace;..........break;........case |
| 95e0 | 20 58 4b 5f 69 3a 00 00 00 14 20 20 20 20 20 20 6b 73 79 6d 20 3d 20 58 4b 5f 54 61 62 3b 00 00 | .XK_i:..........ksym.=.XK_Tab;.. |
| 9600 | 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 20 20 20 20 20 63 61 73 65 20 58 4b 5f 6a 3a | ........break;........case.XK_j: |
| 9620 | 20 2f 2a 20 66 61 6c 6c 74 68 72 6f 75 67 68 20 2a 2f 00 00 00 20 20 20 20 20 63 61 73 65 20 58 | ./*.fallthrough.*/........case.X |
| 9640 | 4b 5f 4a 3a 20 2f 2a 20 66 61 6c 6c 74 68 72 6f 75 67 68 20 2a 2f 00 00 00 20 20 20 20 20 63 61 | K_J:./*.fallthrough.*/........ca |
| 9660 | 73 65 20 58 4b 5f 6d 3a 20 2f 2a 20 66 61 6c 6c 74 68 72 6f 75 67 68 20 2a 2f 00 00 00 0e 20 20 | se.XK_m:./*.fallthrough.*/...... |
| 9680 | 20 20 63 61 73 65 20 58 4b 5f 4d 3a 00 00 00 17 20 20 20 20 20 20 6b 73 79 6d 20 3d 20 58 4b 5f | ..case.XK_M:..........ksym.=.XK_ |
| 96a0 | 52 65 74 75 72 6e 3b 00 00 00 20 20 20 20 20 20 20 65 76 2d 3e 73 74 61 74 65 20 26 3d 20 7e 43 | Return;..........ev->state.&=.~C |
| 96c0 | 6f 6e 74 72 6f 6c 4d 61 73 6b 3b 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 0e 20 | ontrolMask;..........break;..... |
| 96e0 | 20 20 20 63 61 73 65 20 58 4b 5f 6e 3a 00 00 00 15 20 20 20 20 20 20 6b 73 79 6d 20 3d 20 58 4b | ...case.XK_n:..........ksym.=.XK |
| 9700 | 5f 44 6f 77 6e 3b 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 0e 20 20 20 20 63 61 | _Down;..........break;........ca |
| 9720 | 73 65 20 58 4b 5f 70 3a 00 00 00 13 20 20 20 20 20 20 6b 73 79 6d 20 3d 20 58 4b 5f 55 70 3b 00 | se.XK_p:..........ksym.=.XK_Up;. |
| 9740 | 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 00 00 00 00 21 20 20 20 20 63 61 73 65 20 | .........break;.......!....case. |
| 9760 | 58 4b 5f 6b 3a 20 2f 2a 20 64 65 6c 65 74 65 20 72 69 67 68 74 20 2a 2f 00 00 00 1a 20 20 20 20 | XK_k:./*.delete.right.*/........ |
| 9780 | 20 20 74 65 78 74 5b 63 75 72 73 6f 72 5d 20 3d 20 27 5c 30 27 3b 00 00 00 0e 20 20 20 20 20 20 | ..text[cursor].=.'\0';.......... |
| 97a0 | 6d 61 74 63 68 28 29 3b 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 20 20 20 20 20 | match();..........break;........ |
| 97c0 | 63 61 73 65 20 58 4b 5f 75 3a 20 2f 2a 20 64 65 6c 65 74 65 20 6c 65 66 74 20 2a 2f 00 00 00 1f | case.XK_u:./*.delete.left.*/.... |
| 97e0 | 20 20 20 20 20 20 69 6e 73 65 72 74 28 4e 55 4c 4c 2c 20 30 20 2d 20 63 75 72 73 6f 72 29 3b 00 | ......insert(NULL,.0.-.cursor);. |
| 9800 | 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 20 20 20 20 20 63 61 73 65 20 58 4b 5f 77 | .........break;........case.XK_w |
| 9820 | 3a 20 2f 2a 20 64 65 6c 65 74 65 20 77 6f 72 64 20 2a 2f 00 00 00 46 20 20 20 20 20 20 77 68 69 | :./*.delete.word.*/...F......whi |
| 9840 | 6c 65 20 28 63 75 72 73 6f 72 20 3e 20 30 20 26 26 20 73 74 72 63 68 72 28 77 6f 72 64 64 65 6c | le.(cursor.>.0.&&.strchr(worddel |
| 9860 | 69 6d 69 74 65 72 73 2c 20 74 65 78 74 5b 6e 65 78 74 72 75 6e 65 28 2d 31 29 5d 29 29 00 00 00 | imiters,.text[nextrune(-1)]))... |
| 9880 | 2c 20 20 20 20 20 20 20 20 69 6e 73 65 72 74 28 4e 55 4c 4c 2c 20 6e 65 78 74 72 75 6e 65 28 2d | ,........insert(NULL,.nextrune(- |
| 98a0 | 31 29 20 2d 20 63 75 72 73 6f 72 29 3b 00 00 00 47 20 20 20 20 20 20 77 68 69 6c 65 20 28 63 75 | 1).-.cursor);...G......while.(cu |
| 98c0 | 72 73 6f 72 20 3e 20 30 20 26 26 20 21 73 74 72 63 68 72 28 77 6f 72 64 64 65 6c 69 6d 69 74 65 | rsor.>.0.&&.!strchr(worddelimite |
| 98e0 | 72 73 2c 20 74 65 78 74 5b 6e 65 78 74 72 75 6e 65 28 2d 31 29 5d 29 29 00 00 00 2c 20 20 20 20 | rs,.text[nextrune(-1)]))...,.... |
| 9900 | 20 20 20 20 69 6e 73 65 72 74 28 4e 55 4c 4c 2c 20 6e 65 78 74 72 75 6e 65 28 2d 31 29 20 2d 20 | ....insert(NULL,.nextrune(-1).-. |
| 9920 | 63 75 72 73 6f 72 29 3b 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 24 20 20 20 20 | cursor);..........break;...$.... |
| 9940 | 63 61 73 65 20 58 4b 5f 79 3a 20 2f 2a 20 70 61 73 74 65 20 73 65 6c 65 63 74 69 6f 6e 20 2a 2f | case.XK_y:./*.paste.selection.*/ |
| 9960 | 00 00 00 0e 20 20 20 20 63 61 73 65 20 58 4b 5f 59 3a 00 00 00 4f 20 20 20 20 20 20 58 43 6f 6e | ........case.XK_Y:...O......XCon |
| 9980 | 76 65 72 74 53 65 6c 65 63 74 69 6f 6e 28 64 70 79 2c 20 28 65 76 2d 3e 73 74 61 74 65 20 26 20 | vertSelection(dpy,.(ev->state.&. |
| 99a0 | 53 68 69 66 74 4d 61 73 6b 29 20 3f 20 63 6c 69 70 20 3a 20 58 41 5f 50 52 49 4d 41 52 59 2c 20 | ShiftMask).?.clip.:.XA_PRIMARY,. |
| 99c0 | 75 74 66 38 2c 00 00 00 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | utf8,...0....................... |
| 99e0 | 20 75 74 66 38 2c 20 77 69 6e 2c 20 43 75 72 72 65 6e 74 54 69 6d 65 29 3b 00 00 00 0d 20 20 20 | .utf8,.win,.CurrentTime);....... |
| 9a00 | 20 20 20 72 65 74 75 72 6e 3b 00 00 00 11 20 20 20 20 63 61 73 65 20 58 4b 5f 4c 65 66 74 3a 00 | ...return;........case.XK_Left:. |
| 9a20 | 00 00 14 20 20 20 20 63 61 73 65 20 58 4b 5f 4b 50 5f 4c 65 66 74 3a 00 00 00 17 20 20 20 20 20 | .......case.XK_KP_Left:......... |
| 9a40 | 20 6d 6f 76 65 77 6f 72 64 65 64 67 65 28 2d 31 29 3b 00 00 00 10 20 20 20 20 20 20 67 6f 74 6f | .movewordedge(-1);..........goto |
| 9a60 | 20 64 72 61 77 3b 00 00 00 12 20 20 20 20 63 61 73 65 20 58 4b 5f 52 69 67 68 74 3a 00 00 00 15 | .draw;........case.XK_Right:.... |
| 9a80 | 20 20 20 20 63 61 73 65 20 58 4b 5f 4b 50 5f 52 69 67 68 74 3a 00 00 00 17 20 20 20 20 20 20 6d | ....case.XK_KP_Right:..........m |
| 9aa0 | 6f 76 65 77 6f 72 64 65 64 67 65 28 2b 31 29 3b 00 00 00 10 20 20 20 20 20 20 67 6f 74 6f 20 64 | ovewordedge(+1);..........goto.d |
| 9ac0 | 72 61 77 3b 00 00 00 13 20 20 20 20 63 61 73 65 20 58 4b 5f 52 65 74 75 72 6e 3a 00 00 00 15 20 | raw;........case.XK_Return:..... |
| 9ae0 | 20 20 20 63 61 73 65 20 58 4b 5f 4b 50 5f 45 6e 74 65 72 3a 00 00 00 0c 20 20 20 20 20 20 62 72 | ...case.XK_KP_Enter:..........br |
| 9b00 | 65 61 6b 3b 00 00 00 18 20 20 20 20 63 61 73 65 20 58 4b 5f 62 72 61 63 6b 65 74 6c 65 66 74 3a | eak;........case.XK_bracketleft: |
| 9b20 | 00 00 00 10 20 20 20 20 20 20 63 6c 65 61 6e 75 70 28 29 3b 00 00 00 0e 20 20 20 20 20 20 65 78 | ..........cleanup();..........ex |
| 9b40 | 69 74 28 31 29 3b 00 00 00 0c 20 20 20 20 64 65 66 61 75 6c 74 3a 00 00 00 0d 20 20 20 20 20 20 | it(1);........default:.......... |
| 9b60 | 72 65 74 75 72 6e 3b 00 00 00 05 20 20 20 20 7d 00 00 00 24 20 20 7d 20 65 6c 73 65 20 69 66 20 | return;........}...$..}.else.if. |
| 9b80 | 28 65 76 2d 3e 73 74 61 74 65 20 26 20 4d 6f 64 31 4d 61 73 6b 29 20 7b 00 00 00 13 20 20 20 20 | (ev->state.&.Mod1Mask).{........ |
| 9ba0 | 73 77 69 74 63 68 20 28 6b 73 79 6d 29 20 7b 00 00 00 0e 20 20 20 20 63 61 73 65 20 58 4b 5f 62 | switch.(ksym).{........case.XK_b |
| 9bc0 | 3a 00 00 00 17 20 20 20 20 20 20 6d 6f 76 65 77 6f 72 64 65 64 67 65 28 2d 31 29 3b 00 00 00 10 | :..........movewordedge(-1);.... |
| 9be0 | 20 20 20 20 20 20 67 6f 74 6f 20 64 72 61 77 3b 00 00 00 0e 20 20 20 20 63 61 73 65 20 58 4b 5f | ......goto.draw;........case.XK_ |
| 9c00 | 66 3a 00 00 00 17 20 20 20 20 20 20 6d 6f 76 65 77 6f 72 64 65 64 67 65 28 2b 31 29 3b 00 00 00 | f:..........movewordedge(+1);... |
| 9c20 | 10 20 20 20 20 20 20 67 6f 74 6f 20 64 72 61 77 3b 00 00 00 0e 20 20 20 20 63 61 73 65 20 58 4b | .......goto.draw;........case.XK |
| 9c40 | 5f 67 3a 00 00 00 15 20 20 20 20 20 20 6b 73 79 6d 20 3d 20 58 4b 5f 48 6f 6d 65 3b 00 00 00 0c | _g:..........ksym.=.XK_Home;.... |
| 9c60 | 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 0e 20 20 20 20 63 61 73 65 20 58 4b 5f 47 3a 00 00 | ......break;........case.XK_G:.. |
| 9c80 | 00 14 20 20 20 20 20 20 6b 73 79 6d 20 3d 20 58 4b 5f 45 6e 64 3b 00 00 00 0c 20 20 20 20 20 20 | ........ksym.=.XK_End;.......... |
| 9ca0 | 62 72 65 61 6b 3b 00 00 00 0e 20 20 20 20 63 61 73 65 20 58 4b 5f 68 3a 00 00 00 13 20 20 20 20 | break;........case.XK_h:........ |
| 9cc0 | 20 20 6b 73 79 6d 20 3d 20 58 4b 5f 55 70 3b 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 | ..ksym.=.XK_Up;..........break;. |
| 9ce0 | 00 00 0e 20 20 20 20 63 61 73 65 20 58 4b 5f 6a 3a 00 00 00 15 20 20 20 20 20 20 6b 73 79 6d 20 | .......case.XK_j:..........ksym. |
| 9d00 | 3d 20 58 4b 5f 4e 65 78 74 3b 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 0e 20 20 | =.XK_Next;..........break;...... |
| 9d20 | 20 20 63 61 73 65 20 58 4b 5f 6b 3a 00 00 00 16 20 20 20 20 20 20 6b 73 79 6d 20 3d 20 58 4b 5f | ..case.XK_k:..........ksym.=.XK_ |
| 9d40 | 50 72 69 6f 72 3b 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 0e 20 20 20 20 63 61 | Prior;..........break;........ca |
| 9d60 | 73 65 20 58 4b 5f 6c 3a 00 00 00 15 20 20 20 20 20 20 6b 73 79 6d 20 3d 20 58 4b 5f 44 6f 77 6e | se.XK_l:..........ksym.=.XK_Down |
| 9d80 | 3b 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 0c 20 20 20 20 64 65 66 61 75 6c 74 | ;..........break;........default |
| 9da0 | 3a 00 00 00 0d 20 20 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 | :..........return;........}..... |
| 9dc0 | 20 7d 00 00 00 00 00 00 00 11 20 20 73 77 69 74 63 68 20 28 6b 73 79 6d 29 20 7b 00 00 00 0a 20 | .}..........switch.(ksym).{..... |
| 9de0 | 20 64 65 66 61 75 6c 74 3a 00 00 00 09 20 20 69 6e 73 65 72 74 3a 00 00 00 26 20 20 20 20 69 66 | .default:......insert:...&....if |
| 9e00 | 20 28 21 69 73 63 6e 74 72 6c 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 29 2a 62 75 66 29 29 | .(!iscntrl((unsigned.char)*buf)) |
| 9e20 | 00 00 00 17 20 20 20 20 20 20 69 6e 73 65 72 74 28 62 75 66 2c 20 6c 65 6e 29 3b 00 00 00 0a 20 | ..........insert(buf,.len);..... |
| 9e40 | 20 20 20 62 72 65 61 6b 3b 00 00 00 11 20 20 63 61 73 65 20 58 4b 5f 44 65 6c 65 74 65 3a 00 00 | ...break;......case.XK_Delete:.. |
| 9e60 | 00 14 20 20 63 61 73 65 20 58 4b 5f 4b 50 5f 44 65 6c 65 74 65 3a 00 00 00 1d 20 20 20 20 69 66 | ....case.XK_KP_Delete:........if |
| 9e80 | 20 28 74 65 78 74 5b 63 75 72 73 6f 72 5d 20 3d 3d 20 27 5c 30 27 29 00 00 00 0d 20 20 20 20 20 | .(text[cursor].==.'\0')......... |
| 9ea0 | 20 72 65 74 75 72 6e 3b 00 00 00 1a 20 20 20 20 63 75 72 73 6f 72 20 3d 20 6e 65 78 74 72 75 6e | .return;........cursor.=.nextrun |
| 9ec0 | 65 28 2b 31 29 3b 00 00 00 15 20 20 20 20 2f 2a 20 66 61 6c 6c 74 68 72 6f 75 67 68 20 2a 2f 00 | e(+1);......../*.fallthrough.*/. |
| 9ee0 | 00 00 14 20 20 63 61 73 65 20 58 4b 5f 42 61 63 6b 53 70 61 63 65 3a 00 00 00 14 20 20 20 20 69 | .....case.XK_BackSpace:........i |
| 9f00 | 66 20 28 63 75 72 73 6f 72 20 3d 3d 20 30 29 00 00 00 0d 20 20 20 20 20 20 72 65 74 75 72 6e 3b | f.(cursor.==.0)..........return; |
| 9f20 | 00 00 00 28 20 20 20 20 69 6e 73 65 72 74 28 4e 55 4c 4c 2c 20 6e 65 78 74 72 75 6e 65 28 2d 31 | ...(....insert(NULL,.nextrune(-1 |
| 9f40 | 29 20 2d 20 63 75 72 73 6f 72 29 3b 00 00 00 0a 20 20 20 20 62 72 65 61 6b 3b 00 00 00 0e 20 20 | ).-.cursor);........break;...... |
| 9f60 | 63 61 73 65 20 58 4b 5f 45 6e 64 3a 00 00 00 11 20 20 63 61 73 65 20 58 4b 5f 4b 50 5f 45 6e 64 | case.XK_End:......case.XK_KP_End |
| 9f80 | 3a 00 00 00 1f 20 20 20 20 69 66 20 28 74 65 78 74 5b 63 75 72 73 6f 72 5d 20 21 3d 20 27 5c 30 | :........if.(text[cursor].!=.'\0 |
| 9fa0 | 27 29 20 7b 00 00 00 1c 20 20 20 20 20 20 63 75 72 73 6f 72 20 3d 20 73 74 72 6c 65 6e 28 74 65 | ').{..........cursor.=.strlen(te |
| 9fc0 | 78 74 29 3b 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 05 20 20 20 20 7d 00 00 00 | xt);..........break;........}... |
| 9fe0 | 0f 20 20 20 20 69 66 20 28 6e 65 78 74 29 20 7b 00 00 00 3d 20 20 20 20 20 20 2f 2a 20 6a 75 6d | .....if.(next).{...=....../*.jum |
| a000 | 70 20 74 6f 20 65 6e 64 20 6f 66 20 6c 69 73 74 20 61 6e 64 20 70 6f 73 69 74 69 6f 6e 20 69 74 | p.to.end.of.list.and.position.it |
| a020 | 65 6d 73 20 69 6e 20 72 65 76 65 72 73 65 20 2a 2f 00 00 00 16 20 20 20 20 20 20 63 75 72 72 20 | ems.in.reverse.*/..........curr. |
| a040 | 3d 20 6d 61 74 63 68 65 6e 64 3b 00 00 00 14 20 20 20 20 20 20 63 61 6c 63 6f 66 66 73 65 74 73 | =.matchend;..........calcoffsets |
| a060 | 28 29 3b 00 00 00 12 20 20 20 20 20 20 63 75 72 72 20 3d 20 70 72 65 76 3b 00 00 00 14 20 20 20 | ();..........curr.=.prev;....... |
| a080 | 20 20 20 63 61 6c 63 6f 66 66 73 65 74 73 28 29 3b 00 00 00 2a 20 20 20 20 20 20 77 68 69 6c 65 | ...calcoffsets();...*......while |
| a0a0 | 20 28 6e 65 78 74 20 26 26 20 28 63 75 72 72 20 3d 20 63 75 72 72 2d 3e 72 69 67 68 74 29 29 00 | .(next.&&.(curr.=.curr->right)). |
| a0c0 | 00 00 16 20 20 20 20 20 20 20 20 63 61 6c 63 6f 66 66 73 65 74 73 28 29 3b 00 00 00 05 20 20 20 | ...........calcoffsets();....... |
| a0e0 | 20 7d 00 00 00 13 20 20 20 20 73 65 6c 20 3d 20 6d 61 74 63 68 65 6e 64 3b 00 00 00 0a 20 20 20 | .}........sel.=.matchend;....... |
| a100 | 20 62 72 65 61 6b 3b 00 00 00 11 20 20 63 61 73 65 20 58 4b 5f 45 73 63 61 70 65 3a 00 00 00 0e | .break;......case.XK_Escape:.... |
| a120 | 20 20 20 20 63 6c 65 61 6e 75 70 28 29 3b 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 | ....cleanup();........exit(1);.. |
| a140 | 00 0f 20 20 63 61 73 65 20 58 4b 5f 48 6f 6d 65 3a 00 00 00 12 20 20 63 61 73 65 20 58 4b 5f 4b | ....case.XK_Home:......case.XK_K |
| a160 | 50 5f 48 6f 6d 65 3a 00 00 00 19 20 20 20 20 69 66 20 28 73 65 6c 20 3d 3d 20 6d 61 74 63 68 65 | P_Home:........if.(sel.==.matche |
| a180 | 73 29 20 7b 00 00 00 11 20 20 20 20 20 20 63 75 72 73 6f 72 20 3d 20 30 3b 00 00 00 0c 20 20 20 | s).{..........cursor.=.0;....... |
| a1a0 | 20 20 20 62 72 65 61 6b 3b 00 00 00 05 20 20 20 20 7d 00 00 00 19 20 20 20 20 73 65 6c 20 3d 20 | ...break;........}........sel.=. |
| a1c0 | 63 75 72 72 20 3d 20 6d 61 74 63 68 65 73 3b 00 00 00 12 20 20 20 20 63 61 6c 63 6f 66 66 73 65 | curr.=.matches;........calcoffse |
| a1e0 | 74 73 28 29 3b 00 00 00 0a 20 20 20 20 62 72 65 61 6b 3b 00 00 00 0f 20 20 63 61 73 65 20 58 4b | ts();........break;......case.XK |
| a200 | 5f 4c 65 66 74 3a 00 00 00 12 20 20 63 61 73 65 20 58 4b 5f 4b 50 5f 4c 65 66 74 3a 00 00 00 3a | _Left:......case.XK_KP_Left:...: |
| a220 | 20 20 20 20 69 66 20 28 63 75 72 73 6f 72 20 3e 20 30 20 26 26 20 28 21 73 65 6c 20 7c 7c 20 21 | ....if.(cursor.>.0.&&.(!sel.||.! |
| a240 | 73 65 6c 2d 3e 6c 65 66 74 20 7c 7c 20 6c 69 6e 65 73 20 3e 20 30 29 29 20 7b 00 00 00 1c 20 20 | sel->left.||.lines.>.0)).{...... |
| a260 | 20 20 20 20 63 75 72 73 6f 72 20 3d 20 6e 65 78 74 72 75 6e 65 28 2d 31 29 3b 00 00 00 0c 20 20 | ....cursor.=.nextrune(-1);...... |
| a280 | 20 20 20 20 62 72 65 61 6b 3b 00 00 00 05 20 20 20 20 7d 00 00 00 12 20 20 20 20 69 66 20 28 6c | ....break;........}........if.(l |
| a2a0 | 69 6e 65 73 20 3e 20 30 29 00 00 00 0d 20 20 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 15 20 20 | ines.>.0)..........return;...... |
| a2c0 | 20 20 2f 2a 20 66 61 6c 6c 74 68 72 6f 75 67 68 20 2a 2f 00 00 00 0d 20 20 63 61 73 65 20 58 4b | ../*.fallthrough.*/......case.XK |
| a2e0 | 5f 55 70 3a 00 00 00 10 20 20 63 61 73 65 20 58 4b 5f 4b 50 5f 55 70 3a 00 00 00 3f 20 20 20 20 | _Up:......case.XK_KP_Up:...?.... |
| a300 | 69 66 20 28 73 65 6c 20 26 26 20 73 65 6c 2d 3e 6c 65 66 74 20 26 26 20 28 73 65 6c 20 3d 20 73 | if.(sel.&&.sel->left.&&.(sel.=.s |
| a320 | 65 6c 2d 3e 6c 65 66 74 29 2d 3e 72 69 67 68 74 20 3d 3d 20 63 75 72 72 29 20 7b 00 00 00 12 20 | el->left)->right.==.curr).{..... |
| a340 | 20 20 20 20 20 63 75 72 72 20 3d 20 70 72 65 76 3b 00 00 00 14 20 20 20 20 20 20 63 61 6c 63 6f | .....curr.=.prev;..........calco |
| a360 | 66 66 73 65 74 73 28 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 0a 20 20 20 20 62 72 65 61 6b 3b | ffsets();........}........break; |
| a380 | 00 00 00 0f 20 20 63 61 73 65 20 58 4b 5f 4e 65 78 74 3a 00 00 00 12 20 20 63 61 73 65 20 58 4b | ......case.XK_Next:......case.XK |
| a3a0 | 5f 4b 50 5f 4e 65 78 74 3a 00 00 00 0e 20 20 20 20 69 66 20 28 21 6e 65 78 74 29 00 00 00 0d 20 | _KP_Next:........if.(!next)..... |
| a3c0 | 20 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 16 20 20 20 20 73 65 6c 20 3d 20 63 75 72 72 20 3d | .....return;........sel.=.curr.= |
| a3e0 | 20 6e 65 78 74 3b 00 00 00 12 20 20 20 20 63 61 6c 63 6f 66 66 73 65 74 73 28 29 3b 00 00 00 0a | .next;........calcoffsets();.... |
| a400 | 20 20 20 20 62 72 65 61 6b 3b 00 00 00 10 20 20 63 61 73 65 20 58 4b 5f 50 72 69 6f 72 3a 00 00 | ....break;......case.XK_Prior:.. |
| a420 | 00 13 20 20 63 61 73 65 20 58 4b 5f 4b 50 5f 50 72 69 6f 72 3a 00 00 00 0e 20 20 20 20 69 66 20 | ....case.XK_KP_Prior:........if. |
| a440 | 28 21 70 72 65 76 29 00 00 00 0d 20 20 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 16 20 20 20 20 | (!prev)..........return;........ |
| a460 | 73 65 6c 20 3d 20 63 75 72 72 20 3d 20 70 72 65 76 3b 00 00 00 12 20 20 20 20 63 61 6c 63 6f 66 | sel.=.curr.=.prev;........calcof |
| a480 | 66 73 65 74 73 28 29 3b 00 00 00 0a 20 20 20 20 62 72 65 61 6b 3b 00 00 00 11 20 20 63 61 73 65 | fsets();........break;......case |
| a4a0 | 20 58 4b 5f 52 65 74 75 72 6e 3a 00 00 00 13 20 20 63 61 73 65 20 58 4b 5f 4b 50 5f 45 6e 74 65 | .XK_Return:......case.XK_KP_Ente |
| a4c0 | 72 3a 00 00 00 3f 20 20 20 20 70 75 74 73 28 28 73 65 6c 20 26 26 20 21 28 65 76 2d 3e 73 74 61 | r:...?....puts((sel.&&.!(ev->sta |
| a4e0 | 74 65 20 26 20 53 68 69 66 74 4d 61 73 6b 29 29 20 3f 20 73 65 6c 2d 3e 74 65 78 74 20 3a 20 74 | te.&.ShiftMask)).?.sel->text.:.t |
| a500 | 65 78 74 29 3b 00 00 00 25 20 20 20 20 69 66 20 28 21 28 65 76 2d 3e 73 74 61 74 65 20 26 20 43 | ext);...%....if.(!(ev->state.&.C |
| a520 | 6f 6e 74 72 6f 6c 4d 61 73 6b 29 29 20 7b 00 00 00 10 20 20 20 20 20 20 63 6c 65 61 6e 75 70 28 | ontrolMask)).{..........cleanup( |
| a540 | 29 3b 00 00 00 0e 20 20 20 20 20 20 65 78 69 74 28 30 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 | );..........exit(0);........}... |
| a560 | 0c 20 20 20 20 69 66 20 28 73 65 6c 29 00 00 00 13 20 20 20 20 20 20 73 65 6c 2d 3e 6f 75 74 20 | .....if.(sel)..........sel->out. |
| a580 | 3d 20 31 3b 00 00 00 0a 20 20 20 20 62 72 65 61 6b 3b 00 00 00 10 20 20 63 61 73 65 20 58 4b 5f | =.1;........break;......case.XK_ |
| a5a0 | 52 69 67 68 74 3a 00 00 00 13 20 20 63 61 73 65 20 58 4b 5f 4b 50 5f 52 69 67 68 74 3a 00 00 00 | Right:......case.XK_KP_Right:... |
| a5c0 | 1f 20 20 20 20 69 66 20 28 74 65 78 74 5b 63 75 72 73 6f 72 5d 20 21 3d 20 27 5c 30 27 29 20 7b | .....if.(text[cursor].!=.'\0').{ |
| a5e0 | 00 00 00 1c 20 20 20 20 20 20 63 75 72 73 6f 72 20 3d 20 6e 65 78 74 72 75 6e 65 28 2b 31 29 3b | ..........cursor.=.nextrune(+1); |
| a600 | 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 05 20 20 20 20 7d 00 00 00 12 20 20 20 | ..........break;........}....... |
| a620 | 20 69 66 20 28 6c 69 6e 65 73 20 3e 20 30 29 00 00 00 0d 20 20 20 20 20 20 72 65 74 75 72 6e 3b | .if.(lines.>.0)..........return; |
| a640 | 00 00 00 15 20 20 20 20 2f 2a 20 66 61 6c 6c 74 68 72 6f 75 67 68 20 2a 2f 00 00 00 0f 20 20 63 | ......../*.fallthrough.*/......c |
| a660 | 61 73 65 20 58 4b 5f 44 6f 77 6e 3a 00 00 00 12 20 20 63 61 73 65 20 58 4b 5f 4b 50 5f 44 6f 77 | ase.XK_Down:......case.XK_KP_Dow |
| a680 | 6e 3a 00 00 00 3a 20 20 20 20 69 66 20 28 73 65 6c 20 26 26 20 73 65 6c 2d 3e 72 69 67 68 74 20 | n:...:....if.(sel.&&.sel->right. |
| a6a0 | 26 26 20 28 73 65 6c 20 3d 20 73 65 6c 2d 3e 72 69 67 68 74 29 20 3d 3d 20 6e 65 78 74 29 20 7b | &&.(sel.=.sel->right).==.next).{ |
| a6c0 | 00 00 00 12 20 20 20 20 20 20 63 75 72 72 20 3d 20 6e 65 78 74 3b 00 00 00 14 20 20 20 20 20 20 | ..........curr.=.next;.......... |
| a6e0 | 63 61 6c 63 6f 66 66 73 65 74 73 28 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 0a 20 20 20 20 62 | calcoffsets();........}........b |
| a700 | 72 65 61 6b 3b 00 00 00 0e 20 20 63 61 73 65 20 58 4b 5f 54 61 62 3a 00 00 00 0d 20 20 20 20 69 | reak;......case.XK_Tab:........i |
| a720 | 66 20 28 21 73 65 6c 29 00 00 00 0d 20 20 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 31 20 20 20 | f.(!sel)..........return;...1... |
| a740 | 20 63 75 72 73 6f 72 20 3d 20 73 74 72 6e 6c 65 6e 28 73 65 6c 2d 3e 74 65 78 74 2c 20 73 69 7a | .cursor.=.strnlen(sel->text,.siz |
| a760 | 65 6f 66 20 74 65 78 74 20 2d 20 31 29 3b 00 00 00 24 20 20 20 20 6d 65 6d 63 70 79 28 74 65 78 | eof.text.-.1);...$....memcpy(tex |
| a780 | 74 2c 20 73 65 6c 2d 3e 74 65 78 74 2c 20 63 75 72 73 6f 72 29 3b 00 00 00 18 20 20 20 20 74 65 | t,.sel->text,.cursor);........te |
| a7a0 | 78 74 5b 63 75 72 73 6f 72 5d 20 3d 20 27 5c 30 27 3b 00 00 00 0c 20 20 20 20 6d 61 74 63 68 28 | xt[cursor].=.'\0';........match( |
| a7c0 | 29 3b 00 00 00 0a 20 20 20 20 62 72 65 61 6b 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 05 64 | );........break;......}........d |
| a7e0 | 72 61 77 3a 00 00 00 0d 20 20 64 72 61 77 6d 65 6e 75 28 29 3b 00 00 00 01 7d 00 00 00 00 00 00 | raw:......drawmenu();....}...... |
| a800 | 00 24 73 74 61 74 69 63 20 76 6f 69 64 20 62 75 74 74 6f 6e 70 72 65 73 73 28 58 45 76 65 6e 74 | .$static.void.buttonpress(XEvent |
| a820 | 20 2a 65 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 69 74 65 6d 20 2a 69 74 65 6d 3b 00 00 | .*e).{......struct.item.*item;.. |
| a840 | 00 28 20 20 58 42 75 74 74 6f 6e 50 72 65 73 73 65 64 45 76 65 6e 74 20 2a 65 76 20 3d 20 26 65 | .(..XButtonPressedEvent.*ev.=.&e |
| a860 | 2d 3e 78 62 75 74 74 6f 6e 3b 00 00 00 1e 20 20 69 6e 74 20 78 20 3d 20 30 2c 20 79 20 3d 20 30 | ->xbutton;......int.x.=.0,.y.=.0 |
| a880 | 2c 20 68 20 3d 20 62 68 2c 20 77 3b 00 00 00 00 00 00 00 18 20 20 69 66 20 28 65 76 2d 3e 77 69 | ,.h.=.bh,.w;..........if.(ev->wi |
| a8a0 | 6e 64 6f 77 20 21 3d 20 77 69 6e 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 00 00 | ndow.!=.win)........return;..... |
| a8c0 | 00 00 19 20 20 2f 2a 20 72 69 67 68 74 2d 63 6c 69 63 6b 3a 20 65 78 69 74 20 2a 2f 00 00 00 1c | ...../*.right-click:.exit.*/.... |
| a8e0 | 20 20 69 66 20 28 65 76 2d 3e 62 75 74 74 6f 6e 20 3d 3d 20 42 75 74 74 6f 6e 33 29 00 00 00 0c | ..if.(ev->button.==.Button3).... |
| a900 | 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 00 00 00 00 18 20 20 69 66 20 28 70 72 6f 6d 70 74 | ....exit(1);..........if.(prompt |
| a920 | 20 26 26 20 2a 70 72 6f 6d 70 74 29 00 00 00 11 20 20 20 20 78 20 2b 3d 20 70 72 6f 6d 70 74 77 | .&&.*prompt)........x.+=.promptw |
| a940 | 3b 00 00 00 00 00 00 00 13 20 20 2f 2a 20 69 6e 70 75 74 20 66 69 65 6c 64 20 2a 2f 00 00 00 30 | ;........../*.input.field.*/...0 |
| a960 | 20 20 77 20 3d 20 28 6c 69 6e 65 73 20 3e 20 30 20 7c 7c 20 21 6d 61 74 63 68 65 73 29 20 3f 20 | ..w.=.(lines.>.0.||.!matches).?. |
| a980 | 6d 77 20 2d 20 78 20 3a 20 69 6e 70 75 74 77 3b 00 00 00 00 00 00 00 26 20 20 2f 2a 20 6c 65 66 | mw.-.x.:.inputw;.......&../*.lef |
| a9a0 | 74 2d 63 6c 69 63 6b 20 6f 6e 20 69 6e 70 75 74 3a 20 63 6c 65 61 72 20 69 6e 70 75 74 2c 00 00 | t-click.on.input:.clear.input,.. |
| a9c0 | 00 43 20 20 20 2a 20 4e 4f 54 45 3a 20 69 66 20 74 68 65 72 65 20 69 73 20 6e 6f 20 6c 65 66 74 | .C...*.NOTE:.if.there.is.no.left |
| a9e0 | 2d 61 72 72 6f 77 20 74 68 65 20 73 70 61 63 65 20 66 6f 72 20 3c 20 69 73 20 72 65 73 65 72 76 | -arrow.the.space.for.<.is.reserv |
| aa00 | 65 64 20 73 6f 00 00 00 29 20 20 20 2a 20 20 20 20 20 20 20 61 64 64 20 74 68 61 74 20 74 6f 20 | ed.so...)...*.......add.that.to. |
| aa20 | 74 68 65 20 69 6e 70 75 74 20 77 69 64 74 68 20 2a 2f 00 00 00 1e 20 20 69 66 20 28 65 76 2d 3e | the.input.width.*/......if.(ev-> |
| aa40 | 62 75 74 74 6f 6e 20 3d 3d 20 42 75 74 74 6f 6e 31 20 26 26 00 00 00 23 20 20 20 20 20 20 28 28 | button.==.Button1.&&...#......(( |
| aa60 | 6c 69 6e 65 73 20 3c 3d 20 30 20 26 26 20 65 76 2d 3e 78 20 3e 3d 20 30 20 26 26 00 00 00 46 20 | lines.<=.0.&&.ev->x.>=.0.&&...F. |
| aa80 | 20 20 20 20 20 20 20 65 76 2d 3e 78 20 3c 3d 20 78 20 2b 20 77 20 2b 20 28 28 21 70 72 65 76 20 | .......ev->x.<=.x.+.w.+.((!prev. |
| aaa0 | 7c 7c 20 21 63 75 72 72 2d 3e 6c 65 66 74 29 20 3f 20 54 45 58 54 57 28 22 3c 22 29 20 3a 20 30 | ||.!curr->left).?.TEXTW("<").:.0 |
| aac0 | 29 29 20 7c 7c 00 00 00 36 20 20 20 20 20 20 20 28 6c 69 6e 65 73 20 3e 20 30 20 26 26 20 65 76 | )).||...6.......(lines.>.0.&&.ev |
| aae0 | 2d 3e 79 20 3e 3d 20 79 20 26 26 20 65 76 2d 3e 79 20 3c 3d 20 79 20 2b 20 68 29 29 29 20 7b 00 | ->y.>=.y.&&.ev->y.<=.y.+.h))).{. |
| ab00 | 00 00 1a 20 20 20 20 69 6e 73 65 72 74 28 4e 55 4c 4c 2c 20 2d 63 75 72 73 6f 72 29 3b 00 00 00 | .......insert(NULL,.-cursor);... |
| ab20 | 0f 20 20 20 20 64 72 61 77 6d 65 6e 75 28 29 3b 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 | .....drawmenu();........return;. |
| ab40 | 00 00 03 20 20 7d 00 00 00 2b 20 20 2f 2a 20 6d 69 64 64 6c 65 2d 6d 6f 75 73 65 20 63 6c 69 63 | .....}...+../*.middle-mouse.clic |
| ab60 | 6b 3a 20 70 61 73 74 65 20 73 65 6c 65 63 74 69 6f 6e 20 2a 2f 00 00 00 1e 20 20 69 66 20 28 65 | k:.paste.selection.*/......if.(e |
| ab80 | 76 2d 3e 62 75 74 74 6f 6e 20 3d 3d 20 42 75 74 74 6f 6e 32 29 20 7b 00 00 00 4d 20 20 20 20 58 | v->button.==.Button2).{...M....X |
| aba0 | 43 6f 6e 76 65 72 74 53 65 6c 65 63 74 69 6f 6e 28 64 70 79 2c 20 28 65 76 2d 3e 73 74 61 74 65 | ConvertSelection(dpy,.(ev->state |
| abc0 | 20 26 20 53 68 69 66 74 4d 61 73 6b 29 20 3f 20 63 6c 69 70 20 3a 20 58 41 5f 50 52 49 4d 41 52 | .&.ShiftMask).?.clip.:.XA_PRIMAR |
| abe0 | 59 2c 20 75 74 66 38 2c 00 00 00 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | Y,.utf8,........................ |
| ac00 | 20 20 75 74 66 38 2c 20 77 69 6e 2c 20 43 75 72 72 65 6e 74 54 69 6d 65 29 3b 00 00 00 0f 20 20 | ..utf8,.win,.CurrentTime);...... |
| ac20 | 20 20 64 72 61 77 6d 65 6e 75 28 29 3b 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 03 | ..drawmenu();........return;.... |
| ac40 | 20 20 7d 00 00 00 11 20 20 2f 2a 20 73 63 72 6f 6c 6c 20 75 70 20 2a 2f 00 00 00 26 20 20 69 66 | ..}....../*.scroll.up.*/...&..if |
| ac60 | 20 28 65 76 2d 3e 62 75 74 74 6f 6e 20 3d 3d 20 42 75 74 74 6f 6e 34 20 26 26 20 70 72 65 76 29 | .(ev->button.==.Button4.&&.prev) |
| ac80 | 20 7b 00 00 00 16 20 20 20 20 73 65 6c 20 3d 20 63 75 72 72 20 3d 20 70 72 65 76 3b 00 00 00 12 | .{........sel.=.curr.=.prev;.... |
| aca0 | 20 20 20 20 63 61 6c 63 6f 66 66 73 65 74 73 28 29 3b 00 00 00 0f 20 20 20 20 64 72 61 77 6d 65 | ....calcoffsets();........drawme |
| acc0 | 6e 75 28 29 3b 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 03 20 20 7d 00 00 00 13 20 | nu();........return;......}..... |
| ace0 | 20 2f 2a 20 73 63 72 6f 6c 6c 20 64 6f 77 6e 20 2a 2f 00 00 00 26 20 20 69 66 20 28 65 76 2d 3e | ./*.scroll.down.*/...&..if.(ev-> |
| ad00 | 62 75 74 74 6f 6e 20 3d 3d 20 42 75 74 74 6f 6e 35 20 26 26 20 6e 65 78 74 29 20 7b 00 00 00 16 | button.==.Button5.&&.next).{.... |
| ad20 | 20 20 20 20 73 65 6c 20 3d 20 63 75 72 72 20 3d 20 6e 65 78 74 3b 00 00 00 12 20 20 20 20 63 61 | ....sel.=.curr.=.next;........ca |
| ad40 | 6c 63 6f 66 66 73 65 74 73 28 29 3b 00 00 00 0f 20 20 20 20 64 72 61 77 6d 65 6e 75 28 29 3b 00 | lcoffsets();........drawmenu();. |
| ad60 | 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 03 20 20 7d 00 00 00 1c 20 20 69 66 20 28 65 | .......return;......}......if.(e |
| ad80 | 76 2d 3e 62 75 74 74 6f 6e 20 21 3d 20 42 75 74 74 6f 6e 31 29 00 00 00 0b 20 20 20 20 72 65 74 | v->button.!=.Button1)........ret |
| ada0 | 75 72 6e 3b 00 00 00 1f 20 20 69 66 20 28 65 76 2d 3e 73 74 61 74 65 20 26 20 7e 43 6f 6e 74 72 | urn;......if.(ev->state.&.~Contr |
| adc0 | 6f 6c 4d 61 73 6b 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 12 20 20 69 66 20 28 | olMask)........return;......if.( |
| ade0 | 6c 69 6e 65 73 20 3e 20 30 29 20 7b 00 00 00 31 20 20 20 20 2f 2a 20 76 65 72 74 69 63 61 6c 20 | lines.>.0).{...1..../*.vertical. |
| ae00 | 6c 69 73 74 3a 20 28 63 74 72 6c 29 6c 65 66 74 2d 63 6c 69 63 6b 20 6f 6e 20 69 74 65 6d 20 2a | list:.(ctrl)left-click.on.item.* |
| ae20 | 2f 00 00 00 0f 20 20 20 20 77 20 3d 20 6d 77 20 2d 20 78 3b 00 00 00 39 20 20 20 20 66 6f 72 20 | /........w.=.mw.-.x;...9....for. |
| ae40 | 28 69 74 65 6d 20 3d 20 63 75 72 72 3b 20 69 74 65 6d 20 21 3d 20 6e 65 78 74 3b 20 69 74 65 6d | (item.=.curr;.item.!=.next;.item |
| ae60 | 20 3d 20 69 74 65 6d 2d 3e 72 69 67 68 74 29 20 7b 00 00 00 0d 20 20 20 20 20 20 79 20 2b 3d 20 | .=.item->right).{..........y.+=. |
| ae80 | 68 3b 00 00 00 2b 20 20 20 20 20 20 69 66 20 28 65 76 2d 3e 79 20 3e 3d 20 79 20 26 26 20 65 76 | h;...+......if.(ev->y.>=.y.&&.ev |
| aea0 | 2d 3e 79 20 3c 3d 20 28 79 20 2b 20 68 29 29 20 7b 00 00 00 19 20 20 20 20 20 20 20 20 70 75 74 | ->y.<=.(y.+.h)).{............put |
| aec0 | 73 28 69 74 65 6d 2d 3e 74 65 78 74 29 3b 00 00 00 27 20 20 20 20 20 20 20 20 69 66 20 28 21 28 | s(item->text);...'........if.(!( |
| aee0 | 65 76 2d 3e 73 74 61 74 65 20 26 20 43 6f 6e 74 72 6f 6c 4d 61 73 6b 29 29 00 00 00 12 20 20 20 | ev->state.&.ControlMask))....... |
| af00 | 20 20 20 20 20 20 20 65 78 69 74 28 30 29 3b 00 00 00 13 20 20 20 20 20 20 20 20 73 65 6c 20 3d | .......exit(0);............sel.= |
| af20 | 20 69 74 65 6d 3b 00 00 00 12 20 20 20 20 20 20 20 20 69 66 20 28 73 65 6c 29 20 7b 00 00 00 17 | .item;............if.(sel).{.... |
| af40 | 20 20 20 20 20 20 20 20 20 20 73 65 6c 2d 3e 6f 75 74 20 3d 20 31 3b 00 00 00 15 20 20 20 20 20 | ..........sel->out.=.1;......... |
| af60 | 20 20 20 20 20 64 72 61 77 6d 65 6e 75 28 29 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 | .....drawmenu();............}... |
| af80 | 0f 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 05 20 | .........return;..........}..... |
| afa0 | 20 20 20 7d 00 00 00 17 20 20 7d 20 65 6c 73 65 20 69 66 20 28 6d 61 74 63 68 65 73 29 20 7b 00 | ...}......}.else.if.(matches).{. |
| afc0 | 00 00 22 20 20 20 20 2f 2a 20 6c 65 66 74 2d 63 6c 69 63 6b 20 6f 6e 20 6c 65 66 74 20 61 72 72 | .."..../*.left-click.on.left.arr |
| afe0 | 6f 77 20 2a 2f 00 00 00 10 20 20 20 20 78 20 2b 3d 20 69 6e 70 75 74 77 3b 00 00 00 13 20 20 20 | ow.*/........x.+=.inputw;....... |
| b000 | 20 77 20 3d 20 54 45 58 54 57 28 22 3c 22 29 3b 00 00 00 1d 20 20 20 20 69 66 20 28 70 72 65 76 | .w.=.TEXTW("<");........if.(prev |
| b020 | 20 26 26 20 63 75 72 72 2d 3e 6c 65 66 74 29 20 7b 00 00 00 29 20 20 20 20 20 20 69 66 20 28 65 | .&&.curr->left).{...)......if.(e |
| b040 | 76 2d 3e 78 20 3e 3d 20 78 20 26 26 20 65 76 2d 3e 78 20 3c 3d 20 78 20 2b 20 77 29 20 7b 00 00 | v->x.>=.x.&&.ev->x.<=.x.+.w).{.. |
| b060 | 00 1a 20 20 20 20 20 20 20 20 73 65 6c 20 3d 20 63 75 72 72 20 3d 20 70 72 65 76 3b 00 00 00 16 | ..........sel.=.curr.=.prev;.... |
| b080 | 20 20 20 20 20 20 20 20 63 61 6c 63 6f 66 66 73 65 74 73 28 29 3b 00 00 00 13 20 20 20 20 20 20 | ........calcoffsets();.......... |
| b0a0 | 20 20 64 72 61 77 6d 65 6e 75 28 29 3b 00 00 00 0f 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b | ..drawmenu();............return; |
| b0c0 | 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 33 20 20 20 20 2f 2a 20 68 | ..........}........}...3..../*.h |
| b0e0 | 6f 72 69 7a 6f 6e 74 61 6c 20 6c 69 73 74 3a 20 28 63 74 72 6c 29 6c 65 66 74 2d 63 6c 69 63 6b | orizontal.list:.(ctrl)left-click |
| b100 | 20 6f 6e 20 69 74 65 6d 20 2a 2f 00 00 00 39 20 20 20 20 66 6f 72 20 28 69 74 65 6d 20 3d 20 63 | .on.item.*/...9....for.(item.=.c |
| b120 | 75 72 72 3b 20 69 74 65 6d 20 21 3d 20 6e 65 78 74 3b 20 69 74 65 6d 20 3d 20 69 74 65 6d 2d 3e | urr;.item.!=.next;.item.=.item-> |
| b140 | 72 69 67 68 74 29 20 7b 00 00 00 0d 20 20 20 20 20 20 78 20 2b 3d 20 77 3b 00 00 00 36 20 20 20 | right).{..........x.+=.w;...6... |
| b160 | 20 20 20 77 20 3d 20 4d 49 4e 28 54 45 58 54 57 28 69 74 65 6d 2d 3e 74 65 78 74 29 2c 20 6d 77 | ...w.=.MIN(TEXTW(item->text),.mw |
| b180 | 20 2d 20 78 20 2d 20 54 45 58 54 57 28 22 3e 22 29 29 3b 00 00 00 29 20 20 20 20 20 20 69 66 20 | .-.x.-.TEXTW(">"));...)......if. |
| b1a0 | 28 65 76 2d 3e 78 20 3e 3d 20 78 20 26 26 20 65 76 2d 3e 78 20 3c 3d 20 78 20 2b 20 77 29 20 7b | (ev->x.>=.x.&&.ev->x.<=.x.+.w).{ |
| b1c0 | 00 00 00 19 20 20 20 20 20 20 20 20 70 75 74 73 28 69 74 65 6d 2d 3e 74 65 78 74 29 3b 00 00 00 | ............puts(item->text);... |
| b1e0 | 27 20 20 20 20 20 20 20 20 69 66 20 28 21 28 65 76 2d 3e 73 74 61 74 65 20 26 20 43 6f 6e 74 72 | '........if.(!(ev->state.&.Contr |
| b200 | 6f 6c 4d 61 73 6b 29 29 00 00 00 12 20 20 20 20 20 20 20 20 20 20 65 78 69 74 28 30 29 3b 00 00 | olMask))..............exit(0);.. |
| b220 | 00 13 20 20 20 20 20 20 20 20 73 65 6c 20 3d 20 69 74 65 6d 3b 00 00 00 12 20 20 20 20 20 20 20 | ..........sel.=.item;........... |
| b240 | 20 69 66 20 28 73 65 6c 29 20 7b 00 00 00 17 20 20 20 20 20 20 20 20 20 20 73 65 6c 2d 3e 6f 75 | .if.(sel).{..............sel->ou |
| b260 | 74 20 3d 20 31 3b 00 00 00 15 20 20 20 20 20 20 20 20 20 20 64 72 61 77 6d 65 6e 75 28 29 3b 00 | t.=.1;..............drawmenu();. |
| b280 | 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 0f 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 00 | ...........}............return;. |
| b2a0 | 00 00 07 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 23 20 20 20 20 2f 2a 20 6c 65 | .........}........}...#..../*.le |
| b2c0 | 66 74 2d 63 6c 69 63 6b 20 6f 6e 20 72 69 67 68 74 20 61 72 72 6f 77 20 2a 2f 00 00 00 13 20 20 | ft-click.on.right.arrow.*/...... |
| b2e0 | 20 20 77 20 3d 20 54 45 58 54 57 28 22 3e 22 29 3b 00 00 00 0f 20 20 20 20 78 20 3d 20 6d 77 20 | ..w.=.TEXTW(">");........x.=.mw. |
| b300 | 2d 20 77 3b 00 00 00 2f 20 20 20 20 69 66 20 28 6e 65 78 74 20 26 26 20 65 76 2d 3e 78 20 3e 3d | -.w;.../....if.(next.&&.ev->x.>= |
| b320 | 20 78 20 26 26 20 65 76 2d 3e 78 20 3c 3d 20 78 20 2b 20 77 29 20 7b 00 00 00 18 20 20 20 20 20 | .x.&&.ev->x.<=.x.+.w).{......... |
| b340 | 20 73 65 6c 20 3d 20 63 75 72 72 20 3d 20 6e 65 78 74 3b 00 00 00 14 20 20 20 20 20 20 63 61 6c | .sel.=.curr.=.next;..........cal |
| b360 | 63 6f 66 66 73 65 74 73 28 29 3b 00 00 00 11 20 20 20 20 20 20 64 72 61 77 6d 65 6e 75 28 29 3b | coffsets();..........drawmenu(); |
| b380 | 00 00 00 0d 20 20 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 | ..........return;........}...... |
| b3a0 | 7d 00 00 00 01 7d 00 00 00 00 00 00 00 19 73 74 61 74 69 63 20 76 6f 69 64 20 70 61 73 74 65 28 | }....}........static.void.paste( |
| b3c0 | 76 6f 69 64 29 20 7b 00 00 00 0e 20 20 63 68 61 72 20 2a 70 2c 20 2a 71 3b 00 00 00 09 20 20 69 | void).{......char.*p,.*q;......i |
| b3e0 | 6e 74 20 64 69 3b 00 00 00 13 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 64 6c 3b 00 00 00 | nt.di;......unsigned.long.dl;... |
| b400 | 0a 20 20 41 74 6f 6d 20 64 61 3b 00 00 00 00 00 00 00 4a 20 20 2f 2a 20 77 65 20 68 61 76 65 20 | ...Atom.da;.......J../*.we.have. |
| b420 | 62 65 65 6e 20 67 69 76 65 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 73 65 6c 65 63 74 69 6f 6e | been.given.the.current.selection |
| b440 | 2c 20 6e 6f 77 20 69 6e 73 65 72 74 20 69 74 20 69 6e 74 6f 20 69 6e 70 75 74 20 2a 2f 00 00 00 | ,.now.insert.it.into.input.*/... |
| b460 | 4f 20 20 69 66 20 28 58 47 65 74 57 69 6e 64 6f 77 50 72 6f 70 65 72 74 79 28 64 70 79 2c 20 77 | O..if.(XGetWindowProperty(dpy,.w |
| b480 | 69 6e 2c 20 75 74 66 38 2c 20 30 2c 20 28 73 69 7a 65 6f 66 20 74 65 78 74 20 2f 20 34 29 20 2b | in,.utf8,.0,.(sizeof.text./.4).+ |
| b4a0 | 20 31 2c 20 46 61 6c 73 65 2c 20 75 74 66 38 2c 00 00 00 50 20 20 20 20 20 20 20 20 20 20 20 20 | .1,.False,.utf8,...P............ |
| b4c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 26 64 61 2c 20 26 64 69 2c 20 26 64 6c 2c 20 26 64 6c 2c | .............&da,.&di,.&dl,.&dl, |
| b4e0 | 20 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 2a 29 26 70 29 20 3d 3d 20 53 75 63 63 65 73 | .(unsigned.char.**)&p).==.Succes |
| b500 | 73 20 26 26 00 00 00 0a 20 20 20 20 20 20 70 29 20 7b 00 00 00 42 20 20 20 20 69 6e 73 65 72 74 | s.&&..........p).{...B....insert |
| b520 | 28 70 2c 20 28 71 20 3d 20 73 74 72 63 68 72 28 70 2c 20 27 5c 6e 27 29 29 20 3f 20 71 20 2d 20 | (p,.(q.=.strchr(p,.'\n')).?.q.-. |
| b540 | 70 20 3a 20 28 73 73 69 7a 65 5f 74 29 73 74 72 6c 65 6e 28 70 29 29 3b 00 00 00 0d 20 20 20 20 | p.:.(ssize_t)strlen(p));........ |
| b560 | 58 46 72 65 65 28 70 29 3b 00 00 00 03 20 20 7d 00 00 00 0d 20 20 64 72 61 77 6d 65 6e 75 28 29 | XFree(p);......}......drawmenu() |
| b580 | 3b 00 00 00 01 7d 00 00 00 00 00 00 00 1d 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 61 64 73 74 | ;....}........static.void.readst |
| b5a0 | 64 69 6e 28 76 6f 69 64 29 20 7b 00 00 00 14 20 20 63 68 61 72 20 2a 6c 69 6e 65 20 3d 20 4e 55 | din(void).{......char.*line.=.NU |
| b5c0 | 4c 4c 3b 00 00 00 25 20 20 73 69 7a 65 5f 74 20 69 2c 20 69 74 65 6d 73 69 7a 20 3d 20 30 2c 20 | LL;...%..size_t.i,.itemsiz.=.0,. |
| b5e0 | 6c 69 6e 65 73 69 7a 20 3d 20 30 3b 00 00 00 0e 20 20 73 73 69 7a 65 5f 74 20 6c 65 6e 3b 00 00 | linesiz.=.0;......ssize_t.len;.. |
| b600 | 00 00 00 00 00 3d 20 20 2f 2a 20 72 65 61 64 20 65 61 63 68 20 6c 69 6e 65 20 66 72 6f 6d 20 73 | .....=../*.read.each.line.from.s |
| b620 | 74 64 69 6e 20 61 6e 64 20 61 64 64 20 69 74 20 74 6f 20 74 68 65 20 69 74 65 6d 20 6c 69 73 74 | tdin.and.add.it.to.the.item.list |
| b640 | 20 2a 2f 00 00 00 43 20 20 66 6f 72 20 28 69 20 3d 20 30 3b 20 28 6c 65 6e 20 3d 20 67 65 74 6c | .*/...C..for.(i.=.0;.(len.=.getl |
| b660 | 69 6e 65 28 26 6c 69 6e 65 2c 20 26 6c 69 6e 65 73 69 7a 2c 20 73 74 64 69 6e 29 29 20 21 3d 20 | ine(&line,.&linesiz,.stdin)).!=. |
| b680 | 2d 31 3b 20 69 2b 2b 29 20 7b 00 00 00 1b 20 20 20 20 69 66 20 28 69 20 2b 20 31 20 3e 3d 20 69 | -1;.i++).{........if.(i.+.1.>=.i |
| b6a0 | 74 65 6d 73 69 7a 29 20 7b 00 00 00 15 20 20 20 20 20 20 69 74 65 6d 73 69 7a 20 2b 3d 20 32 35 | temsiz).{..........itemsiz.+=.25 |
| b6c0 | 36 3b 00 00 00 3e 20 20 20 20 20 20 69 66 20 28 21 28 69 74 65 6d 73 20 3d 20 72 65 61 6c 6c 6f | 6;...>......if.(!(items.=.reallo |
| b6e0 | 63 28 69 74 65 6d 73 2c 20 69 74 65 6d 73 69 7a 20 2a 20 73 69 7a 65 6f 66 28 2a 69 74 65 6d 73 | c(items,.itemsiz.*.sizeof(*items |
| b700 | 29 29 29 29 00 00 00 43 20 20 20 20 20 20 20 20 64 69 65 28 22 63 61 6e 6e 6f 74 20 72 65 61 6c | ))))...C........die("cannot.real |
| b720 | 6c 6f 63 20 25 7a 75 20 62 79 74 65 73 3a 22 2c 20 69 74 65 6d 73 69 7a 20 2a 20 73 69 7a 65 6f | loc.%zu.bytes:",.itemsiz.*.sizeo |
| b740 | 66 28 2a 69 74 65 6d 73 29 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 1e 20 20 20 20 69 66 20 28 | f(*items));........}........if.( |
| b760 | 6c 69 6e 65 5b 6c 65 6e 20 2d 20 31 5d 20 3d 3d 20 27 5c 6e 27 29 00 00 00 1b 20 20 20 20 20 20 | line[len.-.1].==.'\n').......... |
| b780 | 6c 69 6e 65 5b 6c 65 6e 20 2d 20 31 5d 20 3d 20 27 5c 30 27 3b 00 00 00 28 20 20 20 20 69 66 20 | line[len.-.1].=.'\0';...(....if. |
| b7a0 | 28 21 28 69 74 65 6d 73 5b 69 5d 2e 74 65 78 74 20 3d 20 73 74 72 64 75 70 28 6c 69 6e 65 29 29 | (!(items[i].text.=.strdup(line)) |
| b7c0 | 29 00 00 00 15 20 20 20 20 20 20 64 69 65 28 22 73 74 72 64 75 70 3a 22 29 3b 00 00 00 00 00 00 | )..........die("strdup:");...... |
| b7e0 | 00 15 20 20 20 20 69 74 65 6d 73 5b 69 5d 2e 6f 75 74 20 3d 20 30 3b 00 00 00 03 20 20 7d 00 00 | ......items[i].out.=.0;......}.. |
| b800 | 00 0d 20 20 66 72 65 65 28 6c 69 6e 65 29 3b 00 00 00 0c 20 20 69 66 20 28 69 74 65 6d 73 29 00 | ....free(line);......if.(items). |
| b820 | 00 00 19 20 20 20 20 69 74 65 6d 73 5b 69 5d 2e 74 65 78 74 20 3d 20 4e 55 4c 4c 3b 00 00 00 18 | .......items[i].text.=.NULL;.... |
| b840 | 20 20 6c 69 6e 65 73 20 3d 20 4d 49 4e 28 6c 69 6e 65 73 2c 20 69 29 3b 00 00 00 01 7d 00 00 00 | ..lines.=.MIN(lines,.i);....}... |
| b860 | 00 00 00 00 17 73 74 61 74 69 63 20 76 6f 69 64 20 72 75 6e 28 76 6f 69 64 29 20 7b 00 00 00 0c | .....static.void.run(void).{.... |
| b880 | 20 20 58 45 76 65 6e 74 20 65 76 3b 00 00 00 00 00 00 00 21 20 20 77 68 69 6c 65 20 28 21 58 4e | ..XEvent.ev;.......!..while.(!XN |
| b8a0 | 65 78 74 45 76 65 6e 74 28 64 70 79 2c 20 26 65 76 29 29 20 7b 00 00 00 1f 20 20 20 20 69 66 20 | extEvent(dpy,.&ev)).{........if. |
| b8c0 | 28 58 46 69 6c 74 65 72 45 76 65 6e 74 28 26 65 76 2c 20 77 69 6e 29 29 00 00 00 0f 20 20 20 20 | (XFilterEvent(&ev,.win))........ |
| b8e0 | 20 20 63 6f 6e 74 69 6e 75 65 3b 00 00 00 16 20 20 20 20 73 77 69 74 63 68 20 28 65 76 2e 74 79 | ..continue;........switch.(ev.ty |
| b900 | 70 65 29 20 7b 00 00 00 17 20 20 20 20 63 61 73 65 20 44 65 73 74 72 6f 79 4e 6f 74 69 66 79 3a | pe).{........case.DestroyNotify: |
| b920 | 00 00 00 2a 20 20 20 20 20 20 69 66 20 28 65 76 2e 78 64 65 73 74 72 6f 79 77 69 6e 64 6f 77 2e | ...*......if.(ev.xdestroywindow. |
| b940 | 77 69 6e 64 6f 77 20 21 3d 20 77 69 6e 29 00 00 00 0e 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b | window.!=.win)............break; |
| b960 | 00 00 00 10 20 20 20 20 20 20 63 6c 65 61 6e 75 70 28 29 3b 00 00 00 0e 20 20 20 20 20 20 65 78 | ..........cleanup();..........ex |
| b980 | 69 74 28 31 29 3b 00 00 00 15 20 20 20 20 63 61 73 65 20 42 75 74 74 6f 6e 50 72 65 73 73 3a 00 | it(1);........case.ButtonPress:. |
| b9a0 | 00 00 17 20 20 20 20 20 20 62 75 74 74 6f 6e 70 72 65 73 73 28 26 65 76 29 3b 00 00 00 0c 20 20 | .........buttonpress(&ev);...... |
| b9c0 | 20 20 20 20 62 72 65 61 6b 3b 00 00 00 10 20 20 20 20 63 61 73 65 20 45 78 70 6f 73 65 3a 00 00 | ....break;........case.Expose:.. |
| b9e0 | 00 20 20 20 20 20 20 20 69 66 20 28 65 76 2e 78 65 78 70 6f 73 65 2e 63 6f 75 6e 74 20 3d 3d 20 | ........if.(ev.xexpose.count.==. |
| ba00 | 30 29 00 00 00 28 20 20 20 20 20 20 20 20 64 72 77 5f 6d 61 70 28 64 72 77 2c 20 77 69 6e 2c 20 | 0)...(........drw_map(drw,.win,. |
| ba20 | 30 2c 20 30 2c 20 6d 77 2c 20 6d 68 29 3b 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 | 0,.0,.mw,.mh);..........break;.. |
| ba40 | 00 11 20 20 20 20 63 61 73 65 20 46 6f 63 75 73 49 6e 3a 00 00 00 2b 20 20 20 20 20 20 2f 2a 20 | ......case.FocusIn:...+....../*. |
| ba60 | 72 65 67 72 61 62 20 66 6f 63 75 73 20 66 72 6f 6d 20 70 61 72 65 6e 74 20 77 69 6e 64 6f 77 20 | regrab.focus.from.parent.window. |
| ba80 | 2a 2f 00 00 00 22 20 20 20 20 20 20 69 66 20 28 65 76 2e 78 66 6f 63 75 73 2e 77 69 6e 64 6f 77 | */..."......if.(ev.xfocus.window |
| baa0 | 20 21 3d 20 77 69 6e 29 00 00 00 14 20 20 20 20 20 20 20 20 67 72 61 62 66 6f 63 75 73 28 29 3b | .!=.win)............grabfocus(); |
| bac0 | 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 12 20 20 20 20 63 61 73 65 20 4b 65 79 | ..........break;........case.Key |
| bae0 | 50 72 65 73 73 3a 00 00 00 19 20 20 20 20 20 20 6b 65 79 70 72 65 73 73 28 26 65 76 2e 78 6b 65 | Press:..........keypress(&ev.xke |
| bb00 | 79 29 3b 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 19 20 20 20 20 63 61 73 65 20 | y);..........break;........case. |
| bb20 | 53 65 6c 65 63 74 69 6f 6e 4e 6f 74 69 66 79 3a 00 00 00 29 20 20 20 20 20 20 69 66 20 28 65 76 | SelectionNotify:...)......if.(ev |
| bb40 | 2e 78 73 65 6c 65 63 74 69 6f 6e 2e 70 72 6f 70 65 72 74 79 20 3d 3d 20 75 74 66 38 29 00 00 00 | .xselection.property.==.utf8)... |
| bb60 | 10 20 20 20 20 20 20 20 20 70 61 73 74 65 28 29 3b 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b | .........paste();..........break |
| bb80 | 3b 00 00 00 1a 20 20 20 20 63 61 73 65 20 56 69 73 69 62 69 6c 69 74 79 4e 6f 74 69 66 79 3a 00 | ;........case.VisibilityNotify:. |
| bba0 | 00 00 37 20 20 20 20 20 20 69 66 20 28 65 76 2e 78 76 69 73 69 62 69 6c 69 74 79 2e 73 74 61 74 | ..7......if.(ev.xvisibility.stat |
| bbc0 | 65 20 21 3d 20 56 69 73 69 62 69 6c 69 74 79 55 6e 6f 62 73 63 75 72 65 64 29 00 00 00 1f 20 20 | e.!=.VisibilityUnobscured)...... |
| bbe0 | 20 20 20 20 20 20 58 52 61 69 73 65 57 69 6e 64 6f 77 28 64 70 79 2c 20 77 69 6e 29 3b 00 00 00 | ......XRaiseWindow(dpy,.win);... |
| bc00 | 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 | .......break;........}......}... |
| bc20 | 01 7d 00 00 00 00 00 00 00 19 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 74 75 70 28 76 6f 69 64 | .}........static.void.setup(void |
| bc40 | 29 20 7b 00 00 00 11 20 20 69 6e 74 20 78 2c 20 79 2c 20 69 2c 20 6a 3b 00 00 00 12 20 20 75 6e | ).{......int.x,.y,.i,.j;......un |
| bc60 | 73 69 67 6e 65 64 20 69 6e 74 20 64 75 3b 00 00 00 1b 20 20 58 53 65 74 57 69 6e 64 6f 77 41 74 | signed.int.du;......XSetWindowAt |
| bc80 | 74 72 69 62 75 74 65 73 20 73 77 61 3b 00 00 00 0a 20 20 58 49 4d 20 78 69 6d 3b 00 00 00 15 20 | tributes.swa;......XIM.xim;..... |
| bca0 | 20 57 69 6e 64 6f 77 20 77 2c 20 64 77 2c 20 2a 64 77 73 3b 00 00 00 17 20 20 58 57 69 6e 64 6f | .Window.w,.dw,.*dws;......XWindo |
| bcc0 | 77 41 74 74 72 69 62 75 74 65 73 20 77 61 3b 00 00 00 25 20 20 58 43 6c 61 73 73 48 69 6e 74 20 | wAttributes.wa;...%..XClassHint. |
| bce0 | 63 68 20 3d 20 7b 22 64 6d 65 6e 75 22 2c 20 22 64 6d 65 6e 75 22 7d 3b 00 00 00 0f 23 69 66 64 | ch.=.{"dmenu",."dmenu"};....#ifd |
| bd00 | 65 66 20 58 49 4e 45 52 41 4d 41 00 00 00 1b 20 20 58 69 6e 65 72 61 6d 61 53 63 72 65 65 6e 49 | ef.XINERAMA......XineramaScreenI |
| bd20 | 6e 66 6f 20 2a 69 6e 66 6f 3b 00 00 00 0c 20 20 57 69 6e 64 6f 77 20 70 77 3b 00 00 00 19 20 20 | nfo.*info;......Window.pw;...... |
| bd40 | 69 6e 74 20 61 2c 20 64 69 2c 20 6e 2c 20 61 72 65 61 20 3d 20 30 3b 00 00 00 06 23 65 6e 64 69 | int.a,.di,.n,.area.=.0;....#endi |
| bd60 | 66 00 00 00 17 20 20 2f 2a 20 69 6e 69 74 20 61 70 70 65 61 72 61 6e 63 65 20 2a 2f 00 00 00 22 | f....../*.init.appearance.*/..." |
| bd80 | 20 20 66 6f 72 20 28 6a 20 3d 20 30 3b 20 6a 20 3c 20 53 63 68 65 6d 65 4c 61 73 74 3b 20 6a 2b | ..for.(j.=.0;.j.<.SchemeLast;.j+ |
| bda0 | 2b 29 00 00 00 32 20 20 20 20 73 63 68 65 6d 65 5b 6a 5d 20 3d 20 64 72 77 5f 73 63 6d 5f 63 72 | +)...2....scheme[j].=.drw_scm_cr |
| bdc0 | 65 61 74 65 28 64 72 77 2c 20 63 6f 6c 6f 72 73 5b 6a 5d 2c 20 32 29 3b 00 00 00 00 00 00 00 2e | eate(drw,.colors[j],.2);........ |
| bde0 | 20 20 63 6c 69 70 20 3d 20 58 49 6e 74 65 72 6e 41 74 6f 6d 28 64 70 79 2c 20 22 43 4c 49 50 42 | ..clip.=.XInternAtom(dpy,."CLIPB |
| be00 | 4f 41 52 44 22 2c 20 46 61 6c 73 65 29 3b 00 00 00 30 20 20 75 74 66 38 20 3d 20 58 49 6e 74 65 | OARD",.False);...0..utf8.=.XInte |
| be20 | 72 6e 41 74 6f 6d 28 64 70 79 2c 20 22 55 54 46 38 5f 53 54 52 49 4e 47 22 2c 20 46 61 6c 73 65 | rnAtom(dpy,."UTF8_STRING",.False |
| be40 | 29 3b 00 00 00 00 00 00 00 1f 20 20 2f 2a 20 63 61 6c 63 75 6c 61 74 65 20 6d 65 6e 75 20 67 65 | );........../*.calculate.menu.ge |
| be60 | 6f 6d 65 74 72 79 20 2a 2f 00 00 00 18 20 20 2f 2f 20 62 68 20 3d 20 64 72 77 2d 3e 66 6f 6e 74 | ometry.*/......//.bh.=.drw->font |
| be80 | 73 2d 3e 68 3b 00 00 00 22 20 20 62 68 20 3d 20 64 72 77 2d 3e 66 6f 6e 74 73 2d 3e 68 20 2b 20 | s->h;..."..bh.=.drw->fonts->h.+. |
| bea0 | 76 65 72 74 70 61 64 62 61 72 3b 00 00 00 27 20 20 62 68 20 3d 20 75 73 65 72 5f 62 68 20 3f 20 | vertpadbar;...'..bh.=.user_bh.?. |
| bec0 | 62 68 20 2b 20 75 73 65 72 5f 62 68 20 3a 20 62 68 20 2b 20 32 3b 00 00 00 18 20 20 6c 69 6e 65 | bh.+.user_bh.:.bh.+.2;......line |
| bee0 | 73 20 3d 20 4d 41 58 28 6c 69 6e 65 73 2c 20 30 29 3b 00 00 00 18 20 20 6d 68 20 3d 20 28 6c 69 | s.=.MAX(lines,.0);......mh.=.(li |
| bf00 | 6e 65 73 20 2b 20 31 29 20 2a 20 62 68 3b 00 00 00 0f 23 69 66 64 65 66 20 58 49 4e 45 52 41 4d | nes.+.1).*.bh;....#ifdef.XINERAM |
| bf20 | 41 00 00 00 08 20 20 69 20 3d 20 30 3b 00 00 00 44 20 20 69 66 20 28 70 61 72 65 6e 74 77 69 6e | A......i.=.0;...D..if.(parentwin |
| bf40 | 20 3d 3d 20 72 6f 6f 74 20 26 26 20 28 69 6e 66 6f 20 3d 20 58 69 6e 65 72 61 6d 61 51 75 65 72 | .==.root.&&.(info.=.XineramaQuer |
| bf60 | 79 53 63 72 65 65 6e 73 28 64 70 79 2c 20 26 6e 29 29 29 20 7b 00 00 00 21 20 20 20 20 58 47 65 | yScreens(dpy,.&n))).{...!....XGe |
| bf80 | 74 49 6e 70 75 74 46 6f 63 75 73 28 64 70 79 2c 20 26 77 2c 20 26 64 69 29 3b 00 00 00 1c 20 20 | tInputFocus(dpy,.&w,.&di);...... |
| bfa0 | 20 20 69 66 20 28 6d 6f 6e 20 3e 3d 20 30 20 26 26 20 6d 6f 6e 20 3c 20 6e 29 00 00 00 0e 20 20 | ..if.(mon.>=.0.&&.mon.<.n)...... |
| bfc0 | 20 20 20 20 69 20 3d 20 6d 6f 6e 3b 00 00 00 3a 20 20 20 20 65 6c 73 65 20 69 66 20 28 77 20 21 | ....i.=.mon;...:....else.if.(w.! |
| bfe0 | 3d 20 72 6f 6f 74 20 26 26 20 77 20 21 3d 20 50 6f 69 6e 74 65 72 52 6f 6f 74 20 26 26 20 77 20 | =.root.&&.w.!=.PointerRoot.&&.w. |
| c000 | 21 3d 20 4e 6f 6e 65 29 20 7b 00 00 00 40 20 20 20 20 20 20 2f 2a 20 66 69 6e 64 20 74 6f 70 2d | !=.None).{...@....../*.find.top- |
| c020 | 6c 65 76 65 6c 20 77 69 6e 64 6f 77 20 63 6f 6e 74 61 69 6e 69 6e 67 20 63 75 72 72 65 6e 74 20 | level.window.containing.current. |
| c040 | 69 6e 70 75 74 20 66 6f 63 75 73 20 2a 2f 00 00 00 0a 20 20 20 20 20 20 64 6f 20 7b 00 00 00 41 | input.focus.*/..........do.{...A |
| c060 | 20 20 20 20 20 20 20 20 69 66 20 28 58 51 75 65 72 79 54 72 65 65 28 64 70 79 2c 20 28 70 77 20 | ........if.(XQueryTree(dpy,.(pw. |
| c080 | 3d 20 77 29 2c 20 26 64 77 2c 20 26 77 2c 20 26 64 77 73 2c 20 26 64 75 29 20 26 26 20 64 77 73 | =.w),.&dw,.&w,.&dws,.&du).&&.dws |
| c0a0 | 29 00 00 00 15 20 20 20 20 20 20 20 20 20 20 58 46 72 65 65 28 64 77 73 29 3b 00 00 00 25 20 20 | )..............XFree(dws);...%.. |
| c0c0 | 20 20 20 20 7d 20 77 68 69 6c 65 20 28 77 20 21 3d 20 72 6f 6f 74 20 26 26 20 77 20 21 3d 20 70 | ....}.while.(w.!=.root.&&.w.!=.p |
| c0e0 | 77 29 3b 00 00 00 46 20 20 20 20 20 20 2f 2a 20 66 69 6e 64 20 78 69 6e 65 72 61 6d 61 20 73 63 | w);...F....../*.find.xinerama.sc |
| c100 | 72 65 65 6e 20 77 69 74 68 20 77 68 69 63 68 20 74 68 65 20 77 69 6e 64 6f 77 20 69 6e 74 65 72 | reen.with.which.the.window.inter |
| c120 | 73 65 63 74 73 20 6d 6f 73 74 20 2a 2f 00 00 00 2d 20 20 20 20 20 20 69 66 20 28 58 47 65 74 57 | sects.most.*/...-......if.(XGetW |
| c140 | 69 6e 64 6f 77 41 74 74 72 69 62 75 74 65 73 28 64 70 79 2c 20 70 77 2c 20 26 77 61 29 29 00 00 | indowAttributes(dpy,.pw,.&wa)).. |
| c160 | 00 1f 20 20 20 20 20 20 20 20 66 6f 72 20 28 6a 20 3d 20 30 3b 20 6a 20 3c 20 6e 3b 20 6a 2b 2b | ..........for.(j.=.0;.j.<.n;.j++ |
| c180 | 29 00 00 00 49 20 20 20 20 20 20 20 20 20 20 69 66 20 28 28 61 20 3d 20 49 4e 54 45 52 53 45 43 | )...I..........if.((a.=.INTERSEC |
| c1a0 | 54 28 77 61 2e 78 2c 20 77 61 2e 79 2c 20 77 61 2e 77 69 64 74 68 2c 20 77 61 2e 68 65 69 67 68 | T(wa.x,.wa.y,.wa.width,.wa.heigh |
| c1c0 | 74 2c 20 69 6e 66 6f 5b 6a 5d 29 29 20 3e 00 00 00 15 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | t,.info[j])).>.................. |
| c1e0 | 61 72 65 61 29 20 7b 00 00 00 15 20 20 20 20 20 20 20 20 20 20 20 20 61 72 65 61 20 3d 20 61 3b | area).{................area.=.a; |
| c200 | 00 00 00 12 20 20 20 20 20 20 20 20 20 20 20 20 69 20 3d 20 6a 3b 00 00 00 0b 20 20 20 20 20 20 | ................i.=.j;.......... |
| c220 | 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 49 20 20 20 20 2f 2a 20 6e 6f 20 66 6f 63 75 | ....}........}...I..../*.no.focu |
| c240 | 73 65 64 20 77 69 6e 64 6f 77 20 69 73 20 6f 6e 20 73 63 72 65 65 6e 2c 20 73 6f 20 75 73 65 20 | sed.window.is.on.screen,.so.use. |
| c260 | 70 6f 69 6e 74 65 72 20 6c 6f 63 61 74 69 6f 6e 20 69 6e 73 74 65 61 64 20 2a 2f 00 00 00 1b 20 | pointer.location.instead.*/..... |
| c280 | 20 20 20 69 66 20 28 6d 6f 6e 20 3c 20 30 20 26 26 20 21 61 72 65 61 20 26 26 00 00 00 42 20 20 | ...if.(mon.<.0.&&.!area.&&...B.. |
| c2a0 | 20 20 20 20 20 20 58 51 75 65 72 79 50 6f 69 6e 74 65 72 28 64 70 79 2c 20 72 6f 6f 74 2c 20 26 | ......XQueryPointer(dpy,.root,.& |
| c2c0 | 64 77 2c 20 26 64 77 2c 20 26 78 2c 20 26 79 2c 20 26 64 69 2c 20 26 64 69 2c 20 26 64 75 29 29 | dw,.&dw,.&x,.&y,.&di,.&di,.&du)) |
| c2e0 | 00 00 00 1d 20 20 20 20 20 20 66 6f 72 20 28 69 20 3d 20 30 3b 20 69 20 3c 20 6e 3b 20 69 2b 2b | ..........for.(i.=.0;.i.<.n;.i++ |
| c300 | 29 00 00 00 30 20 20 20 20 20 20 20 20 69 66 20 28 49 4e 54 45 52 53 45 43 54 28 78 2c 20 79 2c | )...0........if.(INTERSECT(x,.y, |
| c320 | 20 31 2c 20 31 2c 20 69 6e 66 6f 5b 69 5d 29 20 21 3d 20 30 29 00 00 00 10 20 20 20 20 20 20 20 | .1,.1,.info[i]).!=.0)........... |
| c340 | 20 20 20 62 72 65 61 6b 3b 00 00 00 00 00 00 00 1c 20 20 20 20 78 20 3d 20 69 6e 66 6f 5b 69 5d | ...break;............x.=.info[i] |
| c360 | 2e 78 5f 6f 72 67 20 2b 20 64 6d 78 3b 00 00 00 43 20 20 20 20 79 20 3d 20 69 6e 66 6f 5b 69 5d | .x_org.+.dmx;...C....y.=.info[i] |
| c380 | 2e 79 5f 6f 72 67 20 2b 20 28 74 6f 70 62 61 72 20 3f 20 64 6d 79 20 3a 20 69 6e 66 6f 5b 69 5d | .y_org.+.(topbar.?.dmy.:.info[i] |
| c3a0 | 2e 68 65 69 67 68 74 20 2d 20 6d 68 20 2d 20 64 6d 79 29 3b 00 00 00 29 20 20 20 20 6d 77 20 3d | .height.-.mh.-.dmy);...)....mw.= |
| c3c0 | 20 28 64 6d 77 20 3e 20 30 20 3f 20 64 6d 77 20 3a 20 69 6e 66 6f 5b 69 5d 2e 77 69 64 74 68 29 | .(dmw.>.0.?.dmw.:.info[i].width) |
| c3e0 | 3b 00 00 00 05 20 20 20 20 3b 00 00 00 10 20 20 20 20 58 46 72 65 65 28 69 6e 66 6f 29 3b 00 00 | ;........;........XFree(info);.. |
| c400 | 00 08 20 20 7d 20 65 6c 73 65 00 00 00 06 23 65 6e 64 69 66 00 00 00 03 20 20 7b 00 00 00 33 20 | ....}.else....#endif......{...3. |
| c420 | 20 20 20 69 66 20 28 21 58 47 65 74 57 69 6e 64 6f 77 41 74 74 72 69 62 75 74 65 73 28 64 70 79 | ...if.(!XGetWindowAttributes(dpy |
| c440 | 2c 20 70 61 72 65 6e 74 77 69 6e 2c 20 26 77 61 29 29 00 00 00 49 20 20 20 20 20 20 64 69 65 28 | ,.parentwin,.&wa))...I......die( |
| c460 | 22 63 6f 75 6c 64 20 6e 6f 74 20 67 65 74 20 65 6d 62 65 64 64 69 6e 67 20 77 69 6e 64 6f 77 20 | "could.not.get.embedding.window. |
| c480 | 61 74 74 72 69 62 75 74 65 73 3a 20 30 78 25 6c 78 22 2c 20 70 61 72 65 6e 74 77 69 6e 29 3b 00 | attributes:.0x%lx",.parentwin);. |
| c4a0 | 00 00 0c 20 20 20 20 78 20 3d 20 64 6d 78 3b 00 00 00 2c 20 20 20 20 79 20 3d 20 74 6f 70 62 61 | .......x.=.dmx;...,....y.=.topba |
| c4c0 | 72 20 3f 20 64 6d 79 20 3a 20 77 61 2e 68 65 69 67 68 74 20 2d 20 6d 68 20 2d 20 64 6d 79 3b 00 | r.?.dmy.:.wa.height.-.mh.-.dmy;. |
| c4e0 | 00 00 24 20 20 20 20 6d 77 20 3d 20 28 64 6d 77 20 3e 20 30 20 3f 20 64 6d 77 20 3a 20 77 61 2e | ..$....mw.=.(dmw.>.0.?.dmw.:.wa. |
| c500 | 77 69 64 74 68 29 3b 00 00 00 03 20 20 7d 00 00 00 40 20 20 70 72 6f 6d 70 74 77 20 3d 20 28 70 | width);......}...@..promptw.=.(p |
| c520 | 72 6f 6d 70 74 20 26 26 20 2a 70 72 6f 6d 70 74 29 20 3f 20 54 45 58 54 57 28 70 72 6f 6d 70 74 | rompt.&&.*prompt).?.TEXTW(prompt |
| c540 | 29 20 2d 20 6c 72 70 61 64 20 2f 20 34 20 3a 20 30 3b 00 00 00 3b 20 20 69 6e 70 75 74 77 20 3d | ).-.lrpad./.4.:.0;...;..inputw.= |
| c560 | 20 6d 77 20 2f 20 33 3b 20 2f 2a 20 69 6e 70 75 74 20 77 69 64 74 68 3a 20 7e 33 33 25 20 6f 66 | .mw./.3;./*.input.width:.~33%.of |
| c580 | 20 6d 6f 6e 69 74 6f 72 20 77 69 64 74 68 20 2a 2f 00 00 00 0a 20 20 6d 61 74 63 68 28 29 3b 00 | .monitor.width.*/......match();. |
| c5a0 | 00 00 00 00 00 00 1a 20 20 2f 2a 20 63 72 65 61 74 65 20 6d 65 6e 75 20 77 69 6e 64 6f 77 20 2a | ........./*.create.menu.window.* |
| c5c0 | 2f 00 00 00 1f 20 20 73 77 61 2e 6f 76 65 72 72 69 64 65 5f 72 65 64 69 72 65 63 74 20 3d 20 54 | /......swa.override_redirect.=.T |
| c5e0 | 72 75 65 3b 00 00 00 39 20 20 73 77 61 2e 62 61 63 6b 67 72 6f 75 6e 64 5f 70 69 78 65 6c 20 3d | rue;...9..swa.background_pixel.= |
| c600 | 20 73 63 68 65 6d 65 5b 53 63 68 65 6d 65 4e 6f 72 6d 5d 5b 43 6f 6c 42 67 5d 2e 70 69 78 65 6c | .scheme[SchemeNorm][ColBg].pixel |
| c620 | 3b 00 00 00 12 20 20 73 77 61 2e 65 76 65 6e 74 5f 6d 61 73 6b 20 3d 00 00 00 4b 20 20 20 20 20 | ;......swa.event_mask.=...K..... |
| c640 | 20 45 78 70 6f 73 75 72 65 4d 61 73 6b 20 7c 20 4b 65 79 50 72 65 73 73 4d 61 73 6b 20 7c 20 56 | .ExposureMask.|.KeyPressMask.|.V |
| c660 | 69 73 69 62 69 6c 69 74 79 43 68 61 6e 67 65 4d 61 73 6b 20 7c 20 42 75 74 74 6f 6e 50 72 65 73 | isibilityChangeMask.|.ButtonPres |
| c680 | 73 4d 61 73 6b 3b 00 00 00 00 00 00 00 41 20 20 77 69 6e 20 3d 20 58 43 72 65 61 74 65 57 69 6e | sMask;.......A..win.=.XCreateWin |
| c6a0 | 64 6f 77 28 64 70 79 2c 20 70 61 72 65 6e 74 77 69 6e 2c 20 78 2c 20 79 2c 20 6d 77 2c 20 6d 68 | dow(dpy,.parentwin,.x,.y,.mw,.mh |
| c6c0 | 2c 20 62 6f 72 64 65 72 5f 77 69 64 74 68 2c 00 00 00 45 20 20 20 20 20 20 20 20 20 20 20 20 20 | ,.border_width,...E............. |
| c6e0 | 20 20 20 20 20 20 20 20 20 43 6f 70 79 46 72 6f 6d 50 61 72 65 6e 74 2c 20 43 6f 70 79 46 72 6f | .........CopyFromParent,.CopyFro |
| c700 | 6d 50 61 72 65 6e 74 2c 20 43 6f 70 79 46 72 6f 6d 50 61 72 65 6e 74 2c 00 00 00 4c 20 20 20 20 | mParent,.CopyFromParent,...L.... |
| c720 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 57 4f 76 65 72 72 69 64 65 52 65 64 69 | ..................CWOverrideRedi |
| c740 | 72 65 63 74 20 7c 20 43 57 42 61 63 6b 50 69 78 65 6c 20 7c 20 43 57 45 76 65 6e 74 4d 61 73 6b | rect.|.CWBackPixel.|.CWEventMask |
| c760 | 2c 20 26 73 77 61 29 3b 00 00 00 13 20 20 69 66 20 28 62 6f 72 64 65 72 5f 77 69 64 74 68 29 00 | ,.&swa);......if.(border_width). |
| c780 | 00 00 3f 20 20 20 20 58 53 65 74 57 69 6e 64 6f 77 42 6f 72 64 65 72 28 64 70 79 2c 20 77 69 6e | ..?....XSetWindowBorder(dpy,.win |
| c7a0 | 2c 20 73 63 68 65 6d 65 5b 53 63 68 65 6d 65 53 65 6c 5d 5b 43 6f 6c 42 67 5d 2e 70 69 78 65 6c | ,.scheme[SchemeSel][ColBg].pixel |
| c7c0 | 29 3b 00 00 00 1f 20 20 58 53 65 74 43 6c 61 73 73 48 69 6e 74 28 64 70 79 2c 20 77 69 6e 2c 20 | );......XSetClassHint(dpy,.win,. |
| c7e0 | 26 63 68 29 3b 00 00 00 00 00 00 00 15 20 20 2f 2a 20 69 6e 70 75 74 20 6d 65 74 68 6f 64 73 20 | &ch);........../*.input.methods. |
| c800 | 2a 2f 00 00 00 35 20 20 69 66 20 28 28 78 69 6d 20 3d 20 58 4f 70 65 6e 49 4d 28 64 70 79 2c 20 | */...5..if.((xim.=.XOpenIM(dpy,. |
| c820 | 4e 55 4c 4c 2c 20 4e 55 4c 4c 2c 20 4e 55 4c 4c 29 29 20 3d 3d 20 4e 55 4c 4c 29 00 00 00 37 20 | NULL,.NULL,.NULL)).==.NULL)...7. |
| c840 | 20 20 20 64 69 65 28 22 58 4f 70 65 6e 49 4d 20 66 61 69 6c 65 64 3a 20 63 6f 75 6c 64 20 6e 6f | ...die("XOpenIM.failed:.could.no |
| c860 | 74 20 6f 70 65 6e 20 69 6e 70 75 74 20 64 65 76 69 63 65 22 29 3b 00 00 00 00 00 00 00 4a 20 20 | t.open.input.device");.......J.. |
| c880 | 78 69 63 20 3d 20 58 43 72 65 61 74 65 49 43 28 78 69 6d 2c 20 58 4e 49 6e 70 75 74 53 74 79 6c | xic.=.XCreateIC(xim,.XNInputStyl |
| c8a0 | 65 2c 20 58 49 4d 50 72 65 65 64 69 74 4e 6f 74 68 69 6e 67 20 7c 20 58 49 4d 53 74 61 74 75 73 | e,.XIMPreeditNothing.|.XIMStatus |
| c8c0 | 4e 6f 74 68 69 6e 67 2c 00 00 00 41 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 58 4e | Nothing,...A..................XN |
| c8e0 | 43 6c 69 65 6e 74 57 69 6e 64 6f 77 2c 20 77 69 6e 2c 20 58 4e 46 6f 63 75 73 57 69 6e 64 6f 77 | ClientWindow,.win,.XNFocusWindow |
| c900 | 2c 20 77 69 6e 2c 20 4e 55 4c 4c 29 3b 00 00 00 00 00 00 00 17 20 20 58 4d 61 70 52 61 69 73 65 | ,.win,.NULL);..........XMapRaise |
| c920 | 64 28 64 70 79 2c 20 77 69 6e 29 3b 00 00 00 0e 20 20 69 66 20 28 65 6d 62 65 64 29 20 7b 00 00 | d(dpy,.win);......if.(embed).{.. |
| c940 | 00 2f 20 20 20 20 58 52 65 70 61 72 65 6e 74 57 69 6e 64 6f 77 28 64 70 79 2c 20 77 69 6e 2c 20 | ./....XReparentWindow(dpy,.win,. |
| c960 | 70 61 72 65 6e 74 77 69 6e 2c 20 78 2c 20 79 29 3b 00 00 00 4b 20 20 20 20 58 53 65 6c 65 63 74 | parentwin,.x,.y);...K....XSelect |
| c980 | 49 6e 70 75 74 28 64 70 79 2c 20 70 61 72 65 6e 74 77 69 6e 2c 20 46 6f 63 75 73 43 68 61 6e 67 | Input(dpy,.parentwin,.FocusChang |
| c9a0 | 65 4d 61 73 6b 20 7c 20 53 75 62 73 74 72 75 63 74 75 72 65 4e 6f 74 69 66 79 4d 61 73 6b 29 3b | eMask.|.SubstructureNotifyMask); |
| c9c0 | 00 00 00 40 20 20 20 20 69 66 20 28 58 51 75 65 72 79 54 72 65 65 28 64 70 79 2c 20 70 61 72 65 | ...@....if.(XQueryTree(dpy,.pare |
| c9e0 | 6e 74 77 69 6e 2c 20 26 64 77 2c 20 26 77 2c 20 26 64 77 73 2c 20 26 64 75 29 20 26 26 20 64 77 | ntwin,.&dw,.&w,.&dws,.&du).&&.dw |
| ca00 | 73 29 20 7b 00 00 00 2f 20 20 20 20 20 20 66 6f 72 20 28 69 20 3d 20 30 3b 20 69 20 3c 20 64 75 | s).{.../......for.(i.=.0;.i.<.du |
| ca20 | 20 26 26 20 64 77 73 5b 69 5d 20 21 3d 20 77 69 6e 3b 20 2b 2b 69 29 00 00 00 33 20 20 20 20 20 | .&&.dws[i].!=.win;.++i)...3..... |
| ca40 | 20 20 20 58 53 65 6c 65 63 74 49 6e 70 75 74 28 64 70 79 2c 20 64 77 73 5b 69 5d 2c 20 46 6f 63 | ...XSelectInput(dpy,.dws[i],.Foc |
| ca60 | 75 73 43 68 61 6e 67 65 4d 61 73 6b 29 3b 00 00 00 11 20 20 20 20 20 20 58 46 72 65 65 28 64 77 | usChangeMask);..........XFree(dw |
| ca80 | 73 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 10 20 20 20 20 67 72 61 62 66 6f 63 75 73 28 29 3b | s);........}........grabfocus(); |
| caa0 | 00 00 00 03 20 20 7d 00 00 00 1a 20 20 64 72 77 5f 72 65 73 69 7a 65 28 64 72 77 2c 20 6d 77 2c | ......}......drw_resize(drw,.mw, |
| cac0 | 20 6d 68 29 3b 00 00 00 0d 20 20 64 72 61 77 6d 65 6e 75 28 29 3b 00 00 00 01 7d 00 00 00 00 00 | .mh);......drawmenu();....}..... |
| cae0 | 00 00 19 73 74 61 74 69 63 20 76 6f 69 64 20 75 73 61 67 65 28 76 6f 69 64 29 20 7b 00 00 00 4d | ...static.void.usage(void).{...M |
| cb00 | 20 20 64 69 65 28 22 75 73 61 67 65 3a 20 64 6d 65 6e 75 20 5b 2d 62 66 69 76 5d 20 5b 2d 6c 20 | ..die("usage:.dmenu.[-bfiv].[-l. |
| cb20 | 6c 69 6e 65 73 5d 20 5b 2d 70 20 70 72 6f 6d 70 74 5d 20 5b 2d 66 6e 20 66 6f 6e 74 5d 20 5b 2d | lines].[-p.prompt].[-fn.font].[- |
| cb40 | 6d 20 6d 6f 6e 69 74 6f 72 5d 5c 6e 22 00 00 00 3b 20 20 20 20 20 20 22 20 20 20 20 20 20 20 20 | m.monitor]\n"...;......"........ |
| cb60 | 20 20 20 20 20 5b 2d 78 20 78 6f 66 66 73 65 74 5d 20 5b 2d 79 20 79 6f 66 66 73 65 74 5d 20 5b | .....[-x.xoffset].[-y.yoffset].[ |
| cb80 | 2d 7a 20 77 69 64 74 68 5d 5c 6e 22 00 00 00 49 20 20 20 20 20 20 22 20 20 20 20 20 20 20 20 20 | -z.width]\n"...I......"......... |
| cba0 | 20 20 20 20 5b 2d 6e 62 20 63 6f 6c 6f 72 5d 20 5b 2d 6e 66 20 63 6f 6c 6f 72 5d 20 5b 2d 73 62 | ....[-nb.color].[-nf.color].[-sb |
| cbc0 | 20 63 6f 6c 6f 72 5d 20 5b 2d 73 66 20 63 6f 6c 6f 72 5d 20 5b 2d 77 20 22 00 00 00 13 20 20 20 | .color].[-sf.color].[-w."....... |
| cbe0 | 20 20 20 22 77 69 6e 64 6f 77 69 64 5d 22 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 22 69 6e 74 | ..."windowid]");....}......."int |
| cc00 | 20 6d 61 69 6e 28 69 6e 74 20 61 72 67 63 2c 20 63 68 61 72 20 2a 61 72 67 76 5b 5d 29 20 7b 00 | .main(int.argc,.char.*argv[]).{. |
| cc20 | 00 00 17 20 20 58 57 69 6e 64 6f 77 41 74 74 72 69 62 75 74 65 73 20 77 61 3b 00 00 00 12 20 20 | .....XWindowAttributes.wa;...... |
| cc40 | 69 6e 74 20 69 2c 20 66 61 73 74 20 3d 20 30 3b 00 00 00 00 00 00 00 1c 20 20 66 6f 72 20 28 69 | int.i,.fast.=.0;..........for.(i |
| cc60 | 20 3d 20 31 3b 20 69 20 3c 20 61 72 67 63 3b 20 69 2b 2b 29 00 00 00 29 20 20 20 20 2f 2a 20 74 | .=.1;.i.<.argc;.i++)...)..../*.t |
| cc80 | 68 65 73 65 20 6f 70 74 69 6f 6e 73 20 74 61 6b 65 20 6e 6f 20 61 72 67 75 6d 65 6e 74 73 20 2a | hese.options.take.no.arguments.* |
| cca0 | 2f 00 00 00 42 20 20 20 20 69 66 20 28 21 73 74 72 63 6d 70 28 61 72 67 76 5b 69 5d 2c 20 22 2d | /...B....if.(!strcmp(argv[i],."- |
| ccc0 | 76 22 29 29 20 7b 20 2f 2a 20 70 72 69 6e 74 73 20 76 65 72 73 69 6f 6e 20 69 6e 66 6f 72 6d 61 | v")).{./*.prints.version.informa |
| cce0 | 74 69 6f 6e 20 2a 2f 00 00 00 1d 20 20 20 20 20 20 70 75 74 73 28 22 64 6d 65 6e 75 2d 22 20 56 | tion.*/..........puts("dmenu-".V |
| cd00 | 45 52 53 49 4f 4e 29 3b 00 00 00 0e 20 20 20 20 20 20 65 78 69 74 28 30 29 3b 00 00 00 50 20 20 | ERSION);..........exit(0);...P.. |
| cd20 | 20 20 7d 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 61 72 67 76 5b 69 5d 2c 20 22 2d | ..}.else.if.(!strcmp(argv[i],."- |
| cd40 | 62 22 29 29 20 2f 2a 20 61 70 70 65 61 72 73 20 61 74 20 74 68 65 20 62 6f 74 74 6f 6d 20 6f 66 | b"))./*.appears.at.the.bottom.of |
| cd60 | 20 74 68 65 20 73 63 72 65 65 6e 20 2a 2f 00 00 00 11 20 20 20 20 20 20 74 6f 70 62 61 72 20 3d | .the.screen.*/..........topbar.= |
| cd80 | 20 30 3b 00 00 00 4e 20 20 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 61 72 67 76 | .0;...N....else.if.(!strcmp(argv |
| cda0 | 5b 69 5d 2c 20 22 2d 66 22 29 29 20 2f 2a 20 67 72 61 62 73 20 6b 65 79 62 6f 61 72 64 20 62 65 | [i],."-f"))./*.grabs.keyboard.be |
| cdc0 | 66 6f 72 65 20 72 65 61 64 69 6e 67 20 73 74 64 69 6e 20 2a 2f 00 00 00 0f 20 20 20 20 20 20 66 | fore.reading.stdin.*/..........f |
| cde0 | 61 73 74 20 3d 20 31 3b 00 00 00 4b 20 20 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 | ast.=.1;...K....else.if.(!strcmp |
| ce00 | 28 61 72 67 76 5b 69 5d 2c 20 22 2d 69 22 29 29 20 7b 20 2f 2a 20 63 61 73 65 2d 69 6e 73 65 6e | (argv[i],."-i")).{./*.case-insen |
| ce20 | 73 69 74 69 76 65 20 69 74 65 6d 20 6d 61 74 63 68 69 6e 67 20 2a 2f 00 00 00 1d 20 20 20 20 20 | sitive.item.matching.*/......... |
| ce40 | 20 66 73 74 72 6e 63 6d 70 20 3d 20 73 74 72 6e 63 61 73 65 63 6d 70 3b 00 00 00 19 20 20 20 20 | .fstrncmp.=.strncasecmp;........ |
| ce60 | 20 20 66 73 74 72 73 74 72 20 3d 20 63 69 73 74 72 73 74 72 3b 00 00 00 1d 20 20 20 20 7d 20 65 | ..fstrstr.=.cistrstr;........}.e |
| ce80 | 6c 73 65 20 69 66 20 28 69 20 2b 20 31 20 3d 3d 20 61 72 67 63 29 00 00 00 0e 20 20 20 20 20 20 | lse.if.(i.+.1.==.argc).......... |
| cea0 | 75 73 61 67 65 28 29 3b 00 00 00 29 20 20 20 20 2f 2a 20 74 68 65 73 65 20 6f 70 74 69 6f 6e 73 | usage();...)..../*.these.options |
| cec0 | 20 74 61 6b 65 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 20 2a 2f 00 00 00 4b 20 20 20 20 65 6c 73 | .take.one.argument.*/...K....els |
| cee0 | 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 61 72 67 76 5b 69 5d 2c 20 22 2d 6c 22 29 29 20 2f 2a | e.if.(!strcmp(argv[i],."-l"))./* |
| cf00 | 20 6e 75 6d 62 65 72 20 6f 66 20 6c 69 6e 65 73 20 69 6e 20 76 65 72 74 69 63 61 6c 20 6c 69 73 | .number.of.lines.in.vertical.lis |
| cf20 | 74 20 2a 2f 00 00 00 1e 20 20 20 20 20 20 6c 69 6e 65 73 20 3d 20 61 74 6f 69 28 61 72 67 76 5b | t.*/..........lines.=.atoi(argv[ |
| cf40 | 2b 2b 69 5d 29 3b 00 00 00 3a 20 20 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 61 | ++i]);...:....else.if.(!strcmp(a |
| cf60 | 72 67 76 5b 69 5d 2c 20 22 2d 78 22 29 29 20 2f 2a 20 77 69 6e 64 6f 77 20 78 20 6f 66 66 73 65 | rgv[i],."-x"))./*.window.x.offse |
| cf80 | 74 20 2a 2f 00 00 00 1c 20 20 20 20 20 20 64 6d 78 20 3d 20 61 74 6f 69 28 61 72 67 76 5b 2b 2b | t.*/..........dmx.=.atoi(argv[++ |
| cfa0 | 69 5d 29 3b 00 00 00 1d 20 20 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 61 72 67 | i]);........else.if.(!strcmp(arg |
| cfc0 | 76 5b 69 5d 2c 00 00 00 48 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d | v[i],...H....................."- |
| cfe0 | 79 22 29 29 20 2f 2a 20 77 69 6e 64 6f 77 20 79 20 6f 66 66 73 65 74 20 28 66 72 6f 6d 20 62 6f | y"))./*.window.y.offset.(from.bo |
| d000 | 74 74 6f 6d 20 75 70 20 69 66 20 2d 62 29 20 2a 2f 00 00 00 1c 20 20 20 20 20 20 64 6d 79 20 3d | ttom.up.if.-b).*/..........dmy.= |
| d020 | 20 61 74 6f 69 28 61 72 67 76 5b 2b 2b 69 5d 29 3b 00 00 00 3f 20 20 20 20 65 6c 73 65 20 69 66 | .atoi(argv[++i]);...?....else.if |
| d040 | 20 28 21 73 74 72 63 6d 70 28 61 72 67 76 5b 69 5d 2c 20 22 2d 7a 22 29 29 20 2f 2a 20 6d 61 6b | .(!strcmp(argv[i],."-z"))./*.mak |
| d060 | 65 20 64 6d 65 6e 75 20 74 68 69 73 20 77 69 64 65 20 2a 2f 00 00 00 1c 20 20 20 20 20 20 64 6d | e.dmenu.this.wide.*/..........dm |
| d080 | 77 20 3d 20 61 74 6f 69 28 61 72 67 76 5b 2b 2b 69 5d 29 3b 00 00 00 24 20 20 20 20 65 6c 73 65 | w.=.atoi(argv[++i]);...$....else |
| d0a0 | 20 69 66 20 28 21 73 74 72 63 6d 70 28 61 72 67 76 5b 69 5d 2c 20 22 2d 6d 22 29 29 00 00 00 1c | .if.(!strcmp(argv[i],."-m")).... |
| d0c0 | 20 20 20 20 20 20 6d 6f 6e 20 3d 20 61 74 6f 69 28 61 72 67 76 5b 2b 2b 69 5d 29 3b 00 00 00 4d | ......mon.=.atoi(argv[++i]);...M |
| d0e0 | 20 20 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 61 72 67 76 5b 69 5d 2c 20 22 2d | ....else.if.(!strcmp(argv[i],."- |
| d100 | 70 22 29 29 20 2f 2a 20 61 64 64 73 20 70 72 6f 6d 70 74 20 74 6f 20 6c 65 66 74 20 6f 66 20 69 | p"))./*.adds.prompt.to.left.of.i |
| d120 | 6e 70 75 74 20 66 69 65 6c 64 20 2a 2f 00 00 00 19 20 20 20 20 20 20 70 72 6f 6d 70 74 20 3d 20 | nput.field.*/..........prompt.=. |
| d140 | 61 72 67 76 5b 2b 2b 69 5d 3b 00 00 00 3c 20 20 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 | argv[++i];...<....else.if.(!strc |
| d160 | 6d 70 28 61 72 67 76 5b 69 5d 2c 20 22 2d 66 6e 22 29 29 20 2f 2a 20 66 6f 6e 74 20 6f 72 20 66 | mp(argv[i],."-fn"))./*.font.or.f |
| d180 | 6f 6e 74 20 73 65 74 20 2a 2f 00 00 00 1b 20 20 20 20 20 20 66 6f 6e 74 73 5b 30 5d 20 3d 20 61 | ont.set.*/..........fonts[0].=.a |
| d1a0 | 72 67 76 5b 2b 2b 69 5d 3b 00 00 00 43 20 20 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d | rgv[++i];...C....else.if.(!strcm |
| d1c0 | 70 28 61 72 67 76 5b 69 5d 2c 20 22 2d 6e 62 22 29 29 20 2f 2a 20 6e 6f 72 6d 61 6c 20 62 61 63 | p(argv[i],."-nb"))./*.normal.bac |
| d1e0 | 6b 67 72 6f 75 6e 64 20 63 6f 6c 6f 72 20 2a 2f 00 00 00 2c 20 20 20 20 20 20 63 6f 6c 6f 72 73 | kground.color.*/...,......colors |
| d200 | 5b 53 63 68 65 6d 65 4e 6f 72 6d 5d 5b 43 6f 6c 42 67 5d 20 3d 20 61 72 67 76 5b 2b 2b 69 5d 3b | [SchemeNorm][ColBg].=.argv[++i]; |
| d220 | 00 00 00 43 20 20 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 61 72 67 76 5b 69 5d | ...C....else.if.(!strcmp(argv[i] |
| d240 | 2c 20 22 2d 6e 66 22 29 29 20 2f 2a 20 6e 6f 72 6d 61 6c 20 66 6f 72 65 67 72 6f 75 6e 64 20 63 | ,."-nf"))./*.normal.foreground.c |
| d260 | 6f 6c 6f 72 20 2a 2f 00 00 00 2c 20 20 20 20 20 20 63 6f 6c 6f 72 73 5b 53 63 68 65 6d 65 4e 6f | olor.*/...,......colors[SchemeNo |
| d280 | 72 6d 5d 5b 43 6f 6c 46 67 5d 20 3d 20 61 72 67 76 5b 2b 2b 69 5d 3b 00 00 00 45 20 20 20 20 65 | rm][ColFg].=.argv[++i];...E....e |
| d2a0 | 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 61 72 67 76 5b 69 5d 2c 20 22 2d 73 62 22 29 29 | lse.if.(!strcmp(argv[i],."-sb")) |
| d2c0 | 20 2f 2a 20 73 65 6c 65 63 74 65 64 20 62 61 63 6b 67 72 6f 75 6e 64 20 63 6f 6c 6f 72 20 2a 2f | ./*.selected.background.color.*/ |
| d2e0 | 00 00 00 2b 20 20 20 20 20 20 63 6f 6c 6f 72 73 5b 53 63 68 65 6d 65 53 65 6c 5d 5b 43 6f 6c 42 | ...+......colors[SchemeSel][ColB |
| d300 | 67 5d 20 3d 20 61 72 67 76 5b 2b 2b 69 5d 3b 00 00 00 45 20 20 20 20 65 6c 73 65 20 69 66 20 28 | g].=.argv[++i];...E....else.if.( |
| d320 | 21 73 74 72 63 6d 70 28 61 72 67 76 5b 69 5d 2c 20 22 2d 73 66 22 29 29 20 2f 2a 20 73 65 6c 65 | !strcmp(argv[i],."-sf"))./*.sele |
| d340 | 63 74 65 64 20 66 6f 72 65 67 72 6f 75 6e 64 20 63 6f 6c 6f 72 20 2a 2f 00 00 00 2b 20 20 20 20 | cted.foreground.color.*/...+.... |
| d360 | 20 20 63 6f 6c 6f 72 73 5b 53 63 68 65 6d 65 53 65 6c 5d 5b 43 6f 6c 46 67 5d 20 3d 20 61 72 67 | ..colors[SchemeSel][ColFg].=.arg |
| d380 | 76 5b 2b 2b 69 5d 3b 00 00 00 3e 20 20 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 | v[++i];...>....else.if.(!strcmp( |
| d3a0 | 61 72 67 76 5b 69 5d 2c 20 22 2d 77 22 29 29 20 2f 2a 20 65 6d 62 65 64 64 69 6e 67 20 77 69 6e | argv[i],."-w"))./*.embedding.win |
| d3c0 | 64 6f 77 20 69 64 20 2a 2f 00 00 00 18 20 20 20 20 20 20 65 6d 62 65 64 20 3d 20 61 72 67 76 5b | dow.id.*/..........embed.=.argv[ |
| d3e0 | 2b 2b 69 5d 3b 00 00 00 25 20 20 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 61 72 | ++i];...%....else.if.(!strcmp(ar |
| d400 | 67 76 5b 69 5d 2c 20 22 2d 62 77 22 29 29 00 00 00 38 20 20 20 20 20 20 62 6f 72 64 65 72 5f 77 | gv[i],."-bw"))...8......border_w |
| d420 | 69 64 74 68 20 3d 20 61 74 6f 69 28 61 72 67 76 5b 2b 2b 69 5d 29 3b 20 2f 2a 20 62 6f 72 64 65 | idth.=.atoi(argv[++i]);./*.borde |
| d440 | 72 20 77 69 64 74 68 20 2a 2f 00 00 00 08 20 20 20 20 65 6c 73 65 00 00 00 0e 20 20 20 20 20 20 | r.width.*/........else.......... |
| d460 | 75 73 61 67 65 28 29 3b 00 00 00 00 00 00 00 35 20 20 69 66 20 28 21 73 65 74 6c 6f 63 61 6c 65 | usage();.......5..if.(!setlocale |
| d480 | 28 4c 43 5f 43 54 59 50 45 2c 20 22 22 29 20 7c 7c 20 21 58 53 75 70 70 6f 72 74 73 4c 6f 63 61 | (LC_CTYPE,."").||.!XSupportsLoca |
| d4a0 | 6c 65 28 29 29 00 00 00 32 20 20 20 20 66 70 75 74 73 28 22 77 61 72 6e 69 6e 67 3a 20 6e 6f 20 | le())...2....fputs("warning:.no. |
| d4c0 | 6c 6f 63 61 6c 65 20 73 75 70 70 6f 72 74 5c 6e 22 2c 20 73 74 64 65 72 72 29 3b 00 00 00 22 20 | locale.support\n",.stderr);...". |
| d4e0 | 20 69 66 20 28 21 28 64 70 79 20 3d 20 58 4f 70 65 6e 44 69 73 70 6c 61 79 28 4e 55 4c 4c 29 29 | .if.(!(dpy.=.XOpenDisplay(NULL)) |
| d500 | 29 00 00 00 1f 20 20 20 20 64 69 65 28 22 63 61 6e 6e 6f 74 20 6f 70 65 6e 20 64 69 73 70 6c 61 | )........die("cannot.open.displa |
| d520 | 79 22 29 3b 00 00 00 1e 20 20 73 63 72 65 65 6e 20 3d 20 44 65 66 61 75 6c 74 53 63 72 65 65 6e | y");......screen.=.DefaultScreen |
| d540 | 28 64 70 79 29 3b 00 00 00 21 20 20 72 6f 6f 74 20 3d 20 52 6f 6f 74 57 69 6e 64 6f 77 28 64 70 | (dpy);...!..root.=.RootWindow(dp |
| d560 | 79 2c 20 73 63 72 65 65 6e 29 3b 00 00 00 36 20 20 69 66 20 28 21 65 6d 62 65 64 20 7c 7c 20 21 | y,.screen);...6..if.(!embed.||.! |
| d580 | 28 70 61 72 65 6e 74 77 69 6e 20 3d 20 73 74 72 74 6f 6c 28 65 6d 62 65 64 2c 20 4e 55 4c 4c 2c | (parentwin.=.strtol(embed,.NULL, |
| d5a0 | 20 30 29 29 29 00 00 00 15 20 20 20 20 70 61 72 65 6e 74 77 69 6e 20 3d 20 72 6f 6f 74 3b 00 00 | .0)))........parentwin.=.root;.. |
| d5c0 | 00 31 20 20 69 66 20 28 21 58 47 65 74 57 69 6e 64 6f 77 41 74 74 72 69 62 75 74 65 73 28 64 70 | .1..if.(!XGetWindowAttributes(dp |
| d5e0 | 79 2c 20 70 61 72 65 6e 74 77 69 6e 2c 20 26 77 61 29 29 00 00 00 47 20 20 20 20 64 69 65 28 22 | y,.parentwin,.&wa))...G....die(" |
| d600 | 63 6f 75 6c 64 20 6e 6f 74 20 67 65 74 20 65 6d 62 65 64 64 69 6e 67 20 77 69 6e 64 6f 77 20 61 | could.not.get.embedding.window.a |
| d620 | 74 74 72 69 62 75 74 65 73 3a 20 30 78 25 6c 78 22 2c 20 70 61 72 65 6e 74 77 69 6e 29 3b 00 00 | ttributes:.0x%lx",.parentwin);.. |
| d640 | 00 3b 20 20 64 72 77 20 3d 20 64 72 77 5f 63 72 65 61 74 65 28 64 70 79 2c 20 73 63 72 65 65 6e | .;..drw.=.drw_create(dpy,.screen |
| d660 | 2c 20 72 6f 6f 74 2c 20 77 61 2e 77 69 64 74 68 2c 20 77 61 2e 68 65 69 67 68 74 29 3b 00 00 00 | ,.root,.wa.width,.wa.height);... |
| d680 | 35 20 20 69 66 20 28 21 64 72 77 5f 66 6f 6e 74 73 65 74 5f 63 72 65 61 74 65 28 64 72 77 2c 20 | 5..if.(!drw_fontset_create(drw,. |
| d6a0 | 66 6f 6e 74 73 2c 20 4c 45 4e 47 54 48 28 66 6f 6e 74 73 29 29 29 00 00 00 25 20 20 20 20 64 69 | fonts,.LENGTH(fonts)))...%....di |
| d6c0 | 65 28 22 6e 6f 20 66 6f 6e 74 73 20 63 6f 75 6c 64 20 62 65 20 6c 6f 61 64 65 64 2e 22 29 3b 00 | e("no.fonts.could.be.loaded.");. |
| d6e0 | 00 00 26 20 20 6c 72 70 61 64 20 3d 20 64 72 77 2d 3e 66 6f 6e 74 73 2d 3e 68 20 2b 20 68 6f 72 | ..&..lrpad.=.drw->fonts->h.+.hor |
| d700 | 69 7a 70 61 64 62 61 72 3b 00 00 00 00 00 00 00 12 23 69 66 64 65 66 20 5f 5f 4f 70 65 6e 42 53 | izpadbar;........#ifdef.__OpenBS |
| d720 | 44 5f 5f 00 00 00 28 20 20 69 66 20 28 70 6c 65 64 67 65 28 22 73 74 64 69 6f 20 72 70 61 74 68 | D__...(..if.(pledge("stdio.rpath |
| d740 | 22 2c 20 4e 55 4c 4c 29 20 3d 3d 20 2d 31 29 00 00 00 12 20 20 20 20 64 69 65 28 22 70 6c 65 64 | ",.NULL).==.-1)........die("pled |
| d760 | 67 65 22 29 3b 00 00 00 06 23 65 6e 64 69 66 00 00 00 00 00 00 00 1b 20 20 69 66 20 28 66 61 73 | ge");....#endif..........if.(fas |
| d780 | 74 20 26 26 20 21 69 73 61 74 74 79 28 30 29 29 20 7b 00 00 00 13 20 20 20 20 67 72 61 62 6b 65 | t.&&.!isatty(0)).{........grabke |
| d7a0 | 79 62 6f 61 72 64 28 29 3b 00 00 00 10 20 20 20 20 72 65 61 64 73 74 64 69 6e 28 29 3b 00 00 00 | yboard();........readstdin();... |
| d7c0 | 0a 20 20 7d 20 65 6c 73 65 20 7b 00 00 00 10 20 20 20 20 72 65 61 64 73 74 64 69 6e 28 29 3b 00 | ...}.else.{........readstdin();. |
| d7e0 | 00 00 13 20 20 20 20 67 72 61 62 6b 65 79 62 6f 61 72 64 28 29 3b 00 00 00 03 20 20 7d 00 00 00 | .......grabkeyboard();......}... |
| d800 | 0a 20 20 73 65 74 75 70 28 29 3b 00 00 00 08 20 20 72 75 6e 28 29 3b 00 00 00 00 00 00 00 1d 20 | ...setup();......run();......... |
| d820 | 20 72 65 74 75 72 6e 20 31 3b 20 2f 2a 20 75 6e 72 65 61 63 68 61 62 6c 65 20 2a 2f 00 00 00 01 | .return.1;./*.unreachable.*/.... |
| d840 | 7d 35 81 35 81 5f d0 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 07 00 00 00 01 00 00 02 f3 00 | }5.5._.......................... |
| d860 | 00 00 14 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| d880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| d8a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| d8c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| d8e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| d900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| d920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| d940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| d960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| d980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| d9a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| d9c0 | 00 00 00 00 00 00 00 00 00 69 a1 0f 7f 04 01 00 00 00 00 00 f5 18 00 00 02 f2 00 00 02 f4 00 00 | .........i...................... |
| d9e0 | 03 a0 00 00 00 02 00 00 00 14 09 62 68 20 3d 20 64 72 77 2d 3e 66 6f 6e 74 73 2d 3e 68 3b 00 00 | ...........bh.=.drw->fonts->h;.. |
| da00 | 00 01 09 f5 18 00 00 02 f4 00 00 02 f5 00 00 03 a1 00 00 00 00 f5 18 00 00 02 f3 00 00 02 f5 00 | ................................ |
| da20 | 00 03 a1 00 00 00 01 00 00 00 23 09 2b 09 62 68 20 3d 20 64 72 77 2d 3e 66 6f 6e 74 73 2d 3e 68 | ..........#.+.bh.=.drw->fonts->h |
| da40 | 20 2b 20 76 65 72 74 70 61 64 62 61 72 3b 35 81 f5 18 00 00 00 00 f2 02 00 00 14 00 00 00 00 00 | .+.vertpadbar;5................. |
| da60 | 00 00 00 00 00 00 01 00 00 00 01 00 00 00 c1 42 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 | ...............B................ |
| da80 | 00 00 00 00 00 00 f5 18 00 00 00 00 f3 02 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| daa0 | 22 00 00 00 c3 42 00 00 00 00 00 00 00 00 00 00 00 00 00 00 22 00 00 00 00 00 00 00 35 81 5f d0 | "....B..............".......5._. |
| dac0 | 00 00 00 01 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 02 00 00 02 f4 00 00 00 01 00 00 00 00 | ................................ |
| dae0 | ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| db00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| db20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| db40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| db60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| db80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| dba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| dbc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| dbe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| dc00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| dc20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| dc40 | 00 00 69 a1 0f 84 04 01 00 00 00 00 00 f5 18 00 00 02 f3 00 00 02 f5 00 00 03 a1 00 00 00 01 00 | ..i............................. |
| dc60 | 00 00 22 09 09 62 68 20 3d 20 64 72 77 2d 3e 66 6f 6e 74 73 2d 3e 68 20 2b 20 76 65 72 74 70 61 | .."..bh.=.drw->fonts->h.+.vertpa |
| dc80 | 64 62 61 72 3b 35 81 f5 18 00 00 00 00 f3 02 00 00 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 | dbar;5.......................... |
| dca0 | 00 00 00 00 00 c3 42 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 35 81 5f | ......B......................5._ |
| dcc0 | d0 00 00 00 02 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 03 00 00 02 f4 00 00 00 01 00 00 00 | ................................ |
| dce0 | 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| dd00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| dd20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| dd40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| dd60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| dd80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| dda0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ddc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| dde0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| de00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| de20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| de40 | 00 00 00 69 a1 0f 84 04 01 00 00 00 00 00 f5 18 00 00 02 f3 00 00 02 f5 00 00 03 a1 00 00 00 01 | ...i............................ |
| de60 | 00 00 00 21 09 62 68 20 3d 20 64 72 77 2d 3e 66 6f 6e 74 73 2d 3e 68 20 2b 20 76 65 72 74 70 61 | ...!.bh.=.drw->fonts->h.+.vertpa |
| de80 | 64 62 61 72 3b 35 81 f5 18 00 00 00 00 f3 02 00 00 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 | dbar;5.......................... |
| dea0 | 00 00 00 00 00 c3 42 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 35 81 5f | ......B......................5._ |
| dec0 | d0 00 00 00 03 00 00 00 05 00 00 00 00 00 00 00 00 00 00 00 04 00 00 02 f3 00 00 00 01 00 00 00 | ................................ |
| dee0 | 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| df00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| df20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| df40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| df60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| df80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| dfa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| dfc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| dfe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| e000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| e020 | 00 02 f3 00 00 00 02 00 00 00 00 00 00 02 f3 00 00 00 01 00 00 00 00 00 00 00 76 00 00 00 04 00 | ..........................v..... |
| e040 | 00 00 00 69 a1 0f 85 04 01 00 00 00 00 00 f5 18 00 00 02 f2 00 00 02 f4 00 00 03 a1 00 00 00 01 | ...i............................ |
| e060 | 00 00 00 12 09 20 3d 20 64 72 77 2d 3e 66 6f 6e 74 73 2d 3e 68 3b 35 81 f5 18 00 00 00 00 f2 02 | ......=.drw->fonts->h;5......... |
| e080 | 00 00 01 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 ae 42 00 00 00 00 00 00 02 00 | .......................B........ |
| e0a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 04 00 00 00 06 00 00 00 00 00 00 | ..............5._............... |
| e0c0 | 00 00 00 00 00 05 00 00 02 f3 00 00 00 01 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 | ................................ |
| e0e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| e100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| e120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| e140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| e160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| e180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| e1a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| e1c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| e1e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| e200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 f3 00 00 00 02 00 00 00 00 00 00 02 f3 | ................................ |
| e220 | 00 00 00 01 00 00 00 00 00 00 00 76 00 00 00 04 00 00 00 00 69 a1 0f 86 04 01 00 00 00 00 00 f5 | ...........v........i........... |
| e240 | 18 00 00 02 f2 00 00 02 f4 00 00 00 00 00 00 00 00 35 81 f5 18 00 00 00 00 f2 02 00 00 00 00 00 | .................5.............. |
| e260 | 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ad 42 00 00 00 00 00 00 13 00 00 00 00 00 00 | ..................B............. |
| e280 | 00 00 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........5._.................... |
| e2a0 | 06 00 00 02 f3 00 00 00 01 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| e2c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| e2e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| e300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| e320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| e340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| e360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| e380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| e3a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| e3c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| e3e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0b 00 00 00 02 00 00 00 00 00 00 00 0b 00 00 00 01 00 | ................................ |
| e400 | 00 00 00 00 00 00 76 00 00 00 04 00 00 00 00 69 a1 0f 87 04 01 00 00 00 01 00 f5 18 00 00 00 0a | ......v........i................ |
| e420 | 00 00 03 a0 00 00 03 a0 00 00 03 97 00 00 00 16 23 69 6e 63 6c 75 64 65 20 3c 58 31 31 2f 58 61 | ................#include.<X11/Xa |
| e440 | 74 6f 6d 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 58 31 31 2f 58 6c 69 62 2e 68 3e 00 | tom.h>....#include.<X11/Xlib.h>. |
| e460 | 00 00 16 23 69 6e 63 6c 75 64 65 20 3c 58 31 31 2f 58 75 74 69 6c 2e 68 3e 00 00 00 0f 23 69 66 | ...#include.<X11/Xutil.h>....#if |
| e480 | 64 65 66 20 58 49 4e 45 52 41 4d 41 00 00 00 24 23 69 6e 63 6c 75 64 65 20 3c 58 31 31 2f 65 78 | def.XINERAMA...$#include.<X11/ex |
| e4a0 | 74 65 6e 73 69 6f 6e 73 2f 58 69 6e 65 72 61 6d 61 2e 68 3e 00 00 00 06 23 65 6e 64 69 66 00 00 | tensions/Xinerama.h>....#endif.. |
| e4c0 | 00 18 23 69 6e 63 6c 75 64 65 20 3c 58 31 31 2f 58 66 74 2f 58 66 74 2e 68 3e 00 00 00 00 00 00 | ..#include.<X11/Xft/Xft.h>...... |
| e4e0 | 00 10 23 69 6e 63 6c 75 64 65 20 22 64 72 77 2e 68 22 00 00 00 11 23 69 6e 63 6c 75 64 65 20 22 | ..#include."drw.h"....#include." |
| e500 | 75 74 69 6c 2e 68 22 00 00 00 00 00 00 00 0c 2f 2a 20 6d 61 63 72 6f 73 20 2a 2f 00 00 00 50 23 | util.h"......../*.macros.*/...P# |
| e520 | 64 65 66 69 6e 65 20 49 4e 54 45 52 53 45 43 54 28 78 2c 20 79 2c 20 77 2c 20 68 2c 20 72 29 20 | define.INTERSECT(x,.y,.w,.h,.r). |
| e540 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| e560 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5c 00 00 00 50 20 20 28 4d 41 58 28 30 2c 20 4d 49 4e | ..............\...P..(MAX(0,.MIN |
| e580 | 28 28 78 29 20 2b 20 28 77 29 2c 20 28 72 29 2e 78 5f 6f 72 67 20 2b 20 28 72 29 2e 77 69 64 74 | ((x).+.(w),.(r).x_org.+.(r).widt |
| e5a0 | 68 29 20 2d 20 4d 41 58 28 28 78 29 2c 20 28 72 29 2e 78 5f 6f 72 67 29 29 20 2a 20 20 20 20 20 | h).-.MAX((x),.(r).x_org)).*..... |
| e5c0 | 20 20 5c 00 00 00 48 20 20 20 4d 41 58 28 30 2c 20 4d 49 4e 28 28 79 29 20 2b 20 28 68 29 2c 20 | ..\...H...MAX(0,.MIN((y).+.(h),. |
| e5e0 | 28 72 29 2e 79 5f 6f 72 67 20 2b 20 28 72 29 2e 68 65 69 67 68 74 29 20 2d 20 4d 41 58 28 28 79 | (r).y_org.+.(r).height).-.MAX((y |
| e600 | 29 2c 20 28 72 29 2e 79 5f 6f 72 67 29 29 29 00 00 00 39 23 64 65 66 69 6e 65 20 54 45 58 54 57 | ),.(r).y_org)))...9#define.TEXTW |
| e620 | 28 58 29 20 28 64 72 77 5f 66 6f 6e 74 73 65 74 5f 67 65 74 77 69 64 74 68 28 64 72 77 2c 20 28 | (X).(drw_fontset_getwidth(drw,.( |
| e640 | 58 29 29 20 2b 20 6c 72 70 61 64 29 00 00 00 00 00 00 00 0b 2f 2a 20 65 6e 75 6d 73 20 2a 2f 00 | X)).+.lrpad)......../*.enums.*/. |
| e660 | 00 00 4a 65 6e 75 6d 20 7b 20 53 63 68 65 6d 65 4e 6f 72 6d 2c 20 53 63 68 65 6d 65 53 65 6c 2c | ..Jenum.{.SchemeNorm,.SchemeSel, |
| e680 | 20 53 63 68 65 6d 65 4f 75 74 2c 20 53 63 68 65 6d 65 4c 61 73 74 20 7d 3b 20 2f 2a 20 63 6f 6c | .SchemeOut,.SchemeLast.};./*.col |
| e6a0 | 6f 72 20 73 63 68 65 6d 65 73 20 2a 2f 00 00 00 00 00 00 00 0d 73 74 72 75 63 74 20 69 74 65 6d | or.schemes.*/........struct.item |
| e6c0 | 20 7b 00 00 00 0d 20 20 63 68 61 72 20 2a 74 65 78 74 3b 00 00 00 1c 20 20 73 74 72 75 63 74 20 | .{......char.*text;......struct. |
| e6e0 | 69 74 65 6d 20 2a 6c 65 66 74 2c 20 2a 72 69 67 68 74 3b 00 00 00 0a 20 20 69 6e 74 20 6f 75 74 | item.*left,.*right;......int.out |
| e700 | 3b 00 00 00 02 7d 3b 00 00 00 00 00 00 00 1e 73 74 61 74 69 63 20 63 68 61 72 20 74 65 78 74 5b | ;....};........static.char.text[ |
| e720 | 42 55 46 53 49 5a 5d 20 3d 20 22 22 3b 00 00 00 13 73 74 61 74 69 63 20 63 68 61 72 20 2a 65 6d | BUFSIZ].=."";....static.char.*em |
| e740 | 62 65 64 3b 00 00 00 16 73 74 61 74 69 63 20 69 6e 74 20 62 68 2c 20 6d 77 2c 20 6d 68 3b 00 00 | bed;....static.int.bh,.mw,.mh;.. |
| e760 | 00 34 73 74 61 74 69 63 20 69 6e 74 20 64 6d 78 20 3d 20 30 3b 20 2f 2a 20 70 75 74 20 64 6d 65 | .4static.int.dmx.=.0;./*.put.dme |
| e780 | 6e 75 20 61 74 20 74 68 69 73 20 78 20 6f 66 66 73 65 74 20 2a 2f 00 00 00 4e 73 74 61 74 69 63 | nu.at.this.x.offset.*/...Nstatic |
| e7a0 | 20 69 6e 74 20 64 6d 79 20 3d 20 30 3b 20 2f 2a 20 70 75 74 20 64 6d 65 6e 75 20 61 74 20 74 68 | .int.dmy.=.0;./*.put.dmenu.at.th |
| e7c0 | 69 73 20 79 20 6f 66 66 73 65 74 20 28 6d 65 61 73 75 72 65 64 20 66 72 6f 6d 20 74 68 65 20 62 | is.y.offset.(measured.from.the.b |
| e7e0 | 6f 74 74 6f 6d 20 69 66 00 00 00 26 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ottom.if...&.................... |
| e800 | 20 20 20 74 6f 70 62 61 72 20 69 73 20 30 29 20 2a 2f 00 00 00 37 73 74 61 74 69 63 20 75 6e 73 | ...topbar.is.0).*/...7static.uns |
| e820 | 69 67 6e 65 64 20 69 6e 74 20 64 6d 77 20 3d 20 30 3b 20 2f 2a 20 6d 61 6b 65 20 64 6d 65 6e 75 | igned.int.dmw.=.0;./*.make.dmenu |
| e840 | 20 74 68 69 73 20 77 69 64 65 20 2a 2f 00 00 00 1f 73 74 61 74 69 63 20 69 6e 74 20 69 6e 70 75 | .this.wide.*/....static.int.inpu |
| e860 | 74 77 20 3d 20 30 2c 20 70 72 6f 6d 70 74 77 3b 00 00 00 35 73 74 61 74 69 63 20 69 6e 74 20 6c | tw.=.0,.promptw;...5static.int.l |
| e880 | 72 70 61 64 3b 20 2f 2a 20 73 75 6d 20 6f 66 20 6c 65 66 74 20 61 6e 64 20 72 69 67 68 74 20 70 | rpad;./*.sum.of.left.and.right.p |
| e8a0 | 61 64 64 69 6e 67 20 2a 2f 00 00 00 15 73 74 61 74 69 63 20 73 69 7a 65 5f 74 20 63 75 72 73 6f | adding.*/....static.size_t.curso |
| e8c0 | 72 3b 00 00 00 21 73 74 61 74 69 63 20 73 74 72 75 63 74 20 69 74 65 6d 20 2a 69 74 65 6d 73 20 | r;...!static.struct.item.*items. |
| e8e0 | 3d 20 4e 55 4c 4c 3b 00 00 00 27 73 74 61 74 69 63 20 73 74 72 75 63 74 20 69 74 65 6d 20 2a 6d | =.NULL;...'static.struct.item.*m |
| e900 | 61 74 63 68 65 73 2c 20 2a 6d 61 74 63 68 65 6e 64 3b 00 00 00 2d 73 74 61 74 69 63 20 73 74 72 | atches,.*matchend;...-static.str |
| e920 | 75 63 74 20 69 74 65 6d 20 2a 70 72 65 76 2c 20 2a 63 75 72 72 2c 20 2a 6e 65 78 74 2c 20 2a 73 | uct.item.*prev,.*curr,.*next,.*s |
| e940 | 65 6c 3b 00 00 00 1c 73 74 61 74 69 63 20 69 6e 74 20 6d 6f 6e 20 3d 20 2d 31 2c 20 73 63 72 65 | el;....static.int.mon.=.-1,.scre |
| e960 | 65 6e 3b 00 00 00 00 00 00 00 17 73 74 61 74 69 63 20 41 74 6f 6d 20 63 6c 69 70 2c 20 75 74 66 | en;........static.Atom.clip,.utf |
| e980 | 38 3b 00 00 00 14 73 74 61 74 69 63 20 44 69 73 70 6c 61 79 20 2a 64 70 79 3b 00 00 00 23 73 74 | 8;....static.Display.*dpy;...#st |
| e9a0 | 61 74 69 63 20 57 69 6e 64 6f 77 20 72 6f 6f 74 2c 20 70 61 72 65 6e 74 77 69 6e 2c 20 77 69 6e | atic.Window.root,.parentwin,.win |
| e9c0 | 3b 00 00 00 0f 73 74 61 74 69 63 20 58 49 43 20 78 69 63 3b 00 00 00 00 00 00 00 10 73 74 61 74 | ;....static.XIC.xic;........stat |
| e9e0 | 69 63 20 44 72 77 20 2a 64 72 77 3b 00 00 00 1f 73 74 61 74 69 63 20 43 6c 72 20 2a 73 63 68 65 | ic.Drw.*drw;....static.Clr.*sche |
| ea00 | 6d 65 5b 53 63 68 65 6d 65 4c 61 73 74 5d 3b 00 00 00 00 00 00 00 13 23 69 6e 63 6c 75 64 65 20 | me[SchemeLast];........#include. |
| ea20 | 22 63 6f 6e 66 69 67 2e 68 22 00 00 00 00 00 00 00 45 73 74 61 74 69 63 20 69 6e 74 20 28 2a 66 | "config.h".......Estatic.int.(*f |
| ea40 | 73 74 72 6e 63 6d 70 29 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 2c 20 63 6f 6e 73 74 20 63 68 61 | strncmp)(const.char.*,.const.cha |
| ea60 | 72 20 2a 2c 20 73 69 7a 65 5f 74 29 20 3d 20 73 74 72 6e 63 6d 70 3b 00 00 00 3d 73 74 61 74 69 | r.*,.size_t).=.strncmp;...=stati |
| ea80 | 63 20 63 68 61 72 20 2a 28 2a 66 73 74 72 73 74 72 29 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 2c | c.char.*(*fstrstr)(const.char.*, |
| eaa0 | 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 29 20 3d 20 73 74 72 73 74 72 3b 00 00 00 00 00 00 00 42 | .const.char.*).=.strstr;.......B |
| eac0 | 73 74 61 74 69 63 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 74 65 78 74 77 5f 63 6c 61 6d 70 28 | static.unsigned.int.textw_clamp( |
| eae0 | 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 74 72 2c 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 6e 29 | const.char.*str,.unsigned.int.n) |
| eb00 | 20 7b 00 00 00 43 20 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 77 20 3d 20 64 72 77 5f 66 6f 6e | .{...C..unsigned.int.w.=.drw_fon |
| eb20 | 74 73 65 74 5f 67 65 74 77 69 64 74 68 5f 63 6c 61 6d 70 28 64 72 77 2c 20 73 74 72 2c 20 6e 29 | tset_getwidth_clamp(drw,.str,.n) |
| eb40 | 20 2b 20 6c 72 70 61 64 3b 00 00 00 13 20 20 72 65 74 75 72 6e 20 4d 49 4e 28 77 2c 20 6e 29 3b | .+.lrpad;......return.MIN(w,.n); |
| eb60 | 00 00 00 01 7d 00 00 00 00 00 00 00 3d 73 74 61 74 69 63 20 76 6f 69 64 20 61 70 70 65 6e 64 69 | ....}.......=static.void.appendi |
| eb80 | 74 65 6d 28 73 74 72 75 63 74 20 69 74 65 6d 20 2a 69 74 65 6d 2c 20 73 74 72 75 63 74 20 69 74 | tem(struct.item.*item,.struct.it |
| eba0 | 65 6d 20 2a 2a 6c 69 73 74 2c 00 00 00 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | em.**list,...,.................. |
| ebc0 | 20 20 20 20 20 73 74 72 75 63 74 20 69 74 65 6d 20 2a 2a 6c 61 73 74 29 20 7b 00 00 00 0c 20 20 | .....struct.item.**last).{...... |
| ebe0 | 69 66 20 28 2a 6c 61 73 74 29 00 00 00 1a 20 20 20 20 28 2a 6c 61 73 74 29 2d 3e 72 69 67 68 74 | if.(*last)........(*last)->right |
| ec00 | 20 3d 20 69 74 65 6d 3b 00 00 00 06 20 20 65 6c 73 65 00 00 00 11 20 20 20 20 2a 6c 69 73 74 20 | .=.item;......else........*list. |
| ec20 | 3d 20 69 74 65 6d 3b 00 00 00 00 00 00 00 15 20 20 69 74 65 6d 2d 3e 6c 65 66 74 20 3d 20 2a 6c | =.item;..........item->left.=.*l |
| ec40 | 61 73 74 3b 00 00 00 15 20 20 69 74 65 6d 2d 3e 72 69 67 68 74 20 3d 20 4e 55 4c 4c 3b 00 00 00 | ast;......item->right.=.NULL;... |
| ec60 | 0f 20 20 2a 6c 61 73 74 20 3d 20 69 74 65 6d 3b 00 00 00 01 7d 00 00 00 00 00 00 00 1f 73 74 61 | ...*last.=.item;....}........sta |
| ec80 | 74 69 63 20 76 6f 69 64 20 63 61 6c 63 6f 66 66 73 65 74 73 28 76 6f 69 64 29 20 7b 00 00 00 0b | tic.void.calcoffsets(void).{.... |
| eca0 | 20 20 69 6e 74 20 69 2c 20 6e 3b 00 00 00 00 00 00 00 10 20 20 69 66 20 28 6c 69 6e 65 73 20 3e | ..int.i,.n;..........if.(lines.> |
| ecc0 | 20 30 29 00 00 00 13 20 20 20 20 6e 20 3d 20 6c 69 6e 65 73 20 2a 20 62 68 3b 00 00 00 06 20 20 | .0)........n.=.lines.*.bh;...... |
| ece0 | 65 6c 73 65 00 00 00 3a 20 20 20 20 6e 20 3d 20 6d 77 20 2d 20 28 70 72 6f 6d 70 74 77 20 2b 20 | else...:....n.=.mw.-.(promptw.+. |
| ed00 | 69 6e 70 75 74 77 20 2b 20 54 45 58 54 57 28 22 3c 22 29 20 2b 20 54 45 58 54 57 28 22 3e 22 29 | inputw.+.TEXTW("<").+.TEXTW(">") |
| ed20 | 29 3b 00 00 00 48 20 20 2f 2a 20 63 61 6c 63 75 6c 61 74 65 20 77 68 69 63 68 20 69 74 65 6d 73 | );...H../*.calculate.which.items |
| ed40 | 20 77 69 6c 6c 20 62 65 67 69 6e 20 74 68 65 20 6e 65 78 74 20 70 61 67 65 20 61 6e 64 20 70 72 | .will.begin.the.next.page.and.pr |
| ed60 | 65 76 69 6f 75 73 20 70 61 67 65 20 2a 2f 00 00 00 34 20 20 66 6f 72 20 28 69 20 3d 20 30 2c 20 | evious.page.*/...4..for.(i.=.0,. |
| ed80 | 6e 65 78 74 20 3d 20 63 75 72 72 3b 20 6e 65 78 74 3b 20 6e 65 78 74 20 3d 20 6e 65 78 74 2d 3e | next.=.curr;.next;.next.=.next-> |
| eda0 | 72 69 67 68 74 29 00 00 00 41 20 20 20 20 69 66 20 28 28 69 20 2b 3d 20 28 6c 69 6e 65 73 20 3e | right)...A....if.((i.+=.(lines.> |
| edc0 | 20 30 29 20 3f 20 62 68 20 3a 20 74 65 78 74 77 5f 63 6c 61 6d 70 28 6e 65 78 74 2d 3e 74 65 78 | .0).?.bh.:.textw_clamp(next->tex |
| ede0 | 74 2c 20 6e 29 29 20 3e 20 6e 29 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 41 20 | t,.n)).>.n)..........break;...A. |
| ee00 | 20 66 6f 72 20 28 69 20 3d 20 30 2c 20 70 72 65 76 20 3d 20 63 75 72 72 3b 20 70 72 65 76 20 26 | .for.(i.=.0,.prev.=.curr;.prev.& |
| ee20 | 26 20 70 72 65 76 2d 3e 6c 65 66 74 3b 20 70 72 65 76 20 3d 20 70 72 65 76 2d 3e 6c 65 66 74 29 | &.prev->left;.prev.=.prev->left) |
| ee40 | 00 00 00 47 20 20 20 20 69 66 20 28 28 69 20 2b 3d 20 28 6c 69 6e 65 73 20 3e 20 30 29 20 3f 20 | ...G....if.((i.+=.(lines.>.0).?. |
| ee60 | 62 68 20 3a 20 74 65 78 74 77 5f 63 6c 61 6d 70 28 70 72 65 76 2d 3e 6c 65 66 74 2d 3e 74 65 78 | bh.:.textw_clamp(prev->left->tex |
| ee80 | 74 2c 20 6e 29 29 20 3e 20 6e 29 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 01 7d | t,.n)).>.n)..........break;....} |
| eea0 | 00 00 00 00 00 00 00 1b 73 74 61 74 69 63 20 76 6f 69 64 20 63 6c 65 61 6e 75 70 28 76 6f 69 64 | ........static.void.cleanup(void |
| eec0 | 29 20 7b 00 00 00 0b 20 20 73 69 7a 65 5f 74 20 69 3b 00 00 00 00 00 00 00 24 20 20 58 55 6e 67 | ).{......size_t.i;.......$..XUng |
| eee0 | 72 61 62 4b 65 79 62 6f 61 72 64 28 64 70 79 2c 20 43 75 72 72 65 6e 74 54 69 6d 65 29 3b 00 00 | rabKeyboard(dpy,.CurrentTime);.. |
| ef00 | 00 22 20 20 66 6f 72 20 28 69 20 3d 20 30 3b 20 69 20 3c 20 53 63 68 65 6d 65 4c 61 73 74 3b 20 | ."..for.(i.=.0;.i.<.SchemeLast;. |
| ef20 | 69 2b 2b 29 00 00 00 14 20 20 20 20 66 72 65 65 28 73 63 68 65 6d 65 5b 69 5d 29 3b 00 00 00 2a | i++)........free(scheme[i]);...* |
| ef40 | 20 20 66 6f 72 20 28 69 20 3d 20 30 3b 20 69 74 65 6d 73 20 26 26 20 69 74 65 6d 73 5b 69 5d 2e | ..for.(i.=.0;.items.&&.items[i]. |
| ef60 | 74 65 78 74 3b 20 2b 2b 69 29 00 00 00 18 20 20 20 20 66 72 65 65 28 69 74 65 6d 73 5b 69 5d 2e | text;.++i)........free(items[i]. |
| ef80 | 74 65 78 74 29 3b 00 00 00 0e 20 20 66 72 65 65 28 69 74 65 6d 73 29 3b 00 00 00 10 20 20 64 72 | text);......free(items);......dr |
| efa0 | 77 5f 66 72 65 65 28 64 72 77 29 3b 00 00 00 14 20 20 58 53 79 6e 63 28 64 70 79 2c 20 46 61 6c | w_free(drw);......XSync(dpy,.Fal |
| efc0 | 73 65 29 3b 00 00 00 15 20 20 58 43 6c 6f 73 65 44 69 73 70 6c 61 79 28 64 70 79 29 3b 00 00 00 | se);......XCloseDisplay(dpy);... |
| efe0 | 01 7d 00 00 00 00 00 00 00 35 73 74 61 74 69 63 20 63 68 61 72 20 2a 63 69 73 74 72 73 74 72 28 | .}.......5static.char.*cistrstr( |
| f000 | 63 6f 6e 73 74 20 63 68 61 72 20 2a 68 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6e 29 20 7b 00 | const.char.*h,.const.char.*n).{. |
| f020 | 00 00 0b 20 20 73 69 7a 65 5f 74 20 69 3b 00 00 00 00 00 00 00 0c 20 20 69 66 20 28 21 6e 5b 30 | .....size_t.i;..........if.(!n[0 |
| f040 | 5d 29 00 00 00 15 20 20 20 20 72 65 74 75 72 6e 20 28 63 68 61 72 20 2a 29 68 3b 00 00 00 00 00 | ])........return.(char.*)h;..... |
| f060 | 00 00 13 20 20 66 6f 72 20 28 3b 20 2a 68 3b 20 2b 2b 68 29 20 7b 00 00 00 0f 20 20 20 20 66 6f | .....for.(;.*h;.++h).{........fo |
| f080 | 72 20 28 69 20 3d 20 30 3b 00 00 00 4e 20 20 20 20 20 20 20 20 20 6e 5b 69 5d 20 26 26 20 74 6f | r.(i.=.0;...N.........n[i].&&.to |
| f0a0 | 6c 6f 77 65 72 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 29 6e 5b 69 5d 29 20 3d 3d 20 74 6f | lower((unsigned.char)n[i]).==.to |
| f0c0 | 6c 6f 77 65 72 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 29 68 5b 69 5d 29 3b 00 00 00 0d 20 | lower((unsigned.char)h[i]);..... |
| f0e0 | 20 20 20 20 20 20 20 20 2b 2b 69 29 00 00 00 07 20 20 20 20 20 20 3b 00 00 00 15 20 20 20 20 69 | ........++i)..........;........i |
| f100 | 66 20 28 6e 5b 69 5d 20 3d 3d 20 27 5c 30 27 29 00 00 00 17 20 20 20 20 20 20 72 65 74 75 72 6e | f.(n[i].==.'\0')..........return |
| f120 | 20 28 63 68 61 72 20 2a 29 68 3b 00 00 00 03 20 20 7d 00 00 00 0e 20 20 72 65 74 75 72 6e 20 4e | .(char.*)h;......}......return.N |
| f140 | 55 4c 4c 3b 00 00 00 01 7d 00 00 00 00 00 00 00 3d 73 74 61 74 69 63 20 69 6e 74 20 64 72 61 77 | ULL;....}.......=static.int.draw |
| f160 | 69 74 65 6d 28 73 74 72 75 63 74 20 69 74 65 6d 20 2a 69 74 65 6d 2c 20 69 6e 74 20 78 2c 20 69 | item(struct.item.*item,.int.x,.i |
| f180 | 6e 74 20 79 2c 20 69 6e 74 20 77 29 20 7b 00 00 00 12 20 20 69 66 20 28 69 74 65 6d 20 3d 3d 20 | nt.y,.int.w).{......if.(item.==. |
| f1a0 | 73 65 6c 29 00 00 00 2a 20 20 20 20 64 72 77 5f 73 65 74 73 63 68 65 6d 65 28 64 72 77 2c 20 73 | sel)...*....drw_setscheme(drw,.s |
| f1c0 | 63 68 65 6d 65 5b 53 63 68 65 6d 65 53 65 6c 5d 29 3b 00 00 00 15 20 20 65 6c 73 65 20 69 66 20 | cheme[SchemeSel]);......else.if. |
| f1e0 | 28 69 74 65 6d 2d 3e 6f 75 74 29 00 00 00 2a 20 20 20 20 64 72 77 5f 73 65 74 73 63 68 65 6d 65 | (item->out)...*....drw_setscheme |
| f200 | 28 64 72 77 2c 20 73 63 68 65 6d 65 5b 53 63 68 65 6d 65 4f 75 74 5d 29 3b 00 00 00 06 20 20 65 | (drw,.scheme[SchemeOut]);......e |
| f220 | 6c 73 65 00 00 00 2b 20 20 20 20 64 72 77 5f 73 65 74 73 63 68 65 6d 65 28 64 72 77 2c 20 73 63 | lse...+....drw_setscheme(drw,.sc |
| f240 | 68 65 6d 65 5b 53 63 68 65 6d 65 4e 6f 72 6d 5d 29 3b 00 00 00 00 00 00 00 3e 20 20 72 65 74 75 | heme[SchemeNorm]);.......>..retu |
| f260 | 72 6e 20 64 72 77 5f 74 65 78 74 28 64 72 77 2c 20 78 2c 20 79 2c 20 77 2c 20 62 68 2c 20 6c 72 | rn.drw_text(drw,.x,.y,.w,.bh,.lr |
| f280 | 70 61 64 20 2f 20 32 2c 20 69 74 65 6d 2d 3e 74 65 78 74 2c 20 30 29 3b 00 00 00 01 7d 00 00 00 | pad./.2,.item->text,.0);....}... |
| f2a0 | 00 00 00 00 1c 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 6d 65 6e 75 28 76 6f 69 64 29 20 | .....static.void.drawmenu(void). |
| f2c0 | 7b 00 00 00 16 20 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 63 75 72 70 6f 73 3b 00 00 00 14 20 | {......unsigned.int.curpos;..... |
| f2e0 | 20 73 74 72 75 63 74 20 69 74 65 6d 20 2a 69 74 65 6d 3b 00 00 00 16 20 20 69 6e 74 20 78 20 3d | .struct.item.*item;......int.x.= |
| f300 | 20 30 2c 20 79 20 3d 20 30 2c 20 77 3b 00 00 00 00 00 00 00 29 20 20 64 72 77 5f 73 65 74 73 63 | .0,.y.=.0,.w;.......)..drw_setsc |
| f320 | 68 65 6d 65 28 64 72 77 2c 20 73 63 68 65 6d 65 5b 53 63 68 65 6d 65 4e 6f 72 6d 5d 29 3b 00 00 | heme(drw,.scheme[SchemeNorm]);.. |
| f340 | 00 24 20 20 64 72 77 5f 72 65 63 74 28 64 72 77 2c 20 30 2c 20 30 2c 20 6d 77 2c 20 6d 68 2c 20 | .$..drw_rect(drw,.0,.0,.mw,.mh,. |
| f360 | 31 2c 20 31 29 3b 00 00 00 00 00 00 00 1a 20 20 69 66 20 28 70 72 6f 6d 70 74 20 26 26 20 2a 70 | 1,.1);..........if.(prompt.&&.*p |
| f380 | 72 6f 6d 70 74 29 20 7b 00 00 00 2a 20 20 20 20 64 72 77 5f 73 65 74 73 63 68 65 6d 65 28 64 72 | rompt).{...*....drw_setscheme(dr |
| f3a0 | 77 2c 20 73 63 68 65 6d 65 5b 53 63 68 65 6d 65 53 65 6c 5d 29 3b 00 00 00 3f 20 20 20 20 78 20 | w,.scheme[SchemeSel]);...?....x. |
| f3c0 | 3d 20 64 72 77 5f 74 65 78 74 28 64 72 77 2c 20 78 2c 20 30 2c 20 70 72 6f 6d 70 74 77 2c 20 62 | =.drw_text(drw,.x,.0,.promptw,.b |
| f3e0 | 68 2c 20 6c 72 70 61 64 20 2f 20 32 2c 20 70 72 6f 6d 70 74 2c 20 30 29 3b 00 00 00 03 20 20 7d | h,.lrpad./.2,.prompt,.0);......} |
| f400 | 00 00 00 18 20 20 2f 2a 20 64 72 61 77 20 69 6e 70 75 74 20 66 69 65 6c 64 20 2a 2f 00 00 00 30 | ....../*.draw.input.field.*/...0 |
| f420 | 20 20 77 20 3d 20 28 6c 69 6e 65 73 20 3e 20 30 20 7c 7c 20 21 6d 61 74 63 68 65 73 29 20 3f 20 | ..w.=.(lines.>.0.||.!matches).?. |
| f440 | 6d 77 20 2d 20 78 20 3a 20 69 6e 70 75 74 77 3b 00 00 00 29 20 20 64 72 77 5f 73 65 74 73 63 68 | mw.-.x.:.inputw;...)..drw_setsch |
| f460 | 65 6d 65 28 64 72 77 2c 20 73 63 68 65 6d 65 5b 53 63 68 65 6d 65 4e 6f 72 6d 5d 29 3b 00 00 00 | eme(drw,.scheme[SchemeNorm]);... |
| f480 | 31 20 20 64 72 77 5f 74 65 78 74 28 64 72 77 2c 20 78 2c 20 30 2c 20 77 2c 20 62 68 2c 20 6c 72 | 1..drw_text(drw,.x,.0,.w,.bh,.lr |
| f4a0 | 70 61 64 20 2f 20 32 2c 20 74 65 78 74 2c 20 30 29 3b 00 00 00 00 00 00 00 2e 20 20 63 75 72 70 | pad./.2,.text,.0);..........curp |
| f4c0 | 6f 73 20 3d 20 54 45 58 54 57 28 74 65 78 74 29 20 2d 20 54 45 58 54 57 28 26 74 65 78 74 5b 63 | os.=.TEXTW(text).-.TEXTW(&text[c |
| f4e0 | 75 72 73 6f 72 5d 29 3b 00 00 00 26 20 20 69 66 20 28 28 63 75 72 70 6f 73 20 2b 3d 20 6c 72 70 | ursor]);...&..if.((curpos.+=.lrp |
| f500 | 61 64 20 2f 20 32 20 2d 20 31 29 20 3c 20 77 29 20 7b 00 00 00 2b 20 20 20 20 64 72 77 5f 73 65 | ad./.2.-.1).<.w).{...+....drw_se |
| f520 | 74 73 63 68 65 6d 65 28 64 72 77 2c 20 73 63 68 65 6d 65 5b 53 63 68 65 6d 65 4e 6f 72 6d 5d 29 | tscheme(drw,.scheme[SchemeNorm]) |
| f540 | 3b 00 00 00 32 20 20 20 20 64 72 77 5f 72 65 63 74 28 64 72 77 2c 20 78 20 2b 20 63 75 72 70 6f | ;...2....drw_rect(drw,.x.+.curpo |
| f560 | 73 2c 20 32 2c 20 32 2c 20 62 68 20 2d 20 34 2c 20 31 2c 20 30 29 3b 00 00 00 03 20 20 7d 00 00 | s,.2,.2,.bh.-.4,.1,.0);......}.. |
| f580 | 00 00 00 00 00 12 20 20 69 66 20 28 6c 69 6e 65 73 20 3e 20 30 29 20 7b 00 00 00 1c 20 20 20 20 | ........if.(lines.>.0).{........ |
| f5a0 | 2f 2a 20 64 72 61 77 20 76 65 72 74 69 63 61 6c 20 6c 69 73 74 20 2a 2f 00 00 00 37 20 20 20 20 | /*.draw.vertical.list.*/...7.... |
| f5c0 | 66 6f 72 20 28 69 74 65 6d 20 3d 20 63 75 72 72 3b 20 69 74 65 6d 20 21 3d 20 6e 65 78 74 3b 20 | for.(item.=.curr;.item.!=.next;. |
| f5e0 | 69 74 65 6d 20 3d 20 69 74 65 6d 2d 3e 72 69 67 68 74 29 00 00 00 29 20 20 20 20 20 20 64 72 61 | item.=.item->right)...)......dra |
| f600 | 77 69 74 65 6d 28 69 74 65 6d 2c 20 78 2c 20 79 20 2b 3d 20 62 68 2c 20 6d 77 20 2d 20 78 29 3b | witem(item,.x,.y.+=.bh,.mw.-.x); |
| f620 | 00 00 00 17 20 20 7d 20 65 6c 73 65 20 69 66 20 28 6d 61 74 63 68 65 73 29 20 7b 00 00 00 1e 20 | ......}.else.if.(matches).{..... |
| f640 | 20 20 20 2f 2a 20 64 72 61 77 20 68 6f 72 69 7a 6f 6e 74 61 6c 20 6c 69 73 74 20 2a 2f 00 00 00 | .../*.draw.horizontal.list.*/... |
| f660 | 10 20 20 20 20 78 20 2b 3d 20 69 6e 70 75 74 77 3b 00 00 00 13 20 20 20 20 77 20 3d 20 54 45 58 | .....x.+=.inputw;........w.=.TEX |
| f680 | 54 57 28 22 3c 22 29 3b 00 00 00 15 20 20 20 20 69 66 20 28 63 75 72 72 2d 3e 6c 65 66 74 29 20 | TW("<");........if.(curr->left). |
| f6a0 | 7b 00 00 00 2d 20 20 20 20 20 20 64 72 77 5f 73 65 74 73 63 68 65 6d 65 28 64 72 77 2c 20 73 63 | {...-......drw_setscheme(drw,.sc |
| f6c0 | 68 65 6d 65 5b 53 63 68 65 6d 65 4e 6f 72 6d 5d 29 3b 00 00 00 34 20 20 20 20 20 20 64 72 77 5f | heme[SchemeNorm]);...4......drw_ |
| f6e0 | 74 65 78 74 28 64 72 77 2c 20 78 2c 20 30 2c 20 77 2c 20 62 68 2c 20 6c 72 70 61 64 20 2f 20 32 | text(drw,.x,.0,.w,.bh,.lrpad./.2 |
| f700 | 2c 20 22 3c 22 2c 20 30 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 0b 20 20 20 20 78 20 2b 3d 20 | ,."<",.0);........}........x.+=. |
| f720 | 77 3b 00 00 00 37 20 20 20 20 66 6f 72 20 28 69 74 65 6d 20 3d 20 63 75 72 72 3b 20 69 74 65 6d | w;...7....for.(item.=.curr;.item |
| f740 | 20 21 3d 20 6e 65 78 74 3b 20 69 74 65 6d 20 3d 20 69 74 65 6d 2d 3e 72 69 67 68 74 29 00 00 00 | .!=.next;.item.=.item->right)... |
| f760 | 4d 20 20 20 20 20 20 78 20 3d 20 64 72 61 77 69 74 65 6d 28 69 74 65 6d 2c 20 78 2c 20 30 2c 20 | M......x.=.drawitem(item,.x,.0,. |
| f780 | 74 65 78 74 77 5f 63 6c 61 6d 70 28 69 74 65 6d 2d 3e 74 65 78 74 2c 20 6d 77 20 2d 20 78 20 2d | textw_clamp(item->text,.mw.-.x.- |
| f7a0 | 20 54 45 58 54 57 28 22 3e 22 29 29 29 3b 00 00 00 0f 20 20 20 20 69 66 20 28 6e 65 78 74 29 20 | .TEXTW(">")));........if.(next). |
| f7c0 | 7b 00 00 00 15 20 20 20 20 20 20 77 20 3d 20 54 45 58 54 57 28 22 3e 22 29 3b 00 00 00 2d 20 20 | {..........w.=.TEXTW(">");...-.. |
| f7e0 | 20 20 20 20 64 72 77 5f 73 65 74 73 63 68 65 6d 65 28 64 72 77 2c 20 73 63 68 65 6d 65 5b 53 63 | ....drw_setscheme(drw,.scheme[Sc |
| f800 | 68 65 6d 65 4e 6f 72 6d 5d 29 3b 00 00 00 39 20 20 20 20 20 20 64 72 77 5f 74 65 78 74 28 64 72 | hemeNorm]);...9......drw_text(dr |
| f820 | 77 2c 20 6d 77 20 2d 20 77 2c 20 30 2c 20 77 2c 20 62 68 2c 20 6c 72 70 61 64 20 2f 20 32 2c 20 | w,.mw.-.w,.0,.w,.bh,.lrpad./.2,. |
| f840 | 22 3e 22 2c 20 30 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 22 20 20 64 72 | ">",.0);........}......}..."..dr |
| f860 | 77 5f 6d 61 70 28 64 72 77 2c 20 77 69 6e 2c 20 30 2c 20 30 2c 20 6d 77 2c 20 6d 68 29 3b 00 00 | w_map(drw,.win,.0,.0,.mw,.mh);.. |
| f880 | 00 01 7d 00 00 00 00 00 00 00 1d 73 74 61 74 69 63 20 76 6f 69 64 20 67 72 61 62 66 6f 63 75 73 | ..}........static.void.grabfocus |
| f8a0 | 28 76 6f 69 64 29 20 7b 00 00 00 3a 20 20 73 74 72 75 63 74 20 74 69 6d 65 73 70 65 63 20 74 73 | (void).{...:..struct.timespec.ts |
| f8c0 | 20 3d 20 7b 2e 74 76 5f 73 65 63 20 3d 20 30 2c 20 2e 74 76 5f 6e 73 65 63 20 3d 20 31 30 30 30 | .=.{.tv_sec.=.0,..tv_nsec.=.1000 |
| f8e0 | 30 30 30 30 7d 3b 00 00 00 12 20 20 57 69 6e 64 6f 77 20 66 6f 63 75 73 77 69 6e 3b 00 00 00 13 | 0000};......Window.focuswin;.... |
| f900 | 20 20 69 6e 74 20 69 2c 20 72 65 76 65 72 74 77 69 6e 3b 00 00 00 00 00 00 00 1d 20 20 66 6f 72 | ..int.i,.revertwin;..........for |
| f920 | 20 28 69 20 3d 20 30 3b 20 69 20 3c 20 31 30 30 3b 20 2b 2b 69 29 20 7b 00 00 00 2f 20 20 20 20 | .(i.=.0;.i.<.100;.++i).{.../.... |
| f940 | 58 47 65 74 49 6e 70 75 74 46 6f 63 75 73 28 64 70 79 2c 20 26 66 6f 63 75 73 77 69 6e 2c 20 26 | XGetInputFocus(dpy,.&focuswin,.& |
| f960 | 72 65 76 65 72 74 77 69 6e 29 3b 00 00 00 18 20 20 20 20 69 66 20 28 66 6f 63 75 73 77 69 6e 20 | revertwin);........if.(focuswin. |
| f980 | 3d 3d 20 77 69 6e 29 00 00 00 0d 20 20 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 3a 20 20 20 20 | ==.win)..........return;...:.... |
| f9a0 | 58 53 65 74 49 6e 70 75 74 46 6f 63 75 73 28 64 70 79 2c 20 77 69 6e 2c 20 52 65 76 65 72 74 54 | XSetInputFocus(dpy,.win,.RevertT |
| f9c0 | 6f 50 61 72 65 6e 74 2c 20 43 75 72 72 65 6e 74 54 69 6d 65 29 3b 00 00 00 19 20 20 20 20 6e 61 | oParent,.CurrentTime);........na |
| f9e0 | 6e 6f 73 6c 65 65 70 28 26 74 73 2c 20 4e 55 4c 4c 29 3b 00 00 00 03 20 20 7d 00 00 00 1b 20 20 | nosleep(&ts,.NULL);......}...... |
| fa00 | 64 69 65 28 22 63 61 6e 6e 6f 74 20 67 72 61 62 20 66 6f 63 75 73 22 29 3b 00 00 00 01 7d 00 00 | die("cannot.grab.focus");....}.. |
| fa20 | 00 00 00 00 00 20 73 74 61 74 69 63 20 76 6f 69 64 20 67 72 61 62 6b 65 79 62 6f 61 72 64 28 76 | ......static.void.grabkeyboard(v |
| fa40 | 6f 69 64 29 20 7b 00 00 00 39 20 20 73 74 72 75 63 74 20 74 69 6d 65 73 70 65 63 20 74 73 20 3d | oid).{...9..struct.timespec.ts.= |
| fa60 | 20 7b 2e 74 76 5f 73 65 63 20 3d 20 30 2c 20 2e 74 76 5f 6e 73 65 63 20 3d 20 31 30 30 30 30 30 | .{.tv_sec.=.0,..tv_nsec.=.100000 |
| fa80 | 30 7d 3b 00 00 00 08 20 20 69 6e 74 20 69 3b 00 00 00 00 00 00 00 0c 20 20 69 66 20 28 65 6d 62 | 0};......int.i;..........if.(emb |
| faa0 | 65 64 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 4f 20 20 2f 2a 20 74 72 79 20 74 | ed)........return;...O../*.try.t |
| fac0 | 6f 20 67 72 61 62 20 6b 65 79 62 6f 61 72 64 2c 20 77 65 20 6d 61 79 20 68 61 76 65 20 74 6f 20 | o.grab.keyboard,.we.may.have.to. |
| fae0 | 77 61 69 74 20 66 6f 72 20 61 6e 6f 74 68 65 72 20 70 72 6f 63 65 73 73 20 74 6f 20 75 6e 67 72 | wait.for.another.process.to.ungr |
| fb00 | 61 62 20 2a 2f 00 00 00 1e 20 20 66 6f 72 20 28 69 20 3d 20 30 3b 20 69 20 3c 20 31 30 30 30 3b | ab.*/......for.(i.=.0;.i.<.1000; |
| fb20 | 20 69 2b 2b 29 20 7b 00 00 00 47 20 20 20 20 69 66 20 28 58 47 72 61 62 4b 65 79 62 6f 61 72 64 | .i++).{...G....if.(XGrabKeyboard |
| fb40 | 28 64 70 79 2c 20 44 65 66 61 75 6c 74 52 6f 6f 74 57 69 6e 64 6f 77 28 64 70 79 29 2c 20 54 72 | (dpy,.DefaultRootWindow(dpy),.Tr |
| fb60 | 75 65 2c 20 47 72 61 62 4d 6f 64 65 41 73 79 6e 63 2c 00 00 00 41 20 20 20 20 20 20 20 20 20 20 | ue,.GrabModeAsync,...A.......... |
| fb80 | 20 20 20 20 20 20 20 20 20 20 20 20 47 72 61 62 4d 6f 64 65 41 73 79 6e 63 2c 20 43 75 72 72 65 | ............GrabModeAsync,.Curre |
| fba0 | 6e 74 54 69 6d 65 29 20 3d 3d 20 47 72 61 62 53 75 63 63 65 73 73 29 00 00 00 0d 20 20 20 20 20 | ntTime).==.GrabSuccess)......... |
| fbc0 | 20 72 65 74 75 72 6e 3b 00 00 00 19 20 20 20 20 6e 61 6e 6f 73 6c 65 65 70 28 26 74 73 2c 20 4e | .return;........nanosleep(&ts,.N |
| fbe0 | 55 4c 4c 29 3b 00 00 00 03 20 20 7d 00 00 00 1e 20 20 64 69 65 28 22 63 61 6e 6e 6f 74 20 67 72 | ULL);......}......die("cannot.gr |
| fc00 | 61 62 20 6b 65 79 62 6f 61 72 64 22 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 19 73 74 61 74 69 | ab.keyboard");....}........stati |
| fc20 | 63 20 76 6f 69 64 20 6d 61 74 63 68 28 76 6f 69 64 29 20 7b 00 00 00 1c 20 20 73 74 61 74 69 63 | c.void.match(void).{......static |
| fc40 | 20 63 68 61 72 20 2a 2a 74 6f 6b 76 20 3d 20 4e 55 4c 4c 3b 00 00 00 16 20 20 73 74 61 74 69 63 | .char.**tokv.=.NULL;......static |
| fc60 | 20 69 6e 74 20 74 6f 6b 6e 20 3d 20 30 3b 00 00 00 00 00 00 00 1c 20 20 63 68 61 72 20 62 75 66 | .int.tokn.=.0;..........char.buf |
| fc80 | 5b 73 69 7a 65 6f 66 20 74 65 78 74 5d 2c 20 2a 73 3b 00 00 00 12 20 20 69 6e 74 20 69 2c 20 74 | [sizeof.text],.*s;......int.i,.t |
| fca0 | 6f 6b 63 20 3d 20 30 3b 00 00 00 17 20 20 73 69 7a 65 5f 74 20 6c 65 6e 2c 20 74 65 78 74 73 69 | okc.=.0;......size_t.len,.textsi |
| fcc0 | 7a 65 3b 00 00 00 40 20 20 73 74 72 75 63 74 20 69 74 65 6d 20 2a 69 74 65 6d 2c 20 2a 6c 70 72 | ze;...@..struct.item.*item,.*lpr |
| fce0 | 65 66 69 78 2c 20 2a 6c 73 75 62 73 74 72 2c 20 2a 70 72 65 66 69 78 65 6e 64 2c 20 2a 73 75 62 | efix,.*lsubstr,.*prefixend,.*sub |
| fd00 | 73 74 72 65 6e 64 3b 00 00 00 00 00 00 00 14 20 20 73 74 72 63 70 79 28 62 75 66 2c 20 74 65 78 | strend;..........strcpy(buf,.tex |
| fd20 | 74 29 3b 00 00 00 42 20 20 2f 2a 20 73 65 70 61 72 61 74 65 20 69 6e 70 75 74 20 74 65 78 74 20 | t);...B../*.separate.input.text. |
| fd40 | 69 6e 74 6f 20 74 6f 6b 65 6e 73 20 74 6f 20 62 65 20 6d 61 74 63 68 65 64 20 69 6e 64 69 76 69 | into.tokens.to.be.matched.indivi |
| fd60 | 64 75 61 6c 6c 79 20 2a 2f 00 00 00 4a 20 20 66 6f 72 20 28 73 20 3d 20 73 74 72 74 6f 6b 28 62 | dually.*/...J..for.(s.=.strtok(b |
| fd80 | 75 66 2c 20 22 20 22 29 3b 20 73 3b 20 74 6f 6b 76 5b 74 6f 6b 63 20 2d 20 31 5d 20 3d 20 73 2c | uf,.".");.s;.tokv[tokc.-.1].=.s, |
| fda0 | 20 73 20 3d 20 73 74 72 74 6f 6b 28 4e 55 4c 4c 2c 20 22 20 22 29 29 00 00 00 48 20 20 20 20 69 | .s.=.strtok(NULL,."."))...H....i |
| fdc0 | 66 20 28 2b 2b 74 6f 6b 63 20 3e 20 74 6f 6b 6e 20 26 26 20 21 28 74 6f 6b 76 20 3d 20 72 65 61 | f.(++tokc.>.tokn.&&.!(tokv.=.rea |
| fde0 | 6c 6c 6f 63 28 74 6f 6b 76 2c 20 2b 2b 74 6f 6b 6e 20 2a 20 73 69 7a 65 6f 66 20 2a 74 6f 6b 76 | lloc(tokv,.++tokn.*.sizeof.*tokv |
| fe00 | 29 29 29 00 00 00 3c 20 20 20 20 20 20 64 69 65 28 22 63 61 6e 6e 6f 74 20 72 65 61 6c 6c 6f 63 | )))...<......die("cannot.realloc |
| fe20 | 20 25 7a 75 20 62 79 74 65 73 3a 22 2c 20 74 6f 6b 6e 20 2a 20 73 69 7a 65 6f 66 20 2a 74 6f 6b | .%zu.bytes:",.tokn.*.sizeof.*tok |
| fe40 | 76 29 3b 00 00 00 23 20 20 6c 65 6e 20 3d 20 74 6f 6b 63 20 3f 20 73 74 72 6c 65 6e 28 74 6f 6b | v);...#..len.=.tokc.?.strlen(tok |
| fe60 | 76 5b 30 5d 29 20 3a 20 30 3b 00 00 00 00 00 00 00 48 20 20 6d 61 74 63 68 65 73 20 3d 20 6c 70 | v[0]).:.0;.......H..matches.=.lp |
| fe80 | 72 65 66 69 78 20 3d 20 6c 73 75 62 73 74 72 20 3d 20 6d 61 74 63 68 65 6e 64 20 3d 20 70 72 65 | refix.=.lsubstr.=.matchend.=.pre |
| fea0 | 66 69 78 65 6e 64 20 3d 20 73 75 62 73 74 72 65 6e 64 20 3d 20 4e 55 4c 4c 3b 00 00 00 1e 20 20 | fixend.=.substrend.=.NULL;...... |
| fec0 | 74 65 78 74 73 69 7a 65 20 3d 20 73 74 72 6c 65 6e 28 74 65 78 74 29 20 2b 20 31 3b 00 00 00 32 | textsize.=.strlen(text).+.1;...2 |
| fee0 | 20 20 66 6f 72 20 28 69 74 65 6d 20 3d 20 69 74 65 6d 73 3b 20 69 74 65 6d 20 26 26 20 69 74 65 | ..for.(item.=.items;.item.&&.ite |
| ff00 | 6d 2d 3e 74 65 78 74 3b 20 69 74 65 6d 2b 2b 29 20 7b 00 00 00 1e 20 20 20 20 66 6f 72 20 28 69 | m->text;.item++).{........for.(i |
| ff20 | 20 3d 20 30 3b 20 69 20 3c 20 74 6f 6b 63 3b 20 69 2b 2b 29 00 00 00 28 20 20 20 20 20 20 69 66 | .=.0;.i.<.tokc;.i++)...(......if |
| ff40 | 20 28 21 66 73 74 72 73 74 72 28 69 74 65 6d 2d 3e 74 65 78 74 2c 20 74 6f 6b 76 5b 69 5d 29 29 | .(!fstrstr(item->text,.tokv[i])) |
| ff60 | 00 00 00 0e 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 2d 20 20 20 20 69 66 20 28 69 20 | ............break;...-....if.(i. |
| ff80 | 21 3d 20 74 6f 6b 63 29 20 2f 2a 20 6e 6f 74 20 61 6c 6c 20 74 6f 6b 65 6e 73 20 6d 61 74 63 68 | !=.tokc)./*.not.all.tokens.match |
| ffa0 | 20 2a 2f 00 00 00 0f 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 00 00 00 40 20 20 20 20 2f 2a | .*/..........continue;...@..../* |
| ffc0 | 20 65 78 61 63 74 20 6d 61 74 63 68 65 73 20 67 6f 20 66 69 72 73 74 2c 20 74 68 65 6e 20 70 72 | .exact.matches.go.first,.then.pr |
| ffe0 | 65 66 69 78 65 73 2c 20 74 68 65 6e 20 73 75 62 73 74 72 69 6e 67 73 20 2a 2f 00 00 00 37 20 20 | efixes,.then.substrings.*/...7.. |
| 10000 | 20 20 69 66 20 28 21 74 6f 6b 63 20 7c 7c 20 21 66 73 74 72 6e 63 6d 70 28 74 65 78 74 2c 20 69 | ..if.(!tokc.||.!fstrncmp(text,.i |
| 10020 | 74 65 6d 2d 3e 74 65 78 74 2c 20 74 65 78 74 73 69 7a 65 29 29 00 00 00 2c 20 20 20 20 20 20 61 | tem->text,.textsize))...,......a |
| 10040 | 70 70 65 6e 64 69 74 65 6d 28 69 74 65 6d 2c 20 26 6d 61 74 63 68 65 73 2c 20 26 6d 61 74 63 68 | ppenditem(item,.&matches,.&match |
| 10060 | 65 6e 64 29 3b 00 00 00 31 20 20 20 20 65 6c 73 65 20 69 66 20 28 21 66 73 74 72 6e 63 6d 70 28 | end);...1....else.if.(!fstrncmp( |
| 10080 | 74 6f 6b 76 5b 30 5d 2c 20 69 74 65 6d 2d 3e 74 65 78 74 2c 20 6c 65 6e 29 29 00 00 00 2d 20 20 | tokv[0],.item->text,.len))...-.. |
| 100a0 | 20 20 20 20 61 70 70 65 6e 64 69 74 65 6d 28 69 74 65 6d 2c 20 26 6c 70 72 65 66 69 78 2c 20 26 | ....appenditem(item,.&lprefix,.& |
| 100c0 | 70 72 65 66 69 78 65 6e 64 29 3b 00 00 00 08 20 20 20 20 65 6c 73 65 00 00 00 2d 20 20 20 20 20 | prefixend);........else...-..... |
| 100e0 | 20 61 70 70 65 6e 64 69 74 65 6d 28 69 74 65 6d 2c 20 26 6c 73 75 62 73 74 72 2c 20 26 73 75 62 | .appenditem(item,.&lsubstr,.&sub |
| 10100 | 73 74 72 65 6e 64 29 3b 00 00 00 03 20 20 7d 00 00 00 10 20 20 69 66 20 28 6c 70 72 65 66 69 78 | strend);......}......if.(lprefix |
| 10120 | 29 20 7b 00 00 00 12 20 20 20 20 69 66 20 28 6d 61 74 63 68 65 73 29 20 7b 00 00 00 20 20 20 20 | ).{........if.(matches).{....... |
| 10140 | 20 20 20 6d 61 74 63 68 65 6e 64 2d 3e 72 69 67 68 74 20 3d 20 6c 70 72 65 66 69 78 3b 00 00 00 | ...matchend->right.=.lprefix;... |
| 10160 | 1f 20 20 20 20 20 20 6c 70 72 65 66 69 78 2d 3e 6c 65 66 74 20 3d 20 6d 61 74 63 68 65 6e 64 3b | .......lprefix->left.=.matchend; |
| 10180 | 00 00 00 0a 20 20 20 20 7d 20 65 6c 73 65 00 00 00 18 20 20 20 20 20 20 6d 61 74 63 68 65 73 20 | ........}.else..........matches. |
| 101a0 | 3d 20 6c 70 72 65 66 69 78 3b 00 00 00 19 20 20 20 20 6d 61 74 63 68 65 6e 64 20 3d 20 70 72 65 | =.lprefix;........matchend.=.pre |
| 101c0 | 66 69 78 65 6e 64 3b 00 00 00 03 20 20 7d 00 00 00 10 20 20 69 66 20 28 6c 73 75 62 73 74 72 29 | fixend;......}......if.(lsubstr) |
| 101e0 | 20 7b 00 00 00 12 20 20 20 20 69 66 20 28 6d 61 74 63 68 65 73 29 20 7b 00 00 00 20 20 20 20 20 | .{........if.(matches).{........ |
| 10200 | 20 20 6d 61 74 63 68 65 6e 64 2d 3e 72 69 67 68 74 20 3d 20 6c 73 75 62 73 74 72 3b 00 00 00 1f | ..matchend->right.=.lsubstr;.... |
| 10220 | 20 20 20 20 20 20 6c 73 75 62 73 74 72 2d 3e 6c 65 66 74 20 3d 20 6d 61 74 63 68 65 6e 64 3b 00 | ......lsubstr->left.=.matchend;. |
| 10240 | 00 00 0a 20 20 20 20 7d 20 65 6c 73 65 00 00 00 18 20 20 20 20 20 20 6d 61 74 63 68 65 73 20 3d | .......}.else..........matches.= |
| 10260 | 20 6c 73 75 62 73 74 72 3b 00 00 00 19 20 20 20 20 6d 61 74 63 68 65 6e 64 20 3d 20 73 75 62 73 | .lsubstr;........matchend.=.subs |
| 10280 | 74 72 65 6e 64 3b 00 00 00 03 20 20 7d 00 00 00 17 20 20 63 75 72 72 20 3d 20 73 65 6c 20 3d 20 | trend;......}......curr.=.sel.=. |
| 102a0 | 6d 61 74 63 68 65 73 3b 00 00 00 10 20 20 63 61 6c 63 6f 66 66 73 65 74 73 28 29 3b 00 00 00 01 | matches;......calcoffsets();.... |
| 102c0 | 7d 00 00 00 00 00 00 00 30 73 74 61 74 69 63 20 76 6f 69 64 20 69 6e 73 65 72 74 28 63 6f 6e 73 | }.......0static.void.insert(cons |
| 102e0 | 74 20 63 68 61 72 20 2a 73 74 72 2c 20 73 73 69 7a 65 5f 74 20 6e 29 20 7b 00 00 00 29 20 20 69 | t.char.*str,.ssize_t.n).{...)..i |
| 10300 | 66 20 28 73 74 72 6c 65 6e 28 74 65 78 74 29 20 2b 20 6e 20 3e 20 73 69 7a 65 6f 66 20 74 65 78 | f.(strlen(text).+.n.>.sizeof.tex |
| 10320 | 74 20 2d 20 31 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 4d 20 20 2f 2a 20 6d 6f | t.-.1)........return;...M../*.mo |
| 10340 | 76 65 20 65 78 69 73 74 69 6e 67 20 74 65 78 74 20 6f 75 74 20 6f 66 20 74 68 65 20 77 61 79 2c | ve.existing.text.out.of.the.way, |
| 10360 | 20 69 6e 73 65 72 74 20 6e 65 77 20 74 65 78 74 2c 20 61 6e 64 20 75 70 64 61 74 65 20 63 75 72 | .insert.new.text,.and.update.cur |
| 10380 | 73 6f 72 20 2a 2f 00 00 00 4e 20 20 6d 65 6d 6d 6f 76 65 28 26 74 65 78 74 5b 63 75 72 73 6f 72 | sor.*/...N..memmove(&text[cursor |
| 103a0 | 20 2b 20 6e 5d 2c 20 26 74 65 78 74 5b 63 75 72 73 6f 72 5d 2c 20 73 69 7a 65 6f 66 20 74 65 78 | .+.n],.&text[cursor],.sizeof.tex |
| 103c0 | 74 20 2d 20 63 75 72 73 6f 72 20 2d 20 4d 41 58 28 6e 2c 20 30 29 29 3b 00 00 00 0c 20 20 69 66 | t.-.cursor.-.MAX(n,.0));......if |
| 103e0 | 20 28 6e 20 3e 20 30 29 00 00 00 22 20 20 20 20 6d 65 6d 63 70 79 28 26 74 65 78 74 5b 63 75 72 | .(n.>.0)..."....memcpy(&text[cur |
| 10400 | 73 6f 72 5d 2c 20 73 74 72 2c 20 6e 29 3b 00 00 00 0e 20 20 63 75 72 73 6f 72 20 2b 3d 20 6e 3b | sor],.str,.n);......cursor.+=.n; |
| 10420 | 00 00 00 0a 20 20 6d 61 74 63 68 28 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 21 73 74 61 74 69 | ......match();....}.......!stati |
| 10440 | 63 20 73 69 7a 65 5f 74 20 6e 65 78 74 72 75 6e 65 28 69 6e 74 20 69 6e 63 29 20 7b 00 00 00 0c | c.size_t.nextrune(int.inc).{.... |
| 10460 | 20 20 73 73 69 7a 65 5f 74 20 6e 3b 00 00 00 00 00 00 00 4b 20 20 2f 2a 20 72 65 74 75 72 6e 20 | ..ssize_t.n;.......K../*.return. |
| 10480 | 6c 6f 63 61 74 69 6f 6e 20 6f 66 20 6e 65 78 74 20 75 74 66 38 20 72 75 6e 65 20 69 6e 20 74 68 | location.of.next.utf8.rune.in.th |
| 104a0 | 65 20 67 69 76 65 6e 20 64 69 72 65 63 74 69 6f 6e 20 28 2b 31 20 6f 72 20 2d 31 29 20 2a 2f 00 | e.given.direction.(+1.or.-1).*/. |
| 104c0 | 00 00 4c 20 20 66 6f 72 20 28 6e 20 3d 20 63 75 72 73 6f 72 20 2b 20 69 6e 63 3b 20 6e 20 2b 20 | ..L..for.(n.=.cursor.+.inc;.n.+. |
| 104e0 | 69 6e 63 20 3e 3d 20 30 20 26 26 20 28 74 65 78 74 5b 6e 5d 20 26 20 30 78 63 30 29 20 3d 3d 20 | inc.>=.0.&&.(text[n].&.0xc0).==. |
| 10500 | 30 78 38 30 3b 20 6e 20 2b 3d 20 69 6e 63 29 00 00 00 05 20 20 20 20 3b 00 00 00 0b 20 20 72 65 | 0x80;.n.+=.inc)........;......re |
| 10520 | 74 75 72 6e 20 6e 3b 00 00 00 01 7d 00 00 00 00 00 00 00 23 73 74 61 74 69 63 20 76 6f 69 64 20 | turn.n;....}.......#static.void. |
| 10540 | 6d 6f 76 65 77 6f 72 64 65 64 67 65 28 69 6e 74 20 64 69 72 29 20 7b 00 00 00 3a 20 20 69 66 20 | movewordedge(int.dir).{...:..if. |
| 10560 | 28 64 69 72 20 3c 20 30 29 20 7b 20 2f 2a 20 6d 6f 76 65 20 63 75 72 73 6f 72 20 74 6f 20 74 68 | (dir.<.0).{./*.move.cursor.to.th |
| 10580 | 65 20 73 74 61 72 74 20 6f 66 20 74 68 65 20 77 6f 72 64 2a 2f 00 00 00 44 20 20 20 20 77 68 69 | e.start.of.the.word*/...D....whi |
| 105a0 | 6c 65 20 28 63 75 72 73 6f 72 20 3e 20 30 20 26 26 20 73 74 72 63 68 72 28 77 6f 72 64 64 65 6c | le.(cursor.>.0.&&.strchr(worddel |
| 105c0 | 69 6d 69 74 65 72 73 2c 20 74 65 78 74 5b 6e 65 78 74 72 75 6e 65 28 2d 31 29 5d 29 29 00 00 00 | imiters,.text[nextrune(-1)]))... |
| 105e0 | 1c 20 20 20 20 20 20 63 75 72 73 6f 72 20 3d 20 6e 65 78 74 72 75 6e 65 28 2d 31 29 3b 00 00 00 | .......cursor.=.nextrune(-1);... |
| 10600 | 45 20 20 20 20 77 68 69 6c 65 20 28 63 75 72 73 6f 72 20 3e 20 30 20 26 26 20 21 73 74 72 63 68 | E....while.(cursor.>.0.&&.!strch |
| 10620 | 72 28 77 6f 72 64 64 65 6c 69 6d 69 74 65 72 73 2c 20 74 65 78 74 5b 6e 65 78 74 72 75 6e 65 28 | r(worddelimiters,.text[nextrune( |
| 10640 | 2d 31 29 5d 29 29 00 00 00 1c 20 20 20 20 20 20 63 75 72 73 6f 72 20 3d 20 6e 65 78 74 72 75 6e | -1)]))..........cursor.=.nextrun |
| 10660 | 65 28 2d 31 29 3b 00 00 00 33 20 20 7d 20 65 6c 73 65 20 7b 20 2f 2a 20 6d 6f 76 65 20 63 75 72 | e(-1);...3..}.else.{./*.move.cur |
| 10680 | 73 6f 72 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 77 6f 72 64 20 2a 2f 00 00 00 | sor.to.the.end.of.the.word.*/... |
| 106a0 | 40 20 20 20 20 77 68 69 6c 65 20 28 74 65 78 74 5b 63 75 72 73 6f 72 5d 20 26 26 20 73 74 72 63 | @....while.(text[cursor].&&.strc |
| 106c0 | 68 72 28 77 6f 72 64 64 65 6c 69 6d 69 74 65 72 73 2c 20 74 65 78 74 5b 63 75 72 73 6f 72 5d 29 | hr(worddelimiters,.text[cursor]) |
| 106e0 | 29 00 00 00 1c 20 20 20 20 20 20 63 75 72 73 6f 72 20 3d 20 6e 65 78 74 72 75 6e 65 28 2b 31 29 | )..........cursor.=.nextrune(+1) |
| 10700 | 3b 00 00 00 41 20 20 20 20 77 68 69 6c 65 20 28 74 65 78 74 5b 63 75 72 73 6f 72 5d 20 26 26 20 | ;...A....while.(text[cursor].&&. |
| 10720 | 21 73 74 72 63 68 72 28 77 6f 72 64 64 65 6c 69 6d 69 74 65 72 73 2c 20 74 65 78 74 5b 63 75 72 | !strchr(worddelimiters,.text[cur |
| 10740 | 73 6f 72 5d 29 29 00 00 00 1c 20 20 20 20 20 20 63 75 72 73 6f 72 20 3d 20 6e 65 78 74 72 75 6e | sor]))..........cursor.=.nextrun |
| 10760 | 65 28 2b 31 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 25 73 74 61 74 69 63 | e(+1);......}....}.......%static |
| 10780 | 20 76 6f 69 64 20 6b 65 79 70 72 65 73 73 28 58 4b 65 79 45 76 65 6e 74 20 2a 65 76 29 20 7b 00 | .void.keypress(XKeyEvent.*ev).{. |
| 107a0 | 00 00 0f 20 20 63 68 61 72 20 62 75 66 5b 36 34 5d 3b 00 00 00 0a 20 20 69 6e 74 20 6c 65 6e 3b | .....char.buf[64];......int.len; |
| 107c0 | 00 00 00 19 20 20 4b 65 79 53 79 6d 20 6b 73 79 6d 20 3d 20 4e 6f 53 79 6d 62 6f 6c 3b 00 00 00 | ......KeySym.ksym.=.NoSymbol;... |
| 107e0 | 10 20 20 53 74 61 74 75 73 20 73 74 61 74 75 73 3b 00 00 00 00 00 00 00 42 20 20 6c 65 6e 20 3d | ...Status.status;.......B..len.= |
| 10800 | 20 58 6d 62 4c 6f 6f 6b 75 70 53 74 72 69 6e 67 28 78 69 63 2c 20 65 76 2c 20 62 75 66 2c 20 73 | .XmbLookupString(xic,.ev,.buf,.s |
| 10820 | 69 7a 65 6f 66 20 62 75 66 2c 20 26 6b 73 79 6d 2c 20 26 73 74 61 74 75 73 29 3b 00 00 00 13 20 | izeof.buf,.&ksym,.&status);..... |
| 10840 | 20 73 77 69 74 63 68 20 28 73 74 61 74 75 73 29 20 7b 00 00 00 2d 20 20 64 65 66 61 75 6c 74 3a | .switch.(status).{...-..default: |
| 10860 | 20 2f 2a 20 58 4c 6f 6f 6b 75 70 4e 6f 6e 65 2c 20 58 42 75 66 66 65 72 4f 76 65 72 66 6c 6f 77 | ./*.XLookupNone,.XBufferOverflow |
| 10880 | 20 2a 2f 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 3c 20 20 63 61 73 65 20 58 4c 6f | .*/........return;...<..case.XLo |
| 108a0 | 6f 6b 75 70 43 68 61 72 73 3a 20 2f 2a 20 63 6f 6d 70 6f 73 65 64 20 73 74 72 69 6e 67 20 66 72 | okupChars:./*.composed.string.fr |
| 108c0 | 6f 6d 20 69 6e 70 75 74 20 6d 65 74 68 6f 64 20 2a 2f 00 00 00 10 20 20 20 20 67 6f 74 6f 20 69 | om.input.method.*/........goto.i |
| 108e0 | 6e 73 65 72 74 3b 00 00 00 15 20 20 63 61 73 65 20 58 4c 6f 6f 6b 75 70 4b 65 79 53 79 6d 3a 00 | nsert;......case.XLookupKeySym:. |
| 10900 | 00 00 48 20 20 63 61 73 65 20 58 4c 6f 6f 6b 75 70 42 6f 74 68 3a 20 2f 2a 20 61 20 4b 65 79 53 | ..H..case.XLookupBoth:./*.a.KeyS |
| 10920 | 79 6d 20 61 6e 64 20 61 20 73 74 72 69 6e 67 20 61 72 65 20 72 65 74 75 72 6e 65 64 3a 20 75 73 | ym.and.a.string.are.returned:.us |
| 10940 | 65 20 6b 65 79 73 79 6d 20 2a 2f 00 00 00 0a 20 20 20 20 62 72 65 61 6b 3b 00 00 00 03 20 20 7d | e.keysym.*/........break;......} |
| 10960 | 00 00 00 00 00 00 00 20 20 20 69 66 20 28 65 76 2d 3e 73 74 61 74 65 20 26 20 43 6f 6e 74 72 6f | ..........if.(ev->state.&.Contro |
| 10980 | 6c 4d 61 73 6b 29 20 7b 00 00 00 13 20 20 20 20 73 77 69 74 63 68 20 28 6b 73 79 6d 29 20 7b 00 | lMask).{........switch.(ksym).{. |
| 109a0 | 00 00 0e 20 20 20 20 63 61 73 65 20 58 4b 5f 61 3a 00 00 00 15 20 20 20 20 20 20 6b 73 79 6d 20 | .......case.XK_a:..........ksym. |
| 109c0 | 3d 20 58 4b 5f 48 6f 6d 65 3b 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 0e 20 20 | =.XK_Home;..........break;...... |
| 109e0 | 20 20 63 61 73 65 20 58 4b 5f 62 3a 00 00 00 15 20 20 20 20 20 20 6b 73 79 6d 20 3d 20 58 4b 5f | ..case.XK_b:..........ksym.=.XK_ |
| 10a00 | 4c 65 66 74 3b 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 0e 20 20 20 20 63 61 73 | Left;..........break;........cas |
| 10a20 | 65 20 58 4b 5f 63 3a 00 00 00 17 20 20 20 20 20 20 6b 73 79 6d 20 3d 20 58 4b 5f 45 73 63 61 70 | e.XK_c:..........ksym.=.XK_Escap |
| 10a40 | 65 3b 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 0e 20 20 20 20 63 61 73 65 20 58 | e;..........break;........case.X |
| 10a60 | 4b 5f 64 3a 00 00 00 17 20 20 20 20 20 20 6b 73 79 6d 20 3d 20 58 4b 5f 44 65 6c 65 74 65 3b 00 | K_d:..........ksym.=.XK_Delete;. |
| 10a80 | 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 0e 20 20 20 20 63 61 73 65 20 58 4b 5f 65 | .........break;........case.XK_e |
| 10aa0 | 3a 00 00 00 14 20 20 20 20 20 20 6b 73 79 6d 20 3d 20 58 4b 5f 45 6e 64 3b 00 00 00 0c 20 20 20 | :..........ksym.=.XK_End;....... |
| 10ac0 | 20 20 20 62 72 65 61 6b 3b 00 00 00 0e 20 20 20 20 63 61 73 65 20 58 4b 5f 66 3a 00 00 00 16 20 | ...break;........case.XK_f:..... |
| 10ae0 | 20 20 20 20 20 6b 73 79 6d 20 3d 20 58 4b 5f 52 69 67 68 74 3b 00 00 00 0c 20 20 20 20 20 20 62 | .....ksym.=.XK_Right;..........b |
| 10b00 | 72 65 61 6b 3b 00 00 00 0e 20 20 20 20 63 61 73 65 20 58 4b 5f 67 3a 00 00 00 17 20 20 20 20 20 | reak;........case.XK_g:......... |
| 10b20 | 20 6b 73 79 6d 20 3d 20 58 4b 5f 45 73 63 61 70 65 3b 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 | .ksym.=.XK_Escape;..........brea |
| 10b40 | 6b 3b 00 00 00 0e 20 20 20 20 63 61 73 65 20 58 4b 5f 68 3a 00 00 00 1a 20 20 20 20 20 20 6b 73 | k;........case.XK_h:..........ks |
| 10b60 | 79 6d 20 3d 20 58 4b 5f 42 61 63 6b 53 70 61 63 65 3b 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 | ym.=.XK_BackSpace;..........brea |
| 10b80 | 6b 3b 00 00 00 0e 20 20 20 20 63 61 73 65 20 58 4b 5f 69 3a 00 00 00 14 20 20 20 20 20 20 6b 73 | k;........case.XK_i:..........ks |
| 10ba0 | 79 6d 20 3d 20 58 4b 5f 54 61 62 3b 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 20 | ym.=.XK_Tab;..........break;.... |
| 10bc0 | 20 20 20 20 63 61 73 65 20 58 4b 5f 6a 3a 20 2f 2a 20 66 61 6c 6c 74 68 72 6f 75 67 68 20 2a 2f | ....case.XK_j:./*.fallthrough.*/ |
| 10be0 | 00 00 00 20 20 20 20 20 63 61 73 65 20 58 4b 5f 4a 3a 20 2f 2a 20 66 61 6c 6c 74 68 72 6f 75 67 | ........case.XK_J:./*.fallthroug |
| 10c00 | 68 20 2a 2f 00 00 00 20 20 20 20 20 63 61 73 65 20 58 4b 5f 6d 3a 20 2f 2a 20 66 61 6c 6c 74 68 | h.*/........case.XK_m:./*.fallth |
| 10c20 | 72 6f 75 67 68 20 2a 2f 00 00 00 0e 20 20 20 20 63 61 73 65 20 58 4b 5f 4d 3a 00 00 00 17 20 20 | rough.*/........case.XK_M:...... |
| 10c40 | 20 20 20 20 6b 73 79 6d 20 3d 20 58 4b 5f 52 65 74 75 72 6e 3b 00 00 00 20 20 20 20 20 20 20 65 | ....ksym.=.XK_Return;..........e |
| 10c60 | 76 2d 3e 73 74 61 74 65 20 26 3d 20 7e 43 6f 6e 74 72 6f 6c 4d 61 73 6b 3b 00 00 00 0c 20 20 20 | v->state.&=.~ControlMask;....... |
| 10c80 | 20 20 20 62 72 65 61 6b 3b 00 00 00 0e 20 20 20 20 63 61 73 65 20 58 4b 5f 6e 3a 00 00 00 15 20 | ...break;........case.XK_n:..... |
| 10ca0 | 20 20 20 20 20 6b 73 79 6d 20 3d 20 58 4b 5f 44 6f 77 6e 3b 00 00 00 0c 20 20 20 20 20 20 62 72 | .....ksym.=.XK_Down;..........br |
| 10cc0 | 65 61 6b 3b 00 00 00 0e 20 20 20 20 63 61 73 65 20 58 4b 5f 70 3a 00 00 00 13 20 20 20 20 20 20 | eak;........case.XK_p:.......... |
| 10ce0 | 6b 73 79 6d 20 3d 20 58 4b 5f 55 70 3b 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 | ksym.=.XK_Up;..........break;... |
| 10d00 | 00 00 00 00 21 20 20 20 20 63 61 73 65 20 58 4b 5f 6b 3a 20 2f 2a 20 64 65 6c 65 74 65 20 72 69 | ....!....case.XK_k:./*.delete.ri |
| 10d20 | 67 68 74 20 2a 2f 00 00 00 1a 20 20 20 20 20 20 74 65 78 74 5b 63 75 72 73 6f 72 5d 20 3d 20 27 | ght.*/..........text[cursor].=.' |
| 10d40 | 5c 30 27 3b 00 00 00 0e 20 20 20 20 20 20 6d 61 74 63 68 28 29 3b 00 00 00 0c 20 20 20 20 20 20 | \0';..........match();.......... |
| 10d60 | 62 72 65 61 6b 3b 00 00 00 20 20 20 20 20 63 61 73 65 20 58 4b 5f 75 3a 20 2f 2a 20 64 65 6c 65 | break;........case.XK_u:./*.dele |
| 10d80 | 74 65 20 6c 65 66 74 20 2a 2f 00 00 00 1f 20 20 20 20 20 20 69 6e 73 65 72 74 28 4e 55 4c 4c 2c | te.left.*/..........insert(NULL, |
| 10da0 | 20 30 20 2d 20 63 75 72 73 6f 72 29 3b 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 | .0.-.cursor);..........break;... |
| 10dc0 | 20 20 20 20 20 63 61 73 65 20 58 4b 5f 77 3a 20 2f 2a 20 64 65 6c 65 74 65 20 77 6f 72 64 20 2a | .....case.XK_w:./*.delete.word.* |
| 10de0 | 2f 00 00 00 46 20 20 20 20 20 20 77 68 69 6c 65 20 28 63 75 72 73 6f 72 20 3e 20 30 20 26 26 20 | /...F......while.(cursor.>.0.&&. |
| 10e00 | 73 74 72 63 68 72 28 77 6f 72 64 64 65 6c 69 6d 69 74 65 72 73 2c 20 74 65 78 74 5b 6e 65 78 74 | strchr(worddelimiters,.text[next |
| 10e20 | 72 75 6e 65 28 2d 31 29 5d 29 29 00 00 00 2c 20 20 20 20 20 20 20 20 69 6e 73 65 72 74 28 4e 55 | rune(-1)]))...,........insert(NU |
| 10e40 | 4c 4c 2c 20 6e 65 78 74 72 75 6e 65 28 2d 31 29 20 2d 20 63 75 72 73 6f 72 29 3b 00 00 00 47 20 | LL,.nextrune(-1).-.cursor);...G. |
| 10e60 | 20 20 20 20 20 77 68 69 6c 65 20 28 63 75 72 73 6f 72 20 3e 20 30 20 26 26 20 21 73 74 72 63 68 | .....while.(cursor.>.0.&&.!strch |
| 10e80 | 72 28 77 6f 72 64 64 65 6c 69 6d 69 74 65 72 73 2c 20 74 65 78 74 5b 6e 65 78 74 72 75 6e 65 28 | r(worddelimiters,.text[nextrune( |
| 10ea0 | 2d 31 29 5d 29 29 00 00 00 2c 20 20 20 20 20 20 20 20 69 6e 73 65 72 74 28 4e 55 4c 4c 2c 20 6e | -1)]))...,........insert(NULL,.n |
| 10ec0 | 65 78 74 72 75 6e 65 28 2d 31 29 20 2d 20 63 75 72 73 6f 72 29 3b 00 00 00 0c 20 20 20 20 20 20 | extrune(-1).-.cursor);.......... |
| 10ee0 | 62 72 65 61 6b 3b 00 00 00 24 20 20 20 20 63 61 73 65 20 58 4b 5f 79 3a 20 2f 2a 20 70 61 73 74 | break;...$....case.XK_y:./*.past |
| 10f00 | 65 20 73 65 6c 65 63 74 69 6f 6e 20 2a 2f 00 00 00 0e 20 20 20 20 63 61 73 65 20 58 4b 5f 59 3a | e.selection.*/........case.XK_Y: |
| 10f20 | 00 00 00 4f 20 20 20 20 20 20 58 43 6f 6e 76 65 72 74 53 65 6c 65 63 74 69 6f 6e 28 64 70 79 2c | ...O......XConvertSelection(dpy, |
| 10f40 | 20 28 65 76 2d 3e 73 74 61 74 65 20 26 20 53 68 69 66 74 4d 61 73 6b 29 20 3f 20 63 6c 69 70 20 | .(ev->state.&.ShiftMask).?.clip. |
| 10f60 | 3a 20 58 41 5f 50 52 49 4d 41 52 59 2c 20 75 74 66 38 2c 00 00 00 30 20 20 20 20 20 20 20 20 20 | :.XA_PRIMARY,.utf8,...0......... |
| 10f80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 74 66 38 2c 20 77 69 6e 2c 20 43 75 72 72 65 6e | ...............utf8,.win,.Curren |
| 10fa0 | 74 54 69 6d 65 29 3b 00 00 00 0d 20 20 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 11 20 20 20 20 | tTime);..........return;........ |
| 10fc0 | 63 61 73 65 20 58 4b 5f 4c 65 66 74 3a 00 00 00 14 20 20 20 20 63 61 73 65 20 58 4b 5f 4b 50 5f | case.XK_Left:........case.XK_KP_ |
| 10fe0 | 4c 65 66 74 3a 00 00 00 17 20 20 20 20 20 20 6d 6f 76 65 77 6f 72 64 65 64 67 65 28 2d 31 29 3b | Left:..........movewordedge(-1); |
| 11000 | 00 00 00 10 20 20 20 20 20 20 67 6f 74 6f 20 64 72 61 77 3b 00 00 00 12 20 20 20 20 63 61 73 65 | ..........goto.draw;........case |
| 11020 | 20 58 4b 5f 52 69 67 68 74 3a 00 00 00 15 20 20 20 20 63 61 73 65 20 58 4b 5f 4b 50 5f 52 69 67 | .XK_Right:........case.XK_KP_Rig |
| 11040 | 68 74 3a 00 00 00 17 20 20 20 20 20 20 6d 6f 76 65 77 6f 72 64 65 64 67 65 28 2b 31 29 3b 00 00 | ht:..........movewordedge(+1);.. |
| 11060 | 00 10 20 20 20 20 20 20 67 6f 74 6f 20 64 72 61 77 3b 00 00 00 13 20 20 20 20 63 61 73 65 20 58 | ........goto.draw;........case.X |
| 11080 | 4b 5f 52 65 74 75 72 6e 3a 00 00 00 15 20 20 20 20 63 61 73 65 20 58 4b 5f 4b 50 5f 45 6e 74 65 | K_Return:........case.XK_KP_Ente |
| 110a0 | 72 3a 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 18 20 20 20 20 63 61 73 65 20 58 | r:..........break;........case.X |
| 110c0 | 4b 5f 62 72 61 63 6b 65 74 6c 65 66 74 3a 00 00 00 10 20 20 20 20 20 20 63 6c 65 61 6e 75 70 28 | K_bracketleft:..........cleanup( |
| 110e0 | 29 3b 00 00 00 0e 20 20 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 0c 20 20 20 20 64 65 66 61 | );..........exit(1);........defa |
| 11100 | 75 6c 74 3a 00 00 00 0d 20 20 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 05 20 20 20 20 7d 00 00 | ult:..........return;........}.. |
| 11120 | 00 24 20 20 7d 20 65 6c 73 65 20 69 66 20 28 65 76 2d 3e 73 74 61 74 65 20 26 20 4d 6f 64 31 4d | .$..}.else.if.(ev->state.&.Mod1M |
| 11140 | 61 73 6b 29 20 7b 00 00 00 13 20 20 20 20 73 77 69 74 63 68 20 28 6b 73 79 6d 29 20 7b 00 00 00 | ask).{........switch.(ksym).{... |
| 11160 | 0e 20 20 20 20 63 61 73 65 20 58 4b 5f 62 3a 00 00 00 17 20 20 20 20 20 20 6d 6f 76 65 77 6f 72 | .....case.XK_b:..........movewor |
| 11180 | 64 65 64 67 65 28 2d 31 29 3b 00 00 00 10 20 20 20 20 20 20 67 6f 74 6f 20 64 72 61 77 3b 00 00 | dedge(-1);..........goto.draw;.. |
| 111a0 | 00 0e 20 20 20 20 63 61 73 65 20 58 4b 5f 66 3a 00 00 00 17 20 20 20 20 20 20 6d 6f 76 65 77 6f | ......case.XK_f:..........movewo |
| 111c0 | 72 64 65 64 67 65 28 2b 31 29 3b 00 00 00 10 20 20 20 20 20 20 67 6f 74 6f 20 64 72 61 77 3b 00 | rdedge(+1);..........goto.draw;. |
| 111e0 | 00 00 0e 20 20 20 20 63 61 73 65 20 58 4b 5f 67 3a 00 00 00 15 20 20 20 20 20 20 6b 73 79 6d 20 | .......case.XK_g:..........ksym. |
| 11200 | 3d 20 58 4b 5f 48 6f 6d 65 3b 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 0e 20 20 | =.XK_Home;..........break;...... |
| 11220 | 20 20 63 61 73 65 20 58 4b 5f 47 3a 00 00 00 14 20 20 20 20 20 20 6b 73 79 6d 20 3d 20 58 4b 5f | ..case.XK_G:..........ksym.=.XK_ |
| 11240 | 45 6e 64 3b 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 0e 20 20 20 20 63 61 73 65 | End;..........break;........case |
| 11260 | 20 58 4b 5f 68 3a 00 00 00 13 20 20 20 20 20 20 6b 73 79 6d 20 3d 20 58 4b 5f 55 70 3b 00 00 00 | .XK_h:..........ksym.=.XK_Up;... |
| 11280 | 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 0e 20 20 20 20 63 61 73 65 20 58 4b 5f 6a 3a 00 | .......break;........case.XK_j:. |
| 112a0 | 00 00 15 20 20 20 20 20 20 6b 73 79 6d 20 3d 20 58 4b 5f 4e 65 78 74 3b 00 00 00 0c 20 20 20 20 | .........ksym.=.XK_Next;........ |
| 112c0 | 20 20 62 72 65 61 6b 3b 00 00 00 0e 20 20 20 20 63 61 73 65 20 58 4b 5f 6b 3a 00 00 00 16 20 20 | ..break;........case.XK_k:...... |
| 112e0 | 20 20 20 20 6b 73 79 6d 20 3d 20 58 4b 5f 50 72 69 6f 72 3b 00 00 00 0c 20 20 20 20 20 20 62 72 | ....ksym.=.XK_Prior;..........br |
| 11300 | 65 61 6b 3b 00 00 00 0e 20 20 20 20 63 61 73 65 20 58 4b 5f 6c 3a 00 00 00 15 20 20 20 20 20 20 | eak;........case.XK_l:.......... |
| 11320 | 6b 73 79 6d 20 3d 20 58 4b 5f 44 6f 77 6e 3b 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 | ksym.=.XK_Down;..........break;. |
| 11340 | 00 00 0c 20 20 20 20 64 65 66 61 75 6c 74 3a 00 00 00 0d 20 20 20 20 20 20 72 65 74 75 72 6e 3b | .......default:..........return; |
| 11360 | 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 11 20 20 73 77 69 74 63 68 | ........}......}..........switch |
| 11380 | 20 28 6b 73 79 6d 29 20 7b 00 00 00 0a 20 20 64 65 66 61 75 6c 74 3a 00 00 00 09 20 20 69 6e 73 | .(ksym).{......default:......ins |
| 113a0 | 65 72 74 3a 00 00 00 26 20 20 20 20 69 66 20 28 21 69 73 63 6e 74 72 6c 28 28 75 6e 73 69 67 6e | ert:...&....if.(!iscntrl((unsign |
| 113c0 | 65 64 20 63 68 61 72 29 2a 62 75 66 29 29 00 00 00 17 20 20 20 20 20 20 69 6e 73 65 72 74 28 62 | ed.char)*buf))..........insert(b |
| 113e0 | 75 66 2c 20 6c 65 6e 29 3b 00 00 00 0a 20 20 20 20 62 72 65 61 6b 3b 00 00 00 11 20 20 63 61 73 | uf,.len);........break;......cas |
| 11400 | 65 20 58 4b 5f 44 65 6c 65 74 65 3a 00 00 00 14 20 20 63 61 73 65 20 58 4b 5f 4b 50 5f 44 65 6c | e.XK_Delete:......case.XK_KP_Del |
| 11420 | 65 74 65 3a 00 00 00 1d 20 20 20 20 69 66 20 28 74 65 78 74 5b 63 75 72 73 6f 72 5d 20 3d 3d 20 | ete:........if.(text[cursor].==. |
| 11440 | 27 5c 30 27 29 00 00 00 0d 20 20 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 1a 20 20 20 20 63 75 | '\0')..........return;........cu |
| 11460 | 72 73 6f 72 20 3d 20 6e 65 78 74 72 75 6e 65 28 2b 31 29 3b 00 00 00 15 20 20 20 20 2f 2a 20 66 | rsor.=.nextrune(+1);......../*.f |
| 11480 | 61 6c 6c 74 68 72 6f 75 67 68 20 2a 2f 00 00 00 14 20 20 63 61 73 65 20 58 4b 5f 42 61 63 6b 53 | allthrough.*/......case.XK_BackS |
| 114a0 | 70 61 63 65 3a 00 00 00 14 20 20 20 20 69 66 20 28 63 75 72 73 6f 72 20 3d 3d 20 30 29 00 00 00 | pace:........if.(cursor.==.0)... |
| 114c0 | 0d 20 20 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 28 20 20 20 20 69 6e 73 65 72 74 28 4e 55 4c | .......return;...(....insert(NUL |
| 114e0 | 4c 2c 20 6e 65 78 74 72 75 6e 65 28 2d 31 29 20 2d 20 63 75 72 73 6f 72 29 3b 00 00 00 0a 20 20 | L,.nextrune(-1).-.cursor);...... |
| 11500 | 20 20 62 72 65 61 6b 3b 00 00 00 0e 20 20 63 61 73 65 20 58 4b 5f 45 6e 64 3a 00 00 00 11 20 20 | ..break;......case.XK_End:...... |
| 11520 | 63 61 73 65 20 58 4b 5f 4b 50 5f 45 6e 64 3a 00 00 00 1f 20 20 20 20 69 66 20 28 74 65 78 74 5b | case.XK_KP_End:........if.(text[ |
| 11540 | 63 75 72 73 6f 72 5d 20 21 3d 20 27 5c 30 27 29 20 7b 00 00 00 1c 20 20 20 20 20 20 63 75 72 73 | cursor].!=.'\0').{..........curs |
| 11560 | 6f 72 20 3d 20 73 74 72 6c 65 6e 28 74 65 78 74 29 3b 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 | or.=.strlen(text);..........brea |
| 11580 | 6b 3b 00 00 00 05 20 20 20 20 7d 00 00 00 0f 20 20 20 20 69 66 20 28 6e 65 78 74 29 20 7b 00 00 | k;........}........if.(next).{.. |
| 115a0 | 00 3d 20 20 20 20 20 20 2f 2a 20 6a 75 6d 70 20 74 6f 20 65 6e 64 20 6f 66 20 6c 69 73 74 20 61 | .=....../*.jump.to.end.of.list.a |
| 115c0 | 6e 64 20 70 6f 73 69 74 69 6f 6e 20 69 74 65 6d 73 20 69 6e 20 72 65 76 65 72 73 65 20 2a 2f 00 | nd.position.items.in.reverse.*/. |
| 115e0 | 00 00 16 20 20 20 20 20 20 63 75 72 72 20 3d 20 6d 61 74 63 68 65 6e 64 3b 00 00 00 14 20 20 20 | .........curr.=.matchend;....... |
| 11600 | 20 20 20 63 61 6c 63 6f 66 66 73 65 74 73 28 29 3b 00 00 00 12 20 20 20 20 20 20 63 75 72 72 20 | ...calcoffsets();..........curr. |
| 11620 | 3d 20 70 72 65 76 3b 00 00 00 14 20 20 20 20 20 20 63 61 6c 63 6f 66 66 73 65 74 73 28 29 3b 00 | =.prev;..........calcoffsets();. |
| 11640 | 00 00 2a 20 20 20 20 20 20 77 68 69 6c 65 20 28 6e 65 78 74 20 26 26 20 28 63 75 72 72 20 3d 20 | ..*......while.(next.&&.(curr.=. |
| 11660 | 63 75 72 72 2d 3e 72 69 67 68 74 29 29 00 00 00 16 20 20 20 20 20 20 20 20 63 61 6c 63 6f 66 66 | curr->right))............calcoff |
| 11680 | 73 65 74 73 28 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 13 20 20 20 20 73 65 6c 20 3d 20 6d 61 | sets();........}........sel.=.ma |
| 116a0 | 74 63 68 65 6e 64 3b 00 00 00 0a 20 20 20 20 62 72 65 61 6b 3b 00 00 00 11 20 20 63 61 73 65 20 | tchend;........break;......case. |
| 116c0 | 58 4b 5f 45 73 63 61 70 65 3a 00 00 00 0e 20 20 20 20 63 6c 65 61 6e 75 70 28 29 3b 00 00 00 0c | XK_Escape:........cleanup();.... |
| 116e0 | 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 0f 20 20 63 61 73 65 20 58 4b 5f 48 6f 6d 65 3a 00 | ....exit(1);......case.XK_Home:. |
| 11700 | 00 00 12 20 20 63 61 73 65 20 58 4b 5f 4b 50 5f 48 6f 6d 65 3a 00 00 00 19 20 20 20 20 69 66 20 | .....case.XK_KP_Home:........if. |
| 11720 | 28 73 65 6c 20 3d 3d 20 6d 61 74 63 68 65 73 29 20 7b 00 00 00 11 20 20 20 20 20 20 63 75 72 73 | (sel.==.matches).{..........curs |
| 11740 | 6f 72 20 3d 20 30 3b 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 05 20 20 20 20 7d | or.=.0;..........break;........} |
| 11760 | 00 00 00 19 20 20 20 20 73 65 6c 20 3d 20 63 75 72 72 20 3d 20 6d 61 74 63 68 65 73 3b 00 00 00 | ........sel.=.curr.=.matches;... |
| 11780 | 12 20 20 20 20 63 61 6c 63 6f 66 66 73 65 74 73 28 29 3b 00 00 00 0a 20 20 20 20 62 72 65 61 6b | .....calcoffsets();........break |
| 117a0 | 3b 00 00 00 0f 20 20 63 61 73 65 20 58 4b 5f 4c 65 66 74 3a 00 00 00 12 20 20 63 61 73 65 20 58 | ;......case.XK_Left:......case.X |
| 117c0 | 4b 5f 4b 50 5f 4c 65 66 74 3a 00 00 00 3a 20 20 20 20 69 66 20 28 63 75 72 73 6f 72 20 3e 20 30 | K_KP_Left:...:....if.(cursor.>.0 |
| 117e0 | 20 26 26 20 28 21 73 65 6c 20 7c 7c 20 21 73 65 6c 2d 3e 6c 65 66 74 20 7c 7c 20 6c 69 6e 65 73 | .&&.(!sel.||.!sel->left.||.lines |
| 11800 | 20 3e 20 30 29 29 20 7b 00 00 00 1c 20 20 20 20 20 20 63 75 72 73 6f 72 20 3d 20 6e 65 78 74 72 | .>.0)).{..........cursor.=.nextr |
| 11820 | 75 6e 65 28 2d 31 29 3b 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 05 20 20 20 20 | une(-1);..........break;........ |
| 11840 | 7d 00 00 00 12 20 20 20 20 69 66 20 28 6c 69 6e 65 73 20 3e 20 30 29 00 00 00 0d 20 20 20 20 20 | }........if.(lines.>.0)......... |
| 11860 | 20 72 65 74 75 72 6e 3b 00 00 00 15 20 20 20 20 2f 2a 20 66 61 6c 6c 74 68 72 6f 75 67 68 20 2a | .return;......../*.fallthrough.* |
| 11880 | 2f 00 00 00 0d 20 20 63 61 73 65 20 58 4b 5f 55 70 3a 00 00 00 10 20 20 63 61 73 65 20 58 4b 5f | /......case.XK_Up:......case.XK_ |
| 118a0 | 4b 50 5f 55 70 3a 00 00 00 3f 20 20 20 20 69 66 20 28 73 65 6c 20 26 26 20 73 65 6c 2d 3e 6c 65 | KP_Up:...?....if.(sel.&&.sel->le |
| 118c0 | 66 74 20 26 26 20 28 73 65 6c 20 3d 20 73 65 6c 2d 3e 6c 65 66 74 29 2d 3e 72 69 67 68 74 20 3d | ft.&&.(sel.=.sel->left)->right.= |
| 118e0 | 3d 20 63 75 72 72 29 20 7b 00 00 00 12 20 20 20 20 20 20 63 75 72 72 20 3d 20 70 72 65 76 3b 00 | =.curr).{..........curr.=.prev;. |
| 11900 | 00 00 14 20 20 20 20 20 20 63 61 6c 63 6f 66 66 73 65 74 73 28 29 3b 00 00 00 05 20 20 20 20 7d | .........calcoffsets();........} |
| 11920 | 00 00 00 0a 20 20 20 20 62 72 65 61 6b 3b 00 00 00 0f 20 20 63 61 73 65 20 58 4b 5f 4e 65 78 74 | ........break;......case.XK_Next |
| 11940 | 3a 00 00 00 12 20 20 63 61 73 65 20 58 4b 5f 4b 50 5f 4e 65 78 74 3a 00 00 00 0e 20 20 20 20 69 | :......case.XK_KP_Next:........i |
| 11960 | 66 20 28 21 6e 65 78 74 29 00 00 00 0d 20 20 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 16 20 20 | f.(!next)..........return;...... |
| 11980 | 20 20 73 65 6c 20 3d 20 63 75 72 72 20 3d 20 6e 65 78 74 3b 00 00 00 12 20 20 20 20 63 61 6c 63 | ..sel.=.curr.=.next;........calc |
| 119a0 | 6f 66 66 73 65 74 73 28 29 3b 00 00 00 0a 20 20 20 20 62 72 65 61 6b 3b 00 00 00 10 20 20 63 61 | offsets();........break;......ca |
| 119c0 | 73 65 20 58 4b 5f 50 72 69 6f 72 3a 00 00 00 13 20 20 63 61 73 65 20 58 4b 5f 4b 50 5f 50 72 69 | se.XK_Prior:......case.XK_KP_Pri |
| 119e0 | 6f 72 3a 00 00 00 0e 20 20 20 20 69 66 20 28 21 70 72 65 76 29 00 00 00 0d 20 20 20 20 20 20 72 | or:........if.(!prev)..........r |
| 11a00 | 65 74 75 72 6e 3b 00 00 00 16 20 20 20 20 73 65 6c 20 3d 20 63 75 72 72 20 3d 20 70 72 65 76 3b | eturn;........sel.=.curr.=.prev; |
| 11a20 | 00 00 00 12 20 20 20 20 63 61 6c 63 6f 66 66 73 65 74 73 28 29 3b 00 00 00 0a 20 20 20 20 62 72 | ........calcoffsets();........br |
| 11a40 | 65 61 6b 3b 00 00 00 11 20 20 63 61 73 65 20 58 4b 5f 52 65 74 75 72 6e 3a 00 00 00 13 20 20 63 | eak;......case.XK_Return:......c |
| 11a60 | 61 73 65 20 58 4b 5f 4b 50 5f 45 6e 74 65 72 3a 00 00 00 3f 20 20 20 20 70 75 74 73 28 28 73 65 | ase.XK_KP_Enter:...?....puts((se |
| 11a80 | 6c 20 26 26 20 21 28 65 76 2d 3e 73 74 61 74 65 20 26 20 53 68 69 66 74 4d 61 73 6b 29 29 20 3f | l.&&.!(ev->state.&.ShiftMask)).? |
| 11aa0 | 20 73 65 6c 2d 3e 74 65 78 74 20 3a 20 74 65 78 74 29 3b 00 00 00 25 20 20 20 20 69 66 20 28 21 | .sel->text.:.text);...%....if.(! |
| 11ac0 | 28 65 76 2d 3e 73 74 61 74 65 20 26 20 43 6f 6e 74 72 6f 6c 4d 61 73 6b 29 29 20 7b 00 00 00 10 | (ev->state.&.ControlMask)).{.... |
| 11ae0 | 20 20 20 20 20 20 63 6c 65 61 6e 75 70 28 29 3b 00 00 00 0e 20 20 20 20 20 20 65 78 69 74 28 30 | ......cleanup();..........exit(0 |
| 11b00 | 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 0c 20 20 20 20 69 66 20 28 73 65 6c 29 00 00 00 13 20 | );........}........if.(sel)..... |
| 11b20 | 20 20 20 20 20 73 65 6c 2d 3e 6f 75 74 20 3d 20 31 3b 00 00 00 0a 20 20 20 20 62 72 65 61 6b 3b | .....sel->out.=.1;........break; |
| 11b40 | 00 00 00 10 20 20 63 61 73 65 20 58 4b 5f 52 69 67 68 74 3a 00 00 00 13 20 20 63 61 73 65 20 58 | ......case.XK_Right:......case.X |
| 11b60 | 4b 5f 4b 50 5f 52 69 67 68 74 3a 00 00 00 1f 20 20 20 20 69 66 20 28 74 65 78 74 5b 63 75 72 73 | K_KP_Right:........if.(text[curs |
| 11b80 | 6f 72 5d 20 21 3d 20 27 5c 30 27 29 20 7b 00 00 00 1c 20 20 20 20 20 20 63 75 72 73 6f 72 20 3d | or].!=.'\0').{..........cursor.= |
| 11ba0 | 20 6e 65 78 74 72 75 6e 65 28 2b 31 29 3b 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 | .nextrune(+1);..........break;.. |
| 11bc0 | 00 05 20 20 20 20 7d 00 00 00 12 20 20 20 20 69 66 20 28 6c 69 6e 65 73 20 3e 20 30 29 00 00 00 | ......}........if.(lines.>.0)... |
| 11be0 | 0d 20 20 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 15 20 20 20 20 2f 2a 20 66 61 6c 6c 74 68 72 | .......return;......../*.fallthr |
| 11c00 | 6f 75 67 68 20 2a 2f 00 00 00 0f 20 20 63 61 73 65 20 58 4b 5f 44 6f 77 6e 3a 00 00 00 12 20 20 | ough.*/......case.XK_Down:...... |
| 11c20 | 63 61 73 65 20 58 4b 5f 4b 50 5f 44 6f 77 6e 3a 00 00 00 3a 20 20 20 20 69 66 20 28 73 65 6c 20 | case.XK_KP_Down:...:....if.(sel. |
| 11c40 | 26 26 20 73 65 6c 2d 3e 72 69 67 68 74 20 26 26 20 28 73 65 6c 20 3d 20 73 65 6c 2d 3e 72 69 67 | &&.sel->right.&&.(sel.=.sel->rig |
| 11c60 | 68 74 29 20 3d 3d 20 6e 65 78 74 29 20 7b 00 00 00 12 20 20 20 20 20 20 63 75 72 72 20 3d 20 6e | ht).==.next).{..........curr.=.n |
| 11c80 | 65 78 74 3b 00 00 00 14 20 20 20 20 20 20 63 61 6c 63 6f 66 66 73 65 74 73 28 29 3b 00 00 00 05 | ext;..........calcoffsets();.... |
| 11ca0 | 20 20 20 20 7d 00 00 00 0a 20 20 20 20 62 72 65 61 6b 3b 00 00 00 0e 20 20 63 61 73 65 20 58 4b | ....}........break;......case.XK |
| 11cc0 | 5f 54 61 62 3a 00 00 00 0d 20 20 20 20 69 66 20 28 21 73 65 6c 29 00 00 00 0d 20 20 20 20 20 20 | _Tab:........if.(!sel).......... |
| 11ce0 | 72 65 74 75 72 6e 3b 00 00 00 31 20 20 20 20 63 75 72 73 6f 72 20 3d 20 73 74 72 6e 6c 65 6e 28 | return;...1....cursor.=.strnlen( |
| 11d00 | 73 65 6c 2d 3e 74 65 78 74 2c 20 73 69 7a 65 6f 66 20 74 65 78 74 20 2d 20 31 29 3b 00 00 00 24 | sel->text,.sizeof.text.-.1);...$ |
| 11d20 | 20 20 20 20 6d 65 6d 63 70 79 28 74 65 78 74 2c 20 73 65 6c 2d 3e 74 65 78 74 2c 20 63 75 72 73 | ....memcpy(text,.sel->text,.curs |
| 11d40 | 6f 72 29 3b 00 00 00 18 20 20 20 20 74 65 78 74 5b 63 75 72 73 6f 72 5d 20 3d 20 27 5c 30 27 3b | or);........text[cursor].=.'\0'; |
| 11d60 | 00 00 00 0c 20 20 20 20 6d 61 74 63 68 28 29 3b 00 00 00 0a 20 20 20 20 62 72 65 61 6b 3b 00 00 | ........match();........break;.. |
| 11d80 | 00 03 20 20 7d 00 00 00 00 00 00 00 05 64 72 61 77 3a 00 00 00 0d 20 20 64 72 61 77 6d 65 6e 75 | ....}........draw:......drawmenu |
| 11da0 | 28 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 24 73 74 61 74 69 63 20 76 6f 69 64 20 62 75 74 74 | ();....}.......$static.void.butt |
| 11dc0 | 6f 6e 70 72 65 73 73 28 58 45 76 65 6e 74 20 2a 65 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 | onpress(XEvent.*e).{......struct |
| 11de0 | 20 69 74 65 6d 20 2a 69 74 65 6d 3b 00 00 00 28 20 20 58 42 75 74 74 6f 6e 50 72 65 73 73 65 64 | .item.*item;...(..XButtonPressed |
| 11e00 | 45 76 65 6e 74 20 2a 65 76 20 3d 20 26 65 2d 3e 78 62 75 74 74 6f 6e 3b 00 00 00 1e 20 20 69 6e | Event.*ev.=.&e->xbutton;......in |
| 11e20 | 74 20 78 20 3d 20 30 2c 20 79 20 3d 20 30 2c 20 68 20 3d 20 62 68 2c 20 77 3b 00 00 00 00 00 00 | t.x.=.0,.y.=.0,.h.=.bh,.w;...... |
| 11e40 | 00 18 20 20 69 66 20 28 65 76 2d 3e 77 69 6e 64 6f 77 20 21 3d 20 77 69 6e 29 00 00 00 0b 20 20 | ....if.(ev->window.!=.win)...... |
| 11e60 | 20 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 19 20 20 2f 2a 20 72 69 67 68 74 2d 63 6c 69 63 | ..return;........../*.right-clic |
| 11e80 | 6b 3a 20 65 78 69 74 20 2a 2f 00 00 00 1c 20 20 69 66 20 28 65 76 2d 3e 62 75 74 74 6f 6e 20 3d | k:.exit.*/......if.(ev->button.= |
| 11ea0 | 3d 20 42 75 74 74 6f 6e 33 29 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 00 00 00 | =.Button3)........exit(1);...... |
| 11ec0 | 00 18 20 20 69 66 20 28 70 72 6f 6d 70 74 20 26 26 20 2a 70 72 6f 6d 70 74 29 00 00 00 11 20 20 | ....if.(prompt.&&.*prompt)...... |
| 11ee0 | 20 20 78 20 2b 3d 20 70 72 6f 6d 70 74 77 3b 00 00 00 00 00 00 00 13 20 20 2f 2a 20 69 6e 70 75 | ..x.+=.promptw;........../*.inpu |
| 11f00 | 74 20 66 69 65 6c 64 20 2a 2f 00 00 00 30 20 20 77 20 3d 20 28 6c 69 6e 65 73 20 3e 20 30 20 7c | t.field.*/...0..w.=.(lines.>.0.| |
| 11f20 | 7c 20 21 6d 61 74 63 68 65 73 29 20 3f 20 6d 77 20 2d 20 78 20 3a 20 69 6e 70 75 74 77 3b 00 00 | |.!matches).?.mw.-.x.:.inputw;.. |
| 11f40 | 00 00 00 00 00 26 20 20 2f 2a 20 6c 65 66 74 2d 63 6c 69 63 6b 20 6f 6e 20 69 6e 70 75 74 3a 20 | .....&../*.left-click.on.input:. |
| 11f60 | 63 6c 65 61 72 20 69 6e 70 75 74 2c 00 00 00 43 20 20 20 2a 20 4e 4f 54 45 3a 20 69 66 20 74 68 | clear.input,...C...*.NOTE:.if.th |
| 11f80 | 65 72 65 20 69 73 20 6e 6f 20 6c 65 66 74 2d 61 72 72 6f 77 20 74 68 65 20 73 70 61 63 65 20 66 | ere.is.no.left-arrow.the.space.f |
| 11fa0 | 6f 72 20 3c 20 69 73 20 72 65 73 65 72 76 65 64 20 73 6f 00 00 00 29 20 20 20 2a 20 20 20 20 20 | or.<.is.reserved.so...)...*..... |
| 11fc0 | 20 20 61 64 64 20 74 68 61 74 20 74 6f 20 74 68 65 20 69 6e 70 75 74 20 77 69 64 74 68 20 2a 2f | ..add.that.to.the.input.width.*/ |
| 11fe0 | 00 00 00 1e 20 20 69 66 20 28 65 76 2d 3e 62 75 74 74 6f 6e 20 3d 3d 20 42 75 74 74 6f 6e 31 20 | ......if.(ev->button.==.Button1. |
| 12000 | 26 26 00 00 00 23 20 20 20 20 20 20 28 28 6c 69 6e 65 73 20 3c 3d 20 30 20 26 26 20 65 76 2d 3e | &&...#......((lines.<=.0.&&.ev-> |
| 12020 | 78 20 3e 3d 20 30 20 26 26 00 00 00 46 20 20 20 20 20 20 20 20 65 76 2d 3e 78 20 3c 3d 20 78 20 | x.>=.0.&&...F........ev->x.<=.x. |
| 12040 | 2b 20 77 20 2b 20 28 28 21 70 72 65 76 20 7c 7c 20 21 63 75 72 72 2d 3e 6c 65 66 74 29 20 3f 20 | +.w.+.((!prev.||.!curr->left).?. |
| 12060 | 54 45 58 54 57 28 22 3c 22 29 20 3a 20 30 29 29 20 7c 7c 00 00 00 36 20 20 20 20 20 20 20 28 6c | TEXTW("<").:.0)).||...6.......(l |
| 12080 | 69 6e 65 73 20 3e 20 30 20 26 26 20 65 76 2d 3e 79 20 3e 3d 20 79 20 26 26 20 65 76 2d 3e 79 20 | ines.>.0.&&.ev->y.>=.y.&&.ev->y. |
| 120a0 | 3c 3d 20 79 20 2b 20 68 29 29 29 20 7b 00 00 00 1a 20 20 20 20 69 6e 73 65 72 74 28 4e 55 4c 4c | <=.y.+.h))).{........insert(NULL |
| 120c0 | 2c 20 2d 63 75 72 73 6f 72 29 3b 00 00 00 0f 20 20 20 20 64 72 61 77 6d 65 6e 75 28 29 3b 00 00 | ,.-cursor);........drawmenu();.. |
| 120e0 | 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 03 20 20 7d 00 00 00 2b 20 20 2f 2a 20 6d 69 64 | ......return;......}...+../*.mid |
| 12100 | 64 6c 65 2d 6d 6f 75 73 65 20 63 6c 69 63 6b 3a 20 70 61 73 74 65 20 73 65 6c 65 63 74 69 6f 6e | dle-mouse.click:.paste.selection |
| 12120 | 20 2a 2f 00 00 00 1e 20 20 69 66 20 28 65 76 2d 3e 62 75 74 74 6f 6e 20 3d 3d 20 42 75 74 74 6f | .*/......if.(ev->button.==.Butto |
| 12140 | 6e 32 29 20 7b 00 00 00 4d 20 20 20 20 58 43 6f 6e 76 65 72 74 53 65 6c 65 63 74 69 6f 6e 28 64 | n2).{...M....XConvertSelection(d |
| 12160 | 70 79 2c 20 28 65 76 2d 3e 73 74 61 74 65 20 26 20 53 68 69 66 74 4d 61 73 6b 29 20 3f 20 63 6c | py,.(ev->state.&.ShiftMask).?.cl |
| 12180 | 69 70 20 3a 20 58 41 5f 50 52 49 4d 41 52 59 2c 20 75 74 66 38 2c 00 00 00 2e 20 20 20 20 20 20 | ip.:.XA_PRIMARY,.utf8,.......... |
| 121a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 74 66 38 2c 20 77 69 6e 2c 20 43 75 72 72 65 | ................utf8,.win,.Curre |
| 121c0 | 6e 74 54 69 6d 65 29 3b 00 00 00 0f 20 20 20 20 64 72 61 77 6d 65 6e 75 28 29 3b 00 00 00 0b 20 | ntTime);........drawmenu();..... |
| 121e0 | 20 20 20 72 65 74 75 72 6e 3b 00 00 00 03 20 20 7d 00 00 00 11 20 20 2f 2a 20 73 63 72 6f 6c 6c | ...return;......}....../*.scroll |
| 12200 | 20 75 70 20 2a 2f 00 00 00 26 20 20 69 66 20 28 65 76 2d 3e 62 75 74 74 6f 6e 20 3d 3d 20 42 75 | .up.*/...&..if.(ev->button.==.Bu |
| 12220 | 74 74 6f 6e 34 20 26 26 20 70 72 65 76 29 20 7b 00 00 00 16 20 20 20 20 73 65 6c 20 3d 20 63 75 | tton4.&&.prev).{........sel.=.cu |
| 12240 | 72 72 20 3d 20 70 72 65 76 3b 00 00 00 12 20 20 20 20 63 61 6c 63 6f 66 66 73 65 74 73 28 29 3b | rr.=.prev;........calcoffsets(); |
| 12260 | 00 00 00 0f 20 20 20 20 64 72 61 77 6d 65 6e 75 28 29 3b 00 00 00 0b 20 20 20 20 72 65 74 75 72 | ........drawmenu();........retur |
| 12280 | 6e 3b 00 00 00 03 20 20 7d 00 00 00 13 20 20 2f 2a 20 73 63 72 6f 6c 6c 20 64 6f 77 6e 20 2a 2f | n;......}....../*.scroll.down.*/ |
| 122a0 | 00 00 00 26 20 20 69 66 20 28 65 76 2d 3e 62 75 74 74 6f 6e 20 3d 3d 20 42 75 74 74 6f 6e 35 20 | ...&..if.(ev->button.==.Button5. |
| 122c0 | 26 26 20 6e 65 78 74 29 20 7b 00 00 00 16 20 20 20 20 73 65 6c 20 3d 20 63 75 72 72 20 3d 20 6e | &&.next).{........sel.=.curr.=.n |
| 122e0 | 65 78 74 3b 00 00 00 12 20 20 20 20 63 61 6c 63 6f 66 66 73 65 74 73 28 29 3b 00 00 00 0f 20 20 | ext;........calcoffsets();...... |
| 12300 | 20 20 64 72 61 77 6d 65 6e 75 28 29 3b 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 03 | ..drawmenu();........return;.... |
| 12320 | 20 20 7d 00 00 00 1c 20 20 69 66 20 28 65 76 2d 3e 62 75 74 74 6f 6e 20 21 3d 20 42 75 74 74 6f | ..}......if.(ev->button.!=.Butto |
| 12340 | 6e 31 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 1f 20 20 69 66 20 28 65 76 2d 3e | n1)........return;......if.(ev-> |
| 12360 | 73 74 61 74 65 20 26 20 7e 43 6f 6e 74 72 6f 6c 4d 61 73 6b 29 00 00 00 0b 20 20 20 20 72 65 74 | state.&.~ControlMask)........ret |
| 12380 | 75 72 6e 3b 00 00 00 12 20 20 69 66 20 28 6c 69 6e 65 73 20 3e 20 30 29 20 7b 00 00 00 31 20 20 | urn;......if.(lines.>.0).{...1.. |
| 123a0 | 20 20 2f 2a 20 76 65 72 74 69 63 61 6c 20 6c 69 73 74 3a 20 28 63 74 72 6c 29 6c 65 66 74 2d 63 | ../*.vertical.list:.(ctrl)left-c |
| 123c0 | 6c 69 63 6b 20 6f 6e 20 69 74 65 6d 20 2a 2f 00 00 00 0f 20 20 20 20 77 20 3d 20 6d 77 20 2d 20 | lick.on.item.*/........w.=.mw.-. |
| 123e0 | 78 3b 00 00 00 39 20 20 20 20 66 6f 72 20 28 69 74 65 6d 20 3d 20 63 75 72 72 3b 20 69 74 65 6d | x;...9....for.(item.=.curr;.item |
| 12400 | 20 21 3d 20 6e 65 78 74 3b 20 69 74 65 6d 20 3d 20 69 74 65 6d 2d 3e 72 69 67 68 74 29 20 7b 00 | .!=.next;.item.=.item->right).{. |
| 12420 | 00 00 0d 20 20 20 20 20 20 79 20 2b 3d 20 68 3b 00 00 00 2b 20 20 20 20 20 20 69 66 20 28 65 76 | .........y.+=.h;...+......if.(ev |
| 12440 | 2d 3e 79 20 3e 3d 20 79 20 26 26 20 65 76 2d 3e 79 20 3c 3d 20 28 79 20 2b 20 68 29 29 20 7b 00 | ->y.>=.y.&&.ev->y.<=.(y.+.h)).{. |
| 12460 | 00 00 19 20 20 20 20 20 20 20 20 70 75 74 73 28 69 74 65 6d 2d 3e 74 65 78 74 29 3b 00 00 00 27 | ...........puts(item->text);...' |
| 12480 | 20 20 20 20 20 20 20 20 69 66 20 28 21 28 65 76 2d 3e 73 74 61 74 65 20 26 20 43 6f 6e 74 72 6f | ........if.(!(ev->state.&.Contro |
| 124a0 | 6c 4d 61 73 6b 29 29 00 00 00 12 20 20 20 20 20 20 20 20 20 20 65 78 69 74 28 30 29 3b 00 00 00 | lMask))..............exit(0);... |
| 124c0 | 13 20 20 20 20 20 20 20 20 73 65 6c 20 3d 20 69 74 65 6d 3b 00 00 00 12 20 20 20 20 20 20 20 20 | .........sel.=.item;............ |
| 124e0 | 69 66 20 28 73 65 6c 29 20 7b 00 00 00 17 20 20 20 20 20 20 20 20 20 20 73 65 6c 2d 3e 6f 75 74 | if.(sel).{..............sel->out |
| 12500 | 20 3d 20 31 3b 00 00 00 15 20 20 20 20 20 20 20 20 20 20 64 72 61 77 6d 65 6e 75 28 29 3b 00 00 | .=.1;..............drawmenu();.. |
| 12520 | 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 0f 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 00 00 | ..........}............return;.. |
| 12540 | 00 07 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 17 20 20 7d 20 65 6c 73 65 20 69 | ........}........}......}.else.i |
| 12560 | 66 20 28 6d 61 74 63 68 65 73 29 20 7b 00 00 00 22 20 20 20 20 2f 2a 20 6c 65 66 74 2d 63 6c 69 | f.(matches).{..."..../*.left-cli |
| 12580 | 63 6b 20 6f 6e 20 6c 65 66 74 20 61 72 72 6f 77 20 2a 2f 00 00 00 10 20 20 20 20 78 20 2b 3d 20 | ck.on.left.arrow.*/........x.+=. |
| 125a0 | 69 6e 70 75 74 77 3b 00 00 00 13 20 20 20 20 77 20 3d 20 54 45 58 54 57 28 22 3c 22 29 3b 00 00 | inputw;........w.=.TEXTW("<");.. |
| 125c0 | 00 1d 20 20 20 20 69 66 20 28 70 72 65 76 20 26 26 20 63 75 72 72 2d 3e 6c 65 66 74 29 20 7b 00 | ......if.(prev.&&.curr->left).{. |
| 125e0 | 00 00 29 20 20 20 20 20 20 69 66 20 28 65 76 2d 3e 78 20 3e 3d 20 78 20 26 26 20 65 76 2d 3e 78 | ..)......if.(ev->x.>=.x.&&.ev->x |
| 12600 | 20 3c 3d 20 78 20 2b 20 77 29 20 7b 00 00 00 1a 20 20 20 20 20 20 20 20 73 65 6c 20 3d 20 63 75 | .<=.x.+.w).{............sel.=.cu |
| 12620 | 72 72 20 3d 20 70 72 65 76 3b 00 00 00 16 20 20 20 20 20 20 20 20 63 61 6c 63 6f 66 66 73 65 74 | rr.=.prev;............calcoffset |
| 12640 | 73 28 29 3b 00 00 00 13 20 20 20 20 20 20 20 20 64 72 61 77 6d 65 6e 75 28 29 3b 00 00 00 0f 20 | s();............drawmenu();..... |
| 12660 | 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 | .......return;..........}....... |
| 12680 | 20 7d 00 00 00 33 20 20 20 20 2f 2a 20 68 6f 72 69 7a 6f 6e 74 61 6c 20 6c 69 73 74 3a 20 28 63 | .}...3..../*.horizontal.list:.(c |
| 126a0 | 74 72 6c 29 6c 65 66 74 2d 63 6c 69 63 6b 20 6f 6e 20 69 74 65 6d 20 2a 2f 00 00 00 39 20 20 20 | trl)left-click.on.item.*/...9... |
| 126c0 | 20 66 6f 72 20 28 69 74 65 6d 20 3d 20 63 75 72 72 3b 20 69 74 65 6d 20 21 3d 20 6e 65 78 74 3b | .for.(item.=.curr;.item.!=.next; |
| 126e0 | 20 69 74 65 6d 20 3d 20 69 74 65 6d 2d 3e 72 69 67 68 74 29 20 7b 00 00 00 0d 20 20 20 20 20 20 | .item.=.item->right).{.......... |
| 12700 | 78 20 2b 3d 20 77 3b 00 00 00 36 20 20 20 20 20 20 77 20 3d 20 4d 49 4e 28 54 45 58 54 57 28 69 | x.+=.w;...6......w.=.MIN(TEXTW(i |
| 12720 | 74 65 6d 2d 3e 74 65 78 74 29 2c 20 6d 77 20 2d 20 78 20 2d 20 54 45 58 54 57 28 22 3e 22 29 29 | tem->text),.mw.-.x.-.TEXTW(">")) |
| 12740 | 3b 00 00 00 29 20 20 20 20 20 20 69 66 20 28 65 76 2d 3e 78 20 3e 3d 20 78 20 26 26 20 65 76 2d | ;...)......if.(ev->x.>=.x.&&.ev- |
| 12760 | 3e 78 20 3c 3d 20 78 20 2b 20 77 29 20 7b 00 00 00 19 20 20 20 20 20 20 20 20 70 75 74 73 28 69 | >x.<=.x.+.w).{............puts(i |
| 12780 | 74 65 6d 2d 3e 74 65 78 74 29 3b 00 00 00 27 20 20 20 20 20 20 20 20 69 66 20 28 21 28 65 76 2d | tem->text);...'........if.(!(ev- |
| 127a0 | 3e 73 74 61 74 65 20 26 20 43 6f 6e 74 72 6f 6c 4d 61 73 6b 29 29 00 00 00 12 20 20 20 20 20 20 | >state.&.ControlMask)).......... |
| 127c0 | 20 20 20 20 65 78 69 74 28 30 29 3b 00 00 00 13 20 20 20 20 20 20 20 20 73 65 6c 20 3d 20 69 74 | ....exit(0);............sel.=.it |
| 127e0 | 65 6d 3b 00 00 00 12 20 20 20 20 20 20 20 20 69 66 20 28 73 65 6c 29 20 7b 00 00 00 17 20 20 20 | em;............if.(sel).{....... |
| 12800 | 20 20 20 20 20 20 20 73 65 6c 2d 3e 6f 75 74 20 3d 20 31 3b 00 00 00 15 20 20 20 20 20 20 20 20 | .......sel->out.=.1;............ |
| 12820 | 20 20 64 72 61 77 6d 65 6e 75 28 29 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 0f 20 20 | ..drawmenu();............}...... |
| 12840 | 20 20 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 | ......return;..........}........ |
| 12860 | 7d 00 00 00 23 20 20 20 20 2f 2a 20 6c 65 66 74 2d 63 6c 69 63 6b 20 6f 6e 20 72 69 67 68 74 20 | }...#..../*.left-click.on.right. |
| 12880 | 61 72 72 6f 77 20 2a 2f 00 00 00 13 20 20 20 20 77 20 3d 20 54 45 58 54 57 28 22 3e 22 29 3b 00 | arrow.*/........w.=.TEXTW(">");. |
| 128a0 | 00 00 0f 20 20 20 20 78 20 3d 20 6d 77 20 2d 20 77 3b 00 00 00 2f 20 20 20 20 69 66 20 28 6e 65 | .......x.=.mw.-.w;.../....if.(ne |
| 128c0 | 78 74 20 26 26 20 65 76 2d 3e 78 20 3e 3d 20 78 20 26 26 20 65 76 2d 3e 78 20 3c 3d 20 78 20 2b | xt.&&.ev->x.>=.x.&&.ev->x.<=.x.+ |
| 128e0 | 20 77 29 20 7b 00 00 00 18 20 20 20 20 20 20 73 65 6c 20 3d 20 63 75 72 72 20 3d 20 6e 65 78 74 | .w).{..........sel.=.curr.=.next |
| 12900 | 3b 00 00 00 14 20 20 20 20 20 20 63 61 6c 63 6f 66 66 73 65 74 73 28 29 3b 00 00 00 11 20 20 20 | ;..........calcoffsets();....... |
| 12920 | 20 20 20 64 72 61 77 6d 65 6e 75 28 29 3b 00 00 00 0d 20 20 20 20 20 20 72 65 74 75 72 6e 3b 00 | ...drawmenu();..........return;. |
| 12940 | 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 19 73 74 61 74 | .......}......}....}........stat |
| 12960 | 69 63 20 76 6f 69 64 20 70 61 73 74 65 28 76 6f 69 64 29 20 7b 00 00 00 0e 20 20 63 68 61 72 20 | ic.void.paste(void).{......char. |
| 12980 | 2a 70 2c 20 2a 71 3b 00 00 00 09 20 20 69 6e 74 20 64 69 3b 00 00 00 13 20 20 75 6e 73 69 67 6e | *p,.*q;......int.di;......unsign |
| 129a0 | 65 64 20 6c 6f 6e 67 20 64 6c 3b 00 00 00 0a 20 20 41 74 6f 6d 20 64 61 3b 00 00 00 00 00 00 00 | ed.long.dl;......Atom.da;....... |
| 129c0 | 4a 20 20 2f 2a 20 77 65 20 68 61 76 65 20 62 65 65 6e 20 67 69 76 65 6e 20 74 68 65 20 63 75 72 | J../*.we.have.been.given.the.cur |
| 129e0 | 72 65 6e 74 20 73 65 6c 65 63 74 69 6f 6e 2c 20 6e 6f 77 20 69 6e 73 65 72 74 20 69 74 20 69 6e | rent.selection,.now.insert.it.in |
| 12a00 | 74 6f 20 69 6e 70 75 74 20 2a 2f 00 00 00 4f 20 20 69 66 20 28 58 47 65 74 57 69 6e 64 6f 77 50 | to.input.*/...O..if.(XGetWindowP |
| 12a20 | 72 6f 70 65 72 74 79 28 64 70 79 2c 20 77 69 6e 2c 20 75 74 66 38 2c 20 30 2c 20 28 73 69 7a 65 | roperty(dpy,.win,.utf8,.0,.(size |
| 12a40 | 6f 66 20 74 65 78 74 20 2f 20 34 29 20 2b 20 31 2c 20 46 61 6c 73 65 2c 20 75 74 66 38 2c 00 00 | of.text./.4).+.1,.False,.utf8,.. |
| 12a60 | 00 50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 64 61 2c 20 | .P.........................&da,. |
| 12a80 | 26 64 69 2c 20 26 64 6c 2c 20 26 64 6c 2c 20 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 2a | &di,.&dl,.&dl,.(unsigned.char.** |
| 12aa0 | 29 26 70 29 20 3d 3d 20 53 75 63 63 65 73 73 20 26 26 00 00 00 0a 20 20 20 20 20 20 70 29 20 7b | )&p).==.Success.&&..........p).{ |
| 12ac0 | 00 00 00 42 20 20 20 20 69 6e 73 65 72 74 28 70 2c 20 28 71 20 3d 20 73 74 72 63 68 72 28 70 2c | ...B....insert(p,.(q.=.strchr(p, |
| 12ae0 | 20 27 5c 6e 27 29 29 20 3f 20 71 20 2d 20 70 20 3a 20 28 73 73 69 7a 65 5f 74 29 73 74 72 6c 65 | .'\n')).?.q.-.p.:.(ssize_t)strle |
| 12b00 | 6e 28 70 29 29 3b 00 00 00 0d 20 20 20 20 58 46 72 65 65 28 70 29 3b 00 00 00 03 20 20 7d 00 00 | n(p));........XFree(p);......}.. |
| 12b20 | 00 0d 20 20 64 72 61 77 6d 65 6e 75 28 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 1d 73 74 61 74 | ....drawmenu();....}........stat |
| 12b40 | 69 63 20 76 6f 69 64 20 72 65 61 64 73 74 64 69 6e 28 76 6f 69 64 29 20 7b 00 00 00 14 20 20 63 | ic.void.readstdin(void).{......c |
| 12b60 | 68 61 72 20 2a 6c 69 6e 65 20 3d 20 4e 55 4c 4c 3b 00 00 00 25 20 20 73 69 7a 65 5f 74 20 69 2c | har.*line.=.NULL;...%..size_t.i, |
| 12b80 | 20 69 74 65 6d 73 69 7a 20 3d 20 30 2c 20 6c 69 6e 65 73 69 7a 20 3d 20 30 3b 00 00 00 0e 20 20 | .itemsiz.=.0,.linesiz.=.0;...... |
| 12ba0 | 73 73 69 7a 65 5f 74 20 6c 65 6e 3b 00 00 00 00 00 00 00 3d 20 20 2f 2a 20 72 65 61 64 20 65 61 | ssize_t.len;.......=../*.read.ea |
| 12bc0 | 63 68 20 6c 69 6e 65 20 66 72 6f 6d 20 73 74 64 69 6e 20 61 6e 64 20 61 64 64 20 69 74 20 74 6f | ch.line.from.stdin.and.add.it.to |
| 12be0 | 20 74 68 65 20 69 74 65 6d 20 6c 69 73 74 20 2a 2f 00 00 00 43 20 20 66 6f 72 20 28 69 20 3d 20 | .the.item.list.*/...C..for.(i.=. |
| 12c00 | 30 3b 20 28 6c 65 6e 20 3d 20 67 65 74 6c 69 6e 65 28 26 6c 69 6e 65 2c 20 26 6c 69 6e 65 73 69 | 0;.(len.=.getline(&line,.&linesi |
| 12c20 | 7a 2c 20 73 74 64 69 6e 29 29 20 21 3d 20 2d 31 3b 20 69 2b 2b 29 20 7b 00 00 00 1b 20 20 20 20 | z,.stdin)).!=.-1;.i++).{........ |
| 12c40 | 69 66 20 28 69 20 2b 20 31 20 3e 3d 20 69 74 65 6d 73 69 7a 29 20 7b 00 00 00 15 20 20 20 20 20 | if.(i.+.1.>=.itemsiz).{......... |
| 12c60 | 20 69 74 65 6d 73 69 7a 20 2b 3d 20 32 35 36 3b 00 00 00 3e 20 20 20 20 20 20 69 66 20 28 21 28 | .itemsiz.+=.256;...>......if.(!( |
| 12c80 | 69 74 65 6d 73 20 3d 20 72 65 61 6c 6c 6f 63 28 69 74 65 6d 73 2c 20 69 74 65 6d 73 69 7a 20 2a | items.=.realloc(items,.itemsiz.* |
| 12ca0 | 20 73 69 7a 65 6f 66 28 2a 69 74 65 6d 73 29 29 29 29 00 00 00 43 20 20 20 20 20 20 20 20 64 69 | .sizeof(*items))))...C........di |
| 12cc0 | 65 28 22 63 61 6e 6e 6f 74 20 72 65 61 6c 6c 6f 63 20 25 7a 75 20 62 79 74 65 73 3a 22 2c 20 69 | e("cannot.realloc.%zu.bytes:",.i |
| 12ce0 | 74 65 6d 73 69 7a 20 2a 20 73 69 7a 65 6f 66 28 2a 69 74 65 6d 73 29 29 3b 00 00 00 05 20 20 20 | temsiz.*.sizeof(*items));....... |
| 12d00 | 20 7d 00 00 00 1e 20 20 20 20 69 66 20 28 6c 69 6e 65 5b 6c 65 6e 20 2d 20 31 5d 20 3d 3d 20 27 | .}........if.(line[len.-.1].==.' |
| 12d20 | 5c 6e 27 29 00 00 00 1b 20 20 20 20 20 20 6c 69 6e 65 5b 6c 65 6e 20 2d 20 31 5d 20 3d 20 27 5c | \n')..........line[len.-.1].=.'\ |
| 12d40 | 30 27 3b 00 00 00 28 20 20 20 20 69 66 20 28 21 28 69 74 65 6d 73 5b 69 5d 2e 74 65 78 74 20 3d | 0';...(....if.(!(items[i].text.= |
| 12d60 | 20 73 74 72 64 75 70 28 6c 69 6e 65 29 29 29 00 00 00 15 20 20 20 20 20 20 64 69 65 28 22 73 74 | .strdup(line)))..........die("st |
| 12d80 | 72 64 75 70 3a 22 29 3b 00 00 00 00 00 00 00 15 20 20 20 20 69 74 65 6d 73 5b 69 5d 2e 6f 75 74 | rdup:");............items[i].out |
| 12da0 | 20 3d 20 30 3b 00 00 00 03 20 20 7d 00 00 00 0d 20 20 66 72 65 65 28 6c 69 6e 65 29 3b 00 00 00 | .=.0;......}......free(line);... |
| 12dc0 | 0c 20 20 69 66 20 28 69 74 65 6d 73 29 00 00 00 19 20 20 20 20 69 74 65 6d 73 5b 69 5d 2e 74 65 | ...if.(items)........items[i].te |
| 12de0 | 78 74 20 3d 20 4e 55 4c 4c 3b 00 00 00 18 20 20 6c 69 6e 65 73 20 3d 20 4d 49 4e 28 6c 69 6e 65 | xt.=.NULL;......lines.=.MIN(line |
| 12e00 | 73 2c 20 69 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 17 73 74 61 74 69 63 20 76 6f 69 64 20 72 | s,.i);....}........static.void.r |
| 12e20 | 75 6e 28 76 6f 69 64 29 20 7b 00 00 00 0c 20 20 58 45 76 65 6e 74 20 65 76 3b 00 00 00 00 00 00 | un(void).{......XEvent.ev;...... |
| 12e40 | 00 21 20 20 77 68 69 6c 65 20 28 21 58 4e 65 78 74 45 76 65 6e 74 28 64 70 79 2c 20 26 65 76 29 | .!..while.(!XNextEvent(dpy,.&ev) |
| 12e60 | 29 20 7b 00 00 00 1f 20 20 20 20 69 66 20 28 58 46 69 6c 74 65 72 45 76 65 6e 74 28 26 65 76 2c | ).{........if.(XFilterEvent(&ev, |
| 12e80 | 20 77 69 6e 29 29 00 00 00 0f 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 00 00 00 16 20 20 20 | .win))..........continue;....... |
| 12ea0 | 20 73 77 69 74 63 68 20 28 65 76 2e 74 79 70 65 29 20 7b 00 00 00 17 20 20 20 20 63 61 73 65 20 | .switch.(ev.type).{........case. |
| 12ec0 | 44 65 73 74 72 6f 79 4e 6f 74 69 66 79 3a 00 00 00 2a 20 20 20 20 20 20 69 66 20 28 65 76 2e 78 | DestroyNotify:...*......if.(ev.x |
| 12ee0 | 64 65 73 74 72 6f 79 77 69 6e 64 6f 77 2e 77 69 6e 64 6f 77 20 21 3d 20 77 69 6e 29 00 00 00 0e | destroywindow.window.!=.win).... |
| 12f00 | 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 10 20 20 20 20 20 20 63 6c 65 61 6e 75 70 28 | ........break;..........cleanup( |
| 12f20 | 29 3b 00 00 00 0e 20 20 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 15 20 20 20 20 63 61 73 65 | );..........exit(1);........case |
| 12f40 | 20 42 75 74 74 6f 6e 50 72 65 73 73 3a 00 00 00 17 20 20 20 20 20 20 62 75 74 74 6f 6e 70 72 65 | .ButtonPress:..........buttonpre |
| 12f60 | 73 73 28 26 65 76 29 3b 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 10 20 20 20 20 | ss(&ev);..........break;........ |
| 12f80 | 63 61 73 65 20 45 78 70 6f 73 65 3a 00 00 00 20 20 20 20 20 20 20 69 66 20 28 65 76 2e 78 65 78 | case.Expose:..........if.(ev.xex |
| 12fa0 | 70 6f 73 65 2e 63 6f 75 6e 74 20 3d 3d 20 30 29 00 00 00 28 20 20 20 20 20 20 20 20 64 72 77 5f | pose.count.==.0)...(........drw_ |
| 12fc0 | 6d 61 70 28 64 72 77 2c 20 77 69 6e 2c 20 30 2c 20 30 2c 20 6d 77 2c 20 6d 68 29 3b 00 00 00 0c | map(drw,.win,.0,.0,.mw,.mh);.... |
| 12fe0 | 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 11 20 20 20 20 63 61 73 65 20 46 6f 63 75 73 49 6e | ......break;........case.FocusIn |
| 13000 | 3a 00 00 00 2b 20 20 20 20 20 20 2f 2a 20 72 65 67 72 61 62 20 66 6f 63 75 73 20 66 72 6f 6d 20 | :...+....../*.regrab.focus.from. |
| 13020 | 70 61 72 65 6e 74 20 77 69 6e 64 6f 77 20 2a 2f 00 00 00 22 20 20 20 20 20 20 69 66 20 28 65 76 | parent.window.*/..."......if.(ev |
| 13040 | 2e 78 66 6f 63 75 73 2e 77 69 6e 64 6f 77 20 21 3d 20 77 69 6e 29 00 00 00 14 20 20 20 20 20 20 | .xfocus.window.!=.win).......... |
| 13060 | 20 20 67 72 61 62 66 6f 63 75 73 28 29 3b 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 | ..grabfocus();..........break;.. |
| 13080 | 00 12 20 20 20 20 63 61 73 65 20 4b 65 79 50 72 65 73 73 3a 00 00 00 19 20 20 20 20 20 20 6b 65 | ......case.KeyPress:..........ke |
| 130a0 | 79 70 72 65 73 73 28 26 65 76 2e 78 6b 65 79 29 3b 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b | ypress(&ev.xkey);..........break |
| 130c0 | 3b 00 00 00 19 20 20 20 20 63 61 73 65 20 53 65 6c 65 63 74 69 6f 6e 4e 6f 74 69 66 79 3a 00 00 | ;........case.SelectionNotify:.. |
| 130e0 | 00 29 20 20 20 20 20 20 69 66 20 28 65 76 2e 78 73 65 6c 65 63 74 69 6f 6e 2e 70 72 6f 70 65 72 | .)......if.(ev.xselection.proper |
| 13100 | 74 79 20 3d 3d 20 75 74 66 38 29 00 00 00 10 20 20 20 20 20 20 20 20 70 61 73 74 65 28 29 3b 00 | ty.==.utf8)............paste();. |
| 13120 | 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 1a 20 20 20 20 63 61 73 65 20 56 69 73 69 | .........break;........case.Visi |
| 13140 | 62 69 6c 69 74 79 4e 6f 74 69 66 79 3a 00 00 00 37 20 20 20 20 20 20 69 66 20 28 65 76 2e 78 76 | bilityNotify:...7......if.(ev.xv |
| 13160 | 69 73 69 62 69 6c 69 74 79 2e 73 74 61 74 65 20 21 3d 20 56 69 73 69 62 69 6c 69 74 79 55 6e 6f | isibility.state.!=.VisibilityUno |
| 13180 | 62 73 63 75 72 65 64 29 00 00 00 1f 20 20 20 20 20 20 20 20 58 52 61 69 73 65 57 69 6e 64 6f 77 | bscured)............XRaiseWindow |
| 131a0 | 28 64 70 79 2c 20 77 69 6e 29 3b 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 05 20 | (dpy,.win);..........break;..... |
| 131c0 | 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 19 73 74 61 74 69 63 20 76 | ...}......}....}........static.v |
| 131e0 | 6f 69 64 20 73 65 74 75 70 28 76 6f 69 64 29 20 7b 00 00 00 11 20 20 69 6e 74 20 78 2c 20 79 2c | oid.setup(void).{......int.x,.y, |
| 13200 | 20 69 2c 20 6a 3b 00 00 00 12 20 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 64 75 3b 00 00 00 1b | .i,.j;......unsigned.int.du;.... |
| 13220 | 20 20 58 53 65 74 57 69 6e 64 6f 77 41 74 74 72 69 62 75 74 65 73 20 73 77 61 3b 00 00 00 0a 20 | ..XSetWindowAttributes.swa;..... |
| 13240 | 20 58 49 4d 20 78 69 6d 3b 00 00 00 15 20 20 57 69 6e 64 6f 77 20 77 2c 20 64 77 2c 20 2a 64 77 | .XIM.xim;......Window.w,.dw,.*dw |
| 13260 | 73 3b 00 00 00 17 20 20 58 57 69 6e 64 6f 77 41 74 74 72 69 62 75 74 65 73 20 77 61 3b 00 00 00 | s;......XWindowAttributes.wa;... |
| 13280 | 25 20 20 58 43 6c 61 73 73 48 69 6e 74 20 63 68 20 3d 20 7b 22 64 6d 65 6e 75 22 2c 20 22 64 6d | %..XClassHint.ch.=.{"dmenu",."dm |
| 132a0 | 65 6e 75 22 7d 3b 00 00 00 0f 23 69 66 64 65 66 20 58 49 4e 45 52 41 4d 41 00 00 00 1b 20 20 58 | enu"};....#ifdef.XINERAMA......X |
| 132c0 | 69 6e 65 72 61 6d 61 53 63 72 65 65 6e 49 6e 66 6f 20 2a 69 6e 66 6f 3b 00 00 00 0c 20 20 57 69 | ineramaScreenInfo.*info;......Wi |
| 132e0 | 6e 64 6f 77 20 70 77 3b 00 00 00 19 20 20 69 6e 74 20 61 2c 20 64 69 2c 20 6e 2c 20 61 72 65 61 | ndow.pw;......int.a,.di,.n,.area |
| 13300 | 20 3d 20 30 3b 00 00 00 06 23 65 6e 64 69 66 00 00 00 17 20 20 2f 2a 20 69 6e 69 74 20 61 70 70 | .=.0;....#endif....../*.init.app |
| 13320 | 65 61 72 61 6e 63 65 20 2a 2f 00 00 00 22 20 20 66 6f 72 20 28 6a 20 3d 20 30 3b 20 6a 20 3c 20 | earance.*/..."..for.(j.=.0;.j.<. |
| 13340 | 53 63 68 65 6d 65 4c 61 73 74 3b 20 6a 2b 2b 29 00 00 00 32 20 20 20 20 73 63 68 65 6d 65 5b 6a | SchemeLast;.j++)...2....scheme[j |
| 13360 | 5d 20 3d 20 64 72 77 5f 73 63 6d 5f 63 72 65 61 74 65 28 64 72 77 2c 20 63 6f 6c 6f 72 73 5b 6a | ].=.drw_scm_create(drw,.colors[j |
| 13380 | 5d 2c 20 32 29 3b 00 00 00 00 00 00 00 2e 20 20 63 6c 69 70 20 3d 20 58 49 6e 74 65 72 6e 41 74 | ],.2);..........clip.=.XInternAt |
| 133a0 | 6f 6d 28 64 70 79 2c 20 22 43 4c 49 50 42 4f 41 52 44 22 2c 20 46 61 6c 73 65 29 3b 00 00 00 30 | om(dpy,."CLIPBOARD",.False);...0 |
| 133c0 | 20 20 75 74 66 38 20 3d 20 58 49 6e 74 65 72 6e 41 74 6f 6d 28 64 70 79 2c 20 22 55 54 46 38 5f | ..utf8.=.XInternAtom(dpy,."UTF8_ |
| 133e0 | 53 54 52 49 4e 47 22 2c 20 46 61 6c 73 65 29 3b 00 00 00 00 00 00 00 1f 20 20 2f 2a 20 63 61 6c | STRING",.False);........../*.cal |
| 13400 | 63 75 6c 61 74 65 20 6d 65 6e 75 20 67 65 6f 6d 65 74 72 79 20 2a 2f 00 00 00 22 20 20 62 68 20 | culate.menu.geometry.*/..."..bh. |
| 13420 | 3d 20 64 72 77 2d 3e 66 6f 6e 74 73 2d 3e 68 20 2b 20 76 65 72 74 70 61 64 62 61 72 3b 00 00 00 | =.drw->fonts->h.+.vertpadbar;... |
| 13440 | 27 20 20 62 68 20 3d 20 75 73 65 72 5f 62 68 20 3f 20 62 68 20 2b 20 75 73 65 72 5f 62 68 20 3a | '..bh.=.user_bh.?.bh.+.user_bh.: |
| 13460 | 20 62 68 20 2b 20 32 3b 00 00 00 18 20 20 6c 69 6e 65 73 20 3d 20 4d 41 58 28 6c 69 6e 65 73 2c | .bh.+.2;......lines.=.MAX(lines, |
| 13480 | 20 30 29 3b 00 00 00 18 20 20 6d 68 20 3d 20 28 6c 69 6e 65 73 20 2b 20 31 29 20 2a 20 62 68 3b | .0);......mh.=.(lines.+.1).*.bh; |
| 134a0 | 00 00 00 0f 23 69 66 64 65 66 20 58 49 4e 45 52 41 4d 41 00 00 00 08 20 20 69 20 3d 20 30 3b 00 | ....#ifdef.XINERAMA......i.=.0;. |
| 134c0 | 00 00 44 20 20 69 66 20 28 70 61 72 65 6e 74 77 69 6e 20 3d 3d 20 72 6f 6f 74 20 26 26 20 28 69 | ..D..if.(parentwin.==.root.&&.(i |
| 134e0 | 6e 66 6f 20 3d 20 58 69 6e 65 72 61 6d 61 51 75 65 72 79 53 63 72 65 65 6e 73 28 64 70 79 2c 20 | nfo.=.XineramaQueryScreens(dpy,. |
| 13500 | 26 6e 29 29 29 20 7b 00 00 00 21 20 20 20 20 58 47 65 74 49 6e 70 75 74 46 6f 63 75 73 28 64 70 | &n))).{...!....XGetInputFocus(dp |
| 13520 | 79 2c 20 26 77 2c 20 26 64 69 29 3b 00 00 00 1c 20 20 20 20 69 66 20 28 6d 6f 6e 20 3e 3d 20 30 | y,.&w,.&di);........if.(mon.>=.0 |
| 13540 | 20 26 26 20 6d 6f 6e 20 3c 20 6e 29 00 00 00 0e 20 20 20 20 20 20 69 20 3d 20 6d 6f 6e 3b 00 00 | .&&.mon.<.n)..........i.=.mon;.. |
| 13560 | 00 3a 20 20 20 20 65 6c 73 65 20 69 66 20 28 77 20 21 3d 20 72 6f 6f 74 20 26 26 20 77 20 21 3d | .:....else.if.(w.!=.root.&&.w.!= |
| 13580 | 20 50 6f 69 6e 74 65 72 52 6f 6f 74 20 26 26 20 77 20 21 3d 20 4e 6f 6e 65 29 20 7b 00 00 00 40 | .PointerRoot.&&.w.!=.None).{...@ |
| 135a0 | 20 20 20 20 20 20 2f 2a 20 66 69 6e 64 20 74 6f 70 2d 6c 65 76 65 6c 20 77 69 6e 64 6f 77 20 63 | ....../*.find.top-level.window.c |
| 135c0 | 6f 6e 74 61 69 6e 69 6e 67 20 63 75 72 72 65 6e 74 20 69 6e 70 75 74 20 66 6f 63 75 73 20 2a 2f | ontaining.current.input.focus.*/ |
| 135e0 | 00 00 00 0a 20 20 20 20 20 20 64 6f 20 7b 00 00 00 41 20 20 20 20 20 20 20 20 69 66 20 28 58 51 | ..........do.{...A........if.(XQ |
| 13600 | 75 65 72 79 54 72 65 65 28 64 70 79 2c 20 28 70 77 20 3d 20 77 29 2c 20 26 64 77 2c 20 26 77 2c | ueryTree(dpy,.(pw.=.w),.&dw,.&w, |
| 13620 | 20 26 64 77 73 2c 20 26 64 75 29 20 26 26 20 64 77 73 29 00 00 00 15 20 20 20 20 20 20 20 20 20 | .&dws,.&du).&&.dws)............. |
| 13640 | 20 58 46 72 65 65 28 64 77 73 29 3b 00 00 00 25 20 20 20 20 20 20 7d 20 77 68 69 6c 65 20 28 77 | .XFree(dws);...%......}.while.(w |
| 13660 | 20 21 3d 20 72 6f 6f 74 20 26 26 20 77 20 21 3d 20 70 77 29 3b 00 00 00 46 20 20 20 20 20 20 2f | .!=.root.&&.w.!=.pw);...F....../ |
| 13680 | 2a 20 66 69 6e 64 20 78 69 6e 65 72 61 6d 61 20 73 63 72 65 65 6e 20 77 69 74 68 20 77 68 69 63 | *.find.xinerama.screen.with.whic |
| 136a0 | 68 20 74 68 65 20 77 69 6e 64 6f 77 20 69 6e 74 65 72 73 65 63 74 73 20 6d 6f 73 74 20 2a 2f 00 | h.the.window.intersects.most.*/. |
| 136c0 | 00 00 2d 20 20 20 20 20 20 69 66 20 28 58 47 65 74 57 69 6e 64 6f 77 41 74 74 72 69 62 75 74 65 | ..-......if.(XGetWindowAttribute |
| 136e0 | 73 28 64 70 79 2c 20 70 77 2c 20 26 77 61 29 29 00 00 00 1f 20 20 20 20 20 20 20 20 66 6f 72 20 | s(dpy,.pw,.&wa))............for. |
| 13700 | 28 6a 20 3d 20 30 3b 20 6a 20 3c 20 6e 3b 20 6a 2b 2b 29 00 00 00 49 20 20 20 20 20 20 20 20 20 | (j.=.0;.j.<.n;.j++)...I......... |
| 13720 | 20 69 66 20 28 28 61 20 3d 20 49 4e 54 45 52 53 45 43 54 28 77 61 2e 78 2c 20 77 61 2e 79 2c 20 | .if.((a.=.INTERSECT(wa.x,.wa.y,. |
| 13740 | 77 61 2e 77 69 64 74 68 2c 20 77 61 2e 68 65 69 67 68 74 2c 20 69 6e 66 6f 5b 6a 5d 29 29 20 3e | wa.width,.wa.height,.info[j])).> |
| 13760 | 00 00 00 15 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 72 65 61 29 20 7b 00 00 00 15 20 20 20 | ..................area).{....... |
| 13780 | 20 20 20 20 20 20 20 20 20 61 72 65 61 20 3d 20 61 3b 00 00 00 12 20 20 20 20 20 20 20 20 20 20 | .........area.=.a;.............. |
| 137a0 | 20 20 69 20 3d 20 6a 3b 00 00 00 0b 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d | ..i.=.j;..............}........} |
| 137c0 | 00 00 00 49 20 20 20 20 2f 2a 20 6e 6f 20 66 6f 63 75 73 65 64 20 77 69 6e 64 6f 77 20 69 73 20 | ...I..../*.no.focused.window.is. |
| 137e0 | 6f 6e 20 73 63 72 65 65 6e 2c 20 73 6f 20 75 73 65 20 70 6f 69 6e 74 65 72 20 6c 6f 63 61 74 69 | on.screen,.so.use.pointer.locati |
| 13800 | 6f 6e 20 69 6e 73 74 65 61 64 20 2a 2f 00 00 00 1b 20 20 20 20 69 66 20 28 6d 6f 6e 20 3c 20 30 | on.instead.*/........if.(mon.<.0 |
| 13820 | 20 26 26 20 21 61 72 65 61 20 26 26 00 00 00 42 20 20 20 20 20 20 20 20 58 51 75 65 72 79 50 6f | .&&.!area.&&...B........XQueryPo |
| 13840 | 69 6e 74 65 72 28 64 70 79 2c 20 72 6f 6f 74 2c 20 26 64 77 2c 20 26 64 77 2c 20 26 78 2c 20 26 | inter(dpy,.root,.&dw,.&dw,.&x,.& |
| 13860 | 79 2c 20 26 64 69 2c 20 26 64 69 2c 20 26 64 75 29 29 00 00 00 1d 20 20 20 20 20 20 66 6f 72 20 | y,.&di,.&di,.&du))..........for. |
| 13880 | 28 69 20 3d 20 30 3b 20 69 20 3c 20 6e 3b 20 69 2b 2b 29 00 00 00 30 20 20 20 20 20 20 20 20 69 | (i.=.0;.i.<.n;.i++)...0........i |
| 138a0 | 66 20 28 49 4e 54 45 52 53 45 43 54 28 78 2c 20 79 2c 20 31 2c 20 31 2c 20 69 6e 66 6f 5b 69 5d | f.(INTERSECT(x,.y,.1,.1,.info[i] |
| 138c0 | 29 20 21 3d 20 30 29 00 00 00 10 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 00 00 | ).!=.0)..............break;..... |
| 138e0 | 00 00 1c 20 20 20 20 78 20 3d 20 69 6e 66 6f 5b 69 5d 2e 78 5f 6f 72 67 20 2b 20 64 6d 78 3b 00 | .......x.=.info[i].x_org.+.dmx;. |
| 13900 | 00 00 43 20 20 20 20 79 20 3d 20 69 6e 66 6f 5b 69 5d 2e 79 5f 6f 72 67 20 2b 20 28 74 6f 70 62 | ..C....y.=.info[i].y_org.+.(topb |
| 13920 | 61 72 20 3f 20 64 6d 79 20 3a 20 69 6e 66 6f 5b 69 5d 2e 68 65 69 67 68 74 20 2d 20 6d 68 20 2d | ar.?.dmy.:.info[i].height.-.mh.- |
| 13940 | 20 64 6d 79 29 3b 00 00 00 29 20 20 20 20 6d 77 20 3d 20 28 64 6d 77 20 3e 20 30 20 3f 20 64 6d | .dmy);...)....mw.=.(dmw.>.0.?.dm |
| 13960 | 77 20 3a 20 69 6e 66 6f 5b 69 5d 2e 77 69 64 74 68 29 3b 00 00 00 05 20 20 20 20 3b 00 00 00 10 | w.:.info[i].width);........;.... |
| 13980 | 20 20 20 20 58 46 72 65 65 28 69 6e 66 6f 29 3b 00 00 00 08 20 20 7d 20 65 6c 73 65 00 00 00 06 | ....XFree(info);......}.else.... |
| 139a0 | 23 65 6e 64 69 66 00 00 00 03 20 20 7b 00 00 00 33 20 20 20 20 69 66 20 28 21 58 47 65 74 57 69 | #endif......{...3....if.(!XGetWi |
| 139c0 | 6e 64 6f 77 41 74 74 72 69 62 75 74 65 73 28 64 70 79 2c 20 70 61 72 65 6e 74 77 69 6e 2c 20 26 | ndowAttributes(dpy,.parentwin,.& |
| 139e0 | 77 61 29 29 00 00 00 49 20 20 20 20 20 20 64 69 65 28 22 63 6f 75 6c 64 20 6e 6f 74 20 67 65 74 | wa))...I......die("could.not.get |
| 13a00 | 20 65 6d 62 65 64 64 69 6e 67 20 77 69 6e 64 6f 77 20 61 74 74 72 69 62 75 74 65 73 3a 20 30 78 | .embedding.window.attributes:.0x |
| 13a20 | 25 6c 78 22 2c 20 70 61 72 65 6e 74 77 69 6e 29 3b 00 00 00 0c 20 20 20 20 78 20 3d 20 64 6d 78 | %lx",.parentwin);........x.=.dmx |
| 13a40 | 3b 00 00 00 2c 20 20 20 20 79 20 3d 20 74 6f 70 62 61 72 20 3f 20 64 6d 79 20 3a 20 77 61 2e 68 | ;...,....y.=.topbar.?.dmy.:.wa.h |
| 13a60 | 65 69 67 68 74 20 2d 20 6d 68 20 2d 20 64 6d 79 3b 00 00 00 24 20 20 20 20 6d 77 20 3d 20 28 64 | eight.-.mh.-.dmy;...$....mw.=.(d |
| 13a80 | 6d 77 20 3e 20 30 20 3f 20 64 6d 77 20 3a 20 77 61 2e 77 69 64 74 68 29 3b 00 00 00 03 20 20 7d | mw.>.0.?.dmw.:.wa.width);......} |
| 13aa0 | 00 00 00 40 20 20 70 72 6f 6d 70 74 77 20 3d 20 28 70 72 6f 6d 70 74 20 26 26 20 2a 70 72 6f 6d | ...@..promptw.=.(prompt.&&.*prom |
| 13ac0 | 70 74 29 20 3f 20 54 45 58 54 57 28 70 72 6f 6d 70 74 29 20 2d 20 6c 72 70 61 64 20 2f 20 34 20 | pt).?.TEXTW(prompt).-.lrpad./.4. |
| 13ae0 | 3a 20 30 3b 00 00 00 3b 20 20 69 6e 70 75 74 77 20 3d 20 6d 77 20 2f 20 33 3b 20 2f 2a 20 69 6e | :.0;...;..inputw.=.mw./.3;./*.in |
| 13b00 | 70 75 74 20 77 69 64 74 68 3a 20 7e 33 33 25 20 6f 66 20 6d 6f 6e 69 74 6f 72 20 77 69 64 74 68 | put.width:.~33%.of.monitor.width |
| 13b20 | 20 2a 2f 00 00 00 0a 20 20 6d 61 74 63 68 28 29 3b 00 00 00 00 00 00 00 1a 20 20 2f 2a 20 63 72 | .*/......match();........../*.cr |
| 13b40 | 65 61 74 65 20 6d 65 6e 75 20 77 69 6e 64 6f 77 20 2a 2f 00 00 00 1f 20 20 73 77 61 2e 6f 76 65 | eate.menu.window.*/......swa.ove |
| 13b60 | 72 72 69 64 65 5f 72 65 64 69 72 65 63 74 20 3d 20 54 72 75 65 3b 00 00 00 39 20 20 73 77 61 2e | rride_redirect.=.True;...9..swa. |
| 13b80 | 62 61 63 6b 67 72 6f 75 6e 64 5f 70 69 78 65 6c 20 3d 20 73 63 68 65 6d 65 5b 53 63 68 65 6d 65 | background_pixel.=.scheme[Scheme |
| 13ba0 | 4e 6f 72 6d 5d 5b 43 6f 6c 42 67 5d 2e 70 69 78 65 6c 3b 00 00 00 12 20 20 73 77 61 2e 65 76 65 | Norm][ColBg].pixel;......swa.eve |
| 13bc0 | 6e 74 5f 6d 61 73 6b 20 3d 00 00 00 4b 20 20 20 20 20 20 45 78 70 6f 73 75 72 65 4d 61 73 6b 20 | nt_mask.=...K......ExposureMask. |
| 13be0 | 7c 20 4b 65 79 50 72 65 73 73 4d 61 73 6b 20 7c 20 56 69 73 69 62 69 6c 69 74 79 43 68 61 6e 67 | |.KeyPressMask.|.VisibilityChang |
| 13c00 | 65 4d 61 73 6b 20 7c 20 42 75 74 74 6f 6e 50 72 65 73 73 4d 61 73 6b 3b 00 00 00 00 00 00 00 41 | eMask.|.ButtonPressMask;.......A |
| 13c20 | 20 20 77 69 6e 20 3d 20 58 43 72 65 61 74 65 57 69 6e 64 6f 77 28 64 70 79 2c 20 70 61 72 65 6e | ..win.=.XCreateWindow(dpy,.paren |
| 13c40 | 74 77 69 6e 2c 20 78 2c 20 79 2c 20 6d 77 2c 20 6d 68 2c 20 62 6f 72 64 65 72 5f 77 69 64 74 68 | twin,.x,.y,.mw,.mh,.border_width |
| 13c60 | 2c 00 00 00 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 6f 70 79 46 | ,...E......................CopyF |
| 13c80 | 72 6f 6d 50 61 72 65 6e 74 2c 20 43 6f 70 79 46 72 6f 6d 50 61 72 65 6e 74 2c 20 43 6f 70 79 46 | romParent,.CopyFromParent,.CopyF |
| 13ca0 | 72 6f 6d 50 61 72 65 6e 74 2c 00 00 00 4c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | romParent,...L.................. |
| 13cc0 | 20 20 20 20 43 57 4f 76 65 72 72 69 64 65 52 65 64 69 72 65 63 74 20 7c 20 43 57 42 61 63 6b 50 | ....CWOverrideRedirect.|.CWBackP |
| 13ce0 | 69 78 65 6c 20 7c 20 43 57 45 76 65 6e 74 4d 61 73 6b 2c 20 26 73 77 61 29 3b 00 00 00 13 20 20 | ixel.|.CWEventMask,.&swa);...... |
| 13d00 | 69 66 20 28 62 6f 72 64 65 72 5f 77 69 64 74 68 29 00 00 00 3f 20 20 20 20 58 53 65 74 57 69 6e | if.(border_width)...?....XSetWin |
| 13d20 | 64 6f 77 42 6f 72 64 65 72 28 64 70 79 2c 20 77 69 6e 2c 20 73 63 68 65 6d 65 5b 53 63 68 65 6d | dowBorder(dpy,.win,.scheme[Schem |
| 13d40 | 65 53 65 6c 5d 5b 43 6f 6c 42 67 5d 2e 70 69 78 65 6c 29 3b 00 00 00 1f 20 20 58 53 65 74 43 6c | eSel][ColBg].pixel);......XSetCl |
| 13d60 | 61 73 73 48 69 6e 74 28 64 70 79 2c 20 77 69 6e 2c 20 26 63 68 29 3b 00 00 00 00 00 00 00 15 20 | assHint(dpy,.win,.&ch);......... |
| 13d80 | 20 2f 2a 20 69 6e 70 75 74 20 6d 65 74 68 6f 64 73 20 2a 2f 00 00 00 35 20 20 69 66 20 28 28 78 | ./*.input.methods.*/...5..if.((x |
| 13da0 | 69 6d 20 3d 20 58 4f 70 65 6e 49 4d 28 64 70 79 2c 20 4e 55 4c 4c 2c 20 4e 55 4c 4c 2c 20 4e 55 | im.=.XOpenIM(dpy,.NULL,.NULL,.NU |
| 13dc0 | 4c 4c 29 29 20 3d 3d 20 4e 55 4c 4c 29 00 00 00 37 20 20 20 20 64 69 65 28 22 58 4f 70 65 6e 49 | LL)).==.NULL)...7....die("XOpenI |
| 13de0 | 4d 20 66 61 69 6c 65 64 3a 20 63 6f 75 6c 64 20 6e 6f 74 20 6f 70 65 6e 20 69 6e 70 75 74 20 64 | M.failed:.could.not.open.input.d |
| 13e00 | 65 76 69 63 65 22 29 3b 00 00 00 00 00 00 00 4a 20 20 78 69 63 20 3d 20 58 43 72 65 61 74 65 49 | evice");.......J..xic.=.XCreateI |
| 13e20 | 43 28 78 69 6d 2c 20 58 4e 49 6e 70 75 74 53 74 79 6c 65 2c 20 58 49 4d 50 72 65 65 64 69 74 4e | C(xim,.XNInputStyle,.XIMPreeditN |
| 13e40 | 6f 74 68 69 6e 67 20 7c 20 58 49 4d 53 74 61 74 75 73 4e 6f 74 68 69 6e 67 2c 00 00 00 41 20 20 | othing.|.XIMStatusNothing,...A.. |
| 13e60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 58 4e 43 6c 69 65 6e 74 57 69 6e 64 6f 77 2c 20 | ................XNClientWindow,. |
| 13e80 | 77 69 6e 2c 20 58 4e 46 6f 63 75 73 57 69 6e 64 6f 77 2c 20 77 69 6e 2c 20 4e 55 4c 4c 29 3b 00 | win,.XNFocusWindow,.win,.NULL);. |
| 13ea0 | 00 00 00 00 00 00 17 20 20 58 4d 61 70 52 61 69 73 65 64 28 64 70 79 2c 20 77 69 6e 29 3b 00 00 | .........XMapRaised(dpy,.win);.. |
| 13ec0 | 00 0e 20 20 69 66 20 28 65 6d 62 65 64 29 20 7b 00 00 00 2f 20 20 20 20 58 52 65 70 61 72 65 6e | ....if.(embed).{.../....XReparen |
| 13ee0 | 74 57 69 6e 64 6f 77 28 64 70 79 2c 20 77 69 6e 2c 20 70 61 72 65 6e 74 77 69 6e 2c 20 78 2c 20 | tWindow(dpy,.win,.parentwin,.x,. |
| 13f00 | 79 29 3b 00 00 00 4b 20 20 20 20 58 53 65 6c 65 63 74 49 6e 70 75 74 28 64 70 79 2c 20 70 61 72 | y);...K....XSelectInput(dpy,.par |
| 13f20 | 65 6e 74 77 69 6e 2c 20 46 6f 63 75 73 43 68 61 6e 67 65 4d 61 73 6b 20 7c 20 53 75 62 73 74 72 | entwin,.FocusChangeMask.|.Substr |
| 13f40 | 75 63 74 75 72 65 4e 6f 74 69 66 79 4d 61 73 6b 29 3b 00 00 00 40 20 20 20 20 69 66 20 28 58 51 | uctureNotifyMask);...@....if.(XQ |
| 13f60 | 75 65 72 79 54 72 65 65 28 64 70 79 2c 20 70 61 72 65 6e 74 77 69 6e 2c 20 26 64 77 2c 20 26 77 | ueryTree(dpy,.parentwin,.&dw,.&w |
| 13f80 | 2c 20 26 64 77 73 2c 20 26 64 75 29 20 26 26 20 64 77 73 29 20 7b 00 00 00 2f 20 20 20 20 20 20 | ,.&dws,.&du).&&.dws).{.../...... |
| 13fa0 | 66 6f 72 20 28 69 20 3d 20 30 3b 20 69 20 3c 20 64 75 20 26 26 20 64 77 73 5b 69 5d 20 21 3d 20 | for.(i.=.0;.i.<.du.&&.dws[i].!=. |
| 13fc0 | 77 69 6e 3b 20 2b 2b 69 29 00 00 00 33 20 20 20 20 20 20 20 20 58 53 65 6c 65 63 74 49 6e 70 75 | win;.++i)...3........XSelectInpu |
| 13fe0 | 74 28 64 70 79 2c 20 64 77 73 5b 69 5d 2c 20 46 6f 63 75 73 43 68 61 6e 67 65 4d 61 73 6b 29 3b | t(dpy,.dws[i],.FocusChangeMask); |
| 14000 | 00 00 00 11 20 20 20 20 20 20 58 46 72 65 65 28 64 77 73 29 3b 00 00 00 05 20 20 20 20 7d 00 00 | ..........XFree(dws);........}.. |
| 14020 | 00 10 20 20 20 20 67 72 61 62 66 6f 63 75 73 28 29 3b 00 00 00 03 20 20 7d 00 00 00 1a 20 20 64 | ......grabfocus();......}......d |
| 14040 | 72 77 5f 72 65 73 69 7a 65 28 64 72 77 2c 20 6d 77 2c 20 6d 68 29 3b 00 00 00 0d 20 20 64 72 61 | rw_resize(drw,.mw,.mh);......dra |
| 14060 | 77 6d 65 6e 75 28 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 19 73 74 61 74 69 63 20 76 6f 69 64 | wmenu();....}........static.void |
| 14080 | 20 75 73 61 67 65 28 76 6f 69 64 29 20 7b 00 00 00 4d 20 20 64 69 65 28 22 75 73 61 67 65 3a 20 | .usage(void).{...M..die("usage:. |
| 140a0 | 64 6d 65 6e 75 20 5b 2d 62 66 69 76 5d 20 5b 2d 6c 20 6c 69 6e 65 73 5d 20 5b 2d 70 20 70 72 6f | dmenu.[-bfiv].[-l.lines].[-p.pro |
| 140c0 | 6d 70 74 5d 20 5b 2d 66 6e 20 66 6f 6e 74 5d 20 5b 2d 6d 20 6d 6f 6e 69 74 6f 72 5d 5c 6e 22 00 | mpt].[-fn.font].[-m.monitor]\n". |
| 140e0 | 00 00 3b 20 20 20 20 20 20 22 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 2d 78 20 78 6f 66 66 73 | ..;......".............[-x.xoffs |
| 14100 | 65 74 5d 20 5b 2d 79 20 79 6f 66 66 73 65 74 5d 20 5b 2d 7a 20 77 69 64 74 68 5d 5c 6e 22 00 00 | et].[-y.yoffset].[-z.width]\n".. |
| 14120 | 00 49 20 20 20 20 20 20 22 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 2d 6e 62 20 63 6f 6c 6f 72 | .I......".............[-nb.color |
| 14140 | 5d 20 5b 2d 6e 66 20 63 6f 6c 6f 72 5d 20 5b 2d 73 62 20 63 6f 6c 6f 72 5d 20 5b 2d 73 66 20 63 | ].[-nf.color].[-sb.color].[-sf.c |
| 14160 | 6f 6c 6f 72 5d 20 5b 2d 77 20 22 00 00 00 13 20 20 20 20 20 20 22 77 69 6e 64 6f 77 69 64 5d 22 | olor].[-w.".........."windowid]" |
| 14180 | 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 22 69 6e 74 20 6d 61 69 6e 28 69 6e 74 20 61 72 67 63 | );....}......."int.main(int.argc |
| 141a0 | 2c 20 63 68 61 72 20 2a 61 72 67 76 5b 5d 29 20 7b 00 00 00 17 20 20 58 57 69 6e 64 6f 77 41 74 | ,.char.*argv[]).{......XWindowAt |
| 141c0 | 74 72 69 62 75 74 65 73 20 77 61 3b 00 00 00 12 20 20 69 6e 74 20 69 2c 20 66 61 73 74 20 3d 20 | tributes.wa;......int.i,.fast.=. |
| 141e0 | 30 3b 00 00 00 00 00 00 00 1c 20 20 66 6f 72 20 28 69 20 3d 20 31 3b 20 69 20 3c 20 61 72 67 63 | 0;..........for.(i.=.1;.i.<.argc |
| 14200 | 3b 20 69 2b 2b 29 00 00 00 29 20 20 20 20 2f 2a 20 74 68 65 73 65 20 6f 70 74 69 6f 6e 73 20 74 | ;.i++)...)..../*.these.options.t |
| 14220 | 61 6b 65 20 6e 6f 20 61 72 67 75 6d 65 6e 74 73 20 2a 2f 00 00 00 42 20 20 20 20 69 66 20 28 21 | ake.no.arguments.*/...B....if.(! |
| 14240 | 73 74 72 63 6d 70 28 61 72 67 76 5b 69 5d 2c 20 22 2d 76 22 29 29 20 7b 20 2f 2a 20 70 72 69 6e | strcmp(argv[i],."-v")).{./*.prin |
| 14260 | 74 73 20 76 65 72 73 69 6f 6e 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 2a 2f 00 00 00 1d 20 20 20 | ts.version.information.*/....... |
| 14280 | 20 20 20 70 75 74 73 28 22 64 6d 65 6e 75 2d 22 20 56 45 52 53 49 4f 4e 29 3b 00 00 00 0e 20 20 | ...puts("dmenu-".VERSION);...... |
| 142a0 | 20 20 20 20 65 78 69 74 28 30 29 3b 00 00 00 50 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 21 | ....exit(0);...P....}.else.if.(! |
| 142c0 | 73 74 72 63 6d 70 28 61 72 67 76 5b 69 5d 2c 20 22 2d 62 22 29 29 20 2f 2a 20 61 70 70 65 61 72 | strcmp(argv[i],."-b"))./*.appear |
| 142e0 | 73 20 61 74 20 74 68 65 20 62 6f 74 74 6f 6d 20 6f 66 20 74 68 65 20 73 63 72 65 65 6e 20 2a 2f | s.at.the.bottom.of.the.screen.*/ |
| 14300 | 00 00 00 11 20 20 20 20 20 20 74 6f 70 62 61 72 20 3d 20 30 3b 00 00 00 4e 20 20 20 20 65 6c 73 | ..........topbar.=.0;...N....els |
| 14320 | 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 61 72 67 76 5b 69 5d 2c 20 22 2d 66 22 29 29 20 2f 2a | e.if.(!strcmp(argv[i],."-f"))./* |
| 14340 | 20 67 72 61 62 73 20 6b 65 79 62 6f 61 72 64 20 62 65 66 6f 72 65 20 72 65 61 64 69 6e 67 20 73 | .grabs.keyboard.before.reading.s |
| 14360 | 74 64 69 6e 20 2a 2f 00 00 00 0f 20 20 20 20 20 20 66 61 73 74 20 3d 20 31 3b 00 00 00 4b 20 20 | tdin.*/..........fast.=.1;...K.. |
| 14380 | 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 61 72 67 76 5b 69 5d 2c 20 22 2d 69 22 | ..else.if.(!strcmp(argv[i],."-i" |
| 143a0 | 29 29 20 7b 20 2f 2a 20 63 61 73 65 2d 69 6e 73 65 6e 73 69 74 69 76 65 20 69 74 65 6d 20 6d 61 | )).{./*.case-insensitive.item.ma |
| 143c0 | 74 63 68 69 6e 67 20 2a 2f 00 00 00 1d 20 20 20 20 20 20 66 73 74 72 6e 63 6d 70 20 3d 20 73 74 | tching.*/..........fstrncmp.=.st |
| 143e0 | 72 6e 63 61 73 65 63 6d 70 3b 00 00 00 19 20 20 20 20 20 20 66 73 74 72 73 74 72 20 3d 20 63 69 | rncasecmp;..........fstrstr.=.ci |
| 14400 | 73 74 72 73 74 72 3b 00 00 00 1d 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 69 20 2b 20 31 20 | strstr;........}.else.if.(i.+.1. |
| 14420 | 3d 3d 20 61 72 67 63 29 00 00 00 0e 20 20 20 20 20 20 75 73 61 67 65 28 29 3b 00 00 00 29 20 20 | ==.argc)..........usage();...).. |
| 14440 | 20 20 2f 2a 20 74 68 65 73 65 20 6f 70 74 69 6f 6e 73 20 74 61 6b 65 20 6f 6e 65 20 61 72 67 75 | ../*.these.options.take.one.argu |
| 14460 | 6d 65 6e 74 20 2a 2f 00 00 00 4b 20 20 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 | ment.*/...K....else.if.(!strcmp( |
| 14480 | 61 72 67 76 5b 69 5d 2c 20 22 2d 6c 22 29 29 20 2f 2a 20 6e 75 6d 62 65 72 20 6f 66 20 6c 69 6e | argv[i],."-l"))./*.number.of.lin |
| 144a0 | 65 73 20 69 6e 20 76 65 72 74 69 63 61 6c 20 6c 69 73 74 20 2a 2f 00 00 00 1e 20 20 20 20 20 20 | es.in.vertical.list.*/.......... |
| 144c0 | 6c 69 6e 65 73 20 3d 20 61 74 6f 69 28 61 72 67 76 5b 2b 2b 69 5d 29 3b 00 00 00 3a 20 20 20 20 | lines.=.atoi(argv[++i]);...:.... |
| 144e0 | 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 61 72 67 76 5b 69 5d 2c 20 22 2d 78 22 29 29 | else.if.(!strcmp(argv[i],."-x")) |
| 14500 | 20 2f 2a 20 77 69 6e 64 6f 77 20 78 20 6f 66 66 73 65 74 20 2a 2f 00 00 00 1c 20 20 20 20 20 20 | ./*.window.x.offset.*/.......... |
| 14520 | 64 6d 78 20 3d 20 61 74 6f 69 28 61 72 67 76 5b 2b 2b 69 5d 29 3b 00 00 00 1d 20 20 20 20 65 6c | dmx.=.atoi(argv[++i]);........el |
| 14540 | 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 61 72 67 76 5b 69 5d 2c 00 00 00 48 20 20 20 20 20 | se.if.(!strcmp(argv[i],...H..... |
| 14560 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 79 22 29 29 20 2f 2a 20 77 69 6e 64 6f 77 | ................"-y"))./*.window |
| 14580 | 20 79 20 6f 66 66 73 65 74 20 28 66 72 6f 6d 20 62 6f 74 74 6f 6d 20 75 70 20 69 66 20 2d 62 29 | .y.offset.(from.bottom.up.if.-b) |
| 145a0 | 20 2a 2f 00 00 00 1c 20 20 20 20 20 20 64 6d 79 20 3d 20 61 74 6f 69 28 61 72 67 76 5b 2b 2b 69 | .*/..........dmy.=.atoi(argv[++i |
| 145c0 | 5d 29 3b 00 00 00 3f 20 20 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 61 72 67 76 | ]);...?....else.if.(!strcmp(argv |
| 145e0 | 5b 69 5d 2c 20 22 2d 7a 22 29 29 20 2f 2a 20 6d 61 6b 65 20 64 6d 65 6e 75 20 74 68 69 73 20 77 | [i],."-z"))./*.make.dmenu.this.w |
| 14600 | 69 64 65 20 2a 2f 00 00 00 1c 20 20 20 20 20 20 64 6d 77 20 3d 20 61 74 6f 69 28 61 72 67 76 5b | ide.*/..........dmw.=.atoi(argv[ |
| 14620 | 2b 2b 69 5d 29 3b 00 00 00 24 20 20 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 61 | ++i]);...$....else.if.(!strcmp(a |
| 14640 | 72 67 76 5b 69 5d 2c 20 22 2d 6d 22 29 29 00 00 00 1c 20 20 20 20 20 20 6d 6f 6e 20 3d 20 61 74 | rgv[i],."-m"))..........mon.=.at |
| 14660 | 6f 69 28 61 72 67 76 5b 2b 2b 69 5d 29 3b 00 00 00 4d 20 20 20 20 65 6c 73 65 20 69 66 20 28 21 | oi(argv[++i]);...M....else.if.(! |
| 14680 | 73 74 72 63 6d 70 28 61 72 67 76 5b 69 5d 2c 20 22 2d 70 22 29 29 20 2f 2a 20 61 64 64 73 20 70 | strcmp(argv[i],."-p"))./*.adds.p |
| 146a0 | 72 6f 6d 70 74 20 74 6f 20 6c 65 66 74 20 6f 66 20 69 6e 70 75 74 20 66 69 65 6c 64 20 2a 2f 00 | rompt.to.left.of.input.field.*/. |
| 146c0 | 00 00 19 20 20 20 20 20 20 70 72 6f 6d 70 74 20 3d 20 61 72 67 76 5b 2b 2b 69 5d 3b 00 00 00 3c | .........prompt.=.argv[++i];...< |
| 146e0 | 20 20 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 61 72 67 76 5b 69 5d 2c 20 22 2d | ....else.if.(!strcmp(argv[i],."- |
| 14700 | 66 6e 22 29 29 20 2f 2a 20 66 6f 6e 74 20 6f 72 20 66 6f 6e 74 20 73 65 74 20 2a 2f 00 00 00 1b | fn"))./*.font.or.font.set.*/.... |
| 14720 | 20 20 20 20 20 20 66 6f 6e 74 73 5b 30 5d 20 3d 20 61 72 67 76 5b 2b 2b 69 5d 3b 00 00 00 43 20 | ......fonts[0].=.argv[++i];...C. |
| 14740 | 20 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 61 72 67 76 5b 69 5d 2c 20 22 2d 6e | ...else.if.(!strcmp(argv[i],."-n |
| 14760 | 62 22 29 29 20 2f 2a 20 6e 6f 72 6d 61 6c 20 62 61 63 6b 67 72 6f 75 6e 64 20 63 6f 6c 6f 72 20 | b"))./*.normal.background.color. |
| 14780 | 2a 2f 00 00 00 2c 20 20 20 20 20 20 63 6f 6c 6f 72 73 5b 53 63 68 65 6d 65 4e 6f 72 6d 5d 5b 43 | */...,......colors[SchemeNorm][C |
| 147a0 | 6f 6c 42 67 5d 20 3d 20 61 72 67 76 5b 2b 2b 69 5d 3b 00 00 00 43 20 20 20 20 65 6c 73 65 20 69 | olBg].=.argv[++i];...C....else.i |
| 147c0 | 66 20 28 21 73 74 72 63 6d 70 28 61 72 67 76 5b 69 5d 2c 20 22 2d 6e 66 22 29 29 20 2f 2a 20 6e | f.(!strcmp(argv[i],."-nf"))./*.n |
| 147e0 | 6f 72 6d 61 6c 20 66 6f 72 65 67 72 6f 75 6e 64 20 63 6f 6c 6f 72 20 2a 2f 00 00 00 2c 20 20 20 | ormal.foreground.color.*/...,... |
| 14800 | 20 20 20 63 6f 6c 6f 72 73 5b 53 63 68 65 6d 65 4e 6f 72 6d 5d 5b 43 6f 6c 46 67 5d 20 3d 20 61 | ...colors[SchemeNorm][ColFg].=.a |
| 14820 | 72 67 76 5b 2b 2b 69 5d 3b 00 00 00 45 20 20 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d | rgv[++i];...E....else.if.(!strcm |
| 14840 | 70 28 61 72 67 76 5b 69 5d 2c 20 22 2d 73 62 22 29 29 20 2f 2a 20 73 65 6c 65 63 74 65 64 20 62 | p(argv[i],."-sb"))./*.selected.b |
| 14860 | 61 63 6b 67 72 6f 75 6e 64 20 63 6f 6c 6f 72 20 2a 2f 00 00 00 2b 20 20 20 20 20 20 63 6f 6c 6f | ackground.color.*/...+......colo |
| 14880 | 72 73 5b 53 63 68 65 6d 65 53 65 6c 5d 5b 43 6f 6c 42 67 5d 20 3d 20 61 72 67 76 5b 2b 2b 69 5d | rs[SchemeSel][ColBg].=.argv[++i] |
| 148a0 | 3b 00 00 00 45 20 20 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 61 72 67 76 5b 69 | ;...E....else.if.(!strcmp(argv[i |
| 148c0 | 5d 2c 20 22 2d 73 66 22 29 29 20 2f 2a 20 73 65 6c 65 63 74 65 64 20 66 6f 72 65 67 72 6f 75 6e | ],."-sf"))./*.selected.foregroun |
| 148e0 | 64 20 63 6f 6c 6f 72 20 2a 2f 00 00 00 2b 20 20 20 20 20 20 63 6f 6c 6f 72 73 5b 53 63 68 65 6d | d.color.*/...+......colors[Schem |
| 14900 | 65 53 65 6c 5d 5b 43 6f 6c 46 67 5d 20 3d 20 61 72 67 76 5b 2b 2b 69 5d 3b 00 00 00 3e 20 20 20 | eSel][ColFg].=.argv[++i];...>... |
| 14920 | 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 61 72 67 76 5b 69 5d 2c 20 22 2d 77 22 29 | .else.if.(!strcmp(argv[i],."-w") |
| 14940 | 29 20 2f 2a 20 65 6d 62 65 64 64 69 6e 67 20 77 69 6e 64 6f 77 20 69 64 20 2a 2f 00 00 00 18 20 | )./*.embedding.window.id.*/..... |
| 14960 | 20 20 20 20 20 65 6d 62 65 64 20 3d 20 61 72 67 76 5b 2b 2b 69 5d 3b 00 00 00 25 20 20 20 20 65 | .....embed.=.argv[++i];...%....e |
| 14980 | 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 61 72 67 76 5b 69 5d 2c 20 22 2d 62 77 22 29 29 | lse.if.(!strcmp(argv[i],."-bw")) |
| 149a0 | 00 00 00 38 20 20 20 20 20 20 62 6f 72 64 65 72 5f 77 69 64 74 68 20 3d 20 61 74 6f 69 28 61 72 | ...8......border_width.=.atoi(ar |
| 149c0 | 67 76 5b 2b 2b 69 5d 29 3b 20 2f 2a 20 62 6f 72 64 65 72 20 77 69 64 74 68 20 2a 2f 00 00 00 08 | gv[++i]);./*.border.width.*/.... |
| 149e0 | 20 20 20 20 65 6c 73 65 00 00 00 0e 20 20 20 20 20 20 75 73 61 67 65 28 29 3b 00 00 00 00 00 00 | ....else..........usage();...... |
| 14a00 | 00 35 20 20 69 66 20 28 21 73 65 74 6c 6f 63 61 6c 65 28 4c 43 5f 43 54 59 50 45 2c 20 22 22 29 | .5..if.(!setlocale(LC_CTYPE,."") |
| 14a20 | 20 7c 7c 20 21 58 53 75 70 70 6f 72 74 73 4c 6f 63 61 6c 65 28 29 29 00 00 00 32 20 20 20 20 66 | .||.!XSupportsLocale())...2....f |
| 14a40 | 70 75 74 73 28 22 77 61 72 6e 69 6e 67 3a 20 6e 6f 20 6c 6f 63 61 6c 65 20 73 75 70 70 6f 72 74 | puts("warning:.no.locale.support |
| 14a60 | 5c 6e 22 2c 20 73 74 64 65 72 72 29 3b 00 00 00 22 20 20 69 66 20 28 21 28 64 70 79 20 3d 20 58 | \n",.stderr);..."..if.(!(dpy.=.X |
| 14a80 | 4f 70 65 6e 44 69 73 70 6c 61 79 28 4e 55 4c 4c 29 29 29 00 00 00 1f 20 20 20 20 64 69 65 28 22 | OpenDisplay(NULL)))........die(" |
| 14aa0 | 63 61 6e 6e 6f 74 20 6f 70 65 6e 20 64 69 73 70 6c 61 79 22 29 3b 00 00 00 1e 20 20 73 63 72 65 | cannot.open.display");......scre |
| 14ac0 | 65 6e 20 3d 20 44 65 66 61 75 6c 74 53 63 72 65 65 6e 28 64 70 79 29 3b 00 00 00 21 20 20 72 6f | en.=.DefaultScreen(dpy);...!..ro |
| 14ae0 | 6f 74 20 3d 20 52 6f 6f 74 57 69 6e 64 6f 77 28 64 70 79 2c 20 73 63 72 65 65 6e 29 3b 00 00 00 | ot.=.RootWindow(dpy,.screen);... |
| 14b00 | 36 20 20 69 66 20 28 21 65 6d 62 65 64 20 7c 7c 20 21 28 70 61 72 65 6e 74 77 69 6e 20 3d 20 73 | 6..if.(!embed.||.!(parentwin.=.s |
| 14b20 | 74 72 74 6f 6c 28 65 6d 62 65 64 2c 20 4e 55 4c 4c 2c 20 30 29 29 29 00 00 00 15 20 20 20 20 70 | trtol(embed,.NULL,.0)))........p |
| 14b40 | 61 72 65 6e 74 77 69 6e 20 3d 20 72 6f 6f 74 3b 00 00 00 31 20 20 69 66 20 28 21 58 47 65 74 57 | arentwin.=.root;...1..if.(!XGetW |
| 14b60 | 69 6e 64 6f 77 41 74 74 72 69 62 75 74 65 73 28 64 70 79 2c 20 70 61 72 65 6e 74 77 69 6e 2c 20 | indowAttributes(dpy,.parentwin,. |
| 14b80 | 26 77 61 29 29 00 00 00 47 20 20 20 20 64 69 65 28 22 63 6f 75 6c 64 20 6e 6f 74 20 67 65 74 20 | &wa))...G....die("could.not.get. |
| 14ba0 | 65 6d 62 65 64 64 69 6e 67 20 77 69 6e 64 6f 77 20 61 74 74 72 69 62 75 74 65 73 3a 20 30 78 25 | embedding.window.attributes:.0x% |
| 14bc0 | 6c 78 22 2c 20 70 61 72 65 6e 74 77 69 6e 29 3b 00 00 00 3b 20 20 64 72 77 20 3d 20 64 72 77 5f | lx",.parentwin);...;..drw.=.drw_ |
| 14be0 | 63 72 65 61 74 65 28 64 70 79 2c 20 73 63 72 65 65 6e 2c 20 72 6f 6f 74 2c 20 77 61 2e 77 69 64 | create(dpy,.screen,.root,.wa.wid |
| 14c00 | 74 68 2c 20 77 61 2e 68 65 69 67 68 74 29 3b 00 00 00 35 20 20 69 66 20 28 21 64 72 77 5f 66 6f | th,.wa.height);...5..if.(!drw_fo |
| 14c20 | 6e 74 73 65 74 5f 63 72 65 61 74 65 28 64 72 77 2c 20 66 6f 6e 74 73 2c 20 4c 45 4e 47 54 48 28 | ntset_create(drw,.fonts,.LENGTH( |
| 14c40 | 66 6f 6e 74 73 29 29 29 00 00 00 25 20 20 20 20 64 69 65 28 22 6e 6f 20 66 6f 6e 74 73 20 63 6f | fonts)))...%....die("no.fonts.co |
| 14c60 | 75 6c 64 20 62 65 20 6c 6f 61 64 65 64 2e 22 29 3b 00 00 00 26 20 20 6c 72 70 61 64 20 3d 20 64 | uld.be.loaded.");...&..lrpad.=.d |
| 14c80 | 72 77 2d 3e 66 6f 6e 74 73 2d 3e 68 20 2b 20 68 6f 72 69 7a 70 61 64 62 61 72 3b 00 00 00 00 00 | rw->fonts->h.+.horizpadbar;..... |
| 14ca0 | 00 00 12 23 69 66 64 65 66 20 5f 5f 4f 70 65 6e 42 53 44 5f 5f 00 00 00 28 20 20 69 66 20 28 70 | ...#ifdef.__OpenBSD__...(..if.(p |
| 14cc0 | 6c 65 64 67 65 28 22 73 74 64 69 6f 20 72 70 61 74 68 22 2c 20 4e 55 4c 4c 29 20 3d 3d 20 2d 31 | ledge("stdio.rpath",.NULL).==.-1 |
| 14ce0 | 29 00 00 00 12 20 20 20 20 64 69 65 28 22 70 6c 65 64 67 65 22 29 3b 00 00 00 06 23 65 6e 64 69 | )........die("pledge");....#endi |
| 14d00 | 66 00 00 00 00 00 00 00 1b 20 20 69 66 20 28 66 61 73 74 20 26 26 20 21 69 73 61 74 74 79 28 30 | f..........if.(fast.&&.!isatty(0 |
| 14d20 | 29 29 20 7b 00 00 00 13 20 20 20 20 67 72 61 62 6b 65 79 62 6f 61 72 64 28 29 3b 00 00 00 10 20 | )).{........grabkeyboard();..... |
| 14d40 | 20 20 20 72 65 61 64 73 74 64 69 6e 28 29 3b 00 00 00 0a 20 20 7d 20 65 6c 73 65 20 7b 00 00 00 | ...readstdin();......}.else.{... |
| 14d60 | 10 20 20 20 20 72 65 61 64 73 74 64 69 6e 28 29 3b 00 00 00 13 20 20 20 20 67 72 61 62 6b 65 79 | .....readstdin();........grabkey |
| 14d80 | 62 6f 61 72 64 28 29 3b 00 00 00 03 20 20 7d 00 00 00 0a 20 20 73 65 74 75 70 28 29 3b 00 00 00 | board();......}......setup();... |
| 14da0 | 08 20 20 72 75 6e 28 29 3b 00 00 00 00 00 00 00 1d 20 20 72 65 74 75 72 6e 20 31 3b 20 2f 2a 20 | ...run();..........return.1;./*. |
| 14dc0 | 75 6e 72 65 61 63 68 61 62 6c 65 20 2a 2f 35 81 f5 18 00 00 00 00 0a 00 00 00 0f 00 00 00 94 03 | unreachable.*/5................. |
| 14de0 | 00 00 01 00 00 00 96 03 00 00 02 00 00 00 e7 00 00 00 00 00 00 00 35 58 00 00 00 00 00 00 b2 5e | ......................5X.......^ |
| 14e00 | 00 00 00 00 00 00 35 81 e7 aa | ......5... |