summaryrefslogtreecommitdiff
path: root/config/nvim-1/undo/%home%coast%git%terminal%main.c
blob: 107db70a8526589a5c7e6b535fe40a298b4cc7da (plain)
ofshex dumpascii
0000 56 69 6d 9f 55 6e 44 6f e5 00 03 81 ad 84 62 a2 76 7b 04 af dc a0 3b 6b f0 6a 72 65 4f 0f 3e be Vim.UnDo......b.v{....;k.jreO.>.
0020 1c 1b 31 eb 60 b6 00 0f 0f dd 07 00 00 07 f2 00 00 00 21 7d 20 74 65 72 6d 20 3d 20 7b 2e 63 66 ..1.`.............!}.term.=.{.cf
0040 67 2e 73 68 65 6c 6c 20 3d 20 22 2f 62 69 6e 2f 73 68 22 2c 00 00 00 b7 00 00 00 1d 00 00 00 05 g.shell.=."/bin/sh",............
0060 00 00 00 06 00 00 00 00 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 00 69 95 70 b8 04 01 00 00 ........................i.p.....
0080 00 02 00 5f d0 00 00 00 00 00 00 00 06 00 00 00 03 00 00 00 00 00 00 00 05 00 00 06 72 00 00 00 ..._........................r...
00a0 19 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 ................................
00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0200 00 00 00 00 00 00 00 69 95 70 2d 04 01 00 00 00 01 00 f5 18 00 00 00 00 00 00 07 f2 00 00 08 96 .......i.p-.....................
0220 00 00 08 95 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 12 23 ........#include.<stdlib.h>....#
0240 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6f 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 include.<stdio.h>....#include.<s
0260 74 72 69 6e 67 2e 68 3e 00 00 00 14 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 62 6f 6f 6c 2e 68 3e tring.h>....#include.<stdbool.h>
0280 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 61 73 73 65 72 74 2e 68 3e 00 00 00 12 23 69 6e 63 6c ....#include.<assert.h>....#incl
02a0 75 64 65 20 3c 63 74 79 70 65 2e 68 3e 00 00 00 00 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 65 ude.<ctype.h>........#include.<e
02c0 72 72 6e 6f 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 6c 69 6d 69 74 73 2e 68 3e 00 00 rrno.h>....#include.<limits.h>..
02e0 00 11 23 69 6e 63 6c 75 64 65 20 3c 74 69 6d 65 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 ..#include.<time.h>....#include.
0300 3c 70 6f 6c 6c 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 <poll.h>....#include.<sys/mman.h
0320 3e 00 00 00 16 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 69 6f 63 74 6c 2e 68 3e 00 00 00 12 23 >....#include.<sys/ioctl.h>....#
0340 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 20 3c 75 include.<fcntl.h>....#include.<u
0360 6e 69 73 74 64 2e 68 3e 00 00 00 14 23 69 6e 63 6c 75 64 65 20 22 70 74 79 75 74 69 6c 2e 68 22 nistd.h>....#include."ptyutil.h"
0380 00 00 00 00 00 00 00 28 23 69 6e 63 6c 75 64 65 20 3c 78 6b 62 63 6f 6d 6d 6f 6e 2f 78 6b 62 63 .......(#include.<xkbcommon/xkbc
03a0 6f 6d 6d 6f 6e 2d 63 6f 6d 70 6f 73 65 2e 68 3e 00 00 00 20 23 69 6e 63 6c 75 64 65 20 3c 77 61 ommon-compose.h>....#include.<wa
03c0 79 6c 61 6e 64 2d 63 6c 69 65 6e 74 2d 63 6f 72 65 2e 68 3e 00 00 00 24 23 69 6e 63 6c 75 64 65 yland-client-core.h>...$#include
03e0 20 3c 77 61 79 6c 61 6e 64 2d 63 6c 69 65 6e 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 3e 00 00 00 1b .<wayland-client-protocol.h>....
0400 23 69 6e 63 6c 75 64 65 20 3c 77 61 79 6c 61 6e 64 2d 63 75 72 73 6f 72 2e 68 3e 00 00 00 00 00 #include.<wayland-cursor.h>.....
0420 00 00 17 23 69 6e 63 6c 75 64 65 20 22 74 73 6d 2f 6c 69 62 74 73 6d 2e 68 22 00 00 00 16 23 69 ...#include."tsm/libtsm.h"....#i
0440 6e 63 6c 75 64 65 20 22 78 64 67 2d 73 68 65 6c 6c 2e 68 22 00 00 00 2a 23 69 6e 63 6c 75 64 65 nclude."xdg-shell.h"...*#include
0460 20 22 70 72 69 6d 61 72 79 2d 73 65 6c 65 63 74 69 6f 6e 2d 75 6e 73 74 61 62 6c 65 2d 76 31 2e ."primary-selection-unstable-v1.
0480 68 22 00 00 00 27 23 69 6e 63 6c 75 64 65 20 22 78 64 67 2d 64 65 63 6f 72 61 74 69 6f 6e 2d 75 h"...'#include."xdg-decoration-u
04a0 6e 73 74 61 62 6c 65 2d 76 31 2e 68 22 00 00 00 00 00 00 00 34 23 64 65 66 69 6e 65 20 41 52 52 nstable-v1.h".......4#define.ARR
04c0 41 59 5f 4c 45 4e 47 54 48 28 61 29 20 28 73 69 7a 65 6f 66 20 28 61 29 20 2f 20 73 69 7a 65 6f AY_LENGTH(a).(sizeof.(a)./.sizeo
04e0 66 20 28 61 29 5b 30 5d 29 00 00 00 00 00 00 00 29 69 6e 74 20 66 6f 6e 74 5f 69 6e 69 74 28 69 f.(a)[0]).......)int.font_init(i
0500 6e 74 2c 20 63 68 61 72 20 2a 2c 20 69 6e 74 20 2a 2c 20 69 6e 74 20 2a 29 3b 00 00 00 17 76 6f nt,.char.*,.int.*,.int.*);....vo
0520 69 64 20 66 6f 6e 74 5f 64 65 69 6e 69 74 28 76 6f 69 64 29 3b 00 00 00 32 75 6e 73 69 67 6e 65 id.font_deinit(void);...2unsigne
0540 64 20 63 68 61 72 20 2a 67 65 74 5f 67 6c 79 70 68 28 75 69 6e 74 33 32 5f 74 2c 20 75 69 6e 74 d.char.*get_glyph(uint32_t,.uint
0560 33 32 5f 74 2c 20 69 6e 74 29 3b 00 00 00 00 00 00 00 0b 65 6e 75 6d 20 64 65 63 6f 20 7b 00 00 32_t,.int);........enum.deco.{..
0580 00 0b 09 44 45 43 4f 5f 41 55 54 4f 2c 00 00 00 0d 09 44 45 43 4f 5f 53 45 52 56 45 52 2c 00 00 ...DECO_AUTO,.....DECO_SERVER,..
05a0 00 0a 09 44 45 43 4f 5f 4e 4f 4e 45 00 00 00 02 7d 3b 00 00 00 00 00 00 00 0b 65 6e 75 6d 20 65 ...DECO_NONE....};........enum.e
05c0 76 66 64 20 7b 00 00 00 0c 09 45 56 5f 44 49 53 50 4c 41 59 2c 00 00 00 08 09 45 56 5f 54 54 59 vfd.{.....EV_DISPLAY,.....EV_TTY
05e0 2c 00 00 00 0a 09 45 56 5f 50 41 53 54 45 2c 00 00 00 0d 09 4e 55 4d 5f 50 4f 4c 4c 46 44 53 2c ,.....EV_PASTE,.....NUM_POLLFDS,
0600 00 00 00 02 7d 3b 00 00 00 00 00 00 00 0f 73 74 61 74 69 63 20 73 74 72 75 63 74 20 7b 00 00 00 ....};........static.struct.{...
0620 0a 09 62 6f 6f 6c 20 64 69 65 3b 00 00 00 11 09 62 6f 6f 6c 20 63 6f 6e 66 69 67 75 72 65 64 3b ..bool.die;.....bool.configured;
0640 00 00 00 12 09 62 6f 6f 6c 20 6e 65 65 64 5f 72 65 64 72 61 77 3b 00 00 00 11 09 62 6f 6f 6c 20 .....bool.need_redraw;.....bool.
0660 63 61 6e 5f 72 65 64 72 61 77 3b 00 00 00 0c 09 69 6e 74 20 72 65 73 69 7a 65 3b 00 00 00 00 00 can_redraw;.....int.resize;.....
0680 00 00 0f 09 69 6e 74 20 6d 61 73 74 65 72 5f 66 64 3b 00 00 00 00 00 00 00 1c 09 73 74 72 75 63 ....int.master_fd;.........struc
06a0 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 1e 09 73 74 72 75 63 t.wl_display.*display;.....struc
06c0 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 1a 09 73 74 72 t.wl_registry.*registry;.....str
06e0 75 63 74 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 20 2a 63 70 3b 00 00 00 14 09 73 74 72 75 63 uct.wl_compositor.*cp;.....struc
0700 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d 3b 00 00 00 0f 09 62 6f 6f 6c 20 73 68 6d 5f 61 72 67 62 t.wl_shm.*shm;.....bool.shm_argb
0720 3b 00 00 00 1d 09 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 ;.....struct.xdg_wm_base.*wm_bas
0740 65 3b 00 00 00 16 09 73 74 72 75 63 74 20 77 6c 5f 73 65 61 74 20 2a 73 65 61 74 3b 00 00 00 00 e;.....struct.wl_seat.*seat;....
0760 00 00 00 19 09 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 72 66 3b 00 00 00 .....struct.wl_surface.*surf;...
0780 1d 09 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 64 67 73 75 72 66 3b 00 00 ..struct.xdg_surface.*xdgsurf;..
07a0 00 1d 09 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 76 6c 3b 00 ...struct.xdg_toplevel.*toplvl;.
07c0 00 00 00 00 00 00 10 09 73 74 72 75 63 74 20 62 75 66 66 65 72 20 7b 00 00 00 16 09 09 73 74 72 ........struct.buffer.{......str
07e0 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 3b 00 00 00 0d 09 09 76 6f 69 64 20 2a 64 61 74 uct.wl_buffer.*b;......void.*dat
0800 61 3b 00 00 00 0b 09 09 69 6e 74 20 73 69 7a 65 3b 00 00 00 0c 09 09 62 6f 6f 6c 20 62 75 73 79 a;......int.size;......bool.busy
0820 3b 00 00 00 10 09 09 74 73 6d 5f 61 67 65 5f 74 20 61 67 65 3b 00 00 00 0a 09 7d 20 62 75 66 5b ;......tsm_age_t.age;.....}.buf[
0840 32 5d 3b 00 00 00 18 09 73 74 72 75 63 74 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 20 2a 63 62 3b 00 2];.....struct.wl_callback.*cb;.
0860 00 00 00 00 00 00 0e 09 69 6e 74 20 63 6f 6c 2c 20 72 6f 77 3b 00 00 00 15 09 69 6e 74 20 63 77 ........int.col,.row;.....int.cw
0880 69 64 74 68 2c 20 63 68 65 69 67 68 74 3b 00 00 00 13 09 69 6e 74 20 77 69 64 74 68 2c 20 68 65 idth,.cheight;.....int.width,.he
08a0 69 67 68 74 3b 00 00 00 1b 09 69 6e 74 20 63 6f 6e 66 77 69 64 74 68 2c 20 63 6f 6e 66 68 65 69 ight;.....int.confwidth,.confhei
08c0 67 68 74 3b 00 00 00 09 09 73 74 72 75 63 74 20 7b 00 00 00 10 09 09 69 6e 74 20 74 6f 70 2c 20 ght;.....struct.{......int.top,.
08e0 6c 65 66 74 3b 00 00 00 0a 09 7d 20 6d 61 72 67 69 6e 3b 00 00 00 00 00 00 00 1b 09 73 74 72 75 left;.....}.margin;.........stru
0900 63 74 20 74 73 6d 5f 73 63 72 65 65 6e 20 2a 73 63 72 65 65 6e 3b 00 00 00 15 09 73 74 72 75 63 ct.tsm_screen.*screen;.....struc
0920 74 20 74 73 6d 5f 76 74 65 20 2a 76 74 65 3b 00 00 00 13 09 75 6e 73 69 67 6e 65 64 20 69 6e 74 t.tsm_vte.*vte;.....unsigned.int
0940 20 6d 6f 64 73 3b 00 00 00 00 00 00 00 1d 09 73 74 72 75 63 74 20 78 6b 62 5f 63 6f 6e 74 65 78 .mods;.........struct.xkb_contex
0960 74 20 2a 78 6b 62 5f 63 74 78 3b 00 00 00 1d 09 73 74 72 75 63 74 20 78 6b 62 5f 73 74 61 74 65 t.*xkb_ctx;.....struct.xkb_state
0980 20 2a 78 6b 62 5f 73 74 61 74 65 3b 00 00 00 1f 09 73 74 72 75 63 74 20 78 6b 62 5f 6b 65 79 6d .*xkb_state;.....struct.xkb_keym
09a0 61 70 20 2a 78 6b 62 5f 6b 65 79 6d 61 70 3b 00 00 00 2d 09 73 74 72 75 63 74 20 78 6b 62 5f 63 ap.*xkb_keymap;...-.struct.xkb_c
09c0 6f 6d 70 6f 73 65 5f 74 61 62 6c 65 20 2a 78 6b 62 5f 63 6f 6d 70 6f 73 65 5f 74 61 62 6c 65 3b ompose_table.*xkb_compose_table;
09e0 00 00 00 2d 09 73 74 72 75 63 74 20 78 6b 62 5f 63 6f 6d 70 6f 73 65 5f 73 74 61 74 65 20 2a 78 ...-.struct.xkb_compose_state.*x
0a00 6b 62 5f 63 6f 6d 70 6f 73 65 5f 73 74 61 74 65 3b 00 00 00 19 09 78 6b 62 5f 6d 6f 64 5f 69 6e kb_compose_state;.....xkb_mod_in
0a20 64 65 78 5f 74 20 78 6b 62 5f 61 6c 74 3b 00 00 00 1a 09 78 6b 62 5f 6d 6f 64 5f 69 6e 64 65 78 dex_t.xkb_alt;.....xkb_mod_index
0a40 5f 74 20 78 6b 62 5f 63 74 72 6c 3b 00 00 00 1b 09 78 6b 62 5f 6d 6f 64 5f 69 6e 64 65 78 5f 74 _t.xkb_ctrl;.....xkb_mod_index_t
0a60 20 78 6b 62 5f 73 68 69 66 74 3b 00 00 00 00 00 00 00 19 09 73 74 72 75 63 74 20 77 6c 5f 6b 65 .xkb_shift;.........struct.wl_ke
0a80 79 62 6f 61 72 64 20 2a 6b 62 64 3b 00 00 00 18 09 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 yboard.*kbd;.....struct.wl_point
0aa0 65 72 20 2a 70 74 72 3b 00 00 00 19 09 77 6c 5f 66 69 78 65 64 5f 74 20 70 74 72 5f 78 2c 20 70 er.*ptr;.....wl_fixed_t.ptr_x,.p
0ac0 74 72 5f 79 3b 00 00 00 00 00 00 00 07 09 65 6e 75 6d 20 7b 00 00 00 0b 09 09 53 53 5f 52 45 53 tr_y;.........enum.{......SS_RES
0ae0 45 54 2c 00 00 00 0e 09 09 53 53 5f 41 4e 43 48 4f 52 45 44 2c 00 00 00 0e 09 09 53 53 5f 44 52 ET,......SS_ANCHORED,......SS_DR
0b00 41 47 47 49 4e 47 2c 00 00 00 0b 09 09 53 53 5f 41 43 54 49 56 45 00 00 00 0d 09 7d 20 73 65 6c AGGING,......SS_ACTIVE.....}.sel
0b20 65 63 74 69 6f 6e 3b 00 00 00 00 00 00 00 09 09 73 74 72 75 63 74 20 7b 00 00 00 0c 09 09 69 6e ection;.........struct.{......in
0b40 74 20 63 6f 75 6e 74 3b 00 00 00 0b 09 09 69 6e 74 20 78 2c 20 79 3b 00 00 00 09 09 7d 20 63 6c t.count;......int.x,.y;.....}.cl
0b60 69 63 6b 3b 00 00 00 00 00 00 00 09 09 73 74 72 75 63 74 20 7b 00 00 00 20 09 09 73 74 72 75 63 ick;.........struct.{......struc
0b80 74 20 77 6c 5f 63 75 72 73 6f 72 5f 74 68 65 6d 65 20 2a 74 68 65 6d 65 3b 00 00 00 19 09 09 73 t.wl_cursor_theme.*theme;......s
0ba0 74 72 75 63 74 20 77 6c 5f 63 75 72 73 6f 72 20 2a 74 65 78 74 3b 00 00 00 1c 09 09 73 74 72 75 truct.wl_cursor.*text;......stru
0bc0 63 74 20 77 6c 5f 63 75 72 73 6f 72 20 2a 63 75 72 72 65 6e 74 3b 00 00 00 17 09 09 6c 6f 6e 67 ct.wl_cursor.*current;......long
0be0 20 6c 6f 6e 67 20 61 6e 69 6d 5f 73 74 61 72 74 3b 00 00 00 1d 09 09 73 74 72 75 63 74 20 77 6c .long.anim_start;......struct.wl
0c00 5f 73 75 72 66 61 63 65 20 2a 73 75 72 66 61 63 65 3b 00 00 00 1f 09 09 73 74 72 75 63 74 20 77 _surface.*surface;......struct.w
0c20 6c 5f 63 61 6c 6c 62 61 63 6b 20 2a 63 61 6c 6c 62 61 63 6b 3b 00 00 00 18 09 09 75 69 6e 74 33 l_callback.*callback;......uint3
0c40 32 5f 74 20 65 6e 74 65 72 5f 73 65 72 69 61 6c 3b 00 00 00 0a 09 7d 20 63 75 72 73 6f 72 3b 00 2_t.enter_serial;.....}.cursor;.
0c60 00 00 00 00 00 00 09 09 73 74 72 75 63 74 20 7b 00 00 00 16 09 09 69 6e 74 20 64 65 6c 61 79 2c ........struct.{......int.delay,
0c80 20 69 6e 74 65 72 76 61 6c 3b 00 00 00 0e 09 09 69 6e 74 20 74 69 6d 65 6f 75 74 3b 00 00 00 12 .interval;......int.timeout;....
0ca0 09 09 6c 6f 6e 67 20 6c 6f 6e 67 20 73 74 61 72 74 3b 00 00 00 0f 09 09 75 69 6e 74 33 32 5f 74 ..long.long.start;......uint32_t
0cc0 20 6b 65 79 3b 00 00 00 13 09 09 78 6b 62 5f 6b 65 79 73 79 6d 5f 74 20 73 79 6d 3b 00 00 00 13 .key;......xkb_keysym_t.sym;....
0ce0 09 09 75 69 6e 74 33 32 5f 74 20 75 6e 69 63 6f 64 65 3b 00 00 00 17 09 09 76 6f 69 64 20 28 2a ..uint32_t.unicode;......void.(*
0d00 61 63 74 69 6f 6e 29 28 76 6f 69 64 29 3b 00 00 00 0a 09 7d 20 72 65 70 65 61 74 3b 00 00 00 00 action)(void);.....}.repeat;....
0d20 00 00 00 25 09 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 5f 6d 61 6e 61 67 ...%.struct.wl_data_device_manag
0d40 65 72 20 2a 64 5f 64 6d 3b 00 00 00 1c 09 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 64 65 76 er.*d_dm;.....struct.wl_data_dev
0d60 69 63 65 20 2a 64 5f 64 3b 00 00 00 37 09 73 74 72 75 63 74 20 7a 77 70 5f 70 72 69 6d 61 72 79 ice.*d_d;...7.struct.zwp_primary
0d80 5f 73 65 6c 65 63 74 69 6f 6e 5f 64 65 76 69 63 65 5f 6d 61 6e 61 67 65 72 5f 76 31 20 2a 70 73 _selection_device_manager_v1.*ps
0da0 5f 64 6d 3b 00 00 00 2e 09 73 74 72 75 63 74 20 7a 77 70 5f 70 72 69 6d 61 72 79 5f 73 65 6c 65 _dm;.....struct.zwp_primary_sele
0dc0 63 74 69 6f 6e 5f 64 65 76 69 63 65 5f 76 31 20 2a 70 73 5f 64 3b 00 00 00 00 00 00 00 09 09 73 ction_device_v1.*ps_d;.........s
0de0 74 72 75 63 74 20 7b 00 00 00 20 09 09 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 truct.{......struct.wl_data_sour
0e00 63 65 20 2a 73 6f 75 72 63 65 3b 00 00 00 0d 09 09 63 68 61 72 20 2a 64 61 74 61 3b 00 00 00 0a ce.*source;......char.*data;....
0e20 09 7d 20 64 5f 63 6f 70 79 3b 00 00 00 00 00 00 00 09 09 73 74 72 75 63 74 20 7b 00 00 00 31 09 .}.d_copy;.........struct.{...1.
0e40 09 73 74 72 75 63 74 20 7a 77 70 5f 70 72 69 6d 61 72 79 5f 73 65 6c 65 63 74 69 6f 6e 5f 73 6f .struct.zwp_primary_selection_so
0e60 75 72 63 65 5f 76 31 20 2a 73 6f 75 72 63 65 3b 00 00 00 0d 09 09 63 68 61 72 20 2a 64 61 74 61 urce_v1.*source;......char.*data
0e80 3b 00 00 00 0b 09 7d 20 70 73 5f 63 6f 70 79 3b 00 00 00 00 00 00 00 09 09 73 74 72 75 63 74 20 ;.....}.ps_copy;.........struct.
0ea0 7b 00 00 00 20 09 09 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 6f 66 66 65 72 20 2a 64 5f 6f {......struct.wl_data_offer.*d_o
0ec0 66 66 65 72 3b 00 00 00 32 09 09 73 74 72 75 63 74 20 7a 77 70 5f 70 72 69 6d 61 72 79 5f 73 65 ffer;...2..struct.zwp_primary_se
0ee0 6c 65 63 74 69 6f 6e 5f 6f 66 66 65 72 5f 76 31 20 2a 70 73 5f 6f 66 66 65 72 3b 00 00 00 0f 09 lection_offer_v1.*ps_offer;.....
0f00 09 63 68 61 72 20 2a 64 5f 6d 69 6d 65 3b 00 00 00 10 09 09 63 68 61 72 20 2a 70 73 5f 6d 69 6d .char.*d_mime;......char.*ps_mim
0f20 65 3b 00 00 00 00 00 00 00 0c 09 09 69 6e 74 20 66 64 5b 32 5d 3b 00 00 00 10 09 09 63 68 61 72 e;..........int.fd[2];......char
0f40 20 62 75 66 5b 32 30 30 5d 3b 00 00 00 0d 09 09 73 69 7a 65 5f 74 20 6c 65 6e 3b 00 00 00 0e 09 .buf[200];......size_t.len;.....
0f60 09 62 6f 6f 6c 20 61 63 74 69 76 65 3b 00 00 00 09 09 7d 20 70 61 73 74 65 3b 00 00 00 00 00 00 .bool.active;.....}.paste;......
0f80 00 09 09 73 74 72 75 63 74 20 7b 00 00 00 2d 09 09 73 74 72 75 63 74 20 7a 78 64 67 5f 64 65 63 ...struct.{...-..struct.zxdg_dec
0fa0 6f 72 61 74 69 6f 6e 5f 6d 61 6e 61 67 65 72 5f 76 31 20 2a 6d 61 6e 61 67 65 72 3b 00 00 00 2b oration_manager_v1.*manager;...+
0fc0 09 09 73 74 72 75 63 74 20 7a 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 64 65 63 6f 72 61 74 69 6f ..struct.zxdg_toplevel_decoratio
0fe0 6e 5f 76 31 20 2a 64 65 63 6f 3b 00 00 00 08 09 7d 20 64 65 63 6f 3b 00 00 00 00 00 00 00 09 09 n_v1.*deco;.....}.deco;.........
1000 73 74 72 75 63 74 20 7b 00 00 00 0e 09 09 62 6f 6f 6c 20 6c 69 6e 67 65 72 3b 00 00 00 0f 09 09 struct.{......bool.linger;......
1020 63 68 61 72 20 2a 63 6f 6e 66 69 67 3b 00 00 00 10 09 09 63 68 61 72 20 2a 64 69 73 70 6c 61 79 char.*config;......char.*display
1040 3b 00 00 00 0f 09 09 63 68 61 72 20 2a 61 70 70 5f 69 64 3b 00 00 00 07 09 7d 20 6f 70 74 3b 00 ;......char.*app_id;.....}.opt;.
1060 00 00 00 00 00 00 11 09 73 74 72 75 63 74 20 62 69 6e 64 69 6e 67 20 7b 00 00 00 17 09 09 73 74 ........struct.binding.{......st
1080 72 75 63 74 20 62 69 6e 64 69 6e 67 20 2a 6e 65 78 74 3b 00 00 00 14 09 09 75 6e 73 69 67 6e 65 ruct.binding.*next;......unsigne
10a0 64 20 69 6e 74 20 6d 6f 64 73 3b 00 00 00 13 09 09 78 6b 62 5f 6b 65 79 73 79 6d 5f 74 20 73 79 d.int.mods;......xkb_keysym_t.sy
10c0 6d 3b 00 00 00 17 09 09 76 6f 69 64 20 28 2a 61 63 74 69 6f 6e 29 28 76 6f 69 64 29 3b 00 00 00 m;......void.(*action)(void);...
10e0 0c 09 7d 20 2a 62 69 6e 64 69 6e 67 3b 00 00 00 00 00 00 00 09 09 73 74 72 75 63 74 20 7b 00 00 ..}.*binding;.........struct.{..
1100 00 11 09 09 63 68 61 72 20 73 68 65 6c 6c 5b 33 32 5d 3b 00 00 00 0f 09 09 69 6e 74 20 63 6f 6c ....char.shell[32];......int.col
1120 2c 20 72 6f 77 3b 00 00 00 11 09 09 69 6e 74 20 73 63 72 6f 6c 6c 62 61 63 6b 3b 00 00 00 21 09 ,.row;......int.scrollback;...!.
1140 09 62 6f 6f 6c 20 73 63 72 6f 6c 6c 5f 74 6f 5f 62 6f 74 74 6f 6d 5f 6f 6e 5f 69 6e 70 75 74 3b .bool.scroll_to_bottom_on_input;
1160 00 00 00 0e 09 09 62 6f 6f 6c 20 6d 61 72 67 69 6e 3b 00 00 00 18 09 09 75 6e 73 69 67 6e 65 64 ......bool.margin;......unsigned
1180 20 63 68 61 72 20 6f 70 61 63 69 74 79 3b 00 00 00 18 09 09 65 6e 75 6d 20 64 65 63 6f 20 64 65 .char.opacity;......enum.deco.de
11a0 63 6f 72 61 74 69 6f 6e 73 3b 00 00 00 10 09 09 69 6e 74 20 66 6f 6e 74 5f 73 69 7a 65 3b 00 00 corations;......int.font_size;..
11c0 00 16 09 09 63 68 61 72 20 66 6f 6e 74 5f 70 61 74 68 5b 35 31 32 5d 3b 00 00 00 23 09 09 75 69 ....char.font_path[512];...#..ui
11e0 6e 74 38 5f 74 20 63 6f 6c 6f 72 73 5b 54 53 4d 5f 43 4f 4c 4f 52 5f 4e 55 4d 5d 5b 33 5d 3b 00 nt8_t.colors[TSM_COLOR_NUM][3];.
1200 00 00 07 09 7d 20 63 66 67 3b 00 00 00 0a 7d 20 74 65 72 6d 20 3d 20 7b 00 00 00 18 09 2e 63 66 ....}.cfg;....}.term.=.{......cf
1220 67 2e 73 68 65 6c 6c 20 3d 20 22 2f 62 69 6e 2f 73 68 22 2c 00 00 00 0f 09 2e 63 66 67 2e 63 6f g.shell.=."/bin/sh",......cfg.co
1240 6c 20 3d 20 38 30 2c 00 00 00 0f 09 2e 63 66 67 2e 72 6f 77 20 3d 20 32 34 2c 00 00 00 15 09 2e l.=.80,......cfg.row.=.24,......
1260 63 66 67 2e 73 63 72 6f 6c 6c 62 61 63 6b 20 3d 20 30 2c 00 00 00 28 09 2e 63 66 67 2e 73 63 72 cfg.scrollback.=.0,...(..cfg.scr
1280 6f 6c 6c 5f 74 6f 5f 62 6f 74 74 6f 6d 5f 6f 6e 5f 69 6e 70 75 74 20 3d 20 66 61 6c 73 65 2c 00 oll_to_bottom_on_input.=.false,.
12a0 00 00 15 09 2e 63 66 67 2e 6d 61 72 67 69 6e 20 3d 20 66 61 6c 73 65 2c 00 00 00 15 09 2e 63 66 .....cfg.margin.=.false,......cf
12c0 67 2e 6f 70 61 63 69 74 79 20 3d 20 30 78 66 66 2c 00 00 00 1e 09 2e 63 66 67 2e 64 65 63 6f 72 g.opacity.=.0xff,......cfg.decor
12e0 61 74 69 6f 6e 73 20 3d 20 44 45 43 4f 5f 41 55 54 4f 2c 00 00 00 15 09 2e 63 66 67 2e 66 6f 6e ations.=.DECO_AUTO,......cfg.fon
1300 74 5f 73 69 7a 65 20 3d 20 31 38 2c 00 00 00 15 09 2e 63 66 67 2e 66 6f 6e 74 5f 70 61 74 68 20 t_size.=.18,......cfg.font_path.
1320 3d 20 22 22 2c 00 00 00 10 09 2e 63 66 67 2e 63 6f 6c 6f 72 73 20 3d 20 7b 00 00 00 30 09 09 5b =."",......cfg.colors.=.{...0..[
1340 54 53 4d 5f 43 4f 4c 4f 52 5f 42 4c 41 43 4b 5d 20 20 20 20 20 20 20 20 20 3d 20 7b 20 20 20 30 TSM_COLOR_BLACK].........=.{...0
1360 2c 20 20 20 30 2c 20 20 20 30 20 7d 2c 00 00 00 30 09 09 5b 54 53 4d 5f 43 4f 4c 4f 52 5f 52 45 ,...0,...0.},...0..[TSM_COLOR_RE
1380 44 5d 20 20 20 20 20 20 20 20 20 20 20 3d 20 7b 20 32 30 35 2c 20 20 20 30 2c 20 20 20 30 20 7d D]...........=.{.205,...0,...0.}
13a0 2c 00 00 00 30 09 09 5b 54 53 4d 5f 43 4f 4c 4f 52 5f 47 52 45 45 4e 5d 20 20 20 20 20 20 20 20 ,...0..[TSM_COLOR_GREEN]........
13c0 20 3d 20 7b 20 20 20 30 2c 20 32 30 35 2c 20 20 20 30 20 7d 2c 00 00 00 30 09 09 5b 54 53 4d 5f .=.{...0,.205,...0.},...0..[TSM_
13e0 43 4f 4c 4f 52 5f 59 45 4c 4c 4f 57 5d 20 20 20 20 20 20 20 20 3d 20 7b 20 32 30 35 2c 20 32 30 COLOR_YELLOW]........=.{.205,.20
1400 35 2c 20 20 20 30 20 7d 2c 00 00 00 30 09 09 5b 54 53 4d 5f 43 4f 4c 4f 52 5f 42 4c 55 45 5d 20 5,...0.},...0..[TSM_COLOR_BLUE].
1420 20 20 20 20 20 20 20 20 20 3d 20 7b 20 20 20 30 2c 20 20 20 30 2c 20 32 33 38 20 7d 2c 00 00 00 .........=.{...0,...0,.238.},...
1440 30 09 09 5b 54 53 4d 5f 43 4f 4c 4f 52 5f 4d 41 47 45 4e 54 41 5d 20 20 20 20 20 20 20 3d 20 7b 0..[TSM_COLOR_MAGENTA].......=.{
1460 20 32 30 35 2c 20 20 20 30 2c 20 32 30 35 20 7d 2c 00 00 00 30 09 09 5b 54 53 4d 5f 43 4f 4c 4f .205,...0,.205.},...0..[TSM_COLO
1480 52 5f 43 59 41 4e 5d 20 20 20 20 20 20 20 20 20 20 3d 20 7b 20 20 20 30 2c 20 32 30 35 2c 20 32 R_CYAN]..........=.{...0,.205,.2
14a0 30 35 20 7d 2c 00 00 00 30 09 09 5b 54 53 4d 5f 43 4f 4c 4f 52 5f 4c 49 47 48 54 5f 47 52 45 59 05.},...0..[TSM_COLOR_LIGHT_GREY
14c0 5d 20 20 20 20 3d 20 7b 20 32 32 39 2c 20 32 32 39 2c 20 32 32 39 20 7d 2c 00 00 00 30 09 09 5b ]....=.{.229,.229,.229.},...0..[
14e0 54 53 4d 5f 43 4f 4c 4f 52 5f 44 41 52 4b 5f 47 52 45 59 5d 20 20 20 20 20 3d 20 7b 20 31 32 37 TSM_COLOR_DARK_GREY].....=.{.127
1500 2c 20 31 32 37 2c 20 31 32 37 20 7d 2c 00 00 00 30 09 09 5b 54 53 4d 5f 43 4f 4c 4f 52 5f 4c 49 ,.127,.127.},...0..[TSM_COLOR_LI
1520 47 48 54 5f 52 45 44 5d 20 20 20 20 20 3d 20 7b 20 32 35 35 2c 20 20 20 30 2c 20 20 20 30 20 7d GHT_RED].....=.{.255,...0,...0.}
1540 2c 00 00 00 30 09 09 5b 54 53 4d 5f 43 4f 4c 4f 52 5f 4c 49 47 48 54 5f 47 52 45 45 4e 5d 20 20 ,...0..[TSM_COLOR_LIGHT_GREEN]..
1560 20 3d 20 7b 20 20 20 30 2c 20 32 35 35 2c 20 20 20 30 20 7d 2c 00 00 00 30 09 09 5b 54 53 4d 5f .=.{...0,.255,...0.},...0..[TSM_
1580 43 4f 4c 4f 52 5f 4c 49 47 48 54 5f 59 45 4c 4c 4f 57 5d 20 20 3d 20 7b 20 32 35 35 2c 20 32 35 COLOR_LIGHT_YELLOW]..=.{.255,.25
15a0 35 2c 20 20 20 30 20 7d 2c 00 00 00 30 09 09 5b 54 53 4d 5f 43 4f 4c 4f 52 5f 4c 49 47 48 54 5f 5,...0.},...0..[TSM_COLOR_LIGHT_
15c0 42 4c 55 45 5d 20 20 20 20 3d 20 7b 20 20 39 32 2c 20 20 39 32 2c 20 32 35 35 20 7d 2c 00 00 00 BLUE]....=.{..92,..92,.255.},...
15e0 30 09 09 5b 54 53 4d 5f 43 4f 4c 4f 52 5f 4c 49 47 48 54 5f 4d 41 47 45 4e 54 41 5d 20 3d 20 7b 0..[TSM_COLOR_LIGHT_MAGENTA].=.{
1600 20 32 35 35 2c 20 20 20 30 2c 20 32 35 35 20 7d 2c 00 00 00 30 09 09 5b 54 53 4d 5f 43 4f 4c 4f .255,...0,.255.},...0..[TSM_COLO
1620 52 5f 4c 49 47 48 54 5f 43 59 41 4e 5d 20 20 20 20 3d 20 7b 20 20 20 30 2c 20 32 35 35 2c 20 32 R_LIGHT_CYAN]....=.{...0,.255,.2
1640 35 35 20 7d 2c 00 00 00 30 09 09 5b 54 53 4d 5f 43 4f 4c 4f 52 5f 57 48 49 54 45 5d 20 20 20 20 55.},...0..[TSM_COLOR_WHITE]....
1660 20 20 20 20 20 3d 20 7b 20 32 35 35 2c 20 32 35 35 2c 20 32 35 35 20 7d 2c 00 00 00 30 09 09 5b .....=.{.255,.255,.255.},...0..[
1680 54 53 4d 5f 43 4f 4c 4f 52 5f 46 4f 52 45 47 52 4f 55 4e 44 5d 20 20 20 20 3d 20 7b 20 32 32 39 TSM_COLOR_FOREGROUND]....=.{.229
16a0 2c 20 32 32 39 2c 20 32 32 39 20 7d 2c 00 00 00 30 09 09 5b 54 53 4d 5f 43 4f 4c 4f 52 5f 42 41 ,.229,.229.},...0..[TSM_COLOR_BA
16c0 43 4b 47 52 4f 55 4e 44 5d 20 20 20 20 3d 20 7b 20 20 20 30 2c 20 20 20 30 2c 20 20 20 30 20 7d CKGROUND]....=.{...0,...0,...0.}
16e0 2c 00 00 00 03 09 7d 2c 00 00 00 16 09 2e 6f 70 74 2e 61 70 70 5f 69 64 20 3d 20 22 68 61 76 6f ,.....},......opt.app_id.=."havo
1700 63 22 00 00 00 02 7d 3b 00 00 00 00 00 00 00 42 23 64 65 66 69 6e 65 20 65 72 72 6f 72 28 73 29 c"....};.......B#define.error(s)
1720 20 7b 20 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 73 20 22 3a 20 25 73 5c 6e 22 2c 20 73 .{.fprintf(stderr,.s.":.%s\n",.s
1740 74 72 65 72 72 6f 72 28 65 72 72 6e 6f 29 29 3b 20 7d 00 00 00 00 00 00 00 4c 73 74 61 74 69 63 trerror(errno));.}.......Lstatic
1760 20 76 6f 69 64 20 77 63 62 28 73 74 72 75 63 74 20 74 73 6d 5f 76 74 65 20 2a 76 74 65 2c 20 63 .void.wcb(struct.tsm_vte.*vte,.c
1780 6f 6e 73 74 20 63 68 61 72 20 2a 75 38 2c 20 73 69 7a 65 5f 74 20 6c 65 6e 2c 20 76 6f 69 64 20 onst.char.*u8,.size_t.len,.void.
17a0 2a 64 61 74 61 29 00 00 00 01 7b 00 00 00 19 09 61 73 73 65 72 74 28 6c 65 6e 20 3c 3d 20 50 49 *data)....{.....assert(len.<=.PI
17c0 50 45 5f 42 55 46 29 3b 00 00 00 3f 09 69 66 20 28 74 65 72 6d 2e 6d 61 73 74 65 72 5f 66 64 20 PE_BUF);...?.if.(term.master_fd.
17e0 3e 3d 20 30 20 26 26 20 77 72 69 74 65 28 74 65 72 6d 2e 6d 61 73 74 65 72 5f 66 64 2c 20 75 38 >=.0.&&.write(term.master_fd,.u8
1800 2c 20 6c 65 6e 29 20 3c 20 30 29 00 00 00 29 09 09 65 72 72 6f 72 28 22 63 6f 75 6c 64 20 6e 6f ,.len).<.0)...)..error("could.no
1820 74 20 77 72 69 74 65 20 74 6f 20 70 74 79 20 6d 61 73 74 65 72 22 29 3b 00 00 00 01 7d 00 00 00 t.write.to.pty.master");....}...
1840 00 00 00 00 22 73 74 61 74 69 63 20 76 6f 69 64 20 68 61 6e 64 6c 65 5f 64 69 73 70 6c 61 79 28 ...."static.void.handle_display(
1860 69 6e 74 20 65 76 29 00 00 00 01 7b 00 00 00 14 09 69 66 20 28 65 76 20 26 20 50 4f 4c 4c 48 55 int.ev)....{.....if.(ev.&.POLLHU
1880 50 29 20 7b 00 00 00 12 09 09 74 65 72 6d 2e 64 69 65 20 3d 20 74 72 75 65 3b 00 00 00 1a 09 7d P).{......term.die.=.true;.....}
18a0 20 65 6c 73 65 20 69 66 20 28 65 76 20 26 20 50 4f 4c 4c 49 4e 29 20 7b 00 00 00 2e 09 09 69 66 .else.if.(ev.&.POLLIN).{......if
18c0 20 28 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 28 74 65 72 6d 2e 64 69 73 70 6c .(wl_display_dispatch(term.displ
18e0 61 79 29 20 3c 20 30 29 20 7b 00 00 00 26 09 09 09 65 72 72 6f 72 28 22 63 6f 75 6c 64 20 6e 6f ay).<.0).{...&...error("could.no
1900 74 20 64 69 73 70 61 74 63 68 20 65 76 65 6e 74 73 22 29 3b 00 00 00 16 09 09 09 65 78 69 74 28 t.dispatch.events");.......exit(
1920 45 58 49 54 5f 46 41 49 4c 55 52 45 29 3b 00 00 00 03 09 09 7d 00 00 00 02 09 7d 00 00 00 01 7d EXIT_FAILURE);......}.....}....}
1940 00 00 00 00 00 00 00 1e 73 74 61 74 69 63 20 76 6f 69 64 20 68 61 6e 64 6c 65 5f 74 74 79 28 69 ........static.void.handle_tty(i
1960 6e 74 20 65 76 29 00 00 00 01 7b 00 00 00 0d 09 69 6e 74 20 6c 65 6e 20 3d 20 30 3b 00 00 00 00 nt.ev)....{.....int.len.=.0;....
1980 00 00 00 13 09 69 66 20 28 65 76 20 26 20 50 4f 4c 4c 49 4e 29 20 7b 00 00 00 11 09 09 63 68 61 .....if.(ev.&.POLLIN).{......cha
19a0 72 20 64 61 74 61 5b 32 35 36 5d 3b 00 00 00 00 00 00 00 1a 09 09 74 65 72 6d 2e 6e 65 65 64 5f r.data[256];..........term.need_
19c0 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 31 09 09 6c 65 6e 20 3d 20 72 65 61 64 28 74 redraw.=.true;...1..len.=.read(t
19e0 65 72 6d 2e 6d 61 73 74 65 72 5f 66 64 2c 20 64 61 74 61 2c 20 73 69 7a 65 6f 66 28 64 61 74 61 erm.master_fd,.data,.sizeof(data
1a00 29 29 3b 00 00 00 00 00 00 00 10 09 09 69 66 20 28 6c 65 6e 20 3c 20 30 29 20 7b 00 00 00 24 09 ));..........if.(len.<.0).{...$.
1a20 09 09 65 72 72 6f 72 28 22 63 6f 75 6c 64 20 6e 6f 74 20 72 65 61 64 20 66 72 6f 6d 20 70 74 79 ..error("could.not.read.from.pty
1a40 22 29 3b 00 00 00 0a 09 09 7d 20 65 6c 73 65 20 7b 00 00 00 26 09 09 09 74 73 6d 5f 76 74 65 5f ");......}.else.{...&...tsm_vte_
1a60 69 6e 70 75 74 28 74 65 72 6d 2e 76 74 65 2c 20 64 61 74 61 2c 20 6c 65 6e 29 3b 00 00 00 03 09 input(term.vte,.data,.len);.....
1a80 09 7d 00 00 00 02 09 7d 00 00 00 00 00 00 00 20 09 69 66 20 28 65 76 20 26 20 50 4f 4c 4c 48 55 .}.....}.........if.(ev.&.POLLHU
1aa0 50 20 26 26 20 6c 65 6e 20 3d 3d 20 30 29 20 7b 00 00 00 18 09 09 63 6c 6f 73 65 28 74 65 72 6d P.&&.len.==.0).{......close(term
1ac0 2e 6d 61 73 74 65 72 5f 66 64 29 3b 00 00 00 16 09 09 74 65 72 6d 2e 6d 61 73 74 65 72 5f 66 64 .master_fd);......term.master_fd
1ae0 20 3d 20 2d 31 3b 00 00 00 17 09 09 69 66 20 28 21 74 65 72 6d 2e 6f 70 74 2e 6c 69 6e 67 65 72 .=.-1;......if.(!term.opt.linger
1b00 29 00 00 00 13 09 09 09 74 65 72 6d 2e 64 69 65 20 3d 20 74 72 75 65 3b 00 00 00 02 09 7d 00 00 ).......term.die.=.true;.....}..
1b20 00 01 7d 00 00 00 00 00 00 00 1a 73 74 61 74 69 63 20 6c 6f 6e 67 20 6c 6f 6e 67 20 6e 6f 77 28 ..}........static.long.long.now(
1b40 76 6f 69 64 29 00 00 00 01 7b 00 00 00 13 09 73 74 72 75 63 74 20 74 69 6d 65 73 70 65 63 20 74 void)....{.....struct.timespec.t
1b60 3b 00 00 00 00 00 00 00 24 09 63 6c 6f 63 6b 5f 67 65 74 74 69 6d 65 28 43 4c 4f 43 4b 5f 4d 4f ;.......$.clock_gettime(CLOCK_MO
1b80 4e 4f 54 4f 4e 49 43 2c 20 26 74 29 3b 00 00 00 39 09 72 65 74 75 72 6e 20 28 6c 6f 6e 67 20 6c NOTONIC,.&t);...9.return.(long.l
1ba0 6f 6e 67 29 74 2e 74 76 5f 73 65 63 20 2a 20 31 30 30 30 20 2b 20 74 2e 74 76 5f 6e 73 65 63 20 ong)t.tv_sec.*.1000.+.t.tv_nsec.
1bc0 2f 20 31 30 30 30 30 30 30 3b 00 00 00 01 7d 00 00 00 00 00 00 00 1f 73 74 61 74 69 63 20 76 6f /.1000000;....}........static.vo
1be0 69 64 20 68 61 6e 64 6c 65 5f 72 65 70 65 61 74 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 0a 09 id.handle_repeat(void)....{.....
1c00 69 6e 74 20 64 69 66 66 3b 00 00 00 00 00 00 00 1d 09 69 66 20 28 74 65 72 6d 2e 72 65 70 65 61 int.diff;.........if.(term.repea
1c20 74 2e 74 69 6d 65 6f 75 74 20 3c 20 30 29 00 00 00 09 09 09 72 65 74 75 72 6e 3b 00 00 00 00 00 t.timeout.<.0)......return;.....
1c40 00 00 22 09 64 69 66 66 20 3d 20 6e 6f 77 28 29 20 2d 20 74 65 72 6d 2e 72 65 70 65 61 74 2e 73 ..".diff.=.now().-.term.repeat.s
1c60 74 61 72 74 3b 00 00 00 1b 09 74 65 72 6d 2e 72 65 70 65 61 74 2e 73 74 61 72 74 20 2b 3d 20 64 tart;.....term.repeat.start.+=.d
1c80 69 66 66 3b 00 00 00 00 00 00 00 23 09 69 66 20 28 64 69 66 66 20 3e 3d 20 74 65 72 6d 2e 72 65 iff;.......#.if.(diff.>=.term.re
1ca0 70 65 61 74 2e 74 69 6d 65 6f 75 74 29 20 7b 00 00 00 35 09 09 74 65 72 6d 2e 72 65 70 65 61 74 peat.timeout).{...5..term.repeat
1cc0 2e 74 69 6d 65 6f 75 74 20 2b 3d 20 74 65 72 6d 2e 72 65 70 65 61 74 2e 69 6e 74 65 72 76 61 6c .timeout.+=.term.repeat.interval
1ce0 20 2d 20 64 69 66 66 3b 00 00 00 1e 09 09 69 66 20 28 74 65 72 6d 2e 72 65 70 65 61 74 2e 74 69 .-.diff;......if.(term.repeat.ti
1d00 6d 65 6f 75 74 20 3c 20 30 29 00 00 00 1b 09 09 09 74 65 72 6d 2e 72 65 70 65 61 74 2e 74 69 6d meout.<.0).......term.repeat.tim
1d20 65 6f 75 74 20 3d 20 30 3b 00 00 00 00 00 00 00 1b 09 09 69 66 20 28 74 65 72 6d 2e 72 65 70 65 eout.=.0;..........if.(term.repe
1d40 61 74 2e 61 63 74 69 6f 6e 29 20 7b 00 00 00 18 09 09 09 74 65 72 6d 2e 72 65 70 65 61 74 2e 61 at.action).{.......term.repeat.a
1d60 63 74 69 6f 6e 28 29 3b 00 00 00 0a 09 09 09 72 65 74 75 72 6e 3b 00 00 00 03 09 09 7d 00 00 00 ction();.......return;......}...
1d80 00 00 00 00 34 09 09 74 73 6d 5f 76 74 65 5f 68 61 6e 64 6c 65 5f 6b 65 79 62 6f 61 72 64 28 74 ....4..tsm_vte_handle_keyboard(t
1da0 65 72 6d 2e 76 74 65 2c 20 74 65 72 6d 2e 72 65 70 65 61 74 2e 73 79 6d 2c 00 00 00 21 09 09 09 erm.vte,.term.repeat.sym,...!...
1dc0 09 09 58 4b 42 5f 4b 45 59 5f 4e 6f 53 79 6d 62 6f 6c 2c 20 74 65 72 6d 2e 6d 6f 64 73 2c 00 00 ..XKB_KEY_NoSymbol,.term.mods,..
1de0 00 1a 09 09 09 09 09 74 65 72 6d 2e 72 65 70 65 61 74 2e 75 6e 69 63 6f 64 65 29 3b 00 00 00 09 .......term.repeat.unicode);....
1e00 09 7d 20 65 6c 73 65 20 7b 00 00 00 1e 09 09 74 65 72 6d 2e 72 65 70 65 61 74 2e 74 69 6d 65 6f .}.else.{......term.repeat.timeo
1e20 75 74 20 2d 3d 20 64 69 66 66 3b 00 00 00 02 09 7d 00 00 00 01 7d 00 00 00 00 00 00 00 22 73 74 ut.-=.diff;.....}....}......."st
1e40 61 74 69 63 20 76 6f 69 64 20 63 75 72 73 6f 72 5f 64 72 61 77 28 69 6e 74 20 66 72 61 6d 65 29 atic.void.cursor_draw(int.frame)
1e60 00 00 00 01 7b 00 00 00 1a 09 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 66 ....{.....struct.wl_buffer.*buff
1e80 65 72 3b 00 00 00 1f 09 73 74 72 75 63 74 20 77 6c 5f 63 75 72 73 6f 72 5f 69 6d 61 67 65 20 2a er;.....struct.wl_cursor_image.*
1ea0 69 6d 61 67 65 3b 00 00 00 00 00 00 00 36 09 69 66 20 28 28 69 6e 74 29 74 65 72 6d 2e 63 75 72 image;.......6.if.((int)term.cur
1ec0 73 6f 72 2e 63 75 72 72 65 6e 74 2d 3e 69 6d 61 67 65 5f 63 6f 75 6e 74 20 3c 3d 20 66 72 61 6d sor.current->image_count.<=.fram
1ee0 65 29 20 7b 00 00 00 37 09 09 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 63 75 72 73 6f e).{...7..fprintf(stderr,."curso
1f00 72 20 66 72 61 6d 65 20 69 6e 64 65 78 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 5c 6e 22 29 3b 00 r.frame.index.out.of.range\n");.
1f20 00 00 09 09 09 72 65 74 75 72 6e 3b 00 00 00 02 09 7d 00 00 00 00 00 00 00 2c 09 69 6d 61 67 65 .....return;.....}.......,.image
1f40 20 3d 20 74 65 72 6d 2e 63 75 72 73 6f 72 2e 63 75 72 72 65 6e 74 2d 3e 69 6d 61 67 65 73 5b 66 .=.term.cursor.current->images[f
1f60 72 61 6d 65 5d 3b 00 00 00 2c 09 62 75 66 66 65 72 20 3d 20 77 6c 5f 63 75 72 73 6f 72 5f 69 6d rame];...,.buffer.=.wl_cursor_im
1f80 61 67 65 5f 67 65 74 5f 62 75 66 66 65 72 28 69 6d 61 67 65 29 3b 00 00 00 36 09 77 6c 5f 73 75 age_get_buffer(image);...6.wl_su
1fa0 72 66 61 63 65 5f 61 74 74 61 63 68 28 74 65 72 6d 2e 63 75 72 73 6f 72 2e 73 75 72 66 61 63 65 rface_attach(term.cursor.surface
1fc0 2c 20 62 75 66 66 65 72 2c 20 30 2c 20 30 29 3b 00 00 00 2d 09 77 6c 5f 73 75 72 66 61 63 65 5f ,.buffer,.0,.0);...-.wl_surface_
1fe0 64 61 6d 61 67 65 28 74 65 72 6d 2e 63 75 72 73 6f 72 2e 73 75 72 66 61 63 65 2c 20 30 2c 20 30 damage(term.cursor.surface,.0,.0
2000 2c 00 00 00 22 09 09 09 20 20 69 6d 61 67 65 2d 3e 77 69 64 74 68 2c 20 69 6d 61 67 65 2d 3e 68 ,...".....image->width,.image->h
2020 65 69 67 68 74 29 3b 00 00 00 28 09 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 74 65 eight);...(.wl_surface_commit(te
2040 72 6d 2e 63 75 72 73 6f 72 2e 73 75 72 66 61 63 65 29 3b 00 00 00 3a 09 77 6c 5f 70 6f 69 6e 74 rm.cursor.surface);...:.wl_point
2060 65 72 5f 73 65 74 5f 63 75 72 73 6f 72 28 74 65 72 6d 2e 70 74 72 2c 20 74 65 72 6d 2e 63 75 72 er_set_cursor(term.ptr,.term.cur
2080 73 6f 72 2e 65 6e 74 65 72 5f 73 65 72 69 61 6c 2c 00 00 00 1d 09 09 09 20 20 20 20 20 20 74 65 sor.enter_serial,.............te
20a0 72 6d 2e 63 75 72 73 6f 72 2e 73 75 72 66 61 63 65 2c 00 00 00 2d 09 09 09 20 20 20 20 20 20 69 rm.cursor.surface,...-.........i
20c0 6d 61 67 65 2d 3e 68 6f 74 73 70 6f 74 5f 78 2c 20 69 6d 61 67 65 2d 3e 68 6f 74 73 70 6f 74 5f mage->hotspot_x,.image->hotspot_
20e0 79 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 30 73 74 61 74 69 63 20 76 6f 69 64 20 63 75 72 73 y);....}.......0static.void.curs
2100 6f 72 5f 72 65 71 75 65 73 74 5f 66 72 61 6d 65 5f 63 61 6c 6c 62 61 63 6b 28 76 6f 69 64 29 3b or_request_frame_callback(void);
2120 00 00 00 00 00 00 00 45 73 74 61 74 69 63 20 76 6f 69 64 20 63 75 72 73 6f 72 5f 66 72 61 6d 65 .......Estatic.void.cursor_frame
2140 5f 63 61 6c 6c 62 61 63 6b 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f _callback(void.*data,.struct.wl_
2160 63 61 6c 6c 62 61 63 6b 20 2a 63 62 2c 00 00 00 14 09 09 09 09 20 20 75 69 6e 74 33 32 5f 74 20 callback.*cb,..........uint32_t.
2180 74 69 6d 65 29 00 00 00 01 7b 00 00 00 31 09 69 6e 74 20 66 72 61 6d 65 20 3d 20 77 6c 5f 63 75 time)....{...1.int.frame.=.wl_cu
21a0 72 73 6f 72 5f 66 72 61 6d 65 28 74 65 72 6d 2e 63 75 72 73 6f 72 2e 63 75 72 72 65 6e 74 2c 00 rsor_frame(term.cursor.current,.
21c0 00 00 28 09 09 09 09 20 20 20 20 6e 6f 77 28 29 20 2d 20 74 65 72 6d 2e 63 75 72 73 6f 72 2e 61 ..(........now().-.term.cursor.a
21e0 6e 69 6d 5f 73 74 61 72 74 29 3b 00 00 00 00 00 00 00 24 09 61 73 73 65 72 74 28 63 62 20 3d 3d nim_start);.......$.assert(cb.==
2200 20 74 65 72 6d 2e 63 75 72 73 6f 72 2e 63 61 6c 6c 62 61 63 6b 29 3b 00 00 00 2b 09 77 6c 5f 63 .term.cursor.callback);...+.wl_c
2220 61 6c 6c 62 61 63 6b 5f 64 65 73 74 72 6f 79 28 74 65 72 6d 2e 63 75 72 73 6f 72 2e 63 61 6c 6c allback_destroy(term.cursor.call
2240 62 61 63 6b 29 3b 00 00 00 21 09 63 75 72 73 6f 72 5f 72 65 71 75 65 73 74 5f 66 72 61 6d 65 5f back);...!.cursor_request_frame_
2260 63 61 6c 6c 62 61 63 6b 28 29 3b 00 00 00 14 09 63 75 72 73 6f 72 5f 64 72 61 77 28 66 72 61 6d callback();.....cursor_draw(fram
2280 65 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 42 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 e);....}.......Bstatic.const.str
22a0 75 63 74 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 5f 6c 69 73 74 65 6e 65 72 20 63 75 72 73 6f 72 5f uct.wl_callback_listener.cursor_
22c0 66 72 61 6d 65 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 1f 09 2e 64 6f 6e 65 20 3d 20 63 frame_listener.=.{......done.=.c
22e0 75 72 73 6f 72 5f 66 72 61 6d 65 5f 63 61 6c 6c 62 61 63 6b 2c 00 00 00 02 7d 3b 00 00 00 00 00 ursor_frame_callback,....};.....
2300 00 00 2f 73 74 61 74 69 63 20 76 6f 69 64 20 63 75 72 73 6f 72 5f 72 65 71 75 65 73 74 5f 66 72 ../static.void.cursor_request_fr
2320 61 6d 65 5f 63 61 6c 6c 62 61 63 6b 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 3e 09 74 65 72 6d ame_callback(void)....{...>.term
2340 2e 63 75 72 73 6f 72 2e 63 61 6c 6c 62 61 63 6b 20 3d 20 77 6c 5f 73 75 72 66 61 63 65 5f 66 72 .cursor.callback.=.wl_surface_fr
2360 61 6d 65 28 74 65 72 6d 2e 63 75 72 73 6f 72 2e 73 75 72 66 61 63 65 29 3b 00 00 00 47 09 77 6c ame(term.cursor.surface);...G.wl
2380 5f 63 61 6c 6c 62 61 63 6b 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 74 65 72 6d 2e 63 75 72 73 _callback_add_listener(term.curs
23a0 6f 72 2e 63 61 6c 6c 62 61 63 6b 2c 20 26 63 75 72 73 6f 72 5f 66 72 61 6d 65 5f 6c 69 73 74 65 or.callback,.&cursor_frame_liste
23c0 6e 65 72 2c 00 00 00 0b 09 09 09 09 20 4e 55 4c 4c 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 1e ner,.........NULL);....}........
23e0 73 74 61 74 69 63 20 76 6f 69 64 20 63 75 72 73 6f 72 5f 75 6e 73 65 74 28 76 6f 69 64 29 00 00 static.void.cursor_unset(void)..
2400 00 01 7b 00 00 00 1c 09 69 66 20 28 74 65 72 6d 2e 63 75 72 73 6f 72 2e 63 61 6c 6c 62 61 63 6b ..{.....if.(term.cursor.callback
2420 29 20 7b 00 00 00 2c 09 09 77 6c 5f 63 61 6c 6c 62 61 63 6b 5f 64 65 73 74 72 6f 79 28 74 65 72 ).{...,..wl_callback_destroy(ter
2440 6d 2e 63 75 72 73 6f 72 2e 63 61 6c 6c 62 61 63 6b 29 3b 00 00 00 1e 09 09 74 65 72 6d 2e 63 75 m.cursor.callback);......term.cu
2460 72 73 6f 72 2e 63 61 6c 6c 62 61 63 6b 20 3d 20 4e 55 4c 4c 3b 00 00 00 02 09 7d 00 00 00 1c 09 rsor.callback.=.NULL;.....}.....
2480 74 65 72 6d 2e 63 75 72 73 6f 72 2e 63 75 72 72 65 6e 74 20 3d 20 4e 55 4c 4c 3b 00 00 00 01 7d term.cursor.current.=.NULL;....}
24a0 00 00 00 00 00 00 00 30 73 74 61 74 69 63 20 76 6f 69 64 20 63 75 72 73 6f 72 5f 73 65 74 28 73 .......0static.void.cursor_set(s
24c0 74 72 75 63 74 20 77 6c 5f 63 75 72 73 6f 72 20 2a 63 75 72 73 6f 72 29 00 00 00 01 7b 00 00 00 truct.wl_cursor.*cursor)....{...
24e0 13 09 75 69 6e 74 33 32 5f 74 20 64 75 72 61 74 69 6f 6e 3b 00 00 00 0b 09 69 6e 74 20 66 72 61 ..uint32_t.duration;.....int.fra
2500 6d 65 3b 00 00 00 00 00 00 00 10 09 63 75 72 73 6f 72 5f 75 6e 73 65 74 28 29 3b 00 00 00 00 00 me;.........cursor_unset();.....
2520 00 00 16 09 69 66 20 28 74 65 72 6d 2e 70 74 72 20 3d 3d 20 4e 55 4c 4c 29 00 00 00 09 09 09 72 ....if.(term.ptr.==.NULL)......r
2540 65 74 75 72 6e 3b 00 00 00 00 00 00 00 14 09 69 66 20 28 63 75 72 73 6f 72 20 3d 3d 20 4e 55 4c eturn;.........if.(cursor.==.NUL
2560 4c 29 00 00 00 0c 09 09 67 6f 74 6f 20 68 69 64 65 3b 00 00 00 00 00 00 00 1e 09 74 65 72 6d 2e L)......goto.hide;.........term.
2580 63 75 72 73 6f 72 2e 63 75 72 72 65 6e 74 20 3d 20 63 75 72 73 6f 72 3b 00 00 00 00 00 00 00 49 cursor.current.=.cursor;.......I
25a0 09 66 72 61 6d 65 20 3d 20 77 6c 5f 63 75 72 73 6f 72 5f 66 72 61 6d 65 5f 61 6e 64 5f 64 75 72 .frame.=.wl_cursor_frame_and_dur
25c0 61 74 69 6f 6e 28 74 65 72 6d 2e 63 75 72 73 6f 72 2e 63 75 72 72 65 6e 74 2c 20 30 2c 20 26 64 ation(term.cursor.current,.0,.&d
25e0 75 72 61 74 69 6f 6e 29 3b 00 00 00 10 09 69 66 20 28 64 75 72 61 74 69 6f 6e 29 20 7b 00 00 00 uration);.....if.(duration).{...
2600 21 09 09 74 65 72 6d 2e 63 75 72 73 6f 72 2e 61 6e 69 6d 5f 73 74 61 72 74 20 3d 20 6e 6f 77 28 !..term.cursor.anim_start.=.now(
2620 29 3b 00 00 00 22 09 09 63 75 72 73 6f 72 5f 72 65 71 75 65 73 74 5f 66 72 61 6d 65 5f 63 61 6c );..."..cursor_request_frame_cal
2640 6c 62 61 63 6b 28 29 3b 00 00 00 02 09 7d 00 00 00 14 09 63 75 72 73 6f 72 5f 64 72 61 77 28 66 lback();.....}.....cursor_draw(f
2660 72 61 6d 65 29 3b 00 00 00 00 00 00 00 08 09 72 65 74 75 72 6e 3b 00 00 00 05 68 69 64 65 3a 00 rame);.........return;....hide:.
2680 00 00 47 09 77 6c 5f 70 6f 69 6e 74 65 72 5f 73 65 74 5f 63 75 72 73 6f 72 28 74 65 72 6d 2e 70 ..G.wl_pointer_set_cursor(term.p
26a0 74 72 2c 20 74 65 72 6d 2e 63 75 72 73 6f 72 2e 65 6e 74 65 72 5f 73 65 72 69 61 6c 2c 20 4e 55 tr,.term.cursor.enter_serial,.NU
26c0 4c 4c 2c 20 30 2c 20 30 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 1d 73 74 61 74 69 63 20 76 6f LL,.0,.0);....}........static.vo
26e0 69 64 20 63 75 72 73 6f 72 5f 69 6e 69 74 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 0f 09 69 6e id.cursor_init(void)....{.....in
2700 74 20 73 69 7a 65 20 3d 20 33 32 3b 00 00 00 29 09 63 68 61 72 20 2a 73 69 7a 65 5f 73 74 72 20 t.size.=.32;...).char.*size_str.
2720 3d 20 67 65 74 65 6e 76 28 22 58 43 55 52 53 4f 52 5f 53 49 5a 45 22 29 3b 00 00 00 1f 09 73 74 =.getenv("XCURSOR_SIZE");.....st
2740 72 75 63 74 20 77 6c 5f 63 75 72 73 6f 72 20 2a 74 65 78 74 20 3d 20 4e 55 4c 4c 3b 00 00 00 00 ruct.wl_cursor.*text.=.NULL;....
2760 00 00 00 1d 09 69 66 20 28 73 69 7a 65 5f 73 74 72 20 26 26 20 2a 73 69 7a 65 5f 73 74 72 29 20 .....if.(size_str.&&.*size_str).
2780 7b 00 00 00 0c 09 09 63 68 61 72 20 2a 65 6e 64 3b 00 00 00 09 09 09 6c 6f 6e 67 20 73 3b 00 00 {......char.*end;......long.s;..
27a0 00 00 00 00 00 0c 09 09 65 72 72 6e 6f 20 3d 20 30 3b 00 00 00 21 09 09 73 20 3d 20 73 74 72 74 ........errno.=.0;...!..s.=.strt
27c0 6f 6c 28 73 69 7a 65 5f 73 74 72 2c 20 26 65 6e 64 2c 20 31 30 29 3b 00 00 00 2a 09 09 69 66 20 ol(size_str,.&end,.10);...*..if.
27e0 28 65 72 72 6e 6f 20 3d 3d 20 30 20 26 26 20 2a 65 6e 64 20 3d 3d 20 27 5c 30 27 20 26 26 20 73 (errno.==.0.&&.*end.==.'\0'.&&.s
2800 20 3e 20 30 29 00 00 00 0c 09 09 09 73 69 7a 65 20 3d 20 73 3b 00 00 00 02 09 7d 00 00 00 00 00 .>.0).......size.=.s;.....}.....
2820 00 00 48 09 74 65 72 6d 2e 63 75 72 73 6f 72 2e 74 68 65 6d 65 20 3d 20 77 6c 5f 63 75 72 73 6f ..H.term.cursor.theme.=.wl_curso
2840 72 5f 74 68 65 6d 65 5f 6c 6f 61 64 28 67 65 74 65 6e 76 28 22 58 43 55 52 53 4f 52 5f 54 48 45 r_theme_load(getenv("XCURSOR_THE
2860 4d 45 22 29 2c 20 73 69 7a 65 2c 00 00 00 11 09 09 09 09 09 09 20 74 65 72 6d 2e 73 68 6d 29 3b ME"),.size,...........term.shm);
2880 00 00 00 1f 09 69 66 20 28 74 65 72 6d 2e 63 75 72 73 6f 72 2e 74 68 65 6d 65 20 3d 3d 20 4e 55 .....if.(term.cursor.theme.==.NU
28a0 4c 4c 29 00 00 00 09 09 09 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 3e 09 74 65 78 74 20 3d 20 LL)......return;.......>.text.=.
28c0 77 6c 5f 63 75 72 73 6f 72 5f 74 68 65 6d 65 5f 67 65 74 5f 63 75 72 73 6f 72 28 74 65 72 6d 2e wl_cursor_theme_get_cursor(term.
28e0 63 75 72 73 6f 72 2e 74 68 65 6d 65 2c 20 22 74 65 78 74 22 29 3b 00 00 00 12 09 69 66 20 28 74 cursor.theme,."text");.....if.(t
2900 65 78 74 20 3d 3d 20 4e 55 4c 4c 29 00 00 00 40 09 09 74 65 78 74 20 3d 20 77 6c 5f 63 75 72 73 ext.==.NULL)...@..text.=.wl_curs
2920 6f 72 5f 74 68 65 6d 65 5f 67 65 74 5f 63 75 72 73 6f 72 28 74 65 72 6d 2e 63 75 72 73 6f 72 2e or_theme_get_cursor(term.cursor.
2940 74 68 65 6d 65 2c 20 22 69 62 65 61 6d 22 29 3b 00 00 00 12 09 69 66 20 28 74 65 78 74 20 3d 3d theme,."ibeam");.....if.(text.==
2960 20 4e 55 4c 4c 29 00 00 00 40 09 09 74 65 78 74 20 3d 20 77 6c 5f 63 75 72 73 6f 72 5f 74 68 65 .NULL)...@..text.=.wl_cursor_the
2980 6d 65 5f 67 65 74 5f 63 75 72 73 6f 72 28 74 65 72 6d 2e 63 75 72 73 6f 72 2e 74 68 65 6d 65 2c me_get_cursor(term.cursor.theme,
29a0 20 22 78 74 65 72 6d 22 29 3b 00 00 00 00 00 00 00 3d 09 74 65 72 6d 2e 63 75 72 73 6f 72 2e 73 ."xterm");.......=.term.cursor.s
29c0 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
29e0 72 66 61 63 65 28 74 65 72 6d 2e 63 70 29 3b 00 00 00 23 09 69 66 20 28 74 65 72 6d 2e 63 75 72 rface(term.cp);...#.if.(term.cur
2a00 73 6f 72 2e 73 75 72 66 61 63 65 20 3d 3d 20 4e 55 4c 4c 29 20 7b 00 00 00 2d 09 09 77 6c 5f 63 sor.surface.==.NULL).{...-..wl_c
2a20 75 72 73 6f 72 5f 74 68 65 6d 65 5f 64 65 73 74 72 6f 79 28 74 65 72 6d 2e 63 75 72 73 6f 72 2e ursor_theme_destroy(term.cursor.
2a40 74 68 65 6d 65 29 3b 00 00 00 1b 09 09 74 65 72 6d 2e 63 75 72 73 6f 72 2e 74 68 65 6d 65 20 3d theme);......term.cursor.theme.=
2a60 20 4e 55 4c 4c 3b 00 00 00 09 09 09 72 65 74 75 72 6e 3b 00 00 00 02 09 7d 00 00 00 00 00 00 00 .NULL;......return;.....}.......
2a80 19 09 74 65 72 6d 2e 63 75 72 73 6f 72 2e 74 65 78 74 20 3d 20 74 65 78 74 3b 00 00 00 01 7d 00 ..term.cursor.text.=.text;....}.
2aa0 00 00 00 00 00 00 1d 73 74 61 74 69 63 20 76 6f 69 64 20 63 75 72 73 6f 72 5f 66 72 65 65 28 76 .......static.void.cursor_free(v
2ac0 6f 69 64 29 00 00 00 01 7b 00 00 00 1a 09 69 66 20 28 74 65 72 6d 2e 63 75 72 73 6f 72 2e 63 61 oid)....{.....if.(term.cursor.ca
2ae0 6c 6c 62 61 63 6b 29 00 00 00 2c 09 09 77 6c 5f 63 61 6c 6c 62 61 63 6b 5f 64 65 73 74 72 6f 79 llback)...,..wl_callback_destroy
2b00 28 74 65 72 6d 2e 63 75 72 73 6f 72 2e 63 61 6c 6c 62 61 63 6b 29 3b 00 00 00 19 09 69 66 20 28 (term.cursor.callback);.....if.(
2b20 74 65 72 6d 2e 63 75 72 73 6f 72 2e 73 75 72 66 61 63 65 29 00 00 00 2a 09 09 77 6c 5f 73 75 72 term.cursor.surface)...*..wl_sur
2b40 66 61 63 65 5f 64 65 73 74 72 6f 79 28 74 65 72 6d 2e 63 75 72 73 6f 72 2e 73 75 72 66 61 63 65 face_destroy(term.cursor.surface
2b60 29 3b 00 00 00 17 09 69 66 20 28 74 65 72 6d 2e 63 75 72 73 6f 72 2e 74 68 65 6d 65 29 00 00 00 );.....if.(term.cursor.theme)...
2b80 2d 09 09 77 6c 5f 63 75 72 73 6f 72 5f 74 68 65 6d 65 5f 64 65 73 74 72 6f 79 28 74 65 72 6d 2e -..wl_cursor_theme_destroy(term.
2ba0 63 75 72 73 6f 72 2e 74 68 65 6d 65 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 23 23 64 65 66 69 cursor.theme);....}.......##defi
2bc0 6e 65 20 52 45 50 4c 41 43 45 4d 45 4e 54 5f 43 48 41 52 20 30 78 30 30 30 30 66 66 66 64 00 00 ne.REPLACEMENT_CHAR.0x0000fffd..
2be0 00 00 00 00 00 45 73 74 61 74 69 63 20 69 6e 74 20 75 74 66 38 5f 74 6f 5f 75 74 66 33 32 28 63 .....Estatic.int.utf8_to_utf32(c
2c00 68 61 72 20 63 6f 6e 73 74 20 2a 2a 75 74 66 38 2c 20 73 69 7a 65 5f 74 20 2a 6c 65 6e 2c 20 75 har.const.**utf8,.size_t.*len,.u
2c20 69 6e 74 33 32 5f 74 20 2a 72 29 00 00 00 01 7b 00 00 00 2d 09 73 74 61 74 69 63 20 75 6e 73 69 int32_t.*r)....{...-.static.unsi
2c40 67 6e 65 64 20 63 68 61 72 20 63 6f 6e 73 74 20 74 61 69 6c 5f 6c 65 6e 5b 31 32 38 5d 20 3d 20 gned.char.const.tail_len[128].=.
2c60 7b 00 00 00 31 09 09 30 2c 20 30 2c 20 30 2c 20 30 2c 20 30 2c 20 30 2c 20 30 2c 20 30 2c 20 30 {...1..0,.0,.0,.0,.0,.0,.0,.0,.0
2c80 2c 20 30 2c 20 30 2c 20 30 2c 20 30 2c 20 30 2c 20 30 2c 20 30 2c 00 00 00 31 09 09 30 2c 20 30 ,.0,.0,.0,.0,.0,.0,.0,...1..0,.0
2ca0 2c 20 30 2c 20 30 2c 20 30 2c 20 30 2c 20 30 2c 20 30 2c 20 30 2c 20 30 2c 20 30 2c 20 30 2c 20 ,.0,.0,.0,.0,.0,.0,.0,.0,.0,.0,.
2cc0 30 2c 20 30 2c 20 30 2c 20 30 2c 00 00 00 31 09 09 30 2c 20 30 2c 20 30 2c 20 30 2c 20 30 2c 20 0,.0,.0,.0,...1..0,.0,.0,.0,.0,.
2ce0 30 2c 20 30 2c 20 30 2c 20 30 2c 20 30 2c 20 30 2c 20 30 2c 20 30 2c 20 30 2c 20 30 2c 20 30 2c 0,.0,.0,.0,.0,.0,.0,.0,.0,.0,.0,
2d00 00 00 00 31 09 09 30 2c 20 30 2c 20 30 2c 20 30 2c 20 30 2c 20 30 2c 20 30 2c 20 30 2c 20 30 2c ...1..0,.0,.0,.0,.0,.0,.0,.0,.0,
2d20 20 30 2c 20 30 2c 20 30 2c 20 30 2c 20 30 2c 20 30 2c 20 30 2c 00 00 00 31 09 09 31 2c 20 31 2c .0,.0,.0,.0,.0,.0,.0,...1..1,.1,
2d40 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 31 .1,.1,.1,.1,.1,.1,.1,.1,.1,.1,.1
2d60 2c 20 31 2c 20 31 2c 20 31 2c 00 00 00 31 09 09 31 2c 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 31 ,.1,.1,.1,...1..1,.1,.1,.1,.1,.1
2d80 2c 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 31 2c 00 ,.1,.1,.1,.1,.1,.1,.1,.1,.1,.1,.
2da0 00 00 31 09 09 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 ..1..2,.2,.2,.2,.2,.2,.2,.2,.2,.
2dc0 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 00 00 00 30 09 09 33 2c 20 33 2c 20 2,.2,.2,.2,.2,.2,.2,...0..3,.3,.
2de0 33 2c 20 33 2c 20 33 2c 20 33 2c 20 33 2c 20 33 2c 20 30 2c 20 30 2c 20 30 2c 20 30 2c 20 30 2c 3,.3,.3,.3,.3,.3,.0,.0,.0,.0,.0,
2e00 20 30 2c 20 30 2c 20 30 00 00 00 03 09 7d 3b 00 00 00 24 09 75 6e 73 69 67 6e 65 64 20 63 68 61 .0,.0,.0.....};...$.unsigned.cha
2e20 72 20 74 61 69 6c 2c 20 63 20 3d 20 2a 28 2a 75 74 66 38 29 2b 2b 3b 00 00 00 00 00 00 00 0a 09 r.tail,.c.=.*(*utf8)++;.........
2e40 2d 2d 28 2a 6c 65 6e 29 3b 00 00 00 10 09 69 66 20 28 63 20 3c 20 30 78 38 30 29 20 7b 00 00 00 --(*len);.....if.(c.<.0x80).{...
2e60 09 09 09 2a 72 20 3d 20 63 3b 00 00 00 0b 09 09 72 65 74 75 72 6e 20 30 3b 00 00 00 02 09 7d 00 ...*r.=.c;......return.0;.....}.
2e80 00 00 00 00 00 00 1b 09 74 61 69 6c 20 3d 20 74 61 69 6c 5f 6c 65 6e 5b 63 20 2d 20 30 78 38 30 ........tail.=.tail_len[c.-.0x80
2ea0 5d 3b 00 00 00 00 00 00 00 0d 09 69 66 20 28 21 74 61 69 6c 29 20 7b 00 00 00 2e 09 09 2f 2a 20 ];.........if.(!tail).{....../*.
2ec0 6d 69 64 64 6c 65 20 6f 66 20 61 20 63 68 61 72 61 63 74 65 72 20 6f 72 20 74 61 69 6c 20 74 6f middle.of.a.character.or.tail.to
2ee0 6f 20 6c 6f 6e 67 20 2a 2f 00 00 00 18 09 09 2a 72 20 3d 20 52 45 50 4c 41 43 45 4d 45 4e 54 5f o.long.*/......*r.=.REPLACEMENT_
2f00 43 48 41 52 3b 00 00 00 0b 09 09 72 65 74 75 72 6e 20 30 3b 00 00 00 1a 09 7d 20 65 6c 73 65 20 CHAR;......return.0;.....}.else.
2f20 69 66 20 28 74 61 69 6c 20 3e 20 2a 6c 65 6e 29 20 7b 00 00 00 30 09 09 2f 2a 20 6e 65 65 64 20 if.(tail.>.*len).{...0../*.need.
2f40 6d 6f 72 65 20 69 6e 70 75 74 20 66 6f 72 20 61 20 63 6f 6d 70 6c 65 74 65 20 63 68 61 72 61 63 more.input.for.a.complete.charac
2f60 74 65 72 20 2a 2f 00 00 00 16 09 09 2b 2b 28 2a 6c 65 6e 29 2c 20 2d 2d 28 2a 75 74 66 38 29 3b ter.*/......++(*len),.--(*utf8);
2f80 00 00 00 0b 09 09 72 65 74 75 72 6e 20 31 3b 00 00 00 02 09 7d 00 00 00 00 00 00 00 27 09 2f 2a ......return.1;.....}.......'./*
2fa0 20 72 65 6d 6f 76 65 20 6c 65 6e 67 74 68 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 20 62 69 74 .remove.length.specification.bit
2fc0 73 20 2a 2f 00 00 00 17 09 2a 72 20 3d 20 63 20 26 20 30 78 33 66 20 3e 3e 20 74 61 69 6c 3b 00 s.*/.....*r.=.c.&.0x3f.>>.tail;.
2fe0 00 00 00 00 00 00 11 09 77 68 69 6c 65 20 28 74 61 69 6c 2d 2d 29 20 7b 00 00 00 11 09 09 63 20 ........while.(tail--).{......c.
3000 3d 20 2a 28 2a 75 74 66 38 29 2b 2b 3b 00 00 00 0b 09 09 2d 2d 28 2a 6c 65 6e 29 3b 00 00 00 1b =.*(*utf8)++;......--(*len);....
3020 09 09 69 66 20 28 28 63 20 26 20 30 78 63 30 29 20 21 3d 20 30 78 38 30 29 20 7b 00 00 00 19 09 ..if.((c.&.0xc0).!=.0x80).{.....
3040 09 09 2a 72 20 3d 20 52 45 50 4c 41 43 45 4d 45 4e 54 5f 43 48 41 52 3b 00 00 00 17 09 09 09 2b ..*r.=.REPLACEMENT_CHAR;.......+
3060 2b 28 2a 6c 65 6e 29 2c 20 2d 2d 28 2a 75 74 66 38 29 3b 00 00 00 0c 09 09 09 72 65 74 75 72 6e +(*len),.--(*utf8);.......return
3080 20 30 3b 00 00 00 03 09 09 7d 00 00 00 1e 09 09 2a 72 20 3d 20 28 2a 72 20 3c 3c 20 36 29 20 2b .0;......}......*r.=.(*r.<<.6).+
30a0 20 28 63 20 26 20 30 78 33 66 29 3b 00 00 00 02 09 7d 00 00 00 0a 09 72 65 74 75 72 6e 20 30 3b .(c.&.0x3f);.....}.....return.0;
30c0 00 00 00 01 7d 00 00 00 00 00 00 00 1b 73 74 61 74 69 63 20 76 6f 69 64 20 65 6e 64 5f 70 61 73 ....}........static.void.end_pas
30e0 74 65 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 1d 09 74 73 6d 5f 76 74 65 5f 70 61 73 74 65 5f te(void)....{.....tsm_vte_paste_
3100 65 6e 64 28 74 65 72 6d 2e 76 74 65 29 3b 00 00 00 19 09 63 6c 6f 73 65 28 74 65 72 6d 2e 70 61 end(term.vte);.....close(term.pa
3120 73 74 65 2e 66 64 5b 30 5d 29 3b 00 00 00 17 09 74 65 72 6d 2e 70 61 73 74 65 2e 66 64 5b 30 5d ste.fd[0]);.....term.paste.fd[0]
3140 20 3d 20 2d 31 3b 00 00 00 14 09 74 65 72 6d 2e 70 61 73 74 65 2e 6c 65 6e 20 3d 20 30 3b 00 00 .=.-1;.....term.paste.len.=.0;..
3160 00 1b 09 74 65 72 6d 2e 70 61 73 74 65 2e 61 63 74 69 76 65 20 3d 20 66 61 6c 73 65 3b 00 00 00 ...term.paste.active.=.false;...
3180 01 7d 00 00 00 00 00 00 00 20 73 74 61 74 69 63 20 76 6f 69 64 20 68 61 6e 64 6c 65 5f 70 61 73 .}........static.void.handle_pas
31a0 74 65 28 69 6e 74 20 65 76 29 00 00 00 01 7b 00 00 00 13 09 69 66 20 28 65 76 20 26 20 50 4f 4c te(int.ev)....{.....if.(ev.&.POL
31c0 4c 49 4e 29 20 7b 00 00 00 10 09 09 75 69 6e 74 33 32 5f 74 20 63 6f 64 65 3b 00 00 00 0e 09 09 LIN).{......uint32_t.code;......
31e0 73 73 69 7a 65 5f 74 20 6c 65 6e 3b 00 00 00 25 09 09 63 68 61 72 20 63 6f 6e 73 74 20 2a 70 20 ssize_t.len;...%..char.const.*p.
3200 3d 20 26 74 65 72 6d 2e 70 61 73 74 65 2e 62 75 66 5b 30 5d 3b 00 00 00 00 00 00 00 1e 09 09 6c =.&term.paste.buf[0];..........l
3220 65 6e 20 3d 20 72 65 61 64 28 74 65 72 6d 2e 70 61 73 74 65 2e 66 64 5b 30 5d 2c 00 00 00 26 09 en.=.read(term.paste.fd[0],...&.
3240 09 09 20 20 20 74 65 72 6d 2e 70 61 73 74 65 2e 62 75 66 20 2b 20 74 65 72 6d 2e 70 61 73 74 65 .....term.paste.buf.+.term.paste
3260 2e 6c 65 6e 2c 00 00 00 2e 09 09 09 20 20 20 73 69 7a 65 6f 66 20 74 65 72 6d 2e 70 61 73 74 65 .len,..........sizeof.term.paste
3280 2e 62 75 66 20 2d 20 74 65 72 6d 2e 70 61 73 74 65 2e 6c 65 6e 29 3b 00 00 00 00 00 00 00 11 09 .buf.-.term.paste.len);.........
32a0 09 69 66 20 28 6c 65 6e 20 3c 3d 20 30 29 20 7b 00 00 00 0f 09 09 09 65 6e 64 5f 70 61 73 74 65 .if.(len.<=.0).{.......end_paste
32c0 28 29 3b 00 00 00 0a 09 09 09 72 65 74 75 72 6e 3b 00 00 00 03 09 09 7d 00 00 00 00 00 00 00 29 ();.......return;......}.......)
32e0 09 09 69 66 20 28 74 65 72 6d 2e 63 66 67 2e 73 63 72 6f 6c 6c 5f 74 6f 5f 62 6f 74 74 6f 6d 5f ..if.(term.cfg.scroll_to_bottom_
3300 6f 6e 5f 69 6e 70 75 74 29 00 00 00 24 09 09 09 74 73 6d 5f 73 63 72 65 65 6e 5f 73 62 5f 72 65 on_input)...$...tsm_screen_sb_re
3320 73 65 74 28 74 65 72 6d 2e 73 63 72 65 65 6e 29 3b 00 00 00 00 00 00 00 1a 09 09 74 65 72 6d 2e set(term.screen);..........term.
3340 6e 65 65 64 5f 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 18 09 09 74 65 72 6d 2e 70 61 need_redraw.=.true;......term.pa
3360 73 74 65 2e 6c 65 6e 20 2b 3d 20 6c 65 6e 3b 00 00 00 1e 09 09 77 68 69 6c 65 20 28 74 65 72 6d ste.len.+=.len;......while.(term
3380 2e 70 61 73 74 65 2e 6c 65 6e 20 3e 20 30 29 20 7b 00 00 00 33 09 09 09 69 66 20 28 75 74 66 38 .paste.len.>.0).{...3...if.(utf8
33a0 5f 74 6f 5f 75 74 66 33 32 28 26 70 2c 20 26 74 65 72 6d 2e 70 61 73 74 65 2e 6c 65 6e 2c 20 26 _to_utf32(&p,.&term.paste.len,.&
33c0 63 6f 64 65 29 29 20 7b 00 00 00 2f 09 09 09 09 6d 65 6d 63 70 79 28 26 74 65 72 6d 2e 70 61 73 code)).{.../....memcpy(&term.pas
33e0 74 65 2e 62 75 66 2c 20 70 2c 20 74 65 72 6d 2e 70 61 73 74 65 2e 6c 65 6e 29 3b 00 00 00 0a 09 te.buf,.p,.term.paste.len);.....
3400 09 09 09 62 72 65 61 6b 3b 00 00 00 04 09 09 09 7d 00 00 00 36 09 09 09 74 73 6d 5f 76 74 65 5f ...break;.......}...6...tsm_vte_
3420 68 61 6e 64 6c 65 5f 6b 65 79 62 6f 61 72 64 28 74 65 72 6d 2e 76 74 65 2c 20 58 4b 42 5f 4b 45 handle_keyboard(term.vte,.XKB_KE
3440 59 5f 4e 6f 53 79 6d 62 6f 6c 2c 00 00 00 21 09 09 09 09 09 09 58 4b 42 5f 4b 45 59 5f 4e 6f 53 Y_NoSymbol,...!......XKB_KEY_NoS
3460 79 6d 62 6f 6c 2c 20 30 2c 20 63 6f 64 65 29 3b 00 00 00 03 09 09 7d 00 00 00 1b 09 7d 20 65 6c ymbol,.0,.code);......}.....}.el
3480 73 65 20 69 66 20 28 65 76 20 26 20 50 4f 4c 4c 48 55 50 29 20 7b 00 00 00 0e 09 09 65 6e 64 5f se.if.(ev.&.POLLHUP).{......end_
34a0 70 61 73 74 65 28 29 3b 00 00 00 02 09 7d 00 00 00 01 7d 00 00 00 00 00 00 00 28 73 74 61 74 69 paste();.....}....}.......(stati
34c0 63 20 76 6f 69 64 20 28 2a 70 63 62 5b 4e 55 4d 5f 50 4f 4c 4c 46 44 53 5d 29 28 69 6e 74 29 20 c.void.(*pcb[NUM_POLLFDS])(int).
34e0 3d 20 7b 00 00 00 1f 09 5b 45 56 5f 44 49 53 50 4c 41 59 5d 20 3d 20 68 61 6e 64 6c 65 5f 64 69 =.{.....[EV_DISPLAY].=.handle_di
3500 73 70 6c 61 79 2c 00 00 00 17 09 5b 45 56 5f 54 54 59 5d 20 3d 20 68 61 6e 64 6c 65 5f 74 74 79 splay,.....[EV_TTY].=.handle_tty
3520 2c 00 00 00 1b 09 5b 45 56 5f 50 41 53 54 45 5d 20 3d 20 68 61 6e 64 6c 65 5f 70 61 73 74 65 2c ,.....[EV_PASTE].=.handle_paste,
3540 00 00 00 02 7d 3b 00 00 00 00 00 00 00 3b 73 74 61 74 69 63 20 76 6f 69 64 20 62 75 66 66 65 72 ....};.......;static.void.buffer
3560 5f 72 65 6c 65 61 73 65 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 62 _release(void.*data,.struct.wl_b
3580 75 66 66 65 72 20 2a 62 29 00 00 00 01 7b 00 00 00 1e 09 73 74 72 75 63 74 20 62 75 66 66 65 72 uffer.*b)....{.....struct.buffer
35a0 20 2a 62 75 66 66 65 72 20 3d 20 64 61 74 61 3b 00 00 00 00 00 00 00 16 09 62 75 66 66 65 72 2d .*buffer.=.data;.........buffer-
35c0 3e 62 75 73 79 20 3d 20 66 61 6c 73 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 3a 73 74 61 74 69 >busy.=.false;....}.......:stati
35e0 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 5f 6c 69 73 74 65 6e 65 c.const.struct.wl_buffer_listene
3600 72 20 62 75 66 66 65 72 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 1b 09 2e 72 65 6c 65 61 r.buffer_listener.=.{......relea
3620 73 65 20 3d 20 62 75 66 66 65 72 5f 72 65 6c 65 61 73 65 2c 00 00 00 02 7d 3b 00 00 00 00 00 00 se.=.buffer_release,....};......
3640 00 2a 73 74 61 74 69 63 20 69 6e 74 20 62 75 66 66 65 72 5f 69 6e 69 74 28 73 74 72 75 63 74 20 .*static.int.buffer_init(struct.
3660 62 75 66 66 65 72 20 2a 62 75 66 29 00 00 00 01 7b 00 00 00 1a 09 73 74 72 75 63 74 20 77 6c 5f buffer.*buf)....{.....struct.wl_
3680 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 3b 00 00 00 13 09 63 68 61 72 20 73 68 6d 5f 6e 61 6d shm_pool.*pool;.....char.shm_nam
36a0 65 5b 31 34 5d 3b 00 00 00 10 09 69 6e 74 20 66 64 2c 20 73 74 72 69 64 65 3b 00 00 00 0f 09 69 e[14];.....int.fd,.stride;.....i
36c0 6e 74 20 6d 61 78 20 3d 20 31 30 30 3b 00 00 00 00 00 00 00 14 09 61 73 73 65 72 74 28 21 62 75 nt.max.=.100;.........assert(!bu
36e0 66 2d 3e 62 75 73 79 29 3b 00 00 00 00 00 00 00 19 09 73 74 72 69 64 65 20 3d 20 74 65 72 6d 2e f->busy);.........stride.=.term.
3700 77 69 64 74 68 20 2a 20 34 3b 00 00 00 22 09 62 75 66 2d 3e 73 69 7a 65 20 3d 20 73 74 72 69 64 width.*.4;...".buf->size.=.strid
3720 65 20 2a 20 74 65 72 6d 2e 68 65 69 67 68 74 3b 00 00 00 00 00 00 00 13 09 73 72 61 6e 64 28 74 e.*.term.height;.........srand(t
3740 69 6d 65 28 4e 55 4c 4c 29 29 3b 00 00 00 05 09 64 6f 20 7b 00 00 00 33 09 09 73 70 72 69 6e 74 ime(NULL));.....do.{...3..sprint
3760 66 28 73 68 6d 5f 6e 61 6d 65 2c 20 22 2f 68 61 76 6f 63 2d 25 64 22 2c 20 72 61 6e 64 28 29 20 f(shm_name,."/havoc-%d",.rand().
3780 25 20 31 30 30 30 30 30 30 29 3b 00 00 00 3b 09 09 66 64 20 3d 20 73 68 6d 5f 6f 70 65 6e 28 73 %.1000000);...;..fd.=.shm_open(s
37a0 68 6d 5f 6e 61 6d 65 2c 20 4f 5f 52 44 57 52 20 7c 20 4f 5f 43 52 45 41 54 20 7c 20 4f 5f 45 58 hm_name,.O_RDWR.|.O_CREAT.|.O_EX
37c0 43 4c 2c 20 30 36 30 30 29 3b 00 00 00 2e 09 7d 20 77 68 69 6c 65 20 28 66 64 20 3c 20 30 20 26 CL,.0600);.....}.while.(fd.<.0.&
37e0 26 20 65 72 72 6e 6f 20 3d 3d 20 45 45 58 49 53 54 20 26 26 20 2d 2d 6d 61 78 29 3b 00 00 00 00 &.errno.==.EEXIST.&&.--max);....
3800 00 00 00 0e 09 69 66 20 28 66 64 20 3c 20 30 29 20 7b 00 00 00 1b 09 09 65 72 72 6f 72 28 22 73 .....if.(fd.<.0).{......error("s
3820 68 6d 5f 6f 70 65 6e 20 66 61 69 6c 65 64 22 29 3b 00 00 00 0c 09 09 72 65 74 75 72 6e 20 2d 31 hm_open.failed");......return.-1
3840 3b 00 00 00 02 09 7d 00 00 00 16 09 73 68 6d 5f 75 6e 6c 69 6e 6b 28 73 68 6d 5f 6e 61 6d 65 29 ;.....}.....shm_unlink(shm_name)
3860 3b 00 00 00 00 00 00 00 24 09 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 62 75 66 2d ;.......$.if.(ftruncate(fd,.buf-
3880 3e 73 69 7a 65 29 20 3c 20 30 29 20 7b 00 00 00 1c 09 09 65 72 72 6f 72 28 22 66 74 72 75 6e 63 >size).<.0).{......error("ftrunc
38a0 61 74 65 20 66 61 69 6c 65 64 22 29 3b 00 00 00 0c 09 09 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 ate.failed");......close(fd);...
38c0 0c 09 09 72 65 74 75 72 6e 20 2d 31 3b 00 00 00 02 09 7d 00 00 00 00 00 00 00 46 09 62 75 66 2d ...return.-1;.....}.......F.buf-
38e0 3e 64 61 74 61 20 3d 20 6d 6d 61 70 28 4e 55 4c 4c 2c 20 62 75 66 2d 3e 73 69 7a 65 2c 20 50 52 >data.=.mmap(NULL,.buf->size,.PR
3900 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
3920 2c 00 00 00 0b 09 09 09 20 66 64 2c 20 30 29 3b 00 00 00 00 00 00 00 1f 09 69 66 20 28 62 75 66 ,........fd,.0);.........if.(buf
3940 2d 3e 64 61 74 61 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 20 7b 00 00 00 17 09 09 65 72 72 ->data.==.MAP_FAILED).{......err
3960 6f 72 28 22 6d 6d 61 70 20 66 61 69 6c 65 64 22 29 3b 00 00 00 0c 09 09 63 6c 6f 73 65 28 66 64 or("mmap.failed");......close(fd
3980 29 3b 00 00 00 0c 09 09 72 65 74 75 72 6e 20 2d 31 3b 00 00 00 02 09 7d 00 00 00 00 00 00 00 34 );......return.-1;.....}.......4
39a0 09 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 74 65 72 6d 2e .pool.=.wl_shm_create_pool(term.
39c0 73 68 6d 2c 20 66 64 2c 20 62 75 66 2d 3e 73 69 7a 65 29 3b 00 00 00 45 09 62 75 66 2d 3e 62 20 shm,.fd,.buf->size);...E.buf->b.
39e0 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 6c =.wl_shm_pool_create_buffer(pool
3a00 2c 20 30 2c 20 74 65 72 6d 2e 77 69 64 74 68 2c 20 74 65 72 6d 2e 68 65 69 67 68 74 2c 00 00 00 ,.0,.term.width,.term.height,...
3a20 28 09 09 09 09 09 20 20 20 73 74 72 69 64 65 2c 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 (........stride,.WL_SHM_FORMAT_A
3a40 52 47 42 38 38 38 38 29 3b 00 00 00 37 09 77 6c 5f 62 75 66 66 65 72 5f 61 64 64 5f 6c 69 73 74 RGB8888);...7.wl_buffer_add_list
3a60 65 6e 65 72 28 62 75 66 2d 3e 62 2c 20 26 62 75 66 66 65 72 5f 6c 69 73 74 65 6e 65 72 2c 20 62 ener(buf->b,.&buffer_listener,.b
3a80 75 66 29 3b 00 00 00 1b 09 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 64 65 73 74 72 6f 79 28 70 6f 6f uf);.....wl_shm_pool_destroy(poo
3aa0 6c 29 3b 00 00 00 0b 09 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 00 00 00 00 0e 09 62 75 66 2d 3e l);.....close(fd);.........buf->
3ac0 61 67 65 20 3d 20 30 3b 00 00 00 00 00 00 00 0a 09 72 65 74 75 72 6e 20 30 3b 00 00 00 01 7d 00 age.=.0;.........return.0;....}.
3ae0 00 00 00 00 00 00 2c 73 74 61 74 69 63 20 76 6f 69 64 20 62 75 66 66 65 72 5f 75 6e 6d 61 70 28 ......,static.void.buffer_unmap(
3b00 73 74 72 75 63 74 20 62 75 66 66 65 72 20 2a 62 75 66 29 00 00 00 01 7b 00 00 00 0e 09 69 66 20 struct.buffer.*buf)....{.....if.
3b20 28 62 75 66 2d 3e 62 29 20 7b 00 00 00 1c 09 09 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f (buf->b).{......wl_buffer_destro
3b40 79 28 62 75 66 2d 3e 62 29 3b 00 00 00 1f 09 09 6d 75 6e 6d 61 70 28 62 75 66 2d 3e 64 61 74 61 y(buf->b);......munmap(buf->data
3b60 2c 20 62 75 66 2d 3e 73 69 7a 65 29 3b 00 00 00 02 09 7d 00 00 00 01 7d 00 00 00 00 00 00 00 28 ,.buf->size);.....}....}.......(
3b80 73 74 61 74 69 63 20 73 74 72 75 63 74 20 62 75 66 66 65 72 20 2a 73 77 61 70 5f 62 75 66 66 65 static.struct.buffer.*swap_buffe
3ba0 72 73 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 14 09 73 74 72 75 63 74 20 62 75 66 66 65 72 20 rs(void)....{.....struct.buffer.
3bc0 2a 62 75 66 3b 00 00 00 00 00 00 00 19 09 61 73 73 65 72 74 28 74 65 72 6d 2e 63 6f 6e 66 69 67 *buf;.........assert(term.config
3be0 75 72 65 64 29 3b 00 00 00 00 00 00 00 19 09 69 66 20 28 21 74 65 72 6d 2e 62 75 66 5b 30 5d 2e ured);.........if.(!term.buf[0].
3c00 62 75 73 79 29 20 7b 00 00 00 15 09 09 62 75 66 20 3d 20 26 74 65 72 6d 2e 62 75 66 5b 30 5d 3b busy).{......buf.=.&term.buf[0];
3c20 00 00 00 20 09 7d 20 65 6c 73 65 20 69 66 20 28 21 74 65 72 6d 2e 62 75 66 5b 31 5d 2e 62 75 73 .....}.else.if.(!term.buf[1].bus
3c40 79 29 20 7b 00 00 00 15 09 09 62 75 66 20 3d 20 26 74 65 72 6d 2e 62 75 66 5b 31 5d 3b 00 00 00 y).{......buf.=.&term.buf[1];...
3c60 09 09 7d 20 65 6c 73 65 20 7b 00 00 00 3d 09 09 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 ..}.else.{...=..fprintf(stderr,.
3c80 22 62 6f 74 68 20 73 75 72 66 61 63 65 20 63 6f 6e 74 65 6e 74 20 62 75 66 66 65 72 73 20 61 72 "both.surface.content.buffers.ar
3ca0 65 20 62 75 73 79 5c 6e 22 29 3b 00 00 00 0e 09 09 72 65 74 75 72 6e 20 4e 55 4c 4c 3b 00 00 00 e.busy\n");......return.NULL;...
3cc0 02 09 7d 00 00 00 00 00 00 00 13 09 69 66 20 28 74 65 72 6d 2e 72 65 73 69 7a 65 29 20 7b 00 00 ..}.........if.(term.resize).{..
3ce0 00 14 09 09 62 75 66 66 65 72 5f 75 6e 6d 61 70 28 62 75 66 29 3b 00 00 00 1b 09 09 69 66 20 28 ....buffer_unmap(buf);......if.(
3d00 62 75 66 66 65 72 5f 69 6e 69 74 28 62 75 66 29 20 3c 20 30 29 00 00 00 0b 09 09 09 61 62 6f 72 buffer_init(buf).<.0).......abor
3d20 74 28 29 3b 00 00 00 02 09 7d 00 00 00 00 00 00 00 0c 09 72 65 74 75 72 6e 20 62 75 66 3b 00 00 t();.....}.........return.buf;..
3d40 00 01 7d 00 00 00 00 00 00 00 13 74 79 70 65 64 65 66 20 75 69 6e 74 38 5f 74 20 75 38 3b 00 00 ..}........typedef.uint8_t.u8;..
3d60 00 15 74 79 70 65 64 65 66 20 75 69 6e 74 33 32 5f 74 20 75 33 32 3b 00 00 00 00 00 00 00 34 23 ..typedef.uint32_t.u32;.......4#
3d80 64 65 66 69 6e 65 20 6d 75 6c 28 61 2c 20 62 29 20 28 28 28 75 33 32 29 28 61 29 20 2a 20 28 75 define.mul(a,.b).(((u32)(a).*.(u
3da0 33 32 29 28 62 29 20 2b 20 32 35 35 29 20 3e 3e 20 38 29 00 00 00 55 23 64 65 66 69 6e 65 20 6a 32)(b).+.255).>>.8)...U#define.j
3dc0 6f 69 6e 28 61 2c 20 72 2c 20 67 2c 20 62 29 20 28 28 75 33 32 29 28 61 29 20 3c 3c 20 32 34 20 oin(a,.r,.g,.b).((u32)(a).<<.24.
3de0 7c 20 28 75 33 32 29 28 72 29 20 3c 3c 20 31 36 20 7c 20 28 75 33 32 29 28 67 29 20 3c 3c 20 38 |.(u32)(r).<<.16.|.(u32)(g).<<.8
3e00 20 7c 20 28 75 33 32 29 28 62 29 29 00 00 00 00 00 00 00 43 73 74 61 74 69 63 20 76 6f 69 64 20 .|.(u32)(b)).......Cstatic.void.
3e20 62 6c 61 6e 6b 28 75 69 6e 74 33 32 5f 74 20 2a 64 73 74 2c 20 69 6e 74 20 77 2c 20 75 38 20 62 blank(uint32_t.*dst,.int.w,.u8.b
3e40 72 2c 20 75 38 20 62 67 2c 20 75 38 20 62 62 2c 20 75 38 20 62 61 29 00 00 00 01 7b 00 00 00 07 r,.u8.bg,.u8.bb,.u8.ba)....{....
3e60 09 69 6e 74 20 69 3b 00 00 00 0c 09 75 69 6e 74 33 32 5f 74 20 62 3b 00 00 00 16 09 69 6e 74 20 .int.i;.....uint32_t.b;.....int.
3e80 68 20 3d 20 74 65 72 6d 2e 63 68 65 69 67 68 74 3b 00 00 00 00 00 00 00 35 09 62 20 3d 20 6a 6f h.=.term.cheight;.......5.b.=.jo
3ea0 69 6e 28 62 61 2c 20 6d 75 6c 28 62 72 2c 20 62 61 29 2c 20 6d 75 6c 28 62 67 2c 20 62 61 29 2c in(ba,.mul(br,.ba),.mul(bg,.ba),
3ec0 20 6d 75 6c 28 62 62 2c 20 62 61 29 29 3b 00 00 00 12 09 77 20 2a 3d 20 74 65 72 6d 2e 63 77 69 .mul(bb,.ba));.....w.*=.term.cwi
3ee0 64 74 68 3b 00 00 00 00 00 00 00 0e 09 77 68 69 6c 65 20 28 68 2d 2d 29 20 7b 00 00 00 19 09 09 dth;.........while.(h--).{......
3f00 66 6f 72 20 28 69 20 3d 20 30 3b 20 69 20 3c 20 77 3b 20 2b 2b 69 29 00 00 00 0e 09 09 09 64 73 for.(i.=.0;.i.<.w;.++i).......ds
3f20 74 5b 69 5d 20 3d 20 62 3b 00 00 00 14 09 09 64 73 74 20 2b 3d 20 74 65 72 6d 2e 77 69 64 74 68 t[i].=.b;......dst.+=.term.width
3f40 3b 00 00 00 02 09 7d 00 00 00 01 7d 00 00 00 00 00 00 00 27 73 74 61 74 69 63 20 76 6f 69 64 20 ;.....}....}.......'static.void.
3f60 70 72 69 6e 74 28 75 69 6e 74 33 32 5f 74 20 2a 64 73 74 2c 20 69 6e 74 20 77 2c 00 00 00 18 09 print(uint32_t.*dst,.int.w,.....
3f80 09 20 20 75 38 20 62 72 2c 20 75 38 20 62 67 2c 20 75 38 20 62 62 2c 00 00 00 18 09 09 20 20 75 ...u8.br,.u8.bg,.u8.bb,........u
3fa0 38 20 66 72 2c 20 75 38 20 66 67 2c 20 75 38 20 66 62 2c 00 00 00 20 09 09 20 20 75 38 20 62 61 8.fr,.u8.fg,.u8.fb,........u8.ba
3fc0 2c 20 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 67 6c 79 70 68 29 00 00 00 01 7b 00 00 00 07 ,.unsigned.char.*glyph)....{....
3fe0 09 69 6e 74 20 69 3b 00 00 00 16 09 69 6e 74 20 68 20 3d 20 74 65 72 6d 2e 63 68 65 69 67 68 74 .int.i;.....int.h.=.term.cheight
4000 3b 00 00 00 00 00 00 00 12 09 77 20 2a 3d 20 74 65 72 6d 2e 63 77 69 64 74 68 3b 00 00 00 00 00 ;.........w.*=.term.cwidth;.....
4020 00 00 12 09 62 72 20 3d 20 6d 75 6c 28 62 72 2c 20 62 61 29 3b 00 00 00 12 09 62 67 20 3d 20 6d ....br.=.mul(br,.ba);.....bg.=.m
4040 75 6c 28 62 67 2c 20 62 61 29 3b 00 00 00 12 09 62 62 20 3d 20 6d 75 6c 28 62 62 2c 20 62 61 29 ul(bg,.ba);.....bb.=.mul(bb,.ba)
4060 3b 00 00 00 0e 09 77 68 69 6c 65 20 28 68 2d 2d 29 20 7b 00 00 00 1b 09 09 66 6f 72 20 28 69 20 ;.....while.(h--).{......for.(i.
4080 3d 20 30 3b 20 69 20 3c 20 77 3b 20 2b 2b 69 29 20 7b 00 00 00 14 09 09 09 75 38 20 66 61 20 3d =.0;.i.<.w;.++i).{.......u8.fa.=
40a0 20 67 6c 79 70 68 5b 69 5d 3b 00 00 00 11 09 09 09 69 66 20 28 66 61 20 3d 3d 20 30 29 20 7b 00 .glyph[i];.......if.(fa.==.0).{.
40c0 00 00 22 09 09 09 09 64 73 74 5b 69 5d 20 3d 20 6a 6f 69 6e 28 62 61 2c 20 62 72 2c 20 62 67 2c .."....dst[i].=.join(ba,.br,.bg,
40e0 20 62 62 29 3b 00 00 00 1b 09 09 09 7d 20 65 6c 73 65 20 69 66 20 28 66 61 20 3d 3d 20 30 78 66 .bb);.......}.else.if.(fa.==.0xf
4100 66 29 20 7b 00 00 00 24 09 09 09 09 64 73 74 5b 69 5d 20 3d 20 6a 6f 69 6e 28 30 78 66 66 2c 20 f).{...$....dst[i].=.join(0xff,.
4120 66 72 2c 20 66 67 2c 20 66 62 29 3b 00 00 00 0b 09 09 09 7d 20 65 6c 73 65 20 7b 00 00 00 15 09 fr,.fg,.fb);.......}.else.{.....
4140 09 09 09 75 38 20 63 61 20 3d 20 32 35 35 20 2d 20 66 61 3b 00 00 00 23 09 09 09 09 64 73 74 5b ...u8.ca.=.255.-.fa;...#....dst[
4160 69 5d 20 3d 20 6a 6f 69 6e 28 66 61 20 2b 20 6d 75 6c 28 62 61 2c 20 63 61 29 2c 00 00 00 25 09 i].=.join(fa.+.mul(ba,.ca),...%.
4180 09 09 09 09 20 20 20 20 20 20 6d 75 6c 28 66 72 2c 20 66 61 29 20 2b 20 6d 75 6c 28 62 72 2c 20 ..........mul(fr,.fa).+.mul(br,.
41a0 63 61 29 2c 00 00 00 25 09 09 09 09 09 20 20 20 20 20 20 6d 75 6c 28 66 67 2c 20 66 61 29 20 2b ca),...%...........mul(fg,.fa).+
41c0 20 6d 75 6c 28 62 67 2c 20 63 61 29 2c 00 00 00 26 09 09 09 09 09 20 20 20 20 20 20 6d 75 6c 28 .mul(bg,.ca),...&...........mul(
41e0 66 62 2c 20 66 61 29 20 2b 20 6d 75 6c 28 62 62 2c 20 63 61 29 29 3b 00 00 00 04 09 09 09 7d 00 fb,.fa).+.mul(bb,.ca));.......}.
4200 00 00 03 09 09 7d 00 00 00 00 00 00 00 0d 09 09 67 6c 79 70 68 20 2b 3d 20 77 3b 00 00 00 14 09 .....}..........glyph.+=.w;.....
4220 09 64 73 74 20 2b 3d 20 74 65 72 6d 2e 77 69 64 74 68 3b 00 00 00 02 09 7d 00 00 00 01 7d 00 00 .dst.+=.term.width;.....}....}..
4240 00 00 00 00 00 4e 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 63 65 6c 6c 28 73 74 72 75 .....Nstatic.void.draw_cell(stru
4260 63 74 20 74 73 6d 5f 73 63 72 65 65 6e 20 2a 74 73 6d 2c 20 75 69 6e 74 33 32 5f 74 20 69 64 2c ct.tsm_screen.*tsm,.uint32_t.id,
4280 20 63 6f 6e 73 74 20 75 69 6e 74 33 32 5f 74 20 2a 63 68 2c 00 00 00 31 09 09 20 20 20 20 20 20 .const.uint32_t.*ch,...1........
42a0 73 69 7a 65 5f 74 20 6c 65 6e 2c 20 69 6e 74 20 63 68 61 72 5f 77 69 64 74 68 2c 20 69 6e 74 20 size_t.len,.int.char_width,.int.
42c0 78 2c 20 69 6e 74 20 79 2c 00 00 00 37 09 09 20 20 20 20 20 20 63 6f 6e 73 74 20 73 74 72 75 63 x,.int.y,...7........const.struc
42e0 74 20 74 73 6d 5f 73 63 72 65 65 6e 5f 61 74 74 72 20 2a 61 2c 20 74 73 6d 5f 61 67 65 5f 74 20 t.tsm_screen_attr.*a,.tsm_age_t.
4300 61 67 65 2c 00 00 00 13 09 09 20 20 20 20 20 20 76 6f 69 64 20 2a 64 61 74 61 29 00 00 00 01 7b age,............void.*data)....{
4320 00 00 00 1e 09 73 74 72 75 63 74 20 62 75 66 66 65 72 20 2a 62 75 66 66 65 72 20 3d 20 64 61 74 .....struct.buffer.*buffer.=.dat
4340 61 3b 00 00 00 1e 09 75 69 6e 74 33 32 5f 74 20 2a 64 73 74 20 3d 20 62 75 66 66 65 72 2d 3e 64 a;.....uint32_t.*dst.=.buffer->d
4360 61 74 61 3b 00 00 00 00 00 00 00 1f 09 69 66 20 28 61 67 65 20 26 26 20 61 67 65 20 3c 3d 20 62 ata;.........if.(age.&&.age.<=.b
4380 75 66 66 65 72 2d 3e 61 67 65 29 00 00 00 09 09 09 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 38 uffer->age)......return;.......8
43a0 09 64 73 74 20 2b 3d 20 74 65 72 6d 2e 6d 61 72 67 69 6e 2e 74 6f 70 20 2a 20 74 65 72 6d 2e 77 .dst.+=.term.margin.top.*.term.w
43c0 69 64 74 68 20 2b 20 74 65 72 6d 2e 6d 61 72 67 69 6e 2e 6c 65 66 74 3b 00 00 00 3d 09 64 73 74 idth.+.term.margin.left;...=.dst
43e0 20 3d 20 26 64 73 74 5b 79 20 2a 20 74 65 72 6d 2e 63 68 65 69 67 68 74 20 2a 20 74 65 72 6d 2e .=.&dst[y.*.term.cheight.*.term.
4400 77 69 64 74 68 20 2b 20 78 20 2a 20 74 65 72 6d 2e 63 77 69 64 74 68 5d 3b 00 00 00 00 00 00 00 width.+.x.*.term.cwidth];.......
4420 10 09 69 66 20 28 6c 65 6e 20 3d 3d 20 30 29 20 7b 00 00 00 11 09 09 69 66 20 28 61 2d 3e 69 6e ..if.(len.==.0).{......if.(a->in
4440 76 65 72 73 65 29 00 00 00 19 09 09 09 62 6c 61 6e 6b 28 64 73 74 2c 20 63 68 61 72 5f 77 69 64 verse).......blank(dst,.char_wid
4460 74 68 2c 00 00 00 33 09 09 09 20 20 20 20 20 20 7e 61 2d 3e 62 72 2c 20 7e 61 2d 3e 62 67 2c 20 th,...3.........~a->br,.~a->bg,.
4480 7e 61 2d 3e 62 62 2c 20 74 65 72 6d 2e 63 66 67 2e 6f 70 61 63 69 74 79 29 3b 00 00 00 06 09 09 ~a->bb,.term.cfg.opacity);......
44a0 65 6c 73 65 00 00 00 19 09 09 09 62 6c 61 6e 6b 28 64 73 74 2c 20 63 68 61 72 5f 77 69 64 74 68 else.......blank(dst,.char_width
44c0 2c 00 00 00 30 09 09 09 20 20 20 20 20 20 61 2d 3e 62 72 2c 20 61 2d 3e 62 67 2c 20 61 2d 3e 62 ,...0.........a->br,.a->bg,.a->b
44e0 62 2c 20 74 65 72 6d 2e 63 66 67 2e 6f 70 61 63 69 74 79 29 3b 00 00 00 09 09 7d 20 65 6c 73 65 b,.term.cfg.opacity);.....}.else
4500 20 7b 00 00 00 1d 09 09 2f 2a 20 74 6f 64 6f 2c 20 63 6f 6d 62 69 6e 69 6e 67 20 6d 61 72 6b 73 .{....../*.todo,.combining.marks
4520 20 2a 2f 00 00 00 36 09 09 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 67 20 3d 20 67 65 74 5f .*/...6..unsigned.char.*g.=.get_
4540 67 6c 79 70 68 28 69 64 2c 20 63 68 5b 30 5d 2c 20 63 68 61 72 5f 77 69 64 74 68 29 3b 00 00 00 glyph(id,.ch[0],.char_width);...
4560 00 00 00 00 11 09 09 69 66 20 28 61 2d 3e 69 6e 76 65 72 73 65 29 00 00 00 19 09 09 09 70 72 69 .......if.(a->inverse).......pri
4580 6e 74 28 64 73 74 2c 20 63 68 61 72 5f 77 69 64 74 68 2c 00 00 00 20 09 09 09 20 20 20 20 20 20 nt(dst,.char_width,.............
45a0 7e 61 2d 3e 62 72 2c 20 7e 61 2d 3e 62 67 2c 20 7e 61 2d 3e 62 62 2c 00 00 00 20 09 09 09 20 20 ~a->br,.~a->bg,.~a->bb,.........
45c0 20 20 20 20 7e 61 2d 3e 66 72 2c 20 7e 61 2d 3e 66 67 2c 20 7e 61 2d 3e 66 62 2c 00 00 00 1e 09 ....~a->fr,.~a->fg,.~a->fb,.....
45e0 09 09 20 20 20 20 20 20 74 65 72 6d 2e 63 66 67 2e 6f 70 61 63 69 74 79 2c 20 67 29 3b 00 00 00 ........term.cfg.opacity,.g);...
4600 06 09 09 65 6c 73 65 00 00 00 19 09 09 09 70 72 69 6e 74 28 64 73 74 2c 20 63 68 61 72 5f 77 69 ...else.......print(dst,.char_wi
4620 64 74 68 2c 00 00 00 1d 09 09 09 20 20 20 20 20 20 61 2d 3e 62 72 2c 20 61 2d 3e 62 67 2c 20 61 dth,.............a->br,.a->bg,.a
4640 2d 3e 62 62 2c 00 00 00 1d 09 09 09 20 20 20 20 20 20 61 2d 3e 66 72 2c 20 61 2d 3e 66 67 2c 20 ->bb,.............a->fr,.a->fg,.
4660 61 2d 3e 66 62 2c 00 00 00 1e 09 09 09 20 20 20 20 20 20 74 65 72 6d 2e 63 66 67 2e 6f 70 61 63 a->fb,.............term.cfg.opac
4680 69 74 79 2c 20 67 29 3b 00 00 00 02 09 7d 00 00 00 01 7d 00 00 00 00 00 00 00 2e 73 74 61 74 69 ity,.g);.....}....}........stati
46a0 63 20 76 6f 69 64 20 64 72 61 77 5f 6d 61 72 67 69 6e 28 73 74 72 75 63 74 20 62 75 66 66 65 72 c.void.draw_margin(struct.buffer
46c0 20 2a 62 75 66 66 65 72 29 00 00 00 01 7b 00 00 00 1e 09 75 69 6e 74 33 32 5f 74 20 2a 64 73 74 .*buffer)....{.....uint32_t.*dst
46e0 20 3d 20 62 75 66 66 65 72 2d 3e 64 61 74 61 3b 00 00 00 1e 09 75 69 6e 74 38 5f 74 20 61 20 3d .=.buffer->data;.....uint8_t.a.=
4700 20 74 65 72 6d 2e 63 66 67 2e 6f 70 61 63 69 74 79 3b 00 00 00 36 09 75 69 6e 74 38 5f 74 20 2a .term.cfg.opacity;...6.uint8_t.*
4720 72 67 62 20 3d 20 74 65 72 6d 2e 63 66 67 2e 63 6f 6c 6f 72 73 5b 54 53 4d 5f 43 4f 4c 4f 52 5f rgb.=.term.cfg.colors[TSM_COLOR_
4740 42 41 43 4b 47 52 4f 55 4e 44 5d 3b 00 00 00 46 09 75 69 6e 74 33 32 5f 74 20 63 20 3d 20 6a 6f BACKGROUND];...F.uint32_t.c.=.jo
4760 69 6e 28 61 2c 20 6d 75 6c 28 72 67 62 5b 30 5d 2c 20 61 29 2c 20 6d 75 6c 28 72 67 62 5b 31 5d in(a,.mul(rgb[0],.a),.mul(rgb[1]
4780 2c 20 61 29 2c 20 6d 75 6c 28 72 67 62 5b 32 5d 2c 20 61 29 29 3b 00 00 00 22 09 69 6e 74 20 69 ,.a),.mul(rgb[2],.a));...".int.i
47a0 6e 77 20 3d 20 74 65 72 6d 2e 63 6f 6c 20 2a 20 74 65 72 6d 2e 63 77 69 64 74 68 3b 00 00 00 23 nw.=.term.col.*.term.cwidth;...#
47c0 09 69 6e 74 20 69 6e 68 20 3d 20 74 65 72 6d 2e 72 6f 77 20 2a 20 74 65 72 6d 2e 63 68 65 69 67 .int.inh.=.term.row.*.term.cheig
47e0 68 74 3b 00 00 00 0a 09 69 6e 74 20 69 2c 20 6a 3b 00 00 00 00 00 00 00 33 09 66 6f 72 20 28 69 ht;.....int.i,.j;.......3.for.(i
4800 20 3d 20 30 3b 20 69 20 3c 20 74 65 72 6d 2e 77 69 64 74 68 20 2a 20 74 65 72 6d 2e 6d 61 72 67 .=.0;.i.<.term.width.*.term.marg
4820 69 6e 2e 74 6f 70 3b 20 2b 2b 69 29 00 00 00 0d 09 09 64 73 74 5b 69 5d 20 3d 20 63 3b 00 00 00 in.top;.++i)......dst[i].=.c;...
4840 00 00 00 00 2f 09 66 6f 72 20 28 69 20 3d 20 28 74 65 72 6d 2e 6d 61 72 67 69 6e 2e 74 6f 70 20 ..../.for.(i.=.(term.margin.top.
4860 2b 20 69 6e 68 29 20 2a 20 74 65 72 6d 2e 77 69 64 74 68 3b 00 00 00 23 09 20 20 20 20 20 69 20 +.inh).*.term.width;...#......i.
4880 3c 20 74 65 72 6d 2e 68 65 69 67 68 74 20 2a 20 74 65 72 6d 2e 77 69 64 74 68 3b 00 00 00 0a 09 <.term.height.*.term.width;.....
48a0 20 20 20 20 20 2b 2b 69 29 00 00 00 0d 09 09 64 73 74 5b 69 5d 20 3d 20 63 3b 00 00 00 00 00 00 .....++i)......dst[i].=.c;......
48c0 00 3c 09 66 6f 72 20 28 69 20 3d 20 74 65 72 6d 2e 6d 61 72 67 69 6e 2e 74 6f 70 3b 20 69 20 3c .<.for.(i.=.term.margin.top;.i.<
48e0 20 74 65 72 6d 2e 6d 61 72 67 69 6e 2e 74 6f 70 20 2b 20 69 6e 68 3b 20 2b 2b 69 29 20 7b 00 00 .term.margin.top.+.inh;.++i).{..
4900 00 28 09 09 66 6f 72 20 28 6a 20 3d 20 30 3b 20 6a 20 3c 20 74 65 72 6d 2e 6d 61 72 67 69 6e 2e .(..for.(j.=.0;.j.<.term.margin.
4920 6c 65 66 74 3b 20 2b 2b 6a 29 00 00 00 1f 09 09 09 64 73 74 5b 69 20 2a 20 74 65 72 6d 2e 77 69 left;.++j).......dst[i.*.term.wi
4940 64 74 68 20 2b 20 6a 5d 20 3d 20 63 3b 00 00 00 00 00 00 00 37 09 09 66 6f 72 20 28 6a 20 3d 20 dth.+.j].=.c;.......7..for.(j.=.
4960 74 65 72 6d 2e 6d 61 72 67 69 6e 2e 6c 65 66 74 20 2b 20 69 6e 77 3b 20 6a 20 3c 20 74 65 72 6d term.margin.left.+.inw;.j.<.term
4980 2e 77 69 64 74 68 3b 20 2b 2b 6a 29 00 00 00 1f 09 09 09 64 73 74 5b 69 20 2a 20 74 65 72 6d 2e .width;.++j).......dst[i.*.term.
49a0 77 69 64 74 68 20 2b 20 6a 5d 20 3d 20 63 3b 00 00 00 02 09 7d 00 00 00 01 7d 00 00 00 00 00 00 width.+.j].=.c;.....}....}......
49c0 00 4d 73 74 61 74 69 63 20 76 6f 69 64 20 66 72 61 6d 65 5f 63 61 6c 6c 62 61 63 6b 28 76 6f 69 .Mstatic.void.frame_callback(voi
49e0 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 20 2a 63 62 2c d.*data,.struct.wl_callback.*cb,
4a00 20 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 29 00 00 00 01 7b 00 00 00 17 09 61 73 73 65 72 74 28 .uint32_t.time)....{.....assert(
4a20 74 65 72 6d 2e 63 62 20 3d 3d 20 63 62 29 3b 00 00 00 19 09 77 6c 5f 63 61 6c 6c 62 61 63 6b 5f term.cb.==.cb);.....wl_callback_
4a40 64 65 73 74 72 6f 79 28 63 62 29 3b 00 00 00 10 09 74 65 72 6d 2e 63 62 20 3d 20 4e 55 4c 4c 3b destroy(cb);.....term.cb.=.NULL;
4a60 00 00 00 18 09 74 65 72 6d 2e 63 61 6e 5f 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 01 .....term.can_redraw.=.true;....
4a80 7d 00 00 00 00 00 00 00 3b 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f }.......;static.const.struct.wl_
4aa0 63 61 6c 6c 62 61 63 6b 5f 6c 69 73 74 65 6e 65 72 20 66 72 61 6d 65 5f 6c 69 73 74 65 6e 65 72 callback_listener.frame_listener
4ac0 20 3d 20 7b 00 00 00 18 09 2e 64 6f 6e 65 20 3d 20 66 72 61 6d 65 5f 63 61 6c 6c 62 61 63 6b 2c .=.{......done.=.frame_callback,
4ae0 00 00 00 02 7d 3b 00 00 00 00 00 00 00 18 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 64 72 61 77 ....};........static.void.redraw
4b00 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 28 09 73 74 72 75 63 74 20 62 75 66 66 65 72 20 2a 62 (void)....{...(.struct.buffer.*b
4b20 75 66 66 65 72 20 3d 20 73 77 61 70 5f 62 75 66 66 65 72 73 28 29 3b 00 00 00 00 00 00 00 16 09 uffer.=.swap_buffers();.........
4b40 69 66 20 28 62 75 66 66 65 72 20 3d 3d 20 4e 55 4c 4c 29 20 7b 00 00 00 3a 09 09 66 70 72 69 6e if.(buffer.==.NULL).{...:..fprin
4b60 74 66 28 73 74 64 65 72 72 2c 20 22 6e 6f 20 62 75 66 66 65 72 20 61 76 61 69 6c 61 62 6c 65 2c tf(stderr,."no.buffer.available,
4b80 20 63 61 6e 6e 6f 74 20 72 65 64 72 61 77 5c 6e 22 29 3b 00 00 00 09 09 09 72 65 74 75 72 6e 3b .cannot.redraw\n");......return;
4ba0 00 00 00 02 09 7d 00 00 00 00 00 00 00 2f 09 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 .....}......./.wl_surface_attach
4bc0 28 74 65 72 6d 2e 73 75 72 66 2c 20 62 75 66 66 65 72 2d 3e 62 2c 20 30 2c 20 30 29 3b 00 00 00 (term.surf,.buffer->b,.0,.0);...
4be0 3f 09 62 75 66 66 65 72 2d 3e 61 67 65 20 3d 20 74 73 6d 5f 73 63 72 65 65 6e 5f 64 72 61 77 28 ?.buffer->age.=.tsm_screen_draw(
4c00 74 65 72 6d 2e 73 63 72 65 65 6e 2c 20 64 72 61 77 5f 63 65 6c 6c 2c 20 62 75 66 66 65 72 29 3b term.screen,.draw_cell,.buffer);
4c20 00 00 00 16 09 69 66 20 28 62 75 66 66 65 72 2d 3e 61 67 65 20 3d 3d 20 30 29 00 00 00 28 09 09 .....if.(buffer->age.==.0)...(..
4c40 74 65 72 6d 2e 62 75 66 5b 30 5d 2e 61 67 65 20 3d 20 74 65 72 6d 2e 62 75 66 5b 31 5d 2e 61 67 term.buf[0].age.=.term.buf[1].ag
4c60 65 20 3d 20 30 3b 00 00 00 3d 09 77 6c 5f 73 75 72 66 61 63 65 5f 64 61 6d 61 67 65 28 74 65 72 e.=.0;...=.wl_surface_damage(ter
4c80 6d 2e 73 75 72 66 2c 20 30 2c 20 30 2c 20 74 65 72 6d 2e 77 69 64 74 68 2c 20 74 65 72 6d 2e 68 m.surf,.0,.0,.term.width,.term.h
4ca0 65 69 67 68 74 29 3b 00 00 00 00 00 00 00 27 09 74 65 72 6d 2e 63 62 20 3d 20 77 6c 5f 73 75 72 eight);.......'.term.cb.=.wl_sur
4cc0 66 61 63 65 5f 66 72 61 6d 65 28 74 65 72 6d 2e 73 75 72 66 29 3b 00 00 00 3a 09 77 6c 5f 63 61 face_frame(term.surf);...:.wl_ca
4ce0 6c 6c 62 61 63 6b 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 74 65 72 6d 2e 63 62 2c 20 26 66 72 llback_add_listener(term.cb,.&fr
4d00 61 6d 65 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 1e 09 77 6c 5f 73 75 72 66 ame_listener,.NULL);.....wl_surf
4d20 61 63 65 5f 63 6f 6d 6d 69 74 28 74 65 72 6d 2e 73 75 72 66 29 3b 00 00 00 00 00 00 00 15 09 62 ace_commit(term.surf);.........b
4d40 75 66 66 65 72 2d 3e 62 75 73 79 20 3d 20 74 72 75 65 3b 00 00 00 19 09 74 65 72 6d 2e 63 61 6e uffer->busy.=.true;.....term.can
4d60 5f 72 65 64 72 61 77 20 3d 20 66 61 6c 73 65 3b 00 00 00 1a 09 74 65 72 6d 2e 6e 65 65 64 5f 72 _redraw.=.false;.....term.need_r
4d80 65 64 72 61 77 20 3d 20 66 61 6c 73 65 3b 00 00 00 13 09 69 66 20 28 74 65 72 6d 2e 72 65 73 69 edraw.=.false;.....if.(term.resi
4da0 7a 65 29 20 7b 00 00 00 10 09 09 2d 2d 74 65 72 6d 2e 72 65 73 69 7a 65 3b 00 00 00 00 00 00 00 ze).{......--term.resize;.......
4dc0 16 09 09 69 66 20 28 74 65 72 6d 2e 63 66 67 2e 6d 61 72 67 69 6e 29 00 00 00 17 09 09 09 64 72 ...if.(term.cfg.margin).......dr
4de0 61 77 5f 6d 61 72 67 69 6e 28 62 75 66 66 65 72 29 3b 00 00 00 02 09 7d 00 00 00 01 7d 00 00 00 aw_margin(buffer);.....}....}...
4e00 00 00 00 00 1f 73 74 61 74 69 63 20 76 6f 69 64 20 70 61 73 74 65 28 62 6f 6f 6c 20 70 72 69 6d .....static.void.paste(bool.prim
4e20 61 72 79 29 00 00 00 01 7b 00 00 00 0f 09 69 66 20 28 70 72 69 6d 61 72 79 29 20 7b 00 00 00 29 ary)....{.....if.(primary).{...)
4e40 09 09 69 66 20 28 21 74 65 72 6d 2e 70 73 5f 64 6d 20 7c 7c 20 21 74 65 72 6d 2e 70 61 73 74 65 ..if.(!term.ps_dm.||.!term.paste
4e60 2e 70 73 5f 6d 69 6d 65 29 00 00 00 0a 09 09 09 72 65 74 75 72 6e 3b 00 00 00 09 09 7d 20 65 6c .ps_mime).......return;.....}.el
4e80 73 65 20 7b 00 00 00 27 09 09 69 66 20 28 21 74 65 72 6d 2e 64 5f 64 6d 20 7c 7c 20 21 74 65 72 se.{...'..if.(!term.d_dm.||.!ter
4ea0 6d 2e 70 61 73 74 65 2e 64 5f 6d 69 6d 65 29 00 00 00 0a 09 09 09 72 65 74 75 72 6e 3b 00 00 00 m.paste.d_mime).......return;...
4ec0 02 09 7d 00 00 00 00 00 00 00 17 09 69 66 20 28 74 65 72 6d 2e 70 61 73 74 65 2e 61 63 74 69 76 ..}.........if.(term.paste.activ
4ee0 65 29 00 00 00 0e 09 09 65 6e 64 5f 70 61 73 74 65 28 29 3b 00 00 00 00 00 00 00 1d 09 69 66 20 e)......end_paste();.........if.
4f00 28 70 69 70 65 28 74 65 72 6d 2e 70 61 73 74 65 2e 66 64 29 20 3c 20 30 29 00 00 00 09 09 09 72 (pipe(term.paste.fd).<.0)......r
4f20 65 74 75 72 6e 3b 00 00 00 00 00 00 00 0f 09 69 66 20 28 70 72 69 6d 61 72 79 29 20 7b 00 00 00 eturn;.........if.(primary).{...
4f40 3d 09 09 7a 77 70 5f 70 72 69 6d 61 72 79 5f 73 65 6c 65 63 74 69 6f 6e 5f 6f 66 66 65 72 5f 76 =..zwp_primary_selection_offer_v
4f60 31 5f 72 65 63 65 69 76 65 28 74 65 72 6d 2e 70 61 73 74 65 2e 70 73 5f 6f 66 66 65 72 2c 00 00 1_receive(term.paste.ps_offer,..
4f80 00 20 09 09 09 09 09 09 20 20 20 20 20 20 20 74 65 72 6d 2e 70 61 73 74 65 2e 70 73 5f 6d 69 6d ...............term.paste.ps_mim
4fa0 65 2c 00 00 00 1f 09 09 09 09 09 09 20 20 20 20 20 20 20 74 65 72 6d 2e 70 61 73 74 65 2e 66 64 e,.................term.paste.fd
4fc0 5b 31 5d 29 3b 00 00 00 09 09 7d 20 65 6c 73 65 20 7b 00 00 00 3e 09 09 77 6c 5f 64 61 74 61 5f [1]);.....}.else.{...>..wl_data_
4fe0 6f 66 66 65 72 5f 72 65 63 65 69 76 65 28 74 65 72 6d 2e 70 61 73 74 65 2e 64 5f 6f 66 66 65 72 offer_receive(term.paste.d_offer
5000 2c 20 74 65 72 6d 2e 70 61 73 74 65 2e 64 5f 6d 69 6d 65 2c 00 00 00 1c 09 09 09 09 20 20 20 20 ,.term.paste.d_mime,............
5020 20 20 74 65 72 6d 2e 70 61 73 74 65 2e 66 64 5b 31 5d 29 3b 00 00 00 02 09 7d 00 00 00 19 09 63 ..term.paste.fd[1]);.....}.....c
5040 6c 6f 73 65 28 74 65 72 6d 2e 70 61 73 74 65 2e 66 64 5b 31 5d 29 3b 00 00 00 00 00 00 00 1a 09 lose(term.paste.fd[1]);.........
5060 74 65 72 6d 2e 70 61 73 74 65 2e 61 63 74 69 76 65 20 3d 20 74 72 75 65 3b 00 00 00 1f 09 74 73 term.paste.active.=.true;.....ts
5080 6d 5f 76 74 65 5f 70 61 73 74 65 5f 62 65 67 69 6e 28 74 65 72 6d 2e 76 74 65 29 3b 00 00 00 01 m_vte_paste_begin(term.vte);....
50a0 7d 00 00 00 00 00 00 00 1e 73 74 61 74 69 63 20 76 6f 69 64 20 61 63 74 69 6f 6e 5f 70 61 73 74 }........static.void.action_past
50c0 65 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 0e 09 70 61 73 74 65 28 66 61 6c 73 65 29 3b 00 00 e(void)....{.....paste(false);..
50e0 00 01 7d 00 00 00 00 00 00 00 49 73 74 61 74 69 63 20 76 6f 69 64 20 64 73 5f 74 61 72 67 65 74 ..}.......Istatic.void.ds_target
5100 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 20 (void.*d,.struct.wl_data_source.
5120 2a 64 73 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6d 74 29 00 00 00 01 7b 00 00 00 01 7d 00 00 *ds,.const.char.*mt)....{....}..
5140 00 00 00 00 00 3a 73 74 61 74 69 63 20 76 6f 69 64 20 64 73 5f 73 65 6e 64 28 76 6f 69 64 20 2a .....:static.void.ds_send(void.*
5160 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 20 2a 64 73 2c data,.struct.wl_data_source.*ds,
5180 00 00 00 28 09 09 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6d 69 6d 65 5f 74 79 70 65 2c ...(......const.char.*mime_type,
51a0 20 69 6e 74 33 32 5f 74 20 66 64 29 00 00 00 01 7b 00 00 00 37 09 77 72 69 74 65 28 66 64 2c 20 .int32_t.fd)....{...7.write(fd,.
51c0 74 65 72 6d 2e 64 5f 63 6f 70 79 2e 64 61 74 61 2c 20 73 74 72 6c 65 6e 28 74 65 72 6d 2e 64 5f term.d_copy.data,.strlen(term.d_
51e0 63 6f 70 79 2e 64 61 74 61 29 29 3b 00 00 00 0b 09 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 01 7d copy.data));.....close(fd);....}
5200 00 00 00 00 00 00 00 43 73 74 61 74 69 63 20 76 6f 69 64 20 64 73 5f 63 61 6e 63 65 6c 6c 65 64 .......Cstatic.void.ds_cancelled
5220 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 (void.*data,.struct.wl_data_sour
5240 63 65 20 2a 73 6f 75 72 63 65 29 00 00 00 01 7b 00 00 00 2c 09 77 6c 5f 64 61 74 61 5f 73 6f 75 ce.*source)....{...,.wl_data_sou
5260 72 63 65 5f 64 65 73 74 72 6f 79 28 74 65 72 6d 2e 64 5f 63 6f 70 79 2e 73 6f 75 72 63 65 29 3b rce_destroy(term.d_copy.source);
5280 00 00 00 1b 09 74 65 72 6d 2e 64 5f 63 6f 70 79 2e 73 6f 75 72 63 65 20 3d 20 4e 55 4c 4c 3b 00 .....term.d_copy.source.=.NULL;.
52a0 00 00 18 09 66 72 65 65 28 74 65 72 6d 2e 64 5f 63 6f 70 79 2e 64 61 74 61 29 3b 00 00 00 01 7d ....free(term.d_copy.data);....}
52c0 00 00 00 00 00 00 00 48 73 74 61 74 69 63 20 76 6f 69 64 20 64 73 5f 64 6e 64 5f 64 72 6f 70 5f .......Hstatic.void.ds_dnd_drop_
52e0 70 65 72 66 6f 72 6d 65 64 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f performed(void.*data,.struct.wl_
5300 64 61 74 61 5f 73 6f 75 72 63 65 20 2a 64 73 29 00 00 00 01 7b 00 00 00 01 7d 00 00 00 00 00 00 data_source.*ds)....{....}......
5320 00 42 73 74 61 74 69 63 20 76 6f 69 64 20 64 73 5f 64 6e 64 5f 66 69 6e 69 73 68 65 64 28 76 6f .Bstatic.void.ds_dnd_finished(vo
5340 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 20 id.*data,.struct.wl_data_source.
5360 2a 64 73 29 00 00 00 01 7b 00 00 00 01 7d 00 00 00 00 00 00 00 48 73 74 61 74 69 63 20 76 6f 69 *ds)....{....}.......Hstatic.voi
5380 64 20 64 73 5f 61 63 74 69 6f 6e 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 d.ds_action(void.*data,.struct.w
53a0 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 20 2a 64 73 2c 20 75 69 6e 74 33 32 5f 74 20 61 29 00 00 l_data_source.*ds,.uint32_t.a)..
53c0 00 01 7b 00 00 00 01 7d 00 00 00 00 00 00 00 35 73 74 61 74 69 63 20 73 74 72 75 63 74 20 77 6c ..{....}.......5static.struct.wl
53e0 5f 64 61 74 61 5f 73 6f 75 72 63 65 5f 6c 69 73 74 65 6e 65 72 20 64 73 5f 6c 69 73 74 65 6e 65 _data_source_listener.ds_listene
5400 72 20 3d 20 7b 00 00 00 15 09 2e 74 61 72 67 65 74 20 3d 20 64 73 5f 74 61 72 67 65 74 2c 00 00 r.=.{......target.=.ds_target,..
5420 00 11 09 2e 73 65 6e 64 20 3d 20 64 73 5f 73 65 6e 64 2c 00 00 00 1b 09 2e 63 61 6e 63 65 6c 6c ....send.=.ds_send,......cancell
5440 65 64 20 3d 20 64 73 5f 63 61 6e 63 65 6c 6c 65 64 2c 00 00 00 2d 09 2e 64 6e 64 5f 64 72 6f 70 ed.=.ds_cancelled,...-..dnd_drop
5460 5f 70 65 72 66 6f 72 6d 65 64 20 3d 20 64 73 5f 64 6e 64 5f 64 72 6f 70 5f 70 65 72 66 6f 72 6d _performed.=.ds_dnd_drop_perform
5480 65 64 2c 00 00 00 21 09 2e 64 6e 64 5f 66 69 6e 69 73 68 65 64 20 3d 20 64 73 5f 64 6e 64 5f 66 ed,...!..dnd_finished.=.ds_dnd_f
54a0 69 6e 69 73 68 65 64 2c 00 00 00 15 09 2e 61 63 74 69 6f 6e 20 3d 20 64 73 5f 61 63 74 69 6f 6e inished,......action.=.ds_action
54c0 2c 00 00 00 02 7d 3b 00 00 00 00 00 00 00 23 73 74 61 74 69 63 20 76 6f 69 64 20 64 5f 63 6f 70 ,....};.......#static.void.d_cop
54e0 79 28 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 00 00 00 01 7b 00 00 00 10 09 69 66 20 28 y(uint32_t.serial)....{.....if.(
5500 21 74 65 72 6d 2e 64 5f 64 6d 29 00 00 00 09 09 09 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 43 !term.d_dm)......return;.......C
5520 09 69 66 20 28 74 73 6d 5f 73 63 72 65 65 6e 5f 73 65 6c 65 63 74 69 6f 6e 5f 63 6f 70 79 28 74 .if.(tsm_screen_selection_copy(t
5540 65 72 6d 2e 73 63 72 65 65 6e 2c 20 26 74 65 72 6d 2e 64 5f 63 6f 70 79 2e 64 61 74 61 29 20 3c erm.screen,.&term.d_copy.data).<
5560 20 30 29 00 00 00 09 09 09 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 15 09 74 65 72 6d 2e 64 5f .0)......return;.........term.d_
5580 63 6f 70 79 2e 73 6f 75 72 63 65 20 3d 00 00 00 37 09 09 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 copy.source.=...7..wl_data_devic
55a0 65 5f 6d 61 6e 61 67 65 72 5f 63 72 65 61 74 65 5f 64 61 74 61 5f 73 6f 75 72 63 65 28 74 65 72 e_manager_create_data_source(ter
55c0 6d 2e 64 5f 64 6d 29 3b 00 00 00 39 09 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 5f 6f 66 66 65 m.d_dm);...9.wl_data_source_offe
55e0 72 28 74 65 72 6d 2e 64 5f 63 6f 70 79 2e 73 6f 75 72 63 65 2c 20 22 55 54 46 38 5f 53 54 52 49 r(term.d_copy.source,."UTF8_STRI
5600 4e 47 22 29 3b 00 00 00 38 09 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 5f 6f 66 66 65 72 28 74 NG");...8.wl_data_source_offer(t
5620 65 72 6d 2e 64 5f 63 6f 70 79 2e 73 6f 75 72 63 65 2c 20 22 74 65 78 74 2f 70 6c 61 69 6e 22 29 erm.d_copy.source,."text/plain")
5640 3b 00 00 00 45 09 77 6c 5f 64 61 74 61 5f 73 6f 75 72 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 ;...E.wl_data_source_add_listene
5660 72 28 74 65 72 6d 2e 64 5f 63 6f 70 79 2e 73 6f 75 72 63 65 2c 20 26 64 73 5f 6c 69 73 74 65 6e r(term.d_copy.source,.&ds_listen
5680 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 44 09 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 5f 73 65 er,.NULL);...D.wl_data_device_se
56a0 74 5f 73 65 6c 65 63 74 69 6f 6e 28 74 65 72 6d 2e 64 5f 64 2c 20 74 65 72 6d 2e 64 5f 63 6f 70 t_selection(term.d_d,.term.d_cop
56c0 79 2e 73 6f 75 72 63 65 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 1a 73 y.source,.serial);....}........s
56e0 74 61 74 69 63 20 76 6f 69 64 20 64 5f 75 6e 63 6f 70 79 28 76 6f 69 64 29 00 00 00 01 7b 00 00 tatic.void.d_uncopy(void)....{..
5700 00 10 09 69 66 20 28 21 74 65 72 6d 2e 64 5f 64 6d 29 00 00 00 09 09 09 72 65 74 75 72 6e 3b 00 ...if.(!term.d_dm)......return;.
5720 00 00 00 00 00 00 19 09 69 66 20 28 21 74 65 72 6d 2e 64 5f 63 6f 70 79 2e 73 6f 75 72 63 65 29 ........if.(!term.d_copy.source)
5740 00 00 00 09 09 09 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 28 09 64 73 5f 63 61 6e 63 65 6c 6c ......return;.......(.ds_cancell
5760 65 64 28 4e 55 4c 4c 2c 20 74 65 72 6d 2e 64 5f 63 6f 70 79 2e 73 6f 75 72 63 65 29 3b 00 00 00 ed(NULL,.term.d_copy.source);...
5780 01 7d 00 00 00 00 00 00 00 23 73 74 61 74 69 63 20 75 69 6e 74 33 32 5f 74 20 61 63 74 69 6f 6e .}.......#static.uint32_t.action
57a0 5f 63 6f 70 79 5f 73 65 72 69 61 6c 3b 00 00 00 1d 73 74 61 74 69 63 20 76 6f 69 64 20 61 63 74 _copy_serial;....static.void.act
57c0 69 6f 6e 5f 63 6f 70 79 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 0c 09 64 5f 75 6e 63 6f 70 79 ion_copy(void)....{.....d_uncopy
57e0 28 29 3b 00 00 00 21 09 69 66 20 28 74 65 72 6d 2e 73 65 6c 65 63 74 69 6f 6e 20 3d 3d 20 53 53 ();...!.if.(term.selection.==.SS
5800 5f 41 43 54 49 56 45 29 00 00 00 1d 09 09 64 5f 63 6f 70 79 28 61 63 74 69 6f 6e 5f 63 6f 70 79 _ACTIVE)......d_copy(action_copy
5820 5f 73 65 72 69 61 6c 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 1e 73 74 61 74 69 63 20 76 6f 69 _serial);....}........static.voi
5840 64 20 72 65 73 65 74 5f 72 65 70 65 61 74 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 1a 09 74 65 d.reset_repeat(void)....{.....te
5860 72 6d 2e 72 65 70 65 61 74 2e 74 69 6d 65 6f 75 74 20 3d 20 2d 31 3b 00 00 00 01 7d 00 00 00 00 rm.repeat.timeout.=.-1;....}....
5880 00 00 00 1f 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 74 75 70 5f 63 6f 6d 70 6f 73 65 28 76 6f ....static.void.setup_compose(vo
58a0 69 64 29 00 00 00 01 7b 00 00 00 29 09 73 74 72 75 63 74 20 78 6b 62 5f 63 6f 6d 70 6f 73 65 5f id)....{...).struct.xkb_compose_
58c0 74 61 62 6c 65 20 2a 63 6f 6d 70 6f 73 65 5f 74 61 62 6c 65 3b 00 00 00 29 09 73 74 72 75 63 74 table.*compose_table;...).struct
58e0 20 78 6b 62 5f 63 6f 6d 70 6f 73 65 5f 73 74 61 74 65 20 2a 63 6f 6d 70 6f 73 65 5f 73 74 61 74 .xkb_compose_state.*compose_stat
5900 65 3b 00 00 00 1d 09 63 68 61 72 20 2a 6c 61 6e 67 20 3d 20 67 65 74 65 6e 76 28 22 4c 41 4e 47 e;.....char.*lang.=.getenv("LANG
5920 22 29 3b 00 00 00 00 00 00 00 12 09 69 66 20 28 6c 61 6e 67 20 3d 3d 20 4e 55 4c 4c 29 00 00 00 ");.........if.(lang.==.NULL)...
5940 09 09 09 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 10 09 63 6f 6d 70 6f 73 65 5f 74 61 62 6c 65 ...return;.........compose_table
5960 20 3d 00 00 00 31 09 09 78 6b 62 5f 63 6f 6d 70 6f 73 65 5f 74 61 62 6c 65 5f 6e 65 77 5f 66 72 .=...1..xkb_compose_table_new_fr
5980 6f 6d 5f 6c 6f 63 61 6c 65 28 74 65 72 6d 2e 78 6b 62 5f 63 74 78 2c 00 00 00 0d 09 09 09 09 09 om_locale(term.xkb_ctx,.........
59a0 09 20 20 6c 61 6e 67 2c 00 00 00 26 09 09 09 09 09 09 20 20 58 4b 42 5f 43 4f 4d 50 4f 53 45 5f ...lang,...&........XKB_COMPOSE_
59c0 43 4f 4d 50 49 4c 45 5f 4e 4f 5f 46 4c 41 47 53 29 3b 00 00 00 16 09 69 66 20 28 21 63 6f 6d 70 COMPILE_NO_FLAGS);.....if.(!comp
59e0 6f 73 65 5f 74 61 62 6c 65 29 20 7b 00 00 00 37 09 09 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 ose_table).{...7..fprintf(stderr
5a00 2c 20 22 63 6f 75 6c 64 20 6e 6f 74 20 63 72 65 61 74 65 20 58 4b 42 20 63 6f 6d 70 6f 73 65 20 ,."could.not.create.XKB.compose.
5a20 74 61 62 6c 65 20 22 00 00 00 20 09 09 09 09 22 66 6f 72 20 6c 6f 63 61 6c 65 20 27 25 73 27 2e table."........"for.locale.'%s'.
5a40 5c 6e 22 2c 20 6c 61 6e 67 29 3b 00 00 00 09 09 09 72 65 74 75 72 6e 3b 00 00 00 02 09 7d 00 00 \n",.lang);......return;.....}..
5a60 00 00 00 00 00 35 09 63 6f 6d 70 6f 73 65 5f 73 74 61 74 65 20 3d 20 78 6b 62 5f 63 6f 6d 70 6f .....5.compose_state.=.xkb_compo
5a80 73 65 5f 73 74 61 74 65 5f 6e 65 77 28 63 6f 6d 70 6f 73 65 5f 74 61 62 6c 65 2c 00 00 00 27 09 se_state_new(compose_table,...'.
5aa0 09 09 09 09 20 20 20 20 20 20 58 4b 42 5f 43 4f 4d 50 4f 53 45 5f 53 54 41 54 45 5f 4e 4f 5f 46 ..........XKB_COMPOSE_STATE_NO_F
5ac0 4c 41 47 53 29 3b 00 00 00 16 09 69 66 20 28 21 63 6f 6d 70 6f 73 65 5f 73 74 61 74 65 29 20 7b LAGS);.....if.(!compose_state).{
5ae0 00 00 00 38 09 09 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 63 6f 75 6c 64 20 6e 6f 74 ...8..fprintf(stderr,."could.not
5b00 20 63 72 65 61 74 65 20 58 4b 42 20 63 6f 6d 70 6f 73 65 20 73 74 61 74 65 2e 20 22 00 00 00 1c .create.XKB.compose.state.."....
5b20 09 09 09 09 22 44 69 73 61 62 6c 69 6e 67 20 63 6f 6d 70 6f 73 65 2e 5c 6e 22 29 3b 00 00 00 29 ...."Disabling.compose.\n");...)
5b40 09 09 78 6b 62 5f 63 6f 6d 70 6f 73 65 5f 74 61 62 6c 65 5f 75 6e 72 65 66 28 63 6f 6d 70 6f 73 ..xkb_compose_table_unref(compos
5b60 65 5f 74 61 62 6c 65 29 3b 00 00 00 09 09 09 72 65 74 75 72 6e 3b 00 00 00 02 09 7d 00 00 00 00 e_table);......return;.....}....
5b80 00 00 00 31 09 78 6b 62 5f 63 6f 6d 70 6f 73 65 5f 74 61 62 6c 65 5f 75 6e 72 65 66 28 74 65 72 ...1.xkb_compose_table_unref(ter
5ba0 6d 2e 78 6b 62 5f 63 6f 6d 70 6f 73 65 5f 74 61 62 6c 65 29 3b 00 00 00 31 09 78 6b 62 5f 63 6f m.xkb_compose_table);...1.xkb_co
5bc0 6d 70 6f 73 65 5f 73 74 61 74 65 5f 75 6e 72 65 66 28 74 65 72 6d 2e 78 6b 62 5f 63 6f 6d 70 6f mpose_state_unref(term.xkb_compo
5be0 73 65 5f 73 74 61 74 65 29 3b 00 00 00 28 09 74 65 72 6d 2e 78 6b 62 5f 63 6f 6d 70 6f 73 65 5f se_state);...(.term.xkb_compose_
5c00 74 61 62 6c 65 20 3d 20 63 6f 6d 70 6f 73 65 5f 74 61 62 6c 65 3b 00 00 00 28 09 74 65 72 6d 2e table.=.compose_table;...(.term.
5c20 78 6b 62 5f 63 6f 6d 70 6f 73 65 5f 73 74 61 74 65 20 3d 20 63 6f 6d 70 6f 73 65 5f 73 74 61 74 xkb_compose_state.=.compose_stat
5c40 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 47 73 74 61 74 69 63 20 76 6f 69 64 20 6b 62 64 5f 6b e;....}.......Gstatic.void.kbd_k
5c60 65 79 6d 61 70 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 eymap(void.*data,.struct.wl_keyb
5c80 6f 61 72 64 20 2a 6b 2c 20 75 69 6e 74 33 32 5f 74 20 66 6d 74 2c 00 00 00 23 09 09 20 20 20 20 oard.*k,.uint32_t.fmt,...#......
5ca0 20 20 20 69 6e 74 33 32 5f 74 20 66 64 2c 20 75 69 6e 74 33 32 5f 74 20 73 69 7a 65 29 00 00 00 ...int32_t.fd,.uint32_t.size)...
5cc0 01 7b 00 00 00 1b 09 73 74 72 75 63 74 20 78 6b 62 5f 6b 65 79 6d 61 70 20 2a 6b 65 79 6d 61 70 .{.....struct.xkb_keymap.*keymap
5ce0 3b 00 00 00 19 09 73 74 72 75 63 74 20 78 6b 62 5f 73 74 61 74 65 20 2a 73 74 61 74 65 3b 00 00 ;.....struct.xkb_state.*state;..
5d00 00 0b 09 63 68 61 72 20 2a 6d 61 70 3b 00 00 00 00 00 00 00 2f 09 69 66 20 28 66 6d 74 20 21 3d ...char.*map;......./.if.(fmt.!=
5d20 20 57 4c 5f 4b 45 59 42 4f 41 52 44 5f 4b 45 59 4d 41 50 5f 46 4f 52 4d 41 54 5f 58 4b 42 5f 56 .WL_KEYBOARD_KEYMAP_FORMAT_XKB_V
5d40 31 29 20 7b 00 00 00 0c 09 09 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 09 09 09 72 65 74 75 72 6e 1).{......close(fd);......return
5d60 3b 00 00 00 02 09 7d 00 00 00 00 00 00 00 37 09 6d 61 70 20 3d 20 6d 6d 61 70 28 4e 55 4c 4c 2c ;.....}.......7.map.=.mmap(NULL,
5d80 20 73 69 7a 65 2c 20 50 52 4f 54 5f 52 45 41 44 2c 20 4d 41 50 5f 50 52 49 56 41 54 45 2c 20 66 .size,.PROT_READ,.MAP_PRIVATE,.f
5da0 64 2c 20 30 29 3b 00 00 00 19 09 69 66 20 28 6d 61 70 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 d,.0);.....if.(map.==.MAP_FAILED
5dc0 29 20 7b 00 00 00 0c 09 09 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 09 09 09 72 65 74 75 72 6e 3b ).{......close(fd);......return;
5de0 00 00 00 02 09 7d 00 00 00 00 00 00 00 37 09 6b 65 79 6d 61 70 20 3d 20 78 6b 62 5f 6b 65 79 6d .....}.......7.keymap.=.xkb_keym
5e00 61 70 5f 6e 65 77 5f 66 72 6f 6d 5f 73 74 72 69 6e 67 28 74 65 72 6d 2e 78 6b 62 5f 63 74 78 2c ap_new_from_string(term.xkb_ctx,
5e20 20 6d 61 70 2c 00 00 00 23 09 09 09 09 09 20 20 20 20 58 4b 42 5f 4b 45 59 4d 41 50 5f 46 4f 52 .map,...#.........XKB_KEYMAP_FOR
5e40 4d 41 54 5f 54 45 58 54 5f 56 31 2c 00 00 00 26 09 09 09 09 09 20 20 20 20 58 4b 42 5f 4b 45 59 MAT_TEXT_V1,...&.........XKB_KEY
5e60 4d 41 50 5f 43 4f 4d 50 49 4c 45 5f 4e 4f 5f 46 4c 41 47 53 29 3b 00 00 00 13 09 6d 75 6e 6d 61 MAP_COMPILE_NO_FLAGS);.....munma
5e80 70 28 6d 61 70 2c 20 73 69 7a 65 29 3b 00 00 00 0b 09 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 00 p(map,.size);.....close(fd);....
5ea0 00 00 00 0f 09 69 66 20 28 21 6b 65 79 6d 61 70 29 20 7b 00 00 00 30 09 09 66 70 72 69 6e 74 66 .....if.(!keymap).{...0..fprintf
5ec0 28 73 74 64 65 72 72 2c 20 22 66 61 69 6c 65 64 20 74 6f 20 63 6f 6d 70 69 6c 65 20 6b 65 79 6d (stderr,."failed.to.compile.keym
5ee0 61 70 5c 6e 22 29 3b 00 00 00 09 09 09 72 65 74 75 72 6e 3b 00 00 00 02 09 7d 00 00 00 00 00 00 ap\n");......return;.....}......
5f00 00 1f 09 73 74 61 74 65 20 3d 20 78 6b 62 5f 73 74 61 74 65 5f 6e 65 77 28 6b 65 79 6d 61 70 29 ...state.=.xkb_state_new(keymap)
5f20 3b 00 00 00 0e 09 69 66 20 28 21 73 74 61 74 65 29 20 7b 00 00 00 32 09 09 66 70 72 69 6e 74 66 ;.....if.(!state).{...2..fprintf
5f40 28 73 74 64 65 72 72 2c 20 22 66 61 69 6c 65 64 20 74 6f 20 63 72 65 61 74 65 20 58 4b 42 20 73 (stderr,."failed.to.create.XKB.s
5f60 74 61 74 65 5c 6e 22 29 3b 00 00 00 1b 09 09 78 6b 62 5f 6b 65 79 6d 61 70 5f 75 6e 72 65 66 28 tate\n");......xkb_keymap_unref(
5f80 6b 65 79 6d 61 70 29 3b 00 00 00 09 09 09 72 65 74 75 72 6e 3b 00 00 00 02 09 7d 00 00 00 00 00 keymap);......return;.....}.....
5fa0 00 00 23 09 78 6b 62 5f 6b 65 79 6d 61 70 5f 75 6e 72 65 66 28 74 65 72 6d 2e 78 6b 62 5f 6b 65 ..#.xkb_keymap_unref(term.xkb_ke
5fc0 79 6d 61 70 29 3b 00 00 00 21 09 78 6b 62 5f 73 74 61 74 65 5f 75 6e 72 65 66 28 74 65 72 6d 2e ymap);...!.xkb_state_unref(term.
5fe0 78 6b 62 5f 73 74 61 74 65 29 3b 00 00 00 1a 09 74 65 72 6d 2e 78 6b 62 5f 6b 65 79 6d 61 70 20 xkb_state);.....term.xkb_keymap.
6000 3d 20 6b 65 79 6d 61 70 3b 00 00 00 18 09 74 65 72 6d 2e 78 6b 62 5f 73 74 61 74 65 20 3d 20 73 =.keymap;.....term.xkb_state.=.s
6020 74 61 74 65 3b 00 00 00 00 00 00 00 11 09 73 65 74 75 70 5f 63 6f 6d 70 6f 73 65 28 29 3b 00 00 tate;.........setup_compose();..
6040 00 00 00 00 00 45 09 74 65 72 6d 2e 78 6b 62 5f 63 74 72 6c 20 3d 20 78 6b 62 5f 6b 65 79 6d 61 .....E.term.xkb_ctrl.=.xkb_keyma
6060 70 5f 6d 6f 64 5f 67 65 74 5f 69 6e 64 65 78 28 6b 65 79 6d 61 70 2c 20 58 4b 42 5f 4d 4f 44 5f p_mod_get_index(keymap,.XKB_MOD_
6080 4e 41 4d 45 5f 43 54 52 4c 29 3b 00 00 00 43 09 74 65 72 6d 2e 78 6b 62 5f 61 6c 74 20 3d 20 78 NAME_CTRL);...C.term.xkb_alt.=.x
60a0 6b 62 5f 6b 65 79 6d 61 70 5f 6d 6f 64 5f 67 65 74 5f 69 6e 64 65 78 28 6b 65 79 6d 61 70 2c 20 kb_keymap_mod_get_index(keymap,.
60c0 58 4b 42 5f 4d 4f 44 5f 4e 41 4d 45 5f 41 4c 54 29 3b 00 00 00 47 09 74 65 72 6d 2e 78 6b 62 5f XKB_MOD_NAME_ALT);...G.term.xkb_
60e0 73 68 69 66 74 20 3d 20 78 6b 62 5f 6b 65 79 6d 61 70 5f 6d 6f 64 5f 67 65 74 5f 69 6e 64 65 78 shift.=.xkb_keymap_mod_get_index
6100 28 6b 65 79 6d 61 70 2c 20 58 4b 42 5f 4d 4f 44 5f 4e 41 4d 45 5f 53 48 49 46 54 29 3b 00 00 00 (keymap,.XKB_MOD_NAME_SHIFT);...
6120 01 7d 00 00 00 00 00 00 00 49 73 74 61 74 69 63 20 76 6f 69 64 20 6b 62 64 5f 65 6e 74 65 72 28 .}.......Istatic.void.kbd_enter(
6140 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a void.*data,.struct.wl_keyboard.*
6160 6b 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 2c 00 00 00 37 09 09 20 20 20 20 20 20 73 k,.uint32_t.serial,...7........s
6180 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 72 66 2c 20 73 74 72 75 63 74 20 77 truct.wl_surface.*surf,.struct.w
61a0 6c 5f 61 72 72 61 79 20 2a 6b 65 79 73 29 00 00 00 01 7b 00 00 00 01 7d 00 00 00 00 00 00 00 49 l_array.*keys)....{....}.......I
61c0 73 74 61 74 69 63 20 76 6f 69 64 20 6b 62 64 5f 6c 65 61 76 65 28 76 6f 69 64 20 2a 64 61 74 61 static.void.kbd_leave(void.*data
61e0 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 2c 20 75 69 6e 74 33 32 5f ,.struct.wl_keyboard.*k,.uint32_
6200 74 20 73 65 72 69 61 6c 2c 00 00 00 20 09 09 20 20 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 73 t.serial,............struct.wl_s
6220 75 72 66 61 63 65 20 2a 73 75 72 66 29 00 00 00 01 7b 00 00 00 10 09 72 65 73 65 74 5f 72 65 70 urface.*surf)....{.....reset_rep
6240 65 61 74 28 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 2d 73 74 61 74 69 63 20 78 6b 62 5f 6b 65 eat();....}.......-static.xkb_ke
6260 79 73 79 6d 5f 74 20 63 6f 6d 70 6f 73 65 28 78 6b 62 5f 6b 65 79 73 79 6d 5f 74 20 73 79 6d 29 ysym_t.compose(xkb_keysym_t.sym)
6280 00 00 00 01 7b 00 00 00 1d 09 69 66 20 28 21 74 65 72 6d 2e 78 6b 62 5f 63 6f 6d 70 6f 73 65 5f ....{.....if.(!term.xkb_compose_
62a0 73 74 61 74 65 29 00 00 00 0d 09 09 72 65 74 75 72 6e 20 73 79 6d 3b 00 00 00 1d 09 69 66 20 28 state)......return.sym;.....if.(
62c0 73 79 6d 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 4e 6f 53 79 6d 62 6f 6c 29 00 00 00 0d 09 09 72 65 sym.==.XKB_KEY_NoSymbol)......re
62e0 74 75 72 6e 20 73 79 6d 3b 00 00 00 33 09 69 66 20 28 78 6b 62 5f 63 6f 6d 70 6f 73 65 5f 73 74 turn.sym;...3.if.(xkb_compose_st
6300 61 74 65 5f 66 65 65 64 28 74 65 72 6d 2e 78 6b 62 5f 63 6f 6d 70 6f 73 65 5f 73 74 61 74 65 2c ate_feed(term.xkb_compose_state,
6320 00 00 00 29 09 09 09 09 20 20 20 73 79 6d 29 20 21 3d 20 58 4b 42 5f 43 4f 4d 50 4f 53 45 5f 46 ...).......sym).!=.XKB_COMPOSE_F
6340 45 45 44 5f 41 43 43 45 50 54 45 44 29 00 00 00 0d 09 09 72 65 74 75 72 6e 20 73 79 6d 3b 00 00 EED_ACCEPTED)......return.sym;..
6360 00 00 00 00 00 40 09 73 77 69 74 63 68 20 28 78 6b 62 5f 63 6f 6d 70 6f 73 65 5f 73 74 61 74 65 .....@.switch.(xkb_compose_state
6380 5f 67 65 74 5f 73 74 61 74 75 73 28 74 65 72 6d 2e 78 6b 62 5f 63 6f 6d 70 6f 73 65 5f 73 74 61 _get_status(term.xkb_compose_sta
63a0 74 65 29 29 20 7b 00 00 00 1b 09 63 61 73 65 20 58 4b 42 5f 43 4f 4d 50 4f 53 45 5f 43 4f 4d 50 te)).{.....case.XKB_COMPOSE_COMP
63c0 4f 53 45 44 3a 00 00 00 3f 09 09 72 65 74 75 72 6e 20 78 6b 62 5f 63 6f 6d 70 6f 73 65 5f 73 74 OSED:...?..return.xkb_compose_st
63e0 61 74 65 5f 67 65 74 5f 6f 6e 65 5f 73 79 6d 28 74 65 72 6d 2e 78 6b 62 5f 63 6f 6d 70 6f 73 65 ate_get_one_sym(term.xkb_compose
6400 5f 73 74 61 74 65 29 3b 00 00 00 1c 09 63 61 73 65 20 58 4b 42 5f 43 4f 4d 50 4f 53 45 5f 43 4f _state);.....case.XKB_COMPOSE_CO
6420 4d 50 4f 53 49 4e 47 3a 00 00 00 1c 09 63 61 73 65 20 58 4b 42 5f 43 4f 4d 50 4f 53 45 5f 43 41 MPOSING:.....case.XKB_COMPOSE_CA
6440 4e 43 45 4c 4c 45 44 3a 00 00 00 1a 09 09 72 65 74 75 72 6e 20 58 4b 42 5f 4b 45 59 5f 4e 6f 53 NCELLED:......return.XKB_KEY_NoS
6460 79 6d 62 6f 6c 3b 00 00 00 1a 09 63 61 73 65 20 58 4b 42 5f 43 4f 4d 50 4f 53 45 5f 4e 4f 54 48 ymbol;.....case.XKB_COMPOSE_NOTH
6480 49 4e 47 3a 00 00 00 09 09 64 65 66 61 75 6c 74 3a 00 00 00 0d 09 09 72 65 74 75 72 6e 20 73 79 ING:.....default:......return.sy
64a0 6d 3b 00 00 00 02 09 7d 00 00 00 01 7d 00 00 00 00 00 00 00 47 73 74 61 74 69 63 20 76 6f 69 64 m;.....}....}.......Gstatic.void
64c0 20 6b 62 64 5f 6b 65 79 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b .kbd_key(void.*data,.struct.wl_k
64e0 65 79 62 6f 61 72 64 20 2a 6b 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 2c 00 00 00 32 eyboard.*k,.uint32_t.serial,...2
6500 09 09 20 20 20 20 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 6b 65 ......uint32_t.time,.uint32_t.ke
6520 79 2c 20 75 69 6e 74 33 32 5f 74 20 73 74 61 74 65 29 00 00 00 01 7b 00 00 00 18 09 78 6b 62 5f y,.uint32_t.state)....{.....xkb_
6540 6b 65 79 73 79 6d 5f 74 20 73 79 6d 2c 20 6c 73 79 6d 3b 00 00 00 12 09 75 69 6e 74 33 32 5f 74 keysym_t.sym,.lsym;.....uint32_t
6560 20 75 6e 69 63 6f 64 65 3b 00 00 00 13 09 73 74 72 75 63 74 20 62 69 6e 64 69 6e 67 20 2a 62 3b .unicode;.....struct.binding.*b;
6580 00 00 00 1d 09 76 6f 69 64 20 28 2a 61 63 74 69 6f 6e 29 28 76 6f 69 64 29 20 3d 20 4e 55 4c 4c .....void.(*action)(void).=.NULL
65a0 3b 00 00 00 00 00 00 00 29 09 69 66 20 28 21 74 65 72 6d 2e 78 6b 62 5f 6b 65 79 6d 61 70 20 7c ;.......).if.(!term.xkb_keymap.|
65c0 7c 20 21 74 65 72 6d 2e 78 6b 62 5f 73 74 61 74 65 29 00 00 00 09 09 09 72 65 74 75 72 6e 3b 00 |.!term.xkb_state)......return;.
65e0 00 00 00 00 00 00 2f 09 69 66 20 28 73 74 61 74 65 20 3d 3d 20 57 4c 5f 4b 45 59 42 4f 41 52 44 ....../.if.(state.==.WL_KEYBOARD
6600 5f 4b 45 59 5f 53 54 41 54 45 5f 52 45 4c 45 41 53 45 44 29 20 7b 00 00 00 1d 09 09 69 66 20 28 _KEY_STATE_RELEASED).{......if.(
6620 74 65 72 6d 2e 72 65 70 65 61 74 2e 6b 65 79 20 3d 3d 20 6b 65 79 29 00 00 00 12 09 09 09 72 65 term.repeat.key.==.key).......re
6640 73 65 74 5f 72 65 70 65 61 74 28 29 3b 00 00 00 09 09 09 72 65 74 75 72 6e 3b 00 00 00 02 09 7d set_repeat();......return;.....}
6660 00 00 00 00 00 00 00 12 09 63 75 72 73 6f 72 5f 73 65 74 28 4e 55 4c 4c 29 3b 00 00 00 00 00 00 .........cursor_set(NULL);......
6680 00 43 09 73 79 6d 20 3d 20 63 6f 6d 70 6f 73 65 28 78 6b 62 5f 73 74 61 74 65 5f 6b 65 79 5f 67 .C.sym.=.compose(xkb_state_key_g
66a0 65 74 5f 6f 6e 65 5f 73 79 6d 28 74 65 72 6d 2e 78 6b 62 5f 73 74 61 74 65 2c 20 6b 65 79 20 2b et_one_sym(term.xkb_state,.key.+
66c0 20 38 29 29 3b 00 00 00 00 00 00 00 24 09 75 6e 69 63 6f 64 65 20 3d 20 78 6b 62 5f 6b 65 79 73 .8));.......$.unicode.=.xkb_keys
66e0 79 6d 5f 74 6f 5f 75 74 66 33 32 28 73 79 6d 29 3b 00 00 00 12 09 69 66 20 28 75 6e 69 63 6f 64 ym_to_utf32(sym);.....if.(unicod
6700 65 20 3d 3d 20 30 29 00 00 00 1c 09 09 75 6e 69 63 6f 64 65 20 3d 20 54 53 4d 5f 56 54 45 5f 49 e.==.0)......unicode.=.TSM_VTE_I
6720 4e 56 41 4c 49 44 3b 00 00 00 00 00 00 00 21 09 6c 73 79 6d 20 3d 20 78 6b 62 5f 6b 65 79 73 79 NVALID;.......!.lsym.=.xkb_keysy
6740 6d 5f 74 6f 5f 6c 6f 77 65 72 28 73 79 6d 29 3b 00 00 00 1d 09 61 63 74 69 6f 6e 5f 63 6f 70 79 m_to_lower(sym);.....action_copy
6760 5f 73 65 72 69 61 6c 20 3d 20 73 65 72 69 61 6c 3b 00 00 00 12 09 62 20 3d 20 74 65 72 6d 2e 62 _serial.=.serial;.....b.=.term.b
6780 69 6e 64 69 6e 67 3b 00 00 00 0c 09 77 68 69 6c 65 20 28 62 29 20 7b 00 00 00 2f 09 09 69 66 20 inding;.....while.(b).{.../..if.
67a0 28 74 65 72 6d 2e 6d 6f 64 73 20 3d 3d 20 62 2d 3e 6d 6f 64 73 20 26 26 20 6c 73 79 6d 20 3d 3d (term.mods.==.b->mods.&&.lsym.==
67c0 20 62 2d 3e 73 79 6d 29 20 7b 00 00 00 0f 09 09 09 62 2d 3e 61 63 74 69 6f 6e 28 29 3b 00 00 00 .b->sym).{.......b->action();...
67e0 16 09 09 09 61 63 74 69 6f 6e 20 3d 20 62 2d 3e 61 63 74 69 6f 6e 3b 00 00 00 09 09 09 09 62 72 ....action.=.b->action;.......br
6800 65 61 6b 3b 00 00 00 03 09 09 7d 00 00 00 0e 09 09 62 20 3d 20 62 2d 3e 6e 65 78 74 3b 00 00 00 eak;......}......b.=.b->next;...
6820 02 09 7d 00 00 00 00 00 00 00 0f 09 69 66 20 28 21 61 63 74 69 6f 6e 29 20 7b 00 00 00 3e 09 09 ..}.........if.(!action).{...>..
6840 69 66 20 28 74 73 6d 5f 76 74 65 5f 68 61 6e 64 6c 65 5f 6b 65 79 62 6f 61 72 64 28 74 65 72 6d if.(tsm_vte_handle_keyboard(term
6860 2e 76 74 65 2c 20 73 79 6d 2c 20 58 4b 42 5f 4b 45 59 5f 4e 6f 53 79 6d 62 6f 6c 2c 00 00 00 1f .vte,.sym,.XKB_KEY_NoSymbol,....
6880 09 09 09 09 09 20 20 20 20 74 65 72 6d 2e 6d 6f 64 73 2c 20 75 6e 69 63 6f 64 65 29 20 26 26 00 .........term.mods,.unicode).&&.
68a0 00 00 2b 09 09 20 20 20 20 74 65 72 6d 2e 63 66 67 2e 73 63 72 6f 6c 6c 5f 74 6f 5f 62 6f 74 74 ..+......term.cfg.scroll_to_bott
68c0 6f 6d 5f 6f 6e 5f 69 6e 70 75 74 20 26 26 00 00 00 27 09 09 20 20 20 20 74 73 6d 5f 73 63 72 65 om_on_input.&&...'......tsm_scre
68e0 65 6e 5f 73 62 5f 72 65 73 65 74 28 74 65 72 6d 2e 73 63 72 65 65 6e 29 29 00 00 00 1b 09 09 09 en_sb_reset(term.screen)).......
6900 74 65 72 6d 2e 6e 65 65 64 5f 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 02 09 7d 00 00 term.need_redraw.=.true;.....}..
6920 00 00 00 00 00 38 09 69 66 20 28 78 6b 62 5f 6b 65 79 6d 61 70 5f 6b 65 79 5f 72 65 70 65 61 74 .....8.if.(xkb_keymap_key_repeat
6940 73 28 74 65 72 6d 2e 78 6b 62 5f 6b 65 79 6d 61 70 2c 20 6b 65 79 20 2b 20 38 29 29 20 7b 00 00 s(term.xkb_keymap,.key.+.8)).{..
6960 00 18 09 09 74 65 72 6d 2e 72 65 70 65 61 74 2e 6b 65 79 20 3d 20 6b 65 79 3b 00 00 00 18 09 09 ....term.repeat.key.=.key;......
6980 74 65 72 6d 2e 72 65 70 65 61 74 2e 73 79 6d 20 3d 20 73 79 6d 3b 00 00 00 20 09 09 74 65 72 6d term.repeat.sym.=.sym;......term
69a0 2e 72 65 70 65 61 74 2e 75 6e 69 63 6f 64 65 20 3d 20 75 6e 69 63 6f 64 65 3b 00 00 00 1e 09 09 .repeat.unicode.=.unicode;......
69c0 74 65 72 6d 2e 72 65 70 65 61 74 2e 61 63 74 69 6f 6e 20 3d 20 61 63 74 69 6f 6e 3b 00 00 00 2a term.repeat.action.=.action;...*
69e0 09 09 74 65 72 6d 2e 72 65 70 65 61 74 2e 74 69 6d 65 6f 75 74 20 3d 20 74 65 72 6d 2e 72 65 70 ..term.repeat.timeout.=.term.rep
6a00 65 61 74 2e 64 65 6c 61 79 3b 00 00 00 1c 09 09 74 65 72 6d 2e 72 65 70 65 61 74 2e 73 74 61 72 eat.delay;......term.repeat.star
6a20 74 20 3d 20 6e 6f 77 28 29 3b 00 00 00 02 09 7d 00 00 00 01 7d 00 00 00 00 00 00 00 48 73 74 61 t.=.now();.....}....}.......Hsta
6a40 74 69 63 20 76 6f 69 64 20 6b 62 64 5f 6d 6f 64 73 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 tic.void.kbd_mods(void.*data,.st
6a60 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 ruct.wl_keyboard.*k,.uint32_t.se
6a80 72 69 61 6c 2c 00 00 00 3d 09 09 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 64 65 70 72 65 73 73 rial,...=.......uint32_t.depress
6aa0 65 64 2c 20 75 69 6e 74 33 32 5f 74 20 6c 61 74 63 68 65 64 2c 20 75 69 6e 74 33 32 5f 74 20 6c ed,.uint32_t.latched,.uint32_t.l
6ac0 6f 63 6b 65 64 2c 00 00 00 16 09 09 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 67 72 6f 75 70 29 ocked,...........uint32_t.group)
6ae0 00 00 00 01 7b 00 00 00 29 09 69 66 20 28 21 74 65 72 6d 2e 78 6b 62 5f 6b 65 79 6d 61 70 20 7c ....{...).if.(!term.xkb_keymap.|
6b00 7c 20 21 74 65 72 6d 2e 78 6b 62 5f 73 74 61 74 65 29 00 00 00 09 09 09 72 65 74 75 72 6e 3b 00 |.!term.xkb_state)......return;.
6b20 00 00 00 00 00 00 42 09 78 6b 62 5f 73 74 61 74 65 5f 75 70 64 61 74 65 5f 6d 61 73 6b 28 74 65 ......B.xkb_state_update_mask(te
6b40 72 6d 2e 78 6b 62 5f 73 74 61 74 65 2c 20 64 65 70 72 65 73 73 65 64 2c 20 6c 61 74 63 68 65 64 rm.xkb_state,.depressed,.latched
6b60 2c 20 6c 6f 63 6b 65 64 2c 00 00 00 16 09 09 09 20 20 20 20 20 20 30 2c 20 30 2c 20 67 72 6f 75 ,.locked,.............0,.0,.grou
6b80 70 29 3b 00 00 00 00 00 00 00 0f 09 74 65 72 6d 2e 6d 6f 64 73 20 3d 20 30 3b 00 00 00 40 09 69 p);.........term.mods.=.0;...@.i
6ba0 66 20 28 78 6b 62 5f 73 74 61 74 65 5f 6d 6f 64 5f 69 6e 64 65 78 5f 69 73 5f 61 63 74 69 76 65 f.(xkb_state_mod_index_is_active
6bc0 28 74 65 72 6d 2e 78 6b 62 5f 73 74 61 74 65 2c 20 74 65 72 6d 2e 78 6b 62 5f 61 6c 74 2c 00 00 (term.xkb_state,.term.xkb_alt,..
6be0 00 26 09 09 09 09 09 20 20 58 4b 42 5f 53 54 41 54 45 5f 4d 4f 44 53 5f 45 46 46 45 43 54 49 56 .&.......XKB_STATE_MODS_EFFECTIV
6c00 45 29 20 3d 3d 20 31 29 00 00 00 1c 09 09 74 65 72 6d 2e 6d 6f 64 73 20 7c 3d 20 54 53 4d 5f 41 E).==.1)......term.mods.|=.TSM_A
6c20 4c 54 5f 4d 41 53 4b 3b 00 00 00 41 09 69 66 20 28 78 6b 62 5f 73 74 61 74 65 5f 6d 6f 64 5f 69 LT_MASK;...A.if.(xkb_state_mod_i
6c40 6e 64 65 78 5f 69 73 5f 61 63 74 69 76 65 28 74 65 72 6d 2e 78 6b 62 5f 73 74 61 74 65 2c 20 74 ndex_is_active(term.xkb_state,.t
6c60 65 72 6d 2e 78 6b 62 5f 63 74 72 6c 2c 00 00 00 26 09 09 09 09 09 20 20 58 4b 42 5f 53 54 41 54 erm.xkb_ctrl,...&.......XKB_STAT
6c80 45 5f 4d 4f 44 53 5f 45 46 46 45 43 54 49 56 45 29 20 3d 3d 20 31 29 00 00 00 20 09 09 74 65 72 E_MODS_EFFECTIVE).==.1)......ter
6ca0 6d 2e 6d 6f 64 73 20 7c 3d 20 54 53 4d 5f 43 4f 4e 54 52 4f 4c 5f 4d 41 53 4b 3b 00 00 00 42 09 m.mods.|=.TSM_CONTROL_MASK;...B.
6cc0 69 66 20 28 78 6b 62 5f 73 74 61 74 65 5f 6d 6f 64 5f 69 6e 64 65 78 5f 69 73 5f 61 63 74 69 76 if.(xkb_state_mod_index_is_activ
6ce0 65 28 74 65 72 6d 2e 78 6b 62 5f 73 74 61 74 65 2c 20 74 65 72 6d 2e 78 6b 62 5f 73 68 69 66 74 e(term.xkb_state,.term.xkb_shift
6d00 2c 00 00 00 26 09 09 09 09 09 20 20 58 4b 42 5f 53 54 41 54 45 5f 4d 4f 44 53 5f 45 46 46 45 43 ,...&.......XKB_STATE_MODS_EFFEC
6d20 54 49 56 45 29 20 3d 3d 20 31 29 00 00 00 1e 09 09 74 65 72 6d 2e 6d 6f 64 73 20 7c 3d 20 54 53 TIVE).==.1)......term.mods.|=.TS
6d40 4d 5f 53 48 49 46 54 5f 4d 41 53 4b 3b 00 00 00 00 00 00 00 10 09 72 65 73 65 74 5f 72 65 70 65 M_SHIFT_MASK;.........reset_repe
6d60 61 74 28 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 39 73 74 61 74 69 63 20 76 6f 69 64 20 6b 62 at();....}.......9static.void.kb
6d80 64 5f 72 65 70 65 61 74 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b d_repeat(void.*data,.struct.wl_k
6da0 65 79 62 6f 61 72 64 20 2a 6b 2c 00 00 00 25 09 09 20 20 20 20 20 20 20 69 6e 74 33 32 5f 74 20 eyboard.*k,...%.........int32_t.
6dc0 72 61 74 65 2c 20 69 6e 74 33 32 5f 74 20 64 65 6c 61 79 29 00 00 00 01 7b 00 00 00 11 09 69 66 rate,.int32_t.delay)....{.....if
6de0 20 28 72 61 74 65 20 3e 20 31 30 30 30 29 00 00 00 0e 09 09 72 61 74 65 20 3d 20 31 30 30 30 3b .(rate.>.1000)......rate.=.1000;
6e00 00 00 00 00 00 00 00 34 09 74 65 72 6d 2e 72 65 70 65 61 74 2e 69 6e 74 65 72 76 61 6c 20 3d 20 .......4.term.repeat.interval.=.
6e20 72 61 74 65 20 3e 20 30 20 3f 20 31 30 30 30 20 2f 20 72 61 74 65 20 3a 20 2d 31 3b 00 00 00 2b rate.>.0.?.1000./.rate.:.-1;...+
6e40 09 74 65 72 6d 2e 72 65 70 65 61 74 2e 64 65 6c 61 79 20 3d 20 72 61 74 65 20 3e 20 30 20 3f 20 .term.repeat.delay.=.rate.>.0.?.
6e60 64 65 6c 61 79 20 3a 20 2d 31 3b 00 00 00 01 7d 00 00 00 00 00 00 00 33 73 74 61 74 69 63 20 73 delay.:.-1;....}.......3static.s
6e80 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 5f 6c 69 73 74 65 6e 65 72 20 6b 62 64 5f 6c truct.wl_keyboard_listener.kbd_l
6ea0 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 16 09 2e 6b 65 79 6d 61 70 20 3d 20 6b 62 64 5f 6b 65 istener.=.{......keymap.=.kbd_ke
6ec0 79 6d 61 70 2c 00 00 00 14 09 2e 65 6e 74 65 72 20 3d 20 6b 62 64 5f 65 6e 74 65 72 2c 00 00 00 ymap,......enter.=.kbd_enter,...
6ee0 14 09 2e 6c 65 61 76 65 20 3d 20 6b 62 64 5f 6c 65 61 76 65 2c 00 00 00 10 09 2e 6b 65 79 20 3d ...leave.=.kbd_leave,......key.=
6f00 20 6b 62 64 5f 6b 65 79 2c 00 00 00 17 09 2e 6d 6f 64 69 66 69 65 72 73 20 3d 20 6b 62 64 5f 6d .kbd_key,......modifiers.=.kbd_m
6f20 6f 64 73 2c 00 00 00 1b 09 2e 72 65 70 65 61 74 5f 69 6e 66 6f 20 3d 20 6b 62 64 5f 72 65 70 65 ods,......repeat_info.=.kbd_repe
6f40 61 74 2c 00 00 00 02 7d 3b 00 00 00 00 00 00 00 20 73 74 61 74 69 63 20 76 6f 69 64 20 70 73 73 at,....};........static.void.pss
6f60 5f 73 65 6e 64 28 76 6f 69 64 20 2a 64 61 74 61 2c 00 00 00 36 09 09 20 20 20 20 20 73 74 72 75 _send(void.*data,...6.......stru
6f80 63 74 20 7a 77 70 5f 70 72 69 6d 61 72 79 5f 73 65 6c 65 63 74 69 6f 6e 5f 73 6f 75 72 63 65 5f ct.zwp_primary_selection_source_
6fa0 76 31 20 2a 73 6f 75 72 63 65 2c 00 00 00 1d 09 09 20 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 v1.*source,...........const.char
6fc0 20 2a 6d 69 6d 65 5f 74 79 70 65 2c 00 00 00 12 09 09 20 20 20 20 20 69 6e 74 33 32 5f 74 20 66 .*mime_type,...........int32_t.f
6fe0 64 29 00 00 00 01 7b 00 00 00 39 09 77 72 69 74 65 28 66 64 2c 20 74 65 72 6d 2e 70 73 5f 63 6f d)....{...9.write(fd,.term.ps_co
7000 70 79 2e 64 61 74 61 2c 20 73 74 72 6c 65 6e 28 74 65 72 6d 2e 70 73 5f 63 6f 70 79 2e 64 61 74 py.data,.strlen(term.ps_copy.dat
7020 61 29 29 3b 00 00 00 0b 09 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 25 a));.....close(fd);....}.......%
7040 73 74 61 74 69 63 20 76 6f 69 64 20 70 73 73 5f 63 61 6e 63 65 6c 6c 65 64 28 76 6f 69 64 20 2a static.void.pss_cancelled(void.*
7060 64 61 74 61 2c 00 00 00 34 09 09 09 20 20 73 74 72 75 63 74 20 7a 77 70 5f 70 72 69 6d 61 72 79 data,...4.....struct.zwp_primary
7080 5f 73 65 6c 65 63 74 69 6f 6e 5f 73 6f 75 72 63 65 5f 76 31 20 2a 73 6f 75 72 63 65 29 00 00 00 _selection_source_v1.*source)...
70a0 01 7b 00 00 00 3e 09 7a 77 70 5f 70 72 69 6d 61 72 79 5f 73 65 6c 65 63 74 69 6f 6e 5f 73 6f 75 .{...>.zwp_primary_selection_sou
70c0 72 63 65 5f 76 31 5f 64 65 73 74 72 6f 79 28 74 65 72 6d 2e 70 73 5f 63 6f 70 79 2e 73 6f 75 72 rce_v1_destroy(term.ps_copy.sour
70e0 63 65 29 3b 00 00 00 1c 09 74 65 72 6d 2e 70 73 5f 63 6f 70 79 2e 73 6f 75 72 63 65 20 3d 20 4e ce);.....term.ps_copy.source.=.N
7100 55 4c 4c 3b 00 00 00 19 09 66 72 65 65 28 74 65 72 6d 2e 70 73 5f 63 6f 70 79 2e 64 61 74 61 29 ULL;.....free(term.ps_copy.data)
7120 3b 00 00 00 01 7d 00 00 00 00 00 00 00 47 73 74 61 74 69 63 20 73 74 72 75 63 74 20 7a 77 70 5f ;....}.......Gstatic.struct.zwp_
7140 70 72 69 6d 61 72 79 5f 73 65 6c 65 63 74 69 6f 6e 5f 73 6f 75 72 63 65 5f 76 31 5f 6c 69 73 74 primary_selection_source_v1_list
7160 65 6e 65 72 20 70 73 73 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 12 09 2e 73 65 6e 64 20 ener.pss_listener.=.{......send.
7180 3d 20 70 73 73 5f 73 65 6e 64 2c 00 00 00 1c 09 2e 63 61 6e 63 65 6c 6c 65 64 20 3d 20 70 73 73 =.pss_send,......cancelled.=.pss
71a0 5f 63 61 6e 63 65 6c 6c 65 64 2c 00 00 00 02 7d 3b 00 00 00 00 00 00 00 00 00 00 00 24 73 74 61 _cancelled,....};...........$sta
71c0 74 69 63 20 76 6f 69 64 20 70 73 5f 63 6f 70 79 28 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c tic.void.ps_copy(uint32_t.serial
71e0 29 00 00 00 01 7b 00 00 00 11 09 69 66 20 28 21 74 65 72 6d 2e 70 73 5f 64 6d 29 00 00 00 09 09 )....{.....if.(!term.ps_dm).....
7200 09 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 44 09 69 66 20 28 74 73 6d 5f 73 63 72 65 65 6e 5f .return;.......D.if.(tsm_screen_
7220 73 65 6c 65 63 74 69 6f 6e 5f 63 6f 70 79 28 74 65 72 6d 2e 73 63 72 65 65 6e 2c 20 26 74 65 72 selection_copy(term.screen,.&ter
7240 6d 2e 70 73 5f 63 6f 70 79 2e 64 61 74 61 29 20 3c 20 30 29 00 00 00 09 09 09 72 65 74 75 72 6e m.ps_copy.data).<.0)......return
7260 3b 00 00 00 00 00 00 00 16 09 74 65 72 6d 2e 70 73 5f 63 6f 70 79 2e 73 6f 75 72 63 65 20 3d 00 ;.........term.ps_copy.source.=.
7280 00 00 44 09 09 7a 77 70 5f 70 72 69 6d 61 72 79 5f 73 65 6c 65 63 74 69 6f 6e 5f 64 65 76 69 63 ..D..zwp_primary_selection_devic
72a0 65 5f 6d 61 6e 61 67 65 72 5f 76 31 5f 63 72 65 61 74 65 5f 73 6f 75 72 63 65 28 74 65 72 6d 2e e_manager_v1_create_source(term.
72c0 70 73 5f 64 6d 29 3b 00 00 00 4b 09 7a 77 70 5f 70 72 69 6d 61 72 79 5f 73 65 6c 65 63 74 69 6f ps_dm);...K.zwp_primary_selectio
72e0 6e 5f 73 6f 75 72 63 65 5f 76 31 5f 6f 66 66 65 72 28 74 65 72 6d 2e 70 73 5f 63 6f 70 79 2e 73 n_source_v1_offer(term.ps_copy.s
7300 6f 75 72 63 65 2c 20 22 55 54 46 38 5f 53 54 52 49 4e 47 22 29 3b 00 00 00 4a 09 7a 77 70 5f 70 ource,."UTF8_STRING");...J.zwp_p
7320 72 69 6d 61 72 79 5f 73 65 6c 65 63 74 69 6f 6e 5f 73 6f 75 72 63 65 5f 76 31 5f 6f 66 66 65 72 rimary_selection_source_v1_offer
7340 28 74 65 72 6d 2e 70 73 5f 63 6f 70 79 2e 73 6f 75 72 63 65 2c 20 22 74 65 78 74 2f 70 6c 61 69 (term.ps_copy.source,."text/plai
7360 6e 22 29 3b 00 00 00 42 09 7a 77 70 5f 70 72 69 6d 61 72 79 5f 73 65 6c 65 63 74 69 6f 6e 5f 73 n");...B.zwp_primary_selection_s
7380 6f 75 72 63 65 5f 76 31 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 74 65 72 6d 2e 70 73 5f 63 6f ource_v1_add_listener(term.ps_co
73a0 70 79 2e 73 6f 75 72 63 65 2c 00 00 00 20 09 09 09 09 09 09 20 20 20 20 20 26 70 73 73 5f 6c 69 py.source,...............&pss_li
73c0 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 39 09 7a 77 70 5f 70 72 69 6d 61 72 79 5f 73 stener,.NULL);...9.zwp_primary_s
73e0 65 6c 65 63 74 69 6f 6e 5f 64 65 76 69 63 65 5f 76 31 5f 73 65 74 5f 73 65 6c 65 63 74 69 6f 6e election_device_v1_set_selection
7400 28 74 65 72 6d 2e 70 73 5f 64 2c 00 00 00 20 09 09 09 09 09 09 20 20 20 20 20 20 74 65 72 6d 2e (term.ps_d,................term.
7420 70 73 5f 63 6f 70 79 2e 73 6f 75 72 63 65 2c 00 00 00 14 09 09 09 09 09 09 20 20 20 20 20 20 73 ps_copy.source,................s
7440 65 72 69 61 6c 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 1b 73 74 61 74 69 63 20 76 6f 69 64 20 erial);....}........static.void.
7460 70 73 5f 75 6e 63 6f 70 79 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 11 09 69 66 20 28 21 74 65 ps_uncopy(void)....{.....if.(!te
7480 72 6d 2e 70 73 5f 64 6d 29 00 00 00 09 09 09 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 1a 09 69 rm.ps_dm)......return;.........i
74a0 66 20 28 21 74 65 72 6d 2e 70 73 5f 63 6f 70 79 2e 73 6f 75 72 63 65 29 00 00 00 09 09 09 72 65 f.(!term.ps_copy.source)......re
74c0 74 75 72 6e 3b 00 00 00 00 00 00 00 2a 09 70 73 73 5f 63 61 6e 63 65 6c 6c 65 64 28 4e 55 4c 4c turn;.......*.pss_cancelled(NULL
74e0 2c 20 74 65 72 6d 2e 70 73 5f 63 6f 70 79 2e 73 6f 75 72 63 65 29 3b 00 00 00 01 7d 00 00 00 00 ,.term.ps_copy.source);....}....
7500 00 00 00 1e 73 74 61 74 69 63 20 69 6e 6c 69 6e 65 20 69 6e 74 20 67 72 69 64 5f 78 28 76 6f 69 ....static.inline.int.grid_x(voi
7520 64 29 00 00 00 01 7b 00 00 00 4b 09 69 6e 74 20 78 20 3d 20 28 77 6c 5f 66 69 78 65 64 5f 74 6f d)....{...K.int.x.=.(wl_fixed_to
7540 5f 64 6f 75 62 6c 65 28 74 65 72 6d 2e 70 74 72 5f 78 29 20 2d 20 74 65 72 6d 2e 6d 61 72 67 69 _double(term.ptr_x).-.term.margi
7560 6e 2e 6c 65 66 74 29 20 2f 20 74 65 72 6d 2e 63 77 69 64 74 68 3b 00 00 00 00 00 00 00 0b 09 69 n.left)./.term.cwidth;.........i
7580 66 20 28 78 20 3c 20 30 29 00 00 00 0b 09 09 72 65 74 75 72 6e 20 30 3b 00 00 00 00 00 00 00 13 f.(x.<.0)......return.0;........
75a0 09 69 66 20 28 78 20 3e 3d 20 74 65 72 6d 2e 63 6f 6c 29 00 00 00 16 09 09 72 65 74 75 72 6e 20 .if.(x.>=.term.col)......return.
75c0 74 65 72 6d 2e 63 6f 6c 20 2d 20 31 3b 00 00 00 00 00 00 00 0a 09 72 65 74 75 72 6e 20 78 3b 00 term.col.-.1;.........return.x;.
75e0 00 00 01 7d 00 00 00 00 00 00 00 1e 73 74 61 74 69 63 20 69 6e 6c 69 6e 65 20 69 6e 74 20 67 72 ...}........static.inline.int.gr
7600 69 64 5f 79 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 4b 09 69 6e 74 20 79 20 3d 20 28 77 6c 5f id_y(void)....{...K.int.y.=.(wl_
7620 66 69 78 65 64 5f 74 6f 5f 64 6f 75 62 6c 65 28 74 65 72 6d 2e 70 74 72 5f 79 29 20 2d 20 74 65 fixed_to_double(term.ptr_y).-.te
7640 72 6d 2e 6d 61 72 67 69 6e 2e 74 6f 70 29 20 2f 20 74 65 72 6d 2e 63 68 65 69 67 68 74 3b 00 00 rm.margin.top)./.term.cheight;..
7660 00 00 00 00 00 0b 09 69 66 20 28 79 20 3c 20 30 29 00 00 00 0b 09 09 72 65 74 75 72 6e 20 30 3b .......if.(y.<.0)......return.0;
7680 00 00 00 00 00 00 00 13 09 69 66 20 28 79 20 3e 3d 20 74 65 72 6d 2e 72 6f 77 29 00 00 00 16 09 .........if.(y.>=.term.row).....
76a0 09 72 65 74 75 72 6e 20 74 65 72 6d 2e 72 6f 77 20 2d 20 31 3b 00 00 00 00 00 00 00 0a 09 72 65 .return.term.row.-.1;.........re
76c0 74 75 72 6e 20 79 3b 00 00 00 01 7d 00 00 00 00 00 00 00 40 73 74 61 74 69 63 20 76 6f 69 64 20 turn.y;....}.......@static.void.
76e0 73 65 6c 65 63 74 69 6f 6e 5f 73 74 61 72 74 28 65 6e 75 6d 20 74 73 6d 5f 73 63 72 65 65 6e 5f selection_start(enum.tsm_screen_
7700 73 65 6c 65 63 74 69 6f 6e 5f 6d 6f 64 65 20 6d 6f 64 65 29 00 00 00 01 7b 00 00 00 43 09 74 73 selection_mode.mode)....{...C.ts
7720 6d 5f 73 63 72 65 65 6e 5f 73 65 6c 65 63 74 69 6f 6e 5f 73 74 61 72 74 28 74 65 72 6d 2e 73 63 m_screen_selection_start(term.sc
7740 72 65 65 6e 2c 20 6d 6f 64 65 2c 20 67 72 69 64 5f 78 28 29 2c 20 67 72 69 64 5f 79 28 29 29 3b reen,.mode,.grid_x(),.grid_y());
7760 00 00 00 01 7d 00 00 00 00 00 00 00 40 73 74 61 74 69 63 20 76 6f 69 64 20 70 74 72 5f 65 6e 74 ....}.......@static.void.ptr_ent
7780 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 70 6f 69 6e 74 65 72 er(void.*data,.struct.wl_pointer
77a0 20 2a 77 6c 5f 70 6f 69 6e 74 65 72 2c 00 00 00 34 09 09 20 20 20 20 20 20 75 69 6e 74 33 32 5f .*wl_pointer,...4........uint32_
77c0 74 20 73 65 72 69 61 6c 2c 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 72 t.serial,.struct.wl_surface.*sur
77e0 66 61 63 65 2c 00 00 00 23 09 09 20 20 20 20 20 20 77 6c 5f 66 69 78 65 64 5f 74 20 78 2c 20 77 face,...#........wl_fixed_t.x,.w
7800 6c 5f 66 69 78 65 64 5f 74 20 79 29 00 00 00 01 7b 00 00 00 10 09 74 65 72 6d 2e 70 74 72 5f 78 l_fixed_t.y)....{.....term.ptr_x
7820 20 3d 20 78 3b 00 00 00 10 09 74 65 72 6d 2e 70 74 72 5f 79 20 3d 20 79 3b 00 00 00 00 00 00 00 .=.x;.....term.ptr_y.=.y;.......
7840 23 09 74 65 72 6d 2e 63 75 72 73 6f 72 2e 65 6e 74 65 72 5f 73 65 72 69 61 6c 20 3d 20 73 65 72 #.term.cursor.enter_serial.=.ser
7860 69 61 6c 3b 00 00 00 1e 09 63 75 72 73 6f 72 5f 73 65 74 28 74 65 72 6d 2e 63 75 72 73 6f 72 2e ial;.....cursor_set(term.cursor.
7880 74 65 78 74 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 40 73 74 61 74 69 63 20 76 6f 69 64 20 70 text);....}.......@static.void.p
78a0 74 72 5f 6c 65 61 76 65 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 tr_leave(void.*data,.struct.wl_p
78c0 6f 69 6e 74 65 72 20 2a 77 6c 5f 70 6f 69 6e 74 65 72 2c 00 00 00 34 09 09 20 20 20 20 20 20 75 ointer.*wl_pointer,...4........u
78e0 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 2c 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 int32_t.serial,.struct.wl_surfac
7900 65 20 2a 73 75 72 66 61 63 65 29 00 00 00 01 7b 00 00 00 10 09 63 75 72 73 6f 72 5f 75 6e 73 65 e.*surface)....{.....cursor_unse
7920 74 28 29 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 70 74 72 t();....}.......Astatic.void.ptr
7940 5f 6d 6f 74 69 6f 6e 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 6f _motion(void.*data,.struct.wl_po
7960 69 6e 74 65 72 20 2a 77 6c 5f 70 6f 69 6e 74 65 72 2c 00 00 00 33 09 09 20 20 20 20 20 20 20 75 inter.*wl_pointer,...3.........u
7980 69 6e 74 33 32 5f 74 20 74 69 6d 65 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 78 2c 20 77 6c 5f 66 int32_t.time,.wl_fixed_t.x,.wl_f
79a0 69 78 65 64 5f 74 20 79 29 00 00 00 01 7b 00 00 00 10 09 74 65 72 6d 2e 70 74 72 5f 78 20 3d 20 ixed_t.y)....{.....term.ptr_x.=.
79c0 78 3b 00 00 00 10 09 74 65 72 6d 2e 70 74 72 5f 79 20 3d 20 79 3b 00 00 00 00 00 00 00 1a 09 73 x;.....term.ptr_y.=.y;.........s
79e0 77 69 74 63 68 20 28 74 65 72 6d 2e 73 65 6c 65 63 74 69 6f 6e 29 20 7b 00 00 00 12 09 63 61 73 witch.(term.selection).{.....cas
7a00 65 20 53 53 5f 41 4e 43 48 4f 52 45 44 3a 00 00 00 0e 09 09 70 73 5f 75 6e 63 6f 70 79 28 29 3b e.SS_ANCHORED:......ps_uncopy();
7a20 00 00 00 1f 09 09 74 65 72 6d 2e 73 65 6c 65 63 74 69 6f 6e 20 3d 20 53 53 5f 44 52 41 47 47 49 ......term.selection.=.SS_DRAGGI
7a40 4e 47 3b 00 00 00 1f 09 09 73 65 6c 65 63 74 69 6f 6e 5f 73 74 61 72 74 28 54 53 4d 5f 53 4d 5f NG;......selection_start(TSM_SM_
7a60 43 48 41 52 29 3b 00 00 00 1a 09 09 74 65 72 6d 2e 6e 65 65 64 5f 72 65 64 72 61 77 20 3d 20 74 CHAR);......term.need_redraw.=.t
7a80 72 75 65 3b 00 00 00 08 09 09 62 72 65 61 6b 3b 00 00 00 12 09 63 61 73 65 20 53 53 5f 44 52 41 rue;......break;.....case.SS_DRA
7aa0 47 47 49 4e 47 3a 00 00 00 3f 09 09 74 73 6d 5f 73 63 72 65 65 6e 5f 73 65 6c 65 63 74 69 6f 6e GGING:...?..tsm_screen_selection
7ac0 5f 74 61 72 67 65 74 28 74 65 72 6d 2e 73 63 72 65 65 6e 2c 20 67 72 69 64 5f 78 28 29 2c 20 67 _target(term.screen,.grid_x(),.g
7ae0 72 69 64 5f 79 28 29 29 3b 00 00 00 1a 09 09 74 65 72 6d 2e 6e 65 65 64 5f 72 65 64 72 61 77 20 rid_y());......term.need_redraw.
7b00 3d 20 74 72 75 65 3b 00 00 00 08 09 09 62 72 65 61 6b 3b 00 00 00 0f 09 63 61 73 65 20 53 53 5f =.true;......break;.....case.SS_
7b20 52 45 53 45 54 3a 00 00 00 10 09 63 61 73 65 20 53 53 5f 41 43 54 49 56 45 3a 00 00 00 08 09 09 RESET:.....case.SS_ACTIVE:......
7b40 62 72 65 61 6b 3b 00 00 00 02 09 7d 00 00 00 00 00 00 00 35 09 69 66 20 28 74 65 72 6d 2e 63 75 break;.....}.......5.if.(term.cu
7b60 72 73 6f 72 2e 63 75 72 72 65 6e 74 20 3d 3d 20 4e 55 4c 4c 20 26 26 20 74 65 72 6d 2e 63 75 72 rsor.current.==.NULL.&&.term.cur
7b80 73 6f 72 2e 74 65 78 74 29 00 00 00 1f 09 09 63 75 72 73 6f 72 5f 73 65 74 28 74 65 72 6d 2e 63 sor.text)......cursor_set(term.c
7ba0 75 72 73 6f 72 2e 74 65 78 74 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 41 73 74 61 74 69 63 20 ursor.text);....}.......Astatic.
7bc0 76 6f 69 64 20 70 74 72 5f 62 75 74 74 6f 6e 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 void.ptr_button(void.*data,.stru
7be0 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 77 6c 5f 70 6f 69 6e 74 65 72 2c 00 00 00 39 09 09 ct.wl_pointer.*wl_pointer,...9..
7c00 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 2c 20 75 69 6e 74 33 32 5f 74 .......uint32_t.serial,.uint32_t
7c20 20 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 62 75 74 74 6f 6e 2c 00 00 00 18 09 09 20 20 20 .time,.uint32_t.button,.........
7c40 20 20 20 20 75 69 6e 74 33 32 5f 74 20 73 74 61 74 65 29 00 00 00 01 7b 00 00 00 17 09 69 66 20 ....uint32_t.state)....{.....if.
7c60 28 62 75 74 74 6f 6e 20 3d 3d 20 30 78 31 31 30 29 20 7b 00 00 00 12 09 09 73 77 69 74 63 68 20 (button.==.0x110).{......switch.
7c80 28 73 74 61 74 65 29 20 7b 00 00 00 27 09 09 63 61 73 65 20 57 4c 5f 50 4f 49 4e 54 45 52 5f 42 (state).{...'..case.WL_POINTER_B
7ca0 55 54 54 4f 4e 5f 53 54 41 54 45 5f 50 52 45 53 53 45 44 3a 00 00 00 25 09 09 09 69 66 20 28 74 UTTON_STATE_PRESSED:...%...if.(t
7cc0 65 72 6d 2e 73 65 6c 65 63 74 69 6f 6e 20 3d 3d 20 53 53 5f 41 43 54 49 56 45 29 20 7b 00 00 00 erm.selection.==.SS_ACTIVE).{...
7ce0 2c 09 09 09 09 74 73 6d 5f 73 63 72 65 65 6e 5f 73 65 6c 65 63 74 69 6f 6e 5f 72 65 73 65 74 28 ,....tsm_screen_selection_reset(
7d00 74 65 72 6d 2e 73 63 72 65 65 6e 29 3b 00 00 00 1c 09 09 09 09 74 65 72 6d 2e 6e 65 65 64 5f 72 term.screen);........term.need_r
7d20 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 04 09 09 09 7d 00 00 00 20 09 09 09 74 65 72 6d edraw.=.true;.......}.......term
7d40 2e 73 65 6c 65 63 74 69 6f 6e 20 3d 20 53 53 5f 41 4e 43 48 4f 52 45 44 3b 00 00 00 00 00 00 00 .selection.=.SS_ANCHORED;.......
7d60 1b 09 09 09 69 66 20 28 74 65 72 6d 2e 63 6c 69 63 6b 2e 63 6f 75 6e 74 20 3e 20 30 00 00 00 22 ....if.(term.click.count.>.0..."
7d80 09 09 09 20 20 20 20 26 26 20 74 65 72 6d 2e 63 6c 69 63 6b 2e 78 20 3d 3d 20 67 72 69 64 5f 78 .......&&.term.click.x.==.grid_x
7da0 28 29 00 00 00 25 09 09 09 20 20 20 20 26 26 20 74 65 72 6d 2e 63 6c 69 63 6b 2e 79 20 3d 3d 20 ()...%.......&&.term.click.y.==.
7dc0 67 72 69 64 5f 79 28 29 29 20 7b 00 00 00 17 09 09 09 09 2b 2b 74 65 72 6d 2e 63 6c 69 63 6b 2e grid_y()).{........++term.click.
7de0 63 6f 75 6e 74 3b 00 00 00 0b 09 09 09 7d 20 65 6c 73 65 20 7b 00 00 00 19 09 09 09 09 74 65 72 count;.......}.else.{........ter
7e00 6d 2e 63 6c 69 63 6b 2e 63 6f 75 6e 74 20 3d 20 31 3b 00 00 00 1c 09 09 09 09 74 65 72 6d 2e 63 m.click.count.=.1;........term.c
7e20 6c 69 63 6b 2e 78 20 3d 20 67 72 69 64 5f 78 28 29 3b 00 00 00 1c 09 09 09 09 74 65 72 6d 2e 63 lick.x.=.grid_x();........term.c
7e40 6c 69 63 6b 2e 79 20 3d 20 67 72 69 64 5f 79 28 29 3b 00 00 00 04 09 09 09 7d 00 00 00 00 00 00 lick.y.=.grid_y();.......}......
7e60 00 1f 09 09 09 69 66 20 28 74 65 72 6d 2e 63 6c 69 63 6b 2e 63 6f 75 6e 74 20 3e 3d 20 32 29 20 .....if.(term.click.count.>=.2).
7e80 7b 00 00 00 10 09 09 09 09 70 73 5f 75 6e 63 6f 70 79 28 29 3b 00 00 00 20 09 09 09 09 69 66 20 {........ps_uncopy();........if.
7ea0 28 74 65 72 6d 2e 63 6c 69 63 6b 2e 63 6f 75 6e 74 20 3d 3d 20 32 29 20 7b 00 00 00 22 09 09 09 (term.click.count.==.2).{..."...
7ec0 09 09 73 65 6c 65 63 74 69 6f 6e 5f 73 74 61 72 74 28 54 53 4d 5f 53 4d 5f 57 4f 52 44 29 3b 00 ..selection_start(TSM_SM_WORD);.
7ee0 00 00 05 09 09 09 09 7d 00 00 00 20 09 09 09 09 69 66 20 28 74 65 72 6d 2e 63 6c 69 63 6b 2e 63 .......}........if.(term.click.c
7f00 6f 75 6e 74 20 3d 3d 20 33 29 20 7b 00 00 00 22 09 09 09 09 09 73 65 6c 65 63 74 69 6f 6e 5f 73 ount.==.3).{...".....selection_s
7f20 74 61 72 74 28 54 53 4d 5f 53 4d 5f 4c 49 4e 45 29 3b 00 00 00 1a 09 09 09 09 09 74 65 72 6d 2e tart(TSM_SM_LINE);.........term.
7f40 63 6c 69 63 6b 2e 63 6f 75 6e 74 20 3d 20 30 3b 00 00 00 05 09 09 09 09 7d 00 00 00 21 09 09 09 click.count.=.0;........}...!...
7f60 09 74 65 72 6d 2e 73 65 6c 65 63 74 69 6f 6e 20 3d 20 53 53 5f 44 52 41 47 47 49 4e 47 3b 00 00 .term.selection.=.SS_DRAGGING;..
7f80 00 1c 09 09 09 09 74 65 72 6d 2e 6e 65 65 64 5f 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 ......term.need_redraw.=.true;..
7fa0 00 04 09 09 09 7d 00 00 00 09 09 09 09 62 72 65 61 6b 3b 00 00 00 28 09 09 63 61 73 65 20 57 4c .....}.......break;...(..case.WL
7fc0 5f 50 4f 49 4e 54 45 52 5f 42 55 54 54 4f 4e 5f 53 54 41 54 45 5f 52 45 4c 45 41 53 45 44 3a 00 _POINTER_BUTTON_STATE_RELEASED:.
7fe0 00 00 27 09 09 09 69 66 20 28 74 65 72 6d 2e 73 65 6c 65 63 74 69 6f 6e 20 3d 3d 20 53 53 5f 41 ..'...if.(term.selection.==.SS_A
8000 4e 43 48 4f 52 45 44 29 20 7b 00 00 00 1e 09 09 09 09 74 65 72 6d 2e 73 65 6c 65 63 74 69 6f 6e NCHORED).{........term.selection
8020 20 3d 20 53 53 5f 52 45 53 45 54 3b 00 00 00 04 09 09 09 7d 00 00 00 00 00 00 00 27 09 09 09 69 .=.SS_RESET;.......}.......'...i
8040 66 20 28 74 65 72 6d 2e 73 65 6c 65 63 74 69 6f 6e 20 3d 3d 20 53 53 5f 44 52 41 47 47 49 4e 47 f.(term.selection.==.SS_DRAGGING
8060 29 20 7b 00 00 00 14 09 09 09 09 70 73 5f 63 6f 70 79 28 73 65 72 69 61 6c 29 3b 00 00 00 2d 09 ).{........ps_copy(serial);...-.
8080 09 09 09 74 73 6d 5f 73 63 72 65 65 6e 5f 73 65 6c 65 63 74 69 6f 6e 5f 66 69 6e 69 73 68 28 74 ...tsm_screen_selection_finish(t
80a0 65 72 6d 2e 73 63 72 65 65 6e 29 3b 00 00 00 1f 09 09 09 09 74 65 72 6d 2e 73 65 6c 65 63 74 69 erm.screen);........term.selecti
80c0 6f 6e 20 3d 20 53 53 5f 41 43 54 49 56 45 3b 00 00 00 04 09 09 09 7d 00 00 00 03 09 09 7d 00 00 on.=.SS_ACTIVE;.......}......}..
80e0 00 1e 09 7d 20 65 6c 73 65 20 69 66 20 28 62 75 74 74 6f 6e 20 3d 3d 20 30 78 31 31 32 20 26 26 ...}.else.if.(button.==.0x112.&&
8100 00 00 00 31 09 09 20 20 20 73 74 61 74 65 20 3d 3d 20 57 4c 5f 50 4f 49 4e 54 45 52 5f 42 55 54 ...1.....state.==.WL_POINTER_BUT
8120 54 4f 4e 5f 53 54 41 54 45 5f 52 45 4c 45 41 53 45 44 29 20 7b 00 00 00 0e 09 09 70 61 73 74 65 TON_STATE_RELEASED).{......paste
8140 28 74 72 75 65 29 3b 00 00 00 02 09 7d 00 00 00 00 00 00 00 35 09 69 66 20 28 74 65 72 6d 2e 63 (true);.....}.......5.if.(term.c
8160 75 72 73 6f 72 2e 63 75 72 72 65 6e 74 20 3d 3d 20 4e 55 4c 4c 20 26 26 20 74 65 72 6d 2e 63 75 ursor.current.==.NULL.&&.term.cu
8180 72 73 6f 72 2e 74 65 78 74 29 00 00 00 1f 09 09 63 75 72 73 6f 72 5f 73 65 74 28 74 65 72 6d 2e rsor.text)......cursor_set(term.
81a0 63 75 72 73 6f 72 2e 74 65 78 74 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 3f 73 74 61 74 69 63 cursor.text);....}.......?static
81c0 20 76 6f 69 64 20 70 74 72 5f 61 78 69 73 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 .void.ptr_axis(void.*data,.struc
81e0 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 77 6c 5f 70 6f 69 6e 74 65 72 2c 00 00 00 36 09 09 20 t.wl_pointer.*wl_pointer,...6...
8200 20 20 20 20 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 61 78 69 73 ....uint32_t.time,.uint32_t.axis
8220 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 76 61 6c 75 65 29 00 00 00 01 7b 00 00 00 27 09 69 6e 74 ,.wl_fixed_t.value)....{...'.int
8240 20 76 20 3d 20 77 6c 5f 66 69 78 65 64 5f 74 6f 5f 64 6f 75 62 6c 65 28 76 61 6c 75 65 29 20 2f .v.=.wl_fixed_to_double(value)./
8260 20 33 3b 00 00 00 00 00 00 00 2d 09 69 66 20 28 61 78 69 73 20 21 3d 20 57 4c 5f 50 4f 49 4e 54 .3;.......-.if.(axis.!=.WL_POINT
8280 45 52 5f 41 58 49 53 5f 56 45 52 54 49 43 41 4c 5f 53 43 52 4f 4c 4c 29 00 00 00 09 09 09 72 65 ER_AXIS_VERTICAL_SCROLL)......re
82a0 74 75 72 6e 3b 00 00 00 00 00 00 00 0b 09 69 66 20 28 76 20 3e 20 30 29 00 00 00 25 09 09 74 73 turn;.........if.(v.>.0)...%..ts
82c0 6d 5f 73 63 72 65 65 6e 5f 73 62 5f 64 6f 77 6e 28 74 65 72 6d 2e 73 63 72 65 65 6e 2c 20 76 29 m_screen_sb_down(term.screen,.v)
82e0 3b 00 00 00 05 09 65 6c 73 65 00 00 00 24 09 09 74 73 6d 5f 73 63 72 65 65 6e 5f 73 62 5f 75 70 ;.....else...$..tsm_screen_sb_up
8300 28 74 65 72 6d 2e 73 63 72 65 65 6e 2c 20 2d 76 29 3b 00 00 00 00 00 00 00 19 09 74 65 72 6d 2e (term.screen,.-v);.........term.
8320 6e 65 65 64 5f 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 40 need_redraw.=.true;....}.......@
8340 73 74 61 74 69 63 20 76 6f 69 64 20 70 74 72 5f 66 72 61 6d 65 28 76 6f 69 64 20 2a 64 61 74 61 static.void.ptr_frame(void.*data
8360 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 77 6c 5f 70 6f 69 6e 74 65 72 29 ,.struct.wl_pointer.*wl_pointer)
8380 00 00 00 01 7b 00 00 00 01 7d 00 00 00 00 00 00 00 46 73 74 61 74 69 63 20 76 6f 69 64 20 70 74 ....{....}.......Fstatic.void.pt
83a0 72 5f 61 78 69 73 5f 73 6f 75 72 63 65 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 r_axis_source(void.*data,.struct
83c0 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 77 6c 5f 70 6f 69 6e 74 65 72 2c 00 00 00 1c 09 09 09 20 .wl_pointer.*wl_pointer,........
83e0 20 20 20 75 69 6e 74 33 32 5f 74 20 61 78 69 73 5f 73 6f 75 72 63 65 29 00 00 00 01 7b 00 00 00 ...uint32_t.axis_source)....{...
8400 01 7d 00 00 00 00 00 00 00 44 73 74 61 74 69 63 20 76 6f 69 64 20 70 74 72 5f 61 78 69 73 5f 73 .}.......Dstatic.void.ptr_axis_s
8420 74 6f 70 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 top(void.*data,.struct.wl_pointe
8440 72 20 2a 77 6c 5f 70 6f 69 6e 74 65 72 2c 00 00 00 22 09 09 09 20 20 75 69 6e 74 33 32 5f 74 20 r.*wl_pointer,...".....uint32_t.
8460 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 61 78 69 73 29 00 00 00 01 7b 00 00 00 01 7d 00 00 time,.uint32_t.axis)....{....}..
8480 00 00 00 00 00 48 73 74 61 74 69 63 20 76 6f 69 64 20 70 74 72 5f 61 78 69 73 5f 64 69 73 63 72 .....Hstatic.void.ptr_axis_discr
84a0 65 74 65 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 ete(void.*data,.struct.wl_pointe
84c0 72 20 2a 77 6c 5f 70 6f 69 6e 74 65 72 2c 00 00 00 29 09 09 09 20 20 20 20 20 20 75 69 6e 74 33 r.*wl_pointer,...).........uint3
84e0 32 5f 74 20 61 78 69 73 2c 20 69 6e 74 33 32 5f 74 20 64 69 73 63 72 65 74 65 29 00 00 00 01 7b 2_t.axis,.int32_t.discrete)....{
8500 00 00 00 01 7d 00 00 00 00 00 00 00 32 73 74 61 74 69 63 20 73 74 72 75 63 74 20 77 6c 5f 70 6f ....}.......2static.struct.wl_po
8520 69 6e 74 65 72 5f 6c 69 73 74 65 6e 65 72 20 70 74 72 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 inter_listener.ptr_listener.=.{.
8540 00 00 14 09 2e 65 6e 74 65 72 20 3d 20 70 74 72 5f 65 6e 74 65 72 2c 00 00 00 14 09 2e 6c 65 61 .....enter.=.ptr_enter,......lea
8560 76 65 20 3d 20 70 74 72 5f 6c 65 61 76 65 2c 00 00 00 16 09 2e 6d 6f 74 69 6f 6e 20 3d 20 70 74 ve.=.ptr_leave,......motion.=.pt
8580 72 5f 6d 6f 74 69 6f 6e 2c 00 00 00 16 09 2e 62 75 74 74 6f 6e 20 3d 20 70 74 72 5f 62 75 74 74 r_motion,......button.=.ptr_butt
85a0 6f 6e 2c 00 00 00 12 09 2e 61 78 69 73 20 3d 20 70 74 72 5f 61 78 69 73 2c 00 00 00 14 09 2e 66 on,......axis.=.ptr_axis,......f
85c0 72 61 6d 65 20 3d 20 70 74 72 5f 66 72 61 6d 65 2c 00 00 00 20 09 2e 61 78 69 73 5f 73 6f 75 72 rame.=.ptr_frame,......axis_sour
85e0 63 65 20 3d 20 70 74 72 5f 61 78 69 73 5f 73 6f 75 72 63 65 2c 00 00 00 1c 09 2e 61 78 69 73 5f ce.=.ptr_axis_source,......axis_
8600 73 74 6f 70 20 3d 20 70 74 72 5f 61 78 69 73 5f 73 74 6f 70 2c 00 00 00 24 09 2e 61 78 69 73 5f stop.=.ptr_axis_stop,...$..axis_
8620 64 69 73 63 72 65 74 65 20 3d 20 70 74 72 5f 61 78 69 73 5f 64 69 73 63 72 65 74 65 2c 00 00 00 discrete.=.ptr_axis_discrete,...
8640 02 7d 3b 00 00 00 00 00 00 00 4e 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 61 74 5f 63 61 70 61 .};.......Nstatic.void.seat_capa
8660 62 69 6c 69 74 69 65 73 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 73 bilities(void.*data,.struct.wl_s
8680 65 61 74 20 2a 73 65 61 74 2c 20 75 69 6e 74 33 32 5f 74 20 63 61 70 73 29 00 00 00 01 7b 00 00 eat.*seat,.uint32_t.caps)....{..
86a0 00 39 09 69 66 20 28 28 63 61 70 73 20 26 20 57 4c 5f 53 45 41 54 5f 43 41 50 41 42 49 4c 49 54 .9.if.((caps.&.WL_SEAT_CAPABILIT
86c0 59 5f 4b 45 59 42 4f 41 52 44 29 20 26 26 20 21 74 65 72 6d 2e 6b 62 64 29 20 7b 00 00 00 28 09 Y_KEYBOARD).&&.!term.kbd).{...(.
86e0 09 74 65 72 6d 2e 6b 62 64 20 3d 20 77 6c 5f 73 65 61 74 5f 67 65 74 5f 6b 65 79 62 6f 61 72 64 .term.kbd.=.wl_seat_get_keyboard
8700 28 73 65 61 74 29 3b 00 00 00 3a 09 09 77 6c 5f 6b 65 79 62 6f 61 72 64 5f 61 64 64 5f 6c 69 73 (seat);...:..wl_keyboard_add_lis
8720 74 65 6e 65 72 28 74 65 72 6d 2e 6b 62 64 2c 20 26 6b 62 64 5f 6c 69 73 74 65 6e 65 72 2c 20 4e tener(term.kbd,.&kbd_listener,.N
8740 55 4c 4c 29 3b 00 00 00 40 09 7d 20 65 6c 73 65 20 69 66 20 28 21 28 63 61 70 73 20 26 20 57 4c ULL);...@.}.else.if.(!(caps.&.WL
8760 5f 53 45 41 54 5f 43 41 50 41 42 49 4c 49 54 59 5f 4b 45 59 42 4f 41 52 44 29 20 26 26 20 74 65 _SEAT_CAPABILITY_KEYBOARD).&&.te
8780 72 6d 2e 6b 62 64 29 20 7b 00 00 00 20 09 09 77 6c 5f 6b 65 79 62 6f 61 72 64 5f 72 65 6c 65 61 rm.kbd).{......wl_keyboard_relea
87a0 73 65 28 74 65 72 6d 2e 6b 62 64 29 3b 00 00 00 12 09 09 74 65 72 6d 2e 6b 62 64 20 3d 20 4e 55 se(term.kbd);......term.kbd.=.NU
87c0 4c 4c 3b 00 00 00 02 09 7d 00 00 00 00 00 00 00 38 09 69 66 20 28 28 63 61 70 73 20 26 20 57 4c LL;.....}.......8.if.((caps.&.WL
87e0 5f 53 45 41 54 5f 43 41 50 41 42 49 4c 49 54 59 5f 50 4f 49 4e 54 45 52 29 20 26 26 20 21 74 65 _SEAT_CAPABILITY_POINTER).&&.!te
8800 72 6d 2e 70 74 72 29 20 7b 00 00 00 2c 09 09 74 65 72 6d 2e 70 74 72 20 3d 20 77 6c 5f 73 65 61 rm.ptr).{...,..term.ptr.=.wl_sea
8820 74 5f 67 65 74 5f 70 6f 69 6e 74 65 72 28 74 65 72 6d 2e 73 65 61 74 29 3b 00 00 00 39 09 09 77 t_get_pointer(term.seat);...9..w
8840 6c 5f 70 6f 69 6e 74 65 72 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 74 65 72 6d 2e 70 74 72 2c l_pointer_add_listener(term.ptr,
8860 20 26 70 74 72 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 3f 09 7d 20 65 6c 73 .&ptr_listener,.NULL);...?.}.els
8880 65 20 69 66 20 28 21 28 63 61 70 73 20 26 20 57 4c 5f 53 45 41 54 5f 43 41 50 41 42 49 4c 49 54 e.if.(!(caps.&.WL_SEAT_CAPABILIT
88a0 59 5f 50 4f 49 4e 54 45 52 29 20 26 26 20 74 65 72 6d 2e 70 74 72 29 20 7b 00 00 00 1f 09 09 77 Y_POINTER).&&.term.ptr).{......w
88c0 6c 5f 70 6f 69 6e 74 65 72 5f 72 65 6c 65 61 73 65 28 74 65 72 6d 2e 70 74 72 29 3b 00 00 00 12 l_pointer_release(term.ptr);....
88e0 09 09 74 65 72 6d 2e 70 74 72 20 3d 20 4e 55 4c 4c 3b 00 00 00 11 09 09 63 75 72 73 6f 72 5f 75 ..term.ptr.=.NULL;......cursor_u
8900 6e 73 65 74 28 29 3b 00 00 00 02 09 7d 00 00 00 01 7d 00 00 00 00 00 00 00 49 73 74 61 74 69 63 nset();.....}....}.......Istatic
8920 20 76 6f 69 64 20 73 65 61 74 5f 6e 61 6d 65 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 .void.seat_name(void.*data,.stru
8940 63 74 20 77 6c 5f 73 65 61 74 20 2a 73 65 61 74 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6e 61 ct.wl_seat.*seat,.const.char.*na
8960 6d 65 29 00 00 00 01 7b 00 00 00 01 7d 00 00 00 00 00 00 00 36 73 74 61 74 69 63 20 63 6f 6e 73 me)....{....}.......6static.cons
8980 74 20 73 74 72 75 63 74 20 77 6c 5f 73 65 61 74 5f 6c 69 73 74 65 6e 65 72 20 73 65 61 74 5f 6c t.struct.wl_seat_listener.seat_l
89a0 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 23 09 2e 63 61 70 61 62 69 6c 69 74 69 65 73 20 3d 20 istener.=.{...#..capabilities.=.
89c0 73 65 61 74 5f 63 61 70 61 62 69 6c 69 74 69 65 73 2c 00 00 00 13 09 2e 6e 61 6d 65 20 3d 20 73 seat_capabilities,......name.=.s
89e0 65 61 74 5f 6e 61 6d 65 2c 00 00 00 02 7d 3b 00 00 00 00 00 00 00 4d 73 74 61 74 69 63 20 76 6f eat_name,....};.......Mstatic.vo
8a00 69 64 20 64 6f 5f 6f 66 66 65 72 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 64 id.do_offer(void.*d,.struct.wl_d
8a20 61 74 61 5f 6f 66 66 65 72 20 2a 6f 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6d 69 6d 65 5f 74 ata_offer.*o,.const.char.*mime_t
8a40 79 70 65 29 00 00 00 01 7b 00 00 00 2b 09 69 66 20 28 73 74 72 63 6d 70 28 6d 69 6d 65 5f 74 79 ype)....{...+.if.(strcmp(mime_ty
8a60 70 65 2c 20 22 55 54 46 38 5f 53 54 52 49 4e 47 22 29 20 3d 3d 20 30 29 00 00 00 24 09 09 74 65 pe,."UTF8_STRING").==.0)...$..te
8a80 72 6d 2e 70 61 73 74 65 2e 64 5f 6d 69 6d 65 20 3d 20 22 55 54 46 38 5f 53 54 52 49 4e 47 22 3b rm.paste.d_mime.=."UTF8_STRING";
8aa0 00 00 00 25 09 65 6c 73 65 20 69 66 28 74 65 72 6d 2e 70 61 73 74 65 2e 64 5f 6d 69 6d 65 20 3d ...%.else.if(term.paste.d_mime.=
8ac0 3d 20 4e 55 4c 4c 20 26 26 00 00 00 27 09 09 73 74 72 63 6d 70 28 6d 69 6d 65 5f 74 79 70 65 2c =.NULL.&&...'..strcmp(mime_type,
8ae0 20 22 74 65 78 74 2f 70 6c 61 69 6e 22 29 20 3d 3d 20 30 29 00 00 00 23 09 09 74 65 72 6d 2e 70 ."text/plain").==.0)...#..term.p
8b00 61 73 74 65 2e 64 5f 6d 69 6d 65 20 3d 20 22 74 65 78 74 2f 70 6c 61 69 6e 22 3b 00 00 00 01 7d aste.d_mime.=."text/plain";....}
8b20 00 00 00 00 00 00 00 4c 73 74 61 74 69 63 20 76 6f 69 64 20 64 6f 5f 73 6f 75 72 63 65 5f 61 63 .......Lstatic.void.do_source_ac
8b40 74 69 6f 6e 73 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 6f 66 tions(void.*d,.struct.wl_data_of
8b60 66 65 72 20 2a 6f 2c 20 75 69 6e 74 33 32 5f 74 20 73 61 29 00 00 00 01 7b 00 00 00 01 7d 00 00 fer.*o,.uint32_t.sa)....{....}..
8b80 00 00 00 00 00 4c 73 74 61 74 69 63 20 76 6f 69 64 20 64 6f 5f 61 63 74 69 6f 6e 28 76 6f 69 64 .....Lstatic.void.do_action(void
8ba0 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 6f 66 66 65 72 20 2a 6f 2c 20 75 69 .*d,.struct.wl_data_offer.*o,.ui
8bc0 6e 74 33 32 5f 74 20 64 6e 64 5f 61 63 74 69 6f 6e 29 00 00 00 01 7b 00 00 00 01 7d 00 00 00 00 nt32_t.dnd_action)....{....}....
8be0 00 00 00 3a 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f ...:static.const.struct.wl_data_
8c00 6f 66 66 65 72 5f 6c 69 73 74 65 6e 65 72 20 64 6f 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 offer_listener.do_listener.=.{..
8c20 00 13 09 2e 6f 66 66 65 72 20 3d 20 64 6f 5f 6f 66 66 65 72 2c 00 00 00 25 09 2e 73 6f 75 72 63 ....offer.=.do_offer,...%..sourc
8c40 65 5f 61 63 74 69 6f 6e 73 20 3d 20 64 6f 5f 73 6f 75 72 63 65 5f 61 63 74 69 6f 6e 73 2c 00 00 e_actions.=.do_source_actions,..
8c60 00 15 09 2e 61 63 74 69 6f 6e 20 3d 20 64 6f 5f 61 63 74 69 6f 6e 2c 00 00 00 02 7d 3b 00 00 00 ....action.=.do_action,....};...
8c80 00 00 00 00 4c 73 74 61 74 69 63 20 76 6f 69 64 20 64 64 5f 64 61 74 61 5f 6f 66 66 65 72 28 76 ....Lstatic.void.dd_data_offer(v
8ca0 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 oid.*data,.struct.wl_data_device
8cc0 20 2a 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 2c 00 00 00 21 09 09 09 20 20 73 74 72 75 63 74 .*wl_data_device,...!.....struct
8ce0 20 77 6c 5f 64 61 74 61 5f 6f 66 66 65 72 20 2a 6f 66 66 65 72 29 00 00 00 01 7b 00 00 00 18 09 .wl_data_offer.*offer)....{.....
8d00 69 66 20 28 74 65 72 6d 2e 70 61 73 74 65 2e 64 5f 6f 66 66 65 72 29 00 00 00 2c 09 09 77 6c 5f if.(term.paste.d_offer)...,..wl_
8d20 64 61 74 61 5f 6f 66 66 65 72 5f 64 65 73 74 72 6f 79 28 74 65 72 6d 2e 70 61 73 74 65 2e 64 5f data_offer_destroy(term.paste.d_
8d40 6f 66 66 65 72 29 3b 00 00 00 1c 09 74 65 72 6d 2e 70 61 73 74 65 2e 64 5f 6f 66 66 65 72 20 3d offer);.....term.paste.d_offer.=
8d60 20 6f 66 66 65 72 3b 00 00 00 1a 09 74 65 72 6d 2e 70 61 73 74 65 2e 64 5f 6d 69 6d 65 20 3d 20 .offer;.....term.paste.d_mime.=.
8d80 4e 55 4c 4c 3b 00 00 00 37 09 77 6c 5f 64 61 74 61 5f 6f 66 66 65 72 5f 61 64 64 5f 6c 69 73 74 NULL;...7.wl_data_offer_add_list
8da0 65 6e 65 72 28 6f 66 66 65 72 2c 20 26 64 6f 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b ener(offer,.&do_listener,.NULL);
8dc0 00 00 00 01 7d 00 00 00 00 00 00 00 47 73 74 61 74 69 63 20 76 6f 69 64 20 64 64 5f 65 6e 74 65 ....}.......Gstatic.void.dd_ente
8de0 72 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 64 65 76 r(void.*data,.struct.wl_data_dev
8e00 69 63 65 20 2a 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 2c 00 00 00 33 09 09 20 20 20 20 20 75 ice.*wl_data_device,...3.......u
8e20 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 2c 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 int32_t.serial,.struct.wl_surfac
8e40 65 20 2a 73 75 72 66 61 63 65 2c 00 00 00 3c 09 09 20 20 20 20 20 77 6c 5f 66 69 78 65 64 5f 74 e.*surface,...<.......wl_fixed_t
8e60 20 78 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 79 2c 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 .x,.wl_fixed_t.y,.struct.wl_data
8e80 5f 6f 66 66 65 72 20 2a 69 64 29 00 00 00 01 7b 00 00 00 01 7d 00 00 00 00 00 00 00 47 73 74 61 _offer.*id)....{....}.......Gsta
8ea0 74 69 63 20 76 6f 69 64 20 64 64 5f 6c 65 61 76 65 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 tic.void.dd_leave(void.*data,.st
8ec0 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 20 2a 77 6c 5f 64 61 74 61 5f 64 65 76 ruct.wl_data_device.*wl_data_dev
8ee0 69 63 65 29 00 00 00 01 7b 00 00 00 01 7d 00 00 00 00 00 00 00 48 73 74 61 74 69 63 20 76 6f 69 ice)....{....}.......Hstatic.voi
8f00 64 20 64 64 5f 6d 6f 74 69 6f 6e 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 d.dd_motion(void.*data,.struct.w
8f20 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 20 2a 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 2c 00 00 l_data_device.*wl_data_device,..
8f40 00 32 09 09 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 2c 20 77 6c 5f 66 69 78 65 .2........uint32_t.time,.wl_fixe
8f60 64 5f 74 20 78 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 79 29 00 00 00 01 7b 00 00 00 01 7d 00 00 d_t.x,.wl_fixed_t.y)....{....}..
8f80 00 00 00 00 00 46 73 74 61 74 69 63 20 76 6f 69 64 20 64 64 5f 64 72 6f 70 28 76 6f 69 64 20 2a .....Fstatic.void.dd_drop(void.*
8fa0 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 20 2a 77 6c 5f data,.struct.wl_data_device.*wl_
8fc0 64 61 74 61 5f 64 65 76 69 63 65 29 00 00 00 01 7b 00 00 00 01 7d 00 00 00 00 00 00 00 4b 73 74 data_device)....{....}.......Kst
8fe0 61 74 69 63 20 76 6f 69 64 20 64 64 5f 73 65 6c 65 63 74 69 6f 6e 28 76 6f 69 64 20 2a 64 61 74 atic.void.dd_selection(void.*dat
9000 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 20 2a 77 6c 5f 64 61 74 a,.struct.wl_data_device.*wl_dat
9020 61 5f 64 65 76 69 63 65 2c 00 00 00 1d 09 09 09 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f a_device,........struct.wl_data_
9040 6f 66 66 65 72 20 2a 69 64 29 00 00 00 01 7b 00 00 00 28 09 69 66 20 28 69 64 20 3d 3d 20 4e 55 offer.*id)....{...(.if.(id.==.NU
9060 4c 4c 20 26 26 20 74 65 72 6d 2e 70 61 73 74 65 2e 64 5f 6f 66 66 65 72 29 20 7b 00 00 00 2c 09 LL.&&.term.paste.d_offer).{...,.
9080 09 77 6c 5f 64 61 74 61 5f 6f 66 66 65 72 5f 64 65 73 74 72 6f 79 28 74 65 72 6d 2e 70 61 73 74 .wl_data_offer_destroy(term.past
90a0 65 2e 64 5f 6f 66 66 65 72 29 3b 00 00 00 1c 09 09 74 65 72 6d 2e 70 61 73 74 65 2e 64 5f 6f 66 e.d_offer);......term.paste.d_of
90c0 66 65 72 20 3d 20 4e 55 4c 4c 3b 00 00 00 1b 09 09 74 65 72 6d 2e 70 61 73 74 65 2e 64 5f 6d 69 fer.=.NULL;......term.paste.d_mi
90e0 6d 65 20 3d 20 4e 55 4c 4c 3b 00 00 00 02 09 7d 00 00 00 01 7d 00 00 00 00 00 00 00 3b 73 74 61 me.=.NULL;.....}....}.......;sta
9100 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 5f tic.const.struct.wl_data_device_
9120 6c 69 73 74 65 6e 65 72 20 64 64 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 1d 09 2e 64 61 listener.dd_listener.=.{......da
9140 74 61 5f 6f 66 66 65 72 20 3d 20 64 64 5f 64 61 74 61 5f 6f 66 66 65 72 2c 00 00 00 13 09 2e 65 ta_offer.=.dd_data_offer,......e
9160 6e 74 65 72 20 3d 20 64 64 5f 65 6e 74 65 72 2c 00 00 00 13 09 2e 6c 65 61 76 65 20 3d 20 64 64 nter.=.dd_enter,......leave.=.dd
9180 5f 6c 65 61 76 65 2c 00 00 00 15 09 2e 6d 6f 74 69 6f 6e 20 3d 20 64 64 5f 6d 6f 74 69 6f 6e 2c _leave,......motion.=.dd_motion,
91a0 00 00 00 11 09 2e 64 72 6f 70 20 3d 20 64 64 5f 64 72 6f 70 2c 00 00 00 1b 09 2e 73 65 6c 65 63 ......drop.=.dd_drop,......selec
91c0 74 69 6f 6e 20 3d 20 64 64 5f 73 65 6c 65 63 74 69 6f 6e 2c 00 00 00 02 7d 3b 00 00 00 00 00 00 tion.=.dd_selection,....};......
91e0 00 21 73 74 61 74 69 63 20 76 6f 69 64 20 70 73 6f 5f 6f 66 66 65 72 28 76 6f 69 64 20 2a 64 61 .!static.void.pso_offer(void.*da
9200 74 61 2c 00 00 00 35 09 09 20 20 20 20 20 20 73 74 72 75 63 74 20 7a 77 70 5f 70 72 69 6d 61 72 ta,...5........struct.zwp_primar
9220 79 5f 73 65 6c 65 63 74 69 6f 6e 5f 6f 66 66 65 72 5f 76 31 20 2a 6f 66 66 65 72 2c 00 00 00 1e y_selection_offer_v1.*offer,....
9240 09 09 20 20 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6d 69 6d 65 5f 74 79 70 65 29 00 00 ........const.char.*mime_type)..
9260 00 01 7b 00 00 00 2b 09 69 66 20 28 73 74 72 63 6d 70 28 6d 69 6d 65 5f 74 79 70 65 2c 20 22 55 ..{...+.if.(strcmp(mime_type,."U
9280 54 46 38 5f 53 54 52 49 4e 47 22 29 20 3d 3d 20 30 29 00 00 00 25 09 09 74 65 72 6d 2e 70 61 73 TF8_STRING").==.0)...%..term.pas
92a0 74 65 2e 70 73 5f 6d 69 6d 65 20 3d 20 22 55 54 46 38 5f 53 54 52 49 4e 47 22 3b 00 00 00 26 09 te.ps_mime.=."UTF8_STRING";...&.
92c0 65 6c 73 65 20 69 66 28 74 65 72 6d 2e 70 61 73 74 65 2e 70 73 5f 6d 69 6d 65 20 3d 3d 20 4e 55 else.if(term.paste.ps_mime.==.NU
92e0 4c 4c 20 26 26 00 00 00 27 09 09 73 74 72 63 6d 70 28 6d 69 6d 65 5f 74 79 70 65 2c 20 22 74 65 LL.&&...'..strcmp(mime_type,."te
9300 78 74 2f 70 6c 61 69 6e 22 29 20 3d 3d 20 30 29 00 00 00 24 09 09 74 65 72 6d 2e 70 61 73 74 65 xt/plain").==.0)...$..term.paste
9320 2e 70 73 5f 6d 69 6d 65 20 3d 20 22 74 65 78 74 2f 70 6c 61 69 6e 22 3b 00 00 00 01 7d 00 00 00 .ps_mime.=."text/plain";....}...
9340 00 00 00 00 4c 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 7a 77 70 5f 70 72 69 ....Lstatic.const.struct.zwp_pri
9360 6d 61 72 79 5f 73 65 6c 65 63 74 69 6f 6e 5f 6f 66 66 65 72 5f 76 31 5f 6c 69 73 74 65 6e 65 72 mary_selection_offer_v1_listener
9380 20 70 73 6f 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 14 09 2e 6f 66 66 65 72 20 3d 20 70 .pso_listener.=.{......offer.=.p
93a0 73 6f 5f 6f 66 66 65 72 2c 00 00 00 02 7d 3b 00 00 00 00 00 00 00 26 73 74 61 74 69 63 20 76 6f so_offer,....};.......&static.vo
93c0 69 64 20 70 73 64 5f 64 61 74 61 5f 6f 66 66 65 72 28 76 6f 69 64 20 2a 64 61 74 61 2c 00 00 00 id.psd_data_offer(void.*data,...
93e0 33 09 09 09 20 20 20 73 74 72 75 63 74 20 7a 77 70 5f 70 72 69 6d 61 72 79 5f 73 65 6c 65 63 74 3......struct.zwp_primary_select
9400 69 6f 6e 5f 64 65 76 69 63 65 5f 76 31 20 2a 70 73 5f 64 2c 00 00 00 33 09 09 09 20 20 20 73 74 ion_device_v1.*ps_d,...3......st
9420 72 75 63 74 20 7a 77 70 5f 70 72 69 6d 61 72 79 5f 73 65 6c 65 63 74 69 6f 6e 5f 6f 66 66 65 72 ruct.zwp_primary_selection_offer
9440 5f 76 31 20 2a 6f 66 66 65 72 29 00 00 00 01 7b 00 00 00 19 09 69 66 20 28 74 65 72 6d 2e 70 61 _v1.*offer)....{.....if.(term.pa
9460 73 74 65 2e 70 73 5f 6f 66 66 65 72 29 00 00 00 3e 09 09 7a 77 70 5f 70 72 69 6d 61 72 79 5f 73 ste.ps_offer)...>..zwp_primary_s
9480 65 6c 65 63 74 69 6f 6e 5f 6f 66 66 65 72 5f 76 31 5f 64 65 73 74 72 6f 79 28 74 65 72 6d 2e 70 election_offer_v1_destroy(term.p
94a0 61 73 74 65 2e 70 73 5f 6f 66 66 65 72 29 3b 00 00 00 1d 09 74 65 72 6d 2e 70 61 73 74 65 2e 70 aste.ps_offer);.....term.paste.p
94c0 73 5f 6f 66 66 65 72 20 3d 20 6f 66 66 65 72 3b 00 00 00 1b 09 74 65 72 6d 2e 70 61 73 74 65 2e s_offer.=.offer;.....term.paste.
94e0 70 73 5f 6d 69 6d 65 20 3d 20 4e 55 4c 4c 3b 00 00 00 49 09 7a 77 70 5f 70 72 69 6d 61 72 79 5f ps_mime.=.NULL;...I.zwp_primary_
9500 73 65 6c 65 63 74 69 6f 6e 5f 6f 66 66 65 72 5f 76 31 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 selection_offer_v1_add_listener(
9520 6f 66 66 65 72 2c 20 26 70 73 6f 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 01 offer,.&pso_listener,.NULL);....
9540 7d 00 00 00 00 00 00 00 25 73 74 61 74 69 63 20 76 6f 69 64 20 70 73 64 5f 73 65 6c 65 63 74 69 }.......%static.void.psd_selecti
9560 6f 6e 28 76 6f 69 64 20 2a 64 61 74 61 2c 00 00 00 32 09 09 09 20 20 73 74 72 75 63 74 20 7a 77 on(void.*data,...2.....struct.zw
9580 70 5f 70 72 69 6d 61 72 79 5f 73 65 6c 65 63 74 69 6f 6e 5f 64 65 76 69 63 65 5f 76 31 20 2a 70 p_primary_selection_device_v1.*p
95a0 73 5f 64 2c 00 00 00 2f 09 09 09 20 20 73 74 72 75 63 74 20 7a 77 70 5f 70 72 69 6d 61 72 79 5f s_d,.../.....struct.zwp_primary_
95c0 73 65 6c 65 63 74 69 6f 6e 5f 6f 66 66 65 72 5f 76 31 20 2a 69 64 29 00 00 00 01 7b 00 00 00 29 selection_offer_v1.*id)....{...)
95e0 09 69 66 20 28 69 64 20 3d 3d 20 4e 55 4c 4c 20 26 26 20 74 65 72 6d 2e 70 61 73 74 65 2e 70 73 .if.(id.==.NULL.&&.term.paste.ps
9600 5f 6f 66 66 65 72 29 20 7b 00 00 00 3e 09 09 7a 77 70 5f 70 72 69 6d 61 72 79 5f 73 65 6c 65 63 _offer).{...>..zwp_primary_selec
9620 74 69 6f 6e 5f 6f 66 66 65 72 5f 76 31 5f 64 65 73 74 72 6f 79 28 74 65 72 6d 2e 70 61 73 74 65 tion_offer_v1_destroy(term.paste
9640 2e 70 73 5f 6f 66 66 65 72 29 3b 00 00 00 1d 09 09 74 65 72 6d 2e 70 61 73 74 65 2e 70 73 5f 6f .ps_offer);......term.paste.ps_o
9660 66 66 65 72 20 3d 20 4e 55 4c 4c 3b 00 00 00 1c 09 09 74 65 72 6d 2e 70 61 73 74 65 2e 70 73 5f ffer.=.NULL;......term.paste.ps_
9680 6d 69 6d 65 20 3d 20 4e 55 4c 4c 3b 00 00 00 02 09 7d 00 00 00 01 7d 00 00 00 00 00 00 00 4d 73 mime.=.NULL;.....}....}.......Ms
96a0 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 7a 77 70 5f 70 72 69 6d 61 72 79 5f 73 tatic.const.struct.zwp_primary_s
96c0 65 6c 65 63 74 69 6f 6e 5f 64 65 76 69 63 65 5f 76 31 5f 6c 69 73 74 65 6e 65 72 20 70 73 64 5f election_device_v1_listener.psd_
96e0 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 1e 09 2e 64 61 74 61 5f 6f 66 66 65 72 20 3d 20 70 listener.=.{......data_offer.=.p
9700 73 64 5f 64 61 74 61 5f 6f 66 66 65 72 2c 00 00 00 1c 09 2e 73 65 6c 65 63 74 69 6f 6e 20 3d 20 sd_data_offer,......selection.=.
9720 70 73 64 5f 73 65 6c 65 63 74 69 6f 6e 2c 00 00 00 02 7d 3b 00 00 00 00 00 00 00 4b 73 74 61 74 psd_selection,....};.......Kstat
9740 69 63 20 76 6f 69 64 20 74 6f 70 6c 76 6c 5f 63 6f 6e 66 69 67 75 72 65 28 76 6f 69 64 20 2a 64 ic.void.toplvl_configure(void.*d
9760 61 74 61 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 64 67 5f 74 6f ata,.struct.xdg_toplevel.*xdg_to
9780 70 6c 65 76 65 6c 2c 00 00 00 26 09 09 09 20 20 20 20 20 69 6e 74 33 32 5f 74 20 77 69 64 74 68 plevel,...&........int32_t.width
97a0 2c 20 69 6e 74 33 32 5f 74 20 68 65 69 67 68 74 2c 00 00 00 1f 09 09 09 20 20 20 20 20 73 74 72 ,.int32_t.height,............str
97c0 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 74 61 74 65 29 00 00 00 01 7b 00 00 00 19 09 74 65 uct.wl_array.*state)....{.....te
97e0 72 6d 2e 63 6f 6e 66 69 67 75 72 65 64 20 3d 20 66 61 6c 73 65 3b 00 00 00 3d 09 74 65 72 6d 2e rm.configured.=.false;...=.term.
9800 63 6f 6e 66 77 69 64 74 68 20 3d 20 77 69 64 74 68 20 3f 20 77 69 64 74 68 20 3a 20 74 65 72 6d confwidth.=.width.?.width.:.term
9820 2e 63 66 67 2e 63 6f 6c 20 2a 20 74 65 72 6d 2e 63 77 69 64 74 68 3b 00 00 00 41 09 74 65 72 6d .cfg.col.*.term.cwidth;...A.term
9840 2e 63 6f 6e 66 68 65 69 67 68 74 20 3d 20 68 65 69 67 68 74 20 3f 20 68 65 69 67 68 74 20 3a 20 .confheight.=.height.?.height.:.
9860 74 65 72 6d 2e 63 66 67 2e 72 6f 77 20 2a 20 74 65 72 6d 2e 63 68 65 69 67 68 74 3b 00 00 00 01 term.cfg.row.*.term.cheight;....
9880 7d 00 00 00 00 00 00 00 3c 73 74 61 74 69 63 20 76 6f 69 64 20 74 6f 70 6c 76 6c 5f 63 6c 6f 73 }.......<static.void.toplvl_clos
98a0 65 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 e(void.*data,.struct.xdg_topleve
98c0 6c 20 2a 74 29 00 00 00 01 7b 00 00 00 11 09 74 65 72 6d 2e 64 69 65 20 3d 20 74 72 75 65 3b 00 l.*t)....{.....term.die.=.true;.
98e0 00 00 01 7d 00 00 00 00 00 00 00 3d 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 ...}.......=static.const.struct.
9900 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 76 6c 5f 6c 69 73 xdg_toplevel_listener.toplvl_lis
9920 74 65 6e 65 72 20 3d 20 7b 00 00 00 1f 09 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 74 6f 70 6c 76 tener.=.{......configure.=.toplv
9940 6c 5f 63 6f 6e 66 69 67 75 72 65 2c 00 00 00 17 09 2e 63 6c 6f 73 65 20 3d 20 74 6f 70 6c 76 6c l_configure,......close.=.toplvl
9960 5f 63 6c 6f 73 65 2c 00 00 00 02 7d 3b 00 00 00 00 00 00 00 49 73 74 61 74 69 63 20 76 6f 69 64 _close,....};.......Istatic.void
9980 20 63 6f 6e 66 69 67 75 72 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 73 .configure(void.*d,.struct.xdg_s
99a0 75 72 66 61 63 65 20 2a 73 75 72 66 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 00 00 urface.*surf,.uint32_t.serial)..
99c0 00 01 7b 00 00 00 29 09 78 64 67 5f 73 75 72 66 61 63 65 5f 61 63 6b 5f 63 6f 6e 66 69 67 75 72 ..{...).xdg_surface_ack_configur
99e0 65 28 73 75 72 66 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 28 09 69 6e 74 20 63 6f 6c 20 3d 20 74 e(surf,.serial);...(.int.col.=.t
9a00 65 72 6d 2e 63 6f 6e 66 77 69 64 74 68 20 2f 20 74 65 72 6d 2e 63 77 69 64 74 68 3b 00 00 00 2a erm.confwidth./.term.cwidth;...*
9a20 09 69 6e 74 20 72 6f 77 20 3d 20 74 65 72 6d 2e 63 6f 6e 66 68 65 69 67 68 74 20 2f 20 74 65 72 .int.row.=.term.confheight./.ter
9a40 6d 2e 63 68 65 69 67 68 74 3b 00 00 00 16 09 73 74 72 75 63 74 20 77 69 6e 73 69 7a 65 20 77 73 m.cheight;.....struct.winsize.ws
9a60 20 3d 20 7b 00 00 00 10 09 09 72 6f 77 2c 20 63 6f 6c 2c 20 30 2c 20 30 00 00 00 03 09 7d 3b 00 .=.{......row,.col,.0,.0.....};.
9a80 00 00 00 00 00 00 1a 09 61 73 73 65 72 74 28 21 74 65 72 6d 2e 63 6f 6e 66 69 67 75 72 65 64 29 ........assert(!term.configured)
9aa0 3b 00 00 00 18 09 74 65 72 6d 2e 63 6f 6e 66 69 67 75 72 65 64 20 3d 20 74 72 75 65 3b 00 00 00 ;.....term.configured.=.true;...
9ac0 00 00 00 00 1a 09 69 66 20 28 63 6f 6c 20 3d 3d 20 30 20 7c 7c 20 72 6f 77 20 3d 3d 20 30 29 00 ......if.(col.==.0.||.row.==.0).
9ae0 00 00 09 09 09 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 44 09 69 66 20 28 74 65 72 6d 2e 77 69 .....return;.......D.if.(term.wi
9b00 64 74 68 20 3d 3d 20 74 65 72 6d 2e 63 6f 6e 66 77 69 64 74 68 20 26 26 20 74 65 72 6d 2e 68 65 dth.==.term.confwidth.&&.term.he
9b20 69 67 68 74 20 3d 3d 20 74 65 72 6d 2e 63 6f 6e 66 68 65 69 67 68 74 29 00 00 00 09 09 09 72 65 ight.==.term.confheight)......re
9b40 74 75 72 6e 3b 00 00 00 00 00 00 00 17 09 69 66 20 28 74 65 72 6d 2e 63 66 67 2e 6d 61 72 67 69 turn;.........if.(term.cfg.margi
9b60 6e 29 20 7b 00 00 00 1e 09 09 74 65 72 6d 2e 77 69 64 74 68 20 3d 20 74 65 72 6d 2e 63 6f 6e 66 n).{......term.width.=.term.conf
9b80 77 69 64 74 68 3b 00 00 00 20 09 09 74 65 72 6d 2e 68 65 69 67 68 74 20 3d 20 74 65 72 6d 2e 63 width;......term.height.=.term.c
9ba0 6f 6e 66 68 65 69 67 68 74 3b 00 00 00 3a 09 09 74 65 72 6d 2e 6d 61 72 67 69 6e 2e 6c 65 66 74 onfheight;...:..term.margin.left
9bc0 20 3d 20 28 74 65 72 6d 2e 77 69 64 74 68 20 2d 20 63 6f 6c 20 2a 20 74 65 72 6d 2e 63 77 69 64 .=.(term.width.-.col.*.term.cwid
9be0 74 68 29 20 2f 20 32 3b 00 00 00 3b 09 09 74 65 72 6d 2e 6d 61 72 67 69 6e 2e 74 6f 70 20 3d 20 th)./.2;...;..term.margin.top.=.
9c00 28 74 65 72 6d 2e 68 65 69 67 68 74 20 2d 20 72 6f 77 20 2a 20 74 65 72 6d 2e 63 68 65 69 67 68 (term.height.-.row.*.term.cheigh
9c20 74 29 20 2f 20 32 3b 00 00 00 1a 09 09 74 65 72 6d 2e 6e 65 65 64 5f 72 65 64 72 61 77 20 3d 20 t)./.2;......term.need_redraw.=.
9c40 74 72 75 65 3b 00 00 00 12 09 09 74 65 72 6d 2e 72 65 73 69 7a 65 20 3d 20 32 3b 00 00 00 09 09 true;......term.resize.=.2;.....
9c60 7d 20 65 6c 73 65 20 7b 00 00 00 21 09 09 74 65 72 6d 2e 77 69 64 74 68 20 3d 20 63 6f 6c 20 2a }.else.{...!..term.width.=.col.*
9c80 20 74 65 72 6d 2e 63 77 69 64 74 68 3b 00 00 00 23 09 09 74 65 72 6d 2e 68 65 69 67 68 74 20 3d .term.cwidth;...#..term.height.=
9ca0 20 72 6f 77 20 2a 20 74 65 72 6d 2e 63 68 65 69 67 68 74 3b 00 00 00 02 09 7d 00 00 00 00 00 00 .row.*.term.cheight;.....}......
9cc0 00 28 09 69 66 20 28 74 65 72 6d 2e 63 6f 6c 20 3d 3d 20 63 6f 6c 20 26 26 20 74 65 72 6d 2e 72 .(.if.(term.col.==.col.&&.term.r
9ce0 6f 77 20 3d 3d 20 72 6f 77 29 00 00 00 09 09 09 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 10 09 ow.==.row)......return;.........
9d00 74 65 72 6d 2e 63 6f 6c 20 3d 20 63 6f 6c 3b 00 00 00 10 09 74 65 72 6d 2e 72 6f 77 20 3d 20 72 term.col.=.col;.....term.row.=.r
9d20 6f 77 3b 00 00 00 2a 09 74 73 6d 5f 73 63 72 65 65 6e 5f 72 65 73 69 7a 65 28 74 65 72 6d 2e 73 ow;...*.tsm_screen_resize(term.s
9d40 63 72 65 65 6e 2c 20 63 6f 6c 2c 20 72 6f 77 29 3b 00 00 00 47 09 69 66 20 28 74 65 72 6d 2e 6d creen,.col,.row);...G.if.(term.m
9d60 61 73 74 65 72 5f 66 64 20 3e 3d 20 30 20 26 26 20 69 6f 63 74 6c 28 74 65 72 6d 2e 6d 61 73 74 aster_fd.>=.0.&&.ioctl(term.mast
9d80 65 72 5f 66 64 2c 20 54 49 4f 43 53 57 49 4e 53 5a 2c 20 26 77 73 29 20 3c 20 30 29 00 00 00 20 er_fd,.TIOCSWINSZ,.&ws).<.0)....
9da0 09 09 65 72 72 6f 72 28 22 63 6f 75 6c 64 20 6e 6f 74 20 72 65 73 69 7a 65 20 70 74 79 22 29 3b ..error("could.not.resize.pty");
9dc0 00 00 00 00 00 00 00 19 09 74 65 72 6d 2e 6e 65 65 64 5f 72 65 64 72 61 77 20 3d 20 74 72 75 65 .........term.need_redraw.=.true
9de0 3b 00 00 00 11 09 74 65 72 6d 2e 72 65 73 69 7a 65 20 3d 20 32 3b 00 00 00 01 7d 00 00 00 00 00 ;.....term.resize.=.2;....}.....
9e00 00 00 3a 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 ..:static.const.struct.xdg_surfa
9e20 63 65 5f 6c 69 73 74 65 6e 65 72 20 73 75 72 66 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 ce_listener.surf_listener.=.{...
9e40 18 09 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 63 6f 6e 66 69 67 75 72 65 2c 00 00 00 02 7d 3b 00 ...configure.=.configure,....};.
9e60 00 00 00 00 00 00 4a 73 74 61 74 69 63 20 76 6f 69 64 20 70 69 6e 67 28 76 6f 69 64 20 2a 64 61 ......Jstatic.void.ping(void.*da
9e80 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 61 73 65 2c ta,.struct.xdg_wm_base.*wm_base,
9ea0 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 00 00 00 01 7b 00 00 00 23 09 78 64 67 5f 77 .uint32_t.serial)....{...#.xdg_w
9ec0 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 00 m_base_pong(wm_base,.serial);...
9ee0 01 7d 00 00 00 00 00 00 00 3d 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 .}.......=static.const.struct.xd
9f00 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 65 g_wm_base_listener.wm_base_liste
9f20 6e 65 72 20 3d 20 7b 00 00 00 0e 09 2e 70 69 6e 67 20 3d 20 70 69 6e 67 2c 00 00 00 02 7d 3b 00 ner.=.{......ping.=.ping,....};.
9f40 00 00 00 00 00 00 47 73 74 61 74 69 63 20 76 6f 69 64 20 73 68 6d 5f 66 6f 72 6d 61 74 28 76 6f ......Gstatic.void.shm_format(vo
9f60 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d 2c 20 75 69 id.*data,.struct.wl_shm.*shm,.ui
9f80 6e 74 33 32 5f 74 20 66 6f 72 6d 61 74 29 00 00 00 01 7b 00 00 00 26 09 69 66 20 28 66 6f 72 6d nt32_t.format)....{...&.if.(form
9fa0 61 74 20 3d 3d 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 29 00 00 00 at.==.WL_SHM_FORMAT_ARGB8888)...
9fc0 17 09 09 74 65 72 6d 2e 73 68 6d 5f 61 72 67 62 20 3d 20 74 72 75 65 3b 00 00 00 01 7d 00 00 00 ...term.shm_argb.=.true;....}...
9fe0 00 00 00 00 34 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 5f ....4static.const.struct.wl_shm_
a000 6c 69 73 74 65 6e 65 72 20 73 68 6d 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 16 09 2e 66 listener.shm_listener.=.{......f
a020 6f 72 6d 61 74 20 3d 20 73 68 6d 5f 66 6f 72 6d 61 74 2c 00 00 00 02 7d 3b 00 00 00 00 00 00 00 ormat.=.shm_format,....};.......
a040 48 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 69 73 74 72 79 5f 67 65 74 28 76 6f 69 64 20 2a Hstatic.void.registry_get(void.*
a060 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 2c 20 75 69 6e data,.struct.wl_registry.*r,.uin
a080 74 33 32 5f 74 20 69 64 2c 00 00 00 24 09 09 09 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 2c 20 t32_t.id,...$....const.char.*i,.
a0a0 75 69 6e 74 33 32 5f 74 20 76 65 72 73 69 6f 6e 29 00 00 00 01 7b 00 00 00 27 09 69 66 20 28 73 uint32_t.version)....{...'.if.(s
a0c0 74 72 63 6d 70 28 69 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 trcmp(i,."wl_compositor").==.0).
a0e0 7b 00 00 00 41 09 09 74 65 72 6d 2e 63 70 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e {...A..term.cp.=.wl_registry_bin
a100 64 28 72 2c 20 69 64 2c 20 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 69 6e 74 65 72 66 61 63 d(r,.id,.&wl_compositor_interfac
a120 65 2c 20 31 29 3b 00 00 00 27 09 7d 20 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d 70 28 69 2c 20 e,.1);...'.}.else.if.(strcmp(i,.
a140 22 77 6c 5f 73 68 6d 22 29 20 3d 3d 20 30 29 20 7b 00 00 00 3b 09 09 74 65 72 6d 2e 73 68 6d 20 "wl_shm").==.0).{...;..term.shm.
a160 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 77 6c 5f 73 68 =.wl_registry_bind(r,.id,.&wl_sh
a180 6d 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 35 09 09 77 6c 5f 73 68 6d 5f 61 64 64 m_interface,.1);...5..wl_shm_add
a1a0 5f 6c 69 73 74 65 6e 65 72 28 74 65 72 6d 2e 73 68 6d 2c 20 26 73 68 6d 5f 6c 69 73 74 65 6e 65 _listener(term.shm,.&shm_listene
a1c0 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 2c 09 7d 20 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d 70 28 r,.NULL);...,.}.else.if.(strcmp(
a1e0 69 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 40 09 09 74 i,."xdg_wm_base").==.0).{...@..t
a200 65 72 6d 2e 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 erm.wm_base.=.wl_registry_bind(r
a220 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 00 00 00 ,.id,.&xdg_wm_base_interface,...
a240 09 09 09 09 09 09 09 31 29 3b 00 00 00 42 09 09 78 64 67 5f 77 6d 5f 62 61 73 65 5f 61 64 64 5f .......1);...B..xdg_wm_base_add_
a260 6c 69 73 74 65 6e 65 72 28 74 65 72 6d 2e 77 6d 5f 62 61 73 65 2c 20 26 77 6d 5f 62 61 73 65 5f listener(term.wm_base,.&wm_base_
a280 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 28 09 7d 20 65 6c 73 65 20 69 66 20 28 listener,.NULL);...(.}.else.if.(
a2a0 73 74 72 63 6d 70 28 69 2c 20 22 77 6c 5f 73 65 61 74 22 29 20 3d 3d 20 30 29 20 7b 00 00 00 3d strcmp(i,."wl_seat").==.0).{...=
a2c0 09 09 74 65 72 6d 2e 73 65 61 74 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 ..term.seat.=.wl_registry_bind(r
a2e0 2c 20 69 64 2c 20 26 77 6c 5f 73 65 61 74 5f 69 6e 74 65 72 66 61 63 65 2c 20 35 29 3b 00 00 00 ,.id,.&wl_seat_interface,.5);...
a300 38 09 09 77 6c 5f 73 65 61 74 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 74 65 72 6d 2e 73 65 61 8..wl_seat_add_listener(term.sea
a320 74 2c 20 26 73 65 61 74 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 37 09 7d 20 t,.&seat_listener,.NULL);...7.}.
a340 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d 70 28 69 2c 20 22 77 6c 5f 64 61 74 61 5f 64 65 76 69 else.if.(strcmp(i,."wl_data_devi
a360 63 65 5f 6d 61 6e 61 67 65 72 22 29 20 3d 3d 20 30 29 20 7b 00 00 00 25 09 09 74 65 72 6d 2e 64 ce_manager").==.0).{...%..term.d
a380 5f 64 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 00 00 00 _dm.=.wl_registry_bind(r,.id,...
a3a0 29 09 09 09 26 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 5f 6d 61 6e 61 67 65 72 5f 69 6e 74 65 )...&wl_data_device_manager_inte
a3c0 72 66 61 63 65 2c 20 32 29 3b 00 00 00 48 09 7d 20 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d 70 rface,.2);...H.}.else.if.(strcmp
a3e0 28 69 2c 20 22 7a 77 70 5f 70 72 69 6d 61 72 79 5f 73 65 6c 65 63 74 69 6f 6e 5f 64 65 76 69 63 (i,."zwp_primary_selection_devic
a400 65 5f 6d 61 6e 61 67 65 72 5f 76 31 22 29 20 3d 3d 20 30 29 20 7b 00 00 00 26 09 09 74 65 72 6d e_manager_v1").==.0).{...&..term
a420 2e 70 73 5f 64 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c .ps_dm.=.wl_registry_bind(r,.id,
a440 00 00 00 3a 09 09 09 26 7a 77 70 5f 70 72 69 6d 61 72 79 5f 73 65 6c 65 63 74 69 6f 6e 5f 64 65 ...:...&zwp_primary_selection_de
a460 76 69 63 65 5f 6d 61 6e 61 67 65 72 5f 76 31 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 vice_manager_v1_interface,.1);..
a480 00 3b 09 7d 20 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d 70 28 69 2c 20 22 7a 78 64 67 5f 64 65 .;.}.else.if.(strcmp(i,."zxdg_de
a4a0 63 6f 72 61 74 69 6f 6e 5f 6d 61 6e 61 67 65 72 5f 76 31 22 29 20 3d 3d 20 30 29 20 7b 00 00 00 coration_manager_v1").==.0).{...
a4c0 2d 09 09 74 65 72 6d 2e 64 65 63 6f 2e 6d 61 6e 61 67 65 72 20 3d 20 77 6c 5f 72 65 67 69 73 74 -..term.deco.manager.=.wl_regist
a4e0 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 00 00 00 2d 09 09 09 26 7a 78 64 67 5f 64 65 63 6f 72 ry_bind(r,.id,...-...&zxdg_decor
a500 61 74 69 6f 6e 5f 6d 61 6e 61 67 65 72 5f 76 31 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 ation_manager_v1_interface,.1);.
a520 00 00 02 09 7d 00 00 00 01 7d 00 00 00 00 00 00 00 1c 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 ....}....}........static.void.se
a540 74 75 70 5f 64 65 63 6f 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 19 09 69 66 20 28 74 65 72 6d tup_deco(void)....{.....if.(term
a560 2e 64 65 63 6f 2e 6d 61 6e 61 67 65 72 29 20 7b 00 00 00 12 09 09 74 65 72 6d 2e 64 65 63 6f 2e .deco.manager).{......term.deco.
a580 64 65 63 6f 20 3d 00 00 00 36 09 09 09 7a 78 64 67 5f 64 65 63 6f 72 61 74 69 6f 6e 5f 6d 61 6e deco.=...6...zxdg_decoration_man
a5a0 61 67 65 72 5f 76 31 5f 67 65 74 5f 74 6f 70 6c 65 76 65 6c 5f 64 65 63 6f 72 61 74 69 6f 6e 28 ager_v1_get_toplevel_decoration(
a5c0 00 00 00 24 09 09 09 09 74 65 72 6d 2e 64 65 63 6f 2e 6d 61 6e 61 67 65 72 2c 20 74 65 72 6d 2e ...$....term.deco.manager,.term.
a5e0 74 6f 70 6c 76 6c 29 3b 00 00 00 00 00 00 00 28 09 09 69 66 20 28 74 65 72 6d 2e 63 66 67 2e 64 toplvl);.......(..if.(term.cfg.d
a600 65 63 6f 72 61 74 69 6f 6e 73 20 3d 3d 20 44 45 43 4f 5f 41 55 54 4f 29 00 00 00 3a 09 09 09 7a ecorations.==.DECO_AUTO)...:...z
a620 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 64 65 63 6f 72 61 74 69 6f 6e 5f 76 31 5f 75 6e 73 65 74 xdg_toplevel_decoration_v1_unset
a640 5f 6d 6f 64 65 28 74 65 72 6d 2e 64 65 63 6f 2e 64 65 63 6f 29 3b 00 00 00 06 09 09 65 6c 73 65 _mode(term.deco.deco);......else
a660 00 00 00 37 09 09 09 7a 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 64 65 63 6f 72 61 74 69 6f 6e 5f ...7...zxdg_toplevel_decoration_
a680 76 31 5f 73 65 74 5f 6d 6f 64 65 28 74 65 72 6d 2e 64 65 63 6f 2e 64 65 63 6f 2c 00 00 00 25 09 v1_set_mode(term.deco.deco,...%.
a6a0 09 09 09 74 65 72 6d 2e 63 66 67 2e 64 65 63 6f 72 61 74 69 6f 6e 73 20 3d 3d 20 44 45 43 4f 5f ...term.cfg.decorations.==.DECO_
a6c0 4e 4f 4e 45 00 00 00 32 09 09 09 09 3f 20 5a 58 44 47 5f 54 4f 50 4c 45 56 45 4c 5f 44 45 43 4f NONE...2....?.ZXDG_TOPLEVEL_DECO
a6e0 52 41 54 49 4f 4e 5f 56 31 5f 4d 4f 44 45 5f 43 4c 49 45 4e 54 5f 53 49 44 45 00 00 00 34 09 09 RATION_V1_MODE_CLIENT_SIDE...4..
a700 09 09 3a 20 5a 58 44 47 5f 54 4f 50 4c 45 56 45 4c 5f 44 45 43 4f 52 41 54 49 4f 4e 5f 56 31 5f ..:.ZXDG_TOPLEVEL_DECORATION_V1_
a720 4d 4f 44 45 5f 53 45 52 56 45 52 5f 53 49 44 45 29 3b 00 00 00 02 09 7d 00 00 00 01 7d 00 00 00 MODE_SERVER_SIDE);.....}....}...
a740 00 00 00 00 4c 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 69 73 74 72 79 5f 6c 6f 6f 73 65 28 ....Lstatic.void.registry_loose(
a760 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 2a void.*data,.struct.wl_registry.*
a780 72 2c 20 75 69 6e 74 33 32 5f 74 20 6e 61 6d 65 29 00 00 00 01 7b 00 00 00 01 7d 00 00 00 00 00 r,.uint32_t.name)....{....}.....
a7a0 00 00 39 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 ..9static.const.struct.wl_regist
a7c0 72 79 5f 6c 69 73 74 65 6e 65 72 20 72 65 67 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 18 ry_listener.reg_listener.=.{....
a7e0 09 2e 67 6c 6f 62 61 6c 20 3d 20 72 65 67 69 73 74 72 79 5f 67 65 74 2c 00 00 00 21 09 2e 67 6c ..global.=.registry_get,...!..gl
a800 6f 62 61 6c 5f 72 65 6d 6f 76 65 20 3d 20 72 65 67 69 73 74 72 79 5f 6c 6f 6f 73 65 2c 00 00 00 obal_remove.=.registry_loose,...
a820 02 7d 3b 00 00 00 00 00 00 00 23 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 74 75 70 5f 70 74 79 .};.......#static.void.setup_pty
a840 28 63 68 61 72 20 2a 61 72 67 76 5b 5d 29 00 00 00 01 7b 00 00 00 38 09 70 69 64 5f 74 20 70 69 (char.*argv[])....{...8.pid_t.pi
a860 64 20 3d 20 66 6f 72 6b 70 74 79 28 26 74 65 72 6d 2e 6d 61 73 74 65 72 5f 66 64 2c 20 4e 55 4c d.=.forkpty(&term.master_fd,.NUL
a880 4c 2c 20 4e 55 4c 4c 2c 20 4e 55 4c 4c 29 3b 00 00 00 00 00 00 00 0f 09 69 66 20 28 70 69 64 20 L,.NULL,.NULL);.........if.(pid.
a8a0 3c 20 30 29 20 7b 00 00 00 1a 09 09 65 72 72 6f 72 28 22 66 6f 72 6b 70 74 79 20 66 61 69 6c 65 <.0).{......error("forkpty.faile
a8c0 64 22 29 3b 00 00 00 15 09 09 65 78 69 74 28 45 58 49 54 5f 46 41 49 4c 55 52 45 29 3b 00 00 00 d");......exit(EXIT_FAILURE);...
a8e0 17 09 7d 20 65 6c 73 65 20 69 66 20 28 70 69 64 20 3d 3d 20 30 29 20 7b 00 00 00 0d 09 09 63 68 ..}.else.if.(pid.==.0).{......ch
a900 61 72 20 2a 70 72 6f 67 3b 00 00 00 26 09 09 73 65 74 65 6e 76 28 22 54 45 52 4d 22 2c 20 22 78 ar.*prog;...&..setenv("TERM",."x
a920 74 65 72 6d 2d 32 35 36 63 6f 6c 6f 72 22 2c 20 31 29 3b 00 00 00 0e 09 09 69 66 20 28 2a 61 72 term-256color",.1);......if.(*ar
a940 67 76 29 20 7b 00 00 00 17 09 09 09 65 78 65 63 76 70 28 2a 61 72 67 76 2c 20 61 72 67 76 29 3b gv).{.......execvp(*argv,.argv);
a960 00 00 00 10 09 09 09 70 72 6f 67 20 3d 20 2a 61 72 67 76 3b 00 00 00 0a 09 09 7d 20 65 6c 73 65 .......prog.=.*argv;......}.else
a980 20 7b 00 00 00 39 09 09 09 65 78 65 63 6c 70 28 74 65 72 6d 2e 63 66 67 2e 73 68 65 6c 6c 2c 20 .{...9...execlp(term.cfg.shell,.
a9a0 74 65 72 6d 2e 63 66 67 2e 73 68 65 6c 6c 2c 20 28 63 68 61 72 20 2a 29 20 4e 55 4c 4c 29 3b 00 term.cfg.shell,.(char.*).NULL);.
a9c0 00 00 19 09 09 09 70 72 6f 67 20 3d 20 74 65 72 6d 2e 63 66 67 2e 73 68 65 6c 6c 3b 00 00 00 03 ......prog.=.term.cfg.shell;....
a9e0 09 09 7d 00 00 00 35 09 09 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 63 6f 75 6c 64 20 ..}...5..fprintf(stderr,."could.
aa00 6e 6f 74 20 65 78 65 63 75 74 65 20 25 73 3a 20 25 73 5c 6e 22 2c 20 70 72 6f 67 2c 00 00 00 14 not.execute.%s:.%s\n",.prog,....
aa20 09 09 09 73 74 72 65 72 72 6f 72 28 65 72 72 6e 6f 29 29 3b 00 00 00 2a 09 09 66 70 72 69 6e 74 ...strerror(errno));...*..fprint
aa40 66 28 73 74 64 65 72 72 2c 20 22 72 75 6e 6e 69 6e 67 20 2f 62 69 6e 2f 73 68 2e 2e 2e 5c 6e 22 f(stderr,."running./bin/sh...\n"
aa60 29 3b 00 00 00 2d 09 09 65 78 65 63 6c 28 22 2f 62 69 6e 2f 73 68 22 2c 20 22 2f 62 69 6e 2f 73 );...-..execl("/bin/sh",."/bin/s
aa80 68 22 2c 20 28 63 68 61 72 20 2a 29 20 4e 55 4c 4c 29 3b 00 00 00 3b 09 09 66 70 72 69 6e 74 66 h",.(char.*).NULL);...;..fprintf
aaa0 28 73 74 64 65 72 72 2c 20 22 63 6f 75 6c 64 20 6e 6f 74 20 65 78 65 63 75 74 65 20 2f 62 69 6e (stderr,."could.not.execute./bin
aac0 2f 73 68 20 65 69 74 68 65 72 3a 20 25 73 5c 6e 22 2c 00 00 00 14 09 09 09 73 74 72 65 72 72 6f /sh.either:.%s\n",.......strerro
aae0 72 28 65 72 72 6e 6f 29 29 3b 00 00 00 0a 09 09 70 61 75 73 65 28 29 3b 00 00 00 15 09 09 65 78 r(errno));......pause();......ex
ab00 69 74 28 45 58 49 54 5f 46 41 49 4c 55 52 45 29 3b 00 00 00 02 09 7d 00 00 00 2c 09 66 63 6e 74 it(EXIT_FAILURE);.....}...,.fcnt
ab20 6c 28 74 65 72 6d 2e 6d 61 73 74 65 72 5f 66 64 2c 20 46 5f 53 45 54 46 4c 2c 20 4f 5f 4e 4f 4e l(term.master_fd,.F_SETFL,.O_NON
ab40 42 4c 4f 43 4b 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 1e 73 74 61 74 69 63 20 76 6f 69 64 20 BLOCK);....}........static.void.
ab60 61 63 74 69 6f 6e 5f 72 65 73 65 74 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 19 09 74 73 6d 5f action_reset(void)....{.....tsm_
ab80 76 74 65 5f 72 65 73 65 74 28 74 65 72 6d 2e 76 74 65 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 vte_reset(term.vte);....}.......
aba0 23 73 74 61 74 69 63 20 76 6f 69 64 20 61 63 74 69 6f 6e 5f 68 61 72 64 5f 72 65 73 65 74 28 76 #static.void.action_hard_reset(v
abc0 6f 69 64 29 00 00 00 01 7b 00 00 00 1e 09 74 73 6d 5f 76 74 65 5f 68 61 72 64 5f 72 65 73 65 74 oid)....{.....tsm_vte_hard_reset
abe0 28 74 65 72 6d 2e 76 74 65 29 3b 00 00 00 19 09 74 65 72 6d 2e 6e 65 65 64 5f 72 65 64 72 61 77 (term.vte);.....term.need_redraw
ac00 20 3d 20 74 72 75 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 22 73 74 61 74 69 63 20 76 6f 69 64 .=.true;....}......."static.void
ac20 20 61 63 74 69 6f 6e 5f 73 63 72 6f 6c 6c 5f 75 70 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 22 .action_scroll_up(void)....{..."
ac40 09 74 73 6d 5f 73 63 72 65 65 6e 5f 73 62 5f 75 70 28 74 65 72 6d 2e 73 63 72 65 65 6e 2c 20 31 .tsm_screen_sb_up(term.screen,.1
ac60 29 3b 00 00 00 19 09 74 65 72 6d 2e 6e 65 65 64 5f 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 );.....term.need_redraw.=.true;.
ac80 00 00 01 7d 00 00 00 00 00 00 00 24 73 74 61 74 69 63 20 76 6f 69 64 20 61 63 74 69 6f 6e 5f 73 ...}.......$static.void.action_s
aca0 63 72 6f 6c 6c 5f 64 6f 77 6e 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 24 09 74 73 6d 5f 73 63 croll_down(void)....{...$.tsm_sc
acc0 72 65 65 6e 5f 73 62 5f 64 6f 77 6e 28 74 65 72 6d 2e 73 63 72 65 65 6e 2c 20 31 29 3b 00 00 00 reen_sb_down(term.screen,.1);...
ace0 19 09 74 65 72 6d 2e 6e 65 65 64 5f 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 01 7d 00 ..term.need_redraw.=.true;....}.
ad00 00 00 00 00 00 00 27 73 74 61 74 69 63 20 76 6f 69 64 20 61 63 74 69 6f 6e 5f 73 63 72 6f 6c 6c ......'static.void.action_scroll
ad20 5f 75 70 5f 70 61 67 65 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 27 09 74 73 6d 5f 73 63 72 65 _up_page(void)....{...'.tsm_scre
ad40 65 6e 5f 73 62 5f 70 61 67 65 5f 75 70 28 74 65 72 6d 2e 73 63 72 65 65 6e 2c 20 31 29 3b 00 00 en_sb_page_up(term.screen,.1);..
ad60 00 19 09 74 65 72 6d 2e 6e 65 65 64 5f 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 01 7d ...term.need_redraw.=.true;....}
ad80 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 76 6f 69 64 20 61 63 74 69 6f 6e 5f 73 63 72 6f 6c .......)static.void.action_scrol
ada0 6c 5f 64 6f 77 6e 5f 70 61 67 65 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 29 09 74 73 6d 5f 73 l_down_page(void)....{...).tsm_s
adc0 63 72 65 65 6e 5f 73 62 5f 70 61 67 65 5f 64 6f 77 6e 28 74 65 72 6d 2e 73 63 72 65 65 6e 2c 20 creen_sb_page_down(term.screen,.
ade0 31 29 3b 00 00 00 19 09 74 65 72 6d 2e 6e 65 65 64 5f 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 1);.....term.need_redraw.=.true;
ae00 00 00 00 01 7d 00 00 00 00 00 00 00 26 73 74 61 74 69 63 20 76 6f 69 64 20 61 63 74 69 6f 6e 5f ....}.......&static.void.action_
ae20 73 63 72 6f 6c 6c 5f 74 6f 5f 74 6f 70 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 34 09 74 73 6d scroll_to_top(void)....{...4.tsm
ae40 5f 73 63 72 65 65 6e 5f 73 62 5f 75 70 28 74 65 72 6d 2e 73 63 72 65 65 6e 2c 20 74 65 72 6d 2e _screen_sb_up(term.screen,.term.
ae60 63 66 67 2e 73 63 72 6f 6c 6c 62 61 63 6b 29 3b 00 00 00 19 09 74 65 72 6d 2e 6e 65 65 64 5f 72 cfg.scrollback);.....term.need_r
ae80 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 29 73 74 61 74 69 63 edraw.=.true;....}.......)static
aea0 20 76 6f 69 64 20 61 63 74 69 6f 6e 5f 73 63 72 6f 6c 6c 5f 74 6f 5f 62 6f 74 74 6f 6d 28 76 6f .void.action_scroll_to_bottom(vo
aec0 69 64 29 00 00 00 01 7b 00 00 00 22 09 74 73 6d 5f 73 63 72 65 65 6e 5f 73 62 5f 72 65 73 65 74 id)....{...".tsm_screen_sb_reset
aee0 28 74 65 72 6d 2e 73 63 72 65 65 6e 29 3b 00 00 00 19 09 74 65 72 6d 2e 6e 65 65 64 5f 72 65 64 (term.screen);.....term.need_red
af00 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 00 00 00 00 0f 73 74 61 74 raw.=.true;....}............stat
af20 69 63 20 73 74 72 75 63 74 20 7b 00 00 00 0c 09 63 68 61 72 20 2a 6e 61 6d 65 3b 00 00 00 11 09 ic.struct.{.....char.*name;.....
af40 76 6f 69 64 20 28 2a 66 29 28 76 6f 69 64 29 3b 00 00 00 0f 7d 20 61 63 74 69 6f 6e 73 5b 5d 20 void.(*f)(void);....}.actions[].
af60 3d 20 7b 00 00 00 1a 09 7b 20 22 63 6f 70 79 22 2c 20 26 61 63 74 69 6f 6e 5f 63 6f 70 79 20 7d =.{.....{."copy",.&action_copy.}
af80 2c 00 00 00 1c 09 7b 20 22 70 61 73 74 65 22 2c 20 26 61 63 74 69 6f 6e 5f 70 61 73 74 65 20 7d ,.....{."paste",.&action_paste.}
afa0 2c 00 00 00 1c 09 7b 20 22 72 65 73 65 74 22 2c 20 26 61 63 74 69 6f 6e 5f 72 65 73 65 74 20 7d ,.....{."reset",.&action_reset.}
afc0 2c 00 00 00 26 09 7b 20 22 68 61 72 64 20 72 65 73 65 74 22 2c 20 26 61 63 74 69 6f 6e 5f 68 61 ,...&.{."hard.reset",.&action_ha
afe0 72 64 5f 72 65 73 65 74 20 7d 2c 00 00 00 24 09 7b 20 22 73 63 72 6f 6c 6c 20 75 70 22 2c 20 26 rd_reset.},...$.{."scroll.up",.&
b000 61 63 74 69 6f 6e 5f 73 63 72 6f 6c 6c 5f 75 70 20 7d 2c 00 00 00 28 09 7b 20 22 73 63 72 6f 6c action_scroll_up.},...(.{."scrol
b020 6c 20 64 6f 77 6e 22 2c 20 26 61 63 74 69 6f 6e 5f 73 63 72 6f 6c 6c 5f 64 6f 77 6e 20 7d 2c 00 l.down",.&action_scroll_down.},.
b040 00 00 2e 09 7b 20 22 73 63 72 6f 6c 6c 20 75 70 20 70 61 67 65 22 2c 20 26 61 63 74 69 6f 6e 5f ....{."scroll.up.page",.&action_
b060 73 63 72 6f 6c 6c 5f 75 70 5f 70 61 67 65 20 7d 2c 00 00 00 32 09 7b 20 22 73 63 72 6f 6c 6c 20 scroll_up_page.},...2.{."scroll.
b080 64 6f 77 6e 20 70 61 67 65 22 2c 20 26 61 63 74 69 6f 6e 5f 73 63 72 6f 6c 6c 5f 64 6f 77 6e 5f down.page",.&action_scroll_down_
b0a0 70 61 67 65 20 7d 2c 00 00 00 2c 09 7b 20 22 73 63 72 6f 6c 6c 20 74 6f 20 74 6f 70 22 2c 20 26 page.},...,.{."scroll.to.top",.&
b0c0 61 63 74 69 6f 6e 5f 73 63 72 6f 6c 6c 5f 74 6f 5f 74 6f 70 20 7d 2c 00 00 00 32 09 7b 20 22 73 action_scroll_to_top.},...2.{."s
b0e0 63 72 6f 6c 6c 20 74 6f 20 62 6f 74 74 6f 6d 22 2c 20 26 61 63 74 69 6f 6e 5f 73 63 72 6f 6c 6c croll.to.bottom",.&action_scroll
b100 5f 74 6f 5f 62 6f 74 74 6f 6d 20 7d 2c 00 00 00 02 7d 3b 00 00 00 00 00 00 00 1d 23 64 65 66 69 _to_bottom.},....};........#defi
b120 6e 65 20 43 4f 4e 46 5f 46 49 4c 45 20 22 68 61 76 6f 63 2e 63 66 67 22 00 00 00 00 00 00 00 34 ne.CONF_FILE."havoc.cfg".......4
b140 73 74 61 74 69 63 20 6c 6f 6e 67 20 6c 6f 6e 67 20 63 66 67 5f 6e 75 6d 28 63 6f 6e 73 74 20 63 static.long.long.cfg_num(const.c
b160 68 61 72 20 2a 6e 70 74 72 2c 20 69 6e 74 20 62 61 73 65 2c 00 00 00 21 09 09 09 20 6c 6f 6e 67 har.*nptr,.int.base,...!....long
b180 20 6c 6f 6e 67 20 6d 69 6e 2c 20 6c 6f 6e 67 20 6c 6f 6e 67 20 6d 61 78 29 00 00 00 01 7b 00 00 .long.min,.long.long.max)....{..
b1a0 00 0d 09 6c 6f 6e 67 20 6c 6f 6e 67 20 6e 3b 00 00 00 00 00 00 00 1f 09 6e 20 3d 20 73 74 72 74 ...long.long.n;.........n.=.strt
b1c0 6f 6c 6c 28 6e 70 74 72 2c 20 4e 55 4c 4c 2c 20 62 61 73 65 29 3b 00 00 00 2a 09 72 65 74 75 72 oll(nptr,.NULL,.base);...*.retur
b1e0 6e 20 6e 20 3c 20 6d 69 6e 20 3f 20 6d 69 6e 20 3a 20 6e 20 3e 20 6d 61 78 20 3f 20 6d 61 78 20 n.n.<.min.?.min.:.n.>.max.?.max.
b200 3a 20 6e 3b 00 00 00 01 7d 00 00 00 00 00 00 00 2e 73 74 61 74 69 63 20 76 6f 69 64 20 63 68 69 :.n;....}........static.void.chi
b220 6c 64 5f 63 6f 6e 66 69 67 28 63 68 61 72 20 2a 6b 65 79 2c 20 63 68 61 72 20 2a 76 61 6c 29 00 ld_config(char.*key,.char.*val).
b240 00 00 01 7b 00 00 00 21 09 69 66 20 28 73 74 72 63 6d 70 28 6b 65 79 2c 20 22 70 72 6f 67 72 61 ...{...!.if.(strcmp(key,."progra
b260 6d 22 29 20 3d 3d 20 30 29 00 00 00 3b 09 09 73 74 72 6e 63 70 79 28 74 65 72 6d 2e 63 66 67 2e m").==.0)...;..strncpy(term.cfg.
b280 73 68 65 6c 6c 2c 20 76 61 6c 2c 20 73 69 7a 65 6f 66 28 74 65 72 6d 2e 63 66 67 2e 73 68 65 6c shell,.val,.sizeof(term.cfg.shel
b2a0 6c 29 20 2d 20 31 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 2f 73 74 61 74 69 63 20 76 6f 69 64 l).-.1);....}......./static.void
b2c0 20 77 69 6e 64 6f 77 5f 63 6f 6e 66 69 67 28 63 68 61 72 20 2a 6b 65 79 2c 20 63 68 61 72 20 2a .window_config(char.*key,.char.*
b2e0 76 61 6c 29 00 00 00 01 7b 00 00 00 21 09 69 66 20 28 73 74 72 63 6d 70 28 6b 65 79 2c 20 22 6f val)....{...!.if.(strcmp(key,."o
b300 70 61 63 69 74 79 22 29 20 3d 3d 20 30 29 00 00 00 2e 09 09 74 65 72 6d 2e 63 66 67 2e 6f 70 61 pacity").==.0)......term.cfg.opa
b320 63 69 74 79 20 3d 20 63 66 67 5f 6e 75 6d 28 76 61 6c 2c 20 31 30 2c 20 30 2c 20 32 35 35 29 3b city.=.cfg_num(val,.10,.0,.255);
b340 00 00 00 25 09 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d 70 28 6b 65 79 2c 20 22 6d 61 72 67 69 ...%.else.if.(strcmp(key,."margi
b360 6e 22 29 20 3d 3d 20 30 29 00 00 00 2c 09 09 74 65 72 6d 2e 63 66 67 2e 6d 61 72 67 69 6e 20 3d n").==.0)...,..term.cfg.margin.=
b380 20 73 74 72 63 6d 70 28 76 61 6c 2c 20 22 79 65 73 22 29 20 3d 3d 20 30 3b 00 00 00 2a 09 65 6c .strcmp(val,."yes").==.0;...*.el
b3a0 73 65 20 69 66 20 28 73 74 72 63 6d 70 28 6b 65 79 2c 20 22 64 65 63 6f 72 61 74 69 6f 6e 73 22 se.if.(strcmp(key,."decorations"
b3c0 29 20 3d 3d 20 30 29 00 00 00 3e 09 09 74 65 72 6d 2e 63 66 67 2e 64 65 63 6f 72 61 74 69 6f 6e ).==.0)...>..term.cfg.decoration
b3e0 73 20 3d 20 73 74 72 63 6d 70 28 76 61 6c 2c 20 22 79 65 73 22 29 20 3d 3d 20 30 20 3f 20 44 45 s.=.strcmp(val,."yes").==.0.?.DE
b400 43 4f 5f 53 45 52 56 45 52 00 00 00 36 09 09 09 3a 20 28 73 74 72 63 6d 70 28 76 61 6c 2c 20 22 CO_SERVER...6...:.(strcmp(val,."
b420 6e 6f 22 29 20 3d 3d 20 30 20 3f 20 44 45 43 4f 5f 4e 4f 4e 45 20 3a 20 44 45 43 4f 5f 41 55 54 no").==.0.?.DECO_NONE.:.DECO_AUT
b440 4f 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 31 73 74 61 74 69 63 20 76 6f 69 64 20 74 65 72 6d O);....}.......1static.void.term
b460 69 6e 61 6c 5f 63 6f 6e 66 69 67 28 63 68 61 72 20 2a 6b 65 79 2c 20 63 68 61 72 20 2a 76 61 6c inal_config(char.*key,.char.*val
b480 29 00 00 00 01 7b 00 00 00 1e 09 69 66 20 28 73 74 72 63 6d 70 28 6b 65 79 2c 20 22 72 6f 77 73 )....{.....if.(strcmp(key,."rows
b4a0 22 29 20 3d 3d 20 30 29 00 00 00 2b 09 09 74 65 72 6d 2e 63 66 67 2e 72 6f 77 20 3d 20 63 66 67 ").==.0)...+..term.cfg.row.=.cfg
b4c0 5f 6e 75 6d 28 76 61 6c 2c 20 31 30 2c 20 31 2c 20 31 30 30 30 29 3b 00 00 00 26 09 65 6c 73 65 _num(val,.10,.1,.1000);...&.else
b4e0 20 69 66 20 28 73 74 72 63 6d 70 28 6b 65 79 2c 20 22 63 6f 6c 75 6d 6e 73 22 29 20 3d 3d 20 30 .if.(strcmp(key,."columns").==.0
b500 29 00 00 00 2b 09 09 74 65 72 6d 2e 63 66 67 2e 63 6f 6c 20 3d 20 63 66 67 5f 6e 75 6d 28 76 61 )...+..term.cfg.col.=.cfg_num(va
b520 6c 2c 20 31 30 2c 20 31 2c 20 31 30 30 30 29 3b 00 00 00 29 09 65 6c 73 65 20 69 66 20 28 73 74 l,.10,.1,.1000);...).else.if.(st
b540 72 63 6d 70 28 6b 65 79 2c 20 22 73 63 72 6f 6c 6c 62 61 63 6b 22 29 20 3d 3d 20 30 29 00 00 00 rcmp(key,."scrollback").==.0)...
b560 35 09 09 74 65 72 6d 2e 63 66 67 2e 73 63 72 6f 6c 6c 62 61 63 6b 20 3d 20 63 66 67 5f 6e 75 6d 5..term.cfg.scrollback.=.cfg_num
b580 28 76 61 6c 2c 20 31 30 2c 20 30 2c 20 49 4e 54 5f 4d 41 58 29 3b 00 00 00 38 09 65 6c 73 65 20 (val,.10,.0,.INT_MAX);...8.else.
b5a0 69 66 20 28 73 74 72 63 6d 70 28 6b 65 79 2c 20 22 73 63 72 6f 6c 6c 20 74 6f 20 62 6f 74 74 6f if.(strcmp(key,."scroll.to.botto
b5c0 6d 20 6f 6e 20 69 6e 70 75 74 22 29 20 3d 3d 20 30 29 00 00 00 3f 09 09 74 65 72 6d 2e 63 66 67 m.on.input").==.0)...?..term.cfg
b5e0 2e 73 63 72 6f 6c 6c 5f 74 6f 5f 62 6f 74 74 6f 6d 5f 6f 6e 5f 69 6e 70 75 74 20 3d 20 73 74 72 .scroll_to_bottom_on_input.=.str
b600 63 6d 70 28 76 61 6c 2c 20 22 79 65 73 22 29 20 3d 3d 20 30 3b 00 00 00 01 7d 00 00 00 00 00 00 cmp(val,."yes").==.0;....}......
b620 00 2d 73 74 61 74 69 63 20 76 6f 69 64 20 66 6f 6e 74 5f 63 6f 6e 66 69 67 28 63 68 61 72 20 2a .-static.void.font_config(char.*
b640 6b 65 79 2c 20 63 68 61 72 20 2a 76 61 6c 29 00 00 00 01 7b 00 00 00 1e 09 69 66 20 28 73 74 72 key,.char.*val)....{.....if.(str
b660 63 6d 70 28 6b 65 79 2c 20 22 73 69 7a 65 22 29 20 3d 3d 20 30 29 00 00 00 30 09 09 74 65 72 6d cmp(key,."size").==.0)...0..term
b680 2e 63 66 67 2e 66 6f 6e 74 5f 73 69 7a 65 20 3d 20 63 66 67 5f 6e 75 6d 28 76 61 6c 2c 20 31 30 .cfg.font_size.=.cfg_num(val,.10
b6a0 2c 20 36 2c 20 33 30 30 29 3b 00 00 00 23 09 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d 70 28 6b ,.6,.300);...#.else.if.(strcmp(k
b6c0 65 79 2c 20 22 70 61 74 68 22 29 20 3d 3d 20 30 29 00 00 00 22 09 09 73 74 72 6e 63 70 79 28 74 ey,."path").==.0)..."..strncpy(t
b6e0 65 72 6d 2e 63 66 67 2e 66 6f 6e 74 5f 70 61 74 68 2c 20 76 61 6c 2c 00 00 00 23 09 09 09 73 69 erm.cfg.font_path,.val,...#...si
b700 7a 65 6f 66 28 74 65 72 6d 2e 63 66 67 2e 66 6f 6e 74 5f 70 61 74 68 29 20 2d 20 31 29 3b 00 00 zeof(term.cfg.font_path).-.1);..
b720 00 01 7d 00 00 00 00 00 00 00 2d 73 74 61 74 69 63 20 76 6f 69 64 20 62 69 6e 64 5f 63 6f 6e 66 ..}.......-static.void.bind_conf
b740 69 67 28 63 68 61 72 20 2a 6b 65 79 2c 20 63 68 61 72 20 2a 76 61 6c 29 00 00 00 01 7b 00 00 00 ig(char.*key,.char.*val)....{...
b760 17 09 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 6d 6f 64 73 20 3d 20 30 3b 00 00 00 10 09 78 6b 62 ..unsigned.int.mods.=.0;.....xkb
b780 5f 6b 65 79 73 79 6d 5f 74 20 6b 3b 00 00 00 13 09 73 74 72 75 63 74 20 62 69 6e 64 69 6e 67 20 _keysym_t.k;.....struct.binding.
b7a0 2a 62 3b 00 00 00 0a 09 73 69 7a 65 5f 74 20 69 3b 00 00 00 00 00 00 00 14 09 69 66 20 28 6b 65 *b;.....size_t.i;.........if.(ke
b7c0 79 5b 30 5d 20 3d 3d 20 27 5c 30 27 29 00 00 00 09 09 09 72 65 74 75 72 6e 3b 00 00 00 00 00 00 y[0].==.'\0')......return;......
b7e0 00 18 09 77 68 69 6c 65 20 28 6b 65 79 5b 31 5d 20 3d 3d 20 27 2d 27 29 20 7b 00 00 00 13 09 09 ...while.(key[1].==.'-').{......
b800 73 77 69 74 63 68 20 28 6b 65 79 5b 30 5d 29 20 7b 00 00 00 0b 09 09 63 61 73 65 20 27 53 27 3a switch.(key[0]).{......case.'S':
b820 00 00 00 1a 09 09 09 6d 6f 64 73 20 7c 3d 20 54 53 4d 5f 53 48 49 46 54 5f 4d 41 53 4b 3b 00 00 .......mods.|=.TSM_SHIFT_MASK;..
b840 00 09 09 09 09 62 72 65 61 6b 3b 00 00 00 0b 09 09 63 61 73 65 20 27 43 27 3a 00 00 00 1c 09 09 .....break;......case.'C':......
b860 09 6d 6f 64 73 20 7c 3d 20 54 53 4d 5f 43 4f 4e 54 52 4f 4c 5f 4d 41 53 4b 3b 00 00 00 09 09 09 .mods.|=.TSM_CONTROL_MASK;......
b880 09 62 72 65 61 6b 3b 00 00 00 0b 09 09 63 61 73 65 20 27 41 27 3a 00 00 00 18 09 09 09 6d 6f 64 .break;......case.'A':.......mod
b8a0 73 20 7c 3d 20 54 53 4d 5f 41 4c 54 5f 4d 41 53 4b 3b 00 00 00 09 09 09 09 62 72 65 61 6b 3b 00 s.|=.TSM_ALT_MASK;.......break;.
b8c0 00 00 03 09 09 7d 00 00 00 0b 09 09 6b 65 79 20 2b 3d 20 32 3b 00 00 00 02 09 7d 00 00 00 00 00 .....}......key.+=.2;.....}.....
b8e0 00 00 34 09 6b 20 3d 20 78 6b 62 5f 6b 65 79 73 79 6d 5f 66 72 6f 6d 5f 6e 61 6d 65 28 6b 65 79 ..4.k.=.xkb_keysym_from_name(key
b900 2c 20 58 4b 42 5f 4b 45 59 53 59 4d 5f 4e 4f 5f 46 4c 41 47 53 29 3b 00 00 00 1c 09 6b 20 3d 20 ,.XKB_KEYSYM_NO_FLAGS);.....k.=.
b920 78 6b 62 5f 6b 65 79 73 79 6d 5f 74 6f 5f 6c 6f 77 65 72 28 6b 29 3b 00 00 00 1b 09 69 66 20 28 xkb_keysym_to_lower(k);.....if.(
b940 6b 20 3d 3d 20 58 4b 42 5f 4b 45 59 5f 4e 6f 53 79 6d 62 6f 6c 29 00 00 00 09 09 09 72 65 74 75 k.==.XKB_KEY_NoSymbol)......retu
b960 72 6e 3b 00 00 00 00 00 00 00 17 09 62 20 3d 20 6d 61 6c 6c 6f 63 28 73 69 7a 65 6f 66 20 2a 62 rn;.........b.=.malloc(sizeof.*b
b980 29 3b 00 00 00 0f 09 69 66 20 28 62 20 3d 3d 20 4e 55 4c 4c 29 00 00 00 09 09 09 72 65 74 75 72 );.....if.(b.==.NULL)......retur
b9a0 6e 3b 00 00 00 00 00 00 00 10 09 62 2d 3e 6d 6f 64 73 20 3d 20 6d 6f 64 73 3b 00 00 00 0c 09 62 n;.........b->mods.=.mods;.....b
b9c0 2d 3e 73 79 6d 20 3d 20 6b 3b 00 00 00 00 00 00 00 2e 09 66 6f 72 20 28 69 20 3d 20 30 3b 20 69 ->sym.=.k;.........for.(i.=.0;.i
b9e0 20 3c 20 41 52 52 41 59 5f 4c 45 4e 47 54 48 28 61 63 74 69 6f 6e 73 29 3b 20 2b 2b 69 29 20 7b .<.ARRAY_LENGTH(actions);.++i).{
ba00 00 00 00 28 09 09 69 66 20 28 73 74 72 63 6d 70 28 76 61 6c 2c 20 61 63 74 69 6f 6e 73 5b 69 5d ...(..if.(strcmp(val,.actions[i]
ba20 2e 6e 61 6d 65 29 20 3d 3d 20 30 29 00 00 00 1c 09 09 09 62 2d 3e 61 63 74 69 6f 6e 20 3d 20 61 .name).==.0).......b->action.=.a
ba40 63 74 69 6f 6e 73 5b 69 5d 2e 66 3b 00 00 00 02 09 7d 00 00 00 18 09 62 2d 3e 6e 65 78 74 20 3d ctions[i].f;.....}.....b->next.=
ba60 20 74 65 72 6d 2e 62 69 6e 64 69 6e 67 3b 00 00 00 12 09 74 65 72 6d 2e 62 69 6e 64 69 6e 67 20 .term.binding;.....term.binding.
ba80 3d 20 62 3b 00 00 00 01 7d 00 00 00 00 00 00 00 3d 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 74 =.b;....}.......=static.void.set
baa0 5f 63 6f 6c 6f 72 28 65 6e 75 6d 20 74 73 6d 5f 76 74 65 5f 63 6f 6c 6f 72 20 66 69 65 6c 64 2c _color(enum.tsm_vte_color.field,
bac0 20 75 69 6e 74 33 32 5f 74 20 76 61 6c 29 00 00 00 01 7b 00 00 00 21 09 74 65 72 6d 2e 63 66 67 .uint32_t.val)....{...!.term.cfg
bae0 2e 63 6f 6c 6f 72 73 5b 66 69 65 6c 64 5d 5b 32 5d 20 3d 20 76 61 6c 3b 00 00 00 26 09 74 65 72 .colors[field][2].=.val;...&.ter
bb00 6d 2e 63 66 67 2e 63 6f 6c 6f 72 73 5b 66 69 65 6c 64 5d 5b 31 5d 20 3d 20 76 61 6c 20 3e 3e 20 m.cfg.colors[field][1].=.val.>>.
bb20 38 3b 00 00 00 27 09 74 65 72 6d 2e 63 66 67 2e 63 6f 6c 6f 72 73 5b 66 69 65 6c 64 5d 5b 30 5d 8;...'.term.cfg.colors[field][0]
bb40 20 3d 20 76 61 6c 20 3e 3e 20 31 36 3b 00 00 00 01 7d 00 00 00 00 00 00 00 2e 73 74 61 74 69 63 .=.val.>>.16;....}........static
bb60 20 76 6f 69 64 20 63 6f 6c 6f 72 5f 63 6f 6e 66 69 67 28 63 68 61 72 20 2a 6b 65 79 2c 20 63 68 .void.color_config(char.*key,.ch
bb80 61 72 20 2a 76 61 6c 29 00 00 00 01 7b 00 00 00 14 09 75 69 6e 74 33 32 5f 74 20 63 6f 6c 6f 72 ar.*val)....{.....uint32_t.color
bba0 20 3d 20 30 3b 00 00 00 00 00 00 00 11 09 69 66 20 28 2a 76 61 6c 20 3d 3d 20 27 23 27 29 00 00 .=.0;.........if.(*val.==.'#')..
bbc0 00 2a 09 09 63 6f 6c 6f 72 20 3d 20 63 66 67 5f 6e 75 6d 28 2b 2b 76 61 6c 2c 20 31 36 2c 20 30 .*..color.=.cfg_num(++val,.16,.0
bbe0 2c 20 30 78 66 66 66 66 66 66 29 3b 00 00 00 00 00 00 00 26 09 69 66 20 28 73 74 72 63 6d 70 28 ,.0xffffff);.......&.if.(strcmp(
bc00 6b 65 79 2c 20 22 66 6f 72 65 67 72 6f 75 6e 64 22 29 20 3d 3d 20 30 29 20 7b 00 00 00 29 09 09 key,."foreground").==.0).{...)..
bc20 73 65 74 5f 63 6f 6c 6f 72 28 54 53 4d 5f 43 4f 4c 4f 52 5f 46 4f 52 45 47 52 4f 55 4e 44 2c 20 set_color(TSM_COLOR_FOREGROUND,.
bc40 63 6f 6c 6f 72 29 3b 00 00 00 2d 09 7d 20 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d 70 28 6b 65 color);...-.}.else.if.(strcmp(ke
bc60 79 2c 20 22 62 61 63 6b 67 72 6f 75 6e 64 22 29 20 3d 3d 20 30 29 20 7b 00 00 00 29 09 09 73 65 y,."background").==.0).{...)..se
bc80 74 5f 63 6f 6c 6f 72 28 54 53 4d 5f 43 4f 4c 4f 52 5f 42 41 43 4b 47 52 4f 55 4e 44 2c 20 63 6f t_color(TSM_COLOR_BACKGROUND,.co
bca0 6c 6f 72 29 3b 00 00 00 40 09 7d 20 65 6c 73 65 20 69 66 20 28 73 74 72 73 74 72 28 6b 65 79 2c lor);...@.}.else.if.(strstr(key,
bcc0 20 22 63 6f 6c 6f 72 22 29 20 3d 3d 20 6b 65 79 20 26 26 20 2a 28 6b 65 79 20 2b 20 35 29 20 21 ."color").==.key.&&.*(key.+.5).!
bce0 3d 20 27 5c 30 27 29 20 7b 00 00 00 0a 09 09 63 68 61 72 20 2a 70 3b 00 00 00 23 09 09 6c 6f 6e =.'\0').{......char.*p;...#..lon
bd00 67 20 69 20 3d 20 73 74 72 74 6f 6c 28 6b 65 79 20 2b 20 35 2c 20 26 70 2c 20 31 30 29 3b 00 00 g.i.=.strtol(key.+.5,.&p,.10);..
bd20 00 25 09 09 69 66 20 28 2a 70 20 3d 3d 20 27 5c 30 27 20 26 26 20 69 20 3e 3d 20 30 20 26 26 20 .%..if.(*p.==.'\0'.&&.i.>=.0.&&.
bd40 69 20 3c 20 31 36 29 00 00 00 17 09 09 09 73 65 74 5f 63 6f 6c 6f 72 28 69 2c 20 63 6f 6c 6f 72 i.<.16).......set_color(i,.color
bd60 29 3b 00 00 00 02 09 7d 00 00 00 01 7d 00 00 00 00 00 00 00 1e 73 74 61 74 69 63 20 46 49 4c 45 );.....}....}........static.FILE
bd80 20 2a 6f 70 65 6e 5f 63 6f 6e 66 69 67 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 0b 09 63 68 61 .*open_config(void)....{.....cha
bda0 72 20 2a 64 69 72 3b 00 00 00 10 09 63 68 61 72 20 70 61 74 68 5b 35 31 32 5d 3b 00 00 00 09 09 r.*dir;.....char.path[512];.....
bdc0 46 49 4c 45 20 2a 66 3b 00 00 00 00 00 00 00 17 09 69 66 20 28 74 65 72 6d 2e 6f 70 74 2e 63 6f FILE.*f;.........if.(term.opt.co
bde0 6e 66 69 67 29 20 7b 00 00 00 1f 09 09 69 66 20 28 2a 74 65 72 6d 2e 6f 70 74 2e 63 6f 6e 66 69 nfig).{......if.(*term.opt.confi
be00 67 20 3d 3d 20 27 5c 30 27 29 00 00 00 0f 09 09 09 72 65 74 75 72 6e 20 4e 55 4c 4c 3b 00 00 00 g.==.'\0').......return.NULL;...
be20 00 00 00 00 22 09 09 66 20 3d 20 66 6f 70 65 6e 28 74 65 72 6d 2e 6f 70 74 2e 63 6f 6e 66 69 67 ...."..f.=.fopen(term.opt.config
be40 2c 20 22 72 22 29 3b 00 00 00 10 09 09 69 66 20 28 66 20 3d 3d 20 4e 55 4c 4c 29 00 00 00 2e 09 ,."r");......if.(f.==.NULL).....
be60 09 09 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 63 6f 75 6c 64 20 6e 6f 74 20 6f 70 65 ..fprintf(stderr,."could.not.ope
be80 6e 20 27 25 73 27 3a 20 25 73 2c 20 22 00 00 00 24 09 09 09 09 22 75 73 69 6e 67 20 64 65 66 61 n.'%s':.%s,."...$...."using.defa
bea0 75 6c 74 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 5c 6e 22 2c 00 00 00 26 09 09 09 09 74 65 72 ult.configuration\n",...&....ter
bec0 6d 2e 6f 70 74 2e 63 6f 6e 66 69 67 2c 20 73 74 72 65 72 72 6f 72 28 65 72 72 6e 6f 29 29 3b 00 m.opt.config,.strerror(errno));.
bee0 00 00 0b 09 09 72 65 74 75 72 6e 20 66 3b 00 00 00 02 09 7d 00 00 00 00 00 00 00 21 09 64 69 72 .....return.f;.....}.......!.dir
bf00 20 3d 20 67 65 74 65 6e 76 28 22 58 44 47 5f 43 4f 4e 46 49 47 5f 48 4f 4d 45 22 29 3b 00 00 00 .=.getenv("XDG_CONFIG_HOME");...
bf20 1b 09 69 66 20 28 64 69 72 20 26 26 20 2a 64 69 72 20 21 3d 20 27 5c 30 27 29 20 7b 00 00 00 3d ..if.(dir.&&.*dir.!=.'\0').{...=
bf40 09 09 73 6e 70 72 69 6e 74 66 28 70 61 74 68 2c 20 73 69 7a 65 6f 66 20 70 61 74 68 2c 20 22 25 ..snprintf(path,.sizeof.path,."%
bf60 73 2f 68 61 76 6f 63 2f 25 73 22 2c 20 64 69 72 2c 20 43 4f 4e 46 5f 46 49 4c 45 29 3b 00 00 00 s/havoc/%s",.dir,.CONF_FILE);...
bf80 17 09 09 66 20 3d 20 66 6f 70 65 6e 28 70 61 74 68 2c 20 22 72 22 29 3b 00 00 00 08 09 09 69 66 ...f.=.fopen(path,."r");......if
bfa0 20 28 66 29 00 00 00 0c 09 09 09 72 65 74 75 72 6e 20 66 3b 00 00 00 00 00 00 00 38 09 09 73 6e .(f).......return.f;.......8..sn
bfc0 70 72 69 6e 74 66 28 70 61 74 68 2c 20 73 69 7a 65 6f 66 28 70 61 74 68 29 2c 20 22 25 73 2f 25 printf(path,.sizeof(path),."%s/%
bfe0 73 22 2c 20 64 69 72 2c 20 43 4f 4e 46 5f 46 49 4c 45 29 3b 00 00 00 17 09 09 66 20 3d 20 66 6f s",.dir,.CONF_FILE);......f.=.fo
c000 70 65 6e 28 70 61 74 68 2c 20 22 72 22 29 3b 00 00 00 08 09 09 69 66 20 28 66 29 00 00 00 0c 09 pen(path,."r");......if.(f).....
c020 09 09 72 65 74 75 72 6e 20 66 3b 00 00 00 02 09 7d 00 00 00 00 00 00 00 16 09 64 69 72 20 3d 20 ..return.f;.....}.........dir.=.
c040 67 65 74 65 6e 76 28 22 48 4f 4d 45 22 29 3b 00 00 00 1b 09 69 66 20 28 64 69 72 20 26 26 20 2a getenv("HOME");.....if.(dir.&&.*
c060 64 69 72 20 21 3d 20 27 5c 30 27 29 20 7b 00 00 00 46 09 09 73 6e 70 72 69 6e 74 66 28 70 61 74 dir.!=.'\0').{...F..snprintf(pat
c080 68 2c 20 73 69 7a 65 6f 66 28 70 61 74 68 29 2c 20 22 25 73 2f 2e 63 6f 6e 66 69 67 2f 68 61 76 h,.sizeof(path),."%s/.config/hav
c0a0 6f 63 2f 25 73 22 2c 20 64 69 72 2c 20 43 4f 4e 46 5f 46 49 4c 45 29 3b 00 00 00 17 09 09 66 20 oc/%s",.dir,.CONF_FILE);......f.
c0c0 3d 20 66 6f 70 65 6e 28 70 61 74 68 2c 20 22 72 22 29 3b 00 00 00 08 09 09 69 66 20 28 66 29 00 =.fopen(path,."r");......if.(f).
c0e0 00 00 0c 09 09 09 72 65 74 75 72 6e 20 66 3b 00 00 00 00 00 00 00 40 09 09 73 6e 70 72 69 6e 74 ......return.f;.......@..snprint
c100 66 28 70 61 74 68 2c 20 73 69 7a 65 6f 66 28 70 61 74 68 29 2c 20 22 25 73 2f 2e 63 6f 6e 66 69 f(path,.sizeof(path),."%s/.confi
c120 67 2f 25 73 22 2c 20 64 69 72 2c 20 43 4f 4e 46 5f 46 49 4c 45 29 3b 00 00 00 17 09 09 66 20 3d g/%s",.dir,.CONF_FILE);......f.=
c140 20 66 6f 70 65 6e 28 70 61 74 68 2c 20 22 72 22 29 3b 00 00 00 08 09 09 69 66 20 28 66 29 00 00 .fopen(path,."r");......if.(f)..
c160 00 0c 09 09 09 72 65 74 75 72 6e 20 66 3b 00 00 00 02 09 7d 00 00 00 00 00 00 00 1b 09 66 20 3d .....return.f;.....}.........f.=
c180 20 66 6f 70 65 6e 28 43 4f 4e 46 5f 46 49 4c 45 2c 20 22 72 22 29 3b 00 00 00 0a 09 72 65 74 75 .fopen(CONF_FILE,."r");.....retu
c1a0 72 6e 20 66 3b 00 00 00 01 7d 00 00 00 00 00 00 00 1d 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 rn.f;....}........static.void.re
c1c0 61 64 5f 63 6f 6e 66 69 67 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 19 09 46 49 4c 45 20 2a 66 ad_config(void)....{.....FILE.*f
c1e0 20 3d 20 6f 70 65 6e 5f 63 6f 6e 66 69 67 28 29 3b 00 00 00 20 09 63 68 61 72 20 2a 6b 65 79 2c .=.open_config();.....char.*key,
c200 20 2a 76 61 6c 2c 20 2a 70 2c 20 6c 69 6e 65 5b 35 31 32 5d 3b 00 00 00 28 09 76 6f 69 64 20 28 .*val,.*p,.line[512];...(.void.(
c220 2a 73 65 63 74 69 6f 6e 29 28 63 68 61 72 20 2a 2c 20 63 68 61 72 20 2a 29 20 3d 20 4e 55 4c 4c *section)(char.*,.char.*).=.NULL
c240 3b 00 00 00 00 00 00 00 0f 09 69 66 20 28 66 20 3d 3d 20 4e 55 4c 4c 29 00 00 00 09 09 09 72 65 ;.........if.(f.==.NULL)......re
c260 74 75 72 6e 3b 00 00 00 00 00 00 00 27 09 77 68 69 6c 65 20 28 66 67 65 74 73 28 6c 69 6e 65 2c turn;.......'.while.(fgets(line,
c280 20 73 69 7a 65 6f 66 28 6c 69 6e 65 29 2c 20 66 29 29 20 7b 00 00 00 0d 09 09 6b 65 79 20 3d 20 .sizeof(line),.f)).{......key.=.
c2a0 6c 69 6e 65 3b 00 00 00 17 09 09 77 68 69 6c 65 20 28 69 73 62 6c 61 6e 6b 28 2a 6b 65 79 29 29 line;......while.(isblank(*key))
c2c0 00 00 00 09 09 09 09 2b 2b 6b 65 79 3b 00 00 00 00 00 00 00 11 09 09 73 77 69 74 63 68 20 28 2a .......++key;..........switch.(*
c2e0 6b 65 79 29 20 7b 00 00 00 0c 09 09 63 61 73 65 20 27 5c 6e 27 3a 00 00 00 0b 09 09 63 61 73 65 key).{......case.'\n':......case
c300 20 27 23 27 3a 00 00 00 0c 09 09 09 63 6f 6e 74 69 6e 75 65 3b 00 00 00 0b 09 09 63 61 73 65 20 .'#':.......continue;......case.
c320 27 5b 27 3a 00 00 00 18 09 09 09 70 20 3d 20 73 74 72 63 68 72 28 6b 65 79 2c 20 27 5d 27 29 3b '[':.......p.=.strchr(key,.']');
c340 00 00 00 11 09 09 09 69 66 20 28 70 20 3d 3d 20 4e 55 4c 4c 29 00 00 00 0d 09 09 09 09 63 6f 6e .......if.(p.==.NULL)........con
c360 74 69 6e 75 65 3b 00 00 00 0d 09 09 09 2a 70 20 3d 20 27 5c 30 27 3b 00 00 00 09 09 09 09 2b 2b tinue;.......*p.=.'\0';.......++
c380 6b 65 79 3b 00 00 00 00 00 00 00 21 09 09 09 69 66 20 28 73 74 72 63 6d 70 28 6b 65 79 2c 20 22 key;.......!...if.(strcmp(key,."
c3a0 63 68 69 6c 64 22 29 20 3d 3d 20 30 29 00 00 00 1c 09 09 09 09 73 65 63 74 69 6f 6e 20 3d 20 26 child").==.0)........section.=.&
c3c0 63 68 69 6c 64 5f 63 6f 6e 66 69 67 3b 00 00 00 27 09 09 09 65 6c 73 65 20 69 66 20 28 73 74 72 child_config;...'...else.if.(str
c3e0 63 6d 70 28 6b 65 79 2c 20 22 77 69 6e 64 6f 77 22 29 20 3d 3d 20 30 29 00 00 00 1d 09 09 09 09 cmp(key,."window").==.0)........
c400 73 65 63 74 69 6f 6e 20 3d 20 26 77 69 6e 64 6f 77 5f 63 6f 6e 66 69 67 3b 00 00 00 29 09 09 09 section.=.&window_config;...)...
c420 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d 70 28 6b 65 79 2c 20 22 74 65 72 6d 69 6e 61 6c 22 29 else.if.(strcmp(key,."terminal")
c440 20 3d 3d 20 30 29 00 00 00 1f 09 09 09 09 73 65 63 74 69 6f 6e 20 3d 20 26 74 65 72 6d 69 6e 61 .==.0)........section.=.&termina
c460 6c 5f 63 6f 6e 66 69 67 3b 00 00 00 25 09 09 09 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d 70 28 l_config;...%...else.if.(strcmp(
c480 6b 65 79 2c 20 22 66 6f 6e 74 22 29 20 3d 3d 20 30 29 00 00 00 1b 09 09 09 09 73 65 63 74 69 6f key,."font").==.0)........sectio
c4a0 6e 20 3d 20 26 66 6f 6e 74 5f 63 6f 6e 66 69 67 3b 00 00 00 25 09 09 09 65 6c 73 65 20 69 66 20 n.=.&font_config;...%...else.if.
c4c0 28 73 74 72 63 6d 70 28 6b 65 79 2c 20 22 62 69 6e 64 22 29 20 3d 3d 20 30 29 00 00 00 1b 09 09 (strcmp(key,."bind").==.0)......
c4e0 09 09 73 65 63 74 69 6f 6e 20 3d 20 26 62 69 6e 64 5f 63 6f 6e 66 69 67 3b 00 00 00 27 09 09 09 ..section.=.&bind_config;...'...
c500 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d 70 28 6b 65 79 2c 20 22 63 6f 6c 6f 72 73 22 29 20 3d else.if.(strcmp(key,."colors").=
c520 3d 20 30 29 00 00 00 1c 09 09 09 09 73 65 63 74 69 6f 6e 20 3d 20 26 63 6f 6c 6f 72 5f 63 6f 6e =.0)........section.=.&color_con
c540 66 69 67 3b 00 00 00 07 09 09 09 65 6c 73 65 00 00 00 13 09 09 09 09 73 65 63 74 69 6f 6e 20 3d fig;.......else........section.=
c560 20 4e 55 4c 4c 3b 00 00 00 00 00 00 00 0c 09 09 09 63 6f 6e 74 69 6e 75 65 3b 00 00 00 0a 09 09 .NULL;...........continue;......
c580 64 65 66 61 75 6c 74 3a 00 00 00 1a 09 09 09 76 61 6c 20 3d 20 73 74 72 63 68 72 28 6b 65 79 2c default:.......val.=.strchr(key,
c5a0 20 27 3d 27 29 3b 00 00 00 13 09 09 09 69 66 20 28 76 61 6c 20 3d 3d 20 4e 55 4c 4c 29 00 00 00 .'=');.......if.(val.==.NULL)...
c5c0 0d 09 09 09 09 63 6f 6e 74 69 6e 75 65 3b 00 00 00 00 00 00 00 0f 09 09 09 70 20 3d 20 76 61 6c .....continue;...........p.=.val
c5e0 20 2d 20 31 3b 00 00 00 23 09 09 09 77 68 69 6c 65 20 28 69 73 62 6c 61 6e 6b 28 2a 70 29 20 26 .-.1;...#...while.(isblank(*p).&
c600 26 20 70 20 3e 20 6b 65 79 29 20 7b 00 00 00 0e 09 09 09 09 2a 70 20 3d 20 27 5c 30 27 3b 00 00 &.p.>.key).{........*p.=.'\0';..
c620 00 08 09 09 09 09 2d 2d 70 3b 00 00 00 04 09 09 09 7d 00 00 00 00 00 00 00 11 09 09 09 76 61 6c ......--p;.......}...........val
c640 5b 30 5d 20 3d 20 27 5c 30 27 3b 00 00 00 09 09 09 09 2b 2b 76 61 6c 3b 00 00 00 18 09 09 09 77 [0].=.'\0';.......++val;.......w
c660 68 69 6c 65 20 28 69 73 62 6c 61 6e 6b 28 2a 76 61 6c 29 29 00 00 00 0a 09 09 09 09 2b 2b 76 61 hile.(isblank(*val))........++va
c680 6c 3b 00 00 00 00 00 00 00 1d 09 09 09 70 20 3d 20 76 61 6c 20 2b 20 73 74 72 6c 65 6e 28 76 61 l;...........p.=.val.+.strlen(va
c6a0 6c 29 20 2d 20 31 3b 00 00 00 23 09 09 09 77 68 69 6c 65 20 28 69 73 73 70 61 63 65 28 2a 70 29 l).-.1;...#...while.(isspace(*p)
c6c0 20 26 26 20 70 20 3e 20 76 61 6c 29 20 7b 00 00 00 0e 09 09 09 09 2a 70 20 3d 20 27 5c 30 27 3b .&&.p.>.val).{........*p.=.'\0';
c6e0 00 00 00 08 09 09 09 09 2d 2d 70 3b 00 00 00 04 09 09 09 7d 00 00 00 00 00 00 00 0f 09 09 09 69 ........--p;.......}...........i
c700 66 20 28 73 65 63 74 69 6f 6e 29 00 00 00 16 09 09 09 09 73 65 63 74 69 6f 6e 28 6b 65 79 2c 20 f.(section)........section(key,.
c720 76 61 6c 29 3b 00 00 00 03 09 09 7d 00 00 00 02 09 7d 00 00 00 00 00 00 00 0b 09 66 63 6c 6f 73 val);......}.....}.........fclos
c740 65 28 66 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 17 73 74 61 74 69 63 20 76 6f 69 64 20 75 73 e(f);....}........static.void.us
c760 61 67 65 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 3a 09 70 72 69 6e 74 66 28 22 75 73 61 67 65 age(void)....{...:.printf("usage
c780 3a 20 68 61 76 6f 63 20 5b 6f 70 74 69 6f 6e 2e 2e 2e 5d 20 5b 70 72 6f 67 72 61 6d 20 5b 61 72 :.havoc.[option...].[program.[ar
c7a0 67 73 2e 2e 2e 5d 5d 5c 6e 5c 6e 22 00 00 00 32 09 20 20 20 20 20 20 20 22 20 20 2d 63 20 3c 66 gs...]]\n\n"...2........"..-c.<f
c7c0 69 6c 65 3e 20 20 53 70 65 63 69 66 79 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 66 69 6c 65 ile>..Specify.configuration.file
c7e0 2e 22 00 00 00 2b 09 09 09 20 20 20 20 20 22 20 55 73 65 20 65 6d 70 74 79 20 73 74 72 69 6e 67 ."...+........".Use.empty.string
c800 20 66 6f 72 20 64 65 66 61 75 6c 74 73 2e 5c 6e 22 00 00 00 48 09 20 20 20 20 20 20 20 22 20 20 .for.defaults.\n"...H........"..
c820 2d 6c 20 20 20 20 20 20 20 20 20 4b 65 65 70 20 77 69 6e 64 6f 77 20 6f 70 65 6e 20 61 66 74 65 -l.........Keep.window.open.afte
c840 72 20 74 68 65 20 63 68 69 6c 64 20 70 72 6f 63 65 73 73 20 65 78 69 74 73 2e 5c 6e 22 00 00 00 r.the.child.process.exits.\n"...
c860 3e 09 20 20 20 20 20 20 20 22 20 20 2d 73 20 3c 6e 61 6d 65 3e 20 20 57 61 79 6c 61 6e 64 20 64 >........"..-s.<name>..Wayland.d
c880 69 73 70 6c 61 79 20 73 65 72 76 65 72 20 74 6f 20 63 6f 6e 6e 65 63 74 20 74 6f 2e 5c 6e 22 00 isplay.server.to.connect.to.\n".
c8a0 00 00 44 09 20 20 20 20 20 20 20 22 20 20 2d 69 20 3c 69 64 3e 20 20 20 20 57 61 79 6c 61 6e 64 ..D........"..-i.<id>....Wayland
c8c0 20 61 70 70 20 49 44 20 74 6f 20 75 73 65 20 69 6e 73 74 65 61 64 20 6f 66 20 5c 22 68 61 76 6f .app.ID.to.use.instead.of.\"havo
c8e0 63 5c 22 2e 5c 6e 22 00 00 00 32 09 20 20 20 20 20 20 20 22 20 20 2d 76 20 20 20 20 20 20 20 20 c\".\n"...2........"..-v........
c900 20 53 68 6f 77 20 76 65 72 73 69 6f 6e 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 5c 6e 22 00 00 00 .Show.version.information.\n"...
c920 2a 09 20 20 20 20 20 20 20 22 20 20 2d 68 20 20 20 20 20 20 20 20 20 53 68 6f 77 20 74 68 69 73 *........"..-h.........Show.this
c940 20 68 65 6c 70 2e 5c 6e 22 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 1c 23 64 65 66 69 6e 65 20 .help.\n");....}........#define.
c960 74 61 6b 65 28 73 29 20 28 2a 28 61 72 67 76 2b 31 29 20 5c 00 00 00 0c 09 3f 20 2a 2b 2b 61 72 take(s).(*(argv+1).\.....?.*++ar
c980 67 76 20 5c 00 00 00 42 09 3a 20 28 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 6d 69 73 gv.\...B.:.(fprintf(stderr,."mis
c9a0 73 69 6e 67 20 22 20 73 20 22 20 61 66 74 65 72 20 6f 70 74 69 6f 6e 20 27 25 73 27 5c 6e 22 2c sing.".s.".after.option.'%s'\n",
c9c0 20 2a 61 72 67 76 29 2c 20 5c 00 00 00 1d 09 20 20 65 78 69 74 28 45 58 49 54 5f 46 41 49 4c 55 .*argv),.\.......exit(EXIT_FAILU
c9e0 52 45 29 2c 20 4e 55 4c 4c 29 29 00 00 00 00 00 00 00 20 69 6e 74 20 6d 61 69 6e 28 69 6e 74 20 RE),.NULL))........int.main(int.
ca00 61 72 67 63 2c 20 63 68 61 72 20 2a 61 72 67 76 5b 5d 29 00 00 00 01 7b 00 00 00 13 09 69 6e 74 argc,.char.*argv[])....{.....int
ca20 20 6e 2c 20 69 2c 20 72 65 74 20 3d 20 31 3b 00 00 00 13 09 73 74 72 75 63 74 20 62 69 6e 64 69 .n,.i,.ret.=.1;.....struct.bindi
ca40 6e 67 20 2a 62 3b 00 00 00 00 00 00 00 29 09 77 68 69 6c 65 20 28 2b 2b 61 72 67 76 2c 20 2a 61 ng.*b;.......).while.(++argv,.*a
ca60 72 67 76 20 26 26 20 2a 2a 61 72 67 76 20 3d 3d 20 27 2d 27 29 20 7b 00 00 00 06 72 65 74 72 79 rgv.&&.**argv.==.'-').{....retry
ca80 3a 00 00 00 15 09 09 73 77 69 74 63 68 20 28 2a 2b 2b 2a 61 72 67 76 29 20 7b 00 00 00 0b 09 09 :......switch.(*++*argv).{......
caa0 63 61 73 65 20 27 63 27 3a 00 00 00 2e 09 09 09 74 65 72 6d 2e 6f 70 74 2e 63 6f 6e 66 69 67 20 case.'c':.......term.opt.config.
cac0 3d 20 74 61 6b 65 28 22 63 6f 6e 66 69 67 20 66 69 6c 65 20 70 61 74 68 22 29 3b 00 00 00 09 09 =.take("config.file.path");.....
cae0 09 09 62 72 65 61 6b 3b 00 00 00 0b 09 09 63 61 73 65 20 27 6c 27 3a 00 00 00 1a 09 09 09 74 65 ..break;......case.'l':.......te
cb00 72 6d 2e 6f 70 74 2e 6c 69 6e 67 65 72 20 3d 20 74 72 75 65 3b 00 00 00 09 09 09 09 62 72 65 61 rm.opt.linger.=.true;.......brea
cb20 6b 3b 00 00 00 0b 09 09 63 61 73 65 20 27 73 27 3a 00 00 00 35 09 09 09 74 65 72 6d 2e 6f 70 74 k;......case.'s':...5...term.opt
cb40 2e 64 69 73 70 6c 61 79 20 3d 20 74 61 6b 65 28 22 64 69 73 70 6c 61 79 20 6e 61 6d 65 20 6f 72 .display.=.take("display.name.or
cb60 20 73 6f 63 6b 65 74 22 29 3b 00 00 00 09 09 09 09 62 72 65 61 6b 3b 00 00 00 0b 09 09 63 61 73 .socket");.......break;......cas
cb80 65 20 27 69 27 3a 00 00 00 2c 09 09 09 74 65 72 6d 2e 6f 70 74 2e 61 70 70 5f 69 64 20 3d 20 74 e.'i':...,...term.opt.app_id.=.t
cba0 61 6b 65 28 22 77 61 79 6c 61 6e 64 20 61 70 70 20 69 64 22 29 3b 00 00 00 09 09 09 09 62 72 65 ake("wayland.app.id");.......bre
cbc0 61 6b 3b 00 00 00 0b 09 09 63 61 73 65 20 27 76 27 3a 00 00 00 21 09 09 09 70 72 69 6e 74 66 28 ak;......case.'v':...!...printf(
cbe0 22 68 61 76 6f 63 20 22 20 56 45 52 53 49 4f 4e 20 22 5c 6e 22 29 3b 00 00 00 0c 09 09 09 72 65 "havoc.".VERSION."\n");.......re
cc00 74 75 72 6e 20 30 3b 00 00 00 0b 09 09 63 61 73 65 20 27 68 27 3a 00 00 00 0b 09 09 09 75 73 61 turn.0;......case.'h':.......usa
cc20 67 65 28 29 3b 00 00 00 0c 09 09 09 72 65 74 75 72 6e 20 30 3b 00 00 00 0b 09 09 63 61 73 65 20 ge();.......return.0;......case.
cc40 27 2d 27 3a 00 00 00 0e 09 09 09 67 6f 74 6f 20 72 65 74 72 79 3b 00 00 00 0a 09 09 64 65 66 61 '-':.......goto.retry;......defa
cc60 75 6c 74 3a 00 00 00 36 09 09 09 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 75 6e 72 65 ult:...6...fprintf(stderr,."unre
cc80 63 6f 67 6e 69 7a 65 64 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 6f 70 74 69 6f 6e 20 22 00 00 cognized.command.line.option."..
cca0 00 15 09 09 09 09 22 27 25 73 27 5c 6e 22 2c 20 2a 61 72 67 76 29 3b 00 00 00 16 09 09 09 65 78 ......"'%s'\n",.*argv);.......ex
ccc0 69 74 28 45 58 49 54 5f 46 41 49 4c 55 52 45 29 3b 00 00 00 03 09 09 7d 00 00 00 02 09 7d 00 00 it(EXIT_FAILURE);......}.....}..
cce0 00 0f 09 72 65 61 64 5f 63 6f 6e 66 69 67 28 29 3b 00 00 00 11 09 73 65 74 75 70 5f 70 74 79 28 ...read_config();.....setup_pty(
cd00 61 72 67 76 29 3b 00 00 00 00 00 00 00 37 23 64 65 66 69 6e 65 20 66 61 69 6c 28 65 2c 20 73 29 argv);.......7#define.fail(e,.s)
cd20 20 7b 20 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 73 20 22 5c 6e 22 29 3b 20 67 6f 74 6f .{.fprintf(stderr,.s."\n");.goto
cd40 20 65 3b 20 7d 00 00 00 00 00 00 00 36 09 69 66 20 28 66 6f 6e 74 5f 69 6e 69 74 28 74 65 72 6d .e;.}.......6.if.(font_init(term
cd60 2e 63 66 67 2e 66 6f 6e 74 5f 73 69 7a 65 2c 20 74 65 72 6d 2e 63 66 67 2e 66 6f 6e 74 5f 70 61 .cfg.font_size,.term.cfg.font_pa
cd80 74 68 2c 00 00 00 29 09 09 20 20 20 20 20 20 26 74 65 72 6d 2e 63 77 69 64 74 68 2c 20 26 74 65 th,...)........&term.cwidth,.&te
cda0 72 6d 2e 63 68 65 69 67 68 74 29 20 3c 20 30 29 00 00 00 25 09 09 66 61 69 6c 28 65 66 6f 6e 74 rm.cheight).<.0)...%..fail(efont
cdc0 2c 20 22 63 6f 75 6c 64 20 6e 6f 74 20 6c 6f 61 64 20 66 6f 6e 74 22 29 3b 00 00 00 00 00 00 00 ,."could.not.load.font");.......
cde0 36 09 74 65 72 6d 2e 78 6b 62 5f 63 74 78 20 3d 20 78 6b 62 5f 63 6f 6e 74 65 78 74 5f 6e 65 77 6.term.xkb_ctx.=.xkb_context_new
ce00 28 58 4b 42 5f 43 4f 4e 54 45 58 54 5f 4e 4f 5f 46 4c 41 47 53 29 3b 00 00 00 1a 09 69 66 20 28 (XKB_CONTEXT_NO_FLAGS);.....if.(
ce20 74 65 72 6d 2e 78 6b 62 5f 63 74 78 20 3d 3d 20 4e 55 4c 4c 29 00 00 00 2d 09 09 66 61 69 6c 28 term.xkb_ctx.==.NULL)...-..fail(
ce40 65 78 6b 62 2c 20 22 66 61 69 6c 65 64 20 74 6f 20 63 72 65 61 74 65 20 78 6b 62 20 63 6f 6e 74 exkb,."failed.to.create.xkb.cont
ce60 65 78 74 22 29 3b 00 00 00 00 00 00 00 35 09 74 65 72 6d 2e 64 69 73 70 6c 61 79 20 3d 20 77 6c ext");.......5.term.display.=.wl
ce80 5f 64 69 73 70 6c 61 79 5f 63 6f 6e 6e 65 63 74 28 74 65 72 6d 2e 6f 70 74 2e 64 69 73 70 6c 61 _display_connect(term.opt.displa
cea0 79 29 3b 00 00 00 1a 09 69 66 20 28 74 65 72 6d 2e 64 69 73 70 6c 61 79 20 3d 3d 20 4e 55 4c 4c y);.....if.(term.display.==.NULL
cec0 29 00 00 00 31 09 09 66 61 69 6c 28 65 63 6f 6e 6e 65 63 74 2c 20 22 63 6f 75 6c 64 20 6e 6f 74 )...1..fail(econnect,."could.not
cee0 20 63 6f 6e 6e 65 63 74 20 74 6f 20 64 69 73 70 6c 61 79 22 29 3b 00 00 00 00 00 00 00 37 09 74 .connect.to.display");.......7.t
cf00 65 72 6d 2e 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 erm.registry.=.wl_display_get_re
cf20 67 69 73 74 72 79 28 74 65 72 6d 2e 64 69 73 70 6c 61 79 29 3b 00 00 00 3e 09 77 6c 5f 72 65 67 gistry(term.display);...>.wl_reg
cf40 69 73 74 72 79 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 74 65 72 6d 2e 72 65 67 69 73 74 72 79 istry_add_listener(term.registry
cf60 2c 20 26 72 65 67 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 00 00 00 00 24 09 ,.&reg_listener,.NULL);.......$.
cf80 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 74 65 72 6d 2e 64 69 73 70 6c 61 wl_display_roundtrip(term.displa
cfa0 79 29 3b 00 00 00 1b 09 69 66 20 28 21 74 65 72 6d 2e 63 70 20 7c 7c 20 21 74 65 72 6d 2e 73 68 y);.....if.(!term.cp.||.!term.sh
cfc0 6d 29 00 00 00 2d 09 09 66 61 69 6c 28 65 67 6c 6f 62 61 6c 73 2c 20 22 6d 69 73 73 69 6e 67 20 m)...-..fail(eglobals,."missing.
cfe0 72 65 71 75 69 72 65 64 20 67 6c 6f 62 61 6c 73 22 29 3b 00 00 00 13 09 69 66 20 28 21 74 65 72 required.globals");.....if.(!ter
d000 6d 2e 77 6d 5f 62 61 73 65 29 00 00 00 40 09 09 66 61 69 6c 28 65 67 6c 6f 62 61 6c 73 2c 20 22 m.wm_base)...@..fail(eglobals,."
d020 79 6f 75 72 20 63 6f 6d 70 6f 73 69 74 6f 72 20 64 6f 65 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 your.compositor.does.not.support
d040 20 78 64 67 5f 77 6d 5f 62 61 73 65 2c 22 00 00 00 34 09 09 09 20 20 20 20 20 20 20 22 20 6d 61 .xdg_wm_base,"...4..........".ma
d060 6b 65 20 73 75 72 65 20 79 6f 75 20 68 61 76 65 20 74 68 65 20 6c 61 74 65 73 74 20 76 65 72 73 ke.sure.you.have.the.latest.vers
d080 69 6f 6e 22 29 3b 00 00 00 00 00 00 00 24 09 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 ion");.......$.wl_display_roundt
d0a0 72 69 70 28 74 65 72 6d 2e 64 69 73 70 6c 61 79 29 3b 00 00 00 1c 09 69 66 20 28 74 65 72 6d 2e rip(term.display);.....if.(term.
d0c0 73 68 6d 5f 61 72 67 62 20 3d 3d 20 66 61 6c 73 65 29 00 00 00 39 09 09 66 61 69 6c 28 65 67 6c shm_argb.==.false)...9..fail(egl
d0e0 6f 62 61 6c 73 2c 20 22 6d 69 73 73 69 6e 67 20 72 65 71 75 69 72 65 64 20 41 52 47 42 38 38 38 obals,."missing.required.ARGB888
d100 38 20 73 68 6d 20 66 6f 72 6d 61 74 22 29 3b 00 00 00 00 00 00 00 0f 09 63 75 72 73 6f 72 5f 69 8.shm.format");.........cursor_i
d120 6e 69 74 28 29 3b 00 00 00 00 00 00 00 26 09 69 66 20 28 74 73 6d 5f 73 63 72 65 65 6e 5f 6e 65 nit();.......&.if.(tsm_screen_ne
d140 77 28 26 74 65 72 6d 2e 73 63 72 65 65 6e 29 20 3c 20 30 29 00 00 00 2c 09 09 66 61 69 6c 28 65 w(&term.screen).<.0)...,..fail(e
d160 74 73 6d 2c 20 22 66 61 69 6c 65 64 20 74 6f 20 63 72 65 61 74 65 20 74 73 6d 20 73 63 72 65 65 tsm,."failed.to.create.tsm.scree
d180 6e 22 29 3b 00 00 00 39 09 74 73 6d 5f 73 63 72 65 65 6e 5f 73 65 74 5f 6d 61 78 5f 73 62 28 74 n");...9.tsm_screen_set_max_sb(t
d1a0 65 72 6d 2e 73 63 72 65 65 6e 2c 20 74 65 72 6d 2e 63 66 67 2e 73 63 72 6f 6c 6c 62 61 63 6b 29 erm.screen,.term.cfg.scrollback)
d1c0 3b 00 00 00 00 00 00 00 38 09 69 66 20 28 74 73 6d 5f 76 74 65 5f 6e 65 77 28 26 74 65 72 6d 2e ;.......8.if.(tsm_vte_new(&term.
d1e0 76 74 65 2c 20 74 65 72 6d 2e 73 63 72 65 65 6e 2c 20 77 63 62 2c 20 4e 55 4c 4c 29 20 3c 20 30 vte,.term.screen,.wcb,.NULL).<.0
d200 29 00 00 00 29 09 09 66 61 69 6c 28 65 76 74 65 2c 20 22 66 61 69 6c 65 64 20 74 6f 20 63 72 65 )...)..fail(evte,."failed.to.cre
d220 61 74 65 20 74 73 6d 20 76 74 65 22 29 3b 00 00 00 30 09 74 73 6d 5f 76 74 65 5f 73 65 74 5f 70 ate.tsm.vte");...0.tsm_vte_set_p
d240 61 6c 65 74 74 65 28 74 65 72 6d 2e 76 74 65 2c 20 74 65 72 6d 2e 63 66 67 2e 63 6f 6c 6f 72 73 alette(term.vte,.term.cfg.colors
d260 29 3b 00 00 00 00 00 00 00 33 09 74 65 72 6d 2e 73 75 72 66 20 3d 20 77 6c 5f 63 6f 6d 70 6f 73 );.......3.term.surf.=.wl_compos
d280 69 74 6f 72 5f 63 72 65 61 74 65 5f 73 75 72 66 61 63 65 28 74 65 72 6d 2e 63 70 29 3b 00 00 00 itor_create_surface(term.cp);...
d2a0 17 09 69 66 20 28 74 65 72 6d 2e 73 75 72 66 20 3d 3d 20 4e 55 4c 4c 29 00 00 00 2a 09 09 66 61 ..if.(term.surf.==.NULL)...*..fa
d2c0 69 6c 28 65 73 75 72 66 2c 20 22 63 6f 75 6c 64 20 6e 6f 74 20 63 72 65 61 74 65 20 73 75 72 66 il(esurf,."could.not.create.surf
d2e0 61 63 65 22 29 3b 00 00 00 00 00 00 00 45 09 74 65 72 6d 2e 78 64 67 73 75 72 66 20 3d 20 78 64 ace");.......E.term.xdgsurf.=.xd
d300 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 74 65 72 6d 2e 77 g_wm_base_get_xdg_surface(term.w
d320 6d 5f 62 61 73 65 2c 20 74 65 72 6d 2e 73 75 72 66 29 3b 00 00 00 1a 09 69 66 20 28 74 65 72 6d m_base,.term.surf);.....if.(term
d340 2e 78 64 67 73 75 72 66 20 3d 3d 20 4e 55 4c 4c 29 00 00 00 31 09 09 66 61 69 6c 28 65 78 64 67 .xdgsurf.==.NULL)...1..fail(exdg
d360 73 75 72 66 2c 20 22 63 6f 75 6c 64 20 6e 6f 74 20 63 72 65 61 74 65 20 78 64 67 5f 73 75 72 66 surf,."could.not.create.xdg_surf
d380 61 63 65 22 29 3b 00 00 00 3e 09 78 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 ace");...>.xdg_surface_add_liste
d3a0 6e 65 72 28 74 65 72 6d 2e 78 64 67 73 75 72 66 2c 20 26 73 75 72 66 5f 6c 69 73 74 65 6e 65 72 ner(term.xdgsurf,.&surf_listener
d3c0 2c 20 4e 55 4c 4c 29 3b 00 00 00 00 00 00 00 36 09 74 65 72 6d 2e 74 6f 70 6c 76 6c 20 3d 20 78 ,.NULL);.......6.term.toplvl.=.x
d3e0 64 67 5f 73 75 72 66 61 63 65 5f 67 65 74 5f 74 6f 70 6c 65 76 65 6c 28 74 65 72 6d 2e 78 64 67 dg_surface_get_toplevel(term.xdg
d400 73 75 72 66 29 3b 00 00 00 19 09 69 66 20 28 74 65 72 6d 2e 74 6f 70 6c 76 6c 20 3d 3d 20 4e 55 surf);.....if.(term.toplvl.==.NU
d420 4c 4c 29 00 00 00 31 09 09 66 61 69 6c 28 65 74 6f 70 6c 76 6c 2c 20 22 63 6f 75 6c 64 20 6e 6f LL)...1..fail(etoplvl,."could.no
d440 74 20 63 72 65 61 74 65 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 22 29 3b 00 00 00 40 09 78 64 67 t.create.xdg_toplevel");...@.xdg
d460 5f 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 74 65 72 6d 2e 74 6f 70 6c _toplevel_add_listener(term.topl
d480 76 6c 2c 20 26 74 6f 70 6c 76 6c 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 2e vl,.&toplvl_listener,.NULL);....
d4a0 09 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 74 69 74 6c 65 28 74 65 72 6d 2e 74 6f 70 .xdg_toplevel_set_title(term.top
d4c0 6c 76 6c 2c 20 22 68 61 76 6f 63 22 29 3b 00 00 00 37 09 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f lvl,."havoc");...7.xdg_toplevel_
d4e0 73 65 74 5f 61 70 70 5f 69 64 28 74 65 72 6d 2e 74 6f 70 6c 76 6c 2c 20 74 65 72 6d 2e 6f 70 74 set_app_id(term.toplvl,.term.opt
d500 2e 61 70 70 5f 69 64 29 3b 00 00 00 00 00 00 00 0e 09 73 65 74 75 70 5f 64 65 63 6f 28 29 3b 00 .app_id);.........setup_deco();.
d520 00 00 00 00 00 00 1e 09 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 74 65 72 6d 2e 73 ........wl_surface_commit(term.s
d540 75 72 66 29 3b 00 00 00 18 09 74 65 72 6d 2e 63 61 6e 5f 72 65 64 72 61 77 20 3d 20 74 72 75 65 urf);.....term.can_redraw.=.true
d560 3b 00 00 00 00 00 00 00 1b 09 74 65 72 6d 2e 72 65 70 65 61 74 2e 69 6e 74 65 72 76 61 6c 20 3d ;.........term.repeat.interval.=
d580 20 2d 31 3b 00 00 00 18 09 74 65 72 6d 2e 72 65 70 65 61 74 2e 64 65 6c 61 79 20 3d 20 2d 31 3b .-1;.....term.repeat.delay.=.-1;
d5a0 00 00 00 1a 09 74 65 72 6d 2e 72 65 70 65 61 74 2e 74 69 6d 65 6f 75 74 20 3d 20 2d 31 3b 00 00 .....term.repeat.timeout.=.-1;..
d5c0 00 00 00 00 00 1e 09 69 66 20 28 74 65 72 6d 2e 64 5f 64 6d 20 26 26 20 74 65 72 6d 2e 73 65 61 .......if.(term.d_dm.&&.term.sea
d5e0 74 29 20 7b 00 00 00 34 09 09 74 65 72 6d 2e 64 5f 64 20 3d 20 77 6c 5f 64 61 74 61 5f 64 65 76 t).{...4..term.d_d.=.wl_data_dev
d600 69 63 65 5f 6d 61 6e 61 67 65 72 5f 67 65 74 5f 64 61 74 61 5f 64 65 76 69 63 65 28 00 00 00 19 ice_manager_get_data_device(....
d620 09 09 09 74 65 72 6d 2e 64 5f 64 6d 2c 20 74 65 72 6d 2e 73 65 61 74 29 3b 00 00 00 3c 09 09 77 ...term.d_dm,.term.seat);...<..w
d640 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 74 65 72 6d 2e l_data_device_add_listener(term.
d660 64 5f 64 2c 20 26 64 64 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 02 09 7d 00 d_d,.&dd_listener,.NULL);.....}.
d680 00 00 00 00 00 00 1f 09 69 66 20 28 74 65 72 6d 2e 70 73 5f 64 6d 20 26 26 20 74 65 72 6d 2e 73 ........if.(term.ps_dm.&&.term.s
d6a0 65 61 74 29 20 7b 00 00 00 41 09 09 74 65 72 6d 2e 70 73 5f 64 20 3d 20 7a 77 70 5f 70 72 69 6d eat).{...A..term.ps_d.=.zwp_prim
d6c0 61 72 79 5f 73 65 6c 65 63 74 69 6f 6e 5f 64 65 76 69 63 65 5f 6d 61 6e 61 67 65 72 5f 76 31 5f ary_selection_device_manager_v1_
d6e0 67 65 74 5f 64 65 76 69 63 65 28 00 00 00 1a 09 09 09 74 65 72 6d 2e 70 73 5f 64 6d 2c 20 74 65 get_device(.......term.ps_dm,.te
d700 72 6d 2e 73 65 61 74 29 3b 00 00 00 39 09 09 7a 77 70 5f 70 72 69 6d 61 72 79 5f 73 65 6c 65 63 rm.seat);...9..zwp_primary_selec
d720 74 69 6f 6e 5f 64 65 76 69 63 65 5f 76 31 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 74 65 72 6d tion_device_v1_add_listener(term
d740 2e 70 73 5f 64 2c 00 00 00 1a 09 09 09 09 09 09 09 20 20 20 20 20 26 70 73 64 5f 6c 69 73 74 65 .ps_d,................&psd_liste
d760 6e 65 72 2c 00 00 00 12 09 09 09 09 09 09 09 20 20 20 20 20 4e 55 4c 4c 29 3b 00 00 00 02 09 7d ner,................NULL);.....}
d780 00 00 00 00 00 00 00 17 09 74 65 72 6d 2e 70 61 73 74 65 2e 66 64 5b 30 5d 20 3d 20 2d 31 3b 00 .........term.paste.fd[0].=.-1;.
d7a0 00 00 00 00 00 00 27 09 73 74 72 75 63 74 20 70 6f 6c 6c 66 64 20 70 6f 6c 6c 66 64 73 5b 4e 55 ......'.struct.pollfd.pollfds[NU
d7c0 4d 5f 50 4f 4c 4c 46 44 53 5d 20 3d 20 7b 00 00 00 12 09 09 5b 45 56 5f 44 49 53 50 4c 41 59 5d M_POLLFDS].=.{......[EV_DISPLAY]
d7e0 20 3d 20 7b 00 00 00 29 09 09 09 2e 66 64 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f .=.{...)....fd.=.wl_display_get_
d800 66 64 28 74 65 72 6d 2e 64 69 73 70 6c 61 79 29 2c 00 00 00 14 09 09 09 2e 65 76 65 6e 74 73 20 fd(term.display),........events.
d820 3d 20 50 4f 4c 4c 49 4e 2c 00 00 00 04 09 09 7d 2c 00 00 00 0e 09 09 5b 45 56 5f 54 54 59 5d 20 =.POLLIN,......},......[EV_TTY].
d840 3d 20 7b 00 00 00 18 09 09 09 2e 66 64 20 3d 20 74 65 72 6d 2e 6d 61 73 74 65 72 5f 66 64 2c 00 =.{........fd.=.term.master_fd,.
d860 00 00 14 09 09 09 2e 65 76 65 6e 74 73 20 3d 20 50 4f 4c 4c 49 4e 2c 00 00 00 04 09 09 7d 2c 00 .......events.=.POLLIN,......},.
d880 00 00 10 09 09 5b 45 56 5f 50 41 53 54 45 5d 20 3d 20 7b 00 00 00 1a 09 09 09 2e 66 64 20 3d 20 .....[EV_PASTE].=.{........fd.=.
d8a0 74 65 72 6d 2e 70 61 73 74 65 2e 66 64 5b 30 5d 2c 00 00 00 14 09 09 09 2e 65 76 65 6e 74 73 20 term.paste.fd[0],........events.
d8c0 3d 20 50 4f 4c 4c 49 4e 2c 00 00 00 04 09 09 7d 2c 00 00 00 03 09 7d 3b 00 00 00 00 00 00 00 14 =.POLLIN,......},.....};........
d8e0 09 77 68 69 6c 65 20 28 21 74 65 72 6d 2e 64 69 65 29 20 7b 00 00 00 3d 09 09 69 66 20 28 74 65 .while.(!term.die).{...=..if.(te
d900 72 6d 2e 63 61 6e 5f 72 65 64 72 61 77 20 26 26 20 74 65 72 6d 2e 6e 65 65 64 5f 72 65 64 72 61 rm.can_redraw.&&.term.need_redra
d920 77 20 26 26 20 74 65 72 6d 2e 63 6f 6e 66 69 67 75 72 65 64 29 00 00 00 0c 09 09 09 72 65 64 72 w.&&.term.configured).......redr
d940 61 77 28 29 3b 00 00 00 00 00 00 00 21 09 09 77 6c 5f 64 69 73 70 6c 61 79 5f 66 6c 75 73 68 28 aw();.......!..wl_display_flush(
d960 74 65 72 6d 2e 64 69 73 70 6c 61 79 29 3b 00 00 00 00 00 00 00 2a 09 09 70 6f 6c 6c 66 64 73 5b term.display);.......*..pollfds[
d980 45 56 5f 50 41 53 54 45 5d 2e 66 64 20 3d 20 74 65 72 6d 2e 70 61 73 74 65 2e 66 64 5b 30 5d 3b EV_PASTE].fd.=.term.paste.fd[0];
d9a0 00 00 00 36 09 09 6e 20 3d 20 70 6f 6c 6c 28 70 6f 6c 6c 66 64 73 2c 20 4e 55 4d 5f 50 4f 4c 4c ...6..n.=.poll(pollfds,.NUM_POLL
d9c0 46 44 53 2c 20 74 65 72 6d 2e 72 65 70 65 61 74 2e 74 69 6d 65 6f 75 74 29 3b 00 00 00 0e 09 09 FDS,.term.repeat.timeout);......
d9e0 69 66 20 28 6e 20 3c 20 30 29 20 7b 00 00 00 17 09 09 09 65 72 72 6f 72 28 22 70 6f 6c 6c 20 65 if.(n.<.0).{.......error("poll.e
da00 72 72 6f 72 22 29 3b 00 00 00 0b 09 09 09 61 62 6f 72 74 28 29 3b 00 00 00 03 09 09 7d 00 00 00 rror");.......abort();......}...
da20 00 00 00 00 25 09 09 66 6f 72 20 28 69 20 3d 20 30 3b 20 69 20 3c 20 4e 55 4d 5f 50 4f 4c 4c 46 ....%..for.(i.=.0;.i.<.NUM_POLLF
da40 44 53 3b 20 69 2b 2b 29 20 7b 00 00 00 1b 09 09 09 76 6f 69 64 20 28 2a 66 29 28 69 6e 74 29 20 DS;.i++).{.......void.(*f)(int).
da60 3d 20 70 63 62 5b 69 5d 3b 00 00 00 00 00 00 00 19 09 09 09 66 28 70 6f 6c 6c 66 64 73 5b 69 5d =.pcb[i];...........f(pollfds[i]
da80 2e 72 65 76 65 6e 74 73 29 3b 00 00 00 03 09 09 7d 00 00 00 12 09 09 68 61 6e 64 6c 65 5f 72 65 .revents);......}......handle_re
daa0 70 65 61 74 28 29 3b 00 00 00 02 09 7d 00 00 00 00 00 00 00 09 09 72 65 74 20 3d 20 30 3b 00 00 peat();.....}.........ret.=.0;..
dac0 00 00 00 00 00 1c 09 62 75 66 66 65 72 5f 75 6e 6d 61 70 28 26 74 65 72 6d 2e 62 75 66 5b 30 5d .......buffer_unmap(&term.buf[0]
dae0 29 3b 00 00 00 1c 09 62 75 66 66 65 72 5f 75 6e 6d 61 70 28 26 74 65 72 6d 2e 62 75 66 5b 31 5d );.....buffer_unmap(&term.buf[1]
db00 29 3b 00 00 00 0d 09 69 66 20 28 74 65 72 6d 2e 63 62 29 00 00 00 1f 09 09 77 6c 5f 63 61 6c 6c );.....if.(term.cb)......wl_call
db20 62 61 63 6b 5f 64 65 73 74 72 6f 79 28 74 65 72 6d 2e 63 62 29 3b 00 00 00 00 00 00 00 0e 09 69 back_destroy(term.cb);.........i
db40 66 20 28 74 65 72 6d 2e 64 5f 64 29 00 00 00 23 09 09 77 6c 5f 64 61 74 61 5f 64 65 76 69 63 65 f.(term.d_d)...#..wl_data_device
db60 5f 72 65 6c 65 61 73 65 28 74 65 72 6d 2e 64 5f 64 29 3b 00 00 00 0f 09 69 66 20 28 74 65 72 6d _release(term.d_d);.....if.(term
db80 2e 70 73 5f 64 29 00 00 00 35 09 09 7a 77 70 5f 70 72 69 6d 61 72 79 5f 73 65 6c 65 63 74 69 6f .ps_d)...5..zwp_primary_selectio
dba0 6e 5f 64 65 76 69 63 65 5f 76 31 5f 64 65 73 74 72 6f 79 28 74 65 72 6d 2e 70 73 5f 64 29 3b 00 n_device_v1_destroy(term.ps_d);.
dbc0 00 00 0e 09 69 66 20 28 74 65 72 6d 2e 70 74 72 29 00 00 00 1f 09 09 77 6c 5f 70 6f 69 6e 74 65 ....if.(term.ptr)......wl_pointe
dbe0 72 5f 72 65 6c 65 61 73 65 28 74 65 72 6d 2e 70 74 72 29 3b 00 00 00 0e 09 69 66 20 28 74 65 72 r_release(term.ptr);.....if.(ter
dc00 6d 2e 6b 62 64 29 00 00 00 20 09 09 77 6c 5f 6b 65 79 62 6f 61 72 64 5f 72 65 6c 65 61 73 65 28 m.kbd)......wl_keyboard_release(
dc20 74 65 72 6d 2e 6b 62 64 29 3b 00 00 00 00 00 00 00 14 09 69 66 20 28 74 65 72 6d 2e 64 65 63 6f term.kbd);.........if.(term.deco
dc40 2e 64 65 63 6f 29 00 00 00 36 09 09 7a 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 64 65 63 6f 72 61 .deco)...6..zxdg_toplevel_decora
dc60 74 69 6f 6e 5f 76 31 5f 64 65 73 74 72 6f 79 28 74 65 72 6d 2e 64 65 63 6f 2e 64 65 63 6f 29 3b tion_v1_destroy(term.deco.deco);
dc80 00 00 00 00 00 00 00 17 09 69 66 20 28 74 65 72 6d 2e 64 65 63 6f 2e 6d 61 6e 61 67 65 72 29 00 .........if.(term.deco.manager).
dca0 00 00 38 09 09 7a 78 64 67 5f 64 65 63 6f 72 61 74 69 6f 6e 5f 6d 61 6e 61 67 65 72 5f 76 31 5f ..8..zxdg_decoration_manager_v1_
dcc0 64 65 73 74 72 6f 79 28 74 65 72 6d 2e 64 65 63 6f 2e 6d 61 6e 61 67 65 72 29 3b 00 00 00 00 00 destroy(term.deco.manager);.....
dce0 00 00 23 09 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 64 65 73 74 72 6f 79 28 74 65 72 6d 2e 74 6f ..#.xdg_toplevel_destroy(term.to
dd00 70 6c 76 6c 29 3b 00 00 00 08 65 74 6f 70 6c 76 6c 3a 00 00 00 23 09 78 64 67 5f 73 75 72 66 61 plvl);....etoplvl:...#.xdg_surfa
dd20 63 65 5f 64 65 73 74 72 6f 79 28 74 65 72 6d 2e 78 64 67 73 75 72 66 29 3b 00 00 00 09 65 78 64 ce_destroy(term.xdgsurf);....exd
dd40 67 73 75 72 66 3a 00 00 00 1f 09 77 6c 5f 73 75 72 66 61 63 65 5f 64 65 73 74 72 6f 79 28 74 65 gsurf:.....wl_surface_destroy(te
dd60 72 6d 2e 73 75 72 66 29 3b 00 00 00 06 65 73 75 72 66 3a 00 00 00 19 09 74 73 6d 5f 76 74 65 5f rm.surf);....esurf:.....tsm_vte_
dd80 75 6e 72 65 66 28 74 65 72 6d 2e 76 74 65 29 3b 00 00 00 05 65 76 74 65 3a 00 00 00 1f 09 74 73 unref(term.vte);....evte:.....ts
dda0 6d 5f 73 63 72 65 65 6e 5f 75 6e 72 65 66 28 74 65 72 6d 2e 73 63 72 65 65 6e 29 3b 00 00 00 05 m_screen_unref(term.screen);....
ddc0 65 74 73 6d 3a 00 00 00 0f 09 63 75 72 73 6f 72 5f 66 72 65 65 28 29 3b 00 00 00 09 65 67 6c 6f etsm:.....cursor_free();....eglo
dde0 62 61 6c 73 3a 00 00 00 10 09 69 66 20 28 74 65 72 6d 2e 70 73 5f 64 6d 29 00 00 00 3e 09 09 7a bals:.....if.(term.ps_dm)...>..z
de00 77 70 5f 70 72 69 6d 61 72 79 5f 73 65 6c 65 63 74 69 6f 6e 5f 64 65 76 69 63 65 5f 6d 61 6e 61 wp_primary_selection_device_mana
de20 67 65 72 5f 76 31 5f 64 65 73 74 72 6f 79 28 74 65 72 6d 2e 70 73 5f 64 6d 29 3b 00 00 00 0f 09 ger_v1_destroy(term.ps_dm);.....
de40 69 66 20 28 74 65 72 6d 2e 64 5f 64 6d 29 00 00 00 2c 09 09 77 6c 5f 64 61 74 61 5f 64 65 76 69 if.(term.d_dm)...,..wl_data_devi
de60 63 65 5f 6d 61 6e 61 67 65 72 5f 64 65 73 74 72 6f 79 28 74 65 72 6d 2e 64 5f 64 6d 29 3b 00 00 ce_manager_destroy(term.d_dm);..
de80 00 0f 09 69 66 20 28 74 65 72 6d 2e 73 65 61 74 29 00 00 00 1d 09 09 77 6c 5f 73 65 61 74 5f 64 ...if.(term.seat)......wl_seat_d
dea0 65 73 74 72 6f 79 28 74 65 72 6d 2e 73 65 61 74 29 3b 00 00 00 12 09 69 66 20 28 74 65 72 6d 2e estroy(term.seat);.....if.(term.
dec0 77 6d 5f 62 61 73 65 29 00 00 00 24 09 09 78 64 67 5f 77 6d 5f 62 61 73 65 5f 64 65 73 74 72 6f wm_base)...$..xdg_wm_base_destro
dee0 79 28 74 65 72 6d 2e 77 6d 5f 62 61 73 65 29 3b 00 00 00 0e 09 69 66 20 28 74 65 72 6d 2e 73 68 y(term.wm_base);.....if.(term.sh
df00 6d 29 00 00 00 1b 09 09 77 6c 5f 73 68 6d 5f 64 65 73 74 72 6f 79 28 74 65 72 6d 2e 73 68 6d 29 m)......wl_shm_destroy(term.shm)
df20 3b 00 00 00 0d 09 69 66 20 28 74 65 72 6d 2e 63 70 29 00 00 00 21 09 09 77 6c 5f 63 6f 6d 70 6f ;.....if.(term.cp)...!..wl_compo
df40 73 69 74 6f 72 5f 64 65 73 74 72 6f 79 28 74 65 72 6d 2e 63 70 29 3b 00 00 00 00 00 00 00 24 09 sitor_destroy(term.cp);.......$.
df60 77 6c 5f 72 65 67 69 73 74 72 79 5f 64 65 73 74 72 6f 79 28 74 65 72 6d 2e 72 65 67 69 73 74 72 wl_registry_destroy(term.registr
df80 79 29 3b 00 00 00 20 09 77 6c 5f 64 69 73 70 6c 61 79 5f 66 6c 75 73 68 28 74 65 72 6d 2e 64 69 y);.....wl_display_flush(term.di
dfa0 73 70 6c 61 79 29 3b 00 00 00 25 09 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 63 6f 6e 6e 65 63 splay);...%.wl_display_disconnec
dfc0 74 28 74 65 72 6d 2e 64 69 73 70 6c 61 79 29 3b 00 00 00 00 00 00 00 09 65 63 6f 6e 6e 65 63 74 t(term.display);........econnect
dfe0 3a 00 00 00 23 09 78 6b 62 5f 6b 65 79 6d 61 70 5f 75 6e 72 65 66 28 74 65 72 6d 2e 78 6b 62 5f :...#.xkb_keymap_unref(term.xkb_
e000 6b 65 79 6d 61 70 29 3b 00 00 00 21 09 78 6b 62 5f 73 74 61 74 65 5f 75 6e 72 65 66 28 74 65 72 keymap);...!.xkb_state_unref(ter
e020 6d 2e 78 6b 62 5f 73 74 61 74 65 29 3b 00 00 00 31 09 78 6b 62 5f 63 6f 6d 70 6f 73 65 5f 74 61 m.xkb_state);...1.xkb_compose_ta
e040 62 6c 65 5f 75 6e 72 65 66 28 74 65 72 6d 2e 78 6b 62 5f 63 6f 6d 70 6f 73 65 5f 74 61 62 6c 65 ble_unref(term.xkb_compose_table
e060 29 3b 00 00 00 31 09 78 6b 62 5f 63 6f 6d 70 6f 73 65 5f 73 74 61 74 65 5f 75 6e 72 65 66 28 74 );...1.xkb_compose_state_unref(t
e080 65 72 6d 2e 78 6b 62 5f 63 6f 6d 70 6f 73 65 5f 73 74 61 74 65 29 3b 00 00 00 21 09 78 6b 62 5f erm.xkb_compose_state);...!.xkb_
e0a0 63 6f 6e 74 65 78 74 5f 75 6e 72 65 66 28 74 65 72 6d 2e 78 6b 62 5f 63 74 78 29 3b 00 00 00 05 context_unref(term.xkb_ctx);....
e0c0 65 78 6b 62 3a 00 00 00 0f 09 66 6f 6e 74 5f 64 65 69 6e 69 74 28 29 3b 00 00 00 06 65 66 6f 6e exkb:.....font_deinit();....efon
e0e0 74 3a 00 00 00 12 09 62 20 3d 20 74 65 72 6d 2e 62 69 6e 64 69 6e 67 3b 00 00 00 0c 09 77 68 69 t:.....b.=.term.binding;.....whi
e100 6c 65 20 28 62 29 20 7b 00 00 00 1a 09 09 73 74 72 75 63 74 20 62 69 6e 64 69 6e 67 20 2a 74 6d le.(b).{......struct.binding.*tm
e120 70 20 3d 20 62 3b 00 00 00 0e 09 09 62 20 3d 20 62 2d 3e 6e 65 78 74 3b 00 00 00 0c 09 09 66 72 p.=.b;......b.=.b->next;......fr
e140 65 65 28 74 6d 70 29 3b 00 00 00 02 09 7d 00 00 00 0c 09 72 65 74 75 72 6e 20 72 65 74 3b 35 81 ee(tmp);.....}.....return.ret;5.
e160 f5 18 00 00 00 00 00 00 00 00 0a 00 00 00 94 08 00 00 01 00 00 00 f0 07 00 00 02 00 00 00 0a 00 ................................
e180 00 00 00 00 00 00 65 c5 00 00 00 00 00 00 e5 d5 00 00 00 00 00 00 35 81 5f d0 00 00 00 05 00 00 ......e...............5._.......
e1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 06 00 00 00 b7 00 00 00 1d 00 00 00 00 ff ff ff ff 00 01 ................................
e1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 95 70 b7 ............................i.p.
e320 04 01 00 00 00 02 00 f5 18 00 00 00 b6 00 00 00 b8 00 00 07 f2 00 00 00 01 00 00 00 21 7d 20 74 ............................!}.t
e340 65 72 6d 20 3d 20 7b 2e 63 66 67 2e 73 68 65 6c 6c 20 3d 20 22 2f 62 69 6e 2f 73 68 22 2c 35 81 erm.=.{.cfg.shell.=."/bin/sh",5.
e360 f5 18 00 00 00 00 b6 00 00 00 1d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 68 0e ..............................h.
e380 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 00 00 00 ......................5._.......
e3a0 00 04 00 00 00 01 00 00 00 05 00 00 00 03 00 00 06 72 00 00 00 19 00 00 00 00 ff ff ff ff 00 01 .................r..............
e3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e500 00 00 00 00 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 95 70 23 ............................i.p#
e520 04 01 00 00 00 00 00 f5 18 00 00 06 71 00 00 06 73 00 00 08 96 00 00 00 01 00 00 00 2e 09 09 65 ............q...s..............e
e540 78 65 63 6c 28 22 2f 62 69 6e 2f 73 68 22 2c 20 22 2f 62 69 6e 2f 7a 73 68 22 2c 20 28 63 68 61 xecl("/bin/sh",."/bin/zsh",.(cha
e560 72 20 2a 29 20 4e 55 4c 4c 29 3b 35 81 f5 18 00 00 00 00 71 06 00 00 19 00 00 00 00 00 00 00 00 r.*).NULL);5.......q............
e580 00 00 00 00 00 00 00 01 00 00 00 04 95 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 ................................
e5a0 00 00 00 35 81 5f d0 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 06 72 00 ...5._........................r.
e5c0 00 00 0e 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 ................................
e5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e720 00 00 00 00 00 00 00 00 00 69 95 70 27 04 01 00 00 00 00 00 f5 18 00 00 06 71 00 00 06 73 00 00 .........i.p'............q...s..
e740 08 96 00 00 00 01 00 00 00 2f 09 09 65 78 65 63 6c 28 22 2f 62 69 6e 2f 7a 73 68 22 2c 20 22 2f ........./..execl("/bin/zsh",."/
e760 62 69 6e 2f 7a 73 68 22 2c 20 28 63 68 61 72 20 2a 29 20 4e 55 4c 4c 29 3b 35 81 f5 18 00 00 00 bin/zsh",.(char.*).NULL);5......
e780 00 71 06 00 00 0e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 f9 94 00 00 00 00 00 .q..............................
e7a0 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 00 00 00 00 02 00 00 00 .................5._............
e7c0 00 00 00 00 03 00 00 00 01 00 00 06 3f 00 00 00 22 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 ............?..."...............
e7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 95 70 16 04 01 00 00 00 .......................i.p......
e940 00 00 f5 18 00 00 06 3f 00 00 06 40 00 00 08 96 00 00 00 00 f5 18 00 00 06 3f 00 00 06 40 00 00 .......?...@.............?...@..
e960 08 96 00 00 00 01 00 00 00 15 23 69 6e 63 6c 75 64 65 20 22 6b 65 79 62 69 6e 64 73 2e 68 22 35 ..........#include."keybinds.h"5
e980 81 f5 18 00 00 00 00 3f 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 0d .......?........................
e9a0 90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 16 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 01 00 .......................5._......
e9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 06 40 00 00 00 00 00 00 00 00 ff ff ff ff 00 ..................@.............
e9e0 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 00 00 00 00 ................................
eb20 00 00 00 00 00 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 95 70 .............................i.p
eb40 16 04 01 00 00 00 00 00 f5 18 00 00 06 40 00 00 06 41 00 00 08 97 00 00 00 00 f5 18 00 00 06 40 .............@...A.............@
eb60 00 00 06 41 00 00 08 97 00 00 00 01 00 00 00 15 23 69 6e 63 6c 75 64 65 20 22 6b 65 79 62 69 6e ...A............#include."keybin
eb80 64 73 2e 68 22 35 81 f5 18 00 00 00 00 40 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 ds.h"5.......@..................
eba0 00 00 00 00 00 23 90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 16 00 00 00 00 00 00 00 35 81 e7 .....#.......................5..
ebc0 aa .