| ofs | hex dump | ascii |
|---|
| 0000 | 56 69 6d 9f 55 6e 44 6f e5 00 03 a4 5a cf eb 1e e9 5d a6 ed 10 b0 31 f2 45 ff 92 13 ff a7 55 c7 | Vim.UnDo....Z....]....1.E.....U. |
| 0020 | 19 41 f4 14 c1 49 02 95 fc 71 38 00 00 02 02 00 00 00 0c 20 20 20 20 2e 67 6c 6f 62 61 6c 5f 00 | .A...I...q8.............global_. |
| 0040 | 00 01 88 00 00 00 0c 00 00 00 01 00 00 00 12 00 00 00 00 00 00 00 12 00 00 00 12 00 00 00 12 00 | ................................ |
| 0060 | 00 00 00 6a 01 12 d2 04 01 00 00 00 10 00 5f d0 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 | ...j.........._................. |
| 0080 | 00 00 00 01 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 | ................................ |
| 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 00 00 00 00 00 00 00 00 6a 01 0b be 04 01 00 00 00 01 00 f5 18 00 | ..................j............. |
| 0200 | 00 01 df 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 27 20 20 20 20 74 63 67 65 74 61 74 74 72 | ..................'....tcgetattr |
| 0220 | 28 70 74 79 5f 73 6c 61 76 65 2c 20 26 6f 72 69 67 69 6e 61 6c 5f 74 65 72 6d f5 18 00 00 01 e0 | (pty_slave,.&original_term...... |
| 0240 | 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 52 00 00 00 00 00 00 00 00 00 00 00 01 00 00 | .................R.............. |
| 0260 | 00 0d 20 20 20 20 63 6c 6f 73 65 28 66 64 29 f5 18 00 00 01 53 00 00 00 00 00 00 00 00 00 00 00 | ......close(fd).....S........... |
| 0280 | 00 f5 18 00 00 00 b1 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 0d 20 20 20 20 20 20 20 20 72 | ...............................r |
| 02a0 | 65 74 75 72 f5 18 00 00 00 b2 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 56 00 00 00 00 | etur.......................V.... |
| 02c0 | 00 00 00 00 00 00 00 01 00 00 00 49 20 20 20 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 | ...........I....0x00,0x00,0x00,0 |
| 02e0 | 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 | x00,0x00,0x00,0x00,0x00,0x00,0x0 |
| 0300 | 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 f5 18 00 00 00 57 00 00 00 00 00 | 0,0x00,0x00,0x00,0x00.....W..... |
| 0320 | 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 00 00 00 00 f5 18 00 | ................................ |
| 0340 | 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 00 00 00 00 00 00 00 | ...............5................ |
| 0360 | 00 00 00 00 00 00 00 56 00 00 00 49 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f9 | .......V...I.................... |
| 0380 | 0f 00 00 00 00 00 00 f5 18 00 00 00 00 56 00 00 00 49 00 00 00 00 00 00 00 00 00 00 00 5b 00 00 | .............V...I...........[.. |
| 03a0 | 00 0d 00 00 00 f9 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 0f 00 00 00 00 00 00 f5 18 00 | ................................ |
| 03c0 | 00 00 00 b1 00 00 00 0d 00 00 00 00 00 00 00 00 00 00 00 a1 00 00 00 0d 00 00 00 f8 1f 00 00 00 | ................................ |
| 03e0 | 00 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 00 00 00 f5 18 00 00 00 00 52 01 00 00 0d 00 00 | .........................R...... |
| 0400 | 00 00 00 00 00 00 00 00 00 8d 00 00 00 27 00 00 00 f8 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 | .............'..../............. |
| 0420 | 00 ff 0f 00 00 00 00 00 00 f5 18 00 00 00 00 df 01 00 00 27 00 00 00 00 00 00 00 00 00 00 00 98 | ...................'............ |
| 0440 | 00 00 00 01 00 00 00 f7 3f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3b 0f 00 00 00 00 00 00 35 | ........?..............;.......5 |
| 0460 | 81 5f d0 00 00 00 01 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 01 00 00 00 00 00 | ._.............................. |
| 0480 | 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 | ................................ |
| 04a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 04c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 04e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 05a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 05c0 | 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 0e 00 00 00 00 00 00 00 00 00 00 00 56 00 00 00 | ............................V... |
| 05e0 | 00 00 00 00 00 6a 01 0b e9 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 01 00 00 00 00 00 00 | .....j.......................... |
| 0600 | 00 0e 00 00 00 1f 23 64 65 66 69 6e 65 20 5f 50 4f 53 49 58 5f 43 5f 53 4f 55 52 43 45 20 32 30 | ......#define._POSIX_C_SOURCE.20 |
| 0620 | 30 38 30 39 4c 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 | 0809L....#include.<stdio.h>....# |
| 0640 | 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 20 3c | include.<stdlib.h>....#include.< |
| 0660 | 73 74 72 69 6e 67 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 75 6e 69 73 74 64 2e 68 3e | string.h>....#include.<unistd.h> |
| 0680 | 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 16 23 69 6e | ....#include.<sys/mman.h>....#in |
| 06a0 | 63 6c 75 64 65 20 3c 73 79 73 2f 69 6f 63 74 6c 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 | clude.<sys/ioctl.h>....#include. |
| 06c0 | 3c 73 79 73 2f 77 61 69 74 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 66 63 6e 74 6c 2e | <sys/wait.h>....#include.<fcntl. |
| 06e0 | 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 00 00 13 23 69 6e 63 | h>....#include.<errno.h>....#inc |
| 0700 | 6c 75 64 65 20 3c 73 69 67 6e 61 6c 2e 68 3e 00 00 00 14 23 69 6e 63 6c 75 64 65 20 3c 74 65 72 | lude.<signal.h>....#include.<ter |
| 0720 | 6d 69 6f 73 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 69 | mios.h>....#include.<wayland-cli |
| 0740 | 65 6e 74 2e 68 3e 00 00 00 26 23 69 6e 63 6c 75 64 65 20 22 78 64 67 2d 73 68 65 6c 6c 2d 63 6c | ent.h>...&#include."xdg-shell-cl |
| 0760 | 69 65 6e 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 22 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 | ient-protocol.h"5............... |
| 0780 | 0e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 44 01 00 00 00 00 00 00 | ........................D....... |
| 07a0 | 00 00 00 00 00 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 | ........5._..................... |
| 07c0 | 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 00 | ................................ |
| 07e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 08a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 08c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 08e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 | ................................ |
| 0920 | 00 00 00 00 00 56 00 00 00 00 00 00 00 00 6a 01 0b ea 04 01 00 00 00 02 00 f5 18 00 00 00 0e 00 | .....V........j................. |
| 0940 | 00 00 11 00 00 02 78 00 00 00 01 00 00 00 26 23 69 6e 63 6c 75 64 65 20 22 78 64 67 2d 73 68 65 | ......x.......&#include."xdg-she |
| 0960 | 6c 6c 2d 63 6c 69 65 6e 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 22 f5 18 00 00 00 00 00 00 00 10 00 | ll-client-protocol.h"........... |
| 0980 | 00 02 6a 00 00 00 01 00 00 00 00 f5 18 00 00 00 01 00 00 00 02 00 00 02 6a 00 00 00 00 35 81 f5 | ..j.....................j....5.. |
| 09a0 | 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0e 00 00 00 26 00 00 00 00 00 00 | .........................&...... |
| 09c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 59 01 00 00 00 00 00 00 f5 18 00 00 00 00 0e 00 00 00 26 | .............Y.................& |
| 09e0 | 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 59 01 00 00 00 00 00 00 00 00 00 00 00 | ...................Y............ |
| 0a00 | 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 03 00 00 00 05 00 00 00 00 00 00 00 00 00 | ...........5._.................. |
| 0a20 | 00 00 04 00 00 00 01 00 00 00 1e 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0a60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6a 01 0c e0 04 01 00 00 00 00 00 f5 18 00 00 | .................j.............. |
| 0ba0 | 00 00 00 00 00 02 00 00 00 00 00 00 02 79 00 00 00 1f 23 64 65 66 69 6e 65 20 5f 50 4f 53 49 58 | .............y....#define._POSIX |
| 0bc0 | 5f 43 5f 53 4f 55 52 43 45 20 32 30 30 38 30 39 4c 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 73 | _C_SOURCE.200809L....#include.<s |
| 0be0 | 74 64 69 6f 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 6c 69 62 2e 68 3e 00 00 | tdio.h>....#include.<stdlib.h>.. |
| 0c00 | 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 74 72 69 6e 67 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 | ..#include.<string.h>....#includ |
| 0c20 | 65 20 3c 75 6e 69 73 74 64 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d | e.<unistd.h>....#include.<sys/mm |
| 0c40 | 61 6e 2e 68 3e 00 00 00 16 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 69 6f 63 74 6c 2e 68 3e 00 | an.h>....#include.<sys/ioctl.h>. |
| 0c60 | 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 77 61 69 74 2e 68 3e 00 00 00 15 23 69 6e 63 | ...#include.<sys/wait.h>....#inc |
| 0c80 | 6c 75 64 65 20 3c 73 79 73 2f 73 74 61 74 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 66 | lude.<sys/stat.h>....#include.<f |
| 0ca0 | 63 6e 74 6c 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 00 00 | cntl.h>....#include.<errno.h>... |
| 0cc0 | 13 23 69 6e 63 6c 75 64 65 20 3c 73 69 67 6e 61 6c 2e 68 3e 00 00 00 14 23 69 6e 63 6c 75 64 65 | .#include.<signal.h>....#include |
| 0ce0 | 20 3c 74 65 72 6d 69 6f 73 2e 68 3e 00 00 00 1b 23 69 6e 63 6c 75 64 65 20 3c 77 61 79 6c 61 6e | .<termios.h>....#include.<waylan |
| 0d00 | 64 2d 63 6c 69 65 6e 74 2e 68 3e 00 00 00 26 23 69 6e 63 6c 75 64 65 20 22 78 64 67 2d 73 68 65 | d-client.h>...&#include."xdg-she |
| 0d20 | 6c 6c 2d 63 6c 69 65 6e 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 00 00 00 00 22 73 74 72 | ll-client-protocol.h"......."str |
| 0d40 | 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 20 2a 64 69 73 70 6c 61 79 20 3d 20 4e 55 4c 4c 3b 00 | uct.wl_display.*display.=.NULL;. |
| 0d60 | 00 00 28 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 6f 73 69 | ..(struct.wl_compositor.*composi |
| 0d80 | 74 6f 72 20 3d 20 4e 55 4c 4c 3b 00 00 00 22 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 | tor.=.NULL;..."struct.wl_surface |
| 0da0 | 20 2a 73 75 72 66 61 63 65 20 3d 20 4e 55 4c 4c 3b 00 00 00 1a 73 74 72 75 63 74 20 77 6c 5f 73 | .*surface.=.NULL;....struct.wl_s |
| 0dc0 | 68 6d 20 2a 73 68 6d 20 3d 20 4e 55 4c 4c 3b 00 00 00 1c 73 74 72 75 63 74 20 77 6c 5f 73 65 61 | hm.*shm.=.NULL;....struct.wl_sea |
| 0de0 | 74 20 2a 73 65 61 74 20 3d 20 4e 55 4c 4c 3b 00 00 00 24 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 | t.*seat.=.NULL;...$struct.wl_key |
| 0e00 | 62 6f 61 72 64 20 2a 6b 65 79 62 6f 61 72 64 20 3d 20 4e 55 4c 4c 3b 00 00 00 23 73 74 72 75 63 | board.*keyboard.=.NULL;...#struc |
| 0e20 | 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 5f 62 61 73 65 20 3d 20 4e 55 4c 4c 3b 00 00 | t.xdg_wm_base.*wm_base.=.NULL;.. |
| 0e40 | 00 27 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 64 67 5f 73 75 72 66 61 63 | .'struct.xdg_surface.*xdg_surfac |
| 0e60 | 65 20 3d 20 4e 55 4c 4c 3b 00 00 00 25 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c | e.=.NULL;...%struct.xdg_toplevel |
| 0e80 | 20 2a 74 6f 70 6c 65 76 65 6c 20 3d 20 4e 55 4c 4c 3b 00 00 00 2a 73 74 72 75 63 74 20 77 6c 5f | .*toplevel.=.NULL;...*struct.wl_ |
| 0ea0 | 63 61 6c 6c 62 61 63 6b 20 2a 66 72 61 6d 65 5f 63 61 6c 6c 62 61 63 6b 20 3d 20 4e 55 4c 4c 3b | callback.*frame_callback.=.NULL; |
| 0ec0 | 00 00 00 00 00 00 00 17 73 74 61 74 69 63 20 69 6e 74 20 72 75 6e 6e 69 6e 67 20 3d 20 31 3b 00 | ........static.int.running.=.1;. |
| 0ee0 | 00 00 1e 73 74 61 74 69 63 20 69 6e 74 20 77 69 6e 64 6f 77 5f 77 69 64 74 68 20 3d 20 38 30 30 | ...static.int.window_width.=.800 |
| 0f00 | 3b 00 00 00 1f 73 74 61 74 69 63 20 69 6e 74 20 77 69 6e 64 6f 77 5f 68 65 69 67 68 74 20 3d 20 | ;....static.int.window_height.=. |
| 0f20 | 36 30 30 3b 00 00 00 1d 73 74 61 74 69 63 20 69 6e 74 20 70 65 6e 64 69 6e 67 5f 77 69 64 74 68 | 600;....static.int.pending_width |
| 0f40 | 20 3d 20 30 3b 00 00 00 1e 73 74 61 74 69 63 20 69 6e 74 20 70 65 6e 64 69 6e 67 5f 68 65 69 67 | .=.0;....static.int.pending_heig |
| 0f60 | 68 74 20 3d 20 30 3b 00 00 00 1c 73 74 61 74 69 63 20 69 6e 74 20 6e 65 65 64 73 5f 72 65 73 69 | ht.=.0;....static.int.needs_resi |
| 0f80 | 7a 65 20 3d 20 30 3b 00 00 00 28 73 74 61 74 69 63 20 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 | ze.=.0;...(static.unsigned.char. |
| 0fa0 | 2a 70 69 78 65 6c 5f 64 61 74 61 20 3d 20 4e 55 4c 4c 3b 00 00 00 2e 73 74 61 74 69 63 20 73 74 | *pixel_data.=.NULL;....static.st |
| 0fc0 | 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 77 69 6e 64 6f 77 5f 62 75 66 66 65 72 20 3d 20 | ruct.wl_buffer.*window_buffer.=. |
| 0fe0 | 4e 55 4c 4c 3b 00 00 00 00 00 00 00 1b 73 74 61 74 69 63 20 69 6e 74 20 70 74 79 5f 6d 61 73 74 | NULL;........static.int.pty_mast |
| 1000 | 65 72 20 3d 20 2d 31 3b 00 00 00 1a 73 74 61 74 69 63 20 69 6e 74 20 70 74 79 5f 73 6c 61 76 65 | er.=.-1;....static.int.pty_slave |
| 1020 | 20 3d 20 2d 31 3b 00 00 00 1c 73 74 61 74 69 63 20 70 69 64 5f 74 20 73 68 65 6c 6c 5f 70 69 64 | .=.-1;....static.pid_t.shell_pid |
| 1040 | 20 3d 20 2d 31 3b 00 00 00 15 73 74 61 74 69 63 20 69 6e 74 20 72 6f 77 73 20 3d 20 32 34 3b 00 | .=.-1;....static.int.rows.=.24;. |
| 1060 | 00 00 15 73 74 61 74 69 63 20 69 6e 74 20 63 6f 6c 73 20 3d 20 38 30 3b 00 00 00 1a 73 74 61 74 | ...static.int.cols.=.80;....stat |
| 1080 | 69 63 20 69 6e 74 20 63 68 61 72 5f 77 69 64 74 68 20 3d 20 38 3b 00 00 00 1c 73 74 61 74 69 63 | ic.int.char_width.=.8;....static |
| 10a0 | 20 69 6e 74 20 63 68 61 72 5f 68 65 69 67 68 74 20 3d 20 31 36 3b 00 00 00 00 00 00 00 27 73 74 | .int.char_height.=.16;.......'st |
| 10c0 | 61 74 69 63 20 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 66 6f 6e 74 5f 64 61 74 61 20 3d 20 | atic.unsigned.char.*font_data.=. |
| 10e0 | 4e 55 4c 4c 3b 00 00 00 1a 73 74 61 74 69 63 20 69 6e 74 20 66 6f 6e 74 5f 77 69 64 74 68 20 3d | NULL;....static.int.font_width.= |
| 1100 | 20 38 3b 00 00 00 1c 73 74 61 74 69 63 20 69 6e 74 20 66 6f 6e 74 5f 68 65 69 67 68 74 20 3d 20 | .8;....static.int.font_height.=. |
| 1120 | 31 36 3b 00 00 00 1c 73 74 61 74 69 63 20 69 6e 74 20 66 6f 6e 74 5f 73 69 7a 65 20 3d 20 34 30 | 16;....static.int.font_size.=.40 |
| 1140 | 39 36 3b 00 00 00 00 00 00 00 18 73 74 61 74 69 63 20 69 6e 74 20 63 75 72 73 6f 72 5f 78 20 3d | 96;........static.int.cursor_x.= |
| 1160 | 20 30 3b 00 00 00 18 73 74 61 74 69 63 20 69 6e 74 20 63 75 72 73 6f 72 5f 79 20 3d 20 30 3b 00 | .0;....static.int.cursor_y.=.0;. |
| 1180 | 00 00 1c 73 74 61 74 69 63 20 69 6e 74 20 63 75 72 73 6f 72 5f 62 6c 69 6e 6b 20 3d 20 30 3b 00 | ...static.int.cursor_blink.=.0;. |
| 11a0 | 00 00 24 73 74 61 74 69 63 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 63 75 72 73 6f 72 5f 74 69 | ..$static.unsigned.int.cursor_ti |
| 11c0 | 6d 65 20 3d 20 30 3b 00 00 00 00 00 00 00 27 73 74 61 74 69 63 20 73 74 72 75 63 74 20 74 65 72 | me.=.0;.......'static.struct.ter |
| 11e0 | 6d 69 6f 73 20 6f 72 69 67 69 6e 61 6c 5f 74 65 72 6d 69 6f 73 3b 00 00 00 00 00 00 00 2b 73 74 | mios.original_termios;.......+st |
| 1200 | 61 74 69 63 20 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 62 75 69 6c 74 69 6e 5f 66 6f 6e 74 5b | atic.unsigned.char.builtin_font[ |
| 1220 | 34 30 39 36 5d 20 3d 20 7b 00 00 00 54 20 20 20 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c | 4096].=.{...T....0x00,0x00,0x00, |
| 1240 | 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 | 0x00,0x00,0x00,0x00,0x00,0x00,0x |
| 1260 | 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 | 00,0x00,0x00,0x00,0x00,0x00,0x00 |
| 1280 | 2c 00 00 00 54 20 20 20 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 | ,...T....0x00,0x00,0x00,0x00,0x0 |
| 12a0 | 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c | 0,0x00,0x00,0x00,0x00,0x00,0x00, |
| 12c0 | 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 00 00 00 54 20 20 20 | 0x00,0x00,0x00,0x00,0x00,...T... |
| 12e0 | 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 | .0x00,0x00,0x00,0x00,0x00,0x00,0 |
| 1300 | 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 | x00,0x00,0x00,0x00,0x00,0x00,0x0 |
| 1320 | 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 00 00 00 54 20 20 20 20 30 78 30 30 2c 30 78 | 0,0x00,0x00,0x00,...T....0x00,0x |
| 1340 | 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 | 00,0x00,0x00,0x00,0x00,0x00,0x00 |
| 1360 | 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 | ,0x00,0x00,0x00,0x00,0x00,0x00,0 |
| 1380 | 78 30 30 2c 30 78 30 30 2c 00 00 00 54 20 20 20 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c | x00,0x00,...T....0x00,0x00,0x00, |
| 13a0 | 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 | 0x00,0x00,0x00,0x00,0x00,0x00,0x |
| 13c0 | 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 | 00,0x00,0x00,0x00,0x00,0x00,0x00 |
| 13e0 | 2c 00 00 00 54 20 20 20 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 | ,...T....0x00,0x00,0x00,0x00,0x0 |
| 1400 | 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c | 0,0x00,0x00,0x00,0x00,0x00,0x00, |
| 1420 | 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 00 00 00 54 20 20 20 | 0x00,0x00,0x00,0x00,0x00,...T... |
| 1440 | 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 | .0x00,0x00,0x00,0x00,0x00,0x00,0 |
| 1460 | 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 | x00,0x00,0x00,0x00,0x00,0x00,0x0 |
| 1480 | 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 00 00 00 54 20 20 20 20 30 78 30 30 2c 30 78 | 0,0x00,0x00,0x00,...T....0x00,0x |
| 14a0 | 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 | 00,0x00,0x00,0x00,0x00,0x00,0x00 |
| 14c0 | 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 | ,0x00,0x00,0x00,0x00,0x00,0x00,0 |
| 14e0 | 78 30 30 2c 30 78 30 30 2c 00 00 00 54 20 20 20 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c | x00,0x00,...T....0x00,0x00,0x00, |
| 1500 | 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 | 0x00,0x00,0x00,0x00,0x00,0x00,0x |
| 1520 | 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 | 00,0x00,0x00,0x00,0x00,0x00,0x00 |
| 1540 | 2c 00 00 00 54 20 20 20 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 | ,...T....0x00,0x00,0x00,0x00,0x0 |
| 1560 | 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c | 0,0x00,0x00,0x00,0x00,0x00,0x00, |
| 1580 | 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 00 00 00 54 20 20 20 | 0x00,0x00,0x00,0x00,0x00,...T... |
| 15a0 | 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 | .0x00,0x00,0x00,0x00,0x00,0x00,0 |
| 15c0 | 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 | x00,0x00,0x00,0x00,0x00,0x00,0x0 |
| 15e0 | 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 00 00 00 54 20 20 20 20 30 78 30 30 2c 30 78 | 0,0x00,0x00,0x00,...T....0x00,0x |
| 1600 | 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 | 00,0x00,0x00,0x00,0x00,0x00,0x00 |
| 1620 | 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 | ,0x00,0x00,0x00,0x00,0x00,0x00,0 |
| 1640 | 78 30 30 2c 30 78 30 30 2c 00 00 00 54 20 20 20 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c | x00,0x00,...T....0x00,0x00,0x00, |
| 1660 | 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 | 0x00,0x00,0x00,0x00,0x00,0x00,0x |
| 1680 | 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 | 00,0x00,0x00,0x00,0x00,0x00,0x00 |
| 16a0 | 2c 00 00 00 54 20 20 20 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 | ,...T....0x00,0x00,0x00,0x00,0x0 |
| 16c0 | 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c | 0,0x00,0x00,0x00,0x00,0x00,0x00, |
| 16e0 | 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 00 00 00 54 20 20 20 | 0x00,0x00,0x00,0x00,0x00,...T... |
| 1700 | 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 | .0x00,0x00,0x00,0x00,0x00,0x00,0 |
| 1720 | 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 | x00,0x00,0x00,0x00,0x00,0x00,0x0 |
| 1740 | 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 00 00 00 54 20 20 20 20 30 78 30 30 2c 30 78 | 0,0x00,0x00,0x00,...T....0x00,0x |
| 1760 | 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 | 00,0x00,0x00,0x00,0x00,0x00,0x00 |
| 1780 | 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 | ,0x00,0x00,0x00,0x00,0x00,0x00,0 |
| 17a0 | 78 30 30 2c 30 78 30 30 2c 00 00 00 54 20 20 20 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c | x00,0x00,...T....0x00,0x00,0x00, |
| 17c0 | 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 | 0x00,0x00,0x00,0x00,0x00,0x00,0x |
| 17e0 | 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 | 00,0x00,0x00,0x00,0x00,0x00,0x00 |
| 1800 | 2c 00 00 00 54 20 20 20 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 | ,...T....0x00,0x00,0x00,0x00,0x0 |
| 1820 | 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c | 0,0x00,0x00,0x00,0x00,0x00,0x00, |
| 1840 | 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 00 00 00 54 20 20 20 | 0x00,0x00,0x00,0x00,0x00,...T... |
| 1860 | 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 | .0x00,0x00,0x00,0x00,0x00,0x00,0 |
| 1880 | 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 | x00,0x00,0x00,0x00,0x00,0x00,0x0 |
| 18a0 | 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 00 00 00 54 20 20 20 20 30 78 30 30 2c 30 78 | 0,0x00,0x00,0x00,...T....0x00,0x |
| 18c0 | 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 | 00,0x00,0x00,0x00,0x00,0x00,0x00 |
| 18e0 | 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 | ,0x00,0x00,0x00,0x00,0x00,0x00,0 |
| 1900 | 78 30 30 2c 30 78 30 30 2c 00 00 00 54 20 20 20 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c | x00,0x00,...T....0x00,0x00,0x00, |
| 1920 | 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 | 0x00,0x00,0x00,0x00,0x00,0x00,0x |
| 1940 | 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 | 00,0x00,0x00,0x00,0x00,0x00,0x00 |
| 1960 | 2c 00 00 00 54 20 20 20 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 | ,...T....0x00,0x00,0x00,0x00,0x0 |
| 1980 | 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c | 0,0x00,0x00,0x00,0x00,0x00,0x00, |
| 19a0 | 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 00 00 00 54 20 20 20 | 0x00,0x00,0x00,0x00,0x00,...T... |
| 19c0 | 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 | .0x00,0x00,0x00,0x00,0x00,0x00,0 |
| 19e0 | 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 | x00,0x00,0x00,0x00,0x00,0x00,0x0 |
| 1a00 | 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 00 00 00 54 20 20 20 20 30 78 30 30 2c 30 78 | 0,0x00,0x00,0x00,...T....0x00,0x |
| 1a20 | 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 | 00,0x00,0x00,0x00,0x00,0x00,0x00 |
| 1a40 | 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 | ,0x00,0x00,0x00,0x00,0x00,0x00,0 |
| 1a60 | 78 30 30 2c 30 78 30 30 2c 00 00 00 54 20 20 20 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c | x00,0x00,...T....0x00,0x00,0x00, |
| 1a80 | 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 | 0x00,0x00,0x00,0x00,0x00,0x00,0x |
| 1aa0 | 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 | 00,0x00,0x00,0x00,0x00,0x00,0x00 |
| 1ac0 | 2c 00 00 00 54 20 20 20 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 | ,...T....0x00,0x00,0x00,0x00,0x0 |
| 1ae0 | 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c | 0,0x00,0x00,0x00,0x00,0x00,0x00, |
| 1b00 | 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 00 00 00 54 20 20 20 | 0x00,0x00,0x00,0x00,0x00,...T... |
| 1b20 | 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 | .0x00,0x00,0x00,0x00,0x00,0x00,0 |
| 1b40 | 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 | x00,0x00,0x00,0x00,0x00,0x00,0x0 |
| 1b60 | 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 00 00 00 54 20 20 20 20 30 78 30 30 2c 30 78 | 0,0x00,0x00,0x00,...T....0x00,0x |
| 1b80 | 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 | 00,0x00,0x00,0x00,0x00,0x00,0x00 |
| 1ba0 | 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 | ,0x00,0x00,0x00,0x00,0x00,0x00,0 |
| 1bc0 | 78 30 30 2c 30 78 30 30 2c 00 00 00 54 20 20 20 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c | x00,0x00,...T....0x00,0x00,0x00, |
| 1be0 | 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 | 0x00,0x00,0x00,0x00,0x00,0x00,0x |
| 1c00 | 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 | 00,0x00,0x00,0x00,0x00,0x00,0x00 |
| 1c20 | 2c 00 00 00 54 20 20 20 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 | ,...T....0x00,0x00,0x00,0x00,0x0 |
| 1c40 | 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c | 0,0x00,0x00,0x00,0x00,0x00,0x00, |
| 1c60 | 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 00 00 00 54 20 20 20 | 0x00,0x00,0x00,0x00,0x00,...T... |
| 1c80 | 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 | .0x00,0x00,0x00,0x00,0x00,0x00,0 |
| 1ca0 | 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 | x00,0x00,0x00,0x00,0x00,0x00,0x0 |
| 1cc0 | 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 00 00 00 54 20 20 20 20 30 78 30 30 2c 30 78 | 0,0x00,0x00,0x00,...T....0x00,0x |
| 1ce0 | 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 | 00,0x00,0x00,0x00,0x00,0x00,0x00 |
| 1d00 | 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 | ,0x00,0x00,0x00,0x00,0x00,0x00,0 |
| 1d20 | 78 30 30 2c 30 78 30 30 2c 00 00 00 54 20 20 20 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c | x00,0x00,...T....0x00,0x00,0x00, |
| 1d40 | 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 | 0x00,0x00,0x00,0x00,0x00,0x00,0x |
| 1d60 | 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 | 00,0x00,0x00,0x00,0x00,0x00,0x00 |
| 1d80 | 2c 00 00 00 54 20 20 20 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 | ,...T....0x00,0x00,0x00,0x00,0x0 |
| 1da0 | 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c | 0,0x00,0x00,0x00,0x00,0x00,0x00, |
| 1dc0 | 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 00 00 00 54 20 20 20 | 0x00,0x00,0x00,0x00,0x00,...T... |
| 1de0 | 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 | .0x00,0x00,0x00,0x00,0x00,0x00,0 |
| 1e00 | 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 | x00,0x00,0x00,0x00,0x00,0x00,0x0 |
| 1e20 | 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 00 00 00 54 20 20 20 20 30 78 30 30 2c 30 78 | 0,0x00,0x00,0x00,...T....0x00,0x |
| 1e40 | 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 | 00,0x00,0x00,0x00,0x00,0x00,0x00 |
| 1e60 | 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 | ,0x00,0x00,0x00,0x00,0x00,0x00,0 |
| 1e80 | 78 30 30 2c 30 78 30 30 2c 00 00 00 54 20 20 20 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c | x00,0x00,...T....0x00,0x00,0x00, |
| 1ea0 | 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 | 0x00,0x00,0x00,0x00,0x00,0x00,0x |
| 1ec0 | 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 | 00,0x00,0x00,0x00,0x00,0x00,0x00 |
| 1ee0 | 2c 00 00 00 54 20 20 20 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 | ,...T....0x00,0x00,0x00,0x00,0x0 |
| 1f00 | 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c | 0,0x00,0x00,0x00,0x00,0x00,0x00, |
| 1f20 | 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 00 00 00 54 20 20 20 | 0x00,0x00,0x00,0x00,0x00,...T... |
| 1f40 | 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 | .0x00,0x00,0x00,0x00,0x00,0x00,0 |
| 1f60 | 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 | x00,0x00,0x00,0x00,0x00,0x00,0x0 |
| 1f80 | 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 00 00 00 54 20 20 20 20 30 78 30 30 2c 30 78 | 0,0x00,0x00,0x00,...T....0x00,0x |
| 1fa0 | 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 | 00,0x00,0x00,0x00,0x00,0x00,0x00 |
| 1fc0 | 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 | ,0x00,0x00,0x00,0x00,0x00,0x00,0 |
| 1fe0 | 78 30 30 2c 30 78 30 30 2c 00 00 00 54 20 20 20 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c | x00,0x00,...T....0x00,0x00,0x00, |
| 2000 | 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 | 0x00,0x00,0x00,0x00,0x00,0x00,0x |
| 2020 | 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 | 00,0x00,0x00,0x00,0x00,0x00,0x00 |
| 2040 | 2c 00 00 00 54 20 20 20 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 | ,...T....0x00,0x00,0x00,0x00,0x0 |
| 2060 | 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c | 0,0x00,0x00,0x00,0x00,0x00,0x00, |
| 2080 | 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 00 00 00 54 20 20 20 | 0x00,0x00,0x00,0x00,0x00,...T... |
| 20a0 | 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 | .0x00,0x00,0x00,0x00,0x00,0x00,0 |
| 20c0 | 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 | x00,0x00,0x00,0x00,0x00,0x00,0x0 |
| 20e0 | 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 00 00 00 54 20 20 20 20 30 78 30 30 2c 30 78 | 0,0x00,0x00,0x00,...T....0x00,0x |
| 2100 | 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 | 00,0x00,0x00,0x00,0x00,0x00,0x00 |
| 2120 | 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 | ,0x00,0x00,0x00,0x00,0x00,0x00,0 |
| 2140 | 78 30 30 2c 30 78 30 30 2c 00 00 00 54 20 20 20 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c | x00,0x00,...T....0x00,0x00,0x00, |
| 2160 | 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 | 0x00,0x00,0x00,0x00,0x00,0x00,0x |
| 2180 | 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 | 00,0x00,0x00,0x00,0x00,0x00,0x00 |
| 21a0 | 2c 00 00 00 54 20 20 20 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 | ,...T....0x00,0x00,0x00,0x00,0x0 |
| 21c0 | 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c | 0,0x00,0x00,0x00,0x00,0x00,0x00, |
| 21e0 | 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 00 00 00 54 20 20 20 | 0x00,0x00,0x00,0x00,0x00,...T... |
| 2200 | 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 | .0x00,0x00,0x00,0x00,0x00,0x00,0 |
| 2220 | 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 | x00,0x00,0x00,0x00,0x00,0x00,0x0 |
| 2240 | 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 00 00 00 54 20 20 20 20 30 78 30 30 2c 30 78 | 0,0x00,0x00,0x00,...T....0x00,0x |
| 2260 | 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 | 00,0x00,0x00,0x00,0x00,0x00,0x00 |
| 2280 | 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 | ,0x00,0x00,0x00,0x00,0x00,0x00,0 |
| 22a0 | 78 30 30 2c 30 78 30 30 2c 00 00 00 54 20 20 20 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c | x00,0x00,...T....0x00,0x00,0x00, |
| 22c0 | 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 | 0x00,0x00,0x00,0x00,0x00,0x00,0x |
| 22e0 | 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 | 00,0x00,0x00,0x00,0x00,0x00,0x00 |
| 2300 | 2c 00 00 00 54 20 20 20 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 | ,...T....0x00,0x00,0x00,0x00,0x0 |
| 2320 | 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c | 0,0x00,0x00,0x00,0x00,0x00,0x00, |
| 2340 | 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 00 00 00 54 20 20 20 | 0x00,0x00,0x00,0x00,0x00,...T... |
| 2360 | 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 | .0x00,0x00,0x00,0x00,0x00,0x00,0 |
| 2380 | 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 | x00,0x00,0x00,0x00,0x00,0x00,0x0 |
| 23a0 | 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 00 00 00 54 20 20 20 20 30 78 30 30 2c 30 78 | 0,0x00,0x00,0x00,...T....0x00,0x |
| 23c0 | 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 | 00,0x00,0x00,0x00,0x00,0x00,0x00 |
| 23e0 | 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 | ,0x00,0x00,0x00,0x00,0x00,0x00,0 |
| 2400 | 78 30 30 2c 30 78 30 30 2c 00 00 00 54 20 20 20 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c | x00,0x00,...T....0x00,0x00,0x00, |
| 2420 | 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 | 0x00,0x00,0x00,0x00,0x00,0x00,0x |
| 2440 | 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 | 00,0x00,0x00,0x00,0x00,0x00,0x00 |
| 2460 | 2c 00 00 00 54 20 20 20 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 | ,...T....0x00,0x00,0x00,0x00,0x0 |
| 2480 | 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c | 0,0x00,0x00,0x00,0x00,0x00,0x00, |
| 24a0 | 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 00 00 00 54 20 20 20 | 0x00,0x00,0x00,0x00,0x00,...T... |
| 24c0 | 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 | .0x00,0x00,0x00,0x00,0x00,0x00,0 |
| 24e0 | 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 | x00,0x00,0x00,0x00,0x00,0x00,0x0 |
| 2500 | 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 00 00 00 54 20 20 20 20 30 78 30 30 2c 30 78 | 0,0x00,0x00,0x00,...T....0x00,0x |
| 2520 | 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 | 00,0x00,0x00,0x00,0x00,0x00,0x00 |
| 2540 | 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 | ,0x00,0x00,0x00,0x00,0x00,0x00,0 |
| 2560 | 78 30 30 2c 30 78 30 30 2c 00 00 00 54 20 20 20 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c | x00,0x00,...T....0x00,0x00,0x00, |
| 2580 | 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 | 0x00,0x00,0x00,0x00,0x00,0x00,0x |
| 25a0 | 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 | 00,0x00,0x00,0x00,0x00,0x00,0x00 |
| 25c0 | 2c 00 00 00 54 20 20 20 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 | ,...T....0x00,0x00,0x00,0x00,0x0 |
| 25e0 | 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c | 0,0x00,0x00,0x00,0x00,0x00,0x00, |
| 2600 | 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 00 00 00 54 20 20 20 | 0x00,0x00,0x00,0x00,0x00,...T... |
| 2620 | 20 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 | .0x00,0x00,0x00,0x00,0x00,0x00,0 |
| 2640 | 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 | x00,0x00,0x00,0x00,0x00,0x00,0x0 |
| 2660 | 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 00 00 00 53 20 20 20 20 30 78 30 30 2c 30 78 | 0,0x00,0x00,0x00,...S....0x00,0x |
| 2680 | 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 | 00,0x00,0x00,0x00,0x00,0x00,0x00 |
| 26a0 | 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 78 30 30 2c 30 | ,0x00,0x00,0x00,0x00,0x00,0x00,0 |
| 26c0 | 78 30 30 2c 30 78 30 30 00 00 00 02 7d 3b 00 00 00 00 00 00 00 4c 73 74 61 74 69 63 20 76 6f 69 | x00,0x00....};.......Lstatic.voi |
| 26e0 | 64 20 64 72 61 77 5f 63 68 61 72 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 64 61 74 61 2c | d.draw_char(unsigned.char.*data, |
| 2700 | 20 69 6e 74 20 70 69 74 63 68 2c 20 69 6e 74 20 78 2c 20 69 6e 74 20 79 2c 20 63 68 61 72 20 63 | .int.pitch,.int.x,.int.y,.char.c |
| 2720 | 68 29 00 00 00 01 7b 00 00 00 14 20 20 20 20 69 6e 74 20 63 78 2c 20 63 79 2c 20 62 69 74 3b 00 | h)....{........int.cx,.cy,.bit;. |
| 2740 | 00 00 19 20 20 20 20 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 67 6c 79 70 68 3b 00 00 00 04 | .......unsigned.char.*glyph;.... |
| 2760 | 20 20 20 20 00 00 00 1e 20 20 20 20 69 66 20 28 63 68 20 3c 20 33 32 20 7c 7c 20 63 68 20 3e 20 | ............if.(ch.<.32.||.ch.>. |
| 2780 | 31 32 36 29 20 7b 00 00 00 10 20 20 20 20 20 20 20 20 63 68 20 3d 20 33 32 3b 00 00 00 05 20 20 | 126).{............ch.=.32;...... |
| 27a0 | 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 32 20 20 20 20 67 6c 79 70 68 20 3d 20 66 6f 6e 74 5f | ..}...........2....glyph.=.font_ |
| 27c0 | 64 61 74 61 20 2b 20 28 28 63 68 20 2d 20 33 32 29 20 2a 20 66 6f 6e 74 5f 68 65 69 67 68 74 29 | data.+.((ch.-.32).*.font_height) |
| 27e0 | 3b 00 00 00 04 20 20 20 20 00 00 00 2a 20 20 20 20 66 6f 72 20 28 63 79 20 3d 20 30 3b 20 63 79 | ;...........*....for.(cy.=.0;.cy |
| 2800 | 20 3c 20 66 6f 6e 74 5f 68 65 69 67 68 74 3b 20 63 79 2b 2b 29 20 7b 00 00 00 2d 20 20 20 20 20 | .<.font_height;.cy++).{...-..... |
| 2820 | 20 20 20 66 6f 72 20 28 63 78 20 3d 20 30 3b 20 63 78 20 3c 20 66 6f 6e 74 5f 77 69 64 74 68 3b | ...for.(cx.=.0;.cx.<.font_width; |
| 2840 | 20 63 78 2b 2b 29 20 7b 00 00 00 3b 20 20 20 20 20 20 20 20 20 20 20 20 62 69 74 20 3d 20 28 67 | .cx++).{...;............bit.=.(g |
| 2860 | 6c 79 70 68 5b 63 79 5d 20 3e 3e 20 28 66 6f 6e 74 5f 77 69 64 74 68 20 2d 20 31 20 2d 20 63 78 | lyph[cy].>>.(font_width.-.1.-.cx |
| 2880 | 29 29 20 26 20 31 3b 00 00 00 16 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 62 69 74 29 20 | )).&.1;................if.(bit). |
| 28a0 | 7b 00 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 70 78 20 3d 20 78 20 | {....................int.px.=.x. |
| 28c0 | 2b 20 63 78 3b 00 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 70 79 20 | +.cx;....................int.py. |
| 28e0 | 3d 20 79 20 2b 20 63 79 3b 00 00 00 54 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 | =.y.+.cy;...T................if. |
| 2900 | 28 70 78 20 3e 3d 20 30 20 26 26 20 70 78 20 3c 20 77 69 6e 64 6f 77 5f 77 69 64 74 68 20 26 26 | (px.>=.0.&&.px.<.window_width.&& |
| 2920 | 20 70 79 20 3e 3d 20 30 20 26 26 20 70 79 20 3c 20 77 69 6e 64 6f 77 5f 68 65 69 67 68 74 29 20 | .py.>=.0.&&.py.<.window_height). |
| 2940 | 7b 00 00 00 34 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 69 64 78 | {...4....................int.idx |
| 2960 | 20 3d 20 28 70 79 20 2a 20 70 69 74 63 68 20 2b 20 70 78 29 20 2a 20 34 3b 00 00 00 28 20 20 20 | .=.(py.*.pitch.+.px).*.4;...(... |
| 2980 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 5b 69 64 78 20 2b 20 30 5d 20 3d | .................data[idx.+.0].= |
| 29a0 | 20 32 35 35 3b 00 00 00 28 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 | .255;...(....................dat |
| 29c0 | 61 5b 69 64 78 20 2b 20 31 5d 20 3d 20 32 35 35 3b 00 00 00 28 20 20 20 20 20 20 20 20 20 20 20 | a[idx.+.1].=.255;...(........... |
| 29e0 | 20 20 20 20 20 20 20 20 20 64 61 74 61 5b 69 64 78 20 2b 20 32 5d 20 3d 20 32 35 35 3b 00 00 00 | .........data[idx.+.2].=.255;... |
| 2a00 | 28 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 5b 69 64 78 20 2b 20 | (....................data[idx.+. |
| 2a20 | 33 5d 20 3d 20 32 35 35 3b 00 00 00 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 00 | 3].=.255;....................}.. |
| 2a40 | 00 0d 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 05 | ..............}............}.... |
| 2a60 | 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 43 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 | ....}....}.......Cstatic.void.dr |
| 2a80 | 61 77 5f 73 63 72 65 65 6e 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 64 61 74 61 2c 20 69 | aw_screen(unsigned.char.*data,.i |
| 2aa0 | 6e 74 20 77 69 64 74 68 2c 20 69 6e 74 20 68 65 69 67 68 74 29 00 00 00 01 7b 00 00 00 1c 20 20 | nt.width,.int.height)....{...... |
| 2ac0 | 20 20 69 6e 74 20 78 2c 20 79 2c 20 70 69 74 63 68 20 3d 20 77 69 64 74 68 3b 00 00 00 04 20 20 | ..int.x,.y,.pitch.=.width;...... |
| 2ae0 | 20 20 00 00 00 22 20 20 20 20 66 6f 72 20 28 79 20 3d 20 30 3b 20 79 20 3c 20 68 65 69 67 68 74 | ....."....for.(y.=.0;.y.<.height |
| 2b00 | 3b 20 79 2b 2b 29 20 7b 00 00 00 25 20 20 20 20 20 20 20 20 66 6f 72 20 28 78 20 3d 20 30 3b 20 | ;.y++).{...%........for.(x.=.0;. |
| 2b20 | 78 20 3c 20 77 69 64 74 68 3b 20 78 2b 2b 29 20 7b 00 00 00 2a 20 20 20 20 20 20 20 20 20 20 20 | x.<.width;.x++).{...*........... |
| 2b40 | 20 69 6e 74 20 69 64 78 20 3d 20 28 79 20 2a 20 70 69 74 63 68 20 2b 20 78 29 20 2a 20 34 3b 00 | .int.idx.=.(y.*.pitch.+.x).*.4;. |
| 2b60 | 00 00 1e 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 5b 69 64 78 20 2b 20 30 5d 20 3d 20 30 | ...............data[idx.+.0].=.0 |
| 2b80 | 3b 00 00 00 1e 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 5b 69 64 78 20 2b 20 31 5d 20 3d | ;................data[idx.+.1].= |
| 2ba0 | 20 30 3b 00 00 00 1f 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 5b 69 64 78 20 2b 20 32 5d | .0;................data[idx.+.2] |
| 2bc0 | 20 3d 20 33 32 3b 00 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 5b 69 64 78 20 2b | .=.32;................data[idx.+ |
| 2be0 | 20 33 5d 20 3d 20 32 35 35 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d | .3].=.255;............}........} |
| 2c00 | 00 00 00 04 20 20 20 20 00 00 00 20 20 20 20 20 66 6f 72 20 28 79 20 3d 20 30 3b 20 79 20 3c 20 | ................for.(y.=.0;.y.<. |
| 2c20 | 72 6f 77 73 3b 20 79 2b 2b 29 20 7b 00 00 00 24 20 20 20 20 20 20 20 20 66 6f 72 20 28 78 20 3d | rows;.y++).{...$........for.(x.= |
| 2c40 | 20 30 3b 20 78 20 3c 20 63 6f 6c 73 3b 20 78 2b 2b 29 20 7b 00 00 00 49 20 20 20 20 20 20 20 20 | .0;.x.<.cols;.x++).{...I........ |
| 2c60 | 20 20 20 20 64 72 61 77 5f 63 68 61 72 28 64 61 74 61 2c 20 70 69 74 63 68 2c 20 78 20 2a 20 63 | ....draw_char(data,.pitch,.x.*.c |
| 2c80 | 68 61 72 5f 77 69 64 74 68 2c 20 79 20 2a 20 63 68 61 72 5f 68 65 69 67 68 74 2c 20 27 20 27 29 | har_width,.y.*.char_height,.'.') |
| 2ca0 | 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 | ;............}........}......... |
| 2cc0 | 00 00 4f 20 20 20 20 64 72 61 77 5f 63 68 61 72 28 64 61 74 61 2c 20 70 69 74 63 68 2c 20 63 75 | ..O....draw_char(data,.pitch,.cu |
| 2ce0 | 72 73 6f 72 5f 78 20 2a 20 63 68 61 72 5f 77 69 64 74 68 2c 20 63 75 72 73 6f 72 5f 79 20 2a 20 | rsor_x.*.char_width,.cursor_y.*. |
| 2d00 | 63 68 61 72 5f 68 65 69 67 68 74 2c 20 27 5f 27 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 27 73 | char_height,.'_');....}.......'s |
| 2d20 | 74 61 74 69 63 20 69 6e 74 20 63 72 65 61 74 65 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 5f 74 | tatic.int.create_shm_file(size_t |
| 2d40 | 20 73 69 7a 65 29 00 00 00 01 7b 00 00 00 0b 20 20 20 20 69 6e 74 20 66 64 3b 00 00 00 2b 20 20 | .size)....{........int.fd;...+.. |
| 2d60 | 20 20 63 68 61 72 20 74 65 6d 70 6c 61 74 65 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 6c 2d 73 68 6d | ..char.template[].=."/tmp/wl-shm |
| 2d80 | 2d 58 58 58 58 58 58 22 3b 00 00 00 04 20 20 20 20 00 00 00 1b 20 20 20 20 66 64 20 3d 20 6d 6b | -XXXXXX";................fd.=.mk |
| 2da0 | 73 74 65 6d 70 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 11 20 20 20 20 69 66 20 28 66 64 20 3c | stemp(template);........if.(fd.< |
| 2dc0 | 20 30 29 20 7b 00 00 00 12 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 2d 31 3b 00 00 00 05 20 | .0).{............return.-1;..... |
| 2de0 | 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 29 20 20 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 | ...}...........)....if.(ftruncat |
| 2e00 | 65 28 66 64 2c 20 28 6f 66 66 5f 74 29 73 69 7a 65 29 20 3c 20 30 29 20 7b 00 00 00 12 20 20 20 | e(fd,.(off_t)size).<.0).{....... |
| 2e20 | 20 20 20 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 19 20 20 20 20 20 20 20 20 75 6e 6c 69 6e | .....close(fd);............unlin |
| 2e40 | 6b 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 12 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 2d | k(template);............return.- |
| 2e60 | 31 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 15 20 20 20 20 75 6e 6c 69 6e | 1;........}................unlin |
| 2e80 | 6b 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 0e 20 20 20 20 72 65 74 75 72 6e 20 66 64 3b 00 00 | k(template);........return.fd;.. |
| 2ea0 | 00 01 7d 00 00 00 00 00 00 00 3d 73 74 61 74 69 63 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 | ..}.......=static.struct.wl_buff |
| 2ec0 | 65 72 20 2a 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 69 6e 74 20 77 69 64 74 68 2c 20 69 6e 74 | er.*create_buffer(int.width,.int |
| 2ee0 | 20 68 65 69 67 68 74 29 00 00 00 01 7b 00 00 00 1b 20 20 20 20 69 6e 74 20 73 74 72 69 64 65 20 | .height)....{........int.stride. |
| 2f00 | 3d 20 77 69 64 74 68 20 2a 20 34 3b 00 00 00 1f 20 20 20 20 69 6e 74 20 73 69 7a 65 20 3d 20 73 | =.width.*.4;........int.size.=.s |
| 2f20 | 74 72 69 64 65 20 2a 20 68 65 69 67 68 74 3b 00 00 00 0b 20 20 20 20 69 6e 74 20 66 64 3b 00 00 | tride.*.height;........int.fd;.. |
| 2f40 | 00 1d 20 20 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 3b 00 | ......struct.wl_shm_pool.*pool;. |
| 2f60 | 00 00 1d 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 66 65 72 3b | .......struct.wl_buffer.*buffer; |
| 2f80 | 00 00 00 04 20 20 20 20 00 00 00 1f 20 20 20 20 66 64 20 3d 20 63 72 65 61 74 65 5f 73 68 6d 5f | ................fd.=.create_shm_ |
| 2fa0 | 66 69 6c 65 28 73 69 7a 65 29 3b 00 00 00 11 20 20 20 20 69 66 20 28 66 64 20 3c 20 30 29 20 7b | file(size);........if.(fd.<.0).{ |
| 2fc0 | 00 00 00 4c 20 20 20 20 20 20 20 20 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 66 61 69 | ...L........fprintf(stderr,."fai |
| 2fe0 | 6c 65 64 20 74 6f 20 63 72 65 61 74 65 20 73 68 6d 20 66 69 6c 65 3a 20 25 73 5c 6e 22 2c 20 73 | led.to.create.shm.file:.%s\n",.s |
| 3000 | 74 72 65 72 72 6f 72 28 65 72 72 6e 6f 29 29 3b 00 00 00 14 20 20 20 20 20 20 20 20 72 65 74 75 | trerror(errno));............retu |
| 3020 | 72 6e 20 4e 55 4c 4c 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 4d 20 20 20 | rn.NULL;........}...........M... |
| 3040 | 20 70 69 78 65 6c 5f 64 61 74 61 20 3d 20 6d 6d 61 70 28 4e 55 4c 4c 2c 20 73 69 7a 65 2c 20 50 | .pixel_data.=.mmap(NULL,.size,.P |
| 3060 | 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 |
| 3080 | 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 23 20 20 20 20 69 66 20 28 70 69 78 65 6c 5f 64 61 74 61 | D,.fd,.0);...#....if.(pixel_data |
| 30a0 | 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 20 7b 00 00 00 45 20 20 20 20 20 20 20 20 66 70 72 | .==.MAP_FAILED).{...E........fpr |
| 30c0 | 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 66 61 69 6c 65 64 20 74 6f 20 6d 6d 61 70 20 73 68 6d | intf(stderr,."failed.to.mmap.shm |
| 30e0 | 3a 20 25 73 5c 6e 22 2c 20 73 74 72 65 72 72 6f 72 28 65 72 72 6e 6f 29 29 3b 00 00 00 12 20 20 | :.%s\n",.strerror(errno));...... |
| 3100 | 20 20 20 20 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 14 20 20 20 20 20 20 20 20 72 65 74 75 | ......close(fd);............retu |
| 3120 | 72 6e 20 4e 55 4c 4c 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 2b 20 20 20 | rn.NULL;........}...........+... |
| 3140 | 20 64 72 61 77 5f 73 63 72 65 65 6e 28 70 69 78 65 6c 5f 64 61 74 61 2c 20 77 69 64 74 68 2c 20 | .draw_screen(pixel_data,.width,. |
| 3160 | 68 65 69 67 68 74 29 3b 00 00 00 04 20 20 20 20 00 00 00 2d 20 20 20 20 70 6f 6f 6c 20 3d 20 77 | height);...........-....pool.=.w |
| 3180 | 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f 70 6f 6f 6c 28 73 68 6d 2c 20 66 64 2c 20 73 69 7a 65 29 | l_shm_create_pool(shm,.fd,.size) |
| 31a0 | 3b 00 00 00 46 20 20 20 20 62 75 66 66 65 72 20 3d 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 72 | ;...F....buffer.=.wl_shm_pool_cr |
| 31c0 | 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c 20 30 2c 20 77 69 64 74 68 2c 20 68 65 69 67 | eate_buffer(pool,.0,.width,.heig |
| 31e0 | 68 74 2c 20 73 74 72 69 64 65 2c 00 00 00 3f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ht,.stride,...?................. |
| 3200 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 4c 5f 53 48 4d 5f 46 4f 52 | ......................WL_SHM_FOR |
| 3220 | 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 1e 20 20 20 20 77 6c 5f 73 68 6d 5f 70 6f 6f | MAT_ARGB8888);........wl_shm_poo |
| 3240 | 6c 5f 64 65 73 74 72 6f 79 28 70 6f 6f 6c 29 3b 00 00 00 0e 20 20 20 20 63 6c 6f 73 65 28 66 64 | l_destroy(pool);........close(fd |
| 3260 | 29 3b 00 00 00 04 20 20 20 20 00 00 00 12 20 20 20 20 72 65 74 75 72 6e 20 62 75 66 66 65 72 3b | );................return.buffer; |
| 3280 | 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 64 65 73 74 72 6f 79 | ....}........static.void.destroy |
| 32a0 | 5f 62 75 66 66 65 72 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 18 20 20 20 20 69 66 20 28 77 69 | _buffer(void)....{........if.(wi |
| 32c0 | 6e 64 6f 77 5f 62 75 66 66 65 72 29 20 7b 00 00 00 29 20 20 20 20 20 20 20 20 77 6c 5f 62 75 66 | ndow_buffer).{...)........wl_buf |
| 32e0 | 66 65 72 5f 64 65 73 74 72 6f 79 28 77 69 6e 64 6f 77 5f 62 75 66 66 65 72 29 3b 00 00 00 1d 20 | fer_destroy(window_buffer);..... |
| 3300 | 20 20 20 20 20 20 20 77 69 6e 64 6f 77 5f 62 75 66 66 65 72 20 3d 20 4e 55 4c 4c 3b 00 00 00 05 | .......window_buffer.=.NULL;.... |
| 3320 | 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 15 20 20 20 20 69 66 20 28 70 69 78 65 6c 5f 64 | ....}................if.(pixel_d |
| 3340 | 61 74 61 29 20 7b 00 00 00 3d 20 20 20 20 20 20 20 20 6d 75 6e 6d 61 70 28 70 69 78 65 6c 5f 64 | ata).{...=........munmap(pixel_d |
| 3360 | 61 74 61 2c 20 77 69 6e 64 6f 77 5f 77 69 64 74 68 20 2a 20 77 69 6e 64 6f 77 5f 68 65 69 67 68 | ata,.window_width.*.window_heigh |
| 3380 | 74 20 2a 20 34 29 3b 00 00 00 1a 20 20 20 20 20 20 20 20 70 69 78 65 6c 5f 64 61 74 61 20 3d 20 | t.*.4);............pixel_data.=. |
| 33a0 | 4e 55 4c 4c 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 30 73 74 61 74 69 | NULL;........}....}.......0stati |
| 33c0 | 63 20 76 6f 69 64 20 72 65 73 69 7a 65 5f 77 69 6e 64 6f 77 28 69 6e 74 20 77 69 64 74 68 2c 20 | c.void.resize_window(int.width,. |
| 33e0 | 69 6e 74 20 68 65 69 67 68 74 29 00 00 00 01 7b 00 00 00 24 20 20 20 20 69 66 20 28 77 69 64 74 | int.height)....{...$....if.(widt |
| 3400 | 68 20 3c 3d 20 30 20 7c 7c 20 68 65 69 67 68 74 20 3c 3d 20 30 29 20 7b 00 00 00 0f 20 20 20 20 | h.<=.0.||.height.<=.0).{........ |
| 3420 | 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 1e | ....return;........}............ |
| 3440 | 20 20 20 20 63 6f 6c 73 20 3d 20 77 69 64 74 68 20 2f 20 63 68 61 72 5f 77 69 64 74 68 3b 00 00 | ....cols.=.width./.char_width;.. |
| 3460 | 00 20 20 20 20 20 72 6f 77 73 20 3d 20 68 65 69 67 68 74 20 2f 20 63 68 61 72 5f 68 65 69 67 68 | ......rows.=.height./.char_heigh |
| 3480 | 74 3b 00 00 00 04 20 20 20 20 00 00 00 1b 20 20 20 20 69 66 20 28 63 6f 6c 73 20 3c 20 31 29 20 | t;................if.(cols.<.1). |
| 34a0 | 63 6f 6c 73 20 3d 20 31 3b 00 00 00 1b 20 20 20 20 69 66 20 28 72 6f 77 73 20 3c 20 31 29 20 72 | cols.=.1;........if.(rows.<.1).r |
| 34c0 | 6f 77 73 20 3d 20 31 3b 00 00 00 04 20 20 20 20 00 00 00 15 20 20 20 20 64 65 73 74 72 6f 79 5f | ows.=.1;................destroy_ |
| 34e0 | 62 75 66 66 65 72 28 29 3b 00 00 00 19 20 20 20 20 77 69 6e 64 6f 77 5f 77 69 64 74 68 20 3d 20 | buffer();........window_width.=. |
| 3500 | 77 69 64 74 68 3b 00 00 00 1b 20 20 20 20 77 69 6e 64 6f 77 5f 68 65 69 67 68 74 20 3d 20 68 65 | width;........window_height.=.he |
| 3520 | 69 67 68 74 3b 00 00 00 3f 20 20 20 20 77 69 6e 64 6f 77 5f 62 75 66 66 65 72 20 3d 20 63 72 65 | ight;...?....window_buffer.=.cre |
| 3540 | 61 74 65 5f 62 75 66 66 65 72 28 77 69 6e 64 6f 77 5f 77 69 64 74 68 2c 20 77 69 6e 64 6f 77 5f | ate_buffer(window_width,.window_ |
| 3560 | 68 65 69 67 68 74 29 3b 00 00 00 15 20 20 20 20 6e 65 65 64 73 5f 72 65 73 69 7a 65 20 3d 20 30 | height);........needs_resize.=.0 |
| 3580 | 3b 00 00 00 04 20 20 20 20 00 00 00 1a 20 20 20 20 69 66 20 28 70 74 79 5f 6d 61 73 74 65 72 20 | ;................if.(pty_master. |
| 35a0 | 3e 3d 20 30 29 20 7b 00 00 00 1a 20 20 20 20 20 20 20 20 73 74 72 75 63 74 20 77 69 6e 73 69 7a | >=.0).{............struct.winsiz |
| 35c0 | 65 20 77 73 3b 00 00 00 19 20 20 20 20 20 20 20 20 77 73 2e 77 73 5f 72 6f 77 20 3d 20 72 6f 77 | e.ws;............ws.ws_row.=.row |
| 35e0 | 73 3b 00 00 00 19 20 20 20 20 20 20 20 20 77 73 2e 77 73 5f 63 6f 6c 20 3d 20 63 6f 6c 73 3b 00 | s;............ws.ws_col.=.cols;. |
| 3600 | 00 00 1d 20 20 20 20 20 20 20 20 77 73 2e 77 73 5f 78 70 69 78 65 6c 20 3d 20 77 69 64 74 68 3b | ...........ws.ws_xpixel.=.width; |
| 3620 | 00 00 00 1e 20 20 20 20 20 20 20 20 77 73 2e 77 73 5f 79 70 69 78 65 6c 20 3d 20 68 65 69 67 68 | ............ws.ws_ypixel.=.heigh |
| 3640 | 74 3b 00 00 00 2b 20 20 20 20 20 20 20 20 69 6f 63 74 6c 28 70 74 79 5f 6d 61 73 74 65 72 2c 20 | t;...+........ioctl(pty_master,. |
| 3660 | 54 49 4f 43 53 57 49 4e 53 5a 2c 20 26 77 73 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 | TIOCSWINSZ,.&ws);........}....}. |
| 3680 | 00 00 00 00 00 00 4f 73 74 61 74 69 63 20 76 6f 69 64 20 66 72 61 6d 65 5f 64 6f 6e 65 28 76 6f | ......Ostatic.void.frame_done(vo |
| 36a0 | 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 20 2a 63 61 | id.*data,.struct.wl_callback.*ca |
| 36c0 | 6c 6c 62 61 63 6b 2c 20 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 29 00 00 00 01 7b 00 00 00 13 20 | llback,.uint32_t.time)....{..... |
| 36e0 | 20 20 20 69 66 20 28 63 61 6c 6c 62 61 63 6b 29 20 7b 00 00 00 26 20 20 20 20 20 20 20 20 77 6c | ...if.(callback).{...&........wl |
| 3700 | 5f 63 61 6c 6c 62 61 63 6b 5f 64 65 73 74 72 6f 79 28 63 61 6c 6c 62 61 63 6b 29 3b 00 00 00 05 | _callback_destroy(callback);.... |
| 3720 | 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 17 20 20 20 20 69 66 20 28 6e 65 65 64 73 5f 72 | ....}................if.(needs_r |
| 3740 | 65 73 69 7a 65 29 20 7b 00 00 00 35 20 20 20 20 20 20 20 20 72 65 73 69 7a 65 5f 77 69 6e 64 6f | esize).{...5........resize_windo |
| 3760 | 77 28 70 65 6e 64 69 6e 67 5f 77 69 64 74 68 2c 20 70 65 6e 64 69 6e 67 5f 68 65 69 67 68 74 29 | w(pending_width,.pending_height) |
| 3780 | 3b 00 00 00 1a 20 20 20 20 20 20 20 20 70 65 6e 64 69 6e 67 5f 77 69 64 74 68 20 3d 20 30 3b 00 | ;............pending_width.=.0;. |
| 37a0 | 00 00 1b 20 20 20 20 20 20 20 20 70 65 6e 64 69 6e 67 5f 68 65 69 67 68 74 20 3d 20 30 3b 00 00 | ...........pending_height.=.0;.. |
| 37c0 | 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 39 20 20 20 20 64 72 61 77 5f 73 63 72 65 | ......}...........9....draw_scre |
| 37e0 | 65 6e 28 70 69 78 65 6c 5f 64 61 74 61 2c 20 77 69 6e 64 6f 77 5f 77 69 64 74 68 2c 20 77 69 6e | en(pixel_data,.window_width,.win |
| 3800 | 64 6f 77 5f 68 65 69 67 68 74 29 3b 00 00 00 04 20 20 20 20 00 00 00 18 20 20 20 20 69 66 20 28 | dow_height);................if.( |
| 3820 | 77 69 6e 64 6f 77 5f 62 75 66 66 65 72 29 20 7b 00 00 00 38 20 20 20 20 20 20 20 20 77 6c 5f 73 | window_buffer).{...8........wl_s |
| 3840 | 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 73 75 72 66 61 63 65 2c 20 77 69 6e 64 6f 77 5f 62 75 | urface_attach(surface,.window_bu |
| 3860 | 66 66 65 72 2c 20 30 2c 20 30 29 3b 00 00 00 46 20 20 20 20 20 20 20 20 77 6c 5f 73 75 72 66 61 | ffer,.0,.0);...F........wl_surfa |
| 3880 | 63 65 5f 64 61 6d 61 67 65 28 73 75 72 66 61 63 65 2c 20 30 2c 20 30 2c 20 77 69 6e 64 6f 77 5f | ce_damage(surface,.0,.0,.window_ |
| 38a0 | 77 69 64 74 68 2c 20 77 69 6e 64 6f 77 5f 68 65 69 67 68 74 29 3b 00 00 00 05 20 20 20 20 7d 00 | width,.window_height);........}. |
| 38c0 | 00 00 04 20 20 20 20 00 00 00 3f 20 20 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 | ..........?....static.const.stru |
| 38e0 | 63 74 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 5f 6c 69 73 74 65 6e 65 72 20 66 72 61 6d 65 5f 6c 69 | ct.wl_callback_listener.frame_li |
| 3900 | 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 1a 20 20 20 20 20 20 20 20 2e 64 6f 6e 65 20 3d 20 66 72 | stener.=.{.............done.=.fr |
| 3920 | 61 6d 65 5f 64 6f 6e 65 00 00 00 06 20 20 20 20 7d 3b 00 00 00 04 20 20 20 20 00 00 00 2f 20 20 | ame_done........};.........../.. |
| 3940 | 20 20 66 72 61 6d 65 5f 63 61 6c 6c 62 61 63 6b 20 3d 20 77 6c 5f 73 75 72 66 61 63 65 5f 66 72 | ..frame_callback.=.wl_surface_fr |
| 3960 | 61 6d 65 28 73 75 72 66 61 63 65 29 3b 00 00 00 44 20 20 20 20 77 6c 5f 63 61 6c 6c 62 61 63 6b | ame(surface);...D....wl_callback |
| 3980 | 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 66 72 61 6d 65 5f 63 61 6c 6c 62 61 63 6b 2c 20 26 66 | _add_listener(frame_callback,.&f |
| 39a0 | 72 61 6d 65 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 1f 20 20 20 20 77 6c 5f | rame_listener,.NULL);........wl_ |
| 39c0 | 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 73 75 72 66 61 63 65 29 3b 00 00 00 01 7d 00 00 00 | surface_commit(surface);....}... |
| 39e0 | 00 00 00 00 5a 73 74 61 74 69 63 20 76 6f 69 64 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 69 6e | ....Zstatic.void.xdg_wm_base_pin |
| 3a00 | 67 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 | g(void.*data,.struct.xdg_wm_base |
| 3a20 | 20 2a 78 64 67 5f 77 6d 5f 62 61 73 65 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 00 | .*xdg_wm_base,.uint32_t.serial). |
| 3a40 | 00 00 01 7b 00 00 00 2a 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 78 64 67 | ...{...*....xdg_wm_base_pong(xdg |
| 3a60 | 5f 77 6d 5f 62 61 73 65 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 3d 73 | _wm_base,.serial);....}.......=s |
| 3a80 | 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 5f 6c | tatic.const.struct.xdg_wm_base_l |
| 3aa0 | 69 73 74 65 6e 65 72 20 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 1d | istener.wm_base_listener.=.{.... |
| 3ac0 | 20 20 20 20 2e 70 69 6e 67 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 69 6e 67 2c 00 00 00 | .....ping.=.xdg_wm_base_ping,... |
| 3ae0 | 02 7d 3b 00 00 00 00 00 00 00 51 73 74 61 74 69 63 20 76 6f 69 64 20 78 64 67 5f 74 6f 70 6c 65 | .};.......Qstatic.void.xdg_tople |
| 3b00 | 76 65 6c 5f 63 6f 6e 66 69 67 75 72 65 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 | vel_configure(void.*data,.struct |
| 3b20 | 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 64 67 5f 74 6f 70 6c 65 76 65 6c 2c 00 00 00 51 | .xdg_toplevel.*xdg_toplevel,...Q |
| 3b40 | 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 | ................................ |
| 3b60 | 20 20 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 72 75 63 74 20 | ...int32_t.w,.int32_t.h,.struct. |
| 3b80 | 77 6c 5f 61 72 72 61 79 20 2a 73 74 61 74 65 73 29 00 00 00 01 7b 00 00 00 19 20 20 20 20 69 66 | wl_array.*states)....{........if |
| 3ba0 | 20 28 77 20 3e 20 30 20 26 26 20 68 20 3e 20 30 29 20 7b 00 00 00 1a 20 20 20 20 20 20 20 20 70 | .(w.>.0.&&.h.>.0).{............p |
| 3bc0 | 65 6e 64 69 6e 67 5f 77 69 64 74 68 20 3d 20 77 3b 00 00 00 1b 20 20 20 20 20 20 20 20 70 65 6e | ending_width.=.w;............pen |
| 3be0 | 64 69 6e 67 5f 68 65 69 67 68 74 20 3d 20 68 3b 00 00 00 19 20 20 20 20 20 20 20 20 6e 65 65 64 | ding_height.=.h;............need |
| 3c00 | 73 5f 72 65 73 69 7a 65 20 3d 20 31 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 | s_resize.=.1;........}....}..... |
| 3c20 | 00 00 4d 73 74 61 74 69 63 20 76 6f 69 64 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 63 6c 6f 73 | ..Mstatic.void.xdg_toplevel_clos |
| 3c40 | 65 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 | e(void.*data,.struct.xdg_topleve |
| 3c60 | 6c 20 2a 78 64 67 5f 74 6f 70 6c 65 76 65 6c 29 00 00 00 01 7b 00 00 00 1c 20 20 20 20 70 75 74 | l.*xdg_toplevel)....{........put |
| 3c80 | 73 28 22 74 65 72 6d 69 6e 61 6c 20 63 6c 6f 73 65 64 22 29 3b 00 00 00 10 20 20 20 20 72 75 6e | s("terminal.closed");........run |
| 3ca0 | 6e 69 6e 67 20 3d 20 30 3b 00 00 00 01 7d 00 00 00 00 00 00 00 3f 73 74 61 74 69 63 20 63 6f 6e | ning.=.0;....}.......?static.con |
| 3cc0 | 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 72 20 | st.struct.xdg_toplevel_listener. |
| 3ce0 | 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 28 20 20 20 20 2e 63 6f | toplevel_listener.=.{...(.....co |
| 3d00 | 6e 66 69 67 75 72 65 20 3d 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 63 6f 6e 66 69 67 75 72 65 | nfigure.=.xdg_toplevel_configure |
| 3d20 | 2c 00 00 00 20 20 20 20 20 2e 63 6c 6f 73 65 20 3d 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 63 | ,.........close.=.xdg_toplevel_c |
| 3d40 | 6c 6f 73 65 2c 00 00 00 02 7d 3b 00 00 00 00 00 00 00 5f 73 74 61 74 69 63 20 76 6f 69 64 20 78 | lose,....};......._static.void.x |
| 3d60 | 64 67 5f 73 75 72 66 61 63 65 5f 63 6f 6e 66 69 67 75 72 65 28 76 6f 69 64 20 2a 64 61 74 61 2c | dg_surface_configure(void.*data, |
| 3d80 | 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 64 67 5f 73 75 72 66 61 63 65 | .struct.xdg_surface.*xdg_surface |
| 3da0 | 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 00 00 00 01 7b 00 00 00 33 20 20 20 20 78 | ,.uint32_t.serial)....{...3....x |
| 3dc0 | 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 64 67 5f 73 75 72 | dg_surface_ack_configure(xdg_sur |
| 3de0 | 66 61 63 65 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 04 20 20 20 20 00 00 00 19 20 20 20 20 69 66 | face,.serial);................if |
| 3e00 | 20 28 21 77 69 6e 64 6f 77 5f 62 75 66 66 65 72 29 20 7b 00 00 00 43 20 20 20 20 20 20 20 20 77 | .(!window_buffer).{...C........w |
| 3e20 | 69 6e 64 6f 77 5f 62 75 66 66 65 72 20 3d 20 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 77 69 6e | indow_buffer.=.create_buffer(win |
| 3e40 | 64 6f 77 5f 77 69 64 74 68 2c 20 77 69 6e 64 6f 77 5f 68 65 69 67 68 74 29 3b 00 00 00 22 20 20 | dow_width,.window_height);...".. |
| 3e60 | 20 20 20 20 20 20 66 72 61 6d 65 5f 64 6f 6e 65 28 4e 55 4c 4c 2c 20 4e 55 4c 4c 2c 20 30 29 3b | ......frame_done(NULL,.NULL,.0); |
| 3e80 | 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 41 73 74 61 74 69 63 20 63 6f 6e | ........}....}.......Astatic.con |
| 3ea0 | 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 72 20 78 | st.struct.xdg_surface_listener.x |
| 3ec0 | 64 67 5f 73 75 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 27 20 20 20 20 2e | dg_surface_listener.=.{...'..... |
| 3ee0 | 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 64 67 5f 73 75 72 66 61 63 65 5f 63 6f 6e 66 69 67 75 72 | configure.=.xdg_surface_configur |
| 3f00 | 65 2c 00 00 00 02 7d 3b 00 00 00 00 00 00 00 48 73 74 61 74 69 63 20 76 6f 69 64 20 6b 65 79 62 | e,....};.......Hstatic.void.keyb |
| 3f20 | 6f 61 72 64 5f 6b 65 79 6d 61 70 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 | oard_keymap(void.*data,.struct.w |
| 3f40 | 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 77 6c 5f 6b 65 79 62 6f 61 72 64 2c 00 00 00 47 20 20 20 20 | l_keyboard.*wl_keyboard,...G.... |
| 3f60 | 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 33 32 5f 74 | ........................uint32_t |
| 3f80 | 20 66 6f 72 6d 61 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 | .format,.int32_t.fd,.uint32_t.si |
| 3fa0 | 7a 65 29 00 00 00 01 7b 00 00 00 0e 20 20 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 01 7d 00 | ze)....{........close(fd);....}. |
| 3fc0 | 00 00 00 00 00 00 47 73 74 61 74 69 63 20 76 6f 69 64 20 6b 65 79 62 6f 61 72 64 5f 65 6e 74 65 | ......Gstatic.void.keyboard_ente |
| 3fe0 | 72 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 | r(void.*data,.struct.wl_keyboard |
| 4000 | 20 2a 77 6c 5f 6b 65 79 62 6f 61 72 64 2c 00 00 00 47 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .*wl_keyboard,...G.............. |
| 4020 | 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 2c 20 73 74 | .............uint32_t.serial,.st |
| 4040 | 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 72 66 61 63 65 2c 00 00 00 31 20 20 20 | ruct.wl_surface.*surface,...1... |
| 4060 | 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 20 77 | ........................struct.w |
| 4080 | 6c 5f 61 72 72 61 79 20 2a 6b 65 79 73 29 00 00 00 01 7b 00 00 00 01 7d 00 00 00 00 00 00 00 47 | l_array.*keys)....{....}.......G |
| 40a0 | 73 74 61 74 69 63 20 76 6f 69 64 20 6b 65 79 62 6f 61 72 64 5f 6c 65 61 76 65 28 76 6f 69 64 20 | static.void.keyboard_leave(void. |
| 40c0 | 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 77 6c 5f 6b 65 | *data,.struct.wl_keyboard.*wl_ke |
| 40e0 | 79 62 6f 61 72 64 2c 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 | yboard,...G..................... |
| 4100 | 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 2c 20 73 74 72 75 63 74 20 77 6c | ......uint32_t.serial,.struct.wl |
| 4120 | 5f 73 75 72 66 61 63 65 20 2a 73 75 72 66 61 63 65 29 00 00 00 01 7b 00 00 00 01 7d 00 00 00 00 | _surface.*surface)....{....}.... |
| 4140 | 00 00 00 45 73 74 61 74 69 63 20 76 6f 69 64 20 6b 65 79 62 6f 61 72 64 5f 6b 65 79 28 76 6f 69 | ...Estatic.void.keyboard_key(voi |
| 4160 | 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 77 6c 5f | d.*data,.struct.wl_keyboard.*wl_ |
| 4180 | 6b 65 79 62 6f 61 72 64 2c 00 00 00 46 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | keyboard,...F................... |
| 41a0 | 20 20 20 20 20 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 | ......uint32_t.serial,.uint32_t. |
| 41c0 | 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 6b 65 79 2c 00 00 00 28 20 20 20 20 20 20 20 20 20 | time,.uint32_t.key,...(......... |
| 41e0 | 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 74 61 74 65 29 00 | ................uint32_t.state). |
| 4200 | 00 00 01 7b 00 00 00 44 20 20 20 20 69 66 20 28 73 74 61 74 65 20 3d 3d 20 57 4c 5f 4b 45 59 42 | ...{...D....if.(state.==.WL_KEYB |
| 4220 | 4f 41 52 44 5f 4b 45 59 5f 53 54 41 54 45 5f 50 52 45 53 53 45 44 20 26 26 20 70 74 79 5f 6d 61 | OARD_KEY_STATE_PRESSED.&&.pty_ma |
| 4240 | 73 74 65 72 20 3e 3d 20 30 29 20 7b 00 00 00 13 20 20 20 20 20 20 20 20 63 68 61 72 20 63 20 3d | ster.>=.0).{............char.c.= |
| 4260 | 20 30 3b 00 00 00 08 20 20 20 20 20 20 20 20 00 00 00 23 20 20 20 20 20 20 20 20 69 66 20 28 6b | .0;...............#........if.(k |
| 4280 | 65 79 20 3e 3d 20 38 20 26 26 20 6b 65 79 20 3c 3d 20 39 29 20 7b 00 00 00 29 20 20 20 20 20 20 | ey.>=.8.&&.key.<=.9).{...)...... |
| 42a0 | 20 20 20 20 20 20 63 20 3d 20 28 6b 65 79 20 3d 3d 20 38 29 20 3f 20 30 78 37 66 20 3a 20 30 78 | ......c.=.(key.==.8).?.0x7f.:.0x |
| 42c0 | 30 39 3b 00 00 00 2c 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 6b 65 79 20 3e 3d | 09;...,........}.else.if.(key.>= |
| 42e0 | 20 31 36 20 26 26 20 6b 65 79 20 3c 3d 20 32 35 29 20 7b 00 00 00 21 20 20 20 20 20 20 20 20 20 | .16.&&.key.<=.25).{...!......... |
| 4300 | 20 20 20 63 20 3d 20 27 71 27 20 2b 20 28 6b 65 79 20 2d 20 31 36 29 3b 00 00 00 2c 20 20 20 20 | ...c.=.'q'.+.(key.-.16);...,.... |
| 4320 | 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 6b 65 79 20 3e 3d 20 32 36 20 26 26 20 6b 65 79 20 | ....}.else.if.(key.>=.26.&&.key. |
| 4340 | 3c 3d 20 33 35 29 20 7b 00 00 00 21 20 20 20 20 20 20 20 20 20 20 20 20 63 20 3d 20 27 61 27 20 | <=.35).{...!............c.=.'a'. |
| 4360 | 2b 20 28 6b 65 79 20 2d 20 32 36 29 3b 00 00 00 2c 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 | +.(key.-.26);...,........}.else. |
| 4380 | 69 66 20 28 6b 65 79 20 3e 3d 20 33 36 20 26 26 20 6b 65 79 20 3c 3d 20 34 35 29 20 7b 00 00 00 | if.(key.>=.36.&&.key.<=.45).{... |
| 43a0 | 21 20 20 20 20 20 20 20 20 20 20 20 20 63 20 3d 20 27 7a 27 20 2b 20 28 6b 65 79 20 2d 20 33 36 | !............c.=.'z'.+.(key.-.36 |
| 43c0 | 29 3b 00 00 00 2c 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 6b 65 79 20 3e 3d 20 | );...,........}.else.if.(key.>=. |
| 43e0 | 34 36 20 26 26 20 6b 65 79 20 3c 3d 20 35 35 29 20 7b 00 00 00 21 20 20 20 20 20 20 20 20 20 20 | 46.&&.key.<=.55).{...!.......... |
| 4400 | 20 20 63 20 3d 20 27 30 27 20 2b 20 28 6b 65 79 20 2d 20 34 36 29 3b 00 00 00 1f 20 20 20 20 20 | ..c.=.'0'.+.(key.-.46);......... |
| 4420 | 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 6b 65 79 20 3d 3d 20 35 37 29 20 7b 00 00 00 14 20 20 | ...}.else.if.(key.==.57).{...... |
| 4440 | 20 20 20 20 20 20 20 20 20 20 63 20 3d 20 27 20 27 3b 00 00 00 1f 20 20 20 20 20 20 20 20 7d 20 | ..........c.=.'.';............}. |
| 4460 | 65 6c 73 65 20 69 66 20 28 6b 65 79 20 3d 3d 20 35 38 29 20 7b 00 00 00 15 20 20 20 20 20 20 20 | else.if.(key.==.58).{........... |
| 4480 | 20 20 20 20 20 63 20 3d 20 27 5c 6e 27 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 08 20 | .....c.=.'\n';............}..... |
| 44a0 | 20 20 20 20 20 20 20 00 00 00 10 20 20 20 20 20 20 20 20 69 66 20 28 63 29 20 7b 00 00 00 25 20 | ...................if.(c).{...%. |
| 44c0 | 20 20 20 20 20 20 20 20 20 20 20 77 72 69 74 65 28 70 74 79 5f 6d 61 73 74 65 72 2c 20 26 63 2c | ...........write(pty_master,.&c, |
| 44e0 | 20 31 29 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 | .1);............}........}....}. |
| 4500 | 00 00 00 00 00 00 4b 73 74 61 74 69 63 20 76 6f 69 64 20 6b 65 79 62 6f 61 72 64 5f 6d 6f 64 69 | ......Kstatic.void.keyboard_modi |
| 4520 | 66 69 65 72 73 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 | fiers(void.*data,.struct.wl_keyb |
| 4540 | 6f 61 72 64 20 2a 77 6c 5f 6b 65 79 62 6f 61 72 64 2c 00 00 00 48 20 20 20 20 20 20 20 20 20 20 | oard.*wl_keyboard,...H.......... |
| 4560 | 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 65 | .....................uint32_t.se |
| 4580 | 72 69 61 6c 2c 20 75 69 6e 74 33 32 5f 74 20 6d 6f 64 73 5f 64 65 70 72 65 73 73 65 64 2c 00 00 | rial,.uint32_t.mods_depressed,.. |
| 45a0 | 00 4b 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 | .K.............................. |
| 45c0 | 20 75 69 6e 74 33 32 5f 74 20 6d 6f 64 73 5f 6c 61 74 63 68 65 64 2c 20 75 69 6e 74 33 32 5f 74 | .uint32_t.mods_latched,.uint32_t |
| 45e0 | 20 6d 6f 64 73 5f 6c 6f 63 6b 65 64 2c 00 00 00 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .mods_locked,................... |
| 4600 | 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 67 72 6f 75 70 29 00 | ................uint32_t.group). |
| 4620 | 00 00 01 7b 00 00 00 01 7d 00 00 00 00 00 00 00 3e 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 | ...{....}.......>static.const.st |
| 4640 | 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 61 | ruct.wl_keyboard_listener.keyboa |
| 4660 | 72 64 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 1e 20 20 20 20 2e 6b 65 79 6d 61 70 20 3d | rd_listener.=.{.........keymap.= |
| 4680 | 20 6b 65 79 62 6f 61 72 64 5f 6b 65 79 6d 61 70 2c 00 00 00 1c 20 20 20 20 2e 65 6e 74 65 72 20 | .keyboard_keymap,.........enter. |
| 46a0 | 3d 20 6b 65 79 62 6f 61 72 64 5f 65 6e 74 65 72 2c 00 00 00 1c 20 20 20 20 2e 6c 65 61 76 65 20 | =.keyboard_enter,.........leave. |
| 46c0 | 3d 20 6b 65 79 62 6f 61 72 64 5f 6c 65 61 76 65 2c 00 00 00 18 20 20 20 20 2e 6b 65 79 20 3d 20 | =.keyboard_leave,.........key.=. |
| 46e0 | 6b 65 79 62 6f 61 72 64 5f 6b 65 79 2c 00 00 00 24 20 20 20 20 2e 6d 6f 64 69 66 69 65 72 73 20 | keyboard_key,...$.....modifiers. |
| 4700 | 3d 20 6b 65 79 62 6f 61 72 64 5f 6d 6f 64 69 66 69 65 72 73 2c 00 00 00 02 7d 3b 00 00 00 00 00 | =.keyboard_modifiers,....};..... |
| 4720 | 00 00 59 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 61 74 5f 63 61 70 61 62 69 6c 69 74 69 65 73 | ..Ystatic.void.seat_capabilities |
| 4740 | 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 73 65 61 74 20 2a 77 6c 5f | (void.*data,.struct.wl_seat.*wl_ |
| 4760 | 73 65 61 74 2c 20 75 69 6e 74 33 32 5f 74 20 63 61 70 61 62 69 6c 69 74 69 65 73 29 00 00 00 01 | seat,.uint32_t.capabilities).... |
| 4780 | 7b 00 00 00 35 20 20 20 20 69 66 20 28 63 61 70 61 62 69 6c 69 74 69 65 73 20 26 20 57 4c 5f 53 | {...5....if.(capabilities.&.WL_S |
| 47a0 | 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 7b 00 00 00 31 20 20 | EAT_CAPABILITY_KEYBOARD).{...1.. |
| 47c0 | 20 20 20 20 20 20 6b 65 79 62 6f 61 72 64 20 3d 20 77 6c 5f 73 65 61 74 5f 67 65 74 5f 6b 65 79 | ......keyboard.=.wl_seat_get_key |
| 47e0 | 62 6f 61 72 64 28 77 6c 5f 73 65 61 74 29 3b 00 00 00 45 20 20 20 20 20 20 20 20 77 6c 5f 6b 65 | board(wl_seat);...E........wl_ke |
| 4800 | 79 62 6f 61 72 64 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 6b 65 79 62 6f 61 72 64 2c 20 26 6b | yboard_add_listener(keyboard,.&k |
| 4820 | 65 79 62 6f 61 72 64 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 23 20 20 20 20 | eyboard_listener,.NULL);...#.... |
| 4840 | 20 20 20 20 70 75 74 73 28 22 6b 65 79 62 6f 61 72 64 20 61 76 61 69 6c 61 62 6c 65 22 29 3b 00 | ....puts("keyboard.available");. |
| 4860 | 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 36 73 74 61 74 69 63 20 63 6f 6e 73 | .......}....}.......6static.cons |
| 4880 | 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 20 73 65 61 74 5f 6c | t.struct.wl_seat_listener.seat_l |
| 48a0 | 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 26 20 20 20 20 2e 63 61 70 61 62 69 6c 69 74 69 65 73 | istener.=.{...&.....capabilities |
| 48c0 | 20 3d 20 73 65 61 74 5f 63 61 70 61 62 69 6c 69 74 69 65 73 2c 00 00 00 02 7d 3b 00 00 00 00 00 | .=.seat_capabilities,....};..... |
| 48e0 | 00 00 43 73 74 61 74 69 63 20 76 6f 69 64 20 68 61 6e 64 6c 65 5f 67 6c 6f 62 61 6c 28 76 6f 69 | ..Cstatic.void.handle_global(voi |
| 4900 | 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 | d.*data,.struct.wl_registry.*reg |
| 4920 | 69 73 74 72 79 2c 00 00 00 51 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | istry,...Q...................... |
| 4940 | 20 20 20 20 75 69 6e 74 33 32 5f 74 20 6e 61 6d 65 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 | ....uint32_t.name,.const.char.*i |
| 4960 | 6e 74 65 72 66 61 63 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 65 72 73 69 6f 6e 29 00 00 00 01 7b | nterface,.uint32_t.version)....{ |
| 4980 | 00 00 00 32 20 20 20 20 69 66 20 28 73 74 72 63 6d 70 28 69 6e 74 65 72 66 61 63 65 2c 20 22 77 | ...2....if.(strcmp(interface,."w |
| 49a0 | 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 22 29 20 3d 3d 20 30 29 20 7b 00 00 00 53 20 20 20 20 20 20 | l_compositor").==.0).{...S...... |
| 49c0 | 20 20 63 6f 6d 70 6f 73 69 74 6f 72 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 | ..compositor.=.wl_registry_bind( |
| 49e0 | 72 65 67 69 73 74 72 79 2c 20 6e 61 6d 65 2c 20 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 69 | registry,.name,.&wl_compositor_i |
| 4a00 | 6e 74 65 72 66 61 63 65 2c 20 34 29 3b 00 00 00 32 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 | nterface,.4);...2....}.else.if.( |
| 4a20 | 73 74 72 63 6d 70 28 69 6e 74 65 72 66 61 63 65 2c 20 22 77 6c 5f 73 68 6d 22 29 20 3d 3d 20 30 | strcmp(interface,."wl_shm").==.0 |
| 4a40 | 29 20 7b 00 00 00 45 20 20 20 20 20 20 20 20 73 68 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 | ).{...E........shm.=.wl_registry |
| 4a60 | 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 6e 61 6d 65 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e | _bind(registry,.name,.&wl_shm_in |
| 4a80 | 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 37 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 73 | terface,.1);...7....}.else.if.(s |
| 4aa0 | 74 72 63 6d 70 28 69 6e 74 65 72 66 61 63 65 2c 20 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 20 | trcmp(interface,."xdg_wm_base"). |
| 4ac0 | 3d 3d 20 30 29 20 7b 00 00 00 4e 20 20 20 20 20 20 20 20 77 6d 5f 62 61 73 65 20 3d 20 77 6c 5f | ==.0).{...N........wm_base.=.wl_ |
| 4ae0 | 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 6e 61 6d 65 2c 20 26 78 | registry_bind(registry,.name,.&x |
| 4b00 | 64 67 5f 77 6d 5f 62 61 73 65 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 43 20 20 20 | dg_wm_base_interface,.1);...C... |
| 4b20 | 20 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 72 28 77 6d | .....xdg_wm_base_add_listener(wm |
| 4b40 | 5f 62 61 73 65 2c 20 26 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b | _base,.&wm_base_listener,.NULL); |
| 4b60 | 00 00 00 33 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d 70 28 69 6e 74 65 72 66 | ...3....}.else.if.(strcmp(interf |
| 4b80 | 61 63 65 2c 20 22 77 6c 5f 73 65 61 74 22 29 20 3d 3d 20 30 29 20 7b 00 00 00 47 20 20 20 20 20 | ace,."wl_seat").==.0).{...G..... |
| 4ba0 | 20 20 20 73 65 61 74 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 69 73 | ...seat.=.wl_registry_bind(regis |
| 4bc0 | 74 72 79 2c 20 6e 61 6d 65 2c 20 26 77 6c 5f 73 65 61 74 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 | try,.name,.&wl_seat_interface,.1 |
| 4be0 | 29 3b 00 00 00 39 20 20 20 20 20 20 20 20 77 6c 5f 73 65 61 74 5f 61 64 64 5f 6c 69 73 74 65 6e | );...9........wl_seat_add_listen |
| 4c00 | 65 72 28 73 65 61 74 2c 20 26 73 65 61 74 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 | er(seat,.&seat_listener,.NULL);. |
| 4c20 | 00 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 | .......}....}.......Ystatic.void |
| 4c40 | 20 68 61 6e 64 6c 65 5f 67 6c 6f 62 61 6c 5f 72 65 6d 6f 76 65 28 76 6f 69 64 20 2a 64 61 74 61 | .handle_global_remove(void.*data |
| 4c60 | 2c 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 69 73 74 72 79 2c 20 | ,.struct.wl_registry.*registry,. |
| 4c80 | 75 69 6e 74 33 32 5f 74 20 6e 61 6d 65 29 00 00 00 01 7b 00 00 00 0f 20 20 20 20 28 76 6f 69 64 | uint32_t.name)....{........(void |
| 4ca0 | 29 64 61 74 61 3b 00 00 00 13 20 20 20 20 28 76 6f 69 64 29 72 65 67 69 73 74 72 79 3b 00 00 00 | )data;........(void)registry;... |
| 4cc0 | 0f 20 20 20 20 28 76 6f 69 64 29 6e 61 6d 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 3e 73 74 61 | .....(void)name;....}.......>sta |
| 4ce0 | 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 |
| 4d00 | 74 65 6e 65 72 20 72 65 67 69 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 1c 20 | tener.registry_listener.=.{..... |
| 4d20 | 20 20 20 2e 67 6c 6f 62 61 6c 20 3d 20 68 61 6e 64 6c 65 5f 67 6c 6f 62 61 6c 2c 00 00 00 2a 20 | ....global.=.handle_global,...*. |
| 4d40 | 20 20 20 2e 67 6c 6f 62 61 6c 5f 72 65 6d 6f 76 65 20 3d 20 68 61 6e 64 6c 65 5f 67 6c 6f 62 61 | ....global_remove.=.handle_globa |
| 4d60 | 6c 5f 72 65 6d 6f 76 65 2c 00 00 00 02 7d 3b 00 00 00 00 00 00 00 1d 73 74 61 74 69 63 20 76 6f | l_remove,....};........static.vo |
| 4d80 | 69 64 20 63 6c 65 61 6e 75 70 5f 70 74 79 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 18 20 20 20 | id.cleanup_pty(void)....{....... |
| 4da0 | 20 69 66 20 28 73 68 65 6c 6c 5f 70 69 64 20 3e 20 30 29 20 7b 00 00 00 21 20 20 20 20 20 20 20 | .if.(shell_pid.>.0).{...!....... |
| 4dc0 | 20 6b 69 6c 6c 28 73 68 65 6c 6c 5f 70 69 64 2c 20 53 49 47 54 45 52 4d 29 3b 00 00 00 24 20 20 | .kill(shell_pid,.SIGTERM);...$.. |
| 4de0 | 20 20 20 20 20 20 77 61 69 74 70 69 64 28 73 68 65 6c 6c 5f 70 69 64 2c 20 4e 55 4c 4c 2c 20 30 | ......waitpid(shell_pid,.NULL,.0 |
| 4e00 | 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 1a 20 20 20 20 69 66 20 28 70 | );........}................if.(p |
| 4e20 | 74 79 5f 6d 61 73 74 65 72 20 3e 3d 20 30 29 20 7b 00 00 00 1a 20 20 20 20 20 20 20 20 63 6c 6f | ty_master.>=.0).{............clo |
| 4e40 | 73 65 28 70 74 79 5f 6d 61 73 74 65 72 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 | se(pty_master);........}........ |
| 4e60 | 00 00 00 19 20 20 20 20 69 66 20 28 70 74 79 5f 73 6c 61 76 65 20 3e 3d 20 30 29 20 7b 00 00 00 | ........if.(pty_slave.>=.0).{... |
| 4e80 | 19 20 20 20 20 20 20 20 20 63 6c 6f 73 65 28 70 74 79 5f 73 6c 61 76 65 29 3b 00 00 00 05 20 20 | .........close(pty_slave);...... |
| 4ea0 | 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 1a 73 74 61 74 69 63 20 69 6e 74 20 73 65 74 75 70 | ..}....}........static.int.setup |
| 4ec0 | 5f 70 74 79 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 18 20 20 20 20 73 74 72 75 63 74 20 74 65 | _pty(void)....{........struct.te |
| 4ee0 | 72 6d 69 6f 73 20 74 65 72 6d 3b 00 00 00 04 20 20 20 20 00 00 00 36 20 20 20 20 70 74 79 5f 6d | rmios.term;...........6....pty_m |
| 4f00 | 61 73 74 65 72 20 3d 20 6f 70 65 6e 28 22 2f 64 65 76 2f 70 74 6d 78 22 2c 20 4f 5f 52 44 57 52 | aster.=.open("/dev/ptmx",.O_RDWR |
| 4f20 | 20 7c 20 4f 5f 4e 4f 43 54 54 59 29 3b 00 00 00 19 20 20 20 20 69 66 20 28 70 74 79 5f 6d 61 73 | .|.O_NOCTTY);........if.(pty_mas |
| 4f40 | 74 65 72 20 3c 20 30 29 20 7b 00 00 00 26 20 20 20 20 20 20 20 20 70 65 72 72 6f 72 28 22 66 61 | ter.<.0).{...&........perror("fa |
| 4f60 | 69 6c 65 64 20 74 6f 20 6f 70 65 6e 20 70 74 6d 78 22 29 3b 00 00 00 12 20 20 20 20 20 20 20 20 | iled.to.open.ptmx");............ |
| 4f80 | 72 65 74 75 72 6e 20 2d 31 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 22 20 | return.-1;........}...........". |
| 4fa0 | 20 20 20 69 66 20 28 67 72 61 6e 74 70 74 28 70 74 79 5f 6d 61 73 74 65 72 29 20 3c 20 30 29 20 | ...if.(grantpt(pty_master).<.0). |
| 4fc0 | 7b 00 00 00 21 20 20 20 20 20 20 20 20 70 65 72 72 6f 72 28 22 67 72 61 6e 74 70 74 20 66 61 69 | {...!........perror("grantpt.fai |
| 4fe0 | 6c 65 64 22 29 3b 00 00 00 12 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 2d 31 3b 00 00 00 05 | led");............return.-1;.... |
| 5000 | 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 23 20 20 20 20 69 66 20 28 75 6e 6c 6f 63 6b 70 | ....}...........#....if.(unlockp |
| 5020 | 74 28 70 74 79 5f 6d 61 73 74 65 72 29 20 3c 20 30 29 20 7b 00 00 00 22 20 20 20 20 20 20 20 20 | t(pty_master).<.0).{..."........ |
| 5040 | 70 65 72 72 6f 72 28 22 75 6e 6c 6f 63 6b 70 74 20 66 61 69 6c 65 64 22 29 3b 00 00 00 12 20 20 | perror("unlockpt.failed");...... |
| 5060 | 20 20 20 20 20 20 72 65 74 75 72 6e 20 2d 31 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 | ......return.-1;........}....... |
| 5080 | 20 00 00 00 3d 20 20 20 20 70 74 79 5f 73 6c 61 76 65 20 3d 20 6f 70 65 6e 28 70 74 73 6e 61 6d | ....=....pty_slave.=.open(ptsnam |
| 50a0 | 65 28 70 74 79 5f 6d 61 73 74 65 72 29 2c 20 4f 5f 52 44 57 52 20 7c 20 4f 5f 4e 4f 43 54 54 59 | e(pty_master),.O_RDWR.|.O_NOCTTY |
| 50c0 | 29 3b 00 00 00 18 20 20 20 20 69 66 20 28 70 74 79 5f 73 6c 61 76 65 20 3c 20 30 29 20 7b 00 00 | );........if.(pty_slave.<.0).{.. |
| 50e0 | 00 2b 20 20 20 20 20 20 20 20 70 65 72 72 6f 72 28 22 66 61 69 6c 65 64 20 74 6f 20 6f 70 65 6e | .+........perror("failed.to.open |
| 5100 | 20 73 6c 61 76 65 20 70 74 79 22 29 3b 00 00 00 12 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 | .slave.pty");............return. |
| 5120 | 2d 31 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 2c 20 20 20 20 74 63 67 65 | -1;........}...........,....tcge |
| 5140 | 74 61 74 74 72 28 70 74 79 5f 73 6c 61 76 65 2c 20 26 6f 72 69 67 69 6e 61 6c 5f 74 65 72 6d 69 | tattr(pty_slave,.&original_termi |
| 5160 | 6f 73 29 3b 00 00 00 20 20 20 20 20 74 63 67 65 74 61 74 74 72 28 70 74 79 5f 73 6c 61 76 65 2c | os);........tcgetattr(pty_slave, |
| 5180 | 20 26 74 65 72 6d 29 3b 00 00 00 15 20 20 20 20 63 66 6d 61 6b 65 72 61 77 28 26 74 65 72 6d 29 | .&term);........cfmakeraw(&term) |
| 51a0 | 3b 00 00 00 29 20 20 20 20 74 63 73 65 74 61 74 74 72 28 70 74 79 5f 73 6c 61 76 65 2c 20 54 43 | ;...)....tcsetattr(pty_slave,.TC |
| 51c0 | 53 41 4e 4f 57 2c 20 26 74 65 72 6d 29 3b 00 00 00 04 20 20 20 20 00 00 00 0d 20 20 20 20 72 65 | SANOW,.&term);................re |
| 51e0 | 74 75 72 6e 20 30 3b 00 00 00 01 7d 00 00 00 00 00 00 00 1b 73 74 61 74 69 63 20 76 6f 69 64 20 | turn.0;....}........static.void. |
| 5200 | 72 75 6e 5f 73 68 65 6c 6c 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 17 20 20 20 20 73 68 65 6c | run_shell(void)....{........shel |
| 5220 | 6c 5f 70 69 64 20 3d 20 66 6f 72 6b 28 29 3b 00 00 00 04 20 20 20 20 00 00 00 19 20 20 20 20 69 | l_pid.=.fork();................i |
| 5240 | 66 20 28 73 68 65 6c 6c 5f 70 69 64 20 3d 3d 20 30 29 20 7b 00 00 00 11 20 20 20 20 20 20 20 20 | f.(shell_pid.==.0).{............ |
| 5260 | 73 65 74 73 69 64 28 29 3b 00 00 00 08 20 20 20 20 20 20 20 20 00 00 00 1a 20 20 20 20 20 20 20 | setsid();....................... |
| 5280 | 20 63 6c 6f 73 65 28 70 74 79 5f 6d 61 73 74 65 72 29 3b 00 00 00 08 20 20 20 20 20 20 20 20 00 | .close(pty_master);............. |
| 52a0 | 00 00 27 20 20 20 20 20 20 20 20 69 6f 63 74 6c 28 70 74 79 5f 73 6c 61 76 65 2c 20 54 49 4f 43 | ..'........ioctl(pty_slave,.TIOC |
| 52c0 | 53 43 54 54 59 2c 20 30 29 3b 00 00 00 08 20 20 20 20 20 20 20 20 00 00 00 1b 20 20 20 20 20 20 | SCTTY,.0);...................... |
| 52e0 | 20 20 64 75 70 32 28 70 74 79 5f 73 6c 61 76 65 2c 20 30 29 3b 00 00 00 1b 20 20 20 20 20 20 20 | ..dup2(pty_slave,.0);........... |
| 5300 | 20 64 75 70 32 28 70 74 79 5f 73 6c 61 76 65 2c 20 31 29 3b 00 00 00 1b 20 20 20 20 20 20 20 20 | .dup2(pty_slave,.1);............ |
| 5320 | 64 75 70 32 28 70 74 79 5f 73 6c 61 76 65 2c 20 32 29 3b 00 00 00 08 20 20 20 20 20 20 20 20 00 | dup2(pty_slave,.2);............. |
| 5340 | 00 00 19 20 20 20 20 20 20 20 20 63 6c 6f 73 65 28 70 74 79 5f 73 6c 61 76 65 29 3b 00 00 00 08 | ...........close(pty_slave);.... |
| 5360 | 20 20 20 20 20 20 20 20 00 00 00 26 20 20 20 20 20 20 20 20 63 68 61 72 20 2a 73 68 65 6c 6c 20 | ...........&........char.*shell. |
| 5380 | 3d 20 67 65 74 65 6e 76 28 22 53 48 45 4c 4c 22 29 3b 00 00 00 15 20 20 20 20 20 20 20 20 69 66 | =.getenv("SHELL");............if |
| 53a0 | 20 28 21 73 68 65 6c 6c 29 20 7b 00 00 00 1e 20 20 20 20 20 20 20 20 20 20 20 20 73 68 65 6c 6c | .(!shell).{................shell |
| 53c0 | 20 3d 20 22 2f 62 69 6e 2f 73 68 22 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 08 20 20 | .=."/bin/sh";............}...... |
| 53e0 | 20 20 20 20 20 20 00 00 00 22 20 20 20 20 20 20 20 20 65 78 65 63 6c 28 73 68 65 6c 6c 2c 20 73 | ........."........execl(shell,.s |
| 5400 | 68 65 6c 6c 2c 20 4e 55 4c 4c 29 3b 00 00 00 10 20 20 20 20 20 20 20 20 65 78 69 74 28 31 29 3b | hell,.NULL);............exit(1); |
| 5420 | 00 00 00 1f 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 73 68 65 6c 6c 5f 70 69 64 20 3c 20 30 | ........}.else.if.(shell_pid.<.0 |
| 5440 | 29 20 7b 00 00 00 1e 20 20 20 20 20 20 20 20 70 65 72 72 6f 72 28 22 66 6f 72 6b 20 66 61 69 6c | ).{............perror("fork.fail |
| 5460 | 65 64 22 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 15 20 20 20 20 63 6c | ed");........}................cl |
| 5480 | 6f 73 65 28 70 74 79 5f 73 6c 61 76 65 29 3b 00 00 00 13 20 20 20 20 70 74 79 5f 73 6c 61 76 65 | ose(pty_slave);........pty_slave |
| 54a0 | 20 3d 20 2d 31 3b 00 00 00 01 7d 00 00 00 00 00 00 00 0e 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 | .=.-1;....}........int.main(void |
| 54c0 | 29 00 00 00 01 7b 00 00 00 21 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 | )....{...!....struct.wl_registry |
| 54e0 | 20 2a 72 65 67 69 73 74 72 79 3b 00 00 00 16 20 20 20 20 73 74 72 75 63 74 20 77 69 6e 73 69 7a | .*registry;........struct.winsiz |
| 5500 | 65 20 77 73 3b 00 00 00 04 20 20 20 20 00 00 00 1d 20 20 20 20 66 6f 6e 74 5f 64 61 74 61 20 3d | e.ws;................font_data.= |
| 5520 | 20 62 75 69 6c 74 69 6e 5f 66 6f 6e 74 3b 00 00 00 04 20 20 20 20 00 00 00 1d 20 20 20 20 73 69 | .builtin_font;................si |
| 5540 | 67 6e 61 6c 28 53 49 47 43 48 4c 44 2c 20 53 49 47 5f 49 47 4e 29 3b 00 00 00 04 20 20 20 20 00 | gnal(SIGCHLD,.SIG_IGN);......... |
| 5560 | 00 00 1a 20 20 20 20 69 66 20 28 73 65 74 75 70 5f 70 74 79 28 29 20 3c 20 30 29 20 7b 00 00 00 | .......if.(setup_pty().<.0).{... |
| 5580 | 11 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 | .........return.1;........}..... |
| 55a0 | 20 20 20 00 00 00 15 20 20 20 20 77 73 2e 77 73 5f 72 6f 77 20 3d 20 72 6f 77 73 3b 00 00 00 15 | ...........ws.ws_row.=.rows;.... |
| 55c0 | 20 20 20 20 77 73 2e 77 73 5f 63 6f 6c 20 3d 20 63 6f 6c 73 3b 00 00 00 20 20 20 20 20 77 73 2e | ....ws.ws_col.=.cols;........ws. |
| 55e0 | 77 73 5f 78 70 69 78 65 6c 20 3d 20 77 69 6e 64 6f 77 5f 77 69 64 74 68 3b 00 00 00 21 20 20 20 | ws_xpixel.=.window_width;...!... |
| 5600 | 20 77 73 2e 77 73 5f 79 70 69 78 65 6c 20 3d 20 77 69 6e 64 6f 77 5f 68 65 69 67 68 74 3b 00 00 | .ws.ws_ypixel.=.window_height;.. |
| 5620 | 00 27 20 20 20 20 69 6f 63 74 6c 28 70 74 79 5f 6d 61 73 74 65 72 2c 20 54 49 4f 43 53 57 49 4e | .'....ioctl(pty_master,.TIOCSWIN |
| 5640 | 53 5a 2c 20 26 77 73 29 3b 00 00 00 04 20 20 20 20 00 00 00 10 20 20 20 20 72 75 6e 5f 73 68 65 | SZ,.&ws);................run_she |
| 5660 | 6c 6c 28 29 3b 00 00 00 04 20 20 20 20 00 00 00 27 20 20 20 20 64 69 73 70 6c 61 79 20 3d 20 77 | ll();...........'....display.=.w |
| 5680 | 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 13 20 20 20 20 | l_display_connect(NULL);........ |
| 56a0 | 69 66 20 28 21 64 69 73 70 6c 61 79 29 20 7b 00 00 00 42 20 20 20 20 20 20 20 20 66 70 72 69 6e | if.(!display).{...B........fprin |
| 56c0 | 74 66 28 73 74 64 65 72 72 2c 20 22 66 61 69 6c 65 64 20 74 6f 20 63 6f 6e 6e 65 63 74 20 74 6f | tf(stderr,."failed.to.connect.to |
| 56e0 | 20 77 61 79 6c 61 6e 64 20 64 69 73 70 6c 61 79 5c 6e 22 29 3b 00 00 00 16 20 20 20 20 20 20 20 | .wayland.display\n");........... |
| 5700 | 20 63 6c 65 61 6e 75 70 5f 70 74 79 28 29 3b 00 00 00 11 20 20 20 20 20 20 20 20 72 65 74 75 72 | .cleanup_pty();............retur |
| 5720 | 6e 20 31 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 30 20 20 20 20 72 65 67 | n.1;........}...........0....reg |
| 5740 | 69 73 74 72 79 20 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 | istry.=.wl_display_get_registry( |
| 5760 | 64 69 73 70 6c 61 79 29 3b 00 00 00 41 20 20 20 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 61 64 64 | display);...A....wl_registry_add |
| 5780 | 5f 6c 69 73 74 65 6e 65 72 28 72 65 67 69 73 74 72 79 2c 20 26 72 65 67 69 73 74 72 79 5f 6c 69 | _listener(registry,.®istry_li |
| 57a0 | 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 22 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 | stener,.NULL);..."....wl_display |
| 57c0 | 5f 72 6f 75 6e 64 74 72 69 70 28 64 69 73 70 6c 61 79 29 3b 00 00 00 04 20 20 20 20 00 00 00 2a | _roundtrip(display);...........* |
| 57e0 | 20 20 20 20 69 66 20 28 21 63 6f 6d 70 6f 73 69 74 6f 72 20 7c 7c 20 21 73 68 6d 20 7c 7c 20 21 | ....if.(!compositor.||.!shm.||.! |
| 5800 | 77 6d 5f 62 61 73 65 29 20 7b 00 00 00 47 20 20 20 20 20 20 20 20 66 70 72 69 6e 74 66 28 73 74 | wm_base).{...G........fprintf(st |
| 5820 | 64 65 72 72 2c 20 22 66 61 69 6c 65 64 20 74 6f 20 67 65 74 20 72 65 71 75 69 72 65 64 20 77 61 | derr,."failed.to.get.required.wa |
| 5840 | 79 6c 61 6e 64 20 69 6e 74 65 72 66 61 63 65 73 5c 6e 22 29 3b 00 00 00 16 20 20 20 20 20 20 20 | yland.interfaces\n");........... |
| 5860 | 20 63 6c 65 61 6e 75 70 5f 70 74 79 28 29 3b 00 00 00 11 20 20 20 20 20 20 20 20 72 65 74 75 72 | .cleanup_pty();............retur |
| 5880 | 6e 20 31 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 37 20 20 20 20 73 75 72 | n.1;........}...........7....sur |
| 58a0 | 66 61 63 65 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 | face.=.wl_compositor_create_surf |
| 58c0 | 61 63 65 28 63 6f 6d 70 6f 73 69 74 6f 72 29 3b 00 00 00 40 20 20 20 20 78 64 67 5f 73 75 72 66 | ace(compositor);...@....xdg_surf |
| 58e0 | 61 63 65 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 | ace.=.xdg_wm_base_get_xdg_surfac |
| 5900 | 65 28 77 6d 5f 62 61 73 65 2c 20 73 75 72 66 61 63 65 29 3b 00 00 00 47 20 20 20 20 78 64 67 5f | e(wm_base,.surface);...G....xdg_ |
| 5920 | 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 78 64 67 5f 73 75 72 66 61 63 65 | surface_add_listener(xdg_surface |
| 5940 | 2c 20 26 78 64 67 5f 73 75 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 | ,.&xdg_surface_listener,.NULL);. |
| 5960 | 00 00 04 20 20 20 20 00 00 00 35 20 20 20 20 74 6f 70 6c 65 76 65 6c 20 3d 20 78 64 67 5f 73 75 | ..........5....toplevel.=.xdg_su |
| 5980 | 72 66 61 63 65 5f 67 65 74 5f 74 6f 70 6c 65 76 65 6c 28 78 64 67 5f 73 75 72 66 61 63 65 29 3b | rface_get_toplevel(xdg_surface); |
| 59a0 | 00 00 00 42 20 20 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 | ...B....xdg_toplevel_add_listene |
| 59c0 | 72 28 74 6f 70 6c 65 76 65 6c 2c 20 26 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 2c 20 | r(toplevel,.&toplevel_listener,. |
| 59e0 | 4e 55 4c 4c 29 3b 00 00 00 40 20 20 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 74 | NULL);...@....xdg_toplevel_set_t |
| 5a00 | 69 74 6c 65 28 74 6f 70 6c 65 76 65 6c 2c 20 22 73 69 6d 70 6c 65 20 77 61 79 6c 61 6e 64 20 74 | itle(toplevel,."simple.wayland.t |
| 5a20 | 65 72 6d 69 6e 61 6c 22 29 3b 00 00 00 41 20 20 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 | erminal");...A....xdg_toplevel_s |
| 5a40 | 65 74 5f 61 70 70 5f 69 64 28 74 6f 70 6c 65 76 65 6c 2c 20 22 73 69 6d 70 6c 65 2d 77 61 79 6c | et_app_id(toplevel,."simple-wayl |
| 5a60 | 61 6e 64 2d 74 65 72 6d 69 6e 61 6c 22 29 3b 00 00 00 04 20 20 20 20 00 00 00 1f 20 20 20 20 77 | and-terminal");................w |
| 5a80 | 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 73 75 72 66 61 63 65 29 3b 00 00 00 04 20 20 | l_surface_commit(surface);...... |
| 5aa0 | 20 20 00 00 00 2d 20 20 20 20 70 72 69 6e 74 66 28 22 74 65 72 6d 69 6e 61 6c 20 63 72 65 61 74 | .....-....printf("terminal.creat |
| 5ac0 | 65 64 2e 20 72 75 6e 6e 69 6e 67 2e 2e 2e 5c 6e 22 29 3b 00 00 00 3b 20 20 20 20 70 72 69 6e 74 | ed..running...\n");...;....print |
| 5ae0 | 66 28 22 74 79 70 65 20 63 6f 6d 6d 61 6e 64 73 20 69 6e 20 74 68 65 20 77 69 6e 64 6f 77 20 74 | f("type.commands.in.the.window.t |
| 5b00 | 6f 20 72 75 6e 20 61 20 73 68 65 6c 6c 5c 6e 22 29 3b 00 00 00 04 20 20 20 20 00 00 00 3b 20 20 | o.run.a.shell\n");...........;.. |
| 5b20 | 20 20 77 68 69 6c 65 20 28 72 75 6e 6e 69 6e 67 20 26 26 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 | ..while.(running.&&.wl_display_d |
| 5b40 | 69 73 70 61 74 63 68 28 64 69 73 70 6c 61 79 29 20 21 3d 20 2d 31 29 20 7b 00 00 00 16 20 20 20 | ispatch(display).!=.-1).{....... |
| 5b60 | 20 20 20 20 20 63 68 61 72 20 62 75 66 5b 32 35 36 5d 3b 00 00 00 33 20 20 20 20 20 20 20 20 69 | .....char.buf[256];...3........i |
| 5b80 | 6e 74 20 6e 20 3d 20 72 65 61 64 28 70 74 79 5f 6d 61 73 74 65 72 2c 20 62 75 66 2c 20 73 69 7a | nt.n.=.read(pty_master,.buf,.siz |
| 5ba0 | 65 6f 66 28 62 75 66 29 29 3b 00 00 00 08 20 20 20 20 20 20 20 20 00 00 00 14 20 20 20 20 20 20 | eof(buf));...................... |
| 5bc0 | 20 20 69 66 20 28 6e 20 3e 20 30 29 20 7b 00 00 00 29 20 20 20 20 20 20 20 20 20 20 20 20 66 6f | ..if.(n.>.0).{...)............fo |
| 5be0 | 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 25 20 | r.(int.i.=.0;.i.<.n;.i++).{...%. |
| 5c00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 62 75 66 5b 69 5d 20 3d 3d 20 27 5c 6e | ...............if.(buf[i].==.'\n |
| 5c20 | 27 29 20 7b 00 00 00 21 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 73 | ').{...!....................curs |
| 5c40 | 6f 72 5f 78 20 3d 20 30 3b 00 00 00 1f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | or_x.=.0;....................... |
| 5c60 | 20 63 75 72 73 6f 72 5f 79 2b 2b 3b 00 00 00 2b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .cursor_y++;...+................ |
| 5c80 | 20 20 20 20 69 66 20 28 63 75 72 73 6f 72 5f 79 20 3e 3d 20 72 6f 77 73 29 20 7b 00 00 00 2c 20 | ....if.(cursor_y.>=.rows).{...,. |
| 5ca0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 73 6f 72 5f 79 20 | .......................cursor_y. |
| 5cc0 | 3d 20 72 6f 77 73 20 2d 20 31 3b 00 00 00 15 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | =.rows.-.1;..................... |
| 5ce0 | 20 20 20 7d 00 00 00 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 69 | ...}...,................}.else.i |
| 5d00 | 66 20 28 62 75 66 5b 69 5d 20 3d 3d 20 27 5c 72 27 29 20 7b 00 00 00 21 20 20 20 20 20 20 20 20 | f.(buf[i].==.'\r').{...!........ |
| 5d20 | 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 73 6f 72 5f 78 20 3d 20 30 3b 00 00 00 3e 20 20 20 | ............cursor_x.=.0;...>... |
| 5d40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 62 75 66 5b 69 5d 20 3d | .............}.else.if.(buf[i].= |
| 5d60 | 3d 20 27 5c 62 27 20 7c 7c 20 62 75 66 5b 69 5d 20 3d 3d 20 30 78 37 66 29 20 7b 00 00 00 27 20 | =.'\b'.||.buf[i].==.0x7f).{...'. |
| 5d80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 75 72 73 6f 72 5f 78 20 | ...................if.(cursor_x. |
| 5da0 | 3e 20 30 29 20 7b 00 00 00 23 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | >.0).{...#...................... |
| 5dc0 | 20 20 63 75 72 73 6f 72 5f 78 2d 2d 3b 00 00 00 15 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..cursor_x--;................... |
| 5de0 | 20 20 20 20 20 7d 00 00 00 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 | .....}...:................}.else |
| 5e00 | 20 69 66 20 28 62 75 66 5b 69 5d 20 3e 3d 20 33 32 20 26 26 20 62 75 66 5b 69 5d 20 3c 20 31 32 | .if.(buf[i].>=.32.&&.buf[i].<.12 |
| 5e20 | 37 29 20 7b 00 00 00 1f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 73 | 7).{........................curs |
| 5e40 | 6f 72 5f 78 2b 2b 3b 00 00 00 2b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 | or_x++;...+....................i |
| 5e60 | 66 20 28 63 75 72 73 6f 72 5f 78 20 3e 3d 20 63 6f 6c 73 29 20 7b 00 00 00 25 20 20 20 20 20 20 | f.(cursor_x.>=.cols).{...%...... |
| 5e80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 73 6f 72 5f 78 20 3d 20 30 3b 00 | ..................cursor_x.=.0;. |
| 5ea0 | 00 00 23 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 73 6f | ..#........................curso |
| 5ec0 | 72 5f 79 2b 2b 3b 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 | r_y++;.../...................... |
| 5ee0 | 20 20 69 66 20 28 63 75 72 73 6f 72 5f 79 20 3e 3d 20 72 6f 77 73 29 20 7b 00 00 00 30 20 20 20 | ..if.(cursor_y.>=.rows).{...0... |
| 5f00 | 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 63 75 72 73 6f 72 5f | .........................cursor_ |
| 5f20 | 79 20 3d 20 72 6f 77 73 20 2d 20 31 3b 00 00 00 19 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | y.=.rows.-.1;................... |
| 5f40 | 20 20 20 20 20 20 20 20 20 7d 00 00 00 15 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .........}...................... |
| 5f60 | 20 20 7d 00 00 00 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 0d 20 20 20 20 | ..}....................}........ |
| 5f80 | 20 20 20 20 20 20 20 20 7d 00 00 00 1c 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 | ........}............}.else.if.( |
| 5fa0 | 6e 20 3d 3d 20 30 29 20 7b 00 00 00 18 20 20 20 20 20 20 20 20 20 20 20 20 72 75 6e 6e 69 6e 67 | n.==.0).{................running |
| 5fc0 | 20 3d 20 30 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 | .=.0;............}........}..... |
| 5fe0 | 20 20 20 00 00 00 12 20 20 20 20 63 6c 65 61 6e 75 70 5f 70 74 79 28 29 3b 00 00 00 04 20 20 20 | ...........cleanup_pty();....... |
| 6000 | 20 00 00 00 19 20 20 20 20 69 66 20 28 66 72 61 6d 65 5f 63 61 6c 6c 62 61 63 6b 29 20 7b 00 00 | .........if.(frame_callback).{.. |
| 6020 | 00 2c 20 20 20 20 20 20 20 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 5f 64 65 73 74 72 6f 79 28 66 72 | .,........wl_callback_destroy(fr |
| 6040 | 61 6d 65 5f 63 61 6c 6c 62 61 63 6b 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 | ame_callback);........}......... |
| 6060 | 00 00 13 20 20 20 20 69 66 20 28 6b 65 79 62 6f 61 72 64 29 20 7b 00 00 00 26 20 20 20 20 20 20 | .......if.(keyboard).{...&...... |
| 6080 | 20 20 77 6c 5f 6b 65 79 62 6f 61 72 64 5f 64 65 73 74 72 6f 79 28 6b 65 79 62 6f 61 72 64 29 3b | ..wl_keyboard_destroy(keyboard); |
| 60a0 | 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 0f 20 20 20 20 69 66 20 28 73 65 61 | ........}................if.(sea |
| 60c0 | 74 29 20 7b 00 00 00 1e 20 20 20 20 20 20 20 20 77 6c 5f 73 65 61 74 5f 64 65 73 74 72 6f 79 28 | t).{............wl_seat_destroy( |
| 60e0 | 73 65 61 74 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 15 20 20 20 20 64 | seat);........}................d |
| 6100 | 65 73 74 72 6f 79 5f 62 75 66 66 65 72 28 29 3b 00 00 00 04 20 20 20 20 00 00 00 23 20 20 20 20 | estroy_buffer();...........#.... |
| 6120 | 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 64 65 73 74 72 6f 79 28 74 6f 70 6c 65 76 65 6c 29 3b 00 | xdg_toplevel_destroy(toplevel);. |
| 6140 | 00 00 25 20 20 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 64 65 73 74 72 6f 79 28 78 64 67 5f 73 | ..%....xdg_surface_destroy(xdg_s |
| 6160 | 75 72 66 61 63 65 29 3b 00 00 00 20 20 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 65 73 74 72 | urface);........wl_surface_destr |
| 6180 | 6f 79 28 73 75 72 66 61 63 65 29 3b 00 00 00 21 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f | oy(surface);...!....xdg_wm_base_ |
| 61a0 | 64 65 73 74 72 6f 79 28 77 6d 5f 62 61 73 65 29 3b 00 00 00 26 20 20 20 20 77 6c 5f 63 6f 6d 70 | destroy(wm_base);...&....wl_comp |
| 61c0 | 6f 73 69 74 6f 72 5f 64 65 73 74 72 6f 79 28 63 6f 6d 70 6f 73 69 74 6f 72 29 3b 00 00 00 18 20 | ositor_destroy(compositor);..... |
| 61e0 | 20 20 20 77 6c 5f 73 68 6d 5f 64 65 73 74 72 6f 79 28 73 68 6d 29 3b 00 00 00 22 20 20 20 20 77 | ...wl_shm_destroy(shm);..."....w |
| 6200 | 6c 5f 72 65 67 69 73 74 72 79 5f 64 65 73 74 72 6f 79 28 72 65 67 69 73 74 72 79 29 3b 00 00 00 | l_registry_destroy(registry);... |
| 6220 | 23 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 63 6f 6e 6e 65 63 74 28 64 69 73 70 6c | #....wl_display_disconnect(displ |
| 6240 | 61 79 29 3b 00 00 00 04 20 20 20 20 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 30 3b 00 00 00 | ay);................return.0;... |
| 6260 | 01 7d 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 79 02 00 00 00 00 00 00 01 00 00 00 00 00 | .}5...............y............. |
| 6280 | 00 00 00 00 00 00 00 00 00 00 49 4f 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 | ..........IO..............5._... |
| 62a0 | 00 04 00 00 00 06 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 01 00 00 00 00 00 00 00 00 ff ff | ................................ |
| 62c0 | ff ff 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 | ................................ |
| 62e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 63a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 63c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 63e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6420 | 6a 01 0c e1 04 01 00 00 00 04 00 f5 18 00 00 01 ce 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 | j............................... |
| 6440 | 01 20 f5 18 00 00 01 cf 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 37 00 00 00 00 00 00 | .........................7...... |
| 6460 | 00 00 00 00 00 01 00 00 00 16 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 6480 | f5 18 00 00 01 38 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 9a 00 00 00 00 00 00 00 00 | .....8.......................... |
| 64a0 | 00 00 00 01 00 00 00 18 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 | ............struct.wl_buffer.*bu |
| 64c0 | f5 18 00 00 00 9b 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 | ................................ |
| 64e0 | 00 00 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 | ..........................5..... |
| 6500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 9a 00 00 00 18 00 00 00 00 00 00 00 00 00 | ................................ |
| 6520 | 00 00 00 00 00 00 00 00 00 00 f9 0f 00 00 00 00 00 00 f5 18 00 00 00 00 9a 00 00 00 18 00 00 00 | ................................ |
| 6540 | 00 00 00 00 00 00 00 00 9d 00 00 00 16 00 00 00 f9 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6560 | ff 0f 00 00 00 00 00 00 f5 18 00 00 00 00 37 01 00 00 16 00 00 00 00 00 00 00 00 00 00 00 97 00 | ..............7................. |
| 6580 | 00 00 01 00 00 00 f8 1f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 0f 00 00 00 00 00 00 f5 18 | ................................ |
| 65a0 | 00 00 00 00 ce 01 00 00 01 00 00 00 00 00 00 00 00 00 00 00 7f 00 00 00 01 00 00 00 f7 2f 00 00 | ............................./.. |
| 65c0 | 00 00 00 00 00 00 00 00 00 00 00 00 53 0d 00 00 00 00 00 00 35 81 5f d0 00 00 00 05 00 00 00 07 | ............S.......5._......... |
| 65e0 | 00 00 00 00 00 00 00 00 00 00 00 06 00 00 00 0e 00 00 00 0a 00 00 00 00 ff ff ff ff 00 01 00 00 | ................................ |
| 6600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 66a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 66c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 66e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6a 01 0c f7 04 01 | ..........................j..... |
| 6760 | 00 00 00 05 00 f5 18 00 00 00 0d 00 00 00 0e 00 00 00 00 00 00 00 01 00 00 00 14 23 69 6e 63 6c | ...........................#incl |
| 6780 | 75 64 65 20 3c 73 74 72 6f 70 74 73 2e 68 3e 35 81 f5 18 00 00 00 00 0d 00 00 00 00 00 00 00 01 | ude.<stropts.h>5................ |
| 67a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 01 00 00 00 00 00 00 15 00 00 00 00 00 00 00 00 | ................................ |
| 67c0 | 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 00 07 00 | .......5._...................... |
| 67e0 | 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 00 00 | ................................ |
| 6800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 68a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 68c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 68e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 6a 01 0d 79 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 | .............j..y............... |
| 6960 | 00 02 00 00 00 00 00 00 02 4d 00 00 00 19 23 64 65 66 69 6e 65 20 5f 58 4f 50 45 4e 5f 53 4f 55 | .........M....#define._XOPEN_SOU |
| 6980 | 52 43 45 20 36 30 30 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 | RCE.600....#include.<stdio.h>... |
| 69a0 | 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 |
| 69c0 | 20 3c 73 74 72 69 6e 67 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 75 6e 69 73 74 64 2e | .<string.h>....#include.<unistd. |
| 69e0 | 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 16 23 | h>....#include.<sys/mman.h>....# |
| 6a00 | 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 69 6f 63 74 6c 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 | include.<sys/ioctl.h>....#includ |
| 6a20 | 65 20 3c 73 79 73 2f 77 61 69 74 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f | e.<sys/wait.h>....#include.<sys/ |
| 6a40 | 73 74 61 74 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 | stat.h>....#include.<fcntl.h>... |
| 6a60 | 12 23 69 6e 63 6c 75 64 65 20 3c 65 72 72 6e 6f 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 | .#include.<errno.h>....#include. |
| 6a80 | 3c 73 69 67 6e 61 6c 2e 68 3e 00 00 00 14 23 69 6e 63 6c 75 64 65 20 3c 74 65 72 6d 69 6f 73 2e | <signal.h>....#include.<termios. |
| 6aa0 | 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 |
| 6ac0 | 3e 00 00 00 26 23 69 6e 63 6c 75 64 65 20 22 78 64 67 2d 73 68 65 6c 6c 2d 63 6c 69 65 6e 74 2d | >...&#include."xdg-shell-client- |
| 6ae0 | 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 00 00 00 00 22 73 74 72 75 63 74 20 77 6c 5f 64 69 73 | protocol.h"......."struct.wl_dis |
| 6b00 | 70 6c 61 79 20 2a 64 69 73 70 6c 61 79 20 3d 20 4e 55 4c 4c 3b 00 00 00 28 73 74 72 75 63 74 20 | play.*display.=.NULL;...(struct. |
| 6b20 | 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 20 2a 63 6f 6d 70 6f 73 69 74 6f 72 20 3d 20 4e 55 4c 4c | wl_compositor.*compositor.=.NULL |
| 6b40 | 3b 00 00 00 22 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 72 66 61 63 65 20 | ;..."struct.wl_surface.*surface. |
| 6b60 | 3d 20 4e 55 4c 4c 3b 00 00 00 1a 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d 20 3d 20 | =.NULL;....struct.wl_shm.*shm.=. |
| 6b80 | 4e 55 4c 4c 3b 00 00 00 1c 73 74 72 75 63 74 20 77 6c 5f 73 65 61 74 20 2a 73 65 61 74 20 3d 20 | NULL;....struct.wl_seat.*seat.=. |
| 6ba0 | 4e 55 4c 4c 3b 00 00 00 24 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 65 79 | NULL;...$struct.wl_keyboard.*key |
| 6bc0 | 62 6f 61 72 64 20 3d 20 4e 55 4c 4c 3b 00 00 00 23 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 | board.=.NULL;...#struct.xdg_wm_b |
| 6be0 | 61 73 65 20 2a 77 6d 5f 62 61 73 65 20 3d 20 4e 55 4c 4c 3b 00 00 00 27 73 74 72 75 63 74 20 78 | ase.*wm_base.=.NULL;...'struct.x |
| 6c00 | 64 67 5f 73 75 72 66 61 63 65 20 2a 78 64 67 5f 73 75 72 66 61 63 65 20 3d 20 4e 55 4c 4c 3b 00 | dg_surface.*xdg_surface.=.NULL;. |
| 6c20 | 00 00 25 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 74 6f 70 6c 65 76 65 6c | ..%struct.xdg_toplevel.*toplevel |
| 6c40 | 20 3d 20 4e 55 4c 4c 3b 00 00 00 2a 73 74 72 75 63 74 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 20 2a | .=.NULL;...*struct.wl_callback.* |
| 6c60 | 66 72 61 6d 65 5f 63 61 6c 6c 62 61 63 6b 20 3d 20 4e 55 4c 4c 3b 00 00 00 00 00 00 00 17 73 74 | frame_callback.=.NULL;........st |
| 6c80 | 61 74 69 63 20 69 6e 74 20 72 75 6e 6e 69 6e 67 20 3d 20 31 3b 00 00 00 1e 73 74 61 74 69 63 20 | atic.int.running.=.1;....static. |
| 6ca0 | 69 6e 74 20 77 69 6e 64 6f 77 5f 77 69 64 74 68 20 3d 20 38 30 30 3b 00 00 00 1f 73 74 61 74 69 | int.window_width.=.800;....stati |
| 6cc0 | 63 20 69 6e 74 20 77 69 6e 64 6f 77 5f 68 65 69 67 68 74 20 3d 20 36 30 30 3b 00 00 00 1d 73 74 | c.int.window_height.=.600;....st |
| 6ce0 | 61 74 69 63 20 69 6e 74 20 70 65 6e 64 69 6e 67 5f 77 69 64 74 68 20 3d 20 30 3b 00 00 00 1e 73 | atic.int.pending_width.=.0;....s |
| 6d00 | 74 61 74 69 63 20 69 6e 74 20 70 65 6e 64 69 6e 67 5f 68 65 69 67 68 74 20 3d 20 30 3b 00 00 00 | tatic.int.pending_height.=.0;... |
| 6d20 | 1c 73 74 61 74 69 63 20 69 6e 74 20 6e 65 65 64 73 5f 72 65 73 69 7a 65 20 3d 20 30 3b 00 00 00 | .static.int.needs_resize.=.0;... |
| 6d40 | 28 73 74 61 74 69 63 20 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 70 69 78 65 6c 5f 64 61 74 | (static.unsigned.char.*pixel_dat |
| 6d60 | 61 20 3d 20 4e 55 4c 4c 3b 00 00 00 2e 73 74 61 74 69 63 20 73 74 72 75 63 74 20 77 6c 5f 62 75 | a.=.NULL;....static.struct.wl_bu |
| 6d80 | 66 66 65 72 20 2a 77 69 6e 64 6f 77 5f 62 75 66 66 65 72 20 3d 20 4e 55 4c 4c 3b 00 00 00 00 00 | ffer.*window_buffer.=.NULL;..... |
| 6da0 | 00 00 1b 73 74 61 74 69 63 20 69 6e 74 20 70 74 79 5f 6d 61 73 74 65 72 20 3d 20 2d 31 3b 00 00 | ...static.int.pty_master.=.-1;.. |
| 6dc0 | 00 1a 73 74 61 74 69 63 20 69 6e 74 20 70 74 79 5f 73 6c 61 76 65 20 3d 20 2d 31 3b 00 00 00 1c | ..static.int.pty_slave.=.-1;.... |
| 6de0 | 73 74 61 74 69 63 20 70 69 64 5f 74 20 73 68 65 6c 6c 5f 70 69 64 20 3d 20 2d 31 3b 00 00 00 15 | static.pid_t.shell_pid.=.-1;.... |
| 6e00 | 73 74 61 74 69 63 20 69 6e 74 20 72 6f 77 73 20 3d 20 32 34 3b 00 00 00 15 73 74 61 74 69 63 20 | static.int.rows.=.24;....static. |
| 6e20 | 69 6e 74 20 63 6f 6c 73 20 3d 20 38 30 3b 00 00 00 1a 73 74 61 74 69 63 20 69 6e 74 20 63 68 61 | int.cols.=.80;....static.int.cha |
| 6e40 | 72 5f 77 69 64 74 68 20 3d 20 38 3b 00 00 00 1c 73 74 61 74 69 63 20 69 6e 74 20 63 68 61 72 5f | r_width.=.8;....static.int.char_ |
| 6e60 | 68 65 69 67 68 74 20 3d 20 31 36 3b 00 00 00 00 00 00 00 25 73 74 61 74 69 63 20 75 6e 73 69 67 | height.=.16;.......%static.unsig |
| 6e80 | 6e 65 64 20 63 68 61 72 20 66 6f 6e 74 5f 64 61 74 61 5b 34 30 39 36 5d 3b 00 00 00 18 73 74 61 | ned.char.font_data[4096];....sta |
| 6ea0 | 74 69 63 20 69 6e 74 20 63 75 72 73 6f 72 5f 78 20 3d 20 30 3b 00 00 00 18 73 74 61 74 69 63 20 | tic.int.cursor_x.=.0;....static. |
| 6ec0 | 69 6e 74 20 63 75 72 73 6f 72 5f 79 20 3d 20 30 3b 00 00 00 00 00 00 00 1b 73 74 61 74 69 63 20 | int.cursor_y.=.0;........static. |
| 6ee0 | 76 6f 69 64 20 69 6e 69 74 5f 66 6f 6e 74 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 0a 20 20 20 | void.init_font(void)....{....... |
| 6f00 | 20 69 6e 74 20 69 3b 00 00 00 20 20 20 20 20 66 6f 72 20 28 69 20 3d 20 30 3b 20 69 20 3c 20 34 | .int.i;........for.(i.=.0;.i.<.4 |
| 6f20 | 30 39 36 3b 20 69 2b 2b 29 20 7b 00 00 00 19 20 20 20 20 20 20 20 20 66 6f 6e 74 5f 64 61 74 61 | 096;.i++).{............font_data |
| 6f40 | 5b 69 5d 20 3d 20 30 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 20 20 20 20 | [i].=.0;........}............... |
| 6f60 | 20 66 6f 72 20 28 69 20 3d 20 33 32 3b 20 69 20 3c 20 31 32 37 3b 20 69 2b 2b 29 20 7b 00 00 00 | .for.(i.=.32;.i.<.127;.i++).{... |
| 6f80 | 2c 20 20 20 20 20 20 20 20 66 6f 6e 74 5f 64 61 74 61 5b 28 69 20 2d 20 33 32 29 20 2a 20 31 36 | ,........font_data[(i.-.32).*.16 |
| 6fa0 | 20 2b 20 30 5d 20 3d 20 30 78 30 30 3b 00 00 00 2c 20 20 20 20 20 20 20 20 66 6f 6e 74 5f 64 61 | .+.0].=.0x00;...,........font_da |
| 6fc0 | 74 61 5b 28 69 20 2d 20 33 32 29 20 2a 20 31 36 20 2b 20 31 5d 20 3d 20 30 78 30 30 3b 00 00 00 | ta[(i.-.32).*.16.+.1].=.0x00;... |
| 6fe0 | 2c 20 20 20 20 20 20 20 20 66 6f 6e 74 5f 64 61 74 61 5b 28 69 20 2d 20 33 32 29 20 2a 20 31 36 | ,........font_data[(i.-.32).*.16 |
| 7000 | 20 2b 20 32 5d 20 3d 20 30 78 30 30 3b 00 00 00 2c 20 20 20 20 20 20 20 20 66 6f 6e 74 5f 64 61 | .+.2].=.0x00;...,........font_da |
| 7020 | 74 61 5b 28 69 20 2d 20 33 32 29 20 2a 20 31 36 20 2b 20 33 5d 20 3d 20 30 78 30 30 3b 00 00 00 | ta[(i.-.32).*.16.+.3].=.0x00;... |
| 7040 | 2c 20 20 20 20 20 20 20 20 66 6f 6e 74 5f 64 61 74 61 5b 28 69 20 2d 20 33 32 29 20 2a 20 31 36 | ,........font_data[(i.-.32).*.16 |
| 7060 | 20 2b 20 34 5d 20 3d 20 30 78 30 30 3b 00 00 00 2c 20 20 20 20 20 20 20 20 66 6f 6e 74 5f 64 61 | .+.4].=.0x00;...,........font_da |
| 7080 | 74 61 5b 28 69 20 2d 20 33 32 29 20 2a 20 31 36 20 2b 20 35 5d 20 3d 20 30 78 30 30 3b 00 00 00 | ta[(i.-.32).*.16.+.5].=.0x00;... |
| 70a0 | 2c 20 20 20 20 20 20 20 20 66 6f 6e 74 5f 64 61 74 61 5b 28 69 20 2d 20 33 32 29 20 2a 20 31 36 | ,........font_data[(i.-.32).*.16 |
| 70c0 | 20 2b 20 36 5d 20 3d 20 30 78 30 30 3b 00 00 00 2c 20 20 20 20 20 20 20 20 66 6f 6e 74 5f 64 61 | .+.6].=.0x00;...,........font_da |
| 70e0 | 74 61 5b 28 69 20 2d 20 33 32 29 20 2a 20 31 36 20 2b 20 37 5d 20 3d 20 30 78 30 30 3b 00 00 00 | ta[(i.-.32).*.16.+.7].=.0x00;... |
| 7100 | 2c 20 20 20 20 20 20 20 20 66 6f 6e 74 5f 64 61 74 61 5b 28 69 20 2d 20 33 32 29 20 2a 20 31 36 | ,........font_data[(i.-.32).*.16 |
| 7120 | 20 2b 20 38 5d 20 3d 20 30 78 30 30 3b 00 00 00 2c 20 20 20 20 20 20 20 20 66 6f 6e 74 5f 64 61 | .+.8].=.0x00;...,........font_da |
| 7140 | 74 61 5b 28 69 20 2d 20 33 32 29 20 2a 20 31 36 20 2b 20 39 5d 20 3d 20 30 78 30 30 3b 00 00 00 | ta[(i.-.32).*.16.+.9].=.0x00;... |
| 7160 | 2d 20 20 20 20 20 20 20 20 66 6f 6e 74 5f 64 61 74 61 5b 28 69 20 2d 20 33 32 29 20 2a 20 31 36 | -........font_data[(i.-.32).*.16 |
| 7180 | 20 2b 20 31 30 5d 20 3d 20 30 78 30 30 3b 00 00 00 2d 20 20 20 20 20 20 20 20 66 6f 6e 74 5f 64 | .+.10].=.0x00;...-........font_d |
| 71a0 | 61 74 61 5b 28 69 20 2d 20 33 32 29 20 2a 20 31 36 20 2b 20 31 31 5d 20 3d 20 30 78 30 30 3b 00 | ata[(i.-.32).*.16.+.11].=.0x00;. |
| 71c0 | 00 00 2d 20 20 20 20 20 20 20 20 66 6f 6e 74 5f 64 61 74 61 5b 28 69 20 2d 20 33 32 29 20 2a 20 | ..-........font_data[(i.-.32).*. |
| 71e0 | 31 36 20 2b 20 31 32 5d 20 3d 20 30 78 30 30 3b 00 00 00 2d 20 20 20 20 20 20 20 20 66 6f 6e 74 | 16.+.12].=.0x00;...-........font |
| 7200 | 5f 64 61 74 61 5b 28 69 20 2d 20 33 32 29 20 2a 20 31 36 20 2b 20 31 33 5d 20 3d 20 30 78 30 30 | _data[(i.-.32).*.16.+.13].=.0x00 |
| 7220 | 3b 00 00 00 2d 20 20 20 20 20 20 20 20 66 6f 6e 74 5f 64 61 74 61 5b 28 69 20 2d 20 33 32 29 20 | ;...-........font_data[(i.-.32). |
| 7240 | 2a 20 31 36 20 2b 20 31 34 5d 20 3d 20 30 78 30 30 3b 00 00 00 2d 20 20 20 20 20 20 20 20 66 6f | *.16.+.14].=.0x00;...-........fo |
| 7260 | 6e 74 5f 64 61 74 61 5b 28 69 20 2d 20 33 32 29 20 2a 20 31 36 20 2b 20 31 35 5d 20 3d 20 30 78 | nt_data[(i.-.32).*.16.+.15].=.0x |
| 7280 | 30 30 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 4c 73 74 61 74 69 63 20 | 00;........}....}.......Lstatic. |
| 72a0 | 76 6f 69 64 20 64 72 61 77 5f 63 68 61 72 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 64 61 | void.draw_char(unsigned.char.*da |
| 72c0 | 74 61 2c 20 69 6e 74 20 70 69 74 63 68 2c 20 69 6e 74 20 78 2c 20 69 6e 74 20 79 2c 20 63 68 61 | ta,.int.pitch,.int.x,.int.y,.cha |
| 72e0 | 72 20 63 68 29 00 00 00 01 7b 00 00 00 14 20 20 20 20 69 6e 74 20 63 78 2c 20 63 79 2c 20 62 69 | r.ch)....{........int.cx,.cy,.bi |
| 7300 | 74 3b 00 00 00 19 20 20 20 20 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 67 6c 79 70 68 3b 00 | t;........unsigned.char.*glyph;. |
| 7320 | 00 00 04 20 20 20 20 00 00 00 1e 20 20 20 20 69 66 20 28 63 68 20 3c 20 33 32 20 7c 7c 20 63 68 | ...............if.(ch.<.32.||.ch |
| 7340 | 20 3e 20 31 32 36 29 20 7b 00 00 00 10 20 20 20 20 20 20 20 20 63 68 20 3d 20 33 32 3b 00 00 00 | .>.126).{............ch.=.32;... |
| 7360 | 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 29 20 20 20 20 67 6c 79 70 68 20 3d 20 66 6f | .....}...........)....glyph.=.fo |
| 7380 | 6e 74 5f 64 61 74 61 20 2b 20 28 28 63 68 20 2d 20 33 32 29 20 2a 20 31 36 29 3b 00 00 00 04 20 | nt_data.+.((ch.-.32).*.16);..... |
| 73a0 | 20 20 20 00 00 00 21 20 20 20 20 66 6f 72 20 28 63 79 20 3d 20 30 3b 20 63 79 20 3c 20 31 36 3b | ......!....for.(cy.=.0;.cy.<.16; |
| 73c0 | 20 63 79 2b 2b 29 20 7b 00 00 00 24 20 20 20 20 20 20 20 20 66 6f 72 20 28 63 78 20 3d 20 30 3b | .cy++).{...$........for.(cx.=.0; |
| 73e0 | 20 63 78 20 3c 20 38 3b 20 63 78 2b 2b 29 20 7b 00 00 00 2e 20 20 20 20 20 20 20 20 20 20 20 20 | .cx.<.8;.cx++).{................ |
| 7400 | 62 69 74 20 3d 20 28 67 6c 79 70 68 5b 63 79 5d 20 3e 3e 20 28 37 20 2d 20 63 78 29 29 20 26 20 | bit.=.(glyph[cy].>>.(7.-.cx)).&. |
| 7420 | 31 3b 00 00 00 16 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 62 69 74 29 20 7b 00 00 00 20 | 1;................if.(bit).{.... |
| 7440 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 70 78 20 3d 20 78 20 2b 20 63 78 3b | ................int.px.=.x.+.cx; |
| 7460 | 00 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 70 79 20 3d 20 79 20 2b | ....................int.py.=.y.+ |
| 7480 | 20 63 79 3b 00 00 00 54 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 70 78 20 3e | .cy;...T................if.(px.> |
| 74a0 | 3d 20 30 20 26 26 20 70 78 20 3c 20 77 69 6e 64 6f 77 5f 77 69 64 74 68 20 26 26 20 70 79 20 3e | =.0.&&.px.<.window_width.&&.py.> |
| 74c0 | 3d 20 30 20 26 26 20 70 79 20 3c 20 77 69 6e 64 6f 77 5f 68 65 69 67 68 74 29 20 7b 00 00 00 34 | =.0.&&.py.<.window_height).{...4 |
| 74e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 69 64 78 20 3d 20 28 70 | ....................int.idx.=.(p |
| 7500 | 79 20 2a 20 70 69 74 63 68 20 2b 20 70 78 29 20 2a 20 34 3b 00 00 00 2e 20 20 20 20 20 20 20 20 | y.*.pitch.+.px).*.4;............ |
| 7520 | 20 20 20 20 20 20 20 20 20 20 20 20 70 69 78 65 6c 5f 64 61 74 61 5b 69 64 78 20 2b 20 30 5d 20 | ............pixel_data[idx.+.0]. |
| 7540 | 3d 20 32 35 35 3b 00 00 00 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 69 | =.255;........................pi |
| 7560 | 78 65 6c 5f 64 61 74 61 5b 69 64 78 20 2b 20 31 5d 20 3d 20 32 35 35 3b 00 00 00 2e 20 20 20 20 | xel_data[idx.+.1].=.255;........ |
| 7580 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 69 78 65 6c 5f 64 61 74 61 5b 69 64 78 20 2b | ................pixel_data[idx.+ |
| 75a0 | 20 32 5d 20 3d 20 32 35 35 3b 00 00 00 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .2].=.255;...................... |
| 75c0 | 20 20 70 69 78 65 6c 5f 64 61 74 61 5b 69 64 78 20 2b 20 33 5d 20 3d 20 32 35 35 3b 00 00 00 11 | ..pixel_data[idx.+.3].=.255;.... |
| 75e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 0d 20 20 20 20 20 20 20 20 20 20 20 | ................}............... |
| 7600 | 20 7d 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 | .}............}........}....}... |
| 7620 | 00 00 00 00 1d 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 73 63 72 65 65 6e 28 76 6f 69 | .....static.void.draw_screen(voi |
| 7640 | 64 29 00 00 00 01 7b 00 00 00 23 20 20 20 20 69 6e 74 20 78 2c 20 79 2c 20 70 69 74 63 68 20 3d | d)....{...#....int.x,.y,.pitch.= |
| 7660 | 20 77 69 6e 64 6f 77 5f 77 69 64 74 68 3b 00 00 00 04 20 20 20 20 00 00 00 29 20 20 20 20 66 6f | .window_width;...........)....fo |
| 7680 | 72 20 28 79 20 3d 20 30 3b 20 79 20 3c 20 77 69 6e 64 6f 77 5f 68 65 69 67 68 74 3b 20 79 2b 2b | r.(y.=.0;.y.<.window_height;.y++ |
| 76a0 | 29 20 7b 00 00 00 2c 20 20 20 20 20 20 20 20 66 6f 72 20 28 78 20 3d 20 30 3b 20 78 20 3c 20 77 | ).{...,........for.(x.=.0;.x.<.w |
| 76c0 | 69 6e 64 6f 77 5f 77 69 64 74 68 3b 20 78 2b 2b 29 20 7b 00 00 00 2a 20 20 20 20 20 20 20 20 20 | indow_width;.x++).{...*......... |
| 76e0 | 20 20 20 69 6e 74 20 69 64 78 20 3d 20 28 79 20 2a 20 70 69 74 63 68 20 2b 20 78 29 20 2a 20 34 | ...int.idx.=.(y.*.pitch.+.x).*.4 |
| 7700 | 3b 00 00 00 24 20 20 20 20 20 20 20 20 20 20 20 20 70 69 78 65 6c 5f 64 61 74 61 5b 69 64 78 20 | ;...$............pixel_data[idx. |
| 7720 | 2b 20 30 5d 20 3d 20 30 3b 00 00 00 24 20 20 20 20 20 20 20 20 20 20 20 20 70 69 78 65 6c 5f 64 | +.0].=.0;...$............pixel_d |
| 7740 | 61 74 61 5b 69 64 78 20 2b 20 31 5d 20 3d 20 30 3b 00 00 00 25 20 20 20 20 20 20 20 20 20 20 20 | ata[idx.+.1].=.0;...%........... |
| 7760 | 20 70 69 78 65 6c 5f 64 61 74 61 5b 69 64 78 20 2b 20 32 5d 20 3d 20 33 32 3b 00 00 00 26 20 20 | .pixel_data[idx.+.2].=.32;...&.. |
| 7780 | 20 20 20 20 20 20 20 20 20 20 70 69 78 65 6c 5f 64 61 74 61 5b 69 64 78 20 2b 20 33 5d 20 3d 20 | ..........pixel_data[idx.+.3].=. |
| 77a0 | 32 35 35 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 | 255;............}........}...... |
| 77c0 | 20 20 00 00 00 20 20 20 20 20 66 6f 72 20 28 79 20 3d 20 30 3b 20 79 20 3c 20 72 6f 77 73 3b 20 | ..........for.(y.=.0;.y.<.rows;. |
| 77e0 | 79 2b 2b 29 20 7b 00 00 00 24 20 20 20 20 20 20 20 20 66 6f 72 20 28 78 20 3d 20 30 3b 20 78 20 | y++).{...$........for.(x.=.0;.x. |
| 7800 | 3c 20 63 6f 6c 73 3b 20 78 2b 2b 29 20 7b 00 00 00 3d 20 20 20 20 20 20 20 20 20 20 20 20 64 72 | <.cols;.x++).{...=............dr |
| 7820 | 61 77 5f 63 68 61 72 28 70 69 78 65 6c 5f 64 61 74 61 2c 20 70 69 74 63 68 2c 20 78 20 2a 20 38 | aw_char(pixel_data,.pitch,.x.*.8 |
| 7840 | 2c 20 79 20 2a 20 31 36 2c 20 27 20 27 29 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 05 | ,.y.*.16,.'.');............}.... |
| 7860 | 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 43 20 20 20 20 64 72 61 77 5f 63 68 61 72 28 70 | ....}...........C....draw_char(p |
| 7880 | 69 78 65 6c 5f 64 61 74 61 2c 20 70 69 74 63 68 2c 20 63 75 72 73 6f 72 5f 78 20 2a 20 38 2c 20 | ixel_data,.pitch,.cursor_x.*.8,. |
| 78a0 | 63 75 72 73 6f 72 5f 79 20 2a 20 31 36 2c 20 27 5f 27 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 | cursor_y.*.16,.'_');....}....... |
| 78c0 | 27 73 74 61 74 69 63 20 69 6e 74 20 63 72 65 61 74 65 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 | 'static.int.create_shm_file(size |
| 78e0 | 5f 74 20 73 69 7a 65 29 00 00 00 01 7b 00 00 00 0b 20 20 20 20 69 6e 74 20 66 64 3b 00 00 00 2b | _t.size)....{........int.fd;...+ |
| 7900 | 20 20 20 20 63 68 61 72 20 74 65 6d 70 6c 61 74 65 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 6c 2d 73 | ....char.template[].=."/tmp/wl-s |
| 7920 | 68 6d 2d 58 58 58 58 58 58 22 3b 00 00 00 04 20 20 20 20 00 00 00 1b 20 20 20 20 66 64 20 3d 20 | hm-XXXXXX";................fd.=. |
| 7940 | 6d 6b 73 74 65 6d 70 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 11 20 20 20 20 69 66 20 28 66 64 | mkstemp(template);........if.(fd |
| 7960 | 20 3c 20 30 29 20 7b 00 00 00 12 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 2d 31 3b 00 00 00 | .<.0).{............return.-1;... |
| 7980 | 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 29 20 20 20 20 69 66 20 28 66 74 72 75 6e 63 | .....}...........)....if.(ftrunc |
| 79a0 | 61 74 65 28 66 64 2c 20 28 6f 66 66 5f 74 29 73 69 7a 65 29 20 3c 20 30 29 20 7b 00 00 00 12 20 | ate(fd,.(off_t)size).<.0).{..... |
| 79c0 | 20 20 20 20 20 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 19 20 20 20 20 20 20 20 20 75 6e 6c | .......close(fd);............unl |
| 79e0 | 69 6e 6b 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 12 20 20 20 20 20 20 20 20 72 65 74 75 72 6e | ink(template);............return |
| 7a00 | 20 2d 31 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 15 20 20 20 20 75 6e 6c | .-1;........}................unl |
| 7a20 | 69 6e 6b 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 0e 20 20 20 20 72 65 74 75 72 6e 20 66 64 3b | ink(template);........return.fd; |
| 7a40 | 00 00 00 01 7d 00 00 00 00 00 00 00 3d 73 74 61 74 69 63 20 73 74 72 75 63 74 20 77 6c 5f 62 75 | ....}.......=static.struct.wl_bu |
| 7a60 | 66 66 65 72 20 2a 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 69 6e 74 20 77 69 64 74 68 2c 20 69 | ffer.*create_buffer(int.width,.i |
| 7a80 | 6e 74 20 68 65 69 67 68 74 29 00 00 00 01 7b 00 00 00 1b 20 20 20 20 69 6e 74 20 73 74 72 69 64 | nt.height)....{........int.strid |
| 7aa0 | 65 20 3d 20 77 69 64 74 68 20 2a 20 34 3b 00 00 00 1f 20 20 20 20 69 6e 74 20 73 69 7a 65 20 3d | e.=.width.*.4;........int.size.= |
| 7ac0 | 20 73 74 72 69 64 65 20 2a 20 68 65 69 67 68 74 3b 00 00 00 0b 20 20 20 20 69 6e 74 20 66 64 3b | .stride.*.height;........int.fd; |
| 7ae0 | 00 00 00 1d 20 20 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 |
| 7b00 | 3b 00 00 00 1d 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 66 65 | ;........struct.wl_buffer.*buffe |
| 7b20 | 72 3b 00 00 00 04 20 20 20 20 00 00 00 1f 20 20 20 20 66 64 20 3d 20 63 72 65 61 74 65 5f 73 68 | r;................fd.=.create_sh |
| 7b40 | 6d 5f 66 69 6c 65 28 73 69 7a 65 29 3b 00 00 00 11 20 20 20 20 69 66 20 28 66 64 20 3c 20 30 29 | m_file(size);........if.(fd.<.0) |
| 7b60 | 20 7b 00 00 00 4c 20 20 20 20 20 20 20 20 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 66 | .{...L........fprintf(stderr,."f |
| 7b80 | 61 69 6c 65 64 20 74 6f 20 63 72 65 61 74 65 20 73 68 6d 20 66 69 6c 65 3a 20 25 73 5c 6e 22 2c | ailed.to.create.shm.file:.%s\n", |
| 7ba0 | 20 73 74 72 65 72 72 6f 72 28 65 72 72 6e 6f 29 29 3b 00 00 00 14 20 20 20 20 20 20 20 20 72 65 | .strerror(errno));............re |
| 7bc0 | 74 75 72 6e 20 4e 55 4c 4c 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 4d 20 | turn.NULL;........}...........M. |
| 7be0 | 20 20 20 70 69 78 65 6c 5f 64 61 74 61 20 3d 20 6d 6d 61 70 28 4e 55 4c 4c 2c 20 73 69 7a 65 2c | ...pixel_data.=.mmap(NULL,.size, |
| 7c00 | 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 53 48 41 | .PROT_READ.|.PROT_WRITE,.MAP_SHA |
| 7c20 | 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 23 20 20 20 20 69 66 20 28 70 69 78 65 6c 5f 64 61 | RED,.fd,.0);...#....if.(pixel_da |
| 7c40 | 74 61 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 20 7b 00 00 00 45 20 20 20 20 20 20 20 20 66 | ta.==.MAP_FAILED).{...E........f |
| 7c60 | 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 66 61 69 6c 65 64 20 74 6f 20 6d 6d 61 70 20 73 | printf(stderr,."failed.to.mmap.s |
| 7c80 | 68 6d 3a 20 25 73 5c 6e 22 2c 20 73 74 72 65 72 72 6f 72 28 65 72 72 6e 6f 29 29 3b 00 00 00 12 | hm:.%s\n",.strerror(errno));.... |
| 7ca0 | 20 20 20 20 20 20 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 14 20 20 20 20 20 20 20 20 72 65 | ........close(fd);............re |
| 7cc0 | 74 75 72 6e 20 4e 55 4c 4c 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 12 20 | turn.NULL;........}............. |
| 7ce0 | 20 20 20 64 72 61 77 5f 73 63 72 65 65 6e 28 29 3b 00 00 00 04 20 20 20 20 00 00 00 2d 20 20 20 | ...draw_screen();...........-... |
| 7d00 | 20 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 73 68 6d 2c 20 | .pool.=.wl_shm_create_pool(shm,. |
| 7d20 | 66 64 2c 20 73 69 7a 65 29 3b 00 00 00 46 20 20 20 20 62 75 66 66 65 72 20 3d 20 77 6c 5f 73 68 | fd,.size);...F....buffer.=.wl_sh |
| 7d40 | 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 20 30 2c 20 77 69 | m_pool_create_buffer(pool,.0,.wi |
| 7d60 | 64 74 68 2c 20 68 65 69 67 68 74 2c 20 73 74 72 69 64 65 2c 00 00 00 3f 20 20 20 20 20 20 20 20 | dth,.height,.stride,...?........ |
| 7d80 | 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 57 | ...............................W |
| 7da0 | 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 1e 20 20 20 20 77 | L_SHM_FORMAT_ARGB8888);........w |
| 7dc0 | 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 0e 20 20 20 | l_shm_pool_destroy(pool);....... |
| 7de0 | 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 04 20 20 20 20 00 00 00 12 20 20 20 20 72 65 74 75 72 | .close(fd);................retur |
| 7e00 | 6e 20 62 75 66 66 65 72 3b 00 00 00 01 7d 00 00 00 00 00 00 00 20 73 74 61 74 69 63 20 76 6f 69 | n.buffer;....}........static.voi |
| 7e20 | 64 20 64 65 73 74 72 6f 79 5f 62 75 66 66 65 72 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 18 20 | d.destroy_buffer(void)....{..... |
| 7e40 | 20 20 20 69 66 20 28 77 69 6e 64 6f 77 5f 62 75 66 66 65 72 29 20 7b 00 00 00 29 20 20 20 20 20 | ...if.(window_buffer).{...)..... |
| 7e60 | 20 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 77 69 6e 64 6f 77 5f 62 75 66 66 | ...wl_buffer_destroy(window_buff |
| 7e80 | 65 72 29 3b 00 00 00 1d 20 20 20 20 20 20 20 20 77 69 6e 64 6f 77 5f 62 75 66 66 65 72 20 3d 20 | er);............window_buffer.=. |
| 7ea0 | 4e 55 4c 4c 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 15 20 20 20 20 69 66 | NULL;........}................if |
| 7ec0 | 20 28 70 69 78 65 6c 5f 64 61 74 61 29 20 7b 00 00 00 3d 20 20 20 20 20 20 20 20 6d 75 6e 6d 61 | .(pixel_data).{...=........munma |
| 7ee0 | 70 28 70 69 78 65 6c 5f 64 61 74 61 2c 20 77 69 6e 64 6f 77 5f 77 69 64 74 68 20 2a 20 77 69 6e | p(pixel_data,.window_width.*.win |
| 7f00 | 64 6f 77 5f 68 65 69 67 68 74 20 2a 20 34 29 3b 00 00 00 1a 20 20 20 20 20 20 20 20 70 69 78 65 | dow_height.*.4);............pixe |
| 7f20 | 6c 5f 64 61 74 61 20 3d 20 4e 55 4c 4c 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 | l_data.=.NULL;........}....}.... |
| 7f40 | 00 00 00 30 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 73 69 7a 65 5f 77 69 6e 64 6f 77 28 69 6e | ...0static.void.resize_window(in |
| 7f60 | 74 20 77 69 64 74 68 2c 20 69 6e 74 20 68 65 69 67 68 74 29 00 00 00 01 7b 00 00 00 24 20 20 20 | t.width,.int.height)....{...$... |
| 7f80 | 20 69 66 20 28 77 69 64 74 68 20 3c 3d 20 30 20 7c 7c 20 68 65 69 67 68 74 20 3c 3d 20 30 29 20 | .if.(width.<=.0.||.height.<=.0). |
| 7fa0 | 7b 00 00 00 0f 20 20 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 | {............return;........}... |
| 7fc0 | 04 20 20 20 20 00 00 00 15 20 20 20 20 63 6f 6c 73 20 3d 20 77 69 64 74 68 20 2f 20 38 3b 00 00 | .............cols.=.width./.8;.. |
| 7fe0 | 00 17 20 20 20 20 72 6f 77 73 20 3d 20 68 65 69 67 68 74 20 2f 20 31 36 3b 00 00 00 04 20 20 20 | ......rows.=.height./.16;....... |
| 8000 | 20 00 00 00 1b 20 20 20 20 69 66 20 28 63 6f 6c 73 20 3c 20 31 29 20 63 6f 6c 73 20 3d 20 31 3b | .........if.(cols.<.1).cols.=.1; |
| 8020 | 00 00 00 1b 20 20 20 20 69 66 20 28 72 6f 77 73 20 3c 20 31 29 20 72 6f 77 73 20 3d 20 31 3b 00 | ........if.(rows.<.1).rows.=.1;. |
| 8040 | 00 00 04 20 20 20 20 00 00 00 15 20 20 20 20 64 65 73 74 72 6f 79 5f 62 75 66 66 65 72 28 29 3b | ...............destroy_buffer(); |
| 8060 | 00 00 00 19 20 20 20 20 77 69 6e 64 6f 77 5f 77 69 64 74 68 20 3d 20 77 69 64 74 68 3b 00 00 00 | ........window_width.=.width;... |
| 8080 | 1b 20 20 20 20 77 69 6e 64 6f 77 5f 68 65 69 67 68 74 20 3d 20 68 65 69 67 68 74 3b 00 00 00 3f | .....window_height.=.height;...? |
| 80a0 | 20 20 20 20 77 69 6e 64 6f 77 5f 62 75 66 66 65 72 20 3d 20 63 72 65 61 74 65 5f 62 75 66 66 65 | ....window_buffer.=.create_buffe |
| 80c0 | 72 28 77 69 6e 64 6f 77 5f 77 69 64 74 68 2c 20 77 69 6e 64 6f 77 5f 68 65 69 67 68 74 29 3b 00 | r(window_width,.window_height);. |
| 80e0 | 00 00 15 20 20 20 20 6e 65 65 64 73 5f 72 65 73 69 7a 65 20 3d 20 30 3b 00 00 00 04 20 20 20 20 | .......needs_resize.=.0;........ |
| 8100 | 00 00 00 1a 20 20 20 20 69 66 20 28 70 74 79 5f 6d 61 73 74 65 72 20 3e 3d 20 30 29 20 7b 00 00 | ........if.(pty_master.>=.0).{.. |
| 8120 | 00 1a 20 20 20 20 20 20 20 20 73 74 72 75 63 74 20 77 69 6e 73 69 7a 65 20 77 73 3b 00 00 00 19 | ..........struct.winsize.ws;.... |
| 8140 | 20 20 20 20 20 20 20 20 77 73 2e 77 73 5f 72 6f 77 20 3d 20 72 6f 77 73 3b 00 00 00 19 20 20 20 | ........ws.ws_row.=.rows;....... |
| 8160 | 20 20 20 20 20 77 73 2e 77 73 5f 63 6f 6c 20 3d 20 63 6f 6c 73 3b 00 00 00 1d 20 20 20 20 20 20 | .....ws.ws_col.=.cols;.......... |
| 8180 | 20 20 77 73 2e 77 73 5f 78 70 69 78 65 6c 20 3d 20 77 69 64 74 68 3b 00 00 00 1e 20 20 20 20 20 | ..ws.ws_xpixel.=.width;......... |
| 81a0 | 20 20 20 77 73 2e 77 73 5f 79 70 69 78 65 6c 20 3d 20 68 65 69 67 68 74 3b 00 00 00 2b 20 20 20 | ...ws.ws_ypixel.=.height;...+... |
| 81c0 | 20 20 20 20 20 69 6f 63 74 6c 28 70 74 79 5f 6d 61 73 74 65 72 2c 20 54 49 4f 43 53 57 49 4e 53 | .....ioctl(pty_master,.TIOCSWINS |
| 81e0 | 5a 2c 20 26 77 73 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 4f 73 74 | Z,.&ws);........}....}.......Ost |
| 8200 | 61 74 69 63 20 76 6f 69 64 20 66 72 61 6d 65 5f 64 6f 6e 65 28 76 6f 69 64 20 2a 64 61 74 61 2c | atic.void.frame_done(void.*data, |
| 8220 | 20 73 74 72 75 63 74 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 20 2a 63 61 6c 6c 62 61 63 6b 2c 20 75 | .struct.wl_callback.*callback,.u |
| 8240 | 69 6e 74 33 32 5f 74 20 74 69 6d 65 29 00 00 00 01 7b 00 00 00 13 20 20 20 20 69 66 20 28 63 61 | int32_t.time)....{........if.(ca |
| 8260 | 6c 6c 62 61 63 6b 29 20 7b 00 00 00 26 20 20 20 20 20 20 20 20 77 6c 5f 63 61 6c 6c 62 61 63 6b | llback).{...&........wl_callback |
| 8280 | 5f 64 65 73 74 72 6f 79 28 63 61 6c 6c 62 61 63 6b 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 | _destroy(callback);........}.... |
| 82a0 | 20 20 20 20 00 00 00 17 20 20 20 20 69 66 20 28 6e 65 65 64 73 5f 72 65 73 69 7a 65 29 20 7b 00 | ............if.(needs_resize).{. |
| 82c0 | 00 00 35 20 20 20 20 20 20 20 20 72 65 73 69 7a 65 5f 77 69 6e 64 6f 77 28 70 65 6e 64 69 6e 67 | ..5........resize_window(pending |
| 82e0 | 5f 77 69 64 74 68 2c 20 70 65 6e 64 69 6e 67 5f 68 65 69 67 68 74 29 3b 00 00 00 1a 20 20 20 20 | _width,.pending_height);........ |
| 8300 | 20 20 20 20 70 65 6e 64 69 6e 67 5f 77 69 64 74 68 20 3d 20 30 3b 00 00 00 1b 20 20 20 20 20 20 | ....pending_width.=.0;.......... |
| 8320 | 20 20 70 65 6e 64 69 6e 67 5f 68 65 69 67 68 74 20 3d 20 30 3b 00 00 00 05 20 20 20 20 7d 00 00 | ..pending_height.=.0;........}.. |
| 8340 | 00 04 20 20 20 20 00 00 00 12 20 20 20 20 64 72 61 77 5f 73 63 72 65 65 6e 28 29 3b 00 00 00 04 | ..............draw_screen();.... |
| 8360 | 20 20 20 20 00 00 00 18 20 20 20 20 69 66 20 28 77 69 6e 64 6f 77 5f 62 75 66 66 65 72 29 20 7b | ............if.(window_buffer).{ |
| 8380 | 00 00 00 38 20 20 20 20 20 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 73 75 | ...8........wl_surface_attach(su |
| 83a0 | 72 66 61 63 65 2c 20 77 69 6e 64 6f 77 5f 62 75 66 66 65 72 2c 20 30 2c 20 30 29 3b 00 00 00 46 | rface,.window_buffer,.0,.0);...F |
| 83c0 | 20 20 20 20 20 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 61 6d 61 67 65 28 73 75 72 66 61 63 | ........wl_surface_damage(surfac |
| 83e0 | 65 2c 20 30 2c 20 30 2c 20 77 69 6e 64 6f 77 5f 77 69 64 74 68 2c 20 77 69 6e 64 6f 77 5f 68 65 | e,.0,.0,.window_width,.window_he |
| 8400 | 69 67 68 74 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 3f 20 20 20 20 73 | ight);........}...........?....s |
| 8420 | 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 5f 6c | tatic.const.struct.wl_callback_l |
| 8440 | 69 73 74 65 6e 65 72 20 66 72 61 6d 65 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 1a 20 20 | istener.frame_listener.=.{...... |
| 8460 | 20 20 20 20 20 20 2e 64 6f 6e 65 20 3d 20 66 72 61 6d 65 5f 64 6f 6e 65 00 00 00 06 20 20 20 20 | .......done.=.frame_done........ |
| 8480 | 7d 3b 00 00 00 04 20 20 20 20 00 00 00 2f 20 20 20 20 66 72 61 6d 65 5f 63 61 6c 6c 62 61 63 6b | };.........../....frame_callback |
| 84a0 | 20 3d 20 77 6c 5f 73 75 72 66 61 63 65 5f 66 72 61 6d 65 28 73 75 72 66 61 63 65 29 3b 00 00 00 | .=.wl_surface_frame(surface);... |
| 84c0 | 44 20 20 20 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 66 72 | D....wl_callback_add_listener(fr |
| 84e0 | 61 6d 65 5f 63 61 6c 6c 62 61 63 6b 2c 20 26 66 72 61 6d 65 5f 6c 69 73 74 65 6e 65 72 2c 20 4e | ame_callback,.&frame_listener,.N |
| 8500 | 55 4c 4c 29 3b 00 00 00 1f 20 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 73 | ULL);........wl_surface_commit(s |
| 8520 | 75 72 66 61 63 65 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 5a 73 74 61 74 69 63 20 76 6f 69 64 | urface);....}.......Zstatic.void |
| 8540 | 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 69 6e 67 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 | .xdg_wm_base_ping(void.*data,.st |
| 8560 | 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 78 64 67 5f 77 6d 5f 62 61 73 65 2c 20 75 | ruct.xdg_wm_base.*xdg_wm_base,.u |
| 8580 | 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 00 00 00 01 7b 00 00 00 2a 20 20 20 20 78 64 67 5f | int32_t.serial)....{...*....xdg_ |
| 85a0 | 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 78 64 67 5f 77 6d 5f 62 61 73 65 2c 20 73 65 72 69 61 6c | wm_base_pong(xdg_wm_base,.serial |
| 85c0 | 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 3d 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 | );....}.......=static.const.stru |
| 85e0 | 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 62 61 73 65 5f | ct.xdg_wm_base_listener.wm_base_ |
| 8600 | 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 1d 20 20 20 20 2e 70 69 6e 67 20 3d 20 78 64 67 5f | listener.=.{.........ping.=.xdg_ |
| 8620 | 77 6d 5f 62 61 73 65 5f 70 69 6e 67 2c 00 00 00 02 7d 3b 00 00 00 00 00 00 00 51 73 74 61 74 69 | wm_base_ping,....};.......Qstati |
| 8640 | 63 20 76 6f 69 64 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 63 6f 6e 66 69 67 75 72 65 28 76 6f | c.void.xdg_toplevel_configure(vo |
| 8660 | 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 | id.*data,.struct.xdg_toplevel.*x |
| 8680 | 64 67 5f 74 6f 70 6c 65 76 65 6c 2c 00 00 00 51 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | dg_toplevel,...Q................ |
| 86a0 | 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 77 2c 20 69 6e | ...................int32_t.w,.in |
| 86c0 | 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 73 74 61 74 65 73 | t32_t.h,.struct.wl_array.*states |
| 86e0 | 29 00 00 00 01 7b 00 00 00 19 20 20 20 20 69 66 20 28 77 20 3e 20 30 20 26 26 20 68 20 3e 20 30 | )....{........if.(w.>.0.&&.h.>.0 |
| 8700 | 29 20 7b 00 00 00 1a 20 20 20 20 20 20 20 20 70 65 6e 64 69 6e 67 5f 77 69 64 74 68 20 3d 20 77 | ).{............pending_width.=.w |
| 8720 | 3b 00 00 00 1b 20 20 20 20 20 20 20 20 70 65 6e 64 69 6e 67 5f 68 65 69 67 68 74 20 3d 20 68 3b | ;............pending_height.=.h; |
| 8740 | 00 00 00 19 20 20 20 20 20 20 20 20 6e 65 65 64 73 5f 72 65 73 69 7a 65 20 3d 20 31 3b 00 00 00 | ............needs_resize.=.1;... |
| 8760 | 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 4d 73 74 61 74 69 63 20 76 6f 69 64 20 78 | .....}....}.......Mstatic.void.x |
| 8780 | 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 63 6c 6f 73 65 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 | dg_toplevel_close(void.*data,.st |
| 87a0 | 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 64 67 5f 74 6f 70 6c 65 76 65 6c 29 | ruct.xdg_toplevel.*xdg_toplevel) |
| 87c0 | 00 00 00 01 7b 00 00 00 1c 20 20 20 20 70 75 74 73 28 22 74 65 72 6d 69 6e 61 6c 20 63 6c 6f 73 | ....{........puts("terminal.clos |
| 87e0 | 65 64 22 29 3b 00 00 00 10 20 20 20 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 00 00 00 01 7d 00 00 | ed");........running.=.0;....}.. |
| 8800 | 00 00 00 00 00 3f 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 |
| 8820 | 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 | plevel_listener.toplevel_listene |
| 8840 | 72 20 3d 20 7b 00 00 00 28 20 20 20 20 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 64 67 5f 74 6f | r.=.{...(.....configure.=.xdg_to |
| 8860 | 70 6c 65 76 65 6c 5f 63 6f 6e 66 69 67 75 72 65 2c 00 00 00 20 20 20 20 20 2e 63 6c 6f 73 65 20 | plevel_configure,.........close. |
| 8880 | 3d 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 63 6c 6f 73 65 2c 00 00 00 02 7d 3b 00 00 00 00 00 | =.xdg_toplevel_close,....};..... |
| 88a0 | 00 00 5f 73 74 61 74 69 63 20 76 6f 69 64 20 78 64 67 5f 73 75 72 66 61 63 65 5f 63 6f 6e 66 69 | .._static.void.xdg_surface_confi |
| 88c0 | 67 75 72 65 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 | gure(void.*data,.struct.xdg_surf |
| 88e0 | 61 63 65 20 2a 78 64 67 5f 73 75 72 66 61 63 65 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 | ace.*xdg_surface,.uint32_t.seria |
| 8900 | 6c 29 00 00 00 01 7b 00 00 00 33 20 20 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 63 6b 5f 63 | l)....{...3....xdg_surface_ack_c |
| 8920 | 6f 6e 66 69 67 75 72 65 28 78 64 67 5f 73 75 72 66 61 63 65 2c 20 73 65 72 69 61 6c 29 3b 00 00 | onfigure(xdg_surface,.serial);.. |
| 8940 | 00 04 20 20 20 20 00 00 00 19 20 20 20 20 69 66 20 28 21 77 69 6e 64 6f 77 5f 62 75 66 66 65 72 | ..............if.(!window_buffer |
| 8960 | 29 20 7b 00 00 00 43 20 20 20 20 20 20 20 20 77 69 6e 64 6f 77 5f 62 75 66 66 65 72 20 3d 20 63 | ).{...C........window_buffer.=.c |
| 8980 | 72 65 61 74 65 5f 62 75 66 66 65 72 28 77 69 6e 64 6f 77 5f 77 69 64 74 68 2c 20 77 69 6e 64 6f | reate_buffer(window_width,.windo |
| 89a0 | 77 5f 68 65 69 67 68 74 29 3b 00 00 00 22 20 20 20 20 20 20 20 20 66 72 61 6d 65 5f 64 6f 6e 65 | w_height);..."........frame_done |
| 89c0 | 28 4e 55 4c 4c 2c 20 4e 55 4c 4c 2c 20 30 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 | (NULL,.NULL,.0);........}....}.. |
| 89e0 | 00 00 00 00 00 41 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 | .....Astatic.const.struct.xdg_su |
| 8a00 | 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 20 78 64 67 5f 73 75 72 66 61 63 65 5f 6c 69 73 74 65 | rface_listener.xdg_surface_liste |
| 8a20 | 6e 65 72 20 3d 20 7b 00 00 00 27 20 20 20 20 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 64 67 5f | ner.=.{...'.....configure.=.xdg_ |
| 8a40 | 73 75 72 66 61 63 65 5f 63 6f 6e 66 69 67 75 72 65 2c 00 00 00 02 7d 3b 00 00 00 00 00 00 00 48 | surface_configure,....};.......H |
| 8a60 | 73 74 61 74 69 63 20 76 6f 69 64 20 6b 65 79 62 6f 61 72 64 5f 6b 65 79 6d 61 70 28 76 6f 69 64 | static.void.keyboard_keymap(void |
| 8a80 | 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 77 6c 5f 6b | .*data,.struct.wl_keyboard.*wl_k |
| 8aa0 | 65 79 62 6f 61 72 64 2c 00 00 00 47 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | eyboard,...G.................... |
| 8ac0 | 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 66 6f 72 6d 61 74 2c 20 69 6e 74 33 32 5f 74 | ........uint32_t.format,.int32_t |
| 8ae0 | 20 66 64 2c 20 75 69 6e 74 33 32 5f 74 20 73 69 7a 65 29 00 00 00 01 7b 00 00 00 0e 20 20 20 20 | .fd,.uint32_t.size)....{........ |
| 8b00 | 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 47 73 74 61 74 69 63 20 76 6f | close(fd);....}.......Gstatic.vo |
| 8b20 | 69 64 20 6b 65 79 62 6f 61 72 64 5f 65 6e 74 65 72 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 | id.keyboard_enter(void.*data,.st |
| 8b40 | 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 77 6c 5f 6b 65 79 62 6f 61 72 64 2c 00 00 | ruct.wl_keyboard.*wl_keyboard,.. |
| 8b60 | 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 20 20 20 20 75 69 6e | .G...........................uin |
| 8b80 | 74 33 32 5f 74 20 73 65 72 69 61 6c 2c 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 | t32_t.serial,.struct.wl_surface. |
| 8ba0 | 2a 73 75 72 66 61 63 65 2c 00 00 00 31 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | *surface,...1................... |
| 8bc0 | 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 6b 65 79 73 29 00 00 | ........struct.wl_array.*keys).. |
| 8be0 | 00 01 7b 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 6b 65 79 62 | ..{....}.......Gstatic.void.keyb |
| 8c00 | 6f 61 72 64 5f 6c 65 61 76 65 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c | oard_leave(void.*data,.struct.wl |
| 8c20 | 5f 6b 65 79 62 6f 61 72 64 20 2a 77 6c 5f 6b 65 79 62 6f 61 72 64 2c 00 00 00 47 20 20 20 20 20 | _keyboard.*wl_keyboard,...G..... |
| 8c40 | 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 73 | ......................uint32_t.s |
| 8c60 | 65 72 69 61 6c 2c 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 72 66 61 63 | erial,.struct.wl_surface.*surfac |
| 8c80 | 65 29 00 00 00 01 7b 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 | e)....{....}.......Estatic.void. |
| 8ca0 | 6b 65 79 62 6f 61 72 64 5f 6b 65 79 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 | keyboard_key(void.*data,.struct. |
| 8cc0 | 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 77 6c 5f 6b 65 79 62 6f 61 72 64 2c 00 00 00 46 20 20 20 | wl_keyboard.*wl_keyboard,...F... |
| 8ce0 | 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 73 | ......................uint32_t.s |
| 8d00 | 65 72 69 61 6c 2c 20 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 6b | erial,.uint32_t.time,.uint32_t.k |
| 8d20 | 65 79 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 | ey,...(......................... |
| 8d40 | 75 69 6e 74 33 32 5f 74 20 73 74 61 74 65 29 00 00 00 01 7b 00 00 00 44 20 20 20 20 69 66 20 28 | uint32_t.state)....{...D....if.( |
| 8d60 | 73 74 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 | state.==.WL_KEYBOARD_KEY_STATE_P |
| 8d80 | 52 45 53 53 45 44 20 26 26 20 70 74 79 5f 6d 61 73 74 65 72 20 3e 3d 20 30 29 20 7b 00 00 00 13 | RESSED.&&.pty_master.>=.0).{.... |
| 8da0 | 20 20 20 20 20 20 20 20 63 68 61 72 20 63 20 3d 20 30 3b 00 00 00 08 20 20 20 20 20 20 20 20 00 | ........char.c.=.0;............. |
| 8dc0 | 00 00 23 20 20 20 20 20 20 20 20 69 66 20 28 6b 65 79 20 3e 3d 20 38 20 26 26 20 6b 65 79 20 3c | ..#........if.(key.>=.8.&&.key.< |
| 8de0 | 3d 20 39 29 20 7b 00 00 00 29 20 20 20 20 20 20 20 20 20 20 20 20 63 20 3d 20 28 6b 65 79 20 3d | =.9).{...)............c.=.(key.= |
| 8e00 | 3d 20 38 29 20 3f 20 30 78 37 66 20 3a 20 30 78 30 39 3b 00 00 00 2c 20 20 20 20 20 20 20 20 7d | =.8).?.0x7f.:.0x09;...,........} |
| 8e20 | 20 65 6c 73 65 20 69 66 20 28 6b 65 79 20 3e 3d 20 31 36 20 26 26 20 6b 65 79 20 3c 3d 20 32 35 | .else.if.(key.>=.16.&&.key.<=.25 |
| 8e40 | 29 20 7b 00 00 00 21 20 20 20 20 20 20 20 20 20 20 20 20 63 20 3d 20 27 71 27 20 2b 20 28 6b 65 | ).{...!............c.=.'q'.+.(ke |
| 8e60 | 79 20 2d 20 31 36 29 3b 00 00 00 2c 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 6b | y.-.16);...,........}.else.if.(k |
| 8e80 | 65 79 20 3e 3d 20 32 36 20 26 26 20 6b 65 79 20 3c 3d 20 33 35 29 20 7b 00 00 00 21 20 20 20 20 | ey.>=.26.&&.key.<=.35).{...!.... |
| 8ea0 | 20 20 20 20 20 20 20 20 63 20 3d 20 27 61 27 20 2b 20 28 6b 65 79 20 2d 20 32 36 29 3b 00 00 00 | ........c.=.'a'.+.(key.-.26);... |
| 8ec0 | 2c 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 6b 65 79 20 3e 3d 20 33 36 20 26 26 | ,........}.else.if.(key.>=.36.&& |
| 8ee0 | 20 6b 65 79 20 3c 3d 20 34 35 29 20 7b 00 00 00 21 20 20 20 20 20 20 20 20 20 20 20 20 63 20 3d | .key.<=.45).{...!............c.= |
| 8f00 | 20 27 7a 27 20 2b 20 28 6b 65 79 20 2d 20 33 36 29 3b 00 00 00 2c 20 20 20 20 20 20 20 20 7d 20 | .'z'.+.(key.-.36);...,........}. |
| 8f20 | 65 6c 73 65 20 69 66 20 28 6b 65 79 20 3e 3d 20 34 36 20 26 26 20 6b 65 79 20 3c 3d 20 35 35 29 | else.if.(key.>=.46.&&.key.<=.55) |
| 8f40 | 20 7b 00 00 00 21 20 20 20 20 20 20 20 20 20 20 20 20 63 20 3d 20 27 30 27 20 2b 20 28 6b 65 79 | .{...!............c.=.'0'.+.(key |
| 8f60 | 20 2d 20 34 36 29 3b 00 00 00 1f 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 6b 65 | .-.46);............}.else.if.(ke |
| 8f80 | 79 20 3d 3d 20 35 37 29 20 7b 00 00 00 14 20 20 20 20 20 20 20 20 20 20 20 20 63 20 3d 20 27 20 | y.==.57).{................c.=.'. |
| 8fa0 | 27 3b 00 00 00 1f 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 6b 65 79 20 3d 3d 20 | ';............}.else.if.(key.==. |
| 8fc0 | 35 38 29 20 7b 00 00 00 15 20 20 20 20 20 20 20 20 20 20 20 20 63 20 3d 20 27 5c 6e 27 3b 00 00 | 58).{................c.=.'\n';.. |
| 8fe0 | 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 08 20 20 20 20 20 20 20 20 00 00 00 10 20 20 20 20 20 | ..........}..................... |
| 9000 | 20 20 20 69 66 20 28 63 29 20 7b 00 00 00 25 20 20 20 20 20 20 20 20 20 20 20 20 77 72 69 74 65 | ...if.(c).{...%............write |
| 9020 | 28 70 74 79 5f 6d 61 73 74 65 72 2c 20 26 63 2c 20 31 29 3b 00 00 00 09 20 20 20 20 20 20 20 20 | (pty_master,.&c,.1);............ |
| 9040 | 7d 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 4b 73 74 61 74 69 63 20 76 6f | }........}....}.......Kstatic.vo |
| 9060 | 69 64 20 6b 65 79 62 6f 61 72 64 5f 6d 6f 64 69 66 69 65 72 73 28 76 6f 69 64 20 2a 64 61 74 61 | id.keyboard_modifiers(void.*data |
| 9080 | 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 77 6c 5f 6b 65 79 62 6f 61 72 | ,.struct.wl_keyboard.*wl_keyboar |
| 90a0 | 64 2c 00 00 00 48 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | d,...H.......................... |
| 90c0 | 20 20 20 20 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 6d | .....uint32_t.serial,.uint32_t.m |
| 90e0 | 6f 64 73 5f 64 65 70 72 65 73 73 65 64 2c 00 00 00 4b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ods_depressed,...K.............. |
| 9100 | 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 6d 6f 64 73 5f 6c | .................uint32_t.mods_l |
| 9120 | 61 74 63 68 65 64 2c 20 75 69 6e 74 33 32 5f 74 20 6d 6f 64 73 5f 6c 6f 63 6b 65 64 2c 00 00 00 | atched,.uint32_t.mods_locked,... |
| 9140 | 2e 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 | ................................ |
| 9160 | 75 69 6e 74 33 32 5f 74 20 67 72 6f 75 70 29 00 00 00 01 7b 00 00 00 01 7d 00 00 00 00 00 00 00 | uint32_t.group)....{....}....... |
| 9180 | 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 |
| 91a0 | 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.=.{. |
| 91c0 | 00 00 1e 20 20 20 20 2e 6b 65 79 6d 61 70 20 3d 20 6b 65 79 62 6f 61 72 64 5f 6b 65 79 6d 61 70 | ........keymap.=.keyboard_keymap |
| 91e0 | 2c 00 00 00 1c 20 20 20 20 2e 65 6e 74 65 72 20 3d 20 6b 65 79 62 6f 61 72 64 5f 65 6e 74 65 72 | ,.........enter.=.keyboard_enter |
| 9200 | 2c 00 00 00 1c 20 20 20 20 2e 6c 65 61 76 65 20 3d 20 6b 65 79 62 6f 61 72 64 5f 6c 65 61 76 65 | ,.........leave.=.keyboard_leave |
| 9220 | 2c 00 00 00 18 20 20 20 20 2e 6b 65 79 20 3d 20 6b 65 79 62 6f 61 72 64 5f 6b 65 79 2c 00 00 00 | ,.........key.=.keyboard_key,... |
| 9240 | 24 20 20 20 20 2e 6d 6f 64 69 66 69 65 72 73 20 3d 20 6b 65 79 62 6f 61 72 64 5f 6d 6f 64 69 66 | $.....modifiers.=.keyboard_modif |
| 9260 | 69 65 72 73 2c 00 00 00 02 7d 3b 00 00 00 00 00 00 00 59 73 74 61 74 69 63 20 76 6f 69 64 20 73 | iers,....};.......Ystatic.void.s |
| 9280 | 65 61 74 5f 63 61 70 61 62 69 6c 69 74 69 65 73 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 | eat_capabilities(void.*data,.str |
| 92a0 | 75 63 74 20 77 6c 5f 73 65 61 74 20 2a 77 6c 5f 73 65 61 74 2c 20 75 69 6e 74 33 32 5f 74 20 63 | uct.wl_seat.*wl_seat,.uint32_t.c |
| 92c0 | 61 70 61 62 69 6c 69 74 69 65 73 29 00 00 00 01 7b 00 00 00 35 20 20 20 20 69 66 20 28 63 61 70 | apabilities)....{...5....if.(cap |
| 92e0 | 61 62 69 6c 69 74 69 65 73 20 26 20 57 4c 5f 53 45 41 54 5f 43 41 50 41 42 49 4c 49 54 59 5f 4b | abilities.&.WL_SEAT_CAPABILITY_K |
| 9300 | 45 59 42 4f 41 52 44 29 20 7b 00 00 00 31 20 20 20 20 20 20 20 20 6b 65 79 62 6f 61 72 64 20 3d | EYBOARD).{...1........keyboard.= |
| 9320 | 20 77 6c 5f 73 65 61 74 5f 67 65 74 5f 6b 65 79 62 6f 61 72 64 28 77 6c 5f 73 65 61 74 29 3b 00 | .wl_seat_get_keyboard(wl_seat);. |
| 9340 | 00 00 45 20 20 20 20 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 | ..E........wl_keyboard_add_liste |
| 9360 | 6e 65 72 28 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 | ner(keyboard,.&keyboard_listener |
| 9380 | 2c 20 4e 55 4c 4c 29 3b 00 00 00 23 20 20 20 20 20 20 20 20 70 75 74 73 28 22 6b 65 79 62 6f 61 | ,.NULL);...#........puts("keyboa |
| 93a0 | 72 64 20 61 76 61 69 6c 61 62 6c 65 22 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 | rd.available");........}....}... |
| 93c0 | 00 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 73 65 61 74 | ....6static.const.struct.wl_seat |
| 93e0 | 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 00 00 00 26 20 | _listener.seat_listener.=.{...&. |
| 9400 | 20 20 20 2e 63 61 70 61 62 69 6c 69 74 69 65 73 20 3d 20 73 65 61 74 5f 63 61 70 61 62 69 6c 69 | ....capabilities.=.seat_capabili |
| 9420 | 74 69 65 73 2c 00 00 00 02 7d 3b 00 00 00 00 00 00 00 43 73 74 61 74 69 63 20 76 6f 69 64 20 68 | ties,....};.......Cstatic.void.h |
| 9440 | 61 6e 64 6c 65 5f 67 6c 6f 62 61 6c 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 | andle_global(void.*data,.struct. |
| 9460 | 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 69 73 74 72 79 2c 00 00 00 51 20 20 20 20 20 20 | wl_registry.*registry,...Q...... |
| 9480 | 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 6e 61 6d | ....................uint32_t.nam |
| 94a0 | 65 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 6e 74 65 72 66 61 63 65 2c 20 75 69 6e 74 33 32 | e,.const.char.*interface,.uint32 |
| 94c0 | 5f 74 20 76 65 72 73 69 6f 6e 29 00 00 00 01 7b 00 00 00 32 20 20 20 20 69 66 20 28 73 74 72 63 | _t.version)....{...2....if.(strc |
| 94e0 | 6d 70 28 69 6e 74 65 72 66 61 63 65 2c 20 22 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 22 29 20 3d | mp(interface,."wl_compositor").= |
| 9500 | 3d 20 30 29 20 7b 00 00 00 53 20 20 20 20 20 20 20 20 63 6f 6d 70 6f 73 69 74 6f 72 20 3d 20 77 | =.0).{...S........compositor.=.w |
| 9520 | 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 6e 61 6d 65 2c 20 | l_registry_bind(registry,.name,. |
| 9540 | 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 20 34 29 3b 00 00 00 | &wl_compositor_interface,.4);... |
| 9560 | 32 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d 70 28 69 6e 74 65 72 66 61 63 65 | 2....}.else.if.(strcmp(interface |
| 9580 | 2c 20 22 77 6c 5f 73 68 6d 22 29 20 3d 3d 20 30 29 20 7b 00 00 00 45 20 20 20 20 20 20 20 20 73 | ,."wl_shm").==.0).{...E........s |
| 95a0 | 68 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 | hm.=.wl_registry_bind(registry,. |
| 95c0 | 6e 61 6d 65 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 37 | name,.&wl_shm_interface,.1);...7 |
| 95e0 | 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d 70 28 69 6e 74 65 72 66 61 63 65 2c | ....}.else.if.(strcmp(interface, |
| 9600 | 20 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 20 3d 3d 20 30 29 20 7b 00 00 00 4e 20 20 20 20 20 | ."xdg_wm_base").==.0).{...N..... |
| 9620 | 20 20 20 77 6d 5f 62 61 73 65 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 | ...wm_base.=.wl_registry_bind(re |
| 9640 | 67 69 73 74 72 79 2c 20 6e 61 6d 65 2c 20 26 78 64 67 5f 77 6d 5f 62 61 73 65 5f 69 6e 74 65 72 | gistry,.name,.&xdg_wm_base_inter |
| 9660 | 66 61 63 65 2c 20 31 29 3b 00 00 00 43 20 20 20 20 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 | face,.1);...C........xdg_wm_base |
| 9680 | 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 77 6d 5f 62 61 73 65 2c 20 26 77 6d 5f 62 61 73 65 5f | _add_listener(wm_base,.&wm_base_ |
| 96a0 | 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 33 20 20 20 20 7d 20 65 6c 73 65 20 69 | listener,.NULL);...3....}.else.i |
| 96c0 | 66 20 28 73 74 72 63 6d 70 28 69 6e 74 65 72 66 61 63 65 2c 20 22 77 6c 5f 73 65 61 74 22 29 20 | f.(strcmp(interface,."wl_seat"). |
| 96e0 | 3d 3d 20 30 29 20 7b 00 00 00 47 20 20 20 20 20 20 20 20 73 65 61 74 20 3d 20 77 6c 5f 72 65 67 | ==.0).{...G........seat.=.wl_reg |
| 9700 | 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 6e 61 6d 65 2c 20 26 77 6c 5f 73 | istry_bind(registry,.name,.&wl_s |
| 9720 | 65 61 74 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 39 20 20 20 20 20 20 20 20 77 6c | eat_interface,.1);...9........wl |
| 9740 | 5f 73 65 61 74 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 73 65 61 74 2c 20 26 73 65 61 74 5f 6c | _seat_add_listener(seat,.&seat_l |
| 9760 | 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 | istener,.NULL);........}....}... |
| 9780 | 00 00 00 00 59 73 74 61 74 69 63 20 76 6f 69 64 20 68 61 6e 64 6c 65 5f 67 6c 6f 62 61 6c 5f 72 | ....Ystatic.void.handle_global_r |
| 97a0 | 65 6d 6f 76 65 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 | emove(void.*data,.struct.wl_regi |
| 97c0 | 73 74 72 79 20 2a 72 65 67 69 73 74 72 79 2c 20 75 69 6e 74 33 32 5f 74 20 6e 61 6d 65 29 00 00 | stry.*registry,.uint32_t.name).. |
| 97e0 | 00 01 7b 00 00 00 0f 20 20 20 20 28 76 6f 69 64 29 64 61 74 61 3b 00 00 00 13 20 20 20 20 28 76 | ..{........(void)data;........(v |
| 9800 | 6f 69 64 29 72 65 67 69 73 74 72 79 3b 00 00 00 0f 20 20 20 20 28 76 6f 69 64 29 6e 61 6d 65 3b | oid)registry;........(void)name; |
| 9820 | 00 00 00 01 7d 00 00 00 00 00 00 00 3e 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 | ....}.......>static.const.struct |
| 9840 | 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 69 73 74 72 79 5f 6c | .wl_registry_listener.registry_l |
| 9860 | 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 1c 20 20 20 20 2e 67 6c 6f 62 61 6c 20 3d 20 68 61 6e | istener.=.{.........global.=.han |
| 9880 | 64 6c 65 5f 67 6c 6f 62 61 6c 2c 00 00 00 2a 20 20 20 20 2e 67 6c 6f 62 61 6c 5f 72 65 6d 6f 76 | dle_global,...*.....global_remov |
| 98a0 | 65 20 3d 20 68 61 6e 64 6c 65 5f 67 6c 6f 62 61 6c 5f 72 65 6d 6f 76 65 2c 00 00 00 02 7d 3b 00 | e.=.handle_global_remove,....};. |
| 98c0 | 00 00 00 00 00 00 1d 73 74 61 74 69 63 20 76 6f 69 64 20 63 6c 65 61 6e 75 70 5f 70 74 79 28 76 | .......static.void.cleanup_pty(v |
| 98e0 | 6f 69 64 29 00 00 00 01 7b 00 00 00 18 20 20 20 20 69 66 20 28 73 68 65 6c 6c 5f 70 69 64 20 3e | oid)....{........if.(shell_pid.> |
| 9900 | 20 30 29 20 7b 00 00 00 21 20 20 20 20 20 20 20 20 6b 69 6c 6c 28 73 68 65 6c 6c 5f 70 69 64 2c | .0).{...!........kill(shell_pid, |
| 9920 | 20 53 49 47 54 45 52 4d 29 3b 00 00 00 24 20 20 20 20 20 20 20 20 77 61 69 74 70 69 64 28 73 68 | .SIGTERM);...$........waitpid(sh |
| 9940 | 65 6c 6c 5f 70 69 64 2c 20 4e 55 4c 4c 2c 20 30 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 | ell_pid,.NULL,.0);........}..... |
| 9960 | 20 20 20 00 00 00 1a 20 20 20 20 69 66 20 28 70 74 79 5f 6d 61 73 74 65 72 20 3e 3d 20 30 29 20 | ...........if.(pty_master.>=.0). |
| 9980 | 7b 00 00 00 1a 20 20 20 20 20 20 20 20 63 6c 6f 73 65 28 70 74 79 5f 6d 61 73 74 65 72 29 3b 00 | {............close(pty_master);. |
| 99a0 | 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 19 20 20 20 20 69 66 20 28 70 74 79 5f | .......}................if.(pty_ |
| 99c0 | 73 6c 61 76 65 20 3e 3d 20 30 29 20 7b 00 00 00 19 20 20 20 20 20 20 20 20 63 6c 6f 73 65 28 70 | slave.>=.0).{............close(p |
| 99e0 | 74 79 5f 73 6c 61 76 65 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 1a | ty_slave);........}....}........ |
| 9a00 | 73 74 61 74 69 63 20 69 6e 74 20 73 65 74 75 70 5f 70 74 79 28 76 6f 69 64 29 00 00 00 01 7b 00 | static.int.setup_pty(void)....{. |
| 9a20 | 00 00 18 20 20 20 20 73 74 72 75 63 74 20 74 65 72 6d 69 6f 73 20 74 65 72 6d 3b 00 00 00 04 20 | .......struct.termios.term;..... |
| 9a40 | 20 20 20 00 00 00 36 20 20 20 20 70 74 79 5f 6d 61 73 74 65 72 20 3d 20 6f 70 65 6e 28 22 2f 64 | ......6....pty_master.=.open("/d |
| 9a60 | 65 76 2f 70 74 6d 78 22 2c 20 4f 5f 52 44 57 52 20 7c 20 4f 5f 4e 4f 43 54 54 59 29 3b 00 00 00 | ev/ptmx",.O_RDWR.|.O_NOCTTY);... |
| 9a80 | 19 20 20 20 20 69 66 20 28 70 74 79 5f 6d 61 73 74 65 72 20 3c 20 30 29 20 7b 00 00 00 26 20 20 | .....if.(pty_master.<.0).{...&.. |
| 9aa0 | 20 20 20 20 20 20 70 65 72 72 6f 72 28 22 66 61 69 6c 65 64 20 74 6f 20 6f 70 65 6e 20 70 74 6d | ......perror("failed.to.open.ptm |
| 9ac0 | 78 22 29 3b 00 00 00 12 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 2d 31 3b 00 00 00 05 20 20 | x");............return.-1;...... |
| 9ae0 | 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 22 20 20 20 20 69 66 20 28 67 72 61 6e 74 70 74 28 70 | ..}..........."....if.(grantpt(p |
| 9b00 | 74 79 5f 6d 61 73 74 65 72 29 20 3c 20 30 29 20 7b 00 00 00 21 20 20 20 20 20 20 20 20 70 65 72 | ty_master).<.0).{...!........per |
| 9b20 | 72 6f 72 28 22 67 72 61 6e 74 70 74 20 66 61 69 6c 65 64 22 29 3b 00 00 00 12 20 20 20 20 20 20 | ror("grantpt.failed");.......... |
| 9b40 | 20 20 72 65 74 75 72 6e 20 2d 31 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 | ..return.-1;........}........... |
| 9b60 | 23 20 20 20 20 69 66 20 28 75 6e 6c 6f 63 6b 70 74 28 70 74 79 5f 6d 61 73 74 65 72 29 20 3c 20 | #....if.(unlockpt(pty_master).<. |
| 9b80 | 30 29 20 7b 00 00 00 22 20 20 20 20 20 20 20 20 70 65 72 72 6f 72 28 22 75 6e 6c 6f 63 6b 70 74 | 0).{..."........perror("unlockpt |
| 9ba0 | 20 66 61 69 6c 65 64 22 29 3b 00 00 00 12 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 2d 31 3b | .failed");............return.-1; |
| 9bc0 | 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 3d 20 20 20 20 70 74 79 5f 73 6c 61 | ........}...........=....pty_sla |
| 9be0 | 76 65 20 3d 20 6f 70 65 6e 28 70 74 73 6e 61 6d 65 28 70 74 79 5f 6d 61 73 74 65 72 29 2c 20 4f | ve.=.open(ptsname(pty_master),.O |
| 9c00 | 5f 52 44 57 52 20 7c 20 4f 5f 4e 4f 43 54 54 59 29 3b 00 00 00 18 20 20 20 20 69 66 20 28 70 74 | _RDWR.|.O_NOCTTY);........if.(pt |
| 9c20 | 79 5f 73 6c 61 76 65 20 3c 20 30 29 20 7b 00 00 00 2b 20 20 20 20 20 20 20 20 70 65 72 72 6f 72 | y_slave.<.0).{...+........perror |
| 9c40 | 28 22 66 61 69 6c 65 64 20 74 6f 20 6f 70 65 6e 20 73 6c 61 76 65 20 70 74 79 22 29 3b 00 00 00 | ("failed.to.open.slave.pty");... |
| 9c60 | 12 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 2d 31 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 | .........return.-1;........}.... |
| 9c80 | 20 20 20 20 00 00 00 20 20 20 20 20 74 63 67 65 74 61 74 74 72 28 70 74 79 5f 73 6c 61 76 65 2c | ............tcgetattr(pty_slave, |
| 9ca0 | 20 26 74 65 72 6d 29 3b 00 00 00 15 20 20 20 20 63 66 6d 61 6b 65 72 61 77 28 26 74 65 72 6d 29 | .&term);........cfmakeraw(&term) |
| 9cc0 | 3b 00 00 00 29 20 20 20 20 74 63 73 65 74 61 74 74 72 28 70 74 79 5f 73 6c 61 76 65 2c 20 54 43 | ;...)....tcsetattr(pty_slave,.TC |
| 9ce0 | 53 41 4e 4f 57 2c 20 26 74 65 72 6d 29 3b 00 00 00 04 20 20 20 20 00 00 00 0d 20 20 20 20 72 65 | SANOW,.&term);................re |
| 9d00 | 74 75 72 6e 20 30 3b 00 00 00 01 7d 00 00 00 00 00 00 00 1b 73 74 61 74 69 63 20 76 6f 69 64 20 | turn.0;....}........static.void. |
| 9d20 | 72 75 6e 5f 73 68 65 6c 6c 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 17 20 20 20 20 73 68 65 6c | run_shell(void)....{........shel |
| 9d40 | 6c 5f 70 69 64 20 3d 20 66 6f 72 6b 28 29 3b 00 00 00 04 20 20 20 20 00 00 00 19 20 20 20 20 69 | l_pid.=.fork();................i |
| 9d60 | 66 20 28 73 68 65 6c 6c 5f 70 69 64 20 3d 3d 20 30 29 20 7b 00 00 00 11 20 20 20 20 20 20 20 20 | f.(shell_pid.==.0).{............ |
| 9d80 | 73 65 74 73 69 64 28 29 3b 00 00 00 08 20 20 20 20 20 20 20 20 00 00 00 1a 20 20 20 20 20 20 20 | setsid();....................... |
| 9da0 | 20 63 6c 6f 73 65 28 70 74 79 5f 6d 61 73 74 65 72 29 3b 00 00 00 08 20 20 20 20 20 20 20 20 00 | .close(pty_master);............. |
| 9dc0 | 00 00 27 20 20 20 20 20 20 20 20 69 6f 63 74 6c 28 70 74 79 5f 73 6c 61 76 65 2c 20 54 49 4f 43 | ..'........ioctl(pty_slave,.TIOC |
| 9de0 | 53 43 54 54 59 2c 20 30 29 3b 00 00 00 08 20 20 20 20 20 20 20 20 00 00 00 1b 20 20 20 20 20 20 | SCTTY,.0);...................... |
| 9e00 | 20 20 64 75 70 32 28 70 74 79 5f 73 6c 61 76 65 2c 20 30 29 3b 00 00 00 1b 20 20 20 20 20 20 20 | ..dup2(pty_slave,.0);........... |
| 9e20 | 20 64 75 70 32 28 70 74 79 5f 73 6c 61 76 65 2c 20 31 29 3b 00 00 00 1b 20 20 20 20 20 20 20 20 | .dup2(pty_slave,.1);............ |
| 9e40 | 64 75 70 32 28 70 74 79 5f 73 6c 61 76 65 2c 20 32 29 3b 00 00 00 08 20 20 20 20 20 20 20 20 00 | dup2(pty_slave,.2);............. |
| 9e60 | 00 00 19 20 20 20 20 20 20 20 20 63 6c 6f 73 65 28 70 74 79 5f 73 6c 61 76 65 29 3b 00 00 00 08 | ...........close(pty_slave);.... |
| 9e80 | 20 20 20 20 20 20 20 20 00 00 00 26 20 20 20 20 20 20 20 20 63 68 61 72 20 2a 73 68 65 6c 6c 20 | ...........&........char.*shell. |
| 9ea0 | 3d 20 67 65 74 65 6e 76 28 22 53 48 45 4c 4c 22 29 3b 00 00 00 15 20 20 20 20 20 20 20 20 69 66 | =.getenv("SHELL");............if |
| 9ec0 | 20 28 21 73 68 65 6c 6c 29 20 7b 00 00 00 1e 20 20 20 20 20 20 20 20 20 20 20 20 73 68 65 6c 6c | .(!shell).{................shell |
| 9ee0 | 20 3d 20 22 2f 62 69 6e 2f 73 68 22 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 08 20 20 | .=."/bin/sh";............}...... |
| 9f00 | 20 20 20 20 20 20 00 00 00 22 20 20 20 20 20 20 20 20 65 78 65 63 6c 28 73 68 65 6c 6c 2c 20 73 | ........."........execl(shell,.s |
| 9f20 | 68 65 6c 6c 2c 20 4e 55 4c 4c 29 3b 00 00 00 10 20 20 20 20 20 20 20 20 65 78 69 74 28 31 29 3b | hell,.NULL);............exit(1); |
| 9f40 | 00 00 00 1f 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 73 68 65 6c 6c 5f 70 69 64 20 3c 20 30 | ........}.else.if.(shell_pid.<.0 |
| 9f60 | 29 20 7b 00 00 00 1e 20 20 20 20 20 20 20 20 70 65 72 72 6f 72 28 22 66 6f 72 6b 20 66 61 69 6c | ).{............perror("fork.fail |
| 9f80 | 65 64 22 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 15 20 20 20 20 63 6c | ed");........}................cl |
| 9fa0 | 6f 73 65 28 70 74 79 5f 73 6c 61 76 65 29 3b 00 00 00 13 20 20 20 20 70 74 79 5f 73 6c 61 76 65 | ose(pty_slave);........pty_slave |
| 9fc0 | 20 3d 20 2d 31 3b 00 00 00 01 7d 00 00 00 00 00 00 00 0e 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 | .=.-1;....}........int.main(void |
| 9fe0 | 29 00 00 00 01 7b 00 00 00 21 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 | )....{...!....struct.wl_registry |
| a000 | 20 2a 72 65 67 69 73 74 72 79 3b 00 00 00 16 20 20 20 20 73 74 72 75 63 74 20 77 69 6e 73 69 7a | .*registry;........struct.winsiz |
| a020 | 65 20 77 73 3b 00 00 00 04 20 20 20 20 00 00 00 10 20 20 20 20 69 6e 69 74 5f 66 6f 6e 74 28 29 | e.ws;................init_font() |
| a040 | 3b 00 00 00 04 20 20 20 20 00 00 00 1d 20 20 20 20 73 69 67 6e 61 6c 28 53 49 47 43 48 4c 44 2c | ;................signal(SIGCHLD, |
| a060 | 20 53 49 47 5f 49 47 4e 29 3b 00 00 00 04 20 20 20 20 00 00 00 1a 20 20 20 20 69 66 20 28 73 65 | .SIG_IGN);................if.(se |
| a080 | 74 75 70 5f 70 74 79 28 29 20 3c 20 30 29 20 7b 00 00 00 11 20 20 20 20 20 20 20 20 72 65 74 75 | tup_pty().<.0).{............retu |
| a0a0 | 72 6e 20 31 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 15 20 20 20 20 77 73 | rn.1;........}................ws |
| a0c0 | 2e 77 73 5f 72 6f 77 20 3d 20 72 6f 77 73 3b 00 00 00 15 20 20 20 20 77 73 2e 77 73 5f 63 6f 6c | .ws_row.=.rows;........ws.ws_col |
| a0e0 | 20 3d 20 63 6f 6c 73 3b 00 00 00 20 20 20 20 20 77 73 2e 77 73 5f 78 70 69 78 65 6c 20 3d 20 77 | .=.cols;........ws.ws_xpixel.=.w |
| a100 | 69 6e 64 6f 77 5f 77 69 64 74 68 3b 00 00 00 21 20 20 20 20 77 73 2e 77 73 5f 79 70 69 78 65 6c | indow_width;...!....ws.ws_ypixel |
| a120 | 20 3d 20 77 69 6e 64 6f 77 5f 68 65 69 67 68 74 3b 00 00 00 27 20 20 20 20 69 6f 63 74 6c 28 70 | .=.window_height;...'....ioctl(p |
| a140 | 74 79 5f 6d 61 73 74 65 72 2c 20 54 49 4f 43 53 57 49 4e 53 5a 2c 20 26 77 73 29 3b 00 00 00 04 | ty_master,.TIOCSWINSZ,.&ws);.... |
| a160 | 20 20 20 20 00 00 00 10 20 20 20 20 72 75 6e 5f 73 68 65 6c 6c 28 29 3b 00 00 00 04 20 20 20 20 | ............run_shell();........ |
| a180 | 00 00 00 27 20 20 20 20 64 69 73 70 6c 61 79 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 6f 6e | ...'....display.=.wl_display_con |
| a1a0 | 6e 65 63 74 28 4e 55 4c 4c 29 3b 00 00 00 13 20 20 20 20 69 66 20 28 21 64 69 73 70 6c 61 79 29 | nect(NULL);........if.(!display) |
| a1c0 | 20 7b 00 00 00 42 20 20 20 20 20 20 20 20 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 66 | .{...B........fprintf(stderr,."f |
| a1e0 | 61 69 6c 65 64 20 74 6f 20 63 6f 6e 6e 65 63 74 20 74 6f 20 77 61 79 6c 61 6e 64 20 64 69 73 70 | ailed.to.connect.to.wayland.disp |
| a200 | 6c 61 79 5c 6e 22 29 3b 00 00 00 16 20 20 20 20 20 20 20 20 63 6c 65 61 6e 75 70 5f 70 74 79 28 | lay\n");............cleanup_pty( |
| a220 | 29 3b 00 00 00 11 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 05 20 20 20 20 7d | );............return.1;........} |
| a240 | 00 00 00 04 20 20 20 20 00 00 00 30 20 20 20 20 72 65 67 69 73 74 72 79 20 3d 20 77 6c 5f 64 69 | ...........0....registry.=.wl_di |
| a260 | 73 70 6c 61 79 5f 67 65 74 5f 72 65 67 69 73 74 72 79 28 64 69 73 70 6c 61 79 29 3b 00 00 00 41 | splay_get_registry(display);...A |
| a280 | 20 20 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 72 65 67 | ....wl_registry_add_listener(reg |
| a2a0 | 69 73 74 72 79 2c 20 26 72 65 67 69 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 | istry,.®istry_listener,.NULL) |
| a2c0 | 3b 00 00 00 22 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 64 69 | ;..."....wl_display_roundtrip(di |
| a2e0 | 73 70 6c 61 79 29 3b 00 00 00 04 20 20 20 20 00 00 00 2a 20 20 20 20 69 66 20 28 21 63 6f 6d 70 | splay);...........*....if.(!comp |
| a300 | 6f 73 69 74 6f 72 20 7c 7c 20 21 73 68 6d 20 7c 7c 20 21 77 6d 5f 62 61 73 65 29 20 7b 00 00 00 | ositor.||.!shm.||.!wm_base).{... |
| a320 | 47 20 20 20 20 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 64 | G........fprintf(stderr,."failed |
| a340 | 20 74 6f 20 67 65 74 20 72 65 71 75 69 72 65 64 20 77 61 79 6c 61 6e 64 20 69 6e 74 65 72 66 61 | .to.get.required.wayland.interfa |
| a360 | 63 65 73 5c 6e 22 29 3b 00 00 00 16 20 20 20 20 20 20 20 20 63 6c 65 61 6e 75 70 5f 70 74 79 28 | ces\n");............cleanup_pty( |
| a380 | 29 3b 00 00 00 11 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 05 20 20 20 20 7d | );............return.1;........} |
| a3a0 | 00 00 00 04 20 20 20 20 00 00 00 37 20 20 20 20 73 75 72 66 61 63 65 20 3d 20 77 6c 5f 63 6f 6d | ...........7....surface.=.wl_com |
| a3c0 | 70 6f 73 69 74 6f 72 5f 63 72 65 61 74 65 5f 73 75 72 66 61 63 65 28 63 6f 6d 70 6f 73 69 74 6f | positor_create_surface(composito |
| a3e0 | 72 29 3b 00 00 00 40 20 20 20 20 78 64 67 5f 73 75 72 66 61 63 65 20 3d 20 78 64 67 5f 77 6d 5f | r);...@....xdg_surface.=.xdg_wm_ |
| a400 | 62 61 73 65 5f 67 65 74 5f 78 64 67 5f 73 75 72 66 61 63 65 28 77 6d 5f 62 61 73 65 2c 20 73 75 | base_get_xdg_surface(wm_base,.su |
| a420 | 72 66 61 63 65 29 3b 00 00 00 47 20 20 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c | rface);...G....xdg_surface_add_l |
| a440 | 69 73 74 65 6e 65 72 28 78 64 67 5f 73 75 72 66 61 63 65 2c 20 26 78 64 67 5f 73 75 72 66 61 63 | istener(xdg_surface,.&xdg_surfac |
| a460 | 65 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 04 20 20 20 20 00 00 00 35 20 20 | e_listener,.NULL);...........5.. |
| a480 | 20 20 74 6f 70 6c 65 76 65 6c 20 3d 20 78 64 67 5f 73 75 72 66 61 63 65 5f 67 65 74 5f 74 6f 70 | ..toplevel.=.xdg_surface_get_top |
| a4a0 | 6c 65 76 65 6c 28 78 64 67 5f 73 75 72 66 61 63 65 29 3b 00 00 00 42 20 20 20 20 78 64 67 5f 74 | level(xdg_surface);...B....xdg_t |
| a4c0 | 6f 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 74 6f 70 6c 65 76 65 6c 2c 20 26 | oplevel_add_listener(toplevel,.& |
| a4e0 | 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 40 20 20 20 | toplevel_listener,.NULL);...@... |
| a500 | 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 74 69 74 6c 65 28 74 6f 70 6c 65 76 65 6c | .xdg_toplevel_set_title(toplevel |
| a520 | 2c 20 22 73 69 6d 70 6c 65 20 77 61 79 6c 61 6e 64 20 74 65 72 6d 69 6e 61 6c 22 29 3b 00 00 00 | ,."simple.wayland.terminal");... |
| a540 | 41 20 20 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 61 70 70 5f 69 64 28 74 6f 70 | A....xdg_toplevel_set_app_id(top |
| a560 | 6c 65 76 65 6c 2c 20 22 73 69 6d 70 6c 65 2d 77 61 79 6c 61 6e 64 2d 74 65 72 6d 69 6e 61 6c 22 | level,."simple-wayland-terminal" |
| a580 | 29 3b 00 00 00 04 20 20 20 20 00 00 00 1f 20 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d | );................wl_surface_com |
| a5a0 | 6d 69 74 28 73 75 72 66 61 63 65 29 3b 00 00 00 04 20 20 20 20 00 00 00 2d 20 20 20 20 70 72 69 | mit(surface);...........-....pri |
| a5c0 | 6e 74 66 28 22 74 65 72 6d 69 6e 61 6c 20 63 72 65 61 74 65 64 2e 20 72 75 6e 6e 69 6e 67 2e 2e | ntf("terminal.created..running.. |
| a5e0 | 2e 5c 6e 22 29 3b 00 00 00 3b 20 20 20 20 70 72 69 6e 74 66 28 22 74 79 70 65 20 63 6f 6d 6d 61 | .\n");...;....printf("type.comma |
| a600 | 6e 64 73 20 69 6e 20 74 68 65 20 77 69 6e 64 6f 77 20 74 6f 20 72 75 6e 20 61 20 73 68 65 6c 6c | nds.in.the.window.to.run.a.shell |
| a620 | 5c 6e 22 29 3b 00 00 00 04 20 20 20 20 00 00 00 3b 20 20 20 20 77 68 69 6c 65 20 28 72 75 6e 6e | \n");...........;....while.(runn |
| a640 | 69 6e 67 20 26 26 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 28 64 69 73 70 6c | ing.&&.wl_display_dispatch(displ |
| a660 | 61 79 29 20 21 3d 20 2d 31 29 20 7b 00 00 00 16 20 20 20 20 20 20 20 20 63 68 61 72 20 62 75 66 | ay).!=.-1).{............char.buf |
| a680 | 5b 32 35 36 5d 3b 00 00 00 33 20 20 20 20 20 20 20 20 69 6e 74 20 6e 20 3d 20 72 65 61 64 28 70 | [256];...3........int.n.=.read(p |
| a6a0 | 74 79 5f 6d 61 73 74 65 72 2c 20 62 75 66 2c 20 73 69 7a 65 6f 66 28 62 75 66 29 29 3b 00 00 00 | ty_master,.buf,.sizeof(buf));... |
| a6c0 | 08 20 20 20 20 20 20 20 20 00 00 00 14 20 20 20 20 20 20 20 20 69 66 20 28 6e 20 3e 20 30 29 20 | .....................if.(n.>.0). |
| a6e0 | 7b 00 00 00 12 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 69 3b 00 00 00 25 20 20 20 20 20 | {................int.i;...%..... |
| a700 | 20 20 20 20 20 20 20 66 6f 72 20 28 69 20 3d 20 30 3b 20 69 20 3c 20 6e 3b 20 69 2b 2b 29 20 7b | .......for.(i.=.0;.i.<.n;.i++).{ |
| a720 | 00 00 00 25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 62 75 66 5b 69 5d 20 3d | ...%................if.(buf[i].= |
| a740 | 3d 20 27 5c 6e 27 29 20 7b 00 00 00 21 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | =.'\n').{...!................... |
| a760 | 20 63 75 72 73 6f 72 5f 78 20 3d 20 30 3b 00 00 00 1f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .cursor_x.=.0;.................. |
| a780 | 20 20 20 20 20 20 63 75 72 73 6f 72 5f 79 2b 2b 3b 00 00 00 2b 20 20 20 20 20 20 20 20 20 20 20 | ......cursor_y++;...+........... |
| a7a0 | 20 20 20 20 20 20 20 20 20 69 66 20 28 63 75 72 73 6f 72 5f 79 20 3e 3d 20 72 6f 77 73 29 20 7b | .........if.(cursor_y.>=.rows).{ |
| a7c0 | 00 00 00 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 73 | ...,........................curs |
| a7e0 | 6f 72 5f 79 20 3d 20 72 6f 77 73 20 2d 20 31 3b 00 00 00 15 20 20 20 20 20 20 20 20 20 20 20 20 | or_y.=.rows.-.1;................ |
| a800 | 20 20 20 20 20 20 20 20 7d 00 00 00 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 | ........}...,................}.e |
| a820 | 6c 73 65 20 69 66 20 28 62 75 66 5b 69 5d 20 3d 3d 20 27 5c 72 27 29 20 7b 00 00 00 21 20 20 20 | lse.if.(buf[i].==.'\r').{...!... |
| a840 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 73 6f 72 5f 78 20 3d 20 30 3b 00 00 | .................cursor_x.=.0;.. |
| a860 | 00 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 62 75 66 | .>................}.else.if.(buf |
| a880 | 5b 69 5d 20 3d 3d 20 27 5c 62 27 20 7c 7c 20 62 75 66 5b 69 5d 20 3d 3d 20 30 78 37 66 29 20 7b | [i].==.'\b'.||.buf[i].==.0x7f).{ |
| a8a0 | 00 00 00 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 75 72 73 | ...'....................if.(curs |
| a8c0 | 6f 72 5f 78 20 3e 20 30 29 20 7b 00 00 00 23 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | or_x.>.0).{...#................. |
| a8e0 | 20 20 20 20 20 20 20 63 75 72 73 6f 72 5f 78 2d 2d 3b 00 00 00 15 20 20 20 20 20 20 20 20 20 20 | .......cursor_x--;.............. |
| a900 | 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d | ..........}...:................} |
| a920 | 20 65 6c 73 65 20 69 66 20 28 62 75 66 5b 69 5d 20 3e 3d 20 33 32 20 26 26 20 62 75 66 5b 69 5d | .else.if.(buf[i].>=.32.&&.buf[i] |
| a940 | 20 3c 20 31 32 37 29 20 7b 00 00 00 1f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .<.127).{....................... |
| a960 | 20 63 75 72 73 6f 72 5f 78 2b 2b 3b 00 00 00 2b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .cursor_x++;...+................ |
| a980 | 20 20 20 20 69 66 20 28 63 75 72 73 6f 72 5f 78 20 3e 3d 20 63 6f 6c 73 29 20 7b 00 00 00 25 20 | ....if.(cursor_x.>=.cols).{...%. |
| a9a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 73 6f 72 5f 78 20 | .......................cursor_x. |
| a9c0 | 3d 20 30 3b 00 00 00 23 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | =.0;...#........................ |
| a9e0 | 63 75 72 73 6f 72 5f 79 2b 2b 3b 00 00 00 2f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | cursor_y++;.../................. |
| aa00 | 20 20 20 20 20 20 20 69 66 20 28 63 75 72 73 6f 72 5f 79 20 3e 3d 20 72 6f 77 73 29 20 7b 00 00 | .......if.(cursor_y.>=.rows).{.. |
| aa20 | 00 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 75 | .0............................cu |
| aa40 | 72 73 6f 72 5f 79 20 3d 20 72 6f 77 73 20 2d 20 31 3b 00 00 00 19 20 20 20 20 20 20 20 20 20 20 | rsor_y.=.rows.-.1;.............. |
| aa60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 15 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..............}................. |
| aa80 | 20 20 20 20 20 20 20 7d 00 00 00 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 | .......}....................}... |
| aaa0 | 0d 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 1c 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 | .............}............}.else |
| aac0 | 20 69 66 20 28 6e 20 3d 3d 20 30 29 20 7b 00 00 00 18 20 20 20 20 20 20 20 20 20 20 20 20 72 75 | .if.(n.==.0).{................ru |
| aae0 | 6e 6e 69 6e 67 20 3d 20 30 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d | nning.=.0;............}........} |
| ab00 | 00 00 00 04 20 20 20 20 00 00 00 12 20 20 20 20 63 6c 65 61 6e 75 70 5f 70 74 79 28 29 3b 00 00 | ................cleanup_pty();.. |
| ab20 | 00 04 20 20 20 20 00 00 00 19 20 20 20 20 69 66 20 28 66 72 61 6d 65 5f 63 61 6c 6c 62 61 63 6b | ..............if.(frame_callback |
| ab40 | 29 20 7b 00 00 00 2c 20 20 20 20 20 20 20 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 5f 64 65 73 74 72 | ).{...,........wl_callback_destr |
| ab60 | 6f 79 28 66 72 61 6d 65 5f 63 61 6c 6c 62 61 63 6b 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 | oy(frame_callback);........}.... |
| ab80 | 20 20 20 20 00 00 00 13 20 20 20 20 69 66 20 28 6b 65 79 62 6f 61 72 64 29 20 7b 00 00 00 26 20 | ............if.(keyboard).{...&. |
| aba0 | 20 20 20 20 20 20 20 77 6c 5f 6b 65 79 62 6f 61 72 64 5f 64 65 73 74 72 6f 79 28 6b 65 79 62 6f | .......wl_keyboard_destroy(keybo |
| abc0 | 61 72 64 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 0f 20 20 20 20 69 66 | ard);........}................if |
| abe0 | 20 28 73 65 61 74 29 20 7b 00 00 00 1e 20 20 20 20 20 20 20 20 77 6c 5f 73 65 61 74 5f 64 65 73 | .(seat).{............wl_seat_des |
| ac00 | 74 72 6f 79 28 73 65 61 74 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 15 | troy(seat);........}............ |
| ac20 | 20 20 20 20 64 65 73 74 72 6f 79 5f 62 75 66 66 65 72 28 29 3b 00 00 00 04 20 20 20 20 00 00 00 | ....destroy_buffer();........... |
| ac40 | 23 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 74 6f 70 6c 65 76 | #....xdg_toplevel_destroy(toplev |
| ac60 | 65 6c 29 3b 00 00 00 25 20 20 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 64 65 73 74 72 6f 79 28 | el);...%....xdg_surface_destroy( |
| ac80 | 78 64 67 5f 73 75 72 66 61 63 65 29 3b 00 00 00 20 20 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f | xdg_surface);........wl_surface_ |
| aca0 | 64 65 73 74 72 6f 79 28 73 75 72 66 61 63 65 29 3b 00 00 00 21 20 20 20 20 78 64 67 5f 77 6d 5f | destroy(surface);...!....xdg_wm_ |
| acc0 | 62 61 73 65 5f 64 65 73 74 72 6f 79 28 77 6d 5f 62 61 73 65 29 3b 00 00 00 26 20 20 20 20 77 6c | base_destroy(wm_base);...&....wl |
| ace0 | 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 64 65 73 74 72 6f 79 28 63 6f 6d 70 6f 73 69 74 6f 72 29 3b | _compositor_destroy(compositor); |
| ad00 | 00 00 00 18 20 20 20 20 77 6c 5f 73 68 6d 5f 64 65 73 74 72 6f 79 28 73 68 6d 29 3b 00 00 00 22 | ........wl_shm_destroy(shm);..." |
| ad20 | 20 20 20 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 64 65 73 74 72 6f 79 28 72 65 67 69 73 74 72 79 | ....wl_registry_destroy(registry |
| ad40 | 29 3b 00 00 00 23 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 63 6f 6e 6e 65 63 74 28 | );...#....wl_display_disconnect( |
| ad60 | 64 69 73 70 6c 61 79 29 3b 00 00 00 04 20 20 20 20 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 | display);................return. |
| ad80 | 30 3b 00 00 00 01 7d 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 4d 02 00 00 00 00 00 00 01 | 0;....}5...............M........ |
| ada0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 36 3d 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 | ...............6=..............5 |
| adc0 | 81 5f d0 00 00 00 07 00 00 00 09 00 00 00 00 00 00 00 00 00 00 00 08 00 00 00 01 00 00 00 00 00 | ._.............................. |
| ade0 | 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 00 00 00 00 00 | ................................ |
| ae00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ae20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ae40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ae60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ae80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| aea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| aec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| aee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| af00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| af20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| af40 | 00 00 00 00 00 6a 01 0d 79 04 01 00 00 00 07 00 f5 18 00 00 01 c8 00 00 00 00 00 00 00 00 00 00 | .....j..y....................... |
| af60 | 00 01 00 00 00 01 20 f5 18 00 00 01 c9 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 36 00 | ..............................6. |
| af80 | 00 00 00 00 00 00 00 00 00 00 01 00 00 00 2b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..............+................. |
| afa0 | 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 2c 20 75 f5 18 00 00 01 37 | ........uint32_t.serial,.u.....7 |
| afc0 | 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 9b 00 00 00 00 00 00 00 00 00 00 00 01 00 00 | ................................ |
| afe0 | 00 0a 20 20 20 20 66 64 20 3d 20 63 f5 18 00 00 00 9c 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 | ......fd.=.c.................... |
| b000 | 00 00 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 | ................................ |
| b020 | 00 00 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 9b 00 | ......5......................... |
| b040 | 00 00 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f9 0f 00 00 00 00 00 00 f5 18 | ................................ |
| b060 | 00 00 00 00 9b 00 00 00 0a 00 00 00 00 00 00 00 00 00 00 00 9b 00 00 00 2b 00 00 00 f9 0f 00 00 | ........................+....... |
| b080 | 00 00 00 00 00 00 00 00 00 00 00 00 ff 0f 00 00 00 00 00 00 f5 18 00 00 00 00 36 01 00 00 2b 00 | ..........................6...+. |
| b0a0 | 00 00 00 00 00 00 00 00 00 00 92 00 00 00 01 00 00 00 f8 1f 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b0c0 | 00 00 ff 0f 00 00 00 00 00 00 f5 18 00 00 00 00 c8 01 00 00 01 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b0e0 | 8a 00 00 00 01 00 00 00 f7 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 4f 0e 00 00 00 00 00 00 | ........./..............O....... |
| b100 | 35 81 5f d0 00 00 00 08 00 00 00 0a 00 00 00 00 00 00 00 00 00 00 00 09 00 00 00 01 00 00 00 00 | 5._............................. |
| b120 | 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 00 | ................................ |
| b140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b1a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b1c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b1e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b280 | 00 00 00 00 00 00 6a 01 0e 4d 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 00 00 00 00 | ......j..M...................... |
| b2a0 | 00 02 53 00 00 00 19 23 64 65 66 69 6e 65 20 5f 58 4f 50 45 4e 5f 53 4f 55 52 43 45 20 36 30 30 | ..S....#define._XOPEN_SOURCE.600 |
| b2c0 | 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 |
| b2e0 | 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 |
| b300 | 67 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 75 6e 69 73 74 64 2e 68 3e 00 00 00 15 23 | g.h>....#include.<unistd.h>....# |
| b320 | 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e 68 3e 00 00 00 16 23 69 6e 63 6c 75 64 65 | include.<sys/mman.h>....#include |
| b340 | 20 3c 73 79 73 2f 69 6f 63 74 6c 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f | .<sys/ioctl.h>....#include.<sys/ |
| b360 | 77 61 69 74 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 73 74 61 74 2e 68 3e | wait.h>....#include.<sys/stat.h> |
| b380 | 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 12 23 69 6e 63 6c 75 | ....#include.<fcntl.h>....#inclu |
| b3a0 | 64 65 20 3c 65 72 72 6e 6f 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 69 67 6e 61 6c | de.<errno.h>....#include.<signal |
| b3c0 | 2e 68 3e 00 00 00 14 23 69 6e 63 6c 75 64 65 20 3c 74 65 72 6d 69 6f 73 2e 68 3e 00 00 00 1b 23 | .h>....#include.<termios.h>....# |
| b3e0 | 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 3e 00 00 00 26 23 69 | include.<wayland-client.h>...&#i |
| b400 | 6e 63 6c 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 | nclude."xdg-shell-client-protoco |
| b420 | 6c 2e 68 22 00 00 00 00 00 00 00 22 73 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 20 2a 64 | l.h"......."struct.wl_display.*d |
| b440 | 69 73 70 6c 61 79 20 3d 20 4e 55 4c 4c 3b 00 00 00 28 73 74 72 75 63 74 20 77 6c 5f 63 6f 6d 70 | isplay.=.NULL;...(struct.wl_comp |
| b460 | 6f 73 69 74 6f 72 20 2a 63 6f 6d 70 6f 73 69 74 6f 72 20 3d 20 4e 55 4c 4c 3b 00 00 00 22 73 74 | ositor.*compositor.=.NULL;..."st |
| b480 | 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 72 66 61 63 65 20 3d 20 4e 55 4c 4c 3b | ruct.wl_surface.*surface.=.NULL; |
| b4a0 | 00 00 00 1a 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d 20 3d 20 4e 55 4c 4c 3b 00 00 | ....struct.wl_shm.*shm.=.NULL;.. |
| b4c0 | 00 1c 73 74 72 75 63 74 20 77 6c 5f 73 65 61 74 20 2a 73 65 61 74 20 3d 20 4e 55 4c 4c 3b 00 00 | ..struct.wl_seat.*seat.=.NULL;.. |
| b4e0 | 00 24 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 20 3d | .$struct.wl_keyboard.*keyboard.= |
| b500 | 20 4e 55 4c 4c 3b 00 00 00 23 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d | .NULL;...#struct.xdg_wm_base.*wm |
| b520 | 5f 62 61 73 65 20 3d 20 4e 55 4c 4c 3b 00 00 00 27 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 | _base.=.NULL;...'struct.xdg_surf |
| b540 | 61 63 65 20 2a 78 64 67 5f 73 75 72 66 61 63 65 20 3d 20 4e 55 4c 4c 3b 00 00 00 25 73 74 72 75 | ace.*xdg_surface.=.NULL;...%stru |
| b560 | 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 74 6f 70 6c 65 76 65 6c 20 3d 20 4e 55 4c 4c | ct.xdg_toplevel.*toplevel.=.NULL |
| b580 | 3b 00 00 00 2a 73 74 72 75 63 74 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 20 2a 66 72 61 6d 65 5f 63 | ;...*struct.wl_callback.*frame_c |
| b5a0 | 61 6c 6c 62 61 63 6b 20 3d 20 4e 55 4c 4c 3b 00 00 00 00 00 00 00 17 73 74 61 74 69 63 20 69 6e | allback.=.NULL;........static.in |
| b5c0 | 74 20 72 75 6e 6e 69 6e 67 20 3d 20 31 3b 00 00 00 1e 73 74 61 74 69 63 20 69 6e 74 20 77 69 6e | t.running.=.1;....static.int.win |
| b5e0 | 64 6f 77 5f 77 69 64 74 68 20 3d 20 38 30 30 3b 00 00 00 1f 73 74 61 74 69 63 20 69 6e 74 20 77 | dow_width.=.800;....static.int.w |
| b600 | 69 6e 64 6f 77 5f 68 65 69 67 68 74 20 3d 20 36 30 30 3b 00 00 00 1d 73 74 61 74 69 63 20 69 6e | indow_height.=.600;....static.in |
| b620 | 74 20 70 65 6e 64 69 6e 67 5f 77 69 64 74 68 20 3d 20 30 3b 00 00 00 1e 73 74 61 74 69 63 20 69 | t.pending_width.=.0;....static.i |
| b640 | 6e 74 20 70 65 6e 64 69 6e 67 5f 68 65 69 67 68 74 20 3d 20 30 3b 00 00 00 1c 73 74 61 74 69 63 | nt.pending_height.=.0;....static |
| b660 | 20 69 6e 74 20 6e 65 65 64 73 5f 72 65 73 69 7a 65 20 3d 20 30 3b 00 00 00 28 73 74 61 74 69 63 | .int.needs_resize.=.0;...(static |
| b680 | 20 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 70 69 78 65 6c 5f 64 61 74 61 20 3d 20 4e 55 4c | .unsigned.char.*pixel_data.=.NUL |
| b6a0 | 4c 3b 00 00 00 2e 73 74 61 74 69 63 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 77 | L;....static.struct.wl_buffer.*w |
| b6c0 | 69 6e 64 6f 77 5f 62 75 66 66 65 72 20 3d 20 4e 55 4c 4c 3b 00 00 00 00 00 00 00 1b 73 74 61 74 | indow_buffer.=.NULL;........stat |
| b6e0 | 69 63 20 69 6e 74 20 70 74 79 5f 6d 61 73 74 65 72 20 3d 20 2d 31 3b 00 00 00 1a 73 74 61 74 69 | ic.int.pty_master.=.-1;....stati |
| b700 | 63 20 69 6e 74 20 70 74 79 5f 73 6c 61 76 65 20 3d 20 2d 31 3b 00 00 00 1c 73 74 61 74 69 63 20 | c.int.pty_slave.=.-1;....static. |
| b720 | 70 69 64 5f 74 20 73 68 65 6c 6c 5f 70 69 64 20 3d 20 2d 31 3b 00 00 00 15 73 74 61 74 69 63 20 | pid_t.shell_pid.=.-1;....static. |
| b740 | 69 6e 74 20 72 6f 77 73 20 3d 20 32 34 3b 00 00 00 15 73 74 61 74 69 63 20 69 6e 74 20 63 6f 6c | int.rows.=.24;....static.int.col |
| b760 | 73 20 3d 20 38 30 3b 00 00 00 1a 73 74 61 74 69 63 20 69 6e 74 20 63 68 61 72 5f 77 69 64 74 68 | s.=.80;....static.int.char_width |
| b780 | 20 3d 20 38 3b 00 00 00 1c 73 74 61 74 69 63 20 69 6e 74 20 63 68 61 72 5f 68 65 69 67 68 74 20 | .=.8;....static.int.char_height. |
| b7a0 | 3d 20 31 36 3b 00 00 00 00 00 00 00 25 73 74 61 74 69 63 20 75 6e 73 69 67 6e 65 64 20 63 68 61 | =.16;.......%static.unsigned.cha |
| b7c0 | 72 20 66 6f 6e 74 5f 64 61 74 61 5b 34 30 39 36 5d 3b 00 00 00 18 73 74 61 74 69 63 20 69 6e 74 | r.font_data[4096];....static.int |
| b7e0 | 20 63 75 72 73 6f 72 5f 78 20 3d 20 30 3b 00 00 00 18 73 74 61 74 69 63 20 69 6e 74 20 63 75 72 | .cursor_x.=.0;....static.int.cur |
| b800 | 73 6f 72 5f 79 20 3d 20 30 3b 00 00 00 00 00 00 00 1b 73 74 61 74 69 63 20 76 6f 69 64 20 69 6e | sor_y.=.0;........static.void.in |
| b820 | 69 74 5f 66 6f 6e 74 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 0a 20 20 20 20 69 6e 74 20 69 3b | it_font(void)....{........int.i; |
| b840 | 00 00 00 20 20 20 20 20 66 6f 72 20 28 69 20 3d 20 30 3b 20 69 20 3c 20 34 30 39 36 3b 20 69 2b | ........for.(i.=.0;.i.<.4096;.i+ |
| b860 | 2b 29 20 7b 00 00 00 19 20 20 20 20 20 20 20 20 66 6f 6e 74 5f 64 61 74 61 5b 69 5d 20 3d 20 30 | +).{............font_data[i].=.0 |
| b880 | 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 20 20 20 20 20 66 6f 72 20 28 69 | ;........}................for.(i |
| b8a0 | 20 3d 20 33 32 3b 20 69 20 3c 20 31 32 37 3b 20 69 2b 2b 29 20 7b 00 00 00 2c 20 20 20 20 20 20 | .=.32;.i.<.127;.i++).{...,...... |
| b8c0 | 20 20 66 6f 6e 74 5f 64 61 74 61 5b 28 69 20 2d 20 33 32 29 20 2a 20 31 36 20 2b 20 30 5d 20 3d | ..font_data[(i.-.32).*.16.+.0].= |
| b8e0 | 20 30 78 30 30 3b 00 00 00 2c 20 20 20 20 20 20 20 20 66 6f 6e 74 5f 64 61 74 61 5b 28 69 20 2d | .0x00;...,........font_data[(i.- |
| b900 | 20 33 32 29 20 2a 20 31 36 20 2b 20 31 5d 20 3d 20 30 78 30 30 3b 00 00 00 2c 20 20 20 20 20 20 | .32).*.16.+.1].=.0x00;...,...... |
| b920 | 20 20 66 6f 6e 74 5f 64 61 74 61 5b 28 69 20 2d 20 33 32 29 20 2a 20 31 36 20 2b 20 32 5d 20 3d | ..font_data[(i.-.32).*.16.+.2].= |
| b940 | 20 30 78 30 30 3b 00 00 00 2c 20 20 20 20 20 20 20 20 66 6f 6e 74 5f 64 61 74 61 5b 28 69 20 2d | .0x00;...,........font_data[(i.- |
| b960 | 20 33 32 29 20 2a 20 31 36 20 2b 20 33 5d 20 3d 20 30 78 30 30 3b 00 00 00 2c 20 20 20 20 20 20 | .32).*.16.+.3].=.0x00;...,...... |
| b980 | 20 20 66 6f 6e 74 5f 64 61 74 61 5b 28 69 20 2d 20 33 32 29 20 2a 20 31 36 20 2b 20 34 5d 20 3d | ..font_data[(i.-.32).*.16.+.4].= |
| b9a0 | 20 30 78 30 30 3b 00 00 00 2c 20 20 20 20 20 20 20 20 66 6f 6e 74 5f 64 61 74 61 5b 28 69 20 2d | .0x00;...,........font_data[(i.- |
| b9c0 | 20 33 32 29 20 2a 20 31 36 20 2b 20 35 5d 20 3d 20 30 78 30 30 3b 00 00 00 2c 20 20 20 20 20 20 | .32).*.16.+.5].=.0x00;...,...... |
| b9e0 | 20 20 66 6f 6e 74 5f 64 61 74 61 5b 28 69 20 2d 20 33 32 29 20 2a 20 31 36 20 2b 20 36 5d 20 3d | ..font_data[(i.-.32).*.16.+.6].= |
| ba00 | 20 30 78 30 30 3b 00 00 00 2c 20 20 20 20 20 20 20 20 66 6f 6e 74 5f 64 61 74 61 5b 28 69 20 2d | .0x00;...,........font_data[(i.- |
| ba20 | 20 33 32 29 20 2a 20 31 36 20 2b 20 37 5d 20 3d 20 30 78 30 30 3b 00 00 00 2c 20 20 20 20 20 20 | .32).*.16.+.7].=.0x00;...,...... |
| ba40 | 20 20 66 6f 6e 74 5f 64 61 74 61 5b 28 69 20 2d 20 33 32 29 20 2a 20 31 36 20 2b 20 38 5d 20 3d | ..font_data[(i.-.32).*.16.+.8].= |
| ba60 | 20 30 78 30 30 3b 00 00 00 2c 20 20 20 20 20 20 20 20 66 6f 6e 74 5f 64 61 74 61 5b 28 69 20 2d | .0x00;...,........font_data[(i.- |
| ba80 | 20 33 32 29 20 2a 20 31 36 20 2b 20 39 5d 20 3d 20 30 78 30 30 3b 00 00 00 2d 20 20 20 20 20 20 | .32).*.16.+.9].=.0x00;...-...... |
| baa0 | 20 20 66 6f 6e 74 5f 64 61 74 61 5b 28 69 20 2d 20 33 32 29 20 2a 20 31 36 20 2b 20 31 30 5d 20 | ..font_data[(i.-.32).*.16.+.10]. |
| bac0 | 3d 20 30 78 30 30 3b 00 00 00 2d 20 20 20 20 20 20 20 20 66 6f 6e 74 5f 64 61 74 61 5b 28 69 20 | =.0x00;...-........font_data[(i. |
| bae0 | 2d 20 33 32 29 20 2a 20 31 36 20 2b 20 31 31 5d 20 3d 20 30 78 30 30 3b 00 00 00 2d 20 20 20 20 | -.32).*.16.+.11].=.0x00;...-.... |
| bb00 | 20 20 20 20 66 6f 6e 74 5f 64 61 74 61 5b 28 69 20 2d 20 33 32 29 20 2a 20 31 36 20 2b 20 31 32 | ....font_data[(i.-.32).*.16.+.12 |
| bb20 | 5d 20 3d 20 30 78 30 30 3b 00 00 00 2d 20 20 20 20 20 20 20 20 66 6f 6e 74 5f 64 61 74 61 5b 28 | ].=.0x00;...-........font_data[( |
| bb40 | 69 20 2d 20 33 32 29 20 2a 20 31 36 20 2b 20 31 33 5d 20 3d 20 30 78 30 30 3b 00 00 00 2d 20 20 | i.-.32).*.16.+.13].=.0x00;...-.. |
| bb60 | 20 20 20 20 20 20 66 6f 6e 74 5f 64 61 74 61 5b 28 69 20 2d 20 33 32 29 20 2a 20 31 36 20 2b 20 | ......font_data[(i.-.32).*.16.+. |
| bb80 | 31 34 5d 20 3d 20 30 78 30 30 3b 00 00 00 2d 20 20 20 20 20 20 20 20 66 6f 6e 74 5f 64 61 74 61 | 14].=.0x00;...-........font_data |
| bba0 | 5b 28 69 20 2d 20 33 32 29 20 2a 20 31 36 20 2b 20 31 35 5d 20 3d 20 30 78 30 30 3b 00 00 00 05 | [(i.-.32).*.16.+.15].=.0x00;.... |
| bbc0 | 20 20 20 20 7d 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 64 72 | ....}....}.......Lstatic.void.dr |
| bbe0 | 61 77 5f 63 68 61 72 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 64 61 74 61 2c 20 69 6e 74 | aw_char(unsigned.char.*data,.int |
| bc00 | 20 70 69 74 63 68 2c 20 69 6e 74 20 78 2c 20 69 6e 74 20 79 2c 20 63 68 61 72 20 63 68 29 00 00 | .pitch,.int.x,.int.y,.char.ch).. |
| bc20 | 00 01 7b 00 00 00 14 20 20 20 20 69 6e 74 20 63 78 2c 20 63 79 2c 20 62 69 74 3b 00 00 00 19 20 | ..{........int.cx,.cy,.bit;..... |
| bc40 | 20 20 20 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 67 6c 79 70 68 3b 00 00 00 04 20 20 20 20 | ...unsigned.char.*glyph;........ |
| bc60 | 00 00 00 1e 20 20 20 20 69 66 20 28 63 68 20 3c 20 33 32 20 7c 7c 20 63 68 20 3e 20 31 32 36 29 | ........if.(ch.<.32.||.ch.>.126) |
| bc80 | 20 7b 00 00 00 10 20 20 20 20 20 20 20 20 63 68 20 3d 20 33 32 3b 00 00 00 05 20 20 20 20 7d 00 | .{............ch.=.32;........}. |
| bca0 | 00 00 04 20 20 20 20 00 00 00 29 20 20 20 20 67 6c 79 70 68 20 3d 20 66 6f 6e 74 5f 64 61 74 61 | ..........)....glyph.=.font_data |
| bcc0 | 20 2b 20 28 28 63 68 20 2d 20 33 32 29 20 2a 20 31 36 29 3b 00 00 00 04 20 20 20 20 00 00 00 21 | .+.((ch.-.32).*.16);...........! |
| bce0 | 20 20 20 20 66 6f 72 20 28 63 79 20 3d 20 30 3b 20 63 79 20 3c 20 31 36 3b 20 63 79 2b 2b 29 20 | ....for.(cy.=.0;.cy.<.16;.cy++). |
| bd00 | 7b 00 00 00 24 20 20 20 20 20 20 20 20 66 6f 72 20 28 63 78 20 3d 20 30 3b 20 63 78 20 3c 20 38 | {...$........for.(cx.=.0;.cx.<.8 |
| bd20 | 3b 20 63 78 2b 2b 29 20 7b 00 00 00 2e 20 20 20 20 20 20 20 20 20 20 20 20 62 69 74 20 3d 20 28 | ;.cx++).{................bit.=.( |
| bd40 | 67 6c 79 70 68 5b 63 79 5d 20 3e 3e 20 28 37 20 2d 20 63 78 29 29 20 26 20 31 3b 00 00 00 16 20 | glyph[cy].>>.(7.-.cx)).&.1;..... |
| bd60 | 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 62 69 74 29 20 7b 00 00 00 20 20 20 20 20 20 20 20 | ...........if.(bit).{........... |
| bd80 | 20 20 20 20 20 20 20 20 20 69 6e 74 20 70 78 20 3d 20 78 20 2b 20 63 78 3b 00 00 00 20 20 20 20 | .........int.px.=.x.+.cx;....... |
| bda0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 70 79 20 3d 20 79 20 2b 20 63 79 3b 00 00 00 | .............int.py.=.y.+.cy;... |
| bdc0 | 54 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 70 78 20 3e 3d 20 30 20 26 26 20 | T................if.(px.>=.0.&&. |
| bde0 | 70 78 20 3c 20 77 69 6e 64 6f 77 5f 77 69 64 74 68 20 26 26 20 70 79 20 3e 3d 20 30 20 26 26 20 | px.<.window_width.&&.py.>=.0.&&. |
| be00 | 70 79 20 3c 20 77 69 6e 64 6f 77 5f 68 65 69 67 68 74 29 20 7b 00 00 00 34 20 20 20 20 20 20 20 | py.<.window_height).{...4....... |
| be20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 69 64 78 20 3d 20 28 70 79 20 2a 20 70 69 74 | .............int.idx.=.(py.*.pit |
| be40 | 63 68 20 2b 20 70 78 29 20 2a 20 34 3b 00 00 00 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ch.+.px).*.4;................... |
| be60 | 20 20 20 20 20 70 69 78 65 6c 5f 64 61 74 61 5b 69 64 78 20 2b 20 30 5d 20 3d 20 32 35 35 3b 00 | .....pixel_data[idx.+.0].=.255;. |
| be80 | 00 00 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 69 78 65 6c 5f 64 61 74 | .......................pixel_dat |
| bea0 | 61 5b 69 64 78 20 2b 20 31 5d 20 3d 20 32 35 35 3b 00 00 00 2e 20 20 20 20 20 20 20 20 20 20 20 | a[idx.+.1].=.255;............... |
| bec0 | 20 20 20 20 20 20 20 20 20 70 69 78 65 6c 5f 64 61 74 61 5b 69 64 78 20 2b 20 32 5d 20 3d 20 32 | .........pixel_data[idx.+.2].=.2 |
| bee0 | 35 35 3b 00 00 00 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 69 78 65 6c | 55;........................pixel |
| bf00 | 5f 64 61 74 61 5b 69 64 78 20 2b 20 33 5d 20 3d 20 32 35 35 3b 00 00 00 11 20 20 20 20 20 20 20 | _data[idx.+.3].=.255;........... |
| bf20 | 20 20 20 20 20 20 20 20 20 7d 00 00 00 0d 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 09 20 | .........}................}..... |
| bf40 | 20 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 1d 73 74 | .......}........}....}........st |
| bf60 | 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 73 63 72 65 65 6e 28 76 6f 69 64 29 00 00 00 01 7b | atic.void.draw_screen(void)....{ |
| bf80 | 00 00 00 23 20 20 20 20 69 6e 74 20 78 2c 20 79 2c 20 70 69 74 63 68 20 3d 20 77 69 6e 64 6f 77 | ...#....int.x,.y,.pitch.=.window |
| bfa0 | 5f 77 69 64 74 68 3b 00 00 00 04 20 20 20 20 00 00 00 29 20 20 20 20 66 6f 72 20 28 79 20 3d 20 | _width;...........)....for.(y.=. |
| bfc0 | 30 3b 20 79 20 3c 20 77 69 6e 64 6f 77 5f 68 65 69 67 68 74 3b 20 79 2b 2b 29 20 7b 00 00 00 2c | 0;.y.<.window_height;.y++).{..., |
| bfe0 | 20 20 20 20 20 20 20 20 66 6f 72 20 28 78 20 3d 20 30 3b 20 78 20 3c 20 77 69 6e 64 6f 77 5f 77 | ........for.(x.=.0;.x.<.window_w |
| c000 | 69 64 74 68 3b 20 78 2b 2b 29 20 7b 00 00 00 2a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 | idth;.x++).{...*............int. |
| c020 | 69 64 78 20 3d 20 28 79 20 2a 20 70 69 74 63 68 20 2b 20 78 29 20 2a 20 34 3b 00 00 00 24 20 20 | idx.=.(y.*.pitch.+.x).*.4;...$.. |
| c040 | 20 20 20 20 20 20 20 20 20 20 70 69 78 65 6c 5f 64 61 74 61 5b 69 64 78 20 2b 20 30 5d 20 3d 20 | ..........pixel_data[idx.+.0].=. |
| c060 | 30 3b 00 00 00 24 20 20 20 20 20 20 20 20 20 20 20 20 70 69 78 65 6c 5f 64 61 74 61 5b 69 64 78 | 0;...$............pixel_data[idx |
| c080 | 20 2b 20 31 5d 20 3d 20 30 3b 00 00 00 25 20 20 20 20 20 20 20 20 20 20 20 20 70 69 78 65 6c 5f | .+.1].=.0;...%............pixel_ |
| c0a0 | 64 61 74 61 5b 69 64 78 20 2b 20 32 5d 20 3d 20 33 32 3b 00 00 00 26 20 20 20 20 20 20 20 20 20 | data[idx.+.2].=.32;...&......... |
| c0c0 | 20 20 20 70 69 78 65 6c 5f 64 61 74 61 5b 69 64 78 20 2b 20 33 5d 20 3d 20 32 35 35 3b 00 00 00 | ...pixel_data[idx.+.3].=.255;... |
| c0e0 | 09 20 20 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 20 20 | .........}........}............. |
| c100 | 20 20 20 66 6f 72 20 28 79 20 3d 20 30 3b 20 79 20 3c 20 72 6f 77 73 3b 20 79 2b 2b 29 20 7b 00 | ...for.(y.=.0;.y.<.rows;.y++).{. |
| c120 | 00 00 24 20 20 20 20 20 20 20 20 66 6f 72 20 28 78 20 3d 20 30 3b 20 78 20 3c 20 63 6f 6c 73 3b | ..$........for.(x.=.0;.x.<.cols; |
| c140 | 20 78 2b 2b 29 20 7b 00 00 00 3d 20 20 20 20 20 20 20 20 20 20 20 20 64 72 61 77 5f 63 68 61 72 | .x++).{...=............draw_char |
| c160 | 28 70 69 78 65 6c 5f 64 61 74 61 2c 20 70 69 74 63 68 2c 20 78 20 2a 20 38 2c 20 79 20 2a 20 31 | (pixel_data,.pitch,.x.*.8,.y.*.1 |
| c180 | 36 2c 20 27 20 27 29 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 | 6,.'.');............}........}.. |
| c1a0 | 00 04 20 20 20 20 00 00 00 43 20 20 20 20 64 72 61 77 5f 63 68 61 72 28 70 69 78 65 6c 5f 64 61 | .........C....draw_char(pixel_da |
| c1c0 | 74 61 2c 20 70 69 74 63 68 2c 20 63 75 72 73 6f 72 5f 78 20 2a 20 38 2c 20 63 75 72 73 6f 72 5f | ta,.pitch,.cursor_x.*.8,.cursor_ |
| c1e0 | 79 20 2a 20 31 36 2c 20 27 5f 27 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 27 73 74 61 74 69 63 | y.*.16,.'_');....}.......'static |
| c200 | 20 69 6e 74 20 63 72 65 61 74 65 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 5f 74 20 73 69 7a 65 | .int.create_shm_file(size_t.size |
| c220 | 29 00 00 00 01 7b 00 00 00 0b 20 20 20 20 69 6e 74 20 66 64 3b 00 00 00 2b 20 20 20 20 63 68 61 | )....{........int.fd;...+....cha |
| c240 | 72 20 74 65 6d 70 6c 61 74 65 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 6c 2d 73 68 6d 2d 58 58 58 58 | r.template[].=."/tmp/wl-shm-XXXX |
| c260 | 58 58 22 3b 00 00 00 04 20 20 20 20 00 00 00 1b 20 20 20 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 | XX";................fd.=.mkstemp |
| c280 | 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 11 20 20 20 20 69 66 20 28 66 64 20 3c 20 30 29 20 7b | (template);........if.(fd.<.0).{ |
| c2a0 | 00 00 00 12 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 2d 31 3b 00 00 00 05 20 20 20 20 7d 00 | ............return.-1;........}. |
| c2c0 | 00 00 04 20 20 20 20 00 00 00 29 20 20 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c | ..........)....if.(ftruncate(fd, |
| c2e0 | 20 28 6f 66 66 5f 74 29 73 69 7a 65 29 20 3c 20 30 29 20 7b 00 00 00 12 20 20 20 20 20 20 20 20 | .(off_t)size).<.0).{............ |
| c300 | 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 19 20 20 20 20 20 20 20 20 75 6e 6c 69 6e 6b 28 74 65 6d | close(fd);............unlink(tem |
| c320 | 70 6c 61 74 65 29 3b 00 00 00 12 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 2d 31 3b 00 00 00 | plate);............return.-1;... |
| c340 | 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 15 20 20 20 20 75 6e 6c 69 6e 6b 28 74 65 6d | .....}................unlink(tem |
| c360 | 70 6c 61 74 65 29 3b 00 00 00 0e 20 20 20 20 72 65 74 75 72 6e 20 66 64 3b 00 00 00 01 7d 00 00 | plate);........return.fd;....}.. |
| c380 | 00 00 00 00 00 3d 73 74 61 74 69 63 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 63 | .....=static.struct.wl_buffer.*c |
| c3a0 | 72 65 61 74 65 5f 62 75 66 66 65 72 28 69 6e 74 20 77 69 64 74 68 2c 20 69 6e 74 20 68 65 69 67 | reate_buffer(int.width,.int.heig |
| c3c0 | 68 74 29 00 00 00 01 7b 00 00 00 1b 20 20 20 20 69 6e 74 20 73 74 72 69 64 65 20 3d 20 77 69 64 | ht)....{........int.stride.=.wid |
| c3e0 | 74 68 20 2a 20 34 3b 00 00 00 1f 20 20 20 20 69 6e 74 20 73 69 7a 65 20 3d 20 73 74 72 69 64 65 | th.*.4;........int.size.=.stride |
| c400 | 20 2a 20 68 65 69 67 68 74 3b 00 00 00 0b 20 20 20 20 69 6e 74 20 66 64 3b 00 00 00 1d 20 20 20 | .*.height;........int.fd;....... |
| c420 | 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 3b 00 00 00 1d 20 20 | .struct.wl_shm_pool.*pool;...... |
| c440 | 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 66 65 72 3b 00 00 00 04 20 | ..struct.wl_buffer.*buffer;..... |
| c460 | 20 20 20 00 00 00 1f 20 20 20 20 66 64 20 3d 20 63 72 65 61 74 65 5f 73 68 6d 5f 66 69 6c 65 28 | ...........fd.=.create_shm_file( |
| c480 | 73 69 7a 65 29 3b 00 00 00 11 20 20 20 20 69 66 20 28 66 64 20 3c 20 30 29 20 7b 00 00 00 4c 20 | size);........if.(fd.<.0).{...L. |
| c4a0 | 20 20 20 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 64 20 74 | .......fprintf(stderr,."failed.t |
| c4c0 | 6f 20 63 72 65 61 74 65 20 73 68 6d 20 66 69 6c 65 3a 20 25 73 5c 6e 22 2c 20 73 74 72 65 72 72 | o.create.shm.file:.%s\n",.strerr |
| c4e0 | 6f 72 28 65 72 72 6e 6f 29 29 3b 00 00 00 14 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4e 55 | or(errno));............return.NU |
| c500 | 4c 4c 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 4d 20 20 20 20 70 69 78 65 | LL;........}...........M....pixe |
| c520 | 6c 5f 64 61 74 61 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 | l_data.=.mmap(NULL,.size,.PROT_R |
| c540 | 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 44 2c 20 66 64 | EAD.|.PROT_WRITE,.MAP_SHARED,.fd |
| c560 | 2c 20 30 29 3b 00 00 00 23 20 20 20 20 69 66 20 28 70 69 78 65 6c 5f 64 61 74 61 20 3d 3d 20 4d | ,.0);...#....if.(pixel_data.==.M |
| c580 | 41 50 5f 46 41 49 4c 45 44 29 20 7b 00 00 00 45 20 20 20 20 20 20 20 20 66 70 72 69 6e 74 66 28 | AP_FAILED).{...E........fprintf( |
| c5a0 | 73 74 64 65 72 72 2c 20 22 66 61 69 6c 65 64 20 74 6f 20 6d 6d 61 70 20 73 68 6d 3a 20 25 73 5c | stderr,."failed.to.mmap.shm:.%s\ |
| c5c0 | 6e 22 2c 20 73 74 72 65 72 72 6f 72 28 65 72 72 6e 6f 29 29 3b 00 00 00 12 20 20 20 20 20 20 20 | n",.strerror(errno));........... |
| c5e0 | 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 14 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4e 55 | .close(fd);............return.NU |
| c600 | 4c 4c 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 12 20 20 20 20 64 72 61 77 | LL;........}................draw |
| c620 | 5f 73 63 72 65 65 6e 28 29 3b 00 00 00 04 20 20 20 20 00 00 00 2d 20 20 20 20 70 6f 6f 6c 20 3d | _screen();...........-....pool.= |
| c640 | 20 77 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f 70 6f 6f 6c 28 73 68 6d 2c 20 66 64 2c 20 73 69 7a | .wl_shm_create_pool(shm,.fd,.siz |
| c660 | 65 29 3b 00 00 00 46 20 20 20 20 62 75 66 66 65 72 20 3d 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f | e);...F....buffer.=.wl_shm_pool_ |
| c680 | 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c 20 30 2c 20 77 69 64 74 68 2c 20 68 65 | create_buffer(pool,.0,.width,.he |
| c6a0 | 69 67 68 74 2c 20 73 74 72 69 64 65 2c 00 00 00 3f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ight,.stride,...?............... |
| c6c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 4c 5f 53 48 4d 5f 46 | ........................WL_SHM_F |
| c6e0 | 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 1e 20 20 20 20 77 6c 5f 73 68 6d 5f 70 | ORMAT_ARGB8888);........wl_shm_p |
| c700 | 6f 6f 6c 5f 64 65 73 74 72 6f 79 28 70 6f 6f 6c 29 3b 00 00 00 0e 20 20 20 20 63 6c 6f 73 65 28 | ool_destroy(pool);........close( |
| c720 | 66 64 29 3b 00 00 00 04 20 20 20 20 00 00 00 12 20 20 20 20 72 65 74 75 72 6e 20 62 75 66 66 65 | fd);................return.buffe |
| c740 | 72 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 64 65 73 74 72 | r;....}........static.void.destr |
| c760 | 6f 79 5f 62 75 66 66 65 72 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 18 20 20 20 20 69 66 20 28 | oy_buffer(void)....{........if.( |
| c780 | 77 69 6e 64 6f 77 5f 62 75 66 66 65 72 29 20 7b 00 00 00 29 20 20 20 20 20 20 20 20 77 6c 5f 62 | window_buffer).{...)........wl_b |
| c7a0 | 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 77 69 6e 64 6f 77 5f 62 75 66 66 65 72 29 3b 00 00 00 | uffer_destroy(window_buffer);... |
| c7c0 | 1d 20 20 20 20 20 20 20 20 77 69 6e 64 6f 77 5f 62 75 66 66 65 72 20 3d 20 4e 55 4c 4c 3b 00 00 | .........window_buffer.=.NULL;.. |
| c7e0 | 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 15 20 20 20 20 69 66 20 28 70 69 78 65 6c | ......}................if.(pixel |
| c800 | 5f 64 61 74 61 29 20 7b 00 00 00 3d 20 20 20 20 20 20 20 20 6d 75 6e 6d 61 70 28 70 69 78 65 6c | _data).{...=........munmap(pixel |
| c820 | 5f 64 61 74 61 2c 20 77 69 6e 64 6f 77 5f 77 69 64 74 68 20 2a 20 77 69 6e 64 6f 77 5f 68 65 69 | _data,.window_width.*.window_hei |
| c840 | 67 68 74 20 2a 20 34 29 3b 00 00 00 1a 20 20 20 20 20 20 20 20 70 69 78 65 6c 5f 64 61 74 61 20 | ght.*.4);............pixel_data. |
| c860 | 3d 20 4e 55 4c 4c 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 30 73 74 61 | =.NULL;........}....}.......0sta |
| c880 | 74 69 63 20 76 6f 69 64 20 72 65 73 69 7a 65 5f 77 69 6e 64 6f 77 28 69 6e 74 20 77 69 64 74 68 | tic.void.resize_window(int.width |
| c8a0 | 2c 20 69 6e 74 20 68 65 69 67 68 74 29 00 00 00 01 7b 00 00 00 24 20 20 20 20 69 66 20 28 77 69 | ,.int.height)....{...$....if.(wi |
| c8c0 | 64 74 68 20 3c 3d 20 30 20 7c 7c 20 68 65 69 67 68 74 20 3c 3d 20 30 29 20 7b 00 00 00 0f 20 20 | dth.<=.0.||.height.<=.0).{...... |
| c8e0 | 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 04 20 20 20 20 00 00 | ......return;........}.......... |
| c900 | 00 15 20 20 20 20 63 6f 6c 73 20 3d 20 77 69 64 74 68 20 2f 20 38 3b 00 00 00 17 20 20 20 20 72 | ......cols.=.width./.8;........r |
| c920 | 6f 77 73 20 3d 20 68 65 69 67 68 74 20 2f 20 31 36 3b 00 00 00 04 20 20 20 20 00 00 00 1b 20 20 | ows.=.height./.16;.............. |
| c940 | 20 20 69 66 20 28 63 6f 6c 73 20 3c 20 31 29 20 63 6f 6c 73 20 3d 20 31 3b 00 00 00 1b 20 20 20 | ..if.(cols.<.1).cols.=.1;....... |
| c960 | 20 69 66 20 28 72 6f 77 73 20 3c 20 31 29 20 72 6f 77 73 20 3d 20 31 3b 00 00 00 04 20 20 20 20 | .if.(rows.<.1).rows.=.1;........ |
| c980 | 00 00 00 15 20 20 20 20 64 65 73 74 72 6f 79 5f 62 75 66 66 65 72 28 29 3b 00 00 00 19 20 20 20 | ........destroy_buffer();....... |
| c9a0 | 20 77 69 6e 64 6f 77 5f 77 69 64 74 68 20 3d 20 77 69 64 74 68 3b 00 00 00 1b 20 20 20 20 77 69 | .window_width.=.width;........wi |
| c9c0 | 6e 64 6f 77 5f 68 65 69 67 68 74 20 3d 20 68 65 69 67 68 74 3b 00 00 00 3f 20 20 20 20 77 69 6e | ndow_height.=.height;...?....win |
| c9e0 | 64 6f 77 5f 62 75 66 66 65 72 20 3d 20 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 77 69 6e 64 6f | dow_buffer.=.create_buffer(windo |
| ca00 | 77 5f 77 69 64 74 68 2c 20 77 69 6e 64 6f 77 5f 68 65 69 67 68 74 29 3b 00 00 00 15 20 20 20 20 | w_width,.window_height);........ |
| ca20 | 6e 65 65 64 73 5f 72 65 73 69 7a 65 20 3d 20 30 3b 00 00 00 04 20 20 20 20 00 00 00 1a 20 20 20 | needs_resize.=.0;............... |
| ca40 | 20 69 66 20 28 70 74 79 5f 6d 61 73 74 65 72 20 3e 3d 20 30 29 20 7b 00 00 00 1a 20 20 20 20 20 | .if.(pty_master.>=.0).{......... |
| ca60 | 20 20 20 73 74 72 75 63 74 20 77 69 6e 73 69 7a 65 20 77 73 3b 00 00 00 19 20 20 20 20 20 20 20 | ...struct.winsize.ws;........... |
| ca80 | 20 77 73 2e 77 73 5f 72 6f 77 20 3d 20 72 6f 77 73 3b 00 00 00 19 20 20 20 20 20 20 20 20 77 73 | .ws.ws_row.=.rows;............ws |
| caa0 | 2e 77 73 5f 63 6f 6c 20 3d 20 63 6f 6c 73 3b 00 00 00 1d 20 20 20 20 20 20 20 20 77 73 2e 77 73 | .ws_col.=.cols;............ws.ws |
| cac0 | 5f 78 70 69 78 65 6c 20 3d 20 77 69 64 74 68 3b 00 00 00 1e 20 20 20 20 20 20 20 20 77 73 2e 77 | _xpixel.=.width;............ws.w |
| cae0 | 73 5f 79 70 69 78 65 6c 20 3d 20 68 65 69 67 68 74 3b 00 00 00 2b 20 20 20 20 20 20 20 20 69 6f | s_ypixel.=.height;...+........io |
| cb00 | 63 74 6c 28 70 74 79 5f 6d 61 73 74 65 72 2c 20 54 49 4f 43 53 57 49 4e 53 5a 2c 20 26 77 73 29 | ctl(pty_master,.TIOCSWINSZ,.&ws) |
| cb20 | 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 4f 73 74 61 74 69 63 20 76 6f | ;........}....}.......Ostatic.vo |
| cb40 | 69 64 20 66 72 61 6d 65 5f 64 6f 6e 65 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 | id.frame_done(void.*data,.struct |
| cb60 | 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 20 2a 63 61 6c 6c 62 61 63 6b 2c 20 75 69 6e 74 33 32 5f 74 | .wl_callback.*callback,.uint32_t |
| cb80 | 20 74 69 6d 65 29 00 00 00 01 7b 00 00 00 13 20 20 20 20 69 66 20 28 63 61 6c 6c 62 61 63 6b 29 | .time)....{........if.(callback) |
| cba0 | 20 7b 00 00 00 26 20 20 20 20 20 20 20 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 5f 64 65 73 74 72 6f | .{...&........wl_callback_destro |
| cbc0 | 79 28 63 61 6c 6c 62 61 63 6b 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 | y(callback);........}........... |
| cbe0 | 17 20 20 20 20 69 66 20 28 6e 65 65 64 73 5f 72 65 73 69 7a 65 29 20 7b 00 00 00 35 20 20 20 20 | .....if.(needs_resize).{...5.... |
| cc00 | 20 20 20 20 72 65 73 69 7a 65 5f 77 69 6e 64 6f 77 28 70 65 6e 64 69 6e 67 5f 77 69 64 74 68 2c | ....resize_window(pending_width, |
| cc20 | 20 70 65 6e 64 69 6e 67 5f 68 65 69 67 68 74 29 3b 00 00 00 1a 20 20 20 20 20 20 20 20 70 65 6e | .pending_height);............pen |
| cc40 | 64 69 6e 67 5f 77 69 64 74 68 20 3d 20 30 3b 00 00 00 1b 20 20 20 20 20 20 20 20 70 65 6e 64 69 | ding_width.=.0;............pendi |
| cc60 | 6e 67 5f 68 65 69 67 68 74 20 3d 20 30 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 | ng_height.=.0;........}......... |
| cc80 | 00 00 12 20 20 20 20 64 72 61 77 5f 73 63 72 65 65 6e 28 29 3b 00 00 00 04 20 20 20 20 00 00 00 | .......draw_screen();........... |
| cca0 | 18 20 20 20 20 69 66 20 28 77 69 6e 64 6f 77 5f 62 75 66 66 65 72 29 20 7b 00 00 00 38 20 20 20 | .....if.(window_buffer).{...8... |
| ccc0 | 20 20 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 73 75 72 66 61 63 65 2c 20 | .....wl_surface_attach(surface,. |
| cce0 | 77 69 6e 64 6f 77 5f 62 75 66 66 65 72 2c 20 30 2c 20 30 29 3b 00 00 00 46 20 20 20 20 20 20 20 | window_buffer,.0,.0);...F....... |
| cd00 | 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 61 6d 61 67 65 28 73 75 72 66 61 63 65 2c 20 30 2c 20 30 | .wl_surface_damage(surface,.0,.0 |
| cd20 | 2c 20 77 69 6e 64 6f 77 5f 77 69 64 74 68 2c 20 77 69 6e 64 6f 77 5f 68 65 69 67 68 74 29 3b 00 | ,.window_width,.window_height);. |
| cd40 | 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 3f 20 20 20 20 73 74 61 74 69 63 20 63 | .......}...........?....static.c |
| cd60 | 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 5f 6c 69 73 74 65 6e 65 72 | onst.struct.wl_callback_listener |
| cd80 | 20 66 72 61 6d 65 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 1a 20 20 20 20 20 20 20 20 2e | .frame_listener.=.{............. |
| cda0 | 64 6f 6e 65 20 3d 20 66 72 61 6d 65 5f 64 6f 6e 65 00 00 00 06 20 20 20 20 7d 3b 00 00 00 04 20 | done.=.frame_done........};..... |
| cdc0 | 20 20 20 00 00 00 2f 20 20 20 20 66 72 61 6d 65 5f 63 61 6c 6c 62 61 63 6b 20 3d 20 77 6c 5f 73 | ....../....frame_callback.=.wl_s |
| cde0 | 75 72 66 61 63 65 5f 66 72 61 6d 65 28 73 75 72 66 61 63 65 29 3b 00 00 00 44 20 20 20 20 77 6c | urface_frame(surface);...D....wl |
| ce00 | 5f 63 61 6c 6c 62 61 63 6b 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 66 72 61 6d 65 5f 63 61 6c | _callback_add_listener(frame_cal |
| ce20 | 6c 62 61 63 6b 2c 20 26 66 72 61 6d 65 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 | lback,.&frame_listener,.NULL);.. |
| ce40 | 00 1f 20 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 73 75 72 66 61 63 65 29 | ......wl_surface_commit(surface) |
| ce60 | 3b 00 00 00 01 7d 00 00 00 00 00 00 00 5a 73 74 61 74 69 63 20 76 6f 69 64 20 78 64 67 5f 77 6d | ;....}.......Zstatic.void.xdg_wm |
| ce80 | 5f 62 61 73 65 5f 70 69 6e 67 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 78 64 | _base_ping(void.*data,.struct.xd |
| cea0 | 67 5f 77 6d 5f 62 61 73 65 20 2a 78 64 67 5f 77 6d 5f 62 61 73 65 2c 20 75 69 6e 74 33 32 5f 74 | g_wm_base.*xdg_wm_base,.uint32_t |
| cec0 | 20 73 65 72 69 61 6c 29 00 00 00 01 7b 00 00 00 2a 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 | .serial)....{...*....xdg_wm_base |
| cee0 | 5f 70 6f 6e 67 28 78 64 67 5f 77 6d 5f 62 61 73 65 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 01 7d | _pong(xdg_wm_base,.serial);....} |
| cf00 | 00 00 00 00 00 00 00 3d 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f | .......=static.const.struct.xdg_ |
| cf20 | 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 | wm_base_listener.wm_base_listene |
| cf40 | 72 20 3d 20 7b 00 00 00 1d 20 20 20 20 2e 70 69 6e 67 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 | r.=.{.........ping.=.xdg_wm_base |
| cf60 | 5f 70 69 6e 67 2c 00 00 00 02 7d 3b 00 00 00 00 00 00 00 51 73 74 61 74 69 63 20 76 6f 69 64 20 | _ping,....};.......Qstatic.void. |
| cf80 | 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 63 6f 6e 66 69 67 75 72 65 28 76 6f 69 64 20 2a 64 61 74 | xdg_toplevel_configure(void.*dat |
| cfa0 | 61 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 64 67 5f 74 6f 70 6c | a,.struct.xdg_toplevel.*xdg_topl |
| cfc0 | 65 76 65 6c 2c 00 00 00 51 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | evel,...Q....................... |
| cfe0 | 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 33 32 5f 74 20 77 2c 20 69 6e 74 33 32 5f 74 20 68 | ............int32_t.w,.int32_t.h |
| d000 | 2c 20 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 74 61 74 65 73 29 00 00 00 01 7b 00 | ,.struct.wl_array.*states)....{. |
| d020 | 00 00 19 20 20 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 1a | .......if.(w.>.0.&&.h.>.0).{.... |
| d040 | 20 20 20 20 20 20 20 20 70 65 6e 64 69 6e 67 5f 77 69 64 74 68 20 3d 20 77 3b 00 00 00 1b 20 20 | ........pending_width.=.w;...... |
| d060 | 20 20 20 20 20 20 70 65 6e 64 69 6e 67 5f 68 65 69 67 68 74 20 3d 20 68 3b 00 00 00 19 20 20 20 | ......pending_height.=.h;....... |
| d080 | 20 20 20 20 20 6e 65 65 64 73 5f 72 65 73 69 7a 65 20 3d 20 31 3b 00 00 00 05 20 20 20 20 7d 00 | .....needs_resize.=.1;........}. |
| d0a0 | 00 00 01 7d 00 00 00 00 00 00 00 4d 73 74 61 74 69 63 20 76 6f 69 64 20 78 64 67 5f 74 6f 70 6c | ...}.......Mstatic.void.xdg_topl |
| d0c0 | 65 76 65 6c 5f 63 6c 6f 73 65 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 78 64 | evel_close(void.*data,.struct.xd |
| d0e0 | 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 64 67 5f 74 6f 70 6c 65 76 65 6c 29 00 00 00 01 7b 00 00 | g_toplevel.*xdg_toplevel)....{.. |
| d100 | 00 1c 20 20 20 20 70 75 74 73 28 22 74 65 72 6d 69 6e 61 6c 20 63 6c 6f 73 65 64 22 29 3b 00 00 | ......puts("terminal.closed");.. |
| d120 | 00 10 20 20 20 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 00 00 00 01 7d 00 00 00 00 00 00 00 3f 73 | ......running.=.0;....}.......?s |
| d140 | 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 65 6c 5f | tatic.const.struct.xdg_toplevel_ |
| d160 | 6c 69 73 74 65 6e 65 72 20 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 | listener.toplevel_listener.=.{.. |
| d180 | 00 28 20 20 20 20 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f | .(.....configure.=.xdg_toplevel_ |
| d1a0 | 63 6f 6e 66 69 67 75 72 65 2c 00 00 00 20 20 20 20 20 2e 63 6c 6f 73 65 20 3d 20 78 64 67 5f 74 | configure,.........close.=.xdg_t |
| d1c0 | 6f 70 6c 65 76 65 6c 5f 63 6c 6f 73 65 2c 00 00 00 02 7d 3b 00 00 00 00 00 00 00 5f 73 74 61 74 | oplevel_close,....};......._stat |
| d1e0 | 69 63 20 76 6f 69 64 20 78 64 67 5f 73 75 72 66 61 63 65 5f 63 6f 6e 66 69 67 75 72 65 28 76 6f | ic.void.xdg_surface_configure(vo |
| d200 | 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 64 | id.*data,.struct.xdg_surface.*xd |
| d220 | 67 5f 73 75 72 66 61 63 65 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 00 00 00 01 7b | g_surface,.uint32_t.serial)....{ |
| d240 | 00 00 00 33 20 20 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 | ...3....xdg_surface_ack_configur |
| d260 | 65 28 78 64 67 5f 73 75 72 66 61 63 65 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 04 20 20 20 20 00 | e(xdg_surface,.serial);......... |
| d280 | 00 00 19 20 20 20 20 69 66 20 28 21 77 69 6e 64 6f 77 5f 62 75 66 66 65 72 29 20 7b 00 00 00 43 | .......if.(!window_buffer).{...C |
| d2a0 | 20 20 20 20 20 20 20 20 77 69 6e 64 6f 77 5f 62 75 66 66 65 72 20 3d 20 63 72 65 61 74 65 5f 62 | ........window_buffer.=.create_b |
| d2c0 | 75 66 66 65 72 28 77 69 6e 64 6f 77 5f 77 69 64 74 68 2c 20 77 69 6e 64 6f 77 5f 68 65 69 67 68 | uffer(window_width,.window_heigh |
| d2e0 | 74 29 3b 00 00 00 22 20 20 20 20 20 20 20 20 66 72 61 6d 65 5f 64 6f 6e 65 28 4e 55 4c 4c 2c 20 | t);..."........frame_done(NULL,. |
| d300 | 4e 55 4c 4c 2c 20 30 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 41 73 | NULL,.0);........}....}.......As |
| d320 | 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 6c | tatic.const.struct.xdg_surface_l |
| d340 | 69 73 74 65 6e 65 72 20 78 64 67 5f 73 75 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b | istener.xdg_surface_listener.=.{ |
| d360 | 00 00 00 27 20 20 20 20 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 64 67 5f 73 75 72 66 61 63 65 | ...'.....configure.=.xdg_surface |
| d380 | 5f 63 6f 6e 66 69 67 75 72 65 2c 00 00 00 02 7d 3b 00 00 00 00 00 00 00 48 73 74 61 74 69 63 20 | _configure,....};.......Hstatic. |
| d3a0 | 76 6f 69 64 20 6b 65 79 62 6f 61 72 64 5f 6b 65 79 6d 61 70 28 76 6f 69 64 20 2a 64 61 74 61 2c | void.keyboard_keymap(void.*data, |
| d3c0 | 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 77 6c 5f 6b 65 79 62 6f 61 72 64 | .struct.wl_keyboard.*wl_keyboard |
| d3e0 | 2c 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 20 20 20 20 20 20 | ,...G........................... |
| d400 | 20 75 69 6e 74 33 32 5f 74 20 66 6f 72 6d 61 74 2c 20 69 6e 74 33 32 5f 74 20 66 64 2c 20 75 69 | .uint32_t.format,.int32_t.fd,.ui |
| d420 | 6e 74 33 32 5f 74 20 73 69 7a 65 29 00 00 00 01 7b 00 00 00 0e 20 20 20 20 63 6c 6f 73 65 28 66 | nt32_t.size)....{........close(f |
| d440 | 64 29 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 6b 65 79 62 | d);....}.......Gstatic.void.keyb |
| d460 | 6f 61 72 64 5f 65 6e 74 65 72 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c | oard_enter(void.*data,.struct.wl |
| d480 | 5f 6b 65 79 62 6f 61 72 64 20 2a 77 6c 5f 6b 65 79 62 6f 61 72 64 2c 00 00 00 47 20 20 20 20 20 | _keyboard.*wl_keyboard,...G..... |
| d4a0 | 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 73 | ......................uint32_t.s |
| d4c0 | 65 72 69 61 6c 2c 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 72 66 61 63 | erial,.struct.wl_surface.*surfac |
| d4e0 | 65 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 20 20 20 20 | e,...1.......................... |
| d500 | 20 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 6b 65 79 73 29 00 00 00 01 7b 00 00 00 01 | .struct.wl_array.*keys)....{.... |
| d520 | 7d 00 00 00 00 00 00 00 47 73 74 61 74 69 63 20 76 6f 69 64 20 6b 65 79 62 6f 61 72 64 5f 6c 65 | }.......Gstatic.void.keyboard_le |
| d540 | 61 76 65 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 | ave(void.*data,.struct.wl_keyboa |
| d560 | 72 64 20 2a 77 6c 5f 6b 65 79 62 6f 61 72 64 2c 00 00 00 47 20 20 20 20 20 20 20 20 20 20 20 20 | rd.*wl_keyboard,...G............ |
| d580 | 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 65 72 69 61 6c 2c 20 | ...............uint32_t.serial,. |
| d5a0 | 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 72 66 61 63 65 29 00 00 00 01 7b | struct.wl_surface.*surface)....{ |
| d5c0 | 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 6b 65 79 62 6f 61 72 | ....}.......Estatic.void.keyboar |
| d5e0 | 64 5f 6b 65 79 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 | d_key(void.*data,.struct.wl_keyb |
| d600 | 6f 61 72 64 20 2a 77 6c 5f 6b 65 79 62 6f 61 72 64 2c 00 00 00 46 20 20 20 20 20 20 20 20 20 20 | oard.*wl_keyboard,...F.......... |
| d620 | 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 65 72 69 61 6c 2c 20 | ...............uint32_t.serial,. |
| d640 | 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 6b 65 79 2c 00 00 00 28 | uint32_t.time,.uint32_t.key,...( |
| d660 | 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 33 32 5f | .........................uint32_ |
| d680 | 74 20 73 74 61 74 65 29 00 00 00 01 7b 00 00 00 44 20 20 20 20 69 66 20 28 73 74 61 74 65 20 3d | t.state)....{...D....if.(state.= |
| d6a0 | 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 53 53 45 44 20 | =.WL_KEYBOARD_KEY_STATE_PRESSED. |
| d6c0 | 26 26 20 70 74 79 5f 6d 61 73 74 65 72 20 3e 3d 20 30 29 20 7b 00 00 00 13 20 20 20 20 20 20 20 | &&.pty_master.>=.0).{........... |
| d6e0 | 20 63 68 61 72 20 63 20 3d 20 30 3b 00 00 00 08 20 20 20 20 20 20 20 20 00 00 00 23 20 20 20 20 | .char.c.=.0;...............#.... |
| d700 | 20 20 20 20 69 66 20 28 6b 65 79 20 3e 3d 20 38 20 26 26 20 6b 65 79 20 3c 3d 20 39 29 20 7b 00 | ....if.(key.>=.8.&&.key.<=.9).{. |
| d720 | 00 00 29 20 20 20 20 20 20 20 20 20 20 20 20 63 20 3d 20 28 6b 65 79 20 3d 3d 20 38 29 20 3f 20 | ..)............c.=.(key.==.8).?. |
| d740 | 30 78 37 66 20 3a 20 30 78 30 39 3b 00 00 00 2c 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 69 | 0x7f.:.0x09;...,........}.else.i |
| d760 | 66 20 28 6b 65 79 20 3e 3d 20 31 36 20 26 26 20 6b 65 79 20 3c 3d 20 32 35 29 20 7b 00 00 00 21 | f.(key.>=.16.&&.key.<=.25).{...! |
| d780 | 20 20 20 20 20 20 20 20 20 20 20 20 63 20 3d 20 27 71 27 20 2b 20 28 6b 65 79 20 2d 20 31 36 29 | ............c.=.'q'.+.(key.-.16) |
| d7a0 | 3b 00 00 00 2c 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 6b 65 79 20 3e 3d 20 32 | ;...,........}.else.if.(key.>=.2 |
| d7c0 | 36 20 26 26 20 6b 65 79 20 3c 3d 20 33 35 29 20 7b 00 00 00 21 20 20 20 20 20 20 20 20 20 20 20 | 6.&&.key.<=.35).{...!........... |
| d7e0 | 20 63 20 3d 20 27 61 27 20 2b 20 28 6b 65 79 20 2d 20 32 36 29 3b 00 00 00 2c 20 20 20 20 20 20 | .c.=.'a'.+.(key.-.26);...,...... |
| d800 | 20 20 7d 20 65 6c 73 65 20 69 66 20 28 6b 65 79 20 3e 3d 20 33 36 20 26 26 20 6b 65 79 20 3c 3d | ..}.else.if.(key.>=.36.&&.key.<= |
| d820 | 20 34 35 29 20 7b 00 00 00 21 20 20 20 20 20 20 20 20 20 20 20 20 63 20 3d 20 27 7a 27 20 2b 20 | .45).{...!............c.=.'z'.+. |
| d840 | 28 6b 65 79 20 2d 20 33 36 29 3b 00 00 00 2c 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 69 66 | (key.-.36);...,........}.else.if |
| d860 | 20 28 6b 65 79 20 3e 3d 20 34 36 20 26 26 20 6b 65 79 20 3c 3d 20 35 35 29 20 7b 00 00 00 21 20 | .(key.>=.46.&&.key.<=.55).{...!. |
| d880 | 20 20 20 20 20 20 20 20 20 20 20 63 20 3d 20 27 30 27 20 2b 20 28 6b 65 79 20 2d 20 34 36 29 3b | ...........c.=.'0'.+.(key.-.46); |
| d8a0 | 00 00 00 1f 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 6b 65 79 20 3d 3d 20 35 37 | ............}.else.if.(key.==.57 |
| d8c0 | 29 20 7b 00 00 00 14 20 20 20 20 20 20 20 20 20 20 20 20 63 20 3d 20 27 20 27 3b 00 00 00 1f 20 | ).{................c.=.'.';..... |
| d8e0 | 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 6b 65 79 20 3d 3d 20 35 38 29 20 7b 00 00 | .......}.else.if.(key.==.58).{.. |
| d900 | 00 15 20 20 20 20 20 20 20 20 20 20 20 20 63 20 3d 20 27 5c 6e 27 3b 00 00 00 09 20 20 20 20 20 | ..............c.=.'\n';......... |
| d920 | 20 20 20 7d 00 00 00 08 20 20 20 20 20 20 20 20 00 00 00 10 20 20 20 20 20 20 20 20 69 66 20 28 | ...}........................if.( |
| d940 | 63 29 20 7b 00 00 00 25 20 20 20 20 20 20 20 20 20 20 20 20 77 72 69 74 65 28 70 74 79 5f 6d 61 | c).{...%............write(pty_ma |
| d960 | 73 74 65 72 2c 20 26 63 2c 20 31 29 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 05 20 20 | ster,.&c,.1);............}...... |
| d980 | 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 4b 73 74 61 74 69 63 20 76 6f 69 64 20 6b 65 79 62 | ..}....}.......Kstatic.void.keyb |
| d9a0 | 6f 61 72 64 5f 6d 6f 64 69 66 69 65 72 73 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 | oard_modifiers(void.*data,.struc |
| d9c0 | 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 77 6c 5f 6b 65 79 62 6f 61 72 64 2c 00 00 00 48 20 | t.wl_keyboard.*wl_keyboard,...H. |
| d9e0 | 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 75 69 | ..............................ui |
| da00 | 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 2c 20 75 69 6e 74 33 32 5f 74 20 6d 6f 64 73 5f 64 65 70 | nt32_t.serial,.uint32_t.mods_dep |
| da20 | 72 65 73 73 65 64 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 | ressed,...K..................... |
| da40 | 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 6d 6f 64 73 5f 6c 61 74 63 68 65 64 2c | ..........uint32_t.mods_latched, |
| da60 | 20 75 69 6e 74 33 32 5f 74 20 6d 6f 64 73 5f 6c 6f 63 6b 65 64 2c 00 00 00 2e 20 20 20 20 20 20 | .uint32_t.mods_locked,.......... |
| da80 | 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 33 32 5f | .........................uint32_ |
| daa0 | 74 20 67 72 6f 75 70 29 00 00 00 01 7b 00 00 00 01 7d 00 00 00 00 00 00 00 3e 73 74 61 74 69 63 | t.group)....{....}.......>static |
| dac0 | 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 6c 69 73 74 65 6e | .const.struct.wl_keyboard_listen |
| dae0 | 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 00 00 1e 20 20 20 20 | er.keyboard_listener.=.{........ |
| db00 | 2e 6b 65 79 6d 61 70 20 3d 20 6b 65 79 62 6f 61 72 64 5f 6b 65 79 6d 61 70 2c 00 00 00 1c 20 20 | .keymap.=.keyboard_keymap,...... |
| db20 | 20 20 2e 65 6e 74 65 72 20 3d 20 6b 65 79 62 6f 61 72 64 5f 65 6e 74 65 72 2c 00 00 00 1c 20 20 | ...enter.=.keyboard_enter,...... |
| db40 | 20 20 2e 6c 65 61 76 65 20 3d 20 6b 65 79 62 6f 61 72 64 5f 6c 65 61 76 65 2c 00 00 00 18 20 20 | ...leave.=.keyboard_leave,...... |
| db60 | 20 20 2e 6b 65 79 20 3d 20 6b 65 79 62 6f 61 72 64 5f 6b 65 79 2c 00 00 00 24 20 20 20 20 2e 6d | ...key.=.keyboard_key,...$.....m |
| db80 | 6f 64 69 66 69 65 72 73 20 3d 20 6b 65 79 62 6f 61 72 64 5f 6d 6f 64 69 66 69 65 72 73 2c 00 00 | odifiers.=.keyboard_modifiers,.. |
| dba0 | 00 02 7d 3b 00 00 00 00 00 00 00 59 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 61 74 5f 63 61 70 | ..};.......Ystatic.void.seat_cap |
| dbc0 | 61 62 69 6c 69 74 69 65 73 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f | abilities(void.*data,.struct.wl_ |
| dbe0 | 73 65 61 74 20 2a 77 6c 5f 73 65 61 74 2c 20 75 69 6e 74 33 32 5f 74 20 63 61 70 61 62 69 6c 69 | seat.*wl_seat,.uint32_t.capabili |
| dc00 | 74 69 65 73 29 00 00 00 01 7b 00 00 00 35 20 20 20 20 69 66 20 28 63 61 70 61 62 69 6c 69 74 69 | ties)....{...5....if.(capabiliti |
| dc20 | 65 73 20 26 20 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 | es.&.WL_SEAT_CAPABILITY_KEYBOARD |
| dc40 | 29 20 7b 00 00 00 31 20 20 20 20 20 20 20 20 6b 65 79 62 6f 61 72 64 20 3d 20 77 6c 5f 73 65 61 | ).{...1........keyboard.=.wl_sea |
| dc60 | 74 5f 67 65 74 5f 6b 65 79 62 6f 61 72 64 28 77 6c 5f 73 65 61 74 29 3b 00 00 00 45 20 20 20 20 | t_get_keyboard(wl_seat);...E.... |
| dc80 | 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 28 6b 65 79 | ....wl_keyboard_add_listener(key |
| dca0 | 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 2c 20 4e 55 4c 4c 29 | board,.&keyboard_listener,.NULL) |
| dcc0 | 3b 00 00 00 23 20 20 20 20 20 20 20 20 70 75 74 73 28 22 6b 65 79 62 6f 61 72 64 20 61 76 61 69 | ;...#........puts("keyboard.avai |
| dce0 | 6c 61 62 6c 65 22 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 36 73 74 | lable");........}....}.......6st |
| dd00 | 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 65 6e | atic.const.struct.wl_seat_listen |
| dd20 | 65 72 20 73 65 61 74 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 26 20 20 20 20 2e 63 61 70 | er.seat_listener.=.{...&.....cap |
| dd40 | 61 62 69 6c 69 74 69 65 73 20 3d 20 73 65 61 74 5f 63 61 70 61 62 69 6c 69 74 69 65 73 2c 00 00 | abilities.=.seat_capabilities,.. |
| dd60 | 00 02 7d 3b 00 00 00 00 00 00 00 43 73 74 61 74 69 63 20 76 6f 69 64 20 68 61 6e 64 6c 65 5f 67 | ..};.......Cstatic.void.handle_g |
| dd80 | 6c 6f 62 61 6c 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 | lobal(void.*data,.struct.wl_regi |
| dda0 | 73 74 72 79 20 2a 72 65 67 69 73 74 72 79 2c 00 00 00 51 20 20 20 20 20 20 20 20 20 20 20 20 20 | stry.*registry,...Q............. |
| ddc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 6e 61 6d 65 2c 20 63 6f 6e 73 | .............uint32_t.name,.cons |
| dde0 | 74 20 63 68 61 72 20 2a 69 6e 74 65 72 66 61 63 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 65 72 73 | t.char.*interface,.uint32_t.vers |
| de00 | 69 6f 6e 29 00 00 00 01 7b 00 00 00 32 20 20 20 20 69 66 20 28 73 74 72 63 6d 70 28 69 6e 74 65 | ion)....{...2....if.(strcmp(inte |
| de20 | 72 66 61 63 65 2c 20 22 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 22 29 20 3d 3d 20 30 29 20 7b 00 | rface,."wl_compositor").==.0).{. |
| de40 | 00 00 53 20 20 20 20 20 20 20 20 63 6f 6d 70 6f 73 69 74 6f 72 20 3d 20 77 6c 5f 72 65 67 69 73 | ..S........compositor.=.wl_regis |
| de60 | 74 72 79 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 6e 61 6d 65 2c 20 26 77 6c 5f 63 6f 6d | try_bind(registry,.name,.&wl_com |
| de80 | 70 6f 73 69 74 6f 72 5f 69 6e 74 65 72 66 61 63 65 2c 20 34 29 3b 00 00 00 32 20 20 20 20 7d 20 | positor_interface,.4);...2....}. |
| dea0 | 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d 70 28 69 6e 74 65 72 66 61 63 65 2c 20 22 77 6c 5f 73 | else.if.(strcmp(interface,."wl_s |
| dec0 | 68 6d 22 29 20 3d 3d 20 30 29 20 7b 00 00 00 45 20 20 20 20 20 20 20 20 73 68 6d 20 3d 20 77 6c | hm").==.0).{...E........shm.=.wl |
| dee0 | 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 6e 61 6d 65 2c 20 26 | _registry_bind(registry,.name,.& |
| df00 | 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 37 20 20 20 20 7d 20 65 | wl_shm_interface,.1);...7....}.e |
| df20 | 6c 73 65 20 69 66 20 28 73 74 72 63 6d 70 28 69 6e 74 65 72 66 61 63 65 2c 20 22 78 64 67 5f 77 | lse.if.(strcmp(interface,."xdg_w |
| df40 | 6d 5f 62 61 73 65 22 29 20 3d 3d 20 30 29 20 7b 00 00 00 4e 20 20 20 20 20 20 20 20 77 6d 5f 62 | m_base").==.0).{...N........wm_b |
| df60 | 61 73 65 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c | ase.=.wl_registry_bind(registry, |
| df80 | 20 6e 61 6d 65 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 | .name,.&xdg_wm_base_interface,.1 |
| dfa0 | 29 3b 00 00 00 43 20 20 20 20 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 61 64 64 5f 6c 69 | );...C........xdg_wm_base_add_li |
| dfc0 | 73 74 65 6e 65 72 28 77 6d 5f 62 61 73 65 2c 20 26 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 | stener(wm_base,.&wm_base_listene |
| dfe0 | 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 33 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 73 74 72 63 | r,.NULL);...3....}.else.if.(strc |
| e000 | 6d 70 28 69 6e 74 65 72 66 61 63 65 2c 20 22 77 6c 5f 73 65 61 74 22 29 20 3d 3d 20 30 29 20 7b | mp(interface,."wl_seat").==.0).{ |
| e020 | 00 00 00 47 20 20 20 20 20 20 20 20 73 65 61 74 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 | ...G........seat.=.wl_registry_b |
| e040 | 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 6e 61 6d 65 2c 20 26 77 6c 5f 73 65 61 74 5f 69 6e 74 | ind(registry,.name,.&wl_seat_int |
| e060 | 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 39 20 20 20 20 20 20 20 20 77 6c 5f 73 65 61 74 5f 61 | erface,.1);...9........wl_seat_a |
| e080 | 64 64 5f 6c 69 73 74 65 6e 65 72 28 73 65 61 74 2c 20 26 73 65 61 74 5f 6c 69 73 74 65 6e 65 72 | dd_listener(seat,.&seat_listener |
| e0a0 | 2c 20 4e 55 4c 4c 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 59 73 74 | ,.NULL);........}....}.......Yst |
| e0c0 | 61 74 69 63 20 76 6f 69 64 20 68 61 6e 64 6c 65 5f 67 6c 6f 62 61 6c 5f 72 65 6d 6f 76 65 28 76 | atic.void.handle_global_remove(v |
| e0e0 | 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 | oid.*data,.struct.wl_registry.*r |
| e100 | 65 67 69 73 74 72 79 2c 20 75 69 6e 74 33 32 5f 74 20 6e 61 6d 65 29 00 00 00 01 7b 00 00 00 0f | egistry,.uint32_t.name)....{.... |
| e120 | 20 20 20 20 28 76 6f 69 64 29 64 61 74 61 3b 00 00 00 13 20 20 20 20 28 76 6f 69 64 29 72 65 67 | ....(void)data;........(void)reg |
| e140 | 69 73 74 72 79 3b 00 00 00 0f 20 20 20 20 28 76 6f 69 64 29 6e 61 6d 65 3b 00 00 00 01 7d 00 00 | istry;........(void)name;....}.. |
| e160 | 00 00 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 72 65 67 | .....>static.const.struct.wl_reg |
| e180 | 69 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 20 72 65 67 69 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 | istry_listener.registry_listener |
| e1a0 | 20 3d 20 7b 00 00 00 1c 20 20 20 20 2e 67 6c 6f 62 61 6c 20 3d 20 68 61 6e 64 6c 65 5f 67 6c 6f | .=.{.........global.=.handle_glo |
| e1c0 | 62 61 6c 2c 00 00 00 2a 20 20 20 20 2e 67 6c 6f 62 61 6c 5f 72 65 6d 6f 76 65 20 3d 20 68 61 6e | bal,...*.....global_remove.=.han |
| e1e0 | 64 6c 65 5f 67 6c 6f 62 61 6c 5f 72 65 6d 6f 76 65 2c 00 00 00 02 7d 3b 00 00 00 00 00 00 00 1d | dle_global_remove,....};........ |
| e200 | 73 74 61 74 69 63 20 76 6f 69 64 20 63 6c 65 61 6e 75 70 5f 70 74 79 28 76 6f 69 64 29 00 00 00 | static.void.cleanup_pty(void)... |
| e220 | 01 7b 00 00 00 18 20 20 20 20 69 66 20 28 73 68 65 6c 6c 5f 70 69 64 20 3e 20 30 29 20 7b 00 00 | .{........if.(shell_pid.>.0).{.. |
| e240 | 00 21 20 20 20 20 20 20 20 20 6b 69 6c 6c 28 73 68 65 6c 6c 5f 70 69 64 2c 20 53 49 47 54 45 52 | .!........kill(shell_pid,.SIGTER |
| e260 | 4d 29 3b 00 00 00 24 20 20 20 20 20 20 20 20 77 61 69 74 70 69 64 28 73 68 65 6c 6c 5f 70 69 64 | M);...$........waitpid(shell_pid |
| e280 | 2c 20 4e 55 4c 4c 2c 20 30 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 1a | ,.NULL,.0);........}............ |
| e2a0 | 20 20 20 20 69 66 20 28 70 74 79 5f 6d 61 73 74 65 72 20 3e 3d 20 30 29 20 7b 00 00 00 1a 20 20 | ....if.(pty_master.>=.0).{...... |
| e2c0 | 20 20 20 20 20 20 63 6c 6f 73 65 28 70 74 79 5f 6d 61 73 74 65 72 29 3b 00 00 00 05 20 20 20 20 | ......close(pty_master);........ |
| e2e0 | 7d 00 00 00 04 20 20 20 20 00 00 00 19 20 20 20 20 69 66 20 28 70 74 79 5f 73 6c 61 76 65 20 3e | }................if.(pty_slave.> |
| e300 | 3d 20 30 29 20 7b 00 00 00 19 20 20 20 20 20 20 20 20 63 6c 6f 73 65 28 70 74 79 5f 73 6c 61 76 | =.0).{............close(pty_slav |
| e320 | 65 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 1a 73 74 61 74 69 63 20 | e);........}....}........static. |
| e340 | 69 6e 74 20 73 65 74 75 70 5f 70 74 79 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 18 20 20 20 20 | int.setup_pty(void)....{........ |
| e360 | 73 74 72 75 63 74 20 74 65 72 6d 69 6f 73 20 74 65 72 6d 3b 00 00 00 04 20 20 20 20 00 00 00 36 | struct.termios.term;...........6 |
| e380 | 20 20 20 20 70 74 79 5f 6d 61 73 74 65 72 20 3d 20 6f 70 65 6e 28 22 2f 64 65 76 2f 70 74 6d 78 | ....pty_master.=.open("/dev/ptmx |
| e3a0 | 22 2c 20 4f 5f 52 44 57 52 20 7c 20 4f 5f 4e 4f 43 54 54 59 29 3b 00 00 00 19 20 20 20 20 69 66 | ",.O_RDWR.|.O_NOCTTY);........if |
| e3c0 | 20 28 70 74 79 5f 6d 61 73 74 65 72 20 3c 20 30 29 20 7b 00 00 00 26 20 20 20 20 20 20 20 20 70 | .(pty_master.<.0).{...&........p |
| e3e0 | 65 72 72 6f 72 28 22 66 61 69 6c 65 64 20 74 6f 20 6f 70 65 6e 20 70 74 6d 78 22 29 3b 00 00 00 | error("failed.to.open.ptmx");... |
| e400 | 12 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 2d 31 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 | .........return.-1;........}.... |
| e420 | 20 20 20 20 00 00 00 22 20 20 20 20 69 66 20 28 67 72 61 6e 74 70 74 28 70 74 79 5f 6d 61 73 74 | ......."....if.(grantpt(pty_mast |
| e440 | 65 72 29 20 3c 20 30 29 20 7b 00 00 00 21 20 20 20 20 20 20 20 20 70 65 72 72 6f 72 28 22 67 72 | er).<.0).{...!........perror("gr |
| e460 | 61 6e 74 70 74 20 66 61 69 6c 65 64 22 29 3b 00 00 00 12 20 20 20 20 20 20 20 20 72 65 74 75 72 | antpt.failed");............retur |
| e480 | 6e 20 2d 31 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 23 20 20 20 20 69 66 | n.-1;........}...........#....if |
| e4a0 | 20 28 75 6e 6c 6f 63 6b 70 74 28 70 74 79 5f 6d 61 73 74 65 72 29 20 3c 20 30 29 20 7b 00 00 00 | .(unlockpt(pty_master).<.0).{... |
| e4c0 | 22 20 20 20 20 20 20 20 20 70 65 72 72 6f 72 28 22 75 6e 6c 6f 63 6b 70 74 20 66 61 69 6c 65 64 | "........perror("unlockpt.failed |
| e4e0 | 22 29 3b 00 00 00 12 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 2d 31 3b 00 00 00 05 20 20 20 | ");............return.-1;....... |
| e500 | 20 7d 00 00 00 04 20 20 20 20 00 00 00 3d 20 20 20 20 70 74 79 5f 73 6c 61 76 65 20 3d 20 6f 70 | .}...........=....pty_slave.=.op |
| e520 | 65 6e 28 70 74 73 6e 61 6d 65 28 70 74 79 5f 6d 61 73 74 65 72 29 2c 20 4f 5f 52 44 57 52 20 7c | en(ptsname(pty_master),.O_RDWR.| |
| e540 | 20 4f 5f 4e 4f 43 54 54 59 29 3b 00 00 00 18 20 20 20 20 69 66 20 28 70 74 79 5f 73 6c 61 76 65 | .O_NOCTTY);........if.(pty_slave |
| e560 | 20 3c 20 30 29 20 7b 00 00 00 2b 20 20 20 20 20 20 20 20 70 65 72 72 6f 72 28 22 66 61 69 6c 65 | .<.0).{...+........perror("faile |
| e580 | 64 20 74 6f 20 6f 70 65 6e 20 73 6c 61 76 65 20 70 74 79 22 29 3b 00 00 00 12 20 20 20 20 20 20 | d.to.open.slave.pty");.......... |
| e5a0 | 20 20 72 65 74 75 72 6e 20 2d 31 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 | ..return.-1;........}........... |
| e5c0 | 20 20 20 20 20 74 63 67 65 74 61 74 74 72 28 70 74 79 5f 73 6c 61 76 65 2c 20 26 74 65 72 6d 29 | .....tcgetattr(pty_slave,.&term) |
| e5e0 | 3b 00 00 00 58 20 20 20 20 74 65 72 6d 2e 63 5f 69 66 6c 61 67 20 26 3d 20 7e 28 49 47 4e 42 52 | ;...X....term.c_iflag.&=.~(IGNBR |
| e600 | 4b 20 7c 20 42 52 4b 49 4e 54 20 7c 20 50 41 52 4d 52 4b 20 7c 20 49 53 54 52 49 50 20 7c 20 49 | K.|.BRKINT.|.PARMRK.|.ISTRIP.|.I |
| e620 | 4e 4c 43 52 20 7c 20 49 47 4e 43 52 20 7c 20 49 43 52 4e 4c 20 7c 20 49 58 4f 4e 29 3b 00 00 00 | NLCR.|.IGNCR.|.ICRNL.|.IXON);... |
| e640 | 1b 20 20 20 20 74 65 72 6d 2e 63 5f 6f 66 6c 61 67 20 26 3d 20 7e 4f 50 4f 53 54 3b 00 00 00 3e | .....term.c_oflag.&=.~OPOST;...> |
| e660 | 20 20 20 20 74 65 72 6d 2e 63 5f 6c 66 6c 61 67 20 26 3d 20 7e 28 45 43 48 4f 20 7c 20 45 43 48 | ....term.c_lflag.&=.~(ECHO.|.ECH |
| e680 | 4f 4e 4c 20 7c 20 49 43 41 4e 4f 4e 20 7c 20 49 53 49 47 20 7c 20 49 45 58 54 45 4e 29 3b 00 00 | ONL.|.ICANON.|.ISIG.|.IEXTEN);.. |
| e6a0 | 00 26 20 20 20 20 74 65 72 6d 2e 63 5f 63 66 6c 61 67 20 26 3d 20 7e 28 43 53 49 5a 45 20 7c 20 | .&....term.c_cflag.&=.~(CSIZE.|. |
| e6c0 | 50 41 52 45 4e 42 29 3b 00 00 00 18 20 20 20 20 74 65 72 6d 2e 63 5f 63 66 6c 61 67 20 7c 3d 20 | PARENB);........term.c_cflag.|=. |
| e6e0 | 43 53 38 3b 00 00 00 18 20 20 20 20 74 65 72 6d 2e 63 5f 63 63 5b 56 4d 49 4e 5d 20 3d 20 31 3b | CS8;........term.c_cc[VMIN].=.1; |
| e700 | 00 00 00 19 20 20 20 20 74 65 72 6d 2e 63 5f 63 63 5b 56 54 49 4d 45 5d 20 3d 20 30 3b 00 00 00 | ........term.c_cc[VTIME].=.0;... |
| e720 | 29 20 20 20 20 74 63 73 65 74 61 74 74 72 28 70 74 79 5f 73 6c 61 76 65 2c 20 54 43 53 41 4e 4f | )....tcsetattr(pty_slave,.TCSANO |
| e740 | 57 2c 20 26 74 65 72 6d 29 3b 00 00 00 04 20 20 20 20 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e | W,.&term);................return |
| e760 | 20 30 3b 00 00 00 01 7d 00 00 00 00 00 00 00 1b 73 74 61 74 69 63 20 76 6f 69 64 20 72 75 6e 5f | .0;....}........static.void.run_ |
| e780 | 73 68 65 6c 6c 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 17 20 20 20 20 73 68 65 6c 6c 5f 70 69 | shell(void)....{........shell_pi |
| e7a0 | 64 20 3d 20 66 6f 72 6b 28 29 3b 00 00 00 04 20 20 20 20 00 00 00 19 20 20 20 20 69 66 20 28 73 | d.=.fork();................if.(s |
| e7c0 | 68 65 6c 6c 5f 70 69 64 20 3d 3d 20 30 29 20 7b 00 00 00 11 20 20 20 20 20 20 20 20 73 65 74 73 | hell_pid.==.0).{............sets |
| e7e0 | 69 64 28 29 3b 00 00 00 08 20 20 20 20 20 20 20 20 00 00 00 1a 20 20 20 20 20 20 20 20 63 6c 6f | id();........................clo |
| e800 | 73 65 28 70 74 79 5f 6d 61 73 74 65 72 29 3b 00 00 00 08 20 20 20 20 20 20 20 20 00 00 00 27 20 | se(pty_master);...............'. |
| e820 | 20 20 20 20 20 20 20 69 6f 63 74 6c 28 70 74 79 5f 73 6c 61 76 65 2c 20 54 49 4f 43 53 43 54 54 | .......ioctl(pty_slave,.TIOCSCTT |
| e840 | 59 2c 20 30 29 3b 00 00 00 08 20 20 20 20 20 20 20 20 00 00 00 1b 20 20 20 20 20 20 20 20 64 75 | Y,.0);........................du |
| e860 | 70 32 28 70 74 79 5f 73 6c 61 76 65 2c 20 30 29 3b 00 00 00 1b 20 20 20 20 20 20 20 20 64 75 70 | p2(pty_slave,.0);............dup |
| e880 | 32 28 70 74 79 5f 73 6c 61 76 65 2c 20 31 29 3b 00 00 00 1b 20 20 20 20 20 20 20 20 64 75 70 32 | 2(pty_slave,.1);............dup2 |
| e8a0 | 28 70 74 79 5f 73 6c 61 76 65 2c 20 32 29 3b 00 00 00 08 20 20 20 20 20 20 20 20 00 00 00 19 20 | (pty_slave,.2);................. |
| e8c0 | 20 20 20 20 20 20 20 63 6c 6f 73 65 28 70 74 79 5f 73 6c 61 76 65 29 3b 00 00 00 08 20 20 20 20 | .......close(pty_slave);........ |
| e8e0 | 20 20 20 20 00 00 00 26 20 20 20 20 20 20 20 20 63 68 61 72 20 2a 73 68 65 6c 6c 20 3d 20 67 65 | .......&........char.*shell.=.ge |
| e900 | 74 65 6e 76 28 22 53 48 45 4c 4c 22 29 3b 00 00 00 15 20 20 20 20 20 20 20 20 69 66 20 28 21 73 | tenv("SHELL");............if.(!s |
| e920 | 68 65 6c 6c 29 20 7b 00 00 00 1e 20 20 20 20 20 20 20 20 20 20 20 20 73 68 65 6c 6c 20 3d 20 22 | hell).{................shell.=." |
| e940 | 2f 62 69 6e 2f 73 68 22 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 08 20 20 20 20 20 20 | /bin/sh";............}.......... |
| e960 | 20 20 00 00 00 22 20 20 20 20 20 20 20 20 65 78 65 63 6c 28 73 68 65 6c 6c 2c 20 73 68 65 6c 6c | ....."........execl(shell,.shell |
| e980 | 2c 20 4e 55 4c 4c 29 3b 00 00 00 10 20 20 20 20 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 1f | ,.NULL);............exit(1);.... |
| e9a0 | 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 73 68 65 6c 6c 5f 70 69 64 20 3c 20 30 29 20 7b 00 | ....}.else.if.(shell_pid.<.0).{. |
| e9c0 | 00 00 1e 20 20 20 20 20 20 20 20 70 65 72 72 6f 72 28 22 66 6f 72 6b 20 66 61 69 6c 65 64 22 29 | ...........perror("fork.failed") |
| e9e0 | 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 15 20 20 20 20 63 6c 6f 73 65 28 | ;........}................close( |
| ea00 | 70 74 79 5f 73 6c 61 76 65 29 3b 00 00 00 13 20 20 20 20 70 74 79 5f 73 6c 61 76 65 20 3d 20 2d | pty_slave);........pty_slave.=.- |
| ea20 | 31 3b 00 00 00 01 7d 00 00 00 00 00 00 00 0e 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 00 00 00 | 1;....}........int.main(void)... |
| ea40 | 01 7b 00 00 00 21 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 | .{...!....struct.wl_registry.*re |
| ea60 | 67 69 73 74 72 79 3b 00 00 00 16 20 20 20 20 73 74 72 75 63 74 20 77 69 6e 73 69 7a 65 20 77 73 | gistry;........struct.winsize.ws |
| ea80 | 3b 00 00 00 04 20 20 20 20 00 00 00 10 20 20 20 20 69 6e 69 74 5f 66 6f 6e 74 28 29 3b 00 00 00 | ;................init_font();... |
| eaa0 | 04 20 20 20 20 00 00 00 1d 20 20 20 20 73 69 67 6e 61 6c 28 53 49 47 43 48 4c 44 2c 20 53 49 47 | .............signal(SIGCHLD,.SIG |
| eac0 | 5f 49 47 4e 29 3b 00 00 00 04 20 20 20 20 00 00 00 1a 20 20 20 20 69 66 20 28 73 65 74 75 70 5f | _IGN);................if.(setup_ |
| eae0 | 70 74 79 28 29 20 3c 20 30 29 20 7b 00 00 00 11 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 31 | pty().<.0).{............return.1 |
| eb00 | 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 15 20 20 20 20 77 73 2e 77 73 5f | ;........}................ws.ws_ |
| eb20 | 72 6f 77 20 3d 20 72 6f 77 73 3b 00 00 00 15 20 20 20 20 77 73 2e 77 73 5f 63 6f 6c 20 3d 20 63 | row.=.rows;........ws.ws_col.=.c |
| eb40 | 6f 6c 73 3b 00 00 00 20 20 20 20 20 77 73 2e 77 73 5f 78 70 69 78 65 6c 20 3d 20 77 69 6e 64 6f | ols;........ws.ws_xpixel.=.windo |
| eb60 | 77 5f 77 69 64 74 68 3b 00 00 00 21 20 20 20 20 77 73 2e 77 73 5f 79 70 69 78 65 6c 20 3d 20 77 | w_width;...!....ws.ws_ypixel.=.w |
| eb80 | 69 6e 64 6f 77 5f 68 65 69 67 68 74 3b 00 00 00 27 20 20 20 20 69 6f 63 74 6c 28 70 74 79 5f 6d | indow_height;...'....ioctl(pty_m |
| eba0 | 61 73 74 65 72 2c 20 54 49 4f 43 53 57 49 4e 53 5a 2c 20 26 77 73 29 3b 00 00 00 04 20 20 20 20 | aster,.TIOCSWINSZ,.&ws);........ |
| ebc0 | 00 00 00 10 20 20 20 20 72 75 6e 5f 73 68 65 6c 6c 28 29 3b 00 00 00 04 20 20 20 20 00 00 00 27 | ........run_shell();...........' |
| ebe0 | 20 20 20 20 64 69 73 70 6c 61 79 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 6f 6e 6e 65 63 74 | ....display.=.wl_display_connect |
| ec00 | 28 4e 55 4c 4c 29 3b 00 00 00 13 20 20 20 20 69 66 20 28 21 64 69 73 70 6c 61 79 29 20 7b 00 00 | (NULL);........if.(!display).{.. |
| ec20 | 00 42 20 20 20 20 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 | .B........fprintf(stderr,."faile |
| ec40 | 64 20 74 6f 20 63 6f 6e 6e 65 63 74 20 74 6f 20 77 61 79 6c 61 6e 64 20 64 69 73 70 6c 61 79 5c | d.to.connect.to.wayland.display\ |
| ec60 | 6e 22 29 3b 00 00 00 16 20 20 20 20 20 20 20 20 63 6c 65 61 6e 75 70 5f 70 74 79 28 29 3b 00 00 | n");............cleanup_pty();.. |
| ec80 | 00 11 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 | ..........return.1;........}.... |
| eca0 | 20 20 20 20 00 00 00 30 20 20 20 20 72 65 67 69 73 74 72 79 20 3d 20 77 6c 5f 64 69 73 70 6c 61 | .......0....registry.=.wl_displa |
| ecc0 | 79 5f 67 65 74 5f 72 65 67 69 73 74 72 79 28 64 69 73 70 6c 61 79 29 3b 00 00 00 41 20 20 20 20 | y_get_registry(display);...A.... |
| ece0 | 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 72 65 67 69 73 74 72 | wl_registry_add_listener(registr |
| ed00 | 79 2c 20 26 72 65 67 69 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 | y,.®istry_listener,.NULL);... |
| ed20 | 22 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 64 69 73 70 6c 61 | "....wl_display_roundtrip(displa |
| ed40 | 79 29 3b 00 00 00 04 20 20 20 20 00 00 00 2a 20 20 20 20 69 66 20 28 21 63 6f 6d 70 6f 73 69 74 | y);...........*....if.(!composit |
| ed60 | 6f 72 20 7c 7c 20 21 73 68 6d 20 7c 7c 20 21 77 6d 5f 62 61 73 65 29 20 7b 00 00 00 47 20 20 20 | or.||.!shm.||.!wm_base).{...G... |
| ed80 | 20 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 64 20 74 6f 20 | .....fprintf(stderr,."failed.to. |
| eda0 | 67 65 74 20 72 65 71 75 69 72 65 64 20 77 61 79 6c 61 6e 64 20 69 6e 74 65 72 66 61 63 65 73 5c | get.required.wayland.interfaces\ |
| edc0 | 6e 22 29 3b 00 00 00 16 20 20 20 20 20 20 20 20 63 6c 65 61 6e 75 70 5f 70 74 79 28 29 3b 00 00 | n");............cleanup_pty();.. |
| ede0 | 00 11 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 | ..........return.1;........}.... |
| ee00 | 20 20 20 20 00 00 00 37 20 20 20 20 73 75 72 66 61 63 65 20 3d 20 77 6c 5f 63 6f 6d 70 6f 73 69 | .......7....surface.=.wl_composi |
| ee20 | 74 6f 72 5f 63 72 65 61 74 65 5f 73 75 72 66 61 63 65 28 63 6f 6d 70 6f 73 69 74 6f 72 29 3b 00 | tor_create_surface(compositor);. |
| ee40 | 00 00 40 20 20 20 20 78 64 67 5f 73 75 72 66 61 63 65 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 | ..@....xdg_surface.=.xdg_wm_base |
| ee60 | 5f 67 65 74 5f 78 64 67 5f 73 75 72 66 61 63 65 28 77 6d 5f 62 61 73 65 2c 20 73 75 72 66 61 63 | _get_xdg_surface(wm_base,.surfac |
| ee80 | 65 29 3b 00 00 00 47 20 20 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 | e);...G....xdg_surface_add_liste |
| eea0 | 6e 65 72 28 78 64 67 5f 73 75 72 66 61 63 65 2c 20 26 78 64 67 5f 73 75 72 66 61 63 65 5f 6c 69 | ner(xdg_surface,.&xdg_surface_li |
| eec0 | 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 04 20 20 20 20 00 00 00 35 20 20 20 20 74 6f | stener,.NULL);...........5....to |
| eee0 | 70 6c 65 76 65 6c 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 | plevel.=.xdg_surface_get_topleve |
| ef00 | 6c 28 78 64 67 5f 73 75 72 66 61 63 65 29 3b 00 00 00 42 20 20 20 20 78 64 67 5f 74 6f 70 6c 65 | l(xdg_surface);...B....xdg_tople |
| ef20 | 76 65 6c 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 74 6f 70 6c 65 76 65 6c 2c 20 26 74 6f 70 6c | vel_add_listener(toplevel,.&topl |
| ef40 | 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 40 20 20 20 20 78 64 67 | evel_listener,.NULL);...@....xdg |
| ef60 | 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 74 69 74 6c 65 28 74 6f 70 6c 65 76 65 6c 2c 20 22 73 | _toplevel_set_title(toplevel,."s |
| ef80 | 69 6d 70 6c 65 20 77 61 79 6c 61 6e 64 20 74 65 72 6d 69 6e 61 6c 22 29 3b 00 00 00 41 20 20 20 | imple.wayland.terminal");...A... |
| efa0 | 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 61 70 70 5f 69 64 28 74 6f 70 6c 65 76 65 | .xdg_toplevel_set_app_id(topleve |
| efc0 | 6c 2c 20 22 73 69 6d 70 6c 65 2d 77 61 79 6c 61 6e 64 2d 74 65 72 6d 69 6e 61 6c 22 29 3b 00 00 | l,."simple-wayland-terminal");.. |
| efe0 | 00 04 20 20 20 20 00 00 00 1f 20 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 | ..............wl_surface_commit( |
| f000 | 73 75 72 66 61 63 65 29 3b 00 00 00 04 20 20 20 20 00 00 00 2d 20 20 20 20 70 72 69 6e 74 66 28 | surface);...........-....printf( |
| f020 | 22 74 65 72 6d 69 6e 61 6c 20 63 72 65 61 74 65 64 2e 20 72 75 6e 6e 69 6e 67 2e 2e 2e 5c 6e 22 | "terminal.created..running...\n" |
| f040 | 29 3b 00 00 00 3b 20 20 20 20 70 72 69 6e 74 66 28 22 74 79 70 65 20 63 6f 6d 6d 61 6e 64 73 20 | );...;....printf("type.commands. |
| f060 | 69 6e 20 74 68 65 20 77 69 6e 64 6f 77 20 74 6f 20 72 75 6e 20 61 20 73 68 65 6c 6c 5c 6e 22 29 | in.the.window.to.run.a.shell\n") |
| f080 | 3b 00 00 00 04 20 20 20 20 00 00 00 3b 20 20 20 20 77 68 69 6c 65 20 28 72 75 6e 6e 69 6e 67 20 | ;...........;....while.(running. |
| f0a0 | 26 26 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 28 64 69 73 70 6c 61 79 29 20 | &&.wl_display_dispatch(display). |
| f0c0 | 21 3d 20 2d 31 29 20 7b 00 00 00 16 20 20 20 20 20 20 20 20 63 68 61 72 20 62 75 66 5b 32 35 36 | !=.-1).{............char.buf[256 |
| f0e0 | 5d 3b 00 00 00 33 20 20 20 20 20 20 20 20 69 6e 74 20 6e 20 3d 20 72 65 61 64 28 70 74 79 5f 6d | ];...3........int.n.=.read(pty_m |
| f100 | 61 73 74 65 72 2c 20 62 75 66 2c 20 73 69 7a 65 6f 66 28 62 75 66 29 29 3b 00 00 00 08 20 20 20 | aster,.buf,.sizeof(buf));....... |
| f120 | 20 20 20 20 20 00 00 00 14 20 20 20 20 20 20 20 20 69 66 20 28 6e 20 3e 20 30 29 20 7b 00 00 00 | .................if.(n.>.0).{... |
| f140 | 12 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 69 3b 00 00 00 25 20 20 20 20 20 20 20 20 20 | .............int.i;...%......... |
| f160 | 20 20 20 66 6f 72 20 28 69 20 3d 20 30 3b 20 69 20 3c 20 6e 3b 20 69 2b 2b 29 20 7b 00 00 00 25 | ...for.(i.=.0;.i.<.n;.i++).{...% |
| f180 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 62 75 66 5b 69 5d 20 3d 3d 20 27 5c | ................if.(buf[i].==.'\ |
| f1a0 | 6e 27 29 20 7b 00 00 00 21 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 | n').{...!....................cur |
| f1c0 | 73 6f 72 5f 78 20 3d 20 30 3b 00 00 00 1f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | sor_x.=.0;...................... |
| f1e0 | 20 20 63 75 72 73 6f 72 5f 79 2b 2b 3b 00 00 00 2b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..cursor_y++;...+............... |
| f200 | 20 20 20 20 20 69 66 20 28 63 75 72 73 6f 72 5f 79 20 3e 3d 20 72 6f 77 73 29 20 7b 00 00 00 2c | .....if.(cursor_y.>=.rows).{..., |
| f220 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 73 6f 72 5f 79 | ........................cursor_y |
| f240 | 20 3d 20 72 6f 77 73 20 2d 20 31 3b 00 00 00 15 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .=.rows.-.1;.................... |
| f260 | 20 20 20 20 7d 00 00 00 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 | ....}...,................}.else. |
| f280 | 69 66 20 28 62 75 66 5b 69 5d 20 3d 3d 20 27 5c 72 27 29 20 7b 00 00 00 21 20 20 20 20 20 20 20 | if.(buf[i].==.'\r').{...!....... |
| f2a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 73 6f 72 5f 78 20 3d 20 30 3b 00 00 00 3e 20 20 | .............cursor_x.=.0;...>.. |
| f2c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 62 75 66 5b 69 5d 20 | ..............}.else.if.(buf[i]. |
| f2e0 | 3d 3d 20 27 5c 62 27 20 7c 7c 20 62 75 66 5b 69 5d 20 3d 3d 20 30 78 37 66 29 20 7b 00 00 00 27 | ==.'\b'.||.buf[i].==.0x7f).{...' |
| f300 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 75 72 73 6f 72 5f 78 | ....................if.(cursor_x |
| f320 | 20 3e 20 30 29 20 7b 00 00 00 23 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .>.0).{...#..................... |
| f340 | 20 20 20 63 75 72 73 6f 72 5f 78 2d 2d 3b 00 00 00 15 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ...cursor_x--;.................. |
| f360 | 20 20 20 20 20 20 7d 00 00 00 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 | ......}...:................}.els |
| f380 | 65 20 69 66 20 28 62 75 66 5b 69 5d 20 3e 3d 20 33 32 20 26 26 20 62 75 66 5b 69 5d 20 3c 20 31 | e.if.(buf[i].>=.32.&&.buf[i].<.1 |
| f3a0 | 32 37 29 20 7b 00 00 00 1f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 | 27).{........................cur |
| f3c0 | 73 6f 72 5f 78 2b 2b 3b 00 00 00 2b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | sor_x++;...+.................... |
| f3e0 | 69 66 20 28 63 75 72 73 6f 72 5f 78 20 3e 3d 20 63 6f 6c 73 29 20 7b 00 00 00 25 20 20 20 20 20 | if.(cursor_x.>=.cols).{...%..... |
| f400 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 73 6f 72 5f 78 20 3d 20 30 3b | ...................cursor_x.=.0; |
| f420 | 00 00 00 23 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 73 | ...#........................curs |
| f440 | 6f 72 5f 79 2b 2b 3b 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 | or_y++;.../..................... |
| f460 | 20 20 20 69 66 20 28 63 75 72 73 6f 72 5f 79 20 3e 3d 20 72 6f 77 73 29 20 7b 00 00 00 30 20 20 | ...if.(cursor_y.>=.rows).{...0.. |
| f480 | 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 63 75 72 73 6f 72 | ..........................cursor |
| f4a0 | 5f 79 20 3d 20 72 6f 77 73 20 2d 20 31 3b 00 00 00 19 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | _y.=.rows.-.1;.................. |
| f4c0 | 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 15 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..........}..................... |
| f4e0 | 20 20 20 7d 00 00 00 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 0d 20 20 20 | ...}....................}....... |
| f500 | 20 20 20 20 20 20 20 20 20 7d 00 00 00 1c 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 | .........}............}.else.if. |
| f520 | 28 6e 20 3d 3d 20 30 29 20 7b 00 00 00 18 20 20 20 20 20 20 20 20 20 20 20 20 72 75 6e 6e 69 6e | (n.==.0).{................runnin |
| f540 | 67 20 3d 20 30 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 04 | g.=.0;............}........}.... |
| f560 | 20 20 20 20 00 00 00 12 20 20 20 20 63 6c 65 61 6e 75 70 5f 70 74 79 28 29 3b 00 00 00 04 20 20 | ............cleanup_pty();...... |
| f580 | 20 20 00 00 00 19 20 20 20 20 69 66 20 28 66 72 61 6d 65 5f 63 61 6c 6c 62 61 63 6b 29 20 7b 00 | ..........if.(frame_callback).{. |
| f5a0 | 00 00 2c 20 20 20 20 20 20 20 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 5f 64 65 73 74 72 6f 79 28 66 | ..,........wl_callback_destroy(f |
| f5c0 | 72 61 6d 65 5f 63 61 6c 6c 62 61 63 6b 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 | rame_callback);........}........ |
| f5e0 | 00 00 00 13 20 20 20 20 69 66 20 28 6b 65 79 62 6f 61 72 64 29 20 7b 00 00 00 26 20 20 20 20 20 | ........if.(keyboard).{...&..... |
| f600 | 20 20 20 77 6c 5f 6b 65 79 62 6f 61 72 64 5f 64 65 73 74 72 6f 79 28 6b 65 79 62 6f 61 72 64 29 | ...wl_keyboard_destroy(keyboard) |
| f620 | 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 0f 20 20 20 20 69 66 20 28 73 65 | ;........}................if.(se |
| f640 | 61 74 29 20 7b 00 00 00 1e 20 20 20 20 20 20 20 20 77 6c 5f 73 65 61 74 5f 64 65 73 74 72 6f 79 | at).{............wl_seat_destroy |
| f660 | 28 73 65 61 74 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 15 20 20 20 20 | (seat);........}................ |
| f680 | 64 65 73 74 72 6f 79 5f 62 75 66 66 65 72 28 29 3b 00 00 00 04 20 20 20 20 00 00 00 23 20 20 20 | destroy_buffer();...........#... |
| f6a0 | 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 64 65 73 74 72 6f 79 28 74 6f 70 6c 65 76 65 6c 29 3b | .xdg_toplevel_destroy(toplevel); |
| f6c0 | 00 00 00 25 20 20 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 64 65 73 74 72 6f 79 28 78 64 67 5f | ...%....xdg_surface_destroy(xdg_ |
| f6e0 | 73 75 72 66 61 63 65 29 3b 00 00 00 20 20 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 65 73 74 | surface);........wl_surface_dest |
| f700 | 72 6f 79 28 73 75 72 66 61 63 65 29 3b 00 00 00 21 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 | roy(surface);...!....xdg_wm_base |
| f720 | 5f 64 65 73 74 72 6f 79 28 77 6d 5f 62 61 73 65 29 3b 00 00 00 26 20 20 20 20 77 6c 5f 63 6f 6d | _destroy(wm_base);...&....wl_com |
| f740 | 70 6f 73 69 74 6f 72 5f 64 65 73 74 72 6f 79 28 63 6f 6d 70 6f 73 69 74 6f 72 29 3b 00 00 00 18 | positor_destroy(compositor);.... |
| f760 | 20 20 20 20 77 6c 5f 73 68 6d 5f 64 65 73 74 72 6f 79 28 73 68 6d 29 3b 00 00 00 22 20 20 20 20 | ....wl_shm_destroy(shm);...".... |
| f780 | 77 6c 5f 72 65 67 69 73 74 72 79 5f 64 65 73 74 72 6f 79 28 72 65 67 69 73 74 72 79 29 3b 00 00 | wl_registry_destroy(registry);.. |
| f7a0 | 00 23 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 63 6f 6e 6e 65 63 74 28 64 69 73 70 | .#....wl_display_disconnect(disp |
| f7c0 | 6c 61 79 29 3b 00 00 00 04 20 20 20 20 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 30 3b 00 00 | lay);................return.0;.. |
| f7e0 | 00 01 7d 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 53 02 00 00 00 00 00 00 01 00 00 00 00 | ..}5...............S............ |
| f800 | 00 00 00 00 00 00 00 00 00 00 00 47 3e 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 | ...........G>..............5._.. |
| f820 | 00 00 09 00 00 00 0b 00 00 00 00 00 00 00 00 00 00 00 0a 00 00 00 01 00 00 00 00 00 00 00 00 ff | ................................ |
| f840 | ff ff ff 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 | ................................ |
| f860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| f880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| f8a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| f8c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| f8e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| f900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| f920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| f940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| f960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| f980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| f9a0 | 00 6a 01 0e 4e 04 01 00 00 00 09 00 f5 18 00 00 02 60 00 00 00 00 00 00 00 00 00 00 00 01 00 00 | .j..N............`.............. |
| f9c0 | 00 05 20 20 20 20 20 f5 18 00 00 02 61 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 bc 00 | ............a................... |
| f9e0 | 00 00 00 00 00 00 00 00 00 00 01 00 00 00 15 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 73 74 | ...................}.else.if.(st |
| fa00 | 72 63 6d 70 f5 18 00 00 01 bd 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 3a 00 00 00 00 | rcmp.......................:.... |
| fa20 | 00 00 00 00 00 00 00 01 00 00 00 2d 20 20 20 20 66 72 61 6d 65 5f 63 61 6c 6c 62 61 63 6b 20 3d | ...........-....frame_callback.= |
| fa40 | 20 77 6c 5f 73 75 72 66 61 63 65 5f 66 72 61 6d 65 28 73 75 72 66 61 63 65 f5 18 00 00 01 3b 00 | .wl_surface_frame(surface.....;. |
| fa60 | 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 96 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 | ................................ |
| fa80 | 16 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 6d 6d 6f 76 65 28 73 63 f5 18 00 00 00 97 00 00 00 | .............memmove(sc......... |
| faa0 | 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 00 00 00 00 f5 | ................................ |
| fac0 | 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 00 00 00 00 00 | .................5.............. |
| fae0 | 00 00 00 00 00 00 00 00 00 96 00 00 00 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| fb00 | 00 f9 0f 00 00 00 00 00 00 f5 18 00 00 00 00 96 00 00 00 16 00 00 00 00 00 00 00 00 00 00 00 a4 | ................................ |
| fb20 | 00 00 00 2d 00 00 00 f9 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 0f 00 00 00 00 00 00 f5 | ...-............................ |
| fb40 | 18 00 00 00 00 3a 01 00 00 2d 00 00 00 00 00 00 00 00 00 00 00 82 00 00 00 15 00 00 00 f8 1f 00 | .....:...-...................... |
| fb60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 0f 00 00 00 00 00 00 f5 18 00 00 00 00 bc 01 00 00 15 | ................................ |
| fb80 | 00 00 00 00 00 00 00 00 00 00 00 a4 00 00 00 05 00 00 00 f7 2f 00 00 00 00 00 00 00 00 00 00 00 | ..................../........... |
| fba0 | 00 00 00 ff 0f 00 00 00 00 00 00 f5 18 00 00 00 00 60 02 00 00 05 00 00 00 00 00 00 00 00 00 00 | .................`.............. |
| fbc0 | 00 29 00 00 00 01 00 00 00 f6 3f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 b0 03 00 00 00 00 00 | .)........?..................... |
| fbe0 | 00 35 81 5f d0 00 00 00 0a 00 00 00 0c 00 00 00 00 00 00 00 00 00 00 00 0b 00 00 00 01 00 00 00 | .5._............................ |
| fc00 | 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 00 00 | ................................ |
| fc20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| fc40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| fc60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| fc80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| fca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| fcc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| fce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| fd00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| fd20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| fd40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| fd60 | 00 00 00 00 00 00 00 6a 01 0e cc 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 00 00 00 | .......j........................ |
| fd80 | 00 00 02 8a 00 00 00 19 23 64 65 66 69 6e 65 20 5f 58 4f 50 45 4e 5f 53 4f 55 52 43 45 20 36 30 | ........#define._XOPEN_SOURCE.60 |
| fda0 | 30 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 | 0....#include.<stdio.h>....#incl |
| fdc0 | 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 |
| fde0 | 6e 67 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 75 6e 69 73 74 64 2e 68 3e 00 00 00 15 | ng.h>....#include.<unistd.h>.... |
| fe00 | 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e 68 3e 00 00 00 16 23 69 6e 63 6c 75 64 | #include.<sys/mman.h>....#includ |
| fe20 | 65 20 3c 73 79 73 2f 69 6f 63 74 6c 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 | e.<sys/ioctl.h>....#include.<sys |
| fe40 | 2f 77 61 69 74 2e 68 3e 00 00 00 17 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 73 65 6c 65 63 74 | /wait.h>....#include.<sys/select |
| fe60 | 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 12 23 69 6e | .h>....#include.<fcntl.h>....#in |
| fe80 | 63 6c 75 64 65 20 3c 65 72 72 6e 6f 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 69 67 | clude.<errno.h>....#include.<sig |
| fea0 | 6e 61 6c 2e 68 3e 00 00 00 14 23 69 6e 63 6c 75 64 65 20 3c 74 65 72 6d 69 6f 73 2e 68 3e 00 00 | nal.h>....#include.<termios.h>.. |
| fec0 | 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 3e 00 00 00 | ..#include.<wayland-client.h>... |
| fee0 | 26 23 69 6e 63 6c 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 | &#include."xdg-shell-client-prot |
| ff00 | 6f 63 6f 6c 2e 68 22 00 00 00 00 00 00 00 22 73 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 | ocol.h"......."struct.wl_display |
| ff20 | 20 2a 64 69 73 70 6c 61 79 20 3d 20 4e 55 4c 4c 3b 00 00 00 28 73 74 72 75 63 74 20 77 6c 5f 63 | .*display.=.NULL;...(struct.wl_c |
| ff40 | 6f 6d 70 6f 73 69 74 6f 72 20 2a 63 6f 6d 70 6f 73 69 74 6f 72 20 3d 20 4e 55 4c 4c 3b 00 00 00 | ompositor.*compositor.=.NULL;... |
| ff60 | 22 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 72 66 61 63 65 20 3d 20 4e 55 | "struct.wl_surface.*surface.=.NU |
| ff80 | 4c 4c 3b 00 00 00 1a 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d 20 3d 20 4e 55 4c 4c | LL;....struct.wl_shm.*shm.=.NULL |
| ffa0 | 3b 00 00 00 1c 73 74 72 75 63 74 20 77 6c 5f 73 65 61 74 20 2a 73 65 61 74 20 3d 20 4e 55 4c 4c | ;....struct.wl_seat.*seat.=.NULL |
| ffc0 | 3b 00 00 00 24 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 | ;...$struct.wl_keyboard.*keyboar |
| ffe0 | 64 20 3d 20 4e 55 4c 4c 3b 00 00 00 23 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 | d.=.NULL;...#struct.xdg_wm_base. |
| 10000 | 2a 77 6d 5f 62 61 73 65 20 3d 20 4e 55 4c 4c 3b 00 00 00 27 73 74 72 75 63 74 20 78 64 67 5f 73 | *wm_base.=.NULL;...'struct.xdg_s |
| 10020 | 75 72 66 61 63 65 20 2a 78 64 67 5f 73 75 72 66 61 63 65 20 3d 20 4e 55 4c 4c 3b 00 00 00 25 73 | urface.*xdg_surface.=.NULL;...%s |
| 10040 | 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 74 6f 70 6c 65 76 65 6c 20 3d 20 4e | truct.xdg_toplevel.*toplevel.=.N |
| 10060 | 55 4c 4c 3b 00 00 00 2a 73 74 72 75 63 74 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 20 2a 66 72 61 6d | ULL;...*struct.wl_callback.*fram |
| 10080 | 65 5f 63 61 6c 6c 62 61 63 6b 20 3d 20 4e 55 4c 4c 3b 00 00 00 00 00 00 00 17 73 74 61 74 69 63 | e_callback.=.NULL;........static |
| 100a0 | 20 69 6e 74 20 72 75 6e 6e 69 6e 67 20 3d 20 31 3b 00 00 00 1e 73 74 61 74 69 63 20 69 6e 74 20 | .int.running.=.1;....static.int. |
| 100c0 | 77 69 6e 64 6f 77 5f 77 69 64 74 68 20 3d 20 38 30 30 3b 00 00 00 1f 73 74 61 74 69 63 20 69 6e | window_width.=.800;....static.in |
| 100e0 | 74 20 77 69 6e 64 6f 77 5f 68 65 69 67 68 74 20 3d 20 36 30 30 3b 00 00 00 1d 73 74 61 74 69 63 | t.window_height.=.600;....static |
| 10100 | 20 69 6e 74 20 70 65 6e 64 69 6e 67 5f 77 69 64 74 68 20 3d 20 30 3b 00 00 00 1e 73 74 61 74 69 | .int.pending_width.=.0;....stati |
| 10120 | 63 20 69 6e 74 20 70 65 6e 64 69 6e 67 5f 68 65 69 67 68 74 20 3d 20 30 3b 00 00 00 1c 73 74 61 | c.int.pending_height.=.0;....sta |
| 10140 | 74 69 63 20 69 6e 74 20 6e 65 65 64 73 5f 72 65 73 69 7a 65 20 3d 20 30 3b 00 00 00 28 73 74 61 | tic.int.needs_resize.=.0;...(sta |
| 10160 | 74 69 63 20 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 70 69 78 65 6c 5f 64 61 74 61 20 3d 20 | tic.unsigned.char.*pixel_data.=. |
| 10180 | 4e 55 4c 4c 3b 00 00 00 2e 73 74 61 74 69 63 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 | NULL;....static.struct.wl_buffer |
| 101a0 | 20 2a 77 69 6e 64 6f 77 5f 62 75 66 66 65 72 20 3d 20 4e 55 4c 4c 3b 00 00 00 00 00 00 00 1b 73 | .*window_buffer.=.NULL;........s |
| 101c0 | 74 61 74 69 63 20 69 6e 74 20 70 74 79 5f 6d 61 73 74 65 72 20 3d 20 2d 31 3b 00 00 00 1c 73 74 | tatic.int.pty_master.=.-1;....st |
| 101e0 | 61 74 69 63 20 70 69 64 5f 74 20 73 68 65 6c 6c 5f 70 69 64 20 3d 20 2d 31 3b 00 00 00 15 73 74 | atic.pid_t.shell_pid.=.-1;....st |
| 10200 | 61 74 69 63 20 69 6e 74 20 72 6f 77 73 20 3d 20 32 35 3b 00 00 00 15 73 74 61 74 69 63 20 69 6e | atic.int.rows.=.25;....static.in |
| 10220 | 74 20 63 6f 6c 73 20 3d 20 38 30 3b 00 00 00 1a 73 74 61 74 69 63 20 69 6e 74 20 63 68 61 72 5f | t.cols.=.80;....static.int.char_ |
| 10240 | 77 69 64 74 68 20 3d 20 38 3b 00 00 00 1c 73 74 61 74 69 63 20 69 6e 74 20 63 68 61 72 5f 68 65 | width.=.8;....static.int.char_he |
| 10260 | 69 67 68 74 20 3d 20 31 36 3b 00 00 00 00 00 00 00 1b 73 74 61 74 69 63 20 63 68 61 72 20 73 63 | ight.=.16;........static.char.sc |
| 10280 | 72 65 65 6e 5b 32 35 5d 5b 38 30 5d 3b 00 00 00 18 73 74 61 74 69 63 20 69 6e 74 20 63 75 72 73 | reen[25][80];....static.int.curs |
| 102a0 | 6f 72 5f 78 20 3d 20 30 3b 00 00 00 18 73 74 61 74 69 63 20 69 6e 74 20 63 75 72 73 6f 72 5f 79 | or_x.=.0;....static.int.cursor_y |
| 102c0 | 20 3d 20 30 3b 00 00 00 1b 73 74 61 74 69 63 20 69 6e 74 20 6e 65 65 64 5f 72 65 64 72 61 77 20 | .=.0;....static.int.need_redraw. |
| 102e0 | 3d 20 31 3b 00 00 00 00 00 00 00 27 73 74 61 74 69 63 20 75 6e 73 69 67 6e 65 64 20 63 68 61 72 | =.1;.......'static.unsigned.char |
| 10300 | 20 66 6f 6e 74 5f 64 61 74 61 5b 39 35 5d 5b 31 36 5d 3b 00 00 00 00 00 00 00 1b 73 74 61 74 69 | .font_data[95][16];........stati |
| 10320 | 63 20 76 6f 69 64 20 69 6e 69 74 5f 66 6f 6e 74 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 0d 20 | c.void.init_font(void)....{..... |
| 10340 | 20 20 20 69 6e 74 20 69 2c 20 63 3b 00 00 00 1e 20 20 20 20 66 6f 72 20 28 69 20 3d 20 30 3b 20 | ...int.i,.c;........for.(i.=.0;. |
| 10360 | 69 20 3c 20 39 35 3b 20 69 2b 2b 29 20 7b 00 00 00 22 20 20 20 20 20 20 20 20 66 6f 72 20 28 63 | i.<.95;.i++).{..."........for.(c |
| 10380 | 20 3d 20 30 3b 20 63 20 3c 20 31 36 3b 20 63 2b 2b 29 20 7b 00 00 00 20 20 20 20 20 20 20 20 20 | .=.0;.c.<.16;.c++).{............ |
| 103a0 | 20 20 20 20 66 6f 6e 74 5f 64 61 74 61 5b 69 5d 5b 63 5d 20 3d 20 30 3b 00 00 00 09 20 20 20 20 | ....font_data[i][c].=.0;........ |
| 103c0 | 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 1e 20 20 20 20 66 6f | ....}........}................fo |
| 103e0 | 72 20 28 69 20 3d 20 30 3b 20 69 20 3c 20 39 35 3b 20 69 2b 2b 29 20 7b 00 00 00 1f 20 20 20 20 | r.(i.=.0;.i.<.95;.i++).{........ |
| 10400 | 20 20 20 20 66 6f 6e 74 5f 64 61 74 61 5b 69 5d 5b 30 5d 20 3d 20 30 78 30 30 3b 00 00 00 1f 20 | ....font_data[i][0].=.0x00;..... |
| 10420 | 20 20 20 20 20 20 20 66 6f 6e 74 5f 64 61 74 61 5b 69 5d 5b 31 5d 20 3d 20 30 78 30 30 3b 00 00 | .......font_data[i][1].=.0x00;.. |
| 10440 | 00 1f 20 20 20 20 20 20 20 20 66 6f 6e 74 5f 64 61 74 61 5b 69 5d 5b 32 5d 20 3d 20 30 78 30 30 | ..........font_data[i][2].=.0x00 |
| 10460 | 3b 00 00 00 1f 20 20 20 20 20 20 20 20 66 6f 6e 74 5f 64 61 74 61 5b 69 5d 5b 33 5d 20 3d 20 30 | ;............font_data[i][3].=.0 |
| 10480 | 78 30 30 3b 00 00 00 1f 20 20 20 20 20 20 20 20 66 6f 6e 74 5f 64 61 74 61 5b 69 5d 5b 34 5d 20 | x00;............font_data[i][4]. |
| 104a0 | 3d 20 30 78 30 30 3b 00 00 00 1f 20 20 20 20 20 20 20 20 66 6f 6e 74 5f 64 61 74 61 5b 69 5d 5b | =.0x00;............font_data[i][ |
| 104c0 | 35 5d 20 3d 20 30 78 30 30 3b 00 00 00 1f 20 20 20 20 20 20 20 20 66 6f 6e 74 5f 64 61 74 61 5b | 5].=.0x00;............font_data[ |
| 104e0 | 69 5d 5b 36 5d 20 3d 20 30 78 30 30 3b 00 00 00 1f 20 20 20 20 20 20 20 20 66 6f 6e 74 5f 64 61 | i][6].=.0x00;............font_da |
| 10500 | 74 61 5b 69 5d 5b 37 5d 20 3d 20 30 78 30 30 3b 00 00 00 1f 20 20 20 20 20 20 20 20 66 6f 6e 74 | ta[i][7].=.0x00;............font |
| 10520 | 5f 64 61 74 61 5b 69 5d 5b 38 5d 20 3d 20 30 78 30 30 3b 00 00 00 1f 20 20 20 20 20 20 20 20 66 | _data[i][8].=.0x00;............f |
| 10540 | 6f 6e 74 5f 64 61 74 61 5b 69 5d 5b 39 5d 20 3d 20 30 78 30 30 3b 00 00 00 20 20 20 20 20 20 20 | ont_data[i][9].=.0x00;.......... |
| 10560 | 20 20 66 6f 6e 74 5f 64 61 74 61 5b 69 5d 5b 31 30 5d 20 3d 20 30 78 30 30 3b 00 00 00 20 20 20 | ..font_data[i][10].=.0x00;...... |
| 10580 | 20 20 20 20 20 20 66 6f 6e 74 5f 64 61 74 61 5b 69 5d 5b 31 31 5d 20 3d 20 30 78 30 30 3b 00 00 | ......font_data[i][11].=.0x00;.. |
| 105a0 | 00 20 20 20 20 20 20 20 20 20 66 6f 6e 74 5f 64 61 74 61 5b 69 5d 5b 31 32 5d 20 3d 20 30 78 30 | ..........font_data[i][12].=.0x0 |
| 105c0 | 30 3b 00 00 00 20 20 20 20 20 20 20 20 20 66 6f 6e 74 5f 64 61 74 61 5b 69 5d 5b 31 33 5d 20 3d | 0;............font_data[i][13].= |
| 105e0 | 20 30 78 30 30 3b 00 00 00 20 20 20 20 20 20 20 20 20 66 6f 6e 74 5f 64 61 74 61 5b 69 5d 5b 31 | .0x00;............font_data[i][1 |
| 10600 | 34 5d 20 3d 20 30 78 30 30 3b 00 00 00 20 20 20 20 20 20 20 20 20 66 6f 6e 74 5f 64 61 74 61 5b | 4].=.0x00;............font_data[ |
| 10620 | 69 5d 5b 31 35 5d 20 3d 20 30 78 30 30 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 | i][15].=.0x00;........}....}.... |
| 10640 | 00 00 00 5d 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 63 68 61 72 28 75 6e 73 69 67 6e | ...]static.void.draw_char(unsign |
| 10660 | 65 64 20 63 68 61 72 20 2a 64 61 74 61 2c 20 69 6e 74 20 70 69 74 63 68 2c 20 69 6e 74 20 78 2c | ed.char.*data,.int.pitch,.int.x, |
| 10680 | 20 69 6e 74 20 79 2c 20 63 68 61 72 20 63 68 2c 20 69 6e 74 20 64 72 61 77 5f 63 75 72 73 6f 72 | .int.y,.char.ch,.int.draw_cursor |
| 106a0 | 29 00 00 00 01 7b 00 00 00 14 20 20 20 20 69 6e 74 20 63 78 2c 20 63 79 2c 20 62 69 74 3b 00 00 | )....{........int.cx,.cy,.bit;.. |
| 106c0 | 00 19 20 20 20 20 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 67 6c 79 70 68 3b 00 00 00 0f 20 | ......unsigned.char.*glyph;..... |
| 106e0 | 20 20 20 69 6e 74 20 63 68 5f 69 64 78 3b 00 00 00 04 20 20 20 20 00 00 00 1e 20 20 20 20 69 66 | ...int.ch_idx;................if |
| 10700 | 20 28 63 68 20 3c 20 33 32 20 7c 7c 20 63 68 20 3e 20 31 32 36 29 20 7b 00 00 00 13 20 20 20 20 | .(ch.<.32.||.ch.>.126).{........ |
| 10720 | 20 20 20 20 63 68 5f 69 64 78 20 3d 20 30 3b 00 00 00 0c 20 20 20 20 7d 20 65 6c 73 65 20 7b 00 | ....ch_idx.=.0;........}.else.{. |
| 10740 | 00 00 19 20 20 20 20 20 20 20 20 63 68 5f 69 64 78 20 3d 20 63 68 20 2d 20 33 32 3b 00 00 00 05 | ...........ch_idx.=.ch.-.32;.... |
| 10760 | 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 1e 20 20 20 20 67 6c 79 70 68 20 3d 20 66 6f 6e | ....}................glyph.=.fon |
| 10780 | 74 5f 64 61 74 61 5b 63 68 5f 69 64 78 5d 3b 00 00 00 04 20 20 20 20 00 00 00 2a 20 20 20 20 66 | t_data[ch_idx];...........*....f |
| 107a0 | 6f 72 20 28 63 79 20 3d 20 30 3b 20 63 79 20 3c 20 63 68 61 72 5f 68 65 69 67 68 74 3b 20 63 79 | or.(cy.=.0;.cy.<.char_height;.cy |
| 107c0 | 2b 2b 29 20 7b 00 00 00 2d 20 20 20 20 20 20 20 20 66 6f 72 20 28 63 78 20 3d 20 30 3b 20 63 78 | ++).{...-........for.(cx.=.0;.cx |
| 107e0 | 20 3c 20 63 68 61 72 5f 77 69 64 74 68 3b 20 63 78 2b 2b 29 20 7b 00 00 00 2e 20 20 20 20 20 20 | .<.char_width;.cx++).{.......... |
| 10800 | 20 20 20 20 20 20 62 69 74 20 3d 20 28 67 6c 79 70 68 5b 63 79 5d 20 3e 3e 20 28 37 20 2d 20 63 | ......bit.=.(glyph[cy].>>.(7.-.c |
| 10820 | 78 29 29 20 26 20 31 3b 00 00 00 1c 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 70 78 20 3d | x)).&.1;................int.px.= |
| 10840 | 20 78 20 2b 20 63 78 3b 00 00 00 1c 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 70 79 20 3d | .x.+.cx;................int.py.= |
| 10860 | 20 79 20 2b 20 63 79 3b 00 00 00 50 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 70 78 20 3e | .y.+.cy;...P............if.(px.> |
| 10880 | 3d 20 30 20 26 26 20 70 78 20 3c 20 77 69 6e 64 6f 77 5f 77 69 64 74 68 20 26 26 20 70 79 20 3e | =.0.&&.px.<.window_width.&&.py.> |
| 108a0 | 3d 20 30 20 26 26 20 70 79 20 3c 20 77 69 6e 64 6f 77 5f 68 65 69 67 68 74 29 20 7b 00 00 00 30 | =.0.&&.py.<.window_height).{...0 |
| 108c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 69 64 78 20 3d 20 28 70 79 20 2a 20 | ................int.idx.=.(py.*. |
| 108e0 | 70 69 74 63 68 20 2b 20 70 78 29 20 2a 20 34 3b 00 00 00 38 20 20 20 20 20 20 20 20 20 20 20 20 | pitch.+.px).*.4;...8............ |
| 10900 | 20 20 20 20 69 66 20 28 64 72 61 77 5f 63 75 72 73 6f 72 20 26 26 20 63 79 20 3d 3d 20 30 20 26 | ....if.(draw_cursor.&&.cy.==.0.& |
| 10920 | 26 20 63 78 20 3d 3d 20 30 29 20 7b 00 00 00 28 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | &.cx.==.0).{...(................ |
| 10940 | 20 20 20 20 64 61 74 61 5b 69 64 78 20 2b 20 30 5d 20 3d 20 32 35 35 3b 00 00 00 28 20 20 20 20 | ....data[idx.+.0].=.255;...(.... |
| 10960 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 5b 69 64 78 20 2b 20 31 5d 20 3d 20 | ................data[idx.+.1].=. |
| 10980 | 32 35 35 3b 00 00 00 28 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 | 255;...(....................data |
| 109a0 | 5b 69 64 78 20 2b 20 32 5d 20 3d 20 32 35 35 3b 00 00 00 28 20 20 20 20 20 20 20 20 20 20 20 20 | [idx.+.2].=.255;...(............ |
| 109c0 | 20 20 20 20 20 20 20 20 64 61 74 61 5b 69 64 78 20 2b 20 33 5d 20 3d 20 32 35 35 3b 00 00 00 21 | ........data[idx.+.3].=.255;...! |
| 109e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 62 69 74 29 20 | ................}.else.if.(bit). |
| 10a00 | 7b 00 00 00 28 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 5b 69 64 | {...(....................data[id |
| 10a20 | 78 20 2b 20 30 5d 20 3d 20 32 31 32 3b 00 00 00 28 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | x.+.0].=.212;...(............... |
| 10a40 | 20 20 20 20 20 64 61 74 61 5b 69 64 78 20 2b 20 31 5d 20 3d 20 32 31 32 3b 00 00 00 28 20 20 20 | .....data[idx.+.1].=.212;...(... |
| 10a60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 5b 69 64 78 20 2b 20 32 5d 20 3d | .................data[idx.+.2].= |
| 10a80 | 20 32 31 32 3b 00 00 00 28 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 | .212;...(....................dat |
| 10aa0 | 61 5b 69 64 78 20 2b 20 33 5d 20 3d 20 32 35 35 3b 00 00 00 18 20 20 20 20 20 20 20 20 20 20 20 | a[idx.+.3].=.255;............... |
| 10ac0 | 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 00 00 00 26 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .....}.else.{...&............... |
| 10ae0 | 20 20 20 20 20 64 61 74 61 5b 69 64 78 20 2b 20 30 5d 20 3d 20 30 3b 00 00 00 26 20 20 20 20 20 | .....data[idx.+.0].=.0;...&..... |
| 10b00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 5b 69 64 78 20 2b 20 31 5d 20 3d 20 30 | ...............data[idx.+.1].=.0 |
| 10b20 | 3b 00 00 00 26 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 5b 69 64 | ;...&....................data[id |
| 10b40 | 78 20 2b 20 32 5d 20 3d 20 30 3b 00 00 00 28 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | x.+.2].=.0;...(................. |
| 10b60 | 20 20 20 64 61 74 61 5b 69 64 78 20 2b 20 33 5d 20 3d 20 32 35 35 3b 00 00 00 11 20 20 20 20 20 | ...data[idx.+.3].=.255;......... |
| 10b80 | 20 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 0d 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 | ...........}................}... |
| 10ba0 | 09 20 20 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 1d | .........}........}....}........ |
| 10bc0 | 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 73 63 72 65 65 6e 28 76 6f 69 64 29 00 00 00 | static.void.draw_screen(void)... |
| 10be0 | 01 7b 00 00 00 23 20 20 20 20 69 6e 74 20 78 2c 20 79 2c 20 70 69 74 63 68 20 3d 20 77 69 6e 64 | .{...#....int.x,.y,.pitch.=.wind |
| 10c00 | 6f 77 5f 77 69 64 74 68 3b 00 00 00 04 20 20 20 20 00 00 00 29 20 20 20 20 66 6f 72 20 28 79 20 | ow_width;...........)....for.(y. |
| 10c20 | 3d 20 30 3b 20 79 20 3c 20 77 69 6e 64 6f 77 5f 68 65 69 67 68 74 3b 20 79 2b 2b 29 20 7b 00 00 | =.0;.y.<.window_height;.y++).{.. |
| 10c40 | 00 2c 20 20 20 20 20 20 20 20 66 6f 72 20 28 78 20 3d 20 30 3b 20 78 20 3c 20 77 69 6e 64 6f 77 | .,........for.(x.=.0;.x.<.window |
| 10c60 | 5f 77 69 64 74 68 3b 20 78 2b 2b 29 20 7b 00 00 00 2a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e | _width;.x++).{...*............in |
| 10c80 | 74 20 69 64 78 20 3d 20 28 79 20 2a 20 70 69 74 63 68 20 2b 20 78 29 20 2a 20 34 3b 00 00 00 24 | t.idx.=.(y.*.pitch.+.x).*.4;...$ |
| 10ca0 | 20 20 20 20 20 20 20 20 20 20 20 20 70 69 78 65 6c 5f 64 61 74 61 5b 69 64 78 20 2b 20 30 5d 20 | ............pixel_data[idx.+.0]. |
| 10cc0 | 3d 20 30 3b 00 00 00 24 20 20 20 20 20 20 20 20 20 20 20 20 70 69 78 65 6c 5f 64 61 74 61 5b 69 | =.0;...$............pixel_data[i |
| 10ce0 | 64 78 20 2b 20 31 5d 20 3d 20 30 3b 00 00 00 24 20 20 20 20 20 20 20 20 20 20 20 20 70 69 78 65 | dx.+.1].=.0;...$............pixe |
| 10d00 | 6c 5f 64 61 74 61 5b 69 64 78 20 2b 20 32 5d 20 3d 20 30 3b 00 00 00 26 20 20 20 20 20 20 20 20 | l_data[idx.+.2].=.0;...&........ |
| 10d20 | 20 20 20 20 70 69 78 65 6c 5f 64 61 74 61 5b 69 64 78 20 2b 20 33 5d 20 3d 20 32 35 35 3b 00 00 | ....pixel_data[idx.+.3].=.255;.. |
| 10d40 | 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 20 | ..........}........}............ |
| 10d60 | 20 20 20 20 66 6f 72 20 28 79 20 3d 20 30 3b 20 79 20 3c 20 72 6f 77 73 3b 20 79 2b 2b 29 20 7b | ....for.(y.=.0;.y.<.rows;.y++).{ |
| 10d80 | 00 00 00 24 20 20 20 20 20 20 20 20 66 6f 72 20 28 78 20 3d 20 30 3b 20 78 20 3c 20 63 6f 6c 73 | ...$........for.(x.=.0;.x.<.cols |
| 10da0 | 3b 20 78 2b 2b 29 20 7b 00 00 00 3d 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 69 73 5f 63 | ;.x++).{...=............int.is_c |
| 10dc0 | 75 72 73 6f 72 20 3d 20 28 79 20 3d 3d 20 63 75 72 73 6f 72 5f 79 20 26 26 20 78 20 3d 3d 20 63 | ursor.=.(y.==.cursor_y.&&.x.==.c |
| 10de0 | 75 72 73 6f 72 5f 78 29 3b 00 00 00 63 20 20 20 20 20 20 20 20 20 20 20 20 64 72 61 77 5f 63 68 | ursor_x);...c............draw_ch |
| 10e00 | 61 72 28 70 69 78 65 6c 5f 64 61 74 61 2c 20 70 69 74 63 68 2c 20 78 20 2a 20 63 68 61 72 5f 77 | ar(pixel_data,.pitch,.x.*.char_w |
| 10e20 | 69 64 74 68 2c 20 79 20 2a 20 63 68 61 72 5f 68 65 69 67 68 74 2c 20 73 63 72 65 65 6e 5b 79 5d | idth,.y.*.char_height,.screen[y] |
| 10e40 | 5b 78 5d 2c 20 69 73 5f 63 75 72 73 6f 72 29 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 | [x],.is_cursor);............}... |
| 10e60 | 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 22 73 74 61 74 69 63 20 76 6f 69 64 20 74 | .....}....}......."static.void.t |
| 10e80 | 65 72 6d 69 6e 61 6c 5f 77 72 69 74 65 28 63 68 61 72 20 63 29 00 00 00 01 7b 00 00 00 14 20 20 | erminal_write(char.c)....{...... |
| 10ea0 | 20 20 69 66 20 28 63 20 3d 3d 20 27 5c 6e 27 29 20 7b 00 00 00 15 20 20 20 20 20 20 20 20 63 75 | ..if.(c.==.'\n').{............cu |
| 10ec0 | 72 73 6f 72 5f 78 20 3d 20 30 3b 00 00 00 13 20 20 20 20 20 20 20 20 63 75 72 73 6f 72 5f 79 2b | rsor_x.=.0;............cursor_y+ |
| 10ee0 | 2b 3b 00 00 00 1f 20 20 20 20 20 20 20 20 69 66 20 28 63 75 72 73 6f 72 5f 79 20 3e 3d 20 72 6f | +;............if.(cursor_y.>=.ro |
| 10f00 | 77 73 29 20 7b 00 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 73 6f 72 5f 79 20 3d 20 | ws).{................cursor_y.=. |
| 10f20 | 72 6f 77 73 20 2d 20 31 3b 00 00 00 3d 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 6d 6d 6f 76 65 | rows.-.1;...=............memmove |
| 10f40 | 28 73 63 72 65 65 6e 5b 30 5d 2c 20 73 63 72 65 65 6e 5b 31 5d 2c 20 28 72 6f 77 73 20 2d 20 31 | (screen[0],.screen[1],.(rows.-.1 |
| 10f60 | 29 20 2a 20 63 6f 6c 73 29 3b 00 00 00 30 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 6d 73 65 74 | ).*.cols);...0............memset |
| 10f80 | 28 73 63 72 65 65 6e 5b 72 6f 77 73 20 2d 20 31 5d 2c 20 27 20 27 2c 20 63 6f 6c 73 29 3b 00 00 | (screen[rows.-.1],.'.',.cols);.. |
| 10fa0 | 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 18 20 20 20 20 20 20 20 20 6e 65 65 64 5f 72 65 64 72 | ..........}............need_redr |
| 10fc0 | 61 77 20 3d 20 31 3b 00 00 00 1b 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 63 20 3d 3d 20 27 | aw.=.1;........}.else.if.(c.==.' |
| 10fe0 | 5c 72 27 29 20 7b 00 00 00 15 20 20 20 20 20 20 20 20 63 75 72 73 6f 72 5f 78 20 3d 20 30 3b 00 | \r').{............cursor_x.=.0;. |
| 11000 | 00 00 18 20 20 20 20 20 20 20 20 6e 65 65 64 5f 72 65 64 72 61 77 20 3d 20 31 3b 00 00 00 28 20 | ...........need_redraw.=.1;...(. |
| 11020 | 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 63 20 3d 3d 20 27 5c 62 27 20 7c 7c 20 63 20 3d 3d 20 | ...}.else.if.(c.==.'\b'.||.c.==. |
| 11040 | 30 78 37 66 29 20 7b 00 00 00 1b 20 20 20 20 20 20 20 20 69 66 20 28 63 75 72 73 6f 72 5f 78 20 | 0x7f).{............if.(cursor_x. |
| 11060 | 3e 20 30 29 20 7b 00 00 00 17 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 73 6f 72 5f 78 2d 2d | >.0).{................cursor_x-- |
| 11080 | 3b 00 00 00 2d 20 20 20 20 20 20 20 20 20 20 20 20 73 63 72 65 65 6e 5b 63 75 72 73 6f 72 5f 79 | ;...-............screen[cursor_y |
| 110a0 | 5d 5b 63 75 72 73 6f 72 5f 78 5d 20 3d 20 27 20 27 3b 00 00 00 1c 20 20 20 20 20 20 20 20 20 20 | ][cursor_x].=.'.';.............. |
| 110c0 | 20 20 6e 65 65 64 5f 72 65 64 72 61 77 20 3d 20 31 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 | ..need_redraw.=.1;............}. |
| 110e0 | 00 00 24 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 63 20 3e 3d 20 33 32 20 26 26 20 63 20 3c | ..$....}.else.if.(c.>=.32.&&.c.< |
| 11100 | 20 31 32 37 29 20 7b 00 00 00 27 20 20 20 20 20 20 20 20 73 63 72 65 65 6e 5b 63 75 72 73 6f 72 | .127).{...'........screen[cursor |
| 11120 | 5f 79 5d 5b 63 75 72 73 6f 72 5f 78 5d 20 3d 20 63 3b 00 00 00 13 20 20 20 20 20 20 20 20 63 75 | _y][cursor_x].=.c;............cu |
| 11140 | 72 73 6f 72 5f 78 2b 2b 3b 00 00 00 1f 20 20 20 20 20 20 20 20 69 66 20 28 63 75 72 73 6f 72 5f | rsor_x++;............if.(cursor_ |
| 11160 | 78 20 3e 3d 20 63 6f 6c 73 29 20 7b 00 00 00 19 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 73 | x.>=.cols).{................curs |
| 11180 | 6f 72 5f 78 20 3d 20 30 3b 00 00 00 17 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 73 6f 72 5f | or_x.=.0;................cursor_ |
| 111a0 | 79 2b 2b 3b 00 00 00 23 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 75 72 73 6f 72 5f 79 | y++;...#............if.(cursor_y |
| 111c0 | 20 3e 3d 20 72 6f 77 73 29 20 7b 00 00 00 24 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 | .>=.rows).{...$................c |
| 111e0 | 75 72 73 6f 72 5f 79 20 3d 20 72 6f 77 73 20 2d 20 31 3b 00 00 00 41 20 20 20 20 20 20 20 20 20 | ursor_y.=.rows.-.1;...A......... |
| 11200 | 20 20 20 20 20 20 20 6d 65 6d 6d 6f 76 65 28 73 63 72 65 65 6e 5b 30 5d 2c 20 73 63 72 65 65 6e | .......memmove(screen[0],.screen |
| 11220 | 5b 31 5d 2c 20 28 72 6f 77 73 20 2d 20 31 29 20 2a 20 63 6f 6c 73 29 3b 00 00 00 34 20 20 20 20 | [1],.(rows.-.1).*.cols);...4.... |
| 11240 | 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 6d 73 65 74 28 73 63 72 65 65 6e 5b 72 6f 77 73 20 2d | ............memset(screen[rows.- |
| 11260 | 20 31 5d 2c 20 27 20 27 2c 20 63 6f 6c 73 29 3b 00 00 00 0d 20 20 20 20 20 20 20 20 20 20 20 20 | .1],.'.',.cols);................ |
| 11280 | 7d 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 18 20 20 20 20 20 20 20 20 6e 65 65 64 5f 72 | }............}............need_r |
| 112a0 | 65 64 72 61 77 20 3d 20 31 3b 00 00 00 1b 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 63 20 3d | edraw.=.1;........}.else.if.(c.= |
| 112c0 | 3d 20 27 5c 74 27 29 20 7b 00 00 00 0c 20 20 20 20 20 20 20 20 64 6f 20 7b 00 00 00 2d 20 20 20 | =.'\t').{............do.{...-... |
| 112e0 | 20 20 20 20 20 20 20 20 20 73 63 72 65 65 6e 5b 63 75 72 73 6f 72 5f 79 5d 5b 63 75 72 73 6f 72 | .........screen[cursor_y][cursor |
| 11300 | 5f 78 5d 20 3d 20 27 20 27 3b 00 00 00 17 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 73 6f 72 | _x].=.'.';................cursor |
| 11320 | 5f 78 2b 2b 3b 00 00 00 37 20 20 20 20 20 20 20 20 7d 20 77 68 69 6c 65 20 28 63 75 72 73 6f 72 | _x++;...7........}.while.(cursor |
| 11340 | 5f 78 20 25 20 38 20 21 3d 20 30 20 26 26 20 63 75 72 73 6f 72 5f 78 20 3c 20 63 6f 6c 73 29 3b | _x.%.8.!=.0.&&.cursor_x.<.cols); |
| 11360 | 00 00 00 1f 20 20 20 20 20 20 20 20 69 66 20 28 63 75 72 73 6f 72 5f 78 20 3e 3d 20 63 6f 6c 73 | ............if.(cursor_x.>=.cols |
| 11380 | 29 20 7b 00 00 00 19 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 73 6f 72 5f 78 20 3d 20 30 3b | ).{................cursor_x.=.0; |
| 113a0 | 00 00 00 17 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 73 6f 72 5f 79 2b 2b 3b 00 00 00 23 20 | ................cursor_y++;...#. |
| 113c0 | 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 75 72 73 6f 72 5f 79 20 3e 3d 20 72 6f 77 73 29 | ...........if.(cursor_y.>=.rows) |
| 113e0 | 20 7b 00 00 00 24 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 73 6f 72 5f 79 20 3d | .{...$................cursor_y.= |
| 11400 | 20 72 6f 77 73 20 2d 20 31 3b 00 00 00 41 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 | .rows.-.1;...A................me |
| 11420 | 6d 6d 6f 76 65 28 73 63 72 65 65 6e 5b 30 5d 2c 20 73 63 72 65 65 6e 5b 31 5d 2c 20 28 72 6f 77 | mmove(screen[0],.screen[1],.(row |
| 11440 | 73 20 2d 20 31 29 20 2a 20 63 6f 6c 73 29 3b 00 00 00 34 20 20 20 20 20 20 20 20 20 20 20 20 20 | s.-.1).*.cols);...4............. |
| 11460 | 20 20 20 6d 65 6d 73 65 74 28 73 63 72 65 65 6e 5b 72 6f 77 73 20 2d 20 31 5d 2c 20 27 20 27 2c | ...memset(screen[rows.-.1],.'.', |
| 11480 | 20 63 6f 6c 73 29 3b 00 00 00 0d 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 09 20 20 20 20 | .cols);................}........ |
| 114a0 | 20 20 20 20 7d 00 00 00 18 20 20 20 20 20 20 20 20 6e 65 65 64 5f 72 65 64 72 61 77 20 3d 20 31 | ....}............need_redraw.=.1 |
| 114c0 | 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 27 73 74 61 74 69 63 20 69 6e | ;........}....}.......'static.in |
| 114e0 | 74 20 63 72 65 61 74 65 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 00 00 | t.create_shm_file(size_t.size).. |
| 11500 | 00 01 7b 00 00 00 0b 20 20 20 20 69 6e 74 20 66 64 3b 00 00 00 2b 20 20 20 20 63 68 61 72 20 74 | ..{........int.fd;...+....char.t |
| 11520 | 65 6d 70 6c 61 74 65 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 6c 2d 73 68 6d 2d 58 58 58 58 58 58 22 | emplate[].=."/tmp/wl-shm-XXXXXX" |
| 11540 | 3b 00 00 00 04 20 20 20 20 00 00 00 1b 20 20 20 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 65 | ;................fd.=.mkstemp(te |
| 11560 | 6d 70 6c 61 74 65 29 3b 00 00 00 11 20 20 20 20 69 66 20 28 66 64 20 3c 20 30 29 20 7b 00 00 00 | mplate);........if.(fd.<.0).{... |
| 11580 | 12 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 2d 31 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 | .........return.-1;........}.... |
| 115a0 | 20 20 20 20 00 00 00 29 20 20 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 28 6f | .......)....if.(ftruncate(fd,.(o |
| 115c0 | 66 66 5f 74 29 73 69 7a 65 29 20 3c 20 30 29 20 7b 00 00 00 12 20 20 20 20 20 20 20 20 63 6c 6f | ff_t)size).<.0).{............clo |
| 115e0 | 73 65 28 66 64 29 3b 00 00 00 19 20 20 20 20 20 20 20 20 75 6e 6c 69 6e 6b 28 74 65 6d 70 6c 61 | se(fd);............unlink(templa |
| 11600 | 74 65 29 3b 00 00 00 12 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 2d 31 3b 00 00 00 05 20 20 | te);............return.-1;...... |
| 11620 | 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 15 20 20 20 20 75 6e 6c 69 6e 6b 28 74 65 6d 70 6c 61 | ..}................unlink(templa |
| 11640 | 74 65 29 3b 00 00 00 0e 20 20 20 20 72 65 74 75 72 6e 20 66 64 3b 00 00 00 01 7d 00 00 00 00 00 | te);........return.fd;....}..... |
| 11660 | 00 00 3d 73 74 61 74 69 63 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 63 72 65 61 | ..=static.struct.wl_buffer.*crea |
| 11680 | 74 65 5f 62 75 66 66 65 72 28 69 6e 74 20 77 69 64 74 68 2c 20 69 6e 74 20 68 65 69 67 68 74 29 | te_buffer(int.width,.int.height) |
| 116a0 | 00 00 00 01 7b 00 00 00 1b 20 20 20 20 69 6e 74 20 73 74 72 69 64 65 20 3d 20 77 69 64 74 68 20 | ....{........int.stride.=.width. |
| 116c0 | 2a 20 34 3b 00 00 00 1f 20 20 20 20 69 6e 74 20 73 69 7a 65 20 3d 20 73 74 72 69 64 65 20 2a 20 | *.4;........int.size.=.stride.*. |
| 116e0 | 68 65 69 67 68 74 3b 00 00 00 0b 20 20 20 20 69 6e 74 20 66 64 3b 00 00 00 1d 20 20 20 20 73 74 | height;........int.fd;........st |
| 11700 | 72 75 63 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 3b 00 00 00 1d 20 20 20 20 73 | ruct.wl_shm_pool.*pool;........s |
| 11720 | 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 66 65 72 3b 00 00 00 04 20 20 20 20 | truct.wl_buffer.*buffer;........ |
| 11740 | 00 00 00 1f 20 20 20 20 66 64 20 3d 20 63 72 65 61 74 65 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a | ........fd.=.create_shm_file(siz |
| 11760 | 65 29 3b 00 00 00 11 20 20 20 20 69 66 20 28 66 64 20 3c 20 30 29 20 7b 00 00 00 14 20 20 20 20 | e);........if.(fd.<.0).{........ |
| 11780 | 20 20 20 20 72 65 74 75 72 6e 20 4e 55 4c 4c 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 | ....return.NULL;........}....... |
| 117a0 | 20 00 00 00 4d 20 20 20 20 70 69 78 65 6c 5f 64 61 74 61 20 3d 20 6d 6d 61 70 28 4e 55 4c 4c 2c | ....M....pixel_data.=.mmap(NULL, |
| 117c0 | 20 73 69 7a 65 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 | .size,.PROT_READ.|.PROT_WRITE,.M |
| 117e0 | 41 50 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 23 20 20 20 20 69 66 20 28 70 69 | AP_SHARED,.fd,.0);...#....if.(pi |
| 11800 | 78 65 6c 5f 64 61 74 61 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 20 7b 00 00 00 12 20 20 20 | xel_data.==.MAP_FAILED).{....... |
| 11820 | 20 20 20 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 14 20 20 20 20 20 20 20 20 72 65 74 75 72 | .....close(fd);............retur |
| 11840 | 6e 20 4e 55 4c 4c 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 2d 20 20 20 20 | n.NULL;........}...........-.... |
| 11860 | 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 73 68 6d 2c 20 66 | pool.=.wl_shm_create_pool(shm,.f |
| 11880 | 64 2c 20 73 69 7a 65 29 3b 00 00 00 46 20 20 20 20 62 75 66 66 65 72 20 3d 20 77 6c 5f 73 68 6d | d,.size);...F....buffer.=.wl_shm |
| 118a0 | 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 20 30 2c 20 77 69 64 | _pool_create_buffer(pool,.0,.wid |
| 118c0 | 74 68 2c 20 68 65 69 67 68 74 2c 20 73 74 72 69 64 65 2c 00 00 00 3f 20 20 20 20 20 20 20 20 20 | th,.height,.stride,...?......... |
| 118e0 | 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 57 4c | ..............................WL |
| 11900 | 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 1e 20 20 20 20 77 6c | _SHM_FORMAT_ARGB8888);........wl |
| 11920 | 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 0e 20 20 20 20 | _shm_pool_destroy(pool);........ |
| 11940 | 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 04 20 20 20 20 00 00 00 12 20 20 20 20 72 65 74 75 72 6e | close(fd);................return |
| 11960 | 20 62 75 66 66 65 72 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 | .buffer;....}........static.void |
| 11980 | 20 64 65 73 74 72 6f 79 5f 62 75 66 66 65 72 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 18 20 20 | .destroy_buffer(void)....{...... |
| 119a0 | 20 20 69 66 20 28 77 69 6e 64 6f 77 5f 62 75 66 66 65 72 29 20 7b 00 00 00 29 20 20 20 20 20 20 | ..if.(window_buffer).{...)...... |
| 119c0 | 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 77 69 6e 64 6f 77 5f 62 75 66 66 65 | ..wl_buffer_destroy(window_buffe |
| 119e0 | 72 29 3b 00 00 00 1d 20 20 20 20 20 20 20 20 77 69 6e 64 6f 77 5f 62 75 66 66 65 72 20 3d 20 4e | r);............window_buffer.=.N |
| 11a00 | 55 4c 4c 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 15 20 20 20 20 69 66 20 | ULL;........}................if. |
| 11a20 | 28 70 69 78 65 6c 5f 64 61 74 61 29 20 7b 00 00 00 3d 20 20 20 20 20 20 20 20 6d 75 6e 6d 61 70 | (pixel_data).{...=........munmap |
| 11a40 | 28 70 69 78 65 6c 5f 64 61 74 61 2c 20 77 69 6e 64 6f 77 5f 77 69 64 74 68 20 2a 20 77 69 6e 64 | (pixel_data,.window_width.*.wind |
| 11a60 | 6f 77 5f 68 65 69 67 68 74 20 2a 20 34 29 3b 00 00 00 1a 20 20 20 20 20 20 20 20 70 69 78 65 6c | ow_height.*.4);............pixel |
| 11a80 | 5f 64 61 74 61 20 3d 20 4e 55 4c 4c 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 | _data.=.NULL;........}....}..... |
| 11aa0 | 00 00 30 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 73 69 7a 65 5f 77 69 6e 64 6f 77 28 69 6e 74 | ..0static.void.resize_window(int |
| 11ac0 | 20 77 69 64 74 68 2c 20 69 6e 74 20 68 65 69 67 68 74 29 00 00 00 01 7b 00 00 00 24 20 20 20 20 | .width,.int.height)....{...$.... |
| 11ae0 | 69 66 20 28 77 69 64 74 68 20 3c 3d 20 30 20 7c 7c 20 68 65 69 67 68 74 20 3c 3d 20 30 29 20 7b | if.(width.<=.0.||.height.<=.0).{ |
| 11b00 | 00 00 00 0f 20 20 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 04 | ............return;........}.... |
| 11b20 | 20 20 20 20 00 00 00 1e 20 20 20 20 63 6f 6c 73 20 3d 20 77 69 64 74 68 20 2f 20 63 68 61 72 5f | ............cols.=.width./.char_ |
| 11b40 | 77 69 64 74 68 3b 00 00 00 20 20 20 20 20 72 6f 77 73 20 3d 20 68 65 69 67 68 74 20 2f 20 63 68 | width;........rows.=.height./.ch |
| 11b60 | 61 72 5f 68 65 69 67 68 74 3b 00 00 00 04 20 20 20 20 00 00 00 1d 20 20 20 20 69 66 20 28 63 6f | ar_height;................if.(co |
| 11b80 | 6c 73 20 3c 20 31 30 29 20 63 6f 6c 73 20 3d 20 31 30 3b 00 00 00 1b 20 20 20 20 69 66 20 28 72 | ls.<.10).cols.=.10;........if.(r |
| 11ba0 | 6f 77 73 20 3c 20 35 29 20 72 6f 77 73 20 3d 20 35 3b 00 00 00 1d 20 20 20 20 69 66 20 28 63 6f | ows.<.5).rows.=.5;........if.(co |
| 11bc0 | 6c 73 20 3e 20 38 30 29 20 63 6f 6c 73 20 3d 20 38 30 3b 00 00 00 1d 20 20 20 20 69 66 20 28 72 | ls.>.80).cols.=.80;........if.(r |
| 11be0 | 6f 77 73 20 3e 20 32 35 29 20 72 6f 77 73 20 3d 20 32 35 3b 00 00 00 04 20 20 20 20 00 00 00 15 | ows.>.25).rows.=.25;............ |
| 11c00 | 20 20 20 20 64 65 73 74 72 6f 79 5f 62 75 66 66 65 72 28 29 3b 00 00 00 25 20 20 20 20 77 69 6e | ....destroy_buffer();...%....win |
| 11c20 | 64 6f 77 5f 77 69 64 74 68 20 3d 20 63 6f 6c 73 20 2a 20 63 68 61 72 5f 77 69 64 74 68 3b 00 00 | dow_width.=.cols.*.char_width;.. |
| 11c40 | 00 27 20 20 20 20 77 69 6e 64 6f 77 5f 68 65 69 67 68 74 20 3d 20 72 6f 77 73 20 2a 20 63 68 61 | .'....window_height.=.rows.*.cha |
| 11c60 | 72 5f 68 65 69 67 68 74 3b 00 00 00 3f 20 20 20 20 77 69 6e 64 6f 77 5f 62 75 66 66 65 72 20 3d | r_height;...?....window_buffer.= |
| 11c80 | 20 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 77 69 6e 64 6f 77 5f 77 69 64 74 68 2c 20 77 69 6e | .create_buffer(window_width,.win |
| 11ca0 | 64 6f 77 5f 68 65 69 67 68 74 29 3b 00 00 00 04 20 20 20 20 00 00 00 1a 20 20 20 20 69 66 20 28 | dow_height);................if.( |
| 11cc0 | 70 74 79 5f 6d 61 73 74 65 72 20 3e 3d 20 30 29 20 7b 00 00 00 1a 20 20 20 20 20 20 20 20 73 74 | pty_master.>=.0).{............st |
| 11ce0 | 72 75 63 74 20 77 69 6e 73 69 7a 65 20 77 73 3b 00 00 00 19 20 20 20 20 20 20 20 20 77 73 2e 77 | ruct.winsize.ws;............ws.w |
| 11d00 | 73 5f 72 6f 77 20 3d 20 72 6f 77 73 3b 00 00 00 19 20 20 20 20 20 20 20 20 77 73 2e 77 73 5f 63 | s_row.=.rows;............ws.ws_c |
| 11d20 | 6f 6c 20 3d 20 63 6f 6c 73 3b 00 00 00 24 20 20 20 20 20 20 20 20 77 73 2e 77 73 5f 78 70 69 78 | ol.=.cols;...$........ws.ws_xpix |
| 11d40 | 65 6c 20 3d 20 77 69 6e 64 6f 77 5f 77 69 64 74 68 3b 00 00 00 25 20 20 20 20 20 20 20 20 77 73 | el.=.window_width;...%........ws |
| 11d60 | 2e 77 73 5f 79 70 69 78 65 6c 20 3d 20 77 69 6e 64 6f 77 5f 68 65 69 67 68 74 3b 00 00 00 2b 20 | .ws_ypixel.=.window_height;...+. |
| 11d80 | 20 20 20 20 20 20 20 69 6f 63 74 6c 28 70 74 79 5f 6d 61 73 74 65 72 2c 20 54 49 4f 43 53 57 49 | .......ioctl(pty_master,.TIOCSWI |
| 11da0 | 4e 53 5a 2c 20 26 77 73 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 14 20 | NSZ,.&ws);........}............. |
| 11dc0 | 20 20 20 6e 65 65 64 5f 72 65 64 72 61 77 20 3d 20 31 3b 00 00 00 15 20 20 20 20 6e 65 65 64 73 | ...need_redraw.=.1;........needs |
| 11de0 | 5f 72 65 73 69 7a 65 20 3d 20 30 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4f 73 74 61 74 69 63 20 | _resize.=.0;....}.......Ostatic. |
| 11e00 | 76 6f 69 64 20 66 72 61 6d 65 5f 64 6f 6e 65 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 | void.frame_done(void.*data,.stru |
| 11e20 | 63 74 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 20 2a 63 61 6c 6c 62 61 63 6b 2c 20 75 69 6e 74 33 32 | ct.wl_callback.*callback,.uint32 |
| 11e40 | 5f 74 20 74 69 6d 65 29 00 00 00 01 7b 00 00 00 13 20 20 20 20 69 66 20 28 63 61 6c 6c 62 61 63 | _t.time)....{........if.(callbac |
| 11e60 | 6b 29 20 7b 00 00 00 26 20 20 20 20 20 20 20 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 5f 64 65 73 74 | k).{...&........wl_callback_dest |
| 11e80 | 72 6f 79 28 63 61 6c 6c 62 61 63 6b 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 | roy(callback);........}......... |
| 11ea0 | 00 00 17 20 20 20 20 69 66 20 28 6e 65 65 64 73 5f 72 65 73 69 7a 65 29 20 7b 00 00 00 35 20 20 | .......if.(needs_resize).{...5.. |
| 11ec0 | 20 20 20 20 20 20 72 65 73 69 7a 65 5f 77 69 6e 64 6f 77 28 70 65 6e 64 69 6e 67 5f 77 69 64 74 | ......resize_window(pending_widt |
| 11ee0 | 68 2c 20 70 65 6e 64 69 6e 67 5f 68 65 69 67 68 74 29 3b 00 00 00 1a 20 20 20 20 20 20 20 20 70 | h,.pending_height);............p |
| 11f00 | 65 6e 64 69 6e 67 5f 77 69 64 74 68 20 3d 20 30 3b 00 00 00 1b 20 20 20 20 20 20 20 20 70 65 6e | ending_width.=.0;............pen |
| 11f20 | 64 69 6e 67 5f 68 65 69 67 68 74 20 3d 20 30 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 | ding_height.=.0;........}....... |
| 11f40 | 20 00 00 00 24 20 20 20 20 69 66 20 28 6e 65 65 64 5f 72 65 64 72 61 77 20 26 26 20 70 69 78 65 | ....$....if.(need_redraw.&&.pixe |
| 11f60 | 6c 5f 64 61 74 61 29 20 7b 00 00 00 16 20 20 20 20 20 20 20 20 64 72 61 77 5f 73 63 72 65 65 6e | l_data).{............draw_screen |
| 11f80 | 28 29 3b 00 00 00 18 20 20 20 20 20 20 20 20 6e 65 65 64 5f 72 65 64 72 61 77 20 3d 20 30 3b 00 | ();............need_redraw.=.0;. |
| 11fa0 | 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 18 20 20 20 20 69 66 20 28 77 69 6e 64 | .......}................if.(wind |
| 11fc0 | 6f 77 5f 62 75 66 66 65 72 29 20 7b 00 00 00 38 20 20 20 20 20 20 20 20 77 6c 5f 73 75 72 66 61 | ow_buffer).{...8........wl_surfa |
| 11fe0 | 63 65 5f 61 74 74 61 63 68 28 73 75 72 66 61 63 65 2c 20 77 69 6e 64 6f 77 5f 62 75 66 66 65 72 | ce_attach(surface,.window_buffer |
| 12000 | 2c 20 30 2c 20 30 29 3b 00 00 00 46 20 20 20 20 20 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 | ,.0,.0);...F........wl_surface_d |
| 12020 | 61 6d 61 67 65 28 73 75 72 66 61 63 65 2c 20 30 2c 20 30 2c 20 77 69 6e 64 6f 77 5f 77 69 64 74 | amage(surface,.0,.0,.window_widt |
| 12040 | 68 2c 20 77 69 6e 64 6f 77 5f 68 65 69 67 68 74 29 3b 00 00 00 23 20 20 20 20 20 20 20 20 77 6c | h,.window_height);...#........wl |
| 12060 | 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 73 75 72 66 61 63 65 29 3b 00 00 00 05 20 20 20 | _surface_commit(surface);....... |
| 12080 | 20 7d 00 00 00 04 20 20 20 20 00 00 00 3f 20 20 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 | .}...........?....static.const.s |
| 120a0 | 74 72 75 63 74 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 5f 6c 69 73 74 65 6e 65 72 20 66 72 61 6d 65 | truct.wl_callback_listener.frame |
| 120c0 | 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 1a 20 20 20 20 20 20 20 20 2e 64 6f 6e 65 20 3d | _listener.=.{.............done.= |
| 120e0 | 20 66 72 61 6d 65 5f 64 6f 6e 65 00 00 00 06 20 20 20 20 7d 3b 00 00 00 04 20 20 20 20 00 00 00 | .frame_done........};........... |
| 12100 | 2f 20 20 20 20 66 72 61 6d 65 5f 63 61 6c 6c 62 61 63 6b 20 3d 20 77 6c 5f 73 75 72 66 61 63 65 | /....frame_callback.=.wl_surface |
| 12120 | 5f 66 72 61 6d 65 28 73 75 72 66 61 63 65 29 3b 00 00 00 44 20 20 20 20 77 6c 5f 63 61 6c 6c 62 | _frame(surface);...D....wl_callb |
| 12140 | 61 63 6b 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 66 72 61 6d 65 5f 63 61 6c 6c 62 61 63 6b 2c | ack_add_listener(frame_callback, |
| 12160 | 20 26 66 72 61 6d 65 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 01 7d 00 00 00 | .&frame_listener,.NULL);....}... |
| 12180 | 00 00 00 00 5a 73 74 61 74 69 63 20 76 6f 69 64 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 69 6e | ....Zstatic.void.xdg_wm_base_pin |
| 121a0 | 67 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 | g(void.*data,.struct.xdg_wm_base |
| 121c0 | 20 2a 78 64 67 5f 77 6d 5f 62 61 73 65 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 00 | .*xdg_wm_base,.uint32_t.serial). |
| 121e0 | 00 00 01 7b 00 00 00 2a 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 78 64 67 | ...{...*....xdg_wm_base_pong(xdg |
| 12200 | 5f 77 6d 5f 62 61 73 65 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 3d 73 | _wm_base,.serial);....}.......=s |
| 12220 | 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 5f 6c | tatic.const.struct.xdg_wm_base_l |
| 12240 | 69 73 74 65 6e 65 72 20 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 1d | istener.wm_base_listener.=.{.... |
| 12260 | 20 20 20 20 2e 70 69 6e 67 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 69 6e 67 2c 00 00 00 | .....ping.=.xdg_wm_base_ping,... |
| 12280 | 02 7d 3b 00 00 00 00 00 00 00 51 73 74 61 74 69 63 20 76 6f 69 64 20 78 64 67 5f 74 6f 70 6c 65 | .};.......Qstatic.void.xdg_tople |
| 122a0 | 76 65 6c 5f 63 6f 6e 66 69 67 75 72 65 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 | vel_configure(void.*data,.struct |
| 122c0 | 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 64 67 5f 74 6f 70 6c 65 76 65 6c 2c 00 00 00 51 | .xdg_toplevel.*xdg_toplevel,...Q |
| 122e0 | 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 | ................................ |
| 12300 | 20 20 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 72 75 63 74 20 | ...int32_t.w,.int32_t.h,.struct. |
| 12320 | 77 6c 5f 61 72 72 61 79 20 2a 73 74 61 74 65 73 29 00 00 00 01 7b 00 00 00 19 20 20 20 20 69 66 | wl_array.*states)....{........if |
| 12340 | 20 28 77 20 3e 20 30 20 26 26 20 68 20 3e 20 30 29 20 7b 00 00 00 1a 20 20 20 20 20 20 20 20 70 | .(w.>.0.&&.h.>.0).{............p |
| 12360 | 65 6e 64 69 6e 67 5f 77 69 64 74 68 20 3d 20 77 3b 00 00 00 1b 20 20 20 20 20 20 20 20 70 65 6e | ending_width.=.w;............pen |
| 12380 | 64 69 6e 67 5f 68 65 69 67 68 74 20 3d 20 68 3b 00 00 00 19 20 20 20 20 20 20 20 20 6e 65 65 64 | ding_height.=.h;............need |
| 123a0 | 73 5f 72 65 73 69 7a 65 20 3d 20 31 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 | s_resize.=.1;........}....}..... |
| 123c0 | 00 00 4d 73 74 61 74 69 63 20 76 6f 69 64 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 63 6c 6f 73 | ..Mstatic.void.xdg_toplevel_clos |
| 123e0 | 65 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 | e(void.*data,.struct.xdg_topleve |
| 12400 | 6c 20 2a 78 64 67 5f 74 6f 70 6c 65 76 65 6c 29 00 00 00 01 7b 00 00 00 10 20 20 20 20 72 75 6e | l.*xdg_toplevel)....{........run |
| 12420 | 6e 69 6e 67 20 3d 20 30 3b 00 00 00 01 7d 00 00 00 00 00 00 00 3f 73 74 61 74 69 63 20 63 6f 6e | ning.=.0;....}.......?static.con |
| 12440 | 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 72 20 | st.struct.xdg_toplevel_listener. |
| 12460 | 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 28 20 20 20 20 2e 63 6f | toplevel_listener.=.{...(.....co |
| 12480 | 6e 66 69 67 75 72 65 20 3d 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 63 6f 6e 66 69 67 75 72 65 | nfigure.=.xdg_toplevel_configure |
| 124a0 | 2c 00 00 00 20 20 20 20 20 2e 63 6c 6f 73 65 20 3d 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 63 | ,.........close.=.xdg_toplevel_c |
| 124c0 | 6c 6f 73 65 2c 00 00 00 02 7d 3b 00 00 00 00 00 00 00 5f 73 74 61 74 69 63 20 76 6f 69 64 20 78 | lose,....};......._static.void.x |
| 124e0 | 64 67 5f 73 75 72 66 61 63 65 5f 63 6f 6e 66 69 67 75 72 65 28 76 6f 69 64 20 2a 64 61 74 61 2c | dg_surface_configure(void.*data, |
| 12500 | 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 64 67 5f 73 75 72 66 61 63 65 | .struct.xdg_surface.*xdg_surface |
| 12520 | 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 00 00 00 01 7b 00 00 00 33 20 20 20 20 78 | ,.uint32_t.serial)....{...3....x |
| 12540 | 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 64 67 5f 73 75 72 | dg_surface_ack_configure(xdg_sur |
| 12560 | 66 61 63 65 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 04 20 20 20 20 00 00 00 19 20 20 20 20 69 66 | face,.serial);................if |
| 12580 | 20 28 21 77 69 6e 64 6f 77 5f 62 75 66 66 65 72 29 20 7b 00 00 00 43 20 20 20 20 20 20 20 20 77 | .(!window_buffer).{...C........w |
| 125a0 | 69 6e 64 6f 77 5f 62 75 66 66 65 72 20 3d 20 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 77 69 6e | indow_buffer.=.create_buffer(win |
| 125c0 | 64 6f 77 5f 77 69 64 74 68 2c 20 77 69 6e 64 6f 77 5f 68 65 69 67 68 74 29 3b 00 00 00 22 20 20 | dow_width,.window_height);...".. |
| 125e0 | 20 20 20 20 20 20 66 72 61 6d 65 5f 64 6f 6e 65 28 4e 55 4c 4c 2c 20 4e 55 4c 4c 2c 20 30 29 3b | ......frame_done(NULL,.NULL,.0); |
| 12600 | 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 41 73 74 61 74 69 63 20 63 6f 6e | ........}....}.......Astatic.con |
| 12620 | 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 72 20 78 | st.struct.xdg_surface_listener.x |
| 12640 | 64 67 5f 73 75 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 27 20 20 20 20 2e | dg_surface_listener.=.{...'..... |
| 12660 | 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 64 67 5f 73 75 72 66 61 63 65 5f 63 6f 6e 66 69 67 75 72 | configure.=.xdg_surface_configur |
| 12680 | 65 2c 00 00 00 02 7d 3b 00 00 00 00 00 00 00 48 73 74 61 74 69 63 20 76 6f 69 64 20 6b 65 79 62 | e,....};.......Hstatic.void.keyb |
| 126a0 | 6f 61 72 64 5f 6b 65 79 6d 61 70 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 | oard_keymap(void.*data,.struct.w |
| 126c0 | 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 77 6c 5f 6b 65 79 62 6f 61 72 64 2c 00 00 00 47 20 20 20 20 | l_keyboard.*wl_keyboard,...G.... |
| 126e0 | 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 33 32 5f 74 | ........................uint32_t |
| 12700 | 20 66 6f 72 6d 61 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 | .format,.int32_t.fd,.uint32_t.si |
| 12720 | 7a 65 29 00 00 00 01 7b 00 00 00 0e 20 20 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 01 7d 00 | ze)....{........close(fd);....}. |
| 12740 | 00 00 00 00 00 00 47 73 74 61 74 69 63 20 76 6f 69 64 20 6b 65 79 62 6f 61 72 64 5f 65 6e 74 65 | ......Gstatic.void.keyboard_ente |
| 12760 | 72 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 | r(void.*data,.struct.wl_keyboard |
| 12780 | 20 2a 77 6c 5f 6b 65 79 62 6f 61 72 64 2c 00 00 00 47 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .*wl_keyboard,...G.............. |
| 127a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 2c 20 73 74 | .............uint32_t.serial,.st |
| 127c0 | 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 72 66 61 63 65 2c 00 00 00 31 20 20 20 | ruct.wl_surface.*surface,...1... |
| 127e0 | 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 20 77 | ........................struct.w |
| 12800 | 6c 5f 61 72 72 61 79 20 2a 6b 65 79 73 29 00 00 00 01 7b 00 00 00 01 7d 00 00 00 00 00 00 00 47 | l_array.*keys)....{....}.......G |
| 12820 | 73 74 61 74 69 63 20 76 6f 69 64 20 6b 65 79 62 6f 61 72 64 5f 6c 65 61 76 65 28 76 6f 69 64 20 | static.void.keyboard_leave(void. |
| 12840 | 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 77 6c 5f 6b 65 | *data,.struct.wl_keyboard.*wl_ke |
| 12860 | 79 62 6f 61 72 64 2c 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 | yboard,...G..................... |
| 12880 | 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 2c 20 73 74 72 75 63 74 20 77 6c | ......uint32_t.serial,.struct.wl |
| 128a0 | 5f 73 75 72 66 61 63 65 20 2a 73 75 72 66 61 63 65 29 00 00 00 01 7b 00 00 00 01 7d 00 00 00 00 | _surface.*surface)....{....}.... |
| 128c0 | 00 00 00 45 73 74 61 74 69 63 20 76 6f 69 64 20 6b 65 79 62 6f 61 72 64 5f 6b 65 79 28 76 6f 69 | ...Estatic.void.keyboard_key(voi |
| 128e0 | 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 77 6c 5f | d.*data,.struct.wl_keyboard.*wl_ |
| 12900 | 6b 65 79 62 6f 61 72 64 2c 00 00 00 46 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | keyboard,...F................... |
| 12920 | 20 20 20 20 20 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 | ......uint32_t.serial,.uint32_t. |
| 12940 | 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 6b 65 79 2c 00 00 00 28 20 20 20 20 20 20 20 20 20 | time,.uint32_t.key,...(......... |
| 12960 | 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 74 61 74 65 29 00 | ................uint32_t.state). |
| 12980 | 00 00 01 7b 00 00 00 44 20 20 20 20 69 66 20 28 73 74 61 74 65 20 3d 3d 20 57 4c 5f 4b 45 59 42 | ...{...D....if.(state.==.WL_KEYB |
| 129a0 | 4f 41 52 44 5f 4b 45 59 5f 53 54 41 54 45 5f 50 52 45 53 53 45 44 20 26 26 20 70 74 79 5f 6d 61 | OARD_KEY_STATE_PRESSED.&&.pty_ma |
| 129c0 | 73 74 65 72 20 3e 3d 20 30 29 20 7b 00 00 00 13 20 20 20 20 20 20 20 20 63 68 61 72 20 63 20 3d | ster.>=.0).{............char.c.= |
| 129e0 | 20 30 3b 00 00 00 08 20 20 20 20 20 20 20 20 00 00 00 25 20 20 20 20 20 20 20 20 69 66 20 28 6b | .0;...............%........if.(k |
| 12a00 | 65 79 20 3e 3d 20 31 36 20 26 26 20 6b 65 79 20 3c 3d 20 32 35 29 20 7b 00 00 00 21 20 20 20 20 | ey.>=.16.&&.key.<=.25).{...!.... |
| 12a20 | 20 20 20 20 20 20 20 20 63 20 3d 20 27 71 27 20 2b 20 28 6b 65 79 20 2d 20 31 36 29 3b 00 00 00 | ........c.=.'q'.+.(key.-.16);... |
| 12a40 | 2c 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 6b 65 79 20 3e 3d 20 32 36 20 26 26 | ,........}.else.if.(key.>=.26.&& |
| 12a60 | 20 6b 65 79 20 3c 3d 20 33 35 29 20 7b 00 00 00 21 20 20 20 20 20 20 20 20 20 20 20 20 63 20 3d | .key.<=.35).{...!............c.= |
| 12a80 | 20 27 61 27 20 2b 20 28 6b 65 79 20 2d 20 32 36 29 3b 00 00 00 2c 20 20 20 20 20 20 20 20 7d 20 | .'a'.+.(key.-.26);...,........}. |
| 12aa0 | 65 6c 73 65 20 69 66 20 28 6b 65 79 20 3e 3d 20 33 36 20 26 26 20 6b 65 79 20 3c 3d 20 34 35 29 | else.if.(key.>=.36.&&.key.<=.45) |
| 12ac0 | 20 7b 00 00 00 21 20 20 20 20 20 20 20 20 20 20 20 20 63 20 3d 20 27 7a 27 20 2b 20 28 6b 65 79 | .{...!............c.=.'z'.+.(key |
| 12ae0 | 20 2d 20 33 36 29 3b 00 00 00 2c 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 6b 65 | .-.36);...,........}.else.if.(ke |
| 12b00 | 79 20 3e 3d 20 34 36 20 26 26 20 6b 65 79 20 3c 3d 20 35 35 29 20 7b 00 00 00 21 20 20 20 20 20 | y.>=.46.&&.key.<=.55).{...!..... |
| 12b20 | 20 20 20 20 20 20 20 63 20 3d 20 27 30 27 20 2b 20 28 6b 65 79 20 2d 20 34 36 29 3b 00 00 00 1f | .......c.=.'0'.+.(key.-.46);.... |
| 12b40 | 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 6b 65 79 20 3d 3d 20 35 37 29 20 7b 00 | ........}.else.if.(key.==.57).{. |
| 12b60 | 00 00 14 20 20 20 20 20 20 20 20 20 20 20 20 63 20 3d 20 27 20 27 3b 00 00 00 1f 20 20 20 20 20 | ...............c.=.'.';......... |
| 12b80 | 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 6b 65 79 20 3d 3d 20 35 38 29 20 7b 00 00 00 15 20 20 | ...}.else.if.(key.==.58).{...... |
| 12ba0 | 20 20 20 20 20 20 20 20 20 20 63 20 3d 20 27 5c 6e 27 3b 00 00 00 1f 20 20 20 20 20 20 20 20 7d | ..........c.=.'\n';............} |
| 12bc0 | 20 65 6c 73 65 20 69 66 20 28 6b 65 79 20 3d 3d 20 31 34 29 20 7b 00 00 00 15 20 20 20 20 20 20 | .else.if.(key.==.14).{.......... |
| 12be0 | 20 20 20 20 20 20 63 20 3d 20 27 5c 62 27 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 08 | ......c.=.'\b';............}.... |
| 12c00 | 20 20 20 20 20 20 20 20 00 00 00 10 20 20 20 20 20 20 20 20 69 66 20 28 63 29 20 7b 00 00 00 25 | ....................if.(c).{...% |
| 12c20 | 20 20 20 20 20 20 20 20 20 20 20 20 77 72 69 74 65 28 70 74 79 5f 6d 61 73 74 65 72 2c 20 26 63 | ............write(pty_master,.&c |
| 12c40 | 2c 20 31 29 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d | ,.1);............}........}....} |
| 12c60 | 00 00 00 00 00 00 00 4b 73 74 61 74 69 63 20 76 6f 69 64 20 6b 65 79 62 6f 61 72 64 5f 6d 6f 64 | .......Kstatic.void.keyboard_mod |
| 12c80 | 69 66 69 65 72 73 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 | ifiers(void.*data,.struct.wl_key |
| 12ca0 | 62 6f 61 72 64 20 2a 77 6c 5f 6b 65 79 62 6f 61 72 64 2c 00 00 00 48 20 20 20 20 20 20 20 20 20 | board.*wl_keyboard,...H......... |
| 12cc0 | 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 73 | ......................uint32_t.s |
| 12ce0 | 65 72 69 61 6c 2c 20 75 69 6e 74 33 32 5f 74 20 6d 6f 64 73 5f 64 65 70 72 65 73 73 65 64 2c 00 | erial,.uint32_t.mods_depressed,. |
| 12d00 | 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 20 20 20 20 20 20 20 | ..K............................. |
| 12d20 | 20 20 75 69 6e 74 33 32 5f 74 20 6d 6f 64 73 5f 6c 61 74 63 68 65 64 2c 20 75 69 6e 74 33 32 5f | ..uint32_t.mods_latched,.uint32_ |
| 12d40 | 74 20 6d 6f 64 73 5f 6c 6f 63 6b 65 64 2c 00 00 00 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | t.mods_locked,.................. |
| 12d60 | 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 67 72 6f 75 70 29 | .................uint32_t.group) |
| 12d80 | 00 00 00 01 7b 00 00 00 01 7d 00 00 00 00 00 00 00 3e 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 | ....{....}.......>static.const.s |
| 12da0 | 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 |
| 12dc0 | 61 72 64 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 1e 20 20 20 20 2e 6b 65 79 6d 61 70 20 | ard_listener.=.{.........keymap. |
| 12de0 | 3d 20 6b 65 79 62 6f 61 72 64 5f 6b 65 79 6d 61 70 2c 00 00 00 1c 20 20 20 20 2e 65 6e 74 65 72 | =.keyboard_keymap,.........enter |
| 12e00 | 20 3d 20 6b 65 79 62 6f 61 72 64 5f 65 6e 74 65 72 2c 00 00 00 1c 20 20 20 20 2e 6c 65 61 76 65 | .=.keyboard_enter,.........leave |
| 12e20 | 20 3d 20 6b 65 79 62 6f 61 72 64 5f 6c 65 61 76 65 2c 00 00 00 18 20 20 20 20 2e 6b 65 79 20 3d | .=.keyboard_leave,.........key.= |
| 12e40 | 20 6b 65 79 62 6f 61 72 64 5f 6b 65 79 2c 00 00 00 24 20 20 20 20 2e 6d 6f 64 69 66 69 65 72 73 | .keyboard_key,...$.....modifiers |
| 12e60 | 20 3d 20 6b 65 79 62 6f 61 72 64 5f 6d 6f 64 69 66 69 65 72 73 2c 00 00 00 02 7d 3b 00 00 00 00 | .=.keyboard_modifiers,....};.... |
| 12e80 | 00 00 00 59 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 61 74 5f 63 61 70 61 62 69 6c 69 74 69 65 | ...Ystatic.void.seat_capabilitie |
| 12ea0 | 73 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 73 65 61 74 20 2a 77 6c | s(void.*data,.struct.wl_seat.*wl |
| 12ec0 | 5f 73 65 61 74 2c 20 75 69 6e 74 33 32 5f 74 20 63 61 70 61 62 69 6c 69 74 69 65 73 29 00 00 00 | _seat,.uint32_t.capabilities)... |
| 12ee0 | 01 7b 00 00 00 35 20 20 20 20 69 66 20 28 63 61 70 61 62 69 6c 69 74 69 65 73 20 26 20 57 4c 5f | .{...5....if.(capabilities.&.WL_ |
| 12f00 | 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 7b 00 00 00 31 20 | SEAT_CAPABILITY_KEYBOARD).{...1. |
| 12f20 | 20 20 20 20 20 20 20 6b 65 79 62 6f 61 72 64 20 3d 20 77 6c 5f 73 65 61 74 5f 67 65 74 5f 6b 65 | .......keyboard.=.wl_seat_get_ke |
| 12f40 | 79 62 6f 61 72 64 28 77 6c 5f 73 65 61 74 29 3b 00 00 00 45 20 20 20 20 20 20 20 20 77 6c 5f 6b | yboard(wl_seat);...E........wl_k |
| 12f60 | 65 79 62 6f 61 72 64 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 6b 65 79 62 6f 61 72 64 2c 20 26 | eyboard_add_listener(keyboard,.& |
| 12f80 | 6b 65 79 62 6f 61 72 64 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 05 20 20 20 | keyboard_listener,.NULL);....... |
| 12fa0 | 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 36 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 | .}....}.......6static.const.stru |
| 12fc0 | 63 74 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 | ct.wl_seat_listener.seat_listene |
| 12fe0 | 72 20 3d 20 7b 00 00 00 26 20 20 20 20 2e 63 61 70 61 62 69 6c 69 74 69 65 73 20 3d 20 73 65 61 | r.=.{...&.....capabilities.=.sea |
| 13000 | 74 5f 63 61 70 61 62 69 6c 69 74 69 65 73 2c 00 00 00 02 7d 3b 00 00 00 00 00 00 00 43 73 74 61 | t_capabilities,....};.......Csta |
| 13020 | 74 69 63 20 76 6f 69 64 20 68 61 6e 64 6c 65 5f 67 6c 6f 62 61 6c 28 76 6f 69 64 20 2a 64 61 74 | tic.void.handle_global(void.*dat |
| 13040 | 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 69 73 74 72 79 2c | a,.struct.wl_registry.*registry, |
| 13060 | 00 00 00 51 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 75 69 | ...Q..........................ui |
| 13080 | 6e 74 33 32 5f 74 20 6e 61 6d 65 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 6e 74 65 72 66 61 | nt32_t.name,.const.char.*interfa |
| 130a0 | 63 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 65 72 73 69 6f 6e 29 00 00 00 01 7b 00 00 00 32 20 20 | ce,.uint32_t.version)....{...2.. |
| 130c0 | 20 20 69 66 20 28 73 74 72 63 6d 70 28 69 6e 74 65 72 66 61 63 65 2c 20 22 77 6c 5f 63 6f 6d 70 | ..if.(strcmp(interface,."wl_comp |
| 130e0 | 6f 73 69 74 6f 72 22 29 20 3d 3d 20 30 29 20 7b 00 00 00 53 20 20 20 20 20 20 20 20 63 6f 6d 70 | ositor").==.0).{...S........comp |
| 13100 | 6f 73 69 74 6f 72 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 69 73 74 | ositor.=.wl_registry_bind(regist |
| 13120 | 72 79 2c 20 6e 61 6d 65 2c 20 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 69 6e 74 65 72 66 61 | ry,.name,.&wl_compositor_interfa |
| 13140 | 63 65 2c 20 34 29 3b 00 00 00 32 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d 70 | ce,.4);...2....}.else.if.(strcmp |
| 13160 | 28 69 6e 74 65 72 66 61 63 65 2c 20 22 77 6c 5f 73 68 6d 22 29 20 3d 3d 20 30 29 20 7b 00 00 00 | (interface,."wl_shm").==.0).{... |
| 13180 | 45 20 20 20 20 20 20 20 20 73 68 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 | E........shm.=.wl_registry_bind( |
| 131a0 | 72 65 67 69 73 74 72 79 2c 20 6e 61 6d 65 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 61 63 | registry,.name,.&wl_shm_interfac |
| 131c0 | 65 2c 20 31 29 3b 00 00 00 37 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d 70 28 | e,.1);...7....}.else.if.(strcmp( |
| 131e0 | 69 6e 74 65 72 66 61 63 65 2c 20 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 20 3d 3d 20 30 29 20 | interface,."xdg_wm_base").==.0). |
| 13200 | 7b 00 00 00 4e 20 20 20 20 20 20 20 20 77 6d 5f 62 61 73 65 20 3d 20 77 6c 5f 72 65 67 69 73 74 | {...N........wm_base.=.wl_regist |
| 13220 | 72 79 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 6e 61 6d 65 2c 20 26 78 64 67 5f 77 6d 5f | ry_bind(registry,.name,.&xdg_wm_ |
| 13240 | 62 61 73 65 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 43 20 20 20 20 20 20 20 20 78 | base_interface,.1);...C........x |
| 13260 | 64 67 5f 77 6d 5f 62 61 73 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 77 6d 5f 62 61 73 65 2c | dg_wm_base_add_listener(wm_base, |
| 13280 | 20 26 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 33 20 20 | .&wm_base_listener,.NULL);...3.. |
| 132a0 | 20 20 7d 20 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d 70 28 69 6e 74 65 72 66 61 63 65 2c 20 22 | ..}.else.if.(strcmp(interface,." |
| 132c0 | 77 6c 5f 73 65 61 74 22 29 20 3d 3d 20 30 29 20 7b 00 00 00 47 20 20 20 20 20 20 20 20 73 65 61 | wl_seat").==.0).{...G........sea |
| 132e0 | 74 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 6e | t.=.wl_registry_bind(registry,.n |
| 13300 | 61 6d 65 2c 20 26 77 6c 5f 73 65 61 74 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 39 | ame,.&wl_seat_interface,.1);...9 |
| 13320 | 20 20 20 20 20 20 20 20 77 6c 5f 73 65 61 74 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 73 65 61 | ........wl_seat_add_listener(sea |
| 13340 | 74 2c 20 26 73 65 61 74 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 05 20 20 20 | t,.&seat_listener,.NULL);....... |
| 13360 | 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 68 61 6e 64 6c | .}....}.......Ystatic.void.handl |
| 13380 | 65 5f 67 6c 6f 62 61 6c 5f 72 65 6d 6f 76 65 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 | e_global_remove(void.*data,.stru |
| 133a0 | 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 69 73 74 72 79 2c 20 75 69 6e 74 33 32 | ct.wl_registry.*registry,.uint32 |
| 133c0 | 5f 74 20 6e 61 6d 65 29 00 00 00 01 7b 00 00 00 0f 20 20 20 20 28 76 6f 69 64 29 64 61 74 61 3b | _t.name)....{........(void)data; |
| 133e0 | 00 00 00 13 20 20 20 20 28 76 6f 69 64 29 72 65 67 69 73 74 72 79 3b 00 00 00 0f 20 20 20 20 28 | ........(void)registry;........( |
| 13400 | 76 6f 69 64 29 6e 61 6d 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 3e 73 74 61 74 69 63 20 63 6f | void)name;....}.......>static.co |
| 13420 | 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 6e 65 72 20 | nst.struct.wl_registry_listener. |
| 13440 | 72 65 67 69 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 1c 20 20 20 20 2e 67 6c | registry_listener.=.{.........gl |
| 13460 | 6f 62 61 6c 20 3d 20 68 61 6e 64 6c 65 5f 67 6c 6f 62 61 6c 2c 00 00 00 2a 20 20 20 20 2e 67 6c | obal.=.handle_global,...*.....gl |
| 13480 | 6f 62 61 6c 5f 72 65 6d 6f 76 65 20 3d 20 68 61 6e 64 6c 65 5f 67 6c 6f 62 61 6c 5f 72 65 6d 6f | obal_remove.=.handle_global_remo |
| 134a0 | 76 65 2c 00 00 00 02 7d 3b 00 00 00 00 00 00 00 1d 73 74 61 74 69 63 20 76 6f 69 64 20 63 6c 65 | ve,....};........static.void.cle |
| 134c0 | 61 6e 75 70 5f 70 74 79 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 18 20 20 20 20 69 66 20 28 73 | anup_pty(void)....{........if.(s |
| 134e0 | 68 65 6c 6c 5f 70 69 64 20 3e 20 30 29 20 7b 00 00 00 21 20 20 20 20 20 20 20 20 6b 69 6c 6c 28 | hell_pid.>.0).{...!........kill( |
| 13500 | 73 68 65 6c 6c 5f 70 69 64 2c 20 53 49 47 54 45 52 4d 29 3b 00 00 00 24 20 20 20 20 20 20 20 20 | shell_pid,.SIGTERM);...$........ |
| 13520 | 77 61 69 74 70 69 64 28 73 68 65 6c 6c 5f 70 69 64 2c 20 4e 55 4c 4c 2c 20 30 29 3b 00 00 00 05 | waitpid(shell_pid,.NULL,.0);.... |
| 13540 | 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 1a 20 20 20 20 69 66 20 28 70 74 79 5f 6d 61 73 | ....}................if.(pty_mas |
| 13560 | 74 65 72 20 3e 3d 20 30 29 20 7b 00 00 00 1a 20 20 20 20 20 20 20 20 63 6c 6f 73 65 28 70 74 79 | ter.>=.0).{............close(pty |
| 13580 | 5f 6d 61 73 74 65 72 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 1a 73 | _master);........}....}........s |
| 135a0 | 74 61 74 69 63 20 69 6e 74 20 73 65 74 75 70 5f 70 74 79 28 76 6f 69 64 29 00 00 00 01 7b 00 00 | tatic.int.setup_pty(void)....{.. |
| 135c0 | 00 18 20 20 20 20 73 74 72 75 63 74 20 74 65 72 6d 69 6f 73 20 74 65 72 6d 3b 00 00 00 04 20 20 | ......struct.termios.term;...... |
| 135e0 | 20 20 00 00 00 36 20 20 20 20 70 74 79 5f 6d 61 73 74 65 72 20 3d 20 6f 70 65 6e 28 22 2f 64 65 | .....6....pty_master.=.open("/de |
| 13600 | 76 2f 70 74 6d 78 22 2c 20 4f 5f 52 44 57 52 20 7c 20 4f 5f 4e 4f 43 54 54 59 29 3b 00 00 00 19 | v/ptmx",.O_RDWR.|.O_NOCTTY);.... |
| 13620 | 20 20 20 20 69 66 20 28 70 74 79 5f 6d 61 73 74 65 72 20 3c 20 30 29 20 7b 00 00 00 12 20 20 20 | ....if.(pty_master.<.0).{....... |
| 13640 | 20 20 20 20 20 72 65 74 75 72 6e 20 2d 31 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 | .....return.-1;........}........ |
| 13660 | 00 00 00 22 20 20 20 20 69 66 20 28 67 72 61 6e 74 70 74 28 70 74 79 5f 6d 61 73 74 65 72 29 20 | ..."....if.(grantpt(pty_master). |
| 13680 | 3c 20 30 29 20 7b 00 00 00 12 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 2d 31 3b 00 00 00 05 | <.0).{............return.-1;.... |
| 136a0 | 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 23 20 20 20 20 69 66 20 28 75 6e 6c 6f 63 6b 70 | ....}...........#....if.(unlockp |
| 136c0 | 74 28 70 74 79 5f 6d 61 73 74 65 72 29 20 3c 20 30 29 20 7b 00 00 00 12 20 20 20 20 20 20 20 20 | t(pty_master).<.0).{............ |
| 136e0 | 72 65 74 75 72 6e 20 2d 31 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 3d 20 | return.-1;........}...........=. |
| 13700 | 20 20 20 69 6e 74 20 73 6c 61 76 65 20 3d 20 6f 70 65 6e 28 70 74 73 6e 61 6d 65 28 70 74 79 5f | ...int.slave.=.open(ptsname(pty_ |
| 13720 | 6d 61 73 74 65 72 29 2c 20 4f 5f 52 44 57 52 20 7c 20 4f 5f 4e 4f 43 54 54 59 29 3b 00 00 00 14 | master),.O_RDWR.|.O_NOCTTY);.... |
| 13740 | 20 20 20 20 69 66 20 28 73 6c 61 76 65 20 3c 20 30 29 20 7b 00 00 00 12 20 20 20 20 20 20 20 20 | ....if.(slave.<.0).{............ |
| 13760 | 72 65 74 75 72 6e 20 2d 31 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 1c 20 | return.-1;........}............. |
| 13780 | 20 20 20 74 63 67 65 74 61 74 74 72 28 73 6c 61 76 65 2c 20 26 74 65 72 6d 29 3b 00 00 00 58 20 | ...tcgetattr(slave,.&term);...X. |
| 137a0 | 20 20 20 74 65 72 6d 2e 63 5f 69 66 6c 61 67 20 26 3d 20 7e 28 49 47 4e 42 52 4b 20 7c 20 42 52 | ...term.c_iflag.&=.~(IGNBRK.|.BR |
| 137c0 | 4b 49 4e 54 20 7c 20 50 41 52 4d 52 4b 20 7c 20 49 53 54 52 49 50 20 7c 20 49 4e 4c 43 52 20 7c | KINT.|.PARMRK.|.ISTRIP.|.INLCR.| |
| 137e0 | 20 49 47 4e 43 52 20 7c 20 49 43 52 4e 4c 20 7c 20 49 58 4f 4e 29 3b 00 00 00 1b 20 20 20 20 74 | .IGNCR.|.ICRNL.|.IXON);........t |
| 13800 | 65 72 6d 2e 63 5f 6f 66 6c 61 67 20 26 3d 20 7e 4f 50 4f 53 54 3b 00 00 00 3e 20 20 20 20 74 65 | erm.c_oflag.&=.~OPOST;...>....te |
| 13820 | 72 6d 2e 63 5f 6c 66 6c 61 67 20 26 3d 20 7e 28 45 43 48 4f 20 7c 20 45 43 48 4f 4e 4c 20 7c 20 | rm.c_lflag.&=.~(ECHO.|.ECHONL.|. |
| 13840 | 49 43 41 4e 4f 4e 20 7c 20 49 53 49 47 20 7c 20 49 45 58 54 45 4e 29 3b 00 00 00 26 20 20 20 20 | ICANON.|.ISIG.|.IEXTEN);...&.... |
| 13860 | 74 65 72 6d 2e 63 5f 63 66 6c 61 67 20 26 3d 20 7e 28 43 53 49 5a 45 20 7c 20 50 41 52 45 4e 42 | term.c_cflag.&=.~(CSIZE.|.PARENB |
| 13880 | 29 3b 00 00 00 18 20 20 20 20 74 65 72 6d 2e 63 5f 63 66 6c 61 67 20 7c 3d 20 43 53 38 3b 00 00 | );........term.c_cflag.|=.CS8;.. |
| 138a0 | 00 18 20 20 20 20 74 65 72 6d 2e 63 5f 63 63 5b 56 4d 49 4e 5d 20 3d 20 31 3b 00 00 00 19 20 20 | ......term.c_cc[VMIN].=.1;...... |
| 138c0 | 20 20 74 65 72 6d 2e 63 5f 63 63 5b 56 54 49 4d 45 5d 20 3d 20 30 3b 00 00 00 25 20 20 20 20 74 | ..term.c_cc[VTIME].=.0;...%....t |
| 138e0 | 63 73 65 74 61 74 74 72 28 73 6c 61 76 65 2c 20 54 43 53 41 4e 4f 57 2c 20 26 74 65 72 6d 29 3b | csetattr(slave,.TCSANOW,.&term); |
| 13900 | 00 00 00 04 20 20 20 20 00 00 00 11 20 20 20 20 63 6c 6f 73 65 28 73 6c 61 76 65 29 3b 00 00 00 | ................close(slave);... |
| 13920 | 0d 20 20 20 20 72 65 74 75 72 6e 20 30 3b 00 00 00 01 7d 00 00 00 00 00 00 00 1b 73 74 61 74 69 | .....return.0;....}........stati |
| 13940 | 63 20 76 6f 69 64 20 72 75 6e 5f 73 68 65 6c 6c 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 0e 20 | c.void.run_shell(void)....{..... |
| 13960 | 20 20 20 69 6e 74 20 73 6c 61 76 65 3b 00 00 00 04 20 20 20 20 00 00 00 17 20 20 20 20 73 68 65 | ...int.slave;................she |
| 13980 | 6c 6c 5f 70 69 64 20 3d 20 66 6f 72 6b 28 29 3b 00 00 00 04 20 20 20 20 00 00 00 19 20 20 20 20 | ll_pid.=.fork();................ |
| 139a0 | 69 66 20 28 73 68 65 6c 6c 5f 70 69 64 20 3d 3d 20 30 29 20 7b 00 00 00 11 20 20 20 20 20 20 20 | if.(shell_pid.==.0).{........... |
| 139c0 | 20 73 65 74 73 69 64 28 29 3b 00 00 00 08 20 20 20 20 20 20 20 20 00 00 00 3d 20 20 20 20 20 20 | .setsid();...............=...... |
| 139e0 | 20 20 73 6c 61 76 65 20 3d 20 6f 70 65 6e 28 70 74 73 6e 61 6d 65 28 70 74 79 5f 6d 61 73 74 65 | ..slave.=.open(ptsname(pty_maste |
| 13a00 | 72 29 2c 20 4f 5f 52 44 57 52 20 7c 20 4f 5f 4e 4f 43 54 54 59 29 3b 00 00 00 08 20 20 20 20 20 | r),.O_RDWR.|.O_NOCTTY);......... |
| 13a20 | 20 20 20 00 00 00 23 20 20 20 20 20 20 20 20 69 6f 63 74 6c 28 73 6c 61 76 65 2c 20 54 49 4f 43 | ......#........ioctl(slave,.TIOC |
| 13a40 | 53 43 54 54 59 2c 20 30 29 3b 00 00 00 08 20 20 20 20 20 20 20 20 00 00 00 17 20 20 20 20 20 20 | SCTTY,.0);...................... |
| 13a60 | 20 20 64 75 70 32 28 73 6c 61 76 65 2c 20 30 29 3b 00 00 00 17 20 20 20 20 20 20 20 20 64 75 70 | ..dup2(slave,.0);............dup |
| 13a80 | 32 28 73 6c 61 76 65 2c 20 31 29 3b 00 00 00 17 20 20 20 20 20 20 20 20 64 75 70 32 28 73 6c 61 | 2(slave,.1);............dup2(sla |
| 13aa0 | 76 65 2c 20 32 29 3b 00 00 00 08 20 20 20 20 20 20 20 20 00 00 00 18 20 20 20 20 20 20 20 20 69 | ve,.2);........................i |
| 13ac0 | 66 20 28 73 6c 61 76 65 20 3e 20 32 29 20 7b 00 00 00 19 20 20 20 20 20 20 20 20 20 20 20 20 63 | f.(slave.>.2).{................c |
| 13ae0 | 6c 6f 73 65 28 73 6c 61 76 65 29 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 1a 20 20 20 | lose(slave);............}....... |
| 13b00 | 20 20 20 20 20 63 6c 6f 73 65 28 70 74 79 5f 6d 61 73 74 65 72 29 3b 00 00 00 08 20 20 20 20 20 | .....close(pty_master);......... |
| 13b20 | 20 20 20 00 00 00 26 20 20 20 20 20 20 20 20 63 68 61 72 20 2a 73 68 65 6c 6c 20 3d 20 67 65 74 | ......&........char.*shell.=.get |
| 13b40 | 65 6e 76 28 22 53 48 45 4c 4c 22 29 3b 00 00 00 15 20 20 20 20 20 20 20 20 69 66 20 28 21 73 68 | env("SHELL");............if.(!sh |
| 13b60 | 65 6c 6c 29 20 7b 00 00 00 1e 20 20 20 20 20 20 20 20 20 20 20 20 73 68 65 6c 6c 20 3d 20 22 2f | ell).{................shell.=."/ |
| 13b80 | 62 69 6e 2f 73 68 22 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 08 20 20 20 20 20 20 20 | bin/sh";............}........... |
| 13ba0 | 20 00 00 00 22 20 20 20 20 20 20 20 20 65 78 65 63 6c 28 73 68 65 6c 6c 2c 20 73 68 65 6c 6c 2c | ...."........execl(shell,.shell, |
| 13bc0 | 20 4e 55 4c 4c 29 3b 00 00 00 10 20 20 20 20 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 05 20 | .NULL);............exit(1);..... |
| 13be0 | 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 0e 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 00 | ...}....}........int.main(void). |
| 13c00 | 00 00 01 7b 00 00 00 21 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a | ...{...!....struct.wl_registry.* |
| 13c20 | 72 65 67 69 73 74 72 79 3b 00 00 00 0f 20 20 20 20 66 64 5f 73 65 74 20 66 64 73 3b 00 00 00 04 | registry;........fd_set.fds;.... |
| 13c40 | 20 20 20 20 00 00 00 10 20 20 20 20 69 6e 69 74 5f 66 6f 6e 74 28 29 3b 00 00 00 28 20 20 20 20 | ............init_font();...(.... |
| 13c60 | 6d 65 6d 73 65 74 28 73 63 72 65 65 6e 2c 20 27 20 27 2c 20 73 69 7a 65 6f 66 28 73 63 72 65 65 | memset(screen,.'.',.sizeof(scree |
| 13c80 | 6e 29 29 3b 00 00 00 04 20 20 20 20 00 00 00 1d 20 20 20 20 73 69 67 6e 61 6c 28 53 49 47 43 48 | n));................signal(SIGCH |
| 13ca0 | 4c 44 2c 20 53 49 47 5f 49 47 4e 29 3b 00 00 00 04 20 20 20 20 00 00 00 1a 20 20 20 20 69 66 20 | LD,.SIG_IGN);................if. |
| 13cc0 | 28 73 65 74 75 70 5f 70 74 79 28 29 20 3c 20 30 29 20 7b 00 00 00 31 20 20 20 20 20 20 20 20 66 | (setup_pty().<.0).{...1........f |
| 13ce0 | 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 66 61 69 6c 65 64 20 74 6f 20 73 65 74 75 70 20 | printf(stderr,."failed.to.setup. |
| 13d00 | 70 74 79 5c 6e 22 29 3b 00 00 00 11 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 | pty\n");............return.1;... |
| 13d20 | 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 10 20 20 20 20 72 75 6e 5f 73 68 65 6c 6c 28 | .....}................run_shell( |
| 13d40 | 29 3b 00 00 00 04 20 20 20 20 00 00 00 27 20 20 20 20 64 69 73 70 6c 61 79 20 3d 20 77 6c 5f 64 | );...........'....display.=.wl_d |
| 13d60 | 69 73 70 6c 61 79 5f 63 6f 6e 6e 65 63 74 28 4e 55 4c 4c 29 3b 00 00 00 13 20 20 20 20 69 66 20 | isplay_connect(NULL);........if. |
| 13d80 | 28 21 64 69 73 70 6c 61 79 29 20 7b 00 00 00 42 20 20 20 20 20 20 20 20 66 70 72 69 6e 74 66 28 | (!display).{...B........fprintf( |
| 13da0 | 73 74 64 65 72 72 2c 20 22 66 61 69 6c 65 64 20 74 6f 20 63 6f 6e 6e 65 63 74 20 74 6f 20 77 61 | stderr,."failed.to.connect.to.wa |
| 13dc0 | 79 6c 61 6e 64 20 64 69 73 70 6c 61 79 5c 6e 22 29 3b 00 00 00 16 20 20 20 20 20 20 20 20 63 6c | yland.display\n");............cl |
| 13de0 | 65 61 6e 75 70 5f 70 74 79 28 29 3b 00 00 00 11 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 31 | eanup_pty();............return.1 |
| 13e00 | 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 30 20 20 20 20 72 65 67 69 73 74 | ;........}...........0....regist |
| 13e20 | 72 79 20 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 64 69 73 | ry.=.wl_display_get_registry(dis |
| 13e40 | 70 6c 61 79 29 3b 00 00 00 41 20 20 20 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 61 64 64 5f 6c 69 | play);...A....wl_registry_add_li |
| 13e60 | 73 74 65 6e 65 72 28 72 65 67 69 73 74 72 79 2c 20 26 72 65 67 69 73 74 72 79 5f 6c 69 73 74 65 | stener(registry,.®istry_liste |
| 13e80 | 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 22 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f | ner,.NULL);..."....wl_display_ro |
| 13ea0 | 75 6e 64 74 72 69 70 28 64 69 73 70 6c 61 79 29 3b 00 00 00 04 20 20 20 20 00 00 00 2a 20 20 20 | undtrip(display);...........*... |
| 13ec0 | 20 69 66 20 28 21 63 6f 6d 70 6f 73 69 74 6f 72 20 7c 7c 20 21 73 68 6d 20 7c 7c 20 21 77 6d 5f | .if.(!compositor.||.!shm.||.!wm_ |
| 13ee0 | 62 61 73 65 29 20 7b 00 00 00 47 20 20 20 20 20 20 20 20 66 70 72 69 6e 74 66 28 73 74 64 65 72 | base).{...G........fprintf(stder |
| 13f00 | 72 2c 20 22 66 61 69 6c 65 64 20 74 6f 20 67 65 74 20 72 65 71 75 69 72 65 64 20 77 61 79 6c 61 | r,."failed.to.get.required.wayla |
| 13f20 | 6e 64 20 69 6e 74 65 72 66 61 63 65 73 5c 6e 22 29 3b 00 00 00 16 20 20 20 20 20 20 20 20 63 6c | nd.interfaces\n");............cl |
| 13f40 | 65 61 6e 75 70 5f 70 74 79 28 29 3b 00 00 00 11 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 31 | eanup_pty();............return.1 |
| 13f60 | 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 37 20 20 20 20 73 75 72 66 61 63 | ;........}...........7....surfac |
| 13f80 | 65 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 61 63 65 | e.=.wl_compositor_create_surface |
| 13fa0 | 28 63 6f 6d 70 6f 73 69 74 6f 72 29 3b 00 00 00 40 20 20 20 20 78 64 67 5f 73 75 72 66 61 63 65 | (compositor);...@....xdg_surface |
| 13fc0 | 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 77 | .=.xdg_wm_base_get_xdg_surface(w |
| 13fe0 | 6d 5f 62 61 73 65 2c 20 73 75 72 66 61 63 65 29 3b 00 00 00 47 20 20 20 20 78 64 67 5f 73 75 72 | m_base,.surface);...G....xdg_sur |
| 14000 | 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 78 64 67 5f 73 75 72 66 61 63 65 2c 20 26 | face_add_listener(xdg_surface,.& |
| 14020 | 78 64 67 5f 73 75 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 04 | xdg_surface_listener,.NULL);.... |
| 14040 | 20 20 20 20 00 00 00 35 20 20 20 20 74 6f 70 6c 65 76 65 6c 20 3d 20 78 64 67 5f 73 75 72 66 61 | .......5....toplevel.=.xdg_surfa |
| 14060 | 63 65 5f 67 65 74 5f 74 6f 70 6c 65 76 65 6c 28 78 64 67 5f 73 75 72 66 61 63 65 29 3b 00 00 00 | ce_get_toplevel(xdg_surface);... |
| 14080 | 42 20 20 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 74 | B....xdg_toplevel_add_listener(t |
| 140a0 | 6f 70 6c 65 76 65 6c 2c 20 26 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c | oplevel,.&toplevel_listener,.NUL |
| 140c0 | 4c 29 3b 00 00 00 40 20 20 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 74 69 74 6c | L);...@....xdg_toplevel_set_titl |
| 140e0 | 65 28 74 6f 70 6c 65 76 65 6c 2c 20 22 73 69 6d 70 6c 65 20 77 61 79 6c 61 6e 64 20 74 65 72 6d | e(toplevel,."simple.wayland.term |
| 14100 | 69 6e 61 6c 22 29 3b 00 00 00 41 20 20 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f | inal");...A....xdg_toplevel_set_ |
| 14120 | 61 70 70 5f 69 64 28 74 6f 70 6c 65 76 65 6c 2c 20 22 73 69 6d 70 6c 65 2d 77 61 79 6c 61 6e 64 | app_id(toplevel,."simple-wayland |
| 14140 | 2d 74 65 72 6d 69 6e 61 6c 22 29 3b 00 00 00 04 20 20 20 20 00 00 00 1f 20 20 20 20 77 6c 5f 73 | -terminal");................wl_s |
| 14160 | 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 73 75 72 66 61 63 65 29 3b 00 00 00 04 20 20 20 20 00 | urface_commit(surface);......... |
| 14180 | 00 00 15 20 20 20 20 77 68 69 6c 65 20 28 72 75 6e 6e 69 6e 67 29 20 7b 00 00 00 16 20 20 20 20 | .......while.(running).{........ |
| 141a0 | 20 20 20 20 46 44 5f 5a 45 52 4f 28 26 66 64 73 29 3b 00 00 00 21 20 20 20 20 20 20 20 20 46 44 | ....FD_ZERO(&fds);...!........FD |
| 141c0 | 5f 53 45 54 28 70 74 79 5f 6d 61 73 74 65 72 2c 20 26 66 64 73 29 3b 00 00 00 20 20 20 20 20 20 | _SET(pty_master,.&fds);......... |
| 141e0 | 20 20 20 69 6e 74 20 66 64 5f 6d 61 78 20 3d 20 70 74 79 5f 6d 61 73 74 65 72 3b 00 00 00 08 20 | ...int.fd_max.=.pty_master;..... |
| 14200 | 20 20 20 20 20 20 20 00 00 00 33 20 20 20 20 20 20 20 20 69 6e 74 20 72 65 74 20 3d 20 77 6c 5f | ..........3........int.ret.=.wl_ |
| 14220 | 64 69 73 70 6c 61 79 5f 70 72 65 70 61 72 65 5f 72 65 61 64 28 64 69 73 70 6c 61 79 29 3b 00 00 | display_prepare_read(display);.. |
| 14240 | 00 17 20 20 20 20 20 20 20 20 69 66 20 28 72 65 74 20 3d 3d 20 30 29 20 7b 00 00 00 35 20 20 20 | ..........if.(ret.==.0).{...5... |
| 14260 | 20 20 20 20 20 20 20 20 20 46 44 5f 53 45 54 28 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 66 | .........FD_SET(wl_display_get_f |
| 14280 | 64 28 64 69 73 70 6c 61 79 29 2c 20 26 66 64 73 29 3b 00 00 00 36 20 20 20 20 20 20 20 20 20 20 | d(display),.&fds);...6.......... |
| 142a0 | 20 20 69 66 20 28 66 64 5f 6d 61 78 20 3c 20 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 66 64 | ..if.(fd_max.<.wl_display_get_fd |
| 142c0 | 28 64 69 73 70 6c 61 79 29 29 20 7b 00 00 00 34 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | (display)).{...4................ |
| 142e0 | 66 64 5f 6d 61 78 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 66 64 28 64 69 73 70 6c | fd_max.=.wl_display_get_fd(displ |
| 14300 | 61 79 29 3b 00 00 00 0d 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 37 20 20 20 20 20 20 20 | ay);................}...7....... |
| 14320 | 20 20 20 20 20 73 65 6c 65 63 74 28 66 64 5f 6d 61 78 20 2b 20 31 2c 20 26 66 64 73 2c 20 4e 55 | .....select(fd_max.+.1,.&fds,.NU |
| 14340 | 4c 4c 2c 20 4e 55 4c 4c 2c 20 4e 55 4c 4c 29 3b 00 00 00 2c 20 20 20 20 20 20 20 20 20 20 20 20 | LL,.NULL,.NULL);...,............ |
| 14360 | 77 6c 5f 64 69 73 70 6c 61 79 5f 72 65 61 64 5f 65 76 65 6e 74 73 28 64 69 73 70 6c 61 79 29 3b | wl_display_read_events(display); |
| 14380 | 00 00 00 31 20 20 20 20 20 20 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 | ...1............wl_display_dispa |
| 143a0 | 74 63 68 5f 70 65 6e 64 69 6e 67 28 64 69 73 70 6c 61 79 29 3b 00 00 00 10 20 20 20 20 20 20 20 | tch_pending(display);........... |
| 143c0 | 20 7d 20 65 6c 73 65 20 7b 00 00 00 29 20 20 20 20 20 20 20 20 20 20 20 20 77 6c 5f 64 69 73 70 | .}.else.{...)............wl_disp |
| 143e0 | 6c 61 79 5f 64 69 73 70 61 74 63 68 28 64 69 73 70 6c 61 79 29 3b 00 00 00 09 20 20 20 20 20 20 | lay_dispatch(display);.......... |
| 14400 | 20 20 7d 00 00 00 08 20 20 20 20 20 20 20 20 00 00 00 29 20 20 20 20 20 20 20 20 69 66 20 28 46 | ..}...............)........if.(F |
| 14420 | 44 5f 49 53 53 45 54 28 70 74 79 5f 6d 61 73 74 65 72 2c 20 26 66 64 73 29 29 20 7b 00 00 00 1a | D_ISSET(pty_master,.&fds)).{.... |
| 14440 | 20 20 20 20 20 20 20 20 20 20 20 20 63 68 61 72 20 62 75 66 5b 32 35 36 5d 3b 00 00 00 37 20 20 | ............char.buf[256];...7.. |
| 14460 | 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 6e 20 3d 20 72 65 61 64 28 70 74 79 5f 6d 61 73 74 65 | ..........int.n.=.read(pty_maste |
| 14480 | 72 2c 20 62 75 66 2c 20 73 69 7a 65 6f 66 28 62 75 66 29 29 3b 00 00 00 18 20 20 20 20 20 20 20 | r,.buf,.sizeof(buf));........... |
| 144a0 | 20 20 20 20 20 69 66 20 28 6e 20 3e 20 30 29 20 7b 00 00 00 16 20 20 20 20 20 20 20 20 20 20 20 | .....if.(n.>.0).{............... |
| 144c0 | 20 20 20 20 20 69 6e 74 20 69 3b 00 00 00 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 | .....int.i;...)................f |
| 144e0 | 6f 72 20 28 69 20 3d 20 30 3b 20 69 20 3c 20 6e 3b 20 69 2b 2b 29 20 7b 00 00 00 29 20 20 20 20 | or.(i.=.0;.i.<.n;.i++).{...).... |
| 14500 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 62 75 66 5b 69 5d 20 3d 3d 20 27 5c | ................if.(buf[i].==.'\ |
| 14520 | 6e 27 29 20 7b 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 20 20 | n').{...-....................... |
| 14540 | 20 74 65 72 6d 69 6e 61 6c 5f 77 72 69 74 65 28 27 5c 72 27 29 3b 00 00 00 15 20 20 20 20 20 20 | .terminal_write('\r');.......... |
| 14560 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 2b 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..............}...+............. |
| 14580 | 20 20 20 20 20 20 20 74 65 72 6d 69 6e 61 6c 5f 77 72 69 74 65 28 62 75 66 5b 69 5d 29 3b 00 00 | .......terminal_write(buf[i]);.. |
| 145a0 | 00 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 20 20 20 20 20 20 20 20 20 20 | ..................}............. |
| 145c0 | 20 20 20 20 20 20 20 6e 65 65 64 5f 72 65 64 72 61 77 20 3d 20 31 3b 00 00 00 20 20 20 20 20 20 | .......need_redraw.=.1;......... |
| 145e0 | 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 6e 20 3d 3d 20 30 29 20 7b 00 00 00 1c 20 | .......}.else.if.(n.==.0).{..... |
| 14600 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 00 00 00 0d 20 | ...............running.=.0;..... |
| 14620 | 20 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 | ...........}............}....... |
| 14640 | 20 7d 00 00 00 04 20 20 20 20 00 00 00 12 20 20 20 20 63 6c 65 61 6e 75 70 5f 70 74 79 28 29 3b | .}................cleanup_pty(); |
| 14660 | 00 00 00 04 20 20 20 20 00 00 00 19 20 20 20 20 69 66 20 28 66 72 61 6d 65 5f 63 61 6c 6c 62 61 | ................if.(frame_callba |
| 14680 | 63 6b 29 20 7b 00 00 00 2c 20 20 20 20 20 20 20 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 5f 64 65 73 | ck).{...,........wl_callback_des |
| 146a0 | 74 72 6f 79 28 66 72 61 6d 65 5f 63 61 6c 6c 62 61 63 6b 29 3b 00 00 00 05 20 20 20 20 7d 00 00 | troy(frame_callback);........}.. |
| 146c0 | 00 04 20 20 20 20 00 00 00 13 20 20 20 20 69 66 20 28 6b 65 79 62 6f 61 72 64 29 20 7b 00 00 00 | ..............if.(keyboard).{... |
| 146e0 | 26 20 20 20 20 20 20 20 20 77 6c 5f 6b 65 79 62 6f 61 72 64 5f 64 65 73 74 72 6f 79 28 6b 65 79 | &........wl_keyboard_destroy(key |
| 14700 | 62 6f 61 72 64 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 0f 20 20 20 20 | board);........}................ |
| 14720 | 69 66 20 28 73 65 61 74 29 20 7b 00 00 00 1e 20 20 20 20 20 20 20 20 77 6c 5f 73 65 61 74 5f 64 | if.(seat).{............wl_seat_d |
| 14740 | 65 73 74 72 6f 79 28 73 65 61 74 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 | estroy(seat);........}.......... |
| 14760 | 00 15 20 20 20 20 64 65 73 74 72 6f 79 5f 62 75 66 66 65 72 28 29 3b 00 00 00 04 20 20 20 20 00 | ......destroy_buffer();......... |
| 14780 | 00 00 23 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 74 6f 70 6c | ..#....xdg_toplevel_destroy(topl |
| 147a0 | 65 76 65 6c 29 3b 00 00 00 25 20 20 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 64 65 73 74 72 6f | evel);...%....xdg_surface_destro |
| 147c0 | 79 28 78 64 67 5f 73 75 72 66 61 63 65 29 3b 00 00 00 20 20 20 20 20 77 6c 5f 73 75 72 66 61 63 | y(xdg_surface);........wl_surfac |
| 147e0 | 65 5f 64 65 73 74 72 6f 79 28 73 75 72 66 61 63 65 29 3b 00 00 00 21 20 20 20 20 78 64 67 5f 77 | e_destroy(surface);...!....xdg_w |
| 14800 | 6d 5f 62 61 73 65 5f 64 65 73 74 72 6f 79 28 77 6d 5f 62 61 73 65 29 3b 00 00 00 26 20 20 20 20 | m_base_destroy(wm_base);...&.... |
| 14820 | 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 64 65 73 74 72 6f 79 28 63 6f 6d 70 6f 73 69 74 6f 72 | wl_compositor_destroy(compositor |
| 14840 | 29 3b 00 00 00 18 20 20 20 20 77 6c 5f 73 68 6d 5f 64 65 73 74 72 6f 79 28 73 68 6d 29 3b 00 00 | );........wl_shm_destroy(shm);.. |
| 14860 | 00 22 20 20 20 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 64 65 73 74 72 6f 79 28 72 65 67 69 73 74 | ."....wl_registry_destroy(regist |
| 14880 | 72 79 29 3b 00 00 00 23 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 63 6f 6e 6e 65 63 | ry);...#....wl_display_disconnec |
| 148a0 | 74 28 64 69 73 70 6c 61 79 29 3b 00 00 00 04 20 20 20 20 00 00 00 0d 20 20 20 20 72 65 74 75 72 | t(display);................retur |
| 148c0 | 6e 20 30 3b 00 00 00 01 7d 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 8a 02 00 00 00 00 00 | n.0;....}5...................... |
| 148e0 | 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 a7 43 00 00 00 00 00 00 01 00 00 00 00 00 00 | ..................C............. |
| 14900 | 00 35 81 5f d0 00 00 00 0b 00 00 00 0d 00 00 00 00 00 00 00 00 00 00 00 0c 00 00 00 01 00 00 00 | .5._............................ |
| 14920 | 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 00 00 00 | ................................ |
| 14940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 149a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 149c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 149e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14a00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14a60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14a80 | 00 00 00 00 00 00 00 6a 01 0e cd 04 01 00 00 00 0b 00 f5 18 00 00 01 9a 00 00 00 00 00 00 00 00 | .......j........................ |
| 14aa0 | 00 00 00 01 00 00 00 24 20 20 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 64 65 73 74 72 6f 79 28 | .......$....xdg_surface_destroy( |
| 14ac0 | 78 64 67 5f 73 75 72 66 61 63 65 29 f5 18 00 00 01 9b 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 | xdg_surface).................... |
| 14ae0 | 00 00 01 1a 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 2d 20 20 20 20 20 20 20 20 65 6c 73 65 | ...................-........else |
| 14b00 | 20 69 66 20 28 6b 65 79 20 3e 3d 20 34 36 20 26 26 20 6b 65 79 20 3c 3d 20 35 35 29 20 63 20 3d | .if.(key.>=.46.&&.key.<=.55).c.= |
| 14b20 | 20 f5 18 00 00 01 1b 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 8b 00 00 00 00 00 00 00 | ................................ |
| 14b40 | 00 00 00 00 01 00 00 00 01 7b f5 18 00 00 00 8c 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 | .........{...................... |
| 14b60 | 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 | ................................ |
| 14b80 | 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 8b 00 00 00 | ....5........................... |
| 14ba0 | 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f9 0f 00 00 00 00 00 00 f5 18 00 00 | ................................ |
| 14bc0 | 00 00 8b 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 8f 00 00 00 2d 00 00 00 f9 0f 00 00 00 00 | ......................-......... |
| 14be0 | 00 00 00 00 00 00 00 00 00 00 ff 0f 00 00 00 00 00 00 f5 18 00 00 00 00 1a 01 00 00 2d 00 00 00 | ............................-... |
| 14c00 | 00 00 00 00 00 00 00 00 80 00 00 00 24 00 00 00 f8 1f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ............$................... |
| 14c20 | ff 0f 00 00 00 00 00 00 f5 18 00 00 00 00 9a 01 00 00 24 00 00 00 00 00 00 00 00 00 00 00 09 00 | ..................$............. |
| 14c40 | 00 00 01 00 00 00 f7 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e0 00 00 00 00 00 00 00 35 81 | ......./......................5. |
| 14c60 | 5f d0 00 00 00 0c 00 00 00 0e 00 00 00 00 00 00 00 00 00 00 00 0d 00 00 00 01 00 00 00 00 00 00 | _............................... |
| 14c80 | 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 | ................................ |
| 14ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14d00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14d20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14da0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14de0 | 00 00 00 00 6a 01 0f 67 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 00 00 00 00 00 01 | ....j..g........................ |
| 14e00 | a4 00 00 00 19 23 64 65 66 69 6e 65 20 5f 58 4f 50 45 4e 5f 53 4f 55 52 43 45 20 36 30 30 00 00 | .....#define._XOPEN_SOURCE.600.. |
| 14e20 | 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 64 65 | ..#include.<stdio.h>....#include |
| 14e40 | 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 67 2e | .<stdlib.h>....#include.<string. |
| 14e60 | 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 75 6e 69 73 74 64 2e 68 3e 00 00 00 15 23 69 6e | h>....#include.<unistd.h>....#in |
| 14e80 | 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e 68 3e 00 00 00 16 23 69 6e 63 6c 75 64 65 20 3c | clude.<sys/mman.h>....#include.< |
| 14ea0 | 73 79 73 2f 69 6f 63 74 6c 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 77 61 | sys/ioctl.h>....#include.<sys/wa |
| 14ec0 | 69 74 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 12 23 | it.h>....#include.<fcntl.h>....# |
| 14ee0 | 69 6e 63 6c 75 64 65 20 3c 65 72 72 6e 6f 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 | include.<errno.h>....#include.<s |
| 14f00 | 69 67 6e 61 6c 2e 68 3e 00 00 00 14 23 69 6e 63 6c 75 64 65 20 3c 74 65 72 6d 69 6f 73 2e 68 3e | ignal.h>....#include.<termios.h> |
| 14f20 | 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 70 6f 6c 6c 2e 68 3e 00 00 00 1b 23 69 6e 63 6c 75 64 | ....#include.<poll.h>....#includ |
| 14f40 | 65 20 3c 77 61 79 6c 61 6e 64 2d 63 6c 69 65 6e 74 2e 68 3e 00 00 00 26 23 69 6e 63 6c 75 64 65 | e.<wayland-client.h>...&#include |
| 14f60 | 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 22 00 00 | ."xdg-shell-client-protocol.h".. |
| 14f80 | 00 00 00 00 00 22 73 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 20 2a 64 69 73 70 6c 61 79 | ....."struct.wl_display.*display |
| 14fa0 | 20 3d 20 4e 55 4c 4c 3b 00 00 00 28 73 74 72 75 63 74 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 | .=.NULL;...(struct.wl_compositor |
| 14fc0 | 20 2a 63 6f 6d 70 6f 73 69 74 6f 72 20 3d 20 4e 55 4c 4c 3b 00 00 00 22 73 74 72 75 63 74 20 77 | .*compositor.=.NULL;..."struct.w |
| 14fe0 | 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 72 66 61 63 65 20 3d 20 4e 55 4c 4c 3b 00 00 00 1a 73 74 | l_surface.*surface.=.NULL;....st |
| 15000 | 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d 20 3d 20 4e 55 4c 4c 3b 00 00 00 1c 73 74 72 75 | ruct.wl_shm.*shm.=.NULL;....stru |
| 15020 | 63 74 20 77 6c 5f 73 65 61 74 20 2a 73 65 61 74 20 3d 20 4e 55 4c 4c 3b 00 00 00 24 73 74 72 75 | ct.wl_seat.*seat.=.NULL;...$stru |
| 15040 | 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 65 79 62 6f 61 72 64 20 3d 20 4e 55 4c 4c 3b | ct.wl_keyboard.*keyboard.=.NULL; |
| 15060 | 00 00 00 23 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 5f 62 61 73 65 20 | ...#struct.xdg_wm_base.*wm_base. |
| 15080 | 3d 20 4e 55 4c 4c 3b 00 00 00 27 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 | =.NULL;...'struct.xdg_surface.*x |
| 150a0 | 64 67 5f 73 75 72 66 61 63 65 20 3d 20 4e 55 4c 4c 3b 00 00 00 25 73 74 72 75 63 74 20 78 64 67 | dg_surface.=.NULL;...%struct.xdg |
| 150c0 | 5f 74 6f 70 6c 65 76 65 6c 20 2a 74 6f 70 6c 65 76 65 6c 20 3d 20 4e 55 4c 4c 3b 00 00 00 2a 73 | _toplevel.*toplevel.=.NULL;...*s |
| 150e0 | 74 72 75 63 74 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 20 2a 66 72 61 6d 65 5f 63 61 6c 6c 62 61 63 | truct.wl_callback.*frame_callbac |
| 15100 | 6b 20 3d 20 4e 55 4c 4c 3b 00 00 00 00 00 00 00 17 73 74 61 74 69 63 20 69 6e 74 20 72 75 6e 6e | k.=.NULL;........static.int.runn |
| 15120 | 69 6e 67 20 3d 20 31 3b 00 00 00 1e 73 74 61 74 69 63 20 69 6e 74 20 77 69 6e 64 6f 77 5f 77 69 | ing.=.1;....static.int.window_wi |
| 15140 | 64 74 68 20 3d 20 36 34 30 3b 00 00 00 1f 73 74 61 74 69 63 20 69 6e 74 20 77 69 6e 64 6f 77 5f | dth.=.640;....static.int.window_ |
| 15160 | 68 65 69 67 68 74 20 3d 20 34 30 30 3b 00 00 00 1d 73 74 61 74 69 63 20 69 6e 74 20 70 65 6e 64 | height.=.400;....static.int.pend |
| 15180 | 69 6e 67 5f 77 69 64 74 68 20 3d 20 30 3b 00 00 00 1e 73 74 61 74 69 63 20 69 6e 74 20 70 65 6e | ing_width.=.0;....static.int.pen |
| 151a0 | 64 69 6e 67 5f 68 65 69 67 68 74 20 3d 20 30 3b 00 00 00 1c 73 74 61 74 69 63 20 69 6e 74 20 6e | ding_height.=.0;....static.int.n |
| 151c0 | 65 65 64 73 5f 72 65 73 69 7a 65 20 3d 20 30 3b 00 00 00 28 73 74 61 74 69 63 20 75 6e 73 69 67 | eeds_resize.=.0;...(static.unsig |
| 151e0 | 6e 65 64 20 63 68 61 72 20 2a 70 69 78 65 6c 5f 64 61 74 61 20 3d 20 4e 55 4c 4c 3b 00 00 00 2e | ned.char.*pixel_data.=.NULL;.... |
| 15200 | 73 74 61 74 69 63 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 77 69 6e 64 6f 77 5f | static.struct.wl_buffer.*window_ |
| 15220 | 62 75 66 66 65 72 20 3d 20 4e 55 4c 4c 3b 00 00 00 00 00 00 00 1b 73 74 61 74 69 63 20 69 6e 74 | buffer.=.NULL;........static.int |
| 15240 | 20 70 74 79 5f 6d 61 73 74 65 72 20 3d 20 2d 31 3b 00 00 00 1c 73 74 61 74 69 63 20 70 69 64 5f | .pty_master.=.-1;....static.pid_ |
| 15260 | 74 20 73 68 65 6c 6c 5f 70 69 64 20 3d 20 2d 31 3b 00 00 00 15 73 74 61 74 69 63 20 69 6e 74 20 | t.shell_pid.=.-1;....static.int. |
| 15280 | 72 6f 77 73 20 3d 20 32 35 3b 00 00 00 15 73 74 61 74 69 63 20 69 6e 74 20 63 6f 6c 73 20 3d 20 | rows.=.25;....static.int.cols.=. |
| 152a0 | 38 30 3b 00 00 00 00 00 00 00 1b 73 74 61 74 69 63 20 63 68 61 72 20 73 63 72 65 65 6e 5b 32 35 | 80;........static.char.screen[25 |
| 152c0 | 5d 5b 38 30 5d 3b 00 00 00 18 73 74 61 74 69 63 20 69 6e 74 20 63 75 72 73 6f 72 5f 78 20 3d 20 | ][80];....static.int.cursor_x.=. |
| 152e0 | 30 3b 00 00 00 18 73 74 61 74 69 63 20 69 6e 74 20 63 75 72 73 6f 72 5f 79 20 3d 20 30 3b 00 00 | 0;....static.int.cursor_y.=.0;.. |
| 15300 | 00 1b 73 74 61 74 69 63 20 69 6e 74 20 6e 65 65 64 5f 72 65 64 72 61 77 20 3d 20 31 3b 00 00 00 | ..static.int.need_redraw.=.1;... |
| 15320 | 00 00 00 00 5d 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 63 68 61 72 28 75 6e 73 69 67 | ....]static.void.draw_char(unsig |
| 15340 | 6e 65 64 20 63 68 61 72 20 2a 64 61 74 61 2c 20 69 6e 74 20 70 69 74 63 68 2c 20 69 6e 74 20 78 | ned.char.*data,.int.pitch,.int.x |
| 15360 | 2c 20 69 6e 74 20 79 2c 20 63 68 61 72 20 63 68 2c 20 69 6e 74 20 64 72 61 77 5f 63 75 72 73 6f | ,.int.y,.char.ch,.int.draw_curso |
| 15380 | 72 29 00 00 00 01 7b 00 00 00 14 20 20 20 20 69 6e 74 20 70 78 2c 20 70 79 2c 20 69 64 78 3b 00 | r)....{........int.px,.py,.idx;. |
| 153a0 | 00 00 21 20 20 20 20 66 6f 72 20 28 70 79 20 3d 20 30 3b 20 70 79 20 3c 20 31 36 3b 20 70 79 2b | ..!....for.(py.=.0;.py.<.16;.py+ |
| 153c0 | 2b 29 20 7b 00 00 00 24 20 20 20 20 20 20 20 20 66 6f 72 20 28 70 78 20 3d 20 30 3b 20 70 78 20 | +).{...$........for.(px.=.0;.px. |
| 153e0 | 3c 20 38 3b 20 70 78 2b 2b 29 20 7b 00 00 00 22 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 | <.8;.px++).{..."............int. |
| 15400 | 73 63 72 65 65 6e 5f 78 20 3d 20 78 20 2b 20 70 78 3b 00 00 00 22 20 20 20 20 20 20 20 20 20 20 | screen_x.=.x.+.px;...".......... |
| 15420 | 20 20 69 6e 74 20 73 63 72 65 65 6e 5f 79 20 3d 20 79 20 2b 20 70 79 3b 00 00 00 68 20 20 20 20 | ..int.screen_y.=.y.+.py;...h.... |
| 15440 | 20 20 20 20 20 20 20 20 69 66 20 28 73 63 72 65 65 6e 5f 78 20 3e 3d 20 30 20 26 26 20 73 63 72 | ........if.(screen_x.>=.0.&&.scr |
| 15460 | 65 65 6e 5f 78 20 3c 20 77 69 6e 64 6f 77 5f 77 69 64 74 68 20 26 26 20 73 63 72 65 65 6e 5f 79 | een_x.<.window_width.&&.screen_y |
| 15480 | 20 3e 3d 20 30 20 26 26 20 73 63 72 65 65 6e 5f 79 20 3c 20 77 69 6e 64 6f 77 5f 68 65 69 67 68 | .>=.0.&&.screen_y.<.window_heigh |
| 154a0 | 74 29 20 7b 00 00 00 38 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 64 78 20 3d 20 28 73 | t).{...8................idx.=.(s |
| 154c0 | 63 72 65 65 6e 5f 79 20 2a 20 70 69 74 63 68 20 2b 20 73 63 72 65 65 6e 5f 78 29 20 2a 20 34 3b | creen_y.*.pitch.+.screen_x).*.4; |
| 154e0 | 00 00 00 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 64 72 61 77 5f 63 75 72 | ...,................if.(draw_cur |
| 15500 | 73 6f 72 20 26 26 20 70 79 20 3c 20 32 29 20 7b 00 00 00 28 20 20 20 20 20 20 20 20 20 20 20 20 | sor.&&.py.<.2).{...(............ |
| 15520 | 20 20 20 20 20 20 20 20 64 61 74 61 5b 69 64 78 20 2b 20 30 5d 20 3d 20 32 35 35 3b 00 00 00 28 | ........data[idx.+.0].=.255;...( |
| 15540 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 5b 69 64 78 20 2b 20 31 | ....................data[idx.+.1 |
| 15560 | 5d 20 3d 20 32 35 35 3b 00 00 00 28 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ].=.255;...(.................... |
| 15580 | 64 61 74 61 5b 69 64 78 20 2b 20 32 5d 20 3d 20 32 35 35 3b 00 00 00 28 20 20 20 20 20 20 20 20 | data[idx.+.2].=.255;...(........ |
| 155a0 | 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 5b 69 64 78 20 2b 20 33 5d 20 3d 20 32 35 35 3b | ............data[idx.+.3].=.255; |
| 155c0 | 00 00 00 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 63 | ...'................}.else.if.(c |
| 155e0 | 68 20 21 3d 20 27 20 27 29 20 7b 00 00 00 28 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | h.!=.'.').{...(................. |
| 15600 | 20 20 20 64 61 74 61 5b 69 64 78 20 2b 20 30 5d 20 3d 20 32 31 32 3b 00 00 00 28 20 20 20 20 20 | ...data[idx.+.0].=.212;...(..... |
| 15620 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 5b 69 64 78 20 2b 20 31 5d 20 3d 20 32 | ...............data[idx.+.1].=.2 |
| 15640 | 31 32 3b 00 00 00 28 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 5b | 12;...(....................data[ |
| 15660 | 69 64 78 20 2b 20 32 5d 20 3d 20 32 31 32 3b 00 00 00 28 20 20 20 20 20 20 20 20 20 20 20 20 20 | idx.+.2].=.212;...(............. |
| 15680 | 20 20 20 20 20 20 20 64 61 74 61 5b 69 64 78 20 2b 20 33 5d 20 3d 20 32 35 35 3b 00 00 00 18 20 | .......data[idx.+.3].=.255;..... |
| 156a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 00 00 00 26 20 20 20 20 20 | ...............}.else.{...&..... |
| 156c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 5b 69 64 78 20 2b 20 30 5d 20 3d 20 30 | ...............data[idx.+.0].=.0 |
| 156e0 | 3b 00 00 00 26 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 5b 69 64 | ;...&....................data[id |
| 15700 | 78 20 2b 20 31 5d 20 3d 20 30 3b 00 00 00 26 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | x.+.1].=.0;...&................. |
| 15720 | 20 20 20 64 61 74 61 5b 69 64 78 20 2b 20 32 5d 20 3d 20 30 3b 00 00 00 28 20 20 20 20 20 20 20 | ...data[idx.+.2].=.0;...(....... |
| 15740 | 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 5b 69 64 78 20 2b 20 33 5d 20 3d 20 32 35 35 | .............data[idx.+.3].=.255 |
| 15760 | 3b 00 00 00 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 0d 20 20 20 20 20 20 | ;....................}.......... |
| 15780 | 20 20 20 20 20 20 7d 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 | ......}............}........}... |
| 157a0 | 01 7d 00 00 00 00 00 00 00 1d 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 73 63 72 65 65 | .}........static.void.draw_scree |
| 157c0 | 6e 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 23 20 20 20 20 69 6e 74 20 78 2c 20 79 2c 20 70 69 | n(void)....{...#....int.x,.y,.pi |
| 157e0 | 74 63 68 20 3d 20 77 69 6e 64 6f 77 5f 77 69 64 74 68 3b 00 00 00 04 20 20 20 20 00 00 00 29 20 | tch.=.window_width;...........). |
| 15800 | 20 20 20 66 6f 72 20 28 79 20 3d 20 30 3b 20 79 20 3c 20 77 69 6e 64 6f 77 5f 68 65 69 67 68 74 | ...for.(y.=.0;.y.<.window_height |
| 15820 | 3b 20 79 2b 2b 29 20 7b 00 00 00 2c 20 20 20 20 20 20 20 20 66 6f 72 20 28 78 20 3d 20 30 3b 20 | ;.y++).{...,........for.(x.=.0;. |
| 15840 | 78 20 3c 20 77 69 6e 64 6f 77 5f 77 69 64 74 68 3b 20 78 2b 2b 29 20 7b 00 00 00 2a 20 20 20 20 | x.<.window_width;.x++).{...*.... |
| 15860 | 20 20 20 20 20 20 20 20 69 6e 74 20 69 64 78 20 3d 20 28 79 20 2a 20 70 69 74 63 68 20 2b 20 78 | ........int.idx.=.(y.*.pitch.+.x |
| 15880 | 29 20 2a 20 34 3b 00 00 00 24 20 20 20 20 20 20 20 20 20 20 20 20 70 69 78 65 6c 5f 64 61 74 61 | ).*.4;...$............pixel_data |
| 158a0 | 5b 69 64 78 20 2b 20 30 5d 20 3d 20 30 3b 00 00 00 24 20 20 20 20 20 20 20 20 20 20 20 20 70 69 | [idx.+.0].=.0;...$............pi |
| 158c0 | 78 65 6c 5f 64 61 74 61 5b 69 64 78 20 2b 20 31 5d 20 3d 20 30 3b 00 00 00 24 20 20 20 20 20 20 | xel_data[idx.+.1].=.0;...$...... |
| 158e0 | 20 20 20 20 20 20 70 69 78 65 6c 5f 64 61 74 61 5b 69 64 78 20 2b 20 32 5d 20 3d 20 30 3b 00 00 | ......pixel_data[idx.+.2].=.0;.. |
| 15900 | 00 26 20 20 20 20 20 20 20 20 20 20 20 20 70 69 78 65 6c 5f 64 61 74 61 5b 69 64 78 20 2b 20 33 | .&............pixel_data[idx.+.3 |
| 15920 | 5d 20 3d 20 32 35 35 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 | ].=.255;............}........}.. |
| 15940 | 00 04 20 20 20 20 00 00 00 20 20 20 20 20 66 6f 72 20 28 79 20 3d 20 30 3b 20 79 20 3c 20 72 6f | ..............for.(y.=.0;.y.<.ro |
| 15960 | 77 73 3b 20 79 2b 2b 29 20 7b 00 00 00 24 20 20 20 20 20 20 20 20 66 6f 72 20 28 78 20 3d 20 30 | ws;.y++).{...$........for.(x.=.0 |
| 15980 | 3b 20 78 20 3c 20 63 6f 6c 73 3b 20 78 2b 2b 29 20 7b 00 00 00 3d 20 20 20 20 20 20 20 20 20 20 | ;.x.<.cols;.x++).{...=.......... |
| 159a0 | 20 20 69 6e 74 20 69 73 5f 63 75 72 73 6f 72 20 3d 20 28 79 20 3d 3d 20 63 75 72 73 6f 72 5f 79 | ..int.is_cursor.=.(y.==.cursor_y |
| 159c0 | 20 26 26 20 78 20 3d 3d 20 63 75 72 73 6f 72 5f 78 29 3b 00 00 00 51 20 20 20 20 20 20 20 20 20 | .&&.x.==.cursor_x);...Q......... |
| 159e0 | 20 20 20 64 72 61 77 5f 63 68 61 72 28 70 69 78 65 6c 5f 64 61 74 61 2c 20 70 69 74 63 68 2c 20 | ...draw_char(pixel_data,.pitch,. |
| 15a00 | 78 20 2a 20 38 2c 20 79 20 2a 20 31 36 2c 20 73 63 72 65 65 6e 5b 79 5d 5b 78 5d 2c 20 69 73 5f | x.*.8,.y.*.16,.screen[y][x],.is_ |
| 15a20 | 63 75 72 73 6f 72 29 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 | cursor);............}........}.. |
| 15a40 | 00 01 7d 00 00 00 00 00 00 00 34 73 74 61 74 69 63 20 76 6f 69 64 20 74 65 72 6d 69 6e 61 6c 5f | ..}.......4static.void.terminal_ |
| 15a60 | 77 72 69 74 65 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 62 75 66 2c 20 69 6e 74 20 6c 65 6e 29 00 | write(const.char.*buf,.int.len). |
| 15a80 | 00 00 01 7b 00 00 00 0a 20 20 20 20 69 6e 74 20 69 3b 00 00 00 1f 20 20 20 20 66 6f 72 20 28 69 | ...{........int.i;........for.(i |
| 15aa0 | 20 3d 20 30 3b 20 69 20 3c 20 6c 65 6e 3b 20 69 2b 2b 29 20 7b 00 00 00 18 20 20 20 20 20 20 20 | .=.0;.i.<.len;.i++).{........... |
| 15ac0 | 20 63 68 61 72 20 63 20 3d 20 62 75 66 5b 69 5d 3b 00 00 00 18 20 20 20 20 20 20 20 20 69 66 20 | .char.c.=.buf[i];............if. |
| 15ae0 | 28 63 20 3d 3d 20 27 5c 6e 27 29 20 7b 00 00 00 19 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 | (c.==.'\n').{................cur |
| 15b00 | 73 6f 72 5f 78 20 3d 20 30 3b 00 00 00 17 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 73 6f 72 | sor_x.=.0;................cursor |
| 15b20 | 5f 79 2b 2b 3b 00 00 00 23 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 75 72 73 6f 72 5f | _y++;...#............if.(cursor_ |
| 15b40 | 79 20 3e 3d 20 72 6f 77 73 29 20 7b 00 00 00 24 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | y.>=.rows).{...$................ |
| 15b60 | 63 75 72 73 6f 72 5f 79 20 3d 20 72 6f 77 73 20 2d 20 31 3b 00 00 00 41 20 20 20 20 20 20 20 20 | cursor_y.=.rows.-.1;...A........ |
| 15b80 | 20 20 20 20 20 20 20 20 6d 65 6d 6d 6f 76 65 28 73 63 72 65 65 6e 5b 30 5d 2c 20 73 63 72 65 65 | ........memmove(screen[0],.scree |
| 15ba0 | 6e 5b 31 5d 2c 20 28 72 6f 77 73 20 2d 20 31 29 20 2a 20 63 6f 6c 73 29 3b 00 00 00 34 20 20 20 | n[1],.(rows.-.1).*.cols);...4... |
| 15bc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 6d 73 65 74 28 73 63 72 65 65 6e 5b 72 6f 77 73 20 | .............memset(screen[rows. |
| 15be0 | 2d 20 31 5d 2c 20 27 20 27 2c 20 63 6f 6c 73 29 3b 00 00 00 0d 20 20 20 20 20 20 20 20 20 20 20 | -.1],.'.',.cols);............... |
| 15c00 | 20 7d 00 00 00 1c 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 65 64 5f 72 65 64 72 61 77 20 3d 20 | .}................need_redraw.=. |
| 15c20 | 31 3b 00 00 00 1f 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 63 20 3d 3d 20 27 5c | 1;............}.else.if.(c.==.'\ |
| 15c40 | 72 27 29 20 7b 00 00 00 19 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 73 6f 72 5f 78 20 3d 20 | r').{................cursor_x.=. |
| 15c60 | 30 3b 00 00 00 1c 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 65 64 5f 72 65 64 72 61 77 20 3d 20 | 0;................need_redraw.=. |
| 15c80 | 31 3b 00 00 00 1f 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 63 20 3d 3d 20 27 5c | 1;............}.else.if.(c.==.'\ |
| 15ca0 | 62 27 29 20 7b 00 00 00 1f 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 75 72 73 6f 72 5f | b').{................if.(cursor_ |
| 15cc0 | 78 20 3e 20 30 29 20 7b 00 00 00 1b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 73 | x.>.0).{....................curs |
| 15ce0 | 6f 72 5f 78 2d 2d 3b 00 00 00 31 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 63 72 65 65 | or_x--;...1................scree |
| 15d00 | 6e 5b 63 75 72 73 6f 72 5f 79 5d 5b 63 75 72 73 6f 72 5f 78 5d 20 3d 20 27 20 27 3b 00 00 00 20 | n[cursor_y][cursor_x].=.'.';.... |
| 15d20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 65 64 5f 72 65 64 72 61 77 20 3d 20 31 3b | ................need_redraw.=.1; |
| 15d40 | 00 00 00 0d 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 28 20 20 20 20 20 20 20 20 7d 20 65 | ................}...(........}.e |
| 15d60 | 6c 73 65 20 69 66 20 28 63 20 3e 3d 20 33 32 20 26 26 20 63 20 3c 20 31 32 37 29 20 7b 00 00 00 | lse.if.(c.>=.32.&&.c.<.127).{... |
| 15d80 | 2b 20 20 20 20 20 20 20 20 20 20 20 20 73 63 72 65 65 6e 5b 63 75 72 73 6f 72 5f 79 5d 5b 63 75 | +............screen[cursor_y][cu |
| 15da0 | 72 73 6f 72 5f 78 5d 20 3d 20 63 3b 00 00 00 17 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 73 | rsor_x].=.c;................curs |
| 15dc0 | 6f 72 5f 78 2b 2b 3b 00 00 00 23 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 75 72 73 6f | or_x++;...#............if.(curso |
| 15de0 | 72 5f 78 20 3e 3d 20 63 6f 6c 73 29 20 7b 00 00 00 1d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | r_x.>=.cols).{.................. |
| 15e00 | 20 20 63 75 72 73 6f 72 5f 78 20 3d 20 30 3b 00 00 00 1b 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..cursor_x.=.0;................. |
| 15e20 | 20 20 20 63 75 72 73 6f 72 5f 79 2b 2b 3b 00 00 00 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ...cursor_y++;...'.............. |
| 15e40 | 20 20 69 66 20 28 63 75 72 73 6f 72 5f 79 20 3e 3d 20 72 6f 77 73 29 20 7b 00 00 00 28 20 20 20 | ..if.(cursor_y.>=.rows).{...(... |
| 15e60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 73 6f 72 5f 79 20 3d 20 72 6f 77 73 | .................cursor_y.=.rows |
| 15e80 | 20 2d 20 31 3b 00 00 00 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 6d | .-.1;...E....................mem |
| 15ea0 | 6d 6f 76 65 28 73 63 72 65 65 6e 5b 30 5d 2c 20 73 63 72 65 65 6e 5b 31 5d 2c 20 28 72 6f 77 73 | move(screen[0],.screen[1],.(rows |
| 15ec0 | 20 2d 20 31 29 20 2a 20 63 6f 6c 73 29 3b 00 00 00 38 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .-.1).*.cols);...8.............. |
| 15ee0 | 20 20 20 20 20 20 6d 65 6d 73 65 74 28 73 63 72 65 65 6e 5b 72 6f 77 73 20 2d 20 31 5d 2c 20 27 | ......memset(screen[rows.-.1],.' |
| 15f00 | 20 27 2c 20 63 6f 6c 73 29 3b 00 00 00 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 | .',.cols);....................}. |
| 15f20 | 00 00 0d 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 1c 20 20 20 20 20 20 20 20 20 20 20 20 | ...............}................ |
| 15f40 | 6e 65 65 64 5f 72 65 64 72 61 77 20 3d 20 31 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 | need_redraw.=.1;............}... |
| 15f60 | 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 27 73 74 61 74 69 63 20 69 6e 74 20 63 72 | .....}....}.......'static.int.cr |
| 15f80 | 65 61 74 65 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 00 00 00 01 7b 00 | eate_shm_file(size_t.size)....{. |
| 15fa0 | 00 00 0b 20 20 20 20 69 6e 74 20 66 64 3b 00 00 00 2b 20 20 20 20 63 68 61 72 20 74 65 6d 70 6c | .......int.fd;...+....char.templ |
| 15fc0 | 61 74 65 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 6c 2d 73 68 6d 2d 58 58 58 58 58 58 22 3b 00 00 00 | ate[].=."/tmp/wl-shm-XXXXXX";... |
| 15fe0 | 04 20 20 20 20 00 00 00 1b 20 20 20 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 65 6d 70 6c 61 | .............fd.=.mkstemp(templa |
| 16000 | 74 65 29 3b 00 00 00 1a 20 20 20 20 69 66 20 28 66 64 20 3c 20 30 29 20 72 65 74 75 72 6e 20 2d | te);........if.(fd.<.0).return.- |
| 16020 | 31 3b 00 00 00 29 20 20 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 28 6f 66 66 | 1;...)....if.(ftruncate(fd,.(off |
| 16040 | 5f 74 29 73 69 7a 65 29 20 3c 20 30 29 20 7b 00 00 00 12 20 20 20 20 20 20 20 20 63 6c 6f 73 65 | _t)size).<.0).{............close |
| 16060 | 28 66 64 29 3b 00 00 00 12 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 2d 31 3b 00 00 00 05 20 | (fd);............return.-1;..... |
| 16080 | 20 20 20 7d 00 00 00 15 20 20 20 20 75 6e 6c 69 6e 6b 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 | ...}........unlink(template);... |
| 160a0 | 0e 20 20 20 20 72 65 74 75 72 6e 20 66 64 3b 00 00 00 01 7d 00 00 00 00 00 00 00 3d 73 74 61 74 | .....return.fd;....}.......=stat |
| 160c0 | 69 63 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 63 72 65 61 74 65 5f 62 75 66 66 | ic.struct.wl_buffer.*create_buff |
| 160e0 | 65 72 28 69 6e 74 20 77 69 64 74 68 2c 20 69 6e 74 20 68 65 69 67 68 74 29 00 00 00 01 7b 00 00 | er(int.width,.int.height)....{.. |
| 16100 | 00 1b 20 20 20 20 69 6e 74 20 73 74 72 69 64 65 20 3d 20 77 69 64 74 68 20 2a 20 34 3b 00 00 00 | ......int.stride.=.width.*.4;... |
| 16120 | 1f 20 20 20 20 69 6e 74 20 73 69 7a 65 20 3d 20 73 74 72 69 64 65 20 2a 20 68 65 69 67 68 74 3b | .....int.size.=.stride.*.height; |
| 16140 | 00 00 00 0b 20 20 20 20 69 6e 74 20 66 64 3b 00 00 00 1d 20 20 20 20 73 74 72 75 63 74 20 77 6c | ........int.fd;........struct.wl |
| 16160 | 5f 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 3b 00 00 00 1d 20 20 20 20 73 74 72 75 63 74 20 77 | _shm_pool.*pool;........struct.w |
| 16180 | 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 66 65 72 3b 00 00 00 04 20 20 20 20 00 00 00 1f 20 20 20 | l_buffer.*buffer;............... |
| 161a0 | 20 66 64 20 3d 20 63 72 65 61 74 65 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 29 3b 00 00 00 1c | .fd.=.create_shm_file(size);.... |
| 161c0 | 20 20 20 20 69 66 20 28 66 64 20 3c 20 30 29 20 72 65 74 75 72 6e 20 4e 55 4c 4c 3b 00 00 00 04 | ....if.(fd.<.0).return.NULL;.... |
| 161e0 | 20 20 20 20 00 00 00 4d 20 20 20 20 70 69 78 65 6c 5f 64 61 74 61 20 3d 20 6d 6d 61 70 28 4e 55 | .......M....pixel_data.=.mmap(NU |
| 16200 | 4c 4c 2c 20 73 69 7a 65 2c 20 50 52 4f 54 5f 52 45 41 44 20 7c 20 50 52 4f 54 5f 57 52 49 54 45 | LL,.size,.PROT_READ.|.PROT_WRITE |
| 16220 | 2c 20 4d 41 50 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 23 20 20 20 20 69 66 20 | ,.MAP_SHARED,.fd,.0);...#....if. |
| 16240 | 28 70 69 78 65 6c 5f 64 61 74 61 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 20 7b 00 00 00 12 | (pixel_data.==.MAP_FAILED).{.... |
| 16260 | 20 20 20 20 20 20 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 14 20 20 20 20 20 20 20 20 72 65 | ........close(fd);............re |
| 16280 | 74 75 72 6e 20 4e 55 4c 4c 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 2d 20 | turn.NULL;........}...........-. |
| 162a0 | 20 20 20 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 73 68 6d | ...pool.=.wl_shm_create_pool(shm |
| 162c0 | 2c 20 66 64 2c 20 73 69 7a 65 29 3b 00 00 00 5f 20 20 20 20 62 75 66 66 65 72 20 3d 20 77 6c 5f | ,.fd,.size);..._....buffer.=.wl_ |
| 162e0 | 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 20 30 2c 20 | shm_pool_create_buffer(pool,.0,. |
| 16300 | 77 69 64 74 68 2c 20 68 65 69 67 68 74 2c 20 73 74 72 69 64 65 2c 20 57 4c 5f 53 48 4d 5f 46 4f | width,.height,.stride,.WL_SHM_FO |
| 16320 | 52 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 1e 20 20 20 20 77 6c 5f 73 68 6d 5f 70 6f | RMAT_ARGB8888);........wl_shm_po |
| 16340 | 6f 6c 5f 64 65 73 74 72 6f 79 28 70 6f 6f 6c 29 3b 00 00 00 0e 20 20 20 20 63 6c 6f 73 65 28 66 | ol_destroy(pool);........close(f |
| 16360 | 64 29 3b 00 00 00 04 20 20 20 20 00 00 00 12 20 20 20 20 72 65 74 75 72 6e 20 62 75 66 66 65 72 | d);................return.buffer |
| 16380 | 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 64 65 73 74 72 6f | ;....}........static.void.destro |
| 163a0 | 79 5f 62 75 66 66 65 72 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 18 20 20 20 20 69 66 20 28 77 | y_buffer(void)....{........if.(w |
| 163c0 | 69 6e 64 6f 77 5f 62 75 66 66 65 72 29 20 7b 00 00 00 29 20 20 20 20 20 20 20 20 77 6c 5f 62 75 | indow_buffer).{...)........wl_bu |
| 163e0 | 66 66 65 72 5f 64 65 73 74 72 6f 79 28 77 69 6e 64 6f 77 5f 62 75 66 66 65 72 29 3b 00 00 00 1d | ffer_destroy(window_buffer);.... |
| 16400 | 20 20 20 20 20 20 20 20 77 69 6e 64 6f 77 5f 62 75 66 66 65 72 20 3d 20 4e 55 4c 4c 3b 00 00 00 | ........window_buffer.=.NULL;... |
| 16420 | 05 20 20 20 20 7d 00 00 00 15 20 20 20 20 69 66 20 28 70 69 78 65 6c 5f 64 61 74 61 29 20 7b 00 | .....}........if.(pixel_data).{. |
| 16440 | 00 00 3d 20 20 20 20 20 20 20 20 6d 75 6e 6d 61 70 28 70 69 78 65 6c 5f 64 61 74 61 2c 20 77 69 | ..=........munmap(pixel_data,.wi |
| 16460 | 6e 64 6f 77 5f 77 69 64 74 68 20 2a 20 77 69 6e 64 6f 77 5f 68 65 69 67 68 74 20 2a 20 34 29 3b | ndow_width.*.window_height.*.4); |
| 16480 | 00 00 00 1a 20 20 20 20 20 20 20 20 70 69 78 65 6c 5f 64 61 74 61 20 3d 20 4e 55 4c 4c 3b 00 00 | ............pixel_data.=.NULL;.. |
| 164a0 | 00 05 20 20 20 20 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 | ......}....}.......0static.void. |
| 164c0 | 72 65 73 69 7a 65 5f 77 69 6e 64 6f 77 28 69 6e 74 20 77 69 64 74 68 2c 20 69 6e 74 20 68 65 69 | resize_window(int.width,.int.hei |
| 164e0 | 67 68 74 29 00 00 00 01 7b 00 00 00 15 20 20 20 20 63 6f 6c 73 20 3d 20 77 69 64 74 68 20 2f 20 | ght)....{........cols.=.width./. |
| 16500 | 38 3b 00 00 00 17 20 20 20 20 72 6f 77 73 20 3d 20 68 65 69 67 68 74 20 2f 20 31 36 3b 00 00 00 | 8;........rows.=.height./.16;... |
| 16520 | 1d 20 20 20 20 69 66 20 28 63 6f 6c 73 20 3c 20 31 30 29 20 63 6f 6c 73 20 3d 20 31 30 3b 00 00 | .....if.(cols.<.10).cols.=.10;.. |
| 16540 | 00 1b 20 20 20 20 69 66 20 28 72 6f 77 73 20 3c 20 35 29 20 72 6f 77 73 20 3d 20 35 3b 00 00 00 | ......if.(rows.<.5).rows.=.5;... |
| 16560 | 04 20 20 20 20 00 00 00 15 20 20 20 20 64 65 73 74 72 6f 79 5f 62 75 66 66 65 72 28 29 3b 00 00 | .............destroy_buffer();.. |
| 16580 | 00 1c 20 20 20 20 77 69 6e 64 6f 77 5f 77 69 64 74 68 20 3d 20 63 6f 6c 73 20 2a 20 38 3b 00 00 | ......window_width.=.cols.*.8;.. |
| 165a0 | 00 1e 20 20 20 20 77 69 6e 64 6f 77 5f 68 65 69 67 68 74 20 3d 20 72 6f 77 73 20 2a 20 31 36 3b | ......window_height.=.rows.*.16; |
| 165c0 | 00 00 00 3f 20 20 20 20 77 69 6e 64 6f 77 5f 62 75 66 66 65 72 20 3d 20 63 72 65 61 74 65 5f 62 | ...?....window_buffer.=.create_b |
| 165e0 | 75 66 66 65 72 28 77 69 6e 64 6f 77 5f 77 69 64 74 68 2c 20 77 69 6e 64 6f 77 5f 68 65 69 67 68 | uffer(window_width,.window_heigh |
| 16600 | 74 29 3b 00 00 00 14 20 20 20 20 6e 65 65 64 5f 72 65 64 72 61 77 20 3d 20 31 3b 00 00 00 04 20 | t);........need_redraw.=.1;..... |
| 16620 | 20 20 20 00 00 00 1a 20 20 20 20 69 66 20 28 70 74 79 5f 6d 61 73 74 65 72 20 3e 3d 20 30 29 20 | ...........if.(pty_master.>=.0). |
| 16640 | 7b 00 00 00 3f 20 20 20 20 20 20 20 20 73 74 72 75 63 74 20 77 69 6e 73 69 7a 65 20 77 73 20 3d | {...?........struct.winsize.ws.= |
| 16660 | 20 7b 20 2e 77 73 5f 72 6f 77 20 3d 20 72 6f 77 73 2c 20 2e 77 73 5f 63 6f 6c 20 3d 20 63 6f 6c | .{..ws_row.=.rows,..ws_col.=.col |
| 16680 | 73 20 7d 3b 00 00 00 2b 20 20 20 20 20 20 20 20 69 6f 63 74 6c 28 70 74 79 5f 6d 61 73 74 65 72 | s.};...+........ioctl(pty_master |
| 166a0 | 2c 20 54 49 4f 43 53 57 49 4e 53 5a 2c 20 26 77 73 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 | ,.TIOCSWINSZ,.&ws);........}.... |
| 166c0 | 7d 00 00 00 00 00 00 00 4f 73 74 61 74 69 63 20 76 6f 69 64 20 66 72 61 6d 65 5f 64 6f 6e 65 28 | }.......Ostatic.void.frame_done( |
| 166e0 | 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 20 2a | void.*data,.struct.wl_callback.* |
| 16700 | 63 61 6c 6c 62 61 63 6b 2c 20 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 29 00 00 00 01 7b 00 00 00 | callback,.uint32_t.time)....{... |
| 16720 | 30 20 20 20 20 69 66 20 28 63 61 6c 6c 62 61 63 6b 29 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 5f 64 | 0....if.(callback).wl_callback_d |
| 16740 | 65 73 74 72 6f 79 28 63 61 6c 6c 62 61 63 6b 29 3b 00 00 00 04 20 20 20 20 00 00 00 17 20 20 20 | estroy(callback);............... |
| 16760 | 20 69 66 20 28 6e 65 65 64 73 5f 72 65 73 69 7a 65 29 20 7b 00 00 00 35 20 20 20 20 20 20 20 20 | .if.(needs_resize).{...5........ |
| 16780 | 72 65 73 69 7a 65 5f 77 69 6e 64 6f 77 28 70 65 6e 64 69 6e 67 5f 77 69 64 74 68 2c 20 70 65 6e | resize_window(pending_width,.pen |
| 167a0 | 64 69 6e 67 5f 68 65 69 67 68 74 29 3b 00 00 00 2b 20 20 20 20 20 20 20 20 70 65 6e 64 69 6e 67 | ding_height);...+........pending |
| 167c0 | 5f 77 69 64 74 68 20 3d 20 70 65 6e 64 69 6e 67 5f 68 65 69 67 68 74 20 3d 20 30 3b 00 00 00 19 | _width.=.pending_height.=.0;.... |
| 167e0 | 20 20 20 20 20 20 20 20 6e 65 65 64 73 5f 72 65 73 69 7a 65 20 3d 20 30 3b 00 00 00 05 20 20 20 | ........needs_resize.=.0;....... |
| 16800 | 20 7d 00 00 00 04 20 20 20 20 00 00 00 24 20 20 20 20 69 66 20 28 6e 65 65 64 5f 72 65 64 72 61 | .}...........$....if.(need_redra |
| 16820 | 77 20 26 26 20 70 69 78 65 6c 5f 64 61 74 61 29 20 7b 00 00 00 16 20 20 20 20 20 20 20 20 64 72 | w.&&.pixel_data).{............dr |
| 16840 | 61 77 5f 73 63 72 65 65 6e 28 29 3b 00 00 00 18 20 20 20 20 20 20 20 20 6e 65 65 64 5f 72 65 64 | aw_screen();............need_red |
| 16860 | 72 61 77 20 3d 20 30 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 18 20 20 20 | raw.=.0;........}............... |
| 16880 | 20 69 66 20 28 77 69 6e 64 6f 77 5f 62 75 66 66 65 72 29 20 7b 00 00 00 38 20 20 20 20 20 20 20 | .if.(window_buffer).{...8....... |
| 168a0 | 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 73 75 72 66 61 63 65 2c 20 77 69 6e 64 | .wl_surface_attach(surface,.wind |
| 168c0 | 6f 77 5f 62 75 66 66 65 72 2c 20 30 2c 20 30 29 3b 00 00 00 46 20 20 20 20 20 20 20 20 77 6c 5f | ow_buffer,.0,.0);...F........wl_ |
| 168e0 | 73 75 72 66 61 63 65 5f 64 61 6d 61 67 65 28 73 75 72 66 61 63 65 2c 20 30 2c 20 30 2c 20 77 69 | surface_damage(surface,.0,.0,.wi |
| 16900 | 6e 64 6f 77 5f 77 69 64 74 68 2c 20 77 69 6e 64 6f 77 5f 68 65 69 67 68 74 29 3b 00 00 00 23 20 | ndow_width,.window_height);...#. |
| 16920 | 20 20 20 20 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 73 75 72 66 61 63 65 | .......wl_surface_commit(surface |
| 16940 | 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 55 20 20 20 20 73 74 61 74 69 | );........}...........U....stati |
| 16960 | 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 5f 6c 69 73 74 65 | c.const.struct.wl_callback_liste |
| 16980 | 6e 65 72 20 66 72 61 6d 65 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 20 2e 64 6f 6e 65 20 3d 20 66 | ner.frame_listener.=.{..done.=.f |
| 169a0 | 72 61 6d 65 5f 64 6f 6e 65 20 7d 3b 00 00 00 2f 20 20 20 20 66 72 61 6d 65 5f 63 61 6c 6c 62 61 | rame_done.};.../....frame_callba |
| 169c0 | 63 6b 20 3d 20 77 6c 5f 73 75 72 66 61 63 65 5f 66 72 61 6d 65 28 73 75 72 66 61 63 65 29 3b 00 | ck.=.wl_surface_frame(surface);. |
| 169e0 | 00 00 44 20 20 20 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 | ..D....wl_callback_add_listener( |
| 16a00 | 66 72 61 6d 65 5f 63 61 6c 6c 62 61 63 6b 2c 20 26 66 72 61 6d 65 5f 6c 69 73 74 65 6e 65 72 2c | frame_callback,.&frame_listener, |
| 16a20 | 20 4e 55 4c 4c 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 53 73 74 61 74 69 63 20 76 6f 69 64 20 | .NULL);....}.......Sstatic.void. |
| 16a40 | 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 69 6e 67 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 | xdg_wm_base_ping(void.*data,.str |
| 16a60 | 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 62 61 73 65 2c 20 75 69 6e 74 33 32 5f 74 20 | uct.xdg_wm_base.*base,.uint32_t. |
| 16a80 | 73 65 72 69 61 6c 29 00 00 00 01 7b 00 00 00 23 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f | serial)....{...#....xdg_wm_base_ |
| 16aa0 | 70 6f 6e 67 28 62 61 73 65 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 59 | pong(base,.serial);....}.......Y |
| 16ac0 | 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 5f | static.const.struct.xdg_wm_base_ |
| 16ae0 | 6c 69 73 74 65 6e 65 72 20 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 20 2e 70 | listener.wm_base_listener.=.{..p |
| 16b00 | 69 6e 67 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 69 6e 67 20 7d 3b 00 00 00 00 00 00 00 | ing.=.xdg_wm_base_ping.};....... |
| 16b20 | 4d 73 74 61 74 69 63 20 76 6f 69 64 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 63 6f 6e 66 69 67 | Mstatic.void.xdg_toplevel_config |
| 16b40 | 75 72 65 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 | ure(void.*data,.struct.xdg_tople |
| 16b60 | 76 65 6c 20 2a 74 6f 70 6c 65 76 65 6c 2c 00 00 00 51 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | vel.*toplevel,...Q.............. |
| 16b80 | 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 77 2c 20 | .....................int32_t.w,. |
| 16ba0 | 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 73 74 61 74 | int32_t.h,.struct.wl_array.*stat |
| 16bc0 | 65 73 29 00 00 00 01 7b 00 00 00 19 20 20 20 20 69 66 20 28 77 20 3e 20 30 20 26 26 20 68 20 3e | es)....{........if.(w.>.0.&&.h.> |
| 16be0 | 20 30 29 20 7b 00 00 00 1a 20 20 20 20 20 20 20 20 70 65 6e 64 69 6e 67 5f 77 69 64 74 68 20 3d | .0).{............pending_width.= |
| 16c00 | 20 77 3b 00 00 00 1b 20 20 20 20 20 20 20 20 70 65 6e 64 69 6e 67 5f 68 65 69 67 68 74 20 3d 20 | .w;............pending_height.=. |
| 16c20 | 68 3b 00 00 00 19 20 20 20 20 20 20 20 20 6e 65 65 64 73 5f 72 65 73 69 7a 65 20 3d 20 31 3b 00 | h;............needs_resize.=.1;. |
| 16c40 | 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 49 73 74 61 74 69 63 20 76 6f 69 64 | .......}....}.......Istatic.void |
| 16c60 | 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 63 6c 6f 73 65 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 | .xdg_toplevel_close(void.*data,. |
| 16c80 | 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 74 6f 70 6c 65 76 65 6c 29 00 00 | struct.xdg_toplevel.*toplevel).. |
| 16ca0 | 00 01 7b 00 00 00 10 20 20 20 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 00 00 00 01 7d 00 00 00 00 | ..{........running.=.0;....}.... |
| 16cc0 | 00 00 00 3f 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 | ...?static.const.struct.xdg_topl |
| 16ce0 | 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 | evel_listener.toplevel_listener. |
| 16d00 | 3d 20 7b 00 00 00 28 20 20 20 20 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 64 67 5f 74 6f 70 6c | =.{...(.....configure.=.xdg_topl |
| 16d20 | 65 76 65 6c 5f 63 6f 6e 66 69 67 75 72 65 2c 00 00 00 20 20 20 20 20 2e 63 6c 6f 73 65 20 3d 20 | evel_configure,.........close.=. |
| 16d40 | 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 63 6c 6f 73 65 2c 00 00 00 02 7d 3b 00 00 00 00 00 00 00 | xdg_toplevel_close,....};....... |
| 16d60 | 5b 73 74 61 74 69 63 20 76 6f 69 64 20 78 64 67 5f 73 75 72 66 61 63 65 5f 63 6f 6e 66 69 67 75 | [static.void.xdg_surface_configu |
| 16d80 | 72 65 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 | re(void.*data,.struct.xdg_surfac |
| 16da0 | 65 20 2a 73 75 72 66 61 63 65 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 00 00 00 01 | e.*surface,.uint32_t.serial).... |
| 16dc0 | 7b 00 00 00 2f 20 20 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 | {.../....xdg_surface_ack_configu |
| 16de0 | 72 65 28 73 75 72 66 61 63 65 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 19 20 20 20 20 69 66 20 28 | re(surface,.serial);........if.( |
| 16e00 | 21 77 69 6e 64 6f 77 5f 62 75 66 66 65 72 29 20 7b 00 00 00 43 20 20 20 20 20 20 20 20 77 69 6e | !window_buffer).{...C........win |
| 16e20 | 64 6f 77 5f 62 75 66 66 65 72 20 3d 20 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 77 69 6e 64 6f | dow_buffer.=.create_buffer(windo |
| 16e40 | 77 5f 77 69 64 74 68 2c 20 77 69 6e 64 6f 77 5f 68 65 69 67 68 74 29 3b 00 00 00 22 20 20 20 20 | w_width,.window_height);...".... |
| 16e60 | 20 20 20 20 66 72 61 6d 65 5f 64 6f 6e 65 28 4e 55 4c 4c 2c 20 4e 55 4c 4c 2c 20 30 29 3b 00 00 | ....frame_done(NULL,.NULL,.0);.. |
| 16e80 | 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 67 73 74 61 74 69 63 20 63 6f 6e 73 74 | ......}....}.......gstatic.const |
| 16ea0 | 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 64 67 | .struct.xdg_surface_listener.xdg |
| 16ec0 | 5f 73 75 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 20 2e 63 6f 6e 66 69 67 75 72 65 | _surface_listener.=.{..configure |
| 16ee0 | 20 3d 20 78 64 67 5f 73 75 72 66 61 63 65 5f 63 6f 6e 66 69 67 75 72 65 20 7d 3b 00 00 00 00 00 | .=.xdg_surface_configure.};..... |
| 16f00 | 00 00 42 73 74 61 74 69 63 20 76 6f 69 64 20 6b 65 79 62 6f 61 72 64 5f 6b 65 79 28 76 6f 69 64 | ..Bstatic.void.keyboard_key(void |
| 16f20 | 20 2a 64 61 74 61 2c 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 | .*data,.struct.wl_keyboard.*keyb |
| 16f40 | 6f 61 72 64 2c 00 00 00 56 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | oard,...V....................... |
| 16f60 | 20 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 69 6d 65 | ..uint32_t.serial,.uint32_t.time |
| 16f80 | 2c 20 75 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 00 | ,.uint32_t.key,.uint32_t.state). |
| 16fa0 | 00 00 01 7b 00 00 00 44 20 20 20 20 69 66 20 28 73 74 61 74 65 20 3d 3d 20 57 4c 5f 4b 45 59 42 | ...{...D....if.(state.==.WL_KEYB |
| 16fc0 | 4f 41 52 44 5f 4b 45 59 5f 53 54 41 54 45 5f 50 52 45 53 53 45 44 20 26 26 20 70 74 79 5f 6d 61 | OARD_KEY_STATE_PRESSED.&&.pty_ma |
| 16fe0 | 73 74 65 72 20 3e 3d 20 30 29 20 7b 00 00 00 13 20 20 20 20 20 20 20 20 63 68 61 72 20 63 20 3d | ster.>=.0).{............char.c.= |
| 17000 | 20 30 3b 00 00 00 3f 20 20 20 20 20 20 20 20 69 66 20 28 6b 65 79 20 3e 3d 20 38 20 26 26 20 6b | .0;...?........if.(key.>=.8.&&.k |
| 17020 | 65 79 20 3c 3d 20 39 29 20 63 20 3d 20 28 6b 65 79 20 3d 3d 20 38 29 20 3f 20 30 78 37 66 20 3a | ey.<=.9).c.=.(key.==.8).?.0x7f.: |
| 17040 | 20 27 5c 74 27 3b 00 00 00 44 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 6b 65 79 20 3e | .'\t';...D........else.if.(key.> |
| 17060 | 3d 20 31 36 20 26 26 20 6b 65 79 20 3c 3d 20 32 35 29 20 63 20 3d 20 22 71 77 65 72 74 79 75 69 | =.16.&&.key.<=.25).c.=."qwertyui |
| 17080 | 6f 70 22 5b 6b 65 79 20 2d 20 31 36 5d 3b 00 00 00 43 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 | op"[key.-.16];...C........else.i |
| 170a0 | 66 20 28 6b 65 79 20 3e 3d 20 32 36 20 26 26 20 6b 65 79 20 3c 3d 20 33 35 29 20 63 20 3d 20 22 | f.(key.>=.26.&&.key.<=.35).c.=." |
| 170c0 | 61 73 64 66 67 68 6a 6b 6c 22 5b 6b 65 79 20 2d 20 32 36 5d 3b 00 00 00 41 20 20 20 20 20 20 20 | asdfghjkl"[key.-.26];...A....... |
| 170e0 | 20 65 6c 73 65 20 69 66 20 28 6b 65 79 20 3e 3d 20 33 36 20 26 26 20 6b 65 79 20 3c 3d 20 34 35 | .else.if.(key.>=.36.&&.key.<=.45 |
| 17100 | 29 20 63 20 3d 20 22 7a 78 63 76 62 6e 6d 22 5b 6b 65 79 20 2d 20 33 36 5d 3b 00 00 00 44 20 20 | ).c.=."zxcvbnm"[key.-.36];...D.. |
| 17120 | 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 6b 65 79 20 3e 3d 20 34 36 20 26 26 20 6b 65 79 20 | ......else.if.(key.>=.46.&&.key. |
| 17140 | 3c 3d 20 35 35 29 20 63 20 3d 20 22 30 31 32 33 34 35 36 37 38 39 22 5b 6b 65 79 20 2d 20 34 36 | <=.55).c.=."0123456789"[key.-.46 |
| 17160 | 5d 3b 00 00 00 24 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 6b 65 79 20 3d 3d 20 35 37 | ];...$........else.if.(key.==.57 |
| 17180 | 29 20 63 20 3d 20 27 20 27 3b 00 00 00 25 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 6b | ).c.=.'.';...%........else.if.(k |
| 171a0 | 65 79 20 3d 3d 20 35 38 29 20 63 20 3d 20 27 5c 6e 27 3b 00 00 00 25 20 20 20 20 20 20 20 20 65 | ey.==.58).c.=.'\n';...%........e |
| 171c0 | 6c 73 65 20 69 66 20 28 6b 65 79 20 3d 3d 20 31 34 29 20 63 20 3d 20 27 5c 62 27 3b 00 00 00 28 | lse.if.(key.==.14).c.=.'\b';...( |
| 171e0 | 20 20 20 20 20 20 20 20 69 66 20 28 63 29 20 77 72 69 74 65 28 70 74 79 5f 6d 61 73 74 65 72 2c | ........if.(c).write(pty_master, |
| 17200 | 20 26 63 2c 20 31 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 3e 73 74 | .&c,.1);........}....}.......>st |
| 17220 | 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 6c 69 | atic.const.struct.wl_keyboard_li |
| 17240 | 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 00 00 58 | stener.keyboard_listener.=.{...X |
| 17260 | 20 20 20 20 2e 6b 65 79 6d 61 70 20 3d 20 4e 55 4c 4c 2c 20 2e 65 6e 74 65 72 20 3d 20 4e 55 4c | .....keymap.=.NULL,..enter.=.NUL |
| 17280 | 4c 2c 20 2e 6c 65 61 76 65 20 3d 20 4e 55 4c 4c 2c 20 2e 6b 65 79 20 3d 20 6b 65 79 62 6f 61 72 | L,..leave.=.NULL,..key.=.keyboar |
| 172a0 | 64 5f 6b 65 79 2c 20 2e 6d 6f 64 69 66 69 65 72 73 20 3d 20 4e 55 4c 4c 00 00 00 02 7d 3b 00 00 | d_key,..modifiers.=.NULL....};.. |
| 172c0 | 00 00 00 00 00 4e 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 61 74 5f 63 61 70 61 62 69 6c 69 74 | .....Nstatic.void.seat_capabilit |
| 172e0 | 69 65 73 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 73 65 61 74 20 2a | ies(void.*data,.struct.wl_seat.* |
| 17300 | 73 65 61 74 2c 20 75 69 6e 74 33 32 5f 74 20 63 61 70 73 29 00 00 00 01 7b 00 00 00 2d 20 20 20 | seat,.uint32_t.caps)....{...-... |
| 17320 | 20 69 66 20 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 4b | .if.(caps.&.WL_SEAT_CAPABILITY_K |
| 17340 | 45 59 42 4f 41 52 44 29 20 7b 00 00 00 2e 20 20 20 20 20 20 20 20 6b 65 79 62 6f 61 72 64 20 3d | EYBOARD).{............keyboard.= |
| 17360 | 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 00 00 00 45 | .wl_seat_get_keyboard(seat);...E |
| 17380 | 20 20 20 20 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 | ........wl_keyboard_add_listener |
| 173a0 | 28 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 2c 20 4e | (keyboard,.&keyboard_listener,.N |
| 173c0 | 55 4c 4c 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 5b 73 74 61 74 69 | ULL);........}....}.......[stati |
| 173e0 | 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 20 | c.const.struct.wl_seat_listener. |
| 17400 | 73 65 61 74 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 20 2e 63 61 70 61 62 69 6c 69 74 69 65 73 20 | seat_listener.=.{..capabilities. |
| 17420 | 3d 20 73 65 61 74 5f 63 61 70 61 62 69 6c 69 74 69 65 73 20 7d 3b 00 00 00 00 00 00 00 43 73 74 | =.seat_capabilities.};.......Cst |
| 17440 | 61 74 69 63 20 76 6f 69 64 20 68 61 6e 64 6c 65 5f 67 6c 6f 62 61 6c 28 76 6f 69 64 20 2a 64 61 | atic.void.handle_global(void.*da |
| 17460 | 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 69 73 74 72 79 | ta,.struct.wl_registry.*registry |
| 17480 | 2c 00 00 00 51 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 75 | ,...Q..........................u |
| 174a0 | 69 6e 74 33 32 5f 74 20 6e 61 6d 65 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 6e 74 65 72 66 | int32_t.name,.const.char.*interf |
| 174c0 | 61 63 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 65 72 73 69 6f 6e 29 00 00 00 01 7b 00 00 00 30 20 | ace,.uint32_t.version)....{...0. |
| 174e0 | 20 20 20 69 66 20 28 73 74 72 63 6d 70 28 69 6e 74 65 72 66 61 63 65 2c 20 22 77 6c 5f 63 6f 6d | ...if.(strcmp(interface,."wl_com |
| 17500 | 70 6f 73 69 74 6f 72 22 29 20 3d 3d 20 30 29 00 00 00 53 20 20 20 20 20 20 20 20 63 6f 6d 70 6f | positor").==.0)...S........compo |
| 17520 | 73 69 74 6f 72 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 69 73 74 72 | sitor.=.wl_registry_bind(registr |
| 17540 | 79 2c 20 6e 61 6d 65 2c 20 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 69 6e 74 65 72 66 61 63 | y,.name,.&wl_compositor_interfac |
| 17560 | 65 2c 20 34 29 3b 00 00 00 2e 20 20 20 20 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d 70 28 69 6e | e,.4);........else.if.(strcmp(in |
| 17580 | 74 65 72 66 61 63 65 2c 20 22 77 6c 5f 73 68 6d 22 29 20 3d 3d 20 30 29 00 00 00 45 20 20 20 20 | terface,."wl_shm").==.0)...E.... |
| 175a0 | 20 20 20 20 73 68 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 69 73 | ....shm.=.wl_registry_bind(regis |
| 175c0 | 74 72 79 2c 20 6e 61 6d 65 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 | try,.name,.&wl_shm_interface,.1) |
| 175e0 | 3b 00 00 00 35 20 20 20 20 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d 70 28 69 6e 74 65 72 66 61 | ;...5....else.if.(strcmp(interfa |
| 17600 | 63 65 2c 20 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 20 3d 3d 20 30 29 20 7b 00 00 00 4e 20 20 | ce,."xdg_wm_base").==.0).{...N.. |
| 17620 | 20 20 20 20 20 20 77 6d 5f 62 61 73 65 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 | ......wm_base.=.wl_registry_bind |
| 17640 | 28 72 65 67 69 73 74 72 79 2c 20 6e 61 6d 65 2c 20 26 78 64 67 5f 77 6d 5f 62 61 73 65 5f 69 6e | (registry,.name,.&xdg_wm_base_in |
| 17660 | 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 43 20 20 20 20 20 20 20 20 78 64 67 5f 77 6d 5f 62 | terface,.1);...C........xdg_wm_b |
| 17680 | 61 73 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 77 6d 5f 62 61 73 65 2c 20 26 77 6d 5f 62 61 | ase_add_listener(wm_base,.&wm_ba |
| 176a0 | 73 65 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 33 20 20 20 20 7d 20 65 6c 73 | se_listener,.NULL);...3....}.els |
| 176c0 | 65 20 69 66 20 28 73 74 72 63 6d 70 28 69 6e 74 65 72 66 61 63 65 2c 20 22 77 6c 5f 73 65 61 74 | e.if.(strcmp(interface,."wl_seat |
| 176e0 | 22 29 20 3d 3d 20 30 29 20 7b 00 00 00 47 20 20 20 20 20 20 20 20 73 65 61 74 20 3d 20 77 6c 5f | ").==.0).{...G........seat.=.wl_ |
| 17700 | 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 6e 61 6d 65 2c 20 26 77 | registry_bind(registry,.name,.&w |
| 17720 | 6c 5f 73 65 61 74 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 39 20 20 20 20 20 20 20 | l_seat_interface,.1);...9....... |
| 17740 | 20 77 6c 5f 73 65 61 74 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 73 65 61 74 2c 20 26 73 65 61 | .wl_seat_add_listener(seat,.&sea |
| 17760 | 74 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d | t_listener,.NULL);........}....} |
| 17780 | 00 00 00 00 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 72 | .......>static.const.struct.wl_r |
| 177a0 | 65 67 69 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 20 72 65 67 69 73 74 72 79 5f 6c 69 73 74 65 6e | egistry_listener.registry_listen |
| 177c0 | 65 72 20 3d 20 7b 00 00 00 32 20 20 20 20 2e 67 6c 6f 62 61 6c 20 3d 20 68 61 6e 64 6c 65 5f 67 | er.=.{...2.....global.=.handle_g |
| 177e0 | 6c 6f 62 61 6c 2c 20 2e 67 6c 6f 62 61 6c 5f 72 65 6d 6f 76 65 20 3d 20 4e 55 4c 4c 00 00 00 02 | lobal,..global_remove.=.NULL.... |
| 17800 | 7d 3b 00 00 00 00 00 00 00 1d 73 74 61 74 69 63 20 76 6f 69 64 20 63 6c 65 61 6e 75 70 5f 70 74 | };........static.void.cleanup_pt |
| 17820 | 79 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 30 20 20 20 20 69 66 20 28 73 68 65 6c 6c 5f 70 69 | y(void)....{...0....if.(shell_pi |
| 17840 | 64 20 3e 20 30 29 20 6b 69 6c 6c 28 73 68 65 6c 6c 5f 70 69 64 2c 20 53 49 47 54 45 52 4d 29 3b | d.>.0).kill(shell_pid,.SIGTERM); |
| 17860 | 00 00 00 2b 20 20 20 20 69 66 20 28 70 74 79 5f 6d 61 73 74 65 72 20 3e 3d 20 30 29 20 63 6c 6f | ...+....if.(pty_master.>=.0).clo |
| 17880 | 73 65 28 70 74 79 5f 6d 61 73 74 65 72 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 1a 73 74 61 74 | se(pty_master);....}........stat |
| 178a0 | 69 63 20 69 6e 74 20 73 65 74 75 70 5f 70 74 79 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 36 20 | ic.int.setup_pty(void)....{...6. |
| 178c0 | 20 20 20 70 74 79 5f 6d 61 73 74 65 72 20 3d 20 6f 70 65 6e 28 22 2f 64 65 76 2f 70 74 6d 78 22 | ...pty_master.=.open("/dev/ptmx" |
| 178e0 | 2c 20 4f 5f 52 44 57 52 20 7c 20 4f 5f 4e 4f 43 54 54 59 29 3b 00 00 00 22 20 20 20 20 69 66 20 | ,.O_RDWR.|.O_NOCTTY);..."....if. |
| 17900 | 28 70 74 79 5f 6d 61 73 74 65 72 20 3c 20 30 29 20 72 65 74 75 72 6e 20 2d 31 3b 00 00 00 18 20 | (pty_master.<.0).return.-1;..... |
| 17920 | 20 20 20 67 72 61 6e 74 70 74 28 70 74 79 5f 6d 61 73 74 65 72 29 3b 00 00 00 19 20 20 20 20 75 | ...grantpt(pty_master);........u |
| 17940 | 6e 6c 6f 63 6b 70 74 28 70 74 79 5f 6d 61 73 74 65 72 29 3b 00 00 00 0d 20 20 20 20 72 65 74 75 | nlockpt(pty_master);........retu |
| 17960 | 72 6e 20 30 3b 00 00 00 01 7d 00 00 00 00 00 00 00 1b 73 74 61 74 69 63 20 76 6f 69 64 20 72 75 | rn.0;....}........static.void.ru |
| 17980 | 6e 5f 73 68 65 6c 6c 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 17 20 20 20 20 73 68 65 6c 6c 5f | n_shell(void)....{........shell_ |
| 179a0 | 70 69 64 20 3d 20 66 6f 72 6b 28 29 3b 00 00 00 19 20 20 20 20 69 66 20 28 73 68 65 6c 6c 5f 70 | pid.=.fork();........if.(shell_p |
| 179c0 | 69 64 20 3d 3d 20 30 29 20 7b 00 00 00 36 20 20 20 20 20 20 20 20 69 6e 74 20 73 6c 61 76 65 20 | id.==.0).{...6........int.slave. |
| 179e0 | 3d 20 6f 70 65 6e 28 70 74 73 6e 61 6d 65 28 70 74 79 5f 6d 61 73 74 65 72 29 2c 20 4f 5f 52 44 | =.open(ptsname(pty_master),.O_RD |
| 17a00 | 57 52 29 3b 00 00 00 11 20 20 20 20 20 20 20 20 73 65 74 73 69 64 28 29 3b 00 00 00 23 20 20 20 | WR);............setsid();...#... |
| 17a20 | 20 20 20 20 20 69 6f 63 74 6c 28 73 6c 61 76 65 2c 20 54 49 4f 43 53 43 54 54 59 2c 20 30 29 3b | .....ioctl(slave,.TIOCSCTTY,.0); |
| 17a40 | 00 00 00 37 20 20 20 20 20 20 20 20 64 75 70 32 28 73 6c 61 76 65 2c 20 30 29 3b 20 64 75 70 32 | ...7........dup2(slave,.0);.dup2 |
| 17a60 | 28 73 6c 61 76 65 2c 20 31 29 3b 20 64 75 70 32 28 73 6c 61 76 65 2c 20 32 29 3b 00 00 00 28 20 | (slave,.1);.dup2(slave,.2);...(. |
| 17a80 | 20 20 20 20 20 20 20 63 6c 6f 73 65 28 73 6c 61 76 65 29 3b 20 63 6c 6f 73 65 28 70 74 79 5f 6d | .......close(slave);.close(pty_m |
| 17aa0 | 61 73 74 65 72 29 3b 00 00 00 26 20 20 20 20 20 20 20 20 63 68 61 72 20 2a 73 68 65 6c 6c 20 3d | aster);...&........char.*shell.= |
| 17ac0 | 20 67 65 74 65 6e 76 28 22 53 48 45 4c 4c 22 29 3b 00 00 00 45 20 20 20 20 20 20 20 20 65 78 65 | .getenv("SHELL");...E........exe |
| 17ae0 | 63 6c 28 73 68 65 6c 6c 20 3f 20 73 68 65 6c 6c 20 3a 20 22 2f 62 69 6e 2f 73 68 22 2c 20 73 68 | cl(shell.?.shell.:."/bin/sh",.sh |
| 17b00 | 65 6c 6c 20 3f 20 73 68 65 6c 6c 20 3a 20 22 73 68 22 2c 20 4e 55 4c 4c 29 3b 00 00 00 10 20 20 | ell.?.shell.:."sh",.NULL);...... |
| 17b20 | 20 20 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 | ......exit(1);........}....}.... |
| 17b40 | 00 00 00 0e 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 21 20 20 20 20 73 | ....int.main(void)....{...!....s |
| 17b60 | 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 69 73 74 72 79 3b 00 00 00 19 | truct.wl_registry.*registry;.... |
| 17b80 | 20 20 20 20 73 74 72 75 63 74 20 70 6f 6c 6c 66 64 20 66 64 73 5b 32 5d 3b 00 00 00 04 20 20 20 | ....struct.pollfd.fds[2];....... |
| 17ba0 | 20 00 00 00 28 20 20 20 20 6d 65 6d 73 65 74 28 73 63 72 65 65 6e 2c 20 27 20 27 2c 20 73 69 7a | ....(....memset(screen,.'.',.siz |
| 17bc0 | 65 6f 66 28 73 63 72 65 65 6e 29 29 3b 00 00 00 1d 20 20 20 20 73 69 67 6e 61 6c 28 53 49 47 43 | eof(screen));........signal(SIGC |
| 17be0 | 48 4c 44 2c 20 53 49 47 5f 49 47 4e 29 3b 00 00 00 04 20 20 20 20 00 00 00 22 20 20 20 20 69 66 | HLD,.SIG_IGN);..........."....if |
| 17c00 | 20 28 73 65 74 75 70 5f 70 74 79 28 29 20 3c 20 30 29 20 72 65 74 75 72 6e 20 31 3b 00 00 00 10 | .(setup_pty().<.0).return.1;.... |
| 17c20 | 20 20 20 20 72 75 6e 5f 73 68 65 6c 6c 28 29 3b 00 00 00 04 20 20 20 20 00 00 00 27 20 20 20 20 | ....run_shell();...........'.... |
| 17c40 | 64 69 73 70 6c 61 79 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 6f 6e 6e 65 63 74 28 4e 55 4c | display.=.wl_display_connect(NUL |
| 17c60 | 4c 29 3b 00 00 00 2e 20 20 20 20 69 66 20 28 21 64 69 73 70 6c 61 79 29 20 7b 20 63 6c 65 61 6e | L);........if.(!display).{.clean |
| 17c80 | 75 70 5f 70 74 79 28 29 3b 20 72 65 74 75 72 6e 20 31 3b 20 7d 00 00 00 04 20 20 20 20 00 00 00 | up_pty();.return.1;.}........... |
| 17ca0 | 30 20 20 20 20 72 65 67 69 73 74 72 79 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 72 | 0....registry.=.wl_display_get_r |
| 17cc0 | 65 67 69 73 74 72 79 28 64 69 73 70 6c 61 79 29 3b 00 00 00 41 20 20 20 20 77 6c 5f 72 65 67 69 | egistry(display);...A....wl_regi |
| 17ce0 | 73 74 72 79 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 72 65 67 69 73 74 72 79 2c 20 26 72 65 67 | stry_add_listener(registry,.® |
| 17d00 | 69 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 22 20 20 20 20 77 6c | istry_listener,.NULL);..."....wl |
| 17d20 | 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 64 69 73 70 6c 61 79 29 3b 00 00 00 04 | _display_roundtrip(display);.... |
| 17d40 | 20 20 20 20 00 00 00 45 20 20 20 20 69 66 20 28 21 63 6f 6d 70 6f 73 69 74 6f 72 20 7c 7c 20 21 | .......E....if.(!compositor.||.! |
| 17d60 | 73 68 6d 20 7c 7c 20 21 77 6d 5f 62 61 73 65 29 20 7b 20 63 6c 65 61 6e 75 70 5f 70 74 79 28 29 | shm.||.!wm_base).{.cleanup_pty() |
| 17d80 | 3b 20 72 65 74 75 72 6e 20 31 3b 20 7d 00 00 00 04 20 20 20 20 00 00 00 37 20 20 20 20 73 75 72 | ;.return.1;.}...........7....sur |
| 17da0 | 66 61 63 65 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 | face.=.wl_compositor_create_surf |
| 17dc0 | 61 63 65 28 63 6f 6d 70 6f 73 69 74 6f 72 29 3b 00 00 00 40 20 20 20 20 78 64 67 5f 73 75 72 66 | ace(compositor);...@....xdg_surf |
| 17de0 | 61 63 65 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 | ace.=.xdg_wm_base_get_xdg_surfac |
| 17e00 | 65 28 77 6d 5f 62 61 73 65 2c 20 73 75 72 66 61 63 65 29 3b 00 00 00 47 20 20 20 20 78 64 67 5f | e(wm_base,.surface);...G....xdg_ |
| 17e20 | 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 78 64 67 5f 73 75 72 66 61 63 65 | surface_add_listener(xdg_surface |
| 17e40 | 2c 20 26 78 64 67 5f 73 75 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 | ,.&xdg_surface_listener,.NULL);. |
| 17e60 | 00 00 35 20 20 20 20 74 6f 70 6c 65 76 65 6c 20 3d 20 78 64 67 5f 73 75 72 66 61 63 65 5f 67 65 | ..5....toplevel.=.xdg_surface_ge |
| 17e80 | 74 5f 74 6f 70 6c 65 76 65 6c 28 78 64 67 5f 73 75 72 66 61 63 65 29 3b 00 00 00 42 20 20 20 20 | t_toplevel(xdg_surface);...B.... |
| 17ea0 | 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 74 6f 70 6c 65 76 | xdg_toplevel_add_listener(toplev |
| 17ec0 | 65 6c 2c 20 26 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 | el,.&toplevel_listener,.NULL);.. |
| 17ee0 | 00 40 20 20 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 74 6f 70 | .@....xdg_toplevel_set_title(top |
| 17f00 | 6c 65 76 65 6c 2c 20 22 73 69 6d 70 6c 65 20 77 61 79 6c 61 6e 64 20 74 65 72 6d 69 6e 61 6c 22 | level,."simple.wayland.terminal" |
| 17f20 | 29 3b 00 00 00 1f 20 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 73 75 72 66 | );........wl_surface_commit(surf |
| 17f40 | 61 63 65 29 3b 00 00 00 04 20 20 20 20 00 00 00 2b 20 20 20 20 66 64 73 5b 30 5d 2e 66 64 20 3d | ace);...........+....fds[0].fd.= |
| 17f60 | 20 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 66 64 28 64 69 73 70 6c 61 79 29 3b 00 00 00 1b | .wl_display_get_fd(display);.... |
| 17f80 | 20 20 20 20 66 64 73 5b 30 5d 2e 65 76 65 6e 74 73 20 3d 20 50 4f 4c 4c 49 4e 3b 00 00 00 1b 20 | ....fds[0].events.=.POLLIN;..... |
| 17fa0 | 20 20 20 66 64 73 5b 31 5d 2e 66 64 20 3d 20 70 74 79 5f 6d 61 73 74 65 72 3b 00 00 00 1b 20 20 | ...fds[1].fd.=.pty_master;...... |
| 17fc0 | 20 20 66 64 73 5b 31 5d 2e 65 76 65 6e 74 73 20 3d 20 50 4f 4c 4c 49 4e 3b 00 00 00 04 20 20 20 | ..fds[1].events.=.POLLIN;....... |
| 17fe0 | 20 00 00 00 15 20 20 20 20 77 68 69 6c 65 20 28 72 75 6e 6e 69 6e 67 29 20 7b 00 00 00 28 20 20 | .........while.(running).{...(.. |
| 18000 | 20 20 20 20 20 20 69 66 20 28 70 6f 6c 6c 28 66 64 73 2c 20 32 2c 20 2d 31 29 20 3c 20 30 29 20 | ......if.(poll(fds,.2,.-1).<.0). |
| 18020 | 62 72 65 61 6b 3b 00 00 00 08 20 20 20 20 20 20 20 20 00 00 00 26 20 20 20 20 20 20 20 20 69 66 | break;...............&........if |
| 18040 | 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 20 7b 00 00 00 3a | .(fds[0].revents.&.POLLIN).{...: |
| 18060 | 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 | ............if.(wl_display_dispa |
| 18080 | 74 63 68 28 64 69 73 70 6c 61 79 29 20 3d 3d 20 2d 31 29 20 62 72 65 61 6b 3b 00 00 00 09 20 20 | tch(display).==.-1).break;...... |
| 180a0 | 20 20 20 20 20 20 7d 00 00 00 08 20 20 20 20 20 20 20 20 00 00 00 26 20 20 20 20 20 20 20 20 69 | ......}...............&........i |
| 180c0 | 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 00 00 00 | f.(fds[1].revents.&.POLLIN).{... |
| 180e0 | 1a 20 20 20 20 20 20 20 20 20 20 20 20 63 68 61 72 20 62 75 66 5b 32 35 36 5d 3b 00 00 00 37 20 | .............char.buf[256];...7. |
| 18100 | 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 6e 20 3d 20 72 65 61 64 28 70 74 79 5f 6d 61 73 74 | ...........int.n.=.read(pty_mast |
| 18120 | 65 72 2c 20 62 75 66 2c 20 73 69 7a 65 6f 66 28 62 75 66 29 29 3b 00 00 00 18 20 20 20 20 20 20 | er,.buf,.sizeof(buf));.......... |
| 18140 | 20 20 20 20 20 20 69 66 20 28 6e 20 3e 20 30 29 20 7b 00 00 00 27 20 20 20 20 20 20 20 20 20 20 | ......if.(n.>.0).{...'.......... |
| 18160 | 20 20 20 20 20 20 74 65 72 6d 69 6e 61 6c 5f 77 72 69 74 65 28 62 75 66 2c 20 6e 29 3b 00 00 00 | ......terminal_write(buf,.n);... |
| 18180 | 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 6e 20 3d 3d 20 30 29 20 | .............}.else.if.(n.==.0). |
| 181a0 | 7b 00 00 00 1c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 75 6e 6e 69 6e 67 20 3d 20 30 | {....................running.=.0 |
| 181c0 | 3b 00 00 00 0d 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 | ;................}............}. |
| 181e0 | 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 12 20 20 20 20 63 6c 65 61 6e 75 70 5f | .......}................cleanup_ |
| 18200 | 70 74 79 28 29 3b 00 00 00 30 20 20 20 20 69 66 20 28 6b 65 79 62 6f 61 72 64 29 20 77 6c 5f 6b | pty();...0....if.(keyboard).wl_k |
| 18220 | 65 79 62 6f 61 72 64 5f 64 65 73 74 72 6f 79 28 6b 65 79 62 6f 61 72 64 29 3b 00 00 00 24 20 20 | eyboard_destroy(keyboard);...$.. |
| 18240 | 20 20 69 66 20 28 73 65 61 74 29 20 77 6c 5f 73 65 61 74 5f 64 65 73 74 72 6f 79 28 73 65 61 74 | ..if.(seat).wl_seat_destroy(seat |
| 18260 | 29 3b 00 00 00 15 20 20 20 20 64 65 73 74 72 6f 79 5f 62 75 66 66 65 72 28 29 3b 00 00 00 23 20 | );........destroy_buffer();...#. |
| 18280 | 20 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 64 65 73 74 72 6f 79 28 74 6f 70 6c 65 76 65 6c | ...xdg_toplevel_destroy(toplevel |
| 182a0 | 29 3b 00 00 00 25 20 20 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 64 65 73 74 72 6f 79 28 78 64 | );...%....xdg_surface_destroy(xd |
| 182c0 | 67 5f 73 75 72 66 61 63 65 29 3b 00 00 00 20 20 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 65 | g_surface);........wl_surface_de |
| 182e0 | 73 74 72 6f 79 28 73 75 72 66 61 63 65 29 3b 00 00 00 21 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 | stroy(surface);...!....xdg_wm_ba |
| 18300 | 73 65 5f 64 65 73 74 72 6f 79 28 77 6d 5f 62 61 73 65 29 3b 00 00 00 26 20 20 20 20 77 6c 5f 63 | se_destroy(wm_base);...&....wl_c |
| 18320 | 6f 6d 70 6f 73 69 74 6f 72 5f 64 65 73 74 72 6f 79 28 63 6f 6d 70 6f 73 69 74 6f 72 29 3b 00 00 | ompositor_destroy(compositor);.. |
| 18340 | 00 18 20 20 20 20 77 6c 5f 73 68 6d 5f 64 65 73 74 72 6f 79 28 73 68 6d 29 3b 00 00 00 22 20 20 | ......wl_shm_destroy(shm);...".. |
| 18360 | 20 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 64 65 73 74 72 6f 79 28 72 65 67 69 73 74 72 79 29 3b | ..wl_registry_destroy(registry); |
| 18380 | 00 00 00 23 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 63 6f 6e 6e 65 63 74 28 64 69 | ...#....wl_display_disconnect(di |
| 183a0 | 73 70 6c 61 79 29 3b 00 00 00 04 20 20 20 20 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 30 3b | splay);................return.0; |
| 183c0 | 00 00 00 01 7d 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 a4 01 00 00 00 00 00 00 01 00 00 | ....}5.......................... |
| 183e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 d8 30 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f | ..............0..............5._ |
| 18400 | d0 00 00 00 0d 00 00 00 0f 00 00 00 00 00 00 00 00 00 00 00 0e 00 00 00 01 00 00 00 00 00 00 00 | ................................ |
| 18420 | 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 00 00 00 00 00 00 00 | ................................ |
| 18440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 184a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 184c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 184e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18580 | 00 00 00 6a 01 0f 67 04 01 00 00 00 0d 00 f5 18 00 00 01 be 00 00 00 00 00 00 00 00 00 00 00 01 | ...j..g......................... |
| 185a0 | 00 00 00 04 20 20 20 20 f5 18 00 00 01 bf 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 2b | ...............................+ |
| 185c0 | 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 1c 20 20 20 20 2e 63 6f 6e 66 69 67 75 72 65 20 3d | .....................configure.= |
| 185e0 | 20 78 64 67 5f 74 6f 70 6c 65 76 65 f5 18 00 00 01 2c 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 | .xdg_topleve.....,.............. |
| 18600 | 00 00 00 8c 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 10 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 18620 | 66 6f 72 20 f5 18 00 00 00 8d 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 00 | for............................. |
| 18640 | 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 00 00 00 00 35 81 | ..............................5. |
| 18660 | f5 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 8c 00 00 00 10 00 00 00 00 00 | ................................ |
| 18680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f9 0f 00 00 00 00 00 00 f5 18 00 00 00 00 8c 00 00 00 | ................................ |
| 186a0 | 10 00 00 00 00 00 00 00 00 00 00 00 9f 00 00 00 1c 00 00 00 f9 0f 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 186c0 | 00 00 00 00 ff 0f 00 00 00 00 00 00 f5 18 00 00 00 00 2b 01 00 00 1c 00 00 00 00 00 00 00 00 00 | ..................+............. |
| 186e0 | 00 00 93 00 00 00 04 00 00 00 f8 1f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 0f 00 00 00 00 | ................................ |
| 18700 | 00 00 f5 18 00 00 00 00 be 01 00 00 04 00 00 00 00 00 00 00 00 00 00 00 75 00 00 00 01 00 00 00 | ........................u....... |
| 18720 | f7 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 a4 0c 00 00 00 00 00 00 35 81 5f d0 00 00 00 0e | ./......................5._..... |
| 18740 | 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 0f 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff | ................................ |
| 18760 | 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 | ................................ |
| 18780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 187a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 187c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 187e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 188a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6a 01 | ..............................j. |
| 188c0 | 10 14 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 00 00 00 00 00 02 34 00 00 00 1f 23 | ..........................4....# |
| 188e0 | 64 65 66 69 6e 65 20 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 | define._POSIX_C_SOURCE.200809L.. |
| 18900 | 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 64 65 | ..#include.<stdio.h>....#include |
| 18920 | 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 67 2e | .<stdlib.h>....#include.<string. |
| 18940 | 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 75 6e 69 73 74 64 2e 68 3e 00 00 00 15 23 69 6e | h>....#include.<unistd.h>....#in |
| 18960 | 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e 68 3e 00 00 00 16 23 69 6e 63 6c 75 64 65 20 3c | clude.<sys/mman.h>....#include.< |
| 18980 | 73 79 73 2f 69 6f 63 74 6c 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 77 61 | sys/ioctl.h>....#include.<sys/wa |
| 189a0 | 69 74 2e 68 3e 00 00 00 17 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 73 65 6c 65 63 74 2e 68 3e | it.h>....#include.<sys/select.h> |
| 189c0 | 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 12 23 69 6e 63 6c 75 | ....#include.<fcntl.h>....#inclu |
| 189e0 | 64 65 20 3c 65 72 72 6e 6f 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 69 67 6e 61 6c | de.<errno.h>....#include.<signal |
| 18a00 | 2e 68 3e 00 00 00 14 23 69 6e 63 6c 75 64 65 20 3c 74 65 72 6d 69 6f 73 2e 68 3e 00 00 00 1b 23 | .h>....#include.<termios.h>....# |
| 18a20 | 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 3e 00 00 00 26 23 69 | include.<wayland-client.h>...&#i |
| 18a40 | 6e 63 6c 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 | nclude."xdg-shell-client-protoco |
| 18a60 | 6c 2e 68 22 00 00 00 00 00 00 00 22 73 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 20 2a 64 | l.h"......."struct.wl_display.*d |
| 18a80 | 69 73 70 6c 61 79 20 3d 20 4e 55 4c 4c 3b 00 00 00 28 73 74 72 75 63 74 20 77 6c 5f 63 6f 6d 70 | isplay.=.NULL;...(struct.wl_comp |
| 18aa0 | 6f 73 69 74 6f 72 20 2a 63 6f 6d 70 6f 73 69 74 6f 72 20 3d 20 4e 55 4c 4c 3b 00 00 00 22 73 74 | ositor.*compositor.=.NULL;..."st |
| 18ac0 | 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 72 66 61 63 65 20 3d 20 4e 55 4c 4c 3b | ruct.wl_surface.*surface.=.NULL; |
| 18ae0 | 00 00 00 1a 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d 20 3d 20 4e 55 4c 4c 3b 00 00 | ....struct.wl_shm.*shm.=.NULL;.. |
| 18b00 | 00 1c 73 74 72 75 63 74 20 77 6c 5f 73 65 61 74 20 2a 73 65 61 74 20 3d 20 4e 55 4c 4c 3b 00 00 | ..struct.wl_seat.*seat.=.NULL;.. |
| 18b20 | 00 24 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 20 3d | .$struct.wl_keyboard.*keyboard.= |
| 18b40 | 20 4e 55 4c 4c 3b 00 00 00 23 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d | .NULL;...#struct.xdg_wm_base.*wm |
| 18b60 | 5f 62 61 73 65 20 3d 20 4e 55 4c 4c 3b 00 00 00 27 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 | _base.=.NULL;...'struct.xdg_surf |
| 18b80 | 61 63 65 20 2a 78 64 67 5f 73 75 72 66 61 63 65 20 3d 20 4e 55 4c 4c 3b 00 00 00 25 73 74 72 75 | ace.*xdg_surface.=.NULL;...%stru |
| 18ba0 | 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 74 6f 70 6c 65 76 65 6c 20 3d 20 4e 55 4c 4c | ct.xdg_toplevel.*toplevel.=.NULL |
| 18bc0 | 3b 00 00 00 2a 73 74 72 75 63 74 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 20 2a 66 72 61 6d 65 5f 63 | ;...*struct.wl_callback.*frame_c |
| 18be0 | 61 6c 6c 62 61 63 6b 20 3d 20 4e 55 4c 4c 3b 00 00 00 00 00 00 00 17 73 74 61 74 69 63 20 69 6e | allback.=.NULL;........static.in |
| 18c00 | 74 20 72 75 6e 6e 69 6e 67 20 3d 20 31 3b 00 00 00 1e 73 74 61 74 69 63 20 69 6e 74 20 77 69 6e | t.running.=.1;....static.int.win |
| 18c20 | 64 6f 77 5f 77 69 64 74 68 20 3d 20 36 34 30 3b 00 00 00 1f 73 74 61 74 69 63 20 69 6e 74 20 77 | dow_width.=.640;....static.int.w |
| 18c40 | 69 6e 64 6f 77 5f 68 65 69 67 68 74 20 3d 20 34 30 30 3b 00 00 00 1d 73 74 61 74 69 63 20 69 6e | indow_height.=.400;....static.in |
| 18c60 | 74 20 70 65 6e 64 69 6e 67 5f 77 69 64 74 68 20 3d 20 30 3b 00 00 00 1e 73 74 61 74 69 63 20 69 | t.pending_width.=.0;....static.i |
| 18c80 | 6e 74 20 70 65 6e 64 69 6e 67 5f 68 65 69 67 68 74 20 3d 20 30 3b 00 00 00 1c 73 74 61 74 69 63 | nt.pending_height.=.0;....static |
| 18ca0 | 20 69 6e 74 20 6e 65 65 64 73 5f 72 65 73 69 7a 65 20 3d 20 30 3b 00 00 00 28 73 74 61 74 69 63 | .int.needs_resize.=.0;...(static |
| 18cc0 | 20 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 70 69 78 65 6c 5f 64 61 74 61 20 3d 20 4e 55 4c | .unsigned.char.*pixel_data.=.NUL |
| 18ce0 | 4c 3b 00 00 00 2e 73 74 61 74 69 63 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 77 | L;....static.struct.wl_buffer.*w |
| 18d00 | 69 6e 64 6f 77 5f 62 75 66 66 65 72 20 3d 20 4e 55 4c 4c 3b 00 00 00 00 00 00 00 1b 73 74 61 74 | indow_buffer.=.NULL;........stat |
| 18d20 | 69 63 20 69 6e 74 20 70 74 79 5f 6d 61 73 74 65 72 20 3d 20 2d 31 3b 00 00 00 1a 73 74 61 74 69 | ic.int.pty_master.=.-1;....stati |
| 18d40 | 63 20 69 6e 74 20 70 74 79 5f 73 6c 61 76 65 20 3d 20 2d 31 3b 00 00 00 1c 73 74 61 74 69 63 20 | c.int.pty_slave.=.-1;....static. |
| 18d60 | 70 69 64 5f 74 20 73 68 65 6c 6c 5f 70 69 64 20 3d 20 2d 31 3b 00 00 00 15 73 74 61 74 69 63 20 | pid_t.shell_pid.=.-1;....static. |
| 18d80 | 69 6e 74 20 72 6f 77 73 20 3d 20 32 35 3b 00 00 00 15 73 74 61 74 69 63 20 69 6e 74 20 63 6f 6c | int.rows.=.25;....static.int.col |
| 18da0 | 73 20 3d 20 38 30 3b 00 00 00 1a 73 74 61 74 69 63 20 69 6e 74 20 63 68 61 72 5f 77 69 64 74 68 | s.=.80;....static.int.char_width |
| 18dc0 | 20 3d 20 38 3b 00 00 00 1c 73 74 61 74 69 63 20 69 6e 74 20 63 68 61 72 5f 68 65 69 67 68 74 20 | .=.8;....static.int.char_height. |
| 18de0 | 3d 20 31 36 3b 00 00 00 00 00 00 00 24 73 74 61 74 69 63 20 75 6e 73 69 67 6e 65 64 20 63 68 61 | =.16;.......$static.unsigned.cha |
| 18e00 | 72 20 73 63 72 65 65 6e 5b 32 35 5d 5b 38 30 5d 3b 00 00 00 2e 73 74 61 74 69 63 20 75 6e 73 69 | r.screen[25][80];....static.unsi |
| 18e20 | 67 6e 65 64 20 63 68 61 72 20 73 63 72 65 65 6e 5f 63 6f 6c 6f 72 73 5b 32 35 5d 5b 38 30 5d 5b | gned.char.screen_colors[25][80][ |
| 18e40 | 33 5d 3b 00 00 00 18 73 74 61 74 69 63 20 69 6e 74 20 63 75 72 73 6f 72 5f 78 20 3d 20 30 3b 00 | 3];....static.int.cursor_x.=.0;. |
| 18e60 | 00 00 18 73 74 61 74 69 63 20 69 6e 74 20 63 75 72 73 6f 72 5f 79 20 3d 20 30 3b 00 00 00 1b 73 | ...static.int.cursor_y.=.0;....s |
| 18e80 | 74 61 74 69 63 20 69 6e 74 20 6e 65 65 64 5f 72 65 64 72 61 77 20 3d 20 31 3b 00 00 00 00 00 00 | tatic.int.need_redraw.=.1;...... |
| 18ea0 | 00 6b 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 63 68 61 72 28 75 6e 73 69 67 6e 65 64 | .kstatic.void.draw_char(unsigned |
| 18ec0 | 20 63 68 61 72 20 2a 64 61 74 61 2c 20 69 6e 74 20 73 74 72 69 64 65 2c 20 69 6e 74 20 78 2c 20 | .char.*data,.int.stride,.int.x,. |
| 18ee0 | 69 6e 74 20 79 2c 20 63 68 61 72 20 63 68 2c 20 69 6e 74 20 66 67 5f 72 2c 20 69 6e 74 20 66 67 | int.y,.char.ch,.int.fg_r,.int.fg |
| 18f00 | 5f 67 2c 20 69 6e 74 20 66 67 5f 62 29 00 00 00 01 7b 00 00 00 0f 20 20 20 20 69 6e 74 20 63 78 | _g,.int.fg_b)....{........int.cx |
| 18f20 | 2c 20 63 79 3b 00 00 00 0f 20 20 20 20 69 6e 74 20 70 78 2c 20 70 79 3b 00 00 00 04 20 20 20 20 | ,.cy;........int.px,.py;........ |
| 18f40 | 00 00 00 2a 20 20 20 20 66 6f 72 20 28 63 79 20 3d 20 30 3b 20 63 79 20 3c 20 63 68 61 72 5f 68 | ...*....for.(cy.=.0;.cy.<.char_h |
| 18f60 | 65 69 67 68 74 3b 20 63 79 2b 2b 29 20 7b 00 00 00 2d 20 20 20 20 20 20 20 20 66 6f 72 20 28 63 | eight;.cy++).{...-........for.(c |
| 18f80 | 78 20 3d 20 30 3b 20 63 78 20 3c 20 63 68 61 72 5f 77 69 64 74 68 3b 20 63 78 2b 2b 29 20 7b 00 | x.=.0;.cx.<.char_width;.cx++).{. |
| 18fa0 | 00 00 18 20 20 20 20 20 20 20 20 20 20 20 20 70 78 20 3d 20 78 20 2b 20 63 78 3b 00 00 00 18 20 | ...............px.=.x.+.cx;..... |
| 18fc0 | 20 20 20 20 20 20 20 20 20 20 20 70 79 20 3d 20 79 20 2b 20 63 79 3b 00 00 00 50 20 20 20 20 20 | ...........py.=.y.+.cy;...P..... |
| 18fe0 | 20 20 20 20 20 20 20 69 66 20 28 70 78 20 3e 3d 20 30 20 26 26 20 70 78 20 3c 20 77 69 6e 64 6f | .......if.(px.>=.0.&&.px.<.windo |
| 19000 | 77 5f 77 69 64 74 68 20 26 26 20 70 79 20 3e 3d 20 30 20 26 26 20 70 79 20 3c 20 77 69 6e 64 6f | w_width.&&.py.>=.0.&&.py.<.windo |
| 19020 | 77 5f 68 65 69 67 68 74 29 20 7b 00 00 00 31 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 | w_height).{...1................i |
| 19040 | 6e 74 20 69 64 78 20 3d 20 28 70 79 20 2a 20 73 74 72 69 64 65 20 2b 20 70 78 29 20 2a 20 34 3b | nt.idx.=.(py.*.stride.+.px).*.4; |
| 19060 | 00 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 68 20 21 3d 20 27 20 | ....................if.(ch.!=.'. |
| 19080 | 27 29 20 7b 00 00 00 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 | ').{...)....................data |
| 190a0 | 5b 69 64 78 20 2b 20 30 5d 20 3d 20 66 67 5f 72 3b 00 00 00 29 20 20 20 20 20 20 20 20 20 20 20 | [idx.+.0].=.fg_r;...)........... |
| 190c0 | 20 20 20 20 20 20 20 20 20 64 61 74 61 5b 69 64 78 20 2b 20 31 5d 20 3d 20 66 67 5f 67 3b 00 00 | .........data[idx.+.1].=.fg_g;.. |
| 190e0 | 00 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 5b 69 64 78 20 2b | .)....................data[idx.+ |
| 19100 | 20 32 5d 20 3d 20 66 67 5f 62 3b 00 00 00 28 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .2].=.fg_b;...(................. |
| 19120 | 20 20 20 64 61 74 61 5b 69 64 78 20 2b 20 33 5d 20 3d 20 32 35 35 3b 00 00 00 18 20 20 20 20 20 | ...data[idx.+.3].=.255;......... |
| 19140 | 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 00 00 00 26 20 20 20 20 20 20 20 20 20 | ...........}.else.{...&......... |
| 19160 | 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 5b 69 64 78 20 2b 20 30 5d 20 3d 20 30 3b 00 00 00 | ...........data[idx.+.0].=.0;... |
| 19180 | 26 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 5b 69 64 78 20 2b 20 | &....................data[idx.+. |
| 191a0 | 31 5d 20 3d 20 30 3b 00 00 00 26 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 | 1].=.0;...&....................d |
| 191c0 | 61 74 61 5b 69 64 78 20 2b 20 32 5d 20 3d 20 30 3b 00 00 00 28 20 20 20 20 20 20 20 20 20 20 20 | ata[idx.+.2].=.0;...(........... |
| 191e0 | 20 20 20 20 20 20 20 20 20 64 61 74 61 5b 69 64 78 20 2b 20 33 5d 20 3d 20 32 35 35 3b 00 00 00 | .........data[idx.+.3].=.255;... |
| 19200 | 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 0d 20 20 20 20 20 20 20 20 20 20 | .................}.............. |
| 19220 | 20 20 7d 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 | ..}............}........}....}.. |
| 19240 | 00 00 00 00 00 1d 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 73 63 72 65 65 6e 28 76 6f | ......static.void.draw_screen(vo |
| 19260 | 69 64 29 00 00 00 01 7b 00 00 00 0d 20 20 20 20 69 6e 74 20 78 2c 20 79 3b 00 00 00 1e 20 20 20 | id)....{........int.x,.y;....... |
| 19280 | 20 69 6e 74 20 73 74 72 69 64 65 20 3d 20 77 69 6e 64 6f 77 5f 77 69 64 74 68 3b 00 00 00 04 20 | .int.stride.=.window_width;..... |
| 192a0 | 20 20 20 00 00 00 29 20 20 20 20 66 6f 72 20 28 79 20 3d 20 30 3b 20 79 20 3c 20 77 69 6e 64 6f | ......)....for.(y.=.0;.y.<.windo |
| 192c0 | 77 5f 68 65 69 67 68 74 3b 20 79 2b 2b 29 20 7b 00 00 00 2c 20 20 20 20 20 20 20 20 66 6f 72 20 | w_height;.y++).{...,........for. |
| 192e0 | 28 78 20 3d 20 30 3b 20 78 20 3c 20 77 69 6e 64 6f 77 5f 77 69 64 74 68 3b 20 78 2b 2b 29 20 7b | (x.=.0;.x.<.window_width;.x++).{ |
| 19300 | 00 00 00 2b 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 69 64 78 20 3d 20 28 79 20 2a 20 73 | ...+............int.idx.=.(y.*.s |
| 19320 | 74 72 69 64 65 20 2b 20 78 29 20 2a 20 34 3b 00 00 00 24 20 20 20 20 20 20 20 20 20 20 20 20 70 | tride.+.x).*.4;...$............p |
| 19340 | 69 78 65 6c 5f 64 61 74 61 5b 69 64 78 20 2b 20 30 5d 20 3d 20 30 3b 00 00 00 24 20 20 20 20 20 | ixel_data[idx.+.0].=.0;...$..... |
| 19360 | 20 20 20 20 20 20 20 70 69 78 65 6c 5f 64 61 74 61 5b 69 64 78 20 2b 20 31 5d 20 3d 20 30 3b 00 | .......pixel_data[idx.+.1].=.0;. |
| 19380 | 00 00 24 20 20 20 20 20 20 20 20 20 20 20 20 70 69 78 65 6c 5f 64 61 74 61 5b 69 64 78 20 2b 20 | ..$............pixel_data[idx.+. |
| 193a0 | 32 5d 20 3d 20 30 3b 00 00 00 26 20 20 20 20 20 20 20 20 20 20 20 20 70 69 78 65 6c 5f 64 61 74 | 2].=.0;...&............pixel_dat |
| 193c0 | 61 5b 69 64 78 20 2b 20 33 5d 20 3d 20 32 35 35 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 | a[idx.+.3].=.255;............}.. |
| 193e0 | 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 20 20 20 20 20 66 6f 72 20 28 79 20 3d 20 | ......}................for.(y.=. |
| 19400 | 30 3b 20 79 20 3c 20 72 6f 77 73 3b 20 79 2b 2b 29 20 7b 00 00 00 24 20 20 20 20 20 20 20 20 66 | 0;.y.<.rows;.y++).{...$........f |
| 19420 | 6f 72 20 28 78 20 3d 20 30 3b 20 78 20 3c 20 63 6f 6c 73 3b 20 78 2b 2b 29 20 7b 00 00 00 4b 20 | or.(x.=.0;.x.<.cols;.x++).{...K. |
| 19440 | 20 20 20 20 20 20 20 20 20 20 20 64 72 61 77 5f 63 68 61 72 28 70 69 78 65 6c 5f 64 61 74 61 2c | ...........draw_char(pixel_data, |
| 19460 | 20 73 74 72 69 64 65 2c 20 78 20 2a 20 63 68 61 72 5f 77 69 64 74 68 2c 20 79 20 2a 20 63 68 61 | .stride,.x.*.char_width,.y.*.cha |
| 19480 | 72 5f 68 65 69 67 68 74 2c 20 00 00 00 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | r_height,....2.................. |
| 194a0 | 20 20 20 73 63 72 65 65 6e 5b 79 5d 5b 78 5d 2c 20 32 31 32 2c 20 32 31 32 2c 20 32 31 32 29 3b | ...screen[y][x],.212,.212,.212); |
| 194c0 | 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 | ............}........}.......... |
| 194e0 | 00 27 20 20 20 20 66 6f 72 20 28 79 20 3d 20 30 3b 20 79 20 3c 20 63 68 61 72 5f 68 65 69 67 68 | .'....for.(y.=.0;.y.<.char_heigh |
| 19500 | 74 3b 20 79 2b 2b 29 20 7b 00 00 00 2a 20 20 20 20 20 20 20 20 66 6f 72 20 28 78 20 3d 20 30 3b | t;.y++).{...*........for.(x.=.0; |
| 19520 | 20 78 20 3c 20 63 68 61 72 5f 77 69 64 74 68 3b 20 78 2b 2b 29 20 7b 00 00 00 2f 20 20 20 20 20 | .x.<.char_width;.x++).{.../..... |
| 19540 | 20 20 20 20 20 20 20 69 6e 74 20 70 78 20 3d 20 63 75 72 73 6f 72 5f 78 20 2a 20 63 68 61 72 5f | .......int.px.=.cursor_x.*.char_ |
| 19560 | 77 69 64 74 68 20 2b 20 78 3b 00 00 00 30 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 70 79 | width.+.x;...0............int.py |
| 19580 | 20 3d 20 63 75 72 73 6f 72 5f 79 20 2a 20 63 68 61 72 5f 68 65 69 67 68 74 20 2b 20 79 3b 00 00 | .=.cursor_y.*.char_height.+.y;.. |
| 195a0 | 00 3a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 70 78 20 3c 20 77 69 6e 64 6f 77 5f 77 69 | .:............if.(px.<.window_wi |
| 195c0 | 64 74 68 20 26 26 20 70 79 20 3c 20 77 69 6e 64 6f 77 5f 68 65 69 67 68 74 29 20 7b 00 00 00 31 | dth.&&.py.<.window_height).{...1 |
| 195e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 69 64 78 20 3d 20 28 70 79 20 2a 20 | ................int.idx.=.(py.*. |
| 19600 | 73 74 72 69 64 65 20 2b 20 70 78 29 20 2a 20 34 3b 00 00 00 2a 20 20 20 20 20 20 20 20 20 20 20 | stride.+.px).*.4;...*........... |
| 19620 | 20 20 20 20 20 70 69 78 65 6c 5f 64 61 74 61 5b 69 64 78 20 2b 20 30 5d 20 3d 20 32 35 35 3b 00 | .....pixel_data[idx.+.0].=.255;. |
| 19640 | 00 00 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 69 78 65 6c 5f 64 61 74 61 5b 69 64 | ..*................pixel_data[id |
| 19660 | 78 20 2b 20 31 5d 20 3d 20 32 35 35 3b 00 00 00 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | x.+.1].=.255;...*............... |
| 19680 | 20 70 69 78 65 6c 5f 64 61 74 61 5b 69 64 78 20 2b 20 32 5d 20 3d 20 32 35 35 3b 00 00 00 2a 20 | .pixel_data[idx.+.2].=.255;...*. |
| 196a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 69 78 65 6c 5f 64 61 74 61 5b 69 64 78 20 2b 20 | ...............pixel_data[idx.+. |
| 196c0 | 33 5d 20 3d 20 32 35 35 3b 00 00 00 0d 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 09 20 20 | 3].=.255;................}...... |
| 196e0 | 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 35 73 74 61 | ......}........}....}.......5sta |
| 19700 | 74 69 63 20 76 6f 69 64 20 74 65 72 6d 69 6e 61 6c 5f 6f 75 74 70 75 74 28 63 6f 6e 73 74 20 63 | tic.void.terminal_output(const.c |
| 19720 | 68 61 72 20 2a 62 75 66 2c 20 69 6e 74 20 6c 65 6e 29 00 00 00 01 7b 00 00 00 0a 20 20 20 20 69 | har.*buf,.int.len)....{........i |
| 19740 | 6e 74 20 69 3b 00 00 00 1f 20 20 20 20 66 6f 72 20 28 69 20 3d 20 30 3b 20 69 20 3c 20 6c 65 6e | nt.i;........for.(i.=.0;.i.<.len |
| 19760 | 3b 20 69 2b 2b 29 20 7b 00 00 00 21 20 20 20 20 20 20 20 20 75 6e 73 69 67 6e 65 64 20 63 68 61 | ;.i++).{...!........unsigned.cha |
| 19780 | 72 20 63 20 3d 20 62 75 66 5b 69 5d 3b 00 00 00 08 20 20 20 20 20 20 20 20 00 00 00 18 20 20 20 | r.c.=.buf[i];................... |
| 197a0 | 20 20 20 20 20 69 66 20 28 63 20 3d 3d 20 27 5c 6e 27 29 20 7b 00 00 00 19 20 20 20 20 20 20 20 | .....if.(c.==.'\n').{........... |
| 197c0 | 20 20 20 20 20 63 75 72 73 6f 72 5f 78 20 3d 20 30 3b 00 00 00 17 20 20 20 20 20 20 20 20 20 20 | .....cursor_x.=.0;.............. |
| 197e0 | 20 20 63 75 72 73 6f 72 5f 79 2b 2b 3b 00 00 00 23 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 | ..cursor_y++;...#............if. |
| 19800 | 28 63 75 72 73 6f 72 5f 79 20 3e 3d 20 72 6f 77 73 29 20 7b 00 00 00 3f 20 20 20 20 20 20 20 20 | (cursor_y.>=.rows).{...?........ |
| 19820 | 20 20 20 20 20 20 20 20 6d 65 6d 6d 6f 76 65 28 73 63 72 65 65 6e 5b 30 5d 2c 20 73 63 72 65 65 | ........memmove(screen[0],.scree |
| 19840 | 6e 5b 31 5d 2c 20 28 72 6f 77 73 20 2d 20 31 29 20 2a 20 38 30 29 3b 00 00 00 32 20 20 20 20 20 | n[1],.(rows.-.1).*.80);...2..... |
| 19860 | 20 20 20 20 20 20 20 20 20 20 20 6d 65 6d 73 65 74 28 73 63 72 65 65 6e 5b 72 6f 77 73 20 2d 20 | ...........memset(screen[rows.-. |
| 19880 | 31 5d 2c 20 27 20 27 2c 20 38 30 29 3b 00 00 00 24 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | 1],.'.',.80);...$............... |
| 198a0 | 20 63 75 72 73 6f 72 5f 79 20 3d 20 72 6f 77 73 20 2d 20 31 3b 00 00 00 0d 20 20 20 20 20 20 20 | .cursor_y.=.rows.-.1;........... |
| 198c0 | 20 20 20 20 20 7d 00 00 00 1c 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 65 64 5f 72 65 64 72 61 | .....}................need_redra |
| 198e0 | 77 20 3d 20 31 3b 00 00 00 1f 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 63 20 3d | w.=.1;............}.else.if.(c.= |
| 19900 | 3d 20 27 5c 72 27 29 20 7b 00 00 00 19 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 73 6f 72 5f | =.'\r').{................cursor_ |
| 19920 | 78 20 3d 20 30 3b 00 00 00 1c 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 65 64 5f 72 65 64 72 61 | x.=.0;................need_redra |
| 19940 | 77 20 3d 20 31 3b 00 00 00 1f 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 63 20 3d | w.=.1;............}.else.if.(c.= |
| 19960 | 3d 20 27 5c 62 27 29 20 7b 00 00 00 1f 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 75 72 | =.'\b').{................if.(cur |
| 19980 | 73 6f 72 5f 78 20 3e 20 30 29 20 7b 00 00 00 1b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | sor_x.>.0).{.................... |
| 199a0 | 63 75 72 73 6f 72 5f 78 2d 2d 3b 00 00 00 31 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 | cursor_x--;...1................s |
| 199c0 | 63 72 65 65 6e 5b 63 75 72 73 6f 72 5f 79 5d 5b 63 75 72 73 6f 72 5f 78 5d 20 3d 20 27 20 27 3b | creen[cursor_y][cursor_x].=.'.'; |
| 199e0 | 00 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 65 64 5f 72 65 64 72 61 77 20 | ....................need_redraw. |
| 19a00 | 3d 20 31 3b 00 00 00 0d 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 1f 20 20 20 20 20 20 20 | =.1;................}........... |
| 19a20 | 20 7d 20 65 6c 73 65 20 69 66 20 28 63 20 3d 3d 20 27 5c 74 27 29 20 7b 00 00 00 2c 20 20 20 20 | .}.else.if.(c.==.'\t').{...,.... |
| 19a40 | 20 20 20 20 20 20 20 20 69 6e 74 20 73 70 61 63 65 73 20 3d 20 38 20 2d 20 28 63 75 72 73 6f 72 | ........int.spaces.=.8.-.(cursor |
| 19a60 | 5f 78 20 25 20 38 29 3b 00 00 00 41 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 69 6e 74 | _x.%.8);...A............for.(int |
| 19a80 | 20 73 20 3d 20 30 3b 20 73 20 3c 20 73 70 61 63 65 73 20 26 26 20 63 75 72 73 6f 72 5f 78 20 3c | .s.=.0;.s.<.spaces.&&.cursor_x.< |
| 19aa0 | 20 63 6f 6c 73 3b 20 73 2b 2b 29 20 7b 00 00 00 33 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .cols;.s++).{...3............... |
| 19ac0 | 20 73 63 72 65 65 6e 5b 63 75 72 73 6f 72 5f 79 5d 5b 63 75 72 73 6f 72 5f 78 2b 2b 5d 20 3d 20 | .screen[cursor_y][cursor_x++].=. |
| 19ae0 | 27 20 27 3b 00 00 00 0d 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 1c 20 20 20 20 20 20 20 | '.';................}........... |
| 19b00 | 20 20 20 20 20 6e 65 65 64 5f 72 65 64 72 61 77 20 3d 20 31 3b 00 00 00 28 20 20 20 20 20 20 20 | .....need_redraw.=.1;...(....... |
| 19b20 | 20 7d 20 65 6c 73 65 20 69 66 20 28 63 20 3e 3d 20 33 32 20 26 26 20 63 20 3c 20 31 32 37 29 20 | .}.else.if.(c.>=.32.&&.c.<.127). |
| 19b40 | 7b 00 00 00 23 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 75 72 73 6f 72 5f 78 20 3e 3d | {...#............if.(cursor_x.>= |
| 19b60 | 20 63 6f 6c 73 29 20 7b 00 00 00 1d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 73 | .cols).{....................curs |
| 19b80 | 6f 72 5f 78 20 3d 20 30 3b 00 00 00 1b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 | or_x.=.0;....................cur |
| 19ba0 | 73 6f 72 5f 79 2b 2b 3b 00 00 00 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 | sor_y++;...'................if.( |
| 19bc0 | 63 75 72 73 6f 72 5f 79 20 3e 3d 20 72 6f 77 73 29 20 7b 00 00 00 43 20 20 20 20 20 20 20 20 20 | cursor_y.>=.rows).{...C......... |
| 19be0 | 20 20 20 20 20 20 20 20 20 20 20 6d 65 6d 6d 6f 76 65 28 73 63 72 65 65 6e 5b 30 5d 2c 20 73 63 | ...........memmove(screen[0],.sc |
| 19c00 | 72 65 65 6e 5b 31 5d 2c 20 28 72 6f 77 73 20 2d 20 31 29 20 2a 20 38 30 29 3b 00 00 00 36 20 20 | reen[1],.(rows.-.1).*.80);...6.. |
| 19c20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 6d 73 65 74 28 73 63 72 65 65 6e 5b | ..................memset(screen[ |
| 19c40 | 72 6f 77 73 20 2d 20 31 5d 2c 20 27 20 27 2c 20 38 30 29 3b 00 00 00 28 20 20 20 20 20 20 20 20 | rows.-.1],.'.',.80);...(........ |
| 19c60 | 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 73 6f 72 5f 79 20 3d 20 72 6f 77 73 20 2d 20 31 3b | ............cursor_y.=.rows.-.1; |
| 19c80 | 00 00 00 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 0d 20 20 20 20 20 20 20 | ....................}........... |
| 19ca0 | 20 20 20 20 20 7d 00 00 00 2d 20 20 20 20 20 20 20 20 20 20 20 20 73 63 72 65 65 6e 5b 63 75 72 | .....}...-............screen[cur |
| 19cc0 | 73 6f 72 5f 79 5d 5b 63 75 72 73 6f 72 5f 78 2b 2b 5d 20 3d 20 63 3b 00 00 00 1c 20 20 20 20 20 | sor_y][cursor_x++].=.c;......... |
| 19ce0 | 20 20 20 20 20 20 20 6e 65 65 64 5f 72 65 64 72 61 77 20 3d 20 31 3b 00 00 00 1d 20 20 20 20 20 | .......need_redraw.=.1;......... |
| 19d00 | 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 63 20 3d 3d 20 32 37 29 20 7b 00 00 00 13 20 20 20 20 | ...}.else.if.(c.==.27).{........ |
| 19d20 | 20 20 20 20 20 20 20 20 69 20 2b 3d 20 32 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 05 | ........i.+=.2;............}.... |
| 19d40 | 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 27 73 74 61 74 69 63 20 69 6e 74 20 63 72 65 | ....}....}.......'static.int.cre |
| 19d60 | 61 74 65 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 00 00 00 01 7b 00 00 | ate_shm_file(size_t.size)....{.. |
| 19d80 | 00 0b 20 20 20 20 69 6e 74 20 66 64 3b 00 00 00 2b 20 20 20 20 63 68 61 72 20 74 65 6d 70 6c 61 | ......int.fd;...+....char.templa |
| 19da0 | 74 65 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 6c 2d 73 68 6d 2d 58 58 58 58 58 58 22 3b 00 00 00 04 | te[].=."/tmp/wl-shm-XXXXXX";.... |
| 19dc0 | 20 20 20 20 00 00 00 1b 20 20 20 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 65 6d 70 6c 61 74 | ............fd.=.mkstemp(templat |
| 19de0 | 65 29 3b 00 00 00 1a 20 20 20 20 69 66 20 28 66 64 20 3c 20 30 29 20 72 65 74 75 72 6e 20 2d 31 | e);........if.(fd.<.0).return.-1 |
| 19e00 | 3b 00 00 00 29 20 20 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 28 6f 66 66 5f | ;...)....if.(ftruncate(fd,.(off_ |
| 19e20 | 74 29 73 69 7a 65 29 20 3c 20 30 29 20 7b 00 00 00 12 20 20 20 20 20 20 20 20 63 6c 6f 73 65 28 | t)size).<.0).{............close( |
| 19e40 | 66 64 29 3b 00 00 00 12 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 2d 31 3b 00 00 00 05 20 20 | fd);............return.-1;...... |
| 19e60 | 20 20 7d 00 00 00 15 20 20 20 20 75 6e 6c 69 6e 6b 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 0e | ..}........unlink(template);.... |
| 19e80 | 20 20 20 20 72 65 74 75 72 6e 20 66 64 3b 00 00 00 01 7d 00 00 00 00 00 00 00 3d 73 74 61 74 69 | ....return.fd;....}.......=stati |
| 19ea0 | 63 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 63 72 65 61 74 65 5f 62 75 66 66 65 | c.struct.wl_buffer.*create_buffe |
| 19ec0 | 72 28 69 6e 74 20 77 69 64 74 68 2c 20 69 6e 74 20 68 65 69 67 68 74 29 00 00 00 01 7b 00 00 00 | r(int.width,.int.height)....{... |
| 19ee0 | 1b 20 20 20 20 69 6e 74 20 73 74 72 69 64 65 20 3d 20 77 69 64 74 68 20 2a 20 34 3b 00 00 00 1f | .....int.stride.=.width.*.4;.... |
| 19f00 | 20 20 20 20 69 6e 74 20 73 69 7a 65 20 3d 20 73 74 72 69 64 65 20 2a 20 68 65 69 67 68 74 3b 00 | ....int.size.=.stride.*.height;. |
| 19f20 | 00 00 0b 20 20 20 20 69 6e 74 20 66 64 3b 00 00 00 1d 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f | .......int.fd;........struct.wl_ |
| 19f40 | 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 3b 00 00 00 1d 20 20 20 20 73 74 72 75 63 74 20 77 6c | shm_pool.*pool;........struct.wl |
| 19f60 | 5f 62 75 66 66 65 72 20 2a 62 75 66 66 65 72 3b 00 00 00 04 20 20 20 20 00 00 00 1f 20 20 20 20 | _buffer.*buffer;................ |
| 19f80 | 66 64 20 3d 20 63 72 65 61 74 65 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 29 3b 00 00 00 1c 20 | fd.=.create_shm_file(size);..... |
| 19fa0 | 20 20 20 69 66 20 28 66 64 20 3c 20 30 29 20 72 65 74 75 72 6e 20 4e 55 4c 4c 3b 00 00 00 04 20 | ...if.(fd.<.0).return.NULL;..... |
| 19fc0 | 20 20 20 00 00 00 4d 20 20 20 20 70 69 78 65 6c 5f 64 61 74 61 20 3d 20 6d 6d 61 70 28 4e 55 4c | ......M....pixel_data.=.mmap(NUL |
| 19fe0 | 4c 2c 20 73 69 7a 65 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 | L,.size,.PROT_READ.|.PROT_WRITE, |
| 1a000 | 20 4d 41 50 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 23 20 20 20 20 69 66 20 28 | .MAP_SHARED,.fd,.0);...#....if.( |
| 1a020 | 70 69 78 65 6c 5f 64 61 74 61 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 20 7b 00 00 00 12 20 | pixel_data.==.MAP_FAILED).{..... |
| 1a040 | 20 20 20 20 20 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 14 20 20 20 20 20 20 20 20 72 65 74 | .......close(fd);............ret |
| 1a060 | 75 72 6e 20 4e 55 4c 4c 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 12 20 20 | urn.NULL;........}.............. |
| 1a080 | 20 20 64 72 61 77 5f 73 63 72 65 65 6e 28 29 3b 00 00 00 04 20 20 20 20 00 00 00 2d 20 20 20 20 | ..draw_screen();...........-.... |
| 1a0a0 | 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 73 68 6d 2c 20 66 | pool.=.wl_shm_create_pool(shm,.f |
| 1a0c0 | 64 2c 20 73 69 7a 65 29 3b 00 00 00 5f 20 20 20 20 62 75 66 66 65 72 20 3d 20 77 6c 5f 73 68 6d | d,.size);..._....buffer.=.wl_shm |
| 1a0e0 | 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 20 30 2c 20 77 69 64 | _pool_create_buffer(pool,.0,.wid |
| 1a100 | 74 68 2c 20 68 65 69 67 68 74 2c 20 73 74 72 69 64 65 2c 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 | th,.height,.stride,.WL_SHM_FORMA |
| 1a120 | 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 1e 20 20 20 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f | T_ARGB8888);........wl_shm_pool_ |
| 1a140 | 64 65 73 74 72 6f 79 28 70 6f 6f 6c 29 3b 00 00 00 0e 20 20 20 20 63 6c 6f 73 65 28 66 64 29 3b | destroy(pool);........close(fd); |
| 1a160 | 00 00 00 04 20 20 20 20 00 00 00 12 20 20 20 20 72 65 74 75 72 6e 20 62 75 66 66 65 72 3b 00 00 | ................return.buffer;.. |
| 1a180 | 00 01 7d 00 00 00 00 00 00 00 20 73 74 61 74 69 63 20 76 6f 69 64 20 64 65 73 74 72 6f 79 5f 62 | ..}........static.void.destroy_b |
| 1a1a0 | 75 66 66 65 72 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 18 20 20 20 20 69 66 20 28 77 69 6e 64 | uffer(void)....{........if.(wind |
| 1a1c0 | 6f 77 5f 62 75 66 66 65 72 29 20 7b 00 00 00 29 20 20 20 20 20 20 20 20 77 6c 5f 62 75 66 66 65 | ow_buffer).{...)........wl_buffe |
| 1a1e0 | 72 5f 64 65 73 74 72 6f 79 28 77 69 6e 64 6f 77 5f 62 75 66 66 65 72 29 3b 00 00 00 1d 20 20 20 | r_destroy(window_buffer);....... |
| 1a200 | 20 20 20 20 20 77 69 6e 64 6f 77 5f 62 75 66 66 65 72 20 3d 20 4e 55 4c 4c 3b 00 00 00 05 20 20 | .....window_buffer.=.NULL;...... |
| 1a220 | 20 20 7d 00 00 00 15 20 20 20 20 69 66 20 28 70 69 78 65 6c 5f 64 61 74 61 29 20 7b 00 00 00 3d | ..}........if.(pixel_data).{...= |
| 1a240 | 20 20 20 20 20 20 20 20 6d 75 6e 6d 61 70 28 70 69 78 65 6c 5f 64 61 74 61 2c 20 77 69 6e 64 6f | ........munmap(pixel_data,.windo |
| 1a260 | 77 5f 77 69 64 74 68 20 2a 20 77 69 6e 64 6f 77 5f 68 65 69 67 68 74 20 2a 20 34 29 3b 00 00 00 | w_width.*.window_height.*.4);... |
| 1a280 | 1a 20 20 20 20 20 20 20 20 70 69 78 65 6c 5f 64 61 74 61 20 3d 20 4e 55 4c 4c 3b 00 00 00 05 20 | .........pixel_data.=.NULL;..... |
| 1a2a0 | 20 20 20 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 72 65 73 | ...}....}.......0static.void.res |
| 1a2c0 | 69 7a 65 5f 77 69 6e 64 6f 77 28 69 6e 74 20 77 69 64 74 68 2c 20 69 6e 74 20 68 65 69 67 68 74 | ize_window(int.width,.int.height |
| 1a2e0 | 29 00 00 00 01 7b 00 00 00 2a 20 20 20 20 69 66 20 28 77 69 64 74 68 20 3c 3d 20 30 20 7c 7c 20 | )....{...*....if.(width.<=.0.||. |
| 1a300 | 68 65 69 67 68 74 20 3c 3d 20 30 29 20 72 65 74 75 72 6e 3b 00 00 00 04 20 20 20 20 00 00 00 1e | height.<=.0).return;............ |
| 1a320 | 20 20 20 20 63 6f 6c 73 20 3d 20 77 69 64 74 68 20 2f 20 63 68 61 72 5f 77 69 64 74 68 3b 00 00 | ....cols.=.width./.char_width;.. |
| 1a340 | 00 20 20 20 20 20 72 6f 77 73 20 3d 20 68 65 69 67 68 74 20 2f 20 63 68 61 72 5f 68 65 69 67 68 | ......rows.=.height./.char_heigh |
| 1a360 | 74 3b 00 00 00 1d 20 20 20 20 69 66 20 28 63 6f 6c 73 20 3c 20 31 30 29 20 63 6f 6c 73 20 3d 20 | t;........if.(cols.<.10).cols.=. |
| 1a380 | 31 30 3b 00 00 00 1b 20 20 20 20 69 66 20 28 72 6f 77 73 20 3c 20 35 29 20 72 6f 77 73 20 3d 20 | 10;........if.(rows.<.5).rows.=. |
| 1a3a0 | 35 3b 00 00 00 1d 20 20 20 20 69 66 20 28 63 6f 6c 73 20 3e 20 38 30 29 20 63 6f 6c 73 20 3d 20 | 5;........if.(cols.>.80).cols.=. |
| 1a3c0 | 38 30 3b 00 00 00 1d 20 20 20 20 69 66 20 28 72 6f 77 73 20 3e 20 32 35 29 20 72 6f 77 73 20 3d | 80;........if.(rows.>.25).rows.= |
| 1a3e0 | 20 32 35 3b 00 00 00 04 20 20 20 20 00 00 00 25 20 20 20 20 77 69 6e 64 6f 77 5f 77 69 64 74 68 | .25;...........%....window_width |
| 1a400 | 20 3d 20 63 6f 6c 73 20 2a 20 63 68 61 72 5f 77 69 64 74 68 3b 00 00 00 27 20 20 20 20 77 69 6e | .=.cols.*.char_width;...'....win |
| 1a420 | 64 6f 77 5f 68 65 69 67 68 74 20 3d 20 72 6f 77 73 20 2a 20 63 68 61 72 5f 68 65 69 67 68 74 3b | dow_height.=.rows.*.char_height; |
| 1a440 | 00 00 00 04 20 20 20 20 00 00 00 15 20 20 20 20 64 65 73 74 72 6f 79 5f 62 75 66 66 65 72 28 29 | ................destroy_buffer() |
| 1a460 | 3b 00 00 00 3f 20 20 20 20 77 69 6e 64 6f 77 5f 62 75 66 66 65 72 20 3d 20 63 72 65 61 74 65 5f | ;...?....window_buffer.=.create_ |
| 1a480 | 62 75 66 66 65 72 28 77 69 6e 64 6f 77 5f 77 69 64 74 68 2c 20 77 69 6e 64 6f 77 5f 68 65 69 67 | buffer(window_width,.window_heig |
| 1a4a0 | 68 74 29 3b 00 00 00 14 20 20 20 20 6e 65 65 64 5f 72 65 64 72 61 77 20 3d 20 31 3b 00 00 00 15 | ht);........need_redraw.=.1;.... |
| 1a4c0 | 20 20 20 20 6e 65 65 64 73 5f 72 65 73 69 7a 65 20 3d 20 30 3b 00 00 00 04 20 20 20 20 00 00 00 | ....needs_resize.=.0;........... |
| 1a4e0 | 1a 20 20 20 20 69 66 20 28 70 74 79 5f 6d 61 73 74 65 72 20 3e 3d 20 30 29 20 7b 00 00 00 1a 20 | .....if.(pty_master.>=.0).{..... |
| 1a500 | 20 20 20 20 20 20 20 73 74 72 75 63 74 20 77 69 6e 73 69 7a 65 20 77 73 3b 00 00 00 19 20 20 20 | .......struct.winsize.ws;....... |
| 1a520 | 20 20 20 20 20 77 73 2e 77 73 5f 72 6f 77 20 3d 20 72 6f 77 73 3b 00 00 00 19 20 20 20 20 20 20 | .....ws.ws_row.=.rows;.......... |
| 1a540 | 20 20 77 73 2e 77 73 5f 63 6f 6c 20 3d 20 63 6f 6c 73 3b 00 00 00 24 20 20 20 20 20 20 20 20 77 | ..ws.ws_col.=.cols;...$........w |
| 1a560 | 73 2e 77 73 5f 78 70 69 78 65 6c 20 3d 20 77 69 6e 64 6f 77 5f 77 69 64 74 68 3b 00 00 00 25 20 | s.ws_xpixel.=.window_width;...%. |
| 1a580 | 20 20 20 20 20 20 20 77 73 2e 77 73 5f 79 70 69 78 65 6c 20 3d 20 77 69 6e 64 6f 77 5f 68 65 69 | .......ws.ws_ypixel.=.window_hei |
| 1a5a0 | 67 68 74 3b 00 00 00 2b 20 20 20 20 20 20 20 20 69 6f 63 74 6c 28 70 74 79 5f 6d 61 73 74 65 72 | ght;...+........ioctl(pty_master |
| 1a5c0 | 2c 20 54 49 4f 43 53 57 49 4e 53 5a 2c 20 26 77 73 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 | ,.TIOCSWINSZ,.&ws);........}.... |
| 1a5e0 | 7d 00 00 00 00 00 00 00 4f 73 74 61 74 69 63 20 76 6f 69 64 20 66 72 61 6d 65 5f 64 6f 6e 65 28 | }.......Ostatic.void.frame_done( |
| 1a600 | 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 20 2a | void.*data,.struct.wl_callback.* |
| 1a620 | 63 61 6c 6c 62 61 63 6b 2c 20 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 29 00 00 00 01 7b 00 00 00 | callback,.uint32_t.time)....{... |
| 1a640 | 30 20 20 20 20 69 66 20 28 63 61 6c 6c 62 61 63 6b 29 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 5f 64 | 0....if.(callback).wl_callback_d |
| 1a660 | 65 73 74 72 6f 79 28 63 61 6c 6c 62 61 63 6b 29 3b 00 00 00 04 20 20 20 20 00 00 00 17 20 20 20 | estroy(callback);............... |
| 1a680 | 20 69 66 20 28 6e 65 65 64 73 5f 72 65 73 69 7a 65 29 20 7b 00 00 00 35 20 20 20 20 20 20 20 20 | .if.(needs_resize).{...5........ |
| 1a6a0 | 72 65 73 69 7a 65 5f 77 69 6e 64 6f 77 28 70 65 6e 64 69 6e 67 5f 77 69 64 74 68 2c 20 70 65 6e | resize_window(pending_width,.pen |
| 1a6c0 | 64 69 6e 67 5f 68 65 69 67 68 74 29 3b 00 00 00 1a 20 20 20 20 20 20 20 20 70 65 6e 64 69 6e 67 | ding_height);............pending |
| 1a6e0 | 5f 77 69 64 74 68 20 3d 20 30 3b 00 00 00 1b 20 20 20 20 20 20 20 20 70 65 6e 64 69 6e 67 5f 68 | _width.=.0;............pending_h |
| 1a700 | 65 69 67 68 74 20 3d 20 30 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 24 20 | eight.=.0;........}...........$. |
| 1a720 | 20 20 20 69 66 20 28 6e 65 65 64 5f 72 65 64 72 61 77 20 26 26 20 70 69 78 65 6c 5f 64 61 74 61 | ...if.(need_redraw.&&.pixel_data |
| 1a740 | 29 20 7b 00 00 00 16 20 20 20 20 20 20 20 20 64 72 61 77 5f 73 63 72 65 65 6e 28 29 3b 00 00 00 | ).{............draw_screen();... |
| 1a760 | 18 20 20 20 20 20 20 20 20 6e 65 65 64 5f 72 65 64 72 61 77 20 3d 20 30 3b 00 00 00 05 20 20 20 | .........need_redraw.=.0;....... |
| 1a780 | 20 7d 00 00 00 04 20 20 20 20 00 00 00 18 20 20 20 20 69 66 20 28 77 69 6e 64 6f 77 5f 62 75 66 | .}................if.(window_buf |
| 1a7a0 | 66 65 72 29 20 7b 00 00 00 38 20 20 20 20 20 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 | fer).{...8........wl_surface_att |
| 1a7c0 | 61 63 68 28 73 75 72 66 61 63 65 2c 20 77 69 6e 64 6f 77 5f 62 75 66 66 65 72 2c 20 30 2c 20 30 | ach(surface,.window_buffer,.0,.0 |
| 1a7e0 | 29 3b 00 00 00 46 20 20 20 20 20 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 61 6d 61 67 65 28 | );...F........wl_surface_damage( |
| 1a800 | 73 75 72 66 61 63 65 2c 20 30 2c 20 30 2c 20 77 69 6e 64 6f 77 5f 77 69 64 74 68 2c 20 77 69 6e | surface,.0,.0,.window_width,.win |
| 1a820 | 64 6f 77 5f 68 65 69 67 68 74 29 3b 00 00 00 23 20 20 20 20 20 20 20 20 77 6c 5f 73 75 72 66 61 | dow_height);...#........wl_surfa |
| 1a840 | 63 65 5f 63 6f 6d 6d 69 74 28 73 75 72 66 61 63 65 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 | ce_commit(surface);........}.... |
| 1a860 | 20 20 20 20 00 00 00 3f 20 20 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 | .......?....static.const.struct. |
| 1a880 | 77 6c 5f 63 61 6c 6c 62 61 63 6b 5f 6c 69 73 74 65 6e 65 72 20 66 72 61 6d 65 5f 6c 69 73 74 65 | wl_callback_listener.frame_liste |
| 1a8a0 | 6e 65 72 20 3d 20 7b 00 00 00 1a 20 20 20 20 20 20 20 20 2e 64 6f 6e 65 20 3d 20 66 72 61 6d 65 | ner.=.{.............done.=.frame |
| 1a8c0 | 5f 64 6f 6e 65 00 00 00 06 20 20 20 20 7d 3b 00 00 00 04 20 20 20 20 00 00 00 2f 20 20 20 20 66 | _done........};.........../....f |
| 1a8e0 | 72 61 6d 65 5f 63 61 6c 6c 62 61 63 6b 20 3d 20 77 6c 5f 73 75 72 66 61 63 65 5f 66 72 61 6d 65 | rame_callback.=.wl_surface_frame |
| 1a900 | 28 73 75 72 66 61 63 65 29 3b 00 00 00 44 20 20 20 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 5f 61 64 | (surface);...D....wl_callback_ad |
| 1a920 | 64 5f 6c 69 73 74 65 6e 65 72 28 66 72 61 6d 65 5f 63 61 6c 6c 62 61 63 6b 2c 20 26 66 72 61 6d | d_listener(frame_callback,.&fram |
| 1a940 | 65 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 53 73 | e_listener,.NULL);....}.......Ss |
| 1a960 | 74 61 74 69 63 20 76 6f 69 64 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 69 6e 67 28 76 6f 69 64 | tatic.void.xdg_wm_base_ping(void |
| 1a980 | 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 62 61 73 65 | .*data,.struct.xdg_wm_base.*base |
| 1a9a0 | 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 00 00 00 01 7b 00 00 00 23 20 20 20 20 78 | ,.uint32_t.serial)....{...#....x |
| 1a9c0 | 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 62 61 73 65 2c 20 73 65 72 69 61 6c 29 3b 00 00 | dg_wm_base_pong(base,.serial);.. |
| 1a9e0 | 00 01 7d 00 00 00 00 00 00 00 3d 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 | ..}.......=static.const.struct.x |
| 1aa00 | 64 67 5f 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 77 6d 5f 62 61 73 65 5f 6c 69 73 74 | dg_wm_base_listener.wm_base_list |
| 1aa20 | 65 6e 65 72 20 3d 20 7b 00 00 00 1c 20 20 20 20 2e 70 69 6e 67 20 3d 20 78 64 67 5f 77 6d 5f 62 | ener.=.{.........ping.=.xdg_wm_b |
| 1aa40 | 61 73 65 5f 70 69 6e 67 00 00 00 02 7d 3b 00 00 00 00 00 00 00 4d 73 74 61 74 69 63 20 76 6f 69 | ase_ping....};.......Mstatic.voi |
| 1aa60 | 64 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 63 6f 6e 66 69 67 75 72 65 28 76 6f 69 64 20 2a 64 | d.xdg_toplevel_configure(void.*d |
| 1aa80 | 61 74 61 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 74 6f 70 6c 65 76 | ata,.struct.xdg_toplevel.*toplev |
| 1aaa0 | 65 6c 2c 00 00 00 51 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 | el,...Q......................... |
| 1aac0 | 20 20 20 20 20 20 20 20 20 20 69 6e 74 33 32 5f 74 20 77 2c 20 69 6e 74 33 32 5f 74 20 68 2c 20 | ..........int32_t.w,.int32_t.h,. |
| 1aae0 | 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 74 61 74 65 73 29 00 00 00 01 7b 00 00 00 | struct.wl_array.*states)....{... |
| 1ab00 | 19 20 20 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 1a 20 20 | .....if.(w.>.0.&&.h.>.0).{...... |
| 1ab20 | 20 20 20 20 20 20 70 65 6e 64 69 6e 67 5f 77 69 64 74 68 20 3d 20 77 3b 00 00 00 1b 20 20 20 20 | ......pending_width.=.w;........ |
| 1ab40 | 20 20 20 20 70 65 6e 64 69 6e 67 5f 68 65 69 67 68 74 20 3d 20 68 3b 00 00 00 19 20 20 20 20 20 | ....pending_height.=.h;......... |
| 1ab60 | 20 20 20 6e 65 65 64 73 5f 72 65 73 69 7a 65 20 3d 20 31 3b 00 00 00 05 20 20 20 20 7d 00 00 00 | ...needs_resize.=.1;........}... |
| 1ab80 | 01 7d 00 00 00 00 00 00 00 49 73 74 61 74 69 63 20 76 6f 69 64 20 78 64 67 5f 74 6f 70 6c 65 76 | .}.......Istatic.void.xdg_toplev |
| 1aba0 | 65 6c 5f 63 6c 6f 73 65 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 78 64 67 5f | el_close(void.*data,.struct.xdg_ |
| 1abc0 | 74 6f 70 6c 65 76 65 6c 20 2a 74 6f 70 6c 65 76 65 6c 29 00 00 00 01 7b 00 00 00 10 20 20 20 20 | toplevel.*toplevel)....{........ |
| 1abe0 | 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 00 00 00 01 7d 00 00 00 00 00 00 00 3f 73 74 61 74 69 63 20 | running.=.0;....}.......?static. |
| 1ac00 | 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 |
| 1ac20 | 65 72 20 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 28 20 20 20 20 | er.toplevel_listener.=.{...(.... |
| 1ac40 | 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 63 6f 6e 66 69 67 | .configure.=.xdg_toplevel_config |
| 1ac60 | 75 72 65 2c 00 00 00 20 20 20 20 20 2e 63 6c 6f 73 65 20 3d 20 78 64 67 5f 74 6f 70 6c 65 76 65 | ure,.........close.=.xdg_topleve |
| 1ac80 | 6c 5f 63 6c 6f 73 65 2c 00 00 00 02 7d 3b 00 00 00 00 00 00 00 5b 73 74 61 74 69 63 20 76 6f 69 | l_close,....};.......[static.voi |
| 1aca0 | 64 20 78 64 67 5f 73 75 72 66 61 63 65 5f 63 6f 6e 66 69 67 75 72 65 28 76 6f 69 64 20 2a 64 61 | d.xdg_surface_configure(void.*da |
| 1acc0 | 74 61 2c 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 73 75 72 66 61 63 65 2c | ta,.struct.xdg_surface.*surface, |
| 1ace0 | 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 00 00 00 01 7b 00 00 00 2f 20 20 20 20 78 64 | .uint32_t.serial)....{.../....xd |
| 1ad00 | 67 5f 73 75 72 66 61 63 65 5f 61 63 6b 5f 63 6f 6e 66 69 67 75 72 65 28 73 75 72 66 61 63 65 2c | g_surface_ack_configure(surface, |
| 1ad20 | 20 73 65 72 69 61 6c 29 3b 00 00 00 19 20 20 20 20 69 66 20 28 21 77 69 6e 64 6f 77 5f 62 75 66 | .serial);........if.(!window_buf |
| 1ad40 | 66 65 72 29 20 7b 00 00 00 43 20 20 20 20 20 20 20 20 77 69 6e 64 6f 77 5f 62 75 66 66 65 72 20 | fer).{...C........window_buffer. |
| 1ad60 | 3d 20 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 77 69 6e 64 6f 77 5f 77 69 64 74 68 2c 20 77 69 | =.create_buffer(window_width,.wi |
| 1ad80 | 6e 64 6f 77 5f 68 65 69 67 68 74 29 3b 00 00 00 22 20 20 20 20 20 20 20 20 66 72 61 6d 65 5f 64 | ndow_height);..."........frame_d |
| 1ada0 | 6f 6e 65 28 4e 55 4c 4c 2c 20 4e 55 4c 4c 2c 20 30 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 | one(NULL,.NULL,.0);........}.... |
| 1adc0 | 7d 00 00 00 00 00 00 00 41 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 | }.......Astatic.const.struct.xdg |
| 1ade0 | 5f 73 75 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 20 78 64 67 5f 73 75 72 66 61 63 65 5f 6c 69 | _surface_listener.xdg_surface_li |
| 1ae00 | 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 27 20 20 20 20 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 | stener.=.{...'.....configure.=.x |
| 1ae20 | 64 67 5f 73 75 72 66 61 63 65 5f 63 6f 6e 66 69 67 75 72 65 2c 00 00 00 02 7d 3b 00 00 00 00 00 | dg_surface_configure,....};..... |
| 1ae40 | 00 00 42 73 74 61 74 69 63 20 76 6f 69 64 20 6b 65 79 62 6f 61 72 64 5f 6b 65 79 28 76 6f 69 64 | ..Bstatic.void.keyboard_key(void |
| 1ae60 | 20 2a 64 61 74 61 2c 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 | .*data,.struct.wl_keyboard.*keyb |
| 1ae80 | 6f 61 72 64 2c 00 00 00 56 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | oard,...V....................... |
| 1aea0 | 20 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 69 6d 65 | ..uint32_t.serial,.uint32_t.time |
| 1aec0 | 2c 20 75 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 00 | ,.uint32_t.key,.uint32_t.state). |
| 1aee0 | 00 00 01 7b 00 00 00 44 20 20 20 20 69 66 20 28 73 74 61 74 65 20 3d 3d 20 57 4c 5f 4b 45 59 42 | ...{...D....if.(state.==.WL_KEYB |
| 1af00 | 4f 41 52 44 5f 4b 45 59 5f 53 54 41 54 45 5f 50 52 45 53 53 45 44 20 26 26 20 70 74 79 5f 6d 61 | OARD_KEY_STATE_PRESSED.&&.pty_ma |
| 1af20 | 73 74 65 72 20 3e 3d 20 30 29 20 7b 00 00 00 13 20 20 20 20 20 20 20 20 63 68 61 72 20 63 20 3d | ster.>=.0).{............char.c.= |
| 1af40 | 20 30 3b 00 00 00 08 20 20 20 20 20 20 20 20 00 00 00 25 20 20 20 20 20 20 20 20 69 66 20 28 6b | .0;...............%........if.(k |
| 1af60 | 65 79 20 3e 3d 20 31 36 20 26 26 20 6b 65 79 20 3c 3d 20 32 35 29 20 7b 00 00 00 2c 20 20 20 20 | ey.>=.16.&&.key.<=.25).{...,.... |
| 1af80 | 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 72 6f 77 31 20 3d 20 22 71 77 65 72 | ........const.char.*row1.=."qwer |
| 1afa0 | 74 79 75 69 6f 70 22 3b 00 00 00 1f 20 20 20 20 20 20 20 20 20 20 20 20 63 20 3d 20 72 6f 77 31 | tyuiop";................c.=.row1 |
| 1afc0 | 5b 6b 65 79 20 2d 20 31 36 5d 3b 00 00 00 2c 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 69 66 | [key.-.16];...,........}.else.if |
| 1afe0 | 20 28 6b 65 79 20 3e 3d 20 32 36 20 26 26 20 6b 65 79 20 3c 3d 20 33 35 29 20 7b 00 00 00 2b 20 | .(key.>=.26.&&.key.<=.35).{...+. |
| 1b000 | 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 72 6f 77 32 20 3d 20 22 61 | ...........const.char.*row2.=."a |
| 1b020 | 73 64 66 67 68 6a 6b 6c 22 3b 00 00 00 1f 20 20 20 20 20 20 20 20 20 20 20 20 63 20 3d 20 72 6f | sdfghjkl";................c.=.ro |
| 1b040 | 77 32 5b 6b 65 79 20 2d 20 32 36 5d 3b 00 00 00 2c 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 | w2[key.-.26];...,........}.else. |
| 1b060 | 69 66 20 28 6b 65 79 20 3e 3d 20 33 36 20 26 26 20 6b 65 79 20 3c 3d 20 34 35 29 20 7b 00 00 00 | if.(key.>=.36.&&.key.<=.45).{... |
| 1b080 | 29 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 72 6f 77 33 20 3d 20 | )............const.char.*row3.=. |
| 1b0a0 | 22 7a 78 63 76 62 6e 6d 22 3b 00 00 00 1f 20 20 20 20 20 20 20 20 20 20 20 20 63 20 3d 20 72 6f | "zxcvbnm";................c.=.ro |
| 1b0c0 | 77 33 5b 6b 65 79 20 2d 20 33 36 5d 3b 00 00 00 2c 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 | w3[key.-.36];...,........}.else. |
| 1b0e0 | 69 66 20 28 6b 65 79 20 3e 3d 20 34 36 20 26 26 20 6b 65 79 20 3c 3d 20 35 35 29 20 7b 00 00 00 | if.(key.>=.46.&&.key.<=.55).{... |
| 1b100 | 21 20 20 20 20 20 20 20 20 20 20 20 20 63 20 3d 20 27 30 27 20 2b 20 28 6b 65 79 20 2d 20 34 36 | !............c.=.'0'.+.(key.-.46 |
| 1b120 | 29 3b 00 00 00 1f 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 6b 65 79 20 3d 3d 20 | );............}.else.if.(key.==. |
| 1b140 | 35 37 29 20 7b 00 00 00 14 20 20 20 20 20 20 20 20 20 20 20 20 63 20 3d 20 27 20 27 3b 00 00 00 | 57).{................c.=.'.';... |
| 1b160 | 1f 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 6b 65 79 20 3d 3d 20 35 38 29 20 7b | .........}.else.if.(key.==.58).{ |
| 1b180 | 00 00 00 15 20 20 20 20 20 20 20 20 20 20 20 20 63 20 3d 20 27 5c 6e 27 3b 00 00 00 1f 20 20 20 | ................c.=.'\n';....... |
| 1b1a0 | 20 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 6b 65 79 20 3d 3d 20 31 34 29 20 7b 00 00 00 15 | .....}.else.if.(key.==.14).{.... |
| 1b1c0 | 20 20 20 20 20 20 20 20 20 20 20 20 63 20 3d 20 27 5c 62 27 3b 00 00 00 1e 20 20 20 20 20 20 20 | ............c.=.'\b';........... |
| 1b1e0 | 20 7d 20 65 6c 73 65 20 69 66 20 28 6b 65 79 20 3d 3d 20 39 29 20 7b 00 00 00 15 20 20 20 20 20 | .}.else.if.(key.==.9).{......... |
| 1b200 | 20 20 20 20 20 20 20 63 20 3d 20 27 5c 74 27 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 | .......c.=.'\t';............}... |
| 1b220 | 08 20 20 20 20 20 20 20 20 00 00 00 10 20 20 20 20 20 20 20 20 69 66 20 28 63 29 20 7b 00 00 00 | .....................if.(c).{... |
| 1b240 | 25 20 20 20 20 20 20 20 20 20 20 20 20 77 72 69 74 65 28 70 74 79 5f 6d 61 73 74 65 72 2c 20 26 | %............write(pty_master,.& |
| 1b260 | 63 2c 20 31 29 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 01 | c,.1);............}........}.... |
| 1b280 | 7d 00 00 00 00 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 | }.......>static.const.struct.wl_ |
| 1b2a0 | 6b 65 79 62 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 | keyboard_listener.keyboard_liste |
| 1b2c0 | 6e 65 72 20 3d 20 7b 00 00 00 13 20 20 20 20 2e 6b 65 79 6d 61 70 20 3d 20 4e 55 4c 4c 2c 00 00 | ner.=.{.........keymap.=.NULL,.. |
| 1b2e0 | 00 12 20 20 20 20 2e 65 6e 74 65 72 20 3d 20 4e 55 4c 4c 2c 00 00 00 12 20 20 20 20 2e 6c 65 61 | .......enter.=.NULL,.........lea |
| 1b300 | 76 65 20 3d 20 4e 55 4c 4c 2c 00 00 00 18 20 20 20 20 2e 6b 65 79 20 3d 20 6b 65 79 62 6f 61 72 | ve.=.NULL,.........key.=.keyboar |
| 1b320 | 64 5f 6b 65 79 2c 00 00 00 16 20 20 20 20 2e 6d 6f 64 69 66 69 65 72 73 20 3d 20 4e 55 4c 4c 2c | d_key,.........modifiers.=.NULL, |
| 1b340 | 00 00 00 02 7d 3b 00 00 00 00 00 00 00 56 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 61 74 5f 63 | ....};.......Vstatic.void.seat_c |
| 1b360 | 61 70 61 62 69 6c 69 74 69 65 73 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 | apabilities(void.*data,.struct.w |
| 1b380 | 6c 5f 73 65 61 74 20 2a 73 65 61 74 2c 20 75 69 6e 74 33 32 5f 74 20 63 61 70 61 62 69 6c 69 74 | l_seat.*seat,.uint32_t.capabilit |
| 1b3a0 | 69 65 73 29 00 00 00 01 7b 00 00 00 35 20 20 20 20 69 66 20 28 63 61 70 61 62 69 6c 69 74 69 65 | ies)....{...5....if.(capabilitie |
| 1b3c0 | 73 20 26 20 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 | s.&.WL_SEAT_CAPABILITY_KEYBOARD) |
| 1b3e0 | 20 7b 00 00 00 2e 20 20 20 20 20 20 20 20 6b 65 79 62 6f 61 72 64 20 3d 20 77 6c 5f 73 65 61 74 | .{............keyboard.=.wl_seat |
| 1b400 | 5f 67 65 74 5f 6b 65 79 62 6f 61 72 64 28 73 65 61 74 29 3b 00 00 00 45 20 20 20 20 20 20 20 20 | _get_keyboard(seat);...E........ |
| 1b420 | 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 6b 65 79 62 6f 61 72 | wl_keyboard_add_listener(keyboar |
| 1b440 | 64 2c 20 26 6b 65 79 62 6f 61 72 64 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 | d,.&keyboard_listener,.NULL);... |
| 1b460 | 23 20 20 20 20 20 20 20 20 70 72 69 6e 74 66 28 22 6b 65 79 62 6f 61 72 64 20 72 65 61 64 79 5c | #........printf("keyboard.ready\ |
| 1b480 | 6e 22 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 36 73 74 61 74 69 63 | n");........}....}.......6static |
| 1b4a0 | 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 20 73 | .const.struct.wl_seat_listener.s |
| 1b4c0 | 65 61 74 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 26 20 20 20 20 2e 63 61 70 61 62 69 6c | eat_listener.=.{...&.....capabil |
| 1b4e0 | 69 74 69 65 73 20 3d 20 73 65 61 74 5f 63 61 70 61 62 69 6c 69 74 69 65 73 2c 00 00 00 02 7d 3b | ities.=.seat_capabilities,....}; |
| 1b500 | 00 00 00 00 00 00 00 43 73 74 61 74 69 63 20 76 6f 69 64 20 68 61 6e 64 6c 65 5f 67 6c 6f 62 61 | .......Cstatic.void.handle_globa |
| 1b520 | 6c 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 | l(void.*data,.struct.wl_registry |
| 1b540 | 20 2a 72 65 67 69 73 74 72 79 2c 00 00 00 51 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .*registry,...Q................. |
| 1b560 | 20 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 6e 61 6d 65 2c 20 63 6f 6e 73 74 20 63 68 | .........uint32_t.name,.const.ch |
| 1b580 | 61 72 20 2a 69 6e 74 65 72 66 61 63 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 65 72 73 69 6f 6e 29 | ar.*interface,.uint32_t.version) |
| 1b5a0 | 00 00 00 01 7b 00 00 00 32 20 20 20 20 69 66 20 28 73 74 72 63 6d 70 28 69 6e 74 65 72 66 61 63 | ....{...2....if.(strcmp(interfac |
| 1b5c0 | 65 2c 20 22 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 22 29 20 3d 3d 20 30 29 20 7b 00 00 00 53 20 | e,."wl_compositor").==.0).{...S. |
| 1b5e0 | 20 20 20 20 20 20 20 63 6f 6d 70 6f 73 69 74 6f 72 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f | .......compositor.=.wl_registry_ |
| 1b600 | 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 6e 61 6d 65 2c 20 26 77 6c 5f 63 6f 6d 70 6f 73 69 | bind(registry,.name,.&wl_composi |
| 1b620 | 74 6f 72 5f 69 6e 74 65 72 66 61 63 65 2c 20 34 29 3b 00 00 00 25 20 20 20 20 20 20 20 20 70 72 | tor_interface,.4);...%........pr |
| 1b640 | 69 6e 74 66 28 22 63 6f 6d 70 6f 73 69 74 6f 72 20 62 6f 75 6e 64 5c 6e 22 29 3b 00 00 00 32 20 | intf("compositor.bound\n");...2. |
| 1b660 | 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d 70 28 69 6e 74 65 72 66 61 63 65 2c 20 | ...}.else.if.(strcmp(interface,. |
| 1b680 | 22 77 6c 5f 73 68 6d 22 29 20 3d 3d 20 30 29 20 7b 00 00 00 45 20 20 20 20 20 20 20 20 73 68 6d | "wl_shm").==.0).{...E........shm |
| 1b6a0 | 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 6e 61 | .=.wl_registry_bind(registry,.na |
| 1b6c0 | 6d 65 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 1e 20 20 | me,.&wl_shm_interface,.1);...... |
| 1b6e0 | 20 20 20 20 20 20 70 72 69 6e 74 66 28 22 73 68 6d 20 62 6f 75 6e 64 5c 6e 22 29 3b 00 00 00 37 | ......printf("shm.bound\n");...7 |
| 1b700 | 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d 70 28 69 6e 74 65 72 66 61 63 65 2c | ....}.else.if.(strcmp(interface, |
| 1b720 | 20 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 20 3d 3d 20 30 29 20 7b 00 00 00 4e 20 20 20 20 20 | ."xdg_wm_base").==.0).{...N..... |
| 1b740 | 20 20 20 77 6d 5f 62 61 73 65 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 | ...wm_base.=.wl_registry_bind(re |
| 1b760 | 67 69 73 74 72 79 2c 20 6e 61 6d 65 2c 20 26 78 64 67 5f 77 6d 5f 62 61 73 65 5f 69 6e 74 65 72 | gistry,.name,.&xdg_wm_base_inter |
| 1b780 | 66 61 63 65 2c 20 31 29 3b 00 00 00 43 20 20 20 20 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 | face,.1);...C........xdg_wm_base |
| 1b7a0 | 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 77 6d 5f 62 61 73 65 2c 20 26 77 6d 5f 62 61 73 65 5f | _add_listener(wm_base,.&wm_base_ |
| 1b7c0 | 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 26 20 20 20 20 20 20 20 20 70 72 69 6e | listener,.NULL);...&........prin |
| 1b7e0 | 74 66 28 22 78 64 67 5f 77 6d 5f 62 61 73 65 20 62 6f 75 6e 64 5c 6e 22 29 3b 00 00 00 33 20 20 | tf("xdg_wm_base.bound\n");...3.. |
| 1b800 | 20 20 7d 20 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d 70 28 69 6e 74 65 72 66 61 63 65 2c 20 22 | ..}.else.if.(strcmp(interface,." |
| 1b820 | 77 6c 5f 73 65 61 74 22 29 20 3d 3d 20 30 29 20 7b 00 00 00 47 20 20 20 20 20 20 20 20 73 65 61 | wl_seat").==.0).{...G........sea |
| 1b840 | 74 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 6e | t.=.wl_registry_bind(registry,.n |
| 1b860 | 61 6d 65 2c 20 26 77 6c 5f 73 65 61 74 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 39 | ame,.&wl_seat_interface,.1);...9 |
| 1b880 | 20 20 20 20 20 20 20 20 77 6c 5f 73 65 61 74 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 73 65 61 | ........wl_seat_add_listener(sea |
| 1b8a0 | 74 2c 20 26 73 65 61 74 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 1f 20 20 20 | t,.&seat_listener,.NULL);....... |
| 1b8c0 | 20 20 20 20 20 70 72 69 6e 74 66 28 22 73 65 61 74 20 62 6f 75 6e 64 5c 6e 22 29 3b 00 00 00 05 | .....printf("seat.bound\n");.... |
| 1b8e0 | 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 3e 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 | ....}....}.......>static.const.s |
| 1b900 | 74 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 69 73 | truct.wl_registry_listener.regis |
| 1b920 | 74 72 79 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 1c 20 20 20 20 2e 67 6c 6f 62 61 6c 20 | try_listener.=.{.........global. |
| 1b940 | 3d 20 68 61 6e 64 6c 65 5f 67 6c 6f 62 61 6c 2c 00 00 00 1a 20 20 20 20 2e 67 6c 6f 62 61 6c 5f | =.handle_global,.........global_ |
| 1b960 | 72 65 6d 6f 76 65 20 3d 20 4e 55 4c 4c 2c 00 00 00 02 7d 3b 00 00 00 00 00 00 00 1a 73 74 61 74 | remove.=.NULL,....};........stat |
| 1b980 | 69 63 20 69 6e 74 20 73 65 74 75 70 5f 70 74 79 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 18 20 | ic.int.setup_pty(void)....{..... |
| 1b9a0 | 20 20 20 73 74 72 75 63 74 20 74 65 72 6d 69 6f 73 20 74 65 72 6d 3b 00 00 00 04 20 20 20 20 00 | ...struct.termios.term;......... |
| 1b9c0 | 00 00 36 20 20 20 20 70 74 79 5f 6d 61 73 74 65 72 20 3d 20 6f 70 65 6e 28 22 2f 64 65 76 2f 70 | ..6....pty_master.=.open("/dev/p |
| 1b9e0 | 74 6d 78 22 2c 20 4f 5f 52 44 57 52 20 7c 20 4f 5f 4e 4f 43 54 54 59 29 3b 00 00 00 19 20 20 20 | tmx",.O_RDWR.|.O_NOCTTY);....... |
| 1ba00 | 20 69 66 20 28 70 74 79 5f 6d 61 73 74 65 72 20 3c 20 30 29 20 7b 00 00 00 1c 20 20 20 20 20 20 | .if.(pty_master.<.0).{.......... |
| 1ba20 | 20 20 70 65 72 72 6f 72 28 22 6f 70 65 6e 20 70 74 6d 78 22 29 3b 00 00 00 12 20 20 20 20 20 20 | ..perror("open.ptmx");.......... |
| 1ba40 | 20 20 72 65 74 75 72 6e 20 2d 31 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 | ..return.-1;........}........... |
| 1ba60 | 22 20 20 20 20 69 66 20 28 67 72 61 6e 74 70 74 28 70 74 79 5f 6d 61 73 74 65 72 29 20 3c 20 30 | "....if.(grantpt(pty_master).<.0 |
| 1ba80 | 29 20 7b 00 00 00 1a 20 20 20 20 20 20 20 20 70 65 72 72 6f 72 28 22 67 72 61 6e 74 70 74 22 29 | ).{............perror("grantpt") |
| 1baa0 | 3b 00 00 00 12 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 2d 31 3b 00 00 00 05 20 20 20 20 7d | ;............return.-1;........} |
| 1bac0 | 00 00 00 04 20 20 20 20 00 00 00 23 20 20 20 20 69 66 20 28 75 6e 6c 6f 63 6b 70 74 28 70 74 79 | ...........#....if.(unlockpt(pty |
| 1bae0 | 5f 6d 61 73 74 65 72 29 20 3c 20 30 29 20 7b 00 00 00 1b 20 20 20 20 20 20 20 20 70 65 72 72 6f | _master).<.0).{............perro |
| 1bb00 | 72 28 22 75 6e 6c 6f 63 6b 70 74 22 29 3b 00 00 00 12 20 20 20 20 20 20 20 20 72 65 74 75 72 6e | r("unlockpt");............return |
| 1bb20 | 20 2d 31 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 3d 20 20 20 20 70 74 79 | .-1;........}...........=....pty |
| 1bb40 | 5f 73 6c 61 76 65 20 3d 20 6f 70 65 6e 28 70 74 73 6e 61 6d 65 28 70 74 79 5f 6d 61 73 74 65 72 | _slave.=.open(ptsname(pty_master |
| 1bb60 | 29 2c 20 4f 5f 52 44 57 52 20 7c 20 4f 5f 4e 4f 43 54 54 59 29 3b 00 00 00 18 20 20 20 20 69 66 | ),.O_RDWR.|.O_NOCTTY);........if |
| 1bb80 | 20 28 70 74 79 5f 73 6c 61 76 65 20 3c 20 30 29 20 7b 00 00 00 1d 20 20 20 20 20 20 20 20 70 65 | .(pty_slave.<.0).{............pe |
| 1bba0 | 72 72 6f 72 28 22 6f 70 65 6e 20 73 6c 61 76 65 22 29 3b 00 00 00 12 20 20 20 20 20 20 20 20 72 | rror("open.slave");............r |
| 1bbc0 | 65 74 75 72 6e 20 2d 31 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 20 20 20 | eturn.-1;........}.............. |
| 1bbe0 | 20 20 74 63 67 65 74 61 74 74 72 28 70 74 79 5f 73 6c 61 76 65 2c 20 26 74 65 72 6d 29 3b 00 00 | ..tcgetattr(pty_slave,.&term);.. |
| 1bc00 | 00 15 20 20 20 20 63 66 6d 61 6b 65 72 61 77 28 26 74 65 72 6d 29 3b 00 00 00 29 20 20 20 20 74 | ......cfmakeraw(&term);...)....t |
| 1bc20 | 63 73 65 74 61 74 74 72 28 70 74 79 5f 73 6c 61 76 65 2c 20 54 43 53 41 4e 4f 57 2c 20 26 74 65 | csetattr(pty_slave,.TCSANOW,.&te |
| 1bc40 | 72 6d 29 3b 00 00 00 04 20 20 20 20 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 30 3b 00 00 00 | rm);................return.0;... |
| 1bc60 | 01 7d 00 00 00 00 00 00 00 1b 73 74 61 74 69 63 20 76 6f 69 64 20 72 75 6e 5f 73 68 65 6c 6c 28 | .}........static.void.run_shell( |
| 1bc80 | 76 6f 69 64 29 00 00 00 01 7b 00 00 00 17 20 20 20 20 73 68 65 6c 6c 5f 70 69 64 20 3d 20 66 6f | void)....{........shell_pid.=.fo |
| 1bca0 | 72 6b 28 29 3b 00 00 00 04 20 20 20 20 00 00 00 19 20 20 20 20 69 66 20 28 73 68 65 6c 6c 5f 70 | rk();................if.(shell_p |
| 1bcc0 | 69 64 20 3d 3d 20 30 29 20 7b 00 00 00 11 20 20 20 20 20 20 20 20 73 65 74 73 69 64 28 29 3b 00 | id.==.0).{............setsid();. |
| 1bce0 | 00 00 08 20 20 20 20 20 20 20 20 00 00 00 1a 20 20 20 20 20 20 20 20 63 6c 6f 73 65 28 70 74 79 | .......................close(pty |
| 1bd00 | 5f 6d 61 73 74 65 72 29 3b 00 00 00 08 20 20 20 20 20 20 20 20 00 00 00 27 20 20 20 20 20 20 20 | _master);...............'....... |
| 1bd20 | 20 69 6f 63 74 6c 28 70 74 79 5f 73 6c 61 76 65 2c 20 54 49 4f 43 53 43 54 54 59 2c 20 30 29 3b | .ioctl(pty_slave,.TIOCSCTTY,.0); |
| 1bd40 | 00 00 00 08 20 20 20 20 20 20 20 20 00 00 00 1b 20 20 20 20 20 20 20 20 64 75 70 32 28 70 74 79 | ........................dup2(pty |
| 1bd60 | 5f 73 6c 61 76 65 2c 20 30 29 3b 00 00 00 1b 20 20 20 20 20 20 20 20 64 75 70 32 28 70 74 79 5f | _slave,.0);............dup2(pty_ |
| 1bd80 | 73 6c 61 76 65 2c 20 31 29 3b 00 00 00 1b 20 20 20 20 20 20 20 20 64 75 70 32 28 70 74 79 5f 73 | slave,.1);............dup2(pty_s |
| 1bda0 | 6c 61 76 65 2c 20 32 29 3b 00 00 00 08 20 20 20 20 20 20 20 20 00 00 00 19 20 20 20 20 20 20 20 | lave,.2);....................... |
| 1bdc0 | 20 63 6c 6f 73 65 28 70 74 79 5f 73 6c 61 76 65 29 3b 00 00 00 08 20 20 20 20 20 20 20 20 00 00 | .close(pty_slave);.............. |
| 1bde0 | 00 26 20 20 20 20 20 20 20 20 63 68 61 72 20 2a 73 68 65 6c 6c 20 3d 20 67 65 74 65 6e 76 28 22 | .&........char.*shell.=.getenv(" |
| 1be00 | 53 48 45 4c 4c 22 29 3b 00 00 00 26 20 20 20 20 20 20 20 20 69 66 20 28 21 73 68 65 6c 6c 29 20 | SHELL");...&........if.(!shell). |
| 1be20 | 73 68 65 6c 6c 20 3d 20 22 2f 62 69 6e 2f 73 68 22 3b 00 00 00 08 20 20 20 20 20 20 20 20 00 00 | shell.=."/bin/sh";.............. |
| 1be40 | 00 22 20 20 20 20 20 20 20 20 65 78 65 63 6c 28 73 68 65 6c 6c 2c 20 73 68 65 6c 6c 2c 20 4e 55 | ."........execl(shell,.shell,.NU |
| 1be60 | 4c 4c 29 3b 00 00 00 10 20 20 20 20 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 05 20 20 20 20 | LL);............exit(1);........ |
| 1be80 | 7d 00 00 00 04 20 20 20 20 00 00 00 15 20 20 20 20 63 6c 6f 73 65 28 70 74 79 5f 73 6c 61 76 65 | }................close(pty_slave |
| 1bea0 | 29 3b 00 00 00 13 20 20 20 20 70 74 79 5f 73 6c 61 76 65 20 3d 20 2d 31 3b 00 00 00 01 7d 00 00 | );........pty_slave.=.-1;....}.. |
| 1bec0 | 00 00 00 00 00 1d 73 74 61 74 69 63 20 76 6f 69 64 20 63 6c 65 61 6e 75 70 5f 70 74 79 28 76 6f | ......static.void.cleanup_pty(vo |
| 1bee0 | 69 64 29 00 00 00 01 7b 00 00 00 18 20 20 20 20 69 66 20 28 73 68 65 6c 6c 5f 70 69 64 20 3e 20 | id)....{........if.(shell_pid.>. |
| 1bf00 | 30 29 20 7b 00 00 00 21 20 20 20 20 20 20 20 20 6b 69 6c 6c 28 73 68 65 6c 6c 5f 70 69 64 2c 20 | 0).{...!........kill(shell_pid,. |
| 1bf20 | 53 49 47 54 45 52 4d 29 3b 00 00 00 24 20 20 20 20 20 20 20 20 77 61 69 74 70 69 64 28 73 68 65 | SIGTERM);...$........waitpid(she |
| 1bf40 | 6c 6c 5f 70 69 64 2c 20 4e 55 4c 4c 2c 20 30 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 2b 20 20 | ll_pid,.NULL,.0);........}...+.. |
| 1bf60 | 20 20 69 66 20 28 70 74 79 5f 6d 61 73 74 65 72 20 3e 3d 20 30 29 20 63 6c 6f 73 65 28 70 74 79 | ..if.(pty_master.>=.0).close(pty |
| 1bf80 | 5f 6d 61 73 74 65 72 29 3b 00 00 00 29 20 20 20 20 69 66 20 28 70 74 79 5f 73 6c 61 76 65 20 3e | _master);...)....if.(pty_slave.> |
| 1bfa0 | 3d 20 30 29 20 63 6c 6f 73 65 28 70 74 79 5f 73 6c 61 76 65 29 3b 00 00 00 01 7d 00 00 00 00 00 | =.0).close(pty_slave);....}..... |
| 1bfc0 | 00 00 0e 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 21 20 20 20 20 73 74 | ...int.main(void)....{...!....st |
| 1bfe0 | 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 69 73 74 72 79 3b 00 00 00 0f 20 | ruct.wl_registry.*registry;..... |
| 1c000 | 20 20 20 66 64 5f 73 65 74 20 66 64 73 3b 00 00 00 13 20 20 20 20 69 6e 74 20 77 61 79 6c 61 6e | ...fd_set.fds;........int.waylan |
| 1c020 | 64 5f 66 64 3b 00 00 00 04 20 20 20 20 00 00 00 28 20 20 20 20 6d 65 6d 73 65 74 28 73 63 72 65 | d_fd;...........(....memset(scre |
| 1c040 | 65 6e 2c 20 27 20 27 2c 20 73 69 7a 65 6f 66 28 73 63 72 65 65 6e 29 29 3b 00 00 00 1d 20 20 20 | en,.'.',.sizeof(screen));....... |
| 1c060 | 20 73 69 67 6e 61 6c 28 53 49 47 43 48 4c 44 2c 20 53 49 47 5f 49 47 4e 29 3b 00 00 00 04 20 20 | .signal(SIGCHLD,.SIG_IGN);...... |
| 1c080 | 20 20 00 00 00 22 20 20 20 20 70 72 69 6e 74 66 28 22 73 65 74 74 69 6e 67 20 75 70 20 70 74 79 | ....."....printf("setting.up.pty |
| 1c0a0 | 2e 2e 2e 5c 6e 22 29 3b 00 00 00 1a 20 20 20 20 69 66 20 28 73 65 74 75 70 5f 70 74 79 28 29 20 | ...\n");........if.(setup_pty(). |
| 1c0c0 | 3c 20 30 29 20 7b 00 00 00 31 20 20 20 20 20 20 20 20 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 | <.0).{...1........fprintf(stderr |
| 1c0e0 | 2c 20 22 66 61 69 6c 65 64 20 74 6f 20 73 65 74 75 70 20 70 74 79 5c 6e 22 29 3b 00 00 00 11 20 | ,."failed.to.setup.pty\n");..... |
| 1c100 | 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 | .......return.1;........}....... |
| 1c120 | 20 00 00 00 21 20 20 20 20 70 72 69 6e 74 66 28 22 72 75 6e 6e 69 6e 67 20 73 68 65 6c 6c 2e 2e | ....!....printf("running.shell.. |
| 1c140 | 2e 5c 6e 22 29 3b 00 00 00 10 20 20 20 20 72 75 6e 5f 73 68 65 6c 6c 28 29 3b 00 00 00 04 20 20 | .\n");........run_shell();...... |
| 1c160 | 20 20 00 00 00 29 20 20 20 20 70 72 69 6e 74 66 28 22 63 6f 6e 6e 65 63 74 69 6e 67 20 74 6f 20 | .....)....printf("connecting.to. |
| 1c180 | 77 61 79 6c 61 6e 64 2e 2e 2e 5c 6e 22 29 3b 00 00 00 27 20 20 20 20 64 69 73 70 6c 61 79 20 3d | wayland...\n");...'....display.= |
| 1c1a0 | 20 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 13 20 20 | .wl_display_connect(NULL);...... |
| 1c1c0 | 20 20 69 66 20 28 21 64 69 73 70 6c 61 79 29 20 7b 00 00 00 3a 20 20 20 20 20 20 20 20 66 70 72 | ..if.(!display).{...:........fpr |
| 1c1e0 | 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 66 61 69 6c 65 64 20 74 6f 20 63 6f 6e 6e 65 63 74 20 | intf(stderr,."failed.to.connect. |
| 1c200 | 74 6f 20 77 61 79 6c 61 6e 64 5c 6e 22 29 3b 00 00 00 16 20 20 20 20 20 20 20 20 63 6c 65 61 6e | to.wayland\n");............clean |
| 1c220 | 75 70 5f 70 74 79 28 29 3b 00 00 00 11 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 | up_pty();............return.1;.. |
| 1c240 | 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 30 20 20 20 20 72 65 67 69 73 74 72 79 20 | ......}...........0....registry. |
| 1c260 | 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 64 69 73 70 6c 61 | =.wl_display_get_registry(displa |
| 1c280 | 79 29 3b 00 00 00 41 20 20 20 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 61 64 64 5f 6c 69 73 74 65 | y);...A....wl_registry_add_liste |
| 1c2a0 | 6e 65 72 28 72 65 67 69 73 74 72 79 2c 20 26 72 65 67 69 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 | ner(registry,.®istry_listener |
| 1c2c0 | 2c 20 4e 55 4c 4c 29 3b 00 00 00 22 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 | ,.NULL);..."....wl_display_round |
| 1c2e0 | 74 72 69 70 28 64 69 73 70 6c 61 79 29 3b 00 00 00 04 20 20 20 20 00 00 00 2a 20 20 20 20 69 66 | trip(display);...........*....if |
| 1c300 | 20 28 21 63 6f 6d 70 6f 73 69 74 6f 72 20 7c 7c 20 21 73 68 6d 20 7c 7c 20 21 77 6d 5f 62 61 73 | .(!compositor.||.!shm.||.!wm_bas |
| 1c320 | 65 29 20 7b 00 00 00 30 20 20 20 20 20 20 20 20 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 | e).{...0........fprintf(stderr,. |
| 1c340 | 22 6d 69 73 73 69 6e 67 20 69 6e 74 65 72 66 61 63 65 73 5c 6e 22 29 3b 00 00 00 16 20 20 20 20 | "missing.interfaces\n");........ |
| 1c360 | 20 20 20 20 63 6c 65 61 6e 75 70 5f 70 74 79 28 29 3b 00 00 00 11 20 20 20 20 20 20 20 20 72 65 | ....cleanup_pty();............re |
| 1c380 | 74 75 72 6e 20 31 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 37 20 20 20 20 | turn.1;........}...........7.... |
| 1c3a0 | 73 75 72 66 61 63 65 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 | surface.=.wl_compositor_create_s |
| 1c3c0 | 75 72 66 61 63 65 28 63 6f 6d 70 6f 73 69 74 6f 72 29 3b 00 00 00 40 20 20 20 20 78 64 67 5f 73 | urface(compositor);...@....xdg_s |
| 1c3e0 | 75 72 66 61 63 65 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 | urface.=.xdg_wm_base_get_xdg_sur |
| 1c400 | 66 61 63 65 28 77 6d 5f 62 61 73 65 2c 20 73 75 72 66 61 63 65 29 3b 00 00 00 47 20 20 20 20 78 | face(wm_base,.surface);...G....x |
| 1c420 | 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 78 64 67 5f 73 75 72 66 | dg_surface_add_listener(xdg_surf |
| 1c440 | 61 63 65 2c 20 26 78 64 67 5f 73 75 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c | ace,.&xdg_surface_listener,.NULL |
| 1c460 | 29 3b 00 00 00 04 20 20 20 20 00 00 00 35 20 20 20 20 74 6f 70 6c 65 76 65 6c 20 3d 20 78 64 67 | );...........5....toplevel.=.xdg |
| 1c480 | 5f 73 75 72 66 61 63 65 5f 67 65 74 5f 74 6f 70 6c 65 76 65 6c 28 78 64 67 5f 73 75 72 66 61 63 | _surface_get_toplevel(xdg_surfac |
| 1c4a0 | 65 29 3b 00 00 00 42 20 20 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 74 | e);...B....xdg_toplevel_add_list |
| 1c4c0 | 65 6e 65 72 28 74 6f 70 6c 65 76 65 6c 2c 20 26 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 | ener(toplevel,.&toplevel_listene |
| 1c4e0 | 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 31 20 20 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 | r,.NULL);...1....xdg_toplevel_se |
| 1c500 | 74 5f 74 69 74 6c 65 28 74 6f 70 6c 65 76 65 6c 2c 20 22 74 65 72 6d 69 6e 61 6c 22 29 3b 00 00 | t_title(toplevel,."terminal");.. |
| 1c520 | 00 32 20 20 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 61 70 70 5f 69 64 28 74 6f | .2....xdg_toplevel_set_app_id(to |
| 1c540 | 70 6c 65 76 65 6c 2c 20 22 74 65 72 6d 69 6e 61 6c 22 29 3b 00 00 00 04 20 20 20 20 00 00 00 1f | plevel,."terminal");............ |
| 1c560 | 20 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 73 75 72 66 61 63 65 29 3b 00 | ....wl_surface_commit(surface);. |
| 1c580 | 00 00 04 20 20 20 20 00 00 00 31 20 20 20 20 70 72 69 6e 74 66 28 22 74 65 72 6d 69 6e 61 6c 20 | ..........1....printf("terminal. |
| 1c5a0 | 72 75 6e 6e 69 6e 67 2e 20 74 79 70 65 20 63 6f 6d 6d 61 6e 64 73 2e 5c 6e 22 29 3b 00 00 00 04 | running..type.commands.\n");.... |
| 1c5c0 | 20 20 20 20 00 00 00 2c 20 20 20 20 77 61 79 6c 61 6e 64 5f 66 64 20 3d 20 77 6c 5f 64 69 73 70 | .......,....wayland_fd.=.wl_disp |
| 1c5e0 | 6c 61 79 5f 67 65 74 5f 66 64 28 64 69 73 70 6c 61 79 29 3b 00 00 00 04 20 20 20 20 00 00 00 15 | lay_get_fd(display);............ |
| 1c600 | 20 20 20 20 77 68 69 6c 65 20 28 72 75 6e 6e 69 6e 67 29 20 7b 00 00 00 16 20 20 20 20 20 20 20 | ....while.(running).{........... |
| 1c620 | 20 46 44 5f 5a 45 52 4f 28 26 66 64 73 29 3b 00 00 00 21 20 20 20 20 20 20 20 20 46 44 5f 53 45 | .FD_ZERO(&fds);...!........FD_SE |
| 1c640 | 54 28 77 61 79 6c 61 6e 64 5f 66 64 2c 20 26 66 64 73 29 3b 00 00 00 21 20 20 20 20 20 20 20 20 | T(wayland_fd,.&fds);...!........ |
| 1c660 | 46 44 5f 53 45 54 28 70 74 79 5f 6d 61 73 74 65 72 2c 20 26 66 64 73 29 3b 00 00 00 08 20 20 20 | FD_SET(pty_master,.&fds);....... |
| 1c680 | 20 20 20 20 20 00 00 00 49 20 20 20 20 20 20 20 20 69 6e 74 20 6d 61 78 5f 66 64 20 3d 20 28 77 | ........I........int.max_fd.=.(w |
| 1c6a0 | 61 79 6c 61 6e 64 5f 66 64 20 3e 20 70 74 79 5f 6d 61 73 74 65 72 29 20 3f 20 77 61 79 6c 61 6e | ayland_fd.>.pty_master).?.waylan |
| 1c6c0 | 64 5f 66 64 20 3a 20 70 74 79 5f 6d 61 73 74 65 72 3b 00 00 00 08 20 20 20 20 20 20 20 20 00 00 | d_fd.:.pty_master;.............. |
| 1c6e0 | 00 3d 20 20 20 20 20 20 20 20 69 66 20 28 73 65 6c 65 63 74 28 6d 61 78 5f 66 64 20 2b 20 31 2c | .=........if.(select(max_fd.+.1, |
| 1c700 | 20 26 66 64 73 2c 20 4e 55 4c 4c 2c 20 4e 55 4c 4c 2c 20 4e 55 4c 4c 29 20 3c 20 30 29 20 7b 00 | .&fds,.NULL,.NULL,.NULL).<.0).{. |
| 1c720 | 00 00 12 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 09 20 20 20 20 20 20 20 | ...............break;........... |
| 1c740 | 20 7d 00 00 00 08 20 20 20 20 20 20 20 20 00 00 00 29 20 20 20 20 20 20 20 20 69 66 20 28 46 44 | .}...............)........if.(FD |
| 1c760 | 5f 49 53 53 45 54 28 77 61 79 6c 61 6e 64 5f 66 64 2c 20 26 66 64 73 29 29 20 7b 00 00 00 35 20 | _ISSET(wayland_fd,.&fds)).{...5. |
| 1c780 | 20 20 20 20 20 20 20 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 | ...........if.(wl_display_dispat |
| 1c7a0 | 63 68 28 64 69 73 70 6c 61 79 29 20 3d 3d 20 2d 31 29 20 7b 00 00 00 16 20 20 20 20 20 20 20 20 | ch(display).==.-1).{............ |
| 1c7c0 | 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 0d 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 | ........break;................}. |
| 1c7e0 | 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 08 20 20 20 20 20 20 20 20 00 00 00 29 20 20 20 20 | ...........}...............).... |
| 1c800 | 20 20 20 20 69 66 20 28 46 44 5f 49 53 53 45 54 28 70 74 79 5f 6d 61 73 74 65 72 2c 20 26 66 64 | ....if.(FD_ISSET(pty_master,.&fd |
| 1c820 | 73 29 29 20 7b 00 00 00 1a 20 20 20 20 20 20 20 20 20 20 20 20 63 68 61 72 20 62 75 66 5b 32 35 | s)).{................char.buf[25 |
| 1c840 | 36 5d 3b 00 00 00 37 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 6e 20 3d 20 72 65 61 64 28 | 6];...7............int.n.=.read( |
| 1c860 | 70 74 79 5f 6d 61 73 74 65 72 2c 20 62 75 66 2c 20 73 69 7a 65 6f 66 28 62 75 66 29 29 3b 00 00 | pty_master,.buf,.sizeof(buf));.. |
| 1c880 | 00 18 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6e 20 3e 20 30 29 20 7b 00 00 00 28 20 20 | ..............if.(n.>.0).{...(.. |
| 1c8a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 65 72 6d 69 6e 61 6c 5f 6f 75 74 70 75 74 28 62 75 | ..............terminal_output(bu |
| 1c8c0 | 66 2c 20 6e 29 3b 00 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 | f,.n);................}.else.if. |
| 1c8e0 | 28 6e 20 3d 3d 20 30 29 20 7b 00 00 00 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 | (n.==.0).{...)................pr |
| 1c900 | 69 6e 74 66 28 22 73 68 65 6c 6c 20 65 78 69 74 65 64 5c 6e 22 29 3b 00 00 00 1c 20 20 20 20 20 | intf("shell.exited\n");......... |
| 1c920 | 20 20 20 20 20 20 20 20 20 20 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 00 00 00 0d 20 20 20 20 20 | ...........running.=.0;......... |
| 1c940 | 20 20 20 20 20 20 20 7d 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 | .......}............}........}.. |
| 1c960 | 00 04 20 20 20 20 00 00 00 1f 20 20 20 20 70 72 69 6e 74 66 28 22 63 6c 65 61 6e 69 6e 67 20 75 | ..............printf("cleaning.u |
| 1c980 | 70 2e 2e 2e 5c 6e 22 29 3b 00 00 00 12 20 20 20 20 63 6c 65 61 6e 75 70 5f 70 74 79 28 29 3b 00 | p...\n");........cleanup_pty();. |
| 1c9a0 | 00 00 04 20 20 20 20 00 00 00 3c 20 20 20 20 69 66 20 28 66 72 61 6d 65 5f 63 61 6c 6c 62 61 63 | ..........<....if.(frame_callbac |
| 1c9c0 | 6b 29 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 5f 64 65 73 74 72 6f 79 28 66 72 61 6d 65 5f 63 61 6c | k).wl_callback_destroy(frame_cal |
| 1c9e0 | 6c 62 61 63 6b 29 3b 00 00 00 30 20 20 20 20 69 66 20 28 6b 65 79 62 6f 61 72 64 29 20 77 6c 5f | lback);...0....if.(keyboard).wl_ |
| 1ca00 | 6b 65 79 62 6f 61 72 64 5f 64 65 73 74 72 6f 79 28 6b 65 79 62 6f 61 72 64 29 3b 00 00 00 24 20 | keyboard_destroy(keyboard);...$. |
| 1ca20 | 20 20 20 69 66 20 28 73 65 61 74 29 20 77 6c 5f 73 65 61 74 5f 64 65 73 74 72 6f 79 28 73 65 61 | ...if.(seat).wl_seat_destroy(sea |
| 1ca40 | 74 29 3b 00 00 00 15 20 20 20 20 64 65 73 74 72 6f 79 5f 62 75 66 66 65 72 28 29 3b 00 00 00 31 | t);........destroy_buffer();...1 |
| 1ca60 | 20 20 20 20 69 66 20 28 74 6f 70 6c 65 76 65 6c 29 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 64 | ....if.(toplevel).xdg_toplevel_d |
| 1ca80 | 65 73 74 72 6f 79 28 74 6f 70 6c 65 76 65 6c 29 3b 00 00 00 36 20 20 20 20 69 66 20 28 78 64 67 | estroy(toplevel);...6....if.(xdg |
| 1caa0 | 5f 73 75 72 66 61 63 65 29 20 78 64 67 5f 73 75 72 66 61 63 65 5f 64 65 73 74 72 6f 79 28 78 64 | _surface).xdg_surface_destroy(xd |
| 1cac0 | 67 5f 73 75 72 66 61 63 65 29 3b 00 00 00 2d 20 20 20 20 69 66 20 28 73 75 72 66 61 63 65 29 20 | g_surface);...-....if.(surface). |
| 1cae0 | 77 6c 5f 73 75 72 66 61 63 65 5f 64 65 73 74 72 6f 79 28 73 75 72 66 61 63 65 29 3b 00 00 00 2e | wl_surface_destroy(surface);.... |
| 1cb00 | 20 20 20 20 69 66 20 28 77 6d 5f 62 61 73 65 29 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 64 65 73 | ....if.(wm_base).xdg_wm_base_des |
| 1cb20 | 74 72 6f 79 28 77 6d 5f 62 61 73 65 29 3b 00 00 00 36 20 20 20 20 69 66 20 28 63 6f 6d 70 6f 73 | troy(wm_base);...6....if.(compos |
| 1cb40 | 69 74 6f 72 29 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 64 65 73 74 72 6f 79 28 63 6f 6d 70 | itor).wl_compositor_destroy(comp |
| 1cb60 | 6f 73 69 74 6f 72 29 3b 00 00 00 21 20 20 20 20 69 66 20 28 73 68 6d 29 20 77 6c 5f 73 68 6d 5f | ositor);...!....if.(shm).wl_shm_ |
| 1cb80 | 64 65 73 74 72 6f 79 28 73 68 6d 29 3b 00 00 00 30 20 20 20 20 69 66 20 28 72 65 67 69 73 74 72 | destroy(shm);...0....if.(registr |
| 1cba0 | 79 29 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 64 65 73 74 72 6f 79 28 72 65 67 69 73 74 72 79 29 | y).wl_registry_destroy(registry) |
| 1cbc0 | 3b 00 00 00 30 20 20 20 20 69 66 20 28 64 69 73 70 6c 61 79 29 20 77 6c 5f 64 69 73 70 6c 61 79 | ;...0....if.(display).wl_display |
| 1cbe0 | 5f 64 69 73 63 6f 6e 6e 65 63 74 28 64 69 73 70 6c 61 79 29 3b 00 00 00 04 20 20 20 20 00 00 00 | _disconnect(display);........... |
| 1cc00 | 0d 20 20 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 00 | .....return.0;....}5............ |
| 1cc20 | 00 00 00 34 02 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 9c 3c 00 00 00 | ...4........................<... |
| 1cc40 | 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 0f 00 00 00 11 00 00 00 00 00 00 00 00 00 | ...........5._.................. |
| 1cc60 | 00 00 10 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 00 | ................................ |
| 1cc80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1cca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1ccc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1cce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1cd00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1cd20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1cd40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1cd60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1cd80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1cda0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1cdc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6a 01 10 15 04 01 00 00 00 0f 00 f5 18 00 00 | .................j.............. |
| 1cde0 | 01 85 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 22 20 20 20 20 20 20 20 20 77 6c 5f 73 65 61 | ................."........wl_sea |
| 1ce00 | 74 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 73 65 61 74 2c f5 18 00 00 01 86 00 00 00 00 00 00 | t_add_listener(seat,............ |
| 1ce20 | 00 00 00 00 00 00 f5 18 00 00 01 17 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 03 20 20 20 f5 | ................................ |
| 1ce40 | 18 00 00 01 18 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 87 00 00 00 00 00 00 00 00 00 | ................................ |
| 1ce60 | 00 00 01 00 00 00 0f 20 20 20 20 66 6f 72 20 28 69 6e 74 20 70 79 f5 18 00 00 00 88 00 00 00 00 | ...........for.(int.py.......... |
| 1ce80 | 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 00 00 00 00 f5 18 | ................................ |
| 1cea0 | 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 00 00 00 00 00 00 | ................5............... |
| 1cec0 | 00 00 00 00 00 00 00 00 87 00 00 00 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1cee0 | fa 0f 00 00 00 00 00 00 f5 18 00 00 00 00 87 00 00 00 0f 00 00 00 00 00 00 00 00 00 00 00 90 00 | ................................ |
| 1cf00 | 00 00 03 00 00 00 fa 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 0f 00 00 00 00 00 00 f5 18 | ................................ |
| 1cf20 | 00 00 00 00 17 01 00 00 03 00 00 00 00 00 00 00 00 00 00 00 6e 00 00 00 22 00 00 00 f9 1f 00 00 | ....................n..."....... |
| 1cf40 | 00 00 00 00 00 00 00 00 00 00 00 00 ff 0f 00 00 00 00 00 00 f5 18 00 00 00 00 85 01 00 00 22 00 | ..............................". |
| 1cf60 | 00 00 00 00 00 00 00 00 00 00 80 00 00 00 01 00 00 00 f8 2f 00 00 00 00 00 00 00 00 00 00 00 00 | .................../............ |
| 1cf80 | 00 00 6e 0d 00 00 00 00 00 00 35 81 5f d0 00 00 00 10 00 00 00 12 00 00 00 00 00 00 00 00 00 00 | ..n.......5._................... |
| 1cfa0 | 00 11 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 | ................................ |
| 1cfc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1cfe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1d000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1d020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1d040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1d060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1d080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1d0a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1d0c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1d0e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1d100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6a 01 12 d1 04 01 00 00 00 00 00 f5 18 00 00 00 | ................j............... |
| 1d120 | 00 00 00 00 02 00 00 00 00 00 00 02 06 00 00 00 13 23 64 65 66 69 6e 65 20 5f 47 4e 55 5f 53 4f | .................#define._GNU_SO |
| 1d140 | 55 52 43 45 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 | URCE....#include.<stdio.h>....#i |
| 1d160 | 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 20 3c 73 | nclude.<stdlib.h>....#include.<s |
| 1d180 | 74 72 69 6e 67 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 75 6e 69 73 74 64 2e 68 3e 00 | tring.h>....#include.<unistd.h>. |
| 1d1a0 | 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 16 23 69 6e 63 | ...#include.<sys/mman.h>....#inc |
| 1d1c0 | 6c 75 64 65 20 3c 73 79 73 2f 69 6f 63 74 6c 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c | lude.<sys/ioctl.h>....#include.< |
| 1d1e0 | 73 79 73 2f 77 61 69 74 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 66 63 6e 74 6c 2e 68 | sys/wait.h>....#include.<fcntl.h |
| 1d200 | 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 65 72 72 6e 6f 2e 68 3e 00 00 00 13 23 69 6e 63 6c | >....#include.<errno.h>....#incl |
| 1d220 | 75 64 65 20 3c 73 69 67 6e 61 6c 2e 68 3e 00 00 00 14 23 69 6e 63 6c 75 64 65 20 3c 74 65 72 6d | ude.<signal.h>....#include.<term |
| 1d240 | 69 6f 73 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 1b 23 | ios.h>....#include.<poll.h>....# |
| 1d260 | 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 3e 00 00 00 26 23 69 | include.<wayland-client.h>...&#i |
| 1d280 | 6e 63 6c 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 | nclude."xdg-shell-client-protoco |
| 1d2a0 | 6c 2e 68 22 00 00 00 00 00 00 00 22 73 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 20 2a 64 | l.h"......."struct.wl_display.*d |
| 1d2c0 | 69 73 70 6c 61 79 20 3d 20 4e 55 4c 4c 3b 00 00 00 28 73 74 72 75 63 74 20 77 6c 5f 63 6f 6d 70 | isplay.=.NULL;...(struct.wl_comp |
| 1d2e0 | 6f 73 69 74 6f 72 20 2a 63 6f 6d 70 6f 73 69 74 6f 72 20 3d 20 4e 55 4c 4c 3b 00 00 00 22 73 74 | ositor.*compositor.=.NULL;..."st |
| 1d300 | 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 72 66 61 63 65 20 3d 20 4e 55 4c 4c 3b | ruct.wl_surface.*surface.=.NULL; |
| 1d320 | 00 00 00 1a 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d 20 3d 20 4e 55 4c 4c 3b 00 00 | ....struct.wl_shm.*shm.=.NULL;.. |
| 1d340 | 00 1c 73 74 72 75 63 74 20 77 6c 5f 73 65 61 74 20 2a 73 65 61 74 20 3d 20 4e 55 4c 4c 3b 00 00 | ..struct.wl_seat.*seat.=.NULL;.. |
| 1d360 | 00 24 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 20 3d | .$struct.wl_keyboard.*keyboard.= |
| 1d380 | 20 4e 55 4c 4c 3b 00 00 00 23 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d | .NULL;...#struct.xdg_wm_base.*wm |
| 1d3a0 | 5f 62 61 73 65 20 3d 20 4e 55 4c 4c 3b 00 00 00 27 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 | _base.=.NULL;...'struct.xdg_surf |
| 1d3c0 | 61 63 65 20 2a 78 64 67 5f 73 75 72 66 61 63 65 20 3d 20 4e 55 4c 4c 3b 00 00 00 25 73 74 72 75 | ace.*xdg_surface.=.NULL;...%stru |
| 1d3e0 | 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 74 6f 70 6c 65 76 65 6c 20 3d 20 4e 55 4c 4c | ct.xdg_toplevel.*toplevel.=.NULL |
| 1d400 | 3b 00 00 00 2a 73 74 72 75 63 74 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 20 2a 66 72 61 6d 65 5f 63 | ;...*struct.wl_callback.*frame_c |
| 1d420 | 61 6c 6c 62 61 63 6b 20 3d 20 4e 55 4c 4c 3b 00 00 00 00 00 00 00 17 73 74 61 74 69 63 20 69 6e | allback.=.NULL;........static.in |
| 1d440 | 74 20 72 75 6e 6e 69 6e 67 20 3d 20 31 3b 00 00 00 1e 73 74 61 74 69 63 20 69 6e 74 20 77 69 6e | t.running.=.1;....static.int.win |
| 1d460 | 64 6f 77 5f 77 69 64 74 68 20 3d 20 38 30 30 3b 00 00 00 1f 73 74 61 74 69 63 20 69 6e 74 20 77 | dow_width.=.800;....static.int.w |
| 1d480 | 69 6e 64 6f 77 5f 68 65 69 67 68 74 20 3d 20 36 30 30 3b 00 00 00 1d 73 74 61 74 69 63 20 69 6e | indow_height.=.600;....static.in |
| 1d4a0 | 74 20 70 65 6e 64 69 6e 67 5f 77 69 64 74 68 20 3d 20 30 3b 00 00 00 1e 73 74 61 74 69 63 20 69 | t.pending_width.=.0;....static.i |
| 1d4c0 | 6e 74 20 70 65 6e 64 69 6e 67 5f 68 65 69 67 68 74 20 3d 20 30 3b 00 00 00 1c 73 74 61 74 69 63 | nt.pending_height.=.0;....static |
| 1d4e0 | 20 69 6e 74 20 6e 65 65 64 73 5f 72 65 73 69 7a 65 20 3d 20 30 3b 00 00 00 28 73 74 61 74 69 63 | .int.needs_resize.=.0;...(static |
| 1d500 | 20 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 70 69 78 65 6c 5f 64 61 74 61 20 3d 20 4e 55 4c | .unsigned.char.*pixel_data.=.NUL |
| 1d520 | 4c 3b 00 00 00 2e 73 74 61 74 69 63 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 77 | L;....static.struct.wl_buffer.*w |
| 1d540 | 69 6e 64 6f 77 5f 62 75 66 66 65 72 20 3d 20 4e 55 4c 4c 3b 00 00 00 00 00 00 00 1b 73 74 61 74 | indow_buffer.=.NULL;........stat |
| 1d560 | 69 63 20 69 6e 74 20 70 74 79 5f 6d 61 73 74 65 72 20 3d 20 2d 31 3b 00 00 00 1c 73 74 61 74 69 | ic.int.pty_master.=.-1;....stati |
| 1d580 | 63 20 70 69 64 5f 74 20 73 68 65 6c 6c 5f 70 69 64 20 3d 20 2d 31 3b 00 00 00 15 73 74 61 74 69 | c.pid_t.shell_pid.=.-1;....stati |
| 1d5a0 | 63 20 69 6e 74 20 72 6f 77 73 20 3d 20 33 37 3b 00 00 00 16 73 74 61 74 69 63 20 69 6e 74 20 63 | c.int.rows.=.37;....static.int.c |
| 1d5c0 | 6f 6c 73 20 3d 20 31 30 30 3b 00 00 00 1a 73 74 61 74 69 63 20 69 6e 74 20 63 68 61 72 5f 77 69 | ols.=.100;....static.int.char_wi |
| 1d5e0 | 64 74 68 20 3d 20 38 3b 00 00 00 1c 73 74 61 74 69 63 20 69 6e 74 20 63 68 61 72 5f 68 65 69 67 | dth.=.8;....static.int.char_heig |
| 1d600 | 68 74 20 3d 20 31 36 3b 00 00 00 00 00 00 00 26 73 74 61 74 69 63 20 75 6e 73 69 67 6e 65 64 20 | ht.=.16;.......&static.unsigned. |
| 1d620 | 63 68 61 72 20 73 63 72 65 65 6e 5b 32 30 30 5d 5b 32 30 30 5d 3b 00 00 00 18 73 74 61 74 69 63 | char.screen[200][200];....static |
| 1d640 | 20 69 6e 74 20 63 75 72 73 6f 72 5f 78 20 3d 20 30 3b 00 00 00 18 73 74 61 74 69 63 20 69 6e 74 | .int.cursor_x.=.0;....static.int |
| 1d660 | 20 63 75 72 73 6f 72 5f 79 20 3d 20 30 3b 00 00 00 1b 73 74 61 74 69 63 20 69 6e 74 20 6e 65 65 | .cursor_y.=.0;....static.int.nee |
| 1d680 | 64 5f 72 65 64 72 61 77 20 3d 20 31 3b 00 00 00 1a 73 74 61 74 69 63 20 69 6e 74 20 73 63 72 6f | d_redraw.=.1;....static.int.scro |
| 1d6a0 | 6c 6c 5f 74 6f 70 20 3d 20 30 3b 00 00 00 24 73 74 61 74 69 63 20 69 6e 74 20 73 63 72 6f 6c 6c | ll_top.=.0;...$static.int.scroll |
| 1d6c0 | 5f 62 6f 74 74 6f 6d 20 3d 20 72 6f 77 73 20 2d 20 31 3b 00 00 00 00 00 00 00 20 73 74 61 74 69 | _bottom.=.rows.-.1;........stati |
| 1d6e0 | 63 20 76 6f 69 64 20 73 63 72 6f 6c 6c 5f 75 70 28 69 6e 74 20 6c 69 6e 65 73 29 00 00 00 01 7b | c.void.scroll_up(int.lines)....{ |
| 1d700 | 00 00 00 3d 20 20 20 20 6d 65 6d 6d 6f 76 65 28 73 63 72 65 65 6e 5b 30 5d 2c 20 73 63 72 65 65 | ...=....memmove(screen[0],.scree |
| 1d720 | 6e 5b 6c 69 6e 65 73 5d 2c 20 28 72 6f 77 73 20 2d 20 6c 69 6e 65 73 29 20 2a 20 63 6f 6c 73 29 | n[lines],.(rows.-.lines).*.cols) |
| 1d740 | 3b 00 00 00 2f 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 72 6f 77 73 20 2d 20 6c 69 6e | ;.../....for.(int.i.=.rows.-.lin |
| 1d760 | 65 73 3b 20 69 20 3c 20 72 6f 77 73 3b 20 69 2b 2b 29 20 7b 00 00 00 25 20 20 20 20 20 20 20 20 | es;.i.<.rows;.i++).{...%........ |
| 1d780 | 6d 65 6d 73 65 74 28 73 63 72 65 65 6e 5b 69 5d 2c 20 27 20 27 2c 20 63 6f 6c 73 29 3b 00 00 00 | memset(screen[i],.'.',.cols);... |
| 1d7a0 | 05 20 20 20 20 7d 00 00 00 14 20 20 20 20 6e 65 65 64 5f 72 65 64 72 61 77 20 3d 20 31 3b 00 00 | .....}........need_redraw.=.1;.. |
| 1d7c0 | 00 01 7d 00 00 00 00 00 00 00 35 73 74 61 74 69 63 20 76 6f 69 64 20 74 65 72 6d 69 6e 61 6c 5f | ..}.......5static.void.terminal_ |
| 1d7e0 | 6f 75 74 70 75 74 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 62 75 66 2c 20 69 6e 74 20 6c 65 6e 29 | output(const.char.*buf,.int.len) |
| 1d800 | 00 00 00 01 7b 00 00 00 23 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c | ....{...#....for.(int.i.=.0;.i.< |
| 1d820 | 20 6c 65 6e 3b 20 69 2b 2b 29 20 7b 00 00 00 21 20 20 20 20 20 20 20 20 75 6e 73 69 67 6e 65 64 | .len;.i++).{...!........unsigned |
| 1d840 | 20 63 68 61 72 20 63 20 3d 20 62 75 66 5b 69 5d 3b 00 00 00 08 20 20 20 20 20 20 20 20 00 00 00 | .char.c.=.buf[i];............... |
| 1d860 | 1a 20 20 20 20 20 20 20 20 69 66 20 28 63 20 3d 3d 20 27 5c 30 33 33 27 29 20 7b 00 00 00 10 20 | .........if.(c.==.'\033').{..... |
| 1d880 | 20 20 20 20 20 20 20 20 20 20 20 69 2b 2b 3b 00 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 69 | ...........i++;................i |
| 1d8a0 | 66 20 28 69 20 3e 3d 20 6c 65 6e 29 20 62 72 65 61 6b 3b 00 00 00 20 20 20 20 20 20 20 20 20 20 | f.(i.>=.len).break;............. |
| 1d8c0 | 20 20 20 69 66 20 28 62 75 66 5b 69 5d 20 3d 3d 20 27 5b 27 29 20 7b 00 00 00 14 20 20 20 20 20 | ...if.(buf[i].==.'[').{......... |
| 1d8e0 | 20 20 20 20 20 20 20 20 20 20 20 69 2b 2b 3b 00 00 00 1c 20 20 20 20 20 20 20 20 20 20 20 20 20 | ...........i++;................. |
| 1d900 | 20 20 20 69 6e 74 20 6e 75 6d 20 3d 20 30 3b 00 00 00 43 20 20 20 20 20 20 20 20 20 20 20 20 20 | ...int.num.=.0;...C............. |
| 1d920 | 20 20 20 77 68 69 6c 65 20 28 69 20 3c 20 6c 65 6e 20 26 26 20 62 75 66 5b 69 5d 20 3e 3d 20 27 | ...while.(i.<.len.&&.buf[i].>=.' |
| 1d940 | 30 27 20 26 26 20 62 75 66 5b 69 5d 20 3c 3d 20 27 39 27 29 20 7b 00 00 00 34 20 20 20 20 20 20 | 0'.&&.buf[i].<=.'9').{...4...... |
| 1d960 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 75 6d 20 3d 20 6e 75 6d 20 2a 20 31 30 20 2b 20 28 | ..............num.=.num.*.10.+.( |
| 1d980 | 62 75 66 5b 69 5d 20 2d 20 27 30 27 29 3b 00 00 00 18 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | buf[i].-.'0');.................. |
| 1d9a0 | 20 20 20 20 20 20 69 2b 2b 3b 00 00 00 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 | ......i++;....................}. |
| 1d9c0 | 00 00 2f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 20 3c 20 6c 65 6e 20 26 | ../................if.(i.<.len.& |
| 1d9e0 | 26 20 62 75 66 5b 69 5d 20 3d 3d 20 27 48 27 29 20 7b 00 00 00 21 20 20 20 20 20 20 20 20 20 20 | &.buf[i].==.'H').{...!.......... |
| 1da00 | 20 20 20 20 20 20 20 20 20 20 63 75 72 73 6f 72 5f 78 20 3d 20 30 3b 00 00 00 21 20 20 20 20 20 | ..........cursor_x.=.0;...!..... |
| 1da20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 73 6f 72 5f 79 20 3d 20 30 3b 00 00 00 36 | ...............cursor_y.=.0;...6 |
| 1da40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 69 20 3c 20 6c | ................}.else.if.(i.<.l |
| 1da60 | 65 6e 20 26 26 20 62 75 66 5b 69 5d 20 3d 3d 20 27 41 27 29 20 7b 00 00 00 31 20 20 20 20 20 20 | en.&&.buf[i].==.'A').{...1...... |
| 1da80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 75 72 73 6f 72 5f 79 20 3e 20 30 29 20 | ..............if.(cursor_y.>.0). |
| 1daa0 | 63 75 72 73 6f 72 5f 79 2d 2d 3b 00 00 00 36 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d | cursor_y--;...6................} |
| 1dac0 | 20 65 6c 73 65 20 69 66 20 28 69 20 3c 20 6c 65 6e 20 26 26 20 62 75 66 5b 69 5d 20 3d 3d 20 27 | .else.if.(i.<.len.&&.buf[i].==.' |
| 1dae0 | 42 27 29 20 7b 00 00 00 38 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 | B').{...8....................if. |
| 1db00 | 28 63 75 72 73 6f 72 5f 79 20 3c 20 72 6f 77 73 20 2d 20 31 29 20 63 75 72 73 6f 72 5f 79 2b 2b | (cursor_y.<.rows.-.1).cursor_y++ |
| 1db20 | 3b 00 00 00 36 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 | ;...6................}.else.if.( |
| 1db40 | 69 20 3c 20 6c 65 6e 20 26 26 20 62 75 66 5b 69 5d 20 3d 3d 20 27 43 27 29 20 7b 00 00 00 38 20 | i.<.len.&&.buf[i].==.'C').{...8. |
| 1db60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 75 72 73 6f 72 5f 78 20 | ...................if.(cursor_x. |
| 1db80 | 3c 20 63 6f 6c 73 20 2d 20 31 29 20 63 75 72 73 6f 72 5f 78 2b 2b 3b 00 00 00 36 20 20 20 20 20 | <.cols.-.1).cursor_x++;...6..... |
| 1dba0 | 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 69 20 3c 20 6c 65 6e 20 26 26 | ...........}.else.if.(i.<.len.&& |
| 1dbc0 | 20 62 75 66 5b 69 5d 20 3d 3d 20 27 44 27 29 20 7b 00 00 00 31 20 20 20 20 20 20 20 20 20 20 20 | .buf[i].==.'D').{...1........... |
| 1dbe0 | 20 20 20 20 20 20 20 20 20 69 66 20 28 63 75 72 73 6f 72 5f 78 20 3e 20 30 29 20 63 75 72 73 6f | .........if.(cursor_x.>.0).curso |
| 1dc00 | 72 5f 78 2d 2d 3b 00 00 00 36 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 | r_x--;...6................}.else |
| 1dc20 | 20 69 66 20 28 69 20 3c 20 6c 65 6e 20 26 26 20 62 75 66 5b 69 5d 20 3d 3d 20 27 4a 27 29 20 7b | .if.(i.<.len.&&.buf[i].==.'J').{ |
| 1dc40 | 00 00 00 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 6d 73 65 74 28 73 | ...N....................memset(s |
| 1dc60 | 63 72 65 65 6e 5b 63 75 72 73 6f 72 5f 79 5d 20 2b 20 63 75 72 73 6f 72 5f 78 2c 20 27 20 27 2c | creen[cursor_y].+.cursor_x,.'.', |
| 1dc80 | 20 63 6f 6c 73 20 2d 20 63 75 72 73 6f 72 5f 78 29 3b 00 00 00 3f 20 20 20 20 20 20 20 20 20 20 | .cols.-.cursor_x);...?.......... |
| 1dca0 | 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 69 6e 74 20 79 20 3d 20 63 75 72 73 6f 72 5f 79 20 | ..........for.(int.y.=.cursor_y. |
| 1dcc0 | 2b 20 31 3b 20 79 20 3c 20 72 6f 77 73 3b 20 79 2b 2b 29 20 7b 00 00 00 35 20 20 20 20 20 20 20 | +.1;.y.<.rows;.y++).{...5....... |
| 1dce0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 6d 73 65 74 28 73 63 72 65 65 6e 5b 79 | .................memset(screen[y |
| 1dd00 | 5d 2c 20 27 20 27 2c 20 63 6f 6c 73 29 3b 00 00 00 15 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ],.'.',.cols);.................. |
| 1dd20 | 20 20 20 20 20 20 7d 00 00 00 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 0d | ......}....................}.... |
| 1dd40 | 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 15 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e | ............}................con |
| 1dd60 | 74 69 6e 75 65 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 08 20 20 20 20 20 20 20 20 00 | tinue;............}............. |
| 1dd80 | 00 00 18 20 20 20 20 20 20 20 20 69 66 20 28 63 20 3d 3d 20 27 5c 6e 27 29 20 7b 00 00 00 19 20 | ...........if.(c.==.'\n').{..... |
| 1dda0 | 20 20 20 20 20 20 20 20 20 20 20 63 75 72 73 6f 72 5f 78 20 3d 20 30 3b 00 00 00 17 20 20 20 20 | ...........cursor_x.=.0;........ |
| 1ddc0 | 20 20 20 20 20 20 20 20 63 75 72 73 6f 72 5f 79 2b 2b 3b 00 00 00 23 20 20 20 20 20 20 20 20 20 | ........cursor_y++;...#......... |
| 1dde0 | 20 20 20 69 66 20 28 63 75 72 73 6f 72 5f 79 20 3e 3d 20 72 6f 77 73 29 20 7b 00 00 00 1d 20 20 | ...if.(cursor_y.>=.rows).{...... |
| 1de00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 63 72 6f 6c 6c 5f 75 70 28 31 29 3b 00 00 00 24 20 | ..............scroll_up(1);...$. |
| 1de20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 73 6f 72 5f 79 20 3d 20 72 6f 77 73 20 2d | ...............cursor_y.=.rows.- |
| 1de40 | 20 31 3b 00 00 00 0d 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 1c 20 20 20 20 20 20 20 20 | .1;................}............ |
| 1de60 | 20 20 20 20 6e 65 65 64 5f 72 65 64 72 61 77 20 3d 20 31 3b 00 00 00 1f 20 20 20 20 20 20 20 20 | ....need_redraw.=.1;............ |
| 1de80 | 7d 20 65 6c 73 65 20 69 66 20 28 63 20 3d 3d 20 27 5c 72 27 29 20 7b 00 00 00 19 20 20 20 20 20 | }.else.if.(c.==.'\r').{......... |
| 1dea0 | 20 20 20 20 20 20 20 63 75 72 73 6f 72 5f 78 20 3d 20 30 3b 00 00 00 1c 20 20 20 20 20 20 20 20 | .......cursor_x.=.0;............ |
| 1dec0 | 20 20 20 20 6e 65 65 64 5f 72 65 64 72 61 77 20 3d 20 31 3b 00 00 00 1f 20 20 20 20 20 20 20 20 | ....need_redraw.=.1;............ |
| 1dee0 | 7d 20 65 6c 73 65 20 69 66 20 28 63 20 3d 3d 20 27 5c 62 27 29 20 7b 00 00 00 1f 20 20 20 20 20 | }.else.if.(c.==.'\b').{......... |
| 1df00 | 20 20 20 20 20 20 20 69 66 20 28 63 75 72 73 6f 72 5f 78 20 3e 20 30 29 20 7b 00 00 00 1b 20 20 | .......if.(cursor_x.>.0).{...... |
| 1df20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 73 6f 72 5f 78 2d 2d 3b 00 00 00 31 20 20 20 | ..............cursor_x--;...1... |
| 1df40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 73 63 72 65 65 6e 5b 63 75 72 73 6f 72 5f 79 5d 5b 63 75 | .............screen[cursor_y][cu |
| 1df60 | 72 73 6f 72 5f 78 5d 20 3d 20 27 20 27 3b 00 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | rsor_x].=.'.';.................. |
| 1df80 | 20 20 6e 65 65 64 5f 72 65 64 72 61 77 20 3d 20 31 3b 00 00 00 0d 20 20 20 20 20 20 20 20 20 20 | ..need_redraw.=.1;.............. |
| 1dfa0 | 20 20 7d 00 00 00 1f 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 63 20 3d 3d 20 27 | ..}............}.else.if.(c.==.' |
| 1dfc0 | 5c 74 27 29 20 7b 00 00 00 2c 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 73 70 61 63 65 73 | \t').{...,............int.spaces |
| 1dfe0 | 20 3d 20 38 20 2d 20 28 63 75 72 73 6f 72 5f 78 20 25 20 38 29 3b 00 00 00 41 20 20 20 20 20 20 | .=.8.-.(cursor_x.%.8);...A...... |
| 1e000 | 20 20 20 20 20 20 66 6f 72 20 28 69 6e 74 20 73 20 3d 20 30 3b 20 73 20 3c 20 73 70 61 63 65 73 | ......for.(int.s.=.0;.s.<.spaces |
| 1e020 | 20 26 26 20 63 75 72 73 6f 72 5f 78 20 3c 20 63 6f 6c 73 3b 20 73 2b 2b 29 20 7b 00 00 00 33 20 | .&&.cursor_x.<.cols;.s++).{...3. |
| 1e040 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 63 72 65 65 6e 5b 63 75 72 73 6f 72 5f 79 5d 5b | ...............screen[cursor_y][ |
| 1e060 | 63 75 72 73 6f 72 5f 78 2b 2b 5d 20 3d 20 27 20 27 3b 00 00 00 0d 20 20 20 20 20 20 20 20 20 20 | cursor_x++].=.'.';.............. |
| 1e080 | 20 20 7d 00 00 00 1c 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 65 64 5f 72 65 64 72 61 77 20 3d | ..}................need_redraw.= |
| 1e0a0 | 20 31 3b 00 00 00 28 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 63 20 3e 3d 20 33 | .1;...(........}.else.if.(c.>=.3 |
| 1e0c0 | 32 20 26 26 20 63 20 3c 20 31 32 37 29 20 7b 00 00 00 23 20 20 20 20 20 20 20 20 20 20 20 20 69 | 2.&&.c.<.127).{...#............i |
| 1e0e0 | 66 20 28 63 75 72 73 6f 72 5f 78 20 3e 3d 20 63 6f 6c 73 29 20 7b 00 00 00 1d 20 20 20 20 20 20 | f.(cursor_x.>=.cols).{.......... |
| 1e100 | 20 20 20 20 20 20 20 20 20 20 63 75 72 73 6f 72 5f 78 20 3d 20 30 3b 00 00 00 1b 20 20 20 20 20 | ..........cursor_x.=.0;......... |
| 1e120 | 20 20 20 20 20 20 20 20 20 20 20 63 75 72 73 6f 72 5f 79 2b 2b 3b 00 00 00 27 20 20 20 20 20 20 | ...........cursor_y++;...'...... |
| 1e140 | 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 75 72 73 6f 72 5f 79 20 3e 3d 20 72 6f 77 73 29 20 | ..........if.(cursor_y.>=.rows). |
| 1e160 | 7b 00 00 00 21 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 63 72 6f 6c 6c 5f | {...!....................scroll_ |
| 1e180 | 75 70 28 31 29 3b 00 00 00 28 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 75 | up(1);...(....................cu |
| 1e1a0 | 72 73 6f 72 5f 79 20 3d 20 72 6f 77 73 20 2d 20 31 3b 00 00 00 11 20 20 20 20 20 20 20 20 20 20 | rsor_y.=.rows.-.1;.............. |
| 1e1c0 | 20 20 20 20 20 20 7d 00 00 00 0d 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 2d 20 20 20 20 | ......}................}...-.... |
| 1e1e0 | 20 20 20 20 20 20 20 20 73 63 72 65 65 6e 5b 63 75 72 73 6f 72 5f 79 5d 5b 63 75 72 73 6f 72 5f | ........screen[cursor_y][cursor_ |
| 1e200 | 78 2b 2b 5d 20 3d 20 63 3b 00 00 00 1c 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 65 64 5f 72 65 | x++].=.c;................need_re |
| 1e220 | 64 72 61 77 20 3d 20 31 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 | draw.=.1;............}........}. |
| 1e240 | 00 00 01 7d 00 00 00 00 00 00 00 5c 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 63 68 61 | ...}.......\static.void.draw_cha |
| 1e260 | 72 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 64 61 74 61 2c 20 69 6e 74 20 73 74 72 69 64 | r(unsigned.char.*data,.int.strid |
| 1e280 | 65 2c 20 69 6e 74 20 78 2c 20 69 6e 74 20 79 2c 20 63 68 61 72 20 63 68 2c 20 69 6e 74 20 69 73 | e,.int.x,.int.y,.char.ch,.int.is |
| 1e2a0 | 5f 63 75 72 73 6f 72 29 00 00 00 01 7b 00 00 00 2e 20 20 20 20 66 6f 72 20 28 69 6e 74 20 70 79 | _cursor)....{........for.(int.py |
| 1e2c0 | 20 3d 20 30 3b 20 70 79 20 3c 20 63 68 61 72 5f 68 65 69 67 68 74 3b 20 70 79 2b 2b 29 20 7b 00 | .=.0;.py.<.char_height;.py++).{. |
| 1e2e0 | 00 00 31 20 20 20 20 20 20 20 20 66 6f 72 20 28 69 6e 74 20 70 78 20 3d 20 30 3b 20 70 78 20 3c | ..1........for.(int.px.=.0;.px.< |
| 1e300 | 20 63 68 61 72 5f 77 69 64 74 68 3b 20 70 78 2b 2b 29 20 7b 00 00 00 22 20 20 20 20 20 20 20 20 | .char_width;.px++).{..."........ |
| 1e320 | 20 20 20 20 69 6e 74 20 73 63 72 65 65 6e 5f 78 20 3d 20 78 20 2b 20 70 78 3b 00 00 00 22 20 20 | ....int.screen_x.=.x.+.px;...".. |
| 1e340 | 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 73 63 72 65 65 6e 5f 79 20 3d 20 79 20 2b 20 70 79 3b | ..........int.screen_y.=.y.+.py; |
| 1e360 | 00 00 00 68 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 63 72 65 65 6e 5f 78 20 3e 3d 20 | ...h............if.(screen_x.>=. |
| 1e380 | 30 20 26 26 20 73 63 72 65 65 6e 5f 78 20 3c 20 77 69 6e 64 6f 77 5f 77 69 64 74 68 20 26 26 20 | 0.&&.screen_x.<.window_width.&&. |
| 1e3a0 | 73 63 72 65 65 6e 5f 79 20 3e 3d 20 30 20 26 26 20 73 63 72 65 65 6e 5f 79 20 3c 20 77 69 6e 64 | screen_y.>=.0.&&.screen_y.<.wind |
| 1e3c0 | 6f 77 5f 68 65 69 67 68 74 29 20 7b 00 00 00 3d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ow_height).{...=................ |
| 1e3e0 | 69 6e 74 20 69 64 78 20 3d 20 28 73 63 72 65 65 6e 5f 79 20 2a 20 73 74 72 69 64 65 20 2b 20 73 | int.idx.=.(screen_y.*.stride.+.s |
| 1e400 | 63 72 65 65 6e 5f 78 29 20 2a 20 34 3b 00 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | creen_x).*.4;................... |
| 1e420 | 20 69 66 20 28 69 73 5f 63 75 72 73 6f 72 29 20 7b 00 00 00 28 20 20 20 20 20 20 20 20 20 20 20 | .if.(is_cursor).{...(........... |
| 1e440 | 20 20 20 20 20 20 20 20 20 64 61 74 61 5b 69 64 78 20 2b 20 30 5d 20 3d 20 32 35 35 3b 00 00 00 | .........data[idx.+.0].=.255;... |
| 1e460 | 28 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 5b 69 64 78 20 2b 20 | (....................data[idx.+. |
| 1e480 | 31 5d 20 3d 20 32 35 35 3b 00 00 00 28 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | 1].=.255;...(................... |
| 1e4a0 | 20 64 61 74 61 5b 69 64 78 20 2b 20 32 5d 20 3d 20 32 35 35 3b 00 00 00 28 20 20 20 20 20 20 20 | .data[idx.+.2].=.255;...(....... |
| 1e4c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 5b 69 64 78 20 2b 20 33 5d 20 3d 20 32 35 35 | .............data[idx.+.3].=.255 |
| 1e4e0 | 3b 00 00 00 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 | ;...'................}.else.if.( |
| 1e500 | 63 68 20 21 3d 20 27 20 27 29 20 7b 00 00 00 28 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ch.!=.'.').{...(................ |
| 1e520 | 20 20 20 20 64 61 74 61 5b 69 64 78 20 2b 20 30 5d 20 3d 20 32 31 32 3b 00 00 00 28 20 20 20 20 | ....data[idx.+.0].=.212;...(.... |
| 1e540 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 5b 69 64 78 20 2b 20 31 5d 20 3d 20 | ................data[idx.+.1].=. |
| 1e560 | 32 31 32 3b 00 00 00 28 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 | 212;...(....................data |
| 1e580 | 5b 69 64 78 20 2b 20 32 5d 20 3d 20 32 31 32 3b 00 00 00 28 20 20 20 20 20 20 20 20 20 20 20 20 | [idx.+.2].=.212;...(............ |
| 1e5a0 | 20 20 20 20 20 20 20 20 64 61 74 61 5b 69 64 78 20 2b 20 33 5d 20 3d 20 32 35 35 3b 00 00 00 18 | ........data[idx.+.3].=.255;.... |
| 1e5c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 00 00 00 26 20 20 20 20 | ................}.else.{...&.... |
| 1e5e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 5b 69 64 78 20 2b 20 30 5d 20 3d 20 | ................data[idx.+.0].=. |
| 1e600 | 30 3b 00 00 00 26 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 5b 69 | 0;...&....................data[i |
| 1e620 | 64 78 20 2b 20 31 5d 20 3d 20 30 3b 00 00 00 26 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | dx.+.1].=.0;...&................ |
| 1e640 | 20 20 20 20 64 61 74 61 5b 69 64 78 20 2b 20 32 5d 20 3d 20 30 3b 00 00 00 28 20 20 20 20 20 20 | ....data[idx.+.2].=.0;...(...... |
| 1e660 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 5b 69 64 78 20 2b 20 33 5d 20 3d 20 32 35 | ..............data[idx.+.3].=.25 |
| 1e680 | 35 3b 00 00 00 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 0d 20 20 20 20 20 | 5;....................}......... |
| 1e6a0 | 20 20 20 20 20 20 20 7d 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 | .......}............}........}.. |
| 1e6c0 | 00 01 7d 00 00 00 00 00 00 00 1d 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 73 63 72 65 | ..}........static.void.draw_scre |
| 1e6e0 | 65 6e 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 1e 20 20 20 20 69 6e 74 20 73 74 72 69 64 65 20 | en(void)....{........int.stride. |
| 1e700 | 3d 20 77 69 6e 64 6f 77 5f 77 69 64 74 68 3b 00 00 00 04 20 20 20 20 00 00 00 2d 20 20 20 20 66 | =.window_width;...........-....f |
| 1e720 | 6f 72 20 28 69 6e 74 20 79 20 3d 20 30 3b 20 79 20 3c 20 77 69 6e 64 6f 77 5f 68 65 69 67 68 74 | or.(int.y.=.0;.y.<.window_height |
| 1e740 | 3b 20 79 2b 2b 29 20 7b 00 00 00 30 20 20 20 20 20 20 20 20 66 6f 72 20 28 69 6e 74 20 78 20 3d | ;.y++).{...0........for.(int.x.= |
| 1e760 | 20 30 3b 20 78 20 3c 20 77 69 6e 64 6f 77 5f 77 69 64 74 68 3b 20 78 2b 2b 29 20 7b 00 00 00 2b | .0;.x.<.window_width;.x++).{...+ |
| 1e780 | 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 69 64 78 20 3d 20 28 79 20 2a 20 73 74 72 69 64 | ............int.idx.=.(y.*.strid |
| 1e7a0 | 65 20 2b 20 78 29 20 2a 20 34 3b 00 00 00 24 20 20 20 20 20 20 20 20 20 20 20 20 70 69 78 65 6c | e.+.x).*.4;...$............pixel |
| 1e7c0 | 5f 64 61 74 61 5b 69 64 78 20 2b 20 30 5d 20 3d 20 30 3b 00 00 00 24 20 20 20 20 20 20 20 20 20 | _data[idx.+.0].=.0;...$......... |
| 1e7e0 | 20 20 20 70 69 78 65 6c 5f 64 61 74 61 5b 69 64 78 20 2b 20 31 5d 20 3d 20 30 3b 00 00 00 24 20 | ...pixel_data[idx.+.1].=.0;...$. |
| 1e800 | 20 20 20 20 20 20 20 20 20 20 20 70 69 78 65 6c 5f 64 61 74 61 5b 69 64 78 20 2b 20 32 5d 20 3d | ...........pixel_data[idx.+.2].= |
| 1e820 | 20 30 3b 00 00 00 26 20 20 20 20 20 20 20 20 20 20 20 20 70 69 78 65 6c 5f 64 61 74 61 5b 69 64 | .0;...&............pixel_data[id |
| 1e840 | 78 20 2b 20 33 5d 20 3d 20 32 35 35 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 05 20 20 | x.+.3].=.255;............}...... |
| 1e860 | 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 24 20 20 20 20 66 6f 72 20 28 69 6e 74 20 79 20 3d 20 | ..}...........$....for.(int.y.=. |
| 1e880 | 30 3b 20 79 20 3c 20 72 6f 77 73 3b 20 79 2b 2b 29 20 7b 00 00 00 28 20 20 20 20 20 20 20 20 66 | 0;.y.<.rows;.y++).{...(........f |
| 1e8a0 | 6f 72 20 28 69 6e 74 20 78 20 3d 20 30 3b 20 78 20 3c 20 63 6f 6c 73 3b 20 78 2b 2b 29 20 7b 00 | or.(int.x.=.0;.x.<.cols;.x++).{. |
| 1e8c0 | 00 00 3d 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 69 73 5f 63 75 72 73 6f 72 20 3d 20 28 | ..=............int.is_cursor.=.( |
| 1e8e0 | 79 20 3d 3d 20 63 75 72 73 6f 72 5f 79 20 26 26 20 78 20 3d 3d 20 63 75 72 73 6f 72 5f 78 29 3b | y.==.cursor_y.&&.x.==.cursor_x); |
| 1e900 | 00 00 00 64 20 20 20 20 20 20 20 20 20 20 20 20 64 72 61 77 5f 63 68 61 72 28 70 69 78 65 6c 5f | ...d............draw_char(pixel_ |
| 1e920 | 64 61 74 61 2c 20 73 74 72 69 64 65 2c 20 78 20 2a 20 63 68 61 72 5f 77 69 64 74 68 2c 20 79 20 | data,.stride,.x.*.char_width,.y. |
| 1e940 | 2a 20 63 68 61 72 5f 68 65 69 67 68 74 2c 20 73 63 72 65 65 6e 5b 79 5d 5b 78 5d 2c 20 69 73 5f | *.char_height,.screen[y][x],.is_ |
| 1e960 | 63 75 72 73 6f 72 29 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 | cursor);............}........}.. |
| 1e980 | 00 01 7d 00 00 00 00 00 00 00 27 73 74 61 74 69 63 20 69 6e 74 20 63 72 65 61 74 65 5f 73 68 6d | ..}.......'static.int.create_shm |
| 1e9a0 | 5f 66 69 6c 65 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 00 00 00 01 7b 00 00 00 36 20 20 20 20 69 | _file(size_t.size)....{...6....i |
| 1e9c0 | 6e 74 20 66 64 20 3d 20 6d 65 6d 66 64 5f 63 72 65 61 74 65 28 22 77 61 79 6c 61 6e 64 2d 73 68 | nt.fd.=.memfd_create("wayland-sh |
| 1e9e0 | 6d 22 2c 20 4d 46 44 5f 43 4c 4f 45 58 45 43 29 3b 00 00 00 12 20 20 20 20 69 66 20 28 66 64 20 | m",.MFD_CLOEXEC);........if.(fd. |
| 1ea00 | 3e 3d 20 30 29 20 7b 00 00 00 30 20 20 20 20 20 20 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 | >=.0).{...0........if.(ftruncate |
| 1ea20 | 28 66 64 2c 20 73 69 7a 65 29 20 3d 3d 20 30 29 20 72 65 74 75 72 6e 20 66 64 3b 00 00 00 12 20 | (fd,.size).==.0).return.fd;..... |
| 1ea40 | 20 20 20 20 20 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 | .......close(fd);........}...... |
| 1ea60 | 20 20 00 00 00 2b 20 20 20 20 63 68 61 72 20 74 65 6d 70 6c 61 74 65 5b 5d 20 3d 20 22 2f 74 6d | .....+....char.template[].=."/tm |
| 1ea80 | 70 2f 77 6c 2d 73 68 6d 2d 58 58 58 58 58 58 22 3b 00 00 00 1b 20 20 20 20 66 64 20 3d 20 6d 6b | p/wl-shm-XXXXXX";........fd.=.mk |
| 1eaa0 | 73 74 65 6d 70 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 12 20 20 20 20 69 66 20 28 66 64 20 3e | stemp(template);........if.(fd.> |
| 1eac0 | 3d 20 30 29 20 7b 00 00 00 19 20 20 20 20 20 20 20 20 75 6e 6c 69 6e 6b 28 74 65 6d 70 6c 61 74 | =.0).{............unlink(templat |
| 1eae0 | 65 29 3b 00 00 00 30 20 20 20 20 20 20 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c | e);...0........if.(ftruncate(fd, |
| 1eb00 | 20 73 69 7a 65 29 20 3d 3d 20 30 29 20 72 65 74 75 72 6e 20 66 64 3b 00 00 00 12 20 20 20 20 20 | .size).==.0).return.fd;......... |
| 1eb20 | 20 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 0e 20 20 20 20 72 65 | ...close(fd);........}........re |
| 1eb40 | 74 75 72 6e 20 2d 31 3b 00 00 00 01 7d 00 00 00 00 00 00 00 3d 73 74 61 74 69 63 20 73 74 72 75 | turn.-1;....}.......=static.stru |
| 1eb60 | 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 69 6e 74 20 | ct.wl_buffer.*create_buffer(int. |
| 1eb80 | 77 69 64 74 68 2c 20 69 6e 74 20 68 65 69 67 68 74 29 00 00 00 01 7b 00 00 00 1b 20 20 20 20 69 | width,.int.height)....{........i |
| 1eba0 | 6e 74 20 73 74 72 69 64 65 20 3d 20 77 69 64 74 68 20 2a 20 34 3b 00 00 00 1f 20 20 20 20 69 6e | nt.stride.=.width.*.4;........in |
| 1ebc0 | 74 20 73 69 7a 65 20 3d 20 73 74 72 69 64 65 20 2a 20 68 65 69 67 68 74 3b 00 00 00 23 20 20 20 | t.size.=.stride.*.height;...#... |
| 1ebe0 | 20 69 6e 74 20 66 64 20 3d 20 63 72 65 61 74 65 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 29 3b | .int.fd.=.create_shm_file(size); |
| 1ec00 | 00 00 00 1c 20 20 20 20 69 66 20 28 66 64 20 3c 20 30 29 20 72 65 74 75 72 6e 20 4e 55 4c 4c 3b | ........if.(fd.<.0).return.NULL; |
| 1ec20 | 00 00 00 04 20 20 20 20 00 00 00 4d 20 20 20 20 70 69 78 65 6c 5f 64 61 74 61 20 3d 20 6d 6d 61 | ...........M....pixel_data.=.mma |
| 1ec40 | 70 28 4e 55 4c 4c 2c 20 73 69 7a 65 2c 20 50 52 4f 54 5f 52 45 41 44 20 7c 20 50 52 4f 54 5f 57 | p(NULL,.size,.PROT_READ.|.PROT_W |
| 1ec60 | 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 00 23 20 20 20 | RITE,.MAP_SHARED,.fd,.0);...#... |
| 1ec80 | 20 69 66 20 28 70 69 78 65 6c 5f 64 61 74 61 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 20 7b | .if.(pixel_data.==.MAP_FAILED).{ |
| 1eca0 | 00 00 00 12 20 20 20 20 20 20 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 14 20 20 20 20 20 20 | ............close(fd);.......... |
| 1ecc0 | 20 20 72 65 74 75 72 6e 20 4e 55 4c 4c 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 | ..return.NULL;........}......... |
| 1ece0 | 00 00 12 20 20 20 20 64 72 61 77 5f 73 63 72 65 65 6e 28 29 3b 00 00 00 04 20 20 20 20 00 00 00 | .......draw_screen();........... |
| 1ed00 | 41 20 20 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 20 3d 20 | A....struct.wl_shm_pool.*pool.=. |
| 1ed20 | 77 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f 70 6f 6f 6c 28 73 68 6d 2c 20 66 64 2c 20 73 69 7a 65 | wl_shm_create_pool(shm,.fd,.size |
| 1ed40 | 29 3b 00 00 00 71 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 66 | );...q....struct.wl_buffer.*buff |
| 1ed60 | 65 72 20 3d 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 | er.=.wl_shm_pool_create_buffer(p |
| 1ed80 | 6f 6f 6c 2c 20 30 2c 20 77 69 64 74 68 2c 20 68 65 69 67 68 74 2c 20 73 74 72 69 64 65 2c 20 57 | ool,.0,.width,.height,.stride,.W |
| 1eda0 | 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 1e 20 20 20 20 77 | L_SHM_FORMAT_ARGB8888);........w |
| 1edc0 | 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 0e 20 20 20 | l_shm_pool_destroy(pool);....... |
| 1ede0 | 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 04 20 20 20 20 00 00 00 12 20 20 20 20 72 65 74 75 72 | .close(fd);................retur |
| 1ee00 | 6e 20 62 75 66 66 65 72 3b 00 00 00 01 7d 00 00 00 00 00 00 00 20 73 74 61 74 69 63 20 76 6f 69 | n.buffer;....}........static.voi |
| 1ee20 | 64 20 64 65 73 74 72 6f 79 5f 62 75 66 66 65 72 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 18 20 | d.destroy_buffer(void)....{..... |
| 1ee40 | 20 20 20 69 66 20 28 77 69 6e 64 6f 77 5f 62 75 66 66 65 72 29 20 7b 00 00 00 29 20 20 20 20 20 | ...if.(window_buffer).{...)..... |
| 1ee60 | 20 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 77 69 6e 64 6f 77 5f 62 75 66 66 | ...wl_buffer_destroy(window_buff |
| 1ee80 | 65 72 29 3b 00 00 00 1d 20 20 20 20 20 20 20 20 77 69 6e 64 6f 77 5f 62 75 66 66 65 72 20 3d 20 | er);............window_buffer.=. |
| 1eea0 | 4e 55 4c 4c 3b 00 00 00 05 20 20 20 20 7d 00 00 00 15 20 20 20 20 69 66 20 28 70 69 78 65 6c 5f | NULL;........}........if.(pixel_ |
| 1eec0 | 64 61 74 61 29 20 7b 00 00 00 3d 20 20 20 20 20 20 20 20 6d 75 6e 6d 61 70 28 70 69 78 65 6c 5f | data).{...=........munmap(pixel_ |
| 1eee0 | 64 61 74 61 2c 20 77 69 6e 64 6f 77 5f 77 69 64 74 68 20 2a 20 77 69 6e 64 6f 77 5f 68 65 69 67 | data,.window_width.*.window_heig |
| 1ef00 | 68 74 20 2a 20 34 29 3b 00 00 00 1a 20 20 20 20 20 20 20 20 70 69 78 65 6c 5f 64 61 74 61 20 3d | ht.*.4);............pixel_data.= |
| 1ef20 | 20 4e 55 4c 4c 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 30 73 74 61 74 | .NULL;........}....}.......0stat |
| 1ef40 | 69 63 20 76 6f 69 64 20 72 65 73 69 7a 65 5f 77 69 6e 64 6f 77 28 69 6e 74 20 77 69 64 74 68 2c | ic.void.resize_window(int.width, |
| 1ef60 | 20 69 6e 74 20 68 65 69 67 68 74 29 00 00 00 01 7b 00 00 00 2a 20 20 20 20 69 66 20 28 77 69 64 | .int.height)....{...*....if.(wid |
| 1ef80 | 74 68 20 3c 3d 20 30 20 7c 7c 20 68 65 69 67 68 74 20 3c 3d 20 30 29 20 72 65 74 75 72 6e 3b 00 | th.<=.0.||.height.<=.0).return;. |
| 1efa0 | 00 00 04 20 20 20 20 00 00 00 1e 20 20 20 20 63 6f 6c 73 20 3d 20 77 69 64 74 68 20 2f 20 63 68 | ...............cols.=.width./.ch |
| 1efc0 | 61 72 5f 77 69 64 74 68 3b 00 00 00 20 20 20 20 20 72 6f 77 73 20 3d 20 68 65 69 67 68 74 20 2f | ar_width;........rows.=.height./ |
| 1efe0 | 20 63 68 61 72 5f 68 65 69 67 68 74 3b 00 00 00 1d 20 20 20 20 69 66 20 28 63 6f 6c 73 20 3c 20 | .char_height;........if.(cols.<. |
| 1f000 | 32 30 29 20 63 6f 6c 73 20 3d 20 32 30 3b 00 00 00 1b 20 20 20 20 69 66 20 28 72 6f 77 73 20 3c | 20).cols.=.20;........if.(rows.< |
| 1f020 | 20 35 29 20 72 6f 77 73 20 3d 20 35 3b 00 00 00 04 20 20 20 20 00 00 00 25 20 20 20 20 77 69 6e | .5).rows.=.5;...........%....win |
| 1f040 | 64 6f 77 5f 77 69 64 74 68 20 3d 20 63 6f 6c 73 20 2a 20 63 68 61 72 5f 77 69 64 74 68 3b 00 00 | dow_width.=.cols.*.char_width;.. |
| 1f060 | 00 27 20 20 20 20 77 69 6e 64 6f 77 5f 68 65 69 67 68 74 20 3d 20 72 6f 77 73 20 2a 20 63 68 61 | .'....window_height.=.rows.*.cha |
| 1f080 | 72 5f 68 65 69 67 68 74 3b 00 00 00 04 20 20 20 20 00 00 00 15 20 20 20 20 64 65 73 74 72 6f 79 | r_height;................destroy |
| 1f0a0 | 5f 62 75 66 66 65 72 28 29 3b 00 00 00 3f 20 20 20 20 77 69 6e 64 6f 77 5f 62 75 66 66 65 72 20 | _buffer();...?....window_buffer. |
| 1f0c0 | 3d 20 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 77 69 6e 64 6f 77 5f 77 69 64 74 68 2c 20 77 69 | =.create_buffer(window_width,.wi |
| 1f0e0 | 6e 64 6f 77 5f 68 65 69 67 68 74 29 3b 00 00 00 14 20 20 20 20 6e 65 65 64 5f 72 65 64 72 61 77 | ndow_height);........need_redraw |
| 1f100 | 20 3d 20 31 3b 00 00 00 15 20 20 20 20 6e 65 65 64 73 5f 72 65 73 69 7a 65 20 3d 20 30 3b 00 00 | .=.1;........needs_resize.=.0;.. |
| 1f120 | 00 04 20 20 20 20 00 00 00 1a 20 20 20 20 69 66 20 28 70 74 79 5f 6d 61 73 74 65 72 20 3e 3d 20 | ..............if.(pty_master.>=. |
| 1f140 | 30 29 20 7b 00 00 00 76 20 20 20 20 20 20 20 20 73 74 72 75 63 74 20 77 69 6e 73 69 7a 65 20 77 | 0).{...v........struct.winsize.w |
| 1f160 | 73 20 3d 20 7b 20 2e 77 73 5f 72 6f 77 20 3d 20 72 6f 77 73 2c 20 2e 77 73 5f 63 6f 6c 20 3d 20 | s.=.{..ws_row.=.rows,..ws_col.=. |
| 1f180 | 63 6f 6c 73 2c 20 2e 77 73 5f 78 70 69 78 65 6c 20 3d 20 77 69 6e 64 6f 77 5f 77 69 64 74 68 2c | cols,..ws_xpixel.=.window_width, |
| 1f1a0 | 20 2e 77 73 5f 79 70 69 78 65 6c 20 3d 20 77 69 6e 64 6f 77 5f 68 65 69 67 68 74 20 7d 3b 00 00 | ..ws_ypixel.=.window_height.};.. |
| 1f1c0 | 00 2b 20 20 20 20 20 20 20 20 69 6f 63 74 6c 28 70 74 79 5f 6d 61 73 74 65 72 2c 20 54 49 4f 43 | .+........ioctl(pty_master,.TIOC |
| 1f1e0 | 53 57 49 4e 53 5a 2c 20 26 77 73 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 | SWINSZ,.&ws);........}....}..... |
| 1f200 | 00 00 4f 73 74 61 74 69 63 20 76 6f 69 64 20 66 72 61 6d 65 5f 64 6f 6e 65 28 76 6f 69 64 20 2a | ..Ostatic.void.frame_done(void.* |
| 1f220 | 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 20 2a 63 61 6c 6c 62 61 | data,.struct.wl_callback.*callba |
| 1f240 | 63 6b 2c 20 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 29 00 00 00 01 7b 00 00 00 30 20 20 20 20 69 | ck,.uint32_t.time)....{...0....i |
| 1f260 | 66 20 28 63 61 6c 6c 62 61 63 6b 29 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 5f 64 65 73 74 72 6f 79 | f.(callback).wl_callback_destroy |
| 1f280 | 28 63 61 6c 6c 62 61 63 6b 29 3b 00 00 00 04 20 20 20 20 00 00 00 17 20 20 20 20 69 66 20 28 6e | (callback);................if.(n |
| 1f2a0 | 65 65 64 73 5f 72 65 73 69 7a 65 29 20 7b 00 00 00 35 20 20 20 20 20 20 20 20 72 65 73 69 7a 65 | eeds_resize).{...5........resize |
| 1f2c0 | 5f 77 69 6e 64 6f 77 28 70 65 6e 64 69 6e 67 5f 77 69 64 74 68 2c 20 70 65 6e 64 69 6e 67 5f 68 | _window(pending_width,.pending_h |
| 1f2e0 | 65 69 67 68 74 29 3b 00 00 00 2b 20 20 20 20 20 20 20 20 70 65 6e 64 69 6e 67 5f 77 69 64 74 68 | eight);...+........pending_width |
| 1f300 | 20 3d 20 70 65 6e 64 69 6e 67 5f 68 65 69 67 68 74 20 3d 20 30 3b 00 00 00 05 20 20 20 20 7d 00 | .=.pending_height.=.0;........}. |
| 1f320 | 00 00 04 20 20 20 20 00 00 00 24 20 20 20 20 69 66 20 28 6e 65 65 64 5f 72 65 64 72 61 77 20 26 | ..........$....if.(need_redraw.& |
| 1f340 | 26 20 70 69 78 65 6c 5f 64 61 74 61 29 20 7b 00 00 00 16 20 20 20 20 20 20 20 20 64 72 61 77 5f | &.pixel_data).{............draw_ |
| 1f360 | 73 63 72 65 65 6e 28 29 3b 00 00 00 18 20 20 20 20 20 20 20 20 6e 65 65 64 5f 72 65 64 72 61 77 | screen();............need_redraw |
| 1f380 | 20 3d 20 30 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 18 20 20 20 20 69 66 | .=.0;........}................if |
| 1f3a0 | 20 28 77 69 6e 64 6f 77 5f 62 75 66 66 65 72 29 20 7b 00 00 00 38 20 20 20 20 20 20 20 20 77 6c | .(window_buffer).{...8........wl |
| 1f3c0 | 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 73 75 72 66 61 63 65 2c 20 77 69 6e 64 6f 77 5f | _surface_attach(surface,.window_ |
| 1f3e0 | 62 75 66 66 65 72 2c 20 30 2c 20 30 29 3b 00 00 00 46 20 20 20 20 20 20 20 20 77 6c 5f 73 75 72 | buffer,.0,.0);...F........wl_sur |
| 1f400 | 66 61 63 65 5f 64 61 6d 61 67 65 28 73 75 72 66 61 63 65 2c 20 30 2c 20 30 2c 20 77 69 6e 64 6f | face_damage(surface,.0,.0,.windo |
| 1f420 | 77 5f 77 69 64 74 68 2c 20 77 69 6e 64 6f 77 5f 68 65 69 67 68 74 29 3b 00 00 00 23 20 20 20 20 | w_width,.window_height);...#.... |
| 1f440 | 20 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 73 75 72 66 61 63 65 29 3b 00 | ....wl_surface_commit(surface);. |
| 1f460 | 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 55 20 20 20 20 73 74 61 74 69 63 20 63 | .......}...........U....static.c |
| 1f480 | 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 5f 6c 69 73 74 65 6e 65 72 | onst.struct.wl_callback_listener |
| 1f4a0 | 20 66 72 61 6d 65 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 20 2e 64 6f 6e 65 20 3d 20 66 72 61 6d | .frame_listener.=.{..done.=.fram |
| 1f4c0 | 65 5f 64 6f 6e 65 20 7d 3b 00 00 00 2f 20 20 20 20 66 72 61 6d 65 5f 63 61 6c 6c 62 61 63 6b 20 | e_done.};.../....frame_callback. |
| 1f4e0 | 3d 20 77 6c 5f 73 75 72 66 61 63 65 5f 66 72 61 6d 65 28 73 75 72 66 61 63 65 29 3b 00 00 00 44 | =.wl_surface_frame(surface);...D |
| 1f500 | 20 20 20 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 66 72 61 | ....wl_callback_add_listener(fra |
| 1f520 | 6d 65 5f 63 61 6c 6c 62 61 63 6b 2c 20 26 66 72 61 6d 65 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 | me_callback,.&frame_listener,.NU |
| 1f540 | 4c 4c 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 53 73 74 61 74 69 63 20 76 6f 69 64 20 78 64 67 | LL);....}.......Sstatic.void.xdg |
| 1f560 | 5f 77 6d 5f 62 61 73 65 5f 70 69 6e 67 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 | _wm_base_ping(void.*data,.struct |
| 1f580 | 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 62 61 73 65 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 | .xdg_wm_base.*base,.uint32_t.ser |
| 1f5a0 | 69 61 6c 29 00 00 00 01 7b 00 00 00 23 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e | ial)....{...#....xdg_wm_base_pon |
| 1f5c0 | 67 28 62 61 73 65 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 59 73 74 61 | g(base,.serial);....}.......Ysta |
| 1f5e0 | 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 5f 6c 69 73 | tic.const.struct.xdg_wm_base_lis |
| 1f600 | 74 65 6e 65 72 20 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 20 2e 70 69 6e 67 | tener.wm_base_listener.=.{..ping |
| 1f620 | 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 69 6e 67 20 7d 3b 00 00 00 00 00 00 00 4d 73 74 | .=.xdg_wm_base_ping.};.......Mst |
| 1f640 | 61 74 69 63 20 76 6f 69 64 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 63 6f 6e 66 69 67 75 72 65 | atic.void.xdg_toplevel_configure |
| 1f660 | 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c | (void.*data,.struct.xdg_toplevel |
| 1f680 | 20 2a 74 6f 70 6c 65 76 65 6c 2c 00 00 00 51 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .*toplevel,...Q................. |
| 1f6a0 | 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 77 2c 20 69 6e 74 | ..................int32_t.w,.int |
| 1f6c0 | 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 73 74 61 74 65 73 29 | 32_t.h,.struct.wl_array.*states) |
| 1f6e0 | 00 00 00 01 7b 00 00 00 19 20 20 20 20 69 66 20 28 77 20 3e 20 30 20 26 26 20 68 20 3e 20 30 29 | ....{........if.(w.>.0.&&.h.>.0) |
| 1f700 | 20 7b 00 00 00 1a 20 20 20 20 20 20 20 20 70 65 6e 64 69 6e 67 5f 77 69 64 74 68 20 3d 20 77 3b | .{............pending_width.=.w; |
| 1f720 | 00 00 00 1b 20 20 20 20 20 20 20 20 70 65 6e 64 69 6e 67 5f 68 65 69 67 68 74 20 3d 20 68 3b 00 | ............pending_height.=.h;. |
| 1f740 | 00 00 19 20 20 20 20 20 20 20 20 6e 65 65 64 73 5f 72 65 73 69 7a 65 20 3d 20 31 3b 00 00 00 05 | ...........needs_resize.=.1;.... |
| 1f760 | 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 49 73 74 61 74 69 63 20 76 6f 69 64 20 78 64 | ....}....}.......Istatic.void.xd |
| 1f780 | 67 5f 74 6f 70 6c 65 76 65 6c 5f 63 6c 6f 73 65 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 | g_toplevel_close(void.*data,.str |
| 1f7a0 | 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 74 6f 70 6c 65 76 65 6c 29 00 00 00 01 7b | uct.xdg_toplevel.*toplevel)....{ |
| 1f7c0 | 00 00 00 10 20 20 20 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 00 00 00 01 7d 00 00 00 00 00 00 00 | ........running.=.0;....}....... |
| 1f7e0 | 3f 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 65 | ?static.const.struct.xdg_topleve |
| 1f800 | 6c 5f 6c 69 73 74 65 6e 65 72 20 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b | l_listener.toplevel_listener.=.{ |
| 1f820 | 00 00 00 28 20 20 20 20 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 64 67 5f 74 6f 70 6c 65 76 65 | ...(.....configure.=.xdg_topleve |
| 1f840 | 6c 5f 63 6f 6e 66 69 67 75 72 65 2c 00 00 00 20 20 20 20 20 2e 63 6c 6f 73 65 20 3d 20 78 64 67 | l_configure,.........close.=.xdg |
| 1f860 | 5f 74 6f 70 6c 65 76 65 6c 5f 63 6c 6f 73 65 2c 00 00 00 02 7d 3b 00 00 00 00 00 00 00 5b 73 74 | _toplevel_close,....};.......[st |
| 1f880 | 61 74 69 63 20 76 6f 69 64 20 78 64 67 5f 73 75 72 66 61 63 65 5f 63 6f 6e 66 69 67 75 72 65 28 | atic.void.xdg_surface_configure( |
| 1f8a0 | 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a | void.*data,.struct.xdg_surface.* |
| 1f8c0 | 73 75 72 66 61 63 65 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 00 00 00 01 7b 00 00 | surface,.uint32_t.serial)....{.. |
| 1f8e0 | 00 2f 20 20 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 | ./....xdg_surface_ack_configure( |
| 1f900 | 73 75 72 66 61 63 65 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 19 20 20 20 20 69 66 20 28 21 77 69 | surface,.serial);........if.(!wi |
| 1f920 | 6e 64 6f 77 5f 62 75 66 66 65 72 29 20 7b 00 00 00 43 20 20 20 20 20 20 20 20 77 69 6e 64 6f 77 | ndow_buffer).{...C........window |
| 1f940 | 5f 62 75 66 66 65 72 20 3d 20 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 77 69 6e 64 6f 77 5f 77 | _buffer.=.create_buffer(window_w |
| 1f960 | 69 64 74 68 2c 20 77 69 6e 64 6f 77 5f 68 65 69 67 68 74 29 3b 00 00 00 22 20 20 20 20 20 20 20 | idth,.window_height);..."....... |
| 1f980 | 20 66 72 61 6d 65 5f 64 6f 6e 65 28 4e 55 4c 4c 2c 20 4e 55 4c 4c 2c 20 30 29 3b 00 00 00 05 20 | .frame_done(NULL,.NULL,.0);..... |
| 1f9a0 | 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 41 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 | ...}....}.......Astatic.const.st |
| 1f9c0 | 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 64 67 5f 73 75 | ruct.xdg_surface_listener.xdg_su |
| 1f9e0 | 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 27 20 20 20 20 2e 63 6f 6e 66 69 | rface_listener.=.{...'.....confi |
| 1fa00 | 67 75 72 65 20 3d 20 78 64 67 5f 73 75 72 66 61 63 65 5f 63 6f 6e 66 69 67 75 72 65 2c 00 00 00 | gure.=.xdg_surface_configure,... |
| 1fa20 | 02 7d 3b 00 00 00 00 00 00 00 71 73 74 61 74 69 63 20 76 6f 69 64 20 6b 65 79 62 6f 61 72 64 5f | .};.......qstatic.void.keyboard_ |
| 1fa40 | 6b 65 79 6d 61 70 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 | keymap(void.*data,.struct.wl_key |
| 1fa60 | 62 6f 61 72 64 20 2a 6b 65 79 62 6f 61 72 64 2c 20 75 69 6e 74 33 32 5f 74 20 66 6f 72 6d 61 74 | board.*keyboard,.uint32_t.format |
| 1fa80 | 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 00 00 00 01 | ,.int32_t.fd,.uint32_t.size).... |
| 1faa0 | 7b 00 00 00 0e 20 20 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 8b | {........close(fd);....}........ |
| 1fac0 | 73 74 61 74 69 63 20 76 6f 69 64 20 6b 65 79 62 6f 61 72 64 5f 65 6e 74 65 72 28 76 6f 69 64 20 | static.void.keyboard_enter(void. |
| 1fae0 | 2a 64 61 74 61 2c 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 | *data,.struct.wl_keyboard.*keybo |
| 1fb00 | 61 72 64 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 2c 20 73 74 72 75 63 74 20 77 6c 5f | ard,.uint32_t.serial,.struct.wl_ |
| 1fb20 | 73 75 72 66 61 63 65 20 2a 73 75 72 66 61 63 65 2c 20 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 | surface.*surface,.struct.wl_arra |
| 1fb40 | 79 20 2a 6b 65 79 73 29 20 7b 7d 00 00 00 74 73 74 61 74 69 63 20 76 6f 69 64 20 6b 65 79 62 6f | y.*keys).{}...tstatic.void.keybo |
| 1fb60 | 61 72 64 5f 6c 65 61 76 65 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f | ard_leave(void.*data,.struct.wl_ |
| 1fb80 | 6b 65 79 62 6f 61 72 64 20 2a 6b 65 79 62 6f 61 72 64 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 | keyboard.*keyboard,.uint32_t.ser |
| 1fba0 | 69 61 6c 2c 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 72 66 61 63 65 29 | ial,.struct.wl_surface.*surface) |
| 1fbc0 | 20 7b 7d 00 00 00 00 00 00 00 80 73 74 61 74 69 63 20 76 6f 69 64 20 6b 65 79 62 6f 61 72 64 5f | .{}........static.void.keyboard_ |
| 1fbe0 | 6b 65 79 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 | key(void.*data,.struct.wl_keyboa |
| 1fc00 | 72 64 20 2a 6b 65 79 62 6f 61 72 64 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 2c 20 75 | rd.*keyboard,.uint32_t.serial,.u |
| 1fc20 | 69 6e 74 33 32 5f 74 20 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 6b 65 79 2c 20 75 69 6e 74 | int32_t.time,.uint32_t.key,.uint |
| 1fc40 | 33 32 5f 74 20 73 74 61 74 65 29 00 00 00 01 7b 00 00 00 44 20 20 20 20 69 66 20 28 73 74 61 74 | 32_t.state)....{...D....if.(stat |
| 1fc60 | 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 53 53 | e.==.WL_KEYBOARD_KEY_STATE_PRESS |
| 1fc80 | 45 44 20 26 26 20 70 74 79 5f 6d 61 73 74 65 72 20 3e 3d 20 30 29 20 7b 00 00 00 13 20 20 20 20 | ED.&&.pty_master.>=.0).{........ |
| 1fca0 | 20 20 20 20 63 68 61 72 20 63 20 3d 20 30 3b 00 00 00 08 20 20 20 20 20 20 20 20 00 00 00 3f 20 | ....char.c.=.0;...............?. |
| 1fcc0 | 20 20 20 20 20 20 20 69 66 20 28 6b 65 79 20 3e 3d 20 38 20 26 26 20 6b 65 79 20 3c 3d 20 39 29 | .......if.(key.>=.8.&&.key.<=.9) |
| 1fce0 | 20 63 20 3d 20 28 6b 65 79 20 3d 3d 20 38 29 20 3f 20 30 78 37 66 20 3a 20 27 5c 74 27 3b 00 00 | .c.=.(key.==.8).?.0x7f.:.'\t';.. |
| 1fd00 | 00 44 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 6b 65 79 20 3e 3d 20 31 36 20 26 26 20 | .D........else.if.(key.>=.16.&&. |
| 1fd20 | 6b 65 79 20 3c 3d 20 32 35 29 20 63 20 3d 20 22 71 77 65 72 74 79 75 69 6f 70 22 5b 6b 65 79 20 | key.<=.25).c.=."qwertyuiop"[key. |
| 1fd40 | 2d 20 31 36 5d 3b 00 00 00 43 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 6b 65 79 20 3e | -.16];...C........else.if.(key.> |
| 1fd60 | 3d 20 32 36 20 26 26 20 6b 65 79 20 3c 3d 20 33 35 29 20 63 20 3d 20 22 61 73 64 66 67 68 6a 6b | =.26.&&.key.<=.35).c.=."asdfghjk |
| 1fd80 | 6c 22 5b 6b 65 79 20 2d 20 32 36 5d 3b 00 00 00 41 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 | l"[key.-.26];...A........else.if |
| 1fda0 | 20 28 6b 65 79 20 3e 3d 20 33 36 20 26 26 20 6b 65 79 20 3c 3d 20 34 35 29 20 63 20 3d 20 22 7a | .(key.>=.36.&&.key.<=.45).c.=."z |
| 1fdc0 | 78 63 76 62 6e 6d 22 5b 6b 65 79 20 2d 20 33 36 5d 3b 00 00 00 44 20 20 20 20 20 20 20 20 65 6c | xcvbnm"[key.-.36];...D........el |
| 1fde0 | 73 65 20 69 66 20 28 6b 65 79 20 3e 3d 20 34 36 20 26 26 20 6b 65 79 20 3c 3d 20 35 35 29 20 63 | se.if.(key.>=.46.&&.key.<=.55).c |
| 1fe00 | 20 3d 20 22 30 31 32 33 34 35 36 37 38 39 22 5b 6b 65 79 20 2d 20 34 36 5d 3b 00 00 00 24 20 20 | .=."0123456789"[key.-.46];...$.. |
| 1fe20 | 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 6b 65 79 20 3d 3d 20 35 37 29 20 63 20 3d 20 27 20 | ......else.if.(key.==.57).c.=.'. |
| 1fe40 | 27 3b 00 00 00 25 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 6b 65 79 20 3d 3d 20 35 38 | ';...%........else.if.(key.==.58 |
| 1fe60 | 29 20 63 20 3d 20 27 5c 6e 27 3b 00 00 00 25 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 | ).c.=.'\n';...%........else.if.( |
| 1fe80 | 6b 65 79 20 3d 3d 20 31 34 29 20 63 20 3d 20 27 5c 62 27 3b 00 00 00 24 20 20 20 20 20 20 20 20 | key.==.14).c.=.'\b';...$........ |
| 1fea0 | 65 6c 73 65 20 69 66 20 28 6b 65 79 20 3d 3d 20 32 32 29 20 63 20 3d 20 27 77 27 3b 00 00 00 24 | else.if.(key.==.22).c.=.'w';...$ |
| 1fec0 | 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 6b 65 79 20 3d 3d 20 39 29 20 63 20 3d 20 27 | ........else.if.(key.==.9).c.=.' |
| 1fee0 | 5c 74 27 3b 00 00 00 25 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 6b 65 79 20 3d 3d 20 | \t';...%........else.if.(key.==. |
| 1ff00 | 34 31 29 20 63 20 3d 20 27 5c 6e 27 3b 00 00 00 08 20 20 20 20 20 20 20 20 00 00 00 10 20 20 20 | 41).c.=.'\n';................... |
| 1ff20 | 20 20 20 20 20 69 66 20 28 63 29 20 7b 00 00 00 25 20 20 20 20 20 20 20 20 20 20 20 20 77 72 69 | .....if.(c).{...%............wri |
| 1ff40 | 74 65 28 70 74 79 5f 6d 61 73 74 65 72 2c 20 26 63 2c 20 31 29 3b 00 00 00 09 20 20 20 20 20 20 | te(pty_master,.&c,.1);.......... |
| 1ff60 | 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 b2 73 74 61 74 69 63 20 | ..}........}....}........static. |
| 1ff80 | 76 6f 69 64 20 6b 65 79 62 6f 61 72 64 5f 6d 6f 64 69 66 69 65 72 73 28 76 6f 69 64 20 2a 64 61 | void.keyboard_modifiers(void.*da |
| 1ffa0 | 74 61 2c 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 | ta,.struct.wl_keyboard.*keyboard |
| 1ffc0 | 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 6d 6f 64 73 | ,.uint32_t.serial,.uint32_t.mods |
| 1ffe0 | 5f 64 65 70 72 65 73 73 65 64 2c 20 75 69 6e 74 33 32 5f 74 20 6d 6f 64 73 5f 6c 61 74 63 68 65 | _depressed,.uint32_t.mods_latche |
| 20000 | 64 2c 20 75 69 6e 74 33 32 5f 74 20 6d 6f 64 73 5f 6c 6f 63 6b 65 64 2c 20 75 69 6e 74 33 32 5f | d,.uint32_t.mods_locked,.uint32_ |
| 20020 | 74 20 67 72 6f 75 70 29 20 7b 7d 00 00 00 00 00 00 00 3e 73 74 61 74 69 63 20 63 6f 6e 73 74 20 | t.group).{}.......>static.const. |
| 20040 | 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 79 62 | struct.wl_keyboard_listener.keyb |
| 20060 | 6f 61 72 64 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 1e 20 20 20 20 2e 6b 65 79 6d 61 70 | oard_listener.=.{.........keymap |
| 20080 | 20 3d 20 6b 65 79 62 6f 61 72 64 5f 6b 65 79 6d 61 70 2c 00 00 00 1c 20 20 20 20 2e 65 6e 74 65 | .=.keyboard_keymap,.........ente |
| 200a0 | 72 20 3d 20 6b 65 79 62 6f 61 72 64 5f 65 6e 74 65 72 2c 00 00 00 1c 20 20 20 20 2e 6c 65 61 76 | r.=.keyboard_enter,.........leav |
| 200c0 | 65 20 3d 20 6b 65 79 62 6f 61 72 64 5f 6c 65 61 76 65 2c 00 00 00 18 20 20 20 20 2e 6b 65 79 20 | e.=.keyboard_leave,.........key. |
| 200e0 | 3d 20 6b 65 79 62 6f 61 72 64 5f 6b 65 79 2c 00 00 00 24 20 20 20 20 2e 6d 6f 64 69 66 69 65 72 | =.keyboard_key,...$.....modifier |
| 20100 | 73 20 3d 20 6b 65 79 62 6f 61 72 64 5f 6d 6f 64 69 66 69 65 72 73 2c 00 00 00 02 7d 3b 00 00 00 | s.=.keyboard_modifiers,....};... |
| 20120 | 00 00 00 00 56 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 61 74 5f 63 61 70 61 62 69 6c 69 74 69 | ....Vstatic.void.seat_capabiliti |
| 20140 | 65 73 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 73 65 61 74 20 2a 73 | es(void.*data,.struct.wl_seat.*s |
| 20160 | 65 61 74 2c 20 75 69 6e 74 33 32 5f 74 20 63 61 70 61 62 69 6c 69 74 69 65 73 29 00 00 00 01 7b | eat,.uint32_t.capabilities)....{ |
| 20180 | 00 00 00 35 20 20 20 20 69 66 20 28 63 61 70 61 62 69 6c 69 74 69 65 73 20 26 20 57 4c 5f 53 45 | ...5....if.(capabilities.&.WL_SE |
| 201a0 | 41 54 5f 43 41 50 41 42 49 4c 49 54 59 5f 4b 45 59 42 4f 41 52 44 29 20 7b 00 00 00 2e 20 20 20 | AT_CAPABILITY_KEYBOARD).{....... |
| 201c0 | 20 20 20 20 20 6b 65 79 62 6f 61 72 64 20 3d 20 77 6c 5f 73 65 61 74 5f 67 65 74 5f 6b 65 79 62 | .....keyboard.=.wl_seat_get_keyb |
| 201e0 | 6f 61 72 64 28 73 65 61 74 29 3b 00 00 00 45 20 20 20 20 20 20 20 20 77 6c 5f 6b 65 79 62 6f 61 | oard(seat);...E........wl_keyboa |
| 20200 | 72 64 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 6b 65 79 62 6f 61 72 64 2c 20 26 6b 65 79 62 6f | rd_add_listener(keyboard,.&keybo |
| 20220 | 61 72 64 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 | ard_listener,.NULL);........}... |
| 20240 | 01 7d 00 00 00 00 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 | .}.......6static.const.struct.wl |
| 20260 | 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 3d 20 7b | _seat_listener.seat_listener.=.{ |
| 20280 | 00 00 00 26 20 20 20 20 2e 63 61 70 61 62 69 6c 69 74 69 65 73 20 3d 20 73 65 61 74 5f 63 61 70 | ...&.....capabilities.=.seat_cap |
| 202a0 | 61 62 69 6c 69 74 69 65 73 2c 00 00 00 02 7d 3b 00 00 00 00 00 00 00 7b 73 74 61 74 69 63 20 76 | abilities,....};.......{static.v |
| 202c0 | 6f 69 64 20 68 61 6e 64 6c 65 5f 67 6c 6f 62 61 6c 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 | oid.handle_global(void.*data,.st |
| 202e0 | 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 69 73 74 72 79 2c 20 75 69 6e 74 | ruct.wl_registry.*registry,.uint |
| 20300 | 33 32 5f 74 20 6e 61 6d 65 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 6e 74 65 72 66 61 63 65 | 32_t.name,.const.char.*interface |
| 20320 | 2c 20 75 69 6e 74 33 32 5f 74 20 76 65 72 73 69 6f 6e 29 00 00 00 01 7b 00 00 00 30 20 20 20 20 | ,.uint32_t.version)....{...0.... |
| 20340 | 69 66 20 28 73 74 72 63 6d 70 28 69 6e 74 65 72 66 61 63 65 2c 20 22 77 6c 5f 63 6f 6d 70 6f 73 | if.(strcmp(interface,."wl_compos |
| 20360 | 69 74 6f 72 22 29 20 3d 3d 20 30 29 00 00 00 53 20 20 20 20 20 20 20 20 63 6f 6d 70 6f 73 69 74 | itor").==.0)...S........composit |
| 20380 | 6f 72 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 | or.=.wl_registry_bind(registry,. |
| 203a0 | 6e 61 6d 65 2c 20 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 20 | name,.&wl_compositor_interface,. |
| 203c0 | 34 29 3b 00 00 00 2e 20 20 20 20 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d 70 28 69 6e 74 65 72 | 4);........else.if.(strcmp(inter |
| 203e0 | 66 61 63 65 2c 20 22 77 6c 5f 73 68 6d 22 29 20 3d 3d 20 30 29 00 00 00 45 20 20 20 20 20 20 20 | face,."wl_shm").==.0)...E....... |
| 20400 | 20 73 68 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 | .shm.=.wl_registry_bind(registry |
| 20420 | 2c 20 6e 61 6d 65 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 | ,.name,.&wl_shm_interface,.1);.. |
| 20440 | 00 35 20 20 20 20 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d 70 28 69 6e 74 65 72 66 61 63 65 2c | .5....else.if.(strcmp(interface, |
| 20460 | 20 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 20 3d 3d 20 30 29 20 7b 00 00 00 4e 20 20 20 20 20 | ."xdg_wm_base").==.0).{...N..... |
| 20480 | 20 20 20 77 6d 5f 62 61 73 65 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 | ...wm_base.=.wl_registry_bind(re |
| 204a0 | 67 69 73 74 72 79 2c 20 6e 61 6d 65 2c 20 26 78 64 67 5f 77 6d 5f 62 61 73 65 5f 69 6e 74 65 72 | gistry,.name,.&xdg_wm_base_inter |
| 204c0 | 66 61 63 65 2c 20 31 29 3b 00 00 00 43 20 20 20 20 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 | face,.1);...C........xdg_wm_base |
| 204e0 | 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 77 6d 5f 62 61 73 65 2c 20 26 77 6d 5f 62 61 73 65 5f | _add_listener(wm_base,.&wm_base_ |
| 20500 | 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 33 20 20 20 20 7d 20 65 6c 73 65 20 69 | listener,.NULL);...3....}.else.i |
| 20520 | 66 20 28 73 74 72 63 6d 70 28 69 6e 74 65 72 66 61 63 65 2c 20 22 77 6c 5f 73 65 61 74 22 29 20 | f.(strcmp(interface,."wl_seat"). |
| 20540 | 3d 3d 20 30 29 20 7b 00 00 00 47 20 20 20 20 20 20 20 20 73 65 61 74 20 3d 20 77 6c 5f 72 65 67 | ==.0).{...G........seat.=.wl_reg |
| 20560 | 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 6e 61 6d 65 2c 20 26 77 6c 5f 73 | istry_bind(registry,.name,.&wl_s |
| 20580 | 65 61 74 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 39 20 20 20 20 20 20 20 20 77 6c | eat_interface,.1);...9........wl |
| 205a0 | 5f 73 65 61 74 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 73 65 61 74 2c 20 26 73 65 61 74 5f 6c | _seat_add_listener(seat,.&seat_l |
| 205c0 | 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 | istener,.NULL);........}....}... |
| 205e0 | 00 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 72 65 67 69 | ....>static.const.struct.wl_regi |
| 20600 | 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 20 72 65 67 69 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 20 | stry_listener.registry_listener. |
| 20620 | 3d 20 7b 00 00 00 1c 20 20 20 20 2e 67 6c 6f 62 61 6c 20 3d 20 68 61 6e 64 6c 65 5f 67 6c 6f 62 | =.{.........global.=.handle_glob |
| 20640 | 61 6c 2c 00 00 00 1a 20 20 20 20 2e 67 6c 6f 62 61 6c 5f 72 65 6d 6f 76 65 20 3d 20 4e 55 4c 4c | al,.........global_remove.=.NULL |
| 20660 | 2c 00 00 00 02 7d 3b 00 00 00 00 00 00 00 1a 73 74 61 74 69 63 20 69 6e 74 20 73 65 74 75 70 5f | ,....};........static.int.setup_ |
| 20680 | 70 74 79 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 31 20 20 20 20 70 74 79 5f 6d 61 73 74 65 72 | pty(void)....{...1....pty_master |
| 206a0 | 20 3d 20 70 6f 73 69 78 5f 6f 70 65 6e 70 74 28 4f 5f 52 44 57 52 20 7c 20 4f 5f 4e 4f 43 54 54 | .=.posix_openpt(O_RDWR.|.O_NOCTT |
| 206c0 | 59 29 3b 00 00 00 22 20 20 20 20 69 66 20 28 70 74 79 5f 6d 61 73 74 65 72 20 3c 20 30 29 20 72 | Y);..."....if.(pty_master.<.0).r |
| 206e0 | 65 74 75 72 6e 20 2d 31 3b 00 00 00 04 20 20 20 20 00 00 00 2b 20 20 20 20 69 66 20 28 67 72 61 | eturn.-1;...........+....if.(gra |
| 20700 | 6e 74 70 74 28 70 74 79 5f 6d 61 73 74 65 72 29 20 3c 20 30 29 20 72 65 74 75 72 6e 20 2d 31 3b | ntpt(pty_master).<.0).return.-1; |
| 20720 | 00 00 00 2c 20 20 20 20 69 66 20 28 75 6e 6c 6f 63 6b 70 74 28 70 74 79 5f 6d 61 73 74 65 72 29 | ...,....if.(unlockpt(pty_master) |
| 20740 | 20 3c 20 30 29 20 72 65 74 75 72 6e 20 2d 31 3b 00 00 00 04 20 20 20 20 00 00 00 3d 20 20 20 20 | .<.0).return.-1;...........=.... |
| 20760 | 69 6e 74 20 73 6c 61 76 65 20 3d 20 6f 70 65 6e 28 70 74 73 6e 61 6d 65 28 70 74 79 5f 6d 61 73 | int.slave.=.open(ptsname(pty_mas |
| 20780 | 74 65 72 29 2c 20 4f 5f 52 44 57 52 20 7c 20 4f 5f 4e 4f 43 54 54 59 29 3b 00 00 00 1d 20 20 20 | ter),.O_RDWR.|.O_NOCTTY);....... |
| 207a0 | 20 69 66 20 28 73 6c 61 76 65 20 3c 20 30 29 20 72 65 74 75 72 6e 20 2d 31 3b 00 00 00 04 20 20 | .if.(slave.<.0).return.-1;...... |
| 207c0 | 20 20 00 00 00 18 20 20 20 20 73 74 72 75 63 74 20 74 65 72 6d 69 6f 73 20 74 65 72 6d 3b 00 00 | ..........struct.termios.term;.. |
| 207e0 | 00 1c 20 20 20 20 74 63 67 65 74 61 74 74 72 28 73 6c 61 76 65 2c 20 26 74 65 72 6d 29 3b 00 00 | ......tcgetattr(slave,.&term);.. |
| 20800 | 00 15 20 20 20 20 63 66 6d 61 6b 65 72 61 77 28 26 74 65 72 6d 29 3b 00 00 00 25 20 20 20 20 74 | ......cfmakeraw(&term);...%....t |
| 20820 | 63 73 65 74 61 74 74 72 28 73 6c 61 76 65 2c 20 54 43 53 41 4e 4f 57 2c 20 26 74 65 72 6d 29 3b | csetattr(slave,.TCSANOW,.&term); |
| 20840 | 00 00 00 11 20 20 20 20 63 6c 6f 73 65 28 73 6c 61 76 65 29 3b 00 00 00 04 20 20 20 20 00 00 00 | ........close(slave);........... |
| 20860 | 0d 20 20 20 20 72 65 74 75 72 6e 20 30 3b 00 00 00 01 7d 00 00 00 00 00 00 00 1b 73 74 61 74 69 | .....return.0;....}........stati |
| 20880 | 63 20 76 6f 69 64 20 72 75 6e 5f 73 68 65 6c 6c 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 17 20 | c.void.run_shell(void)....{..... |
| 208a0 | 20 20 20 73 68 65 6c 6c 5f 70 69 64 20 3d 20 66 6f 72 6b 28 29 3b 00 00 00 04 20 20 20 20 00 00 | ...shell_pid.=.fork();.......... |
| 208c0 | 00 19 20 20 20 20 69 66 20 28 73 68 65 6c 6c 5f 70 69 64 20 3d 3d 20 30 29 20 7b 00 00 00 36 20 | ......if.(shell_pid.==.0).{...6. |
| 208e0 | 20 20 20 20 20 20 20 69 6e 74 20 73 6c 61 76 65 20 3d 20 6f 70 65 6e 28 70 74 73 6e 61 6d 65 28 | .......int.slave.=.open(ptsname( |
| 20900 | 70 74 79 5f 6d 61 73 74 65 72 29 2c 20 4f 5f 52 44 57 52 29 3b 00 00 00 11 20 20 20 20 20 20 20 | pty_master),.O_RDWR);........... |
| 20920 | 20 73 65 74 73 69 64 28 29 3b 00 00 00 23 20 20 20 20 20 20 20 20 69 6f 63 74 6c 28 73 6c 61 76 | .setsid();...#........ioctl(slav |
| 20940 | 65 2c 20 54 49 4f 43 53 43 54 54 59 2c 20 30 29 3b 00 00 00 17 20 20 20 20 20 20 20 20 64 75 70 | e,.TIOCSCTTY,.0);............dup |
| 20960 | 32 28 73 6c 61 76 65 2c 20 30 29 3b 00 00 00 17 20 20 20 20 20 20 20 20 64 75 70 32 28 73 6c 61 | 2(slave,.0);............dup2(sla |
| 20980 | 76 65 2c 20 31 29 3b 00 00 00 17 20 20 20 20 20 20 20 20 64 75 70 32 28 73 6c 61 76 65 2c 20 32 | ve,.1);............dup2(slave,.2 |
| 209a0 | 29 3b 00 00 00 15 20 20 20 20 20 20 20 20 63 6c 6f 73 65 28 73 6c 61 76 65 29 3b 00 00 00 1a 20 | );............close(slave);..... |
| 209c0 | 20 20 20 20 20 20 20 63 6c 6f 73 65 28 70 74 79 5f 6d 61 73 74 65 72 29 3b 00 00 00 08 20 20 20 | .......close(pty_master);....... |
| 209e0 | 20 20 20 20 20 00 00 00 2c 20 20 20 20 20 20 20 20 73 65 74 65 6e 76 28 22 54 45 52 4d 22 2c 20 | ........,........setenv("TERM",. |
| 20a00 | 22 78 74 65 72 6d 2d 32 35 36 63 6f 6c 6f 72 22 2c 20 31 29 3b 00 00 00 26 20 20 20 20 20 20 20 | "xterm-256color",.1);...&....... |
| 20a20 | 20 63 68 61 72 20 2a 73 68 65 6c 6c 20 3d 20 67 65 74 65 6e 76 28 22 53 48 45 4c 4c 22 29 3b 00 | .char.*shell.=.getenv("SHELL");. |
| 20a40 | 00 00 28 20 20 20 20 20 20 20 20 69 66 20 28 21 73 68 65 6c 6c 29 20 73 68 65 6c 6c 20 3d 20 22 | ..(........if.(!shell).shell.=." |
| 20a60 | 2f 62 69 6e 2f 62 61 73 68 22 3b 00 00 00 22 20 20 20 20 20 20 20 20 65 78 65 63 6c 28 73 68 65 | /bin/bash";..."........execl(she |
| 20a80 | 6c 6c 2c 20 73 68 65 6c 6c 2c 20 4e 55 4c 4c 29 3b 00 00 00 10 20 20 20 20 20 20 20 20 65 78 69 | ll,.shell,.NULL);............exi |
| 20aa0 | 74 28 31 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 0e 69 6e 74 20 6d | t(1);........}....}........int.m |
| 20ac0 | 61 69 6e 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 28 20 20 20 20 6d 65 6d 73 65 74 28 73 63 72 | ain(void)....{...(....memset(scr |
| 20ae0 | 65 65 6e 2c 20 27 20 27 2c 20 73 69 7a 65 6f 66 28 73 63 72 65 65 6e 29 29 3b 00 00 00 1d 20 20 | een,.'.',.sizeof(screen));...... |
| 20b00 | 20 20 73 69 67 6e 61 6c 28 53 49 47 43 48 4c 44 2c 20 53 49 47 5f 49 47 4e 29 3b 00 00 00 04 20 | ..signal(SIGCHLD,.SIG_IGN);..... |
| 20b20 | 20 20 20 00 00 00 1a 20 20 20 20 69 66 20 28 73 65 74 75 70 5f 70 74 79 28 29 20 3c 20 30 29 20 | ...........if.(setup_pty().<.0). |
| 20b40 | 7b 00 00 00 31 20 20 20 20 20 20 20 20 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 66 61 | {...1........fprintf(stderr,."fa |
| 20b60 | 69 6c 65 64 20 74 6f 20 73 65 74 75 70 20 70 74 79 5c 6e 22 29 3b 00 00 00 11 20 20 20 20 20 20 | iled.to.setup.pty\n");.......... |
| 20b80 | 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 10 | ..return.1;........}............ |
| 20ba0 | 20 20 20 20 72 75 6e 5f 73 68 65 6c 6c 28 29 3b 00 00 00 04 20 20 20 20 00 00 00 27 20 20 20 20 | ....run_shell();...........'.... |
| 20bc0 | 64 69 73 70 6c 61 79 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 6f 6e 6e 65 63 74 28 4e 55 4c | display.=.wl_display_connect(NUL |
| 20be0 | 4c 29 3b 00 00 00 13 20 20 20 20 69 66 20 28 21 64 69 73 70 6c 61 79 29 20 7b 00 00 00 3a 20 20 | L);........if.(!display).{...:.. |
| 20c00 | 20 20 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 64 20 74 6f | ......fprintf(stderr,."failed.to |
| 20c20 | 20 63 6f 6e 6e 65 63 74 20 74 6f 20 77 61 79 6c 61 6e 64 5c 6e 22 29 3b 00 00 00 11 20 20 20 20 | .connect.to.wayland\n");........ |
| 20c40 | 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 | ....return.1;........}.......... |
| 20c60 | 00 44 20 20 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 69 73 74 | .D....struct.wl_registry.*regist |
| 20c80 | 72 79 20 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 64 69 73 | ry.=.wl_display_get_registry(dis |
| 20ca0 | 70 6c 61 79 29 3b 00 00 00 41 20 20 20 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 61 64 64 5f 6c 69 | play);...A....wl_registry_add_li |
| 20cc0 | 73 74 65 6e 65 72 28 72 65 67 69 73 74 72 79 2c 20 26 72 65 67 69 73 74 72 79 5f 6c 69 73 74 65 | stener(registry,.®istry_liste |
| 20ce0 | 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 22 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f | ner,.NULL);..."....wl_display_ro |
| 20d00 | 75 6e 64 74 72 69 70 28 64 69 73 70 6c 61 79 29 3b 00 00 00 04 20 20 20 20 00 00 00 2a 20 20 20 | undtrip(display);...........*... |
| 20d20 | 20 69 66 20 28 21 63 6f 6d 70 6f 73 69 74 6f 72 20 7c 7c 20 21 73 68 6d 20 7c 7c 20 21 77 6d 5f | .if.(!compositor.||.!shm.||.!wm_ |
| 20d40 | 62 61 73 65 29 20 7b 00 00 00 38 20 20 20 20 20 20 20 20 66 70 72 69 6e 74 66 28 73 74 64 65 72 | base).{...8........fprintf(stder |
| 20d60 | 72 2c 20 22 6d 69 73 73 69 6e 67 20 77 61 79 6c 61 6e 64 20 69 6e 74 65 72 66 61 63 65 73 5c 6e | r,."missing.wayland.interfaces\n |
| 20d80 | 22 29 3b 00 00 00 11 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 05 20 20 20 20 | ");............return.1;........ |
| 20da0 | 7d 00 00 00 04 20 20 20 20 00 00 00 37 20 20 20 20 73 75 72 66 61 63 65 20 3d 20 77 6c 5f 63 6f | }...........7....surface.=.wl_co |
| 20dc0 | 6d 70 6f 73 69 74 6f 72 5f 63 72 65 61 74 65 5f 73 75 72 66 61 63 65 28 63 6f 6d 70 6f 73 69 74 | mpositor_create_surface(composit |
| 20de0 | 6f 72 29 3b 00 00 00 40 20 20 20 20 78 64 67 5f 73 75 72 66 61 63 65 20 3d 20 78 64 67 5f 77 6d | or);...@....xdg_surface.=.xdg_wm |
| 20e00 | 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 5f 73 75 72 66 61 63 65 28 77 6d 5f 62 61 73 65 2c 20 73 | _base_get_xdg_surface(wm_base,.s |
| 20e20 | 75 72 66 61 63 65 29 3b 00 00 00 47 20 20 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 5f | urface);...G....xdg_surface_add_ |
| 20e40 | 6c 69 73 74 65 6e 65 72 28 78 64 67 5f 73 75 72 66 61 63 65 2c 20 26 78 64 67 5f 73 75 72 66 61 | listener(xdg_surface,.&xdg_surfa |
| 20e60 | 63 65 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 04 20 20 20 20 00 00 00 35 20 | ce_listener,.NULL);...........5. |
| 20e80 | 20 20 20 74 6f 70 6c 65 76 65 6c 20 3d 20 78 64 67 5f 73 75 72 66 61 63 65 5f 67 65 74 5f 74 6f | ...toplevel.=.xdg_surface_get_to |
| 20ea0 | 70 6c 65 76 65 6c 28 78 64 67 5f 73 75 72 66 61 63 65 29 3b 00 00 00 42 20 20 20 20 78 64 67 5f | plevel(xdg_surface);...B....xdg_ |
| 20ec0 | 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 74 6f 70 6c 65 76 65 6c 2c 20 | toplevel_add_listener(toplevel,. |
| 20ee0 | 26 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 31 20 20 | &toplevel_listener,.NULL);...1.. |
| 20f00 | 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 74 6f 70 6c 65 76 65 | ..xdg_toplevel_set_title(topleve |
| 20f20 | 6c 2c 20 22 74 65 72 6d 69 6e 61 6c 22 29 3b 00 00 00 04 20 20 20 20 00 00 00 1f 20 20 20 20 77 | l,."terminal");................w |
| 20f40 | 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 73 75 72 66 61 63 65 29 3b 00 00 00 04 20 20 | l_surface_commit(surface);...... |
| 20f60 | 20 20 00 00 00 19 20 20 20 20 73 74 72 75 63 74 20 70 6f 6c 6c 66 64 20 66 64 73 5b 32 5d 3b 00 | ..........struct.pollfd.fds[2];. |
| 20f80 | 00 00 2b 20 20 20 20 66 64 73 5b 30 5d 2e 66 64 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 | ..+....fds[0].fd.=.wl_display_ge |
| 20fa0 | 74 5f 66 64 28 64 69 73 70 6c 61 79 29 3b 00 00 00 1b 20 20 20 20 66 64 73 5b 30 5d 2e 65 76 65 | t_fd(display);........fds[0].eve |
| 20fc0 | 6e 74 73 20 3d 20 50 4f 4c 4c 49 4e 3b 00 00 00 1b 20 20 20 20 66 64 73 5b 31 5d 2e 66 64 20 3d | nts.=.POLLIN;........fds[1].fd.= |
| 20fe0 | 20 70 74 79 5f 6d 61 73 74 65 72 3b 00 00 00 1b 20 20 20 20 66 64 73 5b 31 5d 2e 65 76 65 6e 74 | .pty_master;........fds[1].event |
| 21000 | 73 20 3d 20 50 4f 4c 4c 49 4e 3b 00 00 00 04 20 20 20 20 00 00 00 15 20 20 20 20 77 68 69 6c 65 | s.=.POLLIN;................while |
| 21020 | 20 28 72 75 6e 6e 69 6e 67 29 20 7b 00 00 00 28 20 20 20 20 20 20 20 20 69 66 20 28 70 6f 6c 6c | .(running).{...(........if.(poll |
| 21040 | 28 66 64 73 2c 20 32 2c 20 2d 31 29 20 3c 20 30 29 20 62 72 65 61 6b 3b 00 00 00 08 20 20 20 20 | (fds,.2,.-1).<.0).break;........ |
| 21060 | 20 20 20 20 00 00 00 26 20 20 20 20 20 20 20 20 69 66 20 28 66 64 73 5b 30 5d 2e 72 65 76 65 6e | .......&........if.(fds[0].reven |
| 21080 | 74 73 20 26 20 50 4f 4c 4c 49 4e 29 20 7b 00 00 00 3a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 | ts.&.POLLIN).{...:............if |
| 210a0 | 20 28 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 28 64 69 73 70 6c 61 79 29 20 3d | .(wl_display_dispatch(display).= |
| 210c0 | 3d 20 2d 31 29 20 62 72 65 61 6b 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 08 20 20 20 | =.-1).break;............}....... |
| 210e0 | 20 20 20 20 20 00 00 00 26 20 20 20 20 20 20 20 20 69 66 20 28 66 64 73 5b 31 5d 2e 72 65 76 65 | ........&........if.(fds[1].reve |
| 21100 | 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 20 7b 00 00 00 1b 20 20 20 20 20 20 20 20 20 20 20 20 63 | nts.&.POLLIN).{................c |
| 21120 | 68 61 72 20 62 75 66 5b 34 30 39 36 5d 3b 00 00 00 37 20 20 20 20 20 20 20 20 20 20 20 20 69 6e | har.buf[4096];...7............in |
| 21140 | 74 20 6e 20 3d 20 72 65 61 64 28 70 74 79 5f 6d 61 73 74 65 72 2c 20 62 75 66 2c 20 73 69 7a 65 | t.n.=.read(pty_master,.buf,.size |
| 21160 | 6f 66 28 62 75 66 29 29 3b 00 00 00 18 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6e 20 3e | of(buf));................if.(n.> |
| 21180 | 20 30 29 20 7b 00 00 00 28 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 65 72 6d 69 6e 61 | .0).{...(................termina |
| 211a0 | 6c 5f 6f 75 74 70 75 74 28 62 75 66 2c 20 6e 29 3b 00 00 00 20 20 20 20 20 20 20 20 20 20 20 20 | l_output(buf,.n);............... |
| 211c0 | 20 7d 20 65 6c 73 65 20 69 66 20 28 6e 20 3d 3d 20 30 29 20 7b 00 00 00 1c 20 20 20 20 20 20 20 | .}.else.if.(n.==.0).{........... |
| 211e0 | 20 20 20 20 20 20 20 20 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 00 00 00 0d 20 20 20 20 20 20 20 | .........running.=.0;........... |
| 21200 | 20 20 20 20 20 7d 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 04 | .....}............}........}.... |
| 21220 | 20 20 20 20 00 00 00 30 20 20 20 20 69 66 20 28 73 68 65 6c 6c 5f 70 69 64 20 3e 20 30 29 20 6b | .......0....if.(shell_pid.>.0).k |
| 21240 | 69 6c 6c 28 73 68 65 6c 6c 5f 70 69 64 2c 20 53 49 47 54 45 52 4d 29 3b 00 00 00 16 20 20 20 20 | ill(shell_pid,.SIGTERM);........ |
| 21260 | 63 6c 6f 73 65 28 70 74 79 5f 6d 61 73 74 65 72 29 3b 00 00 00 04 20 20 20 20 00 00 00 15 20 20 | close(pty_master);.............. |
| 21280 | 20 20 64 65 73 74 72 6f 79 5f 62 75 66 66 65 72 28 29 3b 00 00 00 30 20 20 20 20 69 66 20 28 6b | ..destroy_buffer();...0....if.(k |
| 212a0 | 65 79 62 6f 61 72 64 29 20 77 6c 5f 6b 65 79 62 6f 61 72 64 5f 64 65 73 74 72 6f 79 28 6b 65 79 | eyboard).wl_keyboard_destroy(key |
| 212c0 | 62 6f 61 72 64 29 3b 00 00 00 24 20 20 20 20 69 66 20 28 73 65 61 74 29 20 77 6c 5f 73 65 61 74 | board);...$....if.(seat).wl_seat |
| 212e0 | 5f 64 65 73 74 72 6f 79 28 73 65 61 74 29 3b 00 00 00 31 20 20 20 20 69 66 20 28 74 6f 70 6c 65 | _destroy(seat);...1....if.(tople |
| 21300 | 76 65 6c 29 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 64 65 73 74 72 6f 79 28 74 6f 70 6c 65 76 | vel).xdg_toplevel_destroy(toplev |
| 21320 | 65 6c 29 3b 00 00 00 36 20 20 20 20 69 66 20 28 78 64 67 5f 73 75 72 66 61 63 65 29 20 78 64 67 | el);...6....if.(xdg_surface).xdg |
| 21340 | 5f 73 75 72 66 61 63 65 5f 64 65 73 74 72 6f 79 28 78 64 67 5f 73 75 72 66 61 63 65 29 3b 00 00 | _surface_destroy(xdg_surface);.. |
| 21360 | 00 2d 20 20 20 20 69 66 20 28 73 75 72 66 61 63 65 29 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 65 | .-....if.(surface).wl_surface_de |
| 21380 | 73 74 72 6f 79 28 73 75 72 66 61 63 65 29 3b 00 00 00 2e 20 20 20 20 69 66 20 28 77 6d 5f 62 61 | stroy(surface);........if.(wm_ba |
| 213a0 | 73 65 29 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 64 65 73 74 72 6f 79 28 77 6d 5f 62 61 73 65 29 | se).xdg_wm_base_destroy(wm_base) |
| 213c0 | 3b 00 00 00 36 20 20 20 20 69 66 20 28 63 6f 6d 70 6f 73 69 74 6f 72 29 20 77 6c 5f 63 6f 6d 70 | ;...6....if.(compositor).wl_comp |
| 213e0 | 6f 73 69 74 6f 72 5f 64 65 73 74 72 6f 79 28 63 6f 6d 70 6f 73 69 74 6f 72 29 3b 00 00 00 21 20 | ositor_destroy(compositor);...!. |
| 21400 | 20 20 20 69 66 20 28 73 68 6d 29 20 77 6c 5f 73 68 6d 5f 64 65 73 74 72 6f 79 28 73 68 6d 29 3b | ...if.(shm).wl_shm_destroy(shm); |
| 21420 | 00 00 00 30 20 20 20 20 69 66 20 28 72 65 67 69 73 74 72 79 29 20 77 6c 5f 72 65 67 69 73 74 72 | ...0....if.(registry).wl_registr |
| 21440 | 79 5f 64 65 73 74 72 6f 79 28 72 65 67 69 73 74 72 79 29 3b 00 00 00 30 20 20 20 20 69 66 20 28 | y_destroy(registry);...0....if.( |
| 21460 | 64 69 73 70 6c 61 79 29 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 63 6f 6e 6e 65 63 74 28 64 | display).wl_display_disconnect(d |
| 21480 | 69 73 70 6c 61 79 29 3b 00 00 00 04 20 20 20 20 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 30 | isplay);................return.0 |
| 214a0 | 3b 00 00 00 01 7d 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 06 02 00 00 00 00 00 00 01 00 | ;....}5......................... |
| 214c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 67 3d 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 | ..............g=..............5. |
| 214e0 | 5f d0 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 12 00 00 00 01 00 00 00 00 00 00 | _............................... |
| 21500 | 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 00 00 00 00 00 00 | ................................ |
| 21520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 21540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 21560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 21580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 215a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 215c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 215e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 21600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 21620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 21640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 21660 | 00 00 00 00 6a 01 12 d1 04 01 00 00 00 10 00 f5 18 00 00 01 87 00 00 00 00 00 00 00 00 00 00 00 | ....j........................... |
| 21680 | 01 00 00 00 0c 20 20 20 20 2e 67 6c 6f 62 61 6c 5f f5 18 00 00 01 88 00 00 00 00 00 00 00 00 00 | ..........global_............... |
| 216a0 | 00 00 00 f5 18 00 00 01 16 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 3d 20 20 20 20 73 74 61 | ........................=....sta |
| 216c0 | 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 5f 6c 69 73 | tic.const.struct.wl_callback_lis |
| 216e0 | 74 65 6e 65 72 20 66 72 61 6d 65 5f 6c 69 73 74 65 6e 65 72 20 3d f5 18 00 00 01 17 00 00 00 00 | tener.frame_listener.=.......... |
| 21700 | 00 00 00 00 00 00 00 00 f5 18 00 00 00 86 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 1f 20 20 | ................................ |
| 21720 | 20 20 20 20 20 20 66 6f 72 20 28 69 6e 74 20 70 78 20 3d 20 30 3b 20 70 78 20 3c 20 63 f5 18 00 | ......for.(int.px.=.0;.px.<.c... |
| 21740 | 00 00 87 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 | ................................ |
| 21760 | 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 00 | .......................5........ |
| 21780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 86 00 00 00 1f 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 217a0 | 00 00 00 00 00 00 00 f9 0f 00 00 00 00 00 00 f5 18 00 00 00 00 86 00 00 00 1f 00 00 00 00 00 00 | ................................ |
| 217c0 | 00 00 00 00 00 90 00 00 00 3d 00 00 00 f9 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 0f 00 | .........=...................... |
| 217e0 | 00 00 00 00 00 f5 18 00 00 00 00 16 01 00 00 3d 00 00 00 00 00 00 00 00 00 00 00 71 00 00 00 0c | ...............=...........q.... |
| 21800 | 00 00 00 f8 1f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 0f 00 00 00 00 00 00 f5 18 00 00 00 | ................................ |
| 21820 | 00 87 01 00 00 0c 00 00 00 00 00 00 00 00 00 00 00 7a 00 00 00 01 00 00 00 f7 2f 00 00 00 00 00 | .................z......../..... |
| 21840 | 00 00 00 00 00 00 00 00 00 e5 0c 00 00 00 00 00 00 35 81 e7 aa | .................5... |