| ofs | hex dump | ascii |
|---|
| 0000 | 56 69 6d 9f 55 6e 44 6f e5 00 03 08 2f 40 10 9b 2e 78 24 46 cd 07 24 2e 83 65 a4 81 ef 2f bb a0 | Vim.UnDo..../@...x$F..$..e.../.. |
| 0020 | f6 87 ad 81 c2 d7 d9 c1 06 a1 11 00 00 06 94 00 00 00 04 65 6c 73 65 00 00 06 7a 00 00 00 00 00 | ...................else...z..... |
| 0040 | 00 00 01 00 00 00 34 00 00 00 00 00 00 00 34 00 00 00 34 00 00 00 34 00 00 00 00 69 9f cd 0f 04 | ......4.......4...4...4....i.... |
| 0060 | 01 00 00 00 20 00 5f d0 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 | ......_......................... |
| 0080 | 00 00 00 00 00 00 00 00 ff ff ff ff 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 00a0 | 00 00 00 00 00 00 00 00 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 00 00 00 00 00 | ................................ |
| 01e0 | 00 00 00 00 00 00 00 00 00 00 69 9f c6 9a 04 01 00 00 00 00 00 f5 18 00 00 02 da 00 00 00 00 00 | ..........i..................... |
| 0200 | 00 00 00 00 00 00 01 00 00 00 01 7d f5 18 00 00 02 db 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 | ...........}.................... |
| 0220 | 00 00 02 d7 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 30 20 20 20 20 69 66 20 28 66 64 73 5b | ...................0....if.(fds[ |
| 0240 | 30 5d 2e 72 65 76 65 6e 74 73 26 50 4f 4c 4c 49 4e 29 20 69 66 28 77 6c 5f 64 69 73 70 6c 61 79 | 0].revents&POLLIN).if(wl_display |
| 0260 | 5f 64 69 73 f5 18 00 00 02 d8 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 02 ca 00 00 00 00 | _dis............................ |
| 0280 | 00 00 00 00 00 00 00 01 00 00 00 17 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 74 | ..............xdg_toplevel_set_t |
| 02a0 | 69 74 6c f5 18 00 00 02 cb 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 02 c4 00 00 00 00 00 | itl............................. |
| 02c0 | 00 00 00 00 00 00 01 00 00 00 00 f5 18 00 00 02 c5 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 | ................................ |
| 02e0 | 00 02 b4 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 31 20 20 69 66 20 28 61 2e 72 65 70 65 61 | ..................1..if.(a.repea |
| 0300 | 74 5f 66 64 3c 30 29 7b 70 65 72 72 6f 72 28 22 74 69 6d 65 72 66 64 5f 63 72 65 61 74 65 22 29 | t_fd<0){perror("timerfd_create") |
| 0320 | 3b 72 65 74 f5 18 00 00 02 b5 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 02 ae 00 00 00 00 | ;ret............................ |
| 0340 | 00 00 00 00 00 00 00 01 00 00 00 20 20 20 61 2e 6f 70 65 6e 5f 6d 65 6e 75 3d 4d 45 4e 55 5f 4e | ..............a.open_menu=MENU_N |
| 0360 | 4f 4e 45 3b 20 61 2e 68 6f 76 65 72 f5 18 00 00 02 af 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 | ONE;.a.hover.................... |
| 0380 | 00 00 02 a1 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 44 20 20 65 6c 73 65 20 69 66 20 28 21 | ...................D..else.if.(! |
| 03a0 | 73 74 72 63 6d 70 28 69 66 61 63 65 2c 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 29 20 20 20 20 | strcmp(iface,"xdg_wm_base")).... |
| 03c0 | 20 20 20 20 20 20 7b 20 61 2d 3e 77 6d 20 20 3d 77 6c 5f 72 65 67 69 73 f5 18 00 00 02 a2 00 00 | ......{.a->wm..=wl_regis........ |
| 03e0 | 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 02 9f 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 1b | ................................ |
| 0400 | 20 20 69 66 20 20 20 20 20 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 22 77 f5 18 00 00 02 | ..if......(!strcmp(iface,"w..... |
| 0420 | a0 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 02 95 00 00 00 00 00 00 00 00 00 00 00 01 00 | ................................ |
| 0440 | 00 00 17 20 20 20 20 61 2d 3e 70 6f 69 6e 74 65 72 3d 77 6c 5f 73 65 61 74 5f f5 18 00 00 02 96 | .......a->pointer=wl_seat_...... |
| 0460 | 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 02 8a 00 00 00 00 00 00 00 00 00 00 00 01 00 00 | ................................ |
| 0480 | 00 3a 20 20 2e 6b 65 79 6d 61 70 3d 6b 62 5f 6b 65 79 6d 61 70 2c 2e 65 6e 74 65 72 3d 6b 62 5f | .:...keymap=kb_keymap,.enter=kb_ |
| 04a0 | 65 6e 74 65 72 2c 2e 6c 65 61 76 65 3d 6b 62 5f 6c 65 61 76 65 2c 2e 6b 65 79 3d 6b f5 18 00 00 | enter,.leave=kb_leave,.key=k.... |
| 04c0 | 02 8b 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 02 81 00 00 00 00 00 00 00 00 00 00 00 01 | ................................ |
| 04e0 | 00 00 00 48 20 20 7d 20 65 6c 73 65 20 7b 20 73 74 72 75 63 74 20 69 74 69 6d 65 72 73 70 65 63 | ...H..}.else.{.struct.itimerspec |
| 0500 | 20 74 73 3d 7b 30 7d 3b 20 74 69 6d 65 72 66 64 5f 73 65 74 74 69 6d 65 28 61 2d 3e 72 65 70 65 | .ts={0};.timerfd_settime(a->repe |
| 0520 | 61 74 5f 66 64 2c 30 2c 26 74 73 2c f5 18 00 00 02 82 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 | at_fd,0,&ts,.................... |
| 0540 | 00 00 02 76 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 58 73 74 61 74 69 63 20 76 6f 69 64 20 | ...v...............Xstatic.void. |
| 0560 | 6b 62 5f 6b 65 79 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 | kb_key(void.*d,.struct.wl_keyboa |
| 0580 | 72 64 20 2a 6b 62 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 2c 20 75 69 6e 74 33 32 5f | rd.*kb,.uint32_t.serial,.uint32_ |
| 05a0 | 74 20 74 2c 20 75 69 6e 74 33 32 5f f5 18 00 00 02 77 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 | t.t,.uint32_.....w.............. |
| 05c0 | 00 00 02 73 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 0c 73 74 61 74 69 63 20 76 6f 69 64 20 | ...s................static.void. |
| 05e0 | f5 18 00 00 02 74 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 02 6a 00 00 00 00 00 00 00 00 | .....t.................j........ |
| 0600 | 00 00 00 01 00 00 00 2f 20 20 63 68 61 72 20 2a 73 3d 6d 6d 61 70 28 4e 55 4c 4c 2c 73 69 7a 65 | ......./..char.*s=mmap(NULL,size |
| 0620 | 2c 50 52 4f 54 5f 52 45 41 44 2c 4d 41 50 5f 50 52 49 56 41 54 45 2c f5 18 00 00 02 6b 00 00 00 | ,PROT_READ,MAP_PRIVATE,.....k... |
| 0640 | 00 00 00 00 00 00 00 00 00 f5 18 00 00 02 60 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 04 20 | ..............`................. |
| 0660 | 20 63 75 f5 18 00 00 02 61 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 02 4f 00 00 00 00 00 | .cu.....a.................O..... |
| 0680 | 00 00 00 00 00 00 01 00 00 00 1d 20 20 20 20 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 3d 4d 45 4e 55 | ...............a->open_menu=MENU |
| 06a0 | 5f 4e 4f 4e 45 3b 20 61 f5 18 00 00 02 50 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 02 43 | _NONE;.a.....P.................C |
| 06c0 | 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 4e 73 74 61 74 69 63 20 76 6f 69 64 20 70 74 72 5f | ...............Nstatic.void.ptr_ |
| 06e0 | 62 75 74 74 6f 6e 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 | button(void.*d,.struct.wl_pointe |
| 0700 | 72 20 2a 70 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 2c 20 75 69 6e 74 33 32 5f f5 18 | r.*p,.uint32_t.serial,.uint32_.. |
| 0720 | 00 00 02 44 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 02 39 00 00 00 00 00 00 00 00 00 00 | ...D.................9.......... |
| 0740 | 00 01 00 00 00 23 73 74 61 74 69 63 20 76 6f 69 64 20 70 74 72 5f 6c 65 61 76 65 28 76 6f 69 64 | .....#static.void.ptr_leave(void |
| 0760 | 20 2a 64 2c 20 73 74 72 75 f5 18 00 00 02 3a 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 02 | .*d,.stru.....:................. |
| 0780 | 31 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 42 73 74 61 74 69 63 20 76 6f 69 64 20 64 64 5f | 1...............Bstatic.void.dd_ |
| 07a0 | 6d 6f 74 69 6f 6e 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 64 | motion(void.*d,.struct.wl_data_d |
| 07c0 | 65 76 69 63 65 20 2a 64 64 2c 20 75 69 6e 74 33 32 5f 74 f5 18 00 00 02 32 00 00 00 00 00 00 00 | evice.*dd,.uint32_t.....2....... |
| 07e0 | 00 00 00 00 00 f5 18 00 00 02 2a 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 27 20 20 73 74 72 | ..........*...............'..str |
| 0800 | 75 63 74 20 61 70 70 20 2a 61 3d 64 3b 20 69 66 28 61 2d 3e 64 73 29 7b 77 6c 5f 64 61 74 61 5f | uct.app.*a=d;.if(a->ds){wl_data_ |
| 0820 | 73 6f f5 18 00 00 02 2b 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 02 26 00 00 00 00 00 00 | so.....+.................&...... |
| 0840 | 00 00 00 00 00 01 00 00 00 02 73 74 f5 18 00 00 02 27 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 | ..........st.....'.............. |
| 0860 | 00 00 02 17 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 16 73 74 61 74 69 63 20 76 6f 69 64 20 | ....................static.void. |
| 0880 | 78 73 5f 63 66 67 28 76 6f 69 f5 18 00 00 02 18 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 | xs_cfg(voi...................... |
| 08a0 | 02 11 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 05 73 74 61 74 69 f5 18 00 00 02 12 00 00 00 | ..................stati......... |
| 08c0 | 00 00 00 00 00 00 00 00 00 f5 18 00 00 02 05 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 03 20 | ................................ |
| 08e0 | 20 20 f5 18 00 00 02 06 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 f9 00 00 00 00 00 00 | ................................ |
| 0900 | 00 00 00 00 00 01 00 00 00 34 20 20 20 20 69 66 20 28 73 79 6d 3d 3d 58 4b 42 5f 4b 45 59 5f 45 | .........4....if.(sym==XKB_KEY_E |
| 0920 | 6e 64 29 20 20 7b 20 77 68 69 6c 65 28 63 75 72 73 6f 72 3c 74 6c 65 6e 20 26 26 74 65 78 f5 18 | nd)..{.while(cursor<tlen.&&tex.. |
| 0940 | 00 00 01 fa 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 f1 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0960 | 00 01 00 00 00 21 20 20 20 20 69 66 20 28 70 6c 61 69 6e 3d 3d 58 4b 42 5f 4b 45 59 5f 76 7c 7c | .....!....if.(plain==XKB_KEY_v|| |
| 0980 | 70 6c 61 69 6e 3d 3d f5 18 00 00 01 f2 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 ee 00 | plain==......................... |
| 09a0 | 00 00 00 00 00 00 00 00 00 00 01 00 00 00 22 20 20 20 20 69 66 20 28 70 6c 61 69 6e 3d 3d 58 4b | .............."....if.(plain==XK |
| 09c0 | 42 5f 4b 45 59 5f 61 7c 7c 70 6c 61 69 6e 3d 3d 58 f5 18 00 00 01 ef 00 00 00 00 00 00 00 00 00 | B_KEY_a||plain==X............... |
| 09e0 | 00 00 00 f5 18 00 00 01 e6 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 19 20 20 20 20 69 66 20 | .............................if. |
| 0a00 | 28 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 21 3d 4d 45 4e f5 18 00 00 01 e7 00 00 00 00 00 00 00 00 | (a->open_menu!=MEN.............. |
| 0a20 | 00 00 00 00 f5 18 00 00 01 e1 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 0c 20 20 78 6b 62 5f | ............................xkb_ |
| 0a40 | 6c 61 79 6f 75 74 f5 18 00 00 01 e2 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 d6 00 00 | layout.......................... |
| 0a60 | 00 00 00 00 00 00 00 00 00 01 00 00 00 28 20 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 5f 6f | .............(..wl_data_source_o |
| 0a80 | 66 66 65 72 28 61 2d 3e 64 73 2c 20 22 55 54 46 38 5f 53 54 52 49 f5 18 00 00 01 d7 00 00 00 00 | ffer(a->ds,."UTF8_STRI.......... |
| 0aa0 | 00 00 00 00 00 00 00 00 f5 18 00 00 01 cc 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 20 20 | ................................ |
| 0ac0 | f5 18 00 00 01 cd 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 bb 00 00 00 00 00 00 00 00 | ................................ |
| 0ae0 | 00 00 00 01 00 00 00 3b 73 74 61 74 69 63 20 69 6e 74 20 73 65 6c 5f 6c 65 6e 28 76 6f 69 64 29 | .......;static.int.sel_len(void) |
| 0b00 | 20 20 20 7b 20 72 65 74 75 72 6e 20 73 65 6c 5f 61 6e 63 68 6f 72 3c 63 75 72 73 6f 72 20 3f 20 | ...{.return.sel_anchor<cursor.?. |
| 0b20 | 63 75 72 f5 18 00 00 01 bc 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 b5 00 00 00 00 00 | cur............................. |
| 0b40 | 00 00 00 00 00 00 01 00 00 00 09 20 20 78 64 67 5f 74 6f 70 f5 18 00 00 01 b6 00 00 00 00 00 00 | .............xdg_top............ |
| 0b60 | 00 00 00 00 00 00 f5 18 00 00 01 a7 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 13 20 20 73 74 | ..............................st |
| 0b80 | 72 75 63 74 20 70 6f 70 75 70 20 2a 70 20 3d f5 18 00 00 01 a8 00 00 00 00 00 00 00 00 00 00 00 | ruct.popup.*p.=................. |
| 0ba0 | 00 f5 18 00 00 01 9d 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 47 20 20 69 66 20 28 70 2d 3e | ......................G..if.(p-> |
| 0bc0 | 62 75 66 29 20 20 20 20 7b 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 70 2d 3e 62 | buf)....{.wl_buffer_destroy(p->b |
| 0be0 | 75 66 29 3b 20 20 20 20 20 20 20 20 20 20 70 2d 3e 62 75 66 20 20 20 20 3d 20 4e 55 4c 4c f5 18 | uf);..........p->buf....=.NULL.. |
| 0c00 | 00 00 01 9e 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 93 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0c20 | 00 01 00 00 00 19 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 63 6b 5f 63 6f 6e 66 69 67 75 f5 | ........xdg_surface_ack_configu. |
| 0c40 | 18 00 00 01 94 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 7d 00 00 00 00 00 00 00 00 00 | ......................}......... |
| 0c60 | 00 00 01 00 00 00 00 f5 18 00 00 01 7e 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 65 00 | ............~.................e. |
| 0c80 | 00 00 00 00 00 00 00 00 00 00 01 00 00 00 1c 20 20 20 20 69 66 20 28 79 2b 63 65 6c 6c 5f 68 20 | ...................if.(y+cell_h. |
| 0ca0 | 3e 20 74 61 68 29 20 62 72 65 61 f5 18 00 00 01 66 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 | >.tah).brea.....f............... |
| 0cc0 | 00 01 5e 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 07 20 20 69 66 20 28 73 f5 18 00 00 01 5f | ..^..................if.(s....._ |
| 0ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 50 00 00 00 00 00 00 00 00 00 00 00 01 00 00 | .................P.............. |
| 0d00 | 00 02 20 20 f5 18 00 00 01 51 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 48 00 00 00 00 | .........Q.................H.... |
| 0d20 | 00 00 00 00 00 00 00 01 00 00 00 14 20 20 66 72 65 63 74 28 70 78 2c 70 77 2c 70 68 2c 20 64 78 | ..............frect(px,pw,ph,.dx |
| 0d40 | f5 18 00 00 01 49 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 3a 00 00 00 00 00 00 00 00 | .....I.................:........ |
| 0d60 | 00 00 00 01 00 00 00 1e 20 20 20 20 62 6f 6f 6c 20 68 6f 76 20 3d 20 61 2d 3e 6d 6f 75 73 65 5f | ............bool.hov.=.a->mouse_ |
| 0d80 | 79 3e 3d 62 79 20 f5 18 00 00 01 3b 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 27 00 00 | y>=by......;.................'.. |
| 0da0 | 00 00 00 00 00 00 00 00 00 01 00 00 00 01 20 f5 18 00 00 01 28 00 00 00 00 00 00 00 00 00 00 00 | ....................(........... |
| 0dc0 | 00 f5 18 00 00 01 17 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 20 f5 18 00 00 01 18 00 00 | ................................ |
| 0de0 | 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 07 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 23 | ...............................# |
| 0e00 | 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 68 20 3d 20 67 65 74 65 6e 76 28 22 48 4f 4d 45 | ....const.char.*h.=.getenv("HOME |
| 0e20 | 22 29 3b f5 18 00 00 01 08 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 f2 00 00 00 00 00 | ");............................. |
| 0e40 | 00 00 00 00 00 00 01 00 00 00 18 20 20 20 20 69 66 20 28 6d 79 20 3e 3d 20 69 79 20 26 26 20 6d | ...............if.(my.>=.iy.&&.m |
| 0e60 | 79 20 3c f5 18 00 00 00 f3 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 e3 00 00 00 00 00 | y.<............................. |
| 0e80 | 00 00 00 00 00 00 01 00 00 00 07 20 20 69 6e 74 20 6e f5 18 00 00 00 e4 00 00 00 00 00 00 00 00 | .............int.n.............. |
| 0ea0 | 00 00 00 00 f5 18 00 00 00 da 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 0c 20 20 69 6e 74 20 | ............................int. |
| 0ec0 | 6e 20 3d 20 28 6d f5 18 00 00 00 db 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 d1 00 00 | n.=.(m.......................... |
| 0ee0 | 00 00 00 00 00 00 00 00 00 01 00 00 00 19 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6c 62 6c 73 | ................const.char.*lbls |
| 0f00 | 5b 5d 20 3d 20 7b 22 f5 18 00 00 00 d2 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 be 00 | [].=.{"......................... |
| 0f20 | 00 00 00 00 00 00 00 00 00 00 01 00 00 00 19 73 74 61 74 69 63 20 76 6f 69 64 20 2a 6d 61 6b 65 | ...............static.void.*make |
| 0f40 | 5f 73 68 6d 28 73 74 72 f5 18 00 00 00 bf 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 b0 | _shm(str........................ |
| 0f60 | 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 03 20 20 66 f5 18 00 00 00 b1 00 00 00 00 00 00 00 | ..................f............. |
| 0f80 | 00 00 00 00 00 f5 18 00 00 00 9d 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 05 20 20 20 20 20 | ................................ |
| 0fa0 | f5 18 00 00 00 9e 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 80 00 00 00 00 00 00 00 00 | ................................ |
| 0fc0 | 00 00 00 01 00 00 00 02 20 20 f5 18 00 00 00 81 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 | ................................ |
| 0fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 f5 18 00 00 00 01 00 00 00 00 00 00 00 00 | ................................ |
| 1000 | 00 00 00 00 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 00 | ....5........................... |
| 1020 | 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0e 00 00 00 00 00 00 f5 18 00 00 | ................................ |
| 1040 | 00 00 80 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 1d 00 00 00 05 00 00 00 00 0e 00 00 00 00 | ................................ |
| 1060 | 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 f5 18 00 00 00 00 9d 00 00 00 05 00 00 00 | ................................ |
| 1080 | 00 00 00 00 00 00 00 00 13 00 00 00 03 00 00 00 00 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10a0 | 00 03 00 00 00 00 00 00 f5 18 00 00 00 00 b0 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 0e 00 | ................................ |
| 10c0 | 00 00 19 00 00 00 00 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 | ................................ |
| 10e0 | 00 00 00 00 be 00 00 00 19 00 00 00 00 00 00 00 00 00 00 00 13 00 00 00 19 00 00 00 00 17 00 00 | ................................ |
| 1100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 f5 18 00 00 00 00 d1 00 00 00 19 00 | ................................ |
| 1120 | 00 00 00 00 00 00 00 00 00 00 09 00 00 00 0c 00 00 00 00 1a 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1140 | 00 00 00 01 00 00 00 00 00 00 f5 18 00 00 00 00 da 00 00 00 0c 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1160 | 09 00 00 00 07 00 00 00 00 1b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 | ................................ |
| 1180 | f5 18 00 00 00 00 e3 00 00 00 07 00 00 00 00 00 00 00 00 00 00 00 0f 00 00 00 18 00 00 00 00 1c | ................................ |
| 11a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 f2 00 00 00 | ................................ |
| 11c0 | 18 00 00 00 00 00 00 00 00 00 00 00 15 00 00 00 23 00 00 00 00 1e 00 00 00 00 00 00 00 00 00 00 | ................#............... |
| 11e0 | 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 07 01 00 00 23 00 00 00 00 00 00 00 00 00 | ......................#......... |
| 1200 | 00 00 10 00 00 00 01 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 | ................................ |
| 1220 | 00 00 f5 18 00 00 00 00 17 01 00 00 01 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 01 00 00 00 | ................................ |
| 1240 | 00 22 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 27 01 | ."............................'. |
| 1260 | 00 00 01 00 00 00 00 00 00 00 00 00 00 00 13 00 00 00 1e 00 00 00 00 24 00 00 00 00 00 00 00 00 | .......................$........ |
| 1280 | 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 3a 01 00 00 1e 00 00 00 00 00 00 00 | ....................:........... |
| 12a0 | 00 00 00 00 0e 00 00 00 14 00 00 00 00 26 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 | .............&.................. |
| 12c0 | 00 00 00 00 f5 18 00 00 00 00 48 01 00 00 14 00 00 00 00 00 00 00 00 00 00 00 08 00 00 00 02 00 | ..........H..................... |
| 12e0 | 00 00 00 28 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 f5 18 00 00 00 00 | ...(............................ |
| 1300 | 50 01 00 00 02 00 00 00 00 00 00 00 00 00 00 00 0e 00 00 00 07 00 00 00 00 29 00 00 00 00 00 00 | P........................)...... |
| 1320 | 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 5e 01 00 00 07 00 00 00 00 00 | ......................^......... |
| 1340 | 00 00 00 00 00 00 07 00 00 00 1c 00 00 00 00 2b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 | ...............+................ |
| 1360 | 00 00 00 00 00 00 f5 18 00 00 00 00 65 01 00 00 1c 00 00 00 00 00 00 00 00 00 00 00 18 00 00 00 | ............e................... |
| 1380 | 00 00 00 00 00 2c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 f5 18 00 00 | .....,.......................... |
| 13a0 | 00 00 7d 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 16 00 00 00 19 00 00 00 00 2f 00 00 00 00 | ..}......................../.... |
| 13c0 | 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 f5 18 00 00 00 00 93 01 00 00 19 00 00 00 | ................................ |
| 13e0 | 00 00 00 00 00 00 00 00 0a 00 00 00 47 00 00 00 00 33 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ............G....3.............. |
| 1400 | 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 9d 01 00 00 47 00 00 00 00 00 00 00 00 00 00 00 0a 00 | ..................G............. |
| 1420 | 00 00 13 00 00 00 00 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 | .......5........................ |
| 1440 | 00 00 00 00 a7 01 00 00 13 00 00 00 00 00 00 00 00 00 00 00 0e 00 00 00 09 00 00 00 00 37 00 00 | .............................7.. |
| 1460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 b5 01 00 00 09 00 | ................................ |
| 1480 | 00 00 00 00 00 00 00 00 00 00 06 00 00 00 3b 00 00 00 00 39 00 00 00 00 00 00 00 00 00 00 00 00 | ..............;....9............ |
| 14a0 | 00 00 00 01 00 00 00 00 00 00 f5 18 00 00 00 00 bb 01 00 00 3b 00 00 00 00 00 00 00 00 00 00 00 | ....................;........... |
| 14c0 | 11 00 00 00 02 00 00 00 00 3a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 | .........:...................... |
| 14e0 | f5 18 00 00 00 00 cc 01 00 00 02 00 00 00 00 00 00 00 00 00 00 00 0a 00 00 00 28 00 00 00 00 3c | ..........................(....< |
| 1500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 d6 01 00 00 | ................................ |
| 1520 | 28 00 00 00 00 00 00 00 00 00 00 00 0b 00 00 00 0c 00 00 00 00 3e 00 00 00 00 00 00 00 00 00 00 | (....................>.......... |
| 1540 | 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 e1 01 00 00 0c 00 00 00 00 00 00 00 00 00 | ................................ |
| 1560 | 00 00 05 00 00 00 19 00 00 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 | ...........@.................... |
| 1580 | 00 00 f5 18 00 00 00 00 e6 01 00 00 19 00 00 00 00 00 00 00 00 00 00 00 08 00 00 00 22 00 00 00 | ............................"... |
| 15a0 | 00 41 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 ee 01 | .A.............................. |
| 15c0 | 00 00 22 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 21 00 00 00 00 43 00 00 00 00 00 00 00 00 | .."...............!....C........ |
| 15e0 | 00 00 00 00 00 00 00 01 00 00 00 00 00 00 f5 18 00 00 00 00 f1 01 00 00 21 00 00 00 00 00 00 00 | ........................!....... |
| 1600 | 00 00 00 00 08 00 00 00 34 00 00 00 00 44 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 | ........4....D.................. |
| 1620 | 00 00 00 00 f5 18 00 00 00 00 f9 01 00 00 34 00 00 00 00 00 00 00 00 00 00 00 0c 00 00 00 03 00 | ..............4................. |
| 1640 | 00 00 00 46 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 | ...F............................ |
| 1660 | 05 02 00 00 03 00 00 00 00 00 00 00 00 00 00 00 0c 00 00 00 05 00 00 00 00 48 00 00 00 00 00 00 | .........................H...... |
| 1680 | 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 11 02 00 00 05 00 00 00 00 00 | ................................ |
| 16a0 | 00 00 00 00 00 00 06 00 00 00 16 00 00 00 00 4a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 | ...............J................ |
| 16c0 | 00 00 00 00 00 00 f5 18 00 00 00 00 17 02 00 00 16 00 00 00 00 00 00 00 00 00 00 00 0f 00 00 00 | ................................ |
| 16e0 | 02 00 00 00 00 4b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 f5 18 00 00 | .....K.......................... |
| 1700 | 00 00 26 02 00 00 02 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 27 00 00 00 00 4e 00 00 00 00 | ..&...................'....N.... |
| 1720 | 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 f5 18 00 00 00 00 2a 02 00 00 27 00 00 00 | ........................*...'... |
| 1740 | 00 00 00 00 00 00 00 00 07 00 00 00 42 00 00 00 00 4f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ............B....O.............. |
| 1760 | 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 31 02 00 00 42 00 00 00 00 00 00 00 00 00 00 00 08 00 | ..............1...B............. |
| 1780 | 00 00 23 00 00 00 00 51 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 | ..#....Q........................ |
| 17a0 | 00 00 00 00 39 02 00 00 23 00 00 00 00 00 00 00 00 00 00 00 0a 00 00 00 4e 00 00 00 00 53 00 00 | ....9...#...............N....S.. |
| 17c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 43 02 00 00 4e 00 | ..........................C...N. |
| 17e0 | 00 00 00 00 00 00 00 00 00 00 0c 00 00 00 1d 00 00 00 00 55 00 00 00 00 00 00 00 00 00 00 00 00 | ...................U............ |
| 1800 | 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 4f 02 00 00 1d 00 00 00 00 00 00 00 00 00 00 00 | ................O............... |
| 1820 | 11 00 00 00 04 00 00 00 00 57 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 | .........W...................... |
| 1840 | f5 18 00 00 00 00 60 02 00 00 04 00 00 00 00 00 00 00 00 00 00 00 0a 00 00 00 2f 00 00 00 00 59 | ......`.................../....Y |
| 1860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 6a 02 00 00 | ............................j... |
| 1880 | 2f 00 00 00 00 00 00 00 00 00 00 00 09 00 00 00 0c 00 00 00 00 5b 00 00 00 00 00 00 00 00 00 00 | /....................[.......... |
| 18a0 | 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 73 02 00 00 0c 00 00 00 00 00 00 00 00 00 | ..................s............. |
| 18c0 | 00 00 03 00 00 00 58 00 00 00 00 5d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 | ......X....].................... |
| 18e0 | 00 00 f5 18 00 00 00 00 76 02 00 00 58 00 00 00 00 00 00 00 00 00 00 00 0b 00 00 00 48 00 00 00 | ........v...X...............H... |
| 1900 | 00 5e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 81 02 | .^.............................. |
| 1920 | 00 00 48 00 00 00 00 00 00 00 00 00 00 00 09 00 00 00 3a 00 00 00 00 60 00 00 00 00 00 00 00 00 | ..H...............:....`........ |
| 1940 | 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 8a 02 00 00 3a 00 00 00 00 00 00 00 | ........................:....... |
| 1960 | 00 00 00 00 0b 00 00 00 17 00 00 00 00 62 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 | .............b.................. |
| 1980 | 00 00 00 00 f5 18 00 00 00 00 95 02 00 00 17 00 00 00 00 00 00 00 00 00 00 00 0a 00 00 00 1b 00 | ................................ |
| 19a0 | 00 00 00 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 | ...d............................ |
| 19c0 | 9f 02 00 00 1b 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 44 00 00 00 00 66 00 00 00 00 00 00 | ....................D....f...... |
| 19e0 | 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 f5 18 00 00 00 00 a1 02 00 00 44 00 00 00 00 00 | ..........................D..... |
| 1a00 | 00 00 00 00 00 00 0d 00 00 00 20 00 00 00 00 67 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 | ...............g................ |
| 1a20 | 00 00 00 00 00 00 f5 18 00 00 00 00 ae 02 00 00 20 00 00 00 00 00 00 00 00 00 00 00 06 00 00 00 | ................................ |
| 1a40 | 31 00 00 00 00 6a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 f5 18 00 00 | 1....j.......................... |
| 1a60 | 00 00 b4 02 00 00 31 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 00 00 00 00 00 6b 00 00 00 00 | ......1....................k.... |
| 1a80 | 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 c4 02 00 00 00 00 00 00 | ................................ |
| 1aa0 | 00 00 00 00 00 00 00 00 06 00 00 00 17 00 00 00 00 6d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .................m.............. |
| 1ac0 | 00 01 00 00 00 00 00 00 f5 18 00 00 00 00 ca 02 00 00 17 00 00 00 00 00 00 00 00 00 00 00 0d 00 | ................................ |
| 1ae0 | 00 00 30 00 00 00 00 6e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 | ..0....n........................ |
| 1b00 | 00 00 00 00 d7 02 00 00 30 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 01 00 00 00 00 70 00 00 | ........0....................p.. |
| 1b20 | 00 00 00 00 00 00 00 00 00 00 00 00 28 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 01 00 00 00 03 | ............(.......5._......... |
| 1b40 | 00 00 00 00 00 00 00 00 00 00 00 02 00 00 02 db 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 00 | ................................ |
| 1b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9f c6 9b 04 01 | ..........................i..... |
| 1cc0 | 00 00 00 02 00 f5 18 00 00 00 02 00 00 04 5a 00 00 02 db 00 00 02 d6 00 00 00 26 23 69 6e 63 6c | ..............Z...........&#incl |
| 1ce0 | 75 64 65 20 22 78 64 67 2d 73 68 65 6c 6c 2d 63 6c 69 65 6e 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 | ude."xdg-shell-client-protocol.h |
| 1d00 | 22 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 12 23 69 6e 63 | "....#include."config.h"....#inc |
| 1d20 | 6c 75 64 65 20 3c 65 72 72 6e 6f 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 66 63 6e 74 | lude.<errno.h>....#include.<fcnt |
| 1d40 | 6c 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 70 6f 6c 6c 2e 68 3e 00 00 00 14 23 69 6e | l.h>....#include.<poll.h>....#in |
| 1d60 | 63 6c 75 64 65 20 3c 73 74 64 62 6f 6f 6c 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 | clude.<stdbool.h>....#include.<s |
| 1d80 | 74 64 69 6e 74 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6f 2e 68 3e 00 00 | tdint.h>....#include.<stdio.h>.. |
| 1da0 | 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 6c 69 62 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 | ..#include.<stdlib.h>....#includ |
| 1dc0 | 65 20 3c 73 74 72 69 6e 67 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d | e.<string.h>....#include.<sys/mm |
| 1de0 | 61 6e 2e 68 3e 00 00 00 18 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 74 69 6d 65 72 66 64 2e 68 | an.h>....#include.<sys/timerfd.h |
| 1e00 | 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 1b 23 69 6e 63 | >....#include.<unistd.h>....#inc |
| 1e20 | 6c 75 64 65 20 3c 77 61 79 6c 61 6e 64 2d 63 6c 69 65 6e 74 2e 68 3e 00 00 00 20 23 69 6e 63 6c | lude.<wayland-client.h>....#incl |
| 1e40 | 75 64 65 20 3c 78 6b 62 63 6f 6d 6d 6f 6e 2f 78 6b 62 63 6f 6d 6d 6f 6e 2e 68 3e 00 00 00 22 23 | ude.<xkbcommon/xkbcommon.h>..."# |
| 1e60 | 69 6e 63 6c 75 64 65 20 3c 66 6f 6e 74 63 6f 6e 66 69 67 2f 66 6f 6e 74 63 6f 6e 66 69 67 2e 68 | include.<fontconfig/fontconfig.h |
| 1e80 | 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 66 74 32 62 75 69 6c 64 2e 68 3e 00 00 00 16 23 69 | >....#include.<ft2build.h>....#i |
| 1ea0 | 6e 63 6c 75 64 65 20 46 54 5f 46 52 45 45 54 59 50 45 5f 48 00 00 00 00 00 00 00 17 23 64 65 66 | nclude.FT_FREETYPE_H........#def |
| 1ec0 | 69 6e 65 20 4d 41 58 5f 54 45 58 54 20 20 36 35 35 33 36 00 00 00 14 23 64 65 66 69 6e 65 20 42 | ine.MAX_TEXT..65536....#define.B |
| 1ee0 | 41 52 5f 48 20 20 20 20 20 32 38 00 00 00 14 23 64 65 66 69 6e 65 20 42 54 4e 5f 50 41 44 20 20 | AR_H.....28....#define.BTN_PAD.. |
| 1f00 | 20 31 30 00 00 00 13 23 64 65 66 69 6e 65 20 50 41 44 20 20 20 20 20 20 20 38 00 00 00 00 00 00 | .10....#define.PAD.......8...... |
| 1f20 | 00 1b 23 64 65 66 69 6e 65 20 42 47 5f 43 4f 4c 4f 52 20 20 20 20 20 43 46 47 5f 42 47 00 00 00 | ..#define.BG_COLOR.....CFG_BG... |
| 1f40 | 1b 23 64 65 66 69 6e 65 20 46 47 5f 43 4f 4c 4f 52 20 20 20 20 20 43 46 47 5f 46 47 00 00 00 1f | .#define.FG_COLOR.....CFG_FG.... |
| 1f60 | 23 64 65 66 69 6e 65 20 43 55 52 5f 43 4f 4c 4f 52 20 20 20 20 43 46 47 5f 43 55 52 53 4f 52 00 | #define.CUR_COLOR....CFG_CURSOR. |
| 1f80 | 00 00 1f 23 64 65 66 69 6e 65 20 53 45 4c 5f 43 4f 4c 4f 52 20 20 20 20 43 46 47 5f 53 45 4c 5f | ...#define.SEL_COLOR....CFG_SEL_ |
| 1fa0 | 42 47 00 00 00 1f 23 64 65 66 69 6e 65 20 53 45 4c 5f 46 47 20 20 20 20 20 20 20 43 46 47 5f 53 | BG....#define.SEL_FG.......CFG_S |
| 1fc0 | 45 4c 5f 46 47 00 00 00 1f 23 64 65 66 69 6e 65 20 42 41 52 5f 42 47 20 20 20 20 20 20 20 43 46 | EL_FG....#define.BAR_BG.......CF |
| 1fe0 | 47 5f 42 41 52 5f 42 47 00 00 00 1f 23 64 65 66 69 6e 65 20 42 41 52 5f 46 47 20 20 20 20 20 20 | G_BAR_BG....#define.BAR_FG...... |
| 2000 | 20 43 46 47 5f 42 41 52 5f 46 47 00 00 00 20 23 64 65 66 69 6e 65 20 42 54 4e 5f 48 4f 56 20 20 | .CFG_BAR_FG....#define.BTN_HOV.. |
| 2020 | 20 20 20 20 43 46 47 5f 42 54 4e 5f 48 4f 56 00 00 00 20 23 64 65 66 69 6e 65 20 44 52 4f 50 5f | ....CFG_BTN_HOV....#define.DROP_ |
| 2040 | 42 47 20 20 20 20 20 20 43 46 47 5f 44 52 4f 50 5f 42 47 00 00 00 20 23 64 65 66 69 6e 65 20 44 | BG......CFG_DROP_BG....#define.D |
| 2060 | 52 4f 50 5f 46 47 20 20 20 20 20 20 43 46 47 5f 44 52 4f 50 5f 46 47 00 00 00 21 23 64 65 66 69 | ROP_FG......CFG_DROP_FG...!#defi |
| 2080 | 6e 65 20 44 52 4f 50 5f 48 4f 56 20 20 20 20 20 43 46 47 5f 44 52 4f 50 5f 48 4f 56 00 00 00 24 | ne.DROP_HOV.....CFG_DROP_HOV...$ |
| 20a0 | 23 64 65 66 69 6e 65 20 44 52 4f 50 5f 48 4f 56 5f 46 47 20 20 43 46 47 5f 44 52 4f 50 5f 48 4f | #define.DROP_HOV_FG..CFG_DROP_HO |
| 20c0 | 56 5f 46 47 00 00 00 1c 23 64 65 66 69 6e 65 20 53 45 50 5f 43 4f 4c 4f 52 20 20 20 20 43 46 47 | V_FG....#define.SEP_COLOR....CFG |
| 20e0 | 5f 53 45 50 00 00 00 00 00 00 00 21 73 74 61 74 69 63 20 63 68 61 72 20 74 65 78 74 5b 4d 41 58 | _SEP.......!static.char.text[MAX |
| 2100 | 5f 54 45 58 54 5d 20 3d 20 7b 30 7d 3b 00 00 00 17 73 74 61 74 69 63 20 69 6e 74 20 20 74 6c 65 | _TEXT].=.{0};....static.int..tle |
| 2120 | 6e 20 20 20 3d 20 30 3b 00 00 00 17 73 74 61 74 69 63 20 69 6e 74 20 20 63 75 72 73 6f 72 20 3d | n...=.0;....static.int..cursor.= |
| 2140 | 20 30 3b 00 00 00 1c 73 74 61 74 69 63 20 69 6e 74 20 20 73 65 6c 5f 61 6e 63 68 6f 72 20 3d 20 | .0;....static.int..sel_anchor.=. |
| 2160 | 2d 31 3b 00 00 00 21 73 74 61 74 69 63 20 63 68 61 72 20 66 69 6c 65 70 61 74 68 5b 34 30 39 36 | -1;...!static.char.filepath[4096 |
| 2180 | 5d 20 3d 20 7b 30 7d 3b 00 00 00 1a 73 74 61 74 69 63 20 62 6f 6f 6c 20 64 69 72 74 79 20 3d 20 | ].=.{0};....static.bool.dirty.=. |
| 21a0 | 66 61 6c 73 65 3b 00 00 00 00 00 00 00 19 73 74 61 74 69 63 20 46 54 5f 4c 69 62 72 61 72 79 20 | false;........static.FT_Library. |
| 21c0 | 66 74 5f 6c 69 62 3b 00 00 00 1a 73 74 61 74 69 63 20 46 54 5f 46 61 63 65 20 20 20 20 66 74 5f | ft_lib;....static.FT_Face....ft_ |
| 21e0 | 66 61 63 65 3b 00 00 00 19 73 74 61 74 69 63 20 69 6e 74 20 20 20 20 20 20 20 20 63 65 6c 6c 5f | face;....static.int........cell_ |
| 2200 | 77 3b 00 00 00 19 73 74 61 74 69 63 20 69 6e 74 20 20 20 20 20 20 20 20 63 65 6c 6c 5f 68 3b 00 | w;....static.int........cell_h;. |
| 2220 | 00 00 1b 73 74 61 74 69 63 20 69 6e 74 20 20 20 20 20 20 20 20 61 73 63 65 6e 64 65 72 3b 00 00 | ...static.int........ascender;.. |
| 2240 | 00 26 73 74 61 74 69 63 20 69 6e 74 20 20 20 20 20 20 20 20 66 6f 6e 74 5f 70 74 20 3d 20 46 4f | .&static.int........font_pt.=.FO |
| 2260 | 4e 54 5f 53 49 5a 45 3b 00 00 00 00 00 00 00 45 74 79 70 65 64 65 66 20 65 6e 75 6d 20 7b 20 4d | NT_SIZE;.......Etypedef.enum.{.M |
| 2280 | 45 4e 55 5f 4e 4f 4e 45 20 3d 20 2d 31 2c 20 4d 45 4e 55 5f 46 49 4c 45 20 3d 20 30 2c 20 4d 45 | ENU_NONE.=.-1,.MENU_FILE.=.0,.ME |
| 22a0 | 4e 55 5f 49 4e 46 4f 20 3d 20 31 20 7d 20 4d 65 6e 75 49 64 3b 00 00 00 00 00 00 00 3f 74 79 70 | NU_INFO.=.1.}.MenuId;.......?typ |
| 22c0 | 65 64 65 66 20 73 74 72 75 63 74 20 7b 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6c 61 62 65 6c 3b | edef.struct.{.const.char.*label; |
| 22e0 | 20 62 6f 6f 6c 20 73 65 70 5f 61 66 74 65 72 3b 20 7d 20 4d 65 6e 75 49 74 65 6d 3b 00 00 00 00 | .bool.sep_after;.}.MenuItem;.... |
| 2300 | 00 00 00 26 73 74 61 74 69 63 20 63 6f 6e 73 74 20 4d 65 6e 75 49 74 65 6d 20 66 69 6c 65 5f 69 | ...&static.const.MenuItem.file_i |
| 2320 | 74 65 6d 73 5b 5d 20 3d 20 7b 00 00 00 1d 20 20 7b 20 22 4e 65 77 22 2c 20 20 20 20 20 20 20 20 | tems[].=.{......{."New",........ |
| 2340 | 20 20 20 66 61 6c 73 65 20 7d 2c 00 00 00 1d 20 20 7b 20 22 4f 70 65 6e 22 2c 20 20 20 20 20 20 | ...false.},......{."Open",...... |
| 2360 | 20 20 20 20 66 61 6c 73 65 20 7d 2c 00 00 00 1d 20 20 7b 20 22 53 61 76 65 22 2c 20 20 20 20 20 | ....false.},......{."Save",..... |
| 2380 | 20 20 20 20 20 66 61 6c 73 65 20 7d 2c 00 00 00 1d 20 20 7b 20 22 53 61 76 65 20 41 73 22 2c 20 | .....false.},......{."Save.As",. |
| 23a0 | 20 20 20 20 20 20 74 72 75 65 20 20 7d 2c 00 00 00 1d 20 20 7b 20 22 53 61 76 65 20 61 6e 64 20 | ......true..},......{."Save.and. |
| 23c0 | 51 75 69 74 22 2c 20 66 61 6c 73 65 20 7d 2c 00 00 00 1d 20 20 7b 20 22 51 75 69 74 22 2c 20 20 | Quit",.false.},......{."Quit",.. |
| 23e0 | 20 20 20 20 20 20 20 20 66 61 6c 73 65 20 7d 2c 00 00 00 02 7d 3b 00 00 00 26 73 74 61 74 69 63 | ........false.},....};...&static |
| 2400 | 20 63 6f 6e 73 74 20 4d 65 6e 75 49 74 65 6d 20 69 6e 66 6f 5f 69 74 65 6d 73 5b 5d 20 3d 20 7b | .const.MenuItem.info_items[].=.{ |
| 2420 | 00 00 00 16 20 20 7b 20 22 41 62 6f 75 74 22 2c 20 20 66 61 6c 73 65 20 7d 2c 00 00 00 02 7d 3b | ......{."About",..false.},....}; |
| 2440 | 00 00 00 3e 23 64 65 66 69 6e 65 20 4e 5f 46 49 4c 45 20 28 28 69 6e 74 29 28 73 69 7a 65 6f 66 | ...>#define.N_FILE.((int)(sizeof |
| 2460 | 20 66 69 6c 65 5f 69 74 65 6d 73 20 2f 20 73 69 7a 65 6f 66 20 2a 66 69 6c 65 5f 69 74 65 6d 73 | .file_items./.sizeof.*file_items |
| 2480 | 29 29 00 00 00 3e 23 64 65 66 69 6e 65 20 4e 5f 49 4e 46 4f 20 28 28 69 6e 74 29 28 73 69 7a 65 | ))...>#define.N_INFO.((int)(size |
| 24a0 | 6f 66 20 69 6e 66 6f 5f 69 74 65 6d 73 20 2f 20 73 69 7a 65 6f 66 20 2a 69 6e 66 6f 5f 69 74 65 | of.info_items./.sizeof.*info_ite |
| 24c0 | 6d 73 29 29 00 00 00 00 00 00 00 0e 73 74 72 75 63 74 20 70 6f 70 75 70 20 7b 00 00 00 1a 20 20 | ms))........struct.popup.{...... |
| 24e0 | 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 20 20 2a 77 73 3b 00 00 00 1a 20 20 73 74 | struct.wl_surface...*ws;......st |
| 2500 | 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 20 2a 78 73 3b 00 00 00 1a 20 20 73 74 72 75 | ruct.xdg_surface..*xs;......stru |
| 2520 | 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 3b 00 00 00 1e 20 20 76 6f 69 64 20 20 | ct.xdg_toplevel.*xt;......void.. |
| 2540 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 70 69 78 65 6c 73 3b 00 00 00 23 20 20 73 69 7a 65 | ..............*pixels;...#..size |
| 2560 | 5f 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 69 78 65 6c 73 5f 73 69 7a 65 3b 00 00 00 | _t...............pixels_size;... |
| 2580 | 1b 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 20 20 20 2a 62 75 66 3b 00 00 00 0b | ...struct.wl_buffer....*buf;.... |
| 25a0 | 20 20 69 6e 74 20 77 2c 20 68 3b 00 00 00 12 20 20 62 6f 6f 6c 20 63 6f 6e 66 69 67 75 72 65 64 | ..int.w,.h;......bool.configured |
| 25c0 | 3b 00 00 00 0c 20 20 62 6f 6f 6c 20 6f 70 65 6e 3b 00 00 00 02 7d 3b 00 00 00 00 00 00 00 0c 73 | ;......bool.open;....};........s |
| 25e0 | 74 72 75 63 74 20 61 70 70 20 7b 00 00 00 23 20 20 73 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c | truct.app.{...#..struct.wl_displ |
| 2600 | 61 79 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 64 3b 00 00 00 25 20 20 73 74 72 75 63 74 20 77 | ay.............*d;...%..struct.w |
| 2620 | 6c 5f 72 65 67 69 73 74 72 79 20 20 20 20 20 20 20 20 20 20 20 20 2a 72 65 67 3b 00 00 00 26 20 | l_registry............*reg;...&. |
| 2640 | 20 73 74 72 75 63 74 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 20 20 20 20 20 20 20 20 20 20 2a | .struct.wl_compositor..........* |
| 2660 | 63 6f 6d 70 3b 00 00 00 25 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 20 20 20 20 20 20 20 | comp;...%..struct.wl_shm........ |
| 2680 | 20 20 20 20 20 20 20 20 20 2a 73 68 6d 3b 00 00 00 24 20 20 73 74 72 75 63 74 20 78 64 67 5f 77 | .........*shm;...$..struct.xdg_w |
| 26a0 | 6d 5f 62 61 73 65 20 20 20 20 20 20 20 20 20 20 20 20 2a 77 6d 3b 00 00 00 24 20 20 73 74 72 75 | m_base............*wm;...$..stru |
| 26c0 | 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 77 73 3b 00 00 | ct.wl_surface.............*ws;.. |
| 26e0 | 00 24 20 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 20 20 20 20 20 20 20 20 20 | .$..struct.xdg_surface.......... |
| 2700 | 20 20 2a 78 73 3b 00 00 00 24 20 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 | ..*xs;...$..struct.xdg_toplevel. |
| 2720 | 20 20 20 20 20 20 20 20 20 20 2a 78 74 3b 00 00 00 26 20 20 73 74 72 75 63 74 20 77 6c 5f 73 65 | ..........*xt;...&..struct.wl_se |
| 2740 | 61 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 73 65 61 74 3b 00 00 00 2a 20 20 73 74 | at................*seat;...*..st |
| 2760 | 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 20 20 20 20 20 20 20 20 20 20 20 2a 6b 65 79 | ruct.wl_keyboard............*key |
| 2780 | 62 6f 61 72 64 3b 00 00 00 29 20 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 20 20 | board;...)..struct.wl_pointer... |
| 27a0 | 20 20 20 20 20 20 20 20 20 20 2a 70 6f 69 6e 74 65 72 3b 00 00 00 25 20 20 73 74 72 75 63 74 20 | ..........*pointer;...%..struct. |
| 27c0 | 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 5f 6d 61 6e 61 67 65 72 20 2a 64 64 6d 3b 00 00 00 24 | wl_data_device_manager.*ddm;...$ |
| 27e0 | 20 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 20 20 20 20 20 20 20 20 20 | ..struct.wl_data_device......... |
| 2800 | 2a 64 64 3b 00 00 00 24 20 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 20 | *dd;...$..struct.wl_data_source. |
| 2820 | 20 20 20 20 20 20 20 20 2a 64 73 3b 00 00 00 1a 20 20 76 6f 69 64 20 20 20 20 20 20 20 20 20 20 | ........*ds;......void.......... |
| 2840 | 20 20 2a 70 69 78 65 6c 73 3b 00 00 00 1f 20 20 73 69 7a 65 5f 74 20 20 20 20 20 20 20 20 20 20 | ..*pixels;......size_t.......... |
| 2860 | 20 70 69 78 65 6c 73 5f 73 69 7a 65 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 | .pixels_size;......struct.wl_buf |
| 2880 | 66 65 72 20 2a 62 75 66 3b 00 00 00 21 20 20 69 6e 74 20 77 2c 20 68 2c 20 70 65 6e 64 69 6e 67 | fer.*buf;...!..int.w,.h,.pending |
| 28a0 | 5f 77 2c 20 70 65 6e 64 69 6e 67 5f 68 3b 00 00 00 12 20 20 62 6f 6f 6c 20 63 6f 6e 66 69 67 75 | _w,.pending_h;......bool.configu |
| 28c0 | 72 65 64 3b 00 00 00 1e 20 20 73 74 72 75 63 74 20 78 6b 62 5f 63 6f 6e 74 65 78 74 20 2a 78 6b | red;......struct.xkb_context.*xk |
| 28e0 | 62 5f 63 74 78 3b 00 00 00 21 20 20 73 74 72 75 63 74 20 78 6b 62 5f 6b 65 79 6d 61 70 20 20 2a | b_ctx;...!..struct.xkb_keymap..* |
| 2900 | 78 6b 62 5f 6b 65 79 6d 61 70 3b 00 00 00 20 20 20 73 74 72 75 63 74 20 78 6b 62 5f 73 74 61 74 | xkb_keymap;......struct.xkb_stat |
| 2920 | 65 20 20 20 2a 78 6b 62 5f 73 74 61 74 65 3b 00 00 00 15 20 20 69 6e 74 20 20 20 20 20 20 72 65 | e...*xkb_state;......int......re |
| 2940 | 70 65 61 74 5f 66 64 3b 00 00 00 16 20 20 75 69 6e 74 33 32 5f 74 20 72 65 70 65 61 74 5f 6b 65 | peat_fd;......uint32_t.repeat_ke |
| 2960 | 79 3b 00 00 00 17 20 20 69 6e 74 33 32 5f 74 20 20 72 65 70 65 61 74 5f 72 61 74 65 3b 00 00 00 | y;......int32_t..repeat_rate;... |
| 2980 | 18 20 20 69 6e 74 33 32 5f 74 20 20 72 65 70 65 61 74 5f 64 65 6c 61 79 3b 00 00 00 1f 20 20 63 | ...int32_t..repeat_delay;......c |
| 29a0 | 68 61 72 20 20 20 20 20 63 6c 69 70 62 6f 61 72 64 5b 4d 41 58 5f 54 45 58 54 5d 3b 00 00 00 19 | har.....clipboard[MAX_TEXT];.... |
| 29c0 | 20 20 69 6e 74 20 20 20 20 20 20 63 6c 69 70 62 6f 61 72 64 5f 6c 65 6e 3b 00 00 00 17 20 20 75 | ..int......clipboard_len;......u |
| 29e0 | 69 6e 74 33 32 5f 74 20 6c 61 73 74 5f 73 65 72 69 61 6c 3b 00 00 00 1c 20 20 69 6e 74 20 20 20 | int32_t.last_serial;......int... |
| 2a00 | 20 20 20 6d 6f 75 73 65 5f 78 2c 20 6d 6f 75 73 65 5f 79 3b 00 00 00 15 20 20 4d 65 6e 75 49 64 | ...mouse_x,.mouse_y;......MenuId |
| 2a20 | 20 20 20 6f 70 65 6e 5f 6d 65 6e 75 3b 00 00 00 18 20 20 69 6e 74 20 20 20 20 20 20 68 6f 76 65 | ...open_menu;......int......hove |
| 2a40 | 72 65 64 5f 69 74 65 6d 3b 00 00 00 15 20 20 73 74 72 75 63 74 20 70 6f 70 75 70 20 61 62 6f 75 | red_item;......struct.popup.abou |
| 2a60 | 74 3b 00 00 00 02 7d 3b 00 00 00 00 00 00 00 27 73 74 61 74 69 63 20 76 6f 69 64 20 75 70 64 61 | t;....};.......'static.void.upda |
| 2a80 | 74 65 5f 66 6f 6e 74 5f 6d 65 74 72 69 63 73 28 76 6f 69 64 29 20 7b 00 00 00 35 20 20 46 54 5f | te_font_metrics(void).{...5..FT_ |
| 2aa0 | 53 65 74 5f 43 68 61 72 5f 53 69 7a 65 28 66 74 5f 66 61 63 65 2c 20 30 2c 20 66 6f 6e 74 5f 70 | Set_Char_Size(ft_face,.0,.font_p |
| 2ac0 | 74 20 2a 20 36 34 2c 20 39 36 2c 20 39 36 29 3b 00 00 00 33 20 20 46 54 5f 4c 6f 61 64 5f 43 68 | t.*.64,.96,.96);...3..FT_Load_Ch |
| 2ae0 | 61 72 28 66 74 5f 66 61 63 65 2c 20 27 30 27 2c 20 46 54 5f 4c 4f 41 44 5f 41 44 56 41 4e 43 45 | ar(ft_face,.'0',.FT_LOAD_ADVANCE |
| 2b00 | 5f 4f 4e 4c 59 29 3b 00 00 00 3a 20 20 63 65 6c 6c 5f 77 20 20 20 3d 20 28 69 6e 74 29 28 28 66 | _ONLY);...:..cell_w...=.(int)((f |
| 2b20 | 74 5f 66 61 63 65 2d 3e 67 6c 79 70 68 2d 3e 61 64 76 61 6e 63 65 2e 78 20 2b 20 33 32 29 20 3e | t_face->glyph->advance.x.+.32).> |
| 2b40 | 3e 20 36 29 3b 00 00 00 39 20 20 61 73 63 65 6e 64 65 72 20 3d 20 28 69 6e 74 29 28 66 74 5f 66 | >.6);...9..ascender.=.(int)(ft_f |
| 2b60 | 61 63 65 2d 3e 73 69 7a 65 2d 3e 6d 65 74 72 69 63 73 2e 61 73 63 65 6e 64 65 72 20 3e 3e 20 36 | ace->size->metrics.ascender.>>.6 |
| 2b80 | 29 3b 00 00 00 42 20 20 69 6e 74 20 64 65 73 63 20 3d 20 28 69 6e 74 29 28 28 2d 66 74 5f 66 61 | );...B..int.desc.=.(int)((-ft_fa |
| 2ba0 | 63 65 2d 3e 73 69 7a 65 2d 3e 6d 65 74 72 69 63 73 2e 64 65 73 63 65 6e 64 65 72 20 2b 20 36 33 | ce->size->metrics.descender.+.63 |
| 2bc0 | 29 20 3e 3e 20 36 29 3b 00 00 00 1d 20 20 63 65 6c 6c 5f 68 20 20 20 3d 20 61 73 63 65 6e 64 65 | ).>>.6);......cell_h...=.ascende |
| 2be0 | 72 20 2b 20 64 65 73 63 3b 00 00 00 1d 20 20 69 66 20 28 63 65 6c 6c 5f 77 20 3c 20 31 29 20 63 | r.+.desc;......if.(cell_w.<.1).c |
| 2c00 | 65 6c 6c 5f 77 20 3d 20 31 3b 00 00 00 1d 20 20 69 66 20 28 63 65 6c 6c 5f 68 20 3c 20 31 29 20 | ell_w.=.1;......if.(cell_h.<.1). |
| 2c20 | 63 65 6c 6c 5f 68 20 3d 20 31 3b 00 00 00 01 7d 00 00 00 00 00 00 00 1d 73 74 61 74 69 63 20 62 | cell_h.=.1;....}........static.b |
| 2c40 | 6f 6f 6c 20 6c 6f 61 64 5f 66 6f 6e 74 28 76 6f 69 64 29 20 7b 00 00 00 0b 20 20 46 63 49 6e 69 | ool.load_font(void).{......FcIni |
| 2c60 | 74 28 29 3b 00 00 00 35 20 20 46 63 50 61 74 74 65 72 6e 20 2a 70 61 74 20 3d 20 46 63 4e 61 6d | t();...5..FcPattern.*pat.=.FcNam |
| 2c80 | 65 50 61 72 73 65 28 28 46 63 43 68 61 72 38 20 2a 29 46 4f 4e 54 5f 4e 41 4d 45 29 3b 00 00 00 | eParse((FcChar8.*)FONT_NAME);... |
| 2ca0 | 30 20 20 46 63 43 6f 6e 66 69 67 53 75 62 73 74 69 74 75 74 65 28 4e 55 4c 4c 2c 20 70 61 74 2c | 0..FcConfigSubstitute(NULL,.pat, |
| 2cc0 | 20 46 63 4d 61 74 63 68 50 61 74 74 65 72 6e 29 3b 00 00 00 1b 20 20 46 63 44 65 66 61 75 6c 74 | .FcMatchPattern);......FcDefault |
| 2ce0 | 53 75 62 73 74 69 74 75 74 65 28 70 61 74 29 3b 00 00 00 0f 20 20 46 63 52 65 73 75 6c 74 20 72 | Substitute(pat);......FcResult.r |
| 2d00 | 65 73 3b 00 00 00 32 20 20 46 63 50 61 74 74 65 72 6e 20 2a 6d 61 74 63 68 20 3d 20 46 63 46 6f | es;...2..FcPattern.*match.=.FcFo |
| 2d20 | 6e 74 4d 61 74 63 68 28 4e 55 4c 4c 2c 20 70 61 74 2c 20 26 72 65 73 29 3b 00 00 00 18 20 20 46 | ntMatch(NULL,.pat,.&res);......F |
| 2d40 | 63 50 61 74 74 65 72 6e 44 65 73 74 72 6f 79 28 70 61 74 29 3b 00 00 00 1b 20 20 69 66 20 28 21 | cPatternDestroy(pat);......if.(! |
| 2d60 | 6d 61 74 63 68 29 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 00 00 00 17 20 20 46 63 43 68 61 72 | match).return.false;......FcChar |
| 2d80 | 38 20 2a 70 61 74 68 20 3d 20 4e 55 4c 4c 3b 00 00 00 6f 20 20 69 66 20 28 46 63 50 61 74 74 65 | 8.*path.=.NULL;...o..if.(FcPatte |
| 2da0 | 72 6e 47 65 74 53 74 72 69 6e 67 28 6d 61 74 63 68 2c 20 46 43 5f 46 49 4c 45 2c 20 30 2c 20 26 | rnGetString(match,.FC_FILE,.0,.& |
| 2dc0 | 70 61 74 68 29 20 21 3d 20 46 63 52 65 73 75 6c 74 4d 61 74 63 68 29 20 7b 20 46 63 50 61 74 74 | path).!=.FcResultMatch).{.FcPatt |
| 2de0 | 65 72 6e 44 65 73 74 72 6f 79 28 6d 61 74 63 68 29 3b 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b | ernDestroy(match);.return.false; |
| 2e00 | 20 7d 00 00 00 4b 20 20 69 66 20 28 46 54 5f 49 6e 69 74 5f 46 72 65 65 54 79 70 65 28 26 66 74 | .}...K..if.(FT_Init_FreeType(&ft |
| 2e20 | 5f 6c 69 62 29 29 20 7b 20 46 63 50 61 74 74 65 72 6e 44 65 73 74 72 6f 79 28 6d 61 74 63 68 29 | _lib)).{.FcPatternDestroy(match) |
| 2e40 | 3b 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 20 7d 00 00 00 66 20 20 69 66 20 28 46 54 5f 4e 65 | ;.return.false;.}...f..if.(FT_Ne |
| 2e60 | 77 5f 46 61 63 65 28 66 74 5f 6c 69 62 2c 20 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 29 70 61 74 | w_Face(ft_lib,.(const.char.*)pat |
| 2e80 | 68 2c 20 30 2c 20 26 66 74 5f 66 61 63 65 29 29 20 7b 20 46 63 50 61 74 74 65 72 6e 44 65 73 74 | h,.0,.&ft_face)).{.FcPatternDest |
| 2ea0 | 72 6f 79 28 6d 61 74 63 68 29 3b 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 20 7d 00 00 00 1a 20 | roy(match);.return.false;.}..... |
| 2ec0 | 20 46 63 50 61 74 74 65 72 6e 44 65 73 74 72 6f 79 28 6d 61 74 63 68 29 3b 00 00 00 18 20 20 75 | .FcPatternDestroy(match);......u |
| 2ee0 | 70 64 61 74 65 5f 66 6f 6e 74 5f 6d 65 74 72 69 63 73 28 29 3b 00 00 00 0e 20 20 72 65 74 75 72 | pdate_font_metrics();......retur |
| 2f00 | 6e 20 74 72 75 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 46 73 74 61 74 69 63 20 76 6f 69 64 20 | n.true;....}.......Fstatic.void. |
| 2f20 | 70 73 65 74 28 76 6f 69 64 20 2a 70 78 2c 20 69 6e 74 20 70 77 2c 20 69 6e 74 20 70 68 2c 20 69 | pset(void.*px,.int.pw,.int.ph,.i |
| 2f40 | 6e 74 20 78 2c 20 69 6e 74 20 79 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 2b 20 20 | nt.x,.int.y,.uint32_t.c).{...+.. |
| 2f60 | 69 66 20 28 78 20 3e 3d 20 30 20 26 26 20 79 20 3e 3d 20 30 20 26 26 20 78 20 3c 20 70 77 20 26 | if.(x.>=.0.&&.y.>=.0.&&.x.<.pw.& |
| 2f80 | 26 20 79 20 3c 20 70 68 29 00 00 00 25 20 20 20 20 28 28 75 69 6e 74 33 32 5f 74 20 2a 29 70 78 | &.y.<.ph)...%....((uint32_t.*)px |
| 2fa0 | 29 5b 79 20 2a 20 70 77 20 2b 20 78 5d 20 3d 20 63 3b 00 00 00 01 7d 00 00 00 00 00 00 00 55 73 | )[y.*.pw.+.x].=.c;....}.......Us |
| 2fc0 | 74 61 74 69 63 20 76 6f 69 64 20 66 72 65 63 74 28 76 6f 69 64 20 2a 70 78 2c 20 69 6e 74 20 70 | tatic.void.frect(void.*px,.int.p |
| 2fe0 | 77 2c 20 69 6e 74 20 70 68 2c 20 69 6e 74 20 78 2c 20 69 6e 74 20 79 2c 20 69 6e 74 20 77 2c 20 | w,.int.ph,.int.x,.int.y,.int.w,. |
| 3000 | 69 6e 74 20 68 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 20 20 20 66 6f 72 20 28 69 | int.h,.uint32_t.c).{......for.(i |
| 3020 | 6e 74 20 64 79 20 3d 20 30 3b 20 64 79 20 3c 20 68 3b 20 64 79 2b 2b 29 00 00 00 22 20 20 20 20 | nt.dy.=.0;.dy.<.h;.dy++)...".... |
| 3040 | 66 6f 72 20 28 69 6e 74 20 64 78 20 3d 20 30 3b 20 64 78 20 3c 20 77 3b 20 64 78 2b 2b 29 00 00 | for.(int.dx.=.0;.dx.<.w;.dx++).. |
| 3060 | 00 26 20 20 20 20 20 20 70 73 65 74 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 78 2b 64 78 2c 20 79 | .&......pset(px,.pw,.ph,.x+dx,.y |
| 3080 | 2b 64 79 2c 20 63 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 52 73 74 61 74 69 63 20 76 6f 69 64 | +dy,.c);....}.......Rstatic.void |
| 30a0 | 20 62 70 69 78 28 76 6f 69 64 20 2a 70 78 2c 20 69 6e 74 20 70 77 2c 20 69 6e 74 20 70 68 2c 20 | .bpix(void.*px,.int.pw,.int.ph,. |
| 30c0 | 69 6e 74 20 78 2c 20 69 6e 74 20 79 2c 20 75 69 6e 74 33 32 5f 74 20 66 67 2c 20 75 69 6e 74 38 | int.x,.int.y,.uint32_t.fg,.uint8 |
| 30e0 | 5f 74 20 61 29 20 7b 00 00 00 33 20 20 69 66 20 28 78 20 3c 20 30 20 7c 7c 20 79 20 3c 20 30 20 | _t.a).{...3..if.(x.<.0.||.y.<.0. |
| 3100 | 7c 7c 20 78 20 3e 3d 20 70 77 20 7c 7c 20 79 20 3e 3d 20 70 68 29 20 72 65 74 75 72 6e 3b 00 00 | ||.x.>=.pw.||.y.>=.ph).return;.. |
| 3120 | 00 30 20 20 75 69 6e 74 33 32 5f 74 20 2a 64 73 74 20 3d 20 26 28 28 75 69 6e 74 33 32 5f 74 20 | .0..uint32_t.*dst.=.&((uint32_t. |
| 3140 | 2a 29 70 78 29 5b 79 20 2a 20 70 77 20 2b 20 78 5d 3b 00 00 00 15 20 20 75 69 6e 74 33 32 5f 74 | *)px)[y.*.pw.+.x];......uint32_t |
| 3160 | 20 62 67 20 3d 20 2a 64 73 74 3b 00 00 00 3f 20 20 75 69 6e 74 33 32 5f 74 20 72 20 3d 20 28 28 | .bg.=.*dst;...?..uint32_t.r.=.(( |
| 3180 | 66 67 3e 3e 31 36 26 30 78 46 46 29 2a 61 20 2b 20 28 62 67 3e 3e 31 36 26 30 78 46 46 29 2a 28 | fg>>16&0xFF)*a.+.(bg>>16&0xFF)*( |
| 31a0 | 32 35 35 2d 61 29 29 20 2f 20 32 35 35 3b 00 00 00 3f 20 20 75 69 6e 74 33 32 5f 74 20 67 20 3d | 255-a))./.255;...?..uint32_t.g.= |
| 31c0 | 20 28 28 66 67 3e 3e 20 38 26 30 78 46 46 29 2a 61 20 2b 20 28 62 67 3e 3e 20 38 26 30 78 46 46 | .((fg>>.8&0xFF)*a.+.(bg>>.8&0xFF |
| 31e0 | 29 2a 28 32 35 35 2d 61 29 29 20 2f 20 32 35 35 3b 00 00 00 3f 20 20 75 69 6e 74 33 32 5f 74 20 | )*(255-a))./.255;...?..uint32_t. |
| 3200 | 62 20 3d 20 28 28 66 67 20 20 20 20 26 30 78 46 46 29 2a 61 20 2b 20 28 62 67 20 20 20 20 26 30 | b.=.((fg....&0xFF)*a.+.(bg....&0 |
| 3220 | 78 46 46 29 2a 28 32 35 35 2d 61 29 29 20 2f 20 32 35 35 3b 00 00 00 2b 20 20 2a 64 73 74 20 3d | xFF)*(255-a))./.255;...+..*dst.= |
| 3240 | 20 30 78 46 46 30 30 30 30 30 30 20 7c 20 28 72 3c 3c 31 36 29 20 7c 20 28 67 3c 3c 38 29 20 7c | .0xFF000000.|.(r<<16).|.(g<<8).| |
| 3260 | 20 62 3b 00 00 00 01 7d 00 00 00 00 00 00 00 5b 73 74 61 74 69 63 20 76 6f 69 64 20 64 67 6c 79 | .b;....}.......[static.void.dgly |
| 3280 | 70 68 28 76 6f 69 64 20 2a 70 78 2c 20 69 6e 74 20 70 77 2c 20 69 6e 74 20 70 68 2c 20 69 6e 74 | ph(void.*px,.int.pw,.int.ph,.int |
| 32a0 | 20 63 78 2c 20 69 6e 74 20 63 79 2c 20 75 69 6e 74 33 32 5f 74 20 63 70 2c 20 75 69 6e 74 33 32 | .cx,.int.cy,.uint32_t.cp,.uint32 |
| 32c0 | 5f 74 20 63 6f 6c 6f 72 29 20 7b 00 00 00 2c 20 20 46 54 5f 4c 6f 61 64 5f 43 68 61 72 28 66 74 | _t.color).{...,..FT_Load_Char(ft |
| 32e0 | 5f 66 61 63 65 2c 20 63 70 2c 20 46 54 5f 4c 4f 41 44 5f 52 45 4e 44 45 52 29 3b 00 00 00 25 20 | _face,.cp,.FT_LOAD_RENDER);...%. |
| 3300 | 20 46 54 5f 47 6c 79 70 68 53 6c 6f 74 20 73 6c 6f 74 20 3d 20 66 74 5f 66 61 63 65 2d 3e 67 6c | .FT_GlyphSlot.slot.=.ft_face->gl |
| 3320 | 79 70 68 3b 00 00 00 20 20 20 46 54 5f 42 69 74 6d 61 70 20 2a 62 6d 20 3d 20 26 73 6c 6f 74 2d | yph;......FT_Bitmap.*bm.=.&slot- |
| 3340 | 3e 62 69 74 6d 61 70 3b 00 00 00 1d 20 20 69 6e 74 20 6f 78 20 3d 20 73 6c 6f 74 2d 3e 62 69 74 | >bitmap;......int.ox.=.slot->bit |
| 3360 | 6d 61 70 5f 6c 65 66 74 3b 00 00 00 2c 20 20 69 6e 74 20 6f 79 20 3d 20 63 79 20 2b 20 61 73 63 | map_left;...,..int.oy.=.cy.+.asc |
| 3380 | 65 6e 64 65 72 20 2d 20 73 6c 6f 74 2d 3e 62 69 74 6d 61 70 5f 74 6f 70 3b 00 00 00 2f 20 20 66 | ender.-.slot->bitmap_top;.../..f |
| 33a0 | 6f 72 20 28 69 6e 74 20 72 6f 77 20 3d 20 30 3b 20 72 6f 77 20 3c 20 28 69 6e 74 29 62 6d 2d 3e | or.(int.row.=.0;.row.<.(int)bm-> |
| 33c0 | 72 6f 77 73 3b 20 72 6f 77 2b 2b 29 00 00 00 34 20 20 20 20 66 6f 72 20 28 69 6e 74 20 63 6f 6c | rows;.row++)...4....for.(int.col |
| 33e0 | 20 3d 20 30 3b 20 63 6f 6c 20 3c 20 28 69 6e 74 29 62 6d 2d 3e 77 69 64 74 68 3b 20 63 6f 6c 2b | .=.0;.col.<.(int)bm->width;.col+ |
| 3400 | 2b 29 20 7b 00 00 00 35 20 20 20 20 20 20 75 69 6e 74 38 5f 74 20 61 76 20 3d 20 62 6d 2d 3e 62 | +).{...5......uint8_t.av.=.bm->b |
| 3420 | 75 66 66 65 72 5b 72 6f 77 20 2a 20 62 6d 2d 3e 70 69 74 63 68 20 2b 20 63 6f 6c 5d 3b 00 00 00 | uffer[row.*.bm->pitch.+.col];... |
| 3440 | 3d 20 20 20 20 20 20 69 66 20 28 61 76 29 20 62 70 69 78 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 | =......if.(av).bpix(px,.pw,.ph,. |
| 3460 | 63 78 2b 6f 78 2b 63 6f 6c 2c 20 6f 79 2b 72 6f 77 2c 20 63 6f 6c 6f 72 2c 20 61 76 29 3b 00 00 | cx+ox+col,.oy+row,.color,.av);.. |
| 3480 | 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 59 73 74 61 74 69 63 20 76 6f 69 64 20 | ......}....}.......Ystatic.void. |
| 34a0 | 64 73 74 72 28 76 6f 69 64 20 2a 70 78 2c 20 69 6e 74 20 70 77 2c 20 69 6e 74 20 70 68 2c 20 69 | dstr(void.*px,.int.pw,.int.ph,.i |
| 34c0 | 6e 74 20 78 2c 20 69 6e 74 20 79 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 2c 20 75 69 6e 74 | nt.x,.int.y,.const.char.*s,.uint |
| 34e0 | 33 32 5f 74 20 63 6f 6c 6f 72 29 20 7b 00 00 00 2f 20 20 66 6f 72 20 28 63 6f 6e 73 74 20 63 68 | 32_t.color).{.../..for.(const.ch |
| 3500 | 61 72 20 2a 70 20 3d 20 73 3b 20 2a 70 3b 20 70 2b 2b 2c 20 78 20 2b 3d 20 63 65 6c 6c 5f 77 29 | ar.*p.=.s;.*p;.p++,.x.+=.cell_w) |
| 3520 | 00 00 00 37 20 20 20 20 64 67 6c 79 70 68 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 78 2c 20 79 2c | ...7....dglyph(px,.pw,.ph,.x,.y, |
| 3540 | 20 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 29 2a 70 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 01 7d | .(unsigned.char)*p,.color);....} |
| 3560 | 00 00 00 00 00 00 00 41 73 74 61 74 69 63 20 69 6e 74 20 73 70 77 28 63 6f 6e 73 74 20 63 68 61 | .......Astatic.int.spw(const.cha |
| 3580 | 72 20 2a 73 29 20 7b 20 72 65 74 75 72 6e 20 28 69 6e 74 29 73 74 72 6c 65 6e 28 73 29 20 2a 20 | r.*s).{.return.(int)strlen(s).*. |
| 35a0 | 63 65 6c 6c 5f 77 3b 20 7d 00 00 00 00 00 00 00 5a 73 74 61 74 69 63 20 76 6f 69 64 20 2a 6d 61 | cell_w;.}.......Zstatic.void.*ma |
| 35c0 | 6b 65 5f 73 68 6d 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 2c 20 69 6e 74 20 77 2c 20 69 6e 74 | ke_shm(struct.app.*a,.int.w,.int |
| 35e0 | 20 68 2c 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 2a 6f 62 75 66 2c 20 73 69 7a | .h,.struct.wl_buffer.**obuf,.siz |
| 3600 | 65 5f 74 20 2a 6f 73 7a 29 20 7b 00 00 00 20 20 20 73 69 7a 65 5f 74 20 73 7a 20 3d 20 28 73 69 | e_t.*osz).{......size_t.sz.=.(si |
| 3620 | 7a 65 5f 74 29 77 20 2a 20 68 20 2a 20 34 3b 00 00 00 23 20 20 63 68 61 72 20 74 5b 5d 20 3d 20 | ze_t)w.*.h.*.4;...#..char.t[].=. |
| 3640 | 22 2f 74 6d 70 2f 77 61 79 6c 61 6e 64 2d 58 58 58 58 58 58 22 3b 00 00 00 21 20 20 69 6e 74 20 | "/tmp/wayland-XXXXXX";...!..int. |
| 3660 | 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 29 3b 20 75 6e 6c 69 6e 6b 28 74 29 3b 00 00 00 42 20 | fd.=.mkstemp(t);.unlink(t);...B. |
| 3680 | 20 69 66 20 28 66 64 20 3c 20 30 20 7c 7c 20 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 73 7a 29 | .if.(fd.<.0.||.ftruncate(fd,.sz) |
| 36a0 | 20 3c 20 30 29 20 7b 20 70 65 72 72 6f 72 28 22 73 68 6d 22 29 3b 20 65 78 69 74 28 31 29 3b 20 | .<.0).{.perror("shm");.exit(1);. |
| 36c0 | 7d 00 00 00 45 20 20 76 6f 69 64 20 2a 70 78 20 3d 20 6d 6d 61 70 28 4e 55 4c 4c 2c 20 73 7a 2c | }...E..void.*px.=.mmap(NULL,.sz, |
| 36e0 | 20 50 52 4f 54 5f 52 45 41 44 7c 50 52 4f 54 5f 57 52 49 54 45 2c 20 4d 41 50 5f 53 48 41 52 45 | .PROT_READ|PROT_WRITE,.MAP_SHARE |
| 3700 | 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 34 20 20 69 66 20 28 70 78 20 3d 3d 20 4d 41 50 5f 46 41 | D,.fd,.0);...4..if.(px.==.MAP_FA |
| 3720 | 49 4c 45 44 29 20 7b 20 70 65 72 72 6f 72 28 22 6d 6d 61 70 22 29 3b 20 65 78 69 74 28 31 29 3b | ILED).{.perror("mmap");.exit(1); |
| 3740 | 20 7d 00 00 00 40 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c | .}...@..struct.wl_shm_pool.*pool |
| 3760 | 20 3d 20 77 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f 70 6f 6f 6c 28 61 2d 3e 73 68 6d 2c 20 66 64 | .=.wl_shm_create_pool(a->shm,.fd |
| 3780 | 2c 20 73 7a 29 3b 00 00 00 50 20 20 2a 6f 62 75 66 20 3d 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f | ,.sz);...P..*obuf.=.wl_shm_pool_ |
| 37a0 | 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c 20 30 2c 20 77 2c 20 68 2c 20 77 2a 34 | create_buffer(pool,.0,.w,.h,.w*4 |
| 37c0 | 2c 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 27 20 20 | ,.WL_SHM_FORMAT_ARGB8888);...'.. |
| 37e0 | 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 64 65 73 74 72 6f 79 28 70 6f 6f 6c 29 3b 20 63 6c 6f 73 65 | wl_shm_pool_destroy(pool);.close |
| 3800 | 28 66 64 29 3b 00 00 00 15 20 20 69 66 20 28 6f 73 7a 29 20 2a 6f 73 7a 20 3d 20 73 7a 3b 00 00 | (fd);......if.(osz).*osz.=.sz;.. |
| 3820 | 00 0c 20 20 72 65 74 75 72 6e 20 70 78 3b 00 00 00 01 7d 00 00 00 00 00 00 00 3a 73 74 61 74 69 | ....return.px;....}.......:stati |
| 3840 | 63 20 69 6e 74 20 62 61 72 5f 79 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 20 20 7b 20 72 | c.int.bar_y(struct.app.*a)...{.r |
| 3860 | 65 74 75 72 6e 20 61 2d 3e 68 20 2d 20 42 41 52 5f 48 3b 20 7d 00 00 00 3a 73 74 61 74 69 63 20 | eturn.a->h.-.BAR_H;.}...:static. |
| 3880 | 69 6e 74 20 74 65 78 74 5f 68 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 20 7b 20 72 65 74 | int.text_h(struct.app.*a)..{.ret |
| 38a0 | 75 72 6e 20 61 2d 3e 68 20 2d 20 42 41 52 5f 48 3b 20 7d 00 00 00 00 00 00 00 19 73 74 61 74 69 | urn.a->h.-.BAR_H;.}........stati |
| 38c0 | 63 20 69 6e 74 20 62 74 6e 5f 78 28 69 6e 74 20 69 29 20 7b 00 00 00 0e 20 20 69 6e 74 20 78 20 | c.int.btn_x(int.i).{......int.x. |
| 38e0 | 3d 20 50 41 44 3b 00 00 00 27 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6c 62 6c 73 5b 5d 20 3d | =.PAD;...'..const.char.*lbls[].= |
| 3900 | 20 7b 22 46 69 6c 65 22 2c 22 49 6e 66 6f 22 7d 3b 00 00 00 3c 20 20 66 6f 72 20 28 69 6e 74 20 | .{"File","Info"};...<..for.(int. |
| 3920 | 6a 20 3d 20 30 3b 20 6a 20 3c 20 69 3b 20 6a 2b 2b 29 20 78 20 2b 3d 20 73 70 77 28 6c 62 6c 73 | j.=.0;.j.<.i;.j++).x.+=.spw(lbls |
| 3940 | 5b 6a 5d 29 20 2b 20 42 54 4e 5f 50 41 44 2a 32 3b 00 00 00 0b 20 20 72 65 74 75 72 6e 20 78 3b | [j]).+.BTN_PAD*2;......return.x; |
| 3960 | 00 00 00 01 7d 00 00 00 47 73 74 61 74 69 63 20 69 6e 74 20 62 74 6e 5f 77 28 69 6e 74 20 69 29 | ....}...Gstatic.int.btn_w(int.i) |
| 3980 | 20 7b 20 72 65 74 75 72 6e 20 73 70 77 28 69 3d 3d 30 3f 22 46 69 6c 65 22 3a 22 49 6e 66 6f 22 | .{.return.spw(i==0?"File":"Info" |
| 39a0 | 29 20 2b 20 42 54 4e 5f 50 41 44 2a 32 3b 20 7d 00 00 00 00 00 00 00 2b 73 74 61 74 69 63 20 69 | ).+.BTN_PAD*2;.}.......+static.i |
| 39c0 | 6e 74 20 64 69 68 28 76 6f 69 64 29 20 7b 20 72 65 74 75 72 6e 20 63 65 6c 6c 5f 68 20 2b 20 38 | nt.dih(void).{.return.cell_h.+.8 |
| 39e0 | 3b 20 7d 00 00 00 00 00 00 00 23 73 74 61 74 69 63 20 69 6e 74 20 64 72 6f 70 5f 74 6f 74 61 6c | ;.}.......#static.int.drop_total |
| 3a00 | 5f 68 28 4d 65 6e 75 49 64 20 6d 29 20 7b 00 00 00 2b 20 20 69 6e 74 20 6e 20 3d 20 28 6d 3d 3d | _h(MenuId.m).{...+..int.n.=.(m== |
| 3a20 | 4d 45 4e 55 5f 46 49 4c 45 29 20 3f 20 4e 5f 46 49 4c 45 20 3a 20 4e 5f 49 4e 46 4f 3b 00 00 00 | MENU_FILE).?.N_FILE.:.N_INFO;... |
| 3a40 | 43 20 20 63 6f 6e 73 74 20 4d 65 6e 75 49 74 65 6d 20 2a 69 74 65 6d 73 20 3d 20 28 6d 3d 3d 4d | C..const.MenuItem.*items.=.(m==M |
| 3a60 | 45 4e 55 5f 46 49 4c 45 29 20 3f 20 66 69 6c 65 5f 69 74 65 6d 73 20 3a 20 69 6e 66 6f 5f 69 74 | ENU_FILE).?.file_items.:.info_it |
| 3a80 | 65 6d 73 3b 00 00 00 18 20 20 69 6e 74 20 68 20 3d 20 6e 20 2a 20 64 69 68 28 29 20 2b 20 34 3b | ems;......int.h.=.n.*.dih().+.4; |
| 3aa0 | 00 00 00 3d 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 6e 3b 20 69 2b 2b | ...=..for.(int.i.=.0;.i.<.n;.i++ |
| 3ac0 | 29 20 69 66 20 28 69 74 65 6d 73 5b 69 5d 2e 73 65 70 5f 61 66 74 65 72 29 20 68 20 2b 3d 20 34 | ).if.(items[i].sep_after).h.+=.4 |
| 3ae0 | 3b 00 00 00 0b 20 20 72 65 74 75 72 6e 20 68 3b 00 00 00 01 7d 00 00 00 00 00 00 00 1d 73 74 61 | ;......return.h;....}........sta |
| 3b00 | 74 69 63 20 69 6e 74 20 64 72 6f 70 5f 77 28 4d 65 6e 75 49 64 20 6d 29 20 7b 00 00 00 10 20 20 | tic.int.drop_w(MenuId.m).{...... |
| 3b20 | 69 6e 74 20 6d 61 78 77 20 3d 20 38 30 3b 00 00 00 2b 20 20 69 6e 74 20 6e 20 3d 20 28 6d 3d 3d | int.maxw.=.80;...+..int.n.=.(m== |
| 3b40 | 4d 45 4e 55 5f 46 49 4c 45 29 20 3f 20 4e 5f 46 49 4c 45 20 3a 20 4e 5f 49 4e 46 4f 3b 00 00 00 | MENU_FILE).?.N_FILE.:.N_INFO;... |
| 3b60 | 43 20 20 63 6f 6e 73 74 20 4d 65 6e 75 49 74 65 6d 20 2a 69 74 65 6d 73 20 3d 20 28 6d 3d 3d 4d | C..const.MenuItem.*items.=.(m==M |
| 3b80 | 45 4e 55 5f 46 49 4c 45 29 20 3f 20 66 69 6c 65 5f 69 74 65 6d 73 20 3a 20 69 6e 66 6f 5f 69 74 | ENU_FILE).?.file_items.:.info_it |
| 3ba0 | 65 6d 73 3b 00 00 00 1f 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 6e 3b | ems;......for.(int.i.=.0;.i.<.n; |
| 3bc0 | 20 69 2b 2b 29 20 7b 00 00 00 2c 20 20 20 20 69 6e 74 20 77 20 3d 20 73 70 77 28 69 74 65 6d 73 | .i++).{...,....int.w.=.spw(items |
| 3be0 | 5b 69 5d 2e 6c 61 62 65 6c 29 20 2b 20 42 54 4e 5f 50 41 44 2a 32 3b 00 00 00 1b 20 20 20 20 69 | [i].label).+.BTN_PAD*2;........i |
| 3c00 | 66 20 28 77 20 3e 20 6d 61 78 77 29 20 6d 61 78 77 20 3d 20 77 3b 00 00 00 03 20 20 7d 00 00 00 | f.(w.>.maxw).maxw.=.w;......}... |
| 3c20 | 0e 20 20 72 65 74 75 72 6e 20 6d 61 78 77 3b 00 00 00 01 7d 00 00 00 00 00 00 00 35 73 74 61 74 | ...return.maxw;....}.......5stat |
| 3c40 | 69 63 20 69 6e 74 20 69 74 65 6d 5f 61 74 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 2c 20 4d 65 | ic.int.item_at(struct.app.*a,.Me |
| 3c60 | 6e 75 49 64 20 6d 2c 20 69 6e 74 20 6d 79 29 20 7b 00 00 00 14 20 20 69 6e 74 20 62 79 20 3d 20 | nuId.m,.int.my).{......int.by.=. |
| 3c80 | 62 61 72 5f 79 28 61 29 3b 00 00 00 2b 20 20 69 6e 74 20 6e 20 3d 20 28 6d 3d 3d 4d 45 4e 55 5f | bar_y(a);...+..int.n.=.(m==MENU_ |
| 3ca0 | 46 49 4c 45 29 20 3f 20 4e 5f 46 49 4c 45 20 3a 20 4e 5f 49 4e 46 4f 3b 00 00 00 43 20 20 63 6f | FILE).?.N_FILE.:.N_INFO;...C..co |
| 3cc0 | 6e 73 74 20 4d 65 6e 75 49 74 65 6d 20 2a 69 74 65 6d 73 20 3d 20 28 6d 3d 3d 4d 45 4e 55 5f 46 | nst.MenuItem.*items.=.(m==MENU_F |
| 3ce0 | 49 4c 45 29 20 3f 20 66 69 6c 65 5f 69 74 65 6d 73 20 3a 20 69 6e 66 6f 5f 69 74 65 6d 73 3b 00 | ILE).?.file_items.:.info_items;. |
| 3d00 | 00 00 24 20 20 69 6e 74 20 69 79 20 3d 20 62 79 20 2d 20 64 72 6f 70 5f 74 6f 74 61 6c 5f 68 28 | ..$..int.iy.=.by.-.drop_total_h( |
| 3d20 | 6d 29 20 2b 20 34 3b 00 00 00 1f 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c | m).+.4;......for.(int.i.=.0;.i.< |
| 3d40 | 20 6e 3b 20 69 2b 2b 29 20 7b 00 00 00 2e 20 20 20 20 69 66 20 28 6d 79 20 3e 3d 20 69 79 20 26 | .n;.i++).{........if.(my.>=.iy.& |
| 3d60 | 26 20 6d 79 20 3c 20 69 79 20 2b 20 64 69 68 28 29 29 20 72 65 74 75 72 6e 20 69 3b 00 00 00 10 | &.my.<.iy.+.dih()).return.i;.... |
| 3d80 | 20 20 20 20 69 79 20 2b 3d 20 64 69 68 28 29 3b 00 00 00 24 20 20 20 20 69 66 20 28 69 74 65 6d | ....iy.+=.dih();...$....if.(item |
| 3da0 | 73 5b 69 5d 2e 73 65 70 5f 61 66 74 65 72 29 20 69 79 20 2b 3d 20 34 3b 00 00 00 03 20 20 7d 00 | s[i].sep_after).iy.+=.4;......}. |
| 3dc0 | 00 00 0c 20 20 72 65 74 75 72 6e 20 2d 31 3b 00 00 00 01 7d 00 00 00 00 00 00 00 23 73 74 61 74 | .....return.-1;....}.......#stat |
| 3de0 | 69 63 20 76 6f 69 64 20 64 6f 5f 73 61 76 65 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 3b 00 | ic.void.do_save(struct.app.*a);. |
| 3e00 | 00 00 22 73 74 61 74 69 63 20 76 6f 69 64 20 64 6f 5f 6e 65 77 28 73 74 72 75 63 74 20 61 70 70 | .."static.void.do_new(struct.app |
| 3e20 | 20 2a 61 29 3b 00 00 00 23 73 74 61 74 69 63 20 76 6f 69 64 20 64 6f 5f 6f 70 65 6e 28 73 74 72 | .*a);...#static.void.do_open(str |
| 3e40 | 75 63 74 20 61 70 70 20 2a 61 29 3b 00 00 00 26 73 74 61 74 69 63 20 76 6f 69 64 20 6f 70 65 6e | uct.app.*a);...&static.void.open |
| 3e60 | 5f 61 62 6f 75 74 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 3b 00 00 00 22 73 74 61 74 69 63 | _about(struct.app.*a);..."static |
| 3e80 | 20 76 6f 69 64 20 72 65 64 72 61 77 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 3b 00 00 00 00 | .void.redraw(struct.app.*a);.... |
| 3ea0 | 00 00 00 23 73 74 61 74 69 63 20 76 6f 69 64 20 64 6f 5f 6e 65 77 28 73 74 72 75 63 74 20 61 70 | ...#static.void.do_new(struct.ap |
| 3ec0 | 70 20 2a 61 29 20 7b 00 00 00 1f 20 20 6d 65 6d 73 65 74 28 74 65 78 74 2c 20 30 2c 20 73 69 7a | p.*a).{......memset(text,.0,.siz |
| 3ee0 | 65 6f 66 20 74 65 78 74 29 3b 00 00 00 22 20 20 74 6c 65 6e 3d 30 3b 20 63 75 72 73 6f 72 3d 30 | eof.text);..."..tlen=0;.cursor=0 |
| 3f00 | 3b 20 73 65 6c 5f 61 6e 63 68 6f 72 3d 2d 31 3b 00 00 00 20 20 20 66 69 6c 65 70 61 74 68 5b 30 | ;.sel_anchor=-1;......filepath[0 |
| 3f20 | 5d 3d 27 5c 30 27 3b 20 64 69 72 74 79 3d 66 61 6c 73 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 | ]='\0';.dirty=false;....}....... |
| 3f40 | 24 73 74 61 74 69 63 20 76 6f 69 64 20 64 6f 5f 73 61 76 65 28 73 74 72 75 63 74 20 61 70 70 20 | $static.void.do_save(struct.app. |
| 3f60 | 2a 61 29 20 7b 00 00 00 15 20 20 69 66 20 28 21 66 69 6c 65 70 61 74 68 5b 30 5d 29 20 7b 00 00 | *a).{......if.(!filepath[0]).{.. |
| 3f80 | 00 23 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 68 20 3d 20 67 65 74 65 6e 76 28 22 48 4f | .#....const.char.*h.=.getenv("HO |
| 3fa0 | 4d 45 22 29 3b 00 00 00 47 20 20 20 20 73 6e 70 72 69 6e 74 66 28 66 69 6c 65 70 61 74 68 2c 20 | ME");...G....snprintf(filepath,. |
| 3fc0 | 73 69 7a 65 6f 66 20 66 69 6c 65 70 61 74 68 2c 20 22 25 73 2f 75 6e 74 69 74 6c 65 64 2e 74 78 | sizeof.filepath,."%s/untitled.tx |
| 3fe0 | 74 22 2c 20 68 3f 68 3a 22 2f 74 6d 70 22 29 3b 00 00 00 03 20 20 7d 00 00 00 3a 20 20 69 6e 74 | t",.h?h:"/tmp");......}...:..int |
| 4000 | 20 66 64 20 3d 20 6f 70 65 6e 28 66 69 6c 65 70 61 74 68 2c 20 4f 5f 57 52 4f 4e 4c 59 7c 4f 5f | .fd.=.open(filepath,.O_WRONLY|O_ |
| 4020 | 43 52 45 41 54 7c 4f 5f 54 52 55 4e 43 2c 20 30 36 34 34 29 3b 00 00 00 29 20 20 69 66 20 28 66 | CREAT|O_TRUNC,.0644);...)..if.(f |
| 4040 | 64 20 3c 20 30 29 20 7b 20 70 65 72 72 6f 72 28 22 73 61 76 65 22 29 3b 20 72 65 74 75 72 6e 3b | d.<.0).{.perror("save");.return; |
| 4060 | 20 7d 00 00 00 30 20 20 77 72 69 74 65 28 66 64 2c 20 74 65 78 74 2c 20 74 6c 65 6e 29 3b 20 63 | .}...0..write(fd,.text,.tlen);.c |
| 4080 | 6c 6f 73 65 28 66 64 29 3b 20 64 69 72 74 79 3d 66 61 6c 73 65 3b 00 00 00 01 7d 00 00 00 00 00 | lose(fd);.dirty=false;....}..... |
| 40a0 | 00 00 24 73 74 61 74 69 63 20 76 6f 69 64 20 64 6f 5f 6f 70 65 6e 28 73 74 72 75 63 74 20 61 70 | ..$static.void.do_open(struct.ap |
| 40c0 | 70 20 2a 61 29 20 7b 00 00 00 21 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 68 20 3d 20 67 65 74 | p.*a).{...!..const.char.*h.=.get |
| 40e0 | 65 6e 76 28 22 48 4f 4d 45 22 29 3b 00 00 00 12 20 20 63 68 61 72 20 70 61 74 68 5b 34 30 39 36 | env("HOME");......char.path[4096 |
| 4100 | 5d 3b 00 00 00 3d 20 20 73 6e 70 72 69 6e 74 66 28 70 61 74 68 2c 20 73 69 7a 65 6f 66 20 70 61 | ];...=..snprintf(path,.sizeof.pa |
| 4120 | 74 68 2c 20 22 25 73 2f 75 6e 74 69 74 6c 65 64 2e 74 78 74 22 2c 20 68 3f 68 3a 22 2f 74 6d 70 | th,."%s/untitled.txt",.h?h:"/tmp |
| 4140 | 22 29 3b 00 00 00 20 20 20 69 6e 74 20 66 64 20 3d 20 6f 70 65 6e 28 70 61 74 68 2c 20 4f 5f 52 | ");......int.fd.=.open(path,.O_R |
| 4160 | 44 4f 4e 4c 59 29 3b 00 00 00 15 20 20 69 66 20 28 66 64 20 3c 20 30 29 20 72 65 74 75 72 6e 3b | DONLY);......if.(fd.<.0).return; |
| 4180 | 00 00 00 34 20 20 73 73 69 7a 65 5f 74 20 6e 20 3d 20 72 65 61 64 28 66 64 2c 20 74 65 78 74 2c | ...4..ssize_t.n.=.read(fd,.text, |
| 41a0 | 20 4d 41 58 5f 54 45 58 54 2d 31 29 3b 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 14 20 20 69 66 | .MAX_TEXT-1);.close(fd);......if |
| 41c0 | 20 28 6e 20 3c 20 30 29 20 72 65 74 75 72 6e 3b 00 00 00 1f 20 20 74 6c 65 6e 3d 28 69 6e 74 29 | .(n.<.0).return;......tlen=(int) |
| 41e0 | 6e 3b 20 74 65 78 74 5b 74 6c 65 6e 5d 3d 27 5c 30 27 3b 00 00 00 1d 20 20 63 75 72 73 6f 72 3d | n;.text[tlen]='\0';......cursor= |
| 4200 | 74 6c 65 6e 3b 20 73 65 6c 5f 61 6e 63 68 6f 72 3d 2d 31 3b 00 00 00 32 20 20 73 6e 70 72 69 6e | tlen;.sel_anchor=-1;...2..snprin |
| 4220 | 74 66 28 66 69 6c 65 70 61 74 68 2c 20 73 69 7a 65 6f 66 20 66 69 6c 65 70 61 74 68 2c 20 22 25 | tf(filepath,.sizeof.filepath,."% |
| 4240 | 73 22 2c 20 70 61 74 68 29 3b 00 00 00 0e 20 20 64 69 72 74 79 3d 66 61 6c 73 65 3b 00 00 00 01 | s",.path);......dirty=false;.... |
| 4260 | 7d 00 00 00 00 00 00 00 39 73 74 61 74 69 63 20 76 6f 69 64 20 66 69 72 65 5f 69 74 65 6d 28 73 | }.......9static.void.fire_item(s |
| 4280 | 74 72 75 63 74 20 61 70 70 20 2a 61 2c 20 4d 65 6e 75 49 64 20 6d 2c 20 69 6e 74 20 69 64 78 29 | truct.app.*a,.MenuId.m,.int.idx) |
| 42a0 | 20 7b 00 00 00 31 20 20 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 20 3d 20 4d 45 4e 55 5f 4e 4f 4e 45 | .{...1..a->open_menu.=.MENU_NONE |
| 42c0 | 3b 20 61 2d 3e 68 6f 76 65 72 65 64 5f 69 74 65 6d 20 3d 20 2d 31 3b 00 00 00 17 20 20 69 66 20 | ;.a->hovered_item.=.-1;......if. |
| 42e0 | 28 6d 20 3d 3d 20 4d 45 4e 55 5f 46 49 4c 45 29 20 7b 00 00 00 12 20 20 20 20 73 77 69 74 63 68 | (m.==.MENU_FILE).{........switch |
| 4300 | 20 28 69 64 78 29 20 7b 00 00 00 1f 20 20 20 20 20 20 63 61 73 65 20 30 3a 20 64 6f 5f 6e 65 77 | .(idx).{..........case.0:.do_new |
| 4320 | 28 61 29 3b 20 62 72 65 61 6b 3b 00 00 00 20 20 20 20 20 20 20 63 61 73 65 20 31 3a 20 64 6f 5f | (a);.break;..........case.1:.do_ |
| 4340 | 6f 70 65 6e 28 61 29 3b 20 62 72 65 61 6b 3b 00 00 00 20 20 20 20 20 20 20 63 61 73 65 20 32 3a | open(a);.break;..........case.2: |
| 4360 | 20 64 6f 5f 73 61 76 65 28 61 29 3b 20 62 72 65 61 6b 3b 00 00 00 0f 20 20 20 20 20 20 63 61 73 | .do_save(a);.break;..........cas |
| 4380 | 65 20 33 3a 20 7b 00 00 00 27 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 68 20 | e.3:.{...'........const.char.*h. |
| 43a0 | 3d 20 67 65 74 65 6e 76 28 22 48 4f 4d 45 22 29 3b 00 00 00 4b 20 20 20 20 20 20 20 20 73 6e 70 | =.getenv("HOME");...K........snp |
| 43c0 | 72 69 6e 74 66 28 66 69 6c 65 70 61 74 68 2c 20 73 69 7a 65 6f 66 20 66 69 6c 65 70 61 74 68 2c | rintf(filepath,.sizeof.filepath, |
| 43e0 | 20 22 25 73 2f 75 6e 74 69 74 6c 65 64 2e 74 78 74 22 2c 20 68 3f 68 3a 22 2f 74 6d 70 22 29 3b | ."%s/untitled.txt",.h?h:"/tmp"); |
| 4400 | 00 00 00 1a 20 20 20 20 20 20 20 20 64 6f 5f 73 61 76 65 28 61 29 3b 20 62 72 65 61 6b 3b 00 00 | ............do_save(a);.break;.. |
| 4420 | 00 07 20 20 20 20 20 20 7d 00 00 00 22 20 20 20 20 20 20 63 61 73 65 20 34 3a 20 64 6f 5f 73 61 | ........}..."......case.4:.do_sa |
| 4440 | 76 65 28 61 29 3b 20 65 78 69 74 28 30 29 3b 00 00 00 16 20 20 20 20 20 20 63 61 73 65 20 35 3a | ve(a);.exit(0);..........case.5: |
| 4460 | 20 65 78 69 74 28 30 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 1e 20 20 7d 20 65 6c 73 65 20 69 | .exit(0);........}......}.else.i |
| 4480 | 66 20 28 6d 20 3d 3d 20 4d 45 4e 55 5f 49 4e 46 4f 29 20 7b 00 00 00 20 20 20 20 20 69 66 20 28 | f.(m.==.MENU_INFO).{........if.( |
| 44a0 | 69 64 78 20 3d 3d 20 30 29 20 6f 70 65 6e 5f 61 62 6f 75 74 28 61 29 3b 00 00 00 03 20 20 7d 00 | idx.==.0).open_about(a);......}. |
| 44c0 | 00 00 0c 20 20 72 65 64 72 61 77 28 61 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 25 73 74 61 74 | .....redraw(a);....}.......%stat |
| 44e0 | 69 63 20 76 6f 69 64 20 64 72 61 77 5f 62 61 72 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 | ic.void.draw_bar(struct.app.*a). |
| 4500 | 7b 00 00 00 2d 20 20 76 6f 69 64 20 2a 70 78 20 3d 20 61 2d 3e 70 69 78 65 6c 73 3b 20 69 6e 74 | {...-..void.*px.=.a->pixels;.int |
| 4520 | 20 70 77 3d 61 2d 3e 77 2c 20 70 68 3d 61 2d 3e 68 3b 00 00 00 14 20 20 69 6e 74 20 62 79 20 3d | .pw=a->w,.ph=a->h;......int.by.= |
| 4540 | 20 62 61 72 5f 79 28 61 29 3b 00 00 00 2a 20 20 66 72 65 63 74 28 70 78 2c 70 77 2c 70 68 2c 20 | .bar_y(a);...*..frect(px,pw,ph,. |
| 4560 | 30 2c 62 79 2c 20 70 77 2c 42 41 52 5f 48 2c 20 42 41 52 5f 42 47 29 3b 00 00 00 2d 20 20 66 72 | 0,by,.pw,BAR_H,.BAR_BG);...-..fr |
| 4580 | 65 63 74 28 70 78 2c 70 77 2c 70 68 2c 20 30 2c 62 79 2c 20 70 77 2c 31 2c 20 20 20 20 20 53 45 | ect(px,pw,ph,.0,by,.pw,1,.....SE |
| 45a0 | 50 5f 43 4f 4c 4f 52 29 3b 00 00 00 27 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6c 62 6c 73 5b | P_COLOR);...'..const.char.*lbls[ |
| 45c0 | 5d 20 3d 20 7b 22 46 69 6c 65 22 2c 22 49 6e 66 6f 22 7d 3b 00 00 00 1f 20 20 66 6f 72 20 28 69 | ].=.{"File","Info"};......for.(i |
| 45e0 | 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 32 3b 20 69 2b 2b 29 20 7b 00 00 00 21 20 20 20 20 69 | nt.i.=.0;.i.<.2;.i++).{...!....i |
| 4600 | 6e 74 20 62 78 3d 62 74 6e 5f 78 28 69 29 2c 20 62 77 3d 62 74 6e 5f 77 28 69 29 3b 00 00 00 44 | nt.bx=btn_x(i),.bw=btn_w(i);...D |
| 4620 | 20 20 20 20 62 6f 6f 6c 20 68 6f 76 20 3d 20 61 2d 3e 6d 6f 75 73 65 5f 79 3e 3d 62 79 20 26 26 | ....bool.hov.=.a->mouse_y>=by.&& |
| 4640 | 20 61 2d 3e 6d 6f 75 73 65 5f 78 3e 3d 62 78 20 26 26 20 61 2d 3e 6d 6f 75 73 65 5f 78 3c 62 78 | .a->mouse_x>=bx.&&.a->mouse_x<bx |
| 4660 | 2b 62 77 3b 00 00 00 27 20 20 20 20 69 66 20 28 68 6f 76 20 7c 7c 20 61 2d 3e 6f 70 65 6e 5f 6d | +bw;...'....if.(hov.||.a->open_m |
| 4680 | 65 6e 75 3d 3d 28 4d 65 6e 75 49 64 29 69 29 00 00 00 34 20 20 20 20 20 20 66 72 65 63 74 28 70 | enu==(MenuId)i)...4......frect(p |
| 46a0 | 78 2c 70 77 2c 70 68 2c 20 62 78 2c 62 79 2b 31 2c 20 62 77 2c 42 41 52 5f 48 2d 31 2c 20 42 54 | x,pw,ph,.bx,by+1,.bw,BAR_H-1,.BT |
| 46c0 | 4e 5f 48 4f 56 29 3b 00 00 00 45 20 20 20 20 64 73 74 72 28 70 78 2c 70 77 2c 70 68 2c 20 62 78 | N_HOV);...E....dstr(px,pw,ph,.bx |
| 46e0 | 2b 42 54 4e 5f 50 41 44 2c 20 62 79 2b 28 42 41 52 5f 48 2d 63 65 6c 6c 5f 68 29 2f 32 2c 20 6c | +BTN_PAD,.by+(BAR_H-cell_h)/2,.l |
| 4700 | 62 6c 73 5b 69 5d 2c 20 42 41 52 5f 46 47 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 | bls[i],.BAR_FG);......}....}.... |
| 4720 | 00 00 00 30 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 64 72 6f 70 28 73 74 72 75 63 74 | ...0static.void.draw_drop(struct |
| 4740 | 20 61 70 70 20 2a 61 2c 20 4d 65 6e 75 49 64 20 6d 29 20 7b 00 00 00 2d 20 20 76 6f 69 64 20 2a | .app.*a,.MenuId.m).{...-..void.* |
| 4760 | 70 78 20 3d 20 61 2d 3e 70 69 78 65 6c 73 3b 20 69 6e 74 20 70 77 3d 61 2d 3e 77 2c 20 70 68 3d | px.=.a->pixels;.int.pw=a->w,.ph= |
| 4780 | 61 2d 3e 68 3b 00 00 00 34 20 20 69 6e 74 20 62 79 3d 62 61 72 5f 79 28 61 29 2c 20 64 77 3d 64 | a->h;...4..int.by=bar_y(a),.dw=d |
| 47a0 | 72 6f 70 5f 77 28 6d 29 2c 20 64 68 3d 64 72 6f 70 5f 74 6f 74 61 6c 5f 68 28 6d 29 3b 00 00 00 | rop_w(m),.dh=drop_total_h(m);... |
| 47c0 | 21 20 20 69 6e 74 20 64 78 3d 62 74 6e 5f 78 28 28 69 6e 74 29 6d 29 2c 20 64 79 3d 62 79 2d 64 | !..int.dx=btn_x((int)m),.dy=by-d |
| 47e0 | 68 3b 00 00 00 25 20 20 69 6e 74 20 6e 3d 28 6d 3d 3d 4d 45 4e 55 5f 46 49 4c 45 29 3f 4e 5f 46 | h;...%..int.n=(m==MENU_FILE)?N_F |
| 4800 | 49 4c 45 3a 4e 5f 49 4e 46 4f 3b 00 00 00 3d 20 20 63 6f 6e 73 74 20 4d 65 6e 75 49 74 65 6d 20 | ILE:N_INFO;...=..const.MenuItem. |
| 4820 | 2a 69 74 65 6d 73 3d 28 6d 3d 3d 4d 45 4e 55 5f 46 49 4c 45 29 3f 66 69 6c 65 5f 69 74 65 6d 73 | *items=(m==MENU_FILE)?file_items |
| 4840 | 3a 69 6e 66 6f 5f 69 74 65 6d 73 3b 00 00 00 00 00 00 00 29 20 20 66 72 65 63 74 28 70 78 2c 70 | :info_items;.......)..frect(px,p |
| 4860 | 77 2c 70 68 2c 20 64 78 2c 64 79 2c 20 64 77 2c 64 68 2c 20 44 52 4f 50 5f 42 47 29 3b 00 00 00 | w,ph,.dx,dy,.dw,dh,.DROP_BG);... |
| 4880 | 2a 20 20 66 72 65 63 74 28 70 78 2c 70 77 2c 70 68 2c 20 64 78 2c 64 79 2c 20 64 77 2c 31 2c 20 | *..frect(px,pw,ph,.dx,dy,.dw,1,. |
| 48a0 | 53 45 50 5f 43 4f 4c 4f 52 29 3b 00 00 00 2a 20 20 66 72 65 63 74 28 70 78 2c 70 77 2c 70 68 2c | SEP_COLOR);...*..frect(px,pw,ph, |
| 48c0 | 20 64 78 2c 64 79 2c 20 31 2c 64 68 2c 20 53 45 50 5f 43 4f 4c 4f 52 29 3b 00 00 00 2f 20 20 66 | .dx,dy,.1,dh,.SEP_COLOR);.../..f |
| 48e0 | 72 65 63 74 28 70 78 2c 70 77 2c 70 68 2c 20 64 78 2b 64 77 2d 31 2c 64 79 2c 20 31 2c 64 68 2c | rect(px,pw,ph,.dx+dw-1,dy,.1,dh, |
| 4900 | 20 53 45 50 5f 43 4f 4c 4f 52 29 3b 00 00 00 2f 20 20 66 72 65 63 74 28 70 78 2c 70 77 2c 70 68 | .SEP_COLOR);.../..frect(px,pw,ph |
| 4920 | 2c 20 64 78 2c 64 79 2b 64 68 2d 31 2c 20 64 77 2c 31 2c 20 53 45 50 5f 43 4f 4c 4f 52 29 3b 00 | ,.dx,dy+dh-1,.dw,1,.SEP_COLOR);. |
| 4940 | 00 00 00 00 00 00 10 20 20 69 6e 74 20 69 79 20 3d 20 64 79 2b 34 3b 00 00 00 1f 20 20 66 6f 72 | .........int.iy.=.dy+4;......for |
| 4960 | 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 6e 3b 20 69 2b 2b 29 20 7b 00 00 00 24 20 20 | .(int.i.=.0;.i.<.n;.i++).{...$.. |
| 4980 | 20 20 62 6f 6f 6c 20 68 6f 76 20 3d 20 28 61 2d 3e 68 6f 76 65 72 65 64 5f 69 74 65 6d 3d 3d 69 | ..bool.hov.=.(a->hovered_item==i |
| 49a0 | 29 3b 00 00 00 3c 20 20 20 20 69 66 20 28 68 6f 76 29 20 66 72 65 63 74 28 70 78 2c 70 77 2c 70 | );...<....if.(hov).frect(px,pw,p |
| 49c0 | 68 2c 20 64 78 2b 31 2c 69 79 2c 20 64 77 2d 32 2c 64 69 68 28 29 2c 20 44 52 4f 50 5f 48 4f 56 | h,.dx+1,iy,.dw-2,dih(),.DROP_HOV |
| 49e0 | 29 3b 00 00 00 71 20 20 20 20 64 73 74 72 28 70 78 2c 70 77 2c 70 68 2c 20 64 78 2b 42 54 4e 5f | );...q....dstr(px,pw,ph,.dx+BTN_ |
| 4a00 | 50 41 44 2c 20 69 79 2b 28 64 69 68 28 29 2d 63 65 6c 6c 5f 68 29 2f 32 2c 20 69 74 65 6d 73 5b | PAD,.iy+(dih()-cell_h)/2,.items[ |
| 4a20 | 69 5d 2e 6c 61 62 65 6c 2c 20 68 6f 76 3f 28 75 69 6e 74 33 32 5f 74 29 44 52 4f 50 5f 48 4f 56 | i].label,.hov?(uint32_t)DROP_HOV |
| 4a40 | 5f 46 47 3a 28 75 69 6e 74 33 32 5f 74 29 44 52 4f 50 5f 46 47 29 3b 00 00 00 10 20 20 20 20 69 | _FG:(uint32_t)DROP_FG);........i |
| 4a60 | 79 20 2b 3d 20 64 69 68 28 29 3b 00 00 00 51 20 20 20 20 69 66 20 28 69 74 65 6d 73 5b 69 5d 2e | y.+=.dih();...Q....if.(items[i]. |
| 4a80 | 73 65 70 5f 61 66 74 65 72 29 20 7b 20 66 72 65 63 74 28 70 78 2c 70 77 2c 70 68 2c 20 64 78 2b | sep_after).{.frect(px,pw,ph,.dx+ |
| 4aa0 | 34 2c 69 79 2c 64 77 2d 38 2c 31 2c 53 45 50 5f 43 4f 4c 4f 52 29 3b 20 69 79 2b 3d 34 3b 20 7d | 4,iy,dw-8,1,SEP_COLOR);.iy+=4;.} |
| 4ac0 | 00 00 00 03 20 20 7d 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 | ......}....}.......#static.void. |
| 4ae0 | 72 65 64 72 61 77 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 2b 20 20 76 6f 69 | redraw(struct.app.*a).{...+..voi |
| 4b00 | 64 20 2a 70 78 3d 61 2d 3e 70 69 78 65 6c 73 3b 20 69 6e 74 20 70 77 3d 61 2d 3e 77 2c 20 70 68 | d.*px=a->pixels;.int.pw=a->w,.ph |
| 4b20 | 3d 61 2d 3e 68 3b 00 00 00 14 20 20 69 6e 74 20 74 61 68 3d 74 65 78 74 5f 68 28 61 29 3b 00 00 | =a->h;......int.tah=text_h(a);.. |
| 4b40 | 00 3a 20 20 66 6f 72 20 28 69 6e 74 20 69 3d 30 3b 20 69 3c 70 77 2a 70 68 3b 20 69 2b 2b 29 20 | .:..for.(int.i=0;.i<pw*ph;.i++). |
| 4b60 | 28 28 75 69 6e 74 33 32 5f 74 2a 29 70 78 29 5b 69 5d 3d 42 47 5f 43 4f 4c 4f 52 3b 00 00 00 00 | ((uint32_t*)px)[i]=BG_COLOR;.... |
| 4b80 | 00 00 00 1b 20 20 69 6e 74 20 73 65 6c 5f 6c 6f 3d 2d 31 2c 20 73 65 6c 5f 68 69 3d 2d 31 3b 00 | ......int.sel_lo=-1,.sel_hi=-1;. |
| 4ba0 | 00 00 16 20 20 69 66 20 28 73 65 6c 5f 61 6e 63 68 6f 72 3e 3d 30 29 20 7b 00 00 00 35 20 20 20 | .....if.(sel_anchor>=0).{...5... |
| 4bc0 | 20 73 65 6c 5f 6c 6f 20 3d 20 73 65 6c 5f 61 6e 63 68 6f 72 3c 63 75 72 73 6f 72 20 3f 20 73 65 | .sel_lo.=.sel_anchor<cursor.?.se |
| 4be0 | 6c 5f 61 6e 63 68 6f 72 20 3a 20 63 75 72 73 6f 72 3b 00 00 00 39 20 20 20 20 73 65 6c 5f 68 69 | l_anchor.:.cursor;...9....sel_hi |
| 4c00 | 20 3d 20 73 65 6c 5f 61 6e 63 68 6f 72 3c 63 75 72 73 6f 72 20 3f 20 63 75 72 73 6f 72 20 20 20 | .=.sel_anchor<cursor.?.cursor... |
| 4c20 | 20 20 3a 20 73 65 6c 5f 61 6e 63 68 6f 72 3b 00 00 00 03 20 20 7d 00 00 00 13 20 20 69 6e 74 20 | ..:.sel_anchor;......}......int. |
| 4c40 | 63 6f 6c 3d 30 2c 20 72 6f 77 3d 30 3b 00 00 00 1f 20 20 66 6f 72 20 28 69 6e 74 20 69 3d 30 3b | col=0,.row=0;......for.(int.i=0; |
| 4c60 | 20 69 3c 3d 74 6c 65 6e 3b 20 69 2b 2b 29 20 7b 00 00 00 2b 20 20 20 20 69 6e 74 20 78 3d 50 41 | .i<=tlen;.i++).{...+....int.x=PA |
| 4c80 | 44 2b 63 6f 6c 2a 63 65 6c 6c 5f 77 2c 20 79 3d 50 41 44 2b 72 6f 77 2a 63 65 6c 6c 5f 68 3b 00 | D+col*cell_w,.y=PAD+row*cell_h;. |
| 4ca0 | 00 00 1e 20 20 20 20 69 66 20 28 79 2b 63 65 6c 6c 5f 68 20 3e 20 74 61 68 29 20 62 72 65 61 6b | .......if.(y+cell_h.>.tah).break |
| 4cc0 | 3b 00 00 00 4e 20 20 20 20 62 6f 6f 6c 20 69 6e 73 20 3d 20 73 65 6c 5f 6c 6f 3e 3d 30 20 26 26 | ;...N....bool.ins.=.sel_lo>=0.&& |
| 4ce0 | 20 69 3e 3d 73 65 6c 5f 6c 6f 20 26 26 20 69 3c 73 65 6c 5f 68 69 20 26 26 20 28 69 3e 3d 74 6c | .i>=sel_lo.&&.i<sel_hi.&&.(i>=tl |
| 4d00 | 65 6e 7c 7c 74 65 78 74 5b 69 5d 21 3d 27 5c 6e 27 29 3b 00 00 00 3b 20 20 20 20 69 66 20 28 69 | en||text[i]!='\n');...;....if.(i |
| 4d20 | 6e 73 29 20 66 72 65 63 74 28 70 78 2c 70 77 2c 70 68 2c 20 78 2c 79 2c 63 65 6c 6c 5f 77 2c 63 | ns).frect(px,pw,ph,.x,y,cell_w,c |
| 4d40 | 65 6c 6c 5f 68 2c 20 53 45 4c 5f 43 4f 4c 4f 52 29 3b 00 00 00 3c 20 20 20 20 69 66 20 28 69 3d | ell_h,.SEL_COLOR);...<....if.(i= |
| 4d60 | 3d 63 75 72 73 6f 72 29 20 66 72 65 63 74 28 70 78 2c 70 77 2c 70 68 2c 20 78 2c 79 2c 32 2c 63 | =cursor).frect(px,pw,ph,.x,y,2,c |
| 4d80 | 65 6c 6c 5f 68 2c 20 43 55 52 5f 43 4f 4c 4f 52 29 3b 00 00 00 11 20 20 20 20 69 66 20 28 69 3c | ell_h,.CUR_COLOR);........if.(i< |
| 4da0 | 74 6c 65 6e 29 20 7b 00 00 00 2a 20 20 20 20 20 20 69 66 20 28 74 65 78 74 5b 69 5d 3d 3d 27 5c | tlen).{...*......if.(text[i]=='\ |
| 4dc0 | 6e 27 29 20 7b 20 63 6f 6c 3d 30 3b 20 72 6f 77 2b 2b 3b 20 7d 00 00 00 0c 20 20 20 20 20 20 65 | n').{.col=0;.row++;.}..........e |
| 4de0 | 6c 73 65 20 7b 00 00 00 49 20 20 20 20 20 20 20 20 69 66 20 28 78 2b 63 65 6c 6c 5f 77 20 3e 20 | lse.{...I........if.(x+cell_w.>. |
| 4e00 | 70 77 2d 50 41 44 29 20 7b 20 63 6f 6c 3d 30 3b 20 72 6f 77 2b 2b 3b 20 78 3d 50 41 44 3b 20 79 | pw-PAD).{.col=0;.row++;.x=PAD;.y |
| 4e20 | 3d 50 41 44 2b 72 6f 77 2a 63 65 6c 6c 5f 68 3b 20 7d 00 00 00 72 20 20 20 20 20 20 20 20 69 66 | =PAD+row*cell_h;.}...r........if |
| 4e40 | 20 28 79 2b 63 65 6c 6c 5f 68 3c 3d 74 61 68 29 20 64 67 6c 79 70 68 28 70 78 2c 70 77 2c 70 68 | .(y+cell_h<=tah).dglyph(px,pw,ph |
| 4e60 | 2c 20 78 2c 79 2c 20 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 29 74 65 78 74 5b 69 5d 2c 20 69 | ,.x,y,.(unsigned.char)text[i],.i |
| 4e80 | 6e 73 3f 28 75 69 6e 74 33 32 5f 74 29 53 45 4c 5f 46 47 3a 28 75 69 6e 74 33 32 5f 74 29 46 47 | ns?(uint32_t)SEL_FG:(uint32_t)FG |
| 4ea0 | 5f 43 4f 4c 4f 52 29 3b 00 00 00 0e 20 20 20 20 20 20 20 20 63 6f 6c 2b 2b 3b 00 00 00 07 20 20 | _COLOR);............col++;...... |
| 4ec0 | 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 0e 20 20 64 | ....}........}......}..........d |
| 4ee0 | 72 61 77 5f 62 61 72 28 61 29 3b 00 00 00 3c 20 20 69 66 20 28 61 2d 3e 6f 70 65 6e 5f 6d 65 6e | raw_bar(a);...<..if.(a->open_men |
| 4f00 | 75 20 21 3d 20 4d 45 4e 55 5f 4e 4f 4e 45 29 20 64 72 61 77 5f 64 72 6f 70 28 61 2c 20 61 2d 3e | u.!=.MENU_NONE).draw_drop(a,.a-> |
| 4f20 | 6f 70 65 6e 5f 6d 65 6e 75 29 3b 00 00 00 00 00 00 00 2d 20 20 77 6c 5f 73 75 72 66 61 63 65 5f | open_menu);.......-..wl_surface_ |
| 4f40 | 64 61 6d 61 67 65 5f 62 75 66 66 65 72 28 61 2d 3e 77 73 2c 20 30 2c 30 2c 70 77 2c 70 68 29 3b | damage_buffer(a->ws,.0,0,pw,ph); |
| 4f60 | 00 00 00 28 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 61 2d 3e 77 73 2c 20 61 | ...(..wl_surface_attach(a->ws,.a |
| 4f80 | 2d 3e 62 75 66 2c 20 30 2c 30 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d | ->buf,.0,0);......wl_surface_com |
| 4fa0 | 6d 69 74 28 61 2d 3e 77 73 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 76 | mit(a->ws);....}.......)static.v |
| 4fc0 | 6f 69 64 20 72 65 64 72 61 77 5f 61 62 6f 75 74 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 | oid.redraw_about(struct.app.*a). |
| 4fe0 | 7b 00 00 00 1e 20 20 73 74 72 75 63 74 20 70 6f 70 75 70 20 2a 70 20 3d 20 26 61 2d 3e 61 62 6f | {......struct.popup.*p.=.&a->abo |
| 5000 | 75 74 3b 00 00 00 25 20 20 69 66 20 28 21 70 2d 3e 6f 70 65 6e 20 7c 7c 20 21 70 2d 3e 70 69 78 | ut;...%..if.(!p->open.||.!p->pix |
| 5020 | 65 6c 73 29 20 72 65 74 75 72 6e 3b 00 00 00 2b 20 20 76 6f 69 64 20 2a 70 78 3d 70 2d 3e 70 69 | els).return;...+..void.*px=p->pi |
| 5040 | 78 65 6c 73 3b 20 69 6e 74 20 70 77 3d 70 2d 3e 77 2c 20 70 68 3d 70 2d 3e 68 3b 00 00 00 3a 20 | xels;.int.pw=p->w,.ph=p->h;...:. |
| 5060 | 20 66 6f 72 20 28 69 6e 74 20 69 3d 30 3b 20 69 3c 70 77 2a 70 68 3b 20 69 2b 2b 29 20 28 28 75 | .for.(int.i=0;.i<pw*ph;.i++).((u |
| 5080 | 69 6e 74 33 32 5f 74 2a 29 70 78 29 5b 69 5d 3d 42 47 5f 43 4f 4c 4f 52 3b 00 00 00 26 20 20 66 | int32_t*)px)[i]=BG_COLOR;...&..f |
| 50a0 | 72 65 63 74 28 70 78 2c 70 77 2c 70 68 2c 20 30 2c 30 2c 70 77 2c 31 2c 53 45 50 5f 43 4f 4c 4f | rect(px,pw,ph,.0,0,pw,1,SEP_COLO |
| 50c0 | 52 29 3b 00 00 00 29 20 20 66 72 65 63 74 28 70 78 2c 70 77 2c 70 68 2c 20 30 2c 70 68 2d 31 2c | R);...)..frect(px,pw,ph,.0,ph-1, |
| 50e0 | 70 77 2c 31 2c 53 45 50 5f 43 4f 4c 4f 52 29 3b 00 00 00 26 20 20 66 72 65 63 74 28 70 78 2c 70 | pw,1,SEP_COLOR);...&..frect(px,p |
| 5100 | 77 2c 70 68 2c 20 30 2c 30 2c 31 2c 70 68 2c 53 45 50 5f 43 4f 4c 4f 52 29 3b 00 00 00 29 20 20 | w,ph,.0,0,1,ph,SEP_COLOR);...).. |
| 5120 | 66 72 65 63 74 28 70 78 2c 70 77 2c 70 68 2c 20 70 77 2d 31 2c 30 2c 31 2c 70 68 2c 53 45 50 5f | frect(px,pw,ph,.pw-1,0,1,ph,SEP_ |
| 5140 | 43 4f 4c 4f 52 29 3b 00 00 00 00 00 00 00 10 20 20 69 6e 74 20 79 20 3d 20 50 41 44 2a 32 3b 00 | COLOR);..........int.y.=.PAD*2;. |
| 5160 | 00 00 5a 20 20 64 73 74 72 28 70 78 2c 70 77 2c 70 68 2c 20 50 41 44 2a 32 2c 20 79 2c 20 22 77 | ..Z..dstr(px,pw,ph,.PAD*2,.y,."w |
| 5180 | 6c 65 64 20 20 2d 20 20 77 61 79 6c 61 6e 64 20 74 65 78 74 20 65 64 69 74 6f 72 22 2c 20 46 47 | led..-..wayland.text.editor",.FG |
| 51a0 | 5f 43 4f 4c 4f 52 29 3b 20 20 20 79 20 2b 3d 20 63 65 6c 6c 5f 68 20 2b 20 50 41 44 3b 00 00 00 | _COLOR);...y.+=.cell_h.+.PAD;... |
| 51c0 | 51 20 20 66 72 65 63 74 28 70 78 2c 70 77 2c 70 68 2c 20 50 41 44 2a 32 2c 20 79 2c 20 70 77 2d | Q..frect(px,pw,ph,.PAD*2,.y,.pw- |
| 51e0 | 50 41 44 2a 34 2c 20 31 2c 20 53 45 50 5f 43 4f 4c 4f 52 29 3b 20 20 20 20 20 20 20 20 20 20 20 | PAD*4,.1,.SEP_COLOR);........... |
| 5200 | 20 20 20 20 20 20 20 20 20 79 20 2b 3d 20 50 41 44 3b 00 00 00 58 20 20 64 73 74 72 28 70 78 2c | .........y.+=.PAD;...X..dstr(px, |
| 5220 | 70 77 2c 70 68 2c 20 50 41 44 2a 32 2c 20 79 2c 20 22 4c 69 63 65 6e 73 65 64 20 75 6e 64 65 72 | pw,ph,.PAD*2,.y,."Licensed.under |
| 5240 | 20 47 50 4c 20 76 33 2e 30 22 2c 20 20 20 20 20 20 46 47 5f 43 4f 4c 4f 52 29 3b 20 20 20 79 20 | .GPL.v3.0",......FG_COLOR);...y. |
| 5260 | 2b 3d 20 63 65 6c 6c 5f 68 20 2b 20 36 3b 00 00 00 5b 20 20 64 73 74 72 28 70 78 2c 70 77 2c 70 | +=.cell_h.+.6;...[..dstr(px,pw,p |
| 5280 | 68 2c 20 50 41 44 2a 32 2c 20 79 2c 20 22 43 72 65 61 74 65 64 20 62 79 20 20 67 69 74 2e 73 72 | h,.PAD*2,.y,."Created.by..git.sr |
| 52a0 | 2e 68 74 2f 7e 63 6f 61 73 74 65 65 6e 2f 22 2c 20 20 46 47 5f 43 4f 4c 4f 52 29 3b 20 79 20 2b | .ht/~coasteen/",..FG_COLOR);.y.+ |
| 52c0 | 3d 20 63 65 6c 6c 5f 68 20 2b 20 36 3b 00 00 00 4d 20 20 64 73 74 72 28 70 78 2c 70 77 2c 70 68 | =.cell_h.+.6;...M..dstr(px,pw,ph |
| 52e0 | 2c 20 50 41 44 2a 32 2c 20 79 2c 20 22 53 6f 75 72 63 65 3a 20 20 20 20 20 67 69 74 2e 73 72 2e | ,.PAD*2,.y,."Source:.....git.sr. |
| 5300 | 68 74 2f 7e 63 6f 61 73 74 65 65 6e 2f 77 6c 65 64 22 2c 20 46 47 5f 43 4f 4c 4f 52 29 3b 00 00 | ht/~coasteen/wled",.FG_COLOR);.. |
| 5320 | 00 00 00 00 00 2d 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 61 6d 61 67 65 5f 62 75 66 66 65 72 | .....-..wl_surface_damage_buffer |
| 5340 | 28 70 2d 3e 77 73 2c 20 30 2c 30 2c 70 77 2c 70 68 29 3b 00 00 00 28 20 20 77 6c 5f 73 75 72 66 | (p->ws,.0,0,pw,ph);...(..wl_surf |
| 5360 | 61 63 65 5f 61 74 74 61 63 68 28 70 2d 3e 77 73 2c 20 70 2d 3e 62 75 66 2c 20 30 2c 30 29 3b 00 | ace_attach(p->ws,.p->buf,.0,0);. |
| 5380 | 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 70 2d 3e 77 73 29 3b 00 00 | .....wl_surface_commit(p->ws);.. |
| 53a0 | 00 01 7d 00 00 00 00 00 00 00 4c 73 74 61 74 69 63 20 76 6f 69 64 20 61 62 6f 75 74 5f 78 73 5f | ..}.......Lstatic.void.about_xs_ |
| 53c0 | 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 | cfg(void.*d,.struct.xdg_surface. |
| 53e0 | 2a 78 73 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 31 20 20 73 74 72 | *xs,.uint32_t.serial).{...1..str |
| 5400 | 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 20 73 74 72 75 63 74 20 70 6f 70 75 70 20 2a 70 20 | uct.app.*a.=.d;.struct.popup.*p. |
| 5420 | 3d 20 26 61 2d 3e 61 62 6f 75 74 3b 00 00 00 28 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 63 | =.&a->about;...(..xdg_surface_ac |
| 5440 | 6b 5f 63 6f 6e 66 69 67 75 72 65 28 78 73 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 50 20 20 69 66 | k_configure(xs,.serial);...P..if |
| 5460 | 20 28 21 70 2d 3e 70 69 78 65 6c 73 29 20 70 2d 3e 70 69 78 65 6c 73 20 3d 20 6d 61 6b 65 5f 73 | .(!p->pixels).p->pixels.=.make_s |
| 5480 | 68 6d 28 61 2c 20 70 2d 3e 77 2c 20 70 2d 3e 68 2c 20 26 70 2d 3e 62 75 66 2c 20 26 70 2d 3e 70 | hm(a,.p->w,.p->h,.&p->buf,.&p->p |
| 54a0 | 69 78 65 6c 73 5f 73 69 7a 65 29 3b 00 00 00 17 20 20 70 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 | ixels_size);......p->configured. |
| 54c0 | 3d 20 74 72 75 65 3b 00 00 00 12 20 20 72 65 64 72 61 77 5f 61 62 6f 75 74 28 61 29 3b 00 00 00 | =.true;......redraw_about(a);... |
| 54e0 | 01 7d 00 00 00 50 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 | .}...Pstatic.const.struct.xdg_su |
| 5500 | 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 20 61 62 6f 75 74 5f 78 73 5f 6c 20 3d 20 7b 2e 63 6f | rface_listener.about_xs_l.=.{.co |
| 5520 | 6e 66 69 67 75 72 65 3d 61 62 6f 75 74 5f 78 73 5f 63 66 67 7d 3b 00 00 00 00 00 00 00 67 73 74 | nfigure=about_xs_cfg};.......gst |
| 5540 | 61 74 69 63 20 76 6f 69 64 20 61 62 6f 75 74 5f 78 74 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 | atic.void.about_xt_cfg(void.*d,. |
| 5560 | 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 2c 20 69 6e 74 33 32 5f 74 | struct.xdg_toplevel.*xt,.int32_t |
| 5580 | 20 77 2c 20 69 6e 74 33 32 5f 74 20 68 2c 20 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a | .w,.int32_t.h,.struct.wl_array.* |
| 55a0 | 73 29 20 7b 7d 00 00 00 3e 73 74 61 74 69 63 20 76 6f 69 64 20 61 62 6f 75 74 5f 78 74 5f 63 6c | s).{}...>static.void.about_xt_cl |
| 55c0 | 6f 73 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c | ose(void.*d,.struct.xdg_toplevel |
| 55e0 | 20 2a 78 74 29 20 7b 00 00 00 31 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 20 | .*xt).{...1..struct.app.*a.=.d;. |
| 5600 | 73 74 72 75 63 74 20 70 6f 70 75 70 20 2a 70 20 3d 20 26 61 2d 3e 61 62 6f 75 74 3b 00 00 00 4a | struct.popup.*p.=.&a->about;...J |
| 5620 | 20 20 69 66 20 28 70 2d 3e 62 75 66 29 20 20 20 20 7b 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 | ..if.(p->buf)....{.wl_buffer_des |
| 5640 | 74 72 6f 79 28 70 2d 3e 62 75 66 29 3b 20 20 20 20 20 20 20 20 20 20 70 2d 3e 62 75 66 20 20 20 | troy(p->buf);..........p->buf... |
| 5660 | 20 3d 20 4e 55 4c 4c 3b 20 7d 00 00 00 4a 20 20 69 66 20 28 70 2d 3e 70 69 78 65 6c 73 29 20 7b | .=.NULL;.}...J..if.(p->pixels).{ |
| 5680 | 20 6d 75 6e 6d 61 70 28 70 2d 3e 70 69 78 65 6c 73 2c 20 70 2d 3e 70 69 78 65 6c 73 5f 73 69 7a | .munmap(p->pixels,.p->pixels_siz |
| 56a0 | 65 29 3b 20 20 70 2d 3e 70 69 78 65 6c 73 20 3d 20 4e 55 4c 4c 3b 20 7d 00 00 00 4a 20 20 69 66 | e);..p->pixels.=.NULL;.}...J..if |
| 56c0 | 20 28 70 2d 3e 78 74 29 20 20 20 20 20 7b 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 64 65 73 74 | .(p->xt).....{.xdg_toplevel_dest |
| 56e0 | 72 6f 79 28 70 2d 3e 78 74 29 3b 20 20 20 20 20 20 20 20 70 2d 3e 78 74 20 20 20 20 20 3d 20 4e | roy(p->xt);........p->xt.....=.N |
| 5700 | 55 4c 4c 3b 20 7d 00 00 00 4a 20 20 69 66 20 28 70 2d 3e 78 73 29 20 20 20 20 20 7b 20 78 64 67 | ULL;.}...J..if.(p->xs).....{.xdg |
| 5720 | 5f 73 75 72 66 61 63 65 5f 64 65 73 74 72 6f 79 28 70 2d 3e 78 73 29 3b 20 20 20 20 20 20 20 20 | _surface_destroy(p->xs);........ |
| 5740 | 20 70 2d 3e 78 73 20 20 20 20 20 3d 20 4e 55 4c 4c 3b 20 7d 00 00 00 4a 20 20 69 66 20 28 70 2d | .p->xs.....=.NULL;.}...J..if.(p- |
| 5760 | 3e 77 73 29 20 20 20 20 20 7b 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 65 73 74 72 6f 79 28 70 2d | >ws).....{.wl_surface_destroy(p- |
| 5780 | 3e 77 73 29 3b 20 20 20 20 20 20 20 20 20 20 70 2d 3e 77 73 20 20 20 20 20 3d 20 4e 55 4c 4c 3b | >ws);..........p->ws.....=.NULL; |
| 57a0 | 20 7d 00 00 00 29 20 20 70 2d 3e 6f 70 65 6e 20 3d 20 66 61 6c 73 65 3b 20 70 2d 3e 63 6f 6e 66 | .}...)..p->open.=.false;.p->conf |
| 57c0 | 69 67 75 72 65 64 20 3d 20 66 61 6c 73 65 3b 00 00 00 01 7d 00 00 00 67 73 74 61 74 69 63 20 63 | igured.=.false;....}...gstatic.c |
| 57e0 | 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 | onst.struct.xdg_toplevel_listene |
| 5800 | 72 20 61 62 6f 75 74 5f 78 74 5f 6c 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 3d 61 62 6f 75 74 | r.about_xt_l.=.{.configure=about |
| 5820 | 5f 78 74 5f 63 66 67 2c 2e 63 6c 6f 73 65 3d 61 62 6f 75 74 5f 78 74 5f 63 6c 6f 73 65 7d 3b 00 | _xt_cfg,.close=about_xt_close};. |
| 5840 | 00 00 00 00 00 00 27 73 74 61 74 69 63 20 76 6f 69 64 20 6f 70 65 6e 5f 61 62 6f 75 74 28 73 74 | ......'static.void.open_about(st |
| 5860 | 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 1e 20 20 73 74 72 75 63 74 20 70 6f 70 75 70 | ruct.app.*a).{......struct.popup |
| 5880 | 20 2a 70 20 3d 20 26 61 2d 3e 61 62 6f 75 74 3b 00 00 00 16 20 20 69 66 20 28 70 2d 3e 6f 70 65 | .*p.=.&a->about;......if.(p->ope |
| 58a0 | 6e 29 20 72 65 74 75 72 6e 3b 00 00 00 10 20 20 69 6e 74 20 6c 69 6e 65 73 20 3d 20 35 3b 00 00 | n).return;......int.lines.=.5;.. |
| 58c0 | 00 1d 20 20 70 2d 3e 77 20 3d 20 32 32 20 2a 20 63 65 6c 6c 5f 77 20 2b 20 50 41 44 2a 34 3b 00 | ....p->w.=.22.*.cell_w.+.PAD*4;. |
| 58e0 | 00 00 2f 20 20 70 2d 3e 68 20 3d 20 6c 69 6e 65 73 20 2a 20 28 63 65 6c 6c 5f 68 20 2b 20 36 29 | ../..p->h.=.lines.*.(cell_h.+.6) |
| 5900 | 20 2b 20 50 41 44 2a 34 20 2b 20 63 65 6c 6c 5f 68 3b 00 00 00 1d 20 20 69 66 20 28 70 2d 3e 77 | .+.PAD*4.+.cell_h;......if.(p->w |
| 5920 | 20 3c 20 33 36 30 29 20 70 2d 3e 77 20 3d 20 33 36 30 3b 00 00 00 1d 20 20 69 66 20 28 70 2d 3e | .<.360).p->w.=.360;......if.(p-> |
| 5940 | 68 20 3c 20 31 34 30 29 20 70 2d 3e 68 20 3d 20 31 34 30 3b 00 00 00 11 20 20 70 2d 3e 6f 70 65 | h.<.140).p->h.=.140;......p->ope |
| 5960 | 6e 20 3d 20 74 72 75 65 3b 00 00 00 30 20 20 70 2d 3e 77 73 20 3d 20 77 6c 5f 63 6f 6d 70 6f 73 | n.=.true;...0..p->ws.=.wl_compos |
| 5980 | 69 74 6f 72 5f 63 72 65 61 74 65 5f 73 75 72 66 61 63 65 28 61 2d 3e 63 6f 6d 70 29 3b 00 00 00 | itor_create_surface(a->comp);... |
| 59a0 | 34 20 20 70 2d 3e 78 73 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 5f 73 | 4..p->xs.=.xdg_wm_base_get_xdg_s |
| 59c0 | 75 72 66 61 63 65 28 61 2d 3e 77 6d 2c 20 70 2d 3e 77 73 29 3b 00 00 00 32 20 20 78 64 67 5f 73 | urface(a->wm,.p->ws);...2..xdg_s |
| 59e0 | 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 70 2d 3e 78 73 2c 20 26 61 62 6f 75 | urface_add_listener(p->xs,.&abou |
| 5a00 | 74 5f 78 73 5f 6c 2c 20 61 29 3b 00 00 00 2a 20 20 70 2d 3e 78 74 20 3d 20 78 64 67 5f 73 75 72 | t_xs_l,.a);...*..p->xt.=.xdg_sur |
| 5a20 | 66 61 63 65 5f 67 65 74 5f 74 6f 70 6c 65 76 65 6c 28 70 2d 3e 78 73 29 3b 00 00 00 33 20 20 78 | face_get_toplevel(p->xs);...3..x |
| 5a40 | 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 70 2d 3e 78 74 2c 20 | dg_toplevel_add_listener(p->xt,. |
| 5a60 | 26 61 62 6f 75 74 5f 78 74 5f 6c 2c 20 61 29 3b 00 00 00 2e 20 20 78 64 67 5f 74 6f 70 6c 65 76 | &about_xt_l,.a);......xdg_toplev |
| 5a80 | 65 6c 5f 73 65 74 5f 74 69 74 6c 65 28 70 2d 3e 78 74 2c 20 22 41 62 6f 75 74 20 77 6c 65 64 22 | el_set_title(p->xt,."About.wled" |
| 5aa0 | 29 3b 00 00 00 2f 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 6d 69 6e 5f 73 69 7a | );.../..xdg_toplevel_set_min_siz |
| 5ac0 | 65 28 70 2d 3e 78 74 2c 20 70 2d 3e 77 2c 20 70 2d 3e 68 29 3b 00 00 00 2f 20 20 78 64 67 5f 74 | e(p->xt,.p->w,.p->h);.../..xdg_t |
| 5ae0 | 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 6d 61 78 5f 73 69 7a 65 28 70 2d 3e 78 74 2c 20 70 2d 3e 77 | oplevel_set_max_size(p->xt,.p->w |
| 5b00 | 2c 20 70 2d 3e 68 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 | ,.p->h);......wl_surface_commit( |
| 5b20 | 70 2d 3e 77 73 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4e 73 74 61 74 69 63 20 69 6e 74 20 73 | p->ws);....}.......Nstatic.int.s |
| 5b40 | 65 6c 5f 73 74 61 72 74 28 76 6f 69 64 29 20 7b 20 72 65 74 75 72 6e 20 73 65 6c 5f 61 6e 63 68 | el_start(void).{.return.sel_anch |
| 5b60 | 6f 72 3c 63 75 72 73 6f 72 20 3f 20 73 65 6c 5f 61 6e 63 68 6f 72 20 3a 20 63 75 72 73 6f 72 3b | or<cursor.?.sel_anchor.:.cursor; |
| 5b80 | 20 7d 00 00 00 60 73 74 61 74 69 63 20 69 6e 74 20 73 65 6c 5f 6c 65 6e 28 76 6f 69 64 29 20 20 | .}...`static.int.sel_len(void).. |
| 5ba0 | 20 7b 20 72 65 74 75 72 6e 20 73 65 6c 5f 61 6e 63 68 6f 72 3c 63 75 72 73 6f 72 20 3f 20 63 75 | .{.return.sel_anchor<cursor.?.cu |
| 5bc0 | 72 73 6f 72 2d 73 65 6c 5f 61 6e 63 68 6f 72 20 3a 20 73 65 6c 5f 61 6e 63 68 6f 72 2d 63 75 72 | rsor-sel_anchor.:.sel_anchor-cur |
| 5be0 | 73 6f 72 3b 20 7d 00 00 00 00 00 00 00 1e 73 74 61 74 69 63 20 76 6f 69 64 20 64 65 6c 65 74 65 | sor;.}........static.void.delete |
| 5c00 | 5f 73 65 6c 28 76 6f 69 64 29 20 7b 00 00 00 1b 20 20 69 66 20 28 73 65 6c 5f 61 6e 63 68 6f 72 | _sel(void).{......if.(sel_anchor |
| 5c20 | 3c 30 29 20 72 65 74 75 72 6e 3b 00 00 00 24 20 20 69 6e 74 20 6c 6f 3d 73 65 6c 5f 73 74 61 72 | <0).return;...$..int.lo=sel_star |
| 5c40 | 74 28 29 2c 20 6c 65 6e 3d 73 65 6c 5f 6c 65 6e 28 29 3b 00 00 00 2d 20 20 6d 65 6d 6d 6f 76 65 | t(),.len=sel_len();...-..memmove |
| 5c60 | 28 74 65 78 74 2b 6c 6f 2c 20 74 65 78 74 2b 6c 6f 2b 6c 65 6e 2c 20 74 6c 65 6e 2d 6c 6f 2d 6c | (text+lo,.text+lo+len,.tlen-lo-l |
| 5c80 | 65 6e 29 3b 00 00 00 37 20 20 74 6c 65 6e 2d 3d 6c 65 6e 3b 20 74 65 78 74 5b 74 6c 65 6e 5d 3d | en);...7..tlen-=len;.text[tlen]= |
| 5ca0 | 27 5c 30 27 3b 20 63 75 72 73 6f 72 3d 6c 6f 3b 20 73 65 6c 5f 61 6e 63 68 6f 72 3d 2d 31 3b 00 | '\0';.cursor=lo;.sel_anchor=-1;. |
| 5cc0 | 00 00 01 7d 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 76 6f 69 64 20 69 6e 73 28 63 6f 6e 73 | ...}.......)static.void.ins(cons |
| 5ce0 | 74 20 63 68 61 72 20 2a 73 2c 20 69 6e 74 20 6c 65 6e 29 20 7b 00 00 00 2e 20 20 69 66 20 28 74 | t.char.*s,.int.len).{......if.(t |
| 5d00 | 6c 65 6e 2b 6c 65 6e 3e 3d 4d 41 58 5f 54 45 58 54 29 20 6c 65 6e 3d 4d 41 58 5f 54 45 58 54 2d | len+len>=MAX_TEXT).len=MAX_TEXT- |
| 5d20 | 74 6c 65 6e 2d 31 3b 00 00 00 35 20 20 6d 65 6d 6d 6f 76 65 28 74 65 78 74 2b 63 75 72 73 6f 72 | tlen-1;...5..memmove(text+cursor |
| 5d40 | 2b 6c 65 6e 2c 20 74 65 78 74 2b 63 75 72 73 6f 72 2c 20 74 6c 65 6e 2d 63 75 72 73 6f 72 29 3b | +len,.text+cursor,.tlen-cursor); |
| 5d60 | 00 00 00 1e 20 20 6d 65 6d 63 70 79 28 74 65 78 74 2b 63 75 72 73 6f 72 2c 20 73 2c 20 6c 65 6e | ......memcpy(text+cursor,.s,.len |
| 5d80 | 29 3b 00 00 00 36 20 20 74 6c 65 6e 2b 3d 6c 65 6e 3b 20 74 65 78 74 5b 74 6c 65 6e 5d 3d 27 5c | );...6..tlen+=len;.text[tlen]='\ |
| 5da0 | 30 27 3b 20 63 75 72 73 6f 72 2b 3d 6c 65 6e 3b 20 64 69 72 74 79 3d 74 72 75 65 3b 00 00 00 01 | 0';.cursor+=len;.dirty=true;.... |
| 5dc0 | 7d 00 00 00 00 00 00 00 25 73 74 61 74 69 63 20 76 6f 69 64 20 63 6f 70 79 5f 73 65 6c 28 73 74 | }.......%static.void.copy_sel(st |
| 5de0 | 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 1b 20 20 69 66 20 28 73 65 6c 5f 61 6e 63 68 | ruct.app.*a).{......if.(sel_anch |
| 5e00 | 6f 72 3c 30 29 20 72 65 74 75 72 6e 3b 00 00 00 24 20 20 69 6e 74 20 6c 6f 3d 73 65 6c 5f 73 74 | or<0).return;...$..int.lo=sel_st |
| 5e20 | 61 72 74 28 29 2c 20 6c 65 6e 3d 73 65 6c 5f 6c 65 6e 28 29 3b 00 00 00 42 20 20 69 66 20 28 6c | art(),.len=sel_len();...B..if.(l |
| 5e40 | 65 6e 3e 28 69 6e 74 29 73 69 7a 65 6f 66 28 61 2d 3e 63 6c 69 70 62 6f 61 72 64 29 2d 31 29 20 | en>(int)sizeof(a->clipboard)-1). |
| 5e60 | 6c 65 6e 3d 73 69 7a 65 6f 66 28 61 2d 3e 63 6c 69 70 62 6f 61 72 64 29 2d 31 3b 00 00 00 25 20 | len=sizeof(a->clipboard)-1;...%. |
| 5e80 | 20 6d 65 6d 63 70 79 28 61 2d 3e 63 6c 69 70 62 6f 61 72 64 2c 20 74 65 78 74 2b 6c 6f 2c 20 6c | .memcpy(a->clipboard,.text+lo,.l |
| 5ea0 | 65 6e 29 3b 00 00 00 2f 20 20 61 2d 3e 63 6c 69 70 62 6f 61 72 64 5b 6c 65 6e 5d 3d 27 5c 30 27 | en);.../..a->clipboard[len]='\0' |
| 5ec0 | 3b 20 61 2d 3e 63 6c 69 70 62 6f 61 72 64 5f 6c 65 6e 3d 6c 65 6e 3b 00 00 00 3b 20 20 69 66 20 | ;.a->clipboard_len=len;...;..if. |
| 5ee0 | 28 61 2d 3e 64 73 29 20 7b 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 5f 64 65 73 74 72 6f 79 | (a->ds).{.wl_data_source_destroy |
| 5f00 | 28 61 2d 3e 64 73 29 3b 20 61 2d 3e 64 73 3d 4e 55 4c 4c 3b 20 7d 00 00 00 1e 20 20 69 66 20 28 | (a->ds);.a->ds=NULL;.}......if.( |
| 5f20 | 21 61 2d 3e 64 64 6d 7c 7c 21 61 2d 3e 64 64 29 20 72 65 74 75 72 6e 3b 00 00 00 3c 20 20 61 2d | !a->ddm||!a->dd).return;...<..a- |
| 5f40 | 3e 64 73 20 3d 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 5f 6d 61 6e 61 67 65 72 5f 63 72 65 | >ds.=.wl_data_device_manager_cre |
| 5f60 | 61 74 65 5f 64 61 74 61 5f 73 6f 75 72 63 65 28 61 2d 3e 64 64 6d 29 3b 00 00 00 3a 20 20 77 6c | ate_data_source(a->ddm);...:..wl |
| 5f80 | 5f 64 61 74 61 5f 73 6f 75 72 63 65 5f 6f 66 66 65 72 28 61 2d 3e 64 73 2c 20 22 74 65 78 74 2f | _data_source_offer(a->ds,."text/ |
| 5fa0 | 70 6c 61 69 6e 3b 63 68 61 72 73 65 74 3d 75 74 66 2d 38 22 29 3b 00 00 00 2c 20 20 77 6c 5f 64 | plain;charset=utf-8");...,..wl_d |
| 5fc0 | 61 74 61 5f 73 6f 75 72 63 65 5f 6f 66 66 65 72 28 61 2d 3e 64 73 2c 20 22 74 65 78 74 2f 70 6c | ata_source_offer(a->ds,."text/pl |
| 5fe0 | 61 69 6e 22 29 3b 00 00 00 2d 20 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 5f 6f 66 66 65 72 | ain");...-..wl_data_source_offer |
| 6000 | 28 61 2d 3e 64 73 2c 20 22 55 54 46 38 5f 53 54 52 49 4e 47 22 29 3b 00 00 00 28 20 20 77 6c 5f | (a->ds,."UTF8_STRING");...(..wl_ |
| 6020 | 64 61 74 61 5f 73 6f 75 72 63 65 5f 6f 66 66 65 72 28 61 2d 3e 64 73 2c 20 22 53 54 52 49 4e 47 | data_source_offer(a->ds,."STRING |
| 6040 | 22 29 3b 00 00 00 3d 20 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 5f 73 65 74 5f 73 65 6c 65 | ");...=..wl_data_device_set_sele |
| 6060 | 63 74 69 6f 6e 28 61 2d 3e 64 64 2c 20 61 2d 3e 64 73 2c 20 61 2d 3e 6c 61 73 74 5f 73 65 72 69 | ction(a->dd,.a->ds,.a->last_seri |
| 6080 | 61 6c 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 36 73 74 61 74 69 63 20 76 6f 69 64 20 70 72 6f | al);....}.......6static.void.pro |
| 60a0 | 63 65 73 73 5f 6b 65 79 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 2c 20 75 69 6e 74 33 32 5f 74 | cess_key(struct.app.*a,.uint32_t |
| 60c0 | 20 6b 65 79 29 20 7b 00 00 00 1c 20 20 69 66 20 28 21 61 2d 3e 78 6b 62 5f 73 74 61 74 65 29 20 | .key).{......if.(!a->xkb_state). |
| 60e0 | 72 65 74 75 72 6e 3b 00 00 00 1c 20 20 78 6b 62 5f 6b 65 79 63 6f 64 65 5f 74 20 6b 63 20 20 3d | return;......xkb_keycode_t.kc..= |
| 6100 | 20 6b 65 79 2b 38 3b 00 00 00 42 20 20 78 6b 62 5f 6b 65 79 73 79 6d 5f 74 20 20 73 79 6d 20 3d | .key+8;...B..xkb_keysym_t..sym.= |
| 6120 | 20 78 6b 62 5f 73 74 61 74 65 5f 6b 65 79 5f 67 65 74 5f 6f 6e 65 5f 73 79 6d 28 61 2d 3e 78 6b | .xkb_state_key_get_one_sym(a->xk |
| 6140 | 62 5f 73 74 61 74 65 2c 20 6b 63 29 3b 00 00 00 67 20 20 69 6e 74 20 63 74 72 6c 20 20 3d 20 78 | b_state,.kc);...g..int.ctrl..=.x |
| 6160 | 6b 62 5f 73 74 61 74 65 5f 6d 6f 64 5f 6e 61 6d 65 5f 69 73 5f 61 63 74 69 76 65 28 61 2d 3e 78 | kb_state_mod_name_is_active(a->x |
| 6180 | 6b 62 5f 73 74 61 74 65 2c 20 58 4b 42 5f 4d 4f 44 5f 4e 41 4d 45 5f 43 54 52 4c 2c 20 20 58 4b | kb_state,.XKB_MOD_NAME_CTRL,..XK |
| 61a0 | 42 5f 53 54 41 54 45 5f 4d 4f 44 53 5f 45 46 46 45 43 54 49 56 45 29 3b 00 00 00 67 20 20 69 6e | B_STATE_MODS_EFFECTIVE);...g..in |
| 61c0 | 74 20 73 68 69 66 74 20 3d 20 78 6b 62 5f 73 74 61 74 65 5f 6d 6f 64 5f 6e 61 6d 65 5f 69 73 5f | t.shift.=.xkb_state_mod_name_is_ |
| 61e0 | 61 63 74 69 76 65 28 61 2d 3e 78 6b 62 5f 73 74 61 74 65 2c 20 58 4b 42 5f 4d 4f 44 5f 4e 41 4d | active(a->xkb_state,.XKB_MOD_NAM |
| 6200 | 45 5f 53 48 49 46 54 2c 20 58 4b 42 5f 53 54 41 54 45 5f 4d 4f 44 53 5f 45 46 46 45 43 54 49 56 | E_SHIFT,.XKB_STATE_MODS_EFFECTIV |
| 6220 | 45 29 3b 00 00 00 49 20 20 78 6b 62 5f 6c 61 79 6f 75 74 5f 69 6e 64 65 78 5f 74 20 6c 61 79 6f | E);...I..xkb_layout_index_t.layo |
| 6240 | 75 74 20 3d 20 78 6b 62 5f 73 74 61 74 65 5f 6b 65 79 5f 67 65 74 5f 6c 61 79 6f 75 74 28 61 2d | ut.=.xkb_state_key_get_layout(a- |
| 6260 | 3e 78 6b 62 5f 73 74 61 74 65 2c 20 6b 63 29 3b 00 00 00 60 20 20 63 6f 6e 73 74 20 78 6b 62 5f | >xkb_state,.kc);...`..const.xkb_ |
| 6280 | 6b 65 79 73 79 6d 5f 74 20 2a 62 73 3b 20 69 6e 74 20 6e 3d 78 6b 62 5f 6b 65 79 6d 61 70 5f 6b | keysym_t.*bs;.int.n=xkb_keymap_k |
| 62a0 | 65 79 5f 67 65 74 5f 73 79 6d 73 5f 62 79 5f 6c 65 76 65 6c 28 61 2d 3e 78 6b 62 5f 6b 65 79 6d | ey_get_syms_by_level(a->xkb_keym |
| 62c0 | 61 70 2c 6b 63 2c 6c 61 79 6f 75 74 2c 30 2c 26 62 73 29 3b 00 00 00 29 20 20 78 6b 62 5f 6b 65 | ap,kc,layout,0,&bs);...)..xkb_ke |
| 62e0 | 79 73 79 6d 5f 74 20 70 6c 61 69 6e 20 3d 20 6e 3e 30 20 3f 20 62 73 5b 30 5d 20 3a 20 73 79 6d | ysym_t.plain.=.n>0.?.bs[0].:.sym |
| 6300 | 3b 00 00 00 00 00 00 00 1c 20 20 69 66 20 28 73 79 6d 3d 3d 58 4b 42 5f 4b 45 59 5f 45 73 63 61 | ;..........if.(sym==XKB_KEY_Esca |
| 6320 | 70 65 29 20 7b 00 00 00 5b 20 20 20 20 69 66 20 28 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 21 3d 4d | pe).{...[....if.(a->open_menu!=M |
| 6340 | 45 4e 55 5f 4e 4f 4e 45 29 20 7b 20 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 3d 4d 45 4e 55 5f 4e 4f | ENU_NONE).{.a->open_menu=MENU_NO |
| 6360 | 4e 45 3b 20 61 2d 3e 68 6f 76 65 72 65 64 5f 69 74 65 6d 3d 2d 31 3b 20 72 65 64 72 61 77 28 61 | NE;.a->hovered_item=-1;.redraw(a |
| 6380 | 29 3b 20 7d 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 0d 20 20 | );.}........return;......}...... |
| 63a0 | 69 66 20 28 63 74 72 6c 29 20 7b 00 00 00 6b 20 20 20 20 69 66 20 28 70 6c 61 69 6e 3d 3d 58 4b | if.(ctrl).{...k....if.(plain==XK |
| 63c0 | 42 5f 4b 45 59 5f 65 71 75 61 6c 7c 7c 70 6c 61 69 6e 3d 3d 58 4b 42 5f 4b 45 59 5f 70 6c 75 73 | B_KEY_equal||plain==XKB_KEY_plus |
| 63e0 | 29 20 7b 20 66 6f 6e 74 5f 70 74 2b 2b 3b 20 75 70 64 61 74 65 5f 66 6f 6e 74 5f 6d 65 74 72 69 | ).{.font_pt++;.update_font_metri |
| 6400 | 63 73 28 29 3b 20 72 65 64 72 61 77 28 61 29 3b 20 72 65 74 75 72 6e 3b 20 7d 00 00 00 66 20 20 | cs();.redraw(a);.return;.}...f.. |
| 6420 | 20 20 69 66 20 28 70 6c 61 69 6e 3d 3d 58 4b 42 5f 4b 45 59 5f 6d 69 6e 75 73 29 20 7b 20 69 66 | ..if.(plain==XKB_KEY_minus).{.if |
| 6440 | 20 28 66 6f 6e 74 5f 70 74 3e 34 29 7b 66 6f 6e 74 5f 70 74 2d 2d 3b 20 75 70 64 61 74 65 5f 66 | .(font_pt>4){font_pt--;.update_f |
| 6460 | 6f 6e 74 5f 6d 65 74 72 69 63 73 28 29 3b 20 72 65 64 72 61 77 28 61 29 3b 7d 20 72 65 74 75 72 | ont_metrics();.redraw(a);}.retur |
| 6480 | 6e 3b 20 7d 00 00 00 5a 20 20 20 20 69 66 20 28 70 6c 61 69 6e 3d 3d 58 4b 42 5f 4b 45 59 5f 30 | n;.}...Z....if.(plain==XKB_KEY_0 |
| 64a0 | 29 20 7b 20 66 6f 6e 74 5f 70 74 3d 46 4f 4e 54 5f 53 49 5a 45 3b 20 75 70 64 61 74 65 5f 66 6f | ).{.font_pt=FONT_SIZE;.update_fo |
| 64c0 | 6e 74 5f 6d 65 74 72 69 63 73 28 29 3b 20 72 65 64 72 61 77 28 61 29 3b 20 72 65 74 75 72 6e 3b | nt_metrics();.redraw(a);.return; |
| 64e0 | 20 7d 00 00 00 4e 20 20 20 20 69 66 20 28 70 6c 61 69 6e 3d 3d 58 4b 42 5f 4b 45 59 5f 73 7c 7c | .}...N....if.(plain==XKB_KEY_s|| |
| 6500 | 70 6c 61 69 6e 3d 3d 58 4b 42 5f 4b 45 59 5f 53 29 20 7b 20 64 6f 5f 73 61 76 65 28 61 29 3b 20 | plain==XKB_KEY_S).{.do_save(a);. |
| 6520 | 72 65 64 72 61 77 28 61 29 3b 20 72 65 74 75 72 6e 3b 20 7d 00 00 00 5d 20 20 20 20 69 66 20 28 | redraw(a);.return;.}...]....if.( |
| 6540 | 70 6c 61 69 6e 3d 3d 58 4b 42 5f 4b 45 59 5f 61 7c 7c 70 6c 61 69 6e 3d 3d 58 4b 42 5f 4b 45 59 | plain==XKB_KEY_a||plain==XKB_KEY |
| 6560 | 5f 41 29 20 7b 20 73 65 6c 5f 61 6e 63 68 6f 72 3d 30 3b 20 63 75 72 73 6f 72 3d 74 6c 65 6e 3b | _A).{.sel_anchor=0;.cursor=tlen; |
| 6580 | 20 72 65 64 72 61 77 28 61 29 3b 20 72 65 74 75 72 6e 3b 20 7d 00 00 00 44 20 20 20 20 69 66 20 | .redraw(a);.return;.}...D....if. |
| 65a0 | 28 70 6c 61 69 6e 3d 3d 58 4b 42 5f 4b 45 59 5f 63 7c 7c 70 6c 61 69 6e 3d 3d 58 4b 42 5f 4b 45 | (plain==XKB_KEY_c||plain==XKB_KE |
| 65c0 | 59 5f 43 29 20 7b 20 63 6f 70 79 5f 73 65 6c 28 61 29 3b 20 72 65 74 75 72 6e 3b 20 7d 00 00 00 | Y_C).{.copy_sel(a);.return;.}... |
| 65e0 | 5d 20 20 20 20 69 66 20 28 70 6c 61 69 6e 3d 3d 58 4b 42 5f 4b 45 59 5f 78 7c 7c 70 6c 61 69 6e | ]....if.(plain==XKB_KEY_x||plain |
| 6600 | 3d 3d 58 4b 42 5f 4b 45 59 5f 58 29 20 7b 20 63 6f 70 79 5f 73 65 6c 28 61 29 3b 20 64 65 6c 65 | ==XKB_KEY_X).{.copy_sel(a);.dele |
| 6620 | 74 65 5f 73 65 6c 28 29 3b 20 72 65 64 72 61 77 28 61 29 3b 20 72 65 74 75 72 6e 3b 20 7d 00 00 | te_sel();.redraw(a);.return;.}.. |
| 6640 | 00 85 20 20 20 20 69 66 20 28 70 6c 61 69 6e 3d 3d 58 4b 42 5f 4b 45 59 5f 76 7c 7c 70 6c 61 69 | ......if.(plain==XKB_KEY_v||plai |
| 6660 | 6e 3d 3d 58 4b 42 5f 4b 45 59 5f 56 29 20 7b 20 69 66 28 73 65 6c 5f 61 6e 63 68 6f 72 3e 3d 30 | n==XKB_KEY_V).{.if(sel_anchor>=0 |
| 6680 | 29 64 65 6c 65 74 65 5f 73 65 6c 28 29 3b 20 69 6e 73 28 61 2d 3e 63 6c 69 70 62 6f 61 72 64 2c | )delete_sel();.ins(a->clipboard, |
| 66a0 | 61 2d 3e 63 6c 69 70 62 6f 61 72 64 5f 6c 65 6e 29 3b 20 72 65 64 72 61 77 28 61 29 3b 20 72 65 | a->clipboard_len);.redraw(a);.re |
| 66c0 | 74 75 72 6e 3b 20 7d 00 00 00 03 20 20 7d 00 00 00 53 20 20 69 66 20 28 73 79 6d 3d 3d 58 4b 42 | turn;.}......}...S..if.(sym==XKB |
| 66e0 | 5f 4b 45 59 5f 4c 65 66 74 7c 7c 73 79 6d 3d 3d 58 4b 42 5f 4b 45 59 5f 52 69 67 68 74 7c 7c 73 | _KEY_Left||sym==XKB_KEY_Right||s |
| 6700 | 79 6d 3d 3d 58 4b 42 5f 4b 45 59 5f 48 6f 6d 65 7c 7c 73 79 6d 3d 3d 58 4b 42 5f 4b 45 59 5f 45 | ym==XKB_KEY_Home||sym==XKB_KEY_E |
| 6720 | 6e 64 29 20 7b 00 00 00 2f 20 20 20 20 69 66 20 28 73 68 69 66 74 26 26 73 65 6c 5f 61 6e 63 68 | nd).{.../....if.(shift&&sel_anch |
| 6740 | 6f 72 3c 30 29 20 73 65 6c 5f 61 6e 63 68 6f 72 3d 63 75 72 73 6f 72 3b 00 00 00 23 20 20 20 20 | or<0).sel_anchor=cursor;...#.... |
| 6760 | 65 6c 73 65 20 69 66 20 28 21 73 68 69 66 74 29 20 73 65 6c 5f 61 6e 63 68 6f 72 3d 2d 31 3b 00 | else.if.(!shift).sel_anchor=-1;. |
| 6780 | 00 00 33 20 20 20 20 69 66 20 28 73 79 6d 3d 3d 58 4b 42 5f 4b 45 59 5f 4c 65 66 74 20 20 26 26 | ..3....if.(sym==XKB_KEY_Left..&& |
| 67a0 | 63 75 72 73 6f 72 3e 30 29 20 20 20 20 63 75 72 73 6f 72 2d 2d 3b 00 00 00 33 20 20 20 20 69 66 | cursor>0)....cursor--;...3....if |
| 67c0 | 20 28 73 79 6d 3d 3d 58 4b 42 5f 4b 45 59 5f 52 69 67 68 74 20 26 26 63 75 72 73 6f 72 3c 74 6c | .(sym==XKB_KEY_Right.&&cursor<tl |
| 67e0 | 65 6e 29 20 63 75 72 73 6f 72 2b 2b 3b 00 00 00 52 20 20 20 20 69 66 20 28 73 79 6d 3d 3d 58 4b | en).cursor++;...R....if.(sym==XK |
| 6800 | 42 5f 4b 45 59 5f 48 6f 6d 65 29 20 7b 20 77 68 69 6c 65 28 63 75 72 73 6f 72 3e 30 20 20 20 20 | B_KEY_Home).{.while(cursor>0.... |
| 6820 | 26 26 74 65 78 74 5b 63 75 72 73 6f 72 2d 31 5d 21 3d 27 5c 6e 27 29 20 63 75 72 73 6f 72 2d 2d | &&text[cursor-1]!='\n').cursor-- |
| 6840 | 3b 20 7d 00 00 00 52 20 20 20 20 69 66 20 28 73 79 6d 3d 3d 58 4b 42 5f 4b 45 59 5f 45 6e 64 29 | ;.}...R....if.(sym==XKB_KEY_End) |
| 6860 | 20 20 7b 20 77 68 69 6c 65 28 63 75 72 73 6f 72 3c 74 6c 65 6e 20 26 26 74 65 78 74 5b 63 75 72 | ..{.while(cursor<tlen.&&text[cur |
| 6880 | 73 6f 72 5d 20 20 21 3d 27 5c 6e 27 29 20 63 75 72 73 6f 72 2b 2b 3b 20 7d 00 00 00 31 20 20 20 | sor]..!='\n').cursor++;.}...1... |
| 68a0 | 20 69 66 20 28 73 68 69 66 74 26 26 73 65 6c 5f 61 6e 63 68 6f 72 3d 3d 63 75 72 73 6f 72 29 20 | .if.(shift&&sel_anchor==cursor). |
| 68c0 | 73 65 6c 5f 61 6e 63 68 6f 72 3d 2d 31 3b 00 00 00 16 20 20 20 20 72 65 64 72 61 77 28 61 29 3b | sel_anchor=-1;........redraw(a); |
| 68e0 | 20 72 65 74 75 72 6e 3b 00 00 00 03 20 20 7d 00 00 00 1f 20 20 69 66 20 28 73 79 6d 3d 3d 58 4b | .return;......}......if.(sym==XK |
| 6900 | 42 5f 4b 45 59 5f 42 61 63 6b 53 70 61 63 65 29 20 7b 00 00 00 24 20 20 20 20 69 66 20 28 73 65 | B_KEY_BackSpace).{...$....if.(se |
| 6920 | 6c 5f 61 6e 63 68 6f 72 3e 3d 30 29 20 64 65 6c 65 74 65 5f 73 65 6c 28 29 3b 00 00 00 79 20 20 | l_anchor>=0).delete_sel();...y.. |
| 6940 | 20 20 65 6c 73 65 20 69 66 20 28 63 75 72 73 6f 72 3e 30 29 20 7b 20 6d 65 6d 6d 6f 76 65 28 74 | ..else.if.(cursor>0).{.memmove(t |
| 6960 | 65 78 74 2b 63 75 72 73 6f 72 2d 31 2c 74 65 78 74 2b 63 75 72 73 6f 72 2c 74 6c 65 6e 2d 63 75 | ext+cursor-1,text+cursor,tlen-cu |
| 6980 | 72 73 6f 72 29 3b 20 74 6c 65 6e 2d 2d 3b 20 63 75 72 73 6f 72 2d 2d 3b 20 74 65 78 74 5b 74 6c | rsor);.tlen--;.cursor--;.text[tl |
| 69a0 | 65 6e 5d 3d 27 5c 30 27 3b 20 64 69 72 74 79 3d 74 72 75 65 3b 20 7d 00 00 00 16 20 20 20 20 72 | en]='\0';.dirty=true;.}........r |
| 69c0 | 65 64 72 61 77 28 61 29 3b 20 72 65 74 75 72 6e 3b 00 00 00 03 20 20 7d 00 00 00 1c 20 20 69 66 | edraw(a);.return;......}......if |
| 69e0 | 20 28 73 79 6d 3d 3d 58 4b 42 5f 4b 45 59 5f 44 65 6c 65 74 65 29 20 7b 00 00 00 24 20 20 20 20 | .(sym==XKB_KEY_Delete).{...$.... |
| 6a00 | 69 66 20 28 73 65 6c 5f 61 6e 63 68 6f 72 3e 3d 30 29 20 64 65 6c 65 74 65 5f 73 65 6c 28 29 3b | if.(sel_anchor>=0).delete_sel(); |
| 6a20 | 00 00 00 74 20 20 20 20 65 6c 73 65 20 69 66 20 28 63 75 72 73 6f 72 3c 74 6c 65 6e 29 20 7b 20 | ...t....else.if.(cursor<tlen).{. |
| 6a40 | 6d 65 6d 6d 6f 76 65 28 74 65 78 74 2b 63 75 72 73 6f 72 2c 74 65 78 74 2b 63 75 72 73 6f 72 2b | memmove(text+cursor,text+cursor+ |
| 6a60 | 31 2c 74 6c 65 6e 2d 63 75 72 73 6f 72 2d 31 29 3b 20 74 6c 65 6e 2d 2d 3b 20 74 65 78 74 5b 74 | 1,tlen-cursor-1);.tlen--;.text[t |
| 6a80 | 6c 65 6e 5d 3d 27 5c 30 27 3b 20 64 69 72 74 79 3d 74 72 75 65 3b 20 7d 00 00 00 16 20 20 20 20 | len]='\0';.dirty=true;.}........ |
| 6aa0 | 72 65 64 72 61 77 28 61 29 3b 20 72 65 74 75 72 6e 3b 00 00 00 03 20 20 7d 00 00 00 33 20 20 69 | redraw(a);.return;......}...3..i |
| 6ac0 | 66 20 28 73 79 6d 3d 3d 58 4b 42 5f 4b 45 59 5f 52 65 74 75 72 6e 7c 7c 73 79 6d 3d 3d 58 4b 42 | f.(sym==XKB_KEY_Return||sym==XKB |
| 6ae0 | 5f 4b 45 59 5f 4b 50 5f 45 6e 74 65 72 29 20 7b 00 00 00 44 20 20 20 20 69 66 20 28 73 65 6c 5f | _KEY_KP_Enter).{...D....if.(sel_ |
| 6b00 | 61 6e 63 68 6f 72 3e 3d 30 29 20 64 65 6c 65 74 65 5f 73 65 6c 28 29 3b 20 69 6e 73 28 22 5c 6e | anchor>=0).delete_sel();.ins("\n |
| 6b20 | 22 2c 31 29 3b 20 72 65 64 72 61 77 28 61 29 3b 20 72 65 74 75 72 6e 3b 00 00 00 03 20 20 7d 00 | ",1);.redraw(a);.return;......}. |
| 6b40 | 00 00 4e 20 20 63 68 61 72 20 62 75 66 5b 38 5d 3b 20 69 6e 74 20 6c 65 6e 3d 78 6b 62 5f 73 74 | ..N..char.buf[8];.int.len=xkb_st |
| 6b60 | 61 74 65 5f 6b 65 79 5f 67 65 74 5f 75 74 66 38 28 61 2d 3e 78 6b 62 5f 73 74 61 74 65 2c 6b 63 | ate_key_get_utf8(a->xkb_state,kc |
| 6b80 | 2c 62 75 66 2c 73 69 7a 65 6f 66 20 62 75 66 29 3b 00 00 00 63 20 20 69 66 20 28 6c 65 6e 3e 30 | ,buf,sizeof.buf);...c..if.(len>0 |
| 6ba0 | 26 26 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 29 62 75 66 5b 30 5d 3e 3d 33 32 29 20 7b 20 69 | &&(unsigned.char)buf[0]>=32).{.i |
| 6bc0 | 66 28 73 65 6c 5f 61 6e 63 68 6f 72 3e 3d 30 29 64 65 6c 65 74 65 5f 73 65 6c 28 29 3b 20 69 6e | f(sel_anchor>=0)delete_sel();.in |
| 6be0 | 73 28 62 75 66 2c 6c 65 6e 29 3b 20 72 65 64 72 61 77 28 61 29 3b 20 7d 00 00 00 01 7d 00 00 00 | s(buf,len);.redraw(a);.}....}... |
| 6c00 | 00 00 00 00 66 73 74 61 74 69 63 20 76 6f 69 64 20 77 6d 5f 70 69 6e 67 28 76 6f 69 64 20 2a 64 | ....fstatic.void.wm_ping(void.*d |
| 6c20 | 2c 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 2c 20 75 69 6e 74 33 32 | ,.struct.xdg_wm_base.*wm,.uint32 |
| 6c40 | 5f 74 20 73 65 72 69 61 6c 29 20 7b 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d | _t.serial).{.xdg_wm_base_pong(wm |
| 6c60 | 2c 73 65 72 69 61 6c 29 3b 20 7d 00 00 00 47 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 | ,serial);.}...Gstatic.const.stru |
| 6c80 | 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 77 6d 5f 6c 69 73 74 65 | ct.xdg_wm_base_listener.wm_liste |
| 6ca0 | 6e 65 72 20 3d 20 7b 2e 70 69 6e 67 3d 77 6d 5f 70 69 6e 67 7d 3b 00 00 00 00 00 00 00 26 73 74 | ner.=.{.ping=wm_ping};.......&st |
| 6cc0 | 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 5f 62 75 66 28 73 74 72 75 63 74 20 61 70 70 20 2a | atic.void.alloc_buf(struct.app.* |
| 6ce0 | 61 29 20 7b 00 00 00 3c 20 20 69 66 20 28 61 2d 3e 62 75 66 29 20 20 20 20 7b 20 77 6c 5f 62 75 | a).{...<..if.(a->buf)....{.wl_bu |
| 6d00 | 66 66 65 72 5f 64 65 73 74 72 6f 79 28 61 2d 3e 62 75 66 29 3b 20 61 2d 3e 62 75 66 3d 4e 55 4c | ffer_destroy(a->buf);.a->buf=NUL |
| 6d20 | 4c 3b 20 7d 00 00 00 46 20 20 69 66 20 28 61 2d 3e 70 69 78 65 6c 73 29 20 7b 20 6d 75 6e 6d 61 | L;.}...F..if.(a->pixels).{.munma |
| 6d40 | 70 28 61 2d 3e 70 69 78 65 6c 73 2c 61 2d 3e 70 69 78 65 6c 73 5f 73 69 7a 65 29 3b 20 61 2d 3e | p(a->pixels,a->pixels_size);.a-> |
| 6d60 | 70 69 78 65 6c 73 3d 4e 55 4c 4c 3b 20 7d 00 00 00 40 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 | pixels=NULL;.}...@..a->pixels.=. |
| 6d80 | 6d 61 6b 65 5f 73 68 6d 28 61 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 26 61 2d 3e 62 75 66 2c | make_shm(a,.a->w,.a->h,.&a->buf, |
| 6da0 | 20 26 61 2d 3e 70 69 78 65 6c 73 5f 73 69 7a 65 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 46 73 | .&a->pixels_size);....}.......Fs |
| 6dc0 | 74 61 74 69 63 20 76 6f 69 64 20 78 73 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 | tatic.void.xs_cfg(void.*d,.struc |
| 6de0 | 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 | t.xdg_surface.*xs,.uint32_t.seri |
| 6e00 | 61 6c 29 20 7b 00 00 00 38 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 3d 64 3b 20 78 64 67 5f | al).{...8..struct.app.*a=d;.xdg_ |
| 6e20 | 73 75 72 66 61 63 65 5f 61 63 6b 5f 63 6f 6e 66 69 67 75 72 65 28 78 73 2c 73 65 72 69 61 6c 29 | surface_ack_configure(xs,serial) |
| 6e40 | 3b 00 00 00 6f 20 20 69 66 20 28 61 2d 3e 70 65 6e 64 69 6e 67 5f 77 3e 30 26 26 61 2d 3e 70 65 | ;...o..if.(a->pending_w>0&&a->pe |
| 6e60 | 6e 64 69 6e 67 5f 68 3e 30 29 20 7b 20 61 2d 3e 77 3d 61 2d 3e 70 65 6e 64 69 6e 67 5f 77 3b 20 | nding_h>0).{.a->w=a->pending_w;. |
| 6e80 | 61 2d 3e 68 3d 61 2d 3e 70 65 6e 64 69 6e 67 5f 68 3b 20 61 2d 3e 70 65 6e 64 69 6e 67 5f 77 3d | a->h=a->pending_h;.a->pending_w= |
| 6ea0 | 30 3b 20 61 2d 3e 70 65 6e 64 69 6e 67 5f 68 3d 30 3b 20 7d 00 00 00 29 20 20 69 66 20 28 21 61 | 0;.a->pending_h=0;.}...)..if.(!a |
| 6ec0 | 2d 3e 63 6f 6e 66 69 67 75 72 65 64 29 20 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 3d 74 72 75 65 | ->configured).a->configured=true |
| 6ee0 | 3b 00 00 00 1a 20 20 61 6c 6c 6f 63 5f 62 75 66 28 61 29 3b 20 72 65 64 72 61 77 28 61 29 3b 00 | ;......alloc_buf(a);.redraw(a);. |
| 6f00 | 00 00 01 7d 00 00 00 4b 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f | ...}...Kstatic.const.struct.xdg_ |
| 6f20 | 73 75 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 20 78 73 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b | surface_listener.xs_listener.=.{ |
| 6f40 | 2e 63 6f 6e 66 69 67 75 72 65 3d 78 73 5f 63 66 67 7d 3b 00 00 00 00 00 00 00 60 73 74 61 74 69 | .configure=xs_cfg};.......`stati |
| 6f60 | 63 20 76 6f 69 64 20 78 74 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 | c.void.xt_cfg(void.*d,.struct.xd |
| 6f80 | 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 2c 20 69 6e 74 33 32 5f 74 20 77 2c 20 69 6e 74 33 32 | g_toplevel.*xt,.int32_t.w,.int32 |
| 6fa0 | 5f 74 20 68 2c 20 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 29 20 7b 00 00 00 3f 20 | _t.h,.struct.wl_array.*s).{...?. |
| 6fc0 | 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 3d 64 3b 20 69 66 28 77 3e 30 26 26 68 3e 30 29 7b 61 | .struct.app.*a=d;.if(w>0&&h>0){a |
| 6fe0 | 2d 3e 70 65 6e 64 69 6e 67 5f 77 3d 77 3b 61 2d 3e 70 65 6e 64 69 6e 67 5f 68 3d 68 3b 7d 00 00 | ->pending_w=w;a->pending_h=h;}.. |
| 7000 | 00 01 7d 00 00 00 43 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 6c 6f 73 65 28 76 6f 69 64 | ..}...Cstatic.void.xt_close(void |
| 7020 | 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 29 20 7b 20 | .*d,.struct.xdg_toplevel.*xt).{. |
| 7040 | 65 78 69 74 28 30 29 3b 20 7d 00 00 00 5c 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 | exit(0);.}...\static.const.struc |
| 7060 | 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 78 74 5f 6c 69 73 74 65 | t.xdg_toplevel_listener.xt_liste |
| 7080 | 6e 65 72 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 3d 78 74 5f 63 66 67 2c 2e 63 6c 6f 73 65 3d | ner.=.{.configure=xt_cfg,.close= |
| 70a0 | 78 74 5f 63 6c 6f 73 65 7d 3b 00 00 00 00 00 00 00 4a 73 74 61 74 69 63 20 76 6f 69 64 20 64 73 | xt_close};.......Jstatic.void.ds |
| 70c0 | 5f 74 61 72 67 65 74 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f | _target(void.*d,.struct.wl_data_ |
| 70e0 | 73 6f 75 72 63 65 20 2a 73 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6d 29 20 7b 7d 00 00 00 53 | source.*s,.const.char.*m).{}...S |
| 7100 | 73 74 61 74 69 63 20 76 6f 69 64 20 64 73 5f 73 65 6e 64 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 | static.void.ds_send(void.*d,.str |
| 7120 | 75 63 74 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 20 2a 73 2c 20 63 6f 6e 73 74 20 63 68 61 | uct.wl_data_source.*s,.const.cha |
| 7140 | 72 20 2a 6d 2c 20 69 6e 74 33 32 5f 74 20 66 64 29 20 7b 00 00 00 46 20 20 73 74 72 75 63 74 20 | r.*m,.int32_t.fd).{...F..struct. |
| 7160 | 61 70 70 20 2a 61 3d 64 3b 20 77 72 69 74 65 28 66 64 2c 61 2d 3e 63 6c 69 70 62 6f 61 72 64 2c | app.*a=d;.write(fd,a->clipboard, |
| 7180 | 61 2d 3e 63 6c 69 70 62 6f 61 72 64 5f 6c 65 6e 29 3b 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 | a->clipboard_len);.close(fd);... |
| 71a0 | 01 7d 00 00 00 3d 73 74 61 74 69 63 20 76 6f 69 64 20 64 73 5f 63 61 6e 63 65 6c 6c 65 64 28 76 | .}...=static.void.ds_cancelled(v |
| 71c0 | 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 20 2a 73 | oid.*d,.struct.wl_data_source.*s |
| 71e0 | 29 20 7b 00 00 00 47 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 3d 64 3b 20 69 66 28 61 2d 3e | ).{...G..struct.app.*a=d;.if(a-> |
| 7200 | 64 73 29 7b 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 5f 64 65 73 74 72 6f 79 28 61 2d 3e 64 73 | ds){wl_data_source_destroy(a->ds |
| 7220 | 29 3b 61 2d 3e 64 73 3d 4e 55 4c 4c 3b 7d 00 00 00 01 7d 00 00 00 74 73 74 61 74 69 63 20 63 6f | );a->ds=NULL;}....}...tstatic.co |
| 7240 | 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 5f 6c 69 73 74 65 6e | nst.struct.wl_data_source_listen |
| 7260 | 65 72 20 64 73 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 2e 74 61 72 67 65 74 3d 64 73 5f 74 61 72 | er.ds_listener.=.{.target=ds_tar |
| 7280 | 67 65 74 2c 2e 73 65 6e 64 3d 64 73 5f 73 65 6e 64 2c 2e 63 61 6e 63 65 6c 6c 65 64 3d 64 73 5f | get,.send=ds_send,.cancelled=ds_ |
| 72a0 | 63 61 6e 63 65 6c 6c 65 64 7d 3b 00 00 00 00 00 00 00 54 73 74 61 74 69 63 20 76 6f 69 64 20 64 | cancelled};.......Tstatic.void.d |
| 72c0 | 64 5f 6f 66 66 65 72 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f | d_offer(void.*d,.struct.wl_data_ |
| 72e0 | 64 65 76 69 63 65 20 2a 64 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 6f 66 66 65 72 | device.*dd,.struct.wl_data_offer |
| 7300 | 20 2a 6f 29 20 7b 7d 00 00 00 93 73 74 61 74 69 63 20 76 6f 69 64 20 64 64 5f 65 6e 74 65 72 28 | .*o).{}....static.void.dd_enter( |
| 7320 | 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 20 2a | void.*d,.struct.wl_data_device.* |
| 7340 | 64 64 2c 20 75 69 6e 74 33 32 5f 74 20 73 2c 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 | dd,.uint32_t.s,.struct.wl_surfac |
| 7360 | 65 20 2a 73 75 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 78 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 | e.*su,.wl_fixed_t.x,.wl_fixed_t. |
| 7380 | 79 2c 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 6f 66 66 65 72 20 2a 6f 29 20 7b 7d 00 00 | y,.struct.wl_data_offer.*o).{}.. |
| 73a0 | 00 3b 73 74 61 74 69 63 20 76 6f 69 64 20 64 64 5f 6c 65 61 76 65 28 76 6f 69 64 20 2a 64 2c 20 | .;static.void.dd_leave(void.*d,. |
| 73c0 | 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 20 2a 64 64 29 20 7b 7d 00 00 00 | struct.wl_data_device.*dd).{}... |
| 73e0 | 64 73 74 61 74 69 63 20 76 6f 69 64 20 64 64 5f 6d 6f 74 69 6f 6e 28 76 6f 69 64 20 2a 64 2c 20 | dstatic.void.dd_motion(void.*d,. |
| 7400 | 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 20 2a 64 64 2c 20 75 69 6e 74 33 | struct.wl_data_device.*dd,.uint3 |
| 7420 | 32 5f 74 20 74 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 78 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 | 2_t.t,.wl_fixed_t.x,.wl_fixed_t. |
| 7440 | 79 29 20 7b 7d 00 00 00 3a 73 74 61 74 69 63 20 76 6f 69 64 20 64 64 5f 64 72 6f 70 28 76 6f 69 | y).{}...:static.void.dd_drop(voi |
| 7460 | 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 20 2a 64 64 29 | d.*d,.struct.wl_data_device.*dd) |
| 7480 | 20 7b 7d 00 00 00 58 73 74 61 74 69 63 20 76 6f 69 64 20 64 64 5f 73 65 6c 65 63 74 69 6f 6e 28 | .{}...Xstatic.void.dd_selection( |
| 74a0 | 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 20 2a | void.*d,.struct.wl_data_device.* |
| 74c0 | 64 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 6f 66 66 65 72 20 2a 6f 29 20 7b 7d 00 | dd,.struct.wl_data_offer.*o).{}. |
| 74e0 | 00 00 3b 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 64 | ..;static.const.struct.wl_data_d |
| 7500 | 65 76 69 63 65 5f 6c 69 73 74 65 6e 65 72 20 64 64 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 | evice_listener.dd_listener.=.{.. |
| 7520 | 00 6e 20 20 2e 64 61 74 61 5f 6f 66 66 65 72 3d 64 64 5f 6f 66 66 65 72 2c 2e 65 6e 74 65 72 3d | .n...data_offer=dd_offer,.enter= |
| 7540 | 64 64 5f 65 6e 74 65 72 2c 2e 6c 65 61 76 65 3d 64 64 5f 6c 65 61 76 65 2c 2e 6d 6f 74 69 6f 6e | dd_enter,.leave=dd_leave,.motion |
| 7560 | 3d 64 64 5f 6d 6f 74 69 6f 6e 2c 2e 64 72 6f 70 3d 64 64 5f 64 72 6f 70 2c 2e 73 65 6c 65 63 74 | =dd_motion,.drop=dd_drop,.select |
| 7580 | 69 6f 6e 3d 64 64 5f 73 65 6c 65 63 74 69 6f 6e 00 00 00 02 7d 3b 00 00 00 00 00 00 00 76 73 74 | ion=dd_selection....};.......vst |
| 75a0 | 61 74 69 63 20 76 6f 69 64 20 70 74 72 5f 65 6e 74 65 72 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 | atic.void.ptr_enter(void.*d,.str |
| 75c0 | 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 2c 20 75 69 6e 74 33 32 5f 74 20 73 2c 20 73 | uct.wl_pointer.*p,.uint32_t.s,.s |
| 75e0 | 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 2c 20 77 6c 5f 66 69 78 65 64 5f 74 | truct.wl_surface.*su,.wl_fixed_t |
| 7600 | 20 78 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 79 29 20 7b 7d 00 00 00 5a 73 74 61 74 69 63 20 76 | .x,.wl_fixed_t.y).{}...Zstatic.v |
| 7620 | 6f 69 64 20 70 74 72 5f 6c 65 61 76 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c | oid.ptr_leave(void.*d,.struct.wl |
| 7640 | 5f 70 6f 69 6e 74 65 72 20 2a 70 2c 20 75 69 6e 74 33 32 5f 74 20 73 2c 20 73 74 72 75 63 74 20 | _pointer.*p,.uint32_t.s,.struct. |
| 7660 | 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 29 20 7b 7d 00 00 00 5f 73 74 61 74 69 63 20 76 6f 69 | wl_surface.*su).{}..._static.voi |
| 7680 | 64 20 70 74 72 5f 6d 6f 74 69 6f 6e 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f | d.ptr_motion(void.*d,.struct.wl_ |
| 76a0 | 70 6f 69 6e 74 65 72 20 2a 70 2c 20 75 69 6e 74 33 32 5f 74 20 74 2c 20 77 6c 5f 66 69 78 65 64 | pointer.*p,.uint32_t.t,.wl_fixed |
| 76c0 | 5f 74 20 78 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 79 29 20 7b 00 00 00 12 20 20 73 74 72 75 63 | _t.x,.wl_fixed_t.y).{......struc |
| 76e0 | 74 20 61 70 70 20 2a 61 3d 64 3b 00 00 00 3f 20 20 61 2d 3e 6d 6f 75 73 65 5f 78 3d 77 6c 5f 66 | t.app.*a=d;...?..a->mouse_x=wl_f |
| 7700 | 69 78 65 64 5f 74 6f 5f 69 6e 74 28 78 29 3b 20 61 2d 3e 6d 6f 75 73 65 5f 79 3d 77 6c 5f 66 69 | ixed_to_int(x);.a->mouse_y=wl_fi |
| 7720 | 78 65 64 5f 74 6f 5f 69 6e 74 28 79 29 3b 00 00 00 20 20 20 69 66 20 28 61 2d 3e 6f 70 65 6e 5f | xed_to_int(y);......if.(a->open_ |
| 7740 | 6d 65 6e 75 21 3d 4d 45 4e 55 5f 4e 4f 4e 45 29 20 7b 00 00 00 2e 20 20 20 20 69 6e 74 20 69 74 | menu!=MENU_NONE).{........int.it |
| 7760 | 3d 69 74 65 6d 5f 61 74 28 61 2c 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 2c 61 2d 3e 6d 6f 75 73 65 | =item_at(a,a->open_menu,a->mouse |
| 7780 | 5f 79 29 3b 00 00 00 47 20 20 20 20 69 66 20 28 69 74 21 3d 61 2d 3e 68 6f 76 65 72 65 64 5f 69 | _y);...G....if.(it!=a->hovered_i |
| 77a0 | 74 65 6d 29 20 7b 20 61 2d 3e 68 6f 76 65 72 65 64 5f 69 74 65 6d 3d 69 74 3b 20 72 65 64 72 61 | tem).{.a->hovered_item=it;.redra |
| 77c0 | 77 28 61 29 3b 20 72 65 74 75 72 6e 3b 20 7d 00 00 00 03 20 20 7d 00 00 00 28 20 20 69 66 20 28 | w(a);.return;.}......}...(..if.( |
| 77e0 | 61 2d 3e 6d 6f 75 73 65 5f 79 20 3e 3d 20 62 61 72 5f 79 28 61 29 29 20 72 65 64 72 61 77 28 61 | a->mouse_y.>=.bar_y(a)).redraw(a |
| 7800 | 29 3b 00 00 00 01 7d 00 00 00 72 73 74 61 74 69 63 20 76 6f 69 64 20 70 74 72 5f 62 75 74 74 6f | );....}...rstatic.void.ptr_butto |
| 7820 | 6e 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 2c | n(void.*d,.struct.wl_pointer.*p, |
| 7840 | 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 2c 20 75 69 6e 74 33 32 5f 74 20 74 2c 20 75 69 | .uint32_t.serial,.uint32_t.t,.ui |
| 7860 | 6e 74 33 32 5f 74 20 62 74 6e 2c 20 75 69 6e 74 33 32 5f 74 20 73 74 61 74 65 29 20 7b 00 00 00 | nt32_t.btn,.uint32_t.state).{... |
| 7880 | 12 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 3d 64 3b 00 00 00 35 20 20 69 66 20 28 73 74 61 | ...struct.app.*a=d;...5..if.(sta |
| 78a0 | 74 65 21 3d 57 4c 5f 50 4f 49 4e 54 45 52 5f 42 55 54 54 4f 4e 5f 53 54 41 54 45 5f 50 52 45 53 | te!=WL_POINTER_BUTTON_STATE_PRES |
| 78c0 | 53 45 44 29 20 72 65 74 75 72 6e 3b 00 00 00 18 20 20 61 2d 3e 6c 61 73 74 5f 73 65 72 69 61 6c | SED).return;......a->last_serial |
| 78e0 | 3d 73 65 72 69 61 6c 3b 00 00 00 12 20 20 69 6e 74 20 62 79 3d 62 61 72 5f 79 28 61 29 3b 00 00 | =serial;......int.by=bar_y(a);.. |
| 7900 | 00 00 00 00 00 20 20 20 69 66 20 28 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 21 3d 4d 45 4e 55 5f 4e | ........if.(a->open_menu!=MENU_N |
| 7920 | 4f 4e 45 29 20 7b 00 00 00 2e 20 20 20 20 69 6e 74 20 69 74 3d 69 74 65 6d 5f 61 74 28 61 2c 61 | ONE).{........int.it=item_at(a,a |
| 7940 | 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 2c 61 2d 3e 6d 6f 75 73 65 5f 79 29 3b 00 00 00 38 20 20 20 20 | ->open_menu,a->mouse_y);...8.... |
| 7960 | 69 66 20 28 69 74 3e 3d 30 29 20 7b 20 66 69 72 65 5f 69 74 65 6d 28 61 2c 61 2d 3e 6f 70 65 6e | if.(it>=0).{.fire_item(a,a->open |
| 7980 | 5f 6d 65 6e 75 2c 69 74 29 3b 20 72 65 74 75 72 6e 3b 20 7d 00 00 00 19 20 20 20 20 69 66 20 28 | _menu,it);.return;.}........if.( |
| 79a0 | 61 2d 3e 6d 6f 75 73 65 5f 79 3e 3d 62 79 29 20 7b 00 00 00 9e 20 20 20 20 20 20 66 6f 72 20 28 | a->mouse_y>=by).{..........for.( |
| 79c0 | 69 6e 74 20 69 3d 30 3b 69 3c 32 3b 69 2b 2b 29 20 7b 20 69 6e 74 20 62 78 3d 62 74 6e 5f 78 28 | int.i=0;i<2;i++).{.int.bx=btn_x( |
| 79e0 | 69 29 2c 62 77 3d 62 74 6e 5f 77 28 69 29 3b 20 69 66 28 61 2d 3e 6d 6f 75 73 65 5f 78 3e 3d 62 | i),bw=btn_w(i);.if(a->mouse_x>=b |
| 7a00 | 78 26 26 61 2d 3e 6d 6f 75 73 65 5f 78 3c 62 78 2b 62 77 29 7b 61 2d 3e 6f 70 65 6e 5f 6d 65 6e | x&&a->mouse_x<bx+bw){a->open_men |
| 7a20 | 75 3d 28 4d 65 6e 75 49 64 29 69 3b 61 2d 3e 68 6f 76 65 72 65 64 5f 69 74 65 6d 3d 2d 31 3b 72 | u=(MenuId)i;a->hovered_item=-1;r |
| 7a40 | 65 64 72 61 77 28 61 29 3b 72 65 74 75 72 6e 3b 7d 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 42 | edraw(a);return;}.}........}...B |
| 7a60 | 20 20 20 20 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 3d 4d 45 4e 55 5f 4e 4f 4e 45 3b 20 61 2d 3e 68 | ....a->open_menu=MENU_NONE;.a->h |
| 7a80 | 6f 76 65 72 65 64 5f 69 74 65 6d 3d 2d 31 3b 20 72 65 64 72 61 77 28 61 29 3b 20 72 65 74 75 72 | overed_item=-1;.redraw(a);.retur |
| 7aa0 | 6e 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 17 20 20 69 66 20 28 61 2d 3e 6d 6f 75 73 65 5f | n;......}..........if.(a->mouse_ |
| 7ac0 | 79 3e 3d 62 79 29 20 7b 00 00 00 9c 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 3d 30 3b 69 3c 32 | y>=by).{........for.(int.i=0;i<2 |
| 7ae0 | 3b 69 2b 2b 29 20 7b 20 69 6e 74 20 62 78 3d 62 74 6e 5f 78 28 69 29 2c 62 77 3d 62 74 6e 5f 77 | ;i++).{.int.bx=btn_x(i),bw=btn_w |
| 7b00 | 28 69 29 3b 20 69 66 28 61 2d 3e 6d 6f 75 73 65 5f 78 3e 3d 62 78 26 26 61 2d 3e 6d 6f 75 73 65 | (i);.if(a->mouse_x>=bx&&a->mouse |
| 7b20 | 5f 78 3c 62 78 2b 62 77 29 7b 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 3d 28 4d 65 6e 75 49 64 29 69 | _x<bx+bw){a->open_menu=(MenuId)i |
| 7b40 | 3b 61 2d 3e 68 6f 76 65 72 65 64 5f 69 74 65 6d 3d 2d 31 3b 72 65 64 72 61 77 28 61 29 3b 72 65 | ;a->hovered_item=-1;redraw(a);re |
| 7b60 | 74 75 72 6e 3b 7d 20 7d 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 03 20 20 7d 00 00 | turn;}.}........return;......}.. |
| 7b80 | 00 00 00 00 00 3d 20 20 69 6e 74 20 63 78 3d 28 61 2d 3e 6d 6f 75 73 65 5f 78 2d 50 41 44 29 2f | .....=..int.cx=(a->mouse_x-PAD)/ |
| 7ba0 | 63 65 6c 6c 5f 77 2c 20 63 79 3d 28 61 2d 3e 6d 6f 75 73 65 5f 79 2d 50 41 44 29 2f 63 65 6c 6c | cell_w,.cy=(a->mouse_y-PAD)/cell |
| 7bc0 | 5f 68 3b 00 00 00 18 20 20 69 6e 74 20 70 6f 73 3d 30 2c 63 6f 6c 3d 30 2c 72 6f 77 3d 30 3b 00 | _h;......int.pos=0,col=0,row=0;. |
| 7be0 | 00 00 1c 20 20 66 6f 72 20 28 69 6e 74 20 69 3d 30 3b 69 3c 74 6c 65 6e 3b 69 2b 2b 29 20 7b 00 | .....for.(int.i=0;i<tlen;i++).{. |
| 7c00 | 00 00 2c 20 20 20 20 69 66 20 28 72 6f 77 3d 3d 63 79 26 26 63 6f 6c 3d 3d 63 78 29 7b 70 6f 73 | ..,....if.(row==cy&&col==cx){pos |
| 7c20 | 3d 69 3b 67 6f 74 6f 20 66 6f 75 6e 64 3b 7d 00 00 00 42 20 20 20 20 69 66 20 28 74 65 78 74 5b | =i;goto.found;}...B....if.(text[ |
| 7c40 | 69 5d 3d 3d 27 5c 6e 27 29 7b 69 66 28 72 6f 77 3d 3d 63 79 29 7b 70 6f 73 3d 69 3b 67 6f 74 6f | i]=='\n'){if(row==cy){pos=i;goto |
| 7c60 | 20 66 6f 75 6e 64 3b 7d 63 6f 6c 3d 30 3b 72 6f 77 2b 2b 3b 7d 00 00 00 0f 20 20 20 20 65 6c 73 | .found;}col=0;row++;}........els |
| 7c80 | 65 20 63 6f 6c 2b 2b 3b 00 00 00 03 20 20 7d 00 00 00 0b 20 20 70 6f 73 3d 74 6c 65 6e 3b 00 00 | e.col++;......}......pos=tlen;.. |
| 7ca0 | 00 06 66 6f 75 6e 64 3a 00 00 00 27 20 20 63 75 72 73 6f 72 3d 70 6f 73 3b 20 73 65 6c 5f 61 6e | ..found:...'..cursor=pos;.sel_an |
| 7cc0 | 63 68 6f 72 3d 2d 31 3b 20 72 65 64 72 61 77 28 61 29 3b 00 00 00 01 7d 00 00 00 5f 73 74 61 74 | chor=-1;.redraw(a);....}..._stat |
| 7ce0 | 69 63 20 76 6f 69 64 20 70 74 72 5f 61 78 69 73 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 | ic.void.ptr_axis(void.*d,.struct |
| 7d00 | 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 2c 20 75 69 6e 74 33 32 5f 74 20 74 2c 20 75 69 6e 74 | .wl_pointer.*p,.uint32_t.t,.uint |
| 7d20 | 33 32 5f 74 20 61 78 69 73 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 76 29 20 7b 7d 00 00 00 38 73 | 32_t.axis,.wl_fixed_t.v).{}...8s |
| 7d40 | 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 5f 6c 69 | tatic.const.struct.wl_pointer_li |
| 7d60 | 73 74 65 6e 65 72 20 70 74 72 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 58 20 20 2e 65 6e | stener.ptr_listener.=.{...X...en |
| 7d80 | 74 65 72 3d 70 74 72 5f 65 6e 74 65 72 2c 2e 6c 65 61 76 65 3d 70 74 72 5f 6c 65 61 76 65 2c 2e | ter=ptr_enter,.leave=ptr_leave,. |
| 7da0 | 6d 6f 74 69 6f 6e 3d 70 74 72 5f 6d 6f 74 69 6f 6e 2c 2e 62 75 74 74 6f 6e 3d 70 74 72 5f 62 75 | motion=ptr_motion,.button=ptr_bu |
| 7dc0 | 74 74 6f 6e 2c 2e 61 78 69 73 3d 70 74 72 5f 61 78 69 73 00 00 00 02 7d 3b 00 00 00 00 00 00 00 | tton,.axis=ptr_axis....};....... |
| 7de0 | 61 73 74 61 74 69 63 20 76 6f 69 64 20 6b 62 5f 6b 65 79 6d 61 70 28 76 6f 69 64 20 2a 64 2c 20 | astatic.void.kb_keymap(void.*d,. |
| 7e00 | 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 62 2c 20 75 69 6e 74 33 32 5f 74 | struct.wl_keyboard.*kb,.uint32_t |
| 7e20 | 20 66 6d 74 2c 20 69 6e 74 33 32 5f 74 20 66 64 2c 20 75 69 6e 74 33 32 5f 74 20 73 69 7a 65 29 | .fmt,.int32_t.fd,.uint32_t.size) |
| 7e40 | 20 7b 00 00 00 12 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 3d 64 3b 00 00 00 3f 20 20 69 66 | .{......struct.app.*a=d;...?..if |
| 7e60 | 20 28 66 6d 74 21 3d 57 4c 5f 4b 45 59 42 4f 41 52 44 5f 4b 45 59 4d 41 50 5f 46 4f 52 4d 41 54 | .(fmt!=WL_KEYBOARD_KEYMAP_FORMAT |
| 7e80 | 5f 58 4b 42 5f 56 31 29 7b 63 6c 6f 73 65 28 66 64 29 3b 72 65 74 75 72 6e 3b 7d 00 00 00 40 20 | _XKB_V1){close(fd);return;}...@. |
| 7ea0 | 20 63 68 61 72 20 2a 73 3d 6d 6d 61 70 28 4e 55 4c 4c 2c 73 69 7a 65 2c 50 52 4f 54 5f 52 45 41 | .char.*s=mmap(NULL,size,PROT_REA |
| 7ec0 | 44 2c 4d 41 50 5f 50 52 49 56 41 54 45 2c 66 64 2c 30 29 3b 20 63 6c 6f 73 65 28 66 64 29 3b 00 | D,MAP_PRIVATE,fd,0);.close(fd);. |
| 7ee0 | 00 00 1c 20 20 69 66 20 28 73 3d 3d 4d 41 50 5f 46 41 49 4c 45 44 29 20 72 65 74 75 72 6e 3b 00 | .....if.(s==MAP_FAILED).return;. |
| 7f00 | 00 00 46 20 20 69 66 20 28 61 2d 3e 78 6b 62 5f 73 74 61 74 65 29 20 7b 78 6b 62 5f 73 74 61 74 | ..F..if.(a->xkb_state).{xkb_stat |
| 7f20 | 65 5f 75 6e 72 65 66 28 61 2d 3e 78 6b 62 5f 73 74 61 74 65 29 3b 61 2d 3e 78 6b 62 5f 73 74 61 | e_unref(a->xkb_state);a->xkb_sta |
| 7f40 | 74 65 3d 4e 55 4c 4c 3b 7d 00 00 00 49 20 20 69 66 20 28 61 2d 3e 78 6b 62 5f 6b 65 79 6d 61 70 | te=NULL;}...I..if.(a->xkb_keymap |
| 7f60 | 29 7b 78 6b 62 5f 6b 65 79 6d 61 70 5f 75 6e 72 65 66 28 61 2d 3e 78 6b 62 5f 6b 65 79 6d 61 70 | ){xkb_keymap_unref(a->xkb_keymap |
| 7f80 | 29 3b 61 2d 3e 78 6b 62 5f 6b 65 79 6d 61 70 3d 4e 55 4c 4c 3b 7d 00 00 00 6f 20 20 61 2d 3e 78 | );a->xkb_keymap=NULL;}...o..a->x |
| 7fa0 | 6b 62 5f 6b 65 79 6d 61 70 3d 78 6b 62 5f 6b 65 79 6d 61 70 5f 6e 65 77 5f 66 72 6f 6d 5f 73 74 | kb_keymap=xkb_keymap_new_from_st |
| 7fc0 | 72 69 6e 67 28 61 2d 3e 78 6b 62 5f 63 74 78 2c 73 2c 58 4b 42 5f 4b 45 59 4d 41 50 5f 46 4f 52 | ring(a->xkb_ctx,s,XKB_KEYMAP_FOR |
| 7fe0 | 4d 41 54 5f 54 45 58 54 5f 56 31 2c 58 4b 42 5f 4b 45 59 4d 41 50 5f 43 4f 4d 50 49 4c 45 5f 4e | MAT_TEXT_V1,XKB_KEYMAP_COMPILE_N |
| 8000 | 4f 5f 46 4c 41 47 53 29 3b 00 00 00 11 20 20 6d 75 6e 6d 61 70 28 73 2c 73 69 7a 65 29 3b 00 00 | O_FLAGS);......munmap(s,size);.. |
| 8020 | 00 3f 20 20 69 66 20 28 61 2d 3e 78 6b 62 5f 6b 65 79 6d 61 70 29 20 61 2d 3e 78 6b 62 5f 73 74 | .?..if.(a->xkb_keymap).a->xkb_st |
| 8040 | 61 74 65 3d 78 6b 62 5f 73 74 61 74 65 5f 6e 65 77 28 61 2d 3e 78 6b 62 5f 6b 65 79 6d 61 70 29 | ate=xkb_state_new(a->xkb_keymap) |
| 8060 | 3b 00 00 00 01 7d 00 00 00 6f 73 74 61 74 69 63 20 76 6f 69 64 20 6b 62 5f 65 6e 74 65 72 28 76 | ;....}...ostatic.void.kb_enter(v |
| 8080 | 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 62 2c 20 | oid.*d,.struct.wl_keyboard.*kb,. |
| 80a0 | 75 69 6e 74 33 32 5f 74 20 73 2c 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 | uint32_t.s,.struct.wl_surface.*s |
| 80c0 | 75 2c 20 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 6b 29 20 7b 7d 00 00 00 5a 73 74 61 | u,.struct.wl_array.*k).{}...Zsta |
| 80e0 | 74 69 63 20 76 6f 69 64 20 6b 62 5f 6c 65 61 76 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 | tic.void.kb_leave(void.*d,.struc |
| 8100 | 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 62 2c 20 75 69 6e 74 33 32 5f 74 20 73 2c 20 73 | t.wl_keyboard.*kb,.uint32_t.s,.s |
| 8120 | 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 29 20 7b 00 00 00 56 20 20 73 74 72 | truct.wl_surface.*su).{...V..str |
| 8140 | 75 63 74 20 61 70 70 20 2a 61 3d 64 3b 20 73 74 72 75 63 74 20 69 74 69 6d 65 72 73 70 65 63 20 | uct.app.*a=d;.struct.itimerspec. |
| 8160 | 74 73 3d 7b 30 7d 3b 20 74 69 6d 65 72 66 64 5f 73 65 74 74 69 6d 65 28 61 2d 3e 72 65 70 65 61 | ts={0};.timerfd_settime(a->repea |
| 8180 | 74 5f 66 64 2c 30 2c 26 74 73 2c 4e 55 4c 4c 29 3b 00 00 00 01 7d 00 00 00 70 73 74 61 74 69 63 | t_fd,0,&ts,NULL);....}...pstatic |
| 81a0 | 20 76 6f 69 64 20 6b 62 5f 6b 65 79 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f | .void.kb_key(void.*d,.struct.wl_ |
| 81c0 | 6b 65 79 62 6f 61 72 64 20 2a 6b 62 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 2c 20 75 | keyboard.*kb,.uint32_t.serial,.u |
| 81e0 | 69 6e 74 33 32 5f 74 20 74 2c 20 75 69 6e 74 33 32 5f 74 20 6b 65 79 2c 20 75 69 6e 74 33 32 5f | int32_t.t,.uint32_t.key,.uint32_ |
| 8200 | 74 20 73 74 61 74 65 29 20 7b 00 00 00 29 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 3d 64 3b | t.state).{...)..struct.app.*a=d; |
| 8220 | 20 61 2d 3e 6c 61 73 74 5f 73 65 72 69 61 6c 3d 73 65 72 69 61 6c 3b 00 00 00 2d 20 20 69 66 20 | .a->last_serial=serial;...-..if. |
| 8240 | 28 73 74 61 74 65 3d 3d 57 4c 5f 4b 45 59 42 4f 41 52 44 5f 4b 45 59 5f 53 54 41 54 45 5f 50 52 | (state==WL_KEYBOARD_KEY_STATE_PR |
| 8260 | 45 53 53 45 44 29 20 7b 00 00 00 2a 20 20 20 20 70 72 6f 63 65 73 73 5f 6b 65 79 28 61 2c 6b 65 | ESSED).{...*....process_key(a,ke |
| 8280 | 79 29 3b 20 61 2d 3e 72 65 70 65 61 74 5f 6b 65 79 3d 6b 65 79 3b 00 00 00 1b 20 20 20 20 69 66 | y);.a->repeat_key=key;........if |
| 82a0 | 20 28 61 2d 3e 72 65 70 65 61 74 5f 72 61 74 65 3e 30 29 20 7b 00 00 00 1c 20 20 20 20 20 20 73 | .(a->repeat_rate>0).{..........s |
| 82c0 | 74 72 75 63 74 20 69 74 69 6d 65 72 73 70 65 63 20 74 73 3d 7b 00 00 00 5d 20 20 20 20 20 20 20 | truct.itimerspec.ts={...]....... |
| 82e0 | 20 2e 69 74 5f 76 61 6c 75 65 20 20 20 3d 7b 2e 74 76 5f 73 65 63 3d 61 2d 3e 72 65 70 65 61 74 | ..it_value...={.tv_sec=a->repeat |
| 8300 | 5f 64 65 6c 61 79 2f 31 30 30 30 2c 2e 74 76 5f 6e 73 65 63 3d 28 61 2d 3e 72 65 70 65 61 74 5f | _delay/1000,.tv_nsec=(a->repeat_ |
| 8320 | 64 65 6c 61 79 25 31 30 30 30 29 2a 31 30 30 30 30 30 30 4c 7d 2c 00 00 00 45 20 20 20 20 20 20 | delay%1000)*1000000L},...E...... |
| 8340 | 20 20 2e 69 74 5f 69 6e 74 65 72 76 61 6c 3d 7b 2e 74 76 5f 73 65 63 3d 30 2c 2e 74 76 5f 6e 73 | ...it_interval={.tv_sec=0,.tv_ns |
| 8360 | 65 63 3d 31 30 30 30 30 30 30 30 30 30 4c 2f 61 2d 3e 72 65 70 65 61 74 5f 72 61 74 65 7d 2c 00 | ec=1000000000L/a->repeat_rate},. |
| 8380 | 00 00 08 20 20 20 20 20 20 7d 3b 00 00 00 2f 20 20 20 20 20 20 74 69 6d 65 72 66 64 5f 73 65 74 | .........};.../......timerfd_set |
| 83a0 | 74 69 6d 65 28 61 2d 3e 72 65 70 65 61 74 5f 66 64 2c 30 2c 26 74 73 2c 4e 55 4c 4c 29 3b 00 00 | time(a->repeat_fd,0,&ts,NULL);.. |
| 83c0 | 00 05 20 20 20 20 7d 00 00 00 50 20 20 7d 20 65 6c 73 65 20 7b 20 73 74 72 75 63 74 20 69 74 69 | ......}...P..}.else.{.struct.iti |
| 83e0 | 6d 65 72 73 70 65 63 20 74 73 3d 7b 30 7d 3b 20 74 69 6d 65 72 66 64 5f 73 65 74 74 69 6d 65 28 | merspec.ts={0};.timerfd_settime( |
| 8400 | 61 2d 3e 72 65 70 65 61 74 5f 66 64 2c 30 2c 26 74 73 2c 4e 55 4c 4c 29 3b 20 7d 00 00 00 01 7d | a->repeat_fd,0,&ts,NULL);.}....} |
| 8420 | 00 00 00 82 73 74 61 74 69 63 20 76 6f 69 64 20 6b 62 5f 6d 6f 64 69 66 69 65 72 73 28 76 6f 69 | ....static.void.kb_modifiers(voi |
| 8440 | 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 62 2c 20 75 69 | d.*d,.struct.wl_keyboard.*kb,.ui |
| 8460 | 6e 74 33 32 5f 74 20 73 2c 20 75 69 6e 74 33 32 5f 74 20 64 65 70 2c 20 75 69 6e 74 33 32 5f 74 | nt32_t.s,.uint32_t.dep,.uint32_t |
| 8480 | 20 6c 61 74 2c 20 75 69 6e 74 33 32 5f 74 20 6c 6f 63 6b 65 64 2c 20 75 69 6e 74 33 32 5f 74 20 | .lat,.uint32_t.locked,.uint32_t. |
| 84a0 | 67 72 70 29 20 7b 00 00 00 5f 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 3d 64 3b 20 69 66 28 | grp).{..._..struct.app.*a=d;.if( |
| 84c0 | 61 2d 3e 78 6b 62 5f 73 74 61 74 65 29 20 78 6b 62 5f 73 74 61 74 65 5f 75 70 64 61 74 65 5f 6d | a->xkb_state).xkb_state_update_m |
| 84e0 | 61 73 6b 28 61 2d 3e 78 6b 62 5f 73 74 61 74 65 2c 64 65 70 2c 6c 61 74 2c 6c 6f 63 6b 65 64 2c | ask(a->xkb_state,dep,lat,locked, |
| 8500 | 30 2c 30 2c 67 72 70 29 3b 00 00 00 01 7d 00 00 00 55 73 74 61 74 69 63 20 76 6f 69 64 20 6b 62 | 0,0,grp);....}...Ustatic.void.kb |
| 8520 | 5f 72 65 70 65 61 74 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f | _repeat(void.*d,.struct.wl_keybo |
| 8540 | 61 72 64 20 2a 6b 62 2c 20 69 6e 74 33 32 5f 74 20 72 61 74 65 2c 20 69 6e 74 33 32 5f 74 20 64 | ard.*kb,.int32_t.rate,.int32_t.d |
| 8560 | 65 6c 61 79 29 20 7b 00 00 00 3e 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 3d 64 3b 20 61 2d | elay).{...>..struct.app.*a=d;.a- |
| 8580 | 3e 72 65 70 65 61 74 5f 72 61 74 65 3d 72 61 74 65 3b 20 61 2d 3e 72 65 70 65 61 74 5f 64 65 6c | >repeat_rate=rate;.a->repeat_del |
| 85a0 | 61 79 3d 64 65 6c 61 79 3b 00 00 00 01 7d 00 00 00 3e 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 | ay=delay;....}...>static.const.s |
| 85c0 | 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 5f 6c 69 73 74 65 6e 65 72 20 6b 65 79 62 6f | truct.wl_keyboard_listener.keybo |
| 85e0 | 61 72 64 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 6e 20 20 2e 6b 65 79 6d 61 70 3d 6b 62 | ard_listener.=.{...n...keymap=kb |
| 8600 | 5f 6b 65 79 6d 61 70 2c 2e 65 6e 74 65 72 3d 6b 62 5f 65 6e 74 65 72 2c 2e 6c 65 61 76 65 3d 6b | _keymap,.enter=kb_enter,.leave=k |
| 8620 | 62 5f 6c 65 61 76 65 2c 2e 6b 65 79 3d 6b 62 5f 6b 65 79 2c 2e 6d 6f 64 69 66 69 65 72 73 3d 6b | b_leave,.key=kb_key,.modifiers=k |
| 8640 | 62 5f 6d 6f 64 69 66 69 65 72 73 2c 2e 72 65 70 65 61 74 5f 69 6e 66 6f 3d 6b 62 5f 72 65 70 65 | b_modifiers,.repeat_info=kb_repe |
| 8660 | 61 74 00 00 00 02 7d 3b 00 00 00 00 00 00 00 45 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 61 74 | at....};.......Estatic.void.seat |
| 8680 | 5f 63 61 70 73 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 73 65 61 74 20 2a 73 | _caps(void.*d,.struct.wl_seat.*s |
| 86a0 | 65 61 74 2c 20 75 69 6e 74 33 32 5f 74 20 63 61 70 73 29 20 7b 00 00 00 12 20 20 73 74 72 75 63 | eat,.uint32_t.caps).{......struc |
| 86c0 | 74 20 61 70 70 20 2a 61 3d 64 3b 00 00 00 39 20 20 69 66 20 28 28 63 61 70 73 26 57 4c 5f 53 45 | t.app.*a=d;...9..if.((caps&WL_SE |
| 86e0 | 41 54 5f 43 41 50 41 42 49 4c 49 54 59 5f 4b 45 59 42 4f 41 52 44 29 26 26 21 61 2d 3e 6b 65 79 | AT_CAPABILITY_KEYBOARD)&&!a->key |
| 8700 | 62 6f 61 72 64 29 20 7b 00 00 00 67 20 20 20 20 61 2d 3e 6b 65 79 62 6f 61 72 64 3d 77 6c 5f 73 | board).{...g....a->keyboard=wl_s |
| 8720 | 65 61 74 5f 67 65 74 5f 6b 65 79 62 6f 61 72 64 28 73 65 61 74 29 3b 20 77 6c 5f 6b 65 79 62 6f | eat_get_keyboard(seat);.wl_keybo |
| 8740 | 61 72 64 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2d 3e 6b 65 79 62 6f 61 72 64 2c 26 6b 65 | ard_add_listener(a->keyboard,&ke |
| 8760 | 79 62 6f 61 72 64 5f 6c 69 73 74 65 6e 65 72 2c 61 29 3b 00 00 00 40 20 20 7d 20 65 6c 73 65 20 | yboard_listener,a);...@..}.else. |
| 8780 | 69 66 20 28 21 28 63 61 70 73 26 57 4c 5f 53 45 41 54 5f 43 41 50 41 42 49 4c 49 54 59 5f 4b 45 | if.(!(caps&WL_SEAT_CAPABILITY_KE |
| 87a0 | 59 42 4f 41 52 44 29 26 26 61 2d 3e 6b 65 79 62 6f 61 72 64 29 20 7b 00 00 00 37 20 20 20 20 77 | YBOARD)&&a->keyboard).{...7....w |
| 87c0 | 6c 5f 6b 65 79 62 6f 61 72 64 5f 72 65 6c 65 61 73 65 28 61 2d 3e 6b 65 79 62 6f 61 72 64 29 3b | l_keyboard_release(a->keyboard); |
| 87e0 | 20 61 2d 3e 6b 65 79 62 6f 61 72 64 3d 4e 55 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 37 20 20 69 | .a->keyboard=NULL;......}...7..i |
| 8800 | 66 20 28 28 63 61 70 73 26 57 4c 5f 53 45 41 54 5f 43 41 50 41 42 49 4c 49 54 59 5f 50 4f 49 4e | f.((caps&WL_SEAT_CAPABILITY_POIN |
| 8820 | 54 45 52 29 26 26 21 61 2d 3e 70 6f 69 6e 74 65 72 29 20 7b 00 00 00 5e 20 20 20 20 61 2d 3e 70 | TER)&&!a->pointer).{...^....a->p |
| 8840 | 6f 69 6e 74 65 72 3d 77 6c 5f 73 65 61 74 5f 67 65 74 5f 70 6f 69 6e 74 65 72 28 73 65 61 74 29 | ointer=wl_seat_get_pointer(seat) |
| 8860 | 3b 20 77 6c 5f 70 6f 69 6e 74 65 72 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2d 3e 70 6f 69 | ;.wl_pointer_add_listener(a->poi |
| 8880 | 6e 74 65 72 2c 26 70 74 72 5f 6c 69 73 74 65 6e 65 72 2c 61 29 3b 00 00 00 3e 20 20 7d 20 65 6c | nter,&ptr_listener,a);...>..}.el |
| 88a0 | 73 65 20 69 66 20 28 21 28 63 61 70 73 26 57 4c 5f 53 45 41 54 5f 43 41 50 41 42 49 4c 49 54 59 | se.if.(!(caps&WL_SEAT_CAPABILITY |
| 88c0 | 5f 50 4f 49 4e 54 45 52 29 26 26 61 2d 3e 70 6f 69 6e 74 65 72 29 20 7b 00 00 00 34 20 20 20 20 | _POINTER)&&a->pointer).{...4.... |
| 88e0 | 77 6c 5f 70 6f 69 6e 74 65 72 5f 72 65 6c 65 61 73 65 28 61 2d 3e 70 6f 69 6e 74 65 72 29 3b 20 | wl_pointer_release(a->pointer);. |
| 8900 | 61 2d 3e 70 6f 69 6e 74 65 72 3d 4e 55 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 49 | a->pointer=NULL;......}....}...I |
| 8920 | 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 61 74 5f 6e 61 6d 65 28 76 6f 69 64 20 2a 64 2c 20 73 | static.void.seat_name(void.*d,.s |
| 8940 | 74 72 75 63 74 20 77 6c 5f 73 65 61 74 20 2a 73 65 61 74 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 | truct.wl_seat.*seat,.const.char. |
| 8960 | 2a 6e 61 6d 65 29 20 7b 7d 00 00 00 5f 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 | *name).{}..._static.const.struct |
| 8980 | 20 77 6c 5f 73 65 61 74 5f 6c 69 73 74 65 6e 65 72 20 73 65 61 74 5f 6c 69 73 74 65 6e 65 72 20 | .wl_seat_listener.seat_listener. |
| 89a0 | 3d 20 7b 2e 63 61 70 61 62 69 6c 69 74 69 65 73 3d 73 65 61 74 5f 63 61 70 73 2c 2e 6e 61 6d 65 | =.{.capabilities=seat_caps,.name |
| 89c0 | 3d 73 65 61 74 5f 6e 61 6d 65 7d 3b 00 00 00 00 00 00 00 64 73 74 61 74 69 63 20 76 6f 69 64 20 | =seat_name};.......dstatic.void. |
| 89e0 | 72 65 67 5f 67 6c 6f 62 61 6c 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 72 65 | reg_global(void.*d,.struct.wl_re |
| 8a00 | 67 69 73 74 72 79 20 2a 72 2c 20 75 69 6e 74 33 32 5f 74 20 69 64 2c 20 63 6f 6e 73 74 20 63 68 | gistry.*r,.uint32_t.id,.const.ch |
| 8a20 | 61 72 20 2a 69 66 61 63 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 29 20 7b 00 00 00 12 20 20 73 74 | ar.*iface,.uint32_t.v).{......st |
| 8a40 | 72 75 63 74 20 61 70 70 20 2a 61 3d 64 3b 00 00 00 6e 20 20 69 66 20 20 20 20 20 20 28 21 73 74 | ruct.app.*a=d;...n..if......(!st |
| 8a60 | 72 63 6d 70 28 69 66 61 63 65 2c 22 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 22 29 29 20 20 20 20 | rcmp(iface,"wl_compositor")).... |
| 8a80 | 20 20 20 20 20 20 61 2d 3e 63 6f 6d 70 3d 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 | ......a->comp=wl_registry_bind(r |
| 8aa0 | 2c 69 64 2c 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 69 6e 74 65 72 66 61 63 65 2c 34 29 3b | ,id,&wl_compositor_interface,4); |
| 8ac0 | 00 00 00 67 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 22 77 6c | ...g..else.if.(!strcmp(iface,"wl |
| 8ae0 | 5f 73 68 6d 22 29 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 2d 3e 73 68 6d 20 3d | _shm")).................a->shm.= |
| 8b00 | 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 69 64 2c 26 77 6c 5f 73 68 6d 5f 69 6e | wl_registry_bind(r,id,&wl_shm_in |
| 8b20 | 74 65 72 66 61 63 65 2c 31 29 3b 00 00 00 9e 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d | terface,1);......else.if.(!strcm |
| 8b40 | 70 28 69 66 61 63 65 2c 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 29 20 20 20 20 20 20 20 20 20 | p(iface,"xdg_wm_base"))......... |
| 8b60 | 20 7b 20 61 2d 3e 77 6d 20 20 3d 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 69 64 | .{.a->wm..=wl_registry_bind(r,id |
| 8b80 | 2c 26 78 64 67 5f 77 6d 5f 62 61 73 65 5f 69 6e 74 65 72 66 61 63 65 2c 31 29 3b 20 78 64 67 5f | ,&xdg_wm_base_interface,1);.xdg_ |
| 8ba0 | 77 6d 5f 62 61 73 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2d 3e 77 6d 2c 26 77 6d 5f 6c | wm_base_add_listener(a->wm,&wm_l |
| 8bc0 | 69 73 74 65 6e 65 72 2c 61 29 3b 20 7d 00 00 00 9f 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 | istener,a);.}......else.if.(!str |
| 8be0 | 63 6d 70 28 69 66 61 63 65 2c 22 77 6c 5f 73 65 61 74 22 29 29 20 20 20 20 20 20 20 20 20 20 20 | cmp(iface,"wl_seat"))........... |
| 8c00 | 20 20 20 7b 20 61 2d 3e 73 65 61 74 3d 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c | ...{.a->seat=wl_registry_bind(r, |
| 8c20 | 69 64 2c 26 77 6c 5f 73 65 61 74 5f 69 6e 74 65 72 66 61 63 65 2c 35 29 3b 20 20 20 20 20 20 77 | id,&wl_seat_interface,5);......w |
| 8c40 | 6c 5f 73 65 61 74 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2d 3e 73 65 61 74 2c 26 73 65 61 | l_seat_add_listener(a->seat,&sea |
| 8c60 | 74 5f 6c 69 73 74 65 6e 65 72 2c 61 29 3b 20 7d 00 00 00 77 20 20 65 6c 73 65 20 69 66 20 28 21 | t_listener,a);.}...w..else.if.(! |
| 8c80 | 73 74 72 63 6d 70 28 69 66 61 63 65 2c 22 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 5f 6d 61 6e | strcmp(iface,"wl_data_device_man |
| 8ca0 | 61 67 65 72 22 29 29 20 61 2d 3e 64 64 6d 20 3d 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 | ager")).a->ddm.=wl_registry_bind |
| 8cc0 | 28 72 2c 69 64 2c 26 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 5f 6d 61 6e 61 67 65 72 5f 69 6e | (r,id,&wl_data_device_manager_in |
| 8ce0 | 74 65 72 66 61 63 65 2c 33 29 3b 00 00 00 01 7d 00 00 00 46 73 74 61 74 69 63 20 76 6f 69 64 20 | terface,3);....}...Fstatic.void. |
| 8d00 | 72 65 67 5f 72 65 6d 6f 76 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 72 65 | reg_remove(void.*d,.struct.wl_re |
| 8d20 | 67 69 73 74 72 79 20 2a 72 2c 20 75 69 6e 74 33 32 5f 74 20 69 64 29 20 7b 7d 00 00 00 67 73 74 | gistry.*r,.uint32_t.id).{}...gst |
| 8d40 | 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 6c 69 | atic.const.struct.wl_registry_li |
| 8d60 | 73 74 65 6e 65 72 20 72 65 67 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 2e 67 6c 6f 62 61 6c 3d 72 | stener.reg_listener.=.{.global=r |
| 8d80 | 65 67 5f 67 6c 6f 62 61 6c 2c 2e 67 6c 6f 62 61 6c 5f 72 65 6d 6f 76 65 3d 72 65 67 5f 72 65 6d | eg_global,.global_remove=reg_rem |
| 8da0 | 6f 76 65 7d 3b 00 00 00 00 00 00 00 10 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 20 7b 00 00 00 | ove};........int.main(void).{... |
| 8dc0 | 58 20 20 69 66 20 28 21 6c 6f 61 64 5f 66 6f 6e 74 28 29 29 20 7b 20 66 70 72 69 6e 74 66 28 73 | X..if.(!load_font()).{.fprintf(s |
| 8de0 | 74 64 65 72 72 2c 22 66 61 69 6c 65 64 20 74 6f 20 6c 6f 61 64 20 66 6f 6e 74 3a 20 25 73 5c 6e | tderr,"failed.to.load.font:.%s\n |
| 8e00 | 22 2c 46 4f 4e 54 5f 4e 41 4d 45 29 3b 20 72 65 74 75 72 6e 20 31 3b 20 7d 00 00 00 00 00 00 00 | ",FONT_NAME);.return.1;.}....... |
| 8e20 | 13 20 20 73 74 72 75 63 74 20 61 70 70 20 61 3d 7b 30 7d 3b 00 00 00 13 20 20 61 2e 77 3d 36 34 | ...struct.app.a={0};......a.w=64 |
| 8e40 | 30 3b 20 61 2e 68 3d 34 38 30 3b 00 00 00 27 20 20 61 2e 72 65 70 65 61 74 5f 72 61 74 65 3d 32 | 0;.a.h=480;...'..a.repeat_rate=2 |
| 8e60 | 35 3b 20 61 2e 72 65 70 65 61 74 5f 64 65 6c 61 79 3d 34 30 30 3b 00 00 00 2b 20 20 61 2e 6f 70 | 5;.a.repeat_delay=400;...+..a.op |
| 8e80 | 65 6e 5f 6d 65 6e 75 3d 4d 45 4e 55 5f 4e 4f 4e 45 3b 20 61 2e 68 6f 76 65 72 65 64 5f 69 74 65 | en_menu=MENU_NONE;.a.hovered_ite |
| 8ea0 | 6d 3d 2d 31 3b 00 00 00 00 00 00 00 32 20 20 61 2e 78 6b 62 5f 63 74 78 3d 78 6b 62 5f 63 6f 6e | m=-1;.......2..a.xkb_ctx=xkb_con |
| 8ec0 | 74 65 78 74 5f 6e 65 77 28 58 4b 42 5f 43 4f 4e 54 45 58 54 5f 4e 4f 5f 46 4c 41 47 53 29 3b 00 | text_new(XKB_CONTEXT_NO_FLAGS);. |
| 8ee0 | 00 00 45 20 20 69 66 20 28 21 61 2e 78 6b 62 5f 63 74 78 29 7b 66 70 75 74 73 28 22 78 6b 62 5f | ..E..if.(!a.xkb_ctx){fputs("xkb_ |
| 8f00 | 63 6f 6e 74 65 78 74 5f 6e 65 77 20 66 61 69 6c 65 64 5c 6e 22 2c 73 74 64 65 72 72 29 3b 72 65 | context_new.failed\n",stderr);re |
| 8f20 | 74 75 72 6e 20 31 3b 7d 00 00 00 00 00 00 00 47 20 20 61 2e 72 65 70 65 61 74 5f 66 64 3d 74 69 | turn.1;}.......G..a.repeat_fd=ti |
| 8f40 | 6d 65 72 66 64 5f 63 72 65 61 74 65 28 43 4c 4f 43 4b 5f 4d 4f 4e 4f 54 4f 4e 49 43 2c 54 46 44 | merfd_create(CLOCK_MONOTONIC,TFD |
| 8f60 | 5f 43 4c 4f 45 58 45 43 7c 54 46 44 5f 4e 4f 4e 42 4c 4f 43 4b 29 3b 00 00 00 38 20 20 69 66 20 | _CLOEXEC|TFD_NONBLOCK);...8..if. |
| 8f80 | 28 61 2e 72 65 70 65 61 74 5f 66 64 3c 30 29 7b 70 65 72 72 6f 72 28 22 74 69 6d 65 72 66 64 5f | (a.repeat_fd<0){perror("timerfd_ |
| 8fa0 | 63 72 65 61 74 65 22 29 3b 72 65 74 75 72 6e 20 31 3b 7d 00 00 00 00 00 00 00 1f 20 20 61 2e 64 | create");return.1;}..........a.d |
| 8fc0 | 3d 77 6c 5f 64 69 73 70 6c 61 79 5f 63 6f 6e 6e 65 63 74 28 4e 55 4c 4c 29 3b 00 00 00 4a 20 20 | =wl_display_connect(NULL);...J.. |
| 8fe0 | 69 66 20 28 21 61 2e 64 29 7b 66 70 75 74 73 28 22 63 61 6e 6e 6f 74 20 63 6f 6e 6e 65 63 74 20 | if.(!a.d){fputs("cannot.connect. |
| 9000 | 74 6f 20 57 61 79 6c 61 6e 64 20 64 69 73 70 6c 61 79 5c 6e 22 2c 73 74 64 65 72 72 29 3b 72 65 | to.Wayland.display\n",stderr);re |
| 9020 | 74 75 72 6e 20 31 3b 7d 00 00 00 00 00 00 00 25 20 20 61 2e 72 65 67 3d 77 6c 5f 64 69 73 70 6c | turn.1;}.......%..a.reg=wl_displ |
| 9040 | 61 79 5f 67 65 74 5f 72 65 67 69 73 74 72 79 28 61 2e 64 29 3b 00 00 00 33 20 20 77 6c 5f 72 65 | ay_get_registry(a.d);...3..wl_re |
| 9060 | 67 69 73 74 72 79 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 72 65 67 2c 26 72 65 67 5f 6c | gistry_add_listener(a.reg,®_l |
| 9080 | 69 73 74 65 6e 65 72 2c 26 61 29 3b 00 00 00 1c 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 | istener,&a);......wl_display_rou |
| 90a0 | 6e 64 74 72 69 70 28 61 2e 64 29 3b 00 00 00 00 00 00 00 64 20 20 69 66 20 28 21 61 2e 63 6f 6d | ndtrip(a.d);.......d..if.(!a.com |
| 90c0 | 70 7c 7c 21 61 2e 73 68 6d 7c 7c 21 61 2e 77 6d 7c 7c 21 61 2e 73 65 61 74 29 7b 66 70 75 74 73 | p||!a.shm||!a.wm||!a.seat){fputs |
| 90e0 | 28 22 6d 69 73 73 69 6e 67 20 72 65 71 75 69 72 65 64 20 57 61 79 6c 61 6e 64 20 67 6c 6f 62 61 | ("missing.required.Wayland.globa |
| 9100 | 6c 73 5c 6e 22 2c 73 74 64 65 72 72 29 3b 72 65 74 75 72 6e 20 31 3b 7d 00 00 00 1c 20 20 77 6c | ls\n",stderr);return.1;}......wl |
| 9120 | 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 61 2e 64 29 3b 00 00 00 00 00 00 00 15 | _display_roundtrip(a.d);........ |
| 9140 | 20 20 69 66 20 28 61 2e 64 64 6d 26 26 61 2e 73 65 61 74 29 7b 00 00 00 3e 20 20 20 20 61 2e 64 | ..if.(a.ddm&&a.seat){...>....a.d |
| 9160 | 64 3d 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 5f 6d 61 6e 61 67 65 72 5f 67 65 74 5f 64 61 74 | d=wl_data_device_manager_get_dat |
| 9180 | 61 5f 64 65 76 69 63 65 28 61 2e 64 64 6d 2c 61 2e 73 65 61 74 29 3b 00 00 00 36 20 20 20 20 77 | a_device(a.ddm,a.seat);...6....w |
| 91a0 | 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 64 64 2c | l_data_device_add_listener(a.dd, |
| 91c0 | 26 64 64 5f 6c 69 73 74 65 6e 65 72 2c 26 61 29 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 2c | &dd_listener,&a);......}......., |
| 91e0 | 20 20 61 2e 77 73 3d 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 63 72 65 61 74 65 5f 73 75 72 66 | ..a.ws=wl_compositor_create_surf |
| 9200 | 61 63 65 28 61 2e 63 6f 6d 70 29 3b 00 00 00 2e 20 20 61 2e 78 73 3d 78 64 67 5f 77 6d 5f 62 61 | ace(a.comp);......a.xs=xdg_wm_ba |
| 9220 | 73 65 5f 67 65 74 5f 78 64 67 5f 73 75 72 66 61 63 65 28 61 2e 77 6d 2c 61 2e 77 73 29 3b 00 00 | se_get_xdg_surface(a.wm,a.ws);.. |
| 9240 | 00 31 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 | .1..xdg_surface_add_listener(a.x |
| 9260 | 73 2c 26 78 73 5f 6c 69 73 74 65 6e 65 72 2c 26 61 29 3b 00 00 00 26 20 20 61 2e 78 74 3d 78 64 | s,&xs_listener,&a);...&..a.xt=xd |
| 9280 | 67 5f 73 75 72 66 61 63 65 5f 67 65 74 5f 74 6f 70 6c 65 76 65 6c 28 61 2e 78 73 29 3b 00 00 00 | g_surface_get_toplevel(a.xs);... |
| 92a0 | 32 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 | 2..xdg_toplevel_add_listener(a.x |
| 92c0 | 74 2c 26 78 74 5f 6c 69 73 74 65 6e 65 72 2c 26 61 29 3b 00 00 00 26 20 20 78 64 67 5f 74 6f 70 | t,&xt_listener,&a);...&..xdg_top |
| 92e0 | 6c 65 76 65 6c 5f 73 65 74 5f 74 69 74 6c 65 28 61 2e 78 74 2c 22 77 6c 65 64 22 29 3b 00 00 00 | level_set_title(a.xt,"wled");... |
| 9300 | 1a 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2e 77 73 29 3b 00 00 00 00 00 | ...wl_surface_commit(a.ws);..... |
| 9320 | 00 00 17 20 20 77 68 69 6c 65 20 28 21 61 2e 63 6f 6e 66 69 67 75 72 65 64 29 00 00 00 2c 20 20 | .....while.(!a.configured)...,.. |
| 9340 | 20 20 69 66 20 28 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 28 61 2e 64 29 3d 3d | ..if.(wl_display_dispatch(a.d)== |
| 9360 | 2d 31 29 20 62 72 65 61 6b 3b 00 00 00 00 00 00 00 23 20 20 69 6e 74 20 77 6c 5f 66 64 3d 77 6c | -1).break;.......#..int.wl_fd=wl |
| 9380 | 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 66 64 28 61 2e 64 29 3b 00 00 00 0d 20 20 77 68 69 6c 65 | _display_get_fd(a.d);......while |
| 93a0 | 20 28 31 29 20 7b 00 00 00 1a 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 66 6c 75 73 68 28 61 | .(1).{........wl_display_flush(a |
| 93c0 | 2e 64 29 3b 00 00 00 57 20 20 20 20 73 74 72 75 63 74 20 70 6f 6c 6c 66 64 20 66 64 73 5b 32 5d | .d);...W....struct.pollfd.fds[2] |
| 93e0 | 3d 7b 7b 2e 66 64 3d 77 6c 5f 66 64 2c 2e 65 76 65 6e 74 73 3d 50 4f 4c 4c 49 4e 7d 2c 7b 2e 66 | ={{.fd=wl_fd,.events=POLLIN},{.f |
| 9400 | 64 3d 61 2e 72 65 70 65 61 74 5f 66 64 2c 2e 65 76 65 6e 74 73 3d 50 4f 4c 4c 49 4e 7d 7d 3b 00 | d=a.repeat_fd,.events=POLLIN}};. |
| 9420 | 00 00 1b 20 20 20 20 69 6e 74 20 72 65 74 3d 70 6f 6c 6c 28 66 64 73 2c 32 2c 2d 31 29 3b 00 00 | .......int.ret=poll(fds,2,-1);.. |
| 9440 | 00 2f 20 20 20 20 69 66 20 28 72 65 74 3c 30 29 7b 69 66 28 65 72 72 6e 6f 3d 3d 45 49 4e 54 52 | ./....if.(ret<0){if(errno==EINTR |
| 9460 | 29 63 6f 6e 74 69 6e 75 65 3b 62 72 65 61 6b 3b 7d 00 00 00 6c 20 20 20 20 69 66 20 28 66 64 73 | )continue;break;}...l....if.(fds |
| 9480 | 5b 31 5d 2e 72 65 76 65 6e 74 73 26 50 4f 4c 4c 49 4e 29 7b 75 69 6e 74 36 34 5f 74 20 65 78 70 | [1].revents&POLLIN){uint64_t.exp |
| 94a0 | 3b 72 65 61 64 28 61 2e 72 65 70 65 61 74 5f 66 64 2c 26 65 78 70 2c 73 69 7a 65 6f 66 20 65 78 | ;read(a.repeat_fd,&exp,sizeof.ex |
| 94c0 | 70 29 3b 70 72 6f 63 65 73 73 5f 6b 65 79 28 26 61 2c 61 2e 72 65 70 65 61 74 5f 6b 65 79 29 3b | p);process_key(&a,a.repeat_key); |
| 94e0 | 7d 00 00 00 46 20 20 20 20 69 66 20 28 66 64 73 5b 30 5d 2e 72 65 76 65 6e 74 73 26 50 4f 4c 4c | }...F....if.(fds[0].revents&POLL |
| 9500 | 49 4e 29 20 69 66 28 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 28 61 2e 64 29 3d | IN).if(wl_display_dispatch(a.d)= |
| 9520 | 3d 2d 31 29 20 62 72 65 61 6b 3b 35 81 f5 18 00 00 00 00 02 00 00 00 0a 00 00 00 d5 02 00 00 3f | =-1).break;5...................? |
| 9540 | 00 00 00 56 04 00 00 07 00 00 00 4f 00 00 00 00 00 00 00 c0 6f 00 00 00 00 00 00 1d 7d 00 00 00 | ...V.......O........o.......}... |
| 9560 | 00 00 00 35 81 5f d0 00 00 00 02 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 01 00 | ...5._.......................... |
| 9580 | 00 00 00 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 | ................................ |
| 95a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 95c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 95e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 9600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 9620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 9640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 9660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 9680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 96a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 96c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 96e0 | 00 00 00 00 00 00 00 00 00 69 9f c7 09 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 00 | .........i...................... |
| 9700 | 00 00 00 00 04 5c 00 00 00 24 23 69 6e 63 6c 75 64 65 20 3c 77 61 79 6c 61 6e 64 2d 63 6c 69 65 | .....\...$#include.<wayland-clie |
| 9720 | 6e 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 3e 00 00 00 1f 23 64 65 66 69 6e 65 20 5f 50 4f 53 49 58 | nt-protocol.h>....#define._POSIX |
| 9740 | 5f 43 5f 53 4f 55 52 43 45 20 32 30 30 38 30 39 4c 00 00 00 13 23 69 6e 63 6c 75 64 65 20 22 63 | _C_SOURCE.200809L....#include."c |
| 9760 | 6f 6e 66 69 67 2e 68 22 00 00 00 26 23 69 6e 63 6c 75 64 65 20 22 78 64 67 2d 73 68 65 6c 6c 2d | onfig.h"...&#include."xdg-shell- |
| 9780 | 63 6c 69 65 6e 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c | client-protocol.h"....#include.< |
| 97a0 | 65 72 72 6e 6f 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 66 63 6e 74 6c 2e 68 3e 00 00 | errno.h>....#include.<fcntl.h>.. |
| 97c0 | 00 22 23 69 6e 63 6c 75 64 65 20 3c 66 6f 6e 74 63 6f 6e 66 69 67 2f 66 6f 6e 74 63 6f 6e 66 69 | ."#include.<fontconfig/fontconfi |
| 97e0 | 67 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 66 74 32 62 75 69 6c 64 2e 68 3e 00 00 00 | g.h>....#include.<ft2build.h>... |
| 9800 | 11 23 69 6e 63 6c 75 64 65 20 3c 70 6f 6c 6c 2e 68 3e 00 00 00 14 23 69 6e 63 6c 75 64 65 20 3c | .#include.<poll.h>....#include.< |
| 9820 | 73 74 64 62 6f 6f 6c 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6e 74 2e 68 | stdbool.h>....#include.<stdint.h |
| 9840 | 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6f 2e 68 3e 00 00 00 13 23 69 6e 63 6c | >....#include.<stdio.h>....#incl |
| 9860 | 75 64 65 20 3c 73 74 64 6c 69 62 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 74 72 69 | ude.<stdlib.h>....#include.<stri |
| 9880 | 6e 67 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e 68 3e 00 00 | ng.h>....#include.<sys/mman.h>.. |
| 98a0 | 00 18 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 74 69 6d 65 72 66 64 2e 68 3e 00 00 00 13 23 69 | ..#include.<sys/timerfd.h>....#i |
| 98c0 | 6e 63 6c 75 64 65 20 3c 75 6e 69 73 74 64 2e 68 3e 00 00 00 1b 23 69 6e 63 6c 75 64 65 20 3c 77 | nclude.<unistd.h>....#include.<w |
| 98e0 | 61 79 6c 61 6e 64 2d 63 6c 69 65 6e 74 2e 68 3e 00 00 00 20 23 69 6e 63 6c 75 64 65 20 3c 78 6b | ayland-client.h>....#include.<xk |
| 9900 | 62 63 6f 6d 6d 6f 6e 2f 78 6b 62 63 6f 6d 6d 6f 6e 2e 68 3e 00 00 00 16 23 69 6e 63 6c 75 64 65 | bcommon/xkbcommon.h>....#include |
| 9920 | 20 46 54 5f 46 52 45 45 54 59 50 45 5f 48 00 00 00 00 00 00 00 16 23 64 65 66 69 6e 65 20 4d 41 | .FT_FREETYPE_H........#define.MA |
| 9940 | 58 5f 54 45 58 54 20 36 35 35 33 36 00 00 00 10 23 64 65 66 69 6e 65 20 42 41 52 5f 48 20 32 38 | X_TEXT.65536....#define.BAR_H.28 |
| 9960 | 00 00 00 12 23 64 65 66 69 6e 65 20 42 54 4e 5f 50 41 44 20 31 30 00 00 00 0d 23 64 65 66 69 6e | ....#define.BTN_PAD.10....#defin |
| 9980 | 65 20 50 41 44 20 38 00 00 00 00 00 00 00 17 23 64 65 66 69 6e 65 20 42 47 5f 43 4f 4c 4f 52 20 | e.PAD.8........#define.BG_COLOR. |
| 99a0 | 43 46 47 5f 42 47 00 00 00 17 23 64 65 66 69 6e 65 20 46 47 5f 43 4f 4c 4f 52 20 43 46 47 5f 46 | CFG_BG....#define.FG_COLOR.CFG_F |
| 99c0 | 47 00 00 00 1c 23 64 65 66 69 6e 65 20 43 55 52 5f 43 4f 4c 4f 52 20 43 46 47 5f 43 55 52 53 4f | G....#define.CUR_COLOR.CFG_CURSO |
| 99e0 | 52 00 00 00 1c 23 64 65 66 69 6e 65 20 53 45 4c 5f 43 4f 4c 4f 52 20 43 46 47 5f 53 45 4c 5f 42 | R....#define.SEL_COLOR.CFG_SEL_B |
| 9a00 | 47 00 00 00 19 23 64 65 66 69 6e 65 20 53 45 4c 5f 46 47 20 43 46 47 5f 53 45 4c 5f 46 47 00 00 | G....#define.SEL_FG.CFG_SEL_FG.. |
| 9a20 | 00 19 23 64 65 66 69 6e 65 20 42 41 52 5f 42 47 20 43 46 47 5f 42 41 52 5f 42 47 00 00 00 19 23 | ..#define.BAR_BG.CFG_BAR_BG....# |
| 9a40 | 64 65 66 69 6e 65 20 42 41 52 5f 46 47 20 43 46 47 5f 42 41 52 5f 46 47 00 00 00 1b 23 64 65 66 | define.BAR_FG.CFG_BAR_FG....#def |
| 9a60 | 69 6e 65 20 42 54 4e 5f 48 4f 56 20 43 46 47 5f 42 54 4e 5f 48 4f 56 00 00 00 1b 23 64 65 66 69 | ine.BTN_HOV.CFG_BTN_HOV....#defi |
| 9a80 | 6e 65 20 44 52 4f 50 5f 42 47 20 43 46 47 5f 44 52 4f 50 5f 42 47 00 00 00 1b 23 64 65 66 69 6e | ne.DROP_BG.CFG_DROP_BG....#defin |
| 9aa0 | 65 20 44 52 4f 50 5f 46 47 20 43 46 47 5f 44 52 4f 50 5f 46 47 00 00 00 1d 23 64 65 66 69 6e 65 | e.DROP_FG.CFG_DROP_FG....#define |
| 9ac0 | 20 44 52 4f 50 5f 48 4f 56 20 43 46 47 5f 44 52 4f 50 5f 48 4f 56 00 00 00 23 23 64 65 66 69 6e | .DROP_HOV.CFG_DROP_HOV...##defin |
| 9ae0 | 65 20 44 52 4f 50 5f 48 4f 56 5f 46 47 20 43 46 47 5f 44 52 4f 50 5f 48 4f 56 5f 46 47 00 00 00 | e.DROP_HOV_FG.CFG_DROP_HOV_FG... |
| 9b00 | 19 23 64 65 66 69 6e 65 20 53 45 50 5f 43 4f 4c 4f 52 20 43 46 47 5f 53 45 50 00 00 00 00 00 00 | .#define.SEP_COLOR.CFG_SEP...... |
| 9b20 | 00 21 73 74 61 74 69 63 20 63 68 61 72 20 74 65 78 74 5b 4d 41 58 5f 54 45 58 54 5d 20 3d 20 7b | .!static.char.text[MAX_TEXT].=.{ |
| 9b40 | 30 7d 3b 00 00 00 14 73 74 61 74 69 63 20 69 6e 74 20 74 6c 65 6e 20 3d 20 30 3b 00 00 00 16 73 | 0};....static.int.tlen.=.0;....s |
| 9b60 | 74 61 74 69 63 20 69 6e 74 20 63 75 72 73 6f 72 20 3d 20 30 3b 00 00 00 1b 73 74 61 74 69 63 20 | tatic.int.cursor.=.0;....static. |
| 9b80 | 69 6e 74 20 73 65 6c 5f 61 6e 63 68 6f 72 20 3d 20 2d 31 3b 00 00 00 21 73 74 61 74 69 63 20 63 | int.sel_anchor.=.-1;...!static.c |
| 9ba0 | 68 61 72 20 66 69 6c 65 70 61 74 68 5b 34 30 39 36 5d 20 3d 20 7b 30 7d 3b 00 00 00 1a 73 74 61 | har.filepath[4096].=.{0};....sta |
| 9bc0 | 74 69 63 20 62 6f 6f 6c 20 64 69 72 74 79 20 3d 20 66 61 6c 73 65 3b 00 00 00 00 00 00 00 19 73 | tic.bool.dirty.=.false;........s |
| 9be0 | 74 61 74 69 63 20 46 54 5f 4c 69 62 72 61 72 79 20 66 74 5f 6c 69 62 3b 00 00 00 17 73 74 61 74 | tatic.FT_Library.ft_lib;....stat |
| 9c00 | 69 63 20 46 54 5f 46 61 63 65 20 66 74 5f 66 61 63 65 3b 00 00 00 12 73 74 61 74 69 63 20 69 6e | ic.FT_Face.ft_face;....static.in |
| 9c20 | 74 20 63 65 6c 6c 5f 77 3b 00 00 00 12 73 74 61 74 69 63 20 69 6e 74 20 63 65 6c 6c 5f 68 3b 00 | t.cell_w;....static.int.cell_h;. |
| 9c40 | 00 00 14 73 74 61 74 69 63 20 69 6e 74 20 61 73 63 65 6e 64 65 72 3b 00 00 00 1f 73 74 61 74 69 | ...static.int.ascender;....stati |
| 9c60 | 63 20 69 6e 74 20 66 6f 6e 74 5f 70 74 20 3d 20 46 4f 4e 54 5f 53 49 5a 45 3b 00 00 00 00 00 00 | c.int.font_pt.=.FONT_SIZE;...... |
| 9c80 | 00 45 74 79 70 65 64 65 66 20 65 6e 75 6d 20 7b 20 4d 45 4e 55 5f 4e 4f 4e 45 20 3d 20 2d 31 2c | .Etypedef.enum.{.MENU_NONE.=.-1, |
| 9ca0 | 20 4d 45 4e 55 5f 46 49 4c 45 20 3d 20 30 2c 20 4d 45 4e 55 5f 49 4e 46 4f 20 3d 20 31 20 7d 20 | .MENU_FILE.=.0,.MENU_INFO.=.1.}. |
| 9cc0 | 4d 65 6e 75 49 64 3b 00 00 00 00 00 00 00 10 74 79 70 65 64 65 66 20 73 74 72 75 63 74 20 7b 00 | MenuId;........typedef.struct.{. |
| 9ce0 | 00 00 14 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6c 61 62 65 6c 3b 00 00 00 11 20 20 62 6f 6f | .....const.char.*label;......boo |
| 9d00 | 6c 20 73 65 70 5f 61 66 74 65 72 3b 00 00 00 0b 7d 20 4d 65 6e 75 49 74 65 6d 3b 00 00 00 00 00 | l.sep_after;....}.MenuItem;..... |
| 9d20 | 00 00 26 73 74 61 74 69 63 20 63 6f 6e 73 74 20 4d 65 6e 75 49 74 65 6d 20 66 69 6c 65 5f 69 74 | ..&static.const.MenuItem.file_it |
| 9d40 | 65 6d 73 5b 5d 20 3d 20 7b 00 00 00 41 20 20 20 20 7b 22 4e 65 77 22 2c 20 66 61 6c 73 65 7d 2c | ems[].=.{...A....{"New",.false}, |
| 9d60 | 20 20 20 20 7b 22 4f 70 65 6e 22 2c 20 66 61 6c 73 65 7d 2c 20 20 20 20 20 20 20 20 20 20 7b 22 | ....{"Open",.false},..........{" |
| 9d80 | 53 61 76 65 22 2c 20 66 61 6c 73 65 7d 2c 00 00 00 41 20 20 20 20 7b 22 53 61 76 65 20 41 73 22 | Save",.false},...A....{"Save.As" |
| 9da0 | 2c 20 74 72 75 65 7d 2c 20 7b 22 53 61 76 65 20 61 6e 64 20 51 75 69 74 22 2c 20 66 61 6c 73 65 | ,.true},.{"Save.and.Quit",.false |
| 9dc0 | 7d 2c 20 7b 22 51 75 69 74 22 2c 20 66 61 6c 73 65 7d 2c 00 00 00 02 7d 3b 00 00 00 26 73 74 61 | },.{"Quit",.false},....};...&sta |
| 9de0 | 74 69 63 20 63 6f 6e 73 74 20 4d 65 6e 75 49 74 65 6d 20 69 6e 66 6f 5f 69 74 65 6d 73 5b 5d 20 | tic.const.MenuItem.info_items[]. |
| 9e00 | 3d 20 7b 00 00 00 15 20 20 20 20 7b 22 41 62 6f 75 74 22 2c 20 66 61 6c 73 65 7d 2c 00 00 00 02 | =.{........{"About",.false},.... |
| 9e20 | 7d 3b 00 00 00 3e 23 64 65 66 69 6e 65 20 4e 5f 46 49 4c 45 20 28 28 69 6e 74 29 28 73 69 7a 65 | };...>#define.N_FILE.((int)(size |
| 9e40 | 6f 66 20 66 69 6c 65 5f 69 74 65 6d 73 20 2f 20 73 69 7a 65 6f 66 20 2a 66 69 6c 65 5f 69 74 65 | of.file_items./.sizeof.*file_ite |
| 9e60 | 6d 73 29 29 00 00 00 3e 23 64 65 66 69 6e 65 20 4e 5f 49 4e 46 4f 20 28 28 69 6e 74 29 28 73 69 | ms))...>#define.N_INFO.((int)(si |
| 9e80 | 7a 65 6f 66 20 69 6e 66 6f 5f 69 74 65 6d 73 20 2f 20 73 69 7a 65 6f 66 20 2a 69 6e 66 6f 5f 69 | zeof.info_items./.sizeof.*info_i |
| 9ea0 | 74 65 6d 73 29 29 00 00 00 00 00 00 00 0e 73 74 72 75 63 74 20 70 6f 70 75 70 20 7b 00 00 00 18 | tems))........struct.popup.{.... |
| 9ec0 | 20 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 77 73 3b 00 00 00 19 20 20 73 74 | ..struct.wl_surface.*ws;......st |
| 9ee0 | 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 3b 00 00 00 1a 20 20 73 74 72 75 63 | ruct.xdg_surface.*xs;......struc |
| 9f00 | 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 3b 00 00 00 0f 20 20 76 6f 69 64 20 2a 70 | t.xdg_toplevel.*xt;......void.*p |
| 9f20 | 69 78 65 6c 73 3b 00 00 00 15 20 20 73 69 7a 65 5f 74 20 70 69 78 65 6c 73 5f 73 69 7a 65 3b 00 | ixels;......size_t.pixels_size;. |
| 9f40 | 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 3b 00 00 00 0b 20 | .....struct.wl_buffer.*buf;..... |
| 9f60 | 20 69 6e 74 20 77 2c 20 68 3b 00 00 00 12 20 20 62 6f 6f 6c 20 63 6f 6e 66 69 67 75 72 65 64 3b | .int.w,.h;......bool.configured; |
| 9f80 | 00 00 00 0c 20 20 62 6f 6f 6c 20 6f 70 65 6e 3b 00 00 00 02 7d 3b 00 00 00 00 00 00 00 0c 73 74 | ......bool.open;....};........st |
| 9fa0 | 72 75 63 74 20 61 70 70 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 | ruct.app.{......struct.wl_displa |
| 9fc0 | 79 20 2a 64 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 | y.*d;......struct.wl_registry.*r |
| 9fe0 | 65 67 3b 00 00 00 1d 20 20 73 74 72 75 63 74 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 20 2a 63 | eg;......struct.wl_compositor.*c |
| a000 | 6f 6d 70 3b 00 00 00 15 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d 3b 00 00 00 | omp;......struct.wl_shm.*shm;... |
| a020 | 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 3b 00 00 00 18 20 20 | ...struct.xdg_wm_base.*wm;...... |
| a040 | 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 77 73 3b 00 00 00 19 20 20 73 74 72 75 | struct.wl_surface.*ws;......stru |
| a060 | 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 | ct.xdg_surface.*xs;......struct. |
| a080 | 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 3b 00 00 00 17 20 20 73 74 72 75 63 74 20 77 6c | xdg_toplevel.*xt;......struct.wl |
| a0a0 | 5f 73 65 61 74 20 2a 73 65 61 74 3b 00 00 00 1f 20 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 | _seat.*seat;......struct.wl_keyb |
| a0c0 | 6f 61 72 64 20 2a 6b 65 79 62 6f 61 72 64 3b 00 00 00 1d 20 20 73 74 72 75 63 74 20 77 6c 5f 70 | oard.*keyboard;......struct.wl_p |
| a0e0 | 6f 69 6e 74 65 72 20 2a 70 6f 69 6e 74 65 72 3b 00 00 00 25 20 20 73 74 72 75 63 74 20 77 6c 5f | ointer.*pointer;...%..struct.wl_ |
| a100 | 64 61 74 61 5f 64 65 76 69 63 65 5f 6d 61 6e 61 67 65 72 20 2a 64 64 6d 3b 00 00 00 1c 20 20 73 | data_device_manager.*ddm;......s |
| a120 | 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 20 2a 64 64 3b 00 00 00 1c 20 20 73 | truct.wl_data_device.*dd;......s |
| a140 | 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 20 2a 64 73 3b 00 00 00 0f 20 20 76 | truct.wl_data_source.*ds;......v |
| a160 | 6f 69 64 20 2a 70 69 78 65 6c 73 3b 00 00 00 15 20 20 73 69 7a 65 5f 74 20 70 69 78 65 6c 73 5f | oid.*pixels;......size_t.pixels_ |
| a180 | 73 69 7a 65 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 | size;......struct.wl_buffer.*buf |
| a1a0 | 3b 00 00 00 21 20 20 69 6e 74 20 77 2c 20 68 2c 20 70 65 6e 64 69 6e 67 5f 77 2c 20 70 65 6e 64 | ;...!..int.w,.h,.pending_w,.pend |
| a1c0 | 69 6e 67 5f 68 3b 00 00 00 12 20 20 62 6f 6f 6c 20 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 1e | ing_h;......bool.configured;.... |
| a1e0 | 20 20 73 74 72 75 63 74 20 78 6b 62 5f 63 6f 6e 74 65 78 74 20 2a 78 6b 62 5f 63 74 78 3b 00 00 | ..struct.xkb_context.*xkb_ctx;.. |
| a200 | 00 20 20 20 73 74 72 75 63 74 20 78 6b 62 5f 6b 65 79 6d 61 70 20 2a 78 6b 62 5f 6b 65 79 6d 61 | ....struct.xkb_keymap.*xkb_keyma |
| a220 | 70 3b 00 00 00 1e 20 20 73 74 72 75 63 74 20 78 6b 62 5f 73 74 61 74 65 20 2a 78 6b 62 5f 73 74 | p;......struct.xkb_state.*xkb_st |
| a240 | 61 74 65 3b 00 00 00 10 20 20 69 6e 74 20 72 65 70 65 61 74 5f 66 64 3b 00 00 00 16 20 20 75 69 | ate;......int.repeat_fd;......ui |
| a260 | 6e 74 33 32 5f 74 20 72 65 70 65 61 74 5f 6b 65 79 3b 00 00 00 16 20 20 69 6e 74 33 32 5f 74 20 | nt32_t.repeat_key;......int32_t. |
| a280 | 72 65 70 65 61 74 5f 72 61 74 65 3b 00 00 00 17 20 20 69 6e 74 33 32 5f 74 20 72 65 70 65 61 74 | repeat_rate;......int32_t.repeat |
| a2a0 | 5f 64 65 6c 61 79 3b 00 00 00 1b 20 20 63 68 61 72 20 63 6c 69 70 62 6f 61 72 64 5b 4d 41 58 5f | _delay;......char.clipboard[MAX_ |
| a2c0 | 54 45 58 54 5d 3b 00 00 00 14 20 20 69 6e 74 20 63 6c 69 70 62 6f 61 72 64 5f 6c 65 6e 3b 00 00 | TEXT];......int.clipboard_len;.. |
| a2e0 | 00 17 20 20 75 69 6e 74 33 32 5f 74 20 6c 61 73 74 5f 73 65 72 69 61 6c 3b 00 00 00 17 20 20 69 | ....uint32_t.last_serial;......i |
| a300 | 6e 74 20 6d 6f 75 73 65 5f 78 2c 20 6d 6f 75 73 65 5f 79 3b 00 00 00 13 20 20 4d 65 6e 75 49 64 | nt.mouse_x,.mouse_y;......MenuId |
| a320 | 20 6f 70 65 6e 5f 6d 65 6e 75 3b 00 00 00 13 20 20 69 6e 74 20 68 6f 76 65 72 65 64 5f 69 74 65 | .open_menu;......int.hovered_ite |
| a340 | 6d 3b 00 00 00 15 20 20 73 74 72 75 63 74 20 70 6f 70 75 70 20 61 62 6f 75 74 3b 00 00 00 02 7d | m;......struct.popup.about;....} |
| a360 | 3b 00 00 00 00 00 00 00 27 73 74 61 74 69 63 20 76 6f 69 64 20 75 70 64 61 74 65 5f 66 6f 6e 74 | ;.......'static.void.update_font |
| a380 | 5f 6d 65 74 72 69 63 73 28 76 6f 69 64 29 20 7b 00 00 00 35 20 20 46 54 5f 53 65 74 5f 43 68 61 | _metrics(void).{...5..FT_Set_Cha |
| a3a0 | 72 5f 53 69 7a 65 28 66 74 5f 66 61 63 65 2c 20 30 2c 20 66 6f 6e 74 5f 70 74 20 2a 20 36 34 2c | r_Size(ft_face,.0,.font_pt.*.64, |
| a3c0 | 20 39 36 2c 20 39 36 29 3b 00 00 00 33 20 20 46 54 5f 4c 6f 61 64 5f 43 68 61 72 28 66 74 5f 66 | .96,.96);...3..FT_Load_Char(ft_f |
| a3e0 | 61 63 65 2c 20 27 30 27 2c 20 46 54 5f 4c 4f 41 44 5f 41 44 56 41 4e 43 45 5f 4f 4e 4c 59 29 3b | ace,.'0',.FT_LOAD_ADVANCE_ONLY); |
| a400 | 00 00 00 38 20 20 63 65 6c 6c 5f 77 20 3d 20 28 69 6e 74 29 28 28 66 74 5f 66 61 63 65 2d 3e 67 | ...8..cell_w.=.(int)((ft_face->g |
| a420 | 6c 79 70 68 2d 3e 61 64 76 61 6e 63 65 2e 78 20 2b 20 33 32 29 20 3e 3e 20 36 29 3b 00 00 00 39 | lyph->advance.x.+.32).>>.6);...9 |
| a440 | 20 20 61 73 63 65 6e 64 65 72 20 3d 20 28 69 6e 74 29 28 66 74 5f 66 61 63 65 2d 3e 73 69 7a 65 | ..ascender.=.(int)(ft_face->size |
| a460 | 2d 3e 6d 65 74 72 69 63 73 2e 61 73 63 65 6e 64 65 72 20 3e 3e 20 36 29 3b 00 00 00 42 20 20 69 | ->metrics.ascender.>>.6);...B..i |
| a480 | 6e 74 20 64 65 73 63 20 3d 20 28 69 6e 74 29 28 28 2d 66 74 5f 66 61 63 65 2d 3e 73 69 7a 65 2d | nt.desc.=.(int)((-ft_face->size- |
| a4a0 | 3e 6d 65 74 72 69 63 73 2e 64 65 73 63 65 6e 64 65 72 20 2b 20 36 33 29 20 3e 3e 20 36 29 3b 00 | >metrics.descender.+.63).>>.6);. |
| a4c0 | 00 00 1b 20 20 63 65 6c 6c 5f 68 20 3d 20 61 73 63 65 6e 64 65 72 20 2b 20 64 65 73 63 3b 00 00 | .....cell_h.=.ascender.+.desc;.. |
| a4e0 | 00 11 20 20 69 66 20 28 63 65 6c 6c 5f 77 20 3c 20 31 29 00 00 00 0f 20 20 20 20 63 65 6c 6c 5f | ....if.(cell_w.<.1)........cell_ |
| a500 | 77 20 3d 20 31 3b 00 00 00 11 20 20 69 66 20 28 63 65 6c 6c 5f 68 20 3c 20 31 29 00 00 00 0f 20 | w.=.1;......if.(cell_h.<.1)..... |
| a520 | 20 20 20 63 65 6c 6c 5f 68 20 3d 20 31 3b 00 00 00 01 7d 00 00 00 00 00 00 00 1d 73 74 61 74 69 | ...cell_h.=.1;....}........stati |
| a540 | 63 20 62 6f 6f 6c 20 6c 6f 61 64 5f 66 6f 6e 74 28 76 6f 69 64 29 20 7b 00 00 00 0b 20 20 46 63 | c.bool.load_font(void).{......Fc |
| a560 | 49 6e 69 74 28 29 3b 00 00 00 35 20 20 46 63 50 61 74 74 65 72 6e 20 2a 70 61 74 20 3d 20 46 63 | Init();...5..FcPattern.*pat.=.Fc |
| a580 | 4e 61 6d 65 50 61 72 73 65 28 28 46 63 43 68 61 72 38 20 2a 29 46 4f 4e 54 5f 4e 41 4d 45 29 3b | NameParse((FcChar8.*)FONT_NAME); |
| a5a0 | 00 00 00 30 20 20 46 63 43 6f 6e 66 69 67 53 75 62 73 74 69 74 75 74 65 28 4e 55 4c 4c 2c 20 70 | ...0..FcConfigSubstitute(NULL,.p |
| a5c0 | 61 74 2c 20 46 63 4d 61 74 63 68 50 61 74 74 65 72 6e 29 3b 00 00 00 1b 20 20 46 63 44 65 66 61 | at,.FcMatchPattern);......FcDefa |
| a5e0 | 75 6c 74 53 75 62 73 74 69 74 75 74 65 28 70 61 74 29 3b 00 00 00 0f 20 20 46 63 52 65 73 75 6c | ultSubstitute(pat);......FcResul |
| a600 | 74 20 72 65 73 3b 00 00 00 32 20 20 46 63 50 61 74 74 65 72 6e 20 2a 6d 61 74 63 68 20 3d 20 46 | t.res;...2..FcPattern.*match.=.F |
| a620 | 63 46 6f 6e 74 4d 61 74 63 68 28 4e 55 4c 4c 2c 20 70 61 74 2c 20 26 72 65 73 29 3b 00 00 00 18 | cFontMatch(NULL,.pat,.&res);.... |
| a640 | 20 20 46 63 50 61 74 74 65 72 6e 44 65 73 74 72 6f 79 28 70 61 74 29 3b 00 00 00 0d 20 20 69 66 | ..FcPatternDestroy(pat);......if |
| a660 | 20 28 21 6d 61 74 63 68 29 00 00 00 11 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 00 00 | .(!match)........return.false;.. |
| a680 | 00 17 20 20 46 63 43 68 61 72 38 20 2a 70 61 74 68 20 3d 20 4e 55 4c 4c 3b 00 00 00 46 20 20 69 | ....FcChar8.*path.=.NULL;...F..i |
| a6a0 | 66 20 28 46 63 50 61 74 74 65 72 6e 47 65 74 53 74 72 69 6e 67 28 6d 61 74 63 68 2c 20 46 43 5f | f.(FcPatternGetString(match,.FC_ |
| a6c0 | 46 49 4c 45 2c 20 30 2c 20 26 70 61 74 68 29 20 21 3d 20 46 63 52 65 73 75 6c 74 4d 61 74 63 68 | FILE,.0,.&path).!=.FcResultMatch |
| a6e0 | 29 20 7b 00 00 00 1c 20 20 20 20 46 63 50 61 74 74 65 72 6e 44 65 73 74 72 6f 79 28 6d 61 74 63 | ).{........FcPatternDestroy(matc |
| a700 | 68 29 3b 00 00 00 11 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 00 00 00 03 20 20 7d 00 | h);........return.false;......}. |
| a720 | 00 00 22 20 20 69 66 20 28 46 54 5f 49 6e 69 74 5f 46 72 65 65 54 79 70 65 28 26 66 74 5f 6c 69 | .."..if.(FT_Init_FreeType(&ft_li |
| a740 | 62 29 29 20 7b 00 00 00 1c 20 20 20 20 46 63 50 61 74 74 65 72 6e 44 65 73 74 72 6f 79 28 6d 61 | b)).{........FcPatternDestroy(ma |
| a760 | 74 63 68 29 3b 00 00 00 11 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 00 00 00 03 20 20 | tch);........return.false;...... |
| a780 | 7d 00 00 00 3d 20 20 69 66 20 28 46 54 5f 4e 65 77 5f 46 61 63 65 28 66 74 5f 6c 69 62 2c 20 28 | }...=..if.(FT_New_Face(ft_lib,.( |
| a7a0 | 63 6f 6e 73 74 20 63 68 61 72 20 2a 29 70 61 74 68 2c 20 30 2c 20 26 66 74 5f 66 61 63 65 29 29 | const.char.*)path,.0,.&ft_face)) |
| a7c0 | 20 7b 00 00 00 1c 20 20 20 20 46 63 50 61 74 74 65 72 6e 44 65 73 74 72 6f 79 28 6d 61 74 63 68 | .{........FcPatternDestroy(match |
| a7e0 | 29 3b 00 00 00 11 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 00 00 00 03 20 20 7d 00 00 | );........return.false;......}.. |
| a800 | 00 1a 20 20 46 63 50 61 74 74 65 72 6e 44 65 73 74 72 6f 79 28 6d 61 74 63 68 29 3b 00 00 00 18 | ....FcPatternDestroy(match);.... |
| a820 | 20 20 75 70 64 61 74 65 5f 66 6f 6e 74 5f 6d 65 74 72 69 63 73 28 29 3b 00 00 00 0e 20 20 72 65 | ..update_font_metrics();......re |
| a840 | 74 75 72 6e 20 74 72 75 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 46 73 74 61 74 69 63 20 76 6f | turn.true;....}.......Fstatic.vo |
| a860 | 69 64 20 70 73 65 74 28 76 6f 69 64 20 2a 70 78 2c 20 69 6e 74 20 70 77 2c 20 69 6e 74 20 70 68 | id.pset(void.*px,.int.pw,.int.ph |
| a880 | 2c 20 69 6e 74 20 78 2c 20 69 6e 74 20 79 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 | ,.int.x,.int.y,.uint32_t.c).{... |
| a8a0 | 2b 20 20 69 66 20 28 78 20 3e 3d 20 30 20 26 26 20 79 20 3e 3d 20 30 20 26 26 20 78 20 3c 20 70 | +..if.(x.>=.0.&&.y.>=.0.&&.x.<.p |
| a8c0 | 77 20 26 26 20 79 20 3c 20 70 68 29 00 00 00 25 20 20 20 20 28 28 75 69 6e 74 33 32 5f 74 20 2a | w.&&.y.<.ph)...%....((uint32_t.* |
| a8e0 | 29 70 78 29 5b 79 20 2a 20 70 77 20 2b 20 78 5d 20 3d 20 63 3b 00 00 00 01 7d 00 00 00 00 00 00 | )px)[y.*.pw.+.x].=.c;....}...... |
| a900 | 00 47 73 74 61 74 69 63 20 76 6f 69 64 20 66 72 65 63 74 28 76 6f 69 64 20 2a 70 78 2c 20 69 6e | .Gstatic.void.frect(void.*px,.in |
| a920 | 74 20 70 77 2c 20 69 6e 74 20 70 68 2c 20 69 6e 74 20 78 2c 20 69 6e 74 20 79 2c 20 69 6e 74 20 | t.pw,.int.ph,.int.x,.int.y,.int. |
| a940 | 77 2c 20 69 6e 74 20 68 2c 00 00 00 1f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 | w,.int.h,......................u |
| a960 | 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 20 20 20 66 6f 72 20 28 69 6e 74 20 64 79 20 3d 20 | int32_t.c).{......for.(int.dy.=. |
| a980 | 30 3b 20 64 79 20 3c 20 68 3b 20 64 79 2b 2b 29 00 00 00 22 20 20 20 20 66 6f 72 20 28 69 6e 74 | 0;.dy.<.h;.dy++)..."....for.(int |
| a9a0 | 20 64 78 20 3d 20 30 3b 20 64 78 20 3c 20 77 3b 20 64 78 2b 2b 29 00 00 00 2a 20 20 20 20 20 20 | .dx.=.0;.dx.<.w;.dx++)...*...... |
| a9c0 | 70 73 65 74 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 78 20 2b 20 64 78 2c 20 79 20 2b 20 64 79 2c | pset(px,.pw,.ph,.x.+.dx,.y.+.dy, |
| a9e0 | 20 63 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 45 73 74 61 74 69 63 20 76 6f 69 64 20 62 70 69 | .c);....}.......Estatic.void.bpi |
| aa00 | 78 28 76 6f 69 64 20 2a 70 78 2c 20 69 6e 74 20 70 77 2c 20 69 6e 74 20 70 68 2c 20 69 6e 74 20 | x(void.*px,.int.pw,.int.ph,.int. |
| aa20 | 78 2c 20 69 6e 74 20 79 2c 20 75 69 6e 74 33 32 5f 74 20 66 67 2c 00 00 00 1d 20 20 20 20 20 20 | x,.int.y,.uint32_t.fg,.......... |
| aa40 | 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 38 5f 74 20 61 29 20 7b 00 00 00 2b 20 20 69 66 20 | ...........uint8_t.a).{...+..if. |
| aa60 | 28 78 20 3c 20 30 20 7c 7c 20 79 20 3c 20 30 20 7c 7c 20 78 20 3e 3d 20 70 77 20 7c 7c 20 79 20 | (x.<.0.||.y.<.0.||.x.>=.pw.||.y. |
| aa80 | 3e 3d 20 70 68 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 30 20 20 75 69 6e 74 33 | >=.ph)........return;...0..uint3 |
| aaa0 | 32 5f 74 20 2a 64 73 74 20 3d 20 26 28 28 75 69 6e 74 33 32 5f 74 20 2a 29 70 78 29 5b 79 20 2a | 2_t.*dst.=.&((uint32_t.*)px)[y.* |
| aac0 | 20 70 77 20 2b 20 78 5d 3b 00 00 00 15 20 20 75 69 6e 74 33 32 5f 74 20 62 67 20 3d 20 2a 64 73 | .pw.+.x];......uint32_t.bg.=.*ds |
| aae0 | 74 3b 00 00 00 4d 20 20 75 69 6e 74 33 32 5f 74 20 72 20 3d 20 28 28 66 67 20 3e 3e 20 31 36 20 | t;...M..uint32_t.r.=.((fg.>>.16. |
| ab00 | 26 20 30 78 46 46 29 20 2a 20 61 20 2b 20 28 62 67 20 3e 3e 20 31 36 20 26 20 30 78 46 46 29 20 | &.0xFF).*.a.+.(bg.>>.16.&.0xFF). |
| ab20 | 2a 20 28 32 35 35 20 2d 20 61 29 29 20 2f 20 32 35 35 3b 00 00 00 4b 20 20 75 69 6e 74 33 32 5f | *.(255.-.a))./.255;...K..uint32_ |
| ab40 | 74 20 67 20 3d 20 28 28 66 67 20 3e 3e 20 38 20 26 20 30 78 46 46 29 20 2a 20 61 20 2b 20 28 62 | t.g.=.((fg.>>.8.&.0xFF).*.a.+.(b |
| ab60 | 67 20 3e 3e 20 38 20 26 20 30 78 46 46 29 20 2a 20 28 32 35 35 20 2d 20 61 29 29 20 2f 20 32 35 | g.>>.8.&.0xFF).*.(255.-.a))./.25 |
| ab80 | 35 3b 00 00 00 41 20 20 75 69 6e 74 33 32 5f 74 20 62 20 3d 20 28 28 66 67 20 26 20 30 78 46 46 | 5;...A..uint32_t.b.=.((fg.&.0xFF |
| aba0 | 29 20 2a 20 61 20 2b 20 28 62 67 20 26 20 30 78 46 46 29 20 2a 20 28 32 35 35 20 2d 20 61 29 29 | ).*.a.+.(bg.&.0xFF).*.(255.-.a)) |
| abc0 | 20 2f 20 32 35 35 3b 00 00 00 2f 20 20 2a 64 73 74 20 3d 20 30 78 46 46 30 30 30 30 30 30 20 7c | ./.255;.../..*dst.=.0xFF000000.| |
| abe0 | 20 28 72 20 3c 3c 20 31 36 29 20 7c 20 28 67 20 3c 3c 20 38 29 20 7c 20 62 3b 00 00 00 01 7d 00 | .(r.<<.16).|.(g.<<.8).|.b;....}. |
| ac00 | 00 00 00 00 00 00 49 73 74 61 74 69 63 20 76 6f 69 64 20 64 67 6c 79 70 68 28 76 6f 69 64 20 2a | ......Istatic.void.dglyph(void.* |
| ac20 | 70 78 2c 20 69 6e 74 20 70 77 2c 20 69 6e 74 20 70 68 2c 20 69 6e 74 20 63 78 2c 20 69 6e 74 20 | px,.int.pw,.int.ph,.int.cx,.int. |
| ac40 | 63 79 2c 20 75 69 6e 74 33 32 5f 74 20 63 70 2c 00 00 00 24 20 20 20 20 20 20 20 20 20 20 20 20 | cy,.uint32_t.cp,...$............ |
| ac60 | 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 63 6f 6c 6f 72 29 20 7b 00 00 00 2c 20 20 46 54 | .......uint32_t.color).{...,..FT |
| ac80 | 5f 4c 6f 61 64 5f 43 68 61 72 28 66 74 5f 66 61 63 65 2c 20 63 70 2c 20 46 54 5f 4c 4f 41 44 5f | _Load_Char(ft_face,.cp,.FT_LOAD_ |
| aca0 | 52 45 4e 44 45 52 29 3b 00 00 00 25 20 20 46 54 5f 47 6c 79 70 68 53 6c 6f 74 20 73 6c 6f 74 20 | RENDER);...%..FT_GlyphSlot.slot. |
| acc0 | 3d 20 66 74 5f 66 61 63 65 2d 3e 67 6c 79 70 68 3b 00 00 00 20 20 20 46 54 5f 42 69 74 6d 61 70 | =.ft_face->glyph;......FT_Bitmap |
| ace0 | 20 2a 62 6d 20 3d 20 26 73 6c 6f 74 2d 3e 62 69 74 6d 61 70 3b 00 00 00 1d 20 20 69 6e 74 20 6f | .*bm.=.&slot->bitmap;......int.o |
| ad00 | 78 20 3d 20 73 6c 6f 74 2d 3e 62 69 74 6d 61 70 5f 6c 65 66 74 3b 00 00 00 2c 20 20 69 6e 74 20 | x.=.slot->bitmap_left;...,..int. |
| ad20 | 6f 79 20 3d 20 63 79 20 2b 20 61 73 63 65 6e 64 65 72 20 2d 20 73 6c 6f 74 2d 3e 62 69 74 6d 61 | oy.=.cy.+.ascender.-.slot->bitma |
| ad40 | 70 5f 74 6f 70 3b 00 00 00 2f 20 20 66 6f 72 20 28 69 6e 74 20 72 6f 77 20 3d 20 30 3b 20 72 6f | p_top;.../..for.(int.row.=.0;.ro |
| ad60 | 77 20 3c 20 28 69 6e 74 29 62 6d 2d 3e 72 6f 77 73 3b 20 72 6f 77 2b 2b 29 00 00 00 34 20 20 20 | w.<.(int)bm->rows;.row++)...4... |
| ad80 | 20 66 6f 72 20 28 69 6e 74 20 63 6f 6c 20 3d 20 30 3b 20 63 6f 6c 20 3c 20 28 69 6e 74 29 62 6d | .for.(int.col.=.0;.col.<.(int)bm |
| ada0 | 2d 3e 77 69 64 74 68 3b 20 63 6f 6c 2b 2b 29 20 7b 00 00 00 35 20 20 20 20 20 20 75 69 6e 74 38 | ->width;.col++).{...5......uint8 |
| adc0 | 5f 74 20 61 76 20 3d 20 62 6d 2d 3e 62 75 66 66 65 72 5b 72 6f 77 20 2a 20 62 6d 2d 3e 70 69 74 | _t.av.=.bm->buffer[row.*.bm->pit |
| ade0 | 63 68 20 2b 20 63 6f 6c 5d 3b 00 00 00 0d 20 20 20 20 20 20 69 66 20 28 61 76 29 00 00 00 3d 20 | ch.+.col];..........if.(av)...=. |
| ae00 | 20 20 20 20 20 20 20 62 70 69 78 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 63 78 20 2b 20 6f 78 20 | .......bpix(px,.pw,.ph,.cx.+.ox. |
| ae20 | 2b 20 63 6f 6c 2c 20 6f 79 20 2b 20 72 6f 77 2c 20 63 6f 6c 6f 72 2c 20 61 76 29 3b 00 00 00 05 | +.col,.oy.+.row,.color,.av);.... |
| ae40 | 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 47 73 74 61 74 69 63 20 76 6f 69 64 20 64 73 | ....}....}.......Gstatic.void.ds |
| ae60 | 74 72 28 76 6f 69 64 20 2a 70 78 2c 20 69 6e 74 20 70 77 2c 20 69 6e 74 20 70 68 2c 20 69 6e 74 | tr(void.*px,.int.pw,.int.ph,.int |
| ae80 | 20 78 2c 20 69 6e 74 20 79 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 2c 00 00 00 22 20 20 20 | .x,.int.y,.const.char.*s,..."... |
| aea0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 63 6f 6c 6f 72 29 20 7b 00 | ..............uint32_t.color).{. |
| aec0 | 00 00 2f 20 20 66 6f 72 20 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 70 20 3d 20 73 3b 20 2a 70 3b | ../..for.(const.char.*p.=.s;.*p; |
| aee0 | 20 70 2b 2b 2c 20 78 20 2b 3d 20 63 65 6c 6c 5f 77 29 00 00 00 37 20 20 20 20 64 67 6c 79 70 68 | .p++,.x.+=.cell_w)...7....dglyph |
| af00 | 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 78 2c 20 79 2c 20 28 75 6e 73 69 67 6e 65 64 20 63 68 61 | (px,.pw,.ph,.x,.y,.(unsigned.cha |
| af20 | 72 29 2a 70 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 41 73 74 61 74 69 63 | r)*p,.color);....}.......Astatic |
| af40 | 20 69 6e 74 20 73 70 77 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 29 20 7b 20 72 65 74 75 72 6e | .int.spw(const.char.*s).{.return |
| af60 | 20 28 69 6e 74 29 73 74 72 6c 65 6e 28 73 29 20 2a 20 63 65 6c 6c 5f 77 3b 20 7d 00 00 00 00 00 | .(int)strlen(s).*.cell_w;.}..... |
| af80 | 00 00 4b 73 74 61 74 69 63 20 76 6f 69 64 20 2a 6d 61 6b 65 5f 73 68 6d 28 73 74 72 75 63 74 20 | ..Kstatic.void.*make_shm(struct. |
| afa0 | 61 70 70 20 2a 61 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 73 74 72 75 63 74 20 77 6c 5f | app.*a,.int.w,.int.h,.struct.wl_ |
| afc0 | 62 75 66 66 65 72 20 2a 2a 6f 62 75 66 2c 00 00 00 24 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | buffer.**obuf,...$.............. |
| afe0 | 20 20 20 20 20 20 20 20 73 69 7a 65 5f 74 20 2a 6f 73 7a 29 20 7b 00 00 00 20 20 20 73 69 7a 65 | ........size_t.*osz).{......size |
| b000 | 5f 74 20 73 7a 20 3d 20 28 73 69 7a 65 5f 74 29 77 20 2a 20 68 20 2a 20 34 3b 00 00 00 23 20 20 | _t.sz.=.(size_t)w.*.h.*.4;...#.. |
| b020 | 63 68 61 72 20 74 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 61 79 6c 61 6e 64 2d 58 58 58 58 58 58 22 | char.t[].=."/tmp/wayland-XXXXXX" |
| b040 | 3b 00 00 00 16 20 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 29 3b 00 00 00 0c 20 | ;......int.fd.=.mkstemp(t);..... |
| b060 | 20 75 6e 6c 69 6e 6b 28 74 29 3b 00 00 00 28 20 20 69 66 20 28 66 64 20 3c 20 30 20 7c 7c 20 66 | .unlink(t);...(..if.(fd.<.0.||.f |
| b080 | 74 72 75 6e 63 61 74 65 28 66 64 2c 20 73 7a 29 20 3c 20 30 29 20 7b 00 00 00 12 20 20 20 20 70 | truncate(fd,.sz).<.0).{........p |
| b0a0 | 65 72 72 6f 72 28 22 73 68 6d 22 29 3b 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 | error("shm");........exit(1);... |
| b0c0 | 03 20 20 7d 00 00 00 47 20 20 76 6f 69 64 20 2a 70 78 20 3d 20 6d 6d 61 70 28 4e 55 4c 4c 2c 20 | ...}...G..void.*px.=.mmap(NULL,. |
| b0e0 | 73 7a 2c 20 50 52 4f 54 5f 52 45 41 44 20 7c 20 50 52 4f 54 5f 57 52 49 54 45 2c 20 4d 41 50 5f | sz,.PROT_READ.|.PROT_WRITE,.MAP_ |
| b100 | 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 19 20 20 69 66 20 28 70 78 20 3d 3d 20 4d | SHARED,.fd,.0);......if.(px.==.M |
| b120 | 41 50 5f 46 41 49 4c 45 44 29 20 7b 00 00 00 13 20 20 20 20 70 65 72 72 6f 72 28 22 6d 6d 61 70 | AP_FAILED).{........perror("mmap |
| b140 | 22 29 3b 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 03 20 20 7d 00 00 00 40 20 20 | ");........exit(1);......}...@.. |
| b160 | 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 20 3d 20 77 6c 5f 73 68 | struct.wl_shm_pool.*pool.=.wl_sh |
| b180 | 6d 5f 63 72 65 61 74 65 5f 70 6f 6f 6c 28 61 2d 3e 73 68 6d 2c 20 66 64 2c 20 73 7a 29 3b 00 00 | m_create_pool(a->shm,.fd,.sz);.. |
| b1a0 | 00 09 20 20 2a 6f 62 75 66 20 3d 00 00 00 4e 20 20 20 20 20 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c | ....*obuf.=...N......wl_shm_pool |
| b1c0 | 5f 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c 20 30 2c 20 77 2c 20 68 2c 20 77 20 | _create_buffer(pool,.0,.w,.h,.w. |
| b1e0 | 2a 20 34 2c 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 | *.4,.WL_SHM_FORMAT_ARGB8888);... |
| b200 | 1c 20 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 64 65 73 74 72 6f 79 28 70 6f 6f 6c 29 3b 00 00 00 | ...wl_shm_pool_destroy(pool);... |
| b220 | 0c 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 0a 20 20 69 66 20 28 6f 73 7a 29 00 00 00 0e 20 | ...close(fd);......if.(osz)..... |
| b240 | 20 20 20 2a 6f 73 7a 20 3d 20 73 7a 3b 00 00 00 0c 20 20 72 65 74 75 72 6e 20 70 78 3b 00 00 00 | ...*osz.=.sz;......return.px;... |
| b260 | 01 7d 00 00 00 00 00 00 00 38 73 74 61 74 69 63 20 69 6e 74 20 62 61 72 5f 79 28 73 74 72 75 63 | .}.......8static.int.bar_y(struc |
| b280 | 74 20 61 70 70 20 2a 61 29 20 7b 20 72 65 74 75 72 6e 20 61 2d 3e 68 20 2d 20 42 41 52 5f 48 3b | t.app.*a).{.return.a->h.-.BAR_H; |
| b2a0 | 20 7d 00 00 00 39 73 74 61 74 69 63 20 69 6e 74 20 74 65 78 74 5f 68 28 73 74 72 75 63 74 20 61 | .}...9static.int.text_h(struct.a |
| b2c0 | 70 70 20 2a 61 29 20 7b 20 72 65 74 75 72 6e 20 61 2d 3e 68 20 2d 20 42 41 52 5f 48 3b 20 7d 00 | pp.*a).{.return.a->h.-.BAR_H;.}. |
| b2e0 | 00 00 00 00 00 00 19 73 74 61 74 69 63 20 69 6e 74 20 62 74 6e 5f 78 28 69 6e 74 20 69 29 20 7b | .......static.int.btn_x(int.i).{ |
| b300 | 00 00 00 0e 20 20 69 6e 74 20 78 20 3d 20 50 41 44 3b 00 00 00 28 20 20 63 6f 6e 73 74 20 63 68 | ......int.x.=.PAD;...(..const.ch |
| b320 | 61 72 20 2a 6c 62 6c 73 5b 5d 20 3d 20 7b 22 46 69 6c 65 22 2c 20 22 49 6e 66 6f 22 7d 3b 00 00 | ar.*lbls[].=.{"File",."Info"};.. |
| b340 | 00 1d 20 20 66 6f 72 20 28 69 6e 74 20 6a 20 3d 20 30 3b 20 6a 20 3c 20 69 3b 20 6a 2b 2b 29 00 | ....for.(int.j.=.0;.j.<.i;.j++). |
| b360 | 00 00 24 20 20 20 20 78 20 2b 3d 20 73 70 77 28 6c 62 6c 73 5b 6a 5d 29 20 2b 20 42 54 4e 5f 50 | ..$....x.+=.spw(lbls[j]).+.BTN_P |
| b380 | 41 44 20 2a 20 32 3b 00 00 00 0b 20 20 72 65 74 75 72 6e 20 78 3b 00 00 00 01 7d 00 00 00 4f 73 | AD.*.2;......return.x;....}...Os |
| b3a0 | 74 61 74 69 63 20 69 6e 74 20 62 74 6e 5f 77 28 69 6e 74 20 69 29 20 7b 20 72 65 74 75 72 6e 20 | tatic.int.btn_w(int.i).{.return. |
| b3c0 | 73 70 77 28 69 20 3d 3d 20 30 20 3f 20 22 46 69 6c 65 22 20 3a 20 22 49 6e 66 6f 22 29 20 2b 20 | spw(i.==.0.?."File".:."Info").+. |
| b3e0 | 42 54 4e 5f 50 41 44 20 2a 20 32 3b 20 7d 00 00 00 00 00 00 00 2b 73 74 61 74 69 63 20 69 6e 74 | BTN_PAD.*.2;.}.......+static.int |
| b400 | 20 64 69 68 28 76 6f 69 64 29 20 7b 20 72 65 74 75 72 6e 20 63 65 6c 6c 5f 68 20 2b 20 38 3b 20 | .dih(void).{.return.cell_h.+.8;. |
| b420 | 7d 00 00 00 00 00 00 00 23 73 74 61 74 69 63 20 69 6e 74 20 64 72 6f 70 5f 74 6f 74 61 6c 5f 68 | }.......#static.int.drop_total_h |
| b440 | 28 4d 65 6e 75 49 64 20 6d 29 20 7b 00 00 00 2d 20 20 69 6e 74 20 6e 20 3d 20 28 6d 20 3d 3d 20 | (MenuId.m).{...-..int.n.=.(m.==. |
| b460 | 4d 45 4e 55 5f 46 49 4c 45 29 20 3f 20 4e 5f 46 49 4c 45 20 3a 20 4e 5f 49 4e 46 4f 3b 00 00 00 | MENU_FILE).?.N_FILE.:.N_INFO;... |
| b480 | 45 20 20 63 6f 6e 73 74 20 4d 65 6e 75 49 74 65 6d 20 2a 69 74 65 6d 73 20 3d 20 28 6d 20 3d 3d | E..const.MenuItem.*items.=.(m.== |
| b4a0 | 20 4d 45 4e 55 5f 46 49 4c 45 29 20 3f 20 66 69 6c 65 5f 69 74 65 6d 73 20 3a 20 69 6e 66 6f 5f | .MENU_FILE).?.file_items.:.info_ |
| b4c0 | 69 74 65 6d 73 3b 00 00 00 18 20 20 69 6e 74 20 68 20 3d 20 6e 20 2a 20 64 69 68 28 29 20 2b 20 | items;......int.h.=.n.*.dih().+. |
| b4e0 | 34 3b 00 00 00 1d 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 6e 3b 20 69 | 4;......for.(int.i.=.0;.i.<.n;.i |
| b500 | 2b 2b 29 00 00 00 1b 20 20 20 20 69 66 20 28 69 74 65 6d 73 5b 69 5d 2e 73 65 70 5f 61 66 74 65 | ++)........if.(items[i].sep_afte |
| b520 | 72 29 00 00 00 0d 20 20 20 20 20 20 68 20 2b 3d 20 34 3b 00 00 00 0b 20 20 72 65 74 75 72 6e 20 | r)..........h.+=.4;......return. |
| b540 | 68 3b 00 00 00 01 7d 00 00 00 00 00 00 00 1d 73 74 61 74 69 63 20 69 6e 74 20 64 72 6f 70 5f 77 | h;....}........static.int.drop_w |
| b560 | 28 4d 65 6e 75 49 64 20 6d 29 20 7b 00 00 00 10 20 20 69 6e 74 20 6d 61 78 77 20 3d 20 38 30 3b | (MenuId.m).{......int.maxw.=.80; |
| b580 | 00 00 00 2d 20 20 69 6e 74 20 6e 20 3d 20 28 6d 20 3d 3d 20 4d 45 4e 55 5f 46 49 4c 45 29 20 3f | ...-..int.n.=.(m.==.MENU_FILE).? |
| b5a0 | 20 4e 5f 46 49 4c 45 20 3a 20 4e 5f 49 4e 46 4f 3b 00 00 00 45 20 20 63 6f 6e 73 74 20 4d 65 6e | .N_FILE.:.N_INFO;...E..const.Men |
| b5c0 | 75 49 74 65 6d 20 2a 69 74 65 6d 73 20 3d 20 28 6d 20 3d 3d 20 4d 45 4e 55 5f 46 49 4c 45 29 20 | uItem.*items.=.(m.==.MENU_FILE). |
| b5e0 | 3f 20 66 69 6c 65 5f 69 74 65 6d 73 20 3a 20 69 6e 66 6f 5f 69 74 65 6d 73 3b 00 00 00 1f 20 20 | ?.file_items.:.info_items;...... |
| b600 | 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 6e 3b 20 69 2b 2b 29 20 7b 00 00 00 | for.(int.i.=.0;.i.<.n;.i++).{... |
| b620 | 2e 20 20 20 20 69 6e 74 20 77 20 3d 20 73 70 77 28 69 74 65 6d 73 5b 69 5d 2e 6c 61 62 65 6c 29 | .....int.w.=.spw(items[i].label) |
| b640 | 20 2b 20 42 54 4e 5f 50 41 44 20 2a 20 32 3b 00 00 00 11 20 20 20 20 69 66 20 28 77 20 3e 20 6d | .+.BTN_PAD.*.2;........if.(w.>.m |
| b660 | 61 78 77 29 00 00 00 0f 20 20 20 20 20 20 6d 61 78 77 20 3d 20 77 3b 00 00 00 03 20 20 7d 00 00 | axw)..........maxw.=.w;......}.. |
| b680 | 00 0e 20 20 72 65 74 75 72 6e 20 6d 61 78 77 3b 00 00 00 01 7d 00 00 00 00 00 00 00 35 73 74 61 | ....return.maxw;....}.......5sta |
| b6a0 | 74 69 63 20 69 6e 74 20 69 74 65 6d 5f 61 74 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 2c 20 4d | tic.int.item_at(struct.app.*a,.M |
| b6c0 | 65 6e 75 49 64 20 6d 2c 20 69 6e 74 20 6d 79 29 20 7b 00 00 00 14 20 20 69 6e 74 20 62 79 20 3d | enuId.m,.int.my).{......int.by.= |
| b6e0 | 20 62 61 72 5f 79 28 61 29 3b 00 00 00 2d 20 20 69 6e 74 20 6e 20 3d 20 28 6d 20 3d 3d 20 4d 45 | .bar_y(a);...-..int.n.=.(m.==.ME |
| b700 | 4e 55 5f 46 49 4c 45 29 20 3f 20 4e 5f 46 49 4c 45 20 3a 20 4e 5f 49 4e 46 4f 3b 00 00 00 45 20 | NU_FILE).?.N_FILE.:.N_INFO;...E. |
| b720 | 20 63 6f 6e 73 74 20 4d 65 6e 75 49 74 65 6d 20 2a 69 74 65 6d 73 20 3d 20 28 6d 20 3d 3d 20 4d | .const.MenuItem.*items.=.(m.==.M |
| b740 | 45 4e 55 5f 46 49 4c 45 29 20 3f 20 66 69 6c 65 5f 69 74 65 6d 73 20 3a 20 69 6e 66 6f 5f 69 74 | ENU_FILE).?.file_items.:.info_it |
| b760 | 65 6d 73 3b 00 00 00 24 20 20 69 6e 74 20 69 79 20 3d 20 62 79 20 2d 20 64 72 6f 70 5f 74 6f 74 | ems;...$..int.iy.=.by.-.drop_tot |
| b780 | 61 6c 5f 68 28 6d 29 20 2b 20 34 3b 00 00 00 1f 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 | al_h(m).+.4;......for.(int.i.=.0 |
| b7a0 | 3b 20 69 20 3c 20 6e 3b 20 69 2b 2b 29 20 7b 00 00 00 24 20 20 20 20 69 66 20 28 6d 79 20 3e 3d | ;.i.<.n;.i++).{...$....if.(my.>= |
| b7c0 | 20 69 79 20 26 26 20 6d 79 20 3c 20 69 79 20 2b 20 64 69 68 28 29 29 00 00 00 0f 20 20 20 20 20 | .iy.&&.my.<.iy.+.dih())......... |
| b7e0 | 20 72 65 74 75 72 6e 20 69 3b 00 00 00 10 20 20 20 20 69 79 20 2b 3d 20 64 69 68 28 29 3b 00 00 | .return.i;........iy.+=.dih();.. |
| b800 | 00 1b 20 20 20 20 69 66 20 28 69 74 65 6d 73 5b 69 5d 2e 73 65 70 5f 61 66 74 65 72 29 00 00 00 | ......if.(items[i].sep_after)... |
| b820 | 0e 20 20 20 20 20 20 69 79 20 2b 3d 20 34 3b 00 00 00 03 20 20 7d 00 00 00 0c 20 20 72 65 74 75 | .......iy.+=.4;......}......retu |
| b840 | 72 6e 20 2d 31 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 64 | rn.-1;....}.......#static.void.d |
| b860 | 6f 5f 73 61 76 65 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 3b 00 00 00 22 73 74 61 74 69 63 | o_save(struct.app.*a);..."static |
| b880 | 20 76 6f 69 64 20 64 6f 5f 6e 65 77 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 3b 00 00 00 23 | .void.do_new(struct.app.*a);...# |
| b8a0 | 73 74 61 74 69 63 20 76 6f 69 64 20 64 6f 5f 6f 70 65 6e 28 73 74 72 75 63 74 20 61 70 70 20 2a | static.void.do_open(struct.app.* |
| b8c0 | 61 29 3b 00 00 00 26 73 74 61 74 69 63 20 76 6f 69 64 20 6f 70 65 6e 5f 61 62 6f 75 74 28 73 74 | a);...&static.void.open_about(st |
| b8e0 | 72 75 63 74 20 61 70 70 20 2a 61 29 3b 00 00 00 22 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 64 | ruct.app.*a);..."static.void.red |
| b900 | 72 61 77 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 3b 00 00 00 00 00 00 00 23 73 74 61 74 69 | raw(struct.app.*a);.......#stati |
| b920 | 63 20 76 6f 69 64 20 64 6f 5f 6e 65 77 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 | c.void.do_new(struct.app.*a).{.. |
| b940 | 00 1f 20 20 6d 65 6d 73 65 74 28 74 65 78 74 2c 20 30 2c 20 73 69 7a 65 6f 66 20 74 65 78 74 29 | ....memset(text,.0,.sizeof.text) |
| b960 | 3b 00 00 00 0b 20 20 74 6c 65 6e 20 3d 20 30 3b 00 00 00 0d 20 20 63 75 72 73 6f 72 20 3d 20 30 | ;......tlen.=.0;......cursor.=.0 |
| b980 | 3b 00 00 00 12 20 20 73 65 6c 5f 61 6e 63 68 6f 72 20 3d 20 2d 31 3b 00 00 00 15 20 20 66 69 6c | ;......sel_anchor.=.-1;......fil |
| b9a0 | 65 70 61 74 68 5b 30 5d 20 3d 20 27 5c 30 27 3b 00 00 00 10 20 20 64 69 72 74 79 20 3d 20 66 61 | epath[0].=.'\0';......dirty.=.fa |
| b9c0 | 6c 73 65 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 64 6f 5f | lse;....}.......$static.void.do_ |
| b9e0 | 73 61 76 65 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 15 20 20 69 66 20 28 21 | save(struct.app.*a).{......if.(! |
| ba00 | 66 69 6c 65 70 61 74 68 5b 30 5d 29 20 7b 00 00 00 23 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 | filepath[0]).{...#....const.char |
| ba20 | 20 2a 68 20 3d 20 67 65 74 65 6e 76 28 22 48 4f 4d 45 22 29 3b 00 00 00 4b 20 20 20 20 73 6e 70 | .*h.=.getenv("HOME");...K....snp |
| ba40 | 72 69 6e 74 66 28 66 69 6c 65 70 61 74 68 2c 20 73 69 7a 65 6f 66 20 66 69 6c 65 70 61 74 68 2c | rintf(filepath,.sizeof.filepath, |
| ba60 | 20 22 25 73 2f 75 6e 74 69 74 6c 65 64 2e 74 78 74 22 2c 20 68 20 3f 20 68 20 3a 20 22 2f 74 6d | ."%s/untitled.txt",.h.?.h.:."/tm |
| ba80 | 70 22 29 3b 00 00 00 03 20 20 7d 00 00 00 3e 20 20 69 6e 74 20 66 64 20 3d 20 6f 70 65 6e 28 66 | p");......}...>..int.fd.=.open(f |
| baa0 | 69 6c 65 70 61 74 68 2c 20 4f 5f 57 52 4f 4e 4c 59 20 7c 20 4f 5f 43 52 45 41 54 20 7c 20 4f 5f | ilepath,.O_WRONLY.|.O_CREAT.|.O_ |
| bac0 | 54 52 55 4e 43 2c 20 30 36 34 34 29 3b 00 00 00 0f 20 20 69 66 20 28 66 64 20 3c 20 30 29 20 7b | TRUNC,.0644);......if.(fd.<.0).{ |
| bae0 | 00 00 00 13 20 20 20 20 70 65 72 72 6f 72 28 22 73 61 76 65 22 29 3b 00 00 00 0b 20 20 20 20 72 | ........perror("save");........r |
| bb00 | 65 74 75 72 6e 3b 00 00 00 03 20 20 7d 00 00 00 18 20 20 77 72 69 74 65 28 66 64 2c 20 74 65 78 | eturn;......}......write(fd,.tex |
| bb20 | 74 2c 20 74 6c 65 6e 29 3b 00 00 00 0c 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 10 20 20 64 | t,.tlen);......close(fd);......d |
| bb40 | 69 72 74 79 20 3d 20 66 61 6c 73 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 24 73 74 61 74 69 63 | irty.=.false;....}.......$static |
| bb60 | 20 76 6f 69 64 20 64 6f 5f 6f 70 65 6e 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 | .void.do_open(struct.app.*a).{.. |
| bb80 | 00 21 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 68 20 3d 20 67 65 74 65 6e 76 28 22 48 4f 4d 45 | .!..const.char.*h.=.getenv("HOME |
| bba0 | 22 29 3b 00 00 00 12 20 20 63 68 61 72 20 70 61 74 68 5b 34 30 39 36 5d 3b 00 00 00 41 20 20 73 | ");......char.path[4096];...A..s |
| bbc0 | 6e 70 72 69 6e 74 66 28 70 61 74 68 2c 20 73 69 7a 65 6f 66 20 70 61 74 68 2c 20 22 25 73 2f 75 | nprintf(path,.sizeof.path,."%s/u |
| bbe0 | 6e 74 69 74 6c 65 64 2e 74 78 74 22 2c 20 68 20 3f 20 68 20 3a 20 22 2f 74 6d 70 22 29 3b 00 00 | ntitled.txt",.h.?.h.:."/tmp");.. |
| bc00 | 00 20 20 20 69 6e 74 20 66 64 20 3d 20 6f 70 65 6e 28 70 61 74 68 2c 20 4f 5f 52 44 4f 4e 4c 59 | ....int.fd.=.open(path,.O_RDONLY |
| bc20 | 29 3b 00 00 00 0d 20 20 69 66 20 28 66 64 20 3c 20 30 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 | );......if.(fd.<.0)........retur |
| bc40 | 6e 3b 00 00 00 2b 20 20 73 73 69 7a 65 5f 74 20 6e 20 3d 20 72 65 61 64 28 66 64 2c 20 74 65 78 | n;...+..ssize_t.n.=.read(fd,.tex |
| bc60 | 74 2c 20 4d 41 58 5f 54 45 58 54 20 2d 20 31 29 3b 00 00 00 0c 20 20 63 6c 6f 73 65 28 66 64 29 | t,.MAX_TEXT.-.1);......close(fd) |
| bc80 | 3b 00 00 00 0c 20 20 69 66 20 28 6e 20 3c 20 30 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b | ;......if.(n.<.0)........return; |
| bca0 | 00 00 00 10 20 20 74 6c 65 6e 20 3d 20 28 69 6e 74 29 6e 3b 00 00 00 14 20 20 74 65 78 74 5b 74 | ......tlen.=.(int)n;......text[t |
| bcc0 | 6c 65 6e 5d 20 3d 20 27 5c 30 27 3b 00 00 00 10 20 20 63 75 72 73 6f 72 20 3d 20 74 6c 65 6e 3b | len].=.'\0';......cursor.=.tlen; |
| bce0 | 00 00 00 12 20 20 73 65 6c 5f 61 6e 63 68 6f 72 20 3d 20 2d 31 3b 00 00 00 32 20 20 73 6e 70 72 | ......sel_anchor.=.-1;...2..snpr |
| bd00 | 69 6e 74 66 28 66 69 6c 65 70 61 74 68 2c 20 73 69 7a 65 6f 66 20 66 69 6c 65 70 61 74 68 2c 20 | intf(filepath,.sizeof.filepath,. |
| bd20 | 22 25 73 22 2c 20 70 61 74 68 29 3b 00 00 00 10 20 20 64 69 72 74 79 20 3d 20 66 61 6c 73 65 3b | "%s",.path);......dirty.=.false; |
| bd40 | 00 00 00 01 7d 00 00 00 00 00 00 00 39 73 74 61 74 69 63 20 76 6f 69 64 20 66 69 72 65 5f 69 74 | ....}.......9static.void.fire_it |
| bd60 | 65 6d 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 2c 20 4d 65 6e 75 49 64 20 6d 2c 20 69 6e 74 20 | em(struct.app.*a,.MenuId.m,.int. |
| bd80 | 69 64 78 29 20 7b 00 00 00 1b 20 20 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 20 3d 20 4d 45 4e 55 5f | idx).{......a->open_menu.=.MENU_ |
| bda0 | 4e 4f 4e 45 3b 00 00 00 17 20 20 61 2d 3e 68 6f 76 65 72 65 64 5f 69 74 65 6d 20 3d 20 2d 31 3b | NONE;......a->hovered_item.=.-1; |
| bdc0 | 00 00 00 17 20 20 69 66 20 28 6d 20 3d 3d 20 4d 45 4e 55 5f 46 49 4c 45 29 20 7b 00 00 00 12 20 | ......if.(m.==.MENU_FILE).{..... |
| bde0 | 20 20 20 73 77 69 74 63 68 20 28 69 64 78 29 20 7b 00 00 00 0b 20 20 20 20 63 61 73 65 20 30 3a | ...switch.(idx).{........case.0: |
| be00 | 00 00 00 10 20 20 20 20 20 20 64 6f 5f 6e 65 77 28 61 29 3b 00 00 00 0c 20 20 20 20 20 20 62 72 | ..........do_new(a);..........br |
| be20 | 65 61 6b 3b 00 00 00 0b 20 20 20 20 63 61 73 65 20 31 3a 00 00 00 11 20 20 20 20 20 20 64 6f 5f | eak;........case.1:..........do_ |
| be40 | 6f 70 65 6e 28 61 29 3b 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 0b 20 20 20 20 | open(a);..........break;........ |
| be60 | 63 61 73 65 20 32 3a 00 00 00 11 20 20 20 20 20 20 64 6f 5f 73 61 76 65 28 61 29 3b 00 00 00 0c | case.2:..........do_save(a);.... |
| be80 | 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 0d 20 20 20 20 63 61 73 65 20 33 3a 20 7b 00 00 00 | ......break;........case.3:.{... |
| bea0 | 25 20 20 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 68 20 3d 20 67 65 74 65 6e 76 28 22 48 | %......const.char.*h.=.getenv("H |
| bec0 | 4f 4d 45 22 29 3b 00 00 00 4d 20 20 20 20 20 20 73 6e 70 72 69 6e 74 66 28 66 69 6c 65 70 61 74 | OME");...M......snprintf(filepat |
| bee0 | 68 2c 20 73 69 7a 65 6f 66 20 66 69 6c 65 70 61 74 68 2c 20 22 25 73 2f 75 6e 74 69 74 6c 65 64 | h,.sizeof.filepath,."%s/untitled |
| bf00 | 2e 74 78 74 22 2c 20 68 20 3f 20 68 20 3a 20 22 2f 74 6d 70 22 29 3b 00 00 00 11 20 20 20 20 20 | .txt",.h.?.h.:."/tmp");......... |
| bf20 | 20 64 6f 5f 73 61 76 65 28 61 29 3b 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 05 | .do_save(a);..........break;.... |
| bf40 | 20 20 20 20 7d 00 00 00 0b 20 20 20 20 63 61 73 65 20 34 3a 00 00 00 11 20 20 20 20 20 20 64 6f | ....}........case.4:..........do |
| bf60 | 5f 73 61 76 65 28 61 29 3b 00 00 00 0e 20 20 20 20 20 20 65 78 69 74 28 30 29 3b 00 00 00 0b 20 | _save(a);..........exit(0);..... |
| bf80 | 20 20 20 63 61 73 65 20 35 3a 00 00 00 0e 20 20 20 20 20 20 65 78 69 74 28 30 29 3b 00 00 00 05 | ...case.5:..........exit(0);.... |
| bfa0 | 20 20 20 20 7d 00 00 00 1e 20 20 7d 20 65 6c 73 65 20 69 66 20 28 6d 20 3d 3d 20 4d 45 4e 55 5f | ....}......}.else.if.(m.==.MENU_ |
| bfc0 | 49 4e 46 4f 29 20 7b 00 00 00 11 20 20 20 20 69 66 20 28 69 64 78 20 3d 3d 20 30 29 00 00 00 14 | INFO).{........if.(idx.==.0).... |
| bfe0 | 20 20 20 20 20 20 6f 70 65 6e 5f 61 62 6f 75 74 28 61 29 3b 00 00 00 03 20 20 7d 00 00 00 0c 20 | ......open_about(a);......}..... |
| c000 | 20 72 65 64 72 61 77 28 61 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 25 73 74 61 74 69 63 20 76 | .redraw(a);....}.......%static.v |
| c020 | 6f 69 64 20 64 72 61 77 5f 62 61 72 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 | oid.draw_bar(struct.app.*a).{... |
| c040 | 17 20 20 76 6f 69 64 20 2a 70 78 20 3d 20 61 2d 3e 70 69 78 65 6c 73 3b 00 00 00 1b 20 20 69 6e | ...void.*px.=.a->pixels;......in |
| c060 | 74 20 70 77 20 3d 20 61 2d 3e 77 2c 20 70 68 20 3d 20 61 2d 3e 68 3b 00 00 00 14 20 20 69 6e 74 | t.pw.=.a->w,.ph.=.a->h;......int |
| c080 | 20 62 79 20 3d 20 62 61 72 5f 79 28 61 29 3b 00 00 00 2e 20 20 66 72 65 63 74 28 70 78 2c 20 70 | .by.=.bar_y(a);......frect(px,.p |
| c0a0 | 77 2c 20 70 68 2c 20 30 2c 20 62 79 2c 20 70 77 2c 20 42 41 52 5f 48 2c 20 42 41 52 5f 42 47 29 | w,.ph,.0,.by,.pw,.BAR_H,.BAR_BG) |
| c0c0 | 3b 00 00 00 2d 20 20 66 72 65 63 74 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 30 2c 20 62 79 2c 20 | ;...-..frect(px,.pw,.ph,.0,.by,. |
| c0e0 | 70 77 2c 20 31 2c 20 53 45 50 5f 43 4f 4c 4f 52 29 3b 00 00 00 28 20 20 63 6f 6e 73 74 20 63 68 | pw,.1,.SEP_COLOR);...(..const.ch |
| c100 | 61 72 20 2a 6c 62 6c 73 5b 5d 20 3d 20 7b 22 46 69 6c 65 22 2c 20 22 49 6e 66 6f 22 7d 3b 00 00 | ar.*lbls[].=.{"File",."Info"};.. |
| c120 | 00 1f 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 32 3b 20 69 2b 2b 29 20 | ....for.(int.i.=.0;.i.<.2;.i++). |
| c140 | 7b 00 00 00 25 20 20 20 20 69 6e 74 20 62 78 20 3d 20 62 74 6e 5f 78 28 69 29 2c 20 62 77 20 3d | {...%....int.bx.=.btn_x(i),.bw.= |
| c160 | 20 62 74 6e 5f 77 28 69 29 3b 00 00 00 4c 20 20 20 20 62 6f 6f 6c 20 68 6f 76 20 3d 20 61 2d 3e | .btn_w(i);...L....bool.hov.=.a-> |
| c180 | 6d 6f 75 73 65 5f 79 20 3e 3d 20 62 79 20 26 26 20 61 2d 3e 6d 6f 75 73 65 5f 78 20 3e 3d 20 62 | mouse_y.>=.by.&&.a->mouse_x.>=.b |
| c1a0 | 78 20 26 26 20 61 2d 3e 6d 6f 75 73 65 5f 78 20 3c 20 62 78 20 2b 20 62 77 3b 00 00 00 29 20 20 | x.&&.a->mouse_x.<.bx.+.bw;...).. |
| c1c0 | 20 20 69 66 20 28 68 6f 76 20 7c 7c 20 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 20 3d 3d 20 28 4d 65 | ..if.(hov.||.a->open_menu.==.(Me |
| c1e0 | 6e 75 49 64 29 69 29 00 00 00 3c 20 20 20 20 20 20 66 72 65 63 74 28 70 78 2c 20 70 77 2c 20 70 | nuId)i)...<......frect(px,.pw,.p |
| c200 | 68 2c 20 62 78 2c 20 62 79 20 2b 20 31 2c 20 62 77 2c 20 42 41 52 5f 48 20 2d 20 31 2c 20 42 54 | h,.bx,.by.+.1,.bw,.BAR_H.-.1,.BT |
| c220 | 4e 5f 48 4f 56 29 3b 00 00 00 4f 20 20 20 20 64 73 74 72 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 | N_HOV);...O....dstr(px,.pw,.ph,. |
| c240 | 62 78 20 2b 20 42 54 4e 5f 50 41 44 2c 20 62 79 20 2b 20 28 42 41 52 5f 48 20 2d 20 63 65 6c 6c | bx.+.BTN_PAD,.by.+.(BAR_H.-.cell |
| c260 | 5f 68 29 20 2f 20 32 2c 20 6c 62 6c 73 5b 69 5d 2c 20 42 41 52 5f 46 47 29 3b 00 00 00 03 20 20 | _h)./.2,.lbls[i],.BAR_FG);...... |
| c280 | 7d 00 00 00 01 7d 00 00 00 00 00 00 00 30 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 64 | }....}.......0static.void.draw_d |
| c2a0 | 72 6f 70 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 2c 20 4d 65 6e 75 49 64 20 6d 29 20 7b 00 00 | rop(struct.app.*a,.MenuId.m).{.. |
| c2c0 | 00 17 20 20 76 6f 69 64 20 2a 70 78 20 3d 20 61 2d 3e 70 69 78 65 6c 73 3b 00 00 00 1b 20 20 69 | ....void.*px.=.a->pixels;......i |
| c2e0 | 6e 74 20 70 77 20 3d 20 61 2d 3e 77 2c 20 70 68 20 3d 20 61 2d 3e 68 3b 00 00 00 3a 20 20 69 6e | nt.pw.=.a->w,.ph.=.a->h;...:..in |
| c300 | 74 20 62 79 20 3d 20 62 61 72 5f 79 28 61 29 2c 20 64 77 20 3d 20 64 72 6f 70 5f 77 28 6d 29 2c | t.by.=.bar_y(a),.dw.=.drop_w(m), |
| c320 | 20 64 68 20 3d 20 64 72 6f 70 5f 74 6f 74 61 6c 5f 68 28 6d 29 3b 00 00 00 27 20 20 69 6e 74 20 | .dh.=.drop_total_h(m);...'..int. |
| c340 | 64 78 20 3d 20 62 74 6e 5f 78 28 28 69 6e 74 29 6d 29 2c 20 64 79 20 3d 20 62 79 20 2d 20 64 68 | dx.=.btn_x((int)m),.dy.=.by.-.dh |
| c360 | 3b 00 00 00 2d 20 20 69 6e 74 20 6e 20 3d 20 28 6d 20 3d 3d 20 4d 45 4e 55 5f 46 49 4c 45 29 20 | ;...-..int.n.=.(m.==.MENU_FILE). |
| c380 | 3f 20 4e 5f 46 49 4c 45 20 3a 20 4e 5f 49 4e 46 4f 3b 00 00 00 45 20 20 63 6f 6e 73 74 20 4d 65 | ?.N_FILE.:.N_INFO;...E..const.Me |
| c3a0 | 6e 75 49 74 65 6d 20 2a 69 74 65 6d 73 20 3d 20 28 6d 20 3d 3d 20 4d 45 4e 55 5f 46 49 4c 45 29 | nuItem.*items.=.(m.==.MENU_FILE) |
| c3c0 | 20 3f 20 66 69 6c 65 5f 69 74 65 6d 73 20 3a 20 69 6e 66 6f 5f 69 74 65 6d 73 3b 00 00 00 00 00 | .?.file_items.:.info_items;..... |
| c3e0 | 00 00 2d 20 20 66 72 65 63 74 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 64 78 2c 20 64 79 2c 20 64 | ..-..frect(px,.pw,.ph,.dx,.dy,.d |
| c400 | 77 2c 20 64 68 2c 20 44 52 4f 50 5f 42 47 29 3b 00 00 00 2e 20 20 66 72 65 63 74 28 70 78 2c 20 | w,.dh,.DROP_BG);......frect(px,. |
| c420 | 70 77 2c 20 70 68 2c 20 64 78 2c 20 64 79 2c 20 64 77 2c 20 31 2c 20 53 45 50 5f 43 4f 4c 4f 52 | pw,.ph,.dx,.dy,.dw,.1,.SEP_COLOR |
| c440 | 29 3b 00 00 00 2e 20 20 66 72 65 63 74 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 64 78 2c 20 64 79 | );......frect(px,.pw,.ph,.dx,.dy |
| c460 | 2c 20 31 2c 20 64 68 2c 20 53 45 50 5f 43 4f 4c 4f 52 29 3b 00 00 00 37 20 20 66 72 65 63 74 28 | ,.1,.dh,.SEP_COLOR);...7..frect( |
| c480 | 70 78 2c 20 70 77 2c 20 70 68 2c 20 64 78 20 2b 20 64 77 20 2d 20 31 2c 20 64 79 2c 20 31 2c 20 | px,.pw,.ph,.dx.+.dw.-.1,.dy,.1,. |
| c4a0 | 64 68 2c 20 53 45 50 5f 43 4f 4c 4f 52 29 3b 00 00 00 37 20 20 66 72 65 63 74 28 70 78 2c 20 70 | dh,.SEP_COLOR);...7..frect(px,.p |
| c4c0 | 77 2c 20 70 68 2c 20 64 78 2c 20 64 79 20 2b 20 64 68 20 2d 20 31 2c 20 64 77 2c 20 31 2c 20 53 | w,.ph,.dx,.dy.+.dh.-.1,.dw,.1,.S |
| c4e0 | 45 50 5f 43 4f 4c 4f 52 29 3b 00 00 00 00 00 00 00 12 20 20 69 6e 74 20 69 79 20 3d 20 64 79 20 | EP_COLOR);..........int.iy.=.dy. |
| c500 | 2b 20 34 3b 00 00 00 1f 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 6e 3b | +.4;......for.(int.i.=.0;.i.<.n; |
| c520 | 20 69 2b 2b 29 20 7b 00 00 00 26 20 20 20 20 62 6f 6f 6c 20 68 6f 76 20 3d 20 28 61 2d 3e 68 6f | .i++).{...&....bool.hov.=.(a->ho |
| c540 | 76 65 72 65 64 5f 69 74 65 6d 20 3d 3d 20 69 29 3b 00 00 00 0c 20 20 20 20 69 66 20 28 68 6f 76 | vered_item.==.i);........if.(hov |
| c560 | 29 00 00 00 3d 20 20 20 20 20 20 66 72 65 63 74 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 64 78 20 | )...=......frect(px,.pw,.ph,.dx. |
| c580 | 2b 20 31 2c 20 69 79 2c 20 64 77 20 2d 20 32 2c 20 64 69 68 28 29 2c 20 44 52 4f 50 5f 48 4f 56 | +.1,.iy,.dw.-.2,.dih(),.DROP_HOV |
| c5a0 | 29 3b 00 00 00 4d 20 20 20 20 64 73 74 72 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 64 78 20 2b 20 | );...M....dstr(px,.pw,.ph,.dx.+. |
| c5c0 | 42 54 4e 5f 50 41 44 2c 20 69 79 20 2b 20 28 64 69 68 28 29 20 2d 20 63 65 6c 6c 5f 68 29 20 2f | BTN_PAD,.iy.+.(dih().-.cell_h)./ |
| c5e0 | 20 32 2c 20 69 74 65 6d 73 5b 69 5d 2e 6c 61 62 65 6c 2c 00 00 00 3a 20 20 20 20 20 20 20 20 20 | .2,.items[i].label,...:......... |
| c600 | 68 6f 76 20 3f 20 28 75 69 6e 74 33 32 5f 74 29 44 52 4f 50 5f 48 4f 56 5f 46 47 20 3a 20 28 75 | hov.?.(uint32_t)DROP_HOV_FG.:.(u |
| c620 | 69 6e 74 33 32 5f 74 29 44 52 4f 50 5f 46 47 29 3b 00 00 00 10 20 20 20 20 69 79 20 2b 3d 20 64 | int32_t)DROP_FG);........iy.+=.d |
| c640 | 69 68 28 29 3b 00 00 00 1d 20 20 20 20 69 66 20 28 69 74 65 6d 73 5b 69 5d 2e 73 65 70 5f 61 66 | ih();........if.(items[i].sep_af |
| c660 | 74 65 72 29 20 7b 00 00 00 3a 20 20 20 20 20 20 66 72 65 63 74 28 70 78 2c 20 70 77 2c 20 70 68 | ter).{...:......frect(px,.pw,.ph |
| c680 | 2c 20 64 78 20 2b 20 34 2c 20 69 79 2c 20 64 77 20 2d 20 38 2c 20 31 2c 20 53 45 50 5f 43 4f 4c | ,.dx.+.4,.iy,.dw.-.8,.1,.SEP_COL |
| c6a0 | 4f 52 29 3b 00 00 00 0e 20 20 20 20 20 20 69 79 20 2b 3d 20 34 3b 00 00 00 05 20 20 20 20 7d 00 | OR);..........iy.+=.4;........}. |
| c6c0 | 00 00 03 20 20 7d 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 72 | .....}....}.......#static.void.r |
| c6e0 | 65 64 72 61 77 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 17 20 20 76 6f 69 64 | edraw(struct.app.*a).{......void |
| c700 | 20 2a 70 78 20 3d 20 61 2d 3e 70 69 78 65 6c 73 3b 00 00 00 1b 20 20 69 6e 74 20 70 77 20 3d 20 | .*px.=.a->pixels;......int.pw.=. |
| c720 | 61 2d 3e 77 2c 20 70 68 20 3d 20 61 2d 3e 68 3b 00 00 00 16 20 20 69 6e 74 20 74 61 68 20 3d 20 | a->w,.ph.=.a->h;......int.tah.=. |
| c740 | 74 65 78 74 5f 68 28 61 29 3b 00 00 00 23 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 | text_h(a);...#..for.(int.i.=.0;. |
| c760 | 69 20 3c 20 70 77 20 2a 20 70 68 3b 20 69 2b 2b 29 00 00 00 23 20 20 20 20 28 28 75 69 6e 74 33 | i.<.pw.*.ph;.i++)...#....((uint3 |
| c780 | 32 5f 74 20 2a 29 70 78 29 5b 69 5d 20 3d 20 42 47 5f 43 4f 4c 4f 52 3b 00 00 00 00 00 00 00 1f | 2_t.*)px)[i].=.BG_COLOR;........ |
| c7a0 | 20 20 69 6e 74 20 73 65 6c 5f 6c 6f 20 3d 20 2d 31 2c 20 73 65 6c 5f 68 69 20 3d 20 2d 31 3b 00 | ..int.sel_lo.=.-1,.sel_hi.=.-1;. |
| c7c0 | 00 00 18 20 20 69 66 20 28 73 65 6c 5f 61 6e 63 68 6f 72 20 3e 3d 20 30 29 20 7b 00 00 00 37 20 | .....if.(sel_anchor.>=.0).{...7. |
| c7e0 | 20 20 20 73 65 6c 5f 6c 6f 20 3d 20 73 65 6c 5f 61 6e 63 68 6f 72 20 3c 20 63 75 72 73 6f 72 20 | ...sel_lo.=.sel_anchor.<.cursor. |
| c800 | 3f 20 73 65 6c 5f 61 6e 63 68 6f 72 20 3a 20 63 75 72 73 6f 72 3b 00 00 00 37 20 20 20 20 73 65 | ?.sel_anchor.:.cursor;...7....se |
| c820 | 6c 5f 68 69 20 3d 20 73 65 6c 5f 61 6e 63 68 6f 72 20 3c 20 63 75 72 73 6f 72 20 3f 20 63 75 72 | l_hi.=.sel_anchor.<.cursor.?.cur |
| c840 | 73 6f 72 20 3a 20 73 65 6c 5f 61 6e 63 68 6f 72 3b 00 00 00 03 20 20 7d 00 00 00 17 20 20 69 6e | sor.:.sel_anchor;......}......in |
| c860 | 74 20 63 6f 6c 20 3d 20 30 2c 20 72 6f 77 20 3d 20 30 3b 00 00 00 23 20 20 66 6f 72 20 28 69 6e | t.col.=.0,.row.=.0;...#..for.(in |
| c880 | 74 20 69 20 3d 20 30 3b 20 69 20 3c 3d 20 74 6c 65 6e 3b 20 69 2b 2b 29 20 7b 00 00 00 37 20 20 | t.i.=.0;.i.<=.tlen;.i++).{...7.. |
| c8a0 | 20 20 69 6e 74 20 78 20 3d 20 50 41 44 20 2b 20 63 6f 6c 20 2a 20 63 65 6c 6c 5f 77 2c 20 79 20 | ..int.x.=.PAD.+.col.*.cell_w,.y. |
| c8c0 | 3d 20 50 41 44 20 2b 20 72 6f 77 20 2a 20 63 65 6c 6c 5f 68 3b 00 00 00 19 20 20 20 20 69 66 20 | =.PAD.+.row.*.cell_h;........if. |
| c8e0 | 28 79 20 2b 20 63 65 6c 6c 5f 68 20 3e 20 74 61 68 29 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 | (y.+.cell_h.>.tah)..........brea |
| c900 | 6b 3b 00 00 00 3a 20 20 20 20 62 6f 6f 6c 20 69 6e 73 20 3d 20 73 65 6c 5f 6c 6f 20 3e 3d 20 30 | k;...:....bool.ins.=.sel_lo.>=.0 |
| c920 | 20 26 26 20 69 20 3e 3d 20 73 65 6c 5f 6c 6f 20 26 26 20 69 20 3c 20 73 65 6c 5f 68 69 20 26 26 | .&&.i.>=.sel_lo.&&.i.<.sel_hi.&& |
| c940 | 00 00 00 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 20 3e 3d 20 74 6c 65 6e 20 7c 7c | ...................(i.>=.tlen.|| |
| c960 | 20 74 65 78 74 5b 69 5d 20 21 3d 20 27 5c 6e 27 29 3b 00 00 00 0c 20 20 20 20 69 66 20 28 69 6e | .text[i].!=.'\n');........if.(in |
| c980 | 73 29 00 00 00 39 20 20 20 20 20 20 66 72 65 63 74 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 78 2c | s)...9......frect(px,.pw,.ph,.x, |
| c9a0 | 20 79 2c 20 63 65 6c 6c 5f 77 2c 20 63 65 6c 6c 5f 68 2c 20 53 45 4c 5f 43 4f 4c 4f 52 29 3b 00 | .y,.cell_w,.cell_h,.SEL_COLOR);. |
| c9c0 | 00 00 14 20 20 20 20 69 66 20 28 69 20 3d 3d 20 63 75 72 73 6f 72 29 00 00 00 34 20 20 20 20 20 | .......if.(i.==.cursor)...4..... |
| c9e0 | 20 66 72 65 63 74 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 78 2c 20 79 2c 20 32 2c 20 63 65 6c 6c | .frect(px,.pw,.ph,.x,.y,.2,.cell |
| ca00 | 5f 68 2c 20 43 55 52 5f 43 4f 4c 4f 52 29 3b 00 00 00 13 20 20 20 20 69 66 20 28 69 20 3c 20 74 | _h,.CUR_COLOR);........if.(i.<.t |
| ca20 | 6c 65 6e 29 20 7b 00 00 00 1c 20 20 20 20 20 20 69 66 20 28 74 65 78 74 5b 69 5d 20 3d 3d 20 27 | len).{..........if.(text[i].==.' |
| ca40 | 5c 6e 27 29 20 7b 00 00 00 10 20 20 20 20 20 20 20 20 63 6f 6c 20 3d 20 30 3b 00 00 00 0e 20 20 | \n').{............col.=.0;...... |
| ca60 | 20 20 20 20 20 20 72 6f 77 2b 2b 3b 00 00 00 0e 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 00 00 | ......row++;..........}.else.{.. |
| ca80 | 00 24 20 20 20 20 20 20 20 20 69 66 20 28 78 20 2b 20 63 65 6c 6c 5f 77 20 3e 20 70 77 20 2d 20 | .$........if.(x.+.cell_w.>.pw.-. |
| caa0 | 50 41 44 29 20 7b 00 00 00 12 20 20 20 20 20 20 20 20 20 20 63 6f 6c 20 3d 20 30 3b 00 00 00 10 | PAD).{..............col.=.0;.... |
| cac0 | 20 20 20 20 20 20 20 20 20 20 72 6f 77 2b 2b 3b 00 00 00 12 20 20 20 20 20 20 20 20 20 20 78 20 | ..........row++;..............x. |
| cae0 | 3d 20 50 41 44 3b 00 00 00 21 20 20 20 20 20 20 20 20 20 20 79 20 3d 20 50 41 44 20 2b 20 72 6f | =.PAD;...!..........y.=.PAD.+.ro |
| cb00 | 77 20 2a 20 63 65 6c 6c 5f 68 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 1e 20 20 20 20 | w.*.cell_h;............}........ |
| cb20 | 20 20 20 20 69 66 20 28 79 20 2b 20 63 65 6c 6c 5f 68 20 3c 3d 20 74 61 68 29 00 00 00 3a 20 20 | ....if.(y.+.cell_h.<=.tah)...:.. |
| cb40 | 20 20 20 20 20 20 20 20 64 67 6c 79 70 68 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 78 2c 20 79 2c | ........dglyph(px,.pw,.ph,.x,.y, |
| cb60 | 20 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 29 74 65 78 74 5b 69 5d 2c 00 00 00 3e 20 20 20 20 | .(unsigned.char)text[i],...>.... |
| cb80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 73 20 3f 20 28 75 69 6e 74 33 32 5f 74 29 53 45 4c | .............ins.?.(uint32_t)SEL |
| cba0 | 5f 46 47 20 3a 20 28 75 69 6e 74 33 32 5f 74 29 46 47 5f 43 4f 4c 4f 52 29 3b 00 00 00 0e 20 20 | _FG.:.(uint32_t)FG_COLOR);...... |
| cbc0 | 20 20 20 20 20 20 63 6f 6c 2b 2b 3b 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d | ......col++;..........}........} |
| cbe0 | 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 0e 20 20 64 72 61 77 5f 62 61 72 28 61 29 3b 00 00 00 | ......}..........draw_bar(a);... |
| cc00 | 20 20 20 69 66 20 28 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 20 21 3d 20 4d 45 4e 55 5f 4e 4f 4e 45 | ...if.(a->open_menu.!=.MENU_NONE |
| cc20 | 29 00 00 00 1f 20 20 20 20 64 72 61 77 5f 64 72 6f 70 28 61 2c 20 61 2d 3e 6f 70 65 6e 5f 6d 65 | )........draw_drop(a,.a->open_me |
| cc40 | 6e 75 29 3b 00 00 00 00 00 00 00 30 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 61 6d 61 67 65 5f | nu);.......0..wl_surface_damage_ |
| cc60 | 62 75 66 66 65 72 28 61 2d 3e 77 73 2c 20 30 2c 20 30 2c 20 70 77 2c 20 70 68 29 3b 00 00 00 29 | buffer(a->ws,.0,.0,.pw,.ph);...) |
| cc80 | 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 61 2d 3e 77 73 2c 20 61 2d 3e 62 75 | ..wl_surface_attach(a->ws,.a->bu |
| cca0 | 66 2c 20 30 2c 20 30 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 | f,.0,.0);......wl_surface_commit |
| ccc0 | 28 61 2d 3e 77 73 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 76 6f 69 64 | (a->ws);....}.......)static.void |
| cce0 | 20 72 65 64 72 61 77 5f 61 62 6f 75 74 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 | .redraw_about(struct.app.*a).{.. |
| cd00 | 00 1e 20 20 73 74 72 75 63 74 20 70 6f 70 75 70 20 2a 70 20 3d 20 26 61 2d 3e 61 62 6f 75 74 3b | ....struct.popup.*p.=.&a->about; |
| cd20 | 00 00 00 1d 20 20 69 66 20 28 21 70 2d 3e 6f 70 65 6e 20 7c 7c 20 21 70 2d 3e 70 69 78 65 6c 73 | ......if.(!p->open.||.!p->pixels |
| cd40 | 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 17 20 20 76 6f 69 64 20 2a 70 78 20 3d | )........return;......void.*px.= |
| cd60 | 20 70 2d 3e 70 69 78 65 6c 73 3b 00 00 00 1b 20 20 69 6e 74 20 70 77 20 3d 20 70 2d 3e 77 2c 20 | .p->pixels;......int.pw.=.p->w,. |
| cd80 | 70 68 20 3d 20 70 2d 3e 68 3b 00 00 00 23 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 | ph.=.p->h;...#..for.(int.i.=.0;. |
| cda0 | 69 20 3c 20 70 77 20 2a 20 70 68 3b 20 69 2b 2b 29 00 00 00 23 20 20 20 20 28 28 75 69 6e 74 33 | i.<.pw.*.ph;.i++)...#....((uint3 |
| cdc0 | 32 5f 74 20 2a 29 70 78 29 5b 69 5d 20 3d 20 42 47 5f 43 4f 4c 4f 52 3b 00 00 00 2c 20 20 66 72 | 2_t.*)px)[i].=.BG_COLOR;...,..fr |
| cde0 | 65 63 74 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 30 2c 20 30 2c 20 70 77 2c 20 31 2c 20 53 45 50 | ect(px,.pw,.ph,.0,.0,.pw,.1,.SEP |
| ce00 | 5f 43 4f 4c 4f 52 29 3b 00 00 00 31 20 20 66 72 65 63 74 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 | _COLOR);...1..frect(px,.pw,.ph,. |
| ce20 | 30 2c 20 70 68 20 2d 20 31 2c 20 70 77 2c 20 31 2c 20 53 45 50 5f 43 4f 4c 4f 52 29 3b 00 00 00 | 0,.ph.-.1,.pw,.1,.SEP_COLOR);... |
| ce40 | 2c 20 20 66 72 65 63 74 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 30 2c 20 30 2c 20 31 2c 20 70 68 | ,..frect(px,.pw,.ph,.0,.0,.1,.ph |
| ce60 | 2c 20 53 45 50 5f 43 4f 4c 4f 52 29 3b 00 00 00 31 20 20 66 72 65 63 74 28 70 78 2c 20 70 77 2c | ,.SEP_COLOR);...1..frect(px,.pw, |
| ce80 | 20 70 68 2c 20 70 77 20 2d 20 31 2c 20 30 2c 20 31 2c 20 70 68 2c 20 53 45 50 5f 43 4f 4c 4f 52 | .ph,.pw.-.1,.0,.1,.ph,.SEP_COLOR |
| cea0 | 29 3b 00 00 00 00 00 00 00 12 20 20 69 6e 74 20 79 20 3d 20 50 41 44 20 2a 20 32 3b 00 00 00 49 | );..........int.y.=.PAD.*.2;...I |
| cec0 | 20 20 64 73 74 72 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 50 41 44 20 2a 20 32 2c 20 79 2c 20 22 | ..dstr(px,.pw,.ph,.PAD.*.2,.y,." |
| cee0 | 77 6c 65 64 20 20 2d 20 20 77 61 79 6c 61 6e 64 20 74 65 78 74 20 65 64 69 74 6f 72 22 2c 20 46 | wled..-..wayland.text.editor",.F |
| cf00 | 47 5f 43 4f 4c 4f 52 29 3b 00 00 00 14 20 20 79 20 2b 3d 20 63 65 6c 6c 5f 68 20 2b 20 50 41 44 | G_COLOR);......y.+=.cell_h.+.PAD |
| cf20 | 3b 00 00 00 3c 20 20 66 72 65 63 74 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 50 41 44 20 2a 20 32 | ;...<..frect(px,.pw,.ph,.PAD.*.2 |
| cf40 | 2c 20 79 2c 20 70 77 20 2d 20 50 41 44 20 2a 20 34 2c 20 31 2c 20 53 45 50 5f 43 4f 4c 4f 52 29 | ,.y,.pw.-.PAD.*.4,.1,.SEP_COLOR) |
| cf60 | 3b 00 00 00 0b 20 20 79 20 2b 3d 20 50 41 44 3b 00 00 00 44 20 20 64 73 74 72 28 70 78 2c 20 70 | ;......y.+=.PAD;...D..dstr(px,.p |
| cf80 | 77 2c 20 70 68 2c 20 50 41 44 20 2a 20 32 2c 20 79 2c 20 22 4c 69 63 65 6e 73 65 64 20 75 6e 64 | w,.ph,.PAD.*.2,.y,."Licensed.und |
| cfa0 | 65 72 20 47 50 4c 20 76 33 2e 30 22 2c 20 46 47 5f 43 4f 4c 4f 52 29 3b 00 00 00 12 20 20 79 20 | er.GPL.v3.0",.FG_COLOR);......y. |
| cfc0 | 2b 3d 20 63 65 6c 6c 5f 68 20 2b 20 36 3b 00 00 00 4d 20 20 64 73 74 72 28 70 78 2c 20 70 77 2c | +=.cell_h.+.6;...M..dstr(px,.pw, |
| cfe0 | 20 70 68 2c 20 50 41 44 20 2a 20 32 2c 20 79 2c 20 22 43 72 65 61 74 65 64 20 62 79 20 20 67 69 | .ph,.PAD.*.2,.y,."Created.by..gi |
| d000 | 74 2e 73 72 2e 68 74 2f 7e 63 6f 61 73 74 65 65 6e 2f 22 2c 20 46 47 5f 43 4f 4c 4f 52 29 3b 00 | t.sr.ht/~coasteen/",.FG_COLOR);. |
| d020 | 00 00 12 20 20 79 20 2b 3d 20 63 65 6c 6c 5f 68 20 2b 20 36 3b 00 00 00 46 20 20 64 73 74 72 28 | .....y.+=.cell_h.+.6;...F..dstr( |
| d040 | 70 78 2c 20 70 77 2c 20 70 68 2c 20 50 41 44 20 2a 20 32 2c 20 79 2c 20 22 53 6f 75 72 63 65 3a | px,.pw,.ph,.PAD.*.2,.y,."Source: |
| d060 | 20 20 20 20 20 67 69 74 2e 73 72 2e 68 74 2f 7e 63 6f 61 73 74 65 65 6e 2f 77 6c 65 64 22 2c 00 | .....git.sr.ht/~coasteen/wled",. |
| d080 | 00 00 11 20 20 20 20 20 20 20 46 47 5f 43 4f 4c 4f 52 29 3b 00 00 00 00 00 00 00 30 20 20 77 6c | ..........FG_COLOR);.......0..wl |
| d0a0 | 5f 73 75 72 66 61 63 65 5f 64 61 6d 61 67 65 5f 62 75 66 66 65 72 28 70 2d 3e 77 73 2c 20 30 2c | _surface_damage_buffer(p->ws,.0, |
| d0c0 | 20 30 2c 20 70 77 2c 20 70 68 29 3b 00 00 00 29 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 | .0,.pw,.ph);...)..wl_surface_att |
| d0e0 | 61 63 68 28 70 2d 3e 77 73 2c 20 70 2d 3e 62 75 66 2c 20 30 2c 20 30 29 3b 00 00 00 1b 20 20 77 | ach(p->ws,.p->buf,.0,.0);......w |
| d100 | 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 70 2d 3e 77 73 29 3b 00 00 00 01 7d 00 00 00 | l_surface_commit(p->ws);....}... |
| d120 | 00 00 00 00 4c 73 74 61 74 69 63 20 76 6f 69 64 20 61 62 6f 75 74 5f 78 73 5f 63 66 67 28 76 6f | ....Lstatic.void.about_xs_cfg(vo |
| d140 | 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 2c 20 75 | id.*d,.struct.xdg_surface.*xs,.u |
| d160 | 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 | int32_t.serial).{......struct.ap |
| d180 | 70 20 2a 61 20 3d 20 64 3b 00 00 00 1e 20 20 73 74 72 75 63 74 20 70 6f 70 75 70 20 2a 70 20 3d | p.*a.=.d;......struct.popup.*p.= |
| d1a0 | 20 26 61 2d 3e 61 62 6f 75 74 3b 00 00 00 28 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 63 6b | .&a->about;...(..xdg_surface_ack |
| d1c0 | 5f 63 6f 6e 66 69 67 75 72 65 28 78 73 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 11 20 20 69 66 20 | _configure(xs,.serial);......if. |
| d1e0 | 28 21 70 2d 3e 70 69 78 65 6c 73 29 00 00 00 42 20 20 20 20 70 2d 3e 70 69 78 65 6c 73 20 3d 20 | (!p->pixels)...B....p->pixels.=. |
| d200 | 6d 61 6b 65 5f 73 68 6d 28 61 2c 20 70 2d 3e 77 2c 20 70 2d 3e 68 2c 20 26 70 2d 3e 62 75 66 2c | make_shm(a,.p->w,.p->h,.&p->buf, |
| d220 | 20 26 70 2d 3e 70 69 78 65 6c 73 5f 73 69 7a 65 29 3b 00 00 00 17 20 20 70 2d 3e 63 6f 6e 66 69 | .&p->pixels_size);......p->confi |
| d240 | 67 75 72 65 64 20 3d 20 74 72 75 65 3b 00 00 00 12 20 20 72 65 64 72 61 77 5f 61 62 6f 75 74 28 | gured.=.true;......redraw_about( |
| d260 | 61 29 3b 00 00 00 01 7d 00 00 00 43 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 | a);....}...Cstatic.const.struct. |
| d280 | 78 64 67 5f 73 75 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 20 61 62 6f 75 74 5f 78 73 5f 6c 20 | xdg_surface_listener.about_xs_l. |
| d2a0 | 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 20 3d 00 00 00 49 20 20 20 20 20 20 20 20 20 20 20 20 20 | =.{.configure.=...I............. |
| d2c0 | 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 | ................................ |
| d2e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 62 6f 75 74 5f 78 73 5f 63 66 67 7d 3b 00 00 00 00 | ..............about_xs_cfg};.... |
| d300 | 00 00 00 50 73 74 61 74 69 63 20 76 6f 69 64 20 61 62 6f 75 74 5f 78 74 5f 63 66 67 28 76 6f 69 | ...Pstatic.void.about_xt_cfg(voi |
| d320 | 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 2c 20 69 | d.*d,.struct.xdg_toplevel.*xt,.i |
| d340 | 6e 74 33 32 5f 74 20 77 2c 20 69 6e 74 33 32 5f 74 20 68 2c 00 00 00 2f 20 20 20 20 20 20 20 20 | nt32_t.w,.int32_t.h,.../........ |
| d360 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 | .................struct.wl_array |
| d380 | 20 2a 73 29 20 7b 7d 00 00 00 3e 73 74 61 74 69 63 20 76 6f 69 64 20 61 62 6f 75 74 5f 78 74 5f | .*s).{}...>static.void.about_xt_ |
| d3a0 | 63 6c 6f 73 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 | close(void.*d,.struct.xdg_toplev |
| d3c0 | 65 6c 20 2a 78 74 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 | el.*xt).{......struct.app.*a.=.d |
| d3e0 | 3b 00 00 00 1e 20 20 73 74 72 75 63 74 20 70 6f 70 75 70 20 2a 70 20 3d 20 26 61 2d 3e 61 62 6f | ;......struct.popup.*p.=.&a->abo |
| d400 | 75 74 3b 00 00 00 0f 20 20 69 66 20 28 70 2d 3e 62 75 66 29 20 7b 00 00 00 1e 20 20 20 20 77 6c | ut;......if.(p->buf).{........wl |
| d420 | 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 70 2d 3e 62 75 66 29 3b 00 00 00 12 20 20 20 20 | _buffer_destroy(p->buf);........ |
| d440 | 70 2d 3e 62 75 66 20 3d 20 4e 55 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 12 20 20 69 66 20 28 70 | p->buf.=.NULL;......}......if.(p |
| d460 | 2d 3e 70 69 78 65 6c 73 29 20 7b 00 00 00 26 20 20 20 20 6d 75 6e 6d 61 70 28 70 2d 3e 70 69 78 | ->pixels).{...&....munmap(p->pix |
| d480 | 65 6c 73 2c 20 70 2d 3e 70 69 78 65 6c 73 5f 73 69 7a 65 29 3b 00 00 00 15 20 20 20 20 70 2d 3e | els,.p->pixels_size);........p-> |
| d4a0 | 70 69 78 65 6c 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 0e 20 20 69 66 20 28 70 | pixels.=.NULL;......}......if.(p |
| d4c0 | 2d 3e 78 74 29 20 7b 00 00 00 20 20 20 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 64 65 73 74 | ->xt).{........xdg_toplevel_dest |
| d4e0 | 72 6f 79 28 70 2d 3e 78 74 29 3b 00 00 00 11 20 20 20 20 70 2d 3e 78 74 20 3d 20 4e 55 4c 4c 3b | roy(p->xt);........p->xt.=.NULL; |
| d500 | 00 00 00 03 20 20 7d 00 00 00 0e 20 20 69 66 20 28 70 2d 3e 78 73 29 20 7b 00 00 00 1f 20 20 20 | ......}......if.(p->xs).{....... |
| d520 | 20 78 64 67 5f 73 75 72 66 61 63 65 5f 64 65 73 74 72 6f 79 28 70 2d 3e 78 73 29 3b 00 00 00 11 | .xdg_surface_destroy(p->xs);.... |
| d540 | 20 20 20 20 70 2d 3e 78 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 0e 20 20 69 66 | ....p->xs.=.NULL;......}......if |
| d560 | 20 28 70 2d 3e 77 73 29 20 7b 00 00 00 1e 20 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 65 73 | .(p->ws).{........wl_surface_des |
| d580 | 74 72 6f 79 28 70 2d 3e 77 73 29 3b 00 00 00 11 20 20 20 20 70 2d 3e 77 73 20 3d 20 4e 55 4c 4c | troy(p->ws);........p->ws.=.NULL |
| d5a0 | 3b 00 00 00 03 20 20 7d 00 00 00 12 20 20 70 2d 3e 6f 70 65 6e 20 3d 20 66 61 6c 73 65 3b 00 00 | ;......}......p->open.=.false;.. |
| d5c0 | 00 18 20 20 70 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 3d 20 66 61 6c 73 65 3b 00 00 00 01 7d 00 | ....p->configured.=.false;....}. |
| d5e0 | 00 00 38 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 | ..8static.const.struct.xdg_tople |
| d600 | 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 61 62 6f 75 74 5f 78 74 5f 6c 20 3d 20 7b 00 00 00 38 20 | vel_listener.about_xt_l.=.{...8. |
| d620 | 20 20 20 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 61 62 6f 75 74 5f 78 74 5f 63 66 67 2c 20 2e 63 | ....configure.=.about_xt_cfg,..c |
| d640 | 6c 6f 73 65 20 3d 20 61 62 6f 75 74 5f 78 74 5f 63 6c 6f 73 65 7d 3b 00 00 00 00 00 00 00 27 73 | lose.=.about_xt_close};.......'s |
| d660 | 74 61 74 69 63 20 76 6f 69 64 20 6f 70 65 6e 5f 61 62 6f 75 74 28 73 74 72 75 63 74 20 61 70 70 | tatic.void.open_about(struct.app |
| d680 | 20 2a 61 29 20 7b 00 00 00 1e 20 20 73 74 72 75 63 74 20 70 6f 70 75 70 20 2a 70 20 3d 20 26 61 | .*a).{......struct.popup.*p.=.&a |
| d6a0 | 2d 3e 61 62 6f 75 74 3b 00 00 00 0e 20 20 69 66 20 28 70 2d 3e 6f 70 65 6e 29 00 00 00 0b 20 20 | ->about;......if.(p->open)...... |
| d6c0 | 20 20 72 65 74 75 72 6e 3b 00 00 00 10 20 20 69 6e 74 20 6c 69 6e 65 73 20 3d 20 35 3b 00 00 00 | ..return;......int.lines.=.5;... |
| d6e0 | 1f 20 20 70 2d 3e 77 20 3d 20 32 32 20 2a 20 63 65 6c 6c 5f 77 20 2b 20 50 41 44 20 2a 20 34 3b | ...p->w.=.22.*.cell_w.+.PAD.*.4; |
| d700 | 00 00 00 31 20 20 70 2d 3e 68 20 3d 20 6c 69 6e 65 73 20 2a 20 28 63 65 6c 6c 5f 68 20 2b 20 36 | ...1..p->h.=.lines.*.(cell_h.+.6 |
| d720 | 29 20 2b 20 50 41 44 20 2a 20 34 20 2b 20 63 65 6c 6c 5f 68 3b 00 00 00 11 20 20 69 66 20 28 70 | ).+.PAD.*.4.+.cell_h;......if.(p |
| d740 | 2d 3e 77 20 3c 20 33 36 30 29 00 00 00 0f 20 20 20 20 70 2d 3e 77 20 3d 20 33 36 30 3b 00 00 00 | ->w.<.360)........p->w.=.360;... |
| d760 | 11 20 20 69 66 20 28 70 2d 3e 68 20 3c 20 31 34 30 29 00 00 00 0f 20 20 20 20 70 2d 3e 68 20 3d | ...if.(p->h.<.140)........p->h.= |
| d780 | 20 31 34 30 3b 00 00 00 11 20 20 70 2d 3e 6f 70 65 6e 20 3d 20 74 72 75 65 3b 00 00 00 30 20 20 | .140;......p->open.=.true;...0.. |
| d7a0 | 70 2d 3e 77 73 20 3d 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 63 72 65 61 74 65 5f 73 75 72 | p->ws.=.wl_compositor_create_sur |
| d7c0 | 66 61 63 65 28 61 2d 3e 63 6f 6d 70 29 3b 00 00 00 34 20 20 70 2d 3e 78 73 20 3d 20 78 64 67 5f | face(a->comp);...4..p->xs.=.xdg_ |
| d7e0 | 77 6d 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 5f 73 75 72 66 61 63 65 28 61 2d 3e 77 6d 2c 20 70 | wm_base_get_xdg_surface(a->wm,.p |
| d800 | 2d 3e 77 73 29 3b 00 00 00 32 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 | ->ws);...2..xdg_surface_add_list |
| d820 | 65 6e 65 72 28 70 2d 3e 78 73 2c 20 26 61 62 6f 75 74 5f 78 73 5f 6c 2c 20 61 29 3b 00 00 00 2a | ener(p->xs,.&about_xs_l,.a);...* |
| d840 | 20 20 70 2d 3e 78 74 20 3d 20 78 64 67 5f 73 75 72 66 61 63 65 5f 67 65 74 5f 74 6f 70 6c 65 76 | ..p->xt.=.xdg_surface_get_toplev |
| d860 | 65 6c 28 70 2d 3e 78 73 29 3b 00 00 00 33 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 61 64 64 | el(p->xs);...3..xdg_toplevel_add |
| d880 | 5f 6c 69 73 74 65 6e 65 72 28 70 2d 3e 78 74 2c 20 26 61 62 6f 75 74 5f 78 74 5f 6c 2c 20 61 29 | _listener(p->xt,.&about_xt_l,.a) |
| d8a0 | 3b 00 00 00 2e 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 74 69 74 6c 65 28 70 2d | ;......xdg_toplevel_set_title(p- |
| d8c0 | 3e 78 74 2c 20 22 41 62 6f 75 74 20 77 6c 65 64 22 29 3b 00 00 00 2f 20 20 78 64 67 5f 74 6f 70 | >xt,."About.wled");.../..xdg_top |
| d8e0 | 6c 65 76 65 6c 5f 73 65 74 5f 6d 69 6e 5f 73 69 7a 65 28 70 2d 3e 78 74 2c 20 70 2d 3e 77 2c 20 | level_set_min_size(p->xt,.p->w,. |
| d900 | 70 2d 3e 68 29 3b 00 00 00 2f 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 6d 61 78 | p->h);.../..xdg_toplevel_set_max |
| d920 | 5f 73 69 7a 65 28 70 2d 3e 78 74 2c 20 70 2d 3e 77 2c 20 70 2d 3e 68 29 3b 00 00 00 1b 20 20 77 | _size(p->xt,.p->w,.p->h);......w |
| d940 | 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 70 2d 3e 77 73 29 3b 00 00 00 01 7d 00 00 00 | l_surface_commit(p->ws);....}... |
| d960 | 00 00 00 00 50 73 74 61 74 69 63 20 69 6e 74 20 73 65 6c 5f 73 74 61 72 74 28 76 6f 69 64 29 20 | ....Pstatic.int.sel_start(void). |
| d980 | 7b 20 72 65 74 75 72 6e 20 73 65 6c 5f 61 6e 63 68 6f 72 20 3c 20 63 75 72 73 6f 72 20 3f 20 73 | {.return.sel_anchor.<.cursor.?.s |
| d9a0 | 65 6c 5f 61 6e 63 68 6f 72 20 3a 20 63 75 72 73 6f 72 3b 20 7d 00 00 00 1a 73 74 61 74 69 63 20 | el_anchor.:.cursor;.}....static. |
| d9c0 | 69 6e 74 20 73 65 6c 5f 6c 65 6e 28 76 6f 69 64 29 20 7b 00 00 00 49 20 20 72 65 74 75 72 6e 20 | int.sel_len(void).{...I..return. |
| d9e0 | 73 65 6c 5f 61 6e 63 68 6f 72 20 3c 20 63 75 72 73 6f 72 20 3f 20 63 75 72 73 6f 72 20 2d 20 73 | sel_anchor.<.cursor.?.cursor.-.s |
| da00 | 65 6c 5f 61 6e 63 68 6f 72 20 3a 20 73 65 6c 5f 61 6e 63 68 6f 72 20 2d 20 63 75 72 73 6f 72 3b | el_anchor.:.sel_anchor.-.cursor; |
| da20 | 00 00 00 01 7d 00 00 00 00 00 00 00 1e 73 74 61 74 69 63 20 76 6f 69 64 20 64 65 6c 65 74 65 5f | ....}........static.void.delete_ |
| da40 | 73 65 6c 28 76 6f 69 64 29 20 7b 00 00 00 15 20 20 69 66 20 28 73 65 6c 5f 61 6e 63 68 6f 72 20 | sel(void).{......if.(sel_anchor. |
| da60 | 3c 20 30 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 28 20 20 69 6e 74 20 6c 6f 20 | <.0)........return;...(..int.lo. |
| da80 | 3d 20 73 65 6c 5f 73 74 61 72 74 28 29 2c 20 6c 65 6e 20 3d 20 73 65 6c 5f 6c 65 6e 28 29 3b 00 | =.sel_start(),.len.=.sel_len();. |
| daa0 | 00 00 37 20 20 6d 65 6d 6d 6f 76 65 28 74 65 78 74 20 2b 20 6c 6f 2c 20 74 65 78 74 20 2b 20 6c | ..7..memmove(text.+.lo,.text.+.l |
| dac0 | 6f 20 2b 20 6c 65 6e 2c 20 74 6c 65 6e 20 2d 20 6c 6f 20 2d 20 6c 65 6e 29 3b 00 00 00 0e 20 20 | o.+.len,.tlen.-.lo.-.len);...... |
| dae0 | 74 6c 65 6e 20 2d 3d 20 6c 65 6e 3b 00 00 00 14 20 20 74 65 78 74 5b 74 6c 65 6e 5d 20 3d 20 27 | tlen.-=.len;......text[tlen].=.' |
| db00 | 5c 30 27 3b 00 00 00 0e 20 20 63 75 72 73 6f 72 20 3d 20 6c 6f 3b 00 00 00 12 20 20 73 65 6c 5f | \0';......cursor.=.lo;......sel_ |
| db20 | 61 6e 63 68 6f 72 20 3d 20 2d 31 3b 00 00 00 01 7d 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 | anchor.=.-1;....}.......)static. |
| db40 | 76 6f 69 64 20 69 6e 73 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 2c 20 69 6e 74 20 6c 65 6e 29 | void.ins(const.char.*s,.int.len) |
| db60 | 20 7b 00 00 00 1d 20 20 69 66 20 28 74 6c 65 6e 20 2b 20 6c 65 6e 20 3e 3d 20 4d 41 58 5f 54 45 | .{......if.(tlen.+.len.>=.MAX_TE |
| db80 | 58 54 29 00 00 00 1e 20 20 20 20 6c 65 6e 20 3d 20 4d 41 58 5f 54 45 58 54 20 2d 20 74 6c 65 6e | XT)........len.=.MAX_TEXT.-.tlen |
| dba0 | 20 2d 20 31 3b 00 00 00 3d 20 20 6d 65 6d 6d 6f 76 65 28 74 65 78 74 20 2b 20 63 75 72 73 6f 72 | .-.1;...=..memmove(text.+.cursor |
| dbc0 | 20 2b 20 6c 65 6e 2c 20 74 65 78 74 20 2b 20 63 75 72 73 6f 72 2c 20 74 6c 65 6e 20 2d 20 63 75 | .+.len,.text.+.cursor,.tlen.-.cu |
| dbe0 | 72 73 6f 72 29 3b 00 00 00 20 20 20 6d 65 6d 63 70 79 28 74 65 78 74 20 2b 20 63 75 72 73 6f 72 | rsor);......memcpy(text.+.cursor |
| dc00 | 2c 20 73 2c 20 6c 65 6e 29 3b 00 00 00 0e 20 20 74 6c 65 6e 20 2b 3d 20 6c 65 6e 3b 00 00 00 14 | ,.s,.len);......tlen.+=.len;.... |
| dc20 | 20 20 74 65 78 74 5b 74 6c 65 6e 5d 20 3d 20 27 5c 30 27 3b 00 00 00 10 20 20 63 75 72 73 6f 72 | ..text[tlen].=.'\0';......cursor |
| dc40 | 20 2b 3d 20 6c 65 6e 3b 00 00 00 0f 20 20 64 69 72 74 79 20 3d 20 74 72 75 65 3b 00 00 00 01 7d | .+=.len;......dirty.=.true;....} |
| dc60 | 00 00 00 00 00 00 00 25 73 74 61 74 69 63 20 76 6f 69 64 20 63 6f 70 79 5f 73 65 6c 28 73 74 72 | .......%static.void.copy_sel(str |
| dc80 | 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 15 20 20 69 66 20 28 73 65 6c 5f 61 6e 63 68 6f | uct.app.*a).{......if.(sel_ancho |
| dca0 | 72 20 3c 20 30 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 28 20 20 69 6e 74 20 6c | r.<.0)........return;...(..int.l |
| dcc0 | 6f 20 3d 20 73 65 6c 5f 73 74 61 72 74 28 29 2c 20 6c 65 6e 20 3d 20 73 65 6c 5f 6c 65 6e 28 29 | o.=.sel_start(),.len.=.sel_len() |
| dce0 | 3b 00 00 00 2a 20 20 69 66 20 28 6c 65 6e 20 3e 20 28 69 6e 74 29 73 69 7a 65 6f 66 28 61 2d 3e | ;...*..if.(len.>.(int)sizeof(a-> |
| dd00 | 63 6c 69 70 62 6f 61 72 64 29 20 2d 20 31 29 00 00 00 23 20 20 20 20 6c 65 6e 20 3d 20 73 69 7a | clipboard).-.1)...#....len.=.siz |
| dd20 | 65 6f 66 28 61 2d 3e 63 6c 69 70 62 6f 61 72 64 29 20 2d 20 31 3b 00 00 00 27 20 20 6d 65 6d 63 | eof(a->clipboard).-.1;...'..memc |
| dd40 | 70 79 28 61 2d 3e 63 6c 69 70 62 6f 61 72 64 2c 20 74 65 78 74 20 2b 20 6c 6f 2c 20 6c 65 6e 29 | py(a->clipboard,.text.+.lo,.len) |
| dd60 | 3b 00 00 00 1b 20 20 61 2d 3e 63 6c 69 70 62 6f 61 72 64 5b 6c 65 6e 5d 20 3d 20 27 5c 30 27 3b | ;......a->clipboard[len].=.'\0'; |
| dd80 | 00 00 00 19 20 20 61 2d 3e 63 6c 69 70 62 6f 61 72 64 5f 6c 65 6e 20 3d 20 6c 65 6e 3b 00 00 00 | ......a->clipboard_len.=.len;... |
| dda0 | 0e 20 20 69 66 20 28 61 2d 3e 64 73 29 20 7b 00 00 00 22 20 20 20 20 77 6c 5f 64 61 74 61 5f 73 | ...if.(a->ds).{..."....wl_data_s |
| ddc0 | 6f 75 72 63 65 5f 64 65 73 74 72 6f 79 28 61 2d 3e 64 73 29 3b 00 00 00 11 20 20 20 20 61 2d 3e | ource_destroy(a->ds);........a-> |
| dde0 | 64 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 18 20 20 69 66 20 28 21 61 2d 3e 64 | ds.=.NULL;......}......if.(!a->d |
| de00 | 64 6d 20 7c 7c 20 21 61 2d 3e 64 64 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 3c | dm.||.!a->dd)........return;...< |
| de20 | 20 20 61 2d 3e 64 73 20 3d 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 5f 6d 61 6e 61 67 65 72 | ..a->ds.=.wl_data_device_manager |
| de40 | 5f 63 72 65 61 74 65 5f 64 61 74 61 5f 73 6f 75 72 63 65 28 61 2d 3e 64 64 6d 29 3b 00 00 00 3a | _create_data_source(a->ddm);...: |
| de60 | 20 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 5f 6f 66 66 65 72 28 61 2d 3e 64 73 2c 20 22 74 | ..wl_data_source_offer(a->ds,."t |
| de80 | 65 78 74 2f 70 6c 61 69 6e 3b 63 68 61 72 73 65 74 3d 75 74 66 2d 38 22 29 3b 00 00 00 2c 20 20 | ext/plain;charset=utf-8");...,.. |
| dea0 | 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 5f 6f 66 66 65 72 28 61 2d 3e 64 73 2c 20 22 74 65 78 | wl_data_source_offer(a->ds,."tex |
| dec0 | 74 2f 70 6c 61 69 6e 22 29 3b 00 00 00 2d 20 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 5f 6f | t/plain");...-..wl_data_source_o |
| dee0 | 66 66 65 72 28 61 2d 3e 64 73 2c 20 22 55 54 46 38 5f 53 54 52 49 4e 47 22 29 3b 00 00 00 28 20 | ffer(a->ds,."UTF8_STRING");...(. |
| df00 | 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 5f 6f 66 66 65 72 28 61 2d 3e 64 73 2c 20 22 53 54 | .wl_data_source_offer(a->ds,."ST |
| df20 | 52 49 4e 47 22 29 3b 00 00 00 3d 20 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 5f 73 65 74 5f | RING");...=..wl_data_device_set_ |
| df40 | 73 65 6c 65 63 74 69 6f 6e 28 61 2d 3e 64 64 2c 20 61 2d 3e 64 73 2c 20 61 2d 3e 6c 61 73 74 5f | selection(a->dd,.a->ds,.a->last_ |
| df60 | 73 65 72 69 61 6c 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 36 73 74 61 74 69 63 20 76 6f 69 64 | serial);....}.......6static.void |
| df80 | 20 70 72 6f 63 65 73 73 5f 6b 65 79 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 2c 20 75 69 6e 74 | .process_key(struct.app.*a,.uint |
| dfa0 | 33 32 5f 74 20 6b 65 79 29 20 7b 00 00 00 14 20 20 69 66 20 28 21 61 2d 3e 78 6b 62 5f 73 74 61 | 32_t.key).{......if.(!a->xkb_sta |
| dfc0 | 74 65 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 1d 20 20 78 6b 62 5f 6b 65 79 63 | te)........return;......xkb_keyc |
| dfe0 | 6f 64 65 5f 74 20 6b 63 20 3d 20 6b 65 79 20 2b 20 38 3b 00 00 00 41 20 20 78 6b 62 5f 6b 65 79 | ode_t.kc.=.key.+.8;...A..xkb_key |
| e000 | 73 79 6d 5f 74 20 73 79 6d 20 3d 20 78 6b 62 5f 73 74 61 74 65 5f 6b 65 79 5f 67 65 74 5f 6f 6e | sym_t.sym.=.xkb_state_key_get_on |
| e020 | 65 5f 73 79 6d 28 61 2d 3e 78 6b 62 5f 73 74 61 74 65 2c 20 6b 63 29 3b 00 00 00 4a 20 20 69 6e | e_sym(a->xkb_state,.kc);...J..in |
| e040 | 74 20 63 74 72 6c 20 3d 20 78 6b 62 5f 73 74 61 74 65 5f 6d 6f 64 5f 6e 61 6d 65 5f 69 73 5f 61 | t.ctrl.=.xkb_state_mod_name_is_a |
| e060 | 63 74 69 76 65 28 61 2d 3e 78 6b 62 5f 73 74 61 74 65 2c 20 58 4b 42 5f 4d 4f 44 5f 4e 41 4d 45 | ctive(a->xkb_state,.XKB_MOD_NAME |
| e080 | 5f 43 54 52 4c 2c 00 00 00 44 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | _CTRL,...D...................... |
| e0a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 58 4b 42 5f 53 54 41 54 45 5f 4d 4f | ....................XKB_STATE_MO |
| e0c0 | 44 53 5f 45 46 46 45 43 54 49 56 45 29 3b 00 00 00 4c 20 20 69 6e 74 20 73 68 69 66 74 20 3d 20 | DS_EFFECTIVE);...L..int.shift.=. |
| e0e0 | 78 6b 62 5f 73 74 61 74 65 5f 6d 6f 64 5f 6e 61 6d 65 5f 69 73 5f 61 63 74 69 76 65 28 61 2d 3e | xkb_state_mod_name_is_active(a-> |
| e100 | 78 6b 62 5f 73 74 61 74 65 2c 20 58 4b 42 5f 4d 4f 44 5f 4e 41 4d 45 5f 53 48 49 46 54 2c 00 00 | xkb_state,.XKB_MOD_NAME_SHIFT,.. |
| e120 | 00 45 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 | .E.............................. |
| e140 | 20 20 20 20 20 20 20 20 20 20 20 20 20 58 4b 42 5f 53 54 41 54 45 5f 4d 4f 44 53 5f 45 46 46 45 | .............XKB_STATE_MODS_EFFE |
| e160 | 43 54 49 56 45 29 3b 00 00 00 49 20 20 78 6b 62 5f 6c 61 79 6f 75 74 5f 69 6e 64 65 78 5f 74 20 | CTIVE);...I..xkb_layout_index_t. |
| e180 | 6c 61 79 6f 75 74 20 3d 20 78 6b 62 5f 73 74 61 74 65 5f 6b 65 79 5f 67 65 74 5f 6c 61 79 6f 75 | layout.=.xkb_state_key_get_layou |
| e1a0 | 74 28 61 2d 3e 78 6b 62 5f 73 74 61 74 65 2c 20 6b 63 29 3b 00 00 00 19 20 20 63 6f 6e 73 74 20 | t(a->xkb_state,.kc);......const. |
| e1c0 | 78 6b 62 5f 6b 65 79 73 79 6d 5f 74 20 2a 62 73 3b 00 00 00 4e 20 20 69 6e 74 20 6e 20 3d 20 78 | xkb_keysym_t.*bs;...N..int.n.=.x |
| e1e0 | 6b 62 5f 6b 65 79 6d 61 70 5f 6b 65 79 5f 67 65 74 5f 73 79 6d 73 5f 62 79 5f 6c 65 76 65 6c 28 | kb_keymap_key_get_syms_by_level( |
| e200 | 61 2d 3e 78 6b 62 5f 6b 65 79 6d 61 70 2c 20 6b 63 2c 20 6c 61 79 6f 75 74 2c 20 30 2c 20 26 62 | a->xkb_keymap,.kc,.layout,.0,.&b |
| e220 | 73 29 3b 00 00 00 2b 20 20 78 6b 62 5f 6b 65 79 73 79 6d 5f 74 20 70 6c 61 69 6e 20 3d 20 6e 20 | s);...+..xkb_keysym_t.plain.=.n. |
| e240 | 3e 20 30 20 3f 20 62 73 5b 30 5d 20 3a 20 73 79 6d 3b 00 00 00 00 00 00 00 1e 20 20 69 66 20 28 | >.0.?.bs[0].:.sym;..........if.( |
| e260 | 73 79 6d 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 45 73 63 61 70 65 29 20 7b 00 00 00 24 20 20 20 20 | sym.==.XKB_KEY_Escape).{...$.... |
| e280 | 69 66 20 28 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 20 21 3d 20 4d 45 4e 55 5f 4e 4f 4e 45 29 20 7b | if.(a->open_menu.!=.MENU_NONE).{ |
| e2a0 | 00 00 00 1f 20 20 20 20 20 20 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 20 3d 20 4d 45 4e 55 5f 4e 4f | ..........a->open_menu.=.MENU_NO |
| e2c0 | 4e 45 3b 00 00 00 1b 20 20 20 20 20 20 61 2d 3e 68 6f 76 65 72 65 64 5f 69 74 65 6d 20 3d 20 2d | NE;..........a->hovered_item.=.- |
| e2e0 | 31 3b 00 00 00 10 20 20 20 20 20 20 72 65 64 72 61 77 28 61 29 3b 00 00 00 05 20 20 20 20 7d 00 | 1;..........redraw(a);........}. |
| e300 | 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 03 20 20 7d 00 00 00 0d 20 20 69 66 20 28 63 | .......return;......}......if.(c |
| e320 | 74 72 6c 29 20 7b 00 00 00 3a 20 20 20 20 69 66 20 28 70 6c 61 69 6e 20 3d 3d 20 58 4b 42 5f 4b | trl).{...:....if.(plain.==.XKB_K |
| e340 | 45 59 5f 65 71 75 61 6c 20 7c 7c 20 70 6c 61 69 6e 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 70 6c 75 | EY_equal.||.plain.==.XKB_KEY_plu |
| e360 | 73 29 20 7b 00 00 00 10 20 20 20 20 20 20 66 6f 6e 74 5f 70 74 2b 2b 3b 00 00 00 1c 20 20 20 20 | s).{..........font_pt++;........ |
| e380 | 20 20 75 70 64 61 74 65 5f 66 6f 6e 74 5f 6d 65 74 72 69 63 73 28 29 3b 00 00 00 10 20 20 20 20 | ..update_font_metrics();........ |
| e3a0 | 20 20 72 65 64 72 61 77 28 61 29 3b 00 00 00 0d 20 20 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 | ..redraw(a);..........return;... |
| e3c0 | 05 20 20 20 20 7d 00 00 00 21 20 20 20 20 69 66 20 28 70 6c 61 69 6e 20 3d 3d 20 58 4b 42 5f 4b | .....}...!....if.(plain.==.XKB_K |
| e3e0 | 45 59 5f 6d 69 6e 75 73 29 20 7b 00 00 00 18 20 20 20 20 20 20 69 66 20 28 66 6f 6e 74 5f 70 74 | EY_minus).{..........if.(font_pt |
| e400 | 20 3e 20 34 29 20 7b 00 00 00 12 20 20 20 20 20 20 20 20 66 6f 6e 74 5f 70 74 2d 2d 3b 00 00 00 | .>.4).{............font_pt--;... |
| e420 | 1e 20 20 20 20 20 20 20 20 75 70 64 61 74 65 5f 66 6f 6e 74 5f 6d 65 74 72 69 63 73 28 29 3b 00 | .........update_font_metrics();. |
| e440 | 00 00 12 20 20 20 20 20 20 20 20 72 65 64 72 61 77 28 61 29 3b 00 00 00 07 20 20 20 20 20 20 7d | ...........redraw(a);..........} |
| e460 | 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 1d 20 20 | ..........return;........}...... |
| e480 | 20 20 69 66 20 28 70 6c 61 69 6e 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 30 29 20 7b 00 00 00 1a 20 | ..if.(plain.==.XKB_KEY_0).{..... |
| e4a0 | 20 20 20 20 20 66 6f 6e 74 5f 70 74 20 3d 20 46 4f 4e 54 5f 53 49 5a 45 3b 00 00 00 1c 20 20 20 | .....font_pt.=.FONT_SIZE;....... |
| e4c0 | 20 20 20 75 70 64 61 74 65 5f 66 6f 6e 74 5f 6d 65 74 72 69 63 73 28 29 3b 00 00 00 10 20 20 20 | ...update_font_metrics();....... |
| e4e0 | 20 20 20 72 65 64 72 61 77 28 61 29 3b 00 00 00 0d 20 20 20 20 20 20 72 65 74 75 72 6e 3b 00 00 | ...redraw(a);..........return;.. |
| e500 | 00 05 20 20 20 20 7d 00 00 00 33 20 20 20 20 69 66 20 28 70 6c 61 69 6e 20 3d 3d 20 58 4b 42 5f | ......}...3....if.(plain.==.XKB_ |
| e520 | 4b 45 59 5f 73 20 7c 7c 20 70 6c 61 69 6e 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 53 29 20 7b 00 00 | KEY_s.||.plain.==.XKB_KEY_S).{.. |
| e540 | 00 11 20 20 20 20 20 20 64 6f 5f 73 61 76 65 28 61 29 3b 00 00 00 10 20 20 20 20 20 20 72 65 64 | ........do_save(a);..........red |
| e560 | 72 61 77 28 61 29 3b 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 | raw(a);..........return;........ |
| e580 | 7d 00 00 00 33 20 20 20 20 69 66 20 28 70 6c 61 69 6e 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 61 20 | }...3....if.(plain.==.XKB_KEY_a. |
| e5a0 | 7c 7c 20 70 6c 61 69 6e 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 41 29 20 7b 00 00 00 15 20 20 20 20 | ||.plain.==.XKB_KEY_A).{........ |
| e5c0 | 20 20 73 65 6c 5f 61 6e 63 68 6f 72 20 3d 20 30 3b 00 00 00 14 20 20 20 20 20 20 63 75 72 73 6f | ..sel_anchor.=.0;..........curso |
| e5e0 | 72 20 3d 20 74 6c 65 6e 3b 00 00 00 10 20 20 20 20 20 20 72 65 64 72 61 77 28 61 29 3b 00 00 00 | r.=.tlen;..........redraw(a);... |
| e600 | 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 33 20 20 20 20 69 | .......return;........}...3....i |
| e620 | 66 20 28 70 6c 61 69 6e 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 63 20 7c 7c 20 70 6c 61 69 6e 20 3d | f.(plain.==.XKB_KEY_c.||.plain.= |
| e640 | 3d 20 58 4b 42 5f 4b 45 59 5f 43 29 20 7b 00 00 00 12 20 20 20 20 20 20 63 6f 70 79 5f 73 65 6c | =.XKB_KEY_C).{..........copy_sel |
| e660 | 28 61 29 3b 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 | (a);..........return;........}.. |
| e680 | 00 33 20 20 20 20 69 66 20 28 70 6c 61 69 6e 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 78 20 7c 7c 20 | .3....if.(plain.==.XKB_KEY_x.||. |
| e6a0 | 70 6c 61 69 6e 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 58 29 20 7b 00 00 00 12 20 20 20 20 20 20 63 | plain.==.XKB_KEY_X).{..........c |
| e6c0 | 6f 70 79 5f 73 65 6c 28 61 29 3b 00 00 00 13 20 20 20 20 20 20 64 65 6c 65 74 65 5f 73 65 6c 28 | opy_sel(a);..........delete_sel( |
| e6e0 | 29 3b 00 00 00 10 20 20 20 20 20 20 72 65 64 72 61 77 28 61 29 3b 00 00 00 0d 20 20 20 20 20 20 | );..........redraw(a);.......... |
| e700 | 72 65 74 75 72 6e 3b 00 00 00 05 20 20 20 20 7d 00 00 00 33 20 20 20 20 69 66 20 28 70 6c 61 69 | return;........}...3....if.(plai |
| e720 | 6e 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 76 20 7c 7c 20 70 6c 61 69 6e 20 3d 3d 20 58 4b 42 5f 4b | n.==.XKB_KEY_v.||.plain.==.XKB_K |
| e740 | 45 59 5f 56 29 20 7b 00 00 00 1a 20 20 20 20 20 20 69 66 20 28 73 65 6c 5f 61 6e 63 68 6f 72 20 | EY_V).{..........if.(sel_anchor. |
| e760 | 3e 3d 20 30 29 00 00 00 15 20 20 20 20 20 20 20 20 64 65 6c 65 74 65 5f 73 65 6c 28 29 3b 00 00 | >=.0)............delete_sel();.. |
| e780 | 00 2a 20 20 20 20 20 20 69 6e 73 28 61 2d 3e 63 6c 69 70 62 6f 61 72 64 2c 20 61 2d 3e 63 6c 69 | .*......ins(a->clipboard,.a->cli |
| e7a0 | 70 62 6f 61 72 64 5f 6c 65 6e 29 3b 00 00 00 10 20 20 20 20 20 20 72 65 64 72 61 77 28 61 29 3b | pboard_len);..........redraw(a); |
| e7c0 | 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;........}...... |
| e7e0 | 7d 00 00 00 4b 20 20 69 66 20 28 73 79 6d 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 4c 65 66 74 20 7c | }...K..if.(sym.==.XKB_KEY_Left.| |
| e800 | 7c 20 73 79 6d 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 52 69 67 68 74 20 7c 7c 20 73 79 6d 20 3d 3d | |.sym.==.XKB_KEY_Right.||.sym.== |
| e820 | 20 58 4b 42 5f 4b 45 59 5f 48 6f 6d 65 20 7c 7c 00 00 00 1b 20 20 20 20 20 20 73 79 6d 20 3d 3d | .XKB_KEY_Home.||..........sym.== |
| e840 | 20 58 4b 42 5f 4b 45 59 5f 45 6e 64 29 20 7b 00 00 00 20 20 20 20 20 69 66 20 28 73 68 69 66 74 | .XKB_KEY_End).{........if.(shift |
| e860 | 20 26 26 20 73 65 6c 5f 61 6e 63 68 6f 72 20 3c 20 30 29 00 00 00 1a 20 20 20 20 20 20 73 65 6c | .&&.sel_anchor.<.0)..........sel |
| e880 | 5f 61 6e 63 68 6f 72 20 3d 20 63 75 72 73 6f 72 3b 00 00 00 14 20 20 20 20 65 6c 73 65 20 69 66 | _anchor.=.cursor;........else.if |
| e8a0 | 20 28 21 73 68 69 66 74 29 00 00 00 16 20 20 20 20 20 20 73 65 6c 5f 61 6e 63 68 6f 72 20 3d 20 | .(!shift)..........sel_anchor.=. |
| e8c0 | 2d 31 3b 00 00 00 2a 20 20 20 20 69 66 20 28 73 79 6d 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 4c 65 | -1;...*....if.(sym.==.XKB_KEY_Le |
| e8e0 | 66 74 20 26 26 20 63 75 72 73 6f 72 20 3e 20 30 29 00 00 00 0f 20 20 20 20 20 20 63 75 72 73 6f | ft.&&.cursor.>.0)..........curso |
| e900 | 72 2d 2d 3b 00 00 00 2e 20 20 20 20 69 66 20 28 73 79 6d 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 52 | r--;........if.(sym.==.XKB_KEY_R |
| e920 | 69 67 68 74 20 26 26 20 63 75 72 73 6f 72 20 3c 20 74 6c 65 6e 29 00 00 00 0f 20 20 20 20 20 20 | ight.&&.cursor.<.tlen).......... |
| e940 | 63 75 72 73 6f 72 2b 2b 3b 00 00 00 1e 20 20 20 20 69 66 20 28 73 79 6d 20 3d 3d 20 58 4b 42 5f | cursor++;........if.(sym.==.XKB_ |
| e960 | 4b 45 59 5f 48 6f 6d 65 29 20 7b 00 00 00 34 20 20 20 20 20 20 77 68 69 6c 65 20 28 63 75 72 73 | KEY_Home).{...4......while.(curs |
| e980 | 6f 72 20 3e 20 30 20 26 26 20 74 65 78 74 5b 63 75 72 73 6f 72 20 2d 20 31 5d 20 21 3d 20 27 5c | or.>.0.&&.text[cursor.-.1].!=.'\ |
| e9a0 | 6e 27 29 00 00 00 11 20 20 20 20 20 20 20 20 63 75 72 73 6f 72 2d 2d 3b 00 00 00 05 20 20 20 20 | n')............cursor--;........ |
| e9c0 | 7d 00 00 00 1d 20 20 20 20 69 66 20 28 73 79 6d 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 45 6e 64 29 | }........if.(sym.==.XKB_KEY_End) |
| e9e0 | 20 7b 00 00 00 33 20 20 20 20 20 20 77 68 69 6c 65 20 28 63 75 72 73 6f 72 20 3c 20 74 6c 65 6e | .{...3......while.(cursor.<.tlen |
| ea00 | 20 26 26 20 74 65 78 74 5b 63 75 72 73 6f 72 5d 20 21 3d 20 27 5c 6e 27 29 00 00 00 11 20 20 20 | .&&.text[cursor].!=.'\n')....... |
| ea20 | 20 20 20 20 20 63 75 72 73 6f 72 2b 2b 3b 00 00 00 05 20 20 20 20 7d 00 00 00 26 20 20 20 20 69 | .....cursor++;........}...&....i |
| ea40 | 66 20 28 73 68 69 66 74 20 26 26 20 73 65 6c 5f 61 6e 63 68 6f 72 20 3d 3d 20 63 75 72 73 6f 72 | f.(shift.&&.sel_anchor.==.cursor |
| ea60 | 29 00 00 00 16 20 20 20 20 20 20 73 65 6c 5f 61 6e 63 68 6f 72 20 3d 20 2d 31 3b 00 00 00 0e 20 | )..........sel_anchor.=.-1;..... |
| ea80 | 20 20 20 72 65 64 72 61 77 28 61 29 3b 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 03 | ...redraw(a);........return;.... |
| eaa0 | 20 20 7d 00 00 00 21 20 20 69 66 20 28 73 79 6d 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 42 61 63 6b | ..}...!..if.(sym.==.XKB_KEY_Back |
| eac0 | 53 70 61 63 65 29 20 7b 00 00 00 18 20 20 20 20 69 66 20 28 73 65 6c 5f 61 6e 63 68 6f 72 20 3e | Space).{........if.(sel_anchor.> |
| eae0 | 3d 20 30 29 00 00 00 13 20 20 20 20 20 20 64 65 6c 65 74 65 5f 73 65 6c 28 29 3b 00 00 00 1a 20 | =.0)..........delete_sel();..... |
| eb00 | 20 20 20 65 6c 73 65 20 69 66 20 28 63 75 72 73 6f 72 20 3e 20 30 29 20 7b 00 00 00 3f 20 20 20 | ...else.if.(cursor.>.0).{...?... |
| eb20 | 20 20 20 6d 65 6d 6d 6f 76 65 28 74 65 78 74 20 2b 20 63 75 72 73 6f 72 20 2d 20 31 2c 20 74 65 | ...memmove(text.+.cursor.-.1,.te |
| eb40 | 78 74 20 2b 20 63 75 72 73 6f 72 2c 20 74 6c 65 6e 20 2d 20 63 75 72 73 6f 72 29 3b 00 00 00 0d | xt.+.cursor,.tlen.-.cursor);.... |
| eb60 | 20 20 20 20 20 20 74 6c 65 6e 2d 2d 3b 00 00 00 0f 20 20 20 20 20 20 63 75 72 73 6f 72 2d 2d 3b | ......tlen--;..........cursor--; |
| eb80 | 00 00 00 18 20 20 20 20 20 20 74 65 78 74 5b 74 6c 65 6e 5d 20 3d 20 27 5c 30 27 3b 00 00 00 13 | ..........text[tlen].=.'\0';.... |
| eba0 | 20 20 20 20 20 20 64 69 72 74 79 20 3d 20 74 72 75 65 3b 00 00 00 05 20 20 20 20 7d 00 00 00 0e | ......dirty.=.true;........}.... |
| ebc0 | 20 20 20 20 72 65 64 72 61 77 28 61 29 3b 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 | ....redraw(a);........return;... |
| ebe0 | 03 20 20 7d 00 00 00 1e 20 20 69 66 20 28 73 79 6d 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 44 65 6c | ...}......if.(sym.==.XKB_KEY_Del |
| ec00 | 65 74 65 29 20 7b 00 00 00 18 20 20 20 20 69 66 20 28 73 65 6c 5f 61 6e 63 68 6f 72 20 3e 3d 20 | ete).{........if.(sel_anchor.>=. |
| ec20 | 30 29 00 00 00 13 20 20 20 20 20 20 64 65 6c 65 74 65 5f 73 65 6c 28 29 3b 00 00 00 1d 20 20 20 | 0)..........delete_sel();....... |
| ec40 | 20 65 6c 73 65 20 69 66 20 28 63 75 72 73 6f 72 20 3c 20 74 6c 65 6e 29 20 7b 00 00 00 43 20 20 | .else.if.(cursor.<.tlen).{...C.. |
| ec60 | 20 20 20 20 6d 65 6d 6d 6f 76 65 28 74 65 78 74 20 2b 20 63 75 72 73 6f 72 2c 20 74 65 78 74 20 | ....memmove(text.+.cursor,.text. |
| ec80 | 2b 20 63 75 72 73 6f 72 20 2b 20 31 2c 20 74 6c 65 6e 20 2d 20 63 75 72 73 6f 72 20 2d 20 31 29 | +.cursor.+.1,.tlen.-.cursor.-.1) |
| eca0 | 3b 00 00 00 0d 20 20 20 20 20 20 74 6c 65 6e 2d 2d 3b 00 00 00 18 20 20 20 20 20 20 74 65 78 74 | ;..........tlen--;..........text |
| ecc0 | 5b 74 6c 65 6e 5d 20 3d 20 27 5c 30 27 3b 00 00 00 13 20 20 20 20 20 20 64 69 72 74 79 20 3d 20 | [tlen].=.'\0';..........dirty.=. |
| ece0 | 74 72 75 65 3b 00 00 00 05 20 20 20 20 7d 00 00 00 0e 20 20 20 20 72 65 64 72 61 77 28 61 29 3b | true;........}........redraw(a); |
| ed00 | 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 39 20 20 69 66 20 28 | ........return;......}...9..if.( |
| ed20 | 73 79 6d 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 52 65 74 75 72 6e 20 7c 7c 20 73 79 6d 20 3d 3d 20 | sym.==.XKB_KEY_Return.||.sym.==. |
| ed40 | 58 4b 42 5f 4b 45 59 5f 4b 50 5f 45 6e 74 65 72 29 20 7b 00 00 00 18 20 20 20 20 69 66 20 28 73 | XKB_KEY_KP_Enter).{........if.(s |
| ed60 | 65 6c 5f 61 6e 63 68 6f 72 20 3e 3d 20 30 29 00 00 00 13 20 20 20 20 20 20 64 65 6c 65 74 65 5f | el_anchor.>=.0)..........delete_ |
| ed80 | 73 65 6c 28 29 3b 00 00 00 11 20 20 20 20 69 6e 73 28 22 5c 6e 22 2c 20 31 29 3b 00 00 00 0e 20 | sel();........ins("\n",.1);..... |
| eda0 | 20 20 20 72 65 64 72 61 77 28 61 29 3b 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 03 | ...redraw(a);........return;.... |
| edc0 | 20 20 7d 00 00 00 0e 20 20 63 68 61 72 20 62 75 66 5b 38 5d 3b 00 00 00 46 20 20 69 6e 74 20 6c | ..}......char.buf[8];...F..int.l |
| ede0 | 65 6e 20 3d 20 78 6b 62 5f 73 74 61 74 65 5f 6b 65 79 5f 67 65 74 5f 75 74 66 38 28 61 2d 3e 78 | en.=.xkb_state_key_get_utf8(a->x |
| ee00 | 6b 62 5f 73 74 61 74 65 2c 20 6b 63 2c 20 62 75 66 2c 20 73 69 7a 65 6f 66 20 62 75 66 29 3b 00 | kb_state,.kc,.buf,.sizeof.buf);. |
| ee20 | 00 00 2f 20 20 69 66 20 28 6c 65 6e 20 3e 20 30 20 26 26 20 28 75 6e 73 69 67 6e 65 64 20 63 68 | ../..if.(len.>.0.&&.(unsigned.ch |
| ee40 | 61 72 29 62 75 66 5b 30 5d 20 3e 3d 20 33 32 29 20 7b 00 00 00 18 20 20 20 20 69 66 20 28 73 65 | ar)buf[0].>=.32).{........if.(se |
| ee60 | 6c 5f 61 6e 63 68 6f 72 20 3e 3d 20 30 29 00 00 00 13 20 20 20 20 20 20 64 65 6c 65 74 65 5f 73 | l_anchor.>=.0)..........delete_s |
| ee80 | 65 6c 28 29 3b 00 00 00 12 20 20 20 20 69 6e 73 28 62 75 66 2c 20 6c 65 6e 29 3b 00 00 00 0e 20 | el();........ins(buf,.len);..... |
| eea0 | 20 20 20 72 65 64 72 61 77 28 61 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 | ...redraw(a);......}....}....... |
| eec0 | 47 73 74 61 74 69 63 20 76 6f 69 64 20 77 6d 5f 70 69 6e 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 | Gstatic.void.wm_ping(void.*d,.st |
| eee0 | 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 2c 20 75 69 6e 74 33 32 5f 74 20 73 | ruct.xdg_wm_base.*wm,.uint32_t.s |
| ef00 | 65 72 69 61 6c 29 20 7b 00 00 00 1f 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 | erial).{......xdg_wm_base_pong(w |
| ef20 | 6d 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 01 7d 00 00 00 49 73 74 61 74 69 63 20 63 6f 6e 73 74 | m,.serial);....}...Istatic.const |
| ef40 | 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 77 6d 5f | .struct.xdg_wm_base_listener.wm_ |
| ef60 | 6c 69 73 74 65 6e 65 72 20 3d 20 7b 2e 70 69 6e 67 20 3d 20 77 6d 5f 70 69 6e 67 7d 3b 00 00 00 | listener.=.{.ping.=.wm_ping};... |
| ef80 | 00 00 00 00 26 73 74 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 5f 62 75 66 28 73 74 72 75 63 | ....&static.void.alloc_buf(struc |
| efa0 | 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 0f 20 20 69 66 20 28 61 2d 3e 62 75 66 29 20 7b 00 00 | t.app.*a).{......if.(a->buf).{.. |
| efc0 | 00 1e 20 20 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 61 2d 3e 62 75 66 29 3b | ......wl_buffer_destroy(a->buf); |
| efe0 | 00 00 00 12 20 20 20 20 61 2d 3e 62 75 66 20 3d 20 4e 55 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 | ........a->buf.=.NULL;......}... |
| f000 | 12 20 20 69 66 20 28 61 2d 3e 70 69 78 65 6c 73 29 20 7b 00 00 00 26 20 20 20 20 6d 75 6e 6d 61 | ...if.(a->pixels).{...&....munma |
| f020 | 70 28 61 2d 3e 70 69 78 65 6c 73 2c 20 61 2d 3e 70 69 78 65 6c 73 5f 73 69 7a 65 29 3b 00 00 00 | p(a->pixels,.a->pixels_size);... |
| f040 | 15 20 20 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 | .....a->pixels.=.NULL;......}... |
| f060 | 40 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 6d 61 6b 65 5f 73 68 6d 28 61 2c 20 61 2d 3e 77 2c | @..a->pixels.=.make_shm(a,.a->w, |
| f080 | 20 61 2d 3e 68 2c 20 26 61 2d 3e 62 75 66 2c 20 26 61 2d 3e 70 69 78 65 6c 73 5f 73 69 7a 65 29 | .a->h,.&a->buf,.&a->pixels_size) |
| f0a0 | 3b 00 00 00 01 7d 00 00 00 00 00 00 00 46 73 74 61 74 69 63 20 76 6f 69 64 20 78 73 5f 63 66 67 | ;....}.......Fstatic.void.xs_cfg |
| f0c0 | 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 | (void.*d,.struct.xdg_surface.*xs |
| f0e0 | 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 | ,.uint32_t.serial).{......struct |
| f100 | 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 28 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 63 | .app.*a.=.d;...(..xdg_surface_ac |
| f120 | 6b 5f 63 6f 6e 66 69 67 75 72 65 28 78 73 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 2d 20 20 69 66 | k_configure(xs,.serial);...-..if |
| f140 | 20 28 61 2d 3e 70 65 6e 64 69 6e 67 5f 77 20 3e 20 30 20 26 26 20 61 2d 3e 70 65 6e 64 69 6e 67 | .(a->pending_w.>.0.&&.a->pending |
| f160 | 5f 68 20 3e 20 30 29 20 7b 00 00 00 18 20 20 20 20 61 2d 3e 77 20 3d 20 61 2d 3e 70 65 6e 64 69 | _h.>.0).{........a->w.=.a->pendi |
| f180 | 6e 67 5f 77 3b 00 00 00 18 20 20 20 20 61 2d 3e 68 20 3d 20 61 2d 3e 70 65 6e 64 69 6e 67 5f 68 | ng_w;........a->h.=.a->pending_h |
| f1a0 | 3b 00 00 00 15 20 20 20 20 61 2d 3e 70 65 6e 64 69 6e 67 5f 77 20 3d 20 30 3b 00 00 00 15 20 20 | ;........a->pending_w.=.0;...... |
| f1c0 | 20 20 61 2d 3e 70 65 6e 64 69 6e 67 5f 68 20 3d 20 30 3b 00 00 00 03 20 20 7d 00 00 00 15 20 20 | ..a->pending_h.=.0;......}...... |
| f1e0 | 69 66 20 28 21 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 29 00 00 00 19 20 20 20 20 61 2d 3e 63 6f | if.(!a->configured)........a->co |
| f200 | 6e 66 69 67 75 72 65 64 20 3d 20 74 72 75 65 3b 00 00 00 0f 20 20 61 6c 6c 6f 63 5f 62 75 66 28 | nfigured.=.true;......alloc_buf( |
| f220 | 61 29 3b 00 00 00 0c 20 20 72 65 64 72 61 77 28 61 29 3b 00 00 00 01 7d 00 00 00 4d 73 74 61 74 | a);......redraw(a);....}...Mstat |
| f240 | 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 5f 6c 69 73 74 | ic.const.struct.xdg_surface_list |
| f260 | 65 6e 65 72 20 78 73 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 20 3d | ener.xs_listener.=.{.configure.= |
| f280 | 20 78 73 5f 63 66 67 7d 3b 00 00 00 00 00 00 00 4a 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f | .xs_cfg};.......Jstatic.void.xt_ |
| f2a0 | 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c | cfg(void.*d,.struct.xdg_toplevel |
| f2c0 | 20 2a 78 74 2c 20 69 6e 74 33 32 5f 74 20 77 2c 20 69 6e 74 33 32 5f 74 20 68 2c 00 00 00 28 20 | .*xt,.int32_t.w,.int32_t.h,...(. |
| f2e0 | 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 77 6c 5f 61 72 72 61 | ..................struct.wl_arra |
| f300 | 79 20 2a 73 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 | y.*s).{......struct.app.*a.=.d;. |
| f320 | 00 00 17 20 20 69 66 20 28 77 20 3e 20 30 20 26 26 20 68 20 3e 20 30 29 20 7b 00 00 00 15 20 20 | .....if.(w.>.0.&&.h.>.0).{...... |
| f340 | 20 20 61 2d 3e 70 65 6e 64 69 6e 67 5f 77 20 3d 20 77 3b 00 00 00 15 20 20 20 20 61 2d 3e 70 65 | ..a->pending_w.=.w;........a->pe |
| f360 | 6e 64 69 6e 67 5f 68 20 3d 20 68 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 43 73 74 61 74 | nding_h.=.h;......}....}...Cstat |
| f380 | 69 63 20 76 6f 69 64 20 78 74 5f 63 6c 6f 73 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 | ic.void.xt_close(void.*d,.struct |
| f3a0 | 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 29 20 7b 20 65 78 69 74 28 30 29 3b 20 7d 00 | .xdg_toplevel.*xt).{.exit(0);.}. |
| f3c0 | 00 00 4d 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 | ..Mstatic.const.struct.xdg_tople |
| f3e0 | 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 78 74 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 2e 63 6f 6e | vel_listener.xt_listener.=.{.con |
| f400 | 66 69 67 75 72 65 20 3d 20 78 74 5f 63 66 67 2c 00 00 00 4c 20 20 20 20 20 20 20 20 20 20 20 20 | figure.=.xt_cfg,...L............ |
| f420 | 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 | ................................ |
| f440 | 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 63 6c 6f 73 65 20 3d 20 78 74 5f 63 6c 6f 73 65 7d 3b | ..............close.=.xt_close}; |
| f460 | 00 00 00 00 00 00 00 4a 73 74 61 74 69 63 20 76 6f 69 64 20 64 73 5f 74 61 72 67 65 74 28 76 6f | .......Jstatic.void.ds_target(vo |
| f480 | 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 20 2a 73 2c | id.*d,.struct.wl_data_source.*s, |
| f4a0 | 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6d 29 20 7b 7d 00 00 00 45 73 74 61 74 69 63 20 76 6f 69 | .const.char.*m).{}...Estatic.voi |
| f4c0 | 64 20 64 73 5f 73 65 6e 64 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 | d.ds_send(void.*d,.struct.wl_dat |
| f4e0 | 61 5f 73 6f 75 72 63 65 20 2a 73 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6d 2c 00 00 00 21 20 | a_source.*s,.const.char.*m,...!. |
| f500 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 33 32 5f 74 20 66 64 29 20 7b | ...................int32_t.fd).{ |
| f520 | 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 2c 20 20 77 72 | ......struct.app.*a.=.d;...,..wr |
| f540 | 69 74 65 28 66 64 2c 20 61 2d 3e 63 6c 69 70 62 6f 61 72 64 2c 20 61 2d 3e 63 6c 69 70 62 6f 61 | ite(fd,.a->clipboard,.a->clipboa |
| f560 | 72 64 5f 6c 65 6e 29 3b 00 00 00 0c 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 01 7d 00 00 00 | rd_len);......close(fd);....}... |
| f580 | 3d 73 74 61 74 69 63 20 76 6f 69 64 20 64 73 5f 63 61 6e 63 65 6c 6c 65 64 28 76 6f 69 64 20 2a | =static.void.ds_cancelled(void.* |
| f5a0 | 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 20 2a 73 29 20 7b 00 00 | d,.struct.wl_data_source.*s).{.. |
| f5c0 | 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 0e 20 20 69 66 20 28 | ....struct.app.*a.=.d;......if.( |
| f5e0 | 61 2d 3e 64 73 29 20 7b 00 00 00 22 20 20 20 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 5f 64 | a->ds).{..."....wl_data_source_d |
| f600 | 65 73 74 72 6f 79 28 61 2d 3e 64 73 29 3b 00 00 00 11 20 20 20 20 61 2d 3e 64 73 20 3d 20 4e 55 | estroy(a->ds);........a->ds.=.NU |
| f620 | 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 3b 73 74 61 74 69 63 20 63 6f 6e 73 74 20 | LL;......}....}...;static.const. |
| f640 | 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 5f 6c 69 73 74 65 6e 65 72 20 64 | struct.wl_data_source_listener.d |
| f660 | 73 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 45 20 20 20 20 2e 74 61 72 67 65 74 20 3d 20 | s_listener.=.{...E.....target.=. |
| f680 | 64 73 5f 74 61 72 67 65 74 2c 20 2e 73 65 6e 64 20 3d 20 64 73 5f 73 65 6e 64 2c 20 2e 63 61 6e | ds_target,..send.=.ds_send,..can |
| f6a0 | 63 65 6c 6c 65 64 20 3d 20 64 73 5f 63 61 6e 63 65 6c 6c 65 64 7d 3b 00 00 00 00 00 00 00 38 73 | celled.=.ds_cancelled};.......8s |
| f6c0 | 74 61 74 69 63 20 76 6f 69 64 20 64 64 5f 6f 66 66 65 72 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 | tatic.void.dd_offer(void.*d,.str |
| f6e0 | 75 63 74 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 20 2a 64 64 2c 00 00 00 30 20 20 20 20 20 | uct.wl_data_device.*dd,...0..... |
| f700 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 6f | ................struct.wl_data_o |
| f720 | 66 66 65 72 20 2a 6f 29 20 7b 7d 00 00 00 44 73 74 61 74 69 63 20 76 6f 69 64 20 64 64 5f 65 6e | ffer.*o).{}...Dstatic.void.dd_en |
| f740 | 74 65 72 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 | ter(void.*d,.struct.wl_data_devi |
| f760 | 63 65 20 2a 64 64 2c 20 75 69 6e 74 33 32 5f 74 20 73 2c 00 00 00 47 20 20 20 20 20 20 20 20 20 | ce.*dd,.uint32_t.s,...G......... |
| f780 | 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 | ............struct.wl_surface.*s |
| f7a0 | 75 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 78 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 79 2c 00 00 | u,.wl_fixed_t.x,.wl_fixed_t.y,.. |
| f7c0 | 00 30 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 77 6c | .0.....................struct.wl |
| f7e0 | 5f 64 61 74 61 5f 6f 66 66 65 72 20 2a 6f 29 20 7b 7d 00 00 00 3b 73 74 61 74 69 63 20 76 6f 69 | _data_offer.*o).{}...;static.voi |
| f800 | 64 20 64 64 5f 6c 65 61 76 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 64 61 | d.dd_leave(void.*d,.struct.wl_da |
| f820 | 74 61 5f 64 65 76 69 63 65 20 2a 64 64 29 20 7b 7d 00 00 00 45 73 74 61 74 69 63 20 76 6f 69 64 | ta_device.*dd).{}...Estatic.void |
| f840 | 20 64 64 5f 6d 6f 74 69 6f 6e 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 64 61 | .dd_motion(void.*d,.struct.wl_da |
| f860 | 74 61 5f 64 65 76 69 63 65 20 2a 64 64 2c 20 75 69 6e 74 33 32 5f 74 20 74 2c 00 00 00 34 20 20 | ta_device.*dd,.uint32_t.t,...4.. |
| f880 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 6c 5f 66 69 78 65 64 5f 74 20 78 | ....................wl_fixed_t.x |
| f8a0 | 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 79 29 20 7b 7d 00 00 00 3a 73 74 61 74 69 63 20 76 6f 69 | ,.wl_fixed_t.y).{}...:static.voi |
| f8c0 | 64 20 64 64 5f 64 72 6f 70 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 | d.dd_drop(void.*d,.struct.wl_dat |
| f8e0 | 61 5f 64 65 76 69 63 65 20 2a 64 64 29 20 7b 7d 00 00 00 3c 73 74 61 74 69 63 20 76 6f 69 64 20 | a_device.*dd).{}...<static.void. |
| f900 | 64 64 5f 73 65 6c 65 63 74 69 6f 6e 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f | dd_selection(void.*d,.struct.wl_ |
| f920 | 64 61 74 61 5f 64 65 76 69 63 65 20 2a 64 64 2c 00 00 00 34 20 20 20 20 20 20 20 20 20 20 20 20 | data_device.*dd,...4............ |
| f940 | 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 6f 66 66 65 | .............struct.wl_data_offe |
| f960 | 72 20 2a 6f 29 20 7b 7d 00 00 00 3b 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 | r.*o).{}...;static.const.struct. |
| f980 | 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 5f 6c 69 73 74 65 6e 65 72 20 64 64 5f 6c 69 73 74 65 | wl_data_device_listener.dd_liste |
| f9a0 | 6e 65 72 20 3d 20 7b 00 00 00 1b 20 20 20 20 2e 64 61 74 61 5f 6f 66 66 65 72 20 3d 20 64 64 5f | ner.=.{.........data_offer.=.dd_ |
| f9c0 | 6f 66 66 65 72 2c 00 00 00 16 20 20 20 20 2e 65 6e 74 65 72 20 3d 20 64 64 5f 65 6e 74 65 72 2c | offer,.........enter.=.dd_enter, |
| f9e0 | 00 00 00 16 20 20 20 20 2e 6c 65 61 76 65 20 3d 20 64 64 5f 6c 65 61 76 65 2c 00 00 00 18 20 20 | .........leave.=.dd_leave,...... |
| fa00 | 20 20 2e 6d 6f 74 69 6f 6e 20 3d 20 64 64 5f 6d 6f 74 69 6f 6e 2c 00 00 00 14 20 20 20 20 2e 64 | ...motion.=.dd_motion,.........d |
| fa20 | 72 6f 70 20 3d 20 64 64 5f 64 72 6f 70 2c 00 00 00 1f 20 20 20 20 2e 73 65 6c 65 63 74 69 6f 6e | rop.=.dd_drop,.........selection |
| fa40 | 20 3d 20 64 64 5f 73 65 6c 65 63 74 69 6f 6e 7d 3b 00 00 00 00 00 00 00 40 73 74 61 74 69 63 20 | .=.dd_selection};.......@static. |
| fa60 | 76 6f 69 64 20 70 74 72 5f 65 6e 74 65 72 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 | void.ptr_enter(void.*d,.struct.w |
| fa80 | 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 2c 20 75 69 6e 74 33 32 5f 74 20 73 2c 00 00 00 4b 20 20 20 | l_pointer.*p,.uint32_t.s,...K... |
| faa0 | 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 77 6c 5f 73 75 72 | ...................struct.wl_sur |
| fac0 | 66 61 63 65 20 2a 73 75 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 78 2c 20 77 6c 5f 66 69 78 65 64 | face.*su,.wl_fixed_t.x,.wl_fixed |
| fae0 | 5f 74 20 79 29 20 7b 7d 00 00 00 40 73 74 61 74 69 63 20 76 6f 69 64 20 70 74 72 5f 6c 65 61 76 | _t.y).{}...@static.void.ptr_leav |
| fb00 | 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 2c | e(void.*d,.struct.wl_pointer.*p, |
| fb20 | 20 75 69 6e 74 33 32 5f 74 20 73 2c 00 00 00 2f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .uint32_t.s,.../................ |
| fb40 | 20 20 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 29 20 7b 7d 00 | ......struct.wl_surface.*su).{}. |
| fb60 | 00 00 4f 73 74 61 74 69 63 20 76 6f 69 64 20 70 74 72 5f 6d 6f 74 69 6f 6e 28 76 6f 69 64 20 2a | ..Ostatic.void.ptr_motion(void.* |
| fb80 | 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 2c 20 75 69 6e 74 33 32 5f | d,.struct.wl_pointer.*p,.uint32_ |
| fba0 | 74 20 74 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 78 2c 00 00 00 26 20 20 20 20 20 20 20 20 20 20 | t.t,.wl_fixed_t.x,...&.......... |
| fbc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 77 6c 5f 66 69 78 65 64 5f 74 20 79 29 20 7b 00 00 00 14 | .............wl_fixed_t.y).{.... |
| fbe0 | 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 22 20 20 61 2d 3e 6d 6f 75 | ..struct.app.*a.=.d;..."..a->mou |
| fc00 | 73 65 5f 78 20 3d 20 77 6c 5f 66 69 78 65 64 5f 74 6f 5f 69 6e 74 28 78 29 3b 00 00 00 22 20 20 | se_x.=.wl_fixed_to_int(x);...".. |
| fc20 | 61 2d 3e 6d 6f 75 73 65 5f 79 20 3d 20 77 6c 5f 66 69 78 65 64 5f 74 6f 5f 69 6e 74 28 79 29 3b | a->mouse_y.=.wl_fixed_to_int(y); |
| fc40 | 00 00 00 22 20 20 69 66 20 28 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 20 21 3d 20 4d 45 4e 55 5f 4e | ..."..if.(a->open_menu.!=.MENU_N |
| fc60 | 4f 4e 45 29 20 7b 00 00 00 32 20 20 20 20 69 6e 74 20 69 74 20 3d 20 69 74 65 6d 5f 61 74 28 61 | ONE).{...2....int.it.=.item_at(a |
| fc80 | 2c 20 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 2c 20 61 2d 3e 6d 6f 75 73 65 5f 79 29 3b 00 00 00 20 | ,.a->open_menu,.a->mouse_y);.... |
| fca0 | 20 20 20 20 69 66 20 28 69 74 20 21 3d 20 61 2d 3e 68 6f 76 65 72 65 64 5f 69 74 65 6d 29 20 7b | ....if.(it.!=.a->hovered_item).{ |
| fcc0 | 00 00 00 1b 20 20 20 20 20 20 61 2d 3e 68 6f 76 65 72 65 64 5f 69 74 65 6d 20 3d 20 69 74 3b 00 | ..........a->hovered_item.=.it;. |
| fce0 | 00 00 10 20 20 20 20 20 20 72 65 64 72 61 77 28 61 29 3b 00 00 00 0d 20 20 20 20 20 20 72 65 74 | .........redraw(a);..........ret |
| fd00 | 75 72 6e 3b 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 1d 20 20 69 66 20 28 61 2d | urn;........}......}......if.(a- |
| fd20 | 3e 6d 6f 75 73 65 5f 79 20 3e 3d 20 62 61 72 5f 79 28 61 29 29 00 00 00 0e 20 20 20 20 72 65 64 | >mouse_y.>=.bar_y(a))........red |
| fd40 | 72 61 77 28 61 29 3b 00 00 00 01 7d 00 00 00 46 73 74 61 74 69 63 20 76 6f 69 64 20 70 74 72 5f | raw(a);....}...Fstatic.void.ptr_ |
| fd60 | 62 75 74 74 6f 6e 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 | button(void.*d,.struct.wl_pointe |
| fd80 | 72 20 2a 70 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 2c 00 00 00 42 20 20 20 20 20 20 | r.*p,.uint32_t.serial,...B...... |
| fda0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 74 2c 20 75 69 6e | .................uint32_t.t,.uin |
| fdc0 | 74 33 32 5f 74 20 62 74 6e 2c 20 75 69 6e 74 33 32 5f 74 20 73 74 61 74 65 29 20 7b 00 00 00 14 | t32_t.btn,.uint32_t.state).{.... |
| fde0 | 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 2f 20 20 69 66 20 28 73 74 | ..struct.app.*a.=.d;.../..if.(st |
| fe00 | 61 74 65 20 21 3d 20 57 4c 5f 50 4f 49 4e 54 45 52 5f 42 55 54 54 4f 4e 5f 53 54 41 54 45 5f 50 | ate.!=.WL_POINTER_BUTTON_STATE_P |
| fe20 | 52 45 53 53 45 44 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 1a 20 20 61 2d 3e 6c | RESSED)........return;......a->l |
| fe40 | 61 73 74 5f 73 65 72 69 61 6c 20 3d 20 73 65 72 69 61 6c 3b 00 00 00 14 20 20 69 6e 74 20 62 79 | ast_serial.=.serial;......int.by |
| fe60 | 20 3d 20 62 61 72 5f 79 28 61 29 3b 00 00 00 00 00 00 00 22 20 20 69 66 20 28 61 2d 3e 6f 70 65 | .=.bar_y(a);......."..if.(a->ope |
| fe80 | 6e 5f 6d 65 6e 75 20 21 3d 20 4d 45 4e 55 5f 4e 4f 4e 45 29 20 7b 00 00 00 32 20 20 20 20 69 6e | n_menu.!=.MENU_NONE).{...2....in |
| fea0 | 74 20 69 74 20 3d 20 69 74 65 6d 5f 61 74 28 61 2c 20 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 2c 20 | t.it.=.item_at(a,.a->open_menu,. |
| fec0 | 61 2d 3e 6d 6f 75 73 65 5f 79 29 3b 00 00 00 12 20 20 20 20 69 66 20 28 69 74 20 3e 3d 20 30 29 | a->mouse_y);........if.(it.>=.0) |
| fee0 | 20 7b 00 00 00 25 20 20 20 20 20 20 66 69 72 65 5f 69 74 65 6d 28 61 2c 20 61 2d 3e 6f 70 65 6e | .{...%......fire_item(a,.a->open |
| ff00 | 5f 6d 65 6e 75 2c 20 69 74 29 3b 00 00 00 0d 20 20 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 05 | _menu,.it);..........return;.... |
| ff20 | 20 20 20 20 7d 00 00 00 1b 20 20 20 20 69 66 20 28 61 2d 3e 6d 6f 75 73 65 5f 79 20 3e 3d 20 62 | ....}........if.(a->mouse_y.>=.b |
| ff40 | 79 29 20 7b 00 00 00 23 20 20 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 | y).{...#......for.(int.i.=.0;.i. |
| ff60 | 3c 20 32 3b 20 69 2b 2b 29 20 7b 00 00 00 29 20 20 20 20 20 20 20 20 69 6e 74 20 62 78 20 3d 20 | <.2;.i++).{...)........int.bx.=. |
| ff80 | 62 74 6e 5f 78 28 69 29 2c 20 62 77 20 3d 20 62 74 6e 5f 77 28 69 29 3b 00 00 00 37 20 20 20 20 | btn_x(i),.bw.=.btn_w(i);...7.... |
| ffa0 | 20 20 20 20 69 66 20 28 61 2d 3e 6d 6f 75 73 65 5f 78 20 3e 3d 20 62 78 20 26 26 20 61 2d 3e 6d | ....if.(a->mouse_x.>=.bx.&&.a->m |
| ffc0 | 6f 75 73 65 5f 78 20 3c 20 62 78 20 2b 20 62 77 29 20 7b 00 00 00 23 20 20 20 20 20 20 20 20 20 | ouse_x.<.bx.+.bw).{...#......... |
| ffe0 | 20 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 20 3d 20 28 4d 65 6e 75 49 64 29 69 3b 00 00 00 1f 20 20 | .a->open_menu.=.(MenuId)i;...... |
| 10000 | 20 20 20 20 20 20 20 20 61 2d 3e 68 6f 76 65 72 65 64 5f 69 74 65 6d 20 3d 20 2d 31 3b 00 00 00 | ........a->hovered_item.=.-1;... |
| 10020 | 14 20 20 20 20 20 20 20 20 20 20 72 65 64 72 61 77 28 61 29 3b 00 00 00 11 20 20 20 20 20 20 20 | ...........redraw(a);........... |
| 10040 | 20 20 20 72 65 74 75 72 6e 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 07 20 20 20 20 20 | ...return;............}......... |
| 10060 | 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 1d 20 20 20 20 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 20 | .}........}........a->open_menu. |
| 10080 | 3d 20 4d 45 4e 55 5f 4e 4f 4e 45 3b 00 00 00 19 20 20 20 20 61 2d 3e 68 6f 76 65 72 65 64 5f 69 | =.MENU_NONE;........a->hovered_i |
| 100a0 | 74 65 6d 20 3d 20 2d 31 3b 00 00 00 0e 20 20 20 20 72 65 64 72 61 77 28 61 29 3b 00 00 00 0b 20 | tem.=.-1;........redraw(a);..... |
| 100c0 | 20 20 20 72 65 74 75 72 6e 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 19 20 20 69 66 20 28 61 | ...return;......}..........if.(a |
| 100e0 | 2d 3e 6d 6f 75 73 65 5f 79 20 3e 3d 20 62 79 29 20 7b 00 00 00 21 20 20 20 20 66 6f 72 20 28 69 | ->mouse_y.>=.by).{...!....for.(i |
| 10100 | 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 32 3b 20 69 2b 2b 29 20 7b 00 00 00 27 20 20 20 20 20 | nt.i.=.0;.i.<.2;.i++).{...'..... |
| 10120 | 20 69 6e 74 20 62 78 20 3d 20 62 74 6e 5f 78 28 69 29 2c 20 62 77 20 3d 20 62 74 6e 5f 77 28 69 | .int.bx.=.btn_x(i),.bw.=.btn_w(i |
| 10140 | 29 3b 00 00 00 35 20 20 20 20 20 20 69 66 20 28 61 2d 3e 6d 6f 75 73 65 5f 78 20 3e 3d 20 62 78 | );...5......if.(a->mouse_x.>=.bx |
| 10160 | 20 26 26 20 61 2d 3e 6d 6f 75 73 65 5f 78 20 3c 20 62 78 20 2b 20 62 77 29 20 7b 00 00 00 21 20 | .&&.a->mouse_x.<.bx.+.bw).{...!. |
| 10180 | 20 20 20 20 20 20 20 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 20 3d 20 28 4d 65 6e 75 49 64 29 69 3b | .......a->open_menu.=.(MenuId)i; |
| 101a0 | 00 00 00 1d 20 20 20 20 20 20 20 20 61 2d 3e 68 6f 76 65 72 65 64 5f 69 74 65 6d 20 3d 20 2d 31 | ............a->hovered_item.=.-1 |
| 101c0 | 3b 00 00 00 12 20 20 20 20 20 20 20 20 72 65 64 72 61 77 28 61 29 3b 00 00 00 0f 20 20 20 20 20 | ;............redraw(a);......... |
| 101e0 | 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 7d 00 00 | ...return;..........}........}.. |
| 10200 | 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 49 20 20 69 6e | ......return;......}.......I..in |
| 10220 | 74 20 63 78 20 3d 20 28 61 2d 3e 6d 6f 75 73 65 5f 78 20 2d 20 50 41 44 29 20 2f 20 63 65 6c 6c | t.cx.=.(a->mouse_x.-.PAD)./.cell |
| 10240 | 5f 77 2c 20 63 79 20 3d 20 28 61 2d 3e 6d 6f 75 73 65 5f 79 20 2d 20 50 41 44 29 20 2f 20 63 65 | _w,.cy.=.(a->mouse_y.-.PAD)./.ce |
| 10260 | 6c 6c 5f 68 3b 00 00 00 20 20 20 69 6e 74 20 70 6f 73 20 3d 20 30 2c 20 63 6f 6c 20 3d 20 30 2c | ll_h;......int.pos.=.0,.col.=.0, |
| 10280 | 20 72 6f 77 20 3d 20 30 3b 00 00 00 22 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 | .row.=.0;..."..for.(int.i.=.0;.i |
| 102a0 | 20 3c 20 74 6c 65 6e 3b 20 69 2b 2b 29 20 7b 00 00 00 21 20 20 20 20 69 66 20 28 72 6f 77 20 3d | .<.tlen;.i++).{...!....if.(row.= |
| 102c0 | 3d 20 63 79 20 26 26 20 63 6f 6c 20 3d 3d 20 63 78 29 20 7b 00 00 00 0e 20 20 20 20 20 20 70 6f | =.cy.&&.col.==.cx).{..........po |
| 102e0 | 73 20 3d 20 69 3b 00 00 00 11 20 20 20 20 20 20 67 6f 74 6f 20 66 6f 75 6e 64 3b 00 00 00 05 20 | s.=.i;..........goto.found;..... |
| 10300 | 20 20 20 7d 00 00 00 1a 20 20 20 20 69 66 20 28 74 65 78 74 5b 69 5d 20 3d 3d 20 27 5c 6e 27 29 | ...}........if.(text[i].==.'\n') |
| 10320 | 20 7b 00 00 00 16 20 20 20 20 20 20 69 66 20 28 72 6f 77 20 3d 3d 20 63 79 29 20 7b 00 00 00 10 | .{..........if.(row.==.cy).{.... |
| 10340 | 20 20 20 20 20 20 20 20 70 6f 73 20 3d 20 69 3b 00 00 00 13 20 20 20 20 20 20 20 20 67 6f 74 6f | ........pos.=.i;............goto |
| 10360 | 20 66 6f 75 6e 64 3b 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 0e 20 20 20 20 20 20 63 6f 6c 20 | .found;..........}..........col. |
| 10380 | 3d 20 30 3b 00 00 00 0c 20 20 20 20 20 20 72 6f 77 2b 2b 3b 00 00 00 0a 20 20 20 20 7d 20 65 6c | =.0;..........row++;........}.el |
| 103a0 | 73 65 00 00 00 0c 20 20 20 20 20 20 63 6f 6c 2b 2b 3b 00 00 00 03 20 20 7d 00 00 00 0d 20 20 70 | se..........col++;......}......p |
| 103c0 | 6f 73 20 3d 20 74 6c 65 6e 3b 00 00 00 06 66 6f 75 6e 64 3a 00 00 00 0f 20 20 63 75 72 73 6f 72 | os.=.tlen;....found:......cursor |
| 103e0 | 20 3d 20 70 6f 73 3b 00 00 00 12 20 20 73 65 6c 5f 61 6e 63 68 6f 72 20 3d 20 2d 31 3b 00 00 00 | .=.pos;......sel_anchor.=.-1;... |
| 10400 | 0c 20 20 72 65 64 72 61 77 28 61 29 3b 00 00 00 01 7d 00 00 00 4e 73 74 61 74 69 63 20 76 6f 69 | ...redraw(a);....}...Nstatic.voi |
| 10420 | 64 20 70 74 72 5f 61 78 69 73 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 6f | d.ptr_axis(void.*d,.struct.wl_po |
| 10440 | 69 6e 74 65 72 20 2a 70 2c 20 75 69 6e 74 33 32 5f 74 20 74 2c 20 75 69 6e 74 33 32 5f 74 20 61 | inter.*p,.uint32_t.t,.uint32_t.a |
| 10460 | 78 69 73 2c 00 00 00 25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 6c 5f | xis,...%.....................wl_ |
| 10480 | 66 69 78 65 64 5f 74 20 76 29 20 7b 7d 00 00 00 4b 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 | fixed_t.v).{}...Kstatic.const.st |
| 104a0 | 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 5f 6c 69 73 74 65 6e 65 72 20 70 74 72 5f 6c 69 73 | ruct.wl_pointer_listener.ptr_lis |
| 104c0 | 74 65 6e 65 72 20 3d 20 7b 2e 65 6e 74 65 72 20 3d 20 70 74 72 5f 65 6e 74 65 72 2c 00 00 00 4b | tener.=.{.enter.=.ptr_enter,...K |
| 104e0 | 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 | ................................ |
| 10500 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 6c 65 61 76 65 20 3d | .........................leave.= |
| 10520 | 20 70 74 72 5f 6c 65 61 76 65 2c 00 00 00 4d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .ptr_leave,...M................. |
| 10540 | 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 | ................................ |
| 10560 | 20 20 20 20 20 20 20 2e 6d 6f 74 69 6f 6e 20 3d 20 70 74 72 5f 6d 6f 74 69 6f 6e 2c 00 00 00 4d | ........motion.=.ptr_motion,...M |
| 10580 | 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 | ................................ |
| 105a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 62 75 74 74 6f 6e 20 | .........................button. |
| 105c0 | 3d 20 70 74 72 5f 62 75 74 74 6f 6e 2c 00 00 00 4a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | =.ptr_button,...J............... |
| 105e0 | 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 | ................................ |
| 10600 | 20 20 20 20 20 20 20 20 20 2e 61 78 69 73 20 3d 20 70 74 72 5f 61 78 69 73 7d 3b 00 00 00 00 00 | ..........axis.=.ptr_axis};..... |
| 10620 | 00 00 50 73 74 61 74 69 63 20 76 6f 69 64 20 6b 62 5f 6b 65 79 6d 61 70 28 76 6f 69 64 20 2a 64 | ..Pstatic.void.kb_keymap(void.*d |
| 10640 | 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 62 2c 20 75 69 6e 74 33 32 | ,.struct.wl_keyboard.*kb,.uint32 |
| 10660 | 5f 74 20 66 6d 74 2c 20 69 6e 74 33 32 5f 74 20 66 64 2c 00 00 00 26 20 20 20 20 20 20 20 20 20 | _t.fmt,.int32_t.fd,...&......... |
| 10680 | 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 | .............uint32_t.size).{... |
| 106a0 | 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 30 20 20 69 66 20 28 66 | ...struct.app.*a.=.d;...0..if.(f |
| 106c0 | 6d 74 20 21 3d 20 57 4c 5f 4b 45 59 42 4f 41 52 44 5f 4b 45 59 4d 41 50 5f 46 4f 52 4d 41 54 5f | mt.!=.WL_KEYBOARD_KEYMAP_FORMAT_ |
| 106e0 | 58 4b 42 5f 56 31 29 20 7b 00 00 00 0e 20 20 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 0b 20 | XKB_V1).{........close(fd);..... |
| 10700 | 20 20 20 72 65 74 75 72 6e 3b 00 00 00 03 20 20 7d 00 00 00 3c 20 20 63 68 61 72 20 2a 73 20 3d | ...return;......}...<..char.*s.= |
| 10720 | 20 6d 6d 61 70 28 4e 55 4c 4c 2c 20 73 69 7a 65 2c 20 50 52 4f 54 5f 52 45 41 44 2c 20 4d 41 50 | .mmap(NULL,.size,.PROT_READ,.MAP |
| 10740 | 5f 50 52 49 56 41 54 45 2c 20 66 64 2c 20 30 29 3b 00 00 00 0c 20 20 63 6c 6f 73 65 28 66 64 29 | _PRIVATE,.fd,.0);......close(fd) |
| 10760 | 3b 00 00 00 16 20 20 69 66 20 28 73 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 00 00 00 0b 20 | ;......if.(s.==.MAP_FAILED)..... |
| 10780 | 20 20 20 72 65 74 75 72 6e 3b 00 00 00 15 20 20 69 66 20 28 61 2d 3e 78 6b 62 5f 73 74 61 74 65 | ...return;......if.(a->xkb_state |
| 107a0 | 29 20 7b 00 00 00 22 20 20 20 20 78 6b 62 5f 73 74 61 74 65 5f 75 6e 72 65 66 28 61 2d 3e 78 6b | ).{..."....xkb_state_unref(a->xk |
| 107c0 | 62 5f 73 74 61 74 65 29 3b 00 00 00 18 20 20 20 20 61 2d 3e 78 6b 62 5f 73 74 61 74 65 20 3d 20 | b_state);........a->xkb_state.=. |
| 107e0 | 4e 55 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 16 20 20 69 66 20 28 61 2d 3e 78 6b 62 5f 6b 65 79 | NULL;......}......if.(a->xkb_key |
| 10800 | 6d 61 70 29 20 7b 00 00 00 24 20 20 20 20 78 6b 62 5f 6b 65 79 6d 61 70 5f 75 6e 72 65 66 28 61 | map).{...$....xkb_keymap_unref(a |
| 10820 | 2d 3e 78 6b 62 5f 6b 65 79 6d 61 70 29 3b 00 00 00 19 20 20 20 20 61 2d 3e 78 6b 62 5f 6b 65 79 | ->xkb_keymap);........a->xkb_key |
| 10840 | 6d 61 70 20 3d 20 4e 55 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 2d 20 20 61 2d 3e 78 6b 62 5f 6b | map.=.NULL;......}...-..a->xkb_k |
| 10860 | 65 79 6d 61 70 20 3d 20 78 6b 62 5f 6b 65 79 6d 61 70 5f 6e 65 77 5f 66 72 6f 6d 5f 73 74 72 69 | eymap.=.xkb_keymap_new_from_stri |
| 10880 | 6e 67 28 00 00 00 4d 20 20 20 20 20 20 61 2d 3e 78 6b 62 5f 63 74 78 2c 20 73 2c 20 58 4b 42 5f | ng(...M......a->xkb_ctx,.s,.XKB_ |
| 108a0 | 4b 45 59 4d 41 50 5f 46 4f 52 4d 41 54 5f 54 45 58 54 5f 56 31 2c 20 58 4b 42 5f 4b 45 59 4d 41 | KEYMAP_FORMAT_TEXT_V1,.XKB_KEYMA |
| 108c0 | 50 5f 43 4f 4d 50 49 4c 45 5f 4e 4f 5f 46 4c 41 47 53 29 3b 00 00 00 12 20 20 6d 75 6e 6d 61 70 | P_COMPILE_NO_FLAGS);......munmap |
| 108e0 | 28 73 2c 20 73 69 7a 65 29 3b 00 00 00 14 20 20 69 66 20 28 61 2d 3e 78 6b 62 5f 6b 65 79 6d 61 | (s,.size);......if.(a->xkb_keyma |
| 10900 | 70 29 00 00 00 30 20 20 20 20 61 2d 3e 78 6b 62 5f 73 74 61 74 65 20 3d 20 78 6b 62 5f 73 74 61 | p)...0....a->xkb_state.=.xkb_sta |
| 10920 | 74 65 5f 6e 65 77 28 61 2d 3e 78 6b 62 5f 6b 65 79 6d 61 70 29 3b 00 00 00 01 7d 00 00 00 41 73 | te_new(a->xkb_keymap);....}...As |
| 10940 | 74 61 74 69 63 20 76 6f 69 64 20 6b 62 5f 65 6e 74 65 72 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 | tatic.void.kb_enter(void.*d,.str |
| 10960 | 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 62 2c 20 75 69 6e 74 33 32 5f 74 20 73 2c | uct.wl_keyboard.*kb,.uint32_t.s, |
| 10980 | 00 00 00 42 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 | ...B.....................struct. |
| 109a0 | 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 2c 20 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 | wl_surface.*su,.struct.wl_array. |
| 109c0 | 2a 6b 29 20 7b 7d 00 00 00 41 73 74 61 74 69 63 20 76 6f 69 64 20 6b 62 5f 6c 65 61 76 65 28 76 | *k).{}...Astatic.void.kb_leave(v |
| 109e0 | 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 62 2c 20 | oid.*d,.struct.wl_keyboard.*kb,. |
| 10a00 | 75 69 6e 74 33 32 5f 74 20 73 2c 00 00 00 2d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | uint32_t.s,...-................. |
| 10a20 | 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 29 20 7b 00 00 00 14 | ....struct.wl_surface.*su).{.... |
| 10a40 | 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 1d 20 20 73 74 72 75 63 74 | ..struct.app.*a.=.d;......struct |
| 10a60 | 20 69 74 69 6d 65 72 73 70 65 63 20 74 73 20 3d 20 7b 30 7d 3b 00 00 00 2e 20 20 74 69 6d 65 72 | .itimerspec.ts.=.{0};......timer |
| 10a80 | 66 64 5f 73 65 74 74 69 6d 65 28 61 2d 3e 72 65 70 65 61 74 5f 66 64 2c 20 30 2c 20 26 74 73 2c | fd_settime(a->repeat_fd,.0,.&ts, |
| 10aa0 | 20 4e 55 4c 4c 29 3b 00 00 00 01 7d 00 00 00 50 73 74 61 74 69 63 20 76 6f 69 64 20 6b 62 5f 6b | .NULL);....}...Pstatic.void.kb_k |
| 10ac0 | 65 79 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a | ey(void.*d,.struct.wl_keyboard.* |
| 10ae0 | 6b 62 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 2c 20 75 69 6e 74 33 32 5f 74 20 74 2c | kb,.uint32_t.serial,.uint32_t.t, |
| 10b00 | 00 00 00 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 | ...2...................uint32_t. |
| 10b20 | 6b 65 79 2c 20 75 69 6e 74 33 32 5f 74 20 73 74 61 74 65 29 20 7b 00 00 00 14 20 20 73 74 72 75 | key,.uint32_t.state).{......stru |
| 10b40 | 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 1a 20 20 61 2d 3e 6c 61 73 74 5f 73 65 72 69 | ct.app.*a.=.d;......a->last_seri |
| 10b60 | 61 6c 20 3d 20 73 65 72 69 61 6c 3b 00 00 00 2f 20 20 69 66 20 28 73 74 61 74 65 20 3d 3d 20 57 | al.=.serial;.../..if.(state.==.W |
| 10b80 | 4c 5f 4b 45 59 42 4f 41 52 44 5f 4b 45 59 5f 53 54 41 54 45 5f 50 52 45 53 53 45 44 29 20 7b 00 | L_KEYBOARD_KEY_STATE_PRESSED).{. |
| 10ba0 | 00 00 18 20 20 20 20 70 72 6f 63 65 73 73 5f 6b 65 79 28 61 2c 20 6b 65 79 29 3b 00 00 00 18 20 | .......process_key(a,.key);..... |
| 10bc0 | 20 20 20 61 2d 3e 72 65 70 65 61 74 5f 6b 65 79 20 3d 20 6b 65 79 3b 00 00 00 1d 20 20 20 20 69 | ...a->repeat_key.=.key;........i |
| 10be0 | 66 20 28 61 2d 3e 72 65 70 65 61 74 5f 72 61 74 65 20 3e 20 30 29 20 7b 00 00 00 1e 20 20 20 20 | f.(a->repeat_rate.>.0).{........ |
| 10c00 | 20 20 73 74 72 75 63 74 20 69 74 69 6d 65 72 73 70 65 63 20 74 73 20 3d 20 7b 00 00 00 38 20 20 | ..struct.itimerspec.ts.=.{...8.. |
| 10c20 | 20 20 20 20 20 20 20 20 2e 69 74 5f 76 61 6c 75 65 20 3d 20 7b 2e 74 76 5f 73 65 63 20 3d 20 61 | .........it_value.=.{.tv_sec.=.a |
| 10c40 | 2d 3e 72 65 70 65 61 74 5f 64 65 6c 61 79 20 2f 20 31 30 30 30 2c 00 00 00 47 20 20 20 20 20 20 | ->repeat_delay./.1000,...G...... |
| 10c60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 74 76 5f 6e 73 65 63 20 3d 20 28 61 2d 3e | ..................tv_nsec.=.(a-> |
| 10c80 | 72 65 70 65 61 74 5f 64 65 6c 61 79 20 25 20 31 30 30 30 29 20 2a 20 31 30 30 30 30 30 30 4c 7d | repeat_delay.%.1000).*.1000000L} |
| 10ca0 | 2c 00 00 00 50 20 20 20 20 20 20 20 20 20 20 2e 69 74 5f 69 6e 74 65 72 76 61 6c 20 3d 20 7b 2e | ,...P...........it_interval.=.{. |
| 10cc0 | 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 30 30 30 | tv_sec.=.0,..tv_nsec.=.100000000 |
| 10ce0 | 30 4c 20 2f 20 61 2d 3e 72 65 70 65 61 74 5f 72 61 74 65 7d 2c 00 00 00 08 20 20 20 20 20 20 7d | 0L./.a->repeat_rate},..........} |
| 10d00 | 3b 00 00 00 32 20 20 20 20 20 20 74 69 6d 65 72 66 64 5f 73 65 74 74 69 6d 65 28 61 2d 3e 72 65 | ;...2......timerfd_settime(a->re |
| 10d20 | 70 65 61 74 5f 66 64 2c 20 30 2c 20 26 74 73 2c 20 4e 55 4c 4c 29 3b 00 00 00 05 20 20 20 20 7d | peat_fd,.0,.&ts,.NULL);........} |
| 10d40 | 00 00 00 0a 20 20 7d 20 65 6c 73 65 20 7b 00 00 00 1f 20 20 20 20 73 74 72 75 63 74 20 69 74 69 | ......}.else.{........struct.iti |
| 10d60 | 6d 65 72 73 70 65 63 20 74 73 20 3d 20 7b 30 7d 3b 00 00 00 30 20 20 20 20 74 69 6d 65 72 66 64 | merspec.ts.=.{0};...0....timerfd |
| 10d80 | 5f 73 65 74 74 69 6d 65 28 61 2d 3e 72 65 70 65 61 74 5f 66 64 2c 20 30 2c 20 26 74 73 2c 20 4e | _settime(a->repeat_fd,.0,.&ts,.N |
| 10da0 | 55 4c 4c 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 45 73 74 61 74 69 63 20 76 6f 69 64 | ULL);......}....}...Estatic.void |
| 10dc0 | 20 6b 62 5f 6d 6f 64 69 66 69 65 72 73 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c | .kb_modifiers(void.*d,.struct.wl |
| 10de0 | 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 62 2c 20 75 69 6e 74 33 32 5f 74 20 73 2c 00 00 00 45 20 20 | _keyboard.*kb,.uint32_t.s,...E.. |
| 10e00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 | .......................uint32_t. |
| 10e20 | 64 65 70 2c 20 75 69 6e 74 33 32 5f 74 20 6c 61 74 2c 20 75 69 6e 74 33 32 5f 74 20 6c 6f 63 6b | dep,.uint32_t.lat,.uint32_t.lock |
| 10e40 | 65 64 2c 00 00 00 28 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 | ed,...(......................... |
| 10e60 | 75 69 6e 74 33 32 5f 74 20 67 72 70 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 | uint32_t.grp).{......struct.app. |
| 10e80 | 2a 61 20 3d 20 64 3b 00 00 00 13 20 20 69 66 20 28 61 2d 3e 78 6b 62 5f 73 74 61 74 65 29 00 00 | *a.=.d;......if.(a->xkb_state).. |
| 10ea0 | 00 45 20 20 20 20 78 6b 62 5f 73 74 61 74 65 5f 75 70 64 61 74 65 5f 6d 61 73 6b 28 61 2d 3e 78 | .E....xkb_state_update_mask(a->x |
| 10ec0 | 6b 62 5f 73 74 61 74 65 2c 20 64 65 70 2c 20 6c 61 74 2c 20 6c 6f 63 6b 65 64 2c 20 30 2c 20 30 | kb_state,.dep,.lat,.locked,.0,.0 |
| 10ee0 | 2c 20 67 72 70 29 3b 00 00 00 01 7d 00 00 00 44 73 74 61 74 69 63 20 76 6f 69 64 20 6b 62 5f 72 | ,.grp);....}...Dstatic.void.kb_r |
| 10f00 | 65 70 65 61 74 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 | epeat(void.*d,.struct.wl_keyboar |
| 10f20 | 64 20 2a 6b 62 2c 20 69 6e 74 33 32 5f 74 20 72 61 74 65 2c 00 00 00 26 20 20 20 20 20 20 20 20 | d.*kb,.int32_t.rate,...&........ |
| 10f40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 33 32 5f 74 20 64 65 6c 61 79 29 20 7b 00 00 | ..............int32_t.delay).{.. |
| 10f60 | 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 18 20 20 61 2d 3e 72 | ....struct.app.*a.=.d;......a->r |
| 10f80 | 65 70 65 61 74 5f 72 61 74 65 20 3d 20 72 61 74 65 3b 00 00 00 1a 20 20 61 2d 3e 72 65 70 65 61 | epeat_rate.=.rate;......a->repea |
| 10fa0 | 74 5f 64 65 6c 61 79 20 3d 20 64 65 6c 61 79 3b 00 00 00 01 7d 00 00 00 3e 73 74 61 74 69 63 20 | t_delay.=.delay;....}...>static. |
| 10fc0 | 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 5f 6c 69 73 74 65 6e 65 | const.struct.wl_keyboard_listene |
| 10fe0 | 72 20 6b 65 79 62 6f 61 72 64 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 18 20 20 20 20 2e | r.keyboard_listener.=.{......... |
| 11000 | 6b 65 79 6d 61 70 20 3d 20 6b 62 5f 6b 65 79 6d 61 70 2c 00 00 00 16 20 20 20 20 2e 65 6e 74 65 | keymap.=.kb_keymap,.........ente |
| 11020 | 72 20 3d 20 6b 62 5f 65 6e 74 65 72 2c 00 00 00 16 20 20 20 20 2e 6c 65 61 76 65 20 3d 20 6b 62 | r.=.kb_enter,.........leave.=.kb |
| 11040 | 5f 6c 65 61 76 65 2c 00 00 00 12 20 20 20 20 2e 6b 65 79 20 3d 20 6b 62 5f 6b 65 79 2c 00 00 00 | _leave,.........key.=.kb_key,... |
| 11060 | 1e 20 20 20 20 2e 6d 6f 64 69 66 69 65 72 73 20 3d 20 6b 62 5f 6d 6f 64 69 66 69 65 72 73 2c 00 | ......modifiers.=.kb_modifiers,. |
| 11080 | 00 00 1e 20 20 20 20 2e 72 65 70 65 61 74 5f 69 6e 66 6f 20 3d 20 6b 62 5f 72 65 70 65 61 74 7d | ........repeat_info.=.kb_repeat} |
| 110a0 | 3b 00 00 00 00 00 00 00 45 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 61 74 5f 63 61 70 73 28 76 | ;.......Estatic.void.seat_caps(v |
| 110c0 | 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 73 65 61 74 20 2a 73 65 61 74 2c 20 75 69 | oid.*d,.struct.wl_seat.*seat,.ui |
| 110e0 | 6e 74 33 32 5f 74 20 63 61 70 73 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a | nt32_t.caps).{......struct.app.* |
| 11100 | 61 20 3d 20 64 3b 00 00 00 3d 20 20 69 66 20 28 28 63 61 70 73 20 26 20 57 4c 5f 53 45 41 54 5f | a.=.d;...=..if.((caps.&.WL_SEAT_ |
| 11120 | 43 41 50 41 42 49 4c 49 54 59 5f 4b 45 59 42 4f 41 52 44 29 20 26 26 20 21 61 2d 3e 6b 65 79 62 | CAPABILITY_KEYBOARD).&&.!a->keyb |
| 11140 | 6f 61 72 64 29 20 7b 00 00 00 2d 20 20 20 20 61 2d 3e 6b 65 79 62 6f 61 72 64 20 3d 20 77 6c 5f | oard).{...-....a->keyboard.=.wl_ |
| 11160 | 73 65 61 74 5f 67 65 74 5f 6b 65 79 62 6f 61 72 64 28 73 65 61 74 29 3b 00 00 00 41 20 20 20 20 | seat_get_keyboard(seat);...A.... |
| 11180 | 77 6c 5f 6b 65 79 62 6f 61 72 64 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2d 3e 6b 65 79 62 | wl_keyboard_add_listener(a->keyb |
| 111a0 | 6f 61 72 64 2c 20 26 6b 65 79 62 6f 61 72 64 5f 6c 69 73 74 65 6e 65 72 2c 20 61 29 3b 00 00 00 | oard,.&keyboard_listener,.a);... |
| 111c0 | 44 20 20 7d 20 65 6c 73 65 20 69 66 20 28 21 28 63 61 70 73 20 26 20 57 4c 5f 53 45 41 54 5f 43 | D..}.else.if.(!(caps.&.WL_SEAT_C |
| 111e0 | 41 50 41 42 49 4c 49 54 59 5f 4b 45 59 42 4f 41 52 44 29 20 26 26 20 61 2d 3e 6b 65 79 62 6f 61 | APABILITY_KEYBOARD).&&.a->keyboa |
| 11200 | 72 64 29 20 7b 00 00 00 25 20 20 20 20 77 6c 5f 6b 65 79 62 6f 61 72 64 5f 72 65 6c 65 61 73 65 | rd).{...%....wl_keyboard_release |
| 11220 | 28 61 2d 3e 6b 65 79 62 6f 61 72 64 29 3b 00 00 00 17 20 20 20 20 61 2d 3e 6b 65 79 62 6f 61 72 | (a->keyboard);........a->keyboar |
| 11240 | 64 20 3d 20 4e 55 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 3b 20 20 69 66 20 28 28 63 61 70 73 20 | d.=.NULL;......}...;..if.((caps. |
| 11260 | 26 20 57 4c 5f 53 45 41 54 5f 43 41 50 41 42 49 4c 49 54 59 5f 50 4f 49 4e 54 45 52 29 20 26 26 | &.WL_SEAT_CAPABILITY_POINTER).&& |
| 11280 | 20 21 61 2d 3e 70 6f 69 6e 74 65 72 29 20 7b 00 00 00 2b 20 20 20 20 61 2d 3e 70 6f 69 6e 74 65 | .!a->pointer).{...+....a->pointe |
| 112a0 | 72 20 3d 20 77 6c 5f 73 65 61 74 5f 67 65 74 5f 70 6f 69 6e 74 65 72 28 73 65 61 74 29 3b 00 00 | r.=.wl_seat_get_pointer(seat);.. |
| 112c0 | 00 3a 20 20 20 20 77 6c 5f 70 6f 69 6e 74 65 72 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2d | .:....wl_pointer_add_listener(a- |
| 112e0 | 3e 70 6f 69 6e 74 65 72 2c 20 26 70 74 72 5f 6c 69 73 74 65 6e 65 72 2c 20 61 29 3b 00 00 00 42 | >pointer,.&ptr_listener,.a);...B |
| 11300 | 20 20 7d 20 65 6c 73 65 20 69 66 20 28 21 28 63 61 70 73 20 26 20 57 4c 5f 53 45 41 54 5f 43 41 | ..}.else.if.(!(caps.&.WL_SEAT_CA |
| 11320 | 50 41 42 49 4c 49 54 59 5f 50 4f 49 4e 54 45 52 29 20 26 26 20 61 2d 3e 70 6f 69 6e 74 65 72 29 | PABILITY_POINTER).&&.a->pointer) |
| 11340 | 20 7b 00 00 00 23 20 20 20 20 77 6c 5f 70 6f 69 6e 74 65 72 5f 72 65 6c 65 61 73 65 28 61 2d 3e | .{...#....wl_pointer_release(a-> |
| 11360 | 70 6f 69 6e 74 65 72 29 3b 00 00 00 16 20 20 20 20 61 2d 3e 70 6f 69 6e 74 65 72 20 3d 20 4e 55 | pointer);........a->pointer.=.NU |
| 11380 | 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 49 73 74 61 74 69 63 20 76 6f 69 64 20 73 | LL;......}....}...Istatic.void.s |
| 113a0 | 65 61 74 5f 6e 61 6d 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 73 65 61 74 | eat_name(void.*d,.struct.wl_seat |
| 113c0 | 20 2a 73 65 61 74 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6e 61 6d 65 29 20 7b 7d 00 00 00 50 | .*seat,.const.char.*name).{}...P |
| 113e0 | 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 73 65 61 74 5f 6c 69 73 74 | static.const.struct.wl_seat_list |
| 11400 | 65 6e 65 72 20 73 65 61 74 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 2e 63 61 70 61 62 69 6c 69 74 | ener.seat_listener.=.{.capabilit |
| 11420 | 69 65 73 20 3d 20 73 65 61 74 5f 63 61 70 73 2c 00 00 00 49 20 20 20 20 20 20 20 20 20 20 20 20 | ies.=.seat_caps,...I............ |
| 11440 | 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 | ................................ |
| 11460 | 20 20 20 20 20 20 20 20 20 20 2e 6e 61 6d 65 20 3d 20 73 65 61 74 5f 6e 61 6d 65 7d 3b 00 00 00 | ...........name.=.seat_name};... |
| 11480 | 00 00 00 00 43 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 5f 67 6c 6f 62 61 6c 28 76 6f 69 64 | ....Cstatic.void.reg_global(void |
| 114a0 | 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 2c 20 75 69 6e 74 | .*d,.struct.wl_registry.*r,.uint |
| 114c0 | 33 32 5f 74 20 69 64 2c 00 00 00 37 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | 32_t.id,...7.................... |
| 114e0 | 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 66 61 63 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 | ...const.char.*iface,.uint32_t.v |
| 11500 | 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 26 20 | ).{......struct.app.*a.=.d;...&. |
| 11520 | 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 77 6c 5f 63 6f 6d 70 6f 73 69 74 | .if.(!strcmp(iface,."wl_composit |
| 11540 | 6f 72 22 29 29 00 00 00 43 20 20 20 20 61 2d 3e 63 6f 6d 70 20 3d 20 77 6c 5f 72 65 67 69 73 74 | or"))...C....a->comp.=.wl_regist |
| 11560 | 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 69 6e | ry_bind(r,.id,.&wl_compositor_in |
| 11580 | 74 65 72 66 61 63 65 2c 20 34 29 3b 00 00 00 24 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 | terface,.4);...$..else.if.(!strc |
| 115a0 | 6d 70 28 69 66 61 63 65 2c 20 22 77 6c 5f 73 68 6d 22 29 29 00 00 00 3b 20 20 20 20 61 2d 3e 73 | mp(iface,."wl_shm"))...;....a->s |
| 115c0 | 68 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 77 6c | hm.=.wl_registry_bind(r,.id,.&wl |
| 115e0 | 5f 73 68 6d 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 2b 20 20 65 6c 73 65 20 69 66 | _shm_interface,.1);...+..else.if |
| 11600 | 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 29 | .(!strcmp(iface,."xdg_wm_base")) |
| 11620 | 20 7b 00 00 00 3f 20 20 20 20 61 2d 3e 77 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 | .{...?....a->wm.=.wl_registry_bi |
| 11640 | 6e 64 28 72 2c 20 69 64 2c 20 26 78 64 67 5f 77 6d 5f 62 61 73 65 5f 69 6e 74 65 72 66 61 63 65 | nd(r,.id,.&xdg_wm_base_interface |
| 11660 | 2c 20 31 29 3b 00 00 00 35 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 61 64 64 5f 6c 69 73 | ,.1);...5....xdg_wm_base_add_lis |
| 11680 | 74 65 6e 65 72 28 61 2d 3e 77 6d 2c 20 26 77 6d 5f 6c 69 73 74 65 6e 65 72 2c 20 61 29 3b 00 00 | tener(a->wm,.&wm_listener,.a);.. |
| 116a0 | 00 29 20 20 7d 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 77 | .)..}.else.if.(!strcmp(iface,."w |
| 116c0 | 6c 5f 73 65 61 74 22 29 29 20 7b 00 00 00 3d 20 20 20 20 61 2d 3e 73 65 61 74 20 3d 20 77 6c 5f | l_seat")).{...=....a->seat.=.wl_ |
| 116e0 | 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 77 6c 5f 73 65 61 74 5f 69 6e | registry_bind(r,.id,.&wl_seat_in |
| 11700 | 74 65 72 66 61 63 65 2c 20 35 29 3b 00 00 00 35 20 20 20 20 77 6c 5f 73 65 61 74 5f 61 64 64 5f | terface,.5);...5....wl_seat_add_ |
| 11720 | 6c 69 73 74 65 6e 65 72 28 61 2d 3e 73 65 61 74 2c 20 26 73 65 61 74 5f 6c 69 73 74 65 6e 65 72 | listener(a->seat,.&seat_listener |
| 11740 | 2c 20 61 29 3b 00 00 00 36 20 20 7d 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 | ,.a);...6..}.else.if.(!strcmp(if |
| 11760 | 61 63 65 2c 20 22 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 5f 6d 61 6e 61 67 65 72 22 29 29 00 | ace,."wl_data_device_manager")). |
| 11780 | 00 00 4b 20 20 20 20 61 2d 3e 64 64 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 | ..K....a->ddm.=.wl_registry_bind |
| 117a0 | 28 72 2c 20 69 64 2c 20 26 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 5f 6d 61 6e 61 67 65 72 5f | (r,.id,.&wl_data_device_manager_ |
| 117c0 | 69 6e 74 65 72 66 61 63 65 2c 20 33 29 3b 00 00 00 01 7d 00 00 00 46 73 74 61 74 69 63 20 76 6f | interface,.3);....}...Fstatic.vo |
| 117e0 | 69 64 20 72 65 67 5f 72 65 6d 6f 76 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c | id.reg_remove(void.*d,.struct.wl |
| 11800 | 5f 72 65 67 69 73 74 72 79 20 2a 72 2c 20 75 69 6e 74 33 32 5f 74 20 69 64 29 20 7b 7d 00 00 00 | _registry.*r,.uint32_t.id).{}... |
| 11820 | 39 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 | 9static.const.struct.wl_registry |
| 11840 | 5f 6c 69 73 74 65 6e 65 72 20 72 65 67 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 37 20 20 | _listener.reg_listener.=.{...7.. |
| 11860 | 20 20 2e 67 6c 6f 62 61 6c 20 3d 20 72 65 67 5f 67 6c 6f 62 61 6c 2c 20 2e 67 6c 6f 62 61 6c 5f | ...global.=.reg_global,..global_ |
| 11880 | 72 65 6d 6f 76 65 20 3d 20 72 65 67 5f 72 65 6d 6f 76 65 7d 3b 00 00 00 00 00 00 00 10 69 6e 74 | remove.=.reg_remove};........int |
| 118a0 | 20 6d 61 69 6e 28 76 6f 69 64 29 20 7b 00 00 00 15 20 20 69 66 20 28 21 6c 6f 61 64 5f 66 6f 6e | .main(void).{......if.(!load_fon |
| 118c0 | 74 28 29 29 20 7b 00 00 00 3c 20 20 20 20 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 66 | t()).{...<....fprintf(stderr,."f |
| 118e0 | 61 69 6c 65 64 20 74 6f 20 6c 6f 61 64 20 66 6f 6e 74 3a 20 25 73 5c 6e 22 2c 20 46 4f 4e 54 5f | ailed.to.load.font:.%s\n",.FONT_ |
| 11900 | 4e 41 4d 45 29 3b 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 03 20 20 7d 00 00 | NAME);........return.1;......}.. |
| 11920 | 00 00 00 00 00 15 20 20 73 74 72 75 63 74 20 61 70 70 20 61 20 3d 20 7b 30 7d 3b 00 00 00 0c 20 | ........struct.app.a.=.{0};..... |
| 11940 | 20 61 2e 77 20 3d 20 36 34 30 3b 00 00 00 0c 20 20 61 2e 68 20 3d 20 34 38 30 3b 00 00 00 15 20 | .a.w.=.640;......a.h.=.480;..... |
| 11960 | 20 61 2e 72 65 70 65 61 74 5f 72 61 74 65 20 3d 20 32 35 3b 00 00 00 17 20 20 61 2e 72 65 70 65 | .a.repeat_rate.=.25;......a.repe |
| 11980 | 61 74 5f 64 65 6c 61 79 20 3d 20 34 30 30 3b 00 00 00 1a 20 20 61 2e 6f 70 65 6e 5f 6d 65 6e 75 | at_delay.=.400;......a.open_menu |
| 119a0 | 20 3d 20 4d 45 4e 55 5f 4e 4f 4e 45 3b 00 00 00 16 20 20 61 2e 68 6f 76 65 72 65 64 5f 69 74 65 | .=.MENU_NONE;......a.hovered_ite |
| 119c0 | 6d 20 3d 20 2d 31 3b 00 00 00 00 00 00 00 34 20 20 61 2e 78 6b 62 5f 63 74 78 20 3d 20 78 6b 62 | m.=.-1;.......4..a.xkb_ctx.=.xkb |
| 119e0 | 5f 63 6f 6e 74 65 78 74 5f 6e 65 77 28 58 4b 42 5f 43 4f 4e 54 45 58 54 5f 4e 4f 5f 46 4c 41 47 | _context_new(XKB_CONTEXT_NO_FLAG |
| 11a00 | 53 29 3b 00 00 00 13 20 20 69 66 20 28 21 61 2e 78 6b 62 5f 63 74 78 29 20 7b 00 00 00 2e 20 20 | S);......if.(!a.xkb_ctx).{...... |
| 11a20 | 20 20 66 70 75 74 73 28 22 78 6b 62 5f 63 6f 6e 74 65 78 74 5f 6e 65 77 20 66 61 69 6c 65 64 5c | ..fputs("xkb_context_new.failed\ |
| 11a40 | 6e 22 2c 20 73 74 64 65 72 72 29 3b 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 | n",.stderr);........return.1;... |
| 11a60 | 03 20 20 7d 00 00 00 00 00 00 00 4c 20 20 61 2e 72 65 70 65 61 74 5f 66 64 20 3d 20 74 69 6d 65 | ...}.......L..a.repeat_fd.=.time |
| 11a80 | 72 66 64 5f 63 72 65 61 74 65 28 43 4c 4f 43 4b 5f 4d 4f 4e 4f 54 4f 4e 49 43 2c 20 54 46 44 5f | rfd_create(CLOCK_MONOTONIC,.TFD_ |
| 11aa0 | 43 4c 4f 45 58 45 43 20 7c 20 54 46 44 5f 4e 4f 4e 42 4c 4f 43 4b 29 3b 00 00 00 18 20 20 69 66 | CLOEXEC.|.TFD_NONBLOCK);......if |
| 11ac0 | 20 28 61 2e 72 65 70 65 61 74 5f 66 64 20 3c 20 30 29 20 7b 00 00 00 1d 20 20 20 20 70 65 72 72 | .(a.repeat_fd.<.0).{........perr |
| 11ae0 | 6f 72 28 22 74 69 6d 65 72 66 64 5f 63 72 65 61 74 65 22 29 3b 00 00 00 0d 20 20 20 20 72 65 74 | or("timerfd_create");........ret |
| 11b00 | 75 72 6e 20 31 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 21 20 20 61 2e 64 20 3d 20 77 6c 5f | urn.1;......}.......!..a.d.=.wl_ |
| 11b20 | 64 69 73 70 6c 61 79 5f 63 6f 6e 6e 65 63 74 28 4e 55 4c 4c 29 3b 00 00 00 0d 20 20 69 66 20 28 | display_connect(NULL);......if.( |
| 11b40 | 21 61 2e 64 29 20 7b 00 00 00 39 20 20 20 20 66 70 75 74 73 28 22 63 61 6e 6e 6f 74 20 63 6f 6e | !a.d).{...9....fputs("cannot.con |
| 11b60 | 6e 65 63 74 20 74 6f 20 57 61 79 6c 61 6e 64 20 64 69 73 70 6c 61 79 5c 6e 22 2c 20 73 74 64 65 | nect.to.Wayland.display\n",.stde |
| 11b80 | 72 72 29 3b 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 03 20 20 7d 00 00 00 00 | rr);........return.1;......}.... |
| 11ba0 | 00 00 00 27 20 20 61 2e 72 65 67 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 72 65 67 | ...'..a.reg.=.wl_display_get_reg |
| 11bc0 | 69 73 74 72 79 28 61 2e 64 29 3b 00 00 00 35 20 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 61 64 64 | istry(a.d);...5..wl_registry_add |
| 11be0 | 5f 6c 69 73 74 65 6e 65 72 28 61 2e 72 65 67 2c 20 26 72 65 67 5f 6c 69 73 74 65 6e 65 72 2c 20 | _listener(a.reg,.®_listener,. |
| 11c00 | 26 61 29 3b 00 00 00 1c 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 61 | &a);......wl_display_roundtrip(a |
| 11c20 | 2e 64 29 3b 00 00 00 00 00 00 00 2e 20 20 69 66 20 28 21 61 2e 63 6f 6d 70 20 7c 7c 20 21 61 2e | .d);..........if.(!a.comp.||.!a. |
| 11c40 | 73 68 6d 20 7c 7c 20 21 61 2e 77 6d 20 7c 7c 20 21 61 2e 73 65 61 74 29 20 7b 00 00 00 38 20 20 | shm.||.!a.wm.||.!a.seat).{...8.. |
| 11c60 | 20 20 66 70 75 74 73 28 22 6d 69 73 73 69 6e 67 20 72 65 71 75 69 72 65 64 20 57 61 79 6c 61 6e | ..fputs("missing.required.Waylan |
| 11c80 | 64 20 67 6c 6f 62 61 6c 73 5c 6e 22 2c 20 73 74 64 65 72 72 29 3b 00 00 00 0d 20 20 20 20 72 65 | d.globals\n",.stderr);........re |
| 11ca0 | 74 75 72 6e 20 31 3b 00 00 00 03 20 20 7d 00 00 00 1c 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 | turn.1;......}......wl_display_r |
| 11cc0 | 6f 75 6e 64 74 72 69 70 28 61 2e 64 29 3b 00 00 00 00 00 00 00 18 20 20 69 66 20 28 61 2e 64 64 | oundtrip(a.d);..........if.(a.dd |
| 11ce0 | 6d 20 26 26 20 61 2e 73 65 61 74 29 20 7b 00 00 00 41 20 20 20 20 61 2e 64 64 20 3d 20 77 6c 5f | m.&&.a.seat).{...A....a.dd.=.wl_ |
| 11d00 | 64 61 74 61 5f 64 65 76 69 63 65 5f 6d 61 6e 61 67 65 72 5f 67 65 74 5f 64 61 74 61 5f 64 65 76 | data_device_manager_get_data_dev |
| 11d20 | 69 63 65 28 61 2e 64 64 6d 2c 20 61 2e 73 65 61 74 29 3b 00 00 00 38 20 20 20 20 77 6c 5f 64 61 | ice(a.ddm,.a.seat);...8....wl_da |
| 11d40 | 74 61 5f 64 65 76 69 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 64 64 2c 20 26 64 64 | ta_device_add_listener(a.dd,.&dd |
| 11d60 | 5f 6c 69 73 74 65 6e 65 72 2c 20 26 61 29 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 2e 20 20 | _listener,.&a);......}.......... |
| 11d80 | 61 2e 77 73 20 3d 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 63 72 65 61 74 65 5f 73 75 72 66 | a.ws.=.wl_compositor_create_surf |
| 11da0 | 61 63 65 28 61 2e 63 6f 6d 70 29 3b 00 00 00 31 20 20 61 2e 78 73 20 3d 20 78 64 67 5f 77 6d 5f | ace(a.comp);...1..a.xs.=.xdg_wm_ |
| 11dc0 | 62 61 73 65 5f 67 65 74 5f 78 64 67 5f 73 75 72 66 61 63 65 28 61 2e 77 6d 2c 20 61 2e 77 73 29 | base_get_xdg_surface(a.wm,.a.ws) |
| 11de0 | 3b 00 00 00 33 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 | ;...3..xdg_surface_add_listener( |
| 11e00 | 61 2e 78 73 2c 20 26 78 73 5f 6c 69 73 74 65 6e 65 72 2c 20 26 61 29 3b 00 00 00 28 20 20 61 2e | a.xs,.&xs_listener,.&a);...(..a. |
| 11e20 | 78 74 20 3d 20 78 64 67 5f 73 75 72 66 61 63 65 5f 67 65 74 5f 74 6f 70 6c 65 76 65 6c 28 61 2e | xt.=.xdg_surface_get_toplevel(a. |
| 11e40 | 78 73 29 3b 00 00 00 34 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 74 65 | xs);...4..xdg_toplevel_add_liste |
| 11e60 | 6e 65 72 28 61 2e 78 74 2c 20 26 78 74 5f 6c 69 73 74 65 6e 65 72 2c 20 26 61 29 3b 00 00 00 27 | ner(a.xt,.&xt_listener,.&a);...' |
| 11e80 | 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 74 69 74 6c 65 28 61 2e 78 74 2c 20 22 | ..xdg_toplevel_set_title(a.xt,." |
| 11ea0 | 77 6c 65 64 22 29 3b 00 00 00 1a 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 | wled");......wl_surface_commit(a |
| 11ec0 | 2e 77 73 29 3b 00 00 00 00 00 00 00 17 20 20 77 68 69 6c 65 20 28 21 61 2e 63 6f 6e 66 69 67 75 | .ws);..........while.(!a.configu |
| 11ee0 | 72 65 64 29 00 00 00 27 20 20 20 20 69 66 20 28 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 | red)...'....if.(wl_display_dispa |
| 11f00 | 74 63 68 28 61 2e 64 29 20 3d 3d 20 2d 31 29 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 | tch(a.d).==.-1)..........break;. |
| 11f20 | 00 00 00 00 00 00 25 20 20 69 6e 74 20 77 6c 5f 66 64 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f | ......%..int.wl_fd.=.wl_display_ |
| 11f40 | 67 65 74 5f 66 64 28 61 2e 64 29 3b 00 00 00 0d 20 20 77 68 69 6c 65 20 28 31 29 20 7b 00 00 00 | get_fd(a.d);......while.(1).{... |
| 11f60 | 1a 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 66 6c 75 73 68 28 61 2e 64 29 3b 00 00 00 3c 20 | .....wl_display_flush(a.d);...<. |
| 11f80 | 20 20 20 73 74 72 75 63 74 20 70 6f 6c 6c 66 64 20 66 64 73 5b 32 5d 20 3d 20 7b 7b 2e 66 64 20 | ...struct.pollfd.fds[2].=.{{.fd. |
| 11fa0 | 3d 20 77 6c 5f 66 64 2c 20 2e 65 76 65 6e 74 73 20 3d 20 50 4f 4c 4c 49 4e 7d 2c 00 00 00 43 20 | =.wl_fd,..events.=.POLLIN},...C. |
| 11fc0 | 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 7b 2e 66 64 20 | ...........................{.fd. |
| 11fe0 | 3d 20 61 2e 72 65 70 65 61 74 5f 66 64 2c 20 2e 65 76 65 6e 74 73 20 3d 20 50 4f 4c 4c 49 4e 7d | =.a.repeat_fd,..events.=.POLLIN} |
| 12000 | 7d 3b 00 00 00 1f 20 20 20 20 69 6e 74 20 72 65 74 20 3d 20 70 6f 6c 6c 28 66 64 73 2c 20 32 2c | };........int.ret.=.poll(fds,.2, |
| 12020 | 20 2d 31 29 3b 00 00 00 12 20 20 20 20 69 66 20 28 72 65 74 20 3c 20 30 29 20 7b 00 00 00 19 20 | .-1);........if.(ret.<.0).{..... |
| 12040 | 20 20 20 20 20 69 66 20 28 65 72 72 6e 6f 20 3d 3d 20 45 49 4e 54 52 29 00 00 00 11 20 20 20 20 | .....if.(errno.==.EINTR)........ |
| 12060 | 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 | ....continue;..........break;... |
| 12080 | 05 20 20 20 20 7d 00 00 00 22 20 20 20 20 69 66 20 28 66 64 73 5b 31 5d 2e 72 65 76 65 6e 74 73 | .....}..."....if.(fds[1].revents |
| 120a0 | 20 26 20 50 4f 4c 4c 49 4e 29 20 7b 00 00 00 13 20 20 20 20 20 20 75 69 6e 74 36 34 5f 74 20 65 | .&.POLLIN).{..........uint64_t.e |
| 120c0 | 78 70 3b 00 00 00 2a 20 20 20 20 20 20 72 65 61 64 28 61 2e 72 65 70 65 61 74 5f 66 64 2c 20 26 | xp;...*......read(a.repeat_fd,.& |
| 120e0 | 65 78 70 2c 20 73 69 7a 65 6f 66 20 65 78 70 29 3b 00 00 00 24 20 20 20 20 20 20 70 72 6f 63 65 | exp,.sizeof.exp);...$......proce |
| 12100 | 73 73 5f 6b 65 79 28 26 61 2c 20 61 2e 72 65 70 65 61 74 5f 6b 65 79 29 3b 00 00 00 05 20 20 20 | ss_key(&a,.a.repeat_key);....... |
| 12120 | 20 7d 00 00 00 20 20 20 20 20 69 66 20 28 66 64 73 5b 30 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 | .}........if.(fds[0].revents.&.P |
| 12140 | 4f 4c 4c 49 4e 29 00 00 00 29 20 20 20 20 20 20 69 66 20 28 77 6c 5f 64 69 73 70 6c 61 79 5f 64 | OLLIN)...)......if.(wl_display_d |
| 12160 | 69 73 70 61 74 63 68 28 61 2e 64 29 20 3d 3d 20 2d 31 29 00 00 00 0e 20 20 20 20 20 20 20 20 62 | ispatch(a.d).==.-1)............b |
| 12180 | 72 65 61 6b 3b 00 00 00 03 20 20 7d 00 00 00 0b 20 20 72 65 74 75 72 6e 20 30 3b 00 00 00 01 7d | reak;......}......return.0;....} |
| 121a0 | 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 5c 04 00 00 00 00 00 00 01 00 00 00 00 00 00 00 | 5...............\............... |
| 121c0 | 00 00 00 00 00 00 00 00 86 7d 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 03 | .........}..............5._..... |
| 121e0 | 00 00 00 05 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff | ................................ |
| 12200 | 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 122a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 122c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 122e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9f | ..............................i. |
| 12360 | c7 09 04 01 00 00 00 00 00 f5 18 00 00 02 e6 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 7d | ...............................} |
| 12380 | f5 18 00 00 02 e7 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 02 df 00 00 00 00 00 00 00 00 | ................................ |
| 123a0 | 00 00 00 01 00 00 00 4a 20 20 20 20 73 74 72 75 63 74 20 70 6f 6c 6c 66 64 20 66 64 73 5b 32 5d | .......J....struct.pollfd.fds[2] |
| 123c0 | 3d 7b 7b 2e 66 64 3d 77 6c 5f 66 64 2c 2e 65 76 65 6e 74 73 3d 50 4f 4c 4c 49 4e 7d 2c 7b 2e 66 | ={{.fd=wl_fd,.events=POLLIN},{.f |
| 123e0 | 64 3d 61 2e 72 65 70 65 61 74 5f 66 64 2c 2e 65 76 65 f5 18 00 00 02 e0 00 00 00 00 00 00 00 00 | d=a.repeat_fd,.eve.............. |
| 12400 | 00 00 00 00 f5 18 00 00 02 d1 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 08 20 20 61 2e 77 73 | ............................a.ws |
| 12420 | 3d 77 f5 18 00 00 02 d2 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 02 ba 00 00 00 00 00 00 | =w.............................. |
| 12440 | 00 00 00 00 00 01 00 00 00 29 20 20 61 2e 6f 70 65 6e 5f 6d 65 6e 75 3d 4d 45 4e 55 5f 4e 4f 4e | .........)..a.open_menu=MENU_NON |
| 12460 | 45 3b 20 61 2e 68 6f 76 65 72 65 64 5f 69 74 65 6d 3d 2d f5 18 00 00 02 bb 00 00 00 00 00 00 00 | E;.a.hovered_item=-............. |
| 12480 | 00 00 00 00 00 f5 18 00 00 02 b2 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 4d 73 74 61 74 69 | ..........................Mstati |
| 124a0 | 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 6c 69 73 74 65 | c.const.struct.wl_registry_liste |
| 124c0 | 6e 65 72 20 72 65 67 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 2e 67 6c 6f 62 61 6c 3d 72 65 67 5f | ner.reg_listener.=.{.global=reg_ |
| 124e0 | 67 6c 6f 62 61 6c 2c 2e f5 18 00 00 02 b3 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 02 a6 | global,......................... |
| 12500 | 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 47 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 61 74 | ...............Gstatic.void.seat |
| 12520 | 5f 6e 61 6d 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 73 65 61 74 20 2a 73 | _name(void.*d,.struct.wl_seat.*s |
| 12540 | 65 61 74 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6e 61 6d 65 29 20 f5 18 00 00 02 a7 00 00 00 | eat,.const.char.*name).......... |
| 12560 | 00 00 00 00 00 00 00 00 00 f5 18 00 00 02 9c 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 3d 20 | ..............................=. |
| 12580 | 20 20 20 61 2d 3e 6b 65 79 62 6f 61 72 64 3d 77 6c 5f 73 65 61 74 5f 67 65 74 5f 6b 65 79 62 6f | ...a->keyboard=wl_seat_get_keybo |
| 125a0 | 61 72 64 28 73 65 61 74 29 3b 20 77 6c 5f 6b 65 79 62 6f 61 72 64 5f 61 64 64 5f 6c f5 18 00 00 | ard(seat);.wl_keyboard_add_l.... |
| 125c0 | 02 9d 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 02 8e 00 00 00 00 00 00 00 00 00 00 00 01 | ................................ |
| 125e0 | 00 00 00 00 f5 18 00 00 02 8f 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 02 88 00 00 00 00 | ................................ |
| 12600 | 00 00 00 00 00 00 00 01 00 00 00 34 20 20 20 20 20 20 20 20 2e 69 74 5f 76 61 6c 75 65 20 20 20 | ...........4.........it_value... |
| 12620 | 3d 7b 2e 74 76 5f 73 65 63 3d 61 2d 3e 72 65 70 65 61 74 5f 64 65 6c 61 79 2f 31 30 30 30 2c 2e | ={.tv_sec=a->repeat_delay/1000,. |
| 12640 | f5 18 00 00 02 89 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 02 7f 00 00 00 00 00 00 00 00 | ................................ |
| 12660 | 00 00 00 01 00 00 00 15 73 74 61 74 69 63 20 76 6f 69 64 20 6b 62 5f 6c 65 61 76 65 28 f5 18 00 | ........static.void.kb_leave(... |
| 12680 | 00 02 80 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 02 7a 00 00 00 00 00 00 00 00 00 00 00 | ....................z........... |
| 126a0 | 01 00 00 00 49 20 20 61 2d 3e 78 6b 62 5f 6b 65 79 6d 61 70 3d 78 6b 62 5f 6b 65 79 6d 61 70 5f | ....I..a->xkb_keymap=xkb_keymap_ |
| 126c0 | 6e 65 77 5f 66 72 6f 6d 5f 73 74 72 69 6e 67 28 61 2d 3e 78 6b 62 5f 63 74 78 2c 73 2c 58 4b 42 | new_from_string(a->xkb_ctx,s,XKB |
| 126e0 | 5f 4b 45 59 4d 41 50 5f 46 4f 52 4d 41 54 f5 18 00 00 02 7b 00 00 00 00 00 00 00 00 00 00 00 00 | _KEYMAP_FORMAT.....{............ |
| 12700 | f5 18 00 00 02 76 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 38 20 20 63 68 61 72 20 2a 73 3d | .....v...............8..char.*s= |
| 12720 | 6d 6d 61 70 28 4e 55 4c 4c 2c 73 69 7a 65 2c 50 52 4f 54 5f 52 45 41 44 2c 4d 41 50 5f 50 52 49 | mmap(NULL,size,PROT_READ,MAP_PRI |
| 12740 | 56 41 54 45 2c 66 64 2c 30 29 3b 20 63 6c f5 18 00 00 02 77 00 00 00 00 00 00 00 00 00 00 00 00 | VATE,fd,0);.cl.....w............ |
| 12760 | f5 18 00 00 02 68 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 09 20 20 2e 65 6e 74 65 72 20 f5 | .....h...................enter.. |
| 12780 | 18 00 00 02 69 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 02 64 00 00 00 00 00 00 00 00 00 | ....i.................d......... |
| 127a0 | 00 00 01 00 00 00 42 73 74 61 74 69 63 20 76 6f 69 64 20 70 74 72 5f 61 78 69 73 5f 73 6f 75 72 | ......Bstatic.void.ptr_axis_sour |
| 127c0 | 63 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 | ce(void.*d,.struct.wl_pointer.*p |
| 127e0 | 2c 20 75 69 6e 74 33 32 5f f5 18 00 00 02 65 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 02 | ,.uint32_.....e................. |
| 12800 | 4f 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 1d 20 20 20 20 61 2d 3e 6f 70 65 6e 5f 6d 65 6e | O....................a->open_men |
| 12820 | 75 3d 4d 45 4e 55 5f 4e 4f 4e 45 3b 20 61 f5 18 00 00 02 50 00 00 00 00 00 00 00 00 00 00 00 00 | u=MENU_NONE;.a.....P............ |
| 12840 | f5 18 00 00 02 4b 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 15 20 20 20 20 69 66 20 28 69 74 | .....K....................if.(it |
| 12860 | 3e 3d 30 29 20 7b 20 66 69 72 65 f5 18 00 00 02 4c 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 | >=0).{.fire.....L............... |
| 12880 | 00 02 3d 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 15 20 20 69 66 20 28 61 2d 3e 6f 70 65 6e | ..=..................if.(a->open |
| 128a0 | 5f 6d 65 6e 75 21 3d 4d f5 18 00 00 02 3e 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 02 35 | _menu!=M.....>.................5 |
| 128c0 | 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 0d 20 20 2e 64 61 74 61 5f 6f 66 66 65 72 f5 18 00 | ...................data_offer... |
| 128e0 | 00 02 36 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 02 31 00 00 00 00 00 00 00 00 00 00 00 | ..6.................1........... |
| 12900 | 01 00 00 00 42 73 74 61 74 69 63 20 76 6f 69 64 20 64 64 5f 6d 6f 74 69 6f 6e 28 76 6f 69 64 20 | ....Bstatic.void.dd_motion(void. |
| 12920 | 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 20 2a 64 64 2c 20 75 | *d,.struct.wl_data_device.*dd,.u |
| 12940 | 69 6e 74 33 32 5f 74 f5 18 00 00 02 32 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 02 2a 00 | int32_t.....2.................*. |
| 12960 | 00 00 00 00 00 00 00 00 00 00 01 00 00 00 27 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 3d 64 | ..............'..struct.app.*a=d |
| 12980 | 3b 20 69 66 28 61 2d 3e 64 73 29 7b 77 6c 5f 64 61 74 61 5f 73 6f f5 18 00 00 02 2b 00 00 00 00 | ;.if(a->ds){wl_data_so.....+.... |
| 129a0 | 00 00 00 00 00 00 00 00 f5 18 00 00 02 1a 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 26 20 20 | .............................&.. |
| 129c0 | 69 66 20 28 21 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 29 20 61 2d 3e 63 6f 6e 66 69 67 75 72 65 | if.(!a->configured).a->configure |
| 129e0 | 64 3d 74 72 f5 18 00 00 02 1b 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 02 17 00 00 00 00 | d=tr............................ |
| 12a00 | 00 00 00 00 00 00 00 01 00 00 00 16 73 74 61 74 69 63 20 76 6f 69 64 20 78 73 5f 63 66 67 28 76 | ............static.void.xs_cfg(v |
| 12a20 | 6f 69 f5 18 00 00 02 18 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 02 0b 00 00 00 00 00 00 | oi.............................. |
| 12a40 | 00 00 00 00 00 01 00 00 00 1c 20 20 69 66 20 28 6c 65 6e 3e 30 26 26 28 75 6e 73 69 67 6e 65 64 | ............if.(len>0&&(unsigned |
| 12a60 | 20 63 68 61 72 29 f5 18 00 00 02 0c 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 02 05 00 00 | .char).......................... |
| 12a80 | 00 00 00 00 00 00 00 00 00 01 00 00 00 03 20 20 20 f5 18 00 00 02 06 00 00 00 00 00 00 00 00 00 | ................................ |
| 12aa0 | 00 00 00 f5 18 00 00 01 f5 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 13 20 20 20 20 65 6c 73 | .............................els |
| 12ac0 | 65 20 69 66 20 28 21 73 68 69 66 74 f5 18 00 00 01 f6 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 | e.if.(!shift.................... |
| 12ae0 | 00 00 01 ee 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 22 20 20 20 20 69 66 20 28 70 6c 61 69 | ..................."....if.(plai |
| 12b00 | 6e 3d 3d 58 4b 42 5f 4b 45 59 5f 61 7c 7c 70 6c 61 69 6e 3d 3d 58 f5 18 00 00 01 ef 00 00 00 00 | n==XKB_KEY_a||plain==X.......... |
| 12b20 | 00 00 00 00 00 00 00 00 f5 18 00 00 01 e6 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 19 20 20 | ................................ |
| 12b40 | 20 20 69 66 20 28 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 21 3d 4d 45 4e f5 18 00 00 01 e7 00 00 00 | ..if.(a->open_menu!=MEN......... |
| 12b60 | 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 de 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 1f 20 | ................................ |
| 12b80 | 20 78 6b 62 5f 6b 65 79 73 79 6d 5f 74 20 20 73 79 6d 20 3d 20 78 6b 62 5f 73 74 61 74 65 f5 18 | .xkb_keysym_t..sym.=.xkb_state.. |
| 12ba0 | 00 00 01 df 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 cc 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12bc0 | 00 01 00 00 00 02 20 20 f5 18 00 00 01 cd 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 c4 | ................................ |
| 12be0 | 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 10 73 74 61 74 69 63 20 76 6f 69 64 20 69 6e 73 28 | ................static.void.ins( |
| 12c00 | f5 18 00 00 01 c5 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 b5 00 00 00 00 00 00 00 00 | ................................ |
| 12c20 | 00 00 00 01 00 00 00 09 20 20 78 64 67 5f 74 6f 70 f5 18 00 00 01 b6 00 00 00 00 00 00 00 00 00 | ..........xdg_top............... |
| 12c40 | 00 00 00 f5 18 00 00 01 a7 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 13 20 20 73 74 72 75 63 | ...........................struc |
| 12c60 | 74 20 70 6f 70 75 70 20 2a 70 20 3d f5 18 00 00 01 a8 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 | t.popup.*p.=.................... |
| 12c80 | 00 00 01 93 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 19 20 20 78 64 67 5f 73 75 72 66 61 63 | ......................xdg_surfac |
| 12ca0 | 65 5f 61 63 6b 5f 63 6f 6e 66 69 67 75 f5 18 00 00 01 94 00 00 00 00 00 00 00 00 00 00 00 00 f5 | e_ack_configu................... |
| 12cc0 | 18 00 00 01 7d 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 f5 18 00 00 01 7e 00 00 00 00 00 | ....}.....................~..... |
| 12ce0 | 00 00 00 00 00 00 00 f5 18 00 00 01 73 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 0c 20 20 64 | ............s..................d |
| 12d00 | 72 61 77 5f 62 61 72 28 61 f5 18 00 00 01 74 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 | raw_bar(a.....t................. |
| 12d20 | 48 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 14 20 20 66 72 65 63 74 28 70 78 2c 70 77 2c 70 | H..................frect(px,pw,p |
| 12d40 | 68 2c 20 64 78 f5 18 00 00 01 49 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 17 00 00 00 | h,.dx.....I..................... |
| 12d60 | 00 00 00 00 00 00 00 00 01 00 00 00 01 20 f5 18 00 00 01 18 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12d80 | f5 18 00 00 01 07 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 23 20 20 20 20 63 6f 6e 73 74 20 | .....................#....const. |
| 12da0 | 63 68 61 72 20 2a 68 20 3d 20 67 65 74 65 6e 76 28 22 48 4f 4d 45 22 29 3b f5 18 00 00 01 08 00 | char.*h.=.getenv("HOME");....... |
| 12dc0 | 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 fd 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 | ................................ |
| 12de0 | 0d 73 74 61 74 69 63 20 76 6f 69 64 20 72 f5 18 00 00 00 fe 00 00 00 00 00 00 00 00 00 00 00 00 | .static.void.r.................. |
| 12e00 | f5 18 00 00 00 ec 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 18 73 74 61 74 69 63 20 69 6e 74 | ......................static.int |
| 12e20 | 20 69 74 65 6d 5f 61 74 28 73 74 72 75 63 f5 18 00 00 00 ed 00 00 00 00 00 00 00 00 00 00 00 00 | .item_at(struc.................. |
| 12e40 | f5 18 00 00 00 d1 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 19 20 20 63 6f 6e 73 74 20 63 68 | ........................const.ch |
| 12e60 | 61 72 20 2a 6c 62 6c 73 5b 5d 20 3d 20 7b 22 f5 18 00 00 00 d2 00 00 00 00 00 00 00 00 00 00 00 | ar.*lbls[].=.{"................. |
| 12e80 | 00 f5 18 00 00 00 be 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 19 73 74 61 74 69 63 20 76 6f | .......................static.vo |
| 12ea0 | 69 64 20 2a 6d 61 6b 65 5f 73 68 6d 28 73 74 72 f5 18 00 00 00 bf 00 00 00 00 00 00 00 00 00 00 | id.*make_shm(str................ |
| 12ec0 | 00 00 f5 18 00 00 00 71 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 06 20 20 75 69 6e 74 f5 18 | .......q..................uint.. |
| 12ee0 | 00 00 00 72 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ...r............................ |
| 12f00 | 00 01 00 00 00 00 f5 18 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 35 81 f5 18 00 00 00 00 | ........................5....... |
| 12f20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 71 00 00 00 06 00 00 00 00 00 00 00 00 00 00 00 | ................q............... |
| 12f40 | 00 00 00 00 00 00 00 00 00 0c 00 00 00 00 00 00 f5 18 00 00 00 00 71 00 00 00 06 00 00 00 00 00 | ......................q......... |
| 12f60 | 00 00 00 00 00 00 4d 00 00 00 19 00 00 00 00 0c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0b | ......M......................... |
| 12f80 | 00 00 00 00 00 00 f5 18 00 00 00 00 be 00 00 00 19 00 00 00 00 00 00 00 00 00 00 00 13 00 00 00 | ................................ |
| 12fa0 | 19 00 00 00 00 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 f5 18 00 00 | ................................ |
| 12fc0 | 00 00 d1 00 00 00 19 00 00 00 00 00 00 00 00 00 00 00 1b 00 00 00 18 00 00 00 00 1a 00 00 00 00 | ................................ |
| 12fe0 | 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 f5 18 00 00 00 00 ec 00 00 00 18 00 00 00 | ................................ |
| 13000 | 00 00 00 00 00 00 00 00 11 00 00 00 0d 00 00 00 00 1d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 13020 | 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 fd 00 00 00 0d 00 00 00 00 00 00 00 00 00 00 00 0a 00 | ................................ |
| 13040 | 00 00 23 00 00 00 00 1f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 f5 18 | ..#............................. |
| 13060 | 00 00 00 00 07 01 00 00 23 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 01 00 00 00 00 20 00 00 | ........#....................... |
| 13080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 17 01 00 00 01 00 | ................................ |
| 130a0 | 00 00 00 00 00 00 00 00 00 00 31 00 00 00 14 00 00 00 00 22 00 00 00 00 00 00 00 00 00 00 00 00 | ..........1........"............ |
| 130c0 | 00 00 00 06 00 00 00 00 00 00 f5 18 00 00 00 00 48 01 00 00 14 00 00 00 00 00 00 00 00 00 00 00 | ................H............... |
| 130e0 | 2b 00 00 00 0c 00 00 00 00 28 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 00 00 00 00 00 00 | +........(...................... |
| 13100 | f5 18 00 00 00 00 73 01 00 00 0c 00 00 00 00 00 00 00 00 00 00 00 0a 00 00 00 00 00 00 00 00 2e | ......s......................... |
| 13120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 f5 18 00 00 00 00 7d 01 00 00 | ............................}... |
| 13140 | 00 00 00 00 00 00 00 00 00 00 00 00 16 00 00 00 19 00 00 00 00 2f 00 00 00 00 00 00 00 00 00 00 | ...................../.......... |
| 13160 | 00 00 00 00 00 04 00 00 00 00 00 00 f5 18 00 00 00 00 93 01 00 00 19 00 00 00 00 00 00 00 00 00 | ................................ |
| 13180 | 00 00 14 00 00 00 13 00 00 00 00 33 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 | ...........3.................... |
| 131a0 | 00 00 f5 18 00 00 00 00 a7 01 00 00 13 00 00 00 00 00 00 00 00 00 00 00 0e 00 00 00 09 00 00 00 | ................................ |
| 131c0 | 00 37 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 b5 01 | .7.............................. |
| 131e0 | 00 00 09 00 00 00 00 00 00 00 00 00 00 00 0f 00 00 00 10 00 00 00 00 39 00 00 00 00 00 00 00 00 | .......................9........ |
| 13200 | 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 c4 01 00 00 10 00 00 00 00 00 00 00 | ................................ |
| 13220 | 00 00 00 00 08 00 00 00 02 00 00 00 00 3b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 | .............;.................. |
| 13240 | 00 00 00 00 f5 18 00 00 00 00 cc 01 00 00 02 00 00 00 00 00 00 00 00 00 00 00 12 00 00 00 1f 00 | ................................ |
| 13260 | 00 00 00 3c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 f5 18 00 00 00 00 | ...<............................ |
| 13280 | de 01 00 00 1f 00 00 00 00 00 00 00 00 00 00 00 08 00 00 00 19 00 00 00 00 3f 00 00 00 00 00 00 | .........................?...... |
| 132a0 | 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 e6 01 00 00 19 00 00 00 00 00 | ................................ |
| 132c0 | 00 00 00 00 00 00 08 00 00 00 22 00 00 00 00 41 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 | .........."....A................ |
| 132e0 | 00 00 00 00 00 00 f5 18 00 00 00 00 ee 01 00 00 22 00 00 00 00 00 00 00 00 00 00 00 07 00 00 00 | ................"............... |
| 13300 | 13 00 00 00 00 43 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 | .....C.......................... |
| 13320 | 00 00 f5 01 00 00 13 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 03 00 00 00 00 45 00 00 00 00 | ...........................E.... |
| 13340 | 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 f5 18 00 00 00 00 05 02 00 00 03 00 00 00 | ................................ |
| 13360 | 00 00 00 00 00 00 00 00 06 00 00 00 1c 00 00 00 00 48 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .................H.............. |
| 13380 | 00 01 00 00 00 00 00 00 f5 18 00 00 00 00 0b 02 00 00 1c 00 00 00 00 00 00 00 00 00 00 00 0c 00 | ................................ |
| 133a0 | 00 00 16 00 00 00 00 49 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 | .......I........................ |
| 133c0 | 00 00 00 00 17 02 00 00 16 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 26 00 00 00 00 4b 00 00 | ........................&....K.. |
| 133e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 f5 18 00 00 00 00 1a 02 00 00 26 00 | ..............................&. |
| 13400 | 00 00 00 00 00 00 00 00 00 00 10 00 00 00 27 00 00 00 00 4c 00 00 00 00 00 00 00 00 00 00 00 00 | ..............'....L............ |
| 13420 | 00 00 00 03 00 00 00 00 00 00 f5 18 00 00 00 00 2a 02 00 00 27 00 00 00 00 00 00 00 00 00 00 00 | ................*...'........... |
| 13440 | 07 00 00 00 42 00 00 00 00 4f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 | ....B....O...................... |
| 13460 | f5 18 00 00 00 00 31 02 00 00 42 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 0d 00 00 00 00 51 | ......1...B....................Q |
| 13480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 f5 18 00 00 00 00 35 02 00 00 | ............................5... |
| 134a0 | 0d 00 00 00 00 00 00 00 00 00 00 00 08 00 00 00 15 00 00 00 00 52 00 00 00 00 00 00 00 00 00 00 | .....................R.......... |
| 134c0 | 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 3d 02 00 00 15 00 00 00 00 00 00 00 00 00 | ..................=............. |
| 134e0 | 00 00 0e 00 00 00 15 00 00 00 00 54 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 | ...........T.................... |
| 13500 | 00 00 f5 18 00 00 00 00 4b 02 00 00 15 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 1d 00 00 00 | ........K....................... |
| 13520 | 00 56 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 f5 18 00 00 00 00 4f 02 | .V............................O. |
| 13540 | 00 00 1d 00 00 00 00 00 00 00 00 00 00 00 15 00 00 00 42 00 00 00 00 57 00 00 00 00 00 00 00 00 | ..................B....W........ |
| 13560 | 00 00 00 00 00 00 00 03 00 00 00 00 00 00 f5 18 00 00 00 00 64 02 00 00 42 00 00 00 00 00 00 00 | ....................d...B....... |
| 13580 | 00 00 00 00 04 00 00 00 09 00 00 00 00 5a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 | .............Z.................. |
| 135a0 | 00 00 00 00 f5 18 00 00 00 00 68 02 00 00 09 00 00 00 00 00 00 00 00 00 00 00 0e 00 00 00 38 00 | ..........h...................8. |
| 135c0 | 00 00 00 5b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 | ...[............................ |
| 135e0 | 76 02 00 00 38 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 49 00 00 00 00 5d 00 00 00 00 00 00 | v...8...............I....]...... |
| 13600 | 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 f5 18 00 00 00 00 7a 02 00 00 49 00 00 00 00 00 | ......................z...I..... |
| 13620 | 00 00 00 00 00 00 05 00 00 00 15 00 00 00 00 5e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 | ...............^................ |
| 13640 | 00 00 00 00 00 00 f5 18 00 00 00 00 7f 02 00 00 15 00 00 00 00 00 00 00 00 00 00 00 09 00 00 00 | ................................ |
| 13660 | 34 00 00 00 00 5f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 | 4...._.......................... |
| 13680 | 00 00 88 02 00 00 34 00 00 00 00 00 00 00 00 00 00 00 06 00 00 00 00 00 00 00 00 61 00 00 00 00 | ......4....................a.... |
| 136a0 | 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 f5 18 00 00 00 00 8e 02 00 00 00 00 00 00 | ................................ |
| 136c0 | 00 00 00 00 00 00 00 00 0e 00 00 00 3d 00 00 00 00 62 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ............=....b.............. |
| 136e0 | 00 03 00 00 00 00 00 00 f5 18 00 00 00 00 9c 02 00 00 3d 00 00 00 00 00 00 00 00 00 00 00 0a 00 | ..................=............. |
| 13700 | 00 00 47 00 00 00 00 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 | ..G....e........................ |
| 13720 | 00 00 00 00 a6 02 00 00 47 00 00 00 00 00 00 00 00 00 00 00 0c 00 00 00 4d 00 00 00 00 67 00 00 | ........G...............M....g.. |
| 13740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 f5 18 00 00 00 00 b2 02 00 00 4d 00 | ..............................M. |
| 13760 | 00 00 00 00 00 00 00 00 00 00 08 00 00 00 29 00 00 00 00 6b 00 00 00 00 00 00 00 00 00 00 00 00 | ..............)....k............ |
| 13780 | 00 00 00 01 00 00 00 00 00 00 f5 18 00 00 00 00 ba 02 00 00 29 00 00 00 00 00 00 00 00 00 00 00 | ....................)........... |
| 137a0 | 17 00 00 00 08 00 00 00 00 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 | .........l...................... |
| 137c0 | f5 18 00 00 00 00 d1 02 00 00 08 00 00 00 00 00 00 00 00 00 00 00 0e 00 00 00 4a 00 00 00 00 6f | ..........................J....o |
| 137e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 df 02 00 00 | ................................ |
| 13800 | 4a 00 00 00 00 00 00 00 00 00 00 00 07 00 00 00 01 00 00 00 00 71 00 00 00 00 00 00 00 00 00 00 | J....................q.......... |
| 13820 | 00 00 00 00 1f 01 00 00 00 00 00 00 35 81 5f d0 00 00 00 04 00 00 00 06 00 00 00 00 00 00 00 00 | ............5._................. |
| 13840 | 00 00 00 05 00 00 02 e7 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 13860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 13880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 138a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 138c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 138e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 13900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 13920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 13940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 13960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 13980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 139a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9f c7 0a 04 01 00 00 00 04 00 f5 18 00 | ..................i............. |
| 139c0 | 00 00 02 00 00 04 66 00 00 02 e7 00 00 02 e2 00 00 00 26 23 69 6e 63 6c 75 64 65 20 22 78 64 67 | ......f...........&#include."xdg |
| 139e0 | 2d 73 68 65 6c 6c 2d 63 6c 69 65 6e 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 13 23 69 6e | -shell-client-protocol.h"....#in |
| 13a00 | 63 6c 75 64 65 20 22 63 6f 6e 66 69 67 2e 68 22 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 65 72 | clude."config.h"....#include.<er |
| 13a20 | 72 6e 6f 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 66 63 6e 74 6c 2e 68 3e 00 00 00 11 | rno.h>....#include.<fcntl.h>.... |
| 13a40 | 23 69 6e 63 6c 75 64 65 20 3c 70 6f 6c 6c 2e 68 3e 00 00 00 14 23 69 6e 63 6c 75 64 65 20 3c 73 | #include.<poll.h>....#include.<s |
| 13a60 | 74 64 62 6f 6f 6c 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6e 74 2e 68 3e | tdbool.h>....#include.<stdint.h> |
| 13a80 | 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6f 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 | ....#include.<stdio.h>....#inclu |
| 13aa0 | 64 65 20 3c 73 74 64 6c 69 62 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 74 72 69 6e | de.<stdlib.h>....#include.<strin |
| 13ac0 | 67 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e 68 3e 00 00 00 | g.h>....#include.<sys/mman.h>... |
| 13ae0 | 18 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 74 69 6d 65 72 66 64 2e 68 3e 00 00 00 13 23 69 6e | .#include.<sys/timerfd.h>....#in |
| 13b00 | 63 6c 75 64 65 20 3c 75 6e 69 73 74 64 2e 68 3e 00 00 00 1b 23 69 6e 63 6c 75 64 65 20 3c 77 61 | clude.<unistd.h>....#include.<wa |
| 13b20 | 79 6c 61 6e 64 2d 63 6c 69 65 6e 74 2e 68 3e 00 00 00 20 23 69 6e 63 6c 75 64 65 20 3c 78 6b 62 | yland-client.h>....#include.<xkb |
| 13b40 | 63 6f 6d 6d 6f 6e 2f 78 6b 62 63 6f 6d 6d 6f 6e 2e 68 3e 00 00 00 22 23 69 6e 63 6c 75 64 65 20 | common/xkbcommon.h>..."#include. |
| 13b60 | 3c 66 6f 6e 74 63 6f 6e 66 69 67 2f 66 6f 6e 74 63 6f 6e 66 69 67 2e 68 3e 00 00 00 15 23 69 6e | <fontconfig/fontconfig.h>....#in |
| 13b80 | 63 6c 75 64 65 20 3c 66 74 32 62 75 69 6c 64 2e 68 3e 00 00 00 16 23 69 6e 63 6c 75 64 65 20 46 | clude.<ft2build.h>....#include.F |
| 13ba0 | 54 5f 46 52 45 45 54 59 50 45 5f 48 00 00 00 00 00 00 00 17 23 64 65 66 69 6e 65 20 4d 41 58 5f | T_FREETYPE_H........#define.MAX_ |
| 13bc0 | 54 45 58 54 20 20 36 35 35 33 36 00 00 00 14 23 64 65 66 69 6e 65 20 42 41 52 5f 48 20 20 20 20 | TEXT..65536....#define.BAR_H.... |
| 13be0 | 20 32 38 00 00 00 14 23 64 65 66 69 6e 65 20 42 54 4e 5f 50 41 44 20 20 20 31 30 00 00 00 13 23 | .28....#define.BTN_PAD...10....# |
| 13c00 | 64 65 66 69 6e 65 20 50 41 44 20 20 20 20 20 20 20 38 00 00 00 00 00 00 00 1b 23 64 65 66 69 6e | define.PAD.......8........#defin |
| 13c20 | 65 20 42 47 5f 43 4f 4c 4f 52 20 20 20 20 20 43 46 47 5f 42 47 00 00 00 1b 23 64 65 66 69 6e 65 | e.BG_COLOR.....CFG_BG....#define |
| 13c40 | 20 46 47 5f 43 4f 4c 4f 52 20 20 20 20 20 43 46 47 5f 46 47 00 00 00 1f 23 64 65 66 69 6e 65 20 | .FG_COLOR.....CFG_FG....#define. |
| 13c60 | 43 55 52 5f 43 4f 4c 4f 52 20 20 20 20 43 46 47 5f 43 55 52 53 4f 52 00 00 00 1f 23 64 65 66 69 | CUR_COLOR....CFG_CURSOR....#defi |
| 13c80 | 6e 65 20 53 45 4c 5f 43 4f 4c 4f 52 20 20 20 20 43 46 47 5f 53 45 4c 5f 42 47 00 00 00 1f 23 64 | ne.SEL_COLOR....CFG_SEL_BG....#d |
| 13ca0 | 65 66 69 6e 65 20 53 45 4c 5f 46 47 20 20 20 20 20 20 20 43 46 47 5f 53 45 4c 5f 46 47 00 00 00 | efine.SEL_FG.......CFG_SEL_FG... |
| 13cc0 | 1f 23 64 65 66 69 6e 65 20 42 41 52 5f 42 47 20 20 20 20 20 20 20 43 46 47 5f 42 41 52 5f 42 47 | .#define.BAR_BG.......CFG_BAR_BG |
| 13ce0 | 00 00 00 1f 23 64 65 66 69 6e 65 20 42 41 52 5f 46 47 20 20 20 20 20 20 20 43 46 47 5f 42 41 52 | ....#define.BAR_FG.......CFG_BAR |
| 13d00 | 5f 46 47 00 00 00 20 23 64 65 66 69 6e 65 20 42 54 4e 5f 48 4f 56 20 20 20 20 20 20 43 46 47 5f | _FG....#define.BTN_HOV......CFG_ |
| 13d20 | 42 54 4e 5f 48 4f 56 00 00 00 20 23 64 65 66 69 6e 65 20 44 52 4f 50 5f 42 47 20 20 20 20 20 20 | BTN_HOV....#define.DROP_BG...... |
| 13d40 | 43 46 47 5f 44 52 4f 50 5f 42 47 00 00 00 20 23 64 65 66 69 6e 65 20 44 52 4f 50 5f 46 47 20 20 | CFG_DROP_BG....#define.DROP_FG.. |
| 13d60 | 20 20 20 20 43 46 47 5f 44 52 4f 50 5f 46 47 00 00 00 21 23 64 65 66 69 6e 65 20 44 52 4f 50 5f | ....CFG_DROP_FG...!#define.DROP_ |
| 13d80 | 48 4f 56 20 20 20 20 20 43 46 47 5f 44 52 4f 50 5f 48 4f 56 00 00 00 24 23 64 65 66 69 6e 65 20 | HOV.....CFG_DROP_HOV...$#define. |
| 13da0 | 44 52 4f 50 5f 48 4f 56 5f 46 47 20 20 43 46 47 5f 44 52 4f 50 5f 48 4f 56 5f 46 47 00 00 00 1c | DROP_HOV_FG..CFG_DROP_HOV_FG.... |
| 13dc0 | 23 64 65 66 69 6e 65 20 53 45 50 5f 43 4f 4c 4f 52 20 20 20 20 43 46 47 5f 53 45 50 00 00 00 00 | #define.SEP_COLOR....CFG_SEP.... |
| 13de0 | 00 00 00 21 73 74 61 74 69 63 20 63 68 61 72 20 74 65 78 74 5b 4d 41 58 5f 54 45 58 54 5d 20 3d | ...!static.char.text[MAX_TEXT].= |
| 13e00 | 20 7b 30 7d 3b 00 00 00 17 73 74 61 74 69 63 20 69 6e 74 20 20 74 6c 65 6e 20 20 20 3d 20 30 3b | .{0};....static.int..tlen...=.0; |
| 13e20 | 00 00 00 17 73 74 61 74 69 63 20 69 6e 74 20 20 63 75 72 73 6f 72 20 3d 20 30 3b 00 00 00 1c 73 | ....static.int..cursor.=.0;....s |
| 13e40 | 74 61 74 69 63 20 69 6e 74 20 20 73 65 6c 5f 61 6e 63 68 6f 72 20 3d 20 2d 31 3b 00 00 00 21 73 | tatic.int..sel_anchor.=.-1;...!s |
| 13e60 | 74 61 74 69 63 20 63 68 61 72 20 66 69 6c 65 70 61 74 68 5b 34 30 39 36 5d 20 3d 20 7b 30 7d 3b | tatic.char.filepath[4096].=.{0}; |
| 13e80 | 00 00 00 1a 73 74 61 74 69 63 20 62 6f 6f 6c 20 64 69 72 74 79 20 3d 20 66 61 6c 73 65 3b 00 00 | ....static.bool.dirty.=.false;.. |
| 13ea0 | 00 00 00 00 00 19 73 74 61 74 69 63 20 46 54 5f 4c 69 62 72 61 72 79 20 66 74 5f 6c 69 62 3b 00 | ......static.FT_Library.ft_lib;. |
| 13ec0 | 00 00 1a 73 74 61 74 69 63 20 46 54 5f 46 61 63 65 20 20 20 20 66 74 5f 66 61 63 65 3b 00 00 00 | ...static.FT_Face....ft_face;... |
| 13ee0 | 19 73 74 61 74 69 63 20 69 6e 74 20 20 20 20 20 20 20 20 63 65 6c 6c 5f 77 3b 00 00 00 19 73 74 | .static.int........cell_w;....st |
| 13f00 | 61 74 69 63 20 69 6e 74 20 20 20 20 20 20 20 20 63 65 6c 6c 5f 68 3b 00 00 00 1b 73 74 61 74 69 | atic.int........cell_h;....stati |
| 13f20 | 63 20 69 6e 74 20 20 20 20 20 20 20 20 61 73 63 65 6e 64 65 72 3b 00 00 00 26 73 74 61 74 69 63 | c.int........ascender;...&static |
| 13f40 | 20 69 6e 74 20 20 20 20 20 20 20 20 66 6f 6e 74 5f 70 74 20 3d 20 46 4f 4e 54 5f 53 49 5a 45 3b | .int........font_pt.=.FONT_SIZE; |
| 13f60 | 00 00 00 00 00 00 00 45 74 79 70 65 64 65 66 20 65 6e 75 6d 20 7b 20 4d 45 4e 55 5f 4e 4f 4e 45 | .......Etypedef.enum.{.MENU_NONE |
| 13f80 | 20 3d 20 2d 31 2c 20 4d 45 4e 55 5f 46 49 4c 45 20 3d 20 30 2c 20 4d 45 4e 55 5f 49 4e 46 4f 20 | .=.-1,.MENU_FILE.=.0,.MENU_INFO. |
| 13fa0 | 3d 20 31 20 7d 20 4d 65 6e 75 49 64 3b 00 00 00 00 00 00 00 3f 74 79 70 65 64 65 66 20 73 74 72 | =.1.}.MenuId;.......?typedef.str |
| 13fc0 | 75 63 74 20 7b 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6c 61 62 65 6c 3b 20 62 6f 6f 6c 20 73 65 | uct.{.const.char.*label;.bool.se |
| 13fe0 | 70 5f 61 66 74 65 72 3b 20 7d 20 4d 65 6e 75 49 74 65 6d 3b 00 00 00 00 00 00 00 26 73 74 61 74 | p_after;.}.MenuItem;.......&stat |
| 14000 | 69 63 20 63 6f 6e 73 74 20 4d 65 6e 75 49 74 65 6d 20 66 69 6c 65 5f 69 74 65 6d 73 5b 5d 20 3d | ic.const.MenuItem.file_items[].= |
| 14020 | 20 7b 00 00 00 1d 20 20 7b 20 22 4e 65 77 22 2c 20 20 20 20 20 20 20 20 20 20 20 66 61 6c 73 65 | .{......{."New",...........false |
| 14040 | 20 7d 2c 00 00 00 1d 20 20 7b 20 22 4f 70 65 6e 22 2c 20 20 20 20 20 20 20 20 20 20 66 61 6c 73 | .},......{."Open",..........fals |
| 14060 | 65 20 7d 2c 00 00 00 1d 20 20 7b 20 22 53 61 76 65 22 2c 20 20 20 20 20 20 20 20 20 20 66 61 6c | e.},......{."Save",..........fal |
| 14080 | 73 65 20 7d 2c 00 00 00 1d 20 20 7b 20 22 53 61 76 65 20 41 73 22 2c 20 20 20 20 20 20 20 74 72 | se.},......{."Save.As",.......tr |
| 140a0 | 75 65 20 20 7d 2c 00 00 00 1d 20 20 7b 20 22 53 61 76 65 20 61 6e 64 20 51 75 69 74 22 2c 20 66 | ue..},......{."Save.and.Quit",.f |
| 140c0 | 61 6c 73 65 20 7d 2c 00 00 00 1d 20 20 7b 20 22 51 75 69 74 22 2c 20 20 20 20 20 20 20 20 20 20 | alse.},......{."Quit",.......... |
| 140e0 | 66 61 6c 73 65 20 7d 2c 00 00 00 02 7d 3b 00 00 00 26 73 74 61 74 69 63 20 63 6f 6e 73 74 20 4d | false.},....};...&static.const.M |
| 14100 | 65 6e 75 49 74 65 6d 20 69 6e 66 6f 5f 69 74 65 6d 73 5b 5d 20 3d 20 7b 00 00 00 16 20 20 7b 20 | enuItem.info_items[].=.{......{. |
| 14120 | 22 41 62 6f 75 74 22 2c 20 20 66 61 6c 73 65 20 7d 2c 00 00 00 02 7d 3b 00 00 00 3e 23 64 65 66 | "About",..false.},....};...>#def |
| 14140 | 69 6e 65 20 4e 5f 46 49 4c 45 20 28 28 69 6e 74 29 28 73 69 7a 65 6f 66 20 66 69 6c 65 5f 69 74 | ine.N_FILE.((int)(sizeof.file_it |
| 14160 | 65 6d 73 20 2f 20 73 69 7a 65 6f 66 20 2a 66 69 6c 65 5f 69 74 65 6d 73 29 29 00 00 00 3e 23 64 | ems./.sizeof.*file_items))...>#d |
| 14180 | 65 66 69 6e 65 20 4e 5f 49 4e 46 4f 20 28 28 69 6e 74 29 28 73 69 7a 65 6f 66 20 69 6e 66 6f 5f | efine.N_INFO.((int)(sizeof.info_ |
| 141a0 | 69 74 65 6d 73 20 2f 20 73 69 7a 65 6f 66 20 2a 69 6e 66 6f 5f 69 74 65 6d 73 29 29 00 00 00 00 | items./.sizeof.*info_items)).... |
| 141c0 | 00 00 00 0e 73 74 72 75 63 74 20 70 6f 70 75 70 20 7b 00 00 00 1a 20 20 73 74 72 75 63 74 20 77 | ....struct.popup.{......struct.w |
| 141e0 | 6c 5f 73 75 72 66 61 63 65 20 20 20 2a 77 73 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 78 64 67 | l_surface...*ws;......struct.xdg |
| 14200 | 5f 73 75 72 66 61 63 65 20 20 2a 78 73 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 78 64 67 5f 74 | _surface..*xs;......struct.xdg_t |
| 14220 | 6f 70 6c 65 76 65 6c 20 2a 78 74 3b 00 00 00 1e 20 20 76 6f 69 64 20 20 20 20 20 20 20 20 20 20 | oplevel.*xt;......void.......... |
| 14240 | 20 20 20 20 20 20 2a 70 69 78 65 6c 73 3b 00 00 00 23 20 20 73 69 7a 65 5f 74 20 20 20 20 20 20 | ......*pixels;...#..size_t...... |
| 14260 | 20 20 20 20 20 20 20 20 20 70 69 78 65 6c 73 5f 73 69 7a 65 3b 00 00 00 1b 20 20 73 74 72 75 63 | .........pixels_size;......struc |
| 14280 | 74 20 77 6c 5f 62 75 66 66 65 72 20 20 20 20 2a 62 75 66 3b 00 00 00 0b 20 20 69 6e 74 20 77 2c | t.wl_buffer....*buf;......int.w, |
| 142a0 | 20 68 3b 00 00 00 12 20 20 62 6f 6f 6c 20 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 0c 20 20 62 | .h;......bool.configured;......b |
| 142c0 | 6f 6f 6c 20 6f 70 65 6e 3b 00 00 00 02 7d 3b 00 00 00 00 00 00 00 0c 73 74 72 75 63 74 20 61 70 | ool.open;....};........struct.ap |
| 142e0 | 70 20 7b 00 00 00 23 20 20 73 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 20 20 20 20 20 20 | p.{...#..struct.wl_display...... |
| 14300 | 20 20 20 20 20 20 20 2a 64 3b 00 00 00 25 20 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 | .......*d;...%..struct.wl_regist |
| 14320 | 72 79 20 20 20 20 20 20 20 20 20 20 20 20 2a 72 65 67 3b 00 00 00 26 20 20 73 74 72 75 63 74 20 | ry............*reg;...&..struct. |
| 14340 | 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 20 20 20 20 20 20 20 20 20 20 2a 63 6f 6d 70 3b 00 00 00 | wl_compositor..........*comp;... |
| 14360 | 25 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | %..struct.wl_shm................ |
| 14380 | 20 2a 73 68 6d 3b 00 00 00 24 20 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 20 | .*shm;...$..struct.xdg_wm_base.. |
| 143a0 | 20 20 20 20 20 20 20 20 20 20 2a 77 6d 3b 00 00 00 24 20 20 73 74 72 75 63 74 20 77 6c 5f 73 75 | ..........*wm;...$..struct.wl_su |
| 143c0 | 72 66 61 63 65 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 77 73 3b 00 00 00 24 20 20 73 74 72 75 | rface.............*ws;...$..stru |
| 143e0 | 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 20 20 20 20 20 20 20 20 20 20 20 2a 78 73 3b 00 00 | ct.xdg_surface............*xs;.. |
| 14400 | 00 24 20 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 20 20 20 20 20 20 20 20 | .$..struct.xdg_toplevel......... |
| 14420 | 20 20 2a 78 74 3b 00 00 00 26 20 20 73 74 72 75 63 74 20 77 6c 5f 73 65 61 74 20 20 20 20 20 20 | ..*xt;...&..struct.wl_seat...... |
| 14440 | 20 20 20 20 20 20 20 20 20 20 2a 73 65 61 74 3b 00 00 00 2a 20 20 73 74 72 75 63 74 20 77 6c 5f | ..........*seat;...*..struct.wl_ |
| 14460 | 6b 65 79 62 6f 61 72 64 20 20 20 20 20 20 20 20 20 20 20 20 2a 6b 65 79 62 6f 61 72 64 3b 00 00 | keyboard............*keyboard;.. |
| 14480 | 00 29 20 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 20 20 20 20 20 20 20 20 20 20 | .)..struct.wl_pointer........... |
| 144a0 | 20 20 2a 70 6f 69 6e 74 65 72 3b 00 00 00 25 20 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f | ..*pointer;...%..struct.wl_data_ |
| 144c0 | 64 65 76 69 63 65 5f 6d 61 6e 61 67 65 72 20 2a 64 64 6d 3b 00 00 00 24 20 20 73 74 72 75 63 74 | device_manager.*ddm;...$..struct |
| 144e0 | 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 20 20 20 20 20 20 20 20 20 2a 64 64 3b 00 00 00 24 | .wl_data_device.........*dd;...$ |
| 14500 | 20 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 20 20 20 20 20 20 20 20 20 | ..struct.wl_data_source......... |
| 14520 | 2a 64 73 3b 00 00 00 1a 20 20 76 6f 69 64 20 20 20 20 20 20 20 20 20 20 20 20 2a 70 69 78 65 6c | *ds;......void............*pixel |
| 14540 | 73 3b 00 00 00 1f 20 20 73 69 7a 65 5f 74 20 20 20 20 20 20 20 20 20 20 20 70 69 78 65 6c 73 5f | s;......size_t...........pixels_ |
| 14560 | 73 69 7a 65 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 | size;......struct.wl_buffer.*buf |
| 14580 | 3b 00 00 00 21 20 20 69 6e 74 20 77 2c 20 68 2c 20 70 65 6e 64 69 6e 67 5f 77 2c 20 70 65 6e 64 | ;...!..int.w,.h,.pending_w,.pend |
| 145a0 | 69 6e 67 5f 68 3b 00 00 00 12 20 20 62 6f 6f 6c 20 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 1e | ing_h;......bool.configured;.... |
| 145c0 | 20 20 73 74 72 75 63 74 20 78 6b 62 5f 63 6f 6e 74 65 78 74 20 2a 78 6b 62 5f 63 74 78 3b 00 00 | ..struct.xkb_context.*xkb_ctx;.. |
| 145e0 | 00 21 20 20 73 74 72 75 63 74 20 78 6b 62 5f 6b 65 79 6d 61 70 20 20 2a 78 6b 62 5f 6b 65 79 6d | .!..struct.xkb_keymap..*xkb_keym |
| 14600 | 61 70 3b 00 00 00 20 20 20 73 74 72 75 63 74 20 78 6b 62 5f 73 74 61 74 65 20 20 20 2a 78 6b 62 | ap;......struct.xkb_state...*xkb |
| 14620 | 5f 73 74 61 74 65 3b 00 00 00 15 20 20 69 6e 74 20 20 20 20 20 20 72 65 70 65 61 74 5f 66 64 3b | _state;......int......repeat_fd; |
| 14640 | 00 00 00 16 20 20 75 69 6e 74 33 32 5f 74 20 72 65 70 65 61 74 5f 6b 65 79 3b 00 00 00 17 20 20 | ......uint32_t.repeat_key;...... |
| 14660 | 69 6e 74 33 32 5f 74 20 20 72 65 70 65 61 74 5f 72 61 74 65 3b 00 00 00 18 20 20 69 6e 74 33 32 | int32_t..repeat_rate;......int32 |
| 14680 | 5f 74 20 20 72 65 70 65 61 74 5f 64 65 6c 61 79 3b 00 00 00 1f 20 20 63 68 61 72 20 20 20 20 20 | _t..repeat_delay;......char..... |
| 146a0 | 63 6c 69 70 62 6f 61 72 64 5b 4d 41 58 5f 54 45 58 54 5d 3b 00 00 00 19 20 20 69 6e 74 20 20 20 | clipboard[MAX_TEXT];......int... |
| 146c0 | 20 20 20 63 6c 69 70 62 6f 61 72 64 5f 6c 65 6e 3b 00 00 00 17 20 20 75 69 6e 74 33 32 5f 74 20 | ...clipboard_len;......uint32_t. |
| 146e0 | 6c 61 73 74 5f 73 65 72 69 61 6c 3b 00 00 00 1c 20 20 69 6e 74 20 20 20 20 20 20 6d 6f 75 73 65 | last_serial;......int......mouse |
| 14700 | 5f 78 2c 20 6d 6f 75 73 65 5f 79 3b 00 00 00 15 20 20 4d 65 6e 75 49 64 20 20 20 6f 70 65 6e 5f | _x,.mouse_y;......MenuId...open_ |
| 14720 | 6d 65 6e 75 3b 00 00 00 18 20 20 69 6e 74 20 20 20 20 20 20 68 6f 76 65 72 65 64 5f 69 74 65 6d | menu;......int......hovered_item |
| 14740 | 3b 00 00 00 15 20 20 73 74 72 75 63 74 20 70 6f 70 75 70 20 61 62 6f 75 74 3b 00 00 00 02 7d 3b | ;......struct.popup.about;....}; |
| 14760 | 00 00 00 00 00 00 00 27 73 74 61 74 69 63 20 76 6f 69 64 20 75 70 64 61 74 65 5f 66 6f 6e 74 5f | .......'static.void.update_font_ |
| 14780 | 6d 65 74 72 69 63 73 28 76 6f 69 64 29 20 7b 00 00 00 35 20 20 46 54 5f 53 65 74 5f 43 68 61 72 | metrics(void).{...5..FT_Set_Char |
| 147a0 | 5f 53 69 7a 65 28 66 74 5f 66 61 63 65 2c 20 30 2c 20 66 6f 6e 74 5f 70 74 20 2a 20 36 34 2c 20 | _Size(ft_face,.0,.font_pt.*.64,. |
| 147c0 | 39 36 2c 20 39 36 29 3b 00 00 00 33 20 20 46 54 5f 4c 6f 61 64 5f 43 68 61 72 28 66 74 5f 66 61 | 96,.96);...3..FT_Load_Char(ft_fa |
| 147e0 | 63 65 2c 20 27 30 27 2c 20 46 54 5f 4c 4f 41 44 5f 41 44 56 41 4e 43 45 5f 4f 4e 4c 59 29 3b 00 | ce,.'0',.FT_LOAD_ADVANCE_ONLY);. |
| 14800 | 00 00 3a 20 20 63 65 6c 6c 5f 77 20 20 20 3d 20 28 69 6e 74 29 28 28 66 74 5f 66 61 63 65 2d 3e | ..:..cell_w...=.(int)((ft_face-> |
| 14820 | 67 6c 79 70 68 2d 3e 61 64 76 61 6e 63 65 2e 78 20 2b 20 33 32 29 20 3e 3e 20 36 29 3b 00 00 00 | glyph->advance.x.+.32).>>.6);... |
| 14840 | 39 20 20 61 73 63 65 6e 64 65 72 20 3d 20 28 69 6e 74 29 28 66 74 5f 66 61 63 65 2d 3e 73 69 7a | 9..ascender.=.(int)(ft_face->siz |
| 14860 | 65 2d 3e 6d 65 74 72 69 63 73 2e 61 73 63 65 6e 64 65 72 20 3e 3e 20 36 29 3b 00 00 00 42 20 20 | e->metrics.ascender.>>.6);...B.. |
| 14880 | 69 6e 74 20 64 65 73 63 20 3d 20 28 69 6e 74 29 28 28 2d 66 74 5f 66 61 63 65 2d 3e 73 69 7a 65 | int.desc.=.(int)((-ft_face->size |
| 148a0 | 2d 3e 6d 65 74 72 69 63 73 2e 64 65 73 63 65 6e 64 65 72 20 2b 20 36 33 29 20 3e 3e 20 36 29 3b | ->metrics.descender.+.63).>>.6); |
| 148c0 | 00 00 00 1d 20 20 63 65 6c 6c 5f 68 20 20 20 3d 20 61 73 63 65 6e 64 65 72 20 2b 20 64 65 73 63 | ......cell_h...=.ascender.+.desc |
| 148e0 | 3b 00 00 00 1d 20 20 69 66 20 28 63 65 6c 6c 5f 77 20 3c 20 31 29 20 63 65 6c 6c 5f 77 20 3d 20 | ;......if.(cell_w.<.1).cell_w.=. |
| 14900 | 31 3b 00 00 00 1d 20 20 69 66 20 28 63 65 6c 6c 5f 68 20 3c 20 31 29 20 63 65 6c 6c 5f 68 20 3d | 1;......if.(cell_h.<.1).cell_h.= |
| 14920 | 20 31 3b 00 00 00 01 7d 00 00 00 00 00 00 00 1d 73 74 61 74 69 63 20 62 6f 6f 6c 20 6c 6f 61 64 | .1;....}........static.bool.load |
| 14940 | 5f 66 6f 6e 74 28 76 6f 69 64 29 20 7b 00 00 00 0b 20 20 46 63 49 6e 69 74 28 29 3b 00 00 00 35 | _font(void).{......FcInit();...5 |
| 14960 | 20 20 46 63 50 61 74 74 65 72 6e 20 2a 70 61 74 20 3d 20 46 63 4e 61 6d 65 50 61 72 73 65 28 28 | ..FcPattern.*pat.=.FcNameParse(( |
| 14980 | 46 63 43 68 61 72 38 20 2a 29 46 4f 4e 54 5f 4e 41 4d 45 29 3b 00 00 00 30 20 20 46 63 43 6f 6e | FcChar8.*)FONT_NAME);...0..FcCon |
| 149a0 | 66 69 67 53 75 62 73 74 69 74 75 74 65 28 4e 55 4c 4c 2c 20 70 61 74 2c 20 46 63 4d 61 74 63 68 | figSubstitute(NULL,.pat,.FcMatch |
| 149c0 | 50 61 74 74 65 72 6e 29 3b 00 00 00 1b 20 20 46 63 44 65 66 61 75 6c 74 53 75 62 73 74 69 74 75 | Pattern);......FcDefaultSubstitu |
| 149e0 | 74 65 28 70 61 74 29 3b 00 00 00 0f 20 20 46 63 52 65 73 75 6c 74 20 72 65 73 3b 00 00 00 32 20 | te(pat);......FcResult.res;...2. |
| 14a00 | 20 46 63 50 61 74 74 65 72 6e 20 2a 6d 61 74 63 68 20 3d 20 46 63 46 6f 6e 74 4d 61 74 63 68 28 | .FcPattern.*match.=.FcFontMatch( |
| 14a20 | 4e 55 4c 4c 2c 20 70 61 74 2c 20 26 72 65 73 29 3b 00 00 00 18 20 20 46 63 50 61 74 74 65 72 6e | NULL,.pat,.&res);......FcPattern |
| 14a40 | 44 65 73 74 72 6f 79 28 70 61 74 29 3b 00 00 00 1b 20 20 69 66 20 28 21 6d 61 74 63 68 29 20 72 | Destroy(pat);......if.(!match).r |
| 14a60 | 65 74 75 72 6e 20 66 61 6c 73 65 3b 00 00 00 17 20 20 46 63 43 68 61 72 38 20 2a 70 61 74 68 20 | eturn.false;......FcChar8.*path. |
| 14a80 | 3d 20 4e 55 4c 4c 3b 00 00 00 6f 20 20 69 66 20 28 46 63 50 61 74 74 65 72 6e 47 65 74 53 74 72 | =.NULL;...o..if.(FcPatternGetStr |
| 14aa0 | 69 6e 67 28 6d 61 74 63 68 2c 20 46 43 5f 46 49 4c 45 2c 20 30 2c 20 26 70 61 74 68 29 20 21 3d | ing(match,.FC_FILE,.0,.&path).!= |
| 14ac0 | 20 46 63 52 65 73 75 6c 74 4d 61 74 63 68 29 20 7b 20 46 63 50 61 74 74 65 72 6e 44 65 73 74 72 | .FcResultMatch).{.FcPatternDestr |
| 14ae0 | 6f 79 28 6d 61 74 63 68 29 3b 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 20 7d 00 00 00 4b 20 20 | oy(match);.return.false;.}...K.. |
| 14b00 | 69 66 20 28 46 54 5f 49 6e 69 74 5f 46 72 65 65 54 79 70 65 28 26 66 74 5f 6c 69 62 29 29 20 7b | if.(FT_Init_FreeType(&ft_lib)).{ |
| 14b20 | 20 46 63 50 61 74 74 65 72 6e 44 65 73 74 72 6f 79 28 6d 61 74 63 68 29 3b 20 72 65 74 75 72 6e | .FcPatternDestroy(match);.return |
| 14b40 | 20 66 61 6c 73 65 3b 20 7d 00 00 00 66 20 20 69 66 20 28 46 54 5f 4e 65 77 5f 46 61 63 65 28 66 | .false;.}...f..if.(FT_New_Face(f |
| 14b60 | 74 5f 6c 69 62 2c 20 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 29 70 61 74 68 2c 20 30 2c 20 26 66 | t_lib,.(const.char.*)path,.0,.&f |
| 14b80 | 74 5f 66 61 63 65 29 29 20 7b 20 46 63 50 61 74 74 65 72 6e 44 65 73 74 72 6f 79 28 6d 61 74 63 | t_face)).{.FcPatternDestroy(matc |
| 14ba0 | 68 29 3b 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 20 7d 00 00 00 1a 20 20 46 63 50 61 74 74 65 | h);.return.false;.}......FcPatte |
| 14bc0 | 72 6e 44 65 73 74 72 6f 79 28 6d 61 74 63 68 29 3b 00 00 00 18 20 20 75 70 64 61 74 65 5f 66 6f | rnDestroy(match);......update_fo |
| 14be0 | 6e 74 5f 6d 65 74 72 69 63 73 28 29 3b 00 00 00 0e 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 00 | nt_metrics();......return.true;. |
| 14c00 | 00 00 01 7d 00 00 00 00 00 00 00 46 73 74 61 74 69 63 20 76 6f 69 64 20 70 73 65 74 28 76 6f 69 | ...}.......Fstatic.void.pset(voi |
| 14c20 | 64 20 2a 70 78 2c 20 69 6e 74 20 70 77 2c 20 69 6e 74 20 70 68 2c 20 69 6e 74 20 78 2c 20 69 6e | d.*px,.int.pw,.int.ph,.int.x,.in |
| 14c40 | 74 20 79 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 2b 20 20 69 66 20 28 78 20 3e 3d | t.y,.uint32_t.c).{...+..if.(x.>= |
| 14c60 | 20 30 20 26 26 20 79 20 3e 3d 20 30 20 26 26 20 78 20 3c 20 70 77 20 26 26 20 79 20 3c 20 70 68 | .0.&&.y.>=.0.&&.x.<.pw.&&.y.<.ph |
| 14c80 | 29 00 00 00 25 20 20 20 20 28 28 75 69 6e 74 33 32 5f 74 20 2a 29 70 78 29 5b 79 20 2a 20 70 77 | )...%....((uint32_t.*)px)[y.*.pw |
| 14ca0 | 20 2b 20 78 5d 20 3d 20 63 3b 00 00 00 01 7d 00 00 00 00 00 00 00 55 73 74 61 74 69 63 20 76 6f | .+.x].=.c;....}.......Ustatic.vo |
| 14cc0 | 69 64 20 66 72 65 63 74 28 76 6f 69 64 20 2a 70 78 2c 20 69 6e 74 20 70 77 2c 20 69 6e 74 20 70 | id.frect(void.*px,.int.pw,.int.p |
| 14ce0 | 68 2c 20 69 6e 74 20 78 2c 20 69 6e 74 20 79 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 75 | h,.int.x,.int.y,.int.w,.int.h,.u |
| 14d00 | 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 20 20 20 66 6f 72 20 28 69 6e 74 20 64 79 20 3d 20 | int32_t.c).{......for.(int.dy.=. |
| 14d20 | 30 3b 20 64 79 20 3c 20 68 3b 20 64 79 2b 2b 29 00 00 00 22 20 20 20 20 66 6f 72 20 28 69 6e 74 | 0;.dy.<.h;.dy++)..."....for.(int |
| 14d40 | 20 64 78 20 3d 20 30 3b 20 64 78 20 3c 20 77 3b 20 64 78 2b 2b 29 00 00 00 26 20 20 20 20 20 20 | .dx.=.0;.dx.<.w;.dx++)...&...... |
| 14d60 | 70 73 65 74 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 78 2b 64 78 2c 20 79 2b 64 79 2c 20 63 29 3b | pset(px,.pw,.ph,.x+dx,.y+dy,.c); |
| 14d80 | 00 00 00 01 7d 00 00 00 00 00 00 00 52 73 74 61 74 69 63 20 76 6f 69 64 20 62 70 69 78 28 76 6f | ....}.......Rstatic.void.bpix(vo |
| 14da0 | 69 64 20 2a 70 78 2c 20 69 6e 74 20 70 77 2c 20 69 6e 74 20 70 68 2c 20 69 6e 74 20 78 2c 20 69 | id.*px,.int.pw,.int.ph,.int.x,.i |
| 14dc0 | 6e 74 20 79 2c 20 75 69 6e 74 33 32 5f 74 20 66 67 2c 20 75 69 6e 74 38 5f 74 20 61 29 20 7b 00 | nt.y,.uint32_t.fg,.uint8_t.a).{. |
| 14de0 | 00 00 33 20 20 69 66 20 28 78 20 3c 20 30 20 7c 7c 20 79 20 3c 20 30 20 7c 7c 20 78 20 3e 3d 20 | ..3..if.(x.<.0.||.y.<.0.||.x.>=. |
| 14e00 | 70 77 20 7c 7c 20 79 20 3e 3d 20 70 68 29 20 72 65 74 75 72 6e 3b 00 00 00 30 20 20 75 69 6e 74 | pw.||.y.>=.ph).return;...0..uint |
| 14e20 | 33 32 5f 74 20 2a 64 73 74 20 3d 20 26 28 28 75 69 6e 74 33 32 5f 74 20 2a 29 70 78 29 5b 79 20 | 32_t.*dst.=.&((uint32_t.*)px)[y. |
| 14e40 | 2a 20 70 77 20 2b 20 78 5d 3b 00 00 00 15 20 20 75 69 6e 74 33 32 5f 74 20 62 67 20 3d 20 2a 64 | *.pw.+.x];......uint32_t.bg.=.*d |
| 14e60 | 73 74 3b 00 00 00 3f 20 20 75 69 6e 74 33 32 5f 74 20 72 20 3d 20 28 28 66 67 3e 3e 31 36 26 30 | st;...?..uint32_t.r.=.((fg>>16&0 |
| 14e80 | 78 46 46 29 2a 61 20 2b 20 28 62 67 3e 3e 31 36 26 30 78 46 46 29 2a 28 32 35 35 2d 61 29 29 20 | xFF)*a.+.(bg>>16&0xFF)*(255-a)). |
| 14ea0 | 2f 20 32 35 35 3b 00 00 00 3f 20 20 75 69 6e 74 33 32 5f 74 20 67 20 3d 20 28 28 66 67 3e 3e 20 | /.255;...?..uint32_t.g.=.((fg>>. |
| 14ec0 | 38 26 30 78 46 46 29 2a 61 20 2b 20 28 62 67 3e 3e 20 38 26 30 78 46 46 29 2a 28 32 35 35 2d 61 | 8&0xFF)*a.+.(bg>>.8&0xFF)*(255-a |
| 14ee0 | 29 29 20 2f 20 32 35 35 3b 00 00 00 3f 20 20 75 69 6e 74 33 32 5f 74 20 62 20 3d 20 28 28 66 67 | ))./.255;...?..uint32_t.b.=.((fg |
| 14f00 | 20 20 20 20 26 30 78 46 46 29 2a 61 20 2b 20 28 62 67 20 20 20 20 26 30 78 46 46 29 2a 28 32 35 | ....&0xFF)*a.+.(bg....&0xFF)*(25 |
| 14f20 | 35 2d 61 29 29 20 2f 20 32 35 35 3b 00 00 00 2b 20 20 2a 64 73 74 20 3d 20 30 78 46 46 30 30 30 | 5-a))./.255;...+..*dst.=.0xFF000 |
| 14f40 | 30 30 30 20 7c 20 28 72 3c 3c 31 36 29 20 7c 20 28 67 3c 3c 38 29 20 7c 20 62 3b 00 00 00 01 7d | 000.|.(r<<16).|.(g<<8).|.b;....} |
| 14f60 | 00 00 00 00 00 00 00 5b 73 74 61 74 69 63 20 76 6f 69 64 20 64 67 6c 79 70 68 28 76 6f 69 64 20 | .......[static.void.dglyph(void. |
| 14f80 | 2a 70 78 2c 20 69 6e 74 20 70 77 2c 20 69 6e 74 20 70 68 2c 20 69 6e 74 20 63 78 2c 20 69 6e 74 | *px,.int.pw,.int.ph,.int.cx,.int |
| 14fa0 | 20 63 79 2c 20 75 69 6e 74 33 32 5f 74 20 63 70 2c 20 75 69 6e 74 33 32 5f 74 20 63 6f 6c 6f 72 | .cy,.uint32_t.cp,.uint32_t.color |
| 14fc0 | 29 20 7b 00 00 00 2c 20 20 46 54 5f 4c 6f 61 64 5f 43 68 61 72 28 66 74 5f 66 61 63 65 2c 20 63 | ).{...,..FT_Load_Char(ft_face,.c |
| 14fe0 | 70 2c 20 46 54 5f 4c 4f 41 44 5f 52 45 4e 44 45 52 29 3b 00 00 00 25 20 20 46 54 5f 47 6c 79 70 | p,.FT_LOAD_RENDER);...%..FT_Glyp |
| 15000 | 68 53 6c 6f 74 20 73 6c 6f 74 20 3d 20 66 74 5f 66 61 63 65 2d 3e 67 6c 79 70 68 3b 00 00 00 20 | hSlot.slot.=.ft_face->glyph;.... |
| 15020 | 20 20 46 54 5f 42 69 74 6d 61 70 20 2a 62 6d 20 3d 20 26 73 6c 6f 74 2d 3e 62 69 74 6d 61 70 3b | ..FT_Bitmap.*bm.=.&slot->bitmap; |
| 15040 | 00 00 00 1d 20 20 69 6e 74 20 6f 78 20 3d 20 73 6c 6f 74 2d 3e 62 69 74 6d 61 70 5f 6c 65 66 74 | ......int.ox.=.slot->bitmap_left |
| 15060 | 3b 00 00 00 2c 20 20 69 6e 74 20 6f 79 20 3d 20 63 79 20 2b 20 61 73 63 65 6e 64 65 72 20 2d 20 | ;...,..int.oy.=.cy.+.ascender.-. |
| 15080 | 73 6c 6f 74 2d 3e 62 69 74 6d 61 70 5f 74 6f 70 3b 00 00 00 2f 20 20 66 6f 72 20 28 69 6e 74 20 | slot->bitmap_top;.../..for.(int. |
| 150a0 | 72 6f 77 20 3d 20 30 3b 20 72 6f 77 20 3c 20 28 69 6e 74 29 62 6d 2d 3e 72 6f 77 73 3b 20 72 6f | row.=.0;.row.<.(int)bm->rows;.ro |
| 150c0 | 77 2b 2b 29 00 00 00 34 20 20 20 20 66 6f 72 20 28 69 6e 74 20 63 6f 6c 20 3d 20 30 3b 20 63 6f | w++)...4....for.(int.col.=.0;.co |
| 150e0 | 6c 20 3c 20 28 69 6e 74 29 62 6d 2d 3e 77 69 64 74 68 3b 20 63 6f 6c 2b 2b 29 20 7b 00 00 00 35 | l.<.(int)bm->width;.col++).{...5 |
| 15100 | 20 20 20 20 20 20 75 69 6e 74 38 5f 74 20 61 76 20 3d 20 62 6d 2d 3e 62 75 66 66 65 72 5b 72 6f | ......uint8_t.av.=.bm->buffer[ro |
| 15120 | 77 20 2a 20 62 6d 2d 3e 70 69 74 63 68 20 2b 20 63 6f 6c 5d 3b 00 00 00 3d 20 20 20 20 20 20 69 | w.*.bm->pitch.+.col];...=......i |
| 15140 | 66 20 28 61 76 29 20 62 70 69 78 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 63 78 2b 6f 78 2b 63 6f | f.(av).bpix(px,.pw,.ph,.cx+ox+co |
| 15160 | 6c 2c 20 6f 79 2b 72 6f 77 2c 20 63 6f 6c 6f 72 2c 20 61 76 29 3b 00 00 00 05 20 20 20 20 7d 00 | l,.oy+row,.color,.av);........}. |
| 15180 | 00 00 01 7d 00 00 00 00 00 00 00 59 73 74 61 74 69 63 20 76 6f 69 64 20 64 73 74 72 28 76 6f 69 | ...}.......Ystatic.void.dstr(voi |
| 151a0 | 64 20 2a 70 78 2c 20 69 6e 74 20 70 77 2c 20 69 6e 74 20 70 68 2c 20 69 6e 74 20 78 2c 20 69 6e | d.*px,.int.pw,.int.ph,.int.x,.in |
| 151c0 | 74 20 79 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 2c 20 75 69 6e 74 33 32 5f 74 20 63 6f 6c | t.y,.const.char.*s,.uint32_t.col |
| 151e0 | 6f 72 29 20 7b 00 00 00 2f 20 20 66 6f 72 20 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 70 20 3d 20 | or).{.../..for.(const.char.*p.=. |
| 15200 | 73 3b 20 2a 70 3b 20 70 2b 2b 2c 20 78 20 2b 3d 20 63 65 6c 6c 5f 77 29 00 00 00 37 20 20 20 20 | s;.*p;.p++,.x.+=.cell_w)...7.... |
| 15220 | 64 67 6c 79 70 68 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 78 2c 20 79 2c 20 28 75 6e 73 69 67 6e | dglyph(px,.pw,.ph,.x,.y,.(unsign |
| 15240 | 65 64 20 63 68 61 72 29 2a 70 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 41 | ed.char)*p,.color);....}.......A |
| 15260 | 73 74 61 74 69 63 20 69 6e 74 20 73 70 77 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 29 20 7b 20 | static.int.spw(const.char.*s).{. |
| 15280 | 72 65 74 75 72 6e 20 28 69 6e 74 29 73 74 72 6c 65 6e 28 73 29 20 2a 20 63 65 6c 6c 5f 77 3b 20 | return.(int)strlen(s).*.cell_w;. |
| 152a0 | 7d 00 00 00 00 00 00 00 5a 73 74 61 74 69 63 20 76 6f 69 64 20 2a 6d 61 6b 65 5f 73 68 6d 28 73 | }.......Zstatic.void.*make_shm(s |
| 152c0 | 74 72 75 63 74 20 61 70 70 20 2a 61 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 73 74 72 75 | truct.app.*a,.int.w,.int.h,.stru |
| 152e0 | 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 2a 6f 62 75 66 2c 20 73 69 7a 65 5f 74 20 2a 6f 73 7a | ct.wl_buffer.**obuf,.size_t.*osz |
| 15300 | 29 20 7b 00 00 00 20 20 20 73 69 7a 65 5f 74 20 73 7a 20 3d 20 28 73 69 7a 65 5f 74 29 77 20 2a | ).{......size_t.sz.=.(size_t)w.* |
| 15320 | 20 68 20 2a 20 34 3b 00 00 00 23 20 20 63 68 61 72 20 74 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 61 | .h.*.4;...#..char.t[].=."/tmp/wa |
| 15340 | 79 6c 61 6e 64 2d 58 58 58 58 58 58 22 3b 00 00 00 21 20 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 | yland-XXXXXX";...!..int.fd.=.mks |
| 15360 | 74 65 6d 70 28 74 29 3b 20 75 6e 6c 69 6e 6b 28 74 29 3b 00 00 00 42 20 20 69 66 20 28 66 64 20 | temp(t);.unlink(t);...B..if.(fd. |
| 15380 | 3c 20 30 20 7c 7c 20 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 73 7a 29 20 3c 20 30 29 20 7b 20 | <.0.||.ftruncate(fd,.sz).<.0).{. |
| 153a0 | 70 65 72 72 6f 72 28 22 73 68 6d 22 29 3b 20 65 78 69 74 28 31 29 3b 20 7d 00 00 00 45 20 20 76 | perror("shm");.exit(1);.}...E..v |
| 153c0 | 6f 69 64 20 2a 70 78 20 3d 20 6d 6d 61 70 28 4e 55 4c 4c 2c 20 73 7a 2c 20 50 52 4f 54 5f 52 45 | oid.*px.=.mmap(NULL,.sz,.PROT_RE |
| 153e0 | 41 44 7c 50 52 4f 54 5f 57 52 49 54 45 2c 20 4d 41 50 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 30 | AD|PROT_WRITE,.MAP_SHARED,.fd,.0 |
| 15400 | 29 3b 00 00 00 34 20 20 69 66 20 28 70 78 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 20 7b 20 | );...4..if.(px.==.MAP_FAILED).{. |
| 15420 | 70 65 72 72 6f 72 28 22 6d 6d 61 70 22 29 3b 20 65 78 69 74 28 31 29 3b 20 7d 00 00 00 40 20 20 | perror("mmap");.exit(1);.}...@.. |
| 15440 | 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 20 3d 20 77 6c 5f 73 68 | struct.wl_shm_pool.*pool.=.wl_sh |
| 15460 | 6d 5f 63 72 65 61 74 65 5f 70 6f 6f 6c 28 61 2d 3e 73 68 6d 2c 20 66 64 2c 20 73 7a 29 3b 00 00 | m_create_pool(a->shm,.fd,.sz);.. |
| 15480 | 00 50 20 20 2a 6f 62 75 66 20 3d 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 72 65 61 74 65 5f 62 | .P..*obuf.=.wl_shm_pool_create_b |
| 154a0 | 75 66 66 65 72 28 70 6f 6f 6c 2c 20 30 2c 20 77 2c 20 68 2c 20 77 2a 34 2c 20 57 4c 5f 53 48 4d | uffer(pool,.0,.w,.h,.w*4,.WL_SHM |
| 154c0 | 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 27 20 20 77 6c 5f 73 68 6d 5f 70 | _FORMAT_ARGB8888);...'..wl_shm_p |
| 154e0 | 6f 6f 6c 5f 64 65 73 74 72 6f 79 28 70 6f 6f 6c 29 3b 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 | ool_destroy(pool);.close(fd);... |
| 15500 | 15 20 20 69 66 20 28 6f 73 7a 29 20 2a 6f 73 7a 20 3d 20 73 7a 3b 00 00 00 0c 20 20 72 65 74 75 | ...if.(osz).*osz.=.sz;......retu |
| 15520 | 72 6e 20 70 78 3b 00 00 00 01 7d 00 00 00 00 00 00 00 3a 73 74 61 74 69 63 20 69 6e 74 20 62 61 | rn.px;....}.......:static.int.ba |
| 15540 | 72 5f 79 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 20 20 7b 20 72 65 74 75 72 6e 20 61 2d | r_y(struct.app.*a)...{.return.a- |
| 15560 | 3e 68 20 2d 20 42 41 52 5f 48 3b 20 7d 00 00 00 3a 73 74 61 74 69 63 20 69 6e 74 20 74 65 78 74 | >h.-.BAR_H;.}...:static.int.text |
| 15580 | 5f 68 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 20 7b 20 72 65 74 75 72 6e 20 61 2d 3e 68 | _h(struct.app.*a)..{.return.a->h |
| 155a0 | 20 2d 20 42 41 52 5f 48 3b 20 7d 00 00 00 00 00 00 00 19 73 74 61 74 69 63 20 69 6e 74 20 62 74 | .-.BAR_H;.}........static.int.bt |
| 155c0 | 6e 5f 78 28 69 6e 74 20 69 29 20 7b 00 00 00 0e 20 20 69 6e 74 20 78 20 3d 20 50 41 44 3b 00 00 | n_x(int.i).{......int.x.=.PAD;.. |
| 155e0 | 00 27 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6c 62 6c 73 5b 5d 20 3d 20 7b 22 46 69 6c 65 22 | .'..const.char.*lbls[].=.{"File" |
| 15600 | 2c 22 49 6e 66 6f 22 7d 3b 00 00 00 3c 20 20 66 6f 72 20 28 69 6e 74 20 6a 20 3d 20 30 3b 20 6a | ,"Info"};...<..for.(int.j.=.0;.j |
| 15620 | 20 3c 20 69 3b 20 6a 2b 2b 29 20 78 20 2b 3d 20 73 70 77 28 6c 62 6c 73 5b 6a 5d 29 20 2b 20 42 | .<.i;.j++).x.+=.spw(lbls[j]).+.B |
| 15640 | 54 4e 5f 50 41 44 2a 32 3b 00 00 00 0b 20 20 72 65 74 75 72 6e 20 78 3b 00 00 00 01 7d 00 00 00 | TN_PAD*2;......return.x;....}... |
| 15660 | 47 73 74 61 74 69 63 20 69 6e 74 20 62 74 6e 5f 77 28 69 6e 74 20 69 29 20 7b 20 72 65 74 75 72 | Gstatic.int.btn_w(int.i).{.retur |
| 15680 | 6e 20 73 70 77 28 69 3d 3d 30 3f 22 46 69 6c 65 22 3a 22 49 6e 66 6f 22 29 20 2b 20 42 54 4e 5f | n.spw(i==0?"File":"Info").+.BTN_ |
| 156a0 | 50 41 44 2a 32 3b 20 7d 00 00 00 00 00 00 00 2b 73 74 61 74 69 63 20 69 6e 74 20 64 69 68 28 76 | PAD*2;.}.......+static.int.dih(v |
| 156c0 | 6f 69 64 29 20 7b 20 72 65 74 75 72 6e 20 63 65 6c 6c 5f 68 20 2b 20 38 3b 20 7d 00 00 00 00 00 | oid).{.return.cell_h.+.8;.}..... |
| 156e0 | 00 00 23 73 74 61 74 69 63 20 69 6e 74 20 64 72 6f 70 5f 74 6f 74 61 6c 5f 68 28 4d 65 6e 75 49 | ..#static.int.drop_total_h(MenuI |
| 15700 | 64 20 6d 29 20 7b 00 00 00 2b 20 20 69 6e 74 20 6e 20 3d 20 28 6d 3d 3d 4d 45 4e 55 5f 46 49 4c | d.m).{...+..int.n.=.(m==MENU_FIL |
| 15720 | 45 29 20 3f 20 4e 5f 46 49 4c 45 20 3a 20 4e 5f 49 4e 46 4f 3b 00 00 00 43 20 20 63 6f 6e 73 74 | E).?.N_FILE.:.N_INFO;...C..const |
| 15740 | 20 4d 65 6e 75 49 74 65 6d 20 2a 69 74 65 6d 73 20 3d 20 28 6d 3d 3d 4d 45 4e 55 5f 46 49 4c 45 | .MenuItem.*items.=.(m==MENU_FILE |
| 15760 | 29 20 3f 20 66 69 6c 65 5f 69 74 65 6d 73 20 3a 20 69 6e 66 6f 5f 69 74 65 6d 73 3b 00 00 00 18 | ).?.file_items.:.info_items;.... |
| 15780 | 20 20 69 6e 74 20 68 20 3d 20 6e 20 2a 20 64 69 68 28 29 20 2b 20 34 3b 00 00 00 3d 20 20 66 6f | ..int.h.=.n.*.dih().+.4;...=..fo |
| 157a0 | 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 6e 3b 20 69 2b 2b 29 20 69 66 20 28 69 74 | r.(int.i.=.0;.i.<.n;.i++).if.(it |
| 157c0 | 65 6d 73 5b 69 5d 2e 73 65 70 5f 61 66 74 65 72 29 20 68 20 2b 3d 20 34 3b 00 00 00 0b 20 20 72 | ems[i].sep_after).h.+=.4;......r |
| 157e0 | 65 74 75 72 6e 20 68 3b 00 00 00 01 7d 00 00 00 00 00 00 00 1d 73 74 61 74 69 63 20 69 6e 74 20 | eturn.h;....}........static.int. |
| 15800 | 64 72 6f 70 5f 77 28 4d 65 6e 75 49 64 20 6d 29 20 7b 00 00 00 10 20 20 69 6e 74 20 6d 61 78 77 | drop_w(MenuId.m).{......int.maxw |
| 15820 | 20 3d 20 38 30 3b 00 00 00 2b 20 20 69 6e 74 20 6e 20 3d 20 28 6d 3d 3d 4d 45 4e 55 5f 46 49 4c | .=.80;...+..int.n.=.(m==MENU_FIL |
| 15840 | 45 29 20 3f 20 4e 5f 46 49 4c 45 20 3a 20 4e 5f 49 4e 46 4f 3b 00 00 00 43 20 20 63 6f 6e 73 74 | E).?.N_FILE.:.N_INFO;...C..const |
| 15860 | 20 4d 65 6e 75 49 74 65 6d 20 2a 69 74 65 6d 73 20 3d 20 28 6d 3d 3d 4d 45 4e 55 5f 46 49 4c 45 | .MenuItem.*items.=.(m==MENU_FILE |
| 15880 | 29 20 3f 20 66 69 6c 65 5f 69 74 65 6d 73 20 3a 20 69 6e 66 6f 5f 69 74 65 6d 73 3b 00 00 00 1f | ).?.file_items.:.info_items;.... |
| 158a0 | 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 6e 3b 20 69 2b 2b 29 20 7b 00 | ..for.(int.i.=.0;.i.<.n;.i++).{. |
| 158c0 | 00 00 2c 20 20 20 20 69 6e 74 20 77 20 3d 20 73 70 77 28 69 74 65 6d 73 5b 69 5d 2e 6c 61 62 65 | ..,....int.w.=.spw(items[i].labe |
| 158e0 | 6c 29 20 2b 20 42 54 4e 5f 50 41 44 2a 32 3b 00 00 00 1b 20 20 20 20 69 66 20 28 77 20 3e 20 6d | l).+.BTN_PAD*2;........if.(w.>.m |
| 15900 | 61 78 77 29 20 6d 61 78 77 20 3d 20 77 3b 00 00 00 03 20 20 7d 00 00 00 0e 20 20 72 65 74 75 72 | axw).maxw.=.w;......}......retur |
| 15920 | 6e 20 6d 61 78 77 3b 00 00 00 01 7d 00 00 00 00 00 00 00 35 73 74 61 74 69 63 20 69 6e 74 20 69 | n.maxw;....}.......5static.int.i |
| 15940 | 74 65 6d 5f 61 74 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 2c 20 4d 65 6e 75 49 64 20 6d 2c 20 | tem_at(struct.app.*a,.MenuId.m,. |
| 15960 | 69 6e 74 20 6d 79 29 20 7b 00 00 00 14 20 20 69 6e 74 20 62 79 20 3d 20 62 61 72 5f 79 28 61 29 | int.my).{......int.by.=.bar_y(a) |
| 15980 | 3b 00 00 00 2b 20 20 69 6e 74 20 6e 20 3d 20 28 6d 3d 3d 4d 45 4e 55 5f 46 49 4c 45 29 20 3f 20 | ;...+..int.n.=.(m==MENU_FILE).?. |
| 159a0 | 4e 5f 46 49 4c 45 20 3a 20 4e 5f 49 4e 46 4f 3b 00 00 00 43 20 20 63 6f 6e 73 74 20 4d 65 6e 75 | N_FILE.:.N_INFO;...C..const.Menu |
| 159c0 | 49 74 65 6d 20 2a 69 74 65 6d 73 20 3d 20 28 6d 3d 3d 4d 45 4e 55 5f 46 49 4c 45 29 20 3f 20 66 | Item.*items.=.(m==MENU_FILE).?.f |
| 159e0 | 69 6c 65 5f 69 74 65 6d 73 20 3a 20 69 6e 66 6f 5f 69 74 65 6d 73 3b 00 00 00 24 20 20 69 6e 74 | ile_items.:.info_items;...$..int |
| 15a00 | 20 69 79 20 3d 20 62 79 20 2d 20 64 72 6f 70 5f 74 6f 74 61 6c 5f 68 28 6d 29 20 2b 20 34 3b 00 | .iy.=.by.-.drop_total_h(m).+.4;. |
| 15a20 | 00 00 1f 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 6e 3b 20 69 2b 2b 29 | .....for.(int.i.=.0;.i.<.n;.i++) |
| 15a40 | 20 7b 00 00 00 2e 20 20 20 20 69 66 20 28 6d 79 20 3e 3d 20 69 79 20 26 26 20 6d 79 20 3c 20 69 | .{........if.(my.>=.iy.&&.my.<.i |
| 15a60 | 79 20 2b 20 64 69 68 28 29 29 20 72 65 74 75 72 6e 20 69 3b 00 00 00 10 20 20 20 20 69 79 20 2b | y.+.dih()).return.i;........iy.+ |
| 15a80 | 3d 20 64 69 68 28 29 3b 00 00 00 24 20 20 20 20 69 66 20 28 69 74 65 6d 73 5b 69 5d 2e 73 65 70 | =.dih();...$....if.(items[i].sep |
| 15aa0 | 5f 61 66 74 65 72 29 20 69 79 20 2b 3d 20 34 3b 00 00 00 03 20 20 7d 00 00 00 0c 20 20 72 65 74 | _after).iy.+=.4;......}......ret |
| 15ac0 | 75 72 6e 20 2d 31 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 | urn.-1;....}.......#static.void. |
| 15ae0 | 64 6f 5f 73 61 76 65 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 3b 00 00 00 22 73 74 61 74 69 | do_save(struct.app.*a);..."stati |
| 15b00 | 63 20 76 6f 69 64 20 64 6f 5f 6e 65 77 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 3b 00 00 00 | c.void.do_new(struct.app.*a);... |
| 15b20 | 23 73 74 61 74 69 63 20 76 6f 69 64 20 64 6f 5f 6f 70 65 6e 28 73 74 72 75 63 74 20 61 70 70 20 | #static.void.do_open(struct.app. |
| 15b40 | 2a 61 29 3b 00 00 00 26 73 74 61 74 69 63 20 76 6f 69 64 20 6f 70 65 6e 5f 61 62 6f 75 74 28 73 | *a);...&static.void.open_about(s |
| 15b60 | 74 72 75 63 74 20 61 70 70 20 2a 61 29 3b 00 00 00 22 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 | truct.app.*a);..."static.void.re |
| 15b80 | 64 72 61 77 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 3b 00 00 00 00 00 00 00 23 73 74 61 74 | draw(struct.app.*a);.......#stat |
| 15ba0 | 69 63 20 76 6f 69 64 20 64 6f 5f 6e 65 77 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 | ic.void.do_new(struct.app.*a).{. |
| 15bc0 | 00 00 1f 20 20 6d 65 6d 73 65 74 28 74 65 78 74 2c 20 30 2c 20 73 69 7a 65 6f 66 20 74 65 78 74 | .....memset(text,.0,.sizeof.text |
| 15be0 | 29 3b 00 00 00 22 20 20 74 6c 65 6e 3d 30 3b 20 63 75 72 73 6f 72 3d 30 3b 20 73 65 6c 5f 61 6e | );..."..tlen=0;.cursor=0;.sel_an |
| 15c00 | 63 68 6f 72 3d 2d 31 3b 00 00 00 20 20 20 66 69 6c 65 70 61 74 68 5b 30 5d 3d 27 5c 30 27 3b 20 | chor=-1;......filepath[0]='\0';. |
| 15c20 | 64 69 72 74 79 3d 66 61 6c 73 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 24 73 74 61 74 69 63 20 | dirty=false;....}.......$static. |
| 15c40 | 76 6f 69 64 20 64 6f 5f 73 61 76 65 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 | void.do_save(struct.app.*a).{... |
| 15c60 | 15 20 20 69 66 20 28 21 66 69 6c 65 70 61 74 68 5b 30 5d 29 20 7b 00 00 00 23 20 20 20 20 63 6f | ...if.(!filepath[0]).{...#....co |
| 15c80 | 6e 73 74 20 63 68 61 72 20 2a 68 20 3d 20 67 65 74 65 6e 76 28 22 48 4f 4d 45 22 29 3b 00 00 00 | nst.char.*h.=.getenv("HOME");... |
| 15ca0 | 47 20 20 20 20 73 6e 70 72 69 6e 74 66 28 66 69 6c 65 70 61 74 68 2c 20 73 69 7a 65 6f 66 20 66 | G....snprintf(filepath,.sizeof.f |
| 15cc0 | 69 6c 65 70 61 74 68 2c 20 22 25 73 2f 75 6e 74 69 74 6c 65 64 2e 74 78 74 22 2c 20 68 3f 68 3a | ilepath,."%s/untitled.txt",.h?h: |
| 15ce0 | 22 2f 74 6d 70 22 29 3b 00 00 00 03 20 20 7d 00 00 00 3a 20 20 69 6e 74 20 66 64 20 3d 20 6f 70 | "/tmp");......}...:..int.fd.=.op |
| 15d00 | 65 6e 28 66 69 6c 65 70 61 74 68 2c 20 4f 5f 57 52 4f 4e 4c 59 7c 4f 5f 43 52 45 41 54 7c 4f 5f | en(filepath,.O_WRONLY|O_CREAT|O_ |
| 15d20 | 54 52 55 4e 43 2c 20 30 36 34 34 29 3b 00 00 00 29 20 20 69 66 20 28 66 64 20 3c 20 30 29 20 7b | TRUNC,.0644);...)..if.(fd.<.0).{ |
| 15d40 | 20 70 65 72 72 6f 72 28 22 73 61 76 65 22 29 3b 20 72 65 74 75 72 6e 3b 20 7d 00 00 00 30 20 20 | .perror("save");.return;.}...0.. |
| 15d60 | 77 72 69 74 65 28 66 64 2c 20 74 65 78 74 2c 20 74 6c 65 6e 29 3b 20 63 6c 6f 73 65 28 66 64 29 | write(fd,.text,.tlen);.close(fd) |
| 15d80 | 3b 20 64 69 72 74 79 3d 66 61 6c 73 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 24 73 74 61 74 69 | ;.dirty=false;....}.......$stati |
| 15da0 | 63 20 76 6f 69 64 20 64 6f 5f 6f 70 65 6e 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 | c.void.do_open(struct.app.*a).{. |
| 15dc0 | 00 00 21 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 68 20 3d 20 67 65 74 65 6e 76 28 22 48 4f 4d | ..!..const.char.*h.=.getenv("HOM |
| 15de0 | 45 22 29 3b 00 00 00 12 20 20 63 68 61 72 20 70 61 74 68 5b 34 30 39 36 5d 3b 00 00 00 3d 20 20 | E");......char.path[4096];...=.. |
| 15e00 | 73 6e 70 72 69 6e 74 66 28 70 61 74 68 2c 20 73 69 7a 65 6f 66 20 70 61 74 68 2c 20 22 25 73 2f | snprintf(path,.sizeof.path,."%s/ |
| 15e20 | 75 6e 74 69 74 6c 65 64 2e 74 78 74 22 2c 20 68 3f 68 3a 22 2f 74 6d 70 22 29 3b 00 00 00 20 20 | untitled.txt",.h?h:"/tmp");..... |
| 15e40 | 20 69 6e 74 20 66 64 20 3d 20 6f 70 65 6e 28 70 61 74 68 2c 20 4f 5f 52 44 4f 4e 4c 59 29 3b 00 | .int.fd.=.open(path,.O_RDONLY);. |
| 15e60 | 00 00 15 20 20 69 66 20 28 66 64 20 3c 20 30 29 20 72 65 74 75 72 6e 3b 00 00 00 34 20 20 73 73 | .....if.(fd.<.0).return;...4..ss |
| 15e80 | 69 7a 65 5f 74 20 6e 20 3d 20 72 65 61 64 28 66 64 2c 20 74 65 78 74 2c 20 4d 41 58 5f 54 45 58 | ize_t.n.=.read(fd,.text,.MAX_TEX |
| 15ea0 | 54 2d 31 29 3b 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 14 20 20 69 66 20 28 6e 20 3c 20 30 29 | T-1);.close(fd);......if.(n.<.0) |
| 15ec0 | 20 72 65 74 75 72 6e 3b 00 00 00 1f 20 20 74 6c 65 6e 3d 28 69 6e 74 29 6e 3b 20 74 65 78 74 5b | .return;......tlen=(int)n;.text[ |
| 15ee0 | 74 6c 65 6e 5d 3d 27 5c 30 27 3b 00 00 00 1d 20 20 63 75 72 73 6f 72 3d 74 6c 65 6e 3b 20 73 65 | tlen]='\0';......cursor=tlen;.se |
| 15f00 | 6c 5f 61 6e 63 68 6f 72 3d 2d 31 3b 00 00 00 32 20 20 73 6e 70 72 69 6e 74 66 28 66 69 6c 65 70 | l_anchor=-1;...2..snprintf(filep |
| 15f20 | 61 74 68 2c 20 73 69 7a 65 6f 66 20 66 69 6c 65 70 61 74 68 2c 20 22 25 73 22 2c 20 70 61 74 68 | ath,.sizeof.filepath,."%s",.path |
| 15f40 | 29 3b 00 00 00 0e 20 20 64 69 72 74 79 3d 66 61 6c 73 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 | );......dirty=false;....}....... |
| 15f60 | 39 73 74 61 74 69 63 20 76 6f 69 64 20 66 69 72 65 5f 69 74 65 6d 28 73 74 72 75 63 74 20 61 70 | 9static.void.fire_item(struct.ap |
| 15f80 | 70 20 2a 61 2c 20 4d 65 6e 75 49 64 20 6d 2c 20 69 6e 74 20 69 64 78 29 20 7b 00 00 00 31 20 20 | p.*a,.MenuId.m,.int.idx).{...1.. |
| 15fa0 | 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 20 3d 20 4d 45 4e 55 5f 4e 4f 4e 45 3b 20 61 2d 3e 68 6f 76 | a->open_menu.=.MENU_NONE;.a->hov |
| 15fc0 | 65 72 65 64 5f 69 74 65 6d 20 3d 20 2d 31 3b 00 00 00 17 20 20 69 66 20 28 6d 20 3d 3d 20 4d 45 | ered_item.=.-1;......if.(m.==.ME |
| 15fe0 | 4e 55 5f 46 49 4c 45 29 20 7b 00 00 00 12 20 20 20 20 73 77 69 74 63 68 20 28 69 64 78 29 20 7b | NU_FILE).{........switch.(idx).{ |
| 16000 | 00 00 00 1f 20 20 20 20 20 20 63 61 73 65 20 30 3a 20 64 6f 5f 6e 65 77 28 61 29 3b 20 62 72 65 | ..........case.0:.do_new(a);.bre |
| 16020 | 61 6b 3b 00 00 00 20 20 20 20 20 20 20 63 61 73 65 20 31 3a 20 64 6f 5f 6f 70 65 6e 28 61 29 3b | ak;..........case.1:.do_open(a); |
| 16040 | 20 62 72 65 61 6b 3b 00 00 00 20 20 20 20 20 20 20 63 61 73 65 20 32 3a 20 64 6f 5f 73 61 76 65 | .break;..........case.2:.do_save |
| 16060 | 28 61 29 3b 20 62 72 65 61 6b 3b 00 00 00 0f 20 20 20 20 20 20 63 61 73 65 20 33 3a 20 7b 00 00 | (a);.break;..........case.3:.{.. |
| 16080 | 00 27 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 68 20 3d 20 67 65 74 65 6e 76 | .'........const.char.*h.=.getenv |
| 160a0 | 28 22 48 4f 4d 45 22 29 3b 00 00 00 4b 20 20 20 20 20 20 20 20 73 6e 70 72 69 6e 74 66 28 66 69 | ("HOME");...K........snprintf(fi |
| 160c0 | 6c 65 70 61 74 68 2c 20 73 69 7a 65 6f 66 20 66 69 6c 65 70 61 74 68 2c 20 22 25 73 2f 75 6e 74 | lepath,.sizeof.filepath,."%s/unt |
| 160e0 | 69 74 6c 65 64 2e 74 78 74 22 2c 20 68 3f 68 3a 22 2f 74 6d 70 22 29 3b 00 00 00 1a 20 20 20 20 | itled.txt",.h?h:"/tmp");........ |
| 16100 | 20 20 20 20 64 6f 5f 73 61 76 65 28 61 29 3b 20 62 72 65 61 6b 3b 00 00 00 07 20 20 20 20 20 20 | ....do_save(a);.break;.......... |
| 16120 | 7d 00 00 00 22 20 20 20 20 20 20 63 61 73 65 20 34 3a 20 64 6f 5f 73 61 76 65 28 61 29 3b 20 65 | }..."......case.4:.do_save(a);.e |
| 16140 | 78 69 74 28 30 29 3b 00 00 00 16 20 20 20 20 20 20 63 61 73 65 20 35 3a 20 65 78 69 74 28 30 29 | xit(0);..........case.5:.exit(0) |
| 16160 | 3b 00 00 00 05 20 20 20 20 7d 00 00 00 1e 20 20 7d 20 65 6c 73 65 20 69 66 20 28 6d 20 3d 3d 20 | ;........}......}.else.if.(m.==. |
| 16180 | 4d 45 4e 55 5f 49 4e 46 4f 29 20 7b 00 00 00 20 20 20 20 20 69 66 20 28 69 64 78 20 3d 3d 20 30 | MENU_INFO).{........if.(idx.==.0 |
| 161a0 | 29 20 6f 70 65 6e 5f 61 62 6f 75 74 28 61 29 3b 00 00 00 03 20 20 7d 00 00 00 0c 20 20 72 65 64 | ).open_about(a);......}......red |
| 161c0 | 72 61 77 28 61 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 25 73 74 61 74 69 63 20 76 6f 69 64 20 | raw(a);....}.......%static.void. |
| 161e0 | 64 72 61 77 5f 62 61 72 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 2d 20 20 76 | draw_bar(struct.app.*a).{...-..v |
| 16200 | 6f 69 64 20 2a 70 78 20 3d 20 61 2d 3e 70 69 78 65 6c 73 3b 20 69 6e 74 20 70 77 3d 61 2d 3e 77 | oid.*px.=.a->pixels;.int.pw=a->w |
| 16220 | 2c 20 70 68 3d 61 2d 3e 68 3b 00 00 00 14 20 20 69 6e 74 20 62 79 20 3d 20 62 61 72 5f 79 28 61 | ,.ph=a->h;......int.by.=.bar_y(a |
| 16240 | 29 3b 00 00 00 2a 20 20 66 72 65 63 74 28 70 78 2c 70 77 2c 70 68 2c 20 30 2c 62 79 2c 20 70 77 | );...*..frect(px,pw,ph,.0,by,.pw |
| 16260 | 2c 42 41 52 5f 48 2c 20 42 41 52 5f 42 47 29 3b 00 00 00 2d 20 20 66 72 65 63 74 28 70 78 2c 70 | ,BAR_H,.BAR_BG);...-..frect(px,p |
| 16280 | 77 2c 70 68 2c 20 30 2c 62 79 2c 20 70 77 2c 31 2c 20 20 20 20 20 53 45 50 5f 43 4f 4c 4f 52 29 | w,ph,.0,by,.pw,1,.....SEP_COLOR) |
| 162a0 | 3b 00 00 00 27 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6c 62 6c 73 5b 5d 20 3d 20 7b 22 46 69 | ;...'..const.char.*lbls[].=.{"Fi |
| 162c0 | 6c 65 22 2c 22 49 6e 66 6f 22 7d 3b 00 00 00 1f 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 | le","Info"};......for.(int.i.=.0 |
| 162e0 | 3b 20 69 20 3c 20 32 3b 20 69 2b 2b 29 20 7b 00 00 00 21 20 20 20 20 69 6e 74 20 62 78 3d 62 74 | ;.i.<.2;.i++).{...!....int.bx=bt |
| 16300 | 6e 5f 78 28 69 29 2c 20 62 77 3d 62 74 6e 5f 77 28 69 29 3b 00 00 00 44 20 20 20 20 62 6f 6f 6c | n_x(i),.bw=btn_w(i);...D....bool |
| 16320 | 20 68 6f 76 20 3d 20 61 2d 3e 6d 6f 75 73 65 5f 79 3e 3d 62 79 20 26 26 20 61 2d 3e 6d 6f 75 73 | .hov.=.a->mouse_y>=by.&&.a->mous |
| 16340 | 65 5f 78 3e 3d 62 78 20 26 26 20 61 2d 3e 6d 6f 75 73 65 5f 78 3c 62 78 2b 62 77 3b 00 00 00 27 | e_x>=bx.&&.a->mouse_x<bx+bw;...' |
| 16360 | 20 20 20 20 69 66 20 28 68 6f 76 20 7c 7c 20 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 3d 3d 28 4d 65 | ....if.(hov.||.a->open_menu==(Me |
| 16380 | 6e 75 49 64 29 69 29 00 00 00 34 20 20 20 20 20 20 66 72 65 63 74 28 70 78 2c 70 77 2c 70 68 2c | nuId)i)...4......frect(px,pw,ph, |
| 163a0 | 20 62 78 2c 62 79 2b 31 2c 20 62 77 2c 42 41 52 5f 48 2d 31 2c 20 42 54 4e 5f 48 4f 56 29 3b 00 | .bx,by+1,.bw,BAR_H-1,.BTN_HOV);. |
| 163c0 | 00 00 45 20 20 20 20 64 73 74 72 28 70 78 2c 70 77 2c 70 68 2c 20 62 78 2b 42 54 4e 5f 50 41 44 | ..E....dstr(px,pw,ph,.bx+BTN_PAD |
| 163e0 | 2c 20 62 79 2b 28 42 41 52 5f 48 2d 63 65 6c 6c 5f 68 29 2f 32 2c 20 6c 62 6c 73 5b 69 5d 2c 20 | ,.by+(BAR_H-cell_h)/2,.lbls[i],. |
| 16400 | 42 41 52 5f 46 47 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 30 73 74 61 74 | BAR_FG);......}....}.......0stat |
| 16420 | 69 63 20 76 6f 69 64 20 64 72 61 77 5f 64 72 6f 70 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 2c | ic.void.draw_drop(struct.app.*a, |
| 16440 | 20 4d 65 6e 75 49 64 20 6d 29 20 7b 00 00 00 2d 20 20 76 6f 69 64 20 2a 70 78 20 3d 20 61 2d 3e | .MenuId.m).{...-..void.*px.=.a-> |
| 16460 | 70 69 78 65 6c 73 3b 20 69 6e 74 20 70 77 3d 61 2d 3e 77 2c 20 70 68 3d 61 2d 3e 68 3b 00 00 00 | pixels;.int.pw=a->w,.ph=a->h;... |
| 16480 | 34 20 20 69 6e 74 20 62 79 3d 62 61 72 5f 79 28 61 29 2c 20 64 77 3d 64 72 6f 70 5f 77 28 6d 29 | 4..int.by=bar_y(a),.dw=drop_w(m) |
| 164a0 | 2c 20 64 68 3d 64 72 6f 70 5f 74 6f 74 61 6c 5f 68 28 6d 29 3b 00 00 00 21 20 20 69 6e 74 20 64 | ,.dh=drop_total_h(m);...!..int.d |
| 164c0 | 78 3d 62 74 6e 5f 78 28 28 69 6e 74 29 6d 29 2c 20 64 79 3d 62 79 2d 64 68 3b 00 00 00 25 20 20 | x=btn_x((int)m),.dy=by-dh;...%.. |
| 164e0 | 69 6e 74 20 6e 3d 28 6d 3d 3d 4d 45 4e 55 5f 46 49 4c 45 29 3f 4e 5f 46 49 4c 45 3a 4e 5f 49 4e | int.n=(m==MENU_FILE)?N_FILE:N_IN |
| 16500 | 46 4f 3b 00 00 00 3d 20 20 63 6f 6e 73 74 20 4d 65 6e 75 49 74 65 6d 20 2a 69 74 65 6d 73 3d 28 | FO;...=..const.MenuItem.*items=( |
| 16520 | 6d 3d 3d 4d 45 4e 55 5f 46 49 4c 45 29 3f 66 69 6c 65 5f 69 74 65 6d 73 3a 69 6e 66 6f 5f 69 74 | m==MENU_FILE)?file_items:info_it |
| 16540 | 65 6d 73 3b 00 00 00 00 00 00 00 29 20 20 66 72 65 63 74 28 70 78 2c 70 77 2c 70 68 2c 20 64 78 | ems;.......)..frect(px,pw,ph,.dx |
| 16560 | 2c 64 79 2c 20 64 77 2c 64 68 2c 20 44 52 4f 50 5f 42 47 29 3b 00 00 00 2a 20 20 66 72 65 63 74 | ,dy,.dw,dh,.DROP_BG);...*..frect |
| 16580 | 28 70 78 2c 70 77 2c 70 68 2c 20 64 78 2c 64 79 2c 20 64 77 2c 31 2c 20 53 45 50 5f 43 4f 4c 4f | (px,pw,ph,.dx,dy,.dw,1,.SEP_COLO |
| 165a0 | 52 29 3b 00 00 00 2a 20 20 66 72 65 63 74 28 70 78 2c 70 77 2c 70 68 2c 20 64 78 2c 64 79 2c 20 | R);...*..frect(px,pw,ph,.dx,dy,. |
| 165c0 | 31 2c 64 68 2c 20 53 45 50 5f 43 4f 4c 4f 52 29 3b 00 00 00 2f 20 20 66 72 65 63 74 28 70 78 2c | 1,dh,.SEP_COLOR);.../..frect(px, |
| 165e0 | 70 77 2c 70 68 2c 20 64 78 2b 64 77 2d 31 2c 64 79 2c 20 31 2c 64 68 2c 20 53 45 50 5f 43 4f 4c | pw,ph,.dx+dw-1,dy,.1,dh,.SEP_COL |
| 16600 | 4f 52 29 3b 00 00 00 2f 20 20 66 72 65 63 74 28 70 78 2c 70 77 2c 70 68 2c 20 64 78 2c 64 79 2b | OR);.../..frect(px,pw,ph,.dx,dy+ |
| 16620 | 64 68 2d 31 2c 20 64 77 2c 31 2c 20 53 45 50 5f 43 4f 4c 4f 52 29 3b 00 00 00 00 00 00 00 10 20 | dh-1,.dw,1,.SEP_COLOR);......... |
| 16640 | 20 69 6e 74 20 69 79 20 3d 20 64 79 2b 34 3b 00 00 00 1f 20 20 66 6f 72 20 28 69 6e 74 20 69 20 | .int.iy.=.dy+4;......for.(int.i. |
| 16660 | 3d 20 30 3b 20 69 20 3c 20 6e 3b 20 69 2b 2b 29 20 7b 00 00 00 24 20 20 20 20 62 6f 6f 6c 20 68 | =.0;.i.<.n;.i++).{...$....bool.h |
| 16680 | 6f 76 20 3d 20 28 61 2d 3e 68 6f 76 65 72 65 64 5f 69 74 65 6d 3d 3d 69 29 3b 00 00 00 3c 20 20 | ov.=.(a->hovered_item==i);...<.. |
| 166a0 | 20 20 69 66 20 28 68 6f 76 29 20 66 72 65 63 74 28 70 78 2c 70 77 2c 70 68 2c 20 64 78 2b 31 2c | ..if.(hov).frect(px,pw,ph,.dx+1, |
| 166c0 | 69 79 2c 20 64 77 2d 32 2c 64 69 68 28 29 2c 20 44 52 4f 50 5f 48 4f 56 29 3b 00 00 00 71 20 20 | iy,.dw-2,dih(),.DROP_HOV);...q.. |
| 166e0 | 20 20 64 73 74 72 28 70 78 2c 70 77 2c 70 68 2c 20 64 78 2b 42 54 4e 5f 50 41 44 2c 20 69 79 2b | ..dstr(px,pw,ph,.dx+BTN_PAD,.iy+ |
| 16700 | 28 64 69 68 28 29 2d 63 65 6c 6c 5f 68 29 2f 32 2c 20 69 74 65 6d 73 5b 69 5d 2e 6c 61 62 65 6c | (dih()-cell_h)/2,.items[i].label |
| 16720 | 2c 20 68 6f 76 3f 28 75 69 6e 74 33 32 5f 74 29 44 52 4f 50 5f 48 4f 56 5f 46 47 3a 28 75 69 6e | ,.hov?(uint32_t)DROP_HOV_FG:(uin |
| 16740 | 74 33 32 5f 74 29 44 52 4f 50 5f 46 47 29 3b 00 00 00 10 20 20 20 20 69 79 20 2b 3d 20 64 69 68 | t32_t)DROP_FG);........iy.+=.dih |
| 16760 | 28 29 3b 00 00 00 51 20 20 20 20 69 66 20 28 69 74 65 6d 73 5b 69 5d 2e 73 65 70 5f 61 66 74 65 | ();...Q....if.(items[i].sep_afte |
| 16780 | 72 29 20 7b 20 66 72 65 63 74 28 70 78 2c 70 77 2c 70 68 2c 20 64 78 2b 34 2c 69 79 2c 64 77 2d | r).{.frect(px,pw,ph,.dx+4,iy,dw- |
| 167a0 | 38 2c 31 2c 53 45 50 5f 43 4f 4c 4f 52 29 3b 20 69 79 2b 3d 34 3b 20 7d 00 00 00 03 20 20 7d 00 | 8,1,SEP_COLOR);.iy+=4;.}......}. |
| 167c0 | 00 00 01 7d 00 00 00 00 00 00 00 23 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 64 72 61 77 28 73 | ...}.......#static.void.redraw(s |
| 167e0 | 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 2b 20 20 76 6f 69 64 20 2a 70 78 3d 61 2d | truct.app.*a).{...+..void.*px=a- |
| 16800 | 3e 70 69 78 65 6c 73 3b 20 69 6e 74 20 70 77 3d 61 2d 3e 77 2c 20 70 68 3d 61 2d 3e 68 3b 00 00 | >pixels;.int.pw=a->w,.ph=a->h;.. |
| 16820 | 00 14 20 20 69 6e 74 20 74 61 68 3d 74 65 78 74 5f 68 28 61 29 3b 00 00 00 3a 20 20 66 6f 72 20 | ....int.tah=text_h(a);...:..for. |
| 16840 | 28 69 6e 74 20 69 3d 30 3b 20 69 3c 70 77 2a 70 68 3b 20 69 2b 2b 29 20 28 28 75 69 6e 74 33 32 | (int.i=0;.i<pw*ph;.i++).((uint32 |
| 16860 | 5f 74 2a 29 70 78 29 5b 69 5d 3d 42 47 5f 43 4f 4c 4f 52 3b 00 00 00 00 00 00 00 1b 20 20 69 6e | _t*)px)[i]=BG_COLOR;..........in |
| 16880 | 74 20 73 65 6c 5f 6c 6f 3d 2d 31 2c 20 73 65 6c 5f 68 69 3d 2d 31 3b 00 00 00 16 20 20 69 66 20 | t.sel_lo=-1,.sel_hi=-1;......if. |
| 168a0 | 28 73 65 6c 5f 61 6e 63 68 6f 72 3e 3d 30 29 20 7b 00 00 00 35 20 20 20 20 73 65 6c 5f 6c 6f 20 | (sel_anchor>=0).{...5....sel_lo. |
| 168c0 | 3d 20 73 65 6c 5f 61 6e 63 68 6f 72 3c 63 75 72 73 6f 72 20 3f 20 73 65 6c 5f 61 6e 63 68 6f 72 | =.sel_anchor<cursor.?.sel_anchor |
| 168e0 | 20 3a 20 63 75 72 73 6f 72 3b 00 00 00 39 20 20 20 20 73 65 6c 5f 68 69 20 3d 20 73 65 6c 5f 61 | .:.cursor;...9....sel_hi.=.sel_a |
| 16900 | 6e 63 68 6f 72 3c 63 75 72 73 6f 72 20 3f 20 63 75 72 73 6f 72 20 20 20 20 20 3a 20 73 65 6c 5f | nchor<cursor.?.cursor.....:.sel_ |
| 16920 | 61 6e 63 68 6f 72 3b 00 00 00 03 20 20 7d 00 00 00 13 20 20 69 6e 74 20 63 6f 6c 3d 30 2c 20 72 | anchor;......}......int.col=0,.r |
| 16940 | 6f 77 3d 30 3b 00 00 00 1f 20 20 66 6f 72 20 28 69 6e 74 20 69 3d 30 3b 20 69 3c 3d 74 6c 65 6e | ow=0;......for.(int.i=0;.i<=tlen |
| 16960 | 3b 20 69 2b 2b 29 20 7b 00 00 00 2b 20 20 20 20 69 6e 74 20 78 3d 50 41 44 2b 63 6f 6c 2a 63 65 | ;.i++).{...+....int.x=PAD+col*ce |
| 16980 | 6c 6c 5f 77 2c 20 79 3d 50 41 44 2b 72 6f 77 2a 63 65 6c 6c 5f 68 3b 00 00 00 1e 20 20 20 20 69 | ll_w,.y=PAD+row*cell_h;........i |
| 169a0 | 66 20 28 79 2b 63 65 6c 6c 5f 68 20 3e 20 74 61 68 29 20 62 72 65 61 6b 3b 00 00 00 4e 20 20 20 | f.(y+cell_h.>.tah).break;...N... |
| 169c0 | 20 62 6f 6f 6c 20 69 6e 73 20 3d 20 73 65 6c 5f 6c 6f 3e 3d 30 20 26 26 20 69 3e 3d 73 65 6c 5f | .bool.ins.=.sel_lo>=0.&&.i>=sel_ |
| 169e0 | 6c 6f 20 26 26 20 69 3c 73 65 6c 5f 68 69 20 26 26 20 28 69 3e 3d 74 6c 65 6e 7c 7c 74 65 78 74 | lo.&&.i<sel_hi.&&.(i>=tlen||text |
| 16a00 | 5b 69 5d 21 3d 27 5c 6e 27 29 3b 00 00 00 3b 20 20 20 20 69 66 20 28 69 6e 73 29 20 66 72 65 63 | [i]!='\n');...;....if.(ins).frec |
| 16a20 | 74 28 70 78 2c 70 77 2c 70 68 2c 20 78 2c 79 2c 63 65 6c 6c 5f 77 2c 63 65 6c 6c 5f 68 2c 20 53 | t(px,pw,ph,.x,y,cell_w,cell_h,.S |
| 16a40 | 45 4c 5f 43 4f 4c 4f 52 29 3b 00 00 00 3c 20 20 20 20 69 66 20 28 69 3d 3d 63 75 72 73 6f 72 29 | EL_COLOR);...<....if.(i==cursor) |
| 16a60 | 20 66 72 65 63 74 28 70 78 2c 70 77 2c 70 68 2c 20 78 2c 79 2c 32 2c 63 65 6c 6c 5f 68 2c 20 43 | .frect(px,pw,ph,.x,y,2,cell_h,.C |
| 16a80 | 55 52 5f 43 4f 4c 4f 52 29 3b 00 00 00 11 20 20 20 20 69 66 20 28 69 3c 74 6c 65 6e 29 20 7b 00 | UR_COLOR);........if.(i<tlen).{. |
| 16aa0 | 00 00 2a 20 20 20 20 20 20 69 66 20 28 74 65 78 74 5b 69 5d 3d 3d 27 5c 6e 27 29 20 7b 20 63 6f | ..*......if.(text[i]=='\n').{.co |
| 16ac0 | 6c 3d 30 3b 20 72 6f 77 2b 2b 3b 20 7d 00 00 00 0c 20 20 20 20 20 20 65 6c 73 65 20 7b 00 00 00 | l=0;.row++;.}..........else.{... |
| 16ae0 | 49 20 20 20 20 20 20 20 20 69 66 20 28 78 2b 63 65 6c 6c 5f 77 20 3e 20 70 77 2d 50 41 44 29 20 | I........if.(x+cell_w.>.pw-PAD). |
| 16b00 | 7b 20 63 6f 6c 3d 30 3b 20 72 6f 77 2b 2b 3b 20 78 3d 50 41 44 3b 20 79 3d 50 41 44 2b 72 6f 77 | {.col=0;.row++;.x=PAD;.y=PAD+row |
| 16b20 | 2a 63 65 6c 6c 5f 68 3b 20 7d 00 00 00 72 20 20 20 20 20 20 20 20 69 66 20 28 79 2b 63 65 6c 6c | *cell_h;.}...r........if.(y+cell |
| 16b40 | 5f 68 3c 3d 74 61 68 29 20 64 67 6c 79 70 68 28 70 78 2c 70 77 2c 70 68 2c 20 78 2c 79 2c 20 28 | _h<=tah).dglyph(px,pw,ph,.x,y,.( |
| 16b60 | 75 6e 73 69 67 6e 65 64 20 63 68 61 72 29 74 65 78 74 5b 69 5d 2c 20 69 6e 73 3f 28 75 69 6e 74 | unsigned.char)text[i],.ins?(uint |
| 16b80 | 33 32 5f 74 29 53 45 4c 5f 46 47 3a 28 75 69 6e 74 33 32 5f 74 29 46 47 5f 43 4f 4c 4f 52 29 3b | 32_t)SEL_FG:(uint32_t)FG_COLOR); |
| 16ba0 | 00 00 00 0e 20 20 20 20 20 20 20 20 63 6f 6c 2b 2b 3b 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 | ............col++;..........}... |
| 16bc0 | 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 0e 20 20 64 72 61 77 5f 62 61 72 28 | .....}......}..........draw_bar( |
| 16be0 | 61 29 3b 00 00 00 3c 20 20 69 66 20 28 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 20 21 3d 20 4d 45 4e | a);...<..if.(a->open_menu.!=.MEN |
| 16c00 | 55 5f 4e 4f 4e 45 29 20 64 72 61 77 5f 64 72 6f 70 28 61 2c 20 61 2d 3e 6f 70 65 6e 5f 6d 65 6e | U_NONE).draw_drop(a,.a->open_men |
| 16c20 | 75 29 3b 00 00 00 00 00 00 00 2d 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 61 6d 61 67 65 5f 62 | u);.......-..wl_surface_damage_b |
| 16c40 | 75 66 66 65 72 28 61 2d 3e 77 73 2c 20 30 2c 30 2c 70 77 2c 70 68 29 3b 00 00 00 28 20 20 77 6c | uffer(a->ws,.0,0,pw,ph);...(..wl |
| 16c60 | 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 61 2d 3e 77 73 2c 20 61 2d 3e 62 75 66 2c 20 30 | _surface_attach(a->ws,.a->buf,.0 |
| 16c80 | 2c 30 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2d 3e 77 | ,0);......wl_surface_commit(a->w |
| 16ca0 | 73 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 64 72 | s);....}.......)static.void.redr |
| 16cc0 | 61 77 5f 61 62 6f 75 74 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 1e 20 20 73 | aw_about(struct.app.*a).{......s |
| 16ce0 | 74 72 75 63 74 20 70 6f 70 75 70 20 2a 70 20 3d 20 26 61 2d 3e 61 62 6f 75 74 3b 00 00 00 25 20 | truct.popup.*p.=.&a->about;...%. |
| 16d00 | 20 69 66 20 28 21 70 2d 3e 6f 70 65 6e 20 7c 7c 20 21 70 2d 3e 70 69 78 65 6c 73 29 20 72 65 74 | .if.(!p->open.||.!p->pixels).ret |
| 16d20 | 75 72 6e 3b 00 00 00 2b 20 20 76 6f 69 64 20 2a 70 78 3d 70 2d 3e 70 69 78 65 6c 73 3b 20 69 6e | urn;...+..void.*px=p->pixels;.in |
| 16d40 | 74 20 70 77 3d 70 2d 3e 77 2c 20 70 68 3d 70 2d 3e 68 3b 00 00 00 3a 20 20 66 6f 72 20 28 69 6e | t.pw=p->w,.ph=p->h;...:..for.(in |
| 16d60 | 74 20 69 3d 30 3b 20 69 3c 70 77 2a 70 68 3b 20 69 2b 2b 29 20 28 28 75 69 6e 74 33 32 5f 74 2a | t.i=0;.i<pw*ph;.i++).((uint32_t* |
| 16d80 | 29 70 78 29 5b 69 5d 3d 42 47 5f 43 4f 4c 4f 52 3b 00 00 00 26 20 20 66 72 65 63 74 28 70 78 2c | )px)[i]=BG_COLOR;...&..frect(px, |
| 16da0 | 70 77 2c 70 68 2c 20 30 2c 30 2c 70 77 2c 31 2c 53 45 50 5f 43 4f 4c 4f 52 29 3b 00 00 00 29 20 | pw,ph,.0,0,pw,1,SEP_COLOR);...). |
| 16dc0 | 20 66 72 65 63 74 28 70 78 2c 70 77 2c 70 68 2c 20 30 2c 70 68 2d 31 2c 70 77 2c 31 2c 53 45 50 | .frect(px,pw,ph,.0,ph-1,pw,1,SEP |
| 16de0 | 5f 43 4f 4c 4f 52 29 3b 00 00 00 26 20 20 66 72 65 63 74 28 70 78 2c 70 77 2c 70 68 2c 20 30 2c | _COLOR);...&..frect(px,pw,ph,.0, |
| 16e00 | 30 2c 31 2c 70 68 2c 53 45 50 5f 43 4f 4c 4f 52 29 3b 00 00 00 29 20 20 66 72 65 63 74 28 70 78 | 0,1,ph,SEP_COLOR);...)..frect(px |
| 16e20 | 2c 70 77 2c 70 68 2c 20 70 77 2d 31 2c 30 2c 31 2c 70 68 2c 53 45 50 5f 43 4f 4c 4f 52 29 3b 00 | ,pw,ph,.pw-1,0,1,ph,SEP_COLOR);. |
| 16e40 | 00 00 00 00 00 00 10 20 20 69 6e 74 20 79 20 3d 20 50 41 44 2a 32 3b 00 00 00 5a 20 20 64 73 74 | .........int.y.=.PAD*2;...Z..dst |
| 16e60 | 72 28 70 78 2c 70 77 2c 70 68 2c 20 50 41 44 2a 32 2c 20 79 2c 20 22 77 6c 65 64 20 20 2d 20 20 | r(px,pw,ph,.PAD*2,.y,."wled..-.. |
| 16e80 | 77 61 79 6c 61 6e 64 20 74 65 78 74 20 65 64 69 74 6f 72 22 2c 20 46 47 5f 43 4f 4c 4f 52 29 3b | wayland.text.editor",.FG_COLOR); |
| 16ea0 | 20 20 20 79 20 2b 3d 20 63 65 6c 6c 5f 68 20 2b 20 50 41 44 3b 00 00 00 51 20 20 66 72 65 63 74 | ...y.+=.cell_h.+.PAD;...Q..frect |
| 16ec0 | 28 70 78 2c 70 77 2c 70 68 2c 20 50 41 44 2a 32 2c 20 79 2c 20 70 77 2d 50 41 44 2a 34 2c 20 31 | (px,pw,ph,.PAD*2,.y,.pw-PAD*4,.1 |
| 16ee0 | 2c 20 53 45 50 5f 43 4f 4c 4f 52 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ,.SEP_COLOR);................... |
| 16f00 | 20 79 20 2b 3d 20 50 41 44 3b 00 00 00 58 20 20 64 73 74 72 28 70 78 2c 70 77 2c 70 68 2c 20 50 | .y.+=.PAD;...X..dstr(px,pw,ph,.P |
| 16f20 | 41 44 2a 32 2c 20 79 2c 20 22 4c 69 63 65 6e 73 65 64 20 75 6e 64 65 72 20 47 50 4c 20 76 33 2e | AD*2,.y,."Licensed.under.GPL.v3. |
| 16f40 | 30 22 2c 20 20 20 20 20 20 46 47 5f 43 4f 4c 4f 52 29 3b 20 20 20 79 20 2b 3d 20 63 65 6c 6c 5f | 0",......FG_COLOR);...y.+=.cell_ |
| 16f60 | 68 20 2b 20 36 3b 00 00 00 5b 20 20 64 73 74 72 28 70 78 2c 70 77 2c 70 68 2c 20 50 41 44 2a 32 | h.+.6;...[..dstr(px,pw,ph,.PAD*2 |
| 16f80 | 2c 20 79 2c 20 22 43 72 65 61 74 65 64 20 62 79 20 20 67 69 74 2e 73 72 2e 68 74 2f 7e 63 6f 61 | ,.y,."Created.by..git.sr.ht/~coa |
| 16fa0 | 73 74 65 65 6e 2f 22 2c 20 20 46 47 5f 43 4f 4c 4f 52 29 3b 20 79 20 2b 3d 20 63 65 6c 6c 5f 68 | steen/",..FG_COLOR);.y.+=.cell_h |
| 16fc0 | 20 2b 20 36 3b 00 00 00 4d 20 20 64 73 74 72 28 70 78 2c 70 77 2c 70 68 2c 20 50 41 44 2a 32 2c | .+.6;...M..dstr(px,pw,ph,.PAD*2, |
| 16fe0 | 20 79 2c 20 22 53 6f 75 72 63 65 3a 20 20 20 20 20 67 69 74 2e 73 72 2e 68 74 2f 7e 63 6f 61 73 | .y,."Source:.....git.sr.ht/~coas |
| 17000 | 74 65 65 6e 2f 77 6c 65 64 22 2c 20 46 47 5f 43 4f 4c 4f 52 29 3b 00 00 00 00 00 00 00 2d 20 20 | teen/wled",.FG_COLOR);.......-.. |
| 17020 | 77 6c 5f 73 75 72 66 61 63 65 5f 64 61 6d 61 67 65 5f 62 75 66 66 65 72 28 70 2d 3e 77 73 2c 20 | wl_surface_damage_buffer(p->ws,. |
| 17040 | 30 2c 30 2c 70 77 2c 70 68 29 3b 00 00 00 28 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 | 0,0,pw,ph);...(..wl_surface_atta |
| 17060 | 63 68 28 70 2d 3e 77 73 2c 20 70 2d 3e 62 75 66 2c 20 30 2c 30 29 3b 00 00 00 1b 20 20 77 6c 5f | ch(p->ws,.p->buf,.0,0);......wl_ |
| 17080 | 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 70 2d 3e 77 73 29 3b 00 00 00 01 7d 00 00 00 00 00 | surface_commit(p->ws);....}..... |
| 170a0 | 00 00 4c 73 74 61 74 69 63 20 76 6f 69 64 20 61 62 6f 75 74 5f 78 73 5f 63 66 67 28 76 6f 69 64 | ..Lstatic.void.about_xs_cfg(void |
| 170c0 | 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 2c 20 75 69 6e | .*d,.struct.xdg_surface.*xs,.uin |
| 170e0 | 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 31 20 20 73 74 72 75 63 74 20 61 70 70 20 | t32_t.serial).{...1..struct.app. |
| 17100 | 2a 61 20 3d 20 64 3b 20 73 74 72 75 63 74 20 70 6f 70 75 70 20 2a 70 20 3d 20 26 61 2d 3e 61 62 | *a.=.d;.struct.popup.*p.=.&a->ab |
| 17120 | 6f 75 74 3b 00 00 00 28 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 63 6b 5f 63 6f 6e 66 69 67 | out;...(..xdg_surface_ack_config |
| 17140 | 75 72 65 28 78 73 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 50 20 20 69 66 20 28 21 70 2d 3e 70 69 | ure(xs,.serial);...P..if.(!p->pi |
| 17160 | 78 65 6c 73 29 20 70 2d 3e 70 69 78 65 6c 73 20 3d 20 6d 61 6b 65 5f 73 68 6d 28 61 2c 20 70 2d | xels).p->pixels.=.make_shm(a,.p- |
| 17180 | 3e 77 2c 20 70 2d 3e 68 2c 20 26 70 2d 3e 62 75 66 2c 20 26 70 2d 3e 70 69 78 65 6c 73 5f 73 69 | >w,.p->h,.&p->buf,.&p->pixels_si |
| 171a0 | 7a 65 29 3b 00 00 00 17 20 20 70 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 3d 20 74 72 75 65 3b 00 | ze);......p->configured.=.true;. |
| 171c0 | 00 00 12 20 20 72 65 64 72 61 77 5f 61 62 6f 75 74 28 61 29 3b 00 00 00 01 7d 00 00 00 50 73 74 | .....redraw_about(a);....}...Pst |
| 171e0 | 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 5f 6c 69 | atic.const.struct.xdg_surface_li |
| 17200 | 73 74 65 6e 65 72 20 61 62 6f 75 74 5f 78 73 5f 6c 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 3d | stener.about_xs_l.=.{.configure= |
| 17220 | 61 62 6f 75 74 5f 78 73 5f 63 66 67 7d 3b 00 00 00 00 00 00 00 67 73 74 61 74 69 63 20 76 6f 69 | about_xs_cfg};.......gstatic.voi |
| 17240 | 64 20 61 62 6f 75 74 5f 78 74 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 | d.about_xt_cfg(void.*d,.struct.x |
| 17260 | 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 2c 20 69 6e 74 33 32 5f 74 20 77 2c 20 69 6e 74 33 | dg_toplevel.*xt,.int32_t.w,.int3 |
| 17280 | 32 5f 74 20 68 2c 20 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 29 20 7b 7d 00 00 00 | 2_t.h,.struct.wl_array.*s).{}... |
| 172a0 | 3e 73 74 61 74 69 63 20 76 6f 69 64 20 61 62 6f 75 74 5f 78 74 5f 63 6c 6f 73 65 28 76 6f 69 64 | >static.void.about_xt_close(void |
| 172c0 | 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 29 20 7b 00 | .*d,.struct.xdg_toplevel.*xt).{. |
| 172e0 | 00 00 31 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 20 73 74 72 75 63 74 20 70 | ..1..struct.app.*a.=.d;.struct.p |
| 17300 | 6f 70 75 70 20 2a 70 20 3d 20 26 61 2d 3e 61 62 6f 75 74 3b 00 00 00 4a 20 20 69 66 20 28 70 2d | opup.*p.=.&a->about;...J..if.(p- |
| 17320 | 3e 62 75 66 29 20 20 20 20 7b 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 70 2d 3e | >buf)....{.wl_buffer_destroy(p-> |
| 17340 | 62 75 66 29 3b 20 20 20 20 20 20 20 20 20 20 70 2d 3e 62 75 66 20 20 20 20 3d 20 4e 55 4c 4c 3b | buf);..........p->buf....=.NULL; |
| 17360 | 20 7d 00 00 00 4a 20 20 69 66 20 28 70 2d 3e 70 69 78 65 6c 73 29 20 7b 20 6d 75 6e 6d 61 70 28 | .}...J..if.(p->pixels).{.munmap( |
| 17380 | 70 2d 3e 70 69 78 65 6c 73 2c 20 70 2d 3e 70 69 78 65 6c 73 5f 73 69 7a 65 29 3b 20 20 70 2d 3e | p->pixels,.p->pixels_size);..p-> |
| 173a0 | 70 69 78 65 6c 73 20 3d 20 4e 55 4c 4c 3b 20 7d 00 00 00 4a 20 20 69 66 20 28 70 2d 3e 78 74 29 | pixels.=.NULL;.}...J..if.(p->xt) |
| 173c0 | 20 20 20 20 20 7b 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 64 65 73 74 72 6f 79 28 70 2d 3e 78 | .....{.xdg_toplevel_destroy(p->x |
| 173e0 | 74 29 3b 20 20 20 20 20 20 20 20 70 2d 3e 78 74 20 20 20 20 20 3d 20 4e 55 4c 4c 3b 20 7d 00 00 | t);........p->xt.....=.NULL;.}.. |
| 17400 | 00 4a 20 20 69 66 20 28 70 2d 3e 78 73 29 20 20 20 20 20 7b 20 78 64 67 5f 73 75 72 66 61 63 65 | .J..if.(p->xs).....{.xdg_surface |
| 17420 | 5f 64 65 73 74 72 6f 79 28 70 2d 3e 78 73 29 3b 20 20 20 20 20 20 20 20 20 70 2d 3e 78 73 20 20 | _destroy(p->xs);.........p->xs.. |
| 17440 | 20 20 20 3d 20 4e 55 4c 4c 3b 20 7d 00 00 00 4a 20 20 69 66 20 28 70 2d 3e 77 73 29 20 20 20 20 | ...=.NULL;.}...J..if.(p->ws).... |
| 17460 | 20 7b 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 65 73 74 72 6f 79 28 70 2d 3e 77 73 29 3b 20 20 20 | .{.wl_surface_destroy(p->ws);... |
| 17480 | 20 20 20 20 20 20 20 70 2d 3e 77 73 20 20 20 20 20 3d 20 4e 55 4c 4c 3b 20 7d 00 00 00 29 20 20 | .......p->ws.....=.NULL;.}...).. |
| 174a0 | 70 2d 3e 6f 70 65 6e 20 3d 20 66 61 6c 73 65 3b 20 70 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 3d | p->open.=.false;.p->configured.= |
| 174c0 | 20 66 61 6c 73 65 3b 00 00 00 01 7d 00 00 00 67 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 | .false;....}...gstatic.const.str |
| 174e0 | 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 61 62 6f 75 74 5f | uct.xdg_toplevel_listener.about_ |
| 17500 | 78 74 5f 6c 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 3d 61 62 6f 75 74 5f 78 74 5f 63 66 67 2c | xt_l.=.{.configure=about_xt_cfg, |
| 17520 | 2e 63 6c 6f 73 65 3d 61 62 6f 75 74 5f 78 74 5f 63 6c 6f 73 65 7d 3b 00 00 00 00 00 00 00 27 73 | .close=about_xt_close};.......'s |
| 17540 | 74 61 74 69 63 20 76 6f 69 64 20 6f 70 65 6e 5f 61 62 6f 75 74 28 73 74 72 75 63 74 20 61 70 70 | tatic.void.open_about(struct.app |
| 17560 | 20 2a 61 29 20 7b 00 00 00 1e 20 20 73 74 72 75 63 74 20 70 6f 70 75 70 20 2a 70 20 3d 20 26 61 | .*a).{......struct.popup.*p.=.&a |
| 17580 | 2d 3e 61 62 6f 75 74 3b 00 00 00 16 20 20 69 66 20 28 70 2d 3e 6f 70 65 6e 29 20 72 65 74 75 72 | ->about;......if.(p->open).retur |
| 175a0 | 6e 3b 00 00 00 10 20 20 69 6e 74 20 6c 69 6e 65 73 20 3d 20 35 3b 00 00 00 1d 20 20 70 2d 3e 77 | n;......int.lines.=.5;......p->w |
| 175c0 | 20 3d 20 32 32 20 2a 20 63 65 6c 6c 5f 77 20 2b 20 50 41 44 2a 34 3b 00 00 00 2f 20 20 70 2d 3e | .=.22.*.cell_w.+.PAD*4;.../..p-> |
| 175e0 | 68 20 3d 20 6c 69 6e 65 73 20 2a 20 28 63 65 6c 6c 5f 68 20 2b 20 36 29 20 2b 20 50 41 44 2a 34 | h.=.lines.*.(cell_h.+.6).+.PAD*4 |
| 17600 | 20 2b 20 63 65 6c 6c 5f 68 3b 00 00 00 1d 20 20 69 66 20 28 70 2d 3e 77 20 3c 20 33 36 30 29 20 | .+.cell_h;......if.(p->w.<.360). |
| 17620 | 70 2d 3e 77 20 3d 20 33 36 30 3b 00 00 00 1d 20 20 69 66 20 28 70 2d 3e 68 20 3c 20 31 34 30 29 | p->w.=.360;......if.(p->h.<.140) |
| 17640 | 20 70 2d 3e 68 20 3d 20 31 34 30 3b 00 00 00 11 20 20 70 2d 3e 6f 70 65 6e 20 3d 20 74 72 75 65 | .p->h.=.140;......p->open.=.true |
| 17660 | 3b 00 00 00 30 20 20 70 2d 3e 77 73 20 3d 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 63 72 65 | ;...0..p->ws.=.wl_compositor_cre |
| 17680 | 61 74 65 5f 73 75 72 66 61 63 65 28 61 2d 3e 63 6f 6d 70 29 3b 00 00 00 34 20 20 70 2d 3e 78 73 | ate_surface(a->comp);...4..p->xs |
| 176a0 | 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 5f 73 75 72 66 61 63 65 28 61 | .=.xdg_wm_base_get_xdg_surface(a |
| 176c0 | 2d 3e 77 6d 2c 20 70 2d 3e 77 73 29 3b 00 00 00 32 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 | ->wm,.p->ws);...2..xdg_surface_a |
| 176e0 | 64 64 5f 6c 69 73 74 65 6e 65 72 28 70 2d 3e 78 73 2c 20 26 61 62 6f 75 74 5f 78 73 5f 6c 2c 20 | dd_listener(p->xs,.&about_xs_l,. |
| 17700 | 61 29 3b 00 00 00 2a 20 20 70 2d 3e 78 74 20 3d 20 78 64 67 5f 73 75 72 66 61 63 65 5f 67 65 74 | a);...*..p->xt.=.xdg_surface_get |
| 17720 | 5f 74 6f 70 6c 65 76 65 6c 28 70 2d 3e 78 73 29 3b 00 00 00 33 20 20 78 64 67 5f 74 6f 70 6c 65 | _toplevel(p->xs);...3..xdg_tople |
| 17740 | 76 65 6c 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 70 2d 3e 78 74 2c 20 26 61 62 6f 75 74 5f 78 | vel_add_listener(p->xt,.&about_x |
| 17760 | 74 5f 6c 2c 20 61 29 3b 00 00 00 2e 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 74 | t_l,.a);......xdg_toplevel_set_t |
| 17780 | 69 74 6c 65 28 70 2d 3e 78 74 2c 20 22 41 62 6f 75 74 20 77 6c 65 64 22 29 3b 00 00 00 2f 20 20 | itle(p->xt,."About.wled");.../.. |
| 177a0 | 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 6d 69 6e 5f 73 69 7a 65 28 70 2d 3e 78 74 2c | xdg_toplevel_set_min_size(p->xt, |
| 177c0 | 20 70 2d 3e 77 2c 20 70 2d 3e 68 29 3b 00 00 00 2f 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f | .p->w,.p->h);.../..xdg_toplevel_ |
| 177e0 | 73 65 74 5f 6d 61 78 5f 73 69 7a 65 28 70 2d 3e 78 74 2c 20 70 2d 3e 77 2c 20 70 2d 3e 68 29 3b | set_max_size(p->xt,.p->w,.p->h); |
| 17800 | 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 70 2d 3e 77 73 29 3b 00 | ......wl_surface_commit(p->ws);. |
| 17820 | 00 00 01 7d 00 00 00 00 00 00 00 4e 73 74 61 74 69 63 20 69 6e 74 20 73 65 6c 5f 73 74 61 72 74 | ...}.......Nstatic.int.sel_start |
| 17840 | 28 76 6f 69 64 29 20 7b 20 72 65 74 75 72 6e 20 73 65 6c 5f 61 6e 63 68 6f 72 3c 63 75 72 73 6f | (void).{.return.sel_anchor<curso |
| 17860 | 72 20 3f 20 73 65 6c 5f 61 6e 63 68 6f 72 20 3a 20 63 75 72 73 6f 72 3b 20 7d 00 00 00 60 73 74 | r.?.sel_anchor.:.cursor;.}...`st |
| 17880 | 61 74 69 63 20 69 6e 74 20 73 65 6c 5f 6c 65 6e 28 76 6f 69 64 29 20 20 20 7b 20 72 65 74 75 72 | atic.int.sel_len(void)...{.retur |
| 178a0 | 6e 20 73 65 6c 5f 61 6e 63 68 6f 72 3c 63 75 72 73 6f 72 20 3f 20 63 75 72 73 6f 72 2d 73 65 6c | n.sel_anchor<cursor.?.cursor-sel |
| 178c0 | 5f 61 6e 63 68 6f 72 20 3a 20 73 65 6c 5f 61 6e 63 68 6f 72 2d 63 75 72 73 6f 72 3b 20 7d 00 00 | _anchor.:.sel_anchor-cursor;.}.. |
| 178e0 | 00 00 00 00 00 1e 73 74 61 74 69 63 20 76 6f 69 64 20 64 65 6c 65 74 65 5f 73 65 6c 28 76 6f 69 | ......static.void.delete_sel(voi |
| 17900 | 64 29 20 7b 00 00 00 1b 20 20 69 66 20 28 73 65 6c 5f 61 6e 63 68 6f 72 3c 30 29 20 72 65 74 75 | d).{......if.(sel_anchor<0).retu |
| 17920 | 72 6e 3b 00 00 00 24 20 20 69 6e 74 20 6c 6f 3d 73 65 6c 5f 73 74 61 72 74 28 29 2c 20 6c 65 6e | rn;...$..int.lo=sel_start(),.len |
| 17940 | 3d 73 65 6c 5f 6c 65 6e 28 29 3b 00 00 00 2d 20 20 6d 65 6d 6d 6f 76 65 28 74 65 78 74 2b 6c 6f | =sel_len();...-..memmove(text+lo |
| 17960 | 2c 20 74 65 78 74 2b 6c 6f 2b 6c 65 6e 2c 20 74 6c 65 6e 2d 6c 6f 2d 6c 65 6e 29 3b 00 00 00 37 | ,.text+lo+len,.tlen-lo-len);...7 |
| 17980 | 20 20 74 6c 65 6e 2d 3d 6c 65 6e 3b 20 74 65 78 74 5b 74 6c 65 6e 5d 3d 27 5c 30 27 3b 20 63 75 | ..tlen-=len;.text[tlen]='\0';.cu |
| 179a0 | 72 73 6f 72 3d 6c 6f 3b 20 73 65 6c 5f 61 6e 63 68 6f 72 3d 2d 31 3b 00 00 00 01 7d 00 00 00 00 | rsor=lo;.sel_anchor=-1;....}.... |
| 179c0 | 00 00 00 29 73 74 61 74 69 63 20 76 6f 69 64 20 69 6e 73 28 63 6f 6e 73 74 20 63 68 61 72 20 2a | ...)static.void.ins(const.char.* |
| 179e0 | 73 2c 20 69 6e 74 20 6c 65 6e 29 20 7b 00 00 00 2e 20 20 69 66 20 28 74 6c 65 6e 2b 6c 65 6e 3e | s,.int.len).{......if.(tlen+len> |
| 17a00 | 3d 4d 41 58 5f 54 45 58 54 29 20 6c 65 6e 3d 4d 41 58 5f 54 45 58 54 2d 74 6c 65 6e 2d 31 3b 00 | =MAX_TEXT).len=MAX_TEXT-tlen-1;. |
| 17a20 | 00 00 35 20 20 6d 65 6d 6d 6f 76 65 28 74 65 78 74 2b 63 75 72 73 6f 72 2b 6c 65 6e 2c 20 74 65 | ..5..memmove(text+cursor+len,.te |
| 17a40 | 78 74 2b 63 75 72 73 6f 72 2c 20 74 6c 65 6e 2d 63 75 72 73 6f 72 29 3b 00 00 00 1e 20 20 6d 65 | xt+cursor,.tlen-cursor);......me |
| 17a60 | 6d 63 70 79 28 74 65 78 74 2b 63 75 72 73 6f 72 2c 20 73 2c 20 6c 65 6e 29 3b 00 00 00 36 20 20 | mcpy(text+cursor,.s,.len);...6.. |
| 17a80 | 74 6c 65 6e 2b 3d 6c 65 6e 3b 20 74 65 78 74 5b 74 6c 65 6e 5d 3d 27 5c 30 27 3b 20 63 75 72 73 | tlen+=len;.text[tlen]='\0';.curs |
| 17aa0 | 6f 72 2b 3d 6c 65 6e 3b 20 64 69 72 74 79 3d 74 72 75 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 | or+=len;.dirty=true;....}....... |
| 17ac0 | 25 73 74 61 74 69 63 20 76 6f 69 64 20 63 6f 70 79 5f 73 65 6c 28 73 74 72 75 63 74 20 61 70 70 | %static.void.copy_sel(struct.app |
| 17ae0 | 20 2a 61 29 20 7b 00 00 00 1b 20 20 69 66 20 28 73 65 6c 5f 61 6e 63 68 6f 72 3c 30 29 20 72 65 | .*a).{......if.(sel_anchor<0).re |
| 17b00 | 74 75 72 6e 3b 00 00 00 24 20 20 69 6e 74 20 6c 6f 3d 73 65 6c 5f 73 74 61 72 74 28 29 2c 20 6c | turn;...$..int.lo=sel_start(),.l |
| 17b20 | 65 6e 3d 73 65 6c 5f 6c 65 6e 28 29 3b 00 00 00 42 20 20 69 66 20 28 6c 65 6e 3e 28 69 6e 74 29 | en=sel_len();...B..if.(len>(int) |
| 17b40 | 73 69 7a 65 6f 66 28 61 2d 3e 63 6c 69 70 62 6f 61 72 64 29 2d 31 29 20 6c 65 6e 3d 73 69 7a 65 | sizeof(a->clipboard)-1).len=size |
| 17b60 | 6f 66 28 61 2d 3e 63 6c 69 70 62 6f 61 72 64 29 2d 31 3b 00 00 00 25 20 20 6d 65 6d 63 70 79 28 | of(a->clipboard)-1;...%..memcpy( |
| 17b80 | 61 2d 3e 63 6c 69 70 62 6f 61 72 64 2c 20 74 65 78 74 2b 6c 6f 2c 20 6c 65 6e 29 3b 00 00 00 2f | a->clipboard,.text+lo,.len);.../ |
| 17ba0 | 20 20 61 2d 3e 63 6c 69 70 62 6f 61 72 64 5b 6c 65 6e 5d 3d 27 5c 30 27 3b 20 61 2d 3e 63 6c 69 | ..a->clipboard[len]='\0';.a->cli |
| 17bc0 | 70 62 6f 61 72 64 5f 6c 65 6e 3d 6c 65 6e 3b 00 00 00 3b 20 20 69 66 20 28 61 2d 3e 64 73 29 20 | pboard_len=len;...;..if.(a->ds). |
| 17be0 | 7b 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 5f 64 65 73 74 72 6f 79 28 61 2d 3e 64 73 29 3b | {.wl_data_source_destroy(a->ds); |
| 17c00 | 20 61 2d 3e 64 73 3d 4e 55 4c 4c 3b 20 7d 00 00 00 1e 20 20 69 66 20 28 21 61 2d 3e 64 64 6d 7c | .a->ds=NULL;.}......if.(!a->ddm| |
| 17c20 | 7c 21 61 2d 3e 64 64 29 20 72 65 74 75 72 6e 3b 00 00 00 3c 20 20 61 2d 3e 64 73 20 3d 20 77 6c | |!a->dd).return;...<..a->ds.=.wl |
| 17c40 | 5f 64 61 74 61 5f 64 65 76 69 63 65 5f 6d 61 6e 61 67 65 72 5f 63 72 65 61 74 65 5f 64 61 74 61 | _data_device_manager_create_data |
| 17c60 | 5f 73 6f 75 72 63 65 28 61 2d 3e 64 64 6d 29 3b 00 00 00 3a 20 20 77 6c 5f 64 61 74 61 5f 73 6f | _source(a->ddm);...:..wl_data_so |
| 17c80 | 75 72 63 65 5f 6f 66 66 65 72 28 61 2d 3e 64 73 2c 20 22 74 65 78 74 2f 70 6c 61 69 6e 3b 63 68 | urce_offer(a->ds,."text/plain;ch |
| 17ca0 | 61 72 73 65 74 3d 75 74 66 2d 38 22 29 3b 00 00 00 2c 20 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 | arset=utf-8");...,..wl_data_sour |
| 17cc0 | 63 65 5f 6f 66 66 65 72 28 61 2d 3e 64 73 2c 20 22 74 65 78 74 2f 70 6c 61 69 6e 22 29 3b 00 00 | ce_offer(a->ds,."text/plain");.. |
| 17ce0 | 00 2d 20 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 5f 6f 66 66 65 72 28 61 2d 3e 64 73 2c 20 | .-..wl_data_source_offer(a->ds,. |
| 17d00 | 22 55 54 46 38 5f 53 54 52 49 4e 47 22 29 3b 00 00 00 28 20 20 77 6c 5f 64 61 74 61 5f 73 6f 75 | "UTF8_STRING");...(..wl_data_sou |
| 17d20 | 72 63 65 5f 6f 66 66 65 72 28 61 2d 3e 64 73 2c 20 22 53 54 52 49 4e 47 22 29 3b 00 00 00 3d 20 | rce_offer(a->ds,."STRING");...=. |
| 17d40 | 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 5f 73 65 74 5f 73 65 6c 65 63 74 69 6f 6e 28 61 2d | .wl_data_device_set_selection(a- |
| 17d60 | 3e 64 64 2c 20 61 2d 3e 64 73 2c 20 61 2d 3e 6c 61 73 74 5f 73 65 72 69 61 6c 29 3b 00 00 00 01 | >dd,.a->ds,.a->last_serial);.... |
| 17d80 | 7d 00 00 00 00 00 00 00 36 73 74 61 74 69 63 20 76 6f 69 64 20 70 72 6f 63 65 73 73 5f 6b 65 79 | }.......6static.void.process_key |
| 17da0 | 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 2c 20 75 69 6e 74 33 32 5f 74 20 6b 65 79 29 20 7b 00 | (struct.app.*a,.uint32_t.key).{. |
| 17dc0 | 00 00 1c 20 20 69 66 20 28 21 61 2d 3e 78 6b 62 5f 73 74 61 74 65 29 20 72 65 74 75 72 6e 3b 00 | .....if.(!a->xkb_state).return;. |
| 17de0 | 00 00 1c 20 20 78 6b 62 5f 6b 65 79 63 6f 64 65 5f 74 20 6b 63 20 20 3d 20 6b 65 79 2b 38 3b 00 | .....xkb_keycode_t.kc..=.key+8;. |
| 17e00 | 00 00 42 20 20 78 6b 62 5f 6b 65 79 73 79 6d 5f 74 20 20 73 79 6d 20 3d 20 78 6b 62 5f 73 74 61 | ..B..xkb_keysym_t..sym.=.xkb_sta |
| 17e20 | 74 65 5f 6b 65 79 5f 67 65 74 5f 6f 6e 65 5f 73 79 6d 28 61 2d 3e 78 6b 62 5f 73 74 61 74 65 2c | te_key_get_one_sym(a->xkb_state, |
| 17e40 | 20 6b 63 29 3b 00 00 00 67 20 20 69 6e 74 20 63 74 72 6c 20 20 3d 20 78 6b 62 5f 73 74 61 74 65 | .kc);...g..int.ctrl..=.xkb_state |
| 17e60 | 5f 6d 6f 64 5f 6e 61 6d 65 5f 69 73 5f 61 63 74 69 76 65 28 61 2d 3e 78 6b 62 5f 73 74 61 74 65 | _mod_name_is_active(a->xkb_state |
| 17e80 | 2c 20 58 4b 42 5f 4d 4f 44 5f 4e 41 4d 45 5f 43 54 52 4c 2c 20 20 58 4b 42 5f 53 54 41 54 45 5f | ,.XKB_MOD_NAME_CTRL,..XKB_STATE_ |
| 17ea0 | 4d 4f 44 53 5f 45 46 46 45 43 54 49 56 45 29 3b 00 00 00 67 20 20 69 6e 74 20 73 68 69 66 74 20 | MODS_EFFECTIVE);...g..int.shift. |
| 17ec0 | 3d 20 78 6b 62 5f 73 74 61 74 65 5f 6d 6f 64 5f 6e 61 6d 65 5f 69 73 5f 61 63 74 69 76 65 28 61 | =.xkb_state_mod_name_is_active(a |
| 17ee0 | 2d 3e 78 6b 62 5f 73 74 61 74 65 2c 20 58 4b 42 5f 4d 4f 44 5f 4e 41 4d 45 5f 53 48 49 46 54 2c | ->xkb_state,.XKB_MOD_NAME_SHIFT, |
| 17f00 | 20 58 4b 42 5f 53 54 41 54 45 5f 4d 4f 44 53 5f 45 46 46 45 43 54 49 56 45 29 3b 00 00 00 49 20 | .XKB_STATE_MODS_EFFECTIVE);...I. |
| 17f20 | 20 78 6b 62 5f 6c 61 79 6f 75 74 5f 69 6e 64 65 78 5f 74 20 6c 61 79 6f 75 74 20 3d 20 78 6b 62 | .xkb_layout_index_t.layout.=.xkb |
| 17f40 | 5f 73 74 61 74 65 5f 6b 65 79 5f 67 65 74 5f 6c 61 79 6f 75 74 28 61 2d 3e 78 6b 62 5f 73 74 61 | _state_key_get_layout(a->xkb_sta |
| 17f60 | 74 65 2c 20 6b 63 29 3b 00 00 00 60 20 20 63 6f 6e 73 74 20 78 6b 62 5f 6b 65 79 73 79 6d 5f 74 | te,.kc);...`..const.xkb_keysym_t |
| 17f80 | 20 2a 62 73 3b 20 69 6e 74 20 6e 3d 78 6b 62 5f 6b 65 79 6d 61 70 5f 6b 65 79 5f 67 65 74 5f 73 | .*bs;.int.n=xkb_keymap_key_get_s |
| 17fa0 | 79 6d 73 5f 62 79 5f 6c 65 76 65 6c 28 61 2d 3e 78 6b 62 5f 6b 65 79 6d 61 70 2c 6b 63 2c 6c 61 | yms_by_level(a->xkb_keymap,kc,la |
| 17fc0 | 79 6f 75 74 2c 30 2c 26 62 73 29 3b 00 00 00 29 20 20 78 6b 62 5f 6b 65 79 73 79 6d 5f 74 20 70 | yout,0,&bs);...)..xkb_keysym_t.p |
| 17fe0 | 6c 61 69 6e 20 3d 20 6e 3e 30 20 3f 20 62 73 5b 30 5d 20 3a 20 73 79 6d 3b 00 00 00 00 00 00 00 | lain.=.n>0.?.bs[0].:.sym;....... |
| 18000 | 1c 20 20 69 66 20 28 73 79 6d 3d 3d 58 4b 42 5f 4b 45 59 5f 45 73 63 61 70 65 29 20 7b 00 00 00 | ...if.(sym==XKB_KEY_Escape).{... |
| 18020 | 5b 20 20 20 20 69 66 20 28 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 21 3d 4d 45 4e 55 5f 4e 4f 4e 45 | [....if.(a->open_menu!=MENU_NONE |
| 18040 | 29 20 7b 20 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 3d 4d 45 4e 55 5f 4e 4f 4e 45 3b 20 61 2d 3e 68 | ).{.a->open_menu=MENU_NONE;.a->h |
| 18060 | 6f 76 65 72 65 64 5f 69 74 65 6d 3d 2d 31 3b 20 72 65 64 72 61 77 28 61 29 3b 20 7d 00 00 00 0b | overed_item=-1;.redraw(a);.}.... |
| 18080 | 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 03 20 20 7d 00 00 00 0d 20 20 69 66 20 28 63 74 72 6c | ....return;......}......if.(ctrl |
| 180a0 | 29 20 7b 00 00 00 6b 20 20 20 20 69 66 20 28 70 6c 61 69 6e 3d 3d 58 4b 42 5f 4b 45 59 5f 65 71 | ).{...k....if.(plain==XKB_KEY_eq |
| 180c0 | 75 61 6c 7c 7c 70 6c 61 69 6e 3d 3d 58 4b 42 5f 4b 45 59 5f 70 6c 75 73 29 20 7b 20 66 6f 6e 74 | ual||plain==XKB_KEY_plus).{.font |
| 180e0 | 5f 70 74 2b 2b 3b 20 75 70 64 61 74 65 5f 66 6f 6e 74 5f 6d 65 74 72 69 63 73 28 29 3b 20 72 65 | _pt++;.update_font_metrics();.re |
| 18100 | 64 72 61 77 28 61 29 3b 20 72 65 74 75 72 6e 3b 20 7d 00 00 00 66 20 20 20 20 69 66 20 28 70 6c | draw(a);.return;.}...f....if.(pl |
| 18120 | 61 69 6e 3d 3d 58 4b 42 5f 4b 45 59 5f 6d 69 6e 75 73 29 20 7b 20 69 66 20 28 66 6f 6e 74 5f 70 | ain==XKB_KEY_minus).{.if.(font_p |
| 18140 | 74 3e 34 29 7b 66 6f 6e 74 5f 70 74 2d 2d 3b 20 75 70 64 61 74 65 5f 66 6f 6e 74 5f 6d 65 74 72 | t>4){font_pt--;.update_font_metr |
| 18160 | 69 63 73 28 29 3b 20 72 65 64 72 61 77 28 61 29 3b 7d 20 72 65 74 75 72 6e 3b 20 7d 00 00 00 5a | ics();.redraw(a);}.return;.}...Z |
| 18180 | 20 20 20 20 69 66 20 28 70 6c 61 69 6e 3d 3d 58 4b 42 5f 4b 45 59 5f 30 29 20 7b 20 66 6f 6e 74 | ....if.(plain==XKB_KEY_0).{.font |
| 181a0 | 5f 70 74 3d 46 4f 4e 54 5f 53 49 5a 45 3b 20 75 70 64 61 74 65 5f 66 6f 6e 74 5f 6d 65 74 72 69 | _pt=FONT_SIZE;.update_font_metri |
| 181c0 | 63 73 28 29 3b 20 72 65 64 72 61 77 28 61 29 3b 20 72 65 74 75 72 6e 3b 20 7d 00 00 00 4e 20 20 | cs();.redraw(a);.return;.}...N.. |
| 181e0 | 20 20 69 66 20 28 70 6c 61 69 6e 3d 3d 58 4b 42 5f 4b 45 59 5f 73 7c 7c 70 6c 61 69 6e 3d 3d 58 | ..if.(plain==XKB_KEY_s||plain==X |
| 18200 | 4b 42 5f 4b 45 59 5f 53 29 20 7b 20 64 6f 5f 73 61 76 65 28 61 29 3b 20 72 65 64 72 61 77 28 61 | KB_KEY_S).{.do_save(a);.redraw(a |
| 18220 | 29 3b 20 72 65 74 75 72 6e 3b 20 7d 00 00 00 5d 20 20 20 20 69 66 20 28 70 6c 61 69 6e 3d 3d 58 | );.return;.}...]....if.(plain==X |
| 18240 | 4b 42 5f 4b 45 59 5f 61 7c 7c 70 6c 61 69 6e 3d 3d 58 4b 42 5f 4b 45 59 5f 41 29 20 7b 20 73 65 | KB_KEY_a||plain==XKB_KEY_A).{.se |
| 18260 | 6c 5f 61 6e 63 68 6f 72 3d 30 3b 20 63 75 72 73 6f 72 3d 74 6c 65 6e 3b 20 72 65 64 72 61 77 28 | l_anchor=0;.cursor=tlen;.redraw( |
| 18280 | 61 29 3b 20 72 65 74 75 72 6e 3b 20 7d 00 00 00 44 20 20 20 20 69 66 20 28 70 6c 61 69 6e 3d 3d | a);.return;.}...D....if.(plain== |
| 182a0 | 58 4b 42 5f 4b 45 59 5f 63 7c 7c 70 6c 61 69 6e 3d 3d 58 4b 42 5f 4b 45 59 5f 43 29 20 7b 20 63 | XKB_KEY_c||plain==XKB_KEY_C).{.c |
| 182c0 | 6f 70 79 5f 73 65 6c 28 61 29 3b 20 72 65 74 75 72 6e 3b 20 7d 00 00 00 5d 20 20 20 20 69 66 20 | opy_sel(a);.return;.}...]....if. |
| 182e0 | 28 70 6c 61 69 6e 3d 3d 58 4b 42 5f 4b 45 59 5f 78 7c 7c 70 6c 61 69 6e 3d 3d 58 4b 42 5f 4b 45 | (plain==XKB_KEY_x||plain==XKB_KE |
| 18300 | 59 5f 58 29 20 7b 20 63 6f 70 79 5f 73 65 6c 28 61 29 3b 20 64 65 6c 65 74 65 5f 73 65 6c 28 29 | Y_X).{.copy_sel(a);.delete_sel() |
| 18320 | 3b 20 72 65 64 72 61 77 28 61 29 3b 20 72 65 74 75 72 6e 3b 20 7d 00 00 00 85 20 20 20 20 69 66 | ;.redraw(a);.return;.}........if |
| 18340 | 20 28 70 6c 61 69 6e 3d 3d 58 4b 42 5f 4b 45 59 5f 76 7c 7c 70 6c 61 69 6e 3d 3d 58 4b 42 5f 4b | .(plain==XKB_KEY_v||plain==XKB_K |
| 18360 | 45 59 5f 56 29 20 7b 20 69 66 28 73 65 6c 5f 61 6e 63 68 6f 72 3e 3d 30 29 64 65 6c 65 74 65 5f | EY_V).{.if(sel_anchor>=0)delete_ |
| 18380 | 73 65 6c 28 29 3b 20 69 6e 73 28 61 2d 3e 63 6c 69 70 62 6f 61 72 64 2c 61 2d 3e 63 6c 69 70 62 | sel();.ins(a->clipboard,a->clipb |
| 183a0 | 6f 61 72 64 5f 6c 65 6e 29 3b 20 72 65 64 72 61 77 28 61 29 3b 20 72 65 74 75 72 6e 3b 20 7d 00 | oard_len);.redraw(a);.return;.}. |
| 183c0 | 00 00 03 20 20 7d 00 00 00 53 20 20 69 66 20 28 73 79 6d 3d 3d 58 4b 42 5f 4b 45 59 5f 4c 65 66 | .....}...S..if.(sym==XKB_KEY_Lef |
| 183e0 | 74 7c 7c 73 79 6d 3d 3d 58 4b 42 5f 4b 45 59 5f 52 69 67 68 74 7c 7c 73 79 6d 3d 3d 58 4b 42 5f | t||sym==XKB_KEY_Right||sym==XKB_ |
| 18400 | 4b 45 59 5f 48 6f 6d 65 7c 7c 73 79 6d 3d 3d 58 4b 42 5f 4b 45 59 5f 45 6e 64 29 20 7b 00 00 00 | KEY_Home||sym==XKB_KEY_End).{... |
| 18420 | 2f 20 20 20 20 69 66 20 28 73 68 69 66 74 26 26 73 65 6c 5f 61 6e 63 68 6f 72 3c 30 29 20 73 65 | /....if.(shift&&sel_anchor<0).se |
| 18440 | 6c 5f 61 6e 63 68 6f 72 3d 63 75 72 73 6f 72 3b 00 00 00 23 20 20 20 20 65 6c 73 65 20 69 66 20 | l_anchor=cursor;...#....else.if. |
| 18460 | 28 21 73 68 69 66 74 29 20 73 65 6c 5f 61 6e 63 68 6f 72 3d 2d 31 3b 00 00 00 33 20 20 20 20 69 | (!shift).sel_anchor=-1;...3....i |
| 18480 | 66 20 28 73 79 6d 3d 3d 58 4b 42 5f 4b 45 59 5f 4c 65 66 74 20 20 26 26 63 75 72 73 6f 72 3e 30 | f.(sym==XKB_KEY_Left..&&cursor>0 |
| 184a0 | 29 20 20 20 20 63 75 72 73 6f 72 2d 2d 3b 00 00 00 33 20 20 20 20 69 66 20 28 73 79 6d 3d 3d 58 | )....cursor--;...3....if.(sym==X |
| 184c0 | 4b 42 5f 4b 45 59 5f 52 69 67 68 74 20 26 26 63 75 72 73 6f 72 3c 74 6c 65 6e 29 20 63 75 72 73 | KB_KEY_Right.&&cursor<tlen).curs |
| 184e0 | 6f 72 2b 2b 3b 00 00 00 52 20 20 20 20 69 66 20 28 73 79 6d 3d 3d 58 4b 42 5f 4b 45 59 5f 48 6f | or++;...R....if.(sym==XKB_KEY_Ho |
| 18500 | 6d 65 29 20 7b 20 77 68 69 6c 65 28 63 75 72 73 6f 72 3e 30 20 20 20 20 26 26 74 65 78 74 5b 63 | me).{.while(cursor>0....&&text[c |
| 18520 | 75 72 73 6f 72 2d 31 5d 21 3d 27 5c 6e 27 29 20 63 75 72 73 6f 72 2d 2d 3b 20 7d 00 00 00 52 20 | ursor-1]!='\n').cursor--;.}...R. |
| 18540 | 20 20 20 69 66 20 28 73 79 6d 3d 3d 58 4b 42 5f 4b 45 59 5f 45 6e 64 29 20 20 7b 20 77 68 69 6c | ...if.(sym==XKB_KEY_End)..{.whil |
| 18560 | 65 28 63 75 72 73 6f 72 3c 74 6c 65 6e 20 26 26 74 65 78 74 5b 63 75 72 73 6f 72 5d 20 20 21 3d | e(cursor<tlen.&&text[cursor]..!= |
| 18580 | 27 5c 6e 27 29 20 63 75 72 73 6f 72 2b 2b 3b 20 7d 00 00 00 31 20 20 20 20 69 66 20 28 73 68 69 | '\n').cursor++;.}...1....if.(shi |
| 185a0 | 66 74 26 26 73 65 6c 5f 61 6e 63 68 6f 72 3d 3d 63 75 72 73 6f 72 29 20 73 65 6c 5f 61 6e 63 68 | ft&&sel_anchor==cursor).sel_anch |
| 185c0 | 6f 72 3d 2d 31 3b 00 00 00 16 20 20 20 20 72 65 64 72 61 77 28 61 29 3b 20 72 65 74 75 72 6e 3b | or=-1;........redraw(a);.return; |
| 185e0 | 00 00 00 03 20 20 7d 00 00 00 1f 20 20 69 66 20 28 73 79 6d 3d 3d 58 4b 42 5f 4b 45 59 5f 42 61 | ......}......if.(sym==XKB_KEY_Ba |
| 18600 | 63 6b 53 70 61 63 65 29 20 7b 00 00 00 24 20 20 20 20 69 66 20 28 73 65 6c 5f 61 6e 63 68 6f 72 | ckSpace).{...$....if.(sel_anchor |
| 18620 | 3e 3d 30 29 20 64 65 6c 65 74 65 5f 73 65 6c 28 29 3b 00 00 00 79 20 20 20 20 65 6c 73 65 20 69 | >=0).delete_sel();...y....else.i |
| 18640 | 66 20 28 63 75 72 73 6f 72 3e 30 29 20 7b 20 6d 65 6d 6d 6f 76 65 28 74 65 78 74 2b 63 75 72 73 | f.(cursor>0).{.memmove(text+curs |
| 18660 | 6f 72 2d 31 2c 74 65 78 74 2b 63 75 72 73 6f 72 2c 74 6c 65 6e 2d 63 75 72 73 6f 72 29 3b 20 74 | or-1,text+cursor,tlen-cursor);.t |
| 18680 | 6c 65 6e 2d 2d 3b 20 63 75 72 73 6f 72 2d 2d 3b 20 74 65 78 74 5b 74 6c 65 6e 5d 3d 27 5c 30 27 | len--;.cursor--;.text[tlen]='\0' |
| 186a0 | 3b 20 64 69 72 74 79 3d 74 72 75 65 3b 20 7d 00 00 00 16 20 20 20 20 72 65 64 72 61 77 28 61 29 | ;.dirty=true;.}........redraw(a) |
| 186c0 | 3b 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 73 79 6d 3d 3d 58 | ;.return;......}......if.(sym==X |
| 186e0 | 4b 42 5f 4b 45 59 5f 44 65 6c 65 74 65 29 20 7b 00 00 00 24 20 20 20 20 69 66 20 28 73 65 6c 5f | KB_KEY_Delete).{...$....if.(sel_ |
| 18700 | 61 6e 63 68 6f 72 3e 3d 30 29 20 64 65 6c 65 74 65 5f 73 65 6c 28 29 3b 00 00 00 74 20 20 20 20 | anchor>=0).delete_sel();...t.... |
| 18720 | 65 6c 73 65 20 69 66 20 28 63 75 72 73 6f 72 3c 74 6c 65 6e 29 20 7b 20 6d 65 6d 6d 6f 76 65 28 | else.if.(cursor<tlen).{.memmove( |
| 18740 | 74 65 78 74 2b 63 75 72 73 6f 72 2c 74 65 78 74 2b 63 75 72 73 6f 72 2b 31 2c 74 6c 65 6e 2d 63 | text+cursor,text+cursor+1,tlen-c |
| 18760 | 75 72 73 6f 72 2d 31 29 3b 20 74 6c 65 6e 2d 2d 3b 20 74 65 78 74 5b 74 6c 65 6e 5d 3d 27 5c 30 | ursor-1);.tlen--;.text[tlen]='\0 |
| 18780 | 27 3b 20 64 69 72 74 79 3d 74 72 75 65 3b 20 7d 00 00 00 16 20 20 20 20 72 65 64 72 61 77 28 61 | ';.dirty=true;.}........redraw(a |
| 187a0 | 29 3b 20 72 65 74 75 72 6e 3b 00 00 00 03 20 20 7d 00 00 00 33 20 20 69 66 20 28 73 79 6d 3d 3d | );.return;......}...3..if.(sym== |
| 187c0 | 58 4b 42 5f 4b 45 59 5f 52 65 74 75 72 6e 7c 7c 73 79 6d 3d 3d 58 4b 42 5f 4b 45 59 5f 4b 50 5f | XKB_KEY_Return||sym==XKB_KEY_KP_ |
| 187e0 | 45 6e 74 65 72 29 20 7b 00 00 00 44 20 20 20 20 69 66 20 28 73 65 6c 5f 61 6e 63 68 6f 72 3e 3d | Enter).{...D....if.(sel_anchor>= |
| 18800 | 30 29 20 64 65 6c 65 74 65 5f 73 65 6c 28 29 3b 20 69 6e 73 28 22 5c 6e 22 2c 31 29 3b 20 72 65 | 0).delete_sel();.ins("\n",1);.re |
| 18820 | 64 72 61 77 28 61 29 3b 20 72 65 74 75 72 6e 3b 00 00 00 03 20 20 7d 00 00 00 4e 20 20 63 68 61 | draw(a);.return;......}...N..cha |
| 18840 | 72 20 62 75 66 5b 38 5d 3b 20 69 6e 74 20 6c 65 6e 3d 78 6b 62 5f 73 74 61 74 65 5f 6b 65 79 5f | r.buf[8];.int.len=xkb_state_key_ |
| 18860 | 67 65 74 5f 75 74 66 38 28 61 2d 3e 78 6b 62 5f 73 74 61 74 65 2c 6b 63 2c 62 75 66 2c 73 69 7a | get_utf8(a->xkb_state,kc,buf,siz |
| 18880 | 65 6f 66 20 62 75 66 29 3b 00 00 00 63 20 20 69 66 20 28 6c 65 6e 3e 30 26 26 28 75 6e 73 69 67 | eof.buf);...c..if.(len>0&&(unsig |
| 188a0 | 6e 65 64 20 63 68 61 72 29 62 75 66 5b 30 5d 3e 3d 33 32 29 20 7b 20 69 66 28 73 65 6c 5f 61 6e | ned.char)buf[0]>=32).{.if(sel_an |
| 188c0 | 63 68 6f 72 3e 3d 30 29 64 65 6c 65 74 65 5f 73 65 6c 28 29 3b 20 69 6e 73 28 62 75 66 2c 6c 65 | chor>=0)delete_sel();.ins(buf,le |
| 188e0 | 6e 29 3b 20 72 65 64 72 61 77 28 61 29 3b 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 66 73 74 61 | n);.redraw(a);.}....}.......fsta |
| 18900 | 74 69 63 20 76 6f 69 64 20 77 6d 5f 70 69 6e 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 | tic.void.wm_ping(void.*d,.struct |
| 18920 | 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 | .xdg_wm_base.*wm,.uint32_t.seria |
| 18940 | 6c 29 20 7b 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 2c 73 65 72 69 61 6c 29 | l).{.xdg_wm_base_pong(wm,serial) |
| 18960 | 3b 20 7d 00 00 00 47 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f 77 | ;.}...Gstatic.const.struct.xdg_w |
| 18980 | 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 77 6d 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 2e | m_base_listener.wm_listener.=.{. |
| 189a0 | 70 69 6e 67 3d 77 6d 5f 70 69 6e 67 7d 3b 00 00 00 00 00 00 00 26 73 74 61 74 69 63 20 76 6f 69 | ping=wm_ping};.......&static.voi |
| 189c0 | 64 20 61 6c 6c 6f 63 5f 62 75 66 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 3c | d.alloc_buf(struct.app.*a).{...< |
| 189e0 | 20 20 69 66 20 28 61 2d 3e 62 75 66 29 20 20 20 20 7b 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 | ..if.(a->buf)....{.wl_buffer_des |
| 18a00 | 74 72 6f 79 28 61 2d 3e 62 75 66 29 3b 20 61 2d 3e 62 75 66 3d 4e 55 4c 4c 3b 20 7d 00 00 00 46 | troy(a->buf);.a->buf=NULL;.}...F |
| 18a20 | 20 20 69 66 20 28 61 2d 3e 70 69 78 65 6c 73 29 20 7b 20 6d 75 6e 6d 61 70 28 61 2d 3e 70 69 78 | ..if.(a->pixels).{.munmap(a->pix |
| 18a40 | 65 6c 73 2c 61 2d 3e 70 69 78 65 6c 73 5f 73 69 7a 65 29 3b 20 61 2d 3e 70 69 78 65 6c 73 3d 4e | els,a->pixels_size);.a->pixels=N |
| 18a60 | 55 4c 4c 3b 20 7d 00 00 00 40 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 6d 61 6b 65 5f 73 68 6d | ULL;.}...@..a->pixels.=.make_shm |
| 18a80 | 28 61 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 26 61 2d 3e 62 75 66 2c 20 26 61 2d 3e 70 69 78 | (a,.a->w,.a->h,.&a->buf,.&a->pix |
| 18aa0 | 65 6c 73 5f 73 69 7a 65 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 46 73 74 61 74 69 63 20 76 6f | els_size);....}.......Fstatic.vo |
| 18ac0 | 69 64 20 78 73 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 | id.xs_cfg(void.*d,.struct.xdg_su |
| 18ae0 | 72 66 61 63 65 20 2a 78 73 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 | rface.*xs,.uint32_t.serial).{... |
| 18b00 | 38 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 3d 64 3b 20 78 64 67 5f 73 75 72 66 61 63 65 5f | 8..struct.app.*a=d;.xdg_surface_ |
| 18b20 | 61 63 6b 5f 63 6f 6e 66 69 67 75 72 65 28 78 73 2c 73 65 72 69 61 6c 29 3b 00 00 00 6f 20 20 69 | ack_configure(xs,serial);...o..i |
| 18b40 | 66 20 28 61 2d 3e 70 65 6e 64 69 6e 67 5f 77 3e 30 26 26 61 2d 3e 70 65 6e 64 69 6e 67 5f 68 3e | f.(a->pending_w>0&&a->pending_h> |
| 18b60 | 30 29 20 7b 20 61 2d 3e 77 3d 61 2d 3e 70 65 6e 64 69 6e 67 5f 77 3b 20 61 2d 3e 68 3d 61 2d 3e | 0).{.a->w=a->pending_w;.a->h=a-> |
| 18b80 | 70 65 6e 64 69 6e 67 5f 68 3b 20 61 2d 3e 70 65 6e 64 69 6e 67 5f 77 3d 30 3b 20 61 2d 3e 70 65 | pending_h;.a->pending_w=0;.a->pe |
| 18ba0 | 6e 64 69 6e 67 5f 68 3d 30 3b 20 7d 00 00 00 29 20 20 69 66 20 28 21 61 2d 3e 63 6f 6e 66 69 67 | nding_h=0;.}...)..if.(!a->config |
| 18bc0 | 75 72 65 64 29 20 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 3d 74 72 75 65 3b 00 00 00 1a 20 20 61 | ured).a->configured=true;......a |
| 18be0 | 6c 6c 6f 63 5f 62 75 66 28 61 29 3b 20 72 65 64 72 61 77 28 61 29 3b 00 00 00 01 7d 00 00 00 4b | lloc_buf(a);.redraw(a);....}...K |
| 18c00 | 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 5f | static.const.struct.xdg_surface_ |
| 18c20 | 6c 69 73 74 65 6e 65 72 20 78 73 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 | listener.xs_listener.=.{.configu |
| 18c40 | 72 65 3d 78 73 5f 63 66 67 7d 3b 00 00 00 00 00 00 00 60 73 74 61 74 69 63 20 76 6f 69 64 20 78 | re=xs_cfg};.......`static.void.x |
| 18c60 | 74 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 | t_cfg(void.*d,.struct.xdg_toplev |
| 18c80 | 65 6c 20 2a 78 74 2c 20 69 6e 74 33 32 5f 74 20 77 2c 20 69 6e 74 33 32 5f 74 20 68 2c 20 73 74 | el.*xt,.int32_t.w,.int32_t.h,.st |
| 18ca0 | 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 29 20 7b 00 00 00 3f 20 20 73 74 72 75 63 74 20 | ruct.wl_array.*s).{...?..struct. |
| 18cc0 | 61 70 70 20 2a 61 3d 64 3b 20 69 66 28 77 3e 30 26 26 68 3e 30 29 7b 61 2d 3e 70 65 6e 64 69 6e | app.*a=d;.if(w>0&&h>0){a->pendin |
| 18ce0 | 67 5f 77 3d 77 3b 61 2d 3e 70 65 6e 64 69 6e 67 5f 68 3d 68 3b 7d 00 00 00 01 7d 00 00 00 43 73 | g_w=w;a->pending_h=h;}....}...Cs |
| 18d00 | 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 6c 6f 73 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 | tatic.void.xt_close(void.*d,.str |
| 18d20 | 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 29 20 7b 20 65 78 69 74 28 30 29 3b | uct.xdg_toplevel.*xt).{.exit(0); |
| 18d40 | 20 7d 00 00 00 5c 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f | .}...\static.const.struct.xdg_to |
| 18d60 | 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 78 74 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 2e | plevel_listener.xt_listener.=.{. |
| 18d80 | 63 6f 6e 66 69 67 75 72 65 3d 78 74 5f 63 66 67 2c 2e 63 6c 6f 73 65 3d 78 74 5f 63 6c 6f 73 65 | configure=xt_cfg,.close=xt_close |
| 18da0 | 7d 3b 00 00 00 00 00 00 00 4a 73 74 61 74 69 63 20 76 6f 69 64 20 64 73 5f 74 61 72 67 65 74 28 | };.......Jstatic.void.ds_target( |
| 18dc0 | 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 20 2a | void.*d,.struct.wl_data_source.* |
| 18de0 | 73 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6d 29 20 7b 7d 00 00 00 53 73 74 61 74 69 63 20 76 | s,.const.char.*m).{}...Sstatic.v |
| 18e00 | 6f 69 64 20 64 73 5f 73 65 6e 64 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 64 | oid.ds_send(void.*d,.struct.wl_d |
| 18e20 | 61 74 61 5f 73 6f 75 72 63 65 20 2a 73 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6d 2c 20 69 6e | ata_source.*s,.const.char.*m,.in |
| 18e40 | 74 33 32 5f 74 20 66 64 29 20 7b 00 00 00 46 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 3d 64 | t32_t.fd).{...F..struct.app.*a=d |
| 18e60 | 3b 20 77 72 69 74 65 28 66 64 2c 61 2d 3e 63 6c 69 70 62 6f 61 72 64 2c 61 2d 3e 63 6c 69 70 62 | ;.write(fd,a->clipboard,a->clipb |
| 18e80 | 6f 61 72 64 5f 6c 65 6e 29 3b 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 01 7d 00 00 00 3d 73 74 | oard_len);.close(fd);....}...=st |
| 18ea0 | 61 74 69 63 20 76 6f 69 64 20 64 73 5f 63 61 6e 63 65 6c 6c 65 64 28 76 6f 69 64 20 2a 64 2c 20 | atic.void.ds_cancelled(void.*d,. |
| 18ec0 | 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 20 2a 73 29 20 7b 00 00 00 47 20 | struct.wl_data_source.*s).{...G. |
| 18ee0 | 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 3d 64 3b 20 69 66 28 61 2d 3e 64 73 29 7b 77 6c 5f 64 | .struct.app.*a=d;.if(a->ds){wl_d |
| 18f00 | 61 74 61 5f 73 6f 75 72 63 65 5f 64 65 73 74 72 6f 79 28 61 2d 3e 64 73 29 3b 61 2d 3e 64 73 3d | ata_source_destroy(a->ds);a->ds= |
| 18f20 | 4e 55 4c 4c 3b 7d 00 00 00 01 7d 00 00 00 74 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 | NULL;}....}...tstatic.const.stru |
| 18f40 | 63 74 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 5f 6c 69 73 74 65 6e 65 72 20 64 73 5f 6c 69 | ct.wl_data_source_listener.ds_li |
| 18f60 | 73 74 65 6e 65 72 20 3d 20 7b 2e 74 61 72 67 65 74 3d 64 73 5f 74 61 72 67 65 74 2c 2e 73 65 6e | stener.=.{.target=ds_target,.sen |
| 18f80 | 64 3d 64 73 5f 73 65 6e 64 2c 2e 63 61 6e 63 65 6c 6c 65 64 3d 64 73 5f 63 61 6e 63 65 6c 6c 65 | d=ds_send,.cancelled=ds_cancelle |
| 18fa0 | 64 7d 3b 00 00 00 00 00 00 00 54 73 74 61 74 69 63 20 76 6f 69 64 20 64 64 5f 6f 66 66 65 72 28 | d};.......Tstatic.void.dd_offer( |
| 18fc0 | 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 20 2a | void.*d,.struct.wl_data_device.* |
| 18fe0 | 64 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 6f 66 66 65 72 20 2a 6f 29 20 7b 7d 00 | dd,.struct.wl_data_offer.*o).{}. |
| 19000 | 00 00 93 73 74 61 74 69 63 20 76 6f 69 64 20 64 64 5f 65 6e 74 65 72 28 76 6f 69 64 20 2a 64 2c | ...static.void.dd_enter(void.*d, |
| 19020 | 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 20 2a 64 64 2c 20 75 69 6e 74 | .struct.wl_data_device.*dd,.uint |
| 19040 | 33 32 5f 74 20 73 2c 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 2c 20 77 | 32_t.s,.struct.wl_surface.*su,.w |
| 19060 | 6c 5f 66 69 78 65 64 5f 74 20 78 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 79 2c 20 73 74 72 75 63 | l_fixed_t.x,.wl_fixed_t.y,.struc |
| 19080 | 74 20 77 6c 5f 64 61 74 61 5f 6f 66 66 65 72 20 2a 6f 29 20 7b 7d 00 00 00 3b 73 74 61 74 69 63 | t.wl_data_offer.*o).{}...;static |
| 190a0 | 20 76 6f 69 64 20 64 64 5f 6c 65 61 76 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 | .void.dd_leave(void.*d,.struct.w |
| 190c0 | 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 20 2a 64 64 29 20 7b 7d 00 00 00 64 73 74 61 74 69 63 20 | l_data_device.*dd).{}...dstatic. |
| 190e0 | 76 6f 69 64 20 64 64 5f 6d 6f 74 69 6f 6e 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 | void.dd_motion(void.*d,.struct.w |
| 19100 | 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 20 2a 64 64 2c 20 75 69 6e 74 33 32 5f 74 20 74 2c 20 77 | l_data_device.*dd,.uint32_t.t,.w |
| 19120 | 6c 5f 66 69 78 65 64 5f 74 20 78 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 79 29 20 7b 7d 00 00 00 | l_fixed_t.x,.wl_fixed_t.y).{}... |
| 19140 | 3a 73 74 61 74 69 63 20 76 6f 69 64 20 64 64 5f 64 72 6f 70 28 76 6f 69 64 20 2a 64 2c 20 73 74 | :static.void.dd_drop(void.*d,.st |
| 19160 | 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 20 2a 64 64 29 20 7b 7d 00 00 00 58 73 | ruct.wl_data_device.*dd).{}...Xs |
| 19180 | 74 61 74 69 63 20 76 6f 69 64 20 64 64 5f 73 65 6c 65 63 74 69 6f 6e 28 76 6f 69 64 20 2a 64 2c | tatic.void.dd_selection(void.*d, |
| 191a0 | 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 20 2a 64 64 2c 20 73 74 72 75 | .struct.wl_data_device.*dd,.stru |
| 191c0 | 63 74 20 77 6c 5f 64 61 74 61 5f 6f 66 66 65 72 20 2a 6f 29 20 7b 7d 00 00 00 3b 73 74 61 74 69 | ct.wl_data_offer.*o).{}...;stati |
| 191e0 | 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 5f 6c 69 | c.const.struct.wl_data_device_li |
| 19200 | 73 74 65 6e 65 72 20 64 64 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 6e 20 20 2e 64 61 74 | stener.dd_listener.=.{...n...dat |
| 19220 | 61 5f 6f 66 66 65 72 3d 64 64 5f 6f 66 66 65 72 2c 2e 65 6e 74 65 72 3d 64 64 5f 65 6e 74 65 72 | a_offer=dd_offer,.enter=dd_enter |
| 19240 | 2c 2e 6c 65 61 76 65 3d 64 64 5f 6c 65 61 76 65 2c 2e 6d 6f 74 69 6f 6e 3d 64 64 5f 6d 6f 74 69 | ,.leave=dd_leave,.motion=dd_moti |
| 19260 | 6f 6e 2c 2e 64 72 6f 70 3d 64 64 5f 64 72 6f 70 2c 2e 73 65 6c 65 63 74 69 6f 6e 3d 64 64 5f 73 | on,.drop=dd_drop,.selection=dd_s |
| 19280 | 65 6c 65 63 74 69 6f 6e 00 00 00 02 7d 3b 00 00 00 00 00 00 00 76 73 74 61 74 69 63 20 76 6f 69 | election....};.......vstatic.voi |
| 192a0 | 64 20 70 74 72 5f 65 6e 74 65 72 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 | d.ptr_enter(void.*d,.struct.wl_p |
| 192c0 | 6f 69 6e 74 65 72 20 2a 70 2c 20 75 69 6e 74 33 32 5f 74 20 73 2c 20 73 74 72 75 63 74 20 77 6c | ointer.*p,.uint32_t.s,.struct.wl |
| 192e0 | 5f 73 75 72 66 61 63 65 20 2a 73 75 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 78 2c 20 77 6c 5f 66 | _surface.*su,.wl_fixed_t.x,.wl_f |
| 19300 | 69 78 65 64 5f 74 20 79 29 20 7b 7d 00 00 00 5a 73 74 61 74 69 63 20 76 6f 69 64 20 70 74 72 5f | ixed_t.y).{}...Zstatic.void.ptr_ |
| 19320 | 6c 65 61 76 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 | leave(void.*d,.struct.wl_pointer |
| 19340 | 20 2a 70 2c 20 75 69 6e 74 33 32 5f 74 20 73 2c 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 | .*p,.uint32_t.s,.struct.wl_surfa |
| 19360 | 63 65 20 2a 73 75 29 20 7b 7d 00 00 00 5f 73 74 61 74 69 63 20 76 6f 69 64 20 70 74 72 5f 6d 6f | ce.*su).{}..._static.void.ptr_mo |
| 19380 | 74 69 6f 6e 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 | tion(void.*d,.struct.wl_pointer. |
| 193a0 | 2a 70 2c 20 75 69 6e 74 33 32 5f 74 20 74 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 78 2c 20 77 6c | *p,.uint32_t.t,.wl_fixed_t.x,.wl |
| 193c0 | 5f 66 69 78 65 64 5f 74 20 79 29 20 7b 00 00 00 12 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 | _fixed_t.y).{......struct.app.*a |
| 193e0 | 3d 64 3b 00 00 00 3f 20 20 61 2d 3e 6d 6f 75 73 65 5f 78 3d 77 6c 5f 66 69 78 65 64 5f 74 6f 5f | =d;...?..a->mouse_x=wl_fixed_to_ |
| 19400 | 69 6e 74 28 78 29 3b 20 61 2d 3e 6d 6f 75 73 65 5f 79 3d 77 6c 5f 66 69 78 65 64 5f 74 6f 5f 69 | int(x);.a->mouse_y=wl_fixed_to_i |
| 19420 | 6e 74 28 79 29 3b 00 00 00 20 20 20 69 66 20 28 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 21 3d 4d 45 | nt(y);......if.(a->open_menu!=ME |
| 19440 | 4e 55 5f 4e 4f 4e 45 29 20 7b 00 00 00 2e 20 20 20 20 69 6e 74 20 69 74 3d 69 74 65 6d 5f 61 74 | NU_NONE).{........int.it=item_at |
| 19460 | 28 61 2c 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 2c 61 2d 3e 6d 6f 75 73 65 5f 79 29 3b 00 00 00 47 | (a,a->open_menu,a->mouse_y);...G |
| 19480 | 20 20 20 20 69 66 20 28 69 74 21 3d 61 2d 3e 68 6f 76 65 72 65 64 5f 69 74 65 6d 29 20 7b 20 61 | ....if.(it!=a->hovered_item).{.a |
| 194a0 | 2d 3e 68 6f 76 65 72 65 64 5f 69 74 65 6d 3d 69 74 3b 20 72 65 64 72 61 77 28 61 29 3b 20 72 65 | ->hovered_item=it;.redraw(a);.re |
| 194c0 | 74 75 72 6e 3b 20 7d 00 00 00 03 20 20 7d 00 00 00 28 20 20 69 66 20 28 61 2d 3e 6d 6f 75 73 65 | turn;.}......}...(..if.(a->mouse |
| 194e0 | 5f 79 20 3e 3d 20 62 61 72 5f 79 28 61 29 29 20 72 65 64 72 61 77 28 61 29 3b 00 00 00 01 7d 00 | _y.>=.bar_y(a)).redraw(a);....}. |
| 19500 | 00 00 72 73 74 61 74 69 63 20 76 6f 69 64 20 70 74 72 5f 62 75 74 74 6f 6e 28 76 6f 69 64 20 2a | ..rstatic.void.ptr_button(void.* |
| 19520 | 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 2c 20 75 69 6e 74 33 32 5f | d,.struct.wl_pointer.*p,.uint32_ |
| 19540 | 74 20 73 65 72 69 61 6c 2c 20 75 69 6e 74 33 32 5f 74 20 74 2c 20 75 69 6e 74 33 32 5f 74 20 62 | t.serial,.uint32_t.t,.uint32_t.b |
| 19560 | 74 6e 2c 20 75 69 6e 74 33 32 5f 74 20 73 74 61 74 65 29 20 7b 00 00 00 12 20 20 73 74 72 75 63 | tn,.uint32_t.state).{......struc |
| 19580 | 74 20 61 70 70 20 2a 61 3d 64 3b 00 00 00 35 20 20 69 66 20 28 73 74 61 74 65 21 3d 57 4c 5f 50 | t.app.*a=d;...5..if.(state!=WL_P |
| 195a0 | 4f 49 4e 54 45 52 5f 42 55 54 54 4f 4e 5f 53 54 41 54 45 5f 50 52 45 53 53 45 44 29 20 72 65 74 | OINTER_BUTTON_STATE_PRESSED).ret |
| 195c0 | 75 72 6e 3b 00 00 00 18 20 20 61 2d 3e 6c 61 73 74 5f 73 65 72 69 61 6c 3d 73 65 72 69 61 6c 3b | urn;......a->last_serial=serial; |
| 195e0 | 00 00 00 12 20 20 69 6e 74 20 62 79 3d 62 61 72 5f 79 28 61 29 3b 00 00 00 00 00 00 00 20 20 20 | ......int.by=bar_y(a);.......... |
| 19600 | 69 66 20 28 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 21 3d 4d 45 4e 55 5f 4e 4f 4e 45 29 20 7b 00 00 | if.(a->open_menu!=MENU_NONE).{.. |
| 19620 | 00 2e 20 20 20 20 69 6e 74 20 69 74 3d 69 74 65 6d 5f 61 74 28 61 2c 61 2d 3e 6f 70 65 6e 5f 6d | ......int.it=item_at(a,a->open_m |
| 19640 | 65 6e 75 2c 61 2d 3e 6d 6f 75 73 65 5f 79 29 3b 00 00 00 38 20 20 20 20 69 66 20 28 69 74 3e 3d | enu,a->mouse_y);...8....if.(it>= |
| 19660 | 30 29 20 7b 20 66 69 72 65 5f 69 74 65 6d 28 61 2c 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 2c 69 74 | 0).{.fire_item(a,a->open_menu,it |
| 19680 | 29 3b 20 72 65 74 75 72 6e 3b 20 7d 00 00 00 19 20 20 20 20 69 66 20 28 61 2d 3e 6d 6f 75 73 65 | );.return;.}........if.(a->mouse |
| 196a0 | 5f 79 3e 3d 62 79 29 20 7b 00 00 00 9e 20 20 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 3d 30 3b | _y>=by).{..........for.(int.i=0; |
| 196c0 | 69 3c 32 3b 69 2b 2b 29 20 7b 20 69 6e 74 20 62 78 3d 62 74 6e 5f 78 28 69 29 2c 62 77 3d 62 74 | i<2;i++).{.int.bx=btn_x(i),bw=bt |
| 196e0 | 6e 5f 77 28 69 29 3b 20 69 66 28 61 2d 3e 6d 6f 75 73 65 5f 78 3e 3d 62 78 26 26 61 2d 3e 6d 6f | n_w(i);.if(a->mouse_x>=bx&&a->mo |
| 19700 | 75 73 65 5f 78 3c 62 78 2b 62 77 29 7b 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 3d 28 4d 65 6e 75 49 | use_x<bx+bw){a->open_menu=(MenuI |
| 19720 | 64 29 69 3b 61 2d 3e 68 6f 76 65 72 65 64 5f 69 74 65 6d 3d 2d 31 3b 72 65 64 72 61 77 28 61 29 | d)i;a->hovered_item=-1;redraw(a) |
| 19740 | 3b 72 65 74 75 72 6e 3b 7d 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 42 20 20 20 20 61 2d 3e 6f | ;return;}.}........}...B....a->o |
| 19760 | 70 65 6e 5f 6d 65 6e 75 3d 4d 45 4e 55 5f 4e 4f 4e 45 3b 20 61 2d 3e 68 6f 76 65 72 65 64 5f 69 | pen_menu=MENU_NONE;.a->hovered_i |
| 19780 | 74 65 6d 3d 2d 31 3b 20 72 65 64 72 61 77 28 61 29 3b 20 72 65 74 75 72 6e 3b 00 00 00 03 20 20 | tem=-1;.redraw(a);.return;...... |
| 197a0 | 7d 00 00 00 00 00 00 00 17 20 20 69 66 20 28 61 2d 3e 6d 6f 75 73 65 5f 79 3e 3d 62 79 29 20 7b | }..........if.(a->mouse_y>=by).{ |
| 197c0 | 00 00 00 9c 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 3d 30 3b 69 3c 32 3b 69 2b 2b 29 20 7b 20 | ........for.(int.i=0;i<2;i++).{. |
| 197e0 | 69 6e 74 20 62 78 3d 62 74 6e 5f 78 28 69 29 2c 62 77 3d 62 74 6e 5f 77 28 69 29 3b 20 69 66 28 | int.bx=btn_x(i),bw=btn_w(i);.if( |
| 19800 | 61 2d 3e 6d 6f 75 73 65 5f 78 3e 3d 62 78 26 26 61 2d 3e 6d 6f 75 73 65 5f 78 3c 62 78 2b 62 77 | a->mouse_x>=bx&&a->mouse_x<bx+bw |
| 19820 | 29 7b 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 3d 28 4d 65 6e 75 49 64 29 69 3b 61 2d 3e 68 6f 76 65 | ){a->open_menu=(MenuId)i;a->hove |
| 19840 | 72 65 64 5f 69 74 65 6d 3d 2d 31 3b 72 65 64 72 61 77 28 61 29 3b 72 65 74 75 72 6e 3b 7d 20 7d | red_item=-1;redraw(a);return;}.} |
| 19860 | 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 00 00 00 00 3d 20 20 | ........return;......}.......=.. |
| 19880 | 69 6e 74 20 63 78 3d 28 61 2d 3e 6d 6f 75 73 65 5f 78 2d 50 41 44 29 2f 63 65 6c 6c 5f 77 2c 20 | int.cx=(a->mouse_x-PAD)/cell_w,. |
| 198a0 | 63 79 3d 28 61 2d 3e 6d 6f 75 73 65 5f 79 2d 50 41 44 29 2f 63 65 6c 6c 5f 68 3b 00 00 00 18 20 | cy=(a->mouse_y-PAD)/cell_h;..... |
| 198c0 | 20 69 6e 74 20 70 6f 73 3d 30 2c 63 6f 6c 3d 30 2c 72 6f 77 3d 30 3b 00 00 00 1c 20 20 66 6f 72 | .int.pos=0,col=0,row=0;......for |
| 198e0 | 20 28 69 6e 74 20 69 3d 30 3b 69 3c 74 6c 65 6e 3b 69 2b 2b 29 20 7b 00 00 00 2c 20 20 20 20 69 | .(int.i=0;i<tlen;i++).{...,....i |
| 19900 | 66 20 28 72 6f 77 3d 3d 63 79 26 26 63 6f 6c 3d 3d 63 78 29 7b 70 6f 73 3d 69 3b 67 6f 74 6f 20 | f.(row==cy&&col==cx){pos=i;goto. |
| 19920 | 66 6f 75 6e 64 3b 7d 00 00 00 42 20 20 20 20 69 66 20 28 74 65 78 74 5b 69 5d 3d 3d 27 5c 6e 27 | found;}...B....if.(text[i]=='\n' |
| 19940 | 29 7b 69 66 28 72 6f 77 3d 3d 63 79 29 7b 70 6f 73 3d 69 3b 67 6f 74 6f 20 66 6f 75 6e 64 3b 7d | ){if(row==cy){pos=i;goto.found;} |
| 19960 | 63 6f 6c 3d 30 3b 72 6f 77 2b 2b 3b 7d 00 00 00 0f 20 20 20 20 65 6c 73 65 20 63 6f 6c 2b 2b 3b | col=0;row++;}........else.col++; |
| 19980 | 00 00 00 03 20 20 7d 00 00 00 0b 20 20 70 6f 73 3d 74 6c 65 6e 3b 00 00 00 06 66 6f 75 6e 64 3a | ......}......pos=tlen;....found: |
| 199a0 | 00 00 00 27 20 20 63 75 72 73 6f 72 3d 70 6f 73 3b 20 73 65 6c 5f 61 6e 63 68 6f 72 3d 2d 31 3b | ...'..cursor=pos;.sel_anchor=-1; |
| 199c0 | 20 72 65 64 72 61 77 28 61 29 3b 00 00 00 01 7d 00 00 00 5f 73 74 61 74 69 63 20 76 6f 69 64 20 | .redraw(a);....}..._static.void. |
| 199e0 | 70 74 72 5f 61 78 69 73 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e | ptr_axis(void.*d,.struct.wl_poin |
| 19a00 | 74 65 72 20 2a 70 2c 20 75 69 6e 74 33 32 5f 74 20 74 2c 20 75 69 6e 74 33 32 5f 74 20 61 78 69 | ter.*p,.uint32_t.t,.uint32_t.axi |
| 19a20 | 73 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 76 29 20 7b 7d 00 00 00 37 73 74 61 74 69 63 20 76 6f | s,.wl_fixed_t.v).{}...7static.vo |
| 19a40 | 69 64 20 70 74 72 5f 66 72 61 6d 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f | id.ptr_frame(void.*d,.struct.wl_ |
| 19a60 | 70 6f 69 6e 74 65 72 20 2a 70 29 20 7b 7d 00 00 00 4b 73 74 61 74 69 63 20 76 6f 69 64 20 70 74 | pointer.*p).{}...Kstatic.void.pt |
| 19a80 | 72 5f 61 78 69 73 5f 73 6f 75 72 63 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c | r_axis_source(void.*d,.struct.wl |
| 19aa0 | 5f 70 6f 69 6e 74 65 72 20 2a 70 2c 20 75 69 6e 74 33 32 5f 74 20 73 72 63 29 20 7b 7d 00 00 00 | _pointer.*p,.uint32_t.src).{}... |
| 19ac0 | 56 73 74 61 74 69 63 20 76 6f 69 64 20 70 74 72 5f 61 78 69 73 5f 73 74 6f 70 28 76 6f 69 64 20 | Vstatic.void.ptr_axis_stop(void. |
| 19ae0 | 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 2c 20 75 69 6e 74 33 32 | *d,.struct.wl_pointer.*p,.uint32 |
| 19b00 | 5f 74 20 74 2c 20 75 69 6e 74 33 32 5f 74 20 61 78 69 73 29 20 7b 7d 00 00 00 5c 73 74 61 74 69 | _t.t,.uint32_t.axis).{}...\stati |
| 19b20 | 63 20 76 6f 69 64 20 70 74 72 5f 61 78 69 73 5f 64 69 73 63 72 65 74 65 28 76 6f 69 64 20 2a 64 | c.void.ptr_axis_discrete(void.*d |
| 19b40 | 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 2c 20 75 69 6e 74 33 32 5f 74 | ,.struct.wl_pointer.*p,.uint32_t |
| 19b60 | 20 61 78 69 73 2c 20 69 6e 74 33 32 5f 74 20 64 69 73 63 29 20 7b 7d 00 00 00 38 73 74 61 74 69 | .axis,.int32_t.disc).{}...8stati |
| 19b80 | 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 5f 6c 69 73 74 65 6e | c.const.struct.wl_pointer_listen |
| 19ba0 | 65 72 20 70 74 72 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 1c 20 20 2e 65 6e 74 65 72 20 | er.ptr_listener.=.{.......enter. |
| 19bc0 | 20 20 20 20 20 20 20 3d 20 70 74 72 5f 65 6e 74 65 72 2c 00 00 00 1c 20 20 2e 6c 65 61 76 65 20 | .......=.ptr_enter,.......leave. |
| 19be0 | 20 20 20 20 20 20 20 3d 20 70 74 72 5f 6c 65 61 76 65 2c 00 00 00 1d 20 20 2e 6d 6f 74 69 6f 6e | .......=.ptr_leave,.......motion |
| 19c00 | 20 20 20 20 20 20 20 3d 20 70 74 72 5f 6d 6f 74 69 6f 6e 2c 00 00 00 1d 20 20 2e 62 75 74 74 6f | .......=.ptr_motion,.......butto |
| 19c20 | 6e 20 20 20 20 20 20 20 3d 20 70 74 72 5f 62 75 74 74 6f 6e 2c 00 00 00 1b 20 20 2e 61 78 69 73 | n.......=.ptr_button,.......axis |
| 19c40 | 20 20 20 20 20 20 20 20 20 3d 20 70 74 72 5f 61 78 69 73 2c 00 00 00 1c 20 20 2e 66 72 61 6d 65 | .........=.ptr_axis,.......frame |
| 19c60 | 20 20 20 20 20 20 20 20 3d 20 70 74 72 5f 66 72 61 6d 65 2c 00 00 00 22 20 20 2e 61 78 69 73 5f | ........=.ptr_frame,..."...axis_ |
| 19c80 | 73 6f 75 72 63 65 20 20 3d 20 70 74 72 5f 61 78 69 73 5f 73 6f 75 72 63 65 2c 00 00 00 20 20 20 | source..=.ptr_axis_source,...... |
| 19ca0 | 2e 61 78 69 73 5f 73 74 6f 70 20 20 20 20 3d 20 70 74 72 5f 61 78 69 73 5f 73 74 6f 70 2c 00 00 | .axis_stop....=.ptr_axis_stop,.. |
| 19cc0 | 00 24 20 20 2e 61 78 69 73 5f 64 69 73 63 72 65 74 65 3d 20 70 74 72 5f 61 78 69 73 5f 64 69 73 | .$...axis_discrete=.ptr_axis_dis |
| 19ce0 | 63 72 65 74 65 2c 00 00 00 02 7d 3b 00 00 00 00 00 00 00 61 73 74 61 74 69 63 20 76 6f 69 64 20 | crete,....};.......astatic.void. |
| 19d00 | 6b 62 5f 6b 65 79 6d 61 70 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 | kb_keymap(void.*d,.struct.wl_key |
| 19d20 | 62 6f 61 72 64 20 2a 6b 62 2c 20 75 69 6e 74 33 32 5f 74 20 66 6d 74 2c 20 69 6e 74 33 32 5f 74 | board.*kb,.uint32_t.fmt,.int32_t |
| 19d40 | 20 66 64 2c 20 75 69 6e 74 33 32 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 12 20 20 73 74 72 75 63 | .fd,.uint32_t.size).{......struc |
| 19d60 | 74 20 61 70 70 20 2a 61 3d 64 3b 00 00 00 3f 20 20 69 66 20 28 66 6d 74 21 3d 57 4c 5f 4b 45 59 | t.app.*a=d;...?..if.(fmt!=WL_KEY |
| 19d80 | 42 4f 41 52 44 5f 4b 45 59 4d 41 50 5f 46 4f 52 4d 41 54 5f 58 4b 42 5f 56 31 29 7b 63 6c 6f 73 | BOARD_KEYMAP_FORMAT_XKB_V1){clos |
| 19da0 | 65 28 66 64 29 3b 72 65 74 75 72 6e 3b 7d 00 00 00 40 20 20 63 68 61 72 20 2a 73 3d 6d 6d 61 70 | e(fd);return;}...@..char.*s=mmap |
| 19dc0 | 28 4e 55 4c 4c 2c 73 69 7a 65 2c 50 52 4f 54 5f 52 45 41 44 2c 4d 41 50 5f 50 52 49 56 41 54 45 | (NULL,size,PROT_READ,MAP_PRIVATE |
| 19de0 | 2c 66 64 2c 30 29 3b 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 1c 20 20 69 66 20 28 73 3d 3d 4d | ,fd,0);.close(fd);......if.(s==M |
| 19e00 | 41 50 5f 46 41 49 4c 45 44 29 20 72 65 74 75 72 6e 3b 00 00 00 46 20 20 69 66 20 28 61 2d 3e 78 | AP_FAILED).return;...F..if.(a->x |
| 19e20 | 6b 62 5f 73 74 61 74 65 29 20 7b 78 6b 62 5f 73 74 61 74 65 5f 75 6e 72 65 66 28 61 2d 3e 78 6b | kb_state).{xkb_state_unref(a->xk |
| 19e40 | 62 5f 73 74 61 74 65 29 3b 61 2d 3e 78 6b 62 5f 73 74 61 74 65 3d 4e 55 4c 4c 3b 7d 00 00 00 49 | b_state);a->xkb_state=NULL;}...I |
| 19e60 | 20 20 69 66 20 28 61 2d 3e 78 6b 62 5f 6b 65 79 6d 61 70 29 7b 78 6b 62 5f 6b 65 79 6d 61 70 5f | ..if.(a->xkb_keymap){xkb_keymap_ |
| 19e80 | 75 6e 72 65 66 28 61 2d 3e 78 6b 62 5f 6b 65 79 6d 61 70 29 3b 61 2d 3e 78 6b 62 5f 6b 65 79 6d | unref(a->xkb_keymap);a->xkb_keym |
| 19ea0 | 61 70 3d 4e 55 4c 4c 3b 7d 00 00 00 6f 20 20 61 2d 3e 78 6b 62 5f 6b 65 79 6d 61 70 3d 78 6b 62 | ap=NULL;}...o..a->xkb_keymap=xkb |
| 19ec0 | 5f 6b 65 79 6d 61 70 5f 6e 65 77 5f 66 72 6f 6d 5f 73 74 72 69 6e 67 28 61 2d 3e 78 6b 62 5f 63 | _keymap_new_from_string(a->xkb_c |
| 19ee0 | 74 78 2c 73 2c 58 4b 42 5f 4b 45 59 4d 41 50 5f 46 4f 52 4d 41 54 5f 54 45 58 54 5f 56 31 2c 58 | tx,s,XKB_KEYMAP_FORMAT_TEXT_V1,X |
| 19f00 | 4b 42 5f 4b 45 59 4d 41 50 5f 43 4f 4d 50 49 4c 45 5f 4e 4f 5f 46 4c 41 47 53 29 3b 00 00 00 11 | KB_KEYMAP_COMPILE_NO_FLAGS);.... |
| 19f20 | 20 20 6d 75 6e 6d 61 70 28 73 2c 73 69 7a 65 29 3b 00 00 00 3f 20 20 69 66 20 28 61 2d 3e 78 6b | ..munmap(s,size);...?..if.(a->xk |
| 19f40 | 62 5f 6b 65 79 6d 61 70 29 20 61 2d 3e 78 6b 62 5f 73 74 61 74 65 3d 78 6b 62 5f 73 74 61 74 65 | b_keymap).a->xkb_state=xkb_state |
| 19f60 | 5f 6e 65 77 28 61 2d 3e 78 6b 62 5f 6b 65 79 6d 61 70 29 3b 00 00 00 01 7d 00 00 00 6f 73 74 61 | _new(a->xkb_keymap);....}...osta |
| 19f80 | 74 69 63 20 76 6f 69 64 20 6b 62 5f 65 6e 74 65 72 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 | tic.void.kb_enter(void.*d,.struc |
| 19fa0 | 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 62 2c 20 75 69 6e 74 33 32 5f 74 20 73 2c 20 73 | t.wl_keyboard.*kb,.uint32_t.s,.s |
| 19fc0 | 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 2c 20 73 74 72 75 63 74 20 77 6c 5f | truct.wl_surface.*su,.struct.wl_ |
| 19fe0 | 61 72 72 61 79 20 2a 6b 29 20 7b 7d 00 00 00 5a 73 74 61 74 69 63 20 76 6f 69 64 20 6b 62 5f 6c | array.*k).{}...Zstatic.void.kb_l |
| 1a000 | 65 61 76 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 | eave(void.*d,.struct.wl_keyboard |
| 1a020 | 20 2a 6b 62 2c 20 75 69 6e 74 33 32 5f 74 20 73 2c 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 | .*kb,.uint32_t.s,.struct.wl_surf |
| 1a040 | 61 63 65 20 2a 73 75 29 20 7b 00 00 00 56 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 3d 64 3b | ace.*su).{...V..struct.app.*a=d; |
| 1a060 | 20 73 74 72 75 63 74 20 69 74 69 6d 65 72 73 70 65 63 20 74 73 3d 7b 30 7d 3b 20 74 69 6d 65 72 | .struct.itimerspec.ts={0};.timer |
| 1a080 | 66 64 5f 73 65 74 74 69 6d 65 28 61 2d 3e 72 65 70 65 61 74 5f 66 64 2c 30 2c 26 74 73 2c 4e 55 | fd_settime(a->repeat_fd,0,&ts,NU |
| 1a0a0 | 4c 4c 29 3b 00 00 00 01 7d 00 00 00 70 73 74 61 74 69 63 20 76 6f 69 64 20 6b 62 5f 6b 65 79 28 | LL);....}...pstatic.void.kb_key( |
| 1a0c0 | 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 62 2c | void.*d,.struct.wl_keyboard.*kb, |
| 1a0e0 | 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 2c 20 75 69 6e 74 33 32 5f 74 20 74 2c 20 75 69 | .uint32_t.serial,.uint32_t.t,.ui |
| 1a100 | 6e 74 33 32 5f 74 20 6b 65 79 2c 20 75 69 6e 74 33 32 5f 74 20 73 74 61 74 65 29 20 7b 00 00 00 | nt32_t.key,.uint32_t.state).{... |
| 1a120 | 29 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 3d 64 3b 20 61 2d 3e 6c 61 73 74 5f 73 65 72 69 | )..struct.app.*a=d;.a->last_seri |
| 1a140 | 61 6c 3d 73 65 72 69 61 6c 3b 00 00 00 2d 20 20 69 66 20 28 73 74 61 74 65 3d 3d 57 4c 5f 4b 45 | al=serial;...-..if.(state==WL_KE |
| 1a160 | 59 42 4f 41 52 44 5f 4b 45 59 5f 53 54 41 54 45 5f 50 52 45 53 53 45 44 29 20 7b 00 00 00 2a 20 | YBOARD_KEY_STATE_PRESSED).{...*. |
| 1a180 | 20 20 20 70 72 6f 63 65 73 73 5f 6b 65 79 28 61 2c 6b 65 79 29 3b 20 61 2d 3e 72 65 70 65 61 74 | ...process_key(a,key);.a->repeat |
| 1a1a0 | 5f 6b 65 79 3d 6b 65 79 3b 00 00 00 1b 20 20 20 20 69 66 20 28 61 2d 3e 72 65 70 65 61 74 5f 72 | _key=key;........if.(a->repeat_r |
| 1a1c0 | 61 74 65 3e 30 29 20 7b 00 00 00 1c 20 20 20 20 20 20 73 74 72 75 63 74 20 69 74 69 6d 65 72 73 | ate>0).{..........struct.itimers |
| 1a1e0 | 70 65 63 20 74 73 3d 7b 00 00 00 5d 20 20 20 20 20 20 20 20 2e 69 74 5f 76 61 6c 75 65 20 20 20 | pec.ts={...].........it_value... |
| 1a200 | 3d 7b 2e 74 76 5f 73 65 63 3d 61 2d 3e 72 65 70 65 61 74 5f 64 65 6c 61 79 2f 31 30 30 30 2c 2e | ={.tv_sec=a->repeat_delay/1000,. |
| 1a220 | 74 76 5f 6e 73 65 63 3d 28 61 2d 3e 72 65 70 65 61 74 5f 64 65 6c 61 79 25 31 30 30 30 29 2a 31 | tv_nsec=(a->repeat_delay%1000)*1 |
| 1a240 | 30 30 30 30 30 30 4c 7d 2c 00 00 00 45 20 20 20 20 20 20 20 20 2e 69 74 5f 69 6e 74 65 72 76 61 | 000000L},...E.........it_interva |
| 1a260 | 6c 3d 7b 2e 74 76 5f 73 65 63 3d 30 2c 2e 74 76 5f 6e 73 65 63 3d 31 30 30 30 30 30 30 30 30 30 | l={.tv_sec=0,.tv_nsec=1000000000 |
| 1a280 | 4c 2f 61 2d 3e 72 65 70 65 61 74 5f 72 61 74 65 7d 2c 00 00 00 08 20 20 20 20 20 20 7d 3b 00 00 | L/a->repeat_rate},..........};.. |
| 1a2a0 | 00 2f 20 20 20 20 20 20 74 69 6d 65 72 66 64 5f 73 65 74 74 69 6d 65 28 61 2d 3e 72 65 70 65 61 | ./......timerfd_settime(a->repea |
| 1a2c0 | 74 5f 66 64 2c 30 2c 26 74 73 2c 4e 55 4c 4c 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 50 20 20 | t_fd,0,&ts,NULL);........}...P.. |
| 1a2e0 | 7d 20 65 6c 73 65 20 7b 20 73 74 72 75 63 74 20 69 74 69 6d 65 72 73 70 65 63 20 74 73 3d 7b 30 | }.else.{.struct.itimerspec.ts={0 |
| 1a300 | 7d 3b 20 74 69 6d 65 72 66 64 5f 73 65 74 74 69 6d 65 28 61 2d 3e 72 65 70 65 61 74 5f 66 64 2c | };.timerfd_settime(a->repeat_fd, |
| 1a320 | 30 2c 26 74 73 2c 4e 55 4c 4c 29 3b 20 7d 00 00 00 01 7d 00 00 00 82 73 74 61 74 69 63 20 76 6f | 0,&ts,NULL);.}....}....static.vo |
| 1a340 | 69 64 20 6b 62 5f 6d 6f 64 69 66 69 65 72 73 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 | id.kb_modifiers(void.*d,.struct. |
| 1a360 | 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 62 2c 20 75 69 6e 74 33 32 5f 74 20 73 2c 20 75 69 6e | wl_keyboard.*kb,.uint32_t.s,.uin |
| 1a380 | 74 33 32 5f 74 20 64 65 70 2c 20 75 69 6e 74 33 32 5f 74 20 6c 61 74 2c 20 75 69 6e 74 33 32 5f | t32_t.dep,.uint32_t.lat,.uint32_ |
| 1a3a0 | 74 20 6c 6f 63 6b 65 64 2c 20 75 69 6e 74 33 32 5f 74 20 67 72 70 29 20 7b 00 00 00 5f 20 20 73 | t.locked,.uint32_t.grp).{..._..s |
| 1a3c0 | 74 72 75 63 74 20 61 70 70 20 2a 61 3d 64 3b 20 69 66 28 61 2d 3e 78 6b 62 5f 73 74 61 74 65 29 | truct.app.*a=d;.if(a->xkb_state) |
| 1a3e0 | 20 78 6b 62 5f 73 74 61 74 65 5f 75 70 64 61 74 65 5f 6d 61 73 6b 28 61 2d 3e 78 6b 62 5f 73 74 | .xkb_state_update_mask(a->xkb_st |
| 1a400 | 61 74 65 2c 64 65 70 2c 6c 61 74 2c 6c 6f 63 6b 65 64 2c 30 2c 30 2c 67 72 70 29 3b 00 00 00 01 | ate,dep,lat,locked,0,0,grp);.... |
| 1a420 | 7d 00 00 00 55 73 74 61 74 69 63 20 76 6f 69 64 20 6b 62 5f 72 65 70 65 61 74 28 76 6f 69 64 20 | }...Ustatic.void.kb_repeat(void. |
| 1a440 | 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 62 2c 20 69 6e 74 33 | *d,.struct.wl_keyboard.*kb,.int3 |
| 1a460 | 32 5f 74 20 72 61 74 65 2c 20 69 6e 74 33 32 5f 74 20 64 65 6c 61 79 29 20 7b 00 00 00 3e 20 20 | 2_t.rate,.int32_t.delay).{...>.. |
| 1a480 | 73 74 72 75 63 74 20 61 70 70 20 2a 61 3d 64 3b 20 61 2d 3e 72 65 70 65 61 74 5f 72 61 74 65 3d | struct.app.*a=d;.a->repeat_rate= |
| 1a4a0 | 72 61 74 65 3b 20 61 2d 3e 72 65 70 65 61 74 5f 64 65 6c 61 79 3d 64 65 6c 61 79 3b 00 00 00 01 | rate;.a->repeat_delay=delay;.... |
| 1a4c0 | 7d 00 00 00 3e 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 | }...>static.const.struct.wl_keyb |
| 1a4e0 | 6f 61 72 64 5f 6c 69 73 74 65 6e 65 72 20 6b 65 79 62 6f 61 72 64 5f 6c 69 73 74 65 6e 65 72 20 | oard_listener.keyboard_listener. |
| 1a500 | 3d 20 7b 00 00 00 6e 20 20 2e 6b 65 79 6d 61 70 3d 6b 62 5f 6b 65 79 6d 61 70 2c 2e 65 6e 74 65 | =.{...n...keymap=kb_keymap,.ente |
| 1a520 | 72 3d 6b 62 5f 65 6e 74 65 72 2c 2e 6c 65 61 76 65 3d 6b 62 5f 6c 65 61 76 65 2c 2e 6b 65 79 3d | r=kb_enter,.leave=kb_leave,.key= |
| 1a540 | 6b 62 5f 6b 65 79 2c 2e 6d 6f 64 69 66 69 65 72 73 3d 6b 62 5f 6d 6f 64 69 66 69 65 72 73 2c 2e | kb_key,.modifiers=kb_modifiers,. |
| 1a560 | 72 65 70 65 61 74 5f 69 6e 66 6f 3d 6b 62 5f 72 65 70 65 61 74 00 00 00 02 7d 3b 00 00 00 00 00 | repeat_info=kb_repeat....};..... |
| 1a580 | 00 00 45 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 61 74 5f 63 61 70 73 28 76 6f 69 64 20 2a 64 | ..Estatic.void.seat_caps(void.*d |
| 1a5a0 | 2c 20 73 74 72 75 63 74 20 77 6c 5f 73 65 61 74 20 2a 73 65 61 74 2c 20 75 69 6e 74 33 32 5f 74 | ,.struct.wl_seat.*seat,.uint32_t |
| 1a5c0 | 20 63 61 70 73 29 20 7b 00 00 00 12 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 3d 64 3b 00 00 | .caps).{......struct.app.*a=d;.. |
| 1a5e0 | 00 39 20 20 69 66 20 28 28 63 61 70 73 26 57 4c 5f 53 45 41 54 5f 43 41 50 41 42 49 4c 49 54 59 | .9..if.((caps&WL_SEAT_CAPABILITY |
| 1a600 | 5f 4b 45 59 42 4f 41 52 44 29 26 26 21 61 2d 3e 6b 65 79 62 6f 61 72 64 29 20 7b 00 00 00 67 20 | _KEYBOARD)&&!a->keyboard).{...g. |
| 1a620 | 20 20 20 61 2d 3e 6b 65 79 62 6f 61 72 64 3d 77 6c 5f 73 65 61 74 5f 67 65 74 5f 6b 65 79 62 6f | ...a->keyboard=wl_seat_get_keybo |
| 1a640 | 61 72 64 28 73 65 61 74 29 3b 20 77 6c 5f 6b 65 79 62 6f 61 72 64 5f 61 64 64 5f 6c 69 73 74 65 | ard(seat);.wl_keyboard_add_liste |
| 1a660 | 6e 65 72 28 61 2d 3e 6b 65 79 62 6f 61 72 64 2c 26 6b 65 79 62 6f 61 72 64 5f 6c 69 73 74 65 6e | ner(a->keyboard,&keyboard_listen |
| 1a680 | 65 72 2c 61 29 3b 00 00 00 40 20 20 7d 20 65 6c 73 65 20 69 66 20 28 21 28 63 61 70 73 26 57 4c | er,a);...@..}.else.if.(!(caps&WL |
| 1a6a0 | 5f 53 45 41 54 5f 43 41 50 41 42 49 4c 49 54 59 5f 4b 45 59 42 4f 41 52 44 29 26 26 61 2d 3e 6b | _SEAT_CAPABILITY_KEYBOARD)&&a->k |
| 1a6c0 | 65 79 62 6f 61 72 64 29 20 7b 00 00 00 37 20 20 20 20 77 6c 5f 6b 65 79 62 6f 61 72 64 5f 72 65 | eyboard).{...7....wl_keyboard_re |
| 1a6e0 | 6c 65 61 73 65 28 61 2d 3e 6b 65 79 62 6f 61 72 64 29 3b 20 61 2d 3e 6b 65 79 62 6f 61 72 64 3d | lease(a->keyboard);.a->keyboard= |
| 1a700 | 4e 55 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 37 20 20 69 66 20 28 28 63 61 70 73 26 57 4c 5f 53 | NULL;......}...7..if.((caps&WL_S |
| 1a720 | 45 41 54 5f 43 41 50 41 42 49 4c 49 54 59 5f 50 4f 49 4e 54 45 52 29 26 26 21 61 2d 3e 70 6f 69 | EAT_CAPABILITY_POINTER)&&!a->poi |
| 1a740 | 6e 74 65 72 29 20 7b 00 00 00 5e 20 20 20 20 61 2d 3e 70 6f 69 6e 74 65 72 3d 77 6c 5f 73 65 61 | nter).{...^....a->pointer=wl_sea |
| 1a760 | 74 5f 67 65 74 5f 70 6f 69 6e 74 65 72 28 73 65 61 74 29 3b 20 77 6c 5f 70 6f 69 6e 74 65 72 5f | t_get_pointer(seat);.wl_pointer_ |
| 1a780 | 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2d 3e 70 6f 69 6e 74 65 72 2c 26 70 74 72 5f 6c 69 73 | add_listener(a->pointer,&ptr_lis |
| 1a7a0 | 74 65 6e 65 72 2c 61 29 3b 00 00 00 3e 20 20 7d 20 65 6c 73 65 20 69 66 20 28 21 28 63 61 70 73 | tener,a);...>..}.else.if.(!(caps |
| 1a7c0 | 26 57 4c 5f 53 45 41 54 5f 43 41 50 41 42 49 4c 49 54 59 5f 50 4f 49 4e 54 45 52 29 26 26 61 2d | &WL_SEAT_CAPABILITY_POINTER)&&a- |
| 1a7e0 | 3e 70 6f 69 6e 74 65 72 29 20 7b 00 00 00 34 20 20 20 20 77 6c 5f 70 6f 69 6e 74 65 72 5f 72 65 | >pointer).{...4....wl_pointer_re |
| 1a800 | 6c 65 61 73 65 28 61 2d 3e 70 6f 69 6e 74 65 72 29 3b 20 61 2d 3e 70 6f 69 6e 74 65 72 3d 4e 55 | lease(a->pointer);.a->pointer=NU |
| 1a820 | 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 49 73 74 61 74 69 63 20 76 6f 69 64 20 73 | LL;......}....}...Istatic.void.s |
| 1a840 | 65 61 74 5f 6e 61 6d 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 73 65 61 74 | eat_name(void.*d,.struct.wl_seat |
| 1a860 | 20 2a 73 65 61 74 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6e 61 6d 65 29 20 7b 7d 00 00 00 5f | .*seat,.const.char.*name).{}..._ |
| 1a880 | 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 73 65 61 74 5f 6c 69 73 74 | static.const.struct.wl_seat_list |
| 1a8a0 | 65 6e 65 72 20 73 65 61 74 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 2e 63 61 70 61 62 69 6c 69 74 | ener.seat_listener.=.{.capabilit |
| 1a8c0 | 69 65 73 3d 73 65 61 74 5f 63 61 70 73 2c 2e 6e 61 6d 65 3d 73 65 61 74 5f 6e 61 6d 65 7d 3b 00 | ies=seat_caps,.name=seat_name};. |
| 1a8e0 | 00 00 00 00 00 00 64 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 5f 67 6c 6f 62 61 6c 28 76 6f | ......dstatic.void.reg_global(vo |
| 1a900 | 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 2c 20 75 69 | id.*d,.struct.wl_registry.*r,.ui |
| 1a920 | 6e 74 33 32 5f 74 20 69 64 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 66 61 63 65 2c 20 75 69 | nt32_t.id,.const.char.*iface,.ui |
| 1a940 | 6e 74 33 32 5f 74 20 76 29 20 7b 00 00 00 12 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 3d 64 | nt32_t.v).{......struct.app.*a=d |
| 1a960 | 3b 00 00 00 6e 20 20 69 66 20 20 20 20 20 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 22 77 | ;...n..if......(!strcmp(iface,"w |
| 1a980 | 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 22 29 29 20 20 20 20 20 20 20 20 20 20 61 2d 3e 63 6f 6d 70 | l_compositor"))..........a->comp |
| 1a9a0 | 3d 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 69 64 2c 26 77 6c 5f 63 6f 6d 70 6f | =wl_registry_bind(r,id,&wl_compo |
| 1a9c0 | 73 69 74 6f 72 5f 69 6e 74 65 72 66 61 63 65 2c 34 29 3b 00 00 00 67 20 20 65 6c 73 65 20 69 66 | sitor_interface,4);...g..else.if |
| 1a9e0 | 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 22 77 6c 5f 73 68 6d 22 29 29 20 20 20 20 20 20 | .(!strcmp(iface,"wl_shm"))...... |
| 1aa00 | 20 20 20 20 20 20 20 20 20 20 20 61 2d 3e 73 68 6d 20 3d 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 | ...........a->shm.=wl_registry_b |
| 1aa20 | 69 6e 64 28 72 2c 69 64 2c 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 61 63 65 2c 31 29 3b 00 00 | ind(r,id,&wl_shm_interface,1);.. |
| 1aa40 | 00 9e 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 22 78 64 67 5f | ....else.if.(!strcmp(iface,"xdg_ |
| 1aa60 | 77 6d 5f 62 61 73 65 22 29 29 20 20 20 20 20 20 20 20 20 20 7b 20 61 2d 3e 77 6d 20 20 3d 77 6c | wm_base"))..........{.a->wm..=wl |
| 1aa80 | 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 69 64 2c 26 78 64 67 5f 77 6d 5f 62 61 73 65 | _registry_bind(r,id,&xdg_wm_base |
| 1aaa0 | 5f 69 6e 74 65 72 66 61 63 65 2c 31 29 3b 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 61 64 64 5f 6c | _interface,1);.xdg_wm_base_add_l |
| 1aac0 | 69 73 74 65 6e 65 72 28 61 2d 3e 77 6d 2c 26 77 6d 5f 6c 69 73 74 65 6e 65 72 2c 61 29 3b 20 7d | istener(a->wm,&wm_listener,a);.} |
| 1aae0 | 00 00 00 9f 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 22 77 6c | ......else.if.(!strcmp(iface,"wl |
| 1ab00 | 5f 73 65 61 74 22 29 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 61 2d 3e 73 65 61 74 3d | _seat"))..............{.a->seat= |
| 1ab20 | 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 69 64 2c 26 77 6c 5f 73 65 61 74 5f 69 | wl_registry_bind(r,id,&wl_seat_i |
| 1ab40 | 6e 74 65 72 66 61 63 65 2c 35 29 3b 20 20 20 20 20 20 77 6c 5f 73 65 61 74 5f 61 64 64 5f 6c 69 | nterface,5);......wl_seat_add_li |
| 1ab60 | 73 74 65 6e 65 72 28 61 2d 3e 73 65 61 74 2c 26 73 65 61 74 5f 6c 69 73 74 65 6e 65 72 2c 61 29 | stener(a->seat,&seat_listener,a) |
| 1ab80 | 3b 20 7d 00 00 00 77 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c | ;.}...w..else.if.(!strcmp(iface, |
| 1aba0 | 22 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 5f 6d 61 6e 61 67 65 72 22 29 29 20 61 2d 3e 64 64 | "wl_data_device_manager")).a->dd |
| 1abc0 | 6d 20 3d 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 69 64 2c 26 77 6c 5f 64 61 74 | m.=wl_registry_bind(r,id,&wl_dat |
| 1abe0 | 61 5f 64 65 76 69 63 65 5f 6d 61 6e 61 67 65 72 5f 69 6e 74 65 72 66 61 63 65 2c 33 29 3b 00 00 | a_device_manager_interface,3);.. |
| 1ac00 | 00 01 7d 00 00 00 46 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 5f 72 65 6d 6f 76 65 28 76 6f | ..}...Fstatic.void.reg_remove(vo |
| 1ac20 | 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 2c 20 75 69 | id.*d,.struct.wl_registry.*r,.ui |
| 1ac40 | 6e 74 33 32 5f 74 20 69 64 29 20 7b 7d 00 00 00 67 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 | nt32_t.id).{}...gstatic.const.st |
| 1ac60 | 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 20 72 65 67 5f 6c 69 | ruct.wl_registry_listener.reg_li |
| 1ac80 | 73 74 65 6e 65 72 20 3d 20 7b 2e 67 6c 6f 62 61 6c 3d 72 65 67 5f 67 6c 6f 62 61 6c 2c 2e 67 6c | stener.=.{.global=reg_global,.gl |
| 1aca0 | 6f 62 61 6c 5f 72 65 6d 6f 76 65 3d 72 65 67 5f 72 65 6d 6f 76 65 7d 3b 00 00 00 00 00 00 00 10 | obal_remove=reg_remove};........ |
| 1acc0 | 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 20 7b 00 00 00 58 20 20 69 66 20 28 21 6c 6f 61 64 5f | int.main(void).{...X..if.(!load_ |
| 1ace0 | 66 6f 6e 74 28 29 29 20 7b 20 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 22 66 61 69 6c 65 64 | font()).{.fprintf(stderr,"failed |
| 1ad00 | 20 74 6f 20 6c 6f 61 64 20 66 6f 6e 74 3a 20 25 73 5c 6e 22 2c 46 4f 4e 54 5f 4e 41 4d 45 29 3b | .to.load.font:.%s\n",FONT_NAME); |
| 1ad20 | 20 72 65 74 75 72 6e 20 31 3b 20 7d 00 00 00 00 00 00 00 13 20 20 73 74 72 75 63 74 20 61 70 70 | .return.1;.}..........struct.app |
| 1ad40 | 20 61 3d 7b 30 7d 3b 00 00 00 13 20 20 61 2e 77 3d 36 34 30 3b 20 61 2e 68 3d 34 38 30 3b 00 00 | .a={0};......a.w=640;.a.h=480;.. |
| 1ad60 | 00 27 20 20 61 2e 72 65 70 65 61 74 5f 72 61 74 65 3d 32 35 3b 20 61 2e 72 65 70 65 61 74 5f 64 | .'..a.repeat_rate=25;.a.repeat_d |
| 1ad80 | 65 6c 61 79 3d 34 30 30 3b 00 00 00 2b 20 20 61 2e 6f 70 65 6e 5f 6d 65 6e 75 3d 4d 45 4e 55 5f | elay=400;...+..a.open_menu=MENU_ |
| 1ada0 | 4e 4f 4e 45 3b 20 61 2e 68 6f 76 65 72 65 64 5f 69 74 65 6d 3d 2d 31 3b 00 00 00 00 00 00 00 32 | NONE;.a.hovered_item=-1;.......2 |
| 1adc0 | 20 20 61 2e 78 6b 62 5f 63 74 78 3d 78 6b 62 5f 63 6f 6e 74 65 78 74 5f 6e 65 77 28 58 4b 42 5f | ..a.xkb_ctx=xkb_context_new(XKB_ |
| 1ade0 | 43 4f 4e 54 45 58 54 5f 4e 4f 5f 46 4c 41 47 53 29 3b 00 00 00 45 20 20 69 66 20 28 21 61 2e 78 | CONTEXT_NO_FLAGS);...E..if.(!a.x |
| 1ae00 | 6b 62 5f 63 74 78 29 7b 66 70 75 74 73 28 22 78 6b 62 5f 63 6f 6e 74 65 78 74 5f 6e 65 77 20 66 | kb_ctx){fputs("xkb_context_new.f |
| 1ae20 | 61 69 6c 65 64 5c 6e 22 2c 73 74 64 65 72 72 29 3b 72 65 74 75 72 6e 20 31 3b 7d 00 00 00 00 00 | ailed\n",stderr);return.1;}..... |
| 1ae40 | 00 00 47 20 20 61 2e 72 65 70 65 61 74 5f 66 64 3d 74 69 6d 65 72 66 64 5f 63 72 65 61 74 65 28 | ..G..a.repeat_fd=timerfd_create( |
| 1ae60 | 43 4c 4f 43 4b 5f 4d 4f 4e 4f 54 4f 4e 49 43 2c 54 46 44 5f 43 4c 4f 45 58 45 43 7c 54 46 44 5f | CLOCK_MONOTONIC,TFD_CLOEXEC|TFD_ |
| 1ae80 | 4e 4f 4e 42 4c 4f 43 4b 29 3b 00 00 00 38 20 20 69 66 20 28 61 2e 72 65 70 65 61 74 5f 66 64 3c | NONBLOCK);...8..if.(a.repeat_fd< |
| 1aea0 | 30 29 7b 70 65 72 72 6f 72 28 22 74 69 6d 65 72 66 64 5f 63 72 65 61 74 65 22 29 3b 72 65 74 75 | 0){perror("timerfd_create");retu |
| 1aec0 | 72 6e 20 31 3b 7d 00 00 00 00 00 00 00 1f 20 20 61 2e 64 3d 77 6c 5f 64 69 73 70 6c 61 79 5f 63 | rn.1;}..........a.d=wl_display_c |
| 1aee0 | 6f 6e 6e 65 63 74 28 4e 55 4c 4c 29 3b 00 00 00 4a 20 20 69 66 20 28 21 61 2e 64 29 7b 66 70 75 | onnect(NULL);...J..if.(!a.d){fpu |
| 1af00 | 74 73 28 22 63 61 6e 6e 6f 74 20 63 6f 6e 6e 65 63 74 20 74 6f 20 57 61 79 6c 61 6e 64 20 64 69 | ts("cannot.connect.to.Wayland.di |
| 1af20 | 73 70 6c 61 79 5c 6e 22 2c 73 74 64 65 72 72 29 3b 72 65 74 75 72 6e 20 31 3b 7d 00 00 00 00 00 | splay\n",stderr);return.1;}..... |
| 1af40 | 00 00 25 20 20 61 2e 72 65 67 3d 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 72 65 67 69 73 74 | ..%..a.reg=wl_display_get_regist |
| 1af60 | 72 79 28 61 2e 64 29 3b 00 00 00 33 20 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 61 64 64 5f 6c 69 | ry(a.d);...3..wl_registry_add_li |
| 1af80 | 73 74 65 6e 65 72 28 61 2e 72 65 67 2c 26 72 65 67 5f 6c 69 73 74 65 6e 65 72 2c 26 61 29 3b 00 | stener(a.reg,®_listener,&a);. |
| 1afa0 | 00 00 1c 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 61 2e 64 29 3b 00 | .....wl_display_roundtrip(a.d);. |
| 1afc0 | 00 00 00 00 00 00 64 20 20 69 66 20 28 21 61 2e 63 6f 6d 70 7c 7c 21 61 2e 73 68 6d 7c 7c 21 61 | ......d..if.(!a.comp||!a.shm||!a |
| 1afe0 | 2e 77 6d 7c 7c 21 61 2e 73 65 61 74 29 7b 66 70 75 74 73 28 22 6d 69 73 73 69 6e 67 20 72 65 71 | .wm||!a.seat){fputs("missing.req |
| 1b000 | 75 69 72 65 64 20 57 61 79 6c 61 6e 64 20 67 6c 6f 62 61 6c 73 5c 6e 22 2c 73 74 64 65 72 72 29 | uired.Wayland.globals\n",stderr) |
| 1b020 | 3b 72 65 74 75 72 6e 20 31 3b 7d 00 00 00 1c 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e | ;return.1;}......wl_display_roun |
| 1b040 | 64 74 72 69 70 28 61 2e 64 29 3b 00 00 00 00 00 00 00 15 20 20 69 66 20 28 61 2e 64 64 6d 26 26 | dtrip(a.d);..........if.(a.ddm&& |
| 1b060 | 61 2e 73 65 61 74 29 7b 00 00 00 3e 20 20 20 20 61 2e 64 64 3d 77 6c 5f 64 61 74 61 5f 64 65 76 | a.seat){...>....a.dd=wl_data_dev |
| 1b080 | 69 63 65 5f 6d 61 6e 61 67 65 72 5f 67 65 74 5f 64 61 74 61 5f 64 65 76 69 63 65 28 61 2e 64 64 | ice_manager_get_data_device(a.dd |
| 1b0a0 | 6d 2c 61 2e 73 65 61 74 29 3b 00 00 00 36 20 20 20 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 | m,a.seat);...6....wl_data_device |
| 1b0c0 | 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 64 64 2c 26 64 64 5f 6c 69 73 74 65 6e 65 72 2c | _add_listener(a.dd,&dd_listener, |
| 1b0e0 | 26 61 29 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 2c 20 20 61 2e 77 73 3d 77 6c 5f 63 6f 6d | &a);......}.......,..a.ws=wl_com |
| 1b100 | 70 6f 73 69 74 6f 72 5f 63 72 65 61 74 65 5f 73 75 72 66 61 63 65 28 61 2e 63 6f 6d 70 29 3b 00 | positor_create_surface(a.comp);. |
| 1b120 | 00 00 2e 20 20 61 2e 78 73 3d 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 5f 73 75 | .....a.xs=xdg_wm_base_get_xdg_su |
| 1b140 | 72 66 61 63 65 28 61 2e 77 6d 2c 61 2e 77 73 29 3b 00 00 00 31 20 20 78 64 67 5f 73 75 72 66 61 | rface(a.wm,a.ws);...1..xdg_surfa |
| 1b160 | 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 73 2c 26 78 73 5f 6c 69 73 74 65 6e 65 | ce_add_listener(a.xs,&xs_listene |
| 1b180 | 72 2c 26 61 29 3b 00 00 00 26 20 20 61 2e 78 74 3d 78 64 67 5f 73 75 72 66 61 63 65 5f 67 65 74 | r,&a);...&..a.xt=xdg_surface_get |
| 1b1a0 | 5f 74 6f 70 6c 65 76 65 6c 28 61 2e 78 73 29 3b 00 00 00 32 20 20 78 64 67 5f 74 6f 70 6c 65 76 | _toplevel(a.xs);...2..xdg_toplev |
| 1b1c0 | 65 6c 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 74 2c 26 78 74 5f 6c 69 73 74 65 6e 65 | el_add_listener(a.xt,&xt_listene |
| 1b1e0 | 72 2c 26 61 29 3b 00 00 00 26 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 74 69 74 | r,&a);...&..xdg_toplevel_set_tit |
| 1b200 | 6c 65 28 61 2e 78 74 2c 22 77 6c 65 64 22 29 3b 00 00 00 1a 20 20 77 6c 5f 73 75 72 66 61 63 65 | le(a.xt,"wled");......wl_surface |
| 1b220 | 5f 63 6f 6d 6d 69 74 28 61 2e 77 73 29 3b 00 00 00 00 00 00 00 17 20 20 77 68 69 6c 65 20 28 21 | _commit(a.ws);..........while.(! |
| 1b240 | 61 2e 63 6f 6e 66 69 67 75 72 65 64 29 00 00 00 2c 20 20 20 20 69 66 20 28 77 6c 5f 64 69 73 70 | a.configured)...,....if.(wl_disp |
| 1b260 | 6c 61 79 5f 64 69 73 70 61 74 63 68 28 61 2e 64 29 3d 3d 2d 31 29 20 62 72 65 61 6b 3b 00 00 00 | lay_dispatch(a.d)==-1).break;... |
| 1b280 | 00 00 00 00 23 20 20 69 6e 74 20 77 6c 5f 66 64 3d 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f | ....#..int.wl_fd=wl_display_get_ |
| 1b2a0 | 66 64 28 61 2e 64 29 3b 00 00 00 0d 20 20 77 68 69 6c 65 20 28 31 29 20 7b 00 00 00 1a 20 20 20 | fd(a.d);......while.(1).{....... |
| 1b2c0 | 20 77 6c 5f 64 69 73 70 6c 61 79 5f 66 6c 75 73 68 28 61 2e 64 29 3b 00 00 00 57 20 20 20 20 73 | .wl_display_flush(a.d);...W....s |
| 1b2e0 | 74 72 75 63 74 20 70 6f 6c 6c 66 64 20 66 64 73 5b 32 5d 3d 7b 7b 2e 66 64 3d 77 6c 5f 66 64 2c | truct.pollfd.fds[2]={{.fd=wl_fd, |
| 1b300 | 2e 65 76 65 6e 74 73 3d 50 4f 4c 4c 49 4e 7d 2c 7b 2e 66 64 3d 61 2e 72 65 70 65 61 74 5f 66 64 | .events=POLLIN},{.fd=a.repeat_fd |
| 1b320 | 2c 2e 65 76 65 6e 74 73 3d 50 4f 4c 4c 49 4e 7d 7d 3b 00 00 00 1b 20 20 20 20 69 6e 74 20 72 65 | ,.events=POLLIN}};........int.re |
| 1b340 | 74 3d 70 6f 6c 6c 28 66 64 73 2c 32 2c 2d 31 29 3b 00 00 00 2f 20 20 20 20 69 66 20 28 72 65 74 | t=poll(fds,2,-1);.../....if.(ret |
| 1b360 | 3c 30 29 7b 69 66 28 65 72 72 6e 6f 3d 3d 45 49 4e 54 52 29 63 6f 6e 74 69 6e 75 65 3b 62 72 65 | <0){if(errno==EINTR)continue;bre |
| 1b380 | 61 6b 3b 7d 00 00 00 6c 20 20 20 20 69 66 20 28 66 64 73 5b 31 5d 2e 72 65 76 65 6e 74 73 26 50 | ak;}...l....if.(fds[1].revents&P |
| 1b3a0 | 4f 4c 4c 49 4e 29 7b 75 69 6e 74 36 34 5f 74 20 65 78 70 3b 72 65 61 64 28 61 2e 72 65 70 65 61 | OLLIN){uint64_t.exp;read(a.repea |
| 1b3c0 | 74 5f 66 64 2c 26 65 78 70 2c 73 69 7a 65 6f 66 20 65 78 70 29 3b 70 72 6f 63 65 73 73 5f 6b 65 | t_fd,&exp,sizeof.exp);process_ke |
| 1b3e0 | 79 28 26 61 2c 61 2e 72 65 70 65 61 74 5f 6b 65 79 29 3b 7d 00 00 00 46 20 20 20 20 69 66 20 28 | y(&a,a.repeat_key);}...F....if.( |
| 1b400 | 66 64 73 5b 30 5d 2e 72 65 76 65 6e 74 73 26 50 4f 4c 4c 49 4e 29 20 69 66 28 77 6c 5f 64 69 73 | fds[0].revents&POLLIN).if(wl_dis |
| 1b420 | 70 6c 61 79 5f 64 69 73 70 61 74 63 68 28 61 2e 64 29 3d 3d 2d 31 29 20 62 72 65 61 6b 3b 35 81 | play_dispatch(a.d)==-1).break;5. |
| 1b440 | f5 18 00 00 00 00 02 00 00 00 0a 00 00 00 e1 02 00 00 3f 00 00 00 62 04 00 00 07 00 00 00 4f 00 | ..................?...b.......O. |
| 1b460 | 00 00 00 00 00 00 b7 71 00 00 00 00 00 00 48 7e 00 00 00 00 00 00 35 81 5f d0 00 00 00 05 00 00 | .......q......H~......5._....... |
| 1b480 | 00 07 00 00 00 00 00 00 00 00 00 00 00 06 00 00 01 dc 00 00 00 27 00 00 00 00 ff ff ff ff 00 01 | .....................'.......... |
| 1b4a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1b4c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1b4e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1b500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1b520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1b540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1b560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1b580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1b5a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1b5c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1b5e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9f c7 4e | ............................i..N |
| 1b600 | 04 01 00 00 00 00 00 f5 18 00 00 01 db 00 00 01 dd 00 00 04 68 00 00 00 01 00 00 00 49 20 20 64 | ....................h.......I..d |
| 1b620 | 73 74 72 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 50 41 44 20 2a 20 32 2c 20 79 2c 20 22 77 6c 65 | str(px,.pw,.ph,.PAD.*.2,.y,."wle |
| 1b640 | 64 20 20 2d 20 20 77 61 79 6c 61 6e 64 20 74 65 78 74 20 65 64 69 74 6f 72 22 2c 20 46 47 5f 43 | d..-..wayland.text.editor",.FG_C |
| 1b660 | 4f 4c 4f 52 29 3b 35 81 f5 18 00 00 00 00 db 01 00 00 23 00 00 00 00 00 00 00 04 00 00 00 00 00 | OLOR);5...........#............. |
| 1b680 | 00 00 01 00 00 00 48 32 00 00 00 00 00 00 04 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 f5 18 | ......H2........................ |
| 1b6a0 | 00 00 00 00 db 01 00 00 22 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 04 00 00 00 47 32 00 00 | ........"...................G2.. |
| 1b6c0 | 00 00 00 00 02 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 f5 18 00 00 00 00 db 01 00 00 25 00 | ..............................%. |
| 1b6e0 | 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 4a 32 00 00 00 00 00 00 01 00 00 00 00 00 | ..................J2............ |
| 1b700 | 00 00 00 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 06 00 00 00 08 00 00 00 00 00 00 00 00 00 00 | ..........5._................... |
| 1b720 | 00 07 00 00 01 e0 00 00 00 20 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1b740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1b760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1b780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1b7a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1b7c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1b7e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1b800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1b820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1b840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1b860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1b880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9f c7 55 04 01 00 00 00 00 00 f5 18 00 00 01 | ................i..U............ |
| 1b8a0 | df 00 00 01 e1 00 00 04 68 00 00 00 01 00 00 00 44 20 20 64 73 74 72 28 70 78 2c 20 70 77 2c 20 | ........h.......D..dstr(px,.pw,. |
| 1b8c0 | 70 68 2c 20 50 41 44 20 2a 20 32 2c 20 79 2c 20 22 4c 69 63 65 6e 73 65 64 20 75 6e 64 65 72 20 | ph,.PAD.*.2,.y,."Licensed.under. |
| 1b8e0 | 47 50 4c 20 76 33 2e 30 22 2c 20 46 47 5f 43 4f 4c 4f 52 29 3b 35 81 f5 18 00 00 00 00 df 01 00 | GPL.v3.0",.FG_COLOR);5.......... |
| 1b900 | 00 20 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 01 00 00 00 eb 32 00 00 00 00 00 00 01 00 00 | ......................2......... |
| 1b920 | 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 07 00 00 00 09 00 00 00 00 00 00 00 | .............5._................ |
| 1b940 | 00 00 00 00 08 00 00 01 e2 00 00 00 20 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 | ................................ |
| 1b960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1b980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1b9a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1b9c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1b9e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1ba00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1ba20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1ba40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1ba60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1ba80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1baa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9f c7 56 04 01 00 00 00 00 00 f5 18 | ...................i..V......... |
| 1bac0 | 00 00 01 e1 00 00 01 e3 00 00 04 68 00 00 00 01 00 00 00 4d 20 20 64 73 74 72 28 70 78 2c 20 70 | ...........h.......M..dstr(px,.p |
| 1bae0 | 77 2c 20 70 68 2c 20 50 41 44 20 2a 20 32 2c 20 79 2c 20 22 43 72 65 61 74 65 64 20 62 79 20 20 | w,.ph,.PAD.*.2,.y,."Created.by.. |
| 1bb00 | 67 69 74 2e 73 72 2e 68 74 2f 7e 63 6f 61 73 74 65 65 6e 2f 22 2c 20 46 47 5f 43 4f 4c 4f 52 29 | git.sr.ht/~coasteen/",.FG_COLOR) |
| 1bb20 | 3b 35 81 f5 18 00 00 00 00 e1 01 00 00 20 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 01 00 00 | ;5.............................. |
| 1bb40 | 00 43 33 00 00 00 00 00 00 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 | .C3......................5._.... |
| 1bb60 | 08 00 00 00 0a 00 00 00 00 00 00 00 00 00 00 00 09 00 00 01 e2 00 00 00 20 00 00 00 00 ff ff ff | ................................ |
| 1bb80 | 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 00 00 00 | ................................ |
| 1bba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1bbc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1bbe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1bc00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1bc20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1bc40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1bc60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1bc80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1bca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1bcc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 | ...............................i |
| 1bce0 | 9f c7 5b 04 01 00 00 00 00 00 f5 18 00 00 01 e1 00 00 01 e3 00 00 04 68 00 00 00 01 00 00 00 4d | ..[....................h.......M |
| 1bd00 | 20 20 64 73 74 72 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 50 41 44 20 2a 20 32 2c 20 79 2c 20 22 | ..dstr(px,.pw,.ph,.PAD.*.2,.y,." |
| 1bd20 | 3b 72 65 61 74 65 64 20 62 79 20 20 67 69 74 2e 73 72 2e 68 74 2f 7e 63 6f 61 73 74 65 65 6e 2f | ;reated.by..git.sr.ht/~coasteen/ |
| 1bd40 | 22 2c 20 46 47 5f 43 4f 4c 4f 52 29 3b 35 81 f5 18 00 00 00 00 e1 01 00 00 20 00 00 00 00 00 00 | ",.FG_COLOR);5.................. |
| 1bd60 | 00 01 00 00 00 00 00 00 00 00 00 00 00 43 33 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 | .............C3................. |
| 1bd80 | 00 00 00 00 00 35 81 5f d0 00 00 00 09 00 00 00 0b 00 00 00 00 00 00 00 00 00 00 00 0a 00 00 01 | .....5._........................ |
| 1bda0 | e2 00 00 00 20 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 | ................................ |
| 1bdc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1bde0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1be00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1be20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1be40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1be60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1be80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1bea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1bec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1bee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1bf00 | 00 00 00 00 00 00 00 00 00 00 00 69 9f c7 5c 04 01 00 00 00 00 00 f5 18 00 00 01 e1 00 00 01 e3 | ...........i..\................. |
| 1bf20 | 00 00 04 68 00 00 00 01 00 00 00 4c 20 20 64 73 74 72 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 50 | ...h.......L..dstr(px,.pw,.ph,.P |
| 1bf40 | 41 44 20 2a 20 32 2c 20 79 2c 20 22 72 65 61 74 65 64 20 62 79 20 20 67 69 74 2e 73 72 2e 68 74 | AD.*.2,.y,."reated.by..git.sr.ht |
| 1bf60 | 2f 7e 63 6f 61 73 74 65 65 6e 2f 22 2c 20 46 47 5f 43 4f 4c 4f 52 29 3b 35 81 f5 18 00 00 00 00 | /~coasteen/",.FG_COLOR);5....... |
| 1bf80 | e1 01 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 43 33 00 00 00 00 00 00 | ........................C3...... |
| 1bfa0 | 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 0a 00 00 00 0c 00 00 00 00 | ................5._............. |
| 1bfc0 | 00 00 00 00 00 00 00 0b 00 00 01 e4 00 00 00 20 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 | ................................ |
| 1bfe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c0a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c0c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c0e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9f c7 5d 04 01 00 00 00 07 | ......................i..]...... |
| 1c140 | 00 f5 18 00 00 01 e3 00 00 01 e5 00 00 04 68 00 00 00 01 00 00 00 46 20 20 64 73 74 72 28 70 78 | ..............h.......F..dstr(px |
| 1c160 | 2c 20 70 77 2c 20 70 68 2c 20 50 41 44 20 2a 20 32 2c 20 79 2c 20 22 53 6f 75 72 63 65 3a 20 20 | ,.pw,.ph,.PAD.*.2,.y,."Source:.. |
| 1c180 | 20 20 20 67 69 74 2e 73 72 2e 68 74 2f 7e 63 6f 61 73 74 65 65 6e 2f 77 6c 65 64 22 2c 35 81 f5 | ...git.sr.ht/~coasteen/wled",5.. |
| 1c1a0 | 18 00 00 00 00 e3 01 00 00 20 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 01 00 00 00 a4 33 00 | ..............................3. |
| 1c1c0 | 00 00 00 00 00 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 0b 00 00 00 | .....................5._........ |
| 1c1e0 | 0d 00 00 00 00 00 00 00 00 00 00 00 0c 00 00 04 1c 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 | ................................ |
| 1c200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c2a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c2c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c2e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9f c7 69 04 | ...........................i..i. |
| 1c360 | 01 00 00 00 00 00 f5 18 00 00 04 1c 00 00 04 1f 00 00 04 69 00 00 00 01 00 00 00 02 20 20 f5 18 | ...................i............ |
| 1c380 | 00 00 04 1c 00 00 04 1e 00 00 04 68 00 00 00 00 35 81 f5 18 00 00 00 00 1c 04 00 00 00 00 00 00 | ...........h....5............... |
| 1c3a0 | 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 11 77 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .................w.............. |
| 1c3c0 | 03 00 00 00 00 00 00 00 f5 18 00 00 00 00 1c 04 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 | ................................ |
| 1c3e0 | 00 00 00 00 00 00 11 77 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 | .......w........................ |
| 1c400 | 00 00 00 00 1c 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 11 77 00 00 | .............................w.. |
| 1c420 | 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 f5 18 00 00 00 00 1d 04 00 00 00 00 | ................................ |
| 1c440 | 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 12 77 00 00 00 00 00 00 02 00 00 00 00 00 | ...................w............ |
| 1c460 | 00 00 00 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 0c 00 00 00 0e 00 00 00 00 00 00 00 00 00 00 | ..........5._................... |
| 1c480 | 00 0d 00 00 00 13 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c4a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c4c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c4e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c5a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c5c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c5e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9f c7 74 04 01 00 00 00 00 00 f5 18 00 00 00 | ................i..t............ |
| 1c600 | 13 00 00 00 15 00 00 04 6b 00 00 00 01 00 00 00 00 f5 18 00 00 00 13 00 00 00 15 00 00 04 6a 00 | ........k.....................j. |
| 1c620 | 00 00 00 35 81 f5 18 00 00 00 00 13 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 | ...5............................ |
| 1c640 | 00 00 00 d5 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 f5 18 00 00 00 | ................................ |
| 1c660 | 00 13 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 00 00 00 d5 01 00 00 00 00 00 | ................................ |
| 1c680 | 00 00 00 00 00 00 00 00 00 11 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 0d 00 00 00 0f 00 00 00 | .................5._............ |
| 1c6a0 | 00 00 00 00 00 00 00 00 0e 00 00 00 14 00 00 00 10 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 | ................................ |
| 1c6c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c6e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c7a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c7c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c7e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9f c7 78 04 01 00 00 00 | .......................i..x..... |
| 1c820 | 08 00 f5 18 00 00 00 10 00 00 04 1e 00 00 04 6b 00 00 04 0f 00 00 00 13 23 69 6e 63 6c 75 64 65 | ...............k........#include |
| 1c840 | 20 3c 75 6e 69 73 74 64 2e 68 3e 00 00 00 1b 23 69 6e 63 6c 75 64 65 20 3c 77 61 79 6c 61 6e 64 | .<unistd.h>....#include.<wayland |
| 1c860 | 2d 63 6c 69 65 6e 74 2e 68 3e 00 00 00 20 23 69 6e 63 6c 75 64 65 20 3c 78 6b 62 63 6f 6d 6d 6f | -client.h>....#include.<xkbcommo |
| 1c880 | 6e 2f 78 6b 62 63 6f 6d 6d 6f 6e 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 74 69 6d 65 | n/xkbcommon.h>....#include.<time |
| 1c8a0 | 2e 68 3e 00 00 00 16 23 69 6e 63 6c 75 64 65 20 46 54 5f 46 52 45 45 54 59 50 45 5f 48 00 00 00 | .h>....#include.FT_FREETYPE_H... |
| 1c8c0 | 00 00 00 00 16 23 64 65 66 69 6e 65 20 4d 41 58 5f 54 45 58 54 20 36 35 35 33 36 00 00 00 10 23 | .....#define.MAX_TEXT.65536....# |
| 1c8e0 | 64 65 66 69 6e 65 20 42 41 52 5f 48 20 32 38 00 00 00 12 23 64 65 66 69 6e 65 20 42 54 4e 5f 50 | define.BAR_H.28....#define.BTN_P |
| 1c900 | 41 44 20 31 30 00 00 00 0d 23 64 65 66 69 6e 65 20 50 41 44 20 38 00 00 00 00 00 00 00 17 23 64 | AD.10....#define.PAD.8........#d |
| 1c920 | 65 66 69 6e 65 20 42 47 5f 43 4f 4c 4f 52 20 43 46 47 5f 42 47 00 00 00 17 23 64 65 66 69 6e 65 | efine.BG_COLOR.CFG_BG....#define |
| 1c940 | 20 46 47 5f 43 4f 4c 4f 52 20 43 46 47 5f 46 47 00 00 00 1c 23 64 65 66 69 6e 65 20 43 55 52 5f | .FG_COLOR.CFG_FG....#define.CUR_ |
| 1c960 | 43 4f 4c 4f 52 20 43 46 47 5f 43 55 52 53 4f 52 00 00 00 1c 23 64 65 66 69 6e 65 20 53 45 4c 5f | COLOR.CFG_CURSOR....#define.SEL_ |
| 1c980 | 43 4f 4c 4f 52 20 43 46 47 5f 53 45 4c 5f 42 47 00 00 00 19 23 64 65 66 69 6e 65 20 53 45 4c 5f | COLOR.CFG_SEL_BG....#define.SEL_ |
| 1c9a0 | 46 47 20 43 46 47 5f 53 45 4c 5f 46 47 00 00 00 19 23 64 65 66 69 6e 65 20 42 41 52 5f 42 47 20 | FG.CFG_SEL_FG....#define.BAR_BG. |
| 1c9c0 | 43 46 47 5f 42 41 52 5f 42 47 00 00 00 19 23 64 65 66 69 6e 65 20 42 41 52 5f 46 47 20 43 46 47 | CFG_BAR_BG....#define.BAR_FG.CFG |
| 1c9e0 | 5f 42 41 52 5f 46 47 00 00 00 1b 23 64 65 66 69 6e 65 20 42 54 4e 5f 48 4f 56 20 43 46 47 5f 42 | _BAR_FG....#define.BTN_HOV.CFG_B |
| 1ca00 | 54 4e 5f 48 4f 56 00 00 00 1b 23 64 65 66 69 6e 65 20 44 52 4f 50 5f 42 47 20 43 46 47 5f 44 52 | TN_HOV....#define.DROP_BG.CFG_DR |
| 1ca20 | 4f 50 5f 42 47 00 00 00 1b 23 64 65 66 69 6e 65 20 44 52 4f 50 5f 46 47 20 43 46 47 5f 44 52 4f | OP_BG....#define.DROP_FG.CFG_DRO |
| 1ca40 | 50 5f 46 47 00 00 00 1d 23 64 65 66 69 6e 65 20 44 52 4f 50 5f 48 4f 56 20 43 46 47 5f 44 52 4f | P_FG....#define.DROP_HOV.CFG_DRO |
| 1ca60 | 50 5f 48 4f 56 00 00 00 23 23 64 65 66 69 6e 65 20 44 52 4f 50 5f 48 4f 56 5f 46 47 20 43 46 47 | P_HOV...##define.DROP_HOV_FG.CFG |
| 1ca80 | 5f 44 52 4f 50 5f 48 4f 56 5f 46 47 00 00 00 19 23 64 65 66 69 6e 65 20 53 45 50 5f 43 4f 4c 4f | _DROP_HOV_FG....#define.SEP_COLO |
| 1caa0 | 52 20 43 46 47 5f 53 45 50 00 00 00 00 00 00 00 21 73 74 61 74 69 63 20 63 68 61 72 20 74 65 78 | R.CFG_SEP.......!static.char.tex |
| 1cac0 | 74 5b 4d 41 58 5f 54 45 58 54 5d 20 3d 20 7b 30 7d 3b 00 00 00 14 73 74 61 74 69 63 20 69 6e 74 | t[MAX_TEXT].=.{0};....static.int |
| 1cae0 | 20 74 6c 65 6e 20 3d 20 30 3b 00 00 00 16 73 74 61 74 69 63 20 69 6e 74 20 63 75 72 73 6f 72 20 | .tlen.=.0;....static.int.cursor. |
| 1cb00 | 3d 20 30 3b 00 00 00 1b 73 74 61 74 69 63 20 69 6e 74 20 73 65 6c 5f 61 6e 63 68 6f 72 20 3d 20 | =.0;....static.int.sel_anchor.=. |
| 1cb20 | 2d 31 3b 00 00 00 21 73 74 61 74 69 63 20 63 68 61 72 20 66 69 6c 65 70 61 74 68 5b 34 30 39 36 | -1;...!static.char.filepath[4096 |
| 1cb40 | 5d 20 3d 20 7b 30 7d 3b 00 00 00 1a 73 74 61 74 69 63 20 62 6f 6f 6c 20 64 69 72 74 79 20 3d 20 | ].=.{0};....static.bool.dirty.=. |
| 1cb60 | 66 61 6c 73 65 3b 00 00 00 00 00 00 00 19 73 74 61 74 69 63 20 46 54 5f 4c 69 62 72 61 72 79 20 | false;........static.FT_Library. |
| 1cb80 | 66 74 5f 6c 69 62 3b 00 00 00 17 73 74 61 74 69 63 20 46 54 5f 46 61 63 65 20 66 74 5f 66 61 63 | ft_lib;....static.FT_Face.ft_fac |
| 1cba0 | 65 3b 00 00 00 12 73 74 61 74 69 63 20 69 6e 74 20 63 65 6c 6c 5f 77 3b 00 00 00 12 73 74 61 74 | e;....static.int.cell_w;....stat |
| 1cbc0 | 69 63 20 69 6e 74 20 63 65 6c 6c 5f 68 3b 00 00 00 14 73 74 61 74 69 63 20 69 6e 74 20 61 73 63 | ic.int.cell_h;....static.int.asc |
| 1cbe0 | 65 6e 64 65 72 3b 00 00 00 1f 73 74 61 74 69 63 20 69 6e 74 20 66 6f 6e 74 5f 70 74 20 3d 20 46 | ender;....static.int.font_pt.=.F |
| 1cc00 | 4f 4e 54 5f 53 49 5a 45 3b 00 00 00 00 00 00 00 45 74 79 70 65 64 65 66 20 65 6e 75 6d 20 7b 20 | ONT_SIZE;.......Etypedef.enum.{. |
| 1cc20 | 4d 45 4e 55 5f 4e 4f 4e 45 20 3d 20 2d 31 2c 20 4d 45 4e 55 5f 46 49 4c 45 20 3d 20 30 2c 20 4d | MENU_NONE.=.-1,.MENU_FILE.=.0,.M |
| 1cc40 | 45 4e 55 5f 49 4e 46 4f 20 3d 20 31 20 7d 20 4d 65 6e 75 49 64 3b 00 00 00 00 00 00 00 10 74 79 | ENU_INFO.=.1.}.MenuId;........ty |
| 1cc60 | 70 65 64 65 66 20 73 74 72 75 63 74 20 7b 00 00 00 14 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a | pedef.struct.{......const.char.* |
| 1cc80 | 6c 61 62 65 6c 3b 00 00 00 11 20 20 62 6f 6f 6c 20 73 65 70 5f 61 66 74 65 72 3b 00 00 00 0b 7d | label;......bool.sep_after;....} |
| 1cca0 | 20 4d 65 6e 75 49 74 65 6d 3b 00 00 00 00 00 00 00 26 73 74 61 74 69 63 20 63 6f 6e 73 74 20 4d | .MenuItem;.......&static.const.M |
| 1ccc0 | 65 6e 75 49 74 65 6d 20 66 69 6c 65 5f 69 74 65 6d 73 5b 5d 20 3d 20 7b 00 00 00 41 20 20 20 20 | enuItem.file_items[].=.{...A.... |
| 1cce0 | 7b 22 4e 65 77 22 2c 20 66 61 6c 73 65 7d 2c 20 20 20 20 7b 22 4f 70 65 6e 22 2c 20 66 61 6c 73 | {"New",.false},....{"Open",.fals |
| 1cd00 | 65 7d 2c 20 20 20 20 20 20 20 20 20 20 7b 22 53 61 76 65 22 2c 20 66 61 6c 73 65 7d 2c 00 00 00 | e},..........{"Save",.false},... |
| 1cd20 | 41 20 20 20 20 7b 22 53 61 76 65 20 41 73 22 2c 20 74 72 75 65 7d 2c 20 7b 22 53 61 76 65 20 61 | A....{"Save.As",.true},.{"Save.a |
| 1cd40 | 6e 64 20 51 75 69 74 22 2c 20 66 61 6c 73 65 7d 2c 20 7b 22 51 75 69 74 22 2c 20 66 61 6c 73 65 | nd.Quit",.false},.{"Quit",.false |
| 1cd60 | 7d 2c 00 00 00 02 7d 3b 00 00 00 26 73 74 61 74 69 63 20 63 6f 6e 73 74 20 4d 65 6e 75 49 74 65 | },....};...&static.const.MenuIte |
| 1cd80 | 6d 20 69 6e 66 6f 5f 69 74 65 6d 73 5b 5d 20 3d 20 7b 00 00 00 15 20 20 20 20 7b 22 41 62 6f 75 | m.info_items[].=.{........{"Abou |
| 1cda0 | 74 22 2c 20 66 61 6c 73 65 7d 2c 00 00 00 02 7d 3b 00 00 00 3e 23 64 65 66 69 6e 65 20 4e 5f 46 | t",.false},....};...>#define.N_F |
| 1cdc0 | 49 4c 45 20 28 28 69 6e 74 29 28 73 69 7a 65 6f 66 20 66 69 6c 65 5f 69 74 65 6d 73 20 2f 20 73 | ILE.((int)(sizeof.file_items./.s |
| 1cde0 | 69 7a 65 6f 66 20 2a 66 69 6c 65 5f 69 74 65 6d 73 29 29 00 00 00 3e 23 64 65 66 69 6e 65 20 4e | izeof.*file_items))...>#define.N |
| 1ce00 | 5f 49 4e 46 4f 20 28 28 69 6e 74 29 28 73 69 7a 65 6f 66 20 69 6e 66 6f 5f 69 74 65 6d 73 20 2f | _INFO.((int)(sizeof.info_items./ |
| 1ce20 | 20 73 69 7a 65 6f 66 20 2a 69 6e 66 6f 5f 69 74 65 6d 73 29 29 00 00 00 00 00 00 00 0e 73 74 72 | .sizeof.*info_items))........str |
| 1ce40 | 75 63 74 20 70 6f 70 75 70 20 7b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 | uct.popup.{......struct.wl_surfa |
| 1ce60 | 63 65 20 2a 77 73 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 | ce.*ws;......struct.xdg_surface. |
| 1ce80 | 2a 78 73 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 | *xs;......struct.xdg_toplevel.*x |
| 1cea0 | 74 3b 00 00 00 0f 20 20 76 6f 69 64 20 2a 70 69 78 65 6c 73 3b 00 00 00 15 20 20 73 69 7a 65 5f | t;......void.*pixels;......size_ |
| 1cec0 | 74 20 70 69 78 65 6c 73 5f 73 69 7a 65 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 | t.pixels_size;......struct.wl_bu |
| 1cee0 | 66 66 65 72 20 2a 62 75 66 3b 00 00 00 0b 20 20 69 6e 74 20 77 2c 20 68 3b 00 00 00 12 20 20 62 | ffer.*buf;......int.w,.h;......b |
| 1cf00 | 6f 6f 6c 20 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 0c 20 20 62 6f 6f 6c 20 6f 70 65 6e 3b 00 | ool.configured;......bool.open;. |
| 1cf20 | 00 00 02 7d 3b 00 00 00 00 00 00 00 0c 73 74 72 75 63 74 20 61 70 70 20 7b 00 00 00 17 20 20 73 | ...};........struct.app.{......s |
| 1cf40 | 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 20 2a 64 3b 00 00 00 1a 20 20 73 74 72 75 63 74 | truct.wl_display.*d;......struct |
| 1cf60 | 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 3b 00 00 00 1d 20 20 73 74 72 75 63 74 20 77 | .wl_registry.*reg;......struct.w |
| 1cf80 | 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 20 2a 63 6f 6d 70 3b 00 00 00 15 20 20 73 74 72 75 63 74 20 | l_compositor.*comp;......struct. |
| 1cfa0 | 77 6c 5f 73 68 6d 20 2a 73 68 6d 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f | wl_shm.*shm;......struct.xdg_wm_ |
| 1cfc0 | 62 61 73 65 20 2a 77 6d 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 | base.*wm;......struct.wl_surface |
| 1cfe0 | 20 2a 77 73 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 | .*ws;......struct.xdg_surface.*x |
| 1d000 | 73 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 3b | s;......struct.xdg_toplevel.*xt; |
| 1d020 | 00 00 00 17 20 20 73 74 72 75 63 74 20 77 6c 5f 73 65 61 74 20 2a 73 65 61 74 3b 00 00 00 1f 20 | ......struct.wl_seat.*seat;..... |
| 1d040 | 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 65 79 62 6f 61 72 64 3b 00 00 | .struct.wl_keyboard.*keyboard;.. |
| 1d060 | 00 1d 20 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 6f 69 6e 74 65 72 3b 00 | ....struct.wl_pointer.*pointer;. |
| 1d080 | 00 00 25 20 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 5f 6d 61 6e 61 67 | ..%..struct.wl_data_device_manag |
| 1d0a0 | 65 72 20 2a 64 64 6d 3b 00 00 00 1c 20 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 64 65 76 | er.*ddm;......struct.wl_data_dev |
| 1d0c0 | 69 63 65 20 2a 64 64 3b 00 00 00 1c 20 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 73 6f 75 | ice.*dd;......struct.wl_data_sou |
| 1d0e0 | 72 63 65 20 2a 64 73 3b 00 00 00 0f 20 20 76 6f 69 64 20 2a 70 69 78 65 6c 73 3b 00 00 00 15 20 | rce.*ds;......void.*pixels;..... |
| 1d100 | 20 73 69 7a 65 5f 74 20 70 69 78 65 6c 73 5f 73 69 7a 65 3b 00 00 00 18 20 20 73 74 72 75 63 74 | .size_t.pixels_size;......struct |
| 1d120 | 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 3b 00 00 00 21 20 20 69 6e 74 20 77 2c 20 68 2c 20 | .wl_buffer.*buf;...!..int.w,.h,. |
| 1d140 | 70 65 6e 64 69 6e 67 5f 77 2c 20 70 65 6e 64 69 6e 67 5f 68 3b 00 00 00 12 20 20 62 6f 6f 6c 20 | pending_w,.pending_h;......bool. |
| 1d160 | 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 1e 20 20 73 74 72 75 63 74 20 78 6b 62 5f 63 6f 6e 74 | configured;......struct.xkb_cont |
| 1d180 | 65 78 74 20 2a 78 6b 62 5f 63 74 78 3b 00 00 00 20 20 20 73 74 72 75 63 74 20 78 6b 62 5f 6b 65 | ext.*xkb_ctx;......struct.xkb_ke |
| 1d1a0 | 79 6d 61 70 20 2a 78 6b 62 5f 6b 65 79 6d 61 70 3b 00 00 00 1e 20 20 73 74 72 75 63 74 20 78 6b | ymap.*xkb_keymap;......struct.xk |
| 1d1c0 | 62 5f 73 74 61 74 65 20 2a 78 6b 62 5f 73 74 61 74 65 3b 00 00 00 10 20 20 69 6e 74 20 72 65 70 | b_state.*xkb_state;......int.rep |
| 1d1e0 | 65 61 74 5f 66 64 3b 00 00 00 16 20 20 75 69 6e 74 33 32 5f 74 20 72 65 70 65 61 74 5f 6b 65 79 | eat_fd;......uint32_t.repeat_key |
| 1d200 | 3b 00 00 00 16 20 20 69 6e 74 33 32 5f 74 20 72 65 70 65 61 74 5f 72 61 74 65 3b 00 00 00 17 20 | ;......int32_t.repeat_rate;..... |
| 1d220 | 20 69 6e 74 33 32 5f 74 20 72 65 70 65 61 74 5f 64 65 6c 61 79 3b 00 00 00 1b 20 20 63 68 61 72 | .int32_t.repeat_delay;......char |
| 1d240 | 20 63 6c 69 70 62 6f 61 72 64 5b 4d 41 58 5f 54 45 58 54 5d 3b 00 00 00 14 20 20 69 6e 74 20 63 | .clipboard[MAX_TEXT];......int.c |
| 1d260 | 6c 69 70 62 6f 61 72 64 5f 6c 65 6e 3b 00 00 00 17 20 20 75 69 6e 74 33 32 5f 74 20 6c 61 73 74 | lipboard_len;......uint32_t.last |
| 1d280 | 5f 73 65 72 69 61 6c 3b 00 00 00 17 20 20 69 6e 74 20 6d 6f 75 73 65 5f 78 2c 20 6d 6f 75 73 65 | _serial;......int.mouse_x,.mouse |
| 1d2a0 | 5f 79 3b 00 00 00 13 20 20 4d 65 6e 75 49 64 20 6f 70 65 6e 5f 6d 65 6e 75 3b 00 00 00 13 20 20 | _y;......MenuId.open_menu;...... |
| 1d2c0 | 69 6e 74 20 68 6f 76 65 72 65 64 5f 69 74 65 6d 3b 00 00 00 15 20 20 73 74 72 75 63 74 20 70 6f | int.hovered_item;......struct.po |
| 1d2e0 | 70 75 70 20 61 62 6f 75 74 3b 00 00 00 02 7d 3b 00 00 00 00 00 00 00 27 73 74 61 74 69 63 20 76 | pup.about;....};.......'static.v |
| 1d300 | 6f 69 64 20 75 70 64 61 74 65 5f 66 6f 6e 74 5f 6d 65 74 72 69 63 73 28 76 6f 69 64 29 20 7b 00 | oid.update_font_metrics(void).{. |
| 1d320 | 00 00 35 20 20 46 54 5f 53 65 74 5f 43 68 61 72 5f 53 69 7a 65 28 66 74 5f 66 61 63 65 2c 20 30 | ..5..FT_Set_Char_Size(ft_face,.0 |
| 1d340 | 2c 20 66 6f 6e 74 5f 70 74 20 2a 20 36 34 2c 20 39 36 2c 20 39 36 29 3b 00 00 00 33 20 20 46 54 | ,.font_pt.*.64,.96,.96);...3..FT |
| 1d360 | 5f 4c 6f 61 64 5f 43 68 61 72 28 66 74 5f 66 61 63 65 2c 20 27 30 27 2c 20 46 54 5f 4c 4f 41 44 | _Load_Char(ft_face,.'0',.FT_LOAD |
| 1d380 | 5f 41 44 56 41 4e 43 45 5f 4f 4e 4c 59 29 3b 00 00 00 38 20 20 63 65 6c 6c 5f 77 20 3d 20 28 69 | _ADVANCE_ONLY);...8..cell_w.=.(i |
| 1d3a0 | 6e 74 29 28 28 66 74 5f 66 61 63 65 2d 3e 67 6c 79 70 68 2d 3e 61 64 76 61 6e 63 65 2e 78 20 2b | nt)((ft_face->glyph->advance.x.+ |
| 1d3c0 | 20 33 32 29 20 3e 3e 20 36 29 3b 00 00 00 39 20 20 61 73 63 65 6e 64 65 72 20 3d 20 28 69 6e 74 | .32).>>.6);...9..ascender.=.(int |
| 1d3e0 | 29 28 66 74 5f 66 61 63 65 2d 3e 73 69 7a 65 2d 3e 6d 65 74 72 69 63 73 2e 61 73 63 65 6e 64 65 | )(ft_face->size->metrics.ascende |
| 1d400 | 72 20 3e 3e 20 36 29 3b 00 00 00 42 20 20 69 6e 74 20 64 65 73 63 20 3d 20 28 69 6e 74 29 28 28 | r.>>.6);...B..int.desc.=.(int)(( |
| 1d420 | 2d 66 74 5f 66 61 63 65 2d 3e 73 69 7a 65 2d 3e 6d 65 74 72 69 63 73 2e 64 65 73 63 65 6e 64 65 | -ft_face->size->metrics.descende |
| 1d440 | 72 20 2b 20 36 33 29 20 3e 3e 20 36 29 3b 00 00 00 1b 20 20 63 65 6c 6c 5f 68 20 3d 20 61 73 63 | r.+.63).>>.6);......cell_h.=.asc |
| 1d460 | 65 6e 64 65 72 20 2b 20 64 65 73 63 3b 00 00 00 11 20 20 69 66 20 28 63 65 6c 6c 5f 77 20 3c 20 | ender.+.desc;......if.(cell_w.<. |
| 1d480 | 31 29 00 00 00 0f 20 20 20 20 63 65 6c 6c 5f 77 20 3d 20 31 3b 00 00 00 11 20 20 69 66 20 28 63 | 1)........cell_w.=.1;......if.(c |
| 1d4a0 | 65 6c 6c 5f 68 20 3c 20 31 29 00 00 00 0f 20 20 20 20 63 65 6c 6c 5f 68 20 3d 20 31 3b 00 00 00 | ell_h.<.1)........cell_h.=.1;... |
| 1d4c0 | 01 7d 00 00 00 00 00 00 00 1d 73 74 61 74 69 63 20 62 6f 6f 6c 20 6c 6f 61 64 5f 66 6f 6e 74 28 | .}........static.bool.load_font( |
| 1d4e0 | 76 6f 69 64 29 20 7b 00 00 00 0b 20 20 46 63 49 6e 69 74 28 29 3b 00 00 00 35 20 20 46 63 50 61 | void).{......FcInit();...5..FcPa |
| 1d500 | 74 74 65 72 6e 20 2a 70 61 74 20 3d 20 46 63 4e 61 6d 65 50 61 72 73 65 28 28 46 63 43 68 61 72 | ttern.*pat.=.FcNameParse((FcChar |
| 1d520 | 38 20 2a 29 46 4f 4e 54 5f 4e 41 4d 45 29 3b 00 00 00 30 20 20 46 63 43 6f 6e 66 69 67 53 75 62 | 8.*)FONT_NAME);...0..FcConfigSub |
| 1d540 | 73 74 69 74 75 74 65 28 4e 55 4c 4c 2c 20 70 61 74 2c 20 46 63 4d 61 74 63 68 50 61 74 74 65 72 | stitute(NULL,.pat,.FcMatchPatter |
| 1d560 | 6e 29 3b 00 00 00 1b 20 20 46 63 44 65 66 61 75 6c 74 53 75 62 73 74 69 74 75 74 65 28 70 61 74 | n);......FcDefaultSubstitute(pat |
| 1d580 | 29 3b 00 00 00 0f 20 20 46 63 52 65 73 75 6c 74 20 72 65 73 3b 00 00 00 32 20 20 46 63 50 61 74 | );......FcResult.res;...2..FcPat |
| 1d5a0 | 74 65 72 6e 20 2a 6d 61 74 63 68 20 3d 20 46 63 46 6f 6e 74 4d 61 74 63 68 28 4e 55 4c 4c 2c 20 | tern.*match.=.FcFontMatch(NULL,. |
| 1d5c0 | 70 61 74 2c 20 26 72 65 73 29 3b 00 00 00 18 20 20 46 63 50 61 74 74 65 72 6e 44 65 73 74 72 6f | pat,.&res);......FcPatternDestro |
| 1d5e0 | 79 28 70 61 74 29 3b 00 00 00 0d 20 20 69 66 20 28 21 6d 61 74 63 68 29 00 00 00 11 20 20 20 20 | y(pat);......if.(!match)........ |
| 1d600 | 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 00 00 00 17 20 20 46 63 43 68 61 72 38 20 2a 70 61 74 68 | return.false;......FcChar8.*path |
| 1d620 | 20 3d 20 4e 55 4c 4c 3b 00 00 00 46 20 20 69 66 20 28 46 63 50 61 74 74 65 72 6e 47 65 74 53 74 | .=.NULL;...F..if.(FcPatternGetSt |
| 1d640 | 72 69 6e 67 28 6d 61 74 63 68 2c 20 46 43 5f 46 49 4c 45 2c 20 30 2c 20 26 70 61 74 68 29 20 21 | ring(match,.FC_FILE,.0,.&path).! |
| 1d660 | 3d 20 46 63 52 65 73 75 6c 74 4d 61 74 63 68 29 20 7b 00 00 00 1c 20 20 20 20 46 63 50 61 74 74 | =.FcResultMatch).{........FcPatt |
| 1d680 | 65 72 6e 44 65 73 74 72 6f 79 28 6d 61 74 63 68 29 3b 00 00 00 11 20 20 20 20 72 65 74 75 72 6e | ernDestroy(match);........return |
| 1d6a0 | 20 66 61 6c 73 65 3b 00 00 00 03 20 20 7d 00 00 00 22 20 20 69 66 20 28 46 54 5f 49 6e 69 74 5f | .false;......}..."..if.(FT_Init_ |
| 1d6c0 | 46 72 65 65 54 79 70 65 28 26 66 74 5f 6c 69 62 29 29 20 7b 00 00 00 1c 20 20 20 20 46 63 50 61 | FreeType(&ft_lib)).{........FcPa |
| 1d6e0 | 74 74 65 72 6e 44 65 73 74 72 6f 79 28 6d 61 74 63 68 29 3b 00 00 00 11 20 20 20 20 72 65 74 75 | tternDestroy(match);........retu |
| 1d700 | 72 6e 20 66 61 6c 73 65 3b 00 00 00 03 20 20 7d 00 00 00 3d 20 20 69 66 20 28 46 54 5f 4e 65 77 | rn.false;......}...=..if.(FT_New |
| 1d720 | 5f 46 61 63 65 28 66 74 5f 6c 69 62 2c 20 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 29 70 61 74 68 | _Face(ft_lib,.(const.char.*)path |
| 1d740 | 2c 20 30 2c 20 26 66 74 5f 66 61 63 65 29 29 20 7b 00 00 00 1c 20 20 20 20 46 63 50 61 74 74 65 | ,.0,.&ft_face)).{........FcPatte |
| 1d760 | 72 6e 44 65 73 74 72 6f 79 28 6d 61 74 63 68 29 3b 00 00 00 11 20 20 20 20 72 65 74 75 72 6e 20 | rnDestroy(match);........return. |
| 1d780 | 66 61 6c 73 65 3b 00 00 00 03 20 20 7d 00 00 00 1a 20 20 46 63 50 61 74 74 65 72 6e 44 65 73 74 | false;......}......FcPatternDest |
| 1d7a0 | 72 6f 79 28 6d 61 74 63 68 29 3b 00 00 00 18 20 20 75 70 64 61 74 65 5f 66 6f 6e 74 5f 6d 65 74 | roy(match);......update_font_met |
| 1d7c0 | 72 69 63 73 28 29 3b 00 00 00 0e 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 00 00 00 01 7d 00 00 | rics();......return.true;....}.. |
| 1d7e0 | 00 00 00 00 00 46 73 74 61 74 69 63 20 76 6f 69 64 20 70 73 65 74 28 76 6f 69 64 20 2a 70 78 2c | .....Fstatic.void.pset(void.*px, |
| 1d800 | 20 69 6e 74 20 70 77 2c 20 69 6e 74 20 70 68 2c 20 69 6e 74 20 78 2c 20 69 6e 74 20 79 2c 20 75 | .int.pw,.int.ph,.int.x,.int.y,.u |
| 1d820 | 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 2b 20 20 69 66 20 28 78 20 3e 3d 20 30 20 26 26 20 | int32_t.c).{...+..if.(x.>=.0.&&. |
| 1d840 | 79 20 3e 3d 20 30 20 26 26 20 78 20 3c 20 70 77 20 26 26 20 79 20 3c 20 70 68 29 00 00 00 25 20 | y.>=.0.&&.x.<.pw.&&.y.<.ph)...%. |
| 1d860 | 20 20 20 28 28 75 69 6e 74 33 32 5f 74 20 2a 29 70 78 29 5b 79 20 2a 20 70 77 20 2b 20 78 5d 20 | ...((uint32_t.*)px)[y.*.pw.+.x]. |
| 1d880 | 3d 20 63 3b 00 00 00 01 7d 00 00 00 00 00 00 00 47 73 74 61 74 69 63 20 76 6f 69 64 20 66 72 65 | =.c;....}.......Gstatic.void.fre |
| 1d8a0 | 63 74 28 76 6f 69 64 20 2a 70 78 2c 20 69 6e 74 20 70 77 2c 20 69 6e 74 20 70 68 2c 20 69 6e 74 | ct(void.*px,.int.pw,.int.ph,.int |
| 1d8c0 | 20 78 2c 20 69 6e 74 20 79 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 00 00 00 1f 20 20 20 20 | .x,.int.y,.int.w,.int.h,........ |
| 1d8e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 20 20 | ..............uint32_t.c).{..... |
| 1d900 | 20 66 6f 72 20 28 69 6e 74 20 64 79 20 3d 20 30 3b 20 64 79 20 3c 20 68 3b 20 64 79 2b 2b 29 00 | .for.(int.dy.=.0;.dy.<.h;.dy++). |
| 1d920 | 00 00 22 20 20 20 20 66 6f 72 20 28 69 6e 74 20 64 78 20 3d 20 30 3b 20 64 78 20 3c 20 77 3b 20 | .."....for.(int.dx.=.0;.dx.<.w;. |
| 1d940 | 64 78 2b 2b 29 00 00 00 2a 20 20 20 20 20 20 70 73 65 74 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 | dx++)...*......pset(px,.pw,.ph,. |
| 1d960 | 78 20 2b 20 64 78 2c 20 79 20 2b 20 64 79 2c 20 63 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 45 | x.+.dx,.y.+.dy,.c);....}.......E |
| 1d980 | 73 74 61 74 69 63 20 76 6f 69 64 20 62 70 69 78 28 76 6f 69 64 20 2a 70 78 2c 20 69 6e 74 20 70 | static.void.bpix(void.*px,.int.p |
| 1d9a0 | 77 2c 20 69 6e 74 20 70 68 2c 20 69 6e 74 20 78 2c 20 69 6e 74 20 79 2c 20 75 69 6e 74 33 32 5f | w,.int.ph,.int.x,.int.y,.uint32_ |
| 1d9c0 | 74 20 66 67 2c 00 00 00 1d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 38 5f | t.fg,.....................uint8_ |
| 1d9e0 | 74 20 61 29 20 7b 00 00 00 2b 20 20 69 66 20 28 78 20 3c 20 30 20 7c 7c 20 79 20 3c 20 30 20 7c | t.a).{...+..if.(x.<.0.||.y.<.0.| |
| 1da00 | 7c 20 78 20 3e 3d 20 70 77 20 7c 7c 20 79 20 3e 3d 20 70 68 29 00 00 00 0b 20 20 20 20 72 65 74 | |.x.>=.pw.||.y.>=.ph)........ret |
| 1da20 | 75 72 6e 3b 00 00 00 30 20 20 75 69 6e 74 33 32 5f 74 20 2a 64 73 74 20 3d 20 26 28 28 75 69 6e | urn;...0..uint32_t.*dst.=.&((uin |
| 1da40 | 74 33 32 5f 74 20 2a 29 70 78 29 5b 79 20 2a 20 70 77 20 2b 20 78 5d 3b 00 00 00 15 20 20 75 69 | t32_t.*)px)[y.*.pw.+.x];......ui |
| 1da60 | 6e 74 33 32 5f 74 20 62 67 20 3d 20 2a 64 73 74 3b 00 00 00 4d 20 20 75 69 6e 74 33 32 5f 74 20 | nt32_t.bg.=.*dst;...M..uint32_t. |
| 1da80 | 72 20 3d 20 28 28 66 67 20 3e 3e 20 31 36 20 26 20 30 78 46 46 29 20 2a 20 61 20 2b 20 28 62 67 | r.=.((fg.>>.16.&.0xFF).*.a.+.(bg |
| 1daa0 | 20 3e 3e 20 31 36 20 26 20 30 78 46 46 29 20 2a 20 28 32 35 35 20 2d 20 61 29 29 20 2f 20 32 35 | .>>.16.&.0xFF).*.(255.-.a))./.25 |
| 1dac0 | 35 3b 00 00 00 4b 20 20 75 69 6e 74 33 32 5f 74 20 67 20 3d 20 28 28 66 67 20 3e 3e 20 38 20 26 | 5;...K..uint32_t.g.=.((fg.>>.8.& |
| 1dae0 | 20 30 78 46 46 29 20 2a 20 61 20 2b 20 28 62 67 20 3e 3e 20 38 20 26 20 30 78 46 46 29 20 2a 20 | .0xFF).*.a.+.(bg.>>.8.&.0xFF).*. |
| 1db00 | 28 32 35 35 20 2d 20 61 29 29 20 2f 20 32 35 35 3b 00 00 00 41 20 20 75 69 6e 74 33 32 5f 74 20 | (255.-.a))./.255;...A..uint32_t. |
| 1db20 | 62 20 3d 20 28 28 66 67 20 26 20 30 78 46 46 29 20 2a 20 61 20 2b 20 28 62 67 20 26 20 30 78 46 | b.=.((fg.&.0xFF).*.a.+.(bg.&.0xF |
| 1db40 | 46 29 20 2a 20 28 32 35 35 20 2d 20 61 29 29 20 2f 20 32 35 35 3b 00 00 00 2f 20 20 2a 64 73 74 | F).*.(255.-.a))./.255;.../..*dst |
| 1db60 | 20 3d 20 30 78 46 46 30 30 30 30 30 30 20 7c 20 28 72 20 3c 3c 20 31 36 29 20 7c 20 28 67 20 3c | .=.0xFF000000.|.(r.<<.16).|.(g.< |
| 1db80 | 3c 20 38 29 20 7c 20 62 3b 00 00 00 01 7d 00 00 00 00 00 00 00 49 73 74 61 74 69 63 20 76 6f 69 | <.8).|.b;....}.......Istatic.voi |
| 1dba0 | 64 20 64 67 6c 79 70 68 28 76 6f 69 64 20 2a 70 78 2c 20 69 6e 74 20 70 77 2c 20 69 6e 74 20 70 | d.dglyph(void.*px,.int.pw,.int.p |
| 1dbc0 | 68 2c 20 69 6e 74 20 63 78 2c 20 69 6e 74 20 63 79 2c 20 75 69 6e 74 33 32 5f 74 20 63 70 2c 00 | h,.int.cx,.int.cy,.uint32_t.cp,. |
| 1dbe0 | 00 00 24 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 63 | ..$...................uint32_t.c |
| 1dc00 | 6f 6c 6f 72 29 20 7b 00 00 00 2c 20 20 46 54 5f 4c 6f 61 64 5f 43 68 61 72 28 66 74 5f 66 61 63 | olor).{...,..FT_Load_Char(ft_fac |
| 1dc20 | 65 2c 20 63 70 2c 20 46 54 5f 4c 4f 41 44 5f 52 45 4e 44 45 52 29 3b 00 00 00 25 20 20 46 54 5f | e,.cp,.FT_LOAD_RENDER);...%..FT_ |
| 1dc40 | 47 6c 79 70 68 53 6c 6f 74 20 73 6c 6f 74 20 3d 20 66 74 5f 66 61 63 65 2d 3e 67 6c 79 70 68 3b | GlyphSlot.slot.=.ft_face->glyph; |
| 1dc60 | 00 00 00 20 20 20 46 54 5f 42 69 74 6d 61 70 20 2a 62 6d 20 3d 20 26 73 6c 6f 74 2d 3e 62 69 74 | ......FT_Bitmap.*bm.=.&slot->bit |
| 1dc80 | 6d 61 70 3b 00 00 00 1d 20 20 69 6e 74 20 6f 78 20 3d 20 73 6c 6f 74 2d 3e 62 69 74 6d 61 70 5f | map;......int.ox.=.slot->bitmap_ |
| 1dca0 | 6c 65 66 74 3b 00 00 00 2c 20 20 69 6e 74 20 6f 79 20 3d 20 63 79 20 2b 20 61 73 63 65 6e 64 65 | left;...,..int.oy.=.cy.+.ascende |
| 1dcc0 | 72 20 2d 20 73 6c 6f 74 2d 3e 62 69 74 6d 61 70 5f 74 6f 70 3b 00 00 00 2f 20 20 66 6f 72 20 28 | r.-.slot->bitmap_top;.../..for.( |
| 1dce0 | 69 6e 74 20 72 6f 77 20 3d 20 30 3b 20 72 6f 77 20 3c 20 28 69 6e 74 29 62 6d 2d 3e 72 6f 77 73 | int.row.=.0;.row.<.(int)bm->rows |
| 1dd00 | 3b 20 72 6f 77 2b 2b 29 00 00 00 34 20 20 20 20 66 6f 72 20 28 69 6e 74 20 63 6f 6c 20 3d 20 30 | ;.row++)...4....for.(int.col.=.0 |
| 1dd20 | 3b 20 63 6f 6c 20 3c 20 28 69 6e 74 29 62 6d 2d 3e 77 69 64 74 68 3b 20 63 6f 6c 2b 2b 29 20 7b | ;.col.<.(int)bm->width;.col++).{ |
| 1dd40 | 00 00 00 35 20 20 20 20 20 20 75 69 6e 74 38 5f 74 20 61 76 20 3d 20 62 6d 2d 3e 62 75 66 66 65 | ...5......uint8_t.av.=.bm->buffe |
| 1dd60 | 72 5b 72 6f 77 20 2a 20 62 6d 2d 3e 70 69 74 63 68 20 2b 20 63 6f 6c 5d 3b 00 00 00 0d 20 20 20 | r[row.*.bm->pitch.+.col];....... |
| 1dd80 | 20 20 20 69 66 20 28 61 76 29 00 00 00 3d 20 20 20 20 20 20 20 20 62 70 69 78 28 70 78 2c 20 70 | ...if.(av)...=........bpix(px,.p |
| 1dda0 | 77 2c 20 70 68 2c 20 63 78 20 2b 20 6f 78 20 2b 20 63 6f 6c 2c 20 6f 79 20 2b 20 72 6f 77 2c 20 | w,.ph,.cx.+.ox.+.col,.oy.+.row,. |
| 1ddc0 | 63 6f 6c 6f 72 2c 20 61 76 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 | color,.av);........}....}....... |
| 1dde0 | 47 73 74 61 74 69 63 20 76 6f 69 64 20 64 73 74 72 28 76 6f 69 64 20 2a 70 78 2c 20 69 6e 74 20 | Gstatic.void.dstr(void.*px,.int. |
| 1de00 | 70 77 2c 20 69 6e 74 20 70 68 2c 20 69 6e 74 20 78 2c 20 69 6e 74 20 79 2c 20 63 6f 6e 73 74 20 | pw,.int.ph,.int.x,.int.y,.const. |
| 1de20 | 63 68 61 72 20 2a 73 2c 00 00 00 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e | char.*s,...".................uin |
| 1de40 | 74 33 32 5f 74 20 63 6f 6c 6f 72 29 20 7b 00 00 00 2f 20 20 66 6f 72 20 28 63 6f 6e 73 74 20 63 | t32_t.color).{.../..for.(const.c |
| 1de60 | 68 61 72 20 2a 70 20 3d 20 73 3b 20 2a 70 3b 20 70 2b 2b 2c 20 78 20 2b 3d 20 63 65 6c 6c 5f 77 | har.*p.=.s;.*p;.p++,.x.+=.cell_w |
| 1de80 | 29 00 00 00 37 20 20 20 20 64 67 6c 79 70 68 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 78 2c 20 79 | )...7....dglyph(px,.pw,.ph,.x,.y |
| 1dea0 | 2c 20 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 29 2a 70 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 01 | ,.(unsigned.char)*p,.color);.... |
| 1dec0 | 7d 00 00 00 00 00 00 00 41 73 74 61 74 69 63 20 69 6e 74 20 73 70 77 28 63 6f 6e 73 74 20 63 68 | }.......Astatic.int.spw(const.ch |
| 1dee0 | 61 72 20 2a 73 29 20 7b 20 72 65 74 75 72 6e 20 28 69 6e 74 29 73 74 72 6c 65 6e 28 73 29 20 2a | ar.*s).{.return.(int)strlen(s).* |
| 1df00 | 20 63 65 6c 6c 5f 77 3b 20 7d 00 00 00 00 00 00 00 4b 73 74 61 74 69 63 20 76 6f 69 64 20 2a 6d | .cell_w;.}.......Kstatic.void.*m |
| 1df20 | 61 6b 65 5f 73 68 6d 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 2c 20 69 6e 74 20 77 2c 20 69 6e | ake_shm(struct.app.*a,.int.w,.in |
| 1df40 | 74 20 68 2c 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 2a 6f 62 75 66 2c 00 00 00 | t.h,.struct.wl_buffer.**obuf,... |
| 1df60 | 24 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 69 7a 65 5f 74 20 2a 6f | $......................size_t.*o |
| 1df80 | 73 7a 29 20 7b 00 00 00 20 20 20 73 69 7a 65 5f 74 20 73 7a 20 3d 20 28 73 69 7a 65 5f 74 29 77 | sz).{......size_t.sz.=.(size_t)w |
| 1dfa0 | 20 2a 20 68 20 2a 20 34 3b 00 00 00 23 20 20 63 68 61 72 20 74 5b 5d 20 3d 20 22 2f 74 6d 70 2f | .*.h.*.4;...#..char.t[].=."/tmp/ |
| 1dfc0 | 77 61 79 6c 61 6e 64 2d 58 58 58 58 58 58 22 3b 00 00 00 16 20 20 69 6e 74 20 66 64 20 3d 20 6d | wayland-XXXXXX";......int.fd.=.m |
| 1dfe0 | 6b 73 74 65 6d 70 28 74 29 3b 00 00 00 0c 20 20 75 6e 6c 69 6e 6b 28 74 29 3b 00 00 00 28 20 20 | kstemp(t);......unlink(t);...(.. |
| 1e000 | 69 66 20 28 66 64 20 3c 20 30 20 7c 7c 20 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 73 7a 29 20 | if.(fd.<.0.||.ftruncate(fd,.sz). |
| 1e020 | 3c 20 30 29 20 7b 00 00 00 12 20 20 20 20 70 65 72 72 6f 72 28 22 73 68 6d 22 29 3b 00 00 00 0c | <.0).{........perror("shm");.... |
| 1e040 | 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 03 20 20 7d 00 00 00 47 20 20 76 6f 69 64 20 2a 70 | ....exit(1);......}...G..void.*p |
| 1e060 | 78 20 3d 20 6d 6d 61 70 28 4e 55 4c 4c 2c 20 73 7a 2c 20 50 52 4f 54 5f 52 45 41 44 20 7c 20 50 | x.=.mmap(NULL,.sz,.PROT_READ.|.P |
| 1e080 | 52 4f 54 5f 57 52 49 54 45 2c 20 4d 41 50 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 | ROT_WRITE,.MAP_SHARED,.fd,.0);.. |
| 1e0a0 | 00 19 20 20 69 66 20 28 70 78 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 20 7b 00 00 00 13 20 | ....if.(px.==.MAP_FAILED).{..... |
| 1e0c0 | 20 20 20 70 65 72 72 6f 72 28 22 6d 6d 61 70 22 29 3b 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 | ...perror("mmap");........exit(1 |
| 1e0e0 | 29 3b 00 00 00 03 20 20 7d 00 00 00 40 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f | );......}...@..struct.wl_shm_poo |
| 1e100 | 6c 20 2a 70 6f 6f 6c 20 3d 20 77 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f 70 6f 6f 6c 28 61 2d 3e | l.*pool.=.wl_shm_create_pool(a-> |
| 1e120 | 73 68 6d 2c 20 66 64 2c 20 73 7a 29 3b 00 00 00 09 20 20 2a 6f 62 75 66 20 3d 00 00 00 4e 20 20 | shm,.fd,.sz);......*obuf.=...N.. |
| 1e140 | 20 20 20 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f | ....wl_shm_pool_create_buffer(po |
| 1e160 | 6f 6c 2c 20 30 2c 20 77 2c 20 68 2c 20 77 20 2a 20 34 2c 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 | ol,.0,.w,.h,.w.*.4,.WL_SHM_FORMA |
| 1e180 | 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 1c 20 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 64 65 | T_ARGB8888);......wl_shm_pool_de |
| 1e1a0 | 73 74 72 6f 79 28 70 6f 6f 6c 29 3b 00 00 00 0c 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 0a | stroy(pool);......close(fd);.... |
| 1e1c0 | 20 20 69 66 20 28 6f 73 7a 29 00 00 00 0e 20 20 20 20 2a 6f 73 7a 20 3d 20 73 7a 3b 00 00 00 0c | ..if.(osz)........*osz.=.sz;.... |
| 1e1e0 | 20 20 72 65 74 75 72 6e 20 70 78 3b 00 00 00 01 7d 00 00 00 00 00 00 00 38 73 74 61 74 69 63 20 | ..return.px;....}.......8static. |
| 1e200 | 69 6e 74 20 62 61 72 5f 79 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 20 72 65 74 75 72 | int.bar_y(struct.app.*a).{.retur |
| 1e220 | 6e 20 61 2d 3e 68 20 2d 20 42 41 52 5f 48 3b 20 7d 00 00 00 39 73 74 61 74 69 63 20 69 6e 74 20 | n.a->h.-.BAR_H;.}...9static.int. |
| 1e240 | 74 65 78 74 5f 68 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 20 72 65 74 75 72 6e 20 61 | text_h(struct.app.*a).{.return.a |
| 1e260 | 2d 3e 68 20 2d 20 42 41 52 5f 48 3b 20 7d 00 00 00 00 00 00 00 19 73 74 61 74 69 63 20 69 6e 74 | ->h.-.BAR_H;.}........static.int |
| 1e280 | 20 62 74 6e 5f 78 28 69 6e 74 20 69 29 20 7b 00 00 00 0e 20 20 69 6e 74 20 78 20 3d 20 50 41 44 | .btn_x(int.i).{......int.x.=.PAD |
| 1e2a0 | 3b 00 00 00 28 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6c 62 6c 73 5b 5d 20 3d 20 7b 22 46 69 | ;...(..const.char.*lbls[].=.{"Fi |
| 1e2c0 | 6c 65 22 2c 20 22 49 6e 66 6f 22 7d 3b 00 00 00 1d 20 20 66 6f 72 20 28 69 6e 74 20 6a 20 3d 20 | le",."Info"};......for.(int.j.=. |
| 1e2e0 | 30 3b 20 6a 20 3c 20 69 3b 20 6a 2b 2b 29 00 00 00 24 20 20 20 20 78 20 2b 3d 20 73 70 77 28 6c | 0;.j.<.i;.j++)...$....x.+=.spw(l |
| 1e300 | 62 6c 73 5b 6a 5d 29 20 2b 20 42 54 4e 5f 50 41 44 20 2a 20 32 3b 00 00 00 0b 20 20 72 65 74 75 | bls[j]).+.BTN_PAD.*.2;......retu |
| 1e320 | 72 6e 20 78 3b 00 00 00 01 7d 00 00 00 4f 73 74 61 74 69 63 20 69 6e 74 20 62 74 6e 5f 77 28 69 | rn.x;....}...Ostatic.int.btn_w(i |
| 1e340 | 6e 74 20 69 29 20 7b 20 72 65 74 75 72 6e 20 73 70 77 28 69 20 3d 3d 20 30 20 3f 20 22 46 69 6c | nt.i).{.return.spw(i.==.0.?."Fil |
| 1e360 | 65 22 20 3a 20 22 49 6e 66 6f 22 29 20 2b 20 42 54 4e 5f 50 41 44 20 2a 20 32 3b 20 7d 00 00 00 | e".:."Info").+.BTN_PAD.*.2;.}... |
| 1e380 | 00 00 00 00 2b 73 74 61 74 69 63 20 69 6e 74 20 64 69 68 28 76 6f 69 64 29 20 7b 20 72 65 74 75 | ....+static.int.dih(void).{.retu |
| 1e3a0 | 72 6e 20 63 65 6c 6c 5f 68 20 2b 20 38 3b 20 7d 00 00 00 00 00 00 00 23 73 74 61 74 69 63 20 69 | rn.cell_h.+.8;.}.......#static.i |
| 1e3c0 | 6e 74 20 64 72 6f 70 5f 74 6f 74 61 6c 5f 68 28 4d 65 6e 75 49 64 20 6d 29 20 7b 00 00 00 2d 20 | nt.drop_total_h(MenuId.m).{...-. |
| 1e3e0 | 20 69 6e 74 20 6e 20 3d 20 28 6d 20 3d 3d 20 4d 45 4e 55 5f 46 49 4c 45 29 20 3f 20 4e 5f 46 49 | .int.n.=.(m.==.MENU_FILE).?.N_FI |
| 1e400 | 4c 45 20 3a 20 4e 5f 49 4e 46 4f 3b 00 00 00 45 20 20 63 6f 6e 73 74 20 4d 65 6e 75 49 74 65 6d | LE.:.N_INFO;...E..const.MenuItem |
| 1e420 | 20 2a 69 74 65 6d 73 20 3d 20 28 6d 20 3d 3d 20 4d 45 4e 55 5f 46 49 4c 45 29 20 3f 20 66 69 6c | .*items.=.(m.==.MENU_FILE).?.fil |
| 1e440 | 65 5f 69 74 65 6d 73 20 3a 20 69 6e 66 6f 5f 69 74 65 6d 73 3b 00 00 00 18 20 20 69 6e 74 20 68 | e_items.:.info_items;......int.h |
| 1e460 | 20 3d 20 6e 20 2a 20 64 69 68 28 29 20 2b 20 34 3b 00 00 00 1d 20 20 66 6f 72 20 28 69 6e 74 20 | .=.n.*.dih().+.4;......for.(int. |
| 1e480 | 69 20 3d 20 30 3b 20 69 20 3c 20 6e 3b 20 69 2b 2b 29 00 00 00 1b 20 20 20 20 69 66 20 28 69 74 | i.=.0;.i.<.n;.i++)........if.(it |
| 1e4a0 | 65 6d 73 5b 69 5d 2e 73 65 70 5f 61 66 74 65 72 29 00 00 00 0d 20 20 20 20 20 20 68 20 2b 3d 20 | ems[i].sep_after)..........h.+=. |
| 1e4c0 | 34 3b 00 00 00 0b 20 20 72 65 74 75 72 6e 20 68 3b 00 00 00 01 7d 00 00 00 00 00 00 00 1d 73 74 | 4;......return.h;....}........st |
| 1e4e0 | 61 74 69 63 20 69 6e 74 20 64 72 6f 70 5f 77 28 4d 65 6e 75 49 64 20 6d 29 20 7b 00 00 00 10 20 | atic.int.drop_w(MenuId.m).{..... |
| 1e500 | 20 69 6e 74 20 6d 61 78 77 20 3d 20 38 30 3b 00 00 00 2d 20 20 69 6e 74 20 6e 20 3d 20 28 6d 20 | .int.maxw.=.80;...-..int.n.=.(m. |
| 1e520 | 3d 3d 20 4d 45 4e 55 5f 46 49 4c 45 29 20 3f 20 4e 5f 46 49 4c 45 20 3a 20 4e 5f 49 4e 46 4f 3b | ==.MENU_FILE).?.N_FILE.:.N_INFO; |
| 1e540 | 00 00 00 45 20 20 63 6f 6e 73 74 20 4d 65 6e 75 49 74 65 6d 20 2a 69 74 65 6d 73 20 3d 20 28 6d | ...E..const.MenuItem.*items.=.(m |
| 1e560 | 20 3d 3d 20 4d 45 4e 55 5f 46 49 4c 45 29 20 3f 20 66 69 6c 65 5f 69 74 65 6d 73 20 3a 20 69 6e | .==.MENU_FILE).?.file_items.:.in |
| 1e580 | 66 6f 5f 69 74 65 6d 73 3b 00 00 00 1f 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 | fo_items;......for.(int.i.=.0;.i |
| 1e5a0 | 20 3c 20 6e 3b 20 69 2b 2b 29 20 7b 00 00 00 2e 20 20 20 20 69 6e 74 20 77 20 3d 20 73 70 77 28 | .<.n;.i++).{........int.w.=.spw( |
| 1e5c0 | 69 74 65 6d 73 5b 69 5d 2e 6c 61 62 65 6c 29 20 2b 20 42 54 4e 5f 50 41 44 20 2a 20 32 3b 00 00 | items[i].label).+.BTN_PAD.*.2;.. |
| 1e5e0 | 00 11 20 20 20 20 69 66 20 28 77 20 3e 20 6d 61 78 77 29 00 00 00 0f 20 20 20 20 20 20 6d 61 78 | ......if.(w.>.maxw)..........max |
| 1e600 | 77 20 3d 20 77 3b 00 00 00 03 20 20 7d 00 00 00 0e 20 20 72 65 74 75 72 6e 20 6d 61 78 77 3b 00 | w.=.w;......}......return.maxw;. |
| 1e620 | 00 00 01 7d 00 00 00 00 00 00 00 35 73 74 61 74 69 63 20 69 6e 74 20 69 74 65 6d 5f 61 74 28 73 | ...}.......5static.int.item_at(s |
| 1e640 | 74 72 75 63 74 20 61 70 70 20 2a 61 2c 20 4d 65 6e 75 49 64 20 6d 2c 20 69 6e 74 20 6d 79 29 20 | truct.app.*a,.MenuId.m,.int.my). |
| 1e660 | 7b 00 00 00 14 20 20 69 6e 74 20 62 79 20 3d 20 62 61 72 5f 79 28 61 29 3b 00 00 00 2d 20 20 69 | {......int.by.=.bar_y(a);...-..i |
| 1e680 | 6e 74 20 6e 20 3d 20 28 6d 20 3d 3d 20 4d 45 4e 55 5f 46 49 4c 45 29 20 3f 20 4e 5f 46 49 4c 45 | nt.n.=.(m.==.MENU_FILE).?.N_FILE |
| 1e6a0 | 20 3a 20 4e 5f 49 4e 46 4f 3b 00 00 00 45 20 20 63 6f 6e 73 74 20 4d 65 6e 75 49 74 65 6d 20 2a | .:.N_INFO;...E..const.MenuItem.* |
| 1e6c0 | 69 74 65 6d 73 20 3d 20 28 6d 20 3d 3d 20 4d 45 4e 55 5f 46 49 4c 45 29 20 3f 20 66 69 6c 65 5f | items.=.(m.==.MENU_FILE).?.file_ |
| 1e6e0 | 69 74 65 6d 73 20 3a 20 69 6e 66 6f 5f 69 74 65 6d 73 3b 00 00 00 24 20 20 69 6e 74 20 69 79 20 | items.:.info_items;...$..int.iy. |
| 1e700 | 3d 20 62 79 20 2d 20 64 72 6f 70 5f 74 6f 74 61 6c 5f 68 28 6d 29 20 2b 20 34 3b 00 00 00 1f 20 | =.by.-.drop_total_h(m).+.4;..... |
| 1e720 | 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 6e 3b 20 69 2b 2b 29 20 7b 00 00 | .for.(int.i.=.0;.i.<.n;.i++).{.. |
| 1e740 | 00 24 20 20 20 20 69 66 20 28 6d 79 20 3e 3d 20 69 79 20 26 26 20 6d 79 20 3c 20 69 79 20 2b 20 | .$....if.(my.>=.iy.&&.my.<.iy.+. |
| 1e760 | 64 69 68 28 29 29 00 00 00 0f 20 20 20 20 20 20 72 65 74 75 72 6e 20 69 3b 00 00 00 10 20 20 20 | dih())..........return.i;....... |
| 1e780 | 20 69 79 20 2b 3d 20 64 69 68 28 29 3b 00 00 00 1b 20 20 20 20 69 66 20 28 69 74 65 6d 73 5b 69 | .iy.+=.dih();........if.(items[i |
| 1e7a0 | 5d 2e 73 65 70 5f 61 66 74 65 72 29 00 00 00 0e 20 20 20 20 20 20 69 79 20 2b 3d 20 34 3b 00 00 | ].sep_after)..........iy.+=.4;.. |
| 1e7c0 | 00 03 20 20 7d 00 00 00 0c 20 20 72 65 74 75 72 6e 20 2d 31 3b 00 00 00 01 7d 00 00 00 00 00 00 | ....}......return.-1;....}...... |
| 1e7e0 | 00 23 73 74 61 74 69 63 20 76 6f 69 64 20 64 6f 5f 73 61 76 65 28 73 74 72 75 63 74 20 61 70 70 | .#static.void.do_save(struct.app |
| 1e800 | 20 2a 61 29 3b 00 00 00 22 73 74 61 74 69 63 20 76 6f 69 64 20 64 6f 5f 6e 65 77 28 73 74 72 75 | .*a);..."static.void.do_new(stru |
| 1e820 | 63 74 20 61 70 70 20 2a 61 29 3b 00 00 00 23 73 74 61 74 69 63 20 76 6f 69 64 20 64 6f 5f 6f 70 | ct.app.*a);...#static.void.do_op |
| 1e840 | 65 6e 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 3b 00 00 00 26 73 74 61 74 69 63 20 76 6f 69 | en(struct.app.*a);...&static.voi |
| 1e860 | 64 20 6f 70 65 6e 5f 61 62 6f 75 74 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 3b 00 00 00 22 | d.open_about(struct.app.*a);..." |
| 1e880 | 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 64 72 61 77 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 | static.void.redraw(struct.app.*a |
| 1e8a0 | 29 3b 00 00 00 00 00 00 00 23 73 74 61 74 69 63 20 76 6f 69 64 20 64 6f 5f 6e 65 77 28 73 74 72 | );.......#static.void.do_new(str |
| 1e8c0 | 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 1f 20 20 6d 65 6d 73 65 74 28 74 65 78 74 2c 20 | uct.app.*a).{......memset(text,. |
| 1e8e0 | 30 2c 20 73 69 7a 65 6f 66 20 74 65 78 74 29 3b 00 00 00 0b 20 20 74 6c 65 6e 20 3d 20 30 3b 00 | 0,.sizeof.text);......tlen.=.0;. |
| 1e900 | 00 00 0d 20 20 63 75 72 73 6f 72 20 3d 20 30 3b 00 00 00 12 20 20 73 65 6c 5f 61 6e 63 68 6f 72 | .....cursor.=.0;......sel_anchor |
| 1e920 | 20 3d 20 2d 31 3b 00 00 00 15 20 20 66 69 6c 65 70 61 74 68 5b 30 5d 20 3d 20 27 5c 30 27 3b 00 | .=.-1;......filepath[0].=.'\0';. |
| 1e940 | 00 00 10 20 20 64 69 72 74 79 20 3d 20 66 61 6c 73 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 24 | .....dirty.=.false;....}.......$ |
| 1e960 | 73 74 61 74 69 63 20 76 6f 69 64 20 64 6f 5f 73 61 76 65 28 73 74 72 75 63 74 20 61 70 70 20 2a | static.void.do_save(struct.app.* |
| 1e980 | 61 29 20 7b 00 00 00 15 20 20 69 66 20 28 21 66 69 6c 65 70 61 74 68 5b 30 5d 29 20 7b 00 00 00 | a).{......if.(!filepath[0]).{... |
| 1e9a0 | 23 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 68 20 3d 20 67 65 74 65 6e 76 28 22 48 4f 4d | #....const.char.*h.=.getenv("HOM |
| 1e9c0 | 45 22 29 3b 00 00 00 4b 20 20 20 20 73 6e 70 72 69 6e 74 66 28 66 69 6c 65 70 61 74 68 2c 20 73 | E");...K....snprintf(filepath,.s |
| 1e9e0 | 69 7a 65 6f 66 20 66 69 6c 65 70 61 74 68 2c 20 22 25 73 2f 75 6e 74 69 74 6c 65 64 2e 74 78 74 | izeof.filepath,."%s/untitled.txt |
| 1ea00 | 22 2c 20 68 20 3f 20 68 20 3a 20 22 2f 74 6d 70 22 29 3b 00 00 00 03 20 20 7d 00 00 00 3e 20 20 | ",.h.?.h.:."/tmp");......}...>.. |
| 1ea20 | 69 6e 74 20 66 64 20 3d 20 6f 70 65 6e 28 66 69 6c 65 70 61 74 68 2c 20 4f 5f 57 52 4f 4e 4c 59 | int.fd.=.open(filepath,.O_WRONLY |
| 1ea40 | 20 7c 20 4f 5f 43 52 45 41 54 20 7c 20 4f 5f 54 52 55 4e 43 2c 20 30 36 34 34 29 3b 00 00 00 0f | .|.O_CREAT.|.O_TRUNC,.0644);.... |
| 1ea60 | 20 20 69 66 20 28 66 64 20 3c 20 30 29 20 7b 00 00 00 13 20 20 20 20 70 65 72 72 6f 72 28 22 73 | ..if.(fd.<.0).{........perror("s |
| 1ea80 | 61 76 65 22 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 18 | ave");........return;......}.... |
| 1eaa0 | 20 20 77 72 69 74 65 28 66 64 2c 20 74 65 78 74 2c 20 74 6c 65 6e 29 3b 00 00 00 0c 20 20 63 6c | ..write(fd,.text,.tlen);......cl |
| 1eac0 | 6f 73 65 28 66 64 29 3b 00 00 00 10 20 20 64 69 72 74 79 20 3d 20 66 61 6c 73 65 3b 00 00 00 01 | ose(fd);......dirty.=.false;.... |
| 1eae0 | 7d 00 00 00 00 00 00 00 24 73 74 61 74 69 63 20 76 6f 69 64 20 64 6f 5f 6f 70 65 6e 28 73 74 72 | }.......$static.void.do_open(str |
| 1eb00 | 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 21 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 68 | uct.app.*a).{...!..const.char.*h |
| 1eb20 | 20 3d 20 67 65 74 65 6e 76 28 22 48 4f 4d 45 22 29 3b 00 00 00 12 20 20 63 68 61 72 20 70 61 74 | .=.getenv("HOME");......char.pat |
| 1eb40 | 68 5b 34 30 39 36 5d 3b 00 00 00 41 20 20 73 6e 70 72 69 6e 74 66 28 70 61 74 68 2c 20 73 69 7a | h[4096];...A..snprintf(path,.siz |
| 1eb60 | 65 6f 66 20 70 61 74 68 2c 20 22 25 73 2f 75 6e 74 69 74 6c 65 64 2e 74 78 74 22 2c 20 68 20 3f | eof.path,."%s/untitled.txt",.h.? |
| 1eb80 | 20 68 20 3a 20 22 2f 74 6d 70 22 29 3b 00 00 00 20 20 20 69 6e 74 20 66 64 20 3d 20 6f 70 65 6e | .h.:."/tmp");......int.fd.=.open |
| 1eba0 | 28 70 61 74 68 2c 20 4f 5f 52 44 4f 4e 4c 59 29 3b 00 00 00 0d 20 20 69 66 20 28 66 64 20 3c 20 | (path,.O_RDONLY);......if.(fd.<. |
| 1ebc0 | 30 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 2b 20 20 73 73 69 7a 65 5f 74 20 6e | 0)........return;...+..ssize_t.n |
| 1ebe0 | 20 3d 20 72 65 61 64 28 66 64 2c 20 74 65 78 74 2c 20 4d 41 58 5f 54 45 58 54 20 2d 20 31 29 3b | .=.read(fd,.text,.MAX_TEXT.-.1); |
| 1ec00 | 00 00 00 0c 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 0c 20 20 69 66 20 28 6e 20 3c 20 30 29 | ......close(fd);......if.(n.<.0) |
| 1ec20 | 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 10 20 20 74 6c 65 6e 20 3d 20 28 69 6e 74 | ........return;......tlen.=.(int |
| 1ec40 | 29 6e 3b 00 00 00 14 20 20 74 65 78 74 5b 74 6c 65 6e 5d 20 3d 20 27 5c 30 27 3b 00 00 00 10 20 | )n;......text[tlen].=.'\0';..... |
| 1ec60 | 20 63 75 72 73 6f 72 20 3d 20 74 6c 65 6e 3b 00 00 00 12 20 20 73 65 6c 5f 61 6e 63 68 6f 72 20 | .cursor.=.tlen;......sel_anchor. |
| 1ec80 | 3d 20 2d 31 3b 00 00 00 32 20 20 73 6e 70 72 69 6e 74 66 28 66 69 6c 65 70 61 74 68 2c 20 73 69 | =.-1;...2..snprintf(filepath,.si |
| 1eca0 | 7a 65 6f 66 20 66 69 6c 65 70 61 74 68 2c 20 22 25 73 22 2c 20 70 61 74 68 29 3b 00 00 00 10 20 | zeof.filepath,."%s",.path);..... |
| 1ecc0 | 20 64 69 72 74 79 20 3d 20 66 61 6c 73 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 39 73 74 61 74 | .dirty.=.false;....}.......9stat |
| 1ece0 | 69 63 20 76 6f 69 64 20 66 69 72 65 5f 69 74 65 6d 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 2c | ic.void.fire_item(struct.app.*a, |
| 1ed00 | 20 4d 65 6e 75 49 64 20 6d 2c 20 69 6e 74 20 69 64 78 29 20 7b 00 00 00 1b 20 20 61 2d 3e 6f 70 | .MenuId.m,.int.idx).{......a->op |
| 1ed20 | 65 6e 5f 6d 65 6e 75 20 3d 20 4d 45 4e 55 5f 4e 4f 4e 45 3b 00 00 00 17 20 20 61 2d 3e 68 6f 76 | en_menu.=.MENU_NONE;......a->hov |
| 1ed40 | 65 72 65 64 5f 69 74 65 6d 20 3d 20 2d 31 3b 00 00 00 17 20 20 69 66 20 28 6d 20 3d 3d 20 4d 45 | ered_item.=.-1;......if.(m.==.ME |
| 1ed60 | 4e 55 5f 46 49 4c 45 29 20 7b 00 00 00 12 20 20 20 20 73 77 69 74 63 68 20 28 69 64 78 29 20 7b | NU_FILE).{........switch.(idx).{ |
| 1ed80 | 00 00 00 0b 20 20 20 20 63 61 73 65 20 30 3a 00 00 00 10 20 20 20 20 20 20 64 6f 5f 6e 65 77 28 | ........case.0:..........do_new( |
| 1eda0 | 61 29 3b 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 0b 20 20 20 20 63 61 73 65 20 | a);..........break;........case. |
| 1edc0 | 31 3a 00 00 00 11 20 20 20 20 20 20 64 6f 5f 6f 70 65 6e 28 61 29 3b 00 00 00 0c 20 20 20 20 20 | 1:..........do_open(a);......... |
| 1ede0 | 20 62 72 65 61 6b 3b 00 00 00 0b 20 20 20 20 63 61 73 65 20 32 3a 00 00 00 11 20 20 20 20 20 20 | .break;........case.2:.......... |
| 1ee00 | 64 6f 5f 73 61 76 65 28 61 29 3b 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 0d 20 | do_save(a);..........break;..... |
| 1ee20 | 20 20 20 63 61 73 65 20 33 3a 20 7b 00 00 00 25 20 20 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 | ...case.3:.{...%......const.char |
| 1ee40 | 20 2a 68 20 3d 20 67 65 74 65 6e 76 28 22 48 4f 4d 45 22 29 3b 00 00 00 4d 20 20 20 20 20 20 73 | .*h.=.getenv("HOME");...M......s |
| 1ee60 | 6e 70 72 69 6e 74 66 28 66 69 6c 65 70 61 74 68 2c 20 73 69 7a 65 6f 66 20 66 69 6c 65 70 61 74 | nprintf(filepath,.sizeof.filepat |
| 1ee80 | 68 2c 20 22 25 73 2f 75 6e 74 69 74 6c 65 64 2e 74 78 74 22 2c 20 68 20 3f 20 68 20 3a 20 22 2f | h,."%s/untitled.txt",.h.?.h.:."/ |
| 1eea0 | 74 6d 70 22 29 3b 00 00 00 11 20 20 20 20 20 20 64 6f 5f 73 61 76 65 28 61 29 3b 00 00 00 0c 20 | tmp");..........do_save(a);..... |
| 1eec0 | 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 05 20 20 20 20 7d 00 00 00 0b 20 20 20 20 63 61 73 65 | .....break;........}........case |
| 1eee0 | 20 34 3a 00 00 00 11 20 20 20 20 20 20 64 6f 5f 73 61 76 65 28 61 29 3b 00 00 00 0e 20 20 20 20 | .4:..........do_save(a);........ |
| 1ef00 | 20 20 65 78 69 74 28 30 29 3b 00 00 00 0b 20 20 20 20 63 61 73 65 20 35 3a 00 00 00 0e 20 20 20 | ..exit(0);........case.5:....... |
| 1ef20 | 20 20 20 65 78 69 74 28 30 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 1e 20 20 7d 20 65 6c 73 65 | ...exit(0);........}......}.else |
| 1ef40 | 20 69 66 20 28 6d 20 3d 3d 20 4d 45 4e 55 5f 49 4e 46 4f 29 20 7b 00 00 00 11 20 20 20 20 69 66 | .if.(m.==.MENU_INFO).{........if |
| 1ef60 | 20 28 69 64 78 20 3d 3d 20 30 29 00 00 00 14 20 20 20 20 20 20 6f 70 65 6e 5f 61 62 6f 75 74 28 | .(idx.==.0)..........open_about( |
| 1ef80 | 61 29 3b 00 00 00 03 20 20 7d 00 00 00 0c 20 20 72 65 64 72 61 77 28 61 29 3b 00 00 00 01 7d 00 | a);......}......redraw(a);....}. |
| 1efa0 | 00 00 00 00 00 00 25 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 62 61 72 28 73 74 72 75 | ......%static.void.draw_bar(stru |
| 1efc0 | 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 17 20 20 76 6f 69 64 20 2a 70 78 20 3d 20 61 2d 3e | ct.app.*a).{......void.*px.=.a-> |
| 1efe0 | 70 69 78 65 6c 73 3b 00 00 00 1b 20 20 69 6e 74 20 70 77 20 3d 20 61 2d 3e 77 2c 20 70 68 20 3d | pixels;......int.pw.=.a->w,.ph.= |
| 1f000 | 20 61 2d 3e 68 3b 00 00 00 14 20 20 69 6e 74 20 62 79 20 3d 20 62 61 72 5f 79 28 61 29 3b 00 00 | .a->h;......int.by.=.bar_y(a);.. |
| 1f020 | 00 2e 20 20 66 72 65 63 74 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 30 2c 20 62 79 2c 20 70 77 2c | ....frect(px,.pw,.ph,.0,.by,.pw, |
| 1f040 | 20 42 41 52 5f 48 2c 20 42 41 52 5f 42 47 29 3b 00 00 00 2d 20 20 66 72 65 63 74 28 70 78 2c 20 | .BAR_H,.BAR_BG);...-..frect(px,. |
| 1f060 | 70 77 2c 20 70 68 2c 20 30 2c 20 62 79 2c 20 70 77 2c 20 31 2c 20 53 45 50 5f 43 4f 4c 4f 52 29 | pw,.ph,.0,.by,.pw,.1,.SEP_COLOR) |
| 1f080 | 3b 00 00 00 28 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6c 62 6c 73 5b 5d 20 3d 20 7b 22 46 69 | ;...(..const.char.*lbls[].=.{"Fi |
| 1f0a0 | 6c 65 22 2c 20 22 49 6e 66 6f 22 7d 3b 00 00 00 1f 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 | le",."Info"};......for.(int.i.=. |
| 1f0c0 | 30 3b 20 69 20 3c 20 32 3b 20 69 2b 2b 29 20 7b 00 00 00 25 20 20 20 20 69 6e 74 20 62 78 20 3d | 0;.i.<.2;.i++).{...%....int.bx.= |
| 1f0e0 | 20 62 74 6e 5f 78 28 69 29 2c 20 62 77 20 3d 20 62 74 6e 5f 77 28 69 29 3b 00 00 00 4c 20 20 20 | .btn_x(i),.bw.=.btn_w(i);...L... |
| 1f100 | 20 62 6f 6f 6c 20 68 6f 76 20 3d 20 61 2d 3e 6d 6f 75 73 65 5f 79 20 3e 3d 20 62 79 20 26 26 20 | .bool.hov.=.a->mouse_y.>=.by.&&. |
| 1f120 | 61 2d 3e 6d 6f 75 73 65 5f 78 20 3e 3d 20 62 78 20 26 26 20 61 2d 3e 6d 6f 75 73 65 5f 78 20 3c | a->mouse_x.>=.bx.&&.a->mouse_x.< |
| 1f140 | 20 62 78 20 2b 20 62 77 3b 00 00 00 29 20 20 20 20 69 66 20 28 68 6f 76 20 7c 7c 20 61 2d 3e 6f | .bx.+.bw;...)....if.(hov.||.a->o |
| 1f160 | 70 65 6e 5f 6d 65 6e 75 20 3d 3d 20 28 4d 65 6e 75 49 64 29 69 29 00 00 00 3c 20 20 20 20 20 20 | pen_menu.==.(MenuId)i)...<...... |
| 1f180 | 66 72 65 63 74 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 62 78 2c 20 62 79 20 2b 20 31 2c 20 62 77 | frect(px,.pw,.ph,.bx,.by.+.1,.bw |
| 1f1a0 | 2c 20 42 41 52 5f 48 20 2d 20 31 2c 20 42 54 4e 5f 48 4f 56 29 3b 00 00 00 4f 20 20 20 20 64 73 | ,.BAR_H.-.1,.BTN_HOV);...O....ds |
| 1f1c0 | 74 72 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 62 78 20 2b 20 42 54 4e 5f 50 41 44 2c 20 62 79 20 | tr(px,.pw,.ph,.bx.+.BTN_PAD,.by. |
| 1f1e0 | 2b 20 28 42 41 52 5f 48 20 2d 20 63 65 6c 6c 5f 68 29 20 2f 20 32 2c 20 6c 62 6c 73 5b 69 5d 2c | +.(BAR_H.-.cell_h)./.2,.lbls[i], |
| 1f200 | 20 42 41 52 5f 46 47 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 30 73 74 61 | .BAR_FG);......}....}.......0sta |
| 1f220 | 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 64 72 6f 70 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 | tic.void.draw_drop(struct.app.*a |
| 1f240 | 2c 20 4d 65 6e 75 49 64 20 6d 29 20 7b 00 00 00 17 20 20 76 6f 69 64 20 2a 70 78 20 3d 20 61 2d | ,.MenuId.m).{......void.*px.=.a- |
| 1f260 | 3e 70 69 78 65 6c 73 3b 00 00 00 1b 20 20 69 6e 74 20 70 77 20 3d 20 61 2d 3e 77 2c 20 70 68 20 | >pixels;......int.pw.=.a->w,.ph. |
| 1f280 | 3d 20 61 2d 3e 68 3b 00 00 00 3a 20 20 69 6e 74 20 62 79 20 3d 20 62 61 72 5f 79 28 61 29 2c 20 | =.a->h;...:..int.by.=.bar_y(a),. |
| 1f2a0 | 64 77 20 3d 20 64 72 6f 70 5f 77 28 6d 29 2c 20 64 68 20 3d 20 64 72 6f 70 5f 74 6f 74 61 6c 5f | dw.=.drop_w(m),.dh.=.drop_total_ |
| 1f2c0 | 68 28 6d 29 3b 00 00 00 27 20 20 69 6e 74 20 64 78 20 3d 20 62 74 6e 5f 78 28 28 69 6e 74 29 6d | h(m);...'..int.dx.=.btn_x((int)m |
| 1f2e0 | 29 2c 20 64 79 20 3d 20 62 79 20 2d 20 64 68 3b 00 00 00 2d 20 20 69 6e 74 20 6e 20 3d 20 28 6d | ),.dy.=.by.-.dh;...-..int.n.=.(m |
| 1f300 | 20 3d 3d 20 4d 45 4e 55 5f 46 49 4c 45 29 20 3f 20 4e 5f 46 49 4c 45 20 3a 20 4e 5f 49 4e 46 4f | .==.MENU_FILE).?.N_FILE.:.N_INFO |
| 1f320 | 3b 00 00 00 45 20 20 63 6f 6e 73 74 20 4d 65 6e 75 49 74 65 6d 20 2a 69 74 65 6d 73 20 3d 20 28 | ;...E..const.MenuItem.*items.=.( |
| 1f340 | 6d 20 3d 3d 20 4d 45 4e 55 5f 46 49 4c 45 29 20 3f 20 66 69 6c 65 5f 69 74 65 6d 73 20 3a 20 69 | m.==.MENU_FILE).?.file_items.:.i |
| 1f360 | 6e 66 6f 5f 69 74 65 6d 73 3b 00 00 00 00 00 00 00 2d 20 20 66 72 65 63 74 28 70 78 2c 20 70 77 | nfo_items;.......-..frect(px,.pw |
| 1f380 | 2c 20 70 68 2c 20 64 78 2c 20 64 79 2c 20 64 77 2c 20 64 68 2c 20 44 52 4f 50 5f 42 47 29 3b 00 | ,.ph,.dx,.dy,.dw,.dh,.DROP_BG);. |
| 1f3a0 | 00 00 2e 20 20 66 72 65 63 74 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 64 78 2c 20 64 79 2c 20 64 | .....frect(px,.pw,.ph,.dx,.dy,.d |
| 1f3c0 | 77 2c 20 31 2c 20 53 45 50 5f 43 4f 4c 4f 52 29 3b 00 00 00 2e 20 20 66 72 65 63 74 28 70 78 2c | w,.1,.SEP_COLOR);......frect(px, |
| 1f3e0 | 20 70 77 2c 20 70 68 2c 20 64 78 2c 20 64 79 2c 20 31 2c 20 64 68 2c 20 53 45 50 5f 43 4f 4c 4f | .pw,.ph,.dx,.dy,.1,.dh,.SEP_COLO |
| 1f400 | 52 29 3b 00 00 00 37 20 20 66 72 65 63 74 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 64 78 20 2b 20 | R);...7..frect(px,.pw,.ph,.dx.+. |
| 1f420 | 64 77 20 2d 20 31 2c 20 64 79 2c 20 31 2c 20 64 68 2c 20 53 45 50 5f 43 4f 4c 4f 52 29 3b 00 00 | dw.-.1,.dy,.1,.dh,.SEP_COLOR);.. |
| 1f440 | 00 37 20 20 66 72 65 63 74 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 64 78 2c 20 64 79 20 2b 20 64 | .7..frect(px,.pw,.ph,.dx,.dy.+.d |
| 1f460 | 68 20 2d 20 31 2c 20 64 77 2c 20 31 2c 20 53 45 50 5f 43 4f 4c 4f 52 29 3b 00 00 00 00 00 00 00 | h.-.1,.dw,.1,.SEP_COLOR);....... |
| 1f480 | 12 20 20 69 6e 74 20 69 79 20 3d 20 64 79 20 2b 20 34 3b 00 00 00 1f 20 20 66 6f 72 20 28 69 6e | ...int.iy.=.dy.+.4;......for.(in |
| 1f4a0 | 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 6e 3b 20 69 2b 2b 29 20 7b 00 00 00 26 20 20 20 20 62 6f | t.i.=.0;.i.<.n;.i++).{...&....bo |
| 1f4c0 | 6f 6c 20 68 6f 76 20 3d 20 28 61 2d 3e 68 6f 76 65 72 65 64 5f 69 74 65 6d 20 3d 3d 20 69 29 3b | ol.hov.=.(a->hovered_item.==.i); |
| 1f4e0 | 00 00 00 0c 20 20 20 20 69 66 20 28 68 6f 76 29 00 00 00 3d 20 20 20 20 20 20 66 72 65 63 74 28 | ........if.(hov)...=......frect( |
| 1f500 | 70 78 2c 20 70 77 2c 20 70 68 2c 20 64 78 20 2b 20 31 2c 20 69 79 2c 20 64 77 20 2d 20 32 2c 20 | px,.pw,.ph,.dx.+.1,.iy,.dw.-.2,. |
| 1f520 | 64 69 68 28 29 2c 20 44 52 4f 50 5f 48 4f 56 29 3b 00 00 00 4d 20 20 20 20 64 73 74 72 28 70 78 | dih(),.DROP_HOV);...M....dstr(px |
| 1f540 | 2c 20 70 77 2c 20 70 68 2c 20 64 78 20 2b 20 42 54 4e 5f 50 41 44 2c 20 69 79 20 2b 20 28 64 69 | ,.pw,.ph,.dx.+.BTN_PAD,.iy.+.(di |
| 1f560 | 68 28 29 20 2d 20 63 65 6c 6c 5f 68 29 20 2f 20 32 2c 20 69 74 65 6d 73 5b 69 5d 2e 6c 61 62 65 | h().-.cell_h)./.2,.items[i].labe |
| 1f580 | 6c 2c 00 00 00 3a 20 20 20 20 20 20 20 20 20 68 6f 76 20 3f 20 28 75 69 6e 74 33 32 5f 74 29 44 | l,...:.........hov.?.(uint32_t)D |
| 1f5a0 | 52 4f 50 5f 48 4f 56 5f 46 47 20 3a 20 28 75 69 6e 74 33 32 5f 74 29 44 52 4f 50 5f 46 47 29 3b | ROP_HOV_FG.:.(uint32_t)DROP_FG); |
| 1f5c0 | 00 00 00 10 20 20 20 20 69 79 20 2b 3d 20 64 69 68 28 29 3b 00 00 00 1d 20 20 20 20 69 66 20 28 | ........iy.+=.dih();........if.( |
| 1f5e0 | 69 74 65 6d 73 5b 69 5d 2e 73 65 70 5f 61 66 74 65 72 29 20 7b 00 00 00 3a 20 20 20 20 20 20 66 | items[i].sep_after).{...:......f |
| 1f600 | 72 65 63 74 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 64 78 20 2b 20 34 2c 20 69 79 2c 20 64 77 20 | rect(px,.pw,.ph,.dx.+.4,.iy,.dw. |
| 1f620 | 2d 20 38 2c 20 31 2c 20 53 45 50 5f 43 4f 4c 4f 52 29 3b 00 00 00 0e 20 20 20 20 20 20 69 79 20 | -.8,.1,.SEP_COLOR);..........iy. |
| 1f640 | 2b 3d 20 34 3b 00 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 | +=.4;........}......}....}...... |
| 1f660 | 00 23 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 64 72 61 77 28 73 74 72 75 63 74 20 61 70 70 20 | .#static.void.redraw(struct.app. |
| 1f680 | 2a 61 29 20 7b 00 00 00 17 20 20 76 6f 69 64 20 2a 70 78 20 3d 20 61 2d 3e 70 69 78 65 6c 73 3b | *a).{......void.*px.=.a->pixels; |
| 1f6a0 | 00 00 00 1b 20 20 69 6e 74 20 70 77 20 3d 20 61 2d 3e 77 2c 20 70 68 20 3d 20 61 2d 3e 68 3b 00 | ......int.pw.=.a->w,.ph.=.a->h;. |
| 1f6c0 | 00 00 16 20 20 69 6e 74 20 74 61 68 20 3d 20 74 65 78 74 5f 68 28 61 29 3b 00 00 00 23 20 20 66 | .....int.tah.=.text_h(a);...#..f |
| 1f6e0 | 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 70 77 20 2a 20 70 68 3b 20 69 2b 2b 29 | or.(int.i.=.0;.i.<.pw.*.ph;.i++) |
| 1f700 | 00 00 00 23 20 20 20 20 28 28 75 69 6e 74 33 32 5f 74 20 2a 29 70 78 29 5b 69 5d 20 3d 20 42 47 | ...#....((uint32_t.*)px)[i].=.BG |
| 1f720 | 5f 43 4f 4c 4f 52 3b 00 00 00 00 00 00 00 1f 20 20 69 6e 74 20 73 65 6c 5f 6c 6f 20 3d 20 2d 31 | _COLOR;..........int.sel_lo.=.-1 |
| 1f740 | 2c 20 73 65 6c 5f 68 69 20 3d 20 2d 31 3b 00 00 00 18 20 20 69 66 20 28 73 65 6c 5f 61 6e 63 68 | ,.sel_hi.=.-1;......if.(sel_anch |
| 1f760 | 6f 72 20 3e 3d 20 30 29 20 7b 00 00 00 37 20 20 20 20 73 65 6c 5f 6c 6f 20 3d 20 73 65 6c 5f 61 | or.>=.0).{...7....sel_lo.=.sel_a |
| 1f780 | 6e 63 68 6f 72 20 3c 20 63 75 72 73 6f 72 20 3f 20 73 65 6c 5f 61 6e 63 68 6f 72 20 3a 20 63 75 | nchor.<.cursor.?.sel_anchor.:.cu |
| 1f7a0 | 72 73 6f 72 3b 00 00 00 37 20 20 20 20 73 65 6c 5f 68 69 20 3d 20 73 65 6c 5f 61 6e 63 68 6f 72 | rsor;...7....sel_hi.=.sel_anchor |
| 1f7c0 | 20 3c 20 63 75 72 73 6f 72 20 3f 20 63 75 72 73 6f 72 20 3a 20 73 65 6c 5f 61 6e 63 68 6f 72 3b | .<.cursor.?.cursor.:.sel_anchor; |
| 1f7e0 | 00 00 00 03 20 20 7d 00 00 00 17 20 20 69 6e 74 20 63 6f 6c 20 3d 20 30 2c 20 72 6f 77 20 3d 20 | ......}......int.col.=.0,.row.=. |
| 1f800 | 30 3b 00 00 00 23 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 3d 20 74 6c 65 | 0;...#..for.(int.i.=.0;.i.<=.tle |
| 1f820 | 6e 3b 20 69 2b 2b 29 20 7b 00 00 00 37 20 20 20 20 69 6e 74 20 78 20 3d 20 50 41 44 20 2b 20 63 | n;.i++).{...7....int.x.=.PAD.+.c |
| 1f840 | 6f 6c 20 2a 20 63 65 6c 6c 5f 77 2c 20 79 20 3d 20 50 41 44 20 2b 20 72 6f 77 20 2a 20 63 65 6c | ol.*.cell_w,.y.=.PAD.+.row.*.cel |
| 1f860 | 6c 5f 68 3b 00 00 00 19 20 20 20 20 69 66 20 28 79 20 2b 20 63 65 6c 6c 5f 68 20 3e 20 74 61 68 | l_h;........if.(y.+.cell_h.>.tah |
| 1f880 | 29 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 3a 20 20 20 20 62 6f 6f 6c 20 69 6e | )..........break;...:....bool.in |
| 1f8a0 | 73 20 3d 20 73 65 6c 5f 6c 6f 20 3e 3d 20 30 20 26 26 20 69 20 3e 3d 20 73 65 6c 5f 6c 6f 20 26 | s.=.sel_lo.>=.0.&&.i.>=.sel_lo.& |
| 1f8c0 | 26 20 69 20 3c 20 73 65 6c 5f 68 69 20 26 26 00 00 00 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 | &.i.<.sel_hi.&&................. |
| 1f8e0 | 20 20 28 69 20 3e 3d 20 74 6c 65 6e 20 7c 7c 20 74 65 78 74 5b 69 5d 20 21 3d 20 27 5c 6e 27 29 | ..(i.>=.tlen.||.text[i].!=.'\n') |
| 1f900 | 3b 00 00 00 0c 20 20 20 20 69 66 20 28 69 6e 73 29 00 00 00 39 20 20 20 20 20 20 66 72 65 63 74 | ;........if.(ins)...9......frect |
| 1f920 | 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 78 2c 20 79 2c 20 63 65 6c 6c 5f 77 2c 20 63 65 6c 6c 5f | (px,.pw,.ph,.x,.y,.cell_w,.cell_ |
| 1f940 | 68 2c 20 53 45 4c 5f 43 4f 4c 4f 52 29 3b 00 00 00 14 20 20 20 20 69 66 20 28 69 20 3d 3d 20 63 | h,.SEL_COLOR);........if.(i.==.c |
| 1f960 | 75 72 73 6f 72 29 00 00 00 34 20 20 20 20 20 20 66 72 65 63 74 28 70 78 2c 20 70 77 2c 20 70 68 | ursor)...4......frect(px,.pw,.ph |
| 1f980 | 2c 20 78 2c 20 79 2c 20 32 2c 20 63 65 6c 6c 5f 68 2c 20 43 55 52 5f 43 4f 4c 4f 52 29 3b 00 00 | ,.x,.y,.2,.cell_h,.CUR_COLOR);.. |
| 1f9a0 | 00 13 20 20 20 20 69 66 20 28 69 20 3c 20 74 6c 65 6e 29 20 7b 00 00 00 1c 20 20 20 20 20 20 69 | ......if.(i.<.tlen).{..........i |
| 1f9c0 | 66 20 28 74 65 78 74 5b 69 5d 20 3d 3d 20 27 5c 6e 27 29 20 7b 00 00 00 10 20 20 20 20 20 20 20 | f.(text[i].==.'\n').{........... |
| 1f9e0 | 20 63 6f 6c 20 3d 20 30 3b 00 00 00 0e 20 20 20 20 20 20 20 20 72 6f 77 2b 2b 3b 00 00 00 0e 20 | .col.=.0;............row++;..... |
| 1fa00 | 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 00 00 00 24 20 20 20 20 20 20 20 20 69 66 20 28 78 20 2b | .....}.else.{...$........if.(x.+ |
| 1fa20 | 20 63 65 6c 6c 5f 77 20 3e 20 70 77 20 2d 20 50 41 44 29 20 7b 00 00 00 12 20 20 20 20 20 20 20 | .cell_w.>.pw.-.PAD).{........... |
| 1fa40 | 20 20 20 63 6f 6c 20 3d 20 30 3b 00 00 00 10 20 20 20 20 20 20 20 20 20 20 72 6f 77 2b 2b 3b 00 | ...col.=.0;..............row++;. |
| 1fa60 | 00 00 12 20 20 20 20 20 20 20 20 20 20 78 20 3d 20 50 41 44 3b 00 00 00 21 20 20 20 20 20 20 20 | .............x.=.PAD;...!....... |
| 1fa80 | 20 20 20 79 20 3d 20 50 41 44 20 2b 20 72 6f 77 20 2a 20 63 65 6c 6c 5f 68 3b 00 00 00 09 20 20 | ...y.=.PAD.+.row.*.cell_h;...... |
| 1faa0 | 20 20 20 20 20 20 7d 00 00 00 1e 20 20 20 20 20 20 20 20 69 66 20 28 79 20 2b 20 63 65 6c 6c 5f | ......}............if.(y.+.cell_ |
| 1fac0 | 68 20 3c 3d 20 74 61 68 29 00 00 00 3a 20 20 20 20 20 20 20 20 20 20 64 67 6c 79 70 68 28 70 78 | h.<=.tah)...:..........dglyph(px |
| 1fae0 | 2c 20 70 77 2c 20 70 68 2c 20 78 2c 20 79 2c 20 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 29 74 | ,.pw,.ph,.x,.y,.(unsigned.char)t |
| 1fb00 | 65 78 74 5b 69 5d 2c 00 00 00 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 73 20 | ext[i],...>.................ins. |
| 1fb20 | 3f 20 28 75 69 6e 74 33 32 5f 74 29 53 45 4c 5f 46 47 20 3a 20 28 75 69 6e 74 33 32 5f 74 29 46 | ?.(uint32_t)SEL_FG.:.(uint32_t)F |
| 1fb40 | 47 5f 43 4f 4c 4f 52 29 3b 00 00 00 0e 20 20 20 20 20 20 20 20 63 6f 6c 2b 2b 3b 00 00 00 07 20 | G_COLOR);............col++;..... |
| 1fb60 | 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 0e 20 20 | .....}........}......}.......... |
| 1fb80 | 64 72 61 77 5f 62 61 72 28 61 29 3b 00 00 00 20 20 20 69 66 20 28 61 2d 3e 6f 70 65 6e 5f 6d 65 | draw_bar(a);......if.(a->open_me |
| 1fba0 | 6e 75 20 21 3d 20 4d 45 4e 55 5f 4e 4f 4e 45 29 00 00 00 1f 20 20 20 20 64 72 61 77 5f 64 72 6f | nu.!=.MENU_NONE)........draw_dro |
| 1fbc0 | 70 28 61 2c 20 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 29 3b 00 00 00 00 00 00 00 30 20 20 77 6c 5f | p(a,.a->open_menu);.......0..wl_ |
| 1fbe0 | 73 75 72 66 61 63 65 5f 64 61 6d 61 67 65 5f 62 75 66 66 65 72 28 61 2d 3e 77 73 2c 20 30 2c 20 | surface_damage_buffer(a->ws,.0,. |
| 1fc00 | 30 2c 20 70 77 2c 20 70 68 29 3b 00 00 00 29 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 | 0,.pw,.ph);...)..wl_surface_atta |
| 1fc20 | 63 68 28 61 2d 3e 77 73 2c 20 61 2d 3e 62 75 66 2c 20 30 2c 20 30 29 3b 00 00 00 1b 20 20 77 6c | ch(a->ws,.a->buf,.0,.0);......wl |
| 1fc40 | 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2d 3e 77 73 29 3b 00 00 00 01 7d 00 00 00 00 | _surface_commit(a->ws);....}.... |
| 1fc60 | 00 00 00 29 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 64 72 61 77 5f 61 62 6f 75 74 28 73 74 72 | ...)static.void.redraw_about(str |
| 1fc80 | 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 1e 20 20 73 74 72 75 63 74 20 70 6f 70 75 70 20 | uct.app.*a).{......struct.popup. |
| 1fca0 | 2a 70 20 3d 20 26 61 2d 3e 61 62 6f 75 74 3b 00 00 00 1d 20 20 69 66 20 28 21 70 2d 3e 6f 70 65 | *p.=.&a->about;......if.(!p->ope |
| 1fcc0 | 6e 20 7c 7c 20 21 70 2d 3e 70 69 78 65 6c 73 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 | n.||.!p->pixels)........return;. |
| 1fce0 | 00 00 17 20 20 76 6f 69 64 20 2a 70 78 20 3d 20 70 2d 3e 70 69 78 65 6c 73 3b 00 00 00 1b 20 20 | .....void.*px.=.p->pixels;...... |
| 1fd00 | 69 6e 74 20 70 77 20 3d 20 70 2d 3e 77 2c 20 70 68 20 3d 20 70 2d 3e 68 3b 00 00 00 23 20 20 66 | int.pw.=.p->w,.ph.=.p->h;...#..f |
| 1fd20 | 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 70 77 20 2a 20 70 68 3b 20 69 2b 2b 29 | or.(int.i.=.0;.i.<.pw.*.ph;.i++) |
| 1fd40 | 00 00 00 23 20 20 20 20 28 28 75 69 6e 74 33 32 5f 74 20 2a 29 70 78 29 5b 69 5d 20 3d 20 42 47 | ...#....((uint32_t.*)px)[i].=.BG |
| 1fd60 | 5f 43 4f 4c 4f 52 3b 00 00 00 2c 20 20 66 72 65 63 74 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 30 | _COLOR;...,..frect(px,.pw,.ph,.0 |
| 1fd80 | 2c 20 30 2c 20 70 77 2c 20 31 2c 20 53 45 50 5f 43 4f 4c 4f 52 29 3b 00 00 00 31 20 20 66 72 65 | ,.0,.pw,.1,.SEP_COLOR);...1..fre |
| 1fda0 | 63 74 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 30 2c 20 70 68 20 2d 20 31 2c 20 70 77 2c 20 31 2c | ct(px,.pw,.ph,.0,.ph.-.1,.pw,.1, |
| 1fdc0 | 20 53 45 50 5f 43 4f 4c 4f 52 29 3b 00 00 00 2c 20 20 66 72 65 63 74 28 70 78 2c 20 70 77 2c 20 | .SEP_COLOR);...,..frect(px,.pw,. |
| 1fde0 | 70 68 2c 20 30 2c 20 30 2c 20 31 2c 20 70 68 2c 20 53 45 50 5f 43 4f 4c 4f 52 29 3b 00 00 00 31 | ph,.0,.0,.1,.ph,.SEP_COLOR);...1 |
| 1fe00 | 20 20 66 72 65 63 74 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 70 77 20 2d 20 31 2c 20 30 2c 20 31 | ..frect(px,.pw,.ph,.pw.-.1,.0,.1 |
| 1fe20 | 2c 20 70 68 2c 20 53 45 50 5f 43 4f 4c 4f 52 29 3b 00 00 00 00 00 00 00 12 20 20 69 6e 74 20 79 | ,.ph,.SEP_COLOR);..........int.y |
| 1fe40 | 20 3d 20 50 41 44 20 2a 20 32 3b 00 00 00 47 20 20 64 73 74 72 28 70 78 2c 20 70 77 2c 20 70 68 | .=.PAD.*.2;...G..dstr(px,.pw,.ph |
| 1fe60 | 2c 20 50 41 44 20 2a 20 32 2c 20 79 2c 20 22 77 6c 45 44 2c 20 20 77 61 79 6c 61 6e 64 20 74 65 | ,.PAD.*.2,.y,."wlED,..wayland.te |
| 1fe80 | 78 74 20 65 64 69 74 6f 72 22 2c 20 46 47 5f 43 4f 4c 4f 52 29 3b 00 00 00 14 20 20 79 20 2b 3d | xt.editor",.FG_COLOR);......y.+= |
| 1fea0 | 20 63 65 6c 6c 5f 68 20 2b 20 50 41 44 3b 00 00 00 3c 20 20 66 72 65 63 74 28 70 78 2c 20 70 77 | .cell_h.+.PAD;...<..frect(px,.pw |
| 1fec0 | 2c 20 70 68 2c 20 50 41 44 20 2a 20 32 2c 20 79 2c 20 70 77 20 2d 20 50 41 44 20 2a 20 34 2c 20 | ,.ph,.PAD.*.2,.y,.pw.-.PAD.*.4,. |
| 1fee0 | 31 2c 20 53 45 50 5f 43 4f 4c 4f 52 29 3b 00 00 00 0b 20 20 79 20 2b 3d 20 50 41 44 3b 00 00 00 | 1,.SEP_COLOR);......y.+=.PAD;... |
| 1ff00 | 44 20 20 64 73 74 72 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 50 41 44 20 2a 20 32 2c 20 79 2c 20 | D..dstr(px,.pw,.ph,.PAD.*.2,.y,. |
| 1ff20 | 22 6c 69 63 65 6e 73 65 64 20 75 6e 64 65 72 20 47 50 4c 20 76 33 2e 30 22 2c 20 46 47 5f 43 4f | "licensed.under.GPL.v3.0",.FG_CO |
| 1ff40 | 4c 4f 52 29 3b 00 00 00 12 20 20 79 20 2b 3d 20 63 65 6c 6c 5f 68 20 2b 20 36 3b 00 00 00 4d 20 | LOR);......y.+=.cell_h.+.6;...M. |
| 1ff60 | 20 64 73 74 72 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 50 41 44 20 2a 20 32 2c 20 79 2c 20 22 63 | .dstr(px,.pw,.ph,.PAD.*.2,.y,."c |
| 1ff80 | 72 65 61 74 65 64 20 62 79 20 20 67 69 74 2e 73 72 2e 68 74 2f 7e 63 6f 61 73 74 65 65 6e 2f 22 | reated.by..git.sr.ht/~coasteen/" |
| 1ffa0 | 2c 20 46 47 5f 43 4f 4c 4f 52 29 3b 00 00 00 12 20 20 79 20 2b 3d 20 63 65 6c 6c 5f 68 20 2b 20 | ,.FG_COLOR);......y.+=.cell_h.+. |
| 1ffc0 | 36 3b 00 00 00 46 20 20 64 73 74 72 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 50 41 44 20 2a 20 32 | 6;...F..dstr(px,.pw,.ph,.PAD.*.2 |
| 1ffe0 | 2c 20 79 2c 20 22 73 6f 75 72 63 65 3a 20 20 20 20 20 67 69 74 2e 73 72 2e 68 74 2f 7e 63 6f 61 | ,.y,."source:.....git.sr.ht/~coa |
| 20000 | 73 74 65 65 6e 2f 77 6c 65 64 22 2c 00 00 00 11 20 20 20 20 20 20 20 46 47 5f 43 4f 4c 4f 52 29 | steen/wled",...........FG_COLOR) |
| 20020 | 3b 00 00 00 00 00 00 00 30 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 61 6d 61 67 65 5f 62 75 66 | ;.......0..wl_surface_damage_buf |
| 20040 | 66 65 72 28 70 2d 3e 77 73 2c 20 30 2c 20 30 2c 20 70 77 2c 20 70 68 29 3b 00 00 00 29 20 20 77 | fer(p->ws,.0,.0,.pw,.ph);...)..w |
| 20060 | 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 70 2d 3e 77 73 2c 20 70 2d 3e 62 75 66 2c 20 | l_surface_attach(p->ws,.p->buf,. |
| 20080 | 30 2c 20 30 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 70 2d | 0,.0);......wl_surface_commit(p- |
| 200a0 | 3e 77 73 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4c 73 74 61 74 69 63 20 76 6f 69 64 20 61 62 | >ws);....}.......Lstatic.void.ab |
| 200c0 | 6f 75 74 5f 78 73 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 73 | out_xs_cfg(void.*d,.struct.xdg_s |
| 200e0 | 75 72 66 61 63 65 20 2a 78 73 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 | urface.*xs,.uint32_t.serial).{.. |
| 20100 | 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 1e 20 20 73 74 72 75 | ....struct.app.*a.=.d;......stru |
| 20120 | 63 74 20 70 6f 70 75 70 20 2a 70 20 3d 20 26 61 2d 3e 61 62 6f 75 74 3b 00 00 00 28 20 20 78 64 | ct.popup.*p.=.&a->about;...(..xd |
| 20140 | 67 5f 73 75 72 66 61 63 65 5f 61 63 6b 5f 63 6f 6e 66 69 67 75 72 65 28 78 73 2c 20 73 65 72 69 | g_surface_ack_configure(xs,.seri |
| 20160 | 61 6c 29 3b 00 00 00 11 20 20 69 66 20 28 21 70 2d 3e 70 69 78 65 6c 73 29 00 00 00 42 20 20 20 | al);......if.(!p->pixels)...B... |
| 20180 | 20 70 2d 3e 70 69 78 65 6c 73 20 3d 20 6d 61 6b 65 5f 73 68 6d 28 61 2c 20 70 2d 3e 77 2c 20 70 | .p->pixels.=.make_shm(a,.p->w,.p |
| 201a0 | 2d 3e 68 2c 20 26 70 2d 3e 62 75 66 2c 20 26 70 2d 3e 70 69 78 65 6c 73 5f 73 69 7a 65 29 3b 00 | ->h,.&p->buf,.&p->pixels_size);. |
| 201c0 | 00 00 17 20 20 70 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 3d 20 74 72 75 65 3b 00 00 00 12 20 20 | .....p->configured.=.true;...... |
| 201e0 | 72 65 64 72 61 77 5f 61 62 6f 75 74 28 61 29 3b 00 00 00 01 7d 00 00 00 43 73 74 61 74 69 63 20 | redraw_about(a);....}...Cstatic. |
| 20200 | 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 | const.struct.xdg_surface_listene |
| 20220 | 72 20 61 62 6f 75 74 5f 78 73 5f 6c 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 20 3d 00 00 00 49 | r.about_xs_l.=.{.configure.=...I |
| 20240 | 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 | ................................ |
| 20260 | 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 61 62 6f 75 74 | ...........................about |
| 20280 | 5f 78 73 5f 63 66 67 7d 3b 00 00 00 00 00 00 00 50 73 74 61 74 69 63 20 76 6f 69 64 20 61 62 6f | _xs_cfg};.......Pstatic.void.abo |
| 202a0 | 75 74 5f 78 74 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f | ut_xt_cfg(void.*d,.struct.xdg_to |
| 202c0 | 70 6c 65 76 65 6c 20 2a 78 74 2c 20 69 6e 74 33 32 5f 74 20 77 2c 20 69 6e 74 33 32 5f 74 20 68 | plevel.*xt,.int32_t.w,.int32_t.h |
| 202e0 | 2c 00 00 00 2f 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 73 74 | ,.../.........................st |
| 20300 | 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 29 20 7b 7d 00 00 00 3e 73 74 61 74 69 63 20 76 | ruct.wl_array.*s).{}...>static.v |
| 20320 | 6f 69 64 20 61 62 6f 75 74 5f 78 74 5f 63 6c 6f 73 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 | oid.about_xt_close(void.*d,.stru |
| 20340 | 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 29 20 7b 00 00 00 14 20 20 73 74 72 75 | ct.xdg_toplevel.*xt).{......stru |
| 20360 | 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 1e 20 20 73 74 72 75 63 74 20 70 6f 70 75 70 | ct.app.*a.=.d;......struct.popup |
| 20380 | 20 2a 70 20 3d 20 26 61 2d 3e 61 62 6f 75 74 3b 00 00 00 0f 20 20 69 66 20 28 70 2d 3e 62 75 66 | .*p.=.&a->about;......if.(p->buf |
| 203a0 | 29 20 7b 00 00 00 1e 20 20 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 70 2d 3e | ).{........wl_buffer_destroy(p-> |
| 203c0 | 62 75 66 29 3b 00 00 00 12 20 20 20 20 70 2d 3e 62 75 66 20 3d 20 4e 55 4c 4c 3b 00 00 00 03 20 | buf);........p->buf.=.NULL;..... |
| 203e0 | 20 7d 00 00 00 12 20 20 69 66 20 28 70 2d 3e 70 69 78 65 6c 73 29 20 7b 00 00 00 26 20 20 20 20 | .}......if.(p->pixels).{...&.... |
| 20400 | 6d 75 6e 6d 61 70 28 70 2d 3e 70 69 78 65 6c 73 2c 20 70 2d 3e 70 69 78 65 6c 73 5f 73 69 7a 65 | munmap(p->pixels,.p->pixels_size |
| 20420 | 29 3b 00 00 00 15 20 20 20 20 70 2d 3e 70 69 78 65 6c 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 03 20 | );........p->pixels.=.NULL;..... |
| 20440 | 20 7d 00 00 00 0e 20 20 69 66 20 28 70 2d 3e 78 74 29 20 7b 00 00 00 20 20 20 20 20 78 64 67 5f | .}......if.(p->xt).{........xdg_ |
| 20460 | 74 6f 70 6c 65 76 65 6c 5f 64 65 73 74 72 6f 79 28 70 2d 3e 78 74 29 3b 00 00 00 11 20 20 20 20 | toplevel_destroy(p->xt);........ |
| 20480 | 70 2d 3e 78 74 20 3d 20 4e 55 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 0e 20 20 69 66 20 28 70 2d | p->xt.=.NULL;......}......if.(p- |
| 204a0 | 3e 78 73 29 20 7b 00 00 00 1f 20 20 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 64 65 73 74 72 6f | >xs).{........xdg_surface_destro |
| 204c0 | 79 28 70 2d 3e 78 73 29 3b 00 00 00 11 20 20 20 20 70 2d 3e 78 73 20 3d 20 4e 55 4c 4c 3b 00 00 | y(p->xs);........p->xs.=.NULL;.. |
| 204e0 | 00 03 20 20 7d 00 00 00 0e 20 20 69 66 20 28 70 2d 3e 77 73 29 20 7b 00 00 00 1e 20 20 20 20 77 | ....}......if.(p->ws).{........w |
| 20500 | 6c 5f 73 75 72 66 61 63 65 5f 64 65 73 74 72 6f 79 28 70 2d 3e 77 73 29 3b 00 00 00 11 20 20 20 | l_surface_destroy(p->ws);....... |
| 20520 | 20 70 2d 3e 77 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 12 20 20 70 2d 3e 6f 70 | .p->ws.=.NULL;......}......p->op |
| 20540 | 65 6e 20 3d 20 66 61 6c 73 65 3b 00 00 00 18 20 20 70 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 3d | en.=.false;......p->configured.= |
| 20560 | 20 66 61 6c 73 65 3b 00 00 00 01 7d 00 00 00 38 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 | .false;....}...8static.const.str |
| 20580 | 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 61 62 6f 75 74 5f | uct.xdg_toplevel_listener.about_ |
| 205a0 | 78 74 5f 6c 20 3d 20 7b 00 00 00 38 20 20 20 20 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 61 62 6f | xt_l.=.{...8.....configure.=.abo |
| 205c0 | 75 74 5f 78 74 5f 63 66 67 2c 20 2e 63 6c 6f 73 65 20 3d 20 61 62 6f 75 74 5f 78 74 5f 63 6c 6f | ut_xt_cfg,..close.=.about_xt_clo |
| 205e0 | 73 65 7d 3b 00 00 00 00 00 00 00 27 73 74 61 74 69 63 20 76 6f 69 64 20 6f 70 65 6e 5f 61 62 6f | se};.......'static.void.open_abo |
| 20600 | 75 74 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 1e 20 20 73 74 72 75 63 74 20 | ut(struct.app.*a).{......struct. |
| 20620 | 70 6f 70 75 70 20 2a 70 20 3d 20 26 61 2d 3e 61 62 6f 75 74 3b 00 00 00 0e 20 20 69 66 20 28 70 | popup.*p.=.&a->about;......if.(p |
| 20640 | 2d 3e 6f 70 65 6e 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 10 20 20 69 6e 74 20 | ->open)........return;......int. |
| 20660 | 6c 69 6e 65 73 20 3d 20 35 3b 00 00 00 1f 20 20 70 2d 3e 77 20 3d 20 32 32 20 2a 20 63 65 6c 6c | lines.=.5;......p->w.=.22.*.cell |
| 20680 | 5f 77 20 2b 20 50 41 44 20 2a 20 34 3b 00 00 00 31 20 20 70 2d 3e 68 20 3d 20 6c 69 6e 65 73 20 | _w.+.PAD.*.4;...1..p->h.=.lines. |
| 206a0 | 2a 20 28 63 65 6c 6c 5f 68 20 2b 20 36 29 20 2b 20 50 41 44 20 2a 20 34 20 2b 20 63 65 6c 6c 5f | *.(cell_h.+.6).+.PAD.*.4.+.cell_ |
| 206c0 | 68 3b 00 00 00 11 20 20 69 66 20 28 70 2d 3e 77 20 3c 20 33 36 30 29 00 00 00 0f 20 20 20 20 70 | h;......if.(p->w.<.360)........p |
| 206e0 | 2d 3e 77 20 3d 20 33 36 30 3b 00 00 00 11 20 20 69 66 20 28 70 2d 3e 68 20 3c 20 31 34 30 29 00 | ->w.=.360;......if.(p->h.<.140). |
| 20700 | 00 00 0f 20 20 20 20 70 2d 3e 68 20 3d 20 31 34 30 3b 00 00 00 11 20 20 70 2d 3e 6f 70 65 6e 20 | .......p->h.=.140;......p->open. |
| 20720 | 3d 20 74 72 75 65 3b 00 00 00 30 20 20 70 2d 3e 77 73 20 3d 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 | =.true;...0..p->ws.=.wl_composit |
| 20740 | 6f 72 5f 63 72 65 61 74 65 5f 73 75 72 66 61 63 65 28 61 2d 3e 63 6f 6d 70 29 3b 00 00 00 34 20 | or_create_surface(a->comp);...4. |
| 20760 | 20 70 2d 3e 78 73 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 5f 73 75 72 | .p->xs.=.xdg_wm_base_get_xdg_sur |
| 20780 | 66 61 63 65 28 61 2d 3e 77 6d 2c 20 70 2d 3e 77 73 29 3b 00 00 00 32 20 20 78 64 67 5f 73 75 72 | face(a->wm,.p->ws);...2..xdg_sur |
| 207a0 | 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 70 2d 3e 78 73 2c 20 26 61 62 6f 75 74 5f | face_add_listener(p->xs,.&about_ |
| 207c0 | 78 73 5f 6c 2c 20 61 29 3b 00 00 00 2a 20 20 70 2d 3e 78 74 20 3d 20 78 64 67 5f 73 75 72 66 61 | xs_l,.a);...*..p->xt.=.xdg_surfa |
| 207e0 | 63 65 5f 67 65 74 5f 74 6f 70 6c 65 76 65 6c 28 70 2d 3e 78 73 29 3b 00 00 00 33 20 20 78 64 67 | ce_get_toplevel(p->xs);...3..xdg |
| 20800 | 5f 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 70 2d 3e 78 74 2c 20 26 61 | _toplevel_add_listener(p->xt,.&a |
| 20820 | 62 6f 75 74 5f 78 74 5f 6c 2c 20 61 29 3b 00 00 00 2e 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c | bout_xt_l,.a);......xdg_toplevel |
| 20840 | 5f 73 65 74 5f 74 69 74 6c 65 28 70 2d 3e 78 74 2c 20 22 41 62 6f 75 74 20 77 6c 65 64 22 29 3b | _set_title(p->xt,."About.wled"); |
| 20860 | 00 00 00 2f 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 6d 69 6e 5f 73 69 7a 65 28 | .../..xdg_toplevel_set_min_size( |
| 20880 | 70 2d 3e 78 74 2c 20 70 2d 3e 77 2c 20 70 2d 3e 68 29 3b 00 00 00 2f 20 20 78 64 67 5f 74 6f 70 | p->xt,.p->w,.p->h);.../..xdg_top |
| 208a0 | 6c 65 76 65 6c 5f 73 65 74 5f 6d 61 78 5f 73 69 7a 65 28 70 2d 3e 78 74 2c 20 70 2d 3e 77 2c 20 | level_set_max_size(p->xt,.p->w,. |
| 208c0 | 70 2d 3e 68 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 70 2d | p->h);......wl_surface_commit(p- |
| 208e0 | 3e 77 73 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 50 73 74 61 74 69 63 20 69 6e 74 20 73 65 6c | >ws);....}.......Pstatic.int.sel |
| 20900 | 5f 73 74 61 72 74 28 76 6f 69 64 29 20 7b 20 72 65 74 75 72 6e 20 73 65 6c 5f 61 6e 63 68 6f 72 | _start(void).{.return.sel_anchor |
| 20920 | 20 3c 20 63 75 72 73 6f 72 20 3f 20 73 65 6c 5f 61 6e 63 68 6f 72 20 3a 20 63 75 72 73 6f 72 3b | .<.cursor.?.sel_anchor.:.cursor; |
| 20940 | 20 7d 00 00 00 1a 73 74 61 74 69 63 20 69 6e 74 20 73 65 6c 5f 6c 65 6e 28 76 6f 69 64 29 20 7b | .}....static.int.sel_len(void).{ |
| 20960 | 00 00 00 49 20 20 72 65 74 75 72 6e 20 73 65 6c 5f 61 6e 63 68 6f 72 20 3c 20 63 75 72 73 6f 72 | ...I..return.sel_anchor.<.cursor |
| 20980 | 20 3f 20 63 75 72 73 6f 72 20 2d 20 73 65 6c 5f 61 6e 63 68 6f 72 20 3a 20 73 65 6c 5f 61 6e 63 | .?.cursor.-.sel_anchor.:.sel_anc |
| 209a0 | 68 6f 72 20 2d 20 63 75 72 73 6f 72 3b 00 00 00 01 7d 00 00 00 00 00 00 00 1e 73 74 61 74 69 63 | hor.-.cursor;....}........static |
| 209c0 | 20 76 6f 69 64 20 64 65 6c 65 74 65 5f 73 65 6c 28 76 6f 69 64 29 20 7b 00 00 00 15 20 20 69 66 | .void.delete_sel(void).{......if |
| 209e0 | 20 28 73 65 6c 5f 61 6e 63 68 6f 72 20 3c 20 30 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b | .(sel_anchor.<.0)........return; |
| 20a00 | 00 00 00 28 20 20 69 6e 74 20 6c 6f 20 3d 20 73 65 6c 5f 73 74 61 72 74 28 29 2c 20 6c 65 6e 20 | ...(..int.lo.=.sel_start(),.len. |
| 20a20 | 3d 20 73 65 6c 5f 6c 65 6e 28 29 3b 00 00 00 37 20 20 6d 65 6d 6d 6f 76 65 28 74 65 78 74 20 2b | =.sel_len();...7..memmove(text.+ |
| 20a40 | 20 6c 6f 2c 20 74 65 78 74 20 2b 20 6c 6f 20 2b 20 6c 65 6e 2c 20 74 6c 65 6e 20 2d 20 6c 6f 20 | .lo,.text.+.lo.+.len,.tlen.-.lo. |
| 20a60 | 2d 20 6c 65 6e 29 3b 00 00 00 0e 20 20 74 6c 65 6e 20 2d 3d 20 6c 65 6e 3b 00 00 00 14 20 20 74 | -.len);......tlen.-=.len;......t |
| 20a80 | 65 78 74 5b 74 6c 65 6e 5d 20 3d 20 27 5c 30 27 3b 00 00 00 0e 20 20 63 75 72 73 6f 72 20 3d 20 | ext[tlen].=.'\0';......cursor.=. |
| 20aa0 | 6c 6f 3b 00 00 00 12 20 20 73 65 6c 5f 61 6e 63 68 6f 72 20 3d 20 2d 31 3b 00 00 00 01 7d 00 00 | lo;......sel_anchor.=.-1;....}.. |
| 20ac0 | 00 00 00 00 00 29 73 74 61 74 69 63 20 76 6f 69 64 20 69 6e 73 28 63 6f 6e 73 74 20 63 68 61 72 | .....)static.void.ins(const.char |
| 20ae0 | 20 2a 73 2c 20 69 6e 74 20 6c 65 6e 29 20 7b 00 00 00 1d 20 20 69 66 20 28 74 6c 65 6e 20 2b 20 | .*s,.int.len).{......if.(tlen.+. |
| 20b00 | 6c 65 6e 20 3e 3d 20 4d 41 58 5f 54 45 58 54 29 00 00 00 1e 20 20 20 20 6c 65 6e 20 3d 20 4d 41 | len.>=.MAX_TEXT)........len.=.MA |
| 20b20 | 58 5f 54 45 58 54 20 2d 20 74 6c 65 6e 20 2d 20 31 3b 00 00 00 3d 20 20 6d 65 6d 6d 6f 76 65 28 | X_TEXT.-.tlen.-.1;...=..memmove( |
| 20b40 | 74 65 78 74 20 2b 20 63 75 72 73 6f 72 20 2b 20 6c 65 6e 2c 20 74 65 78 74 20 2b 20 63 75 72 73 | text.+.cursor.+.len,.text.+.curs |
| 20b60 | 6f 72 2c 20 74 6c 65 6e 20 2d 20 63 75 72 73 6f 72 29 3b 00 00 00 20 20 20 6d 65 6d 63 70 79 28 | or,.tlen.-.cursor);......memcpy( |
| 20b80 | 74 65 78 74 20 2b 20 63 75 72 73 6f 72 2c 20 73 2c 20 6c 65 6e 29 3b 00 00 00 0e 20 20 74 6c 65 | text.+.cursor,.s,.len);......tle |
| 20ba0 | 6e 20 2b 3d 20 6c 65 6e 3b 00 00 00 14 20 20 74 65 78 74 5b 74 6c 65 6e 5d 20 3d 20 27 5c 30 27 | n.+=.len;......text[tlen].=.'\0' |
| 20bc0 | 3b 00 00 00 10 20 20 63 75 72 73 6f 72 20 2b 3d 20 6c 65 6e 3b 00 00 00 0f 20 20 64 69 72 74 79 | ;......cursor.+=.len;......dirty |
| 20be0 | 20 3d 20 74 72 75 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 25 73 74 61 74 69 63 20 76 6f 69 64 | .=.true;....}.......%static.void |
| 20c00 | 20 63 6f 70 79 5f 73 65 6c 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 15 20 20 | .copy_sel(struct.app.*a).{...... |
| 20c20 | 69 66 20 28 73 65 6c 5f 61 6e 63 68 6f 72 20 3c 20 30 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 | if.(sel_anchor.<.0)........retur |
| 20c40 | 6e 3b 00 00 00 28 20 20 69 6e 74 20 6c 6f 20 3d 20 73 65 6c 5f 73 74 61 72 74 28 29 2c 20 6c 65 | n;...(..int.lo.=.sel_start(),.le |
| 20c60 | 6e 20 3d 20 73 65 6c 5f 6c 65 6e 28 29 3b 00 00 00 2a 20 20 69 66 20 28 6c 65 6e 20 3e 20 28 69 | n.=.sel_len();...*..if.(len.>.(i |
| 20c80 | 6e 74 29 73 69 7a 65 6f 66 28 61 2d 3e 63 6c 69 70 62 6f 61 72 64 29 20 2d 20 31 29 00 00 00 23 | nt)sizeof(a->clipboard).-.1)...# |
| 20ca0 | 20 20 20 20 6c 65 6e 20 3d 20 73 69 7a 65 6f 66 28 61 2d 3e 63 6c 69 70 62 6f 61 72 64 29 20 2d | ....len.=.sizeof(a->clipboard).- |
| 20cc0 | 20 31 3b 00 00 00 27 20 20 6d 65 6d 63 70 79 28 61 2d 3e 63 6c 69 70 62 6f 61 72 64 2c 20 74 65 | .1;...'..memcpy(a->clipboard,.te |
| 20ce0 | 78 74 20 2b 20 6c 6f 2c 20 6c 65 6e 29 3b 00 00 00 1b 20 20 61 2d 3e 63 6c 69 70 62 6f 61 72 64 | xt.+.lo,.len);......a->clipboard |
| 20d00 | 5b 6c 65 6e 5d 20 3d 20 27 5c 30 27 3b 00 00 00 19 20 20 61 2d 3e 63 6c 69 70 62 6f 61 72 64 5f | [len].=.'\0';......a->clipboard_ |
| 20d20 | 6c 65 6e 20 3d 20 6c 65 6e 3b 00 00 00 0e 20 20 69 66 20 28 61 2d 3e 64 73 29 20 7b 00 00 00 22 | len.=.len;......if.(a->ds).{..." |
| 20d40 | 20 20 20 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 5f 64 65 73 74 72 6f 79 28 61 2d 3e 64 73 | ....wl_data_source_destroy(a->ds |
| 20d60 | 29 3b 00 00 00 11 20 20 20 20 61 2d 3e 64 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 03 20 20 7d 00 00 | );........a->ds.=.NULL;......}.. |
| 20d80 | 00 18 20 20 69 66 20 28 21 61 2d 3e 64 64 6d 20 7c 7c 20 21 61 2d 3e 64 64 29 00 00 00 0b 20 20 | ....if.(!a->ddm.||.!a->dd)...... |
| 20da0 | 20 20 72 65 74 75 72 6e 3b 00 00 00 3c 20 20 61 2d 3e 64 73 20 3d 20 77 6c 5f 64 61 74 61 5f 64 | ..return;...<..a->ds.=.wl_data_d |
| 20dc0 | 65 76 69 63 65 5f 6d 61 6e 61 67 65 72 5f 63 72 65 61 74 65 5f 64 61 74 61 5f 73 6f 75 72 63 65 | evice_manager_create_data_source |
| 20de0 | 28 61 2d 3e 64 64 6d 29 3b 00 00 00 3a 20 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 5f 6f 66 | (a->ddm);...:..wl_data_source_of |
| 20e00 | 66 65 72 28 61 2d 3e 64 73 2c 20 22 74 65 78 74 2f 70 6c 61 69 6e 3b 63 68 61 72 73 65 74 3d 75 | fer(a->ds,."text/plain;charset=u |
| 20e20 | 74 66 2d 38 22 29 3b 00 00 00 2c 20 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 5f 6f 66 66 65 | tf-8");...,..wl_data_source_offe |
| 20e40 | 72 28 61 2d 3e 64 73 2c 20 22 74 65 78 74 2f 70 6c 61 69 6e 22 29 3b 00 00 00 2d 20 20 77 6c 5f | r(a->ds,."text/plain");...-..wl_ |
| 20e60 | 64 61 74 61 5f 73 6f 75 72 63 65 5f 6f 66 66 65 72 28 61 2d 3e 64 73 2c 20 22 55 54 46 38 5f 53 | data_source_offer(a->ds,."UTF8_S |
| 20e80 | 54 52 49 4e 47 22 29 3b 00 00 00 28 20 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 5f 6f 66 66 | TRING");...(..wl_data_source_off |
| 20ea0 | 65 72 28 61 2d 3e 64 73 2c 20 22 53 54 52 49 4e 47 22 29 3b 00 00 00 3d 20 20 77 6c 5f 64 61 74 | er(a->ds,."STRING");...=..wl_dat |
| 20ec0 | 61 5f 64 65 76 69 63 65 5f 73 65 74 5f 73 65 6c 65 63 74 69 6f 6e 28 61 2d 3e 64 64 2c 20 61 2d | a_device_set_selection(a->dd,.a- |
| 20ee0 | 3e 64 73 2c 20 61 2d 3e 6c 61 73 74 5f 73 65 72 69 61 6c 29 3b 00 00 00 01 7d 00 00 00 00 00 00 | >ds,.a->last_serial);....}...... |
| 20f00 | 00 36 73 74 61 74 69 63 20 76 6f 69 64 20 70 72 6f 63 65 73 73 5f 6b 65 79 28 73 74 72 75 63 74 | .6static.void.process_key(struct |
| 20f20 | 20 61 70 70 20 2a 61 2c 20 75 69 6e 74 33 32 5f 74 20 6b 65 79 29 20 7b 00 00 00 14 20 20 69 66 | .app.*a,.uint32_t.key).{......if |
| 20f40 | 20 28 21 61 2d 3e 78 6b 62 5f 73 74 61 74 65 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 | .(!a->xkb_state)........return;. |
| 20f60 | 00 00 1d 20 20 78 6b 62 5f 6b 65 79 63 6f 64 65 5f 74 20 6b 63 20 3d 20 6b 65 79 20 2b 20 38 3b | .....xkb_keycode_t.kc.=.key.+.8; |
| 20f80 | 00 00 00 41 20 20 78 6b 62 5f 6b 65 79 73 79 6d 5f 74 20 73 79 6d 20 3d 20 78 6b 62 5f 73 74 61 | ...A..xkb_keysym_t.sym.=.xkb_sta |
| 20fa0 | 74 65 5f 6b 65 79 5f 67 65 74 5f 6f 6e 65 5f 73 79 6d 28 61 2d 3e 78 6b 62 5f 73 74 61 74 65 2c | te_key_get_one_sym(a->xkb_state, |
| 20fc0 | 20 6b 63 29 3b 00 00 00 4a 20 20 69 6e 74 20 63 74 72 6c 20 3d 20 78 6b 62 5f 73 74 61 74 65 5f | .kc);...J..int.ctrl.=.xkb_state_ |
| 20fe0 | 6d 6f 64 5f 6e 61 6d 65 5f 69 73 5f 61 63 74 69 76 65 28 61 2d 3e 78 6b 62 5f 73 74 61 74 65 2c | mod_name_is_active(a->xkb_state, |
| 21000 | 20 58 4b 42 5f 4d 4f 44 5f 4e 41 4d 45 5f 43 54 52 4c 2c 00 00 00 44 20 20 20 20 20 20 20 20 20 | .XKB_MOD_NAME_CTRL,...D......... |
| 21020 | 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 | ................................ |
| 21040 | 20 58 4b 42 5f 53 54 41 54 45 5f 4d 4f 44 53 5f 45 46 46 45 43 54 49 56 45 29 3b 00 00 00 4c 20 | .XKB_STATE_MODS_EFFECTIVE);...L. |
| 21060 | 20 69 6e 74 20 73 68 69 66 74 20 3d 20 78 6b 62 5f 73 74 61 74 65 5f 6d 6f 64 5f 6e 61 6d 65 5f | .int.shift.=.xkb_state_mod_name_ |
| 21080 | 69 73 5f 61 63 74 69 76 65 28 61 2d 3e 78 6b 62 5f 73 74 61 74 65 2c 20 58 4b 42 5f 4d 4f 44 5f | is_active(a->xkb_state,.XKB_MOD_ |
| 210a0 | 4e 41 4d 45 5f 53 48 49 46 54 2c 00 00 00 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | NAME_SHIFT,...E................. |
| 210c0 | 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 58 4b 42 5f 53 54 | ..........................XKB_ST |
| 210e0 | 41 54 45 5f 4d 4f 44 53 5f 45 46 46 45 43 54 49 56 45 29 3b 00 00 00 49 20 20 78 6b 62 5f 6c 61 | ATE_MODS_EFFECTIVE);...I..xkb_la |
| 21100 | 79 6f 75 74 5f 69 6e 64 65 78 5f 74 20 6c 61 79 6f 75 74 20 3d 20 78 6b 62 5f 73 74 61 74 65 5f | yout_index_t.layout.=.xkb_state_ |
| 21120 | 6b 65 79 5f 67 65 74 5f 6c 61 79 6f 75 74 28 61 2d 3e 78 6b 62 5f 73 74 61 74 65 2c 20 6b 63 29 | key_get_layout(a->xkb_state,.kc) |
| 21140 | 3b 00 00 00 19 20 20 63 6f 6e 73 74 20 78 6b 62 5f 6b 65 79 73 79 6d 5f 74 20 2a 62 73 3b 00 00 | ;......const.xkb_keysym_t.*bs;.. |
| 21160 | 00 4e 20 20 69 6e 74 20 6e 20 3d 20 78 6b 62 5f 6b 65 79 6d 61 70 5f 6b 65 79 5f 67 65 74 5f 73 | .N..int.n.=.xkb_keymap_key_get_s |
| 21180 | 79 6d 73 5f 62 79 5f 6c 65 76 65 6c 28 61 2d 3e 78 6b 62 5f 6b 65 79 6d 61 70 2c 20 6b 63 2c 20 | yms_by_level(a->xkb_keymap,.kc,. |
| 211a0 | 6c 61 79 6f 75 74 2c 20 30 2c 20 26 62 73 29 3b 00 00 00 2b 20 20 78 6b 62 5f 6b 65 79 73 79 6d | layout,.0,.&bs);...+..xkb_keysym |
| 211c0 | 5f 74 20 70 6c 61 69 6e 20 3d 20 6e 20 3e 20 30 20 3f 20 62 73 5b 30 5d 20 3a 20 73 79 6d 3b 00 | _t.plain.=.n.>.0.?.bs[0].:.sym;. |
| 211e0 | 00 00 00 00 00 00 1e 20 20 69 66 20 28 73 79 6d 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 45 73 63 61 | .........if.(sym.==.XKB_KEY_Esca |
| 21200 | 70 65 29 20 7b 00 00 00 24 20 20 20 20 69 66 20 28 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 20 21 3d | pe).{...$....if.(a->open_menu.!= |
| 21220 | 20 4d 45 4e 55 5f 4e 4f 4e 45 29 20 7b 00 00 00 1f 20 20 20 20 20 20 61 2d 3e 6f 70 65 6e 5f 6d | .MENU_NONE).{..........a->open_m |
| 21240 | 65 6e 75 20 3d 20 4d 45 4e 55 5f 4e 4f 4e 45 3b 00 00 00 1b 20 20 20 20 20 20 61 2d 3e 68 6f 76 | enu.=.MENU_NONE;..........a->hov |
| 21260 | 65 72 65 64 5f 69 74 65 6d 20 3d 20 2d 31 3b 00 00 00 10 20 20 20 20 20 20 72 65 64 72 61 77 28 | ered_item.=.-1;..........redraw( |
| 21280 | 61 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 03 20 | a);........}........return;..... |
| 212a0 | 20 7d 00 00 00 0d 20 20 69 66 20 28 63 74 72 6c 29 20 7b 00 00 00 3a 20 20 20 20 69 66 20 28 70 | .}......if.(ctrl).{...:....if.(p |
| 212c0 | 6c 61 69 6e 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 65 71 75 61 6c 20 7c 7c 20 70 6c 61 69 6e 20 3d | lain.==.XKB_KEY_equal.||.plain.= |
| 212e0 | 3d 20 58 4b 42 5f 4b 45 59 5f 70 6c 75 73 29 20 7b 00 00 00 10 20 20 20 20 20 20 66 6f 6e 74 5f | =.XKB_KEY_plus).{..........font_ |
| 21300 | 70 74 2b 2b 3b 00 00 00 1c 20 20 20 20 20 20 75 70 64 61 74 65 5f 66 6f 6e 74 5f 6d 65 74 72 69 | pt++;..........update_font_metri |
| 21320 | 63 73 28 29 3b 00 00 00 10 20 20 20 20 20 20 72 65 64 72 61 77 28 61 29 3b 00 00 00 0d 20 20 20 | cs();..........redraw(a);....... |
| 21340 | 20 20 20 72 65 74 75 72 6e 3b 00 00 00 05 20 20 20 20 7d 00 00 00 21 20 20 20 20 69 66 20 28 70 | ...return;........}...!....if.(p |
| 21360 | 6c 61 69 6e 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 6d 69 6e 75 73 29 20 7b 00 00 00 18 20 20 20 20 | lain.==.XKB_KEY_minus).{........ |
| 21380 | 20 20 69 66 20 28 66 6f 6e 74 5f 70 74 20 3e 20 34 29 20 7b 00 00 00 12 20 20 20 20 20 20 20 20 | ..if.(font_pt.>.4).{............ |
| 213a0 | 66 6f 6e 74 5f 70 74 2d 2d 3b 00 00 00 1e 20 20 20 20 20 20 20 20 75 70 64 61 74 65 5f 66 6f 6e | font_pt--;............update_fon |
| 213c0 | 74 5f 6d 65 74 72 69 63 73 28 29 3b 00 00 00 12 20 20 20 20 20 20 20 20 72 65 64 72 61 77 28 61 | t_metrics();............redraw(a |
| 213e0 | 29 3b 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 0d 20 20 20 20 20 20 72 65 74 75 72 6e 3b 00 00 | );..........}..........return;.. |
| 21400 | 00 05 20 20 20 20 7d 00 00 00 1d 20 20 20 20 69 66 20 28 70 6c 61 69 6e 20 3d 3d 20 58 4b 42 5f | ......}........if.(plain.==.XKB_ |
| 21420 | 4b 45 59 5f 30 29 20 7b 00 00 00 1a 20 20 20 20 20 20 66 6f 6e 74 5f 70 74 20 3d 20 46 4f 4e 54 | KEY_0).{..........font_pt.=.FONT |
| 21440 | 5f 53 49 5a 45 3b 00 00 00 1c 20 20 20 20 20 20 75 70 64 61 74 65 5f 66 6f 6e 74 5f 6d 65 74 72 | _SIZE;..........update_font_metr |
| 21460 | 69 63 73 28 29 3b 00 00 00 10 20 20 20 20 20 20 72 65 64 72 61 77 28 61 29 3b 00 00 00 0d 20 20 | ics();..........redraw(a);...... |
| 21480 | 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 05 20 20 20 20 7d 00 00 00 33 20 20 20 20 69 66 20 28 | ....return;........}...3....if.( |
| 214a0 | 70 6c 61 69 6e 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 73 20 7c 7c 20 70 6c 61 69 6e 20 3d 3d 20 58 | plain.==.XKB_KEY_s.||.plain.==.X |
| 214c0 | 4b 42 5f 4b 45 59 5f 53 29 20 7b 00 00 00 11 20 20 20 20 20 20 64 6f 5f 73 61 76 65 28 61 29 3b | KB_KEY_S).{..........do_save(a); |
| 214e0 | 00 00 00 10 20 20 20 20 20 20 72 65 64 72 61 77 28 61 29 3b 00 00 00 0d 20 20 20 20 20 20 72 65 | ..........redraw(a);..........re |
| 21500 | 74 75 72 6e 3b 00 00 00 05 20 20 20 20 7d 00 00 00 33 20 20 20 20 69 66 20 28 70 6c 61 69 6e 20 | turn;........}...3....if.(plain. |
| 21520 | 3d 3d 20 58 4b 42 5f 4b 45 59 5f 61 20 7c 7c 20 70 6c 61 69 6e 20 3d 3d 20 58 4b 42 5f 4b 45 59 | ==.XKB_KEY_a.||.plain.==.XKB_KEY |
| 21540 | 5f 41 29 20 7b 00 00 00 15 20 20 20 20 20 20 73 65 6c 5f 61 6e 63 68 6f 72 20 3d 20 30 3b 00 00 | _A).{..........sel_anchor.=.0;.. |
| 21560 | 00 14 20 20 20 20 20 20 63 75 72 73 6f 72 20 3d 20 74 6c 65 6e 3b 00 00 00 10 20 20 20 20 20 20 | ........cursor.=.tlen;.......... |
| 21580 | 72 65 64 72 61 77 28 61 29 3b 00 00 00 0d 20 20 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 05 20 | redraw(a);..........return;..... |
| 215a0 | 20 20 20 7d 00 00 00 33 20 20 20 20 69 66 20 28 70 6c 61 69 6e 20 3d 3d 20 58 4b 42 5f 4b 45 59 | ...}...3....if.(plain.==.XKB_KEY |
| 215c0 | 5f 63 20 7c 7c 20 70 6c 61 69 6e 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 43 29 20 7b 00 00 00 12 20 | _c.||.plain.==.XKB_KEY_C).{..... |
| 215e0 | 20 20 20 20 20 63 6f 70 79 5f 73 65 6c 28 61 29 3b 00 00 00 0d 20 20 20 20 20 20 72 65 74 75 72 | .....copy_sel(a);..........retur |
| 21600 | 6e 3b 00 00 00 05 20 20 20 20 7d 00 00 00 33 20 20 20 20 69 66 20 28 70 6c 61 69 6e 20 3d 3d 20 | n;........}...3....if.(plain.==. |
| 21620 | 58 4b 42 5f 4b 45 59 5f 78 20 7c 7c 20 70 6c 61 69 6e 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 58 29 | XKB_KEY_x.||.plain.==.XKB_KEY_X) |
| 21640 | 20 7b 00 00 00 12 20 20 20 20 20 20 63 6f 70 79 5f 73 65 6c 28 61 29 3b 00 00 00 13 20 20 20 20 | .{..........copy_sel(a);........ |
| 21660 | 20 20 64 65 6c 65 74 65 5f 73 65 6c 28 29 3b 00 00 00 10 20 20 20 20 20 20 72 65 64 72 61 77 28 | ..delete_sel();..........redraw( |
| 21680 | 61 29 3b 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 | a);..........return;........}... |
| 216a0 | 33 20 20 20 20 69 66 20 28 70 6c 61 69 6e 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 76 20 7c 7c 20 70 | 3....if.(plain.==.XKB_KEY_v.||.p |
| 216c0 | 6c 61 69 6e 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 56 29 20 7b 00 00 00 1a 20 20 20 20 20 20 69 66 | lain.==.XKB_KEY_V).{..........if |
| 216e0 | 20 28 73 65 6c 5f 61 6e 63 68 6f 72 20 3e 3d 20 30 29 00 00 00 15 20 20 20 20 20 20 20 20 64 65 | .(sel_anchor.>=.0)............de |
| 21700 | 6c 65 74 65 5f 73 65 6c 28 29 3b 00 00 00 2a 20 20 20 20 20 20 69 6e 73 28 61 2d 3e 63 6c 69 70 | lete_sel();...*......ins(a->clip |
| 21720 | 62 6f 61 72 64 2c 20 61 2d 3e 63 6c 69 70 62 6f 61 72 64 5f 6c 65 6e 29 3b 00 00 00 10 20 20 20 | board,.a->clipboard_len);....... |
| 21740 | 20 20 20 72 65 64 72 61 77 28 61 29 3b 00 00 00 0d 20 20 20 20 20 20 72 65 74 75 72 6e 3b 00 00 | ...redraw(a);..........return;.. |
| 21760 | 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 4b 20 20 69 66 20 28 73 79 6d 20 3d 3d 20 58 | ......}......}...K..if.(sym.==.X |
| 21780 | 4b 42 5f 4b 45 59 5f 4c 65 66 74 20 7c 7c 20 73 79 6d 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 52 69 | KB_KEY_Left.||.sym.==.XKB_KEY_Ri |
| 217a0 | 67 68 74 20 7c 7c 20 73 79 6d 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 48 6f 6d 65 20 7c 7c 00 00 00 | ght.||.sym.==.XKB_KEY_Home.||... |
| 217c0 | 1b 20 20 20 20 20 20 73 79 6d 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 45 6e 64 29 20 7b 00 00 00 20 | .......sym.==.XKB_KEY_End).{.... |
| 217e0 | 20 20 20 20 69 66 20 28 73 68 69 66 74 20 26 26 20 73 65 6c 5f 61 6e 63 68 6f 72 20 3c 20 30 29 | ....if.(shift.&&.sel_anchor.<.0) |
| 21800 | 00 00 00 1a 20 20 20 20 20 20 73 65 6c 5f 61 6e 63 68 6f 72 20 3d 20 63 75 72 73 6f 72 3b 00 00 | ..........sel_anchor.=.cursor;.. |
| 21820 | 00 14 20 20 20 20 65 6c 73 65 20 69 66 20 28 21 73 68 69 66 74 29 00 00 00 16 20 20 20 20 20 20 | ......else.if.(!shift).......... |
| 21840 | 73 65 6c 5f 61 6e 63 68 6f 72 20 3d 20 2d 31 3b 00 00 00 2a 20 20 20 20 69 66 20 28 73 79 6d 20 | sel_anchor.=.-1;...*....if.(sym. |
| 21860 | 3d 3d 20 58 4b 42 5f 4b 45 59 5f 4c 65 66 74 20 26 26 20 63 75 72 73 6f 72 20 3e 20 30 29 00 00 | ==.XKB_KEY_Left.&&.cursor.>.0).. |
| 21880 | 00 0f 20 20 20 20 20 20 63 75 72 73 6f 72 2d 2d 3b 00 00 00 2e 20 20 20 20 69 66 20 28 73 79 6d | ........cursor--;........if.(sym |
| 218a0 | 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 52 69 67 68 74 20 26 26 20 63 75 72 73 6f 72 20 3c 20 74 6c | .==.XKB_KEY_Right.&&.cursor.<.tl |
| 218c0 | 65 6e 29 00 00 00 0f 20 20 20 20 20 20 63 75 72 73 6f 72 2b 2b 3b 00 00 00 1e 20 20 20 20 69 66 | en)..........cursor++;........if |
| 218e0 | 20 28 73 79 6d 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 48 6f 6d 65 29 20 7b 00 00 00 34 20 20 20 20 | .(sym.==.XKB_KEY_Home).{...4.... |
| 21900 | 20 20 77 68 69 6c 65 20 28 63 75 72 73 6f 72 20 3e 20 30 20 26 26 20 74 65 78 74 5b 63 75 72 73 | ..while.(cursor.>.0.&&.text[curs |
| 21920 | 6f 72 20 2d 20 31 5d 20 21 3d 20 27 5c 6e 27 29 00 00 00 11 20 20 20 20 20 20 20 20 63 75 72 73 | or.-.1].!=.'\n')............curs |
| 21940 | 6f 72 2d 2d 3b 00 00 00 05 20 20 20 20 7d 00 00 00 1d 20 20 20 20 69 66 20 28 73 79 6d 20 3d 3d | or--;........}........if.(sym.== |
| 21960 | 20 58 4b 42 5f 4b 45 59 5f 45 6e 64 29 20 7b 00 00 00 33 20 20 20 20 20 20 77 68 69 6c 65 20 28 | .XKB_KEY_End).{...3......while.( |
| 21980 | 63 75 72 73 6f 72 20 3c 20 74 6c 65 6e 20 26 26 20 74 65 78 74 5b 63 75 72 73 6f 72 5d 20 21 3d | cursor.<.tlen.&&.text[cursor].!= |
| 219a0 | 20 27 5c 6e 27 29 00 00 00 11 20 20 20 20 20 20 20 20 63 75 72 73 6f 72 2b 2b 3b 00 00 00 05 20 | .'\n')............cursor++;..... |
| 219c0 | 20 20 20 7d 00 00 00 26 20 20 20 20 69 66 20 28 73 68 69 66 74 20 26 26 20 73 65 6c 5f 61 6e 63 | ...}...&....if.(shift.&&.sel_anc |
| 219e0 | 68 6f 72 20 3d 3d 20 63 75 72 73 6f 72 29 00 00 00 16 20 20 20 20 20 20 73 65 6c 5f 61 6e 63 68 | hor.==.cursor)..........sel_anch |
| 21a00 | 6f 72 20 3d 20 2d 31 3b 00 00 00 0e 20 20 20 20 72 65 64 72 61 77 28 61 29 3b 00 00 00 0b 20 20 | or.=.-1;........redraw(a);...... |
| 21a20 | 20 20 72 65 74 75 72 6e 3b 00 00 00 03 20 20 7d 00 00 00 21 20 20 69 66 20 28 73 79 6d 20 3d 3d | ..return;......}...!..if.(sym.== |
| 21a40 | 20 58 4b 42 5f 4b 45 59 5f 42 61 63 6b 53 70 61 63 65 29 20 7b 00 00 00 18 20 20 20 20 69 66 20 | .XKB_KEY_BackSpace).{........if. |
| 21a60 | 28 73 65 6c 5f 61 6e 63 68 6f 72 20 3e 3d 20 30 29 00 00 00 13 20 20 20 20 20 20 64 65 6c 65 74 | (sel_anchor.>=.0)..........delet |
| 21a80 | 65 5f 73 65 6c 28 29 3b 00 00 00 1a 20 20 20 20 65 6c 73 65 20 69 66 20 28 63 75 72 73 6f 72 20 | e_sel();........else.if.(cursor. |
| 21aa0 | 3e 20 30 29 20 7b 00 00 00 3f 20 20 20 20 20 20 6d 65 6d 6d 6f 76 65 28 74 65 78 74 20 2b 20 63 | >.0).{...?......memmove(text.+.c |
| 21ac0 | 75 72 73 6f 72 20 2d 20 31 2c 20 74 65 78 74 20 2b 20 63 75 72 73 6f 72 2c 20 74 6c 65 6e 20 2d | ursor.-.1,.text.+.cursor,.tlen.- |
| 21ae0 | 20 63 75 72 73 6f 72 29 3b 00 00 00 0d 20 20 20 20 20 20 74 6c 65 6e 2d 2d 3b 00 00 00 0f 20 20 | .cursor);..........tlen--;...... |
| 21b00 | 20 20 20 20 63 75 72 73 6f 72 2d 2d 3b 00 00 00 18 20 20 20 20 20 20 74 65 78 74 5b 74 6c 65 6e | ....cursor--;..........text[tlen |
| 21b20 | 5d 20 3d 20 27 5c 30 27 3b 00 00 00 13 20 20 20 20 20 20 64 69 72 74 79 20 3d 20 74 72 75 65 3b | ].=.'\0';..........dirty.=.true; |
| 21b40 | 00 00 00 05 20 20 20 20 7d 00 00 00 0e 20 20 20 20 72 65 64 72 61 77 28 61 29 3b 00 00 00 0b 20 | ........}........redraw(a);..... |
| 21b60 | 20 20 20 72 65 74 75 72 6e 3b 00 00 00 03 20 20 7d 00 00 00 1e 20 20 69 66 20 28 73 79 6d 20 3d | ...return;......}......if.(sym.= |
| 21b80 | 3d 20 58 4b 42 5f 4b 45 59 5f 44 65 6c 65 74 65 29 20 7b 00 00 00 18 20 20 20 20 69 66 20 28 73 | =.XKB_KEY_Delete).{........if.(s |
| 21ba0 | 65 6c 5f 61 6e 63 68 6f 72 20 3e 3d 20 30 29 00 00 00 13 20 20 20 20 20 20 64 65 6c 65 74 65 5f | el_anchor.>=.0)..........delete_ |
| 21bc0 | 73 65 6c 28 29 3b 00 00 00 1d 20 20 20 20 65 6c 73 65 20 69 66 20 28 63 75 72 73 6f 72 20 3c 20 | sel();........else.if.(cursor.<. |
| 21be0 | 74 6c 65 6e 29 20 7b 00 00 00 43 20 20 20 20 20 20 6d 65 6d 6d 6f 76 65 28 74 65 78 74 20 2b 20 | tlen).{...C......memmove(text.+. |
| 21c00 | 63 75 72 73 6f 72 2c 20 74 65 78 74 20 2b 20 63 75 72 73 6f 72 20 2b 20 31 2c 20 74 6c 65 6e 20 | cursor,.text.+.cursor.+.1,.tlen. |
| 21c20 | 2d 20 63 75 72 73 6f 72 20 2d 20 31 29 3b 00 00 00 0d 20 20 20 20 20 20 74 6c 65 6e 2d 2d 3b 00 | -.cursor.-.1);..........tlen--;. |
| 21c40 | 00 00 18 20 20 20 20 20 20 74 65 78 74 5b 74 6c 65 6e 5d 20 3d 20 27 5c 30 27 3b 00 00 00 13 20 | .........text[tlen].=.'\0';..... |
| 21c60 | 20 20 20 20 20 64 69 72 74 79 20 3d 20 74 72 75 65 3b 00 00 00 05 20 20 20 20 7d 00 00 00 0e 20 | .....dirty.=.true;........}..... |
| 21c80 | 20 20 20 72 65 64 72 61 77 28 61 29 3b 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 03 | ...redraw(a);........return;.... |
| 21ca0 | 20 20 7d 00 00 00 39 20 20 69 66 20 28 73 79 6d 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 52 65 74 75 | ..}...9..if.(sym.==.XKB_KEY_Retu |
| 21cc0 | 72 6e 20 7c 7c 20 73 79 6d 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 4b 50 5f 45 6e 74 65 72 29 20 7b | rn.||.sym.==.XKB_KEY_KP_Enter).{ |
| 21ce0 | 00 00 00 18 20 20 20 20 69 66 20 28 73 65 6c 5f 61 6e 63 68 6f 72 20 3e 3d 20 30 29 00 00 00 13 | ........if.(sel_anchor.>=.0).... |
| 21d00 | 20 20 20 20 20 20 64 65 6c 65 74 65 5f 73 65 6c 28 29 3b 00 00 00 11 20 20 20 20 69 6e 73 28 22 | ......delete_sel();........ins(" |
| 21d20 | 5c 6e 22 2c 20 31 29 3b 00 00 00 0e 20 20 20 20 72 65 64 72 61 77 28 61 29 3b 00 00 00 0b 20 20 | \n",.1);........redraw(a);...... |
| 21d40 | 20 20 72 65 74 75 72 6e 3b 00 00 00 03 20 20 7d 00 00 00 0e 20 20 63 68 61 72 20 62 75 66 5b 38 | ..return;......}......char.buf[8 |
| 21d60 | 5d 3b 00 00 00 46 20 20 69 6e 74 20 6c 65 6e 20 3d 20 78 6b 62 5f 73 74 61 74 65 5f 6b 65 79 5f | ];...F..int.len.=.xkb_state_key_ |
| 21d80 | 67 65 74 5f 75 74 66 38 28 61 2d 3e 78 6b 62 5f 73 74 61 74 65 2c 20 6b 63 2c 20 62 75 66 2c 20 | get_utf8(a->xkb_state,.kc,.buf,. |
| 21da0 | 73 69 7a 65 6f 66 20 62 75 66 29 3b 00 00 00 2f 20 20 69 66 20 28 6c 65 6e 20 3e 20 30 20 26 26 | sizeof.buf);.../..if.(len.>.0.&& |
| 21dc0 | 20 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 29 62 75 66 5b 30 5d 20 3e 3d 20 33 32 29 20 7b 00 | .(unsigned.char)buf[0].>=.32).{. |
| 21de0 | 00 00 18 20 20 20 20 69 66 20 28 73 65 6c 5f 61 6e 63 68 6f 72 20 3e 3d 20 30 29 00 00 00 13 20 | .......if.(sel_anchor.>=.0)..... |
| 21e00 | 20 20 20 20 20 64 65 6c 65 74 65 5f 73 65 6c 28 29 3b 00 00 00 12 20 20 20 20 69 6e 73 28 62 75 | .....delete_sel();........ins(bu |
| 21e20 | 66 2c 20 6c 65 6e 29 3b 00 00 00 0e 20 20 20 20 72 65 64 72 61 77 28 61 29 3b 00 00 00 03 20 20 | f,.len);........redraw(a);...... |
| 21e40 | 7d 00 00 00 01 7d 00 00 00 00 00 00 00 47 73 74 61 74 69 63 20 76 6f 69 64 20 77 6d 5f 70 69 6e | }....}.......Gstatic.void.wm_pin |
| 21e60 | 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 | g(void.*d,.struct.xdg_wm_base.*w |
| 21e80 | 6d 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 1f 20 20 78 64 67 5f 77 | m,.uint32_t.serial).{......xdg_w |
| 21ea0 | 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 01 7d 00 00 00 | m_base_pong(wm,.serial);....}... |
| 21ec0 | 49 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 | Istatic.const.struct.xdg_wm_base |
| 21ee0 | 5f 6c 69 73 74 65 6e 65 72 20 77 6d 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 2e 70 69 6e 67 20 3d | _listener.wm_listener.=.{.ping.= |
| 21f00 | 20 77 6d 5f 70 69 6e 67 7d 3b 00 00 00 00 00 00 00 26 73 74 61 74 69 63 20 76 6f 69 64 20 61 6c | .wm_ping};.......&static.void.al |
| 21f20 | 6c 6f 63 5f 62 75 66 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 0f 20 20 69 66 | loc_buf(struct.app.*a).{......if |
| 21f40 | 20 28 61 2d 3e 62 75 66 29 20 7b 00 00 00 1e 20 20 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 | .(a->buf).{........wl_buffer_des |
| 21f60 | 74 72 6f 79 28 61 2d 3e 62 75 66 29 3b 00 00 00 12 20 20 20 20 61 2d 3e 62 75 66 20 3d 20 4e 55 | troy(a->buf);........a->buf.=.NU |
| 21f80 | 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 12 20 20 69 66 20 28 61 2d 3e 70 69 78 65 6c 73 29 20 7b | LL;......}......if.(a->pixels).{ |
| 21fa0 | 00 00 00 26 20 20 20 20 6d 75 6e 6d 61 70 28 61 2d 3e 70 69 78 65 6c 73 2c 20 61 2d 3e 70 69 78 | ...&....munmap(a->pixels,.a->pix |
| 21fc0 | 65 6c 73 5f 73 69 7a 65 29 3b 00 00 00 15 20 20 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 4e 55 | els_size);........a->pixels.=.NU |
| 21fe0 | 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 40 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 6d 61 6b 65 | LL;......}...@..a->pixels.=.make |
| 22000 | 5f 73 68 6d 28 61 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 26 61 2d 3e 62 75 66 2c 20 26 61 2d | _shm(a,.a->w,.a->h,.&a->buf,.&a- |
| 22020 | 3e 70 69 78 65 6c 73 5f 73 69 7a 65 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 46 73 74 61 74 69 | >pixels_size);....}.......Fstati |
| 22040 | 63 20 76 6f 69 64 20 78 73 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 | c.void.xs_cfg(void.*d,.struct.xd |
| 22060 | 67 5f 73 75 72 66 61 63 65 20 2a 78 73 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 | g_surface.*xs,.uint32_t.serial). |
| 22080 | 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 28 20 20 78 | {......struct.app.*a.=.d;...(..x |
| 220a0 | 64 67 5f 73 75 72 66 61 63 65 5f 61 63 6b 5f 63 6f 6e 66 69 67 75 72 65 28 78 73 2c 20 73 65 72 | dg_surface_ack_configure(xs,.ser |
| 220c0 | 69 61 6c 29 3b 00 00 00 2d 20 20 69 66 20 28 61 2d 3e 70 65 6e 64 69 6e 67 5f 77 20 3e 20 30 20 | ial);...-..if.(a->pending_w.>.0. |
| 220e0 | 26 26 20 61 2d 3e 70 65 6e 64 69 6e 67 5f 68 20 3e 20 30 29 20 7b 00 00 00 18 20 20 20 20 61 2d | &&.a->pending_h.>.0).{........a- |
| 22100 | 3e 77 20 3d 20 61 2d 3e 70 65 6e 64 69 6e 67 5f 77 3b 00 00 00 18 20 20 20 20 61 2d 3e 68 20 3d | >w.=.a->pending_w;........a->h.= |
| 22120 | 20 61 2d 3e 70 65 6e 64 69 6e 67 5f 68 3b 00 00 00 15 20 20 20 20 61 2d 3e 70 65 6e 64 69 6e 67 | .a->pending_h;........a->pending |
| 22140 | 5f 77 20 3d 20 30 3b 00 00 00 15 20 20 20 20 61 2d 3e 70 65 6e 64 69 6e 67 5f 68 20 3d 20 30 3b | _w.=.0;........a->pending_h.=.0; |
| 22160 | 00 00 00 03 20 20 7d 00 00 00 15 20 20 69 66 20 28 21 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 29 | ......}......if.(!a->configured) |
| 22180 | 00 00 00 19 20 20 20 20 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 3d 20 74 72 75 65 3b 00 00 00 | ........a->configured.=.true;... |
| 221a0 | 0f 20 20 61 6c 6c 6f 63 5f 62 75 66 28 61 29 3b 00 00 00 0c 20 20 72 65 64 72 61 77 28 61 29 3b | ...alloc_buf(a);......redraw(a); |
| 221c0 | 00 00 00 01 7d 00 00 00 4d 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 | ....}...Mstatic.const.struct.xdg |
| 221e0 | 5f 73 75 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 20 78 73 5f 6c 69 73 74 65 6e 65 72 20 3d 20 | _surface_listener.xs_listener.=. |
| 22200 | 7b 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 73 5f 63 66 67 7d 3b 00 00 00 00 00 00 00 4a 73 74 | {.configure.=.xs_cfg};.......Jst |
| 22220 | 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 | atic.void.xt_cfg(void.*d,.struct |
| 22240 | 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 2c 20 69 6e 74 33 32 5f 74 20 77 2c 20 69 6e | .xdg_toplevel.*xt,.int32_t.w,.in |
| 22260 | 74 33 32 5f 74 20 68 2c 00 00 00 28 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 | t32_t.h,...(...................s |
| 22280 | 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 | truct.wl_array.*s).{......struct |
| 222a0 | 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 17 20 20 69 66 20 28 77 20 3e 20 30 20 26 26 20 68 | .app.*a.=.d;......if.(w.>.0.&&.h |
| 222c0 | 20 3e 20 30 29 20 7b 00 00 00 15 20 20 20 20 61 2d 3e 70 65 6e 64 69 6e 67 5f 77 20 3d 20 77 3b | .>.0).{........a->pending_w.=.w; |
| 222e0 | 00 00 00 15 20 20 20 20 61 2d 3e 70 65 6e 64 69 6e 67 5f 68 20 3d 20 68 3b 00 00 00 03 20 20 7d | ........a->pending_h.=.h;......} |
| 22300 | 00 00 00 01 7d 00 00 00 43 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 6c 6f 73 65 28 76 6f | ....}...Cstatic.void.xt_close(vo |
| 22320 | 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 29 20 | id.*d,.struct.xdg_toplevel.*xt). |
| 22340 | 7b 20 65 78 69 74 28 30 29 3b 20 7d 00 00 00 4d 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 | {.exit(0);.}...Mstatic.const.str |
| 22360 | 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 78 74 5f 6c 69 73 | uct.xdg_toplevel_listener.xt_lis |
| 22380 | 74 65 6e 65 72 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 74 5f 63 66 67 2c 00 00 00 | tener.=.{.configure.=.xt_cfg,... |
| 223a0 | 4c 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 | L............................... |
| 223c0 | 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 2e 63 6c 6f 73 65 | ...........................close |
| 223e0 | 20 3d 20 78 74 5f 63 6c 6f 73 65 7d 3b 00 00 00 00 00 00 00 4a 73 74 61 74 69 63 20 76 6f 69 64 | .=.xt_close};.......Jstatic.void |
| 22400 | 20 64 73 5f 74 61 72 67 65 74 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 64 61 | .ds_target(void.*d,.struct.wl_da |
| 22420 | 74 61 5f 73 6f 75 72 63 65 20 2a 73 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6d 29 20 7b 7d 00 | ta_source.*s,.const.char.*m).{}. |
| 22440 | 00 00 45 73 74 61 74 69 63 20 76 6f 69 64 20 64 73 5f 73 65 6e 64 28 76 6f 69 64 20 2a 64 2c 20 | ..Estatic.void.ds_send(void.*d,. |
| 22460 | 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 20 2a 73 2c 20 63 6f 6e 73 74 20 | struct.wl_data_source.*s,.const. |
| 22480 | 63 68 61 72 20 2a 6d 2c 00 00 00 21 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | char.*m,...!.................... |
| 224a0 | 69 6e 74 33 32 5f 74 20 66 64 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 | int32_t.fd).{......struct.app.*a |
| 224c0 | 20 3d 20 64 3b 00 00 00 2c 20 20 77 72 69 74 65 28 66 64 2c 20 61 2d 3e 63 6c 69 70 62 6f 61 72 | .=.d;...,..write(fd,.a->clipboar |
| 224e0 | 64 2c 20 61 2d 3e 63 6c 69 70 62 6f 61 72 64 5f 6c 65 6e 29 3b 00 00 00 0c 20 20 63 6c 6f 73 65 | d,.a->clipboard_len);......close |
| 22500 | 28 66 64 29 3b 00 00 00 01 7d 00 00 00 3d 73 74 61 74 69 63 20 76 6f 69 64 20 64 73 5f 63 61 6e | (fd);....}...=static.void.ds_can |
| 22520 | 63 65 6c 6c 65 64 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 73 | celled(void.*d,.struct.wl_data_s |
| 22540 | 6f 75 72 63 65 20 2a 73 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d | ource.*s).{......struct.app.*a.= |
| 22560 | 20 64 3b 00 00 00 0e 20 20 69 66 20 28 61 2d 3e 64 73 29 20 7b 00 00 00 22 20 20 20 20 77 6c 5f | .d;......if.(a->ds).{..."....wl_ |
| 22580 | 64 61 74 61 5f 73 6f 75 72 63 65 5f 64 65 73 74 72 6f 79 28 61 2d 3e 64 73 29 3b 00 00 00 11 20 | data_source_destroy(a->ds);..... |
| 225a0 | 20 20 20 61 2d 3e 64 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 3b | ...a->ds.=.NULL;......}....}...; |
| 225c0 | 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 | static.const.struct.wl_data_sour |
| 225e0 | 63 65 5f 6c 69 73 74 65 6e 65 72 20 64 73 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 45 20 | ce_listener.ds_listener.=.{...E. |
| 22600 | 20 20 20 2e 74 61 72 67 65 74 20 3d 20 64 73 5f 74 61 72 67 65 74 2c 20 2e 73 65 6e 64 20 3d 20 | ....target.=.ds_target,..send.=. |
| 22620 | 64 73 5f 73 65 6e 64 2c 20 2e 63 61 6e 63 65 6c 6c 65 64 20 3d 20 64 73 5f 63 61 6e 63 65 6c 6c | ds_send,..cancelled.=.ds_cancell |
| 22640 | 65 64 7d 3b 00 00 00 00 00 00 00 38 73 74 61 74 69 63 20 76 6f 69 64 20 64 64 5f 6f 66 66 65 72 | ed};.......8static.void.dd_offer |
| 22660 | 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 20 | (void.*d,.struct.wl_data_device. |
| 22680 | 2a 64 64 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 73 74 72 | *dd,...0.....................str |
| 226a0 | 75 63 74 20 77 6c 5f 64 61 74 61 5f 6f 66 66 65 72 20 2a 6f 29 20 7b 7d 00 00 00 44 73 74 61 74 | uct.wl_data_offer.*o).{}...Dstat |
| 226c0 | 69 63 20 76 6f 69 64 20 64 64 5f 65 6e 74 65 72 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 | ic.void.dd_enter(void.*d,.struct |
| 226e0 | 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 20 2a 64 64 2c 20 75 69 6e 74 33 32 5f 74 20 73 2c | .wl_data_device.*dd,.uint32_t.s, |
| 22700 | 00 00 00 47 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 | ...G.....................struct. |
| 22720 | 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 78 2c 20 77 6c | wl_surface.*su,.wl_fixed_t.x,.wl |
| 22740 | 5f 66 69 78 65 64 5f 74 20 79 2c 00 00 00 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | _fixed_t.y,...0................. |
| 22760 | 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 6f 66 66 65 72 20 2a 6f 29 20 7b 7d 00 | ....struct.wl_data_offer.*o).{}. |
| 22780 | 00 00 3b 73 74 61 74 69 63 20 76 6f 69 64 20 64 64 5f 6c 65 61 76 65 28 76 6f 69 64 20 2a 64 2c | ..;static.void.dd_leave(void.*d, |
| 227a0 | 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 20 2a 64 64 29 20 7b 7d 00 00 | .struct.wl_data_device.*dd).{}.. |
| 227c0 | 00 45 73 74 61 74 69 63 20 76 6f 69 64 20 64 64 5f 6d 6f 74 69 6f 6e 28 76 6f 69 64 20 2a 64 2c | .Estatic.void.dd_motion(void.*d, |
| 227e0 | 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 20 2a 64 64 2c 20 75 69 6e 74 | .struct.wl_data_device.*dd,.uint |
| 22800 | 33 32 5f 74 20 74 2c 00 00 00 34 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | 32_t.t,...4..................... |
| 22820 | 20 77 6c 5f 66 69 78 65 64 5f 74 20 78 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 79 29 20 7b 7d 00 | .wl_fixed_t.x,.wl_fixed_t.y).{}. |
| 22840 | 00 00 3a 73 74 61 74 69 63 20 76 6f 69 64 20 64 64 5f 64 72 6f 70 28 76 6f 69 64 20 2a 64 2c 20 | ..:static.void.dd_drop(void.*d,. |
| 22860 | 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 20 2a 64 64 29 20 7b 7d 00 00 00 | struct.wl_data_device.*dd).{}... |
| 22880 | 3c 73 74 61 74 69 63 20 76 6f 69 64 20 64 64 5f 73 65 6c 65 63 74 69 6f 6e 28 76 6f 69 64 20 2a | <static.void.dd_selection(void.* |
| 228a0 | 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 20 2a 64 64 2c 00 00 00 | d,.struct.wl_data_device.*dd,... |
| 228c0 | 34 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 73 74 72 75 63 74 | 4.........................struct |
| 228e0 | 20 77 6c 5f 64 61 74 61 5f 6f 66 66 65 72 20 2a 6f 29 20 7b 7d 00 00 00 3b 73 74 61 74 69 63 20 | .wl_data_offer.*o).{}...;static. |
| 22900 | 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 5f 6c 69 73 74 | const.struct.wl_data_device_list |
| 22920 | 65 6e 65 72 20 64 64 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 1b 20 20 20 20 2e 64 61 74 | ener.dd_listener.=.{.........dat |
| 22940 | 61 5f 6f 66 66 65 72 20 3d 20 64 64 5f 6f 66 66 65 72 2c 00 00 00 16 20 20 20 20 2e 65 6e 74 65 | a_offer.=.dd_offer,.........ente |
| 22960 | 72 20 3d 20 64 64 5f 65 6e 74 65 72 2c 00 00 00 16 20 20 20 20 2e 6c 65 61 76 65 20 3d 20 64 64 | r.=.dd_enter,.........leave.=.dd |
| 22980 | 5f 6c 65 61 76 65 2c 00 00 00 18 20 20 20 20 2e 6d 6f 74 69 6f 6e 20 3d 20 64 64 5f 6d 6f 74 69 | _leave,.........motion.=.dd_moti |
| 229a0 | 6f 6e 2c 00 00 00 14 20 20 20 20 2e 64 72 6f 70 20 3d 20 64 64 5f 64 72 6f 70 2c 00 00 00 1f 20 | on,.........drop.=.dd_drop,..... |
| 229c0 | 20 20 20 2e 73 65 6c 65 63 74 69 6f 6e 20 3d 20 64 64 5f 73 65 6c 65 63 74 69 6f 6e 7d 3b 00 00 | ....selection.=.dd_selection};.. |
| 229e0 | 00 00 00 00 00 40 73 74 61 74 69 63 20 76 6f 69 64 20 70 74 72 5f 65 6e 74 65 72 28 76 6f 69 64 | .....@static.void.ptr_enter(void |
| 22a00 | 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 2c 20 75 69 6e 74 33 | .*d,.struct.wl_pointer.*p,.uint3 |
| 22a20 | 32 5f 74 20 73 2c 00 00 00 4b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | 2_t.s,...K...................... |
| 22a40 | 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 2c 20 77 6c 5f 66 69 78 65 64 5f | struct.wl_surface.*su,.wl_fixed_ |
| 22a60 | 74 20 78 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 79 29 20 7b 7d 00 00 00 40 73 74 61 74 69 63 20 | t.x,.wl_fixed_t.y).{}...@static. |
| 22a80 | 76 6f 69 64 20 70 74 72 5f 6c 65 61 76 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 | void.ptr_leave(void.*d,.struct.w |
| 22aa0 | 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 2c 20 75 69 6e 74 33 32 5f 74 20 73 2c 00 00 00 2f 20 20 20 | l_pointer.*p,.uint32_t.s,.../... |
| 22ac0 | 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 77 6c 5f 73 75 72 | ...................struct.wl_sur |
| 22ae0 | 66 61 63 65 20 2a 73 75 29 20 7b 7d 00 00 00 4f 73 74 61 74 69 63 20 76 6f 69 64 20 70 74 72 5f | face.*su).{}...Ostatic.void.ptr_ |
| 22b00 | 6d 6f 74 69 6f 6e 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 | motion(void.*d,.struct.wl_pointe |
| 22b20 | 72 20 2a 70 2c 20 75 69 6e 74 33 32 5f 74 20 74 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 78 2c 00 | r.*p,.uint32_t.t,.wl_fixed_t.x,. |
| 22b40 | 00 00 26 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 6c 5f 66 69 78 | ..&.......................wl_fix |
| 22b60 | 65 64 5f 74 20 79 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 | ed_t.y).{......struct.app.*a.=.d |
| 22b80 | 3b 00 00 00 22 20 20 61 2d 3e 6d 6f 75 73 65 5f 78 20 3d 20 77 6c 5f 66 69 78 65 64 5f 74 6f 5f | ;..."..a->mouse_x.=.wl_fixed_to_ |
| 22ba0 | 69 6e 74 28 78 29 3b 00 00 00 22 20 20 61 2d 3e 6d 6f 75 73 65 5f 79 20 3d 20 77 6c 5f 66 69 78 | int(x);..."..a->mouse_y.=.wl_fix |
| 22bc0 | 65 64 5f 74 6f 5f 69 6e 74 28 79 29 3b 00 00 00 22 20 20 69 66 20 28 61 2d 3e 6f 70 65 6e 5f 6d | ed_to_int(y);..."..if.(a->open_m |
| 22be0 | 65 6e 75 20 21 3d 20 4d 45 4e 55 5f 4e 4f 4e 45 29 20 7b 00 00 00 32 20 20 20 20 69 6e 74 20 69 | enu.!=.MENU_NONE).{...2....int.i |
| 22c00 | 74 20 3d 20 69 74 65 6d 5f 61 74 28 61 2c 20 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 2c 20 61 2d 3e | t.=.item_at(a,.a->open_menu,.a-> |
| 22c20 | 6d 6f 75 73 65 5f 79 29 3b 00 00 00 20 20 20 20 20 69 66 20 28 69 74 20 21 3d 20 61 2d 3e 68 6f | mouse_y);........if.(it.!=.a->ho |
| 22c40 | 76 65 72 65 64 5f 69 74 65 6d 29 20 7b 00 00 00 1b 20 20 20 20 20 20 61 2d 3e 68 6f 76 65 72 65 | vered_item).{..........a->hovere |
| 22c60 | 64 5f 69 74 65 6d 20 3d 20 69 74 3b 00 00 00 10 20 20 20 20 20 20 72 65 64 72 61 77 28 61 29 3b | d_item.=.it;..........redraw(a); |
| 22c80 | 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;........}...... |
| 22ca0 | 7d 00 00 00 1d 20 20 69 66 20 28 61 2d 3e 6d 6f 75 73 65 5f 79 20 3e 3d 20 62 61 72 5f 79 28 61 | }......if.(a->mouse_y.>=.bar_y(a |
| 22cc0 | 29 29 00 00 00 0e 20 20 20 20 72 65 64 72 61 77 28 61 29 3b 00 00 00 01 7d 00 00 00 46 73 74 61 | ))........redraw(a);....}...Fsta |
| 22ce0 | 74 69 63 20 76 6f 69 64 20 70 74 72 5f 62 75 74 74 6f 6e 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 | tic.void.ptr_button(void.*d,.str |
| 22d00 | 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 | uct.wl_pointer.*p,.uint32_t.seri |
| 22d20 | 61 6c 2c 00 00 00 42 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 | al,...B.......................ui |
| 22d40 | 6e 74 33 32 5f 74 20 74 2c 20 75 69 6e 74 33 32 5f 74 20 62 74 6e 2c 20 75 69 6e 74 33 32 5f 74 | nt32_t.t,.uint32_t.btn,.uint32_t |
| 22d60 | 20 73 74 61 74 65 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 | .state).{......struct.app.*a.=.d |
| 22d80 | 3b 00 00 00 2f 20 20 69 66 20 28 73 74 61 74 65 20 21 3d 20 57 4c 5f 50 4f 49 4e 54 45 52 5f 42 | ;.../..if.(state.!=.WL_POINTER_B |
| 22da0 | 55 54 54 4f 4e 5f 53 54 41 54 45 5f 50 52 45 53 53 45 44 29 00 00 00 0b 20 20 20 20 72 65 74 75 | UTTON_STATE_PRESSED)........retu |
| 22dc0 | 72 6e 3b 00 00 00 1a 20 20 61 2d 3e 6c 61 73 74 5f 73 65 72 69 61 6c 20 3d 20 73 65 72 69 61 6c | rn;......a->last_serial.=.serial |
| 22de0 | 3b 00 00 00 14 20 20 69 6e 74 20 62 79 20 3d 20 62 61 72 5f 79 28 61 29 3b 00 00 00 00 00 00 00 | ;......int.by.=.bar_y(a);....... |
| 22e00 | 22 20 20 69 66 20 28 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 20 21 3d 20 4d 45 4e 55 5f 4e 4f 4e 45 | "..if.(a->open_menu.!=.MENU_NONE |
| 22e20 | 29 20 7b 00 00 00 32 20 20 20 20 69 6e 74 20 69 74 20 3d 20 69 74 65 6d 5f 61 74 28 61 2c 20 61 | ).{...2....int.it.=.item_at(a,.a |
| 22e40 | 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 2c 20 61 2d 3e 6d 6f 75 73 65 5f 79 29 3b 00 00 00 12 20 20 20 | ->open_menu,.a->mouse_y);....... |
| 22e60 | 20 69 66 20 28 69 74 20 3e 3d 20 30 29 20 7b 00 00 00 25 20 20 20 20 20 20 66 69 72 65 5f 69 74 | .if.(it.>=.0).{...%......fire_it |
| 22e80 | 65 6d 28 61 2c 20 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 2c 20 69 74 29 3b 00 00 00 0d 20 20 20 20 | em(a,.a->open_menu,.it);........ |
| 22ea0 | 20 20 72 65 74 75 72 6e 3b 00 00 00 05 20 20 20 20 7d 00 00 00 1b 20 20 20 20 69 66 20 28 61 2d | ..return;........}........if.(a- |
| 22ec0 | 3e 6d 6f 75 73 65 5f 79 20 3e 3d 20 62 79 29 20 7b 00 00 00 23 20 20 20 20 20 20 66 6f 72 20 28 | >mouse_y.>=.by).{...#......for.( |
| 22ee0 | 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 32 3b 20 69 2b 2b 29 20 7b 00 00 00 29 20 20 20 20 | int.i.=.0;.i.<.2;.i++).{...).... |
| 22f00 | 20 20 20 20 69 6e 74 20 62 78 20 3d 20 62 74 6e 5f 78 28 69 29 2c 20 62 77 20 3d 20 62 74 6e 5f | ....int.bx.=.btn_x(i),.bw.=.btn_ |
| 22f20 | 77 28 69 29 3b 00 00 00 37 20 20 20 20 20 20 20 20 69 66 20 28 61 2d 3e 6d 6f 75 73 65 5f 78 20 | w(i);...7........if.(a->mouse_x. |
| 22f40 | 3e 3d 20 62 78 20 26 26 20 61 2d 3e 6d 6f 75 73 65 5f 78 20 3c 20 62 78 20 2b 20 62 77 29 20 7b | >=.bx.&&.a->mouse_x.<.bx.+.bw).{ |
| 22f60 | 00 00 00 23 20 20 20 20 20 20 20 20 20 20 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 20 3d 20 28 4d 65 | ...#..........a->open_menu.=.(Me |
| 22f80 | 6e 75 49 64 29 69 3b 00 00 00 1f 20 20 20 20 20 20 20 20 20 20 61 2d 3e 68 6f 76 65 72 65 64 5f | nuId)i;..............a->hovered_ |
| 22fa0 | 69 74 65 6d 20 3d 20 2d 31 3b 00 00 00 14 20 20 20 20 20 20 20 20 20 20 72 65 64 72 61 77 28 61 | item.=.-1;..............redraw(a |
| 22fc0 | 29 3b 00 00 00 11 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 09 20 20 20 20 20 | );..............return;......... |
| 22fe0 | 20 20 20 7d 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 1d 20 20 20 20 | ...}..........}........}........ |
| 23000 | 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 20 3d 20 4d 45 4e 55 5f 4e 4f 4e 45 3b 00 00 00 19 20 20 20 | a->open_menu.=.MENU_NONE;....... |
| 23020 | 20 61 2d 3e 68 6f 76 65 72 65 64 5f 69 74 65 6d 20 3d 20 2d 31 3b 00 00 00 0e 20 20 20 20 72 65 | .a->hovered_item.=.-1;........re |
| 23040 | 64 72 61 77 28 61 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 | draw(a);........return;......}.. |
| 23060 | 00 00 00 00 00 19 20 20 69 66 20 28 61 2d 3e 6d 6f 75 73 65 5f 79 20 3e 3d 20 62 79 29 20 7b 00 | ........if.(a->mouse_y.>=.by).{. |
| 23080 | 00 00 21 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 32 3b 20 69 2b | ..!....for.(int.i.=.0;.i.<.2;.i+ |
| 230a0 | 2b 29 20 7b 00 00 00 27 20 20 20 20 20 20 69 6e 74 20 62 78 20 3d 20 62 74 6e 5f 78 28 69 29 2c | +).{...'......int.bx.=.btn_x(i), |
| 230c0 | 20 62 77 20 3d 20 62 74 6e 5f 77 28 69 29 3b 00 00 00 35 20 20 20 20 20 20 69 66 20 28 61 2d 3e | .bw.=.btn_w(i);...5......if.(a-> |
| 230e0 | 6d 6f 75 73 65 5f 78 20 3e 3d 20 62 78 20 26 26 20 61 2d 3e 6d 6f 75 73 65 5f 78 20 3c 20 62 78 | mouse_x.>=.bx.&&.a->mouse_x.<.bx |
| 23100 | 20 2b 20 62 77 29 20 7b 00 00 00 21 20 20 20 20 20 20 20 20 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 | .+.bw).{...!........a->open_menu |
| 23120 | 20 3d 20 28 4d 65 6e 75 49 64 29 69 3b 00 00 00 1d 20 20 20 20 20 20 20 20 61 2d 3e 68 6f 76 65 | .=.(MenuId)i;............a->hove |
| 23140 | 72 65 64 5f 69 74 65 6d 20 3d 20 2d 31 3b 00 00 00 12 20 20 20 20 20 20 20 20 72 65 64 72 61 77 | red_item.=.-1;............redraw |
| 23160 | 28 61 29 3b 00 00 00 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 | (a);............return;......... |
| 23180 | 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 03 20 20 | .}........}........return;...... |
| 231a0 | 7d 00 00 00 00 00 00 00 49 20 20 69 6e 74 20 63 78 20 3d 20 28 61 2d 3e 6d 6f 75 73 65 5f 78 20 | }.......I..int.cx.=.(a->mouse_x. |
| 231c0 | 2d 20 50 41 44 29 20 2f 20 63 65 6c 6c 5f 77 2c 20 63 79 20 3d 20 28 61 2d 3e 6d 6f 75 73 65 5f | -.PAD)./.cell_w,.cy.=.(a->mouse_ |
| 231e0 | 79 20 2d 20 50 41 44 29 20 2f 20 63 65 6c 6c 5f 68 3b 00 00 00 20 20 20 69 6e 74 20 70 6f 73 20 | y.-.PAD)./.cell_h;......int.pos. |
| 23200 | 3d 20 30 2c 20 63 6f 6c 20 3d 20 30 2c 20 72 6f 77 20 3d 20 30 3b 00 00 00 22 20 20 66 6f 72 20 | =.0,.col.=.0,.row.=.0;..."..for. |
| 23220 | 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 74 6c 65 6e 3b 20 69 2b 2b 29 20 7b 00 00 00 21 | (int.i.=.0;.i.<.tlen;.i++).{...! |
| 23240 | 20 20 20 20 69 66 20 28 72 6f 77 20 3d 3d 20 63 79 20 26 26 20 63 6f 6c 20 3d 3d 20 63 78 29 20 | ....if.(row.==.cy.&&.col.==.cx). |
| 23260 | 7b 00 00 00 0e 20 20 20 20 20 20 70 6f 73 20 3d 20 69 3b 00 00 00 11 20 20 20 20 20 20 67 6f 74 | {..........pos.=.i;..........got |
| 23280 | 6f 20 66 6f 75 6e 64 3b 00 00 00 05 20 20 20 20 7d 00 00 00 1a 20 20 20 20 69 66 20 28 74 65 78 | o.found;........}........if.(tex |
| 232a0 | 74 5b 69 5d 20 3d 3d 20 27 5c 6e 27 29 20 7b 00 00 00 16 20 20 20 20 20 20 69 66 20 28 72 6f 77 | t[i].==.'\n').{..........if.(row |
| 232c0 | 20 3d 3d 20 63 79 29 20 7b 00 00 00 10 20 20 20 20 20 20 20 20 70 6f 73 20 3d 20 69 3b 00 00 00 | .==.cy).{............pos.=.i;... |
| 232e0 | 13 20 20 20 20 20 20 20 20 67 6f 74 6f 20 66 6f 75 6e 64 3b 00 00 00 07 20 20 20 20 20 20 7d 00 | .........goto.found;..........}. |
| 23300 | 00 00 0e 20 20 20 20 20 20 63 6f 6c 20 3d 20 30 3b 00 00 00 0c 20 20 20 20 20 20 72 6f 77 2b 2b | .........col.=.0;..........row++ |
| 23320 | 3b 00 00 00 0a 20 20 20 20 7d 20 65 6c 73 65 00 00 00 0c 20 20 20 20 20 20 63 6f 6c 2b 2b 3b 00 | ;........}.else..........col++;. |
| 23340 | 00 00 03 20 20 7d 00 00 00 0d 20 20 70 6f 73 20 3d 20 74 6c 65 6e 3b 00 00 00 06 66 6f 75 6e 64 | .....}......pos.=.tlen;....found |
| 23360 | 3a 00 00 00 0f 20 20 63 75 72 73 6f 72 20 3d 20 70 6f 73 3b 00 00 00 12 20 20 73 65 6c 5f 61 6e | :......cursor.=.pos;......sel_an |
| 23380 | 63 68 6f 72 20 3d 20 2d 31 3b 00 00 00 0c 20 20 72 65 64 72 61 77 28 61 29 3b 00 00 00 01 7d 00 | chor.=.-1;......redraw(a);....}. |
| 233a0 | 00 00 4e 73 74 61 74 69 63 20 76 6f 69 64 20 70 74 72 5f 61 78 69 73 28 76 6f 69 64 20 2a 64 2c | ..Nstatic.void.ptr_axis(void.*d, |
| 233c0 | 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 2c 20 75 69 6e 74 33 32 5f 74 20 | .struct.wl_pointer.*p,.uint32_t. |
| 233e0 | 74 2c 20 75 69 6e 74 33 32 5f 74 20 61 78 69 73 2c 00 00 00 25 20 20 20 20 20 20 20 20 20 20 20 | t,.uint32_t.axis,...%........... |
| 23400 | 20 20 20 20 20 20 20 20 20 20 77 6c 5f 66 69 78 65 64 5f 74 20 76 29 20 7b 7d 00 00 00 37 73 74 | ..........wl_fixed_t.v).{}...7st |
| 23420 | 61 74 69 63 20 76 6f 69 64 20 70 74 72 5f 66 72 61 6d 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 | atic.void.ptr_frame(void.*d,.str |
| 23440 | 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 29 20 7b 7d 00 00 00 4b 73 74 61 74 69 63 20 | uct.wl_pointer.*p).{}...Kstatic. |
| 23460 | 76 6f 69 64 20 70 74 72 5f 61 78 69 73 5f 73 6f 75 72 63 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 | void.ptr_axis_source(void.*d,.st |
| 23480 | 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 2c 20 75 69 6e 74 33 32 5f 74 20 73 72 63 | ruct.wl_pointer.*p,.uint32_t.src |
| 234a0 | 29 20 7b 7d 00 00 00 44 73 74 61 74 69 63 20 76 6f 69 64 20 70 74 72 5f 61 78 69 73 5f 73 74 6f | ).{}...Dstatic.void.ptr_axis_sto |
| 234c0 | 70 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 2c | p(void.*d,.struct.wl_pointer.*p, |
| 234e0 | 20 75 69 6e 74 33 32 5f 74 20 74 2c 00 00 00 2b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .uint32_t.t,...+................ |
| 23500 | 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 61 78 69 73 29 20 7b 7d 00 00 00 4b 73 | ..........uint32_t.axis).{}...Ks |
| 23520 | 74 61 74 69 63 20 76 6f 69 64 20 70 74 72 5f 61 78 69 73 5f 64 69 73 63 72 65 74 65 28 76 6f 69 | tatic.void.ptr_axis_discrete(voi |
| 23540 | 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 2c 20 75 69 6e 74 | d.*d,.struct.wl_pointer.*p,.uint |
| 23560 | 33 32 5f 74 20 61 78 69 73 2c 00 00 00 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | 32_t.axis,...................... |
| 23580 | 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 33 32 5f 74 20 64 69 73 63 29 20 7b 7d 00 00 00 38 | ............int32_t.disc).{}...8 |
| 235a0 | 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 5f 6c | static.const.struct.wl_pointer_l |
| 235c0 | 69 73 74 65 6e 65 72 20 70 74 72 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 17 20 20 20 20 | istener.ptr_listener.=.{........ |
| 235e0 | 2e 65 6e 74 65 72 20 3d 20 70 74 72 5f 65 6e 74 65 72 2c 00 00 00 17 20 20 20 20 2e 6c 65 61 76 | .enter.=.ptr_enter,.........leav |
| 23600 | 65 20 3d 20 70 74 72 5f 6c 65 61 76 65 2c 00 00 00 19 20 20 20 20 2e 6d 6f 74 69 6f 6e 20 3d 20 | e.=.ptr_leave,.........motion.=. |
| 23620 | 70 74 72 5f 6d 6f 74 69 6f 6e 2c 00 00 00 19 20 20 20 20 2e 62 75 74 74 6f 6e 20 3d 20 70 74 72 | ptr_motion,.........button.=.ptr |
| 23640 | 5f 62 75 74 74 6f 6e 2c 00 00 00 15 20 20 20 20 2e 61 78 69 73 20 3d 20 70 74 72 5f 61 78 69 73 | _button,.........axis.=.ptr_axis |
| 23660 | 2c 00 00 00 17 20 20 20 20 2e 66 72 61 6d 65 20 3d 20 70 74 72 5f 66 72 61 6d 65 2c 00 00 00 23 | ,.........frame.=.ptr_frame,...# |
| 23680 | 20 20 20 20 2e 61 78 69 73 5f 73 6f 75 72 63 65 20 3d 20 70 74 72 5f 61 78 69 73 5f 73 6f 75 72 | .....axis_source.=.ptr_axis_sour |
| 236a0 | 63 65 2c 00 00 00 1f 20 20 20 20 2e 61 78 69 73 5f 73 74 6f 70 20 3d 20 70 74 72 5f 61 78 69 73 | ce,.........axis_stop.=.ptr_axis |
| 236c0 | 5f 73 74 6f 70 2c 00 00 00 27 20 20 20 20 2e 61 78 69 73 5f 64 69 73 63 72 65 74 65 20 3d 20 70 | _stop,...'.....axis_discrete.=.p |
| 236e0 | 74 72 5f 61 78 69 73 5f 64 69 73 63 72 65 74 65 2c 00 00 00 02 7d 3b 00 00 00 00 00 00 00 50 73 | tr_axis_discrete,....};.......Ps |
| 23700 | 74 61 74 69 63 20 76 6f 69 64 20 6b 62 5f 6b 65 79 6d 61 70 28 76 6f 69 64 20 2a 64 2c 20 73 74 | tatic.void.kb_keymap(void.*d,.st |
| 23720 | 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 62 2c 20 75 69 6e 74 33 32 5f 74 20 66 | ruct.wl_keyboard.*kb,.uint32_t.f |
| 23740 | 6d 74 2c 20 69 6e 74 33 32 5f 74 20 66 64 2c 00 00 00 26 20 20 20 20 20 20 20 20 20 20 20 20 20 | mt,.int32_t.fd,...&............. |
| 23760 | 20 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 14 20 20 73 | .........uint32_t.size).{......s |
| 23780 | 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 30 20 20 69 66 20 28 66 6d 74 20 21 | truct.app.*a.=.d;...0..if.(fmt.! |
| 237a0 | 3d 20 57 4c 5f 4b 45 59 42 4f 41 52 44 5f 4b 45 59 4d 41 50 5f 46 4f 52 4d 41 54 5f 58 4b 42 5f | =.WL_KEYBOARD_KEYMAP_FORMAT_XKB_ |
| 237c0 | 56 31 29 20 7b 00 00 00 0e 20 20 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 0b 20 20 20 20 72 | V1).{........close(fd);........r |
| 237e0 | 65 74 75 72 6e 3b 00 00 00 03 20 20 7d 00 00 00 3c 20 20 63 68 61 72 20 2a 73 20 3d 20 6d 6d 61 | eturn;......}...<..char.*s.=.mma |
| 23800 | 70 28 4e 55 4c 4c 2c 20 73 69 7a 65 2c 20 50 52 4f 54 5f 52 45 41 44 2c 20 4d 41 50 5f 50 52 49 | p(NULL,.size,.PROT_READ,.MAP_PRI |
| 23820 | 56 41 54 45 2c 20 66 64 2c 20 30 29 3b 00 00 00 0c 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 | VATE,.fd,.0);......close(fd);... |
| 23840 | 16 20 20 69 66 20 28 73 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 00 00 00 0b 20 20 20 20 72 | ...if.(s.==.MAP_FAILED)........r |
| 23860 | 65 74 75 72 6e 3b 00 00 00 15 20 20 69 66 20 28 61 2d 3e 78 6b 62 5f 73 74 61 74 65 29 20 7b 00 | eturn;......if.(a->xkb_state).{. |
| 23880 | 00 00 22 20 20 20 20 78 6b 62 5f 73 74 61 74 65 5f 75 6e 72 65 66 28 61 2d 3e 78 6b 62 5f 73 74 | .."....xkb_state_unref(a->xkb_st |
| 238a0 | 61 74 65 29 3b 00 00 00 18 20 20 20 20 61 2d 3e 78 6b 62 5f 73 74 61 74 65 20 3d 20 4e 55 4c 4c | ate);........a->xkb_state.=.NULL |
| 238c0 | 3b 00 00 00 03 20 20 7d 00 00 00 16 20 20 69 66 20 28 61 2d 3e 78 6b 62 5f 6b 65 79 6d 61 70 29 | ;......}......if.(a->xkb_keymap) |
| 238e0 | 20 7b 00 00 00 24 20 20 20 20 78 6b 62 5f 6b 65 79 6d 61 70 5f 75 6e 72 65 66 28 61 2d 3e 78 6b | .{...$....xkb_keymap_unref(a->xk |
| 23900 | 62 5f 6b 65 79 6d 61 70 29 3b 00 00 00 19 20 20 20 20 61 2d 3e 78 6b 62 5f 6b 65 79 6d 61 70 20 | b_keymap);........a->xkb_keymap. |
| 23920 | 3d 20 4e 55 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 2d 20 20 61 2d 3e 78 6b 62 5f 6b 65 79 6d 61 | =.NULL;......}...-..a->xkb_keyma |
| 23940 | 70 20 3d 20 78 6b 62 5f 6b 65 79 6d 61 70 5f 6e 65 77 5f 66 72 6f 6d 5f 73 74 72 69 6e 67 28 00 | p.=.xkb_keymap_new_from_string(. |
| 23960 | 00 00 4d 20 20 20 20 20 20 61 2d 3e 78 6b 62 5f 63 74 78 2c 20 73 2c 20 58 4b 42 5f 4b 45 59 4d | ..M......a->xkb_ctx,.s,.XKB_KEYM |
| 23980 | 41 50 5f 46 4f 52 4d 41 54 5f 54 45 58 54 5f 56 31 2c 20 58 4b 42 5f 4b 45 59 4d 41 50 5f 43 4f | AP_FORMAT_TEXT_V1,.XKB_KEYMAP_CO |
| 239a0 | 4d 50 49 4c 45 5f 4e 4f 5f 46 4c 41 47 53 29 3b 00 00 00 12 20 20 6d 75 6e 6d 61 70 28 73 2c 20 | MPILE_NO_FLAGS);......munmap(s,. |
| 239c0 | 73 69 7a 65 29 3b 00 00 00 14 20 20 69 66 20 28 61 2d 3e 78 6b 62 5f 6b 65 79 6d 61 70 29 00 00 | size);......if.(a->xkb_keymap).. |
| 239e0 | 00 30 20 20 20 20 61 2d 3e 78 6b 62 5f 73 74 61 74 65 20 3d 20 78 6b 62 5f 73 74 61 74 65 5f 6e | .0....a->xkb_state.=.xkb_state_n |
| 23a00 | 65 77 28 61 2d 3e 78 6b 62 5f 6b 65 79 6d 61 70 29 3b 00 00 00 01 7d 00 00 00 41 73 74 61 74 69 | ew(a->xkb_keymap);....}...Astati |
| 23a20 | 63 20 76 6f 69 64 20 6b 62 5f 65 6e 74 65 72 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 | c.void.kb_enter(void.*d,.struct. |
| 23a40 | 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 62 2c 20 75 69 6e 74 33 32 5f 74 20 73 2c 00 00 00 42 | wl_keyboard.*kb,.uint32_t.s,...B |
| 23a60 | 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 77 6c 5f 73 | .....................struct.wl_s |
| 23a80 | 75 72 66 61 63 65 20 2a 73 75 2c 20 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 6b 29 20 | urface.*su,.struct.wl_array.*k). |
| 23aa0 | 7b 7d 00 00 00 41 73 74 61 74 69 63 20 76 6f 69 64 20 6b 62 5f 6c 65 61 76 65 28 76 6f 69 64 20 | {}...Astatic.void.kb_leave(void. |
| 23ac0 | 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 62 2c 20 75 69 6e 74 | *d,.struct.wl_keyboard.*kb,.uint |
| 23ae0 | 33 32 5f 74 20 73 2c 00 00 00 2d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | 32_t.s,...-..................... |
| 23b00 | 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 29 20 7b 00 00 00 14 20 20 73 74 | struct.wl_surface.*su).{......st |
| 23b20 | 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 1d 20 20 73 74 72 75 63 74 20 69 74 69 | ruct.app.*a.=.d;......struct.iti |
| 23b40 | 6d 65 72 73 70 65 63 20 74 73 20 3d 20 7b 30 7d 3b 00 00 00 2e 20 20 74 69 6d 65 72 66 64 5f 73 | merspec.ts.=.{0};......timerfd_s |
| 23b60 | 65 74 74 69 6d 65 28 61 2d 3e 72 65 70 65 61 74 5f 66 64 2c 20 30 2c 20 26 74 73 2c 20 4e 55 4c | ettime(a->repeat_fd,.0,.&ts,.NUL |
| 23b80 | 4c 29 3b 00 00 00 01 7d 00 00 00 50 73 74 61 74 69 63 20 76 6f 69 64 20 6b 62 5f 6b 65 79 28 76 | L);....}...Pstatic.void.kb_key(v |
| 23ba0 | 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 62 2c 20 | oid.*d,.struct.wl_keyboard.*kb,. |
| 23bc0 | 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 2c 20 75 69 6e 74 33 32 5f 74 20 74 2c 00 00 00 32 | uint32_t.serial,.uint32_t.t,...2 |
| 23be0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 6b 65 79 2c | ...................uint32_t.key, |
| 23c00 | 20 75 69 6e 74 33 32 5f 74 20 73 74 61 74 65 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 | .uint32_t.state).{......struct.a |
| 23c20 | 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 1a 20 20 61 2d 3e 6c 61 73 74 5f 73 65 72 69 61 6c 20 3d | pp.*a.=.d;......a->last_serial.= |
| 23c40 | 20 73 65 72 69 61 6c 3b 00 00 00 2f 20 20 69 66 20 28 73 74 61 74 65 20 3d 3d 20 57 4c 5f 4b 45 | .serial;.../..if.(state.==.WL_KE |
| 23c60 | 59 42 4f 41 52 44 5f 4b 45 59 5f 53 54 41 54 45 5f 50 52 45 53 53 45 44 29 20 7b 00 00 00 18 20 | YBOARD_KEY_STATE_PRESSED).{..... |
| 23c80 | 20 20 20 70 72 6f 63 65 73 73 5f 6b 65 79 28 61 2c 20 6b 65 79 29 3b 00 00 00 18 20 20 20 20 61 | ...process_key(a,.key);........a |
| 23ca0 | 2d 3e 72 65 70 65 61 74 5f 6b 65 79 20 3d 20 6b 65 79 3b 00 00 00 1d 20 20 20 20 69 66 20 28 61 | ->repeat_key.=.key;........if.(a |
| 23cc0 | 2d 3e 72 65 70 65 61 74 5f 72 61 74 65 20 3e 20 30 29 20 7b 00 00 00 1e 20 20 20 20 20 20 73 74 | ->repeat_rate.>.0).{..........st |
| 23ce0 | 72 75 63 74 20 69 74 69 6d 65 72 73 70 65 63 20 74 73 20 3d 20 7b 00 00 00 38 20 20 20 20 20 20 | ruct.itimerspec.ts.=.{...8...... |
| 23d00 | 20 20 20 20 2e 69 74 5f 76 61 6c 75 65 20 3d 20 7b 2e 74 76 5f 73 65 63 20 3d 20 61 2d 3e 72 65 | .....it_value.=.{.tv_sec.=.a->re |
| 23d20 | 70 65 61 74 5f 64 65 6c 61 79 20 2f 20 31 30 30 30 2c 00 00 00 47 20 20 20 20 20 20 20 20 20 20 | peat_delay./.1000,...G.......... |
| 23d40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 74 76 5f 6e 73 65 63 20 3d 20 28 61 2d 3e 72 65 70 65 | ..............tv_nsec.=.(a->repe |
| 23d60 | 61 74 5f 64 65 6c 61 79 20 25 20 31 30 30 30 29 20 2a 20 31 30 30 30 30 30 30 4c 7d 2c 00 00 00 | at_delay.%.1000).*.1000000L},... |
| 23d80 | 50 20 20 20 20 20 20 20 20 20 20 2e 69 74 5f 69 6e 74 65 72 76 61 6c 20 3d 20 7b 2e 74 76 5f 73 | P...........it_interval.=.{.tv_s |
| 23da0 | 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 30 30 30 30 4c 20 2f | ec.=.0,..tv_nsec.=.1000000000L./ |
| 23dc0 | 20 61 2d 3e 72 65 70 65 61 74 5f 72 61 74 65 7d 2c 00 00 00 08 20 20 20 20 20 20 7d 3b 00 00 00 | .a->repeat_rate},..........};... |
| 23de0 | 32 20 20 20 20 20 20 74 69 6d 65 72 66 64 5f 73 65 74 74 69 6d 65 28 61 2d 3e 72 65 70 65 61 74 | 2......timerfd_settime(a->repeat |
| 23e00 | 5f 66 64 2c 20 30 2c 20 26 74 73 2c 20 4e 55 4c 4c 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 0a | _fd,.0,.&ts,.NULL);........}.... |
| 23e20 | 20 20 7d 20 65 6c 73 65 20 7b 00 00 00 1f 20 20 20 20 73 74 72 75 63 74 20 69 74 69 6d 65 72 73 | ..}.else.{........struct.itimers |
| 23e40 | 70 65 63 20 74 73 20 3d 20 7b 30 7d 3b 00 00 00 30 20 20 20 20 74 69 6d 65 72 66 64 5f 73 65 74 | pec.ts.=.{0};...0....timerfd_set |
| 23e60 | 74 69 6d 65 28 61 2d 3e 72 65 70 65 61 74 5f 66 64 2c 20 30 2c 20 26 74 73 2c 20 4e 55 4c 4c 29 | time(a->repeat_fd,.0,.&ts,.NULL) |
| 23e80 | 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 45 73 74 61 74 69 63 20 76 6f 69 64 20 6b 62 5f | ;......}....}...Estatic.void.kb_ |
| 23ea0 | 6d 6f 64 69 66 69 65 72 73 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 | modifiers(void.*d,.struct.wl_key |
| 23ec0 | 62 6f 61 72 64 20 2a 6b 62 2c 20 75 69 6e 74 33 32 5f 74 20 73 2c 00 00 00 45 20 20 20 20 20 20 | board.*kb,.uint32_t.s,...E...... |
| 23ee0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 64 65 70 2c | ...................uint32_t.dep, |
| 23f00 | 20 75 69 6e 74 33 32 5f 74 20 6c 61 74 2c 20 75 69 6e 74 33 32 5f 74 20 6c 6f 63 6b 65 64 2c 00 | .uint32_t.lat,.uint32_t.locked,. |
| 23f20 | 00 00 28 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 75 69 6e 74 | ..(.........................uint |
| 23f40 | 33 32 5f 74 20 67 72 70 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d | 32_t.grp).{......struct.app.*a.= |
| 23f60 | 20 64 3b 00 00 00 13 20 20 69 66 20 28 61 2d 3e 78 6b 62 5f 73 74 61 74 65 29 00 00 00 45 20 20 | .d;......if.(a->xkb_state)...E.. |
| 23f80 | 20 20 78 6b 62 5f 73 74 61 74 65 5f 75 70 64 61 74 65 5f 6d 61 73 6b 28 61 2d 3e 78 6b 62 5f 73 | ..xkb_state_update_mask(a->xkb_s |
| 23fa0 | 74 61 74 65 2c 20 64 65 70 2c 20 6c 61 74 2c 20 6c 6f 63 6b 65 64 2c 20 30 2c 20 30 2c 20 67 72 | tate,.dep,.lat,.locked,.0,.0,.gr |
| 23fc0 | 70 29 3b 00 00 00 01 7d 00 00 00 44 73 74 61 74 69 63 20 76 6f 69 64 20 6b 62 5f 72 65 70 65 61 | p);....}...Dstatic.void.kb_repea |
| 23fe0 | 74 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b | t(void.*d,.struct.wl_keyboard.*k |
| 24000 | 62 2c 20 69 6e 74 33 32 5f 74 20 72 61 74 65 2c 00 00 00 26 20 20 20 20 20 20 20 20 20 20 20 20 | b,.int32_t.rate,...&............ |
| 24020 | 20 20 20 20 20 20 20 20 20 20 69 6e 74 33 32 5f 74 20 64 65 6c 61 79 29 20 7b 00 00 00 14 20 20 | ..........int32_t.delay).{...... |
| 24040 | 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 18 20 20 61 2d 3e 72 65 70 65 61 | struct.app.*a.=.d;......a->repea |
| 24060 | 74 5f 72 61 74 65 20 3d 20 72 61 74 65 3b 00 00 00 1a 20 20 61 2d 3e 72 65 70 65 61 74 5f 64 65 | t_rate.=.rate;......a->repeat_de |
| 24080 | 6c 61 79 20 3d 20 64 65 6c 61 79 3b 00 00 00 01 7d 00 00 00 3e 73 74 61 74 69 63 20 63 6f 6e 73 | lay.=.delay;....}...>static.cons |
| 240a0 | 74 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 5f 6c 69 73 74 65 6e 65 72 20 6b 65 | t.struct.wl_keyboard_listener.ke |
| 240c0 | 79 62 6f 61 72 64 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 18 20 20 20 20 2e 6b 65 79 6d | yboard_listener.=.{.........keym |
| 240e0 | 61 70 20 3d 20 6b 62 5f 6b 65 79 6d 61 70 2c 00 00 00 16 20 20 20 20 2e 65 6e 74 65 72 20 3d 20 | ap.=.kb_keymap,.........enter.=. |
| 24100 | 6b 62 5f 65 6e 74 65 72 2c 00 00 00 16 20 20 20 20 2e 6c 65 61 76 65 20 3d 20 6b 62 5f 6c 65 61 | kb_enter,.........leave.=.kb_lea |
| 24120 | 76 65 2c 00 00 00 12 20 20 20 20 2e 6b 65 79 20 3d 20 6b 62 5f 6b 65 79 2c 00 00 00 1e 20 20 20 | ve,.........key.=.kb_key,....... |
| 24140 | 20 2e 6d 6f 64 69 66 69 65 72 73 20 3d 20 6b 62 5f 6d 6f 64 69 66 69 65 72 73 2c 00 00 00 1e 20 | ..modifiers.=.kb_modifiers,..... |
| 24160 | 20 20 20 2e 72 65 70 65 61 74 5f 69 6e 66 6f 20 3d 20 6b 62 5f 72 65 70 65 61 74 7d 3b 00 00 00 | ....repeat_info.=.kb_repeat};... |
| 24180 | 00 00 00 00 45 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 61 74 5f 63 61 70 73 28 76 6f 69 64 20 | ....Estatic.void.seat_caps(void. |
| 241a0 | 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 73 65 61 74 20 2a 73 65 61 74 2c 20 75 69 6e 74 33 32 | *d,.struct.wl_seat.*seat,.uint32 |
| 241c0 | 5f 74 20 63 61 70 73 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 | _t.caps).{......struct.app.*a.=. |
| 241e0 | 64 3b 00 00 00 3d 20 20 69 66 20 28 28 63 61 70 73 20 26 20 57 4c 5f 53 45 41 54 5f 43 41 50 41 | d;...=..if.((caps.&.WL_SEAT_CAPA |
| 24200 | 42 49 4c 49 54 59 5f 4b 45 59 42 4f 41 52 44 29 20 26 26 20 21 61 2d 3e 6b 65 79 62 6f 61 72 64 | BILITY_KEYBOARD).&&.!a->keyboard |
| 24220 | 29 20 7b 00 00 00 2d 20 20 20 20 61 2d 3e 6b 65 79 62 6f 61 72 64 20 3d 20 77 6c 5f 73 65 61 74 | ).{...-....a->keyboard.=.wl_seat |
| 24240 | 5f 67 65 74 5f 6b 65 79 62 6f 61 72 64 28 73 65 61 74 29 3b 00 00 00 41 20 20 20 20 77 6c 5f 6b | _get_keyboard(seat);...A....wl_k |
| 24260 | 65 79 62 6f 61 72 64 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2d 3e 6b 65 79 62 6f 61 72 64 | eyboard_add_listener(a->keyboard |
| 24280 | 2c 20 26 6b 65 79 62 6f 61 72 64 5f 6c 69 73 74 65 6e 65 72 2c 20 61 29 3b 00 00 00 44 20 20 7d | ,.&keyboard_listener,.a);...D..} |
| 242a0 | 20 65 6c 73 65 20 69 66 20 28 21 28 63 61 70 73 20 26 20 57 4c 5f 53 45 41 54 5f 43 41 50 41 42 | .else.if.(!(caps.&.WL_SEAT_CAPAB |
| 242c0 | 49 4c 49 54 59 5f 4b 45 59 42 4f 41 52 44 29 20 26 26 20 61 2d 3e 6b 65 79 62 6f 61 72 64 29 20 | ILITY_KEYBOARD).&&.a->keyboard). |
| 242e0 | 7b 00 00 00 25 20 20 20 20 77 6c 5f 6b 65 79 62 6f 61 72 64 5f 72 65 6c 65 61 73 65 28 61 2d 3e | {...%....wl_keyboard_release(a-> |
| 24300 | 6b 65 79 62 6f 61 72 64 29 3b 00 00 00 17 20 20 20 20 61 2d 3e 6b 65 79 62 6f 61 72 64 20 3d 20 | keyboard);........a->keyboard.=. |
| 24320 | 4e 55 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 3b 20 20 69 66 20 28 28 63 61 70 73 20 26 20 57 4c | NULL;......}...;..if.((caps.&.WL |
| 24340 | 5f 53 45 41 54 5f 43 41 50 41 42 49 4c 49 54 59 5f 50 4f 49 4e 54 45 52 29 20 26 26 20 21 61 2d | _SEAT_CAPABILITY_POINTER).&&.!a- |
| 24360 | 3e 70 6f 69 6e 74 65 72 29 20 7b 00 00 00 2b 20 20 20 20 61 2d 3e 70 6f 69 6e 74 65 72 20 3d 20 | >pointer).{...+....a->pointer.=. |
| 24380 | 77 6c 5f 73 65 61 74 5f 67 65 74 5f 70 6f 69 6e 74 65 72 28 73 65 61 74 29 3b 00 00 00 3a 20 20 | wl_seat_get_pointer(seat);...:.. |
| 243a0 | 20 20 77 6c 5f 70 6f 69 6e 74 65 72 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2d 3e 70 6f 69 | ..wl_pointer_add_listener(a->poi |
| 243c0 | 6e 74 65 72 2c 20 26 70 74 72 5f 6c 69 73 74 65 6e 65 72 2c 20 61 29 3b 00 00 00 42 20 20 7d 20 | nter,.&ptr_listener,.a);...B..}. |
| 243e0 | 65 6c 73 65 20 69 66 20 28 21 28 63 61 70 73 20 26 20 57 4c 5f 53 45 41 54 5f 43 41 50 41 42 49 | else.if.(!(caps.&.WL_SEAT_CAPABI |
| 24400 | 4c 49 54 59 5f 50 4f 49 4e 54 45 52 29 20 26 26 20 61 2d 3e 70 6f 69 6e 74 65 72 29 20 7b 00 00 | LITY_POINTER).&&.a->pointer).{.. |
| 24420 | 00 23 20 20 20 20 77 6c 5f 70 6f 69 6e 74 65 72 5f 72 65 6c 65 61 73 65 28 61 2d 3e 70 6f 69 6e | .#....wl_pointer_release(a->poin |
| 24440 | 74 65 72 29 3b 00 00 00 16 20 20 20 20 61 2d 3e 70 6f 69 6e 74 65 72 20 3d 20 4e 55 4c 4c 3b 00 | ter);........a->pointer.=.NULL;. |
| 24460 | 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 49 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 61 74 5f | .....}....}...Istatic.void.seat_ |
| 24480 | 6e 61 6d 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 73 65 61 74 20 2a 73 65 | name(void.*d,.struct.wl_seat.*se |
| 244a0 | 61 74 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6e 61 6d 65 29 20 7b 7d 00 00 00 50 73 74 61 74 | at,.const.char.*name).{}...Pstat |
| 244c0 | 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 73 65 61 74 5f 6c 69 73 74 65 6e 65 72 | ic.const.struct.wl_seat_listener |
| 244e0 | 20 73 65 61 74 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 2e 63 61 70 61 62 69 6c 69 74 69 65 73 20 | .seat_listener.=.{.capabilities. |
| 24500 | 3d 20 73 65 61 74 5f 63 61 70 73 2c 00 00 00 49 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | =.seat_caps,...I................ |
| 24520 | 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 | ................................ |
| 24540 | 20 20 20 20 20 20 2e 6e 61 6d 65 20 3d 20 73 65 61 74 5f 6e 61 6d 65 7d 3b 00 00 00 00 00 00 00 | .......name.=.seat_name};....... |
| 24560 | 43 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 5f 67 6c 6f 62 61 6c 28 76 6f 69 64 20 2a 64 2c | Cstatic.void.reg_global(void.*d, |
| 24580 | 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 2c 20 75 69 6e 74 33 32 5f 74 | .struct.wl_registry.*r,.uint32_t |
| 245a0 | 20 69 64 2c 00 00 00 37 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 | .id,...7.......................c |
| 245c0 | 6f 6e 73 74 20 63 68 61 72 20 2a 69 66 61 63 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 29 20 7b 00 | onst.char.*iface,.uint32_t.v).{. |
| 245e0 | 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 26 20 20 69 66 20 | .....struct.app.*a.=.d;...&..if. |
| 24600 | 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 22 29 | (!strcmp(iface,."wl_compositor") |
| 24620 | 29 00 00 00 43 20 20 20 20 61 2d 3e 63 6f 6d 70 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 | )...C....a->comp.=.wl_registry_b |
| 24640 | 69 6e 64 28 72 2c 20 69 64 2c 20 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 69 6e 74 65 72 66 | ind(r,.id,.&wl_compositor_interf |
| 24660 | 61 63 65 2c 20 34 29 3b 00 00 00 24 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 | ace,.4);...$..else.if.(!strcmp(i |
| 24680 | 66 61 63 65 2c 20 22 77 6c 5f 73 68 6d 22 29 29 00 00 00 3b 20 20 20 20 61 2d 3e 73 68 6d 20 3d | face,."wl_shm"))...;....a->shm.= |
| 246a0 | 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 77 6c 5f 73 68 6d | .wl_registry_bind(r,.id,.&wl_shm |
| 246c0 | 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 2b 20 20 65 6c 73 65 20 69 66 20 28 21 73 | _interface,.1);...+..else.if.(!s |
| 246e0 | 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 29 20 7b 00 00 | trcmp(iface,."xdg_wm_base")).{.. |
| 24700 | 00 3f 20 20 20 20 61 2d 3e 77 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 | .?....a->wm.=.wl_registry_bind(r |
| 24720 | 2c 20 69 64 2c 20 26 78 64 67 5f 77 6d 5f 62 61 73 65 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 | ,.id,.&xdg_wm_base_interface,.1) |
| 24740 | 3b 00 00 00 35 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 | ;...5....xdg_wm_base_add_listene |
| 24760 | 72 28 61 2d 3e 77 6d 2c 20 26 77 6d 5f 6c 69 73 74 65 6e 65 72 2c 20 61 29 3b 00 00 00 29 20 20 | r(a->wm,.&wm_listener,.a);...).. |
| 24780 | 7d 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 77 6c 5f 73 65 | }.else.if.(!strcmp(iface,."wl_se |
| 247a0 | 61 74 22 29 29 20 7b 00 00 00 3d 20 20 20 20 61 2d 3e 73 65 61 74 20 3d 20 77 6c 5f 72 65 67 69 | at")).{...=....a->seat.=.wl_regi |
| 247c0 | 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 77 6c 5f 73 65 61 74 5f 69 6e 74 65 72 66 | stry_bind(r,.id,.&wl_seat_interf |
| 247e0 | 61 63 65 2c 20 35 29 3b 00 00 00 35 20 20 20 20 77 6c 5f 73 65 61 74 5f 61 64 64 5f 6c 69 73 74 | ace,.5);...5....wl_seat_add_list |
| 24800 | 65 6e 65 72 28 61 2d 3e 73 65 61 74 2c 20 26 73 65 61 74 5f 6c 69 73 74 65 6e 65 72 2c 20 61 29 | ener(a->seat,.&seat_listener,.a) |
| 24820 | 3b 00 00 00 36 20 20 7d 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c | ;...6..}.else.if.(!strcmp(iface, |
| 24840 | 20 22 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 5f 6d 61 6e 61 67 65 72 22 29 29 00 00 00 4b 20 | ."wl_data_device_manager"))...K. |
| 24860 | 20 20 20 61 2d 3e 64 64 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 | ...a->ddm.=.wl_registry_bind(r,. |
| 24880 | 69 64 2c 20 26 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 5f 6d 61 6e 61 67 65 72 5f 69 6e 74 65 | id,.&wl_data_device_manager_inte |
| 248a0 | 72 66 61 63 65 2c 20 33 29 3b 00 00 00 01 7d 00 00 00 46 73 74 61 74 69 63 20 76 6f 69 64 20 72 | rface,.3);....}...Fstatic.void.r |
| 248c0 | 65 67 5f 72 65 6d 6f 76 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 | eg_remove(void.*d,.struct.wl_reg |
| 248e0 | 69 73 74 72 79 20 2a 72 2c 20 75 69 6e 74 33 32 5f 74 20 69 64 29 20 7b 7d 00 00 00 39 73 74 61 | istry.*r,.uint32_t.id).{}...9sta |
| 24900 | 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 6c 69 73 | tic.const.struct.wl_registry_lis |
| 24920 | 74 65 6e 65 72 20 72 65 67 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 37 20 20 20 20 2e 67 | tener.reg_listener.=.{...7.....g |
| 24940 | 6c 6f 62 61 6c 20 3d 20 72 65 67 5f 67 6c 6f 62 61 6c 2c 20 2e 67 6c 6f 62 61 6c 5f 72 65 6d 6f | lobal.=.reg_global,..global_remo |
| 24960 | 76 65 20 3d 20 72 65 67 5f 72 65 6d 6f 76 65 7d 3b 00 00 00 00 00 00 00 10 69 6e 74 20 6d 61 69 | ve.=.reg_remove};........int.mai |
| 24980 | 6e 28 76 6f 69 64 29 20 7b 00 00 00 15 20 20 69 66 20 28 21 6c 6f 61 64 5f 66 6f 6e 74 28 29 29 | n(void).{......if.(!load_font()) |
| 249a0 | 20 7b 00 00 00 3c 20 20 20 20 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 66 61 69 6c 65 | .{...<....fprintf(stderr,."faile |
| 249c0 | 64 20 74 6f 20 6c 6f 61 64 20 66 6f 6e 74 3a 20 25 73 5c 6e 22 2c 20 46 4f 4e 54 5f 4e 41 4d 45 | d.to.load.font:.%s\n",.FONT_NAME |
| 249e0 | 29 3b 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 | );........return.1;......}...... |
| 24a00 | 00 00 35 81 f5 18 00 00 00 00 10 00 00 00 0a 00 00 00 0e 04 00 00 00 00 00 00 0c 04 00 00 03 00 | ..5............................. |
| 24a20 | 00 00 8e 01 00 00 00 00 00 00 96 75 00 00 00 00 00 00 94 75 00 00 00 00 00 00 35 81 5f d0 00 00 | ...........u.......u......5._... |
| 24a40 | 00 0e 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 0f 00 00 04 1d 00 00 00 00 00 00 00 00 ff ff | ................................ |
| 24a60 | 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 00 00 | ................................ |
| 24a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24bc0 | 69 9f c7 7e 04 01 00 00 00 00 00 f5 18 00 00 04 1e 00 00 04 26 00 00 04 6b 00 00 00 01 00 00 00 | i..~................&...k....... |
| 24be0 | 02 20 20 f5 18 00 00 04 1f 00 00 04 20 00 00 04 6b 00 00 00 00 f5 18 00 00 04 1d 00 00 04 20 00 | ................k............... |
| 24c00 | 00 04 6a 00 00 00 01 00 00 00 02 20 20 f5 18 00 00 04 1d 00 00 04 1f 00 00 04 69 00 00 00 00 35 | ..j.......................i....5 |
| 24c20 | 81 f5 18 00 00 00 00 1d 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 23 | ...............................# |
| 24c40 | 77 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 f5 18 00 00 00 00 1d 04 00 | w............................... |
| 24c60 | 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 23 77 00 00 00 00 00 00 02 00 00 | .....................#w......... |
| 24c80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 1d 04 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24ca0 | 00 00 00 01 00 00 00 02 00 00 00 23 77 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 | ...........#w................... |
| 24cc0 | 00 00 00 f5 18 00 00 00 00 1e 04 00 00 02 00 00 00 00 00 00 00 00 00 00 00 06 00 00 00 0b 00 00 | ................................ |
| 24ce0 | 00 26 77 00 00 00 00 00 00 00 00 00 00 00 00 00 00 c3 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 | .&w......................5._.... |
| 24d00 | 0f 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 10 00 00 04 24 00 00 00 0a 00 00 00 00 ff ff ff | ....................$........... |
| 24d20 | 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 00 00 00 | ................................ |
| 24d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24da0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24e00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24e20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24e40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 24 00 | ..............................$. |
| 24e60 | 00 00 0a 00 00 00 00 00 00 04 24 00 00 00 18 00 00 00 00 00 00 00 76 00 00 00 18 00 00 00 00 69 | ..........$...........v........i |
| 24e80 | 9f c7 87 04 01 00 00 00 00 00 f5 18 00 00 04 23 00 00 04 25 00 00 04 71 00 00 00 01 00 00 00 29 | ...............#...%...q.......) |
| 24ea0 | 20 20 70 72 69 6e 74 66 28 22 46 6f 72 6d 61 74 74 65 64 20 74 69 6d 65 3a 20 25 73 5c 6e 22 2c | ..printf("Formatted.time:.%s\n", |
| 24ec0 | 20 62 75 66 66 65 72 29 3b 35 81 f5 18 00 00 00 00 23 04 00 00 0a 00 00 00 00 00 00 00 0f 00 00 | .buffer);5.......#.............. |
| 24ee0 | 00 00 00 00 00 00 00 00 00 be 77 00 00 00 00 00 00 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ..........w..................... |
| 24f00 | 00 35 81 5f d0 00 00 00 10 00 00 00 12 00 00 00 00 00 00 00 00 00 00 00 11 00 00 04 24 00 00 00 | .5._........................$... |
| 24f20 | 0a 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 00 00 | ................................ |
| 24f40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24f60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24f80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 25000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 25020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 25040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 25060 | 00 00 00 00 00 04 24 00 00 00 0a 00 00 00 00 00 00 04 24 00 00 00 18 00 00 00 00 00 00 00 76 00 | ......$...........$...........v. |
| 25080 | 00 00 18 00 00 00 00 69 9f c7 88 04 01 00 00 00 00 00 f5 18 00 00 04 23 00 00 04 25 00 00 04 71 | .......i...............#...%...q |
| 250a0 | 00 00 00 01 00 00 00 1a 20 20 70 72 69 6e 74 66 28 22 20 25 73 5c 6e 22 2c 20 62 75 66 66 65 72 | ..........printf(".%s\n",.buffer |
| 250c0 | 29 3b 35 81 f5 18 00 00 00 00 23 04 00 00 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0a 00 | );5.......#..................... |
| 250e0 | 00 00 be 77 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0a 00 00 00 00 00 00 00 35 81 5f d0 00 00 | ...w......................5._... |
| 25100 | 00 11 00 00 00 13 00 00 00 00 00 00 00 00 00 00 00 12 00 00 04 24 00 00 00 13 00 00 00 00 ff ff | .....................$.......... |
| 25120 | 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 00 00 | ................................ |
| 25140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 25160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 25180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 251a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 251c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 251e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 25200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 25220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 25240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 24 | ...............................$ |
| 25260 | 00 00 00 0a 00 00 00 00 00 00 04 24 00 00 00 18 00 00 00 00 00 00 00 76 00 00 00 18 00 00 00 00 | ...........$...........v........ |
| 25280 | 69 9f c7 8a 04 01 00 00 00 0a 00 f5 18 00 00 04 1e 00 00 04 20 00 00 04 71 00 00 00 01 00 00 00 | i.......................q....... |
| 252a0 | 1c 20 20 20 20 74 69 6d 65 5f 74 20 6e 6f 77 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 35 81 f5 | .....time_t.now.=.time(NULL);5.. |
| 252c0 | 18 00 00 00 00 1e 04 00 00 02 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 26 77 00 | .............................&w. |
| 252e0 | 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 12 00 00 00 | .....................5._........ |
| 25300 | 14 00 00 00 00 00 00 00 00 00 00 00 13 00 00 04 23 00 00 00 2e 00 00 00 00 ff ff ff ff 00 01 00 | ................#............... |
| 25320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 25340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 25360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 25380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 253a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 253c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 253e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 25400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 25420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 25440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 24 00 00 00 0a 00 | ..........................$..... |
| 25460 | 00 00 00 00 00 04 24 00 00 00 18 00 00 00 00 00 00 00 76 00 00 00 18 00 00 00 00 69 9f c7 8d 04 | ......$...........v........i.... |
| 25480 | 01 00 00 00 0b 00 f5 18 00 00 04 22 00 00 04 24 00 00 04 71 00 00 00 01 00 00 00 3b 20 20 73 74 | ..........."...$...q.......;..st |
| 254a0 | 72 66 74 69 6d 65 28 62 75 66 66 65 72 2c 20 73 69 7a 65 6f 66 28 62 75 66 66 65 72 29 2c 20 22 | rftime(buffer,.sizeof(buffer),." |
| 254c0 | 25 64 2d 25 6d 2d 25 59 20 25 48 3a 25 4d 3a 25 53 22 2c 20 74 29 3b 35 81 f5 18 00 00 00 00 22 | %d-%m-%Y.%H:%M:%S",.t);5......." |
| 254e0 | 04 00 00 2e 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 01 00 00 00 a4 77 00 00 00 00 00 00 01 | ........................w....... |
| 25500 | 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 13 00 00 00 16 00 00 00 00 00 | ...............5._.............. |
| 25520 | 00 00 00 00 00 00 14 00 00 04 23 00 00 00 35 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 | ..........#...5................. |
| 25540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 25560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 25580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 255a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 255c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 255e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 25600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 25620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 25640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 25660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 24 00 00 00 0a 00 00 00 00 00 00 04 | ....................$........... |
| 25680 | 24 00 00 00 18 00 00 00 00 00 00 00 76 00 00 00 18 00 00 00 00 69 9f c7 90 04 01 00 00 00 0e 00 | $...........v........i.......... |
| 256a0 | f5 18 00 00 04 22 00 00 04 24 00 00 04 71 00 00 00 01 00 00 00 3b 20 20 73 74 72 66 74 69 6d 65 | ....."...$...q.......;..strftime |
| 256c0 | 28 62 75 66 66 65 72 2c 20 73 69 7a 65 6f 66 28 62 75 66 66 65 72 29 2c 20 22 25 64 2d 25 6d 2d | (buffer,.sizeof(buffer),."%d-%m- |
| 256e0 | 25 59 20 25 49 3a 25 4d 3a 25 53 22 2c 20 74 29 3b 35 81 f5 18 00 00 00 00 22 04 00 00 35 00 00 | %Y.%I:%M:%S",.t);5......."...5.. |
| 25700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 ab 77 00 00 00 00 00 00 00 00 00 00 00 00 00 | ..................w............. |
| 25720 | 00 03 00 00 00 00 00 00 00 f5 18 00 00 00 00 22 04 00 00 36 00 00 00 00 00 00 00 02 00 00 00 00 | ..............."...6............ |
| 25740 | 00 00 00 02 00 00 00 ac 77 00 00 00 00 00 00 02 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 35 | ........w......................5 |
| 25760 | 81 5f d0 00 00 00 14 00 00 00 17 00 00 00 15 00 00 00 00 00 00 00 16 00 00 04 25 00 00 00 08 00 | ._........................%..... |
| 25780 | 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 00 00 00 00 | ................................ |
| 257a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 257c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 257e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 25800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 25820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 25840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 25860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 25880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 258a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 258c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 258e0 | 00 00 00 00 00 69 9f c7 a3 04 01 00 00 00 10 00 f5 18 00 00 04 24 00 00 04 25 00 00 00 00 00 00 | .....i...............$...%...... |
| 25900 | 00 01 00 00 00 0b 20 20 72 65 74 75 72 6e 20 30 3b 35 81 f5 18 00 00 00 00 24 04 00 00 00 00 00 | ........return.0;5.......$...... |
| 25920 | 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 da 77 00 00 00 00 00 00 0c 00 00 00 00 00 00 | ..................w............. |
| 25940 | 00 00 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 16 00 00 00 18 00 00 00 00 00 00 00 00 00 00 00 | .........5._.................... |
| 25960 | 17 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 25980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 259a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 259c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 259e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 25a00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 25a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 25a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 25a60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 25a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 25aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 25ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9f cb c3 04 01 00 00 00 00 00 f5 18 00 00 00 00 | ...............i................ |
| 25ae0 | 00 00 00 02 00 00 00 00 00 00 04 70 00 00 00 24 23 69 6e 63 6c 75 64 65 20 3c 77 61 79 6c 61 6e | ...........p...$#include.<waylan |
| 25b00 | 64 2d 63 6c 69 65 6e 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 3e 00 00 00 1f 23 64 65 66 69 6e 65 20 | d-client-protocol.h>....#define. |
| 25b20 | 5f 50 4f 53 49 58 5f 43 5f 53 4f 55 52 43 45 20 32 30 30 38 30 39 4c 00 00 00 13 23 69 6e 63 6c | _POSIX_C_SOURCE.200809L....#incl |
| 25b40 | 75 64 65 20 22 63 6f 6e 66 69 67 2e 68 22 00 00 00 26 23 69 6e 63 6c 75 64 65 20 22 78 64 67 2d | ude."config.h"...&#include."xdg- |
| 25b60 | 73 68 65 6c 6c 2d 63 6c 69 65 6e 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 12 23 69 6e 63 | shell-client-protocol.h"....#inc |
| 25b80 | 6c 75 64 65 20 3c 65 72 72 6e 6f 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 66 63 6e 74 | lude.<errno.h>....#include.<fcnt |
| 25ba0 | 6c 2e 68 3e 00 00 00 22 23 69 6e 63 6c 75 64 65 20 3c 66 6f 6e 74 63 6f 6e 66 69 67 2f 66 6f 6e | l.h>..."#include.<fontconfig/fon |
| 25bc0 | 74 63 6f 6e 66 69 67 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 66 74 32 62 75 69 6c 64 | tconfig.h>....#include.<ft2build |
| 25be0 | 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 70 6f 6c 6c 2e 68 3e 00 00 00 14 23 69 6e 63 | .h>....#include.<poll.h>....#inc |
| 25c00 | 6c 75 64 65 20 3c 73 74 64 62 6f 6f 6c 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 74 | lude.<stdbool.h>....#include.<st |
| 25c20 | 64 69 6e 74 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6f 2e 68 3e 00 00 00 | dint.h>....#include.<stdio.h>... |
| 25c40 | 13 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 6c 69 62 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 | .#include.<stdlib.h>....#include |
| 25c60 | 20 3c 73 74 72 69 6e 67 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d 61 | .<string.h>....#include.<sys/mma |
| 25c80 | 6e 2e 68 3e 00 00 00 18 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 74 69 6d 65 72 66 64 2e 68 3e | n.h>....#include.<sys/timerfd.h> |
| 25ca0 | 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 74 69 6d 65 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 | ....#include.<time.h>....#includ |
| 25cc0 | 65 20 3c 75 6e 69 73 74 64 2e 68 3e 00 00 00 1b 23 69 6e 63 6c 75 64 65 20 3c 77 61 79 6c 61 6e | e.<unistd.h>....#include.<waylan |
| 25ce0 | 64 2d 63 6c 69 65 6e 74 2e 68 3e 00 00 00 20 23 69 6e 63 6c 75 64 65 20 3c 78 6b 62 63 6f 6d 6d | d-client.h>....#include.<xkbcomm |
| 25d00 | 6f 6e 2f 78 6b 62 63 6f 6d 6d 6f 6e 2e 68 3e 00 00 00 16 23 69 6e 63 6c 75 64 65 20 46 54 5f 46 | on/xkbcommon.h>....#include.FT_F |
| 25d20 | 52 45 45 54 59 50 45 5f 48 00 00 00 00 00 00 00 16 23 64 65 66 69 6e 65 20 4d 41 58 5f 54 45 58 | REETYPE_H........#define.MAX_TEX |
| 25d40 | 54 20 36 35 35 33 36 00 00 00 10 23 64 65 66 69 6e 65 20 42 41 52 5f 48 20 32 38 00 00 00 12 23 | T.65536....#define.BAR_H.28....# |
| 25d60 | 64 65 66 69 6e 65 20 42 54 4e 5f 50 41 44 20 31 30 00 00 00 0d 23 64 65 66 69 6e 65 20 50 41 44 | define.BTN_PAD.10....#define.PAD |
| 25d80 | 20 38 00 00 00 00 00 00 00 17 23 64 65 66 69 6e 65 20 42 47 5f 43 4f 4c 4f 52 20 43 46 47 5f 42 | .8........#define.BG_COLOR.CFG_B |
| 25da0 | 47 00 00 00 17 23 64 65 66 69 6e 65 20 46 47 5f 43 4f 4c 4f 52 20 43 46 47 5f 46 47 00 00 00 1c | G....#define.FG_COLOR.CFG_FG.... |
| 25dc0 | 23 64 65 66 69 6e 65 20 43 55 52 5f 43 4f 4c 4f 52 20 43 46 47 5f 43 55 52 53 4f 52 00 00 00 1c | #define.CUR_COLOR.CFG_CURSOR.... |
| 25de0 | 23 64 65 66 69 6e 65 20 53 45 4c 5f 43 4f 4c 4f 52 20 43 46 47 5f 53 45 4c 5f 42 47 00 00 00 19 | #define.SEL_COLOR.CFG_SEL_BG.... |
| 25e00 | 23 64 65 66 69 6e 65 20 53 45 4c 5f 46 47 20 43 46 47 5f 53 45 4c 5f 46 47 00 00 00 19 23 64 65 | #define.SEL_FG.CFG_SEL_FG....#de |
| 25e20 | 66 69 6e 65 20 42 41 52 5f 42 47 20 43 46 47 5f 42 41 52 5f 42 47 00 00 00 19 23 64 65 66 69 6e | fine.BAR_BG.CFG_BAR_BG....#defin |
| 25e40 | 65 20 42 41 52 5f 46 47 20 43 46 47 5f 42 41 52 5f 46 47 00 00 00 1b 23 64 65 66 69 6e 65 20 42 | e.BAR_FG.CFG_BAR_FG....#define.B |
| 25e60 | 54 4e 5f 48 4f 56 20 43 46 47 5f 42 54 4e 5f 48 4f 56 00 00 00 1b 23 64 65 66 69 6e 65 20 44 52 | TN_HOV.CFG_BTN_HOV....#define.DR |
| 25e80 | 4f 50 5f 42 47 20 43 46 47 5f 44 52 4f 50 5f 42 47 00 00 00 1b 23 64 65 66 69 6e 65 20 44 52 4f | OP_BG.CFG_DROP_BG....#define.DRO |
| 25ea0 | 50 5f 46 47 20 43 46 47 5f 44 52 4f 50 5f 46 47 00 00 00 1d 23 64 65 66 69 6e 65 20 44 52 4f 50 | P_FG.CFG_DROP_FG....#define.DROP |
| 25ec0 | 5f 48 4f 56 20 43 46 47 5f 44 52 4f 50 5f 48 4f 56 00 00 00 23 23 64 65 66 69 6e 65 20 44 52 4f | _HOV.CFG_DROP_HOV...##define.DRO |
| 25ee0 | 50 5f 48 4f 56 5f 46 47 20 43 46 47 5f 44 52 4f 50 5f 48 4f 56 5f 46 47 00 00 00 19 23 64 65 66 | P_HOV_FG.CFG_DROP_HOV_FG....#def |
| 25f00 | 69 6e 65 20 53 45 50 5f 43 4f 4c 4f 52 20 43 46 47 5f 53 45 50 00 00 00 00 00 00 00 21 73 74 61 | ine.SEP_COLOR.CFG_SEP.......!sta |
| 25f20 | 74 69 63 20 63 68 61 72 20 74 65 78 74 5b 4d 41 58 5f 54 45 58 54 5d 20 3d 20 7b 30 7d 3b 00 00 | tic.char.text[MAX_TEXT].=.{0};.. |
| 25f40 | 00 14 73 74 61 74 69 63 20 69 6e 74 20 74 6c 65 6e 20 3d 20 30 3b 00 00 00 16 73 74 61 74 69 63 | ..static.int.tlen.=.0;....static |
| 25f60 | 20 69 6e 74 20 63 75 72 73 6f 72 20 3d 20 30 3b 00 00 00 1b 73 74 61 74 69 63 20 69 6e 74 20 73 | .int.cursor.=.0;....static.int.s |
| 25f80 | 65 6c 5f 61 6e 63 68 6f 72 20 3d 20 2d 31 3b 00 00 00 21 73 74 61 74 69 63 20 63 68 61 72 20 66 | el_anchor.=.-1;...!static.char.f |
| 25fa0 | 69 6c 65 70 61 74 68 5b 34 30 39 36 5d 20 3d 20 7b 30 7d 3b 00 00 00 1a 73 74 61 74 69 63 20 62 | ilepath[4096].=.{0};....static.b |
| 25fc0 | 6f 6f 6c 20 64 69 72 74 79 20 3d 20 66 61 6c 73 65 3b 00 00 00 00 00 00 00 19 73 74 61 74 69 63 | ool.dirty.=.false;........static |
| 25fe0 | 20 46 54 5f 4c 69 62 72 61 72 79 20 66 74 5f 6c 69 62 3b 00 00 00 17 73 74 61 74 69 63 20 46 54 | .FT_Library.ft_lib;....static.FT |
| 26000 | 5f 46 61 63 65 20 66 74 5f 66 61 63 65 3b 00 00 00 12 73 74 61 74 69 63 20 69 6e 74 20 63 65 6c | _Face.ft_face;....static.int.cel |
| 26020 | 6c 5f 77 3b 00 00 00 12 73 74 61 74 69 63 20 69 6e 74 20 63 65 6c 6c 5f 68 3b 00 00 00 14 73 74 | l_w;....static.int.cell_h;....st |
| 26040 | 61 74 69 63 20 69 6e 74 20 61 73 63 65 6e 64 65 72 3b 00 00 00 1f 73 74 61 74 69 63 20 69 6e 74 | atic.int.ascender;....static.int |
| 26060 | 20 66 6f 6e 74 5f 70 74 20 3d 20 46 4f 4e 54 5f 53 49 5a 45 3b 00 00 00 00 00 00 00 45 74 79 70 | .font_pt.=.FONT_SIZE;.......Etyp |
| 26080 | 65 64 65 66 20 65 6e 75 6d 20 7b 20 4d 45 4e 55 5f 4e 4f 4e 45 20 3d 20 2d 31 2c 20 4d 45 4e 55 | edef.enum.{.MENU_NONE.=.-1,.MENU |
| 260a0 | 5f 46 49 4c 45 20 3d 20 30 2c 20 4d 45 4e 55 5f 49 4e 46 4f 20 3d 20 31 20 7d 20 4d 65 6e 75 49 | _FILE.=.0,.MENU_INFO.=.1.}.MenuI |
| 260c0 | 64 3b 00 00 00 00 00 00 00 10 74 79 70 65 64 65 66 20 73 74 72 75 63 74 20 7b 00 00 00 14 20 20 | d;........typedef.struct.{...... |
| 260e0 | 63 6f 6e 73 74 20 63 68 61 72 20 2a 6c 61 62 65 6c 3b 00 00 00 11 20 20 62 6f 6f 6c 20 73 65 70 | const.char.*label;......bool.sep |
| 26100 | 5f 61 66 74 65 72 3b 00 00 00 0b 7d 20 4d 65 6e 75 49 74 65 6d 3b 00 00 00 00 00 00 00 26 73 74 | _after;....}.MenuItem;.......&st |
| 26120 | 61 74 69 63 20 63 6f 6e 73 74 20 4d 65 6e 75 49 74 65 6d 20 66 69 6c 65 5f 69 74 65 6d 73 5b 5d | atic.const.MenuItem.file_items[] |
| 26140 | 20 3d 20 7b 00 00 00 41 20 20 20 20 7b 22 4e 65 77 22 2c 20 66 61 6c 73 65 7d 2c 20 20 20 20 7b | .=.{...A....{"New",.false},....{ |
| 26160 | 22 4f 70 65 6e 22 2c 20 66 61 6c 73 65 7d 2c 20 20 20 20 20 20 20 20 20 20 7b 22 53 61 76 65 22 | "Open",.false},..........{"Save" |
| 26180 | 2c 20 66 61 6c 73 65 7d 2c 00 00 00 41 20 20 20 20 7b 22 53 61 76 65 20 41 73 22 2c 20 74 72 75 | ,.false},...A....{"Save.As",.tru |
| 261a0 | 65 7d 2c 20 7b 22 53 61 76 65 20 61 6e 64 20 51 75 69 74 22 2c 20 66 61 6c 73 65 7d 2c 20 7b 22 | e},.{"Save.and.Quit",.false},.{" |
| 261c0 | 51 75 69 74 22 2c 20 66 61 6c 73 65 7d 2c 00 00 00 02 7d 3b 00 00 00 26 73 74 61 74 69 63 20 63 | Quit",.false},....};...&static.c |
| 261e0 | 6f 6e 73 74 20 4d 65 6e 75 49 74 65 6d 20 69 6e 66 6f 5f 69 74 65 6d 73 5b 5d 20 3d 20 7b 00 00 | onst.MenuItem.info_items[].=.{.. |
| 26200 | 00 15 20 20 20 20 7b 22 41 62 6f 75 74 22 2c 20 66 61 6c 73 65 7d 2c 00 00 00 02 7d 3b 00 00 00 | ......{"About",.false},....};... |
| 26220 | 3e 23 64 65 66 69 6e 65 20 4e 5f 46 49 4c 45 20 28 28 69 6e 74 29 28 73 69 7a 65 6f 66 20 66 69 | >#define.N_FILE.((int)(sizeof.fi |
| 26240 | 6c 65 5f 69 74 65 6d 73 20 2f 20 73 69 7a 65 6f 66 20 2a 66 69 6c 65 5f 69 74 65 6d 73 29 29 00 | le_items./.sizeof.*file_items)). |
| 26260 | 00 00 3e 23 64 65 66 69 6e 65 20 4e 5f 49 4e 46 4f 20 28 28 69 6e 74 29 28 73 69 7a 65 6f 66 20 | ..>#define.N_INFO.((int)(sizeof. |
| 26280 | 69 6e 66 6f 5f 69 74 65 6d 73 20 2f 20 73 69 7a 65 6f 66 20 2a 69 6e 66 6f 5f 69 74 65 6d 73 29 | info_items./.sizeof.*info_items) |
| 262a0 | 29 00 00 00 00 00 00 00 0e 73 74 72 75 63 74 20 70 6f 70 75 70 20 7b 00 00 00 18 20 20 73 74 72 | )........struct.popup.{......str |
| 262c0 | 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 77 73 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 | uct.wl_surface.*ws;......struct. |
| 262e0 | 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 78 64 67 | xdg_surface.*xs;......struct.xdg |
| 26300 | 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 3b 00 00 00 0f 20 20 76 6f 69 64 20 2a 70 69 78 65 6c 73 | _toplevel.*xt;......void.*pixels |
| 26320 | 3b 00 00 00 15 20 20 73 69 7a 65 5f 74 20 70 69 78 65 6c 73 5f 73 69 7a 65 3b 00 00 00 18 20 20 | ;......size_t.pixels_size;...... |
| 26340 | 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 3b 00 00 00 0b 20 20 69 6e 74 20 | struct.wl_buffer.*buf;......int. |
| 26360 | 77 2c 20 68 3b 00 00 00 12 20 20 62 6f 6f 6c 20 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 0c 20 | w,.h;......bool.configured;..... |
| 26380 | 20 62 6f 6f 6c 20 6f 70 65 6e 3b 00 00 00 02 7d 3b 00 00 00 00 00 00 00 0c 73 74 72 75 63 74 20 | .bool.open;....};........struct. |
| 263a0 | 61 70 70 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 20 2a 64 3b | app.{......struct.wl_display.*d; |
| 263c0 | 00 00 00 1a 20 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 3b 00 00 | ......struct.wl_registry.*reg;.. |
| 263e0 | 00 1d 20 20 73 74 72 75 63 74 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 20 2a 63 6f 6d 70 3b 00 | ....struct.wl_compositor.*comp;. |
| 26400 | 00 00 15 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d 3b 00 00 00 19 20 20 73 74 | .....struct.wl_shm.*shm;......st |
| 26420 | 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 3b 00 00 00 18 20 20 73 74 72 75 63 | ruct.xdg_wm_base.*wm;......struc |
| 26440 | 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 77 73 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 | t.wl_surface.*ws;......struct.xd |
| 26460 | 67 5f 73 75 72 66 61 63 65 20 2a 78 73 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 78 64 67 5f 74 | g_surface.*xs;......struct.xdg_t |
| 26480 | 6f 70 6c 65 76 65 6c 20 2a 78 74 3b 00 00 00 17 20 20 73 74 72 75 63 74 20 77 6c 5f 73 65 61 74 | oplevel.*xt;......struct.wl_seat |
| 264a0 | 20 2a 73 65 61 74 3b 00 00 00 1f 20 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 | .*seat;......struct.wl_keyboard. |
| 264c0 | 2a 6b 65 79 62 6f 61 72 64 3b 00 00 00 1d 20 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 | *keyboard;......struct.wl_pointe |
| 264e0 | 72 20 2a 70 6f 69 6e 74 65 72 3b 00 00 00 25 20 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f | r.*pointer;...%..struct.wl_data_ |
| 26500 | 64 65 76 69 63 65 5f 6d 61 6e 61 67 65 72 20 2a 64 64 6d 3b 00 00 00 1c 20 20 73 74 72 75 63 74 | device_manager.*ddm;......struct |
| 26520 | 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 20 2a 64 64 3b 00 00 00 1c 20 20 73 74 72 75 63 74 | .wl_data_device.*dd;......struct |
| 26540 | 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 20 2a 64 73 3b 00 00 00 0f 20 20 76 6f 69 64 20 2a | .wl_data_source.*ds;......void.* |
| 26560 | 70 69 78 65 6c 73 3b 00 00 00 15 20 20 73 69 7a 65 5f 74 20 70 69 78 65 6c 73 5f 73 69 7a 65 3b | pixels;......size_t.pixels_size; |
| 26580 | 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 3b 00 00 00 21 | ......struct.wl_buffer.*buf;...! |
| 265a0 | 20 20 69 6e 74 20 77 2c 20 68 2c 20 70 65 6e 64 69 6e 67 5f 77 2c 20 70 65 6e 64 69 6e 67 5f 68 | ..int.w,.h,.pending_w,.pending_h |
| 265c0 | 3b 00 00 00 12 20 20 62 6f 6f 6c 20 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 1e 20 20 73 74 72 | ;......bool.configured;......str |
| 265e0 | 75 63 74 20 78 6b 62 5f 63 6f 6e 74 65 78 74 20 2a 78 6b 62 5f 63 74 78 3b 00 00 00 20 20 20 73 | uct.xkb_context.*xkb_ctx;......s |
| 26600 | 74 72 75 63 74 20 78 6b 62 5f 6b 65 79 6d 61 70 20 2a 78 6b 62 5f 6b 65 79 6d 61 70 3b 00 00 00 | truct.xkb_keymap.*xkb_keymap;... |
| 26620 | 1e 20 20 73 74 72 75 63 74 20 78 6b 62 5f 73 74 61 74 65 20 2a 78 6b 62 5f 73 74 61 74 65 3b 00 | ...struct.xkb_state.*xkb_state;. |
| 26640 | 00 00 10 20 20 69 6e 74 20 72 65 70 65 61 74 5f 66 64 3b 00 00 00 16 20 20 75 69 6e 74 33 32 5f | .....int.repeat_fd;......uint32_ |
| 26660 | 74 20 72 65 70 65 61 74 5f 6b 65 79 3b 00 00 00 16 20 20 69 6e 74 33 32 5f 74 20 72 65 70 65 61 | t.repeat_key;......int32_t.repea |
| 26680 | 74 5f 72 61 74 65 3b 00 00 00 17 20 20 69 6e 74 33 32 5f 74 20 72 65 70 65 61 74 5f 64 65 6c 61 | t_rate;......int32_t.repeat_dela |
| 266a0 | 79 3b 00 00 00 1b 20 20 63 68 61 72 20 63 6c 69 70 62 6f 61 72 64 5b 4d 41 58 5f 54 45 58 54 5d | y;......char.clipboard[MAX_TEXT] |
| 266c0 | 3b 00 00 00 14 20 20 69 6e 74 20 63 6c 69 70 62 6f 61 72 64 5f 6c 65 6e 3b 00 00 00 17 20 20 75 | ;......int.clipboard_len;......u |
| 266e0 | 69 6e 74 33 32 5f 74 20 6c 61 73 74 5f 73 65 72 69 61 6c 3b 00 00 00 17 20 20 69 6e 74 20 6d 6f | int32_t.last_serial;......int.mo |
| 26700 | 75 73 65 5f 78 2c 20 6d 6f 75 73 65 5f 79 3b 00 00 00 13 20 20 4d 65 6e 75 49 64 20 6f 70 65 6e | use_x,.mouse_y;......MenuId.open |
| 26720 | 5f 6d 65 6e 75 3b 00 00 00 13 20 20 69 6e 74 20 68 6f 76 65 72 65 64 5f 69 74 65 6d 3b 00 00 00 | _menu;......int.hovered_item;... |
| 26740 | 15 20 20 73 74 72 75 63 74 20 70 6f 70 75 70 20 61 62 6f 75 74 3b 00 00 00 02 7d 3b 00 00 00 00 | ...struct.popup.about;....};.... |
| 26760 | 00 00 00 27 73 74 61 74 69 63 20 76 6f 69 64 20 75 70 64 61 74 65 5f 66 6f 6e 74 5f 6d 65 74 72 | ...'static.void.update_font_metr |
| 26780 | 69 63 73 28 76 6f 69 64 29 20 7b 00 00 00 35 20 20 46 54 5f 53 65 74 5f 43 68 61 72 5f 53 69 7a | ics(void).{...5..FT_Set_Char_Siz |
| 267a0 | 65 28 66 74 5f 66 61 63 65 2c 20 30 2c 20 66 6f 6e 74 5f 70 74 20 2a 20 36 34 2c 20 39 36 2c 20 | e(ft_face,.0,.font_pt.*.64,.96,. |
| 267c0 | 39 36 29 3b 00 00 00 33 20 20 46 54 5f 4c 6f 61 64 5f 43 68 61 72 28 66 74 5f 66 61 63 65 2c 20 | 96);...3..FT_Load_Char(ft_face,. |
| 267e0 | 27 30 27 2c 20 46 54 5f 4c 4f 41 44 5f 41 44 56 41 4e 43 45 5f 4f 4e 4c 59 29 3b 00 00 00 38 20 | '0',.FT_LOAD_ADVANCE_ONLY);...8. |
| 26800 | 20 63 65 6c 6c 5f 77 20 3d 20 28 69 6e 74 29 28 28 66 74 5f 66 61 63 65 2d 3e 67 6c 79 70 68 2d | .cell_w.=.(int)((ft_face->glyph- |
| 26820 | 3e 61 64 76 61 6e 63 65 2e 78 20 2b 20 33 32 29 20 3e 3e 20 36 29 3b 00 00 00 39 20 20 61 73 63 | >advance.x.+.32).>>.6);...9..asc |
| 26840 | 65 6e 64 65 72 20 3d 20 28 69 6e 74 29 28 66 74 5f 66 61 63 65 2d 3e 73 69 7a 65 2d 3e 6d 65 74 | ender.=.(int)(ft_face->size->met |
| 26860 | 72 69 63 73 2e 61 73 63 65 6e 64 65 72 20 3e 3e 20 36 29 3b 00 00 00 42 20 20 69 6e 74 20 64 65 | rics.ascender.>>.6);...B..int.de |
| 26880 | 73 63 20 3d 20 28 69 6e 74 29 28 28 2d 66 74 5f 66 61 63 65 2d 3e 73 69 7a 65 2d 3e 6d 65 74 72 | sc.=.(int)((-ft_face->size->metr |
| 268a0 | 69 63 73 2e 64 65 73 63 65 6e 64 65 72 20 2b 20 36 33 29 20 3e 3e 20 36 29 3b 00 00 00 1b 20 20 | ics.descender.+.63).>>.6);...... |
| 268c0 | 63 65 6c 6c 5f 68 20 3d 20 61 73 63 65 6e 64 65 72 20 2b 20 64 65 73 63 3b 00 00 00 11 20 20 69 | cell_h.=.ascender.+.desc;......i |
| 268e0 | 66 20 28 63 65 6c 6c 5f 77 20 3c 20 31 29 00 00 00 0f 20 20 20 20 63 65 6c 6c 5f 77 20 3d 20 31 | f.(cell_w.<.1)........cell_w.=.1 |
| 26900 | 3b 00 00 00 11 20 20 69 66 20 28 63 65 6c 6c 5f 68 20 3c 20 31 29 00 00 00 0f 20 20 20 20 63 65 | ;......if.(cell_h.<.1)........ce |
| 26920 | 6c 6c 5f 68 20 3d 20 31 3b 00 00 00 01 7d 00 00 00 00 00 00 00 1d 73 74 61 74 69 63 20 62 6f 6f | ll_h.=.1;....}........static.boo |
| 26940 | 6c 20 6c 6f 61 64 5f 66 6f 6e 74 28 76 6f 69 64 29 20 7b 00 00 00 0b 20 20 46 63 49 6e 69 74 28 | l.load_font(void).{......FcInit( |
| 26960 | 29 3b 00 00 00 35 20 20 46 63 50 61 74 74 65 72 6e 20 2a 70 61 74 20 3d 20 46 63 4e 61 6d 65 50 | );...5..FcPattern.*pat.=.FcNameP |
| 26980 | 61 72 73 65 28 28 46 63 43 68 61 72 38 20 2a 29 46 4f 4e 54 5f 4e 41 4d 45 29 3b 00 00 00 30 20 | arse((FcChar8.*)FONT_NAME);...0. |
| 269a0 | 20 46 63 43 6f 6e 66 69 67 53 75 62 73 74 69 74 75 74 65 28 4e 55 4c 4c 2c 20 70 61 74 2c 20 46 | .FcConfigSubstitute(NULL,.pat,.F |
| 269c0 | 63 4d 61 74 63 68 50 61 74 74 65 72 6e 29 3b 00 00 00 1b 20 20 46 63 44 65 66 61 75 6c 74 53 75 | cMatchPattern);......FcDefaultSu |
| 269e0 | 62 73 74 69 74 75 74 65 28 70 61 74 29 3b 00 00 00 0f 20 20 46 63 52 65 73 75 6c 74 20 72 65 73 | bstitute(pat);......FcResult.res |
| 26a00 | 3b 00 00 00 32 20 20 46 63 50 61 74 74 65 72 6e 20 2a 6d 61 74 63 68 20 3d 20 46 63 46 6f 6e 74 | ;...2..FcPattern.*match.=.FcFont |
| 26a20 | 4d 61 74 63 68 28 4e 55 4c 4c 2c 20 70 61 74 2c 20 26 72 65 73 29 3b 00 00 00 18 20 20 46 63 50 | Match(NULL,.pat,.&res);......FcP |
| 26a40 | 61 74 74 65 72 6e 44 65 73 74 72 6f 79 28 70 61 74 29 3b 00 00 00 0d 20 20 69 66 20 28 21 6d 61 | atternDestroy(pat);......if.(!ma |
| 26a60 | 74 63 68 29 00 00 00 11 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 00 00 00 17 20 20 46 | tch)........return.false;......F |
| 26a80 | 63 43 68 61 72 38 20 2a 70 61 74 68 20 3d 20 4e 55 4c 4c 3b 00 00 00 46 20 20 69 66 20 28 46 63 | cChar8.*path.=.NULL;...F..if.(Fc |
| 26aa0 | 50 61 74 74 65 72 6e 47 65 74 53 74 72 69 6e 67 28 6d 61 74 63 68 2c 20 46 43 5f 46 49 4c 45 2c | PatternGetString(match,.FC_FILE, |
| 26ac0 | 20 30 2c 20 26 70 61 74 68 29 20 21 3d 20 46 63 52 65 73 75 6c 74 4d 61 74 63 68 29 20 7b 00 00 | .0,.&path).!=.FcResultMatch).{.. |
| 26ae0 | 00 1c 20 20 20 20 46 63 50 61 74 74 65 72 6e 44 65 73 74 72 6f 79 28 6d 61 74 63 68 29 3b 00 00 | ......FcPatternDestroy(match);.. |
| 26b00 | 00 11 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 00 00 00 03 20 20 7d 00 00 00 22 20 20 | ......return.false;......}...".. |
| 26b20 | 69 66 20 28 46 54 5f 49 6e 69 74 5f 46 72 65 65 54 79 70 65 28 26 66 74 5f 6c 69 62 29 29 20 7b | if.(FT_Init_FreeType(&ft_lib)).{ |
| 26b40 | 00 00 00 1c 20 20 20 20 46 63 50 61 74 74 65 72 6e 44 65 73 74 72 6f 79 28 6d 61 74 63 68 29 3b | ........FcPatternDestroy(match); |
| 26b60 | 00 00 00 11 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 00 00 00 03 20 20 7d 00 00 00 3d | ........return.false;......}...= |
| 26b80 | 20 20 69 66 20 28 46 54 5f 4e 65 77 5f 46 61 63 65 28 66 74 5f 6c 69 62 2c 20 28 63 6f 6e 73 74 | ..if.(FT_New_Face(ft_lib,.(const |
| 26ba0 | 20 63 68 61 72 20 2a 29 70 61 74 68 2c 20 30 2c 20 26 66 74 5f 66 61 63 65 29 29 20 7b 00 00 00 | .char.*)path,.0,.&ft_face)).{... |
| 26bc0 | 1c 20 20 20 20 46 63 50 61 74 74 65 72 6e 44 65 73 74 72 6f 79 28 6d 61 74 63 68 29 3b 00 00 00 | .....FcPatternDestroy(match);... |
| 26be0 | 11 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 00 00 00 03 20 20 7d 00 00 00 1a 20 20 46 | .....return.false;......}......F |
| 26c00 | 63 50 61 74 74 65 72 6e 44 65 73 74 72 6f 79 28 6d 61 74 63 68 29 3b 00 00 00 18 20 20 75 70 64 | cPatternDestroy(match);......upd |
| 26c20 | 61 74 65 5f 66 6f 6e 74 5f 6d 65 74 72 69 63 73 28 29 3b 00 00 00 0e 20 20 72 65 74 75 72 6e 20 | ate_font_metrics();......return. |
| 26c40 | 74 72 75 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 46 73 74 61 74 69 63 20 76 6f 69 64 20 70 73 | true;....}.......Fstatic.void.ps |
| 26c60 | 65 74 28 76 6f 69 64 20 2a 70 78 2c 20 69 6e 74 20 70 77 2c 20 69 6e 74 20 70 68 2c 20 69 6e 74 | et(void.*px,.int.pw,.int.ph,.int |
| 26c80 | 20 78 2c 20 69 6e 74 20 79 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 2b 20 20 69 66 | .x,.int.y,.uint32_t.c).{...+..if |
| 26ca0 | 20 28 78 20 3e 3d 20 30 20 26 26 20 79 20 3e 3d 20 30 20 26 26 20 78 20 3c 20 70 77 20 26 26 20 | .(x.>=.0.&&.y.>=.0.&&.x.<.pw.&&. |
| 26cc0 | 79 20 3c 20 70 68 29 00 00 00 25 20 20 20 20 28 28 75 69 6e 74 33 32 5f 74 20 2a 29 70 78 29 5b | y.<.ph)...%....((uint32_t.*)px)[ |
| 26ce0 | 79 20 2a 20 70 77 20 2b 20 78 5d 20 3d 20 63 3b 00 00 00 01 7d 00 00 00 00 00 00 00 47 73 74 61 | y.*.pw.+.x].=.c;....}.......Gsta |
| 26d00 | 74 69 63 20 76 6f 69 64 20 66 72 65 63 74 28 76 6f 69 64 20 2a 70 78 2c 20 69 6e 74 20 70 77 2c | tic.void.frect(void.*px,.int.pw, |
| 26d20 | 20 69 6e 74 20 70 68 2c 20 69 6e 74 20 78 2c 20 69 6e 74 20 79 2c 20 69 6e 74 20 77 2c 20 69 6e | .int.ph,.int.x,.int.y,.int.w,.in |
| 26d40 | 74 20 68 2c 00 00 00 1f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 | t.h,......................uint32 |
| 26d60 | 5f 74 20 63 29 20 7b 00 00 00 20 20 20 66 6f 72 20 28 69 6e 74 20 64 79 20 3d 20 30 3b 20 64 79 | _t.c).{......for.(int.dy.=.0;.dy |
| 26d80 | 20 3c 20 68 3b 20 64 79 2b 2b 29 00 00 00 22 20 20 20 20 66 6f 72 20 28 69 6e 74 20 64 78 20 3d | .<.h;.dy++)..."....for.(int.dx.= |
| 26da0 | 20 30 3b 20 64 78 20 3c 20 77 3b 20 64 78 2b 2b 29 00 00 00 2a 20 20 20 20 20 20 70 73 65 74 28 | .0;.dx.<.w;.dx++)...*......pset( |
| 26dc0 | 70 78 2c 20 70 77 2c 20 70 68 2c 20 78 20 2b 20 64 78 2c 20 79 20 2b 20 64 79 2c 20 63 29 3b 00 | px,.pw,.ph,.x.+.dx,.y.+.dy,.c);. |
| 26de0 | 00 00 01 7d 00 00 00 00 00 00 00 45 73 74 61 74 69 63 20 76 6f 69 64 20 62 70 69 78 28 76 6f 69 | ...}.......Estatic.void.bpix(voi |
| 26e00 | 64 20 2a 70 78 2c 20 69 6e 74 20 70 77 2c 20 69 6e 74 20 70 68 2c 20 69 6e 74 20 78 2c 20 69 6e | d.*px,.int.pw,.int.ph,.int.x,.in |
| 26e20 | 74 20 79 2c 20 75 69 6e 74 33 32 5f 74 20 66 67 2c 00 00 00 1d 20 20 20 20 20 20 20 20 20 20 20 | t.y,.uint32_t.fg,............... |
| 26e40 | 20 20 20 20 20 20 75 69 6e 74 38 5f 74 20 61 29 20 7b 00 00 00 2b 20 20 69 66 20 28 78 20 3c 20 | ......uint8_t.a).{...+..if.(x.<. |
| 26e60 | 30 20 7c 7c 20 79 20 3c 20 30 20 7c 7c 20 78 20 3e 3d 20 70 77 20 7c 7c 20 79 20 3e 3d 20 70 68 | 0.||.y.<.0.||.x.>=.pw.||.y.>=.ph |
| 26e80 | 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 30 20 20 75 69 6e 74 33 32 5f 74 20 2a | )........return;...0..uint32_t.* |
| 26ea0 | 64 73 74 20 3d 20 26 28 28 75 69 6e 74 33 32 5f 74 20 2a 29 70 78 29 5b 79 20 2a 20 70 77 20 2b | dst.=.&((uint32_t.*)px)[y.*.pw.+ |
| 26ec0 | 20 78 5d 3b 00 00 00 15 20 20 75 69 6e 74 33 32 5f 74 20 62 67 20 3d 20 2a 64 73 74 3b 00 00 00 | .x];......uint32_t.bg.=.*dst;... |
| 26ee0 | 4d 20 20 75 69 6e 74 33 32 5f 74 20 72 20 3d 20 28 28 66 67 20 3e 3e 20 31 36 20 26 20 30 78 46 | M..uint32_t.r.=.((fg.>>.16.&.0xF |
| 26f00 | 46 29 20 2a 20 61 20 2b 20 28 62 67 20 3e 3e 20 31 36 20 26 20 30 78 46 46 29 20 2a 20 28 32 35 | F).*.a.+.(bg.>>.16.&.0xFF).*.(25 |
| 26f20 | 35 20 2d 20 61 29 29 20 2f 20 32 35 35 3b 00 00 00 4b 20 20 75 69 6e 74 33 32 5f 74 20 67 20 3d | 5.-.a))./.255;...K..uint32_t.g.= |
| 26f40 | 20 28 28 66 67 20 3e 3e 20 38 20 26 20 30 78 46 46 29 20 2a 20 61 20 2b 20 28 62 67 20 3e 3e 20 | .((fg.>>.8.&.0xFF).*.a.+.(bg.>>. |
| 26f60 | 38 20 26 20 30 78 46 46 29 20 2a 20 28 32 35 35 20 2d 20 61 29 29 20 2f 20 32 35 35 3b 00 00 00 | 8.&.0xFF).*.(255.-.a))./.255;... |
| 26f80 | 41 20 20 75 69 6e 74 33 32 5f 74 20 62 20 3d 20 28 28 66 67 20 26 20 30 78 46 46 29 20 2a 20 61 | A..uint32_t.b.=.((fg.&.0xFF).*.a |
| 26fa0 | 20 2b 20 28 62 67 20 26 20 30 78 46 46 29 20 2a 20 28 32 35 35 20 2d 20 61 29 29 20 2f 20 32 35 | .+.(bg.&.0xFF).*.(255.-.a))./.25 |
| 26fc0 | 35 3b 00 00 00 2f 20 20 2a 64 73 74 20 3d 20 30 78 46 46 30 30 30 30 30 30 20 7c 20 28 72 20 3c | 5;.../..*dst.=.0xFF000000.|.(r.< |
| 26fe0 | 3c 20 31 36 29 20 7c 20 28 67 20 3c 3c 20 38 29 20 7c 20 62 3b 00 00 00 01 7d 00 00 00 00 00 00 | <.16).|.(g.<<.8).|.b;....}...... |
| 27000 | 00 49 73 74 61 74 69 63 20 76 6f 69 64 20 64 67 6c 79 70 68 28 76 6f 69 64 20 2a 70 78 2c 20 69 | .Istatic.void.dglyph(void.*px,.i |
| 27020 | 6e 74 20 70 77 2c 20 69 6e 74 20 70 68 2c 20 69 6e 74 20 63 78 2c 20 69 6e 74 20 63 79 2c 20 75 | nt.pw,.int.ph,.int.cx,.int.cy,.u |
| 27040 | 69 6e 74 33 32 5f 74 20 63 70 2c 00 00 00 24 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | int32_t.cp,...$................. |
| 27060 | 20 20 75 69 6e 74 33 32 5f 74 20 63 6f 6c 6f 72 29 20 7b 00 00 00 2c 20 20 46 54 5f 4c 6f 61 64 | ..uint32_t.color).{...,..FT_Load |
| 27080 | 5f 43 68 61 72 28 66 74 5f 66 61 63 65 2c 20 63 70 2c 20 46 54 5f 4c 4f 41 44 5f 52 45 4e 44 45 | _Char(ft_face,.cp,.FT_LOAD_RENDE |
| 270a0 | 52 29 3b 00 00 00 25 20 20 46 54 5f 47 6c 79 70 68 53 6c 6f 74 20 73 6c 6f 74 20 3d 20 66 74 5f | R);...%..FT_GlyphSlot.slot.=.ft_ |
| 270c0 | 66 61 63 65 2d 3e 67 6c 79 70 68 3b 00 00 00 20 20 20 46 54 5f 42 69 74 6d 61 70 20 2a 62 6d 20 | face->glyph;......FT_Bitmap.*bm. |
| 270e0 | 3d 20 26 73 6c 6f 74 2d 3e 62 69 74 6d 61 70 3b 00 00 00 1d 20 20 69 6e 74 20 6f 78 20 3d 20 73 | =.&slot->bitmap;......int.ox.=.s |
| 27100 | 6c 6f 74 2d 3e 62 69 74 6d 61 70 5f 6c 65 66 74 3b 00 00 00 2c 20 20 69 6e 74 20 6f 79 20 3d 20 | lot->bitmap_left;...,..int.oy.=. |
| 27120 | 63 79 20 2b 20 61 73 63 65 6e 64 65 72 20 2d 20 73 6c 6f 74 2d 3e 62 69 74 6d 61 70 5f 74 6f 70 | cy.+.ascender.-.slot->bitmap_top |
| 27140 | 3b 00 00 00 2f 20 20 66 6f 72 20 28 69 6e 74 20 72 6f 77 20 3d 20 30 3b 20 72 6f 77 20 3c 20 28 | ;.../..for.(int.row.=.0;.row.<.( |
| 27160 | 69 6e 74 29 62 6d 2d 3e 72 6f 77 73 3b 20 72 6f 77 2b 2b 29 00 00 00 34 20 20 20 20 66 6f 72 20 | int)bm->rows;.row++)...4....for. |
| 27180 | 28 69 6e 74 20 63 6f 6c 20 3d 20 30 3b 20 63 6f 6c 20 3c 20 28 69 6e 74 29 62 6d 2d 3e 77 69 64 | (int.col.=.0;.col.<.(int)bm->wid |
| 271a0 | 74 68 3b 20 63 6f 6c 2b 2b 29 20 7b 00 00 00 35 20 20 20 20 20 20 75 69 6e 74 38 5f 74 20 61 76 | th;.col++).{...5......uint8_t.av |
| 271c0 | 20 3d 20 62 6d 2d 3e 62 75 66 66 65 72 5b 72 6f 77 20 2a 20 62 6d 2d 3e 70 69 74 63 68 20 2b 20 | .=.bm->buffer[row.*.bm->pitch.+. |
| 271e0 | 63 6f 6c 5d 3b 00 00 00 0d 20 20 20 20 20 20 69 66 20 28 61 76 29 00 00 00 3d 20 20 20 20 20 20 | col];..........if.(av)...=...... |
| 27200 | 20 20 62 70 69 78 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 63 78 20 2b 20 6f 78 20 2b 20 63 6f 6c | ..bpix(px,.pw,.ph,.cx.+.ox.+.col |
| 27220 | 2c 20 6f 79 20 2b 20 72 6f 77 2c 20 63 6f 6c 6f 72 2c 20 61 76 29 3b 00 00 00 05 20 20 20 20 7d | ,.oy.+.row,.color,.av);........} |
| 27240 | 00 00 00 01 7d 00 00 00 00 00 00 00 47 73 74 61 74 69 63 20 76 6f 69 64 20 64 73 74 72 28 76 6f | ....}.......Gstatic.void.dstr(vo |
| 27260 | 69 64 20 2a 70 78 2c 20 69 6e 74 20 70 77 2c 20 69 6e 74 20 70 68 2c 20 69 6e 74 20 78 2c 20 69 | id.*px,.int.pw,.int.ph,.int.x,.i |
| 27280 | 6e 74 20 79 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 2c 00 00 00 22 20 20 20 20 20 20 20 20 | nt.y,.const.char.*s,..."........ |
| 272a0 | 20 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 63 6f 6c 6f 72 29 20 7b 00 00 00 2f 20 20 | .........uint32_t.color).{.../.. |
| 272c0 | 66 6f 72 20 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 70 20 3d 20 73 3b 20 2a 70 3b 20 70 2b 2b 2c | for.(const.char.*p.=.s;.*p;.p++, |
| 272e0 | 20 78 20 2b 3d 20 63 65 6c 6c 5f 77 29 00 00 00 37 20 20 20 20 64 67 6c 79 70 68 28 70 78 2c 20 | .x.+=.cell_w)...7....dglyph(px,. |
| 27300 | 70 77 2c 20 70 68 2c 20 78 2c 20 79 2c 20 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 29 2a 70 2c | pw,.ph,.x,.y,.(unsigned.char)*p, |
| 27320 | 20 63 6f 6c 6f 72 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 41 73 74 61 74 69 63 20 69 6e 74 20 | .color);....}.......Astatic.int. |
| 27340 | 73 70 77 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 29 20 7b 20 72 65 74 75 72 6e 20 28 69 6e 74 | spw(const.char.*s).{.return.(int |
| 27360 | 29 73 74 72 6c 65 6e 28 73 29 20 2a 20 63 65 6c 6c 5f 77 3b 20 7d 00 00 00 00 00 00 00 4b 73 74 | )strlen(s).*.cell_w;.}.......Kst |
| 27380 | 61 74 69 63 20 76 6f 69 64 20 2a 6d 61 6b 65 5f 73 68 6d 28 73 74 72 75 63 74 20 61 70 70 20 2a | atic.void.*make_shm(struct.app.* |
| 273a0 | 61 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 | a,.int.w,.int.h,.struct.wl_buffe |
| 273c0 | 72 20 2a 2a 6f 62 75 66 2c 00 00 00 24 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | r.**obuf,...$................... |
| 273e0 | 20 20 20 73 69 7a 65 5f 74 20 2a 6f 73 7a 29 20 7b 00 00 00 20 20 20 73 69 7a 65 5f 74 20 73 7a | ...size_t.*osz).{......size_t.sz |
| 27400 | 20 3d 20 28 73 69 7a 65 5f 74 29 77 20 2a 20 68 20 2a 20 34 3b 00 00 00 23 20 20 63 68 61 72 20 | .=.(size_t)w.*.h.*.4;...#..char. |
| 27420 | 74 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 61 79 6c 61 6e 64 2d 58 58 58 58 58 58 22 3b 00 00 00 16 | t[].=."/tmp/wayland-XXXXXX";.... |
| 27440 | 20 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 29 3b 00 00 00 0c 20 20 75 6e 6c 69 | ..int.fd.=.mkstemp(t);......unli |
| 27460 | 6e 6b 28 74 29 3b 00 00 00 28 20 20 69 66 20 28 66 64 20 3c 20 30 20 7c 7c 20 66 74 72 75 6e 63 | nk(t);...(..if.(fd.<.0.||.ftrunc |
| 27480 | 61 74 65 28 66 64 2c 20 73 7a 29 20 3c 20 30 29 20 7b 00 00 00 12 20 20 20 20 70 65 72 72 6f 72 | ate(fd,.sz).<.0).{........perror |
| 274a0 | 28 22 73 68 6d 22 29 3b 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 03 20 20 7d 00 | ("shm");........exit(1);......}. |
| 274c0 | 00 00 47 20 20 76 6f 69 64 20 2a 70 78 20 3d 20 6d 6d 61 70 28 4e 55 4c 4c 2c 20 73 7a 2c 20 50 | ..G..void.*px.=.mmap(NULL,.sz,.P |
| 274e0 | 52 4f 54 5f 52 45 41 44 20 7c 20 50 52 4f 54 5f 57 52 49 54 45 2c 20 4d 41 50 5f 53 48 41 52 45 | ROT_READ.|.PROT_WRITE,.MAP_SHARE |
| 27500 | 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 19 20 20 69 66 20 28 70 78 20 3d 3d 20 4d 41 50 5f 46 41 | D,.fd,.0);......if.(px.==.MAP_FA |
| 27520 | 49 4c 45 44 29 20 7b 00 00 00 13 20 20 20 20 70 65 72 72 6f 72 28 22 6d 6d 61 70 22 29 3b 00 00 | ILED).{........perror("mmap");.. |
| 27540 | 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 03 20 20 7d 00 00 00 40 20 20 73 74 72 75 63 | ......exit(1);......}...@..struc |
| 27560 | 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 20 3d 20 77 6c 5f 73 68 6d 5f 63 72 65 | t.wl_shm_pool.*pool.=.wl_shm_cre |
| 27580 | 61 74 65 5f 70 6f 6f 6c 28 61 2d 3e 73 68 6d 2c 20 66 64 2c 20 73 7a 29 3b 00 00 00 09 20 20 2a | ate_pool(a->shm,.fd,.sz);......* |
| 275a0 | 6f 62 75 66 20 3d 00 00 00 4e 20 20 20 20 20 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 72 65 61 | obuf.=...N......wl_shm_pool_crea |
| 275c0 | 74 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c 20 30 2c 20 77 2c 20 68 2c 20 77 20 2a 20 34 2c 20 | te_buffer(pool,.0,.w,.h,.w.*.4,. |
| 275e0 | 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 1c 20 20 77 6c | WL_SHM_FORMAT_ARGB8888);......wl |
| 27600 | 5f 73 68 6d 5f 70 6f 6f 6c 5f 64 65 73 74 72 6f 79 28 70 6f 6f 6c 29 3b 00 00 00 0c 20 20 63 6c | _shm_pool_destroy(pool);......cl |
| 27620 | 6f 73 65 28 66 64 29 3b 00 00 00 0a 20 20 69 66 20 28 6f 73 7a 29 00 00 00 0e 20 20 20 20 2a 6f | ose(fd);......if.(osz)........*o |
| 27640 | 73 7a 20 3d 20 73 7a 3b 00 00 00 0c 20 20 72 65 74 75 72 6e 20 70 78 3b 00 00 00 01 7d 00 00 00 | sz.=.sz;......return.px;....}... |
| 27660 | 00 00 00 00 38 73 74 61 74 69 63 20 69 6e 74 20 62 61 72 5f 79 28 73 74 72 75 63 74 20 61 70 70 | ....8static.int.bar_y(struct.app |
| 27680 | 20 2a 61 29 20 7b 20 72 65 74 75 72 6e 20 61 2d 3e 68 20 2d 20 42 41 52 5f 48 3b 20 7d 00 00 00 | .*a).{.return.a->h.-.BAR_H;.}... |
| 276a0 | 39 73 74 61 74 69 63 20 69 6e 74 20 74 65 78 74 5f 68 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 | 9static.int.text_h(struct.app.*a |
| 276c0 | 29 20 7b 20 72 65 74 75 72 6e 20 61 2d 3e 68 20 2d 20 42 41 52 5f 48 3b 20 7d 00 00 00 00 00 00 | ).{.return.a->h.-.BAR_H;.}...... |
| 276e0 | 00 19 73 74 61 74 69 63 20 69 6e 74 20 62 74 6e 5f 78 28 69 6e 74 20 69 29 20 7b 00 00 00 0e 20 | ..static.int.btn_x(int.i).{..... |
| 27700 | 20 69 6e 74 20 78 20 3d 20 50 41 44 3b 00 00 00 28 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6c | .int.x.=.PAD;...(..const.char.*l |
| 27720 | 62 6c 73 5b 5d 20 3d 20 7b 22 46 69 6c 65 22 2c 20 22 49 6e 66 6f 22 7d 3b 00 00 00 1d 20 20 66 | bls[].=.{"File",."Info"};......f |
| 27740 | 6f 72 20 28 69 6e 74 20 6a 20 3d 20 30 3b 20 6a 20 3c 20 69 3b 20 6a 2b 2b 29 00 00 00 24 20 20 | or.(int.j.=.0;.j.<.i;.j++)...$.. |
| 27760 | 20 20 78 20 2b 3d 20 73 70 77 28 6c 62 6c 73 5b 6a 5d 29 20 2b 20 42 54 4e 5f 50 41 44 20 2a 20 | ..x.+=.spw(lbls[j]).+.BTN_PAD.*. |
| 27780 | 32 3b 00 00 00 0b 20 20 72 65 74 75 72 6e 20 78 3b 00 00 00 01 7d 00 00 00 4f 73 74 61 74 69 63 | 2;......return.x;....}...Ostatic |
| 277a0 | 20 69 6e 74 20 62 74 6e 5f 77 28 69 6e 74 20 69 29 20 7b 20 72 65 74 75 72 6e 20 73 70 77 28 69 | .int.btn_w(int.i).{.return.spw(i |
| 277c0 | 20 3d 3d 20 30 20 3f 20 22 46 69 6c 65 22 20 3a 20 22 49 6e 66 6f 22 29 20 2b 20 42 54 4e 5f 50 | .==.0.?."File".:."Info").+.BTN_P |
| 277e0 | 41 44 20 2a 20 32 3b 20 7d 00 00 00 00 00 00 00 2b 73 74 61 74 69 63 20 69 6e 74 20 64 69 68 28 | AD.*.2;.}.......+static.int.dih( |
| 27800 | 76 6f 69 64 29 20 7b 20 72 65 74 75 72 6e 20 63 65 6c 6c 5f 68 20 2b 20 38 3b 20 7d 00 00 00 00 | void).{.return.cell_h.+.8;.}.... |
| 27820 | 00 00 00 23 73 74 61 74 69 63 20 69 6e 74 20 64 72 6f 70 5f 74 6f 74 61 6c 5f 68 28 4d 65 6e 75 | ...#static.int.drop_total_h(Menu |
| 27840 | 49 64 20 6d 29 20 7b 00 00 00 2d 20 20 69 6e 74 20 6e 20 3d 20 28 6d 20 3d 3d 20 4d 45 4e 55 5f | Id.m).{...-..int.n.=.(m.==.MENU_ |
| 27860 | 46 49 4c 45 29 20 3f 20 4e 5f 46 49 4c 45 20 3a 20 4e 5f 49 4e 46 4f 3b 00 00 00 45 20 20 63 6f | FILE).?.N_FILE.:.N_INFO;...E..co |
| 27880 | 6e 73 74 20 4d 65 6e 75 49 74 65 6d 20 2a 69 74 65 6d 73 20 3d 20 28 6d 20 3d 3d 20 4d 45 4e 55 | nst.MenuItem.*items.=.(m.==.MENU |
| 278a0 | 5f 46 49 4c 45 29 20 3f 20 66 69 6c 65 5f 69 74 65 6d 73 20 3a 20 69 6e 66 6f 5f 69 74 65 6d 73 | _FILE).?.file_items.:.info_items |
| 278c0 | 3b 00 00 00 18 20 20 69 6e 74 20 68 20 3d 20 6e 20 2a 20 64 69 68 28 29 20 2b 20 34 3b 00 00 00 | ;......int.h.=.n.*.dih().+.4;... |
| 278e0 | 1d 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 6e 3b 20 69 2b 2b 29 00 00 | ...for.(int.i.=.0;.i.<.n;.i++).. |
| 27900 | 00 1b 20 20 20 20 69 66 20 28 69 74 65 6d 73 5b 69 5d 2e 73 65 70 5f 61 66 74 65 72 29 00 00 00 | ......if.(items[i].sep_after)... |
| 27920 | 0d 20 20 20 20 20 20 68 20 2b 3d 20 34 3b 00 00 00 0b 20 20 72 65 74 75 72 6e 20 68 3b 00 00 00 | .......h.+=.4;......return.h;... |
| 27940 | 01 7d 00 00 00 00 00 00 00 1d 73 74 61 74 69 63 20 69 6e 74 20 64 72 6f 70 5f 77 28 4d 65 6e 75 | .}........static.int.drop_w(Menu |
| 27960 | 49 64 20 6d 29 20 7b 00 00 00 10 20 20 69 6e 74 20 6d 61 78 77 20 3d 20 38 30 3b 00 00 00 2d 20 | Id.m).{......int.maxw.=.80;...-. |
| 27980 | 20 69 6e 74 20 6e 20 3d 20 28 6d 20 3d 3d 20 4d 45 4e 55 5f 46 49 4c 45 29 20 3f 20 4e 5f 46 49 | .int.n.=.(m.==.MENU_FILE).?.N_FI |
| 279a0 | 4c 45 20 3a 20 4e 5f 49 4e 46 4f 3b 00 00 00 45 20 20 63 6f 6e 73 74 20 4d 65 6e 75 49 74 65 6d | LE.:.N_INFO;...E..const.MenuItem |
| 279c0 | 20 2a 69 74 65 6d 73 20 3d 20 28 6d 20 3d 3d 20 4d 45 4e 55 5f 46 49 4c 45 29 20 3f 20 66 69 6c | .*items.=.(m.==.MENU_FILE).?.fil |
| 279e0 | 65 5f 69 74 65 6d 73 20 3a 20 69 6e 66 6f 5f 69 74 65 6d 73 3b 00 00 00 1f 20 20 66 6f 72 20 28 | e_items.:.info_items;......for.( |
| 27a00 | 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 6e 3b 20 69 2b 2b 29 20 7b 00 00 00 2e 20 20 20 20 | int.i.=.0;.i.<.n;.i++).{........ |
| 27a20 | 69 6e 74 20 77 20 3d 20 73 70 77 28 69 74 65 6d 73 5b 69 5d 2e 6c 61 62 65 6c 29 20 2b 20 42 54 | int.w.=.spw(items[i].label).+.BT |
| 27a40 | 4e 5f 50 41 44 20 2a 20 32 3b 00 00 00 11 20 20 20 20 69 66 20 28 77 20 3e 20 6d 61 78 77 29 00 | N_PAD.*.2;........if.(w.>.maxw). |
| 27a60 | 00 00 0f 20 20 20 20 20 20 6d 61 78 77 20 3d 20 77 3b 00 00 00 03 20 20 7d 00 00 00 0e 20 20 72 | .........maxw.=.w;......}......r |
| 27a80 | 65 74 75 72 6e 20 6d 61 78 77 3b 00 00 00 01 7d 00 00 00 00 00 00 00 35 73 74 61 74 69 63 20 69 | eturn.maxw;....}.......5static.i |
| 27aa0 | 6e 74 20 69 74 65 6d 5f 61 74 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 2c 20 4d 65 6e 75 49 64 | nt.item_at(struct.app.*a,.MenuId |
| 27ac0 | 20 6d 2c 20 69 6e 74 20 6d 79 29 20 7b 00 00 00 14 20 20 69 6e 74 20 62 79 20 3d 20 62 61 72 5f | .m,.int.my).{......int.by.=.bar_ |
| 27ae0 | 79 28 61 29 3b 00 00 00 2d 20 20 69 6e 74 20 6e 20 3d 20 28 6d 20 3d 3d 20 4d 45 4e 55 5f 46 49 | y(a);...-..int.n.=.(m.==.MENU_FI |
| 27b00 | 4c 45 29 20 3f 20 4e 5f 46 49 4c 45 20 3a 20 4e 5f 49 4e 46 4f 3b 00 00 00 45 20 20 63 6f 6e 73 | LE).?.N_FILE.:.N_INFO;...E..cons |
| 27b20 | 74 20 4d 65 6e 75 49 74 65 6d 20 2a 69 74 65 6d 73 20 3d 20 28 6d 20 3d 3d 20 4d 45 4e 55 5f 46 | t.MenuItem.*items.=.(m.==.MENU_F |
| 27b40 | 49 4c 45 29 20 3f 20 66 69 6c 65 5f 69 74 65 6d 73 20 3a 20 69 6e 66 6f 5f 69 74 65 6d 73 3b 00 | ILE).?.file_items.:.info_items;. |
| 27b60 | 00 00 24 20 20 69 6e 74 20 69 79 20 3d 20 62 79 20 2d 20 64 72 6f 70 5f 74 6f 74 61 6c 5f 68 28 | ..$..int.iy.=.by.-.drop_total_h( |
| 27b80 | 6d 29 20 2b 20 34 3b 00 00 00 1f 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c | m).+.4;......for.(int.i.=.0;.i.< |
| 27ba0 | 20 6e 3b 20 69 2b 2b 29 20 7b 00 00 00 24 20 20 20 20 69 66 20 28 6d 79 20 3e 3d 20 69 79 20 26 | .n;.i++).{...$....if.(my.>=.iy.& |
| 27bc0 | 26 20 6d 79 20 3c 20 69 79 20 2b 20 64 69 68 28 29 29 00 00 00 0f 20 20 20 20 20 20 72 65 74 75 | &.my.<.iy.+.dih())..........retu |
| 27be0 | 72 6e 20 69 3b 00 00 00 10 20 20 20 20 69 79 20 2b 3d 20 64 69 68 28 29 3b 00 00 00 1b 20 20 20 | rn.i;........iy.+=.dih();....... |
| 27c00 | 20 69 66 20 28 69 74 65 6d 73 5b 69 5d 2e 73 65 70 5f 61 66 74 65 72 29 00 00 00 0e 20 20 20 20 | .if.(items[i].sep_after)........ |
| 27c20 | 20 20 69 79 20 2b 3d 20 34 3b 00 00 00 03 20 20 7d 00 00 00 0c 20 20 72 65 74 75 72 6e 20 2d 31 | ..iy.+=.4;......}......return.-1 |
| 27c40 | 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 64 6f 5f 73 61 76 | ;....}.......#static.void.do_sav |
| 27c60 | 65 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 3b 00 00 00 22 73 74 61 74 69 63 20 76 6f 69 64 | e(struct.app.*a);..."static.void |
| 27c80 | 20 64 6f 5f 6e 65 77 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 3b 00 00 00 23 73 74 61 74 69 | .do_new(struct.app.*a);...#stati |
| 27ca0 | 63 20 76 6f 69 64 20 64 6f 5f 6f 70 65 6e 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 3b 00 00 | c.void.do_open(struct.app.*a);.. |
| 27cc0 | 00 26 73 74 61 74 69 63 20 76 6f 69 64 20 6f 70 65 6e 5f 61 62 6f 75 74 28 73 74 72 75 63 74 20 | .&static.void.open_about(struct. |
| 27ce0 | 61 70 70 20 2a 61 29 3b 00 00 00 22 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 64 72 61 77 28 73 | app.*a);..."static.void.redraw(s |
| 27d00 | 74 72 75 63 74 20 61 70 70 20 2a 61 29 3b 00 00 00 00 00 00 00 23 73 74 61 74 69 63 20 76 6f 69 | truct.app.*a);.......#static.voi |
| 27d20 | 64 20 64 6f 5f 6e 65 77 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 1f 20 20 6d | d.do_new(struct.app.*a).{......m |
| 27d40 | 65 6d 73 65 74 28 74 65 78 74 2c 20 30 2c 20 73 69 7a 65 6f 66 20 74 65 78 74 29 3b 00 00 00 0b | emset(text,.0,.sizeof.text);.... |
| 27d60 | 20 20 74 6c 65 6e 20 3d 20 30 3b 00 00 00 0d 20 20 63 75 72 73 6f 72 20 3d 20 30 3b 00 00 00 12 | ..tlen.=.0;......cursor.=.0;.... |
| 27d80 | 20 20 73 65 6c 5f 61 6e 63 68 6f 72 20 3d 20 2d 31 3b 00 00 00 15 20 20 66 69 6c 65 70 61 74 68 | ..sel_anchor.=.-1;......filepath |
| 27da0 | 5b 30 5d 20 3d 20 27 5c 30 27 3b 00 00 00 10 20 20 64 69 72 74 79 20 3d 20 66 61 6c 73 65 3b 00 | [0].=.'\0';......dirty.=.false;. |
| 27dc0 | 00 00 01 7d 00 00 00 00 00 00 00 24 73 74 61 74 69 63 20 76 6f 69 64 20 64 6f 5f 73 61 76 65 28 | ...}.......$static.void.do_save( |
| 27de0 | 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 15 20 20 69 66 20 28 21 66 69 6c 65 70 | struct.app.*a).{......if.(!filep |
| 27e00 | 61 74 68 5b 30 5d 29 20 7b 00 00 00 23 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 68 20 3d | ath[0]).{...#....const.char.*h.= |
| 27e20 | 20 67 65 74 65 6e 76 28 22 48 4f 4d 45 22 29 3b 00 00 00 4b 20 20 20 20 73 6e 70 72 69 6e 74 66 | .getenv("HOME");...K....snprintf |
| 27e40 | 28 66 69 6c 65 70 61 74 68 2c 20 73 69 7a 65 6f 66 20 66 69 6c 65 70 61 74 68 2c 20 22 25 73 2f | (filepath,.sizeof.filepath,."%s/ |
| 27e60 | 75 6e 74 69 74 6c 65 64 2e 74 78 74 22 2c 20 68 20 3f 20 68 20 3a 20 22 2f 74 6d 70 22 29 3b 00 | untitled.txt",.h.?.h.:."/tmp");. |
| 27e80 | 00 00 03 20 20 7d 00 00 00 3e 20 20 69 6e 74 20 66 64 20 3d 20 6f 70 65 6e 28 66 69 6c 65 70 61 | .....}...>..int.fd.=.open(filepa |
| 27ea0 | 74 68 2c 20 4f 5f 57 52 4f 4e 4c 59 20 7c 20 4f 5f 43 52 45 41 54 20 7c 20 4f 5f 54 52 55 4e 43 | th,.O_WRONLY.|.O_CREAT.|.O_TRUNC |
| 27ec0 | 2c 20 30 36 34 34 29 3b 00 00 00 0f 20 20 69 66 20 28 66 64 20 3c 20 30 29 20 7b 00 00 00 13 20 | ,.0644);......if.(fd.<.0).{..... |
| 27ee0 | 20 20 20 70 65 72 72 6f 72 28 22 73 61 76 65 22 29 3b 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e | ...perror("save");........return |
| 27f00 | 3b 00 00 00 03 20 20 7d 00 00 00 18 20 20 77 72 69 74 65 28 66 64 2c 20 74 65 78 74 2c 20 74 6c | ;......}......write(fd,.text,.tl |
| 27f20 | 65 6e 29 3b 00 00 00 0c 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 10 20 20 64 69 72 74 79 20 | en);......close(fd);......dirty. |
| 27f40 | 3d 20 66 61 6c 73 65 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 | =.false;....}.......$static.void |
| 27f60 | 20 64 6f 5f 6f 70 65 6e 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 21 20 20 63 | .do_open(struct.app.*a).{...!..c |
| 27f80 | 6f 6e 73 74 20 63 68 61 72 20 2a 68 20 3d 20 67 65 74 65 6e 76 28 22 48 4f 4d 45 22 29 3b 00 00 | onst.char.*h.=.getenv("HOME");.. |
| 27fa0 | 00 12 20 20 63 68 61 72 20 70 61 74 68 5b 34 30 39 36 5d 3b 00 00 00 41 20 20 73 6e 70 72 69 6e | ....char.path[4096];...A..snprin |
| 27fc0 | 74 66 28 70 61 74 68 2c 20 73 69 7a 65 6f 66 20 70 61 74 68 2c 20 22 25 73 2f 75 6e 74 69 74 6c | tf(path,.sizeof.path,."%s/untitl |
| 27fe0 | 65 64 2e 74 78 74 22 2c 20 68 20 3f 20 68 20 3a 20 22 2f 74 6d 70 22 29 3b 00 00 00 20 20 20 69 | ed.txt",.h.?.h.:."/tmp");......i |
| 28000 | 6e 74 20 66 64 20 3d 20 6f 70 65 6e 28 70 61 74 68 2c 20 4f 5f 52 44 4f 4e 4c 59 29 3b 00 00 00 | nt.fd.=.open(path,.O_RDONLY);... |
| 28020 | 0d 20 20 69 66 20 28 66 64 20 3c 20 30 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 | ...if.(fd.<.0)........return;... |
| 28040 | 2b 20 20 73 73 69 7a 65 5f 74 20 6e 20 3d 20 72 65 61 64 28 66 64 2c 20 74 65 78 74 2c 20 4d 41 | +..ssize_t.n.=.read(fd,.text,.MA |
| 28060 | 58 5f 54 45 58 54 20 2d 20 31 29 3b 00 00 00 0c 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 0c | X_TEXT.-.1);......close(fd);.... |
| 28080 | 20 20 69 66 20 28 6e 20 3c 20 30 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 10 20 | ..if.(n.<.0)........return;..... |
| 280a0 | 20 74 6c 65 6e 20 3d 20 28 69 6e 74 29 6e 3b 00 00 00 14 20 20 74 65 78 74 5b 74 6c 65 6e 5d 20 | .tlen.=.(int)n;......text[tlen]. |
| 280c0 | 3d 20 27 5c 30 27 3b 00 00 00 10 20 20 63 75 72 73 6f 72 20 3d 20 74 6c 65 6e 3b 00 00 00 12 20 | =.'\0';......cursor.=.tlen;..... |
| 280e0 | 20 73 65 6c 5f 61 6e 63 68 6f 72 20 3d 20 2d 31 3b 00 00 00 32 20 20 73 6e 70 72 69 6e 74 66 28 | .sel_anchor.=.-1;...2..snprintf( |
| 28100 | 66 69 6c 65 70 61 74 68 2c 20 73 69 7a 65 6f 66 20 66 69 6c 65 70 61 74 68 2c 20 22 25 73 22 2c | filepath,.sizeof.filepath,."%s", |
| 28120 | 20 70 61 74 68 29 3b 00 00 00 10 20 20 64 69 72 74 79 20 3d 20 66 61 6c 73 65 3b 00 00 00 01 7d | .path);......dirty.=.false;....} |
| 28140 | 00 00 00 00 00 00 00 39 73 74 61 74 69 63 20 76 6f 69 64 20 66 69 72 65 5f 69 74 65 6d 28 73 74 | .......9static.void.fire_item(st |
| 28160 | 72 75 63 74 20 61 70 70 20 2a 61 2c 20 4d 65 6e 75 49 64 20 6d 2c 20 69 6e 74 20 69 64 78 29 20 | ruct.app.*a,.MenuId.m,.int.idx). |
| 28180 | 7b 00 00 00 1b 20 20 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 20 3d 20 4d 45 4e 55 5f 4e 4f 4e 45 3b | {......a->open_menu.=.MENU_NONE; |
| 281a0 | 00 00 00 17 20 20 61 2d 3e 68 6f 76 65 72 65 64 5f 69 74 65 6d 20 3d 20 2d 31 3b 00 00 00 17 20 | ......a->hovered_item.=.-1;..... |
| 281c0 | 20 69 66 20 28 6d 20 3d 3d 20 4d 45 4e 55 5f 46 49 4c 45 29 20 7b 00 00 00 12 20 20 20 20 73 77 | .if.(m.==.MENU_FILE).{........sw |
| 281e0 | 69 74 63 68 20 28 69 64 78 29 20 7b 00 00 00 0b 20 20 20 20 63 61 73 65 20 30 3a 00 00 00 10 20 | itch.(idx).{........case.0:..... |
| 28200 | 20 20 20 20 20 64 6f 5f 6e 65 77 28 61 29 3b 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 | .....do_new(a);..........break;. |
| 28220 | 00 00 0b 20 20 20 20 63 61 73 65 20 31 3a 00 00 00 11 20 20 20 20 20 20 64 6f 5f 6f 70 65 6e 28 | .......case.1:..........do_open( |
| 28240 | 61 29 3b 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 0b 20 20 20 20 63 61 73 65 20 | a);..........break;........case. |
| 28260 | 32 3a 00 00 00 11 20 20 20 20 20 20 64 6f 5f 73 61 76 65 28 61 29 3b 00 00 00 0c 20 20 20 20 20 | 2:..........do_save(a);......... |
| 28280 | 20 62 72 65 61 6b 3b 00 00 00 0d 20 20 20 20 63 61 73 65 20 33 3a 20 7b 00 00 00 25 20 20 20 20 | .break;........case.3:.{...%.... |
| 282a0 | 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 68 20 3d 20 67 65 74 65 6e 76 28 22 48 4f 4d 45 22 29 | ..const.char.*h.=.getenv("HOME") |
| 282c0 | 3b 00 00 00 4d 20 20 20 20 20 20 73 6e 70 72 69 6e 74 66 28 66 69 6c 65 70 61 74 68 2c 20 73 69 | ;...M......snprintf(filepath,.si |
| 282e0 | 7a 65 6f 66 20 66 69 6c 65 70 61 74 68 2c 20 22 25 73 2f 75 6e 74 69 74 6c 65 64 2e 74 78 74 22 | zeof.filepath,."%s/untitled.txt" |
| 28300 | 2c 20 68 20 3f 20 68 20 3a 20 22 2f 74 6d 70 22 29 3b 00 00 00 11 20 20 20 20 20 20 64 6f 5f 73 | ,.h.?.h.:."/tmp");..........do_s |
| 28320 | 61 76 65 28 61 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 | ave(a);..........break;........} |
| 28340 | 00 00 00 0b 20 20 20 20 63 61 73 65 20 34 3a 00 00 00 11 20 20 20 20 20 20 64 6f 5f 73 61 76 65 | ........case.4:..........do_save |
| 28360 | 28 61 29 3b 00 00 00 0e 20 20 20 20 20 20 65 78 69 74 28 30 29 3b 00 00 00 0b 20 20 20 20 63 61 | (a);..........exit(0);........ca |
| 28380 | 73 65 20 35 3a 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 | se.5:..........exit(0);........} |
| 283a0 | 00 00 00 1e 20 20 7d 20 65 6c 73 65 20 69 66 20 28 6d 20 3d 3d 20 4d 45 4e 55 5f 49 4e 46 4f 29 | ......}.else.if.(m.==.MENU_INFO) |
| 283c0 | 20 7b 00 00 00 11 20 20 20 20 69 66 20 28 69 64 78 20 3d 3d 20 30 29 00 00 00 14 20 20 20 20 20 | .{........if.(idx.==.0)......... |
| 283e0 | 20 6f 70 65 6e 5f 61 62 6f 75 74 28 61 29 3b 00 00 00 03 20 20 7d 00 00 00 0c 20 20 72 65 64 72 | .open_about(a);......}......redr |
| 28400 | 61 77 28 61 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 25 73 74 61 74 69 63 20 76 6f 69 64 20 64 | aw(a);....}.......%static.void.d |
| 28420 | 72 61 77 5f 62 61 72 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 17 20 20 76 6f | raw_bar(struct.app.*a).{......vo |
| 28440 | 69 64 20 2a 70 78 20 3d 20 61 2d 3e 70 69 78 65 6c 73 3b 00 00 00 1b 20 20 69 6e 74 20 70 77 20 | id.*px.=.a->pixels;......int.pw. |
| 28460 | 3d 20 61 2d 3e 77 2c 20 70 68 20 3d 20 61 2d 3e 68 3b 00 00 00 14 20 20 69 6e 74 20 62 79 20 3d | =.a->w,.ph.=.a->h;......int.by.= |
| 28480 | 20 62 61 72 5f 79 28 61 29 3b 00 00 00 2e 20 20 66 72 65 63 74 28 70 78 2c 20 70 77 2c 20 70 68 | .bar_y(a);......frect(px,.pw,.ph |
| 284a0 | 2c 20 30 2c 20 62 79 2c 20 70 77 2c 20 42 41 52 5f 48 2c 20 42 41 52 5f 42 47 29 3b 00 00 00 2d | ,.0,.by,.pw,.BAR_H,.BAR_BG);...- |
| 284c0 | 20 20 66 72 65 63 74 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 30 2c 20 62 79 2c 20 70 77 2c 20 31 | ..frect(px,.pw,.ph,.0,.by,.pw,.1 |
| 284e0 | 2c 20 53 45 50 5f 43 4f 4c 4f 52 29 3b 00 00 00 28 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6c | ,.SEP_COLOR);...(..const.char.*l |
| 28500 | 62 6c 73 5b 5d 20 3d 20 7b 22 46 69 6c 65 22 2c 20 22 49 6e 66 6f 22 7d 3b 00 00 00 1f 20 20 66 | bls[].=.{"File",."Info"};......f |
| 28520 | 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 32 3b 20 69 2b 2b 29 20 7b 00 00 00 25 | or.(int.i.=.0;.i.<.2;.i++).{...% |
| 28540 | 20 20 20 20 69 6e 74 20 62 78 20 3d 20 62 74 6e 5f 78 28 69 29 2c 20 62 77 20 3d 20 62 74 6e 5f | ....int.bx.=.btn_x(i),.bw.=.btn_ |
| 28560 | 77 28 69 29 3b 00 00 00 4c 20 20 20 20 62 6f 6f 6c 20 68 6f 76 20 3d 20 61 2d 3e 6d 6f 75 73 65 | w(i);...L....bool.hov.=.a->mouse |
| 28580 | 5f 79 20 3e 3d 20 62 79 20 26 26 20 61 2d 3e 6d 6f 75 73 65 5f 78 20 3e 3d 20 62 78 20 26 26 20 | _y.>=.by.&&.a->mouse_x.>=.bx.&&. |
| 285a0 | 61 2d 3e 6d 6f 75 73 65 5f 78 20 3c 20 62 78 20 2b 20 62 77 3b 00 00 00 29 20 20 20 20 69 66 20 | a->mouse_x.<.bx.+.bw;...)....if. |
| 285c0 | 28 68 6f 76 20 7c 7c 20 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 20 3d 3d 20 28 4d 65 6e 75 49 64 29 | (hov.||.a->open_menu.==.(MenuId) |
| 285e0 | 69 29 00 00 00 3c 20 20 20 20 20 20 66 72 65 63 74 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 62 78 | i)...<......frect(px,.pw,.ph,.bx |
| 28600 | 2c 20 62 79 20 2b 20 31 2c 20 62 77 2c 20 42 41 52 5f 48 20 2d 20 31 2c 20 42 54 4e 5f 48 4f 56 | ,.by.+.1,.bw,.BAR_H.-.1,.BTN_HOV |
| 28620 | 29 3b 00 00 00 4f 20 20 20 20 64 73 74 72 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 62 78 20 2b 20 | );...O....dstr(px,.pw,.ph,.bx.+. |
| 28640 | 42 54 4e 5f 50 41 44 2c 20 62 79 20 2b 20 28 42 41 52 5f 48 20 2d 20 63 65 6c 6c 5f 68 29 20 2f | BTN_PAD,.by.+.(BAR_H.-.cell_h)./ |
| 28660 | 20 32 2c 20 6c 62 6c 73 5b 69 5d 2c 20 42 41 52 5f 46 47 29 3b 00 00 00 03 20 20 7d 00 00 00 01 | .2,.lbls[i],.BAR_FG);......}.... |
| 28680 | 7d 00 00 00 00 00 00 00 30 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 64 72 6f 70 28 73 | }.......0static.void.draw_drop(s |
| 286a0 | 74 72 75 63 74 20 61 70 70 20 2a 61 2c 20 4d 65 6e 75 49 64 20 6d 29 20 7b 00 00 00 17 20 20 76 | truct.app.*a,.MenuId.m).{......v |
| 286c0 | 6f 69 64 20 2a 70 78 20 3d 20 61 2d 3e 70 69 78 65 6c 73 3b 00 00 00 1b 20 20 69 6e 74 20 70 77 | oid.*px.=.a->pixels;......int.pw |
| 286e0 | 20 3d 20 61 2d 3e 77 2c 20 70 68 20 3d 20 61 2d 3e 68 3b 00 00 00 3a 20 20 69 6e 74 20 62 79 20 | .=.a->w,.ph.=.a->h;...:..int.by. |
| 28700 | 3d 20 62 61 72 5f 79 28 61 29 2c 20 64 77 20 3d 20 64 72 6f 70 5f 77 28 6d 29 2c 20 64 68 20 3d | =.bar_y(a),.dw.=.drop_w(m),.dh.= |
| 28720 | 20 64 72 6f 70 5f 74 6f 74 61 6c 5f 68 28 6d 29 3b 00 00 00 27 20 20 69 6e 74 20 64 78 20 3d 20 | .drop_total_h(m);...'..int.dx.=. |
| 28740 | 62 74 6e 5f 78 28 28 69 6e 74 29 6d 29 2c 20 64 79 20 3d 20 62 79 20 2d 20 64 68 3b 00 00 00 2d | btn_x((int)m),.dy.=.by.-.dh;...- |
| 28760 | 20 20 69 6e 74 20 6e 20 3d 20 28 6d 20 3d 3d 20 4d 45 4e 55 5f 46 49 4c 45 29 20 3f 20 4e 5f 46 | ..int.n.=.(m.==.MENU_FILE).?.N_F |
| 28780 | 49 4c 45 20 3a 20 4e 5f 49 4e 46 4f 3b 00 00 00 45 20 20 63 6f 6e 73 74 20 4d 65 6e 75 49 74 65 | ILE.:.N_INFO;...E..const.MenuIte |
| 287a0 | 6d 20 2a 69 74 65 6d 73 20 3d 20 28 6d 20 3d 3d 20 4d 45 4e 55 5f 46 49 4c 45 29 20 3f 20 66 69 | m.*items.=.(m.==.MENU_FILE).?.fi |
| 287c0 | 6c 65 5f 69 74 65 6d 73 20 3a 20 69 6e 66 6f 5f 69 74 65 6d 73 3b 00 00 00 00 00 00 00 2d 20 20 | le_items.:.info_items;.......-.. |
| 287e0 | 66 72 65 63 74 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 64 78 2c 20 64 79 2c 20 64 77 2c 20 64 68 | frect(px,.pw,.ph,.dx,.dy,.dw,.dh |
| 28800 | 2c 20 44 52 4f 50 5f 42 47 29 3b 00 00 00 2e 20 20 66 72 65 63 74 28 70 78 2c 20 70 77 2c 20 70 | ,.DROP_BG);......frect(px,.pw,.p |
| 28820 | 68 2c 20 64 78 2c 20 64 79 2c 20 64 77 2c 20 31 2c 20 53 45 50 5f 43 4f 4c 4f 52 29 3b 00 00 00 | h,.dx,.dy,.dw,.1,.SEP_COLOR);... |
| 28840 | 2e 20 20 66 72 65 63 74 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 64 78 2c 20 64 79 2c 20 31 2c 20 | ...frect(px,.pw,.ph,.dx,.dy,.1,. |
| 28860 | 64 68 2c 20 53 45 50 5f 43 4f 4c 4f 52 29 3b 00 00 00 37 20 20 66 72 65 63 74 28 70 78 2c 20 70 | dh,.SEP_COLOR);...7..frect(px,.p |
| 28880 | 77 2c 20 70 68 2c 20 64 78 20 2b 20 64 77 20 2d 20 31 2c 20 64 79 2c 20 31 2c 20 64 68 2c 20 53 | w,.ph,.dx.+.dw.-.1,.dy,.1,.dh,.S |
| 288a0 | 45 50 5f 43 4f 4c 4f 52 29 3b 00 00 00 37 20 20 66 72 65 63 74 28 70 78 2c 20 70 77 2c 20 70 68 | EP_COLOR);...7..frect(px,.pw,.ph |
| 288c0 | 2c 20 64 78 2c 20 64 79 20 2b 20 64 68 20 2d 20 31 2c 20 64 77 2c 20 31 2c 20 53 45 50 5f 43 4f | ,.dx,.dy.+.dh.-.1,.dw,.1,.SEP_CO |
| 288e0 | 4c 4f 52 29 3b 00 00 00 00 00 00 00 12 20 20 69 6e 74 20 69 79 20 3d 20 64 79 20 2b 20 34 3b 00 | LOR);..........int.iy.=.dy.+.4;. |
| 28900 | 00 00 1f 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 6e 3b 20 69 2b 2b 29 | .....for.(int.i.=.0;.i.<.n;.i++) |
| 28920 | 20 7b 00 00 00 26 20 20 20 20 62 6f 6f 6c 20 68 6f 76 20 3d 20 28 61 2d 3e 68 6f 76 65 72 65 64 | .{...&....bool.hov.=.(a->hovered |
| 28940 | 5f 69 74 65 6d 20 3d 3d 20 69 29 3b 00 00 00 0c 20 20 20 20 69 66 20 28 68 6f 76 29 00 00 00 3d | _item.==.i);........if.(hov)...= |
| 28960 | 20 20 20 20 20 20 66 72 65 63 74 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 64 78 20 2b 20 31 2c 20 | ......frect(px,.pw,.ph,.dx.+.1,. |
| 28980 | 69 79 2c 20 64 77 20 2d 20 32 2c 20 64 69 68 28 29 2c 20 44 52 4f 50 5f 48 4f 56 29 3b 00 00 00 | iy,.dw.-.2,.dih(),.DROP_HOV);... |
| 289a0 | 4d 20 20 20 20 64 73 74 72 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 64 78 20 2b 20 42 54 4e 5f 50 | M....dstr(px,.pw,.ph,.dx.+.BTN_P |
| 289c0 | 41 44 2c 20 69 79 20 2b 20 28 64 69 68 28 29 20 2d 20 63 65 6c 6c 5f 68 29 20 2f 20 32 2c 20 69 | AD,.iy.+.(dih().-.cell_h)./.2,.i |
| 289e0 | 74 65 6d 73 5b 69 5d 2e 6c 61 62 65 6c 2c 00 00 00 3a 20 20 20 20 20 20 20 20 20 68 6f 76 20 3f | tems[i].label,...:.........hov.? |
| 28a00 | 20 28 75 69 6e 74 33 32 5f 74 29 44 52 4f 50 5f 48 4f 56 5f 46 47 20 3a 20 28 75 69 6e 74 33 32 | .(uint32_t)DROP_HOV_FG.:.(uint32 |
| 28a20 | 5f 74 29 44 52 4f 50 5f 46 47 29 3b 00 00 00 10 20 20 20 20 69 79 20 2b 3d 20 64 69 68 28 29 3b | _t)DROP_FG);........iy.+=.dih(); |
| 28a40 | 00 00 00 1d 20 20 20 20 69 66 20 28 69 74 65 6d 73 5b 69 5d 2e 73 65 70 5f 61 66 74 65 72 29 20 | ........if.(items[i].sep_after). |
| 28a60 | 7b 00 00 00 3a 20 20 20 20 20 20 66 72 65 63 74 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 64 78 20 | {...:......frect(px,.pw,.ph,.dx. |
| 28a80 | 2b 20 34 2c 20 69 79 2c 20 64 77 20 2d 20 38 2c 20 31 2c 20 53 45 50 5f 43 4f 4c 4f 52 29 3b 00 | +.4,.iy,.dw.-.8,.1,.SEP_COLOR);. |
| 28aa0 | 00 00 0e 20 20 20 20 20 20 69 79 20 2b 3d 20 34 3b 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 | .........iy.+=.4;........}...... |
| 28ac0 | 7d 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 72 65 64 72 61 77 | }....}.......#static.void.redraw |
| 28ae0 | 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 17 20 20 76 6f 69 64 20 2a 70 78 20 | (struct.app.*a).{......void.*px. |
| 28b00 | 3d 20 61 2d 3e 70 69 78 65 6c 73 3b 00 00 00 1b 20 20 69 6e 74 20 70 77 20 3d 20 61 2d 3e 77 2c | =.a->pixels;......int.pw.=.a->w, |
| 28b20 | 20 70 68 20 3d 20 61 2d 3e 68 3b 00 00 00 16 20 20 69 6e 74 20 74 61 68 20 3d 20 74 65 78 74 5f | .ph.=.a->h;......int.tah.=.text_ |
| 28b40 | 68 28 61 29 3b 00 00 00 23 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 70 | h(a);...#..for.(int.i.=.0;.i.<.p |
| 28b60 | 77 20 2a 20 70 68 3b 20 69 2b 2b 29 00 00 00 23 20 20 20 20 28 28 75 69 6e 74 33 32 5f 74 20 2a | w.*.ph;.i++)...#....((uint32_t.* |
| 28b80 | 29 70 78 29 5b 69 5d 20 3d 20 42 47 5f 43 4f 4c 4f 52 3b 00 00 00 00 00 00 00 1f 20 20 69 6e 74 | )px)[i].=.BG_COLOR;..........int |
| 28ba0 | 20 73 65 6c 5f 6c 6f 20 3d 20 2d 31 2c 20 73 65 6c 5f 68 69 20 3d 20 2d 31 3b 00 00 00 18 20 20 | .sel_lo.=.-1,.sel_hi.=.-1;...... |
| 28bc0 | 69 66 20 28 73 65 6c 5f 61 6e 63 68 6f 72 20 3e 3d 20 30 29 20 7b 00 00 00 37 20 20 20 20 73 65 | if.(sel_anchor.>=.0).{...7....se |
| 28be0 | 6c 5f 6c 6f 20 3d 20 73 65 6c 5f 61 6e 63 68 6f 72 20 3c 20 63 75 72 73 6f 72 20 3f 20 73 65 6c | l_lo.=.sel_anchor.<.cursor.?.sel |
| 28c00 | 5f 61 6e 63 68 6f 72 20 3a 20 63 75 72 73 6f 72 3b 00 00 00 37 20 20 20 20 73 65 6c 5f 68 69 20 | _anchor.:.cursor;...7....sel_hi. |
| 28c20 | 3d 20 73 65 6c 5f 61 6e 63 68 6f 72 20 3c 20 63 75 72 73 6f 72 20 3f 20 63 75 72 73 6f 72 20 3a | =.sel_anchor.<.cursor.?.cursor.: |
| 28c40 | 20 73 65 6c 5f 61 6e 63 68 6f 72 3b 00 00 00 03 20 20 7d 00 00 00 17 20 20 69 6e 74 20 63 6f 6c | .sel_anchor;......}......int.col |
| 28c60 | 20 3d 20 30 2c 20 72 6f 77 20 3d 20 30 3b 00 00 00 23 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d | .=.0,.row.=.0;...#..for.(int.i.= |
| 28c80 | 20 30 3b 20 69 20 3c 3d 20 74 6c 65 6e 3b 20 69 2b 2b 29 20 7b 00 00 00 37 20 20 20 20 69 6e 74 | .0;.i.<=.tlen;.i++).{...7....int |
| 28ca0 | 20 78 20 3d 20 50 41 44 20 2b 20 63 6f 6c 20 2a 20 63 65 6c 6c 5f 77 2c 20 79 20 3d 20 50 41 44 | .x.=.PAD.+.col.*.cell_w,.y.=.PAD |
| 28cc0 | 20 2b 20 72 6f 77 20 2a 20 63 65 6c 6c 5f 68 3b 00 00 00 19 20 20 20 20 69 66 20 28 79 20 2b 20 | .+.row.*.cell_h;........if.(y.+. |
| 28ce0 | 63 65 6c 6c 5f 68 20 3e 20 74 61 68 29 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 | cell_h.>.tah)..........break;... |
| 28d00 | 3a 20 20 20 20 62 6f 6f 6c 20 69 6e 73 20 3d 20 73 65 6c 5f 6c 6f 20 3e 3d 20 30 20 26 26 20 69 | :....bool.ins.=.sel_lo.>=.0.&&.i |
| 28d20 | 20 3e 3d 20 73 65 6c 5f 6c 6f 20 26 26 20 69 20 3c 20 73 65 6c 5f 68 69 20 26 26 00 00 00 2e 20 | .>=.sel_lo.&&.i.<.sel_hi.&&..... |
| 28d40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 20 3e 3d 20 74 6c 65 6e 20 7c 7c 20 74 65 78 74 | ..............(i.>=.tlen.||.text |
| 28d60 | 5b 69 5d 20 21 3d 20 27 5c 6e 27 29 3b 00 00 00 0c 20 20 20 20 69 66 20 28 69 6e 73 29 00 00 00 | [i].!=.'\n');........if.(ins)... |
| 28d80 | 39 20 20 20 20 20 20 66 72 65 63 74 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 78 2c 20 79 2c 20 63 | 9......frect(px,.pw,.ph,.x,.y,.c |
| 28da0 | 65 6c 6c 5f 77 2c 20 63 65 6c 6c 5f 68 2c 20 53 45 4c 5f 43 4f 4c 4f 52 29 3b 00 00 00 14 20 20 | ell_w,.cell_h,.SEL_COLOR);...... |
| 28dc0 | 20 20 69 66 20 28 69 20 3d 3d 20 63 75 72 73 6f 72 29 00 00 00 34 20 20 20 20 20 20 66 72 65 63 | ..if.(i.==.cursor)...4......frec |
| 28de0 | 74 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 78 2c 20 79 2c 20 32 2c 20 63 65 6c 6c 5f 68 2c 20 43 | t(px,.pw,.ph,.x,.y,.2,.cell_h,.C |
| 28e00 | 55 52 5f 43 4f 4c 4f 52 29 3b 00 00 00 13 20 20 20 20 69 66 20 28 69 20 3c 20 74 6c 65 6e 29 20 | UR_COLOR);........if.(i.<.tlen). |
| 28e20 | 7b 00 00 00 1c 20 20 20 20 20 20 69 66 20 28 74 65 78 74 5b 69 5d 20 3d 3d 20 27 5c 6e 27 29 20 | {..........if.(text[i].==.'\n'). |
| 28e40 | 7b 00 00 00 10 20 20 20 20 20 20 20 20 63 6f 6c 20 3d 20 30 3b 00 00 00 0e 20 20 20 20 20 20 20 | {............col.=.0;........... |
| 28e60 | 20 72 6f 77 2b 2b 3b 00 00 00 0e 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 00 00 00 24 20 20 20 | .row++;..........}.else.{...$... |
| 28e80 | 20 20 20 20 20 69 66 20 28 78 20 2b 20 63 65 6c 6c 5f 77 20 3e 20 70 77 20 2d 20 50 41 44 29 20 | .....if.(x.+.cell_w.>.pw.-.PAD). |
| 28ea0 | 7b 00 00 00 12 20 20 20 20 20 20 20 20 20 20 63 6f 6c 20 3d 20 30 3b 00 00 00 10 20 20 20 20 20 | {..............col.=.0;......... |
| 28ec0 | 20 20 20 20 20 72 6f 77 2b 2b 3b 00 00 00 12 20 20 20 20 20 20 20 20 20 20 78 20 3d 20 50 41 44 | .....row++;..............x.=.PAD |
| 28ee0 | 3b 00 00 00 21 20 20 20 20 20 20 20 20 20 20 79 20 3d 20 50 41 44 20 2b 20 72 6f 77 20 2a 20 63 | ;...!..........y.=.PAD.+.row.*.c |
| 28f00 | 65 6c 6c 5f 68 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 1e 20 20 20 20 20 20 20 20 69 | ell_h;............}............i |
| 28f20 | 66 20 28 79 20 2b 20 63 65 6c 6c 5f 68 20 3c 3d 20 74 61 68 29 00 00 00 3a 20 20 20 20 20 20 20 | f.(y.+.cell_h.<=.tah)...:....... |
| 28f40 | 20 20 20 64 67 6c 79 70 68 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 78 2c 20 79 2c 20 28 75 6e 73 | ...dglyph(px,.pw,.ph,.x,.y,.(uns |
| 28f60 | 69 67 6e 65 64 20 63 68 61 72 29 74 65 78 74 5b 69 5d 2c 00 00 00 3e 20 20 20 20 20 20 20 20 20 | igned.char)text[i],...>......... |
| 28f80 | 20 20 20 20 20 20 20 20 69 6e 73 20 3f 20 28 75 69 6e 74 33 32 5f 74 29 53 45 4c 5f 46 47 20 3a | ........ins.?.(uint32_t)SEL_FG.: |
| 28fa0 | 20 28 75 69 6e 74 33 32 5f 74 29 46 47 5f 43 4f 4c 4f 52 29 3b 00 00 00 0e 20 20 20 20 20 20 20 | .(uint32_t)FG_COLOR);........... |
| 28fc0 | 20 63 6f 6c 2b 2b 3b 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 | .col++;..........}........}..... |
| 28fe0 | 20 7d 00 00 00 00 00 00 00 0e 20 20 64 72 61 77 5f 62 61 72 28 61 29 3b 00 00 00 20 20 20 69 66 | .}..........draw_bar(a);......if |
| 29000 | 20 28 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 20 21 3d 20 4d 45 4e 55 5f 4e 4f 4e 45 29 00 00 00 1f | .(a->open_menu.!=.MENU_NONE).... |
| 29020 | 20 20 20 20 64 72 61 77 5f 64 72 6f 70 28 61 2c 20 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 29 3b 00 | ....draw_drop(a,.a->open_menu);. |
| 29040 | 00 00 00 00 00 00 30 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 61 6d 61 67 65 5f 62 75 66 66 65 | ......0..wl_surface_damage_buffe |
| 29060 | 72 28 61 2d 3e 77 73 2c 20 30 2c 20 30 2c 20 70 77 2c 20 70 68 29 3b 00 00 00 29 20 20 77 6c 5f | r(a->ws,.0,.0,.pw,.ph);...)..wl_ |
| 29080 | 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 61 2d 3e 77 73 2c 20 61 2d 3e 62 75 66 2c 20 30 2c | surface_attach(a->ws,.a->buf,.0, |
| 290a0 | 20 30 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2d 3e 77 | .0);......wl_surface_commit(a->w |
| 290c0 | 73 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 64 72 | s);....}.......)static.void.redr |
| 290e0 | 61 77 5f 61 62 6f 75 74 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 1e 20 20 73 | aw_about(struct.app.*a).{......s |
| 29100 | 74 72 75 63 74 20 70 6f 70 75 70 20 2a 70 20 3d 20 26 61 2d 3e 61 62 6f 75 74 3b 00 00 00 1d 20 | truct.popup.*p.=.&a->about;..... |
| 29120 | 20 69 66 20 28 21 70 2d 3e 6f 70 65 6e 20 7c 7c 20 21 70 2d 3e 70 69 78 65 6c 73 29 00 00 00 0b | .if.(!p->open.||.!p->pixels).... |
| 29140 | 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 17 20 20 76 6f 69 64 20 2a 70 78 20 3d 20 70 2d 3e 70 | ....return;......void.*px.=.p->p |
| 29160 | 69 78 65 6c 73 3b 00 00 00 1b 20 20 69 6e 74 20 70 77 20 3d 20 70 2d 3e 77 2c 20 70 68 20 3d 20 | ixels;......int.pw.=.p->w,.ph.=. |
| 29180 | 70 2d 3e 68 3b 00 00 00 23 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 70 | p->h;...#..for.(int.i.=.0;.i.<.p |
| 291a0 | 77 20 2a 20 70 68 3b 20 69 2b 2b 29 00 00 00 23 20 20 20 20 28 28 75 69 6e 74 33 32 5f 74 20 2a | w.*.ph;.i++)...#....((uint32_t.* |
| 291c0 | 29 70 78 29 5b 69 5d 20 3d 20 42 47 5f 43 4f 4c 4f 52 3b 00 00 00 2c 20 20 66 72 65 63 74 28 70 | )px)[i].=.BG_COLOR;...,..frect(p |
| 291e0 | 78 2c 20 70 77 2c 20 70 68 2c 20 30 2c 20 30 2c 20 70 77 2c 20 31 2c 20 53 45 50 5f 43 4f 4c 4f | x,.pw,.ph,.0,.0,.pw,.1,.SEP_COLO |
| 29200 | 52 29 3b 00 00 00 31 20 20 66 72 65 63 74 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 30 2c 20 70 68 | R);...1..frect(px,.pw,.ph,.0,.ph |
| 29220 | 20 2d 20 31 2c 20 70 77 2c 20 31 2c 20 53 45 50 5f 43 4f 4c 4f 52 29 3b 00 00 00 2c 20 20 66 72 | .-.1,.pw,.1,.SEP_COLOR);...,..fr |
| 29240 | 65 63 74 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 30 2c 20 30 2c 20 31 2c 20 70 68 2c 20 53 45 50 | ect(px,.pw,.ph,.0,.0,.1,.ph,.SEP |
| 29260 | 5f 43 4f 4c 4f 52 29 3b 00 00 00 31 20 20 66 72 65 63 74 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 | _COLOR);...1..frect(px,.pw,.ph,. |
| 29280 | 70 77 20 2d 20 31 2c 20 30 2c 20 31 2c 20 70 68 2c 20 53 45 50 5f 43 4f 4c 4f 52 29 3b 00 00 00 | pw.-.1,.0,.1,.ph,.SEP_COLOR);... |
| 292a0 | 00 00 00 00 12 20 20 69 6e 74 20 79 20 3d 20 50 41 44 20 2a 20 32 3b 00 00 00 47 20 20 64 73 74 | .......int.y.=.PAD.*.2;...G..dst |
| 292c0 | 72 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 50 41 44 20 2a 20 32 2c 20 79 2c 20 22 77 6c 45 44 2c | r(px,.pw,.ph,.PAD.*.2,.y,."wlED, |
| 292e0 | 20 20 77 61 79 6c 61 6e 64 20 74 65 78 74 20 65 64 69 74 6f 72 22 2c 20 46 47 5f 43 4f 4c 4f 52 | ..wayland.text.editor",.FG_COLOR |
| 29300 | 29 3b 00 00 00 14 20 20 79 20 2b 3d 20 63 65 6c 6c 5f 68 20 2b 20 50 41 44 3b 00 00 00 3c 20 20 | );......y.+=.cell_h.+.PAD;...<.. |
| 29320 | 66 72 65 63 74 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 50 41 44 20 2a 20 32 2c 20 79 2c 20 70 77 | frect(px,.pw,.ph,.PAD.*.2,.y,.pw |
| 29340 | 20 2d 20 50 41 44 20 2a 20 34 2c 20 31 2c 20 53 45 50 5f 43 4f 4c 4f 52 29 3b 00 00 00 0b 20 20 | .-.PAD.*.4,.1,.SEP_COLOR);...... |
| 29360 | 79 20 2b 3d 20 50 41 44 3b 00 00 00 44 20 20 64 73 74 72 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 | y.+=.PAD;...D..dstr(px,.pw,.ph,. |
| 29380 | 50 41 44 20 2a 20 32 2c 20 79 2c 20 22 6c 69 63 65 6e 73 65 64 20 75 6e 64 65 72 20 47 50 4c 20 | PAD.*.2,.y,."licensed.under.GPL. |
| 293a0 | 76 33 2e 30 22 2c 20 46 47 5f 43 4f 4c 4f 52 29 3b 00 00 00 12 20 20 79 20 2b 3d 20 63 65 6c 6c | v3.0",.FG_COLOR);......y.+=.cell |
| 293c0 | 5f 68 20 2b 20 36 3b 00 00 00 4d 20 20 64 73 74 72 28 70 78 2c 20 70 77 2c 20 70 68 2c 20 50 41 | _h.+.6;...M..dstr(px,.pw,.ph,.PA |
| 293e0 | 44 20 2a 20 32 2c 20 79 2c 20 22 63 72 65 61 74 65 64 20 62 79 20 20 67 69 74 2e 73 72 2e 68 74 | D.*.2,.y,."created.by..git.sr.ht |
| 29400 | 2f 7e 63 6f 61 73 74 65 65 6e 2f 22 2c 20 46 47 5f 43 4f 4c 4f 52 29 3b 00 00 00 12 20 20 79 20 | /~coasteen/",.FG_COLOR);......y. |
| 29420 | 2b 3d 20 63 65 6c 6c 5f 68 20 2b 20 36 3b 00 00 00 46 20 20 64 73 74 72 28 70 78 2c 20 70 77 2c | +=.cell_h.+.6;...F..dstr(px,.pw, |
| 29440 | 20 70 68 2c 20 50 41 44 20 2a 20 32 2c 20 79 2c 20 22 73 6f 75 72 63 65 3a 20 20 20 20 20 67 69 | .ph,.PAD.*.2,.y,."source:.....gi |
| 29460 | 74 2e 73 72 2e 68 74 2f 7e 63 6f 61 73 74 65 65 6e 2f 77 6c 65 64 22 2c 00 00 00 11 20 20 20 20 | t.sr.ht/~coasteen/wled",........ |
| 29480 | 20 20 20 46 47 5f 43 4f 4c 4f 52 29 3b 00 00 00 00 00 00 00 30 20 20 77 6c 5f 73 75 72 66 61 63 | ...FG_COLOR);.......0..wl_surfac |
| 294a0 | 65 5f 64 61 6d 61 67 65 5f 62 75 66 66 65 72 28 70 2d 3e 77 73 2c 20 30 2c 20 30 2c 20 70 77 2c | e_damage_buffer(p->ws,.0,.0,.pw, |
| 294c0 | 20 70 68 29 3b 00 00 00 29 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 70 2d 3e | .ph);...)..wl_surface_attach(p-> |
| 294e0 | 77 73 2c 20 70 2d 3e 62 75 66 2c 20 30 2c 20 30 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 | ws,.p->buf,.0,.0);......wl_surfa |
| 29500 | 63 65 5f 63 6f 6d 6d 69 74 28 70 2d 3e 77 73 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4c 73 74 | ce_commit(p->ws);....}.......Lst |
| 29520 | 61 74 69 63 20 76 6f 69 64 20 61 62 6f 75 74 5f 78 73 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 | atic.void.about_xs_cfg(void.*d,. |
| 29540 | 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 2c 20 75 69 6e 74 33 32 5f 74 | struct.xdg_surface.*xs,.uint32_t |
| 29560 | 20 73 65 72 69 61 6c 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 | .serial).{......struct.app.*a.=. |
| 29580 | 64 3b 00 00 00 1e 20 20 73 74 72 75 63 74 20 70 6f 70 75 70 20 2a 70 20 3d 20 26 61 2d 3e 61 62 | d;......struct.popup.*p.=.&a->ab |
| 295a0 | 6f 75 74 3b 00 00 00 28 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 63 6b 5f 63 6f 6e 66 69 67 | out;...(..xdg_surface_ack_config |
| 295c0 | 75 72 65 28 78 73 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 11 20 20 69 66 20 28 21 70 2d 3e 70 69 | ure(xs,.serial);......if.(!p->pi |
| 295e0 | 78 65 6c 73 29 00 00 00 42 20 20 20 20 70 2d 3e 70 69 78 65 6c 73 20 3d 20 6d 61 6b 65 5f 73 68 | xels)...B....p->pixels.=.make_sh |
| 29600 | 6d 28 61 2c 20 70 2d 3e 77 2c 20 70 2d 3e 68 2c 20 26 70 2d 3e 62 75 66 2c 20 26 70 2d 3e 70 69 | m(a,.p->w,.p->h,.&p->buf,.&p->pi |
| 29620 | 78 65 6c 73 5f 73 69 7a 65 29 3b 00 00 00 17 20 20 70 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 3d | xels_size);......p->configured.= |
| 29640 | 20 74 72 75 65 3b 00 00 00 12 20 20 72 65 64 72 61 77 5f 61 62 6f 75 74 28 61 29 3b 00 00 00 01 | .true;......redraw_about(a);.... |
| 29660 | 7d 00 00 00 43 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 | }...Cstatic.const.struct.xdg_sur |
| 29680 | 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 20 61 62 6f 75 74 5f 78 73 5f 6c 20 3d 20 7b 2e 63 6f 6e | face_listener.about_xs_l.=.{.con |
| 296a0 | 66 69 67 75 72 65 20 3d 00 00 00 49 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | figure.=...I.................... |
| 296c0 | 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 | ................................ |
| 296e0 | 20 20 20 20 20 20 20 61 62 6f 75 74 5f 78 73 5f 63 66 67 7d 3b 00 00 00 00 00 00 00 50 73 74 61 | .......about_xs_cfg};.......Psta |
| 29700 | 74 69 63 20 76 6f 69 64 20 61 62 6f 75 74 5f 78 74 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 | tic.void.about_xt_cfg(void.*d,.s |
| 29720 | 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 2c 20 69 6e 74 33 32 5f 74 20 | truct.xdg_toplevel.*xt,.int32_t. |
| 29740 | 77 2c 20 69 6e 74 33 32 5f 74 20 68 2c 00 00 00 2f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | w,.int32_t.h,.../............... |
| 29760 | 20 20 20 20 20 20 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 29 20 7b 7d | ..........struct.wl_array.*s).{} |
| 29780 | 00 00 00 3e 73 74 61 74 69 63 20 76 6f 69 64 20 61 62 6f 75 74 5f 78 74 5f 63 6c 6f 73 65 28 76 | ...>static.void.about_xt_close(v |
| 297a0 | 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 29 | oid.*d,.struct.xdg_toplevel.*xt) |
| 297c0 | 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 1e 20 20 | .{......struct.app.*a.=.d;...... |
| 297e0 | 73 74 72 75 63 74 20 70 6f 70 75 70 20 2a 70 20 3d 20 26 61 2d 3e 61 62 6f 75 74 3b 00 00 00 0f | struct.popup.*p.=.&a->about;.... |
| 29800 | 20 20 69 66 20 28 70 2d 3e 62 75 66 29 20 7b 00 00 00 1e 20 20 20 20 77 6c 5f 62 75 66 66 65 72 | ..if.(p->buf).{........wl_buffer |
| 29820 | 5f 64 65 73 74 72 6f 79 28 70 2d 3e 62 75 66 29 3b 00 00 00 12 20 20 20 20 70 2d 3e 62 75 66 20 | _destroy(p->buf);........p->buf. |
| 29840 | 3d 20 4e 55 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 12 20 20 69 66 20 28 70 2d 3e 70 69 78 65 6c | =.NULL;......}......if.(p->pixel |
| 29860 | 73 29 20 7b 00 00 00 26 20 20 20 20 6d 75 6e 6d 61 70 28 70 2d 3e 70 69 78 65 6c 73 2c 20 70 2d | s).{...&....munmap(p->pixels,.p- |
| 29880 | 3e 70 69 78 65 6c 73 5f 73 69 7a 65 29 3b 00 00 00 15 20 20 20 20 70 2d 3e 70 69 78 65 6c 73 20 | >pixels_size);........p->pixels. |
| 298a0 | 3d 20 4e 55 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 0e 20 20 69 66 20 28 70 2d 3e 78 74 29 20 7b | =.NULL;......}......if.(p->xt).{ |
| 298c0 | 00 00 00 20 20 20 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 64 65 73 74 72 6f 79 28 70 2d 3e | ........xdg_toplevel_destroy(p-> |
| 298e0 | 78 74 29 3b 00 00 00 11 20 20 20 20 70 2d 3e 78 74 20 3d 20 4e 55 4c 4c 3b 00 00 00 03 20 20 7d | xt);........p->xt.=.NULL;......} |
| 29900 | 00 00 00 0e 20 20 69 66 20 28 70 2d 3e 78 73 29 20 7b 00 00 00 1f 20 20 20 20 78 64 67 5f 73 75 | ......if.(p->xs).{........xdg_su |
| 29920 | 72 66 61 63 65 5f 64 65 73 74 72 6f 79 28 70 2d 3e 78 73 29 3b 00 00 00 11 20 20 20 20 70 2d 3e | rface_destroy(p->xs);........p-> |
| 29940 | 78 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 0e 20 20 69 66 20 28 70 2d 3e 77 73 | xs.=.NULL;......}......if.(p->ws |
| 29960 | 29 20 7b 00 00 00 1e 20 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 65 73 74 72 6f 79 28 70 2d | ).{........wl_surface_destroy(p- |
| 29980 | 3e 77 73 29 3b 00 00 00 11 20 20 20 20 70 2d 3e 77 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 03 20 20 | >ws);........p->ws.=.NULL;...... |
| 299a0 | 7d 00 00 00 12 20 20 70 2d 3e 6f 70 65 6e 20 3d 20 66 61 6c 73 65 3b 00 00 00 18 20 20 70 2d 3e | }......p->open.=.false;......p-> |
| 299c0 | 63 6f 6e 66 69 67 75 72 65 64 20 3d 20 66 61 6c 73 65 3b 00 00 00 01 7d 00 00 00 38 73 74 61 74 | configured.=.false;....}...8stat |
| 299e0 | 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 | ic.const.struct.xdg_toplevel_lis |
| 29a00 | 74 65 6e 65 72 20 61 62 6f 75 74 5f 78 74 5f 6c 20 3d 20 7b 00 00 00 38 20 20 20 20 2e 63 6f 6e | tener.about_xt_l.=.{...8.....con |
| 29a20 | 66 69 67 75 72 65 20 3d 20 61 62 6f 75 74 5f 78 74 5f 63 66 67 2c 20 2e 63 6c 6f 73 65 20 3d 20 | figure.=.about_xt_cfg,..close.=. |
| 29a40 | 61 62 6f 75 74 5f 78 74 5f 63 6c 6f 73 65 7d 3b 00 00 00 00 00 00 00 27 73 74 61 74 69 63 20 76 | about_xt_close};.......'static.v |
| 29a60 | 6f 69 64 20 6f 70 65 6e 5f 61 62 6f 75 74 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 | oid.open_about(struct.app.*a).{. |
| 29a80 | 00 00 1e 20 20 73 74 72 75 63 74 20 70 6f 70 75 70 20 2a 70 20 3d 20 26 61 2d 3e 61 62 6f 75 74 | .....struct.popup.*p.=.&a->about |
| 29aa0 | 3b 00 00 00 0e 20 20 69 66 20 28 70 2d 3e 6f 70 65 6e 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 | ;......if.(p->open)........retur |
| 29ac0 | 6e 3b 00 00 00 10 20 20 69 6e 74 20 6c 69 6e 65 73 20 3d 20 35 3b 00 00 00 1f 20 20 70 2d 3e 77 | n;......int.lines.=.5;......p->w |
| 29ae0 | 20 3d 20 32 32 20 2a 20 63 65 6c 6c 5f 77 20 2b 20 50 41 44 20 2a 20 34 3b 00 00 00 31 20 20 70 | .=.22.*.cell_w.+.PAD.*.4;...1..p |
| 29b00 | 2d 3e 68 20 3d 20 6c 69 6e 65 73 20 2a 20 28 63 65 6c 6c 5f 68 20 2b 20 36 29 20 2b 20 50 41 44 | ->h.=.lines.*.(cell_h.+.6).+.PAD |
| 29b20 | 20 2a 20 34 20 2b 20 63 65 6c 6c 5f 68 3b 00 00 00 11 20 20 69 66 20 28 70 2d 3e 77 20 3c 20 33 | .*.4.+.cell_h;......if.(p->w.<.3 |
| 29b40 | 36 30 29 00 00 00 0f 20 20 20 20 70 2d 3e 77 20 3d 20 33 36 30 3b 00 00 00 11 20 20 69 66 20 28 | 60)........p->w.=.360;......if.( |
| 29b60 | 70 2d 3e 68 20 3c 20 31 34 30 29 00 00 00 0f 20 20 20 20 70 2d 3e 68 20 3d 20 31 34 30 3b 00 00 | p->h.<.140)........p->h.=.140;.. |
| 29b80 | 00 11 20 20 70 2d 3e 6f 70 65 6e 20 3d 20 74 72 75 65 3b 00 00 00 30 20 20 70 2d 3e 77 73 20 3d | ....p->open.=.true;...0..p->ws.= |
| 29ba0 | 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 63 72 65 61 74 65 5f 73 75 72 66 61 63 65 28 61 2d | .wl_compositor_create_surface(a- |
| 29bc0 | 3e 63 6f 6d 70 29 3b 00 00 00 34 20 20 70 2d 3e 78 73 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 | >comp);...4..p->xs.=.xdg_wm_base |
| 29be0 | 5f 67 65 74 5f 78 64 67 5f 73 75 72 66 61 63 65 28 61 2d 3e 77 6d 2c 20 70 2d 3e 77 73 29 3b 00 | _get_xdg_surface(a->wm,.p->ws);. |
| 29c00 | 00 00 32 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 70 2d | ..2..xdg_surface_add_listener(p- |
| 29c20 | 3e 78 73 2c 20 26 61 62 6f 75 74 5f 78 73 5f 6c 2c 20 61 29 3b 00 00 00 2a 20 20 70 2d 3e 78 74 | >xs,.&about_xs_l,.a);...*..p->xt |
| 29c40 | 20 3d 20 78 64 67 5f 73 75 72 66 61 63 65 5f 67 65 74 5f 74 6f 70 6c 65 76 65 6c 28 70 2d 3e 78 | .=.xdg_surface_get_toplevel(p->x |
| 29c60 | 73 29 3b 00 00 00 33 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 74 65 6e | s);...3..xdg_toplevel_add_listen |
| 29c80 | 65 72 28 70 2d 3e 78 74 2c 20 26 61 62 6f 75 74 5f 78 74 5f 6c 2c 20 61 29 3b 00 00 00 2e 20 20 | er(p->xt,.&about_xt_l,.a);...... |
| 29ca0 | 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 74 69 74 6c 65 28 70 2d 3e 78 74 2c 20 22 41 | xdg_toplevel_set_title(p->xt,."A |
| 29cc0 | 62 6f 75 74 20 77 6c 65 64 22 29 3b 00 00 00 2f 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 | bout.wled");.../..xdg_toplevel_s |
| 29ce0 | 65 74 5f 6d 69 6e 5f 73 69 7a 65 28 70 2d 3e 78 74 2c 20 70 2d 3e 77 2c 20 70 2d 3e 68 29 3b 00 | et_min_size(p->xt,.p->w,.p->h);. |
| 29d00 | 00 00 2f 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 6d 61 78 5f 73 69 7a 65 28 70 | ../..xdg_toplevel_set_max_size(p |
| 29d20 | 2d 3e 78 74 2c 20 70 2d 3e 77 2c 20 70 2d 3e 68 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 | ->xt,.p->w,.p->h);......wl_surfa |
| 29d40 | 63 65 5f 63 6f 6d 6d 69 74 28 70 2d 3e 77 73 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 50 73 74 | ce_commit(p->ws);....}.......Pst |
| 29d60 | 61 74 69 63 20 69 6e 74 20 73 65 6c 5f 73 74 61 72 74 28 76 6f 69 64 29 20 7b 20 72 65 74 75 72 | atic.int.sel_start(void).{.retur |
| 29d80 | 6e 20 73 65 6c 5f 61 6e 63 68 6f 72 20 3c 20 63 75 72 73 6f 72 20 3f 20 73 65 6c 5f 61 6e 63 68 | n.sel_anchor.<.cursor.?.sel_anch |
| 29da0 | 6f 72 20 3a 20 63 75 72 73 6f 72 3b 20 7d 00 00 00 1a 73 74 61 74 69 63 20 69 6e 74 20 73 65 6c | or.:.cursor;.}....static.int.sel |
| 29dc0 | 5f 6c 65 6e 28 76 6f 69 64 29 20 7b 00 00 00 49 20 20 72 65 74 75 72 6e 20 73 65 6c 5f 61 6e 63 | _len(void).{...I..return.sel_anc |
| 29de0 | 68 6f 72 20 3c 20 63 75 72 73 6f 72 20 3f 20 63 75 72 73 6f 72 20 2d 20 73 65 6c 5f 61 6e 63 68 | hor.<.cursor.?.cursor.-.sel_anch |
| 29e00 | 6f 72 20 3a 20 73 65 6c 5f 61 6e 63 68 6f 72 20 2d 20 63 75 72 73 6f 72 3b 00 00 00 01 7d 00 00 | or.:.sel_anchor.-.cursor;....}.. |
| 29e20 | 00 00 00 00 00 1e 73 74 61 74 69 63 20 76 6f 69 64 20 64 65 6c 65 74 65 5f 73 65 6c 28 76 6f 69 | ......static.void.delete_sel(voi |
| 29e40 | 64 29 20 7b 00 00 00 15 20 20 69 66 20 28 73 65 6c 5f 61 6e 63 68 6f 72 20 3c 20 30 29 00 00 00 | d).{......if.(sel_anchor.<.0)... |
| 29e60 | 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 28 20 20 69 6e 74 20 6c 6f 20 3d 20 73 65 6c 5f 73 | .....return;...(..int.lo.=.sel_s |
| 29e80 | 74 61 72 74 28 29 2c 20 6c 65 6e 20 3d 20 73 65 6c 5f 6c 65 6e 28 29 3b 00 00 00 37 20 20 6d 65 | tart(),.len.=.sel_len();...7..me |
| 29ea0 | 6d 6d 6f 76 65 28 74 65 78 74 20 2b 20 6c 6f 2c 20 74 65 78 74 20 2b 20 6c 6f 20 2b 20 6c 65 6e | mmove(text.+.lo,.text.+.lo.+.len |
| 29ec0 | 2c 20 74 6c 65 6e 20 2d 20 6c 6f 20 2d 20 6c 65 6e 29 3b 00 00 00 0e 20 20 74 6c 65 6e 20 2d 3d | ,.tlen.-.lo.-.len);......tlen.-= |
| 29ee0 | 20 6c 65 6e 3b 00 00 00 14 20 20 74 65 78 74 5b 74 6c 65 6e 5d 20 3d 20 27 5c 30 27 3b 00 00 00 | .len;......text[tlen].=.'\0';... |
| 29f00 | 0e 20 20 63 75 72 73 6f 72 20 3d 20 6c 6f 3b 00 00 00 12 20 20 73 65 6c 5f 61 6e 63 68 6f 72 20 | ...cursor.=.lo;......sel_anchor. |
| 29f20 | 3d 20 2d 31 3b 00 00 00 01 7d 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 76 6f 69 64 20 69 6e | =.-1;....}.......)static.void.in |
| 29f40 | 73 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 2c 20 69 6e 74 20 6c 65 6e 29 20 7b 00 00 00 1d 20 | s(const.char.*s,.int.len).{..... |
| 29f60 | 20 69 66 20 28 74 6c 65 6e 20 2b 20 6c 65 6e 20 3e 3d 20 4d 41 58 5f 54 45 58 54 29 00 00 00 1e | .if.(tlen.+.len.>=.MAX_TEXT).... |
| 29f80 | 20 20 20 20 6c 65 6e 20 3d 20 4d 41 58 5f 54 45 58 54 20 2d 20 74 6c 65 6e 20 2d 20 31 3b 00 00 | ....len.=.MAX_TEXT.-.tlen.-.1;.. |
| 29fa0 | 00 3d 20 20 6d 65 6d 6d 6f 76 65 28 74 65 78 74 20 2b 20 63 75 72 73 6f 72 20 2b 20 6c 65 6e 2c | .=..memmove(text.+.cursor.+.len, |
| 29fc0 | 20 74 65 78 74 20 2b 20 63 75 72 73 6f 72 2c 20 74 6c 65 6e 20 2d 20 63 75 72 73 6f 72 29 3b 00 | .text.+.cursor,.tlen.-.cursor);. |
| 29fe0 | 00 00 20 20 20 6d 65 6d 63 70 79 28 74 65 78 74 20 2b 20 63 75 72 73 6f 72 2c 20 73 2c 20 6c 65 | .....memcpy(text.+.cursor,.s,.le |
| 2a000 | 6e 29 3b 00 00 00 0e 20 20 74 6c 65 6e 20 2b 3d 20 6c 65 6e 3b 00 00 00 14 20 20 74 65 78 74 5b | n);......tlen.+=.len;......text[ |
| 2a020 | 74 6c 65 6e 5d 20 3d 20 27 5c 30 27 3b 00 00 00 10 20 20 63 75 72 73 6f 72 20 2b 3d 20 6c 65 6e | tlen].=.'\0';......cursor.+=.len |
| 2a040 | 3b 00 00 00 0f 20 20 64 69 72 74 79 20 3d 20 74 72 75 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 | ;......dirty.=.true;....}....... |
| 2a060 | 25 73 74 61 74 69 63 20 76 6f 69 64 20 63 6f 70 79 5f 73 65 6c 28 73 74 72 75 63 74 20 61 70 70 | %static.void.copy_sel(struct.app |
| 2a080 | 20 2a 61 29 20 7b 00 00 00 15 20 20 69 66 20 28 73 65 6c 5f 61 6e 63 68 6f 72 20 3c 20 30 29 00 | .*a).{......if.(sel_anchor.<.0). |
| 2a0a0 | 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 28 20 20 69 6e 74 20 6c 6f 20 3d 20 73 65 6c | .......return;...(..int.lo.=.sel |
| 2a0c0 | 5f 73 74 61 72 74 28 29 2c 20 6c 65 6e 20 3d 20 73 65 6c 5f 6c 65 6e 28 29 3b 00 00 00 2a 20 20 | _start(),.len.=.sel_len();...*.. |
| 2a0e0 | 69 66 20 28 6c 65 6e 20 3e 20 28 69 6e 74 29 73 69 7a 65 6f 66 28 61 2d 3e 63 6c 69 70 62 6f 61 | if.(len.>.(int)sizeof(a->clipboa |
| 2a100 | 72 64 29 20 2d 20 31 29 00 00 00 23 20 20 20 20 6c 65 6e 20 3d 20 73 69 7a 65 6f 66 28 61 2d 3e | rd).-.1)...#....len.=.sizeof(a-> |
| 2a120 | 63 6c 69 70 62 6f 61 72 64 29 20 2d 20 31 3b 00 00 00 27 20 20 6d 65 6d 63 70 79 28 61 2d 3e 63 | clipboard).-.1;...'..memcpy(a->c |
| 2a140 | 6c 69 70 62 6f 61 72 64 2c 20 74 65 78 74 20 2b 20 6c 6f 2c 20 6c 65 6e 29 3b 00 00 00 1b 20 20 | lipboard,.text.+.lo,.len);...... |
| 2a160 | 61 2d 3e 63 6c 69 70 62 6f 61 72 64 5b 6c 65 6e 5d 20 3d 20 27 5c 30 27 3b 00 00 00 19 20 20 61 | a->clipboard[len].=.'\0';......a |
| 2a180 | 2d 3e 63 6c 69 70 62 6f 61 72 64 5f 6c 65 6e 20 3d 20 6c 65 6e 3b 00 00 00 0e 20 20 69 66 20 28 | ->clipboard_len.=.len;......if.( |
| 2a1a0 | 61 2d 3e 64 73 29 20 7b 00 00 00 22 20 20 20 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 5f 64 | a->ds).{..."....wl_data_source_d |
| 2a1c0 | 65 73 74 72 6f 79 28 61 2d 3e 64 73 29 3b 00 00 00 11 20 20 20 20 61 2d 3e 64 73 20 3d 20 4e 55 | estroy(a->ds);........a->ds.=.NU |
| 2a1e0 | 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 18 20 20 69 66 20 28 21 61 2d 3e 64 64 6d 20 7c 7c 20 21 | LL;......}......if.(!a->ddm.||.! |
| 2a200 | 61 2d 3e 64 64 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 3c 20 20 61 2d 3e 64 73 | a->dd)........return;...<..a->ds |
| 2a220 | 20 3d 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 5f 6d 61 6e 61 67 65 72 5f 63 72 65 61 74 65 | .=.wl_data_device_manager_create |
| 2a240 | 5f 64 61 74 61 5f 73 6f 75 72 63 65 28 61 2d 3e 64 64 6d 29 3b 00 00 00 3a 20 20 77 6c 5f 64 61 | _data_source(a->ddm);...:..wl_da |
| 2a260 | 74 61 5f 73 6f 75 72 63 65 5f 6f 66 66 65 72 28 61 2d 3e 64 73 2c 20 22 74 65 78 74 2f 70 6c 61 | ta_source_offer(a->ds,."text/pla |
| 2a280 | 69 6e 3b 63 68 61 72 73 65 74 3d 75 74 66 2d 38 22 29 3b 00 00 00 2c 20 20 77 6c 5f 64 61 74 61 | in;charset=utf-8");...,..wl_data |
| 2a2a0 | 5f 73 6f 75 72 63 65 5f 6f 66 66 65 72 28 61 2d 3e 64 73 2c 20 22 74 65 78 74 2f 70 6c 61 69 6e | _source_offer(a->ds,."text/plain |
| 2a2c0 | 22 29 3b 00 00 00 2d 20 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 5f 6f 66 66 65 72 28 61 2d | ");...-..wl_data_source_offer(a- |
| 2a2e0 | 3e 64 73 2c 20 22 55 54 46 38 5f 53 54 52 49 4e 47 22 29 3b 00 00 00 28 20 20 77 6c 5f 64 61 74 | >ds,."UTF8_STRING");...(..wl_dat |
| 2a300 | 61 5f 73 6f 75 72 63 65 5f 6f 66 66 65 72 28 61 2d 3e 64 73 2c 20 22 53 54 52 49 4e 47 22 29 3b | a_source_offer(a->ds,."STRING"); |
| 2a320 | 00 00 00 3d 20 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 5f 73 65 74 5f 73 65 6c 65 63 74 69 | ...=..wl_data_device_set_selecti |
| 2a340 | 6f 6e 28 61 2d 3e 64 64 2c 20 61 2d 3e 64 73 2c 20 61 2d 3e 6c 61 73 74 5f 73 65 72 69 61 6c 29 | on(a->dd,.a->ds,.a->last_serial) |
| 2a360 | 3b 00 00 00 01 7d 00 00 00 00 00 00 00 36 73 74 61 74 69 63 20 76 6f 69 64 20 70 72 6f 63 65 73 | ;....}.......6static.void.proces |
| 2a380 | 73 5f 6b 65 79 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 2c 20 75 69 6e 74 33 32 5f 74 20 6b 65 | s_key(struct.app.*a,.uint32_t.ke |
| 2a3a0 | 79 29 20 7b 00 00 00 14 20 20 69 66 20 28 21 61 2d 3e 78 6b 62 5f 73 74 61 74 65 29 00 00 00 0b | y).{......if.(!a->xkb_state).... |
| 2a3c0 | 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 1d 20 20 78 6b 62 5f 6b 65 79 63 6f 64 65 5f 74 20 6b | ....return;......xkb_keycode_t.k |
| 2a3e0 | 63 20 3d 20 6b 65 79 20 2b 20 38 3b 00 00 00 41 20 20 78 6b 62 5f 6b 65 79 73 79 6d 5f 74 20 73 | c.=.key.+.8;...A..xkb_keysym_t.s |
| 2a400 | 79 6d 20 3d 20 78 6b 62 5f 73 74 61 74 65 5f 6b 65 79 5f 67 65 74 5f 6f 6e 65 5f 73 79 6d 28 61 | ym.=.xkb_state_key_get_one_sym(a |
| 2a420 | 2d 3e 78 6b 62 5f 73 74 61 74 65 2c 20 6b 63 29 3b 00 00 00 4a 20 20 69 6e 74 20 63 74 72 6c 20 | ->xkb_state,.kc);...J..int.ctrl. |
| 2a440 | 3d 20 78 6b 62 5f 73 74 61 74 65 5f 6d 6f 64 5f 6e 61 6d 65 5f 69 73 5f 61 63 74 69 76 65 28 61 | =.xkb_state_mod_name_is_active(a |
| 2a460 | 2d 3e 78 6b 62 5f 73 74 61 74 65 2c 20 58 4b 42 5f 4d 4f 44 5f 4e 41 4d 45 5f 43 54 52 4c 2c 00 | ->xkb_state,.XKB_MOD_NAME_CTRL,. |
| 2a480 | 00 00 44 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 | ..D............................. |
| 2a4a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 58 4b 42 5f 53 54 41 54 45 5f 4d 4f 44 53 5f 45 46 46 45 | .............XKB_STATE_MODS_EFFE |
| 2a4c0 | 43 54 49 56 45 29 3b 00 00 00 4c 20 20 69 6e 74 20 73 68 69 66 74 20 3d 20 78 6b 62 5f 73 74 61 | CTIVE);...L..int.shift.=.xkb_sta |
| 2a4e0 | 74 65 5f 6d 6f 64 5f 6e 61 6d 65 5f 69 73 5f 61 63 74 69 76 65 28 61 2d 3e 78 6b 62 5f 73 74 61 | te_mod_name_is_active(a->xkb_sta |
| 2a500 | 74 65 2c 20 58 4b 42 5f 4d 4f 44 5f 4e 41 4d 45 5f 53 48 49 46 54 2c 00 00 00 45 20 20 20 20 20 | te,.XKB_MOD_NAME_SHIFT,...E..... |
| 2a520 | 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 | ................................ |
| 2a540 | 20 20 20 20 20 20 58 4b 42 5f 53 54 41 54 45 5f 4d 4f 44 53 5f 45 46 46 45 43 54 49 56 45 29 3b | ......XKB_STATE_MODS_EFFECTIVE); |
| 2a560 | 00 00 00 49 20 20 78 6b 62 5f 6c 61 79 6f 75 74 5f 69 6e 64 65 78 5f 74 20 6c 61 79 6f 75 74 20 | ...I..xkb_layout_index_t.layout. |
| 2a580 | 3d 20 78 6b 62 5f 73 74 61 74 65 5f 6b 65 79 5f 67 65 74 5f 6c 61 79 6f 75 74 28 61 2d 3e 78 6b | =.xkb_state_key_get_layout(a->xk |
| 2a5a0 | 62 5f 73 74 61 74 65 2c 20 6b 63 29 3b 00 00 00 19 20 20 63 6f 6e 73 74 20 78 6b 62 5f 6b 65 79 | b_state,.kc);......const.xkb_key |
| 2a5c0 | 73 79 6d 5f 74 20 2a 62 73 3b 00 00 00 4e 20 20 69 6e 74 20 6e 20 3d 20 78 6b 62 5f 6b 65 79 6d | sym_t.*bs;...N..int.n.=.xkb_keym |
| 2a5e0 | 61 70 5f 6b 65 79 5f 67 65 74 5f 73 79 6d 73 5f 62 79 5f 6c 65 76 65 6c 28 61 2d 3e 78 6b 62 5f | ap_key_get_syms_by_level(a->xkb_ |
| 2a600 | 6b 65 79 6d 61 70 2c 20 6b 63 2c 20 6c 61 79 6f 75 74 2c 20 30 2c 20 26 62 73 29 3b 00 00 00 2b | keymap,.kc,.layout,.0,.&bs);...+ |
| 2a620 | 20 20 78 6b 62 5f 6b 65 79 73 79 6d 5f 74 20 70 6c 61 69 6e 20 3d 20 6e 20 3e 20 30 20 3f 20 62 | ..xkb_keysym_t.plain.=.n.>.0.?.b |
| 2a640 | 73 5b 30 5d 20 3a 20 73 79 6d 3b 00 00 00 00 00 00 00 1e 20 20 69 66 20 28 73 79 6d 20 3d 3d 20 | s[0].:.sym;..........if.(sym.==. |
| 2a660 | 58 4b 42 5f 4b 45 59 5f 45 73 63 61 70 65 29 20 7b 00 00 00 24 20 20 20 20 69 66 20 28 61 2d 3e | XKB_KEY_Escape).{...$....if.(a-> |
| 2a680 | 6f 70 65 6e 5f 6d 65 6e 75 20 21 3d 20 4d 45 4e 55 5f 4e 4f 4e 45 29 20 7b 00 00 00 1f 20 20 20 | open_menu.!=.MENU_NONE).{....... |
| 2a6a0 | 20 20 20 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 20 3d 20 4d 45 4e 55 5f 4e 4f 4e 45 3b 00 00 00 1b | ...a->open_menu.=.MENU_NONE;.... |
| 2a6c0 | 20 20 20 20 20 20 61 2d 3e 68 6f 76 65 72 65 64 5f 69 74 65 6d 20 3d 20 2d 31 3b 00 00 00 10 20 | ......a->hovered_item.=.-1;..... |
| 2a6e0 | 20 20 20 20 20 72 65 64 72 61 77 28 61 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 0b 20 20 20 20 | .....redraw(a);........}........ |
| 2a700 | 72 65 74 75 72 6e 3b 00 00 00 03 20 20 7d 00 00 00 0d 20 20 69 66 20 28 63 74 72 6c 29 20 7b 00 | return;......}......if.(ctrl).{. |
| 2a720 | 00 00 3a 20 20 20 20 69 66 20 28 70 6c 61 69 6e 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 65 71 75 61 | ..:....if.(plain.==.XKB_KEY_equa |
| 2a740 | 6c 20 7c 7c 20 70 6c 61 69 6e 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 70 6c 75 73 29 20 7b 00 00 00 | l.||.plain.==.XKB_KEY_plus).{... |
| 2a760 | 10 20 20 20 20 20 20 66 6f 6e 74 5f 70 74 2b 2b 3b 00 00 00 1c 20 20 20 20 20 20 75 70 64 61 74 | .......font_pt++;..........updat |
| 2a780 | 65 5f 66 6f 6e 74 5f 6d 65 74 72 69 63 73 28 29 3b 00 00 00 10 20 20 20 20 20 20 72 65 64 72 61 | e_font_metrics();..........redra |
| 2a7a0 | 77 28 61 29 3b 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 | w(a);..........return;........}. |
| 2a7c0 | 00 00 21 20 20 20 20 69 66 20 28 70 6c 61 69 6e 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 6d 69 6e 75 | ..!....if.(plain.==.XKB_KEY_minu |
| 2a7e0 | 73 29 20 7b 00 00 00 18 20 20 20 20 20 20 69 66 20 28 66 6f 6e 74 5f 70 74 20 3e 20 34 29 20 7b | s).{..........if.(font_pt.>.4).{ |
| 2a800 | 00 00 00 12 20 20 20 20 20 20 20 20 66 6f 6e 74 5f 70 74 2d 2d 3b 00 00 00 1e 20 20 20 20 20 20 | ............font_pt--;.......... |
| 2a820 | 20 20 75 70 64 61 74 65 5f 66 6f 6e 74 5f 6d 65 74 72 69 63 73 28 29 3b 00 00 00 12 20 20 20 20 | ..update_font_metrics();........ |
| 2a840 | 20 20 20 20 72 65 64 72 61 77 28 61 29 3b 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 0d 20 20 20 | ....redraw(a);..........}....... |
| 2a860 | 20 20 20 72 65 74 75 72 6e 3b 00 00 00 05 20 20 20 20 7d 00 00 00 1d 20 20 20 20 69 66 20 28 70 | ...return;........}........if.(p |
| 2a880 | 6c 61 69 6e 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 30 29 20 7b 00 00 00 1a 20 20 20 20 20 20 66 6f | lain.==.XKB_KEY_0).{..........fo |
| 2a8a0 | 6e 74 5f 70 74 20 3d 20 46 4f 4e 54 5f 53 49 5a 45 3b 00 00 00 1c 20 20 20 20 20 20 75 70 64 61 | nt_pt.=.FONT_SIZE;..........upda |
| 2a8c0 | 74 65 5f 66 6f 6e 74 5f 6d 65 74 72 69 63 73 28 29 3b 00 00 00 10 20 20 20 20 20 20 72 65 64 72 | te_font_metrics();..........redr |
| 2a8e0 | 61 77 28 61 29 3b 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 | aw(a);..........return;........} |
| 2a900 | 00 00 00 33 20 20 20 20 69 66 20 28 70 6c 61 69 6e 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 73 20 7c | ...3....if.(plain.==.XKB_KEY_s.| |
| 2a920 | 7c 20 70 6c 61 69 6e 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 53 29 20 7b 00 00 00 11 20 20 20 20 20 | |.plain.==.XKB_KEY_S).{......... |
| 2a940 | 20 64 6f 5f 73 61 76 65 28 61 29 3b 00 00 00 10 20 20 20 20 20 20 72 65 64 72 61 77 28 61 29 3b | .do_save(a);..........redraw(a); |
| 2a960 | 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 33 20 20 | ..........return;........}...3.. |
| 2a980 | 20 20 69 66 20 28 70 6c 61 69 6e 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 61 20 7c 7c 20 70 6c 61 69 | ..if.(plain.==.XKB_KEY_a.||.plai |
| 2a9a0 | 6e 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 41 29 20 7b 00 00 00 15 20 20 20 20 20 20 73 65 6c 5f 61 | n.==.XKB_KEY_A).{..........sel_a |
| 2a9c0 | 6e 63 68 6f 72 20 3d 20 30 3b 00 00 00 14 20 20 20 20 20 20 63 75 72 73 6f 72 20 3d 20 74 6c 65 | nchor.=.0;..........cursor.=.tle |
| 2a9e0 | 6e 3b 00 00 00 10 20 20 20 20 20 20 72 65 64 72 61 77 28 61 29 3b 00 00 00 0d 20 20 20 20 20 20 | n;..........redraw(a);.......... |
| 2aa00 | 72 65 74 75 72 6e 3b 00 00 00 05 20 20 20 20 7d 00 00 00 33 20 20 20 20 69 66 20 28 70 6c 61 69 | return;........}...3....if.(plai |
| 2aa20 | 6e 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 63 20 7c 7c 20 70 6c 61 69 6e 20 3d 3d 20 58 4b 42 5f 4b | n.==.XKB_KEY_c.||.plain.==.XKB_K |
| 2aa40 | 45 59 5f 43 29 20 7b 00 00 00 12 20 20 20 20 20 20 63 6f 70 79 5f 73 65 6c 28 61 29 3b 00 00 00 | EY_C).{..........copy_sel(a);... |
| 2aa60 | 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 33 20 20 20 20 69 | .......return;........}...3....i |
| 2aa80 | 66 20 28 70 6c 61 69 6e 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 78 20 7c 7c 20 70 6c 61 69 6e 20 3d | f.(plain.==.XKB_KEY_x.||.plain.= |
| 2aaa0 | 3d 20 58 4b 42 5f 4b 45 59 5f 58 29 20 7b 00 00 00 12 20 20 20 20 20 20 63 6f 70 79 5f 73 65 6c | =.XKB_KEY_X).{..........copy_sel |
| 2aac0 | 28 61 29 3b 00 00 00 13 20 20 20 20 20 20 64 65 6c 65 74 65 5f 73 65 6c 28 29 3b 00 00 00 10 20 | (a);..........delete_sel();..... |
| 2aae0 | 20 20 20 20 20 72 65 64 72 61 77 28 61 29 3b 00 00 00 0d 20 20 20 20 20 20 72 65 74 75 72 6e 3b | .....redraw(a);..........return; |
| 2ab00 | 00 00 00 05 20 20 20 20 7d 00 00 00 33 20 20 20 20 69 66 20 28 70 6c 61 69 6e 20 3d 3d 20 58 4b | ........}...3....if.(plain.==.XK |
| 2ab20 | 42 5f 4b 45 59 5f 76 20 7c 7c 20 70 6c 61 69 6e 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 56 29 20 7b | B_KEY_v.||.plain.==.XKB_KEY_V).{ |
| 2ab40 | 00 00 00 1a 20 20 20 20 20 20 69 66 20 28 73 65 6c 5f 61 6e 63 68 6f 72 20 3e 3d 20 30 29 00 00 | ..........if.(sel_anchor.>=.0).. |
| 2ab60 | 00 15 20 20 20 20 20 20 20 20 64 65 6c 65 74 65 5f 73 65 6c 28 29 3b 00 00 00 2a 20 20 20 20 20 | ..........delete_sel();...*..... |
| 2ab80 | 20 69 6e 73 28 61 2d 3e 63 6c 69 70 62 6f 61 72 64 2c 20 61 2d 3e 63 6c 69 70 62 6f 61 72 64 5f | .ins(a->clipboard,.a->clipboard_ |
| 2aba0 | 6c 65 6e 29 3b 00 00 00 10 20 20 20 20 20 20 72 65 64 72 61 77 28 61 29 3b 00 00 00 0d 20 20 20 | len);..........redraw(a);....... |
| 2abc0 | 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 7d 00 00 00 4b 20 20 | ...return;........}......}...K.. |
| 2abe0 | 69 66 20 28 73 79 6d 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 4c 65 66 74 20 7c 7c 20 73 79 6d 20 3d | if.(sym.==.XKB_KEY_Left.||.sym.= |
| 2ac00 | 3d 20 58 4b 42 5f 4b 45 59 5f 52 69 67 68 74 20 7c 7c 20 73 79 6d 20 3d 3d 20 58 4b 42 5f 4b 45 | =.XKB_KEY_Right.||.sym.==.XKB_KE |
| 2ac20 | 59 5f 48 6f 6d 65 20 7c 7c 00 00 00 1b 20 20 20 20 20 20 73 79 6d 20 3d 3d 20 58 4b 42 5f 4b 45 | Y_Home.||..........sym.==.XKB_KE |
| 2ac40 | 59 5f 45 6e 64 29 20 7b 00 00 00 20 20 20 20 20 69 66 20 28 73 68 69 66 74 20 26 26 20 73 65 6c | Y_End).{........if.(shift.&&.sel |
| 2ac60 | 5f 61 6e 63 68 6f 72 20 3c 20 30 29 00 00 00 1a 20 20 20 20 20 20 73 65 6c 5f 61 6e 63 68 6f 72 | _anchor.<.0)..........sel_anchor |
| 2ac80 | 20 3d 20 63 75 72 73 6f 72 3b 00 00 00 14 20 20 20 20 65 6c 73 65 20 69 66 20 28 21 73 68 69 66 | .=.cursor;........else.if.(!shif |
| 2aca0 | 74 29 00 00 00 16 20 20 20 20 20 20 73 65 6c 5f 61 6e 63 68 6f 72 20 3d 20 2d 31 3b 00 00 00 2a | t)..........sel_anchor.=.-1;...* |
| 2acc0 | 20 20 20 20 69 66 20 28 73 79 6d 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 4c 65 66 74 20 26 26 20 63 | ....if.(sym.==.XKB_KEY_Left.&&.c |
| 2ace0 | 75 72 73 6f 72 20 3e 20 30 29 00 00 00 0f 20 20 20 20 20 20 63 75 72 73 6f 72 2d 2d 3b 00 00 00 | ursor.>.0)..........cursor--;... |
| 2ad00 | 2e 20 20 20 20 69 66 20 28 73 79 6d 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 52 69 67 68 74 20 26 26 | .....if.(sym.==.XKB_KEY_Right.&& |
| 2ad20 | 20 63 75 72 73 6f 72 20 3c 20 74 6c 65 6e 29 00 00 00 0f 20 20 20 20 20 20 63 75 72 73 6f 72 2b | .cursor.<.tlen)..........cursor+ |
| 2ad40 | 2b 3b 00 00 00 1e 20 20 20 20 69 66 20 28 73 79 6d 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 48 6f 6d | +;........if.(sym.==.XKB_KEY_Hom |
| 2ad60 | 65 29 20 7b 00 00 00 34 20 20 20 20 20 20 77 68 69 6c 65 20 28 63 75 72 73 6f 72 20 3e 20 30 20 | e).{...4......while.(cursor.>.0. |
| 2ad80 | 26 26 20 74 65 78 74 5b 63 75 72 73 6f 72 20 2d 20 31 5d 20 21 3d 20 27 5c 6e 27 29 00 00 00 11 | &&.text[cursor.-.1].!=.'\n').... |
| 2ada0 | 20 20 20 20 20 20 20 20 63 75 72 73 6f 72 2d 2d 3b 00 00 00 05 20 20 20 20 7d 00 00 00 1d 20 20 | ........cursor--;........}...... |
| 2adc0 | 20 20 69 66 20 28 73 79 6d 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 45 6e 64 29 20 7b 00 00 00 33 20 | ..if.(sym.==.XKB_KEY_End).{...3. |
| 2ade0 | 20 20 20 20 20 77 68 69 6c 65 20 28 63 75 72 73 6f 72 20 3c 20 74 6c 65 6e 20 26 26 20 74 65 78 | .....while.(cursor.<.tlen.&&.tex |
| 2ae00 | 74 5b 63 75 72 73 6f 72 5d 20 21 3d 20 27 5c 6e 27 29 00 00 00 11 20 20 20 20 20 20 20 20 63 75 | t[cursor].!=.'\n')............cu |
| 2ae20 | 72 73 6f 72 2b 2b 3b 00 00 00 05 20 20 20 20 7d 00 00 00 26 20 20 20 20 69 66 20 28 73 68 69 66 | rsor++;........}...&....if.(shif |
| 2ae40 | 74 20 26 26 20 73 65 6c 5f 61 6e 63 68 6f 72 20 3d 3d 20 63 75 72 73 6f 72 29 00 00 00 16 20 20 | t.&&.sel_anchor.==.cursor)...... |
| 2ae60 | 20 20 20 20 73 65 6c 5f 61 6e 63 68 6f 72 20 3d 20 2d 31 3b 00 00 00 0e 20 20 20 20 72 65 64 72 | ....sel_anchor.=.-1;........redr |
| 2ae80 | 61 77 28 61 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 21 | aw(a);........return;......}...! |
| 2aea0 | 20 20 69 66 20 28 73 79 6d 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 42 61 63 6b 53 70 61 63 65 29 20 | ..if.(sym.==.XKB_KEY_BackSpace). |
| 2aec0 | 7b 00 00 00 18 20 20 20 20 69 66 20 28 73 65 6c 5f 61 6e 63 68 6f 72 20 3e 3d 20 30 29 00 00 00 | {........if.(sel_anchor.>=.0)... |
| 2aee0 | 13 20 20 20 20 20 20 64 65 6c 65 74 65 5f 73 65 6c 28 29 3b 00 00 00 1a 20 20 20 20 65 6c 73 65 | .......delete_sel();........else |
| 2af00 | 20 69 66 20 28 63 75 72 73 6f 72 20 3e 20 30 29 20 7b 00 00 00 3f 20 20 20 20 20 20 6d 65 6d 6d | .if.(cursor.>.0).{...?......memm |
| 2af20 | 6f 76 65 28 74 65 78 74 20 2b 20 63 75 72 73 6f 72 20 2d 20 31 2c 20 74 65 78 74 20 2b 20 63 75 | ove(text.+.cursor.-.1,.text.+.cu |
| 2af40 | 72 73 6f 72 2c 20 74 6c 65 6e 20 2d 20 63 75 72 73 6f 72 29 3b 00 00 00 0d 20 20 20 20 20 20 74 | rsor,.tlen.-.cursor);..........t |
| 2af60 | 6c 65 6e 2d 2d 3b 00 00 00 0f 20 20 20 20 20 20 63 75 72 73 6f 72 2d 2d 3b 00 00 00 18 20 20 20 | len--;..........cursor--;....... |
| 2af80 | 20 20 20 74 65 78 74 5b 74 6c 65 6e 5d 20 3d 20 27 5c 30 27 3b 00 00 00 13 20 20 20 20 20 20 64 | ...text[tlen].=.'\0';..........d |
| 2afa0 | 69 72 74 79 20 3d 20 74 72 75 65 3b 00 00 00 05 20 20 20 20 7d 00 00 00 0e 20 20 20 20 72 65 64 | irty.=.true;........}........red |
| 2afc0 | 72 61 77 28 61 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 | raw(a);........return;......}... |
| 2afe0 | 1e 20 20 69 66 20 28 73 79 6d 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 44 65 6c 65 74 65 29 20 7b 00 | ...if.(sym.==.XKB_KEY_Delete).{. |
| 2b000 | 00 00 18 20 20 20 20 69 66 20 28 73 65 6c 5f 61 6e 63 68 6f 72 20 3e 3d 20 30 29 00 00 00 13 20 | .......if.(sel_anchor.>=.0)..... |
| 2b020 | 20 20 20 20 20 64 65 6c 65 74 65 5f 73 65 6c 28 29 3b 00 00 00 1d 20 20 20 20 65 6c 73 65 20 69 | .....delete_sel();........else.i |
| 2b040 | 66 20 28 63 75 72 73 6f 72 20 3c 20 74 6c 65 6e 29 20 7b 00 00 00 43 20 20 20 20 20 20 6d 65 6d | f.(cursor.<.tlen).{...C......mem |
| 2b060 | 6d 6f 76 65 28 74 65 78 74 20 2b 20 63 75 72 73 6f 72 2c 20 74 65 78 74 20 2b 20 63 75 72 73 6f | move(text.+.cursor,.text.+.curso |
| 2b080 | 72 20 2b 20 31 2c 20 74 6c 65 6e 20 2d 20 63 75 72 73 6f 72 20 2d 20 31 29 3b 00 00 00 0d 20 20 | r.+.1,.tlen.-.cursor.-.1);...... |
| 2b0a0 | 20 20 20 20 74 6c 65 6e 2d 2d 3b 00 00 00 18 20 20 20 20 20 20 74 65 78 74 5b 74 6c 65 6e 5d 20 | ....tlen--;..........text[tlen]. |
| 2b0c0 | 3d 20 27 5c 30 27 3b 00 00 00 13 20 20 20 20 20 20 64 69 72 74 79 20 3d 20 74 72 75 65 3b 00 00 | =.'\0';..........dirty.=.true;.. |
| 2b0e0 | 00 05 20 20 20 20 7d 00 00 00 0e 20 20 20 20 72 65 64 72 61 77 28 61 29 3b 00 00 00 0b 20 20 20 | ......}........redraw(a);....... |
| 2b100 | 20 72 65 74 75 72 6e 3b 00 00 00 03 20 20 7d 00 00 00 39 20 20 69 66 20 28 73 79 6d 20 3d 3d 20 | .return;......}...9..if.(sym.==. |
| 2b120 | 58 4b 42 5f 4b 45 59 5f 52 65 74 75 72 6e 20 7c 7c 20 73 79 6d 20 3d 3d 20 58 4b 42 5f 4b 45 59 | XKB_KEY_Return.||.sym.==.XKB_KEY |
| 2b140 | 5f 4b 50 5f 45 6e 74 65 72 29 20 7b 00 00 00 18 20 20 20 20 69 66 20 28 73 65 6c 5f 61 6e 63 68 | _KP_Enter).{........if.(sel_anch |
| 2b160 | 6f 72 20 3e 3d 20 30 29 00 00 00 13 20 20 20 20 20 20 64 65 6c 65 74 65 5f 73 65 6c 28 29 3b 00 | or.>=.0)..........delete_sel();. |
| 2b180 | 00 00 11 20 20 20 20 69 6e 73 28 22 5c 6e 22 2c 20 31 29 3b 00 00 00 0e 20 20 20 20 72 65 64 72 | .......ins("\n",.1);........redr |
| 2b1a0 | 61 77 28 61 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 0e | aw(a);........return;......}.... |
| 2b1c0 | 20 20 63 68 61 72 20 62 75 66 5b 38 5d 3b 00 00 00 46 20 20 69 6e 74 20 6c 65 6e 20 3d 20 78 6b | ..char.buf[8];...F..int.len.=.xk |
| 2b1e0 | 62 5f 73 74 61 74 65 5f 6b 65 79 5f 67 65 74 5f 75 74 66 38 28 61 2d 3e 78 6b 62 5f 73 74 61 74 | b_state_key_get_utf8(a->xkb_stat |
| 2b200 | 65 2c 20 6b 63 2c 20 62 75 66 2c 20 73 69 7a 65 6f 66 20 62 75 66 29 3b 00 00 00 2f 20 20 69 66 | e,.kc,.buf,.sizeof.buf);.../..if |
| 2b220 | 20 28 6c 65 6e 20 3e 20 30 20 26 26 20 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 29 62 75 66 5b | .(len.>.0.&&.(unsigned.char)buf[ |
| 2b240 | 30 5d 20 3e 3d 20 33 32 29 20 7b 00 00 00 18 20 20 20 20 69 66 20 28 73 65 6c 5f 61 6e 63 68 6f | 0].>=.32).{........if.(sel_ancho |
| 2b260 | 72 20 3e 3d 20 30 29 00 00 00 13 20 20 20 20 20 20 64 65 6c 65 74 65 5f 73 65 6c 28 29 3b 00 00 | r.>=.0)..........delete_sel();.. |
| 2b280 | 00 12 20 20 20 20 69 6e 73 28 62 75 66 2c 20 6c 65 6e 29 3b 00 00 00 0e 20 20 20 20 72 65 64 72 | ......ins(buf,.len);........redr |
| 2b2a0 | 61 77 28 61 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 47 73 74 61 74 69 63 | aw(a);......}....}.......Gstatic |
| 2b2c0 | 20 76 6f 69 64 20 77 6d 5f 70 69 6e 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 | .void.wm_ping(void.*d,.struct.xd |
| 2b2e0 | 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 | g_wm_base.*wm,.uint32_t.serial). |
| 2b300 | 7b 00 00 00 1f 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 2c 20 73 65 72 69 | {......xdg_wm_base_pong(wm,.seri |
| 2b320 | 61 6c 29 3b 00 00 00 01 7d 00 00 00 49 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 | al);....}...Istatic.const.struct |
| 2b340 | 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 77 6d 5f 6c 69 73 74 65 6e 65 | .xdg_wm_base_listener.wm_listene |
| 2b360 | 72 20 3d 20 7b 2e 70 69 6e 67 20 3d 20 77 6d 5f 70 69 6e 67 7d 3b 00 00 00 00 00 00 00 26 73 74 | r.=.{.ping.=.wm_ping};.......&st |
| 2b380 | 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 5f 62 75 66 28 73 74 72 75 63 74 20 61 70 70 20 2a | atic.void.alloc_buf(struct.app.* |
| 2b3a0 | 61 29 20 7b 00 00 00 0f 20 20 69 66 20 28 61 2d 3e 62 75 66 29 20 7b 00 00 00 1e 20 20 20 20 77 | a).{......if.(a->buf).{........w |
| 2b3c0 | 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 61 2d 3e 62 75 66 29 3b 00 00 00 12 20 20 20 | l_buffer_destroy(a->buf);....... |
| 2b3e0 | 20 61 2d 3e 62 75 66 20 3d 20 4e 55 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 12 20 20 69 66 20 28 | .a->buf.=.NULL;......}......if.( |
| 2b400 | 61 2d 3e 70 69 78 65 6c 73 29 20 7b 00 00 00 26 20 20 20 20 6d 75 6e 6d 61 70 28 61 2d 3e 70 69 | a->pixels).{...&....munmap(a->pi |
| 2b420 | 78 65 6c 73 2c 20 61 2d 3e 70 69 78 65 6c 73 5f 73 69 7a 65 29 3b 00 00 00 15 20 20 20 20 61 2d | xels,.a->pixels_size);........a- |
| 2b440 | 3e 70 69 78 65 6c 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 40 20 20 61 2d 3e 70 | >pixels.=.NULL;......}...@..a->p |
| 2b460 | 69 78 65 6c 73 20 3d 20 6d 61 6b 65 5f 73 68 6d 28 61 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 | ixels.=.make_shm(a,.a->w,.a->h,. |
| 2b480 | 26 61 2d 3e 62 75 66 2c 20 26 61 2d 3e 70 69 78 65 6c 73 5f 73 69 7a 65 29 3b 00 00 00 01 7d 00 | &a->buf,.&a->pixels_size);....}. |
| 2b4a0 | 00 00 00 00 00 00 46 73 74 61 74 69 63 20 76 6f 69 64 20 78 73 5f 63 66 67 28 76 6f 69 64 20 2a | ......Fstatic.void.xs_cfg(void.* |
| 2b4c0 | 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 2c 20 75 69 6e 74 33 | d,.struct.xdg_surface.*xs,.uint3 |
| 2b4e0 | 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 | 2_t.serial).{......struct.app.*a |
| 2b500 | 20 3d 20 64 3b 00 00 00 28 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 63 6b 5f 63 6f 6e 66 69 | .=.d;...(..xdg_surface_ack_confi |
| 2b520 | 67 75 72 65 28 78 73 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 2d 20 20 69 66 20 28 61 2d 3e 70 65 | gure(xs,.serial);...-..if.(a->pe |
| 2b540 | 6e 64 69 6e 67 5f 77 20 3e 20 30 20 26 26 20 61 2d 3e 70 65 6e 64 69 6e 67 5f 68 20 3e 20 30 29 | nding_w.>.0.&&.a->pending_h.>.0) |
| 2b560 | 20 7b 00 00 00 18 20 20 20 20 61 2d 3e 77 20 3d 20 61 2d 3e 70 65 6e 64 69 6e 67 5f 77 3b 00 00 | .{........a->w.=.a->pending_w;.. |
| 2b580 | 00 18 20 20 20 20 61 2d 3e 68 20 3d 20 61 2d 3e 70 65 6e 64 69 6e 67 5f 68 3b 00 00 00 15 20 20 | ......a->h.=.a->pending_h;...... |
| 2b5a0 | 20 20 61 2d 3e 70 65 6e 64 69 6e 67 5f 77 20 3d 20 30 3b 00 00 00 15 20 20 20 20 61 2d 3e 70 65 | ..a->pending_w.=.0;........a->pe |
| 2b5c0 | 6e 64 69 6e 67 5f 68 20 3d 20 30 3b 00 00 00 03 20 20 7d 00 00 00 15 20 20 69 66 20 28 21 61 2d | nding_h.=.0;......}......if.(!a- |
| 2b5e0 | 3e 63 6f 6e 66 69 67 75 72 65 64 29 00 00 00 19 20 20 20 20 61 2d 3e 63 6f 6e 66 69 67 75 72 65 | >configured)........a->configure |
| 2b600 | 64 20 3d 20 74 72 75 65 3b 00 00 00 0f 20 20 61 6c 6c 6f 63 5f 62 75 66 28 61 29 3b 00 00 00 0c | d.=.true;......alloc_buf(a);.... |
| 2b620 | 20 20 72 65 64 72 61 77 28 61 29 3b 00 00 00 01 7d 00 00 00 4d 73 74 61 74 69 63 20 63 6f 6e 73 | ..redraw(a);....}...Mstatic.cons |
| 2b640 | 74 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 20 78 73 | t.struct.xdg_surface_listener.xs |
| 2b660 | 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 73 5f 63 66 67 | _listener.=.{.configure.=.xs_cfg |
| 2b680 | 7d 3b 00 00 00 00 00 00 00 4a 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 66 67 28 76 6f 69 | };.......Jstatic.void.xt_cfg(voi |
| 2b6a0 | 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 2c 20 69 | d.*d,.struct.xdg_toplevel.*xt,.i |
| 2b6c0 | 6e 74 33 32 5f 74 20 77 2c 20 69 6e 74 33 32 5f 74 20 68 2c 00 00 00 28 20 20 20 20 20 20 20 20 | nt32_t.w,.int32_t.h,...(........ |
| 2b6e0 | 20 20 20 20 20 20 20 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 29 20 7b | ...........struct.wl_array.*s).{ |
| 2b700 | 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 17 20 20 69 66 | ......struct.app.*a.=.d;......if |
| 2b720 | 20 28 77 20 3e 20 30 20 26 26 20 68 20 3e 20 30 29 20 7b 00 00 00 15 20 20 20 20 61 2d 3e 70 65 | .(w.>.0.&&.h.>.0).{........a->pe |
| 2b740 | 6e 64 69 6e 67 5f 77 20 3d 20 77 3b 00 00 00 15 20 20 20 20 61 2d 3e 70 65 6e 64 69 6e 67 5f 68 | nding_w.=.w;........a->pending_h |
| 2b760 | 20 3d 20 68 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 43 73 74 61 74 69 63 20 76 6f 69 64 | .=.h;......}....}...Cstatic.void |
| 2b780 | 20 78 74 5f 63 6c 6f 73 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f | .xt_close(void.*d,.struct.xdg_to |
| 2b7a0 | 70 6c 65 76 65 6c 20 2a 78 74 29 20 7b 20 65 78 69 74 28 30 29 3b 20 7d 00 00 00 4d 73 74 61 74 | plevel.*xt).{.exit(0);.}...Mstat |
| 2b7c0 | 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 | ic.const.struct.xdg_toplevel_lis |
| 2b7e0 | 74 65 6e 65 72 20 78 74 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 20 | tener.xt_listener.=.{.configure. |
| 2b800 | 3d 20 78 74 5f 63 66 67 2c 00 00 00 4c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | =.xt_cfg,...L................... |
| 2b820 | 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 | ................................ |
| 2b840 | 20 20 20 20 20 20 2e 63 6c 6f 73 65 20 3d 20 78 74 5f 63 6c 6f 73 65 7d 3b 00 00 00 00 00 00 00 | .......close.=.xt_close};....... |
| 2b860 | 4a 73 74 61 74 69 63 20 76 6f 69 64 20 64 73 5f 74 61 72 67 65 74 28 76 6f 69 64 20 2a 64 2c 20 | Jstatic.void.ds_target(void.*d,. |
| 2b880 | 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 20 2a 73 2c 20 63 6f 6e 73 74 20 | struct.wl_data_source.*s,.const. |
| 2b8a0 | 63 68 61 72 20 2a 6d 29 20 7b 7d 00 00 00 45 73 74 61 74 69 63 20 76 6f 69 64 20 64 73 5f 73 65 | char.*m).{}...Estatic.void.ds_se |
| 2b8c0 | 6e 64 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 | nd(void.*d,.struct.wl_data_sourc |
| 2b8e0 | 65 20 2a 73 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6d 2c 00 00 00 21 20 20 20 20 20 20 20 20 | e.*s,.const.char.*m,...!........ |
| 2b900 | 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 33 32 5f 74 20 66 64 29 20 7b 00 00 00 14 20 20 73 | ............int32_t.fd).{......s |
| 2b920 | 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 2c 20 20 77 72 69 74 65 28 66 64 2c | truct.app.*a.=.d;...,..write(fd, |
| 2b940 | 20 61 2d 3e 63 6c 69 70 62 6f 61 72 64 2c 20 61 2d 3e 63 6c 69 70 62 6f 61 72 64 5f 6c 65 6e 29 | .a->clipboard,.a->clipboard_len) |
| 2b960 | 3b 00 00 00 0c 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 01 7d 00 00 00 3d 73 74 61 74 69 63 | ;......close(fd);....}...=static |
| 2b980 | 20 76 6f 69 64 20 64 73 5f 63 61 6e 63 65 6c 6c 65 64 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 | .void.ds_cancelled(void.*d,.stru |
| 2b9a0 | 63 74 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 20 2a 73 29 20 7b 00 00 00 14 20 20 73 74 72 | ct.wl_data_source.*s).{......str |
| 2b9c0 | 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 0e 20 20 69 66 20 28 61 2d 3e 64 73 29 20 | uct.app.*a.=.d;......if.(a->ds). |
| 2b9e0 | 7b 00 00 00 22 20 20 20 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 5f 64 65 73 74 72 6f 79 28 | {..."....wl_data_source_destroy( |
| 2ba00 | 61 2d 3e 64 73 29 3b 00 00 00 11 20 20 20 20 61 2d 3e 64 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 03 | a->ds);........a->ds.=.NULL;.... |
| 2ba20 | 20 20 7d 00 00 00 01 7d 00 00 00 3b 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 | ..}....}...;static.const.struct. |
| 2ba40 | 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 5f 6c 69 73 74 65 6e 65 72 20 64 73 5f 6c 69 73 74 65 | wl_data_source_listener.ds_liste |
| 2ba60 | 6e 65 72 20 3d 20 7b 00 00 00 45 20 20 20 20 2e 74 61 72 67 65 74 20 3d 20 64 73 5f 74 61 72 67 | ner.=.{...E.....target.=.ds_targ |
| 2ba80 | 65 74 2c 20 2e 73 65 6e 64 20 3d 20 64 73 5f 73 65 6e 64 2c 20 2e 63 61 6e 63 65 6c 6c 65 64 20 | et,..send.=.ds_send,..cancelled. |
| 2baa0 | 3d 20 64 73 5f 63 61 6e 63 65 6c 6c 65 64 7d 3b 00 00 00 00 00 00 00 38 73 74 61 74 69 63 20 76 | =.ds_cancelled};.......8static.v |
| 2bac0 | 6f 69 64 20 64 64 5f 6f 66 66 65 72 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f | oid.dd_offer(void.*d,.struct.wl_ |
| 2bae0 | 64 61 74 61 5f 64 65 76 69 63 65 20 2a 64 64 2c 00 00 00 30 20 20 20 20 20 20 20 20 20 20 20 20 | data_device.*dd,...0............ |
| 2bb00 | 20 20 20 20 20 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 6f 66 66 65 72 20 2a 6f | .........struct.wl_data_offer.*o |
| 2bb20 | 29 20 7b 7d 00 00 00 44 73 74 61 74 69 63 20 76 6f 69 64 20 64 64 5f 65 6e 74 65 72 28 76 6f 69 | ).{}...Dstatic.void.dd_enter(voi |
| 2bb40 | 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 20 2a 64 64 2c | d.*d,.struct.wl_data_device.*dd, |
| 2bb60 | 20 75 69 6e 74 33 32 5f 74 20 73 2c 00 00 00 47 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .uint32_t.s,...G................ |
| 2bb80 | 20 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 2c 20 77 6c 5f 66 | .....struct.wl_surface.*su,.wl_f |
| 2bba0 | 69 78 65 64 5f 74 20 78 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 79 2c 00 00 00 30 20 20 20 20 20 | ixed_t.x,.wl_fixed_t.y,...0..... |
| 2bbc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 6f | ................struct.wl_data_o |
| 2bbe0 | 66 66 65 72 20 2a 6f 29 20 7b 7d 00 00 00 3b 73 74 61 74 69 63 20 76 6f 69 64 20 64 64 5f 6c 65 | ffer.*o).{}...;static.void.dd_le |
| 2bc00 | 61 76 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 | ave(void.*d,.struct.wl_data_devi |
| 2bc20 | 63 65 20 2a 64 64 29 20 7b 7d 00 00 00 45 73 74 61 74 69 63 20 76 6f 69 64 20 64 64 5f 6d 6f 74 | ce.*dd).{}...Estatic.void.dd_mot |
| 2bc40 | 69 6f 6e 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 | ion(void.*d,.struct.wl_data_devi |
| 2bc60 | 63 65 20 2a 64 64 2c 20 75 69 6e 74 33 32 5f 74 20 74 2c 00 00 00 34 20 20 20 20 20 20 20 20 20 | ce.*dd,.uint32_t.t,...4......... |
| 2bc80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 77 6c 5f 66 69 78 65 64 5f 74 20 78 2c 20 77 6c 5f 66 69 | .............wl_fixed_t.x,.wl_fi |
| 2bca0 | 78 65 64 5f 74 20 79 29 20 7b 7d 00 00 00 3a 73 74 61 74 69 63 20 76 6f 69 64 20 64 64 5f 64 72 | xed_t.y).{}...:static.void.dd_dr |
| 2bcc0 | 6f 70 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 | op(void.*d,.struct.wl_data_devic |
| 2bce0 | 65 20 2a 64 64 29 20 7b 7d 00 00 00 3c 73 74 61 74 69 63 20 76 6f 69 64 20 64 64 5f 73 65 6c 65 | e.*dd).{}...<static.void.dd_sele |
| 2bd00 | 63 74 69 6f 6e 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 64 65 | ction(void.*d,.struct.wl_data_de |
| 2bd20 | 76 69 63 65 20 2a 64 64 2c 00 00 00 34 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | vice.*dd,...4................... |
| 2bd40 | 20 20 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 6f 66 66 65 72 20 2a 6f 29 20 7b | ......struct.wl_data_offer.*o).{ |
| 2bd60 | 7d 00 00 00 3b 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 | }...;static.const.struct.wl_data |
| 2bd80 | 5f 64 65 76 69 63 65 5f 6c 69 73 74 65 6e 65 72 20 64 64 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b | _device_listener.dd_listener.=.{ |
| 2bda0 | 00 00 00 1b 20 20 20 20 2e 64 61 74 61 5f 6f 66 66 65 72 20 3d 20 64 64 5f 6f 66 66 65 72 2c 00 | .........data_offer.=.dd_offer,. |
| 2bdc0 | 00 00 16 20 20 20 20 2e 65 6e 74 65 72 20 3d 20 64 64 5f 65 6e 74 65 72 2c 00 00 00 16 20 20 20 | ........enter.=.dd_enter,....... |
| 2bde0 | 20 2e 6c 65 61 76 65 20 3d 20 64 64 5f 6c 65 61 76 65 2c 00 00 00 18 20 20 20 20 2e 6d 6f 74 69 | ..leave.=.dd_leave,.........moti |
| 2be00 | 6f 6e 20 3d 20 64 64 5f 6d 6f 74 69 6f 6e 2c 00 00 00 14 20 20 20 20 2e 64 72 6f 70 20 3d 20 64 | on.=.dd_motion,.........drop.=.d |
| 2be20 | 64 5f 64 72 6f 70 2c 00 00 00 1f 20 20 20 20 2e 73 65 6c 65 63 74 69 6f 6e 20 3d 20 64 64 5f 73 | d_drop,.........selection.=.dd_s |
| 2be40 | 65 6c 65 63 74 69 6f 6e 7d 3b 00 00 00 00 00 00 00 40 73 74 61 74 69 63 20 76 6f 69 64 20 70 74 | election};.......@static.void.pt |
| 2be60 | 72 5f 65 6e 74 65 72 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 | r_enter(void.*d,.struct.wl_point |
| 2be80 | 65 72 20 2a 70 2c 20 75 69 6e 74 33 32 5f 74 20 73 2c 00 00 00 4b 20 20 20 20 20 20 20 20 20 20 | er.*p,.uint32_t.s,...K.......... |
| 2bea0 | 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 | ............struct.wl_surface.*s |
| 2bec0 | 75 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 78 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 79 29 20 7b | u,.wl_fixed_t.x,.wl_fixed_t.y).{ |
| 2bee0 | 7d 00 00 00 40 73 74 61 74 69 63 20 76 6f 69 64 20 70 74 72 5f 6c 65 61 76 65 28 76 6f 69 64 20 | }...@static.void.ptr_leave(void. |
| 2bf00 | 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 2c 20 75 69 6e 74 33 32 | *d,.struct.wl_pointer.*p,.uint32 |
| 2bf20 | 5f 74 20 73 2c 00 00 00 2f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 | _t.s,.../......................s |
| 2bf40 | 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 29 20 7b 7d 00 00 00 4f 73 74 61 74 | truct.wl_surface.*su).{}...Ostat |
| 2bf60 | 69 63 20 76 6f 69 64 20 70 74 72 5f 6d 6f 74 69 6f 6e 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 | ic.void.ptr_motion(void.*d,.stru |
| 2bf80 | 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 2c 20 75 69 6e 74 33 32 5f 74 20 74 2c 20 77 6c | ct.wl_pointer.*p,.uint32_t.t,.wl |
| 2bfa0 | 5f 66 69 78 65 64 5f 74 20 78 2c 00 00 00 26 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | _fixed_t.x,...&................. |
| 2bfc0 | 20 20 20 20 20 20 77 6c 5f 66 69 78 65 64 5f 74 20 79 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 | ......wl_fixed_t.y).{......struc |
| 2bfe0 | 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 22 20 20 61 2d 3e 6d 6f 75 73 65 5f 78 20 3d 20 | t.app.*a.=.d;..."..a->mouse_x.=. |
| 2c000 | 77 6c 5f 66 69 78 65 64 5f 74 6f 5f 69 6e 74 28 78 29 3b 00 00 00 22 20 20 61 2d 3e 6d 6f 75 73 | wl_fixed_to_int(x);..."..a->mous |
| 2c020 | 65 5f 79 20 3d 20 77 6c 5f 66 69 78 65 64 5f 74 6f 5f 69 6e 74 28 79 29 3b 00 00 00 22 20 20 69 | e_y.=.wl_fixed_to_int(y);..."..i |
| 2c040 | 66 20 28 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 20 21 3d 20 4d 45 4e 55 5f 4e 4f 4e 45 29 20 7b 00 | f.(a->open_menu.!=.MENU_NONE).{. |
| 2c060 | 00 00 32 20 20 20 20 69 6e 74 20 69 74 20 3d 20 69 74 65 6d 5f 61 74 28 61 2c 20 61 2d 3e 6f 70 | ..2....int.it.=.item_at(a,.a->op |
| 2c080 | 65 6e 5f 6d 65 6e 75 2c 20 61 2d 3e 6d 6f 75 73 65 5f 79 29 3b 00 00 00 20 20 20 20 20 69 66 20 | en_menu,.a->mouse_y);........if. |
| 2c0a0 | 28 69 74 20 21 3d 20 61 2d 3e 68 6f 76 65 72 65 64 5f 69 74 65 6d 29 20 7b 00 00 00 1b 20 20 20 | (it.!=.a->hovered_item).{....... |
| 2c0c0 | 20 20 20 61 2d 3e 68 6f 76 65 72 65 64 5f 69 74 65 6d 20 3d 20 69 74 3b 00 00 00 10 20 20 20 20 | ...a->hovered_item.=.it;........ |
| 2c0e0 | 20 20 72 65 64 72 61 77 28 61 29 3b 00 00 00 0d 20 20 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 | ..redraw(a);..........return;... |
| 2c100 | 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 1d 20 20 69 66 20 28 61 2d 3e 6d 6f 75 73 65 5f | .....}......}......if.(a->mouse_ |
| 2c120 | 79 20 3e 3d 20 62 61 72 5f 79 28 61 29 29 00 00 00 0e 20 20 20 20 72 65 64 72 61 77 28 61 29 3b | y.>=.bar_y(a))........redraw(a); |
| 2c140 | 00 00 00 01 7d 00 00 00 46 73 74 61 74 69 63 20 76 6f 69 64 20 70 74 72 5f 62 75 74 74 6f 6e 28 | ....}...Fstatic.void.ptr_button( |
| 2c160 | 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 2c 20 75 | void.*d,.struct.wl_pointer.*p,.u |
| 2c180 | 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 2c 00 00 00 42 20 20 20 20 20 20 20 20 20 20 20 20 20 | int32_t.serial,...B............. |
| 2c1a0 | 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 74 2c 20 75 69 6e 74 33 32 5f 74 20 62 | ..........uint32_t.t,.uint32_t.b |
| 2c1c0 | 74 6e 2c 20 75 69 6e 74 33 32 5f 74 20 73 74 61 74 65 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 | tn,.uint32_t.state).{......struc |
| 2c1e0 | 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 2f 20 20 69 66 20 28 73 74 61 74 65 20 21 3d 20 | t.app.*a.=.d;.../..if.(state.!=. |
| 2c200 | 57 4c 5f 50 4f 49 4e 54 45 52 5f 42 55 54 54 4f 4e 5f 53 54 41 54 45 5f 50 52 45 53 53 45 44 29 | WL_POINTER_BUTTON_STATE_PRESSED) |
| 2c220 | 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 1a 20 20 61 2d 3e 6c 61 73 74 5f 73 65 72 | ........return;......a->last_ser |
| 2c240 | 69 61 6c 20 3d 20 73 65 72 69 61 6c 3b 00 00 00 14 20 20 69 6e 74 20 62 79 20 3d 20 62 61 72 5f | ial.=.serial;......int.by.=.bar_ |
| 2c260 | 79 28 61 29 3b 00 00 00 00 00 00 00 22 20 20 69 66 20 28 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 20 | y(a);......."..if.(a->open_menu. |
| 2c280 | 21 3d 20 4d 45 4e 55 5f 4e 4f 4e 45 29 20 7b 00 00 00 32 20 20 20 20 69 6e 74 20 69 74 20 3d 20 | !=.MENU_NONE).{...2....int.it.=. |
| 2c2a0 | 69 74 65 6d 5f 61 74 28 61 2c 20 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 2c 20 61 2d 3e 6d 6f 75 73 | item_at(a,.a->open_menu,.a->mous |
| 2c2c0 | 65 5f 79 29 3b 00 00 00 12 20 20 20 20 69 66 20 28 69 74 20 3e 3d 20 30 29 20 7b 00 00 00 25 20 | e_y);........if.(it.>=.0).{...%. |
| 2c2e0 | 20 20 20 20 20 66 69 72 65 5f 69 74 65 6d 28 61 2c 20 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 2c 20 | .....fire_item(a,.a->open_menu,. |
| 2c300 | 69 74 29 3b 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 | it);..........return;........}.. |
| 2c320 | 00 1b 20 20 20 20 69 66 20 28 61 2d 3e 6d 6f 75 73 65 5f 79 20 3e 3d 20 62 79 29 20 7b 00 00 00 | ......if.(a->mouse_y.>=.by).{... |
| 2c340 | 23 20 20 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 32 3b 20 69 2b | #......for.(int.i.=.0;.i.<.2;.i+ |
| 2c360 | 2b 29 20 7b 00 00 00 29 20 20 20 20 20 20 20 20 69 6e 74 20 62 78 20 3d 20 62 74 6e 5f 78 28 69 | +).{...)........int.bx.=.btn_x(i |
| 2c380 | 29 2c 20 62 77 20 3d 20 62 74 6e 5f 77 28 69 29 3b 00 00 00 37 20 20 20 20 20 20 20 20 69 66 20 | ),.bw.=.btn_w(i);...7........if. |
| 2c3a0 | 28 61 2d 3e 6d 6f 75 73 65 5f 78 20 3e 3d 20 62 78 20 26 26 20 61 2d 3e 6d 6f 75 73 65 5f 78 20 | (a->mouse_x.>=.bx.&&.a->mouse_x. |
| 2c3c0 | 3c 20 62 78 20 2b 20 62 77 29 20 7b 00 00 00 23 20 20 20 20 20 20 20 20 20 20 61 2d 3e 6f 70 65 | <.bx.+.bw).{...#..........a->ope |
| 2c3e0 | 6e 5f 6d 65 6e 75 20 3d 20 28 4d 65 6e 75 49 64 29 69 3b 00 00 00 1f 20 20 20 20 20 20 20 20 20 | n_menu.=.(MenuId)i;............. |
| 2c400 | 20 61 2d 3e 68 6f 76 65 72 65 64 5f 69 74 65 6d 20 3d 20 2d 31 3b 00 00 00 14 20 20 20 20 20 20 | .a->hovered_item.=.-1;.......... |
| 2c420 | 20 20 20 20 72 65 64 72 61 77 28 61 29 3b 00 00 00 11 20 20 20 20 20 20 20 20 20 20 72 65 74 75 | ....redraw(a);..............retu |
| 2c440 | 72 6e 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 05 20 | rn;............}..........}..... |
| 2c460 | 20 20 20 7d 00 00 00 1d 20 20 20 20 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 20 3d 20 4d 45 4e 55 5f | ...}........a->open_menu.=.MENU_ |
| 2c480 | 4e 4f 4e 45 3b 00 00 00 19 20 20 20 20 61 2d 3e 68 6f 76 65 72 65 64 5f 69 74 65 6d 20 3d 20 2d | NONE;........a->hovered_item.=.- |
| 2c4a0 | 31 3b 00 00 00 0e 20 20 20 20 72 65 64 72 61 77 28 61 29 3b 00 00 00 0b 20 20 20 20 72 65 74 75 | 1;........redraw(a);........retu |
| 2c4c0 | 72 6e 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 19 20 20 69 66 20 28 61 2d 3e 6d 6f 75 73 65 | rn;......}..........if.(a->mouse |
| 2c4e0 | 5f 79 20 3e 3d 20 62 79 29 20 7b 00 00 00 21 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 | _y.>=.by).{...!....for.(int.i.=. |
| 2c500 | 30 3b 20 69 20 3c 20 32 3b 20 69 2b 2b 29 20 7b 00 00 00 27 20 20 20 20 20 20 69 6e 74 20 62 78 | 0;.i.<.2;.i++).{...'......int.bx |
| 2c520 | 20 3d 20 62 74 6e 5f 78 28 69 29 2c 20 62 77 20 3d 20 62 74 6e 5f 77 28 69 29 3b 00 00 00 35 20 | .=.btn_x(i),.bw.=.btn_w(i);...5. |
| 2c540 | 20 20 20 20 20 69 66 20 28 61 2d 3e 6d 6f 75 73 65 5f 78 20 3e 3d 20 62 78 20 26 26 20 61 2d 3e | .....if.(a->mouse_x.>=.bx.&&.a-> |
| 2c560 | 6d 6f 75 73 65 5f 78 20 3c 20 62 78 20 2b 20 62 77 29 20 7b 00 00 00 21 20 20 20 20 20 20 20 20 | mouse_x.<.bx.+.bw).{...!........ |
| 2c580 | 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 20 3d 20 28 4d 65 6e 75 49 64 29 69 3b 00 00 00 1d 20 20 20 | a->open_menu.=.(MenuId)i;....... |
| 2c5a0 | 20 20 20 20 20 61 2d 3e 68 6f 76 65 72 65 64 5f 69 74 65 6d 20 3d 20 2d 31 3b 00 00 00 12 20 20 | .....a->hovered_item.=.-1;...... |
| 2c5c0 | 20 20 20 20 20 20 72 65 64 72 61 77 28 61 29 3b 00 00 00 0f 20 20 20 20 20 20 20 20 72 65 74 75 | ......redraw(a);............retu |
| 2c5e0 | 72 6e 3b 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 0b 20 20 20 20 72 | rn;..........}........}........r |
| 2c600 | 65 74 75 72 6e 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 49 20 20 69 6e 74 20 63 78 20 3d 20 | eturn;......}.......I..int.cx.=. |
| 2c620 | 28 61 2d 3e 6d 6f 75 73 65 5f 78 20 2d 20 50 41 44 29 20 2f 20 63 65 6c 6c 5f 77 2c 20 63 79 20 | (a->mouse_x.-.PAD)./.cell_w,.cy. |
| 2c640 | 3d 20 28 61 2d 3e 6d 6f 75 73 65 5f 79 20 2d 20 50 41 44 29 20 2f 20 63 65 6c 6c 5f 68 3b 00 00 | =.(a->mouse_y.-.PAD)./.cell_h;.. |
| 2c660 | 00 20 20 20 69 6e 74 20 70 6f 73 20 3d 20 30 2c 20 63 6f 6c 20 3d 20 30 2c 20 72 6f 77 20 3d 20 | ....int.pos.=.0,.col.=.0,.row.=. |
| 2c680 | 30 3b 00 00 00 22 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 74 6c 65 6e | 0;..."..for.(int.i.=.0;.i.<.tlen |
| 2c6a0 | 3b 20 69 2b 2b 29 20 7b 00 00 00 21 20 20 20 20 69 66 20 28 72 6f 77 20 3d 3d 20 63 79 20 26 26 | ;.i++).{...!....if.(row.==.cy.&& |
| 2c6c0 | 20 63 6f 6c 20 3d 3d 20 63 78 29 20 7b 00 00 00 0e 20 20 20 20 20 20 70 6f 73 20 3d 20 69 3b 00 | .col.==.cx).{..........pos.=.i;. |
| 2c6e0 | 00 00 11 20 20 20 20 20 20 67 6f 74 6f 20 66 6f 75 6e 64 3b 00 00 00 05 20 20 20 20 7d 00 00 00 | .........goto.found;........}... |
| 2c700 | 1a 20 20 20 20 69 66 20 28 74 65 78 74 5b 69 5d 20 3d 3d 20 27 5c 6e 27 29 20 7b 00 00 00 16 20 | .....if.(text[i].==.'\n').{..... |
| 2c720 | 20 20 20 20 20 69 66 20 28 72 6f 77 20 3d 3d 20 63 79 29 20 7b 00 00 00 10 20 20 20 20 20 20 20 | .....if.(row.==.cy).{........... |
| 2c740 | 20 70 6f 73 20 3d 20 69 3b 00 00 00 13 20 20 20 20 20 20 20 20 67 6f 74 6f 20 66 6f 75 6e 64 3b | .pos.=.i;............goto.found; |
| 2c760 | 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 0e 20 20 20 20 20 20 63 6f 6c 20 3d 20 30 3b 00 00 00 | ..........}..........col.=.0;... |
| 2c780 | 0c 20 20 20 20 20 20 72 6f 77 2b 2b 3b 00 00 00 0a 20 20 20 20 7d 20 65 6c 73 65 00 00 00 0c 20 | .......row++;........}.else..... |
| 2c7a0 | 20 20 20 20 20 63 6f 6c 2b 2b 3b 00 00 00 03 20 20 7d 00 00 00 0d 20 20 70 6f 73 20 3d 20 74 6c | .....col++;......}......pos.=.tl |
| 2c7c0 | 65 6e 3b 00 00 00 06 66 6f 75 6e 64 3a 00 00 00 0f 20 20 63 75 72 73 6f 72 20 3d 20 70 6f 73 3b | en;....found:......cursor.=.pos; |
| 2c7e0 | 00 00 00 12 20 20 73 65 6c 5f 61 6e 63 68 6f 72 20 3d 20 2d 31 3b 00 00 00 0c 20 20 72 65 64 72 | ......sel_anchor.=.-1;......redr |
| 2c800 | 61 77 28 61 29 3b 00 00 00 01 7d 00 00 00 4e 73 74 61 74 69 63 20 76 6f 69 64 20 70 74 72 5f 61 | aw(a);....}...Nstatic.void.ptr_a |
| 2c820 | 78 69 73 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a | xis(void.*d,.struct.wl_pointer.* |
| 2c840 | 70 2c 20 75 69 6e 74 33 32 5f 74 20 74 2c 20 75 69 6e 74 33 32 5f 74 20 61 78 69 73 2c 00 00 00 | p,.uint32_t.t,.uint32_t.axis,... |
| 2c860 | 25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 6c 5f 66 69 78 65 64 5f 74 | %.....................wl_fixed_t |
| 2c880 | 20 76 29 20 7b 7d 00 00 00 37 73 74 61 74 69 63 20 76 6f 69 64 20 70 74 72 5f 66 72 61 6d 65 28 | .v).{}...7static.void.ptr_frame( |
| 2c8a0 | 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 29 20 7b | void.*d,.struct.wl_pointer.*p).{ |
| 2c8c0 | 7d 00 00 00 4b 73 74 61 74 69 63 20 76 6f 69 64 20 70 74 72 5f 61 78 69 73 5f 73 6f 75 72 63 65 | }...Kstatic.void.ptr_axis_source |
| 2c8e0 | 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 2c 20 | (void.*d,.struct.wl_pointer.*p,. |
| 2c900 | 75 69 6e 74 33 32 5f 74 20 73 72 63 29 20 7b 7d 00 00 00 44 73 74 61 74 69 63 20 76 6f 69 64 20 | uint32_t.src).{}...Dstatic.void. |
| 2c920 | 70 74 72 5f 61 78 69 73 5f 73 74 6f 70 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c | ptr_axis_stop(void.*d,.struct.wl |
| 2c940 | 5f 70 6f 69 6e 74 65 72 20 2a 70 2c 20 75 69 6e 74 33 32 5f 74 20 74 2c 00 00 00 2b 20 20 20 20 | _pointer.*p,.uint32_t.t,...+.... |
| 2c960 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 61 | ......................uint32_t.a |
| 2c980 | 78 69 73 29 20 7b 7d 00 00 00 4b 73 74 61 74 69 63 20 76 6f 69 64 20 70 74 72 5f 61 78 69 73 5f | xis).{}...Kstatic.void.ptr_axis_ |
| 2c9a0 | 64 69 73 63 72 65 74 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e | discrete(void.*d,.struct.wl_poin |
| 2c9c0 | 74 65 72 20 2a 70 2c 20 75 69 6e 74 33 32 5f 74 20 61 78 69 73 2c 00 00 00 2e 20 20 20 20 20 20 | ter.*p,.uint32_t.axis,.......... |
| 2c9e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 33 32 5f 74 20 | ........................int32_t. |
| 2ca00 | 64 69 73 63 29 20 7b 7d 00 00 00 38 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 | disc).{}...8static.const.struct. |
| 2ca20 | 77 6c 5f 70 6f 69 6e 74 65 72 5f 6c 69 73 74 65 6e 65 72 20 70 74 72 5f 6c 69 73 74 65 6e 65 72 | wl_pointer_listener.ptr_listener |
| 2ca40 | 20 3d 20 7b 00 00 00 17 20 20 20 20 2e 65 6e 74 65 72 20 3d 20 70 74 72 5f 65 6e 74 65 72 2c 00 | .=.{.........enter.=.ptr_enter,. |
| 2ca60 | 00 00 17 20 20 20 20 2e 6c 65 61 76 65 20 3d 20 70 74 72 5f 6c 65 61 76 65 2c 00 00 00 19 20 20 | ........leave.=.ptr_leave,...... |
| 2ca80 | 20 20 2e 6d 6f 74 69 6f 6e 20 3d 20 70 74 72 5f 6d 6f 74 69 6f 6e 2c 00 00 00 19 20 20 20 20 2e | ...motion.=.ptr_motion,......... |
| 2caa0 | 62 75 74 74 6f 6e 20 3d 20 70 74 72 5f 62 75 74 74 6f 6e 2c 00 00 00 15 20 20 20 20 2e 61 78 69 | button.=.ptr_button,.........axi |
| 2cac0 | 73 20 3d 20 70 74 72 5f 61 78 69 73 2c 00 00 00 17 20 20 20 20 2e 66 72 61 6d 65 20 3d 20 70 74 | s.=.ptr_axis,.........frame.=.pt |
| 2cae0 | 72 5f 66 72 61 6d 65 2c 00 00 00 23 20 20 20 20 2e 61 78 69 73 5f 73 6f 75 72 63 65 20 3d 20 70 | r_frame,...#.....axis_source.=.p |
| 2cb00 | 74 72 5f 61 78 69 73 5f 73 6f 75 72 63 65 2c 00 00 00 1f 20 20 20 20 2e 61 78 69 73 5f 73 74 6f | tr_axis_source,.........axis_sto |
| 2cb20 | 70 20 3d 20 70 74 72 5f 61 78 69 73 5f 73 74 6f 70 2c 00 00 00 27 20 20 20 20 2e 61 78 69 73 5f | p.=.ptr_axis_stop,...'.....axis_ |
| 2cb40 | 64 69 73 63 72 65 74 65 20 3d 20 70 74 72 5f 61 78 69 73 5f 64 69 73 63 72 65 74 65 2c 00 00 00 | discrete.=.ptr_axis_discrete,... |
| 2cb60 | 02 7d 3b 00 00 00 00 00 00 00 50 73 74 61 74 69 63 20 76 6f 69 64 20 6b 62 5f 6b 65 79 6d 61 70 | .};.......Pstatic.void.kb_keymap |
| 2cb80 | 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 62 | (void.*d,.struct.wl_keyboard.*kb |
| 2cba0 | 2c 20 75 69 6e 74 33 32 5f 74 20 66 6d 74 2c 20 69 6e 74 33 32 5f 74 20 66 64 2c 00 00 00 26 20 | ,.uint32_t.fmt,.int32_t.fd,...&. |
| 2cbc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 73 69 | .....................uint32_t.si |
| 2cbe0 | 7a 65 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 | ze).{......struct.app.*a.=.d;... |
| 2cc00 | 30 20 20 69 66 20 28 66 6d 74 20 21 3d 20 57 4c 5f 4b 45 59 42 4f 41 52 44 5f 4b 45 59 4d 41 50 | 0..if.(fmt.!=.WL_KEYBOARD_KEYMAP |
| 2cc20 | 5f 46 4f 52 4d 41 54 5f 58 4b 42 5f 56 31 29 20 7b 00 00 00 0e 20 20 20 20 63 6c 6f 73 65 28 66 | _FORMAT_XKB_V1).{........close(f |
| 2cc40 | 64 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 3c 20 20 63 | d);........return;......}...<..c |
| 2cc60 | 68 61 72 20 2a 73 20 3d 20 6d 6d 61 70 28 4e 55 4c 4c 2c 20 73 69 7a 65 2c 20 50 52 4f 54 5f 52 | har.*s.=.mmap(NULL,.size,.PROT_R |
| 2cc80 | 45 41 44 2c 20 4d 41 50 5f 50 52 49 56 41 54 45 2c 20 66 64 2c 20 30 29 3b 00 00 00 0c 20 20 63 | EAD,.MAP_PRIVATE,.fd,.0);......c |
| 2cca0 | 6c 6f 73 65 28 66 64 29 3b 00 00 00 16 20 20 69 66 20 28 73 20 3d 3d 20 4d 41 50 5f 46 41 49 4c | lose(fd);......if.(s.==.MAP_FAIL |
| 2ccc0 | 45 44 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 15 20 20 69 66 20 28 61 2d 3e 78 | ED)........return;......if.(a->x |
| 2cce0 | 6b 62 5f 73 74 61 74 65 29 20 7b 00 00 00 22 20 20 20 20 78 6b 62 5f 73 74 61 74 65 5f 75 6e 72 | kb_state).{..."....xkb_state_unr |
| 2cd00 | 65 66 28 61 2d 3e 78 6b 62 5f 73 74 61 74 65 29 3b 00 00 00 18 20 20 20 20 61 2d 3e 78 6b 62 5f | ef(a->xkb_state);........a->xkb_ |
| 2cd20 | 73 74 61 74 65 20 3d 20 4e 55 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 16 20 20 69 66 20 28 61 2d | state.=.NULL;......}......if.(a- |
| 2cd40 | 3e 78 6b 62 5f 6b 65 79 6d 61 70 29 20 7b 00 00 00 24 20 20 20 20 78 6b 62 5f 6b 65 79 6d 61 70 | >xkb_keymap).{...$....xkb_keymap |
| 2cd60 | 5f 75 6e 72 65 66 28 61 2d 3e 78 6b 62 5f 6b 65 79 6d 61 70 29 3b 00 00 00 19 20 20 20 20 61 2d | _unref(a->xkb_keymap);........a- |
| 2cd80 | 3e 78 6b 62 5f 6b 65 79 6d 61 70 20 3d 20 4e 55 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 2d 20 20 | >xkb_keymap.=.NULL;......}...-.. |
| 2cda0 | 61 2d 3e 78 6b 62 5f 6b 65 79 6d 61 70 20 3d 20 78 6b 62 5f 6b 65 79 6d 61 70 5f 6e 65 77 5f 66 | a->xkb_keymap.=.xkb_keymap_new_f |
| 2cdc0 | 72 6f 6d 5f 73 74 72 69 6e 67 28 00 00 00 4d 20 20 20 20 20 20 61 2d 3e 78 6b 62 5f 63 74 78 2c | rom_string(...M......a->xkb_ctx, |
| 2cde0 | 20 73 2c 20 58 4b 42 5f 4b 45 59 4d 41 50 5f 46 4f 52 4d 41 54 5f 54 45 58 54 5f 56 31 2c 20 58 | .s,.XKB_KEYMAP_FORMAT_TEXT_V1,.X |
| 2ce00 | 4b 42 5f 4b 45 59 4d 41 50 5f 43 4f 4d 50 49 4c 45 5f 4e 4f 5f 46 4c 41 47 53 29 3b 00 00 00 12 | KB_KEYMAP_COMPILE_NO_FLAGS);.... |
| 2ce20 | 20 20 6d 75 6e 6d 61 70 28 73 2c 20 73 69 7a 65 29 3b 00 00 00 14 20 20 69 66 20 28 61 2d 3e 78 | ..munmap(s,.size);......if.(a->x |
| 2ce40 | 6b 62 5f 6b 65 79 6d 61 70 29 00 00 00 30 20 20 20 20 61 2d 3e 78 6b 62 5f 73 74 61 74 65 20 3d | kb_keymap)...0....a->xkb_state.= |
| 2ce60 | 20 78 6b 62 5f 73 74 61 74 65 5f 6e 65 77 28 61 2d 3e 78 6b 62 5f 6b 65 79 6d 61 70 29 3b 00 00 | .xkb_state_new(a->xkb_keymap);.. |
| 2ce80 | 00 01 7d 00 00 00 41 73 74 61 74 69 63 20 76 6f 69 64 20 6b 62 5f 65 6e 74 65 72 28 76 6f 69 64 | ..}...Astatic.void.kb_enter(void |
| 2cea0 | 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 62 2c 20 75 69 6e | .*d,.struct.wl_keyboard.*kb,.uin |
| 2cec0 | 74 33 32 5f 74 20 73 2c 00 00 00 42 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | t32_t.s,...B.................... |
| 2cee0 | 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 2c 20 73 74 72 75 63 74 20 77 | .struct.wl_surface.*su,.struct.w |
| 2cf00 | 6c 5f 61 72 72 61 79 20 2a 6b 29 20 7b 7d 00 00 00 41 73 74 61 74 69 63 20 76 6f 69 64 20 6b 62 | l_array.*k).{}...Astatic.void.kb |
| 2cf20 | 5f 6c 65 61 76 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 | _leave(void.*d,.struct.wl_keyboa |
| 2cf40 | 72 64 20 2a 6b 62 2c 20 75 69 6e 74 33 32 5f 74 20 73 2c 00 00 00 2d 20 20 20 20 20 20 20 20 20 | rd.*kb,.uint32_t.s,...-......... |
| 2cf60 | 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 | ............struct.wl_surface.*s |
| 2cf80 | 75 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 1d | u).{......struct.app.*a.=.d;.... |
| 2cfa0 | 20 20 73 74 72 75 63 74 20 69 74 69 6d 65 72 73 70 65 63 20 74 73 20 3d 20 7b 30 7d 3b 00 00 00 | ..struct.itimerspec.ts.=.{0};... |
| 2cfc0 | 2e 20 20 74 69 6d 65 72 66 64 5f 73 65 74 74 69 6d 65 28 61 2d 3e 72 65 70 65 61 74 5f 66 64 2c | ...timerfd_settime(a->repeat_fd, |
| 2cfe0 | 20 30 2c 20 26 74 73 2c 20 4e 55 4c 4c 29 3b 00 00 00 01 7d 00 00 00 50 73 74 61 74 69 63 20 76 | .0,.&ts,.NULL);....}...Pstatic.v |
| 2d000 | 6f 69 64 20 6b 62 5f 6b 65 79 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 | oid.kb_key(void.*d,.struct.wl_ke |
| 2d020 | 79 62 6f 61 72 64 20 2a 6b 62 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 2c 20 75 69 6e | yboard.*kb,.uint32_t.serial,.uin |
| 2d040 | 74 33 32 5f 74 20 74 2c 00 00 00 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 | t32_t.t,...2...................u |
| 2d060 | 69 6e 74 33 32 5f 74 20 6b 65 79 2c 20 75 69 6e 74 33 32 5f 74 20 73 74 61 74 65 29 20 7b 00 00 | int32_t.key,.uint32_t.state).{.. |
| 2d080 | 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 1a 20 20 61 2d 3e 6c | ....struct.app.*a.=.d;......a->l |
| 2d0a0 | 61 73 74 5f 73 65 72 69 61 6c 20 3d 20 73 65 72 69 61 6c 3b 00 00 00 2f 20 20 69 66 20 28 73 74 | ast_serial.=.serial;.../..if.(st |
| 2d0c0 | 61 74 65 20 3d 3d 20 57 4c 5f 4b 45 59 42 4f 41 52 44 5f 4b 45 59 5f 53 54 41 54 45 5f 50 52 45 | ate.==.WL_KEYBOARD_KEY_STATE_PRE |
| 2d0e0 | 53 53 45 44 29 20 7b 00 00 00 18 20 20 20 20 70 72 6f 63 65 73 73 5f 6b 65 79 28 61 2c 20 6b 65 | SSED).{........process_key(a,.ke |
| 2d100 | 79 29 3b 00 00 00 18 20 20 20 20 61 2d 3e 72 65 70 65 61 74 5f 6b 65 79 20 3d 20 6b 65 79 3b 00 | y);........a->repeat_key.=.key;. |
| 2d120 | 00 00 1d 20 20 20 20 69 66 20 28 61 2d 3e 72 65 70 65 61 74 5f 72 61 74 65 20 3e 20 30 29 20 7b | .......if.(a->repeat_rate.>.0).{ |
| 2d140 | 00 00 00 1e 20 20 20 20 20 20 73 74 72 75 63 74 20 69 74 69 6d 65 72 73 70 65 63 20 74 73 20 3d | ..........struct.itimerspec.ts.= |
| 2d160 | 20 7b 00 00 00 38 20 20 20 20 20 20 20 20 20 20 2e 69 74 5f 76 61 6c 75 65 20 3d 20 7b 2e 74 76 | .{...8...........it_value.=.{.tv |
| 2d180 | 5f 73 65 63 20 3d 20 61 2d 3e 72 65 70 65 61 74 5f 64 65 6c 61 79 20 2f 20 31 30 30 30 2c 00 00 | _sec.=.a->repeat_delay./.1000,.. |
| 2d1a0 | 00 47 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 74 76 5f 6e 73 65 | .G........................tv_nse |
| 2d1c0 | 63 20 3d 20 28 61 2d 3e 72 65 70 65 61 74 5f 64 65 6c 61 79 20 25 20 31 30 30 30 29 20 2a 20 31 | c.=.(a->repeat_delay.%.1000).*.1 |
| 2d1e0 | 30 30 30 30 30 30 4c 7d 2c 00 00 00 50 20 20 20 20 20 20 20 20 20 20 2e 69 74 5f 69 6e 74 65 72 | 000000L},...P...........it_inter |
| 2d200 | 76 61 6c 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 | val.=.{.tv_sec.=.0,..tv_nsec.=.1 |
| 2d220 | 30 30 30 30 30 30 30 30 30 4c 20 2f 20 61 2d 3e 72 65 70 65 61 74 5f 72 61 74 65 7d 2c 00 00 00 | 000000000L./.a->repeat_rate},... |
| 2d240 | 08 20 20 20 20 20 20 7d 3b 00 00 00 32 20 20 20 20 20 20 74 69 6d 65 72 66 64 5f 73 65 74 74 69 | .......};...2......timerfd_setti |
| 2d260 | 6d 65 28 61 2d 3e 72 65 70 65 61 74 5f 66 64 2c 20 30 2c 20 26 74 73 2c 20 4e 55 4c 4c 29 3b 00 | me(a->repeat_fd,.0,.&ts,.NULL);. |
| 2d280 | 00 00 05 20 20 20 20 7d 00 00 00 0a 20 20 7d 20 65 6c 73 65 20 7b 00 00 00 1f 20 20 20 20 73 74 | .......}......}.else.{........st |
| 2d2a0 | 72 75 63 74 20 69 74 69 6d 65 72 73 70 65 63 20 74 73 20 3d 20 7b 30 7d 3b 00 00 00 30 20 20 20 | ruct.itimerspec.ts.=.{0};...0... |
| 2d2c0 | 20 74 69 6d 65 72 66 64 5f 73 65 74 74 69 6d 65 28 61 2d 3e 72 65 70 65 61 74 5f 66 64 2c 20 30 | .timerfd_settime(a->repeat_fd,.0 |
| 2d2e0 | 2c 20 26 74 73 2c 20 4e 55 4c 4c 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 45 73 74 61 | ,.&ts,.NULL);......}....}...Esta |
| 2d300 | 74 69 63 20 76 6f 69 64 20 6b 62 5f 6d 6f 64 69 66 69 65 72 73 28 76 6f 69 64 20 2a 64 2c 20 73 | tic.void.kb_modifiers(void.*d,.s |
| 2d320 | 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 62 2c 20 75 69 6e 74 33 32 5f 74 20 | truct.wl_keyboard.*kb,.uint32_t. |
| 2d340 | 73 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 20 20 20 75 | s,...E.........................u |
| 2d360 | 69 6e 74 33 32 5f 74 20 64 65 70 2c 20 75 69 6e 74 33 32 5f 74 20 6c 61 74 2c 20 75 69 6e 74 33 | int32_t.dep,.uint32_t.lat,.uint3 |
| 2d380 | 32 5f 74 20 6c 6f 63 6b 65 64 2c 00 00 00 28 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | 2_t.locked,...(................. |
| 2d3a0 | 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 67 72 70 29 20 7b 00 00 00 14 20 20 73 74 72 | ........uint32_t.grp).{......str |
| 2d3c0 | 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 13 20 20 69 66 20 28 61 2d 3e 78 6b 62 5f | uct.app.*a.=.d;......if.(a->xkb_ |
| 2d3e0 | 73 74 61 74 65 29 00 00 00 45 20 20 20 20 78 6b 62 5f 73 74 61 74 65 5f 75 70 64 61 74 65 5f 6d | state)...E....xkb_state_update_m |
| 2d400 | 61 73 6b 28 61 2d 3e 78 6b 62 5f 73 74 61 74 65 2c 20 64 65 70 2c 20 6c 61 74 2c 20 6c 6f 63 6b | ask(a->xkb_state,.dep,.lat,.lock |
| 2d420 | 65 64 2c 20 30 2c 20 30 2c 20 67 72 70 29 3b 00 00 00 01 7d 00 00 00 44 73 74 61 74 69 63 20 76 | ed,.0,.0,.grp);....}...Dstatic.v |
| 2d440 | 6f 69 64 20 6b 62 5f 72 65 70 65 61 74 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c | oid.kb_repeat(void.*d,.struct.wl |
| 2d460 | 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 62 2c 20 69 6e 74 33 32 5f 74 20 72 61 74 65 2c 00 00 00 26 | _keyboard.*kb,.int32_t.rate,...& |
| 2d480 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 33 32 5f 74 20 64 65 | ......................int32_t.de |
| 2d4a0 | 6c 61 79 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 | lay).{......struct.app.*a.=.d;.. |
| 2d4c0 | 00 18 20 20 61 2d 3e 72 65 70 65 61 74 5f 72 61 74 65 20 3d 20 72 61 74 65 3b 00 00 00 1a 20 20 | ....a->repeat_rate.=.rate;...... |
| 2d4e0 | 61 2d 3e 72 65 70 65 61 74 5f 64 65 6c 61 79 20 3d 20 64 65 6c 61 79 3b 00 00 00 01 7d 00 00 00 | a->repeat_delay.=.delay;....}... |
| 2d500 | 3e 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 | >static.const.struct.wl_keyboard |
| 2d520 | 5f 6c 69 73 74 65 6e 65 72 20 6b 65 79 62 6f 61 72 64 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 | _listener.keyboard_listener.=.{. |
| 2d540 | 00 00 18 20 20 20 20 2e 6b 65 79 6d 61 70 20 3d 20 6b 62 5f 6b 65 79 6d 61 70 2c 00 00 00 16 20 | ........keymap.=.kb_keymap,..... |
| 2d560 | 20 20 20 2e 65 6e 74 65 72 20 3d 20 6b 62 5f 65 6e 74 65 72 2c 00 00 00 16 20 20 20 20 2e 6c 65 | ....enter.=.kb_enter,.........le |
| 2d580 | 61 76 65 20 3d 20 6b 62 5f 6c 65 61 76 65 2c 00 00 00 12 20 20 20 20 2e 6b 65 79 20 3d 20 6b 62 | ave.=.kb_leave,.........key.=.kb |
| 2d5a0 | 5f 6b 65 79 2c 00 00 00 1e 20 20 20 20 2e 6d 6f 64 69 66 69 65 72 73 20 3d 20 6b 62 5f 6d 6f 64 | _key,.........modifiers.=.kb_mod |
| 2d5c0 | 69 66 69 65 72 73 2c 00 00 00 1e 20 20 20 20 2e 72 65 70 65 61 74 5f 69 6e 66 6f 20 3d 20 6b 62 | ifiers,.........repeat_info.=.kb |
| 2d5e0 | 5f 72 65 70 65 61 74 7d 3b 00 00 00 00 00 00 00 45 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 61 | _repeat};.......Estatic.void.sea |
| 2d600 | 74 5f 63 61 70 73 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 73 65 61 74 20 2a | t_caps(void.*d,.struct.wl_seat.* |
| 2d620 | 73 65 61 74 2c 20 75 69 6e 74 33 32 5f 74 20 63 61 70 73 29 20 7b 00 00 00 14 20 20 73 74 72 75 | seat,.uint32_t.caps).{......stru |
| 2d640 | 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 3d 20 20 69 66 20 28 28 63 61 70 73 20 26 20 | ct.app.*a.=.d;...=..if.((caps.&. |
| 2d660 | 57 4c 5f 53 45 41 54 5f 43 41 50 41 42 49 4c 49 54 59 5f 4b 45 59 42 4f 41 52 44 29 20 26 26 20 | WL_SEAT_CAPABILITY_KEYBOARD).&&. |
| 2d680 | 21 61 2d 3e 6b 65 79 62 6f 61 72 64 29 20 7b 00 00 00 2d 20 20 20 20 61 2d 3e 6b 65 79 62 6f 61 | !a->keyboard).{...-....a->keyboa |
| 2d6a0 | 72 64 20 3d 20 77 6c 5f 73 65 61 74 5f 67 65 74 5f 6b 65 79 62 6f 61 72 64 28 73 65 61 74 29 3b | rd.=.wl_seat_get_keyboard(seat); |
| 2d6c0 | 00 00 00 41 20 20 20 20 77 6c 5f 6b 65 79 62 6f 61 72 64 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 | ...A....wl_keyboard_add_listener |
| 2d6e0 | 28 61 2d 3e 6b 65 79 62 6f 61 72 64 2c 20 26 6b 65 79 62 6f 61 72 64 5f 6c 69 73 74 65 6e 65 72 | (a->keyboard,.&keyboard_listener |
| 2d700 | 2c 20 61 29 3b 00 00 00 44 20 20 7d 20 65 6c 73 65 20 69 66 20 28 21 28 63 61 70 73 20 26 20 57 | ,.a);...D..}.else.if.(!(caps.&.W |
| 2d720 | 4c 5f 53 45 41 54 5f 43 41 50 41 42 49 4c 49 54 59 5f 4b 45 59 42 4f 41 52 44 29 20 26 26 20 61 | L_SEAT_CAPABILITY_KEYBOARD).&&.a |
| 2d740 | 2d 3e 6b 65 79 62 6f 61 72 64 29 20 7b 00 00 00 25 20 20 20 20 77 6c 5f 6b 65 79 62 6f 61 72 64 | ->keyboard).{...%....wl_keyboard |
| 2d760 | 5f 72 65 6c 65 61 73 65 28 61 2d 3e 6b 65 79 62 6f 61 72 64 29 3b 00 00 00 17 20 20 20 20 61 2d | _release(a->keyboard);........a- |
| 2d780 | 3e 6b 65 79 62 6f 61 72 64 20 3d 20 4e 55 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 3b 20 20 69 66 | >keyboard.=.NULL;......}...;..if |
| 2d7a0 | 20 28 28 63 61 70 73 20 26 20 57 4c 5f 53 45 41 54 5f 43 41 50 41 42 49 4c 49 54 59 5f 50 4f 49 | .((caps.&.WL_SEAT_CAPABILITY_POI |
| 2d7c0 | 4e 54 45 52 29 20 26 26 20 21 61 2d 3e 70 6f 69 6e 74 65 72 29 20 7b 00 00 00 2b 20 20 20 20 61 | NTER).&&.!a->pointer).{...+....a |
| 2d7e0 | 2d 3e 70 6f 69 6e 74 65 72 20 3d 20 77 6c 5f 73 65 61 74 5f 67 65 74 5f 70 6f 69 6e 74 65 72 28 | ->pointer.=.wl_seat_get_pointer( |
| 2d800 | 73 65 61 74 29 3b 00 00 00 3a 20 20 20 20 77 6c 5f 70 6f 69 6e 74 65 72 5f 61 64 64 5f 6c 69 73 | seat);...:....wl_pointer_add_lis |
| 2d820 | 74 65 6e 65 72 28 61 2d 3e 70 6f 69 6e 74 65 72 2c 20 26 70 74 72 5f 6c 69 73 74 65 6e 65 72 2c | tener(a->pointer,.&ptr_listener, |
| 2d840 | 20 61 29 3b 00 00 00 42 20 20 7d 20 65 6c 73 65 20 69 66 20 28 21 28 63 61 70 73 20 26 20 57 4c | .a);...B..}.else.if.(!(caps.&.WL |
| 2d860 | 5f 53 45 41 54 5f 43 41 50 41 42 49 4c 49 54 59 5f 50 4f 49 4e 54 45 52 29 20 26 26 20 61 2d 3e | _SEAT_CAPABILITY_POINTER).&&.a-> |
| 2d880 | 70 6f 69 6e 74 65 72 29 20 7b 00 00 00 23 20 20 20 20 77 6c 5f 70 6f 69 6e 74 65 72 5f 72 65 6c | pointer).{...#....wl_pointer_rel |
| 2d8a0 | 65 61 73 65 28 61 2d 3e 70 6f 69 6e 74 65 72 29 3b 00 00 00 16 20 20 20 20 61 2d 3e 70 6f 69 6e | ease(a->pointer);........a->poin |
| 2d8c0 | 74 65 72 20 3d 20 4e 55 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 49 73 74 61 74 69 | ter.=.NULL;......}....}...Istati |
| 2d8e0 | 63 20 76 6f 69 64 20 73 65 61 74 5f 6e 61 6d 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 | c.void.seat_name(void.*d,.struct |
| 2d900 | 20 77 6c 5f 73 65 61 74 20 2a 73 65 61 74 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6e 61 6d 65 | .wl_seat.*seat,.const.char.*name |
| 2d920 | 29 20 7b 7d 00 00 00 50 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 73 | ).{}...Pstatic.const.struct.wl_s |
| 2d940 | 65 61 74 5f 6c 69 73 74 65 6e 65 72 20 73 65 61 74 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 2e 63 | eat_listener.seat_listener.=.{.c |
| 2d960 | 61 70 61 62 69 6c 69 74 69 65 73 20 3d 20 73 65 61 74 5f 63 61 70 73 2c 00 00 00 49 20 20 20 20 | apabilities.=.seat_caps,...I.... |
| 2d980 | 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 | ................................ |
| 2d9a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 6e 61 6d 65 20 3d 20 73 65 61 74 5f 6e | ...................name.=.seat_n |
| 2d9c0 | 61 6d 65 7d 3b 00 00 00 00 00 00 00 43 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 5f 67 6c 6f | ame};.......Cstatic.void.reg_glo |
| 2d9e0 | 62 61 6c 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 | bal(void.*d,.struct.wl_registry. |
| 2da00 | 2a 72 2c 20 75 69 6e 74 33 32 5f 74 20 69 64 2c 00 00 00 37 20 20 20 20 20 20 20 20 20 20 20 20 | *r,.uint32_t.id,...7............ |
| 2da20 | 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 66 61 63 65 2c 20 75 69 | ...........const.char.*iface,.ui |
| 2da40 | 6e 74 33 32 5f 74 20 76 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d | nt32_t.v).{......struct.app.*a.= |
| 2da60 | 20 64 3b 00 00 00 26 20 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 77 6c 5f | .d;...&..if.(!strcmp(iface,."wl_ |
| 2da80 | 63 6f 6d 70 6f 73 69 74 6f 72 22 29 29 00 00 00 43 20 20 20 20 61 2d 3e 63 6f 6d 70 20 3d 20 77 | compositor"))...C....a->comp.=.w |
| 2daa0 | 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 77 6c 5f 63 6f 6d 70 6f | l_registry_bind(r,.id,.&wl_compo |
| 2dac0 | 73 69 74 6f 72 5f 69 6e 74 65 72 66 61 63 65 2c 20 34 29 3b 00 00 00 24 20 20 65 6c 73 65 20 69 | sitor_interface,.4);...$..else.i |
| 2dae0 | 66 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 77 6c 5f 73 68 6d 22 29 29 00 00 00 3b | f.(!strcmp(iface,."wl_shm"))...; |
| 2db00 | 20 20 20 20 61 2d 3e 73 68 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c | ....a->shm.=.wl_registry_bind(r, |
| 2db20 | 20 69 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 2b 20 | .id,.&wl_shm_interface,.1);...+. |
| 2db40 | 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 78 64 67 5f 77 6d | .else.if.(!strcmp(iface,."xdg_wm |
| 2db60 | 5f 62 61 73 65 22 29 29 20 7b 00 00 00 3f 20 20 20 20 61 2d 3e 77 6d 20 3d 20 77 6c 5f 72 65 67 | _base")).{...?....a->wm.=.wl_reg |
| 2db80 | 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 78 64 67 5f 77 6d 5f 62 61 73 65 5f 69 | istry_bind(r,.id,.&xdg_wm_base_i |
| 2dba0 | 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 35 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 | nterface,.1);...5....xdg_wm_base |
| 2dbc0 | 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2d 3e 77 6d 2c 20 26 77 6d 5f 6c 69 73 74 65 6e 65 | _add_listener(a->wm,.&wm_listene |
| 2dbe0 | 72 2c 20 61 29 3b 00 00 00 29 20 20 7d 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 | r,.a);...)..}.else.if.(!strcmp(i |
| 2dc00 | 66 61 63 65 2c 20 22 77 6c 5f 73 65 61 74 22 29 29 20 7b 00 00 00 3d 20 20 20 20 61 2d 3e 73 65 | face,."wl_seat")).{...=....a->se |
| 2dc20 | 61 74 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 77 6c | at.=.wl_registry_bind(r,.id,.&wl |
| 2dc40 | 5f 73 65 61 74 5f 69 6e 74 65 72 66 61 63 65 2c 20 35 29 3b 00 00 00 35 20 20 20 20 77 6c 5f 73 | _seat_interface,.5);...5....wl_s |
| 2dc60 | 65 61 74 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2d 3e 73 65 61 74 2c 20 26 73 65 61 74 5f | eat_add_listener(a->seat,.&seat_ |
| 2dc80 | 6c 69 73 74 65 6e 65 72 2c 20 61 29 3b 00 00 00 36 20 20 7d 20 65 6c 73 65 20 69 66 20 28 21 73 | listener,.a);...6..}.else.if.(!s |
| 2dca0 | 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 5f 6d 61 6e | trcmp(iface,."wl_data_device_man |
| 2dcc0 | 61 67 65 72 22 29 29 00 00 00 4b 20 20 20 20 61 2d 3e 64 64 6d 20 3d 20 77 6c 5f 72 65 67 69 73 | ager"))...K....a->ddm.=.wl_regis |
| 2dce0 | 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 5f | try_bind(r,.id,.&wl_data_device_ |
| 2dd00 | 6d 61 6e 61 67 65 72 5f 69 6e 74 65 72 66 61 63 65 2c 20 33 29 3b 00 00 00 01 7d 00 00 00 46 73 | manager_interface,.3);....}...Fs |
| 2dd20 | 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 5f 72 65 6d 6f 76 65 28 76 6f 69 64 20 2a 64 2c 20 73 | tatic.void.reg_remove(void.*d,.s |
| 2dd40 | 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 2c 20 75 69 6e 74 33 32 5f 74 20 69 | truct.wl_registry.*r,.uint32_t.i |
| 2dd60 | 64 29 20 7b 7d 00 00 00 39 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f | d).{}...9static.const.struct.wl_ |
| 2dd80 | 72 65 67 69 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 20 72 65 67 5f 6c 69 73 74 65 6e 65 72 20 3d | registry_listener.reg_listener.= |
| 2dda0 | 20 7b 00 00 00 37 20 20 20 20 2e 67 6c 6f 62 61 6c 20 3d 20 72 65 67 5f 67 6c 6f 62 61 6c 2c 20 | .{...7.....global.=.reg_global,. |
| 2ddc0 | 2e 67 6c 6f 62 61 6c 5f 72 65 6d 6f 76 65 20 3d 20 72 65 67 5f 72 65 6d 6f 76 65 7d 3b 00 00 00 | .global_remove.=.reg_remove};... |
| 2dde0 | 00 00 00 00 10 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 20 7b 00 00 00 15 20 20 69 66 20 28 21 | .....int.main(void).{......if.(! |
| 2de00 | 6c 6f 61 64 5f 66 6f 6e 74 28 29 29 20 7b 00 00 00 3c 20 20 20 20 66 70 72 69 6e 74 66 28 73 74 | load_font()).{...<....fprintf(st |
| 2de20 | 64 65 72 72 2c 20 22 66 61 69 6c 65 64 20 74 6f 20 6c 6f 61 64 20 66 6f 6e 74 3a 20 25 73 5c 6e | derr,."failed.to.load.font:.%s\n |
| 2de40 | 22 2c 20 46 4f 4e 54 5f 4e 41 4d 45 29 3b 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 | ",.FONT_NAME);........return.1;. |
| 2de60 | 00 00 03 20 20 7d 00 00 00 00 00 00 00 1a 20 20 74 69 6d 65 5f 74 20 6e 6f 77 20 3d 20 74 69 6d | .....}..........time_t.now.=.tim |
| 2de80 | 65 28 4e 55 4c 4c 29 3b 00 00 00 21 20 20 73 74 72 75 63 74 20 74 6d 20 2a 74 20 3d 20 6c 6f 63 | e(NULL);...!..struct.tm.*t.=.loc |
| 2dea0 | 61 6c 74 69 6d 65 28 26 6e 6f 77 29 3b 00 00 00 13 20 20 63 68 61 72 20 62 75 66 66 65 72 5b 31 | altime(&now);......char.buffer[1 |
| 2dec0 | 30 30 5d 3b 00 00 00 00 00 00 00 3e 20 20 73 74 72 66 74 69 6d 65 28 62 75 66 66 65 72 2c 20 73 | 00];.......>..strftime(buffer,.s |
| 2dee0 | 69 7a 65 6f 66 28 62 75 66 66 65 72 29 2c 20 22 25 64 2d 25 6d 2d 25 59 20 25 49 3a 25 4d 3a 25 | izeof(buffer),."%d-%m-%Y.%I:%M:% |
| 2df00 | 53 20 25 70 22 2c 20 74 29 3b 00 00 00 24 20 20 70 72 69 6e 74 66 28 22 73 74 61 72 74 65 64 20 | S.%p",.t);...$..printf("started. |
| 2df20 | 61 74 20 25 73 5c 6e 22 2c 20 62 75 66 66 65 72 29 3b 00 00 00 00 00 00 00 15 20 20 73 74 72 75 | at.%s\n",.buffer);..........stru |
| 2df40 | 63 74 20 61 70 70 20 61 20 3d 20 7b 30 7d 3b 00 00 00 0c 20 20 61 2e 77 20 3d 20 36 34 30 3b 00 | ct.app.a.=.{0};......a.w.=.640;. |
| 2df60 | 00 00 0c 20 20 61 2e 68 20 3d 20 34 38 30 3b 00 00 00 15 20 20 61 2e 72 65 70 65 61 74 5f 72 61 | .....a.h.=.480;......a.repeat_ra |
| 2df80 | 74 65 20 3d 20 32 35 3b 00 00 00 17 20 20 61 2e 72 65 70 65 61 74 5f 64 65 6c 61 79 20 3d 20 34 | te.=.25;......a.repeat_delay.=.4 |
| 2dfa0 | 30 30 3b 00 00 00 1a 20 20 61 2e 6f 70 65 6e 5f 6d 65 6e 75 20 3d 20 4d 45 4e 55 5f 4e 4f 4e 45 | 00;......a.open_menu.=.MENU_NONE |
| 2dfc0 | 3b 00 00 00 16 20 20 61 2e 68 6f 76 65 72 65 64 5f 69 74 65 6d 20 3d 20 2d 31 3b 00 00 00 00 00 | ;......a.hovered_item.=.-1;..... |
| 2dfe0 | 00 00 34 20 20 61 2e 78 6b 62 5f 63 74 78 20 3d 20 78 6b 62 5f 63 6f 6e 74 65 78 74 5f 6e 65 77 | ..4..a.xkb_ctx.=.xkb_context_new |
| 2e000 | 28 58 4b 42 5f 43 4f 4e 54 45 58 54 5f 4e 4f 5f 46 4c 41 47 53 29 3b 00 00 00 13 20 20 69 66 20 | (XKB_CONTEXT_NO_FLAGS);......if. |
| 2e020 | 28 21 61 2e 78 6b 62 5f 63 74 78 29 20 7b 00 00 00 2e 20 20 20 20 66 70 75 74 73 28 22 78 6b 62 | (!a.xkb_ctx).{........fputs("xkb |
| 2e040 | 5f 63 6f 6e 74 65 78 74 5f 6e 65 77 20 66 61 69 6c 65 64 5c 6e 22 2c 20 73 74 64 65 72 72 29 3b | _context_new.failed\n",.stderr); |
| 2e060 | 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 4c | ........return.1;......}.......L |
| 2e080 | 20 20 61 2e 72 65 70 65 61 74 5f 66 64 20 3d 20 74 69 6d 65 72 66 64 5f 63 72 65 61 74 65 28 43 | ..a.repeat_fd.=.timerfd_create(C |
| 2e0a0 | 4c 4f 43 4b 5f 4d 4f 4e 4f 54 4f 4e 49 43 2c 20 54 46 44 5f 43 4c 4f 45 58 45 43 20 7c 20 54 46 | LOCK_MONOTONIC,.TFD_CLOEXEC.|.TF |
| 2e0c0 | 44 5f 4e 4f 4e 42 4c 4f 43 4b 29 3b 00 00 00 18 20 20 69 66 20 28 61 2e 72 65 70 65 61 74 5f 66 | D_NONBLOCK);......if.(a.repeat_f |
| 2e0e0 | 64 20 3c 20 30 29 20 7b 00 00 00 1d 20 20 20 20 70 65 72 72 6f 72 28 22 74 69 6d 65 72 66 64 5f | d.<.0).{........perror("timerfd_ |
| 2e100 | 63 72 65 61 74 65 22 29 3b 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 03 20 20 | create");........return.1;...... |
| 2e120 | 7d 00 00 00 00 00 00 00 21 20 20 61 2e 64 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 6f 6e 6e | }.......!..a.d.=.wl_display_conn |
| 2e140 | 65 63 74 28 4e 55 4c 4c 29 3b 00 00 00 0d 20 20 69 66 20 28 21 61 2e 64 29 20 7b 00 00 00 39 20 | ect(NULL);......if.(!a.d).{...9. |
| 2e160 | 20 20 20 66 70 75 74 73 28 22 63 61 6e 6e 6f 74 20 63 6f 6e 6e 65 63 74 20 74 6f 20 57 61 79 6c | ...fputs("cannot.connect.to.Wayl |
| 2e180 | 61 6e 64 20 64 69 73 70 6c 61 79 5c 6e 22 2c 20 73 74 64 65 72 72 29 3b 00 00 00 0d 20 20 20 20 | and.display\n",.stderr);........ |
| 2e1a0 | 72 65 74 75 72 6e 20 31 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 27 20 20 61 2e 72 65 67 20 | return.1;......}.......'..a.reg. |
| 2e1c0 | 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 72 65 67 69 73 74 72 79 28 61 2e 64 29 3b 00 | =.wl_display_get_registry(a.d);. |
| 2e1e0 | 00 00 35 20 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e | ..5..wl_registry_add_listener(a. |
| 2e200 | 72 65 67 2c 20 26 72 65 67 5f 6c 69 73 74 65 6e 65 72 2c 20 26 61 29 3b 00 00 00 1c 20 20 77 6c | reg,.®_listener,.&a);......wl |
| 2e220 | 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 61 2e 64 29 3b 00 00 00 00 00 00 00 2e | _display_roundtrip(a.d);........ |
| 2e240 | 20 20 69 66 20 28 21 61 2e 63 6f 6d 70 20 7c 7c 20 21 61 2e 73 68 6d 20 7c 7c 20 21 61 2e 77 6d | ..if.(!a.comp.||.!a.shm.||.!a.wm |
| 2e260 | 20 7c 7c 20 21 61 2e 73 65 61 74 29 20 7b 00 00 00 38 20 20 20 20 66 70 75 74 73 28 22 6d 69 73 | .||.!a.seat).{...8....fputs("mis |
| 2e280 | 73 69 6e 67 20 72 65 71 75 69 72 65 64 20 57 61 79 6c 61 6e 64 20 67 6c 6f 62 61 6c 73 5c 6e 22 | sing.required.Wayland.globals\n" |
| 2e2a0 | 2c 20 73 74 64 65 72 72 29 3b 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 03 20 | ,.stderr);........return.1;..... |
| 2e2c0 | 20 7d 00 00 00 1c 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 61 2e 64 | .}......wl_display_roundtrip(a.d |
| 2e2e0 | 29 3b 00 00 00 00 00 00 00 18 20 20 69 66 20 28 61 2e 64 64 6d 20 26 26 20 61 2e 73 65 61 74 29 | );..........if.(a.ddm.&&.a.seat) |
| 2e300 | 20 7b 00 00 00 41 20 20 20 20 61 2e 64 64 20 3d 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 5f | .{...A....a.dd.=.wl_data_device_ |
| 2e320 | 6d 61 6e 61 67 65 72 5f 67 65 74 5f 64 61 74 61 5f 64 65 76 69 63 65 28 61 2e 64 64 6d 2c 20 61 | manager_get_data_device(a.ddm,.a |
| 2e340 | 2e 73 65 61 74 29 3b 00 00 00 38 20 20 20 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 5f 61 64 | .seat);...8....wl_data_device_ad |
| 2e360 | 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 64 64 2c 20 26 64 64 5f 6c 69 73 74 65 6e 65 72 2c 20 26 | d_listener(a.dd,.&dd_listener,.& |
| 2e380 | 61 29 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 2e 20 20 61 2e 77 73 20 3d 20 77 6c 5f 63 6f | a);......}..........a.ws.=.wl_co |
| 2e3a0 | 6d 70 6f 73 69 74 6f 72 5f 63 72 65 61 74 65 5f 73 75 72 66 61 63 65 28 61 2e 63 6f 6d 70 29 3b | mpositor_create_surface(a.comp); |
| 2e3c0 | 00 00 00 31 20 20 61 2e 78 73 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 | ...1..a.xs.=.xdg_wm_base_get_xdg |
| 2e3e0 | 5f 73 75 72 66 61 63 65 28 61 2e 77 6d 2c 20 61 2e 77 73 29 3b 00 00 00 33 20 20 78 64 67 5f 73 | _surface(a.wm,.a.ws);...3..xdg_s |
| 2e400 | 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 73 2c 20 26 78 73 5f 6c 69 | urface_add_listener(a.xs,.&xs_li |
| 2e420 | 73 74 65 6e 65 72 2c 20 26 61 29 3b 00 00 00 28 20 20 61 2e 78 74 20 3d 20 78 64 67 5f 73 75 72 | stener,.&a);...(..a.xt.=.xdg_sur |
| 2e440 | 66 61 63 65 5f 67 65 74 5f 74 6f 70 6c 65 76 65 6c 28 61 2e 78 73 29 3b 00 00 00 34 20 20 78 64 | face_get_toplevel(a.xs);...4..xd |
| 2e460 | 67 5f 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 74 2c 20 26 78 | g_toplevel_add_listener(a.xt,.&x |
| 2e480 | 74 5f 6c 69 73 74 65 6e 65 72 2c 20 26 61 29 3b 00 00 00 27 20 20 78 64 67 5f 74 6f 70 6c 65 76 | t_listener,.&a);...'..xdg_toplev |
| 2e4a0 | 65 6c 5f 73 65 74 5f 74 69 74 6c 65 28 61 2e 78 74 2c 20 22 77 6c 65 64 22 29 3b 00 00 00 1a 20 | el_set_title(a.xt,."wled");..... |
| 2e4c0 | 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2e 77 73 29 3b 00 00 00 00 00 00 00 | .wl_surface_commit(a.ws);....... |
| 2e4e0 | 17 20 20 77 68 69 6c 65 20 28 21 61 2e 63 6f 6e 66 69 67 75 72 65 64 29 00 00 00 27 20 20 20 20 | ...while.(!a.configured)...'.... |
| 2e500 | 69 66 20 28 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 28 61 2e 64 29 20 3d 3d 20 | if.(wl_display_dispatch(a.d).==. |
| 2e520 | 2d 31 29 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 00 00 00 00 25 20 20 69 6e 74 | -1)..........break;.......%..int |
| 2e540 | 20 77 6c 5f 66 64 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 66 64 28 61 2e 64 29 3b | .wl_fd.=.wl_display_get_fd(a.d); |
| 2e560 | 00 00 00 0d 20 20 77 68 69 6c 65 20 28 31 29 20 7b 00 00 00 1a 20 20 20 20 77 6c 5f 64 69 73 70 | ......while.(1).{........wl_disp |
| 2e580 | 6c 61 79 5f 66 6c 75 73 68 28 61 2e 64 29 3b 00 00 00 3c 20 20 20 20 73 74 72 75 63 74 20 70 6f | lay_flush(a.d);...<....struct.po |
| 2e5a0 | 6c 6c 66 64 20 66 64 73 5b 32 5d 20 3d 20 7b 7b 2e 66 64 20 3d 20 77 6c 5f 66 64 2c 20 2e 65 76 | llfd.fds[2].=.{{.fd.=.wl_fd,..ev |
| 2e5c0 | 65 6e 74 73 20 3d 20 50 4f 4c 4c 49 4e 7d 2c 00 00 00 43 20 20 20 20 20 20 20 20 20 20 20 20 20 | ents.=.POLLIN},...C............. |
| 2e5e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 2e 66 64 20 3d 20 61 2e 72 65 70 65 61 74 5f 66 | ...............{.fd.=.a.repeat_f |
| 2e600 | 64 2c 20 2e 65 76 65 6e 74 73 20 3d 20 50 4f 4c 4c 49 4e 7d 7d 3b 00 00 00 1f 20 20 20 20 69 6e | d,..events.=.POLLIN}};........in |
| 2e620 | 74 20 72 65 74 20 3d 20 70 6f 6c 6c 28 66 64 73 2c 20 32 2c 20 2d 31 29 3b 00 00 00 12 20 20 20 | t.ret.=.poll(fds,.2,.-1);....... |
| 2e640 | 20 69 66 20 28 72 65 74 20 3c 20 30 29 20 7b 00 00 00 19 20 20 20 20 20 20 69 66 20 28 65 72 72 | .if.(ret.<.0).{..........if.(err |
| 2e660 | 6e 6f 20 3d 3d 20 45 49 4e 54 52 29 00 00 00 11 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 | no.==.EINTR)............continue |
| 2e680 | 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 22 20 20 | ;..........break;........}...".. |
| 2e6a0 | 20 20 69 66 20 28 66 64 73 5b 31 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 20 7b | ..if.(fds[1].revents.&.POLLIN).{ |
| 2e6c0 | 00 00 00 13 20 20 20 20 20 20 75 69 6e 74 36 34 5f 74 20 65 78 70 3b 00 00 00 2a 20 20 20 20 20 | ..........uint64_t.exp;...*..... |
| 2e6e0 | 20 72 65 61 64 28 61 2e 72 65 70 65 61 74 5f 66 64 2c 20 26 65 78 70 2c 20 73 69 7a 65 6f 66 20 | .read(a.repeat_fd,.&exp,.sizeof. |
| 2e700 | 65 78 70 29 3b 00 00 00 24 20 20 20 20 20 20 70 72 6f 63 65 73 73 5f 6b 65 79 28 26 61 2c 20 61 | exp);...$......process_key(&a,.a |
| 2e720 | 2e 72 65 70 65 61 74 5f 6b 65 79 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 20 20 20 20 20 69 66 | .repeat_key);........}........if |
| 2e740 | 20 28 66 64 73 5b 30 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 00 00 00 29 20 20 | .(fds[0].revents.&.POLLIN)...).. |
| 2e760 | 20 20 20 20 69 66 20 28 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 28 61 2e 64 29 | ....if.(wl_display_dispatch(a.d) |
| 2e780 | 20 3d 3d 20 2d 31 29 00 00 00 0e 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 03 20 20 7d | .==.-1)............break;......} |
| 2e7a0 | 00 00 00 0b 20 20 72 65 74 75 72 6e 20 30 3b 00 00 00 01 7d 35 81 f5 18 00 00 00 00 00 00 00 00 | ......return.0;....}5........... |
| 2e7c0 | 00 00 00 00 70 04 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 78 7f 00 00 | ....p.......................x... |
| 2e7e0 | 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 17 00 00 00 19 00 00 00 00 00 00 00 00 | ............5._................. |
| 2e800 | 00 00 00 18 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff 00 03 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2e820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2e840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2e860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2e880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2e8a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2e8c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2e8e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2e900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2e920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2e940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2e960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9f cb c3 04 01 00 00 00 00 00 f5 18 00 | ..................i............. |
| 2e980 | 00 04 64 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 7d f5 18 00 00 04 65 00 00 00 00 00 00 | ..d................}.....e...... |
| 2e9a0 | 00 00 00 00 00 00 f5 18 00 00 04 57 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 20 20 f5 18 | ...........W.................... |
| 2e9c0 | 00 00 04 58 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 04 45 00 00 00 00 00 00 00 00 00 00 | ...X.................E.......... |
| 2e9e0 | 00 01 00 00 00 13 20 20 20 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 5f f5 18 00 00 04 46 00 | ..........wl_data_device_.....F. |
| 2ea00 | 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 04 36 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 | ................6............... |
| 2ea20 | 44 20 20 61 2e 72 65 70 65 61 74 5f 66 64 3d 74 69 6d 65 72 66 64 5f 63 72 65 61 74 65 28 43 4c | D..a.repeat_fd=timerfd_create(CL |
| 2ea40 | 4f 43 4b 5f 4d 4f 4e 4f 54 4f 4e 49 43 2c 54 46 44 5f 43 4c 4f 45 58 45 43 7c 54 46 44 5f 4e 4f | OCK_MONOTONIC,TFD_CLOEXEC|TFD_NO |
| 2ea60 | 4e 42 4c 4f 43 f5 18 00 00 04 37 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 04 28 00 00 00 | NBLOC.....7.................(... |
| 2ea80 | 00 00 00 00 00 00 00 00 01 00 00 00 27 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 | ............'static.const.struct |
| 2eaa0 | 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 6c 69 73 74 65 6e 65 f5 18 00 00 04 29 00 00 00 00 00 00 | .wl_registry_listene.....)...... |
| 2eac0 | 00 00 00 00 00 00 f5 18 00 00 04 1c 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 0b 73 74 61 74 | ............................stat |
| 2eae0 | 69 63 20 76 6f 69 64 f5 18 00 00 04 1d 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 04 10 00 | ic.void......................... |
| 2eb00 | 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 20 f5 18 00 00 04 11 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2eb20 | 00 00 f5 18 00 00 03 f9 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 19 20 20 20 20 20 20 73 74 | ..............................st |
| 2eb40 | 72 75 63 74 20 69 74 69 6d 65 72 73 70 65 63 20 74 f5 18 00 00 03 fa 00 00 00 00 00 00 00 00 00 | ruct.itimerspec.t............... |
| 2eb60 | 00 00 00 f5 18 00 00 03 e6 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 26 20 20 63 68 61 72 20 | ........................&..char. |
| 2eb80 | 2a 73 3d 6d 6d 61 70 28 4e 55 4c 4c 2c 73 69 7a 65 2c 50 52 4f 54 5f 52 45 41 44 2c 4d 41 50 f5 | *s=mmap(NULL,size,PROT_READ,MAP. |
| 2eba0 | 18 00 00 03 e7 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 03 dc 00 00 00 00 00 00 00 00 00 | ................................ |
| 2ebc0 | 00 00 01 00 00 00 31 73 74 61 74 69 63 20 76 6f 69 64 20 70 74 72 5f 61 78 69 73 5f 64 69 73 63 | ......1static.void.ptr_axis_disc |
| 2ebe0 | 72 65 74 65 28 76 6f 69 64 20 2a 64 2c 73 74 72 75 63 74 20 77 6c 5f 70 f5 18 00 00 03 dd 00 00 | rete(void.*d,struct.wl_p........ |
| 2ec00 | 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 03 d1 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 | ................................ |
| 2ec20 | 73 74 f5 18 00 00 03 d2 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 03 bd 00 00 00 00 00 00 | st.............................. |
| 2ec40 | 00 00 00 00 00 01 00 00 00 2c 20 20 20 20 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 3d 4d 45 4e 55 5f | .........,....a->open_menu=MENU_ |
| 2ec60 | 4e 4f 4e 45 3b 61 2d 3e 68 6f 76 65 72 65 64 5f 69 74 65 6d 3d 2d f5 18 00 00 03 be 00 00 00 00 | NONE;a->hovered_item=-.......... |
| 2ec80 | 00 00 00 00 00 00 00 00 f5 18 00 00 03 a9 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 0d 20 20 | ................................ |
| 2eca0 | 20 20 69 66 28 69 74 21 3d 61 2d f5 18 00 00 03 aa 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 | ..if(it!=a-..................... |
| 2ecc0 | 00 03 9a 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 10 20 20 65 6c 73 65 7b 61 2d 3e 6d 78 3d | .....................else{a->mx= |
| 2ece0 | 6d 78 3b f5 18 00 00 03 9b 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 03 8f 00 00 00 00 00 | mx;............................. |
| 2ed00 | 00 00 00 00 00 00 01 00 00 00 20 73 74 61 74 69 63 20 76 6f 69 64 20 64 64 5f 73 65 6c 65 63 74 | ...........static.void.dd_select |
| 2ed20 | 69 6f 6e 28 76 6f 69 64 20 2a 64 f5 18 00 00 03 90 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 | ion(void.*d..................... |
| 2ed40 | 00 03 87 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 25 20 20 2e 74 61 72 67 65 74 3d 64 73 5f | ..................%...target=ds_ |
| 2ed60 | 74 61 72 67 65 74 2c 2e 73 65 6e 64 3d 64 73 5f 73 65 6e 64 2c 2e 63 61 f5 18 00 00 03 88 00 00 | target,.send=ds_send,.ca........ |
| 2ed80 | 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 03 71 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 35 | ...............q...............5 |
| 2eda0 | 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 3d 64 3b 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 | ..struct.app.*a=d;.xdg_surface_a |
| 2edc0 | 63 6b 5f 63 6f 6e 66 69 67 75 72 65 28 78 73 2c 73 65 72 69 61 f5 18 00 00 03 72 00 00 00 00 00 | ck_configure(xs,seria.....r..... |
| 2ede0 | 00 00 00 00 00 00 00 f5 18 00 00 03 68 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 0c 73 74 61 | ............h................sta |
| 2ee00 | 74 69 63 20 76 6f 69 64 20 f5 18 00 00 03 69 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 03 | tic.void......i................. |
| 2ee20 | 50 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 04 20 20 20 20 f5 18 00 00 03 51 00 00 00 00 00 | P.........................Q..... |
| 2ee40 | 00 00 00 00 00 00 00 f5 18 00 00 03 37 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 4b 20 20 69 | ............7...............K..i |
| 2ee60 | 6e 74 20 73 68 69 66 74 3d 78 6b 62 5f 73 74 61 74 65 5f 6d 6f 64 5f 6e 61 6d 65 5f 69 73 5f 61 | nt.shift=xkb_state_mod_name_is_a |
| 2ee80 | 63 74 69 76 65 28 61 2d 3e 78 6b 62 5f 73 74 61 74 65 2c 58 4b 42 5f 4d 4f 44 5f 4e 41 4d 45 5f | ctive(a->xkb_state,XKB_MOD_NAME_ |
| 2eea0 | 53 48 49 46 54 2c 58 4b f5 18 00 00 03 38 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 03 27 | SHIFT,XK.....8.................' |
| 2eec0 | 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 09 20 20 69 66 28 61 2d 3e 64 f5 18 00 00 03 28 00 | ..................if(a->d.....(. |
| 2eee0 | 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 03 13 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 | ................................ |
| 2ef00 | 41 73 74 61 74 69 63 20 69 6e 74 20 73 65 6c 5f 73 74 61 72 74 28 76 6f 69 64 29 7b 72 65 74 75 | Astatic.int.sel_start(void){retu |
| 2ef20 | 72 6e 20 73 65 6c 5f 61 6e 63 68 6f 72 3c 63 75 72 73 6f 72 3f 73 65 6c 5f 61 6e 63 68 6f 72 3a | rn.sel_anchor<cursor?sel_anchor: |
| 2ef40 | 63 75 f5 18 00 00 03 14 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 03 02 00 00 00 00 00 00 | cu.............................. |
| 2ef60 | 00 00 00 00 00 01 00 00 00 0f 20 20 20 20 20 20 20 20 20 20 61 2d 3e 66 70 f5 18 00 00 03 03 00 | ....................a->fp....... |
| 2ef80 | 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 02 f0 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 | ................................ |
| 2efa0 | 1a 20 20 20 20 20 20 20 20 20 20 20 63 68 61 72 20 74 6d 70 5b 4d 41 58 5f 50 41 f5 18 00 00 02 | ............char.tmp[MAX_PA..... |
| 2efc0 | f1 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 02 e2 00 00 00 00 00 00 00 00 00 00 00 01 00 | ................................ |
| 2efe0 | 00 00 0f 20 20 20 20 20 20 20 20 20 20 61 2d 3e 66 70 f5 18 00 00 02 e3 00 00 00 00 00 00 00 00 | .............a->fp.............. |
| 2f000 | 00 00 00 00 f5 18 00 00 02 d3 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 24 20 20 20 20 20 20 | .........................$...... |
| 2f020 | 20 20 7b 63 6f 6e 73 74 20 63 68 61 72 20 2a 68 3d 67 65 74 65 6e 76 28 22 48 4f 4d 45 22 f5 18 | ..{const.char.*h=getenv("HOME".. |
| 2f040 | 00 00 02 d4 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 02 cc 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2f060 | 00 01 00 00 00 07 20 20 20 20 73 77 69 f5 18 00 00 02 cd 00 00 00 00 00 00 00 00 00 00 00 00 f5 | ..........swi................... |
| 2f080 | 18 00 00 02 a4 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 f5 18 00 00 02 a5 00 00 00 00 00 | ................................ |
| 2f0a0 | 00 00 00 00 00 00 00 f5 18 00 00 02 98 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 0a 20 20 63 | ...............................c |
| 2f0c0 | 6f 6e 73 74 20 4d 65 f5 18 00 00 02 99 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 02 7c 00 | onst.Me.......................|. |
| 2f0e0 | 00 00 00 00 00 00 00 00 00 00 01 00 00 00 19 20 20 70 2d 3e 78 73 3d 78 64 67 5f 77 6d 5f 62 61 | .................p->xs=xdg_wm_ba |
| 2f100 | 73 65 5f 67 65 74 5f 78 f5 18 00 00 02 7d 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 02 67 | se_get_x.....}.................g |
| 2f120 | 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 1f 20 20 69 66 28 21 70 2d 3e 70 69 78 65 6c 73 29 | ..................if(!p->pixels) |
| 2f140 | 20 70 2d 3e 70 69 78 65 6c 73 3d 6d 61 6b 65 f5 18 00 00 02 68 00 00 00 00 00 00 00 00 00 00 00 | .p->pixels=make.....h........... |
| 2f160 | 00 f5 18 00 00 02 61 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 2a 20 20 64 73 74 72 28 70 78 | ......a...............*..dstr(px |
| 2f180 | 2c 70 77 2c 70 68 2c 50 41 44 2a 32 2c 79 2c 22 53 6f 75 72 63 65 3a 20 20 20 20 20 67 69 74 2e | ,pw,ph,PAD*2,y,"Source:.....git. |
| 2f1a0 | 73 f5 18 00 00 02 62 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 02 3f 00 00 00 00 00 00 00 | s.....b.................?....... |
| 2f1c0 | 00 00 00 00 01 00 00 00 02 20 20 f5 18 00 00 02 40 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 | ................@............... |
| 2f1e0 | 00 02 28 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 09 20 20 69 6e 74 20 69 6e 70 f5 18 00 00 | ..(..................int.inp.... |
| 2f200 | 02 29 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 02 18 00 00 00 00 00 00 00 00 00 00 00 01 | .).............................. |
| 2f220 | 00 00 00 07 20 20 20 20 72 65 74 f5 18 00 00 02 19 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 | ........ret..................... |
| 2f240 | 00 02 0b 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 31 20 20 69 66 28 73 79 6d 3d 3d 58 4b 42 | ..................1..if(sym==XKB |
| 2f260 | 5f 4b 45 59 5f 48 6f 6d 65 29 20 7b 66 70 2d 3e 69 6e 70 75 74 5f 63 75 72 3d 30 3b 72 65 64 72 | _KEY_Home).{fp->input_cur=0;redr |
| 2f280 | 61 77 5f 66 f5 18 00 00 02 0c 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 fe 00 00 00 00 | aw_f............................ |
| 2f2a0 | 00 00 00 00 00 00 00 01 00 00 00 0e 20 20 20 20 72 65 64 72 61 77 5f 66 70 28 f5 18 00 00 01 ff | ................redraw_fp(...... |
| 2f2c0 | 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 f0 00 00 00 00 00 00 00 00 00 00 00 01 00 00 | ................................ |
| 2f2e0 | 00 1d 20 20 69 66 28 73 79 6d 3d 3d 58 4b 42 5f 4b 45 59 5f 45 73 63 61 70 65 29 7b 66 70 5f f5 | ....if(sym==XKB_KEY_Escape){fp_. |
| 2f300 | 18 00 00 01 f1 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 e3 00 00 00 00 00 00 00 00 00 | ................................ |
| 2f320 | 00 00 01 00 00 00 13 20 20 69 66 28 66 70 2d 3e 70 69 78 65 6c 73 29 20 7b 6d f5 18 00 00 01 e4 | .........if(fp->pixels).{m...... |
| 2f340 | 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 d6 00 00 00 00 00 00 00 00 00 00 00 01 00 00 | ................................ |
| 2f360 | 00 1e 20 20 66 70 2d 3e 78 73 3d 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 5f 73 | ....fp->xs=xdg_wm_base_get_xdg_s |
| 2f380 | f5 18 00 00 01 d7 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 c7 00 00 00 00 00 00 00 00 | ................................ |
| 2f3a0 | 00 00 00 01 00 00 00 4d 73 74 61 74 69 63 20 76 6f 69 64 20 66 70 5f 78 74 5f 63 66 67 28 76 6f | .......Mstatic.void.fp_xt_cfg(vo |
| 2f3c0 | 69 64 20 2a 64 2c 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 74 2c 69 6e 74 | id.*d,struct.xdg_toplevel.*t,int |
| 2f3e0 | 33 32 5f 74 20 77 2c 69 6e 74 33 32 5f 74 20 68 2c 73 74 72 75 f5 18 00 00 01 c8 00 00 00 00 00 | 32_t.w,int32_t.h,stru........... |
| 2f400 | 00 00 00 00 00 00 00 f5 18 00 00 01 b9 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 0c 20 20 69 | ...............................i |
| 2f420 | 6e 74 20 63 6e 77 3d 73 70 f5 18 00 00 01 ba 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 | nt.cnw=sp....................... |
| 2f440 | a5 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 03 20 20 20 f5 18 00 00 01 a6 00 00 00 00 00 00 | ................................ |
| 2f460 | 00 00 00 00 00 00 f5 18 00 00 01 6c 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 20 20 f5 18 | ...........l.................... |
| 2f480 | 00 00 01 6d 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 5d 00 00 00 00 00 00 00 00 00 00 | ...m.................].......... |
| 2f4a0 | 00 01 00 00 00 15 20 20 20 20 73 73 69 7a 65 5f 74 20 6e 3d 72 65 61 64 28 66 64 f5 18 00 00 01 | ..........ssize_t.n=read(fd..... |
| 2f4c0 | 5e 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 4b 00 00 00 00 00 00 00 00 00 00 00 01 00 | ^.................K............. |
| 2f4e0 | 00 00 12 20 20 69 66 28 21 66 70 2d 3e 65 6e 74 72 69 65 73 5b f5 18 00 00 01 4c 00 00 00 00 00 | .....if(!fp->entries[.....L..... |
| 2f500 | 00 00 00 00 00 00 00 f5 18 00 00 01 38 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 26 20 20 69 | ............8...............&..i |
| 2f520 | 66 28 73 74 72 63 6d 70 28 66 70 2d 3e 65 6e 74 72 69 65 73 5b 69 64 78 5d 2e 6e 61 6d 65 2c 22 | f(strcmp(fp->entries[idx].name," |
| 2f540 | 2e 2e 22 f5 18 00 00 01 39 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 f0 00 00 00 00 00 | ..".....9....................... |
| 2f560 | 00 00 00 00 00 00 01 00 00 00 03 20 20 63 f5 18 00 00 00 f1 00 00 00 00 00 00 00 00 00 00 00 00 | .............c.................. |
| 2f580 | f5 18 00 00 00 95 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 06 20 20 46 63 52 65 f5 18 00 00 | ........................FcRe.... |
| 2f5a0 | 00 96 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 | ................................ |
| 2f5c0 | 00 00 00 00 f5 18 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 35 81 f5 18 00 00 00 00 00 00 | ......................5......... |
| 2f5e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 95 00 00 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2f600 | 00 00 00 00 00 00 00 10 00 00 00 00 00 00 f5 18 00 00 00 00 95 00 00 00 06 00 00 00 00 00 00 00 | ................................ |
| 2f620 | 00 00 00 00 5b 00 00 00 03 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0e 00 00 | ....[........................... |
| 2f640 | 00 00 00 00 f5 18 00 00 00 00 f0 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 48 00 00 00 26 00 | ..........................H...&. |
| 2f660 | 00 00 00 1e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 09 00 00 00 00 00 00 f5 18 00 00 00 00 | ................................ |
| 2f680 | 38 01 00 00 26 00 00 00 00 00 00 00 00 00 00 00 13 00 00 00 12 00 00 00 00 27 00 00 00 00 00 00 | 8...&....................'...... |
| 2f6a0 | 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 4b 01 00 00 12 00 00 00 00 00 | ......................K......... |
| 2f6c0 | 00 00 00 00 00 00 12 00 00 00 15 00 00 00 00 29 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 | ...............)................ |
| 2f6e0 | 00 00 00 00 00 00 f5 18 00 00 00 00 5d 01 00 00 15 00 00 00 00 00 00 00 00 00 00 00 0f 00 00 00 | ............]................... |
| 2f700 | 02 00 00 00 00 2b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 | .....+.......................... |
| 2f720 | 00 00 6c 01 00 00 02 00 00 00 00 00 00 00 00 00 00 00 39 00 00 00 03 00 00 00 00 2d 00 00 00 00 | ..l...............9........-.... |
| 2f740 | 00 00 00 00 00 00 00 00 00 00 00 07 00 00 00 00 00 00 f5 18 00 00 00 00 a5 01 00 00 03 00 00 00 | ................................ |
| 2f760 | 00 00 00 00 00 00 00 00 14 00 00 00 0c 00 00 00 00 34 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .................4.............. |
| 2f780 | 00 03 00 00 00 00 00 00 f5 18 00 00 00 00 b9 01 00 00 0c 00 00 00 00 00 00 00 00 00 00 00 0e 00 | ................................ |
| 2f7a0 | 00 00 4d 00 00 00 00 37 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 | ..M....7........................ |
| 2f7c0 | 00 00 00 00 c7 01 00 00 4d 00 00 00 00 00 00 00 00 00 00 00 0f 00 00 00 1e 00 00 00 00 39 00 00 | ........M....................9.. |
| 2f7e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 d6 01 00 00 1e 00 | ................................ |
| 2f800 | 00 00 00 00 00 00 00 00 00 00 0d 00 00 00 13 00 00 00 00 3b 00 00 00 00 00 00 00 00 00 00 00 00 | ...................;............ |
| 2f820 | 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 e3 01 00 00 13 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2f840 | 0d 00 00 00 1d 00 00 00 00 3d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 | .........=...................... |
| 2f860 | f5 18 00 00 00 00 f0 01 00 00 1d 00 00 00 00 00 00 00 00 00 00 00 0e 00 00 00 0e 00 00 00 00 3f | ...............................? |
| 2f880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 fe 01 00 00 | ................................ |
| 2f8a0 | 0e 00 00 00 00 00 00 00 00 00 00 00 0d 00 00 00 31 00 00 00 00 41 00 00 00 00 00 00 00 00 00 00 | ................1....A.......... |
| 2f8c0 | 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 0b 02 00 00 31 00 00 00 00 00 00 00 00 00 | ......................1......... |
| 2f8e0 | 00 00 0d 00 00 00 07 00 00 00 00 43 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 | ...........C.................... |
| 2f900 | 00 00 f5 18 00 00 00 00 18 02 00 00 07 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 09 00 00 00 | ................................ |
| 2f920 | 00 45 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 28 02 | .E............................(. |
| 2f940 | 00 00 09 00 00 00 00 00 00 00 00 00 00 00 17 00 00 00 02 00 00 00 00 47 00 00 00 00 00 00 00 00 | .......................G........ |
| 2f960 | 00 00 00 00 00 00 00 03 00 00 00 00 00 00 f5 18 00 00 00 00 3f 02 00 00 02 00 00 00 00 00 00 00 | ....................?........... |
| 2f980 | 00 00 00 00 22 00 00 00 2a 00 00 00 00 4a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 00 00 | ...."...*....J.................. |
| 2f9a0 | 00 00 00 00 f5 18 00 00 00 00 61 02 00 00 2a 00 00 00 00 00 00 00 00 00 00 00 06 00 00 00 1f 00 | ..........a...*................. |
| 2f9c0 | 00 00 00 4f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 f5 18 00 00 00 00 | ...O............................ |
| 2f9e0 | 67 02 00 00 1f 00 00 00 00 00 00 00 00 00 00 00 15 00 00 00 19 00 00 00 00 50 00 00 00 00 00 00 | g........................P...... |
| 2fa00 | 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 f5 18 00 00 00 00 7c 02 00 00 19 00 00 00 00 00 | ......................|......... |
| 2fa20 | 00 00 00 00 00 00 1c 00 00 00 0a 00 00 00 00 54 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 | ...............T................ |
| 2fa40 | 00 00 00 00 00 00 f5 18 00 00 00 00 98 02 00 00 0a 00 00 00 00 00 00 00 00 00 00 00 0c 00 00 00 | ................................ |
| 2fa60 | 00 00 00 00 00 58 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 | .....X.......................... |
| 2fa80 | 00 00 a4 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 28 00 00 00 07 00 00 00 00 5a 00 00 00 00 | ..................(........Z.... |
| 2faa0 | 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 00 00 00 f5 18 00 00 00 00 cc 02 00 00 07 00 00 00 | ................................ |
| 2fac0 | 00 00 00 00 00 00 00 00 07 00 00 00 24 00 00 00 00 5f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ............$...._.............. |
| 2fae0 | 00 01 00 00 00 00 00 00 f5 18 00 00 00 00 d3 02 00 00 24 00 00 00 00 00 00 00 00 00 00 00 0f 00 | ..................$............. |
| 2fb00 | 00 00 0f 00 00 00 00 60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 | .......`........................ |
| 2fb20 | 00 00 00 00 e2 02 00 00 0f 00 00 00 00 00 00 00 00 00 00 00 0e 00 00 00 1a 00 00 00 00 62 00 00 | .............................b.. |
| 2fb40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 f0 02 00 00 1a 00 | ................................ |
| 2fb60 | 00 00 00 00 00 00 00 00 00 00 12 00 00 00 0f 00 00 00 00 64 00 00 00 00 00 00 00 00 00 00 00 00 | ...................d............ |
| 2fb80 | 00 00 00 03 00 00 00 00 00 00 f5 18 00 00 00 00 02 03 00 00 0f 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2fba0 | 11 00 00 00 41 00 00 00 00 67 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 | ....A....g...................... |
| 2fbc0 | f5 18 00 00 00 00 13 03 00 00 41 00 00 00 00 00 00 00 00 00 00 00 14 00 00 00 09 00 00 00 00 69 | ..........A....................i |
| 2fbe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 f5 18 00 00 00 00 27 03 00 00 | ............................'... |
| 2fc00 | 09 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 4b 00 00 00 00 6c 00 00 00 00 00 00 00 00 00 00 | ................K....l.......... |
| 2fc20 | 00 00 00 00 00 03 00 00 00 00 00 00 f5 18 00 00 00 00 37 03 00 00 4b 00 00 00 00 00 00 00 00 00 | ..................7...K......... |
| 2fc40 | 00 00 19 00 00 00 04 00 00 00 00 6f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 00 | ...........o.................... |
| 2fc60 | 00 00 f5 18 00 00 00 00 50 03 00 00 04 00 00 00 00 00 00 00 00 00 00 00 18 00 00 00 0c 00 00 00 | ........P....................... |
| 2fc80 | 00 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 f5 18 00 00 00 00 68 03 | .t............................h. |
| 2fca0 | 00 00 0c 00 00 00 00 00 00 00 00 00 00 00 09 00 00 00 35 00 00 00 00 78 00 00 00 00 00 00 00 00 | ..................5....x........ |
| 2fcc0 | 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 71 03 00 00 35 00 00 00 00 00 00 00 | ....................q...5....... |
| 2fce0 | 00 00 00 00 16 00 00 00 25 00 00 00 00 7a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 | ........%....z.................. |
| 2fd00 | 00 00 00 00 f5 18 00 00 00 00 87 03 00 00 25 00 00 00 00 00 00 00 00 00 00 00 08 00 00 00 20 00 | ..............%................. |
| 2fd20 | 00 00 00 7e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 | ...~............................ |
| 2fd40 | 8f 03 00 00 20 00 00 00 00 00 00 00 00 00 00 00 0b 00 00 00 10 00 00 00 00 80 00 00 00 00 00 00 | ................................ |
| 2fd60 | 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 9a 03 00 00 10 00 00 00 00 00 | ................................ |
| 2fd80 | 00 00 00 00 00 00 0f 00 00 00 0d 00 00 00 00 82 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 | ................................ |
| 2fda0 | 00 00 00 00 00 00 f5 18 00 00 00 00 a9 03 00 00 0d 00 00 00 00 00 00 00 00 00 00 00 14 00 00 00 | ................................ |
| 2fdc0 | 2c 00 00 00 00 84 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 f5 18 00 00 | ,............................... |
| 2fde0 | 00 00 bd 03 00 00 2c 00 00 00 00 00 00 00 00 00 00 00 14 00 00 00 02 00 00 00 00 87 00 00 00 00 | ......,......................... |
| 2fe00 | 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 d1 03 00 00 02 00 00 00 | ................................ |
| 2fe20 | 00 00 00 00 00 00 00 00 0b 00 00 00 31 00 00 00 00 89 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ............1................... |
| 2fe40 | 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 dc 03 00 00 31 00 00 00 00 00 00 00 00 00 00 00 0a 00 | ..................1............. |
| 2fe60 | 00 00 26 00 00 00 00 8b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 | ..&............................. |
| 2fe80 | 00 00 00 00 e6 03 00 00 26 00 00 00 00 00 00 00 00 00 00 00 13 00 00 00 19 00 00 00 00 8d 00 00 | ........&....................... |
| 2fea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 f5 18 00 00 00 00 f9 03 00 00 19 00 | ................................ |
| 2fec0 | 00 00 00 00 00 00 00 00 00 00 17 00 00 00 01 00 00 00 00 91 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2fee0 | 00 00 00 04 00 00 00 00 00 00 f5 18 00 00 00 00 10 04 00 00 01 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2ff00 | 0c 00 00 00 0b 00 00 00 00 95 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 | ................................ |
| 2ff20 | f5 18 00 00 00 00 1c 04 00 00 0b 00 00 00 00 00 00 00 00 00 00 00 0c 00 00 00 27 00 00 00 00 97 | ..........................'..... |
| 2ff40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 f5 18 00 00 00 00 28 04 00 00 | ............................(... |
| 2ff60 | 27 00 00 00 00 00 00 00 00 00 00 00 0e 00 00 00 44 00 00 00 00 9b 00 00 00 00 00 00 00 00 00 00 | '...............D............... |
| 2ff80 | 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 36 04 00 00 44 00 00 00 00 00 00 00 00 00 | ..................6...D......... |
| 2ffa0 | 00 00 0f 00 00 00 13 00 00 00 00 9d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 | ................................ |
| 2ffc0 | 00 00 f5 18 00 00 00 00 45 04 00 00 13 00 00 00 00 00 00 00 00 00 00 00 12 00 00 00 02 00 00 00 | ........E....................... |
| 2ffe0 | 00 9f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 57 04 | ..............................W. |
| 30000 | 00 00 02 00 00 00 00 00 00 00 00 00 00 00 0d 00 00 00 01 00 00 00 00 a1 00 00 00 00 00 00 00 00 | ................................ |
| 30020 | 00 00 00 00 00 00 7c 01 00 00 00 00 00 00 35 81 5f d0 00 00 00 18 00 00 00 1a 00 00 00 00 00 00 | ......|.......5._............... |
| 30040 | 00 00 00 00 00 19 00 00 04 65 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 | .........e...................... |
| 30060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 30080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 300a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 300c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 300e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 30100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 30120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 30140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 30160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 30180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 301a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9f cb c5 04 01 00 00 00 12 00 f5 | ....................i........... |
| 301c0 | 18 00 00 00 02 00 00 06 85 00 00 04 65 00 00 04 60 00 00 00 26 23 69 6e 63 6c 75 64 65 20 22 78 | ............e...`...&#include."x |
| 301e0 | 64 67 2d 73 68 65 6c 6c 2d 63 6c 69 65 6e 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 13 23 | dg-shell-client-protocol.h"....# |
| 30200 | 69 6e 63 6c 75 64 65 20 22 63 6f 6e 66 69 67 2e 68 22 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c | include."config.h"....#include.< |
| 30220 | 64 69 72 65 6e 74 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 65 72 72 6e 6f 2e 68 3e 00 | dirent.h>....#include.<errno.h>. |
| 30240 | 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 66 63 6e 74 6c 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 | ...#include.<fcntl.h>....#includ |
| 30260 | 65 20 3c 70 6f 6c 6c 2e 68 3e 00 00 00 14 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 62 6f 6f 6c 2e | e.<poll.h>....#include.<stdbool. |
| 30280 | 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6e 74 2e 68 3e 00 00 00 12 23 69 6e | h>....#include.<stdint.h>....#in |
| 302a0 | 63 6c 75 64 65 20 3c 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 | clude.<stdio.h>....#include.<std |
| 302c0 | 6c 69 62 2e 68 3e 00 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 | lib.h>....#include.<string.h>... |
| 302e0 | 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 | .#include.<sys/mman.h>....#inclu |
| 30300 | 64 65 20 3c 73 79 73 2f 73 74 61 74 2e 68 3e 00 00 00 18 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 | de.<sys/stat.h>....#include.<sys |
| 30320 | 2f 74 69 6d 65 72 66 64 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 75 6e 69 73 74 64 2e | /timerfd.h>....#include.<unistd. |
| 30340 | 68 3e 00 00 00 1b 23 69 6e 63 6c 75 64 65 20 3c 77 61 79 6c 61 6e 64 2d 63 6c 69 65 6e 74 2e 68 | h>....#include.<wayland-client.h |
| 30360 | 3e 00 00 00 20 23 69 6e 63 6c 75 64 65 20 3c 78 6b 62 63 6f 6d 6d 6f 6e 2f 78 6b 62 63 6f 6d 6d | >....#include.<xkbcommon/xkbcomm |
| 30380 | 6f 6e 2e 68 3e 00 00 00 22 23 69 6e 63 6c 75 64 65 20 3c 66 6f 6e 74 63 6f 6e 66 69 67 2f 66 6f | on.h>..."#include.<fontconfig/fo |
| 303a0 | 6e 74 63 6f 6e 66 69 67 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 66 74 32 62 75 69 6c | ntconfig.h>....#include.<ft2buil |
| 303c0 | 64 2e 68 3e 00 00 00 16 23 69 6e 63 6c 75 64 65 20 46 54 5f 46 52 45 45 54 59 50 45 5f 48 00 00 | d.h>....#include.FT_FREETYPE_H.. |
| 303e0 | 00 00 00 00 00 19 23 64 65 66 69 6e 65 20 4d 41 58 5f 54 45 58 54 20 20 20 20 36 35 35 33 36 00 | ......#define.MAX_TEXT....65536. |
| 30400 | 00 00 18 23 64 65 66 69 6e 65 20 4d 41 58 5f 50 41 54 48 20 20 20 20 34 30 39 36 00 00 00 18 23 | ...#define.MAX_PATH....4096....# |
| 30420 | 64 65 66 69 6e 65 20 4d 41 58 5f 45 4e 54 52 49 45 53 20 34 30 39 36 00 00 00 16 23 64 65 66 69 | define.MAX_ENTRIES.4096....#defi |
| 30440 | 6e 65 20 42 41 52 5f 48 20 20 20 20 20 20 20 32 38 00 00 00 16 23 64 65 66 69 6e 65 20 42 54 4e | ne.BAR_H.......28....#define.BTN |
| 30460 | 5f 50 41 44 20 20 20 20 20 31 30 00 00 00 15 23 64 65 66 69 6e 65 20 50 41 44 20 20 20 20 20 20 | _PAD.....10....#define.PAD...... |
| 30480 | 20 20 20 38 00 00 00 00 00 00 00 1a 23 64 65 66 69 6e 65 20 42 47 5f 43 4f 4c 4f 52 20 20 20 20 | ...8........#define.BG_COLOR.... |
| 304a0 | 43 46 47 5f 42 47 00 00 00 1a 23 64 65 66 69 6e 65 20 46 47 5f 43 4f 4c 4f 52 20 20 20 20 43 46 | CFG_BG....#define.FG_COLOR....CF |
| 304c0 | 47 5f 46 47 00 00 00 1e 23 64 65 66 69 6e 65 20 43 55 52 5f 43 4f 4c 4f 52 20 20 20 43 46 47 5f | G_FG....#define.CUR_COLOR...CFG_ |
| 304e0 | 43 55 52 53 4f 52 00 00 00 1e 23 64 65 66 69 6e 65 20 53 45 4c 5f 43 4f 4c 4f 52 20 20 20 43 46 | CURSOR....#define.SEL_COLOR...CF |
| 30500 | 47 5f 53 45 4c 5f 42 47 00 00 00 1e 23 64 65 66 69 6e 65 20 53 45 4c 5f 46 47 20 20 20 20 20 20 | G_SEL_BG....#define.SEL_FG...... |
| 30520 | 43 46 47 5f 53 45 4c 5f 46 47 00 00 00 1e 23 64 65 66 69 6e 65 20 42 41 52 5f 42 47 20 20 20 20 | CFG_SEL_FG....#define.BAR_BG.... |
| 30540 | 20 20 43 46 47 5f 42 41 52 5f 42 47 00 00 00 1e 23 64 65 66 69 6e 65 20 42 41 52 5f 46 47 20 20 | ..CFG_BAR_BG....#define.BAR_FG.. |
| 30560 | 20 20 20 20 43 46 47 5f 42 41 52 5f 46 47 00 00 00 1f 23 64 65 66 69 6e 65 20 42 54 4e 5f 48 4f | ....CFG_BAR_FG....#define.BTN_HO |
| 30580 | 56 20 20 20 20 20 43 46 47 5f 42 54 4e 5f 48 4f 56 00 00 00 1f 23 64 65 66 69 6e 65 20 44 52 4f | V.....CFG_BTN_HOV....#define.DRO |
| 305a0 | 50 5f 42 47 20 20 20 20 20 43 46 47 5f 44 52 4f 50 5f 42 47 00 00 00 1f 23 64 65 66 69 6e 65 20 | P_BG.....CFG_DROP_BG....#define. |
| 305c0 | 44 52 4f 50 5f 46 47 20 20 20 20 20 43 46 47 5f 44 52 4f 50 5f 46 47 00 00 00 20 23 64 65 66 69 | DROP_FG.....CFG_DROP_FG....#defi |
| 305e0 | 6e 65 20 44 52 4f 50 5f 48 4f 56 20 20 20 20 43 46 47 5f 44 52 4f 50 5f 48 4f 56 00 00 00 23 23 | ne.DROP_HOV....CFG_DROP_HOV...## |
| 30600 | 64 65 66 69 6e 65 20 44 52 4f 50 5f 48 4f 56 5f 46 47 20 43 46 47 5f 44 52 4f 50 5f 48 4f 56 5f | define.DROP_HOV_FG.CFG_DROP_HOV_ |
| 30620 | 46 47 00 00 00 1b 23 64 65 66 69 6e 65 20 53 45 50 5f 43 4f 4c 4f 52 20 20 20 43 46 47 5f 53 45 | FG....#define.SEP_COLOR...CFG_SE |
| 30640 | 50 00 00 00 00 00 00 00 21 73 74 61 74 69 63 20 63 68 61 72 20 74 65 78 74 5b 4d 41 58 5f 54 45 | P.......!static.char.text[MAX_TE |
| 30660 | 58 54 5d 20 3d 20 7b 30 7d 3b 00 00 00 32 73 74 61 74 69 63 20 69 6e 74 20 20 74 6c 65 6e 20 3d | XT].=.{0};...2static.int..tlen.= |
| 30680 | 20 30 2c 20 63 75 72 73 6f 72 20 3d 20 30 2c 20 73 65 6c 5f 61 6e 63 68 6f 72 20 3d 20 2d 31 3b | .0,.cursor.=.0,.sel_anchor.=.-1; |
| 306a0 | 00 00 00 25 73 74 61 74 69 63 20 63 68 61 72 20 66 69 6c 65 70 61 74 68 5b 4d 41 58 5f 50 41 54 | ...%static.char.filepath[MAX_PAT |
| 306c0 | 48 5d 20 3d 20 7b 30 7d 3b 00 00 00 1a 73 74 61 74 69 63 20 62 6f 6f 6c 20 64 69 72 74 79 20 3d | H].=.{0};....static.bool.dirty.= |
| 306e0 | 20 66 61 6c 73 65 3b 00 00 00 00 00 00 00 19 73 74 61 74 69 63 20 46 54 5f 4c 69 62 72 61 72 79 | .false;........static.FT_Library |
| 30700 | 20 66 74 5f 6c 69 62 3b 00 00 00 1a 73 74 61 74 69 63 20 46 54 5f 46 61 63 65 20 20 20 20 66 74 | .ft_lib;....static.FT_Face....ft |
| 30720 | 5f 66 61 63 65 3b 00 00 00 40 73 74 61 74 69 63 20 69 6e 74 20 20 20 20 20 20 20 20 63 65 6c 6c | _face;...@static.int........cell |
| 30740 | 5f 77 2c 20 63 65 6c 6c 5f 68 2c 20 61 73 63 65 6e 64 65 72 2c 20 66 6f 6e 74 5f 70 74 20 3d 20 | _w,.cell_h,.ascender,.font_pt.=. |
| 30760 | 46 4f 4e 54 5f 53 49 5a 45 3b 00 00 00 00 00 00 00 3f 74 79 70 65 64 65 66 20 65 6e 75 6d 20 7b | FONT_SIZE;.......?typedef.enum.{ |
| 30780 | 20 4d 45 4e 55 5f 4e 4f 4e 45 3d 2d 31 2c 20 4d 45 4e 55 5f 46 49 4c 45 3d 30 2c 20 4d 45 4e 55 | .MENU_NONE=-1,.MENU_FILE=0,.MENU |
| 307a0 | 5f 49 4e 46 4f 3d 31 20 7d 20 4d 65 6e 75 49 64 3b 00 00 00 3f 74 79 70 65 64 65 66 20 73 74 72 | _INFO=1.}.MenuId;...?typedef.str |
| 307c0 | 75 63 74 20 7b 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6c 61 62 65 6c 3b 20 62 6f 6f 6c 20 73 65 | uct.{.const.char.*label;.bool.se |
| 307e0 | 70 5f 61 66 74 65 72 3b 20 7d 20 4d 65 6e 75 49 74 65 6d 3b 00 00 00 00 00 00 00 26 73 74 61 74 | p_after;.}.MenuItem;.......&stat |
| 30800 | 69 63 20 63 6f 6e 73 74 20 4d 65 6e 75 49 74 65 6d 20 66 69 6c 65 5f 69 74 65 6d 73 5b 5d 20 3d | ic.const.MenuItem.file_items[].= |
| 30820 | 20 7b 00 00 00 3f 20 20 7b 22 4e 65 77 22 2c 66 61 6c 73 65 7d 2c 7b 22 4f 70 65 6e 22 2c 66 61 | .{...?..{"New",false},{"Open",fa |
| 30840 | 6c 73 65 7d 2c 7b 22 53 61 76 65 22 2c 66 61 6c 73 65 7d 2c 7b 22 53 61 76 65 20 41 73 22 2c 74 | lse},{"Save",false},{"Save.As",t |
| 30860 | 72 75 65 7d 2c 00 00 00 29 20 20 7b 22 53 61 76 65 20 61 6e 64 20 51 75 69 74 22 2c 66 61 6c 73 | rue},...)..{"Save.and.Quit",fals |
| 30880 | 65 7d 2c 7b 22 51 75 69 74 22 2c 66 61 6c 73 65 7d 2c 00 00 00 02 7d 3b 00 00 00 39 73 74 61 74 | e},{"Quit",false},....};...9stat |
| 308a0 | 69 63 20 63 6f 6e 73 74 20 4d 65 6e 75 49 74 65 6d 20 69 6e 66 6f 5f 69 74 65 6d 73 5b 5d 20 3d | ic.const.MenuItem.info_items[].= |
| 308c0 | 20 7b 20 7b 22 41 62 6f 75 74 22 2c 66 61 6c 73 65 7d 20 7d 3b 00 00 00 3b 23 64 65 66 69 6e 65 | .{.{"About",false}.};...;#define |
| 308e0 | 20 4e 5f 46 49 4c 45 20 28 28 69 6e 74 29 28 73 69 7a 65 6f 66 20 66 69 6c 65 5f 69 74 65 6d 73 | .N_FILE.((int)(sizeof.file_items |
| 30900 | 2f 73 69 7a 65 6f 66 2a 66 69 6c 65 5f 69 74 65 6d 73 29 29 00 00 00 3b 23 64 65 66 69 6e 65 20 | /sizeof*file_items))...;#define. |
| 30920 | 4e 5f 49 4e 46 4f 20 28 28 69 6e 74 29 28 73 69 7a 65 6f 66 20 69 6e 66 6f 5f 69 74 65 6d 73 2f | N_INFO.((int)(sizeof.info_items/ |
| 30940 | 73 69 7a 65 6f 66 2a 69 6e 66 6f 5f 69 74 65 6d 73 29 29 00 00 00 00 00 00 00 29 74 79 70 65 64 | sizeof*info_items)).......)typed |
| 30960 | 65 66 20 65 6e 75 6d 20 7b 20 46 50 5f 4f 50 45 4e 2c 20 46 50 5f 53 41 56 45 20 7d 20 46 70 4d | ef.enum.{.FP_OPEN,.FP_SAVE.}.FpM |
| 30980 | 6f 64 65 3b 00 00 00 39 74 79 70 65 64 65 66 20 73 74 72 75 63 74 20 7b 20 63 68 61 72 20 6e 61 | ode;...9typedef.struct.{.char.na |
| 309a0 | 6d 65 5b 32 35 36 5d 3b 20 62 6f 6f 6c 20 69 73 5f 64 69 72 3b 20 7d 20 44 69 72 45 6e 74 72 79 | me[256];.bool.is_dir;.}.DirEntry |
| 309c0 | 3b 00 00 00 00 00 00 00 10 74 79 70 65 64 65 66 20 73 74 72 75 63 74 20 7b 00 00 00 1a 20 20 73 | ;........typedef.struct.{......s |
| 309e0 | 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 20 20 2a 77 73 3b 00 00 00 1a 20 20 73 74 72 | truct.wl_surface...*ws;......str |
| 30a00 | 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 20 2a 78 73 3b 00 00 00 1a 20 20 73 74 72 75 63 | uct.xdg_surface..*xs;......struc |
| 30a20 | 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 3b 00 00 00 0f 20 20 76 6f 69 64 20 2a 70 | t.xdg_toplevel.*xt;......void.*p |
| 30a40 | 69 78 65 6c 73 3b 00 00 00 15 20 20 73 69 7a 65 5f 74 20 70 69 78 65 6c 73 5f 73 69 7a 65 3b 00 | ixels;......size_t.pixels_size;. |
| 30a60 | 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 3b 00 00 00 18 20 | .....struct.wl_buffer.*buf;..... |
| 30a80 | 20 62 6f 6f 6c 20 6f 70 65 6e 2c 20 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 0e 20 20 46 70 4d | .bool.open,.configured;......FpM |
| 30aa0 | 6f 64 65 20 6d 6f 64 65 3b 00 00 00 12 20 20 62 6f 6f 6c 20 71 75 69 74 5f 61 66 74 65 72 3b 00 | ode.mode;......bool.quit_after;. |
| 30ac0 | 00 00 15 20 20 63 68 61 72 20 63 77 64 5b 4d 41 58 5f 50 41 54 48 5d 3b 00 00 00 17 20 20 63 68 | .....char.cwd[MAX_PATH];......ch |
| 30ae0 | 61 72 20 69 6e 70 75 74 5b 4d 41 58 5f 50 41 54 48 5d 3b 00 00 00 1c 20 20 69 6e 74 20 20 69 6e | ar.input[MAX_PATH];......int..in |
| 30b00 | 70 75 74 5f 6c 65 6e 2c 20 69 6e 70 75 74 5f 63 75 72 3b 00 00 00 14 20 20 44 69 72 45 6e 74 72 | put_len,.input_cur;......DirEntr |
| 30b20 | 79 20 2a 65 6e 74 72 69 65 73 3b 00 00 00 2a 20 20 69 6e 74 20 6e 65 6e 74 72 69 65 73 2c 20 73 | y.*entries;...*..int.nentries,.s |
| 30b40 | 65 6c 65 63 74 65 64 2c 20 73 63 72 6f 6c 6c 2c 20 68 6f 76 65 72 65 64 3b 00 00 00 0d 20 20 69 | elected,.scroll,.hovered;......i |
| 30b60 | 6e 74 20 6d 78 2c 20 6d 79 3b 00 00 00 0b 20 20 69 6e 74 20 77 2c 20 68 3b 00 00 00 05 7d 20 46 | nt.mx,.my;......int.w,.h;....}.F |
| 30b80 | 50 3b 00 00 00 00 00 00 00 10 74 79 70 65 64 65 66 20 73 74 72 75 63 74 20 7b 00 00 00 1a 20 20 | P;........typedef.struct.{...... |
| 30ba0 | 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 20 20 2a 77 73 3b 00 00 00 1a 20 20 73 74 | struct.wl_surface...*ws;......st |
| 30bc0 | 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 20 2a 78 73 3b 00 00 00 1a 20 20 73 74 72 75 | ruct.xdg_surface..*xs;......stru |
| 30be0 | 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 3b 00 00 00 0f 20 20 76 6f 69 64 20 2a | ct.xdg_toplevel.*xt;......void.* |
| 30c00 | 70 69 78 65 6c 73 3b 00 00 00 15 20 20 73 69 7a 65 5f 74 20 70 69 78 65 6c 73 5f 73 69 7a 65 3b | pixels;......size_t.pixels_size; |
| 30c20 | 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 3b 00 00 00 0b | ......struct.wl_buffer.*buf;.... |
| 30c40 | 20 20 69 6e 74 20 77 2c 20 68 3b 00 00 00 18 20 20 62 6f 6f 6c 20 6f 70 65 6e 2c 20 63 6f 6e 66 | ..int.w,.h;......bool.open,.conf |
| 30c60 | 69 67 75 72 65 64 3b 00 00 00 08 7d 20 50 6f 70 75 70 3b 00 00 00 00 00 00 00 0c 73 74 72 75 63 | igured;....}.Popup;........struc |
| 30c80 | 74 20 61 70 70 20 7b 00 00 00 23 20 20 73 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 20 20 | t.app.{...#..struct.wl_display.. |
| 30ca0 | 20 20 20 20 20 20 20 20 20 20 20 2a 64 3b 00 00 00 25 20 20 73 74 72 75 63 74 20 77 6c 5f 72 65 | ...........*d;...%..struct.wl_re |
| 30cc0 | 67 69 73 74 72 79 20 20 20 20 20 20 20 20 20 20 20 20 2a 72 65 67 3b 00 00 00 26 20 20 73 74 72 | gistry............*reg;...&..str |
| 30ce0 | 75 63 74 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 20 20 20 20 20 20 20 20 20 20 2a 63 6f 6d 70 | uct.wl_compositor..........*comp |
| 30d00 | 3b 00 00 00 25 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 20 20 20 20 20 20 20 20 20 20 20 | ;...%..struct.wl_shm............ |
| 30d20 | 20 20 20 20 20 2a 73 68 6d 3b 00 00 00 24 20 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 | .....*shm;...$..struct.xdg_wm_ba |
| 30d40 | 73 65 20 20 20 20 20 20 20 20 20 20 20 20 2a 77 6d 3b 00 00 00 24 20 20 73 74 72 75 63 74 20 77 | se............*wm;...$..struct.w |
| 30d60 | 6c 5f 73 75 72 66 61 63 65 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 77 73 3b 00 00 00 24 20 20 | l_surface.............*ws;...$.. |
| 30d80 | 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 20 20 20 20 20 20 20 20 20 20 20 2a 78 | struct.xdg_surface............*x |
| 30da0 | 73 3b 00 00 00 24 20 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 20 20 20 20 | s;...$..struct.xdg_toplevel..... |
| 30dc0 | 20 20 20 20 20 20 2a 78 74 3b 00 00 00 26 20 20 73 74 72 75 63 74 20 77 6c 5f 73 65 61 74 20 20 | ......*xt;...&..struct.wl_seat.. |
| 30de0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 73 65 61 74 3b 00 00 00 2a 20 20 73 74 72 75 63 74 | ..............*seat;...*..struct |
| 30e00 | 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 20 20 20 20 20 20 20 20 20 20 20 2a 6b 65 79 62 6f 61 72 | .wl_keyboard............*keyboar |
| 30e20 | 64 3b 00 00 00 29 20 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 20 20 20 20 20 20 | d;...)..struct.wl_pointer....... |
| 30e40 | 20 20 20 20 20 20 2a 70 6f 69 6e 74 65 72 3b 00 00 00 25 20 20 73 74 72 75 63 74 20 77 6c 5f 64 | ......*pointer;...%..struct.wl_d |
| 30e60 | 61 74 61 5f 64 65 76 69 63 65 5f 6d 61 6e 61 67 65 72 20 2a 64 64 6d 3b 00 00 00 24 20 20 73 74 | ata_device_manager.*ddm;...$..st |
| 30e80 | 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 20 20 20 20 20 20 20 20 20 2a 64 64 3b | ruct.wl_data_device.........*dd; |
| 30ea0 | 00 00 00 24 20 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 20 20 20 20 20 | ...$..struct.wl_data_source..... |
| 30ec0 | 20 20 20 20 2a 64 73 3b 00 00 00 0f 20 20 76 6f 69 64 20 2a 70 69 78 65 6c 73 3b 00 00 00 15 20 | ....*ds;......void.*pixels;..... |
| 30ee0 | 20 73 69 7a 65 5f 74 20 70 69 78 65 6c 73 5f 73 69 7a 65 3b 00 00 00 18 20 20 73 74 72 75 63 74 | .size_t.pixels_size;......struct |
| 30f00 | 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 3b 00 00 00 21 20 20 69 6e 74 20 77 2c 20 68 2c 20 | .wl_buffer.*buf;...!..int.w,.h,. |
| 30f20 | 70 65 6e 64 69 6e 67 5f 77 2c 20 70 65 6e 64 69 6e 67 5f 68 3b 00 00 00 12 20 20 62 6f 6f 6c 20 | pending_w,.pending_h;......bool. |
| 30f40 | 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 1e 20 20 73 74 72 75 63 74 20 78 6b 62 5f 63 6f 6e 74 | configured;......struct.xkb_cont |
| 30f60 | 65 78 74 20 2a 78 6b 62 5f 63 74 78 3b 00 00 00 21 20 20 73 74 72 75 63 74 20 78 6b 62 5f 6b 65 | ext.*xkb_ctx;...!..struct.xkb_ke |
| 30f80 | 79 6d 61 70 20 20 2a 78 6b 62 5f 6b 65 79 6d 61 70 3b 00 00 00 20 20 20 73 74 72 75 63 74 20 78 | ymap..*xkb_keymap;......struct.x |
| 30fa0 | 6b 62 5f 73 74 61 74 65 20 20 20 2a 78 6b 62 5f 73 74 61 74 65 3b 00 00 00 10 20 20 69 6e 74 20 | kb_state...*xkb_state;......int. |
| 30fc0 | 72 65 70 65 61 74 5f 66 64 3b 00 00 00 16 20 20 75 69 6e 74 33 32 5f 74 20 72 65 70 65 61 74 5f | repeat_fd;......uint32_t.repeat_ |
| 30fe0 | 6b 65 79 3b 00 00 00 24 20 20 69 6e 74 33 32 5f 74 20 72 65 70 65 61 74 5f 72 61 74 65 2c 20 72 | key;...$..int32_t.repeat_rate,.r |
| 31000 | 65 70 65 61 74 5f 64 65 6c 61 79 3b 00 00 00 1b 20 20 63 68 61 72 20 63 6c 69 70 62 6f 61 72 64 | epeat_delay;......char.clipboard |
| 31020 | 5b 4d 41 58 5f 54 45 58 54 5d 3b 00 00 00 14 20 20 69 6e 74 20 63 6c 69 70 62 6f 61 72 64 5f 6c | [MAX_TEXT];......int.clipboard_l |
| 31040 | 65 6e 3b 00 00 00 17 20 20 75 69 6e 74 33 32 5f 74 20 6c 61 73 74 5f 73 65 72 69 61 6c 3b 00 00 | en;......uint32_t.last_serial;.. |
| 31060 | 00 0d 20 20 69 6e 74 20 6d 78 2c 20 6d 79 3b 00 00 00 13 20 20 4d 65 6e 75 49 64 20 6f 70 65 6e | ....int.mx,.my;......MenuId.open |
| 31080 | 5f 6d 65 6e 75 3b 00 00 00 13 20 20 69 6e 74 20 68 6f 76 65 72 65 64 5f 69 74 65 6d 3b 00 00 00 | _menu;......int.hovered_item;... |
| 310a0 | 1e 20 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 70 74 72 5f 73 75 72 66 3b 00 | ...struct.wl_surface.*ptr_surf;. |
| 310c0 | 00 00 0c 20 20 46 50 20 20 20 20 20 66 70 3b 00 00 00 0f 20 20 50 6f 70 75 70 20 20 61 62 6f 75 | .....FP.....fp;......Popup..abou |
| 310e0 | 74 3b 00 00 00 02 7d 3b 00 00 00 00 00 00 00 27 73 74 61 74 69 63 20 76 6f 69 64 20 75 70 64 61 | t;....};.......'static.void.upda |
| 31100 | 74 65 5f 66 6f 6e 74 5f 6d 65 74 72 69 63 73 28 76 6f 69 64 29 20 7b 00 00 00 33 20 20 46 54 5f | te_font_metrics(void).{...3..FT_ |
| 31120 | 53 65 74 5f 43 68 61 72 5f 53 69 7a 65 28 66 74 5f 66 61 63 65 2c 20 30 2c 20 66 6f 6e 74 5f 70 | Set_Char_Size(ft_face,.0,.font_p |
| 31140 | 74 2a 36 34 2c 20 39 36 2c 20 39 36 29 3b 00 00 00 33 20 20 46 54 5f 4c 6f 61 64 5f 43 68 61 72 | t*64,.96,.96);...3..FT_Load_Char |
| 31160 | 28 66 74 5f 66 61 63 65 2c 20 27 30 27 2c 20 46 54 5f 4c 4f 41 44 5f 41 44 56 41 4e 43 45 5f 4f | (ft_face,.'0',.FT_LOAD_ADVANCE_O |
| 31180 | 4e 4c 59 29 3b 00 00 00 36 20 20 63 65 6c 6c 5f 77 20 20 20 3d 20 28 69 6e 74 29 28 28 66 74 5f | NLY);...6..cell_w...=.(int)((ft_ |
| 311a0 | 66 61 63 65 2d 3e 67 6c 79 70 68 2d 3e 61 64 76 61 6e 63 65 2e 78 2b 33 32 29 3e 3e 36 29 3b 00 | face->glyph->advance.x+32)>>6);. |
| 311c0 | 00 00 37 20 20 61 73 63 65 6e 64 65 72 20 3d 20 28 69 6e 74 29 28 66 74 5f 66 61 63 65 2d 3e 73 | ..7..ascender.=.(int)(ft_face->s |
| 311e0 | 69 7a 65 2d 3e 6d 65 74 72 69 63 73 2e 61 73 63 65 6e 64 65 72 3e 3e 36 29 3b 00 00 00 47 20 20 | ize->metrics.ascender>>6);...G.. |
| 31200 | 63 65 6c 6c 5f 68 20 20 20 3d 20 61 73 63 65 6e 64 65 72 2b 28 69 6e 74 29 28 28 2d 66 74 5f 66 | cell_h...=.ascender+(int)((-ft_f |
| 31220 | 61 63 65 2d 3e 73 69 7a 65 2d 3e 6d 65 74 72 69 63 73 2e 64 65 73 63 65 6e 64 65 72 2b 36 33 29 | ace->size->metrics.descender+63) |
| 31240 | 3e 3e 36 29 3b 00 00 00 19 20 20 69 66 20 28 63 65 6c 6c 5f 77 3c 31 29 20 63 65 6c 6c 5f 77 3d | >>6);......if.(cell_w<1).cell_w= |
| 31260 | 31 3b 00 00 00 19 20 20 69 66 20 28 63 65 6c 6c 5f 68 3c 31 29 20 63 65 6c 6c 5f 68 3d 31 3b 00 | 1;......if.(cell_h<1).cell_h=1;. |
| 31280 | 00 00 01 7d 00 00 00 00 00 00 00 1d 73 74 61 74 69 63 20 62 6f 6f 6c 20 6c 6f 61 64 5f 66 6f 6e | ...}........static.bool.load_fon |
| 312a0 | 74 28 76 6f 69 64 29 20 7b 00 00 00 0b 20 20 46 63 49 6e 69 74 28 29 3b 00 00 00 32 20 20 46 63 | t(void).{......FcInit();...2..Fc |
| 312c0 | 50 61 74 74 65 72 6e 20 2a 70 61 74 3d 46 63 4e 61 6d 65 50 61 72 73 65 28 28 46 63 43 68 61 72 | Pattern.*pat=FcNameParse((FcChar |
| 312e0 | 38 2a 29 46 4f 4e 54 5f 4e 41 4d 45 29 3b 00 00 00 2e 20 20 46 63 43 6f 6e 66 69 67 53 75 62 73 | 8*)FONT_NAME);......FcConfigSubs |
| 31300 | 74 69 74 75 74 65 28 4e 55 4c 4c 2c 70 61 74 2c 46 63 4d 61 74 63 68 50 61 74 74 65 72 6e 29 3b | titute(NULL,pat,FcMatchPattern); |
| 31320 | 00 00 00 1b 20 20 46 63 44 65 66 61 75 6c 74 53 75 62 73 74 69 74 75 74 65 28 70 61 74 29 3b 00 | ......FcDefaultSubstitute(pat);. |
| 31340 | 00 00 0f 20 20 46 63 52 65 73 75 6c 74 20 72 65 73 3b 00 00 00 2e 20 20 46 63 50 61 74 74 65 72 | .....FcResult.res;......FcPatter |
| 31360 | 6e 20 2a 6d 61 74 63 68 3d 46 63 46 6f 6e 74 4d 61 74 63 68 28 4e 55 4c 4c 2c 70 61 74 2c 26 72 | n.*match=FcFontMatch(NULL,pat,&r |
| 31380 | 65 73 29 3b 00 00 00 18 20 20 46 63 50 61 74 74 65 72 6e 44 65 73 74 72 6f 79 28 70 61 74 29 3b | es);......FcPatternDestroy(pat); |
| 313a0 | 00 00 00 1b 20 20 69 66 20 28 21 6d 61 74 63 68 29 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 00 | ......if.(!match).return.false;. |
| 313c0 | 00 00 15 20 20 46 63 43 68 61 72 38 20 2a 70 61 74 68 3d 4e 55 4c 4c 3b 00 00 00 66 20 20 69 66 | .....FcChar8.*path=NULL;...f..if |
| 313e0 | 20 28 46 63 50 61 74 74 65 72 6e 47 65 74 53 74 72 69 6e 67 28 6d 61 74 63 68 2c 46 43 5f 46 49 | .(FcPatternGetString(match,FC_FI |
| 31400 | 4c 45 2c 30 2c 26 70 61 74 68 29 21 3d 46 63 52 65 73 75 6c 74 4d 61 74 63 68 29 7b 46 63 50 61 | LE,0,&path)!=FcResultMatch){FcPa |
| 31420 | 74 74 65 72 6e 44 65 73 74 72 6f 79 28 6d 61 74 63 68 29 3b 72 65 74 75 72 6e 20 66 61 6c 73 65 | tternDestroy(match);return.false |
| 31440 | 3b 7d 00 00 00 47 20 20 69 66 20 28 46 54 5f 49 6e 69 74 5f 46 72 65 65 54 79 70 65 28 26 66 74 | ;}...G..if.(FT_Init_FreeType(&ft |
| 31460 | 5f 6c 69 62 29 29 7b 46 63 50 61 74 74 65 72 6e 44 65 73 74 72 6f 79 28 6d 61 74 63 68 29 3b 72 | _lib)){FcPatternDestroy(match);r |
| 31480 | 65 74 75 72 6e 20 66 61 6c 73 65 3b 7d 00 00 00 5e 20 20 69 66 20 28 46 54 5f 4e 65 77 5f 46 61 | eturn.false;}...^..if.(FT_New_Fa |
| 314a0 | 63 65 28 66 74 5f 6c 69 62 2c 28 63 6f 6e 73 74 20 63 68 61 72 2a 29 70 61 74 68 2c 30 2c 26 66 | ce(ft_lib,(const.char*)path,0,&f |
| 314c0 | 74 5f 66 61 63 65 29 29 7b 46 63 50 61 74 74 65 72 6e 44 65 73 74 72 6f 79 28 6d 61 74 63 68 29 | t_face)){FcPatternDestroy(match) |
| 314e0 | 3b 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 7d 00 00 00 1a 20 20 46 63 50 61 74 74 65 72 6e 44 65 | ;return.false;}......FcPatternDe |
| 31500 | 73 74 72 6f 79 28 6d 61 74 63 68 29 3b 00 00 00 18 20 20 75 70 64 61 74 65 5f 66 6f 6e 74 5f 6d | stroy(match);......update_font_m |
| 31520 | 65 74 72 69 63 73 28 29 3b 00 00 00 0e 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 00 00 00 01 7d | etrics();......return.true;....} |
| 31540 | 00 00 00 00 00 00 00 40 73 74 61 74 69 63 20 76 6f 69 64 20 70 73 65 74 28 76 6f 69 64 20 2a 70 | .......@static.void.pset(void.*p |
| 31560 | 78 2c 69 6e 74 20 70 77 2c 69 6e 74 20 70 68 2c 69 6e 74 20 78 2c 69 6e 74 20 79 2c 75 69 6e 74 | x,int.pw,int.ph,int.x,int.y,uint |
| 31580 | 33 32 5f 74 20 63 29 7b 00 00 00 37 20 20 69 66 28 78 3e 3d 30 26 26 79 3e 3d 30 26 26 78 3c 70 | 32_t.c){...7..if(x>=0&&y>=0&&x<p |
| 315a0 | 77 26 26 79 3c 70 68 29 20 28 28 75 69 6e 74 33 32 5f 74 2a 29 70 78 29 5b 79 2a 70 77 2b 78 5d | w&&y<ph).((uint32_t*)px)[y*pw+x] |
| 315c0 | 3d 63 3b 00 00 00 01 7d 00 00 00 4d 73 74 61 74 69 63 20 76 6f 69 64 20 66 72 65 63 74 28 76 6f | =c;....}...Mstatic.void.frect(vo |
| 315e0 | 69 64 20 2a 70 78 2c 69 6e 74 20 70 77 2c 69 6e 74 20 70 68 2c 69 6e 74 20 78 2c 69 6e 74 20 79 | id.*px,int.pw,int.ph,int.x,int.y |
| 31600 | 2c 69 6e 74 20 77 2c 69 6e 74 20 68 2c 75 69 6e 74 33 32 5f 74 20 63 29 7b 00 00 00 4d 20 20 66 | ,int.w,int.h,uint32_t.c){...M..f |
| 31620 | 6f 72 28 69 6e 74 20 64 79 3d 30 3b 64 79 3c 68 3b 64 79 2b 2b 29 20 66 6f 72 28 69 6e 74 20 64 | or(int.dy=0;dy<h;dy++).for(int.d |
| 31640 | 78 3d 30 3b 64 78 3c 77 3b 64 78 2b 2b 29 20 70 73 65 74 28 70 78 2c 70 77 2c 70 68 2c 78 2b 64 | x=0;dx<w;dx++).pset(px,pw,ph,x+d |
| 31660 | 78 2c 79 2b 64 79 2c 63 29 3b 00 00 00 01 7d 00 00 00 4b 73 74 61 74 69 63 20 76 6f 69 64 20 62 | x,y+dy,c);....}...Kstatic.void.b |
| 31680 | 70 69 78 28 76 6f 69 64 20 2a 70 78 2c 69 6e 74 20 70 77 2c 69 6e 74 20 70 68 2c 69 6e 74 20 78 | pix(void.*px,int.pw,int.ph,int.x |
| 316a0 | 2c 69 6e 74 20 79 2c 75 69 6e 74 33 32 5f 74 20 66 67 2c 75 69 6e 74 38 5f 74 20 61 29 7b 00 00 | ,int.y,uint32_t.fg,uint8_t.a){.. |
| 316c0 | 00 24 20 20 69 66 28 78 3c 30 7c 7c 79 3c 30 7c 7c 78 3e 3d 70 77 7c 7c 79 3e 3d 70 68 29 20 72 | .$..if(x<0||y<0||x>=pw||y>=ph).r |
| 316e0 | 65 74 75 72 6e 3b 00 00 00 32 20 20 75 69 6e 74 33 32 5f 74 20 2a 64 73 74 3d 26 28 28 75 69 6e | eturn;...2..uint32_t.*dst=&((uin |
| 31700 | 74 33 32 5f 74 2a 29 70 78 29 5b 79 2a 70 77 2b 78 5d 2c 20 62 67 3d 2a 64 73 74 3b 00 00 00 39 | t32_t*)px)[y*pw+x],.bg=*dst;...9 |
| 31720 | 20 20 75 69 6e 74 33 32 5f 74 20 72 3d 28 28 66 67 3e 3e 31 36 26 30 78 46 46 29 2a 61 2b 28 62 | ..uint32_t.r=((fg>>16&0xFF)*a+(b |
| 31740 | 67 3e 3e 31 36 26 30 78 46 46 29 2a 28 32 35 35 2d 61 29 29 2f 32 35 35 3b 00 00 00 39 20 20 75 | g>>16&0xFF)*(255-a))/255;...9..u |
| 31760 | 69 6e 74 33 32 5f 74 20 67 3d 28 28 66 67 3e 3e 20 38 26 30 78 46 46 29 2a 61 2b 28 62 67 3e 3e | int32_t.g=((fg>>.8&0xFF)*a+(bg>> |
| 31780 | 20 38 26 30 78 46 46 29 2a 28 32 35 35 2d 61 29 29 2f 32 35 35 3b 00 00 00 39 20 20 75 69 6e 74 | .8&0xFF)*(255-a))/255;...9..uint |
| 317a0 | 33 32 5f 74 20 62 3d 28 28 66 67 20 20 20 20 26 30 78 46 46 29 2a 61 2b 28 62 67 20 20 20 20 26 | 32_t.b=((fg....&0xFF)*a+(bg....& |
| 317c0 | 30 78 46 46 29 2a 28 32 35 35 2d 61 29 29 2f 32 35 35 3b 00 00 00 23 20 20 2a 64 73 74 3d 30 78 | 0xFF)*(255-a))/255;...#..*dst=0x |
| 317e0 | 46 46 30 30 30 30 30 30 7c 28 72 3c 3c 31 36 29 7c 28 67 3c 3c 38 29 7c 62 3b 00 00 00 01 7d 00 | FF000000|(r<<16)|(g<<8)|b;....}. |
| 31800 | 00 00 52 73 74 61 74 69 63 20 76 6f 69 64 20 64 67 6c 79 70 68 28 76 6f 69 64 20 2a 70 78 2c 69 | ..Rstatic.void.dglyph(void.*px,i |
| 31820 | 6e 74 20 70 77 2c 69 6e 74 20 70 68 2c 69 6e 74 20 63 78 2c 69 6e 74 20 63 79 2c 75 69 6e 74 33 | nt.pw,int.ph,int.cx,int.cy,uint3 |
| 31840 | 32 5f 74 20 63 70 2c 75 69 6e 74 33 32 5f 74 20 63 6f 6c 29 7b 00 00 00 2a 20 20 46 54 5f 4c 6f | 2_t.cp,uint32_t.col){...*..FT_Lo |
| 31860 | 61 64 5f 43 68 61 72 28 66 74 5f 66 61 63 65 2c 63 70 2c 46 54 5f 4c 4f 41 44 5f 52 45 4e 44 45 | ad_Char(ft_face,cp,FT_LOAD_RENDE |
| 31880 | 52 29 3b 00 00 00 20 20 20 46 54 5f 47 6c 79 70 68 53 6c 6f 74 20 73 3d 66 74 5f 66 61 63 65 2d | R);......FT_GlyphSlot.s=ft_face- |
| 318a0 | 3e 67 6c 79 70 68 3b 00 00 00 1b 20 20 46 54 5f 42 69 74 6d 61 70 20 2a 62 6d 3d 26 73 2d 3e 62 | >glyph;......FT_Bitmap.*bm=&s->b |
| 318c0 | 69 74 6d 61 70 3b 00 00 00 36 20 20 69 6e 74 20 6f 78 3d 73 2d 3e 62 69 74 6d 61 70 5f 6c 65 66 | itmap;...6..int.ox=s->bitmap_lef |
| 318e0 | 74 2c 20 6f 79 3d 63 79 2b 61 73 63 65 6e 64 65 72 2d 73 2d 3e 62 69 74 6d 61 70 5f 74 6f 70 3b | t,.oy=cy+ascender-s->bitmap_top; |
| 31900 | 00 00 00 28 20 20 66 6f 72 28 69 6e 74 20 72 6f 77 3d 30 3b 72 6f 77 3c 28 69 6e 74 29 62 6d 2d | ...(..for(int.row=0;row<(int)bm- |
| 31920 | 3e 72 6f 77 73 3b 72 6f 77 2b 2b 29 00 00 00 29 20 20 20 20 66 6f 72 28 69 6e 74 20 63 32 3d 30 | >rows;row++)...)....for(int.c2=0 |
| 31940 | 3b 63 32 3c 28 69 6e 74 29 62 6d 2d 3e 77 69 64 74 68 3b 63 32 2b 2b 29 7b 00 00 00 2e 20 20 20 | ;c2<(int)bm->width;c2++){....... |
| 31960 | 20 20 20 75 69 6e 74 38 5f 74 20 61 76 3d 62 6d 2d 3e 62 75 66 66 65 72 5b 72 6f 77 2a 62 6d 2d | ...uint8_t.av=bm->buffer[row*bm- |
| 31980 | 3e 70 69 74 63 68 2b 63 32 5d 3b 00 00 00 33 20 20 20 20 20 20 69 66 28 61 76 29 20 62 70 69 78 | >pitch+c2];...3......if(av).bpix |
| 319a0 | 28 70 78 2c 70 77 2c 70 68 2c 63 78 2b 6f 78 2b 63 32 2c 6f 79 2b 72 6f 77 2c 63 6f 6c 2c 61 76 | (px,pw,ph,cx+ox+c2,oy+row,col,av |
| 319c0 | 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 50 73 74 61 74 69 63 20 76 6f 69 64 20 | );........}....}...Pstatic.void. |
| 319e0 | 64 73 74 72 28 76 6f 69 64 20 2a 70 78 2c 69 6e 74 20 70 77 2c 69 6e 74 20 70 68 2c 69 6e 74 20 | dstr(void.*px,int.pw,int.ph,int. |
| 31a00 | 78 2c 69 6e 74 20 79 2c 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 2c 75 69 6e 74 33 32 5f 74 20 63 | x,int.y,const.char.*s,uint32_t.c |
| 31a20 | 6f 6c 29 7b 00 00 00 44 20 20 66 6f 72 28 3b 2a 73 3b 73 2b 2b 2c 78 2b 3d 63 65 6c 6c 5f 77 29 | ol){...D..for(;*s;s++,x+=cell_w) |
| 31a40 | 20 64 67 6c 79 70 68 28 70 78 2c 70 77 2c 70 68 2c 78 2c 79 2c 28 75 6e 73 69 67 6e 65 64 20 63 | .dglyph(px,pw,ph,x,y,(unsigned.c |
| 31a60 | 68 61 72 29 2a 73 2c 63 6f 6c 29 3b 00 00 00 01 7d 00 00 00 57 73 74 61 74 69 63 20 76 6f 69 64 | har)*s,col);....}...Wstatic.void |
| 31a80 | 20 64 73 74 72 6e 28 76 6f 69 64 20 2a 70 78 2c 69 6e 74 20 70 77 2c 69 6e 74 20 70 68 2c 69 6e | .dstrn(void.*px,int.pw,int.ph,in |
| 31aa0 | 74 20 78 2c 69 6e 74 20 79 2c 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 2c 69 6e 74 20 6e 2c 75 69 | t.x,int.y,const.char.*s,int.n,ui |
| 31ac0 | 6e 74 33 32 5f 74 20 63 6f 6c 29 7b 00 00 00 54 20 20 66 6f 72 28 69 6e 74 20 69 3d 30 3b 69 3c | nt32_t.col){...T..for(int.i=0;i< |
| 31ae0 | 6e 26 26 73 5b 69 5d 3b 69 2b 2b 2c 78 2b 3d 63 65 6c 6c 5f 77 29 20 64 67 6c 79 70 68 28 70 78 | n&&s[i];i++,x+=cell_w).dglyph(px |
| 31b00 | 2c 70 77 2c 70 68 2c 78 2c 79 2c 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 29 73 5b 69 5d 2c 63 | ,pw,ph,x,y,(unsigned.char)s[i],c |
| 31b20 | 6f 6c 29 3b 00 00 00 01 7d 00 00 00 3c 73 74 61 74 69 63 20 69 6e 74 20 73 70 77 28 63 6f 6e 73 | ol);....}...<static.int.spw(cons |
| 31b40 | 74 20 63 68 61 72 20 2a 73 29 7b 72 65 74 75 72 6e 20 28 69 6e 74 29 73 74 72 6c 65 6e 28 73 29 | t.char.*s){return.(int)strlen(s) |
| 31b60 | 2a 63 65 6c 6c 5f 77 3b 7d 00 00 00 00 00 00 00 53 73 74 61 74 69 63 20 76 6f 69 64 20 2a 6d 61 | *cell_w;}.......Sstatic.void.*ma |
| 31b80 | 6b 65 5f 73 68 6d 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 2c 69 6e 74 20 77 2c 69 6e 74 20 68 | ke_shm(struct.app.*a,int.w,int.h |
| 31ba0 | 2c 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 2a 6f 62 2c 73 69 7a 65 5f 74 20 2a 6f | ,struct.wl_buffer.**ob,size_t.*o |
| 31bc0 | 73 7a 29 7b 00 00 00 1a 20 20 73 69 7a 65 5f 74 20 73 7a 3d 28 73 69 7a 65 5f 74 29 77 2a 68 2a | sz){......size_t.sz=(size_t)w*h* |
| 31be0 | 34 3b 00 00 00 21 20 20 63 68 61 72 20 74 5b 5d 3d 22 2f 74 6d 70 2f 77 61 79 6c 61 6e 64 2d 58 | 4;...!..char.t[]="/tmp/wayland-X |
| 31c00 | 58 58 58 58 58 22 3b 00 00 00 1f 20 20 69 6e 74 20 66 64 3d 6d 6b 73 74 65 6d 70 28 74 29 3b 20 | XXXXX";......int.fd=mkstemp(t);. |
| 31c20 | 75 6e 6c 69 6e 6b 28 74 29 3b 00 00 00 36 20 20 69 66 28 66 64 3c 30 7c 7c 66 74 72 75 6e 63 61 | unlink(t);...6..if(fd<0||ftrunca |
| 31c40 | 74 65 28 66 64 2c 73 7a 29 3c 30 29 7b 70 65 72 72 6f 72 28 22 73 68 6d 22 29 3b 65 78 69 74 28 | te(fd,sz)<0){perror("shm");exit( |
| 31c60 | 31 29 3b 7d 00 00 00 3e 20 20 76 6f 69 64 20 2a 70 78 3d 6d 6d 61 70 28 4e 55 4c 4c 2c 73 7a 2c | 1);}...>..void.*px=mmap(NULL,sz, |
| 31c80 | 50 52 4f 54 5f 52 45 41 44 7c 50 52 4f 54 5f 57 52 49 54 45 2c 4d 41 50 5f 53 48 41 52 45 44 2c | PROT_READ|PROT_WRITE,MAP_SHARED, |
| 31ca0 | 66 64 2c 30 29 3b 00 00 00 2d 20 20 69 66 28 70 78 3d 3d 4d 41 50 5f 46 41 49 4c 45 44 29 7b 70 | fd,0);...-..if(px==MAP_FAILED){p |
| 31cc0 | 65 72 72 6f 72 28 22 6d 6d 61 70 22 29 3b 65 78 69 74 28 31 29 3b 7d 00 00 00 3c 20 20 73 74 72 | error("mmap");exit(1);}...<..str |
| 31ce0 | 75 63 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 3d 77 6c 5f 73 68 6d 5f 63 72 65 | uct.wl_shm_pool.*pool=wl_shm_cre |
| 31d00 | 61 74 65 5f 70 6f 6f 6c 28 61 2d 3e 73 68 6d 2c 66 64 2c 73 7a 29 3b 00 00 00 47 20 20 2a 6f 62 | ate_pool(a->shm,fd,sz);...G..*ob |
| 31d20 | 3d 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c | =wl_shm_pool_create_buffer(pool, |
| 31d40 | 30 2c 77 2c 68 2c 77 2a 34 2c 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 | 0,w,h,w*4,WL_SHM_FORMAT_ARGB8888 |
| 31d60 | 29 3b 00 00 00 27 20 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 64 65 73 74 72 6f 79 28 70 6f 6f 6c | );...'..wl_shm_pool_destroy(pool |
| 31d80 | 29 3b 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 12 20 20 69 66 28 6f 73 7a 29 20 2a 6f 73 7a 3d | );.close(fd);......if(osz).*osz= |
| 31da0 | 73 7a 3b 00 00 00 0c 20 20 72 65 74 75 72 6e 20 70 78 3b 00 00 00 01 7d 00 00 00 00 00 00 00 5e | sz;......return.px;....}.......^ |
| 31dc0 | 73 74 61 74 69 63 20 76 6f 69 64 20 73 75 72 66 5f 63 6f 6d 6d 69 74 28 73 74 72 75 63 74 20 77 | static.void.surf_commit(struct.w |
| 31de0 | 6c 5f 73 75 72 66 61 63 65 20 2a 77 73 2c 76 6f 69 64 20 2a 70 69 78 65 6c 73 2c 73 74 72 75 63 | l_surface.*ws,void.*pixels,struc |
| 31e00 | 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 2c 69 6e 74 20 77 2c 69 6e 74 20 68 29 7b 00 00 | t.wl_buffer.*buf,int.w,int.h){.. |
| 31e20 | 00 27 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 61 6d 61 67 65 5f 62 75 66 66 65 72 28 77 73 2c | .'..wl_surface_damage_buffer(ws, |
| 31e40 | 30 2c 30 2c 77 2c 68 29 3b 00 00 00 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 | 0,0,w,h);......wl_surface_attach |
| 31e60 | 28 77 73 2c 62 75 66 2c 30 2c 30 29 3b 00 00 00 18 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f | (ws,buf,0,0);......wl_surface_co |
| 31e80 | 6d 6d 69 74 28 77 73 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 33 73 74 61 74 69 63 20 69 6e 74 | mmit(ws);....}.......3static.int |
| 31ea0 | 20 62 61 72 5f 79 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 7b 72 65 74 75 72 6e 20 61 2d 3e | .bar_y(struct.app.*a){return.a-> |
| 31ec0 | 68 2d 42 41 52 5f 48 3b 7d 00 00 00 34 73 74 61 74 69 63 20 69 6e 74 20 74 65 78 74 5f 68 28 73 | h-BAR_H;}...4static.int.text_h(s |
| 31ee0 | 74 72 75 63 74 20 61 70 70 20 2a 61 29 7b 72 65 74 75 72 6e 20 61 2d 3e 68 2d 42 41 52 5f 48 3b | truct.app.*a){return.a->h-BAR_H; |
| 31f00 | 7d 00 00 00 18 73 74 61 74 69 63 20 69 6e 74 20 62 74 6e 5f 78 28 69 6e 74 20 69 29 7b 00 00 00 | }....static.int.btn_x(int.i){... |
| 31f20 | 22 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6c 5b 5d 3d 7b 22 46 69 6c 65 22 2c 22 49 6e 66 6f | "..const.char.*l[]={"File","Info |
| 31f40 | 22 7d 3b 00 00 00 0c 20 20 69 6e 74 20 78 3d 50 41 44 3b 00 00 00 2e 20 20 66 6f 72 28 69 6e 74 | "};......int.x=PAD;......for(int |
| 31f60 | 20 6a 3d 30 3b 6a 3c 69 3b 6a 2b 2b 29 20 78 2b 3d 73 70 77 28 6c 5b 6a 5d 29 2b 42 54 4e 5f 50 | .j=0;j<i;j++).x+=spw(l[j])+BTN_P |
| 31f80 | 41 44 2a 32 3b 00 00 00 0b 20 20 72 65 74 75 72 6e 20 78 3b 00 00 00 01 7d 00 00 00 42 73 74 61 | AD*2;......return.x;....}...Bsta |
| 31fa0 | 74 69 63 20 69 6e 74 20 62 74 6e 5f 77 28 69 6e 74 20 69 29 7b 72 65 74 75 72 6e 20 73 70 77 28 | tic.int.btn_w(int.i){return.spw( |
| 31fc0 | 69 3d 3d 30 3f 22 46 69 6c 65 22 3a 22 49 6e 66 6f 22 29 2b 42 54 4e 5f 50 41 44 2a 32 3b 7d 00 | i==0?"File":"Info")+BTN_PAD*2;}. |
| 31fe0 | 00 00 26 73 74 61 74 69 63 20 69 6e 74 20 64 69 68 28 76 6f 69 64 29 7b 72 65 74 75 72 6e 20 63 | ..&static.int.dih(void){return.c |
| 32000 | 65 6c 6c 5f 68 2b 38 3b 7d 00 00 00 22 73 74 61 74 69 63 20 69 6e 74 20 64 72 6f 70 5f 74 6f 74 | ell_h+8;}..."static.int.drop_tot |
| 32020 | 61 6c 5f 68 28 4d 65 6e 75 49 64 20 6d 29 7b 00 00 00 25 20 20 69 6e 74 20 6e 3d 28 6d 3d 3d 4d | al_h(MenuId.m){...%..int.n=(m==M |
| 32040 | 45 4e 55 5f 46 49 4c 45 29 3f 4e 5f 46 49 4c 45 3a 4e 5f 49 4e 46 4f 3b 00 00 00 3a 20 20 63 6f | ENU_FILE)?N_FILE:N_INFO;...:..co |
| 32060 | 6e 73 74 20 4d 65 6e 75 49 74 65 6d 20 2a 69 74 3d 28 6d 3d 3d 4d 45 4e 55 5f 46 49 4c 45 29 3f | nst.MenuItem.*it=(m==MENU_FILE)? |
| 32080 | 66 69 6c 65 5f 69 74 65 6d 73 3a 69 6e 66 6f 5f 69 74 65 6d 73 3b 00 00 00 12 20 20 69 6e 74 20 | file_items:info_items;......int. |
| 320a0 | 68 3d 6e 2a 64 69 68 28 29 2b 34 3b 00 00 00 30 20 20 66 6f 72 28 69 6e 74 20 69 3d 30 3b 69 3c | h=n*dih()+4;...0..for(int.i=0;i< |
| 320c0 | 6e 3b 69 2b 2b 29 20 69 66 28 69 74 5b 69 5d 2e 73 65 70 5f 61 66 74 65 72 29 20 68 2b 3d 34 3b | n;i++).if(it[i].sep_after).h+=4; |
| 320e0 | 00 00 00 0b 20 20 72 65 74 75 72 6e 20 68 3b 00 00 00 01 7d 00 00 00 1c 73 74 61 74 69 63 20 69 | ......return.h;....}....static.i |
| 32100 | 6e 74 20 64 72 6f 70 5f 77 28 4d 65 6e 75 49 64 20 6d 29 7b 00 00 00 2d 20 20 69 6e 74 20 6d 61 | nt.drop_w(MenuId.m){...-..int.ma |
| 32120 | 78 77 3d 38 30 2c 6e 3d 28 6d 3d 3d 4d 45 4e 55 5f 46 49 4c 45 29 3f 4e 5f 46 49 4c 45 3a 4e 5f | xw=80,n=(m==MENU_FILE)?N_FILE:N_ |
| 32140 | 49 4e 46 4f 3b 00 00 00 3a 20 20 63 6f 6e 73 74 20 4d 65 6e 75 49 74 65 6d 20 2a 69 74 3d 28 6d | INFO;...:..const.MenuItem.*it=(m |
| 32160 | 3d 3d 4d 45 4e 55 5f 46 49 4c 45 29 3f 66 69 6c 65 5f 69 74 65 6d 73 3a 69 6e 66 6f 5f 69 74 65 | ==MENU_FILE)?file_items:info_ite |
| 32180 | 6d 73 3b 00 00 00 4a 20 20 66 6f 72 28 69 6e 74 20 69 3d 30 3b 69 3c 6e 3b 69 2b 2b 29 7b 69 6e | ms;...J..for(int.i=0;i<n;i++){in |
| 321a0 | 74 20 77 3d 73 70 77 28 69 74 5b 69 5d 2e 6c 61 62 65 6c 29 2b 42 54 4e 5f 50 41 44 2a 32 3b 69 | t.w=spw(it[i].label)+BTN_PAD*2;i |
| 321c0 | 66 28 77 3e 6d 61 78 77 29 6d 61 78 77 3d 77 3b 7d 00 00 00 0e 20 20 72 65 74 75 72 6e 20 6d 61 | f(w>maxw)maxw=w;}......return.ma |
| 321e0 | 78 77 3b 00 00 00 01 7d 00 00 00 32 73 74 61 74 69 63 20 69 6e 74 20 69 74 65 6d 5f 61 74 28 73 | xw;....}...2static.int.item_at(s |
| 32200 | 74 72 75 63 74 20 61 70 70 20 2a 61 2c 4d 65 6e 75 49 64 20 6d 2c 69 6e 74 20 6d 79 29 7b 00 00 | truct.app.*a,MenuId.m,int.my){.. |
| 32220 | 00 31 20 20 69 6e 74 20 62 79 3d 62 61 72 5f 79 28 61 29 2c 6e 3d 28 6d 3d 3d 4d 45 4e 55 5f 46 | .1..int.by=bar_y(a),n=(m==MENU_F |
| 32240 | 49 4c 45 29 3f 4e 5f 46 49 4c 45 3a 4e 5f 49 4e 46 4f 3b 00 00 00 3a 20 20 63 6f 6e 73 74 20 4d | ILE)?N_FILE:N_INFO;...:..const.M |
| 32260 | 65 6e 75 49 74 65 6d 20 2a 69 74 3d 28 6d 3d 3d 4d 45 4e 55 5f 46 49 4c 45 29 3f 66 69 6c 65 5f | enuItem.*it=(m==MENU_FILE)?file_ |
| 32280 | 69 74 65 6d 73 3a 69 6e 66 6f 5f 69 74 65 6d 73 3b 00 00 00 1e 20 20 69 6e 74 20 69 79 3d 62 79 | items:info_items;......int.iy=by |
| 322a0 | 2d 64 72 6f 70 5f 74 6f 74 61 6c 5f 68 28 6d 29 2b 34 3b 00 00 00 17 20 20 66 6f 72 28 69 6e 74 | -drop_total_h(m)+4;......for(int |
| 322c0 | 20 69 3d 30 3b 69 3c 6e 3b 69 2b 2b 29 7b 00 00 00 25 20 20 20 20 69 66 28 6d 79 3e 3d 69 79 26 | .i=0;i<n;i++){...%....if(my>=iy& |
| 322e0 | 26 6d 79 3c 69 79 2b 64 69 68 28 29 29 20 72 65 74 75 72 6e 20 69 3b 00 00 00 0e 20 20 20 20 69 | &my<iy+dih()).return.i;........i |
| 32300 | 79 2b 3d 64 69 68 28 29 3b 00 00 00 1e 20 20 20 20 69 66 28 69 74 5b 69 5d 2e 73 65 70 5f 61 66 | y+=dih();........if(it[i].sep_af |
| 32320 | 74 65 72 29 20 69 79 2b 3d 34 3b 00 00 00 03 20 20 7d 00 00 00 0c 20 20 72 65 74 75 72 6e 20 2d | ter).iy+=4;......}......return.- |
| 32340 | 31 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 66 70 5f 66 72 | 1;....}.......$static.void.fp_fr |
| 32360 | 65 65 5f 65 6e 74 72 69 65 73 28 46 50 20 2a 66 70 29 7b 00 00 00 36 20 20 69 66 28 66 70 2d 3e | ee_entries(FP.*fp){...6..if(fp-> |
| 32380 | 65 6e 74 72 69 65 73 29 7b 66 72 65 65 28 66 70 2d 3e 65 6e 74 72 69 65 73 29 3b 66 70 2d 3e 65 | entries){free(fp->entries);fp->e |
| 323a0 | 6e 74 72 69 65 73 3d 4e 55 4c 4c 3b 7d 00 00 00 11 20 20 66 70 2d 3e 6e 65 6e 74 72 69 65 73 3d | ntries=NULL;}......fp->nentries= |
| 323c0 | 30 3b 00 00 00 01 7d 00 00 00 00 00 00 00 32 73 74 61 74 69 63 20 69 6e 74 20 65 6e 74 72 79 5f | 0;....}.......2static.int.entry_ |
| 323e0 | 63 6d 70 28 63 6f 6e 73 74 20 76 6f 69 64 20 2a 61 2c 63 6f 6e 73 74 20 76 6f 69 64 20 2a 62 29 | cmp(const.void.*a,const.void.*b) |
| 32400 | 7b 00 00 00 1d 20 20 63 6f 6e 73 74 20 44 69 72 45 6e 74 72 79 20 2a 64 61 3d 61 2c 2a 64 62 3d | {......const.DirEntry.*da=a,*db= |
| 32420 | 62 3b 00 00 00 34 20 20 69 66 28 64 61 2d 3e 69 73 5f 64 69 72 21 3d 64 62 2d 3e 69 73 5f 64 69 | b;...4..if(da->is_dir!=db->is_di |
| 32440 | 72 29 20 72 65 74 75 72 6e 20 64 61 2d 3e 69 73 5f 64 69 72 3f 2d 31 3a 31 3b 00 00 00 23 20 20 | r).return.da->is_dir?-1:1;...#.. |
| 32460 | 72 65 74 75 72 6e 20 73 74 72 63 6d 70 28 64 61 2d 3e 6e 61 6d 65 2c 64 62 2d 3e 6e 61 6d 65 29 | return.strcmp(da->name,db->name) |
| 32480 | 3b 00 00 00 01 7d 00 00 00 00 00 00 00 20 73 74 61 74 69 63 20 76 6f 69 64 20 66 70 5f 6c 6f 61 | ;....}........static.void.fp_loa |
| 324a0 | 64 5f 64 69 72 28 46 50 20 2a 66 70 29 7b 00 00 00 16 20 20 66 70 5f 66 72 65 65 5f 65 6e 74 72 | d_dir(FP.*fp){......fp_free_entr |
| 324c0 | 69 65 73 28 66 70 29 3b 00 00 00 30 20 20 66 70 2d 3e 73 65 6c 65 63 74 65 64 3d 2d 31 3b 20 66 | ies(fp);...0..fp->selected=-1;.f |
| 324e0 | 70 2d 3e 73 63 72 6f 6c 6c 3d 30 3b 20 66 70 2d 3e 68 6f 76 65 72 65 64 3d 2d 31 3b 00 00 00 33 | p->scroll=0;.fp->hovered=-1;...3 |
| 32500 | 20 20 66 70 2d 3e 65 6e 74 72 69 65 73 3d 6d 61 6c 6c 6f 63 28 73 69 7a 65 6f 66 28 44 69 72 45 | ..fp->entries=malloc(sizeof(DirE |
| 32520 | 6e 74 72 79 29 2a 4d 41 58 5f 45 4e 54 52 49 45 53 29 3b 00 00 00 1a 20 20 69 66 28 21 66 70 2d | ntry)*MAX_ENTRIES);......if(!fp- |
| 32540 | 3e 65 6e 74 72 69 65 73 29 20 72 65 74 75 72 6e 3b 00 00 00 1a 20 20 44 49 52 20 2a 64 3d 6f 70 | >entries).return;......DIR.*d=op |
| 32560 | 65 6e 64 69 72 28 66 70 2d 3e 63 77 64 29 3b 00 00 00 25 20 20 69 66 28 21 64 29 7b 66 70 5f 66 | endir(fp->cwd);...%..if(!d){fp_f |
| 32580 | 72 65 65 5f 65 6e 74 72 69 65 73 28 66 70 29 3b 72 65 74 75 72 6e 3b 7d 00 00 00 14 20 20 73 74 | ree_entries(fp);return;}......st |
| 325a0 | 72 75 63 74 20 64 69 72 65 6e 74 20 2a 64 65 3b 00 00 00 33 20 20 77 68 69 6c 65 28 28 64 65 3d | ruct.dirent.*de;...3..while((de= |
| 325c0 | 72 65 61 64 64 69 72 28 64 29 29 26 26 66 70 2d 3e 6e 65 6e 74 72 69 65 73 3c 4d 41 58 5f 45 4e | readdir(d))&&fp->nentries<MAX_EN |
| 325e0 | 54 52 49 45 53 29 7b 00 00 00 2b 20 20 20 20 69 66 28 73 74 72 63 6d 70 28 64 65 2d 3e 64 5f 6e | TRIES){...+....if(strcmp(de->d_n |
| 32600 | 61 6d 65 2c 22 2e 22 29 3d 3d 30 29 20 63 6f 6e 74 69 6e 75 65 3b 00 00 00 2b 20 20 20 20 44 69 | ame,".")==0).continue;...+....Di |
| 32620 | 72 45 6e 74 72 79 20 2a 65 3d 26 66 70 2d 3e 65 6e 74 72 69 65 73 5b 66 70 2d 3e 6e 65 6e 74 72 | rEntry.*e=&fp->entries[fp->nentr |
| 32640 | 69 65 73 5d 3b 00 00 00 34 20 20 20 20 73 74 72 6e 63 70 79 28 65 2d 3e 6e 61 6d 65 2c 64 65 2d | ies];...4....strncpy(e->name,de- |
| 32660 | 3e 64 5f 6e 61 6d 65 2c 32 35 35 29 3b 20 65 2d 3e 6e 61 6d 65 5b 32 35 35 5d 3d 30 3b 00 00 00 | >d_name,255);.e->name[255]=0;... |
| 32680 | 18 20 20 20 20 63 68 61 72 20 66 75 6c 6c 5b 4d 41 58 5f 50 41 54 48 5d 3b 00 00 00 3a 20 20 20 | .....char.full[MAX_PATH];...:... |
| 326a0 | 20 73 6e 70 72 69 6e 74 66 28 66 75 6c 6c 2c 73 69 7a 65 6f 66 20 66 75 6c 6c 2c 22 25 73 2f 25 | .snprintf(full,sizeof.full,"%s/% |
| 326c0 | 73 22 2c 66 70 2d 3e 63 77 64 2c 64 65 2d 3e 64 5f 6e 61 6d 65 29 3b 00 00 00 13 20 20 20 20 73 | s",fp->cwd,de->d_name);........s |
| 326e0 | 74 72 75 63 74 20 73 74 61 74 20 73 74 3b 00 00 00 37 20 20 20 20 65 2d 3e 69 73 5f 64 69 72 3d | truct.stat.st;...7....e->is_dir= |
| 32700 | 28 73 74 61 74 28 66 75 6c 6c 2c 26 73 74 29 3d 3d 30 26 26 53 5f 49 53 44 49 52 28 73 74 2e 73 | (stat(full,&st)==0&&S_ISDIR(st.s |
| 32720 | 74 5f 6d 6f 64 65 29 29 3b 00 00 00 13 20 20 20 20 66 70 2d 3e 6e 65 6e 74 72 69 65 73 2b 2b 3b | t_mode));........fp->nentries++; |
| 32740 | 00 00 00 03 20 20 7d 00 00 00 0e 20 20 63 6c 6f 73 65 64 69 72 28 64 29 3b 00 00 00 3d 20 20 71 | ......}......closedir(d);...=..q |
| 32760 | 73 6f 72 74 28 66 70 2d 3e 65 6e 74 72 69 65 73 2c 66 70 2d 3e 6e 65 6e 74 72 69 65 73 2c 73 69 | sort(fp->entries,fp->nentries,si |
| 32780 | 7a 65 6f 66 28 44 69 72 45 6e 74 72 79 29 2c 65 6e 74 72 79 5f 63 6d 70 29 3b 00 00 00 01 7d 00 | zeof(DirEntry),entry_cmp);....}. |
| 327a0 | 00 00 00 00 00 00 2f 73 74 61 74 69 63 20 76 6f 69 64 20 66 70 5f 73 65 74 5f 69 6e 70 75 74 28 | ....../static.void.fp_set_input( |
| 327c0 | 46 50 20 2a 66 70 2c 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 29 7b 00 00 00 2e 20 20 73 6e 70 72 | FP.*fp,const.char.*s){......snpr |
| 327e0 | 69 6e 74 66 28 66 70 2d 3e 69 6e 70 75 74 2c 73 69 7a 65 6f 66 20 66 70 2d 3e 69 6e 70 75 74 2c | intf(fp->input,sizeof.fp->input, |
| 32800 | 22 25 73 22 2c 73 29 3b 00 00 00 22 20 20 66 70 2d 3e 69 6e 70 75 74 5f 6c 65 6e 3d 73 74 72 6c | "%s",s);..."..fp->input_len=strl |
| 32820 | 65 6e 28 66 70 2d 3e 69 6e 70 75 74 29 3b 00 00 00 1e 20 20 66 70 2d 3e 69 6e 70 75 74 5f 63 75 | en(fp->input);......fp->input_cu |
| 32840 | 72 3d 66 70 2d 3e 69 6e 70 75 74 5f 6c 65 6e 3b 00 00 00 01 7d 00 00 00 00 00 00 00 24 73 74 61 | r=fp->input_len;....}.......$sta |
| 32860 | 74 69 63 20 76 6f 69 64 20 66 70 5f 72 6f 77 5f 68 28 76 6f 69 64 29 7b 28 76 6f 69 64 29 30 3b | tic.void.fp_row_h(void){(void)0; |
| 32880 | 7d 00 00 00 28 73 74 61 74 69 63 20 69 6e 74 20 66 70 5f 72 68 28 76 6f 69 64 29 7b 72 65 74 75 | }...(static.int.fp_rh(void){retu |
| 328a0 | 72 6e 20 63 65 6c 6c 5f 68 2b 36 3b 7d 00 00 00 27 73 74 61 74 69 63 20 69 6e 74 20 66 70 5f 74 | rn.cell_h+6;}...'static.int.fp_t |
| 328c0 | 69 74 6c 65 5f 68 28 76 6f 69 64 29 7b 72 65 74 75 72 6e 20 32 38 3b 7d 00 00 00 2c 73 74 61 74 | itle_h(void){return.28;}...,stat |
| 328e0 | 69 63 20 69 6e 74 20 66 70 5f 69 6e 70 5f 68 28 76 6f 69 64 29 7b 72 65 74 75 72 6e 20 63 65 6c | ic.int.fp_inp_h(void){return.cel |
| 32900 | 6c 5f 68 2b 31 32 3b 7d 00 00 00 2c 73 74 61 74 69 63 20 69 6e 74 20 66 70 5f 62 74 6e 5f 68 28 | l_h+12;}...,static.int.fp_btn_h( |
| 32920 | 76 6f 69 64 29 7b 72 65 74 75 72 6e 20 63 65 6c 6c 5f 68 2b 32 30 3b 7d 00 00 00 3f 73 74 61 74 | void){return.cell_h+20;}...?stat |
| 32940 | 69 63 20 69 6e 74 20 66 70 5f 6c 69 73 74 5f 74 6f 70 28 76 6f 69 64 29 7b 72 65 74 75 72 6e 20 | ic.int.fp_list_top(void){return. |
| 32960 | 66 70 5f 74 69 74 6c 65 5f 68 28 29 2b 66 70 5f 69 6e 70 5f 68 28 29 2b 38 3b 7d 00 00 00 38 73 | fp_title_h()+fp_inp_h()+8;}...8s |
| 32980 | 74 61 74 69 63 20 69 6e 74 20 66 70 5f 6c 69 73 74 5f 62 6f 74 28 46 50 20 2a 66 70 29 7b 72 65 | tatic.int.fp_list_bot(FP.*fp){re |
| 329a0 | 74 75 72 6e 20 66 70 2d 3e 68 2d 66 70 5f 62 74 6e 5f 68 28 29 3b 7d 00 00 00 51 73 74 61 74 69 | turn.fp->h-fp_btn_h();}...Qstati |
| 329c0 | 63 20 69 6e 74 20 66 70 5f 6c 69 73 74 5f 76 69 73 28 46 50 20 2a 66 70 29 7b 72 65 74 75 72 6e | c.int.fp_list_vis(FP.*fp){return |
| 329e0 | 20 28 66 70 5f 6c 69 73 74 5f 62 6f 74 28 66 70 29 2d 66 70 5f 6c 69 73 74 5f 74 6f 70 28 29 29 | .(fp_list_bot(fp)-fp_list_top()) |
| 32a00 | 2f 28 66 70 5f 72 68 28 29 29 3b 7d 00 00 00 00 00 00 00 24 73 74 61 74 69 63 20 76 6f 69 64 20 | /(fp_rh());}.......$static.void. |
| 32a20 | 66 70 5f 63 6c 61 6d 70 5f 73 63 72 6f 6c 6c 28 46 50 20 2a 66 70 29 7b 00 00 00 1a 20 20 69 6e | fp_clamp_scroll(FP.*fp){......in |
| 32a40 | 74 20 76 69 73 3d 66 70 5f 6c 69 73 74 5f 76 69 73 28 66 70 29 3b 00 00 00 20 20 20 69 66 28 66 | t.vis=fp_list_vis(fp);......if(f |
| 32a60 | 70 2d 3e 73 63 72 6f 6c 6c 3c 30 29 20 66 70 2d 3e 73 63 72 6f 6c 6c 3d 30 3b 00 00 00 50 20 20 | p->scroll<0).fp->scroll=0;...P.. |
| 32a80 | 69 66 28 66 70 2d 3e 6e 65 6e 74 72 69 65 73 3e 76 69 73 26 26 66 70 2d 3e 73 63 72 6f 6c 6c 3e | if(fp->nentries>vis&&fp->scroll> |
| 32aa0 | 66 70 2d 3e 6e 65 6e 74 72 69 65 73 2d 76 69 73 29 20 66 70 2d 3e 73 63 72 6f 6c 6c 3d 66 70 2d | fp->nentries-vis).fp->scroll=fp- |
| 32ac0 | 3e 6e 65 6e 74 72 69 65 73 2d 76 69 73 3b 00 00 00 25 20 20 69 66 28 66 70 2d 3e 6e 65 6e 74 72 | >nentries-vis;...%..if(fp->nentr |
| 32ae0 | 69 65 73 3c 3d 76 69 73 29 20 66 70 2d 3e 73 63 72 6f 6c 6c 3d 30 3b 00 00 00 01 7d 00 00 00 00 | ies<=vis).fp->scroll=0;....}.... |
| 32b00 | 00 00 00 25 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 64 72 61 77 5f 66 70 28 73 74 72 75 63 74 | ...%static.void.redraw_fp(struct |
| 32b20 | 20 61 70 70 20 2a 61 29 3b 00 00 00 26 73 74 61 74 69 63 20 76 6f 69 64 20 66 70 5f 64 65 73 74 | .app.*a);...&static.void.fp_dest |
| 32b40 | 72 6f 79 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 3b 00 00 00 22 73 74 61 74 69 63 20 76 6f | roy(struct.app.*a);..."static.vo |
| 32b60 | 69 64 20 72 65 64 72 61 77 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 3b 00 00 00 00 00 00 00 | id.redraw(struct.app.*a);....... |
| 32b80 | 2f 73 74 61 74 69 63 20 76 6f 69 64 20 66 70 5f 6e 61 76 69 67 61 74 65 28 73 74 72 75 63 74 20 | /static.void.fp_navigate(struct. |
| 32ba0 | 61 70 70 20 2a 61 2c 69 6e 74 20 69 64 78 29 7b 00 00 00 10 20 20 46 50 20 2a 66 70 3d 26 61 2d | app.*a,int.idx){......FP.*fp=&a- |
| 32bc0 | 3e 66 70 3b 00 00 00 40 20 20 69 66 28 69 64 78 3c 30 7c 7c 69 64 78 3e 3d 66 70 2d 3e 6e 65 6e | >fp;...@..if(idx<0||idx>=fp->nen |
| 32be0 | 74 72 69 65 73 7c 7c 21 66 70 2d 3e 65 6e 74 72 69 65 73 5b 69 64 78 5d 2e 69 73 5f 64 69 72 29 | tries||!fp->entries[idx].is_dir) |
| 32c00 | 20 72 65 74 75 72 6e 3b 00 00 00 2c 20 20 69 66 28 73 74 72 63 6d 70 28 66 70 2d 3e 65 6e 74 72 | .return;...,..if(strcmp(fp->entr |
| 32c20 | 69 65 73 5b 69 64 78 5d 2e 6e 61 6d 65 2c 22 2e 2e 22 29 3d 3d 30 29 7b 00 00 00 22 20 20 20 20 | ies[idx].name,"..")==0){...".... |
| 32c40 | 63 68 61 72 20 2a 73 6c 3d 73 74 72 72 63 68 72 28 66 70 2d 3e 63 77 64 2c 27 2f 27 29 3b 00 00 | char.*sl=strrchr(fp->cwd,'/');.. |
| 32c60 | 00 20 20 20 20 20 69 66 28 73 6c 26 26 73 6c 3e 66 70 2d 3e 63 77 64 29 20 2a 73 6c 3d 27 5c 30 | ......if(sl&&sl>fp->cwd).*sl='\0 |
| 32c80 | 27 3b 00 00 00 29 20 20 20 20 65 6c 73 65 7b 66 70 2d 3e 63 77 64 5b 30 5d 3d 27 2f 27 3b 66 70 | ';...)....else{fp->cwd[0]='/';fp |
| 32ca0 | 2d 3e 63 77 64 5b 31 5d 3d 27 5c 30 27 3b 7d 00 00 00 0a 20 20 7d 20 65 6c 73 65 20 7b 00 00 00 | ->cwd[1]='\0';}......}.else.{... |
| 32cc0 | 1e 20 20 20 20 73 69 7a 65 5f 74 20 63 6c 3d 73 74 72 6c 65 6e 28 66 70 2d 3e 63 77 64 29 3b 00 | .....size_t.cl=strlen(fp->cwd);. |
| 32ce0 | 00 00 36 20 20 20 20 69 66 28 63 6c 3e 31 29 20 73 74 72 6e 63 61 74 28 66 70 2d 3e 63 77 64 2c | ..6....if(cl>1).strncat(fp->cwd, |
| 32d00 | 22 2f 22 2c 73 69 7a 65 6f 66 20 66 70 2d 3e 63 77 64 2d 63 6c 2d 31 29 3b 00 00 00 17 20 20 20 | "/",sizeof.fp->cwd-cl-1);....... |
| 32d20 | 20 63 6c 3d 73 74 72 6c 65 6e 28 66 70 2d 3e 63 77 64 29 3b 00 00 00 3f 20 20 20 20 73 74 72 6e | .cl=strlen(fp->cwd);...?....strn |
| 32d40 | 63 61 74 28 66 70 2d 3e 63 77 64 2c 66 70 2d 3e 65 6e 74 72 69 65 73 5b 69 64 78 5d 2e 6e 61 6d | cat(fp->cwd,fp->entries[idx].nam |
| 32d60 | 65 2c 73 69 7a 65 6f 66 20 66 70 2d 3e 63 77 64 2d 63 6c 2d 31 29 3b 00 00 00 03 20 20 7d 00 00 | e,sizeof.fp->cwd-cl-1);......}.. |
| 32d80 | 00 12 20 20 66 70 5f 6c 6f 61 64 5f 64 69 72 28 66 70 29 3b 00 00 00 1b 20 20 66 70 5f 73 65 74 | ....fp_load_dir(fp);......fp_set |
| 32da0 | 5f 69 6e 70 75 74 28 66 70 2c 66 70 2d 3e 63 77 64 29 3b 00 00 00 0f 20 20 72 65 64 72 61 77 5f | _input(fp,fp->cwd);......redraw_ |
| 32dc0 | 66 70 28 61 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 2d 73 74 61 74 69 63 20 76 6f 69 64 20 66 | fp(a);....}.......-static.void.f |
| 32de0 | 70 5f 73 65 6c 65 63 74 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 2c 69 6e 74 20 69 64 78 29 7b | p_select(struct.app.*a,int.idx){ |
| 32e00 | 00 00 00 10 20 20 46 50 20 2a 66 70 3d 26 61 2d 3e 66 70 3b 00 00 00 26 20 20 69 66 28 69 64 78 | ......FP.*fp=&a->fp;...&..if(idx |
| 32e20 | 3c 30 7c 7c 69 64 78 3e 3d 66 70 2d 3e 6e 65 6e 74 72 69 65 73 29 20 72 65 74 75 72 6e 3b 00 00 | <0||idx>=fp->nentries).return;.. |
| 32e40 | 00 13 20 20 66 70 2d 3e 73 65 6c 65 63 74 65 64 3d 69 64 78 3b 00 00 00 1f 20 20 69 66 28 21 66 | ....fp->selected=idx;......if(!f |
| 32e60 | 70 2d 3e 65 6e 74 72 69 65 73 5b 69 64 78 5d 2e 69 73 5f 64 69 72 29 7b 00 00 00 18 20 20 20 20 | p->entries[idx].is_dir){........ |
| 32e80 | 63 68 61 72 20 66 75 6c 6c 5b 4d 41 58 5f 50 41 54 48 5d 3b 00 00 00 27 20 20 20 20 69 66 28 66 | char.full[MAX_PATH];...'....if(f |
| 32ea0 | 70 2d 3e 63 77 64 5b 73 74 72 6c 65 6e 28 66 70 2d 3e 63 77 64 29 2d 31 5d 3d 3d 27 2f 27 29 00 | p->cwd[strlen(fp->cwd)-1]=='/'). |
| 32ec0 | 00 00 46 20 20 20 20 20 20 73 6e 70 72 69 6e 74 66 28 66 75 6c 6c 2c 73 69 7a 65 6f 66 20 66 75 | ..F......snprintf(full,sizeof.fu |
| 32ee0 | 6c 6c 2c 22 25 73 25 73 22 2c 66 70 2d 3e 63 77 64 2c 66 70 2d 3e 65 6e 74 72 69 65 73 5b 69 64 | ll,"%s%s",fp->cwd,fp->entries[id |
| 32f00 | 78 5d 2e 6e 61 6d 65 29 3b 00 00 00 08 20 20 20 20 65 6c 73 65 00 00 00 47 20 20 20 20 20 20 73 | x].name);........else...G......s |
| 32f20 | 6e 70 72 69 6e 74 66 28 66 75 6c 6c 2c 73 69 7a 65 6f 66 20 66 75 6c 6c 2c 22 25 73 2f 25 73 22 | nprintf(full,sizeof.full,"%s/%s" |
| 32f40 | 2c 66 70 2d 3e 63 77 64 2c 66 70 2d 3e 65 6e 74 72 69 65 73 5b 69 64 78 5d 2e 6e 61 6d 65 29 3b | ,fp->cwd,fp->entries[idx].name); |
| 32f60 | 00 00 00 1a 20 20 20 20 66 70 5f 73 65 74 5f 69 6e 70 75 74 28 66 70 2c 66 75 6c 6c 29 3b 00 00 | ........fp_set_input(fp,full);.. |
| 32f80 | 00 03 20 20 7d 00 00 00 0f 20 20 72 65 64 72 61 77 5f 66 70 28 61 29 3b 00 00 00 01 7d 00 00 00 | ....}......redraw_fp(a);....}... |
| 32fa0 | 00 00 00 00 25 73 74 61 74 69 63 20 76 6f 69 64 20 66 70 5f 63 6f 6d 6d 69 74 28 73 74 72 75 63 | ....%static.void.fp_commit(struc |
| 32fc0 | 74 20 61 70 70 20 2a 61 29 7b 00 00 00 10 20 20 46 50 20 2a 66 70 3d 26 61 2d 3e 66 70 3b 00 00 | t.app.*a){......FP.*fp=&a->fp;.. |
| 32fe0 | 00 1b 20 20 69 66 28 21 66 70 2d 3e 69 6e 70 75 74 5b 30 5d 29 20 72 65 74 75 72 6e 3b 00 00 00 | ....if(!fp->input[0]).return;... |
| 33000 | 1b 20 20 62 6f 6f 6c 20 71 75 69 74 3d 66 70 2d 3e 71 75 69 74 5f 61 66 74 65 72 3b 00 00 00 18 | ...bool.quit=fp->quit_after;.... |
| 33020 | 20 20 69 66 28 66 70 2d 3e 6d 6f 64 65 3d 3d 46 50 5f 4f 50 45 4e 29 7b 00 00 00 24 20 20 20 20 | ..if(fp->mode==FP_OPEN){...$.... |
| 33040 | 69 6e 74 20 66 64 3d 6f 70 65 6e 28 66 70 2d 3e 69 6e 70 75 74 2c 4f 5f 52 44 4f 4e 4c 59 29 3b | int.fd=open(fp->input,O_RDONLY); |
| 33060 | 00 00 00 24 20 20 20 20 69 66 28 66 64 3c 30 29 7b 70 65 72 72 6f 72 28 22 6f 70 65 6e 22 29 3b | ...$....if(fd<0){perror("open"); |
| 33080 | 72 65 74 75 72 6e 3b 7d 00 00 00 32 20 20 20 20 73 73 69 7a 65 5f 74 20 6e 3d 72 65 61 64 28 66 | return;}...2....ssize_t.n=read(f |
| 330a0 | 64 2c 74 65 78 74 2c 4d 41 58 5f 54 45 58 54 2d 31 29 3b 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 | d,text,MAX_TEXT-1);.close(fd);.. |
| 330c0 | 00 23 20 20 20 20 69 66 28 6e 3c 30 29 7b 70 65 72 72 6f 72 28 22 72 65 61 64 22 29 3b 72 65 74 | .#....if(n<0){perror("read");ret |
| 330e0 | 75 72 6e 3b 7d 00 00 00 21 20 20 20 20 74 6c 65 6e 3d 28 69 6e 74 29 6e 3b 20 74 65 78 74 5b 74 | urn;}...!....tlen=(int)n;.text[t |
| 33100 | 6c 65 6e 5d 3d 27 5c 30 27 3b 00 00 00 1f 20 20 20 20 63 75 72 73 6f 72 3d 74 6c 65 6e 3b 20 73 | len]='\0';........cursor=tlen;.s |
| 33120 | 65 6c 5f 61 6e 63 68 6f 72 3d 2d 31 3b 00 00 00 36 20 20 20 20 73 6e 70 72 69 6e 74 66 28 66 69 | el_anchor=-1;...6....snprintf(fi |
| 33140 | 6c 65 70 61 74 68 2c 73 69 7a 65 6f 66 20 66 69 6c 65 70 61 74 68 2c 22 25 73 22 2c 66 70 2d 3e | lepath,sizeof.filepath,"%s",fp-> |
| 33160 | 69 6e 70 75 74 29 3b 00 00 00 10 20 20 20 20 64 69 72 74 79 3d 66 61 6c 73 65 3b 00 00 00 0a 20 | input);........dirty=false;..... |
| 33180 | 20 7d 20 65 6c 73 65 20 7b 00 00 00 39 20 20 20 20 69 6e 74 20 66 64 3d 6f 70 65 6e 28 66 70 2d | .}.else.{...9....int.fd=open(fp- |
| 331a0 | 3e 69 6e 70 75 74 2c 4f 5f 57 52 4f 4e 4c 59 7c 4f 5f 43 52 45 41 54 7c 4f 5f 54 52 55 4e 43 2c | >input,O_WRONLY|O_CREAT|O_TRUNC, |
| 331c0 | 30 36 34 34 29 3b 00 00 00 24 20 20 20 20 69 66 28 66 64 3c 30 29 7b 70 65 72 72 6f 72 28 22 73 | 0644);...$....if(fd<0){perror("s |
| 331e0 | 61 76 65 22 29 3b 72 65 74 75 72 6e 3b 7d 00 00 00 25 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 | ave");return;}...%....const.char |
| 33200 | 20 2a 70 3d 74 65 78 74 3b 20 69 6e 74 20 72 65 6d 3d 74 6c 65 6e 3b 00 00 00 46 20 20 20 20 77 | .*p=text;.int.rem=tlen;...F....w |
| 33220 | 68 69 6c 65 28 72 65 6d 3e 30 29 7b 73 73 69 7a 65 5f 74 20 6e 3d 77 72 69 74 65 28 66 64 2c 70 | hile(rem>0){ssize_t.n=write(fd,p |
| 33240 | 2c 72 65 6d 29 3b 69 66 28 6e 3c 3d 30 29 62 72 65 61 6b 3b 70 2b 3d 6e 3b 72 65 6d 2d 3d 6e 3b | ,rem);if(n<=0)break;p+=n;rem-=n; |
| 33260 | 7d 00 00 00 0e 20 20 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 36 20 20 20 20 73 6e 70 72 69 | }........close(fd);...6....snpri |
| 33280 | 6e 74 66 28 66 69 6c 65 70 61 74 68 2c 73 69 7a 65 6f 66 20 66 69 6c 65 70 61 74 68 2c 22 25 73 | ntf(filepath,sizeof.filepath,"%s |
| 332a0 | 22 2c 66 70 2d 3e 69 6e 70 75 74 29 3b 00 00 00 10 20 20 20 20 64 69 72 74 79 3d 66 61 6c 73 65 | ",fp->input);........dirty=false |
| 332c0 | 3b 00 00 00 03 20 20 7d 00 00 00 16 20 20 66 70 5f 66 72 65 65 5f 65 6e 74 72 69 65 73 28 66 70 | ;......}......fp_free_entries(fp |
| 332e0 | 29 3b 00 00 00 10 20 20 66 70 5f 64 65 73 74 72 6f 79 28 61 29 3b 00 00 00 0c 20 20 72 65 64 72 | );......fp_destroy(a);......redr |
| 33300 | 61 77 28 61 29 3b 00 00 00 13 20 20 69 66 28 71 75 69 74 29 20 65 78 69 74 28 30 29 3b 00 00 00 | aw(a);......if(quit).exit(0);... |
| 33320 | 01 7d 00 00 00 00 00 00 00 4a 73 74 61 74 69 63 20 76 6f 69 64 20 66 70 5f 64 72 61 77 5f 62 75 | .}.......Jstatic.void.fp_draw_bu |
| 33340 | 74 74 6f 6e 28 76 6f 69 64 20 2a 70 78 2c 69 6e 74 20 70 77 2c 69 6e 74 20 70 68 2c 69 6e 74 20 | tton(void.*px,int.pw,int.ph,int. |
| 33360 | 78 2c 69 6e 74 20 79 2c 69 6e 74 20 77 2c 69 6e 74 20 68 2c 00 00 00 52 20 20 20 20 20 20 20 20 | x,int.y,int.w,int.h,...R........ |
| 33380 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6c | ...................const.char.*l |
| 333a0 | 62 6c 2c 75 69 6e 74 33 32 5f 74 20 62 67 2c 75 69 6e 74 33 32 5f 74 20 66 67 2c 62 6f 6f 6c 20 | bl,uint32_t.bg,uint32_t.fg,bool. |
| 333c0 | 62 6f 72 64 65 72 65 64 29 7b 00 00 00 1d 20 20 66 72 65 63 74 28 70 78 2c 70 77 2c 70 68 2c 78 | bordered){......frect(px,pw,ph,x |
| 333e0 | 2c 79 2c 77 2c 68 2c 62 67 29 3b 00 00 00 0f 20 20 69 66 28 62 6f 72 64 65 72 65 64 29 7b 00 00 | ,y,w,h,bg);......if(bordered){.. |
| 33400 | 00 26 20 20 20 20 66 72 65 63 74 28 70 78 2c 70 77 2c 70 68 2c 78 2c 79 2c 77 2c 31 2c 53 45 50 | .&....frect(px,pw,ph,x,y,w,1,SEP |
| 33420 | 5f 43 4f 4c 4f 52 29 3b 00 00 00 2a 20 20 20 20 66 72 65 63 74 28 70 78 2c 70 77 2c 70 68 2c 78 | _COLOR);...*....frect(px,pw,ph,x |
| 33440 | 2c 79 2b 68 2d 31 2c 77 2c 31 2c 53 45 50 5f 43 4f 4c 4f 52 29 3b 00 00 00 26 20 20 20 20 66 72 | ,y+h-1,w,1,SEP_COLOR);...&....fr |
| 33460 | 65 63 74 28 70 78 2c 70 77 2c 70 68 2c 78 2c 79 2c 31 2c 68 2c 53 45 50 5f 43 4f 4c 4f 52 29 3b | ect(px,pw,ph,x,y,1,h,SEP_COLOR); |
| 33480 | 00 00 00 2a 20 20 20 20 66 72 65 63 74 28 70 78 2c 70 77 2c 70 68 2c 78 2b 77 2d 31 2c 79 2c 31 | ...*....frect(px,pw,ph,x+w-1,y,1 |
| 334a0 | 2c 68 2c 53 45 50 5f 43 4f 4c 4f 52 29 3b 00 00 00 03 20 20 7d 00 00 00 2d 20 20 69 6e 74 20 74 | ,h,SEP_COLOR);......}...-..int.t |
| 334c0 | 78 3d 78 2b 28 77 2d 73 70 77 28 6c 62 6c 29 29 2f 32 2c 20 74 79 3d 79 2b 28 68 2d 63 65 6c 6c | x=x+(w-spw(lbl))/2,.ty=y+(h-cell |
| 334e0 | 5f 68 29 2f 32 3b 00 00 00 1e 20 20 64 73 74 72 28 70 78 2c 70 77 2c 70 68 2c 74 78 2c 74 79 2c | _h)/2;......dstr(px,pw,ph,tx,ty, |
| 33500 | 6c 62 6c 2c 66 67 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 25 73 74 61 74 69 63 20 76 6f 69 64 | lbl,fg);....}.......%static.void |
| 33520 | 20 72 65 64 72 61 77 5f 66 70 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 7b 00 00 00 10 20 20 | .redraw_fp(struct.app.*a){...... |
| 33540 | 46 50 20 2a 66 70 3d 26 61 2d 3e 66 70 3b 00 00 00 24 20 20 69 66 28 21 66 70 2d 3e 6f 70 65 6e | FP.*fp=&a->fp;...$..if(!fp->open |
| 33560 | 7c 7c 21 66 70 2d 3e 70 69 78 65 6c 73 29 20 72 65 74 75 72 6e 3b 00 00 00 2d 20 20 76 6f 69 64 | ||!fp->pixels).return;...-..void |
| 33580 | 20 2a 70 78 3d 66 70 2d 3e 70 69 78 65 6c 73 3b 20 69 6e 74 20 70 77 3d 66 70 2d 3e 77 2c 70 68 | .*px=fp->pixels;.int.pw=fp->w,ph |
| 335a0 | 3d 66 70 2d 3e 68 3b 00 00 00 37 20 20 66 6f 72 28 69 6e 74 20 69 3d 30 3b 69 3c 70 77 2a 70 68 | =fp->h;...7..for(int.i=0;i<pw*ph |
| 335c0 | 3b 69 2b 2b 29 20 28 28 75 69 6e 74 33 32 5f 74 2a 29 70 78 29 5b 69 5d 3d 42 47 5f 43 4f 4c 4f | ;i++).((uint32_t*)px)[i]=BG_COLO |
| 335e0 | 52 3b 00 00 00 00 00 00 00 18 20 20 69 6e 74 20 74 69 74 68 3d 66 70 5f 74 69 74 6c 65 5f 68 28 | R;..........int.tith=fp_title_h( |
| 33600 | 29 3b 00 00 00 16 20 20 69 6e 74 20 69 6e 70 68 3d 66 70 5f 69 6e 70 5f 68 28 29 3b 00 00 00 16 | );......int.inph=fp_inp_h();.... |
| 33620 | 20 20 69 6e 74 20 62 74 6e 68 3d 66 70 5f 62 74 6e 5f 68 28 29 3b 00 00 00 11 20 20 69 6e 74 20 | ..int.btnh=fp_btn_h();......int. |
| 33640 | 72 68 3d 66 70 5f 72 68 28 29 3b 00 00 00 18 20 20 69 6e 74 20 6c 74 70 3d 66 70 5f 6c 69 73 74 | rh=fp_rh();......int.ltp=fp_list |
| 33660 | 5f 74 6f 70 28 29 3b 00 00 00 1a 20 20 69 6e 74 20 6c 62 74 3d 66 70 5f 6c 69 73 74 5f 62 6f 74 | _top();......int.lbt=fp_list_bot |
| 33680 | 28 66 70 29 3b 00 00 00 00 00 00 00 25 20 20 66 72 65 63 74 28 70 78 2c 70 77 2c 70 68 2c 30 2c | (fp);.......%..frect(px,pw,ph,0, |
| 336a0 | 30 2c 70 77 2c 74 69 74 68 2c 42 41 52 5f 42 47 29 3b 00 00 00 2a 20 20 66 72 65 63 74 28 70 78 | 0,pw,tith,BAR_BG);...*..frect(px |
| 336c0 | 2c 70 77 2c 70 68 2c 30 2c 74 69 74 68 2d 31 2c 70 77 2c 31 2c 53 45 50 5f 43 4f 4c 4f 52 29 3b | ,pw,ph,0,tith-1,pw,1,SEP_COLOR); |
| 336e0 | 00 00 00 40 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 74 69 74 6c 65 3d 28 66 70 2d 3e 6d 6f 64 | ...@..const.char.*title=(fp->mod |
| 33700 | 65 3d 3d 46 50 5f 4f 50 45 4e 29 3f 22 4f 70 65 6e 20 46 69 6c 65 22 3a 22 53 61 76 65 20 46 69 | e==FP_OPEN)?"Open.File":"Save.Fi |
| 33720 | 6c 65 22 3b 00 00 00 32 20 20 64 73 74 72 28 70 78 2c 70 77 2c 70 68 2c 50 41 44 2c 28 74 69 74 | le";...2..dstr(px,pw,ph,PAD,(tit |
| 33740 | 68 2d 63 65 6c 6c 5f 68 29 2f 32 2c 74 69 74 6c 65 2c 42 41 52 5f 46 47 29 3b 00 00 00 00 00 00 | h-cell_h)/2,title,BAR_FG);...... |
| 33760 | 00 11 20 20 69 6e 74 20 69 6e 79 3d 74 69 74 68 2b 34 3b 00 00 00 30 20 20 66 72 65 63 74 28 70 | ....int.iny=tith+4;...0..frect(p |
| 33780 | 78 2c 70 77 2c 70 68 2c 50 41 44 2c 69 6e 79 2c 70 77 2d 50 41 44 2a 32 2c 69 6e 70 68 2c 44 52 | x,pw,ph,PAD,iny,pw-PAD*2,inph,DR |
| 337a0 | 4f 50 5f 42 47 29 3b 00 00 00 2f 20 20 66 72 65 63 74 28 70 78 2c 70 77 2c 70 68 2c 50 41 44 2c | OP_BG);.../..frect(px,pw,ph,PAD, |
| 337c0 | 69 6e 79 2c 70 77 2d 50 41 44 2a 32 2c 31 2c 53 45 50 5f 43 4f 4c 4f 52 29 3b 00 00 00 36 20 20 | iny,pw-PAD*2,1,SEP_COLOR);...6.. |
| 337e0 | 66 72 65 63 74 28 70 78 2c 70 77 2c 70 68 2c 50 41 44 2c 69 6e 79 2b 69 6e 70 68 2d 31 2c 70 77 | frect(px,pw,ph,PAD,iny+inph-1,pw |
| 33800 | 2d 50 41 44 2a 32 2c 31 2c 53 45 50 5f 43 4f 4c 4f 52 29 3b 00 00 00 2b 20 20 66 72 65 63 74 28 | -PAD*2,1,SEP_COLOR);...+..frect( |
| 33820 | 70 78 2c 70 77 2c 70 68 2c 50 41 44 2c 69 6e 79 2c 31 2c 69 6e 70 68 2c 53 45 50 5f 43 4f 4c 4f | px,pw,ph,PAD,iny,1,inph,SEP_COLO |
| 33840 | 52 29 3b 00 00 00 30 20 20 66 72 65 63 74 28 70 78 2c 70 77 2c 70 68 2c 70 77 2d 50 41 44 2d 31 | R);...0..frect(px,pw,ph,pw-PAD-1 |
| 33860 | 2c 69 6e 79 2c 31 2c 69 6e 70 68 2c 53 45 50 5f 43 4f 4c 4f 52 29 3b 00 00 00 23 20 20 69 6e 74 | ,iny,1,inph,SEP_COLOR);...#..int |
| 33880 | 20 6d 61 78 5f 76 69 73 3d 28 70 77 2d 50 41 44 2a 32 2d 31 32 29 2f 63 65 6c 6c 5f 77 3b 00 00 | .max_vis=(pw-PAD*2-12)/cell_w;.. |
| 338a0 | 00 1a 20 20 69 66 28 6d 61 78 5f 76 69 73 3c 31 29 20 6d 61 78 5f 76 69 73 3d 31 3b 00 00 00 0b | ....if(max_vis<1).max_vis=1;.... |
| 338c0 | 20 20 69 6e 74 20 64 73 3d 30 3b 00 00 00 35 20 20 69 66 28 66 70 2d 3e 69 6e 70 75 74 5f 63 75 | ..int.ds=0;...5..if(fp->input_cu |
| 338e0 | 72 3e 6d 61 78 5f 76 69 73 29 20 64 73 3d 66 70 2d 3e 69 6e 70 75 74 5f 63 75 72 2d 6d 61 78 5f | r>max_vis).ds=fp->input_cur-max_ |
| 33900 | 76 69 73 3b 00 00 00 1e 20 20 69 6e 74 20 74 79 32 3d 69 6e 79 2b 28 69 6e 70 68 2d 63 65 6c 6c | vis;......int.ty2=iny+(inph-cell |
| 33920 | 5f 68 29 2f 32 3b 00 00 00 3a 20 20 64 73 74 72 6e 28 70 78 2c 70 77 2c 70 68 2c 50 41 44 2b 36 | _h)/2;...:..dstrn(px,pw,ph,PAD+6 |
| 33940 | 2c 74 79 32 2c 66 70 2d 3e 69 6e 70 75 74 2b 64 73 2c 6d 61 78 5f 76 69 73 2c 46 47 5f 43 4f 4c | ,ty2,fp->input+ds,max_vis,FG_COL |
| 33960 | 4f 52 29 3b 00 00 00 49 20 20 66 72 65 63 74 28 70 78 2c 70 77 2c 70 68 2c 50 41 44 2b 36 2b 28 | OR);...I..frect(px,pw,ph,PAD+6+( |
| 33980 | 66 70 2d 3e 69 6e 70 75 74 5f 63 75 72 2d 64 73 29 2a 63 65 6c 6c 5f 77 2c 74 79 32 2c 32 2c 63 | fp->input_cur-ds)*cell_w,ty2,2,c |
| 339a0 | 65 6c 6c 5f 68 2c 43 55 52 5f 43 4f 4c 4f 52 29 3b 00 00 00 00 00 00 00 29 20 20 66 72 65 63 74 | ell_h,CUR_COLOR);.......)..frect |
| 339c0 | 28 70 78 2c 70 77 2c 70 68 2c 30 2c 6c 74 70 2d 31 2c 70 77 2c 31 2c 53 45 50 5f 43 4f 4c 4f 52 | (px,pw,ph,0,ltp-1,pw,1,SEP_COLOR |
| 339e0 | 29 3b 00 00 00 00 00 00 00 16 20 20 66 70 5f 63 6c 61 6d 70 5f 73 63 72 6f 6c 6c 28 66 70 29 3b | );..........fp_clamp_scroll(fp); |
| 33a00 | 00 00 00 1a 20 20 69 6e 74 20 76 69 73 3d 66 70 5f 6c 69 73 74 5f 76 69 73 28 66 70 29 3b 00 00 | ......int.vis=fp_list_vis(fp);.. |
| 33a20 | 00 34 20 20 66 6f 72 28 69 6e 74 20 69 3d 30 3b 69 3c 76 69 73 26 26 66 70 2d 3e 73 63 72 6f 6c | .4..for(int.i=0;i<vis&&fp->scrol |
| 33a40 | 6c 2b 69 3c 66 70 2d 3e 6e 65 6e 74 72 69 65 73 3b 69 2b 2b 29 7b 00 00 00 18 20 20 20 20 69 6e | l+i<fp->nentries;i++){........in |
| 33a60 | 74 20 65 69 3d 66 70 2d 3e 73 63 72 6f 6c 6c 2b 69 3b 00 00 00 21 20 20 20 20 44 69 72 45 6e 74 | t.ei=fp->scroll+i;...!....DirEnt |
| 33a80 | 72 79 20 2a 65 3d 26 66 70 2d 3e 65 6e 74 72 69 65 73 5b 65 69 5d 3b 00 00 00 14 20 20 20 20 69 | ry.*e=&fp->entries[ei];........i |
| 33aa0 | 6e 74 20 72 79 3d 6c 74 70 2b 69 2a 72 68 3b 00 00 00 18 20 20 20 20 69 66 28 72 79 2b 72 68 3e | nt.ry=ltp+i*rh;........if(ry+rh> |
| 33ac0 | 6c 62 74 29 20 62 72 65 61 6b 3b 00 00 00 50 20 20 20 20 75 69 6e 74 33 32 5f 74 20 62 67 3d 28 | lbt).break;...P....uint32_t.bg=( |
| 33ae0 | 65 69 3d 3d 66 70 2d 3e 73 65 6c 65 63 74 65 64 29 3f 53 45 4c 5f 43 4f 4c 4f 52 3a 28 65 69 3d | ei==fp->selected)?SEL_COLOR:(ei= |
| 33b00 | 3d 66 70 2d 3e 68 6f 76 65 72 65 64 29 3f 42 54 4e 5f 48 4f 56 3a 42 47 5f 43 4f 4c 4f 52 3b 00 | =fp->hovered)?BTN_HOV:BG_COLOR;. |
| 33b20 | 00 00 34 20 20 20 20 75 69 6e 74 33 32 5f 74 20 66 67 32 3d 28 65 69 3d 3d 66 70 2d 3e 73 65 6c | ..4....uint32_t.fg2=(ei==fp->sel |
| 33b40 | 65 63 74 65 64 29 3f 53 45 4c 5f 46 47 3a 46 47 5f 43 4f 4c 4f 52 3b 00 00 00 22 20 20 20 20 66 | ected)?SEL_FG:FG_COLOR;..."....f |
| 33b60 | 72 65 63 74 28 70 78 2c 70 77 2c 70 68 2c 30 2c 72 79 2c 70 77 2c 72 68 2c 62 67 29 3b 00 00 00 | rect(px,pw,ph,0,ry,pw,rh,bg);... |
| 33b80 | 30 20 20 20 20 69 66 28 69 3e 30 29 20 66 72 65 63 74 28 70 78 2c 70 77 2c 70 68 2c 30 2c 72 79 | 0....if(i>0).frect(px,pw,ph,0,ry |
| 33ba0 | 2c 70 77 2c 31 2c 53 45 50 5f 43 4f 4c 4f 52 29 3b 00 00 00 13 20 20 20 20 63 68 61 72 20 64 69 | ,pw,1,SEP_COLOR);........char.di |
| 33bc0 | 73 70 5b 32 36 34 5d 3b 00 00 00 46 20 20 20 20 73 6e 70 72 69 6e 74 66 28 64 69 73 70 2c 73 69 | sp[264];...F....snprintf(disp,si |
| 33be0 | 7a 65 6f 66 20 64 69 73 70 2c 22 25 73 25 73 22 2c 65 2d 3e 69 73 5f 64 69 72 3f 22 5b 64 5d 20 | zeof.disp,"%s%s",e->is_dir?"[d]. |
| 33c00 | 22 3a 22 20 20 20 20 22 2c 65 2d 3e 6e 61 6d 65 29 3b 00 00 00 33 20 20 20 20 64 73 74 72 28 70 | ":"....",e->name);...3....dstr(p |
| 33c20 | 78 2c 70 77 2c 70 68 2c 50 41 44 2b 34 2c 72 79 2b 28 72 68 2d 63 65 6c 6c 5f 68 29 2f 32 2c 64 | x,pw,ph,PAD+4,ry+(rh-cell_h)/2,d |
| 33c40 | 69 73 70 2c 66 67 32 29 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 27 20 20 66 72 65 63 74 28 | isp,fg2);......}.......'..frect( |
| 33c60 | 70 78 2c 70 77 2c 70 68 2c 30 2c 6c 62 74 2c 70 77 2c 31 2c 53 45 50 5f 43 4f 4c 4f 52 29 3b 00 | px,pw,ph,0,lbt,pw,1,SEP_COLOR);. |
| 33c80 | 00 00 2d 20 20 66 72 65 63 74 28 70 78 2c 70 77 2c 70 68 2c 30 2c 6c 62 74 2b 31 2c 70 77 2c 70 | ..-..frect(px,pw,ph,0,lbt+1,pw,p |
| 33ca0 | 68 2d 6c 62 74 2d 31 2c 42 41 52 5f 42 47 29 3b 00 00 00 00 00 00 00 22 20 20 69 6e 74 20 62 62 | h-lbt-1,BAR_BG);......."..int.bb |
| 33cc0 | 79 3d 6c 62 74 2b 31 2b 28 62 74 6e 68 2d 63 65 6c 6c 5f 68 2d 38 29 2f 32 3b 00 00 00 36 20 20 | y=lbt+1+(btnh-cell_h-8)/2;...6.. |
| 33ce0 | 63 6f 6e 73 74 20 63 68 61 72 20 2a 6f 6b 6c 62 6c 3d 28 66 70 2d 3e 6d 6f 64 65 3d 3d 46 50 5f | const.char.*oklbl=(fp->mode==FP_ |
| 33d00 | 4f 50 45 4e 29 3f 22 4f 70 65 6e 22 3a 22 53 61 76 65 22 3b 00 00 00 1f 20 20 69 6e 74 20 6f 6b | OPEN)?"Open":"Save";......int.ok |
| 33d20 | 77 3d 73 70 77 28 6f 6b 6c 62 6c 29 2b 42 54 4e 5f 50 41 44 2a 32 3b 00 00 00 15 20 20 69 6e 74 | w=spw(oklbl)+BTN_PAD*2;......int |
| 33d40 | 20 6f 6b 78 3d 70 77 2d 50 41 44 2d 6f 6b 77 3b 00 00 00 51 20 20 66 70 5f 64 72 61 77 5f 62 75 | .okx=pw-PAD-okw;...Q..fp_draw_bu |
| 33d60 | 74 74 6f 6e 28 70 78 2c 70 77 2c 70 68 2c 6f 6b 78 2c 62 62 79 2c 6f 6b 77 2c 63 65 6c 6c 5f 68 | tton(px,pw,ph,okx,bby,okw,cell_h |
| 33d80 | 2b 38 2c 6f 6b 6c 62 6c 2c 44 52 4f 50 5f 48 4f 56 2c 44 52 4f 50 5f 48 4f 56 5f 46 47 2c 66 61 | +8,oklbl,DROP_HOV,DROP_HOV_FG,fa |
| 33da0 | 6c 73 65 29 3b 00 00 00 22 20 20 69 6e 74 20 63 6e 77 3d 73 70 77 28 22 43 61 6e 63 65 6c 22 29 | lse);..."..int.cnw=spw("Cancel") |
| 33dc0 | 2b 42 54 4e 5f 50 41 44 2a 32 3b 00 00 00 16 20 20 69 6e 74 20 63 6e 78 3d 6f 6b 78 2d 50 41 44 | +BTN_PAD*2;......int.cnx=okx-PAD |
| 33de0 | 2d 63 6e 77 3b 00 00 00 4e 20 20 66 70 5f 64 72 61 77 5f 62 75 74 74 6f 6e 28 70 78 2c 70 77 2c | -cnw;...N..fp_draw_button(px,pw, |
| 33e00 | 70 68 2c 63 6e 78 2c 62 62 79 2c 63 6e 77 2c 63 65 6c 6c 5f 68 2b 38 2c 22 43 61 6e 63 65 6c 22 | ph,cnx,bby,cnw,cell_h+8,"Cancel" |
| 33e20 | 2c 44 52 4f 50 5f 42 47 2c 44 52 4f 50 5f 46 47 2c 74 72 75 65 29 3b 00 00 00 00 00 00 00 27 20 | ,DROP_BG,DROP_FG,true);.......'. |
| 33e40 | 20 73 75 72 66 5f 63 6f 6d 6d 69 74 28 66 70 2d 3e 77 73 2c 70 78 2c 66 70 2d 3e 62 75 66 2c 70 | .surf_commit(fp->ws,px,fp->buf,p |
| 33e60 | 77 2c 70 68 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 46 73 74 61 74 69 63 20 76 6f 69 64 20 66 | w,ph);....}.......Fstatic.void.f |
| 33e80 | 70 5f 78 73 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 | p_xs_cfg(void.*d,struct.xdg_surf |
| 33ea0 | 61 63 65 20 2a 78 73 2c 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 7b 00 00 00 21 20 20 73 | ace.*xs,uint32_t.serial){...!..s |
| 33ec0 | 74 72 75 63 74 20 61 70 70 20 2a 61 3d 64 3b 20 46 50 20 2a 66 70 3d 26 61 2d 3e 66 70 3b 00 00 | truct.app.*a=d;.FP.*fp=&a->fp;.. |
| 33ee0 | 00 27 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 63 6b 5f 63 6f 6e 66 69 67 75 72 65 28 78 73 | .'..xdg_surface_ack_configure(xs |
| 33f00 | 2c 73 65 72 69 61 6c 29 3b 00 00 00 4f 20 20 69 66 28 21 66 70 2d 3e 70 69 78 65 6c 73 29 20 66 | ,serial);...O..if(!fp->pixels).f |
| 33f20 | 70 2d 3e 70 69 78 65 6c 73 3d 6d 61 6b 65 5f 73 68 6d 28 61 2c 66 70 2d 3e 77 2c 66 70 2d 3e 68 | p->pixels=make_shm(a,fp->w,fp->h |
| 33f40 | 2c 26 66 70 2d 3e 62 75 66 2c 26 66 70 2d 3e 70 69 78 65 6c 73 5f 73 69 7a 65 29 3b 00 00 00 16 | ,&fp->buf,&fp->pixels_size);.... |
| 33f60 | 20 20 66 70 2d 3e 63 6f 6e 66 69 67 75 72 65 64 3d 74 72 75 65 3b 00 00 00 0f 20 20 72 65 64 72 | ..fp->configured=true;......redr |
| 33f80 | 61 77 5f 66 70 28 61 29 3b 00 00 00 01 7d 00 00 00 5e 73 74 61 74 69 63 20 76 6f 69 64 20 66 70 | aw_fp(a);....}...^static.void.fp |
| 33fa0 | 5f 78 74 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 | _xt_cfg(void.*d,struct.xdg_tople |
| 33fc0 | 76 65 6c 20 2a 74 2c 69 6e 74 33 32 5f 74 20 77 2c 69 6e 74 33 32 5f 74 20 68 2c 73 74 72 75 63 | vel.*t,int32_t.w,int32_t.h,struc |
| 33fe0 | 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 29 7b 7d 00 00 00 38 73 74 61 74 69 63 20 76 6f 69 64 20 | t.wl_array.*s){}...8static.void. |
| 34000 | 66 70 5f 78 74 5f 63 6c 6f 73 65 28 76 6f 69 64 20 2a 64 2c 73 74 72 75 63 74 20 78 64 67 5f 74 | fp_xt_close(void.*d,struct.xdg_t |
| 34020 | 6f 70 6c 65 76 65 6c 20 2a 74 29 7b 00 00 00 12 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 3d | oplevel.*t){......struct.app.*a= |
| 34040 | 64 3b 00 00 00 1a 20 20 66 70 5f 66 72 65 65 5f 65 6e 74 72 69 65 73 28 26 61 2d 3e 66 70 29 3b | d;......fp_free_entries(&a->fp); |
| 34060 | 00 00 00 10 20 20 66 70 5f 64 65 73 74 72 6f 79 28 61 29 3b 00 00 00 0c 20 20 72 65 64 72 61 77 | ......fp_destroy(a);......redraw |
| 34080 | 28 61 29 3b 00 00 00 01 7d 00 00 00 48 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 | (a);....}...Hstatic.const.struct |
| 340a0 | 20 78 64 67 5f 73 75 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 20 66 70 5f 78 73 5f 6c 3d 7b 2e | .xdg_surface_listener.fp_xs_l={. |
| 340c0 | 63 6f 6e 66 69 67 75 72 65 3d 66 70 5f 78 73 5f 63 66 67 7d 3b 00 00 00 5c 73 74 61 74 69 63 20 | configure=fp_xs_cfg};...\static. |
| 340e0 | 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e | const.struct.xdg_toplevel_listen |
| 34100 | 65 72 20 66 70 5f 78 74 5f 6c 3d 7b 2e 63 6f 6e 66 69 67 75 72 65 3d 66 70 5f 78 74 5f 63 66 67 | er.fp_xt_l={.configure=fp_xt_cfg |
| 34120 | 2c 2e 63 6c 6f 73 65 3d 66 70 5f 78 74 5f 63 6c 6f 73 65 7d 3b 00 00 00 00 00 00 00 27 73 74 61 | ,.close=fp_xt_close};.......'sta |
| 34140 | 74 69 63 20 76 6f 69 64 20 66 70 5f 6f 70 65 6e 5f 77 69 6e 28 73 74 72 75 63 74 20 61 70 70 20 | tic.void.fp_open_win(struct.app. |
| 34160 | 2a 61 29 7b 00 00 00 10 20 20 46 50 20 2a 66 70 3d 26 61 2d 3e 66 70 3b 00 00 00 17 20 20 66 70 | *a){......FP.*fp=&a->fp;......fp |
| 34180 | 2d 3e 77 3d 35 38 30 3b 20 66 70 2d 3e 68 3d 34 34 30 3b 00 00 00 20 20 20 66 70 2d 3e 6f 70 65 | ->w=580;.fp->h=440;......fp->ope |
| 341a0 | 6e 3d 74 72 75 65 3b 20 66 70 2d 3e 68 6f 76 65 72 65 64 3d 2d 31 3b 00 00 00 2f 20 20 66 70 2d | n=true;.fp->hovered=-1;.../..fp- |
| 341c0 | 3e 77 73 3d 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 63 72 65 61 74 65 5f 73 75 72 66 61 63 65 | >ws=wl_compositor_create_surface |
| 341e0 | 28 61 2d 3e 63 6f 6d 70 29 3b 00 00 00 33 20 20 66 70 2d 3e 78 73 3d 78 64 67 5f 77 6d 5f 62 61 | (a->comp);...3..fp->xs=xdg_wm_ba |
| 34200 | 73 65 5f 67 65 74 5f 78 64 67 5f 73 75 72 66 61 63 65 28 61 2d 3e 77 6d 2c 66 70 2d 3e 77 73 29 | se_get_xdg_surface(a->wm,fp->ws) |
| 34220 | 3b 00 00 00 2e 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 | ;......xdg_surface_add_listener( |
| 34240 | 66 70 2d 3e 78 73 2c 26 66 70 5f 78 73 5f 6c 2c 61 29 3b 00 00 00 2a 20 20 66 70 2d 3e 78 74 3d | fp->xs,&fp_xs_l,a);...*..fp->xt= |
| 34260 | 78 64 67 5f 73 75 72 66 61 63 65 5f 67 65 74 5f 74 6f 70 6c 65 76 65 6c 28 66 70 2d 3e 78 73 29 | xdg_surface_get_toplevel(fp->xs) |
| 34280 | 3b 00 00 00 2f 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 | ;.../..xdg_toplevel_add_listener |
| 342a0 | 28 66 70 2d 3e 78 74 2c 26 66 70 5f 78 74 5f 6c 2c 61 29 3b 00 00 00 4d 20 20 78 64 67 5f 74 6f | (fp->xt,&fp_xt_l,a);...M..xdg_to |
| 342c0 | 70 6c 65 76 65 6c 5f 73 65 74 5f 74 69 74 6c 65 28 66 70 2d 3e 78 74 2c 28 66 70 2d 3e 6d 6f 64 | plevel_set_title(fp->xt,(fp->mod |
| 342e0 | 65 3d 3d 46 50 5f 4f 50 45 4e 29 3f 22 4f 70 65 6e 20 46 69 6c 65 22 3a 22 53 61 76 65 20 46 69 | e==FP_OPEN)?"Open.File":"Save.Fi |
| 34300 | 6c 65 22 29 3b 00 00 00 30 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 6d 69 6e 5f | le");...0..xdg_toplevel_set_min_ |
| 34320 | 73 69 7a 65 28 66 70 2d 3e 78 74 2c 66 70 2d 3e 77 2c 66 70 2d 3e 68 29 3b 00 00 00 30 20 20 78 | size(fp->xt,fp->w,fp->h);...0..x |
| 34340 | 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 6d 61 78 5f 73 69 7a 65 28 66 70 2d 3e 78 74 2c | dg_toplevel_set_max_size(fp->xt, |
| 34360 | 66 70 2d 3e 77 2c 66 70 2d 3e 68 29 3b 00 00 00 1c 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f | fp->w,fp->h);......wl_surface_co |
| 34380 | 6d 6d 69 74 28 66 70 2d 3e 77 73 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 26 73 74 61 74 69 63 | mmit(fp->ws);....}.......&static |
| 343a0 | 20 76 6f 69 64 20 66 70 5f 64 65 73 74 72 6f 79 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 7b | .void.fp_destroy(struct.app.*a){ |
| 343c0 | 00 00 00 10 20 20 46 50 20 2a 66 70 3d 26 61 2d 3e 66 70 3b 00 00 00 44 20 20 69 66 28 66 70 2d | ......FP.*fp=&a->fp;...D..if(fp- |
| 343e0 | 3e 62 75 66 29 20 20 20 20 7b 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 66 70 2d 3e | >buf)....{wl_buffer_destroy(fp-> |
| 34400 | 62 75 66 29 3b 20 20 20 20 20 20 20 20 20 66 70 2d 3e 62 75 66 3d 4e 55 4c 4c 3b 7d 00 00 00 47 | buf);.........fp->buf=NULL;}...G |
| 34420 | 20 20 69 66 28 66 70 2d 3e 70 69 78 65 6c 73 29 20 7b 6d 75 6e 6d 61 70 28 66 70 2d 3e 70 69 78 | ..if(fp->pixels).{munmap(fp->pix |
| 34440 | 65 6c 73 2c 66 70 2d 3e 70 69 78 65 6c 73 5f 73 69 7a 65 29 3b 20 66 70 2d 3e 70 69 78 65 6c 73 | els,fp->pixels_size);.fp->pixels |
| 34460 | 3d 4e 55 4c 4c 3b 7d 00 00 00 43 20 20 69 66 28 66 70 2d 3e 78 74 29 20 20 20 20 20 7b 78 64 67 | =NULL;}...C..if(fp->xt).....{xdg |
| 34480 | 5f 74 6f 70 6c 65 76 65 6c 5f 64 65 73 74 72 6f 79 28 66 70 2d 3e 78 74 29 3b 20 20 20 20 20 20 | _toplevel_destroy(fp->xt);...... |
| 344a0 | 20 66 70 2d 3e 78 74 3d 4e 55 4c 4c 3b 7d 00 00 00 43 20 20 69 66 28 66 70 2d 3e 78 73 29 20 20 | .fp->xt=NULL;}...C..if(fp->xs).. |
| 344c0 | 20 20 20 7b 78 64 67 5f 73 75 72 66 61 63 65 5f 64 65 73 74 72 6f 79 28 66 70 2d 3e 78 73 29 3b | ...{xdg_surface_destroy(fp->xs); |
| 344e0 | 20 20 20 20 20 20 20 20 66 70 2d 3e 78 73 3d 4e 55 4c 4c 3b 7d 00 00 00 43 20 20 69 66 28 66 70 | ........fp->xs=NULL;}...C..if(fp |
| 34500 | 2d 3e 77 73 29 20 20 20 20 20 7b 77 6c 5f 73 75 72 66 61 63 65 5f 64 65 73 74 72 6f 79 28 66 70 | ->ws).....{wl_surface_destroy(fp |
| 34520 | 2d 3e 77 73 29 3b 20 20 20 20 20 20 20 20 20 66 70 2d 3e 77 73 3d 4e 55 4c 4c 3b 7d 00 00 00 27 | ->ws);.........fp->ws=NULL;}...' |
| 34540 | 20 20 66 70 2d 3e 6f 70 65 6e 3d 66 61 6c 73 65 3b 20 66 70 2d 3e 63 6f 6e 66 69 67 75 72 65 64 | ..fp->open=false;.fp->configured |
| 34560 | 3d 66 61 6c 73 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 2f 73 74 61 74 69 63 20 76 6f 69 64 20 | =false;....}......./static.void. |
| 34580 | 66 70 5f 6b 65 79 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 2c 75 69 6e 74 33 32 5f 74 20 6b 65 | fp_key(struct.app.*a,uint32_t.ke |
| 345a0 | 79 29 7b 00 00 00 10 20 20 46 50 20 2a 66 70 3d 26 61 2d 3e 66 70 3b 00 00 00 1b 20 20 69 66 28 | y){......FP.*fp=&a->fp;......if( |
| 345c0 | 21 61 2d 3e 78 6b 62 5f 73 74 61 74 65 29 20 72 65 74 75 72 6e 3b 00 00 00 19 20 20 78 6b 62 5f | !a->xkb_state).return;......xkb_ |
| 345e0 | 6b 65 79 63 6f 64 65 5f 74 20 6b 63 3d 6b 65 79 2b 38 3b 00 00 00 3e 20 20 78 6b 62 5f 6b 65 79 | keycode_t.kc=key+8;...>..xkb_key |
| 34600 | 73 79 6d 5f 74 20 73 79 6d 3d 78 6b 62 5f 73 74 61 74 65 5f 6b 65 79 5f 67 65 74 5f 6f 6e 65 5f | sym_t.sym=xkb_state_key_get_one_ |
| 34620 | 73 79 6d 28 61 2d 3e 78 6b 62 5f 73 74 61 74 65 2c 6b 63 29 3b 00 00 00 00 00 00 00 4e 20 20 69 | sym(a->xkb_state,kc);.......N..i |
| 34640 | 66 28 73 79 6d 3d 3d 58 4b 42 5f 4b 45 59 5f 45 73 63 61 70 65 29 7b 66 70 5f 66 72 65 65 5f 65 | f(sym==XKB_KEY_Escape){fp_free_e |
| 34660 | 6e 74 72 69 65 73 28 66 70 29 3b 66 70 5f 64 65 73 74 72 6f 79 28 61 29 3b 72 65 64 72 61 77 28 | ntries(fp);fp_destroy(a);redraw( |
| 34680 | 61 29 3b 72 65 74 75 72 6e 3b 7d 00 00 00 31 20 20 69 66 28 73 79 6d 3d 3d 58 4b 42 5f 4b 45 59 | a);return;}...1..if(sym==XKB_KEY |
| 346a0 | 5f 52 65 74 75 72 6e 7c 7c 73 79 6d 3d 3d 58 4b 42 5f 4b 45 59 5f 4b 50 5f 45 6e 74 65 72 29 7b | _Return||sym==XKB_KEY_KP_Enter){ |
| 346c0 | 00 00 00 47 20 20 20 20 69 66 28 66 70 2d 3e 73 65 6c 65 63 74 65 64 3e 3d 30 26 26 66 70 2d 3e | ...G....if(fp->selected>=0&&fp-> |
| 346e0 | 65 6e 74 72 69 65 73 26 26 66 70 2d 3e 65 6e 74 72 69 65 73 5b 66 70 2d 3e 73 65 6c 65 63 74 65 | entries&&fp->entries[fp->selecte |
| 34700 | 64 5d 2e 69 73 5f 64 69 72 29 7b 00 00 00 2a 20 20 20 20 20 20 66 70 5f 6e 61 76 69 67 61 74 65 | d].is_dir){...*......fp_navigate |
| 34720 | 28 61 2c 66 70 2d 3e 73 65 6c 65 63 74 65 64 29 3b 20 72 65 74 75 72 6e 3b 00 00 00 05 20 20 20 | (a,fp->selected);.return;....... |
| 34740 | 20 7d 00 00 00 19 20 20 20 20 66 70 5f 63 6f 6d 6d 69 74 28 61 29 3b 20 72 65 74 75 72 6e 3b 00 | .}........fp_commit(a);.return;. |
| 34760 | 00 00 03 20 20 7d 00 00 00 1d 20 20 69 66 28 73 79 6d 3d 3d 58 4b 42 5f 4b 45 59 5f 42 61 63 6b | .....}......if(sym==XKB_KEY_Back |
| 34780 | 53 70 61 63 65 29 7b 00 00 00 18 20 20 20 20 69 66 28 66 70 2d 3e 69 6e 70 75 74 5f 63 75 72 3e | Space){........if(fp->input_cur> |
| 347a0 | 30 29 7b 00 00 00 40 20 20 20 20 20 20 6d 65 6d 6d 6f 76 65 28 66 70 2d 3e 69 6e 70 75 74 2b 66 | 0){...@......memmove(fp->input+f |
| 347c0 | 70 2d 3e 69 6e 70 75 74 5f 63 75 72 2d 31 2c 66 70 2d 3e 69 6e 70 75 74 2b 66 70 2d 3e 69 6e 70 | p->input_cur-1,fp->input+fp->inp |
| 347e0 | 75 74 5f 63 75 72 2c 00 00 00 2b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 70 2d 3e 69 6e 70 | ut_cur,...+..............fp->inp |
| 34800 | 75 74 5f 6c 65 6e 2d 66 70 2d 3e 69 6e 70 75 74 5f 63 75 72 29 3b 00 00 00 27 20 20 20 20 20 20 | ut_len-fp->input_cur);...'...... |
| 34820 | 66 70 2d 3e 69 6e 70 75 74 5f 63 75 72 2d 2d 3b 20 66 70 2d 3e 69 6e 70 75 74 5f 6c 65 6e 2d 2d | fp->input_cur--;.fp->input_len-- |
| 34840 | 3b 00 00 00 24 20 20 20 20 20 20 66 70 2d 3e 69 6e 70 75 74 5b 66 70 2d 3e 69 6e 70 75 74 5f 6c | ;...$......fp->input[fp->input_l |
| 34860 | 65 6e 5d 3d 27 5c 30 27 3b 00 00 00 05 20 20 20 20 7d 00 00 00 19 20 20 20 20 72 65 64 72 61 77 | en]='\0';........}........redraw |
| 34880 | 5f 66 70 28 61 29 3b 20 72 65 74 75 72 6e 3b 00 00 00 03 20 20 7d 00 00 00 1a 20 20 69 66 28 73 | _fp(a);.return;......}......if(s |
| 348a0 | 79 6d 3d 3d 58 4b 42 5f 4b 45 59 5f 44 65 6c 65 74 65 29 7b 00 00 00 24 20 20 20 20 69 66 28 66 | ym==XKB_KEY_Delete){...$....if(f |
| 348c0 | 70 2d 3e 69 6e 70 75 74 5f 63 75 72 3c 66 70 2d 3e 69 6e 70 75 74 5f 6c 65 6e 29 7b 00 00 00 40 | p->input_cur<fp->input_len){...@ |
| 348e0 | 20 20 20 20 20 20 6d 65 6d 6d 6f 76 65 28 66 70 2d 3e 69 6e 70 75 74 2b 66 70 2d 3e 69 6e 70 75 | ......memmove(fp->input+fp->inpu |
| 34900 | 74 5f 63 75 72 2c 66 70 2d 3e 69 6e 70 75 74 2b 66 70 2d 3e 69 6e 70 75 74 5f 63 75 72 2b 31 2c | t_cur,fp->input+fp->input_cur+1, |
| 34920 | 00 00 00 2d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 70 2d 3e 69 6e 70 75 74 5f 6c 65 6e 2d | ...-..............fp->input_len- |
| 34940 | 66 70 2d 3e 69 6e 70 75 74 5f 63 75 72 2d 31 29 3b 00 00 00 16 20 20 20 20 20 20 66 70 2d 3e 69 | fp->input_cur-1);..........fp->i |
| 34960 | 6e 70 75 74 5f 6c 65 6e 2d 2d 3b 00 00 00 24 20 20 20 20 20 20 66 70 2d 3e 69 6e 70 75 74 5b 66 | nput_len--;...$......fp->input[f |
| 34980 | 70 2d 3e 69 6e 70 75 74 5f 6c 65 6e 5d 3d 27 5c 30 27 3b 00 00 00 05 20 20 20 20 7d 00 00 00 19 | p->input_len]='\0';........}.... |
| 349a0 | 20 20 20 20 72 65 64 72 61 77 5f 66 70 28 61 29 3b 20 72 65 74 75 72 6e 3b 00 00 00 03 20 20 7d | ....redraw_fp(a);.return;......} |
| 349c0 | 00 00 00 51 20 20 69 66 28 73 79 6d 3d 3d 58 4b 42 5f 4b 45 59 5f 4c 65 66 74 29 20 7b 69 66 28 | ...Q..if(sym==XKB_KEY_Left).{if( |
| 349e0 | 66 70 2d 3e 69 6e 70 75 74 5f 63 75 72 3e 30 29 66 70 2d 3e 69 6e 70 75 74 5f 63 75 72 2d 2d 3b | fp->input_cur>0)fp->input_cur--; |
| 34a00 | 72 65 64 72 61 77 5f 66 70 28 61 29 3b 72 65 74 75 72 6e 3b 7d 00 00 00 5d 20 20 69 66 28 73 79 | redraw_fp(a);return;}...]..if(sy |
| 34a20 | 6d 3d 3d 58 4b 42 5f 4b 45 59 5f 52 69 67 68 74 29 7b 69 66 28 66 70 2d 3e 69 6e 70 75 74 5f 63 | m==XKB_KEY_Right){if(fp->input_c |
| 34a40 | 75 72 3c 66 70 2d 3e 69 6e 70 75 74 5f 6c 65 6e 29 66 70 2d 3e 69 6e 70 75 74 5f 63 75 72 2b 2b | ur<fp->input_len)fp->input_cur++ |
| 34a60 | 3b 72 65 64 72 61 77 5f 66 70 28 61 29 3b 72 65 74 75 72 6e 3b 7d 00 00 00 3e 20 20 69 66 28 73 | ;redraw_fp(a);return;}...>..if(s |
| 34a80 | 79 6d 3d 3d 58 4b 42 5f 4b 45 59 5f 48 6f 6d 65 29 20 7b 66 70 2d 3e 69 6e 70 75 74 5f 63 75 72 | ym==XKB_KEY_Home).{fp->input_cur |
| 34aa0 | 3d 30 3b 72 65 64 72 61 77 5f 66 70 28 61 29 3b 72 65 74 75 72 6e 3b 7d 00 00 00 4a 20 20 69 66 | =0;redraw_fp(a);return;}...J..if |
| 34ac0 | 28 73 79 6d 3d 3d 58 4b 42 5f 4b 45 59 5f 45 6e 64 29 20 20 7b 66 70 2d 3e 69 6e 70 75 74 5f 63 | (sym==XKB_KEY_End)..{fp->input_c |
| 34ae0 | 75 72 3d 66 70 2d 3e 69 6e 70 75 74 5f 6c 65 6e 3b 72 65 64 72 61 77 5f 66 70 28 61 29 3b 72 65 | ur=fp->input_len;redraw_fp(a);re |
| 34b00 | 74 75 72 6e 3b 7d 00 00 00 16 20 20 69 66 28 73 79 6d 3d 3d 58 4b 42 5f 4b 45 59 5f 55 70 29 7b | turn;}......if(sym==XKB_KEY_Up){ |
| 34b20 | 00 00 00 2d 20 20 20 20 69 6e 74 20 6e 73 3d 28 66 70 2d 3e 73 65 6c 65 63 74 65 64 3e 30 29 3f | ...-....int.ns=(fp->selected>0)? |
| 34b40 | 66 70 2d 3e 73 65 6c 65 63 74 65 64 2d 31 3a 30 3b 00 00 00 27 20 20 20 20 69 66 28 66 70 2d 3e | fp->selected-1:0;...'....if(fp-> |
| 34b60 | 6e 65 6e 74 72 69 65 73 3e 30 29 20 66 70 5f 73 65 6c 65 63 74 28 61 2c 6e 73 29 3b 00 00 00 38 | nentries>0).fp_select(a,ns);...8 |
| 34b80 | 20 20 20 20 69 66 28 66 70 2d 3e 73 65 6c 65 63 74 65 64 3c 66 70 2d 3e 73 63 72 6f 6c 6c 29 20 | ....if(fp->selected<fp->scroll). |
| 34ba0 | 66 70 2d 3e 73 63 72 6f 6c 6c 3d 66 70 2d 3e 73 65 6c 65 63 74 65 64 3b 00 00 00 0b 20 20 20 20 | fp->scroll=fp->selected;........ |
| 34bc0 | 72 65 74 75 72 6e 3b 00 00 00 03 20 20 7d 00 00 00 18 20 20 69 66 28 73 79 6d 3d 3d 58 4b 42 5f | return;......}......if(sym==XKB_ |
| 34be0 | 4b 45 59 5f 44 6f 77 6e 29 7b 00 00 00 47 20 20 20 20 69 6e 74 20 6e 73 3d 28 66 70 2d 3e 73 65 | KEY_Down){...G....int.ns=(fp->se |
| 34c00 | 6c 65 63 74 65 64 3c 66 70 2d 3e 6e 65 6e 74 72 69 65 73 2d 31 29 3f 66 70 2d 3e 73 65 6c 65 63 | lected<fp->nentries-1)?fp->selec |
| 34c20 | 74 65 64 2b 31 3a 66 70 2d 3e 6e 65 6e 74 72 69 65 73 2d 31 3b 00 00 00 27 20 20 20 20 69 66 28 | ted+1:fp->nentries-1;...'....if( |
| 34c40 | 66 70 2d 3e 6e 65 6e 74 72 69 65 73 3e 30 29 20 66 70 5f 73 65 6c 65 63 74 28 61 2c 6e 73 29 3b | fp->nentries>0).fp_select(a,ns); |
| 34c60 | 00 00 00 1c 20 20 20 20 69 6e 74 20 76 69 73 3d 66 70 5f 6c 69 73 74 5f 76 69 73 28 66 70 29 3b | ........int.vis=fp_list_vis(fp); |
| 34c80 | 00 00 00 43 20 20 20 20 69 66 28 66 70 2d 3e 73 65 6c 65 63 74 65 64 3e 3d 66 70 2d 3e 73 63 72 | ...C....if(fp->selected>=fp->scr |
| 34ca0 | 6f 6c 6c 2b 76 69 73 29 20 66 70 2d 3e 73 63 72 6f 6c 6c 3d 66 70 2d 3e 73 65 6c 65 63 74 65 64 | oll+vis).fp->scroll=fp->selected |
| 34cc0 | 2d 76 69 73 2b 31 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 | -vis+1;........return;......}... |
| 34ce0 | 4e 20 20 63 68 61 72 20 62 75 66 5b 38 5d 3b 20 69 6e 74 20 6c 65 6e 3d 78 6b 62 5f 73 74 61 74 | N..char.buf[8];.int.len=xkb_stat |
| 34d00 | 65 5f 6b 65 79 5f 67 65 74 5f 75 74 66 38 28 61 2d 3e 78 6b 62 5f 73 74 61 74 65 2c 6b 63 2c 62 | e_key_get_utf8(a->xkb_state,kc,b |
| 34d20 | 75 66 2c 73 69 7a 65 6f 66 20 62 75 66 29 3b 00 00 00 45 20 20 69 66 28 6c 65 6e 3e 30 26 26 28 | uf,sizeof.buf);...E..if(len>0&&( |
| 34d40 | 75 6e 73 69 67 6e 65 64 20 63 68 61 72 29 62 75 66 5b 30 5d 3e 3d 33 32 26 26 66 70 2d 3e 69 6e | unsigned.char)buf[0]>=32&&fp->in |
| 34d60 | 70 75 74 5f 6c 65 6e 2b 6c 65 6e 3c 4d 41 58 5f 50 41 54 48 2d 31 29 7b 00 00 00 40 20 20 20 20 | put_len+len<MAX_PATH-1){...@.... |
| 34d80 | 6d 65 6d 6d 6f 76 65 28 66 70 2d 3e 69 6e 70 75 74 2b 66 70 2d 3e 69 6e 70 75 74 5f 63 75 72 2b | memmove(fp->input+fp->input_cur+ |
| 34da0 | 6c 65 6e 2c 66 70 2d 3e 69 6e 70 75 74 2b 66 70 2d 3e 69 6e 70 75 74 5f 63 75 72 2c 00 00 00 29 | len,fp->input+fp->input_cur,...) |
| 34dc0 | 20 20 20 20 20 20 20 20 20 20 20 20 66 70 2d 3e 69 6e 70 75 74 5f 6c 65 6e 2d 66 70 2d 3e 69 6e | ............fp->input_len-fp->in |
| 34de0 | 70 75 74 5f 63 75 72 29 3b 00 00 00 2c 20 20 20 20 6d 65 6d 63 70 79 28 66 70 2d 3e 69 6e 70 75 | put_cur);...,....memcpy(fp->inpu |
| 34e00 | 74 2b 66 70 2d 3e 69 6e 70 75 74 5f 63 75 72 2c 62 75 66 2c 6c 65 6e 29 3b 00 00 00 2b 20 20 20 | t+fp->input_cur,buf,len);...+... |
| 34e20 | 20 66 70 2d 3e 69 6e 70 75 74 5f 6c 65 6e 2b 3d 6c 65 6e 3b 20 66 70 2d 3e 69 6e 70 75 74 5f 63 | .fp->input_len+=len;.fp->input_c |
| 34e40 | 75 72 2b 3d 6c 65 6e 3b 00 00 00 22 20 20 20 20 66 70 2d 3e 69 6e 70 75 74 5b 66 70 2d 3e 69 6e | ur+=len;..."....fp->input[fp->in |
| 34e60 | 70 75 74 5f 6c 65 6e 5d 3d 27 5c 30 27 3b 00 00 00 14 20 20 20 20 66 70 2d 3e 73 65 6c 65 63 74 | put_len]='\0';........fp->select |
| 34e80 | 65 64 3d 2d 31 3b 00 00 00 11 20 20 20 20 72 65 64 72 61 77 5f 66 70 28 61 29 3b 00 00 00 03 20 | ed=-1;........redraw_fp(a);..... |
| 34ea0 | 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 32 73 74 61 74 69 63 20 76 6f 69 64 20 66 70 5f 63 6c | .}....}.......2static.void.fp_cl |
| 34ec0 | 69 63 6b 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 2c 69 6e 74 20 6d 78 2c 69 6e 74 20 6d 79 29 | ick(struct.app.*a,int.mx,int.my) |
| 34ee0 | 7b 00 00 00 10 20 20 46 50 20 2a 66 70 3d 26 61 2d 3e 66 70 3b 00 00 00 3a 20 20 69 6e 74 20 69 | {......FP.*fp=&a->fp;...:..int.i |
| 34f00 | 6e 70 68 3d 66 70 5f 69 6e 70 5f 68 28 29 2c 20 74 69 74 68 3d 66 70 5f 74 69 74 6c 65 5f 68 28 | nph=fp_inp_h(),.tith=fp_title_h( |
| 34f20 | 29 2c 20 62 74 6e 68 3d 66 70 5f 62 74 6e 5f 68 28 29 3b 00 00 00 39 20 20 69 6e 74 20 6c 74 70 | ),.btnh=fp_btn_h();...9..int.ltp |
| 34f40 | 3d 66 70 5f 6c 69 73 74 5f 74 6f 70 28 29 2c 20 6c 62 74 3d 66 70 5f 6c 69 73 74 5f 62 6f 74 28 | =fp_list_top(),.lbt=fp_list_bot( |
| 34f60 | 66 70 29 2c 20 72 68 3d 66 70 5f 72 68 28 29 3b 00 00 00 22 20 20 69 6e 74 20 62 62 79 3d 6c 62 | fp),.rh=fp_rh();..."..int.bby=lb |
| 34f80 | 74 2b 31 2b 28 62 74 6e 68 2d 63 65 6c 6c 5f 68 2d 38 29 2f 32 3b 00 00 00 36 20 20 63 6f 6e 73 | t+1+(btnh-cell_h-8)/2;...6..cons |
| 34fa0 | 74 20 63 68 61 72 20 2a 6f 6b 6c 62 6c 3d 28 66 70 2d 3e 6d 6f 64 65 3d 3d 46 50 5f 4f 50 45 4e | t.char.*oklbl=(fp->mode==FP_OPEN |
| 34fc0 | 29 3f 22 4f 70 65 6e 22 3a 22 53 61 76 65 22 3b 00 00 00 32 20 20 69 6e 74 20 6f 6b 77 3d 73 70 | )?"Open":"Save";...2..int.okw=sp |
| 34fe0 | 77 28 6f 6b 6c 62 6c 29 2b 42 54 4e 5f 50 41 44 2a 32 2c 20 6f 6b 78 3d 66 70 2d 3e 77 2d 50 41 | w(oklbl)+BTN_PAD*2,.okx=fp->w-PA |
| 35000 | 44 2d 6f 6b 77 3b 00 00 00 33 20 20 69 6e 74 20 63 6e 77 3d 73 70 77 28 22 43 61 6e 63 65 6c 22 | D-okw;...3..int.cnw=spw("Cancel" |
| 35020 | 29 2b 42 54 4e 5f 50 41 44 2a 32 2c 20 63 6e 78 3d 6f 6b 78 2d 50 41 44 2d 63 6e 77 3b 00 00 00 | )+BTN_PAD*2,.cnx=okx-PAD-cnw;... |
| 35040 | 00 00 00 00 49 20 20 69 66 28 6d 78 3e 3d 6f 6b 78 26 26 6d 78 3c 6f 6b 78 2b 6f 6b 77 26 26 6d | ....I..if(mx>=okx&&mx<okx+okw&&m |
| 35060 | 79 3e 3d 62 62 79 26 26 6d 79 3c 62 62 79 2b 63 65 6c 6c 5f 68 2b 38 29 7b 66 70 5f 63 6f 6d 6d | y>=bby&&my<bby+cell_h+8){fp_comm |
| 35080 | 69 74 28 61 29 3b 72 65 74 75 72 6e 3b 7d 00 00 00 34 20 20 69 66 28 6d 78 3e 3d 63 6e 78 26 26 | it(a);return;}...4..if(mx>=cnx&& |
| 350a0 | 6d 78 3c 63 6e 78 2b 63 6e 77 26 26 6d 79 3e 3d 62 62 79 26 26 6d 79 3c 62 62 79 2b 63 65 6c 6c | mx<cnx+cnw&&my>=bby&&my<bby+cell |
| 350c0 | 5f 68 2b 38 29 7b 00 00 00 37 20 20 20 20 66 70 5f 66 72 65 65 5f 65 6e 74 72 69 65 73 28 66 70 | _h+8){...7....fp_free_entries(fp |
| 350e0 | 29 3b 66 70 5f 64 65 73 74 72 6f 79 28 61 29 3b 72 65 64 72 61 77 28 61 29 3b 72 65 74 75 72 6e | );fp_destroy(a);redraw(a);return |
| 35100 | 3b 00 00 00 03 20 20 7d 00 00 00 23 20 20 69 66 28 6d 79 3e 3d 6c 74 70 26 26 6d 79 3c 6c 62 74 | ;......}...#..if(my>=ltp&&my<lbt |
| 35120 | 26 26 66 70 2d 3e 65 6e 74 72 69 65 73 29 7b 00 00 00 23 20 20 20 20 69 6e 74 20 69 64 78 3d 28 | &&fp->entries){...#....int.idx=( |
| 35140 | 6d 79 2d 6c 74 70 29 2f 72 68 2b 66 70 2d 3e 73 63 72 6f 6c 6c 3b 00 00 00 21 20 20 20 20 69 66 | my-ltp)/rh+fp->scroll;...!....if |
| 35160 | 28 69 64 78 3e 3d 30 26 26 69 64 78 3c 66 70 2d 3e 6e 65 6e 74 72 69 65 73 29 7b 00 00 00 35 20 | (idx>=0&&idx<fp->nentries){...5. |
| 35180 | 20 20 20 20 20 69 66 28 66 70 2d 3e 73 65 6c 65 63 74 65 64 3d 3d 69 64 78 26 26 66 70 2d 3e 65 | .....if(fp->selected==idx&&fp->e |
| 351a0 | 6e 74 72 69 65 73 5b 69 64 78 5d 2e 69 73 5f 64 69 72 29 7b 00 00 00 1b 20 20 20 20 20 20 20 20 | ntries[idx].is_dir){............ |
| 351c0 | 66 70 5f 6e 61 76 69 67 61 74 65 28 61 2c 69 64 78 29 3b 00 00 00 0e 20 20 20 20 20 20 7d 20 65 | fp_navigate(a,idx);..........}.e |
| 351e0 | 6c 73 65 20 7b 00 00 00 19 20 20 20 20 20 20 20 20 66 70 5f 73 65 6c 65 63 74 28 61 2c 69 64 78 | lse.{............fp_select(a,idx |
| 35200 | 29 3b 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 0b 20 20 20 20 72 65 | );..........}........}........re |
| 35220 | 74 75 72 6e 3b 00 00 00 03 20 20 7d 00 00 00 11 20 20 69 6e 74 20 69 6e 79 3d 74 69 74 68 2b 34 | turn;......}......int.iny=tith+4 |
| 35240 | 3b 00 00 00 1b 20 20 69 66 28 6d 79 3e 3d 69 6e 79 26 26 6d 79 3c 69 6e 79 2b 69 6e 70 68 29 7b | ;......if(my>=iny&&my<iny+inph){ |
| 35260 | 00 00 00 28 20 20 20 20 69 6e 74 20 6d 61 78 5f 76 69 73 3d 28 66 70 2d 3e 77 2d 50 41 44 2a 32 | ...(....int.max_vis=(fp->w-PAD*2 |
| 35280 | 2d 31 32 29 2f 63 65 6c 6c 5f 77 3b 00 00 00 3b 20 20 20 20 69 6e 74 20 64 73 3d 28 66 70 2d 3e | -12)/cell_w;...;....int.ds=(fp-> |
| 352a0 | 69 6e 70 75 74 5f 63 75 72 3e 6d 61 78 5f 76 69 73 29 3f 66 70 2d 3e 69 6e 70 75 74 5f 63 75 72 | input_cur>max_vis)?fp->input_cur |
| 352c0 | 2d 6d 61 78 5f 76 69 73 3a 30 3b 00 00 00 20 20 20 20 20 69 6e 74 20 6e 63 3d 28 6d 78 2d 50 41 | -max_vis:0;........int.nc=(mx-PA |
| 352e0 | 44 2d 36 29 2f 63 65 6c 6c 5f 77 2b 64 73 3b 00 00 00 12 20 20 20 20 69 66 28 6e 63 3c 30 29 20 | D-6)/cell_w+ds;........if(nc<0). |
| 35300 | 6e 63 3d 30 3b 00 00 00 2a 20 20 20 20 69 66 28 6e 63 3e 66 70 2d 3e 69 6e 70 75 74 5f 6c 65 6e | nc=0;...*....if(nc>fp->input_len |
| 35320 | 29 20 6e 63 3d 66 70 2d 3e 69 6e 70 75 74 5f 6c 65 6e 3b 00 00 00 15 20 20 20 20 66 70 2d 3e 69 | ).nc=fp->input_len;........fp->i |
| 35340 | 6e 70 75 74 5f 63 75 72 3d 6e 63 3b 00 00 00 11 20 20 20 20 72 65 64 72 61 77 5f 66 70 28 61 29 | nput_cur=nc;........redraw_fp(a) |
| 35360 | 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 32 73 74 61 74 69 63 20 76 6f 69 64 | ;......}....}.......2static.void |
| 35380 | 20 66 70 5f 68 6f 76 65 72 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 2c 69 6e 74 20 6d 78 2c 69 | .fp_hover(struct.app.*a,int.mx,i |
| 353a0 | 6e 74 20 6d 79 29 7b 00 00 00 10 20 20 46 50 20 2a 66 70 3d 26 61 2d 3e 66 70 3b 00 00 00 39 20 | nt.my){......FP.*fp=&a->fp;...9. |
| 353c0 | 20 69 6e 74 20 6c 74 70 3d 66 70 5f 6c 69 73 74 5f 74 6f 70 28 29 2c 20 6c 62 74 3d 66 70 5f 6c | .int.ltp=fp_list_top(),.lbt=fp_l |
| 353e0 | 69 73 74 5f 62 6f 74 28 66 70 29 2c 20 72 68 3d 66 70 5f 72 68 28 29 3b 00 00 00 0c 20 20 69 6e | ist_bot(fp),.rh=fp_rh();......in |
| 35400 | 74 20 6e 68 3d 2d 31 3b 00 00 00 23 20 20 69 66 28 6d 79 3e 3d 6c 74 70 26 26 6d 79 3c 6c 62 74 | t.nh=-1;...#..if(my>=ltp&&my<lbt |
| 35420 | 26 26 66 70 2d 3e 65 6e 74 72 69 65 73 29 7b 00 00 00 23 20 20 20 20 69 6e 74 20 69 64 78 3d 28 | &&fp->entries){...#....int.idx=( |
| 35440 | 6d 79 2d 6c 74 70 29 2f 72 68 2b 66 70 2d 3e 73 63 72 6f 6c 6c 3b 00 00 00 28 20 20 20 20 69 66 | my-ltp)/rh+fp->scroll;...(....if |
| 35460 | 28 69 64 78 3e 3d 30 26 26 69 64 78 3c 66 70 2d 3e 6e 65 6e 74 72 69 65 73 29 20 6e 68 3d 69 64 | (idx>=0&&idx<fp->nentries).nh=id |
| 35480 | 78 3b 00 00 00 03 20 20 7d 00 00 00 33 20 20 69 66 28 6e 68 21 3d 66 70 2d 3e 68 6f 76 65 72 65 | x;......}...3..if(nh!=fp->hovere |
| 354a0 | 64 29 7b 66 70 2d 3e 68 6f 76 65 72 65 64 3d 6e 68 3b 72 65 64 72 61 77 5f 66 70 28 61 29 3b 7d | d){fp->hovered=nh;redraw_fp(a);} |
| 354c0 | 00 00 00 01 7d 00 00 00 00 00 00 00 28 73 74 61 74 69 63 20 76 6f 69 64 20 61 62 6f 75 74 5f 72 | ....}.......(static.void.about_r |
| 354e0 | 65 64 72 61 77 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 7b 00 00 00 15 20 20 50 6f 70 75 70 | edraw(struct.app.*a){......Popup |
| 35500 | 20 2a 70 3d 26 61 2d 3e 61 62 6f 75 74 3b 00 00 00 22 20 20 69 66 28 21 70 2d 3e 6f 70 65 6e 7c | .*p=&a->about;..."..if(!p->open| |
| 35520 | 7c 21 70 2d 3e 70 69 78 65 6c 73 29 20 72 65 74 75 72 6e 3b 00 00 00 2a 20 20 76 6f 69 64 20 2a | |!p->pixels).return;...*..void.* |
| 35540 | 70 78 3d 70 2d 3e 70 69 78 65 6c 73 3b 20 69 6e 74 20 70 77 3d 70 2d 3e 77 2c 70 68 3d 70 2d 3e | px=p->pixels;.int.pw=p->w,ph=p-> |
| 35560 | 68 3b 00 00 00 37 20 20 66 6f 72 28 69 6e 74 20 69 3d 30 3b 69 3c 70 77 2a 70 68 3b 69 2b 2b 29 | h;...7..for(int.i=0;i<pw*ph;i++) |
| 35580 | 20 28 28 75 69 6e 74 33 32 5f 74 2a 29 70 78 29 5b 69 5d 3d 42 47 5f 43 4f 4c 4f 52 3b 00 00 00 | .((uint32_t*)px)[i]=BG_COLOR;... |
| 355a0 | 4b 20 20 66 72 65 63 74 28 70 78 2c 70 77 2c 70 68 2c 30 2c 30 2c 70 77 2c 31 2c 53 45 50 5f 43 | K..frect(px,pw,ph,0,0,pw,1,SEP_C |
| 355c0 | 4f 4c 4f 52 29 3b 66 72 65 63 74 28 70 78 2c 70 77 2c 70 68 2c 30 2c 70 68 2d 31 2c 70 77 2c 31 | OLOR);frect(px,pw,ph,0,ph-1,pw,1 |
| 355e0 | 2c 53 45 50 5f 43 4f 4c 4f 52 29 3b 00 00 00 4b 20 20 66 72 65 63 74 28 70 78 2c 70 77 2c 70 68 | ,SEP_COLOR);...K..frect(px,pw,ph |
| 35600 | 2c 30 2c 30 2c 31 2c 70 68 2c 53 45 50 5f 43 4f 4c 4f 52 29 3b 66 72 65 63 74 28 70 78 2c 70 77 | ,0,0,1,ph,SEP_COLOR);frect(px,pw |
| 35620 | 2c 70 68 2c 70 77 2d 31 2c 30 2c 31 2c 70 68 2c 53 45 50 5f 43 4f 4c 4f 52 29 3b 00 00 00 0e 20 | ,ph,pw-1,0,1,ph,SEP_COLOR);..... |
| 35640 | 20 69 6e 74 20 79 3d 50 41 44 2a 32 3b 00 00 00 50 20 20 64 73 74 72 28 70 78 2c 70 77 2c 70 68 | .int.y=PAD*2;...P..dstr(px,pw,ph |
| 35660 | 2c 50 41 44 2a 32 2c 79 2c 22 77 6c 65 64 20 20 2d 20 20 77 61 79 6c 61 6e 64 20 74 65 78 74 20 | ,PAD*2,y,"wled..-..wayland.text. |
| 35680 | 65 64 69 74 6f 72 22 2c 46 47 5f 43 4f 4c 4f 52 29 3b 20 79 2b 3d 63 65 6c 6c 5f 68 2b 50 41 44 | editor",FG_COLOR);.y+=cell_h+PAD |
| 356a0 | 3b 00 00 00 37 20 20 66 72 65 63 74 28 70 78 2c 70 77 2c 70 68 2c 50 41 44 2a 32 2c 79 2c 70 77 | ;...7..frect(px,pw,ph,PAD*2,y,pw |
| 356c0 | 2d 50 41 44 2a 34 2c 31 2c 53 45 50 5f 43 4f 4c 4f 52 29 3b 20 79 2b 3d 50 41 44 3b 00 00 00 49 | -PAD*4,1,SEP_COLOR);.y+=PAD;...I |
| 356e0 | 20 20 64 73 74 72 28 70 78 2c 70 77 2c 70 68 2c 50 41 44 2a 32 2c 79 2c 22 4c 69 63 65 6e 73 65 | ..dstr(px,pw,ph,PAD*2,y,"License |
| 35700 | 64 20 75 6e 64 65 72 20 47 50 4c 20 76 33 2e 30 22 2c 46 47 5f 43 4f 4c 4f 52 29 3b 20 79 2b 3d | d.under.GPL.v3.0",FG_COLOR);.y+= |
| 35720 | 63 65 6c 6c 5f 68 2b 36 3b 00 00 00 52 20 20 64 73 74 72 28 70 78 2c 70 77 2c 70 68 2c 50 41 44 | cell_h+6;...R..dstr(px,pw,ph,PAD |
| 35740 | 2a 32 2c 79 2c 22 43 72 65 61 74 65 64 20 62 79 20 20 67 69 74 2e 73 72 2e 68 74 2f 7e 63 6f 61 | *2,y,"Created.by..git.sr.ht/~coa |
| 35760 | 73 74 65 65 6e 2f 22 2c 46 47 5f 43 4f 4c 4f 52 29 3b 20 79 2b 3d 63 65 6c 6c 5f 68 2b 36 3b 00 | steen/",FG_COLOR);.y+=cell_h+6;. |
| 35780 | 00 00 49 20 20 64 73 74 72 28 70 78 2c 70 77 2c 70 68 2c 50 41 44 2a 32 2c 79 2c 22 53 6f 75 72 | ..I..dstr(px,pw,ph,PAD*2,y,"Sour |
| 357a0 | 63 65 3a 20 20 20 20 20 67 69 74 2e 73 72 2e 68 74 2f 7e 63 6f 61 73 74 65 65 6e 2f 77 6c 65 64 | ce:.....git.sr.ht/~coasteen/wled |
| 357c0 | 22 2c 46 47 5f 43 4f 4c 4f 52 29 3b 00 00 00 25 20 20 73 75 72 66 5f 63 6f 6d 6d 69 74 28 70 2d | ",FG_COLOR);...%..surf_commit(p- |
| 357e0 | 3e 77 73 2c 70 78 2c 70 2d 3e 62 75 66 2c 70 77 2c 70 68 29 3b 00 00 00 01 7d 00 00 00 49 73 74 | >ws,px,p->buf,pw,ph);....}...Ist |
| 35800 | 61 74 69 63 20 76 6f 69 64 20 61 62 6f 75 74 5f 78 73 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 73 | atic.void.about_xs_cfg(void.*d,s |
| 35820 | 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 2c 75 69 6e 74 33 32 5f 74 20 73 | truct.xdg_surface.*xs,uint32_t.s |
| 35840 | 65 72 69 61 6c 29 7b 00 00 00 26 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 3d 64 3b 20 50 6f | erial){...&..struct.app.*a=d;.Po |
| 35860 | 70 75 70 20 2a 70 3d 26 61 2d 3e 61 62 6f 75 74 3b 00 00 00 27 20 20 78 64 67 5f 73 75 72 66 61 | pup.*p=&a->about;...'..xdg_surfa |
| 35880 | 63 65 5f 61 63 6b 5f 63 6f 6e 66 69 67 75 72 65 28 78 73 2c 73 65 72 69 61 6c 29 3b 00 00 00 49 | ce_ack_configure(xs,serial);...I |
| 358a0 | 20 20 69 66 28 21 70 2d 3e 70 69 78 65 6c 73 29 20 70 2d 3e 70 69 78 65 6c 73 3d 6d 61 6b 65 5f | ..if(!p->pixels).p->pixels=make_ |
| 358c0 | 73 68 6d 28 61 2c 70 2d 3e 77 2c 70 2d 3e 68 2c 26 70 2d 3e 62 75 66 2c 26 70 2d 3e 70 69 78 65 | shm(a,p->w,p->h,&p->buf,&p->pixe |
| 358e0 | 6c 73 5f 73 69 7a 65 29 3b 00 00 00 26 20 20 70 2d 3e 63 6f 6e 66 69 67 75 72 65 64 3d 74 72 75 | ls_size);...&..p->configured=tru |
| 35900 | 65 3b 20 61 62 6f 75 74 5f 72 65 64 72 61 77 28 61 29 3b 00 00 00 01 7d 00 00 00 61 73 74 61 74 | e;.about_redraw(a);....}...astat |
| 35920 | 69 63 20 76 6f 69 64 20 61 62 6f 75 74 5f 78 74 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 73 74 72 | ic.void.about_xt_cfg(void.*d,str |
| 35940 | 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 74 2c 69 6e 74 33 32 5f 74 20 77 2c 69 6e | uct.xdg_toplevel.*t,int32_t.w,in |
| 35960 | 74 33 32 5f 74 20 68 2c 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 29 7b 7d 00 00 00 | t32_t.h,struct.wl_array.*s){}... |
| 35980 | 3b 73 74 61 74 69 63 20 76 6f 69 64 20 61 62 6f 75 74 5f 78 74 5f 63 6c 6f 73 65 28 76 6f 69 64 | ;static.void.about_xt_close(void |
| 359a0 | 20 2a 64 2c 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 74 29 7b 00 00 00 26 | .*d,struct.xdg_toplevel.*t){...& |
| 359c0 | 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 3d 64 3b 20 50 6f 70 75 70 20 2a 70 3d 26 61 2d 3e | ..struct.app.*a=d;.Popup.*p=&a-> |
| 359e0 | 61 62 6f 75 74 3b 00 00 00 41 20 20 69 66 28 70 2d 3e 62 75 66 29 20 20 20 20 7b 77 6c 5f 62 75 | about;...A..if(p->buf)....{wl_bu |
| 35a00 | 66 66 65 72 5f 64 65 73 74 72 6f 79 28 70 2d 3e 62 75 66 29 3b 20 20 20 20 20 20 20 20 20 70 2d | ffer_destroy(p->buf);.........p- |
| 35a20 | 3e 62 75 66 3d 4e 55 4c 4c 3b 7d 00 00 00 44 20 20 69 66 28 70 2d 3e 70 69 78 65 6c 73 29 20 7b | >buf=NULL;}...D..if(p->pixels).{ |
| 35a40 | 6d 75 6e 6d 61 70 28 70 2d 3e 70 69 78 65 6c 73 2c 70 2d 3e 70 69 78 65 6c 73 5f 73 69 7a 65 29 | munmap(p->pixels,p->pixels_size) |
| 35a60 | 3b 20 20 70 2d 3e 70 69 78 65 6c 73 3d 4e 55 4c 4c 3b 7d 00 00 00 40 20 20 69 66 28 70 2d 3e 78 | ;..p->pixels=NULL;}...@..if(p->x |
| 35a80 | 74 29 20 20 20 20 20 7b 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 64 65 73 74 72 6f 79 28 70 2d 3e | t).....{xdg_toplevel_destroy(p-> |
| 35aa0 | 78 74 29 3b 20 20 20 20 20 20 20 70 2d 3e 78 74 3d 4e 55 4c 4c 3b 7d 00 00 00 40 20 20 69 66 28 | xt);.......p->xt=NULL;}...@..if( |
| 35ac0 | 70 2d 3e 78 73 29 20 20 20 20 20 7b 78 64 67 5f 73 75 72 66 61 63 65 5f 64 65 73 74 72 6f 79 28 | p->xs).....{xdg_surface_destroy( |
| 35ae0 | 70 2d 3e 78 73 29 3b 20 20 20 20 20 20 20 20 70 2d 3e 78 73 3d 4e 55 4c 4c 3b 7d 00 00 00 40 20 | p->xs);........p->xs=NULL;}...@. |
| 35b00 | 20 69 66 28 70 2d 3e 77 73 29 20 20 20 20 20 7b 77 6c 5f 73 75 72 66 61 63 65 5f 64 65 73 74 72 | .if(p->ws).....{wl_surface_destr |
| 35b20 | 6f 79 28 70 2d 3e 77 73 29 3b 20 20 20 20 20 20 20 20 20 70 2d 3e 77 73 3d 4e 55 4c 4c 3b 7d 00 | oy(p->ws);.........p->ws=NULL;}. |
| 35b40 | 00 00 25 20 20 70 2d 3e 6f 70 65 6e 3d 66 61 6c 73 65 3b 20 70 2d 3e 63 6f 6e 66 69 67 75 72 65 | ..%..p->open=false;.p->configure |
| 35b60 | 64 3d 66 61 6c 73 65 3b 00 00 00 01 7d 00 00 00 4e 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 | d=false;....}...Nstatic.const.st |
| 35b80 | 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 20 61 62 6f 75 74 5f | ruct.xdg_surface_listener.about_ |
| 35ba0 | 78 73 5f 6c 3d 7b 2e 63 6f 6e 66 69 67 75 72 65 3d 61 62 6f 75 74 5f 78 73 5f 63 66 67 7d 3b 00 | xs_l={.configure=about_xs_cfg};. |
| 35bc0 | 00 00 65 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 | ..estatic.const.struct.xdg_tople |
| 35be0 | 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 61 62 6f 75 74 5f 78 74 5f 6c 3d 7b 2e 63 6f 6e 66 69 67 | vel_listener.about_xt_l={.config |
| 35c00 | 75 72 65 3d 61 62 6f 75 74 5f 78 74 5f 63 66 67 2c 2e 63 6c 6f 73 65 3d 61 62 6f 75 74 5f 78 74 | ure=about_xt_cfg,.close=about_xt |
| 35c20 | 5f 63 6c 6f 73 65 7d 3b 00 00 00 00 00 00 00 26 73 74 61 74 69 63 20 76 6f 69 64 20 6f 70 65 6e | _close};.......&static.void.open |
| 35c40 | 5f 61 62 6f 75 74 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 7b 00 00 00 15 20 20 50 6f 70 75 | _about(struct.app.*a){......Popu |
| 35c60 | 70 20 2a 70 3d 26 61 2d 3e 61 62 6f 75 74 3b 00 00 00 15 20 20 69 66 28 70 2d 3e 6f 70 65 6e 29 | p.*p=&a->about;......if(p->open) |
| 35c80 | 20 72 65 74 75 72 6e 3b 00 00 00 23 20 20 70 2d 3e 77 3d 34 32 30 3b 20 70 2d 3e 68 3d 31 36 30 | .return;...#..p->w=420;.p->h=160 |
| 35ca0 | 3b 20 70 2d 3e 6f 70 65 6e 3d 74 72 75 65 3b 00 00 00 2e 20 20 70 2d 3e 77 73 3d 77 6c 5f 63 6f | ;.p->open=true;......p->ws=wl_co |
| 35cc0 | 6d 70 6f 73 69 74 6f 72 5f 63 72 65 61 74 65 5f 73 75 72 66 61 63 65 28 61 2d 3e 63 6f 6d 70 29 | mpositor_create_surface(a->comp) |
| 35ce0 | 3b 00 00 00 31 20 20 70 2d 3e 78 73 3d 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 | ;...1..p->xs=xdg_wm_base_get_xdg |
| 35d00 | 5f 73 75 72 66 61 63 65 28 61 2d 3e 77 6d 2c 70 2d 3e 77 73 29 3b 00 00 00 30 20 20 78 64 67 5f | _surface(a->wm,p->ws);...0..xdg_ |
| 35d20 | 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 70 2d 3e 78 73 2c 26 61 62 6f 75 | surface_add_listener(p->xs,&abou |
| 35d40 | 74 5f 78 73 5f 6c 2c 61 29 3b 00 00 00 28 20 20 70 2d 3e 78 74 3d 78 64 67 5f 73 75 72 66 61 63 | t_xs_l,a);...(..p->xt=xdg_surfac |
| 35d60 | 65 5f 67 65 74 5f 74 6f 70 6c 65 76 65 6c 28 70 2d 3e 78 73 29 3b 00 00 00 31 20 20 78 64 67 5f | e_get_toplevel(p->xs);...1..xdg_ |
| 35d80 | 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 70 2d 3e 78 74 2c 26 61 62 6f | toplevel_add_listener(p->xt,&abo |
| 35da0 | 75 74 5f 78 74 5f 6c 2c 61 29 3b 00 00 00 2d 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 | ut_xt_l,a);...-..xdg_toplevel_se |
| 35dc0 | 74 5f 74 69 74 6c 65 28 70 2d 3e 78 74 2c 22 41 62 6f 75 74 20 77 6c 65 64 22 29 3b 00 00 00 2d | t_title(p->xt,"About.wled");...- |
| 35de0 | 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 6d 69 6e 5f 73 69 7a 65 28 70 2d 3e 78 | ..xdg_toplevel_set_min_size(p->x |
| 35e00 | 74 2c 70 2d 3e 77 2c 70 2d 3e 68 29 3b 00 00 00 2d 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f | t,p->w,p->h);...-..xdg_toplevel_ |
| 35e20 | 73 65 74 5f 6d 61 78 5f 73 69 7a 65 28 70 2d 3e 78 74 2c 70 2d 3e 77 2c 70 2d 3e 68 29 3b 00 00 | set_max_size(p->xt,p->w,p->h);.. |
| 35e40 | 00 1b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 70 2d 3e 77 73 29 3b 00 00 00 | ....wl_surface_commit(p->ws);... |
| 35e60 | 01 7d 00 00 00 00 00 00 00 24 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 62 61 72 28 73 | .}.......$static.void.draw_bar(s |
| 35e80 | 74 72 75 63 74 20 61 70 70 20 2a 61 29 7b 00 00 00 36 20 20 76 6f 69 64 20 2a 70 78 3d 61 2d 3e | truct.app.*a){...6..void.*px=a-> |
| 35ea0 | 70 69 78 65 6c 73 3b 20 69 6e 74 20 70 77 3d 61 2d 3e 77 2c 70 68 3d 61 2d 3e 68 2c 62 79 3d 62 | pixels;.int.pw=a->w,ph=a->h,by=b |
| 35ec0 | 61 72 5f 79 28 61 29 3b 00 00 00 27 20 20 66 72 65 63 74 28 70 78 2c 70 77 2c 70 68 2c 30 2c 62 | ar_y(a);...'..frect(px,pw,ph,0,b |
| 35ee0 | 79 2c 70 77 2c 42 41 52 5f 48 2c 42 41 52 5f 42 47 29 3b 00 00 00 26 20 20 66 72 65 63 74 28 70 | y,pw,BAR_H,BAR_BG);...&..frect(p |
| 35f00 | 78 2c 70 77 2c 70 68 2c 30 2c 62 79 2c 70 77 2c 31 2c 53 45 50 5f 43 4f 4c 4f 52 29 3b 00 00 00 | x,pw,ph,0,by,pw,1,SEP_COLOR);... |
| 35f20 | 25 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6c 62 6c 73 5b 5d 3d 7b 22 46 69 6c 65 22 2c 22 49 | %..const.char.*lbls[]={"File","I |
| 35f40 | 6e 66 6f 22 7d 3b 00 00 00 17 20 20 66 6f 72 28 69 6e 74 20 69 3d 30 3b 69 3c 32 3b 69 2b 2b 29 | nfo"};......for(int.i=0;i<2;i++) |
| 35f60 | 7b 00 00 00 20 20 20 20 20 69 6e 74 20 62 78 3d 62 74 6e 5f 78 28 69 29 2c 62 77 3d 62 74 6e 5f | {........int.bx=btn_x(i),bw=btn_ |
| 35f80 | 77 28 69 29 3b 00 00 00 2f 20 20 20 20 62 6f 6f 6c 20 68 6f 76 3d 61 2d 3e 6d 79 3e 3d 62 79 26 | w(i);.../....bool.hov=a->my>=by& |
| 35fa0 | 26 61 2d 3e 6d 78 3e 3d 62 78 26 26 61 2d 3e 6d 78 3c 62 78 2b 62 77 3b 00 00 00 50 20 20 20 20 | &a->mx>=bx&&a->mx<bx+bw;...P.... |
| 35fc0 | 69 66 28 68 6f 76 7c 7c 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 3d 3d 28 4d 65 6e 75 49 64 29 69 29 | if(hov||a->open_menu==(MenuId)i) |
| 35fe0 | 20 66 72 65 63 74 28 70 78 2c 70 77 2c 70 68 2c 62 78 2c 62 79 2b 31 2c 62 77 2c 42 41 52 5f 48 | .frect(px,pw,ph,bx,by+1,bw,BAR_H |
| 36000 | 2d 31 2c 42 54 4e 5f 48 4f 56 29 3b 00 00 00 41 20 20 20 20 64 73 74 72 28 70 78 2c 70 77 2c 70 | -1,BTN_HOV);...A....dstr(px,pw,p |
| 36020 | 68 2c 62 78 2b 42 54 4e 5f 50 41 44 2c 62 79 2b 28 42 41 52 5f 48 2d 63 65 6c 6c 5f 68 29 2f 32 | h,bx+BTN_PAD,by+(BAR_H-cell_h)/2 |
| 36040 | 2c 6c 62 6c 73 5b 69 5d 2c 42 41 52 5f 46 47 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 | ,lbls[i],BAR_FG);......}....}... |
| 36060 | 00 00 00 00 2e 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 64 72 6f 70 28 73 74 72 75 63 | .....static.void.draw_drop(struc |
| 36080 | 74 20 61 70 70 20 2a 61 2c 4d 65 6e 75 49 64 20 6d 29 7b 00 00 00 2a 20 20 76 6f 69 64 20 2a 70 | t.app.*a,MenuId.m){...*..void.*p |
| 360a0 | 78 3d 61 2d 3e 70 69 78 65 6c 73 3b 20 69 6e 74 20 70 77 3d 61 2d 3e 77 2c 70 68 3d 61 2d 3e 68 | x=a->pixels;.int.pw=a->w,ph=a->h |
| 360c0 | 3b 00 00 00 32 20 20 69 6e 74 20 62 79 3d 62 61 72 5f 79 28 61 29 2c 64 77 3d 64 72 6f 70 5f 77 | ;...2..int.by=bar_y(a),dw=drop_w |
| 360e0 | 28 6d 29 2c 64 68 3d 64 72 6f 70 5f 74 6f 74 61 6c 5f 68 28 6d 29 3b 00 00 00 20 20 20 69 6e 74 | (m),dh=drop_total_h(m);......int |
| 36100 | 20 64 78 3d 62 74 6e 5f 78 28 28 69 6e 74 29 6d 29 2c 64 79 3d 62 79 2d 64 68 3b 00 00 00 25 20 | .dx=btn_x((int)m),dy=by-dh;...%. |
| 36120 | 20 69 6e 74 20 6e 3d 28 6d 3d 3d 4d 45 4e 55 5f 46 49 4c 45 29 3f 4e 5f 46 49 4c 45 3a 4e 5f 49 | .int.n=(m==MENU_FILE)?N_FILE:N_I |
| 36140 | 4e 46 4f 3b 00 00 00 3d 20 20 63 6f 6e 73 74 20 4d 65 6e 75 49 74 65 6d 20 2a 69 74 65 6d 73 3d | NFO;...=..const.MenuItem.*items= |
| 36160 | 28 6d 3d 3d 4d 45 4e 55 5f 46 49 4c 45 29 3f 66 69 6c 65 5f 69 74 65 6d 73 3a 69 6e 66 6f 5f 69 | (m==MENU_FILE)?file_items:info_i |
| 36180 | 74 65 6d 73 3b 00 00 00 26 20 20 66 72 65 63 74 28 70 78 2c 70 77 2c 70 68 2c 64 78 2c 64 79 2c | tems;...&..frect(px,pw,ph,dx,dy, |
| 361a0 | 64 77 2c 64 68 2c 44 52 4f 50 5f 42 47 29 3b 00 00 00 27 20 20 66 72 65 63 74 28 70 78 2c 70 77 | dw,dh,DROP_BG);...'..frect(px,pw |
| 361c0 | 2c 70 68 2c 64 78 2c 64 79 2c 64 77 2c 31 2c 53 45 50 5f 43 4f 4c 4f 52 29 3b 00 00 00 27 20 20 | ,ph,dx,dy,dw,1,SEP_COLOR);...'.. |
| 361e0 | 66 72 65 63 74 28 70 78 2c 70 77 2c 70 68 2c 64 78 2c 64 79 2c 31 2c 64 68 2c 53 45 50 5f 43 4f | frect(px,pw,ph,dx,dy,1,dh,SEP_CO |
| 36200 | 4c 4f 52 29 3b 00 00 00 2c 20 20 66 72 65 63 74 28 70 78 2c 70 77 2c 70 68 2c 64 78 2b 64 77 2d | LOR);...,..frect(px,pw,ph,dx+dw- |
| 36220 | 31 2c 64 79 2c 31 2c 64 68 2c 53 45 50 5f 43 4f 4c 4f 52 29 3b 00 00 00 2c 20 20 66 72 65 63 74 | 1,dy,1,dh,SEP_COLOR);...,..frect |
| 36240 | 28 70 78 2c 70 77 2c 70 68 2c 64 78 2c 64 79 2b 64 68 2d 31 2c 64 77 2c 31 2c 53 45 50 5f 43 4f | (px,pw,ph,dx,dy+dh-1,dw,1,SEP_CO |
| 36260 | 4c 4f 52 29 3b 00 00 00 0e 20 20 69 6e 74 20 69 79 3d 64 79 2b 34 3b 00 00 00 17 20 20 66 6f 72 | LOR);......int.iy=dy+4;......for |
| 36280 | 28 69 6e 74 20 69 3d 30 3b 69 3c 6e 3b 69 2b 2b 29 7b 00 00 00 22 20 20 20 20 62 6f 6f 6c 20 68 | (int.i=0;i<n;i++){..."....bool.h |
| 362a0 | 6f 76 3d 28 61 2d 3e 68 6f 76 65 72 65 64 5f 69 74 65 6d 3d 3d 69 29 3b 00 00 00 38 20 20 20 20 | ov=(a->hovered_item==i);...8.... |
| 362c0 | 69 66 28 68 6f 76 29 20 66 72 65 63 74 28 70 78 2c 70 77 2c 70 68 2c 64 78 2b 31 2c 69 79 2c 64 | if(hov).frect(px,pw,ph,dx+1,iy,d |
| 362e0 | 77 2d 32 2c 64 69 68 28 29 2c 44 52 4f 50 5f 48 4f 56 29 3b 00 00 00 40 20 20 20 20 64 73 74 72 | w-2,dih(),DROP_HOV);...@....dstr |
| 36300 | 28 70 78 2c 70 77 2c 70 68 2c 64 78 2b 42 54 4e 5f 50 41 44 2c 69 79 2b 28 64 69 68 28 29 2d 63 | (px,pw,ph,dx+BTN_PAD,iy+(dih()-c |
| 36320 | 65 6c 6c 5f 68 29 2f 32 2c 69 74 65 6d 73 5b 69 5d 2e 6c 61 62 65 6c 2c 00 00 00 36 20 20 20 20 | ell_h)/2,items[i].label,...6.... |
| 36340 | 20 20 20 20 20 68 6f 76 3f 28 75 69 6e 74 33 32 5f 74 29 44 52 4f 50 5f 48 4f 56 5f 46 47 3a 28 | .....hov?(uint32_t)DROP_HOV_FG:( |
| 36360 | 75 69 6e 74 33 32 5f 74 29 44 52 4f 50 5f 46 47 29 3b 00 00 00 0e 20 20 20 20 69 79 2b 3d 64 69 | uint32_t)DROP_FG);........iy+=di |
| 36380 | 68 28 29 3b 00 00 00 4b 20 20 20 20 69 66 28 69 74 65 6d 73 5b 69 5d 2e 73 65 70 5f 61 66 74 65 | h();...K....if(items[i].sep_afte |
| 363a0 | 72 29 7b 66 72 65 63 74 28 70 78 2c 70 77 2c 70 68 2c 64 78 2b 34 2c 69 79 2c 64 77 2d 38 2c 31 | r){frect(px,pw,ph,dx+4,iy,dw-8,1 |
| 363c0 | 2c 53 45 50 5f 43 4f 4c 4f 52 29 3b 69 79 2b 3d 34 3b 7d 00 00 00 03 20 20 7d 00 00 00 01 7d 00 | ,SEP_COLOR);iy+=4;}......}....}. |
| 363e0 | 00 00 00 00 00 00 36 73 74 61 74 69 63 20 76 6f 69 64 20 66 69 72 65 5f 69 74 65 6d 28 73 74 72 | ......6static.void.fire_item(str |
| 36400 | 75 63 74 20 61 70 70 20 2a 61 2c 4d 65 6e 75 49 64 20 6d 2c 69 6e 74 20 69 64 78 29 3b 00 00 00 | uct.app.*a,MenuId.m,int.idx);... |
| 36420 | 00 00 00 00 22 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 64 72 61 77 28 73 74 72 75 63 74 20 61 | ...."static.void.redraw(struct.a |
| 36440 | 70 70 20 2a 61 29 7b 00 00 00 38 20 20 76 6f 69 64 20 2a 70 78 3d 61 2d 3e 70 69 78 65 6c 73 3b | pp.*a){...8..void.*px=a->pixels; |
| 36460 | 20 69 6e 74 20 70 77 3d 61 2d 3e 77 2c 70 68 3d 61 2d 3e 68 2c 74 61 68 3d 74 65 78 74 5f 68 28 | .int.pw=a->w,ph=a->h,tah=text_h( |
| 36480 | 61 29 3b 00 00 00 37 20 20 66 6f 72 28 69 6e 74 20 69 3d 30 3b 69 3c 70 77 2a 70 68 3b 69 2b 2b | a);...7..for(int.i=0;i<pw*ph;i++ |
| 364a0 | 29 20 28 28 75 69 6e 74 33 32 5f 74 2a 29 70 78 29 5b 69 5d 3d 42 47 5f 43 4f 4c 4f 52 3b 00 00 | ).((uint32_t*)px)[i]=BG_COLOR;.. |
| 364c0 | 00 1a 20 20 69 6e 74 20 73 65 6c 5f 6c 6f 3d 2d 31 2c 73 65 6c 5f 68 69 3d 2d 31 3b 00 00 00 14 | ....int.sel_lo=-1,sel_hi=-1;.... |
| 364e0 | 20 20 69 66 28 73 65 6c 5f 61 6e 63 68 6f 72 3e 3d 30 29 7b 00 00 00 2f 20 20 20 20 73 65 6c 5f | ..if(sel_anchor>=0){.../....sel_ |
| 36500 | 6c 6f 3d 73 65 6c 5f 61 6e 63 68 6f 72 3c 63 75 72 73 6f 72 3f 73 65 6c 5f 61 6e 63 68 6f 72 3a | lo=sel_anchor<cursor?sel_anchor: |
| 36520 | 63 75 72 73 6f 72 3b 00 00 00 2f 20 20 20 20 73 65 6c 5f 68 69 3d 73 65 6c 5f 61 6e 63 68 6f 72 | cursor;.../....sel_hi=sel_anchor |
| 36540 | 3c 63 75 72 73 6f 72 3f 63 75 72 73 6f 72 3a 73 65 6c 5f 61 6e 63 68 6f 72 3b 00 00 00 03 20 20 | <cursor?cursor:sel_anchor;...... |
| 36560 | 7d 00 00 00 12 20 20 69 6e 74 20 63 6f 6c 3d 30 2c 72 6f 77 3d 30 3b 00 00 00 1b 20 20 66 6f 72 | }......int.col=0,row=0;......for |
| 36580 | 28 69 6e 74 20 69 3d 30 3b 69 3c 3d 74 6c 65 6e 3b 69 2b 2b 29 7b 00 00 00 2a 20 20 20 20 69 6e | (int.i=0;i<=tlen;i++){...*....in |
| 365a0 | 74 20 78 3d 50 41 44 2b 63 6f 6c 2a 63 65 6c 6c 5f 77 2c 79 3d 50 41 44 2b 72 6f 77 2a 63 65 6c | t.x=PAD+col*cell_w,y=PAD+row*cel |
| 365c0 | 6c 5f 68 3b 00 00 00 1b 20 20 20 20 69 66 28 79 2b 63 65 6c 6c 5f 68 3e 74 61 68 29 20 62 72 65 | l_h;........if(y+cell_h>tah).bre |
| 365e0 | 61 6b 3b 00 00 00 46 20 20 20 20 62 6f 6f 6c 20 69 6e 73 3d 73 65 6c 5f 6c 6f 3e 3d 30 26 26 69 | ak;...F....bool.ins=sel_lo>=0&&i |
| 36600 | 3e 3d 73 65 6c 5f 6c 6f 26 26 69 3c 73 65 6c 5f 68 69 26 26 28 69 3e 3d 74 6c 65 6e 7c 7c 74 65 | >=sel_lo&&i<sel_hi&&(i>=tlen||te |
| 36620 | 78 74 5b 69 5d 21 3d 27 5c 6e 27 29 3b 00 00 00 38 20 20 20 20 69 66 28 69 6e 73 29 20 66 72 65 | xt[i]!='\n');...8....if(ins).fre |
| 36640 | 63 74 28 70 78 2c 70 77 2c 70 68 2c 78 2c 79 2c 63 65 6c 6c 5f 77 2c 63 65 6c 6c 5f 68 2c 53 45 | ct(px,pw,ph,x,y,cell_w,cell_h,SE |
| 36660 | 4c 5f 43 4f 4c 4f 52 29 3b 00 00 00 39 20 20 20 20 69 66 28 69 3d 3d 63 75 72 73 6f 72 29 20 66 | L_COLOR);...9....if(i==cursor).f |
| 36680 | 72 65 63 74 28 70 78 2c 70 77 2c 70 68 2c 78 2c 79 2c 32 2c 63 65 6c 6c 5f 68 2c 43 55 52 5f 43 | rect(px,pw,ph,x,y,2,cell_h,CUR_C |
| 366a0 | 4f 4c 4f 52 29 3b 00 00 00 0f 20 20 20 20 69 66 28 69 3c 74 6c 65 6e 29 7b 00 00 00 25 20 20 20 | OLOR);........if(i<tlen){...%... |
| 366c0 | 20 20 20 69 66 28 74 65 78 74 5b 69 5d 3d 3d 27 5c 6e 27 29 7b 63 6f 6c 3d 30 3b 72 6f 77 2b 2b | ...if(text[i]=='\n'){col=0;row++ |
| 366e0 | 3b 7d 00 00 00 0b 20 20 20 20 20 20 65 6c 73 65 7b 00 00 00 40 20 20 20 20 20 20 20 20 69 66 28 | ;}..........else{...@........if( |
| 36700 | 78 2b 63 65 6c 6c 5f 77 3e 70 77 2d 50 41 44 29 7b 63 6f 6c 3d 30 3b 72 6f 77 2b 2b 3b 78 3d 50 | x+cell_w>pw-PAD){col=0;row++;x=P |
| 36720 | 41 44 3b 79 3d 50 41 44 2b 72 6f 77 2a 63 65 6c 6c 5f 68 3b 7d 00 00 00 19 20 20 20 20 20 20 20 | AD;y=PAD+row*cell_h;}........... |
| 36740 | 20 69 66 28 79 2b 63 65 6c 6c 5f 68 3c 3d 74 61 68 29 00 00 00 5e 20 20 20 20 20 20 20 20 20 20 | .if(y+cell_h<=tah)...^.......... |
| 36760 | 64 67 6c 79 70 68 28 70 78 2c 70 77 2c 70 68 2c 78 2c 79 2c 28 75 6e 73 69 67 6e 65 64 20 63 68 | dglyph(px,pw,ph,x,y,(unsigned.ch |
| 36780 | 61 72 29 74 65 78 74 5b 69 5d 2c 69 6e 73 3f 28 75 69 6e 74 33 32 5f 74 29 53 45 4c 5f 46 47 3a | ar)text[i],ins?(uint32_t)SEL_FG: |
| 367a0 | 28 75 69 6e 74 33 32 5f 74 29 46 47 5f 43 4f 4c 4f 52 29 3b 00 00 00 0e 20 20 20 20 20 20 20 20 | (uint32_t)FG_COLOR);............ |
| 367c0 | 63 6f 6c 2b 2b 3b 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 | col++;..........}........}...... |
| 367e0 | 7d 00 00 00 0e 20 20 64 72 61 77 5f 62 61 72 28 61 29 3b 00 00 00 38 20 20 69 66 28 61 2d 3e 6f | }......draw_bar(a);...8..if(a->o |
| 36800 | 70 65 6e 5f 6d 65 6e 75 21 3d 4d 45 4e 55 5f 4e 4f 4e 45 29 20 64 72 61 77 5f 64 72 6f 70 28 61 | pen_menu!=MENU_NONE).draw_drop(a |
| 36820 | 2c 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 29 3b 00 00 00 25 20 20 73 75 72 66 5f 63 6f 6d 6d 69 74 | ,a->open_menu);...%..surf_commit |
| 36840 | 28 61 2d 3e 77 73 2c 70 78 2c 61 2d 3e 62 75 66 2c 70 77 2c 70 68 29 3b 00 00 00 01 7d 00 00 00 | (a->ws,px,a->buf,pw,ph);....}... |
| 36860 | 00 00 00 00 36 73 74 61 74 69 63 20 76 6f 69 64 20 66 69 72 65 5f 69 74 65 6d 28 73 74 72 75 63 | ....6static.void.fire_item(struc |
| 36880 | 74 20 61 70 70 20 2a 61 2c 4d 65 6e 75 49 64 20 6d 2c 69 6e 74 20 69 64 78 29 7b 00 00 00 2d 20 | t.app.*a,MenuId.m,int.idx){...-. |
| 368a0 | 20 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 3d 4d 45 4e 55 5f 4e 4f 4e 45 3b 20 61 2d 3e 68 6f 76 65 | .a->open_menu=MENU_NONE;.a->hove |
| 368c0 | 72 65 64 5f 69 74 65 6d 3d 2d 31 3b 00 00 00 13 20 20 69 66 28 6d 3d 3d 4d 45 4e 55 5f 46 49 4c | red_item=-1;......if(m==MENU_FIL |
| 368e0 | 45 29 7b 00 00 00 10 20 20 20 20 73 77 69 74 63 68 28 69 64 78 29 7b 00 00 00 0d 20 20 20 20 20 | E){........switch(idx){......... |
| 36900 | 20 63 61 73 65 20 30 3a 00 00 00 23 20 20 20 20 20 20 20 20 6d 65 6d 73 65 74 28 74 65 78 74 2c | .case.0:...#........memset(text, |
| 36920 | 30 2c 73 69 7a 65 6f 66 20 74 65 78 74 29 3b 00 00 00 43 20 20 20 20 20 20 20 20 74 6c 65 6e 3d | 0,sizeof.text);...C........tlen= |
| 36940 | 30 3b 63 75 72 73 6f 72 3d 30 3b 73 65 6c 5f 61 6e 63 68 6f 72 3d 2d 31 3b 66 69 6c 65 70 61 74 | 0;cursor=0;sel_anchor=-1;filepat |
| 36960 | 68 5b 30 5d 3d 27 5c 30 27 3b 64 69 72 74 79 3d 66 61 6c 73 65 3b 00 00 00 19 20 20 20 20 20 20 | h[0]='\0';dirty=false;.......... |
| 36980 | 20 20 72 65 64 72 61 77 28 61 29 3b 20 62 72 65 61 6b 3b 00 00 00 0d 20 20 20 20 20 20 63 61 73 | ..redraw(a);.break;..........cas |
| 369a0 | 65 20 31 3a 00 00 00 33 20 20 20 20 20 20 20 20 61 2d 3e 66 70 2e 6d 6f 64 65 3d 46 50 5f 4f 50 | e.1:...3........a->fp.mode=FP_OP |
| 369c0 | 45 4e 3b 20 61 2d 3e 66 70 2e 71 75 69 74 5f 61 66 74 65 72 3d 66 61 6c 73 65 3b 00 00 00 26 20 | EN;.a->fp.quit_after=false;...&. |
| 369e0 | 20 20 20 20 20 20 20 7b 63 6f 6e 73 74 20 63 68 61 72 20 2a 68 3d 67 65 74 65 6e 76 28 22 48 4f | .......{const.char.*h=getenv("HO |
| 36a00 | 4d 45 22 29 3b 00 00 00 3c 20 20 20 20 20 20 20 20 20 73 6e 70 72 69 6e 74 66 28 61 2d 3e 66 70 | ME");...<.........snprintf(a->fp |
| 36a20 | 2e 63 77 64 2c 73 69 7a 65 6f 66 20 61 2d 3e 66 70 2e 63 77 64 2c 22 25 73 22 2c 68 3f 68 3a 22 | .cwd,sizeof.a->fp.cwd,"%s",h?h:" |
| 36a40 | 2f 22 29 3b 7d 00 00 00 1c 20 20 20 20 20 20 20 20 66 70 5f 6c 6f 61 64 5f 64 69 72 28 26 61 2d | /");}............fp_load_dir(&a- |
| 36a60 | 3e 66 70 29 3b 00 00 00 27 20 20 20 20 20 20 20 20 66 70 5f 73 65 74 5f 69 6e 70 75 74 28 26 61 | >fp);...'........fp_set_input(&a |
| 36a80 | 2d 3e 66 70 2c 61 2d 3e 66 70 2e 63 77 64 29 3b 00 00 00 1e 20 20 20 20 20 20 20 20 66 70 5f 6f | ->fp,a->fp.cwd);............fp_o |
| 36aa0 | 70 65 6e 5f 77 69 6e 28 61 29 3b 20 62 72 65 61 6b 3b 00 00 00 0d 20 20 20 20 20 20 63 61 73 65 | pen_win(a);.break;..........case |
| 36ac0 | 20 32 3a 00 00 00 18 20 20 20 20 20 20 20 20 69 66 28 66 69 6c 65 70 61 74 68 5b 30 5d 29 7b 00 | .2:............if(filepath[0]){. |
| 36ae0 | 00 00 3e 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 66 64 3d 6f 70 65 6e 28 66 69 6c 65 70 61 74 | ..>..........int.fd=open(filepat |
| 36b00 | 68 2c 4f 5f 57 52 4f 4e 4c 59 7c 4f 5f 43 52 45 41 54 7c 4f 5f 54 52 55 4e 43 2c 30 36 34 34 29 | h,O_WRONLY|O_CREAT|O_TRUNC,0644) |
| 36b20 | 3b 00 00 00 14 20 20 20 20 20 20 20 20 20 20 69 66 28 66 64 3e 3d 30 29 7b 00 00 00 2c 20 20 20 | ;..............if(fd>=0){...,... |
| 36b40 | 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 70 3d 74 65 78 74 3b 69 6e 74 20 | .........const.char.*p=text;int. |
| 36b60 | 72 65 6d 3d 74 6c 65 6e 3b 00 00 00 4e 20 20 20 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 28 72 | rem=tlen;...N............while(r |
| 36b80 | 65 6d 3e 30 29 7b 73 73 69 7a 65 5f 74 20 6e 3d 77 72 69 74 65 28 66 64 2c 70 2c 72 65 6d 29 3b | em>0){ssize_t.n=write(fd,p,rem); |
| 36ba0 | 69 66 28 6e 3c 3d 30 29 62 72 65 61 6b 3b 70 2b 3d 6e 3b 72 65 6d 2d 3d 6e 3b 7d 00 00 00 23 20 | if(n<=0)break;p+=n;rem-=n;}...#. |
| 36bc0 | 20 20 20 20 20 20 20 20 20 20 20 63 6c 6f 73 65 28 66 64 29 3b 20 64 69 72 74 79 3d 66 61 6c 73 | ...........close(fd);.dirty=fals |
| 36be0 | 65 3b 00 00 00 0b 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 14 20 20 20 20 20 20 20 20 20 20 72 | e;..............}..............r |
| 36c00 | 65 64 72 61 77 28 61 29 3b 00 00 00 10 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 00 00 00 | edraw(a);............}.else.{... |
| 36c20 | 35 20 20 20 20 20 20 20 20 20 20 61 2d 3e 66 70 2e 6d 6f 64 65 3d 46 50 5f 53 41 56 45 3b 20 61 | 5..........a->fp.mode=FP_SAVE;.a |
| 36c40 | 2d 3e 66 70 2e 71 75 69 74 5f 61 66 74 65 72 3d 66 61 6c 73 65 3b 00 00 00 28 20 20 20 20 20 20 | ->fp.quit_after=false;...(...... |
| 36c60 | 20 20 20 20 7b 63 6f 6e 73 74 20 63 68 61 72 20 2a 68 3d 67 65 74 65 6e 76 28 22 48 4f 4d 45 22 | ....{const.char.*h=getenv("HOME" |
| 36c80 | 29 3b 00 00 00 3e 20 20 20 20 20 20 20 20 20 20 20 73 6e 70 72 69 6e 74 66 28 61 2d 3e 66 70 2e | );...>...........snprintf(a->fp. |
| 36ca0 | 63 77 64 2c 73 69 7a 65 6f 66 20 61 2d 3e 66 70 2e 63 77 64 2c 22 25 73 22 2c 68 3f 68 3a 22 2f | cwd,sizeof.a->fp.cwd,"%s",h?h:"/ |
| 36cc0 | 22 29 3b 7d 00 00 00 1e 20 20 20 20 20 20 20 20 20 20 66 70 5f 6c 6f 61 64 5f 64 69 72 28 26 61 | ");}..............fp_load_dir(&a |
| 36ce0 | 2d 3e 66 70 29 3b 00 00 00 1d 20 20 20 20 20 20 20 20 20 20 63 68 61 72 20 64 65 66 5b 4d 41 58 | ->fp);..............char.def[MAX |
| 36d00 | 5f 50 41 54 48 5d 3b 00 00 00 3f 20 20 20 20 20 20 20 20 20 20 73 6e 70 72 69 6e 74 66 28 64 65 | _PATH];...?..........snprintf(de |
| 36d20 | 66 2c 73 69 7a 65 6f 66 20 64 65 66 2c 22 25 73 2f 75 6e 74 69 74 6c 65 64 2e 74 78 74 22 2c 61 | f,sizeof.def,"%s/untitled.txt",a |
| 36d40 | 2d 3e 66 70 2e 63 77 64 29 3b 00 00 00 23 20 20 20 20 20 20 20 20 20 20 66 70 5f 73 65 74 5f 69 | ->fp.cwd);...#..........fp_set_i |
| 36d60 | 6e 70 75 74 28 26 61 2d 3e 66 70 2c 64 65 66 29 3b 00 00 00 19 20 20 20 20 20 20 20 20 20 20 66 | nput(&a->fp,def);..............f |
| 36d80 | 70 5f 6f 70 65 6e 5f 77 69 6e 28 61 29 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 0e 20 | p_open_win(a);............}..... |
| 36da0 | 20 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 0d 20 20 20 20 20 20 63 61 73 65 20 33 3a 00 00 | .......break;..........case.3:.. |
| 36dc0 | 00 33 20 20 20 20 20 20 20 20 61 2d 3e 66 70 2e 6d 6f 64 65 3d 46 50 5f 53 41 56 45 3b 20 61 2d | .3........a->fp.mode=FP_SAVE;.a- |
| 36de0 | 3e 66 70 2e 71 75 69 74 5f 61 66 74 65 72 3d 66 61 6c 73 65 3b 00 00 00 26 20 20 20 20 20 20 20 | >fp.quit_after=false;...&....... |
| 36e00 | 20 7b 63 6f 6e 73 74 20 63 68 61 72 20 2a 68 3d 67 65 74 65 6e 76 28 22 48 4f 4d 45 22 29 3b 00 | .{const.char.*h=getenv("HOME");. |
| 36e20 | 00 00 19 20 20 20 20 20 20 20 20 20 69 66 28 66 69 6c 65 70 61 74 68 5b 30 5d 29 7b 00 00 00 46 | ............if(filepath[0]){...F |
| 36e40 | 20 20 20 20 20 20 20 20 20 20 20 63 68 61 72 20 74 6d 70 5b 4d 41 58 5f 50 41 54 48 5d 3b 20 73 | ...........char.tmp[MAX_PATH];.s |
| 36e60 | 6e 70 72 69 6e 74 66 28 74 6d 70 2c 73 69 7a 65 6f 66 20 74 6d 70 2c 22 25 73 22 2c 66 69 6c 65 | nprintf(tmp,sizeof.tmp,"%s",file |
| 36e80 | 70 61 74 68 29 3b 00 00 00 25 20 20 20 20 20 20 20 20 20 20 20 63 68 61 72 20 2a 73 6c 3d 73 74 | path);...%...........char.*sl=st |
| 36ea0 | 72 72 63 68 72 28 74 6d 70 2c 27 2f 27 29 3b 00 00 00 52 20 20 20 20 20 20 20 20 20 20 20 69 66 | rrchr(tmp,'/');...R...........if |
| 36ec0 | 28 73 6c 26 26 73 6c 3e 74 6d 70 29 7b 2a 73 6c 3d 27 5c 30 27 3b 73 6e 70 72 69 6e 74 66 28 61 | (sl&&sl>tmp){*sl='\0';snprintf(a |
| 36ee0 | 2d 3e 66 70 2e 63 77 64 2c 73 69 7a 65 6f 66 20 61 2d 3e 66 70 2e 63 77 64 2c 22 25 73 22 2c 74 | ->fp.cwd,sizeof.a->fp.cwd,"%s",t |
| 36f00 | 6d 70 29 3b 7d 00 00 00 42 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 73 6e 70 72 69 6e 74 | mp);}...B...........else.snprint |
| 36f20 | 66 28 61 2d 3e 66 70 2e 63 77 64 2c 73 69 7a 65 6f 66 20 61 2d 3e 66 70 2e 63 77 64 2c 22 25 73 | f(a->fp.cwd,sizeof.a->fp.cwd,"%s |
| 36f40 | 22 2c 68 3f 68 3a 22 2f 22 29 3b 00 00 00 43 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 73 | ",h?h:"/");...C.........}.else.s |
| 36f60 | 6e 70 72 69 6e 74 66 28 61 2d 3e 66 70 2e 63 77 64 2c 73 69 7a 65 6f 66 20 61 2d 3e 66 70 2e 63 | nprintf(a->fp.cwd,sizeof.a->fp.c |
| 36f80 | 77 64 2c 22 25 73 22 2c 68 3f 68 3a 22 2f 22 29 3b 7d 00 00 00 1c 20 20 20 20 20 20 20 20 66 70 | wd,"%s",h?h:"/");}............fp |
| 36fa0 | 5f 6c 6f 61 64 5f 64 69 72 28 26 61 2d 3e 66 70 29 3b 00 00 00 3c 20 20 20 20 20 20 20 20 66 70 | _load_dir(&a->fp);...<........fp |
| 36fc0 | 5f 73 65 74 5f 69 6e 70 75 74 28 26 61 2d 3e 66 70 2c 66 69 6c 65 70 61 74 68 5b 30 5d 3f 66 69 | _set_input(&a->fp,filepath[0]?fi |
| 36fe0 | 6c 65 70 61 74 68 3a 61 2d 3e 66 70 2e 63 77 64 29 3b 00 00 00 1e 20 20 20 20 20 20 20 20 66 70 | lepath:a->fp.cwd);............fp |
| 37000 | 5f 6f 70 65 6e 5f 77 69 6e 28 61 29 3b 20 62 72 65 61 6b 3b 00 00 00 0d 20 20 20 20 20 20 63 61 | _open_win(a);.break;..........ca |
| 37020 | 73 65 20 34 3a 00 00 00 18 20 20 20 20 20 20 20 20 69 66 28 66 69 6c 65 70 61 74 68 5b 30 5d 29 | se.4:............if(filepath[0]) |
| 37040 | 7b 00 00 00 3e 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 66 64 3d 6f 70 65 6e 28 66 69 6c 65 70 | {...>..........int.fd=open(filep |
| 37060 | 61 74 68 2c 4f 5f 57 52 4f 4e 4c 59 7c 4f 5f 43 52 45 41 54 7c 4f 5f 54 52 55 4e 43 2c 30 36 34 | ath,O_WRONLY|O_CREAT|O_TRUNC,064 |
| 37080 | 34 29 3b 00 00 00 14 20 20 20 20 20 20 20 20 20 20 69 66 28 66 64 3e 3d 30 29 7b 00 00 00 2c 20 | 4);..............if(fd>=0){...,. |
| 370a0 | 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 70 3d 74 65 78 74 3b 69 6e | ...........const.char.*p=text;in |
| 370c0 | 74 20 72 65 6d 3d 74 6c 65 6e 3b 00 00 00 4e 20 20 20 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 | t.rem=tlen;...N............while |
| 370e0 | 28 72 65 6d 3e 30 29 7b 73 73 69 7a 65 5f 74 20 6e 3d 77 72 69 74 65 28 66 64 2c 70 2c 72 65 6d | (rem>0){ssize_t.n=write(fd,p,rem |
| 37100 | 29 3b 69 66 28 6e 3c 3d 30 29 62 72 65 61 6b 3b 70 2b 3d 6e 3b 72 65 6d 2d 3d 6e 3b 7d 00 00 00 | );if(n<=0)break;p+=n;rem-=n;}... |
| 37120 | 23 20 20 20 20 20 20 20 20 20 20 20 20 63 6c 6f 73 65 28 66 64 29 3b 20 64 69 72 74 79 3d 66 61 | #............close(fd);.dirty=fa |
| 37140 | 6c 73 65 3b 00 00 00 0b 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 12 20 20 20 20 20 20 20 20 20 | lse;..............}............. |
| 37160 | 20 65 78 69 74 28 30 29 3b 00 00 00 10 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 00 00 00 | .exit(0);............}.else.{... |
| 37180 | 34 20 20 20 20 20 20 20 20 20 20 61 2d 3e 66 70 2e 6d 6f 64 65 3d 46 50 5f 53 41 56 45 3b 20 61 | 4..........a->fp.mode=FP_SAVE;.a |
| 371a0 | 2d 3e 66 70 2e 71 75 69 74 5f 61 66 74 65 72 3d 74 72 75 65 3b 00 00 00 28 20 20 20 20 20 20 20 | ->fp.quit_after=true;...(....... |
| 371c0 | 20 20 20 7b 63 6f 6e 73 74 20 63 68 61 72 20 2a 68 3d 67 65 74 65 6e 76 28 22 48 4f 4d 45 22 29 | ...{const.char.*h=getenv("HOME") |
| 371e0 | 3b 00 00 00 3e 20 20 20 20 20 20 20 20 20 20 20 73 6e 70 72 69 6e 74 66 28 61 2d 3e 66 70 2e 63 | ;...>...........snprintf(a->fp.c |
| 37200 | 77 64 2c 73 69 7a 65 6f 66 20 61 2d 3e 66 70 2e 63 77 64 2c 22 25 73 22 2c 68 3f 68 3a 22 2f 22 | wd,sizeof.a->fp.cwd,"%s",h?h:"/" |
| 37220 | 29 3b 7d 00 00 00 1e 20 20 20 20 20 20 20 20 20 20 66 70 5f 6c 6f 61 64 5f 64 69 72 28 26 61 2d | );}..............fp_load_dir(&a- |
| 37240 | 3e 66 70 29 3b 00 00 00 1d 20 20 20 20 20 20 20 20 20 20 63 68 61 72 20 64 65 66 5b 4d 41 58 5f | >fp);..............char.def[MAX_ |
| 37260 | 50 41 54 48 5d 3b 00 00 00 3f 20 20 20 20 20 20 20 20 20 20 73 6e 70 72 69 6e 74 66 28 64 65 66 | PATH];...?..........snprintf(def |
| 37280 | 2c 73 69 7a 65 6f 66 20 64 65 66 2c 22 25 73 2f 75 6e 74 69 74 6c 65 64 2e 74 78 74 22 2c 61 2d | ,sizeof.def,"%s/untitled.txt",a- |
| 372a0 | 3e 66 70 2e 63 77 64 29 3b 00 00 00 23 20 20 20 20 20 20 20 20 20 20 66 70 5f 73 65 74 5f 69 6e | >fp.cwd);...#..........fp_set_in |
| 372c0 | 70 75 74 28 26 61 2d 3e 66 70 2c 64 65 66 29 3b 00 00 00 19 20 20 20 20 20 20 20 20 20 20 66 70 | put(&a->fp,def);..............fp |
| 372e0 | 5f 6f 70 65 6e 5f 77 69 6e 28 61 29 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 0e 20 20 | _open_win(a);............}...... |
| 37300 | 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 16 20 20 20 20 20 20 63 61 73 65 20 35 3a 20 65 78 | ......break;..........case.5:.ex |
| 37320 | 69 74 28 30 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 1a 20 20 7d 20 65 6c 73 65 20 69 66 28 6d | it(0);........}......}.else.if(m |
| 37340 | 3d 3d 4d 45 4e 55 5f 49 4e 46 4f 29 7b 00 00 00 1d 20 20 20 20 69 66 28 69 64 78 3d 3d 30 29 20 | ==MENU_INFO){........if(idx==0). |
| 37360 | 6f 70 65 6e 5f 61 62 6f 75 74 28 61 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 | open_about(a);......}....}...... |
| 37380 | 00 47 73 74 61 74 69 63 20 69 6e 74 20 73 65 6c 5f 73 74 61 72 74 28 76 6f 69 64 29 7b 72 65 74 | .Gstatic.int.sel_start(void){ret |
| 373a0 | 75 72 6e 20 73 65 6c 5f 61 6e 63 68 6f 72 3c 63 75 72 73 6f 72 3f 73 65 6c 5f 61 6e 63 68 6f 72 | urn.sel_anchor<cursor?sel_anchor |
| 373c0 | 3a 63 75 72 73 6f 72 3b 7d 00 00 00 59 73 74 61 74 69 63 20 69 6e 74 20 73 65 6c 5f 6c 65 6e 28 | :cursor;}...Ystatic.int.sel_len( |
| 373e0 | 76 6f 69 64 29 20 20 7b 72 65 74 75 72 6e 20 73 65 6c 5f 61 6e 63 68 6f 72 3c 63 75 72 73 6f 72 | void)..{return.sel_anchor<cursor |
| 37400 | 3f 63 75 72 73 6f 72 2d 73 65 6c 5f 61 6e 63 68 6f 72 3a 73 65 6c 5f 61 6e 63 68 6f 72 2d 63 75 | ?cursor-sel_anchor:sel_anchor-cu |
| 37420 | 72 73 6f 72 3b 7d 00 00 00 1d 73 74 61 74 69 63 20 76 6f 69 64 20 64 65 6c 65 74 65 5f 73 65 6c | rsor;}....static.void.delete_sel |
| 37440 | 28 76 6f 69 64 29 7b 00 00 00 1a 20 20 69 66 28 73 65 6c 5f 61 6e 63 68 6f 72 3c 30 29 20 72 65 | (void){......if(sel_anchor<0).re |
| 37460 | 74 75 72 6e 3b 00 00 00 23 20 20 69 6e 74 20 6c 6f 3d 73 65 6c 5f 73 74 61 72 74 28 29 2c 6c 65 | turn;...#..int.lo=sel_start(),le |
| 37480 | 6e 3d 73 65 6c 5f 6c 65 6e 28 29 3b 00 00 00 2b 20 20 6d 65 6d 6d 6f 76 65 28 74 65 78 74 2b 6c | n=sel_len();...+..memmove(text+l |
| 374a0 | 6f 2c 74 65 78 74 2b 6c 6f 2b 6c 65 6e 2c 74 6c 65 6e 2d 6c 6f 2d 6c 65 6e 29 3b 00 00 00 34 20 | o,text+lo+len,tlen-lo-len);...4. |
| 374c0 | 20 74 6c 65 6e 2d 3d 6c 65 6e 3b 74 65 78 74 5b 74 6c 65 6e 5d 3d 27 5c 30 27 3b 63 75 72 73 6f | .tlen-=len;text[tlen]='\0';curso |
| 374e0 | 72 3d 6c 6f 3b 73 65 6c 5f 61 6e 63 68 6f 72 3d 2d 31 3b 00 00 00 01 7d 00 00 00 27 73 74 61 74 | r=lo;sel_anchor=-1;....}...'stat |
| 37500 | 69 63 20 76 6f 69 64 20 69 6e 73 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 2c 69 6e 74 20 6c 65 | ic.void.ins(const.char.*s,int.le |
| 37520 | 6e 29 7b 00 00 00 2d 20 20 69 66 28 74 6c 65 6e 2b 6c 65 6e 3e 3d 4d 41 58 5f 54 45 58 54 29 20 | n){...-..if(tlen+len>=MAX_TEXT). |
| 37540 | 6c 65 6e 3d 4d 41 58 5f 54 45 58 54 2d 74 6c 65 6e 2d 31 3b 00 00 00 33 20 20 6d 65 6d 6d 6f 76 | len=MAX_TEXT-tlen-1;...3..memmov |
| 37560 | 65 28 74 65 78 74 2b 63 75 72 73 6f 72 2b 6c 65 6e 2c 74 65 78 74 2b 63 75 72 73 6f 72 2c 74 6c | e(text+cursor+len,text+cursor,tl |
| 37580 | 65 6e 2d 63 75 72 73 6f 72 29 3b 00 00 00 1c 20 20 6d 65 6d 63 70 79 28 74 65 78 74 2b 63 75 72 | en-cursor);......memcpy(text+cur |
| 375a0 | 73 6f 72 2c 73 2c 6c 65 6e 29 3b 00 00 00 33 20 20 74 6c 65 6e 2b 3d 6c 65 6e 3b 74 65 78 74 5b | sor,s,len);...3..tlen+=len;text[ |
| 375c0 | 74 6c 65 6e 5d 3d 27 5c 30 27 3b 63 75 72 73 6f 72 2b 3d 6c 65 6e 3b 64 69 72 74 79 3d 74 72 75 | tlen]='\0';cursor+=len;dirty=tru |
| 375e0 | 65 3b 00 00 00 01 7d 00 00 00 24 73 74 61 74 69 63 20 76 6f 69 64 20 63 6f 70 79 5f 73 65 6c 28 | e;....}...$static.void.copy_sel( |
| 37600 | 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 7b 00 00 00 1a 20 20 69 66 28 73 65 6c 5f 61 6e 63 68 | struct.app.*a){......if(sel_anch |
| 37620 | 6f 72 3c 30 29 20 72 65 74 75 72 6e 3b 00 00 00 23 20 20 69 6e 74 20 6c 6f 3d 73 65 6c 5f 73 74 | or<0).return;...#..int.lo=sel_st |
| 37640 | 61 72 74 28 29 2c 6c 65 6e 3d 73 65 6c 5f 6c 65 6e 28 29 3b 00 00 00 41 20 20 69 66 28 6c 65 6e | art(),len=sel_len();...A..if(len |
| 37660 | 3e 28 69 6e 74 29 73 69 7a 65 6f 66 28 61 2d 3e 63 6c 69 70 62 6f 61 72 64 29 2d 31 29 20 6c 65 | >(int)sizeof(a->clipboard)-1).le |
| 37680 | 6e 3d 73 69 7a 65 6f 66 28 61 2d 3e 63 6c 69 70 62 6f 61 72 64 29 2d 31 3b 00 00 00 23 20 20 6d | n=sizeof(a->clipboard)-1;...#..m |
| 376a0 | 65 6d 63 70 79 28 61 2d 3e 63 6c 69 70 62 6f 61 72 64 2c 74 65 78 74 2b 6c 6f 2c 6c 65 6e 29 3b | emcpy(a->clipboard,text+lo,len); |
| 376c0 | 00 00 00 2e 20 20 61 2d 3e 63 6c 69 70 62 6f 61 72 64 5b 6c 65 6e 5d 3d 27 5c 30 27 3b 61 2d 3e | ......a->clipboard[len]='\0';a-> |
| 376e0 | 63 6c 69 70 62 6f 61 72 64 5f 6c 65 6e 3d 6c 65 6e 3b 00 00 00 36 20 20 69 66 28 61 2d 3e 64 73 | clipboard_len=len;...6..if(a->ds |
| 37700 | 29 7b 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 5f 64 65 73 74 72 6f 79 28 61 2d 3e 64 73 29 3b | ){wl_data_source_destroy(a->ds); |
| 37720 | 61 2d 3e 64 73 3d 4e 55 4c 4c 3b 7d 00 00 00 1d 20 20 69 66 28 21 61 2d 3e 64 64 6d 7c 7c 21 61 | a->ds=NULL;}......if(!a->ddm||!a |
| 37740 | 2d 3e 64 64 29 20 72 65 74 75 72 6e 3b 00 00 00 3a 20 20 61 2d 3e 64 73 3d 77 6c 5f 64 61 74 61 | ->dd).return;...:..a->ds=wl_data |
| 37760 | 5f 64 65 76 69 63 65 5f 6d 61 6e 61 67 65 72 5f 63 72 65 61 74 65 5f 64 61 74 61 5f 73 6f 75 72 | _device_manager_create_data_sour |
| 37780 | 63 65 28 61 2d 3e 64 64 6d 29 3b 00 00 00 39 20 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 5f | ce(a->ddm);...9..wl_data_source_ |
| 377a0 | 6f 66 66 65 72 28 61 2d 3e 64 73 2c 22 74 65 78 74 2f 70 6c 61 69 6e 3b 63 68 61 72 73 65 74 3d | offer(a->ds,"text/plain;charset= |
| 377c0 | 75 74 66 2d 38 22 29 3b 00 00 00 2b 20 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 5f 6f 66 66 | utf-8");...+..wl_data_source_off |
| 377e0 | 65 72 28 61 2d 3e 64 73 2c 22 74 65 78 74 2f 70 6c 61 69 6e 22 29 3b 00 00 00 2c 20 20 77 6c 5f | er(a->ds,"text/plain");...,..wl_ |
| 37800 | 64 61 74 61 5f 73 6f 75 72 63 65 5f 6f 66 66 65 72 28 61 2d 3e 64 73 2c 22 55 54 46 38 5f 53 54 | data_source_offer(a->ds,"UTF8_ST |
| 37820 | 52 49 4e 47 22 29 3b 00 00 00 27 20 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 5f 6f 66 66 65 | RING");...'..wl_data_source_offe |
| 37840 | 72 28 61 2d 3e 64 73 2c 22 53 54 52 49 4e 47 22 29 3b 00 00 00 3b 20 20 77 6c 5f 64 61 74 61 5f | r(a->ds,"STRING");...;..wl_data_ |
| 37860 | 64 65 76 69 63 65 5f 73 65 74 5f 73 65 6c 65 63 74 69 6f 6e 28 61 2d 3e 64 64 2c 61 2d 3e 64 73 | device_set_selection(a->dd,a->ds |
| 37880 | 2c 61 2d 3e 6c 61 73 74 5f 73 65 72 69 61 6c 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 34 73 74 | ,a->last_serial);....}.......4st |
| 378a0 | 61 74 69 63 20 76 6f 69 64 20 70 72 6f 63 65 73 73 5f 6b 65 79 28 73 74 72 75 63 74 20 61 70 70 | atic.void.process_key(struct.app |
| 378c0 | 20 2a 61 2c 75 69 6e 74 33 32 5f 74 20 6b 65 79 29 7b 00 00 00 27 20 20 69 66 28 61 2d 3e 66 70 | .*a,uint32_t.key){...'..if(a->fp |
| 378e0 | 2e 6f 70 65 6e 29 7b 66 70 5f 6b 65 79 28 61 2c 6b 65 79 29 3b 72 65 74 75 72 6e 3b 7d 00 00 00 | .open){fp_key(a,key);return;}... |
| 37900 | 1b 20 20 69 66 28 21 61 2d 3e 78 6b 62 5f 73 74 61 74 65 29 20 72 65 74 75 72 6e 3b 00 00 00 19 | ...if(!a->xkb_state).return;.... |
| 37920 | 20 20 78 6b 62 5f 6b 65 79 63 6f 64 65 5f 74 20 6b 63 3d 6b 65 79 2b 38 3b 00 00 00 3e 20 20 78 | ..xkb_keycode_t.kc=key+8;...>..x |
| 37940 | 6b 62 5f 6b 65 79 73 79 6d 5f 74 20 73 79 6d 3d 78 6b 62 5f 73 74 61 74 65 5f 6b 65 79 5f 67 65 | kb_keysym_t.sym=xkb_state_key_ge |
| 37960 | 74 5f 6f 6e 65 5f 73 79 6d 28 61 2d 3e 78 6b 62 5f 73 74 61 74 65 2c 6b 63 29 3b 00 00 00 61 20 | t_one_sym(a->xkb_state,kc);...a. |
| 37980 | 20 69 6e 74 20 63 74 72 6c 3d 78 6b 62 5f 73 74 61 74 65 5f 6d 6f 64 5f 6e 61 6d 65 5f 69 73 5f | .int.ctrl=xkb_state_mod_name_is_ |
| 379a0 | 61 63 74 69 76 65 28 61 2d 3e 78 6b 62 5f 73 74 61 74 65 2c 58 4b 42 5f 4d 4f 44 5f 4e 41 4d 45 | active(a->xkb_state,XKB_MOD_NAME |
| 379c0 | 5f 43 54 52 4c 2c 58 4b 42 5f 53 54 41 54 45 5f 4d 4f 44 53 5f 45 46 46 45 43 54 49 56 45 29 3b | _CTRL,XKB_STATE_MODS_EFFECTIVE); |
| 379e0 | 00 00 00 63 20 20 69 6e 74 20 73 68 69 66 74 3d 78 6b 62 5f 73 74 61 74 65 5f 6d 6f 64 5f 6e 61 | ...c..int.shift=xkb_state_mod_na |
| 37a00 | 6d 65 5f 69 73 5f 61 63 74 69 76 65 28 61 2d 3e 78 6b 62 5f 73 74 61 74 65 2c 58 4b 42 5f 4d 4f | me_is_active(a->xkb_state,XKB_MO |
| 37a20 | 44 5f 4e 41 4d 45 5f 53 48 49 46 54 2c 58 4b 42 5f 53 54 41 54 45 5f 4d 4f 44 53 5f 45 46 46 45 | D_NAME_SHIFT,XKB_STATE_MODS_EFFE |
| 37a40 | 43 54 49 56 45 29 3b 00 00 00 46 20 20 78 6b 62 5f 6c 61 79 6f 75 74 5f 69 6e 64 65 78 5f 74 20 | CTIVE);...F..xkb_layout_index_t. |
| 37a60 | 6c 61 79 6f 75 74 3d 78 6b 62 5f 73 74 61 74 65 5f 6b 65 79 5f 67 65 74 5f 6c 61 79 6f 75 74 28 | layout=xkb_state_key_get_layout( |
| 37a80 | 61 2d 3e 78 6b 62 5f 73 74 61 74 65 2c 6b 63 29 3b 00 00 00 19 20 20 63 6f 6e 73 74 20 78 6b 62 | a->xkb_state,kc);......const.xkb |
| 37aa0 | 5f 6b 65 79 73 79 6d 5f 74 20 2a 62 73 3b 00 00 00 48 20 20 69 6e 74 20 6e 3d 78 6b 62 5f 6b 65 | _keysym_t.*bs;...H..int.n=xkb_ke |
| 37ac0 | 79 6d 61 70 5f 6b 65 79 5f 67 65 74 5f 73 79 6d 73 5f 62 79 5f 6c 65 76 65 6c 28 61 2d 3e 78 6b | ymap_key_get_syms_by_level(a->xk |
| 37ae0 | 62 5f 6b 65 79 6d 61 70 2c 6b 63 2c 6c 61 79 6f 75 74 2c 30 2c 26 62 73 29 3b 00 00 00 23 20 20 | b_keymap,kc,layout,0,&bs);...#.. |
| 37b00 | 78 6b 62 5f 6b 65 79 73 79 6d 5f 74 20 70 6c 61 69 6e 3d 6e 3e 30 3f 62 73 5b 30 5d 3a 73 79 6d | xkb_keysym_t.plain=n>0?bs[0]:sym |
| 37b20 | 3b 00 00 00 00 00 00 00 1a 20 20 69 66 28 73 79 6d 3d 3d 58 4b 42 5f 4b 45 59 5f 45 73 63 61 70 | ;..........if(sym==XKB_KEY_Escap |
| 37b40 | 65 29 7b 00 00 00 55 20 20 20 20 69 66 28 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 21 3d 4d 45 4e 55 | e){...U....if(a->open_menu!=MENU |
| 37b60 | 5f 4e 4f 4e 45 29 7b 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 3d 4d 45 4e 55 5f 4e 4f 4e 45 3b 61 2d | _NONE){a->open_menu=MENU_NONE;a- |
| 37b80 | 3e 68 6f 76 65 72 65 64 5f 69 74 65 6d 3d 2d 31 3b 72 65 64 72 61 77 28 61 29 3b 7d 00 00 00 0b | >hovered_item=-1;redraw(a);}.... |
| 37ba0 | 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 03 20 20 7d 00 00 00 0b 20 20 69 66 28 63 74 72 6c 29 | ....return;......}......if(ctrl) |
| 37bc0 | 7b 00 00 00 64 20 20 20 20 69 66 28 70 6c 61 69 6e 3d 3d 58 4b 42 5f 4b 45 59 5f 65 71 75 61 6c | {...d....if(plain==XKB_KEY_equal |
| 37be0 | 7c 7c 70 6c 61 69 6e 3d 3d 58 4b 42 5f 4b 45 59 5f 70 6c 75 73 29 7b 66 6f 6e 74 5f 70 74 2b 2b | ||plain==XKB_KEY_plus){font_pt++ |
| 37c00 | 3b 75 70 64 61 74 65 5f 66 6f 6e 74 5f 6d 65 74 72 69 63 73 28 29 3b 72 65 64 72 61 77 28 61 29 | ;update_font_metrics();redraw(a) |
| 37c20 | 3b 72 65 74 75 72 6e 3b 7d 00 00 00 5e 20 20 20 20 69 66 28 70 6c 61 69 6e 3d 3d 58 4b 42 5f 4b | ;return;}...^....if(plain==XKB_K |
| 37c40 | 45 59 5f 6d 69 6e 75 73 29 7b 69 66 28 66 6f 6e 74 5f 70 74 3e 34 29 7b 66 6f 6e 74 5f 70 74 2d | EY_minus){if(font_pt>4){font_pt- |
| 37c60 | 2d 3b 75 70 64 61 74 65 5f 66 6f 6e 74 5f 6d 65 74 72 69 63 73 28 29 3b 72 65 64 72 61 77 28 61 | -;update_font_metrics();redraw(a |
| 37c80 | 29 3b 7d 72 65 74 75 72 6e 3b 7d 00 00 00 53 20 20 20 20 69 66 28 70 6c 61 69 6e 3d 3d 58 4b 42 | );}return;}...S....if(plain==XKB |
| 37ca0 | 5f 4b 45 59 5f 30 29 7b 66 6f 6e 74 5f 70 74 3d 46 4f 4e 54 5f 53 49 5a 45 3b 75 70 64 61 74 65 | _KEY_0){font_pt=FONT_SIZE;update |
| 37cc0 | 5f 66 6f 6e 74 5f 6d 65 74 72 69 63 73 28 29 3b 72 65 64 72 61 77 28 61 29 3b 72 65 74 75 72 6e | _font_metrics();redraw(a);return |
| 37ce0 | 3b 7d 00 00 00 2b 20 20 20 20 69 66 28 70 6c 61 69 6e 3d 3d 58 4b 42 5f 4b 45 59 5f 73 7c 7c 70 | ;}...+....if(plain==XKB_KEY_s||p |
| 37d00 | 6c 61 69 6e 3d 3d 58 4b 42 5f 4b 45 59 5f 53 29 7b 00 00 00 27 20 20 20 20 20 20 66 69 72 65 5f | lain==XKB_KEY_S){...'......fire_ |
| 37d20 | 69 74 65 6d 28 61 2c 4d 45 4e 55 5f 46 49 4c 45 2c 32 29 3b 20 72 65 74 75 72 6e 3b 00 00 00 05 | item(a,MENU_FILE,2);.return;.... |
| 37d40 | 20 20 20 20 7d 00 00 00 56 20 20 20 20 69 66 28 70 6c 61 69 6e 3d 3d 58 4b 42 5f 4b 45 59 5f 61 | ....}...V....if(plain==XKB_KEY_a |
| 37d60 | 7c 7c 70 6c 61 69 6e 3d 3d 58 4b 42 5f 4b 45 59 5f 41 29 7b 73 65 6c 5f 61 6e 63 68 6f 72 3d 30 | ||plain==XKB_KEY_A){sel_anchor=0 |
| 37d80 | 3b 63 75 72 73 6f 72 3d 74 6c 65 6e 3b 72 65 64 72 61 77 28 61 29 3b 72 65 74 75 72 6e 3b 7d 00 | ;cursor=tlen;redraw(a);return;}. |
| 37da0 | 00 00 3f 20 20 20 20 69 66 28 70 6c 61 69 6e 3d 3d 58 4b 42 5f 4b 45 59 5f 63 7c 7c 70 6c 61 69 | ..?....if(plain==XKB_KEY_c||plai |
| 37dc0 | 6e 3d 3d 58 4b 42 5f 4b 45 59 5f 43 29 7b 63 6f 70 79 5f 73 65 6c 28 61 29 3b 72 65 74 75 72 6e | n==XKB_KEY_C){copy_sel(a);return |
| 37de0 | 3b 7d 00 00 00 56 20 20 20 20 69 66 28 70 6c 61 69 6e 3d 3d 58 4b 42 5f 4b 45 59 5f 78 7c 7c 70 | ;}...V....if(plain==XKB_KEY_x||p |
| 37e00 | 6c 61 69 6e 3d 3d 58 4b 42 5f 4b 45 59 5f 58 29 7b 63 6f 70 79 5f 73 65 6c 28 61 29 3b 64 65 6c | lain==XKB_KEY_X){copy_sel(a);del |
| 37e20 | 65 74 65 5f 73 65 6c 28 29 3b 72 65 64 72 61 77 28 61 29 3b 72 65 74 75 72 6e 3b 7d 00 00 00 7e | ete_sel();redraw(a);return;}...~ |
| 37e40 | 20 20 20 20 69 66 28 70 6c 61 69 6e 3d 3d 58 4b 42 5f 4b 45 59 5f 76 7c 7c 70 6c 61 69 6e 3d 3d | ....if(plain==XKB_KEY_v||plain== |
| 37e60 | 58 4b 42 5f 4b 45 59 5f 56 29 7b 69 66 28 73 65 6c 5f 61 6e 63 68 6f 72 3e 3d 30 29 64 65 6c 65 | XKB_KEY_V){if(sel_anchor>=0)dele |
| 37e80 | 74 65 5f 73 65 6c 28 29 3b 69 6e 73 28 61 2d 3e 63 6c 69 70 62 6f 61 72 64 2c 61 2d 3e 63 6c 69 | te_sel();ins(a->clipboard,a->cli |
| 37ea0 | 70 62 6f 61 72 64 5f 6c 65 6e 29 3b 72 65 64 72 61 77 28 61 29 3b 72 65 74 75 72 6e 3b 7d 00 00 | pboard_len);redraw(a);return;}.. |
| 37ec0 | 00 03 20 20 7d 00 00 00 51 20 20 69 66 28 73 79 6d 3d 3d 58 4b 42 5f 4b 45 59 5f 4c 65 66 74 7c | ....}...Q..if(sym==XKB_KEY_Left| |
| 37ee0 | 7c 73 79 6d 3d 3d 58 4b 42 5f 4b 45 59 5f 52 69 67 68 74 7c 7c 73 79 6d 3d 3d 58 4b 42 5f 4b 45 | |sym==XKB_KEY_Right||sym==XKB_KE |
| 37f00 | 59 5f 48 6f 6d 65 7c 7c 73 79 6d 3d 3d 58 4b 42 5f 4b 45 59 5f 45 6e 64 29 7b 00 00 00 2e 20 20 | Y_Home||sym==XKB_KEY_End){...... |
| 37f20 | 20 20 69 66 28 73 68 69 66 74 26 26 73 65 6c 5f 61 6e 63 68 6f 72 3c 30 29 20 73 65 6c 5f 61 6e | ..if(shift&&sel_anchor<0).sel_an |
| 37f40 | 63 68 6f 72 3d 63 75 72 73 6f 72 3b 00 00 00 22 20 20 20 20 65 6c 73 65 20 69 66 28 21 73 68 69 | chor=cursor;..."....else.if(!shi |
| 37f60 | 66 74 29 20 73 65 6c 5f 61 6e 63 68 6f 72 3d 2d 31 3b 00 00 00 2d 20 20 20 20 69 66 28 73 79 6d | ft).sel_anchor=-1;...-....if(sym |
| 37f80 | 3d 3d 58 4b 42 5f 4b 45 59 5f 4c 65 66 74 26 26 63 75 72 73 6f 72 3e 30 29 20 63 75 72 73 6f 72 | ==XKB_KEY_Left&&cursor>0).cursor |
| 37fa0 | 2d 2d 3b 00 00 00 31 20 20 20 20 69 66 28 73 79 6d 3d 3d 58 4b 42 5f 4b 45 59 5f 52 69 67 68 74 | --;...1....if(sym==XKB_KEY_Right |
| 37fc0 | 26 26 63 75 72 73 6f 72 3c 74 6c 65 6e 29 20 63 75 72 73 6f 72 2b 2b 3b 00 00 00 49 20 20 20 20 | &&cursor<tlen).cursor++;...I.... |
| 37fe0 | 69 66 28 73 79 6d 3d 3d 58 4b 42 5f 4b 45 59 5f 48 6f 6d 65 29 7b 77 68 69 6c 65 28 63 75 72 73 | if(sym==XKB_KEY_Home){while(curs |
| 38000 | 6f 72 3e 30 26 26 74 65 78 74 5b 63 75 72 73 6f 72 2d 31 5d 21 3d 27 5c 6e 27 29 63 75 72 73 6f | or>0&&text[cursor-1]!='\n')curso |
| 38020 | 72 2d 2d 3b 7d 00 00 00 4a 20 20 20 20 69 66 28 73 79 6d 3d 3d 58 4b 42 5f 4b 45 59 5f 45 6e 64 | r--;}...J....if(sym==XKB_KEY_End |
| 38040 | 29 20 7b 77 68 69 6c 65 28 63 75 72 73 6f 72 3c 74 6c 65 6e 26 26 74 65 78 74 5b 63 75 72 73 6f | ).{while(cursor<tlen&&text[curso |
| 38060 | 72 5d 21 3d 27 5c 6e 27 29 63 75 72 73 6f 72 2b 2b 3b 7d 00 00 00 30 20 20 20 20 69 66 28 73 68 | r]!='\n')cursor++;}...0....if(sh |
| 38080 | 69 66 74 26 26 73 65 6c 5f 61 6e 63 68 6f 72 3d 3d 63 75 72 73 6f 72 29 20 73 65 6c 5f 61 6e 63 | ift&&sel_anchor==cursor).sel_anc |
| 380a0 | 68 6f 72 3d 2d 31 3b 00 00 00 15 20 20 20 20 72 65 64 72 61 77 28 61 29 3b 72 65 74 75 72 6e 3b | hor=-1;........redraw(a);return; |
| 380c0 | 00 00 00 03 20 20 7d 00 00 00 1d 20 20 69 66 28 73 79 6d 3d 3d 58 4b 42 5f 4b 45 59 5f 42 61 63 | ......}......if(sym==XKB_KEY_Bac |
| 380e0 | 6b 53 70 61 63 65 29 7b 00 00 00 22 20 20 20 20 69 66 28 73 65 6c 5f 61 6e 63 68 6f 72 3e 3d 30 | kSpace){..."....if(sel_anchor>=0 |
| 38100 | 29 64 65 6c 65 74 65 5f 73 65 6c 28 29 3b 00 00 00 71 20 20 20 20 65 6c 73 65 20 69 66 28 63 75 | )delete_sel();...q....else.if(cu |
| 38120 | 72 73 6f 72 3e 30 29 7b 6d 65 6d 6d 6f 76 65 28 74 65 78 74 2b 63 75 72 73 6f 72 2d 31 2c 74 65 | rsor>0){memmove(text+cursor-1,te |
| 38140 | 78 74 2b 63 75 72 73 6f 72 2c 74 6c 65 6e 2d 63 75 72 73 6f 72 29 3b 74 6c 65 6e 2d 2d 3b 63 75 | xt+cursor,tlen-cursor);tlen--;cu |
| 38160 | 72 73 6f 72 2d 2d 3b 74 65 78 74 5b 74 6c 65 6e 5d 3d 27 5c 30 27 3b 64 69 72 74 79 3d 74 72 75 | rsor--;text[tlen]='\0';dirty=tru |
| 38180 | 65 3b 7d 00 00 00 15 20 20 20 20 72 65 64 72 61 77 28 61 29 3b 72 65 74 75 72 6e 3b 00 00 00 03 | e;}........redraw(a);return;.... |
| 381a0 | 20 20 7d 00 00 00 1a 20 20 69 66 28 73 79 6d 3d 3d 58 4b 42 5f 4b 45 59 5f 44 65 6c 65 74 65 29 | ..}......if(sym==XKB_KEY_Delete) |
| 381c0 | 7b 00 00 00 22 20 20 20 20 69 66 28 73 65 6c 5f 61 6e 63 68 6f 72 3e 3d 30 29 64 65 6c 65 74 65 | {..."....if(sel_anchor>=0)delete |
| 381e0 | 5f 73 65 6c 28 29 3b 00 00 00 6d 20 20 20 20 65 6c 73 65 20 69 66 28 63 75 72 73 6f 72 3c 74 6c | _sel();...m....else.if(cursor<tl |
| 38200 | 65 6e 29 7b 6d 65 6d 6d 6f 76 65 28 74 65 78 74 2b 63 75 72 73 6f 72 2c 74 65 78 74 2b 63 75 72 | en){memmove(text+cursor,text+cur |
| 38220 | 73 6f 72 2b 31 2c 74 6c 65 6e 2d 63 75 72 73 6f 72 2d 31 29 3b 74 6c 65 6e 2d 2d 3b 74 65 78 74 | sor+1,tlen-cursor-1);tlen--;text |
| 38240 | 5b 74 6c 65 6e 5d 3d 27 5c 30 27 3b 64 69 72 74 79 3d 74 72 75 65 3b 7d 00 00 00 15 20 20 20 20 | [tlen]='\0';dirty=true;}........ |
| 38260 | 72 65 64 72 61 77 28 61 29 3b 72 65 74 75 72 6e 3b 00 00 00 03 20 20 7d 00 00 00 31 20 20 69 66 | redraw(a);return;......}...1..if |
| 38280 | 28 73 79 6d 3d 3d 58 4b 42 5f 4b 45 59 5f 52 65 74 75 72 6e 7c 7c 73 79 6d 3d 3d 58 4b 42 5f 4b | (sym==XKB_KEY_Return||sym==XKB_K |
| 382a0 | 45 59 5f 4b 50 5f 45 6e 74 65 72 29 7b 00 00 00 3f 20 20 20 20 69 66 28 73 65 6c 5f 61 6e 63 68 | EY_KP_Enter){...?....if(sel_anch |
| 382c0 | 6f 72 3e 3d 30 29 64 65 6c 65 74 65 5f 73 65 6c 28 29 3b 69 6e 73 28 22 5c 6e 22 2c 31 29 3b 72 | or>=0)delete_sel();ins("\n",1);r |
| 382e0 | 65 64 72 61 77 28 61 29 3b 72 65 74 75 72 6e 3b 00 00 00 03 20 20 7d 00 00 00 4d 20 20 63 68 61 | edraw(a);return;......}...M..cha |
| 38300 | 72 20 62 75 66 5b 38 5d 3b 69 6e 74 20 6c 65 6e 3d 78 6b 62 5f 73 74 61 74 65 5f 6b 65 79 5f 67 | r.buf[8];int.len=xkb_state_key_g |
| 38320 | 65 74 5f 75 74 66 38 28 61 2d 3e 78 6b 62 5f 73 74 61 74 65 2c 6b 63 2c 62 75 66 2c 73 69 7a 65 | et_utf8(a->xkb_state,kc,buf,size |
| 38340 | 6f 66 20 62 75 66 29 3b 00 00 00 5d 20 20 69 66 28 6c 65 6e 3e 30 26 26 28 75 6e 73 69 67 6e 65 | of.buf);...]..if(len>0&&(unsigne |
| 38360 | 64 20 63 68 61 72 29 62 75 66 5b 30 5d 3e 3d 33 32 29 7b 69 66 28 73 65 6c 5f 61 6e 63 68 6f 72 | d.char)buf[0]>=32){if(sel_anchor |
| 38380 | 3e 3d 30 29 64 65 6c 65 74 65 5f 73 65 6c 28 29 3b 69 6e 73 28 62 75 66 2c 6c 65 6e 29 3b 72 65 | >=0)delete_sel();ins(buf,len);re |
| 383a0 | 64 72 61 77 28 61 29 3b 7d 00 00 00 01 7d 00 00 00 00 00 00 00 61 73 74 61 74 69 63 20 76 6f 69 | draw(a);}....}.......astatic.voi |
| 383c0 | 64 20 77 6d 5f 70 69 6e 67 28 76 6f 69 64 20 2a 64 2c 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f | d.wm_ping(void.*d,struct.xdg_wm_ |
| 383e0 | 62 61 73 65 20 2a 77 6d 2c 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 7b 78 64 67 5f 77 6d | base.*wm,uint32_t.serial){xdg_wm |
| 38400 | 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 2c 73 65 72 69 61 6c 29 3b 7d 00 00 00 45 73 74 61 74 69 | _base_pong(wm,serial);}...Estati |
| 38420 | 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 | c.const.struct.xdg_wm_base_liste |
| 38440 | 6e 65 72 20 77 6d 5f 6c 69 73 74 65 6e 65 72 3d 7b 2e 70 69 6e 67 3d 77 6d 5f 70 69 6e 67 7d 3b | ner.wm_listener={.ping=wm_ping}; |
| 38460 | 00 00 00 00 00 00 00 25 73 74 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 5f 62 75 66 28 73 74 | .......%static.void.alloc_buf(st |
| 38480 | 72 75 63 74 20 61 70 70 20 2a 61 29 7b 00 00 00 41 20 20 69 66 28 61 2d 3e 62 75 66 29 20 20 20 | ruct.app.*a){...A..if(a->buf)... |
| 384a0 | 20 7b 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 61 2d 3e 62 75 66 29 3b 20 20 20 20 | .{wl_buffer_destroy(a->buf);.... |
| 384c0 | 20 20 20 20 20 61 2d 3e 62 75 66 3d 4e 55 4c 4c 3b 7d 00 00 00 44 20 20 69 66 28 61 2d 3e 70 69 | .....a->buf=NULL;}...D..if(a->pi |
| 384e0 | 78 65 6c 73 29 20 7b 6d 75 6e 6d 61 70 28 61 2d 3e 70 69 78 65 6c 73 2c 61 2d 3e 70 69 78 65 6c | xels).{munmap(a->pixels,a->pixel |
| 38500 | 73 5f 73 69 7a 65 29 3b 20 20 61 2d 3e 70 69 78 65 6c 73 3d 4e 55 4c 4c 3b 7d 00 00 00 3a 20 20 | s_size);..a->pixels=NULL;}...:.. |
| 38520 | 61 2d 3e 70 69 78 65 6c 73 3d 6d 61 6b 65 5f 73 68 6d 28 61 2c 61 2d 3e 77 2c 61 2d 3e 68 2c 26 | a->pixels=make_shm(a,a->w,a->h,& |
| 38540 | 61 2d 3e 62 75 66 2c 26 61 2d 3e 70 69 78 65 6c 73 5f 73 69 7a 65 29 3b 00 00 00 01 7d 00 00 00 | a->buf,&a->pixels_size);....}... |
| 38560 | 43 73 74 61 74 69 63 20 76 6f 69 64 20 78 73 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 73 74 72 75 | Cstatic.void.xs_cfg(void.*d,stru |
| 38580 | 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 2c 75 69 6e 74 33 32 5f 74 20 73 65 72 69 | ct.xdg_surface.*xs,uint32_t.seri |
| 385a0 | 61 6c 29 7b 00 00 00 38 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 3d 64 3b 20 78 64 67 5f 73 | al){...8..struct.app.*a=d;.xdg_s |
| 385c0 | 75 72 66 61 63 65 5f 61 63 6b 5f 63 6f 6e 66 69 67 75 72 65 28 78 73 2c 73 65 72 69 61 6c 29 3b | urface_ack_configure(xs,serial); |
| 385e0 | 00 00 00 25 20 20 69 66 28 61 2d 3e 70 65 6e 64 69 6e 67 5f 77 3e 30 26 26 61 2d 3e 70 65 6e 64 | ...%..if(a->pending_w>0&&a->pend |
| 38600 | 69 6e 67 5f 68 3e 30 29 7b 00 00 00 46 20 20 20 20 61 2d 3e 77 3d 61 2d 3e 70 65 6e 64 69 6e 67 | ing_h>0){...F....a->w=a->pending |
| 38620 | 5f 77 3b 61 2d 3e 68 3d 61 2d 3e 70 65 6e 64 69 6e 67 5f 68 3b 61 2d 3e 70 65 6e 64 69 6e 67 5f | _w;a->h=a->pending_h;a->pending_ |
| 38640 | 77 3d 30 3b 61 2d 3e 70 65 6e 64 69 6e 67 5f 68 3d 30 3b 00 00 00 03 20 20 7d 00 00 00 28 20 20 | w=0;a->pending_h=0;......}...(.. |
| 38660 | 69 66 28 21 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 29 20 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 | if(!a->configured).a->configured |
| 38680 | 3d 74 72 75 65 3b 00 00 00 19 20 20 61 6c 6c 6f 63 5f 62 75 66 28 61 29 3b 72 65 64 72 61 77 28 | =true;......alloc_buf(a);redraw( |
| 386a0 | 61 29 3b 00 00 00 01 7d 00 00 00 49 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 | a);....}...Istatic.const.struct. |
| 386c0 | 78 64 67 5f 73 75 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 20 78 73 5f 6c 69 73 74 65 6e 65 72 | xdg_surface_listener.xs_listener |
| 386e0 | 3d 7b 2e 63 6f 6e 66 69 67 75 72 65 3d 78 73 5f 63 66 67 7d 3b 00 00 00 5b 73 74 61 74 69 63 20 | ={.configure=xs_cfg};...[static. |
| 38700 | 76 6f 69 64 20 78 74 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 73 74 72 75 63 74 20 78 64 67 5f 74 | void.xt_cfg(void.*d,struct.xdg_t |
| 38720 | 6f 70 6c 65 76 65 6c 20 2a 78 74 2c 69 6e 74 33 32 5f 74 20 77 2c 69 6e 74 33 32 5f 74 20 68 2c | oplevel.*xt,int32_t.w,int32_t.h, |
| 38740 | 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 29 7b 00 00 00 3e 20 20 73 74 72 75 63 74 | struct.wl_array.*s){...>..struct |
| 38760 | 20 61 70 70 20 2a 61 3d 64 3b 69 66 28 77 3e 30 26 26 68 3e 30 29 7b 61 2d 3e 70 65 6e 64 69 6e | .app.*a=d;if(w>0&&h>0){a->pendin |
| 38780 | 67 5f 77 3d 77 3b 61 2d 3e 70 65 6e 64 69 6e 67 5f 68 3d 68 3b 7d 00 00 00 01 7d 00 00 00 3f 73 | g_w=w;a->pending_h=h;}....}...?s |
| 387a0 | 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 6c 6f 73 65 28 76 6f 69 64 20 2a 64 2c 73 74 72 75 | tatic.void.xt_close(void.*d,stru |
| 387c0 | 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 29 7b 65 78 69 74 28 30 29 3b 7d 00 00 | ct.xdg_toplevel.*xt){exit(0);}.. |
| 387e0 | 00 5a 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 | .Zstatic.const.struct.xdg_toplev |
| 38800 | 65 6c 5f 6c 69 73 74 65 6e 65 72 20 78 74 5f 6c 69 73 74 65 6e 65 72 3d 7b 2e 63 6f 6e 66 69 67 | el_listener.xt_listener={.config |
| 38820 | 75 72 65 3d 78 74 5f 63 66 67 2c 2e 63 6c 6f 73 65 3d 78 74 5f 63 6c 6f 73 65 7d 3b 00 00 00 00 | ure=xt_cfg,.close=xt_close};.... |
| 38840 | 00 00 00 47 73 74 61 74 69 63 20 76 6f 69 64 20 64 73 5f 74 61 72 67 65 74 28 76 6f 69 64 20 2a | ...Gstatic.void.ds_target(void.* |
| 38860 | 64 2c 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 20 2a 73 2c 63 6f 6e 73 74 | d,struct.wl_data_source.*s,const |
| 38880 | 20 63 68 61 72 20 2a 6d 29 7b 7d 00 00 00 4f 73 74 61 74 69 63 20 76 6f 69 64 20 64 73 5f 73 65 | .char.*m){}...Ostatic.void.ds_se |
| 388a0 | 6e 64 28 76 6f 69 64 20 2a 64 2c 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 | nd(void.*d,struct.wl_data_source |
| 388c0 | 20 2a 73 2c 63 6f 6e 73 74 20 63 68 61 72 20 2a 6d 2c 69 6e 74 33 32 5f 74 20 66 64 29 7b 00 00 | .*s,const.char.*m,int32_t.fd){.. |
| 388e0 | 00 44 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 3d 64 3b 77 72 69 74 65 28 66 64 2c 61 2d 3e | .D..struct.app.*a=d;write(fd,a-> |
| 38900 | 63 6c 69 70 62 6f 61 72 64 2c 61 2d 3e 63 6c 69 70 62 6f 61 72 64 5f 6c 65 6e 29 3b 63 6c 6f 73 | clipboard,a->clipboard_len);clos |
| 38920 | 65 28 66 64 29 3b 00 00 00 01 7d 00 00 00 3b 73 74 61 74 69 63 20 76 6f 69 64 20 64 73 5f 63 61 | e(fd);....}...;static.void.ds_ca |
| 38940 | 6e 63 65 6c 6c 65 64 28 76 6f 69 64 20 2a 64 2c 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 73 | ncelled(void.*d,struct.wl_data_s |
| 38960 | 6f 75 72 63 65 20 2a 73 29 7b 00 00 00 46 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 3d 64 3b | ource.*s){...F..struct.app.*a=d; |
| 38980 | 69 66 28 61 2d 3e 64 73 29 7b 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 5f 64 65 73 74 72 6f 79 | if(a->ds){wl_data_source_destroy |
| 389a0 | 28 61 2d 3e 64 73 29 3b 61 2d 3e 64 73 3d 4e 55 4c 4c 3b 7d 00 00 00 01 7d 00 00 00 39 73 74 61 | (a->ds);a->ds=NULL;}....}...9sta |
| 389c0 | 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 5f | tic.const.struct.wl_data_source_ |
| 389e0 | 6c 69 73 74 65 6e 65 72 20 64 73 5f 6c 69 73 74 65 6e 65 72 3d 7b 00 00 00 39 20 20 2e 74 61 72 | listener.ds_listener={...9...tar |
| 38a00 | 67 65 74 3d 64 73 5f 74 61 72 67 65 74 2c 2e 73 65 6e 64 3d 64 73 5f 73 65 6e 64 2c 2e 63 61 6e | get=ds_target,.send=ds_send,.can |
| 38a20 | 63 65 6c 6c 65 64 3d 64 73 5f 63 61 6e 63 65 6c 6c 65 64 00 00 00 02 7d 3b 00 00 00 51 73 74 61 | celled=ds_cancelled....};...Qsta |
| 38a40 | 74 69 63 20 76 6f 69 64 20 64 64 5f 6f 66 66 65 72 28 76 6f 69 64 20 2a 64 2c 73 74 72 75 63 74 | tic.void.dd_offer(void.*d,struct |
| 38a60 | 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 20 2a 64 64 2c 73 74 72 75 63 74 20 77 6c 5f 64 61 | .wl_data_device.*dd,struct.wl_da |
| 38a80 | 74 61 5f 6f 66 66 65 72 20 2a 6f 29 7b 7d 00 00 00 58 73 74 61 74 69 63 20 76 6f 69 64 20 64 64 | ta_offer.*o){}...Xstatic.void.dd |
| 38aa0 | 5f 65 6e 74 65 72 28 76 6f 69 64 20 2a 64 2c 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 64 65 | _enter(void.*d,struct.wl_data_de |
| 38ac0 | 76 69 63 65 20 2a 64 64 2c 75 69 6e 74 33 32 5f 74 20 73 2c 73 74 72 75 63 74 20 77 6c 5f 73 75 | vice.*dd,uint32_t.s,struct.wl_su |
| 38ae0 | 72 66 61 63 65 20 2a 73 75 2c 00 00 00 49 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | rface.*su,...I.................. |
| 38b00 | 20 20 20 77 6c 5f 66 69 78 65 64 5f 74 20 78 2c 77 6c 5f 66 69 78 65 64 5f 74 20 79 2c 73 74 72 | ...wl_fixed_t.x,wl_fixed_t.y,str |
| 38b20 | 75 63 74 20 77 6c 5f 64 61 74 61 5f 6f 66 66 65 72 20 2a 6f 29 7b 7d 00 00 00 39 73 74 61 74 69 | uct.wl_data_offer.*o){}...9stati |
| 38b40 | 63 20 76 6f 69 64 20 64 64 5f 6c 65 61 76 65 28 76 6f 69 64 20 2a 64 2c 73 74 72 75 63 74 20 77 | c.void.dd_leave(void.*d,struct.w |
| 38b60 | 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 20 2a 64 64 29 7b 7d 00 00 00 5f 73 74 61 74 69 63 20 76 | l_data_device.*dd){}..._static.v |
| 38b80 | 6f 69 64 20 64 64 5f 6d 6f 74 69 6f 6e 28 76 6f 69 64 20 2a 64 2c 73 74 72 75 63 74 20 77 6c 5f | oid.dd_motion(void.*d,struct.wl_ |
| 38ba0 | 64 61 74 61 5f 64 65 76 69 63 65 20 2a 64 64 2c 75 69 6e 74 33 32 5f 74 20 74 2c 77 6c 5f 66 69 | data_device.*dd,uint32_t.t,wl_fi |
| 38bc0 | 78 65 64 5f 74 20 78 2c 77 6c 5f 66 69 78 65 64 5f 74 20 79 29 7b 7d 00 00 00 38 73 74 61 74 69 | xed_t.x,wl_fixed_t.y){}...8stati |
| 38be0 | 63 20 76 6f 69 64 20 64 64 5f 64 72 6f 70 28 76 6f 69 64 20 2a 64 2c 73 74 72 75 63 74 20 77 6c | c.void.dd_drop(void.*d,struct.wl |
| 38c00 | 5f 64 61 74 61 5f 64 65 76 69 63 65 20 2a 64 64 29 7b 7d 00 00 00 55 73 74 61 74 69 63 20 76 6f | _data_device.*dd){}...Ustatic.vo |
| 38c20 | 69 64 20 64 64 5f 73 65 6c 65 63 74 69 6f 6e 28 76 6f 69 64 20 2a 64 2c 73 74 72 75 63 74 20 77 | id.dd_selection(void.*d,struct.w |
| 38c40 | 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 20 2a 64 64 2c 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 | l_data_device.*dd,struct.wl_data |
| 38c60 | 5f 6f 66 66 65 72 20 2a 6f 29 7b 7d 00 00 00 39 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 | _offer.*o){}...9static.const.str |
| 38c80 | 75 63 74 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 5f 6c 69 73 74 65 6e 65 72 20 64 64 5f 6c | uct.wl_data_device_listener.dd_l |
| 38ca0 | 69 73 74 65 6e 65 72 3d 7b 00 00 00 37 20 20 2e 64 61 74 61 5f 6f 66 66 65 72 3d 64 64 5f 6f 66 | istener={...7...data_offer=dd_of |
| 38cc0 | 66 65 72 2c 2e 65 6e 74 65 72 3d 64 64 5f 65 6e 74 65 72 2c 2e 6c 65 61 76 65 3d 64 64 5f 6c 65 | fer,.enter=dd_enter,.leave=dd_le |
| 38ce0 | 61 76 65 2c 00 00 00 39 20 20 2e 6d 6f 74 69 6f 6e 3d 64 64 5f 6d 6f 74 69 6f 6e 2c 2e 64 72 6f | ave,...9...motion=dd_motion,.dro |
| 38d00 | 70 3d 64 64 5f 64 72 6f 70 2c 2e 73 65 6c 65 63 74 69 6f 6e 3d 64 64 5f 73 65 6c 65 63 74 69 6f | p=dd_drop,.selection=dd_selectio |
| 38d20 | 6e 00 00 00 02 7d 3b 00 00 00 00 00 00 00 54 73 74 61 74 69 63 20 76 6f 69 64 20 70 74 72 5f 65 | n....};.......Tstatic.void.ptr_e |
| 38d40 | 6e 74 65 72 28 76 6f 69 64 20 2a 64 2c 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a | nter(void.*d,struct.wl_pointer.* |
| 38d60 | 70 2c 75 69 6e 74 33 32 5f 74 20 73 2c 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a | p,uint32_t.s,struct.wl_surface.* |
| 38d80 | 73 75 2c 00 00 00 31 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 6c 5f | su,...1......................wl_ |
| 38da0 | 66 69 78 65 64 5f 74 20 78 2c 77 6c 5f 66 69 78 65 64 5f 74 20 79 29 7b 00 00 00 22 20 20 73 74 | fixed_t.x,wl_fixed_t.y){..."..st |
| 38dc0 | 72 75 63 74 20 61 70 70 20 2a 61 3d 64 3b 20 61 2d 3e 70 74 72 5f 73 75 72 66 3d 73 75 3b 00 00 | ruct.app.*a=d;.a->ptr_surf=su;.. |
| 38de0 | 00 32 20 20 69 6e 74 20 6d 78 3d 77 6c 5f 66 69 78 65 64 5f 74 6f 5f 69 6e 74 28 78 29 2c 6d 79 | .2..int.mx=wl_fixed_to_int(x),my |
| 38e00 | 3d 77 6c 5f 66 69 78 65 64 5f 74 6f 5f 69 6e 74 28 79 29 3b 00 00 00 2c 20 20 69 66 28 73 75 3d | =wl_fixed_to_int(y);...,..if(su= |
| 38e20 | 3d 61 2d 3e 66 70 2e 77 73 29 7b 61 2d 3e 66 70 2e 6d 78 3d 6d 78 3b 61 2d 3e 66 70 2e 6d 79 3d | =a->fp.ws){a->fp.mx=mx;a->fp.my= |
| 38e40 | 6d 79 3b 7d 00 00 00 1a 20 20 65 6c 73 65 7b 61 2d 3e 6d 78 3d 6d 78 3b 61 2d 3e 6d 79 3d 6d 79 | my;}......else{a->mx=mx;a->my=my |
| 38e60 | 3b 7d 00 00 00 01 7d 00 00 00 55 73 74 61 74 69 63 20 76 6f 69 64 20 70 74 72 5f 6c 65 61 76 65 | ;}....}...Ustatic.void.ptr_leave |
| 38e80 | 28 76 6f 69 64 20 2a 64 2c 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 2c 75 69 | (void.*d,struct.wl_pointer.*p,ui |
| 38ea0 | 6e 74 33 32 5f 74 20 73 2c 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 29 7b | nt32_t.s,struct.wl_surface.*su){ |
| 38ec0 | 00 00 00 12 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 3d 64 3b 00 00 00 27 20 20 69 66 28 61 | ......struct.app.*a=d;...'..if(a |
| 38ee0 | 2d 3e 70 74 72 5f 73 75 72 66 3d 3d 73 75 29 20 61 2d 3e 70 74 72 5f 73 75 72 66 3d 4e 55 4c 4c | ->ptr_surf==su).a->ptr_surf=NULL |
| 38f00 | 3b 00 00 00 01 7d 00 00 00 5a 73 74 61 74 69 63 20 76 6f 69 64 20 70 74 72 5f 6d 6f 74 69 6f 6e | ;....}...Zstatic.void.ptr_motion |
| 38f20 | 28 76 6f 69 64 20 2a 64 2c 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 2c 75 69 | (void.*d,struct.wl_pointer.*p,ui |
| 38f40 | 6e 74 33 32 5f 74 20 74 2c 77 6c 5f 66 69 78 65 64 5f 74 20 78 2c 77 6c 5f 66 69 78 65 64 5f 74 | nt32_t.t,wl_fixed_t.x,wl_fixed_t |
| 38f60 | 20 79 29 7b 00 00 00 12 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 3d 64 3b 00 00 00 32 20 20 | .y){......struct.app.*a=d;...2.. |
| 38f80 | 69 6e 74 20 6d 78 3d 77 6c 5f 66 69 78 65 64 5f 74 6f 5f 69 6e 74 28 78 29 2c 6d 79 3d 77 6c 5f | int.mx=wl_fixed_to_int(x),my=wl_ |
| 38fa0 | 66 69 78 65 64 5f 74 6f 5f 69 6e 74 28 79 29 3b 00 00 00 1c 20 20 69 66 28 61 2d 3e 70 74 72 5f | fixed_to_int(y);......if(a->ptr_ |
| 38fc0 | 73 75 72 66 3d 3d 61 2d 3e 66 70 2e 77 73 29 7b 00 00 00 35 20 20 20 20 61 2d 3e 66 70 2e 6d 78 | surf==a->fp.ws){...5....a->fp.mx |
| 38fe0 | 3d 6d 78 3b 61 2d 3e 66 70 2e 6d 79 3d 6d 79 3b 66 70 5f 68 6f 76 65 72 28 61 2c 6d 78 2c 6d 79 | =mx;a->fp.my=my;fp_hover(a,mx,my |
| 39000 | 29 3b 72 65 74 75 72 6e 3b 00 00 00 03 20 20 7d 00 00 00 14 20 20 61 2d 3e 6d 78 3d 6d 78 3b 61 | );return;......}......a->mx=mx;a |
| 39020 | 2d 3e 6d 79 3d 6d 79 3b 00 00 00 1e 20 20 69 66 28 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 21 3d 4d | ->my=my;......if(a->open_menu!=M |
| 39040 | 45 4e 55 5f 4e 4f 4e 45 29 7b 00 00 00 26 20 20 20 20 69 6e 74 20 69 74 3d 69 74 65 6d 5f 61 74 | ENU_NONE){...&....int.it=item_at |
| 39060 | 28 61 2c 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 2c 6d 79 29 3b 00 00 00 41 20 20 20 20 69 66 28 69 | (a,a->open_menu,my);...A....if(i |
| 39080 | 74 21 3d 61 2d 3e 68 6f 76 65 72 65 64 5f 69 74 65 6d 29 7b 61 2d 3e 68 6f 76 65 72 65 64 5f 69 | t!=a->hovered_item){a->hovered_i |
| 390a0 | 74 65 6d 3d 69 74 3b 72 65 64 72 61 77 28 61 29 3b 72 65 74 75 72 6e 3b 7d 00 00 00 03 20 20 7d | tem=it;redraw(a);return;}......} |
| 390c0 | 00 00 00 1d 20 20 69 66 28 6d 79 3e 3d 62 61 72 5f 79 28 61 29 29 20 72 65 64 72 61 77 28 61 29 | ......if(my>=bar_y(a)).redraw(a) |
| 390e0 | 3b 00 00 00 01 7d 00 00 00 4f 73 74 61 74 69 63 20 76 6f 69 64 20 70 74 72 5f 62 75 74 74 6f 6e | ;....}...Ostatic.void.ptr_button |
| 39100 | 28 76 6f 69 64 20 2a 64 2c 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 2c 75 69 | (void.*d,struct.wl_pointer.*p,ui |
| 39120 | 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 2c 75 69 6e 74 33 32 5f 74 20 74 2c 00 00 00 34 20 20 20 | nt32_t.serial,uint32_t.t,...4... |
| 39140 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 62 74 6e | ....................uint32_t.btn |
| 39160 | 2c 75 69 6e 74 33 32 5f 74 20 73 74 61 74 65 29 7b 00 00 00 12 20 20 73 74 72 75 63 74 20 61 70 | ,uint32_t.state){......struct.ap |
| 39180 | 70 20 2a 61 3d 64 3b 00 00 00 34 20 20 69 66 28 73 74 61 74 65 21 3d 57 4c 5f 50 4f 49 4e 54 45 | p.*a=d;...4..if(state!=WL_POINTE |
| 391a0 | 52 5f 42 55 54 54 4f 4e 5f 53 54 41 54 45 5f 50 52 45 53 53 45 44 29 20 72 65 74 75 72 6e 3b 00 | R_BUTTON_STATE_PRESSED).return;. |
| 391c0 | 00 00 18 20 20 61 2d 3e 6c 61 73 74 5f 73 65 72 69 61 6c 3d 73 65 72 69 61 6c 3b 00 00 00 42 20 | .....a->last_serial=serial;...B. |
| 391e0 | 20 69 66 28 61 2d 3e 70 74 72 5f 73 75 72 66 3d 3d 61 2d 3e 66 70 2e 77 73 29 7b 66 70 5f 63 6c | .if(a->ptr_surf==a->fp.ws){fp_cl |
| 39200 | 69 63 6b 28 61 2c 61 2d 3e 66 70 2e 6d 78 2c 61 2d 3e 66 70 2e 6d 79 29 3b 72 65 74 75 72 6e 3b | ick(a,a->fp.mx,a->fp.my);return; |
| 39220 | 7d 00 00 00 12 20 20 69 6e 74 20 62 79 3d 62 61 72 5f 79 28 61 29 3b 00 00 00 1e 20 20 69 66 28 | }......int.by=bar_y(a);......if( |
| 39240 | 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 21 3d 4d 45 4e 55 5f 4e 4f 4e 45 29 7b 00 00 00 29 20 20 20 | a->open_menu!=MENU_NONE){...)... |
| 39260 | 20 69 6e 74 20 69 74 3d 69 74 65 6d 5f 61 74 28 61 2c 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 2c 61 | .int.it=item_at(a,a->open_menu,a |
| 39280 | 2d 3e 6d 79 29 3b 00 00 00 33 20 20 20 20 69 66 28 69 74 3e 3d 30 29 7b 66 69 72 65 5f 69 74 65 | ->my);...3....if(it>=0){fire_ite |
| 392a0 | 6d 28 61 2c 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 2c 69 74 29 3b 72 65 74 75 72 6e 3b 7d 00 00 00 | m(a,a->open_menu,it);return;}... |
| 392c0 | 12 20 20 20 20 69 66 28 61 2d 3e 6d 79 3e 3d 62 79 29 7b 00 00 00 1b 20 20 20 20 20 20 66 6f 72 | .....if(a->my>=by){..........for |
| 392e0 | 28 69 6e 74 20 69 3d 30 3b 69 3c 32 3b 69 2b 2b 29 7b 00 00 00 24 20 20 20 20 20 20 20 20 69 6e | (int.i=0;i<2;i++){...$........in |
| 39300 | 74 20 62 78 3d 62 74 6e 5f 78 28 69 29 2c 62 77 3d 62 74 6e 5f 77 28 69 29 3b 00 00 00 5f 20 20 | t.bx=btn_x(i),bw=btn_w(i);..._.. |
| 39320 | 20 20 20 20 20 20 69 66 28 61 2d 3e 6d 78 3e 3d 62 78 26 26 61 2d 3e 6d 78 3c 62 78 2b 62 77 29 | ......if(a->mx>=bx&&a->mx<bx+bw) |
| 39340 | 7b 61 2d 3e 6f 70 65 6e 5f 6d 65 6e 75 3d 28 4d 65 6e 75 49 64 29 69 3b 61 2d 3e 68 6f 76 65 72 | {a->open_menu=(MenuId)i;a->hover |
| 39360 | 65 64 5f 69 74 65 6d 3d 2d 31 3b 72 65 64 72 61 77 28 61 29 3b 72 65 74 75 72 6e 3b 7d 00 00 00 | ed_item=-1;redraw(a);return;}... |
| 39380 | 07 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 3f 20 20 20 20 61 2d 3e 6f 70 65 6e | .......}........}...?....a->open |
| 393a0 | 5f 6d 65 6e 75 3d 4d 45 4e 55 5f 4e 4f 4e 45 3b 61 2d 3e 68 6f 76 65 72 65 64 5f 69 74 65 6d 3d | _menu=MENU_NONE;a->hovered_item= |
| 393c0 | 2d 31 3b 72 65 64 72 61 77 28 61 29 3b 72 65 74 75 72 6e 3b 00 00 00 03 20 20 7d 00 00 00 10 20 | -1;redraw(a);return;......}..... |
| 393e0 | 20 69 66 28 61 2d 3e 6d 79 3e 3d 62 79 29 7b 00 00 00 19 20 20 20 20 66 6f 72 28 69 6e 74 20 69 | .if(a->my>=by){........for(int.i |
| 39400 | 3d 30 3b 69 3c 32 3b 69 2b 2b 29 7b 00 00 00 22 20 20 20 20 20 20 69 6e 74 20 62 78 3d 62 74 6e | =0;i<2;i++){..."......int.bx=btn |
| 39420 | 5f 78 28 69 29 2c 62 77 3d 62 74 6e 5f 77 28 69 29 3b 00 00 00 5d 20 20 20 20 20 20 69 66 28 61 | _x(i),bw=btn_w(i);...]......if(a |
| 39440 | 2d 3e 6d 78 3e 3d 62 78 26 26 61 2d 3e 6d 78 3c 62 78 2b 62 77 29 7b 61 2d 3e 6f 70 65 6e 5f 6d | ->mx>=bx&&a->mx<bx+bw){a->open_m |
| 39460 | 65 6e 75 3d 28 4d 65 6e 75 49 64 29 69 3b 61 2d 3e 68 6f 76 65 72 65 64 5f 69 74 65 6d 3d 2d 31 | enu=(MenuId)i;a->hovered_item=-1 |
| 39480 | 3b 72 65 64 72 61 77 28 61 29 3b 72 65 74 75 72 6e 3b 7d 00 00 00 05 20 20 20 20 7d 00 00 00 0b | ;redraw(a);return;}........}.... |
| 394a0 | 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 03 20 20 7d 00 00 00 32 20 20 69 6e 74 20 63 78 3d 28 | ....return;......}...2..int.cx=( |
| 394c0 | 61 2d 3e 6d 78 2d 50 41 44 29 2f 63 65 6c 6c 5f 77 2c 63 79 3d 28 61 2d 3e 6d 79 2d 50 41 44 29 | a->mx-PAD)/cell_w,cy=(a->my-PAD) |
| 394e0 | 2f 63 65 6c 6c 5f 68 3b 00 00 00 18 20 20 69 6e 74 20 70 6f 73 3d 30 2c 63 6f 6c 3d 30 2c 72 6f | /cell_h;......int.pos=0,col=0,ro |
| 39500 | 77 3d 30 3b 00 00 00 1a 20 20 66 6f 72 28 69 6e 74 20 69 3d 30 3b 69 3c 74 6c 65 6e 3b 69 2b 2b | w=0;......for(int.i=0;i<tlen;i++ |
| 39520 | 29 7b 00 00 00 2b 20 20 20 20 69 66 28 72 6f 77 3d 3d 63 79 26 26 63 6f 6c 3d 3d 63 78 29 7b 70 | ){...+....if(row==cy&&col==cx){p |
| 39540 | 6f 73 3d 69 3b 67 6f 74 6f 20 66 6f 75 6e 64 3b 7d 00 00 00 41 20 20 20 20 69 66 28 74 65 78 74 | os=i;goto.found;}...A....if(text |
| 39560 | 5b 69 5d 3d 3d 27 5c 6e 27 29 7b 69 66 28 72 6f 77 3d 3d 63 79 29 7b 70 6f 73 3d 69 3b 67 6f 74 | [i]=='\n'){if(row==cy){pos=i;got |
| 39580 | 6f 20 66 6f 75 6e 64 3b 7d 63 6f 6c 3d 30 3b 72 6f 77 2b 2b 3b 7d 00 00 00 0f 20 20 20 20 65 6c | o.found;}col=0;row++;}........el |
| 395a0 | 73 65 20 63 6f 6c 2b 2b 3b 00 00 00 03 20 20 7d 00 00 00 0b 20 20 70 6f 73 3d 74 6c 65 6e 3b 00 | se.col++;......}......pos=tlen;. |
| 395c0 | 00 00 06 66 6f 75 6e 64 3a 00 00 00 25 20 20 63 75 72 73 6f 72 3d 70 6f 73 3b 73 65 6c 5f 61 6e | ...found:...%..cursor=pos;sel_an |
| 395e0 | 63 68 6f 72 3d 2d 31 3b 72 65 64 72 61 77 28 61 29 3b 00 00 00 01 7d 00 00 00 59 73 74 61 74 69 | chor=-1;redraw(a);....}...Ystati |
| 39600 | 63 20 76 6f 69 64 20 70 74 72 5f 61 78 69 73 28 76 6f 69 64 20 2a 64 2c 73 74 72 75 63 74 20 77 | c.void.ptr_axis(void.*d,struct.w |
| 39620 | 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 2c 75 69 6e 74 33 32 5f 74 20 74 2c 75 69 6e 74 33 32 5f 74 | l_pointer.*p,uint32_t.t,uint32_t |
| 39640 | 20 61 78 69 73 2c 77 6c 5f 66 69 78 65 64 5f 74 20 76 29 7b 00 00 00 12 20 20 73 74 72 75 63 74 | .axis,wl_fixed_t.v){......struct |
| 39660 | 20 61 70 70 20 2a 61 3d 64 3b 00 00 00 25 20 20 69 66 28 61 2d 3e 70 74 72 5f 73 75 72 66 3d 3d | .app.*a=d;...%..if(a->ptr_surf== |
| 39680 | 61 2d 3e 66 70 2e 77 73 26 26 61 78 69 73 3d 3d 30 29 7b 00 00 00 2c 20 20 20 20 61 2d 3e 66 70 | a->fp.ws&&axis==0){...,....a->fp |
| 396a0 | 2e 73 63 72 6f 6c 6c 2b 3d 77 6c 5f 66 69 78 65 64 5f 74 6f 5f 69 6e 74 28 76 29 3e 30 3f 33 3a | .scroll+=wl_fixed_to_int(v)>0?3: |
| 396c0 | 2d 33 3b 00 00 00 26 20 20 20 20 69 66 28 61 2d 3e 66 70 2e 73 63 72 6f 6c 6c 3c 30 29 20 61 2d | -3;...&....if(a->fp.scroll<0).a- |
| 396e0 | 3e 66 70 2e 73 63 72 6f 6c 6c 3d 30 3b 00 00 00 11 20 20 20 20 72 65 64 72 61 77 5f 66 70 28 61 | >fp.scroll=0;........redraw_fp(a |
| 39700 | 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 35 73 74 61 74 69 63 20 76 6f 69 64 20 70 74 | );......}....}...5static.void.pt |
| 39720 | 72 5f 66 72 61 6d 65 28 76 6f 69 64 20 2a 64 2c 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 | r_frame(void.*d,struct.wl_pointe |
| 39740 | 72 20 2a 70 29 7b 7d 00 00 00 48 73 74 61 74 69 63 20 76 6f 69 64 20 70 74 72 5f 61 78 69 73 5f | r.*p){}...Hstatic.void.ptr_axis_ |
| 39760 | 73 6f 75 72 63 65 28 76 6f 69 64 20 2a 64 2c 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 | source(void.*d,struct.wl_pointer |
| 39780 | 20 2a 70 2c 75 69 6e 74 33 32 5f 74 20 73 72 63 29 7b 7d 00 00 00 52 73 74 61 74 69 63 20 76 6f | .*p,uint32_t.src){}...Rstatic.vo |
| 397a0 | 69 64 20 70 74 72 5f 61 78 69 73 5f 73 74 6f 70 28 76 6f 69 64 20 2a 64 2c 73 74 72 75 63 74 20 | id.ptr_axis_stop(void.*d,struct. |
| 397c0 | 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 2c 75 69 6e 74 33 32 5f 74 20 74 2c 75 69 6e 74 33 32 5f | wl_pointer.*p,uint32_t.t,uint32_ |
| 397e0 | 74 20 61 78 69 73 29 7b 7d 00 00 00 58 73 74 61 74 69 63 20 76 6f 69 64 20 70 74 72 5f 61 78 69 | t.axis){}...Xstatic.void.ptr_axi |
| 39800 | 73 5f 64 69 73 63 72 65 74 65 28 76 6f 69 64 20 2a 64 2c 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 | s_discrete(void.*d,struct.wl_poi |
| 39820 | 6e 74 65 72 20 2a 70 2c 75 69 6e 74 33 32 5f 74 20 61 78 69 73 2c 69 6e 74 33 32 5f 74 20 64 69 | nter.*p,uint32_t.axis,int32_t.di |
| 39840 | 73 63 29 7b 7d 00 00 00 36 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f | sc){}...6static.const.struct.wl_ |
| 39860 | 70 6f 69 6e 74 65 72 5f 6c 69 73 74 65 6e 65 72 20 70 74 72 5f 6c 69 73 74 65 6e 65 72 3d 7b 00 | pointer_listener.ptr_listener={. |
| 39880 | 00 00 59 20 20 2e 65 6e 74 65 72 3d 70 74 72 5f 65 6e 74 65 72 2c 2e 6c 65 61 76 65 3d 70 74 72 | ..Y...enter=ptr_enter,.leave=ptr |
| 398a0 | 5f 6c 65 61 76 65 2c 2e 6d 6f 74 69 6f 6e 3d 70 74 72 5f 6d 6f 74 69 6f 6e 2c 2e 62 75 74 74 6f | _leave,.motion=ptr_motion,.butto |
| 398c0 | 6e 3d 70 74 72 5f 62 75 74 74 6f 6e 2c 2e 61 78 69 73 3d 70 74 72 5f 61 78 69 73 2c 00 00 00 49 | n=ptr_button,.axis=ptr_axis,...I |
| 398e0 | 20 20 2e 66 72 61 6d 65 3d 70 74 72 5f 66 72 61 6d 65 2c 2e 61 78 69 73 5f 73 6f 75 72 63 65 3d | ...frame=ptr_frame,.axis_source= |
| 39900 | 70 74 72 5f 61 78 69 73 5f 73 6f 75 72 63 65 2c 2e 61 78 69 73 5f 73 74 6f 70 3d 70 74 72 5f 61 | ptr_axis_source,.axis_stop=ptr_a |
| 39920 | 78 69 73 5f 73 74 6f 70 2c 00 00 00 23 20 20 2e 61 78 69 73 5f 64 69 73 63 72 65 74 65 3d 70 74 | xis_stop,...#...axis_discrete=pt |
| 39940 | 72 5f 61 78 69 73 5f 64 69 73 63 72 65 74 65 2c 00 00 00 02 7d 3b 00 00 00 00 00 00 00 5c 73 74 | r_axis_discrete,....};.......\st |
| 39960 | 61 74 69 63 20 76 6f 69 64 20 6b 62 5f 6b 65 79 6d 61 70 28 76 6f 69 64 20 2a 64 2c 73 74 72 75 | atic.void.kb_keymap(void.*d,stru |
| 39980 | 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 62 2c 75 69 6e 74 33 32 5f 74 20 66 6d 74 2c | ct.wl_keyboard.*kb,uint32_t.fmt, |
| 399a0 | 69 6e 74 33 32 5f 74 20 66 64 2c 75 69 6e 74 33 32 5f 74 20 73 69 7a 65 29 7b 00 00 00 12 20 20 | int32_t.fd,uint32_t.size){...... |
| 399c0 | 73 74 72 75 63 74 20 61 70 70 20 2a 61 3d 64 3b 00 00 00 3e 20 20 69 66 28 66 6d 74 21 3d 57 4c | struct.app.*a=d;...>..if(fmt!=WL |
| 399e0 | 5f 4b 45 59 42 4f 41 52 44 5f 4b 45 59 4d 41 50 5f 46 4f 52 4d 41 54 5f 58 4b 42 5f 56 31 29 7b | _KEYBOARD_KEYMAP_FORMAT_XKB_V1){ |
| 39a00 | 63 6c 6f 73 65 28 66 64 29 3b 72 65 74 75 72 6e 3b 7d 00 00 00 3f 20 20 63 68 61 72 20 2a 73 3d | close(fd);return;}...?..char.*s= |
| 39a20 | 6d 6d 61 70 28 4e 55 4c 4c 2c 73 69 7a 65 2c 50 52 4f 54 5f 52 45 41 44 2c 4d 41 50 5f 50 52 49 | mmap(NULL,size,PROT_READ,MAP_PRI |
| 39a40 | 56 41 54 45 2c 66 64 2c 30 29 3b 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 1b 20 20 69 66 28 73 3d | VATE,fd,0);close(fd);......if(s= |
| 39a60 | 3d 4d 41 50 5f 46 41 49 4c 45 44 29 20 72 65 74 75 72 6e 3b 00 00 00 46 20 20 69 66 28 61 2d 3e | =MAP_FAILED).return;...F..if(a-> |
| 39a80 | 78 6b 62 5f 73 74 61 74 65 29 20 7b 78 6b 62 5f 73 74 61 74 65 5f 75 6e 72 65 66 28 61 2d 3e 78 | xkb_state).{xkb_state_unref(a->x |
| 39aa0 | 6b 62 5f 73 74 61 74 65 29 3b 20 61 2d 3e 78 6b 62 5f 73 74 61 74 65 3d 4e 55 4c 4c 3b 7d 00 00 | kb_state);.a->xkb_state=NULL;}.. |
| 39ac0 | 00 48 20 20 69 66 28 61 2d 3e 78 6b 62 5f 6b 65 79 6d 61 70 29 7b 78 6b 62 5f 6b 65 79 6d 61 70 | .H..if(a->xkb_keymap){xkb_keymap |
| 39ae0 | 5f 75 6e 72 65 66 28 61 2d 3e 78 6b 62 5f 6b 65 79 6d 61 70 29 3b 61 2d 3e 78 6b 62 5f 6b 65 79 | _unref(a->xkb_keymap);a->xkb_key |
| 39b00 | 6d 61 70 3d 4e 55 4c 4c 3b 7d 00 00 00 52 20 20 61 2d 3e 78 6b 62 5f 6b 65 79 6d 61 70 3d 78 6b | map=NULL;}...R..a->xkb_keymap=xk |
| 39b20 | 62 5f 6b 65 79 6d 61 70 5f 6e 65 77 5f 66 72 6f 6d 5f 73 74 72 69 6e 67 28 61 2d 3e 78 6b 62 5f | b_keymap_new_from_string(a->xkb_ |
| 39b40 | 63 74 78 2c 73 2c 58 4b 42 5f 4b 45 59 4d 41 50 5f 46 4f 52 4d 41 54 5f 54 45 58 54 5f 56 31 2c | ctx,s,XKB_KEYMAP_FORMAT_TEXT_V1, |
| 39b60 | 00 00 00 49 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 | ...I............................ |
| 39b80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 58 4b 42 5f 4b 45 59 4d 41 50 5f 43 4f 4d 50 49 | ................XKB_KEYMAP_COMPI |
| 39ba0 | 4c 45 5f 4e 4f 5f 46 4c 41 47 53 29 3b 00 00 00 11 20 20 6d 75 6e 6d 61 70 28 73 2c 73 69 7a 65 | LE_NO_FLAGS);......munmap(s,size |
| 39bc0 | 29 3b 00 00 00 3e 20 20 69 66 28 61 2d 3e 78 6b 62 5f 6b 65 79 6d 61 70 29 20 61 2d 3e 78 6b 62 | );...>..if(a->xkb_keymap).a->xkb |
| 39be0 | 5f 73 74 61 74 65 3d 78 6b 62 5f 73 74 61 74 65 5f 6e 65 77 28 61 2d 3e 78 6b 62 5f 6b 65 79 6d | _state=xkb_state_new(a->xkb_keym |
| 39c00 | 61 70 29 3b 00 00 00 01 7d 00 00 00 6a 73 74 61 74 69 63 20 76 6f 69 64 20 6b 62 5f 65 6e 74 65 | ap);....}...jstatic.void.kb_ente |
| 39c20 | 72 28 76 6f 69 64 20 2a 64 2c 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 62 | r(void.*d,struct.wl_keyboard.*kb |
| 39c40 | 2c 75 69 6e 74 33 32 5f 74 20 73 2c 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 | ,uint32_t.s,struct.wl_surface.*s |
| 39c60 | 75 2c 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 6b 29 7b 7d 00 00 00 56 73 74 61 74 69 | u,struct.wl_array.*k){}...Vstati |
| 39c80 | 63 20 76 6f 69 64 20 6b 62 5f 6c 65 61 76 65 28 76 6f 69 64 20 2a 64 2c 73 74 72 75 63 74 20 77 | c.void.kb_leave(void.*d,struct.w |
| 39ca0 | 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 62 2c 75 69 6e 74 33 32 5f 74 20 73 2c 73 74 72 75 63 74 | l_keyboard.*kb,uint32_t.s,struct |
| 39cc0 | 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 29 7b 00 00 00 54 20 20 73 74 72 75 63 74 20 61 70 | .wl_surface.*su){...T..struct.ap |
| 39ce0 | 70 20 2a 61 3d 64 3b 73 74 72 75 63 74 20 69 74 69 6d 65 72 73 70 65 63 20 74 73 3d 7b 30 7d 3b | p.*a=d;struct.itimerspec.ts={0}; |
| 39d00 | 74 69 6d 65 72 66 64 5f 73 65 74 74 69 6d 65 28 61 2d 3e 72 65 70 65 61 74 5f 66 64 2c 30 2c 26 | timerfd_settime(a->repeat_fd,0,& |
| 39d20 | 74 73 2c 4e 55 4c 4c 29 3b 00 00 00 01 7d 00 00 00 4d 73 74 61 74 69 63 20 76 6f 69 64 20 6b 62 | ts,NULL);....}...Mstatic.void.kb |
| 39d40 | 5f 6b 65 79 28 76 6f 69 64 20 2a 64 2c 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 | _key(void.*d,struct.wl_keyboard. |
| 39d60 | 2a 6b 62 2c 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 2c 75 69 6e 74 33 32 5f 74 20 74 2c 00 | *kb,uint32_t.serial,uint32_t.t,. |
| 39d80 | 00 00 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 6b | ..0...................uint32_t.k |
| 39da0 | 65 79 2c 75 69 6e 74 33 32 5f 74 20 73 74 61 74 65 29 7b 00 00 00 28 20 20 73 74 72 75 63 74 20 | ey,uint32_t.state){...(..struct. |
| 39dc0 | 61 70 70 20 2a 61 3d 64 3b 61 2d 3e 6c 61 73 74 5f 73 65 72 69 61 6c 3d 73 65 72 69 61 6c 3b 00 | app.*a=d;a->last_serial=serial;. |
| 39de0 | 00 00 2b 20 20 69 66 28 73 74 61 74 65 3d 3d 57 4c 5f 4b 45 59 42 4f 41 52 44 5f 4b 45 59 5f 53 | ..+..if(state==WL_KEYBOARD_KEY_S |
| 39e00 | 54 41 54 45 5f 50 52 45 53 53 45 44 29 7b 00 00 00 29 20 20 20 20 70 72 6f 63 65 73 73 5f 6b 65 | TATE_PRESSED){...)....process_ke |
| 39e20 | 79 28 61 2c 6b 65 79 29 3b 61 2d 3e 72 65 70 65 61 74 5f 6b 65 79 3d 6b 65 79 3b 00 00 00 19 20 | y(a,key);a->repeat_key=key;..... |
| 39e40 | 20 20 20 69 66 28 61 2d 3e 72 65 70 65 61 74 5f 72 61 74 65 3e 30 29 7b 00 00 00 1c 20 20 20 20 | ...if(a->repeat_rate>0){........ |
| 39e60 | 20 20 73 74 72 75 63 74 20 69 74 69 6d 65 72 73 70 65 63 20 74 73 3d 7b 00 00 00 5d 20 20 20 20 | ..struct.itimerspec.ts={...].... |
| 39e80 | 20 20 20 20 2e 69 74 5f 76 61 6c 75 65 20 20 20 3d 7b 2e 74 76 5f 73 65 63 3d 61 2d 3e 72 65 70 | .....it_value...={.tv_sec=a->rep |
| 39ea0 | 65 61 74 5f 64 65 6c 61 79 2f 31 30 30 30 2c 2e 74 76 5f 6e 73 65 63 3d 28 61 2d 3e 72 65 70 65 | eat_delay/1000,.tv_nsec=(a->repe |
| 39ec0 | 61 74 5f 64 65 6c 61 79 25 31 30 30 30 29 2a 31 30 30 30 30 30 30 4c 7d 2c 00 00 00 45 20 20 20 | at_delay%1000)*1000000L},...E... |
| 39ee0 | 20 20 20 20 20 2e 69 74 5f 69 6e 74 65 72 76 61 6c 3d 7b 2e 74 76 5f 73 65 63 3d 30 2c 2e 74 76 | ......it_interval={.tv_sec=0,.tv |
| 39f00 | 5f 6e 73 65 63 3d 31 30 30 30 30 30 30 30 30 30 4c 2f 61 2d 3e 72 65 70 65 61 74 5f 72 61 74 65 | _nsec=1000000000L/a->repeat_rate |
| 39f20 | 7d 2c 00 00 00 08 20 20 20 20 20 20 7d 3b 00 00 00 2f 20 20 20 20 20 20 74 69 6d 65 72 66 64 5f | },..........};.../......timerfd_ |
| 39f40 | 73 65 74 74 69 6d 65 28 61 2d 3e 72 65 70 65 61 74 5f 66 64 2c 30 2c 26 74 73 2c 4e 55 4c 4c 29 | settime(a->repeat_fd,0,&ts,NULL) |
| 39f60 | 3b 00 00 00 05 20 20 20 20 7d 00 00 00 4d 20 20 7d 20 65 6c 73 65 20 7b 73 74 72 75 63 74 20 69 | ;........}...M..}.else.{struct.i |
| 39f80 | 74 69 6d 65 72 73 70 65 63 20 74 73 3d 7b 30 7d 3b 74 69 6d 65 72 66 64 5f 73 65 74 74 69 6d 65 | timerspec.ts={0};timerfd_settime |
| 39fa0 | 28 61 2d 3e 72 65 70 65 61 74 5f 66 64 2c 30 2c 26 74 73 2c 4e 55 4c 4c 29 3b 7d 00 00 00 01 7d | (a->repeat_fd,0,&ts,NULL);}....} |
| 39fc0 | 00 00 00 50 73 74 61 74 69 63 20 76 6f 69 64 20 6b 62 5f 6d 6f 64 69 66 69 65 72 73 28 76 6f 69 | ...Pstatic.void.kb_modifiers(voi |
| 39fe0 | 64 20 2a 64 2c 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 62 2c 75 69 6e 74 | d.*d,struct.wl_keyboard.*kb,uint |
| 3a000 | 33 32 5f 74 20 73 2c 75 69 6e 74 33 32 5f 74 20 64 65 70 2c 00 00 00 44 20 20 20 20 20 20 20 20 | 32_t.s,uint32_t.dep,...D........ |
| 3a020 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 6c 61 74 2c 75 69 | .................uint32_t.lat,ui |
| 3a040 | 6e 74 33 32 5f 74 20 6c 6f 63 6b 65 64 2c 75 69 6e 74 33 32 5f 74 20 67 72 70 29 7b 00 00 00 5d | nt32_t.locked,uint32_t.grp){...] |
| 3a060 | 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 3d 64 3b 69 66 28 61 2d 3e 78 6b 62 5f 73 74 61 74 | ..struct.app.*a=d;if(a->xkb_stat |
| 3a080 | 65 29 78 6b 62 5f 73 74 61 74 65 5f 75 70 64 61 74 65 5f 6d 61 73 6b 28 61 2d 3e 78 6b 62 5f 73 | e)xkb_state_update_mask(a->xkb_s |
| 3a0a0 | 74 61 74 65 2c 64 65 70 2c 6c 61 74 2c 6c 6f 63 6b 65 64 2c 30 2c 30 2c 67 72 70 29 3b 00 00 00 | tate,dep,lat,locked,0,0,grp);... |
| 3a0c0 | 01 7d 00 00 00 51 73 74 61 74 69 63 20 76 6f 69 64 20 6b 62 5f 72 65 70 65 61 74 28 76 6f 69 64 | .}...Qstatic.void.kb_repeat(void |
| 3a0e0 | 20 2a 64 2c 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 62 2c 69 6e 74 33 32 | .*d,struct.wl_keyboard.*kb,int32 |
| 3a100 | 5f 74 20 72 61 74 65 2c 69 6e 74 33 32 5f 74 20 64 65 6c 61 79 29 7b 00 00 00 3c 20 20 73 74 72 | _t.rate,int32_t.delay){...<..str |
| 3a120 | 75 63 74 20 61 70 70 20 2a 61 3d 64 3b 61 2d 3e 72 65 70 65 61 74 5f 72 61 74 65 3d 72 61 74 65 | uct.app.*a=d;a->repeat_rate=rate |
| 3a140 | 3b 61 2d 3e 72 65 70 65 61 74 5f 64 65 6c 61 79 3d 64 65 6c 61 79 3b 00 00 00 01 7d 00 00 00 3c | ;a->repeat_delay=delay;....}...< |
| 3a160 | 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 5f | static.const.struct.wl_keyboard_ |
| 3a180 | 6c 69 73 74 65 6e 65 72 20 6b 65 79 62 6f 61 72 64 5f 6c 69 73 74 65 6e 65 72 3d 7b 00 00 00 40 | listener.keyboard_listener={...@ |
| 3a1a0 | 20 20 2e 6b 65 79 6d 61 70 3d 6b 62 5f 6b 65 79 6d 61 70 2c 2e 65 6e 74 65 72 3d 6b 62 5f 65 6e | ...keymap=kb_keymap,.enter=kb_en |
| 3a1c0 | 74 65 72 2c 2e 6c 65 61 76 65 3d 6b 62 5f 6c 65 61 76 65 2c 2e 6b 65 79 3d 6b 62 5f 6b 65 79 2c | ter,.leave=kb_leave,.key=kb_key, |
| 3a1e0 | 00 00 00 30 20 20 2e 6d 6f 64 69 66 69 65 72 73 3d 6b 62 5f 6d 6f 64 69 66 69 65 72 73 2c 2e 72 | ...0...modifiers=kb_modifiers,.r |
| 3a200 | 65 70 65 61 74 5f 69 6e 66 6f 3d 6b 62 5f 72 65 70 65 61 74 00 00 00 02 7d 3b 00 00 00 00 00 00 | epeat_info=kb_repeat....};...... |
| 3a220 | 00 42 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 61 74 5f 63 61 70 73 28 76 6f 69 64 20 2a 64 2c | .Bstatic.void.seat_caps(void.*d, |
| 3a240 | 73 74 72 75 63 74 20 77 6c 5f 73 65 61 74 20 2a 73 65 61 74 2c 75 69 6e 74 33 32 5f 74 20 63 61 | struct.wl_seat.*seat,uint32_t.ca |
| 3a260 | 70 73 29 7b 00 00 00 12 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 3d 64 3b 00 00 00 37 20 20 | ps){......struct.app.*a=d;...7.. |
| 3a280 | 69 66 28 28 63 61 70 73 26 57 4c 5f 53 45 41 54 5f 43 41 50 41 42 49 4c 49 54 59 5f 4b 45 59 42 | if((caps&WL_SEAT_CAPABILITY_KEYB |
| 3a2a0 | 4f 41 52 44 29 26 26 21 61 2d 3e 6b 65 79 62 6f 61 72 64 29 7b 00 00 00 2b 20 20 20 20 61 2d 3e | OARD)&&!a->keyboard){...+....a-> |
| 3a2c0 | 6b 65 79 62 6f 61 72 64 3d 77 6c 5f 73 65 61 74 5f 67 65 74 5f 6b 65 79 62 6f 61 72 64 28 73 65 | keyboard=wl_seat_get_keyboard(se |
| 3a2e0 | 61 74 29 3b 00 00 00 3f 20 20 20 20 77 6c 5f 6b 65 79 62 6f 61 72 64 5f 61 64 64 5f 6c 69 73 74 | at);...?....wl_keyboard_add_list |
| 3a300 | 65 6e 65 72 28 61 2d 3e 6b 65 79 62 6f 61 72 64 2c 26 6b 65 79 62 6f 61 72 64 5f 6c 69 73 74 65 | ener(a->keyboard,&keyboard_liste |
| 3a320 | 6e 65 72 2c 61 29 3b 00 00 00 3e 20 20 7d 20 65 6c 73 65 20 69 66 28 21 28 63 61 70 73 26 57 4c | ner,a);...>..}.else.if(!(caps&WL |
| 3a340 | 5f 53 45 41 54 5f 43 41 50 41 42 49 4c 49 54 59 5f 4b 45 59 42 4f 41 52 44 29 26 26 61 2d 3e 6b | _SEAT_CAPABILITY_KEYBOARD)&&a->k |
| 3a360 | 65 79 62 6f 61 72 64 29 7b 00 00 00 36 20 20 20 20 77 6c 5f 6b 65 79 62 6f 61 72 64 5f 72 65 6c | eyboard){...6....wl_keyboard_rel |
| 3a380 | 65 61 73 65 28 61 2d 3e 6b 65 79 62 6f 61 72 64 29 3b 61 2d 3e 6b 65 79 62 6f 61 72 64 3d 4e 55 | ease(a->keyboard);a->keyboard=NU |
| 3a3a0 | 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 35 20 20 69 66 28 28 63 61 70 73 26 57 4c 5f 53 45 41 54 | LL;......}...5..if((caps&WL_SEAT |
| 3a3c0 | 5f 43 41 50 41 42 49 4c 49 54 59 5f 50 4f 49 4e 54 45 52 29 26 26 21 61 2d 3e 70 6f 69 6e 74 65 | _CAPABILITY_POINTER)&&!a->pointe |
| 3a3e0 | 72 29 7b 00 00 00 29 20 20 20 20 61 2d 3e 70 6f 69 6e 74 65 72 3d 77 6c 5f 73 65 61 74 5f 67 65 | r){...)....a->pointer=wl_seat_ge |
| 3a400 | 74 5f 70 6f 69 6e 74 65 72 28 73 65 61 74 29 3b 00 00 00 38 20 20 20 20 77 6c 5f 70 6f 69 6e 74 | t_pointer(seat);...8....wl_point |
| 3a420 | 65 72 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2d 3e 70 6f 69 6e 74 65 72 2c 26 70 74 72 5f | er_add_listener(a->pointer,&ptr_ |
| 3a440 | 6c 69 73 74 65 6e 65 72 2c 61 29 3b 00 00 00 3c 20 20 7d 20 65 6c 73 65 20 69 66 28 21 28 63 61 | listener,a);...<..}.else.if(!(ca |
| 3a460 | 70 73 26 57 4c 5f 53 45 41 54 5f 43 41 50 41 42 49 4c 49 54 59 5f 50 4f 49 4e 54 45 52 29 26 26 | ps&WL_SEAT_CAPABILITY_POINTER)&& |
| 3a480 | 61 2d 3e 70 6f 69 6e 74 65 72 29 7b 00 00 00 33 20 20 20 20 77 6c 5f 70 6f 69 6e 74 65 72 5f 72 | a->pointer){...3....wl_pointer_r |
| 3a4a0 | 65 6c 65 61 73 65 28 61 2d 3e 70 6f 69 6e 74 65 72 29 3b 61 2d 3e 70 6f 69 6e 74 65 72 3d 4e 55 | elease(a->pointer);a->pointer=NU |
| 3a4c0 | 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 46 73 74 61 74 69 63 20 76 6f 69 64 20 73 | LL;......}....}...Fstatic.void.s |
| 3a4e0 | 65 61 74 5f 6e 61 6d 65 28 76 6f 69 64 20 2a 64 2c 73 74 72 75 63 74 20 77 6c 5f 73 65 61 74 20 | eat_name(void.*d,struct.wl_seat. |
| 3a500 | 2a 73 65 61 74 2c 63 6f 6e 73 74 20 63 68 61 72 20 2a 6e 61 6d 65 29 7b 7d 00 00 00 5d 73 74 61 | *seat,const.char.*name){}...]sta |
| 3a520 | 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 73 65 61 74 5f 6c 69 73 74 65 6e 65 | tic.const.struct.wl_seat_listene |
| 3a540 | 72 20 73 65 61 74 5f 6c 69 73 74 65 6e 65 72 3d 7b 2e 63 61 70 61 62 69 6c 69 74 69 65 73 3d 73 | r.seat_listener={.capabilities=s |
| 3a560 | 65 61 74 5f 63 61 70 73 2c 2e 6e 61 6d 65 3d 73 65 61 74 5f 6e 61 6d 65 7d 3b 00 00 00 00 00 00 | eat_caps,.name=seat_name};...... |
| 3a580 | 00 5f 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 5f 67 6c 6f 62 61 6c 28 76 6f 69 64 20 2a 64 | ._static.void.reg_global(void.*d |
| 3a5a0 | 2c 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 2c 75 69 6e 74 33 32 5f 74 20 | ,struct.wl_registry.*r,uint32_t. |
| 3a5c0 | 69 64 2c 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 66 61 63 65 2c 75 69 6e 74 33 32 5f 74 20 76 29 | id,const.char.*iface,uint32_t.v) |
| 3a5e0 | 7b 00 00 00 12 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 3d 64 3b 00 00 00 6e 20 20 69 66 20 | {......struct.app.*a=d;...n..if. |
| 3a600 | 20 20 20 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 22 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f | ....(!strcmp(iface,"wl_composito |
| 3a620 | 72 22 29 29 20 20 20 20 20 20 20 20 20 20 20 61 2d 3e 63 6f 6d 70 3d 77 6c 5f 72 65 67 69 73 74 | r"))...........a->comp=wl_regist |
| 3a640 | 72 79 5f 62 69 6e 64 28 72 2c 69 64 2c 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 69 6e 74 65 | ry_bind(r,id,&wl_compositor_inte |
| 3a660 | 72 66 61 63 65 2c 34 29 3b 00 00 00 67 20 20 65 6c 73 65 20 69 66 28 21 73 74 72 63 6d 70 28 69 | rface,4);...g..else.if(!strcmp(i |
| 3a680 | 66 61 63 65 2c 22 77 6c 5f 73 68 6d 22 29 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | face,"wl_shm"))................. |
| 3a6a0 | 20 61 2d 3e 73 68 6d 20 3d 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 69 64 2c 26 | .a->shm.=wl_registry_bind(r,id,& |
| 3a6c0 | 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 61 63 65 2c 31 29 3b 00 00 00 9c 20 20 65 6c 73 65 20 69 | wl_shm_interface,1);......else.i |
| 3a6e0 | 66 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 29 20 | f(!strcmp(iface,"xdg_wm_base")). |
| 3a700 | 20 20 20 20 20 20 20 20 20 20 20 7b 61 2d 3e 77 6d 20 20 3d 77 6c 5f 72 65 67 69 73 74 72 79 5f | ...........{a->wm..=wl_registry_ |
| 3a720 | 62 69 6e 64 28 72 2c 69 64 2c 26 78 64 67 5f 77 6d 5f 62 61 73 65 5f 69 6e 74 65 72 66 61 63 65 | bind(r,id,&xdg_wm_base_interface |
| 3a740 | 2c 31 29 3b 78 64 67 5f 77 6d 5f 62 61 73 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2d 3e | ,1);xdg_wm_base_add_listener(a-> |
| 3a760 | 77 6d 2c 26 77 6d 5f 6c 69 73 74 65 6e 65 72 2c 61 29 3b 7d 00 00 00 98 20 20 65 6c 73 65 20 69 | wm,&wm_listener,a);}......else.i |
| 3a780 | 66 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 22 77 6c 5f 73 65 61 74 22 29 29 20 20 20 20 20 | f(!strcmp(iface,"wl_seat"))..... |
| 3a7a0 | 20 20 20 20 20 20 20 20 20 20 20 7b 61 2d 3e 73 65 61 74 3d 77 6c 5f 72 65 67 69 73 74 72 79 5f | ...........{a->seat=wl_registry_ |
| 3a7c0 | 62 69 6e 64 28 72 2c 69 64 2c 26 77 6c 5f 73 65 61 74 5f 69 6e 74 65 72 66 61 63 65 2c 35 29 3b | bind(r,id,&wl_seat_interface,5); |
| 3a7e0 | 77 6c 5f 73 65 61 74 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2d 3e 73 65 61 74 2c 26 73 65 | wl_seat_add_listener(a->seat,&se |
| 3a800 | 61 74 5f 6c 69 73 74 65 6e 65 72 2c 61 29 3b 7d 00 00 00 77 20 20 65 6c 73 65 20 69 66 28 21 73 | at_listener,a);}...w..else.if(!s |
| 3a820 | 74 72 63 6d 70 28 69 66 61 63 65 2c 22 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 5f 6d 61 6e 61 | trcmp(iface,"wl_data_device_mana |
| 3a840 | 67 65 72 22 29 29 20 20 61 2d 3e 64 64 6d 20 3d 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 | ger"))..a->ddm.=wl_registry_bind |
| 3a860 | 28 72 2c 69 64 2c 26 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 5f 6d 61 6e 61 67 65 72 5f 69 6e | (r,id,&wl_data_device_manager_in |
| 3a880 | 74 65 72 66 61 63 65 2c 33 29 3b 00 00 00 01 7d 00 00 00 43 73 74 61 74 69 63 20 76 6f 69 64 20 | terface,3);....}...Cstatic.void. |
| 3a8a0 | 72 65 67 5f 72 65 6d 6f 76 65 28 76 6f 69 64 20 2a 64 2c 73 74 72 75 63 74 20 77 6c 5f 72 65 67 | reg_remove(void.*d,struct.wl_reg |
| 3a8c0 | 69 73 74 72 79 20 2a 72 2c 75 69 6e 74 33 32 5f 74 20 69 64 29 7b 7d 00 00 00 65 73 74 61 74 69 | istry.*r,uint32_t.id){}...estati |
| 3a8e0 | 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 6c 69 73 74 65 | c.const.struct.wl_registry_liste |
| 3a900 | 6e 65 72 20 72 65 67 5f 6c 69 73 74 65 6e 65 72 3d 7b 2e 67 6c 6f 62 61 6c 3d 72 65 67 5f 67 6c | ner.reg_listener={.global=reg_gl |
| 3a920 | 6f 62 61 6c 2c 2e 67 6c 6f 62 61 6c 5f 72 65 6d 6f 76 65 3d 72 65 67 5f 72 65 6d 6f 76 65 7d 3b | obal,.global_remove=reg_remove}; |
| 3a940 | 00 00 00 00 00 00 00 0f 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 7b 00 00 00 53 20 20 69 66 28 | ........int.main(void){...S..if( |
| 3a960 | 21 6c 6f 61 64 5f 66 6f 6e 74 28 29 29 7b 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 22 66 61 | !load_font()){fprintf(stderr,"fa |
| 3a980 | 69 6c 65 64 20 74 6f 20 6c 6f 61 64 20 66 6f 6e 74 3a 20 25 73 5c 6e 22 2c 46 4f 4e 54 5f 4e 41 | iled.to.load.font:.%s\n",FONT_NA |
| 3a9a0 | 4d 45 29 3b 72 65 74 75 72 6e 20 31 3b 7d 00 00 00 00 00 00 00 13 20 20 73 74 72 75 63 74 20 61 | ME);return.1;}..........struct.a |
| 3a9c0 | 70 70 20 61 3d 7b 30 7d 3b 00 00 00 12 20 20 61 2e 77 3d 36 34 30 3b 61 2e 68 3d 34 38 30 3b 00 | pp.a={0};......a.w=640;a.h=480;. |
| 3a9e0 | 00 00 26 20 20 61 2e 72 65 70 65 61 74 5f 72 61 74 65 3d 32 35 3b 61 2e 72 65 70 65 61 74 5f 64 | ..&..a.repeat_rate=25;a.repeat_d |
| 3aa00 | 65 6c 61 79 3d 34 30 30 3b 00 00 00 2a 20 20 61 2e 6f 70 65 6e 5f 6d 65 6e 75 3d 4d 45 4e 55 5f | elay=400;...*..a.open_menu=MENU_ |
| 3aa20 | 4e 4f 4e 45 3b 61 2e 68 6f 76 65 72 65 64 5f 69 74 65 6d 3d 2d 31 3b 00 00 00 23 20 20 61 2e 66 | NONE;a.hovered_item=-1;...#..a.f |
| 3aa40 | 70 2e 73 65 6c 65 63 74 65 64 3d 2d 31 3b 61 2e 66 70 2e 68 6f 76 65 72 65 64 3d 2d 31 3b 00 00 | p.selected=-1;a.fp.hovered=-1;.. |
| 3aa60 | 00 00 00 00 00 32 20 20 61 2e 78 6b 62 5f 63 74 78 3d 78 6b 62 5f 63 6f 6e 74 65 78 74 5f 6e 65 | .....2..a.xkb_ctx=xkb_context_ne |
| 3aa80 | 77 28 58 4b 42 5f 43 4f 4e 54 45 58 54 5f 4e 4f 5f 46 4c 41 47 53 29 3b 00 00 00 44 20 20 69 66 | w(XKB_CONTEXT_NO_FLAGS);...D..if |
| 3aaa0 | 28 21 61 2e 78 6b 62 5f 63 74 78 29 7b 66 70 75 74 73 28 22 78 6b 62 5f 63 6f 6e 74 65 78 74 5f | (!a.xkb_ctx){fputs("xkb_context_ |
| 3aac0 | 6e 65 77 20 66 61 69 6c 65 64 5c 6e 22 2c 73 74 64 65 72 72 29 3b 72 65 74 75 72 6e 20 31 3b 7d | new.failed\n",stderr);return.1;} |
| 3aae0 | 00 00 00 00 00 00 00 47 20 20 61 2e 72 65 70 65 61 74 5f 66 64 3d 74 69 6d 65 72 66 64 5f 63 72 | .......G..a.repeat_fd=timerfd_cr |
| 3ab00 | 65 61 74 65 28 43 4c 4f 43 4b 5f 4d 4f 4e 4f 54 4f 4e 49 43 2c 54 46 44 5f 43 4c 4f 45 58 45 43 | eate(CLOCK_MONOTONIC,TFD_CLOEXEC |
| 3ab20 | 7c 54 46 44 5f 4e 4f 4e 42 4c 4f 43 4b 29 3b 00 00 00 37 20 20 69 66 28 61 2e 72 65 70 65 61 74 | |TFD_NONBLOCK);...7..if(a.repeat |
| 3ab40 | 5f 66 64 3c 30 29 7b 70 65 72 72 6f 72 28 22 74 69 6d 65 72 66 64 5f 63 72 65 61 74 65 22 29 3b | _fd<0){perror("timerfd_create"); |
| 3ab60 | 72 65 74 75 72 6e 20 31 3b 7d 00 00 00 00 00 00 00 1f 20 20 61 2e 64 3d 77 6c 5f 64 69 73 70 6c | return.1;}..........a.d=wl_displ |
| 3ab80 | 61 79 5f 63 6f 6e 6e 65 63 74 28 4e 55 4c 4c 29 3b 00 00 00 49 20 20 69 66 28 21 61 2e 64 29 7b | ay_connect(NULL);...I..if(!a.d){ |
| 3aba0 | 66 70 75 74 73 28 22 63 61 6e 6e 6f 74 20 63 6f 6e 6e 65 63 74 20 74 6f 20 57 61 79 6c 61 6e 64 | fputs("cannot.connect.to.Wayland |
| 3abc0 | 20 64 69 73 70 6c 61 79 5c 6e 22 2c 73 74 64 65 72 72 29 3b 72 65 74 75 72 6e 20 31 3b 7d 00 00 | .display\n",stderr);return.1;}.. |
| 3abe0 | 00 00 00 00 00 25 20 20 61 2e 72 65 67 3d 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 72 65 67 | .....%..a.reg=wl_display_get_reg |
| 3ac00 | 69 73 74 72 79 28 61 2e 64 29 3b 00 00 00 33 20 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 61 64 64 | istry(a.d);...3..wl_registry_add |
| 3ac20 | 5f 6c 69 73 74 65 6e 65 72 28 61 2e 72 65 67 2c 26 72 65 67 5f 6c 69 73 74 65 6e 65 72 2c 26 61 | _listener(a.reg,®_listener,&a |
| 3ac40 | 29 3b 00 00 00 1c 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 61 2e 64 | );......wl_display_roundtrip(a.d |
| 3ac60 | 29 3b 00 00 00 00 00 00 00 5a 20 20 69 66 28 21 61 2e 63 6f 6d 70 7c 7c 21 61 2e 73 68 6d 7c 7c | );.......Z..if(!a.comp||!a.shm|| |
| 3ac80 | 21 61 2e 77 6d 7c 7c 21 61 2e 73 65 61 74 29 7b 66 70 75 74 73 28 22 6d 69 73 73 69 6e 67 20 57 | !a.wm||!a.seat){fputs("missing.W |
| 3aca0 | 61 79 6c 61 6e 64 20 67 6c 6f 62 61 6c 73 5c 6e 22 2c 73 74 64 65 72 72 29 3b 72 65 74 75 72 6e | ayland.globals\n",stderr);return |
| 3acc0 | 20 31 3b 7d 00 00 00 1c 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 61 | .1;}......wl_display_roundtrip(a |
| 3ace0 | 2e 64 29 3b 00 00 00 00 00 00 00 14 20 20 69 66 28 61 2e 64 64 6d 26 26 61 2e 73 65 61 74 29 7b | .d);..........if(a.ddm&&a.seat){ |
| 3ad00 | 00 00 00 3e 20 20 20 20 61 2e 64 64 3d 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 5f 6d 61 6e 61 | ...>....a.dd=wl_data_device_mana |
| 3ad20 | 67 65 72 5f 67 65 74 5f 64 61 74 61 5f 64 65 76 69 63 65 28 61 2e 64 64 6d 2c 61 2e 73 65 61 74 | ger_get_data_device(a.ddm,a.seat |
| 3ad40 | 29 3b 00 00 00 36 20 20 20 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 5f 61 64 64 5f 6c 69 73 | );...6....wl_data_device_add_lis |
| 3ad60 | 74 65 6e 65 72 28 61 2e 64 64 2c 26 64 64 5f 6c 69 73 74 65 6e 65 72 2c 26 61 29 3b 00 00 00 03 | tener(a.dd,&dd_listener,&a);.... |
| 3ad80 | 20 20 7d 00 00 00 00 00 00 00 2c 20 20 61 2e 77 73 3d 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f | ..}.......,..a.ws=wl_compositor_ |
| 3ada0 | 63 72 65 61 74 65 5f 73 75 72 66 61 63 65 28 61 2e 63 6f 6d 70 29 3b 00 00 00 2e 20 20 61 2e 78 | create_surface(a.comp);......a.x |
| 3adc0 | 73 3d 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 5f 73 75 72 66 61 63 65 28 61 2e | s=xdg_wm_base_get_xdg_surface(a. |
| 3ade0 | 77 6d 2c 61 2e 77 73 29 3b 00 00 00 31 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c | wm,a.ws);...1..xdg_surface_add_l |
| 3ae00 | 69 73 74 65 6e 65 72 28 61 2e 78 73 2c 26 78 73 5f 6c 69 73 74 65 6e 65 72 2c 26 61 29 3b 00 00 | istener(a.xs,&xs_listener,&a);.. |
| 3ae20 | 00 26 20 20 61 2e 78 74 3d 78 64 67 5f 73 75 72 66 61 63 65 5f 67 65 74 5f 74 6f 70 6c 65 76 65 | .&..a.xt=xdg_surface_get_topleve |
| 3ae40 | 6c 28 61 2e 78 73 29 3b 00 00 00 32 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f 6c | l(a.xs);...2..xdg_toplevel_add_l |
| 3ae60 | 69 73 74 65 6e 65 72 28 61 2e 78 74 2c 26 78 74 5f 6c 69 73 74 65 6e 65 72 2c 26 61 29 3b 00 00 | istener(a.xt,&xt_listener,&a);.. |
| 3ae80 | 00 26 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 74 69 74 6c 65 28 61 2e 78 74 2c | .&..xdg_toplevel_set_title(a.xt, |
| 3aea0 | 22 77 6c 65 64 22 29 3b 00 00 00 1a 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 | "wled");......wl_surface_commit( |
| 3aec0 | 61 2e 77 73 29 3b 00 00 00 00 00 00 00 16 20 20 77 68 69 6c 65 28 21 61 2e 63 6f 6e 66 69 67 75 | a.ws);..........while(!a.configu |
| 3aee0 | 72 65 64 29 00 00 00 2b 20 20 20 20 69 66 28 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 | red)...+....if(wl_display_dispat |
| 3af00 | 63 68 28 61 2e 64 29 3d 3d 2d 31 29 20 62 72 65 61 6b 3b 00 00 00 00 00 00 00 23 20 20 69 6e 74 | ch(a.d)==-1).break;.......#..int |
| 3af20 | 20 77 6c 5f 66 64 3d 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 66 64 28 61 2e 64 29 3b 00 00 | .wl_fd=wl_display_get_fd(a.d);.. |
| 3af40 | 00 0b 20 20 77 68 69 6c 65 28 31 29 7b 00 00 00 1a 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f | ....while(1){........wl_display_ |
| 3af60 | 66 6c 75 73 68 28 61 2e 64 29 3b 00 00 00 1a 20 20 20 20 73 74 72 75 63 74 20 70 6f 6c 6c 66 64 | flush(a.d);........struct.pollfd |
| 3af80 | 20 66 64 73 5b 32 5d 3d 7b 00 00 00 27 20 20 20 20 20 20 7b 2e 66 64 3d 77 6c 5f 66 64 2c 20 20 | .fds[2]={...'......{.fd=wl_fd,.. |
| 3afa0 | 20 20 20 20 2e 65 76 65 6e 74 73 3d 50 4f 4c 4c 49 4e 7d 2c 00 00 00 27 20 20 20 20 20 20 7b 2e | .....events=POLLIN},...'......{. |
| 3afc0 | 66 64 3d 61 2e 72 65 70 65 61 74 5f 66 64 2c 2e 65 76 65 6e 74 73 3d 50 4f 4c 4c 49 4e 7d 2c 00 | fd=a.repeat_fd,.events=POLLIN},. |
| 3afe0 | 00 00 06 20 20 20 20 7d 3b 00 00 00 1b 20 20 20 20 69 6e 74 20 72 65 74 3d 70 6f 6c 6c 28 66 64 | .......};........int.ret=poll(fd |
| 3b000 | 73 2c 32 2c 2d 31 29 3b 00 00 00 2e 20 20 20 20 69 66 28 72 65 74 3c 30 29 7b 69 66 28 65 72 72 | s,2,-1);........if(ret<0){if(err |
| 3b020 | 6e 6f 3d 3d 45 49 4e 54 52 29 63 6f 6e 74 69 6e 75 65 3b 62 72 65 61 6b 3b 7d 00 00 00 1e 20 20 | no==EINTR)continue;break;}...... |
| 3b040 | 20 20 69 66 28 66 64 73 5b 31 5d 2e 72 65 76 65 6e 74 73 26 50 4f 4c 4c 49 4e 29 7b 00 00 00 35 | ..if(fds[1].revents&POLLIN){...5 |
| 3b060 | 20 20 20 20 20 20 75 69 6e 74 36 34 5f 74 20 65 78 70 3b 72 65 61 64 28 61 2e 72 65 70 65 61 74 | ......uint64_t.exp;read(a.repeat |
| 3b080 | 5f 66 64 2c 26 65 78 70 2c 73 69 7a 65 6f 66 20 65 78 70 29 3b 00 00 00 23 20 20 20 20 20 20 70 | _fd,&exp,sizeof.exp);...#......p |
| 3b0a0 | 72 6f 63 65 73 73 5f 6b 65 79 28 26 61 2c 61 2e 72 65 70 65 61 74 5f 6b 65 79 29 3b 00 00 00 05 | rocess_key(&a,a.repeat_key);.... |
| 3b0c0 | 20 20 20 20 7d 00 00 00 1d 20 20 20 20 69 66 28 66 64 73 5b 30 5d 2e 72 65 76 65 6e 74 73 26 50 | ....}........if(fds[0].revents&P |
| 3b0e0 | 4f 4c 4c 49 4e 29 00 00 00 2d 20 20 20 20 20 20 69 66 28 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 | OLLIN)...-......if(wl_display_di |
| 3b100 | 73 70 61 74 63 68 28 61 2e 64 29 3d 3d 2d 31 29 20 62 72 65 61 6b 3b 35 81 f5 18 00 00 00 00 02 | spatch(a.d)==-1).break;5........ |
| 3b120 | 00 00 00 0a 00 00 00 5f 04 00 00 26 00 00 00 81 06 00 00 07 00 00 00 4f 00 00 00 00 00 00 00 14 | ......._...&...........O........ |
| 3b140 | a2 00 00 00 00 00 00 f2 bd 00 00 00 00 00 00 35 81 5f d0 00 00 00 19 00 00 00 1b 00 00 00 00 00 | ...............5._.............. |
| 3b160 | 00 00 00 00 00 00 1a 00 00 00 15 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 | ................................ |
| 3b180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b1a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b1c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b1e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b2a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b2c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9f cb ff 04 01 00 00 00 00 00 | .....................i.......... |
| 3b2e0 | f5 18 00 00 00 15 00 00 00 17 00 00 06 88 00 00 00 01 00 00 00 00 f5 18 00 00 00 15 00 00 00 17 | ................................ |
| 3b300 | 00 00 06 87 00 00 00 00 35 81 f5 18 00 00 00 00 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ........5....................... |
| 3b320 | 01 00 00 00 00 00 00 00 ff 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 | ................................ |
| 3b340 | f5 18 00 00 00 00 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 ff 01 | ................................ |
| 3b360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 f5 18 00 00 00 00 15 00 00 00 | ................................ |
| 3b380 | 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 04 00 00 00 00 02 00 00 00 00 00 00 01 00 00 00 | ................................ |
| 3b3a0 | 00 00 00 00 04 00 00 00 00 00 00 00 f5 18 00 00 00 00 15 00 00 00 01 00 00 00 00 00 00 00 04 00 | ................................ |
| 3b3c0 | 00 00 00 00 00 00 07 00 00 00 00 02 00 00 00 00 00 00 04 00 00 00 00 00 00 00 07 00 00 00 00 00 | ................................ |
| 3b3e0 | 00 00 f5 18 00 00 00 00 15 00 00 00 01 00 00 00 00 00 00 00 07 00 00 00 00 00 00 00 01 00 00 00 | ................................ |
| 3b400 | 00 02 00 00 00 00 00 00 07 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 f5 18 00 00 00 00 15 00 | ................................ |
| 3b420 | 00 00 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 10 00 00 00 00 02 00 00 00 00 00 00 01 00 | ................................ |
| 3b440 | 00 00 00 00 00 00 10 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 1a 00 00 00 1c 00 00 00 00 00 00 | ..............5._............... |
| 3b460 | 00 00 00 00 00 1b 00 00 00 16 00 00 00 0f 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 | ................................ |
| 3b480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b4a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b4c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b4e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b5a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b5c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9f cc 02 04 01 00 00 00 13 00 f5 | ....................i........... |
| 3b5e0 | 18 00 00 00 12 00 00 00 17 00 00 06 88 00 00 00 04 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 75 | .....................#include.<u |
| 3b600 | 6e 69 73 74 64 2e 68 3e 00 00 00 1b 23 69 6e 63 6c 75 64 65 20 3c 77 61 79 6c 61 6e 64 2d 63 6c | nistd.h>....#include.<wayland-cl |
| 3b620 | 69 65 6e 74 2e 68 3e 00 00 00 20 23 69 6e 63 6c 75 64 65 20 3c 78 6b 62 63 6f 6d 6d 6f 6e 2f 78 | ient.h>....#include.<xkbcommon/x |
| 3b640 | 6b 62 63 6f 6d 6d 6f 6e 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 74 69 6d 65 2e 68 3e | kbcommon.h>....#include.<time.h> |
| 3b660 | 35 81 f5 18 00 00 00 00 12 00 00 00 0a 00 00 00 03 00 00 00 0e 00 00 00 03 00 00 00 1d 00 00 00 | 5............................... |
| 3b680 | b8 01 00 00 00 00 00 00 55 00 00 00 00 00 00 00 55 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 1b | ........U.......U.......5._..... |
| 3b6a0 | 00 00 00 1d 00 00 00 00 00 00 00 00 00 00 00 1c 00 00 06 38 00 00 00 00 00 00 00 00 ff ff ff ff | ...................8............ |
| 3b6c0 | 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 | ................................ |
| 3b6e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b7a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b7c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b7e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9f | ..............................i. |
| 3b820 | cc 11 04 01 00 00 00 00 00 f5 18 00 00 06 39 00 00 06 40 00 00 06 8a 00 00 00 01 00 00 00 02 20 | ..............9...@............. |
| 3b840 | 20 f5 18 00 00 06 3a 00 00 06 3b 00 00 06 8a 00 00 00 00 f5 18 00 00 06 38 00 00 06 3b 00 00 06 | ......:...;.............8...;... |
| 3b860 | 89 00 00 00 01 00 00 00 02 20 20 f5 18 00 00 06 38 00 00 06 3a 00 00 06 88 00 00 00 00 35 81 f5 | ................8...:........5.. |
| 3b880 | 18 00 00 00 00 38 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 b2 b6 00 | .....8.......................... |
| 3b8a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 f5 18 00 00 00 00 38 06 00 00 00 | ...........................8.... |
| 3b8c0 | 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 b2 b6 00 00 00 00 00 00 02 00 00 00 00 | ................................ |
| 3b8e0 | 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 38 06 00 00 00 00 00 00 00 00 00 00 00 00 00 | .................8.............. |
| 3b900 | 00 01 00 00 00 02 00 00 00 b2 b6 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 | ................................ |
| 3b920 | 00 f5 18 00 00 00 00 39 06 00 00 02 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 29 00 00 00 b5 | .......9...................).... |
| 3b940 | b6 00 00 00 00 00 00 00 00 00 00 00 00 00 00 b7 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 1c 00 | .......................5._...... |
| 3b960 | 00 00 1e 00 00 00 00 00 00 00 00 00 00 00 1d 00 00 06 3f 00 00 00 28 00 00 00 00 ff ff ff ff 00 | ..................?...(......... |
| 3b980 | 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 | ................................ |
| 3b9a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b9c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b9e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ba00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ba20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ba40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ba60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ba80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3baa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3bac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9f cc | .............................i.. |
| 3bae0 | 13 04 01 00 00 00 14 00 f5 18 00 00 06 39 00 00 06 3b 00 00 06 8f 00 00 00 01 00 00 00 1c 20 20 | .............9...;.............. |
| 3bb00 | 20 20 74 69 6d 65 5f 74 20 6e 6f 77 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 35 81 f5 18 00 00 | ..time_t.now.=.time(NULL);5..... |
| 3bb20 | 00 00 39 06 00 00 02 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 b5 b6 00 00 00 00 | ..9............................. |
| 3bb40 | 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 1d 00 00 00 1f 00 00 | ..................5._........... |
| 3bb60 | 00 00 00 00 00 00 00 00 00 1e 00 00 06 3f 00 00 00 1a 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 | .............?.................. |
| 3bb80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3bba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3bbc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3bbe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3bc00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3bc20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3bc40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3bc60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3bc80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3bca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3bcc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9f cc 15 04 01 00 00 | ........................i....... |
| 3bce0 | 00 16 00 f5 18 00 00 06 3e 00 00 06 40 00 00 06 8f 00 00 00 01 00 00 00 29 20 20 70 72 69 6e 74 | ........>...@...........)..print |
| 3bd00 | 66 28 22 46 6f 72 6d 61 74 74 65 64 20 74 69 6d 65 3a 20 25 73 5c 6e 22 2c 20 62 75 66 66 65 72 | f("Formatted.time:.%s\n",.buffer |
| 3bd20 | 29 3b 35 81 f5 18 00 00 00 00 3e 06 00 00 0a 00 00 00 00 00 00 00 10 00 00 00 00 00 00 00 0b 00 | );5.......>..................... |
| 3bd40 | 00 00 4b b7 00 00 00 00 00 00 10 00 00 00 00 00 00 00 0b 00 00 00 00 00 00 00 35 81 5f d0 00 00 | ..K.......................5._... |
| 3bd60 | 00 1e 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 1f 00 00 06 8d 00 00 00 02 00 00 00 00 ff ff | ................................ |
| 3bd80 | 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 00 00 | ................................ |
| 3bda0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3bdc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3bde0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3be00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3be20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3be40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3be60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3be80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3bea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3bec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3bee0 | 69 9f cc 7b 04 01 00 00 00 00 00 f5 18 00 00 06 8e 00 00 06 93 00 00 06 91 00 00 00 01 00 00 00 | i..{............................ |
| 3bf00 | 02 20 20 f5 18 00 00 06 8f 00 00 06 90 00 00 06 91 00 00 00 00 f5 18 00 00 06 8d 00 00 06 90 00 | ................................ |
| 3bf20 | 00 06 90 00 00 00 01 00 00 00 02 20 20 f5 18 00 00 06 8d 00 00 06 8f 00 00 06 8f 00 00 00 00 35 | ...............................5 |
| 3bf40 | 81 f5 18 00 00 00 00 8d 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 13 | ................................ |
| 3bf60 | bf 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 f5 18 00 00 00 00 8d 06 00 | ................................ |
| 3bf80 | 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 13 bf 00 00 00 00 00 00 02 00 00 | ................................ |
| 3bfa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 8d 06 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3bfc0 | 00 00 00 01 00 00 00 02 00 00 00 13 bf 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 | ................................ |
| 3bfe0 | 00 00 00 f5 18 00 00 00 00 8e 06 00 00 02 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 01 00 00 | ................................ |
| 3c000 | 00 16 bf 00 00 00 00 00 00 00 00 00 00 00 00 00 00 59 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 | .................Y.......5._.... |
| 3c020 | 1f 00 00 00 21 00 00 00 00 00 00 00 00 00 00 00 20 00 00 06 92 00 00 00 00 00 00 00 00 ff ff ff | ....!........................... |
| 3c040 | 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 00 00 00 | ................................ |
| 3c060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c0a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c0c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c0e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 | ...............................i |
| 3c1a0 | 9f cc 7e 04 01 00 00 00 18 00 f5 18 00 00 06 91 00 00 06 93 00 00 06 94 00 00 00 01 00 00 00 01 | ..~............................. |
| 3c1c0 | 7d 35 81 f5 18 00 00 00 00 91 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 | }5.............................. |
| 3c1e0 | 00 6e bf 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 | .n.......................5._.... |
| 3c200 | 20 00 00 00 22 00 00 00 00 00 00 00 00 00 00 00 21 00 00 06 8f 00 00 00 02 00 00 00 00 ff ff ff | ...."...........!............... |
| 3c220 | 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 00 00 00 | ................................ |
| 3c240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c2a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c2c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c2e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 92 00 | ................................ |
| 3c360 | 00 00 02 00 00 00 00 00 00 06 8f 00 00 00 02 00 00 00 00 00 00 00 56 00 00 00 02 00 00 00 00 69 | ......................V........i |
| 3c380 | 9f cc 87 04 01 00 00 00 19 00 f5 18 00 00 06 8e 00 00 06 8f 00 00 00 00 00 00 00 04 00 00 00 14 | ................................ |
| 3c3a0 | 20 20 69 66 20 28 21 63 6f 6e 66 69 67 75 72 65 64 29 20 7b 00 00 00 38 20 20 20 20 66 70 72 69 | ..if.(!configured).{...8....fpri |
| 3c3c0 | 6e 74 66 28 73 74 64 65 72 72 2c 20 22 77 61 79 6c 61 6e 64 20 73 75 72 66 61 63 65 20 6e 6f 74 | ntf(stderr,."wayland.surface.not |
| 3c3e0 | 20 63 6f 6e 66 69 67 75 72 65 64 5c 6e 22 29 3b 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 | .configured\n");........return;. |
| 3c400 | 00 00 03 20 20 7d 35 81 f5 18 00 00 00 00 8e 06 00 00 00 00 00 00 04 00 00 00 00 00 00 00 00 00 | .....}5......................... |
| 3c420 | 00 00 00 00 00 00 14 bf 00 00 00 00 00 00 5e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 35 81 | ..............^...............5. |
| 3c440 | 5f d0 00 00 00 21 00 00 00 23 00 00 00 00 00 00 00 00 00 00 00 22 00 00 06 8e 00 00 00 00 00 00 | _....!...#...........".......... |
| 3c460 | 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 00 00 00 00 00 | ................................ |
| 3c480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c4a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c4c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c4e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c5a0 | 00 00 06 8f 00 00 00 02 00 00 00 00 00 00 06 8f 00 00 00 02 00 00 00 00 00 00 00 56 00 00 00 02 | ...........................V.... |
| 3c5c0 | 00 00 00 00 69 9f cc 88 04 01 00 00 00 1a 00 f5 18 00 00 06 8d 00 00 06 8e 00 00 00 00 00 00 00 | ....i........................... |
| 3c5e0 | 01 00 00 00 00 35 81 f5 18 00 00 00 00 8d 06 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 | .....5.......................... |
| 3c600 | 00 00 00 00 00 13 bf 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 | .............................5._ |
| 3c620 | d0 00 00 00 22 00 00 00 2f 00 00 00 00 00 00 00 00 00 00 00 23 00 00 06 75 00 00 00 27 00 00 00 | ....".../...........#...u...'... |
| 3c640 | 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 | ................................ |
| 3c660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c6a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c6c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c6e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c780 | 00 06 74 00 00 00 14 00 00 00 00 00 00 06 76 00 00 00 0c 00 00 00 00 00 00 00 56 00 00 00 12 00 | ..t...........v...........V..... |
| 3c7a0 | 00 00 00 69 9f cc b7 04 01 00 00 00 00 00 f5 18 00 00 06 74 00 00 06 76 00 00 06 8f 00 00 00 01 | ...i...............t...v........ |
| 3c7c0 | 00 00 00 27 20 20 20 20 69 66 20 28 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 28 | ...'....if.(wl_display_dispatch( |
| 3c7e0 | 61 2e 64 29 20 3d 3d 20 2d 31 29 35 81 f5 18 00 00 00 00 74 06 00 00 27 00 00 00 00 00 00 00 00 | a.d).==.-1)5.......t...'........ |
| 3c800 | 00 00 00 00 00 00 00 01 00 00 00 dc bc 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 | ................................ |
| 3c820 | 00 00 00 35 81 5f d0 00 00 00 23 00 00 00 30 00 00 00 24 00 00 00 00 00 00 00 2f 00 00 06 76 00 | ...5._....#...0...$......./...v. |
| 3c840 | 00 00 0b 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 | ................................ |
| 3c860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c8a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c8c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c8e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c980 | 00 00 00 00 00 00 00 06 74 00 00 00 14 00 00 00 00 00 00 06 76 00 00 00 0c 00 00 00 00 00 00 00 | ........t...........v........... |
| 3c9a0 | 56 00 00 00 12 00 00 00 00 69 9f cc fe 04 01 00 00 00 1c 00 f5 18 00 00 06 74 00 00 06 76 00 00 | V........i...............t...v.. |
| 3c9c0 | 06 8f 00 00 00 01 00 00 00 28 20 20 20 20 69 66 20 28 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 | .........(....if.(wl_display_dis |
| 3c9e0 | 70 61 74 63 68 28 61 2e 64 29 20 3d 3d 20 2d 31 29 20 35 81 f5 18 00 00 00 00 74 06 00 00 27 00 | patch(a.d).==.-1).5.......t...'. |
| 3ca00 | 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 dc bc 00 00 00 00 00 00 01 00 00 00 00 00 | ................................ |
| 3ca20 | 00 00 00 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 2f 00 00 00 31 00 00 00 00 00 00 00 00 00 00 | ..........5._..../...1.......... |
| 3ca40 | 00 30 00 00 06 76 00 00 00 0b 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 | .0...v.......................... |
| 3ca60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ca80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3caa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3cac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3cae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3cb00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3cb20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3cb40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3cb60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3cb80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 74 00 00 00 14 00 00 00 00 00 00 06 76 00 00 00 0c | ...............t...........v.... |
| 3cba0 | 00 00 00 00 00 00 00 56 00 00 00 12 00 00 00 00 69 9f cc fe 04 01 00 00 00 00 00 f5 18 00 00 06 | .......V........i............... |
| 3cbc0 | 77 00 00 06 7d 00 00 06 91 00 00 00 01 00 00 00 02 20 20 f5 18 00 00 06 78 00 00 06 79 00 00 06 | w...}...................x...y... |
| 3cbe0 | 91 00 00 00 00 f5 18 00 00 06 76 00 00 06 79 00 00 06 90 00 00 00 01 00 00 00 02 20 20 f5 18 00 | ..........v...y................. |
| 3cc00 | 00 06 76 00 00 06 78 00 00 06 8f 00 00 00 00 35 81 f5 18 00 00 00 00 76 06 00 00 00 00 00 00 00 | ..v...x........5.......v........ |
| 3cc20 | 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 ea bc 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 | ................................ |
| 3cc40 | 00 00 00 00 00 00 00 f5 18 00 00 00 00 76 06 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 | .............v.................. |
| 3cc60 | 00 02 00 00 00 ea bc 00 00 00 00 00 00 03 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 f5 18 00 | ................................ |
| 3cc80 | 00 00 00 76 06 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 ea bc 00 00 00 | ...v............................ |
| 3cca0 | 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 76 06 00 00 00 00 00 | .........................v...... |
| 3ccc0 | 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 ea bc 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3cce0 | 00 03 00 00 00 00 00 00 00 f5 18 00 00 00 00 77 06 00 00 02 00 00 00 00 00 00 00 00 00 00 00 04 | ...............w................ |
| 3cd00 | 00 00 00 01 00 00 00 ed bc 00 00 00 00 00 00 00 00 00 00 00 00 00 00 99 00 00 00 00 00 00 00 35 | ...............................5 |
| 3cd20 | 81 5f d0 00 00 00 30 00 00 00 32 00 00 00 00 00 00 00 00 00 00 00 31 00 00 06 7c 00 00 00 00 00 | ._....0...2...........1...|..... |
| 3cd40 | 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 00 00 00 00 | ................................ |
| 3cd60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3cd80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3cda0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3cdc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3cde0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ce00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ce20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ce40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ce60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ce80 | 00 00 00 06 74 00 00 00 14 00 00 00 00 00 00 06 76 00 00 00 0c 00 00 00 00 00 00 00 56 00 00 00 | ....t...........v...........V... |
| 3cea0 | 12 00 00 00 00 69 9f cd 06 04 01 00 00 00 1d 00 f5 18 00 00 06 79 00 00 06 7d 00 00 06 95 00 00 | .....i...............y...}...... |
| 3cec0 | 00 03 00 00 00 08 7d 20 65 6c 73 65 20 7b 00 00 00 38 20 20 20 20 66 70 72 69 6e 74 66 28 73 74 | ......}.else.{...8....fprintf(st |
| 3cee0 | 64 65 72 72 2c 20 22 77 61 79 6c 61 6e 64 20 73 75 72 66 61 63 65 20 6e 6f 74 20 63 6f 6e 66 69 | derr,."wayland.surface.not.confi |
| 3cf00 | 67 75 72 65 64 5c 6e 22 29 3b 00 00 00 01 7d 35 81 f5 18 00 00 00 00 79 06 00 00 00 00 00 00 02 | gured\n");....}5.......y........ |
| 3cf20 | 00 00 00 00 00 00 00 02 00 00 00 02 00 00 00 43 bd 00 00 00 00 00 00 42 00 00 00 00 00 00 00 46 | ...............C.......B.......F |
| 3cf40 | 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 31 00 00 00 33 00 00 00 00 00 00 00 00 00 00 00 32 00 | .......5._....1...3...........2. |
| 3cf60 | 00 06 7c 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 00 00 | ..|............................. |
| 3cf80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3cfa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3cfc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3cfe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d0a0 | 00 00 00 00 00 00 00 00 00 00 00 06 74 00 00 00 14 00 00 00 00 00 00 06 76 00 00 00 0c 00 00 00 | ............t...........v....... |
| 3d0c0 | 00 00 00 00 56 00 00 00 12 00 00 00 00 69 9f cd 0a 04 01 00 00 00 00 00 f5 18 00 00 06 7d 00 00 | ....V........i...............}.. |
| 3d0e0 | 06 82 00 00 06 97 00 00 00 01 00 00 00 02 20 20 f5 18 00 00 06 7e 00 00 06 7f 00 00 06 97 00 00 | .....................~.......... |
| 3d100 | 00 00 f5 18 00 00 06 7c 00 00 06 7f 00 00 06 96 00 00 00 01 00 00 00 02 20 20 f5 18 00 00 06 7c | .......|.......................| |
| 3d120 | 00 00 06 7e 00 00 06 95 00 00 00 00 35 81 f5 18 00 00 00 00 7c 06 00 00 00 00 00 00 00 00 00 00 | ...~........5.......|........... |
| 3d140 | 00 00 00 00 01 00 00 00 00 00 00 00 8b bd 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 | ................................ |
| 3d160 | 00 00 00 00 f5 18 00 00 00 00 7c 06 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 | ..........|..................... |
| 3d180 | 00 00 8b bd 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 | ................................ |
| 3d1a0 | 7c 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 8b bd 00 00 00 00 00 00 | |............................... |
| 3d1c0 | 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 f5 18 00 00 00 00 7d 06 00 00 02 00 00 00 00 00 | ......................}......... |
| 3d1e0 | 00 00 00 00 00 00 03 00 00 00 35 00 00 00 8e bd 00 00 00 00 00 00 00 00 00 00 00 00 00 00 8b 00 | ..........5..................... |
| 3d200 | 00 00 00 00 00 00 35 81 5f d0 00 00 00 32 00 00 00 34 00 00 00 00 00 00 00 00 00 00 00 33 00 00 | ......5._....2...4...........3.. |
| 3d220 | 06 78 00 00 00 15 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 | .x.............................. |
| 3d240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d2a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d2c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d2e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d360 | 00 00 00 00 00 00 00 00 00 00 06 7d 00 00 00 00 00 00 00 00 00 00 06 78 00 00 00 15 00 00 00 00 | ...........}...........x........ |
| 3d380 | 00 00 00 56 00 00 00 34 00 00 00 00 69 9f cd 0d 04 01 00 00 00 00 00 f5 18 00 00 06 77 00 00 06 | ...V...4....i...............w... |
| 3d3a0 | 78 00 00 00 00 00 00 00 06 00 00 00 15 20 20 69 66 20 28 61 2e 63 6f 6e 66 69 67 75 72 65 64 29 | x..............if.(a.configured) |
| 3d3c0 | 20 7b 00 00 00 41 20 20 20 20 66 70 72 69 6e 74 66 28 73 74 64 6f 75 74 2c 20 22 77 61 79 6c 61 | .{...A....fprintf(stdout,."wayla |
| 3d3e0 | 6e 64 20 73 75 72 66 61 63 65 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 63 6f 6e 66 69 67 75 72 | nd.surface.successfully.configur |
| 3d400 | 65 64 5c 6e 22 29 3b 00 00 00 0a 20 20 7d 20 65 6c 73 65 20 7b 00 00 00 38 20 20 20 20 66 70 72 | ed\n");......}.else.{...8....fpr |
| 3d420 | 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 77 61 79 6c 61 6e 64 20 73 75 72 66 61 63 65 20 6e 6f | intf(stderr,."wayland.surface.no |
| 3d440 | 74 20 63 6f 6e 66 69 67 75 72 65 64 5c 6e 22 29 3b 00 00 00 03 20 20 7d 00 00 00 00 35 81 f5 18 | t.configured\n");......}....5... |
| 3d460 | 00 00 00 00 77 06 00 00 00 00 00 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 eb bc 00 00 | ....w........................... |
| 3d480 | 00 00 00 00 a1 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 33 00 00 00 00 | ....................5._....3.... |
| 3d4a0 | 00 00 00 00 00 00 00 00 00 00 00 34 00 00 06 78 00 00 00 12 00 00 00 00 ff ff ff ff 00 01 00 00 | ...........4...x................ |
| 3d4c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d4e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d5a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d5c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d5e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 78 00 00 00 00 00 00 | .........................x...... |
| 3d600 | 00 00 00 00 06 78 00 00 00 15 00 00 00 00 00 00 00 56 00 00 00 34 00 00 00 00 69 9f cd 0e 04 01 | .....x...........V...4....i..... |
| 3d620 | 00 00 00 20 00 f5 18 00 00 06 79 00 00 06 7b 00 00 06 94 00 00 00 01 00 00 00 04 65 6c 73 65 35 | ..........y...{............else5 |
| 3d640 | 81 f5 18 00 00 00 00 79 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 3e | .......y.......................> |
| 3d660 | bd 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 23 00 | .......................5._....#. |
| 3d680 | 00 00 25 00 00 00 00 00 00 00 2f 00 00 00 24 00 00 06 76 00 00 00 0b 00 00 00 00 ff ff ff ff 00 | ..%......./...$...v............. |
| 3d6a0 | 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 | ................................ |
| 3d6c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d6e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d7a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d7c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 74 00 00 00 | ............................t... |
| 3d7e0 | 14 00 00 00 00 00 00 06 76 00 00 00 0c 00 00 00 00 00 00 00 56 00 00 00 12 00 00 00 00 69 9f cc | ........v...........V........i.. |
| 3d800 | b8 04 01 00 00 00 00 00 f5 18 00 00 06 75 00 00 06 77 00 00 00 00 00 00 00 00 35 81 f5 18 00 00 | .............u...w........5..... |
| 3d820 | 00 00 75 06 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 de bc 00 00 00 00 | ..u............................. |
| 3d840 | 00 00 0d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 24 00 00 00 26 00 00 | ..................5._....$...&.. |
| 3d860 | 00 00 00 00 00 00 00 00 00 25 00 00 06 75 00 00 00 28 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 | .........%...u...(.............. |
| 3d880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d8a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d8c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d8e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d9a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 74 00 00 00 14 00 00 00 00 | .......................t........ |
| 3d9c0 | 00 00 06 76 00 00 00 0c 00 00 00 00 00 00 00 56 00 00 00 12 00 00 00 00 69 9f cc bb 04 01 00 00 | ...v...........V........i....... |
| 3d9e0 | 00 00 00 f5 18 00 00 06 74 00 00 06 76 00 00 06 8e 00 00 00 01 00 00 00 2a 20 20 20 20 69 66 20 | ........t...v...........*....if. |
| 3da00 | 28 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 28 61 2e 64 29 20 3d 3d 20 2d 31 29 | (wl_display_dispatch(a.d).==.-1) |
| 3da20 | 20 7b 7d 35 81 f5 18 00 00 00 00 74 06 00 00 28 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 | .{}5.......t...(................ |
| 3da40 | 00 00 00 dd bc 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 | ...........................5._.. |
| 3da60 | 00 00 25 00 00 00 27 00 00 00 00 00 00 00 00 00 00 00 26 00 00 06 75 00 00 00 29 00 00 00 00 ff | ..%...'...........&...u...)..... |
| 3da80 | 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 00 | ................................ |
| 3daa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3dac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3dae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3db00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3db20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3db40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3db60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3db80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3dba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 | ................................ |
| 3dbc0 | 74 00 00 00 14 00 00 00 00 00 00 06 78 00 00 00 0c 00 00 00 00 00 00 00 56 00 00 00 12 00 00 00 | t...........x...........V....... |
| 3dbe0 | 00 69 9f cc bb 04 01 00 00 00 00 00 f5 18 00 00 06 74 00 00 06 76 00 00 06 8e 00 00 00 02 00 00 | .i...............t...v.......... |
| 3dc00 | 00 29 20 20 20 20 69 66 20 28 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 28 61 2e | .)....if.(wl_display_dispatch(a. |
| 3dc20 | 64 29 20 3d 3d 20 2d 31 29 20 7b 00 00 00 02 09 7d f5 18 00 00 06 75 00 00 06 77 00 00 00 00 00 | d).==.-1).{.....}.....u...w..... |
| 3dc40 | 00 00 01 00 00 00 02 09 7d f5 18 00 00 06 74 00 00 06 76 00 00 06 8f 00 00 00 02 00 00 00 29 20 | ........}.....t...v...........). |
| 3dc60 | 20 20 20 69 66 20 28 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 28 61 2e 64 29 20 | ...if.(wl_display_dispatch(a.d). |
| 3dc80 | 3d 3d 20 2d 31 29 20 7b 00 00 00 09 09 09 66 70 72 69 6e 74 66 35 81 f5 18 00 00 00 00 74 06 00 | ==.-1).{......fprintf5.......t.. |
| 3dca0 | 00 29 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 de bc 00 00 00 00 00 00 00 00 00 | .).............................. |
| 3dcc0 | 00 00 00 00 00 02 00 00 00 00 00 00 00 f5 18 00 00 00 00 74 06 00 00 29 00 00 00 00 00 00 00 00 | ...................t...)........ |
| 3dce0 | 00 00 00 01 00 00 00 01 00 00 00 de bc 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 | ................................ |
| 3dd00 | 00 00 00 f5 18 00 00 00 00 75 06 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 09 00 00 | .........u...................... |
| 3dd20 | 00 df bc 00 00 00 00 00 00 01 00 00 00 00 00 00 00 09 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 | .........................5._.... |
| 3dd40 | 26 00 00 00 28 00 00 00 00 00 00 00 00 00 00 00 27 00 00 06 76 00 00 00 09 00 00 00 00 ff ff ff | &...(...........'...v........... |
| 3dd60 | 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 00 00 00 | ................................ |
| 3dd80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3dda0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ddc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3dde0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3de00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3de20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3de40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3de60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3de80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 74 00 | ..............................t. |
| 3dea0 | 00 00 14 00 00 00 00 00 00 06 78 00 00 00 0c 00 00 00 00 00 00 00 56 00 00 00 12 00 00 00 00 69 | ..........x...........V........i |
| 3dec0 | 9f cc c1 04 01 00 00 00 00 00 f5 18 00 00 06 75 00 00 06 77 00 00 06 90 00 00 00 01 00 00 00 0b | ...............u...w............ |
| 3dee0 | 09 09 66 70 72 69 6e 74 66 28 29 35 81 f5 18 00 00 00 00 75 06 00 00 09 00 00 00 00 00 00 00 00 | ..fprintf()5.......u............ |
| 3df00 | 00 00 00 00 00 00 00 02 00 00 00 e8 bc 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 | ................................ |
| 3df20 | 00 00 00 35 81 5f d0 00 00 00 27 00 00 00 29 00 00 00 00 00 00 00 00 00 00 00 28 00 00 06 76 00 | ...5._....'...)...........(...v. |
| 3df40 | 00 00 0a 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 | ................................ |
| 3df60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3df80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3dfa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3dfc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3dfe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e080 | 00 00 00 00 00 00 00 06 74 00 00 00 14 00 00 00 00 00 00 06 78 00 00 00 0c 00 00 00 00 00 00 00 | ........t...........x........... |
| 3e0a0 | 56 00 00 00 12 00 00 00 00 69 9f cc c1 04 01 00 00 00 00 00 f5 18 00 00 06 75 00 00 06 77 00 00 | V........i...............u...w.. |
| 3e0c0 | 06 90 00 00 00 01 00 00 00 0d 09 09 66 70 72 69 6e 74 66 28 22 22 29 35 81 f5 18 00 00 00 00 75 | ............fprintf("")5.......u |
| 3e0e0 | 06 00 00 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 e9 bc 00 00 00 00 00 00 00 | ................................ |
| 3e100 | 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 28 00 00 00 2a 00 00 00 00 00 | ...............5._....(...*..... |
| 3e120 | 00 00 00 00 00 00 29 00 00 06 76 00 00 00 0b 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 | ......)...v..................... |
| 3e140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e1a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e1c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e1e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 74 00 00 00 14 00 00 00 00 00 00 06 | ....................t........... |
| 3e280 | 78 00 00 00 0c 00 00 00 00 00 00 00 56 00 00 00 12 00 00 00 00 69 9f cc c2 04 01 00 00 00 00 00 | x...........V........i.......... |
| 3e2a0 | f5 18 00 00 06 75 00 00 06 77 00 00 06 90 00 00 00 01 00 00 00 13 09 09 66 70 72 69 6e 74 66 28 | .....u...w..............fprintf( |
| 3e2c0 | 73 74 64 65 72 72 2c 20 29 35 81 f5 18 00 00 00 00 75 06 00 00 0a 00 00 00 00 00 00 00 02 00 00 | stderr,.)5.......u.............. |
| 3e2e0 | 00 00 00 00 00 02 00 00 00 e9 bc 00 00 00 00 00 00 02 00 00 00 00 00 00 00 02 00 00 00 00 00 00 | ................................ |
| 3e300 | 00 f5 18 00 00 00 00 75 06 00 00 0b 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 07 00 00 00 ea | .......u........................ |
| 3e320 | bc 00 00 00 00 00 00 01 00 00 00 00 00 00 00 07 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 29 00 | .......................5._....). |
| 3e340 | 00 00 2b 00 00 00 00 00 00 00 00 00 00 00 2a 00 00 06 76 00 00 00 12 00 00 00 00 ff ff ff ff 00 | ..+...........*...v............. |
| 3e360 | 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 | ................................ |
| 3e380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e3a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e3c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e3e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 74 00 00 00 | ............................t... |
| 3e4a0 | 14 00 00 00 00 00 00 06 78 00 00 00 0c 00 00 00 00 00 00 00 56 00 00 00 12 00 00 00 00 69 9f cc | ........x...........V........i.. |
| 3e4c0 | c4 04 01 00 00 00 00 00 f5 18 00 00 06 75 00 00 06 77 00 00 06 90 00 00 00 01 00 00 00 15 09 09 | .............u...w.............. |
| 3e4e0 | 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 22 29 35 81 f5 18 00 00 00 00 75 06 00 00 12 | fprintf(stderr,."")5.......u.... |
| 3e500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 f1 bc 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e520 | 00 00 00 02 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 2a 00 00 00 2c 00 00 00 00 00 00 00 00 00 | ...........5._....*...,......... |
| 3e540 | 00 00 2b 00 00 06 76 00 00 00 13 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 | ..+...v......................... |
| 3e560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e5a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e5c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e5e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 74 00 00 00 14 00 00 00 00 00 00 06 78 00 00 00 | ................t...........x... |
| 3e6a0 | 0c 00 00 00 00 00 00 00 56 00 00 00 12 00 00 00 00 69 9f cc c6 04 01 00 00 00 00 00 f5 18 00 00 | ........V........i.............. |
| 3e6c0 | 06 75 00 00 06 77 00 00 06 90 00 00 00 01 00 00 00 3c 09 09 66 70 72 69 6e 74 66 28 73 74 64 65 | .u...w...........<..fprintf(stde |
| 3e6e0 | 72 72 2c 20 22 77 61 79 6c 61 6e 64 20 73 75 72 66 61 63 65 20 6e 6f 74 20 70 72 6f 70 65 72 6c | rr,."wayland.surface.not.properl |
| 3e700 | 79 20 63 6f 6e 66 69 67 75 72 65 64 22 29 35 81 f5 18 00 00 00 00 75 06 00 00 13 00 00 00 00 00 | y.configured")5.......u......... |
| 3e720 | 00 00 00 00 00 00 00 00 00 00 25 00 00 00 f2 bc 00 00 00 00 00 00 00 00 00 00 00 00 00 00 25 00 | ..........%...................%. |
| 3e740 | 00 00 00 00 00 00 f5 18 00 00 00 00 75 06 00 00 13 00 00 00 00 00 00 00 25 00 00 00 00 00 00 00 | ............u...........%....... |
| 3e760 | 0a 00 00 00 f2 bc 00 00 00 00 00 00 25 00 00 00 00 00 00 00 0a 00 00 00 00 00 00 00 f5 18 00 00 | ............%................... |
| 3e780 | 00 00 75 06 00 00 1b 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 0d 00 00 00 fa bc 00 00 00 00 | ..u............................. |
| 3e7a0 | 00 00 02 00 00 00 00 00 00 00 0d 00 00 00 00 00 00 00 f5 18 00 00 00 00 75 06 00 00 23 00 00 00 | ........................u...#... |
| 3e7c0 | 00 00 00 00 05 00 00 00 00 00 00 00 17 00 00 00 02 bd 00 00 00 00 00 00 05 00 00 00 00 00 00 00 | ................................ |
| 3e7e0 | 17 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 2b 00 00 00 2d 00 00 00 00 00 00 00 00 00 00 00 2c | ........5._....+...-..........., |
| 3e800 | 00 00 06 76 00 00 00 3c 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ...v...<........................ |
| 3e820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e8a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e8c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e8e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e940 | 00 00 00 00 00 00 00 00 00 00 00 00 06 74 00 00 00 14 00 00 00 00 00 00 06 78 00 00 00 0c 00 00 | .............t...........x...... |
| 3e960 | 00 00 00 00 00 56 00 00 00 12 00 00 00 00 69 9f cc d5 04 01 00 00 00 00 00 f5 18 00 00 06 75 00 | .....V........i...............u. |
| 3e980 | 00 06 77 00 00 06 90 00 00 00 01 00 00 00 3e 09 09 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c | ..w...........>..fprintf(stderr, |
| 3e9a0 | 20 22 77 61 79 6c 61 6e 64 20 73 75 72 66 61 63 65 20 6e 6f 74 20 70 72 6f 70 65 72 6c 79 20 63 | ."wayland.surface.not.properly.c |
| 3e9c0 | 6f 6e 66 69 67 75 72 65 64 22 29 27 27 35 81 f5 18 00 00 00 00 75 06 00 00 3c 00 00 00 00 00 00 | onfigured")''5.......u...<...... |
| 3e9e0 | 00 00 00 00 00 00 00 00 00 02 00 00 00 1b bd 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 | ................................ |
| 3ea00 | 00 00 00 00 00 35 81 5f d0 00 00 00 2c 00 00 00 2e 00 00 00 00 00 00 00 00 00 00 00 2d 00 00 06 | .....5._....,...............-... |
| 3ea20 | 76 00 00 00 3d 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 | v...=........................... |
| 3ea40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ea60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ea80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3eaa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3eac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3eae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3eb00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3eb20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3eb40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3eb60 | 00 00 00 00 00 00 00 00 00 06 74 00 00 00 14 00 00 00 00 00 00 06 79 00 00 00 0c 00 00 00 00 00 | ..........t...........y......... |
| 3eb80 | 00 00 56 00 00 00 12 00 00 00 00 69 9f cc d5 04 01 00 00 00 00 00 f5 18 00 00 06 75 00 00 06 77 | ..V........i...............u...w |
| 3eba0 | 00 00 06 90 00 00 00 02 00 00 00 3d 09 09 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 77 | ...........=..fprintf(stderr,."w |
| 3ebc0 | 61 79 6c 61 6e 64 20 73 75 72 66 61 63 65 20 6e 6f 74 20 70 72 6f 70 65 72 6c 79 20 63 6f 6e 66 | ayland.surface.not.properly.conf |
| 3ebe0 | 69 67 75 72 65 64 22 29 3b 00 00 00 08 09 09 62 72 65 61 6b 3b 35 81 f5 18 00 00 00 00 75 06 00 | igured");......break;5.......u.. |
| 3ec00 | 00 3c 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 01 00 00 00 1b bd 00 00 00 00 00 00 02 00 00 | .<.............................. |
| 3ec20 | 00 00 00 00 00 01 00 00 00 00 00 00 00 f5 18 00 00 00 00 75 06 00 00 3d 00 00 00 00 00 00 00 00 | ...................u...=........ |
| 3ec40 | 00 00 00 01 00 00 00 02 00 00 00 1c bd 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 | ................................ |
| 3ec60 | 00 00 00 f5 18 00 00 00 00 76 06 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 | .........v...................... |
| 3ec80 | 00 1f bd 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 f5 18 00 00 00 00 76 | ...............................v |
| 3eca0 | 06 00 00 02 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 06 00 00 00 1f bd 00 00 00 00 00 00 01 | ................................ |
| 3ecc0 | 00 00 00 00 00 00 00 06 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 2d 00 00 00 00 00 00 00 00 00 | ...............5._....-......... |
| 3ece0 | 00 00 00 00 00 00 2e 00 00 06 77 00 00 00 07 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 | ..........w..................... |
| 3ed00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ed20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ed40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ed60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ed80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3eda0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3edc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ede0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ee00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ee20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 74 00 00 00 14 00 00 00 00 00 00 06 | ....................t........... |
| 3ee40 | 79 00 00 00 0c 00 00 00 00 00 00 00 56 00 00 00 12 00 00 00 00 69 9f cc ec 04 01 00 00 00 1b 00 | y...........V........i.......... |
| 3ee60 | f5 18 00 00 06 75 00 00 06 79 00 00 06 91 00 00 00 03 00 00 00 41 20 20 20 20 20 20 66 70 72 69 | .....u...y...........A......fpri |
| 3ee80 | 6e 74 66 28 73 74 64 65 72 72 2c 20 22 77 61 79 6c 61 6e 64 20 73 75 72 66 61 63 65 20 6e 6f 74 | ntf(stderr,."wayland.surface.not |
| 3eea0 | 20 70 72 6f 70 65 72 6c 79 20 63 6f 6e 66 69 67 75 72 65 64 22 29 3b 00 00 00 0c 20 20 20 20 20 | .properly.configured");......... |
| 3eec0 | 20 62 72 65 61 6b 3b 00 00 00 05 20 20 20 20 7d 35 81 f5 18 00 00 00 00 75 06 00 00 00 00 00 00 | .break;........}5.......u....... |
| 3eee0 | 02 00 00 00 01 00 00 00 02 00 00 00 04 00 00 00 df bc 00 00 00 00 00 00 48 00 00 00 00 00 00 00 | ........................H....... |
| 3ef00 | 53 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 14 00 00 00 00 00 00 00 00 00 00 00 16 00 00 00 15 | S.......5._..................... |
| 3ef20 | 00 00 04 23 00 00 00 37 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ...#...7........................ |
| 3ef40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ef60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ef80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3efa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3efc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3efe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3f000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3f020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3f040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3f060 | 00 00 00 00 00 00 00 00 00 00 00 00 04 24 00 00 00 0a 00 00 00 00 00 00 04 24 00 00 00 18 00 00 | .............$...........$...... |
| 3f080 | 00 00 00 00 00 76 00 00 00 18 00 00 00 00 69 9f c7 93 04 01 00 00 00 00 00 f5 18 00 00 04 23 00 | .....v........i...............#. |
| 3f0a0 | 00 04 24 00 00 04 71 00 00 00 00 f5 18 00 00 04 22 00 00 04 24 00 00 04 71 00 00 00 01 00 00 00 | ..$...q........."...$...q....... |
| 3f0c0 | 4d 20 20 73 74 72 66 74 69 6d 65 28 62 75 66 66 65 72 2c 20 73 69 7a 65 6f 66 28 62 75 66 66 65 | M..strftime(buffer,.sizeof(buffe |
| 3f0e0 | 72 29 2c 20 22 25 64 2d 25 6d 2d 25 59 20 25 49 3a 25 4d 3a 25 53 20 25 46 6f 72 6d 61 74 74 65 | r),."%d-%m-%Y.%I:%M:%S.%Formatte |
| 3f100 | 64 20 74 69 6d 65 3a 70 22 2c 20 74 29 3b 35 81 f5 18 00 00 00 00 22 04 00 00 37 00 00 00 00 00 | d.time:p",.t);5......."...7..... |
| 3f120 | 00 00 00 00 00 00 00 00 00 00 0f 00 00 00 ad 77 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0f 00 | ...............w................ |
| 3f140 | 00 00 00 00 00 00 35 81 e7 aa | ......5... |