| ofs | hex dump | ascii |
|---|
| 0000 | 56 69 6d 9f 55 6e 44 6f e5 00 03 2c 61 f9 87 33 29 80 de f2 1e 1f 8e 94 d4 56 89 c6 1a d6 65 85 | Vim.UnDo...,a..3)........V....e. |
| 0020 | db b3 27 23 34 aa 53 c2 ac 09 6b 00 00 00 dd 00 00 00 01 7d 00 00 00 aa 00 00 00 01 00 00 00 01 | ..'#4.S...k........}............ |
| 0040 | 00 00 00 38 00 00 00 00 00 00 00 38 00 00 00 38 00 00 00 38 00 00 00 00 69 9d 8a 77 04 01 00 00 | ...8.......8...8...8....i..w.... |
| 0060 | 00 18 00 5f d0 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 | ..._............................ |
| 0080 | 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 | ................................ |
| 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 69 9d 68 35 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 | .......i.h5..................... |
| 0200 | 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..... |
| 0220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2c 00 00 00 01 00 00 00 00 00 00 00 00 00 | ..................,............. |
| 0240 | 00 00 00 00 00 00 00 00 00 00 70 05 00 00 00 00 00 00 35 81 5f d0 00 00 00 01 00 00 00 03 00 00 | ..........p.......5._........... |
| 0260 | 00 00 00 00 00 00 00 00 00 02 00 00 00 2d 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 | .............-.................. |
| 0280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 02a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 02c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 02e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 03a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 03c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d 68 37 04 01 00 00 | ........................i.h7.... |
| 03e0 | 00 02 00 f5 18 00 00 00 00 00 00 00 29 00 00 00 2d 00 00 00 2c 00 00 00 1b 23 69 6e 63 6c 75 64 | ............)...-...,....#includ |
| 0400 | 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 |
| 0420 | 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".. |
| 0440 | 00 00 00 00 00 1b 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 |
| 0460 | 3b 00 00 00 1d 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 | ;....struct.wl_registry.*registr |
| 0480 | 79 3b 00 00 00 21 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 | y;...!struct.wl_compositor.*comp |
| 04a0 | 6f 73 69 74 6f 72 3b 00 00 00 1c 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 | ositor;....struct.xdg_wm_base.*w |
| 04c0 | 6d 5f 62 61 73 65 3b 00 00 00 1b 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 | m_base;....struct.wl_surface.*su |
| 04e0 | 72 66 61 63 65 3b 00 00 00 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 64 | rface;....struct.xdg_surface.*xd |
| 0500 | 67 5f 73 75 72 66 61 63 65 3b 00 00 00 1e 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 | g_surface;....struct.xdg_topleve |
| 0520 | 6c 20 2a 74 6f 70 6c 65 76 65 6c 3b 00 00 00 00 00 00 00 46 73 74 61 74 69 63 20 76 6f 69 64 20 | l.*toplevel;.......Fstatic.void. |
| 0540 | 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 | registry_handler(void.*data,.str |
| 0560 | 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 00 00 00 40 20 20 | uct.wl_registry.*registry,...@.. |
| 0580 | 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 74 33 | ...........................uint3 |
| 05a0 | 32 5f 74 20 69 64 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 6e 74 65 72 66 61 63 65 2c 00 00 | 2_t.id,.const.char.*interface,.. |
| 05c0 | 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 20 75 | .0.............................u |
| 05e0 | 69 6e 74 33 32 5f 74 20 76 65 72 73 69 6f 6e 29 20 7b 00 00 00 32 20 20 20 20 69 66 20 28 73 74 | int32_t.version).{...2....if.(st |
| 0600 | 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 69 74 6f 72 22 29 | rcmp(interface,."wl_compositor") |
| 0620 | 20 3d 3d 20 30 29 20 7b 00 00 00 33 20 20 20 20 20 20 20 20 63 6f 6d 70 6f 73 69 74 6f 72 20 3d | .==.0).{...3........compositor.= |
| 0640 | 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 69 64 2c 00 | .wl_registry_bind(registry,.id,. |
| 0660 | 00 00 44 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..D............................. |
| 0680 | 20 20 20 20 20 20 20 20 20 20 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 69 6e 74 65 72 66 61 | ..........&wl_compositor_interfa |
| 06a0 | 63 65 2c 20 34 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 | ce,.4);...7....}.else.if.(strcmp |
| 06c0 | 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 3d 3d 20 30 29 | (interface,."xdg_wm_base").==.0) |
| 06e0 | 20 7b 00 00 00 30 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 | .{...0........wm_base.=.wl_regis |
| 0700 | 74 72 79 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 69 64 2c 00 00 00 3e 20 20 20 20 20 20 | try_bind(registry,.id,...>...... |
| 0720 | 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 26 78 64 | .............................&xd |
| 0740 | 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 05 20 20 20 20 | g_wm_base_interface,.1);........ |
| 0760 | 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 74 72 75 63 | }....}.......>static.const.struc |
| 0780 | 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 74 72 79 5f | t.wl_registry_listener.registry_ |
| 07a0 | 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 15 20 20 20 20 72 65 67 69 73 74 72 79 5f 68 61 6e | listener.=.{........registry_han |
| 07c0 | 64 6c 65 72 2c 00 00 00 08 20 20 20 20 4e 55 4c 4c 00 00 00 02 7d 3b 00 00 00 00 00 00 00 0c 69 | dler,........NULL....};........i |
| 07e0 | 6e 74 20 6d 61 69 6e 28 29 20 7b 00 00 00 27 20 20 20 20 64 69 73 70 6c 61 79 20 3d 20 77 6c 5f | nt.main().{...'....display.=.wl_ |
| 0800 | 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 30 20 20 20 20 72 65 | display_connect(NULL);...0....re |
| 0820 | 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 65 67 69 73 74 72 79 | gistry.=.wl_display_get_registry |
| 0840 | 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 73 74 72 79 5f 61 64 | (display);...A....wl_registry_ad |
| 0860 | 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 69 73 74 72 79 5f 6c | d_listener(registry,.®istry_l |
| 0880 | 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 5f 64 69 73 70 6c 61 | istener,.NULL);..."....wl_displa |
| 08a0 | 79 5f 72 6f 75 6e 64 74 72 69 70 28 64 69 73 70 6c 61 79 29 3b 00 00 00 00 00 00 00 37 20 20 20 | y_roundtrip(display);.......7... |
| 08c0 | 20 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 | .surface.=.wl_compositor_create_ |
| 08e0 | 73 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 | surface(compositor);...@....xdg_ |
| 0900 | 73 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 | surface.=.xdg_wm_base_get_xdg_su |
| 0920 | 72 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 35 20 20 20 20 | rface(wm_base,.surface);...5.... |
| 0940 | 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 6c 65 | toplevel.=.xdg_surface_get_tople |
| 0960 | 76 65 6c 28 78 64 67 5f 73 75 72 66 61 63 65 29 3b 00 00 00 00 00 00 00 1f 20 20 20 20 77 6c 5f | vel(xdg_surface);............wl_ |
| 0980 | 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 00 00 00 00 2a | surface_commit(surface);.......* |
| 09a0 | 20 20 20 20 77 68 69 6c 65 20 28 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 28 64 | ....while.(wl_display_dispatch(d |
| 09c0 | 69 73 70 6c 61 79 29 29 20 7b 00 00 00 05 20 20 20 20 7d 00 00 00 00 00 00 00 0d 20 20 20 20 72 | isplay)).{........}............r |
| 09e0 | 65 74 75 72 6e 20 30 3b 35 81 f5 18 00 00 00 00 00 00 00 00 09 00 00 00 2b 00 00 00 02 00 00 00 | eturn.0;5...............+....... |
| 0a00 | 27 00 00 00 00 00 00 00 09 00 00 00 00 00 00 00 5a 05 00 00 00 00 00 00 20 05 00 00 00 00 00 00 | '...............Z............... |
| 0a20 | 35 81 5f d0 00 00 00 02 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 02 00 00 00 00 | 5._............................. |
| 0a40 | 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 | ................................ |
| 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 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0ba0 | 00 00 00 00 00 00 69 9d 68 57 04 01 00 00 00 00 00 f5 18 00 00 00 02 00 00 00 04 00 00 00 2a 00 | ......i.hW....................*. |
| 0bc0 | 00 00 01 00 00 00 00 f5 18 00 00 00 02 00 00 00 04 00 00 00 29 00 00 00 00 35 81 f5 18 00 00 00 | ....................)....5...... |
| 0be0 | 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 43 00 00 00 00 00 00 | .........................C...... |
| 0c00 | 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 f5 18 00 00 00 00 02 00 00 00 00 00 00 00 00 | ................................ |
| 0c20 | 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 43 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 | ...............C................ |
| 0c40 | 00 00 00 00 00 00 00 f5 18 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 | ................................ |
| 0c60 | 00 13 00 00 00 43 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 13 00 00 00 00 00 00 00 35 81 5f | .....C.......................5._ |
| 0c80 | d0 00 00 00 03 00 00 00 05 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 03 00 00 00 12 00 00 00 | ................................ |
| 0ca0 | 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0d00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0d20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0da0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0e00 | 00 00 00 69 9d 68 5b 04 01 00 00 00 03 00 f5 18 00 00 00 01 00 00 00 04 00 00 00 2a 00 00 00 02 | ...i.h[....................*.... |
| 0e20 | 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 3e 00 | ....#include.<wayland-client.h>. |
| 0e40 | 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 74 72 69 6e 67 2e 68 3e 35 81 f5 18 00 00 00 00 01 00 | ...#include.<string.h>5......... |
| 0e60 | 00 00 0a 00 00 00 01 00 00 00 10 00 00 00 01 00 00 00 18 00 00 00 31 00 00 00 00 00 00 00 22 00 | ......................1.......". |
| 0e80 | 00 00 00 00 00 00 22 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 04 00 00 00 06 00 00 00 00 00 00 | ......".......5._............... |
| 0ea0 | 00 00 00 00 00 05 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 | ................................ |
| 0ec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0ee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0f00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0f20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0f40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0f60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0f80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0fe0 | 00 00 00 00 00 00 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 2a | ...............................* |
| 1000 | 00 00 00 00 00 00 00 00 00 00 00 56 00 00 00 00 00 00 00 00 69 9d 68 b1 04 01 00 00 00 00 00 f5 | ...........V........i.h......... |
| 1020 | 18 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 2a 00 00 00 26 23 69 6e 63 6c 75 64 65 20 22 78 | ................*...&#include."x |
| 1040 | 64 67 2d 73 68 65 6c 6c 2d 63 6c 69 65 6e 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 13 23 | dg-shell-client-protocol.h"....# |
| 1060 | 69 6e 63 6c 75 64 65 20 3c 73 74 72 69 6e 67 2e 68 3e 00 00 00 1b 23 69 6e 63 6c 75 64 65 20 3c | include.<string.h>....#include.< |
| 1080 | 77 61 79 6c 61 6e 64 2d 63 6c 69 65 6e 74 2e 68 3e 00 00 00 00 00 00 00 1b 73 74 72 75 63 74 20 | wayland-client.h>........struct. |
| 10a0 | 77 6c 5f 64 69 73 70 6c 61 79 20 2a 64 69 73 70 6c 61 79 3b 00 00 00 1d 73 74 72 75 63 74 20 77 | wl_display.*display;....struct.w |
| 10c0 | 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 69 73 74 72 79 3b 00 00 00 21 73 74 72 75 63 74 20 | l_registry.*registry;...!struct. |
| 10e0 | 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 3b 00 00 00 1c 73 74 | wl_compositor.*compositor;....st |
| 1100 | 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 3b 00 00 00 1b 73 74 | ruct.xdg_wm_base.*wm_base;....st |
| 1120 | 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 72 66 61 63 65 3b 00 00 00 20 73 74 72 | ruct.wl_surface.*surface;....str |
| 1140 | 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 3b 00 00 00 | uct.xdg_surface.*xdg_surface;... |
| 1160 | 1e 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 3b 00 | .struct.xdg_toplevel.*toplevel;. |
| 1180 | 00 00 00 00 00 00 46 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 69 73 74 72 79 5f 68 61 6e 64 | ......Fstatic.void.registry_hand |
| 11a0 | 6c 65 72 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 | ler(void.*data,.struct.wl_regist |
| 11c0 | 72 79 20 2a 72 65 67 69 73 74 72 79 2c 00 00 00 40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ry.*registry,...@............... |
| 11e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 69 64 2c 20 63 6f 6e 73 74 | ..............uint32_t.id,.const |
| 1200 | 20 63 68 61 72 20 2a 69 6e 74 65 72 66 61 63 65 2c 00 00 00 30 20 20 20 20 20 20 20 20 20 20 20 | .char.*interface,...0........... |
| 1220 | 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 76 65 72 73 69 | ..................uint32_t.versi |
| 1240 | 6f 6e 29 20 7b 00 00 00 30 20 20 69 66 20 28 73 74 72 63 6d 70 28 69 6e 74 65 72 66 61 63 65 2c | on).{...0..if.(strcmp(interface, |
| 1260 | 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 4d 20 20 20 | ."wl_compositor").==.0).{...M... |
| 1280 | 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 72 | .compositor.=.wl_registry_bind(r |
| 12a0 | 65 67 69 73 74 72 79 2c 20 69 64 2c 20 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 69 6e 74 65 | egistry,.id,.&wl_compositor_inte |
| 12c0 | 72 66 61 63 65 2c 20 34 29 3b 00 00 00 35 20 20 7d 20 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d | rface,.4);...5..}.else.if.(strcm |
| 12e0 | 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 3d 3d 20 30 | p(interface,."xdg_wm_base").==.0 |
| 1300 | 29 20 7b 00 00 00 48 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 | ).{...H....wm_base.=.wl_registry |
| 1320 | 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 69 64 2c 20 26 78 64 67 5f 77 6d 5f 62 61 73 65 | _bind(registry,.id,.&xdg_wm_base |
| 1340 | 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 | _interface,.1);......}....}..... |
| 1360 | 00 00 4f 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 | ..Ostatic.const.struct.wl_regist |
| 1380 | 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 3d 20 | ry_listener.registry_listener.=. |
| 13a0 | 7b 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 2c 00 00 00 44 20 20 20 20 20 20 20 20 20 20 | {registry_handler,...D.......... |
| 13c0 | 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 | ................................ |
| 13e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 55 4c 4c 7d 3b 00 00 00 00 00 00 | ....................NULL};...... |
| 1400 | 00 0c 69 6e 74 20 6d 61 69 6e 28 29 20 7b 00 00 00 25 20 20 64 69 73 70 6c 61 79 20 3d 20 77 6c | ..int.main().{...%..display.=.wl |
| 1420 | 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 2e 20 20 72 65 67 | _display_connect(NULL);......reg |
| 1440 | 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( |
| 1460 | 64 69 73 70 6c 61 79 29 3b 00 00 00 3f 20 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 61 64 64 5f 6c | display);...?..wl_registry_add_l |
| 1480 | 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 73 74 | istener(registry,.®istry_list |
| 14a0 | 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 | ener,.NULL);......wl_display_rou |
| 14c0 | 6e 64 74 72 69 70 28 64 69 73 70 6c 61 79 29 3b 00 00 00 00 00 00 00 35 20 20 73 75 72 66 61 63 | ndtrip(display);.......5..surfac |
| 14e0 | 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 |
| 1500 | 28 63 6f 6d 70 6f 73 69 74 6f 72 29 3b 00 00 00 3e 20 20 78 64 67 5f 73 75 72 66 61 63 65 20 3d | (compositor);...>..xdg_surface.= |
| 1520 | 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 6d 5f | .xdg_wm_base_get_xdg_surface(wm_ |
| 1540 | 62 61 73 65 2c 20 73 75 72 66 61 63 65 29 3b 00 00 00 33 20 20 74 6f 70 6c 65 76 65 6c 20 3d 20 | base,.surface);...3..toplevel.=. |
| 1560 | 78 64 67 5f 73 75 72 66 61 63 65 5f 67 65 74 5f 74 6f 70 6c 65 76 65 6c 28 78 64 67 5f 73 75 72 | xdg_surface_get_toplevel(xdg_sur |
| 1580 | 66 61 63 65 29 3b 00 00 00 00 00 00 00 1d 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 | face);..........wl_surface_commi |
| 15a0 | 74 28 73 75 72 66 61 63 65 29 3b 00 00 00 00 00 00 00 28 20 20 77 68 69 6c 65 20 28 77 6c 5f 64 | t(surface);.......(..while.(wl_d |
| 15c0 | 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 28 64 69 73 70 6c 61 79 29 29 20 7b 00 00 00 03 20 | isplay_dispatch(display)).{..... |
| 15e0 | 20 7d 00 00 00 00 00 00 00 0b 20 20 72 65 74 75 72 6e 20 30 3b 00 00 00 01 7d 35 81 f5 18 00 00 | .}..........return.0;....}5..... |
| 1600 | 00 00 00 00 00 00 00 00 00 00 2a 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 | ..........*..................... |
| 1620 | 00 00 4b 05 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 05 00 00 00 07 00 00 | ..K...............5._........... |
| 1640 | 00 00 00 00 00 00 00 00 00 06 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff 00 03 00 00 00 00 | ................................ |
| 1660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 | ................................ |
| 17a0 | 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 56 00 00 00 00 00 00 00 00 69 9d 68 b2 04 01 00 00 | ...............V........i.h..... |
| 17c0 | 00 00 00 f5 18 00 00 00 7c 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 7d f5 18 00 00 00 7d | ........|................}.....} |
| 17e0 | 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 | ................................ |
| 1800 | 00 00 f5 18 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 35 81 f5 18 00 00 00 00 00 00 00 00 | ....................5........... |
| 1820 | 00 00 00 00 00 00 00 00 00 00 00 00 7c 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ............|................... |
| 1840 | 00 00 00 00 ee 0d 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 | ............5._................. |
| 1860 | 00 00 00 07 00 00 00 7d 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 | .......}........................ |
| 1880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 19a0 | 00 00 00 00 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 | ................................ |
| 19c0 | 00 00 00 00 00 00 00 00 00 56 00 00 00 00 00 00 00 00 69 9d 68 b3 04 01 00 00 00 05 00 f5 18 00 | .........V........i.h........... |
| 19e0 | 00 00 00 00 00 00 64 00 00 00 7d 00 00 00 7c 00 00 00 1b 23 69 6e 63 6c 75 64 65 20 3c 77 61 79 | ......d...}...|....#include.<way |
| 1a00 | 6c 61 6e 64 2d 63 6c 69 65 6e 74 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f | land-client.h>....#include.<sys/ |
| 1a20 | 6d 6d 61 6e 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 | mman.h>....#include.<unistd.h>.. |
| 1a40 | 00 12 23 69 6e 63 6c 75 64 65 20 3c 66 63 6e 74 6c 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 | ..#include.<fcntl.h>....#include |
| 1a60 | 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 73 74 64 6c 69 62 2e | .<string.h>....#include.<stdlib. |
| 1a80 | 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6f 2e 68 3e 00 00 00 26 23 69 6e 63 | h>....#include.<stdio.h>...&#inc |
| 1aa0 | 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 6c 2e | lude."xdg-shell-client-protocol. |
| 1ac0 | 68 22 00 00 00 00 00 00 00 1b 73 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 20 2a 64 69 73 | h"........struct.wl_display.*dis |
| 1ae0 | 70 6c 61 79 3b 00 00 00 1d 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 | play;....struct.wl_registry.*reg |
| 1b00 | 69 73 74 72 79 3b 00 00 00 21 73 74 72 75 63 74 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 20 2a | istry;...!struct.wl_compositor.* |
| 1b20 | 63 6f 6d 70 6f 73 69 74 6f 72 3b 00 00 00 13 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 | compositor;....struct.wl_shm.*sh |
| 1b40 | 6d 3b 00 00 00 1c 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 | m;....struct.xdg_wm_base.*wm_bas |
| 1b60 | 65 3b 00 00 00 1b 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 | e;....struct.wl_surface.*surface |
| 1b80 | 3b 00 00 00 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 | ;....struct.xdg_surface.*xdg_sur |
| 1ba0 | 66 61 63 65 3b 00 00 00 1e 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 74 6f | face;....struct.xdg_toplevel.*to |
| 1bc0 | 70 6c 65 76 65 6c 3b 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 | plevel;........static.int.runnin |
| 1be0 | 67 20 3d 20 31 3b 00 00 00 00 00 00 00 24 73 74 61 74 69 63 20 76 6f 69 64 20 77 6d 5f 62 61 73 | g.=.1;.......$static.void.wm_bas |
| 1c00 | 65 5f 70 69 6e 67 28 76 6f 69 64 20 2a 64 61 74 61 2c 00 00 00 35 20 20 20 20 20 20 20 20 20 20 | e_ping(void.*data,...5.......... |
| 1c20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 | ...............struct.xdg_wm_bas |
| 1c40 | 65 20 2a 77 6d 5f 62 61 73 65 2c 00 00 00 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | e.*wm_base,...)................. |
| 1c60 | 20 20 20 20 20 20 20 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 | ........uint32_t.serial)....{... |
| 1c80 | 26 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 5f 62 61 73 65 2c 20 73 | &....xdg_wm_base_pong(wm_base,.s |
| 1ca0 | 65 72 69 61 6c 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 | erial);....}.......=static.const |
| 1cc0 | 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 77 6d 5f | .struct.xdg_wm_base_listener.wm_ |
| 1ce0 | 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 10 20 20 20 20 77 6d 5f 62 61 73 65 | base_listener.=.{........wm_base |
| 1d00 | 5f 70 69 6e 67 00 00 00 02 7d 3b 00 00 00 00 00 00 00 2d 73 74 61 74 69 63 20 76 6f 69 64 20 78 | _ping....};.......-static.void.x |
| 1d20 | 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, |
| 1d40 | 00 00 00 42 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ...B............................ |
| 1d60 | 20 20 20 20 20 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 | ......struct.xdg_surface.*xdg_su |
| 1d80 | 72 66 61 63 65 2c 00 00 00 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | rface,...2...................... |
| 1da0 | 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 29 00 00 00 01 | ............uint32_t.serial).... |
| 1dc0 | 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 6f 6e 66 69 67 75 | {...3....xdg_surface_ack_configu |
| 1de0 | 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 00 01 7d 00 00 00 | re(xdg_surface,.serial);....}... |
| 1e00 | 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 72 | ....Astatic.const.struct.xdg_sur |
| 1e20 | 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 6e | face_listener.xdg_surface_listen |
| 1e40 | 65 72 20 3d 20 7b 00 00 00 19 20 20 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 63 6f 6e 66 69 67 | er.=.{........xdg_surface_config |
| 1e60 | 75 72 65 00 00 00 02 7d 3b 00 00 00 00 00 00 00 28 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 | ure....};.......(static.void.reg |
| 1e80 | 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 28 76 6f 69 64 20 2a 64 61 74 61 2c 00 00 00 3a 20 20 20 | istry_handler(void.*data,...:... |
| 1ea0 | 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 73 74 72 75 63 74 | ..........................struct |
| 1ec0 | 20 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 29 20 20 20 20 20 | .wl_registry.*registry,...)..... |
| 1ee0 | 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 |
| 1f00 | 20 69 64 2c 00 00 00 33 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .id,...3........................ |
| 1f20 | 20 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 6e 74 65 72 66 61 63 65 2c 00 00 00 2e 20 | .....const.char.*interface,..... |
| 1f40 | 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 6e 74 | ............................uint |
| 1f60 | 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 69 66 20 28 73 74 | 32_t.version)....{...0....if.(st |
| 1f80 | 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 69 74 6f 72 22 29 | rcmp(interface,."wl_compositor") |
| 1fa0 | 20 3d 3d 20 30 29 00 00 00 33 20 20 20 20 20 20 20 20 63 6f 6d 70 6f 73 69 74 6f 72 20 3d 20 77 | .==.0)...3........compositor.=.w |
| 1fc0 | 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 69 64 2c 00 00 00 | l_registry_bind(registry,.id,... |
| 1fe0 | 43 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 | C............................... |
| 2000 | 20 20 20 20 20 20 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 | .......&wl_compositor_interface, |
| 2020 | 20 34 29 3b 00 00 00 00 00 00 00 2e 20 20 20 20 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d 70 28 | .4);............else.if.(strcmp( |
| 2040 | 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 00 00 00 2c 20 20 | interface,."wl_shm").==.0)...,.. |
| 2060 | 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 72 65 67 | ......shm.=.wl_registry_bind(reg |
| 2080 | 69 73 74 72 79 2c 20 69 64 2c 00 00 00 35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | istry,.id,...5.................. |
| 20a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 61 63 65 2c 20 | .............&wl_shm_interface,. |
| 20c0 | 31 29 3b 00 00 00 00 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 | 1);.......5....else.if.(strcmp(i |
| 20e0 | 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 7b | nterface,."xdg_wm_base").==.0).{ |
| 2100 | 00 00 00 30 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 72 | ...0........wm_base.=.wl_registr |
| 2120 | 79 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 69 64 2c 00 00 00 3e 20 20 20 20 20 20 20 20 | y_bind(registry,.id,...>........ |
| 2140 | 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 26 78 64 67 5f | ...........................&xdg_ |
| 2160 | 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 20 20 20 | wm_base_interface,.1);...C...... |
| 2180 | 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 5f 62 61 | ..xdg_wm_base_add_listener(wm_ba |
| 21a0 | 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 00 00 00 | se,.&wm_base_listener,.NULL);... |
| 21c0 | 05 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 | .....}....}.......>static.const. |
| 21e0 | 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 72 65 67 69 | struct.wl_registry_listener.regi |
| 2200 | 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 15 20 20 20 20 72 65 67 69 73 74 72 | stry_listener.=.{........registr |
| 2220 | 79 5f 68 61 6e 64 6c 65 72 2c 00 00 00 08 20 20 20 20 4e 55 4c 4c 00 00 00 02 7d 3b 00 00 00 00 | y_handler,........NULL....};.... |
| 2240 | 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 5f 66 69 6c 65 28 73 | ...'static.int.create_shm_file(s |
| 2260 | 69 7a 65 5f 74 20 73 69 7a 65 29 00 00 00 01 7b 00 00 00 2c 20 20 20 20 63 68 61 72 20 74 65 6d | ize_t.size)....{...,....char.tem |
| 2280 | 70 6c 61 74 65 5b 5d 20 3d 20 22 2f 77 61 79 6c 61 6e 64 2d 73 68 6d 2d 58 58 58 58 58 58 22 3b | plate[].=."/wayland-shm-XXXXXX"; |
| 22a0 | 00 00 00 1f 20 20 20 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 65 6d 70 6c 61 74 | ........int.fd.=.mkstemp(templat |
| 22c0 | 65 29 3b 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 18 | e);........unlink(template);.... |
| 22e0 | 20 20 20 20 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 73 69 7a 65 29 3b 00 00 00 0e 20 20 20 20 | ....ftruncate(fd,.size);........ |
| 2300 | 72 65 74 75 72 6e 20 66 64 3b 00 00 00 01 7d 00 00 00 00 00 00 00 0a 69 6e 74 20 6d 61 69 6e 28 | return.fd;....}........int.main( |
| 2320 | 29 00 00 00 01 7b 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 | )....{...'....display.=.wl_displ |
| 2340 | 61 79 5f 63 6f 6e 6e 65 63 74 28 4e 55 4c 4c 29 3b 00 00 00 30 20 20 20 20 72 65 67 69 73 74 72 | ay_connect(NULL);...0....registr |
| 2360 | 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 70 | y.=.wl_display_get_registry(disp |
| 2380 | 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 73 | lay);...A....wl_registry_add_lis |
| 23a0 | 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 6e | tener(registry,.®istry_listen |
| 23c0 | 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 75 | er,.NULL);..."....wl_display_rou |
| 23e0 | 6e 64 74 72 69 70 28 64 69 73 70 6c 61 79 29 3b 00 00 00 00 00 00 00 37 20 20 20 20 73 75 72 66 | ndtrip(display);.......7....surf |
| 2400 | 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 61 | ace.=.wl_compositor_create_surfa |
| 2420 | 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 61 | ce(compositor);...@....xdg_surfa |
| 2440 | 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 65 | ce.=.xdg_wm_base_get_xdg_surface |
| 2460 | 28 77 6d 5f 62 61 73 65 2c 20 73 75 72 66 61 63 65 29 3b 00 00 00 29 20 20 20 20 78 64 67 5f 73 | (wm_base,.surface);...)....xdg_s |
| 2480 | 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 2c | urface_add_listener(xdg_surface, |
| 24a0 | 00 00 00 3a 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 | ...:............................ |
| 24c0 | 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 00 | .&xdg_surface_listener,.NULL);.. |
| 24e0 | 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 74 | .5....toplevel.=.xdg_surface_get |
| 2500 | 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 00 00 00 00 1f 20 | _toplevel(xdg_surface);......... |
| 2520 | 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 00 | ...wl_surface_commit(surface);.. |
| 2540 | 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 73 70 6c | ."....wl_display_roundtrip(displ |
| 2560 | 61 79 29 3b 00 00 00 00 00 00 00 14 20 20 20 20 69 6e 74 20 77 69 64 74 68 20 3d 20 32 30 30 3b | ay);............int.width.=.200; |
| 2580 | 00 00 00 15 20 20 20 20 69 6e 74 20 68 65 69 67 68 74 20 3d 20 32 30 30 3b 00 00 00 1b 20 20 20 | ........int.height.=.200;....... |
| 25a0 | 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 20 20 20 20 | .int.stride.=.width.*.4;........ |
| 25c0 | 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 00 00 00 00 | int.size.=.stride.*.height;..... |
| 25e0 | 00 00 23 20 20 20 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 | ..#....int.fd.=.create_shm_file( |
| 2600 | 73 69 7a 65 29 3b 00 00 00 21 20 20 20 20 76 6f 69 64 20 2a 64 61 74 61 20 3d 20 6d 6d 61 70 28 | size);...!....void.*data.=.mmap( |
| 2620 | 4e 55 4c 4c 2c 20 73 69 7a 65 2c 00 00 00 2d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | NULL,.size,...-................. |
| 2640 | 20 20 20 20 20 50 52 4f 54 5f 52 45 41 44 20 7c 20 50 52 4f 54 5f 57 52 49 54 45 2c 00 00 00 29 | .....PROT_READ.|.PROT_WRITE,...) |
| 2660 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 41 50 5f 53 48 41 52 45 44 | ......................MAP_SHARED |
| 2680 | 2c 20 66 64 2c 20 30 29 3b 00 00 00 00 00 00 00 1c 20 20 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 | ,.fd,.0);............uint32_t.*p |
| 26a0 | 69 78 65 6c 73 20 3d 20 64 61 74 61 3b 00 00 00 2c 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 | ixels.=.data;...,....for.(int.i. |
| 26c0 | 3d 20 30 3b 20 69 20 3c 20 77 69 64 74 68 20 2a 20 68 65 69 67 68 74 3b 20 69 2b 2b 29 00 00 00 | =.0;.i.<.width.*.height;.i++)... |
| 26e0 | 33 20 20 20 20 20 20 20 20 70 69 78 65 6c 73 5b 69 5d 20 3d 20 30 78 66 66 66 66 30 30 30 30 3b | 3........pixels[i].=.0xffff0000; |
| 2700 | 20 2f 2f 20 73 6f 6c 69 64 20 72 65 64 20 28 41 52 47 42 29 00 00 00 00 00 00 00 1e 20 20 20 20 | .//.solid.red.(ARGB)............ |
| 2720 | 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 00 00 00 2a 20 20 | struct.wl_shm_pool.*pool.=...*.. |
| 2740 | 20 20 20 20 20 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 | ......wl_shm_create_pool(shm,.fd |
| 2760 | 2c 20 73 69 7a 65 29 3b 00 00 00 00 00 00 00 1e 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 | ,.size);............struct.wl_bu |
| 2780 | 66 66 65 72 20 2a 62 75 66 66 65 72 20 3d 00 00 00 27 20 20 20 20 20 20 20 20 77 6c 5f 73 68 6d | ffer.*buffer.=...'........wl_shm |
| 27a0 | 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 00 00 00 24 20 20 20 | _pool_create_buffer(pool,...$... |
| 27c0 | 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 30 | ...............................0 |
| 27e0 | 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 20 20 | ,...(........................... |
| 2800 | 20 20 20 20 20 20 20 77 69 64 74 68 2c 00 00 00 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .......width,...)............... |
| 2820 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 65 69 67 68 74 2c 00 00 00 29 20 20 | ...................height,...).. |
| 2840 | 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 | ................................ |
| 2860 | 73 74 72 69 64 65 2c 00 00 00 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | stride,...:..................... |
| 2880 | 20 20 20 20 20 20 20 20 20 20 20 20 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 | .............WL_SHM_FORMAT_ARGB8 |
| 28a0 | 38 38 38 29 3b 00 00 00 00 00 00 00 2d 20 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 | 888);.......-....wl_surface_atta |
| 28c0 | 63 68 28 73 75 72 66 61 63 65 2c 20 62 75 66 66 65 72 2c 20 30 2c 20 30 29 3b 00 00 00 1f 20 20 | ch(surface,.buffer,.0,.0);...... |
| 28e0 | 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 00 00 | ..wl_surface_commit(surface);... |
| 2900 | 00 00 00 00 36 20 20 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 | ....6....while.(running.&&.wl_di |
| 2920 | 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 28 64 69 73 70 6c 61 79 29 29 20 7b 7d 00 00 00 00 00 | splay_dispatch(display)).{}..... |
| 2940 | 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 30 3b 35 81 f5 18 00 00 00 00 00 00 00 00 09 00 00 00 | .......return.0;5............... |
| 2960 | 7b 00 00 00 02 00 00 00 62 00 00 00 00 00 00 00 09 00 00 00 00 00 00 00 d8 0d 00 00 00 00 00 00 | {.......b....................... |
| 2980 | d5 0b 00 00 00 00 00 00 35 81 5f d0 00 00 00 07 00 00 00 09 00 00 00 00 00 00 00 00 00 00 00 08 | ........5._..................... |
| 29a0 | 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 | ................................ |
| 29c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 29e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2a00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2a60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d 69 91 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 | ..............i.i............... |
| 2b20 | 00 00 02 00 00 00 00 00 00 00 64 00 00 00 26 23 69 6e 63 6c 75 64 65 20 22 78 64 67 2d 73 68 65 | ..........d...&#include."xdg-she |
| 2b40 | 6c 6c 2d 63 6c 69 65 6e 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 12 23 69 6e 63 6c 75 64 | ll-client-protocol.h"....#includ |
| 2b60 | 65 20 3c 66 63 6e 74 6c 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6f 2e 68 | e.<fcntl.h>....#include.<stdio.h |
| 2b80 | 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 00 13 23 69 6e 63 | >....#include.<stdlib.h>....#inc |
| 2ba0 | 6c 75 64 65 20 3c 73 74 72 69 6e 67 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 | lude.<string.h>....#include.<sys |
| 2bc0 | 2f 6d 6d 61 6e 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 | /mman.h>....#include.<unistd.h>. |
| 2be0 | 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 3e 00 00 | ...#include.<wayland-client.h>.. |
| 2c00 | 00 00 00 00 00 1b 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 |
| 2c20 | 3b 00 00 00 1d 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 | ;....struct.wl_registry.*registr |
| 2c40 | 79 3b 00 00 00 21 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 | y;...!struct.wl_compositor.*comp |
| 2c60 | 6f 73 69 74 6f 72 3b 00 00 00 13 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d 3b 00 00 | ositor;....struct.wl_shm.*shm;.. |
| 2c80 | 00 1c 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 3b 00 00 | ..struct.xdg_wm_base.*wm_base;.. |
| 2ca0 | 00 1b 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 3b 00 00 00 | ..struct.wl_surface.*surface;... |
| 2cc0 | 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 |
| 2ce0 | 3b 00 00 00 1e 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 | ;....struct.xdg_toplevel.*toplev |
| 2d00 | 65 6c 3b 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 | el;........static.int.running.=. |
| 2d20 | 31 3b 00 00 00 00 00 00 00 41 73 74 61 74 69 63 20 76 6f 69 64 20 77 6d 5f 62 61 73 65 5f 70 69 | 1;.......Astatic.void.wm_base_pi |
| 2d40 | 6e 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 | ng(void.*data,.struct.xdg_wm_bas |
| 2d60 | 65 20 2a 77 6d 5f 62 61 73 65 2c 00 00 00 2b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | e.*wm_base,...+................. |
| 2d80 | 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 24 20 20 | ........uint32_t.serial).{...$.. |
| 2da0 | 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 5f 62 61 73 65 2c 20 73 65 72 69 61 6c | xdg_wm_base_pong(wm_base,.serial |
| 2dc0 | 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4b 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 | );....}.......Kstatic.const.stru |
| 2de0 | 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_ |
| 2e00 | 6c 69 73 74 65 6e 65 72 20 3d 20 7b 77 6d 5f 62 61 73 65 5f 70 69 6e 67 7d 3b 00 00 00 00 00 00 | listener.=.{wm_base_ping};...... |
| 2e20 | 00 4e 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 | .Nstatic.void.xdg_surface_config |
| 2e40 | 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 61 | ure(void.*data,.struct.xdg_surfa |
| 2e60 | 63 65 20 2a 78 64 67 5f 73 75 72 66 61 63 65 2c 00 00 00 34 20 20 20 20 20 20 20 20 20 20 20 20 | ce.*xdg_surface,...4............ |
| 2e80 | 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 |
| 2ea0 | 65 72 69 61 6c 29 20 7b 00 00 00 31 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 63 6b 5f 63 6f | erial).{...1..xdg_surface_ack_co |
| 2ec0 | 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 00 | nfigure(xdg_surface,.serial);... |
| 2ee0 | 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 72 75 63 74 20 78 64 | .}.......Astatic.const.struct.xd |
| 2f00 | 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 72 66 61 63 65 5f 6c | g_surface_listener.xdg_surface_l |
| 2f20 | 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 1b 20 20 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 63 | istener.=.{........xdg_surface_c |
| 2f40 | 6f 6e 66 69 67 75 72 65 7d 3b 00 00 00 00 00 00 00 46 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 | onfigure};.......Fstatic.void.re |
| 2f60 | 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 | gistry_handler(void.*data,.struc |
| 2f80 | 74 20 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 40 20 20 20 20 | t.wl_registry.*registry,...@.... |
| 2fa0 | 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_ |
| 2fc0 | 74 20 69 64 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 6e 74 65 72 66 61 63 65 2c 00 00 00 30 | t.id,.const.char.*interface,...0 |
| 2fe0 | 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 6e | .............................uin |
| 3000 | 74 33 32 5f 74 20 76 65 72 73 69 6f 6e 29 20 7b 00 00 00 2e 20 20 69 66 20 28 73 74 72 63 6d 70 | t32_t.version).{......if.(strcmp |
| 3020 | 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 3d 20 | (interface,."wl_compositor").==. |
| 3040 | 30 29 00 00 00 4d 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 | 0)...M....compositor.=.wl_regist |
| 3060 | 72 79 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 69 64 2c 20 26 77 6c 5f 63 6f 6d 70 6f 73 | ry_bind(registry,.id,.&wl_compos |
| 3080 | 69 74 6f 72 5f 69 6e 74 65 72 66 61 63 65 2c 20 34 29 3b 00 00 00 00 00 00 00 2c 20 20 65 6c 73 | itor_interface,.4);.......,..els |
| 30a0 | 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 68 6d 22 | e.if.(strcmp(interface,."wl_shm" |
| 30c0 | 29 20 3d 3d 20 30 29 00 00 00 3f 20 20 20 20 73 68 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 | ).==.0)...?....shm.=.wl_registry |
| 30e0 | 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 69 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 | _bind(registry,.id,.&wl_shm_inte |
| 3100 | 72 66 61 63 65 2c 20 31 29 3b 00 00 00 00 00 00 00 33 20 20 65 6c 73 65 20 69 66 20 28 73 74 72 | rface,.1);.......3..else.if.(str |
| 3120 | 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 3d 3d | cmp(interface,."xdg_wm_base").== |
| 3140 | 20 30 29 20 7b 00 00 00 48 20 20 20 20 77 6d 5f 62 61 73 65 20 3d 20 77 6c 5f 72 65 67 69 73 74 | .0).{...H....wm_base.=.wl_regist |
| 3160 | 72 79 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 69 64 2c 20 26 78 64 67 5f 77 6d 5f 62 61 | ry_bind(registry,.id,.&xdg_wm_ba |
| 3180 | 73 65 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 3f 20 20 20 20 78 64 67 5f 77 6d 5f | se_interface,.1);...?....xdg_wm_ |
| 31a0 | 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 20 26 77 6d 5f 62 | base_add_listener(wm_base,.&wm_b |
| 31c0 | 61 73 65 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d | ase_listener,.NULL);......}....} |
| 31e0 | 00 00 00 00 00 00 00 4f 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 72 | .......Ostatic.const.struct.wl_r |
| 3200 | 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 |
| 3220 | 65 72 20 3d 20 7b 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 2c 00 00 00 44 20 20 20 20 20 | er.=.{registry_handler,...D..... |
| 3240 | 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 | ................................ |
| 3260 | 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 4e 55 4c 4c 7d 3b 00 | .........................NULL};. |
| 3280 | 00 00 00 00 00 00 29 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 | ......)static.int.create_shm_fil |
| 32a0 | 65 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 2a 20 20 63 68 61 72 20 74 65 6d 70 6c | e(size_t.size).{...*..char.templ |
| 32c0 | 61 74 65 5b 5d 20 3d 20 22 2f 77 61 79 6c 61 6e 64 2d 73 68 6d 2d 58 58 58 58 58 58 22 3b 00 00 | ate[].=."/wayland-shm-XXXXXX";.. |
| 32e0 | 00 1d 20 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 65 6d 70 6c 61 74 65 29 3b 00 | ....int.fd.=.mkstemp(template);. |
| 3300 | 00 00 13 20 20 75 6e 6c 69 6e 6b 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 16 20 20 66 74 72 75 | .....unlink(template);......ftru |
| 3320 | 6e 63 61 74 65 28 66 64 2c 20 73 69 7a 65 29 3b 00 00 00 0c 20 20 72 65 74 75 72 6e 20 66 64 3b | ncate(fd,.size);......return.fd; |
| 3340 | 00 00 00 01 7d 00 00 00 00 00 00 00 0c 69 6e 74 20 6d 61 69 6e 28 29 20 7b 00 00 00 25 20 20 64 | ....}........int.main().{...%..d |
| 3360 | 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 4c | isplay.=.wl_display_connect(NULL |
| 3380 | 29 3b 00 00 00 2e 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 | );......registry.=.wl_display_ge |
| 33a0 | 74 5f 72 65 67 69 73 74 72 79 28 64 69 73 70 6c 61 79 29 3b 00 00 00 3f 20 20 77 6c 5f 72 65 67 | t_registry(display);...?..wl_reg |
| 33c0 | 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 79 2c 20 26 72 65 | istry_add_listener(registry,.&re |
| 33e0 | 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 20 20 20 77 6c 5f | gistry_listener,.NULL);......wl_ |
| 3400 | 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 00 00 | display_roundtrip(display);..... |
| 3420 | 00 00 35 20 20 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 | ..5..surface.=.wl_compositor_cre |
| 3440 | 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 00 00 3e 20 20 78 64 | ate_surface(compositor);...>..xd |
| 3460 | 67 5f 73 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 | g_surface.=.xdg_wm_base_get_xdg_ |
| 3480 | 73 75 72 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 45 20 20 | surface(wm_base,.surface);...E.. |
| 34a0 | 78 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 78 64 67 5f 73 75 72 | xdg_surface_add_listener(xdg_sur |
| 34c0 | 66 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 | face,.&xdg_surface_listener,.NUL |
| 34e0 | 4c 29 3b 00 00 00 33 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 | L);...3..toplevel.=.xdg_surface_ |
| 3500 | 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 00 00 00 | get_toplevel(xdg_surface);...... |
| 3520 | 00 1d 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);. |
| 3540 | 00 00 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 |
| 3560 | 79 29 3b 00 00 00 00 00 00 00 12 20 20 69 6e 74 20 77 69 64 74 68 20 3d 20 32 30 30 3b 00 00 00 | y);..........int.width.=.200;... |
| 3580 | 13 20 20 69 6e 74 20 68 65 69 67 68 74 20 3d 20 32 30 30 3b 00 00 00 19 20 20 69 6e 74 20 73 74 | ...int.height.=.200;......int.st |
| 35a0 | 72 69 64 65 20 3d 20 77 69 64 74 68 20 2a 20 34 3b 00 00 00 1d 20 20 69 6e 74 20 73 69 7a 65 20 | ride.=.width.*.4;......int.size. |
| 35c0 | 3d 20 73 74 72 69 64 65 20 2a 20 68 65 69 67 68 74 3b 00 00 00 00 00 00 00 21 20 20 69 6e 74 20 | =.stride.*.height;.......!..int. |
| 35e0 | 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 4b 20 | fd.=.create_shm_file(size);...K. |
| 3600 | 20 76 6f 69 64 20 2a 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 | .void.*data.=.mmap(NULL,.size,.P |
| 3620 | 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 |
| 3640 | 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 00 00 00 00 1a 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 69 | D,.fd,.0);..........uint32_t.*pi |
| 3660 | 78 65 6c 73 20 3d 20 64 61 74 61 3b 00 00 00 2a 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 | xels.=.data;...*..for.(int.i.=.0 |
| 3680 | 3b 20 69 20 3c 20 77 69 64 74 68 20 2a 20 68 65 69 67 68 74 3b 20 69 2b 2b 29 00 00 00 2f 20 20 | ;.i.<.width.*.height;.i++).../.. |
| 36a0 | 20 20 70 69 78 65 6c 73 5b 69 5d 20 3d 20 30 78 66 66 66 66 30 30 30 30 3b 20 2f 2f 20 73 6f 6c | ..pixels[i].=.0xffff0000;.//.sol |
| 36c0 | 69 64 20 72 65 64 20 28 41 52 47 42 29 00 00 00 00 00 00 00 3f 20 20 73 74 72 75 63 74 20 77 6c | id.red.(ARGB).......?..struct.wl |
| 36e0 | 5f 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 20 3d 20 77 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f | _shm_pool.*pool.=.wl_shm_create_ |
| 3700 | 70 6f 6f 6c 28 73 68 6d 2c 20 66 64 2c 20 73 69 7a 65 29 3b 00 00 00 00 00 00 00 37 20 20 73 74 | pool(shm,.fd,.size);.......7..st |
| 3720 | 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 66 65 72 20 3d 20 77 6c 5f 73 68 6d 5f | ruct.wl_buffer.*buffer.=.wl_shm_ |
| 3740 | 70 6f 6f 6c 5f 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 00 00 00 3e 20 20 20 20 20 20 70 6f 6f | pool_create_buffer(...>......poo |
| 3760 | 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 4c 5f | l,.0,.width,.height,.stride,.WL_ |
| 3780 | 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 00 00 00 00 2b 20 20 77 | SHM_FORMAT_ARGB8888);.......+..w |
| 37a0 | 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 62 75 66 66 65 72 | l_surface_attach(surface,.buffer |
| 37c0 | 2c 20 30 2c 20 30 29 3b 00 00 00 1d 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 | ,.0,.0);......wl_surface_commit( |
| 37e0 | 73 75 72 66 61 63 65 29 3b 00 00 00 00 00 00 00 33 20 20 77 68 69 6c 65 20 28 72 75 6e 6e 69 6e | surface);.......3..while.(runnin |
| 3800 | 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 61 79 | g.&&.wl_display_dispatch(display |
| 3820 | 29 29 20 7b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 0b 20 20 72 65 74 75 72 6e 20 30 3b 00 00 | )).{......}..........return.0;.. |
| 3840 | 00 01 7d 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 64 00 00 00 00 00 00 00 01 00 00 00 00 | ..}5...............d............ |
| 3860 | 00 00 00 00 00 00 00 00 00 00 00 ec 0b 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 | ...........................5._.. |
| 3880 | 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 00 00 00 00 ff | ................................ |
| 38a0 | 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 | ................................ |
| 38c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 38e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 39a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 39c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 39e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3a00 | 00 69 9d 69 92 04 01 00 00 00 00 00 f5 18 00 00 00 93 00 00 00 00 00 00 00 00 00 00 00 01 00 00 | .i.i............................ |
| 3a20 | 00 01 7d f5 18 00 00 00 94 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 00 00 | ..}............................. |
| 3a40 | 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 f5 | .............................5.. |
| 3a60 | 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 93 00 00 00 01 00 00 00 00 00 00 | ................................ |
| 3a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 fd 0f 00 00 00 00 00 00 35 81 5f d0 00 00 00 09 00 00 00 | .....................5._........ |
| 3aa0 | 0b 00 00 00 00 00 00 00 00 00 00 00 0a 00 00 00 94 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 | ................................ |
| 3ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d 69 93 04 | ...........................i.i.. |
| 3c20 | 01 00 00 00 06 00 f5 18 00 00 00 00 00 00 00 7b 00 00 00 94 00 00 00 93 00 00 00 1b 23 69 6e 63 | ...............{............#inc |
| 3c40 | 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 15 23 69 6e 63 6c | lude.<wayland-client.h>....#incl |
| 3c60 | 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 75 6e | ude.<sys/mman.h>....#include.<un |
| 3c80 | 69 73 74 64 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 | istd.h>....#include.<fcntl.h>... |
| 3ca0 | 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 65 | .#include.<string.h>....#include |
| 3cc0 | 20 3c 73 74 64 6c 69 62 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6f 2e 68 | .<stdlib.h>....#include.<stdio.h |
| 3ce0 | 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- |
| 3d00 | 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 00 00 00 00 1b 73 74 72 75 63 74 20 77 6c 5f 64 69 73 | protocol.h"........struct.wl_dis |
| 3d20 | 70 6c 61 79 20 2a 64 69 73 70 6c 61 79 3b 00 00 00 1d 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 | play.*display;....struct.wl_regi |
| 3d40 | 73 74 72 79 20 2a 72 65 67 69 73 74 72 79 3b 00 00 00 21 73 74 72 75 63 74 20 77 6c 5f 63 6f 6d | stry.*registry;...!struct.wl_com |
| 3d60 | 70 6f 73 69 74 6f 72 20 2a 63 6f 6d 70 6f 73 69 74 6f 72 3b 00 00 00 13 73 74 72 75 63 74 20 77 | positor.*compositor;....struct.w |
| 3d80 | 6c 5f 73 68 6d 20 2a 73 68 6d 3b 00 00 00 1c 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 | l_shm.*shm;....struct.xdg_wm_bas |
| 3da0 | 65 20 2a 77 6d 5f 62 61 73 65 3b 00 00 00 1b 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 | e.*wm_base;....struct.wl_surface |
| 3dc0 | 20 2a 73 75 72 66 61 63 65 3b 00 00 00 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 | .*surface;....struct.xdg_surface |
| 3de0 | 20 2a 78 64 67 5f 73 75 72 66 61 63 65 3b 00 00 00 1e 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 | .*xdg_surface;....struct.xdg_top |
| 3e00 | 6c 65 76 65 6c 20 2a 74 6f 70 6c 65 76 65 6c 3b 00 00 00 00 00 00 00 17 73 74 61 74 69 63 20 69 | level.*toplevel;........static.i |
| 3e20 | 6e 74 20 72 75 6e 6e 69 6e 67 20 3d 20 31 3b 00 00 00 00 00 00 00 24 73 74 61 74 69 63 20 76 6f | nt.running.=.1;.......$static.vo |
| 3e40 | 69 64 20 77 6d 5f 62 61 73 65 5f 70 69 6e 67 28 76 6f 69 64 20 2a 64 61 74 61 2c 00 00 00 35 20 | id.wm_base_ping(void.*data,...5. |
| 3e60 | 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 78 | ........................struct.x |
| 3e80 | 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 5f 62 61 73 65 2c 00 00 00 29 20 20 20 20 20 20 20 20 | dg_wm_base.*wm_base,...)........ |
| 3ea0 | 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 72 69 61 6c | .................uint32_t.serial |
| 3ec0 | 29 00 00 00 01 7b 00 00 00 26 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 | )....{...&....xdg_wm_base_pong(w |
| 3ee0 | 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 74 61 | m_base,.serial);....}.......=sta |
| 3f00 | 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 |
| 3f20 | 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 10 20 20 | tener.wm_base_listener.=.{...... |
| 3f40 | 20 20 77 6d 5f 62 61 73 65 5f 70 69 6e 67 00 00 00 02 7d 3b 00 00 00 00 00 00 00 2d 73 74 61 74 | ..wm_base_ping....};.......-stat |
| 3f60 | 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 |
| 3f80 | 69 64 20 2a 64 61 74 61 2c 00 00 00 42 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | id.*data,...B................... |
| 3fa0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 | ...............struct.xdg_surfac |
| 3fc0 | 65 20 2a 78 64 67 5f 73 75 72 66 61 63 65 2c 00 00 00 32 20 20 20 20 20 20 20 20 20 20 20 20 20 | e.*xdg_surface,...2............. |
| 3fe0 | 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 |
| 4000 | 72 69 61 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 | rial)....{...3....xdg_surface_ac |
| 4020 | 6b 5f 63 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 | k_configure(xdg_surface,.serial) |
| 4040 | 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 61 | ;........wl_surface_commit(surfa |
| 4060 | 63 65 29 3b 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 | ce);....}.......Astatic.const.st |
| 4080 | 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 |
| 40a0 | 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 19 20 20 20 20 78 64 67 5f 73 75 | rface_listener.=.{........xdg_su |
| 40c0 | 72 66 61 63 65 5f 63 6f 6e 66 69 67 75 72 65 00 00 00 02 7d 3b 00 00 00 00 00 00 00 28 73 74 61 | rface_configure....};.......(sta |
| 40e0 | 74 69 63 20 76 6f 69 64 20 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 28 76 6f 69 64 20 2a | tic.void.registry_handler(void.* |
| 4100 | 64 61 74 61 2c 00 00 00 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | data,...:....................... |
| 4120 | 20 20 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 | ......struct.wl_registry.*regist |
| 4140 | 72 79 2c 00 00 00 29 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 | ry,...)......................... |
| 4160 | 20 20 20 20 75 69 6e 74 33 32 5f 74 20 69 64 2c 00 00 00 33 20 20 20 20 20 20 20 20 20 20 20 20 | ....uint32_t.id,...3............ |
| 4180 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 6e 74 | .................const.char.*int |
| 41a0 | 65 72 66 61 63 65 2c 00 00 00 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | erface,......................... |
| 41c0 | 20 20 20 20 20 20 20 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 | ........uint32_t.version)....{.. |
| 41e0 | 00 30 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 6c 5f | .0....if.(strcmp(interface,."wl_ |
| 4200 | 63 6f 6d 70 6f 73 69 74 6f 72 22 29 20 3d 3d 20 30 29 00 00 00 33 20 20 20 20 20 20 20 20 63 6f | compositor").==.0)...3........co |
| 4220 | 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 72 65 67 69 | mpositor.=.wl_registry_bind(regi |
| 4240 | 73 74 72 79 2c 20 69 64 2c 00 00 00 43 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | stry,.id,...C................... |
| 4260 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f | ...................&wl_composito |
| 4280 | 72 5f 69 6e 74 65 72 66 61 63 65 2c 20 34 29 3b 00 00 00 00 00 00 00 2e 20 20 20 20 65 6c 73 65 | r_interface,.4);............else |
| 42a0 | 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 68 6d 22 29 | .if.(strcmp(interface,."wl_shm") |
| 42c0 | 20 3d 3d 20 30 29 00 00 00 2c 20 20 20 20 20 20 20 20 73 68 6d 20 3d 20 77 6c 5f 72 65 67 69 73 | .==.0)...,........shm.=.wl_regis |
| 42e0 | 74 72 79 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 69 64 2c 00 00 00 35 20 20 20 20 20 20 | try_bind(registry,.id,...5...... |
| 4300 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 77 6c 5f 73 68 6d | .........................&wl_shm |
| 4320 | 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 00 00 00 00 35 20 20 20 20 65 6c 73 65 20 | _interface,.1);.......5....else. |
| 4340 | 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 6d 5f 62 61 | if.(strcmp(interface,."xdg_wm_ba |
| 4360 | 73 65 22 29 20 3d 3d 20 30 29 20 7b 00 00 00 30 20 20 20 20 20 20 20 20 77 6d 5f 62 61 73 65 20 | se").==.0).{...0........wm_base. |
| 4380 | 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 69 64 2c | =.wl_registry_bind(registry,.id, |
| 43a0 | 00 00 00 3e 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 | ...>............................ |
| 43c0 | 20 20 20 20 20 20 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 | .......&xdg_wm_base_interface,.1 |
| 43e0 | 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 |
| 4400 | 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 |
| 4420 | 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 00 00 00 00 3e 73 | r,.NULL);........}....}.......>s |
| 4440 | 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 6c | tatic.const.struct.wl_registry_l |
| 4460 | 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 3d 20 7b 00 00 00 | istener.registry_listener.=.{... |
| 4480 | 15 20 20 20 20 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 2c 00 00 00 08 20 20 20 20 4e 55 | .....registry_handler,........NU |
| 44a0 | 4c 4c 00 00 00 02 7d 3b 00 00 00 00 00 00 00 27 73 74 61 74 69 63 20 69 6e 74 20 63 72 65 61 74 | LL....};.......'static.int.creat |
| 44c0 | 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 00 30 | e_shm_file(size_t.size)....{...0 |
| 44e0 | 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 61 79 6c | ....char.template[].=."/tmp/wayl |
| 4500 | 61 6e 64 2d 73 68 6d 2d 58 58 58 58 58 58 22 3b 00 00 00 1f 20 20 20 20 69 6e 74 20 66 64 20 3d | and-shm-XXXXXX";........int.fd.= |
| 4520 | 20 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 | .mkstemp(template);........if.(f |
| 4540 | 64 20 3c 20 30 29 20 7b 00 00 00 1a 20 20 20 20 20 20 20 20 70 65 72 72 6f 72 28 22 6d 6b 73 74 | d.<.0).{............perror("mkst |
| 4560 | 65 6d 70 22 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 | emp");............exit(1);...... |
| 4580 | 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 22 | ..}........unlink(template);..." |
| 45a0 | 20 20 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 73 69 7a 65 29 20 3c 20 30 29 | ....if.(ftruncate(fd,.size).<.0) |
| 45c0 | 20 7b 00 00 00 1c 20 20 20 20 20 20 20 20 70 65 72 72 6f 72 28 22 66 74 72 75 6e 63 61 74 65 22 | .{............perror("ftruncate" |
| 45e0 | 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 7d 00 | );............exit(1);........}. |
| 4600 | 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 00 00 0a 69 6e | .......return.fd;....}........in |
| 4620 | 74 20 6d 61 69 6e 28 29 00 00 00 01 7b 00 00 00 27 20 20 20 20 64 69 73 70 6c 61 79 20 3d 20 77 | t.main()....{...'....display.=.w |
| 4640 | 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);........ |
| 4660 | 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 |
| 4680 | 74 66 28 73 74 64 65 72 72 2c 20 22 46 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 |
| 46a0 | 20 57 61 79 6c 61 6e 64 20 64 69 73 70 6c 61 79 5c 6e 22 29 3b 00 00 00 11 20 20 20 20 20 20 20 | .Wayland.display\n");........... |
| 46c0 | 20 72 65 74 75 72 6e 20 31 3b 00 00 00 05 20 20 20 20 7d 00 00 00 00 00 00 00 30 20 20 20 20 72 | .return.1;........}.......0....r |
| 46e0 | 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 65 67 69 73 74 72 | egistry.=.wl_display_get_registr |
| 4700 | 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 73 74 72 79 5f 61 | y(display);...A....wl_registry_a |
| 4720 | 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 69 73 74 72 79 5f | dd_listener(registry,.®istry_ |
| 4740 | 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 5f 64 69 73 70 6c | listener,.NULL);..."....wl_displ |
| 4760 | 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 00 00 00 00 2a 20 20 | ay_roundtrip(display);.......*.. |
| 4780 | 20 20 69 66 20 28 21 63 6f 6d 70 6f 73 69 74 6f 72 20 7c 7c 20 21 77 6d 5f 62 61 73 65 20 7c 7c | ..if.(!compositor.||.!wm_base.|| |
| 47a0 | 20 21 73 68 6d 29 20 7b 00 00 00 3e 20 20 20 20 20 20 20 20 66 70 72 69 6e 74 66 28 73 74 64 65 | .!shm).{...>........fprintf(stde |
| 47c0 | 72 72 2c 20 22 4d 69 73 73 69 6e 67 20 72 65 71 75 69 72 65 64 20 57 61 79 6c 61 6e 64 20 67 6c | rr,."Missing.required.Wayland.gl |
| 47e0 | 6f 62 61 6c 73 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 | obals\n");............return.1;. |
| 4800 | 00 00 05 20 20 20 20 7d 00 00 00 00 00 00 00 37 20 20 20 20 73 75 72 66 61 63 65 20 3d 20 77 6c | .......}.......7....surface.=.wl |
| 4820 | 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 63 72 65 61 74 65 5f 73 75 72 66 61 63 65 28 63 6f 6d 70 6f | _compositor_create_surface(compo |
| 4840 | 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 20 3d 20 78 64 67 | sitor);...@....xdg_surface.=.xdg |
| 4860 | 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 6d 5f 62 61 73 65 | _wm_base_get_xdg_surface(wm_base |
| 4880 | 2c 20 73 75 72 66 61 63 65 29 3b 00 00 00 29 20 20 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 | ,.surface);...)....xdg_surface_a |
| 48a0 | 64 64 5f 6c 69 73 74 65 6e 65 72 28 78 64 67 5f 73 75 72 66 61 63 65 2c 00 00 00 3a 20 20 20 20 | dd_listener(xdg_surface,...:.... |
| 48c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 78 64 67 5f 73 75 | .........................&xdg_su |
| 48e0 | 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 35 20 20 20 20 74 6f | rface_listener,.NULL);...5....to |
| 4900 | 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 |
| 4920 | 6c 28 78 64 67 5f 73 75 72 66 61 63 65 29 3b 00 00 00 00 00 00 00 1f 20 20 20 20 77 6c 5f 73 75 | l(xdg_surface);............wl_su |
| 4940 | 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 22 20 20 20 20 77 6c | rface_commit(surface);..."....wl |
| 4960 | 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 00 | _display_roundtrip(display);.... |
| 4980 | 00 00 00 2a 20 20 20 20 2f 2f 20 63 72 65 61 74 65 20 61 20 73 69 6d 70 6c 65 20 32 30 30 78 32 | ...*....//.create.a.simple.200x2 |
| 49a0 | 30 30 20 41 52 47 42 20 62 75 66 66 65 72 00 00 00 14 20 20 20 20 69 6e 74 20 77 69 64 74 68 20 | 00.ARGB.buffer........int.width. |
| 49c0 | 3d 20 32 30 30 3b 00 00 00 15 20 20 20 20 69 6e 74 20 68 65 69 67 68 74 20 3d 20 32 30 30 3b 00 | =.200;........int.height.=.200;. |
| 49e0 | 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 2a 20 34 3b 00 00 | .......int.stride.=.width.*.4;.. |
| 4a00 | 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 68 65 69 67 68 74 | ......int.size.=.stride.*.height |
| 4a20 | 3b 00 00 00 00 00 00 00 23 20 20 20 20 69 6e 74 20 66 64 20 3d 20 63 72 65 61 74 65 5f 73 68 6d | ;.......#....int.fd.=.create_shm |
| 4a40 | 5f 66 69 6c 65 28 73 69 7a 65 29 3b 00 00 00 21 20 20 20 20 76 6f 69 64 20 2a 64 61 74 61 20 3d | _file(size);...!....void.*data.= |
| 4a60 | 20 6d 6d 61 70 28 4e 55 4c 4c 2c 20 73 69 7a 65 2c 00 00 00 2d 20 20 20 20 20 20 20 20 20 20 20 | .mmap(NULL,.size,...-........... |
| 4a80 | 20 20 20 20 20 20 20 20 20 20 20 50 52 4f 54 5f 52 45 41 44 20 7c 20 50 52 4f 54 5f 57 52 49 54 | ...........PROT_READ.|.PROT_WRIT |
| 4aa0 | 45 2c 00 00 00 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 41 50 5f | E,...)......................MAP_ |
| 4ac0 | 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 1d 20 20 20 20 69 66 20 28 64 61 74 61 20 | SHARED,.fd,.0);........if.(data. |
| 4ae0 | 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 20 7b 00 00 00 17 20 20 20 20 20 20 20 20 70 65 72 72 | ==.MAP_FAILED).{............perr |
| 4b00 | 6f 72 28 22 6d 6d 61 70 22 29 3b 00 00 00 10 20 20 20 20 20 20 20 20 65 78 69 74 28 31 29 3b 00 | or("mmap");............exit(1);. |
| 4b20 | 00 00 05 20 20 20 20 7d 00 00 00 00 00 00 00 1c 20 20 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 69 | .......}............uint32_t.*pi |
| 4b40 | 78 65 6c 73 20 3d 20 64 61 74 61 3b 00 00 00 2c 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d | xels.=.data;...,....for.(int.i.= |
| 4b60 | 20 30 3b 20 69 20 3c 20 77 69 64 74 68 20 2a 20 68 65 69 67 68 74 3b 20 69 2b 2b 29 00 00 00 31 | .0;.i.<.width.*.height;.i++)...1 |
| 4b80 | 20 20 20 20 20 20 20 20 70 69 78 65 6c 73 5b 69 5d 20 3d 20 30 78 66 66 66 66 30 30 30 30 3b 20 | ........pixels[i].=.0xffff0000;. |
| 4ba0 | 2f 2f 20 73 6f 6c 69 64 20 72 65 64 20 41 52 47 42 00 00 00 00 00 00 00 1e 20 20 20 20 73 74 72 | //.solid.red.ARGB............str |
| 4bc0 | 75 63 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 20 3d 00 00 00 2a 20 20 20 20 20 | uct.wl_shm_pool.*pool.=...*..... |
| 4be0 | 20 20 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 | ...wl_shm_create_pool(shm,.fd,.s |
| 4c00 | 69 7a 65 29 3b 00 00 00 00 00 00 00 1e 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 | ize);............struct.wl_buffe |
| 4c20 | 72 20 2a 62 75 66 66 65 72 20 3d 00 00 00 27 20 20 20 20 20 20 20 20 77 6c 5f 73 68 6d 5f 70 6f | r.*buffer.=...'........wl_shm_po |
| 4c40 | 6f 6c 5f 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c 00 00 00 24 20 20 20 20 20 20 | ol_create_buffer(pool,...$...... |
| 4c60 | 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 30 2c 00 00 | ............................0,.. |
| 4c80 | 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 20 20 20 20 20 | .(.............................. |
| 4ca0 | 20 20 20 20 77 69 64 74 68 2c 00 00 00 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ....width,...).................. |
| 4cc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 65 69 67 68 74 2c 00 00 00 29 20 20 20 20 20 | ................height,...)..... |
| 4ce0 | 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 73 74 72 | .............................str |
| 4d00 | 69 64 65 2c 00 00 00 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ide,...:........................ |
| 4d20 | 20 20 20 20 20 20 20 20 20 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 | ..........WL_SHM_FORMAT_ARGB8888 |
| 4d40 | 29 3b 00 00 00 00 00 00 00 2d 20 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 | );.......-....wl_surface_attach( |
| 4d60 | 73 75 72 66 61 63 65 2c 20 62 75 66 66 65 72 2c 20 30 2c 20 30 29 3b 00 00 00 1f 20 20 20 20 77 | surface,.buffer,.0,.0);........w |
| 4d80 | 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 00 00 00 | l_surface_commit(surface);...... |
| 4da0 | 00 36 20 20 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 | .6....while.(running.&&.wl_displ |
| 4dc0 | 61 79 5f 64 69 73 70 61 74 63 68 28 64 69 73 70 6c 61 79 29 29 20 7b 7d 00 00 00 00 00 00 00 0d | ay_dispatch(display)).{}........ |
| 4de0 | 20 20 20 20 72 65 74 75 72 6e 20 30 3b 35 81 f5 18 00 00 00 00 00 00 00 00 09 00 00 00 92 00 00 | ....return.0;5.................. |
| 4e00 | 00 02 00 00 00 79 00 00 00 00 00 00 00 09 00 00 00 00 00 00 00 e7 0f 00 00 00 00 00 00 a6 0d 00 | .....y.......................... |
| 4e20 | 00 00 00 00 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 | .....5._........................ |
| 4e40 | 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 00 00 | ................................ |
| 4e60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4e80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4fa0 | 00 00 00 00 00 00 00 00 00 00 00 69 9d 6a a5 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 | ...........i.j.................. |
| 4fc0 | 00 00 00 00 00 00 00 7b 00 00 00 26 23 69 6e 63 6c 75 64 65 20 22 78 64 67 2d 73 68 65 6c 6c 2d | .......{...&#include."xdg-shell- |
| 4fe0 | 63 6c 69 65 6e 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c | client-protocol.h"....#include.< |
| 5000 | 66 63 6e 74 6c 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6f 2e 68 3e 00 00 | fcntl.h>....#include.<stdio.h>.. |
| 5020 | 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 6c 69 62 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 | ..#include.<stdlib.h>....#includ |
| 5040 | 65 20 3c 73 74 72 69 6e 67 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d | e.<string.h>....#include.<sys/mm |
| 5060 | 61 6e 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 1b | an.h>....#include.<unistd.h>.... |
| 5080 | 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 00 00 | #include.<wayland-client.h>..... |
| 50a0 | 00 00 1b 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 3b 00 00 | ...struct.wl_display.*display;.. |
| 50c0 | 00 1d 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 3b 00 | ..struct.wl_registry.*registry;. |
| 50e0 | 00 00 21 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 |
| 5100 | 74 6f 72 3b 00 00 00 13 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d 3b 00 00 00 1c 73 | tor;....struct.wl_shm.*shm;....s |
| 5120 | 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 3b 00 00 00 1b 73 | truct.xdg_wm_base.*wm_base;....s |
| 5140 | 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 3b 00 00 00 20 73 74 | truct.wl_surface.*surface;....st |
| 5160 | 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 3b 00 00 | ruct.xdg_surface.*xdg_surface;.. |
| 5180 | 00 1e 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 3b | ..struct.xdg_toplevel.*toplevel; |
| 51a0 | 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;. |
| 51c0 | 00 00 00 00 00 00 41 73 74 61 74 69 63 20 76 6f 69 64 20 77 6d 5f 62 61 73 65 5f 70 69 6e 67 28 | ......Astatic.void.wm_base_ping( |
| 51e0 | 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 20 2a | void.*data,.struct.xdg_wm_base.* |
| 5200 | 77 6d 5f 62 61 73 65 2c 00 00 00 2b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | wm_base,...+.................... |
| 5220 | 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 24 20 20 78 64 67 | .....uint32_t.serial).{...$..xdg |
| 5240 | 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 5f 62 61 73 65 2c 20 73 65 72 69 61 6c 29 3b 00 | _wm_base_pong(wm_base,.serial);. |
| 5260 | 00 00 01 7d 00 00 00 00 00 00 00 4b 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 | ...}.......Kstatic.const.struct. |
| 5280 | 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 6c 69 73 | xdg_wm_base_listener.wm_base_lis |
| 52a0 | 74 65 6e 65 72 20 3d 20 7b 77 6d 5f 62 61 73 65 5f 70 69 6e 67 7d 3b 00 00 00 00 00 00 00 4e 73 | tener.=.{wm_base_ping};.......Ns |
| 52c0 | 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 72 65 | tatic.void.xdg_surface_configure |
| 52e0 | 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 65 20 | (void.*data,.struct.xdg_surface. |
| 5300 | 2a 78 64 67 5f 73 75 72 66 61 63 65 2c 00 00 00 34 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | *xdg_surface,...4............... |
| 5320 | 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 72 69 | ...................uint32_t.seri |
| 5340 | 61 6c 29 20 7b 00 00 00 31 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 63 6b 5f 63 6f 6e 66 69 | al).{...1..xdg_surface_ack_confi |
| 5360 | 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 00 1d 20 20 | gure(xdg_surface,.serial);...... |
| 5380 | 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 00 00 01 7d | wl_surface_commit(surface);....} |
| 53a0 | 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 5f | .......Astatic.const.struct.xdg_ |
| 53c0 | 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 73 | surface_listener.xdg_surface_lis |
| 53e0 | 74 65 6e 65 72 20 3d 20 7b 00 00 00 1b 20 20 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 63 6f 6e | tener.=.{........xdg_surface_con |
| 5400 | 66 69 67 75 72 65 7d 3b 00 00 00 00 00 00 00 46 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 69 | figure};.......Fstatic.void.regi |
| 5420 | 73 74 72 79 5f 68 61 6e 64 6c 65 72 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 | stry_handler(void.*data,.struct. |
| 5440 | 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 40 20 20 20 20 20 20 | wl_registry.*registry,...@...... |
| 5460 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 | .......................uint32_t. |
| 5480 | 69 64 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 6e 74 65 72 66 61 63 65 2c 00 00 00 30 20 20 | id,.const.char.*interface,...0.. |
| 54a0 | 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 74 33 | ...........................uint3 |
| 54c0 | 32 5f 74 20 76 65 72 73 69 6f 6e 29 20 7b 00 00 00 2e 20 20 69 66 20 28 73 74 72 63 6d 70 28 69 | 2_t.version).{......if.(strcmp(i |
| 54e0 | 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 3d 20 30 29 | nterface,."wl_compositor").==.0) |
| 5500 | 00 00 00 4d 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 | ...M....compositor.=.wl_registry |
| 5520 | 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 69 64 2c 20 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 | _bind(registry,.id,.&wl_composit |
| 5540 | 6f 72 5f 69 6e 74 65 72 66 61 63 65 2c 20 34 29 3b 00 00 00 00 00 00 00 2c 20 20 65 6c 73 65 20 | or_interface,.4);.......,..else. |
| 5560 | 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 68 6d 22 29 20 | if.(strcmp(interface,."wl_shm"). |
| 5580 | 3d 3d 20 30 29 00 00 00 3f 20 20 20 20 73 68 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 | ==.0)...?....shm.=.wl_registry_b |
| 55a0 | 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 69 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 | ind(registry,.id,.&wl_shm_interf |
| 55c0 | 61 63 65 2c 20 31 29 3b 00 00 00 00 00 00 00 33 20 20 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d | ace,.1);.......3..else.if.(strcm |
| 55e0 | 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 3d 3d 20 30 | p(interface,."xdg_wm_base").==.0 |
| 5600 | 29 20 7b 00 00 00 48 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 | ).{...H....wm_base.=.wl_registry |
| 5620 | 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 69 64 2c 20 26 78 64 67 5f 77 6d 5f 62 61 73 65 | _bind(registry,.id,.&xdg_wm_base |
| 5640 | 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 3f 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 | _interface,.1);...?....xdg_wm_ba |
| 5660 | 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 73 | se_add_listener(wm_base,.&wm_bas |
| 5680 | 65 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 | e_listener,.NULL);......}....}.. |
| 56a0 | 00 00 00 00 00 4f 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 | .....Ostatic.const.struct.wl_reg |
| 56c0 | 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 |
| 56e0 | 20 3d 20 7b 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 2c 00 00 00 44 20 20 20 20 20 20 20 | .=.{registry_handler,...D....... |
| 5700 | 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 | ................................ |
| 5720 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 55 4c 4c 7d 3b 00 00 00 | .......................NULL};... |
| 5740 | 00 00 00 00 29 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 | ....)static.int.create_shm_file( |
| 5760 | 73 69 7a 65 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 2e 20 20 63 68 61 72 20 74 65 6d 70 6c 61 74 | size_t.size).{......char.templat |
| 5780 | 65 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 61 79 6c 61 6e 64 2d 73 68 6d 2d 58 58 58 58 58 58 22 3b | e[].=."/tmp/wayland-shm-XXXXXX"; |
| 57a0 | 00 00 00 1d 20 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 65 6d 70 6c 61 74 65 29 | ......int.fd.=.mkstemp(template) |
| 57c0 | 3b 00 00 00 0f 20 20 69 66 20 28 66 64 20 3c 20 30 29 20 7b 00 00 00 16 20 20 20 20 70 65 72 72 | ;......if.(fd.<.0).{........perr |
| 57e0 | 6f 72 28 22 6d 6b 73 74 65 6d 70 22 29 3b 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 | or("mkstemp");........exit(1);.. |
| 5800 | 00 03 20 20 7d 00 00 00 13 20 20 75 6e 6c 69 6e 6b 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 20 | ....}......unlink(template);.... |
| 5820 | 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 73 69 7a 65 29 20 3c 20 30 29 20 7b | ..if.(ftruncate(fd,.size).<.0).{ |
| 5840 | 00 00 00 18 20 20 20 20 70 65 72 72 6f 72 28 22 66 74 72 75 6e 63 61 74 65 22 29 3b 00 00 00 0c | ........perror("ftruncate");.... |
| 5860 | 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 03 20 20 7d 00 00 00 0c 20 20 72 65 74 75 72 6e 20 | ....exit(1);......}......return. |
| 5880 | 66 64 3b 00 00 00 01 7d 00 00 00 00 00 00 00 0c 69 6e 74 20 6d 61 69 6e 28 29 20 7b 00 00 00 25 | fd;....}........int.main().{...% |
| 58a0 | 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 28 4e | ..display.=.wl_display_connect(N |
| 58c0 | 55 4c 4c 29 3b 00 00 00 11 20 20 69 66 20 28 21 64 69 73 70 6c 61 79 29 20 7b 00 00 00 3e 20 20 | ULL);......if.(!display).{...>.. |
| 58e0 | 20 20 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 46 61 69 6c 65 64 20 74 6f 20 63 6f 6e | ..fprintf(stderr,."Failed.to.con |
| 5900 | 6e 65 63 74 20 74 6f 20 57 61 79 6c 61 6e 64 20 64 69 73 70 6c 61 79 5c 6e 22 29 3b 00 00 00 0d | nect.to.Wayland.display\n");.... |
| 5920 | 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 2e 20 20 72 65 | ....return.1;......}..........re |
| 5940 | 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 65 67 69 73 74 72 79 | gistry.=.wl_display_get_registry |
| 5960 | 28 64 69 73 70 6c 61 79 29 3b 00 00 00 3f 20 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 61 64 64 5f | (display);...?..wl_registry_add_ |
| 5980 | 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 73 | listener(registry,.®istry_lis |
| 59a0 | 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f | tener,.NULL);......wl_display_ro |
| 59c0 | 75 6e 64 74 72 69 70 28 64 69 73 70 6c 61 79 29 3b 00 00 00 00 00 00 00 28 20 20 69 66 20 28 21 | undtrip(display);.......(..if.(! |
| 59e0 | 63 6f 6d 70 6f 73 69 74 6f 72 20 7c 7c 20 21 77 6d 5f 62 61 73 65 20 7c 7c 20 21 73 68 6d 29 20 | compositor.||.!wm_base.||.!shm). |
| 5a00 | 7b 00 00 00 3a 20 20 20 20 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 4d 69 73 73 69 6e | {...:....fprintf(stderr,."Missin |
| 5a20 | 67 20 72 65 71 75 69 72 65 64 20 57 61 79 6c 61 6e 64 20 67 6c 6f 62 61 6c 73 5c 6e 22 29 3b 00 | g.required.Wayland.globals\n");. |
| 5a40 | 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 35 20 | .......return.1;......}.......5. |
| 5a60 | 20 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 | .surface.=.wl_compositor_create_ |
| 5a80 | 73 75 72 66 61 63 65 28 63 6f 6d 70 6f 73 69 74 6f 72 29 3b 00 00 00 3e 20 20 78 64 67 5f 73 75 | surface(compositor);...>..xdg_su |
| 5aa0 | 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 66 | rface.=.xdg_wm_base_get_xdg_surf |
| 5ac0 | 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 45 20 20 78 64 67 5f | ace(wm_base,.surface);...E..xdg_ |
| 5ae0 | 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 |
| 5b00 | 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);. |
| 5b20 | 00 00 33 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 | ..3..toplevel.=.xdg_surface_get_ |
| 5b40 | 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 00 00 00 00 1d 20 20 | toplevel(xdg_surface);.......... |
| 5b60 | 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 00 00 20 20 | wl_surface_commit(surface);..... |
| 5b80 | 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 79 29 3b 00 | .wl_display_roundtrip(display);. |
| 5ba0 | 00 00 00 00 00 00 28 20 20 2f 2f 20 63 72 65 61 74 65 20 61 20 73 69 6d 70 6c 65 20 32 30 30 78 | ......(..//.create.a.simple.200x |
| 5bc0 | 32 30 30 20 41 52 47 42 20 62 75 66 66 65 72 00 00 00 12 20 20 69 6e 74 20 77 69 64 74 68 20 3d | 200.ARGB.buffer......int.width.= |
| 5be0 | 20 32 30 30 3b 00 00 00 13 20 20 69 6e 74 20 68 65 69 67 68 74 20 3d 20 32 30 30 3b 00 00 00 19 | .200;......int.height.=.200;.... |
| 5c00 | 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 1d 20 20 69 | ..int.stride.=.width.*.4;......i |
| 5c20 | 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 00 00 00 00 00 | nt.size.=.stride.*.height;...... |
| 5c40 | 00 21 20 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 | .!..int.fd.=.create_shm_file(siz |
| 5c60 | 65 29 3b 00 00 00 4b 20 20 76 6f 69 64 20 2a 64 61 74 61 20 3d 20 6d 6d 61 70 28 4e 55 4c 4c 2c | e);...K..void.*data.=.mmap(NULL, |
| 5c80 | 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 |
| 5ca0 | 41 50 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 1b 20 20 69 66 20 28 64 61 74 61 | AP_SHARED,.fd,.0);......if.(data |
| 5cc0 | 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 20 7b 00 00 00 13 20 20 20 20 70 65 72 72 6f 72 28 | .==.MAP_FAILED).{........perror( |
| 5ce0 | 22 6d 6d 61 70 22 29 3b 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 03 20 20 7d 00 | "mmap");........exit(1);......}. |
| 5d00 | 00 00 00 00 00 00 1a 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 69 78 65 6c 73 20 3d 20 64 61 74 61 | .........uint32_t.*pixels.=.data |
| 5d20 | 3b 00 00 00 2a 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 77 69 64 74 68 | ;...*..for.(int.i.=.0;.i.<.width |
| 5d40 | 20 2a 20 68 65 69 67 68 74 3b 20 69 2b 2b 29 00 00 00 2d 20 20 20 20 70 69 78 65 6c 73 5b 69 5d | .*.height;.i++)...-....pixels[i] |
| 5d60 | 20 3d 20 30 78 66 66 66 66 30 30 30 30 3b 20 2f 2f 20 73 6f 6c 69 64 20 72 65 64 20 41 52 47 42 | .=.0xffff0000;.//.solid.red.ARGB |
| 5d80 | 00 00 00 00 00 00 00 3f 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f | .......?..struct.wl_shm_pool.*po |
| 5da0 | 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 64 2c | ol.=.wl_shm_create_pool(shm,.fd, |
| 5dc0 | 20 73 69 7a 65 29 3b 00 00 00 00 00 00 00 37 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 | .size);.......7..struct.wl_buffe |
| 5de0 | 72 20 2a 62 75 66 66 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 | r.*buffer.=.wl_shm_pool_create_b |
| 5e00 | 75 66 66 65 72 28 00 00 00 3e 20 20 20 20 20 20 70 6f 6f 6c 2c 20 30 2c 20 77 69 64 74 68 2c 20 | uffer(...>......pool,.0,.width,. |
| 5e20 | 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 54 5f 41 52 | height,.stride,.WL_SHM_FORMAT_AR |
| 5e40 | 47 42 38 38 38 38 29 3b 00 00 00 00 00 00 00 2b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 | GB8888);.......+..wl_surface_att |
| 5e60 | 61 63 68 28 73 75 72 66 61 63 65 2c 20 62 75 66 66 65 72 2c 20 30 2c 20 30 29 3b 00 00 00 1d 20 | ach(surface,.buffer,.0,.0);..... |
| 5e80 | 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 00 00 00 | .wl_surface_commit(surface);.... |
| 5ea0 | 00 00 00 33 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 | ...3..while.(running.&&.wl_displ |
| 5ec0 | 61 79 5f 64 69 73 70 61 74 63 68 28 64 69 73 70 6c 61 79 29 29 20 7b 00 00 00 03 20 20 7d 00 00 | ay_dispatch(display)).{......}.. |
| 5ee0 | 00 00 00 00 00 0b 20 20 72 65 74 75 72 6e 20 30 3b 00 00 00 01 7d 35 81 f5 18 00 00 00 00 00 00 | ........return.0;....}5......... |
| 5f00 | 00 00 00 00 00 00 7b 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 bd 0d | ......{......................... |
| 5f20 | 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 0b 00 00 00 0d 00 00 00 00 00 00 | ..............5._............... |
| 5f40 | 00 00 00 00 00 0c 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 | ................................ |
| 5f60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5f80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 60a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d 6a a6 04 01 00 00 00 00 00 f5 | ....................i.j......... |
| 60c0 | 18 00 00 00 6d 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 7d f5 18 00 00 00 6e 00 00 00 00 | ....m................}.....n.... |
| 60e0 | 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 | ................................ |
| 6100 | 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............... |
| 6120 | 00 00 00 00 00 00 00 00 6d 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ........m....................... |
| 6140 | a7 0e 00 00 00 00 00 00 35 81 5f d0 00 00 00 0c 00 00 00 0e 00 00 00 00 00 00 00 00 00 00 00 0d | ........5._..................... |
| 6160 | 00 00 00 6e 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 | ...n............................ |
| 6180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 61a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 61c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 61e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 62a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 62c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d 6a a7 04 01 00 00 00 07 00 f5 18 00 00 00 00 00 | ..............i.j............... |
| 62e0 | 00 00 85 00 00 00 6e 00 00 00 6d 00 00 00 1b 23 69 6e 63 6c 75 64 65 20 3c 77 61 79 6c 61 6e 64 | ......n...m....#include.<wayland |
| 6300 | 2d 63 6c 69 65 6e 74 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e | -client.h>....#include.<sys/mman |
| 6320 | 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 12 23 69 | .h>....#include.<unistd.h>....#i |
| 6340 | 6e 63 6c 75 64 65 20 3c 66 63 6e 74 6c 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 74 | nclude.<fcntl.h>....#include.<st |
| 6360 | 72 69 6e 67 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 | ring.h>....#include.<stdlib.h>.. |
| 6380 | 00 12 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6f 2e 68 3e 00 00 00 26 23 69 6e 63 6c 75 64 65 | ..#include.<stdio.h>...&#include |
| 63a0 | 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".. |
| 63c0 | 00 00 00 00 00 1b 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 |
| 63e0 | 3b 00 00 00 1d 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 | ;....struct.wl_registry.*registr |
| 6400 | 79 3b 00 00 00 21 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 | y;...!struct.wl_compositor.*comp |
| 6420 | 6f 73 69 74 6f 72 3b 00 00 00 13 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d 3b 00 00 | ositor;....struct.wl_shm.*shm;.. |
| 6440 | 00 1c 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 3b 00 00 | ..struct.xdg_wm_base.*wm_base;.. |
| 6460 | 00 1b 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 3b 00 00 00 | ..struct.wl_surface.*surface;... |
| 6480 | 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 |
| 64a0 | 3b 00 00 00 1e 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 | ;....struct.xdg_toplevel.*toplev |
| 64c0 | 65 6c 3b 00 00 00 00 00 00 00 0e 2f 2f 20 57 69 6e 64 6f 77 20 73 69 7a 65 00 00 00 16 63 6f 6e | el;........//.Window.size....con |
| 64e0 | 73 74 20 69 6e 74 20 57 49 44 54 48 20 3d 20 33 30 30 3b 00 00 00 17 63 6f 6e 73 74 20 69 6e 74 | st.int.WIDTH.=.300;....const.int |
| 6500 | 20 48 45 49 47 48 54 20 3d 20 32 30 30 3b 00 00 00 00 00 00 00 0f 2f 2f 20 52 75 6e 6e 69 6e 67 | .HEIGHT.=.200;........//.Running |
| 6520 | 20 66 6c 61 67 00 00 00 10 69 6e 74 20 72 75 6e 6e 69 6e 67 20 3d 20 31 3b 00 00 00 00 00 00 00 | .flag....int.running.=.1;....... |
| 6540 | 26 2f 2f 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | &//.---------------------------- |
| 6560 | 2d 2d 2d 2d 2d 2d 2d 00 00 00 13 2f 2f 20 57 61 79 6c 61 6e 64 20 68 61 6e 64 6c 65 72 73 00 00 | -------....//.Wayland.handlers.. |
| 6580 | 00 26 2f 2f 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | .&//.--------------------------- |
| 65a0 | 2d 2d 2d 2d 2d 2d 2d 2d 00 00 00 54 73 74 61 74 69 63 20 76 6f 69 64 20 77 6d 5f 62 61 73 65 5f | --------...Tstatic.void.wm_base_ |
| 65c0 | 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 67 5f 77 6d 5f 62 | ping(void.*data,.struct.xdg_wm_b |
| 65e0 | 61 73 65 20 2a 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 20 7b | ase.*wm_base,.uint32_t.serial).{ |
| 6600 | 00 00 00 26 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 5f 62 61 73 65 | ...&....xdg_wm_base_pong(wm_base |
| 6620 | 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4d 73 74 61 74 69 63 20 63 6f | ,.serial);....}.......Mstatic.co |
| 6640 | 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 | nst.struct.xdg_wm_base_listener. |
| 6660 | 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 20 77 6d 5f 62 61 73 65 5f 70 69 6e | wm_base_listener.=.{.wm_base_pin |
| 6680 | 67 20 7d 3b 00 00 00 00 00 00 00 61 73 74 61 74 69 63 20 76 6f 69 64 20 78 64 67 5f 73 75 72 66 | g.};.......astatic.void.xdg_surf |
| 66a0 | 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 20 73 74 72 75 63 74 | ace_configure(void.*data,.struct |
| 66c0 | 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 2c 20 75 69 6e 74 33 | .xdg_surface.*xdg_surface,.uint3 |
| 66e0 | 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 33 20 20 20 20 78 64 67 5f 73 75 72 66 61 63 65 | 2_t.serial).{...3....xdg_surface |
| 6700 | 5f 61 63 6b 5f 63 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 | _ack_configure(xdg_surface,.seri |
| 6720 | 61 6c 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 | al);........wl_surface_commit(su |
| 6740 | 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 63 6f 6e 73 74 | rface);....}.......Zstatic.const |
| 6760 | 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 |
| 6780 | 5f 73 75 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 20 78 64 67 5f 73 75 72 66 61 63 | _surface_listener.=.{.xdg_surfac |
| 67a0 | 65 5f 63 6f 6e 66 69 67 75 72 65 20 7d 3b 00 00 00 00 00 00 00 7e 73 74 61 74 69 63 20 76 6f 69 | e_configure.};.......~static.voi |
| 67c0 | 64 20 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 | d.registry_handler(void.*data,.s |
| 67e0 | 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 75 69 6e | truct.wl_registry.*registry,.uin |
| 6800 | 74 33 32 5f 74 20 69 64 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 6e 74 65 72 66 61 63 65 2c | t32_t.id,.const.char.*interface, |
| 6820 | 20 75 69 6e 74 33 32 5f 74 20 76 65 72 73 69 6f 6e 29 20 7b 00 00 00 32 20 20 20 20 69 66 20 28 | .uint32_t.version).{...2....if.( |
| 6840 | 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 69 74 6f 72 | strcmp(interface,."wl_compositor |
| 6860 | 22 29 20 3d 3d 20 30 29 20 7b 00 00 00 51 20 20 20 20 20 20 20 20 63 6f 6d 70 6f 73 69 74 6f 72 | ").==.0).{...Q........compositor |
| 6880 | 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 69 64 | .=.wl_registry_bind(registry,.id |
| 68a0 | 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 34 29 3b 00 | ,.&wl_compositor_interface,.4);. |
| 68c0 | 00 00 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 | ..2....}.else.if.(strcmp(interfa |
| 68e0 | 63 65 2c 20 22 77 6c 5f 73 68 6d 22 29 20 3d 3d 20 30 29 20 7b 00 00 00 43 20 20 20 20 20 20 20 | ce,."wl_shm").==.0).{...C....... |
| 6900 | 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 |
| 6920 | 2c 20 69 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 37 | ,.id,.&wl_shm_interface,.1);...7 |
| 6940 | 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, |
| 6960 | 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 4c 20 20 20 20 20 | ."xdg_wm_base").==.0).{...L..... |
| 6980 | 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 |
| 69a0 | 67 69 73 74 72 79 2c 20 69 64 2c 20 26 78 64 67 5f 77 6d 5f 62 61 73 65 5f 69 6e 74 65 72 66 61 | gistry,.id,.&xdg_wm_base_interfa |
| 69c0 | 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 5f 61 | ce,.1);...C........xdg_wm_base_a |
| 69e0 | 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 6c 69 | dd_listener(wm_base,.&wm_base_li |
| 6a00 | 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 00 | stener,.NULL);........}....}.... |
| 6a20 | 00 00 00 58 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 | ...Xstatic.const.struct.wl_regis |
| 6a40 | 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 3d | try_listener.registry_listener.= |
| 6a60 | 20 7b 20 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 2c 20 4e 55 4c 4c 20 7d 3b 00 00 00 00 | .{.registry_handler,.NULL.};.... |
| 6a80 | 00 00 00 26 2f 2f 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | ...&//.------------------------- |
| 6aa0 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 00 00 00 0e 2f 2f 20 53 48 4d 20 68 65 6c 70 65 72 73 00 00 00 26 | ----------....//.SHM.helpers...& |
| 6ac0 | 2f 2f 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | //.----------------------------- |
| 6ae0 | 2d 2d 2d 2d 2d 2d 00 00 00 29 73 74 61 74 69 63 20 69 6e 74 20 63 72 65 61 74 65 5f 73 68 6d 5f | ------...)static.int.create_shm_ |
| 6b00 | 66 69 6c 65 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 30 20 20 20 20 63 68 61 72 20 | file(size_t.size).{...0....char. |
| 6b20 | 74 65 6d 70 6c 61 74 65 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 61 79 6c 61 6e 64 2d 73 68 6d 2d 58 | template[].=."/tmp/wayland-shm-X |
| 6b40 | 58 58 58 58 58 22 3b 00 00 00 1f 20 20 20 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 | XXXXX";........int.fd.=.mkstemp( |
| 6b60 | 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 2f 20 20 20 20 69 66 20 28 66 64 20 3c 20 30 29 20 7b 20 | template);.../....if.(fd.<.0).{. |
| 6b80 | 70 65 72 72 6f 72 28 22 6d 6b 73 74 65 6d 70 22 29 3b 20 65 78 69 74 28 31 29 3b 20 7d 00 00 00 | perror("mkstemp");.exit(1);.}... |
| 6ba0 | 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 42 20 20 20 20 69 66 | .....unlink(template);...B....if |
| 6bc0 | 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 73 69 7a 65 29 20 3c 20 30 29 20 7b 20 70 65 72 | .(ftruncate(fd,.size).<.0).{.per |
| 6be0 | 72 6f 72 28 22 66 74 72 75 6e 63 61 74 65 22 29 3b 20 65 78 69 74 28 31 29 3b 20 7d 00 00 00 0e | ror("ftruncate");.exit(1);.}.... |
| 6c00 | 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 26 2f 2f 20 2d 2d | ....return.fd;....}.......&//.-- |
| 6c20 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | -------------------------------- |
| 6c40 | 2d 00 00 00 07 2f 2f 20 4d 61 69 6e 00 00 00 26 2f 2f 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | -....//.Main...&//.------------- |
| 6c60 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 00 00 00 0c 69 6e 74 20 6d 61 | ----------------------....int.ma |
| 6c80 | 69 6e 28 29 20 7b 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 | in().{...'....display.=.wl_displ |
| 6ca0 | 61 79 5f 63 6f 6e 6e 65 63 74 28 4e 55 4c 4c 29 3b 00 00 00 5a 20 20 20 20 69 66 20 28 21 64 69 | ay_connect(NULL);...Z....if.(!di |
| 6cc0 | 73 70 6c 61 79 29 20 7b 20 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 46 61 69 6c 65 64 | splay).{.fprintf(stderr,."Failed |
| 6ce0 | 20 74 6f 20 63 6f 6e 6e 65 63 74 20 74 6f 20 57 61 79 6c 61 6e 64 20 64 69 73 70 6c 61 79 5c 6e | .to.connect.to.Wayland.display\n |
| 6d00 | 22 29 3b 20 72 65 74 75 72 6e 20 31 3b 20 7d 00 00 00 00 00 00 00 30 20 20 20 20 72 65 67 69 73 | ");.return.1;.}.......0....regis |
| 6d20 | 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 64 69 | try.=.wl_display_get_registry(di |
| 6d40 | 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 5f 6c | splay);...A....wl_registry_add_l |
| 6d60 | 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 73 74 | istener(registry,.®istry_list |
| 6d80 | 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 5f 72 | ener,.NULL);..."....wl_display_r |
| 6da0 | 6f 75 6e 64 74 72 69 70 28 64 69 73 70 6c 61 79 29 3b 00 00 00 00 00 00 00 6d 20 20 20 20 69 66 | oundtrip(display);.......m....if |
| 6dc0 | 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 |
| 6de0 | 65 29 20 7b 20 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 4d 69 73 73 69 6e 67 20 72 65 | e).{.fprintf(stderr,."Missing.re |
| 6e00 | 71 75 69 72 65 64 20 57 61 79 6c 61 6e 64 20 67 6c 6f 62 61 6c 73 5c 6e 22 29 3b 20 72 65 74 75 | quired.Wayland.globals\n");.retu |
| 6e20 | 72 6e 20 31 3b 20 7d 00 00 00 00 00 00 00 15 20 20 20 20 2f 2f 20 43 72 65 61 74 65 20 73 75 72 | rn.1;.}............//.Create.sur |
| 6e40 | 66 61 63 65 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 | face...7....surface.=.wl_composi |
| 6e60 | 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);. |
| 6e80 | 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 |
| 6ea0 | 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 |
| 6ec0 | 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 |
| 6ee0 | 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 |
| 6f00 | 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 35 20 20 20 20 74 6f 70 6c 65 76 65 6c 20 3d | stener,.NULL);...5....toplevel.= |
| 6f20 | 20 78 64 67 5f 73 75 72 66 61 63 65 5f 67 65 74 5f 74 6f 70 6c 65 76 65 6c 28 78 64 67 5f 73 75 | .xdg_surface_get_toplevel(xdg_su |
| 6f40 | 72 66 61 63 65 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 | rface);........wl_surface_commit |
| 6f60 | 28 73 75 72 66 61 63 65 29 3b 00 00 00 22 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 | (surface);..."....wl_display_rou |
| 6f80 | 6e 64 74 72 69 70 28 64 69 73 70 6c 61 79 29 3b 00 00 00 00 00 00 00 18 20 20 20 20 2f 2f 20 43 | ndtrip(display);............//.C |
| 6fa0 | 72 65 61 74 65 20 53 48 4d 20 62 75 66 66 65 72 00 00 00 1b 20 20 20 20 69 6e 74 20 73 74 72 69 | reate.SHM.buffer........int.stri |
| 6fc0 | 64 65 20 3d 20 57 49 44 54 48 20 2a 20 34 3b 00 00 00 1f 20 20 20 20 69 6e 74 20 73 69 7a 65 20 | de.=.WIDTH.*.4;........int.size. |
| 6fe0 | 3d 20 73 74 72 69 64 65 20 2a 20 48 45 49 47 48 54 3b 00 00 00 23 20 20 20 20 69 6e 74 20 66 64 | =.stride.*.HEIGHT;...#....int.fd |
| 7000 | 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 4d 20 20 20 | .=.create_shm_file(size);...M... |
| 7020 | 20 76 6f 69 64 20 2a 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 | .void.*data.=.mmap(NULL,.size,.P |
| 7040 | 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 |
| 7060 | 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 38 20 20 20 20 69 66 20 28 64 61 74 61 20 3d 3d 20 4d 41 | D,.fd,.0);...8....if.(data.==.MA |
| 7080 | 50 5f 46 41 49 4c 45 44 29 20 7b 20 70 65 72 72 6f 72 28 22 6d 6d 61 70 22 29 3b 20 65 78 69 74 | P_FAILED).{.perror("mmap");.exit |
| 70a0 | 28 31 29 3b 20 7d 00 00 00 00 00 00 00 22 20 20 20 20 2f 2f 20 46 69 6c 6c 20 62 75 66 66 65 72 | (1);.}......."....//.Fill.buffer |
| 70c0 | 20 77 69 74 68 20 73 6f 6c 69 64 20 62 6c 75 65 00 00 00 1c 20 20 20 20 75 69 6e 74 33 32 5f 74 | .with.solid.blue........uint32_t |
| 70e0 | 20 2a 70 69 78 65 6c 73 20 3d 20 64 61 74 61 3b 00 00 00 2c 20 20 20 20 66 6f 72 20 28 69 6e 74 | .*pixels.=.data;...,....for.(int |
| 7100 | 20 69 20 3d 20 30 3b 20 69 20 3c 20 57 49 44 54 48 20 2a 20 48 45 49 47 48 54 3b 20 69 2b 2b 29 | .i.=.0;.i.<.WIDTH.*.HEIGHT;.i++) |
| 7120 | 00 00 00 35 20 20 20 20 20 20 20 20 70 69 78 65 6c 73 5b 69 5d 20 3d 20 30 78 66 66 30 30 30 30 | ...5........pixels[i].=.0xff0000 |
| 7140 | 66 66 3b 20 2f 2f 20 41 52 47 42 20 3d 20 6f 70 61 71 75 65 20 62 6c 75 65 00 00 00 00 00 00 00 | ff;.//.ARGB.=.opaque.blue....... |
| 7160 | 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.=. |
| 7180 | 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 |
| 71a0 | 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 |
| 71c0 | 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 |
| 71e0 | 6f 6f 6c 2c 20 30 2c 20 57 49 44 54 48 2c 20 48 45 49 47 48 54 2c 20 73 74 72 69 64 65 2c 20 57 | ool,.0,.WIDTH,.HEIGHT,.stride,.W |
| 7200 | 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 00 00 00 00 2d 20 | L_SHM_FORMAT_ARGB8888);.......-. |
| 7220 | 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 62 75 | ...wl_surface_attach(surface,.bu |
| 7240 | 66 66 65 72 2c 20 30 2c 20 30 29 3b 00 00 00 1f 20 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 | ffer,.0,.0);........wl_surface_c |
| 7260 | 6f 6d 6d 69 74 28 73 75 72 66 61 63 65 29 3b 00 00 00 00 00 00 00 11 20 20 20 20 2f 2f 20 45 76 | ommit(surface);............//.Ev |
| 7280 | 65 6e 74 20 6c 6f 6f 70 00 00 00 37 20 20 20 20 77 68 69 6c 65 20 28 72 75 6e 6e 69 6e 67 20 26 | ent.loop...7....while.(running.& |
| 72a0 | 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 29 20 | &.wl_display_dispatch(display)). |
| 72c0 | 7b 20 7d 00 00 00 00 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 30 3b 35 81 f5 18 00 00 00 00 | {.}............return.0;5....... |
| 72e0 | 00 00 00 00 09 00 00 00 6c 00 00 00 02 00 00 00 83 00 00 00 00 00 00 00 09 00 00 00 00 00 00 00 | ........l....................... |
| 7300 | 91 0e 00 00 00 00 00 00 16 0f 00 00 00 00 00 00 35 81 5f d0 00 00 00 0d 00 00 00 0f 00 00 00 00 | ................5._............. |
| 7320 | 00 00 00 00 00 00 00 0e 00 00 00 80 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 | ................................ |
| 7340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 73a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 73c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 73e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 82 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7480 | 00 80 00 00 00 00 00 00 00 00 00 00 00 56 00 00 00 00 00 00 00 00 69 9d 6b 68 04 01 00 00 00 00 | .............V........i.kh...... |
| 74a0 | 00 f5 18 00 00 00 7f 00 00 00 80 00 00 00 00 00 00 00 03 00 00 00 0f 20 20 2f 2f 20 45 76 65 6e | .........................//.Even |
| 74c0 | 74 20 6c 6f 6f 70 00 00 00 33 20 20 77 68 69 6c 65 20 28 72 75 6e 6e 69 6e 67 20 26 26 20 77 6c | t.loop...3..while.(running.&&.wl |
| 74e0 | 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 29 20 7b 00 00 00 | _display_dispatch(display)).{... |
| 7500 | 03 20 20 7d 35 81 f5 18 00 00 00 00 7f 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 | ...}5........................... |
| 7520 | 00 00 00 00 d6 0e 00 00 00 00 00 00 48 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 35 81 5f d0 | ............H...............5._. |
| 7540 | 00 00 00 0e 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 0f 00 00 00 80 00 00 00 00 00 00 00 00 | ................................ |
| 7560 | ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 75a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 75c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 75e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 76a0 | 00 80 00 00 00 00 00 00 00 00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 56 00 00 00 00 00 00 | .........................V...... |
| 76c0 | 00 00 69 9d 6b 69 04 01 00 00 00 00 00 f5 18 00 00 00 7f 00 00 00 81 00 00 00 83 00 00 00 01 00 | ..i.ki.......................... |
| 76e0 | 00 00 02 20 20 f5 18 00 00 00 7f 00 00 00 81 00 00 00 82 00 00 00 00 35 81 f5 18 00 00 00 00 7f | .......................5........ |
| 7700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 d6 0e 00 00 00 00 00 00 00 | ................................ |
| 7720 | 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 f5 18 00 00 00 00 7f 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7740 | 00 00 00 00 00 00 00 00 00 18 00 00 00 d6 0e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 18 00 00 | ................................ |
| 7760 | 00 00 00 00 00 f5 18 00 00 00 00 7f 00 00 00 16 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 06 | ................................ |
| 7780 | 00 00 00 ec 0e 00 00 00 00 00 00 02 00 00 00 00 00 00 00 06 00 00 00 00 00 00 00 35 81 5f d0 00 | ...........................5._.. |
| 77a0 | 00 00 0f 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 80 00 00 00 1c 00 00 00 00 ff | ................................ |
| 77c0 | ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 77e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 78a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 78c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 78e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7900 | 81 00 00 00 00 00 00 00 00 00 00 00 81 00 00 00 00 00 00 00 00 00 00 00 56 00 00 00 00 00 00 00 | ........................V....... |
| 7920 | 00 69 9d 6b 70 04 01 00 00 00 00 00 f5 18 00 00 00 7f 00 00 00 81 00 00 00 83 00 00 00 01 00 00 | .i.kp........................... |
| 7940 | 00 1c 20 20 73 74 61 74 69 63 20 76 6f 69 64 20 74 6f 70 6c 65 76 65 6c 5f 63 6c 6f 73 65 35 81 | ....static.void.toplevel_close5. |
| 7960 | f5 18 00 00 00 00 7f 00 00 00 1c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 f2 0e | ................................ |
| 7980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 10 00 00 | ......................5._....... |
| 79a0 | 00 12 00 00 00 00 00 00 00 00 00 00 00 11 00 00 00 80 00 00 00 1d 00 00 00 00 ff ff ff ff 00 01 | ................................ |
| 79c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 79e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7a00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7a60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 81 00 00 00 00 | ................................ |
| 7b00 | 00 00 00 00 00 00 00 81 00 00 00 00 00 00 00 00 00 00 00 56 00 00 00 00 00 00 00 00 69 9d 6b 70 | ...................V........i.kp |
| 7b20 | 04 01 00 00 00 00 00 f5 18 00 00 00 7f 00 00 00 81 00 00 00 83 00 00 00 01 00 00 00 1e 20 20 73 | ...............................s |
| 7b40 | 74 61 74 69 63 20 76 6f 69 64 20 74 6f 70 6c 65 76 65 6c 5f 63 6c 6f 73 65 28 29 35 81 f5 18 00 | tatic.void.toplevel_close()5.... |
| 7b60 | 00 00 00 7f 00 00 00 1d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 18 00 00 00 f3 0e 00 00 00 | ................................ |
| 7b80 | 00 00 00 00 00 00 00 00 00 00 00 18 00 00 00 00 00 00 00 f5 18 00 00 00 00 7f 00 00 00 34 00 00 | .............................4.. |
| 7ba0 | 00 00 00 00 00 01 00 00 00 00 00 00 00 07 00 00 00 0a 0f 00 00 00 00 00 00 01 00 00 00 00 00 00 | ................................ |
| 7bc0 | 00 07 00 00 00 00 00 00 00 f5 18 00 00 00 00 7f 00 00 00 3a 00 00 00 00 00 00 00 01 00 00 00 00 | ...................:............ |
| 7be0 | 00 00 00 0c 00 00 00 10 0f 00 00 00 00 00 00 01 00 00 00 00 00 00 00 0c 00 00 00 00 00 00 00 35 | ...............................5 |
| 7c00 | 81 5f d0 00 00 00 11 00 00 00 13 00 00 00 00 00 00 00 00 00 00 00 12 00 00 00 80 00 00 00 47 00 | ._............................G. |
| 7c20 | 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 | ................................ |
| 7c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7c60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7c80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7d00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7d20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7d60 | 00 00 00 00 81 00 00 00 00 00 00 00 00 00 00 00 81 00 00 00 00 00 00 00 00 00 00 00 56 00 00 00 | ............................V... |
| 7d80 | 00 00 00 00 00 69 9d 6b 7b 04 01 00 00 00 00 00 f5 18 00 00 00 7f 00 00 00 81 00 00 00 83 00 00 | .....i.k{....................... |
| 7da0 | 00 01 00 00 00 47 20 20 73 74 61 74 69 63 20 76 6f 69 64 20 74 6f 70 6c 65 76 65 6c 5f 63 6c 6f | .....G..static.void.toplevel_clo |
| 7dc0 | 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 74 6f 70 6c 65 76 | se(void.*data,.struct.xdg_toplev |
| 7de0 | 65 6c 20 2a 74 6f 70 6c 65 76 65 6c 29 35 81 f5 18 00 00 00 00 7f 00 00 00 47 00 00 00 00 00 00 | el.*toplevel)5...........G...... |
| 7e00 | 00 00 00 00 00 00 00 00 00 01 00 00 00 1d 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 | ................................ |
| 7e20 | 00 00 00 00 00 35 81 5f d0 00 00 00 12 00 00 00 14 00 00 00 00 00 00 00 00 00 00 00 13 00 00 00 | .....5._........................ |
| 7e40 | 80 00 00 00 48 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 | ....H........................... |
| 7e60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7e80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7ea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7ec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7ee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7f00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7f20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7f40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7f60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7f80 | 00 00 00 00 00 00 00 00 00 00 81 00 00 00 00 00 00 00 00 00 00 00 81 00 00 00 00 00 00 00 00 00 | ................................ |
| 7fa0 | 00 00 56 00 00 00 00 00 00 00 00 69 9d 6b 7b 04 01 00 00 00 00 00 f5 18 00 00 00 7f 00 00 00 81 | ..V........i.k{................. |
| 7fc0 | 00 00 00 83 00 00 00 01 00 00 00 48 20 20 73 74 61 74 69 63 20 76 6f 69 64 20 74 6f 70 6c 65 76 | ...........H..static.void.toplev |
| 7fe0 | 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_ |
| 8000 | 74 6f 70 6c 65 76 65 6c 20 2a 74 6f 70 6c 65 76 65 6c 29 20 35 81 f5 18 00 00 00 00 7f 00 00 00 | toplevel.*toplevel).5........... |
| 8020 | 48 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 1e 0f 00 00 00 00 00 00 00 00 00 00 | H............................... |
| 8040 | 00 00 00 00 02 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 13 00 00 00 15 00 00 00 00 00 00 00 00 | ............5._................. |
| 8060 | 00 00 00 14 00 00 00 80 00 00 00 49 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 | ...........I.................... |
| 8080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 80a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 80c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 80e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 81a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 81 00 00 00 00 00 00 00 00 00 00 00 81 00 00 | ................................ |
| 81c0 | 00 00 00 00 00 00 00 00 00 56 00 00 00 00 00 00 00 00 69 9d 6b 7b 04 01 00 00 00 00 00 f5 18 00 | .........V........i.k{.......... |
| 81e0 | 00 00 7f 00 00 00 82 00 00 00 84 00 00 00 01 00 00 00 49 20 20 73 74 61 74 69 63 20 76 6f 69 64 | ..................I..static.void |
| 8200 | 20 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 75 | .toplevel_close(void.*data,.stru |
| 8220 | 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 20 7b f5 18 00 00 | ct.xdg_toplevel.*toplevel).{.... |
| 8240 | 00 80 00 00 00 82 00 00 00 00 00 00 00 01 00 00 00 03 20 20 7d f5 18 00 00 00 7f 00 00 00 82 00 | ....................}........... |
| 8260 | 00 00 83 00 00 00 01 00 00 00 4a 20 20 73 74 61 74 69 63 20 76 6f 69 64 20 74 6f 70 6c 65 76 65 | ..........J..static.void.topleve |
| 8280 | 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 74 | l_close(void.*data,.struct.xdg_t |
| 82a0 | 6f 70 6c 65 76 65 6c 20 2a 74 6f 70 6c 65 76 65 6c 29 20 7b 7d 35 81 f5 18 00 00 00 00 7f 00 00 | oplevel.*toplevel).{}5.......... |
| 82c0 | 00 49 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 1f 0f 00 00 00 00 00 00 00 00 00 | .I.............................. |
| 82e0 | 00 00 00 00 00 03 00 00 00 00 00 00 00 f5 18 00 00 00 00 7f 00 00 00 49 00 00 00 00 00 00 00 00 | .......................I........ |
| 8300 | 00 00 00 01 00 00 00 02 00 00 00 1f 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 | ................................ |
| 8320 | 00 00 00 f5 18 00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 0e 00 00 | ................................ |
| 8340 | 00 20 0f 00 00 00 00 00 00 02 00 00 00 00 00 00 00 0e 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 | .........................5._.... |
| 8360 | 14 00 00 00 16 00 00 00 00 00 00 00 00 00 00 00 15 00 00 00 81 00 00 00 0e 00 00 00 00 ff ff ff | ................................ |
| 8380 | ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 83a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 83c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 83e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 84a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 83 00 | ................................ |
| 84c0 | 00 00 00 00 00 00 00 00 00 00 83 00 00 00 00 00 00 00 00 00 00 00 56 00 00 00 00 00 00 00 00 69 | ......................V........i |
| 84e0 | 9d 6b 7f 04 01 00 00 00 00 00 f5 18 00 00 00 80 00 00 00 82 00 00 00 85 00 00 00 01 00 00 00 0e | .k.............................. |
| 8500 | 09 20 20 72 75 6e 6e 69 6e 67 20 3d 20 30 35 81 f5 18 00 00 00 00 80 00 00 00 0e 00 00 00 00 00 | ...running.=.05................. |
| 8520 | 00 00 00 00 00 00 00 00 00 00 01 00 00 00 2e 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 | ................................ |
| 8540 | 00 00 00 00 00 00 35 81 5f d0 00 00 00 15 00 00 00 17 00 00 00 00 00 00 00 00 00 00 00 16 00 00 | ......5._....................... |
| 8560 | 00 82 00 00 00 03 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 | ................................ |
| 8580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 85a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 85c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 85e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 86a0 | 00 00 00 00 00 00 00 00 00 00 00 83 00 00 00 00 00 00 00 00 00 00 00 83 00 00 00 00 00 00 00 00 | ................................ |
| 86c0 | 00 00 00 56 00 00 00 00 00 00 00 00 69 9d 6b 81 04 01 00 00 00 00 00 f5 18 00 00 00 81 00 00 00 | ...V........i.k................. |
| 86e0 | 83 00 00 00 85 00 00 00 01 00 00 00 03 20 20 7d 35 81 f5 18 00 00 00 00 81 00 00 00 03 00 00 00 | ...............}5............... |
| 8700 | 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 33 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................3............... |
| 8720 | 03 00 00 00 00 00 00 00 f5 18 00 00 00 00 82 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 | ................................ |
| 8740 | 00 00 00 00 00 00 34 0f 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 | ......4......................... |
| 8760 | 00 00 00 00 81 00 00 00 03 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33 0f 00 00 | ............................3... |
| 8780 | 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 16 00 00 00 18 | ....................5._......... |
| 87a0 | 00 00 00 00 00 00 00 00 00 00 00 17 00 00 00 82 00 00 00 03 00 00 00 00 ff ff ff ff 00 01 00 00 | ................................ |
| 87c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 87e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 88a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 88c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 88e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 83 00 00 00 00 00 00 | ................................ |
| 8900 | 00 00 00 00 00 83 00 00 00 00 00 00 00 00 00 00 00 56 00 00 00 00 00 00 00 00 69 9d 6b 84 04 01 | .................V........i.k... |
| 8920 | 00 00 00 00 00 f5 18 00 00 00 81 00 00 00 85 00 00 00 85 00 00 00 01 00 00 00 03 20 20 7d 35 81 | .............................}5. |
| 8940 | f5 18 00 00 00 00 81 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 33 0f | ..............................3. |
| 8960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 f5 18 00 00 00 00 82 00 00 00 | ................................ |
| 8980 | 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 34 0f 00 00 00 00 00 00 02 00 00 00 | ....................4........... |
| 89a0 | 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 82 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 89c0 | 00 00 01 00 00 00 02 00 00 00 34 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 | ..........4..................... |
| 89e0 | 00 00 f5 18 00 00 00 00 83 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 24 00 00 00 | ............................$... |
| 8a00 | 37 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 24 00 00 00 00 00 00 00 f5 18 00 00 00 00 83 00 | 7...............$............... |
| 8a20 | 00 00 25 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 08 00 00 00 5a 0f 00 00 00 00 00 00 01 00 | ..%...................Z......... |
| 8a40 | 00 00 00 00 00 00 08 00 00 00 00 00 00 00 f5 18 00 00 00 00 83 00 00 00 2c 00 00 00 00 00 00 00 | ........................,....... |
| 8a60 | 01 00 00 00 00 00 00 00 00 00 00 00 61 0f 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 | ............a................... |
| 8a80 | 00 00 00 00 f5 18 00 00 00 00 83 00 00 00 2b 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 | ..............+................. |
| 8aa0 | 00 00 60 0f 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 | ..`............................. |
| 8ac0 | 83 00 00 00 2a 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 04 00 00 00 5f 0f 00 00 00 00 00 00 | ....*..................._....... |
| 8ae0 | 01 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 f5 18 00 00 00 00 83 00 00 00 2d 00 00 00 00 00 | ..........................-..... |
| 8b00 | 00 00 01 00 00 00 00 00 00 00 0c 00 00 00 62 0f 00 00 00 00 00 00 01 00 00 00 00 00 00 00 0c 00 | ..............b................. |
| 8b20 | 00 00 00 00 00 00 35 81 5f d0 00 00 00 17 00 00 00 19 00 00 00 00 00 00 00 00 00 00 00 18 00 00 | ......5._....................... |
| 8b40 | 00 84 00 00 00 39 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 | .....9.......................... |
| 8b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8c00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8c20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8c60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8c80 | 00 00 00 00 00 00 00 00 00 00 00 85 00 00 00 00 00 00 00 00 00 00 00 85 00 00 00 00 00 00 00 00 | ................................ |
| 8ca0 | 00 00 00 56 00 00 00 00 00 00 00 00 69 9d 6b 91 04 01 00 00 00 00 00 f5 18 00 00 00 83 00 00 00 | ...V........i.k................. |
| 8cc0 | 85 00 00 00 87 00 00 00 01 00 00 00 39 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 78 64 67 5f | ............9..static.const.xdg_ |
| 8ce0 | 74 6f 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 | toplevel_listener.toplevel_liste |
| 8d00 | 6e 65 72 20 3d 20 35 81 f5 18 00 00 00 00 83 00 00 00 39 00 00 00 00 00 00 00 00 00 00 00 00 00 | ner.=.5...........9............. |
| 8d20 | 00 00 02 00 00 00 6e 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 35 81 | ......n.......................5. |
| 8d40 | 5f d0 00 00 00 18 00 00 00 1a 00 00 00 00 00 00 00 00 00 00 00 19 00 00 00 84 00 00 00 3b 00 00 | _............................;.. |
| 8d60 | 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 | ................................ |
| 8d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8da0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8e00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8e20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8e40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8e60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8e80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8ea0 | 00 00 00 85 00 00 00 00 00 00 00 00 00 00 00 85 00 00 00 00 00 00 00 00 00 00 00 56 00 00 00 00 | ...........................V.... |
| 8ec0 | 00 00 00 00 69 9d 6b 93 04 01 00 00 00 00 00 f5 18 00 00 00 83 00 00 00 85 00 00 00 87 00 00 00 | ....i.k......................... |
| 8ee0 | 01 00 00 00 3b 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c | ....;..static.const.xdg_toplevel |
| 8f00 | 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 7d | _listener.toplevel_listener.=.{} |
| 8f20 | 35 81 f5 18 00 00 00 00 83 00 00 00 3b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 | 5...........;................... |
| 8f40 | 70 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 19 | p.......................5._..... |
| 8f60 | 00 00 00 1b 00 00 00 00 00 00 00 00 00 00 00 1a 00 00 00 84 00 00 00 3b 00 00 00 00 ff ff ff ff | .......................;........ |
| 8f80 | 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 | ................................ |
| 8fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 9000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 9020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 9040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 9060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 9080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 90a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 85 00 00 | ................................ |
| 90c0 | 00 00 00 00 00 00 00 00 00 85 00 00 00 00 00 00 00 00 00 00 00 56 00 00 00 00 00 00 00 00 69 9d | .....................V........i. |
| 90e0 | 6b 93 04 01 00 00 00 08 00 f5 18 00 00 00 80 00 00 00 82 00 00 00 87 00 00 00 01 00 00 00 0f 09 | k............................... |
| 9100 | 20 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 35 81 f5 18 00 00 00 00 80 00 00 00 00 00 00 00 00 00 | ..running.=.0;5................. |
| 9120 | 00 00 01 00 00 00 00 00 00 00 02 00 00 00 20 0f 00 00 00 00 00 00 01 00 00 00 00 00 00 00 02 00 | ................................ |
| 9140 | 00 00 00 00 00 00 35 81 5f d0 00 00 00 1a 00 00 00 1c 00 00 00 00 00 00 00 00 00 00 00 1b 00 00 | ......5._....................... |
| 9160 | 00 7e 00 00 00 11 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 | .~.............................. |
| 9180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 91a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 91c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 91e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 9200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 9220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 9240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 9260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 9280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 92a0 | 00 00 00 00 00 00 00 00 00 00 00 85 00 00 00 00 00 00 00 00 00 00 00 85 00 00 00 00 00 00 00 00 | ................................ |
| 92c0 | 00 00 00 56 00 00 00 00 00 00 00 00 69 9d 6b a0 04 01 00 00 00 00 00 f5 18 00 00 00 7f 00 00 00 | ...V........i.k................. |
| 92e0 | 82 00 00 00 89 00 00 00 01 00 00 00 02 20 20 f5 18 00 00 00 80 00 00 00 81 00 00 00 89 00 00 00 | ................................ |
| 9300 | 00 f5 18 00 00 00 7e 00 00 00 81 00 00 00 88 00 00 00 01 00 00 00 02 20 20 f5 18 00 00 00 7e 00 | ......~.......................~. |
| 9320 | 00 00 80 00 00 00 87 00 00 00 00 35 81 f5 18 00 00 00 00 7e 00 00 00 00 00 00 00 00 00 00 00 00 | ...........5.......~............ |
| 9340 | 00 00 00 01 00 00 00 00 00 00 00 d5 0e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 | ................................ |
| 9360 | 00 00 00 f5 18 00 00 00 00 7e 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 | .........~...................... |
| 9380 | 00 d5 0e 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 7e | ...............................~ |
| 93a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 d5 0e 00 00 00 00 00 00 00 | ................................ |
| 93c0 | 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 f5 18 00 00 00 00 7f 00 00 00 02 00 00 00 00 00 00 | ................................ |
| 93e0 | 00 00 00 00 00 01 00 00 00 3e 00 00 00 d8 0e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 70 00 00 | .........>...................p.. |
| 9400 | 00 00 00 00 00 35 81 5f d0 00 00 00 1b 00 00 00 1d 00 00 00 00 00 00 00 00 00 00 00 1c 00 00 00 | .....5._........................ |
| 9420 | 83 00 00 00 02 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 9440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 9460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 9480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 94a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 94c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 94e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 9500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 9520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 9540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 9560 | 00 00 00 00 00 00 00 00 00 00 88 00 00 00 00 00 00 00 00 00 00 00 88 00 00 00 00 00 00 00 00 00 | ................................ |
| 9580 | 00 00 56 00 00 00 00 00 00 00 00 69 9d 6b a2 04 01 00 00 00 0a 00 f5 18 00 00 00 80 00 00 00 82 | ..V........i.k.................. |
| 95a0 | 00 00 00 8a 00 00 00 01 00 00 00 3e 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 | ...........>xdg_toplevel_add_lis |
| 95c0 | 74 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 | tener(toplevel,.&toplevel_listen |
| 95e0 | 65 72 2c 20 4e 55 4c 4c 29 3b 35 81 f5 18 00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 | er,.NULL);5..................... |
| 9600 | 00 00 00 00 00 00 02 00 00 00 0a 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 | ................................ |
| 9620 | 00 00 35 81 5f d0 00 00 00 1c 00 00 00 1e 00 00 00 00 00 00 00 00 00 00 00 1d 00 00 00 01 00 00 | ..5._........................... |
| 9640 | 00 02 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 9660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 9680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 96a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 96c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 96e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 9700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 9720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 9740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 9760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 9780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 97a0 | 00 00 00 00 00 00 00 00 69 9d 6b b2 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 00 00 | ........i.k..................... |
| 97c0 | 00 00 00 00 8a 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 | ........&#include."xdg-shell-cli |
| 97e0 | 65 6e 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 66 63 6e | ent-protocol.h"....#include.<fcn |
| 9800 | 74 6c 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6f 2e 68 3e 00 00 00 13 23 | tl.h>....#include.<stdio.h>....# |
| 9820 | 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.< |
| 9840 | 73 74 72 69 6e 67 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e | string.h>....#include.<sys/mman. |
| 9860 | 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 1b 23 69 6e | h>....#include.<unistd.h>....#in |
| 9880 | 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 00 00 00 00 1b | clude.<wayland-client.h>........ |
| 98a0 | 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 3b 00 00 00 1d 73 | struct.wl_display.*display;....s |
| 98c0 | 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 21 | truct.wl_registry.*registry;...! |
| 98e0 | 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 74 6f 72 | struct.wl_compositor.*compositor |
| 9900 | 3b 00 00 00 13 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d 3b 00 00 00 1c 73 74 72 75 | ;....struct.wl_shm.*shm;....stru |
| 9920 | 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 5f 62 61 73 65 3b 00 00 00 1b 73 74 72 75 | ct.xdg_wm_base.*wm_base;....stru |
| 9940 | 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 72 66 61 63 65 3b 00 00 00 20 73 74 72 75 63 | ct.wl_surface.*surface;....struc |
| 9960 | 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 3b 00 00 00 1e 73 | t.xdg_surface.*xdg_surface;....s |
| 9980 | 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 3b 00 00 00 | truct.xdg_toplevel.*toplevel;... |
| 99a0 | 00 00 00 00 0e 2f 2f 20 57 69 6e 64 6f 77 20 73 69 7a 65 00 00 00 16 63 6f 6e 73 74 20 69 6e 74 | .....//.Window.size....const.int |
| 99c0 | 20 57 49 44 54 48 20 3d 20 33 30 30 3b 00 00 00 17 63 6f 6e 73 74 20 69 6e 74 20 48 45 49 47 48 | .WIDTH.=.300;....const.int.HEIGH |
| 99e0 | 54 20 3d 20 32 30 30 3b 00 00 00 00 00 00 00 0f 2f 2f 20 52 75 6e 6e 69 6e 67 20 66 6c 61 67 00 | T.=.200;........//.Running.flag. |
| 9a00 | 00 00 10 69 6e 74 20 72 75 6e 6e 69 6e 67 20 3d 20 31 3b 00 00 00 00 00 00 00 26 2f 2f 20 2d 2d | ...int.running.=.1;.......&//.-- |
| 9a20 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | -------------------------------- |
| 9a40 | 2d 00 00 00 13 2f 2f 20 57 61 79 6c 61 6e 64 20 68 61 6e 64 6c 65 72 73 00 00 00 26 2f 2f 20 2d | -....//.Wayland.handlers...&//.- |
| 9a60 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | -------------------------------- |
| 9a80 | 2d 2d 00 00 00 41 73 74 61 74 69 63 20 76 6f 69 64 20 77 6d 5f 62 61 73 65 5f 70 69 6e 67 28 76 | --...Astatic.void.wm_base_ping(v |
| 9aa0 | 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 20 2a 77 | oid.*data,.struct.xdg_wm_base.*w |
| 9ac0 | 6d 5f 62 61 73 65 2c 00 00 00 2b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | m_base,...+..................... |
| 9ae0 | 20 20 20 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 24 20 20 78 64 67 5f | ....uint32_t.serial).{...$..xdg_ |
| 9b00 | 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 5f 62 61 73 65 2c 20 73 65 72 69 61 6c 29 3b 00 00 | wm_base_pong(wm_base,.serial);.. |
| 9b20 | 00 01 7d 00 00 00 00 00 00 00 4b 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 | ..}.......Kstatic.const.struct.x |
| 9b40 | 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 |
| 9b60 | 65 6e 65 72 20 3d 20 7b 77 6d 5f 62 61 73 65 5f 70 69 6e 67 7d 3b 00 00 00 00 00 00 00 4e 73 74 | ener.=.{wm_base_ping};.......Nst |
| 9b80 | 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( |
| 9ba0 | 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.* |
| 9bc0 | 78 64 67 5f 73 75 72 66 61 63 65 2c 00 00 00 34 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | xdg_surface,...4................ |
| 9be0 | 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 72 69 61 | ..................uint32_t.seria |
| 9c00 | 6c 29 20 7b 00 00 00 31 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 63 6b 5f 63 6f 6e 66 69 67 | l).{...1..xdg_surface_ack_config |
| 9c20 | 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 00 1d 20 20 77 | ure(xdg_surface,.serial);......w |
| 9c40 | 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 01 7d 00 | l_surface_commit(surface);....}. |
| 9c60 | 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 5f 73 | ......Astatic.const.struct.xdg_s |
| 9c80 | 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 73 74 | urface_listener.xdg_surface_list |
| 9ca0 | 65 6e 65 72 20 3d 20 7b 00 00 00 1b 20 20 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 63 6f 6e 66 | ener.=.{........xdg_surface_conf |
| 9cc0 | 69 67 75 72 65 7d 3b 00 00 00 00 00 00 00 46 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 69 73 | igure};.......Fstatic.void.regis |
| 9ce0 | 74 72 79 5f 68 61 6e 64 6c 65 72 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 | try_handler(void.*data,.struct.w |
| 9d00 | 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 69 73 74 72 79 2c 00 00 00 40 20 20 20 20 20 20 20 | l_registry.*registry,...@....... |
| 9d20 | 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 69 | ......................uint32_t.i |
| 9d40 | 64 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 6e 74 65 72 66 61 63 65 2c 00 00 00 30 20 20 20 | d,.const.char.*interface,...0... |
| 9d60 | 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 74 33 32 | ..........................uint32 |
| 9d80 | 5f 74 20 76 65 72 73 69 6f 6e 29 20 7b 00 00 00 30 20 20 69 66 20 28 73 74 72 63 6d 70 28 69 6e | _t.version).{...0..if.(strcmp(in |
| 9da0 | 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 3d 20 30 29 20 | terface,."wl_compositor").==.0). |
| 9dc0 | 7b 00 00 00 4d 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 | {...M....compositor.=.wl_registr |
| 9de0 | 79 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 69 64 2c 20 26 77 6c 5f 63 6f 6d 70 6f 73 69 | y_bind(registry,.id,.&wl_composi |
| 9e00 | 74 6f 72 5f 69 6e 74 65 72 66 61 63 65 2c 20 34 29 3b 00 00 00 30 20 20 7d 20 65 6c 73 65 20 69 | tor_interface,.4);...0..}.else.i |
| 9e20 | 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 68 6d 22 29 20 3d | f.(strcmp(interface,."wl_shm").= |
| 9e40 | 3d 20 30 29 20 7b 00 00 00 3f 20 20 20 20 73 68 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f | =.0).{...?....shm.=.wl_registry_ |
| 9e60 | 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 69 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 | bind(registry,.id,.&wl_shm_inter |
| 9e80 | 66 61 63 65 2c 20 31 29 3b 00 00 00 35 20 20 7d 20 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d 70 | face,.1);...5..}.else.if.(strcmp |
| 9ea0 | 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 3d 3d 20 30 29 | (interface,."xdg_wm_base").==.0) |
| 9ec0 | 20 7b 00 00 00 48 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 | .{...H....wm_base.=.wl_registry_ |
| 9ee0 | 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 69 64 2c 20 26 78 64 67 5f 77 6d 5f 62 61 73 65 5f | bind(registry,.id,.&xdg_wm_base_ |
| 9f00 | 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 3f 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 | interface,.1);...?....xdg_wm_bas |
| 9f20 | 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 73 65 | e_add_listener(wm_base,.&wm_base |
| 9f40 | 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 | _listener,.NULL);......}....}... |
| 9f60 | 00 00 00 00 4f 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 | ....Ostatic.const.struct.wl_regi |
| 9f80 | 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. |
| 9fa0 | 3d 20 7b 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 2c 00 00 00 44 20 20 20 20 20 20 20 20 | =.{registry_handler,...D........ |
| 9fc0 | 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 | ................................ |
| 9fe0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 55 4c 4c 7d 3b 00 00 00 00 | ......................NULL};.... |
| a000 | 00 00 00 26 2f 2f 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | ...&//.------------------------- |
| a020 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 00 00 00 0e 2f 2f 20 53 48 4d 20 68 65 6c 70 65 72 73 00 00 00 26 | ----------....//.SHM.helpers...& |
| a040 | 2f 2f 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | //.----------------------------- |
| a060 | 2d 2d 2d 2d 2d 2d 00 00 00 29 73 74 61 74 69 63 20 69 6e 74 20 63 72 65 61 74 65 5f 73 68 6d 5f | ------...)static.int.create_shm_ |
| a080 | 66 69 6c 65 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 2e 20 20 63 68 61 72 20 74 65 | file(size_t.size).{......char.te |
| a0a0 | 6d 70 6c 61 74 65 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 61 79 6c 61 6e 64 2d 73 68 6d 2d 58 58 58 | mplate[].=."/tmp/wayland-shm-XXX |
| a0c0 | 58 58 58 22 3b 00 00 00 1d 20 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 65 6d 70 | XXX";......int.fd.=.mkstemp(temp |
| a0e0 | 6c 61 74 65 29 3b 00 00 00 0f 20 20 69 66 20 28 66 64 20 3c 20 30 29 20 7b 00 00 00 16 20 20 20 | late);......if.(fd.<.0).{....... |
| a100 | 20 70 65 72 72 6f 72 28 22 6d 6b 73 74 65 6d 70 22 29 3b 00 00 00 0c 20 20 20 20 65 78 69 74 28 | .perror("mkstemp");........exit( |
| a120 | 31 29 3b 00 00 00 03 20 20 7d 00 00 00 13 20 20 75 6e 6c 69 6e 6b 28 74 65 6d 70 6c 61 74 65 29 | 1);......}......unlink(template) |
| a140 | 3b 00 00 00 20 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 73 69 7a 65 29 20 3c | ;......if.(ftruncate(fd,.size).< |
| a160 | 20 30 29 20 7b 00 00 00 18 20 20 20 20 70 65 72 72 6f 72 28 22 66 74 72 75 6e 63 61 74 65 22 29 | .0).{........perror("ftruncate") |
| a180 | 3b 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 03 20 20 7d 00 00 00 0c 20 20 72 65 | ;........exit(1);......}......re |
| a1a0 | 74 75 72 6e 20 66 64 3b 00 00 00 01 7d 00 00 00 00 00 00 00 26 2f 2f 20 2d 2d 2d 2d 2d 2d 2d 2d | turn.fd;....}.......&//.-------- |
| a1c0 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 00 00 00 07 2f | ---------------------------..../ |
| a1e0 | 2f 20 4d 61 69 6e 00 00 00 26 2f 2f 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | /.Main...&//.------------------- |
| a200 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 00 00 00 0c 69 6e 74 20 6d 61 69 6e 28 29 20 7b | ----------------....int.main().{ |
| a220 | 00 00 00 25 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 | ...%..display.=.wl_display_conne |
| a240 | 63 74 28 4e 55 4c 4c 29 3b 00 00 00 11 20 20 69 66 20 28 21 64 69 73 70 6c 61 79 29 20 7b 00 00 | ct(NULL);......if.(!display).{.. |
| a260 | 00 3e 20 20 20 20 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 46 61 69 6c 65 64 20 74 6f | .>....fprintf(stderr,."Failed.to |
| a280 | 20 63 6f 6e 6e 65 63 74 20 74 6f 20 57 61 79 6c 61 6e 64 20 64 69 73 70 6c 61 79 5c 6e 22 29 3b | .connect.to.Wayland.display\n"); |
| a2a0 | 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 2e | ........return.1;......}........ |
| a2c0 | 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 65 67 69 | ..registry.=.wl_display_get_regi |
| a2e0 | 73 74 72 79 28 64 69 73 70 6c 61 79 29 3b 00 00 00 3f 20 20 77 6c 5f 72 65 67 69 73 74 72 79 5f | stry(display);...?..wl_registry_ |
| a300 | 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 69 73 74 72 79 | add_listener(registry,.®istry |
| a320 | 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 20 20 20 77 6c 5f 64 69 73 70 6c 61 | _listener,.NULL);......wl_displa |
| a340 | 79 5f 72 6f 75 6e 64 74 72 69 70 28 64 69 73 70 6c 61 79 29 3b 00 00 00 00 00 00 00 28 20 20 69 | y_roundtrip(display);.......(..i |
| a360 | 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 62 61 | f.(!compositor.||.!shm.||.!wm_ba |
| a380 | 73 65 29 20 7b 00 00 00 3a 20 20 20 20 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 4d 69 | se).{...:....fprintf(stderr,."Mi |
| a3a0 | 73 73 69 6e 67 20 72 65 71 75 69 72 65 64 20 57 61 79 6c 61 6e 64 20 67 6c 6f 62 61 6c 73 5c 6e | ssing.required.Wayland.globals\n |
| a3c0 | 22 29 3b 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 03 20 20 7d 00 00 00 00 00 | ");........return.1;......}..... |
| a3e0 | 00 00 13 20 20 2f 2f 20 43 72 65 61 74 65 20 73 75 72 66 61 63 65 00 00 00 35 20 20 73 75 72 66 | .....//.Create.surface...5..surf |
| a400 | 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 61 | ace.=.wl_compositor_create_surfa |
| a420 | 63 65 28 63 6f 6d 70 6f 73 69 74 6f 72 29 3b 00 00 00 3e 20 20 78 64 67 5f 73 75 72 66 61 63 65 | ce(compositor);...>..xdg_surface |
| a440 | 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 |
| a460 | 6d 5f 62 61 73 65 2c 20 73 75 72 66 61 63 65 29 3b 00 00 00 45 20 20 78 64 67 5f 73 75 72 66 61 | m_base,.surface);...E..xdg_surfa |
| a480 | 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 78 64 | ce_add_listener(xdg_surface,.&xd |
| a4a0 | 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 33 20 20 | g_surface_listener,.NULL);...3.. |
| a4c0 | 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 6c 65 | toplevel.=.xdg_surface_get_tople |
| a4e0 | 76 65 6c 28 78 64 67 5f 73 75 72 66 61 63 65 29 3b 00 00 00 1d 20 20 77 6c 5f 73 75 72 66 61 63 | vel(xdg_surface);......wl_surfac |
| a500 | 65 5f 63 6f 6d 6d 69 74 28 73 75 72 66 61 63 65 29 3b 00 00 00 20 20 20 77 6c 5f 64 69 73 70 6c | e_commit(surface);......wl_displ |
| a520 | 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 00 00 00 00 16 20 20 | ay_roundtrip(display);.......... |
| a540 | 2f 2f 20 43 72 65 61 74 65 20 53 48 4d 20 62 75 66 66 65 72 00 00 00 19 20 20 69 6e 74 20 73 74 | //.Create.SHM.buffer......int.st |
| a560 | 72 69 64 65 20 3d 20 57 49 44 54 48 20 2a 20 34 3b 00 00 00 1d 20 20 69 6e 74 20 73 69 7a 65 20 | ride.=.WIDTH.*.4;......int.size. |
| a580 | 3d 20 73 74 72 69 64 65 20 2a 20 48 45 49 47 48 54 3b 00 00 00 21 20 20 69 6e 74 20 66 64 20 3d | =.stride.*.HEIGHT;...!..int.fd.= |
| a5a0 | 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 4b 20 20 76 6f 69 | .create_shm_file(size);...K..voi |
| a5c0 | 64 20 2a 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 | d.*data.=.mmap(NULL,.size,.PROT_ |
| a5e0 | 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 44 2c 20 66 | READ.|.PROT_WRITE,.MAP_SHARED,.f |
| a600 | 64 2c 20 30 29 3b 00 00 00 1b 20 20 69 66 20 28 64 61 74 61 20 3d 3d 20 4d 41 50 5f 46 41 49 4c | d,.0);......if.(data.==.MAP_FAIL |
| a620 | 45 44 29 20 7b 00 00 00 13 20 20 20 20 70 65 72 72 6f 72 28 22 6d 6d 61 70 22 29 3b 00 00 00 0c | ED).{........perror("mmap");.... |
| a640 | 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 20 20 20 2f 2f 20 | ....exit(1);......}..........//. |
| a660 | 46 69 6c 6c 20 62 75 66 66 65 72 20 77 69 74 68 20 73 6f 6c 69 64 20 62 6c 75 65 00 00 00 1a 20 | Fill.buffer.with.solid.blue..... |
| a680 | 20 75 69 6e 74 33 32 5f 74 20 2a 70 69 78 65 6c 73 20 3d 20 64 61 74 61 3b 00 00 00 2a 20 20 66 | .uint32_t.*pixels.=.data;...*..f |
| a6a0 | 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 57 49 44 54 48 20 2a 20 48 45 49 47 48 | or.(int.i.=.0;.i.<.WIDTH.*.HEIGH |
| a6c0 | 54 3b 20 69 2b 2b 29 00 00 00 31 20 20 20 20 70 69 78 65 6c 73 5b 69 5d 20 3d 20 30 78 66 66 30 | T;.i++)...1....pixels[i].=.0xff0 |
| a6e0 | 30 30 30 66 66 3b 20 2f 2f 20 41 52 47 42 20 3d 20 6f 70 61 71 75 65 20 62 6c 75 65 00 00 00 00 | 000ff;.//.ARGB.=.opaque.blue.... |
| a700 | 00 00 00 3f 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 | ...?..struct.wl_shm_pool.*pool.= |
| a720 | 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 |
| a740 | 65 29 3b 00 00 00 37 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 | e);...7..struct.wl_buffer.*buffe |
| a760 | 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 00 00 | r.=.wl_shm_pool_create_buffer(.. |
| a780 | 00 3e 20 20 20 20 20 20 70 6f 6f 6c 2c 20 30 2c 20 57 49 44 54 48 2c 20 48 45 49 47 48 54 2c 20 | .>......pool,.0,.WIDTH,.HEIGHT,. |
| a7a0 | 73 74 72 69 64 65 2c 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b | stride,.WL_SHM_FORMAT_ARGB8888); |
| a7c0 | 00 00 00 00 00 00 00 2b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 73 75 72 66 | .......+..wl_surface_attach(surf |
| a7e0 | 61 63 65 2c 20 62 75 66 66 65 72 2c 20 30 2c 20 30 29 3b 00 00 00 1d 20 20 77 6c 5f 73 75 72 66 | ace,.buffer,.0,.0);......wl_surf |
| a800 | 61 63 65 5f 63 6f 6d 6d 69 74 28 73 75 72 66 61 63 65 29 3b 00 00 00 00 00 00 00 33 20 20 74 6f | ace_commit(surface);.......3..to |
| a820 | 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 |
| a840 | 6c 28 78 64 67 5f 73 75 72 66 61 63 65 29 3b 00 00 00 40 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 | l(xdg_surface);...@..xdg_topleve |
| a860 | 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 65 76 | l_add_listener(toplevel,.&toplev |
| a880 | 65 6c 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 00 00 00 00 49 20 20 73 74 61 | el_listener,.NULL);.......I..sta |
| a8a0 | 74 69 63 20 76 6f 69 64 20 74 6f 70 6c 65 76 65 6c 5f 63 6c 6f 73 65 28 76 6f 69 64 20 2a 64 61 | tic.void.toplevel_close(void.*da |
| a8c0 | 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 65 | ta,.struct.xdg_toplevel.*topleve |
| a8e0 | 6c 29 20 7b 00 00 00 10 20 20 20 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 00 00 00 03 20 20 7d 00 | l).{........running.=.0;......}. |
| a900 | 00 00 00 00 00 00 3c 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 78 64 67 5f 74 6f 70 6c 65 76 | ......<..static.const.xdg_toplev |
| a920 | 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 3d 20 | el_listener.toplevel_listener.=. |
| a940 | 7b 7d 3b 00 00 00 00 00 00 00 0b 20 20 72 65 74 75 72 6e 20 30 3b 00 00 00 01 7d 35 81 f5 18 00 | {};..........return.0;....}5.... |
| a960 | 00 00 00 00 00 00 00 00 00 00 00 8a 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a980 | 00 00 00 f8 0f 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 1d 00 00 00 1f 00 | ...................5._.......... |
| a9a0 | 00 00 00 00 00 00 00 00 00 00 1e 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff 00 03 00 00 00 | ................................ |
| a9c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a9e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| aa00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| aa20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| aa40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| aa60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| aa80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| aaa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| aac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| aae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ab00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d 6b ff 04 01 00 | .........................i.k.... |
| ab20 | 00 00 00 00 f5 18 00 00 00 7f 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 7d f5 18 00 00 00 | ..........................}..... |
| ab40 | 80 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 7c 00 00 00 00 00 00 00 00 00 00 00 01 00 | ..................|............. |
| ab60 | 00 00 2a 20 20 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 | ..*....while.(running.&&.wl_disp |
| ab80 | 6c 61 79 5f 64 69 73 70 61 74 63 68 28 f5 18 00 00 00 7d 00 00 00 00 00 00 00 00 00 00 00 00 f5 | lay_dispatch(.....}............. |
| aba0 | 18 00 00 00 6f 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 f5 18 00 00 00 70 00 00 00 00 00 | ....o.....................p..... |
| abc0 | 00 00 00 00 00 00 00 f5 18 00 00 00 48 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 f5 18 00 | ............H................... |
| abe0 | 00 00 49 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 | ..I............................. |
| ac00 | 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........ |
| ac20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ...............H................ |
| ac40 | 00 00 00 00 00 00 00 00 09 00 00 00 00 00 00 f5 18 00 00 00 00 48 00 00 00 00 00 00 00 00 00 00 | .....................H.......... |
| ac60 | 00 00 00 00 00 27 00 00 00 00 00 00 00 00 09 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 00 | .....'.......................... |
| ac80 | 00 00 00 00 00 f5 18 00 00 00 00 6f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0d 00 00 00 2a | ...........o...................* |
| aca0 | 00 00 00 00 0e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 | ................................ |
| acc0 | 00 7c 00 00 00 2a 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 01 00 00 00 00 10 00 00 00 00 00 | .|...*.......................... |
| ace0 | 00 00 00 00 00 00 00 00 00 1d 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 1e 00 00 00 20 00 00 00 | .................5._............ |
| ad00 | 00 00 00 00 00 00 00 00 1f 00 00 00 80 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 | ................................ |
| ad20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ad40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ad60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ad80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ada0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| adc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ade0 | 00 00 00 00 00 00 00 00 00 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 69 9d 6c 00 04 01 00 00 00 | .......................i.l...... |
| ae80 | 0c 00 f5 18 00 00 00 00 00 00 00 94 00 00 00 80 00 00 00 7f 00 00 00 1b 23 69 6e 63 6c 75 64 65 | ........................#include |
| aea0 | 20 3c 77 61 79 6c 61 6e 64 2d 63 6c 69 65 6e 74 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 | .<wayland-client.h>....#include. |
| aec0 | 3c 73 79 73 2f 6d 6d 61 6e 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 75 6e 69 73 74 64 | <sys/mman.h>....#include.<unistd |
| aee0 | 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 13 23 69 6e | .h>....#include.<fcntl.h>....#in |
| af00 | 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 65 20 3c 73 74 | clude.<string.h>....#include.<st |
| af20 | 64 6c 69 62 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6f 2e 68 3e 00 00 00 | dlib.h>....#include.<stdio.h>... |
| af40 | 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 |
| af60 | 6f 63 6f 6c 2e 68 22 00 00 00 00 00 00 00 1b 73 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 | ocol.h"........struct.wl_display |
| af80 | 20 2a 64 69 73 70 6c 61 79 3b 00 00 00 1d 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 | .*display;....struct.wl_registry |
| afa0 | 20 2a 72 65 67 69 73 74 72 79 3b 00 00 00 21 73 74 72 75 63 74 20 77 6c 5f 63 6f 6d 70 6f 73 69 | .*registry;...!struct.wl_composi |
| afc0 | 74 6f 72 20 2a 63 6f 6d 70 6f 73 69 74 6f 72 3b 00 00 00 13 73 74 72 75 63 74 20 77 6c 5f 73 68 | tor.*compositor;....struct.wl_sh |
| afe0 | 6d 20 2a 73 68 6d 3b 00 00 00 1c 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 | m.*shm;....struct.xdg_wm_base.*w |
| b000 | 6d 5f 62 61 73 65 3b 00 00 00 1b 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 | m_base;....struct.wl_surface.*su |
| b020 | 72 66 61 63 65 3b 00 00 00 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 64 | rface;....struct.xdg_surface.*xd |
| b040 | 67 5f 73 75 72 66 61 63 65 3b 00 00 00 1e 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 | g_surface;....struct.xdg_topleve |
| b060 | 6c 20 2a 74 6f 70 6c 65 76 65 6c 3b 00 00 00 00 00 00 00 0e 2f 2f 20 57 69 6e 64 6f 77 20 73 69 | l.*toplevel;........//.Window.si |
| b080 | 7a 65 00 00 00 16 63 6f 6e 73 74 20 69 6e 74 20 57 49 44 54 48 20 3d 20 33 30 30 3b 00 00 00 17 | ze....const.int.WIDTH.=.300;.... |
| b0a0 | 63 6f 6e 73 74 20 69 6e 74 20 48 45 49 47 48 54 20 3d 20 32 30 30 3b 00 00 00 00 00 00 00 0f 2f | const.int.HEIGHT.=.200;......../ |
| b0c0 | 2f 20 52 75 6e 6e 69 6e 67 20 66 6c 61 67 00 00 00 10 69 6e 74 20 72 75 6e 6e 69 6e 67 20 3d 20 | /.Running.flag....int.running.=. |
| b0e0 | 31 3b 00 00 00 00 00 00 00 22 2f 2f 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | 1;......."//.------------------- |
| b100 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 00 00 00 13 2f 2f 20 57 61 79 6c 61 6e 64 20 68 61 6e 64 6c | ------------....//.Wayland.handl |
| b120 | 65 72 73 00 00 00 22 2f 2f 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | ers..."//.---------------------- |
| b140 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 00 00 00 00 00 00 00 0f 2f 2f 20 50 69 6e 67 20 68 61 6e 64 6c 65 72 | ---------........//.Ping.handler |
| b160 | 00 00 00 54 73 74 61 74 69 63 20 76 6f 69 64 20 77 6d 5f 62 61 73 65 5f 70 69 6e 67 28 76 6f 69 | ...Tstatic.void.wm_base_ping(voi |
| b180 | 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 20 2a 77 6d 5f | d.*data,.struct.xdg_wm_base.*wm_ |
| b1a0 | 62 61 73 65 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 26 20 20 20 20 | base,.uint32_t.serial).{...&.... |
| b1c0 | 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 5f 62 61 73 65 2c 20 73 65 72 69 61 6c | xdg_wm_base_pong(wm_base,.serial |
| b1e0 | 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4d 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 | );....}.......Mstatic.const.stru |
| b200 | 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_ |
| b220 | 6c 69 73 74 65 6e 65 72 20 3d 20 7b 20 77 6d 5f 62 61 73 65 5f 70 69 6e 67 20 7d 3b 00 00 00 00 | listener.=.{.wm_base_ping.};.... |
| b240 | 00 00 00 14 2f 2f 20 43 6f 6e 66 69 67 75 72 65 20 68 61 6e 64 6c 65 72 00 00 00 61 73 74 61 74 | ....//.Configure.handler...astat |
| b260 | 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 |
| b280 | 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 |
| b2a0 | 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 20 7b 00 00 00 | g_surface,.uint32_t.serial).{... |
| b2c0 | 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 65 28 78 | 3....xdg_surface_ack_configure(x |
| b2e0 | 64 67 5f 73 75 72 66 61 63 65 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 1f 20 20 20 20 77 6c 5f 73 | dg_surface,.serial);........wl_s |
| b300 | 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 00 | urface_commit(surface);....}.... |
| b320 | 00 00 00 5a 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 | ...Zstatic.const.struct.xdg_surf |
| b340 | 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 6e 65 | ace_listener.xdg_surface_listene |
| b360 | 72 20 3d 20 7b 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 | r.=.{.xdg_surface_configure.};.. |
| b380 | 00 00 00 00 00 19 2f 2f 20 54 6f 70 6c 65 76 65 6c 20 63 6c 6f 73 65 20 68 61 6e 64 6c 65 72 00 | ......//.Toplevel.close.handler. |
| b3a0 | 00 00 47 73 74 61 74 69 63 20 76 6f 69 64 20 74 6f 70 6c 65 76 65 6c 5f 63 6c 6f 73 65 28 76 6f | ..Gstatic.void.toplevel_close(vo |
| b3c0 | 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 74 | id.*data,.struct.xdg_toplevel.*t |
| b3e0 | 6f 70 6c 65 76 65 6c 29 20 7b 00 00 00 22 20 20 20 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 20 2f | oplevel).{..."....running.=.0;./ |
| b400 | 2f 20 65 78 69 74 20 6d 61 69 6e 20 6c 6f 6f 70 00 00 00 01 7d 00 00 00 00 00 00 00 51 73 74 61 | /.exit.main.loop....}.......Qsta |
| b420 | 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 6c 69 | tic.const.struct.xdg_toplevel_li |
| b440 | 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 20 74 6f 70 | stener.toplevel_listener.=.{.top |
| b460 | 6c 65 76 65 6c 5f 63 6c 6f 73 65 20 7d 3b 00 00 00 00 00 00 00 13 2f 2f 20 52 65 67 69 73 74 72 | level_close.};........//.Registr |
| b480 | 79 20 68 61 6e 64 6c 65 72 00 00 00 7e 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 69 73 74 72 | y.handler...~static.void.registr |
| b4a0 | 79 5f 68 61 6e 64 6c 65 72 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f | y_handler(void.*data,.struct.wl_ |
| b4c0 | 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 5f 74 20 69 64 2c | registry.*registry,.uint32_t.id, |
| b4e0 | 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 5f 74 | .const.char.*interface,.uint32_t |
| b500 | 20 76 65 72 73 69 6f 6e 29 20 7b 00 00 00 32 20 20 20 20 69 66 20 28 73 74 72 63 6d 70 28 69 6e | .version).{...2....if.(strcmp(in |
| b520 | 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 3d 20 30 29 20 | terface,."wl_compositor").==.0). |
| b540 | 7b 00 00 00 51 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 | {...Q........compositor.=.wl_reg |
| b560 | 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 69 64 2c 20 26 77 6c 5f 63 6f 6d | istry_bind(registry,.id,.&wl_com |
| b580 | 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....}. |
| b5a0 | 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 |
| b5c0 | 68 6d 22 29 20 3d 3d 20 30 29 20 7b 00 00 00 43 20 20 20 20 20 20 20 20 73 68 6d 20 3d 20 77 6c | hm").==.0).{...C........shm.=.wl |
| b5e0 | 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 69 64 2c 20 26 77 6c | _registry_bind(registry,.id,.&wl |
| b600 | 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 6c 73 | _shm_interface,.1);...7....}.els |
| b620 | 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 6d 5f | e.if.(strcmp(interface,."xdg_wm_ |
| b640 | 62 61 73 65 22 29 20 3d 3d 20 30 29 20 7b 00 00 00 4c 20 20 20 20 20 20 20 20 77 6d 5f 62 61 73 | base").==.0).{...L........wm_bas |
| b660 | 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 20 69 | e.=.wl_registry_bind(registry,.i |
| b680 | 64 2c 20 26 78 64 67 5f 77 6d 5f 62 61 73 65 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 | d,.&xdg_wm_base_interface,.1);.. |
| b6a0 | 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 73 74 65 6e | .C........xdg_wm_base_add_listen |
| b6c0 | 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 72 2c 20 4e | er(wm_base,.&wm_base_listener,.N |
| b6e0 | 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 58 73 74 61 74 69 | ULL);........}....}.......Xstati |
| b700 | 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 6c 69 73 74 65 | c.const.struct.wl_registry_liste |
| b720 | 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 20 72 65 67 69 73 74 | ner.registry_listener.=.{.regist |
| b740 | 72 79 5f 68 61 6e 64 6c 65 72 2c 20 4e 55 4c 4c 20 7d 3b 00 00 00 00 00 00 00 22 2f 2f 20 2d 2d | ry_handler,.NULL.};......."//.-- |
| b760 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 00 00 00 | -----------------------------... |
| b780 | 0e 2f 2f 20 53 48 4d 20 68 65 6c 70 65 72 73 00 00 00 22 2f 2f 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | .//.SHM.helpers..."//.---------- |
| b7a0 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 00 00 00 29 73 74 61 74 69 63 20 | ---------------------...)static. |
| b7c0 | 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 29 | int.create_shm_file(size_t.size) |
| b7e0 | 20 7b 00 00 00 30 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 | .{...0....char.template[].=."/tm |
| b800 | 70 2f 77 61 79 6c 61 6e 64 2d 73 68 6d 2d 58 58 58 58 58 58 22 3b 00 00 00 1f 20 20 20 20 69 6e | p/wayland-shm-XXXXXX";........in |
| b820 | 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 2f 20 20 20 | t.fd.=.mkstemp(template);.../... |
| b840 | 20 69 66 20 28 66 64 20 3c 20 30 29 20 7b 20 70 65 72 72 6f 72 28 22 6d 6b 73 74 65 6d 70 22 29 | .if.(fd.<.0).{.perror("mkstemp") |
| b860 | 3b 20 65 78 69 74 28 31 29 3b 20 7d 00 00 00 15 20 20 20 20 75 6e 6c 69 6e 6b 28 74 65 6d 70 6c | ;.exit(1);.}........unlink(templ |
| b880 | 61 74 65 29 3b 00 00 00 42 20 20 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 73 | ate);...B....if.(ftruncate(fd,.s |
| b8a0 | 69 7a 65 29 20 3c 20 30 29 20 7b 20 70 65 72 72 6f 72 28 22 66 74 72 75 6e 63 61 74 65 22 29 3b | ize).<.0).{.perror("ftruncate"); |
| b8c0 | 20 65 78 69 74 28 31 29 3b 20 7d 00 00 00 0e 20 20 20 20 72 65 74 75 72 6e 20 66 64 3b 00 00 00 | .exit(1);.}........return.fd;... |
| b8e0 | 01 7d 00 00 00 00 00 00 00 22 2f 2f 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | .}......."//.------------------- |
| b900 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 00 00 00 07 2f 2f 20 4d 61 69 6e 00 00 00 22 2f 2f 20 2d 2d | ------------....//.Main..."//.-- |
| b920 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 00 00 00 | -----------------------------... |
| b940 | 0c 69 6e 74 20 6d 61 69 6e 28 29 20 7b 00 00 00 19 20 20 20 20 2f 2f 20 43 6f 6e 6e 65 63 74 20 | .int.main().{........//.Connect. |
| b960 | 74 6f 20 57 61 79 6c 61 6e 64 00 00 00 27 20 20 20 20 64 69 73 70 6c 61 79 20 3d 20 77 6c 5f 64 | to.Wayland...'....display.=.wl_d |
| b980 | 69 73 70 6c 61 79 5f 63 6f 6e 6e 65 63 74 28 4e 55 4c 4c 29 3b 00 00 00 5a 20 20 20 20 69 66 20 | isplay_connect(NULL);...Z....if. |
| b9a0 | 28 21 64 69 73 70 6c 61 79 29 20 7b 20 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 46 61 | (!display).{.fprintf(stderr,."Fa |
| b9c0 | 69 6c 65 64 20 74 6f 20 63 6f 6e 6e 65 63 74 20 74 6f 20 57 61 79 6c 61 6e 64 20 64 69 73 70 6c | iled.to.connect.to.Wayland.displ |
| b9e0 | 61 79 5c 6e 22 29 3b 20 72 65 74 75 72 6e 20 31 3b 20 7d 00 00 00 00 00 00 00 24 20 20 20 20 2f | ay\n");.return.1;.}.......$..../ |
| ba00 | 2f 20 47 65 74 20 72 65 67 69 73 74 72 79 20 61 6e 64 20 62 69 6e 64 20 67 6c 6f 62 61 6c 73 00 | /.Get.registry.and.bind.globals. |
| ba20 | 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 79 5f 67 65 74 | ..0....registry.=.wl_display_get |
| ba40 | 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 77 6c 5f 72 65 | _registry(display);...A....wl_re |
| ba60 | 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 79 2c 20 26 72 | gistry_add_listener(registry,.&r |
| ba80 | 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 22 20 20 20 20 | egistry_listener,.NULL);...".... |
| baa0 | 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 79 29 3b 00 00 | wl_display_roundtrip(display);.. |
| bac0 | 00 00 00 00 00 2a 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 | .....*....if.(!compositor.||.!sh |
| bae0 | 6d 20 7c 7c 20 21 77 6d 5f 62 61 73 65 29 20 7b 00 00 00 3e 20 20 20 20 20 20 20 20 66 70 72 69 | m.||.!wm_base).{...>........fpri |
| bb00 | 6e 74 66 28 73 74 64 65 72 72 2c 20 22 4d 69 73 73 69 6e 67 20 72 65 71 75 69 72 65 64 20 57 61 | ntf(stderr,."Missing.required.Wa |
| bb20 | 79 6c 61 6e 64 20 67 6c 6f 62 61 6c 73 5c 6e 22 29 3b 00 00 00 11 20 20 20 20 20 20 20 20 72 65 | yland.globals\n");............re |
| bb40 | 74 75 72 6e 20 31 3b 00 00 00 05 20 20 20 20 7d 00 00 00 00 00 00 00 15 20 20 20 20 2f 2f 20 43 | turn.1;........}............//.C |
| bb60 | 72 65 61 74 65 20 73 75 72 66 61 63 65 00 00 00 37 20 20 20 20 73 75 72 66 61 63 65 20 3d 20 77 | reate.surface...7....surface.=.w |
| bb80 | 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 63 72 65 61 74 65 5f 73 75 72 66 61 63 65 28 63 6f 6d 70 | l_compositor_create_surface(comp |
| bba0 | 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 20 3d 20 78 64 | ositor);...@....xdg_surface.=.xd |
| bbc0 | 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 6d 5f 62 61 73 | g_wm_base_get_xdg_surface(wm_bas |
| bbe0 | 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 66 61 63 65 5f | e,.surface);...G....xdg_surface_ |
| bc00 | 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 78 64 67 5f 73 | add_listener(xdg_surface,.&xdg_s |
| bc20 | 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 00 00 00 00 35 20 | urface_listener,.NULL);.......5. |
| bc40 | 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 |
| bc60 | 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_ |
| bc80 | 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,. |
| bca0 | 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 00 00 00 | &toplevel_listener,.NULL);...... |
| bcc0 | 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) |
| bce0 | 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 |
| bd00 | 73 70 6c 61 79 29 3b 00 00 00 00 00 00 00 18 20 20 20 20 2f 2f 20 43 72 65 61 74 65 20 53 48 4d | splay);............//.Create.SHM |
| bd20 | 20 62 75 66 66 65 72 00 00 00 1b 20 20 20 20 69 6e 74 20 73 74 72 69 64 65 20 3d 20 57 49 44 54 | .buffer........int.stride.=.WIDT |
| bd40 | 48 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 20 | H.*.4;........int.size.=.stride. |
| bd60 | 2a 20 48 45 49 47 48 54 3b 00 00 00 23 20 20 20 20 69 6e 74 20 66 64 20 3d 20 63 72 65 61 74 65 | *.HEIGHT;...#....int.fd.=.create |
| bd80 | 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 29 3b 00 00 00 4d 20 20 20 20 76 6f 69 64 20 2a 64 61 | _shm_file(size);...M....void.*da |
| bda0 | 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 45 41 44 20 | ta.=.mmap(NULL,.size,.PROT_READ. |
| bdc0 | 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 2c 20 30 29 | |.PROT_WRITE,.MAP_SHARED,.fd,.0) |
| bde0 | 3b 00 00 00 38 20 20 20 20 69 66 20 28 64 61 74 61 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 | ;...8....if.(data.==.MAP_FAILED) |
| be00 | 20 7b 20 70 65 72 72 6f 72 28 22 6d 6d 61 70 22 29 3b 20 65 78 69 74 28 31 29 3b 20 7d 00 00 00 | .{.perror("mmap");.exit(1);.}... |
| be20 | 00 00 00 00 1c 20 20 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 69 78 65 6c 73 20 3d 20 64 61 74 61 | .........uint32_t.*pixels.=.data |
| be40 | 3b 00 00 00 2c 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 57 49 44 | ;...,....for.(int.i.=.0;.i.<.WID |
| be60 | 54 48 20 2a 20 48 45 49 47 48 54 3b 20 69 2b 2b 29 00 00 00 35 20 20 20 20 20 20 20 20 70 69 78 | TH.*.HEIGHT;.i++)...5........pix |
| be80 | 65 6c 73 5b 69 5d 20 3d 20 30 78 66 66 30 30 30 30 66 66 3b 20 2f 2f 20 41 52 47 42 20 3d 20 6f | els[i].=.0xff0000ff;.//.ARGB.=.o |
| bea0 | 70 61 71 75 65 20 62 6c 75 65 00 00 00 00 00 00 00 41 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f | paque.blue.......A....struct.wl_ |
| bec0 | 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 20 3d 20 77 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f 70 | shm_pool.*pool.=.wl_shm_create_p |
| bee0 | 6f 6f 6c 28 73 68 6d 2c 20 66 64 2c 20 73 69 7a 65 29 3b 00 00 00 71 20 20 20 20 73 74 72 75 63 | ool(shm,.fd,.size);...q....struc |
| bf00 | 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 66 65 72 20 3d 20 77 6c 5f 73 68 6d 5f 70 6f 6f | t.wl_buffer.*buffer.=.wl_shm_poo |
| bf20 | 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 57 49 44 54 48 2c 20 | l_create_buffer(pool,.0,.WIDTH,. |
| bf40 | 48 45 49 47 48 54 2c 20 73 74 72 69 64 65 2c 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 | HEIGHT,.stride,.WL_SHM_FORMAT_AR |
| bf60 | 47 42 38 38 38 38 29 3b 00 00 00 00 00 00 00 2d 20 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 | GB8888);.......-....wl_surface_a |
| bf80 | 74 74 61 63 68 28 73 75 72 66 61 63 65 2c 20 62 75 66 66 65 72 2c 20 30 2c 20 30 29 3b 00 00 00 | ttach(surface,.buffer,.0,.0);... |
| bfa0 | 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 3b | .....wl_surface_commit(surface); |
| bfc0 | 00 00 00 00 00 00 00 16 20 20 20 20 2f 2f 20 4d 61 69 6e 20 65 76 65 6e 74 20 6c 6f 6f 70 00 00 | ............//.Main.event.loop.. |
| bfe0 | 00 36 20 20 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 | .6....while.(running.&&.wl_displ |
| c000 | 61 79 5f 64 69 73 70 61 74 63 68 28 64 69 73 70 6c 61 79 29 29 20 7b 7d 00 00 00 00 00 00 00 0d | ay_dispatch(display)).{}........ |
| c020 | 20 20 20 20 72 65 74 75 72 6e 20 30 3b 35 81 f5 18 00 00 00 00 00 00 00 00 09 00 00 00 7e 00 00 | ....return.0;5...............~.. |
| c040 | 00 02 00 00 00 92 00 00 00 00 00 00 00 09 00 00 00 00 00 00 00 07 10 00 00 00 00 00 00 71 10 00 | .............................q.. |
| c060 | 00 00 00 00 00 35 81 5f d0 00 00 00 1f 00 00 00 21 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 | .....5._........!............... |
| c080 | 01 00 00 00 0b 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c0a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c0c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c0e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c1a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c1c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c1e0 | 00 00 00 00 00 00 00 00 00 00 00 69 9d 6c 35 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 | ...........i.l5................. |
| c200 | 00 00 00 00 00 00 00 94 00 00 00 26 23 69 6e 63 6c 75 64 65 20 22 78 64 67 2d 73 68 65 6c 6c 2d | ...........&#include."xdg-shell- |
| c220 | 63 6c 69 65 6e 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c | client-protocol.h"....#include.< |
| c240 | 66 63 6e 74 6c 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6f 2e 68 3e 00 00 | fcntl.h>....#include.<stdio.h>.. |
| c260 | 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 6c 69 62 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 | ..#include.<stdlib.h>....#includ |
| c280 | 65 20 3c 73 74 72 69 6e 67 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d | e.<string.h>....#include.<sys/mm |
| c2a0 | 61 6e 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 1b | an.h>....#include.<unistd.h>.... |
| c2c0 | 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 00 00 | #include.<wayland-client.h>..... |
| c2e0 | 00 00 1b 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 3b 00 00 | ...struct.wl_display.*display;.. |
| c300 | 00 1d 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 3b 00 | ..struct.wl_registry.*registry;. |
| c320 | 00 00 21 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 |
| c340 | 74 6f 72 3b 00 00 00 13 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d 3b 00 00 00 1c 73 | tor;....struct.wl_shm.*shm;....s |
| c360 | 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 3b 00 00 00 1b 73 | truct.xdg_wm_base.*wm_base;....s |
| c380 | 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 3b 00 00 00 20 73 74 | truct.wl_surface.*surface;....st |
| c3a0 | 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 3b 00 00 | ruct.xdg_surface.*xdg_surface;.. |
| c3c0 | 00 1e 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 3b | ..struct.xdg_toplevel.*toplevel; |
| c3e0 | 00 00 00 00 00 00 00 0e 2f 2f 20 57 69 6e 64 6f 77 20 73 69 7a 65 00 00 00 16 63 6f 6e 73 74 20 | ........//.Window.size....const. |
| c400 | 69 6e 74 20 57 49 44 54 48 20 3d 20 33 30 30 3b 00 00 00 17 63 6f 6e 73 74 20 69 6e 74 20 48 45 | int.WIDTH.=.300;....const.int.HE |
| c420 | 49 47 48 54 20 3d 20 32 30 30 3b 00 00 00 00 00 00 00 0f 2f 2f 20 52 75 6e 6e 69 6e 67 20 66 6c | IGHT.=.200;........//.Running.fl |
| c440 | 61 67 00 00 00 10 69 6e 74 20 72 75 6e 6e 69 6e 67 20 3d 20 31 3b 00 00 00 00 00 00 00 22 2f 2f | ag....int.running.=.1;......."// |
| c460 | 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | .------------------------------- |
| c480 | 00 00 00 13 2f 2f 20 57 61 79 6c 61 6e 64 20 68 61 6e 64 6c 65 72 73 00 00 00 22 2f 2f 20 2d 2d | ....//.Wayland.handlers..."//.-- |
| c4a0 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 00 00 00 | -----------------------------... |
| c4c0 | 00 00 00 00 0f 2f 2f 20 50 69 6e 67 20 68 61 6e 64 6c 65 72 00 00 00 41 73 74 61 74 69 63 20 76 | .....//.Ping.handler...Astatic.v |
| c4e0 | 6f 69 64 20 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 | oid.wm_base_ping(void.*data,.str |
| c500 | 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 5f 62 61 73 65 2c 00 00 00 2b 20 20 20 | uct.xdg_wm_base.*wm_base,...+... |
| c520 | 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 |
| c540 | 65 72 69 61 6c 29 20 7b 00 00 00 24 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 | erial).{...$..xdg_wm_base_pong(w |
| c560 | 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 4b 73 74 61 | m_base,.serial);....}.......Ksta |
| c580 | 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 |
| c5a0 | 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 77 6d 5f 62 61 73 | tener.wm_base_listener.=.{wm_bas |
| c5c0 | 65 5f 70 69 6e 67 7d 3b 00 00 00 00 00 00 00 14 2f 2f 20 43 6f 6e 66 69 67 75 72 65 20 68 61 6e | e_ping};........//.Configure.han |
| c5e0 | 64 6c 65 72 00 00 00 4e 73 74 61 74 69 63 20 76 6f 69 64 20 78 64 67 5f 73 75 72 66 61 63 65 5f | dler...Nstatic.void.xdg_surface_ |
| c600 | 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 20 78 64 67 | configure(void.*data,.struct.xdg |
| c620 | 5f 73 75 72 66 61 63 65 20 2a 78 64 67 5f 73 75 72 66 61 63 65 2c 00 00 00 34 20 20 20 20 20 20 | _surface.*xdg_surface,...4...... |
| c640 | 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 6e 74 | ............................uint |
| c660 | 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 31 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f | 32_t.serial).{...1..xdg_surface_ |
| c680 | 61 63 6b 5f 63 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 | ack_configure(xdg_surface,.seria |
| c6a0 | 6c 29 3b 00 00 00 1d 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 | l);......wl_surface_commit(surfa |
| c6c0 | 63 65 29 3b 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 | ce);....}.......Astatic.const.st |
| c6e0 | 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 |
| c700 | 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 1b 20 20 20 20 78 64 67 5f 73 75 | rface_listener.=.{........xdg_su |
| c720 | 72 66 61 63 65 5f 63 6f 6e 66 69 67 75 72 65 7d 3b 00 00 00 00 00 00 00 19 2f 2f 20 54 6f 70 6c | rface_configure};........//.Topl |
| c740 | 65 76 65 6c 20 63 6c 6f 73 65 20 68 61 6e 64 6c 65 72 00 00 00 47 73 74 61 74 69 63 20 76 6f 69 | evel.close.handler...Gstatic.voi |
| c760 | 64 20 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 | d.toplevel_close(void.*data,.str |
| c780 | 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 20 7b 00 00 00 | uct.xdg_toplevel.*toplevel).{... |
| c7a0 | 20 20 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 20 2f 2f 20 65 78 69 74 20 6d 61 69 6e 20 6c 6f 6f | ...running.=.0;.//.exit.main.loo |
| c7c0 | 70 00 00 00 01 7d 00 00 00 00 00 00 00 4f 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 | p....}.......Ostatic.const.struc |
| c7e0 | 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 74 6f 70 6c 65 76 65 6c | t.xdg_toplevel_listener.toplevel |
| c800 | 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 74 6f 70 6c 65 76 65 6c 5f 63 6c 6f 73 65 7d 3b 00 00 00 | _listener.=.{toplevel_close};... |
| c820 | 00 00 00 00 13 2f 2f 20 52 65 67 69 73 74 72 79 20 68 61 6e 64 6c 65 72 00 00 00 46 73 74 61 74 | .....//.Registry.handler...Fstat |
| c840 | 69 63 20 76 6f 69 64 20 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 28 76 6f 69 64 20 2a 64 | ic.void.registry_handler(void.*d |
| c860 | 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 69 73 74 72 | ata,.struct.wl_registry.*registr |
| c880 | 79 2c 00 00 00 40 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 | y,...@.......................... |
| c8a0 | 20 20 20 75 69 6e 74 33 32 5f 74 20 69 64 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 6e 74 65 | ...uint32_t.id,.const.char.*inte |
| c8c0 | 72 66 61 63 65 2c 00 00 00 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | rface,...0...................... |
| c8e0 | 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 76 65 72 73 69 6f 6e 29 20 7b 00 00 00 30 20 20 | .......uint32_t.version).{...0.. |
| c900 | 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 |
| c920 | 69 74 6f 72 22 29 20 3d 3d 20 30 29 20 7b 00 00 00 4d 20 20 20 20 63 6f 6d 70 6f 73 69 74 6f 72 | itor").==.0).{...M....compositor |
| c940 | 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 69 64 | .=.wl_registry_bind(registry,.id |
| c960 | 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 34 29 3b 00 | ,.&wl_compositor_interface,.4);. |
| c980 | 00 00 30 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 | ..0..}.else.if.(strcmp(interface |
| c9a0 | 2c 20 22 77 6c 5f 73 68 6d 22 29 20 3d 3d 20 30 29 20 7b 00 00 00 3f 20 20 20 20 73 68 6d 20 3d | ,."wl_shm").==.0).{...?....shm.= |
| c9c0 | 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 69 64 2c 20 | .wl_registry_bind(registry,.id,. |
| c9e0 | 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 35 20 20 7d 20 65 6c | &wl_shm_interface,.1);...5..}.el |
| ca00 | 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 6d | se.if.(strcmp(interface,."xdg_wm |
| ca20 | 5f 62 61 73 65 22 29 20 3d 3d 20 30 29 20 7b 00 00 00 48 20 20 20 20 77 6d 5f 62 61 73 65 20 3d | _base").==.0).{...H....wm_base.= |
| ca40 | 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 69 64 2c 20 | .wl_registry_bind(registry,.id,. |
| ca60 | 26 78 64 67 5f 77 6d 5f 62 61 73 65 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 3f 20 | &xdg_wm_base_interface,.1);...?. |
| ca80 | 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 5f 62 | ...xdg_wm_base_add_listener(wm_b |
| caa0 | 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 00 00 | ase,.&wm_base_listener,.NULL);.. |
| cac0 | 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 4f 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 | ....}....}.......Ostatic.const.s |
| cae0 | 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 |
| cb00 | 74 72 79 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 | try_listener.=.{registry_handler |
| cb20 | 2c 00 00 00 44 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ,...D........................... |
| cb40 | 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 | ................................ |
| cb60 | 20 20 20 4e 55 4c 4c 7d 3b 00 00 00 00 00 00 00 22 2f 2f 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | ...NULL};......."//.------------ |
| cb80 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 00 00 00 0e 2f 2f 20 53 48 4d 20 68 65 | -------------------....//.SHM.he |
| cba0 | 6c 70 65 72 73 00 00 00 22 2f 2f 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | lpers..."//.-------------------- |
| cbc0 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 00 00 00 29 73 74 61 74 69 63 20 69 6e 74 20 63 72 65 61 74 65 | -----------...)static.int.create |
| cbe0 | 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 2e 20 20 63 68 | _shm_file(size_t.size).{......ch |
| cc00 | 61 72 20 74 65 6d 70 6c 61 74 65 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 61 79 6c 61 6e 64 2d 73 68 | ar.template[].=."/tmp/wayland-sh |
| cc20 | 6d 2d 58 58 58 58 58 58 22 3b 00 00 00 1d 20 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 | m-XXXXXX";......int.fd.=.mkstemp |
| cc40 | 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 0f 20 20 69 66 20 28 66 64 20 3c 20 30 29 20 7b 00 00 | (template);......if.(fd.<.0).{.. |
| cc60 | 00 16 20 20 20 20 70 65 72 72 6f 72 28 22 6d 6b 73 74 65 6d 70 22 29 3b 00 00 00 0c 20 20 20 20 | ......perror("mkstemp");........ |
| cc80 | 65 78 69 74 28 31 29 3b 00 00 00 03 20 20 7d 00 00 00 13 20 20 75 6e 6c 69 6e 6b 28 74 65 6d 70 | exit(1);......}......unlink(temp |
| cca0 | 6c 61 74 65 29 3b 00 00 00 20 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 73 69 | late);......if.(ftruncate(fd,.si |
| ccc0 | 7a 65 29 20 3c 20 30 29 20 7b 00 00 00 18 20 20 20 20 70 65 72 72 6f 72 28 22 66 74 72 75 6e 63 | ze).<.0).{........perror("ftrunc |
| cce0 | 61 74 65 22 29 3b 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 03 20 20 7d 00 00 00 | ate");........exit(1);......}... |
| cd00 | 0c 20 20 72 65 74 75 72 6e 20 66 64 3b 00 00 00 01 7d 00 00 00 00 00 00 00 22 2f 2f 20 2d 2d 2d | ...return.fd;....}......."//.--- |
| cd20 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 00 00 00 07 | ----------------------------.... |
| cd40 | 2f 2f 20 4d 61 69 6e 00 00 00 22 2f 2f 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | //.Main..."//.------------------ |
| cd60 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 00 00 00 0c 69 6e 74 20 6d 61 69 6e 28 29 20 7b 00 00 00 | -------------....int.main().{... |
| cd80 | 17 20 20 2f 2f 20 43 6f 6e 6e 65 63 74 20 74 6f 20 57 61 79 6c 61 6e 64 00 00 00 25 20 20 64 69 | ...//.Connect.to.Wayland...%..di |
| cda0 | 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 4c 29 | splay.=.wl_display_connect(NULL) |
| cdc0 | 3b 00 00 00 11 20 20 69 66 20 28 21 64 69 73 70 6c 61 79 29 20 7b 00 00 00 3e 20 20 20 20 66 70 | ;......if.(!display).{...>....fp |
| cde0 | 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 46 61 69 6c 65 64 20 74 6f 20 63 6f 6e 6e 65 63 74 | rintf(stderr,."Failed.to.connect |
| ce00 | 20 74 6f 20 57 61 79 6c 61 6e 64 20 64 69 73 70 6c 61 79 5c 6e 22 29 3b 00 00 00 0d 20 20 20 20 | .to.Wayland.display\n");........ |
| ce20 | 72 65 74 75 72 6e 20 31 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 22 20 20 2f 2f 20 47 65 74 | return.1;......}......."..//.Get |
| ce40 | 20 72 65 67 69 73 74 72 79 20 61 6e 64 20 62 69 6e 64 20 67 6c 6f 62 61 6c 73 00 00 00 2e 20 20 | .registry.and.bind.globals...... |
| ce60 | 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 65 67 69 73 74 | registry.=.wl_display_get_regist |
| ce80 | 72 79 28 64 69 73 70 6c 61 79 29 3b 00 00 00 3f 20 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 61 64 | ry(display);...?..wl_registry_ad |
| cea0 | 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 69 73 74 72 79 5f 6c | d_listener(registry,.®istry_l |
| cec0 | 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f | istener,.NULL);......wl_display_ |
| cee0 | 72 6f 75 6e 64 74 72 69 70 28 64 69 73 70 6c 61 79 29 3b 00 00 00 00 00 00 00 28 20 20 69 66 20 | roundtrip(display);.......(..if. |
| cf00 | 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 65 | (!compositor.||.!shm.||.!wm_base |
| cf20 | 29 20 7b 00 00 00 3a 20 20 20 20 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 4d 69 73 73 | ).{...:....fprintf(stderr,."Miss |
| cf40 | 69 6e 67 20 72 65 71 75 69 72 65 64 20 57 61 79 6c 61 6e 64 20 67 6c 6f 62 61 6c 73 5c 6e 22 29 | ing.required.Wayland.globals\n") |
| cf60 | 3b 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 | ;........return.1;......}....... |
| cf80 | 13 20 20 2f 2f 20 43 72 65 61 74 65 20 73 75 72 66 61 63 65 00 00 00 35 20 20 73 75 72 66 61 63 | ...//.Create.surface...5..surfac |
| cfa0 | 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 |
| cfc0 | 28 63 6f 6d 70 6f 73 69 74 6f 72 29 3b 00 00 00 3e 20 20 78 64 67 5f 73 75 72 66 61 63 65 20 3d | (compositor);...>..xdg_surface.= |
| cfe0 | 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 6d 5f | .xdg_wm_base_get_xdg_surface(wm_ |
| d000 | 62 61 73 65 2c 20 73 75 72 66 61 63 65 29 3b 00 00 00 45 20 20 78 64 67 5f 73 75 72 66 61 63 65 | base,.surface);...E..xdg_surface |
| d020 | 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 78 64 67 5f | _add_listener(xdg_surface,.&xdg_ |
| d040 | 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 00 00 00 00 33 | surface_listener,.NULL);.......3 |
| d060 | 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 |
| d080 | 6c 65 76 65 6c 28 78 64 67 5f 73 75 72 66 61 63 65 29 3b 00 00 00 40 20 20 78 64 67 5f 74 6f 70 | level(xdg_surface);...@..xdg_top |
| d0a0 | 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 74 6f | level_add_listener(toplevel,.&to |
| d0c0 | 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 00 00 00 00 1d 20 | plevel_listener,.NULL);......... |
| d0e0 | 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 00 00 20 | .wl_surface_commit(surface);.... |
| d100 | 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 79 29 3b | ..wl_display_roundtrip(display); |
| d120 | 00 00 00 00 00 00 00 16 20 20 2f 2f 20 43 72 65 61 74 65 20 53 48 4d 20 62 75 66 66 65 72 00 00 | ..........//.Create.SHM.buffer.. |
| d140 | 00 19 20 20 69 6e 74 20 73 74 72 69 64 65 20 3d 20 57 49 44 54 48 20 2a 20 34 3b 00 00 00 1d 20 | ....int.stride.=.WIDTH.*.4;..... |
| d160 | 20 69 6e 74 20 73 69 7a 65 20 3d 20 73 74 72 69 64 65 20 2a 20 48 45 49 47 48 54 3b 00 00 00 21 | .int.size.=.stride.*.HEIGHT;...! |
| d180 | 20 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 | ..int.fd.=.create_shm_file(size) |
| d1a0 | 3b 00 00 00 4b 20 20 76 6f 69 64 20 2a 64 61 74 61 20 3d 20 6d 6d 61 70 28 4e 55 4c 4c 2c 20 73 | ;...K..void.*data.=.mmap(NULL,.s |
| d1c0 | 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 41 50 | ize,.PROT_READ.|.PROT_WRITE,.MAP |
| d1e0 | 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 1b 20 20 69 66 20 28 64 61 74 61 20 3d | _SHARED,.fd,.0);......if.(data.= |
| d200 | 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 20 7b 00 00 00 13 20 20 20 20 70 65 72 72 6f 72 28 22 6d | =.MAP_FAILED).{........perror("m |
| d220 | 6d 61 70 22 29 3b 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 03 20 20 7d 00 00 00 | map");........exit(1);......}... |
| d240 | 00 00 00 00 1a 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 69 78 65 6c 73 20 3d 20 64 61 74 61 3b 00 | .......uint32_t.*pixels.=.data;. |
| d260 | 00 00 2a 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 57 49 44 54 48 20 2a | ..*..for.(int.i.=.0;.i.<.WIDTH.* |
| d280 | 20 48 45 49 47 48 54 3b 20 69 2b 2b 29 00 00 00 31 20 20 20 20 70 69 78 65 6c 73 5b 69 5d 20 3d | .HEIGHT;.i++)...1....pixels[i].= |
| d2a0 | 20 30 78 66 66 30 30 30 30 66 66 3b 20 2f 2f 20 41 52 47 42 20 3d 20 6f 70 61 71 75 65 20 62 6c | .0xff0000ff;.//.ARGB.=.opaque.bl |
| d2c0 | 75 65 00 00 00 00 00 00 00 3f 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 20 2a | ue.......?..struct.wl_shm_pool.* |
| d2e0 | 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 |
| d300 | 64 2c 20 73 69 7a 65 29 3b 00 00 00 37 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 | d,.size);...7..struct.wl_buffer. |
| d320 | 2a 62 75 66 66 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 | *buffer.=.wl_shm_pool_create_buf |
| d340 | 66 65 72 28 00 00 00 3e 20 20 20 20 20 20 70 6f 6f 6c 2c 20 30 2c 20 57 49 44 54 48 2c 20 48 45 | fer(...>......pool,.0,.WIDTH,.HE |
| d360 | 49 47 48 54 2c 20 73 74 72 69 64 65 2c 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 | IGHT,.stride,.WL_SHM_FORMAT_ARGB |
| d380 | 38 38 38 38 29 3b 00 00 00 00 00 00 00 2b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 | 8888);.......+..wl_surface_attac |
| d3a0 | 68 28 73 75 72 66 61 63 65 2c 20 62 75 66 66 65 72 2c 20 30 2c 20 30 29 3b 00 00 00 1d 20 20 77 | h(surface,.buffer,.0,.0);......w |
| d3c0 | 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 00 00 00 | l_surface_commit(surface);...... |
| d3e0 | 00 14 20 20 2f 2f 20 4d 61 69 6e 20 65 76 65 6e 74 20 6c 6f 6f 70 00 00 00 33 20 20 77 68 69 6c | ....//.Main.event.loop...3..whil |
| d400 | 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 69 73 70 61 74 63 | e.(running.&&.wl_display_dispatc |
| d420 | 68 28 64 69 73 70 6c 61 79 29 29 20 7b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 0b 20 20 72 65 | h(display)).{......}..........re |
| d440 | 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 00 00 00 94 00 00 00 | turn.0;....}5................... |
| d460 | 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 88 10 00 00 00 00 00 00 01 00 00 00 | ................................ |
| d480 | 00 00 00 00 35 81 5f d0 00 00 00 20 00 00 00 22 00 00 00 00 00 00 00 00 00 00 00 21 00 00 00 01 | ....5._........"...........!.... |
| d4a0 | 00 00 00 00 00 00 00 00 ff ff ff ff 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| d4c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| d4e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| d500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| d520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| d540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| d560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| d580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| d5a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| d5c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| d5e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| d600 | 00 00 00 00 00 00 00 00 00 00 69 9d 6c 35 04 01 00 00 00 00 00 f5 18 00 00 00 6d 00 00 00 00 00 | ..........i.l5............m..... |
| d620 | 00 00 00 00 00 00 01 00 00 00 01 7d f5 18 00 00 00 6e 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 | ...........}.....n.............. |
| d640 | 00 00 00 5e 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 11 20 20 20 20 69 66 20 28 64 61 74 61 | ...^....................if.(data |
| d660 | 20 3d 3d 20 4d f5 18 00 00 00 5f 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 42 00 00 00 | .==.M....._.................B... |
| d680 | 00 00 00 00 00 00 00 00 01 00 00 00 2b 20 20 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 | ............+....if.(ftruncate(f |
| d6a0 | 64 2c 20 73 69 7a 65 29 20 3c 20 30 29 20 7b 20 70 65 72 72 6f 72 28 22 f5 18 00 00 00 43 00 00 | d,.size).<.0).{.perror(".....C.. |
| d6c0 | 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 | ................................ |
| d6e0 | f5 18 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 | ..................5............. |
| d700 | 00 00 00 00 00 00 00 00 00 00 42 00 00 00 2b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ..........B...+................. |
| d720 | 00 00 00 09 00 00 00 00 00 00 f5 18 00 00 00 00 42 00 00 00 2b 00 00 00 00 00 00 00 00 00 00 00 | ................B...+........... |
| d740 | 1c 00 00 00 11 00 00 00 00 09 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 | ................................ |
| d760 | f5 18 00 00 00 00 5e 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 0f 00 00 00 01 00 00 00 00 0d | ......^......................... |
| d780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 df 01 00 00 00 00 00 00 35 81 5f d0 00 00 00 21 00 00 | ......................5._....!.. |
| d7a0 | 00 23 00 00 00 00 00 00 00 00 00 00 00 22 00 00 00 6e 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 | .#..........."...n.............. |
| d7c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| d7e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| d800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| d820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| d840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| d860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| d880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| d8a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| d8c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| d8e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| d900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d 6c 36 | ............................i.l6 |
| d920 | 04 01 00 00 00 0d 00 f5 18 00 00 00 00 00 00 00 83 00 00 00 6e 00 00 00 6d 00 00 00 1b 23 69 6e | ....................n...m....#in |
| d940 | 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 15 23 69 6e 63 | clude.<wayland-client.h>....#inc |
| d960 | 6c 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 75 | lude.<sys/mman.h>....#include.<u |
| d980 | 6e 69 73 74 64 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 | nistd.h>....#include.<fcntl.h>.. |
| d9a0 | 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 |
| d9c0 | 65 20 3c 73 74 64 6c 69 62 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6f 2e | e.<stdlib.h>....#include.<stdio. |
| d9e0 | 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 69 65 6e 74 | h>...&#include."xdg-shell-client |
| da00 | 2d 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 00 00 00 00 1b 73 74 72 75 63 74 20 77 6c 5f 64 69 | -protocol.h"........struct.wl_di |
| da20 | 73 70 6c 61 79 20 2a 64 69 73 70 6c 61 79 3b 00 00 00 1d 73 74 72 75 63 74 20 77 6c 5f 72 65 67 | splay.*display;....struct.wl_reg |
| da40 | 69 73 74 72 79 20 2a 72 65 67 69 73 74 72 79 3b 00 00 00 21 73 74 72 75 63 74 20 77 6c 5f 63 6f | istry.*registry;...!struct.wl_co |
| da60 | 6d 70 6f 73 69 74 6f 72 20 2a 63 6f 6d 70 6f 73 69 74 6f 72 3b 00 00 00 13 73 74 72 75 63 74 20 | mpositor.*compositor;....struct. |
| da80 | 77 6c 5f 73 68 6d 20 2a 73 68 6d 3b 00 00 00 1c 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 | wl_shm.*shm;....struct.xdg_wm_ba |
| daa0 | 73 65 20 2a 77 6d 5f 62 61 73 65 3b 00 00 00 1b 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 | se.*wm_base;....struct.wl_surfac |
| dac0 | 65 20 2a 73 75 72 66 61 63 65 3b 00 00 00 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 | e.*surface;....struct.xdg_surfac |
| dae0 | 65 20 2a 78 64 67 5f 73 75 72 66 61 63 65 3b 00 00 00 1e 73 74 72 75 63 74 20 78 64 67 5f 74 6f | e.*xdg_surface;....struct.xdg_to |
| db00 | 70 6c 65 76 65 6c 20 2a 74 6f 70 6c 65 76 65 6c 3b 00 00 00 00 00 00 00 16 63 6f 6e 73 74 20 69 | plevel.*toplevel;........const.i |
| db20 | 6e 74 20 57 49 44 54 48 20 3d 20 33 30 30 3b 00 00 00 17 63 6f 6e 73 74 20 69 6e 74 20 48 45 49 | nt.WIDTH.=.300;....const.int.HEI |
| db40 | 47 48 54 20 3d 20 32 30 30 3b 00 00 00 10 69 6e 74 20 72 75 6e 6e 69 6e 67 20 3d 20 31 3b 00 00 | GHT.=.200;....int.running.=.1;.. |
| db60 | 00 00 00 00 00 54 73 74 61 74 69 63 20 76 6f 69 64 20 77 6d 5f 62 61 73 65 5f 70 69 6e 67 28 76 | .....Tstatic.void.wm_base_ping(v |
| db80 | 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 20 2a 77 | oid.*data,.struct.xdg_wm_base.*w |
| dba0 | 6d 5f 62 61 73 65 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 26 20 20 | m_base,.uint32_t.serial).{...&.. |
| dbc0 | 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 5f 62 61 73 65 2c 20 73 65 72 69 | ..xdg_wm_base_pong(wm_base,.seri |
| dbe0 | 61 6c 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4d 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 | al);....}.......Mstatic.const.st |
| dc00 | 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 77 6d 5f 62 61 73 | ruct.xdg_wm_base_listener.wm_bas |
| dc20 | 65 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 20 77 6d 5f 62 61 73 65 5f 70 69 6e 67 20 7d 3b 00 00 | e_listener.=.{.wm_base_ping.};.. |
| dc40 | 00 00 00 00 00 61 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 | .....astatic.void.xdg_surface_co |
| dc60 | 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 20 78 64 67 5f 73 | nfigure(void.*data,.struct.xdg_s |
| dc80 | 75 72 66 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 | urface.*xdg_surface,.uint32_t.se |
| dca0 | 72 69 61 6c 29 20 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 | rial).{...3....xdg_surface_ack_c |
| dcc0 | 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);.. |
| dce0 | 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) |
| dd00 | 3b 00 00 00 01 7d 00 00 00 00 00 00 00 5a 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 | ;....}.......Zstatic.const.struc |
| dd20 | 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 72 66 61 | t.xdg_surface_listener.xdg_surfa |
| dd40 | 63 65 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 20 78 64 67 5f 73 75 72 66 61 63 65 5f 63 6f 6e 66 | ce_listener.=.{.xdg_surface_conf |
| dd60 | 69 67 75 72 65 20 7d 3b 00 00 00 00 00 00 00 49 73 74 61 74 69 63 20 76 6f 69 64 20 74 6f 70 6c | igure.};.......Istatic.void.topl |
| dd80 | 65 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 | evel_configure(void.*data,.struc |
| dda0 | 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 74 6f 70 6c 65 76 65 6c 2c 00 00 00 59 20 20 20 | t.xdg_toplevel.*toplevel,...Y... |
| ddc0 | 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 69 6e 74 33 | ............................int3 |
| dde0 | 32 5f 74 20 77 69 64 74 68 2c 20 69 6e 74 33 32 5f 74 20 68 65 69 67 68 74 2c 20 73 74 72 75 63 | 2_t.width,.int32_t.height,.struc |
| de00 | 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 74 61 74 65 73 29 20 7b 7d 00 00 00 00 00 00 00 47 73 74 | t.wl_array.*states).{}.......Gst |
| de20 | 61 74 69 63 20 76 6f 69 64 20 74 6f 70 6c 65 76 65 6c 5f 63 6c 6f 73 65 28 76 6f 69 64 20 2a 64 | atic.void.toplevel_close(void.*d |
| de40 | 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 |
| de60 | 65 6c 29 20 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 | el).{........running.=.0;....}.. |
| de80 | 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 |
| dea0 | 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 |
| dec0 | 72 20 3d 20 7b 00 00 00 24 20 20 20 20 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 74 6f 70 6c 65 76 | r.=.{...$.....configure.=.toplev |
| dee0 | 65 6c 5f 63 6f 6e 66 69 67 75 72 65 2c 00 00 00 1b 20 20 20 20 2e 63 6c 6f 73 65 20 3d 20 74 6f | el_configure,.........close.=.to |
| df00 | 70 6c 65 76 65 6c 5f 63 6c 6f 73 65 00 00 00 02 7d 3b 00 00 00 00 00 00 00 53 73 74 61 74 69 63 | plevel_close....};.......Sstatic |
| df20 | 20 76 6f 69 64 20 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 28 76 6f 69 64 20 2a 64 61 74 | .void.registry_handler(void.*dat |
| df40 | 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, |
| df60 | 20 75 69 6e 74 33 32 5f 74 20 69 64 2c 00 00 00 47 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .uint32_t.id,...G............... |
| df80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 6e 74 65 72 66 | ..............const.char.*interf |
| dfa0 | 61 63 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 65 72 73 69 6f 6e 29 20 7b 00 00 00 32 20 20 20 20 | ace,.uint32_t.version).{...2.... |
| dfc0 | 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 |
| dfe0 | 69 74 6f 72 22 29 20 3d 3d 20 30 29 20 7b 00 00 00 51 20 20 20 20 20 20 20 20 63 6f 6d 70 6f 73 | itor").==.0).{...Q........compos |
| e000 | 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 79 | itor.=.wl_registry_bind(registry |
| e020 | 2c 20 69 64 2c 20 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 69 6e 74 65 72 66 61 63 65 2c 20 | ,.id,.&wl_compositor_interface,. |
| e040 | 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 28 69 6e 74 | 4);...2....}.else.if.(strcmp(int |
| e060 | 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 43 20 20 20 | erface,."wl_shm").==.0).{...C... |
| e080 | 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 72 65 67 69 | .....shm.=.wl_registry_bind(regi |
| e0a0 | 73 74 72 79 2c 20 69 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b | stry,.id,.&wl_shm_interface,.1); |
| e0c0 | 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 69 6e 74 65 72 66 | ...7....}.else.if.(strcmp(interf |
| e0e0 | 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 7b 00 00 00 4c 20 | ace,."xdg_wm_base").==.0).{...L. |
| e100 | 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 72 79 5f 62 69 6e | .......wm_base.=.wl_registry_bin |
| e120 | 64 28 72 65 67 69 73 74 72 79 2c 20 69 64 2c 20 26 78 64 67 5f 77 6d 5f 62 61 73 65 5f 69 6e 74 | d(registry,.id,.&xdg_wm_base_int |
| e140 | 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 61 | erface,.1);...C........xdg_wm_ba |
| e160 | 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 73 | se_add_listener(wm_base,.&wm_bas |
| e180 | 65 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 | e_listener,.NULL);........}....} |
| e1a0 | 00 00 00 00 00 00 00 58 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 72 | .......Xstatic.const.struct.wl_r |
| e1c0 | 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 |
| e1e0 | 65 72 20 3d 20 7b 20 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 2c 20 4e 55 4c 4c 20 7d 3b | er.=.{.registry_handler,.NULL.}; |
| e200 | 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 69 6e 74 20 63 72 65 61 74 65 5f 73 68 6d 5f 66 69 | .......)static.int.create_shm_fi |
| e220 | 6c 65 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 30 20 20 20 20 63 68 61 72 20 74 65 | le(size_t.size).{...0....char.te |
| e240 | 6d 70 6c 61 74 65 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 61 79 6c 61 6e 64 2d 73 68 6d 2d 58 58 58 | mplate[].=."/tmp/wayland-shm-XXX |
| e260 | 58 58 58 22 3b 00 00 00 1f 20 20 20 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 65 | XXX";........int.fd.=.mkstemp(te |
| e280 | 6d 70 6c 61 74 65 29 3b 00 00 00 2f 20 20 20 20 69 66 20 28 66 64 20 3c 20 30 29 20 7b 20 70 65 | mplate);.../....if.(fd.<.0).{.pe |
| e2a0 | 72 72 6f 72 28 22 6d 6b 73 74 65 6d 70 22 29 3b 20 65 78 69 74 28 31 29 3b 20 7d 00 00 00 15 20 | rror("mkstemp");.exit(1);.}..... |
| e2c0 | 20 20 20 75 6e 6c 69 6e 6b 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 42 20 20 20 20 69 66 20 28 | ...unlink(template);...B....if.( |
| e2e0 | 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 73 69 7a 65 29 20 3c 20 30 29 20 7b 20 70 65 72 72 6f | ftruncate(fd,.size).<.0).{.perro |
| e300 | 72 28 22 66 74 72 75 6e 63 61 74 65 22 29 3b 20 65 78 69 74 28 31 29 3b 20 7d 00 00 00 0e 20 20 | r("ftruncate");.exit(1);.}...... |
| e320 | 20 20 72 65 74 75 72 6e 20 66 64 3b 00 00 00 01 7d 00 00 00 00 00 00 00 0c 69 6e 74 20 6d 61 69 | ..return.fd;....}........int.mai |
| e340 | 6e 28 29 20 7b 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 | n().{...'....display.=.wl_displa |
| e360 | 79 5f 63 6f 6e 6e 65 63 74 28 4e 55 4c 4c 29 3b 00 00 00 5a 20 20 20 20 69 66 20 28 21 64 69 73 | y_connect(NULL);...Z....if.(!dis |
| e380 | 70 6c 61 79 29 20 7b 20 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 46 61 69 6c 65 64 20 | play).{.fprintf(stderr,."Failed. |
| e3a0 | 74 6f 20 63 6f 6e 6e 65 63 74 20 74 6f 20 57 61 79 6c 61 6e 64 20 64 69 73 70 6c 61 79 5c 6e 22 | to.connect.to.Wayland.display\n" |
| e3c0 | 29 3b 20 72 65 74 75 72 6e 20 31 3b 20 7d 00 00 00 00 00 00 00 30 20 20 20 20 72 65 67 69 73 74 | );.return.1;.}.......0....regist |
| e3e0 | 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 |
| e400 | 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 |
| e420 | 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 |
| e440 | 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 |
| e460 | 75 6e 64 74 72 69 70 28 64 69 73 70 6c 61 79 29 3b 00 00 00 00 00 00 00 6d 20 20 20 20 69 66 20 | undtrip(display);.......m....if. |
| e480 | 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 65 | (!compositor.||.!shm.||.!wm_base |
| e4a0 | 29 20 7b 20 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 4d 69 73 73 69 6e 67 20 72 65 71 | ).{.fprintf(stderr,."Missing.req |
| e4c0 | 75 69 72 65 64 20 57 61 79 6c 61 6e 64 20 67 6c 6f 62 61 6c 73 5c 6e 22 29 3b 20 72 65 74 75 72 | uired.Wayland.globals\n");.retur |
| e4e0 | 6e 20 31 3b 20 7d 00 00 00 00 00 00 00 37 20 20 20 20 73 75 72 66 61 63 65 20 3d 20 77 6c 5f 63 | n.1;.}.......7....surface.=.wl_c |
| e500 | 6f 6d 70 6f 73 69 74 6f 72 5f 63 72 65 61 74 65 5f 73 75 72 66 61 63 65 28 63 6f 6d 70 6f 73 69 | ompositor_create_surface(composi |
| e520 | 74 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 | tor);...@....xdg_surface.=.xdg_w |
| e540 | 6d 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 | m_base_get_xdg_surface(wm_base,. |
| e560 | 73 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 | surface);...G....xdg_surface_add |
| e580 | 5f 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 | _listener(xdg_surface,.&xdg_surf |
| e5a0 | 61 63 65 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 00 00 00 00 35 20 20 20 20 | ace_listener,.NULL);.......5.... |
| e5c0 | 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 6c 65 | toplevel.=.xdg_surface_get_tople |
| e5e0 | 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 6f 70 | vel(xdg_surface);...B....xdg_top |
| e600 | 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 74 6f | level_add_listener(toplevel,.&to |
| e620 | 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 00 00 00 00 1f 20 | plevel_listener,.NULL);......... |
| e640 | 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 00 | ...wl_surface_commit(surface);.. |
| e660 | 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 73 70 6c | ."....wl_display_roundtrip(displ |
| e680 | 61 79 29 3b 00 00 00 00 00 00 00 1b 20 20 20 20 69 6e 74 20 73 74 72 69 64 65 20 3d 20 57 49 44 | ay);............int.stride.=.WID |
| e6a0 | 54 48 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 |
| e6c0 | 20 2a 20 48 45 49 47 48 54 3b 00 00 00 23 20 20 20 20 69 6e 74 20 66 64 20 3d 20 63 72 65 61 74 | .*.HEIGHT;...#....int.fd.=.creat |
| e6e0 | 65 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 29 3b 00 00 00 4d 20 20 20 20 76 6f 69 64 20 2a 64 | e_shm_file(size);...M....void.*d |
| e700 | 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 45 41 44 | ata.=.mmap(NULL,.size,.PROT_READ |
| e720 | 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 2c 20 30 | .|.PROT_WRITE,.MAP_SHARED,.fd,.0 |
| e740 | 29 3b 00 00 00 38 20 20 20 20 69 66 20 28 64 61 74 61 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 | );...8....if.(data.==.MAP_FAILED |
| e760 | 29 20 7b 20 70 65 72 72 6f 72 28 22 6d 6d 61 70 22 29 3b 20 65 78 69 74 28 31 29 3b 20 7d 00 00 | ).{.perror("mmap");.exit(1);.}.. |
| e780 | 00 00 00 00 00 1c 20 20 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 69 78 65 6c 73 20 3d 20 64 61 74 | ..........uint32_t.*pixels.=.dat |
| e7a0 | 61 3b 00 00 00 2c 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 57 49 | a;...,....for.(int.i.=.0;.i.<.WI |
| e7c0 | 44 54 48 20 2a 20 48 45 49 47 48 54 3b 20 69 2b 2b 29 00 00 00 1f 20 20 20 20 20 20 20 20 70 69 | DTH.*.HEIGHT;.i++)............pi |
| e7e0 | 78 65 6c 73 5b 69 5d 20 3d 20 30 78 66 66 30 30 30 30 66 66 3b 00 00 00 00 00 00 00 41 20 20 20 | xels[i].=.0xff0000ff;.......A... |
| e800 | 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 77 6c 5f 73 | .struct.wl_shm_pool.*pool.=.wl_s |
| e820 | 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 3b 00 00 | hm_create_pool(shm,.fd,.size);.. |
| e840 | 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 65 72 20 3d | .q....struct.wl_buffer.*buffer.= |
| e860 | 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c | .wl_shm_pool_create_buffer(pool, |
| e880 | 20 30 2c 20 57 49 44 54 48 2c 20 48 45 49 47 48 54 2c 20 73 74 72 69 64 65 2c 20 57 4c 5f 53 48 | .0,.WIDTH,.HEIGHT,.stride,.WL_SH |
| e8a0 | 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 00 00 00 00 2d 20 20 20 20 77 | M_FORMAT_ARGB8888);.......-....w |
| e8c0 | 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 62 75 66 66 65 72 | l_surface_attach(surface,.buffer |
| e8e0 | 2c 20 30 2c 20 30 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 | ,.0,.0);........wl_surface_commi |
| e900 | 74 28 73 75 72 66 61 63 65 29 3b 00 00 00 00 00 00 00 36 20 20 20 20 77 68 69 6c 65 20 28 72 75 | t(surface);.......6....while.(ru |
| e920 | 6e 6e 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 | nning.&&.wl_display_dispatch(dis |
| e940 | 70 6c 61 79 29 29 20 7b 7d 00 00 00 00 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 30 3b 35 81 | play)).{}............return.0;5. |
| e960 | f5 18 00 00 00 00 00 00 00 00 09 00 00 00 6c 00 00 00 02 00 00 00 81 00 00 00 00 00 00 00 09 00 | ..............l................. |
| e980 | 00 00 00 00 00 00 c9 0e 00 00 00 00 00 00 50 0f 00 00 00 00 00 00 35 81 5f d0 00 00 00 22 00 00 | ..............P.......5._....".. |
| e9a0 | 00 24 00 00 00 00 00 00 00 00 00 00 00 23 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 | .$...........#.................. |
| e9c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| e9e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ea00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ea20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ea40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ea60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ea80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| eaa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| eac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| eae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| eb00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d 6c 85 | ............................i.l. |
| eb20 | 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 83 00 00 00 26 23 69 6e | ............................&#in |
| eb40 | 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 6c | clude."xdg-shell-client-protocol |
| eb60 | 2e 68 22 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 |
| eb80 | 63 6c 75 64 65 20 3c 73 74 64 69 6f 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 | clude.<stdio.h>....#include.<std |
| eba0 | 6c 69 62 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 74 72 69 6e 67 2e 68 3e 00 00 00 | lib.h>....#include.<string.h>... |
| ebc0 | 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 13 23 69 6e 63 6c 75 | .#include.<sys/mman.h>....#inclu |
| ebe0 | 64 65 20 3c 75 6e 69 73 74 64 2e 68 3e 00 00 00 1b 23 69 6e 63 6c 75 64 65 20 3c 77 61 79 6c 61 | de.<unistd.h>....#include.<wayla |
| ec00 | 6e 64 2d 63 6c 69 65 6e 74 2e 68 3e 00 00 00 00 00 00 00 1b 73 74 72 75 63 74 20 77 6c 5f 64 69 | nd-client.h>........struct.wl_di |
| ec20 | 73 70 6c 61 79 20 2a 64 69 73 70 6c 61 79 3b 00 00 00 1d 73 74 72 75 63 74 20 77 6c 5f 72 65 67 | splay.*display;....struct.wl_reg |
| ec40 | 69 73 74 72 79 20 2a 72 65 67 69 73 74 72 79 3b 00 00 00 21 73 74 72 75 63 74 20 77 6c 5f 63 6f | istry.*registry;...!struct.wl_co |
| ec60 | 6d 70 6f 73 69 74 6f 72 20 2a 63 6f 6d 70 6f 73 69 74 6f 72 3b 00 00 00 13 73 74 72 75 63 74 20 | mpositor.*compositor;....struct. |
| ec80 | 77 6c 5f 73 68 6d 20 2a 73 68 6d 3b 00 00 00 1c 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 | wl_shm.*shm;....struct.xdg_wm_ba |
| eca0 | 73 65 20 2a 77 6d 5f 62 61 73 65 3b 00 00 00 1b 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 | se.*wm_base;....struct.wl_surfac |
| ecc0 | 65 20 2a 73 75 72 66 61 63 65 3b 00 00 00 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 | e.*surface;....struct.xdg_surfac |
| ece0 | 65 20 2a 78 64 67 5f 73 75 72 66 61 63 65 3b 00 00 00 1e 73 74 72 75 63 74 20 78 64 67 5f 74 6f | e.*xdg_surface;....struct.xdg_to |
| ed00 | 70 6c 65 76 65 6c 20 2a 74 6f 70 6c 65 76 65 6c 3b 00 00 00 00 00 00 00 16 63 6f 6e 73 74 20 69 | plevel.*toplevel;........const.i |
| ed20 | 6e 74 20 57 49 44 54 48 20 3d 20 33 30 30 3b 00 00 00 17 63 6f 6e 73 74 20 69 6e 74 20 48 45 49 | nt.WIDTH.=.300;....const.int.HEI |
| ed40 | 47 48 54 20 3d 20 32 30 30 3b 00 00 00 10 69 6e 74 20 72 75 6e 6e 69 6e 67 20 3d 20 31 3b 00 00 | GHT.=.200;....int.running.=.1;.. |
| ed60 | 00 00 00 00 00 41 73 74 61 74 69 63 20 76 6f 69 64 20 77 6d 5f 62 61 73 65 5f 70 69 6e 67 28 76 | .....Astatic.void.wm_base_ping(v |
| ed80 | 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 20 2a 77 | oid.*data,.struct.xdg_wm_base.*w |
| eda0 | 6d 5f 62 61 73 65 2c 00 00 00 2b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | m_base,...+..................... |
| edc0 | 20 20 20 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 24 20 20 78 64 67 5f | ....uint32_t.serial).{...$..xdg_ |
| ede0 | 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 5f 62 61 73 65 2c 20 73 65 72 69 61 6c 29 3b 00 00 | wm_base_pong(wm_base,.serial);.. |
| ee00 | 00 01 7d 00 00 00 00 00 00 00 4b 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 | ..}.......Kstatic.const.struct.x |
| ee20 | 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 |
| ee40 | 65 6e 65 72 20 3d 20 7b 77 6d 5f 62 61 73 65 5f 70 69 6e 67 7d 3b 00 00 00 00 00 00 00 4e 73 74 | ener.=.{wm_base_ping};.......Nst |
| ee60 | 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( |
| ee80 | 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.* |
| eea0 | 78 64 67 5f 73 75 72 66 61 63 65 2c 00 00 00 34 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | xdg_surface,...4................ |
| eec0 | 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 72 69 61 | ..................uint32_t.seria |
| eee0 | 6c 29 20 7b 00 00 00 31 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 63 6b 5f 63 6f 6e 66 69 67 | l).{...1..xdg_surface_ack_config |
| ef00 | 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 00 1d 20 20 77 | ure(xdg_surface,.serial);......w |
| ef20 | 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 01 7d 00 | l_surface_commit(surface);....}. |
| ef40 | 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 5f 73 | ......Astatic.const.struct.xdg_s |
| ef60 | 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 73 74 | urface_listener.xdg_surface_list |
| ef80 | 65 6e 65 72 20 3d 20 7b 00 00 00 1b 20 20 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 63 6f 6e 66 | ener.=.{........xdg_surface_conf |
| efa0 | 69 67 75 72 65 7d 3b 00 00 00 00 00 00 00 49 73 74 61 74 69 63 20 76 6f 69 64 20 74 6f 70 6c 65 | igure};.......Istatic.void.tople |
| efc0 | 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 |
| efe0 | 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 74 6f 70 6c 65 76 65 6c 2c 00 00 00 3d 20 20 20 20 | .xdg_toplevel.*toplevel,...=.... |
| f000 | 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 69 6e 74 33 32 | ...........................int32 |
| f020 | 5f 74 20 77 69 64 74 68 2c 20 69 6e 74 33 32 5f 74 20 68 65 69 67 68 74 2c 00 00 00 3a 20 20 20 | _t.width,.int32_t.height,...:... |
| f040 | 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 73 74 72 75 | ............................stru |
| f060 | 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 74 61 74 65 73 29 20 7b 7d 00 00 00 00 00 00 00 47 73 | ct.wl_array.*states).{}.......Gs |
| f080 | 74 61 74 69 63 20 76 6f 69 64 20 74 6f 70 6c 65 76 65 6c 5f 63 6c 6f 73 65 28 76 6f 69 64 20 2a | tatic.void.toplevel_close(void.* |
| f0a0 | 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 74 6f 70 6c 65 | data,.struct.xdg_toplevel.*tople |
| f0c0 | 76 65 6c 29 20 7b 00 00 00 0e 20 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 00 00 00 01 7d 00 00 00 | vel).{......running.=.0;....}... |
| f0e0 | 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 70 | ....?static.const.struct.xdg_top |
| f100 | 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 72 | level_listener.toplevel_listener |
| f120 | 20 3d 20 7b 00 00 00 3e 20 20 20 20 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 74 6f 70 6c 65 76 65 | .=.{...>.....configure.=.topleve |
| f140 | 6c 5f 63 6f 6e 66 69 67 75 72 65 2c 20 2e 63 6c 6f 73 65 20 3d 20 74 6f 70 6c 65 76 65 6c 5f 63 | l_configure,..close.=.toplevel_c |
| f160 | 6c 6f 73 65 7d 3b 00 00 00 00 00 00 00 46 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 69 73 74 | lose};.......Fstatic.void.regist |
| f180 | 72 79 5f 68 61 6e 64 6c 65 72 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c | ry_handler(void.*data,.struct.wl |
| f1a0 | 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 69 73 74 72 79 2c 00 00 00 40 20 20 20 20 20 20 20 20 | _registry.*registry,...@........ |
| f1c0 | 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 69 64 | .....................uint32_t.id |
| f1e0 | 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 6e 74 65 72 66 61 63 65 2c 00 00 00 30 20 20 20 20 | ,.const.char.*interface,...0.... |
| f200 | 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_ |
| f220 | 74 20 76 65 72 73 69 6f 6e 29 20 7b 00 00 00 30 20 20 69 66 20 28 73 74 72 63 6d 70 28 69 6e 74 | t.version).{...0..if.(strcmp(int |
| f240 | 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 3d 20 30 29 20 7b | erface,."wl_compositor").==.0).{ |
| f260 | 00 00 00 4d 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 | ...M....compositor.=.wl_registry |
| f280 | 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 69 64 2c 20 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 | _bind(registry,.id,.&wl_composit |
| f2a0 | 6f 72 5f 69 6e 74 65 72 66 61 63 65 2c 20 34 29 3b 00 00 00 30 20 20 7d 20 65 6c 73 65 20 69 66 | or_interface,.4);...0..}.else.if |
| f2c0 | 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 68 6d 22 29 20 3d 3d | .(strcmp(interface,."wl_shm").== |
| f2e0 | 20 30 29 20 7b 00 00 00 3f 20 20 20 20 73 68 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 | .0).{...?....shm.=.wl_registry_b |
| f300 | 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 69 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 | ind(registry,.id,.&wl_shm_interf |
| f320 | 61 63 65 2c 20 31 29 3b 00 00 00 35 20 20 7d 20 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d 70 28 | ace,.1);...5..}.else.if.(strcmp( |
| f340 | 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). |
| f360 | 7b 00 00 00 48 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 | {...H....wm_base.=.wl_registry_b |
| f380 | 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 69 64 2c 20 26 78 64 67 5f 77 6d 5f 62 61 73 65 5f 69 | ind(registry,.id,.&xdg_wm_base_i |
| f3a0 | 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 3f 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 | nterface,.1);...?....xdg_wm_base |
| f3c0 | 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_ |
| f3e0 | 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 | listener,.NULL);......}....}.... |
| f400 | 00 00 00 4f 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 | ...Ostatic.const.struct.wl_regis |
| f420 | 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 3d | try_listener.registry_listener.= |
| f440 | 20 7b 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 2c 00 00 00 44 20 20 20 20 20 20 20 20 20 | .{registry_handler,...D......... |
| f460 | 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 | ................................ |
| f480 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 55 4c 4c 7d 3b 00 00 00 00 00 | .....................NULL};..... |
| f4a0 | 00 00 29 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 | ..)static.int.create_shm_file(si |
| f4c0 | 7a 65 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 2e 20 20 63 68 61 72 20 74 65 6d 70 6c 61 74 65 5b | ze_t.size).{......char.template[ |
| f4e0 | 5d 20 3d 20 22 2f 74 6d 70 2f 77 61 79 6c 61 6e 64 2d 73 68 6d 2d 58 58 58 58 58 58 22 3b 00 00 | ].=."/tmp/wayland-shm-XXXXXX";.. |
| f500 | 00 1d 20 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 65 6d 70 6c 61 74 65 29 3b 00 | ....int.fd.=.mkstemp(template);. |
| f520 | 00 00 0f 20 20 69 66 20 28 66 64 20 3c 20 30 29 20 7b 00 00 00 16 20 20 20 20 70 65 72 72 6f 72 | .....if.(fd.<.0).{........perror |
| f540 | 28 22 6d 6b 73 74 65 6d 70 22 29 3b 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 03 | ("mkstemp");........exit(1);.... |
| f560 | 20 20 7d 00 00 00 13 20 20 75 6e 6c 69 6e 6b 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 20 20 20 | ..}......unlink(template);...... |
| f580 | 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 73 69 7a 65 29 20 3c 20 30 29 20 7b 00 00 | if.(ftruncate(fd,.size).<.0).{.. |
| f5a0 | 00 18 20 20 20 20 70 65 72 72 6f 72 28 22 66 74 72 75 6e 63 61 74 65 22 29 3b 00 00 00 0c 20 20 | ......perror("ftruncate");...... |
| f5c0 | 20 20 65 78 69 74 28 31 29 3b 00 00 00 03 20 20 7d 00 00 00 0c 20 20 72 65 74 75 72 6e 20 66 64 | ..exit(1);......}......return.fd |
| f5e0 | 3b 00 00 00 01 7d 00 00 00 00 00 00 00 0c 69 6e 74 20 6d 61 69 6e 28 29 20 7b 00 00 00 25 20 20 | ;....}........int.main().{...%.. |
| f600 | 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 |
| f620 | 4c 29 3b 00 00 00 11 20 20 69 66 20 28 21 64 69 73 70 6c 61 79 29 20 7b 00 00 00 3e 20 20 20 20 | L);......if.(!display).{...>.... |
| f640 | 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 46 61 69 6c 65 64 20 74 6f 20 63 6f 6e 6e 65 | fprintf(stderr,."Failed.to.conne |
| f660 | 63 74 20 74 6f 20 57 61 79 6c 61 6e 64 20 64 69 73 70 6c 61 79 5c 6e 22 29 3b 00 00 00 0d 20 20 | ct.to.Wayland.display\n");...... |
| f680 | 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 2e 20 20 72 65 67 69 | ..return.1;......}..........regi |
| f6a0 | 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 64 | stry.=.wl_display_get_registry(d |
| f6c0 | 69 73 70 6c 61 79 29 3b 00 00 00 3f 20 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 61 64 64 5f 6c 69 | isplay);...?..wl_registry_add_li |
| f6e0 | 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 |
| f700 | 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e | ner,.NULL);......wl_display_roun |
| f720 | 64 74 72 69 70 28 64 69 73 70 6c 61 79 29 3b 00 00 00 00 00 00 00 28 20 20 69 66 20 28 21 63 6f | dtrip(display);.......(..if.(!co |
| f740 | 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 65 29 20 7b 00 | mpositor.||.!shm.||.!wm_base).{. |
| f760 | 00 00 3a 20 20 20 20 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 4d 69 73 73 69 6e 67 20 | ..:....fprintf(stderr,."Missing. |
| f780 | 72 65 71 75 69 72 65 64 20 57 61 79 6c 61 6e 64 20 67 6c 6f 62 61 6c 73 5c 6e 22 29 3b 00 00 00 | required.Wayland.globals\n");... |
| f7a0 | 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 35 20 20 73 | .....return.1;......}.......5..s |
| f7c0 | 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 75 | urface.=.wl_compositor_create_su |
| f7e0 | 72 66 61 63 65 28 63 6f 6d 70 6f 73 69 74 6f 72 29 3b 00 00 00 3e 20 20 78 64 67 5f 73 75 72 66 | rface(compositor);...>..xdg_surf |
| f800 | 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 |
| f820 | 65 28 77 6d 5f 62 61 73 65 2c 20 73 75 72 66 61 63 65 29 3b 00 00 00 45 20 20 78 64 67 5f 73 75 | e(wm_base,.surface);...E..xdg_su |
| f840 | 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 2c 20 | rface_add_listener(xdg_surface,. |
| f860 | 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 00 00 | &xdg_surface_listener,.NULL);... |
| f880 | 00 00 00 00 33 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 | ....3..toplevel.=.xdg_surface_ge |
| f8a0 | 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 40 20 20 78 64 | t_toplevel(xdg_surface);...@..xd |
| f8c0 | 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 65 6c | g_toplevel_add_listener(toplevel |
| f8e0 | 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 00 00 | ,.&toplevel_listener,.NULL);.... |
| f900 | 00 00 00 1d 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) |
| f920 | 3b 00 00 00 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 | ;......wl_display_roundtrip(disp |
| f940 | 6c 61 79 29 3b 00 00 00 00 00 00 00 19 20 20 69 6e 74 20 73 74 72 69 64 65 20 3d 20 57 49 44 54 | lay);..........int.stride.=.WIDT |
| f960 | 48 20 2a 20 34 3b 00 00 00 1d 20 20 69 6e 74 20 73 69 7a 65 20 3d 20 73 74 72 69 64 65 20 2a 20 | H.*.4;......int.size.=.stride.*. |
| f980 | 48 45 49 47 48 54 3b 00 00 00 21 20 20 69 6e 74 20 66 64 20 3d 20 63 72 65 61 74 65 5f 73 68 6d | HEIGHT;...!..int.fd.=.create_shm |
| f9a0 | 5f 66 69 6c 65 28 73 69 7a 65 29 3b 00 00 00 4b 20 20 76 6f 69 64 20 2a 64 61 74 61 20 3d 20 6d | _file(size);...K..void.*data.=.m |
| f9c0 | 6d 61 70 28 4e 55 4c 4c 2c 20 73 69 7a 65 2c 20 50 52 4f 54 5f 52 45 41 44 20 7c 20 50 52 4f 54 | map(NULL,.size,.PROT_READ.|.PROT |
| f9e0 | 5f 57 52 49 54 45 2c 20 4d 41 50 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 1b 20 | _WRITE,.MAP_SHARED,.fd,.0);..... |
| fa00 | 20 69 66 20 28 64 61 74 61 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 20 7b 00 00 00 13 20 20 | .if.(data.==.MAP_FAILED).{...... |
| fa20 | 20 20 70 65 72 72 6f 72 28 22 6d 6d 61 70 22 29 3b 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 | ..perror("mmap");........exit(1) |
| fa40 | 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 1a 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 69 78 65 | ;......}..........uint32_t.*pixe |
| fa60 | 6c 73 20 3d 20 64 61 74 61 3b 00 00 00 2a 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 | ls.=.data;...*..for.(int.i.=.0;. |
| fa80 | 69 20 3c 20 57 49 44 54 48 20 2a 20 48 45 49 47 48 54 3b 20 69 2b 2b 29 00 00 00 1b 20 20 20 20 | i.<.WIDTH.*.HEIGHT;.i++)........ |
| faa0 | 70 69 78 65 6c 73 5b 69 5d 20 3d 20 30 78 66 66 30 30 30 30 66 66 3b 00 00 00 00 00 00 00 3f 20 | pixels[i].=.0xff0000ff;.......?. |
| fac0 | 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 77 6c 5f 73 | .struct.wl_shm_pool.*pool.=.wl_s |
| fae0 | 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 3b 00 00 | hm_create_pool(shm,.fd,.size);.. |
| fb00 | 00 37 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 20 3d 20 77 | .7..struct.wl_buffer.*buffer.=.w |
| fb20 | 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 00 00 00 3e 20 20 20 | l_shm_pool_create_buffer(...>... |
| fb40 | 20 20 20 70 6f 6f 6c 2c 20 30 2c 20 57 49 44 54 48 2c 20 48 45 49 47 48 54 2c 20 73 74 72 69 64 | ...pool,.0,.WIDTH,.HEIGHT,.strid |
| fb60 | 65 2c 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 00 00 | e,.WL_SHM_FORMAT_ARGB8888);..... |
| fb80 | 00 00 2b 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,. |
| fba0 | 62 75 66 66 65 72 2c 20 30 2c 20 30 29 3b 00 00 00 1d 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 | buffer,.0,.0);......wl_surface_c |
| fbc0 | 6f 6d 6d 69 74 28 73 75 72 66 61 63 65 29 3b 00 00 00 00 00 00 00 33 20 20 77 68 69 6c 65 20 28 | ommit(surface);.......3..while.( |
| fbe0 | 72 75 6e 6e 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 | running.&&.wl_display_dispatch(d |
| fc00 | 69 73 70 6c 61 79 29 29 20 7b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 0b 20 20 72 65 74 75 72 | isplay)).{......}..........retur |
| fc20 | 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 83 00 00 00 00 00 00 | n.0;....}5...................... |
| fc40 | 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 67 0f 00 00 00 00 00 00 01 00 00 00 00 00 00 | .................g.............. |
| fc60 | 00 35 81 5f d0 00 00 00 23 00 00 00 25 00 00 00 00 00 00 00 00 00 00 00 24 00 00 00 01 00 00 00 | .5._....#...%...........$....... |
| fc80 | 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 | ................................ |
| 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 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| fd80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| fda0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| fdc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| fde0 | 00 00 00 00 00 00 00 69 9d 6c 86 04 01 00 00 00 00 00 f5 18 00 00 00 76 00 00 00 00 00 00 00 00 | .......i.l.............v........ |
| fe00 | 00 00 00 01 00 00 00 01 7d f5 18 00 00 00 77 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 | ........}.....w................. |
| fe20 | 6b 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 20 20 20 20 20 78 64 67 5f 73 75 72 66 61 63 65 | k....................xdg_surface |
| fe40 | 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 78 64 67 f5 18 00 00 00 6c 00 00 00 00 00 00 00 00 00 | _add_listener(xdg.....l......... |
| fe60 | 00 00 00 f5 18 00 00 00 60 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 23 20 20 20 20 64 69 73 | ........`...............#....dis |
| fe80 | 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 f5 18 00 00 | play.=.wl_display_connect(NU.... |
| fea0 | 00 61 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 | .a.............................. |
| fec0 | 00 00 00 00 f5 18 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 35 81 f5 18 00 00 00 00 00 00 | ......................5......... |
| fee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 60 00 00 00 23 00 00 00 00 00 00 00 00 00 00 00 00 00 | ..............`...#............. |
| ff00 | 00 00 00 00 00 00 00 0d 00 00 00 00 00 00 f5 18 00 00 00 00 60 00 00 00 23 00 00 00 00 00 00 00 | ....................`...#....... |
| ff20 | 00 00 00 00 0b 00 00 00 20 00 00 00 00 0d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 | ................................ |
| ff40 | 00 00 00 00 f5 18 00 00 00 00 6b 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 0b 00 00 00 01 00 | ..........k..................... |
| ff60 | 00 00 00 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2e 01 00 00 00 00 00 00 35 81 5f d0 00 00 | ..........................5._... |
| ff80 | 00 24 00 00 00 26 00 00 00 00 00 00 00 00 00 00 00 25 00 00 00 77 00 00 00 00 00 00 00 00 ff ff | .$...&...........%...w.......... |
| ffa0 | ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ffc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ffe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 100a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 100c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 100e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10100 | 69 9d 6c 87 04 01 00 00 00 0f 00 f5 18 00 00 00 00 00 00 00 8c 00 00 00 77 00 00 00 76 00 00 00 | i.l.....................w...v... |
| 10120 | 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 15 | .#include.<wayland-client.h>.... |
| 10140 | 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 | #include.<sys/mman.h>....#includ |
| 10160 | 65 20 3c 75 6e 69 73 74 64 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 66 63 6e 74 6c 2e | e.<unistd.h>....#include.<fcntl. |
| 10180 | 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 74 72 69 6e 67 2e 68 3e 00 00 00 13 23 69 6e | h>....#include.<string.h>....#in |
| 101a0 | 63 6c 75 64 65 20 3c 73 74 64 6c 69 62 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 73 74 | clude.<stdlib.h>....#include.<st |
| 101c0 | 64 69 6f 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 | dio.h>...&#include."xdg-shell-cl |
| 101e0 | 69 65 6e 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 00 00 00 00 1b 73 74 72 75 63 74 20 77 | ient-protocol.h"........struct.w |
| 10200 | 6c 5f 64 69 73 70 6c 61 79 20 2a 64 69 73 70 6c 61 79 3b 00 00 00 1d 73 74 72 75 63 74 20 77 6c | l_display.*display;....struct.wl |
| 10220 | 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 69 73 74 72 79 3b 00 00 00 21 73 74 72 75 63 74 20 77 | _registry.*registry;...!struct.w |
| 10240 | 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 20 2a 63 6f 6d 70 6f 73 69 74 6f 72 3b 00 00 00 13 73 74 72 | l_compositor.*compositor;....str |
| 10260 | 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d 3b 00 00 00 1c 73 74 72 75 63 74 20 78 64 67 5f 77 | uct.wl_shm.*shm;....struct.xdg_w |
| 10280 | 6d 5f 62 61 73 65 20 2a 77 6d 5f 62 61 73 65 3b 00 00 00 1b 73 74 72 75 63 74 20 77 6c 5f 73 75 | m_base.*wm_base;....struct.wl_su |
| 102a0 | 72 66 61 63 65 20 2a 73 75 72 66 61 63 65 3b 00 00 00 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 | rface.*surface;....struct.xdg_su |
| 102c0 | 72 66 61 63 65 20 2a 78 64 67 5f 73 75 72 66 61 63 65 3b 00 00 00 1e 73 74 72 75 63 74 20 78 64 | rface.*xdg_surface;....struct.xd |
| 102e0 | 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 74 6f 70 6c 65 76 65 6c 3b 00 00 00 00 00 00 00 17 73 74 61 | g_toplevel.*toplevel;........sta |
| 10300 | 74 69 63 20 69 6e 74 20 72 75 6e 6e 69 6e 67 20 3d 20 31 3b 00 00 00 27 73 74 61 74 69 63 20 73 | tic.int.running.=.1;...'static.s |
| 10320 | 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 66 65 72 20 3d 20 4e 55 4c 4c 3b 00 | truct.wl_buffer.*buffer.=.NULL;. |
| 10340 | 00 00 1b 73 74 61 74 69 63 20 76 6f 69 64 20 2a 70 69 78 65 6c 73 20 3d 20 4e 55 4c 4c 3b 00 00 | ...static.void.*pixels.=.NULL;.. |
| 10360 | 00 29 73 74 61 74 69 63 20 69 6e 74 20 62 75 66 5f 77 69 64 74 68 20 3d 20 30 2c 20 62 75 66 5f | .)static.int.buf_width.=.0,.buf_ |
| 10380 | 68 65 69 67 68 74 20 3d 20 30 3b 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 69 6e 74 20 63 72 | height.=.0;.......)static.int.cr |
| 103a0 | 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 20 7b 00 00 00 30 | eate_shm_file(size_t.size).{...0 |
| 103c0 | 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 61 79 6c | ....char.template[].=."/tmp/wayl |
| 103e0 | 61 6e 64 2d 73 68 6d 2d 58 58 58 58 58 58 22 3b 00 00 00 1f 20 20 20 20 69 6e 74 20 66 64 20 3d | and-shm-XXXXXX";........int.fd.= |
| 10400 | 20 6d 6b 73 74 65 6d 70 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 2f 20 20 20 20 69 66 20 28 66 | .mkstemp(template);.../....if.(f |
| 10420 | 64 20 3c 20 30 29 20 7b 20 70 65 72 72 6f 72 28 22 6d 6b 73 74 65 6d 70 22 29 3b 20 65 78 69 74 | d.<.0).{.perror("mkstemp");.exit |
| 10440 | 28 31 29 3b 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 | (1);.}........unlink(template);. |
| 10460 | 00 00 42 20 20 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 73 69 7a 65 29 20 3c | ..B....if.(ftruncate(fd,.size).< |
| 10480 | 20 30 29 20 7b 20 70 65 72 72 6f 72 28 22 66 74 72 75 6e 63 61 74 65 22 29 3b 20 65 78 69 74 28 | .0).{.perror("ftruncate");.exit( |
| 104a0 | 31 29 3b 20 7d 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 | 1);.}........return.fd;....}.... |
| 104c0 | 00 00 00 54 73 74 61 74 69 63 20 76 6f 69 64 20 77 6d 5f 62 61 73 65 5f 70 69 6e 67 28 76 6f 69 | ...Tstatic.void.wm_base_ping(voi |
| 104e0 | 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 20 2a 77 6d 5f | d.*data,.struct.xdg_wm_base.*wm_ |
| 10500 | 62 61 73 65 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 26 20 20 20 20 | base,.uint32_t.serial).{...&.... |
| 10520 | 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 5f 62 61 73 65 2c 20 73 65 72 69 61 6c | xdg_wm_base_pong(wm_base,.serial |
| 10540 | 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4d 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 | );....}.......Mstatic.const.stru |
| 10560 | 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_ |
| 10580 | 6c 69 73 74 65 6e 65 72 20 3d 20 7b 20 77 6d 5f 62 61 73 65 5f 70 69 6e 67 20 7d 3b 00 00 00 00 | listener.=.{.wm_base_ping.};.... |
| 105a0 | 00 00 00 61 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 | ...astatic.void.xdg_surface_conf |
| 105c0 | 69 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 | igure(void.*data,.struct.xdg_sur |
| 105e0 | 66 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 | face.*xdg_surface,.uint32_t.seri |
| 10600 | 61 6c 29 20 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 6f 6e | al).{...3....xdg_surface_ack_con |
| 10620 | 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 00 1f | figure(xdg_surface,.serial);.... |
| 10640 | 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);. |
| 10660 | 00 00 01 7d 00 00 00 00 00 00 00 5a 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 | ...}.......Zstatic.const.struct. |
| 10680 | 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 72 66 61 63 65 | xdg_surface_listener.xdg_surface |
| 106a0 | 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 20 78 64 67 5f 73 75 72 66 61 63 65 5f 63 6f 6e 66 69 67 | _listener.=.{.xdg_surface_config |
| 106c0 | 75 72 65 20 7d 3b 00 00 00 00 00 00 00 34 73 74 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 61 | ure.};.......4static.void.alloca |
| 106e0 | 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) |
| 10700 | 20 7b 00 00 00 11 20 20 20 20 69 66 20 28 62 75 66 66 65 72 29 20 7b 00 00 00 22 20 20 20 20 20 | .{........if.(buffer).{..."..... |
| 10720 | 20 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 62 75 66 66 65 72 29 3b 00 00 00 | ...wl_buffer_destroy(buffer);... |
| 10740 | 33 20 20 20 20 20 20 20 20 6d 75 6e 6d 61 70 28 70 69 78 65 6c 73 2c 20 62 75 66 5f 77 69 64 74 | 3........munmap(pixels,.buf_widt |
| 10760 | 68 20 2a 20 62 75 66 5f 68 65 69 67 68 74 20 2a 20 34 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 | h.*.buf_height.*.4);........}... |
| 10780 | 16 20 20 20 20 62 75 66 5f 77 69 64 74 68 20 3d 20 77 69 64 74 68 3b 00 00 00 18 20 20 20 20 62 | .....buf_width.=.width;........b |
| 107a0 | 75 66 5f 68 65 69 67 68 74 20 3d 20 68 65 69 67 68 74 3b 00 00 00 1b 20 20 20 20 69 6e 74 20 73 | uf_height.=.height;........int.s |
| 107c0 | 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 74 20 73 69 | tride.=.width.*.4;........int.si |
| 107e0 | 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 20 69 6e 74 | ze.=.stride.*.height;...#....int |
| 10800 | 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 49 | .fd.=.create_shm_file(size);...I |
| 10820 | 20 20 20 20 70 69 78 65 6c 73 20 3d 20 6d 6d 61 70 28 4e 55 4c 4c 2c 20 73 69 7a 65 2c 20 50 52 | ....pixels.=.mmap(NULL,.size,.PR |
| 10840 | 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 44 | OT_READ.|.PROT_WRITE,.MAP_SHARED |
| 10860 | 2c 20 66 64 2c 20 30 29 3b 00 00 00 3a 20 20 20 20 69 66 20 28 70 69 78 65 6c 73 20 3d 3d 20 4d | ,.fd,.0);...:....if.(pixels.==.M |
| 10880 | 41 50 5f 46 41 49 4c 45 44 29 20 7b 20 70 65 72 72 6f 72 28 22 6d 6d 61 70 22 29 3b 20 65 78 69 | AP_FAILED).{.perror("mmap");.exi |
| 108a0 | 74 28 31 29 3b 20 7d 00 00 00 1a 20 20 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 78 20 3d 20 70 69 | t(1);.}........uint32_t.*px.=.pi |
| 108c0 | 78 65 6c 73 3b 00 00 00 2c 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c | xels;...,....for.(int.i.=.0;.i.< |
| 108e0 | 20 77 69 64 74 68 20 2a 20 68 65 69 67 68 74 3b 20 69 2b 2b 29 00 00 00 29 20 20 20 20 20 20 20 | .width.*.height;.i++)...)....... |
| 10900 | 20 70 78 5b 69 5d 20 3d 20 30 78 66 66 30 30 30 30 66 66 3b 20 2f 2f 20 73 6f 6c 69 64 20 62 6c | .px[i].=.0xff0000ff;.//.solid.bl |
| 10920 | 75 65 00 00 00 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 | ue...A....struct.wl_shm_pool.*po |
| 10940 | 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 64 2c | ol.=.wl_shm_create_pool(shm,.fd, |
| 10960 | 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 5f 70 | .size);..._....buffer.=.wl_shm_p |
| 10980 | 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 74 68 | ool_create_buffer(pool,.0,.width |
| 109a0 | 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 54 5f | ,.height,.stride,.WL_SHM_FORMAT_ |
| 109c0 | 41 52 47 42 38 38 38 38 29 3b 00 00 00 2d 20 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 | ARGB8888);...-....wl_surface_att |
| 109e0 | 61 63 68 28 73 75 72 66 61 63 65 2c 20 62 75 66 66 65 72 2c 20 30 2c 20 30 29 3b 00 00 00 1f 20 | ach(surface,.buffer,.0,.0);..... |
| 10a00 | 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 00 | ...wl_surface_commit(surface);.. |
| 10a20 | 00 01 7d 00 00 00 00 00 00 00 49 73 74 61 74 69 63 20 76 6f 69 64 20 74 6f 70 6c 65 76 65 6c 5f | ..}.......Istatic.void.toplevel_ |
| 10a40 | 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 20 78 64 67 | configure(void.*data,.struct.xdg |
| 10a60 | 5f 74 6f 70 6c 65 76 65 6c 20 2a 74 6f 70 6c 65 76 65 6c 2c 00 00 00 58 20 20 20 20 20 20 20 20 | _toplevel.*toplevel,...X........ |
| 10a80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 33 32 5f 74 20 77 | .......................int32_t.w |
| 10aa0 | 69 64 74 68 2c 20 69 6e 74 33 32 5f 74 20 68 65 69 67 68 74 2c 20 73 74 72 75 63 74 20 77 6c 5f | idth,.int32_t.height,.struct.wl_ |
| 10ac0 | 61 72 72 61 79 20 2a 73 74 61 74 65 73 29 20 7b 00 00 00 20 20 20 20 20 69 66 20 28 77 69 64 74 | array.*states).{........if.(widt |
| 10ae0 | 68 20 3e 20 30 20 26 26 20 68 65 69 67 68 74 20 3e 20 30 29 00 00 00 27 20 20 20 20 20 20 20 20 | h.>.0.&&.height.>.0)...'........ |
| 10b00 | 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 72 28 77 69 64 74 68 2c 20 68 65 69 67 68 74 29 3b 00 | allocate_buffer(width,.height);. |
| 10b20 | 00 00 01 7d 00 00 00 00 00 00 00 47 73 74 61 74 69 63 20 76 6f 69 64 20 74 6f 70 6c 65 76 65 6c | ...}.......Gstatic.void.toplevel |
| 10b40 | 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 74 6f | _close(void.*data,.struct.xdg_to |
| 10b60 | 70 6c 65 76 65 6c 20 2a 74 6f 70 6c 65 76 65 6c 29 20 7b 00 00 00 10 20 20 20 20 72 75 6e 6e 69 | plevel.*toplevel).{........runni |
| 10b80 | 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 73 74 | ng.=.0;....}.......?static.const |
| 10ba0 | 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 74 6f | .struct.xdg_toplevel_listener.to |
| 10bc0 | 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 24 20 20 20 20 2e 63 6f 6e 66 | plevel_listener.=.{...$.....conf |
| 10be0 | 69 67 75 72 65 20 3d 20 74 6f 70 6c 65 76 65 6c 5f 63 6f 6e 66 69 67 75 72 65 2c 00 00 00 1b 20 | igure.=.toplevel_configure,..... |
| 10c00 | 20 20 20 2e 63 6c 6f 73 65 20 3d 20 74 6f 70 6c 65 76 65 6c 5f 63 6c 6f 73 65 00 00 00 02 7d 3b | ....close.=.toplevel_close....}; |
| 10c20 | 00 00 00 00 00 00 00 53 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 69 73 74 72 79 5f 68 61 6e | .......Sstatic.void.registry_han |
| 10c40 | 64 6c 65 72 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 | dler(void.*data,.struct.wl_regis |
| 10c60 | 74 72 79 20 2a 72 65 67 69 73 74 72 79 2c 20 75 69 6e 74 33 32 5f 74 20 69 64 2c 00 00 00 47 20 | try.*registry,.uint32_t.id,...G. |
| 10c80 | 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 6f 6e 73 | ............................cons |
| 10ca0 | 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 |
| 10cc0 | 69 6f 6e 29 20 7b 00 00 00 30 20 20 20 20 69 66 20 28 73 74 72 63 6d 70 28 69 6e 74 65 72 66 61 | ion).{...0....if.(strcmp(interfa |
| 10ce0 | 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 00 00 00 51 20 20 | ce,."wl_compositor").==.0)...Q.. |
| 10d00 | 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 62 | ......compositor.=.wl_registry_b |
| 10d20 | 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 69 64 2c 20 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 | ind(registry,.id,.&wl_compositor |
| 10d40 | 5f 69 6e 74 65 72 66 61 63 65 2c 20 34 29 3b 00 00 00 2e 20 20 20 20 65 6c 73 65 20 69 66 20 28 | _interface,.4);........else.if.( |
| 10d60 | 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 |
| 10d80 | 29 00 00 00 43 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 | )...C........shm.=.wl_registry_b |
| 10da0 | 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 69 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 | ind(registry,.id,.&wl_shm_interf |
| 10dc0 | 61 63 65 2c 20 31 29 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 | ace,.1);...5....else.if.(strcmp( |
| 10de0 | 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). |
| 10e00 | 7b 00 00 00 4c 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 | {...L........wm_base.=.wl_regist |
| 10e20 | 72 79 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 69 64 2c 20 26 78 64 67 5f 77 6d 5f 62 61 | ry_bind(registry,.id,.&xdg_wm_ba |
| 10e40 | 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 64 67 | se_interface,.1);...C........xdg |
| 10e60 | 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 20 26 | _wm_base_add_listener(wm_base,.& |
| 10e80 | 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 05 20 20 20 20 | wm_base_listener,.NULL);........ |
| 10ea0 | 7d 00 00 00 01 7d 00 00 00 00 00 00 00 58 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 | }....}.......Xstatic.const.struc |
| 10ec0 | 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 74 72 79 5f | t.wl_registry_listener.registry_ |
| 10ee0 | 6c 69 73 74 65 6e 65 72 20 3d 20 7b 20 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 2c 20 4e | listener.=.{.registry_handler,.N |
| 10f00 | 55 4c 4c 20 7d 3b 00 00 00 00 00 00 00 0c 69 6e 74 20 6d 61 69 6e 28 29 20 7b 00 00 00 27 20 20 | ULL.};........int.main().{...'.. |
| 10f20 | 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 28 4e | ..display.=.wl_display_connect(N |
| 10f40 | 55 4c 4c 29 3b 00 00 00 5a 20 20 20 20 69 66 20 28 21 64 69 73 70 6c 61 79 29 20 7b 20 66 70 72 | ULL);...Z....if.(!display).{.fpr |
| 10f60 | 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 46 61 69 6c 65 64 20 74 6f 20 63 6f 6e 6e 65 63 74 20 | intf(stderr,."Failed.to.connect. |
| 10f80 | 74 6f 20 57 61 79 6c 61 6e 64 20 64 69 73 70 6c 61 79 5c 6e 22 29 3b 20 72 65 74 75 72 6e 20 31 | to.Wayland.display\n");.return.1 |
| 10fa0 | 3b 20 7d 00 00 00 00 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 | ;.}.......0....registry.=.wl_dis |
| 10fc0 | 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 20 | play_get_registry(display);...A. |
| 10fe0 | 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 69 | ...wl_registry_add_listener(regi |
| 11000 | 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 3b | stry,.®istry_listener,.NULL); |
| 11020 | 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 73 | ..."....wl_display_roundtrip(dis |
| 11040 | 70 6c 61 79 29 3b 00 00 00 00 00 00 00 6d 20 20 20 20 69 66 20 28 21 63 6f 6d 70 6f 73 69 74 6f | play);.......m....if.(!composito |
| 11060 | 72 20 7c 7c 20 21 73 68 6d 20 7c 7c 20 21 77 6d 5f 62 61 73 65 29 20 7b 20 66 70 72 69 6e 74 66 | r.||.!shm.||.!wm_base).{.fprintf |
| 11080 | 28 73 74 64 65 72 72 2c 20 22 4d 69 73 73 69 6e 67 20 72 65 71 75 69 72 65 64 20 57 61 79 6c 61 | (stderr,."Missing.required.Wayla |
| 110a0 | 6e 64 20 67 6c 6f 62 61 6c 73 5c 6e 22 29 3b 20 72 65 74 75 72 6e 20 31 3b 20 7d 00 00 00 00 00 | nd.globals\n");.return.1;.}..... |
| 110c0 | 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 74 6f 72 5f 63 | ..7....surface.=.wl_compositor_c |
| 110e0 | 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 00 00 40 20 20 | reate_surface(compositor);...@.. |
| 11100 | 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 5f 67 65 74 5f | ..xdg_surface.=.xdg_wm_base_get_ |
| 11120 | 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 65 29 3b 00 00 | xdg_surface(wm_base,.surface);.. |
| 11140 | 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 6e 65 72 28 78 | .G....xdg_surface_add_listener(x |
| 11160 | 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 73 74 65 6e 65 | dg_surface,.&xdg_surface_listene |
| 11180 | 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 00 00 00 00 35 20 20 20 20 74 6f 70 6c 65 76 65 6c 20 3d 20 | r,.NULL);.......5....toplevel.=. |
| 111a0 | 78 64 67 5f 73 75 72 66 61 63 65 5f 67 65 74 5f 74 6f 70 6c 65 76 65 6c 28 78 64 67 5f 73 75 72 | xdg_surface_get_toplevel(xdg_sur |
| 111c0 | 66 61 63 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 | face);...B....xdg_toplevel_add_l |
| 111e0 | 69 73 74 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 | istener(toplevel,.&toplevel_list |
| 11200 | 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 00 00 00 00 1f 20 20 20 20 77 6c 5f 73 75 72 66 61 | ener,.NULL);............wl_surfa |
| 11220 | 63 65 5f 63 6f 6d 6d 69 74 28 73 75 72 66 61 63 65 29 3b 00 00 00 22 20 20 20 20 77 6c 5f 64 69 | ce_commit(surface);..."....wl_di |
| 11240 | 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 00 00 00 00 | splay_roundtrip(display);....... |
| 11260 | 36 20 20 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 | 6....while.(running.&&.wl_displa |
| 11280 | 79 5f 64 69 73 70 61 74 63 68 28 64 69 73 70 6c 61 79 29 29 20 7b 7d 00 00 00 00 00 00 00 0d 20 | y_dispatch(display)).{}......... |
| 112a0 | 20 20 20 72 65 74 75 72 6e 20 30 3b 35 81 f5 18 00 00 00 00 00 00 00 00 09 00 00 00 75 00 00 00 | ...return.0;5...............u... |
| 112c0 | 02 00 00 00 8a 00 00 00 00 00 00 00 09 00 00 00 00 00 00 00 18 10 00 00 00 00 00 00 a7 10 00 00 | ................................ |
| 112e0 | 00 00 00 00 35 81 5f d0 00 00 00 25 00 00 00 27 00 00 00 00 00 00 00 00 00 00 00 26 00 00 00 0a | ....5._....%...'...........&.... |
| 11300 | 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 00 00 00 | ................................ |
| 11320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 11340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 11360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 11380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 113a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 113c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 113e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 11400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 11420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 11440 | 00 00 00 00 00 00 00 00 00 25 00 00 00 00 00 00 00 00 00 00 00 0a 00 00 00 00 00 00 00 00 00 00 | .........%...................... |
| 11460 | 00 76 00 00 00 00 00 00 00 00 69 9d 86 f7 04 01 00 00 00 00 00 f5 18 00 00 00 09 00 00 00 0a 00 | .v........i..................... |
| 11480 | 00 00 00 00 00 00 1c 00 00 00 1b 73 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 20 2a 64 69 | ...........struct.wl_display.*di |
| 114a0 | 73 70 6c 61 79 3b 00 00 00 1d 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 | splay;....struct.wl_registry.*re |
| 114c0 | 67 69 73 74 72 79 3b 00 00 00 21 73 74 72 75 63 74 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 20 | gistry;...!struct.wl_compositor. |
| 114e0 | 2a 63 6f 6d 70 6f 73 69 74 6f 72 3b 00 00 00 13 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 | *compositor;....struct.wl_shm.*s |
| 11500 | 68 6d 3b 00 00 00 1c 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 | hm;....struct.xdg_wm_base.*wm_ba |
| 11520 | 73 65 3b 00 00 00 1b 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 | se;....struct.wl_surface.*surfac |
| 11540 | 65 3b 00 00 00 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 | e;....struct.xdg_surface.*xdg_su |
| 11560 | 72 66 61 63 65 3b 00 00 00 1e 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 74 | rface;....struct.xdg_toplevel.*t |
| 11580 | 6f 70 6c 65 76 65 6c 3b 00 00 00 00 00 00 00 17 73 74 61 74 69 63 20 69 6e 74 20 72 75 6e 6e 69 | oplevel;........static.int.runni |
| 115a0 | 6e 67 20 3d 20 31 3b 00 00 00 27 73 74 61 74 69 63 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 | ng.=.1;...'static.struct.wl_buff |
| 115c0 | 65 72 20 2a 62 75 66 66 65 72 20 3d 20 4e 55 4c 4c 3b 00 00 00 1b 73 74 61 74 69 63 20 76 6f 69 | er.*buffer.=.NULL;....static.voi |
| 115e0 | 64 20 2a 70 69 78 65 6c 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 29 73 74 61 74 69 63 20 69 6e 74 20 | d.*pixels.=.NULL;...)static.int. |
| 11600 | 62 75 66 5f 77 69 64 74 68 20 3d 20 30 2c 20 62 75 66 5f 68 65 69 67 68 74 20 3d 20 30 3b 00 00 | buf_width.=.0,.buf_height.=.0;.. |
| 11620 | 00 00 00 00 00 29 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 | .....)static.int.create_shm_file |
| 11640 | 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 2e 20 20 63 68 61 72 20 74 65 6d 70 6c 61 | (size_t.size).{......char.templa |
| 11660 | 74 65 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 61 79 6c 61 6e 64 2d 73 68 6d 2d 58 58 58 58 58 58 22 | te[].=."/tmp/wayland-shm-XXXXXX" |
| 11680 | 3b 00 00 00 1d 20 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 65 6d 70 6c 61 74 65 | ;......int.fd.=.mkstemp(template |
| 116a0 | 29 3b 00 00 00 0f 20 20 69 66 20 28 66 64 20 3c 20 30 29 20 7b 00 00 00 16 20 20 20 20 70 65 72 | );......if.(fd.<.0).{........per |
| 116c0 | 72 6f 72 28 22 6d 6b 73 74 65 6d 70 22 29 3b 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 | ror("mkstemp");........exit(1);. |
| 116e0 | 00 00 03 20 20 7d 00 00 00 13 20 20 75 6e 6c 69 6e 6b 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 | .....}......unlink(template);... |
| 11700 | 20 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 73 69 7a 65 29 20 3c 20 30 29 20 | ...if.(ftruncate(fd,.size).<.0). |
| 11720 | 7b 00 00 00 18 20 20 20 20 70 65 72 72 6f 72 28 22 66 74 72 75 6e 63 61 74 65 22 29 3b 00 00 00 | {........perror("ftruncate");... |
| 11740 | 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 03 20 20 7d 00 00 00 0c 20 20 72 65 74 75 72 6e | .....exit(1);......}......return |
| 11760 | 20 66 64 3b 00 00 00 01 7d 35 81 f5 18 00 00 00 00 09 00 00 00 00 00 00 00 1c 00 00 00 00 00 00 | .fd;....}5...................... |
| 11780 | 00 00 00 00 00 00 00 00 00 bc 00 00 00 00 00 00 00 8e 02 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 117a0 | 00 35 81 5f d0 00 00 00 26 00 00 00 28 00 00 00 00 00 00 00 00 00 00 00 27 00 00 00 01 00 00 00 | .5._....&...(...........'....... |
| 117c0 | 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 | ................................ |
| 117e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 11800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 11820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 11840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 11860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 11880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 118a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 118c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 118e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 11900 | 00 00 00 00 00 00 0a 00 00 00 00 00 00 00 00 00 00 00 0a 00 00 00 00 00 00 00 00 00 00 00 76 00 | ..............................v. |
| 11920 | 00 00 00 00 00 00 00 69 9d 86 f9 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 00 00 00 | .......i........................ |
| 11940 | 00 00 00 70 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 | ...p...&#include."xdg-shell-clie |
| 11960 | 6e 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 66 63 6e 74 | nt-protocol.h"....#include.<fcnt |
| 11980 | 6c 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6f 2e 68 3e 00 00 00 13 23 69 | l.h>....#include.<stdio.h>....#i |
| 119a0 | 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 |
| 119c0 | 74 72 69 6e 67 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e 68 | tring.h>....#include.<sys/mman.h |
| 119e0 | 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 75 6e 69 73 74 64 2e 68 3e 00 00 00 1b 23 69 6e 63 | >....#include.<unistd.h>....#inc |
| 11a00 | 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 00 00 00 00 00 00 | lude.<wayland-client.h>......... |
| 11a20 | 00 00 41 73 74 61 74 69 63 20 76 6f 69 64 20 77 6d 5f 62 61 73 65 5f 70 69 6e 67 28 76 6f 69 64 | ..Astatic.void.wm_base_ping(void |
| 11a40 | 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 77 6d 5f 62 | .*data,.struct.xdg_wm_base.*wm_b |
| 11a60 | 61 73 65 2c 00 00 00 2b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ase,...+........................ |
| 11a80 | 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 24 20 20 78 64 67 5f 77 6d 5f | .uint32_t.serial).{...$..xdg_wm_ |
| 11aa0 | 62 61 73 65 5f 70 6f 6e 67 28 77 6d 5f 62 61 73 65 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 01 7d | base_pong(wm_base,.serial);....} |
| 11ac0 | 00 00 00 00 00 00 00 4b 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f | .......Kstatic.const.struct.xdg_ |
| 11ae0 | 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 |
| 11b00 | 72 20 3d 20 7b 77 6d 5f 62 61 73 65 5f 70 69 6e 67 7d 3b 00 00 00 00 00 00 00 4e 73 74 61 74 69 | r.=.{wm_base_ping};.......Nstati |
| 11b20 | 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 69 | c.void.xdg_surface_configure(voi |
| 11b40 | 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 67 | d.*data,.struct.xdg_surface.*xdg |
| 11b60 | 5f 73 75 72 66 61 63 65 2c 00 00 00 34 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | _surface,...4................... |
| 11b80 | 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 29 20 | ...............uint32_t.serial). |
| 11ba0 | 7b 00 00 00 31 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 | {...1..xdg_surface_ack_configure |
| 11bc0 | 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 1d 20 20 77 6c 5f 73 | (xdg_surface,.serial);......wl_s |
| 11be0 | 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 00 | urface_commit(surface);....}.... |
| 11c00 | 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 72 66 | ...Astatic.const.struct.xdg_surf |
| 11c20 | 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 6e 65 | ace_listener.xdg_surface_listene |
| 11c40 | 72 20 3d 20 7b 00 00 00 1b 20 20 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 63 6f 6e 66 69 67 75 | r.=.{........xdg_surface_configu |
| 11c60 | 72 65 7d 3b 00 00 00 00 00 00 00 34 73 74 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 61 74 65 | re};.......4static.void.allocate |
| 11c80 | 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 20 7b | _buffer(int.width,.int.height).{ |
| 11ca0 | 00 00 00 0f 20 20 69 66 20 28 62 75 66 66 65 72 29 20 7b 00 00 00 1e 20 20 20 20 77 6c 5f 62 75 | ......if.(buffer).{........wl_bu |
| 11cc0 | 66 66 65 72 5f 64 65 73 74 72 6f 79 28 62 75 66 66 65 72 29 3b 00 00 00 2f 20 20 20 20 6d 75 6e | ffer_destroy(buffer);.../....mun |
| 11ce0 | 6d 61 70 28 70 69 78 65 6c 73 2c 20 62 75 66 5f 77 69 64 74 68 20 2a 20 62 75 66 5f 68 65 69 67 | map(pixels,.buf_width.*.buf_heig |
| 11d00 | 68 74 20 2a 20 34 29 3b 00 00 00 03 20 20 7d 00 00 00 14 20 20 62 75 66 5f 77 69 64 74 68 20 3d | ht.*.4);......}......buf_width.= |
| 11d20 | 20 77 69 64 74 68 3b 00 00 00 16 20 20 62 75 66 5f 68 65 69 67 68 74 20 3d 20 68 65 69 67 68 74 | .width;......buf_height.=.height |
| 11d40 | 3b 00 00 00 19 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 | ;......int.stride.=.width.*.4;.. |
| 11d60 | 00 1d 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;. |
| 11d80 | 00 00 21 20 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 | ..!..int.fd.=.create_shm_file(si |
| 11da0 | 7a 65 29 3b 00 00 00 47 20 20 70 69 78 65 6c 73 20 3d 20 6d 6d 61 70 28 4e 55 4c 4c 2c 20 73 69 | ze);...G..pixels.=.mmap(NULL,.si |
| 11dc0 | 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 41 50 5f | ze,.PROT_READ.|.PROT_WRITE,.MAP_ |
| 11de0 | 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 1d 20 20 69 66 20 28 70 69 78 65 6c 73 20 | SHARED,.fd,.0);......if.(pixels. |
| 11e00 | 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 20 7b 00 00 00 13 20 20 20 20 70 65 72 72 6f 72 28 22 | ==.MAP_FAILED).{........perror(" |
| 11e20 | 6d 6d 61 70 22 29 3b 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 03 20 20 7d 00 00 | mmap");........exit(1);......}.. |
| 11e40 | 00 18 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 78 20 3d 20 70 69 78 65 6c 73 3b 00 00 00 2a 20 20 | ....uint32_t.*px.=.pixels;...*.. |
| 11e60 | 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 77 69 64 74 68 20 2a 20 68 65 69 67 | for.(int.i.=.0;.i.<.width.*.heig |
| 11e80 | 68 74 3b 20 69 2b 2b 29 00 00 00 25 20 20 20 20 70 78 5b 69 5d 20 3d 20 30 78 66 66 30 30 30 30 | ht;.i++)...%....px[i].=.0xff0000 |
| 11ea0 | 66 66 3b 20 2f 2f 20 73 6f 6c 69 64 20 62 6c 75 65 00 00 00 3f 20 20 73 74 72 75 63 74 20 77 6c | ff;.//.solid.blue...?..struct.wl |
| 11ec0 | 5f 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 20 3d 20 77 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f | _shm_pool.*pool.=.wl_shm_create_ |
| 11ee0 | 70 6f 6f 6c 28 73 68 6d 2c 20 66 64 2c 20 73 69 7a 65 29 3b 00 00 00 44 20 20 62 75 66 66 65 72 | pool(shm,.fd,.size);...D..buffer |
| 11f00 | 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 6f 6f | .=.wl_shm_pool_create_buffer(poo |
| 11f20 | 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 00 00 00 3d | l,.0,.width,.height,.stride,...= |
| 11f40 | 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 | ................................ |
| 11f60 | 20 20 20 20 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 | .....WL_SHM_FORMAT_ARGB8888);... |
| 11f80 | 2b 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 62 75 | +..wl_surface_attach(surface,.bu |
| 11fa0 | 66 66 65 72 2c 20 30 2c 20 30 29 3b 00 00 00 1d 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d | ffer,.0,.0);......wl_surface_com |
| 11fc0 | 6d 69 74 28 73 75 72 66 61 63 65 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 49 73 74 61 74 69 63 | mit(surface);....}.......Istatic |
| 11fe0 | 20 76 6f 69 64 20 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 | .void.toplevel_configure(void.*d |
| 12000 | 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 |
| 12020 | 65 6c 2c 00 00 00 3d 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,...=......................... |
| 12040 | 20 20 20 20 20 20 69 6e 74 33 32 5f 74 20 77 69 64 74 68 2c 20 69 6e 74 33 32 5f 74 20 68 65 69 | ......int32_t.width,.int32_t.hei |
| 12060 | 67 68 74 2c 00 00 00 39 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ght,...9........................ |
| 12080 | 20 20 20 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 74 61 74 65 73 29 20 | .......struct.wl_array.*states). |
| 120a0 | 7b 00 00 00 1e 20 20 69 66 20 28 77 69 64 74 68 20 3e 20 30 20 26 26 20 68 65 69 67 68 74 20 3e | {......if.(width.>.0.&&.height.> |
| 120c0 | 20 30 29 00 00 00 23 20 20 20 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 72 28 77 69 64 74 68 | .0)...#....allocate_buffer(width |
| 120e0 | 2c 20 68 65 69 67 68 74 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 47 73 74 61 74 69 63 20 76 6f | ,.height);....}.......Gstatic.vo |
| 12100 | 69 64 20 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 | id.toplevel_close(void.*data,.st |
| 12120 | 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 20 7b 00 00 | ruct.xdg_toplevel.*toplevel).{.. |
| 12140 | 00 0e 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 74 61 | ....running.=.0;....}.......?sta |
| 12160 | 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 6c 69 | tic.const.struct.xdg_toplevel_li |
| 12180 | 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 00 3e | stener.toplevel_listener.=.{...> |
| 121a0 | 20 20 20 20 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 74 6f 70 6c 65 76 65 6c 5f 63 6f 6e 66 69 67 | .....configure.=.toplevel_config |
| 121c0 | 75 72 65 2c 20 2e 63 6c 6f 73 65 20 3d 20 74 6f 70 6c 65 76 65 6c 5f 63 6c 6f 73 65 7d 3b 00 00 | ure,..close.=.toplevel_close};.. |
| 121e0 | 00 00 00 00 00 46 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c | .....Fstatic.void.registry_handl |
| 12200 | 65 72 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 | er(void.*data,.struct.wl_registr |
| 12220 | 79 20 2a 72 65 67 69 73 74 72 79 2c 00 00 00 40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | y.*registry,...@................ |
| 12240 | 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 69 64 2c 20 63 6f 6e 73 74 20 | .............uint32_t.id,.const. |
| 12260 | 63 68 61 72 20 2a 69 6e 74 65 72 66 61 63 65 2c 00 00 00 30 20 20 20 20 20 20 20 20 20 20 20 20 | char.*interface,...0............ |
| 12280 | 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 76 65 72 73 69 6f | .................uint32_t.versio |
| 122a0 | 6e 29 20 7b 00 00 00 2e 20 20 69 66 20 28 73 74 72 63 6d 70 28 69 6e 74 65 72 66 61 63 65 2c 20 | n).{......if.(strcmp(interface,. |
| 122c0 | 22 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 22 29 20 3d 3d 20 30 29 00 00 00 4d 20 20 20 20 63 6f | "wl_compositor").==.0)...M....co |
| 122e0 | 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 72 65 67 69 | mpositor.=.wl_registry_bind(regi |
| 12300 | 73 74 72 79 2c 20 69 64 2c 20 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 69 6e 74 65 72 66 61 | stry,.id,.&wl_compositor_interfa |
| 12320 | 63 65 2c 20 34 29 3b 00 00 00 2c 20 20 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d 70 28 69 6e 74 | ce,.4);...,..else.if.(strcmp(int |
| 12340 | 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 3f 20 20 20 20 73 | erface,."wl_shm").==.0)...?....s |
| 12360 | 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,. |
| 12380 | 69 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 33 20 20 | id,.&wl_shm_interface,.1);...3.. |
| 123a0 | 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 78 64 67 5f | else.if.(strcmp(interface,."xdg_ |
| 123c0 | 77 6d 5f 62 61 73 65 22 29 20 3d 3d 20 30 29 20 7b 00 00 00 48 20 20 20 20 77 6d 5f 62 61 73 65 | wm_base").==.0).{...H....wm_base |
| 123e0 | 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 69 64 | .=.wl_registry_bind(registry,.id |
| 12400 | 2c 20 26 78 64 67 5f 77 6d 5f 62 61 73 65 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 | ,.&xdg_wm_base_interface,.1);... |
| 12420 | 3f 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 |
| 12440 | 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); |
| 12460 | 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 4f 73 74 61 74 69 63 20 63 6f 6e 73 74 | ......}....}.......Ostatic.const |
| 12480 | 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 72 65 67 | .struct.wl_registry_listener.reg |
| 124a0 | 69 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c | istry_listener.=.{registry_handl |
| 124c0 | 65 72 2c 00 00 00 44 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | er,...D......................... |
| 124e0 | 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 | ................................ |
| 12500 | 20 20 20 20 20 4e 55 4c 4c 7d 3b 00 00 00 00 00 00 00 0c 69 6e 74 20 6d 61 69 6e 28 29 20 7b 00 | .....NULL};........int.main().{. |
| 12520 | 00 00 25 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 | ..%..display.=.wl_display_connec |
| 12540 | 74 28 4e 55 4c 4c 29 3b 00 00 00 11 20 20 69 66 20 28 21 64 69 73 70 6c 61 79 29 20 7b 00 00 00 | t(NULL);......if.(!display).{... |
| 12560 | 3e 20 20 20 20 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 46 61 69 6c 65 64 20 74 6f 20 | >....fprintf(stderr,."Failed.to. |
| 12580 | 63 6f 6e 6e 65 63 74 20 74 6f 20 57 61 79 6c 61 6e 64 20 64 69 73 70 6c 61 79 5c 6e 22 29 3b 00 | connect.to.Wayland.display\n");. |
| 125a0 | 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 2e 20 | .......return.1;......}......... |
| 125c0 | 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 65 67 69 73 | .registry.=.wl_display_get_regis |
| 125e0 | 74 72 79 28 64 69 73 70 6c 61 79 29 3b 00 00 00 3f 20 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 61 | try(display);...?..wl_registry_a |
| 12600 | 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 69 73 74 72 79 5f | dd_listener(registry,.®istry_ |
| 12620 | 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 | listener,.NULL);......wl_display |
| 12640 | 5f 72 6f 75 6e 64 74 72 69 70 28 64 69 73 70 6c 61 79 29 3b 00 00 00 00 00 00 00 28 20 20 69 66 | _roundtrip(display);.......(..if |
| 12660 | 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 |
| 12680 | 65 29 20 7b 00 00 00 3a 20 20 20 20 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 4d 69 73 | e).{...:....fprintf(stderr,."Mis |
| 126a0 | 73 69 6e 67 20 72 65 71 75 69 72 65 64 20 57 61 79 6c 61 6e 64 20 67 6c 6f 62 61 6c 73 5c 6e 22 | sing.required.Wayland.globals\n" |
| 126c0 | 29 3b 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 | );........return.1;......}...... |
| 126e0 | 00 35 20 20 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 | .5..surface.=.wl_compositor_crea |
| 12700 | 74 65 5f 73 75 72 66 61 63 65 28 63 6f 6d 70 6f 73 69 74 6f 72 29 3b 00 00 00 3e 20 20 78 64 67 | te_surface(compositor);...>..xdg |
| 12720 | 5f 73 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 | _surface.=.xdg_wm_base_get_xdg_s |
| 12740 | 75 72 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 45 20 20 78 | urface(wm_base,.surface);...E..x |
| 12760 | 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 |
| 12780 | 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 |
| 127a0 | 29 3b 00 00 00 00 00 00 00 33 20 20 74 6f 70 6c 65 76 65 6c 20 3d 20 78 64 67 5f 73 75 72 66 61 | );.......3..toplevel.=.xdg_surfa |
| 127c0 | 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);... |
| 127e0 | 40 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 6f 70 | @..xdg_toplevel_add_listener(top |
| 12800 | 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 4c 29 | level,.&toplevel_listener,.NULL) |
| 12820 | 3b 00 00 00 00 00 00 00 1d 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 73 75 72 | ;..........wl_surface_commit(sur |
| 12840 | 66 61 63 65 29 3b 00 00 00 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 | face);......wl_display_roundtrip |
| 12860 | 28 64 69 73 70 6c 61 79 29 3b 00 00 00 00 00 00 00 33 20 20 77 68 69 6c 65 20 28 72 75 6e 6e 69 | (display);.......3..while.(runni |
| 12880 | 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 61 | ng.&&.wl_display_dispatch(displa |
| 128a0 | 79 29 29 20 7b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 0b 20 20 72 65 74 75 72 6e 20 30 3b 00 | y)).{......}..........return.0;. |
| 128c0 | 00 00 01 7d 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 70 00 00 00 00 00 00 00 01 00 00 00 | ...}5...............p........... |
| 128e0 | 00 00 00 00 00 00 00 00 00 00 00 00 30 0e 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 | ............0...............5._. |
| 12900 | 00 00 00 27 00 00 00 29 00 00 00 00 00 00 00 00 00 00 00 28 00 00 00 01 00 00 00 00 00 00 00 00 | ...'...)...........(............ |
| 12920 | 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 00 | ................................ |
| 12940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 129a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 129c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 129e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12a00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12a60 | 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 76 00 00 00 00 00 00 | .........................v...... |
| 12a80 | 00 00 69 9d 86 f9 04 01 00 00 00 00 00 f5 18 00 00 00 b1 00 00 00 00 00 00 00 00 00 00 00 01 00 | ..i............................. |
| 12aa0 | 00 00 01 7d f5 18 00 00 00 b2 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 7f 00 00 00 00 | ...}............................ |
| 12ac0 | 00 00 00 00 00 00 00 01 00 00 00 3c 73 74 61 74 69 63 20 76 6f 69 64 20 74 6f 70 6c 65 76 65 6c | ...........<static.void.toplevel |
| 12ae0 | 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 74 6f | _close(void.*data,.struct.xdg_to |
| 12b00 | 70 6c 65 76 65 6c 20 2a f5 18 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 | plevel.*........................ |
| 12b20 | 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 00 00 | ................................ |
| 12b40 | 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 7f 00 00 00 3c 00 | ..5...........................<. |
| 12b60 | 00 00 00 00 00 00 00 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 | ................................ |
| 12b80 | 7f 00 00 00 3c 00 00 00 00 00 00 00 00 00 00 00 32 00 00 00 01 00 00 00 00 10 00 00 00 00 00 00 | ....<...........2............... |
| 12ba0 | 00 00 00 00 00 00 00 00 38 07 00 00 00 00 00 00 35 81 5f d0 00 00 00 28 00 00 00 2a 00 00 00 00 | ........8.......5._....(...*.... |
| 12bc0 | 00 00 00 00 00 00 00 29 00 00 00 b2 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 | .......)........................ |
| 12be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12c00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12c20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12c60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12c80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12d00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12d20 | 00 01 00 00 00 00 00 00 00 00 00 00 00 76 00 00 00 00 00 00 00 00 69 9d 86 fa 04 01 00 00 00 10 | .............v........i......... |
| 12d40 | 00 f5 18 00 00 00 1a 00 00 00 c9 00 00 00 b2 00 00 00 97 00 00 00 30 20 20 20 20 63 68 61 72 20 | ......................0....char. |
| 12d60 | 74 65 6d 70 6c 61 74 65 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 61 79 6c 61 6e 64 2d 73 68 6d 2d 58 | template[].=."/tmp/wayland-shm-X |
| 12d80 | 58 58 58 58 58 22 3b 00 00 00 1f 20 20 20 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 | XXXXX";........int.fd.=.mkstemp( |
| 12da0 | 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 00 | template);........if.(fd.<.0).{. |
| 12dc0 | 00 00 1a 20 20 20 20 20 20 20 20 70 65 72 72 6f 72 28 22 6d 6b 73 74 65 6d 70 22 29 3b 00 00 00 | ...........perror("mkstemp");... |
| 12de0 | 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 7d 00 00 00 15 20 20 | .........exit(1);........}...... |
| 12e00 | 20 20 75 6e 6c 69 6e 6b 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 22 20 20 20 20 69 66 20 28 66 | ..unlink(template);..."....if.(f |
| 12e20 | 74 72 75 6e 63 61 74 65 28 66 64 2c 20 73 69 7a 65 29 20 3c 20 30 29 20 7b 00 00 00 1c 20 20 20 | truncate(fd,.size).<.0).{....... |
| 12e40 | 20 20 20 20 20 70 65 72 72 6f 72 28 22 66 74 72 75 6e 63 61 74 65 22 29 3b 00 00 00 10 20 20 20 | .....perror("ftruncate");....... |
| 12e60 | 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 0e 20 20 20 20 72 65 | .....exit(1);........}........re |
| 12e80 | 74 75 72 6e 20 66 64 3b 00 00 00 01 7d 00 00 00 00 00 00 00 54 73 74 61 74 69 63 20 76 6f 69 64 | turn.fd;....}.......Tstatic.void |
| 12ea0 | 20 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 |
| 12ec0 | 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 5f 62 61 73 65 2c 20 75 69 6e 74 33 32 5f 74 20 | .xdg_wm_base.*wm_base,.uint32_t. |
| 12ee0 | 73 65 72 69 61 6c 29 20 7b 00 00 00 26 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e | serial).{...&....xdg_wm_base_pon |
| 12f00 | 67 28 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 4b | g(wm_base,.serial);....}.......K |
| 12f20 | 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_ |
| 12f40 | 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 77 6d 5f | listener.wm_base_listener.=.{wm_ |
| 12f60 | 62 61 73 65 5f 70 69 6e 67 7d 3b 00 00 00 00 00 00 00 4e 73 74 61 74 69 63 20 76 6f 69 64 20 78 | base_ping};.......Nstatic.void.x |
| 12f80 | 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, |
| 12fa0 | 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 |
| 12fc0 | 2c 00 00 00 34 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ,...4........................... |
| 12fe0 | 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 33 20 20 20 | .......uint32_t.serial).{...3... |
| 13000 | 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 63 6b 5f 63 6f 6e 66 69 67 75 72 65 28 78 64 67 5f 73 | .xdg_surface_ack_configure(xdg_s |
| 13020 | 75 72 66 61 63 65 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 1f 20 20 20 20 77 6c 5f 73 75 72 66 61 | urface,.serial);........wl_surfa |
| 13040 | 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 00 00 00 00 58 | ce_commit(surface);....}.......X |
| 13060 | 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 5f | static.const.struct.xdg_surface_ |
| 13080 | 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 6e 65 72 20 3d 20 | listener.xdg_surface_listener.=. |
| 130a0 | 7b 78 64 67 5f 73 75 72 66 61 63 65 5f 63 6f 6e 66 69 67 75 72 65 7d 3b 00 00 00 00 00 00 00 34 | {xdg_surface_configure};.......4 |
| 130c0 | 73 74 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 72 28 69 6e 74 20 | static.void.allocate_buffer(int. |
| 130e0 | 77 69 64 74 68 2c 20 69 6e 74 20 68 65 69 67 68 74 29 20 7b 00 00 00 11 20 20 20 20 69 66 20 28 | width,.int.height).{........if.( |
| 13100 | 62 75 66 66 65 72 29 20 7b 00 00 00 22 20 20 20 20 20 20 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 | buffer).{..."........wl_buffer_d |
| 13120 | 65 73 74 72 6f 79 28 62 75 66 66 65 72 29 3b 00 00 00 33 20 20 20 20 20 20 20 20 6d 75 6e 6d 61 | estroy(buffer);...3........munma |
| 13140 | 70 28 70 69 78 65 6c 73 2c 20 62 75 66 5f 77 69 64 74 68 20 2a 20 62 75 66 5f 68 65 69 67 68 74 | p(pixels,.buf_width.*.buf_height |
| 13160 | 20 2a 20 34 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 16 20 20 20 20 62 75 66 5f 77 69 64 74 68 | .*.4);........}........buf_width |
| 13180 | 20 3d 20 77 69 64 74 68 3b 00 00 00 18 20 20 20 20 62 75 66 5f 68 65 69 67 68 74 20 3d 20 68 65 | .=.width;........buf_height.=.he |
| 131a0 | 69 67 68 74 3b 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 | ight;........int.stride.=.width. |
| 131c0 | 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.*. |
| 131e0 | 68 65 69 67 68 74 3b 00 00 00 23 20 20 20 20 69 6e 74 20 66 64 20 3d 20 63 72 65 61 74 65 5f 73 | height;...#....int.fd.=.create_s |
| 13200 | 68 6d 5f 66 69 6c 65 28 73 69 7a 65 29 3b 00 00 00 49 20 20 20 20 70 69 78 65 6c 73 20 3d 20 6d | hm_file(size);...I....pixels.=.m |
| 13220 | 6d 61 70 28 4e 55 4c 4c 2c 20 73 69 7a 65 2c 20 50 52 4f 54 5f 52 45 41 44 20 7c 20 50 52 4f 54 | map(NULL,.size,.PROT_READ.|.PROT |
| 13240 | 5f 57 52 49 54 45 2c 20 4d 41 50 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 1f 20 | _WRITE,.MAP_SHARED,.fd,.0);..... |
| 13260 | 20 20 20 69 66 20 28 70 69 78 65 6c 73 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 20 7b 00 00 | ...if.(pixels.==.MAP_FAILED).{.. |
| 13280 | 00 17 20 20 20 20 20 20 20 20 70 65 72 72 6f 72 28 22 6d 6d 61 70 22 29 3b 00 00 00 10 20 20 20 | ..........perror("mmap");....... |
| 132a0 | 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 00 00 00 00 41 20 20 | .....exit(1);........}.......A.. |
| 132c0 | 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 77 6c 5f | ..struct.wl_shm_pool.*pool.=.wl_ |
| 132e0 | 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 3b 00 | shm_create_pool(shm,.fd,.size);. |
| 13300 | 00 00 5f 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 65 61 | .._....buffer.=.wl_shm_pool_crea |
| 13320 | 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 68 74 | te_buffer(pool,.0,.width,.height |
| 13340 | 2c 20 73 74 72 69 64 65 2c 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 | ,.stride,.WL_SHM_FORMAT_ARGB8888 |
| 13360 | 29 3b 00 00 00 2d 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 | );...-....wl_surface_attach(surf |
| 13380 | 61 63 65 2c 20 62 75 66 66 65 72 2c 20 30 2c 20 30 29 3b 00 00 00 1f 20 20 20 20 77 6c 5f 73 75 | ace,.buffer,.0,.0);........wl_su |
| 133a0 | 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 00 00 | rface_commit(surface);....}..... |
| 133c0 | 00 00 1d 2f 2f 20 44 72 61 77 20 61 20 73 69 6d 70 6c 65 20 61 6e 61 6c 6f 67 20 63 6c 6f 63 6b | ...//.Draw.a.simple.analog.clock |
| 133e0 | 00 00 00 1a 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 63 6c 6f 63 6b 28 29 20 7b 00 00 | ....static.void.draw_clock().{.. |
| 13400 | 00 18 20 20 20 20 69 66 20 28 21 70 69 78 65 6c 73 29 20 72 65 74 75 72 6e 3b 00 00 00 1a 20 20 | ......if.(!pixels).return;...... |
| 13420 | 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 78 20 3d 20 70 69 78 65 6c 73 3b 00 00 00 16 20 20 20 20 | ..uint32_t.*px.=.pixels;........ |
| 13440 | 69 6e 74 20 77 20 3d 20 62 75 66 5f 77 69 64 74 68 3b 00 00 00 17 20 20 20 20 69 6e 74 20 68 20 | int.w.=.buf_width;........int.h. |
| 13460 | 3d 20 62 75 66 5f 68 65 69 67 68 74 3b 00 00 00 1f 20 20 20 20 69 6e 74 20 63 78 20 3d 20 77 20 | =.buf_height;........int.cx.=.w. |
| 13480 | 2f 20 32 2c 20 63 79 20 3d 20 68 20 2f 20 32 3b 00 00 00 25 20 20 20 20 69 6e 74 20 72 20 3d 20 | /.2,.cy.=.h./.2;...%....int.r.=. |
| 134a0 | 28 77 20 3c 20 68 20 3f 20 77 20 3a 20 68 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 00 00 00 00 00 | (w.<.h.?.w.:.h)./.2.-.10;....... |
| 134c0 | 15 20 20 20 20 2f 2f 20 43 6c 65 61 72 20 74 6f 20 77 68 69 74 65 00 00 00 37 20 20 20 20 66 6f | .....//.Clear.to.white...7....fo |
| 134e0 | 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 77 20 2a 20 68 3b 20 69 2b 2b 29 20 70 78 | r.(int.i.=.0;.i.<.w.*.h;.i++).px |
| 13500 | 5b 69 5d 20 3d 20 30 78 66 66 66 66 66 66 66 66 3b 00 00 00 00 00 00 00 17 20 20 20 20 2f 2f 20 | [i].=.0xffffffff;............//. |
| 13520 | 47 65 74 20 63 75 72 72 65 6e 74 20 74 69 6d 65 00 00 00 1a 20 20 20 20 74 69 6d 65 5f 74 20 74 | Get.current.time........time_t.t |
| 13540 | 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 22 20 20 20 20 73 74 72 75 63 74 20 74 6d 20 | .=.time(NULL);..."....struct.tm. |
| 13560 | 2a 74 6d 20 3d 20 6c 6f 63 61 6c 74 69 6d 65 28 26 74 29 3b 00 00 00 00 00 00 00 1c 20 20 20 20 | *tm.=.localtime(&t);............ |
| 13580 | 2f 2f 20 48 65 6c 70 65 72 20 74 6f 20 64 72 61 77 20 61 20 6c 69 6e 65 00 00 00 4a 20 20 20 20 | //.Helper.to.draw.a.line...J.... |
| 135a0 | 61 75 74 6f 20 64 72 61 77 5f 6c 69 6e 65 20 3d 20 5b 26 5d 28 69 6e 74 20 78 30 2c 20 69 6e 74 | auto.draw_line.=.[&](int.x0,.int |
| 135c0 | 20 79 30 2c 20 69 6e 74 20 78 31 2c 20 69 6e 74 20 79 31 2c 20 75 69 6e 74 33 32 5f 74 20 63 6f | .y0,.int.x1,.int.y1,.uint32_t.co |
| 135e0 | 6c 6f 72 29 20 7b 00 00 00 35 20 20 20 20 20 20 20 20 69 6e 74 20 64 78 20 3d 20 61 62 73 28 78 | lor).{...5........int.dx.=.abs(x |
| 13600 | 31 20 2d 20 78 30 29 2c 20 73 78 20 3d 20 78 30 20 3c 20 78 31 20 3f 20 31 20 3a 20 2d 31 3b 00 | 1.-.x0),.sx.=.x0.<.x1.?.1.:.-1;. |
| 13620 | 00 00 36 20 20 20 20 20 20 20 20 69 6e 74 20 64 79 20 3d 20 2d 61 62 73 28 79 31 20 2d 20 79 30 | ..6........int.dy.=.-abs(y1.-.y0 |
| 13640 | 29 2c 20 73 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 1e 20 20 20 | ),.sy.=.y0.<.y1.?.1.:.-1;....... |
| 13660 | 20 20 20 20 20 69 6e 74 20 65 72 72 20 3d 20 64 78 20 2b 20 64 79 2c 20 65 32 3b 00 00 00 13 20 | .....int.err.=.dx.+.dy,.e2;..... |
| 13680 | 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 31 29 20 7b 00 00 00 50 20 20 20 20 20 20 20 20 20 20 | .......while.(1).{...P.......... |
| 136a0 | 20 20 69 66 20 28 78 30 20 3e 3d 20 30 20 26 26 20 78 30 20 3c 20 77 20 26 26 20 79 30 20 3e 3d | ..if.(x0.>=.0.&&.x0.<.w.&&.y0.>= |
| 136c0 | 20 30 20 26 26 20 79 30 20 3c 20 68 29 20 70 78 5b 79 30 20 2a 20 77 20 2b 20 78 30 5d 20 3d 20 | .0.&&.y0.<.h).px[y0.*.w.+.x0].=. |
| 136e0 | 63 6f 6c 6f 72 3b 00 00 00 2c 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 78 30 20 3d 3d 20 | color;...,............if.(x0.==. |
| 13700 | 78 31 20 26 26 20 79 30 20 3d 3d 20 79 31 29 20 62 72 65 61 6b 3b 00 00 00 19 20 20 20 20 20 20 | x1.&&.y0.==.y1).break;.......... |
| 13720 | 20 20 20 20 20 20 65 32 20 3d 20 32 20 2a 20 65 72 72 3b 00 00 00 32 20 20 20 20 20 20 20 20 20 | ......e2.=.2.*.err;...2......... |
| 13740 | 20 20 20 69 66 20 28 65 32 20 3e 3d 20 64 79 29 20 7b 20 65 72 72 20 2b 3d 20 64 79 3b 20 78 30 | ...if.(e2.>=.dy).{.err.+=.dy;.x0 |
| 13760 | 20 2b 3d 20 73 78 3b 20 7d 00 00 00 32 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 65 32 20 | .+=.sx;.}...2............if.(e2. |
| 13780 | 3c 3d 20 64 78 29 20 7b 20 65 72 72 20 2b 3d 20 64 78 3b 20 79 30 20 2b 3d 20 73 79 3b 20 7d 00 | <=.dx).{.err.+=.dx;.y0.+=.sy;.}. |
| 137a0 | 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 06 20 20 20 20 7d 3b 00 00 00 00 00 00 00 11 20 20 | ...........}........};.......... |
| 137c0 | 20 20 2f 2f 20 44 72 61 77 20 68 61 6e 64 73 00 00 00 55 20 20 20 20 64 6f 75 62 6c 65 20 68 6f | ..//.Draw.hands...U....double.ho |
| 137e0 | 75 72 5f 61 6e 67 6c 65 20 3d 20 28 74 6d 2d 3e 74 6d 5f 68 6f 75 72 20 25 20 31 32 20 2b 20 74 | ur_angle.=.(tm->tm_hour.%.12.+.t |
| 13800 | 6d 2d 3e 74 6d 5f 6d 69 6e 20 2f 20 36 30 2e 30 29 20 2a 20 4d 5f 50 49 20 2f 20 36 2e 30 20 2d | m->tm_min./.60.0).*.M_PI./.6.0.- |
| 13820 | 20 4d 5f 50 49 2f 32 3b 00 00 00 4f 20 20 20 20 64 6f 75 62 6c 65 20 6d 69 6e 5f 61 6e 67 6c 65 | .M_PI/2;...O....double.min_angle |
| 13840 | 20 3d 20 28 74 6d 2d 3e 74 6d 5f 6d 69 6e 20 2b 20 74 6d 2d 3e 74 6d 5f 73 65 63 20 2f 20 36 30 | .=.(tm->tm_min.+.tm->tm_sec./.60 |
| 13860 | 2e 30 29 20 2a 20 4d 5f 50 49 20 2f 20 33 30 2e 30 20 2d 20 4d 5f 50 49 2f 32 3b 00 00 00 39 20 | .0).*.M_PI./.30.0.-.M_PI/2;...9. |
| 13880 | 20 20 20 64 6f 75 62 6c 65 20 73 65 63 5f 61 6e 67 6c 65 20 3d 20 74 6d 2d 3e 74 6d 5f 73 65 63 | ...double.sec_angle.=.tm->tm_sec |
| 138a0 | 20 2a 20 4d 5f 50 49 20 2f 20 33 30 2e 30 20 2d 20 4d 5f 50 49 2f 32 3b 00 00 00 00 00 00 00 70 | .*.M_PI./.30.0.-.M_PI/2;.......p |
| 138c0 | 20 20 20 20 64 72 61 77 5f 6c 69 6e 65 28 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 | ....draw_line(cx,.cy,.cx.+.(int) |
| 138e0 | 28 72 20 2a 20 30 2e 35 20 2a 20 63 6f 73 28 68 6f 75 72 5f 61 6e 67 6c 65 29 29 2c 20 63 79 20 | (r.*.0.5.*.cos(hour_angle)),.cy. |
| 13900 | 2b 20 28 69 6e 74 29 28 72 20 2a 20 30 2e 35 20 2a 20 73 69 6e 28 68 6f 75 72 5f 61 6e 67 6c 65 | +.(int)(r.*.0.5.*.sin(hour_angle |
| 13920 | 29 29 2c 20 30 78 66 66 30 30 30 30 30 30 29 3b 00 00 00 6e 20 20 20 20 64 72 61 77 5f 6c 69 6e | )),.0xff000000);...n....draw_lin |
| 13940 | 65 28 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 72 20 2a 20 30 2e 37 20 2a 20 63 | e(cx,.cy,.cx.+.(int)(r.*.0.7.*.c |
| 13960 | 6f 73 28 6d 69 6e 5f 61 6e 67 6c 65 29 29 2c 20 63 79 20 2b 20 28 69 6e 74 29 28 72 20 2a 20 30 | os(min_angle)),.cy.+.(int)(r.*.0 |
| 13980 | 2e 37 20 2a 20 73 69 6e 28 6d 69 6e 5f 61 6e 67 6c 65 29 29 2c 20 30 78 66 66 30 30 30 30 30 30 | .7.*.sin(min_angle)),.0xff000000 |
| 139a0 | 29 3b 00 00 00 6e 20 20 20 20 64 72 61 77 5f 6c 69 6e 65 28 63 78 2c 20 63 79 2c 20 63 78 20 2b | );...n....draw_line(cx,.cy,.cx.+ |
| 139c0 | 20 28 69 6e 74 29 28 72 20 2a 20 30 2e 39 20 2a 20 63 6f 73 28 73 65 63 5f 61 6e 67 6c 65 29 29 | .(int)(r.*.0.9.*.cos(sec_angle)) |
| 139e0 | 2c 20 63 79 20 2b 20 28 69 6e 74 29 28 72 20 2a 20 30 2e 39 20 2a 20 73 69 6e 28 73 65 63 5f 61 | ,.cy.+.(int)(r.*.0.9.*.sin(sec_a |
| 13a00 | 6e 67 6c 65 29 29 2c 20 30 78 66 66 66 66 30 30 30 30 29 3b 00 00 00 04 20 20 20 20 00 00 00 2d | ngle)),.0xffff0000);...........- |
| 13a20 | 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 62 | ....wl_surface_attach(surface,.b |
| 13a40 | 75 66 66 65 72 2c 20 30 2c 20 30 29 3b 00 00 00 2b 20 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f | uffer,.0,.0);...+....wl_surface_ |
| 13a60 | 64 61 6d 61 67 65 28 73 75 72 66 61 63 65 2c 20 30 2c 20 30 2c 20 77 2c 20 68 29 3b 00 00 00 1f | damage(surface,.0,.0,.w,.h);.... |
| 13a80 | 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);. |
| 13aa0 | 00 00 01 7d 00 00 00 00 00 00 00 49 73 74 61 74 69 63 20 76 6f 69 64 20 74 6f 70 6c 65 76 65 6c | ...}.......Istatic.void.toplevel |
| 13ac0 | 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 20 78 64 | _configure(void.*data,.struct.xd |
| 13ae0 | 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 74 6f 70 6c 65 76 65 6c 2c 00 00 00 3d 20 20 20 20 20 20 20 | g_toplevel.*toplevel,...=....... |
| 13b00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 33 32 5f 74 20 | ........................int32_t. |
| 13b20 | 77 69 64 74 68 2c 20 69 6e 74 33 32 5f 74 20 68 65 69 67 68 74 2c 00 00 00 39 20 20 20 20 20 20 | width,.int32_t.height,...9...... |
| 13b40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 75 63 74 20 | .........................struct. |
| 13b60 | 77 6c 5f 61 72 72 61 79 20 2a 73 74 61 74 65 73 29 20 7b 00 00 00 20 20 20 20 20 69 66 20 28 77 | wl_array.*states).{........if.(w |
| 13b80 | 69 64 74 68 20 3e 20 30 20 26 26 20 68 65 69 67 68 74 20 3e 20 30 29 00 00 00 27 20 20 20 20 20 | idth.>.0.&&.height.>.0)...'..... |
| 13ba0 | 20 20 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 72 28 77 69 64 74 68 2c 20 68 65 69 67 68 74 | ...allocate_buffer(width,.height |
| 13bc0 | 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 74 6f 70 6c 65 | );....}.......Gstatic.void.tople |
| 13be0 | 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 67 | vel_close(void.*data,.struct.xdg |
| 13c00 | 5f 74 6f 70 6c 65 76 65 6c 20 2a 74 6f 70 6c 65 76 65 6c 29 20 7b 00 00 00 10 20 20 20 20 72 75 | _toplevel.*toplevel).{........ru |
| 13c20 | 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 63 6f | nning.=.0;....}.......?static.co |
| 13c40 | 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 | nst.struct.xdg_toplevel_listener |
| 13c60 | 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 3c 20 20 20 20 2e 63 | .toplevel_listener.=.{...<.....c |
| 13c80 | 6f 6e 66 69 67 75 72 65 20 3d 20 74 6f 70 6c 65 76 65 6c 5f 63 6f 6e 66 69 67 75 72 65 2c 20 2e | onfigure.=.toplevel_configure,.. |
| 13ca0 | 63 6c 6f 73 65 20 3d 20 74 6f 70 6c 65 76 65 6c 5f 63 6c 6f 73 65 00 00 00 02 7d 3b 00 00 00 00 | close.=.toplevel_close....};.... |
| 13cc0 | 00 00 00 46 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 | ...Fstatic.void.registry_handler |
| 13ce0 | 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 20 | (void.*data,.struct.wl_registry. |
| 13d00 | 2a 72 65 67 69 73 74 72 79 2c 00 00 00 40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | *registry,...@.................. |
| 13d20 | 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 69 64 2c 20 63 6f 6e 73 74 20 63 68 | ...........uint32_t.id,.const.ch |
| 13d40 | 61 72 20 2a 69 6e 74 65 72 66 61 63 65 2c 00 00 00 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ar.*interface,...0.............. |
| 13d60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 76 65 72 73 69 6f 6e 29 | ...............uint32_t.version) |
| 13d80 | 20 7b 00 00 00 30 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 | .{...0....if.(strcmp(interface,. |
| 13da0 | 22 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 22 29 20 3d 3d 20 30 29 00 00 00 51 20 20 20 20 20 20 | "wl_compositor").==.0)...Q...... |
| 13dc0 | 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( |
| 13de0 | 72 65 67 69 73 74 72 79 2c 20 69 64 2c 20 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 69 6e 74 | registry,.id,.&wl_compositor_int |
| 13e00 | 65 72 66 61 63 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 | erface,.4);........else.if.(strc |
| 13e20 | 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 29 00 00 00 | mp(interface,."wl_shm").==.0)... |
| 13e40 | 43 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 | C........shm.=.wl_registry_bind( |
| 13e60 | 72 65 67 69 73 74 72 79 2c 20 69 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 61 63 65 2c | registry,.id,.&wl_shm_interface, |
| 13e80 | 20 31 29 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 | .1);...5....else.if.(strcmp(inte |
| 13ea0 | 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 7b 00 00 00 | rface,."xdg_wm_base").==.0).{... |
| 13ec0 | 4c 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 72 79 5f 62 | L........wm_base.=.wl_registry_b |
| 13ee0 | 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 69 64 2c 20 26 78 64 67 5f 77 6d 5f 62 61 73 65 5f 69 | ind(registry,.id,.&xdg_wm_base_i |
| 13f00 | 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 64 67 5f 77 6d 5f | nterface,.1);...C........xdg_wm_ |
| 13f20 | 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 20 26 77 6d 5f 62 | base_add_listener(wm_base,.&wm_b |
| 13f40 | 61 73 65 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 | ase_listener,.NULL);........}... |
| 13f60 | 01 7d 00 00 00 00 00 00 00 56 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c | .}.......Vstatic.const.struct.wl |
| 13f80 | 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 69 73 74 | _registry_listener.registry_list |
| 13fa0 | 65 6e 65 72 20 3d 20 7b 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 2c 20 4e 55 4c 4c 7d 3b | ener.=.{registry_handler,.NULL}; |
| 13fc0 | 00 00 00 00 00 00 00 0c 69 6e 74 20 6d 61 69 6e 28 29 20 7b 00 00 00 27 20 20 20 20 64 69 73 70 | ........int.main().{...'....disp |
| 13fe0 | 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 4c 29 3b 00 | lay.=.wl_display_connect(NULL);. |
| 14000 | 00 00 5a 20 20 20 20 69 66 20 28 21 64 69 73 70 6c 61 79 29 20 7b 20 66 70 72 69 6e 74 66 28 73 | ..Z....if.(!display).{.fprintf(s |
| 14020 | 74 64 65 72 72 2c 20 22 46 61 69 6c 65 64 20 74 6f 20 63 6f 6e 6e 65 63 74 20 74 6f 20 57 61 79 | tderr,."Failed.to.connect.to.Way |
| 14040 | 6c 61 6e 64 20 64 69 73 70 6c 61 79 5c 6e 22 29 3b 20 72 65 74 75 72 6e 20 31 3b 20 7d 00 00 00 | land.display\n");.return.1;.}... |
| 14060 | 00 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 79 5f 67 | ....0....registry.=.wl_display_g |
| 14080 | 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 77 6c 5f | et_registry(display);...A....wl_ |
| 140a0 | 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 79 2c 20 | registry_add_listener(registry,. |
| 140c0 | 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 22 20 20 | ®istry_listener,.NULL);...".. |
| 140e0 | 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 79 29 3b | ..wl_display_roundtrip(display); |
| 14100 | 00 00 00 00 00 00 00 6d 20 20 20 20 69 66 20 28 21 63 6f 6d 70 6f 73 69 74 6f 72 20 7c 7c 20 21 | .......m....if.(!compositor.||.! |
| 14120 | 73 68 6d 20 7c 7c 20 21 77 6d 5f 62 61 73 65 29 20 7b 20 66 70 72 69 6e 74 66 28 73 74 64 65 72 | shm.||.!wm_base).{.fprintf(stder |
| 14140 | 72 2c 20 22 4d 69 73 73 69 6e 67 20 72 65 71 75 69 72 65 64 20 57 61 79 6c 61 6e 64 20 67 6c 6f | r,."Missing.required.Wayland.glo |
| 14160 | 62 61 6c 73 5c 6e 22 29 3b 20 72 65 74 75 72 6e 20 31 3b 20 7d 00 00 00 00 00 00 00 37 20 20 20 | bals\n");.return.1;.}.......7... |
| 14180 | 20 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 | .surface.=.wl_compositor_create_ |
| 141a0 | 73 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 | surface(compositor);...@....xdg_ |
| 141c0 | 73 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 | surface.=.xdg_wm_base_get_xdg_su |
| 141e0 | 72 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 | rface(wm_base,.surface);...G.... |
| 14200 | 78 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 78 64 67 5f 73 75 72 | xdg_surface_add_listener(xdg_sur |
| 14220 | 66 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 | face,.&xdg_surface_listener,.NUL |
| 14240 | 4c 29 3b 00 00 00 00 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 | L);.......5....toplevel.=.xdg_su |
| 14260 | 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); |
| 14280 | 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 |
| 142a0 | 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,. |
| 142c0 | 4e 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 | NULL);........wl_surface_commit( |
| 142e0 | 73 75 72 66 61 63 65 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 | surface);..."....wl_display_roun |
| 14300 | 64 74 72 69 70 28 64 69 73 70 6c 61 79 29 3b 00 00 00 00 00 00 00 10 20 20 20 20 2f 2f 20 4d 61 | dtrip(display);............//.Ma |
| 14320 | 69 6e 20 6c 6f 6f 70 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 | in.loop........while.(running).{ |
| 14340 | 00 00 00 2d 20 20 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 5f | ...-........wl_display_dispatch_ |
| 14360 | 70 65 6e 64 69 6e 67 28 64 69 73 70 6c 61 79 29 3b 00 00 00 15 20 20 20 20 20 20 20 20 64 72 61 | pending(display);............dra |
| 14380 | 77 5f 63 6c 6f 63 6b 28 29 3b 00 00 00 28 20 20 20 20 20 20 20 20 75 73 6c 65 65 70 28 31 30 30 | w_clock();...(........usleep(100 |
| 143a0 | 30 30 30 30 20 2f 20 36 30 29 3b 20 2f 2f 20 7e 36 30 20 46 50 53 00 00 00 05 20 20 20 20 7d 00 | 0000./.60);.//.~60.FPS........}. |
| 143c0 | 00 00 00 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 30 3b 35 81 f5 18 00 00 00 00 1a 00 00 00 | ...........return.0;5........... |
| 143e0 | 02 00 00 00 96 00 00 00 02 00 00 00 ad 00 00 00 00 00 00 00 7d 02 00 00 00 00 00 00 ae 14 00 00 | ....................}........... |
| 14400 | 00 00 00 00 b0 14 00 00 00 00 00 00 35 81 5f d0 00 00 00 29 00 00 00 2b 00 00 00 00 00 00 00 00 | ............5._....)...+........ |
| 14420 | 00 00 00 2a 00 00 00 63 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 | ...*...c........................ |
| 14440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 144a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 144c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 144e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 63 00 00 00 07 00 00 00 00 00 00 00 76 00 00 | .................c...........v.. |
| 14580 | 00 04 00 00 00 00 00 00 00 56 00 00 00 07 00 00 00 00 69 9d 87 2c 04 01 00 00 00 00 00 f5 18 00 | .........V........i..,.......... |
| 145a0 | 00 00 62 00 00 00 63 00 00 00 00 00 00 00 14 00 00 00 48 20 20 61 75 74 6f 20 64 72 61 77 5f 6c | ..b...c...........H..auto.draw_l |
| 145c0 | 69 6e 65 20 3d 20 5b 26 5d 28 69 6e 74 20 78 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 | ine.=.[&](int.x0,.int.y0,.int.x1 |
| 145e0 | 2c 20 69 6e 74 20 79 31 2c 20 75 69 6e 74 33 32 5f 74 20 63 6f 6c 6f 72 29 20 7b 00 00 00 31 20 | ,.int.y1,.uint32_t.color).{...1. |
| 14600 | 20 20 20 69 6e 74 20 64 78 20 3d 20 61 62 73 28 78 31 20 2d 20 78 30 29 2c 20 73 78 20 3d 20 78 | ...int.dx.=.abs(x1.-.x0),.sx.=.x |
| 14620 | 30 20 3c 20 78 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 32 20 20 20 20 69 6e 74 20 64 79 20 3d | 0.<.x1.?.1.:.-1;...2....int.dy.= |
| 14640 | 20 2d 61 62 73 28 79 31 20 2d 20 79 30 29 2c 20 73 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 31 | .-abs(y1.-.y0),.sy.=.y0.<.y1.?.1 |
| 14660 | 20 3a 20 2d 31 3b 00 00 00 1a 20 20 20 20 69 6e 74 20 65 72 72 20 3d 20 64 78 20 2b 20 64 79 2c | .:.-1;........int.err.=.dx.+.dy, |
| 14680 | 20 65 32 3b 00 00 00 0f 20 20 20 20 77 68 69 6c 65 20 28 31 29 20 7b 00 00 00 31 20 20 20 20 20 | .e2;........while.(1).{...1..... |
| 146a0 | 20 69 66 20 28 78 30 20 3e 3d 20 30 20 26 26 20 78 30 20 3c 20 77 20 26 26 20 79 30 20 3e 3d 20 | .if.(x0.>=.0.&&.x0.<.w.&&.y0.>=. |
| 146c0 | 30 20 26 26 20 79 30 20 3c 20 68 29 00 00 00 20 20 20 20 20 20 20 20 20 70 78 5b 79 30 20 2a 20 | 0.&&.y0.<.h)............px[y0.*. |
| 146e0 | 77 20 2b 20 78 30 5d 20 3d 20 63 6f 6c 6f 72 3b 00 00 00 1f 20 20 20 20 20 20 69 66 20 28 78 30 | w.+.x0].=.color;..........if.(x0 |
| 14700 | 20 3d 3d 20 78 31 20 26 26 20 79 30 20 3d 3d 20 79 31 29 00 00 00 0e 20 20 20 20 20 20 20 20 62 | .==.x1.&&.y0.==.y1)............b |
| 14720 | 72 65 61 6b 3b 00 00 00 13 20 20 20 20 20 20 65 32 20 3d 20 32 20 2a 20 65 72 72 3b 00 00 00 15 | reak;..........e2.=.2.*.err;.... |
| 14740 | 20 20 20 20 20 20 69 66 20 28 65 32 20 3e 3d 20 64 79 29 20 7b 00 00 00 12 20 20 20 20 20 20 20 | ......if.(e2.>=.dy).{........... |
| 14760 | 20 65 72 72 20 2b 3d 20 64 79 3b 00 00 00 11 20 20 20 20 20 20 20 20 78 30 20 2b 3d 20 73 78 3b | .err.+=.dy;............x0.+=.sx; |
| 14780 | 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 15 20 20 20 20 20 20 69 66 20 28 65 32 20 3c 3d 20 64 | ..........}..........if.(e2.<=.d |
| 147a0 | 78 29 20 7b 00 00 00 12 20 20 20 20 20 20 20 20 65 72 72 20 2b 3d 20 64 78 3b 00 00 00 11 20 20 | x).{............err.+=.dx;...... |
| 147c0 | 20 20 20 20 20 20 79 30 20 2b 3d 20 73 79 3b 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 05 20 20 | ......y0.+=.sy;..........}...... |
| 147e0 | 20 20 7d 00 00 00 04 20 20 7d 3b 35 81 f5 18 00 00 00 00 62 00 00 00 00 00 00 00 14 00 00 00 00 | ..}......};5.......b............ |
| 14800 | 00 00 00 00 00 00 00 00 00 00 00 d8 09 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14820 | 00 00 00 35 81 5f d0 00 00 00 2a 00 00 00 2c 00 00 00 00 00 00 00 00 00 00 00 2b 00 00 00 63 00 | ...5._....*...,...........+...c. |
| 14840 | 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 148a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 148c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 148e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14920 | 00 00 00 00 00 00 00 00 00 00 00 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 63 00 00 00 07 00 00 00 00 00 00 00 63 00 00 00 04 00 00 00 00 00 00 00 | ........c...........c........... |
| 149a0 | 56 00 00 00 07 00 00 00 00 69 9d 87 2f 04 01 00 00 00 00 00 f5 18 00 00 00 62 00 00 00 72 00 00 | V........i../............b...r.. |
| 149c0 | 00 b6 00 00 00 01 00 00 00 02 20 20 f5 18 00 00 00 63 00 00 00 64 00 00 00 b6 00 00 00 00 f5 18 | .................c...d.......... |
| 149e0 | 00 00 00 62 00 00 00 64 00 00 00 b5 00 00 00 00 35 81 f5 18 00 00 00 00 62 00 00 00 00 00 00 00 | ...b...d........5.......b....... |
| 14a00 | 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 d8 09 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14a20 | 01 00 00 00 00 00 00 00 f5 18 00 00 00 00 62 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ..............b................. |
| 14a40 | 00 00 02 00 00 00 d8 09 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 f5 18 | ................................ |
| 14a60 | 00 00 00 00 62 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 0e 00 00 00 01 00 00 00 da 09 00 00 | ....b........................... |
| 14a80 | 00 00 00 00 00 00 00 00 00 00 00 00 43 02 00 00 00 00 00 00 35 81 5f d0 00 00 00 2b 00 00 00 2d | ............C.......5._....+...- |
| 14aa0 | 00 00 00 00 00 00 00 00 00 00 00 2c 00 00 00 71 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 00 | ...........,...q................ |
| 14ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 72 00 00 00 07 00 00 | .........................r...... |
| 14c00 | 00 00 00 00 00 72 00 00 00 04 00 00 00 00 00 00 00 56 00 00 00 07 00 00 00 00 69 9d 87 30 04 01 | .....r...........V........i..0.. |
| 14c20 | 00 00 00 12 00 f5 18 00 00 00 63 00 00 00 79 00 00 00 c4 00 00 00 0e 00 00 00 31 73 74 61 74 69 | ..........c...y...........1stati |
| 14c40 | 63 20 76 6f 69 64 20 64 72 61 77 5f 6c 69 6e 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 | c.void.draw_line(uint32_t.*px,.i |
| 14c60 | 6e 74 20 77 2c 20 69 6e 74 20 68 2c 00 00 00 47 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | nt.w,.int.h,...G................ |
| 14c80 | 20 20 20 20 20 20 69 6e 74 20 78 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 2c 20 69 6e | ......int.x0,.int.y0,.int.x1,.in |
| 14ca0 | 74 20 79 31 2c 20 75 69 6e 74 33 32 5f 74 20 63 6f 6c 6f 72 29 20 7b 00 00 00 31 20 20 20 20 69 | t.y1,.uint32_t.color).{...1....i |
| 14cc0 | 6e 74 20 64 78 20 3d 20 61 62 73 28 78 31 20 2d 20 78 30 29 2c 20 73 78 20 3d 20 78 30 20 3c 20 | nt.dx.=.abs(x1.-.x0),.sx.=.x0.<. |
| 14ce0 | 78 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 32 20 20 20 20 69 6e 74 20 64 79 20 3d 20 2d 61 62 | x1.?.1.:.-1;...2....int.dy.=.-ab |
| 14d00 | 73 28 79 31 20 2d 20 79 30 29 2c 20 73 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 31 20 3a 20 2d | s(y1.-.y0),.sy.=.y0.<.y1.?.1.:.- |
| 14d20 | 31 3b 00 00 00 1a 20 20 20 20 69 6e 74 20 65 72 72 20 3d 20 64 78 20 2b 20 64 79 2c 20 65 32 3b | 1;........int.err.=.dx.+.dy,.e2; |
| 14d40 | 00 00 00 0f 20 20 20 20 77 68 69 6c 65 20 28 31 29 20 7b 00 00 00 33 20 20 20 20 20 20 20 20 69 | ........while.(1).{...3........i |
| 14d60 | 66 20 28 78 30 20 3e 3d 20 30 20 26 26 20 78 30 20 3c 20 77 20 26 26 20 79 30 20 3e 3d 20 30 20 | f.(x0.>=.0.&&.x0.<.w.&&.y0.>=.0. |
| 14d80 | 26 26 20 79 30 20 3c 20 68 29 00 00 00 24 20 20 20 20 20 20 20 20 20 20 20 20 70 78 5b 79 30 20 | &&.y0.<.h)...$............px[y0. |
| 14da0 | 2a 20 77 20 2b 20 78 30 5d 20 3d 20 63 6f 6c 6f 72 3b 00 00 00 28 20 20 20 20 20 20 20 20 69 66 | *.w.+.x0].=.color;...(........if |
| 14dc0 | 20 28 78 30 20 3d 3d 20 78 31 20 26 26 20 79 30 20 3d 3d 20 79 31 29 20 62 72 65 61 6b 3b 00 00 | .(x0.==.x1.&&.y0.==.y1).break;.. |
| 14de0 | 00 15 20 20 20 20 20 20 20 20 65 32 20 3d 20 32 20 2a 20 65 72 72 3b 00 00 00 2e 20 20 20 20 20 | ..........e2.=.2.*.err;......... |
| 14e00 | 20 20 20 69 66 20 28 65 32 20 3e 3d 20 64 79 29 20 7b 20 65 72 72 20 2b 3d 20 64 79 3b 20 78 30 | ...if.(e2.>=.dy).{.err.+=.dy;.x0 |
| 14e20 | 20 2b 3d 20 73 78 3b 20 7d 00 00 00 2e 20 20 20 20 20 20 20 20 69 66 20 28 65 32 20 3c 3d 20 64 | .+=.sx;.}............if.(e2.<=.d |
| 14e40 | 78 29 20 7b 20 65 72 72 20 2b 3d 20 64 78 3b 20 79 30 20 2b 3d 20 73 79 3b 20 7d 00 00 00 05 20 | x).{.err.+=.dx;.y0.+=.sy;.}..... |
| 14e60 | 20 20 20 7d 00 00 00 01 7d 35 81 f5 18 00 00 00 00 63 00 00 00 00 00 00 00 0d 00 00 00 00 00 00 | ...}....}5.......c.............. |
| 14e80 | 00 14 00 00 00 02 00 00 00 16 0a 00 00 00 00 00 00 06 02 00 00 00 00 00 00 32 02 00 00 00 00 00 | .........................2...... |
| 14ea0 | 00 35 81 5f d0 00 00 00 2c 00 00 00 2e 00 00 00 00 00 00 00 00 00 00 00 2d 00 00 00 01 00 00 00 | .5._....,...............-....... |
| 14ec0 | 02 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14ee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14f00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14f20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14f40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14f60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14f80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 15000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 15020 | 00 00 00 00 00 00 00 69 9d 87 70 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 00 00 00 | .......i..p..................... |
| 15040 | 00 00 00 cb 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 | .......&#include."xdg-shell-clie |
| 15060 | 6e 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 66 63 6e 74 | nt-protocol.h"....#include.<fcnt |
| 15080 | 6c 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 6d 61 74 68 2e 68 3e 00 00 00 12 23 69 6e | l.h>....#include.<math.h>....#in |
| 150a0 | 63 6c 75 64 65 20 3c 73 74 64 69 6f 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 | clude.<stdio.h>....#include.<std |
| 150c0 | 6c 69 62 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 74 72 69 6e 67 2e 68 3e 00 00 00 | lib.h>....#include.<string.h>... |
| 150e0 | 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 11 23 69 6e 63 6c 75 | .#include.<sys/mman.h>....#inclu |
| 15100 | 64 65 20 3c 74 69 6d 65 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 75 6e 69 73 74 64 2e | de.<time.h>....#include.<unistd. |
| 15120 | 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 |
| 15140 | 3e 00 00 00 00 00 00 00 1b 73 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 20 2a 64 69 73 70 | >........struct.wl_display.*disp |
| 15160 | 6c 61 79 3b 00 00 00 1d 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 69 | lay;....struct.wl_registry.*regi |
| 15180 | 73 74 72 79 3b 00 00 00 21 73 74 72 75 63 74 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 20 2a 63 | stry;...!struct.wl_compositor.*c |
| 151a0 | 6f 6d 70 6f 73 69 74 6f 72 3b 00 00 00 13 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d | ompositor;....struct.wl_shm.*shm |
| 151c0 | 3b 00 00 00 1c 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 | ;....struct.xdg_wm_base.*wm_base |
| 151e0 | 3b 00 00 00 1b 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 3b | ;....struct.wl_surface.*surface; |
| 15200 | 00 00 00 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 | ....struct.xdg_surface.*xdg_surf |
| 15220 | 61 63 65 3b 00 00 00 1e 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 74 6f 70 | ace;....struct.xdg_toplevel.*top |
| 15240 | 6c 65 76 65 6c 3b 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 | level;........static.int.running |
| 15260 | 20 3d 20 31 3b 00 00 00 27 73 74 61 74 69 63 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 | .=.1;...'static.struct.wl_buffer |
| 15280 | 20 2a 62 75 66 66 65 72 20 3d 20 4e 55 4c 4c 3b 00 00 00 1b 73 74 61 74 69 63 20 76 6f 69 64 20 | .*buffer.=.NULL;....static.void. |
| 152a0 | 2a 70 69 78 65 6c 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 29 73 74 61 74 69 63 20 69 6e 74 20 62 75 | *pixels.=.NULL;...)static.int.bu |
| 152c0 | 66 5f 77 69 64 74 68 20 3d 20 30 2c 20 62 75 66 5f 68 65 69 67 68 74 20 3d 20 30 3b 00 00 00 00 | f_width.=.0,.buf_height.=.0;.... |
| 152e0 | 00 00 00 29 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 | ...)static.int.create_shm_file(s |
| 15300 | 69 7a 65 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 2e 20 20 63 68 61 72 20 74 65 6d 70 6c 61 74 65 | ize_t.size).{......char.template |
| 15320 | 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 61 79 6c 61 6e 64 2d 73 68 6d 2d 58 58 58 58 58 58 22 3b 00 | [].=."/tmp/wayland-shm-XXXXXX";. |
| 15340 | 00 00 1d 20 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 65 6d 70 6c 61 74 65 29 3b | .....int.fd.=.mkstemp(template); |
| 15360 | 00 00 00 0f 20 20 69 66 20 28 66 64 20 3c 20 30 29 20 7b 00 00 00 16 20 20 20 20 70 65 72 72 6f | ......if.(fd.<.0).{........perro |
| 15380 | 72 28 22 6d 6b 73 74 65 6d 70 22 29 3b 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 | r("mkstemp");........exit(1);... |
| 153a0 | 03 20 20 7d 00 00 00 13 20 20 75 6e 6c 69 6e 6b 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 20 20 | ...}......unlink(template);..... |
| 153c0 | 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 73 69 7a 65 29 20 3c 20 30 29 20 7b 00 | .if.(ftruncate(fd,.size).<.0).{. |
| 153e0 | 00 00 18 20 20 20 20 70 65 72 72 6f 72 28 22 66 74 72 75 6e 63 61 74 65 22 29 3b 00 00 00 0c 20 | .......perror("ftruncate");..... |
| 15400 | 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 03 20 20 7d 00 00 00 0c 20 20 72 65 74 75 72 6e 20 66 | ...exit(1);......}......return.f |
| 15420 | 64 3b 00 00 00 01 7d 00 00 00 00 00 00 00 41 73 74 61 74 69 63 20 76 6f 69 64 20 77 6d 5f 62 61 | d;....}.......Astatic.void.wm_ba |
| 15440 | 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 67 5f 77 | se_ping(void.*data,.struct.xdg_w |
| 15460 | 6d 5f 62 61 73 65 20 2a 77 6d 5f 62 61 73 65 2c 00 00 00 2b 20 20 20 20 20 20 20 20 20 20 20 20 | m_base.*wm_base,...+............ |
| 15480 | 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 29 20 7b 00 | .............uint32_t.serial).{. |
| 154a0 | 00 00 24 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 5f 62 61 73 65 2c 20 73 | ..$..xdg_wm_base_pong(wm_base,.s |
| 154c0 | 65 72 69 61 6c 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4b 73 74 61 74 69 63 20 63 6f 6e 73 74 | erial);....}.......Kstatic.const |
| 154e0 | 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 77 6d 5f | .struct.xdg_wm_base_listener.wm_ |
| 15500 | 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 77 6d 5f 62 61 73 65 5f 70 69 6e 67 7d 3b 00 | base_listener.=.{wm_base_ping};. |
| 15520 | 00 00 00 00 00 00 4e 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 | ......Nstatic.void.xdg_surface_c |
| 15540 | 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 20 78 64 67 5f | onfigure(void.*data,.struct.xdg_ |
| 15560 | 73 75 72 66 61 63 65 20 2a 78 64 67 5f 73 75 72 66 61 63 65 2c 00 00 00 34 20 20 20 20 20 20 20 | surface.*xdg_surface,...4....... |
| 15580 | 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 74 33 | ...........................uint3 |
| 155a0 | 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 31 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 | 2_t.serial).{...1..xdg_surface_a |
| 155c0 | 63 6b 5f 63 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 | ck_configure(xdg_surface,.serial |
| 155e0 | 29 3b 00 00 00 1d 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 | );......wl_surface_commit(surfac |
| 15600 | 65 29 3b 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 72 | e);....}.......Astatic.const.str |
| 15620 | 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 72 | uct.xdg_surface_listener.xdg_sur |
| 15640 | 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 1b 20 20 20 20 78 64 67 5f 73 75 72 | face_listener.=.{........xdg_sur |
| 15660 | 66 61 63 65 5f 63 6f 6e 66 69 67 75 72 65 7d 3b 00 00 00 00 00 00 00 34 73 74 61 74 69 63 20 76 | face_configure};.......4static.v |
| 15680 | 6f 69 64 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 72 28 69 6e 74 20 77 69 64 74 68 2c 20 69 | oid.allocate_buffer(int.width,.i |
| 156a0 | 6e 74 20 68 65 69 67 68 74 29 20 7b 00 00 00 0f 20 20 69 66 20 28 62 75 66 66 65 72 29 20 7b 00 | nt.height).{......if.(buffer).{. |
| 156c0 | 00 00 1e 20 20 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 62 75 66 66 65 72 29 | .......wl_buffer_destroy(buffer) |
| 156e0 | 3b 00 00 00 2f 20 20 20 20 6d 75 6e 6d 61 70 28 70 69 78 65 6c 73 2c 20 62 75 66 5f 77 69 64 74 | ;.../....munmap(pixels,.buf_widt |
| 15700 | 68 20 2a 20 62 75 66 5f 68 65 69 67 68 74 20 2a 20 34 29 3b 00 00 00 03 20 20 7d 00 00 00 14 20 | h.*.buf_height.*.4);......}..... |
| 15720 | 20 62 75 66 5f 77 69 64 74 68 20 3d 20 77 69 64 74 68 3b 00 00 00 16 20 20 62 75 66 5f 68 65 69 | .buf_width.=.width;......buf_hei |
| 15740 | 67 68 74 20 3d 20 68 65 69 67 68 74 3b 00 00 00 19 20 20 69 6e 74 20 73 74 72 69 64 65 20 3d 20 | ght.=.height;......int.stride.=. |
| 15760 | 77 69 64 74 68 20 2a 20 34 3b 00 00 00 1d 20 20 69 6e 74 20 73 69 7a 65 20 3d 20 73 74 72 69 64 | width.*.4;......int.size.=.strid |
| 15780 | 65 20 2a 20 68 65 69 67 68 74 3b 00 00 00 21 20 20 69 6e 74 20 66 64 20 3d 20 63 72 65 61 74 65 | e.*.height;...!..int.fd.=.create |
| 157a0 | 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 29 3b 00 00 00 47 20 20 70 69 78 65 6c 73 20 3d 20 6d | _shm_file(size);...G..pixels.=.m |
| 157c0 | 6d 61 70 28 4e 55 4c 4c 2c 20 73 69 7a 65 2c 20 50 52 4f 54 5f 52 45 41 44 20 7c 20 50 52 4f 54 | map(NULL,.size,.PROT_READ.|.PROT |
| 157e0 | 5f 57 52 49 54 45 2c 20 4d 41 50 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 1d 20 | _WRITE,.MAP_SHARED,.fd,.0);..... |
| 15800 | 20 69 66 20 28 70 69 78 65 6c 73 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 20 7b 00 00 00 13 | .if.(pixels.==.MAP_FAILED).{.... |
| 15820 | 20 20 20 20 70 65 72 72 6f 72 28 22 6d 6d 61 70 22 29 3b 00 00 00 0c 20 20 20 20 65 78 69 74 28 | ....perror("mmap");........exit( |
| 15840 | 31 29 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 3f 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 | 1);......}.......?..struct.wl_sh |
| 15860 | 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 20 3d 20 77 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f 70 6f 6f | m_pool.*pool.=.wl_shm_create_poo |
| 15880 | 6c 28 73 68 6d 2c 20 66 64 2c 20 73 69 7a 65 29 3b 00 00 00 44 20 20 62 75 66 66 65 72 20 3d 20 | l(shm,.fd,.size);...D..buffer.=. |
| 158a0 | 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c 20 | wl_shm_pool_create_buffer(pool,. |
| 158c0 | 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 00 00 00 3d 20 20 20 | 0,.width,.height,.stride,...=... |
| 158e0 | 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 | ................................ |
| 15900 | 20 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 2b 20 20 | ..WL_SHM_FORMAT_ARGB8888);...+.. |
| 15920 | 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 62 75 66 66 65 | wl_surface_attach(surface,.buffe |
| 15940 | 72 2c 20 30 2c 20 30 29 3b 00 00 00 1d 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 | r,.0,.0);......wl_surface_commit |
| 15960 | 28 73 75 72 66 61 63 65 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 1d 2f 2f 20 44 72 61 77 20 61 | (surface);....}........//.Draw.a |
| 15980 | 20 73 69 6d 70 6c 65 20 61 6e 61 6c 6f 67 20 63 6c 6f 63 6b 00 00 00 1a 73 74 61 74 69 63 20 76 | .simple.analog.clock....static.v |
| 159a0 | 6f 69 64 20 64 72 61 77 5f 63 6c 6f 63 6b 28 29 20 7b 00 00 00 0e 20 20 69 66 20 28 21 70 69 78 | oid.draw_clock().{......if.(!pix |
| 159c0 | 65 6c 73 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 18 20 20 75 69 6e 74 33 32 5f | els)........return;......uint32_ |
| 159e0 | 74 20 2a 70 78 20 3d 20 70 69 78 65 6c 73 3b 00 00 00 14 20 20 69 6e 74 20 77 20 3d 20 62 75 66 | t.*px.=.pixels;......int.w.=.buf |
| 15a00 | 5f 77 69 64 74 68 3b 00 00 00 15 20 20 69 6e 74 20 68 20 3d 20 62 75 66 5f 68 65 69 67 68 74 3b | _width;......int.h.=.buf_height; |
| 15a20 | 00 00 00 1d 20 20 69 6e 74 20 63 78 20 3d 20 77 20 2f 20 32 2c 20 63 79 20 3d 20 68 20 2f 20 32 | ......int.cx.=.w./.2,.cy.=.h./.2 |
| 15a40 | 3b 00 00 00 23 20 20 69 6e 74 20 72 20 3d 20 28 77 20 3c 20 68 20 3f 20 77 20 3a 20 68 29 20 2f | ;...#..int.r.=.(w.<.h.?.w.:.h)./ |
| 15a60 | 20 32 20 2d 20 31 30 3b 00 00 00 00 00 00 00 13 20 20 2f 2f 20 43 6c 65 61 72 20 74 6f 20 77 68 | .2.-.10;..........//.Clear.to.wh |
| 15a80 | 69 74 65 00 00 00 21 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 77 20 2a | ite...!..for.(int.i.=.0;.i.<.w.* |
| 15aa0 | 20 68 3b 20 69 2b 2b 29 00 00 00 17 20 20 20 20 70 78 5b 69 5d 20 3d 20 30 78 66 66 66 66 66 66 | .h;.i++)........px[i].=.0xffffff |
| 15ac0 | 66 66 3b 00 00 00 00 00 00 00 15 20 20 2f 2f 20 47 65 74 20 63 75 72 72 65 6e 74 20 74 69 6d 65 | ff;..........//.Get.current.time |
| 15ae0 | 00 00 00 18 20 20 74 69 6d 65 5f 74 20 74 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 20 | ......time_t.t.=.time(NULL);.... |
| 15b00 | 20 20 73 74 72 75 63 74 20 74 6d 20 2a 74 6d 20 3d 20 6c 6f 63 61 6c 74 69 6d 65 28 26 74 29 3b | ..struct.tm.*tm.=.localtime(&t); |
| 15b20 | 00 00 00 00 00 00 00 1a 20 20 2f 2f 20 48 65 6c 70 65 72 20 74 6f 20 64 72 61 77 20 61 20 6c 69 | ..........//.Helper.to.draw.a.li |
| 15b40 | 6e 65 00 00 00 3d 20 20 2f 2f 20 48 65 6c 70 65 72 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 64 72 | ne...=..//.Helper.function.to.dr |
| 15b60 | 61 77 20 61 20 6c 69 6e 65 20 69 6e 20 74 68 65 20 62 75 66 66 65 72 20 28 42 72 65 73 65 6e 68 | aw.a.line.in.the.buffer.(Bresenh |
| 15b80 | 61 6d 29 00 00 00 4b 20 20 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 6c 69 6e 65 28 75 | am)...K..static.void.draw_line(u |
| 15ba0 | 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 78 | int32_t.*px,.int.w,.int.h,.int.x |
| 15bc0 | 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 2c 00 00 00 31 20 20 20 20 20 20 20 20 20 20 | 0,.int.y0,.int.x1,...1.......... |
| 15be0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 79 31 2c 20 75 69 6e 74 33 32 5f 74 20 63 | ..............int.y1,.uint32_t.c |
| 15c00 | 6f 6c 6f 72 29 20 7b 00 00 00 31 20 20 20 20 69 6e 74 20 64 78 20 3d 20 61 62 73 28 78 31 20 2d | olor).{...1....int.dx.=.abs(x1.- |
| 15c20 | 20 78 30 29 2c 20 73 78 20 3d 20 78 30 20 3c 20 78 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 32 | .x0),.sx.=.x0.<.x1.?.1.:.-1;...2 |
| 15c40 | 20 20 20 20 69 6e 74 20 64 79 20 3d 20 2d 61 62 73 28 79 31 20 2d 20 79 30 29 2c 20 73 79 20 3d | ....int.dy.=.-abs(y1.-.y0),.sy.= |
| 15c60 | 20 79 30 20 3c 20 79 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 1a 20 20 20 20 69 6e 74 20 65 72 | .y0.<.y1.?.1.:.-1;........int.er |
| 15c80 | 72 20 3d 20 64 78 20 2b 20 64 79 2c 20 65 32 3b 00 00 00 0f 20 20 20 20 77 68 69 6c 65 20 28 31 | r.=.dx.+.dy,.e2;........while.(1 |
| 15ca0 | 29 20 7b 00 00 00 31 20 20 20 20 20 20 69 66 20 28 78 30 20 3e 3d 20 30 20 26 26 20 78 30 20 3c | ).{...1......if.(x0.>=.0.&&.x0.< |
| 15cc0 | 20 77 20 26 26 20 79 30 20 3e 3d 20 30 20 26 26 20 79 30 20 3c 20 68 29 00 00 00 20 20 20 20 20 | .w.&&.y0.>=.0.&&.y0.<.h)........ |
| 15ce0 | 20 20 20 20 70 78 5b 79 30 20 2a 20 77 20 2b 20 78 30 5d 20 3d 20 63 6f 6c 6f 72 3b 00 00 00 1f | ....px[y0.*.w.+.x0].=.color;.... |
| 15d00 | 20 20 20 20 20 20 69 66 20 28 78 30 20 3d 3d 20 78 31 20 26 26 20 79 30 20 3d 3d 20 79 31 29 00 | ......if.(x0.==.x1.&&.y0.==.y1). |
| 15d20 | 00 00 0e 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 13 20 20 20 20 20 20 65 32 20 3d 20 | ...........break;..........e2.=. |
| 15d40 | 32 20 2a 20 65 72 72 3b 00 00 00 15 20 20 20 20 20 20 69 66 20 28 65 32 20 3e 3d 20 64 79 29 20 | 2.*.err;..........if.(e2.>=.dy). |
| 15d60 | 7b 00 00 00 12 20 20 20 20 20 20 20 20 65 72 72 20 2b 3d 20 64 79 3b 00 00 00 11 20 20 20 20 20 | {............err.+=.dy;......... |
| 15d80 | 20 20 20 78 30 20 2b 3d 20 73 78 3b 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 15 20 20 20 20 20 | ...x0.+=.sx;..........}......... |
| 15da0 | 20 69 66 20 28 65 32 20 3c 3d 20 64 78 29 20 7b 00 00 00 12 20 20 20 20 20 20 20 20 65 72 72 20 | .if.(e2.<=.dx).{............err. |
| 15dc0 | 2b 3d 20 64 78 3b 00 00 00 11 20 20 20 20 20 20 20 20 79 30 20 2b 3d 20 73 79 3b 00 00 00 07 20 | +=.dx;............y0.+=.sy;..... |
| 15de0 | 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 0f 20 20 | .....}........}......}.......... |
| 15e00 | 2f 2f 20 44 72 61 77 20 68 61 6e 64 73 00 00 00 15 20 20 64 6f 75 62 6c 65 20 68 6f 75 72 5f 61 | //.Draw.hands......double.hour_a |
| 15e20 | 6e 67 6c 65 20 3d 00 00 00 45 20 20 20 20 20 20 28 74 6d 2d 3e 74 6d 5f 68 6f 75 72 20 25 20 31 | ngle.=...E......(tm->tm_hour.%.1 |
| 15e40 | 32 20 2b 20 74 6d 2d 3e 74 6d 5f 6d 69 6e 20 2f 20 36 30 2e 30 29 20 2a 20 4d 5f 50 49 20 2f 20 | 2.+.tm->tm_min./.60.0).*.M_PI./. |
| 15e60 | 36 2e 30 20 2d 20 4d 5f 50 49 20 2f 20 32 3b 00 00 00 4f 20 20 64 6f 75 62 6c 65 20 6d 69 6e 5f | 6.0.-.M_PI./.2;...O..double.min_ |
| 15e80 | 61 6e 67 6c 65 20 3d 20 28 74 6d 2d 3e 74 6d 5f 6d 69 6e 20 2b 20 74 6d 2d 3e 74 6d 5f 73 65 63 | angle.=.(tm->tm_min.+.tm->tm_sec |
| 15ea0 | 20 2f 20 36 30 2e 30 29 20 2a 20 4d 5f 50 49 20 2f 20 33 30 2e 30 20 2d 20 4d 5f 50 49 20 2f 20 | ./.60.0).*.M_PI./.30.0.-.M_PI./. |
| 15ec0 | 32 3b 00 00 00 39 20 20 64 6f 75 62 6c 65 20 73 65 63 5f 61 6e 67 6c 65 20 3d 20 74 6d 2d 3e 74 | 2;...9..double.sec_angle.=.tm->t |
| 15ee0 | 6d 5f 73 65 63 20 2a 20 4d 5f 50 49 20 2f 20 33 30 2e 30 20 2d 20 4d 5f 50 49 20 2f 20 32 3b 00 | m_sec.*.M_PI./.30.0.-.M_PI./.2;. |
| 15f00 | 00 00 00 00 00 00 3a 20 20 64 72 61 77 5f 6c 69 6e 65 28 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 | ......:..draw_line(cx,.cy,.cx.+. |
| 15f20 | 28 69 6e 74 29 28 72 20 2a 20 30 2e 35 20 2a 20 63 6f 73 28 68 6f 75 72 5f 61 6e 67 6c 65 29 29 | (int)(r.*.0.5.*.cos(hour_angle)) |
| 15f40 | 2c 00 00 00 3f 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 28 69 6e 74 29 28 72 20 2a 20 | ,...?............cy.+.(int)(r.*. |
| 15f60 | 30 2e 35 20 2a 20 73 69 6e 28 68 6f 75 72 5f 61 6e 67 6c 65 29 29 2c 20 30 78 66 66 30 30 30 30 | 0.5.*.sin(hour_angle)),.0xff0000 |
| 15f80 | 30 30 29 3b 00 00 00 39 20 20 64 72 61 77 5f 6c 69 6e 65 28 63 78 2c 20 63 79 2c 20 63 78 20 2b | 00);...9..draw_line(cx,.cy,.cx.+ |
| 15fa0 | 20 28 69 6e 74 29 28 72 20 2a 20 30 2e 37 20 2a 20 63 6f 73 28 6d 69 6e 5f 61 6e 67 6c 65 29 29 | .(int)(r.*.0.7.*.cos(min_angle)) |
| 15fc0 | 2c 00 00 00 3e 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 28 69 6e 74 29 28 72 20 2a 20 | ,...>............cy.+.(int)(r.*. |
| 15fe0 | 30 2e 37 20 2a 20 73 69 6e 28 6d 69 6e 5f 61 6e 67 6c 65 29 29 2c 20 30 78 66 66 30 30 30 30 30 | 0.7.*.sin(min_angle)),.0xff00000 |
| 16000 | 30 29 3b 00 00 00 39 20 20 64 72 61 77 5f 6c 69 6e 65 28 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 | 0);...9..draw_line(cx,.cy,.cx.+. |
| 16020 | 28 69 6e 74 29 28 72 20 2a 20 30 2e 39 20 2a 20 63 6f 73 28 73 65 63 5f 61 6e 67 6c 65 29 29 2c | (int)(r.*.0.9.*.cos(sec_angle)), |
| 16040 | 00 00 00 3e 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 28 69 6e 74 29 28 72 20 2a 20 30 | ...>............cy.+.(int)(r.*.0 |
| 16060 | 2e 39 20 2a 20 73 69 6e 28 73 65 63 5f 61 6e 67 6c 65 29 29 2c 20 30 78 66 66 66 66 30 30 30 30 | .9.*.sin(sec_angle)),.0xffff0000 |
| 16080 | 29 3b 00 00 00 00 00 00 00 2b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 73 75 | );.......+..wl_surface_attach(su |
| 160a0 | 72 66 61 63 65 2c 20 62 75 66 66 65 72 2c 20 30 2c 20 30 29 3b 00 00 00 29 20 20 77 6c 5f 73 75 | rface,.buffer,.0,.0);...)..wl_su |
| 160c0 | 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 2c 20 68 | rface_damage(surface,.0,.0,.w,.h |
| 160e0 | 29 3b 00 00 00 1d 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 | );......wl_surface_commit(surfac |
| 16100 | 65 29 3b 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 74 6f 70 6c | e);....}.......Istatic.void.topl |
| 16120 | 65 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 | evel_configure(void.*data,.struc |
| 16140 | 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 74 6f 70 6c 65 76 65 6c 2c 00 00 00 3d 20 20 20 | t.xdg_toplevel.*toplevel,...=... |
| 16160 | 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 69 6e 74 33 | ............................int3 |
| 16180 | 32 5f 74 20 77 69 64 74 68 2c 20 69 6e 74 33 32 5f 74 20 68 65 69 67 68 74 2c 00 00 00 39 20 20 | 2_t.width,.int32_t.height,...9.. |
| 161a0 | 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 73 74 72 | .............................str |
| 161c0 | 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 74 61 74 65 73 29 20 7b 00 00 00 1e 20 20 69 66 20 | uct.wl_array.*states).{......if. |
| 161e0 | 28 77 69 64 74 68 20 3e 20 30 20 26 26 20 68 65 69 67 68 74 20 3e 20 30 29 00 00 00 23 20 20 20 | (width.>.0.&&.height.>.0)...#... |
| 16200 | 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 72 28 77 69 64 74 68 2c 20 68 65 69 67 68 74 29 3b | .allocate_buffer(width,.height); |
| 16220 | 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 74 6f 70 6c 65 76 65 | ....}.......Gstatic.void.topleve |
| 16240 | 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 74 | l_close(void.*data,.struct.xdg_t |
| 16260 | 6f 70 6c 65 76 65 6c 20 2a 74 6f 70 6c 65 76 65 6c 29 20 7b 00 00 00 0e 20 20 72 75 6e 6e 69 6e | oplevel.*toplevel).{......runnin |
| 16280 | 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 73 74 20 | g.=.0;....}.......?static.const. |
| 162a0 | 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 74 6f 70 | struct.xdg_toplevel_listener.top |
| 162c0 | 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 3e 20 20 20 20 2e 63 6f 6e 66 69 | level_listener.=.{...>.....confi |
| 162e0 | 67 75 72 65 20 3d 20 74 6f 70 6c 65 76 65 6c 5f 63 6f 6e 66 69 67 75 72 65 2c 20 2e 63 6c 6f 73 | gure.=.toplevel_configure,..clos |
| 16300 | 65 20 3d 20 74 6f 70 6c 65 76 65 6c 5f 63 6c 6f 73 65 7d 3b 00 00 00 00 00 00 00 46 73 74 61 74 | e.=.toplevel_close};.......Fstat |
| 16320 | 69 63 20 76 6f 69 64 20 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 28 76 6f 69 64 20 2a 64 | ic.void.registry_handler(void.*d |
| 16340 | 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 69 73 74 72 | ata,.struct.wl_registry.*registr |
| 16360 | 79 2c 00 00 00 40 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 | y,...@.......................... |
| 16380 | 20 20 20 75 69 6e 74 33 32 5f 74 20 69 64 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 6e 74 65 | ...uint32_t.id,.const.char.*inte |
| 163a0 | 72 66 61 63 65 2c 00 00 00 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | rface,...0...................... |
| 163c0 | 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 76 65 72 73 69 6f 6e 29 20 7b 00 00 00 2e 20 20 | .......uint32_t.version).{...... |
| 163e0 | 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 |
| 16400 | 69 74 6f 72 22 29 20 3d 3d 20 30 29 00 00 00 4d 20 20 20 20 63 6f 6d 70 6f 73 69 74 6f 72 20 3d | itor").==.0)...M....compositor.= |
| 16420 | 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 69 64 2c 20 | .wl_registry_bind(registry,.id,. |
| 16440 | 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);... |
| 16460 | 2c 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 20 22 77 | ,..else.if.(strcmp(interface,."w |
| 16480 | 6c 5f 73 68 6d 22 29 20 3d 3d 20 30 29 00 00 00 3f 20 20 20 20 73 68 6d 20 3d 20 77 6c 5f 72 65 | l_shm").==.0)...?....shm.=.wl_re |
| 164a0 | 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 69 64 2c 20 26 77 6c 5f 73 68 | gistry_bind(registry,.id,.&wl_sh |
| 164c0 | 6d 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 33 20 20 65 6c 73 65 20 69 66 20 28 73 | m_interface,.1);...3..else.if.(s |
| 164e0 | 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"). |
| 16500 | 3d 3d 20 30 29 20 7b 00 00 00 48 20 20 20 20 77 6d 5f 62 61 73 65 20 3d 20 77 6c 5f 72 65 67 69 | ==.0).{...H....wm_base.=.wl_regi |
| 16520 | 73 74 72 79 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 69 64 2c 20 26 78 64 67 5f 77 6d 5f | stry_bind(registry,.id,.&xdg_wm_ |
| 16540 | 62 61 73 65 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 3f 20 20 20 20 78 64 67 5f 77 | base_interface,.1);...?....xdg_w |
| 16560 | 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 20 26 77 6d | m_base_add_listener(wm_base,.&wm |
| 16580 | 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 03 20 20 7d 00 00 00 | _base_listener,.NULL);......}... |
| 165a0 | 01 7d 00 00 00 00 00 00 00 4f 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c | .}.......Ostatic.const.struct.wl |
| 165c0 | 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 69 73 74 | _registry_listener.registry_list |
| 165e0 | 65 6e 65 72 20 3d 20 7b 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 2c 00 00 00 44 20 20 20 | ener.=.{registry_handler,...D... |
| 16600 | 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 | ................................ |
| 16620 | 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 4e 55 4c 4c 7d | ...........................NULL} |
| 16640 | 3b 00 00 00 00 00 00 00 0c 69 6e 74 20 6d 61 69 6e 28 29 20 7b 00 00 00 25 20 20 64 69 73 70 6c | ;........int.main().{...%..displ |
| 16660 | 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 4c 29 3b 00 00 | ay.=.wl_display_connect(NULL);.. |
| 16680 | 00 11 20 20 69 66 20 28 21 64 69 73 70 6c 61 79 29 20 7b 00 00 00 3e 20 20 20 20 66 70 72 69 6e | ....if.(!display).{...>....fprin |
| 166a0 | 74 66 28 73 74 64 65 72 72 2c 20 22 46 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 |
| 166c0 | 20 57 61 79 6c 61 6e 64 20 64 69 73 70 6c 61 79 5c 6e 22 29 3b 00 00 00 0d 20 20 20 20 72 65 74 | .Wayland.display\n");........ret |
| 166e0 | 75 72 6e 20 31 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 2e 20 20 72 65 67 69 73 74 72 79 20 | urn.1;......}..........registry. |
| 16700 | 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 |
| 16720 | 79 29 3b 00 00 00 3f 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 | y);...?..wl_registry_add_listene |
| 16740 | 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 2c 20 | r(registry,.®istry_listener,. |
| 16760 | 4e 55 4c 4c 29 3b 00 00 00 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 | NULL);......wl_display_roundtrip |
| 16780 | 28 64 69 73 70 6c 61 79 29 3b 00 00 00 00 00 00 00 28 20 20 69 66 20 28 21 63 6f 6d 70 6f 73 69 | (display);.......(..if.(!composi |
| 167a0 | 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 3a 20 20 | tor.||.!shm.||.!wm_base).{...:.. |
| 167c0 | 20 20 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 4d 69 73 73 69 6e 67 20 72 65 71 75 69 | ..fprintf(stderr,."Missing.requi |
| 167e0 | 72 65 64 20 57 61 79 6c 61 6e 64 20 67 6c 6f 62 61 6c 73 5c 6e 22 29 3b 00 00 00 0d 20 20 20 20 | red.Wayland.globals\n");........ |
| 16800 | 72 65 74 75 72 6e 20 31 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 35 20 20 73 75 72 66 61 63 | return.1;......}.......5..surfac |
| 16820 | 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 |
| 16840 | 28 63 6f 6d 70 6f 73 69 74 6f 72 29 3b 00 00 00 3e 20 20 78 64 67 5f 73 75 72 66 61 63 65 20 3d | (compositor);...>..xdg_surface.= |
| 16860 | 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 6d 5f | .xdg_wm_base_get_xdg_surface(wm_ |
| 16880 | 62 61 73 65 2c 20 73 75 72 66 61 63 65 29 3b 00 00 00 45 20 20 78 64 67 5f 73 75 72 66 61 63 65 | base,.surface);...E..xdg_surface |
| 168a0 | 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 78 64 67 5f | _add_listener(xdg_surface,.&xdg_ |
| 168c0 | 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 00 00 00 00 33 | surface_listener,.NULL);.......3 |
| 168e0 | 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 |
| 16900 | 6c 65 76 65 6c 28 78 64 67 5f 73 75 72 66 61 63 65 29 3b 00 00 00 40 20 20 78 64 67 5f 74 6f 70 | level(xdg_surface);...@..xdg_top |
| 16920 | 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 74 6f | level_add_listener(toplevel,.&to |
| 16940 | 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 1d 20 20 77 6c 5f | plevel_listener,.NULL);......wl_ |
| 16960 | 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 20 20 20 77 6c | surface_commit(surface);......wl |
| 16980 | 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 00 | _display_roundtrip(display);.... |
| 169a0 | 00 00 00 0e 20 20 2f 2f 20 4d 61 69 6e 20 6c 6f 6f 70 00 00 00 13 20 20 77 68 69 6c 65 20 28 72 | ......//.Main.loop......while.(r |
| 169c0 | 75 6e 6e 69 6e 67 29 20 7b 00 00 00 29 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 | unning).{...)....wl_display_disp |
| 169e0 | 61 74 63 68 5f 70 65 6e 64 69 6e 67 28 64 69 73 70 6c 61 79 29 3b 00 00 00 11 20 20 20 20 64 72 | atch_pending(display);........dr |
| 16a00 | 61 77 5f 63 6c 6f 63 6b 28 29 3b 00 00 00 24 20 20 20 20 75 73 6c 65 65 70 28 31 30 30 30 30 30 | aw_clock();...$....usleep(100000 |
| 16a20 | 30 20 2f 20 36 30 29 3b 20 2f 2f 20 7e 36 30 20 46 50 53 00 00 00 03 20 20 7d 00 00 00 00 00 00 | 0./.60);.//.~60.FPS......}...... |
| 16a40 | 00 0b 20 20 72 65 74 75 72 6e 20 30 3b 00 00 00 01 7d 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 | ....return.0;....}5............. |
| 16a60 | 00 00 cb 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ad 17 00 00 00 00 | ................................ |
| 16a80 | 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 2d 00 00 00 2f 00 00 00 00 00 00 00 00 00 00 | ..........5._....-.../.......... |
| 16aa0 | 00 2e 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 00 | ................................ |
| 16ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16c00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d 87 70 04 01 00 00 00 00 00 f5 18 00 00 00 | ................i..p............ |
| 16c20 | 8c 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 7d f5 18 00 00 00 8d 00 00 00 00 00 00 00 00 | .................}.............. |
| 16c40 | 00 00 00 00 f5 18 00 00 00 84 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 19 20 20 20 20 77 6c | ..............................wl |
| 16c60 | 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 73 75 72 f5 18 00 00 00 85 00 00 00 00 00 00 00 | _surface_commit(sur............. |
| 16c80 | 00 00 00 00 00 f5 18 00 00 00 69 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 73 f5 18 00 00 | ..........i................s.... |
| 16ca0 | 00 6a 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 5d 00 00 00 00 00 00 00 00 00 00 00 01 | .j.................]............ |
| 16cc0 | 00 00 00 18 20 20 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 77 2c 20 68 2c 20 f5 18 00 00 | ........draw_line(px,.w,.h,..... |
| 16ce0 | 00 5e 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 57 00 00 00 00 00 00 00 00 00 00 00 01 | .^.................W............ |
| 16d00 | 00 00 00 10 20 20 20 20 73 74 72 75 63 74 20 74 6d 20 2a 74 f5 18 00 00 00 58 00 00 00 00 00 00 | ........struct.tm.*t.....X...... |
| 16d20 | 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 00 | ................................ |
| 16d40 | 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 00 | ..............5................. |
| 16d60 | 00 00 00 00 00 00 57 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0b | ......W......................... |
| 16d80 | 00 00 00 00 00 00 f5 18 00 00 00 00 57 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 06 00 00 00 | ............W................... |
| 16da0 | 18 00 00 00 00 0b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 | ................................ |
| 16dc0 | 00 00 5d 00 00 00 18 00 00 00 00 00 00 00 00 00 00 00 0c 00 00 00 01 00 00 00 00 0d 00 00 00 00 | ..]............................. |
| 16de0 | 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 69 00 00 00 01 00 00 00 | ........................i....... |
| 16e00 | 00 00 00 00 00 00 00 00 1b 00 00 00 19 00 00 00 00 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16e20 | 00 06 00 00 00 00 00 00 f5 18 00 00 00 00 84 00 00 00 19 00 00 00 00 00 00 00 00 00 00 00 08 00 | ................................ |
| 16e40 | 00 00 01 00 00 00 00 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 b7 00 00 00 00 00 00 00 35 81 | ..............................5. |
| 16e60 | 5f d0 00 00 00 2e 00 00 00 30 00 00 00 00 00 00 00 00 00 00 00 2f 00 00 00 8d 00 00 00 00 00 00 | _........0.........../.......... |
| 16e80 | 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 | ................................ |
| 16ea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16ec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16ee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16f00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16f20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16f40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16f60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16f80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16fe0 | 00 00 00 00 69 9d 87 71 04 01 00 00 00 13 00 f5 18 00 00 00 1a 00 00 00 b8 00 00 00 8d 00 00 00 | ....i..q........................ |
| 17000 | 72 00 00 00 30 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 | r...0....char.template[].=."/tmp |
| 17020 | 2f 77 61 79 6c 61 6e 64 2d 73 68 6d 2d 58 58 58 58 58 58 22 3b 00 00 00 1f 20 20 20 20 69 6e 74 | /wayland-shm-XXXXXX";........int |
| 17040 | 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 2f 20 20 20 20 | .fd.=.mkstemp(template);.../.... |
| 17060 | 69 66 20 28 66 64 20 3c 20 30 29 20 7b 20 70 65 72 72 6f 72 28 22 6d 6b 73 74 65 6d 70 22 29 3b | if.(fd.<.0).{.perror("mkstemp"); |
| 17080 | 20 65 78 69 74 28 31 29 3b 20 7d 00 00 00 15 20 20 20 20 75 6e 6c 69 6e 6b 28 74 65 6d 70 6c 61 | .exit(1);.}........unlink(templa |
| 170a0 | 74 65 29 3b 00 00 00 42 20 20 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 73 69 | te);...B....if.(ftruncate(fd,.si |
| 170c0 | 7a 65 29 20 3c 20 30 29 20 7b 20 70 65 72 72 6f 72 28 22 66 74 72 75 6e 63 61 74 65 22 29 3b 20 | ze).<.0).{.perror("ftruncate");. |
| 170e0 | 65 78 69 74 28 31 29 3b 20 7d 00 00 00 0e 20 20 20 20 72 65 74 75 72 6e 20 66 64 3b 00 00 00 01 | exit(1);.}........return.fd;.... |
| 17100 | 7d 00 00 00 00 00 00 00 54 73 74 61 74 69 63 20 76 6f 69 64 20 77 6d 5f 62 61 73 65 5f 70 69 6e | }.......Tstatic.void.wm_base_pin |
| 17120 | 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 |
| 17140 | 20 2a 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 20 7b 00 00 00 | .*wm_base,.uint32_t.serial).{... |
| 17160 | 26 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 5f 62 61 73 65 2c 20 73 | &....xdg_wm_base_pong(wm_base,.s |
| 17180 | 65 72 69 61 6c 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4b 73 74 61 74 69 63 20 63 6f 6e 73 74 | erial);....}.......Kstatic.const |
| 171a0 | 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 77 6d 5f | .struct.xdg_wm_base_listener.wm_ |
| 171c0 | 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 77 6d 5f 62 61 73 65 5f 70 69 6e 67 7d 3b 00 | base_listener.=.{wm_base_ping};. |
| 171e0 | 00 00 00 00 00 00 61 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 | ......astatic.void.xdg_surface_c |
| 17200 | 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 20 78 64 67 5f | onfigure(void.*data,.struct.xdg_ |
| 17220 | 73 75 72 66 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 | surface.*xdg_surface,.uint32_t.s |
| 17240 | 65 72 69 61 6c 29 20 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 | erial).{...3....xdg_surface_ack_ |
| 17260 | 63 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 | configure(xdg_surface,.serial);. |
| 17280 | 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 61 63 65 | .......wl_surface_commit(surface |
| 172a0 | 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 58 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 | );....}.......Xstatic.const.stru |
| 172c0 | 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 72 66 | ct.xdg_surface_listener.xdg_surf |
| 172e0 | 61 63 65 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 78 64 67 5f 73 75 72 66 61 63 65 5f 63 6f 6e 66 | ace_listener.=.{xdg_surface_conf |
| 17300 | 69 67 75 72 65 7d 3b 00 00 00 00 00 00 00 34 73 74 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 | igure};.......4static.void.alloc |
| 17320 | 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 68 74 | ate_buffer(int.width,.int.height |
| 17340 | 29 20 7b 00 00 00 11 20 20 20 20 69 66 20 28 62 75 66 66 65 72 29 20 7b 00 00 00 22 20 20 20 20 | ).{........if.(buffer).{...".... |
| 17360 | 20 20 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 62 75 66 66 65 72 29 3b 00 00 | ....wl_buffer_destroy(buffer);.. |
| 17380 | 00 33 20 20 20 20 20 20 20 20 6d 75 6e 6d 61 70 28 70 69 78 65 6c 73 2c 20 62 75 66 5f 77 69 64 | .3........munmap(pixels,.buf_wid |
| 173a0 | 74 68 20 2a 20 62 75 66 5f 68 65 69 67 68 74 20 2a 20 34 29 3b 00 00 00 05 20 20 20 20 7d 00 00 | th.*.buf_height.*.4);........}.. |
| 173c0 | 00 16 20 20 20 20 62 75 66 5f 77 69 64 74 68 20 3d 20 77 69 64 74 68 3b 00 00 00 18 20 20 20 20 | ......buf_width.=.width;........ |
| 173e0 | 62 75 66 5f 68 65 69 67 68 74 20 3d 20 68 65 69 67 68 74 3b 00 00 00 1b 20 20 20 20 69 6e 74 20 | buf_height.=.height;........int. |
| 17400 | 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 74 20 73 | stride.=.width.*.4;........int.s |
| 17420 | 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 20 69 6e | ize.=.stride.*.height;...#....in |
| 17440 | 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 00 00 00 | t.fd.=.create_shm_file(size);... |
| 17460 | 49 20 20 20 20 70 69 78 65 6c 73 20 3d 20 6d 6d 61 70 28 4e 55 4c 4c 2c 20 73 69 7a 65 2c 20 50 | I....pixels.=.mmap(NULL,.size,.P |
| 17480 | 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 |
| 174a0 | 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 3a 20 20 20 20 69 66 20 28 70 69 78 65 6c 73 20 3d 3d 20 | D,.fd,.0);...:....if.(pixels.==. |
| 174c0 | 4d 41 50 5f 46 41 49 4c 45 44 29 20 7b 20 70 65 72 72 6f 72 28 22 6d 6d 61 70 22 29 3b 20 65 78 | MAP_FAILED).{.perror("mmap");.ex |
| 174e0 | 69 74 28 31 29 3b 20 7d 00 00 00 41 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 5f 70 6f | it(1);.}...A....struct.wl_shm_po |
| 17500 | 6f 6c 20 2a 70 6f 6f 6c 20 3d 20 77 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f 70 6f 6f 6c 28 73 68 | ol.*pool.=.wl_shm_create_pool(sh |
| 17520 | 6d 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 | m,.fd,.size);..._....buffer.=.wl |
| 17540 | 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c 20 30 2c | _shm_pool_create_buffer(pool,.0, |
| 17560 | 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 4c 5f 53 48 4d 5f 46 | .width,.height,.stride,.WL_SHM_F |
| 17580 | 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 2d 20 20 20 20 77 6c 5f 73 75 72 66 61 | ORMAT_ARGB8888);...-....wl_surfa |
| 175a0 | 63 65 5f 61 74 74 61 63 68 28 73 75 72 66 61 63 65 2c 20 62 75 66 66 65 72 2c 20 30 2c 20 30 29 | ce_attach(surface,.buffer,.0,.0) |
| 175c0 | 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 61 | ;........wl_surface_commit(surfa |
| 175e0 | 63 65 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 63 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 | ce);....}.......cstatic.void.dra |
| 17600 | 77 5f 6c 69 6e 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 | w_line(uint32_t.*px,.int.w,.int. |
| 17620 | 68 2c 20 69 6e 74 20 78 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 2c 20 69 6e 74 20 79 | h,.int.x0,.int.y0,.int.x1,.int.y |
| 17640 | 31 2c 20 75 69 6e 74 33 32 5f 74 20 63 6f 6c 6f 72 29 20 7b 00 00 00 31 20 20 20 20 69 6e 74 20 | 1,.uint32_t.color).{...1....int. |
| 17660 | 64 78 20 3d 20 61 62 73 28 78 31 20 2d 20 78 30 29 2c 20 73 78 20 3d 20 78 30 20 3c 20 78 31 20 | dx.=.abs(x1.-.x0),.sx.=.x0.<.x1. |
| 17680 | 3f 20 31 20 3a 20 2d 31 3b 00 00 00 32 20 20 20 20 69 6e 74 20 64 79 20 3d 20 2d 61 62 73 28 79 | ?.1.:.-1;...2....int.dy.=.-abs(y |
| 176a0 | 31 20 2d 20 79 30 29 2c 20 73 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 31 20 3a 20 2d 31 3b 00 | 1.-.y0),.sy.=.y0.<.y1.?.1.:.-1;. |
| 176c0 | 00 00 1a 20 20 20 20 69 6e 74 20 65 72 72 20 3d 20 64 78 20 2b 20 64 79 2c 20 65 32 3b 00 00 00 | .......int.err.=.dx.+.dy,.e2;... |
| 176e0 | 0f 20 20 20 20 77 68 69 6c 65 20 28 31 29 20 7b 00 00 00 4c 20 20 20 20 20 20 20 20 69 66 20 28 | .....while.(1).{...L........if.( |
| 17700 | 78 30 20 3e 3d 20 30 20 26 26 20 78 30 20 3c 20 77 20 26 26 20 79 30 20 3e 3d 20 30 20 26 26 20 | x0.>=.0.&&.x0.<.w.&&.y0.>=.0.&&. |
| 17720 | 79 30 20 3c 20 68 29 20 70 78 5b 79 30 20 2a 20 77 20 2b 20 78 30 5d 20 3d 20 63 6f 6c 6f 72 3b | y0.<.h).px[y0.*.w.+.x0].=.color; |
| 17740 | 00 00 00 28 20 20 20 20 20 20 20 20 69 66 20 28 78 30 20 3d 3d 20 78 31 20 26 26 20 79 30 20 3d | ...(........if.(x0.==.x1.&&.y0.= |
| 17760 | 3d 20 79 31 29 20 62 72 65 61 6b 3b 00 00 00 15 20 20 20 20 20 20 20 20 65 32 20 3d 20 32 20 2a | =.y1).break;............e2.=.2.* |
| 17780 | 20 65 72 72 3b 00 00 00 2e 20 20 20 20 20 20 20 20 69 66 20 28 65 32 20 3e 3d 20 64 79 29 20 7b | .err;............if.(e2.>=.dy).{ |
| 177a0 | 20 65 72 72 20 2b 3d 20 64 79 3b 20 78 30 20 2b 3d 20 73 78 3b 20 7d 00 00 00 2e 20 20 20 20 20 | .err.+=.dy;.x0.+=.sx;.}......... |
| 177c0 | 20 20 20 69 66 20 28 65 32 20 3c 3d 20 64 78 29 20 7b 20 65 72 72 20 2b 3d 20 64 78 3b 20 79 30 | ...if.(e2.<=.dx).{.err.+=.dx;.y0 |
| 177e0 | 20 2b 3d 20 73 79 3b 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 1a 73 | .+=.sy;.}........}....}........s |
| 17800 | 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 63 6c 6f 63 6b 28 29 20 7b 00 00 00 18 20 20 20 | tatic.void.draw_clock().{....... |
| 17820 | 20 69 66 20 28 21 70 69 78 65 6c 73 29 20 72 65 74 75 72 6e 3b 00 00 00 1a 20 20 20 20 75 69 6e | .if.(!pixels).return;........uin |
| 17840 | 74 33 32 5f 74 20 2a 70 78 20 3d 20 70 69 78 65 6c 73 3b 00 00 00 16 20 20 20 20 69 6e 74 20 77 | t32_t.*px.=.pixels;........int.w |
| 17860 | 20 3d 20 62 75 66 5f 77 69 64 74 68 3b 00 00 00 17 20 20 20 20 69 6e 74 20 68 20 3d 20 62 75 66 | .=.buf_width;........int.h.=.buf |
| 17880 | 5f 68 65 69 67 68 74 3b 00 00 00 1f 20 20 20 20 69 6e 74 20 63 78 20 3d 20 77 20 2f 20 32 2c 20 | _height;........int.cx.=.w./.2,. |
| 178a0 | 63 79 20 3d 20 68 20 2f 20 32 3b 00 00 00 25 20 20 20 20 69 6e 74 20 72 20 3d 20 28 77 20 3c 20 | cy.=.h./.2;...%....int.r.=.(w.<. |
| 178c0 | 68 20 3f 20 77 20 3a 20 68 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 00 37 20 20 20 20 66 6f 72 20 | h.?.w.:.h)./.2.-.10;...7....for. |
| 178e0 | 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 77 20 2a 20 68 3b 20 69 2b 2b 29 20 70 78 5b 69 | (int.i.=.0;.i.<.w.*.h;.i++).px[i |
| 17900 | 5d 20 3d 20 30 78 66 66 66 66 66 66 66 66 3b 00 00 00 1a 20 20 20 20 74 69 6d 65 5f 74 20 74 20 | ].=.0xffffffff;........time_t.t. |
| 17920 | 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 22 20 20 20 20 73 74 72 75 63 74 20 74 6d 20 2a | =.time(NULL);..."....struct.tm.* |
| 17940 | 74 6d 20 3d 20 6c 6f 63 61 6c 74 69 6d 65 28 26 74 29 3b 00 00 00 55 20 20 20 20 64 6f 75 62 6c | tm.=.localtime(&t);...U....doubl |
| 17960 | 65 20 68 6f 75 72 5f 61 6e 67 6c 65 20 3d 20 28 74 6d 2d 3e 74 6d 5f 68 6f 75 72 20 25 20 31 32 | e.hour_angle.=.(tm->tm_hour.%.12 |
| 17980 | 20 2b 20 74 6d 2d 3e 74 6d 5f 6d 69 6e 20 2f 20 36 30 2e 30 29 20 2a 20 4d 5f 50 49 20 2f 20 36 | .+.tm->tm_min./.60.0).*.M_PI./.6 |
| 179a0 | 2e 30 20 2d 20 4d 5f 50 49 2f 32 3b 00 00 00 4f 20 20 20 20 64 6f 75 62 6c 65 20 6d 69 6e 5f 61 | .0.-.M_PI/2;...O....double.min_a |
| 179c0 | 6e 67 6c 65 20 3d 20 28 74 6d 2d 3e 74 6d 5f 6d 69 6e 20 2b 20 74 6d 2d 3e 74 6d 5f 73 65 63 20 | ngle.=.(tm->tm_min.+.tm->tm_sec. |
| 179e0 | 2f 20 36 30 2e 30 29 20 2a 20 4d 5f 50 49 20 2f 20 33 30 2e 30 20 2d 20 4d 5f 50 49 2f 32 3b 00 | /.60.0).*.M_PI./.30.0.-.M_PI/2;. |
| 17a00 | 00 00 39 20 20 20 20 64 6f 75 62 6c 65 20 73 65 63 5f 61 6e 67 6c 65 20 3d 20 74 6d 2d 3e 74 6d | ..9....double.sec_angle.=.tm->tm |
| 17a20 | 5f 73 65 63 20 2a 20 4d 5f 50 49 20 2f 20 33 30 2e 30 20 2d 20 4d 5f 50 49 2f 32 3b 00 00 00 7a | _sec.*.M_PI./.30.0.-.M_PI/2;...z |
| 17a40 | 20 20 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 77 2c 20 68 2c 20 63 78 2c 20 63 79 2c 20 | ....draw_line(px,.w,.h,.cx,.cy,. |
| 17a60 | 63 78 20 2b 20 28 69 6e 74 29 28 72 20 2a 20 30 2e 35 20 2a 20 63 6f 73 28 68 6f 75 72 5f 61 6e | cx.+.(int)(r.*.0.5.*.cos(hour_an |
| 17a80 | 67 6c 65 29 29 2c 20 63 79 20 2b 20 28 69 6e 74 29 28 72 20 2a 20 30 2e 35 20 2a 20 73 69 6e 28 | gle)),.cy.+.(int)(r.*.0.5.*.sin( |
| 17aa0 | 68 6f 75 72 5f 61 6e 67 6c 65 29 29 2c 20 30 78 66 66 30 30 30 30 30 30 29 3b 00 00 00 79 20 20 | hour_angle)),.0xff000000);...y.. |
| 17ac0 | 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 77 2c 20 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 | ..draw_line(px,.w,.h,.cx,.cy,.cx |
| 17ae0 | 20 2b 20 28 69 6e 74 29 28 72 20 2a 20 30 2e 37 20 2a 20 63 6f 73 28 6d 69 6e 5f 61 6e 67 6c 65 | .+.(int)(r.*.0.7.*.cos(min_angle |
| 17b00 | 29 29 2c 20 20 63 79 20 2b 20 28 69 6e 74 29 28 72 20 2a 20 30 2e 37 20 2a 20 73 69 6e 28 6d 69 | )),..cy.+.(int)(r.*.0.7.*.sin(mi |
| 17b20 | 6e 5f 61 6e 67 6c 65 29 29 2c 20 30 78 66 66 30 30 30 30 30 30 29 3b 00 00 00 79 20 20 20 20 64 | n_angle)),.0xff000000);...y....d |
| 17b40 | 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 77 2c 20 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 | raw_line(px,.w,.h,.cx,.cy,.cx.+. |
| 17b60 | 28 69 6e 74 29 28 72 20 2a 20 30 2e 39 20 2a 20 63 6f 73 28 73 65 63 5f 61 6e 67 6c 65 29 29 2c | (int)(r.*.0.9.*.cos(sec_angle)), |
| 17b80 | 20 20 63 79 20 2b 20 28 69 6e 74 29 28 72 20 2a 20 30 2e 39 20 2a 20 73 69 6e 28 73 65 63 5f 61 | ..cy.+.(int)(r.*.0.9.*.sin(sec_a |
| 17ba0 | 6e 67 6c 65 29 29 2c 20 30 78 66 66 66 66 30 30 30 30 29 3b 00 00 00 2d 20 20 20 20 77 6c 5f 73 | ngle)),.0xffff0000);...-....wl_s |
| 17bc0 | 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 73 75 72 66 61 63 65 2c 20 62 75 66 66 65 72 2c 20 30 | urface_attach(surface,.buffer,.0 |
| 17be0 | 2c 20 30 29 3b 00 00 00 2b 20 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 61 6d 61 67 65 28 73 | ,.0);...+....wl_surface_damage(s |
| 17c00 | 75 72 66 61 63 65 2c 20 30 2c 20 30 2c 20 77 2c 20 68 29 3b 00 00 00 1f 20 20 20 20 77 6c 5f 73 | urface,.0,.0,.w,.h);........wl_s |
| 17c20 | 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 00 | urface_commit(surface);....}.... |
| 17c40 | 00 00 00 83 73 74 61 74 69 63 20 76 6f 69 64 20 74 6f 70 6c 65 76 65 6c 5f 63 6f 6e 66 69 67 75 | ....static.void.toplevel_configu |
| 17c60 | 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 76 | re(void.*data,.struct.xdg_toplev |
| 17c80 | 65 6c 20 2a 74 6f 70 6c 65 76 65 6c 2c 20 69 6e 74 33 32 5f 74 20 77 69 64 74 68 2c 20 69 6e 74 | el.*toplevel,.int32_t.width,.int |
| 17ca0 | 33 32 5f 74 20 68 65 69 67 68 74 2c 20 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 74 | 32_t.height,.struct.wl_array.*st |
| 17cc0 | 61 74 65 73 29 20 7b 00 00 00 40 20 20 20 20 69 66 20 28 77 69 64 74 68 20 3e 20 30 20 26 26 20 | ates).{...@....if.(width.>.0.&&. |
| 17ce0 | 68 65 69 67 68 74 20 3e 20 30 29 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 72 28 77 69 64 74 | height.>.0).allocate_buffer(widt |
| 17d00 | 68 2c 20 68 65 69 67 68 74 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 56 73 74 61 74 69 63 20 76 | h,.height);....}.......Vstatic.v |
| 17d20 | 6f 69 64 20 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 | oid.toplevel_close(void.*data,.s |
| 17d40 | 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 20 7b 20 | truct.xdg_toplevel.*toplevel).{. |
| 17d60 | 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 20 7d 00 00 00 00 00 00 00 7b 73 74 61 74 69 63 20 63 6f 6e | running.=.0;.}.......{static.con |
| 17d80 | 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. |
| 17da0 | 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 20 2e 63 6f 6e 66 69 67 75 72 65 | toplevel_listener.=.{..configure |
| 17dc0 | 20 3d 20 74 6f 70 6c 65 76 65 6c 5f 63 6f 6e 66 69 67 75 72 65 2c 20 2e 63 6c 6f 73 65 20 3d 20 | .=.toplevel_configure,..close.=. |
| 17de0 | 74 6f 70 6c 65 76 65 6c 5f 63 6c 6f 73 65 20 7d 3b 00 00 00 00 00 00 00 7e 73 74 61 74 69 63 20 | toplevel_close.};.......~static. |
| 17e00 | 76 6f 69 64 20 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 28 76 6f 69 64 20 2a 64 61 74 61 | void.registry_handler(void.*data |
| 17e20 | 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,. |
| 17e40 | 75 69 6e 74 33 32 5f 74 20 69 64 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 6e 74 65 72 66 61 | uint32_t.id,.const.char.*interfa |
| 17e60 | 63 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 65 72 73 69 6f 6e 29 20 7b 00 00 00 30 20 20 20 20 69 | ce,.uint32_t.version).{...0....i |
| 17e80 | 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 69 | f.(strcmp(interface,."wl_composi |
| 17ea0 | 74 6f 72 22 29 20 3d 3d 20 30 29 00 00 00 51 20 20 20 20 20 20 20 20 63 6f 6d 70 6f 73 69 74 6f | tor").==.0)...Q........composito |
| 17ec0 | 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 69 | r.=.wl_registry_bind(registry,.i |
| 17ee0 | 64 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 34 29 3b | d,.&wl_compositor_interface,.4); |
| 17f00 | 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 66 61 63 | ........else.if.(strcmp(interfac |
| 17f20 | 65 2c 20 22 77 6c 5f 73 68 6d 22 29 20 3d 3d 20 30 29 00 00 00 43 20 20 20 20 20 20 20 20 73 68 | e,."wl_shm").==.0)...C........sh |
| 17f40 | 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 69 | m.=.wl_registry_bind(registry,.i |
| 17f60 | 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 35 20 20 20 | d,.&wl_shm_interface,.1);...5... |
| 17f80 | 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 78 64 67 | .else.if.(strcmp(interface,."xdg |
| 17fa0 | 5f 77 6d 5f 62 61 73 65 22 29 20 3d 3d 20 30 29 20 7b 00 00 00 4c 20 20 20 20 20 20 20 20 77 6d | _wm_base").==.0).{...L........wm |
| 17fc0 | 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 67 69 73 74 72 | _base.=.wl_registry_bind(registr |
| 17fe0 | 79 2c 20 69 64 2c 20 26 78 64 67 5f 77 6d 5f 62 61 73 65 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 | y,.id,.&xdg_wm_base_interface,.1 |
| 18000 | 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 |
| 18020 | 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 |
| 18040 | 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 00 00 00 00 56 73 | r,.NULL);........}....}.......Vs |
| 18060 | 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 6c | tatic.const.struct.wl_registry_l |
| 18080 | 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 3d 20 7b 72 65 67 | istener.registry_listener.=.{reg |
| 180a0 | 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 2c 20 4e 55 4c 4c 7d 3b 00 00 00 00 00 00 00 0c 69 6e 74 | istry_handler,.NULL};........int |
| 180c0 | 20 6d 61 69 6e 28 29 20 7b 00 00 00 27 20 20 20 20 64 69 73 70 6c 61 79 20 3d 20 77 6c 5f 64 69 | .main().{...'....display.=.wl_di |
| 180e0 | 73 70 6c 61 79 5f 63 6f 6e 6e 65 63 74 28 4e 55 4c 4c 29 3b 00 00 00 5a 20 20 20 20 69 66 20 28 | splay_connect(NULL);...Z....if.( |
| 18100 | 21 64 69 73 70 6c 61 79 29 20 7b 20 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 46 61 69 | !display).{.fprintf(stderr,."Fai |
| 18120 | 6c 65 64 20 74 6f 20 63 6f 6e 6e 65 63 74 20 74 6f 20 57 61 79 6c 61 6e 64 20 64 69 73 70 6c 61 | led.to.connect.to.Wayland.displa |
| 18140 | 79 5c 6e 22 29 3b 20 72 65 74 75 72 6e 20 31 3b 20 7d 00 00 00 30 20 20 20 20 72 65 67 69 73 74 | y\n");.return.1;.}...0....regist |
| 18160 | 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 |
| 18180 | 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 |
| 181a0 | 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 |
| 181c0 | 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 |
| 181e0 | 75 6e 64 74 72 69 70 28 64 69 73 70 6c 61 79 29 3b 00 00 00 6d 20 20 20 20 69 66 20 28 21 63 6f | undtrip(display);...m....if.(!co |
| 18200 | 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 65 29 20 7b 20 | mpositor.||.!shm.||.!wm_base).{. |
| 18220 | 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 4d 69 73 73 69 6e 67 20 72 65 71 75 69 72 65 | fprintf(stderr,."Missing.require |
| 18240 | 64 20 57 61 79 6c 61 6e 64 20 67 6c 6f 62 61 6c 73 5c 6e 22 29 3b 20 72 65 74 75 72 6e 20 31 3b | d.Wayland.globals\n");.return.1; |
| 18260 | 20 7d 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 74 6f | .}...7....surface.=.wl_composito |
| 18280 | 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 00 00 | r_create_surface(compositor);... |
| 182a0 | 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 5f 67 | @....xdg_surface.=.xdg_wm_base_g |
| 182c0 | 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 65 29 | et_xdg_surface(wm_base,.surface) |
| 182e0 | 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 6e 65 | ;...G....xdg_surface_add_listene |
| 18300 | 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 73 74 | r(xdg_surface,.&xdg_surface_list |
| 18320 | 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 35 20 20 20 20 74 6f 70 6c 65 76 65 6c 20 3d 20 78 | ener,.NULL);...5....toplevel.=.x |
| 18340 | 64 67 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 | dg_surface_get_toplevel(xdg_surf |
| 18360 | 61 63 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 | ace);...B....xdg_toplevel_add_li |
| 18380 | 73 74 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 | stener(toplevel,.&toplevel_liste |
| 183a0 | 6e 65 72 2c 20 4e 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 | ner,.NULL);........wl_surface_co |
| 183c0 | 6d 6d 69 74 28 73 75 72 66 61 63 65 29 3b 00 00 00 22 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 | mmit(surface);..."....wl_display |
| 183e0 | 5f 72 6f 75 6e 64 74 72 69 70 28 64 69 73 70 6c 61 79 29 3b 00 00 00 15 20 20 20 20 77 68 69 6c | _roundtrip(display);........whil |
| 18400 | 65 20 28 72 75 6e 6e 69 6e 67 29 20 7b 00 00 00 2d 20 20 20 20 20 20 20 20 77 6c 5f 64 69 73 70 | e.(running).{...-........wl_disp |
| 18420 | 6c 61 79 5f 64 69 73 70 61 74 63 68 5f 70 65 6e 64 69 6e 67 28 64 69 73 70 6c 61 79 29 3b 00 00 | lay_dispatch_pending(display);.. |
| 18440 | 00 15 20 20 20 20 20 20 20 20 64 72 61 77 5f 63 6c 6f 63 6b 28 29 3b 00 00 00 1d 20 20 20 20 20 | ..........draw_clock();......... |
| 18460 | 20 20 20 75 73 6c 65 65 70 28 31 30 30 30 30 30 30 20 2f 20 36 30 29 3b 00 00 00 05 20 20 20 20 | ...usleep(1000000./.60);........ |
| 18480 | 7d 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 30 3b 35 81 f5 18 00 00 00 00 1a 00 00 00 02 00 | }........return.0;5............. |
| 184a0 | 00 00 71 00 00 00 02 00 00 00 9c 00 00 00 00 00 00 00 7d 02 00 00 00 00 00 00 2d 13 00 00 00 00 | ..q...............}.......-..... |
| 184c0 | 00 00 3f 14 00 00 00 00 00 00 35 81 5f d0 00 00 00 2f 00 00 00 31 00 00 00 00 00 00 00 00 00 00 | ..?.......5._..../...1.......... |
| 184e0 | 00 30 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 | .0.............................. |
| 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 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 185a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 185c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 185e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d 88 50 04 01 00 00 00 00 00 f5 18 00 00 00 | ................i..P............ |
| 18660 | 00 00 00 00 02 00 00 00 00 00 00 00 b8 00 00 00 26 23 69 6e 63 6c 75 64 65 20 22 78 64 67 2d 73 | ................&#include."xdg-s |
| 18680 | 68 65 6c 6c 2d 63 6c 69 65 6e 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 12 23 69 6e 63 6c | hell-client-protocol.h"....#incl |
| 186a0 | 75 64 65 20 3c 66 63 6e 74 6c 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 6d 61 74 68 2e | ude.<fcntl.h>....#include.<math. |
| 186c0 | 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6f 2e 68 3e 00 00 00 13 23 69 6e 63 | h>....#include.<stdio.h>....#inc |
| 186e0 | 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 74 72 | lude.<stdlib.h>....#include.<str |
| 18700 | 69 6e 67 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e 68 3e 00 | ing.h>....#include.<sys/mman.h>. |
| 18720 | 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 74 69 6d 65 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 | ...#include.<time.h>....#include |
| 18740 | 20 3c 75 6e 69 73 74 64 2e 68 3e 00 00 00 1b 23 69 6e 63 6c 75 64 65 20 3c 77 61 79 6c 61 6e 64 | .<unistd.h>....#include.<wayland |
| 18760 | 2d 63 6c 69 65 6e 74 2e 68 3e 00 00 00 00 00 00 00 1b 73 74 72 75 63 74 20 77 6c 5f 64 69 73 70 | -client.h>........struct.wl_disp |
| 18780 | 6c 61 79 20 2a 64 69 73 70 6c 61 79 3b 00 00 00 1d 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 | lay.*display;....struct.wl_regis |
| 187a0 | 74 72 79 20 2a 72 65 67 69 73 74 72 79 3b 00 00 00 21 73 74 72 75 63 74 20 77 6c 5f 63 6f 6d 70 | try.*registry;...!struct.wl_comp |
| 187c0 | 6f 73 69 74 6f 72 20 2a 63 6f 6d 70 6f 73 69 74 6f 72 3b 00 00 00 13 73 74 72 75 63 74 20 77 6c | ositor.*compositor;....struct.wl |
| 187e0 | 5f 73 68 6d 20 2a 73 68 6d 3b 00 00 00 1c 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 | _shm.*shm;....struct.xdg_wm_base |
| 18800 | 20 2a 77 6d 5f 62 61 73 65 3b 00 00 00 1b 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 | .*wm_base;....struct.wl_surface. |
| 18820 | 2a 73 75 72 66 61 63 65 3b 00 00 00 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 | *surface;....struct.xdg_surface. |
| 18840 | 2a 78 64 67 5f 73 75 72 66 61 63 65 3b 00 00 00 1e 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c | *xdg_surface;....struct.xdg_topl |
| 18860 | 65 76 65 6c 20 2a 74 6f 70 6c 65 76 65 6c 3b 00 00 00 00 00 00 00 17 73 74 61 74 69 63 20 69 6e | evel.*toplevel;........static.in |
| 18880 | 74 20 72 75 6e 6e 69 6e 67 20 3d 20 31 3b 00 00 00 27 73 74 61 74 69 63 20 73 74 72 75 63 74 20 | t.running.=.1;...'static.struct. |
| 188a0 | 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 66 65 72 20 3d 20 4e 55 4c 4c 3b 00 00 00 1b 73 74 61 | wl_buffer.*buffer.=.NULL;....sta |
| 188c0 | 74 69 63 20 76 6f 69 64 20 2a 70 69 78 65 6c 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 29 73 74 61 74 | tic.void.*pixels.=.NULL;...)stat |
| 188e0 | 69 63 20 69 6e 74 20 62 75 66 5f 77 69 64 74 68 20 3d 20 30 2c 20 62 75 66 5f 68 65 69 67 68 74 | ic.int.buf_width.=.0,.buf_height |
| 18900 | 20 3d 20 30 3b 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 69 6e 74 20 63 72 65 61 74 65 5f 73 | .=.0;.......)static.int.create_s |
| 18920 | 68 6d 5f 66 69 6c 65 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 2e 20 20 63 68 61 72 | hm_file(size_t.size).{......char |
| 18940 | 20 74 65 6d 70 6c 61 74 65 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 61 79 6c 61 6e 64 2d 73 68 6d 2d | .template[].=."/tmp/wayland-shm- |
| 18960 | 58 58 58 58 58 58 22 3b 00 00 00 1d 20 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 | XXXXXX";......int.fd.=.mkstemp(t |
| 18980 | 65 6d 70 6c 61 74 65 29 3b 00 00 00 0f 20 20 69 66 20 28 66 64 20 3c 20 30 29 20 7b 00 00 00 16 | emplate);......if.(fd.<.0).{.... |
| 189a0 | 20 20 20 20 70 65 72 72 6f 72 28 22 6d 6b 73 74 65 6d 70 22 29 3b 00 00 00 0c 20 20 20 20 65 78 | ....perror("mkstemp");........ex |
| 189c0 | 69 74 28 31 29 3b 00 00 00 03 20 20 7d 00 00 00 13 20 20 75 6e 6c 69 6e 6b 28 74 65 6d 70 6c 61 | it(1);......}......unlink(templa |
| 189e0 | 74 65 29 3b 00 00 00 20 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 73 69 7a 65 | te);......if.(ftruncate(fd,.size |
| 18a00 | 29 20 3c 20 30 29 20 7b 00 00 00 18 20 20 20 20 70 65 72 72 6f 72 28 22 66 74 72 75 6e 63 61 74 | ).<.0).{........perror("ftruncat |
| 18a20 | 65 22 29 3b 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 03 20 20 7d 00 00 00 0c 20 | e");........exit(1);......}..... |
| 18a40 | 20 72 65 74 75 72 6e 20 66 64 3b 00 00 00 01 7d 00 00 00 00 00 00 00 41 73 74 61 74 69 63 20 76 | .return.fd;....}.......Astatic.v |
| 18a60 | 6f 69 64 20 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 | oid.wm_base_ping(void.*data,.str |
| 18a80 | 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 5f 62 61 73 65 2c 00 00 00 2b 20 20 20 | uct.xdg_wm_base.*wm_base,...+... |
| 18aa0 | 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 |
| 18ac0 | 65 72 69 61 6c 29 20 7b 00 00 00 24 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 | erial).{...$..xdg_wm_base_pong(w |
| 18ae0 | 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 4b 73 74 61 | m_base,.serial);....}.......Ksta |
| 18b00 | 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 |
| 18b20 | 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 77 6d 5f 62 61 73 | tener.wm_base_listener.=.{wm_bas |
| 18b40 | 65 5f 70 69 6e 67 7d 3b 00 00 00 00 00 00 00 4e 73 74 61 74 69 63 20 76 6f 69 64 20 78 64 67 5f | e_ping};.......Nstatic.void.xdg_ |
| 18b60 | 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 20 73 74 | surface_configure(void.*data,.st |
| 18b80 | 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 2c 00 00 | ruct.xdg_surface.*xdg_surface,.. |
| 18ba0 | 00 34 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .4.............................. |
| 18bc0 | 20 20 20 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 31 20 20 78 64 67 5f | ....uint32_t.serial).{...1..xdg_ |
| 18be0 | 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 66 61 63 | surface_ack_configure(xdg_surfac |
| 18c00 | 65 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 1d 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d | e,.serial);......wl_surface_comm |
| 18c20 | 69 74 28 73 75 72 66 61 63 65 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 41 73 74 61 74 69 63 20 | it(surface);....}.......Astatic. |
| 18c40 | 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 | const.struct.xdg_surface_listene |
| 18c60 | 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 00 00 00 1b 20 20 | r.xdg_surface_listener.=.{...... |
| 18c80 | 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 63 6f 6e 66 69 67 75 72 65 7d 3b 00 00 00 00 00 00 00 | ..xdg_surface_configure};....... |
| 18ca0 | 34 73 74 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 72 28 69 6e 74 | 4static.void.allocate_buffer(int |
| 18cc0 | 20 77 69 64 74 68 2c 20 69 6e 74 20 68 65 69 67 68 74 29 20 7b 00 00 00 0f 20 20 69 66 20 28 62 | .width,.int.height).{......if.(b |
| 18ce0 | 75 66 66 65 72 29 20 7b 00 00 00 1e 20 20 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f | uffer).{........wl_buffer_destro |
| 18d00 | 79 28 62 75 66 66 65 72 29 3b 00 00 00 2f 20 20 20 20 6d 75 6e 6d 61 70 28 70 69 78 65 6c 73 2c | y(buffer);.../....munmap(pixels, |
| 18d20 | 20 62 75 66 5f 77 69 64 74 68 20 2a 20 62 75 66 5f 68 65 69 67 68 74 20 2a 20 34 29 3b 00 00 00 | .buf_width.*.buf_height.*.4);... |
| 18d40 | 03 20 20 7d 00 00 00 14 20 20 62 75 66 5f 77 69 64 74 68 20 3d 20 77 69 64 74 68 3b 00 00 00 16 | ...}......buf_width.=.width;.... |
| 18d60 | 20 20 62 75 66 5f 68 65 69 67 68 74 20 3d 20 68 65 69 67 68 74 3b 00 00 00 19 20 20 69 6e 74 20 | ..buf_height.=.height;......int. |
| 18d80 | 73 74 72 69 64 65 20 3d 20 77 69 64 74 68 20 2a 20 34 3b 00 00 00 1d 20 20 69 6e 74 20 73 69 7a | stride.=.width.*.4;......int.siz |
| 18da0 | 65 20 3d 20 73 74 72 69 64 65 20 2a 20 68 65 69 67 68 74 3b 00 00 00 21 20 20 69 6e 74 20 66 64 | e.=.stride.*.height;...!..int.fd |
| 18dc0 | 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 47 20 20 70 | .=.create_shm_file(size);...G..p |
| 18de0 | 69 78 65 6c 73 20 3d 20 6d 6d 61 70 28 4e 55 4c 4c 2c 20 73 69 7a 65 2c 20 50 52 4f 54 5f 52 45 | ixels.=.mmap(NULL,.size,.PROT_RE |
| 18e00 | 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 2c | AD.|.PROT_WRITE,.MAP_SHARED,.fd, |
| 18e20 | 20 30 29 3b 00 00 00 1d 20 20 69 66 20 28 70 69 78 65 6c 73 20 3d 3d 20 4d 41 50 5f 46 41 49 4c | .0);......if.(pixels.==.MAP_FAIL |
| 18e40 | 45 44 29 20 7b 00 00 00 13 20 20 20 20 70 65 72 72 6f 72 28 22 6d 6d 61 70 22 29 3b 00 00 00 0c | ED).{........perror("mmap");.... |
| 18e60 | 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 03 20 20 7d 00 00 00 3f 20 20 73 74 72 75 63 74 20 | ....exit(1);......}...?..struct. |
| 18e80 | 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 20 3d 20 77 6c 5f 73 68 6d 5f 63 72 65 61 74 | wl_shm_pool.*pool.=.wl_shm_creat |
| 18ea0 | 65 5f 70 6f 6f 6c 28 73 68 6d 2c 20 66 64 2c 20 73 69 7a 65 29 3b 00 00 00 44 20 20 62 75 66 66 | e_pool(shm,.fd,.size);...D..buff |
| 18ec0 | 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 |
| 18ee0 | 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 00 00 | ool,.0,.width,.height,.stride,.. |
| 18f00 | 00 3d 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 | .=.............................. |
| 18f20 | 20 20 20 20 20 20 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 | .......WL_SHM_FORMAT_ARGB8888);. |
| 18f40 | 00 00 2b 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,. |
| 18f60 | 62 75 66 66 65 72 2c 20 30 2c 20 30 29 3b 00 00 00 1d 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 | buffer,.0,.0);......wl_surface_c |
| 18f80 | 6f 6d 6d 69 74 28 73 75 72 66 61 63 65 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 49 73 74 61 74 | ommit(surface);....}.......Istat |
| 18fa0 | 69 63 20 76 6f 69 64 20 64 72 61 77 5f 6c 69 6e 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 | ic.void.draw_line(uint32_t.*px,. |
| 18fc0 | 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 78 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e | int.w,.int.h,.int.x0,.int.y0,.in |
| 18fe0 | 74 20 78 31 2c 00 00 00 2f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 | t.x1,.../......................i |
| 19000 | 6e 74 20 79 31 2c 20 75 69 6e 74 33 32 5f 74 20 63 6f 6c 6f 72 29 20 7b 00 00 00 2f 20 20 69 6e | nt.y1,.uint32_t.color).{.../..in |
| 19020 | 74 20 64 78 20 3d 20 61 62 73 28 78 31 20 2d 20 78 30 29 2c 20 73 78 20 3d 20 78 30 20 3c 20 78 | t.dx.=.abs(x1.-.x0),.sx.=.x0.<.x |
| 19040 | 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 30 20 20 69 6e 74 20 64 79 20 3d 20 2d 61 62 73 28 79 | 1.?.1.:.-1;...0..int.dy.=.-abs(y |
| 19060 | 31 20 2d 20 79 30 29 2c 20 73 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 31 20 3a 20 2d 31 3b 00 | 1.-.y0),.sy.=.y0.<.y1.?.1.:.-1;. |
| 19080 | 00 00 18 20 20 69 6e 74 20 65 72 72 20 3d 20 64 78 20 2b 20 64 79 2c 20 65 32 3b 00 00 00 0d 20 | .....int.err.=.dx.+.dy,.e2;..... |
| 190a0 | 20 77 68 69 6c 65 20 28 31 29 20 7b 00 00 00 2f 20 20 20 20 69 66 20 28 78 30 20 3e 3d 20 30 20 | .while.(1).{.../....if.(x0.>=.0. |
| 190c0 | 26 26 20 78 30 20 3c 20 77 20 26 26 20 79 30 20 3e 3d 20 30 20 26 26 20 79 30 20 3c 20 68 29 00 | &&.x0.<.w.&&.y0.>=.0.&&.y0.<.h). |
| 190e0 | 00 00 1e 20 20 20 20 20 20 70 78 5b 79 30 20 2a 20 77 20 2b 20 78 30 5d 20 3d 20 63 6f 6c 6f 72 | .........px[y0.*.w.+.x0].=.color |
| 19100 | 3b 00 00 00 1d 20 20 20 20 69 66 20 28 78 30 20 3d 3d 20 78 31 20 26 26 20 79 30 20 3d 3d 20 79 | ;........if.(x0.==.x1.&&.y0.==.y |
| 19120 | 31 29 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 11 20 20 20 20 65 32 20 3d 20 32 | 1)..........break;........e2.=.2 |
| 19140 | 20 2a 20 65 72 72 3b 00 00 00 13 20 20 20 20 69 66 20 28 65 32 20 3e 3d 20 64 79 29 20 7b 00 00 | .*.err;........if.(e2.>=.dy).{.. |
| 19160 | 00 10 20 20 20 20 20 20 65 72 72 20 2b 3d 20 64 79 3b 00 00 00 0f 20 20 20 20 20 20 78 30 20 2b | ........err.+=.dy;..........x0.+ |
| 19180 | 3d 20 73 78 3b 00 00 00 05 20 20 20 20 7d 00 00 00 13 20 20 20 20 69 66 20 28 65 32 20 3c 3d 20 | =.sx;........}........if.(e2.<=. |
| 191a0 | 64 78 29 20 7b 00 00 00 10 20 20 20 20 20 20 65 72 72 20 2b 3d 20 64 78 3b 00 00 00 0f 20 20 20 | dx).{..........err.+=.dx;....... |
| 191c0 | 20 20 20 79 30 20 2b 3d 20 73 79 3b 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 01 | ...y0.+=.sy;........}......}.... |
| 191e0 | 7d 00 00 00 00 00 00 00 1a 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 63 6c 6f 63 6b 28 | }........static.void.draw_clock( |
| 19200 | 29 20 7b 00 00 00 0e 20 20 69 66 20 28 21 70 69 78 65 6c 73 29 00 00 00 0b 20 20 20 20 72 65 74 | ).{......if.(!pixels)........ret |
| 19220 | 75 72 6e 3b 00 00 00 18 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 78 20 3d 20 70 69 78 65 6c 73 3b | urn;......uint32_t.*px.=.pixels; |
| 19240 | 00 00 00 14 20 20 69 6e 74 20 77 20 3d 20 62 75 66 5f 77 69 64 74 68 3b 00 00 00 15 20 20 69 6e | ......int.w.=.buf_width;......in |
| 19260 | 74 20 68 20 3d 20 62 75 66 5f 68 65 69 67 68 74 3b 00 00 00 1d 20 20 69 6e 74 20 63 78 20 3d 20 | t.h.=.buf_height;......int.cx.=. |
| 19280 | 77 20 2f 20 32 2c 20 63 79 20 3d 20 68 20 2f 20 32 3b 00 00 00 23 20 20 69 6e 74 20 72 20 3d 20 | w./.2,.cy.=.h./.2;...#..int.r.=. |
| 192a0 | 28 77 20 3c 20 68 20 3f 20 77 20 3a 20 68 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 00 21 20 20 66 | (w.<.h.?.w.:.h)./.2.-.10;...!..f |
| 192c0 | 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 77 20 2a 20 68 3b 20 69 2b 2b 29 00 00 | or.(int.i.=.0;.i.<.w.*.h;.i++).. |
| 192e0 | 00 17 20 20 20 20 70 78 5b 69 5d 20 3d 20 30 78 66 66 66 66 66 66 66 66 3b 00 00 00 18 20 20 74 | ......px[i].=.0xffffffff;......t |
| 19300 | 69 6d 65 5f 74 20 74 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 20 20 20 73 74 72 75 63 | ime_t.t.=.time(NULL);......struc |
| 19320 | 74 20 74 6d 20 2a 74 6d 20 3d 20 6c 6f 63 61 6c 74 69 6d 65 28 26 74 29 3b 00 00 00 15 20 20 64 | t.tm.*tm.=.localtime(&t);......d |
| 19340 | 6f 75 62 6c 65 20 68 6f 75 72 5f 61 6e 67 6c 65 20 3d 00 00 00 45 20 20 20 20 20 20 28 74 6d 2d | ouble.hour_angle.=...E......(tm- |
| 19360 | 3e 74 6d 5f 68 6f 75 72 20 25 20 31 32 20 2b 20 74 6d 2d 3e 74 6d 5f 6d 69 6e 20 2f 20 36 30 2e | >tm_hour.%.12.+.tm->tm_min./.60. |
| 19380 | 30 29 20 2a 20 4d 5f 50 49 20 2f 20 36 2e 30 20 2d 20 4d 5f 50 49 20 2f 20 32 3b 00 00 00 4f 20 | 0).*.M_PI./.6.0.-.M_PI./.2;...O. |
| 193a0 | 20 64 6f 75 62 6c 65 20 6d 69 6e 5f 61 6e 67 6c 65 20 3d 20 28 74 6d 2d 3e 74 6d 5f 6d 69 6e 20 | .double.min_angle.=.(tm->tm_min. |
| 193c0 | 2b 20 74 6d 2d 3e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 29 20 2a 20 4d 5f 50 49 20 2f 20 33 30 | +.tm->tm_sec./.60.0).*.M_PI./.30 |
| 193e0 | 2e 30 20 2d 20 4d 5f 50 49 20 2f 20 32 3b 00 00 00 39 20 20 64 6f 75 62 6c 65 20 73 65 63 5f 61 | .0.-.M_PI./.2;...9..double.sec_a |
| 19400 | 6e 67 6c 65 20 3d 20 74 6d 2d 3e 74 6d 5f 73 65 63 20 2a 20 4d 5f 50 49 20 2f 20 33 30 2e 30 20 | ngle.=.tm->tm_sec.*.M_PI./.30.0. |
| 19420 | 2d 20 4d 5f 50 49 20 2f 20 32 3b 00 00 00 44 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 77 | -.M_PI./.2;...D..draw_line(px,.w |
| 19440 | 2c 20 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 72 20 2a 20 30 2e 35 20 | ,.h,.cx,.cy,.cx.+.(int)(r.*.0.5. |
| 19460 | 2a 20 63 6f 73 28 68 6f 75 72 5f 61 6e 67 6c 65 29 29 2c 00 00 00 3f 20 20 20 20 20 20 20 20 20 | *.cos(hour_angle)),...?......... |
| 19480 | 20 20 20 63 79 20 2b 20 28 69 6e 74 29 28 72 20 2a 20 30 2e 35 20 2a 20 73 69 6e 28 68 6f 75 72 | ...cy.+.(int)(r.*.0.5.*.sin(hour |
| 194a0 | 5f 61 6e 67 6c 65 29 29 2c 20 30 78 66 66 30 30 30 30 30 30 29 3b 00 00 00 43 20 20 64 72 61 77 | _angle)),.0xff000000);...C..draw |
| 194c0 | 5f 6c 69 6e 65 28 70 78 2c 20 77 2c 20 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e | _line(px,.w,.h,.cx,.cy,.cx.+.(in |
| 194e0 | 74 29 28 72 20 2a 20 30 2e 37 20 2a 20 63 6f 73 28 6d 69 6e 5f 61 6e 67 6c 65 29 29 2c 00 00 00 | t)(r.*.0.7.*.cos(min_angle)),... |
| 19500 | 3e 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 28 69 6e 74 29 28 72 20 2a 20 30 2e 37 20 | >............cy.+.(int)(r.*.0.7. |
| 19520 | 2a 20 73 69 6e 28 6d 69 6e 5f 61 6e 67 6c 65 29 29 2c 20 30 78 66 66 30 30 30 30 30 30 29 3b 00 | *.sin(min_angle)),.0xff000000);. |
| 19540 | 00 00 43 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 77 2c 20 68 2c 20 63 78 2c 20 63 79 2c | ..C..draw_line(px,.w,.h,.cx,.cy, |
| 19560 | 20 63 78 20 2b 20 28 69 6e 74 29 28 72 20 2a 20 30 2e 39 20 2a 20 63 6f 73 28 73 65 63 5f 61 6e | .cx.+.(int)(r.*.0.9.*.cos(sec_an |
| 19580 | 67 6c 65 29 29 2c 00 00 00 3e 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 28 69 6e 74 29 | gle)),...>............cy.+.(int) |
| 195a0 | 28 72 20 2a 20 30 2e 39 20 2a 20 73 69 6e 28 73 65 63 5f 61 6e 67 6c 65 29 29 2c 20 30 78 66 66 | (r.*.0.9.*.sin(sec_angle)),.0xff |
| 195c0 | 66 66 30 30 30 30 29 3b 00 00 00 2b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 | ff0000);...+..wl_surface_attach( |
| 195e0 | 73 75 72 66 61 63 65 2c 20 62 75 66 66 65 72 2c 20 30 2c 20 30 29 3b 00 00 00 29 20 20 77 6c 5f | surface,.buffer,.0,.0);...)..wl_ |
| 19600 | 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 2c | surface_damage(surface,.0,.0,.w, |
| 19620 | 20 68 29 3b 00 00 00 1d 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 73 75 72 66 | .h);......wl_surface_commit(surf |
| 19640 | 61 63 65 29 3b 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 74 6f | ace);....}.......Istatic.void.to |
| 19660 | 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 61 2c 20 73 74 72 | plevel_configure(void.*data,.str |
| 19680 | 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 2c 00 00 00 3d 20 | uct.xdg_toplevel.*toplevel,...=. |
| 196a0 | 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 69 6e | ..............................in |
| 196c0 | 74 33 32 5f 74 20 77 69 64 74 68 2c 20 69 6e 74 33 32 5f 74 20 68 65 69 67 68 74 2c 00 00 00 39 | t32_t.width,.int32_t.height,...9 |
| 196e0 | 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 73 | ...............................s |
| 19700 | 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 74 61 74 65 73 29 20 7b 00 00 00 1e 20 20 69 | truct.wl_array.*states).{......i |
| 19720 | 66 20 28 77 69 64 74 68 20 3e 20 30 20 26 26 20 68 65 69 67 68 74 20 3e 20 30 29 00 00 00 23 20 | f.(width.>.0.&&.height.>.0)...#. |
| 19740 | 20 20 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 72 28 77 69 64 74 68 2c 20 68 65 69 67 68 74 | ...allocate_buffer(width,.height |
| 19760 | 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 74 6f 70 6c 65 | );....}.......Gstatic.void.tople |
| 19780 | 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 67 | vel_close(void.*data,.struct.xdg |
| 197a0 | 5f 74 6f 70 6c 65 76 65 6c 20 2a 74 6f 70 6c 65 76 65 6c 29 20 7b 00 00 00 0e 20 20 72 75 6e 6e | _toplevel.*toplevel).{......runn |
| 197c0 | 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 73 | ing.=.0;....}.......?static.cons |
| 197e0 | 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 74 | t.struct.xdg_toplevel_listener.t |
| 19800 | 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 3e 20 20 20 20 2e 63 6f 6e | oplevel_listener.=.{...>.....con |
| 19820 | 66 69 67 75 72 65 20 3d 20 74 6f 70 6c 65 76 65 6c 5f 63 6f 6e 66 69 67 75 72 65 2c 20 2e 63 6c | figure.=.toplevel_configure,..cl |
| 19840 | 6f 73 65 20 3d 20 74 6f 70 6c 65 76 65 6c 5f 63 6c 6f 73 65 7d 3b 00 00 00 00 00 00 00 46 73 74 | ose.=.toplevel_close};.......Fst |
| 19860 | 61 74 69 63 20 76 6f 69 64 20 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 28 76 6f 69 64 20 | atic.void.registry_handler(void. |
| 19880 | 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 69 73 | *data,.struct.wl_registry.*regis |
| 198a0 | 74 72 79 2c 00 00 00 40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | try,...@........................ |
| 198c0 | 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 69 64 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 6e | .....uint32_t.id,.const.char.*in |
| 198e0 | 74 65 72 66 61 63 65 2c 00 00 00 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | terface,...0.................... |
| 19900 | 20 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 76 65 72 73 69 6f 6e 29 20 7b 00 00 00 2e | .........uint32_t.version).{.... |
| 19920 | 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 |
| 19940 | 6f 73 69 74 6f 72 22 29 20 3d 3d 20 30 29 00 00 00 4d 20 20 20 20 63 6f 6d 70 6f 73 69 74 6f 72 | ositor").==.0)...M....compositor |
| 19960 | 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 69 64 | .=.wl_registry_bind(registry,.id |
| 19980 | 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 34 29 3b 00 | ,.&wl_compositor_interface,.4);. |
| 199a0 | 00 00 2c 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 20 | ..,..else.if.(strcmp(interface,. |
| 199c0 | 22 77 6c 5f 73 68 6d 22 29 20 3d 3d 20 30 29 00 00 00 3f 20 20 20 20 73 68 6d 20 3d 20 77 6c 5f | "wl_shm").==.0)...?....shm.=.wl_ |
| 199e0 | 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 69 64 2c 20 26 77 6c 5f | registry_bind(registry,.id,.&wl_ |
| 19a00 | 73 68 6d 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 33 20 20 65 6c 73 65 20 69 66 20 | shm_interface,.1);...3..else.if. |
| 19a20 | 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 6d 5f 62 61 73 65 22 | (strcmp(interface,."xdg_wm_base" |
| 19a40 | 29 20 3d 3d 20 30 29 20 7b 00 00 00 48 20 20 20 20 77 6d 5f 62 61 73 65 20 3d 20 77 6c 5f 72 65 | ).==.0).{...H....wm_base.=.wl_re |
| 19a60 | 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 69 64 2c 20 26 78 64 67 5f 77 | gistry_bind(registry,.id,.&xdg_w |
| 19a80 | 6d 5f 62 61 73 65 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 3f 20 20 20 20 78 64 67 | m_base_interface,.1);...?....xdg |
| 19aa0 | 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 20 26 | _wm_base_add_listener(wm_base,.& |
| 19ac0 | 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 03 20 20 7d 00 | wm_base_listener,.NULL);......}. |
| 19ae0 | 00 00 01 7d 00 00 00 00 00 00 00 4f 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 | ...}.......Ostatic.const.struct. |
| 19b00 | 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 69 | wl_registry_listener.registry_li |
| 19b20 | 73 74 65 6e 65 72 20 3d 20 7b 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 2c 00 00 00 44 20 | stener.=.{registry_handler,...D. |
| 19b40 | 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 | ................................ |
| 19b60 | 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 4e 55 4c | .............................NUL |
| 19b80 | 4c 7d 3b 00 00 00 00 00 00 00 0c 69 6e 74 20 6d 61 69 6e 28 29 20 7b 00 00 00 25 20 20 64 69 73 | L};........int.main().{...%..dis |
| 19ba0 | 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 4c 29 3b | play.=.wl_display_connect(NULL); |
| 19bc0 | 00 00 00 11 20 20 69 66 20 28 21 64 69 73 70 6c 61 79 29 20 7b 00 00 00 3e 20 20 20 20 66 70 72 | ......if.(!display).{...>....fpr |
| 19be0 | 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 46 61 69 6c 65 64 20 74 6f 20 63 6f 6e 6e 65 63 74 20 | intf(stderr,."Failed.to.connect. |
| 19c00 | 74 6f 20 57 61 79 6c 61 6e 64 20 64 69 73 70 6c 61 79 5c 6e 22 29 3b 00 00 00 0d 20 20 20 20 72 | to.Wayland.display\n");........r |
| 19c20 | 65 74 75 72 6e 20 31 3b 00 00 00 03 20 20 7d 00 00 00 2e 20 20 72 65 67 69 73 74 72 79 20 3d 20 | eturn.1;......}......registry.=. |
| 19c40 | 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 79 29 | wl_display_get_registry(display) |
| 19c60 | 3b 00 00 00 3f 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 | ;...?..wl_registry_add_listener( |
| 19c80 | 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 2c 20 4e 55 | registry,.®istry_listener,.NU |
| 19ca0 | 4c 4c 29 3b 00 00 00 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 | LL);......wl_display_roundtrip(d |
| 19cc0 | 69 73 70 6c 61 79 29 3b 00 00 00 28 20 20 69 66 20 28 21 63 6f 6d 70 6f 73 69 74 6f 72 20 7c 7c | isplay);...(..if.(!compositor.|| |
| 19ce0 | 20 21 73 68 6d 20 7c 7c 20 21 77 6d 5f 62 61 73 65 29 20 7b 00 00 00 3a 20 20 20 20 66 70 72 69 | .!shm.||.!wm_base).{...:....fpri |
| 19d00 | 6e 74 66 28 73 74 64 65 72 72 2c 20 22 4d 69 73 73 69 6e 67 20 72 65 71 75 69 72 65 64 20 57 61 | ntf(stderr,."Missing.required.Wa |
| 19d20 | 79 6c 61 6e 64 20 67 6c 6f 62 61 6c 73 5c 6e 22 29 3b 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e | yland.globals\n");........return |
| 19d40 | 20 31 3b 00 00 00 03 20 20 7d 00 00 00 35 20 20 73 75 72 66 61 63 65 20 3d 20 77 6c 5f 63 6f 6d | .1;......}...5..surface.=.wl_com |
| 19d60 | 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 |
| 19d80 | 72 29 3b 00 00 00 3e 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 | r);...>..xdg_surface.=.xdg_wm_ba |
| 19da0 | 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 72 66 | se_get_xdg_surface(wm_base,.surf |
| 19dc0 | 61 63 65 29 3b 00 00 00 45 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 | ace);...E..xdg_surface_add_liste |
| 19de0 | 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 |
| 19e00 | 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 33 20 20 74 6f 70 6c 65 76 65 6c 20 3d 20 78 | stener,.NULL);...3..toplevel.=.x |
| 19e20 | 64 67 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 | dg_surface_get_toplevel(xdg_surf |
| 19e40 | 61 63 65 29 3b 00 00 00 40 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 74 | ace);...@..xdg_toplevel_add_list |
| 19e60 | 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 |
| 19e80 | 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 1d 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 | r,.NULL);......wl_surface_commit |
| 19ea0 | 28 73 75 72 66 61 63 65 29 3b 00 00 00 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 | (surface);......wl_display_round |
| 19ec0 | 74 72 69 70 28 64 69 73 70 6c 61 79 29 3b 00 00 00 13 20 20 77 68 69 6c 65 20 28 72 75 6e 6e 69 | trip(display);......while.(runni |
| 19ee0 | 6e 67 29 20 7b 00 00 00 29 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 | ng).{...)....wl_display_dispatch |
| 19f00 | 5f 70 65 6e 64 69 6e 67 28 64 69 73 70 6c 61 79 29 3b 00 00 00 11 20 20 20 20 64 72 61 77 5f 63 | _pending(display);........draw_c |
| 19f20 | 6c 6f 63 6b 28 29 3b 00 00 00 19 20 20 20 20 75 73 6c 65 65 70 28 31 30 30 30 30 30 30 20 2f 20 | lock();........usleep(1000000./. |
| 19f40 | 36 30 29 3b 00 00 00 03 20 20 7d 00 00 00 0b 20 20 72 65 74 75 72 6e 20 30 3b 00 00 00 01 7d 35 | 60);......}......return.0;....}5 |
| 19f60 | 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 b8 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 | ................................ |
| 19f80 | 00 00 00 00 00 00 00 ca 16 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 30 00 | .......................5._....0. |
| 19fa0 | 00 00 32 00 00 00 00 00 00 00 00 00 00 00 31 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff 00 | ..2...........1................. |
| 19fc0 | 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 19fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1a000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1a020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1a040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1a060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1a080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1a0a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1a0c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1a0e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1a100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d 88 | .............................i.. |
| 1a120 | 51 04 01 00 00 00 00 00 f5 18 00 00 00 a4 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 1a 20 20 | Q............................... |
| 1a140 | 20 20 74 6f 70 6c 65 76 65 6c 20 3d 20 78 64 67 5f 73 75 72 66 61 63 65 f5 18 00 00 00 a5 00 00 | ..toplevel.=.xdg_surface........ |
| 1a160 | 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 7a 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 46 | ...............z...............F |
| 1a180 | 20 20 20 20 64 6f 75 62 6c 65 20 68 6f 75 72 5f 61 6e 67 6c 65 20 3d 20 28 74 6d 2d 3e 74 6d 5f | ....double.hour_angle.=.(tm->tm_ |
| 1a1a0 | 68 6f 75 72 20 25 20 31 32 20 2b 20 74 6d 2d 3e 74 6d 5f 6d 69 6e 20 2f 20 36 30 2e 30 29 20 2a | hour.%.12.+.tm->tm_min./.60.0).* |
| 1a1c0 | 20 4d 5f 50 49 20 f5 18 00 00 00 7b 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 00 00 | .M_PI......{.................... |
| 1a1e0 | 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 00 00 00 00 | ................................ |
| 1a200 | 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7a 00 00 00 46 00 00 00 | 5.......................z...F... |
| 1a220 | 00 00 00 00 00 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 7a 00 | ..............................z. |
| 1a240 | 00 00 46 00 00 00 00 00 00 00 00 00 00 00 2a 00 00 00 1a 00 00 00 00 10 00 00 00 00 00 00 00 00 | ..F...........*................. |
| 1a260 | 00 00 00 00 00 00 00 09 00 00 00 00 00 00 f5 18 00 00 00 00 a4 00 00 00 1a 00 00 00 00 00 00 00 | ................................ |
| 1a280 | 00 00 00 00 0a 00 00 00 01 00 00 00 00 19 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2f 01 00 00 | ............................/... |
| 1a2a0 | 00 00 00 00 35 81 5f d0 00 00 00 31 00 00 00 33 00 00 00 00 00 00 00 00 00 00 00 32 00 00 00 af | ....5._....1...3...........2.... |
| 1a2c0 | 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 00 00 00 | ................................ |
| 1a2e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1a300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1a320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1a340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1a360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1a380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1a3a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1a3c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1a3e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1a400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1a420 | 00 00 00 00 00 00 00 00 00 00 69 9d 88 52 04 01 00 00 00 15 00 f5 18 00 00 00 1a 00 00 00 e2 00 | ..........i..R.................. |
| 1a440 | 00 00 af 00 00 00 94 00 00 00 30 20 20 20 20 63 68 61 72 20 74 65 6d 70 6c 61 74 65 5b 5d 20 3d | ..........0....char.template[].= |
| 1a460 | 20 22 2f 74 6d 70 2f 77 61 79 6c 61 6e 64 2d 73 68 6d 2d 58 58 58 58 58 58 22 3b 00 00 00 1f 20 | ."/tmp/wayland-shm-XXXXXX";..... |
| 1a480 | 20 20 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 | ...int.fd.=.mkstemp(template);.. |
| 1a4a0 | 00 2f 20 20 20 20 69 66 20 28 66 64 20 3c 20 30 29 20 7b 20 70 65 72 72 6f 72 28 22 6d 6b 73 74 | ./....if.(fd.<.0).{.perror("mkst |
| 1a4c0 | 65 6d 70 22 29 3b 20 65 78 69 74 28 31 29 3b 20 7d 00 00 00 15 20 20 20 20 75 6e 6c 69 6e 6b 28 | emp");.exit(1);.}........unlink( |
| 1a4e0 | 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 42 20 20 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 | template);...B....if.(ftruncate( |
| 1a500 | 66 64 2c 20 73 69 7a 65 29 20 3c 20 30 29 20 7b 20 70 65 72 72 6f 72 28 22 66 74 72 75 6e 63 61 | fd,.size).<.0).{.perror("ftrunca |
| 1a520 | 74 65 22 29 3b 20 65 78 69 74 28 31 29 3b 20 7d 00 00 00 0e 20 20 20 20 72 65 74 75 72 6e 20 66 | te");.exit(1);.}........return.f |
| 1a540 | 64 3b 00 00 00 01 7d 00 00 00 00 00 00 00 54 73 74 61 74 69 63 20 76 6f 69 64 20 77 6d 5f 62 61 | d;....}.......Tstatic.void.wm_ba |
| 1a560 | 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 67 5f 77 | se_ping(void.*data,.struct.xdg_w |
| 1a580 | 6d 5f 62 61 73 65 20 2a 77 6d 5f 62 61 73 65 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c | m_base.*wm_base,.uint32_t.serial |
| 1a5a0 | 29 20 7b 00 00 00 26 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 5f 62 | ).{...&....xdg_wm_base_pong(wm_b |
| 1a5c0 | 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 4b 73 74 61 74 69 63 | ase,.serial);....}.......Kstatic |
| 1a5e0 | 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e | .const.struct.xdg_wm_base_listen |
| 1a600 | 65 72 20 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 77 6d 5f 62 61 73 65 5f 70 | er.wm_base_listener.=.{wm_base_p |
| 1a620 | 69 6e 67 7d 3b 00 00 00 00 00 00 00 61 73 74 61 74 69 63 20 76 6f 69 64 20 78 64 67 5f 73 75 72 | ing};.......astatic.void.xdg_sur |
| 1a640 | 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 20 73 74 72 75 63 | face_configure(void.*data,.struc |
| 1a660 | 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 2c 20 75 69 6e 74 | t.xdg_surface.*xdg_surface,.uint |
| 1a680 | 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 33 20 20 20 20 78 64 67 5f 73 75 72 66 61 63 | 32_t.serial).{...3....xdg_surfac |
| 1a6a0 | 65 5f 61 63 6b 5f 63 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 | e_ack_configure(xdg_surface,.ser |
| 1a6c0 | 69 61 6c 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 | ial);........wl_surface_commit(s |
| 1a6e0 | 75 72 66 61 63 65 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 58 73 74 61 74 69 63 20 63 6f 6e 73 | urface);....}.......Xstatic.cons |
| 1a700 | 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 64 | t.struct.xdg_surface_listener.xd |
| 1a720 | 67 5f 73 75 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 78 64 67 5f 73 75 72 66 61 63 | g_surface_listener.=.{xdg_surfac |
| 1a740 | 65 5f 63 6f 6e 66 69 67 75 72 65 7d 3b 00 00 00 00 00 00 00 34 73 74 61 74 69 63 20 76 6f 69 64 | e_configure};.......4static.void |
| 1a760 | 20 61 6c 6c 6f 63 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 | .allocate_buffer(int.width,.int. |
| 1a780 | 68 65 69 67 68 74 29 20 7b 00 00 00 11 20 20 20 20 69 66 20 28 62 75 66 66 65 72 29 20 7b 00 00 | height).{........if.(buffer).{.. |
| 1a7a0 | 00 22 20 20 20 20 20 20 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 62 75 66 66 | ."........wl_buffer_destroy(buff |
| 1a7c0 | 65 72 29 3b 00 00 00 33 20 20 20 20 20 20 20 20 6d 75 6e 6d 61 70 28 70 69 78 65 6c 73 2c 20 62 | er);...3........munmap(pixels,.b |
| 1a7e0 | 75 66 5f 77 69 64 74 68 20 2a 20 62 75 66 5f 68 65 69 67 68 74 20 2a 20 34 29 3b 00 00 00 05 20 | uf_width.*.buf_height.*.4);..... |
| 1a800 | 20 20 20 7d 00 00 00 16 20 20 20 20 62 75 66 5f 77 69 64 74 68 20 3d 20 77 69 64 74 68 3b 00 00 | ...}........buf_width.=.width;.. |
| 1a820 | 00 18 20 20 20 20 62 75 66 5f 68 65 69 67 68 74 20 3d 20 68 65 69 67 68 74 3b 00 00 00 1b 20 20 | ......buf_height.=.height;...... |
| 1a840 | 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 20 20 20 | ..int.stride.=.width.*.4;....... |
| 1a860 | 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 00 00 23 | .int.size.=.stride.*.height;...# |
| 1a880 | 20 20 20 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 | ....int.fd.=.create_shm_file(siz |
| 1a8a0 | 65 29 3b 00 00 00 49 20 20 20 20 70 69 78 65 6c 73 20 3d 20 6d 6d 61 70 28 4e 55 4c 4c 2c 20 73 | e);...I....pixels.=.mmap(NULL,.s |
| 1a8c0 | 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 41 50 | ize,.PROT_READ.|.PROT_WRITE,.MAP |
| 1a8e0 | 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 3a 20 20 20 20 69 66 20 28 70 69 78 65 | _SHARED,.fd,.0);...:....if.(pixe |
| 1a900 | 6c 73 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 20 7b 20 70 65 72 72 6f 72 28 22 6d 6d 61 70 | ls.==.MAP_FAILED).{.perror("mmap |
| 1a920 | 22 29 3b 20 65 78 69 74 28 31 29 3b 20 7d 00 00 00 41 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f | ");.exit(1);.}...A....struct.wl_ |
| 1a940 | 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 20 3d 20 77 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f 70 | shm_pool.*pool.=.wl_shm_create_p |
| 1a960 | 6f 6f 6c 28 73 68 6d 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 | ool(shm,.fd,.size);..._....buffe |
| 1a980 | 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 6f | r.=.wl_shm_pool_create_buffer(po |
| 1a9a0 | 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 4c | ol,.0,.width,.height,.stride,.WL |
| 1a9c0 | 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 2d 20 20 20 20 77 6c | _SHM_FORMAT_ARGB8888);...-....wl |
| 1a9e0 | 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 62 75 66 66 65 72 2c | _surface_attach(surface,.buffer, |
| 1aa00 | 20 30 2c 20 30 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 | .0,.0);........wl_surface_commit |
| 1aa20 | 28 73 75 72 66 61 63 65 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 44 73 74 61 74 69 63 20 76 6f | (surface);....}.......Dstatic.vo |
| 1aa40 | 69 64 20 64 72 61 77 5f 70 69 78 65 6c 28 69 6e 74 20 78 2c 20 69 6e 74 20 79 2c 20 69 6e 74 20 | id.draw_pixel(int.x,.int.y,.int. |
| 1aa60 | 77 2c 20 69 6e 74 20 68 2c 20 75 69 6e 74 33 32 5f 74 20 63 6f 6c 6f 72 29 20 7b 00 00 00 2b 20 | w,.int.h,.uint32_t.color).{...+. |
| 1aa80 | 20 20 20 69 66 20 28 78 20 3e 3d 20 30 20 26 26 20 78 20 3c 20 77 20 26 26 20 79 20 3e 3d 20 30 | ...if.(x.>=.0.&&.x.<.w.&&.y.>=.0 |
| 1aaa0 | 20 26 26 20 79 20 3c 20 68 29 00 00 00 30 20 20 20 20 20 20 20 20 28 28 75 69 6e 74 33 32 5f 74 | .&&.y.<.h)...0........((uint32_t |
| 1aac0 | 20 2a 29 70 69 78 65 6c 73 29 5b 79 20 2a 20 77 20 2b 20 78 5d 20 3d 20 63 6f 6c 6f 72 3b 00 00 | .*)pixels)[y.*.w.+.x].=.color;.. |
| 1aae0 | 00 01 7d 00 00 00 00 00 00 00 63 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 6c 69 6e 65 | ..}.......cstatic.void.draw_line |
| 1ab00 | 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 | (uint32_t.*px,.int.w,.int.h,.int |
| 1ab20 | 20 78 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 2c 20 69 6e 74 20 79 31 2c 20 75 69 6e | .x0,.int.y0,.int.x1,.int.y1,.uin |
| 1ab40 | 74 33 32 5f 74 20 63 6f 6c 6f 72 29 20 7b 00 00 00 31 20 20 20 20 69 6e 74 20 64 78 20 3d 20 61 | t32_t.color).{...1....int.dx.=.a |
| 1ab60 | 62 73 28 78 31 20 2d 20 78 30 29 2c 20 73 78 20 3d 20 78 30 20 3c 20 78 31 20 3f 20 31 20 3a 20 | bs(x1.-.x0),.sx.=.x0.<.x1.?.1.:. |
| 1ab80 | 2d 31 3b 00 00 00 32 20 20 20 20 69 6e 74 20 64 79 20 3d 20 2d 61 62 73 28 79 31 20 2d 20 79 30 | -1;...2....int.dy.=.-abs(y1.-.y0 |
| 1aba0 | 29 2c 20 73 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 1a 20 20 20 | ),.sy.=.y0.<.y1.?.1.:.-1;....... |
| 1abc0 | 20 69 6e 74 20 65 72 72 20 3d 20 64 78 20 2b 20 64 79 2c 20 65 32 3b 00 00 00 0f 20 20 20 20 77 | .int.err.=.dx.+.dy,.e2;........w |
| 1abe0 | 68 69 6c 65 20 28 31 29 20 7b 00 00 00 4c 20 20 20 20 20 20 20 20 69 66 20 28 78 30 20 3e 3d 20 | hile.(1).{...L........if.(x0.>=. |
| 1ac00 | 30 20 26 26 20 78 30 20 3c 20 77 20 26 26 20 79 30 20 3e 3d 20 30 20 26 26 20 79 30 20 3c 20 68 | 0.&&.x0.<.w.&&.y0.>=.0.&&.y0.<.h |
| 1ac20 | 29 20 70 78 5b 79 30 20 2a 20 77 20 2b 20 78 30 5d 20 3d 20 63 6f 6c 6f 72 3b 00 00 00 28 20 20 | ).px[y0.*.w.+.x0].=.color;...(.. |
| 1ac40 | 20 20 20 20 20 20 69 66 20 28 78 30 20 3d 3d 20 78 31 20 26 26 20 79 30 20 3d 3d 20 79 31 29 20 | ......if.(x0.==.x1.&&.y0.==.y1). |
| 1ac60 | 62 72 65 61 6b 3b 00 00 00 15 20 20 20 20 20 20 20 20 65 32 20 3d 20 32 20 2a 20 65 72 72 3b 00 | break;............e2.=.2.*.err;. |
| 1ac80 | 00 00 2e 20 20 20 20 20 20 20 20 69 66 20 28 65 32 20 3e 3d 20 64 79 29 20 7b 20 65 72 72 20 2b | ...........if.(e2.>=.dy).{.err.+ |
| 1aca0 | 3d 20 64 79 3b 20 78 30 20 2b 3d 20 73 78 3b 20 7d 00 00 00 2e 20 20 20 20 20 20 20 20 69 66 20 | =.dy;.x0.+=.sx;.}............if. |
| 1acc0 | 28 65 32 20 3c 3d 20 64 78 29 20 7b 20 65 72 72 20 2b 3d 20 64 78 3b 20 79 30 20 2b 3d 20 73 79 | (e2.<=.dx).{.err.+=.dx;.y0.+=.sy |
| 1ace0 | 3b 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 5c 73 74 61 74 69 63 20 | ;.}........}....}.......\static. |
| 1ad00 | 76 6f 69 64 20 64 72 61 77 5f 63 69 72 63 6c 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 | void.draw_circle(uint32_t.*px,.i |
| 1ad20 | 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 63 78 2c 20 69 6e 74 20 63 79 2c 20 69 6e 74 | nt.w,.int.h,.int.cx,.int.cy,.int |
| 1ad40 | 20 72 2c 20 75 69 6e 74 33 32 5f 74 20 63 6f 6c 6f 72 29 20 7b 00 00 00 15 20 20 20 20 69 6e 74 | .r,.uint32_t.color).{........int |
| 1ad60 | 20 78 20 3d 20 72 2c 20 79 20 3d 20 30 3b 00 00 00 10 20 20 20 20 69 6e 74 20 65 72 72 20 3d 20 | .x.=.r,.y.=.0;........int.err.=. |
| 1ad80 | 30 3b 00 00 00 14 20 20 20 20 77 68 69 6c 65 20 28 78 20 3e 3d 20 79 29 20 7b 00 00 00 30 20 20 | 0;........while.(x.>=.y).{...0.. |
| 1ada0 | 20 20 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 63 78 20 2b 20 78 2c 20 63 79 20 2b 20 79 2c | ......draw_pixel(cx.+.x,.cy.+.y, |
| 1adc0 | 20 77 2c 20 68 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 30 20 20 20 20 20 20 20 20 64 72 61 77 5f 70 | .w,.h,.color);...0........draw_p |
| 1ade0 | 69 78 65 6c 28 63 78 20 2b 20 79 2c 20 63 79 20 2b 20 78 2c 20 77 2c 20 68 2c 20 63 6f 6c 6f 72 | ixel(cx.+.y,.cy.+.x,.w,.h,.color |
| 1ae00 | 29 3b 00 00 00 30 20 20 20 20 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 63 78 20 2d 20 79 2c | );...0........draw_pixel(cx.-.y, |
| 1ae20 | 20 63 79 20 2b 20 78 2c 20 77 2c 20 68 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 30 20 20 20 20 20 20 | .cy.+.x,.w,.h,.color);...0...... |
| 1ae40 | 20 20 64 72 61 77 5f 70 69 78 65 6c 28 63 78 20 2d 20 78 2c 20 63 79 20 2b 20 79 2c 20 77 2c 20 | ..draw_pixel(cx.-.x,.cy.+.y,.w,. |
| 1ae60 | 68 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 30 20 20 20 20 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c | h,.color);...0........draw_pixel |
| 1ae80 | 28 63 78 20 2d 20 78 2c 20 63 79 20 2d 20 79 2c 20 77 2c 20 68 2c 20 63 6f 6c 6f 72 29 3b 00 00 | (cx.-.x,.cy.-.y,.w,.h,.color);.. |
| 1aea0 | 00 30 20 20 20 20 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 63 78 20 2d 20 79 2c 20 63 79 20 | .0........draw_pixel(cx.-.y,.cy. |
| 1aec0 | 2d 20 78 2c 20 77 2c 20 68 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 30 20 20 20 20 20 20 20 20 64 72 | -.x,.w,.h,.color);...0........dr |
| 1aee0 | 61 77 5f 70 69 78 65 6c 28 63 78 20 2b 20 79 2c 20 63 79 20 2d 20 78 2c 20 77 2c 20 68 2c 20 63 | aw_pixel(cx.+.y,.cy.-.x,.w,.h,.c |
| 1af00 | 6f 6c 6f 72 29 3b 00 00 00 30 20 20 20 20 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 63 78 20 | olor);...0........draw_pixel(cx. |
| 1af20 | 2b 20 78 2c 20 63 79 20 2d 20 79 2c 20 77 2c 20 68 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 0c 20 20 | +.x,.cy.-.y,.w,.h,.color);...... |
| 1af40 | 20 20 20 20 20 20 79 2b 2b 3b 00 00 00 29 20 20 20 20 20 20 20 20 69 66 20 28 65 72 72 20 3c 3d | ......y++;...)........if.(err.<= |
| 1af60 | 20 30 29 20 7b 20 65 72 72 20 2b 3d 20 32 2a 79 20 2b 20 31 3b 20 7d 00 00 00 2d 20 20 20 20 20 | .0).{.err.+=.2*y.+.1;.}...-..... |
| 1af80 | 20 20 20 69 66 20 28 65 72 72 20 3e 20 30 29 20 7b 20 78 2d 2d 3b 20 65 72 72 20 2d 3d 20 32 2a | ...if.(err.>.0).{.x--;.err.-=.2* |
| 1afa0 | 78 20 2b 20 31 3b 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 1a 73 74 | x.+.1;.}........}....}........st |
| 1afc0 | 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 63 6c 6f 63 6b 28 29 20 7b 00 00 00 18 20 20 20 20 | atic.void.draw_clock().{........ |
| 1afe0 | 69 66 20 28 21 70 69 78 65 6c 73 29 20 72 65 74 75 72 6e 3b 00 00 00 26 20 20 20 20 69 6e 74 20 | if.(!pixels).return;...&....int. |
| 1b000 | 77 20 3d 20 62 75 66 5f 77 69 64 74 68 2c 20 68 20 3d 20 62 75 66 5f 68 65 69 67 68 74 3b 00 00 | w.=.buf_width,.h.=.buf_height;.. |
| 1b020 | 00 1a 20 20 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 78 20 3d 20 70 69 78 65 6c 73 3b 00 00 00 1f | ......uint32_t.*px.=.pixels;.... |
| 1b040 | 20 20 20 20 69 6e 74 20 63 78 20 3d 20 77 20 2f 20 32 2c 20 63 79 20 3d 20 68 20 2f 20 32 3b 00 | ....int.cx.=.w./.2,.cy.=.h./.2;. |
| 1b060 | 00 00 25 20 20 20 20 69 6e 74 20 72 20 3d 20 28 77 20 3c 20 68 20 3f 20 77 20 3a 20 68 29 20 2f | ..%....int.r.=.(w.<.h.?.w.:.h)./ |
| 1b080 | 20 32 20 2d 20 31 30 3b 00 00 00 37 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 | .2.-.10;...7....for.(int.i.=.0;. |
| 1b0a0 | 69 20 3c 20 77 20 2a 20 68 3b 20 69 2b 2b 29 20 70 78 5b 69 5d 20 3d 20 30 78 66 66 66 66 66 66 | i.<.w.*.h;.i++).px[i].=.0xffffff |
| 1b0c0 | 66 66 3b 00 00 00 00 00 00 00 31 20 20 20 20 64 72 61 77 5f 63 69 72 63 6c 65 28 70 78 2c 20 77 | ff;.......1....draw_circle(px,.w |
| 1b0e0 | 2c 20 68 2c 20 63 78 2c 20 63 79 2c 20 72 2c 20 30 78 66 66 30 30 30 30 30 30 29 3b 00 00 00 00 | ,.h,.cx,.cy,.r,.0xff000000);.... |
| 1b100 | 00 00 00 22 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 31 32 3b 20 | ..."....for.(int.i.=.0;.i.<.12;. |
| 1b120 | 69 2b 2b 29 20 7b 00 00 00 2f 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 61 6e 67 6c 65 20 3d | i++).{.../........double.angle.= |
| 1b140 | 20 69 20 2a 20 4d 5f 50 49 20 2f 20 36 2e 30 20 2d 20 4d 5f 50 49 2f 32 3b 00 00 00 2e 20 20 20 | .i.*.M_PI./.6.0.-.M_PI/2;....... |
| 1b160 | 20 20 20 20 20 69 6e 74 20 78 30 20 3d 20 63 78 20 2b 20 28 69 6e 74 29 28 28 72 2d 35 29 2a 63 | .....int.x0.=.cx.+.(int)((r-5)*c |
| 1b180 | 6f 73 28 61 6e 67 6c 65 29 29 3b 00 00 00 2e 20 20 20 20 20 20 20 20 69 6e 74 20 79 30 20 3d 20 | os(angle));............int.y0.=. |
| 1b1a0 | 63 79 20 2b 20 28 69 6e 74 29 28 28 72 2d 35 29 2a 73 69 6e 28 61 6e 67 6c 65 29 29 3b 00 00 00 | cy.+.(int)((r-5)*sin(angle));... |
| 1b1c0 | 2a 20 20 20 20 20 20 20 20 69 6e 74 20 78 31 20 3d 20 63 78 20 2b 20 28 69 6e 74 29 28 72 2a 63 | *........int.x1.=.cx.+.(int)(r*c |
| 1b1e0 | 6f 73 28 61 6e 67 6c 65 29 29 3b 00 00 00 2a 20 20 20 20 20 20 20 20 69 6e 74 20 79 31 20 3d 20 | os(angle));...*........int.y1.=. |
| 1b200 | 63 79 20 2b 20 28 69 6e 74 29 28 72 2a 73 69 6e 28 61 6e 67 6c 65 29 29 3b 00 00 00 38 20 20 20 | cy.+.(int)(r*sin(angle));...8... |
| 1b220 | 20 20 20 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 77 2c 20 68 2c 20 78 30 2c 20 79 30 2c | .....draw_line(px,.w,.h,.x0,.y0, |
| 1b240 | 20 78 31 2c 20 79 31 2c 20 30 78 66 66 30 30 30 30 30 30 29 3b 00 00 00 05 20 20 20 20 7d 00 00 | .x1,.y1,.0xff000000);........}.. |
| 1b260 | 00 00 00 00 00 1a 20 20 20 20 74 69 6d 65 5f 74 20 74 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b | ..........time_t.t.=.time(NULL); |
| 1b280 | 00 00 00 22 20 20 20 20 73 74 72 75 63 74 20 74 6d 20 2a 74 6d 20 3d 20 6c 6f 63 61 6c 74 69 6d | ..."....struct.tm.*tm.=.localtim |
| 1b2a0 | 65 28 26 74 29 3b 00 00 00 55 20 20 20 20 64 6f 75 62 6c 65 20 68 6f 75 72 5f 61 6e 67 6c 65 20 | e(&t);...U....double.hour_angle. |
| 1b2c0 | 3d 20 28 74 6d 2d 3e 74 6d 5f 68 6f 75 72 20 25 20 31 32 20 2b 20 74 6d 2d 3e 74 6d 5f 6d 69 6e | =.(tm->tm_hour.%.12.+.tm->tm_min |
| 1b2e0 | 20 2f 20 36 30 2e 30 29 20 2a 20 4d 5f 50 49 20 2f 20 36 2e 30 20 2d 20 4d 5f 50 49 2f 32 3b 00 | ./.60.0).*.M_PI./.6.0.-.M_PI/2;. |
| 1b300 | 00 00 4f 20 20 20 20 64 6f 75 62 6c 65 20 6d 69 6e 5f 61 6e 67 6c 65 20 3d 20 28 74 6d 2d 3e 74 | ..O....double.min_angle.=.(tm->t |
| 1b320 | 6d 5f 6d 69 6e 20 2b 20 74 6d 2d 3e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 29 20 2a 20 4d 5f 50 | m_min.+.tm->tm_sec./.60.0).*.M_P |
| 1b340 | 49 20 2f 20 33 30 2e 30 20 2d 20 4d 5f 50 49 2f 32 3b 00 00 00 39 20 20 20 20 64 6f 75 62 6c 65 | I./.30.0.-.M_PI/2;...9....double |
| 1b360 | 20 73 65 63 5f 61 6e 67 6c 65 20 3d 20 74 6d 2d 3e 74 6d 5f 73 65 63 20 2a 20 4d 5f 50 49 20 2f | .sec_angle.=.tm->tm_sec.*.M_PI./ |
| 1b380 | 20 33 30 2e 30 20 2d 20 4d 5f 50 49 2f 32 3b 00 00 00 00 00 00 00 72 20 20 20 20 64 72 61 77 5f | .30.0.-.M_PI/2;.......r....draw_ |
| 1b3a0 | 6c 69 6e 65 28 70 78 2c 20 77 2c 20 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 | line(px,.w,.h,.cx,.cy,.cx.+.(int |
| 1b3c0 | 29 28 72 2a 30 2e 35 2a 63 6f 73 28 68 6f 75 72 5f 61 6e 67 6c 65 29 29 2c 20 63 79 20 2b 20 28 | )(r*0.5*cos(hour_angle)),.cy.+.( |
| 1b3e0 | 69 6e 74 29 28 72 2a 30 2e 35 2a 73 69 6e 28 68 6f 75 72 5f 61 6e 67 6c 65 29 29 2c 20 30 78 66 | int)(r*0.5*sin(hour_angle)),.0xf |
| 1b400 | 66 30 30 30 30 30 30 29 3b 00 00 00 71 20 20 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 77 | f000000);...q....draw_line(px,.w |
| 1b420 | 2c 20 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 72 2a 30 2e 37 2a 63 6f | ,.h,.cx,.cy,.cx.+.(int)(r*0.7*co |
| 1b440 | 73 28 6d 69 6e 5f 61 6e 67 6c 65 29 29 2c 20 20 63 79 20 2b 20 28 69 6e 74 29 28 72 2a 30 2e 37 | s(min_angle)),..cy.+.(int)(r*0.7 |
| 1b460 | 2a 73 69 6e 28 6d 69 6e 5f 61 6e 67 6c 65 29 29 2c 20 30 78 66 66 30 30 30 30 30 30 29 3b 00 00 | *sin(min_angle)),.0xff000000);.. |
| 1b480 | 00 71 20 20 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 77 2c 20 68 2c 20 63 78 2c 20 63 79 | .q....draw_line(px,.w,.h,.cx,.cy |
| 1b4a0 | 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 72 2a 30 2e 39 2a 63 6f 73 28 73 65 63 5f 61 6e 67 6c 65 | ,.cx.+.(int)(r*0.9*cos(sec_angle |
| 1b4c0 | 29 29 2c 20 20 63 79 20 2b 20 28 69 6e 74 29 28 72 2a 30 2e 39 2a 73 69 6e 28 73 65 63 5f 61 6e | )),..cy.+.(int)(r*0.9*sin(sec_an |
| 1b4e0 | 67 6c 65 29 29 2c 20 30 78 66 66 66 66 30 30 30 30 29 3b 00 00 00 00 00 00 00 2d 20 20 20 20 77 | gle)),.0xffff0000);.......-....w |
| 1b500 | 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 62 75 66 66 65 72 | l_surface_attach(surface,.buffer |
| 1b520 | 2c 20 30 2c 20 30 29 3b 00 00 00 2b 20 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 61 6d 61 67 | ,.0,.0);...+....wl_surface_damag |
| 1b540 | 65 28 73 75 72 66 61 63 65 2c 20 30 2c 20 30 2c 20 77 2c 20 68 29 3b 00 00 00 1f 20 20 20 20 77 | e(surface,.0,.0,.w,.h);........w |
| 1b560 | 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 01 7d 00 | l_surface_commit(surface);....}. |
| 1b580 | 00 00 00 00 00 00 83 73 74 61 74 69 63 20 76 6f 69 64 20 74 6f 70 6c 65 76 65 6c 5f 63 6f 6e 66 | .......static.void.toplevel_conf |
| 1b5a0 | 69 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 74 6f 70 | igure(void.*data,.struct.xdg_top |
| 1b5c0 | 6c 65 76 65 6c 20 2a 74 6f 70 6c 65 76 65 6c 2c 20 69 6e 74 33 32 5f 74 20 77 69 64 74 68 2c 20 | level.*toplevel,.int32_t.width,. |
| 1b5e0 | 69 6e 74 33 32 5f 74 20 68 65 69 67 68 74 2c 20 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 | int32_t.height,.struct.wl_array. |
| 1b600 | 2a 73 74 61 74 65 73 29 20 7b 00 00 00 40 20 20 20 20 69 66 20 28 77 69 64 74 68 20 3e 20 30 20 | *states).{...@....if.(width.>.0. |
| 1b620 | 26 26 20 68 65 69 67 68 74 20 3e 20 30 29 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 72 28 77 | &&.height.>.0).allocate_buffer(w |
| 1b640 | 69 64 74 68 2c 20 68 65 69 67 68 74 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 56 73 74 61 74 69 | idth,.height);....}.......Vstati |
| 1b660 | 63 20 76 6f 69 64 20 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 | c.void.toplevel_close(void.*data |
| 1b680 | 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 65 6c 29 | ,.struct.xdg_toplevel.*toplevel) |
| 1b6a0 | 20 7b 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 20 7d 00 00 00 00 00 00 00 7b 73 74 61 74 69 63 20 | .{.running.=.0;.}.......{static. |
| 1b6c0 | 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 |
| 1b6e0 | 65 72 20 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 20 2e 63 6f 6e 66 69 67 | er.toplevel_listener.=.{..config |
| 1b700 | 75 72 65 20 3d 20 74 6f 70 6c 65 76 65 6c 5f 63 6f 6e 66 69 67 75 72 65 2c 20 2e 63 6c 6f 73 65 | ure.=.toplevel_configure,..close |
| 1b720 | 20 3d 20 74 6f 70 6c 65 76 65 6c 5f 63 6c 6f 73 65 20 7d 3b 00 00 00 00 00 00 00 7e 73 74 61 74 | .=.toplevel_close.};.......~stat |
| 1b740 | 69 63 20 76 6f 69 64 20 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 28 76 6f 69 64 20 2a 64 | ic.void.registry_handler(void.*d |
| 1b760 | 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 69 73 74 72 | ata,.struct.wl_registry.*registr |
| 1b780 | 79 2c 20 75 69 6e 74 33 32 5f 74 20 69 64 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 6e 74 65 | y,.uint32_t.id,.const.char.*inte |
| 1b7a0 | 72 66 61 63 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 65 72 73 69 6f 6e 29 20 7b 00 00 00 7a 20 20 | rface,.uint32_t.version).{...z.. |
| 1b7c0 | 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 |
| 1b7e0 | 6f 73 69 74 6f 72 22 29 20 3d 3d 20 30 29 20 63 6f 6d 70 6f 73 69 74 6f 72 20 3d 20 77 6c 5f 72 | ositor").==.0).compositor.=.wl_r |
| 1b800 | 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 69 64 2c 20 26 77 6c 5f 63 | egistry_bind(registry,.id,.&wl_c |
| 1b820 | 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 6a 20 20 20 20 | ompositor_interface,.4);...j.... |
| 1b840 | 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 |
| 1b860 | 68 6d 22 29 20 3d 3d 20 30 29 20 73 68 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e | hm").==.0).shm.=.wl_registry_bin |
| 1b880 | 64 28 72 65 67 69 73 74 72 79 2c 20 69 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 61 63 | d(registry,.id,.&wl_shm_interfac |
| 1b8a0 | 65 2c 20 31 29 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 | e,.1);...5....else.if.(strcmp(in |
| 1b8c0 | 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 7b 00 | terface,."xdg_wm_base").==.0).{. |
| 1b8e0 | 00 00 4c 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 72 79 | ..L........wm_base.=.wl_registry |
| 1b900 | 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 69 64 2c 20 26 78 64 67 5f 77 6d 5f 62 61 73 65 | _bind(registry,.id,.&xdg_wm_base |
| 1b920 | 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 64 67 5f 77 | _interface,.1);...C........xdg_w |
| 1b940 | 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 20 26 77 6d | m_base_add_listener(wm_base,.&wm |
| 1b960 | 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 05 20 20 20 20 7d 00 | _base_listener,.NULL);........}. |
| 1b980 | 00 00 01 7d 00 00 00 00 00 00 00 56 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 | ...}.......Vstatic.const.struct. |
| 1b9a0 | 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 69 | wl_registry_listener.registry_li |
| 1b9c0 | 73 74 65 6e 65 72 20 3d 20 7b 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 2c 20 4e 55 4c 4c | stener.=.{registry_handler,.NULL |
| 1b9e0 | 7d 3b 00 00 00 00 00 00 00 0c 69 6e 74 20 6d 61 69 6e 28 29 20 7b 00 00 00 27 20 20 20 20 64 69 | };........int.main().{...'....di |
| 1ba00 | 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 4c 29 | splay.=.wl_display_connect(NULL) |
| 1ba20 | 3b 00 00 00 5a 20 20 20 20 69 66 20 28 21 64 69 73 70 6c 61 79 29 20 7b 20 66 70 72 69 6e 74 66 | ;...Z....if.(!display).{.fprintf |
| 1ba40 | 28 73 74 64 65 72 72 2c 20 22 46 61 69 6c 65 64 20 74 6f 20 63 6f 6e 6e 65 63 74 20 74 6f 20 57 | (stderr,."Failed.to.connect.to.W |
| 1ba60 | 61 79 6c 61 6e 64 20 64 69 73 70 6c 61 79 5c 6e 22 29 3b 20 72 65 74 75 72 6e 20 31 3b 20 7d 00 | ayland.display\n");.return.1;.}. |
| 1ba80 | 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 79 5f 67 65 74 | ..0....registry.=.wl_display_get |
| 1baa0 | 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 77 6c 5f 72 65 | _registry(display);...A....wl_re |
| 1bac0 | 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 79 2c 20 26 72 | gistry_add_listener(registry,.&r |
| 1bae0 | 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 22 20 20 20 20 | egistry_listener,.NULL);...".... |
| 1bb00 | 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 79 29 3b 00 00 | wl_display_roundtrip(display);.. |
| 1bb20 | 00 64 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 | .d....if.(!compositor.||.!shm.|| |
| 1bb40 | 20 21 77 6d 5f 62 61 73 65 29 20 7b 20 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 4d 69 | .!wm_base).{.fprintf(stderr,."Mi |
| 1bb60 | 73 73 69 6e 67 20 57 61 79 6c 61 6e 64 20 67 6c 6f 62 61 6c 73 5c 6e 22 29 3b 20 72 65 74 75 72 | ssing.Wayland.globals\n");.retur |
| 1bb80 | 6e 20 31 3b 20 7d 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 | n.1;.}...7....surface.=.wl_compo |
| 1bba0 | 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 72 29 | sitor_create_surface(compositor) |
| 1bbc0 | 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 62 61 | ;...@....xdg_surface.=.xdg_wm_ba |
| 1bbe0 | 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 72 66 | se_get_xdg_surface(wm_base,.surf |
| 1bc00 | 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 69 73 | ace);...G....xdg_surface_add_lis |
| 1bc20 | 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 65 5f | tener(xdg_surface,.&xdg_surface_ |
| 1bc40 | 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 35 20 20 20 20 74 6f 70 6c 65 76 65 6c | listener,.NULL);...5....toplevel |
| 1bc60 | 20 3d 20 78 64 67 5f 73 75 72 66 61 63 65 5f 67 65 74 5f 74 6f 70 6c 65 76 65 6c 28 78 64 67 5f | .=.xdg_surface_get_toplevel(xdg_ |
| 1bc80 | 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 76 65 6c 5f 61 64 | surface);...B....xdg_toplevel_ad |
| 1bca0 | 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 65 76 65 6c 5f 6c | d_listener(toplevel,.&toplevel_l |
| 1bcc0 | 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 73 75 72 66 61 63 | istener,.NULL);........wl_surfac |
| 1bce0 | 65 5f 63 6f 6d 6d 69 74 28 73 75 72 66 61 63 65 29 3b 00 00 00 22 20 20 20 20 77 6c 5f 64 69 73 | e_commit(surface);..."....wl_dis |
| 1bd00 | 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 15 20 20 20 20 | play_roundtrip(display);........ |
| 1bd20 | 77 68 69 6c 65 20 28 72 75 6e 6e 69 6e 67 29 20 7b 00 00 00 2d 20 20 20 20 20 20 20 20 77 6c 5f | while.(running).{...-........wl_ |
| 1bd40 | 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 5f 70 65 6e 64 69 6e 67 28 64 69 73 70 6c 61 79 | display_dispatch_pending(display |
| 1bd60 | 29 3b 00 00 00 15 20 20 20 20 20 20 20 20 64 72 61 77 5f 63 6c 6f 63 6b 28 29 3b 00 00 00 1d 20 | );............draw_clock();..... |
| 1bd80 | 20 20 20 20 20 20 20 75 73 6c 65 65 70 28 31 30 30 30 30 30 30 20 2f 20 36 30 29 3b 00 00 00 05 | .......usleep(1000000./.60);.... |
| 1bda0 | 20 20 20 20 7d 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 30 3b 35 81 f5 18 00 00 00 00 1a 00 | ....}........return.0;5......... |
| 1bdc0 | 00 00 02 00 00 00 93 00 00 00 02 00 00 00 c6 00 00 00 00 00 00 00 7d 02 00 00 00 00 00 00 a5 17 | ......................}......... |
| 1bde0 | 00 00 00 00 00 00 cd 18 00 00 00 00 00 00 35 81 5f d0 00 00 00 32 00 00 00 34 00 00 00 00 00 00 | ..............5._....2...4...... |
| 1be00 | 00 00 00 00 00 33 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 | .....3.......................... |
| 1be20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1be40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1be60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1be80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1bea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1bec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1bee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1bf00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1bf20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1bf40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1bf60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d 89 8b 04 01 00 00 00 00 00 f5 | ....................i........... |
| 1bf80 | 18 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 e2 00 00 00 26 23 69 6e 63 6c 75 64 65 20 22 78 | ....................&#include."x |
| 1bfa0 | 64 67 2d 73 68 65 6c 6c 2d 63 6c 69 65 6e 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 12 23 | dg-shell-client-protocol.h"....# |
| 1bfc0 | 69 6e 63 6c 75 64 65 20 3c 66 63 6e 74 6c 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 6d | include.<fcntl.h>....#include.<m |
| 1bfe0 | 61 74 68 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6f 2e 68 3e 00 00 00 13 | ath.h>....#include.<stdio.h>.... |
| 1c000 | 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 20 | #include.<stdlib.h>....#include. |
| 1c020 | 3c 73 74 72 69 6e 67 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e | <string.h>....#include.<sys/mman |
| 1c040 | 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 74 69 6d 65 2e 68 3e 00 00 00 13 23 69 6e 63 | .h>....#include.<time.h>....#inc |
| 1c060 | 6c 75 64 65 20 3c 75 6e 69 73 74 64 2e 68 3e 00 00 00 1b 23 69 6e 63 6c 75 64 65 20 3c 77 61 79 | lude.<unistd.h>....#include.<way |
| 1c080 | 6c 61 6e 64 2d 63 6c 69 65 6e 74 2e 68 3e 00 00 00 00 00 00 00 1b 73 74 72 75 63 74 20 77 6c 5f | land-client.h>........struct.wl_ |
| 1c0a0 | 64 69 73 70 6c 61 79 20 2a 64 69 73 70 6c 61 79 3b 00 00 00 1d 73 74 72 75 63 74 20 77 6c 5f 72 | display.*display;....struct.wl_r |
| 1c0c0 | 65 67 69 73 74 72 79 20 2a 72 65 67 69 73 74 72 79 3b 00 00 00 21 73 74 72 75 63 74 20 77 6c 5f | egistry.*registry;...!struct.wl_ |
| 1c0e0 | 63 6f 6d 70 6f 73 69 74 6f 72 20 2a 63 6f 6d 70 6f 73 69 74 6f 72 3b 00 00 00 13 73 74 72 75 63 | compositor.*compositor;....struc |
| 1c100 | 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d 3b 00 00 00 1c 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f | t.wl_shm.*shm;....struct.xdg_wm_ |
| 1c120 | 62 61 73 65 20 2a 77 6d 5f 62 61 73 65 3b 00 00 00 1b 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 | base.*wm_base;....struct.wl_surf |
| 1c140 | 61 63 65 20 2a 73 75 72 66 61 63 65 3b 00 00 00 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 | ace.*surface;....struct.xdg_surf |
| 1c160 | 61 63 65 20 2a 78 64 67 5f 73 75 72 66 61 63 65 3b 00 00 00 1e 73 74 72 75 63 74 20 78 64 67 5f | ace.*xdg_surface;....struct.xdg_ |
| 1c180 | 74 6f 70 6c 65 76 65 6c 20 2a 74 6f 70 6c 65 76 65 6c 3b 00 00 00 00 00 00 00 17 73 74 61 74 69 | toplevel.*toplevel;........stati |
| 1c1a0 | 63 20 69 6e 74 20 72 75 6e 6e 69 6e 67 20 3d 20 31 3b 00 00 00 27 73 74 61 74 69 63 20 73 74 72 | c.int.running.=.1;...'static.str |
| 1c1c0 | 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 66 65 72 20 3d 20 4e 55 4c 4c 3b 00 00 00 | uct.wl_buffer.*buffer.=.NULL;... |
| 1c1e0 | 1b 73 74 61 74 69 63 20 76 6f 69 64 20 2a 70 69 78 65 6c 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 29 | .static.void.*pixels.=.NULL;...) |
| 1c200 | 73 74 61 74 69 63 20 69 6e 74 20 62 75 66 5f 77 69 64 74 68 20 3d 20 30 2c 20 62 75 66 5f 68 65 | static.int.buf_width.=.0,.buf_he |
| 1c220 | 69 67 68 74 20 3d 20 30 3b 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 69 6e 74 20 63 72 65 61 | ight.=.0;.......)static.int.crea |
| 1c240 | 74 65 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 2e 20 20 | te_shm_file(size_t.size).{...... |
| 1c260 | 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 61 79 6c 61 6e 64 2d | char.template[].=."/tmp/wayland- |
| 1c280 | 73 68 6d 2d 58 58 58 58 58 58 22 3b 00 00 00 1d 20 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 | shm-XXXXXX";......int.fd.=.mkste |
| 1c2a0 | 6d 70 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 0f 20 20 69 66 20 28 66 64 20 3c 20 30 29 20 7b | mp(template);......if.(fd.<.0).{ |
| 1c2c0 | 00 00 00 16 20 20 20 20 70 65 72 72 6f 72 28 22 6d 6b 73 74 65 6d 70 22 29 3b 00 00 00 0c 20 20 | ........perror("mkstemp");...... |
| 1c2e0 | 20 20 65 78 69 74 28 31 29 3b 00 00 00 03 20 20 7d 00 00 00 13 20 20 75 6e 6c 69 6e 6b 28 74 65 | ..exit(1);......}......unlink(te |
| 1c300 | 6d 70 6c 61 74 65 29 3b 00 00 00 20 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 | mplate);......if.(ftruncate(fd,. |
| 1c320 | 73 69 7a 65 29 20 3c 20 30 29 20 7b 00 00 00 18 20 20 20 20 70 65 72 72 6f 72 28 22 66 74 72 75 | size).<.0).{........perror("ftru |
| 1c340 | 6e 63 61 74 65 22 29 3b 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 03 20 20 7d 00 | ncate");........exit(1);......}. |
| 1c360 | 00 00 0c 20 20 72 65 74 75 72 6e 20 66 64 3b 00 00 00 01 7d 00 00 00 00 00 00 00 41 73 74 61 74 | .....return.fd;....}.......Astat |
| 1c380 | 69 63 20 76 6f 69 64 20 77 6d 5f 62 61 73 65 5f 70 69 6e 67 28 76 6f 69 64 20 2a 64 61 74 61 2c | ic.void.wm_base_ping(void.*data, |
| 1c3a0 | 20 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 2c 00 00 00 | .struct.xdg_wm_base.*wm_base,... |
| 1c3c0 | 2b 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 | +.........................uint32 |
| 1c3e0 | 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 24 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f | _t.serial).{...$..xdg_wm_base_po |
| 1c400 | 6e 67 28 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 | ng(wm_base,.serial);....}....... |
| 1c420 | 4b 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 | Kstatic.const.struct.xdg_wm_base |
| 1c440 | 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 72 20 3d 20 7b 77 6d | _listener.wm_base_listener.=.{wm |
| 1c460 | 5f 62 61 73 65 5f 70 69 6e 67 7d 3b 00 00 00 00 00 00 00 4e 73 74 61 74 69 63 20 76 6f 69 64 20 | _base_ping};.......Nstatic.void. |
| 1c480 | 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 74 61 | xdg_surface_configure(void.*data |
| 1c4a0 | 2c 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 | ,.struct.xdg_surface.*xdg_surfac |
| 1c4c0 | 65 2c 00 00 00 34 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | e,...4.......................... |
| 1c4e0 | 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 31 20 20 | ........uint32_t.serial).{...1.. |
| 1c500 | 78 64 67 5f 73 75 72 66 61 63 65 5f 61 63 6b 5f 63 6f 6e 66 69 67 75 72 65 28 78 64 67 5f 73 75 | xdg_surface_ack_configure(xdg_su |
| 1c520 | 72 66 61 63 65 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 1d 20 20 77 6c 5f 73 75 72 66 61 63 65 5f | rface,.serial);......wl_surface_ |
| 1c540 | 63 6f 6d 6d 69 74 28 73 75 72 66 61 63 65 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 41 73 74 61 | commit(surface);....}.......Asta |
| 1c560 | 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 5f 6c 69 73 | tic.const.struct.xdg_surface_lis |
| 1c580 | 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 00 00 | tener.xdg_surface_listener.=.{.. |
| 1c5a0 | 00 1b 20 20 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 63 6f 6e 66 69 67 75 72 65 7d 3b 00 00 00 | ......xdg_surface_configure};... |
| 1c5c0 | 00 00 00 00 34 73 74 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 72 | ....4static.void.allocate_buffer |
| 1c5e0 | 28 69 6e 74 20 77 69 64 74 68 2c 20 69 6e 74 20 68 65 69 67 68 74 29 20 7b 00 00 00 0f 20 20 69 | (int.width,.int.height).{......i |
| 1c600 | 66 20 28 62 75 66 66 65 72 29 20 7b 00 00 00 1e 20 20 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 | f.(buffer).{........wl_buffer_de |
| 1c620 | 73 74 72 6f 79 28 62 75 66 66 65 72 29 3b 00 00 00 2f 20 20 20 20 6d 75 6e 6d 61 70 28 70 69 78 | stroy(buffer);.../....munmap(pix |
| 1c640 | 65 6c 73 2c 20 62 75 66 5f 77 69 64 74 68 20 2a 20 62 75 66 5f 68 65 69 67 68 74 20 2a 20 34 29 | els,.buf_width.*.buf_height.*.4) |
| 1c660 | 3b 00 00 00 03 20 20 7d 00 00 00 14 20 20 62 75 66 5f 77 69 64 74 68 20 3d 20 77 69 64 74 68 3b | ;......}......buf_width.=.width; |
| 1c680 | 00 00 00 16 20 20 62 75 66 5f 68 65 69 67 68 74 20 3d 20 68 65 69 67 68 74 3b 00 00 00 19 20 20 | ......buf_height.=.height;...... |
| 1c6a0 | 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 1d 20 20 69 6e 74 | int.stride.=.width.*.4;......int |
| 1c6c0 | 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 21 20 20 69 6e | .size.=.stride.*.height;...!..in |
| 1c6e0 | 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 00 00 00 | t.fd.=.create_shm_file(size);... |
| 1c700 | 47 20 20 70 69 78 65 6c 73 20 3d 20 6d 6d 61 70 28 4e 55 4c 4c 2c 20 73 69 7a 65 2c 20 50 52 4f | G..pixels.=.mmap(NULL,.size,.PRO |
| 1c720 | 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 44 2c | T_READ.|.PROT_WRITE,.MAP_SHARED, |
| 1c740 | 20 66 64 2c 20 30 29 3b 00 00 00 1d 20 20 69 66 20 28 70 69 78 65 6c 73 20 3d 3d 20 4d 41 50 5f | .fd,.0);......if.(pixels.==.MAP_ |
| 1c760 | 46 41 49 4c 45 44 29 20 7b 00 00 00 13 20 20 20 20 70 65 72 72 6f 72 28 22 6d 6d 61 70 22 29 3b | FAILED).{........perror("mmap"); |
| 1c780 | 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 03 20 20 7d 00 00 00 3f 20 20 73 74 72 | ........exit(1);......}...?..str |
| 1c7a0 | 75 63 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 20 3d 20 77 6c 5f 73 68 6d 5f 63 | uct.wl_shm_pool.*pool.=.wl_shm_c |
| 1c7c0 | 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 3b 00 00 00 44 20 20 | reate_pool(shm,.fd,.size);...D.. |
| 1c7e0 | 62 75 66 66 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 | buffer.=.wl_shm_pool_create_buff |
| 1c800 | 65 72 28 70 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 | er(pool,.0,.width,.height,.strid |
| 1c820 | 65 2c 00 00 00 3d 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,...=.......................... |
| 1c840 | 20 20 20 20 20 20 20 20 20 20 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 | ...........WL_SHM_FORMAT_ARGB888 |
| 1c860 | 38 29 3b 00 00 00 2b 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 | 8);...+..wl_surface_attach(surfa |
| 1c880 | 63 65 2c 20 62 75 66 66 65 72 2c 20 30 2c 20 30 29 3b 00 00 00 1d 20 20 77 6c 5f 73 75 72 66 61 | ce,.buffer,.0,.0);......wl_surfa |
| 1c8a0 | 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 00 00 00 00 44 | ce_commit(surface);....}.......D |
| 1c8c0 | 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 70 69 78 65 6c 28 69 6e 74 20 78 2c 20 69 6e | static.void.draw_pixel(int.x,.in |
| 1c8e0 | 74 20 79 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 75 69 6e 74 33 32 5f 74 20 63 6f 6c 6f | t.y,.int.w,.int.h,.uint32_t.colo |
| 1c900 | 72 29 20 7b 00 00 00 29 20 20 69 66 20 28 78 20 3e 3d 20 30 20 26 26 20 78 20 3c 20 77 20 26 26 | r).{...)..if.(x.>=.0.&&.x.<.w.&& |
| 1c920 | 20 79 20 3e 3d 20 30 20 26 26 20 79 20 3c 20 68 29 00 00 00 2c 20 20 20 20 28 28 75 69 6e 74 33 | .y.>=.0.&&.y.<.h)...,....((uint3 |
| 1c940 | 32 5f 74 20 2a 29 70 69 78 65 6c 73 29 5b 79 20 2a 20 77 20 2b 20 78 5d 20 3d 20 63 6f 6c 6f 72 | 2_t.*)pixels)[y.*.w.+.x].=.color |
| 1c960 | 3b 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 64 72 61 77 5f 6c | ;....}.......Istatic.void.draw_l |
| 1c980 | 69 6e 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 | ine(uint32_t.*px,.int.w,.int.h,. |
| 1c9a0 | 69 6e 74 20 78 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 2c 00 00 00 2f 20 20 20 20 20 | int.x0,.int.y0,.int.x1,.../..... |
| 1c9c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 79 31 2c 20 75 69 6e 74 33 32 5f | .................int.y1,.uint32_ |
| 1c9e0 | 74 20 63 6f 6c 6f 72 29 20 7b 00 00 00 2f 20 20 69 6e 74 20 64 78 20 3d 20 61 62 73 28 78 31 20 | t.color).{.../..int.dx.=.abs(x1. |
| 1ca00 | 2d 20 78 30 29 2c 20 73 78 20 3d 20 78 30 20 3c 20 78 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 | -.x0),.sx.=.x0.<.x1.?.1.:.-1;... |
| 1ca20 | 30 20 20 69 6e 74 20 64 79 20 3d 20 2d 61 62 73 28 79 31 20 2d 20 79 30 29 2c 20 73 79 20 3d 20 | 0..int.dy.=.-abs(y1.-.y0),.sy.=. |
| 1ca40 | 79 30 20 3c 20 79 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 18 20 20 69 6e 74 20 65 72 72 20 3d | y0.<.y1.?.1.:.-1;......int.err.= |
| 1ca60 | 20 64 78 20 2b 20 64 79 2c 20 65 32 3b 00 00 00 0d 20 20 77 68 69 6c 65 20 28 31 29 20 7b 00 00 | .dx.+.dy,.e2;......while.(1).{.. |
| 1ca80 | 00 2f 20 20 20 20 69 66 20 28 78 30 20 3e 3d 20 30 20 26 26 20 78 30 20 3c 20 77 20 26 26 20 79 | ./....if.(x0.>=.0.&&.x0.<.w.&&.y |
| 1caa0 | 30 20 3e 3d 20 30 20 26 26 20 79 30 20 3c 20 68 29 00 00 00 1e 20 20 20 20 20 20 70 78 5b 79 30 | 0.>=.0.&&.y0.<.h)..........px[y0 |
| 1cac0 | 20 2a 20 77 20 2b 20 78 30 5d 20 3d 20 63 6f 6c 6f 72 3b 00 00 00 1d 20 20 20 20 69 66 20 28 78 | .*.w.+.x0].=.color;........if.(x |
| 1cae0 | 30 20 3d 3d 20 78 31 20 26 26 20 79 30 20 3d 3d 20 79 31 29 00 00 00 0c 20 20 20 20 20 20 62 72 | 0.==.x1.&&.y0.==.y1)..........br |
| 1cb00 | 65 61 6b 3b 00 00 00 11 20 20 20 20 65 32 20 3d 20 32 20 2a 20 65 72 72 3b 00 00 00 13 20 20 20 | eak;........e2.=.2.*.err;....... |
| 1cb20 | 20 69 66 20 28 65 32 20 3e 3d 20 64 79 29 20 7b 00 00 00 10 20 20 20 20 20 20 65 72 72 20 2b 3d | .if.(e2.>=.dy).{..........err.+= |
| 1cb40 | 20 64 79 3b 00 00 00 0f 20 20 20 20 20 20 78 30 20 2b 3d 20 73 78 3b 00 00 00 05 20 20 20 20 7d | .dy;..........x0.+=.sx;........} |
| 1cb60 | 00 00 00 13 20 20 20 20 69 66 20 28 65 32 20 3c 3d 20 64 78 29 20 7b 00 00 00 10 20 20 20 20 20 | ........if.(e2.<=.dx).{......... |
| 1cb80 | 20 65 72 72 20 2b 3d 20 64 78 3b 00 00 00 0f 20 20 20 20 20 20 79 30 20 2b 3d 20 73 79 3b 00 00 | .err.+=.dx;..........y0.+=.sy;.. |
| 1cba0 | 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 4a 73 74 61 74 69 | ......}......}....}.......Jstati |
| 1cbc0 | 63 20 76 6f 69 64 20 64 72 61 77 5f 63 69 72 63 6c 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c | c.void.draw_circle(uint32_t.*px, |
| 1cbe0 | 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 63 78 2c 20 69 6e 74 20 63 79 2c 20 69 | .int.w,.int.h,.int.cx,.int.cy,.i |
| 1cc00 | 6e 74 20 72 2c 00 00 00 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | nt.r,...)....................... |
| 1cc20 | 20 75 69 6e 74 33 32 5f 74 20 63 6f 6c 6f 72 29 20 7b 00 00 00 13 20 20 69 6e 74 20 78 20 3d 20 | .uint32_t.color).{......int.x.=. |
| 1cc40 | 72 2c 20 79 20 3d 20 30 3b 00 00 00 0e 20 20 69 6e 74 20 65 72 72 20 3d 20 30 3b 00 00 00 12 20 | r,.y.=.0;......int.err.=.0;..... |
| 1cc60 | 20 77 68 69 6c 65 20 28 78 20 3e 3d 20 79 29 20 7b 00 00 00 2c 20 20 20 20 64 72 61 77 5f 70 69 | .while.(x.>=.y).{...,....draw_pi |
| 1cc80 | 78 65 6c 28 63 78 20 2b 20 78 2c 20 63 79 20 2b 20 79 2c 20 77 2c 20 68 2c 20 63 6f 6c 6f 72 29 | xel(cx.+.x,.cy.+.y,.w,.h,.color) |
| 1cca0 | 3b 00 00 00 2c 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 63 78 20 2b 20 79 2c 20 63 79 20 2b | ;...,....draw_pixel(cx.+.y,.cy.+ |
| 1ccc0 | 20 78 2c 20 77 2c 20 68 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 2c 20 20 20 20 64 72 61 77 5f 70 69 | .x,.w,.h,.color);...,....draw_pi |
| 1cce0 | 78 65 6c 28 63 78 20 2d 20 79 2c 20 63 79 20 2b 20 78 2c 20 77 2c 20 68 2c 20 63 6f 6c 6f 72 29 | xel(cx.-.y,.cy.+.x,.w,.h,.color) |
| 1cd00 | 3b 00 00 00 2c 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 63 78 20 2d 20 78 2c 20 63 79 20 2b | ;...,....draw_pixel(cx.-.x,.cy.+ |
| 1cd20 | 20 79 2c 20 77 2c 20 68 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 2c 20 20 20 20 64 72 61 77 5f 70 69 | .y,.w,.h,.color);...,....draw_pi |
| 1cd40 | 78 65 6c 28 63 78 20 2d 20 78 2c 20 63 79 20 2d 20 79 2c 20 77 2c 20 68 2c 20 63 6f 6c 6f 72 29 | xel(cx.-.x,.cy.-.y,.w,.h,.color) |
| 1cd60 | 3b 00 00 00 2c 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 63 78 20 2d 20 79 2c 20 63 79 20 2d | ;...,....draw_pixel(cx.-.y,.cy.- |
| 1cd80 | 20 78 2c 20 77 2c 20 68 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 2c 20 20 20 20 64 72 61 77 5f 70 69 | .x,.w,.h,.color);...,....draw_pi |
| 1cda0 | 78 65 6c 28 63 78 20 2b 20 79 2c 20 63 79 20 2d 20 78 2c 20 77 2c 20 68 2c 20 63 6f 6c 6f 72 29 | xel(cx.+.y,.cy.-.x,.w,.h,.color) |
| 1cdc0 | 3b 00 00 00 2c 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 63 78 20 2b 20 78 2c 20 63 79 20 2d | ;...,....draw_pixel(cx.+.x,.cy.- |
| 1cde0 | 20 79 2c 20 77 2c 20 68 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 08 20 20 20 20 79 2b 2b 3b 00 00 00 | .y,.w,.h,.color);........y++;... |
| 1ce00 | 13 20 20 20 20 69 66 20 28 65 72 72 20 3c 3d 20 30 29 20 7b 00 00 00 17 20 20 20 20 20 20 65 72 | .....if.(err.<=.0).{..........er |
| 1ce20 | 72 20 2b 3d 20 32 20 2a 20 79 20 2b 20 31 3b 00 00 00 05 20 20 20 20 7d 00 00 00 12 20 20 20 20 | r.+=.2.*.y.+.1;........}........ |
| 1ce40 | 69 66 20 28 65 72 72 20 3e 20 30 29 20 7b 00 00 00 0a 20 20 20 20 20 20 78 2d 2d 3b 00 00 00 17 | if.(err.>.0).{..........x--;.... |
| 1ce60 | 20 20 20 20 20 20 65 72 72 20 2d 3d 20 32 20 2a 20 78 20 2b 20 31 3b 00 00 00 05 20 20 20 20 7d | ......err.-=.2.*.x.+.1;........} |
| 1ce80 | 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 1a 73 74 61 74 69 63 20 76 6f 69 64 20 | ......}....}........static.void. |
| 1cea0 | 64 72 61 77 5f 63 6c 6f 63 6b 28 29 20 7b 00 00 00 0e 20 20 69 66 20 28 21 70 69 78 65 6c 73 29 | draw_clock().{......if.(!pixels) |
| 1cec0 | 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 24 20 20 69 6e 74 20 77 20 3d 20 62 75 66 | ........return;...$..int.w.=.buf |
| 1cee0 | 5f 77 69 64 74 68 2c 20 68 20 3d 20 62 75 66 5f 68 65 69 67 68 74 3b 00 00 00 18 20 20 75 69 6e | _width,.h.=.buf_height;......uin |
| 1cf00 | 74 33 32 5f 74 20 2a 70 78 20 3d 20 70 69 78 65 6c 73 3b 00 00 00 1d 20 20 69 6e 74 20 63 78 20 | t32_t.*px.=.pixels;......int.cx. |
| 1cf20 | 3d 20 77 20 2f 20 32 2c 20 63 79 20 3d 20 68 20 2f 20 32 3b 00 00 00 23 20 20 69 6e 74 20 72 20 | =.w./.2,.cy.=.h./.2;...#..int.r. |
| 1cf40 | 3d 20 28 77 20 3c 20 68 20 3f 20 77 20 3a 20 68 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 00 21 20 | =.(w.<.h.?.w.:.h)./.2.-.10;...!. |
| 1cf60 | 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 77 20 2a 20 68 3b 20 69 2b 2b 29 | .for.(int.i.=.0;.i.<.w.*.h;.i++) |
| 1cf80 | 00 00 00 17 20 20 20 20 70 78 5b 69 5d 20 3d 20 30 78 66 66 66 66 66 66 66 66 3b 00 00 00 00 00 | ........px[i].=.0xffffffff;..... |
| 1cfa0 | 00 00 2f 20 20 64 72 61 77 5f 63 69 72 63 6c 65 28 70 78 2c 20 77 2c 20 68 2c 20 63 78 2c 20 63 | ../..draw_circle(px,.w,.h,.cx,.c |
| 1cfc0 | 79 2c 20 72 2c 20 30 78 66 66 30 30 30 30 30 30 29 3b 00 00 00 00 00 00 00 20 20 20 66 6f 72 20 | y,.r,.0xff000000);..........for. |
| 1cfe0 | 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 31 32 3b 20 69 2b 2b 29 20 7b 00 00 00 2d 20 20 | (int.i.=.0;.i.<.12;.i++).{...-.. |
| 1d000 | 20 20 64 6f 75 62 6c 65 20 61 6e 67 6c 65 20 3d 20 69 20 2a 20 4d 5f 50 49 20 2f 20 36 2e 30 20 | ..double.angle.=.i.*.M_PI./.6.0. |
| 1d020 | 2d 20 4d 5f 50 49 20 2f 20 32 3b 00 00 00 2e 20 20 20 20 69 6e 74 20 78 30 20 3d 20 63 78 20 2b | -.M_PI./.2;........int.x0.=.cx.+ |
| 1d040 | 20 28 69 6e 74 29 28 28 72 20 2d 20 35 29 20 2a 20 63 6f 73 28 61 6e 67 6c 65 29 29 3b 00 00 00 | .(int)((r.-.5).*.cos(angle));... |
| 1d060 | 2e 20 20 20 20 69 6e 74 20 79 30 20 3d 20 63 79 20 2b 20 28 69 6e 74 29 28 28 72 20 2d 20 35 29 | .....int.y0.=.cy.+.(int)((r.-.5) |
| 1d080 | 20 2a 20 73 69 6e 28 61 6e 67 6c 65 29 29 3b 00 00 00 28 20 20 20 20 69 6e 74 20 78 31 20 3d 20 | .*.sin(angle));...(....int.x1.=. |
| 1d0a0 | 63 78 20 2b 20 28 69 6e 74 29 28 72 20 2a 20 63 6f 73 28 61 6e 67 6c 65 29 29 3b 00 00 00 28 20 | cx.+.(int)(r.*.cos(angle));...(. |
| 1d0c0 | 20 20 20 69 6e 74 20 79 31 20 3d 20 63 79 20 2b 20 28 69 6e 74 29 28 72 20 2a 20 73 69 6e 28 61 | ...int.y1.=.cy.+.(int)(r.*.sin(a |
| 1d0e0 | 6e 67 6c 65 29 29 3b 00 00 00 34 20 20 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 77 2c 20 | ngle));...4....draw_line(px,.w,. |
| 1d100 | 68 2c 20 78 30 2c 20 79 30 2c 20 78 31 2c 20 79 31 2c 20 30 78 66 66 30 30 30 30 30 30 29 3b 00 | h,.x0,.y0,.x1,.y1,.0xff000000);. |
| 1d120 | 00 00 03 20 20 7d 00 00 00 00 00 00 00 18 20 20 74 69 6d 65 5f 74 20 74 20 3d 20 74 69 6d 65 28 | .....}..........time_t.t.=.time( |
| 1d140 | 4e 55 4c 4c 29 3b 00 00 00 20 20 20 73 74 72 75 63 74 20 74 6d 20 2a 74 6d 20 3d 20 6c 6f 63 61 | NULL);......struct.tm.*tm.=.loca |
| 1d160 | 6c 74 69 6d 65 28 26 74 29 3b 00 00 00 15 20 20 64 6f 75 62 6c 65 20 68 6f 75 72 5f 61 6e 67 6c | ltime(&t);......double.hour_angl |
| 1d180 | 65 20 3d 00 00 00 45 20 20 20 20 20 20 28 74 6d 2d 3e 74 6d 5f 68 6f 75 72 20 25 20 31 32 20 2b | e.=...E......(tm->tm_hour.%.12.+ |
| 1d1a0 | 20 74 6d 2d 3e 74 6d 5f 6d 69 6e 20 2f 20 36 30 2e 30 29 20 2a 20 4d 5f 50 49 20 2f 20 36 2e 30 | .tm->tm_min./.60.0).*.M_PI./.6.0 |
| 1d1c0 | 20 2d 20 4d 5f 50 49 20 2f 20 32 3b 00 00 00 4f 20 20 64 6f 75 62 6c 65 20 6d 69 6e 5f 61 6e 67 | .-.M_PI./.2;...O..double.min_ang |
| 1d1e0 | 6c 65 20 3d 20 28 74 6d 2d 3e 74 6d 5f 6d 69 6e 20 2b 20 74 6d 2d 3e 74 6d 5f 73 65 63 20 2f 20 | le.=.(tm->tm_min.+.tm->tm_sec./. |
| 1d200 | 36 30 2e 30 29 20 2a 20 4d 5f 50 49 20 2f 20 33 30 2e 30 20 2d 20 4d 5f 50 49 20 2f 20 32 3b 00 | 60.0).*.M_PI./.30.0.-.M_PI./.2;. |
| 1d220 | 00 00 39 20 20 64 6f 75 62 6c 65 20 73 65 63 5f 61 6e 67 6c 65 20 3d 20 74 6d 2d 3e 74 6d 5f 73 | ..9..double.sec_angle.=.tm->tm_s |
| 1d240 | 65 63 20 2a 20 4d 5f 50 49 20 2f 20 33 30 2e 30 20 2d 20 4d 5f 50 49 20 2f 20 32 3b 00 00 00 00 | ec.*.M_PI./.30.0.-.M_PI./.2;.... |
| 1d260 | 00 00 00 44 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 77 2c 20 68 2c 20 63 78 2c 20 63 79 | ...D..draw_line(px,.w,.h,.cx,.cy |
| 1d280 | 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 72 20 2a 20 30 2e 35 20 2a 20 63 6f 73 28 68 6f 75 72 5f | ,.cx.+.(int)(r.*.0.5.*.cos(hour_ |
| 1d2a0 | 61 6e 67 6c 65 29 29 2c 00 00 00 3f 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 28 69 6e | angle)),...?............cy.+.(in |
| 1d2c0 | 74 29 28 72 20 2a 20 30 2e 35 20 2a 20 73 69 6e 28 68 6f 75 72 5f 61 6e 67 6c 65 29 29 2c 20 30 | t)(r.*.0.5.*.sin(hour_angle)),.0 |
| 1d2e0 | 78 66 66 30 30 30 30 30 30 29 3b 00 00 00 43 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 77 | xff000000);...C..draw_line(px,.w |
| 1d300 | 2c 20 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 72 20 2a 20 30 2e 37 20 | ,.h,.cx,.cy,.cx.+.(int)(r.*.0.7. |
| 1d320 | 2a 20 63 6f 73 28 6d 69 6e 5f 61 6e 67 6c 65 29 29 2c 00 00 00 3e 20 20 20 20 20 20 20 20 20 20 | *.cos(min_angle)),...>.......... |
| 1d340 | 20 20 63 79 20 2b 20 28 69 6e 74 29 28 72 20 2a 20 30 2e 37 20 2a 20 73 69 6e 28 6d 69 6e 5f 61 | ..cy.+.(int)(r.*.0.7.*.sin(min_a |
| 1d360 | 6e 67 6c 65 29 29 2c 20 30 78 66 66 30 30 30 30 30 30 29 3b 00 00 00 43 20 20 64 72 61 77 5f 6c | ngle)),.0xff000000);...C..draw_l |
| 1d380 | 69 6e 65 28 70 78 2c 20 77 2c 20 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 | ine(px,.w,.h,.cx,.cy,.cx.+.(int) |
| 1d3a0 | 28 72 20 2a 20 30 2e 39 20 2a 20 63 6f 73 28 73 65 63 5f 61 6e 67 6c 65 29 29 2c 00 00 00 3e 20 | (r.*.0.9.*.cos(sec_angle)),...>. |
| 1d3c0 | 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 28 69 6e 74 29 28 72 20 2a 20 30 2e 39 20 2a 20 | ...........cy.+.(int)(r.*.0.9.*. |
| 1d3e0 | 73 69 6e 28 73 65 63 5f 61 6e 67 6c 65 29 29 2c 20 30 78 66 66 66 66 30 30 30 30 29 3b 00 00 00 | sin(sec_angle)),.0xffff0000);... |
| 1d400 | 00 00 00 00 2b 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 | ....+..wl_surface_attach(surface |
| 1d420 | 2c 20 62 75 66 66 65 72 2c 20 30 2c 20 30 29 3b 00 00 00 29 20 20 77 6c 5f 73 75 72 66 61 63 65 | ,.buffer,.0,.0);...)..wl_surface |
| 1d440 | 5f 64 61 6d 61 67 65 28 73 75 72 66 61 63 65 2c 20 30 2c 20 30 2c 20 77 2c 20 68 29 3b 00 00 00 | _damage(surface,.0,.0,.w,.h);... |
| 1d460 | 1d 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 00 | ...wl_surface_commit(surface);.. |
| 1d480 | 00 01 7d 00 00 00 00 00 00 00 49 73 74 61 74 69 63 20 76 6f 69 64 20 74 6f 70 6c 65 76 65 6c 5f | ..}.......Istatic.void.toplevel_ |
| 1d4a0 | 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 20 78 64 67 | configure(void.*data,.struct.xdg |
| 1d4c0 | 5f 74 6f 70 6c 65 76 65 6c 20 2a 74 6f 70 6c 65 76 65 6c 2c 00 00 00 3d 20 20 20 20 20 20 20 20 | _toplevel.*toplevel,...=........ |
| 1d4e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 33 32 5f 74 20 77 | .......................int32_t.w |
| 1d500 | 69 64 74 68 2c 20 69 6e 74 33 32 5f 74 20 68 65 69 67 68 74 2c 00 00 00 39 20 20 20 20 20 20 20 | idth,.int32_t.height,...9....... |
| 1d520 | 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 |
| 1d540 | 6c 5f 61 72 72 61 79 20 2a 73 74 61 74 65 73 29 20 7b 00 00 00 1e 20 20 69 66 20 28 77 69 64 74 | l_array.*states).{......if.(widt |
| 1d560 | 68 20 3e 20 30 20 26 26 20 68 65 69 67 68 74 20 3e 20 30 29 00 00 00 23 20 20 20 20 61 6c 6c 6f | h.>.0.&&.height.>.0)...#....allo |
| 1d580 | 63 61 74 65 5f 62 75 66 66 65 72 28 77 69 64 74 68 2c 20 68 65 69 67 68 74 29 3b 00 00 00 01 7d | cate_buffer(width,.height);....} |
| 1d5a0 | 00 00 00 00 00 00 00 47 73 74 61 74 69 63 20 76 6f 69 64 20 74 6f 70 6c 65 76 65 6c 5f 63 6c 6f | .......Gstatic.void.toplevel_clo |
| 1d5c0 | 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 74 6f 70 6c 65 76 | se(void.*data,.struct.xdg_toplev |
| 1d5e0 | 65 6c 20 2a 74 6f 70 6c 65 76 65 6c 29 20 7b 00 00 00 0e 20 20 72 75 6e 6e 69 6e 67 20 3d 20 30 | el.*toplevel).{......running.=.0 |
| 1d600 | 3b 00 00 00 01 7d 00 00 00 00 00 00 00 3f 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 | ;....}.......?static.const.struc |
| 1d620 | 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 74 6f 70 6c 65 76 65 6c | t.xdg_toplevel_listener.toplevel |
| 1d640 | 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 3e 20 20 20 20 2e 63 6f 6e 66 69 67 75 72 65 20 | _listener.=.{...>.....configure. |
| 1d660 | 3d 20 74 6f 70 6c 65 76 65 6c 5f 63 6f 6e 66 69 67 75 72 65 2c 20 2e 63 6c 6f 73 65 20 3d 20 74 | =.toplevel_configure,..close.=.t |
| 1d680 | 6f 70 6c 65 76 65 6c 5f 63 6c 6f 73 65 7d 3b 00 00 00 00 00 00 00 46 73 74 61 74 69 63 20 76 6f | oplevel_close};.......Fstatic.vo |
| 1d6a0 | 69 64 20 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 | id.registry_handler(void.*data,. |
| 1d6c0 | 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 00 00 00 | struct.wl_registry.*registry,... |
| 1d6e0 | 40 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 |
| 1d700 | 6e 74 33 32 5f 74 20 69 64 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 6e 74 65 72 66 61 63 65 | nt32_t.id,.const.char.*interface |
| 1d720 | 2c 00 00 00 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ,...0........................... |
| 1d740 | 20 20 75 69 6e 74 33 32 5f 74 20 76 65 72 73 69 6f 6e 29 20 7b 00 00 00 2e 20 20 69 66 20 28 73 | ..uint32_t.version).{......if.(s |
| 1d760 | 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 69 74 6f 72 22 | trcmp(interface,."wl_compositor" |
| 1d780 | 29 20 3d 3d 20 30 29 00 00 00 4d 20 20 20 20 63 6f 6d 70 6f 73 69 74 6f 72 20 3d 20 77 6c 5f 72 | ).==.0)...M....compositor.=.wl_r |
| 1d7a0 | 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 69 64 2c 20 26 77 6c 5f 63 | egistry_bind(registry,.id,.&wl_c |
| 1d7c0 | 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 2c 20 20 65 6c | ompositor_interface,.4);...,..el |
| 1d7e0 | 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 68 6d | se.if.(strcmp(interface,."wl_shm |
| 1d800 | 22 29 20 3d 3d 20 30 29 00 00 00 3f 20 20 20 20 73 68 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 | ").==.0)...?....shm.=.wl_registr |
| 1d820 | 79 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 69 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 | y_bind(registry,.id,.&wl_shm_int |
| 1d840 | 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 33 20 20 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d 70 | erface,.1);...3..else.if.(strcmp |
| 1d860 | 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 3d 3d 20 30 29 | (interface,."xdg_wm_base").==.0) |
| 1d880 | 20 7b 00 00 00 48 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 | .{...H....wm_base.=.wl_registry_ |
| 1d8a0 | 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 69 64 2c 20 26 78 64 67 5f 77 6d 5f 62 61 73 65 5f | bind(registry,.id,.&xdg_wm_base_ |
| 1d8c0 | 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 3f 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 | interface,.1);...?....xdg_wm_bas |
| 1d8e0 | 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 73 65 | e_add_listener(wm_base,.&wm_base |
| 1d900 | 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 | _listener,.NULL);......}....}... |
| 1d920 | 00 00 00 00 4f 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 | ....Ostatic.const.struct.wl_regi |
| 1d940 | 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. |
| 1d960 | 3d 20 7b 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 2c 00 00 00 44 20 20 20 20 20 20 20 20 | =.{registry_handler,...D........ |
| 1d980 | 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 | ................................ |
| 1d9a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 55 4c 4c 7d 3b 00 00 00 00 | ......................NULL};.... |
| 1d9c0 | 00 00 00 0c 69 6e 74 20 6d 61 69 6e 28 29 20 7b 00 00 00 25 20 20 64 69 73 70 6c 61 79 20 3d 20 | ....int.main().{...%..display.=. |
| 1d9e0 | 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 11 20 20 69 | wl_display_connect(NULL);......i |
| 1da00 | 66 20 28 21 64 69 73 70 6c 61 79 29 20 7b 00 00 00 3e 20 20 20 20 66 70 72 69 6e 74 66 28 73 74 | f.(!display).{...>....fprintf(st |
| 1da20 | 64 65 72 72 2c 20 22 46 61 69 6c 65 64 20 74 6f 20 63 6f 6e 6e 65 63 74 20 74 6f 20 57 61 79 6c | derr,."Failed.to.connect.to.Wayl |
| 1da40 | 61 6e 64 20 64 69 73 70 6c 61 79 5c 6e 22 29 3b 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 | and.display\n");........return.1 |
| 1da60 | 3b 00 00 00 03 20 20 7d 00 00 00 2e 20 20 72 65 67 69 73 74 72 79 20 3d 20 77 6c 5f 64 69 73 70 | ;......}......registry.=.wl_disp |
| 1da80 | 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 3f 20 20 | lay_get_registry(display);...?.. |
| 1daa0 | 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 |
| 1dac0 | 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);... |
| 1dae0 | 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 79 29 | ...wl_display_roundtrip(display) |
| 1db00 | 3b 00 00 00 28 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 | ;...(..if.(!compositor.||.!shm.| |
| 1db20 | 7c 20 21 77 6d 5f 62 61 73 65 29 20 7b 00 00 00 31 20 20 20 20 66 70 72 69 6e 74 66 28 73 74 64 | |.!wm_base).{...1....fprintf(std |
| 1db40 | 65 72 72 2c 20 22 4d 69 73 73 69 6e 67 20 57 61 79 6c 61 6e 64 20 67 6c 6f 62 61 6c 73 5c 6e 22 | err,."Missing.Wayland.globals\n" |
| 1db60 | 29 3b 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 03 20 20 7d 00 00 00 35 20 20 | );........return.1;......}...5.. |
| 1db80 | 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 |
| 1dba0 | 75 72 66 61 63 65 28 63 6f 6d 70 6f 73 69 74 6f 72 29 3b 00 00 00 3e 20 20 78 64 67 5f 73 75 72 | urface(compositor);...>..xdg_sur |
| 1dbc0 | 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 66 61 | face.=.xdg_wm_base_get_xdg_surfa |
| 1dbe0 | 63 65 28 77 6d 5f 62 61 73 65 2c 20 73 75 72 66 61 63 65 29 3b 00 00 00 45 20 20 78 64 67 5f 73 | ce(wm_base,.surface);...E..xdg_s |
| 1dc00 | 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 2c | urface_add_listener(xdg_surface, |
| 1dc20 | 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 00 | .&xdg_surface_listener,.NULL);.. |
| 1dc40 | 00 33 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 | .3..toplevel.=.xdg_surface_get_t |
| 1dc60 | 6f 70 6c 65 76 65 6c 28 78 64 67 5f 73 75 72 66 61 63 65 29 3b 00 00 00 40 20 20 78 64 67 5f 74 | oplevel(xdg_surface);...@..xdg_t |
| 1dc80 | 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,.& |
| 1dca0 | 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 1d 20 20 77 | toplevel_listener,.NULL);......w |
| 1dcc0 | 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 20 20 20 | l_surface_commit(surface);...... |
| 1dce0 | 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 79 29 3b 00 00 | wl_display_roundtrip(display);.. |
| 1dd00 | 00 13 20 20 77 68 69 6c 65 20 28 72 75 6e 6e 69 6e 67 29 20 7b 00 00 00 29 20 20 20 20 77 6c 5f | ....while.(running).{...)....wl_ |
| 1dd20 | 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 5f 70 65 6e 64 69 6e 67 28 64 69 73 70 6c 61 79 | display_dispatch_pending(display |
| 1dd40 | 29 3b 00 00 00 11 20 20 20 20 64 72 61 77 5f 63 6c 6f 63 6b 28 29 3b 00 00 00 19 20 20 20 20 75 | );........draw_clock();........u |
| 1dd60 | 73 6c 65 65 70 28 31 30 30 30 30 30 30 20 2f 20 36 30 29 3b 00 00 00 03 20 20 7d 00 00 00 0b 20 | sleep(1000000./.60);......}..... |
| 1dd80 | 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 00 00 00 e2 | .return.0;....}5................ |
| 1dda0 | 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 58 1b 00 00 00 00 00 00 01 | .......................X........ |
| 1ddc0 | 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 33 00 00 00 35 00 00 00 00 00 00 00 00 00 00 00 34 00 | .......5._....3...5...........4. |
| 1dde0 | 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 00 00 00 00 | ................................ |
| 1de00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1de20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1de40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1de60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1de80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1dea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1dec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1dee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1df00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1df20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1df40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d 89 fb 04 01 00 00 00 00 00 f5 18 00 00 00 aa 00 00 | .............i.................. |
| 1df60 | 00 00 00 00 00 00 00 00 00 01 00 00 00 01 7d f5 18 00 00 00 ab 00 00 00 00 00 00 00 00 00 00 00 | ..............}................. |
| 1df80 | 00 f5 18 00 00 00 97 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 36 20 20 20 20 69 66 20 28 21 | ......................6....if.(! |
| 1dfa0 | 64 69 73 70 6c 61 79 29 20 7b 20 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 46 61 69 6c | display).{.fprintf(stderr,."Fail |
| 1dfc0 | 65 64 20 74 6f 20 63 6f 6e 6e 65 63 74 f5 18 00 00 00 98 00 00 00 00 00 00 00 00 00 00 00 00 f5 | ed.to.connect................... |
| 1dfe0 | 18 00 00 00 83 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 11 20 20 20 20 69 66 20 28 77 69 64 | .........................if.(wid |
| 1e000 | 74 68 20 3e 20 30 f5 18 00 00 00 84 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 6b 00 00 | th.>.0.......................k.. |
| 1e020 | 00 00 00 00 00 00 00 00 00 01 00 00 00 37 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 | .............7....for.(int.i.=.0 |
| 1e040 | 3b 20 69 20 3c 20 77 20 2a 20 68 3b 20 69 2b 2b 29 20 70 78 5b 69 5d 20 3d 20 30 78 66 66 66 66 | ;.i.<.w.*.h;.i++).px[i].=.0xffff |
| 1e060 | 66 66 66 66 3b f5 18 00 00 00 6c 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 | ffff;.....l..................... |
| 1e080 | 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 00 00 00 00 35 | ...............................5 |
| 1e0a0 | 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6b 00 00 00 37 00 00 00 00 | .......................k...7.... |
| 1e0c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0e 00 00 00 00 00 00 f5 18 00 00 00 00 6b 00 00 | .............................k.. |
| 1e0e0 | 00 37 00 00 00 00 00 00 00 00 00 00 00 18 00 00 00 11 00 00 00 00 0e 00 00 00 00 00 00 00 00 00 | .7.............................. |
| 1e100 | 00 00 00 00 00 00 05 00 00 00 00 00 00 f5 18 00 00 00 00 83 00 00 00 11 00 00 00 00 00 00 00 00 | ................................ |
| 1e120 | 00 00 00 14 00 00 00 36 00 00 00 00 13 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 | .......6........................ |
| 1e140 | 00 00 00 f5 18 00 00 00 00 97 00 00 00 36 00 00 00 00 00 00 00 00 00 00 00 13 00 00 00 01 00 00 | .............6.................. |
| 1e160 | 00 00 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 5a 03 00 00 00 00 00 00 35 81 5f d0 00 00 00 | .................Z.......5._.... |
| 1e180 | 34 00 00 00 36 00 00 00 00 00 00 00 00 00 00 00 35 00 00 00 ab 00 00 00 00 00 00 00 00 ff ff ff | 4...6...........5............... |
| 1e1a0 | ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1e1c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1e1e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1e200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1e220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1e240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1e260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1e280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1e2a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1e2c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1e2e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 | ...............................i |
| 1e300 | 9d 89 fc 04 01 00 00 00 17 00 f5 18 00 00 00 1a 00 00 00 de 00 00 00 ab 00 00 00 90 00 00 00 30 | ...............................0 |
| 1e320 | 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 61 79 6c | ....char.template[].=."/tmp/wayl |
| 1e340 | 61 6e 64 2d 73 68 6d 2d 58 58 58 58 58 58 22 3b 00 00 00 1f 20 20 20 20 69 6e 74 20 66 64 20 3d | and-shm-XXXXXX";........int.fd.= |
| 1e360 | 20 6d 6b 73 74 65 6d 70 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 2f 20 20 20 20 69 66 20 28 66 | .mkstemp(template);.../....if.(f |
| 1e380 | 64 20 3c 20 30 29 20 7b 20 70 65 72 72 6f 72 28 22 6d 6b 73 74 65 6d 70 22 29 3b 20 65 78 69 74 | d.<.0).{.perror("mkstemp");.exit |
| 1e3a0 | 28 31 29 3b 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 | (1);.}........unlink(template);. |
| 1e3c0 | 00 00 42 20 20 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 73 69 7a 65 29 20 3c | ..B....if.(ftruncate(fd,.size).< |
| 1e3e0 | 20 30 29 20 7b 20 70 65 72 72 6f 72 28 22 66 74 72 75 6e 63 61 74 65 22 29 3b 20 65 78 69 74 28 | .0).{.perror("ftruncate");.exit( |
| 1e400 | 31 29 3b 20 7d 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 | 1);.}........return.fd;....}.... |
| 1e420 | 00 00 00 54 73 74 61 74 69 63 20 76 6f 69 64 20 77 6d 5f 62 61 73 65 5f 70 69 6e 67 28 76 6f 69 | ...Tstatic.void.wm_base_ping(voi |
| 1e440 | 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 20 2a 77 6d 5f | d.*data,.struct.xdg_wm_base.*wm_ |
| 1e460 | 62 61 73 65 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 26 20 20 20 20 | base,.uint32_t.serial).{...&.... |
| 1e480 | 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 5f 62 61 73 65 2c 20 73 65 72 69 61 6c | xdg_wm_base_pong(wm_base,.serial |
| 1e4a0 | 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4b 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 | );....}.......Kstatic.const.stru |
| 1e4c0 | 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_ |
| 1e4e0 | 6c 69 73 74 65 6e 65 72 20 3d 20 7b 77 6d 5f 62 61 73 65 5f 70 69 6e 67 7d 3b 00 00 00 00 00 00 | listener.=.{wm_base_ping};...... |
| 1e500 | 00 61 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 | .astatic.void.xdg_surface_config |
| 1e520 | 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 61 | ure(void.*data,.struct.xdg_surfa |
| 1e540 | 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 6c | ce.*xdg_surface,.uint32_t.serial |
| 1e560 | 29 20 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 6f 6e 66 69 | ).{...3....xdg_surface_ack_confi |
| 1e580 | 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 00 1f 20 20 | gure(xdg_surface,.serial);...... |
| 1e5a0 | 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 00 00 | ..wl_surface_commit(surface);... |
| 1e5c0 | 01 7d 00 00 00 00 00 00 00 58 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 | .}.......Xstatic.const.struct.xd |
| 1e5e0 | 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 72 66 61 63 65 5f 6c | g_surface_listener.xdg_surface_l |
| 1e600 | 69 73 74 65 6e 65 72 20 3d 20 7b 78 64 67 5f 73 75 72 66 61 63 65 5f 63 6f 6e 66 69 67 75 72 65 | istener.=.{xdg_surface_configure |
| 1e620 | 7d 3b 00 00 00 00 00 00 00 34 73 74 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 61 74 65 5f 62 | };.......4static.void.allocate_b |
| 1e640 | 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 20 7b 00 00 | uffer(int.width,.int.height).{.. |
| 1e660 | 00 11 20 20 20 20 69 66 20 28 62 75 66 66 65 72 29 20 7b 00 00 00 22 20 20 20 20 20 20 20 20 77 | ......if.(buffer).{..."........w |
| 1e680 | 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 62 75 66 66 65 72 29 3b 00 00 00 33 20 20 20 | l_buffer_destroy(buffer);...3... |
| 1e6a0 | 20 20 20 20 20 6d 75 6e 6d 61 70 28 70 69 78 65 6c 73 2c 20 62 75 66 5f 77 69 64 74 68 20 2a 20 | .....munmap(pixels,.buf_width.*. |
| 1e6c0 | 62 75 66 5f 68 65 69 67 68 74 20 2a 20 34 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 16 20 20 20 | buf_height.*.4);........}....... |
| 1e6e0 | 20 62 75 66 5f 77 69 64 74 68 20 3d 20 77 69 64 74 68 3b 00 00 00 18 20 20 20 20 62 75 66 5f 68 | .buf_width.=.width;........buf_h |
| 1e700 | 65 69 67 68 74 20 3d 20 68 65 69 67 68 74 3b 00 00 00 1b 20 20 20 20 69 6e 74 20 73 74 72 69 64 | eight.=.height;........int.strid |
| 1e720 | 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.= |
| 1e740 | 20 73 74 72 69 64 65 20 2a 20 68 65 69 67 68 74 3b 00 00 00 23 20 20 20 20 69 6e 74 20 66 64 20 | .stride.*.height;...#....int.fd. |
| 1e760 | 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 49 20 20 20 20 | =.create_shm_file(size);...I.... |
| 1e780 | 70 69 78 65 6c 73 20 3d 20 6d 6d 61 70 28 4e 55 4c 4c 2c 20 73 69 7a 65 2c 20 50 52 4f 54 5f 52 | pixels.=.mmap(NULL,.size,.PROT_R |
| 1e7a0 | 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 |
| 1e7c0 | 2c 20 30 29 3b 00 00 00 3a 20 20 20 20 69 66 20 28 70 69 78 65 6c 73 20 3d 3d 20 4d 41 50 5f 46 | ,.0);...:....if.(pixels.==.MAP_F |
| 1e7e0 | 41 49 4c 45 44 29 20 7b 20 70 65 72 72 6f 72 28 22 6d 6d 61 70 22 29 3b 20 65 78 69 74 28 31 29 | AILED).{.perror("mmap");.exit(1) |
| 1e800 | 3b 20 7d 00 00 00 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 | ;.}...A....struct.wl_shm_pool.*p |
| 1e820 | 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 64 | ool.=.wl_shm_create_pool(shm,.fd |
| 1e840 | 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 5f | ,.size);..._....buffer.=.wl_shm_ |
| 1e860 | 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 74 | pool_create_buffer(pool,.0,.widt |
| 1e880 | 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 54 | h,.height,.stride,.WL_SHM_FORMAT |
| 1e8a0 | 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 2d 20 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 | _ARGB8888);...-....wl_surface_at |
| 1e8c0 | 74 61 63 68 28 73 75 72 66 61 63 65 2c 20 62 75 66 66 65 72 2c 20 30 2c 20 30 29 3b 00 00 00 1f | tach(surface,.buffer,.0,.0);.... |
| 1e8e0 | 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);. |
| 1e900 | 00 00 01 7d 00 00 00 00 00 00 00 44 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 70 69 78 | ...}.......Dstatic.void.draw_pix |
| 1e920 | 65 6c 28 69 6e 74 20 78 2c 20 69 6e 74 20 79 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 75 | el(int.x,.int.y,.int.w,.int.h,.u |
| 1e940 | 69 6e 74 33 32 5f 74 20 63 6f 6c 6f 72 29 20 7b 00 00 00 2b 20 20 20 20 69 66 20 28 78 20 3e 3d | int32_t.color).{...+....if.(x.>= |
| 1e960 | 20 30 20 26 26 20 78 20 3c 20 77 20 26 26 20 79 20 3e 3d 20 30 20 26 26 20 79 20 3c 20 68 29 00 | .0.&&.x.<.w.&&.y.>=.0.&&.y.<.h). |
| 1e980 | 00 00 30 20 20 20 20 20 20 20 20 28 28 75 69 6e 74 33 32 5f 74 20 2a 29 70 69 78 65 6c 73 29 5b | ..0........((uint32_t.*)pixels)[ |
| 1e9a0 | 79 20 2a 20 77 20 2b 20 78 5d 20 3d 20 63 6f 6c 6f 72 3b 00 00 00 01 7d 00 00 00 00 00 00 00 63 | y.*.w.+.x].=.color;....}.......c |
| 1e9c0 | 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 6c 69 6e 65 28 75 69 6e 74 33 32 5f 74 20 2a | static.void.draw_line(uint32_t.* |
| 1e9e0 | 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 78 30 2c 20 69 6e 74 20 79 30 | px,.int.w,.int.h,.int.x0,.int.y0 |
| 1ea00 | 2c 20 69 6e 74 20 78 31 2c 20 69 6e 74 20 79 31 2c 20 75 69 6e 74 33 32 5f 74 20 63 6f 6c 6f 72 | ,.int.x1,.int.y1,.uint32_t.color |
| 1ea20 | 29 20 7b 00 00 00 31 20 20 20 20 69 6e 74 20 64 78 20 3d 20 61 62 73 28 78 31 20 2d 20 78 30 29 | ).{...1....int.dx.=.abs(x1.-.x0) |
| 1ea40 | 2c 20 73 78 20 3d 20 78 30 20 3c 20 78 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 32 20 20 20 20 | ,.sx.=.x0.<.x1.?.1.:.-1;...2.... |
| 1ea60 | 69 6e 74 20 64 79 20 3d 20 2d 61 62 73 28 79 31 20 2d 20 79 30 29 2c 20 73 79 20 3d 20 79 30 20 | int.dy.=.-abs(y1.-.y0),.sy.=.y0. |
| 1ea80 | 3c 20 79 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 1a 20 20 20 20 69 6e 74 20 65 72 72 20 3d 20 | <.y1.?.1.:.-1;........int.err.=. |
| 1eaa0 | 64 78 20 2b 20 64 79 2c 20 65 32 3b 00 00 00 0f 20 20 20 20 77 68 69 6c 65 20 28 31 29 20 7b 00 | dx.+.dy,.e2;........while.(1).{. |
| 1eac0 | 00 00 4c 20 20 20 20 20 20 20 20 69 66 20 28 78 30 20 3e 3d 20 30 20 26 26 20 78 30 20 3c 20 77 | ..L........if.(x0.>=.0.&&.x0.<.w |
| 1eae0 | 20 26 26 20 79 30 20 3e 3d 20 30 20 26 26 20 79 30 20 3c 20 68 29 20 70 78 5b 79 30 20 2a 20 77 | .&&.y0.>=.0.&&.y0.<.h).px[y0.*.w |
| 1eb00 | 20 2b 20 78 30 5d 20 3d 20 63 6f 6c 6f 72 3b 00 00 00 28 20 20 20 20 20 20 20 20 69 66 20 28 78 | .+.x0].=.color;...(........if.(x |
| 1eb20 | 30 20 3d 3d 20 78 31 20 26 26 20 79 30 20 3d 3d 20 79 31 29 20 62 72 65 61 6b 3b 00 00 00 15 20 | 0.==.x1.&&.y0.==.y1).break;..... |
| 1eb40 | 20 20 20 20 20 20 20 65 32 20 3d 20 32 20 2a 20 65 72 72 3b 00 00 00 2e 20 20 20 20 20 20 20 20 | .......e2.=.2.*.err;............ |
| 1eb60 | 69 66 20 28 65 32 20 3e 3d 20 64 79 29 20 7b 20 65 72 72 20 2b 3d 20 64 79 3b 20 78 30 20 2b 3d | if.(e2.>=.dy).{.err.+=.dy;.x0.+= |
| 1eb80 | 20 73 78 3b 20 7d 00 00 00 2e 20 20 20 20 20 20 20 20 69 66 20 28 65 32 20 3c 3d 20 64 78 29 20 | .sx;.}............if.(e2.<=.dx). |
| 1eba0 | 7b 20 65 72 72 20 2b 3d 20 64 78 3b 20 79 30 20 2b 3d 20 73 79 3b 20 7d 00 00 00 05 20 20 20 20 | {.err.+=.dx;.y0.+=.sy;.}........ |
| 1ebc0 | 7d 00 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 | }....}.......\static.void.draw_c |
| 1ebe0 | 69 72 63 6c 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 | ircle(uint32_t.*px,.int.w,.int.h |
| 1ec00 | 2c 20 69 6e 74 20 63 78 2c 20 69 6e 74 20 63 79 2c 20 69 6e 74 20 72 2c 20 75 69 6e 74 33 32 5f | ,.int.cx,.int.cy,.int.r,.uint32_ |
| 1ec20 | 74 20 63 6f 6c 6f 72 29 20 7b 00 00 00 15 20 20 20 20 69 6e 74 20 78 20 3d 20 72 2c 20 79 20 3d | t.color).{........int.x.=.r,.y.= |
| 1ec40 | 20 30 3b 00 00 00 10 20 20 20 20 69 6e 74 20 65 72 72 20 3d 20 30 3b 00 00 00 14 20 20 20 20 77 | .0;........int.err.=.0;........w |
| 1ec60 | 68 69 6c 65 20 28 78 20 3e 3d 20 79 29 20 7b 00 00 00 30 20 20 20 20 20 20 20 20 64 72 61 77 5f | hile.(x.>=.y).{...0........draw_ |
| 1ec80 | 70 69 78 65 6c 28 63 78 20 2b 20 78 2c 20 63 79 20 2b 20 79 2c 20 77 2c 20 68 2c 20 63 6f 6c 6f | pixel(cx.+.x,.cy.+.y,.w,.h,.colo |
| 1eca0 | 72 29 3b 00 00 00 30 20 20 20 20 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 63 78 20 2b 20 79 | r);...0........draw_pixel(cx.+.y |
| 1ecc0 | 2c 20 63 79 20 2b 20 78 2c 20 77 2c 20 68 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 30 20 20 20 20 20 | ,.cy.+.x,.w,.h,.color);...0..... |
| 1ece0 | 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 63 78 20 2d 20 79 2c 20 63 79 20 2b 20 78 2c 20 77 2c | ...draw_pixel(cx.-.y,.cy.+.x,.w, |
| 1ed00 | 20 68 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 30 20 20 20 20 20 20 20 20 64 72 61 77 5f 70 69 78 65 | .h,.color);...0........draw_pixe |
| 1ed20 | 6c 28 63 78 20 2d 20 78 2c 20 63 79 20 2b 20 79 2c 20 77 2c 20 68 2c 20 63 6f 6c 6f 72 29 3b 00 | l(cx.-.x,.cy.+.y,.w,.h,.color);. |
| 1ed40 | 00 00 30 20 20 20 20 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 63 78 20 2d 20 78 2c 20 63 79 | ..0........draw_pixel(cx.-.x,.cy |
| 1ed60 | 20 2d 20 79 2c 20 77 2c 20 68 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 30 20 20 20 20 20 20 20 20 64 | .-.y,.w,.h,.color);...0........d |
| 1ed80 | 72 61 77 5f 70 69 78 65 6c 28 63 78 20 2d 20 79 2c 20 63 79 20 2d 20 78 2c 20 77 2c 20 68 2c 20 | raw_pixel(cx.-.y,.cy.-.x,.w,.h,. |
| 1eda0 | 63 6f 6c 6f 72 29 3b 00 00 00 30 20 20 20 20 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 63 78 | color);...0........draw_pixel(cx |
| 1edc0 | 20 2b 20 79 2c 20 63 79 20 2d 20 78 2c 20 77 2c 20 68 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 30 20 | .+.y,.cy.-.x,.w,.h,.color);...0. |
| 1ede0 | 20 20 20 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 63 78 20 2b 20 78 2c 20 63 79 20 2d 20 79 | .......draw_pixel(cx.+.x,.cy.-.y |
| 1ee00 | 2c 20 77 2c 20 68 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 0c 20 20 20 20 20 20 20 20 79 2b 2b 3b 00 | ,.w,.h,.color);............y++;. |
| 1ee20 | 00 00 29 20 20 20 20 20 20 20 20 69 66 20 28 65 72 72 20 3c 3d 20 30 29 20 7b 20 65 72 72 20 2b | ..)........if.(err.<=.0).{.err.+ |
| 1ee40 | 3d 20 32 2a 79 20 2b 20 31 3b 20 7d 00 00 00 2d 20 20 20 20 20 20 20 20 69 66 20 28 65 72 72 20 | =.2*y.+.1;.}...-........if.(err. |
| 1ee60 | 3e 20 30 29 20 7b 20 78 2d 2d 3b 20 65 72 72 20 2d 3d 20 32 2a 78 20 2b 20 31 3b 20 7d 00 00 00 | >.0).{.x--;.err.-=.2*x.+.1;.}... |
| 1ee80 | 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 76 6f 69 64 20 64 | .....}....}........static.void.d |
| 1eea0 | 72 61 77 5f 63 6c 6f 63 6b 28 29 20 7b 00 00 00 18 20 20 20 20 69 66 20 28 21 70 69 78 65 6c 73 | raw_clock().{........if.(!pixels |
| 1eec0 | 29 20 72 65 74 75 72 6e 3b 00 00 00 26 20 20 20 20 69 6e 74 20 77 20 3d 20 62 75 66 5f 77 69 64 | ).return;...&....int.w.=.buf_wid |
| 1eee0 | 74 68 2c 20 68 20 3d 20 62 75 66 5f 68 65 69 67 68 74 3b 00 00 00 1a 20 20 20 20 75 69 6e 74 33 | th,.h.=.buf_height;........uint3 |
| 1ef00 | 32 5f 74 20 2a 70 78 20 3d 20 70 69 78 65 6c 73 3b 00 00 00 1f 20 20 20 20 69 6e 74 20 63 78 20 | 2_t.*px.=.pixels;........int.cx. |
| 1ef20 | 3d 20 77 20 2f 20 32 2c 20 63 79 20 3d 20 68 20 2f 20 32 3b 00 00 00 25 20 20 20 20 69 6e 74 20 | =.w./.2,.cy.=.h./.2;...%....int. |
| 1ef40 | 72 20 3d 20 28 77 20 3c 20 68 20 3f 20 77 20 3a 20 68 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 00 | r.=.(w.<.h.?.w.:.h)./.2.-.10;... |
| 1ef60 | 37 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 77 20 2a 20 68 3b 20 | 7....for.(int.i.=.0;.i.<.w.*.h;. |
| 1ef80 | 69 2b 2b 29 20 70 78 5b 69 5d 20 3d 20 30 78 66 66 66 66 66 66 66 66 3b 00 00 00 31 20 20 20 20 | i++).px[i].=.0xffffffff;...1.... |
| 1efa0 | 64 72 61 77 5f 63 69 72 63 6c 65 28 70 78 2c 20 77 2c 20 68 2c 20 63 78 2c 20 63 79 2c 20 72 2c | draw_circle(px,.w,.h,.cx,.cy,.r, |
| 1efc0 | 20 30 78 66 66 30 30 30 30 30 30 29 3b 00 00 00 22 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 | .0xff000000);..."....for.(int.i. |
| 1efe0 | 3d 20 30 3b 20 69 20 3c 20 31 32 3b 20 69 2b 2b 29 20 7b 00 00 00 2f 20 20 20 20 20 20 20 20 64 | =.0;.i.<.12;.i++).{.../........d |
| 1f000 | 6f 75 62 6c 65 20 61 6e 67 6c 65 20 3d 20 69 20 2a 20 4d 5f 50 49 20 2f 20 36 2e 30 20 2d 20 4d | ouble.angle.=.i.*.M_PI./.6.0.-.M |
| 1f020 | 5f 50 49 2f 32 3b 00 00 00 2e 20 20 20 20 20 20 20 20 69 6e 74 20 78 30 20 3d 20 63 78 20 2b 20 | _PI/2;............int.x0.=.cx.+. |
| 1f040 | 28 69 6e 74 29 28 28 72 2d 35 29 2a 63 6f 73 28 61 6e 67 6c 65 29 29 3b 00 00 00 2e 20 20 20 20 | (int)((r-5)*cos(angle));........ |
| 1f060 | 20 20 20 20 69 6e 74 20 79 30 20 3d 20 63 79 20 2b 20 28 69 6e 74 29 28 28 72 2d 35 29 2a 73 69 | ....int.y0.=.cy.+.(int)((r-5)*si |
| 1f080 | 6e 28 61 6e 67 6c 65 29 29 3b 00 00 00 2a 20 20 20 20 20 20 20 20 69 6e 74 20 78 31 20 3d 20 63 | n(angle));...*........int.x1.=.c |
| 1f0a0 | 78 20 2b 20 28 69 6e 74 29 28 72 2a 63 6f 73 28 61 6e 67 6c 65 29 29 3b 00 00 00 2a 20 20 20 20 | x.+.(int)(r*cos(angle));...*.... |
| 1f0c0 | 20 20 20 20 69 6e 74 20 79 31 20 3d 20 63 79 20 2b 20 28 69 6e 74 29 28 72 2a 73 69 6e 28 61 6e | ....int.y1.=.cy.+.(int)(r*sin(an |
| 1f0e0 | 67 6c 65 29 29 3b 00 00 00 38 20 20 20 20 20 20 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 | gle));...8........draw_line(px,. |
| 1f100 | 77 2c 20 68 2c 20 78 30 2c 20 79 30 2c 20 78 31 2c 20 79 31 2c 20 30 78 66 66 30 30 30 30 30 30 | w,.h,.x0,.y0,.x1,.y1,.0xff000000 |
| 1f120 | 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 1a 20 20 20 20 74 69 6d 65 5f 74 20 74 20 3d 20 74 69 | );........}........time_t.t.=.ti |
| 1f140 | 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 22 20 20 20 20 73 74 72 75 63 74 20 74 6d 20 2a 74 6d 20 3d | me(NULL);..."....struct.tm.*tm.= |
| 1f160 | 20 6c 6f 63 61 6c 74 69 6d 65 28 26 74 29 3b 00 00 00 55 20 20 20 20 64 6f 75 62 6c 65 20 68 6f | .localtime(&t);...U....double.ho |
| 1f180 | 75 72 5f 61 6e 67 6c 65 20 3d 20 28 74 6d 2d 3e 74 6d 5f 68 6f 75 72 20 25 20 31 32 20 2b 20 74 | ur_angle.=.(tm->tm_hour.%.12.+.t |
| 1f1a0 | 6d 2d 3e 74 6d 5f 6d 69 6e 20 2f 20 36 30 2e 30 29 20 2a 20 4d 5f 50 49 20 2f 20 36 2e 30 20 2d | m->tm_min./.60.0).*.M_PI./.6.0.- |
| 1f1c0 | 20 4d 5f 50 49 2f 32 3b 00 00 00 4f 20 20 20 20 64 6f 75 62 6c 65 20 6d 69 6e 5f 61 6e 67 6c 65 | .M_PI/2;...O....double.min_angle |
| 1f1e0 | 20 3d 20 28 74 6d 2d 3e 74 6d 5f 6d 69 6e 20 2b 20 74 6d 2d 3e 74 6d 5f 73 65 63 20 2f 20 36 30 | .=.(tm->tm_min.+.tm->tm_sec./.60 |
| 1f200 | 2e 30 29 20 2a 20 4d 5f 50 49 20 2f 20 33 30 2e 30 20 2d 20 4d 5f 50 49 2f 32 3b 00 00 00 39 20 | .0).*.M_PI./.30.0.-.M_PI/2;...9. |
| 1f220 | 20 20 20 64 6f 75 62 6c 65 20 73 65 63 5f 61 6e 67 6c 65 20 3d 20 74 6d 2d 3e 74 6d 5f 73 65 63 | ...double.sec_angle.=.tm->tm_sec |
| 1f240 | 20 2a 20 4d 5f 50 49 20 2f 20 33 30 2e 30 20 2d 20 4d 5f 50 49 2f 32 3b 00 00 00 72 20 20 20 20 | .*.M_PI./.30.0.-.M_PI/2;...r.... |
| 1f260 | 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 77 2c 20 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b | draw_line(px,.w,.h,.cx,.cy,.cx.+ |
| 1f280 | 20 28 69 6e 74 29 28 72 2a 30 2e 35 2a 63 6f 73 28 68 6f 75 72 5f 61 6e 67 6c 65 29 29 2c 20 63 | .(int)(r*0.5*cos(hour_angle)),.c |
| 1f2a0 | 79 20 2b 20 28 69 6e 74 29 28 72 2a 30 2e 35 2a 73 69 6e 28 68 6f 75 72 5f 61 6e 67 6c 65 29 29 | y.+.(int)(r*0.5*sin(hour_angle)) |
| 1f2c0 | 2c 20 30 78 66 66 30 30 30 30 30 30 29 3b 00 00 00 71 20 20 20 20 64 72 61 77 5f 6c 69 6e 65 28 | ,.0xff000000);...q....draw_line( |
| 1f2e0 | 70 78 2c 20 77 2c 20 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 72 2a 30 | px,.w,.h,.cx,.cy,.cx.+.(int)(r*0 |
| 1f300 | 2e 37 2a 63 6f 73 28 6d 69 6e 5f 61 6e 67 6c 65 29 29 2c 20 20 63 79 20 2b 20 28 69 6e 74 29 28 | .7*cos(min_angle)),..cy.+.(int)( |
| 1f320 | 72 2a 30 2e 37 2a 73 69 6e 28 6d 69 6e 5f 61 6e 67 6c 65 29 29 2c 20 30 78 66 66 30 30 30 30 30 | r*0.7*sin(min_angle)),.0xff00000 |
| 1f340 | 30 29 3b 00 00 00 71 20 20 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 77 2c 20 68 2c 20 63 | 0);...q....draw_line(px,.w,.h,.c |
| 1f360 | 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 72 2a 30 2e 39 2a 63 6f 73 28 73 65 63 5f | x,.cy,.cx.+.(int)(r*0.9*cos(sec_ |
| 1f380 | 61 6e 67 6c 65 29 29 2c 20 20 63 79 20 2b 20 28 69 6e 74 29 28 72 2a 30 2e 39 2a 73 69 6e 28 73 | angle)),..cy.+.(int)(r*0.9*sin(s |
| 1f3a0 | 65 63 5f 61 6e 67 6c 65 29 29 2c 20 30 78 66 66 66 66 30 30 30 30 29 3b 00 00 00 2d 20 20 20 20 | ec_angle)),.0xffff0000);...-.... |
| 1f3c0 | 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 62 75 66 66 65 | wl_surface_attach(surface,.buffe |
| 1f3e0 | 72 2c 20 30 2c 20 30 29 3b 00 00 00 2b 20 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 61 6d 61 | r,.0,.0);...+....wl_surface_dama |
| 1f400 | 67 65 28 73 75 72 66 61 63 65 2c 20 30 2c 20 30 2c 20 77 2c 20 68 29 3b 00 00 00 1f 20 20 20 20 | ge(surface,.0,.0,.w,.h);........ |
| 1f420 | 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 00 00 01 7d | wl_surface_commit(surface);....} |
| 1f440 | 00 00 00 00 00 00 00 83 73 74 61 74 69 63 20 76 6f 69 64 20 74 6f 70 6c 65 76 65 6c 5f 63 6f 6e | ........static.void.toplevel_con |
| 1f460 | 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 20 78 64 67 5f 74 6f | figure(void.*data,.struct.xdg_to |
| 1f480 | 70 6c 65 76 65 6c 20 2a 74 6f 70 6c 65 76 65 6c 2c 20 69 6e 74 33 32 5f 74 20 77 69 64 74 68 2c | plevel.*toplevel,.int32_t.width, |
| 1f4a0 | 20 69 6e 74 33 32 5f 74 20 68 65 69 67 68 74 2c 20 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 | .int32_t.height,.struct.wl_array |
| 1f4c0 | 20 2a 73 74 61 74 65 73 29 20 7b 00 00 00 40 20 20 20 20 69 66 20 28 77 69 64 74 68 20 3e 20 30 | .*states).{...@....if.(width.>.0 |
| 1f4e0 | 20 26 26 20 68 65 69 67 68 74 20 3e 20 30 29 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 72 28 | .&&.height.>.0).allocate_buffer( |
| 1f500 | 77 69 64 74 68 2c 20 68 65 69 67 68 74 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 56 73 74 61 74 | width,.height);....}.......Vstat |
| 1f520 | 69 63 20 76 6f 69 64 20 74 6f 70 6c 65 76 65 6c 5f 63 6c 6f 73 65 28 76 6f 69 64 20 2a 64 61 74 | ic.void.toplevel_close(void.*dat |
| 1f540 | 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 65 6c | a,.struct.xdg_toplevel.*toplevel |
| 1f560 | 29 20 7b 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 20 7d 00 00 00 00 00 00 00 7b 73 74 61 74 69 63 | ).{.running.=.0;.}.......{static |
| 1f580 | 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 | .const.struct.xdg_toplevel_liste |
| 1f5a0 | 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 20 2e 63 6f 6e 66 69 | ner.toplevel_listener.=.{..confi |
| 1f5c0 | 67 75 72 65 20 3d 20 74 6f 70 6c 65 76 65 6c 5f 63 6f 6e 66 69 67 75 72 65 2c 20 2e 63 6c 6f 73 | gure.=.toplevel_configure,..clos |
| 1f5e0 | 65 20 3d 20 74 6f 70 6c 65 76 65 6c 5f 63 6c 6f 73 65 20 7d 3b 00 00 00 00 00 00 00 7e 73 74 61 | e.=.toplevel_close.};.......~sta |
| 1f600 | 74 69 63 20 76 6f 69 64 20 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 28 76 6f 69 64 20 2a | tic.void.registry_handler(void.* |
| 1f620 | 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 69 73 74 | data,.struct.wl_registry.*regist |
| 1f640 | 72 79 2c 20 75 69 6e 74 33 32 5f 74 20 69 64 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 6e 74 | ry,.uint32_t.id,.const.char.*int |
| 1f660 | 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 20 7b 00 00 00 7a 20 | erface,.uint32_t.version).{...z. |
| 1f680 | 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 |
| 1f6a0 | 70 6f 73 69 74 6f 72 22 29 20 3d 3d 20 30 29 20 63 6f 6d 70 6f 73 69 74 6f 72 20 3d 20 77 6c 5f | positor").==.0).compositor.=.wl_ |
| 1f6c0 | 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 69 64 2c 20 26 77 6c 5f | registry_bind(registry,.id,.&wl_ |
| 1f6e0 | 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 6a 20 20 20 | compositor_interface,.4);...j... |
| 1f700 | 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 77 6c 5f | .else.if.(strcmp(interface,."wl_ |
| 1f720 | 73 68 6d 22 29 20 3d 3d 20 30 29 20 73 68 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 | shm").==.0).shm.=.wl_registry_bi |
| 1f740 | 6e 64 28 72 65 67 69 73 74 72 79 2c 20 69 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 61 | nd(registry,.id,.&wl_shm_interfa |
| 1f760 | 63 65 2c 20 31 29 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 | ce,.1);...5....else.if.(strcmp(i |
| 1f780 | 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 7b | nterface,."xdg_wm_base").==.0).{ |
| 1f7a0 | 00 00 00 4c 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 72 | ...L........wm_base.=.wl_registr |
| 1f7c0 | 79 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 69 64 2c 20 26 78 64 67 5f 77 6d 5f 62 61 73 | y_bind(registry,.id,.&xdg_wm_bas |
| 1f7e0 | 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 64 67 5f | e_interface,.1);...C........xdg_ |
| 1f800 | 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 20 26 77 | wm_base_add_listener(wm_base,.&w |
| 1f820 | 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 05 20 20 20 20 7d | m_base_listener,.NULL);........} |
| 1f840 | 00 00 00 01 7d 00 00 00 00 00 00 00 56 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 | ....}.......Vstatic.const.struct |
| 1f860 | 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 |
| 1f880 | 69 73 74 65 6e 65 72 20 3d 20 7b 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 2c 20 4e 55 4c | istener.=.{registry_handler,.NUL |
| 1f8a0 | 4c 7d 3b 00 00 00 00 00 00 00 0c 69 6e 74 20 6d 61 69 6e 28 29 20 7b 00 00 00 27 20 20 20 20 64 | L};........int.main().{...'....d |
| 1f8c0 | 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 4c | isplay.=.wl_display_connect(NULL |
| 1f8e0 | 29 3b 00 00 00 5a 20 20 20 20 69 66 20 28 21 64 69 73 70 6c 61 79 29 20 7b 20 66 70 72 69 6e 74 | );...Z....if.(!display).{.fprint |
| 1f900 | 66 28 73 74 64 65 72 72 2c 20 22 46 61 69 6c 65 64 20 74 6f 20 63 6f 6e 6e 65 63 74 20 74 6f 20 | f(stderr,."Failed.to.connect.to. |
| 1f920 | 57 61 79 6c 61 6e 64 20 64 69 73 70 6c 61 79 5c 6e 22 29 3b 20 72 65 74 75 72 6e 20 31 3b 20 7d | Wayland.display\n");.return.1;.} |
| 1f940 | 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 79 5f 67 65 | ...0....registry.=.wl_display_ge |
| 1f960 | 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 77 6c 5f 72 | t_registry(display);...A....wl_r |
| 1f980 | 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 79 2c 20 26 | egistry_add_listener(registry,.& |
| 1f9a0 | 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 22 20 20 20 | registry_listener,.NULL);..."... |
| 1f9c0 | 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 79 29 3b 00 | .wl_display_roundtrip(display);. |
| 1f9e0 | 00 00 64 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 | ..d....if.(!compositor.||.!shm.| |
| 1fa00 | 7c 20 21 77 6d 5f 62 61 73 65 29 20 7b 20 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 4d | |.!wm_base).{.fprintf(stderr,."M |
| 1fa20 | 69 73 73 69 6e 67 20 57 61 79 6c 61 6e 64 20 67 6c 6f 62 61 6c 73 5c 6e 22 29 3b 20 72 65 74 75 | issing.Wayland.globals\n");.retu |
| 1fa40 | 72 6e 20 31 3b 20 7d 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 | rn.1;.}...7....surface.=.wl_comp |
| 1fa60 | 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 72 | ositor_create_surface(compositor |
| 1fa80 | 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 62 | );...@....xdg_surface.=.xdg_wm_b |
| 1faa0 | 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 72 | ase_get_xdg_surface(wm_base,.sur |
| 1fac0 | 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 69 | face);...G....xdg_surface_add_li |
| 1fae0 | 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 65 | stener(xdg_surface,.&xdg_surface |
| 1fb00 | 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 35 20 20 20 20 74 6f 70 6c 65 76 65 | _listener,.NULL);...5....topleve |
| 1fb20 | 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 6c 28 78 64 67 | l.=.xdg_surface_get_toplevel(xdg |
| 1fb40 | 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 76 65 6c 5f 61 | _surface);...B....xdg_toplevel_a |
| 1fb60 | 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 65 76 65 6c 5f | dd_listener(toplevel,.&toplevel_ |
| 1fb80 | 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 2f 20 20 20 20 78 64 67 5f 74 6f 70 6c | listener,.NULL);.../....xdg_topl |
| 1fba0 | 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 78 63 6c 6f 63 6b | evel_set_title(toplevel,."xclock |
| 1fbc0 | 22 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 | ");........wl_surface_commit(sur |
| 1fbe0 | 66 61 63 65 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 74 72 | face);..."....wl_display_roundtr |
| 1fc00 | 69 70 28 64 69 73 70 6c 61 79 29 3b 00 00 00 15 20 20 20 20 77 68 69 6c 65 20 28 72 75 6e 6e 69 | ip(display);........while.(runni |
| 1fc20 | 6e 67 29 20 7b 00 00 00 2d 20 20 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 | ng).{...-........wl_display_disp |
| 1fc40 | 61 74 63 68 5f 70 65 6e 64 69 6e 67 28 64 69 73 70 6c 61 79 29 3b 00 00 00 15 20 20 20 20 20 20 | atch_pending(display);.......... |
| 1fc60 | 20 20 64 72 61 77 5f 63 6c 6f 63 6b 28 29 3b 00 00 00 1d 20 20 20 20 20 20 20 20 75 73 6c 65 65 | ..draw_clock();............uslee |
| 1fc80 | 70 28 31 30 30 30 30 30 30 20 2f 20 36 30 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 0d 20 20 20 | p(1000000./.60);........}....... |
| 1fca0 | 20 72 65 74 75 72 6e 20 30 3b 35 81 f5 18 00 00 00 00 1a 00 00 00 02 00 00 00 8f 00 00 00 02 00 | .return.0;5..................... |
| 1fcc0 | 00 00 c2 00 00 00 00 00 00 00 7d 02 00 00 00 00 00 00 d0 17 00 00 00 00 00 00 f6 18 00 00 00 00 | ..........}..................... |
| 1fce0 | 00 00 35 81 5f d0 00 00 00 35 00 00 00 37 00 00 00 00 00 00 00 00 00 00 00 36 00 00 00 01 00 00 | ..5._....5...7...........6...... |
| 1fd00 | 00 00 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fd20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fd40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fd60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fd80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fda0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fdc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fde0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fe00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fe20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fe40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fe60 | 00 00 00 00 00 00 00 00 69 9d 8a 75 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 00 00 | ........i..u.................... |
| 1fe80 | 00 00 00 00 de 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 | ........&#include."xdg-shell-cli |
| 1fea0 | 65 6e 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 66 63 6e | ent-protocol.h"....#include.<fcn |
| 1fec0 | 74 6c 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 6d 61 74 68 2e 68 3e 00 00 00 12 23 69 | tl.h>....#include.<math.h>....#i |
| 1fee0 | 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 20 3c 73 74 | nclude.<stdio.h>....#include.<st |
| 1ff00 | 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 68 3e 00 00 | dlib.h>....#include.<string.h>.. |
| 1ff20 | 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 11 23 69 6e 63 6c | ..#include.<sys/mman.h>....#incl |
| 1ff40 | 75 64 65 20 3c 74 69 6d 65 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 75 6e 69 73 74 64 | ude.<time.h>....#include.<unistd |
| 1ff60 | 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 65 6e 74 2e | .h>....#include.<wayland-client. |
| 1ff80 | 68 3e 00 00 00 00 00 00 00 1b 73 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 20 2a 64 69 73 | h>........struct.wl_display.*dis |
| 1ffa0 | 70 6c 61 79 3b 00 00 00 1d 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 | play;....struct.wl_registry.*reg |
| 1ffc0 | 69 73 74 72 79 3b 00 00 00 21 73 74 72 75 63 74 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 20 2a | istry;...!struct.wl_compositor.* |
| 1ffe0 | 63 6f 6d 70 6f 73 69 74 6f 72 3b 00 00 00 13 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 | compositor;....struct.wl_shm.*sh |
| 20000 | 6d 3b 00 00 00 1c 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 | m;....struct.xdg_wm_base.*wm_bas |
| 20020 | 65 3b 00 00 00 1b 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 | e;....struct.wl_surface.*surface |
| 20040 | 3b 00 00 00 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 | ;....struct.xdg_surface.*xdg_sur |
| 20060 | 66 61 63 65 3b 00 00 00 1e 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 74 6f | face;....struct.xdg_toplevel.*to |
| 20080 | 70 6c 65 76 65 6c 3b 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 | plevel;........static.int.runnin |
| 200a0 | 67 20 3d 20 31 3b 00 00 00 27 73 74 61 74 69 63 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 | g.=.1;...'static.struct.wl_buffe |
| 200c0 | 72 20 2a 62 75 66 66 65 72 20 3d 20 4e 55 4c 4c 3b 00 00 00 1b 73 74 61 74 69 63 20 76 6f 69 64 | r.*buffer.=.NULL;....static.void |
| 200e0 | 20 2a 70 69 78 65 6c 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 29 73 74 61 74 69 63 20 69 6e 74 20 62 | .*pixels.=.NULL;...)static.int.b |
| 20100 | 75 66 5f 77 69 64 74 68 20 3d 20 30 2c 20 62 75 66 5f 68 65 69 67 68 74 20 3d 20 30 3b 00 00 00 | uf_width.=.0,.buf_height.=.0;... |
| 20120 | 00 00 00 00 29 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 | ....)static.int.create_shm_file( |
| 20140 | 73 69 7a 65 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 2e 20 20 63 68 61 72 20 74 65 6d 70 6c 61 74 | size_t.size).{......char.templat |
| 20160 | 65 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 61 79 6c 61 6e 64 2d 73 68 6d 2d 58 58 58 58 58 58 22 3b | e[].=."/tmp/wayland-shm-XXXXXX"; |
| 20180 | 00 00 00 1d 20 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 65 6d 70 6c 61 74 65 29 | ......int.fd.=.mkstemp(template) |
| 201a0 | 3b 00 00 00 0f 20 20 69 66 20 28 66 64 20 3c 20 30 29 20 7b 00 00 00 16 20 20 20 20 70 65 72 72 | ;......if.(fd.<.0).{........perr |
| 201c0 | 6f 72 28 22 6d 6b 73 74 65 6d 70 22 29 3b 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 | or("mkstemp");........exit(1);.. |
| 201e0 | 00 03 20 20 7d 00 00 00 13 20 20 75 6e 6c 69 6e 6b 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 20 | ....}......unlink(template);.... |
| 20200 | 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 73 69 7a 65 29 20 3c 20 30 29 20 7b | ..if.(ftruncate(fd,.size).<.0).{ |
| 20220 | 00 00 00 18 20 20 20 20 70 65 72 72 6f 72 28 22 66 74 72 75 6e 63 61 74 65 22 29 3b 00 00 00 0c | ........perror("ftruncate");.... |
| 20240 | 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 03 20 20 7d 00 00 00 0c 20 20 72 65 74 75 72 6e 20 | ....exit(1);......}......return. |
| 20260 | 66 64 3b 00 00 00 01 7d 00 00 00 00 00 00 00 41 73 74 61 74 69 63 20 76 6f 69 64 20 77 6d 5f 62 | fd;....}.......Astatic.void.wm_b |
| 20280 | 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 67 5f | ase_ping(void.*data,.struct.xdg_ |
| 202a0 | 77 6d 5f 62 61 73 65 20 2a 77 6d 5f 62 61 73 65 2c 00 00 00 2b 20 20 20 20 20 20 20 20 20 20 20 | wm_base.*wm_base,...+........... |
| 202c0 | 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 29 20 7b | ..............uint32_t.serial).{ |
| 202e0 | 00 00 00 24 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 5f 62 61 73 65 2c 20 | ...$..xdg_wm_base_pong(wm_base,. |
| 20300 | 73 65 72 69 61 6c 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4b 73 74 61 74 69 63 20 63 6f 6e 73 | serial);....}.......Kstatic.cons |
| 20320 | 74 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 77 6d | t.struct.xdg_wm_base_listener.wm |
| 20340 | 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 77 6d 5f 62 61 73 65 5f 70 69 6e 67 7d 3b | _base_listener.=.{wm_base_ping}; |
| 20360 | 00 00 00 00 00 00 00 4e 73 74 61 74 69 63 20 76 6f 69 64 20 78 64 67 5f 73 75 72 66 61 63 65 5f | .......Nstatic.void.xdg_surface_ |
| 20380 | 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 20 78 64 67 | configure(void.*data,.struct.xdg |
| 203a0 | 5f 73 75 72 66 61 63 65 20 2a 78 64 67 5f 73 75 72 66 61 63 65 2c 00 00 00 34 20 20 20 20 20 20 | _surface.*xdg_surface,...4...... |
| 203c0 | 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 6e 74 | ............................uint |
| 203e0 | 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 31 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f | 32_t.serial).{...1..xdg_surface_ |
| 20400 | 61 63 6b 5f 63 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 | ack_configure(xdg_surface,.seria |
| 20420 | 6c 29 3b 00 00 00 1d 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 | l);......wl_surface_commit(surfa |
| 20440 | 63 65 29 3b 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 | ce);....}.......Astatic.const.st |
| 20460 | 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 |
| 20480 | 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 1b 20 20 20 20 78 64 67 5f 73 75 | rface_listener.=.{........xdg_su |
| 204a0 | 72 66 61 63 65 5f 63 6f 6e 66 69 67 75 72 65 7d 3b 00 00 00 00 00 00 00 34 73 74 61 74 69 63 20 | rface_configure};.......4static. |
| 204c0 | 76 6f 69 64 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 72 28 69 6e 74 20 77 69 64 74 68 2c 20 | void.allocate_buffer(int.width,. |
| 204e0 | 69 6e 74 20 68 65 69 67 68 74 29 20 7b 00 00 00 0f 20 20 69 66 20 28 62 75 66 66 65 72 29 20 7b | int.height).{......if.(buffer).{ |
| 20500 | 00 00 00 1e 20 20 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 62 75 66 66 65 72 | ........wl_buffer_destroy(buffer |
| 20520 | 29 3b 00 00 00 2f 20 20 20 20 6d 75 6e 6d 61 70 28 70 69 78 65 6c 73 2c 20 62 75 66 5f 77 69 64 | );.../....munmap(pixels,.buf_wid |
| 20540 | 74 68 20 2a 20 62 75 66 5f 68 65 69 67 68 74 20 2a 20 34 29 3b 00 00 00 03 20 20 7d 00 00 00 14 | th.*.buf_height.*.4);......}.... |
| 20560 | 20 20 62 75 66 5f 77 69 64 74 68 20 3d 20 77 69 64 74 68 3b 00 00 00 16 20 20 62 75 66 5f 68 65 | ..buf_width.=.width;......buf_he |
| 20580 | 69 67 68 74 20 3d 20 68 65 69 67 68 74 3b 00 00 00 19 20 20 69 6e 74 20 73 74 72 69 64 65 20 3d | ight.=.height;......int.stride.= |
| 205a0 | 20 77 69 64 74 68 20 2a 20 34 3b 00 00 00 1d 20 20 69 6e 74 20 73 69 7a 65 20 3d 20 73 74 72 69 | .width.*.4;......int.size.=.stri |
| 205c0 | 64 65 20 2a 20 68 65 69 67 68 74 3b 00 00 00 21 20 20 69 6e 74 20 66 64 20 3d 20 63 72 65 61 74 | de.*.height;...!..int.fd.=.creat |
| 205e0 | 65 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 29 3b 00 00 00 47 20 20 70 69 78 65 6c 73 20 3d 20 | e_shm_file(size);...G..pixels.=. |
| 20600 | 6d 6d 61 70 28 4e 55 4c 4c 2c 20 73 69 7a 65 2c 20 50 52 4f 54 5f 52 45 41 44 20 7c 20 50 52 4f | mmap(NULL,.size,.PROT_READ.|.PRO |
| 20620 | 54 5f 57 52 49 54 45 2c 20 4d 41 50 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 1d | T_WRITE,.MAP_SHARED,.fd,.0);.... |
| 20640 | 20 20 69 66 20 28 70 69 78 65 6c 73 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 20 7b 00 00 00 | ..if.(pixels.==.MAP_FAILED).{... |
| 20660 | 13 20 20 20 20 70 65 72 72 6f 72 28 22 6d 6d 61 70 22 29 3b 00 00 00 0c 20 20 20 20 65 78 69 74 | .....perror("mmap");........exit |
| 20680 | 28 31 29 3b 00 00 00 03 20 20 7d 00 00 00 3f 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 5f 70 | (1);......}...?..struct.wl_shm_p |
| 206a0 | 6f 6f 6c 20 2a 70 6f 6f 6c 20 3d 20 77 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f 70 6f 6f 6c 28 73 | ool.*pool.=.wl_shm_create_pool(s |
| 206c0 | 68 6d 2c 20 66 64 2c 20 73 69 7a 65 29 3b 00 00 00 44 20 20 62 75 66 66 65 72 20 3d 20 77 6c 5f | hm,.fd,.size);...D..buffer.=.wl_ |
| 206e0 | 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,. |
| 20700 | 77 69 64 74 68 2c 20 68 65 69 67 68 74 2c 20 73 74 72 69 64 65 2c 00 00 00 3d 20 20 20 20 20 20 | width,.height,.stride,...=...... |
| 20720 | 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 |
| 20740 | 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 2b 20 20 77 6c 5f | L_SHM_FORMAT_ARGB8888);...+..wl_ |
| 20760 | 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 73 75 72 66 61 63 65 2c 20 62 75 66 66 65 72 2c 20 | surface_attach(surface,.buffer,. |
| 20780 | 30 2c 20 30 29 3b 00 00 00 1d 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 73 75 | 0,.0);......wl_surface_commit(su |
| 207a0 | 72 66 61 63 65 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 44 73 74 61 74 69 63 20 76 6f 69 64 20 | rface);....}.......Dstatic.void. |
| 207c0 | 64 72 61 77 5f 70 69 78 65 6c 28 69 6e 74 20 78 2c 20 69 6e 74 20 79 2c 20 69 6e 74 20 77 2c 20 | draw_pixel(int.x,.int.y,.int.w,. |
| 207e0 | 69 6e 74 20 68 2c 20 75 69 6e 74 33 32 5f 74 20 63 6f 6c 6f 72 29 20 7b 00 00 00 29 20 20 69 66 | int.h,.uint32_t.color).{...)..if |
| 20800 | 20 28 78 20 3e 3d 20 30 20 26 26 20 78 20 3c 20 77 20 26 26 20 79 20 3e 3d 20 30 20 26 26 20 79 | .(x.>=.0.&&.x.<.w.&&.y.>=.0.&&.y |
| 20820 | 20 3c 20 68 29 00 00 00 2c 20 20 20 20 28 28 75 69 6e 74 33 32 5f 74 20 2a 29 70 69 78 65 6c 73 | .<.h)...,....((uint32_t.*)pixels |
| 20840 | 29 5b 79 20 2a 20 77 20 2b 20 78 5d 20 3d 20 63 6f 6c 6f 72 3b 00 00 00 01 7d 00 00 00 00 00 00 | )[y.*.w.+.x].=.color;....}...... |
| 20860 | 00 49 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 6c 69 6e 65 28 75 69 6e 74 33 32 5f 74 | .Istatic.void.draw_line(uint32_t |
| 20880 | 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 78 30 2c 20 69 6e 74 20 | .*px,.int.w,.int.h,.int.x0,.int. |
| 208a0 | 79 30 2c 20 69 6e 74 20 78 31 2c 00 00 00 2f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | y0,.int.x1,.../................. |
| 208c0 | 20 20 20 20 20 69 6e 74 20 79 31 2c 20 75 69 6e 74 33 32 5f 74 20 63 6f 6c 6f 72 29 20 7b 00 00 | .....int.y1,.uint32_t.color).{.. |
| 208e0 | 00 2f 20 20 69 6e 74 20 64 78 20 3d 20 61 62 73 28 78 31 20 2d 20 78 30 29 2c 20 73 78 20 3d 20 | ./..int.dx.=.abs(x1.-.x0),.sx.=. |
| 20900 | 78 30 20 3c 20 78 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 30 20 20 69 6e 74 20 64 79 20 3d 20 | x0.<.x1.?.1.:.-1;...0..int.dy.=. |
| 20920 | 2d 61 62 73 28 79 31 20 2d 20 79 30 29 2c 20 73 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 31 20 | -abs(y1.-.y0),.sy.=.y0.<.y1.?.1. |
| 20940 | 3a 20 2d 31 3b 00 00 00 18 20 20 69 6e 74 20 65 72 72 20 3d 20 64 78 20 2b 20 64 79 2c 20 65 32 | :.-1;......int.err.=.dx.+.dy,.e2 |
| 20960 | 3b 00 00 00 0d 20 20 77 68 69 6c 65 20 28 31 29 20 7b 00 00 00 2f 20 20 20 20 69 66 20 28 78 30 | ;......while.(1).{.../....if.(x0 |
| 20980 | 20 3e 3d 20 30 20 26 26 20 78 30 20 3c 20 77 20 26 26 20 79 30 20 3e 3d 20 30 20 26 26 20 79 30 | .>=.0.&&.x0.<.w.&&.y0.>=.0.&&.y0 |
| 209a0 | 20 3c 20 68 29 00 00 00 1e 20 20 20 20 20 20 70 78 5b 79 30 20 2a 20 77 20 2b 20 78 30 5d 20 3d | .<.h)..........px[y0.*.w.+.x0].= |
| 209c0 | 20 63 6f 6c 6f 72 3b 00 00 00 1d 20 20 20 20 69 66 20 28 78 30 20 3d 3d 20 78 31 20 26 26 20 79 | .color;........if.(x0.==.x1.&&.y |
| 209e0 | 30 20 3d 3d 20 79 31 29 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 11 20 20 20 20 | 0.==.y1)..........break;........ |
| 20a00 | 65 32 20 3d 20 32 20 2a 20 65 72 72 3b 00 00 00 13 20 20 20 20 69 66 20 28 65 32 20 3e 3d 20 64 | e2.=.2.*.err;........if.(e2.>=.d |
| 20a20 | 79 29 20 7b 00 00 00 10 20 20 20 20 20 20 65 72 72 20 2b 3d 20 64 79 3b 00 00 00 0f 20 20 20 20 | y).{..........err.+=.dy;........ |
| 20a40 | 20 20 78 30 20 2b 3d 20 73 78 3b 00 00 00 05 20 20 20 20 7d 00 00 00 13 20 20 20 20 69 66 20 28 | ..x0.+=.sx;........}........if.( |
| 20a60 | 65 32 20 3c 3d 20 64 78 29 20 7b 00 00 00 10 20 20 20 20 20 20 65 72 72 20 2b 3d 20 64 78 3b 00 | e2.<=.dx).{..........err.+=.dx;. |
| 20a80 | 00 00 0f 20 20 20 20 20 20 79 30 20 2b 3d 20 73 79 3b 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 | .........y0.+=.sy;........}..... |
| 20aa0 | 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 4a 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f | .}....}.......Jstatic.void.draw_ |
| 20ac0 | 63 69 72 63 6c 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 | circle(uint32_t.*px,.int.w,.int. |
| 20ae0 | 68 2c 20 69 6e 74 20 63 78 2c 20 69 6e 74 20 63 79 2c 20 69 6e 74 20 72 2c 00 00 00 29 20 20 20 | h,.int.cx,.int.cy,.int.r,...)... |
| 20b00 | 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 63 6f | .....................uint32_t.co |
| 20b20 | 6c 6f 72 29 20 7b 00 00 00 13 20 20 69 6e 74 20 78 20 3d 20 72 2c 20 79 20 3d 20 30 3b 00 00 00 | lor).{......int.x.=.r,.y.=.0;... |
| 20b40 | 0e 20 20 69 6e 74 20 65 72 72 20 3d 20 30 3b 00 00 00 12 20 20 77 68 69 6c 65 20 28 78 20 3e 3d | ...int.err.=.0;......while.(x.>= |
| 20b60 | 20 79 29 20 7b 00 00 00 2c 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 63 78 20 2b 20 78 2c 20 | .y).{...,....draw_pixel(cx.+.x,. |
| 20b80 | 63 79 20 2b 20 79 2c 20 77 2c 20 68 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 2c 20 20 20 20 64 72 61 | cy.+.y,.w,.h,.color);...,....dra |
| 20ba0 | 77 5f 70 69 78 65 6c 28 63 78 20 2b 20 79 2c 20 63 79 20 2b 20 78 2c 20 77 2c 20 68 2c 20 63 6f | w_pixel(cx.+.y,.cy.+.x,.w,.h,.co |
| 20bc0 | 6c 6f 72 29 3b 00 00 00 2c 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 63 78 20 2d 20 79 2c 20 | lor);...,....draw_pixel(cx.-.y,. |
| 20be0 | 63 79 20 2b 20 78 2c 20 77 2c 20 68 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 2c 20 20 20 20 64 72 61 | cy.+.x,.w,.h,.color);...,....dra |
| 20c00 | 77 5f 70 69 78 65 6c 28 63 78 20 2d 20 78 2c 20 63 79 20 2b 20 79 2c 20 77 2c 20 68 2c 20 63 6f | w_pixel(cx.-.x,.cy.+.y,.w,.h,.co |
| 20c20 | 6c 6f 72 29 3b 00 00 00 2c 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 63 78 20 2d 20 78 2c 20 | lor);...,....draw_pixel(cx.-.x,. |
| 20c40 | 63 79 20 2d 20 79 2c 20 77 2c 20 68 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 2c 20 20 20 20 64 72 61 | cy.-.y,.w,.h,.color);...,....dra |
| 20c60 | 77 5f 70 69 78 65 6c 28 63 78 20 2d 20 79 2c 20 63 79 20 2d 20 78 2c 20 77 2c 20 68 2c 20 63 6f | w_pixel(cx.-.y,.cy.-.x,.w,.h,.co |
| 20c80 | 6c 6f 72 29 3b 00 00 00 2c 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 63 78 20 2b 20 79 2c 20 | lor);...,....draw_pixel(cx.+.y,. |
| 20ca0 | 63 79 20 2d 20 78 2c 20 77 2c 20 68 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 2c 20 20 20 20 64 72 61 | cy.-.x,.w,.h,.color);...,....dra |
| 20cc0 | 77 5f 70 69 78 65 6c 28 63 78 20 2b 20 78 2c 20 63 79 20 2d 20 79 2c 20 77 2c 20 68 2c 20 63 6f | w_pixel(cx.+.x,.cy.-.y,.w,.h,.co |
| 20ce0 | 6c 6f 72 29 3b 00 00 00 08 20 20 20 20 79 2b 2b 3b 00 00 00 13 20 20 20 20 69 66 20 28 65 72 72 | lor);........y++;........if.(err |
| 20d00 | 20 3c 3d 20 30 29 20 7b 00 00 00 17 20 20 20 20 20 20 65 72 72 20 2b 3d 20 32 20 2a 20 79 20 2b | .<=.0).{..........err.+=.2.*.y.+ |
| 20d20 | 20 31 3b 00 00 00 05 20 20 20 20 7d 00 00 00 12 20 20 20 20 69 66 20 28 65 72 72 20 3e 20 30 29 | .1;........}........if.(err.>.0) |
| 20d40 | 20 7b 00 00 00 0a 20 20 20 20 20 20 78 2d 2d 3b 00 00 00 17 20 20 20 20 20 20 65 72 72 20 2d 3d | .{..........x--;..........err.-= |
| 20d60 | 20 32 20 2a 20 78 20 2b 20 31 3b 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 01 7d | .2.*.x.+.1;........}......}....} |
| 20d80 | 00 00 00 00 00 00 00 1a 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 63 6c 6f 63 6b 28 29 | ........static.void.draw_clock() |
| 20da0 | 20 7b 00 00 00 0e 20 20 69 66 20 28 21 70 69 78 65 6c 73 29 00 00 00 0b 20 20 20 20 72 65 74 75 | .{......if.(!pixels)........retu |
| 20dc0 | 72 6e 3b 00 00 00 24 20 20 69 6e 74 20 77 20 3d 20 62 75 66 5f 77 69 64 74 68 2c 20 68 20 3d 20 | rn;...$..int.w.=.buf_width,.h.=. |
| 20de0 | 62 75 66 5f 68 65 69 67 68 74 3b 00 00 00 18 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 78 20 3d 20 | buf_height;......uint32_t.*px.=. |
| 20e00 | 70 69 78 65 6c 73 3b 00 00 00 1d 20 20 69 6e 74 20 63 78 20 3d 20 77 20 2f 20 32 2c 20 63 79 20 | pixels;......int.cx.=.w./.2,.cy. |
| 20e20 | 3d 20 68 20 2f 20 32 3b 00 00 00 23 20 20 69 6e 74 20 72 20 3d 20 28 77 20 3c 20 68 20 3f 20 77 | =.h./.2;...#..int.r.=.(w.<.h.?.w |
| 20e40 | 20 3a 20 68 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 00 21 20 20 66 6f 72 20 28 69 6e 74 20 69 20 | .:.h)./.2.-.10;...!..for.(int.i. |
| 20e60 | 3d 20 30 3b 20 69 20 3c 20 77 20 2a 20 68 3b 20 69 2b 2b 29 00 00 00 17 20 20 20 20 70 78 5b 69 | =.0;.i.<.w.*.h;.i++)........px[i |
| 20e80 | 5d 20 3d 20 30 78 66 66 66 66 66 66 66 66 3b 00 00 00 2f 20 20 64 72 61 77 5f 63 69 72 63 6c 65 | ].=.0xffffffff;.../..draw_circle |
| 20ea0 | 28 70 78 2c 20 77 2c 20 68 2c 20 63 78 2c 20 63 79 2c 20 72 2c 20 30 78 66 66 30 30 30 30 30 30 | (px,.w,.h,.cx,.cy,.r,.0xff000000 |
| 20ec0 | 29 3b 00 00 00 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 31 32 3b 20 | );......for.(int.i.=.0;.i.<.12;. |
| 20ee0 | 69 2b 2b 29 20 7b 00 00 00 2d 20 20 20 20 64 6f 75 62 6c 65 20 61 6e 67 6c 65 20 3d 20 69 20 2a | i++).{...-....double.angle.=.i.* |
| 20f00 | 20 4d 5f 50 49 20 2f 20 36 2e 30 20 2d 20 4d 5f 50 49 20 2f 20 32 3b 00 00 00 2e 20 20 20 20 69 | .M_PI./.6.0.-.M_PI./.2;........i |
| 20f20 | 6e 74 20 78 30 20 3d 20 63 78 20 2b 20 28 69 6e 74 29 28 28 72 20 2d 20 35 29 20 2a 20 63 6f 73 | nt.x0.=.cx.+.(int)((r.-.5).*.cos |
| 20f40 | 28 61 6e 67 6c 65 29 29 3b 00 00 00 2e 20 20 20 20 69 6e 74 20 79 30 20 3d 20 63 79 20 2b 20 28 | (angle));........int.y0.=.cy.+.( |
| 20f60 | 69 6e 74 29 28 28 72 20 2d 20 35 29 20 2a 20 73 69 6e 28 61 6e 67 6c 65 29 29 3b 00 00 00 28 20 | int)((r.-.5).*.sin(angle));...(. |
| 20f80 | 20 20 20 69 6e 74 20 78 31 20 3d 20 63 78 20 2b 20 28 69 6e 74 29 28 72 20 2a 20 63 6f 73 28 61 | ...int.x1.=.cx.+.(int)(r.*.cos(a |
| 20fa0 | 6e 67 6c 65 29 29 3b 00 00 00 28 20 20 20 20 69 6e 74 20 79 31 20 3d 20 63 79 20 2b 20 28 69 6e | ngle));...(....int.y1.=.cy.+.(in |
| 20fc0 | 74 29 28 72 20 2a 20 73 69 6e 28 61 6e 67 6c 65 29 29 3b 00 00 00 34 20 20 20 20 64 72 61 77 5f | t)(r.*.sin(angle));...4....draw_ |
| 20fe0 | 6c 69 6e 65 28 70 78 2c 20 77 2c 20 68 2c 20 78 30 2c 20 79 30 2c 20 78 31 2c 20 79 31 2c 20 30 | line(px,.w,.h,.x0,.y0,.x1,.y1,.0 |
| 21000 | 78 66 66 30 30 30 30 30 30 29 3b 00 00 00 03 20 20 7d 00 00 00 18 20 20 74 69 6d 65 5f 74 20 74 | xff000000);......}......time_t.t |
| 21020 | 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 20 20 20 73 74 72 75 63 74 20 74 6d 20 2a 74 | .=.time(NULL);......struct.tm.*t |
| 21040 | 6d 20 3d 20 6c 6f 63 61 6c 74 69 6d 65 28 26 74 29 3b 00 00 00 15 20 20 64 6f 75 62 6c 65 20 68 | m.=.localtime(&t);......double.h |
| 21060 | 6f 75 72 5f 61 6e 67 6c 65 20 3d 00 00 00 45 20 20 20 20 20 20 28 74 6d 2d 3e 74 6d 5f 68 6f 75 | our_angle.=...E......(tm->tm_hou |
| 21080 | 72 20 25 20 31 32 20 2b 20 74 6d 2d 3e 74 6d 5f 6d 69 6e 20 2f 20 36 30 2e 30 29 20 2a 20 4d 5f | r.%.12.+.tm->tm_min./.60.0).*.M_ |
| 210a0 | 50 49 20 2f 20 36 2e 30 20 2d 20 4d 5f 50 49 20 2f 20 32 3b 00 00 00 4f 20 20 64 6f 75 62 6c 65 | PI./.6.0.-.M_PI./.2;...O..double |
| 210c0 | 20 6d 69 6e 5f 61 6e 67 6c 65 20 3d 20 28 74 6d 2d 3e 74 6d 5f 6d 69 6e 20 2b 20 74 6d 2d 3e 74 | .min_angle.=.(tm->tm_min.+.tm->t |
| 210e0 | 6d 5f 73 65 63 20 2f 20 36 30 2e 30 29 20 2a 20 4d 5f 50 49 20 2f 20 33 30 2e 30 20 2d 20 4d 5f | m_sec./.60.0).*.M_PI./.30.0.-.M_ |
| 21100 | 50 49 20 2f 20 32 3b 00 00 00 39 20 20 64 6f 75 62 6c 65 20 73 65 63 5f 61 6e 67 6c 65 20 3d 20 | PI./.2;...9..double.sec_angle.=. |
| 21120 | 74 6d 2d 3e 74 6d 5f 73 65 63 20 2a 20 4d 5f 50 49 20 2f 20 33 30 2e 30 20 2d 20 4d 5f 50 49 20 | tm->tm_sec.*.M_PI./.30.0.-.M_PI. |
| 21140 | 2f 20 32 3b 00 00 00 44 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 77 2c 20 68 2c 20 63 78 | /.2;...D..draw_line(px,.w,.h,.cx |
| 21160 | 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 72 20 2a 20 30 2e 35 20 2a 20 63 6f 73 28 68 | ,.cy,.cx.+.(int)(r.*.0.5.*.cos(h |
| 21180 | 6f 75 72 5f 61 6e 67 6c 65 29 29 2c 00 00 00 3f 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b | our_angle)),...?............cy.+ |
| 211a0 | 20 28 69 6e 74 29 28 72 20 2a 20 30 2e 35 20 2a 20 73 69 6e 28 68 6f 75 72 5f 61 6e 67 6c 65 29 | .(int)(r.*.0.5.*.sin(hour_angle) |
| 211c0 | 29 2c 20 30 78 66 66 30 30 30 30 30 30 29 3b 00 00 00 43 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 | ),.0xff000000);...C..draw_line(p |
| 211e0 | 78 2c 20 77 2c 20 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 72 20 2a 20 | x,.w,.h,.cx,.cy,.cx.+.(int)(r.*. |
| 21200 | 30 2e 37 20 2a 20 63 6f 73 28 6d 69 6e 5f 61 6e 67 6c 65 29 29 2c 00 00 00 3e 20 20 20 20 20 20 | 0.7.*.cos(min_angle)),...>...... |
| 21220 | 20 20 20 20 20 20 63 79 20 2b 20 28 69 6e 74 29 28 72 20 2a 20 30 2e 37 20 2a 20 73 69 6e 28 6d | ......cy.+.(int)(r.*.0.7.*.sin(m |
| 21240 | 69 6e 5f 61 6e 67 6c 65 29 29 2c 20 30 78 66 66 30 30 30 30 30 30 29 3b 00 00 00 43 20 20 64 72 | in_angle)),.0xff000000);...C..dr |
| 21260 | 61 77 5f 6c 69 6e 65 28 70 78 2c 20 77 2c 20 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 | aw_line(px,.w,.h,.cx,.cy,.cx.+.( |
| 21280 | 69 6e 74 29 28 72 20 2a 20 30 2e 39 20 2a 20 63 6f 73 28 73 65 63 5f 61 6e 67 6c 65 29 29 2c 00 | int)(r.*.0.9.*.cos(sec_angle)),. |
| 212a0 | 00 00 3e 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 28 69 6e 74 29 28 72 20 2a 20 30 2e | ..>............cy.+.(int)(r.*.0. |
| 212c0 | 39 20 2a 20 73 69 6e 28 73 65 63 5f 61 6e 67 6c 65 29 29 2c 20 30 78 66 66 66 66 30 30 30 30 29 | 9.*.sin(sec_angle)),.0xffff0000) |
| 212e0 | 3b 00 00 00 2b 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 | ;...+..wl_surface_attach(surface |
| 21300 | 2c 20 62 75 66 66 65 72 2c 20 30 2c 20 30 29 3b 00 00 00 29 20 20 77 6c 5f 73 75 72 66 61 63 65 | ,.buffer,.0,.0);...)..wl_surface |
| 21320 | 5f 64 61 6d 61 67 65 28 73 75 72 66 61 63 65 2c 20 30 2c 20 30 2c 20 77 2c 20 68 29 3b 00 00 00 | _damage(surface,.0,.0,.w,.h);... |
| 21340 | 1d 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 00 | ...wl_surface_commit(surface);.. |
| 21360 | 00 01 7d 00 00 00 00 00 00 00 49 73 74 61 74 69 63 20 76 6f 69 64 20 74 6f 70 6c 65 76 65 6c 5f | ..}.......Istatic.void.toplevel_ |
| 21380 | 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 20 78 64 67 | configure(void.*data,.struct.xdg |
| 213a0 | 5f 74 6f 70 6c 65 76 65 6c 20 2a 74 6f 70 6c 65 76 65 6c 2c 00 00 00 3d 20 20 20 20 20 20 20 20 | _toplevel.*toplevel,...=........ |
| 213c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 33 32 5f 74 20 77 | .......................int32_t.w |
| 213e0 | 69 64 74 68 2c 20 69 6e 74 33 32 5f 74 20 68 65 69 67 68 74 2c 00 00 00 39 20 20 20 20 20 20 20 | idth,.int32_t.height,...9....... |
| 21400 | 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 |
| 21420 | 6c 5f 61 72 72 61 79 20 2a 73 74 61 74 65 73 29 20 7b 00 00 00 1e 20 20 69 66 20 28 77 69 64 74 | l_array.*states).{......if.(widt |
| 21440 | 68 20 3e 20 30 20 26 26 20 68 65 69 67 68 74 20 3e 20 30 29 00 00 00 23 20 20 20 20 61 6c 6c 6f | h.>.0.&&.height.>.0)...#....allo |
| 21460 | 63 61 74 65 5f 62 75 66 66 65 72 28 77 69 64 74 68 2c 20 68 65 69 67 68 74 29 3b 00 00 00 01 7d | cate_buffer(width,.height);....} |
| 21480 | 00 00 00 00 00 00 00 47 73 74 61 74 69 63 20 76 6f 69 64 20 74 6f 70 6c 65 76 65 6c 5f 63 6c 6f | .......Gstatic.void.toplevel_clo |
| 214a0 | 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 74 6f 70 6c 65 76 | se(void.*data,.struct.xdg_toplev |
| 214c0 | 65 6c 20 2a 74 6f 70 6c 65 76 65 6c 29 20 7b 00 00 00 0e 20 20 72 75 6e 6e 69 6e 67 20 3d 20 30 | el.*toplevel).{......running.=.0 |
| 214e0 | 3b 00 00 00 01 7d 00 00 00 00 00 00 00 3f 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 | ;....}.......?static.const.struc |
| 21500 | 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 74 6f 70 6c 65 76 65 6c | t.xdg_toplevel_listener.toplevel |
| 21520 | 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 3e 20 20 20 20 2e 63 6f 6e 66 69 67 75 72 65 20 | _listener.=.{...>.....configure. |
| 21540 | 3d 20 74 6f 70 6c 65 76 65 6c 5f 63 6f 6e 66 69 67 75 72 65 2c 20 2e 63 6c 6f 73 65 20 3d 20 74 | =.toplevel_configure,..close.=.t |
| 21560 | 6f 70 6c 65 76 65 6c 5f 63 6c 6f 73 65 7d 3b 00 00 00 00 00 00 00 46 73 74 61 74 69 63 20 76 6f | oplevel_close};.......Fstatic.vo |
| 21580 | 69 64 20 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 | id.registry_handler(void.*data,. |
| 215a0 | 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 00 00 00 | struct.wl_registry.*registry,... |
| 215c0 | 40 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 |
| 215e0 | 6e 74 33 32 5f 74 20 69 64 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 6e 74 65 72 66 61 63 65 | nt32_t.id,.const.char.*interface |
| 21600 | 2c 00 00 00 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ,...0........................... |
| 21620 | 20 20 75 69 6e 74 33 32 5f 74 20 76 65 72 73 69 6f 6e 29 20 7b 00 00 00 2e 20 20 69 66 20 28 73 | ..uint32_t.version).{......if.(s |
| 21640 | 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 69 74 6f 72 22 | trcmp(interface,."wl_compositor" |
| 21660 | 29 20 3d 3d 20 30 29 00 00 00 4d 20 20 20 20 63 6f 6d 70 6f 73 69 74 6f 72 20 3d 20 77 6c 5f 72 | ).==.0)...M....compositor.=.wl_r |
| 21680 | 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 69 64 2c 20 26 77 6c 5f 63 | egistry_bind(registry,.id,.&wl_c |
| 216a0 | 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 2c 20 20 65 6c | ompositor_interface,.4);...,..el |
| 216c0 | 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 68 6d | se.if.(strcmp(interface,."wl_shm |
| 216e0 | 22 29 20 3d 3d 20 30 29 00 00 00 3f 20 20 20 20 73 68 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 | ").==.0)...?....shm.=.wl_registr |
| 21700 | 79 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 69 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 | y_bind(registry,.id,.&wl_shm_int |
| 21720 | 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 33 20 20 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d 70 | erface,.1);...3..else.if.(strcmp |
| 21740 | 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 3d 3d 20 30 29 | (interface,."xdg_wm_base").==.0) |
| 21760 | 20 7b 00 00 00 48 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 | .{...H....wm_base.=.wl_registry_ |
| 21780 | 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 69 64 2c 20 26 78 64 67 5f 77 6d 5f 62 61 73 65 5f | bind(registry,.id,.&xdg_wm_base_ |
| 217a0 | 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 3f 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 | interface,.1);...?....xdg_wm_bas |
| 217c0 | 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 73 65 | e_add_listener(wm_base,.&wm_base |
| 217e0 | 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 | _listener,.NULL);......}....}... |
| 21800 | 00 00 00 00 4f 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 | ....Ostatic.const.struct.wl_regi |
| 21820 | 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. |
| 21840 | 3d 20 7b 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 2c 00 00 00 44 20 20 20 20 20 20 20 20 | =.{registry_handler,...D........ |
| 21860 | 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 | ................................ |
| 21880 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 55 4c 4c 7d 3b 00 00 00 00 | ......................NULL};.... |
| 218a0 | 00 00 00 0c 69 6e 74 20 6d 61 69 6e 28 29 20 7b 00 00 00 25 20 20 64 69 73 70 6c 61 79 20 3d 20 | ....int.main().{...%..display.=. |
| 218c0 | 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 11 20 20 69 | wl_display_connect(NULL);......i |
| 218e0 | 66 20 28 21 64 69 73 70 6c 61 79 29 20 7b 00 00 00 3e 20 20 20 20 66 70 72 69 6e 74 66 28 73 74 | f.(!display).{...>....fprintf(st |
| 21900 | 64 65 72 72 2c 20 22 46 61 69 6c 65 64 20 74 6f 20 63 6f 6e 6e 65 63 74 20 74 6f 20 57 61 79 6c | derr,."Failed.to.connect.to.Wayl |
| 21920 | 61 6e 64 20 64 69 73 70 6c 61 79 5c 6e 22 29 3b 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 | and.display\n");........return.1 |
| 21940 | 3b 00 00 00 03 20 20 7d 00 00 00 2e 20 20 72 65 67 69 73 74 72 79 20 3d 20 77 6c 5f 64 69 73 70 | ;......}......registry.=.wl_disp |
| 21960 | 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 3f 20 20 | lay_get_registry(display);...?.. |
| 21980 | 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 |
| 219a0 | 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);... |
| 219c0 | 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 79 29 | ...wl_display_roundtrip(display) |
| 219e0 | 3b 00 00 00 28 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 | ;...(..if.(!compositor.||.!shm.| |
| 21a00 | 7c 20 21 77 6d 5f 62 61 73 65 29 20 7b 00 00 00 31 20 20 20 20 66 70 72 69 6e 74 66 28 73 74 64 | |.!wm_base).{...1....fprintf(std |
| 21a20 | 65 72 72 2c 20 22 4d 69 73 73 69 6e 67 20 57 61 79 6c 61 6e 64 20 67 6c 6f 62 61 6c 73 5c 6e 22 | err,."Missing.Wayland.globals\n" |
| 21a40 | 29 3b 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 03 20 20 7d 00 00 00 35 20 20 | );........return.1;......}...5.. |
| 21a60 | 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 |
| 21a80 | 75 72 66 61 63 65 28 63 6f 6d 70 6f 73 69 74 6f 72 29 3b 00 00 00 3e 20 20 78 64 67 5f 73 75 72 | urface(compositor);...>..xdg_sur |
| 21aa0 | 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 66 61 | face.=.xdg_wm_base_get_xdg_surfa |
| 21ac0 | 63 65 28 77 6d 5f 62 61 73 65 2c 20 73 75 72 66 61 63 65 29 3b 00 00 00 45 20 20 78 64 67 5f 73 | ce(wm_base,.surface);...E..xdg_s |
| 21ae0 | 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 2c | urface_add_listener(xdg_surface, |
| 21b00 | 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 00 | .&xdg_surface_listener,.NULL);.. |
| 21b20 | 00 33 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 | .3..toplevel.=.xdg_surface_get_t |
| 21b40 | 6f 70 6c 65 76 65 6c 28 78 64 67 5f 73 75 72 66 61 63 65 29 3b 00 00 00 40 20 20 78 64 67 5f 74 | oplevel(xdg_surface);...@..xdg_t |
| 21b60 | 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,.& |
| 21b80 | 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 2d 20 20 78 | toplevel_listener,.NULL);...-..x |
| 21ba0 | 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 2c 20 | dg_toplevel_set_title(toplevel,. |
| 21bc0 | 22 78 63 6c 6f 63 6b 22 29 3b 00 00 00 1d 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 | "xclock");......wl_surface_commi |
| 21be0 | 74 28 73 75 72 66 61 63 65 29 3b 00 00 00 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e | t(surface);......wl_display_roun |
| 21c00 | 64 74 72 69 70 28 64 69 73 70 6c 61 79 29 3b 00 00 00 13 20 20 77 68 69 6c 65 20 28 72 75 6e 6e | dtrip(display);......while.(runn |
| 21c20 | 69 6e 67 29 20 7b 00 00 00 29 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 | ing).{...)....wl_display_dispatc |
| 21c40 | 68 5f 70 65 6e 64 69 6e 67 28 64 69 73 70 6c 61 79 29 3b 00 00 00 11 20 20 20 20 64 72 61 77 5f | h_pending(display);........draw_ |
| 21c60 | 63 6c 6f 63 6b 28 29 3b 00 00 00 19 20 20 20 20 75 73 6c 65 65 70 28 31 30 30 30 30 30 30 20 2f | clock();........usleep(1000000./ |
| 21c80 | 20 36 30 29 3b 00 00 00 03 20 20 7d 00 00 00 0b 20 20 72 65 74 75 72 6e 20 30 3b 00 00 00 01 7d | .60);......}......return.0;....} |
| 21ca0 | 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 de 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 | 5............................... |
| 21cc0 | 00 00 00 00 00 00 00 00 81 1b 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 36 | ........................5._....6 |
| 21ce0 | 00 00 00 38 00 00 00 00 00 00 00 00 00 00 00 37 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff | ...8...........7................ |
| 21d00 | 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 21d20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 21d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 21d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 21d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 21da0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 21dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 21de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 21e00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 21e20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 21e40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d | ..............................i. |
| 21e60 | 8a 75 04 01 00 00 00 00 00 f5 18 00 00 00 a9 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 7d | .u.............................} |
| 21e80 | f5 18 00 00 00 aa 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 77 00 00 00 00 00 00 00 00 | .......................w........ |
| 21ea0 | 00 00 00 01 00 00 00 03 20 20 20 f5 18 00 00 00 78 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 | ................x............... |
| 21ec0 | 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 00 | ................................ |
| 21ee0 | 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 77 00 00 | .....5.......................w.. |
| 21f00 | 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 00 00 00 f5 18 00 | ................................ |
| 21f20 | 00 00 00 77 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 32 00 00 00 01 00 00 00 00 10 00 00 00 | ...w...............2............ |
| 21f40 | 00 00 00 00 00 00 00 00 00 00 00 d3 09 00 00 00 00 00 00 35 81 5f d0 00 00 00 37 00 00 00 00 00 | ...................5._....7..... |
| 21f60 | 00 00 00 00 00 00 00 00 00 00 38 00 00 00 aa 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 00 00 | ..........8..................... |
| 21f80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 21fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 21fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 21fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 22000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 22020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 22040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 22060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 22080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 220a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 220c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d 8a 76 04 01 00 | .........................i..v... |
| 220e0 | 00 00 18 00 f5 18 00 00 00 1a 00 00 00 dd 00 00 00 aa 00 00 00 8f 00 00 00 30 20 20 20 20 63 68 | .........................0....ch |
| 22100 | 61 72 20 74 65 6d 70 6c 61 74 65 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 61 79 6c 61 6e 64 2d 73 68 | ar.template[].=."/tmp/wayland-sh |
| 22120 | 6d 2d 58 58 58 58 58 58 22 3b 00 00 00 1f 20 20 20 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 | m-XXXXXX";........int.fd.=.mkste |
| 22140 | 6d 70 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 2f 20 20 20 20 69 66 20 28 66 64 20 3c 20 30 29 | mp(template);.../....if.(fd.<.0) |
| 22160 | 20 7b 20 70 65 72 72 6f 72 28 22 6d 6b 73 74 65 6d 70 22 29 3b 20 65 78 69 74 28 31 29 3b 20 7d | .{.perror("mkstemp");.exit(1);.} |
| 22180 | 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 42 20 20 20 | ........unlink(template);...B... |
| 221a0 | 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 73 69 7a 65 29 20 3c 20 30 29 20 7b 20 | .if.(ftruncate(fd,.size).<.0).{. |
| 221c0 | 70 65 72 72 6f 72 28 22 66 74 72 75 6e 63 61 74 65 22 29 3b 20 65 78 69 74 28 31 29 3b 20 7d 00 | perror("ftruncate");.exit(1);.}. |
| 221e0 | 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 00 00 54 73 74 | .......return.fd;....}.......Tst |
| 22200 | 61 74 69 63 20 76 6f 69 64 20 77 6d 5f 62 61 73 65 5f 70 69 6e 67 28 76 6f 69 64 20 2a 64 61 74 | atic.void.wm_base_ping(void.*dat |
| 22220 | 61 2c 20 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 2c 20 | a,.struct.xdg_wm_base.*wm_base,. |
| 22240 | 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 26 20 20 20 20 78 64 67 5f 77 6d | uint32_t.serial).{...&....xdg_wm |
| 22260 | 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 5f 62 61 73 65 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 01 | _base_pong(wm_base,.serial);.... |
| 22280 | 7d 00 00 00 00 00 00 00 4b 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 | }.......Kstatic.const.struct.xdg |
| 222a0 | 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 65 6e | _wm_base_listener.wm_base_listen |
| 222c0 | 65 72 20 3d 20 7b 77 6d 5f 62 61 73 65 5f 70 69 6e 67 7d 3b 00 00 00 00 00 00 00 61 73 74 61 74 | er.=.{wm_base_ping};.......astat |
| 222e0 | 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 |
| 22300 | 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 |
| 22320 | 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 20 7b 00 00 00 | g_surface,.uint32_t.serial).{... |
| 22340 | 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 65 28 78 | 3....xdg_surface_ack_configure(x |
| 22360 | 64 67 5f 73 75 72 66 61 63 65 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 1f 20 20 20 20 77 6c 5f 73 | dg_surface,.serial);........wl_s |
| 22380 | 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 00 | urface_commit(surface);....}.... |
| 223a0 | 00 00 00 58 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 | ...Xstatic.const.struct.xdg_surf |
| 223c0 | 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 6e 65 | ace_listener.xdg_surface_listene |
| 223e0 | 72 20 3d 20 7b 78 64 67 5f 73 75 72 66 61 63 65 5f 63 6f 6e 66 69 67 75 72 65 7d 3b 00 00 00 00 | r.=.{xdg_surface_configure};.... |
| 22400 | 00 00 00 34 73 74 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 72 28 | ...4static.void.allocate_buffer( |
| 22420 | 69 6e 74 20 77 69 64 74 68 2c 20 69 6e 74 20 68 65 69 67 68 74 29 20 7b 00 00 00 11 20 20 20 20 | int.width,.int.height).{........ |
| 22440 | 69 66 20 28 62 75 66 66 65 72 29 20 7b 00 00 00 22 20 20 20 20 20 20 20 20 77 6c 5f 62 75 66 66 | if.(buffer).{..."........wl_buff |
| 22460 | 65 72 5f 64 65 73 74 72 6f 79 28 62 75 66 66 65 72 29 3b 00 00 00 33 20 20 20 20 20 20 20 20 6d | er_destroy(buffer);...3........m |
| 22480 | 75 6e 6d 61 70 28 70 69 78 65 6c 73 2c 20 62 75 66 5f 77 69 64 74 68 20 2a 20 62 75 66 5f 68 65 | unmap(pixels,.buf_width.*.buf_he |
| 224a0 | 69 67 68 74 20 2a 20 34 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 16 20 20 20 20 62 75 66 5f 77 | ight.*.4);........}........buf_w |
| 224c0 | 69 64 74 68 20 3d 20 77 69 64 74 68 3b 00 00 00 18 20 20 20 20 62 75 66 5f 68 65 69 67 68 74 20 | idth.=.width;........buf_height. |
| 224e0 | 3d 20 68 65 69 67 68 74 3b 00 00 00 1b 20 20 20 20 69 6e 74 20 73 74 72 69 64 65 20 3d 20 77 69 | =.height;........int.stride.=.wi |
| 22500 | 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 74 72 69 64 | dth.*.4;........int.size.=.strid |
| 22520 | 65 20 2a 20 68 65 69 67 68 74 3b 00 00 00 23 20 20 20 20 69 6e 74 20 66 64 20 3d 20 63 72 65 61 | e.*.height;...#....int.fd.=.crea |
| 22540 | 74 65 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 29 3b 00 00 00 49 20 20 20 20 70 69 78 65 6c 73 | te_shm_file(size);...I....pixels |
| 22560 | 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 45 41 44 20 7c 20 | .=.mmap(NULL,.size,.PROT_READ.|. |
| 22580 | 50 52 4f 54 5f 57 52 49 54 45 2c 20 4d 41 50 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 | PROT_WRITE,.MAP_SHARED,.fd,.0);. |
| 225a0 | 00 00 3a 20 20 20 20 69 66 20 28 70 69 78 65 6c 73 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 | ..:....if.(pixels.==.MAP_FAILED) |
| 225c0 | 20 7b 20 70 65 72 72 6f 72 28 22 6d 6d 61 70 22 29 3b 20 65 78 69 74 28 31 29 3b 20 7d 00 00 00 | .{.perror("mmap");.exit(1);.}... |
| 225e0 | 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.=. |
| 22600 | 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 |
| 22620 | 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 5f 70 6f 6f 6c 5f 63 | );..._....buffer.=.wl_shm_pool_c |
| 22640 | 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 69 | reate_buffer(pool,.0,.width,.hei |
| 22660 | 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 54 5f 41 52 47 42 38 | ght,.stride,.WL_SHM_FORMAT_ARGB8 |
| 22680 | 38 38 38 29 3b 00 00 00 2d 20 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 73 | 888);...-....wl_surface_attach(s |
| 226a0 | 75 72 66 61 63 65 2c 20 62 75 66 66 65 72 2c 20 30 2c 20 30 29 3b 00 00 00 1f 20 20 20 20 77 6c | urface,.buffer,.0,.0);........wl |
| 226c0 | 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 01 7d 00 00 | _surface_commit(surface);....}.. |
| 226e0 | 00 00 00 00 00 44 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 70 69 78 65 6c 28 69 6e 74 | .....Dstatic.void.draw_pixel(int |
| 22700 | 20 78 2c 20 69 6e 74 20 79 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 75 69 6e 74 33 32 5f | .x,.int.y,.int.w,.int.h,.uint32_ |
| 22720 | 74 20 63 6f 6c 6f 72 29 20 7b 00 00 00 2b 20 20 20 20 69 66 20 28 78 20 3e 3d 20 30 20 26 26 20 | t.color).{...+....if.(x.>=.0.&&. |
| 22740 | 78 20 3c 20 77 20 26 26 20 79 20 3e 3d 20 30 20 26 26 20 79 20 3c 20 68 29 00 00 00 30 20 20 20 | x.<.w.&&.y.>=.0.&&.y.<.h)...0... |
| 22760 | 20 20 20 20 20 28 28 75 69 6e 74 33 32 5f 74 20 2a 29 70 69 78 65 6c 73 29 5b 79 20 2a 20 77 20 | .....((uint32_t.*)pixels)[y.*.w. |
| 22780 | 2b 20 78 5d 20 3d 20 63 6f 6c 6f 72 3b 00 00 00 01 7d 00 00 00 00 00 00 00 63 73 74 61 74 69 63 | +.x].=.color;....}.......cstatic |
| 227a0 | 20 76 6f 69 64 20 64 72 61 77 5f 6c 69 6e 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e | .void.draw_line(uint32_t.*px,.in |
| 227c0 | 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 78 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 | t.w,.int.h,.int.x0,.int.y0,.int. |
| 227e0 | 78 31 2c 20 69 6e 74 20 79 31 2c 20 75 69 6e 74 33 32 5f 74 20 63 6f 6c 6f 72 29 20 7b 00 00 00 | x1,.int.y1,.uint32_t.color).{... |
| 22800 | 31 20 20 20 20 69 6e 74 20 64 78 20 3d 20 61 62 73 28 78 31 20 2d 20 78 30 29 2c 20 73 78 20 3d | 1....int.dx.=.abs(x1.-.x0),.sx.= |
| 22820 | 20 78 30 20 3c 20 78 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 32 20 20 20 20 69 6e 74 20 64 79 | .x0.<.x1.?.1.:.-1;...2....int.dy |
| 22840 | 20 3d 20 2d 61 62 73 28 79 31 20 2d 20 79 30 29 2c 20 73 79 20 3d 20 79 30 20 3c 20 79 31 20 3f | .=.-abs(y1.-.y0),.sy.=.y0.<.y1.? |
| 22860 | 20 31 20 3a 20 2d 31 3b 00 00 00 1a 20 20 20 20 69 6e 74 20 65 72 72 20 3d 20 64 78 20 2b 20 64 | .1.:.-1;........int.err.=.dx.+.d |
| 22880 | 79 2c 20 65 32 3b 00 00 00 0f 20 20 20 20 77 68 69 6c 65 20 28 31 29 20 7b 00 00 00 4c 20 20 20 | y,.e2;........while.(1).{...L... |
| 228a0 | 20 20 20 20 20 69 66 20 28 78 30 20 3e 3d 20 30 20 26 26 20 78 30 20 3c 20 77 20 26 26 20 79 30 | .....if.(x0.>=.0.&&.x0.<.w.&&.y0 |
| 228c0 | 20 3e 3d 20 30 20 26 26 20 79 30 20 3c 20 68 29 20 70 78 5b 79 30 20 2a 20 77 20 2b 20 78 30 5d | .>=.0.&&.y0.<.h).px[y0.*.w.+.x0] |
| 228e0 | 20 3d 20 63 6f 6c 6f 72 3b 00 00 00 28 20 20 20 20 20 20 20 20 69 66 20 28 78 30 20 3d 3d 20 78 | .=.color;...(........if.(x0.==.x |
| 22900 | 31 20 26 26 20 79 30 20 3d 3d 20 79 31 29 20 62 72 65 61 6b 3b 00 00 00 15 20 20 20 20 20 20 20 | 1.&&.y0.==.y1).break;........... |
| 22920 | 20 65 32 20 3d 20 32 20 2a 20 65 72 72 3b 00 00 00 2e 20 20 20 20 20 20 20 20 69 66 20 28 65 32 | .e2.=.2.*.err;............if.(e2 |
| 22940 | 20 3e 3d 20 64 79 29 20 7b 20 65 72 72 20 2b 3d 20 64 79 3b 20 78 30 20 2b 3d 20 73 78 3b 20 7d | .>=.dy).{.err.+=.dy;.x0.+=.sx;.} |
| 22960 | 00 00 00 2e 20 20 20 20 20 20 20 20 69 66 20 28 65 32 20 3c 3d 20 64 78 29 20 7b 20 65 72 72 20 | ............if.(e2.<=.dx).{.err. |
| 22980 | 2b 3d 20 64 78 3b 20 79 30 20 2b 3d 20 73 79 3b 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d | +=.dx;.y0.+=.sy;.}........}....} |
| 229a0 | 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 69 72 63 6c 65 28 | .......\static.void.draw_circle( |
| 229c0 | 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 | uint32_t.*px,.int.w,.int.h,.int. |
| 229e0 | 63 78 2c 20 69 6e 74 20 63 79 2c 20 69 6e 74 20 72 2c 20 75 69 6e 74 33 32 5f 74 20 63 6f 6c 6f | cx,.int.cy,.int.r,.uint32_t.colo |
| 22a00 | 72 29 20 7b 00 00 00 1e 20 20 20 20 69 6e 74 20 78 20 3d 20 72 2c 20 79 20 3d 20 30 2c 20 65 72 | r).{........int.x.=.r,.y.=.0,.er |
| 22a20 | 72 20 3d 20 30 3b 00 00 00 14 20 20 20 20 77 68 69 6c 65 20 28 78 20 3e 3d 20 79 29 20 7b 00 00 | r.=.0;........while.(x.>=.y).{.. |
| 22a40 | 00 30 20 20 20 20 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 63 78 20 2b 20 78 2c 20 63 79 20 | .0........draw_pixel(cx.+.x,.cy. |
| 22a60 | 2b 20 79 2c 20 77 2c 20 68 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 30 20 20 20 20 20 20 20 20 64 72 | +.y,.w,.h,.color);...0........dr |
| 22a80 | 61 77 5f 70 69 78 65 6c 28 63 78 20 2b 20 79 2c 20 63 79 20 2b 20 78 2c 20 77 2c 20 68 2c 20 63 | aw_pixel(cx.+.y,.cy.+.x,.w,.h,.c |
| 22aa0 | 6f 6c 6f 72 29 3b 00 00 00 30 20 20 20 20 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 63 78 20 | olor);...0........draw_pixel(cx. |
| 22ac0 | 2d 20 79 2c 20 63 79 20 2b 20 78 2c 20 77 2c 20 68 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 30 20 20 | -.y,.cy.+.x,.w,.h,.color);...0.. |
| 22ae0 | 20 20 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 63 78 20 2d 20 78 2c 20 63 79 20 2b 20 79 2c | ......draw_pixel(cx.-.x,.cy.+.y, |
| 22b00 | 20 77 2c 20 68 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 30 20 20 20 20 20 20 20 20 64 72 61 77 5f 70 | .w,.h,.color);...0........draw_p |
| 22b20 | 69 78 65 6c 28 63 78 20 2d 20 78 2c 20 63 79 20 2d 20 79 2c 20 77 2c 20 68 2c 20 63 6f 6c 6f 72 | ixel(cx.-.x,.cy.-.y,.w,.h,.color |
| 22b40 | 29 3b 00 00 00 30 20 20 20 20 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 63 78 20 2d 20 79 2c | );...0........draw_pixel(cx.-.y, |
| 22b60 | 20 63 79 20 2d 20 78 2c 20 77 2c 20 68 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 30 20 20 20 20 20 20 | .cy.-.x,.w,.h,.color);...0...... |
| 22b80 | 20 20 64 72 61 77 5f 70 69 78 65 6c 28 63 78 20 2b 20 79 2c 20 63 79 20 2d 20 78 2c 20 77 2c 20 | ..draw_pixel(cx.+.y,.cy.-.x,.w,. |
| 22ba0 | 68 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 30 20 20 20 20 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c | h,.color);...0........draw_pixel |
| 22bc0 | 28 63 78 20 2b 20 78 2c 20 63 79 20 2d 20 79 2c 20 77 2c 20 68 2c 20 63 6f 6c 6f 72 29 3b 00 00 | (cx.+.x,.cy.-.y,.w,.h,.color);.. |
| 22be0 | 00 0c 20 20 20 20 20 20 20 20 79 2b 2b 3b 00 00 00 29 20 20 20 20 20 20 20 20 69 66 20 28 65 72 | ..........y++;...)........if.(er |
| 22c00 | 72 20 3c 3d 20 30 29 20 7b 20 65 72 72 20 2b 3d 20 32 2a 79 20 2b 20 31 3b 20 7d 00 00 00 2d 20 | r.<=.0).{.err.+=.2*y.+.1;.}...-. |
| 22c20 | 20 20 20 20 20 20 20 69 66 20 28 65 72 72 20 3e 20 30 29 20 7b 20 78 2d 2d 3b 20 65 72 72 20 2d | .......if.(err.>.0).{.x--;.err.- |
| 22c40 | 3d 20 32 2a 78 20 2b 20 31 3b 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 | =.2*x.+.1;.}........}....}...... |
| 22c60 | 00 1a 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 63 6c 6f 63 6b 28 29 20 7b 00 00 00 18 | ..static.void.draw_clock().{.... |
| 22c80 | 20 20 20 20 69 66 20 28 21 70 69 78 65 6c 73 29 20 72 65 74 75 72 6e 3b 00 00 00 26 20 20 20 20 | ....if.(!pixels).return;...&.... |
| 22ca0 | 69 6e 74 20 77 20 3d 20 62 75 66 5f 77 69 64 74 68 2c 20 68 20 3d 20 62 75 66 5f 68 65 69 67 68 | int.w.=.buf_width,.h.=.buf_heigh |
| 22cc0 | 74 3b 00 00 00 1a 20 20 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 78 20 3d 20 70 69 78 65 6c 73 3b | t;........uint32_t.*px.=.pixels; |
| 22ce0 | 00 00 00 1f 20 20 20 20 69 6e 74 20 63 78 20 3d 20 77 20 2f 20 32 2c 20 63 79 20 3d 20 68 20 2f | ........int.cx.=.w./.2,.cy.=.h./ |
| 22d00 | 20 32 3b 00 00 00 25 20 20 20 20 69 6e 74 20 72 20 3d 20 28 77 20 3c 20 68 20 3f 20 77 20 3a 20 | .2;...%....int.r.=.(w.<.h.?.w.:. |
| 22d20 | 68 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 00 35 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d | h)./.2.-.10;...5....for.(int.i.= |
| 22d40 | 20 30 3b 20 69 20 3c 20 77 2a 68 3b 20 69 2b 2b 29 20 70 78 5b 69 5d 20 3d 20 30 78 66 66 66 66 | .0;.i.<.w*h;.i++).px[i].=.0xffff |
| 22d60 | 66 66 66 66 3b 00 00 00 31 20 20 20 20 64 72 61 77 5f 63 69 72 63 6c 65 28 70 78 2c 20 77 2c 20 | ffff;...1....draw_circle(px,.w,. |
| 22d80 | 68 2c 20 63 78 2c 20 63 79 2c 20 72 2c 20 30 78 66 66 30 30 30 30 30 30 29 3b 00 00 00 22 20 20 | h,.cx,.cy,.r,.0xff000000);...".. |
| 22da0 | 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 31 32 3b 20 69 2b 2b 29 20 7b | ..for.(int.i.=.0;.i.<.12;.i++).{ |
| 22dc0 | 00 00 00 2f 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 61 6e 67 6c 65 20 3d 20 69 20 2a 20 4d | .../........double.angle.=.i.*.M |
| 22de0 | 5f 50 49 20 2f 20 36 2e 30 20 2d 20 4d 5f 50 49 2f 32 3b 00 00 00 2e 20 20 20 20 20 20 20 20 69 | _PI./.6.0.-.M_PI/2;............i |
| 22e00 | 6e 74 20 78 30 20 3d 20 63 78 20 2b 20 28 69 6e 74 29 28 28 72 2d 35 29 2a 63 6f 73 28 61 6e 67 | nt.x0.=.cx.+.(int)((r-5)*cos(ang |
| 22e20 | 6c 65 29 29 3b 00 00 00 2e 20 20 20 20 20 20 20 20 69 6e 74 20 79 30 20 3d 20 63 79 20 2b 20 28 | le));............int.y0.=.cy.+.( |
| 22e40 | 69 6e 74 29 28 28 72 2d 35 29 2a 73 69 6e 28 61 6e 67 6c 65 29 29 3b 00 00 00 2a 20 20 20 20 20 | int)((r-5)*sin(angle));...*..... |
| 22e60 | 20 20 20 69 6e 74 20 78 31 20 3d 20 63 78 20 2b 20 28 69 6e 74 29 28 72 2a 63 6f 73 28 61 6e 67 | ...int.x1.=.cx.+.(int)(r*cos(ang |
| 22e80 | 6c 65 29 29 3b 00 00 00 2a 20 20 20 20 20 20 20 20 69 6e 74 20 79 31 20 3d 20 63 79 20 2b 20 28 | le));...*........int.y1.=.cy.+.( |
| 22ea0 | 69 6e 74 29 28 72 2a 73 69 6e 28 61 6e 67 6c 65 29 29 3b 00 00 00 38 20 20 20 20 20 20 20 20 64 | int)(r*sin(angle));...8........d |
| 22ec0 | 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 77 2c 20 68 2c 20 78 30 2c 20 79 30 2c 20 78 31 2c 20 79 | raw_line(px,.w,.h,.x0,.y0,.x1,.y |
| 22ee0 | 31 2c 20 30 78 66 66 30 30 30 30 30 30 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 1a 20 20 20 20 | 1,.0xff000000);........}........ |
| 22f00 | 74 69 6d 65 5f 74 20 74 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 22 20 20 20 20 73 74 | time_t.t.=.time(NULL);..."....st |
| 22f20 | 72 75 63 74 20 74 6d 20 2a 74 6d 20 3d 20 6c 6f 63 61 6c 74 69 6d 65 28 26 74 29 3b 00 00 00 4f | ruct.tm.*tm.=.localtime(&t);...O |
| 22f40 | 20 20 20 20 64 6f 75 62 6c 65 20 68 6f 75 72 5f 61 6e 67 6c 65 20 3d 20 28 74 6d 2d 3e 74 6d 5f | ....double.hour_angle.=.(tm->tm_ |
| 22f60 | 68 6f 75 72 20 25 20 31 32 20 2b 20 74 6d 2d 3e 74 6d 5f 6d 69 6e 2f 36 30 2e 30 29 2a 4d 5f 50 | hour.%.12.+.tm->tm_min/60.0)*M_P |
| 22f80 | 49 2f 36 2e 30 20 2d 20 4d 5f 50 49 2f 32 3b 00 00 00 49 20 20 20 20 64 6f 75 62 6c 65 20 6d 69 | I/6.0.-.M_PI/2;...I....double.mi |
| 22fa0 | 6e 5f 61 6e 67 6c 65 20 3d 20 28 74 6d 2d 3e 74 6d 5f 6d 69 6e 20 2b 20 74 6d 2d 3e 74 6d 5f 73 | n_angle.=.(tm->tm_min.+.tm->tm_s |
| 22fc0 | 65 63 2f 36 30 2e 30 29 2a 4d 5f 50 49 2f 33 30 2e 30 20 2d 20 4d 5f 50 49 2f 32 3b 00 00 00 37 | ec/60.0)*M_PI/30.0.-.M_PI/2;...7 |
| 22fe0 | 20 20 20 20 64 6f 75 62 6c 65 20 73 65 63 5f 61 6e 67 6c 65 20 3d 20 74 6d 2d 3e 74 6d 5f 73 65 | ....double.sec_angle.=.tm->tm_se |
| 23000 | 63 20 2a 20 4d 5f 50 49 2f 33 30 2e 30 20 2d 20 4d 5f 50 49 2f 32 3b 00 00 00 67 20 20 20 20 64 | c.*.M_PI/30.0.-.M_PI/2;...g....d |
| 23020 | 72 61 77 5f 6c 69 6e 65 28 70 78 2c 77 2c 68 2c 63 78 2c 63 79 2c 63 78 2b 28 69 6e 74 29 28 72 | raw_line(px,w,h,cx,cy,cx+(int)(r |
| 23040 | 2a 30 2e 35 2a 63 6f 73 28 68 6f 75 72 5f 61 6e 67 6c 65 29 29 2c 63 79 2b 28 69 6e 74 29 28 72 | *0.5*cos(hour_angle)),cy+(int)(r |
| 23060 | 2a 30 2e 35 2a 73 69 6e 28 68 6f 75 72 5f 61 6e 67 6c 65 29 29 2c 30 78 66 66 30 30 30 30 30 30 | *0.5*sin(hour_angle)),0xff000000 |
| 23080 | 29 3b 00 00 00 65 20 20 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 77 2c 68 2c 63 78 2c 63 79 | );...e....draw_line(px,w,h,cx,cy |
| 230a0 | 2c 63 78 2b 28 69 6e 74 29 28 72 2a 30 2e 37 2a 63 6f 73 28 6d 69 6e 5f 61 6e 67 6c 65 29 29 2c | ,cx+(int)(r*0.7*cos(min_angle)), |
| 230c0 | 63 79 2b 28 69 6e 74 29 28 72 2a 30 2e 37 2a 73 69 6e 28 6d 69 6e 5f 61 6e 67 6c 65 29 29 2c 30 | cy+(int)(r*0.7*sin(min_angle)),0 |
| 230e0 | 78 66 66 30 30 30 30 30 30 29 3b 00 00 00 65 20 20 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c | xff000000);...e....draw_line(px, |
| 23100 | 77 2c 68 2c 63 78 2c 63 79 2c 63 78 2b 28 69 6e 74 29 28 72 2a 30 2e 39 2a 63 6f 73 28 73 65 63 | w,h,cx,cy,cx+(int)(r*0.9*cos(sec |
| 23120 | 5f 61 6e 67 6c 65 29 29 2c 63 79 2b 28 69 6e 74 29 28 72 2a 30 2e 39 2a 73 69 6e 28 73 65 63 5f | _angle)),cy+(int)(r*0.9*sin(sec_ |
| 23140 | 61 6e 67 6c 65 29 29 2c 30 78 66 66 66 66 30 30 30 30 29 3b 00 00 00 2d 20 20 20 20 77 6c 5f 73 | angle)),0xffff0000);...-....wl_s |
| 23160 | 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 73 75 72 66 61 63 65 2c 20 62 75 66 66 65 72 2c 20 30 | urface_attach(surface,.buffer,.0 |
| 23180 | 2c 20 30 29 3b 00 00 00 27 20 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 61 6d 61 67 65 28 73 | ,.0);...'....wl_surface_damage(s |
| 231a0 | 75 72 66 61 63 65 2c 30 2c 30 2c 77 2c 68 29 3b 00 00 00 1f 20 20 20 20 77 6c 5f 73 75 72 66 61 | urface,0,0,w,h);........wl_surfa |
| 231c0 | 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 00 00 00 00 80 | ce_commit(surface);....}........ |
| 231e0 | 73 74 61 74 69 63 20 76 6f 69 64 20 74 6f 70 6c 65 76 65 6c 5f 63 6f 6e 66 69 67 75 72 65 28 76 | static.void.toplevel_configure(v |
| 23200 | 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 20 2a | oid.*data,.struct.xdg_toplevel.* |
| 23220 | 74 6f 70 6c 65 76 65 6c 2c 69 6e 74 33 32 5f 74 20 77 69 64 74 68 2c 69 6e 74 33 32 5f 74 20 68 | toplevel,int32_t.width,int32_t.h |
| 23240 | 65 69 67 68 74 2c 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 74 61 74 65 73 29 20 7b | eight,struct.wl_array.*states).{ |
| 23260 | 00 00 00 3b 20 20 20 20 69 66 20 28 77 69 64 74 68 3e 30 20 26 26 20 68 65 69 67 68 74 3e 30 29 | ...;....if.(width>0.&&.height>0) |
| 23280 | 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 72 28 77 69 64 74 68 2c 68 65 69 67 68 74 29 3b 00 | .allocate_buffer(width,height);. |
| 232a0 | 00 00 01 7d 00 00 00 00 00 00 00 54 73 74 61 74 69 63 20 76 6f 69 64 20 74 6f 70 6c 65 76 65 6c | ...}.......Tstatic.void.toplevel |
| 232c0 | 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 74 6f | _close(void.*data,.struct.xdg_to |
| 232e0 | 70 6c 65 76 65 6c 20 2a 74 6f 70 6c 65 76 65 6c 29 20 7b 20 72 75 6e 6e 69 6e 67 3d 30 3b 20 7d | plevel.*toplevel).{.running=0;.} |
| 23300 | 00 00 00 00 00 00 00 74 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f | .......tstatic.const.struct.xdg_ |
| 23320 | 74 6f 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 | toplevel_listener.toplevel_liste |
| 23340 | 6e 65 72 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 3d 74 6f 70 6c 65 76 65 6c 5f 63 6f 6e 66 69 | ner.=.{.configure=toplevel_confi |
| 23360 | 67 75 72 65 2c 2e 63 6c 6f 73 65 3d 74 6f 70 6c 65 76 65 6c 5f 63 6c 6f 73 65 7d 3b 00 00 00 00 | gure,.close=toplevel_close};.... |
| 23380 | 00 00 00 7a 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 | ...zstatic.void.registry_handler |
| 233a0 | 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 20 | (void.*data,.struct.wl_registry. |
| 233c0 | 2a 72 65 67 69 73 74 72 79 2c 75 69 6e 74 33 32 5f 74 20 69 64 2c 63 6f 6e 73 74 20 63 68 61 72 | *registry,uint32_t.id,const.char |
| 233e0 | 20 2a 69 6e 74 65 72 66 61 63 65 2c 75 69 6e 74 33 32 5f 74 20 76 65 72 73 69 6f 6e 29 7b 00 00 | .*interface,uint32_t.version){.. |
| 23400 | 00 71 20 20 20 20 69 66 28 73 74 72 63 6d 70 28 69 6e 74 65 72 66 61 63 65 2c 22 77 6c 5f 63 6f | .q....if(strcmp(interface,"wl_co |
| 23420 | 6d 70 6f 73 69 74 6f 72 22 29 3d 3d 30 29 20 63 6f 6d 70 6f 73 69 74 6f 72 3d 77 6c 5f 72 65 67 | mpositor")==0).compositor=wl_reg |
| 23440 | 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 69 64 2c 26 77 6c 5f 63 6f 6d 70 6f | istry_bind(registry,id,&wl_compo |
| 23460 | 73 69 74 6f 72 5f 69 6e 74 65 72 66 61 63 65 2c 34 29 3b 00 00 00 61 20 20 20 20 65 6c 73 65 20 | sitor_interface,4);...a....else. |
| 23480 | 69 66 28 73 74 72 63 6d 70 28 69 6e 74 65 72 66 61 63 65 2c 22 77 6c 5f 73 68 6d 22 29 3d 3d 30 | if(strcmp(interface,"wl_shm")==0 |
| 234a0 | 29 20 73 68 6d 3d 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 | ).shm=wl_registry_bind(registry, |
| 234c0 | 69 64 2c 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 61 63 65 2c 31 29 3b 00 00 00 30 20 20 20 20 | id,&wl_shm_interface,1);...0.... |
| 234e0 | 65 6c 73 65 20 69 66 28 73 74 72 63 6d 70 28 69 6e 74 65 72 66 61 63 65 2c 22 78 64 67 5f 77 6d | else.if(strcmp(interface,"xdg_wm |
| 23500 | 5f 62 61 73 65 22 29 3d 3d 30 29 7b 00 00 00 47 20 20 20 20 20 20 20 20 77 6d 5f 62 61 73 65 3d | _base")==0){...G........wm_base= |
| 23520 | 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 69 64 2c 26 78 64 | wl_registry_bind(registry,id,&xd |
| 23540 | 67 5f 77 6d 5f 62 61 73 65 5f 69 6e 74 65 72 66 61 63 65 2c 31 29 3b 00 00 00 41 20 20 20 20 20 | g_wm_base_interface,1);...A..... |
| 23560 | 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 5f 62 | ...xdg_wm_base_add_listener(wm_b |
| 23580 | 61 73 65 2c 26 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 2c 4e 55 4c 4c 29 3b 00 00 00 05 | ase,&wm_base_listener,NULL);.... |
| 235a0 | 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 53 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 | ....}....}.......Sstatic.const.s |
| 235c0 | 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 |
| 235e0 | 74 72 79 5f 6c 69 73 74 65 6e 65 72 3d 7b 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 2c 4e | try_listener={registry_handler,N |
| 23600 | 55 4c 4c 7d 3b 00 00 00 00 00 00 00 0c 69 6e 74 20 6d 61 69 6e 28 29 20 7b 00 00 00 27 20 20 20 | ULL};........int.main().{...'... |
| 23620 | 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 28 4e 55 | .display.=.wl_display_connect(NU |
| 23640 | 4c 4c 29 3b 00 00 00 57 20 20 20 20 69 66 28 21 64 69 73 70 6c 61 79 29 7b 20 66 70 72 69 6e 74 | LL);...W....if(!display){.fprint |
| 23660 | 66 28 73 74 64 65 72 72 2c 22 46 61 69 6c 65 64 20 74 6f 20 63 6f 6e 6e 65 63 74 20 74 6f 20 57 | f(stderr,"Failed.to.connect.to.W |
| 23680 | 61 79 6c 61 6e 64 20 64 69 73 70 6c 61 79 5c 6e 22 29 3b 20 72 65 74 75 72 6e 20 31 3b 20 7d 00 | ayland.display\n");.return.1;.}. |
| 236a0 | 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 79 5f 67 65 74 | ..0....registry.=.wl_display_get |
| 236c0 | 5f 72 65 67 69 73 74 72 79 28 64 69 73 70 6c 61 79 29 3b 00 00 00 3f 20 20 20 20 77 6c 5f 72 65 | _registry(display);...?....wl_re |
| 236e0 | 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 79 2c 26 72 65 | gistry_add_listener(registry,&re |
| 23700 | 67 69 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 2c 4e 55 4c 4c 29 3b 00 00 00 22 20 20 20 20 77 6c | gistry_listener,NULL);..."....wl |
| 23720 | 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 61 | _display_roundtrip(display);...a |
| 23740 | 20 20 20 20 69 66 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 | ....if(!compositor.||.!shm.||.!w |
| 23760 | 6d 5f 62 61 73 65 29 7b 20 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 22 4d 69 73 73 69 6e 67 | m_base){.fprintf(stderr,"Missing |
| 23780 | 20 57 61 79 6c 61 6e 64 20 67 6c 6f 62 61 6c 73 5c 6e 22 29 3b 20 72 65 74 75 72 6e 20 31 3b 20 | .Wayland.globals\n");.return.1;. |
| 237a0 | 7d 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 74 6f 72 | }...7....surface.=.wl_compositor |
| 237c0 | 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 00 00 3f | _create_surface(compositor);...? |
| 237e0 | 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 5f 67 65 | ....xdg_surface.=.xdg_wm_base_ge |
| 23800 | 74 5f 78 64 67 5f 73 75 72 66 61 63 65 28 77 6d 5f 62 61 73 65 2c 73 75 72 66 61 63 65 29 3b 00 | t_xdg_surface(wm_base,surface);. |
| 23820 | 00 00 45 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 6e 65 72 28 | ..E....xdg_surface_add_listener( |
| 23840 | 78 64 67 5f 73 75 72 66 61 63 65 2c 26 78 64 67 5f 73 75 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 | xdg_surface,&xdg_surface_listene |
| 23860 | 72 2c 4e 55 4c 4c 29 3b 00 00 00 35 20 20 20 20 74 6f 70 6c 65 76 65 6c 20 3d 20 78 64 67 5f 73 | r,NULL);...5....toplevel.=.xdg_s |
| 23880 | 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 65 29 | urface_get_toplevel(xdg_surface) |
| 238a0 | 3b 00 00 00 40 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 | ;...@....xdg_toplevel_add_listen |
| 238c0 | 65 72 28 74 6f 70 6c 65 76 65 6c 2c 26 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 2c 4e | er(toplevel,&toplevel_listener,N |
| 238e0 | 55 4c 4c 29 3b 00 00 00 2e 20 20 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 74 69 | ULL);........xdg_toplevel_set_ti |
| 23900 | 74 6c 65 28 74 6f 70 6c 65 76 65 6c 2c 22 78 63 6c 6f 63 6b 22 29 3b 00 00 00 1f 20 20 20 20 77 | tle(toplevel,"xclock");........w |
| 23920 | 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 22 20 20 | l_surface_commit(surface);...".. |
| 23940 | 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 79 29 3b | ..wl_display_roundtrip(display); |
| 23960 | 00 00 00 13 20 20 20 20 77 68 69 6c 65 28 72 75 6e 6e 69 6e 67 29 7b 00 00 00 2d 20 20 20 20 20 | ........while(running){...-..... |
| 23980 | 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 5f 70 65 6e 64 69 6e 67 28 64 | ...wl_display_dispatch_pending(d |
| 239a0 | 69 73 70 6c 61 79 29 3b 00 00 00 15 20 20 20 20 20 20 20 20 64 72 61 77 5f 63 6c 6f 63 6b 28 29 | isplay);............draw_clock() |
| 239c0 | 3b 00 00 00 1b 20 20 20 20 20 20 20 20 75 73 6c 65 65 70 28 31 30 30 30 30 30 30 2f 36 30 29 3b | ;............usleep(1000000/60); |
| 239e0 | 00 00 00 05 20 20 20 20 7d 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 30 3b 35 81 f5 18 00 00 | ........}........return.0;5..... |
| 23a00 | 00 00 1a 00 00 00 02 00 00 00 8e 00 00 00 02 00 00 00 c1 00 00 00 00 00 00 00 7d 02 00 00 00 00 | ..........................}..... |
| 23a20 | 00 00 49 17 00 00 00 00 00 00 f0 18 00 00 00 00 00 00 35 81 e7 aa | ..I...............5... |