summaryrefslogtreecommitdiff
path: root/config/nvim-1/undo/%home%coast%git%wsxwm%source%wsxwm.c
blob: 86d64e4805847ebd70f3feafebc362e4f56f7315 (plain)
ofshex dumpascii
0000 56 69 6d 9f 55 6e 44 6f e5 00 03 80 4e 5c e0 a7 c2 cc ce c8 0b fe 8b e0 f2 13 7e 77 f6 72 bd f7 Vim.UnDo....N\............~w.r..
0020 93 fd 3d 74 f1 3f be f0 50 ac 47 00 00 02 15 00 00 00 00 00 00 01 5d 00 00 00 00 00 00 00 01 00 ..=t.?..P.G...........].........
0040 00 00 09 00 00 00 00 00 00 00 09 00 00 00 09 00 00 00 09 00 00 00 00 69 95 6a 4c 04 01 00 00 00 .......................i.jL.....
0060 06 00 5f d0 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 00 .._.............................
0080 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01e0 00 00 00 00 00 00 69 95 63 11 04 01 00 00 00 02 00 f5 18 00 00 00 0f 00 00 02 a8 00 00 02 cd 00 ......i.c.......................
0200 00 02 bd 00 00 00 30 73 74 61 74 69 63 20 76 6f 69 64 20 66 6f 63 75 73 28 73 74 72 75 63 74 20 ......0static.void.focus(struct.
0220 63 6c 69 65 6e 74 2a 20 63 2c 20 62 6f 6f 6c 20 72 61 69 73 65 29 3b 00 00 00 2a 73 74 61 74 69 client*.c,.bool.raise);...*stati
0240 63 20 76 6f 69 64 20 6f 6e 5f 73 63 72 65 65 6e 5f 64 65 73 74 72 6f 79 28 76 6f 69 64 2a 20 64 c.void.on_screen_destroy(void*.d
0260 61 74 61 29 3b 00 00 00 3a 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 73 63 72 65 65 6e 5f 75 ata);...:static.void.on_screen_u
0280 73 61 62 6c 65 5f 67 65 6f 6d 65 74 72 79 5f 63 68 61 6e 67 65 64 28 76 6f 69 64 2a 20 64 61 74 sable_geometry_changed(void*.dat
02a0 61 29 3b 00 00 00 27 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 77 69 6e 5f 64 65 73 74 72 6f a);...'static.void.on_win_destro
02c0 79 28 76 6f 69 64 2a 20 64 61 74 61 29 3b 00 00 00 27 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e y(void*.data);...'static.void.on
02e0 5f 77 69 6e 5f 65 6e 74 65 72 65 64 28 76 6f 69 64 2a 20 64 61 74 61 29 3b 00 00 00 18 73 74 61 _win_entered(void*.data);....sta
0300 74 69 63 20 76 6f 69 64 20 73 65 74 75 70 28 76 6f 69 64 29 3b 00 00 00 1e 73 74 61 74 69 63 20 tic.void.setup(void);....static.
0320 76 6f 69 64 20 73 65 74 75 70 5f 62 69 6e 64 73 28 76 6f 69 64 29 3b 00 00 00 46 73 74 61 74 69 void.setup_binds(void);...Fstati
0340 63 20 76 6f 69 64 20 73 65 74 5f 66 6c 6f 61 74 69 6e 67 28 73 74 72 75 63 74 20 63 6c 69 65 6e c.void.set_floating(struct.clien
0360 74 2a 20 63 2c 20 62 6f 6f 6c 20 66 6c 6f 61 74 69 6e 67 2c 20 62 6f 6f 6c 20 72 61 69 73 65 29 t*.c,.bool.floating,.bool.raise)
0380 3b 00 00 00 23 73 74 61 74 69 63 20 76 6f 69 64 20 74 69 6c 65 28 73 74 72 75 63 74 20 73 63 72 ;...#static.void.tile(struct.scr
03a0 65 65 6e 2a 20 73 29 3b 00 00 00 00 00 00 00 18 2f 2a 20 6d 61 73 74 65 72 20 77 69 64 74 68 20 een*.s);......../*.master.width.
03c0 69 6e 20 70 78 20 2a 2f 00 00 00 21 73 74 61 74 69 63 20 75 69 6e 74 33 32 5f 74 20 6d 61 73 74 in.px.*/...!static.uint32_t.mast
03e0 65 72 5f 77 69 64 74 68 20 3d 20 30 3b 00 00 00 00 00 00 00 0d 73 74 72 75 63 74 20 77 6d 20 77 er_width.=.0;........struct.wm.w
0400 6d 3b 00 00 00 24 63 6f 6e 73 74 20 73 74 72 75 63 74 20 73 77 63 5f 6d 61 6e 61 67 65 72 20 6d m;...$const.struct.swc_manager.m
0420 61 6e 61 67 65 72 20 3d 20 7b 00 00 00 4e 09 2e 6e 65 77 5f 73 63 72 65 65 6e 20 3d 20 6e 65 77 anager.=.{...N..new_screen.=.new
0440 5f 73 63 72 65 65 6e 2c 20 2e 6e 65 77 5f 77 69 6e 64 6f 77 20 3d 20 6e 65 77 5f 77 69 6e 64 6f _screen,..new_window.=.new_windo
0460 77 2c 20 2e 6e 65 77 5f 64 65 76 69 63 65 20 3d 20 6e 65 77 5f 64 65 76 69 63 65 2c 00 00 00 02 w,..new_device.=.new_device,....
0480 7d 3b 00 00 00 2c 73 74 72 75 63 74 20 73 77 63 5f 77 69 6e 64 6f 77 5f 68 61 6e 64 6c 65 72 20 };...,struct.swc_window_handler.
04a0 77 69 6e 64 6f 77 5f 68 61 6e 64 6c 65 72 20 3d 20 7b 00 00 00 36 09 2e 64 65 73 74 72 6f 79 20 window_handler.=.{...6..destroy.
04c0 3d 20 6f 6e 5f 77 69 6e 5f 64 65 73 74 72 6f 79 2c 20 2e 65 6e 74 65 72 65 64 20 3d 20 6f 6e 5f =.on_win_destroy,..entered.=.on_
04e0 77 69 6e 5f 65 6e 74 65 72 65 64 2c 00 00 00 02 7d 3b 00 00 00 2c 73 74 72 75 63 74 20 73 77 63 win_entered,....};...,struct.swc
0500 5f 73 63 72 65 65 6e 5f 68 61 6e 64 6c 65 72 20 73 63 72 65 65 6e 5f 68 61 6e 64 6c 65 72 20 3d _screen_handler.screen_handler.=
0520 20 7b 00 00 00 1e 09 2e 64 65 73 74 72 6f 79 20 3d 20 6f 6e 5f 73 63 72 65 65 6e 5f 64 65 73 74 .{......destroy.=.on_screen_dest
0540 72 6f 79 2c 00 00 00 3e 09 2e 75 73 61 62 6c 65 5f 67 65 6f 6d 65 74 72 79 5f 63 68 61 6e 67 65 roy,...>..usable_geometry_change
0560 64 20 3d 20 6f 6e 5f 73 63 72 65 65 6e 5f 75 73 61 62 6c 65 5f 67 65 6f 6d 65 74 72 79 5f 63 68 d.=.on_screen_usable_geometry_ch
0580 61 6e 67 65 64 2c 00 00 00 02 7d 3b 00 00 00 00 00 00 00 2f 73 74 61 74 69 63 20 76 6f 69 64 20 anged,....};......./static.void.
05a0 66 6f 63 75 73 28 73 74 72 75 63 74 20 63 6c 69 65 6e 74 2a 20 63 2c 20 62 6f 6f 6c 20 72 61 69 focus(struct.client*.c,.bool.rai
05c0 73 65 29 00 00 00 01 7b 00 00 00 13 09 69 66 20 28 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 29 00 se)....{.....if.(wm.sel_client).
05e0 00 00 18 09 09 73 77 63 5f 77 69 6e 64 6f 77 5f 73 65 74 5f 62 6f 72 64 65 72 28 00 00 00 16 09 .....swc_window_set_border(.....
0600 09 09 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 2d 3e 77 69 6e 2c 00 00 00 2b 09 09 09 63 66 67 2e ..wm.sel_client->win,...+...cfg.
0620 62 6f 72 64 65 72 5f 63 6f 6c 5f 6e 6f 72 6d 61 6c 2c 20 63 66 67 2e 62 6f 72 64 65 72 5f 77 69 border_col_normal,.cfg.border_wi
0640 64 74 68 2c 00 00 00 07 09 09 09 30 2c 20 30 00 00 00 04 09 09 29 3b 00 00 00 00 00 00 00 07 09 dth,.......0,.0......);.........
0660 69 66 20 28 63 29 00 00 00 18 09 09 73 77 63 5f 77 69 6e 64 6f 77 5f 73 65 74 5f 62 6f 72 64 65 if.(c)......swc_window_set_borde
0680 72 28 00 00 00 0a 09 09 09 63 2d 3e 77 69 6e 2c 00 00 00 2b 09 09 09 63 66 67 2e 62 6f 72 64 65 r(.......c->win,...+...cfg.borde
06a0 72 5f 63 6f 6c 5f 61 63 74 69 76 65 2c 20 63 66 67 2e 62 6f 72 64 65 72 5f 77 69 64 74 68 2c 00 r_col_active,.cfg.border_width,.
06c0 00 00 07 09 09 09 30 2c 20 30 00 00 00 04 09 09 29 3b 00 00 00 00 00 00 00 1f 09 69 66 20 28 72 ......0,.0......);.........if.(r
06e0 61 69 73 65 20 26 26 20 63 20 26 26 20 63 2d 3e 66 6c 6f 61 74 69 6e 67 29 00 00 00 1e 09 09 73 aise.&&.c.&&.c->floating)......s
0700 65 74 5f 66 6c 6f 61 74 69 6e 67 28 63 2c 20 74 72 75 65 2c 20 74 72 75 65 29 3b 00 00 00 00 00 et_floating(c,.true,.true);.....
0720 00 00 25 09 73 77 63 5f 77 69 6e 64 6f 77 5f 66 6f 63 75 73 28 63 20 3f 20 63 2d 3e 77 69 6e 20 ..%.swc_window_focus(c.?.c->win.
0740 3a 20 4e 55 4c 4c 29 3b 00 00 00 13 09 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 20 3d 20 63 3b 00 :.NULL);.....wm.sel_client.=.c;.
0760 00 00 01 7d 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 73 63 72 65 65 ...}.......)static.void.on_scree
0780 6e 5f 64 65 73 74 72 6f 79 28 76 6f 69 64 2a 20 64 61 74 61 29 00 00 00 01 7b 00 00 00 19 09 73 n_destroy(void*.data)....{.....s
07a0 74 72 75 63 74 20 73 63 72 65 65 6e 2a 20 73 20 3d 20 64 61 74 61 3b 00 00 00 00 00 00 00 08 09 truct.screen*.s.=.data;.........
07c0 69 66 20 28 21 73 29 00 00 00 09 09 09 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 1a 09 77 6c 5f if.(!s)......return;.........wl_
07e0 6c 69 73 74 5f 72 65 6d 6f 76 65 28 26 73 2d 3e 6c 69 6e 6b 29 3b 00 00 00 00 00 00 00 1a 09 69 list_remove(&s->link);.........i
0800 66 20 28 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 20 3d 3d 20 73 29 20 7b 00 00 00 21 09 09 69 66 f.(wm.sel_screen.==.s).{...!..if
0820 20 28 77 6c 5f 6c 69 73 74 5f 65 6d 70 74 79 28 26 77 6d 2e 73 63 72 65 65 6e 73 29 29 00 00 00 .(wl_list_empty(&wm.screens))...
0840 18 09 09 09 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 20 3d 20 4e 55 4c 4c 3b 00 00 00 06 09 09 65 ....wm.sel_screen.=.NULL;......e
0860 6c 73 65 00 00 00 49 09 09 09 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 20 3d 20 77 6c 5f 63 6f 6e lse...I...wm.sel_screen.=.wl_con
0880 74 61 69 6e 65 72 5f 6f 66 28 77 6d 2e 73 63 72 65 65 6e 73 2e 6e 65 78 74 2c 20 77 6d 2e 73 65 tainer_of(wm.screens.next,.wm.se
08a0 6c 5f 73 63 72 65 65 6e 2c 20 6c 69 6e 6b 29 3b 00 00 00 02 09 7d 00 00 00 00 00 00 00 09 09 66 l_screen,.link);.....}.........f
08c0 72 65 65 28 73 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 ree(s);....}.......9static.void.
08e0 6f 6e 5f 73 63 72 65 65 6e 5f 75 73 61 62 6c 65 5f 67 65 6f 6d 65 74 72 79 5f 63 68 61 6e 67 65 on_screen_usable_geometry_change
0900 64 28 76 6f 69 64 2a 20 64 61 74 61 29 00 00 00 01 7b 00 00 00 19 09 73 74 72 75 63 74 20 73 63 d(void*.data)....{.....struct.sc
0920 72 65 65 6e 2a 20 73 20 3d 20 64 61 74 61 3b 00 00 00 00 00 00 00 09 09 74 69 6c 65 28 73 29 3b reen*.s.=.data;.........tile(s);
0940 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 6f 6e 5f 77 69 6e 5f ....}.......&static.void.on_win_
0960 64 65 73 74 72 6f 79 28 76 6f 69 64 2a 20 64 61 74 61 29 00 00 00 01 7b 00 00 00 19 09 73 74 72 destroy(void*.data)....{.....str
0980 75 63 74 20 63 6c 69 65 6e 74 2a 20 63 20 3d 20 64 61 74 61 3b 00 00 00 15 09 73 74 72 75 63 74 uct.client*.c.=.data;.....struct
09a0 20 63 6c 69 65 6e 74 2a 20 6e 65 78 74 3b 00 00 00 00 00 00 00 08 09 69 66 20 28 21 63 29 00 00 .client*.next;.........if.(!c)..
09c0 00 09 09 09 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 28 09 69 66 20 28 77 6d 2e 67 72 61 62 2e ....return;.......(.if.(wm.grab.
09e0 61 63 74 69 76 65 20 26 26 20 77 6d 2e 67 72 61 62 2e 63 20 3d 3d 20 63 29 20 7b 00 00 00 19 09 active.&&.wm.grab.c.==.c).{.....
0a00 09 77 6d 2e 67 72 61 62 2e 61 63 74 69 76 65 20 3d 20 66 61 6c 73 65 3b 00 00 00 13 09 09 77 6d .wm.grab.active.=.false;......wm
0a20 2e 67 72 61 62 2e 63 20 3d 20 4e 55 4c 4c 3b 00 00 00 02 09 7d 00 00 00 00 00 00 00 11 09 69 66 .grab.c.=.NULL;.....}.........if
0a40 20 28 63 2d 3e 66 6c 6f 61 74 69 6e 67 29 00 00 00 21 09 09 77 6c 5f 6c 69 73 74 5f 72 65 6d 6f .(c->floating)...!..wl_list_remo
0a60 76 65 28 26 63 2d 3e 66 6c 6f 61 74 5f 6c 69 6e 6b 29 3b 00 00 00 05 09 65 6c 73 65 00 00 00 21 ve(&c->float_link);.....else...!
0a80 09 09 77 6c 5f 6c 69 73 74 5f 72 65 6d 6f 76 65 28 26 63 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 29 ..wl_list_remove(&c->tiled_link)
0aa0 3b 00 00 00 00 00 00 00 1a 09 69 66 20 28 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 20 3d 3d 20 63 ;.........if.(wm.sel_client.==.c
0ac0 29 20 7b 00 00 00 17 09 09 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 20 3d 20 4e 55 4c 4c 3b 00 00 ).{......wm.sel_client.=.NULL;..
0ae0 00 1d 09 09 6e 65 78 74 20 3d 20 66 69 72 73 74 5f 66 6c 6f 61 74 28 63 2d 3e 73 63 72 29 3b 00 ....next.=.first_float(c->scr);.
0b00 00 00 0c 09 09 69 66 20 28 21 6e 65 78 74 29 00 00 00 1e 09 09 09 6e 65 78 74 20 3d 20 66 69 72 .....if.(!next).......next.=.fir
0b20 73 74 5f 74 69 6c 65 64 28 63 2d 3e 73 63 72 29 3b 00 00 00 14 09 09 66 6f 63 75 73 28 6e 65 78 st_tiled(c->scr);......focus(nex
0b40 74 2c 20 74 72 75 65 29 3b 00 00 00 02 09 7d 00 00 00 00 00 00 00 0e 09 74 69 6c 65 28 63 2d 3e t,.true);.....}.........tile(c->
0b60 73 63 72 29 3b 00 00 00 09 09 66 72 65 65 28 63 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 26 73 scr);.....free(c);....}.......&s
0b80 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 77 69 6e 5f 65 6e 74 65 72 65 64 28 76 6f 69 64 2a 20 tatic.void.on_win_entered(void*.
0ba0 64 61 74 61 29 00 00 00 01 7b 00 00 00 14 09 69 66 20 28 77 6d 2e 67 72 61 62 2e 61 63 74 69 76 data)....{.....if.(wm.grab.activ
0bc0 65 29 00 00 00 09 09 09 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 19 09 73 74 72 75 63 74 20 63 e)......return;.........struct.c
0be0 6c 69 65 6e 74 2a 20 63 20 3d 20 64 61 74 61 3b 00 00 00 10 09 66 6f 63 75 73 28 63 2c 20 74 72 lient*.c.=.data;.....focus(c,.tr
0c00 75 65 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 73 65 74 ue);....}........static.void.set
0c20 75 70 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 0e 09 2f 2a 20 64 69 73 70 6c 61 79 20 2a 2f 00 up(void)....{...../*.display.*/.
0c40 00 00 1e 09 77 6d 2e 64 70 79 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 72 65 61 74 65 28 29 ....wm.dpy.=.wl_display_create()
0c60 3b 00 00 00 0d 09 69 66 20 28 21 77 6d 2e 64 70 79 29 00 00 00 30 09 09 64 69 65 28 45 58 49 54 ;.....if.(!wm.dpy)...0..die(EXIT
0c80 5f 46 41 49 4c 55 52 45 2c 20 22 77 6c 5f 64 69 73 70 6c 61 79 5f 63 72 65 61 74 65 20 66 61 69 _FAILURE,."wl_display_create.fai
0ca0 6c 65 64 22 29 3b 00 00 00 00 00 00 00 10 09 2f 2a 20 76 61 72 69 61 62 6c 65 73 20 2a 2f 00 00 led");........./*.variables.*/..
0cc0 00 1b 09 77 6c 5f 6c 69 73 74 5f 69 6e 69 74 28 26 77 6d 2e 73 63 72 65 65 6e 73 29 3b 00 00 00 ...wl_list_init(&wm.screens);...
0ce0 19 09 77 6c 5f 6c 69 73 74 5f 69 6e 69 74 28 26 77 6d 2e 74 69 6c 65 64 29 3b 00 00 00 1c 09 77 ..wl_list_init(&wm.tiled);.....w
0d00 6c 5f 6c 69 73 74 5f 69 6e 69 74 28 26 77 6d 2e 66 6c 6f 61 74 69 6e 67 29 3b 00 00 00 16 09 77 l_list_init(&wm.floating);.....w
0d20 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 20 3d 20 4e 55 4c 4c 3b 00 00 00 16 09 77 6d 2e 73 65 6c 5f m.sel_client.=.NULL;.....wm.sel_
0d40 73 63 72 65 65 6e 20 3d 20 4e 55 4c 4c 3b 00 00 00 18 09 77 6d 2e 67 72 61 62 2e 61 63 74 69 76 screen.=.NULL;.....wm.grab.activ
0d60 65 20 3d 20 66 61 6c 73 65 3b 00 00 00 18 09 77 6d 2e 67 72 61 62 2e 72 65 73 69 7a 65 20 3d 20 e.=.false;.....wm.grab.resize.=.
0d80 66 61 6c 73 65 3b 00 00 00 12 09 77 6d 2e 67 72 61 62 2e 63 20 3d 20 4e 55 4c 4c 3b 00 00 00 00 false;.....wm.grab.c.=.NULL;....
0da0 00 00 00 11 09 2f 2a 20 65 76 65 6e 74 20 6c 6f 6f 70 20 2a 2f 00 00 00 30 09 77 6d 2e 65 76 5f ...../*.event.loop.*/...0.wm.ev_
0dc0 6c 6f 6f 70 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 65 76 65 6e 74 5f 6c 6f 6f 70 loop.=.wl_display_get_event_loop
0de0 28 77 6d 2e 64 70 79 29 3b 00 00 00 33 09 69 66 20 28 21 73 77 63 5f 69 6e 69 74 69 61 6c 69 7a (wm.dpy);...3.if.(!swc_initializ
0e00 65 28 77 6d 2e 64 70 79 2c 20 77 6d 2e 65 76 5f 6c 6f 6f 70 2c 20 26 6d 61 6e 61 67 65 72 29 29 e(wm.dpy,.wm.ev_loop,.&manager))
0e20 00 00 00 2f 09 09 64 69 65 28 45 58 49 54 5f 46 41 49 4c 55 52 45 2c 20 22 73 77 63 5f 69 6e 69 .../..die(EXIT_FAILURE,."swc_ini
0e40 74 69 61 6c 69 7a 65 20 66 61 69 6c 65 64 5c 6e 22 29 3b 00 00 00 00 00 00 00 2c 09 2f 2a 20 54 tialize.failed\n");.......,./*.T
0e60 4f 44 4f 3a 20 74 65 6d 70 20 77 61 6c 6c 70 61 70 65 72 20 61 6e 64 20 71 75 69 74 20 62 69 6e ODO:.temp.wallpaper.and.quit.bin
0e80 64 69 6e 67 20 2a 2f 00 00 00 25 09 73 77 63 5f 77 61 6c 6c 70 61 70 65 72 5f 63 6f 6c 6f 72 5f ding.*/...%.swc_wallpaper_color_
0ea0 73 65 74 28 30 78 66 66 31 65 31 66 32 31 29 3b 00 00 00 0f 09 73 65 74 75 70 5f 62 69 6e 64 73 set(0xff1e1f21);.....setup_binds
0ec0 28 29 3b 00 00 00 00 00 00 00 15 09 2f 2a 20 64 69 73 70 6c 61 79 20 73 6f 63 6b 65 74 20 2a 2f ();........./*.display.socket.*/
0ee0 00 00 00 12 09 63 6f 6e 73 74 20 63 68 61 72 2a 20 73 6f 63 6b 3b 00 00 00 2b 09 73 6f 63 6b 20 .....const.char*.sock;...+.sock.
0f00 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 61 64 64 5f 73 6f 63 6b 65 74 5f 61 75 74 6f 28 77 6d 2e =.wl_display_add_socket_auto(wm.
0f20 64 70 79 29 3b 00 00 00 0b 09 69 66 20 28 21 73 6f 63 6b 29 00 00 00 3b 09 09 64 69 65 28 45 58 dpy);.....if.(!sock)...;..die(EX
0f40 49 54 5f 46 41 49 4c 55 52 45 2c 20 22 77 6c 5f 64 69 73 70 6c 61 79 5f 61 64 64 5f 73 6f 63 6b IT_FAILURE,."wl_display_add_sock
0f60 65 74 5f 61 75 74 6f 20 66 61 69 6c 65 64 5c 6e 22 29 3b 00 00 00 24 09 73 65 74 65 6e 76 28 22 et_auto.failed\n");...$.setenv("
0f80 57 41 59 4c 41 4e 44 5f 44 49 53 50 4c 41 59 22 2c 20 73 6f 63 6b 2c 20 31 29 3b 00 00 00 2c 09 WAYLAND_DISPLAY",.sock,.1);...,.
0fa0 5f 6c 6f 67 28 73 74 64 65 72 72 2c 20 22 57 41 59 4c 41 4e 44 5f 44 49 53 50 4c 41 59 3d 25 73 _log(stderr,."WAYLAND_DISPLAY=%s
0fc0 5c 6e 22 2c 20 73 6f 63 6b 29 3b 00 00 00 00 00 00 00 0e 09 2f 2a 20 73 69 67 6e 61 6c 73 20 2a \n",.sock);........./*.signals.*
0fe0 2f 00 00 00 1e 09 73 69 67 6e 61 6c 28 53 49 47 49 4e 54 2c 20 20 73 69 67 5f 68 61 6e 64 6c 65 /.....signal(SIGINT,..sig_handle
1000 72 29 3b 00 00 00 1e 09 73 69 67 6e 61 6c 28 53 49 47 54 45 52 4d 2c 20 73 69 67 5f 68 61 6e 64 r);.....signal(SIGTERM,.sig_hand
1020 6c 65 72 29 3b 00 00 00 1e 09 73 69 67 6e 61 6c 28 53 49 47 51 55 49 54 2c 20 73 69 67 5f 68 61 ler);.....signal(SIGQUIT,.sig_ha
1040 6e 64 6c 65 72 29 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 ndler);....}........static.void.
1060 73 65 74 75 70 5f 62 69 6e 64 73 28 76 6f 69 64 29 00 00 00 01 7b 00 00 00 2d 09 66 6f 72 20 28 setup_binds(void)....{...-.for.(
1080 73 69 7a 65 5f 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 4c 45 4e 47 54 48 28 62 69 6e 64 73 29 3b size_t.i.=.0;.i.<.LENGTH(binds);
10a0 20 69 2b 2b 29 20 7b 00 00 00 23 09 09 63 6f 6e 73 74 20 73 74 72 75 63 74 20 62 69 6e 64 2a 20 .i++).{...#..const.struct.bind*.
10c0 62 20 3d 20 26 62 69 6e 64 73 5b 69 5d 3b 00 00 00 44 09 09 73 77 63 5f 61 64 64 5f 62 69 6e 64 b.=.&binds[i];...D..swc_add_bind
10e0 69 6e 67 28 62 2d 3e 74 79 70 65 2c 20 62 2d 3e 6d 6f 64 73 2c 20 62 2d 3e 6b 73 79 6d 2c 20 62 ing(b->type,.b->mods,.b->ksym,.b
1100 2d 3e 66 6e 2c 20 28 76 6f 69 64 2a 29 26 62 2d 3e 61 72 67 29 3b 00 00 00 02 09 7d 00 00 00 01 ->fn,.(void*)&b->arg);.....}....
1120 7d 00 00 00 00 00 00 00 45 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 74 5f 66 6c 6f 61 74 69 6e }.......Estatic.void.set_floatin
1140 67 28 73 74 72 75 63 74 20 63 6c 69 65 6e 74 2a 20 63 2c 20 62 6f 6f 6c 20 66 6c 6f 61 74 69 6e g(struct.client*.c,.bool.floatin
1160 67 2c 20 62 6f 6f 6c 20 72 61 69 73 65 29 00 00 00 01 7b 00 00 00 08 09 69 66 20 28 21 63 29 00 g,.bool.raise)....{.....if.(!c).
1180 00 00 09 09 09 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 29 09 2f 2a 20 63 6c 69 65 6e 74 20 6d .....return;.......)./*.client.m
11a0 75 73 74 20 62 65 20 69 6e 20 65 78 61 63 74 6c 79 20 6f 6e 65 20 6c 69 73 74 20 2a 2f 00 00 00 ust.be.in.exactly.one.list.*/...
11c0 10 09 69 66 20 28 66 6c 6f 61 74 69 6e 67 29 20 7b 00 00 00 15 09 09 69 66 20 28 21 63 2d 3e 66 ..if.(floating).{......if.(!c->f
11e0 6c 6f 61 74 69 6e 67 29 20 7b 00 00 00 16 09 09 09 63 2d 3e 66 6c 6f 61 74 69 6e 67 20 3d 20 74 loating).{.......c->floating.=.t
1200 72 75 65 3b 00 00 00 22 09 09 09 77 6c 5f 6c 69 73 74 5f 72 65 6d 6f 76 65 28 26 63 2d 3e 74 69 rue;..."...wl_list_remove(&c->ti
1220 6c 65 64 5f 6c 69 6e 6b 29 3b 00 00 00 30 09 09 09 77 6c 5f 6c 69 73 74 5f 69 6e 73 65 72 74 28 led_link);...0...wl_list_insert(
1240 26 77 6d 2e 66 6c 6f 61 74 69 6e 67 2c 20 26 63 2d 3e 66 6c 6f 61 74 5f 6c 69 6e 6b 29 3b 00 00 &wm.floating,.&c->float_link);..
1260 00 03 09 09 7d 00 00 00 13 09 09 65 6c 73 65 20 69 66 20 28 72 61 69 73 65 29 20 7b 00 00 00 22 ....}......else.if.(raise).{..."
1280 09 09 09 77 6c 5f 6c 69 73 74 5f 72 65 6d 6f 76 65 28 26 63 2d 3e 66 6c 6f 61 74 5f 6c 69 6e 6b ...wl_list_remove(&c->float_link
12a0 29 3b 00 00 00 30 09 09 09 77 6c 5f 6c 69 73 74 5f 69 6e 73 65 72 74 28 26 77 6d 2e 66 6c 6f 61 );...0...wl_list_insert(&wm.floa
12c0 74 69 6e 67 2c 20 26 63 2d 3e 66 6c 6f 61 74 5f 6c 69 6e 6b 29 3b 00 00 00 03 09 09 7d 00 00 00 ting,.&c->float_link);......}...
12e0 00 00 00 00 21 09 09 73 77 63 5f 77 69 6e 64 6f 77 5f 73 65 74 5f 73 74 61 63 6b 65 64 28 63 2d ....!..swc_window_set_stacked(c-
1300 3e 77 69 6e 29 3b 00 00 00 02 09 7d 00 00 00 07 09 65 6c 73 65 20 7b 00 00 00 14 09 09 69 66 20 >win);.....}.....else.{......if.
1320 28 63 2d 3e 66 6c 6f 61 74 69 6e 67 29 20 7b 00 00 00 17 09 09 09 63 2d 3e 66 6c 6f 61 74 69 6e (c->floating).{.......c->floatin
1340 67 20 3d 20 66 61 6c 73 65 3b 00 00 00 22 09 09 09 77 6c 5f 6c 69 73 74 5f 72 65 6d 6f 76 65 28 g.=.false;..."...wl_list_remove(
1360 26 63 2d 3e 66 6c 6f 61 74 5f 6c 69 6e 6b 29 3b 00 00 00 2d 09 09 09 77 6c 5f 6c 69 73 74 5f 69 &c->float_link);...-...wl_list_i
1380 6e 73 65 72 74 28 26 77 6d 2e 74 69 6c 65 64 2c 20 26 63 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 29 nsert(&wm.tiled,.&c->tiled_link)
13a0 3b 00 00 00 03 09 09 7d 00 00 00 00 00 00 00 1f 09 09 73 77 63 5f 77 69 6e 64 6f 77 5f 73 65 74 ;......}..........swc_window_set
13c0 5f 74 69 6c 65 64 28 63 2d 3e 77 69 6e 29 3b 00 00 00 02 09 7d 00 00 00 01 7d 00 00 00 00 00 00 _tiled(c->win);.....}....}......
13e0 00 22 73 74 61 74 69 63 20 76 6f 69 64 20 74 69 6c 65 28 73 74 72 75 63 74 20 73 63 72 65 65 6e ."static.void.tile(struct.screen
1400 2a 20 73 29 00 00 00 01 7b 00 00 00 12 09 73 74 72 75 63 74 20 63 6c 69 65 6e 74 2a 20 63 3b 00 *.s)....{.....struct.client*.c;.
1420 00 00 1b 09 73 74 72 75 63 74 20 73 77 63 5f 72 65 63 74 61 6e 67 6c 65 20 67 65 6f 6d 3b 00 00 ....struct.swc_rectangle.geom;..
1440 00 20 09 73 74 72 75 63 74 20 73 77 63 5f 72 65 63 74 61 6e 67 6c 65 2a 20 73 63 72 5f 67 65 6f ...struct.swc_rectangle*.scr_geo
1460 6d 3b 00 00 00 00 00 00 00 30 09 69 6e 74 33 32 5f 74 20 6f 75 74 5f 67 61 70 73 20 3d 20 63 66 m;.......0.int32_t.out_gaps.=.cf
1480 67 2e 67 61 70 73 20 2b 20 63 66 67 2e 62 6f 72 64 65 72 5f 77 69 64 74 68 3b 00 00 00 35 09 69 g.gaps.+.cfg.border_width;...5.i
14a0 6e 74 33 32 5f 74 20 69 6e 5f 67 61 70 73 20 3d 20 63 66 67 2e 67 61 70 73 20 2b 20 28 63 66 67 nt32_t.in_gaps.=.cfg.gaps.+.(cfg
14c0 2e 62 6f 72 64 65 72 5f 77 69 64 74 68 20 2a 20 32 29 3b 00 00 00 00 00 00 00 0b 09 69 6e 74 33 .border_width.*.2);.........int3
14e0 32 5f 74 20 78 3b 00 00 00 0b 09 69 6e 74 33 32 5f 74 20 79 3b 00 00 00 0c 09 75 69 6e 74 33 32 2_t.x;.....int32_t.y;.....uint32
1500 5f 74 20 77 3b 00 00 00 0c 09 75 69 6e 74 33 32 5f 74 20 68 3b 00 00 00 00 00 00 00 08 09 69 66 _t.w;.....uint32_t.h;.........if
1520 20 28 21 73 29 00 00 00 09 09 09 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 25 09 73 63 72 5f 67 .(!s)......return;.......%.scr_g
1540 65 6f 6d 20 3d 20 26 73 2d 3e 73 63 72 2d 3e 75 73 61 62 6c 65 5f 67 65 6f 6d 65 74 72 79 3b 00 eom.=.&s->scr->usable_geometry;.
1560 00 00 00 00 00 00 0e 09 73 69 7a 65 5f 74 20 6e 20 3d 20 30 3b 00 00 00 2d 09 77 6c 5f 6c 69 73 ........size_t.n.=.0;...-.wl_lis
1580 74 5f 66 6f 72 5f 65 61 63 68 28 63 2c 20 26 77 6d 2e 74 69 6c 65 64 2c 20 74 69 6c 65 64 5f 6c t_for_each(c,.&wm.tiled,.tiled_l
15a0 69 6e 6b 29 20 7b 00 00 00 15 09 09 69 66 20 28 69 73 5f 74 69 6c 65 64 28 63 2c 20 73 29 29 00 ink).{......if.(is_tiled(c,.s)).
15c0 00 00 07 09 09 09 6e 2b 2b 3b 00 00 00 02 09 7d 00 00 00 0c 09 69 66 20 28 6e 20 3d 3d 20 30 29 ......n++;.....}.....if.(n.==.0)
15e0 00 00 00 09 09 09 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 1c 09 78 20 3d 20 73 63 72 5f 67 65 ......return;.........x.=.scr_ge
1600 6f 6d 2d 3e 78 20 2b 20 6f 75 74 5f 67 61 70 73 3b 00 00 00 1c 09 79 20 3d 20 73 63 72 5f 67 65 om->x.+.out_gaps;.....y.=.scr_ge
1620 6f 6d 2d 3e 79 20 2b 20 6f 75 74 5f 67 61 70 73 3b 00 00 00 26 09 77 20 3d 20 73 63 72 5f 67 65 om->y.+.out_gaps;...&.w.=.scr_ge
1640 6f 6d 2d 3e 77 69 64 74 68 20 2d 20 28 6f 75 74 5f 67 61 70 73 20 2a 20 32 29 3b 00 00 00 27 09 om->width.-.(out_gaps.*.2);...'.
1660 68 20 3d 20 73 63 72 5f 67 65 6f 6d 2d 3e 68 65 69 67 68 74 20 2d 20 28 6f 75 74 5f 67 61 70 73 h.=.scr_geom->height.-.(out_gaps
1680 20 2a 20 32 29 3b 00 00 00 00 00 00 00 0e 09 69 66 20 28 6e 20 3d 3d 20 31 29 20 7b 00 00 00 2e .*.2);.........if.(n.==.1).{....
16a0 09 09 77 6c 5f 6c 69 73 74 5f 66 6f 72 5f 65 61 63 68 28 63 2c 20 26 77 6d 2e 74 69 6c 65 64 2c ..wl_list_for_each(c,.&wm.tiled,
16c0 20 74 69 6c 65 64 5f 6c 69 6e 6b 29 20 7b 00 00 00 17 09 09 09 69 66 20 28 21 69 73 5f 74 69 6c .tiled_link).{.......if.(!is_til
16e0 65 64 28 63 2c 20 73 29 29 00 00 00 0d 09 09 09 09 63 6f 6e 74 69 6e 75 65 3b 00 00 00 00 00 00 ed(c,.s))........continue;......
1700 00 0e 09 09 09 67 65 6f 6d 2e 78 20 3d 20 78 3b 00 00 00 0e 09 09 09 67 65 6f 6d 2e 79 20 3d 20 .....geom.x.=.x;.......geom.y.=.
1720 79 3b 00 00 00 13 09 09 09 67 65 6f 6d 2e 77 69 64 74 68 20 20 3d 20 77 3b 00 00 00 13 09 09 09 y;.......geom.width..=.w;.......
1740 67 65 6f 6d 2e 68 65 69 67 68 74 20 3d 20 68 3b 00 00 00 00 00 00 00 2a 09 09 09 73 77 63 5f 77 geom.height.=.h;.......*...swc_w
1760 69 6e 64 6f 77 5f 73 65 74 5f 67 65 6f 6d 65 74 72 79 28 63 2d 3e 77 69 6e 2c 20 26 67 65 6f 6d indow_set_geometry(c->win,.&geom
1780 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 02 09 7d 00 00 00 );.......return;......}.....}...
17a0 00 00 00 00 0e 09 73 69 7a 65 5f 74 20 69 20 3d 20 30 3b 00 00 00 2d 09 77 6c 5f 6c 69 73 74 5f ......size_t.i.=.0;...-.wl_list_
17c0 66 6f 72 5f 65 61 63 68 28 63 2c 20 26 77 6d 2e 74 69 6c 65 64 2c 20 74 69 6c 65 64 5f 6c 69 6e for_each(c,.&wm.tiled,.tiled_lin
17e0 6b 29 20 7b 00 00 00 16 09 09 69 66 20 28 21 69 73 5f 74 69 6c 65 64 28 63 2c 20 73 29 29 00 00 k).{......if.(!is_tiled(c,.s))..
1800 00 0c 09 09 09 63 6f 6e 74 69 6e 75 65 3b 00 00 00 00 00 00 00 2c 09 09 69 66 20 28 6d 61 73 74 .....continue;.......,..if.(mast
1820 65 72 5f 77 69 64 74 68 20 3d 3d 20 30 29 20 2f 2a 20 75 6e 69 6e 69 74 69 61 6c 69 73 65 64 20 er_width.==.0)./*.uninitialised.
1840 2a 2f 00 00 00 3b 09 09 09 6d 61 73 74 65 72 5f 77 69 64 74 68 20 3d 20 28 28 77 20 2d 20 69 6e */...;...master_width.=.((w.-.in
1860 5f 67 61 70 73 29 20 2a 20 63 66 67 2e 6d 61 73 74 65 72 5f 77 69 64 74 68 29 20 2f 20 31 30 30 _gaps).*.cfg.master_width)./.100
1880 3b 00 00 00 00 00 00 00 0f 09 09 69 66 20 28 69 20 3d 3d 20 30 29 20 7b 00 00 00 0f 09 09 09 2f ;..........if.(i.==.0).{......./
18a0 2a 20 6d 61 73 74 65 72 20 2a 2f 00 00 00 0e 09 09 09 67 65 6f 6d 2e 78 20 3d 20 78 3b 00 00 00 *.master.*/.......geom.x.=.x;...
18c0 0e 09 09 09 67 65 6f 6d 2e 79 20 3d 20 79 3b 00 00 00 1d 09 09 09 67 65 6f 6d 2e 77 69 64 74 68 ....geom.y.=.y;.......geom.width
18e0 20 3d 20 6d 61 73 74 65 72 5f 77 69 64 74 68 3b 00 00 00 13 09 09 09 67 65 6f 6d 2e 68 65 69 67 .=.master_width;.......geom.heig
1900 68 74 20 3d 20 68 3b 00 00 00 03 09 09 7d 00 00 00 08 09 09 65 6c 73 65 20 7b 00 00 00 0e 09 09 ht.=.h;......}......else.{......
1920 09 2f 2a 20 73 74 61 63 6b 20 2a 2f 00 00 00 1b 09 09 09 75 69 6e 74 33 32 5f 74 20 73 74 61 63 ./*.stack.*/.......uint32_t.stac
1940 6b 6e 20 3d 20 6e 20 2d 20 31 3b 00 00 00 18 09 09 09 75 69 6e 74 33 32 5f 74 20 69 64 78 20 3d kn.=.n.-.1;.......uint32_t.idx.=
1960 20 69 20 2d 20 31 3b 00 00 00 00 00 00 00 41 09 09 09 75 69 6e 74 33 32 5f 74 20 73 74 61 63 6b .i.-.1;.......A...uint32_t.stack
1980 5f 68 65 69 67 68 74 20 3d 20 28 68 20 2d 20 69 6e 5f 67 61 70 73 20 2a 20 28 73 74 61 63 6b 6e _height.=.(h.-.in_gaps.*.(stackn
19a0 20 2d 20 31 29 29 20 2f 20 73 74 61 63 6b 6e 3b 00 00 00 00 00 00 00 27 09 09 09 67 65 6f 6d 2e .-.1))./.stackn;.......'...geom.
19c0 78 20 3d 20 78 20 2b 20 6d 61 73 74 65 72 5f 77 69 64 74 68 20 2b 20 69 6e 5f 67 61 70 73 3b 00 x.=.x.+.master_width.+.in_gaps;.
19e0 00 00 31 09 09 09 67 65 6f 6d 2e 79 20 3d 20 79 20 2b 20 28 69 64 78 20 2a 20 28 73 74 61 63 6b ..1...geom.y.=.y.+.(idx.*.(stack
1a00 5f 68 65 69 67 68 74 20 2b 20 69 6e 5f 67 61 70 73 29 29 3b 00 00 00 2c 09 09 09 67 65 6f 6d 2e _height.+.in_gaps));...,...geom.
1a20 77 69 64 74 68 20 20 3d 20 77 20 2d 20 6d 61 73 74 65 72 5f 77 69 64 74 68 20 2d 20 69 6e 5f 67 width..=.w.-.master_width.-.in_g
1a40 61 70 73 3b 00 00 00 1e 09 09 09 67 65 6f 6d 2e 68 65 69 67 68 74 20 3d 20 73 74 61 63 6b 5f 68 aps;.......geom.height.=.stack_h
1a60 65 69 67 68 74 3b 00 00 00 03 09 09 7d 00 00 00 00 00 00 00 29 09 09 73 77 63 5f 77 69 6e 64 6f eight;......}.......)..swc_windo
1a80 77 5f 73 65 74 5f 67 65 6f 6d 65 74 72 79 28 63 2d 3e 77 69 6e 2c 20 26 67 65 6f 6d 29 3b 00 00 w_set_geometry(c->win,.&geom);..
1aa0 00 06 09 09 69 2b 2b 3b 00 00 00 02 09 7d 00 00 00 01 7d 00 00 00 00 00 00 00 4a 76 6f 69 64 20 ....i++;.....}....}.......Jvoid.
1ac0 66 6f 63 75 73 5f 6e 65 78 74 28 76 6f 69 64 2a 20 64 61 74 61 2c 20 75 69 6e 74 33 32 5f 74 20 focus_next(void*.data,.uint32_t.
1ae0 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 61 6c 75 65 2c 20 75 69 6e 74 33 32 5f 74 20 73 time,.uint32_t.value,.uint32_t.s
1b00 74 61 74 65 29 00 00 00 01 7b 00 00 00 0c 09 28 76 6f 69 64 29 64 61 74 61 3b 00 00 00 0c 09 28 tate)....{.....(void)data;.....(
1b20 76 6f 69 64 29 74 69 6d 65 3b 00 00 00 0d 09 28 76 6f 69 64 29 76 61 6c 75 65 3b 00 00 00 00 00 void)time;.....(void)value;.....
1b40 00 00 12 09 73 74 72 75 63 74 20 63 6c 69 65 6e 74 2a 20 63 3b 00 00 00 12 09 73 74 72 75 63 74 ....struct.client*.c;.....struct
1b60 20 73 63 72 65 65 6e 2a 20 73 3b 00 00 00 00 00 00 00 2c 09 69 66 20 28 73 74 61 74 65 20 21 3d .screen*.s;.......,.if.(state.!=
1b80 20 57 4c 5f 4b 45 59 42 4f 41 52 44 5f 4b 45 59 5f 53 54 41 54 45 5f 50 52 45 53 53 45 44 29 00 .WL_KEYBOARD_KEY_STATE_PRESSED).
1ba0 00 00 09 09 09 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 14 09 69 66 20 28 21 77 6d 2e 73 65 6c .....return;.........if.(!wm.sel
1bc0 5f 73 63 72 65 65 6e 29 00 00 00 09 09 09 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 13 09 73 20 _screen)......return;.........s.
1be0 3d 20 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 3b 00 00 00 00 00 00 00 16 09 69 66 20 28 21 77 6d =.wm.sel_screen;.........if.(!wm
1c00 2e 73 65 6c 5f 63 6c 69 65 6e 74 29 20 7b 00 00 00 15 09 09 63 20 3d 20 66 69 72 73 74 5f 66 6c .sel_client).{......c.=.first_fl
1c20 6f 61 74 28 73 29 3b 00 00 00 09 09 09 69 66 20 28 21 63 29 00 00 00 16 09 09 09 63 20 3d 20 66 oat(s);......if.(!c).......c.=.f
1c40 69 72 73 74 5f 74 69 6c 65 64 28 73 29 3b 00 00 00 12 09 09 66 6f 63 75 73 28 63 2c 20 66 61 6c irst_tiled(s);......focus(c,.fal
1c60 73 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 00 00 00 30 09 se);......return;.....}.......0.
1c80 2f 2a 20 64 6f 20 6e 6f 74 20 72 61 69 73 65 2f 72 65 6f 72 64 65 72 20 66 6c 6f 61 74 73 20 77 /*.do.not.raise/reorder.floats.w
1ca0 68 69 6c 65 20 63 79 63 6c 69 6e 67 20 2a 2f 00 00 00 1f 09 69 66 20 28 77 6d 2e 73 65 6c 5f 63 hile.cycling.*/.....if.(wm.sel_c
1cc0 6c 69 65 6e 74 2d 3e 66 6c 6f 61 74 69 6e 67 29 20 7b 00 00 00 4a 09 09 66 6f 72 20 28 63 20 3d lient->floating).{...J..for.(c.=
1ce0 20 77 6c 5f 63 6f 6e 74 61 69 6e 65 72 5f 6f 66 28 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 2d 3e .wl_container_of(wm.sel_client->
1d00 66 6c 6f 61 74 5f 6c 69 6e 6b 2e 6e 65 78 74 2c 20 63 2c 20 66 6c 6f 61 74 5f 6c 69 6e 6b 29 3b float_link.next,.c,.float_link);
1d20 00 00 00 22 09 09 09 26 63 2d 3e 66 6c 6f 61 74 5f 6c 69 6e 6b 20 21 3d 20 26 77 6d 2e 66 6c 6f ..."...&c->float_link.!=.&wm.flo
1d40 61 74 69 6e 67 3b 00 00 00 3c 09 09 09 63 20 3d 20 77 6c 5f 63 6f 6e 74 61 69 6e 65 72 5f 6f 66 ating;...<...c.=.wl_container_of
1d60 28 63 2d 3e 66 6c 6f 61 74 5f 6c 69 6e 6b 2e 6e 65 78 74 2c 20 63 2c 20 66 6c 6f 61 74 5f 6c 69 (c->float_link.next,.c,.float_li
1d80 6e 6b 29 29 20 7b 00 00 00 18 09 09 09 69 66 20 28 69 73 5f 66 6c 6f 61 74 28 63 2c 20 73 29 29 nk)).{.......if.(is_float(c,.s))
1da0 20 7b 00 00 00 14 09 09 09 09 66 6f 63 75 73 28 63 2c 20 66 61 6c 73 65 29 3b 00 00 00 0b 09 09 .{........focus(c,.false);......
1dc0 09 09 72 65 74 75 72 6e 3b 00 00 00 04 09 09 09 7d 00 00 00 03 09 09 7d 00 00 00 00 00 00 00 15 ..return;.......}......}........
1de0 09 09 63 20 3d 20 66 69 72 73 74 5f 74 69 6c 65 64 28 73 29 3b 00 00 00 09 09 09 69 66 20 28 21 ..c.=.first_tiled(s);......if.(!
1e00 63 29 00 00 00 16 09 09 09 63 20 3d 20 66 69 72 73 74 5f 66 6c 6f 61 74 28 73 29 3b 00 00 00 08 c).......c.=.first_float(s);....
1e20 09 09 69 66 20 28 63 29 00 00 00 13 09 09 09 66 6f 63 75 73 28 63 2c 20 66 61 6c 73 65 29 3b 00 ..if.(c).......focus(c,.false);.
1e40 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 49 09 66 6f 72 20 28 .....return;.....}.......I.for.(
1e60 63 20 3d 20 77 6c 5f 63 6f 6e 74 61 69 6e 65 72 5f 6f 66 28 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e c.=.wl_container_of(wm.sel_clien
1e80 74 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 2e 6e 65 78 74 2c 20 63 2c 20 74 69 6c 65 64 5f 6c 69 6e t->tiled_link.next,.c,.tiled_lin
1ea0 6b 29 3b 00 00 00 1e 09 09 26 63 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 20 21 3d 20 26 77 6d 2e 74 k);......&c->tiled_link.!=.&wm.t
1ec0 69 6c 65 64 3b 00 00 00 3b 09 09 63 20 3d 20 77 6c 5f 63 6f 6e 74 61 69 6e 65 72 5f 6f 66 28 63 iled;...;..c.=.wl_container_of(c
1ee0 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 2e 6e 65 78 74 2c 20 63 2c 20 74 69 6c 65 64 5f 6c 69 6e 6b ->tiled_link.next,.c,.tiled_link
1f00 29 29 20 7b 00 00 00 17 09 09 69 66 20 28 69 73 5f 74 69 6c 65 64 28 63 2c 20 73 29 29 20 7b 00 )).{......if.(is_tiled(c,.s)).{.
1f20 00 00 13 09 09 09 66 6f 63 75 73 28 63 2c 20 66 61 6c 73 65 29 3b 00 00 00 0a 09 09 09 72 65 74 ......focus(c,.false);.......ret
1f40 75 72 6e 3b 00 00 00 03 09 09 7d 00 00 00 02 09 7d 00 00 00 00 00 00 00 14 09 63 20 3d 20 66 69 urn;......}.....}.........c.=.fi
1f60 72 73 74 5f 66 6c 6f 61 74 28 73 29 3b 00 00 00 08 09 69 66 20 28 21 63 29 00 00 00 15 09 09 63 rst_float(s);.....if.(!c)......c
1f80 20 3d 20 66 69 72 73 74 5f 74 69 6c 65 64 28 73 29 3b 00 00 00 11 09 66 6f 63 75 73 28 63 2c 20 .=.first_tiled(s);.....focus(c,.
1fa0 66 61 6c 73 65 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4a 76 6f 69 64 20 66 6f 63 75 73 5f 70 false);....}.......Jvoid.focus_p
1fc0 72 65 76 28 76 6f 69 64 2a 20 64 61 74 61 2c 20 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 2c 20 75 rev(void*.data,.uint32_t.time,.u
1fe0 69 6e 74 33 32 5f 74 20 76 61 6c 75 65 2c 20 75 69 6e 74 33 32 5f 74 20 73 74 61 74 65 29 00 00 int32_t.value,.uint32_t.state)..
2000 00 01 7b 00 00 00 0c 09 28 76 6f 69 64 29 64 61 74 61 3b 00 00 00 0c 09 28 76 6f 69 64 29 74 69 ..{.....(void)data;.....(void)ti
2020 6d 65 3b 00 00 00 0d 09 28 76 6f 69 64 29 76 61 6c 75 65 3b 00 00 00 00 00 00 00 12 09 73 74 72 me;.....(void)value;.........str
2040 75 63 74 20 63 6c 69 65 6e 74 2a 20 63 3b 00 00 00 12 09 73 74 72 75 63 74 20 73 63 72 65 65 6e uct.client*.c;.....struct.screen
2060 2a 20 73 3b 00 00 00 00 00 00 00 2c 09 69 66 20 28 73 74 61 74 65 20 21 3d 20 57 4c 5f 4b 45 59 *.s;.......,.if.(state.!=.WL_KEY
2080 42 4f 41 52 44 5f 4b 45 59 5f 53 54 41 54 45 5f 50 52 45 53 53 45 44 29 00 00 00 09 09 09 72 65 BOARD_KEY_STATE_PRESSED)......re
20a0 74 75 72 6e 3b 00 00 00 00 00 00 00 14 09 69 66 20 28 21 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e turn;.........if.(!wm.sel_screen
20c0 29 00 00 00 09 09 09 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 13 09 73 20 3d 20 77 6d 2e 73 65 )......return;.........s.=.wm.se
20e0 6c 5f 73 63 72 65 65 6e 3b 00 00 00 00 00 00 00 16 09 69 66 20 28 21 77 6d 2e 73 65 6c 5f 63 6c l_screen;.........if.(!wm.sel_cl
2100 69 65 6e 74 29 20 7b 00 00 00 15 09 09 63 20 3d 20 66 69 72 73 74 5f 66 6c 6f 61 74 28 73 29 3b ient).{......c.=.first_float(s);
2120 00 00 00 09 09 09 69 66 20 28 21 63 29 00 00 00 16 09 09 09 63 20 3d 20 66 69 72 73 74 5f 74 69 ......if.(!c).......c.=.first_ti
2140 6c 65 64 28 73 29 3b 00 00 00 12 09 09 66 6f 63 75 73 28 63 2c 20 66 61 6c 73 65 29 3b 00 00 00 led(s);......focus(c,.false);...
2160 09 09 09 72 65 74 75 72 6e 3b 00 00 00 02 09 7d 00 00 00 00 00 00 00 1f 09 69 66 20 28 77 6d 2e ...return;.....}.........if.(wm.
2180 73 65 6c 5f 63 6c 69 65 6e 74 2d 3e 66 6c 6f 61 74 69 6e 67 29 20 7b 00 00 00 4a 09 09 66 6f 72 sel_client->floating).{...J..for
21a0 20 28 63 20 3d 20 77 6c 5f 63 6f 6e 74 61 69 6e 65 72 5f 6f 66 28 77 6d 2e 73 65 6c 5f 63 6c 69 .(c.=.wl_container_of(wm.sel_cli
21c0 65 6e 74 2d 3e 66 6c 6f 61 74 5f 6c 69 6e 6b 2e 70 72 65 76 2c 20 63 2c 20 66 6c 6f 61 74 5f 6c ent->float_link.prev,.c,.float_l
21e0 69 6e 6b 29 3b 00 00 00 22 09 09 09 26 63 2d 3e 66 6c 6f 61 74 5f 6c 69 6e 6b 20 21 3d 20 26 77 ink);..."...&c->float_link.!=.&w
2200 6d 2e 66 6c 6f 61 74 69 6e 67 3b 00 00 00 3c 09 09 09 63 20 3d 20 77 6c 5f 63 6f 6e 74 61 69 6e m.floating;...<...c.=.wl_contain
2220 65 72 5f 6f 66 28 63 2d 3e 66 6c 6f 61 74 5f 6c 69 6e 6b 2e 70 72 65 76 2c 20 63 2c 20 66 6c 6f er_of(c->float_link.prev,.c,.flo
2240 61 74 5f 6c 69 6e 6b 29 29 20 7b 00 00 00 18 09 09 09 69 66 20 28 69 73 5f 66 6c 6f 61 74 28 63 at_link)).{.......if.(is_float(c
2260 2c 20 73 29 29 20 7b 00 00 00 14 09 09 09 09 66 6f 63 75 73 28 63 2c 20 66 61 6c 73 65 29 3b 00 ,.s)).{........focus(c,.false);.
2280 00 00 0b 09 09 09 09 72 65 74 75 72 6e 3b 00 00 00 04 09 09 09 7d 00 00 00 03 09 09 7d 00 00 00 .......return;.......}......}...
22a0 00 00 00 00 14 09 09 63 20 3d 20 6c 61 73 74 5f 74 69 6c 65 64 28 73 29 3b 00 00 00 09 09 09 69 .......c.=.last_tiled(s);......i
22c0 66 20 28 21 63 29 00 00 00 15 09 09 09 63 20 3d 20 6c 61 73 74 5f 66 6c 6f 61 74 28 73 29 3b 00 f.(!c).......c.=.last_float(s);.
22e0 00 00 08 09 09 69 66 20 28 63 29 00 00 00 13 09 09 09 66 6f 63 75 73 28 63 2c 20 66 61 6c 73 65 .....if.(c).......focus(c,.false
2300 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 00 49 09 66 6f );......return;.....}.......I.fo
2320 72 20 28 63 20 3d 20 77 6c 5f 63 6f 6e 74 61 69 6e 65 72 5f 6f 66 28 77 6d 2e 73 65 6c 5f 63 6c r.(c.=.wl_container_of(wm.sel_cl
2340 69 65 6e 74 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 2e 70 72 65 76 2c 20 63 2c 20 74 69 6c 65 64 5f ient->tiled_link.prev,.c,.tiled_
2360 6c 69 6e 6b 29 3b 00 00 00 1e 09 09 26 63 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 20 21 3d 20 26 77 link);......&c->tiled_link.!=.&w
2380 6d 2e 74 69 6c 65 64 3b 00 00 00 3b 09 09 63 20 3d 20 77 6c 5f 63 6f 6e 74 61 69 6e 65 72 5f 6f m.tiled;...;..c.=.wl_container_o
23a0 66 28 63 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 2e 70 72 65 76 2c 20 63 2c 20 74 69 6c 65 64 5f 6c f(c->tiled_link.prev,.c,.tiled_l
23c0 69 6e 6b 29 29 20 7b 00 00 00 17 09 09 69 66 20 28 69 73 5f 74 69 6c 65 64 28 63 2c 20 73 29 29 ink)).{......if.(is_tiled(c,.s))
23e0 20 7b 00 00 00 13 09 09 09 66 6f 63 75 73 28 63 2c 20 66 61 6c 73 65 29 3b 00 00 00 0a 09 09 09 .{.......focus(c,.false);.......
2400 72 65 74 75 72 6e 3b 00 00 00 03 09 09 7d 00 00 00 02 09 7d 00 00 00 00 00 00 00 13 09 63 20 3d return;......}.....}.........c.=
2420 20 6c 61 73 74 5f 66 6c 6f 61 74 28 73 29 3b 00 00 00 08 09 69 66 20 28 21 63 29 00 00 00 14 09 .last_float(s);.....if.(!c).....
2440 09 63 20 3d 20 6c 61 73 74 5f 74 69 6c 65 64 28 73 29 3b 00 00 00 11 09 66 6f 63 75 73 28 63 2c .c.=.last_tiled(s);.....focus(c,
2460 20 66 61 6c 73 65 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4b 76 6f 69 64 20 6d 61 73 74 65 72 .false);....}.......Kvoid.master
2480 5f 6e 65 78 74 28 76 6f 69 64 2a 20 64 61 74 61 2c 20 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 2c _next(void*.data,.uint32_t.time,
24a0 20 75 69 6e 74 33 32 5f 74 20 76 61 6c 75 65 2c 20 75 69 6e 74 33 32 5f 74 20 73 74 61 74 65 29 .uint32_t.value,.uint32_t.state)
24c0 00 00 00 01 7b 00 00 00 0c 09 28 76 6f 69 64 29 64 61 74 61 3b 00 00 00 0c 09 28 76 6f 69 64 29 ....{.....(void)data;.....(void)
24e0 74 69 6d 65 3b 00 00 00 0d 09 28 76 6f 69 64 29 76 61 6c 75 65 3b 00 00 00 00 00 00 00 16 09 73 time;.....(void)value;.........s
2500 74 72 75 63 74 20 63 6c 69 65 6e 74 2a 20 66 69 72 73 74 3b 00 00 00 15 09 73 74 72 75 63 74 20 truct.client*.first;.....struct.
2520 63 6c 69 65 6e 74 2a 20 6c 61 73 74 3b 00 00 00 12 09 73 74 72 75 63 74 20 73 63 72 65 65 6e 2a client*.last;.....struct.screen*
2540 20 73 3b 00 00 00 00 00 00 00 2c 09 69 66 20 28 73 74 61 74 65 20 21 3d 20 57 4c 5f 4b 45 59 42 .s;.......,.if.(state.!=.WL_KEYB
2560 4f 41 52 44 5f 4b 45 59 5f 53 54 41 54 45 5f 50 52 45 53 53 45 44 29 00 00 00 09 09 09 72 65 74 OARD_KEY_STATE_PRESSED)......ret
2580 75 72 6e 3b 00 00 00 00 00 00 00 14 09 69 66 20 28 21 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 29 urn;.........if.(!wm.sel_screen)
25a0 00 00 00 09 09 09 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 13 09 73 20 3d 20 77 6d 2e 73 65 6c ......return;.........s.=.wm.sel
25c0 5f 73 63 72 65 65 6e 3b 00 00 00 18 09 66 69 72 73 74 20 3d 20 66 69 72 73 74 5f 74 69 6c 65 64 _screen;.....first.=.first_tiled
25e0 28 73 29 3b 00 00 00 16 09 6c 61 73 74 20 3d 20 6c 61 73 74 5f 74 69 6c 65 64 28 73 29 3b 00 00 (s);.....last.=.last_tiled(s);..
2600 00 00 00 00 00 26 09 69 66 20 28 21 66 69 72 73 74 20 7c 7c 20 21 6c 61 73 74 20 7c 7c 20 66 69 .....&.if.(!first.||.!last.||.fi
2620 72 73 74 20 3d 3d 20 6c 61 73 74 29 00 00 00 09 09 09 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 rst.==.last)......return;.......
2640 23 09 77 6c 5f 6c 69 73 74 5f 72 65 6d 6f 76 65 28 26 6c 61 73 74 2d 3e 74 69 6c 65 64 5f 6c 69 #.wl_list_remove(&last->tiled_li
2660 6e 6b 29 3b 00 00 00 3b 09 77 6c 5f 6c 69 73 74 5f 69 6e 73 65 72 74 28 66 69 72 73 74 2d 3e 74 nk);...;.wl_list_insert(first->t
2680 69 6c 65 64 5f 6c 69 6e 6b 2e 70 72 65 76 2c 20 26 6c 61 73 74 2d 3e 74 69 6c 65 64 5f 6c 69 6e iled_link.prev,.&last->tiled_lin
26a0 6b 29 3b 00 00 00 1d 09 66 6f 63 75 73 28 66 69 72 73 74 5f 74 69 6c 65 64 28 73 29 2c 20 74 72 k);.....focus(first_tiled(s),.tr
26c0 75 65 29 3b 00 00 00 09 09 74 69 6c 65 28 73 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4b 76 6f ue);.....tile(s);....}.......Kvo
26e0 69 64 20 6d 61 73 74 65 72 5f 70 72 65 76 28 76 6f 69 64 2a 20 64 61 74 61 2c 20 75 69 6e 74 33 id.master_prev(void*.data,.uint3
2700 32 5f 74 20 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 61 6c 75 65 2c 20 75 69 6e 74 33 32 2_t.time,.uint32_t.value,.uint32
2720 5f 74 20 73 74 61 74 65 29 00 00 00 01 7b 00 00 00 0c 09 28 76 6f 69 64 29 64 61 74 61 3b 00 00 _t.state)....{.....(void)data;..
2740 00 0c 09 28 76 6f 69 64 29 74 69 6d 65 3b 00 00 00 0d 09 28 76 6f 69 64 29 76 61 6c 75 65 3b 00 ...(void)time;.....(void)value;.
2760 00 00 00 00 00 00 16 09 73 74 72 75 63 74 20 63 6c 69 65 6e 74 2a 20 66 69 72 73 74 3b 00 00 00 ........struct.client*.first;...
2780 15 09 73 74 72 75 63 74 20 63 6c 69 65 6e 74 2a 20 6c 61 73 74 3b 00 00 00 12 09 73 74 72 75 63 ..struct.client*.last;.....struc
27a0 74 20 73 63 72 65 65 6e 2a 20 73 3b 00 00 00 00 00 00 00 2c 09 69 66 20 28 73 74 61 74 65 20 21 t.screen*.s;.......,.if.(state.!
27c0 3d 20 57 4c 5f 4b 45 59 42 4f 41 52 44 5f 4b 45 59 5f 53 54 41 54 45 5f 50 52 45 53 53 45 44 29 =.WL_KEYBOARD_KEY_STATE_PRESSED)
27e0 00 00 00 09 09 09 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 14 09 69 66 20 28 21 77 6d 2e 73 65 ......return;.........if.(!wm.se
2800 6c 5f 73 63 72 65 65 6e 29 00 00 00 09 09 09 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 13 09 73 l_screen)......return;.........s
2820 20 3d 20 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 3b 00 00 00 18 09 66 69 72 73 74 20 3d 20 66 69 .=.wm.sel_screen;.....first.=.fi
2840 72 73 74 5f 74 69 6c 65 64 28 73 29 3b 00 00 00 16 09 6c 61 73 74 20 3d 20 6c 61 73 74 5f 74 69 rst_tiled(s);.....last.=.last_ti
2860 6c 65 64 28 73 29 3b 00 00 00 00 00 00 00 26 09 69 66 20 28 21 66 69 72 73 74 20 7c 7c 20 21 6c led(s);.......&.if.(!first.||.!l
2880 61 73 74 20 7c 7c 20 66 69 72 73 74 20 3d 3d 20 6c 61 73 74 29 00 00 00 09 09 09 72 65 74 75 72 ast.||.first.==.last)......retur
28a0 6e 3b 00 00 00 00 00 00 00 24 09 77 6c 5f 6c 69 73 74 5f 72 65 6d 6f 76 65 28 26 66 69 72 73 74 n;.......$.wl_list_remove(&first
28c0 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 29 3b 00 00 00 37 09 77 6c 5f 6c 69 73 74 5f 69 6e 73 65 72 ->tiled_link);...7.wl_list_inser
28e0 74 28 26 6c 61 73 74 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 2c 20 26 66 69 72 73 74 2d 3e 74 69 6c t(&last->tiled_link,.&first->til
2900 65 64 5f 6c 69 6e 6b 29 3b 00 00 00 1d 09 66 6f 63 75 73 28 66 69 72 73 74 5f 74 69 6c 65 64 28 ed_link);.....focus(first_tiled(
2920 73 29 2c 20 74 72 75 65 29 3b 00 00 00 09 09 74 69 6c 65 28 73 29 3b 00 00 00 01 7d 00 00 00 00 s),.true);.....tile(s);....}....
2940 00 00 00 48 76 6f 69 64 20 6b 69 6c 6c 5f 73 65 6c 28 76 6f 69 64 2a 20 64 61 74 61 2c 20 75 69 ...Hvoid.kill_sel(void*.data,.ui
2960 6e 74 33 32 5f 74 20 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 61 6c 75 65 2c 20 75 69 6e nt32_t.time,.uint32_t.value,.uin
2980 74 33 32 5f 74 20 73 74 61 74 65 29 00 00 00 01 7b 00 00 00 0c 09 28 76 6f 69 64 29 64 61 74 61 t32_t.state)....{.....(void)data
29a0 3b 00 00 00 0c 09 28 76 6f 69 64 29 74 69 6d 65 3b 00 00 00 0d 09 28 76 6f 69 64 29 76 61 6c 75 ;.....(void)time;.....(void)valu
29c0 65 3b 00 00 00 00 00 00 00 2c 09 69 66 20 28 73 74 61 74 65 20 21 3d 20 57 4c 5f 4b 45 59 42 4f e;.......,.if.(state.!=.WL_KEYBO
29e0 41 52 44 5f 4b 45 59 5f 53 54 41 54 45 5f 50 52 45 53 53 45 44 29 00 00 00 09 09 09 72 65 74 75 ARD_KEY_STATE_PRESSED)......retu
2a00 72 6e 3b 00 00 00 00 00 00 00 14 09 69 66 20 28 21 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 29 00 rn;.........if.(!wm.sel_client).
2a20 00 00 09 09 09 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 26 09 73 77 63 5f 77 69 6e 64 6f 77 5f .....return;.......&.swc_window_
2a40 63 6c 6f 73 65 28 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 2d 3e 77 69 6e 29 3b 00 00 00 01 7d 00 close(wm.sel_client->win);....}.
2a60 00 00 00 00 00 00 4d 76 6f 69 64 20 6d 61 73 74 65 72 5f 72 65 73 69 7a 65 28 76 6f 69 64 2a 20 ......Mvoid.master_resize(void*.
2a80 64 61 74 61 2c 20 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 61 data,.uint32_t.time,.uint32_t.va
2aa0 6c 75 65 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 0c 09 28 76 lue,.uint32_t.state)....{.....(v
2ac0 6f 69 64 29 74 69 6d 65 3b 00 00 00 0d 09 28 76 6f 69 64 29 76 61 6c 75 65 3b 00 00 00 00 00 00 oid)time;.....(void)value;......
2ae0 00 15 09 75 6e 69 6f 6e 20 61 72 67 2a 20 61 20 3d 20 64 61 74 61 3b 00 00 00 00 00 00 00 2c 09 ...union.arg*.a.=.data;.......,.
2b00 69 66 20 28 73 74 61 74 65 20 21 3d 20 57 4c 5f 4b 45 59 42 4f 41 52 44 5f 4b 45 59 5f 53 54 41 if.(state.!=.WL_KEYBOARD_KEY_STA
2b20 54 45 5f 50 52 45 53 53 45 44 29 00 00 00 09 09 09 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 14 TE_PRESSED)......return;........
2b40 09 69 66 20 28 21 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 29 00 00 00 09 09 09 72 65 74 75 72 6e .if.(!wm.sel_screen)......return
2b60 3b 00 00 00 00 00 00 00 0f 09 7b 20 2f 2a 20 62 6f 75 6e 64 73 20 2a 2f 00 00 00 41 09 09 73 74 ;.........{./*.bounds.*/...A..st
2b80 72 75 63 74 20 73 77 63 5f 72 65 63 74 61 6e 67 6c 65 2a 20 67 20 3d 20 26 77 6d 2e 73 65 6c 5f ruct.swc_rectangle*.g.=.&wm.sel_
2ba0 73 63 72 65 65 6e 2d 3e 73 63 72 2d 3e 75 73 61 62 6c 65 5f 67 65 6f 6d 65 74 72 79 3b 00 00 00 screen->scr->usable_geometry;...
2bc0 00 00 00 00 32 09 09 75 69 6e 74 33 32 5f 74 20 6f 75 74 5f 67 61 70 73 20 3d 20 63 66 67 2e 67 ....2..uint32_t.out_gaps.=.cfg.g
2be0 61 70 73 20 2b 20 63 66 67 2e 62 6f 72 64 65 72 5f 77 69 64 74 68 3b 00 00 00 37 09 09 75 69 6e aps.+.cfg.border_width;...7..uin
2c00 74 33 32 5f 74 20 69 6e 5f 67 61 70 73 20 3d 20 63 66 67 2e 67 61 70 73 20 2b 20 28 63 66 67 2e t32_t.in_gaps.=.cfg.gaps.+.(cfg.
2c20 62 6f 72 64 65 72 5f 77 69 64 74 68 20 2a 20 32 29 3b 00 00 00 00 00 00 00 3e 09 09 69 6e 74 33 border_width.*.2);.......>..int3
2c40 32 5f 74 20 74 6f 74 61 6c 20 3d 20 28 69 6e 74 33 32 5f 74 29 67 2d 3e 77 69 64 74 68 20 2d 20 2_t.total.=.(int32_t)g->width.-.
2c60 28 69 6e 74 33 32 5f 74 29 28 6f 75 74 5f 67 61 70 73 20 2a 20 32 29 3b 00 00 00 00 00 00 00 1a (int32_t)(out_gaps.*.2);........
2c80 09 09 69 6e 74 33 32 5f 74 20 6d 69 6e 5f 6d 61 73 74 65 72 20 3d 20 32 30 3b 00 00 00 35 09 09 ..int32_t.min_master.=.20;...5..
2ca0 69 6e 74 33 32 5f 74 20 6d 61 78 5f 6d 61 73 74 65 72 20 3d 20 74 6f 74 61 6c 20 2d 20 28 69 6e int32_t.max_master.=.total.-.(in
2cc0 74 33 32 5f 74 29 69 6e 5f 67 61 70 73 20 2d 20 32 30 3b 00 00 00 00 00 00 00 1e 09 09 69 66 20 t32_t)in_gaps.-.20;..........if.
2ce0 28 6d 61 78 5f 6d 61 73 74 65 72 20 3c 20 6d 69 6e 5f 6d 61 73 74 65 72 29 00 00 00 1b 09 09 09 (max_master.<.min_master).......
2d00 6d 61 78 5f 6d 61 73 74 65 72 20 3d 20 6d 69 6e 5f 6d 61 73 74 65 72 3b 00 00 00 00 00 00 00 2c max_master.=.min_master;.......,
2d20 09 09 69 6e 74 33 32 5f 74 20 6d 77 20 3d 20 28 69 6e 74 33 32 5f 74 29 6d 61 73 74 65 72 5f 77 ..int32_t.mw.=.(int32_t)master_w
2d40 69 64 74 68 20 2b 20 61 2d 3e 69 3b 00 00 00 00 00 00 00 16 09 09 69 66 20 28 6d 77 20 3c 20 6d idth.+.a->i;..........if.(mw.<.m
2d60 69 6e 5f 6d 61 73 74 65 72 29 00 00 00 13 09 09 09 6d 77 20 3d 20 6d 61 78 5f 6d 61 73 74 65 72 in_master).......mw.=.max_master
2d80 3b 00 00 00 1b 09 09 65 6c 73 65 20 69 66 20 28 6d 77 20 3e 20 6d 61 78 5f 6d 61 73 74 65 72 29 ;......else.if.(mw.>.max_master)
2da0 00 00 00 13 09 09 09 6d 77 20 3d 20 6d 69 6e 5f 6d 61 73 74 65 72 3b 00 00 00 00 00 00 00 1e 09 .......mw.=.min_master;.........
2dc0 09 6d 61 73 74 65 72 5f 77 69 64 74 68 20 3d 20 28 75 69 6e 74 33 32 5f 74 29 6d 77 3b 00 00 00 .master_width.=.(uint32_t)mw;...
2de0 02 09 7d 00 00 00 00 00 00 00 15 09 74 69 6c 65 28 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 29 3b ..}.........tile(wm.sel_screen);
2e00 00 00 00 01 7d 00 00 00 00 00 00 00 4a 76 6f 69 64 20 6d 6f 75 73 65 5f 6d 6f 76 65 28 76 6f 69 ....}.......Jvoid.mouse_move(voi
2e20 64 2a 20 64 61 74 61 2c 20 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 d*.data,.uint32_t.time,.uint32_t
2e40 20 76 61 6c 75 65 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 0c .value,.uint32_t.state)....{....
2e60 09 28 76 6f 69 64 29 64 61 74 61 3b 00 00 00 0c 09 28 76 6f 69 64 29 74 69 6d 65 3b 00 00 00 0d .(void)data;.....(void)time;....
2e80 09 28 76 6f 69 64 29 76 61 6c 75 65 3b 00 00 00 00 00 00 00 30 09 69 66 20 28 73 74 61 74 65 20 .(void)value;.......0.if.(state.
2ea0 3d 3d 20 57 4c 5f 50 4f 49 4e 54 45 52 5f 42 55 54 54 4f 4e 5f 53 54 41 54 45 5f 50 52 45 53 53 ==.WL_POINTER_BUTTON_STATE_PRESS
2ec0 45 44 29 20 7b 00 00 00 15 09 09 69 66 20 28 21 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 29 00 00 ED).{......if.(!wm.sel_client)..
2ee0 00 0a 09 09 09 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 21 09 09 69 66 20 28 21 77 6d 2e 73 65 .....return;.......!..if.(!wm.se
2f00 6c 5f 63 6c 69 65 6e 74 2d 3e 66 6c 6f 61 74 69 6e 67 29 20 7b 00 00 00 2c 09 09 09 73 65 74 5f l_client->floating).{...,...set_
2f20 66 6c 6f 61 74 69 6e 67 28 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 2c 20 74 72 75 65 2c 20 66 61 floating(wm.sel_client,.true,.fa
2f40 6c 73 65 29 3b 00 00 00 1c 09 09 09 74 69 6c 65 28 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 2d 3e lse);.......tile(wm.sel_client->
2f60 73 63 72 29 3b 00 00 00 03 09 09 7d 00 00 00 00 00 00 00 18 09 09 77 6d 2e 67 72 61 62 2e 61 63 scr);......}..........wm.grab.ac
2f80 74 69 76 65 20 3d 20 74 72 75 65 3b 00 00 00 19 09 09 77 6d 2e 67 72 61 62 2e 72 65 73 69 7a 65 tive.=.true;......wm.grab.resize
2fa0 20 3d 20 66 61 6c 73 65 3b 00 00 00 1c 09 09 77 6d 2e 67 72 61 62 2e 63 20 3d 20 77 6d 2e 73 65 .=.false;......wm.grab.c.=.wm.se
2fc0 6c 5f 63 6c 69 65 6e 74 3b 00 00 00 00 00 00 00 28 09 09 73 77 63 5f 77 69 6e 64 6f 77 5f 62 65 l_client;.......(..swc_window_be
2fe0 67 69 6e 5f 6d 6f 76 65 28 77 6d 2e 67 72 61 62 2e 63 2d 3e 77 69 6e 29 3b 00 00 00 02 09 7d 00 gin_move(wm.grab.c->win);.....}.
3000 00 00 07 09 65 6c 73 65 20 7b 00 00 00 36 09 09 69 66 20 28 21 77 6d 2e 67 72 61 62 2e 61 63 74 ....else.{...6..if.(!wm.grab.act
3020 69 76 65 20 7c 7c 20 77 6d 2e 67 72 61 62 2e 72 65 73 69 7a 65 20 7c 7c 20 21 77 6d 2e 67 72 61 ive.||.wm.grab.resize.||.!wm.gra
3040 62 2e 63 29 00 00 00 0a 09 09 09 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 26 09 09 73 77 63 5f b.c).......return;.......&..swc_
3060 77 69 6e 64 6f 77 5f 65 6e 64 5f 6d 6f 76 65 28 77 6d 2e 67 72 61 62 2e 63 2d 3e 77 69 6e 29 3b window_end_move(wm.grab.c->win);
3080 00 00 00 00 00 00 00 19 09 09 77 6d 2e 67 72 61 62 2e 61 63 74 69 76 65 20 3d 20 66 61 6c 73 65 ..........wm.grab.active.=.false
30a0 3b 00 00 00 13 09 09 77 6d 2e 67 72 61 62 2e 63 20 3d 20 4e 55 4c 4c 3b 00 00 00 02 09 7d 00 00 ;......wm.grab.c.=.NULL;.....}..
30c0 00 01 7d 00 00 00 00 00 00 00 4c 76 6f 69 64 20 6d 6f 75 73 65 5f 72 65 73 69 7a 65 28 76 6f 69 ..}.......Lvoid.mouse_resize(voi
30e0 64 2a 20 64 61 74 61 2c 20 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 d*.data,.uint32_t.time,.uint32_t
3100 20 76 61 6c 75 65 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 0c .value,.uint32_t.state)....{....
3120 09 28 76 6f 69 64 29 64 61 74 61 3b 00 00 00 0c 09 28 76 6f 69 64 29 74 69 6d 65 3b 00 00 00 0d .(void)data;.....(void)time;....
3140 09 28 76 6f 69 64 29 76 61 6c 75 65 3b 00 00 00 00 00 00 00 30 09 69 66 20 28 73 74 61 74 65 20 .(void)value;.......0.if.(state.
3160 3d 3d 20 57 4c 5f 50 4f 49 4e 54 45 52 5f 42 55 54 54 4f 4e 5f 53 54 41 54 45 5f 50 52 45 53 53 ==.WL_POINTER_BUTTON_STATE_PRESS
3180 45 44 29 20 7b 00 00 00 15 09 09 69 66 20 28 21 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 29 00 00 ED).{......if.(!wm.sel_client)..
31a0 00 0a 09 09 09 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 21 09 09 69 66 20 28 21 77 6d 2e 73 65 .....return;.......!..if.(!wm.se
31c0 6c 5f 63 6c 69 65 6e 74 2d 3e 66 6c 6f 61 74 69 6e 67 29 20 7b 00 00 00 2c 09 09 09 73 65 74 5f l_client->floating).{...,...set_
31e0 66 6c 6f 61 74 69 6e 67 28 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 2c 20 74 72 75 65 2c 20 66 61 floating(wm.sel_client,.true,.fa
3200 6c 73 65 29 3b 00 00 00 1c 09 09 09 74 69 6c 65 28 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 2d 3e lse);.......tile(wm.sel_client->
3220 73 63 72 29 3b 00 00 00 03 09 09 7d 00 00 00 00 00 00 00 18 09 09 77 6d 2e 67 72 61 62 2e 61 63 scr);......}..........wm.grab.ac
3240 74 69 76 65 20 3d 20 74 72 75 65 3b 00 00 00 18 09 09 77 6d 2e 67 72 61 62 2e 72 65 73 69 7a 65 tive.=.true;......wm.grab.resize
3260 20 3d 20 74 72 75 65 3b 00 00 00 1c 09 09 77 6d 2e 67 72 61 62 2e 63 20 3d 20 77 6d 2e 73 65 6c .=.true;......wm.grab.c.=.wm.sel
3280 5f 63 6c 69 65 6e 74 3b 00 00 00 00 00 00 00 1a 09 09 73 77 63 5f 77 69 6e 64 6f 77 5f 62 65 67 _client;..........swc_window_beg
32a0 69 6e 5f 72 65 73 69 7a 65 28 00 00 00 12 09 09 09 77 6d 2e 67 72 61 62 2e 63 2d 3e 77 69 6e 2c in_resize(.......wm.grab.c->win,
32c0 00 00 00 31 09 09 09 53 57 43 5f 57 49 4e 44 4f 57 5f 45 44 47 45 5f 52 49 47 48 54 20 7c 20 53 ...1...SWC_WINDOW_EDGE_RIGHT.|.S
32e0 57 43 5f 57 49 4e 44 4f 57 5f 45 44 47 45 5f 42 4f 54 54 4f 4d 00 00 00 04 09 09 29 3b 00 00 00 WC_WINDOW_EDGE_BOTTOM......);...
3300 02 09 7d 00 00 00 07 09 65 6c 73 65 20 7b 00 00 00 37 09 09 69 66 20 28 21 77 6d 2e 67 72 61 62 ..}.....else.{...7..if.(!wm.grab
3320 2e 61 63 74 69 76 65 20 7c 7c 20 21 77 6d 2e 67 72 61 62 2e 72 65 73 69 7a 65 20 7c 7c 20 21 77 .active.||.!wm.grab.resize.||.!w
3340 6d 2e 67 72 61 62 2e 63 29 00 00 00 0a 09 09 09 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 28 09 m.grab.c).......return;.......(.
3360 09 73 77 63 5f 77 69 6e 64 6f 77 5f 65 6e 64 5f 72 65 73 69 7a 65 28 77 6d 2e 67 72 61 62 2e 63 .swc_window_end_resize(wm.grab.c
3380 2d 3e 77 69 6e 29 3b 00 00 00 00 00 00 00 19 09 09 77 6d 2e 67 72 61 62 2e 61 63 74 69 76 65 20 ->win);..........wm.grab.active.
33a0 3d 20 66 61 6c 73 65 3b 00 00 00 13 09 09 77 6d 2e 67 72 61 62 2e 63 20 3d 20 4e 55 4c 4c 3b 00 =.false;......wm.grab.c.=.NULL;.
33c0 00 00 02 09 7d 00 00 00 01 7d 00 00 00 00 00 00 00 27 76 6f 69 64 20 6e 65 77 5f 73 63 72 65 65 ....}....}.......'void.new_scree
33e0 6e 28 73 74 72 75 63 74 20 73 77 63 5f 73 63 72 65 65 6e 2a 20 73 63 72 29 00 00 00 01 7b 00 00 n(struct.swc_screen*.scr)....{..
3400 00 12 09 73 74 72 75 63 74 20 73 63 72 65 65 6e 2a 20 73 3b 00 00 00 00 00 00 00 18 09 73 20 3d ...struct.screen*.s;.........s.=
3420 20 6d 61 6c 6c 6f 63 28 73 69 7a 65 6f 66 28 2a 73 29 29 3b 00 00 00 08 09 69 66 20 28 21 73 29 .malloc(sizeof(*s));.....if.(!s)
3440 00 00 00 30 09 09 64 69 65 28 45 58 49 54 5f 46 41 49 4c 55 52 45 2c 20 22 6e 65 77 20 73 63 72 ...0..die(EXIT_FAILURE,."new.scr
3460 65 65 6e 20 63 61 6c 6c 6f 63 20 66 61 69 6c 65 64 22 29 3b 00 00 00 00 00 00 00 0e 09 73 2d 3e een.calloc.failed");.........s->
3480 73 63 72 20 3d 20 73 63 72 3b 00 00 00 00 00 00 00 0a 09 73 2d 3e 78 20 3d 20 30 3b 00 00 00 0a scr.=.scr;.........s->x.=.0;....
34a0 09 73 2d 3e 79 20 3d 20 30 3b 00 00 00 0a 09 73 2d 3e 77 20 3d 20 30 3b 00 00 00 0a 09 73 2d 3e .s->y.=.0;.....s->w.=.0;.....s->
34c0 68 20 3d 20 30 3b 00 00 00 00 00 00 00 27 09 77 6c 5f 6c 69 73 74 5f 69 6e 73 65 72 74 28 26 77 h.=.0;.......'.wl_list_insert(&w
34e0 6d 2e 73 63 72 65 65 6e 73 2c 20 26 73 2d 3e 6c 69 6e 6b 29 3b 00 00 00 00 00 00 00 14 09 69 66 m.screens,.&s->link);.........if
3500 20 28 21 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 29 00 00 00 14 09 09 77 6d 2e 73 65 6c 5f 73 63 .(!wm.sel_screen)......wm.sel_sc
3520 72 65 65 6e 20 3d 20 73 3b 00 00 00 00 00 00 00 31 09 73 77 63 5f 73 63 72 65 65 6e 5f 73 65 74 reen.=.s;.......1.swc_screen_set
3540 5f 68 61 6e 64 6c 65 72 28 73 63 72 2c 20 26 73 63 72 65 65 6e 5f 68 61 6e 64 6c 65 72 2c 20 73 _handler(scr,.&screen_handler,.s
3560 29 3b 00 00 00 00 00 00 00 2d 09 5f 6c 6f 67 28 73 74 64 65 72 72 2c 20 22 6e 65 77 5f 73 63 72 );.......-._log(stderr,."new_scr
3580 65 65 6e 3d 25 70 5c 6e 22 2c 20 28 76 6f 69 64 2a 29 73 63 72 29 3b 00 00 00 01 7d 00 00 00 00 een=%p\n",.(void*)scr);....}....
35a0 00 00 00 27 76 6f 69 64 20 6e 65 77 5f 77 69 6e 64 6f 77 28 73 74 72 75 63 74 20 73 77 63 5f 77 ...'void.new_window(struct.swc_w
35c0 69 6e 64 6f 77 2a 20 77 69 6e 29 00 00 00 01 7b 00 00 00 12 09 73 74 72 75 63 74 20 63 6c 69 65 indow*.win)....{.....struct.clie
35e0 6e 74 2a 20 63 3b 00 00 00 00 00 00 00 18 09 63 20 3d 20 6d 61 6c 6c 6f 63 28 73 69 7a 65 6f 66 nt*.c;.........c.=.malloc(sizeof
3600 28 2a 63 29 29 3b 00 00 00 08 09 69 66 20 28 21 63 29 00 00 00 2c 09 09 64 69 65 28 45 58 49 54 (*c));.....if.(!c)...,..die(EXIT
3620 5f 46 41 49 4c 55 52 45 2c 20 22 6d 61 6c 6c 6f 63 20 63 6c 69 65 6e 74 20 66 61 69 6c 65 64 22 _FAILURE,."malloc.client.failed"
3640 29 3b 00 00 00 00 00 00 00 39 09 77 69 6e 2d 3e 6d 6f 74 69 6f 6e 5f 74 68 72 6f 74 74 6c 65 5f );.......9.win->motion_throttle_
3660 6d 73 20 3d 20 31 30 30 30 20 2f 20 63 66 67 2e 6d 6f 74 69 6f 6e 5f 74 68 72 6f 74 74 6c 65 5f ms.=.1000./.cfg.motion_throttle_
3680 68 7a 3b 00 00 00 15 09 77 69 6e 2d 3e 6d 69 6e 5f 77 69 64 74 68 20 3d 20 32 30 3b 00 00 00 16 hz;.....win->min_width.=.20;....
36a0 09 77 69 6e 2d 3e 6d 69 6e 5f 68 65 69 67 68 74 20 3d 20 32 30 3b 00 00 00 14 09 77 69 6e 2d 3e .win->min_height.=.20;.....win->
36c0 6d 61 78 5f 77 69 64 74 68 20 3d 20 30 3b 00 00 00 15 09 77 69 6e 2d 3e 6d 61 78 5f 68 65 69 67 max_width.=.0;.....win->max_heig
36e0 68 74 20 3d 20 30 3b 00 00 00 00 00 00 00 0e 09 63 2d 3e 77 69 6e 20 3d 20 77 69 6e 3b 00 00 00 ht.=.0;.........c->win.=.win;...
3700 18 09 63 2d 3e 73 63 72 20 3d 20 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 3b 00 00 00 13 09 63 2d ..c->scr.=.wm.sel_screen;.....c-
3720 3e 6d 61 70 70 65 64 20 3d 20 66 61 6c 73 65 3b 00 00 00 22 09 63 2d 3e 66 6c 6f 61 74 69 6e 67 >mapped.=.false;...".c->floating
3740 20 3d 20 77 6d 2e 67 6c 6f 62 61 6c 5f 66 6c 6f 61 74 69 6e 67 3b 00 00 00 17 09 63 2d 3e 66 75 .=.wm.global_floating;.....c->fu
3760 6c 6c 73 63 72 65 65 6e 20 3d 20 66 61 6c 73 65 3b 00 00 00 0f 09 63 2d 3e 77 73 20 3d 20 66 61 llscreen.=.false;.....c->ws.=.fa
3780 6c 73 65 3b 00 00 00 00 00 00 00 13 09 69 66 20 28 63 2d 3e 66 6c 6f 61 74 69 6e 67 29 20 7b 00 lse;.........if.(c->floating).{.
37a0 00 00 2f 09 09 77 6c 5f 6c 69 73 74 5f 69 6e 73 65 72 74 28 26 77 6d 2e 66 6c 6f 61 74 69 6e 67 ../..wl_list_insert(&wm.floating
37c0 2c 20 26 63 2d 3e 66 6c 6f 61 74 5f 6c 69 6e 6b 29 3b 00 00 00 1f 09 09 77 6c 5f 6c 69 73 74 5f ,.&c->float_link);......wl_list_
37e0 69 6e 69 74 28 26 63 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 29 3b 00 00 00 32 09 09 73 77 63 5f 77 init(&c->tiled_link);...2..swc_w
3800 69 6e 64 6f 77 5f 73 65 74 5f 68 61 6e 64 6c 65 72 28 77 69 6e 2c 20 26 77 69 6e 64 6f 77 5f 68 indow_set_handler(win,.&window_h
3820 61 6e 64 6c 65 72 2c 20 63 29 3b 00 00 00 1e 09 09 73 77 63 5f 77 69 6e 64 6f 77 5f 73 65 74 5f andler,.c);......swc_window_set_
3840 73 74 61 63 6b 65 64 28 77 69 6e 29 3b 00 00 00 02 09 7d 00 00 00 07 09 65 6c 73 65 20 7b 00 00 stacked(win);.....}.....else.{..
3860 00 2c 09 09 77 6c 5f 6c 69 73 74 5f 69 6e 73 65 72 74 28 26 77 6d 2e 74 69 6c 65 64 2c 20 26 63 .,..wl_list_insert(&wm.tiled,.&c
3880 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 29 3b 00 00 00 1f 09 09 77 6c 5f 6c 69 73 74 5f 69 6e 69 74 ->tiled_link);......wl_list_init
38a0 28 26 63 2d 3e 66 6c 6f 61 74 5f 6c 69 6e 6b 29 3b 00 00 00 32 09 09 73 77 63 5f 77 69 6e 64 6f (&c->float_link);...2..swc_windo
38c0 77 5f 73 65 74 5f 68 61 6e 64 6c 65 72 28 77 69 6e 2c 20 26 77 69 6e 64 6f 77 5f 68 61 6e 64 6c w_set_handler(win,.&window_handl
38e0 65 72 2c 20 63 29 3b 00 00 00 1c 09 09 73 77 63 5f 77 69 6e 64 6f 77 5f 73 65 74 5f 74 69 6c 65 er,.c);......swc_window_set_tile
3900 64 28 77 69 6e 29 3b 00 00 00 02 09 7d 00 00 00 16 09 73 77 63 5f 77 69 6e 64 6f 77 5f 73 68 6f d(win);.....}.....swc_window_sho
3920 77 28 77 69 6e 29 3b 00 00 00 10 09 66 6f 63 75 73 28 63 2c 20 74 72 75 65 29 3b 00 00 00 15 09 w(win);.....focus(c,.true);.....
3940 74 69 6c 65 28 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 29 3b 00 00 00 00 00 00 00 2d 09 5f 6c 6f tile(wm.sel_screen);.......-._lo
3960 67 28 73 74 64 65 72 72 2c 20 22 6e 65 77 5f 77 69 6e 64 6f 77 3d 25 70 5c 6e 22 2c 20 28 76 6f g(stderr,."new_window=%p\n",.(vo
3980 69 64 2a 29 77 69 6e 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 2c 76 6f 69 64 20 6e 65 77 5f 64 id*)win);....}.......,void.new_d
39a0 65 76 69 63 65 28 73 74 72 75 63 74 20 6c 69 62 69 6e 70 75 74 5f 64 65 76 69 63 65 2a 20 64 65 evice(struct.libinput_device*.de
39c0 76 29 00 00 00 01 7b 00 00 00 0b 09 28 76 6f 69 64 29 64 65 76 3b 00 00 00 01 7d 00 00 00 00 00 v)....{.....(void)dev;....}.....
39e0 00 00 44 76 6f 69 64 20 71 75 69 74 28 76 6f 69 64 2a 20 64 61 74 61 2c 20 75 69 6e 74 33 32 5f ..Dvoid.quit(void*.data,.uint32_
3a00 74 20 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 61 6c 75 65 2c 20 75 69 6e 74 33 32 5f 74 t.time,.uint32_t.value,.uint32_t
3a20 20 73 74 61 74 65 29 00 00 00 01 7b 00 00 00 0c 09 28 76 6f 69 64 29 64 61 74 61 3b 00 00 00 0c .state)....{.....(void)data;....
3a40 09 28 76 6f 69 64 29 74 69 6d 65 3b 00 00 00 0d 09 28 76 6f 69 64 29 76 61 6c 75 65 3b 00 00 00 .(void)time;.....(void)value;...
3a60 0d 09 28 76 6f 69 64 29 73 74 61 74 65 3b 00 00 00 00 00 00 00 1e 09 77 6c 5f 64 69 73 70 6c 61 ..(void)state;.........wl_displa
3a80 79 5f 74 65 72 6d 69 6e 61 74 65 28 77 6d 2e 64 70 79 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 y_terminate(wm.dpy);....}.......
3aa0 45 76 6f 69 64 20 73 70 61 77 6e 28 76 6f 69 64 2a 20 64 61 74 61 2c 20 75 69 6e 74 33 32 5f 74 Evoid.spawn(void*.data,.uint32_t
3ac0 20 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 61 6c 75 65 2c 20 75 69 6e 74 33 32 5f 74 20 .time,.uint32_t.value,.uint32_t.
3ae0 73 74 61 74 65 29 00 00 00 01 7b 00 00 00 15 09 75 6e 69 6f 6e 20 61 72 67 2a 20 61 20 3d 20 64 state)....{.....union.arg*.a.=.d
3b00 61 74 61 3b 00 00 00 27 09 63 68 61 72 2a 20 63 6f 6e 73 74 2a 20 63 6d 64 20 3d 20 28 63 68 61 ata;...'.char*.const*.cmd.=.(cha
3b20 72 2a 20 63 6f 6e 73 74 2a 29 61 2d 3e 76 3b 00 00 00 00 00 00 00 0c 09 28 76 6f 69 64 29 74 69 r*.const*)a->v;.........(void)ti
3b40 6d 65 3b 00 00 00 0d 09 28 76 6f 69 64 29 76 61 6c 75 65 3b 00 00 00 00 00 00 00 2c 09 69 66 20 me;.....(void)value;.......,.if.
3b60 28 73 74 61 74 65 20 21 3d 20 57 4c 5f 4b 45 59 42 4f 41 52 44 5f 4b 45 59 5f 53 54 41 54 45 5f (state.!=.WL_KEYBOARD_KEY_STATE_
3b80 50 52 45 53 53 45 44 29 00 00 00 09 09 09 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 13 09 69 66 PRESSED)......return;.........if
3ba0 20 28 66 6f 72 6b 28 29 20 3d 3d 20 30 29 20 7b 00 00 00 16 09 09 65 78 65 63 76 70 28 63 6d 64 .(fork().==.0).{......execvp(cmd
3bc0 5b 30 5d 2c 20 63 6d 64 29 3b 00 00 00 0d 09 09 5f 65 78 69 74 28 31 32 37 29 3b 00 00 00 02 09 [0],.cmd);......_exit(127);.....
3be0 7d 00 00 00 01 7d 00 00 00 00 00 00 00 4c 76 6f 69 64 20 74 6f 67 67 6c 65 5f 66 6c 6f 61 74 28 }....}.......Lvoid.toggle_float(
3c00 76 6f 69 64 2a 20 64 61 74 61 2c 20 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 2c 20 75 69 6e 74 33 void*.data,.uint32_t.time,.uint3
3c20 32 5f 74 20 76 61 6c 75 65 2c 20 75 69 6e 74 33 32 5f 74 20 73 74 61 74 65 29 00 00 00 01 7b 00 2_t.value,.uint32_t.state)....{.
3c40 00 00 0c 09 28 76 6f 69 64 29 64 61 74 61 3b 00 00 00 0c 09 28 76 6f 69 64 29 74 69 6d 65 3b 00 ....(void)data;.....(void)time;.
3c60 00 00 0d 09 28 76 6f 69 64 29 76 61 6c 75 65 3b 00 00 00 00 00 00 00 2c 09 69 66 20 28 73 74 61 ....(void)value;.......,.if.(sta
3c80 74 65 20 21 3d 20 57 4c 5f 4b 45 59 42 4f 41 52 44 5f 4b 45 59 5f 53 54 41 54 45 5f 50 52 45 53 te.!=.WL_KEYBOARD_KEY_STATE_PRES
3ca0 53 45 44 29 00 00 00 09 09 09 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 14 09 69 66 20 28 21 77 SED)......return;.........if.(!w
3cc0 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 29 00 00 00 09 09 09 72 65 74 75 72 6e 3b 00 00 00 00 00 00 m.sel_client)......return;......
3ce0 00 3d 09 73 65 74 5f 66 6c 6f 61 74 69 6e 67 28 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 2c 20 21 .=.set_floating(wm.sel_client,.!
3d00 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 2d 3e 66 6c 6f 61 74 69 6e 67 2c 20 74 72 75 65 29 3b 00 wm.sel_client->floating,.true);.
3d20 00 00 00 00 00 00 1a 09 74 69 6c 65 28 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 2d 3e 73 63 72 29 ........tile(wm.sel_client->scr)
3d40 3b 00 00 00 01 7d 00 00 00 00 00 00 00 53 76 6f 69 64 20 74 6f 67 67 6c 65 5f 66 6c 6f 61 74 5f ;....}.......Svoid.toggle_float_
3d60 67 6c 6f 62 61 6c 28 76 6f 69 64 2a 20 64 61 74 61 2c 20 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 global(void*.data,.uint32_t.time
3d80 2c 20 75 69 6e 74 33 32 5f 74 20 76 61 6c 75 65 2c 20 75 69 6e 74 33 32 5f 74 20 73 74 61 74 65 ,.uint32_t.value,.uint32_t.state
3da0 29 00 00 00 01 7b 00 00 00 0c 09 28 76 6f 69 64 29 64 61 74 61 3b 00 00 00 0c 09 28 76 6f 69 64 )....{.....(void)data;.....(void
3dc0 29 74 69 6d 65 3b 00 00 00 0d 09 28 76 6f 69 64 29 76 61 6c 75 65 3b 00 00 00 00 00 00 00 2c 09 )time;.....(void)value;.......,.
3de0 69 66 20 28 73 74 61 74 65 20 21 3d 20 57 4c 5f 4b 45 59 42 4f 41 52 44 5f 4b 45 59 5f 53 54 41 if.(state.!=.WL_KEYBOARD_KEY_STA
3e00 54 45 5f 50 52 45 53 53 45 44 29 00 00 00 09 09 09 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 2a TE_PRESSED)......return;.......*
3e20 09 77 6d 2e 67 6c 6f 62 61 6c 5f 66 6c 6f 61 74 69 6e 67 20 3d 20 21 77 6d 2e 67 6c 6f 62 61 6c .wm.global_floating.=.!wm.global
3e40 5f 66 6c 6f 61 74 69 6e 67 3b 00 00 00 01 7d 00 00 00 00 00 00 00 0e 69 6e 74 20 6d 61 69 6e 28 _floating;....}........int.main(
3e60 76 6f 69 64 29 00 00 00 01 7b 00 00 00 09 09 73 65 74 75 70 28 29 3b 00 00 00 18 09 77 6c 5f 64 void)....{.....setup();.....wl_d
3e80 69 73 70 6c 61 79 5f 72 75 6e 28 77 6d 2e 64 70 79 29 3b 00 00 00 10 09 73 77 63 5f 66 69 6e 61 isplay_run(wm.dpy);.....swc_fina
3ea0 6c 69 7a 65 28 29 3b 00 00 00 1c 09 77 6c 5f 64 69 73 70 6c 61 79 5f 64 65 73 74 72 6f 79 28 77 lize();.....wl_display_destroy(w
3ec0 6d 2e 64 70 79 29 3b 00 00 00 15 09 72 65 74 75 72 6e 20 45 58 49 54 5f 53 55 43 43 45 53 53 3b m.dpy);.....return.EXIT_SUCCESS;
3ee0 35 81 f5 18 00 00 00 00 0f 00 00 00 1f 00 00 00 bc 02 00 00 01 00 00 00 97 02 00 00 02 00 00 00 5...............................
3f00 2d 01 00 00 00 00 00 00 72 34 00 00 00 00 00 00 af 37 00 00 00 00 00 00 35 81 5f d0 00 00 00 01 -.......r4.......7......5._.....
3f20 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff ................................
3f40 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 ................................
4080 00 04 00 00 00 00 00 00 02 a8 00 00 00 01 00 00 00 00 00 00 00 56 00 00 00 04 00 00 00 00 69 95 .....................V........i.
40a0 64 2a 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 00 00 00 00 00 02 a8 00 00 00 13 23 d*.............................#
40c0 69 6e 63 6c 75 64 65 20 3c 73 69 67 6e 61 6c 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c include.<signal.h>....#include.<
40e0 73 74 64 69 6f 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 6c 69 62 2e 68 3e 00 stdio.h>....#include.<stdlib.h>.
4100 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 75 6e 69 73 74 64 2e 68 3e 00 00 00 00 00 00 00 10 23 69 ...#include.<unistd.h>........#i
4120 6e 63 6c 75 64 65 20 3c 73 77 63 2e 68 3e 00 00 00 1b 23 69 6e 63 6c 75 64 65 20 3c 77 61 79 6c nclude.<swc.h>....#include.<wayl
4140 61 6e 64 2d 73 65 72 76 65 72 2e 68 3e 00 00 00 19 23 69 6e 63 6c 75 64 65 20 3c 77 61 79 6c 61 and-server.h>....#include.<wayla
4160 6e 64 2d 75 74 69 6c 2e 68 3e 00 00 00 28 23 69 6e 63 6c 75 64 65 20 3c 78 6b 62 63 6f 6d 6d 6f nd-util.h>...(#include.<xkbcommo
4180 6e 2f 78 6b 62 63 6f 6d 6d 6f 6e 2d 6b 65 79 73 79 6d 73 2e 68 3e 00 00 00 00 00 00 00 13 23 69 n/xkbcommon-keysyms.h>........#i
41a0 6e 63 6c 75 64 65 20 22 63 6f 6e 66 69 67 2e 68 22 00 00 00 12 23 69 6e 63 6c 75 64 65 20 22 74 nclude."config.h"....#include."t
41c0 79 70 65 73 2e 68 22 00 00 00 11 23 69 6e 63 6c 75 64 65 20 22 75 74 69 6c 2e 68 22 00 00 00 12 ypes.h"....#include."util.h"....
41e0 23 69 6e 63 6c 75 64 65 20 22 77 73 78 77 6d 2e 68 22 00 00 00 00 00 00 00 30 73 74 61 74 69 63 #include."wsxwm.h".......0static
4200 20 76 6f 69 64 20 66 6f 63 75 73 28 73 74 72 75 63 74 20 63 6c 69 65 6e 74 20 2a 63 2c 20 62 6f .void.focus(struct.client.*c,.bo
4220 6f 6c 20 72 61 69 73 65 29 3b 00 00 00 2a 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 73 63 72 ol.raise);...*static.void.on_scr
4240 65 65 6e 5f 64 65 73 74 72 6f 79 28 76 6f 69 64 20 2a 64 61 74 61 29 3b 00 00 00 3a 73 74 61 74 een_destroy(void.*data);...:stat
4260 69 63 20 76 6f 69 64 20 6f 6e 5f 73 63 72 65 65 6e 5f 75 73 61 62 6c 65 5f 67 65 6f 6d 65 74 72 ic.void.on_screen_usable_geometr
4280 79 5f 63 68 61 6e 67 65 64 28 76 6f 69 64 20 2a 64 61 74 61 29 3b 00 00 00 27 73 74 61 74 69 63 y_changed(void.*data);...'static
42a0 20 76 6f 69 64 20 6f 6e 5f 77 69 6e 5f 64 65 73 74 72 6f 79 28 76 6f 69 64 20 2a 64 61 74 61 29 .void.on_win_destroy(void.*data)
42c0 3b 00 00 00 27 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 77 69 6e 5f 65 6e 74 65 72 65 64 28 ;...'static.void.on_win_entered(
42e0 76 6f 69 64 20 2a 64 61 74 61 29 3b 00 00 00 18 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 74 75 void.*data);....static.void.setu
4300 70 28 76 6f 69 64 29 3b 00 00 00 1e 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 74 75 70 5f 62 69 p(void);....static.void.setup_bi
4320 6e 64 73 28 76 6f 69 64 29 3b 00 00 00 46 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 74 5f 66 6c nds(void);...Fstatic.void.set_fl
4340 6f 61 74 69 6e 67 28 73 74 72 75 63 74 20 63 6c 69 65 6e 74 20 2a 63 2c 20 62 6f 6f 6c 20 66 6c oating(struct.client.*c,.bool.fl
4360 6f 61 74 69 6e 67 2c 20 62 6f 6f 6c 20 72 61 69 73 65 29 3b 00 00 00 23 73 74 61 74 69 63 20 76 oating,.bool.raise);...#static.v
4380 6f 69 64 20 74 69 6c 65 28 73 74 72 75 63 74 20 73 63 72 65 65 6e 20 2a 73 29 3b 00 00 00 00 00 oid.tile(struct.screen.*s);.....
43a0 00 00 18 2f 2a 20 6d 61 73 74 65 72 20 77 69 64 74 68 20 69 6e 20 70 78 20 2a 2f 00 00 00 21 73 .../*.master.width.in.px.*/...!s
43c0 74 61 74 69 63 20 75 69 6e 74 33 32 5f 74 20 6d 61 73 74 65 72 5f 77 69 64 74 68 20 3d 20 30 3b tatic.uint32_t.master_width.=.0;
43e0 00 00 00 00 00 00 00 0d 73 74 72 75 63 74 20 77 6d 20 77 6d 3b 00 00 00 24 63 6f 6e 73 74 20 73 ........struct.wm.wm;...$const.s
4400 74 72 75 63 74 20 73 77 63 5f 6d 61 6e 61 67 65 72 20 6d 61 6e 61 67 65 72 20 3d 20 7b 00 00 00 truct.swc_manager.manager.=.{...
4420 1d 20 20 20 20 2e 6e 65 77 5f 73 63 72 65 65 6e 20 3d 20 6e 65 77 5f 73 63 72 65 65 6e 2c 00 00 ......new_screen.=.new_screen,..
4440 00 1d 20 20 20 20 2e 6e 65 77 5f 77 69 6e 64 6f 77 20 3d 20 6e 65 77 5f 77 69 6e 64 6f 77 2c 00 .......new_window.=.new_window,.
4460 00 00 1d 20 20 20 20 2e 6e 65 77 5f 64 65 76 69 63 65 20 3d 20 6e 65 77 5f 64 65 76 69 63 65 2c ........new_device.=.new_device,
4480 00 00 00 02 7d 3b 00 00 00 2c 73 74 72 75 63 74 20 73 77 63 5f 77 69 6e 64 6f 77 5f 68 61 6e 64 ....};...,struct.swc_window_hand
44a0 6c 65 72 20 77 69 6e 64 6f 77 5f 68 61 6e 64 6c 65 72 20 3d 20 7b 00 00 00 1e 20 20 20 20 2e 64 ler.window_handler.=.{.........d
44c0 65 73 74 72 6f 79 20 3d 20 6f 6e 5f 77 69 6e 5f 64 65 73 74 72 6f 79 2c 00 00 00 1e 20 20 20 20 estroy.=.on_win_destroy,........
44e0 2e 65 6e 74 65 72 65 64 20 3d 20 6f 6e 5f 77 69 6e 5f 65 6e 74 65 72 65 64 2c 00 00 00 02 7d 3b .entered.=.on_win_entered,....};
4500 00 00 00 2c 73 74 72 75 63 74 20 73 77 63 5f 73 63 72 65 65 6e 5f 68 61 6e 64 6c 65 72 20 73 63 ...,struct.swc_screen_handler.sc
4520 72 65 65 6e 5f 68 61 6e 64 6c 65 72 20 3d 20 7b 00 00 00 21 20 20 20 20 2e 64 65 73 74 72 6f 79 reen_handler.=.{...!.....destroy
4540 20 3d 20 6f 6e 5f 73 63 72 65 65 6e 5f 64 65 73 74 72 6f 79 2c 00 00 00 41 20 20 20 20 2e 75 73 .=.on_screen_destroy,...A.....us
4560 61 62 6c 65 5f 67 65 6f 6d 65 74 72 79 5f 63 68 61 6e 67 65 64 20 3d 20 6f 6e 5f 73 63 72 65 65 able_geometry_changed.=.on_scree
4580 6e 5f 75 73 61 62 6c 65 5f 67 65 6f 6d 65 74 72 79 5f 63 68 61 6e 67 65 64 2c 00 00 00 02 7d 3b n_usable_geometry_changed,....};
45a0 00 00 00 00 00 00 00 31 73 74 61 74 69 63 20 76 6f 69 64 20 66 6f 63 75 73 28 73 74 72 75 63 74 .......1static.void.focus(struct
45c0 20 63 6c 69 65 6e 74 20 2a 63 2c 20 62 6f 6f 6c 20 72 61 69 73 65 29 20 7b 00 00 00 14 20 20 69 .client.*c,.bool.raise).{......i
45e0 66 20 28 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 29 00 00 00 44 20 20 20 20 73 77 63 5f 77 69 6e f.(wm.sel_client)...D....swc_win
4600 64 6f 77 5f 73 65 74 5f 62 6f 72 64 65 72 28 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 2d 3e 77 69 dow_set_border(wm.sel_client->wi
4620 6e 2c 20 63 66 67 2e 62 6f 72 64 65 72 5f 63 6f 6c 5f 6e 6f 72 6d 61 6c 2c 00 00 00 32 20 20 20 n,.cfg.border_col_normal,...2...
4640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 66 67 2e 62 6f 72 64 65 .......................cfg.borde
4660 72 5f 77 69 64 74 68 2c 20 30 2c 20 30 29 3b 00 00 00 00 00 00 00 08 20 20 69 66 20 28 63 29 00 r_width,.0,.0);..........if.(c).
4680 00 00 4d 20 20 20 20 73 77 63 5f 77 69 6e 64 6f 77 5f 73 65 74 5f 62 6f 72 64 65 72 28 63 2d 3e ..M....swc_window_set_border(c->
46a0 77 69 6e 2c 20 63 66 67 2e 62 6f 72 64 65 72 5f 63 6f 6c 5f 61 63 74 69 76 65 2c 20 63 66 67 2e win,.cfg.border_col_active,.cfg.
46c0 62 6f 72 64 65 72 5f 77 69 64 74 68 2c 20 30 2c 00 00 00 1d 20 20 20 20 20 20 20 20 20 20 20 20 border_width,.0,................
46e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 29 3b 00 00 00 00 00 00 00 20 20 20 69 66 20 28 72 ..............0);..........if.(r
4700 61 69 73 65 20 26 26 20 63 20 26 26 20 63 2d 3e 66 6c 6f 61 74 69 6e 67 29 00 00 00 20 20 20 20 aise.&&.c.&&.c->floating).......
4720 20 73 65 74 5f 66 6c 6f 61 74 69 6e 67 28 63 2c 20 74 72 75 65 2c 20 74 72 75 65 29 3b 00 00 00 .set_floating(c,.true,.true);...
4740 00 00 00 00 26 20 20 73 77 63 5f 77 69 6e 64 6f 77 5f 66 6f 63 75 73 28 63 20 3f 20 63 2d 3e 77 ....&..swc_window_focus(c.?.c->w
4760 69 6e 20 3a 20 4e 55 4c 4c 29 3b 00 00 00 14 20 20 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 20 3d in.:.NULL);......wm.sel_client.=
4780 20 63 3b 00 00 00 01 7d 00 00 00 00 00 00 00 2b 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 73 .c;....}.......+static.void.on_s
47a0 63 72 65 65 6e 5f 64 65 73 74 72 6f 79 28 76 6f 69 64 20 2a 64 61 74 61 29 20 7b 00 00 00 1a 20 creen_destroy(void.*data).{.....
47c0 20 73 74 72 75 63 74 20 73 63 72 65 65 6e 20 2a 73 20 3d 20 64 61 74 61 3b 00 00 00 00 00 00 00 .struct.screen.*s.=.data;.......
47e0 09 20 20 69 66 20 28 21 73 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 ...if.(!s)........return;.......
4800 1b 20 20 77 6c 5f 6c 69 73 74 5f 72 65 6d 6f 76 65 28 26 73 2d 3e 6c 69 6e 6b 29 3b 00 00 00 00 ...wl_list_remove(&s->link);....
4820 00 00 00 1b 20 20 69 66 20 28 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 20 3d 3d 20 73 29 20 7b 00 ......if.(wm.sel_screen.==.s).{.
4840 00 00 23 20 20 20 20 69 66 20 28 77 6c 5f 6c 69 73 74 5f 65 6d 70 74 79 28 26 77 6d 2e 73 63 72 ..#....if.(wl_list_empty(&wm.scr
4860 65 65 6e 73 29 29 00 00 00 1b 20 20 20 20 20 20 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 20 3d 20 eens))..........wm.sel_screen.=.
4880 4e 55 4c 4c 3b 00 00 00 08 20 20 20 20 65 6c 73 65 00 00 00 4c 20 20 20 20 20 20 77 6d 2e 73 65 NULL;........else...L......wm.se
48a0 6c 5f 73 63 72 65 65 6e 20 3d 20 77 6c 5f 63 6f 6e 74 61 69 6e 65 72 5f 6f 66 28 77 6d 2e 73 63 l_screen.=.wl_container_of(wm.sc
48c0 72 65 65 6e 73 2e 6e 65 78 74 2c 20 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 2c 20 6c 69 6e 6b 29 reens.next,.wm.sel_screen,.link)
48e0 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 0a 20 20 66 72 65 65 28 73 29 3b 00 00 00 01 7d 00 ;......}..........free(s);....}.
4900 00 00 00 00 00 00 3b 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 73 63 72 65 65 6e 5f 75 73 61 ......;static.void.on_screen_usa
4920 62 6c 65 5f 67 65 6f 6d 65 74 72 79 5f 63 68 61 6e 67 65 64 28 76 6f 69 64 20 2a 64 61 74 61 29 ble_geometry_changed(void.*data)
4940 20 7b 00 00 00 1a 20 20 73 74 72 75 63 74 20 73 63 72 65 65 6e 20 2a 73 20 3d 20 64 61 74 61 3b .{......struct.screen.*s.=.data;
4960 00 00 00 00 00 00 00 0a 20 20 74 69 6c 65 28 73 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 28 73 ..........tile(s);....}.......(s
4980 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 77 69 6e 5f 64 65 73 74 72 6f 79 28 76 6f 69 64 20 2a tatic.void.on_win_destroy(void.*
49a0 64 61 74 61 29 20 7b 00 00 00 1a 20 20 73 74 72 75 63 74 20 63 6c 69 65 6e 74 20 2a 63 20 3d 20 data).{......struct.client.*c.=.
49c0 64 61 74 61 3b 00 00 00 16 20 20 73 74 72 75 63 74 20 63 6c 69 65 6e 74 20 2a 6e 65 78 74 3b 00 data;......struct.client.*next;.
49e0 00 00 00 00 00 00 09 20 20 69 66 20 28 21 63 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 .........if.(!c)........return;.
4a00 00 00 00 00 00 00 29 20 20 69 66 20 28 77 6d 2e 67 72 61 62 2e 61 63 74 69 76 65 20 26 26 20 77 ......)..if.(wm.grab.active.&&.w
4a20 6d 2e 67 72 61 62 2e 63 20 3d 3d 20 63 29 20 7b 00 00 00 1b 20 20 20 20 77 6d 2e 67 72 61 62 2e m.grab.c.==.c).{........wm.grab.
4a40 61 63 74 69 76 65 20 3d 20 66 61 6c 73 65 3b 00 00 00 15 20 20 20 20 77 6d 2e 67 72 61 62 2e 63 active.=.false;........wm.grab.c
4a60 20 3d 20 4e 55 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 12 20 20 69 66 20 28 63 2d 3e .=.NULL;......}..........if.(c->
4a80 66 6c 6f 61 74 69 6e 67 29 00 00 00 23 20 20 20 20 77 6c 5f 6c 69 73 74 5f 72 65 6d 6f 76 65 28 floating)...#....wl_list_remove(
4aa0 26 63 2d 3e 66 6c 6f 61 74 5f 6c 69 6e 6b 29 3b 00 00 00 06 20 20 65 6c 73 65 00 00 00 23 20 20 &c->float_link);......else...#..
4ac0 20 20 77 6c 5f 6c 69 73 74 5f 72 65 6d 6f 76 65 28 26 63 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 29 ..wl_list_remove(&c->tiled_link)
4ae0 3b 00 00 00 00 00 00 00 1b 20 20 69 66 20 28 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 20 3d 3d 20 ;..........if.(wm.sel_client.==.
4b00 63 29 20 7b 00 00 00 19 20 20 20 20 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 20 3d 20 4e 55 4c 4c c).{........wm.sel_client.=.NULL
4b20 3b 00 00 00 1f 20 20 20 20 6e 65 78 74 20 3d 20 66 69 72 73 74 5f 66 6c 6f 61 74 28 63 2d 3e 73 ;........next.=.first_float(c->s
4b40 63 72 29 3b 00 00 00 0e 20 20 20 20 69 66 20 28 21 6e 65 78 74 29 00 00 00 21 20 20 20 20 20 20 cr);........if.(!next)...!......
4b60 6e 65 78 74 20 3d 20 66 69 72 73 74 5f 74 69 6c 65 64 28 63 2d 3e 73 63 72 29 3b 00 00 00 16 20 next.=.first_tiled(c->scr);.....
4b80 20 20 20 66 6f 63 75 73 28 6e 65 78 74 2c 20 74 72 75 65 29 3b 00 00 00 03 20 20 7d 00 00 00 00 ...focus(next,.true);......}....
4ba0 00 00 00 0f 20 20 74 69 6c 65 28 63 2d 3e 73 63 72 29 3b 00 00 00 0a 20 20 66 72 65 65 28 63 29 ......tile(c->scr);......free(c)
4bc0 3b 00 00 00 01 7d 00 00 00 00 00 00 00 28 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 77 69 6e ;....}.......(static.void.on_win
4be0 5f 65 6e 74 65 72 65 64 28 76 6f 69 64 20 2a 64 61 74 61 29 20 7b 00 00 00 15 20 20 69 66 20 28 _entered(void.*data).{......if.(
4c00 77 6d 2e 67 72 61 62 2e 61 63 74 69 76 65 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 wm.grab.active)........return;..
4c20 00 00 00 00 00 1a 20 20 73 74 72 75 63 74 20 63 6c 69 65 6e 74 20 2a 63 20 3d 20 64 61 74 61 3b ........struct.client.*c.=.data;
4c40 00 00 00 11 20 20 66 6f 63 75 73 28 63 2c 20 74 72 75 65 29 3b 00 00 00 01 7d 00 00 00 00 00 00 ......focus(c,.true);....}......
4c60 00 19 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 74 75 70 28 76 6f 69 64 29 20 7b 00 00 00 0f 20 ..static.void.setup(void).{.....
4c80 20 2f 2a 20 64 69 73 70 6c 61 79 20 2a 2f 00 00 00 1f 20 20 77 6d 2e 64 70 79 20 3d 20 77 6c 5f ./*.display.*/......wm.dpy.=.wl_
4ca0 64 69 73 70 6c 61 79 5f 63 72 65 61 74 65 28 29 3b 00 00 00 0e 20 20 69 66 20 28 21 77 6d 2e 64 display_create();......if.(!wm.d
4cc0 70 79 29 00 00 00 32 20 20 20 20 64 69 65 28 45 58 49 54 5f 46 41 49 4c 55 52 45 2c 20 22 77 6c py)...2....die(EXIT_FAILURE,."wl
4ce0 5f 64 69 73 70 6c 61 79 5f 63 72 65 61 74 65 20 66 61 69 6c 65 64 22 29 3b 00 00 00 00 00 00 00 _display_create.failed");.......
4d00 11 20 20 2f 2a 20 76 61 72 69 61 62 6c 65 73 20 2a 2f 00 00 00 1c 20 20 77 6c 5f 6c 69 73 74 5f .../*.variables.*/......wl_list_
4d20 69 6e 69 74 28 26 77 6d 2e 73 63 72 65 65 6e 73 29 3b 00 00 00 1a 20 20 77 6c 5f 6c 69 73 74 5f init(&wm.screens);......wl_list_
4d40 69 6e 69 74 28 26 77 6d 2e 74 69 6c 65 64 29 3b 00 00 00 1d 20 20 77 6c 5f 6c 69 73 74 5f 69 6e init(&wm.tiled);......wl_list_in
4d60 69 74 28 26 77 6d 2e 66 6c 6f 61 74 69 6e 67 29 3b 00 00 00 17 20 20 77 6d 2e 73 65 6c 5f 63 6c it(&wm.floating);......wm.sel_cl
4d80 69 65 6e 74 20 3d 20 4e 55 4c 4c 3b 00 00 00 17 20 20 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 20 ient.=.NULL;......wm.sel_screen.
4da0 3d 20 4e 55 4c 4c 3b 00 00 00 19 20 20 77 6d 2e 67 72 61 62 2e 61 63 74 69 76 65 20 3d 20 66 61 =.NULL;......wm.grab.active.=.fa
4dc0 6c 73 65 3b 00 00 00 19 20 20 77 6d 2e 67 72 61 62 2e 72 65 73 69 7a 65 20 3d 20 66 61 6c 73 65 lse;......wm.grab.resize.=.false
4de0 3b 00 00 00 13 20 20 77 6d 2e 67 72 61 62 2e 63 20 3d 20 4e 55 4c 4c 3b 00 00 00 00 00 00 00 12 ;......wm.grab.c.=.NULL;........
4e00 20 20 2f 2a 20 65 76 65 6e 74 20 6c 6f 6f 70 20 2a 2f 00 00 00 31 20 20 77 6d 2e 65 76 5f 6c 6f ../*.event.loop.*/...1..wm.ev_lo
4e20 6f 70 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 65 76 65 6e 74 5f 6c 6f 6f 70 28 77 op.=.wl_display_get_event_loop(w
4e40 6d 2e 64 70 79 29 3b 00 00 00 34 20 20 69 66 20 28 21 73 77 63 5f 69 6e 69 74 69 61 6c 69 7a 65 m.dpy);...4..if.(!swc_initialize
4e60 28 77 6d 2e 64 70 79 2c 20 77 6d 2e 65 76 5f 6c 6f 6f 70 2c 20 26 6d 61 6e 61 67 65 72 29 29 00 (wm.dpy,.wm.ev_loop,.&manager)).
4e80 00 00 31 20 20 20 20 64 69 65 28 45 58 49 54 5f 46 41 49 4c 55 52 45 2c 20 22 73 77 63 5f 69 6e ..1....die(EXIT_FAILURE,."swc_in
4ea0 69 74 69 61 6c 69 7a 65 20 66 61 69 6c 65 64 5c 6e 22 29 3b 00 00 00 00 00 00 00 2d 20 20 2f 2a itialize.failed\n");.......-../*
4ec0 20 54 4f 44 4f 3a 20 74 65 6d 70 20 77 61 6c 6c 70 61 70 65 72 20 61 6e 64 20 71 75 69 74 20 62 .TODO:.temp.wallpaper.and.quit.b
4ee0 69 6e 64 69 6e 67 20 2a 2f 00 00 00 26 20 20 73 77 63 5f 77 61 6c 6c 70 61 70 65 72 5f 63 6f 6c inding.*/...&..swc_wallpaper_col
4f00 6f 72 5f 73 65 74 28 30 78 66 66 31 65 31 66 32 31 29 3b 00 00 00 10 20 20 73 65 74 75 70 5f 62 or_set(0xff1e1f21);......setup_b
4f20 69 6e 64 73 28 29 3b 00 00 00 00 00 00 00 16 20 20 2f 2a 20 64 69 73 70 6c 61 79 20 73 6f 63 6b inds();........../*.display.sock
4f40 65 74 20 2a 2f 00 00 00 13 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 6f 63 6b 3b 00 00 00 2c et.*/......const.char.*sock;...,
4f60 20 20 73 6f 63 6b 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 61 64 64 5f 73 6f 63 6b 65 74 5f 61 ..sock.=.wl_display_add_socket_a
4f80 75 74 6f 28 77 6d 2e 64 70 79 29 3b 00 00 00 0c 20 20 69 66 20 28 21 73 6f 63 6b 29 00 00 00 3d uto(wm.dpy);......if.(!sock)...=
4fa0 20 20 20 20 64 69 65 28 45 58 49 54 5f 46 41 49 4c 55 52 45 2c 20 22 77 6c 5f 64 69 73 70 6c 61 ....die(EXIT_FAILURE,."wl_displa
4fc0 79 5f 61 64 64 5f 73 6f 63 6b 65 74 5f 61 75 74 6f 20 66 61 69 6c 65 64 5c 6e 22 29 3b 00 00 00 y_add_socket_auto.failed\n");...
4fe0 25 20 20 73 65 74 65 6e 76 28 22 57 41 59 4c 41 4e 44 5f 44 49 53 50 4c 41 59 22 2c 20 73 6f 63 %..setenv("WAYLAND_DISPLAY",.soc
5000 6b 2c 20 31 29 3b 00 00 00 2d 20 20 5f 6c 6f 67 28 73 74 64 65 72 72 2c 20 22 57 41 59 4c 41 4e k,.1);...-.._log(stderr,."WAYLAN
5020 44 5f 44 49 53 50 4c 41 59 3d 25 73 5c 6e 22 2c 20 73 6f 63 6b 29 3b 00 00 00 00 00 00 00 0f 20 D_DISPLAY=%s\n",.sock);.........
5040 20 2f 2a 20 73 69 67 6e 61 6c 73 20 2a 2f 00 00 00 1e 20 20 73 69 67 6e 61 6c 28 53 49 47 49 4e ./*.signals.*/......signal(SIGIN
5060 54 2c 20 73 69 67 5f 68 61 6e 64 6c 65 72 29 3b 00 00 00 1f 20 20 73 69 67 6e 61 6c 28 53 49 47 T,.sig_handler);......signal(SIG
5080 54 45 52 4d 2c 20 73 69 67 5f 68 61 6e 64 6c 65 72 29 3b 00 00 00 1f 20 20 73 69 67 6e 61 6c 28 TERM,.sig_handler);......signal(
50a0 53 49 47 51 55 49 54 2c 20 73 69 67 5f 68 61 6e 64 6c 65 72 29 3b 00 00 00 01 7d 00 00 00 00 00 SIGQUIT,.sig_handler);....}.....
50c0 00 00 1f 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 74 75 70 5f 62 69 6e 64 73 28 76 6f 69 64 29 ...static.void.setup_binds(void)
50e0 20 7b 00 00 00 2e 20 20 66 6f 72 20 28 73 69 7a 65 5f 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 4c .{......for.(size_t.i.=.0;.i.<.L
5100 45 4e 47 54 48 28 62 69 6e 64 73 29 3b 20 69 2b 2b 29 20 7b 00 00 00 25 20 20 20 20 63 6f 6e 73 ENGTH(binds);.i++).{...%....cons
5120 74 20 73 74 72 75 63 74 20 62 69 6e 64 20 2a 62 20 3d 20 26 62 69 6e 64 73 5b 69 5d 3b 00 00 00 t.struct.bind.*b.=.&binds[i];...
5140 47 20 20 20 20 73 77 63 5f 61 64 64 5f 62 69 6e 64 69 6e 67 28 62 2d 3e 74 79 70 65 2c 20 62 2d G....swc_add_binding(b->type,.b-
5160 3e 6d 6f 64 73 2c 20 62 2d 3e 6b 73 79 6d 2c 20 62 2d 3e 66 6e 2c 20 28 76 6f 69 64 20 2a 29 26 >mods,.b->ksym,.b->fn,.(void.*)&
5180 62 2d 3e 61 72 67 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 47 73 74 61 74 b->arg);......}....}.......Gstat
51a0 69 63 20 76 6f 69 64 20 73 65 74 5f 66 6c 6f 61 74 69 6e 67 28 73 74 72 75 63 74 20 63 6c 69 65 ic.void.set_floating(struct.clie
51c0 6e 74 20 2a 63 2c 20 62 6f 6f 6c 20 66 6c 6f 61 74 69 6e 67 2c 20 62 6f 6f 6c 20 72 61 69 73 65 nt.*c,.bool.floating,.bool.raise
51e0 29 20 7b 00 00 00 09 20 20 69 66 20 28 21 63 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 ).{......if.(!c)........return;.
5200 00 00 00 00 00 00 2a 20 20 2f 2a 20 63 6c 69 65 6e 74 20 6d 75 73 74 20 62 65 20 69 6e 20 65 78 ......*../*.client.must.be.in.ex
5220 61 63 74 6c 79 20 6f 6e 65 20 6c 69 73 74 20 2a 2f 00 00 00 11 20 20 69 66 20 28 66 6c 6f 61 74 actly.one.list.*/......if.(float
5240 69 6e 67 29 20 7b 00 00 00 17 20 20 20 20 69 66 20 28 21 63 2d 3e 66 6c 6f 61 74 69 6e 67 29 20 ing).{........if.(!c->floating).
5260 7b 00 00 00 19 20 20 20 20 20 20 63 2d 3e 66 6c 6f 61 74 69 6e 67 20 3d 20 74 72 75 65 3b 00 00 {..........c->floating.=.true;..
5280 00 25 20 20 20 20 20 20 77 6c 5f 6c 69 73 74 5f 72 65 6d 6f 76 65 28 26 63 2d 3e 74 69 6c 65 64 .%......wl_list_remove(&c->tiled
52a0 5f 6c 69 6e 6b 29 3b 00 00 00 33 20 20 20 20 20 20 77 6c 5f 6c 69 73 74 5f 69 6e 73 65 72 74 28 _link);...3......wl_list_insert(
52c0 26 77 6d 2e 66 6c 6f 61 74 69 6e 67 2c 20 26 63 2d 3e 66 6c 6f 61 74 5f 6c 69 6e 6b 29 3b 00 00 &wm.floating,.&c->float_link);..
52e0 00 17 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 72 61 69 73 65 29 20 7b 00 00 00 25 20 20 20 ......}.else.if.(raise).{...%...
5300 20 20 20 77 6c 5f 6c 69 73 74 5f 72 65 6d 6f 76 65 28 26 63 2d 3e 66 6c 6f 61 74 5f 6c 69 6e 6b ...wl_list_remove(&c->float_link
5320 29 3b 00 00 00 33 20 20 20 20 20 20 77 6c 5f 6c 69 73 74 5f 69 6e 73 65 72 74 28 26 77 6d 2e 66 );...3......wl_list_insert(&wm.f
5340 6c 6f 61 74 69 6e 67 2c 20 26 63 2d 3e 66 6c 6f 61 74 5f 6c 69 6e 6b 29 3b 00 00 00 05 20 20 20 loating,.&c->float_link);.......
5360 20 7d 00 00 00 00 00 00 00 23 20 20 20 20 73 77 63 5f 77 69 6e 64 6f 77 5f 73 65 74 5f 73 74 61 .}.......#....swc_window_set_sta
5380 63 6b 65 64 28 63 2d 3e 77 69 6e 29 3b 00 00 00 0a 20 20 7d 20 65 6c 73 65 20 7b 00 00 00 16 20 cked(c->win);......}.else.{.....
53a0 20 20 20 69 66 20 28 63 2d 3e 66 6c 6f 61 74 69 6e 67 29 20 7b 00 00 00 1a 20 20 20 20 20 20 63 ...if.(c->floating).{..........c
53c0 2d 3e 66 6c 6f 61 74 69 6e 67 20 3d 20 66 61 6c 73 65 3b 00 00 00 25 20 20 20 20 20 20 77 6c 5f ->floating.=.false;...%......wl_
53e0 6c 69 73 74 5f 72 65 6d 6f 76 65 28 26 63 2d 3e 66 6c 6f 61 74 5f 6c 69 6e 6b 29 3b 00 00 00 30 list_remove(&c->float_link);...0
5400 20 20 20 20 20 20 77 6c 5f 6c 69 73 74 5f 69 6e 73 65 72 74 28 26 77 6d 2e 74 69 6c 65 64 2c 20 ......wl_list_insert(&wm.tiled,.
5420 26 63 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 00 00 00 00 &c->tiled_link);........}.......
5440 21 20 20 20 20 73 77 63 5f 77 69 6e 64 6f 77 5f 73 65 74 5f 74 69 6c 65 64 28 63 2d 3e 77 69 6e !....swc_window_set_tiled(c->win
5460 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 24 73 74 61 74 69 63 20 76 6f 69 );......}....}.......$static.voi
5480 64 20 74 69 6c 65 28 73 74 72 75 63 74 20 73 63 72 65 65 6e 20 2a 73 29 20 7b 00 00 00 13 20 20 d.tile(struct.screen.*s).{......
54a0 73 74 72 75 63 74 20 63 6c 69 65 6e 74 20 2a 63 3b 00 00 00 1c 20 20 73 74 72 75 63 74 20 73 77 struct.client.*c;......struct.sw
54c0 63 5f 72 65 63 74 61 6e 67 6c 65 20 67 65 6f 6d 3b 00 00 00 21 20 20 73 74 72 75 63 74 20 73 77 c_rectangle.geom;...!..struct.sw
54e0 63 5f 72 65 63 74 61 6e 67 6c 65 20 2a 73 63 72 5f 67 65 6f 6d 3b 00 00 00 00 00 00 00 31 20 20 c_rectangle.*scr_geom;.......1..
5500 69 6e 74 33 32 5f 74 20 6f 75 74 5f 67 61 70 73 20 3d 20 63 66 67 2e 67 61 70 73 20 2b 20 63 66 int32_t.out_gaps.=.cfg.gaps.+.cf
5520 67 2e 62 6f 72 64 65 72 5f 77 69 64 74 68 3b 00 00 00 36 20 20 69 6e 74 33 32 5f 74 20 69 6e 5f g.border_width;...6..int32_t.in_
5540 67 61 70 73 20 3d 20 63 66 67 2e 67 61 70 73 20 2b 20 28 63 66 67 2e 62 6f 72 64 65 72 5f 77 69 gaps.=.cfg.gaps.+.(cfg.border_wi
5560 64 74 68 20 2a 20 32 29 3b 00 00 00 00 00 00 00 0c 20 20 69 6e 74 33 32 5f 74 20 78 3b 00 00 00 dth.*.2);..........int32_t.x;...
5580 0c 20 20 69 6e 74 33 32 5f 74 20 79 3b 00 00 00 0d 20 20 75 69 6e 74 33 32 5f 74 20 77 3b 00 00 ...int32_t.y;......uint32_t.w;..
55a0 00 0d 20 20 75 69 6e 74 33 32 5f 74 20 68 3b 00 00 00 00 00 00 00 09 20 20 69 66 20 28 21 73 29 ....uint32_t.h;..........if.(!s)
55c0 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 26 20 20 73 63 72 5f 67 65 6f ........return;.......&..scr_geo
55e0 6d 20 3d 20 26 73 2d 3e 73 63 72 2d 3e 75 73 61 62 6c 65 5f 67 65 6f 6d 65 74 72 79 3b 00 00 00 m.=.&s->scr->usable_geometry;...
5600 00 00 00 00 0f 20 20 73 69 7a 65 5f 74 20 6e 20 3d 20 30 3b 00 00 00 2e 20 20 77 6c 5f 6c 69 73 .......size_t.n.=.0;......wl_lis
5620 74 5f 66 6f 72 5f 65 61 63 68 28 63 2c 20 26 77 6d 2e 74 69 6c 65 64 2c 20 74 69 6c 65 64 5f 6c t_for_each(c,.&wm.tiled,.tiled_l
5640 69 6e 6b 29 20 7b 00 00 00 17 20 20 20 20 69 66 20 28 69 73 5f 74 69 6c 65 64 28 63 2c 20 73 29 ink).{........if.(is_tiled(c,.s)
5660 29 00 00 00 0a 20 20 20 20 20 20 6e 2b 2b 3b 00 00 00 03 20 20 7d 00 00 00 0d 20 20 69 66 20 28 )..........n++;......}......if.(
5680 6e 20 3d 3d 20 30 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 1d 20 20 n.==.0)........return;..........
56a0 78 20 3d 20 73 63 72 5f 67 65 6f 6d 2d 3e 78 20 2b 20 6f 75 74 5f 67 61 70 73 3b 00 00 00 1d 20 x.=.scr_geom->x.+.out_gaps;.....
56c0 20 79 20 3d 20 73 63 72 5f 67 65 6f 6d 2d 3e 79 20 2b 20 6f 75 74 5f 67 61 70 73 3b 00 00 00 27 .y.=.scr_geom->y.+.out_gaps;...'
56e0 20 20 77 20 3d 20 73 63 72 5f 67 65 6f 6d 2d 3e 77 69 64 74 68 20 2d 20 28 6f 75 74 5f 67 61 70 ..w.=.scr_geom->width.-.(out_gap
5700 73 20 2a 20 32 29 3b 00 00 00 28 20 20 68 20 3d 20 73 63 72 5f 67 65 6f 6d 2d 3e 68 65 69 67 68 s.*.2);...(..h.=.scr_geom->heigh
5720 74 20 2d 20 28 6f 75 74 5f 67 61 70 73 20 2a 20 32 29 3b 00 00 00 00 00 00 00 0f 20 20 69 66 20 t.-.(out_gaps.*.2);..........if.
5740 28 6e 20 3d 3d 20 31 29 20 7b 00 00 00 30 20 20 20 20 77 6c 5f 6c 69 73 74 5f 66 6f 72 5f 65 61 (n.==.1).{...0....wl_list_for_ea
5760 63 68 28 63 2c 20 26 77 6d 2e 74 69 6c 65 64 2c 20 74 69 6c 65 64 5f 6c 69 6e 6b 29 20 7b 00 00 ch(c,.&wm.tiled,.tiled_link).{..
5780 00 1a 20 20 20 20 20 20 69 66 20 28 21 69 73 5f 74 69 6c 65 64 28 63 2c 20 73 29 29 00 00 00 11 ........if.(!is_tiled(c,.s))....
57a0 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 00 00 00 00 00 00 00 11 20 20 20 20 20 20 67 ........continue;..............g
57c0 65 6f 6d 2e 78 20 3d 20 78 3b 00 00 00 11 20 20 20 20 20 20 67 65 6f 6d 2e 79 20 3d 20 79 3b 00 eom.x.=.x;..........geom.y.=.y;.
57e0 00 00 15 20 20 20 20 20 20 67 65 6f 6d 2e 77 69 64 74 68 20 3d 20 77 3b 00 00 00 16 20 20 20 20 .........geom.width.=.w;........
5800 20 20 67 65 6f 6d 2e 68 65 69 67 68 74 20 3d 20 68 3b 00 00 00 00 00 00 00 2d 20 20 20 20 20 20 ..geom.height.=.h;.......-......
5820 73 77 63 5f 77 69 6e 64 6f 77 5f 73 65 74 5f 67 65 6f 6d 65 74 72 79 28 63 2d 3e 77 69 6e 2c 20 swc_window_set_geometry(c->win,.
5840 26 67 65 6f 6d 29 3b 00 00 00 0d 20 20 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 05 20 20 20 20 &geom);..........return;........
5860 7d 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 0f 20 20 73 69 7a 65 5f 74 20 69 20 3d 20 30 3b 00 }......}..........size_t.i.=.0;.
5880 00 00 2e 20 20 77 6c 5f 6c 69 73 74 5f 66 6f 72 5f 65 61 63 68 28 63 2c 20 26 77 6d 2e 74 69 6c .....wl_list_for_each(c,.&wm.til
58a0 65 64 2c 20 74 69 6c 65 64 5f 6c 69 6e 6b 29 20 7b 00 00 00 18 20 20 20 20 69 66 20 28 21 69 73 ed,.tiled_link).{........if.(!is
58c0 5f 74 69 6c 65 64 28 63 2c 20 73 29 29 00 00 00 0f 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b _tiled(c,.s))..........continue;
58e0 00 00 00 00 00 00 00 2e 20 20 20 20 69 66 20 28 6d 61 73 74 65 72 5f 77 69 64 74 68 20 3d 3d 20 ............if.(master_width.==.
5900 30 29 20 2f 2a 20 75 6e 69 6e 69 74 69 61 6c 69 73 65 64 20 2a 2f 00 00 00 3e 20 20 20 20 20 20 0)./*.uninitialised.*/...>......
5920 6d 61 73 74 65 72 5f 77 69 64 74 68 20 3d 20 28 28 77 20 2d 20 69 6e 5f 67 61 70 73 29 20 2a 20 master_width.=.((w.-.in_gaps).*.
5940 63 66 67 2e 6d 61 73 74 65 72 5f 77 69 64 74 68 29 20 2f 20 31 30 30 3b 00 00 00 00 00 00 00 11 cfg.master_width)./.100;........
5960 20 20 20 20 69 66 20 28 69 20 3d 3d 20 30 29 20 7b 00 00 00 12 20 20 20 20 20 20 2f 2a 20 6d 61 ....if.(i.==.0).{........../*.ma
5980 73 74 65 72 20 2a 2f 00 00 00 11 20 20 20 20 20 20 67 65 6f 6d 2e 78 20 3d 20 78 3b 00 00 00 11 ster.*/..........geom.x.=.x;....
59a0 20 20 20 20 20 20 67 65 6f 6d 2e 79 20 3d 20 79 3b 00 00 00 20 20 20 20 20 20 20 67 65 6f 6d 2e ......geom.y.=.y;..........geom.
59c0 77 69 64 74 68 20 3d 20 6d 61 73 74 65 72 5f 77 69 64 74 68 3b 00 00 00 16 20 20 20 20 20 20 67 width.=.master_width;..........g
59e0 65 6f 6d 2e 68 65 69 67 68 74 20 3d 20 68 3b 00 00 00 0c 20 20 20 20 7d 20 65 6c 73 65 20 7b 00 eom.height.=.h;........}.else.{.
5a00 00 00 11 20 20 20 20 20 20 2f 2a 20 73 74 61 63 6b 20 2a 2f 00 00 00 1e 20 20 20 20 20 20 75 69 ........./*.stack.*/..........ui
5a20 6e 74 33 32 5f 74 20 73 74 61 63 6b 6e 20 3d 20 6e 20 2d 20 31 3b 00 00 00 1b 20 20 20 20 20 20 nt32_t.stackn.=.n.-.1;..........
5a40 75 69 6e 74 33 32 5f 74 20 69 64 78 20 3d 20 69 20 2d 20 31 3b 00 00 00 00 00 00 00 44 20 20 20 uint32_t.idx.=.i.-.1;.......D...
5a60 20 20 20 75 69 6e 74 33 32 5f 74 20 73 74 61 63 6b 5f 68 65 69 67 68 74 20 3d 20 28 68 20 2d 20 ...uint32_t.stack_height.=.(h.-.
5a80 69 6e 5f 67 61 70 73 20 2a 20 28 73 74 61 63 6b 6e 20 2d 20 31 29 29 20 2f 20 73 74 61 63 6b 6e in_gaps.*.(stackn.-.1))./.stackn
5aa0 3b 00 00 00 00 00 00 00 2a 20 20 20 20 20 20 67 65 6f 6d 2e 78 20 3d 20 78 20 2b 20 6d 61 73 74 ;.......*......geom.x.=.x.+.mast
5ac0 65 72 5f 77 69 64 74 68 20 2b 20 69 6e 5f 67 61 70 73 3b 00 00 00 34 20 20 20 20 20 20 67 65 6f er_width.+.in_gaps;...4......geo
5ae0 6d 2e 79 20 3d 20 79 20 2b 20 28 69 64 78 20 2a 20 28 73 74 61 63 6b 5f 68 65 69 67 68 74 20 2b m.y.=.y.+.(idx.*.(stack_height.+
5b00 20 69 6e 5f 67 61 70 73 29 29 3b 00 00 00 2e 20 20 20 20 20 20 67 65 6f 6d 2e 77 69 64 74 68 20 .in_gaps));..........geom.width.
5b20 3d 20 77 20 2d 20 6d 61 73 74 65 72 5f 77 69 64 74 68 20 2d 20 69 6e 5f 67 61 70 73 3b 00 00 00 =.w.-.master_width.-.in_gaps;...
5b40 21 20 20 20 20 20 20 67 65 6f 6d 2e 68 65 69 67 68 74 20 3d 20 73 74 61 63 6b 5f 68 65 69 67 68 !......geom.height.=.stack_heigh
5b60 74 3b 00 00 00 05 20 20 20 20 7d 00 00 00 00 00 00 00 2b 20 20 20 20 73 77 63 5f 77 69 6e 64 6f t;........}.......+....swc_windo
5b80 77 5f 73 65 74 5f 67 65 6f 6d 65 74 72 79 28 63 2d 3e 77 69 6e 2c 20 26 67 65 6f 6d 29 3b 00 00 w_set_geometry(c->win,.&geom);..
5ba0 00 08 20 20 20 20 69 2b 2b 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 4c 76 6f ......i++;......}....}.......Lvo
5bc0 69 64 20 66 6f 63 75 73 5f 6e 65 78 74 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 75 69 6e 74 33 32 id.focus_next(void.*data,.uint32
5be0 5f 74 20 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 61 6c 75 65 2c 20 75 69 6e 74 33 32 5f _t.time,.uint32_t.value,.uint32_
5c00 74 20 73 74 61 74 65 29 20 7b 00 00 00 0d 20 20 28 76 6f 69 64 29 64 61 74 61 3b 00 00 00 0d 20 t.state).{......(void)data;.....
5c20 20 28 76 6f 69 64 29 74 69 6d 65 3b 00 00 00 0e 20 20 28 76 6f 69 64 29 76 61 6c 75 65 3b 00 00 .(void)time;......(void)value;..
5c40 00 00 00 00 00 13 20 20 73 74 72 75 63 74 20 63 6c 69 65 6e 74 20 2a 63 3b 00 00 00 13 20 20 73 ........struct.client.*c;......s
5c60 74 72 75 63 74 20 73 63 72 65 65 6e 20 2a 73 3b 00 00 00 00 00 00 00 2d 20 20 69 66 20 28 73 74 truct.screen.*s;.......-..if.(st
5c80 61 74 65 20 21 3d 20 57 4c 5f 4b 45 59 42 4f 41 52 44 5f 4b 45 59 5f 53 54 41 54 45 5f 50 52 45 ate.!=.WL_KEYBOARD_KEY_STATE_PRE
5ca0 53 53 45 44 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 15 20 20 69 66 SSED)........return;..........if
5cc0 20 28 21 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b .(!wm.sel_screen)........return;
5ce0 00 00 00 00 00 00 00 14 20 20 73 20 3d 20 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 3b 00 00 00 00 ..........s.=.wm.sel_screen;....
5d00 00 00 00 17 20 20 69 66 20 28 21 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 29 20 7b 00 00 00 17 20 ......if.(!wm.sel_client).{.....
5d20 20 20 20 63 20 3d 20 66 69 72 73 74 5f 66 6c 6f 61 74 28 73 29 3b 00 00 00 0b 20 20 20 20 69 66 ...c.=.first_float(s);........if
5d40 20 28 21 63 29 00 00 00 19 20 20 20 20 20 20 63 20 3d 20 66 69 72 73 74 5f 74 69 6c 65 64 28 73 .(!c)..........c.=.first_tiled(s
5d60 29 3b 00 00 00 14 20 20 20 20 66 6f 63 75 73 28 63 2c 20 66 61 6c 73 65 29 3b 00 00 00 0b 20 20 );........focus(c,.false);......
5d80 20 20 72 65 74 75 72 6e 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 31 20 20 2f 2a 20 64 6f 20 ..return;......}.......1../*.do.
5da0 6e 6f 74 20 72 61 69 73 65 2f 72 65 6f 72 64 65 72 20 66 6c 6f 61 74 73 20 77 68 69 6c 65 20 63 not.raise/reorder.floats.while.c
5dc0 79 63 6c 69 6e 67 20 2a 2f 00 00 00 20 20 20 69 66 20 28 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 ycling.*/......if.(wm.sel_client
5de0 2d 3e 66 6c 6f 61 74 69 6e 67 29 20 7b 00 00 00 4c 20 20 20 20 66 6f 72 20 28 63 20 3d 20 77 6c ->floating).{...L....for.(c.=.wl
5e00 5f 63 6f 6e 74 61 69 6e 65 72 5f 6f 66 28 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 2d 3e 66 6c 6f _container_of(wm.sel_client->flo
5e20 61 74 5f 6c 69 6e 6b 2e 6e 65 78 74 2c 20 63 2c 20 66 6c 6f 61 74 5f 6c 69 6e 6b 29 3b 00 00 00 at_link.next,.c,.float_link);...
5e40 28 20 20 20 20 20 20 20 20 20 26 63 2d 3e 66 6c 6f 61 74 5f 6c 69 6e 6b 20 21 3d 20 26 77 6d 2e (.........&c->float_link.!=.&wm.
5e60 66 6c 6f 61 74 69 6e 67 3b 00 00 00 42 20 20 20 20 20 20 20 20 20 63 20 3d 20 77 6c 5f 63 6f 6e floating;...B.........c.=.wl_con
5e80 74 61 69 6e 65 72 5f 6f 66 28 63 2d 3e 66 6c 6f 61 74 5f 6c 69 6e 6b 2e 6e 65 78 74 2c 20 63 2c tainer_of(c->float_link.next,.c,
5ea0 20 66 6c 6f 61 74 5f 6c 69 6e 6b 29 29 20 7b 00 00 00 1b 20 20 20 20 20 20 69 66 20 28 69 73 5f .float_link)).{..........if.(is_
5ec0 66 6c 6f 61 74 28 63 2c 20 73 29 29 20 7b 00 00 00 18 20 20 20 20 20 20 20 20 66 6f 63 75 73 28 float(c,.s)).{............focus(
5ee0 63 2c 20 66 61 6c 73 65 29 3b 00 00 00 0f 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 c,.false);............return;...
5f00 07 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 00 00 00 00 17 20 20 20 20 63 20 3d .......}........}............c.=
5f20 20 66 69 72 73 74 5f 74 69 6c 65 64 28 73 29 3b 00 00 00 0b 20 20 20 20 69 66 20 28 21 63 29 00 .first_tiled(s);........if.(!c).
5f40 00 00 19 20 20 20 20 20 20 63 20 3d 20 66 69 72 73 74 5f 66 6c 6f 61 74 28 73 29 3b 00 00 00 0a .........c.=.first_float(s);....
5f60 20 20 20 20 69 66 20 28 63 29 00 00 00 16 20 20 20 20 20 20 66 6f 63 75 73 28 63 2c 20 66 61 6c ....if.(c)..........focus(c,.fal
5f80 73 65 29 3b 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 se);........return;......}......
5fa0 00 4a 20 20 66 6f 72 20 28 63 20 3d 20 77 6c 5f 63 6f 6e 74 61 69 6e 65 72 5f 6f 66 28 77 6d 2e .J..for.(c.=.wl_container_of(wm.
5fc0 73 65 6c 5f 63 6c 69 65 6e 74 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 2e 6e 65 78 74 2c 20 63 2c 20 sel_client->tiled_link.next,.c,.
5fe0 74 69 6c 65 64 5f 6c 69 6e 6b 29 3b 00 00 00 23 20 20 20 20 20 20 20 26 63 2d 3e 74 69 6c 65 64 tiled_link);...#.......&c->tiled
6000 5f 6c 69 6e 6b 20 21 3d 20 26 77 6d 2e 74 69 6c 65 64 3b 00 00 00 40 20 20 20 20 20 20 20 63 20 _link.!=.&wm.tiled;...@.......c.
6020 3d 20 77 6c 5f 63 6f 6e 74 61 69 6e 65 72 5f 6f 66 28 63 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 2e =.wl_container_of(c->tiled_link.
6040 6e 65 78 74 2c 20 63 2c 20 74 69 6c 65 64 5f 6c 69 6e 6b 29 29 20 7b 00 00 00 19 20 20 20 20 69 next,.c,.tiled_link)).{........i
6060 66 20 28 69 73 5f 74 69 6c 65 64 28 63 2c 20 73 29 29 20 7b 00 00 00 16 20 20 20 20 20 20 66 6f f.(is_tiled(c,.s)).{..........fo
6080 63 75 73 28 63 2c 20 66 61 6c 73 65 29 3b 00 00 00 0d 20 20 20 20 20 20 72 65 74 75 72 6e 3b 00 cus(c,.false);..........return;.
60a0 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 15 20 20 63 20 3d 20 66 69 72 .......}......}..........c.=.fir
60c0 73 74 5f 66 6c 6f 61 74 28 73 29 3b 00 00 00 09 20 20 69 66 20 28 21 63 29 00 00 00 17 20 20 20 st_float(s);......if.(!c).......
60e0 20 63 20 3d 20 66 69 72 73 74 5f 74 69 6c 65 64 28 73 29 3b 00 00 00 12 20 20 66 6f 63 75 73 28 .c.=.first_tiled(s);......focus(
6100 63 2c 20 66 61 6c 73 65 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4c 76 6f 69 64 20 66 6f 63 75 c,.false);....}.......Lvoid.focu
6120 73 5f 70 72 65 76 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 s_prev(void.*data,.uint32_t.time
6140 2c 20 75 69 6e 74 33 32 5f 74 20 76 61 6c 75 65 2c 20 75 69 6e 74 33 32 5f 74 20 73 74 61 74 65 ,.uint32_t.value,.uint32_t.state
6160 29 20 7b 00 00 00 0d 20 20 28 76 6f 69 64 29 64 61 74 61 3b 00 00 00 0d 20 20 28 76 6f 69 64 29 ).{......(void)data;......(void)
6180 74 69 6d 65 3b 00 00 00 0e 20 20 28 76 6f 69 64 29 76 61 6c 75 65 3b 00 00 00 00 00 00 00 13 20 time;......(void)value;.........
61a0 20 73 74 72 75 63 74 20 63 6c 69 65 6e 74 20 2a 63 3b 00 00 00 13 20 20 73 74 72 75 63 74 20 73 .struct.client.*c;......struct.s
61c0 63 72 65 65 6e 20 2a 73 3b 00 00 00 00 00 00 00 2d 20 20 69 66 20 28 73 74 61 74 65 20 21 3d 20 creen.*s;.......-..if.(state.!=.
61e0 57 4c 5f 4b 45 59 42 4f 41 52 44 5f 4b 45 59 5f 53 54 41 54 45 5f 50 52 45 53 53 45 44 29 00 00 WL_KEYBOARD_KEY_STATE_PRESSED)..
6200 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 15 20 20 69 66 20 28 21 77 6d 2e 73 ......return;..........if.(!wm.s
6220 65 6c 5f 73 63 72 65 65 6e 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 el_screen)........return;.......
6240 14 20 20 73 20 3d 20 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 3b 00 00 00 00 00 00 00 17 20 20 69 ...s.=.wm.sel_screen;..........i
6260 66 20 28 21 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 29 20 7b 00 00 00 17 20 20 20 20 63 20 3d 20 f.(!wm.sel_client).{........c.=.
6280 66 69 72 73 74 5f 66 6c 6f 61 74 28 73 29 3b 00 00 00 0b 20 20 20 20 69 66 20 28 21 63 29 00 00 first_float(s);........if.(!c)..
62a0 00 19 20 20 20 20 20 20 63 20 3d 20 66 69 72 73 74 5f 74 69 6c 65 64 28 73 29 3b 00 00 00 14 20 ........c.=.first_tiled(s);.....
62c0 20 20 20 66 6f 63 75 73 28 63 2c 20 66 61 6c 73 65 29 3b 00 00 00 0b 20 20 20 20 72 65 74 75 72 ...focus(c,.false);........retur
62e0 6e 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 20 20 20 69 66 20 28 77 6d 2e 73 65 6c 5f 63 6c n;......}..........if.(wm.sel_cl
6300 69 65 6e 74 2d 3e 66 6c 6f 61 74 69 6e 67 29 20 7b 00 00 00 4c 20 20 20 20 66 6f 72 20 28 63 20 ient->floating).{...L....for.(c.
6320 3d 20 77 6c 5f 63 6f 6e 74 61 69 6e 65 72 5f 6f 66 28 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 2d =.wl_container_of(wm.sel_client-
6340 3e 66 6c 6f 61 74 5f 6c 69 6e 6b 2e 70 72 65 76 2c 20 63 2c 20 66 6c 6f 61 74 5f 6c 69 6e 6b 29 >float_link.prev,.c,.float_link)
6360 3b 00 00 00 28 20 20 20 20 20 20 20 20 20 26 63 2d 3e 66 6c 6f 61 74 5f 6c 69 6e 6b 20 21 3d 20 ;...(.........&c->float_link.!=.
6380 26 77 6d 2e 66 6c 6f 61 74 69 6e 67 3b 00 00 00 42 20 20 20 20 20 20 20 20 20 63 20 3d 20 77 6c &wm.floating;...B.........c.=.wl
63a0 5f 63 6f 6e 74 61 69 6e 65 72 5f 6f 66 28 63 2d 3e 66 6c 6f 61 74 5f 6c 69 6e 6b 2e 70 72 65 76 _container_of(c->float_link.prev
63c0 2c 20 63 2c 20 66 6c 6f 61 74 5f 6c 69 6e 6b 29 29 20 7b 00 00 00 1b 20 20 20 20 20 20 69 66 20 ,.c,.float_link)).{..........if.
63e0 28 69 73 5f 66 6c 6f 61 74 28 63 2c 20 73 29 29 20 7b 00 00 00 18 20 20 20 20 20 20 20 20 66 6f (is_float(c,.s)).{............fo
6400 63 75 73 28 63 2c 20 66 61 6c 73 65 29 3b 00 00 00 0f 20 20 20 20 20 20 20 20 72 65 74 75 72 6e cus(c,.false);............return
6420 3b 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 00 00 00 00 16 20 20 20 ;..........}........}...........
6440 20 63 20 3d 20 6c 61 73 74 5f 74 69 6c 65 64 28 73 29 3b 00 00 00 0b 20 20 20 20 69 66 20 28 21 .c.=.last_tiled(s);........if.(!
6460 63 29 00 00 00 18 20 20 20 20 20 20 63 20 3d 20 6c 61 73 74 5f 66 6c 6f 61 74 28 73 29 3b 00 00 c)..........c.=.last_float(s);..
6480 00 0a 20 20 20 20 69 66 20 28 63 29 00 00 00 16 20 20 20 20 20 20 66 6f 63 75 73 28 63 2c 20 66 ......if.(c)..........focus(c,.f
64a0 61 6c 73 65 29 3b 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 03 20 20 7d 00 00 00 00 alse);........return;......}....
64c0 00 00 00 4a 20 20 66 6f 72 20 28 63 20 3d 20 77 6c 5f 63 6f 6e 74 61 69 6e 65 72 5f 6f 66 28 77 ...J..for.(c.=.wl_container_of(w
64e0 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 2e 70 72 65 76 2c 20 63 m.sel_client->tiled_link.prev,.c
6500 2c 20 74 69 6c 65 64 5f 6c 69 6e 6b 29 3b 00 00 00 23 20 20 20 20 20 20 20 26 63 2d 3e 74 69 6c ,.tiled_link);...#.......&c->til
6520 65 64 5f 6c 69 6e 6b 20 21 3d 20 26 77 6d 2e 74 69 6c 65 64 3b 00 00 00 40 20 20 20 20 20 20 20 ed_link.!=.&wm.tiled;...@.......
6540 63 20 3d 20 77 6c 5f 63 6f 6e 74 61 69 6e 65 72 5f 6f 66 28 63 2d 3e 74 69 6c 65 64 5f 6c 69 6e c.=.wl_container_of(c->tiled_lin
6560 6b 2e 70 72 65 76 2c 20 63 2c 20 74 69 6c 65 64 5f 6c 69 6e 6b 29 29 20 7b 00 00 00 19 20 20 20 k.prev,.c,.tiled_link)).{.......
6580 20 69 66 20 28 69 73 5f 74 69 6c 65 64 28 63 2c 20 73 29 29 20 7b 00 00 00 16 20 20 20 20 20 20 .if.(is_tiled(c,.s)).{..........
65a0 66 6f 63 75 73 28 63 2c 20 66 61 6c 73 65 29 3b 00 00 00 0d 20 20 20 20 20 20 72 65 74 75 72 6e focus(c,.false);..........return
65c0 3b 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 14 20 20 63 20 3d 20 6c ;........}......}..........c.=.l
65e0 61 73 74 5f 66 6c 6f 61 74 28 73 29 3b 00 00 00 09 20 20 69 66 20 28 21 63 29 00 00 00 16 20 20 ast_float(s);......if.(!c)......
6600 20 20 63 20 3d 20 6c 61 73 74 5f 74 69 6c 65 64 28 73 29 3b 00 00 00 12 20 20 66 6f 63 75 73 28 ..c.=.last_tiled(s);......focus(
6620 63 2c 20 66 61 6c 73 65 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4d 76 6f 69 64 20 6d 61 73 74 c,.false);....}.......Mvoid.mast
6640 65 72 5f 6e 65 78 74 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 75 69 6e 74 33 32 5f 74 20 74 69 6d er_next(void.*data,.uint32_t.tim
6660 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 61 6c 75 65 2c 20 75 69 6e 74 33 32 5f 74 20 73 74 61 74 e,.uint32_t.value,.uint32_t.stat
6680 65 29 20 7b 00 00 00 0d 20 20 28 76 6f 69 64 29 64 61 74 61 3b 00 00 00 0d 20 20 28 76 6f 69 64 e).{......(void)data;......(void
66a0 29 74 69 6d 65 3b 00 00 00 0e 20 20 28 76 6f 69 64 29 76 61 6c 75 65 3b 00 00 00 00 00 00 00 17 )time;......(void)value;........
66c0 20 20 73 74 72 75 63 74 20 63 6c 69 65 6e 74 20 2a 66 69 72 73 74 3b 00 00 00 16 20 20 73 74 72 ..struct.client.*first;......str
66e0 75 63 74 20 63 6c 69 65 6e 74 20 2a 6c 61 73 74 3b 00 00 00 13 20 20 73 74 72 75 63 74 20 73 63 uct.client.*last;......struct.sc
6700 72 65 65 6e 20 2a 73 3b 00 00 00 00 00 00 00 2d 20 20 69 66 20 28 73 74 61 74 65 20 21 3d 20 57 reen.*s;.......-..if.(state.!=.W
6720 4c 5f 4b 45 59 42 4f 41 52 44 5f 4b 45 59 5f 53 54 41 54 45 5f 50 52 45 53 53 45 44 29 00 00 00 L_KEYBOARD_KEY_STATE_PRESSED)...
6740 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 15 20 20 69 66 20 28 21 77 6d 2e 73 65 .....return;..........if.(!wm.se
6760 6c 5f 73 63 72 65 65 6e 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 14 l_screen)........return;........
6780 20 20 73 20 3d 20 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 3b 00 00 00 19 20 20 66 69 72 73 74 20 ..s.=.wm.sel_screen;......first.
67a0 3d 20 66 69 72 73 74 5f 74 69 6c 65 64 28 73 29 3b 00 00 00 17 20 20 6c 61 73 74 20 3d 20 6c 61 =.first_tiled(s);......last.=.la
67c0 73 74 5f 74 69 6c 65 64 28 73 29 3b 00 00 00 00 00 00 00 27 20 20 69 66 20 28 21 66 69 72 73 74 st_tiled(s);.......'..if.(!first
67e0 20 7c 7c 20 21 6c 61 73 74 20 7c 7c 20 66 69 72 73 74 20 3d 3d 20 6c 61 73 74 29 00 00 00 0b 20 .||.!last.||.first.==.last).....
6800 20 20 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 24 20 20 77 6c 5f 6c 69 73 74 5f 72 65 6d 6f ...return;.......$..wl_list_remo
6820 76 65 28 26 6c 61 73 74 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 29 3b 00 00 00 3c 20 20 77 6c 5f 6c ve(&last->tiled_link);...<..wl_l
6840 69 73 74 5f 69 6e 73 65 72 74 28 66 69 72 73 74 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 2e 70 72 65 ist_insert(first->tiled_link.pre
6860 76 2c 20 26 6c 61 73 74 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 29 3b 00 00 00 1e 20 20 66 6f 63 75 v,.&last->tiled_link);......focu
6880 73 28 66 69 72 73 74 5f 74 69 6c 65 64 28 73 29 2c 20 74 72 75 65 29 3b 00 00 00 0a 20 20 74 69 s(first_tiled(s),.true);......ti
68a0 6c 65 28 73 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4d 76 6f 69 64 20 6d 61 73 74 65 72 5f 70 le(s);....}.......Mvoid.master_p
68c0 72 65 76 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 2c 20 75 rev(void.*data,.uint32_t.time,.u
68e0 69 6e 74 33 32 5f 74 20 76 61 6c 75 65 2c 20 75 69 6e 74 33 32 5f 74 20 73 74 61 74 65 29 20 7b int32_t.value,.uint32_t.state).{
6900 00 00 00 0d 20 20 28 76 6f 69 64 29 64 61 74 61 3b 00 00 00 0d 20 20 28 76 6f 69 64 29 74 69 6d ......(void)data;......(void)tim
6920 65 3b 00 00 00 0e 20 20 28 76 6f 69 64 29 76 61 6c 75 65 3b 00 00 00 00 00 00 00 17 20 20 73 74 e;......(void)value;..........st
6940 72 75 63 74 20 63 6c 69 65 6e 74 20 2a 66 69 72 73 74 3b 00 00 00 16 20 20 73 74 72 75 63 74 20 ruct.client.*first;......struct.
6960 63 6c 69 65 6e 74 20 2a 6c 61 73 74 3b 00 00 00 13 20 20 73 74 72 75 63 74 20 73 63 72 65 65 6e client.*last;......struct.screen
6980 20 2a 73 3b 00 00 00 00 00 00 00 2d 20 20 69 66 20 28 73 74 61 74 65 20 21 3d 20 57 4c 5f 4b 45 .*s;.......-..if.(state.!=.WL_KE
69a0 59 42 4f 41 52 44 5f 4b 45 59 5f 53 54 41 54 45 5f 50 52 45 53 53 45 44 29 00 00 00 0b 20 20 20 YBOARD_KEY_STATE_PRESSED).......
69c0 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 15 20 20 69 66 20 28 21 77 6d 2e 73 65 6c 5f 73 63 .return;..........if.(!wm.sel_sc
69e0 72 65 65 6e 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 14 20 20 73 20 reen)........return;..........s.
6a00 3d 20 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 3b 00 00 00 19 20 20 66 69 72 73 74 20 3d 20 66 69 =.wm.sel_screen;......first.=.fi
6a20 72 73 74 5f 74 69 6c 65 64 28 73 29 3b 00 00 00 17 20 20 6c 61 73 74 20 3d 20 6c 61 73 74 5f 74 rst_tiled(s);......last.=.last_t
6a40 69 6c 65 64 28 73 29 3b 00 00 00 00 00 00 00 27 20 20 69 66 20 28 21 66 69 72 73 74 20 7c 7c 20 iled(s);.......'..if.(!first.||.
6a60 21 6c 61 73 74 20 7c 7c 20 66 69 72 73 74 20 3d 3d 20 6c 61 73 74 29 00 00 00 0b 20 20 20 20 72 !last.||.first.==.last)........r
6a80 65 74 75 72 6e 3b 00 00 00 00 00 00 00 25 20 20 77 6c 5f 6c 69 73 74 5f 72 65 6d 6f 76 65 28 26 eturn;.......%..wl_list_remove(&
6aa0 66 69 72 73 74 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 29 3b 00 00 00 38 20 20 77 6c 5f 6c 69 73 74 first->tiled_link);...8..wl_list
6ac0 5f 69 6e 73 65 72 74 28 26 6c 61 73 74 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 2c 20 26 66 69 72 73 _insert(&last->tiled_link,.&firs
6ae0 74 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 29 3b 00 00 00 1e 20 20 66 6f 63 75 73 28 66 69 72 73 74 t->tiled_link);......focus(first
6b00 5f 74 69 6c 65 64 28 73 29 2c 20 74 72 75 65 29 3b 00 00 00 0a 20 20 74 69 6c 65 28 73 29 3b 00 _tiled(s),.true);......tile(s);.
6b20 00 00 01 7d 00 00 00 00 00 00 00 4a 76 6f 69 64 20 6b 69 6c 6c 5f 73 65 6c 28 76 6f 69 64 20 2a ...}.......Jvoid.kill_sel(void.*
6b40 64 61 74 61 2c 20 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 61 data,.uint32_t.time,.uint32_t.va
6b60 6c 75 65 2c 20 75 69 6e 74 33 32 5f 74 20 73 74 61 74 65 29 20 7b 00 00 00 0d 20 20 28 76 6f 69 lue,.uint32_t.state).{......(voi
6b80 64 29 64 61 74 61 3b 00 00 00 0d 20 20 28 76 6f 69 64 29 74 69 6d 65 3b 00 00 00 0e 20 20 28 76 d)data;......(void)time;......(v
6ba0 6f 69 64 29 76 61 6c 75 65 3b 00 00 00 00 00 00 00 2d 20 20 69 66 20 28 73 74 61 74 65 20 21 3d oid)value;.......-..if.(state.!=
6bc0 20 57 4c 5f 4b 45 59 42 4f 41 52 44 5f 4b 45 59 5f 53 54 41 54 45 5f 50 52 45 53 53 45 44 29 00 .WL_KEYBOARD_KEY_STATE_PRESSED).
6be0 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 15 20 20 69 66 20 28 21 77 6d 2e .......return;..........if.(!wm.
6c00 73 65 6c 5f 63 6c 69 65 6e 74 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 sel_client)........return;......
6c20 00 27 20 20 73 77 63 5f 77 69 6e 64 6f 77 5f 63 6c 6f 73 65 28 77 6d 2e 73 65 6c 5f 63 6c 69 65 .'..swc_window_close(wm.sel_clie
6c40 6e 74 2d 3e 77 69 6e 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4f 76 6f 69 64 20 6d 61 73 74 65 nt->win);....}.......Ovoid.maste
6c60 72 5f 72 65 73 69 7a 65 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 75 69 6e 74 33 32 5f 74 20 74 69 r_resize(void.*data,.uint32_t.ti
6c80 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 61 6c 75 65 2c 20 75 69 6e 74 33 32 5f 74 20 73 74 61 me,.uint32_t.value,.uint32_t.sta
6ca0 74 65 29 20 7b 00 00 00 0d 20 20 28 76 6f 69 64 29 74 69 6d 65 3b 00 00 00 0e 20 20 28 76 6f 69 te).{......(void)time;......(voi
6cc0 64 29 76 61 6c 75 65 3b 00 00 00 00 00 00 00 16 20 20 75 6e 69 6f 6e 20 61 72 67 20 2a 61 20 3d d)value;..........union.arg.*a.=
6ce0 20 64 61 74 61 3b 00 00 00 00 00 00 00 2d 20 20 69 66 20 28 73 74 61 74 65 20 21 3d 20 57 4c 5f .data;.......-..if.(state.!=.WL_
6d00 4b 45 59 42 4f 41 52 44 5f 4b 45 59 5f 53 54 41 54 45 5f 50 52 45 53 53 45 44 29 00 00 00 0b 20 KEYBOARD_KEY_STATE_PRESSED).....
6d20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 15 20 20 69 66 20 28 21 77 6d 2e 73 65 6c 5f ...return;..........if.(!wm.sel_
6d40 73 63 72 65 65 6e 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 10 20 20 screen)........return;..........
6d60 7b 20 2f 2a 20 62 6f 75 6e 64 73 20 2a 2f 00 00 00 43 20 20 20 20 73 74 72 75 63 74 20 73 77 63 {./*.bounds.*/...C....struct.swc
6d80 5f 72 65 63 74 61 6e 67 6c 65 20 2a 67 20 3d 20 26 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 2d 3e _rectangle.*g.=.&wm.sel_screen->
6da0 73 63 72 2d 3e 75 73 61 62 6c 65 5f 67 65 6f 6d 65 74 72 79 3b 00 00 00 00 00 00 00 34 20 20 20 scr->usable_geometry;.......4...
6dc0 20 75 69 6e 74 33 32 5f 74 20 6f 75 74 5f 67 61 70 73 20 3d 20 63 66 67 2e 67 61 70 73 20 2b 20 .uint32_t.out_gaps.=.cfg.gaps.+.
6de0 63 66 67 2e 62 6f 72 64 65 72 5f 77 69 64 74 68 3b 00 00 00 39 20 20 20 20 75 69 6e 74 33 32 5f cfg.border_width;...9....uint32_
6e00 74 20 69 6e 5f 67 61 70 73 20 3d 20 63 66 67 2e 67 61 70 73 20 2b 20 28 63 66 67 2e 62 6f 72 64 t.in_gaps.=.cfg.gaps.+.(cfg.bord
6e20 65 72 5f 77 69 64 74 68 20 2a 20 32 29 3b 00 00 00 00 00 00 00 40 20 20 20 20 69 6e 74 33 32 5f er_width.*.2);.......@....int32_
6e40 74 20 74 6f 74 61 6c 20 3d 20 28 69 6e 74 33 32 5f 74 29 67 2d 3e 77 69 64 74 68 20 2d 20 28 69 t.total.=.(int32_t)g->width.-.(i
6e60 6e 74 33 32 5f 74 29 28 6f 75 74 5f 67 61 70 73 20 2a 20 32 29 3b 00 00 00 00 00 00 00 1c 20 20 nt32_t)(out_gaps.*.2);..........
6e80 20 20 69 6e 74 33 32 5f 74 20 6d 69 6e 5f 6d 61 73 74 65 72 20 3d 20 32 30 3b 00 00 00 37 20 20 ..int32_t.min_master.=.20;...7..
6ea0 20 20 69 6e 74 33 32 5f 74 20 6d 61 78 5f 6d 61 73 74 65 72 20 3d 20 74 6f 74 61 6c 20 2d 20 28 ..int32_t.max_master.=.total.-.(
6ec0 69 6e 74 33 32 5f 74 29 69 6e 5f 67 61 70 73 20 2d 20 32 30 3b 00 00 00 00 00 00 00 20 20 20 20 int32_t)in_gaps.-.20;...........
6ee0 20 69 66 20 28 6d 61 78 5f 6d 61 73 74 65 72 20 3c 20 6d 69 6e 5f 6d 61 73 74 65 72 29 00 00 00 .if.(max_master.<.min_master)...
6f00 1e 20 20 20 20 20 20 6d 61 78 5f 6d 61 73 74 65 72 20 3d 20 6d 69 6e 5f 6d 61 73 74 65 72 3b 00 .......max_master.=.min_master;.
6f20 00 00 00 00 00 00 2e 20 20 20 20 69 6e 74 33 32 5f 74 20 6d 77 20 3d 20 28 69 6e 74 33 32 5f 74 ...........int32_t.mw.=.(int32_t
6f40 29 6d 61 73 74 65 72 5f 77 69 64 74 68 20 2b 20 61 2d 3e 69 3b 00 00 00 00 00 00 00 18 20 20 20 )master_width.+.a->i;...........
6f60 20 69 66 20 28 6d 77 20 3c 20 6d 69 6e 5f 6d 61 73 74 65 72 29 00 00 00 16 20 20 20 20 20 20 6d .if.(mw.<.min_master)..........m
6f80 77 20 3d 20 6d 61 78 5f 6d 61 73 74 65 72 3b 00 00 00 1d 20 20 20 20 65 6c 73 65 20 69 66 20 28 w.=.max_master;........else.if.(
6fa0 6d 77 20 3e 20 6d 61 78 5f 6d 61 73 74 65 72 29 00 00 00 16 20 20 20 20 20 20 6d 77 20 3d 20 6d mw.>.max_master)..........mw.=.m
6fc0 69 6e 5f 6d 61 73 74 65 72 3b 00 00 00 00 00 00 00 20 20 20 20 20 6d 61 73 74 65 72 5f 77 69 64 in_master;............master_wid
6fe0 74 68 20 3d 20 28 75 69 6e 74 33 32 5f 74 29 6d 77 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 th.=.(uint32_t)mw;......}.......
7000 16 20 20 74 69 6c 65 28 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 29 3b 00 00 00 01 7d 00 00 00 00 ...tile(wm.sel_screen);....}....
7020 00 00 00 4c 76 6f 69 64 20 6d 6f 75 73 65 5f 6d 6f 76 65 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 ...Lvoid.mouse_move(void.*data,.
7040 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 61 6c 75 65 2c 20 75 uint32_t.time,.uint32_t.value,.u
7060 69 6e 74 33 32 5f 74 20 73 74 61 74 65 29 20 7b 00 00 00 0d 20 20 28 76 6f 69 64 29 64 61 74 61 int32_t.state).{......(void)data
7080 3b 00 00 00 0d 20 20 28 76 6f 69 64 29 74 69 6d 65 3b 00 00 00 0e 20 20 28 76 6f 69 64 29 76 61 ;......(void)time;......(void)va
70a0 6c 75 65 3b 00 00 00 00 00 00 00 31 20 20 69 66 20 28 73 74 61 74 65 20 3d 3d 20 57 4c 5f 50 4f lue;.......1..if.(state.==.WL_PO
70c0 49 4e 54 45 52 5f 42 55 54 54 4f 4e 5f 53 54 41 54 45 5f 50 52 45 53 53 45 44 29 20 7b 00 00 00 INTER_BUTTON_STATE_PRESSED).{...
70e0 17 20 20 20 20 69 66 20 28 21 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 29 00 00 00 0d 20 20 20 20 .....if.(!wm.sel_client)........
7100 20 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 23 20 20 20 20 69 66 20 28 21 77 6d 2e 73 65 6c ..return;.......#....if.(!wm.sel
7120 5f 63 6c 69 65 6e 74 2d 3e 66 6c 6f 61 74 69 6e 67 29 20 7b 00 00 00 2f 20 20 20 20 20 20 73 65 _client->floating).{.../......se
7140 74 5f 66 6c 6f 61 74 69 6e 67 28 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 2c 20 74 72 75 65 2c 20 t_floating(wm.sel_client,.true,.
7160 66 61 6c 73 65 29 3b 00 00 00 1f 20 20 20 20 20 20 74 69 6c 65 28 77 6d 2e 73 65 6c 5f 63 6c 69 false);..........tile(wm.sel_cli
7180 65 6e 74 2d 3e 73 63 72 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 00 00 00 00 1a 20 20 20 20 77 ent->scr);........}............w
71a0 6d 2e 67 72 61 62 2e 61 63 74 69 76 65 20 3d 20 74 72 75 65 3b 00 00 00 1b 20 20 20 20 77 6d 2e m.grab.active.=.true;........wm.
71c0 67 72 61 62 2e 72 65 73 69 7a 65 20 3d 20 66 61 6c 73 65 3b 00 00 00 1e 20 20 20 20 77 6d 2e 67 grab.resize.=.false;........wm.g
71e0 72 61 62 2e 63 20 3d 20 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 3b 00 00 00 00 00 00 00 2a 20 20 rab.c.=.wm.sel_client;.......*..
7200 20 20 73 77 63 5f 77 69 6e 64 6f 77 5f 62 65 67 69 6e 5f 6d 6f 76 65 28 77 6d 2e 67 72 61 62 2e ..swc_window_begin_move(wm.grab.
7220 63 2d 3e 77 69 6e 29 3b 00 00 00 0a 20 20 7d 20 65 6c 73 65 20 7b 00 00 00 38 20 20 20 20 69 66 c->win);......}.else.{...8....if
7240 20 28 21 77 6d 2e 67 72 61 62 2e 61 63 74 69 76 65 20 7c 7c 20 77 6d 2e 67 72 61 62 2e 72 65 73 .(!wm.grab.active.||.wm.grab.res
7260 69 7a 65 20 7c 7c 20 21 77 6d 2e 67 72 61 62 2e 63 29 00 00 00 0d 20 20 20 20 20 20 72 65 74 75 ize.||.!wm.grab.c)..........retu
7280 72 6e 3b 00 00 00 00 00 00 00 28 20 20 20 20 73 77 63 5f 77 69 6e 64 6f 77 5f 65 6e 64 5f 6d 6f rn;.......(....swc_window_end_mo
72a0 76 65 28 77 6d 2e 67 72 61 62 2e 63 2d 3e 77 69 6e 29 3b 00 00 00 00 00 00 00 1b 20 20 20 20 77 ve(wm.grab.c->win);............w
72c0 6d 2e 67 72 61 62 2e 61 63 74 69 76 65 20 3d 20 66 61 6c 73 65 3b 00 00 00 15 20 20 20 20 77 6d m.grab.active.=.false;........wm
72e0 2e 67 72 61 62 2e 63 20 3d 20 4e 55 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 .grab.c.=.NULL;......}....}.....
7300 00 00 4e 76 6f 69 64 20 6d 6f 75 73 65 5f 72 65 73 69 7a 65 28 76 6f 69 64 20 2a 64 61 74 61 2c ..Nvoid.mouse_resize(void.*data,
7320 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 76 61 6c 75 65 2c 20 .uint32_t.time,.uint32_t.value,.
7340 75 69 6e 74 33 32 5f 74 20 73 74 61 74 65 29 20 7b 00 00 00 0d 20 20 28 76 6f 69 64 29 64 61 74 uint32_t.state).{......(void)dat
7360 61 3b 00 00 00 0d 20 20 28 76 6f 69 64 29 74 69 6d 65 3b 00 00 00 0e 20 20 28 76 6f 69 64 29 76 a;......(void)time;......(void)v
7380 61 6c 75 65 3b 00 00 00 00 00 00 00 31 20 20 69 66 20 28 73 74 61 74 65 20 3d 3d 20 57 4c 5f 50 alue;.......1..if.(state.==.WL_P
73a0 4f 49 4e 54 45 52 5f 42 55 54 54 4f 4e 5f 53 54 41 54 45 5f 50 52 45 53 53 45 44 29 20 7b 00 00 OINTER_BUTTON_STATE_PRESSED).{..
73c0 00 17 20 20 20 20 69 66 20 28 21 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 29 00 00 00 0d 20 20 20 ......if.(!wm.sel_client).......
73e0 20 20 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 23 20 20 20 20 69 66 20 28 21 77 6d 2e 73 65 ...return;.......#....if.(!wm.se
7400 6c 5f 63 6c 69 65 6e 74 2d 3e 66 6c 6f 61 74 69 6e 67 29 20 7b 00 00 00 2f 20 20 20 20 20 20 73 l_client->floating).{.../......s
7420 65 74 5f 66 6c 6f 61 74 69 6e 67 28 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 2c 20 74 72 75 65 2c et_floating(wm.sel_client,.true,
7440 20 66 61 6c 73 65 29 3b 00 00 00 1f 20 20 20 20 20 20 74 69 6c 65 28 77 6d 2e 73 65 6c 5f 63 6c .false);..........tile(wm.sel_cl
7460 69 65 6e 74 2d 3e 73 63 72 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 00 00 00 00 1a 20 20 20 20 ient->scr);........}............
7480 77 6d 2e 67 72 61 62 2e 61 63 74 69 76 65 20 3d 20 74 72 75 65 3b 00 00 00 1a 20 20 20 20 77 6d wm.grab.active.=.true;........wm
74a0 2e 67 72 61 62 2e 72 65 73 69 7a 65 20 3d 20 74 72 75 65 3b 00 00 00 1e 20 20 20 20 77 6d 2e 67 .grab.resize.=.true;........wm.g
74c0 72 61 62 2e 63 20 3d 20 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 3b 00 00 00 00 00 00 00 2b 20 20 rab.c.=.wm.sel_client;.......+..
74e0 20 20 73 77 63 5f 77 69 6e 64 6f 77 5f 62 65 67 69 6e 5f 72 65 73 69 7a 65 28 77 6d 2e 67 72 61 ..swc_window_begin_resize(wm.gra
7500 62 2e 63 2d 3e 77 69 6e 2c 00 00 00 4c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 b.c->win,...L...................
7520 20 20 20 20 20 20 20 20 20 53 57 43 5f 57 49 4e 44 4f 57 5f 45 44 47 45 5f 52 49 47 48 54 20 7c .........SWC_WINDOW_EDGE_RIGHT.|
7540 20 53 57 43 5f 57 49 4e 44 4f 57 5f 45 44 47 45 5f 42 4f 54 54 4f 4d 29 3b 00 00 00 0a 20 20 7d .SWC_WINDOW_EDGE_BOTTOM);......}
7560 20 65 6c 73 65 20 7b 00 00 00 39 20 20 20 20 69 66 20 28 21 77 6d 2e 67 72 61 62 2e 61 63 74 69 .else.{...9....if.(!wm.grab.acti
7580 76 65 20 7c 7c 20 21 77 6d 2e 67 72 61 62 2e 72 65 73 69 7a 65 20 7c 7c 20 21 77 6d 2e 67 72 61 ve.||.!wm.grab.resize.||.!wm.gra
75a0 62 2e 63 29 00 00 00 0d 20 20 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 2a 20 20 20 b.c)..........return;.......*...
75c0 20 73 77 63 5f 77 69 6e 64 6f 77 5f 65 6e 64 5f 72 65 73 69 7a 65 28 77 6d 2e 67 72 61 62 2e 63 .swc_window_end_resize(wm.grab.c
75e0 2d 3e 77 69 6e 29 3b 00 00 00 00 00 00 00 1b 20 20 20 20 77 6d 2e 67 72 61 62 2e 61 63 74 69 76 ->win);............wm.grab.activ
7600 65 20 3d 20 66 61 6c 73 65 3b 00 00 00 15 20 20 20 20 77 6d 2e 67 72 61 62 2e 63 20 3d 20 4e 55 e.=.false;........wm.grab.c.=.NU
7620 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 29 76 6f 69 64 20 6e 65 77 5f LL;......}....}.......)void.new_
7640 73 63 72 65 65 6e 28 73 74 72 75 63 74 20 73 77 63 5f 73 63 72 65 65 6e 20 2a 73 63 72 29 20 7b screen(struct.swc_screen.*scr).{
7660 00 00 00 13 20 20 73 74 72 75 63 74 20 73 63 72 65 65 6e 20 2a 73 3b 00 00 00 00 00 00 00 19 20 ......struct.screen.*s;.........
7680 20 73 20 3d 20 6d 61 6c 6c 6f 63 28 73 69 7a 65 6f 66 28 2a 73 29 29 3b 00 00 00 09 20 20 69 66 .s.=.malloc(sizeof(*s));......if
76a0 20 28 21 73 29 00 00 00 32 20 20 20 20 64 69 65 28 45 58 49 54 5f 46 41 49 4c 55 52 45 2c 20 22 .(!s)...2....die(EXIT_FAILURE,."
76c0 6e 65 77 20 73 63 72 65 65 6e 20 63 61 6c 6c 6f 63 20 66 61 69 6c 65 64 22 29 3b 00 00 00 00 00 new.screen.calloc.failed");.....
76e0 00 00 0f 20 20 73 2d 3e 73 63 72 20 3d 20 73 63 72 3b 00 00 00 00 00 00 00 0b 20 20 73 2d 3e 78 .....s->scr.=.scr;..........s->x
7700 20 3d 20 30 3b 00 00 00 0b 20 20 73 2d 3e 79 20 3d 20 30 3b 00 00 00 0b 20 20 73 2d 3e 77 20 3d .=.0;......s->y.=.0;......s->w.=
7720 20 30 3b 00 00 00 0b 20 20 73 2d 3e 68 20 3d 20 30 3b 00 00 00 00 00 00 00 28 20 20 77 6c 5f 6c .0;......s->h.=.0;.......(..wl_l
7740 69 73 74 5f 69 6e 73 65 72 74 28 26 77 6d 2e 73 63 72 65 65 6e 73 2c 20 26 73 2d 3e 6c 69 6e 6b ist_insert(&wm.screens,.&s->link
7760 29 3b 00 00 00 00 00 00 00 15 20 20 69 66 20 28 21 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 29 00 );..........if.(!wm.sel_screen).
7780 00 00 16 20 20 20 20 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 20 3d 20 73 3b 00 00 00 00 00 00 00 .......wm.sel_screen.=.s;.......
77a0 32 20 20 73 77 63 5f 73 63 72 65 65 6e 5f 73 65 74 5f 68 61 6e 64 6c 65 72 28 73 63 72 2c 20 26 2..swc_screen_set_handler(scr,.&
77c0 73 63 72 65 65 6e 5f 68 61 6e 64 6c 65 72 2c 20 73 29 3b 00 00 00 00 00 00 00 2f 20 20 5f 6c 6f screen_handler,.s);......./.._lo
77e0 67 28 73 74 64 65 72 72 2c 20 22 6e 65 77 5f 73 63 72 65 65 6e 3d 25 70 5c 6e 22 2c 20 28 76 6f g(stderr,."new_screen=%p\n",.(vo
7800 69 64 20 2a 29 73 63 72 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 29 76 6f 69 64 20 6e 65 77 5f id.*)scr);....}.......)void.new_
7820 77 69 6e 64 6f 77 28 73 74 72 75 63 74 20 73 77 63 5f 77 69 6e 64 6f 77 20 2a 77 69 6e 29 20 7b window(struct.swc_window.*win).{
7840 00 00 00 13 20 20 73 74 72 75 63 74 20 63 6c 69 65 6e 74 20 2a 63 3b 00 00 00 00 00 00 00 19 20 ......struct.client.*c;.........
7860 20 63 20 3d 20 6d 61 6c 6c 6f 63 28 73 69 7a 65 6f 66 28 2a 63 29 29 3b 00 00 00 09 20 20 69 66 .c.=.malloc(sizeof(*c));......if
7880 20 28 21 63 29 00 00 00 2e 20 20 20 20 64 69 65 28 45 58 49 54 5f 46 41 49 4c 55 52 45 2c 20 22 .(!c)........die(EXIT_FAILURE,."
78a0 6d 61 6c 6c 6f 63 20 63 6c 69 65 6e 74 20 66 61 69 6c 65 64 22 29 3b 00 00 00 00 00 00 00 3a 20 malloc.client.failed");.......:.
78c0 20 77 69 6e 2d 3e 6d 6f 74 69 6f 6e 5f 74 68 72 6f 74 74 6c 65 5f 6d 73 20 3d 20 31 30 30 30 20 .win->motion_throttle_ms.=.1000.
78e0 2f 20 63 66 67 2e 6d 6f 74 69 6f 6e 5f 74 68 72 6f 74 74 6c 65 5f 68 7a 3b 00 00 00 16 20 20 77 /.cfg.motion_throttle_hz;......w
7900 69 6e 2d 3e 6d 69 6e 5f 77 69 64 74 68 20 3d 20 32 30 3b 00 00 00 17 20 20 77 69 6e 2d 3e 6d 69 in->min_width.=.20;......win->mi
7920 6e 5f 68 65 69 67 68 74 20 3d 20 32 30 3b 00 00 00 15 20 20 77 69 6e 2d 3e 6d 61 78 5f 77 69 64 n_height.=.20;......win->max_wid
7940 74 68 20 3d 20 30 3b 00 00 00 16 20 20 77 69 6e 2d 3e 6d 61 78 5f 68 65 69 67 68 74 20 3d 20 30 th.=.0;......win->max_height.=.0
7960 3b 00 00 00 00 00 00 00 0f 20 20 63 2d 3e 77 69 6e 20 3d 20 77 69 6e 3b 00 00 00 19 20 20 63 2d ;..........c->win.=.win;......c-
7980 3e 73 63 72 20 3d 20 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 3b 00 00 00 14 20 20 63 2d 3e 6d 61 >scr.=.wm.sel_screen;......c->ma
79a0 70 70 65 64 20 3d 20 66 61 6c 73 65 3b 00 00 00 23 20 20 63 2d 3e 66 6c 6f 61 74 69 6e 67 20 3d pped.=.false;...#..c->floating.=
79c0 20 77 6d 2e 67 6c 6f 62 61 6c 5f 66 6c 6f 61 74 69 6e 67 3b 00 00 00 18 20 20 63 2d 3e 66 75 6c .wm.global_floating;......c->ful
79e0 6c 73 63 72 65 65 6e 20 3d 20 66 61 6c 73 65 3b 00 00 00 10 20 20 63 2d 3e 77 73 20 3d 20 66 61 lscreen.=.false;......c->ws.=.fa
7a00 6c 73 65 3b 00 00 00 00 00 00 00 14 20 20 69 66 20 28 63 2d 3e 66 6c 6f 61 74 69 6e 67 29 20 7b lse;..........if.(c->floating).{
7a20 00 00 00 31 20 20 20 20 77 6c 5f 6c 69 73 74 5f 69 6e 73 65 72 74 28 26 77 6d 2e 66 6c 6f 61 74 ...1....wl_list_insert(&wm.float
7a40 69 6e 67 2c 20 26 63 2d 3e 66 6c 6f 61 74 5f 6c 69 6e 6b 29 3b 00 00 00 21 20 20 20 20 77 6c 5f ing,.&c->float_link);...!....wl_
7a60 6c 69 73 74 5f 69 6e 69 74 28 26 63 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 29 3b 00 00 00 34 20 20 list_init(&c->tiled_link);...4..
7a80 20 20 73 77 63 5f 77 69 6e 64 6f 77 5f 73 65 74 5f 68 61 6e 64 6c 65 72 28 77 69 6e 2c 20 26 77 ..swc_window_set_handler(win,.&w
7aa0 69 6e 64 6f 77 5f 68 61 6e 64 6c 65 72 2c 20 63 29 3b 00 00 00 20 20 20 20 20 73 77 63 5f 77 69 indow_handler,.c);........swc_wi
7ac0 6e 64 6f 77 5f 73 65 74 5f 73 74 61 63 6b 65 64 28 77 69 6e 29 3b 00 00 00 0a 20 20 7d 20 65 6c ndow_set_stacked(win);......}.el
7ae0 73 65 20 7b 00 00 00 2e 20 20 20 20 77 6c 5f 6c 69 73 74 5f 69 6e 73 65 72 74 28 26 77 6d 2e 74 se.{........wl_list_insert(&wm.t
7b00 69 6c 65 64 2c 20 26 63 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 29 3b 00 00 00 21 20 20 20 20 77 6c iled,.&c->tiled_link);...!....wl
7b20 5f 6c 69 73 74 5f 69 6e 69 74 28 26 63 2d 3e 66 6c 6f 61 74 5f 6c 69 6e 6b 29 3b 00 00 00 34 20 _list_init(&c->float_link);...4.
7b40 20 20 20 73 77 63 5f 77 69 6e 64 6f 77 5f 73 65 74 5f 68 61 6e 64 6c 65 72 28 77 69 6e 2c 20 26 ...swc_window_set_handler(win,.&
7b60 77 69 6e 64 6f 77 5f 68 61 6e 64 6c 65 72 2c 20 63 29 3b 00 00 00 1e 20 20 20 20 73 77 63 5f 77 window_handler,.c);........swc_w
7b80 69 6e 64 6f 77 5f 73 65 74 5f 74 69 6c 65 64 28 77 69 6e 29 3b 00 00 00 03 20 20 7d 00 00 00 17 indow_set_tiled(win);......}....
7ba0 20 20 73 77 63 5f 77 69 6e 64 6f 77 5f 73 68 6f 77 28 77 69 6e 29 3b 00 00 00 11 20 20 66 6f 63 ..swc_window_show(win);......foc
7bc0 75 73 28 63 2c 20 74 72 75 65 29 3b 00 00 00 16 20 20 74 69 6c 65 28 77 6d 2e 73 65 6c 5f 73 63 us(c,.true);......tile(wm.sel_sc
7be0 72 65 65 6e 29 3b 00 00 00 00 00 00 00 2f 20 20 5f 6c 6f 67 28 73 74 64 65 72 72 2c 20 22 6e 65 reen);......./.._log(stderr,."ne
7c00 77 5f 77 69 6e 64 6f 77 3d 25 70 5c 6e 22 2c 20 28 76 6f 69 64 20 2a 29 77 69 6e 29 3b 00 00 00 w_window=%p\n",.(void.*)win);...
7c20 01 7d 00 00 00 00 00 00 00 3b 76 6f 69 64 20 6e 65 77 5f 64 65 76 69 63 65 28 73 74 72 75 63 74 .}.......;void.new_device(struct
7c40 20 6c 69 62 69 6e 70 75 74 5f 64 65 76 69 63 65 20 2a 64 65 76 29 20 7b 20 28 76 6f 69 64 29 64 .libinput_device.*dev).{.(void)d
7c60 65 76 3b 20 7d 00 00 00 00 00 00 00 46 76 6f 69 64 20 71 75 69 74 28 76 6f 69 64 20 2a 64 61 74 ev;.}.......Fvoid.quit(void.*dat
7c80 61 2c 20 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 61 6c 75 65 a,.uint32_t.time,.uint32_t.value
7ca0 2c 20 75 69 6e 74 33 32 5f 74 20 73 74 61 74 65 29 20 7b 00 00 00 0d 20 20 28 76 6f 69 64 29 64 ,.uint32_t.state).{......(void)d
7cc0 61 74 61 3b 00 00 00 0d 20 20 28 76 6f 69 64 29 74 69 6d 65 3b 00 00 00 0e 20 20 28 76 6f 69 64 ata;......(void)time;......(void
7ce0 29 76 61 6c 75 65 3b 00 00 00 0e 20 20 28 76 6f 69 64 29 73 74 61 74 65 3b 00 00 00 00 00 00 00 )value;......(void)state;.......
7d00 1f 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 74 65 72 6d 69 6e 61 74 65 28 77 6d 2e 64 70 79 29 3b ...wl_display_terminate(wm.dpy);
7d20 00 00 00 01 7d 00 00 00 00 00 00 00 47 76 6f 69 64 20 73 70 61 77 6e 28 76 6f 69 64 20 2a 64 61 ....}.......Gvoid.spawn(void.*da
7d40 74 61 2c 20 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 61 6c 75 ta,.uint32_t.time,.uint32_t.valu
7d60 65 2c 20 75 69 6e 74 33 32 5f 74 20 73 74 61 74 65 29 20 7b 00 00 00 16 20 20 75 6e 69 6f 6e 20 e,.uint32_t.state).{......union.
7d80 61 72 67 20 2a 61 20 3d 20 64 61 74 61 3b 00 00 00 29 20 20 63 68 61 72 20 2a 63 6f 6e 73 74 20 arg.*a.=.data;...)..char.*const.
7da0 2a 63 6d 64 20 3d 20 28 63 68 61 72 20 2a 63 6f 6e 73 74 20 2a 29 61 2d 3e 76 3b 00 00 00 00 00 *cmd.=.(char.*const.*)a->v;.....
7dc0 00 00 0d 20 20 28 76 6f 69 64 29 74 69 6d 65 3b 00 00 00 0e 20 20 28 76 6f 69 64 29 76 61 6c 75 .....(void)time;......(void)valu
7de0 65 3b 00 00 00 00 00 00 00 2d 20 20 69 66 20 28 73 74 61 74 65 20 21 3d 20 57 4c 5f 4b 45 59 42 e;.......-..if.(state.!=.WL_KEYB
7e00 4f 41 52 44 5f 4b 45 59 5f 53 54 41 54 45 5f 50 52 45 53 53 45 44 29 00 00 00 0b 20 20 20 20 72 OARD_KEY_STATE_PRESSED)........r
7e20 65 74 75 72 6e 3b 00 00 00 00 00 00 00 14 20 20 69 66 20 28 66 6f 72 6b 28 29 20 3d 3d 20 30 29 eturn;..........if.(fork().==.0)
7e40 20 7b 00 00 00 18 20 20 20 20 65 78 65 63 76 70 28 63 6d 64 5b 30 5d 2c 20 63 6d 64 29 3b 00 00 .{........execvp(cmd[0],.cmd);..
7e60 00 0f 20 20 20 20 5f 65 78 69 74 28 31 32 37 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 ......_exit(127);......}....}...
7e80 00 00 00 00 4e 76 6f 69 64 20 74 6f 67 67 6c 65 5f 66 6c 6f 61 74 28 76 6f 69 64 20 2a 64 61 74 ....Nvoid.toggle_float(void.*dat
7ea0 61 2c 20 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 61 6c 75 65 a,.uint32_t.time,.uint32_t.value
7ec0 2c 20 75 69 6e 74 33 32 5f 74 20 73 74 61 74 65 29 20 7b 00 00 00 0d 20 20 28 76 6f 69 64 29 64 ,.uint32_t.state).{......(void)d
7ee0 61 74 61 3b 00 00 00 0d 20 20 28 76 6f 69 64 29 74 69 6d 65 3b 00 00 00 0e 20 20 28 76 6f 69 64 ata;......(void)time;......(void
7f00 29 76 61 6c 75 65 3b 00 00 00 00 00 00 00 2d 20 20 69 66 20 28 73 74 61 74 65 20 21 3d 20 57 4c )value;.......-..if.(state.!=.WL
7f20 5f 4b 45 59 42 4f 41 52 44 5f 4b 45 59 5f 53 54 41 54 45 5f 50 52 45 53 53 45 44 29 00 00 00 0b _KEYBOARD_KEY_STATE_PRESSED)....
7f40 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 15 20 20 69 66 20 28 21 77 6d 2e 73 65 6c ....return;..........if.(!wm.sel
7f60 5f 63 6c 69 65 6e 74 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 3e 20 _client)........return;.......>.
7f80 20 73 65 74 5f 66 6c 6f 61 74 69 6e 67 28 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 2c 20 21 77 6d .set_floating(wm.sel_client,.!wm
7fa0 2e 73 65 6c 5f 63 6c 69 65 6e 74 2d 3e 66 6c 6f 61 74 69 6e 67 2c 20 74 72 75 65 29 3b 00 00 00 .sel_client->floating,.true);...
7fc0 00 00 00 00 1b 20 20 74 69 6c 65 28 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 2d 3e 73 63 72 29 3b .......tile(wm.sel_client->scr);
7fe0 00 00 00 01 7d 00 00 00 00 00 00 00 43 76 6f 69 64 20 74 6f 67 67 6c 65 5f 66 6c 6f 61 74 5f 67 ....}.......Cvoid.toggle_float_g
8000 6c 6f 62 61 6c 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 2c lobal(void.*data,.uint32_t.time,
8020 20 75 69 6e 74 33 32 5f 74 20 76 61 6c 75 65 2c 00 00 00 2a 20 20 20 20 20 20 20 20 20 20 20 20 .uint32_t.value,...*............
8040 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 73 74 61 74 65 29 20 7b 00 00 .............uint32_t.state).{..
8060 00 0d 20 20 28 76 6f 69 64 29 64 61 74 61 3b 00 00 00 0d 20 20 28 76 6f 69 64 29 74 69 6d 65 3b ....(void)data;......(void)time;
8080 00 00 00 0e 20 20 28 76 6f 69 64 29 76 61 6c 75 65 3b 00 00 00 00 00 00 00 2d 20 20 69 66 20 28 ......(void)value;.......-..if.(
80a0 73 74 61 74 65 20 21 3d 20 57 4c 5f 4b 45 59 42 4f 41 52 44 5f 4b 45 59 5f 53 54 41 54 45 5f 50 state.!=.WL_KEYBOARD_KEY_STATE_P
80c0 52 45 53 53 45 44 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 2b 20 20 RESSED)........return;.......+..
80e0 77 6d 2e 67 6c 6f 62 61 6c 5f 66 6c 6f 61 74 69 6e 67 20 3d 20 21 77 6d 2e 67 6c 6f 62 61 6c 5f wm.global_floating.=.!wm.global_
8100 66 6c 6f 61 74 69 6e 67 3b 00 00 00 01 7d 00 00 00 00 00 00 00 10 69 6e 74 20 6d 61 69 6e 28 76 floating;....}........int.main(v
8120 6f 69 64 29 20 7b 00 00 00 0a 20 20 73 65 74 75 70 28 29 3b 00 00 00 19 20 20 77 6c 5f 64 69 73 oid).{......setup();......wl_dis
8140 70 6c 61 79 5f 72 75 6e 28 77 6d 2e 64 70 79 29 3b 00 00 00 11 20 20 73 77 63 5f 66 69 6e 61 6c play_run(wm.dpy);......swc_final
8160 69 7a 65 28 29 3b 00 00 00 1d 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 65 73 74 72 6f 79 28 77 ize();......wl_display_destroy(w
8180 6d 2e 64 70 79 29 3b 00 00 00 16 20 20 72 65 74 75 72 6e 20 45 58 49 54 5f 53 55 43 43 45 53 53 m.dpy);......return.EXIT_SUCCESS
81a0 3b 00 00 00 01 7d 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 a8 02 00 00 00 00 00 00 01 00 ;....}5.........................
81c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f3 38 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 ...............8..............5.
81e0 5f d0 00 00 00 02 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 01 00 00 00 00 00 00 _...............................
8200 00 00 ff ff ff ff 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
82a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
82c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
82e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8340 00 00 00 01 00 00 00 04 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 56 00 00 00 04 ...........................V....
8360 00 00 00 00 69 95 64 54 04 01 00 00 00 00 00 f5 18 00 00 02 37 00 00 00 00 00 00 00 00 00 00 00 ....i.dT............7...........
8380 01 00 00 00 00 f5 18 00 00 02 38 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 02 34 00 00 00 ..........8.................4...
83a0 00 00 00 00 00 00 00 00 01 00 00 00 07 20 20 77 6c 5f 64 69 f5 18 00 00 02 35 00 00 00 00 00 00 ...............wl_di.....5......
83c0 00 00 00 00 00 00 f5 18 00 00 02 25 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 10 20 20 20 20 ...........%....................
83e0 20 20 20 20 20 20 20 20 20 20 20 20 f5 18 00 00 02 26 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 .................&..............
8400 00 00 02 1a 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 10 20 20 69 66 20 28 73 74 61 74 65 20 ......................if.(state.
8420 21 3d 20 57 f5 18 00 00 02 1b 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 e0 00 00 00 00 !=.W............................
8440 00 00 00 00 00 00 00 01 00 00 00 0c 20 20 63 2d 3e 77 69 6e 20 3d 20 77 f5 18 00 00 01 e1 00 00 ..............c->win.=.w........
8460 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 c3 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 0c ................................
8480 20 20 73 74 72 75 63 74 20 73 63 72 f5 18 00 00 01 c4 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 ..struct.scr....................
84a0 00 00 01 b6 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 3c 20 20 20 20 20 20 20 20 20 20 20 20 ...................<............
84c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 57 43 5f 57 49 4e 44 4f 57 5f 45 44 47 45 5f ................SWC_WINDOW_EDGE_
84e0 52 49 47 48 54 20 7c 20 53 57 43 5f 57 49 4e 44 f5 18 00 00 01 b7 00 00 00 00 00 00 00 00 00 00 RIGHT.|.SWC_WIND................
8500 00 00 f5 18 00 00 01 ad 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 15 20 20 20 20 20 20 73 65 ..............................se
8520 74 5f 66 6c 6f 61 74 69 6e 67 28 77 6d f5 18 00 00 01 ae 00 00 00 00 00 00 00 00 00 00 00 00 f5 t_floating(wm...................
8540 18 00 00 01 95 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 0e 20 20 20 20 77 6d 2e 67 72 61 62 .........................wm.grab
8560 2e 63 20 f5 18 00 00 01 96 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 8a 00 00 00 00 00 .c..............................
8580 00 00 00 00 00 00 01 00 00 00 19 20 20 69 66 20 28 73 74 61 74 65 20 3d 3d 20 57 4c 5f 50 4f 49 .............if.(state.==.WL_POI
85a0 4e 54 45 52 f5 18 00 00 01 8b 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 30 00 00 00 00 NTER.......................0....
85c0 00 00 00 00 00 00 00 01 00 00 00 04 20 20 20 20 f5 18 00 00 01 31 00 00 00 00 00 00 00 00 00 00 .....................1..........
85e0 00 00 f5 18 00 00 00 b2 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 06 20 20 20 20 20 20 f5 18 ................................
8600 00 00 00 b3 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8620 00 01 00 00 00 00 f5 18 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 35 81 f5 18 00 00 00 00 ........................5.......
8640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 b2 00 00 00 06 00 00 00 00 00 00 00 00 00 00 00 ................................
8660 00 00 00 00 00 00 00 00 00 10 00 00 00 00 00 00 f5 18 00 00 00 00 b2 00 00 00 06 00 00 00 00 00 ................................
8680 00 00 00 00 00 00 7e 00 00 00 04 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0a ......~.........................
86a0 00 00 00 00 00 00 f5 18 00 00 00 00 30 01 00 00 04 00 00 00 00 00 00 00 00 00 00 00 5a 00 00 00 ............0...............Z...
86c0 19 00 00 00 00 1a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07 00 00 00 00 00 00 f5 18 00 00 ................................
86e0 00 00 8a 01 00 00 19 00 00 00 00 00 00 00 00 00 00 00 0b 00 00 00 0e 00 00 00 00 21 00 00 00 00 ...........................!....
8700 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 f5 18 00 00 00 00 95 01 00 00 0e 00 00 00 ................................
8720 00 00 00 00 00 00 00 00 18 00 00 00 15 00 00 00 00 22 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................."..............
8740 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 ad 01 00 00 15 00 00 00 00 00 00 00 00 00 00 00 09 00 ................................
8760 00 00 3c 00 00 00 00 24 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 f5 18 ..<....$........................
8780 00 00 00 00 b6 01 00 00 3c 00 00 00 00 00 00 00 00 00 00 00 0d 00 00 00 0c 00 00 00 00 25 00 00 ........<....................%..
87a0 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 f5 18 00 00 00 00 c3 01 00 00 0c 00 ................................
87c0 00 00 00 00 00 00 00 00 00 00 1d 00 00 00 0c 00 00 00 00 26 00 00 00 00 00 00 00 00 00 00 00 00 ...................&............
87e0 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 e0 01 00 00 0c 00 00 00 00 00 00 00 00 00 00 00 ................................
8800 3a 00 00 00 10 00 00 00 00 28 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 00 00 00 :........(......................
8820 f5 18 00 00 00 00 1a 02 00 00 10 00 00 00 00 00 00 00 00 00 00 00 0b 00 00 00 10 00 00 00 00 2d ...............................-
8840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 f5 18 00 00 00 00 25 02 00 00 ............................%...
8860 10 00 00 00 00 00 00 00 00 00 00 00 0f 00 00 00 07 00 00 00 00 2e 00 00 00 00 00 00 00 00 00 00 ................................
8880 00 00 00 00 00 01 00 00 00 00 00 00 f5 18 00 00 00 00 34 02 00 00 07 00 00 00 00 00 00 00 00 00 ..................4.............
88a0 00 00 03 00 00 00 00 00 00 00 00 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 30 00 00 00 00 00 .........../..............0.....
88c0 00 00 35 81 5f d0 00 00 00 03 00 00 00 05 00 00 00 00 00 00 00 00 00 00 00 04 00 00 02 38 00 00 ..5._........................8..
88e0 00 00 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
89a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
89c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
89e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8a20 00 00 00 00 00 00 00 01 00 00 00 04 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 56 ...............................V
8a40 00 00 00 04 00 00 00 00 69 95 64 55 04 01 00 00 00 04 00 f5 18 00 00 02 37 00 00 02 38 00 00 00 ........i.dU............7...8...
8a60 00 00 00 00 01 00 00 00 00 35 81 f5 18 00 00 00 00 37 02 00 00 00 00 00 00 01 00 00 00 00 00 00 .........5.......7..............
8a80 00 00 00 00 00 00 00 00 00 30 2f 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........0/.....................
8aa0 00 35 81 5f d0 00 00 00 04 00 00 00 06 00 00 00 00 00 00 00 00 00 00 00 05 00 00 02 37 00 00 00 .5._........................7...
8ac0 00 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c20 00 00 00 00 00 00 00 69 95 65 30 04 01 00 00 00 00 00 f5 18 00 00 02 38 00 00 00 00 00 00 00 00 .......i.e0............8........
8c40 00 00 00 01 00 00 00 00 f5 18 00 00 02 39 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 02 37 .............9.................7
8c60 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 f5 18 00 00 02 37 00 00 00 00 00 00 00 00 00 00 .....................7..........
8c80 00 00 35 81 f5 18 00 00 00 00 37 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 ..5.......7.....................
8ca0 00 00 30 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 f5 18 00 00 00 00 ..0/............................
8cc0 37 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 30 2f 00 00 00 00 00 00 7.......................0/......
8ce0 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 f5 18 00 00 00 00 38 02 00 00 00 00 00 00 00 00 ......................8.........
8d00 00 00 00 00 00 00 5e 00 00 00 00 00 00 00 31 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 76 07 ......^.......1/..............v.
8d20 00 00 00 00 00 00 35 81 5f d0 00 00 00 05 00 00 00 07 00 00 00 00 00 00 00 00 00 00 00 06 00 00 ......5._.......................
8d40 02 97 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8ea0 00 00 00 00 00 00 00 00 00 00 00 00 69 95 65 31 04 01 00 00 00 05 00 f5 18 00 00 02 96 00 00 02 ............i.e1................
8ec0 97 00 00 00 00 00 00 00 01 00 00 00 00 35 81 f5 18 00 00 00 00 96 02 00 00 00 00 00 00 01 00 00 .............5..................
8ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 a7 36 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 ..............6.................
8f00 00 00 00 00 00 35 81 5f d0 00 00 00 06 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 07 00 00 00 .....5._........................
8f20 01 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9080 00 00 00 00 00 00 00 00 00 00 00 69 95 6a 4a 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 ...........i.jJ.................
90a0 00 00 00 00 00 00 02 96 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 69 67 6e 61 6c 2e 68 3e 00 ............#include.<signal.h>.
90c0 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6f 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 ...#include.<stdio.h>....#includ
90e0 65 20 3c 73 74 64 6c 69 62 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 75 6e 69 73 74 64 e.<stdlib.h>....#include.<unistd
9100 2e 68 3e 00 00 00 00 00 00 00 10 23 69 6e 63 6c 75 64 65 20 3c 73 77 63 2e 68 3e 00 00 00 1b 23 .h>........#include.<swc.h>....#
9120 69 6e 63 6c 75 64 65 20 3c 77 61 79 6c 61 6e 64 2d 73 65 72 76 65 72 2e 68 3e 00 00 00 19 23 69 include.<wayland-server.h>....#i
9140 6e 63 6c 75 64 65 20 3c 77 61 79 6c 61 6e 64 2d 75 74 69 6c 2e 68 3e 00 00 00 28 23 69 6e 63 6c nclude.<wayland-util.h>...(#incl
9160 75 64 65 20 3c 78 6b 62 63 6f 6d 6d 6f 6e 2f 78 6b 62 63 6f 6d 6d 6f 6e 2d 6b 65 79 73 79 6d 73 ude.<xkbcommon/xkbcommon-keysyms
9180 2e 68 3e 00 00 00 00 00 00 00 13 23 69 6e 63 6c 75 64 65 20 22 63 6f 6e 66 69 67 2e 68 22 00 00 .h>........#include."config.h"..
91a0 00 12 23 69 6e 63 6c 75 64 65 20 22 74 79 70 65 73 2e 68 22 00 00 00 11 23 69 6e 63 6c 75 64 65 ..#include."types.h"....#include
91c0 20 22 75 74 69 6c 2e 68 22 00 00 00 12 23 69 6e 63 6c 75 64 65 20 22 77 73 78 77 6d 2e 68 22 00 ."util.h"....#include."wsxwm.h".
91e0 00 00 00 00 00 00 30 73 74 61 74 69 63 20 76 6f 69 64 20 66 6f 63 75 73 28 73 74 72 75 63 74 20 ......0static.void.focus(struct.
9200 63 6c 69 65 6e 74 20 2a 63 2c 20 62 6f 6f 6c 20 72 61 69 73 65 29 3b 00 00 00 2a 73 74 61 74 69 client.*c,.bool.raise);...*stati
9220 63 20 76 6f 69 64 20 6f 6e 5f 73 63 72 65 65 6e 5f 64 65 73 74 72 6f 79 28 76 6f 69 64 20 2a 64 c.void.on_screen_destroy(void.*d
9240 61 74 61 29 3b 00 00 00 3a 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 73 63 72 65 65 6e 5f 75 ata);...:static.void.on_screen_u
9260 73 61 62 6c 65 5f 67 65 6f 6d 65 74 72 79 5f 63 68 61 6e 67 65 64 28 76 6f 69 64 20 2a 64 61 74 sable_geometry_changed(void.*dat
9280 61 29 3b 00 00 00 27 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 77 69 6e 5f 64 65 73 74 72 6f a);...'static.void.on_win_destro
92a0 79 28 76 6f 69 64 20 2a 64 61 74 61 29 3b 00 00 00 27 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e y(void.*data);...'static.void.on
92c0 5f 77 69 6e 5f 65 6e 74 65 72 65 64 28 76 6f 69 64 20 2a 64 61 74 61 29 3b 00 00 00 18 73 74 61 _win_entered(void.*data);....sta
92e0 74 69 63 20 76 6f 69 64 20 73 65 74 75 70 28 76 6f 69 64 29 3b 00 00 00 1e 73 74 61 74 69 63 20 tic.void.setup(void);....static.
9300 76 6f 69 64 20 73 65 74 75 70 5f 62 69 6e 64 73 28 76 6f 69 64 29 3b 00 00 00 46 73 74 61 74 69 void.setup_binds(void);...Fstati
9320 63 20 76 6f 69 64 20 73 65 74 5f 66 6c 6f 61 74 69 6e 67 28 73 74 72 75 63 74 20 63 6c 69 65 6e c.void.set_floating(struct.clien
9340 74 20 2a 63 2c 20 62 6f 6f 6c 20 66 6c 6f 61 74 69 6e 67 2c 20 62 6f 6f 6c 20 72 61 69 73 65 29 t.*c,.bool.floating,.bool.raise)
9360 3b 00 00 00 23 73 74 61 74 69 63 20 76 6f 69 64 20 74 69 6c 65 28 73 74 72 75 63 74 20 73 63 72 ;...#static.void.tile(struct.scr
9380 65 65 6e 20 2a 73 29 3b 00 00 00 00 00 00 00 21 73 74 61 74 69 63 20 75 69 6e 74 33 32 5f 74 20 een.*s);.......!static.uint32_t.
93a0 6d 61 73 74 65 72 5f 77 69 64 74 68 20 3d 20 30 3b 00 00 00 00 00 00 00 0d 73 74 72 75 63 74 20 master_width.=.0;........struct.
93c0 77 6d 20 77 6d 3b 00 00 00 00 00 00 00 24 63 6f 6e 73 74 20 73 74 72 75 63 74 20 73 77 63 5f 6d wm.wm;.......$const.struct.swc_m
93e0 61 6e 61 67 65 72 20 6d 61 6e 61 67 65 72 20 3d 20 7b 00 00 00 1d 20 20 20 20 2e 6e 65 77 5f 73 anager.manager.=.{.........new_s
9400 63 72 65 65 6e 20 3d 20 6e 65 77 5f 73 63 72 65 65 6e 2c 00 00 00 1d 20 20 20 20 2e 6e 65 77 5f creen.=.new_screen,.........new_
9420 77 69 6e 64 6f 77 20 3d 20 6e 65 77 5f 77 69 6e 64 6f 77 2c 00 00 00 1d 20 20 20 20 2e 6e 65 77 window.=.new_window,.........new
9440 5f 64 65 76 69 63 65 20 3d 20 6e 65 77 5f 64 65 76 69 63 65 2c 00 00 00 02 7d 3b 00 00 00 00 00 _device.=.new_device,....};.....
9460 00 00 2c 73 74 72 75 63 74 20 73 77 63 5f 77 69 6e 64 6f 77 5f 68 61 6e 64 6c 65 72 20 77 69 6e ..,struct.swc_window_handler.win
9480 64 6f 77 5f 68 61 6e 64 6c 65 72 20 3d 20 7b 00 00 00 1e 20 20 20 20 2e 64 65 73 74 72 6f 79 20 dow_handler.=.{.........destroy.
94a0 3d 20 6f 6e 5f 77 69 6e 5f 64 65 73 74 72 6f 79 2c 00 00 00 1e 20 20 20 20 2e 65 6e 74 65 72 65 =.on_win_destroy,.........entere
94c0 64 20 3d 20 6f 6e 5f 77 69 6e 5f 65 6e 74 65 72 65 64 2c 00 00 00 02 7d 3b 00 00 00 00 00 00 00 d.=.on_win_entered,....};.......
94e0 2c 73 74 72 75 63 74 20 73 77 63 5f 73 63 72 65 65 6e 5f 68 61 6e 64 6c 65 72 20 73 63 72 65 65 ,struct.swc_screen_handler.scree
9500 6e 5f 68 61 6e 64 6c 65 72 20 3d 20 7b 00 00 00 21 20 20 20 20 2e 64 65 73 74 72 6f 79 20 3d 20 n_handler.=.{...!.....destroy.=.
9520 6f 6e 5f 73 63 72 65 65 6e 5f 64 65 73 74 72 6f 79 2c 00 00 00 41 20 20 20 20 2e 75 73 61 62 6c on_screen_destroy,...A.....usabl
9540 65 5f 67 65 6f 6d 65 74 72 79 5f 63 68 61 6e 67 65 64 20 3d 20 6f 6e 5f 73 63 72 65 65 6e 5f 75 e_geometry_changed.=.on_screen_u
9560 73 61 62 6c 65 5f 67 65 6f 6d 65 74 72 79 5f 63 68 61 6e 67 65 64 2c 00 00 00 02 7d 3b 00 00 00 sable_geometry_changed,....};...
9580 00 00 00 00 31 73 74 61 74 69 63 20 76 6f 69 64 20 66 6f 63 75 73 28 73 74 72 75 63 74 20 63 6c ....1static.void.focus(struct.cl
95a0 69 65 6e 74 20 2a 63 2c 20 62 6f 6f 6c 20 72 61 69 73 65 29 20 7b 00 00 00 14 20 20 69 66 20 28 ient.*c,.bool.raise).{......if.(
95c0 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 29 00 00 00 44 20 20 20 20 73 77 63 5f 77 69 6e 64 6f 77 wm.sel_client)...D....swc_window
95e0 5f 73 65 74 5f 62 6f 72 64 65 72 28 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 2d 3e 77 69 6e 2c 20 _set_border(wm.sel_client->win,.
9600 63 66 67 2e 62 6f 72 64 65 72 5f 63 6f 6c 5f 6e 6f 72 6d 61 6c 2c 00 00 00 2c 20 20 20 20 20 20 cfg.border_col_normal,...,......
9620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 66 67 2e 62 6f 72 64 65 72 5f 77 ....................cfg.border_w
9640 69 64 74 68 29 3b 00 00 00 00 00 00 00 08 20 20 69 66 20 28 63 29 00 00 00 4b 20 20 20 20 73 77 idth);..........if.(c)...K....sw
9660 63 5f 77 69 6e 64 6f 77 5f 73 65 74 5f 62 6f 72 64 65 72 28 63 2d 3e 77 69 6e 2c 20 63 66 67 2e c_window_set_border(c->win,.cfg.
9680 62 6f 72 64 65 72 5f 63 6f 6c 5f 61 63 74 69 76 65 2c 20 63 66 67 2e 62 6f 72 64 65 72 5f 77 69 border_col_active,.cfg.border_wi
96a0 64 74 68 29 3b 00 00 00 00 00 00 00 20 20 20 69 66 20 28 72 61 69 73 65 20 26 26 20 63 20 26 26 dth);..........if.(raise.&&.c.&&
96c0 20 63 2d 3e 66 6c 6f 61 74 69 6e 67 29 00 00 00 20 20 20 20 20 73 65 74 5f 66 6c 6f 61 74 69 6e .c->floating)........set_floatin
96e0 67 28 63 2c 20 74 72 75 65 2c 20 74 72 75 65 29 3b 00 00 00 00 00 00 00 26 20 20 73 77 63 5f 77 g(c,.true,.true);.......&..swc_w
9700 69 6e 64 6f 77 5f 66 6f 63 75 73 28 63 20 3f 20 63 2d 3e 77 69 6e 20 3a 20 4e 55 4c 4c 29 3b 00 indow_focus(c.?.c->win.:.NULL);.
9720 00 00 14 20 20 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 20 3d 20 63 3b 00 00 00 01 7d 00 00 00 00 .....wm.sel_client.=.c;....}....
9740 00 00 00 2b 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 73 63 72 65 65 6e 5f 64 65 73 74 72 6f ...+static.void.on_screen_destro
9760 79 28 76 6f 69 64 20 2a 64 61 74 61 29 20 7b 00 00 00 1a 20 20 73 74 72 75 63 74 20 73 63 72 65 y(void.*data).{......struct.scre
9780 65 6e 20 2a 73 20 3d 20 64 61 74 61 3b 00 00 00 00 00 00 00 09 20 20 69 66 20 28 21 73 29 00 00 en.*s.=.data;..........if.(!s)..
97a0 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 1b 20 20 77 6c 5f 6c 69 73 74 5f 72 ......return;..........wl_list_r
97c0 65 6d 6f 76 65 28 26 73 2d 3e 6c 69 6e 6b 29 3b 00 00 00 00 00 00 00 1b 20 20 69 66 20 28 77 6d emove(&s->link);..........if.(wm
97e0 2e 73 65 6c 5f 73 63 72 65 65 6e 20 3d 3d 20 73 29 20 7b 00 00 00 23 20 20 20 20 69 66 20 28 77 .sel_screen.==.s).{...#....if.(w
9800 6c 5f 6c 69 73 74 5f 65 6d 70 74 79 28 26 77 6d 2e 73 63 72 65 65 6e 73 29 29 00 00 00 1b 20 20 l_list_empty(&wm.screens))......
9820 20 20 20 20 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 20 3d 20 4e 55 4c 4c 3b 00 00 00 08 20 20 20 ....wm.sel_screen.=.NULL;.......
9840 20 65 6c 73 65 00 00 00 4c 20 20 20 20 20 20 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 20 3d 20 77 .else...L......wm.sel_screen.=.w
9860 6c 5f 63 6f 6e 74 61 69 6e 65 72 5f 6f 66 28 77 6d 2e 73 63 72 65 65 6e 73 2e 6e 65 78 74 2c 20 l_container_of(wm.screens.next,.
9880 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 2c 20 6c 69 6e 6b 29 3b 00 00 00 03 20 20 7d 00 00 00 00 wm.sel_screen,.link);......}....
98a0 00 00 00 0a 20 20 66 72 65 65 28 73 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 3b 73 74 61 74 69 ......free(s);....}.......;stati
98c0 63 20 76 6f 69 64 20 6f 6e 5f 73 63 72 65 65 6e 5f 75 73 61 62 6c 65 5f 67 65 6f 6d 65 74 72 79 c.void.on_screen_usable_geometry
98e0 5f 63 68 61 6e 67 65 64 28 76 6f 69 64 20 2a 64 61 74 61 29 20 7b 00 00 00 1a 20 20 73 74 72 75 _changed(void.*data).{......stru
9900 63 74 20 73 63 72 65 65 6e 20 2a 73 20 3d 20 64 61 74 61 3b 00 00 00 0a 20 20 74 69 6c 65 28 73 ct.screen.*s.=.data;......tile(s
9920 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 28 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 77 69 );....}.......(static.void.on_wi
9940 6e 5f 64 65 73 74 72 6f 79 28 76 6f 69 64 20 2a 64 61 74 61 29 20 7b 00 00 00 1a 20 20 73 74 72 n_destroy(void.*data).{......str
9960 75 63 74 20 63 6c 69 65 6e 74 20 2a 63 20 3d 20 64 61 74 61 3b 00 00 00 16 20 20 73 74 72 75 63 uct.client.*c.=.data;......struc
9980 74 20 63 6c 69 65 6e 74 20 2a 6e 65 78 74 3b 00 00 00 00 00 00 00 09 20 20 69 66 20 28 21 63 29 t.client.*next;..........if.(!c)
99a0 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 29 20 20 69 66 20 28 77 6d 2e ........return;.......)..if.(wm.
99c0 67 72 61 62 2e 61 63 74 69 76 65 20 26 26 20 77 6d 2e 67 72 61 62 2e 63 20 3d 3d 20 63 29 20 7b grab.active.&&.wm.grab.c.==.c).{
99e0 00 00 00 1b 20 20 20 20 77 6d 2e 67 72 61 62 2e 61 63 74 69 76 65 20 3d 20 66 61 6c 73 65 3b 00 ........wm.grab.active.=.false;.
9a00 00 00 15 20 20 20 20 77 6d 2e 67 72 61 62 2e 63 20 3d 20 4e 55 4c 4c 3b 00 00 00 03 20 20 7d 00 .......wm.grab.c.=.NULL;......}.
9a20 00 00 00 00 00 00 12 20 20 69 66 20 28 63 2d 3e 66 6c 6f 61 74 69 6e 67 29 00 00 00 23 20 20 20 .........if.(c->floating)...#...
9a40 20 77 6c 5f 6c 69 73 74 5f 72 65 6d 6f 76 65 28 26 63 2d 3e 66 6c 6f 61 74 5f 6c 69 6e 6b 29 3b .wl_list_remove(&c->float_link);
9a60 00 00 00 06 20 20 65 6c 73 65 00 00 00 23 20 20 20 20 77 6c 5f 6c 69 73 74 5f 72 65 6d 6f 76 65 ......else...#....wl_list_remove
9a80 28 26 63 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 29 3b 00 00 00 00 00 00 00 1b 20 20 69 66 20 28 77 (&c->tiled_link);..........if.(w
9aa0 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 20 3d 3d 20 63 29 20 7b 00 00 00 19 20 20 20 20 77 6d 2e 73 m.sel_client.==.c).{........wm.s
9ac0 65 6c 5f 63 6c 69 65 6e 74 20 3d 20 4e 55 4c 4c 3b 00 00 00 1f 20 20 20 20 6e 65 78 74 20 3d 20 el_client.=.NULL;........next.=.
9ae0 66 69 72 73 74 5f 66 6c 6f 61 74 28 63 2d 3e 73 63 72 29 3b 00 00 00 0e 20 20 20 20 69 66 20 28 first_float(c->scr);........if.(
9b00 21 6e 65 78 74 29 00 00 00 21 20 20 20 20 20 20 6e 65 78 74 20 3d 20 66 69 72 73 74 5f 74 69 6c !next)...!......next.=.first_til
9b20 65 64 28 63 2d 3e 73 63 72 29 3b 00 00 00 16 20 20 20 20 66 6f 63 75 73 28 6e 65 78 74 2c 20 74 ed(c->scr);........focus(next,.t
9b40 72 75 65 29 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 0f 20 20 74 69 6c 65 28 63 2d 3e 73 63 rue);......}..........tile(c->sc
9b60 72 29 3b 00 00 00 0a 20 20 66 72 65 65 28 63 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 28 73 74 r);......free(c);....}.......(st
9b80 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 77 69 6e 5f 65 6e 74 65 72 65 64 28 76 6f 69 64 20 2a 64 atic.void.on_win_entered(void.*d
9ba0 61 74 61 29 20 7b 00 00 00 15 20 20 69 66 20 28 77 6d 2e 67 72 61 62 2e 61 63 74 69 76 65 29 00 ata).{......if.(wm.grab.active).
9bc0 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 1a 20 20 73 74 72 75 63 74 20 63 .......return;..........struct.c
9be0 6c 69 65 6e 74 20 2a 63 20 3d 20 64 61 74 61 3b 00 00 00 11 20 20 66 6f 63 75 73 28 63 2c 20 74 lient.*c.=.data;......focus(c,.t
9c00 72 75 65 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 19 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 rue);....}........static.void.se
9c20 74 75 70 28 76 6f 69 64 29 20 7b 00 00 00 1f 20 20 77 6d 2e 64 70 79 20 3d 20 77 6c 5f 64 69 73 tup(void).{......wm.dpy.=.wl_dis
9c40 70 6c 61 79 5f 63 72 65 61 74 65 28 29 3b 00 00 00 0e 20 20 69 66 20 28 21 77 6d 2e 64 70 79 29 play_create();......if.(!wm.dpy)
9c60 00 00 00 32 20 20 20 20 64 69 65 28 45 58 49 54 5f 46 41 49 4c 55 52 45 2c 20 22 77 6c 5f 64 69 ...2....die(EXIT_FAILURE,."wl_di
9c80 73 70 6c 61 79 5f 63 72 65 61 74 65 20 66 61 69 6c 65 64 22 29 3b 00 00 00 00 00 00 00 1c 20 20 splay_create.failed");..........
9ca0 77 6c 5f 6c 69 73 74 5f 69 6e 69 74 28 26 77 6d 2e 73 63 72 65 65 6e 73 29 3b 00 00 00 1a 20 20 wl_list_init(&wm.screens);......
9cc0 77 6c 5f 6c 69 73 74 5f 69 6e 69 74 28 26 77 6d 2e 74 69 6c 65 64 29 3b 00 00 00 1d 20 20 77 6c wl_list_init(&wm.tiled);......wl
9ce0 5f 6c 69 73 74 5f 69 6e 69 74 28 26 77 6d 2e 66 6c 6f 61 74 69 6e 67 29 3b 00 00 00 17 20 20 77 _list_init(&wm.floating);......w
9d00 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 20 3d 20 4e 55 4c 4c 3b 00 00 00 17 20 20 77 6d 2e 73 65 6c m.sel_client.=.NULL;......wm.sel
9d20 5f 73 63 72 65 65 6e 20 3d 20 4e 55 4c 4c 3b 00 00 00 19 20 20 77 6d 2e 67 72 61 62 2e 61 63 74 _screen.=.NULL;......wm.grab.act
9d40 69 76 65 20 3d 20 66 61 6c 73 65 3b 00 00 00 19 20 20 77 6d 2e 67 72 61 62 2e 72 65 73 69 7a 65 ive.=.false;......wm.grab.resize
9d60 20 3d 20 66 61 6c 73 65 3b 00 00 00 13 20 20 77 6d 2e 67 72 61 62 2e 63 20 3d 20 4e 55 4c 4c 3b .=.false;......wm.grab.c.=.NULL;
9d80 00 00 00 00 00 00 00 31 20 20 77 6d 2e 65 76 5f 6c 6f 6f 70 20 3d 20 77 6c 5f 64 69 73 70 6c 61 .......1..wm.ev_loop.=.wl_displa
9da0 79 5f 67 65 74 5f 65 76 65 6e 74 5f 6c 6f 6f 70 28 77 6d 2e 64 70 79 29 3b 00 00 00 34 20 20 69 y_get_event_loop(wm.dpy);...4..i
9dc0 66 20 28 21 73 77 63 5f 69 6e 69 74 69 61 6c 69 7a 65 28 77 6d 2e 64 70 79 2c 20 77 6d 2e 65 76 f.(!swc_initialize(wm.dpy,.wm.ev
9de0 5f 6c 6f 6f 70 2c 20 26 6d 61 6e 61 67 65 72 29 29 00 00 00 31 20 20 20 20 64 69 65 28 45 58 49 _loop,.&manager))...1....die(EXI
9e00 54 5f 46 41 49 4c 55 52 45 2c 20 22 73 77 63 5f 69 6e 69 74 69 61 6c 69 7a 65 20 66 61 69 6c 65 T_FAILURE,."swc_initialize.faile
9e20 64 5c 6e 22 29 3b 00 00 00 00 00 00 00 10 20 20 73 65 74 75 70 5f 62 69 6e 64 73 28 29 3b 00 00 d\n");..........setup_binds();..
9e40 00 00 00 00 00 13 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 6f 63 6b 3b 00 00 00 2c 20 20 73 ........const.char.*sock;...,..s
9e60 6f 63 6b 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 61 64 64 5f 73 6f 63 6b 65 74 5f 61 75 74 6f ock.=.wl_display_add_socket_auto
9e80 28 77 6d 2e 64 70 79 29 3b 00 00 00 0c 20 20 69 66 20 28 21 73 6f 63 6b 29 00 00 00 3d 20 20 20 (wm.dpy);......if.(!sock)...=...
9ea0 20 64 69 65 28 45 58 49 54 5f 46 41 49 4c 55 52 45 2c 20 22 77 6c 5f 64 69 73 70 6c 61 79 5f 61 .die(EXIT_FAILURE,."wl_display_a
9ec0 64 64 5f 73 6f 63 6b 65 74 5f 61 75 74 6f 20 66 61 69 6c 65 64 5c 6e 22 29 3b 00 00 00 25 20 20 dd_socket_auto.failed\n");...%..
9ee0 73 65 74 65 6e 76 28 22 57 41 59 4c 41 4e 44 5f 44 49 53 50 4c 41 59 22 2c 20 73 6f 63 6b 2c 20 setenv("WAYLAND_DISPLAY",.sock,.
9f00 31 29 3b 00 00 00 2d 20 20 5f 6c 6f 67 28 73 74 64 65 72 72 2c 20 22 57 41 59 4c 41 4e 44 5f 44 1);...-.._log(stderr,."WAYLAND_D
9f20 49 53 50 4c 41 59 3d 25 73 5c 6e 22 2c 20 73 6f 63 6b 29 3b 00 00 00 00 00 00 00 1e 20 20 73 69 ISPLAY=%s\n",.sock);..........si
9f40 67 6e 61 6c 28 53 49 47 49 4e 54 2c 20 73 69 67 5f 68 61 6e 64 6c 65 72 29 3b 00 00 00 1f 20 20 gnal(SIGINT,.sig_handler);......
9f60 73 69 67 6e 61 6c 28 53 49 47 54 45 52 4d 2c 20 73 69 67 5f 68 61 6e 64 6c 65 72 29 3b 00 00 00 signal(SIGTERM,.sig_handler);...
9f80 1f 20 20 73 69 67 6e 61 6c 28 53 49 47 51 55 49 54 2c 20 73 69 67 5f 68 61 6e 64 6c 65 72 29 3b ...signal(SIGQUIT,.sig_handler);
9fa0 00 00 00 01 7d 00 00 00 00 00 00 00 1f 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 74 75 70 5f 62 ....}........static.void.setup_b
9fc0 69 6e 64 73 28 76 6f 69 64 29 20 7b 00 00 00 2e 20 20 66 6f 72 20 28 73 69 7a 65 5f 74 20 69 20 inds(void).{......for.(size_t.i.
9fe0 3d 20 30 3b 20 69 20 3c 20 4c 45 4e 47 54 48 28 62 69 6e 64 73 29 3b 20 69 2b 2b 29 20 7b 00 00 =.0;.i.<.LENGTH(binds);.i++).{..
a000 00 25 20 20 20 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 62 69 6e 64 20 2a 62 20 3d 20 26 62 69 .%....const.struct.bind.*b.=.&bi
a020 6e 64 73 5b 69 5d 3b 00 00 00 47 20 20 20 20 73 77 63 5f 61 64 64 5f 62 69 6e 64 69 6e 67 28 62 nds[i];...G....swc_add_binding(b
a040 2d 3e 74 79 70 65 2c 20 62 2d 3e 6d 6f 64 73 2c 20 62 2d 3e 6b 73 79 6d 2c 20 62 2d 3e 66 6e 2c ->type,.b->mods,.b->ksym,.b->fn,
a060 20 28 76 6f 69 64 20 2a 29 26 62 2d 3e 61 72 67 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 .(void.*)&b->arg);......}....}..
a080 00 00 00 00 00 47 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 74 5f 66 6c 6f 61 74 69 6e 67 28 73 .....Gstatic.void.set_floating(s
a0a0 74 72 75 63 74 20 63 6c 69 65 6e 74 20 2a 63 2c 20 62 6f 6f 6c 20 66 6c 6f 61 74 69 6e 67 2c 20 truct.client.*c,.bool.floating,.
a0c0 62 6f 6f 6c 20 72 61 69 73 65 29 20 7b 00 00 00 09 20 20 69 66 20 28 21 63 29 00 00 00 0b 20 20 bool.raise).{......if.(!c)......
a0e0 20 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 11 20 20 69 66 20 28 66 6c 6f 61 74 69 6e 67 29 ..return;..........if.(floating)
a100 20 7b 00 00 00 17 20 20 20 20 69 66 20 28 21 63 2d 3e 66 6c 6f 61 74 69 6e 67 29 20 7b 00 00 00 .{........if.(!c->floating).{...
a120 19 20 20 20 20 20 20 63 2d 3e 66 6c 6f 61 74 69 6e 67 20 3d 20 74 72 75 65 3b 00 00 00 25 20 20 .......c->floating.=.true;...%..
a140 20 20 20 20 77 6c 5f 6c 69 73 74 5f 72 65 6d 6f 76 65 28 26 63 2d 3e 74 69 6c 65 64 5f 6c 69 6e ....wl_list_remove(&c->tiled_lin
a160 6b 29 3b 00 00 00 33 20 20 20 20 20 20 77 6c 5f 6c 69 73 74 5f 69 6e 73 65 72 74 28 26 77 6d 2e k);...3......wl_list_insert(&wm.
a180 66 6c 6f 61 74 69 6e 67 2c 20 26 63 2d 3e 66 6c 6f 61 74 5f 6c 69 6e 6b 29 3b 00 00 00 17 20 20 floating,.&c->float_link);......
a1a0 20 20 7d 20 65 6c 73 65 20 69 66 20 28 72 61 69 73 65 29 20 7b 00 00 00 25 20 20 20 20 20 20 77 ..}.else.if.(raise).{...%......w
a1c0 6c 5f 6c 69 73 74 5f 72 65 6d 6f 76 65 28 26 63 2d 3e 66 6c 6f 61 74 5f 6c 69 6e 6b 29 3b 00 00 l_list_remove(&c->float_link);..
a1e0 00 33 20 20 20 20 20 20 77 6c 5f 6c 69 73 74 5f 69 6e 73 65 72 74 28 26 77 6d 2e 66 6c 6f 61 74 .3......wl_list_insert(&wm.float
a200 69 6e 67 2c 20 26 63 2d 3e 66 6c 6f 61 74 5f 6c 69 6e 6b 29 3b 00 00 00 05 20 20 20 20 7d 00 00 ing,.&c->float_link);........}..
a220 00 00 00 00 00 23 20 20 20 20 73 77 63 5f 77 69 6e 64 6f 77 5f 73 65 74 5f 73 74 61 63 6b 65 64 .....#....swc_window_set_stacked
a240 28 63 2d 3e 77 69 6e 29 3b 00 00 00 0a 20 20 7d 20 65 6c 73 65 20 7b 00 00 00 16 20 20 20 20 69 (c->win);......}.else.{........i
a260 66 20 28 63 2d 3e 66 6c 6f 61 74 69 6e 67 29 20 7b 00 00 00 1a 20 20 20 20 20 20 63 2d 3e 66 6c f.(c->floating).{..........c->fl
a280 6f 61 74 69 6e 67 20 3d 20 66 61 6c 73 65 3b 00 00 00 25 20 20 20 20 20 20 77 6c 5f 6c 69 73 74 oating.=.false;...%......wl_list
a2a0 5f 72 65 6d 6f 76 65 28 26 63 2d 3e 66 6c 6f 61 74 5f 6c 69 6e 6b 29 3b 00 00 00 30 20 20 20 20 _remove(&c->float_link);...0....
a2c0 20 20 77 6c 5f 6c 69 73 74 5f 69 6e 73 65 72 74 28 26 77 6d 2e 74 69 6c 65 64 2c 20 26 63 2d 3e ..wl_list_insert(&wm.tiled,.&c->
a2e0 74 69 6c 65 64 5f 6c 69 6e 6b 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 00 00 00 00 21 20 20 20 tiled_link);........}.......!...
a300 20 73 77 63 5f 77 69 6e 64 6f 77 5f 73 65 74 5f 74 69 6c 65 64 28 63 2d 3e 77 69 6e 29 3b 00 00 .swc_window_set_tiled(c->win);..
a320 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 24 73 74 61 74 69 63 20 76 6f 69 64 20 74 69 ....}....}.......$static.void.ti
a340 6c 65 28 73 74 72 75 63 74 20 73 63 72 65 65 6e 20 2a 73 29 20 7b 00 00 00 13 20 20 73 74 72 75 le(struct.screen.*s).{......stru
a360 63 74 20 63 6c 69 65 6e 74 20 2a 63 3b 00 00 00 1c 20 20 73 74 72 75 63 74 20 73 77 63 5f 72 65 ct.client.*c;......struct.swc_re
a380 63 74 61 6e 67 6c 65 20 67 65 6f 6d 3b 00 00 00 21 20 20 73 74 72 75 63 74 20 73 77 63 5f 72 65 ctangle.geom;...!..struct.swc_re
a3a0 63 74 61 6e 67 6c 65 20 2a 73 63 72 5f 67 65 6f 6d 3b 00 00 00 00 00 00 00 31 20 20 69 6e 74 33 ctangle.*scr_geom;.......1..int3
a3c0 32 5f 74 20 6f 75 74 5f 67 61 70 73 20 3d 20 63 66 67 2e 67 61 70 73 20 2b 20 63 66 67 2e 62 6f 2_t.out_gaps.=.cfg.gaps.+.cfg.bo
a3e0 72 64 65 72 5f 77 69 64 74 68 3b 00 00 00 36 20 20 69 6e 74 33 32 5f 74 20 69 6e 5f 67 61 70 73 rder_width;...6..int32_t.in_gaps
a400 20 3d 20 63 66 67 2e 67 61 70 73 20 2b 20 28 63 66 67 2e 62 6f 72 64 65 72 5f 77 69 64 74 68 20 .=.cfg.gaps.+.(cfg.border_width.
a420 2a 20 32 29 3b 00 00 00 00 00 00 00 0c 20 20 69 6e 74 33 32 5f 74 20 78 3b 00 00 00 0c 20 20 69 *.2);..........int32_t.x;......i
a440 6e 74 33 32 5f 74 20 79 3b 00 00 00 0d 20 20 75 69 6e 74 33 32 5f 74 20 77 3b 00 00 00 0d 20 20 nt32_t.y;......uint32_t.w;......
a460 75 69 6e 74 33 32 5f 74 20 68 3b 00 00 00 00 00 00 00 09 20 20 69 66 20 28 21 73 29 00 00 00 0b uint32_t.h;..........if.(!s)....
a480 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 26 20 20 73 63 72 5f 67 65 6f 6d 20 3d 20 ....return;.......&..scr_geom.=.
a4a0 26 73 2d 3e 73 63 72 2d 3e 75 73 61 62 6c 65 5f 67 65 6f 6d 65 74 72 79 3b 00 00 00 00 00 00 00 &s->scr->usable_geometry;.......
a4c0 0f 20 20 73 69 7a 65 5f 74 20 6e 20 3d 20 30 3b 00 00 00 2e 20 20 77 6c 5f 6c 69 73 74 5f 66 6f ...size_t.n.=.0;......wl_list_fo
a4e0 72 5f 65 61 63 68 28 63 2c 20 26 77 6d 2e 74 69 6c 65 64 2c 20 74 69 6c 65 64 5f 6c 69 6e 6b 29 r_each(c,.&wm.tiled,.tiled_link)
a500 20 7b 00 00 00 17 20 20 20 20 69 66 20 28 69 73 5f 74 69 6c 65 64 28 63 2c 20 73 29 29 00 00 00 .{........if.(is_tiled(c,.s))...
a520 0a 20 20 20 20 20 20 6e 2b 2b 3b 00 00 00 03 20 20 7d 00 00 00 0d 20 20 69 66 20 28 6e 20 3d 3d .......n++;......}......if.(n.==
a540 20 30 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 1d 20 20 78 20 3d 20 .0)........return;..........x.=.
a560 73 63 72 5f 67 65 6f 6d 2d 3e 78 20 2b 20 6f 75 74 5f 67 61 70 73 3b 00 00 00 1d 20 20 79 20 3d scr_geom->x.+.out_gaps;......y.=
a580 20 73 63 72 5f 67 65 6f 6d 2d 3e 79 20 2b 20 6f 75 74 5f 67 61 70 73 3b 00 00 00 27 20 20 77 20 .scr_geom->y.+.out_gaps;...'..w.
a5a0 3d 20 73 63 72 5f 67 65 6f 6d 2d 3e 77 69 64 74 68 20 2d 20 28 6f 75 74 5f 67 61 70 73 20 2a 20 =.scr_geom->width.-.(out_gaps.*.
a5c0 32 29 3b 00 00 00 28 20 20 68 20 3d 20 73 63 72 5f 67 65 6f 6d 2d 3e 68 65 69 67 68 74 20 2d 20 2);...(..h.=.scr_geom->height.-.
a5e0 28 6f 75 74 5f 67 61 70 73 20 2a 20 32 29 3b 00 00 00 00 00 00 00 0f 20 20 69 66 20 28 6e 20 3d (out_gaps.*.2);..........if.(n.=
a600 3d 20 31 29 20 7b 00 00 00 30 20 20 20 20 77 6c 5f 6c 69 73 74 5f 66 6f 72 5f 65 61 63 68 28 63 =.1).{...0....wl_list_for_each(c
a620 2c 20 26 77 6d 2e 74 69 6c 65 64 2c 20 74 69 6c 65 64 5f 6c 69 6e 6b 29 20 7b 00 00 00 1a 20 20 ,.&wm.tiled,.tiled_link).{......
a640 20 20 20 20 69 66 20 28 21 69 73 5f 74 69 6c 65 64 28 63 2c 20 73 29 29 00 00 00 11 20 20 20 20 ....if.(!is_tiled(c,.s))........
a660 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 00 00 00 00 00 00 00 11 20 20 20 20 20 20 67 65 6f 6d 2e ....continue;..............geom.
a680 78 20 3d 20 78 3b 00 00 00 11 20 20 20 20 20 20 67 65 6f 6d 2e 79 20 3d 20 79 3b 00 00 00 15 20 x.=.x;..........geom.y.=.y;.....
a6a0 20 20 20 20 20 67 65 6f 6d 2e 77 69 64 74 68 20 3d 20 77 3b 00 00 00 16 20 20 20 20 20 20 67 65 .....geom.width.=.w;..........ge
a6c0 6f 6d 2e 68 65 69 67 68 74 20 3d 20 68 3b 00 00 00 00 00 00 00 2d 20 20 20 20 20 20 73 77 63 5f om.height.=.h;.......-......swc_
a6e0 77 69 6e 64 6f 77 5f 73 65 74 5f 67 65 6f 6d 65 74 72 79 28 63 2d 3e 77 69 6e 2c 20 26 67 65 6f window_set_geometry(c->win,.&geo
a700 6d 29 3b 00 00 00 0d 20 20 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 05 20 20 20 20 7d 00 00 00 m);..........return;........}...
a720 03 20 20 7d 00 00 00 00 00 00 00 0f 20 20 73 69 7a 65 5f 74 20 69 20 3d 20 30 3b 00 00 00 2e 20 ...}..........size_t.i.=.0;.....
a740 20 77 6c 5f 6c 69 73 74 5f 66 6f 72 5f 65 61 63 68 28 63 2c 20 26 77 6d 2e 74 69 6c 65 64 2c 20 .wl_list_for_each(c,.&wm.tiled,.
a760 74 69 6c 65 64 5f 6c 69 6e 6b 29 20 7b 00 00 00 18 20 20 20 20 69 66 20 28 21 69 73 5f 74 69 6c tiled_link).{........if.(!is_til
a780 65 64 28 63 2c 20 73 29 29 00 00 00 0f 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 00 00 00 00 ed(c,.s))..........continue;....
a7a0 00 00 00 1a 20 20 20 20 69 66 20 28 6d 61 73 74 65 72 5f 77 69 64 74 68 20 3d 3d 20 30 29 00 00 ........if.(master_width.==.0)..
a7c0 00 3e 20 20 20 20 20 20 6d 61 73 74 65 72 5f 77 69 64 74 68 20 3d 20 28 28 77 20 2d 20 69 6e 5f .>......master_width.=.((w.-.in_
a7e0 67 61 70 73 29 20 2a 20 63 66 67 2e 6d 61 73 74 65 72 5f 77 69 64 74 68 29 20 2f 20 31 30 30 3b gaps).*.cfg.master_width)./.100;
a800 00 00 00 00 00 00 00 11 20 20 20 20 69 66 20 28 69 20 3d 3d 20 30 29 20 7b 00 00 00 11 20 20 20 ............if.(i.==.0).{.......
a820 20 20 20 67 65 6f 6d 2e 78 20 3d 20 78 3b 00 00 00 11 20 20 20 20 20 20 67 65 6f 6d 2e 79 20 3d ...geom.x.=.x;..........geom.y.=
a840 20 79 3b 00 00 00 20 20 20 20 20 20 20 67 65 6f 6d 2e 77 69 64 74 68 20 3d 20 6d 61 73 74 65 72 .y;..........geom.width.=.master
a860 5f 77 69 64 74 68 3b 00 00 00 16 20 20 20 20 20 20 67 65 6f 6d 2e 68 65 69 67 68 74 20 3d 20 68 _width;..........geom.height.=.h
a880 3b 00 00 00 0c 20 20 20 20 7d 20 65 6c 73 65 20 7b 00 00 00 1e 20 20 20 20 20 20 75 69 6e 74 33 ;........}.else.{..........uint3
a8a0 32 5f 74 20 73 74 61 63 6b 6e 20 3d 20 6e 20 2d 20 31 3b 00 00 00 1b 20 20 20 20 20 20 75 69 6e 2_t.stackn.=.n.-.1;..........uin
a8c0 74 33 32 5f 74 20 69 64 78 20 3d 20 69 20 2d 20 31 3b 00 00 00 00 00 00 00 44 20 20 20 20 20 20 t32_t.idx.=.i.-.1;.......D......
a8e0 75 69 6e 74 33 32 5f 74 20 73 74 61 63 6b 5f 68 65 69 67 68 74 20 3d 20 28 68 20 2d 20 69 6e 5f uint32_t.stack_height.=.(h.-.in_
a900 67 61 70 73 20 2a 20 28 73 74 61 63 6b 6e 20 2d 20 31 29 29 20 2f 20 73 74 61 63 6b 6e 3b 00 00 gaps.*.(stackn.-.1))./.stackn;..
a920 00 00 00 00 00 2a 20 20 20 20 20 20 67 65 6f 6d 2e 78 20 3d 20 78 20 2b 20 6d 61 73 74 65 72 5f .....*......geom.x.=.x.+.master_
a940 77 69 64 74 68 20 2b 20 69 6e 5f 67 61 70 73 3b 00 00 00 34 20 20 20 20 20 20 67 65 6f 6d 2e 79 width.+.in_gaps;...4......geom.y
a960 20 3d 20 79 20 2b 20 28 69 64 78 20 2a 20 28 73 74 61 63 6b 5f 68 65 69 67 68 74 20 2b 20 69 6e .=.y.+.(idx.*.(stack_height.+.in
a980 5f 67 61 70 73 29 29 3b 00 00 00 2e 20 20 20 20 20 20 67 65 6f 6d 2e 77 69 64 74 68 20 3d 20 77 _gaps));..........geom.width.=.w
a9a0 20 2d 20 6d 61 73 74 65 72 5f 77 69 64 74 68 20 2d 20 69 6e 5f 67 61 70 73 3b 00 00 00 21 20 20 .-.master_width.-.in_gaps;...!..
a9c0 20 20 20 20 67 65 6f 6d 2e 68 65 69 67 68 74 20 3d 20 73 74 61 63 6b 5f 68 65 69 67 68 74 3b 00 ....geom.height.=.stack_height;.
a9e0 00 00 05 20 20 20 20 7d 00 00 00 00 00 00 00 2b 20 20 20 20 73 77 63 5f 77 69 6e 64 6f 77 5f 73 .......}.......+....swc_window_s
aa00 65 74 5f 67 65 6f 6d 65 74 72 79 28 63 2d 3e 77 69 6e 2c 20 26 67 65 6f 6d 29 3b 00 00 00 08 20 et_geometry(c->win,.&geom);.....
aa20 20 20 20 69 2b 2b 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 4c 76 6f 69 64 20 ...i++;......}....}.......Lvoid.
aa40 66 6f 63 75 73 5f 6e 65 78 74 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 75 69 6e 74 33 32 5f 74 20 focus_next(void.*data,.uint32_t.
aa60 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 61 6c 75 65 2c 20 75 69 6e 74 33 32 5f 74 20 73 time,.uint32_t.value,.uint32_t.s
aa80 74 61 74 65 29 20 7b 00 00 00 0d 20 20 28 76 6f 69 64 29 64 61 74 61 3b 00 00 00 0d 20 20 28 76 tate).{......(void)data;......(v
aaa0 6f 69 64 29 74 69 6d 65 3b 00 00 00 0e 20 20 28 76 6f 69 64 29 76 61 6c 75 65 3b 00 00 00 00 00 oid)time;......(void)value;.....
aac0 00 00 13 20 20 73 74 72 75 63 74 20 63 6c 69 65 6e 74 20 2a 63 3b 00 00 00 13 20 20 73 74 72 75 .....struct.client.*c;......stru
aae0 63 74 20 73 63 72 65 65 6e 20 2a 73 3b 00 00 00 00 00 00 00 2d 20 20 69 66 20 28 73 74 61 74 65 ct.screen.*s;.......-..if.(state
ab00 20 21 3d 20 57 4c 5f 4b 45 59 42 4f 41 52 44 5f 4b 45 59 5f 53 54 41 54 45 5f 50 52 45 53 53 45 .!=.WL_KEYBOARD_KEY_STATE_PRESSE
ab20 44 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 15 20 20 69 66 20 28 21 D)........return;..........if.(!
ab40 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 wm.sel_screen)........return;...
ab60 00 00 00 00 14 20 20 73 20 3d 20 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 3b 00 00 00 00 00 00 00 .......s.=.wm.sel_screen;.......
ab80 17 20 20 69 66 20 28 21 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 29 20 7b 00 00 00 17 20 20 20 20 ...if.(!wm.sel_client).{........
aba0 63 20 3d 20 66 69 72 73 74 5f 66 6c 6f 61 74 28 73 29 3b 00 00 00 0b 20 20 20 20 69 66 20 28 21 c.=.first_float(s);........if.(!
abc0 63 29 00 00 00 19 20 20 20 20 20 20 63 20 3d 20 66 69 72 73 74 5f 74 69 6c 65 64 28 73 29 3b 00 c)..........c.=.first_tiled(s);.
abe0 00 00 14 20 20 20 20 66 6f 63 75 73 28 63 2c 20 66 61 6c 73 65 29 3b 00 00 00 0b 20 20 20 20 72 .......focus(c,.false);........r
ac00 65 74 75 72 6e 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 20 20 20 69 66 20 28 77 6d 2e 73 65 eturn;......}..........if.(wm.se
ac20 6c 5f 63 6c 69 65 6e 74 2d 3e 66 6c 6f 61 74 69 6e 67 29 20 7b 00 00 00 4c 20 20 20 20 66 6f 72 l_client->floating).{...L....for
ac40 20 28 63 20 3d 20 77 6c 5f 63 6f 6e 74 61 69 6e 65 72 5f 6f 66 28 77 6d 2e 73 65 6c 5f 63 6c 69 .(c.=.wl_container_of(wm.sel_cli
ac60 65 6e 74 2d 3e 66 6c 6f 61 74 5f 6c 69 6e 6b 2e 6e 65 78 74 2c 20 63 2c 20 66 6c 6f 61 74 5f 6c ent->float_link.next,.c,.float_l
ac80 69 6e 6b 29 3b 00 00 00 28 20 20 20 20 20 20 20 20 20 26 63 2d 3e 66 6c 6f 61 74 5f 6c 69 6e 6b ink);...(.........&c->float_link
aca0 20 21 3d 20 26 77 6d 2e 66 6c 6f 61 74 69 6e 67 3b 00 00 00 42 20 20 20 20 20 20 20 20 20 63 20 .!=.&wm.floating;...B.........c.
acc0 3d 20 77 6c 5f 63 6f 6e 74 61 69 6e 65 72 5f 6f 66 28 63 2d 3e 66 6c 6f 61 74 5f 6c 69 6e 6b 2e =.wl_container_of(c->float_link.
ace0 6e 65 78 74 2c 20 63 2c 20 66 6c 6f 61 74 5f 6c 69 6e 6b 29 29 20 7b 00 00 00 1b 20 20 20 20 20 next,.c,.float_link)).{.........
ad00 20 69 66 20 28 69 73 5f 66 6c 6f 61 74 28 63 2c 20 73 29 29 20 7b 00 00 00 18 20 20 20 20 20 20 .if.(is_float(c,.s)).{..........
ad20 20 20 66 6f 63 75 73 28 63 2c 20 66 61 6c 73 65 29 3b 00 00 00 0f 20 20 20 20 20 20 20 20 72 65 ..focus(c,.false);............re
ad40 74 75 72 6e 3b 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 00 00 00 00 turn;..........}........}.......
ad60 17 20 20 20 20 63 20 3d 20 66 69 72 73 74 5f 74 69 6c 65 64 28 73 29 3b 00 00 00 0b 20 20 20 20 .....c.=.first_tiled(s);........
ad80 69 66 20 28 21 63 29 00 00 00 19 20 20 20 20 20 20 63 20 3d 20 66 69 72 73 74 5f 66 6c 6f 61 74 if.(!c)..........c.=.first_float
ada0 28 73 29 3b 00 00 00 0a 20 20 20 20 69 66 20 28 63 29 00 00 00 16 20 20 20 20 20 20 66 6f 63 75 (s);........if.(c)..........focu
adc0 73 28 63 2c 20 66 61 6c 73 65 29 3b 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 03 20 s(c,.false);........return;.....
ade0 20 7d 00 00 00 00 00 00 00 4a 20 20 66 6f 72 20 28 63 20 3d 20 77 6c 5f 63 6f 6e 74 61 69 6e 65 .}.......J..for.(c.=.wl_containe
ae00 72 5f 6f 66 28 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 2e 6e r_of(wm.sel_client->tiled_link.n
ae20 65 78 74 2c 20 63 2c 20 74 69 6c 65 64 5f 6c 69 6e 6b 29 3b 00 00 00 23 20 20 20 20 20 20 20 26 ext,.c,.tiled_link);...#.......&
ae40 63 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 20 21 3d 20 26 77 6d 2e 74 69 6c 65 64 3b 00 00 00 40 20 c->tiled_link.!=.&wm.tiled;...@.
ae60 20 20 20 20 20 20 63 20 3d 20 77 6c 5f 63 6f 6e 74 61 69 6e 65 72 5f 6f 66 28 63 2d 3e 74 69 6c ......c.=.wl_container_of(c->til
ae80 65 64 5f 6c 69 6e 6b 2e 6e 65 78 74 2c 20 63 2c 20 74 69 6c 65 64 5f 6c 69 6e 6b 29 29 20 7b 00 ed_link.next,.c,.tiled_link)).{.
aea0 00 00 19 20 20 20 20 69 66 20 28 69 73 5f 74 69 6c 65 64 28 63 2c 20 73 29 29 20 7b 00 00 00 16 .......if.(is_tiled(c,.s)).{....
aec0 20 20 20 20 20 20 66 6f 63 75 73 28 63 2c 20 66 61 6c 73 65 29 3b 00 00 00 0d 20 20 20 20 20 20 ......focus(c,.false);..........
aee0 72 65 74 75 72 6e 3b 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 15 20 return;........}......}.........
af00 20 63 20 3d 20 66 69 72 73 74 5f 66 6c 6f 61 74 28 73 29 3b 00 00 00 09 20 20 69 66 20 28 21 63 .c.=.first_float(s);......if.(!c
af20 29 00 00 00 17 20 20 20 20 63 20 3d 20 66 69 72 73 74 5f 74 69 6c 65 64 28 73 29 3b 00 00 00 12 )........c.=.first_tiled(s);....
af40 20 20 66 6f 63 75 73 28 63 2c 20 66 61 6c 73 65 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4c 76 ..focus(c,.false);....}.......Lv
af60 6f 69 64 20 66 6f 63 75 73 5f 70 72 65 76 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 75 69 6e 74 33 oid.focus_prev(void.*data,.uint3
af80 32 5f 74 20 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 61 6c 75 65 2c 20 75 69 6e 74 33 32 2_t.time,.uint32_t.value,.uint32
afa0 5f 74 20 73 74 61 74 65 29 20 7b 00 00 00 0d 20 20 28 76 6f 69 64 29 64 61 74 61 3b 00 00 00 0d _t.state).{......(void)data;....
afc0 20 20 28 76 6f 69 64 29 74 69 6d 65 3b 00 00 00 0e 20 20 28 76 6f 69 64 29 76 61 6c 75 65 3b 00 ..(void)time;......(void)value;.
afe0 00 00 00 00 00 00 13 20 20 73 74 72 75 63 74 20 63 6c 69 65 6e 74 20 2a 63 3b 00 00 00 13 20 20 .........struct.client.*c;......
b000 73 74 72 75 63 74 20 73 63 72 65 65 6e 20 2a 73 3b 00 00 00 00 00 00 00 2d 20 20 69 66 20 28 73 struct.screen.*s;.......-..if.(s
b020 74 61 74 65 20 21 3d 20 57 4c 5f 4b 45 59 42 4f 41 52 44 5f 4b 45 59 5f 53 54 41 54 45 5f 50 52 tate.!=.WL_KEYBOARD_KEY_STATE_PR
b040 45 53 53 45 44 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 15 20 20 69 ESSED)........return;..........i
b060 66 20 28 21 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e f.(!wm.sel_screen)........return
b080 3b 00 00 00 00 00 00 00 14 20 20 73 20 3d 20 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 3b 00 00 00 ;..........s.=.wm.sel_screen;...
b0a0 00 00 00 00 17 20 20 69 66 20 28 21 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 29 20 7b 00 00 00 17 .......if.(!wm.sel_client).{....
b0c0 20 20 20 20 63 20 3d 20 66 69 72 73 74 5f 66 6c 6f 61 74 28 73 29 3b 00 00 00 0b 20 20 20 20 69 ....c.=.first_float(s);........i
b0e0 66 20 28 21 63 29 00 00 00 19 20 20 20 20 20 20 63 20 3d 20 66 69 72 73 74 5f 74 69 6c 65 64 28 f.(!c)..........c.=.first_tiled(
b100 73 29 3b 00 00 00 14 20 20 20 20 66 6f 63 75 73 28 63 2c 20 66 61 6c 73 65 29 3b 00 00 00 0b 20 s);........focus(c,.false);.....
b120 20 20 20 72 65 74 75 72 6e 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 20 20 20 69 66 20 28 77 ...return;......}..........if.(w
b140 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 2d 3e 66 6c 6f 61 74 69 6e 67 29 20 7b 00 00 00 4c 20 20 20 m.sel_client->floating).{...L...
b160 20 66 6f 72 20 28 63 20 3d 20 77 6c 5f 63 6f 6e 74 61 69 6e 65 72 5f 6f 66 28 77 6d 2e 73 65 6c .for.(c.=.wl_container_of(wm.sel
b180 5f 63 6c 69 65 6e 74 2d 3e 66 6c 6f 61 74 5f 6c 69 6e 6b 2e 70 72 65 76 2c 20 63 2c 20 66 6c 6f _client->float_link.prev,.c,.flo
b1a0 61 74 5f 6c 69 6e 6b 29 3b 00 00 00 28 20 20 20 20 20 20 20 20 20 26 63 2d 3e 66 6c 6f 61 74 5f at_link);...(.........&c->float_
b1c0 6c 69 6e 6b 20 21 3d 20 26 77 6d 2e 66 6c 6f 61 74 69 6e 67 3b 00 00 00 42 20 20 20 20 20 20 20 link.!=.&wm.floating;...B.......
b1e0 20 20 63 20 3d 20 77 6c 5f 63 6f 6e 74 61 69 6e 65 72 5f 6f 66 28 63 2d 3e 66 6c 6f 61 74 5f 6c ..c.=.wl_container_of(c->float_l
b200 69 6e 6b 2e 70 72 65 76 2c 20 63 2c 20 66 6c 6f 61 74 5f 6c 69 6e 6b 29 29 20 7b 00 00 00 1b 20 ink.prev,.c,.float_link)).{.....
b220 20 20 20 20 20 69 66 20 28 69 73 5f 66 6c 6f 61 74 28 63 2c 20 73 29 29 20 7b 00 00 00 18 20 20 .....if.(is_float(c,.s)).{......
b240 20 20 20 20 20 20 66 6f 63 75 73 28 63 2c 20 66 61 6c 73 65 29 3b 00 00 00 0f 20 20 20 20 20 20 ......focus(c,.false);..........
b260 20 20 72 65 74 75 72 6e 3b 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 ..return;..........}........}...
b280 00 00 00 00 16 20 20 20 20 63 20 3d 20 6c 61 73 74 5f 74 69 6c 65 64 28 73 29 3b 00 00 00 0b 20 .........c.=.last_tiled(s);.....
b2a0 20 20 20 69 66 20 28 21 63 29 00 00 00 18 20 20 20 20 20 20 63 20 3d 20 6c 61 73 74 5f 66 6c 6f ...if.(!c)..........c.=.last_flo
b2c0 61 74 28 73 29 3b 00 00 00 0a 20 20 20 20 69 66 20 28 63 29 00 00 00 16 20 20 20 20 20 20 66 6f at(s);........if.(c)..........fo
b2e0 63 75 73 28 63 2c 20 66 61 6c 73 65 29 3b 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 cus(c,.false);........return;...
b300 03 20 20 7d 00 00 00 00 00 00 00 4a 20 20 66 6f 72 20 28 63 20 3d 20 77 6c 5f 63 6f 6e 74 61 69 ...}.......J..for.(c.=.wl_contai
b320 6e 65 72 5f 6f 66 28 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b ner_of(wm.sel_client->tiled_link
b340 2e 70 72 65 76 2c 20 63 2c 20 74 69 6c 65 64 5f 6c 69 6e 6b 29 3b 00 00 00 23 20 20 20 20 20 20 .prev,.c,.tiled_link);...#......
b360 20 26 63 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 20 21 3d 20 26 77 6d 2e 74 69 6c 65 64 3b 00 00 00 .&c->tiled_link.!=.&wm.tiled;...
b380 40 20 20 20 20 20 20 20 63 20 3d 20 77 6c 5f 63 6f 6e 74 61 69 6e 65 72 5f 6f 66 28 63 2d 3e 74 @.......c.=.wl_container_of(c->t
b3a0 69 6c 65 64 5f 6c 69 6e 6b 2e 70 72 65 76 2c 20 63 2c 20 74 69 6c 65 64 5f 6c 69 6e 6b 29 29 20 iled_link.prev,.c,.tiled_link)).
b3c0 7b 00 00 00 19 20 20 20 20 69 66 20 28 69 73 5f 74 69 6c 65 64 28 63 2c 20 73 29 29 20 7b 00 00 {........if.(is_tiled(c,.s)).{..
b3e0 00 16 20 20 20 20 20 20 66 6f 63 75 73 28 63 2c 20 66 61 6c 73 65 29 3b 00 00 00 0d 20 20 20 20 ........focus(c,.false);........
b400 20 20 72 65 74 75 72 6e 3b 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 ..return;........}......}.......
b420 14 20 20 63 20 3d 20 6c 61 73 74 5f 66 6c 6f 61 74 28 73 29 3b 00 00 00 09 20 20 69 66 20 28 21 ...c.=.last_float(s);......if.(!
b440 63 29 00 00 00 16 20 20 20 20 63 20 3d 20 6c 61 73 74 5f 74 69 6c 65 64 28 73 29 3b 00 00 00 12 c)........c.=.last_tiled(s);....
b460 20 20 66 6f 63 75 73 28 63 2c 20 66 61 6c 73 65 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4a 76 ..focus(c,.false);....}.......Jv
b480 6f 69 64 20 6b 69 6c 6c 5f 73 65 6c 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 75 69 6e 74 33 32 5f oid.kill_sel(void.*data,.uint32_
b4a0 74 20 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 61 6c 75 65 2c 20 75 69 6e 74 33 32 5f 74 t.time,.uint32_t.value,.uint32_t
b4c0 20 73 74 61 74 65 29 20 7b 00 00 00 0d 20 20 28 76 6f 69 64 29 64 61 74 61 3b 00 00 00 0d 20 20 .state).{......(void)data;......
b4e0 28 76 6f 69 64 29 74 69 6d 65 3b 00 00 00 0e 20 20 28 76 6f 69 64 29 76 61 6c 75 65 3b 00 00 00 (void)time;......(void)value;...
b500 00 00 00 00 2d 20 20 69 66 20 28 73 74 61 74 65 20 21 3d 20 57 4c 5f 4b 45 59 42 4f 41 52 44 5f ....-..if.(state.!=.WL_KEYBOARD_
b520 4b 45 59 5f 53 54 41 54 45 5f 50 52 45 53 53 45 44 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e KEY_STATE_PRESSED)........return
b540 3b 00 00 00 00 00 00 00 15 20 20 69 66 20 28 21 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 29 00 00 ;..........if.(!wm.sel_client)..
b560 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 27 20 20 73 77 63 5f 77 69 6e 64 6f ......return;.......'..swc_windo
b580 77 5f 63 6c 6f 73 65 28 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 2d 3e 77 69 6e 29 3b 00 00 00 01 w_close(wm.sel_client->win);....
b5a0 7d 00 00 00 00 00 00 00 4c 76 6f 69 64 20 6d 6f 75 73 65 5f 6d 6f 76 65 28 76 6f 69 64 20 2a 64 }.......Lvoid.mouse_move(void.*d
b5c0 61 74 61 2c 20 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 61 6c ata,.uint32_t.time,.uint32_t.val
b5e0 75 65 2c 20 75 69 6e 74 33 32 5f 74 20 73 74 61 74 65 29 20 7b 00 00 00 0d 20 20 28 76 6f 69 64 ue,.uint32_t.state).{......(void
b600 29 64 61 74 61 3b 00 00 00 0d 20 20 28 76 6f 69 64 29 74 69 6d 65 3b 00 00 00 0e 20 20 28 76 6f )data;......(void)time;......(vo
b620 69 64 29 76 61 6c 75 65 3b 00 00 00 00 00 00 00 31 20 20 69 66 20 28 73 74 61 74 65 20 3d 3d 20 id)value;.......1..if.(state.==.
b640 57 4c 5f 50 4f 49 4e 54 45 52 5f 42 55 54 54 4f 4e 5f 53 54 41 54 45 5f 50 52 45 53 53 45 44 29 WL_POINTER_BUTTON_STATE_PRESSED)
b660 20 7b 00 00 00 17 20 20 20 20 69 66 20 28 21 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 29 00 00 00 .{........if.(!wm.sel_client)...
b680 0d 20 20 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 23 20 20 20 20 69 66 20 28 21 77 .......return;.......#....if.(!w
b6a0 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 2d 3e 66 6c 6f 61 74 69 6e 67 29 20 7b 00 00 00 2f 20 20 20 m.sel_client->floating).{.../...
b6c0 20 20 20 73 65 74 5f 66 6c 6f 61 74 69 6e 67 28 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 2c 20 74 ...set_floating(wm.sel_client,.t
b6e0 72 75 65 2c 20 66 61 6c 73 65 29 3b 00 00 00 1f 20 20 20 20 20 20 74 69 6c 65 28 77 6d 2e 73 65 rue,.false);..........tile(wm.se
b700 6c 5f 63 6c 69 65 6e 74 2d 3e 73 63 72 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 00 00 00 00 1a l_client->scr);........}........
b720 20 20 20 20 77 6d 2e 67 72 61 62 2e 61 63 74 69 76 65 20 3d 20 74 72 75 65 3b 00 00 00 1b 20 20 ....wm.grab.active.=.true;......
b740 20 20 77 6d 2e 67 72 61 62 2e 72 65 73 69 7a 65 20 3d 20 66 61 6c 73 65 3b 00 00 00 1e 20 20 20 ..wm.grab.resize.=.false;.......
b760 20 77 6d 2e 67 72 61 62 2e 63 20 3d 20 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 3b 00 00 00 00 00 .wm.grab.c.=.wm.sel_client;.....
b780 00 00 2a 20 20 20 20 73 77 63 5f 77 69 6e 64 6f 77 5f 62 65 67 69 6e 5f 6d 6f 76 65 28 77 6d 2e ..*....swc_window_begin_move(wm.
b7a0 67 72 61 62 2e 63 2d 3e 77 69 6e 29 3b 00 00 00 0a 20 20 7d 20 65 6c 73 65 20 7b 00 00 00 38 20 grab.c->win);......}.else.{...8.
b7c0 20 20 20 69 66 20 28 21 77 6d 2e 67 72 61 62 2e 61 63 74 69 76 65 20 7c 7c 20 77 6d 2e 67 72 61 ...if.(!wm.grab.active.||.wm.gra
b7e0 62 2e 72 65 73 69 7a 65 20 7c 7c 20 21 77 6d 2e 67 72 61 62 2e 63 29 00 00 00 0d 20 20 20 20 20 b.resize.||.!wm.grab.c).........
b800 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 28 20 20 20 20 73 77 63 5f 77 69 6e 64 6f 77 5f 65 .return;.......(....swc_window_e
b820 6e 64 5f 6d 6f 76 65 28 77 6d 2e 67 72 61 62 2e 63 2d 3e 77 69 6e 29 3b 00 00 00 00 00 00 00 1b nd_move(wm.grab.c->win);........
b840 20 20 20 20 77 6d 2e 67 72 61 62 2e 61 63 74 69 76 65 20 3d 20 66 61 6c 73 65 3b 00 00 00 15 20 ....wm.grab.active.=.false;.....
b860 20 20 20 77 6d 2e 67 72 61 62 2e 63 20 3d 20 4e 55 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 01 7d ...wm.grab.c.=.NULL;......}....}
b880 00 00 00 00 00 00 00 4e 76 6f 69 64 20 6d 6f 75 73 65 5f 72 65 73 69 7a 65 28 76 6f 69 64 20 2a .......Nvoid.mouse_resize(void.*
b8a0 64 61 74 61 2c 20 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 61 data,.uint32_t.time,.uint32_t.va
b8c0 6c 75 65 2c 20 75 69 6e 74 33 32 5f 74 20 73 74 61 74 65 29 20 7b 00 00 00 0d 20 20 28 76 6f 69 lue,.uint32_t.state).{......(voi
b8e0 64 29 64 61 74 61 3b 00 00 00 0d 20 20 28 76 6f 69 64 29 74 69 6d 65 3b 00 00 00 0e 20 20 28 76 d)data;......(void)time;......(v
b900 6f 69 64 29 76 61 6c 75 65 3b 00 00 00 00 00 00 00 31 20 20 69 66 20 28 73 74 61 74 65 20 3d 3d oid)value;.......1..if.(state.==
b920 20 57 4c 5f 50 4f 49 4e 54 45 52 5f 42 55 54 54 4f 4e 5f 53 54 41 54 45 5f 50 52 45 53 53 45 44 .WL_POINTER_BUTTON_STATE_PRESSED
b940 29 20 7b 00 00 00 17 20 20 20 20 69 66 20 28 21 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 29 00 00 ).{........if.(!wm.sel_client)..
b960 00 0d 20 20 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 23 20 20 20 20 69 66 20 28 21 ........return;.......#....if.(!
b980 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 2d 3e 66 6c 6f 61 74 69 6e 67 29 20 7b 00 00 00 2f 20 20 wm.sel_client->floating).{.../..
b9a0 20 20 20 20 73 65 74 5f 66 6c 6f 61 74 69 6e 67 28 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 2c 20 ....set_floating(wm.sel_client,.
b9c0 74 72 75 65 2c 20 66 61 6c 73 65 29 3b 00 00 00 1f 20 20 20 20 20 20 74 69 6c 65 28 77 6d 2e 73 true,.false);..........tile(wm.s
b9e0 65 6c 5f 63 6c 69 65 6e 74 2d 3e 73 63 72 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 00 00 00 00 el_client->scr);........}.......
ba00 1a 20 20 20 20 77 6d 2e 67 72 61 62 2e 61 63 74 69 76 65 20 3d 20 74 72 75 65 3b 00 00 00 1a 20 .....wm.grab.active.=.true;.....
ba20 20 20 20 77 6d 2e 67 72 61 62 2e 72 65 73 69 7a 65 20 3d 20 74 72 75 65 3b 00 00 00 1e 20 20 20 ...wm.grab.resize.=.true;.......
ba40 20 77 6d 2e 67 72 61 62 2e 63 20 3d 20 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 3b 00 00 00 00 00 .wm.grab.c.=.wm.sel_client;.....
ba60 00 00 2b 20 20 20 20 73 77 63 5f 77 69 6e 64 6f 77 5f 62 65 67 69 6e 5f 72 65 73 69 7a 65 28 77 ..+....swc_window_begin_resize(w
ba80 6d 2e 67 72 61 62 2e 63 2d 3e 77 69 6e 2c 00 00 00 4c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 m.grab.c->win,...L..............
baa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 57 43 5f 57 49 4e 44 4f 57 5f 45 44 47 45 5f 52 49 ..............SWC_WINDOW_EDGE_RI
bac0 47 48 54 20 7c 20 53 57 43 5f 57 49 4e 44 4f 57 5f 45 44 47 45 5f 42 4f 54 54 4f 4d 29 3b 00 00 GHT.|.SWC_WINDOW_EDGE_BOTTOM);..
bae0 00 0a 20 20 7d 20 65 6c 73 65 20 7b 00 00 00 39 20 20 20 20 69 66 20 28 21 77 6d 2e 67 72 61 62 ....}.else.{...9....if.(!wm.grab
bb00 2e 61 63 74 69 76 65 20 7c 7c 20 21 77 6d 2e 67 72 61 62 2e 72 65 73 69 7a 65 20 7c 7c 20 21 77 .active.||.!wm.grab.resize.||.!w
bb20 6d 2e 67 72 61 62 2e 63 29 00 00 00 0d 20 20 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 m.grab.c)..........return;......
bb40 00 2a 20 20 20 20 73 77 63 5f 77 69 6e 64 6f 77 5f 65 6e 64 5f 72 65 73 69 7a 65 28 77 6d 2e 67 .*....swc_window_end_resize(wm.g
bb60 72 61 62 2e 63 2d 3e 77 69 6e 29 3b 00 00 00 00 00 00 00 1b 20 20 20 20 77 6d 2e 67 72 61 62 2e rab.c->win);............wm.grab.
bb80 61 63 74 69 76 65 20 3d 20 66 61 6c 73 65 3b 00 00 00 15 20 20 20 20 77 6d 2e 67 72 61 62 2e 63 active.=.false;........wm.grab.c
bba0 20 3d 20 4e 55 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 29 76 6f 69 64 .=.NULL;......}....}.......)void
bbc0 20 6e 65 77 5f 73 63 72 65 65 6e 28 73 74 72 75 63 74 20 73 77 63 5f 73 63 72 65 65 6e 20 2a 73 .new_screen(struct.swc_screen.*s
bbe0 63 72 29 20 7b 00 00 00 13 20 20 73 74 72 75 63 74 20 73 63 72 65 65 6e 20 2a 73 3b 00 00 00 00 cr).{......struct.screen.*s;....
bc00 00 00 00 19 20 20 73 20 3d 20 6d 61 6c 6c 6f 63 28 73 69 7a 65 6f 66 28 2a 73 29 29 3b 00 00 00 ......s.=.malloc(sizeof(*s));...
bc20 09 20 20 69 66 20 28 21 73 29 00 00 00 32 20 20 20 20 64 69 65 28 45 58 49 54 5f 46 41 49 4c 55 ...if.(!s)...2....die(EXIT_FAILU
bc40 52 45 2c 20 22 6e 65 77 20 73 63 72 65 65 6e 20 6d 61 6c 6c 6f 63 20 66 61 69 6c 65 64 22 29 3b RE,."new.screen.malloc.failed");
bc60 00 00 00 00 00 00 00 0f 20 20 73 2d 3e 73 63 72 20 3d 20 73 63 72 3b 00 00 00 0b 20 20 73 2d 3e ..........s->scr.=.scr;......s->
bc80 78 20 3d 20 30 3b 00 00 00 0b 20 20 73 2d 3e 79 20 3d 20 30 3b 00 00 00 0b 20 20 73 2d 3e 77 20 x.=.0;......s->y.=.0;......s->w.
bca0 3d 20 30 3b 00 00 00 0b 20 20 73 2d 3e 68 20 3d 20 30 3b 00 00 00 00 00 00 00 28 20 20 77 6c 5f =.0;......s->h.=.0;.......(..wl_
bcc0 6c 69 73 74 5f 69 6e 73 65 72 74 28 26 77 6d 2e 73 63 72 65 65 6e 73 2c 20 26 73 2d 3e 6c 69 6e list_insert(&wm.screens,.&s->lin
bce0 6b 29 3b 00 00 00 00 00 00 00 15 20 20 69 66 20 28 21 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 29 k);..........if.(!wm.sel_screen)
bd00 00 00 00 16 20 20 20 20 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 20 3d 20 73 3b 00 00 00 00 00 00 ........wm.sel_screen.=.s;......
bd20 00 32 20 20 73 77 63 5f 73 63 72 65 65 6e 5f 73 65 74 5f 68 61 6e 64 6c 65 72 28 73 63 72 2c 20 .2..swc_screen_set_handler(scr,.
bd40 26 73 63 72 65 65 6e 5f 68 61 6e 64 6c 65 72 2c 20 73 29 3b 00 00 00 00 00 00 00 2f 20 20 5f 6c &screen_handler,.s);......./.._l
bd60 6f 67 28 73 74 64 65 72 72 2c 20 22 6e 65 77 5f 73 63 72 65 65 6e 3d 25 70 5c 6e 22 2c 20 28 76 og(stderr,."new_screen=%p\n",.(v
bd80 6f 69 64 20 2a 29 73 63 72 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 29 76 6f 69 64 20 6e 65 77 oid.*)scr);....}.......)void.new
bda0 5f 77 69 6e 64 6f 77 28 73 74 72 75 63 74 20 73 77 63 5f 77 69 6e 64 6f 77 20 2a 77 69 6e 29 20 _window(struct.swc_window.*win).
bdc0 7b 00 00 00 13 20 20 73 74 72 75 63 74 20 63 6c 69 65 6e 74 20 2a 63 3b 00 00 00 00 00 00 00 19 {......struct.client.*c;........
bde0 20 20 63 20 3d 20 6d 61 6c 6c 6f 63 28 73 69 7a 65 6f 66 28 2a 63 29 29 3b 00 00 00 09 20 20 69 ..c.=.malloc(sizeof(*c));......i
be00 66 20 28 21 63 29 00 00 00 2e 20 20 20 20 64 69 65 28 45 58 49 54 5f 46 41 49 4c 55 52 45 2c 20 f.(!c)........die(EXIT_FAILURE,.
be20 22 6d 61 6c 6c 6f 63 20 63 6c 69 65 6e 74 20 66 61 69 6c 65 64 22 29 3b 00 00 00 00 00 00 00 0f "malloc.client.failed");........
be40 20 20 63 2d 3e 77 69 6e 20 3d 20 77 69 6e 3b 00 00 00 19 20 20 63 2d 3e 73 63 72 20 3d 20 77 6d ..c->win.=.win;......c->scr.=.wm
be60 2e 73 65 6c 5f 73 63 72 65 65 6e 3b 00 00 00 14 20 20 63 2d 3e 6d 61 70 70 65 64 20 3d 20 66 61 .sel_screen;......c->mapped.=.fa
be80 6c 73 65 3b 00 00 00 23 20 20 63 2d 3e 66 6c 6f 61 74 69 6e 67 20 3d 20 77 6d 2e 67 6c 6f 62 61 lse;...#..c->floating.=.wm.globa
bea0 6c 5f 66 6c 6f 61 74 69 6e 67 3b 00 00 00 18 20 20 63 2d 3e 66 75 6c 6c 73 63 72 65 65 6e 20 3d l_floating;......c->fullscreen.=
bec0 20 66 61 6c 73 65 3b 00 00 00 10 20 20 63 2d 3e 77 73 20 3d 20 66 61 6c 73 65 3b 00 00 00 00 00 .false;......c->ws.=.false;.....
bee0 00 00 14 20 20 69 66 20 28 63 2d 3e 66 6c 6f 61 74 69 6e 67 29 20 7b 00 00 00 31 20 20 20 20 77 .....if.(c->floating).{...1....w
bf00 6c 5f 6c 69 73 74 5f 69 6e 73 65 72 74 28 26 77 6d 2e 66 6c 6f 61 74 69 6e 67 2c 20 26 63 2d 3e l_list_insert(&wm.floating,.&c->
bf20 66 6c 6f 61 74 5f 6c 69 6e 6b 29 3b 00 00 00 21 20 20 20 20 77 6c 5f 6c 69 73 74 5f 69 6e 69 74 float_link);...!....wl_list_init
bf40 28 26 63 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 29 3b 00 00 00 34 20 20 20 20 73 77 63 5f 77 69 6e (&c->tiled_link);...4....swc_win
bf60 64 6f 77 5f 73 65 74 5f 68 61 6e 64 6c 65 72 28 77 69 6e 2c 20 26 77 69 6e 64 6f 77 5f 68 61 6e dow_set_handler(win,.&window_han
bf80 64 6c 65 72 2c 20 63 29 3b 00 00 00 20 20 20 20 20 73 77 63 5f 77 69 6e 64 6f 77 5f 73 65 74 5f dler,.c);........swc_window_set_
bfa0 73 74 61 63 6b 65 64 28 77 69 6e 29 3b 00 00 00 0a 20 20 7d 20 65 6c 73 65 20 7b 00 00 00 2e 20 stacked(win);......}.else.{.....
bfc0 20 20 20 77 6c 5f 6c 69 73 74 5f 69 6e 73 65 72 74 28 26 77 6d 2e 74 69 6c 65 64 2c 20 26 63 2d ...wl_list_insert(&wm.tiled,.&c-
bfe0 3e 74 69 6c 65 64 5f 6c 69 6e 6b 29 3b 00 00 00 21 20 20 20 20 77 6c 5f 6c 69 73 74 5f 69 6e 69 >tiled_link);...!....wl_list_ini
c000 74 28 26 63 2d 3e 66 6c 6f 61 74 5f 6c 69 6e 6b 29 3b 00 00 00 34 20 20 20 20 73 77 63 5f 77 69 t(&c->float_link);...4....swc_wi
c020 6e 64 6f 77 5f 73 65 74 5f 68 61 6e 64 6c 65 72 28 77 69 6e 2c 20 26 77 69 6e 64 6f 77 5f 68 61 ndow_set_handler(win,.&window_ha
c040 6e 64 6c 65 72 2c 20 63 29 3b 00 00 00 1e 20 20 20 20 73 77 63 5f 77 69 6e 64 6f 77 5f 73 65 74 ndler,.c);........swc_window_set
c060 5f 74 69 6c 65 64 28 77 69 6e 29 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 17 20 20 73 77 63 _tiled(win);......}..........swc
c080 5f 77 69 6e 64 6f 77 5f 73 68 6f 77 28 77 69 6e 29 3b 00 00 00 11 20 20 66 6f 63 75 73 28 63 2c _window_show(win);......focus(c,
c0a0 20 74 72 75 65 29 3b 00 00 00 16 20 20 74 69 6c 65 28 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 29 .true);......tile(wm.sel_screen)
c0c0 3b 00 00 00 00 00 00 00 2f 20 20 5f 6c 6f 67 28 73 74 64 65 72 72 2c 20 22 6e 65 77 5f 77 69 6e ;......./.._log(stderr,."new_win
c0e0 64 6f 77 3d 25 70 5c 6e 22 2c 20 28 76 6f 69 64 20 2a 29 77 69 6e 29 3b 00 00 00 01 7d 00 00 00 dow=%p\n",.(void.*)win);....}...
c100 00 00 00 00 3b 76 6f 69 64 20 6e 65 77 5f 64 65 76 69 63 65 28 73 74 72 75 63 74 20 6c 69 62 69 ....;void.new_device(struct.libi
c120 6e 70 75 74 5f 64 65 76 69 63 65 20 2a 64 65 76 29 20 7b 20 28 76 6f 69 64 29 64 65 76 3b 20 7d nput_device.*dev).{.(void)dev;.}
c140 00 00 00 00 00 00 00 46 76 6f 69 64 20 71 75 69 74 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 75 69 .......Fvoid.quit(void.*data,.ui
c160 6e 74 33 32 5f 74 20 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 61 6c 75 65 2c 20 75 69 6e nt32_t.time,.uint32_t.value,.uin
c180 74 33 32 5f 74 20 73 74 61 74 65 29 20 7b 00 00 00 0d 20 20 28 76 6f 69 64 29 64 61 74 61 3b 00 t32_t.state).{......(void)data;.
c1a0 00 00 0d 20 20 28 76 6f 69 64 29 74 69 6d 65 3b 00 00 00 0e 20 20 28 76 6f 69 64 29 76 61 6c 75 .....(void)time;......(void)valu
c1c0 65 3b 00 00 00 0e 20 20 28 76 6f 69 64 29 73 74 61 74 65 3b 00 00 00 00 00 00 00 1f 20 20 77 6c e;......(void)state;..........wl
c1e0 5f 64 69 73 70 6c 61 79 5f 74 65 72 6d 69 6e 61 74 65 28 77 6d 2e 64 70 79 29 3b 00 00 00 01 7d _display_terminate(wm.dpy);....}
c200 00 00 00 00 00 00 00 47 76 6f 69 64 20 73 70 61 77 6e 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 75 .......Gvoid.spawn(void.*data,.u
c220 69 6e 74 33 32 5f 74 20 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 61 6c 75 65 2c 20 75 69 int32_t.time,.uint32_t.value,.ui
c240 6e 74 33 32 5f 74 20 73 74 61 74 65 29 20 7b 00 00 00 16 20 20 75 6e 69 6f 6e 20 61 72 67 20 2a nt32_t.state).{......union.arg.*
c260 61 20 3d 20 64 61 74 61 3b 00 00 00 29 20 20 63 68 61 72 20 2a 63 6f 6e 73 74 20 2a 63 6d 64 20 a.=.data;...)..char.*const.*cmd.
c280 3d 20 28 63 68 61 72 20 2a 63 6f 6e 73 74 20 2a 29 61 2d 3e 76 3b 00 00 00 00 00 00 00 0d 20 20 =.(char.*const.*)a->v;..........
c2a0 28 76 6f 69 64 29 74 69 6d 65 3b 00 00 00 0e 20 20 28 76 6f 69 64 29 76 61 6c 75 65 3b 00 00 00 (void)time;......(void)value;...
c2c0 00 00 00 00 2d 20 20 69 66 20 28 73 74 61 74 65 20 21 3d 20 57 4c 5f 4b 45 59 42 4f 41 52 44 5f ....-..if.(state.!=.WL_KEYBOARD_
c2e0 4b 45 59 5f 53 54 41 54 45 5f 50 52 45 53 53 45 44 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e KEY_STATE_PRESSED)........return
c300 3b 00 00 00 00 00 00 00 14 20 20 69 66 20 28 66 6f 72 6b 28 29 20 3d 3d 20 30 29 20 7b 00 00 00 ;..........if.(fork().==.0).{...
c320 18 20 20 20 20 65 78 65 63 76 70 28 63 6d 64 5b 30 5d 2c 20 63 6d 64 29 3b 00 00 00 0f 20 20 20 .....execvp(cmd[0],.cmd);.......
c340 20 5f 65 78 69 74 28 31 32 37 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 4e ._exit(127);......}....}.......N
c360 76 6f 69 64 20 74 6f 67 67 6c 65 5f 66 6c 6f 61 74 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 75 69 void.toggle_float(void.*data,.ui
c380 6e 74 33 32 5f 74 20 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 61 6c 75 65 2c 20 75 69 6e nt32_t.time,.uint32_t.value,.uin
c3a0 74 33 32 5f 74 20 73 74 61 74 65 29 20 7b 00 00 00 0d 20 20 28 76 6f 69 64 29 64 61 74 61 3b 00 t32_t.state).{......(void)data;.
c3c0 00 00 0d 20 20 28 76 6f 69 64 29 74 69 6d 65 3b 00 00 00 0e 20 20 28 76 6f 69 64 29 76 61 6c 75 .....(void)time;......(void)valu
c3e0 65 3b 00 00 00 00 00 00 00 2d 20 20 69 66 20 28 73 74 61 74 65 20 21 3d 20 57 4c 5f 4b 45 59 42 e;.......-..if.(state.!=.WL_KEYB
c400 4f 41 52 44 5f 4b 45 59 5f 53 54 41 54 45 5f 50 52 45 53 53 45 44 29 00 00 00 0b 20 20 20 20 72 OARD_KEY_STATE_PRESSED)........r
c420 65 74 75 72 6e 3b 00 00 00 00 00 00 00 15 20 20 69 66 20 28 21 77 6d 2e 73 65 6c 5f 63 6c 69 65 eturn;..........if.(!wm.sel_clie
c440 6e 74 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 3e 20 20 73 65 74 5f nt)........return;.......>..set_
c460 66 6c 6f 61 74 69 6e 67 28 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 2c 20 21 77 6d 2e 73 65 6c 5f floating(wm.sel_client,.!wm.sel_
c480 63 6c 69 65 6e 74 2d 3e 66 6c 6f 61 74 69 6e 67 2c 20 74 72 75 65 29 3b 00 00 00 1b 20 20 74 69 client->floating,.true);......ti
c4a0 6c 65 28 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 2d 3e 73 63 72 29 3b 00 00 00 01 7d 00 00 00 00 le(wm.sel_client->scr);....}....
c4c0 00 00 00 43 76 6f 69 64 20 74 6f 67 67 6c 65 5f 66 6c 6f 61 74 5f 67 6c 6f 62 61 6c 28 76 6f 69 ...Cvoid.toggle_float_global(voi
c4e0 64 20 2a 64 61 74 61 2c 20 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 d.*data,.uint32_t.time,.uint32_t
c500 20 76 61 6c 75 65 2c 00 00 00 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .value,...*.....................
c520 20 20 20 20 75 69 6e 74 33 32 5f 74 20 73 74 61 74 65 29 20 7b 00 00 00 0d 20 20 28 76 6f 69 64 ....uint32_t.state).{......(void
c540 29 64 61 74 61 3b 00 00 00 0d 20 20 28 76 6f 69 64 29 74 69 6d 65 3b 00 00 00 0e 20 20 28 76 6f )data;......(void)time;......(vo
c560 69 64 29 76 61 6c 75 65 3b 00 00 00 00 00 00 00 2d 20 20 69 66 20 28 73 74 61 74 65 20 21 3d 20 id)value;.......-..if.(state.!=.
c580 57 4c 5f 4b 45 59 42 4f 41 52 44 5f 4b 45 59 5f 53 54 41 54 45 5f 50 52 45 53 53 45 44 29 00 00 WL_KEYBOARD_KEY_STATE_PRESSED)..
c5a0 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 2b 20 20 77 6d 2e 67 6c 6f 62 61 6c ......return;.......+..wm.global
c5c0 5f 66 6c 6f 61 74 69 6e 67 20 3d 20 21 77 6d 2e 67 6c 6f 62 61 6c 5f 66 6c 6f 61 74 69 6e 67 3b _floating.=.!wm.global_floating;
c5e0 00 00 00 01 7d 00 00 00 00 00 00 00 10 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 20 7b 00 00 00 ....}........int.main(void).{...
c600 0a 20 20 73 65 74 75 70 28 29 3b 00 00 00 19 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 75 6e 28 ...setup();......wl_display_run(
c620 77 6d 2e 64 70 79 29 3b 00 00 00 11 20 20 73 77 63 5f 66 69 6e 61 6c 69 7a 65 28 29 3b 00 00 00 wm.dpy);......swc_finalize();...
c640 1d 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 65 73 74 72 6f 79 28 77 6d 2e 64 70 79 29 3b 00 00 ...wl_display_destroy(wm.dpy);..
c660 00 16 20 20 72 65 74 75 72 6e 20 45 58 49 54 5f 53 55 43 43 45 53 53 3b 00 00 00 01 7d 00 00 00 ....return.EXIT_SUCCESS;....}...
c680 00 00 00 00 4d 76 6f 69 64 20 6d 61 73 74 65 72 5f 6e 65 78 74 28 76 6f 69 64 20 2a 64 61 74 61 ....Mvoid.master_next(void.*data
c6a0 2c 20 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 61 6c 75 65 2c ,.uint32_t.time,.uint32_t.value,
c6c0 20 75 69 6e 74 33 32 5f 74 20 73 74 61 74 65 29 20 7b 00 00 00 0d 20 20 28 76 6f 69 64 29 64 61 .uint32_t.state).{......(void)da
c6e0 74 61 3b 00 00 00 0d 20 20 28 76 6f 69 64 29 74 69 6d 65 3b 00 00 00 0e 20 20 28 76 6f 69 64 29 ta;......(void)time;......(void)
c700 76 61 6c 75 65 3b 00 00 00 00 00 00 00 17 20 20 73 74 72 75 63 74 20 63 6c 69 65 6e 74 20 2a 66 value;..........struct.client.*f
c720 69 72 73 74 3b 00 00 00 16 20 20 73 74 72 75 63 74 20 63 6c 69 65 6e 74 20 2a 6c 61 73 74 3b 00 irst;......struct.client.*last;.
c740 00 00 13 20 20 73 74 72 75 63 74 20 73 63 72 65 65 6e 20 2a 73 3b 00 00 00 00 00 00 00 2d 20 20 .....struct.screen.*s;.......-..
c760 69 66 20 28 73 74 61 74 65 20 21 3d 20 57 4c 5f 4b 45 59 42 4f 41 52 44 5f 4b 45 59 5f 53 54 41 if.(state.!=.WL_KEYBOARD_KEY_STA
c780 54 45 5f 50 52 45 53 53 45 44 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 TE_PRESSED)........return;......
c7a0 00 15 20 20 69 66 20 28 21 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 29 00 00 00 0b 20 20 20 20 72 ....if.(!wm.sel_screen)........r
c7c0 65 74 75 72 6e 3b 00 00 00 00 00 00 00 14 20 20 73 20 3d 20 77 6d 2e 73 65 6c 5f 73 63 72 65 65 eturn;..........s.=.wm.sel_scree
c7e0 6e 3b 00 00 00 19 20 20 66 69 72 73 74 20 3d 20 66 69 72 73 74 5f 74 69 6c 65 64 28 73 29 3b 00 n;......first.=.first_tiled(s);.
c800 00 00 17 20 20 6c 61 73 74 20 3d 20 6c 61 73 74 5f 74 69 6c 65 64 28 73 29 3b 00 00 00 00 00 00 .....last.=.last_tiled(s);......
c820 00 27 20 20 69 66 20 28 21 66 69 72 73 74 20 7c 7c 20 21 6c 61 73 74 20 7c 7c 20 66 69 72 73 74 .'..if.(!first.||.!last.||.first
c840 20 3d 3d 20 6c 61 73 74 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 24 .==.last)........return;.......$
c860 20 20 77 6c 5f 6c 69 73 74 5f 72 65 6d 6f 76 65 28 26 6c 61 73 74 2d 3e 74 69 6c 65 64 5f 6c 69 ..wl_list_remove(&last->tiled_li
c880 6e 6b 29 3b 00 00 00 3c 20 20 77 6c 5f 6c 69 73 74 5f 69 6e 73 65 72 74 28 66 69 72 73 74 2d 3e nk);...<..wl_list_insert(first->
c8a0 74 69 6c 65 64 5f 6c 69 6e 6b 2e 70 72 65 76 2c 20 26 6c 61 73 74 2d 3e 74 69 6c 65 64 5f 6c 69 tiled_link.prev,.&last->tiled_li
c8c0 6e 6b 29 3b 00 00 00 00 00 00 00 1e 20 20 66 6f 63 75 73 28 66 69 72 73 74 5f 74 69 6c 65 64 28 nk);..........focus(first_tiled(
c8e0 73 29 2c 20 74 72 75 65 29 3b 00 00 00 0a 20 20 74 69 6c 65 28 73 29 3b 00 00 00 01 7d 00 00 00 s),.true);......tile(s);....}...
c900 00 00 00 00 4d 76 6f 69 64 20 6d 61 73 74 65 72 5f 70 72 65 76 28 76 6f 69 64 20 2a 64 61 74 61 ....Mvoid.master_prev(void.*data
c920 2c 20 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 61 6c 75 65 2c ,.uint32_t.time,.uint32_t.value,
c940 20 75 69 6e 74 33 32 5f 74 20 73 74 61 74 65 29 20 7b 00 00 00 0d 20 20 28 76 6f 69 64 29 64 61 .uint32_t.state).{......(void)da
c960 74 61 3b 00 00 00 0d 20 20 28 76 6f 69 64 29 74 69 6d 65 3b 00 00 00 0e 20 20 28 76 6f 69 64 29 ta;......(void)time;......(void)
c980 76 61 6c 75 65 3b 00 00 00 00 00 00 00 17 20 20 73 74 72 75 63 74 20 63 6c 69 65 6e 74 20 2a 66 value;..........struct.client.*f
c9a0 69 72 73 74 3b 00 00 00 16 20 20 73 74 72 75 63 74 20 63 6c 69 65 6e 74 20 2a 6c 61 73 74 3b 00 irst;......struct.client.*last;.
c9c0 00 00 13 20 20 73 74 72 75 63 74 20 73 63 72 65 65 6e 20 2a 73 3b 00 00 00 00 00 00 00 2d 20 20 .....struct.screen.*s;.......-..
c9e0 69 66 20 28 73 74 61 74 65 20 21 3d 20 57 4c 5f 4b 45 59 42 4f 41 52 44 5f 4b 45 59 5f 53 54 41 if.(state.!=.WL_KEYBOARD_KEY_STA
ca00 54 45 5f 50 52 45 53 53 45 44 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 TE_PRESSED)........return;......
ca20 00 15 20 20 69 66 20 28 21 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 29 00 00 00 0b 20 20 20 20 72 ....if.(!wm.sel_screen)........r
ca40 65 74 75 72 6e 3b 00 00 00 00 00 00 00 14 20 20 73 20 3d 20 77 6d 2e 73 65 6c 5f 73 63 72 65 65 eturn;..........s.=.wm.sel_scree
ca60 6e 3b 00 00 00 19 20 20 66 69 72 73 74 20 3d 20 66 69 72 73 74 5f 74 69 6c 65 64 28 73 29 3b 00 n;......first.=.first_tiled(s);.
ca80 00 00 17 20 20 6c 61 73 74 20 3d 20 6c 61 73 74 5f 74 69 6c 65 64 28 73 29 3b 00 00 00 00 00 00 .....last.=.last_tiled(s);......
caa0 00 27 20 20 69 66 20 28 21 66 69 72 73 74 20 7c 7c 20 21 6c 61 73 74 20 7c 7c 20 66 69 72 73 74 .'..if.(!first.||.!last.||.first
cac0 20 3d 3d 20 6c 61 73 74 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 25 .==.last)........return;.......%
cae0 20 20 77 6c 5f 6c 69 73 74 5f 72 65 6d 6f 76 65 28 26 66 69 72 73 74 2d 3e 74 69 6c 65 64 5f 6c ..wl_list_remove(&first->tiled_l
cb00 69 6e 6b 29 3b 00 00 00 38 20 20 77 6c 5f 6c 69 73 74 5f 69 6e 73 65 72 74 28 26 6c 61 73 74 2d ink);...8..wl_list_insert(&last-
cb20 3e 74 69 6c 65 64 5f 6c 69 6e 6b 2c 20 26 66 69 72 73 74 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 29 >tiled_link,.&first->tiled_link)
cb40 3b 00 00 00 00 00 00 00 1e 20 20 66 6f 63 75 73 28 66 69 72 73 74 5f 74 69 6c 65 64 28 73 29 2c ;..........focus(first_tiled(s),
cb60 20 74 72 75 65 29 3b 00 00 00 0a 20 20 74 69 6c 65 28 73 29 3b 00 00 00 01 7d 00 00 00 00 00 00 .true);......tile(s);....}......
cb80 00 4f 76 6f 69 64 20 6d 61 73 74 65 72 5f 72 65 73 69 7a 65 28 76 6f 69 64 20 2a 64 61 74 61 2c .Ovoid.master_resize(void.*data,
cba0 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 76 61 6c 75 65 2c 20 .uint32_t.time,.uint32_t.value,.
cbc0 75 69 6e 74 33 32 5f 74 20 73 74 61 74 65 29 20 7b 00 00 00 0d 20 20 28 76 6f 69 64 29 74 69 6d uint32_t.state).{......(void)tim
cbe0 65 3b 00 00 00 0e 20 20 28 76 6f 69 64 29 76 61 6c 75 65 3b 00 00 00 00 00 00 00 16 20 20 75 6e e;......(void)value;..........un
cc00 69 6f 6e 20 61 72 67 20 2a 61 20 3d 20 64 61 74 61 3b 00 00 00 00 00 00 00 2d 20 20 69 66 20 28 ion.arg.*a.=.data;.......-..if.(
cc20 73 74 61 74 65 20 21 3d 20 57 4c 5f 4b 45 59 42 4f 41 52 44 5f 4b 45 59 5f 53 54 41 54 45 5f 50 state.!=.WL_KEYBOARD_KEY_STATE_P
cc40 52 45 53 53 45 44 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 15 20 20 RESSED)........return;..........
cc60 69 66 20 28 21 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 if.(!wm.sel_screen)........retur
cc80 6e 3b 00 00 00 00 00 00 00 41 20 20 73 74 72 75 63 74 20 73 77 63 5f 72 65 63 74 61 6e 67 6c 65 n;.......A..struct.swc_rectangle
cca0 20 2a 67 20 3d 20 26 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 2d 3e 73 63 72 2d 3e 75 73 61 62 6c .*g.=.&wm.sel_screen->scr->usabl
ccc0 65 5f 67 65 6f 6d 65 74 72 79 3b 00 00 00 00 00 00 00 32 20 20 75 69 6e 74 33 32 5f 74 20 6f 75 e_geometry;.......2..uint32_t.ou
cce0 74 5f 67 61 70 73 20 3d 20 63 66 67 2e 67 61 70 73 20 2b 20 63 66 67 2e 62 6f 72 64 65 72 5f 77 t_gaps.=.cfg.gaps.+.cfg.border_w
cd00 69 64 74 68 3b 00 00 00 37 20 20 75 69 6e 74 33 32 5f 74 20 69 6e 5f 67 61 70 73 20 3d 20 63 66 idth;...7..uint32_t.in_gaps.=.cf
cd20 67 2e 67 61 70 73 20 2b 20 28 63 66 67 2e 62 6f 72 64 65 72 5f 77 69 64 74 68 20 2a 20 32 29 3b g.gaps.+.(cfg.border_width.*.2);
cd40 00 00 00 00 00 00 00 3e 20 20 69 6e 74 33 32 5f 74 20 74 6f 74 61 6c 20 3d 20 28 69 6e 74 33 32 .......>..int32_t.total.=.(int32
cd60 5f 74 29 67 2d 3e 77 69 64 74 68 20 2d 20 28 69 6e 74 33 32 5f 74 29 28 6f 75 74 5f 67 61 70 73 _t)g->width.-.(int32_t)(out_gaps
cd80 20 2a 20 32 29 3b 00 00 00 00 00 00 00 1a 20 20 69 6e 74 33 32 5f 74 20 6d 69 6e 5f 6d 61 73 74 .*.2);..........int32_t.min_mast
cda0 65 72 20 3d 20 32 30 3b 00 00 00 35 20 20 69 6e 74 33 32 5f 74 20 6d 61 78 5f 6d 61 73 74 65 72 er.=.20;...5..int32_t.max_master
cdc0 20 3d 20 74 6f 74 61 6c 20 2d 20 28 69 6e 74 33 32 5f 74 29 69 6e 5f 67 61 70 73 20 2d 20 32 30 .=.total.-.(int32_t)in_gaps.-.20
cde0 3b 00 00 00 00 00 00 00 1e 20 20 69 66 20 28 6d 61 78 5f 6d 61 73 74 65 72 20 3c 20 6d 69 6e 5f ;..........if.(max_master.<.min_
ce00 6d 61 73 74 65 72 29 00 00 00 1c 20 20 20 20 6d 61 78 5f 6d 61 73 74 65 72 20 3d 20 6d 69 6e 5f master)........max_master.=.min_
ce20 6d 61 73 74 65 72 3b 00 00 00 00 00 00 00 2c 20 20 69 6e 74 33 32 5f 74 20 6d 77 20 3d 20 28 69 master;.......,..int32_t.mw.=.(i
ce40 6e 74 33 32 5f 74 29 6d 61 73 74 65 72 5f 77 69 64 74 68 20 2b 20 61 2d 3e 69 3b 00 00 00 00 00 nt32_t)master_width.+.a->i;.....
ce60 00 00 16 20 20 69 66 20 28 6d 77 20 3c 20 6d 69 6e 5f 6d 61 73 74 65 72 29 00 00 00 14 20 20 20 .....if.(mw.<.min_master).......
ce80 20 6d 77 20 3d 20 6d 69 6e 5f 6d 61 73 74 65 72 3b 00 00 00 1b 20 20 65 6c 73 65 20 69 66 20 28 .mw.=.min_master;......else.if.(
cea0 6d 77 20 3e 20 6d 61 78 5f 6d 61 73 74 65 72 29 00 00 00 14 20 20 20 20 6d 77 20 3d 20 6d 61 78 mw.>.max_master)........mw.=.max
cec0 5f 6d 61 73 74 65 72 3b 00 00 00 00 00 00 00 1e 20 20 6d 61 73 74 65 72 5f 77 69 64 74 68 20 3d _master;..........master_width.=
cee0 20 28 75 69 6e 74 33 32 5f 74 29 6d 77 3b 00 00 00 00 00 00 00 16 20 20 74 69 6c 65 28 77 6d 2e .(uint32_t)mw;..........tile(wm.
cf00 73 65 6c 5f 73 63 72 65 65 6e 29 3b 00 00 00 01 7d 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 sel_screen);....}5..............
cf20 00 96 02 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 a7 36 00 00 00 00 00 ..........................6.....
cf40 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 07 00 00 00 09 00 00 00 00 00 00 00 00 00 00 00 .........5._....................
cf60 08 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cf80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cfa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cfc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cfe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
d000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
d020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
d040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
d060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
d080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
d0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
d0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 95 6a 4a 04 01 00 00 00 00 00 f5 18 00 00 01 5c ...............i.jJ............\
d0e0 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 f5 18 00 00 01 5d 00 00 00 00 00 00 00 00 00 00 .....................]..........
d100 00 00 f5 18 00 00 01 59 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 1e 20 20 6d 61 73 74 65 72 .......Y..................master
d120 5f 77 69 64 74 68 20 3d 20 28 75 69 6e 74 33 32 5f 74 29 6d 77 3b f5 18 00 00 01 5a 00 00 00 00 _width.=.(uint32_t)mw;.....Z....
d140 00 00 00 00 00 00 00 00 f5 18 00 00 01 4f 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 15 20 20 .............O..................
d160 73 74 72 75 63 74 20 73 77 63 5f 72 65 63 74 61 6e 67 6c f5 18 00 00 01 50 00 00 00 00 00 00 00 struct.swc_rectangl.....P.......
d180 00 00 00 00 00 f5 18 00 00 01 49 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 dc 76 6f 69 64 20 ..........I................void.
d1a0 6d 61 73 74 65 72 5f 70 72 65 76 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 75 69 6e 74 33 32 5f 74 master_prev(void.*data,.uint32_t
d1c0 20 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 61 6c 75 65 2c 20 75 69 6e 74 33 32 5f 74 20 .time,.uint32_t.value,.uint32_t.
d1e0 73 74 61 74 65 29 20 7b 20 28 76 6f 69 64 29 64 61 74 61 3b 20 28 76 6f 69 64 29 74 69 6d 65 3b state).{.(void)data;.(void)time;
d200 20 28 76 6f 69 64 29 76 61 6c 75 65 3b 20 73 74 72 75 63 74 20 63 6c 69 65 6e 74 20 2a 66 69 72 .(void)value;.struct.client.*fir
d220 73 74 3b 20 73 74 72 75 63 74 20 63 6c 69 65 6e 74 20 2a 6c 61 73 74 3b 20 73 74 72 75 63 74 20 st;.struct.client.*last;.struct.
d240 73 63 72 65 65 6e 20 2a 73 3b 20 69 66 20 28 73 74 61 74 65 20 21 3d 20 57 4c 5f 4b 45 59 42 4f screen.*s;.if.(state.!=.WL_KEYBO
d260 41 52 44 5f 4b 45 59 5f 53 54 41 54 45 5f 50 52 45 53 53 45 44 29 20 f5 18 00 00 01 4a 00 00 00 ARD_KEY_STATE_PRESSED)......J...
d280 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 47 00 00 00 00 00 00 00 00 00 00 00 01 00 00 01 d2 76 ..............G................v
d2a0 6f 69 64 20 6d 61 73 74 65 72 5f 6e 65 78 74 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 75 69 6e 74 oid.master_next(void.*data,.uint
d2c0 33 32 5f 74 20 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 61 6c 75 65 2c 20 75 69 6e 74 33 32_t.time,.uint32_t.value,.uint3
d2e0 32 5f 74 20 73 74 61 74 65 29 20 7b 20 28 76 6f 69 64 29 64 61 74 61 3b 20 28 76 6f 69 64 29 74 2_t.state).{.(void)data;.(void)t
d300 69 6d 65 3b 20 28 76 6f 69 64 29 76 61 6c 75 65 3b 20 73 74 72 75 63 74 20 63 6c 69 65 6e 74 20 ime;.(void)value;.struct.client.
d320 2a 66 69 72 73 74 3b 20 73 74 72 75 63 74 20 63 6c 69 65 6e 74 20 2a 6c 61 73 74 3b 20 73 74 72 *first;.struct.client.*last;.str
d340 75 63 74 20 73 63 72 65 65 6e 20 2a 73 3b 20 69 66 20 28 73 74 61 74 65 20 21 3d 20 57 4c 5f 4b uct.screen.*s;.if.(state.!=.WL_K
d360 45 59 42 4f 41 52 44 5f 4b 45 59 5f 53 54 41 54 45 5f 50 52 45 53 53 45 44 29 20 72 65 74 75 72 EYBOARD_KEY_STATE_PRESSED).retur
d380 6e 3b 20 69 66 20 28 21 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 29 20 72 65 74 75 72 6e 3b 20 73 n;.if.(!wm.sel_screen).return;.s
d3a0 20 3d 20 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 3b 20 66 69 72 73 74 20 3d 20 66 69 72 73 74 5f .=.wm.sel_screen;.first.=.first_
d3c0 74 69 6c 65 64 28 73 29 3b 20 6c 61 73 74 20 3d 20 6c 61 73 74 5f 74 69 6c 65 64 28 73 29 3b 20 tiled(s);.last.=.last_tiled(s);.
d3e0 69 66 20 28 21 66 69 72 73 74 20 7c 7c 20 21 6c 61 73 74 20 7c 7c 20 66 69 72 73 74 20 3d 3d 20 if.(!first.||.!last.||.first.==.
d400 6c 61 73 74 29 20 72 65 74 75 72 6e 3b 20 77 6c 5f 6c 69 73 74 5f 72 65 6d 6f 76 65 28 26 6c 61 last).return;.wl_list_remove(&la
d420 73 74 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 29 3b 20 77 6c 5f 6c 69 73 74 5f 69 6e 73 65 72 74 28 st->tiled_link);.wl_list_insert(
d440 66 69 72 73 74 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 2e 70 72 65 76 2c 20 26 6c 61 73 74 2d 3e 74 first->tiled_link.prev,.&last->t
d460 69 6c 65 64 5f 6c 69 6e 6b 29 3b 20 66 6f 63 75 73 f5 18 00 00 01 48 00 00 00 00 00 00 00 00 00 iled_link);.focus.....H.........
d480 00 00 00 f5 18 00 00 01 2b 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 12 20 20 63 68 61 72 20 ........+..................char.
d4a0 2a 63 6f 6e 73 74 20 2a 63 6d 64 f5 18 00 00 01 2c 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 *const.*cmd.....,...............
d4c0 00 01 1d 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 0d 20 20 69 66 20 28 63 2d 3e 66 6c 6f 61 .....................if.(c->floa
d4e0 f5 18 00 00 01 1e 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 12 00 00 00 00 00 00 00 00 ................................
d500 00 00 00 01 00 00 00 08 20 20 73 2d 3e 73 63 72 f5 18 00 00 01 13 00 00 00 00 00 00 00 00 00 00 ..........s->scr................
d520 00 00 f5 18 00 00 01 05 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 55 20 20 20 20 69 66 20 28 .......................U....if.(
d540 21 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 2d 3e 66 6c 6f 61 74 69 6e 67 29 20 7b 20 73 65 74 5f !wm.sel_client->floating).{.set_
d560 66 6c 6f 61 74 69 6e 67 28 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 2c 20 74 72 75 65 2c 20 66 61 floating(wm.sel_client,.true,.fa
d580 6c 73 65 29 3b 20 74 69 6c 65 28 77 6d f5 18 00 00 01 06 00 00 00 00 00 00 00 00 00 00 00 00 f5 lse);.tile(wm...................
d5a0 18 00 00 00 e1 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 30 20 20 69 66 20 28 21 77 6d 2e 73 ....................0..if.(!wm.s
d5c0 65 6c 5f 63 6c 69 65 6e 74 29 20 7b 20 63 20 3d 20 66 69 72 73 74 5f 66 6c 6f 61 74 28 73 29 3b el_client).{.c.=.first_float(s);
d5e0 20 69 66 20 28 f5 18 00 00 00 e2 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 d6 00 00 00 .if.(...........................
d600 00 00 00 00 00 00 00 00 01 00 00 00 4e 20 20 66 6f 72 20 28 63 20 3d 20 77 6c 5f 63 6f 6e 74 61 ............N..for.(c.=.wl_conta
d620 69 6e 65 72 5f 6f 66 28 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 2d 3e 74 69 6c 65 64 5f 6c 69 6e iner_of(wm.sel_client->tiled_lin
d640 6b 2e 6e 65 78 74 2c 20 63 2c 20 74 69 6c 65 64 5f 6c 69 6e 6b 29 3b 20 26 63 2d f5 18 00 00 00 k.next,.c,.tiled_link);.&c-.....
d660 d7 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 96 00 00 00 00 00 00 00 00 00 00 00 01 00 ................................
d680 00 00 20 20 20 20 20 20 20 77 6c 5f 6c 69 73 74 5f 69 6e 73 65 72 74 28 26 77 6d 2e 74 69 6c 65 .........wl_list_insert(&wm.tile
d6a0 64 2c 20 f5 18 00 00 00 97 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 00 00 d,..............................
d6c0 00 00 00 00 00 00 01 00 00 00 00 f5 18 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 35 81 f5 .............................5..
d6e0 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 96 00 00 00 20 00 00 00 00 00 00 ................................
d700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 00 00 00 f5 18 00 00 00 00 96 00 00 00 20 ................................
d720 00 00 00 00 00 00 00 00 00 00 00 40 00 00 00 4e 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 ...........@...N................
d740 00 00 00 00 09 00 00 00 00 00 00 f5 18 00 00 00 00 d6 00 00 00 4e 00 00 00 00 00 00 00 00 00 00 .....................N..........
d760 00 0b 00 00 00 30 00 00 00 00 19 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 .....0..........................
d780 00 f5 18 00 00 00 00 e1 00 00 00 30 00 00 00 00 00 00 00 00 00 00 00 24 00 00 00 55 00 00 00 00 ...........0...........$...U....
d7a0 1b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07 00 00 00 00 00 00 f5 18 00 00 00 00 05 01 00 ................................
d7c0 00 55 00 00 00 00 00 00 00 00 00 00 00 0d 00 00 00 08 00 00 00 00 22 00 00 00 00 00 00 00 00 00 .U....................".........
d7e0 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 12 01 00 00 08 00 00 00 00 00 00 00 00 ................................
d800 00 00 00 0b 00 00 00 0d 00 00 00 00 24 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 ............$...................
d820 00 00 00 f5 18 00 00 00 00 1d 01 00 00 0d 00 00 00 00 00 00 00 00 00 00 00 0e 00 00 00 12 00 00 ................................
d840 00 00 26 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 f5 18 00 00 00 00 2b ..&............................+
d860 01 00 00 12 00 00 00 00 00 00 00 00 00 00 00 1c 00 00 00 d2 01 00 00 00 29 00 00 00 00 00 00 00 ........................).......
d880 00 00 00 00 00 00 00 00 05 00 00 00 00 00 00 f5 18 00 00 00 00 47 01 00 00 d2 01 00 00 00 00 00 .....................G..........
d8a0 00 00 00 00 00 02 00 00 00 dc 00 00 00 00 2e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 ................................
d8c0 00 00 00 00 00 f5 18 00 00 00 00 49 01 00 00 dc 00 00 00 00 00 00 00 00 00 00 00 06 00 00 00 15 ...........I....................
d8e0 00 00 00 00 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 ..../...........................
d900 00 4f 01 00 00 15 00 00 00 00 00 00 00 00 00 00 00 0a 00 00 00 1e 00 00 00 00 31 00 00 00 00 00 .O........................1.....
d920 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 59 01 00 00 1e 00 00 00 00 .......................Y........
d940 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 33 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1a ................3...............
d960 00 00 00 00 00 00 00 f5 18 00 00 00 00 5b 01 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 .............[..................
d980 00 00 00 00 00 19 33 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 35 81 5f ......3......................5._
d9a0 d0 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 09 00 00 01 5c 00 00 00 00 00 00 00 ........................\.......
d9c0 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
d9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
da00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
da20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
da40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
da60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
da80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
daa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
dac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
dae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
db00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
db20 00 00 00 69 95 6a 4b 04 01 00 00 00 06 00 f5 18 00 00 00 00 00 00 02 13 00 00 01 5c 00 00 01 59 ...i.jK....................\...Y
db40 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 69 67 6e 61 6c 2e 68 3e 00 00 00 12 23 69 6e 63 6c ....#include.<signal.h>....#incl
db60 75 64 65 20 3c 73 74 64 69 6f 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 6c 69 ude.<stdio.h>....#include.<stdli
db80 62 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 75 6e 69 73 74 64 2e 68 3e 00 00 00 10 23 b.h>....#include.<unistd.h>....#
dba0 69 6e 63 6c 75 64 65 20 3c 73 77 63 2e 68 3e 00 00 00 1b 23 69 6e 63 6c 75 64 65 20 3c 77 61 79 include.<swc.h>....#include.<way
dbc0 6c 61 6e 64 2d 73 65 72 76 65 72 2e 68 3e 00 00 00 19 23 69 6e 63 6c 75 64 65 20 3c 77 61 79 6c land-server.h>....#include.<wayl
dbe0 61 6e 64 2d 75 74 69 6c 2e 68 3e 00 00 00 28 23 69 6e 63 6c 75 64 65 20 3c 78 6b 62 63 6f 6d 6d and-util.h>...(#include.<xkbcomm
dc00 6f 6e 2f 78 6b 62 63 6f 6d 6d 6f 6e 2d 6b 65 79 73 79 6d 73 2e 68 3e 00 00 00 13 23 69 6e 63 6c on/xkbcommon-keysyms.h>....#incl
dc20 75 64 65 20 22 63 6f 6e 66 69 67 2e 68 22 00 00 00 12 23 69 6e 63 6c 75 64 65 20 22 74 79 70 65 ude."config.h"....#include."type
dc40 73 2e 68 22 00 00 00 11 23 69 6e 63 6c 75 64 65 20 22 75 74 69 6c 2e 68 22 00 00 00 12 23 69 6e s.h"....#include."util.h"....#in
dc60 63 6c 75 64 65 20 22 77 73 78 77 6d 2e 68 22 00 00 00 00 00 00 00 30 73 74 61 74 69 63 20 76 6f clude."wsxwm.h".......0static.vo
dc80 69 64 20 66 6f 63 75 73 28 73 74 72 75 63 74 20 63 6c 69 65 6e 74 20 2a 63 2c 20 62 6f 6f 6c 20 id.focus(struct.client.*c,.bool.
dca0 72 61 69 73 65 29 3b 00 00 00 2a 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 73 63 72 65 65 6e raise);...*static.void.on_screen
dcc0 5f 64 65 73 74 72 6f 79 28 76 6f 69 64 20 2a 64 61 74 61 29 3b 00 00 00 3a 73 74 61 74 69 63 20 _destroy(void.*data);...:static.
dce0 76 6f 69 64 20 6f 6e 5f 73 63 72 65 65 6e 5f 75 73 61 62 6c 65 5f 67 65 6f 6d 65 74 72 79 5f 63 void.on_screen_usable_geometry_c
dd00 68 61 6e 67 65 64 28 76 6f 69 64 20 2a 64 61 74 61 29 3b 00 00 00 27 73 74 61 74 69 63 20 76 6f hanged(void.*data);...'static.vo
dd20 69 64 20 6f 6e 5f 77 69 6e 5f 64 65 73 74 72 6f 79 28 76 6f 69 64 20 2a 64 61 74 61 29 3b 00 00 id.on_win_destroy(void.*data);..
dd40 00 27 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 77 69 6e 5f 65 6e 74 65 72 65 64 28 76 6f 69 .'static.void.on_win_entered(voi
dd60 64 20 2a 64 61 74 61 29 3b 00 00 00 18 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 74 75 70 28 76 d.*data);....static.void.setup(v
dd80 6f 69 64 29 3b 00 00 00 1e 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 74 75 70 5f 62 69 6e 64 73 oid);....static.void.setup_binds
dda0 28 76 6f 69 64 29 3b 00 00 00 46 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 74 5f 66 6c 6f 61 74 (void);...Fstatic.void.set_float
ddc0 69 6e 67 28 73 74 72 75 63 74 20 63 6c 69 65 6e 74 20 2a 63 2c 20 62 6f 6f 6c 20 66 6c 6f 61 74 ing(struct.client.*c,.bool.float
dde0 69 6e 67 2c 20 62 6f 6f 6c 20 72 61 69 73 65 29 3b 00 00 00 23 73 74 61 74 69 63 20 76 6f 69 64 ing,.bool.raise);...#static.void
de00 20 74 69 6c 65 28 73 74 72 75 63 74 20 73 63 72 65 65 6e 20 2a 73 29 3b 00 00 00 00 00 00 00 21 .tile(struct.screen.*s);.......!
de20 73 74 61 74 69 63 20 75 69 6e 74 33 32 5f 74 20 6d 61 73 74 65 72 5f 77 69 64 74 68 20 3d 20 30 static.uint32_t.master_width.=.0
de40 3b 00 00 00 00 00 00 00 0d 73 74 72 75 63 74 20 77 6d 20 77 6d 3b 00 00 00 00 00 00 00 24 63 6f ;........struct.wm.wm;.......$co
de60 6e 73 74 20 73 74 72 75 63 74 20 73 77 63 5f 6d 61 6e 61 67 65 72 20 6d 61 6e 61 67 65 72 20 3d nst.struct.swc_manager.manager.=
de80 20 7b 00 00 00 1d 20 20 20 20 2e 6e 65 77 5f 73 63 72 65 65 6e 20 3d 20 6e 65 77 5f 73 63 72 65 .{.........new_screen.=.new_scre
dea0 65 6e 2c 00 00 00 1d 20 20 20 20 2e 6e 65 77 5f 77 69 6e 64 6f 77 20 3d 20 6e 65 77 5f 77 69 6e en,.........new_window.=.new_win
dec0 64 6f 77 2c 00 00 00 1d 20 20 20 20 2e 6e 65 77 5f 64 65 76 69 63 65 20 3d 20 6e 65 77 5f 64 65 dow,.........new_device.=.new_de
dee0 76 69 63 65 2c 00 00 00 15 20 20 20 20 2e 73 65 61 74 5f 76 65 72 73 69 6f 6e 20 3d 20 33 00 00 vice,.........seat_version.=.3..
df00 00 02 7d 3b 00 00 00 00 00 00 00 2c 73 74 72 75 63 74 20 73 77 63 5f 77 69 6e 64 6f 77 5f 68 61 ..};.......,struct.swc_window_ha
df20 6e 64 6c 65 72 20 77 69 6e 64 6f 77 5f 68 61 6e 64 6c 65 72 20 3d 20 7b 00 00 00 1e 20 20 20 20 ndler.window_handler.=.{........
df40 2e 64 65 73 74 72 6f 79 20 3d 20 6f 6e 5f 77 69 6e 5f 64 65 73 74 72 6f 79 2c 00 00 00 1e 20 20 .destroy.=.on_win_destroy,......
df60 20 20 2e 65 6e 74 65 72 65 64 20 3d 20 6f 6e 5f 77 69 6e 5f 65 6e 74 65 72 65 64 2c 00 00 00 02 ...entered.=.on_win_entered,....
df80 7d 3b 00 00 00 00 00 00 00 2c 73 74 72 75 63 74 20 73 77 63 5f 73 63 72 65 65 6e 5f 68 61 6e 64 };.......,struct.swc_screen_hand
dfa0 6c 65 72 20 73 63 72 65 65 6e 5f 68 61 6e 64 6c 65 72 20 3d 20 7b 00 00 00 21 20 20 20 20 2e 64 ler.screen_handler.=.{...!.....d
dfc0 65 73 74 72 6f 79 20 3d 20 6f 6e 5f 73 63 72 65 65 6e 5f 64 65 73 74 72 6f 79 2c 00 00 00 41 20 estroy.=.on_screen_destroy,...A.
dfe0 20 20 20 2e 75 73 61 62 6c 65 5f 67 65 6f 6d 65 74 72 79 5f 63 68 61 6e 67 65 64 20 3d 20 6f 6e ....usable_geometry_changed.=.on
e000 5f 73 63 72 65 65 6e 5f 75 73 61 62 6c 65 5f 67 65 6f 6d 65 74 72 79 5f 63 68 61 6e 67 65 64 2c _screen_usable_geometry_changed,
e020 00 00 00 02 7d 3b 00 00 00 00 00 00 00 31 73 74 61 74 69 63 20 76 6f 69 64 20 66 6f 63 75 73 28 ....};.......1static.void.focus(
e040 73 74 72 75 63 74 20 63 6c 69 65 6e 74 20 2a 63 2c 20 62 6f 6f 6c 20 72 61 69 73 65 29 20 7b 00 struct.client.*c,.bool.raise).{.
e060 00 00 14 20 20 69 66 20 28 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 29 00 00 00 57 20 20 20 20 73 .....if.(wm.sel_client)...W....s
e080 77 63 5f 77 69 6e 64 6f 77 5f 73 65 74 5f 62 6f 72 64 65 72 28 77 6d 2e 73 65 6c 5f 63 6c 69 65 wc_window_set_border(wm.sel_clie
e0a0 6e 74 2d 3e 77 69 6e 2c 20 63 66 67 2e 62 6f 72 64 65 72 5f 63 6f 6c 5f 6e 6f 72 6d 61 6c 2c 20 nt->win,.cfg.border_col_normal,.
e0c0 63 66 67 2e 62 6f 72 64 65 72 5f 77 69 64 74 68 29 3b 00 00 00 08 20 20 69 66 20 28 63 29 00 00 cfg.border_width);......if.(c)..
e0e0 00 4b 20 20 20 20 73 77 63 5f 77 69 6e 64 6f 77 5f 73 65 74 5f 62 6f 72 64 65 72 28 63 2d 3e 77 .K....swc_window_set_border(c->w
e100 69 6e 2c 20 63 66 67 2e 62 6f 72 64 65 72 5f 63 6f 6c 5f 61 63 74 69 76 65 2c 20 63 66 67 2e 62 in,.cfg.border_col_active,.cfg.b
e120 6f 72 64 65 72 5f 77 69 64 74 68 29 3b 00 00 00 20 20 20 69 66 20 28 72 61 69 73 65 20 26 26 20 order_width);......if.(raise.&&.
e140 63 20 26 26 20 63 2d 3e 66 6c 6f 61 74 69 6e 67 29 00 00 00 20 20 20 20 20 73 65 74 5f 66 6c 6f c.&&.c->floating)........set_flo
e160 61 74 69 6e 67 28 63 2c 20 74 72 75 65 2c 20 74 72 75 65 29 3b 00 00 00 26 20 20 73 77 63 5f 77 ating(c,.true,.true);...&..swc_w
e180 69 6e 64 6f 77 5f 66 6f 63 75 73 28 63 20 3f 20 63 2d 3e 77 69 6e 20 3a 20 4e 55 4c 4c 29 3b 00 indow_focus(c.?.c->win.:.NULL);.
e1a0 00 00 14 20 20 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 20 3d 20 63 3b 00 00 00 01 7d 00 00 00 00 .....wm.sel_client.=.c;....}....
e1c0 00 00 00 2b 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 73 63 72 65 65 6e 5f 64 65 73 74 72 6f ...+static.void.on_screen_destro
e1e0 79 28 76 6f 69 64 20 2a 64 61 74 61 29 20 7b 00 00 00 1a 20 20 73 74 72 75 63 74 20 73 63 72 65 y(void.*data).{......struct.scre
e200 65 6e 20 2a 73 20 3d 20 64 61 74 61 3b 00 00 00 11 20 20 69 66 20 28 21 73 29 20 72 65 74 75 72 en.*s.=.data;......if.(!s).retur
e220 6e 3b 00 00 00 1b 20 20 77 6c 5f 6c 69 73 74 5f 72 65 6d 6f 76 65 28 26 73 2d 3e 6c 69 6e 6b 29 n;......wl_list_remove(&s->link)
e240 3b 00 00 00 1b 20 20 69 66 20 28 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 20 3d 3d 20 73 29 20 7b ;......if.(wm.sel_screen.==.s).{
e260 00 00 00 23 20 20 20 20 69 66 20 28 77 6c 5f 6c 69 73 74 5f 65 6d 70 74 79 28 26 77 6d 2e 73 63 ...#....if.(wl_list_empty(&wm.sc
e280 72 65 65 6e 73 29 29 00 00 00 1b 20 20 20 20 20 20 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 20 3d reens))..........wm.sel_screen.=
e2a0 20 4e 55 4c 4c 3b 00 00 00 08 20 20 20 20 65 6c 73 65 00 00 00 4c 20 20 20 20 20 20 77 6d 2e 73 .NULL;........else...L......wm.s
e2c0 65 6c 5f 73 63 72 65 65 6e 20 3d 20 77 6c 5f 63 6f 6e 74 61 69 6e 65 72 5f 6f 66 28 77 6d 2e 73 el_screen.=.wl_container_of(wm.s
e2e0 63 72 65 65 6e 73 2e 6e 65 78 74 2c 20 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 2c 20 6c 69 6e 6b creens.next,.wm.sel_screen,.link
e300 29 3b 00 00 00 03 20 20 7d 00 00 00 0a 20 20 66 72 65 65 28 73 29 3b 00 00 00 01 7d 00 00 00 00 );......}......free(s);....}....
e320 00 00 00 3b 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 73 63 72 65 65 6e 5f 75 73 61 62 6c 65 ...;static.void.on_screen_usable
e340 5f 67 65 6f 6d 65 74 72 79 5f 63 68 61 6e 67 65 64 28 76 6f 69 64 20 2a 64 61 74 61 29 20 7b 00 _geometry_changed(void.*data).{.
e360 00 00 1a 20 20 73 74 72 75 63 74 20 73 63 72 65 65 6e 20 2a 73 20 3d 20 64 61 74 61 3b 00 00 00 .....struct.screen.*s.=.data;...
e380 0a 20 20 74 69 6c 65 28 73 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 28 73 74 61 74 69 63 20 76 ...tile(s);....}.......(static.v
e3a0 6f 69 64 20 6f 6e 5f 77 69 6e 5f 64 65 73 74 72 6f 79 28 76 6f 69 64 20 2a 64 61 74 61 29 20 7b oid.on_win_destroy(void.*data).{
e3c0 00 00 00 1a 20 20 73 74 72 75 63 74 20 63 6c 69 65 6e 74 20 2a 63 20 3d 20 64 61 74 61 3b 00 00 ......struct.client.*c.=.data;..
e3e0 00 16 20 20 73 74 72 75 63 74 20 63 6c 69 65 6e 74 20 2a 6e 65 78 74 3b 00 00 00 11 20 20 69 66 ....struct.client.*next;......if
e400 20 28 21 63 29 20 72 65 74 75 72 6e 3b 00 00 00 29 20 20 69 66 20 28 77 6d 2e 67 72 61 62 2e 61 .(!c).return;...)..if.(wm.grab.a
e420 63 74 69 76 65 20 26 26 20 77 6d 2e 67 72 61 62 2e 63 20 3d 3d 20 63 29 20 7b 00 00 00 1b 20 20 ctive.&&.wm.grab.c.==.c).{......
e440 20 20 77 6d 2e 67 72 61 62 2e 61 63 74 69 76 65 20 3d 20 66 61 6c 73 65 3b 00 00 00 15 20 20 20 ..wm.grab.active.=.false;.......
e460 20 77 6d 2e 67 72 61 62 2e 63 20 3d 20 4e 55 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 12 20 20 69 .wm.grab.c.=.NULL;......}......i
e480 66 20 28 63 2d 3e 66 6c 6f 61 74 69 6e 67 29 00 00 00 23 20 20 20 20 77 6c 5f 6c 69 73 74 5f 72 f.(c->floating)...#....wl_list_r
e4a0 65 6d 6f 76 65 28 26 63 2d 3e 66 6c 6f 61 74 5f 6c 69 6e 6b 29 3b 00 00 00 06 20 20 65 6c 73 65 emove(&c->float_link);......else
e4c0 00 00 00 23 20 20 20 20 77 6c 5f 6c 69 73 74 5f 72 65 6d 6f 76 65 28 26 63 2d 3e 74 69 6c 65 64 ...#....wl_list_remove(&c->tiled
e4e0 5f 6c 69 6e 6b 29 3b 00 00 00 1b 20 20 69 66 20 28 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 20 3d _link);......if.(wm.sel_client.=
e500 3d 20 63 29 20 7b 00 00 00 19 20 20 20 20 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 20 3d 20 4e 55 =.c).{........wm.sel_client.=.NU
e520 4c 4c 3b 00 00 00 1f 20 20 20 20 6e 65 78 74 20 3d 20 66 69 72 73 74 5f 66 6c 6f 61 74 28 63 2d LL;........next.=.first_float(c-
e540 3e 73 63 72 29 3b 00 00 00 0e 20 20 20 20 69 66 20 28 21 6e 65 78 74 29 00 00 00 21 20 20 20 20 >scr);........if.(!next)...!....
e560 20 20 6e 65 78 74 20 3d 20 66 69 72 73 74 5f 74 69 6c 65 64 28 63 2d 3e 73 63 72 29 3b 00 00 00 ..next.=.first_tiled(c->scr);...
e580 16 20 20 20 20 66 6f 63 75 73 28 6e 65 78 74 2c 20 74 72 75 65 29 3b 00 00 00 03 20 20 7d 00 00 .....focus(next,.true);......}..
e5a0 00 0f 20 20 74 69 6c 65 28 63 2d 3e 73 63 72 29 3b 00 00 00 0a 20 20 66 72 65 65 28 63 29 3b 00 ....tile(c->scr);......free(c);.
e5c0 00 00 01 7d 00 00 00 00 00 00 00 28 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 77 69 6e 5f 65 ...}.......(static.void.on_win_e
e5e0 6e 74 65 72 65 64 28 76 6f 69 64 20 2a 64 61 74 61 29 20 7b 00 00 00 1d 20 20 69 66 20 28 77 6d ntered(void.*data).{......if.(wm
e600 2e 67 72 61 62 2e 61 63 74 69 76 65 29 20 72 65 74 75 72 6e 3b 00 00 00 1a 20 20 73 74 72 75 63 .grab.active).return;......struc
e620 74 20 63 6c 69 65 6e 74 20 2a 63 20 3d 20 64 61 74 61 3b 00 00 00 11 20 20 66 6f 63 75 73 28 63 t.client.*c.=.data;......focus(c
e640 2c 20 74 72 75 65 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 19 73 74 61 74 69 63 20 76 6f 69 64 ,.true);....}........static.void
e660 20 73 65 74 75 70 28 76 6f 69 64 29 20 7b 00 00 00 1f 20 20 77 6d 2e 64 70 79 20 3d 20 77 6c 5f .setup(void).{......wm.dpy.=.wl_
e680 64 69 73 70 6c 61 79 5f 63 72 65 61 74 65 28 29 3b 00 00 00 3d 20 20 69 66 20 28 21 77 6d 2e 64 display_create();...=..if.(!wm.d
e6a0 70 79 29 20 64 69 65 28 45 58 49 54 5f 46 41 49 4c 55 52 45 2c 20 22 77 6c 5f 64 69 73 70 6c 61 py).die(EXIT_FAILURE,."wl_displa
e6c0 79 5f 63 72 65 61 74 65 20 66 61 69 6c 65 64 22 29 3b 00 00 00 1c 20 20 77 6c 5f 6c 69 73 74 5f y_create.failed");......wl_list_
e6e0 69 6e 69 74 28 26 77 6d 2e 73 63 72 65 65 6e 73 29 3b 00 00 00 1a 20 20 77 6c 5f 6c 69 73 74 5f init(&wm.screens);......wl_list_
e700 69 6e 69 74 28 26 77 6d 2e 74 69 6c 65 64 29 3b 00 00 00 1d 20 20 77 6c 5f 6c 69 73 74 5f 69 6e init(&wm.tiled);......wl_list_in
e720 69 74 28 26 77 6d 2e 66 6c 6f 61 74 69 6e 67 29 3b 00 00 00 17 20 20 77 6d 2e 73 65 6c 5f 63 6c it(&wm.floating);......wm.sel_cl
e740 69 65 6e 74 20 3d 20 4e 55 4c 4c 3b 00 00 00 17 20 20 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 20 ient.=.NULL;......wm.sel_screen.
e760 3d 20 4e 55 4c 4c 3b 00 00 00 19 20 20 77 6d 2e 67 72 61 62 2e 61 63 74 69 76 65 20 3d 20 66 61 =.NULL;......wm.grab.active.=.fa
e780 6c 73 65 3b 00 00 00 19 20 20 77 6d 2e 67 72 61 62 2e 72 65 73 69 7a 65 20 3d 20 66 61 6c 73 65 lse;......wm.grab.resize.=.false
e7a0 3b 00 00 00 13 20 20 77 6d 2e 67 72 61 62 2e 63 20 3d 20 4e 55 4c 4c 3b 00 00 00 31 20 20 77 6d ;......wm.grab.c.=.NULL;...1..wm
e7c0 2e 65 76 5f 6c 6f 6f 70 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 65 76 65 6e 74 5f .ev_loop.=.wl_display_get_event_
e7e0 6c 6f 6f 70 28 77 6d 2e 64 70 79 29 3b 00 00 00 34 20 20 69 66 20 28 21 73 77 63 5f 69 6e 69 74 loop(wm.dpy);...4..if.(!swc_init
e800 69 61 6c 69 7a 65 28 77 6d 2e 64 70 79 2c 20 77 6d 2e 65 76 5f 6c 6f 6f 70 2c 20 26 6d 61 6e 61 ialize(wm.dpy,.wm.ev_loop,.&mana
e820 67 65 72 29 29 00 00 00 31 20 20 20 20 64 69 65 28 45 58 49 54 5f 46 41 49 4c 55 52 45 2c 20 22 ger))...1....die(EXIT_FAILURE,."
e840 73 77 63 5f 69 6e 69 74 69 61 6c 69 7a 65 20 66 61 69 6c 65 64 5c 6e 22 29 3b 00 00 00 10 20 20 swc_initialize.failed\n");......
e860 73 65 74 75 70 5f 62 69 6e 64 73 28 29 3b 00 00 00 38 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a setup_binds();...8..const.char.*
e880 73 6f 63 6b 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 61 64 64 5f 73 6f 63 6b 65 74 5f 61 75 74 sock.=.wl_display_add_socket_aut
e8a0 6f 28 77 6d 2e 64 70 79 29 3b 00 00 00 46 20 20 69 66 20 28 21 73 6f 63 6b 29 20 64 69 65 28 45 o(wm.dpy);...F..if.(!sock).die(E
e8c0 58 49 54 5f 46 41 49 4c 55 52 45 2c 20 22 77 6c 5f 64 69 73 70 6c 61 79 5f 61 64 64 5f 73 6f 63 XIT_FAILURE,."wl_display_add_soc
e8e0 6b 65 74 5f 61 75 74 6f 20 66 61 69 6c 65 64 5c 6e 22 29 3b 00 00 00 25 20 20 73 65 74 65 6e 76 ket_auto.failed\n");...%..setenv
e900 28 22 57 41 59 4c 41 4e 44 5f 44 49 53 50 4c 41 59 22 2c 20 73 6f 63 6b 2c 20 31 29 3b 00 00 00 ("WAYLAND_DISPLAY",.sock,.1);...
e920 2d 20 20 5f 6c 6f 67 28 73 74 64 65 72 72 2c 20 22 57 41 59 4c 41 4e 44 5f 44 49 53 50 4c 41 59 -.._log(stderr,."WAYLAND_DISPLAY
e940 3d 25 73 5c 6e 22 2c 20 73 6f 63 6b 29 3b 00 00 00 1e 20 20 73 69 67 6e 61 6c 28 53 49 47 49 4e =%s\n",.sock);......signal(SIGIN
e960 54 2c 20 73 69 67 5f 68 61 6e 64 6c 65 72 29 3b 00 00 00 1f 20 20 73 69 67 6e 61 6c 28 53 49 47 T,.sig_handler);......signal(SIG
e980 54 45 52 4d 2c 20 73 69 67 5f 68 61 6e 64 6c 65 72 29 3b 00 00 00 1f 20 20 73 69 67 6e 61 6c 28 TERM,.sig_handler);......signal(
e9a0 53 49 47 51 55 49 54 2c 20 73 69 67 5f 68 61 6e 64 6c 65 72 29 3b 00 00 00 1f 20 20 73 77 63 5f SIGQUIT,.sig_handler);......swc_
e9c0 65 6e 61 62 6c 65 5f 78 64 67 5f 73 68 65 6c 6c 28 77 6d 2e 64 70 79 29 3b 00 00 00 01 7d 00 00 enable_xdg_shell(wm.dpy);....}..
e9e0 00 00 00 00 00 1f 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 74 75 70 5f 62 69 6e 64 73 28 76 6f ......static.void.setup_binds(vo
ea00 69 64 29 20 7b 00 00 00 2e 20 20 66 6f 72 20 28 73 69 7a 65 5f 74 20 69 20 3d 20 30 3b 20 69 20 id).{......for.(size_t.i.=.0;.i.
ea20 3c 20 4c 45 4e 47 54 48 28 62 69 6e 64 73 29 3b 20 69 2b 2b 29 20 7b 00 00 00 25 20 20 20 20 63 <.LENGTH(binds);.i++).{...%....c
ea40 6f 6e 73 74 20 73 74 72 75 63 74 20 62 69 6e 64 20 2a 62 20 3d 20 26 62 69 6e 64 73 5b 69 5d 3b onst.struct.bind.*b.=.&binds[i];
ea60 00 00 00 47 20 20 20 20 73 77 63 5f 61 64 64 5f 62 69 6e 64 69 6e 67 28 62 2d 3e 74 79 70 65 2c ...G....swc_add_binding(b->type,
ea80 20 62 2d 3e 6d 6f 64 73 2c 20 62 2d 3e 6b 73 79 6d 2c 20 62 2d 3e 66 6e 2c 20 28 76 6f 69 64 20 .b->mods,.b->ksym,.b->fn,.(void.
eaa0 2a 29 26 62 2d 3e 61 72 67 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 47 73 *)&b->arg);......}....}.......Gs
eac0 74 61 74 69 63 20 76 6f 69 64 20 73 65 74 5f 66 6c 6f 61 74 69 6e 67 28 73 74 72 75 63 74 20 63 tatic.void.set_floating(struct.c
eae0 6c 69 65 6e 74 20 2a 63 2c 20 62 6f 6f 6c 20 66 6c 6f 61 74 69 6e 67 2c 20 62 6f 6f 6c 20 72 61 lient.*c,.bool.floating,.bool.ra
eb00 69 73 65 29 20 7b 00 00 00 11 20 20 69 66 20 28 21 63 29 20 72 65 74 75 72 6e 3b 00 00 00 11 20 ise).{......if.(!c).return;.....
eb20 20 69 66 20 28 66 6c 6f 61 74 69 6e 67 29 20 7b 00 00 00 17 20 20 20 20 69 66 20 28 21 63 2d 3e .if.(floating).{........if.(!c->
eb40 66 6c 6f 61 74 69 6e 67 29 20 7b 00 00 00 19 20 20 20 20 20 20 63 2d 3e 66 6c 6f 61 74 69 6e 67 floating).{..........c->floating
eb60 20 3d 20 74 72 75 65 3b 00 00 00 25 20 20 20 20 20 20 77 6c 5f 6c 69 73 74 5f 72 65 6d 6f 76 65 .=.true;...%......wl_list_remove
eb80 28 26 63 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 29 3b 00 00 00 33 20 20 20 20 20 20 77 6c 5f 6c 69 (&c->tiled_link);...3......wl_li
eba0 73 74 5f 69 6e 73 65 72 74 28 26 77 6d 2e 66 6c 6f 61 74 69 6e 67 2c 20 26 63 2d 3e 66 6c 6f 61 st_insert(&wm.floating,.&c->floa
ebc0 74 5f 6c 69 6e 6b 29 3b 00 00 00 17 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 72 61 69 73 65 t_link);........}.else.if.(raise
ebe0 29 20 7b 00 00 00 25 20 20 20 20 20 20 77 6c 5f 6c 69 73 74 5f 72 65 6d 6f 76 65 28 26 63 2d 3e ).{...%......wl_list_remove(&c->
ec00 66 6c 6f 61 74 5f 6c 69 6e 6b 29 3b 00 00 00 33 20 20 20 20 20 20 77 6c 5f 6c 69 73 74 5f 69 6e float_link);...3......wl_list_in
ec20 73 65 72 74 28 26 77 6d 2e 66 6c 6f 61 74 69 6e 67 2c 20 26 63 2d 3e 66 6c 6f 61 74 5f 6c 69 6e sert(&wm.floating,.&c->float_lin
ec40 6b 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 23 20 20 20 20 73 77 63 5f 77 69 6e 64 6f 77 5f 73 k);........}...#....swc_window_s
ec60 65 74 5f 73 74 61 63 6b 65 64 28 63 2d 3e 77 69 6e 29 3b 00 00 00 0a 20 20 7d 20 65 6c 73 65 20 et_stacked(c->win);......}.else.
ec80 7b 00 00 00 16 20 20 20 20 69 66 20 28 63 2d 3e 66 6c 6f 61 74 69 6e 67 29 20 7b 00 00 00 1a 20 {........if.(c->floating).{.....
eca0 20 20 20 20 20 63 2d 3e 66 6c 6f 61 74 69 6e 67 20 3d 20 66 61 6c 73 65 3b 00 00 00 25 20 20 20 .....c->floating.=.false;...%...
ecc0 20 20 20 77 6c 5f 6c 69 73 74 5f 72 65 6d 6f 76 65 28 26 63 2d 3e 66 6c 6f 61 74 5f 6c 69 6e 6b ...wl_list_remove(&c->float_link
ece0 29 3b 00 00 00 30 20 20 20 20 20 20 77 6c 5f 6c 69 73 74 5f 69 6e 73 65 72 74 28 26 77 6d 2e 74 );...0......wl_list_insert(&wm.t
ed00 69 6c 65 64 2c 20 26 63 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 29 3b 00 00 00 05 20 20 20 20 7d 00 iled,.&c->tiled_link);........}.
ed20 00 00 21 20 20 20 20 73 77 63 5f 77 69 6e 64 6f 77 5f 73 65 74 5f 74 69 6c 65 64 28 63 2d 3e 77 ..!....swc_window_set_tiled(c->w
ed40 69 6e 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 24 73 74 61 74 69 63 20 76 in);......}....}.......$static.v
ed60 6f 69 64 20 74 69 6c 65 28 73 74 72 75 63 74 20 73 63 72 65 65 6e 20 2a 73 29 20 7b 00 00 00 13 oid.tile(struct.screen.*s).{....
ed80 20 20 73 74 72 75 63 74 20 63 6c 69 65 6e 74 20 2a 63 3b 00 00 00 1c 20 20 73 74 72 75 63 74 20 ..struct.client.*c;......struct.
eda0 73 77 63 5f 72 65 63 74 61 6e 67 6c 65 20 67 65 6f 6d 3b 00 00 00 21 20 20 73 74 72 75 63 74 20 swc_rectangle.geom;...!..struct.
edc0 73 77 63 5f 72 65 63 74 61 6e 67 6c 65 20 2a 73 63 72 5f 67 65 6f 6d 3b 00 00 00 31 20 20 69 6e swc_rectangle.*scr_geom;...1..in
ede0 74 33 32 5f 74 20 6f 75 74 5f 67 61 70 73 20 3d 20 63 66 67 2e 67 61 70 73 20 2b 20 63 66 67 2e t32_t.out_gaps.=.cfg.gaps.+.cfg.
ee00 62 6f 72 64 65 72 5f 77 69 64 74 68 3b 00 00 00 36 20 20 69 6e 74 33 32 5f 74 20 69 6e 5f 67 61 border_width;...6..int32_t.in_ga
ee20 70 73 20 3d 20 63 66 67 2e 67 61 70 73 20 2b 20 28 63 66 67 2e 62 6f 72 64 65 72 5f 77 69 64 74 ps.=.cfg.gaps.+.(cfg.border_widt
ee40 68 20 2a 20 32 29 3b 00 00 00 0f 20 20 69 6e 74 33 32 5f 74 20 78 2c 20 79 3b 00 00 00 10 20 20 h.*.2);......int32_t.x,.y;......
ee60 75 69 6e 74 33 32 5f 74 20 77 2c 20 68 3b 00 00 00 11 20 20 69 66 20 28 21 73 29 20 72 65 74 75 uint32_t.w,.h;......if.(!s).retu
ee80 72 6e 3b 00 00 00 26 20 20 73 63 72 5f 67 65 6f 6d 20 3d 20 26 73 2d 3e 73 63 72 2d 3e 75 73 61 rn;...&..scr_geom.=.&s->scr->usa
eea0 62 6c 65 5f 67 65 6f 6d 65 74 72 79 3b 00 00 00 0f 20 20 73 69 7a 65 5f 74 20 6e 20 3d 20 30 3b ble_geometry;......size_t.n.=.0;
eec0 00 00 00 45 20 20 77 6c 5f 6c 69 73 74 5f 66 6f 72 5f 65 61 63 68 28 63 2c 20 26 77 6d 2e 74 69 ...E..wl_list_for_each(c,.&wm.ti
eee0 6c 65 64 2c 20 74 69 6c 65 64 5f 6c 69 6e 6b 29 20 69 66 20 28 69 73 5f 74 69 6c 65 64 28 63 2c led,.tiled_link).if.(is_tiled(c,
ef00 20 73 29 29 20 6e 2b 2b 3b 00 00 00 15 20 20 69 66 20 28 6e 20 3d 3d 20 30 29 20 72 65 74 75 72 .s)).n++;......if.(n.==.0).retur
ef20 6e 3b 00 00 00 1d 20 20 78 20 3d 20 73 63 72 5f 67 65 6f 6d 2d 3e 78 20 2b 20 6f 75 74 5f 67 61 n;......x.=.scr_geom->x.+.out_ga
ef40 70 73 3b 00 00 00 1d 20 20 79 20 3d 20 73 63 72 5f 67 65 6f 6d 2d 3e 79 20 2b 20 6f 75 74 5f 67 ps;......y.=.scr_geom->y.+.out_g
ef60 61 70 73 3b 00 00 00 27 20 20 77 20 3d 20 73 63 72 5f 67 65 6f 6d 2d 3e 77 69 64 74 68 20 2d 20 aps;...'..w.=.scr_geom->width.-.
ef80 28 6f 75 74 5f 67 61 70 73 20 2a 20 32 29 3b 00 00 00 28 20 20 68 20 3d 20 73 63 72 5f 67 65 6f (out_gaps.*.2);...(..h.=.scr_geo
efa0 6d 2d 3e 68 65 69 67 68 74 20 2d 20 28 6f 75 74 5f 67 61 70 73 20 2a 20 32 29 3b 00 00 00 0f 20 m->height.-.(out_gaps.*.2);.....
efc0 20 69 66 20 28 6e 20 3d 3d 20 31 29 20 7b 00 00 00 30 20 20 20 20 77 6c 5f 6c 69 73 74 5f 66 6f .if.(n.==.1).{...0....wl_list_fo
efe0 72 5f 65 61 63 68 28 63 2c 20 26 77 6d 2e 74 69 6c 65 64 2c 20 74 69 6c 65 64 5f 6c 69 6e 6b 29 r_each(c,.&wm.tiled,.tiled_link)
f000 20 7b 00 00 00 24 20 20 20 20 20 20 69 66 20 28 21 69 73 5f 74 69 6c 65 64 28 63 2c 20 73 29 29 .{...$......if.(!is_tiled(c,.s))
f020 20 63 6f 6e 74 69 6e 75 65 3b 00 00 00 3e 20 20 20 20 20 20 67 65 6f 6d 2e 78 20 3d 20 78 3b 20 .continue;...>......geom.x.=.x;.
f040 67 65 6f 6d 2e 79 20 3d 20 79 3b 20 67 65 6f 6d 2e 77 69 64 74 68 20 3d 20 77 3b 20 67 65 6f 6d geom.y.=.y;.geom.width.=.w;.geom
f060 2e 68 65 69 67 68 74 20 3d 20 68 3b 00 00 00 2d 20 20 20 20 20 20 73 77 63 5f 77 69 6e 64 6f 77 .height.=.h;...-......swc_window
f080 5f 73 65 74 5f 67 65 6f 6d 65 74 72 79 28 63 2d 3e 77 69 6e 2c 20 26 67 65 6f 6d 29 3b 00 00 00 _set_geometry(c->win,.&geom);...
f0a0 0d 20 20 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 .......return;........}......}..
f0c0 00 0f 20 20 73 69 7a 65 5f 74 20 69 20 3d 20 30 3b 00 00 00 2e 20 20 77 6c 5f 6c 69 73 74 5f 66 ....size_t.i.=.0;......wl_list_f
f0e0 6f 72 5f 65 61 63 68 28 63 2c 20 26 77 6d 2e 74 69 6c 65 64 2c 20 74 69 6c 65 64 5f 6c 69 6e 6b or_each(c,.&wm.tiled,.tiled_link
f100 29 20 7b 00 00 00 22 20 20 20 20 69 66 20 28 21 69 73 5f 74 69 6c 65 64 28 63 2c 20 73 29 29 20 ).{..."....if.(!is_tiled(c,.s)).
f120 63 6f 6e 74 69 6e 75 65 3b 00 00 00 1a 20 20 20 20 69 66 20 28 6d 61 73 74 65 72 5f 77 69 64 74 continue;........if.(master_widt
f140 68 20 3d 3d 20 30 29 00 00 00 3e 20 20 20 20 20 20 6d 61 73 74 65 72 5f 77 69 64 74 68 20 3d 20 h.==.0)...>......master_width.=.
f160 28 28 77 20 2d 20 69 6e 5f 67 61 70 73 29 20 2a 20 63 66 67 2e 6d 61 73 74 65 72 5f 77 69 64 74 ((w.-.in_gaps).*.cfg.master_widt
f180 68 29 20 2f 20 31 30 30 3b 00 00 00 11 20 20 20 20 69 66 20 28 69 20 3d 3d 20 30 29 20 7b 00 00 h)./.100;........if.(i.==.0).{..
f1a0 00 49 20 20 20 20 20 20 67 65 6f 6d 2e 78 20 3d 20 78 3b 20 67 65 6f 6d 2e 79 20 3d 20 79 3b 20 .I......geom.x.=.x;.geom.y.=.y;.
f1c0 67 65 6f 6d 2e 77 69 64 74 68 20 3d 20 6d 61 73 74 65 72 5f 77 69 64 74 68 3b 20 67 65 6f 6d 2e geom.width.=.master_width;.geom.
f1e0 68 65 69 67 68 74 20 3d 20 68 3b 00 00 00 0c 20 20 20 20 7d 20 65 6c 73 65 20 7b 00 00 00 1e 20 height.=.h;........}.else.{.....
f200 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 73 74 61 63 6b 6e 20 3d 20 6e 20 2d 20 31 3b 00 00 00 .....uint32_t.stackn.=.n.-.1;...
f220 1b 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 69 64 78 20 3d 20 69 20 2d 20 31 3b 00 00 00 44 .......uint32_t.idx.=.i.-.1;...D
f240 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 73 74 61 63 6b 5f 68 65 69 67 68 74 20 3d 20 28 68 ......uint32_t.stack_height.=.(h
f260 20 2d 20 69 6e 5f 67 61 70 73 20 2a 20 28 73 74 61 63 6b 6e 20 2d 20 31 29 29 20 2f 20 73 74 61 .-.in_gaps.*.(stackn.-.1))./.sta
f280 63 6b 6e 3b 00 00 00 2a 20 20 20 20 20 20 67 65 6f 6d 2e 78 20 3d 20 78 20 2b 20 6d 61 73 74 65 ckn;...*......geom.x.=.x.+.maste
f2a0 72 5f 77 69 64 74 68 20 2b 20 69 6e 5f 67 61 70 73 3b 00 00 00 34 20 20 20 20 20 20 67 65 6f 6d r_width.+.in_gaps;...4......geom
f2c0 2e 79 20 3d 20 79 20 2b 20 28 69 64 78 20 2a 20 28 73 74 61 63 6b 5f 68 65 69 67 68 74 20 2b 20 .y.=.y.+.(idx.*.(stack_height.+.
f2e0 69 6e 5f 67 61 70 73 29 29 3b 00 00 00 2e 20 20 20 20 20 20 67 65 6f 6d 2e 77 69 64 74 68 20 3d in_gaps));..........geom.width.=
f300 20 77 20 2d 20 6d 61 73 74 65 72 5f 77 69 64 74 68 20 2d 20 69 6e 5f 67 61 70 73 3b 00 00 00 21 .w.-.master_width.-.in_gaps;...!
f320 20 20 20 20 20 20 67 65 6f 6d 2e 68 65 69 67 68 74 20 3d 20 73 74 61 63 6b 5f 68 65 69 67 68 74 ......geom.height.=.stack_height
f340 3b 00 00 00 05 20 20 20 20 7d 00 00 00 2b 20 20 20 20 73 77 63 5f 77 69 6e 64 6f 77 5f 73 65 74 ;........}...+....swc_window_set
f360 5f 67 65 6f 6d 65 74 72 79 28 63 2d 3e 77 69 6e 2c 20 26 67 65 6f 6d 29 3b 00 00 00 08 20 20 20 _geometry(c->win,.&geom);.......
f380 20 69 2b 2b 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 4c 76 6f 69 64 20 66 6f .i++;......}....}.......Lvoid.fo
f3a0 63 75 73 5f 6e 65 78 74 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 75 69 6e 74 33 32 5f 74 20 74 69 cus_next(void.*data,.uint32_t.ti
f3c0 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 61 6c 75 65 2c 20 75 69 6e 74 33 32 5f 74 20 73 74 61 me,.uint32_t.value,.uint32_t.sta
f3e0 74 65 29 20 7b 00 00 00 26 20 20 28 76 6f 69 64 29 64 61 74 61 3b 20 28 76 6f 69 64 29 74 69 6d te).{...&..(void)data;.(void)tim
f400 65 3b 20 28 76 6f 69 64 29 76 61 6c 75 65 3b 00 00 00 25 20 20 73 74 72 75 63 74 20 63 6c 69 65 e;.(void)value;...%..struct.clie
f420 6e 74 20 2a 63 3b 20 73 74 72 75 63 74 20 73 63 72 65 65 6e 20 2a 73 3b 00 00 00 35 20 20 69 66 nt.*c;.struct.screen.*s;...5..if
f440 20 28 73 74 61 74 65 20 21 3d 20 57 4c 5f 4b 45 59 42 4f 41 52 44 5f 4b 45 59 5f 53 54 41 54 45 .(state.!=.WL_KEYBOARD_KEY_STATE
f460 5f 50 52 45 53 53 45 44 29 20 72 65 74 75 72 6e 3b 00 00 00 1d 20 20 69 66 20 28 21 77 6d 2e 73 _PRESSED).return;......if.(!wm.s
f480 65 6c 5f 73 63 72 65 65 6e 29 20 72 65 74 75 72 6e 3b 00 00 00 14 20 20 73 20 3d 20 77 6d 2e 73 el_screen).return;......s.=.wm.s
f4a0 65 6c 5f 73 63 72 65 65 6e 3b 00 00 00 62 20 20 69 66 20 28 21 77 6d 2e 73 65 6c 5f 63 6c 69 65 el_screen;...b..if.(!wm.sel_clie
f4c0 6e 74 29 20 7b 20 63 20 3d 20 66 69 72 73 74 5f 66 6c 6f 61 74 28 73 29 3b 20 69 66 20 28 21 63 nt).{.c.=.first_float(s);.if.(!c
f4e0 29 20 63 20 3d 20 66 69 72 73 74 5f 74 69 6c 65 64 28 73 29 3b 20 66 6f 63 75 73 28 63 2c 20 66 ).c.=.first_tiled(s);.focus(c,.f
f500 61 6c 73 65 29 3b 20 72 65 74 75 72 6e 3b 20 7d 00 00 00 20 20 20 69 66 20 28 77 6d 2e 73 65 6c alse);.return;.}......if.(wm.sel
f520 5f 63 6c 69 65 6e 74 2d 3e 66 6c 6f 61 74 69 6e 67 29 20 7b 00 00 00 a4 20 20 20 20 66 6f 72 20 _client->floating).{........for.
f540 28 63 20 3d 20 77 6c 5f 63 6f 6e 74 61 69 6e 65 72 5f 6f 66 28 77 6d 2e 73 65 6c 5f 63 6c 69 65 (c.=.wl_container_of(wm.sel_clie
f560 6e 74 2d 3e 66 6c 6f 61 74 5f 6c 69 6e 6b 2e 6e 65 78 74 2c 20 63 2c 20 66 6c 6f 61 74 5f 6c 69 nt->float_link.next,.c,.float_li
f580 6e 6b 29 3b 20 26 63 2d 3e 66 6c 6f 61 74 5f 6c 69 6e 6b 20 21 3d 20 26 77 6d 2e 66 6c 6f 61 74 nk);.&c->float_link.!=.&wm.float
f5a0 69 6e 67 3b 20 63 20 3d 20 77 6c 5f 63 6f 6e 74 61 69 6e 65 72 5f 6f 66 28 63 2d 3e 66 6c 6f 61 ing;.c.=.wl_container_of(c->floa
f5c0 74 5f 6c 69 6e 6b 2e 6e 65 78 74 2c 20 63 2c 20 66 6c 6f 61 74 5f 6c 69 6e 6b 29 29 00 00 00 36 t_link.next,.c,.float_link))...6
f5e0 20 20 20 20 20 20 69 66 20 28 69 73 5f 66 6c 6f 61 74 28 63 2c 20 73 29 29 20 7b 20 66 6f 63 75 ......if.(is_float(c,.s)).{.focu
f600 73 28 63 2c 20 66 61 6c 73 65 29 3b 20 72 65 74 75 72 6e 3b 20 7d 00 00 00 53 20 20 20 20 63 20 s(c,.false);.return;.}...S....c.
f620 3d 20 66 69 72 73 74 5f 74 69 6c 65 64 28 73 29 3b 20 69 66 20 28 21 63 29 20 63 20 3d 20 66 69 =.first_tiled(s);.if.(!c).c.=.fi
f640 72 73 74 5f 66 6c 6f 61 74 28 73 29 3b 20 69 66 20 28 63 29 20 66 6f 63 75 73 28 63 2c 20 66 61 rst_float(s);.if.(c).focus(c,.fa
f660 6c 73 65 29 3b 20 72 65 74 75 72 6e 3b 00 00 00 03 20 20 7d 00 00 00 9f 20 20 66 6f 72 20 28 63 lse);.return;......}......for.(c
f680 20 3d 20 77 6c 5f 63 6f 6e 74 61 69 6e 65 72 5f 6f 66 28 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 .=.wl_container_of(wm.sel_client
f6a0 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 2e 6e 65 78 74 2c 20 63 2c 20 74 69 6c 65 64 5f 6c 69 6e 6b ->tiled_link.next,.c,.tiled_link
f6c0 29 3b 20 26 63 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 20 21 3d 20 26 77 6d 2e 74 69 6c 65 64 3b 20 );.&c->tiled_link.!=.&wm.tiled;.
f6e0 63 20 3d 20 77 6c 5f 63 6f 6e 74 61 69 6e 65 72 5f 6f 66 28 63 2d 3e 74 69 6c 65 64 5f 6c 69 6e c.=.wl_container_of(c->tiled_lin
f700 6b 2e 6e 65 78 74 2c 20 63 2c 20 74 69 6c 65 64 5f 6c 69 6e 6b 29 29 00 00 00 34 20 20 20 20 69 k.next,.c,.tiled_link))...4....i
f720 66 20 28 69 73 5f 74 69 6c 65 64 28 63 2c 20 73 29 29 20 7b 20 66 6f 63 75 73 28 63 2c 20 66 61 f.(is_tiled(c,.s)).{.focus(c,.fa
f740 6c 73 65 29 3b 20 72 65 74 75 72 6e 3b 20 7d 00 00 00 42 20 20 63 20 3d 20 66 69 72 73 74 5f 66 lse);.return;.}...B..c.=.first_f
f760 6c 6f 61 74 28 73 29 3b 20 69 66 20 28 21 63 29 20 63 20 3d 20 66 69 72 73 74 5f 74 69 6c 65 64 loat(s);.if.(!c).c.=.first_tiled
f780 28 73 29 3b 20 66 6f 63 75 73 28 63 2c 20 66 61 6c 73 65 29 3b 00 00 00 01 7d 00 00 00 00 00 00 (s);.focus(c,.false);....}......
f7a0 00 4c 76 6f 69 64 20 66 6f 63 75 73 5f 70 72 65 76 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 75 69 .Lvoid.focus_prev(void.*data,.ui
f7c0 6e 74 33 32 5f 74 20 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 61 6c 75 65 2c 20 75 69 6e nt32_t.time,.uint32_t.value,.uin
f7e0 74 33 32 5f 74 20 73 74 61 74 65 29 20 7b 00 00 00 26 20 20 28 76 6f 69 64 29 64 61 74 61 3b 20 t32_t.state).{...&..(void)data;.
f800 28 76 6f 69 64 29 74 69 6d 65 3b 20 28 76 6f 69 64 29 76 61 6c 75 65 3b 00 00 00 25 20 20 73 74 (void)time;.(void)value;...%..st
f820 72 75 63 74 20 63 6c 69 65 6e 74 20 2a 63 3b 20 73 74 72 75 63 74 20 73 63 72 65 65 6e 20 2a 73 ruct.client.*c;.struct.screen.*s
f840 3b 00 00 00 35 20 20 69 66 20 28 73 74 61 74 65 20 21 3d 20 57 4c 5f 4b 45 59 42 4f 41 52 44 5f ;...5..if.(state.!=.WL_KEYBOARD_
f860 4b 45 59 5f 53 54 41 54 45 5f 50 52 45 53 53 45 44 29 20 72 65 74 75 72 6e 3b 00 00 00 1d 20 20 KEY_STATE_PRESSED).return;......
f880 69 66 20 28 21 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 29 20 72 65 74 75 72 6e 3b 00 00 00 14 20 if.(!wm.sel_screen).return;.....
f8a0 20 73 20 3d 20 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 3b 00 00 00 62 20 20 69 66 20 28 21 77 6d .s.=.wm.sel_screen;...b..if.(!wm
f8c0 2e 73 65 6c 5f 63 6c 69 65 6e 74 29 20 7b 20 63 20 3d 20 66 69 72 73 74 5f 66 6c 6f 61 74 28 73 .sel_client).{.c.=.first_float(s
f8e0 29 3b 20 69 66 20 28 21 63 29 20 63 20 3d 20 66 69 72 73 74 5f 74 69 6c 65 64 28 73 29 3b 20 66 );.if.(!c).c.=.first_tiled(s);.f
f900 6f 63 75 73 28 63 2c 20 66 61 6c 73 65 29 3b 20 72 65 74 75 72 6e 3b 20 7d 00 00 00 20 20 20 69 ocus(c,.false);.return;.}......i
f920 66 20 28 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 2d 3e 66 6c 6f 61 74 69 6e 67 29 20 7b 00 00 00 f.(wm.sel_client->floating).{...
f940 a4 20 20 20 20 66 6f 72 20 28 63 20 3d 20 77 6c 5f 63 6f 6e 74 61 69 6e 65 72 5f 6f 66 28 77 6d .....for.(c.=.wl_container_of(wm
f960 2e 73 65 6c 5f 63 6c 69 65 6e 74 2d 3e 66 6c 6f 61 74 5f 6c 69 6e 6b 2e 70 72 65 76 2c 20 63 2c .sel_client->float_link.prev,.c,
f980 20 66 6c 6f 61 74 5f 6c 69 6e 6b 29 3b 20 26 63 2d 3e 66 6c 6f 61 74 5f 6c 69 6e 6b 20 21 3d 20 .float_link);.&c->float_link.!=.
f9a0 26 77 6d 2e 66 6c 6f 61 74 69 6e 67 3b 20 63 20 3d 20 77 6c 5f 63 6f 6e 74 61 69 6e 65 72 5f 6f &wm.floating;.c.=.wl_container_o
f9c0 66 28 63 2d 3e 66 6c 6f 61 74 5f 6c 69 6e 6b 2e 70 72 65 76 2c 20 63 2c 20 66 6c 6f 61 74 5f 6c f(c->float_link.prev,.c,.float_l
f9e0 69 6e 6b 29 29 00 00 00 36 20 20 20 20 20 20 69 66 20 28 69 73 5f 66 6c 6f 61 74 28 63 2c 20 73 ink))...6......if.(is_float(c,.s
fa00 29 29 20 7b 20 66 6f 63 75 73 28 63 2c 20 66 61 6c 73 65 29 3b 20 72 65 74 75 72 6e 3b 20 7d 00 )).{.focus(c,.false);.return;.}.
fa20 00 00 51 20 20 20 20 63 20 3d 20 6c 61 73 74 5f 74 69 6c 65 64 28 73 29 3b 20 69 66 20 28 21 63 ..Q....c.=.last_tiled(s);.if.(!c
fa40 29 20 63 20 3d 20 6c 61 73 74 5f 66 6c 6f 61 74 28 73 29 3b 20 69 66 20 28 63 29 20 66 6f 63 75 ).c.=.last_float(s);.if.(c).focu
fa60 73 28 63 2c 20 66 61 6c 73 65 29 3b 20 72 65 74 75 72 6e 3b 00 00 00 03 20 20 7d 00 00 00 9f 20 s(c,.false);.return;......}.....
fa80 20 66 6f 72 20 28 63 20 3d 20 77 6c 5f 63 6f 6e 74 61 69 6e 65 72 5f 6f 66 28 77 6d 2e 73 65 6c .for.(c.=.wl_container_of(wm.sel
faa0 5f 63 6c 69 65 6e 74 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 2e 70 72 65 76 2c 20 63 2c 20 74 69 6c _client->tiled_link.prev,.c,.til
fac0 65 64 5f 6c 69 6e 6b 29 3b 20 26 63 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 20 21 3d 20 26 77 6d 2e ed_link);.&c->tiled_link.!=.&wm.
fae0 74 69 6c 65 64 3b 20 63 20 3d 20 77 6c 5f 63 6f 6e 74 61 69 6e 65 72 5f 6f 66 28 63 2d 3e 74 69 tiled;.c.=.wl_container_of(c->ti
fb00 6c 65 64 5f 6c 69 6e 6b 2e 70 72 65 76 2c 20 63 2c 20 74 69 6c 65 64 5f 6c 69 6e 6b 29 29 00 00 led_link.prev,.c,.tiled_link))..
fb20 00 34 20 20 20 20 69 66 20 28 69 73 5f 74 69 6c 65 64 28 63 2c 20 73 29 29 20 7b 20 66 6f 63 75 .4....if.(is_tiled(c,.s)).{.focu
fb40 73 28 63 2c 20 66 61 6c 73 65 29 3b 20 72 65 74 75 72 6e 3b 20 7d 00 00 00 40 20 20 63 20 3d 20 s(c,.false);.return;.}...@..c.=.
fb60 6c 61 73 74 5f 66 6c 6f 61 74 28 73 29 3b 20 69 66 20 28 21 63 29 20 63 20 3d 20 6c 61 73 74 5f last_float(s);.if.(!c).c.=.last_
fb80 74 69 6c 65 64 28 73 29 3b 20 66 6f 63 75 73 28 63 2c 20 66 61 6c 73 65 29 3b 00 00 00 01 7d 00 tiled(s);.focus(c,.false);....}.
fba0 00 00 00 00 00 00 4a 76 6f 69 64 20 6b 69 6c 6c 5f 73 65 6c 28 76 6f 69 64 20 2a 64 61 74 61 2c ......Jvoid.kill_sel(void.*data,
fbc0 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 76 61 6c 75 65 2c 20 .uint32_t.time,.uint32_t.value,.
fbe0 75 69 6e 74 33 32 5f 74 20 73 74 61 74 65 29 20 7b 00 00 00 26 20 20 28 76 6f 69 64 29 64 61 74 uint32_t.state).{...&..(void)dat
fc00 61 3b 20 28 76 6f 69 64 29 74 69 6d 65 3b 20 28 76 6f 69 64 29 76 61 6c 75 65 3b 00 00 00 35 20 a;.(void)time;.(void)value;...5.
fc20 20 69 66 20 28 73 74 61 74 65 20 21 3d 20 57 4c 5f 4b 45 59 42 4f 41 52 44 5f 4b 45 59 5f 53 54 .if.(state.!=.WL_KEYBOARD_KEY_ST
fc40 41 54 45 5f 50 52 45 53 53 45 44 29 20 72 65 74 75 72 6e 3b 00 00 00 1d 20 20 69 66 20 28 21 77 ATE_PRESSED).return;......if.(!w
fc60 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 29 20 72 65 74 75 72 6e 3b 00 00 00 27 20 20 73 77 63 5f 77 m.sel_client).return;...'..swc_w
fc80 69 6e 64 6f 77 5f 63 6c 6f 73 65 28 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 2d 3e 77 69 6e 29 3b indow_close(wm.sel_client->win);
fca0 00 00 00 01 7d 00 00 00 00 00 00 00 4c 76 6f 69 64 20 6d 6f 75 73 65 5f 6d 6f 76 65 28 76 6f 69 ....}.......Lvoid.mouse_move(voi
fcc0 64 20 2a 64 61 74 61 2c 20 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 d.*data,.uint32_t.time,.uint32_t
fce0 20 76 61 6c 75 65 2c 20 75 69 6e 74 33 32 5f 74 20 73 74 61 74 65 29 20 7b 00 00 00 26 20 20 28 .value,.uint32_t.state).{...&..(
fd00 76 6f 69 64 29 64 61 74 61 3b 20 28 76 6f 69 64 29 74 69 6d 65 3b 20 28 76 6f 69 64 29 76 61 6c void)data;.(void)time;.(void)val
fd20 75 65 3b 00 00 00 31 20 20 69 66 20 28 73 74 61 74 65 20 3d 3d 20 57 4c 5f 50 4f 49 4e 54 45 52 ue;...1..if.(state.==.WL_POINTER
fd40 5f 42 55 54 54 4f 4e 5f 53 54 41 54 45 5f 50 52 45 53 53 45 44 29 20 7b 00 00 00 1f 20 20 20 20 _BUTTON_STATE_PRESSED).{........
fd60 69 66 20 28 21 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 29 20 72 65 74 75 72 6e 3b 00 00 00 69 20 if.(!wm.sel_client).return;...i.
fd80 20 20 20 69 66 20 28 21 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 2d 3e 66 6c 6f 61 74 69 6e 67 29 ...if.(!wm.sel_client->floating)
fda0 20 7b 20 73 65 74 5f 66 6c 6f 61 74 69 6e 67 28 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 2c 20 74 .{.set_floating(wm.sel_client,.t
fdc0 72 75 65 2c 20 66 61 6c 73 65 29 3b 20 74 69 6c 65 28 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 2d rue,.false);.tile(wm.sel_client-
fde0 3e 73 63 72 29 3b 20 7d 00 00 00 4d 20 20 20 20 77 6d 2e 67 72 61 62 2e 61 63 74 69 76 65 20 3d >scr);.}...M....wm.grab.active.=
fe00 20 74 72 75 65 3b 20 77 6d 2e 67 72 61 62 2e 72 65 73 69 7a 65 20 3d 20 66 61 6c 73 65 3b 20 77 .true;.wm.grab.resize.=.false;.w
fe20 6d 2e 67 72 61 62 2e 63 20 3d 20 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 3b 00 00 00 2a 20 20 20 m.grab.c.=.wm.sel_client;...*...
fe40 20 73 77 63 5f 77 69 6e 64 6f 77 5f 62 65 67 69 6e 5f 6d 6f 76 65 28 77 6d 2e 67 72 61 62 2e 63 .swc_window_begin_move(wm.grab.c
fe60 2d 3e 77 69 6e 29 3b 00 00 00 0a 20 20 7d 20 65 6c 73 65 20 7b 00 00 00 40 20 20 20 20 69 66 20 ->win);......}.else.{...@....if.
fe80 28 21 77 6d 2e 67 72 61 62 2e 61 63 74 69 76 65 20 7c 7c 20 77 6d 2e 67 72 61 62 2e 72 65 73 69 (!wm.grab.active.||.wm.grab.resi
fea0 7a 65 20 7c 7c 20 21 77 6d 2e 67 72 61 62 2e 63 29 20 72 65 74 75 72 6e 3b 00 00 00 28 20 20 20 ze.||.!wm.grab.c).return;...(...
fec0 20 73 77 63 5f 77 69 6e 64 6f 77 5f 65 6e 64 5f 6d 6f 76 65 28 77 6d 2e 67 72 61 62 2e 63 2d 3e .swc_window_end_move(wm.grab.c->
fee0 77 69 6e 29 3b 00 00 00 2d 20 20 20 20 77 6d 2e 67 72 61 62 2e 61 63 74 69 76 65 20 3d 20 66 61 win);...-....wm.grab.active.=.fa
ff00 6c 73 65 3b 20 77 6d 2e 67 72 61 62 2e 63 20 3d 20 4e 55 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 lse;.wm.grab.c.=.NULL;......}...
ff20 01 7d 00 00 00 00 00 00 00 4e 76 6f 69 64 20 6d 6f 75 73 65 5f 72 65 73 69 7a 65 28 76 6f 69 64 .}.......Nvoid.mouse_resize(void
ff40 20 2a 64 61 74 61 2c 20 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 .*data,.uint32_t.time,.uint32_t.
ff60 76 61 6c 75 65 2c 20 75 69 6e 74 33 32 5f 74 20 73 74 61 74 65 29 20 7b 00 00 00 26 20 20 28 76 value,.uint32_t.state).{...&..(v
ff80 6f 69 64 29 64 61 74 61 3b 20 28 76 6f 69 64 29 74 69 6d 65 3b 20 28 76 6f 69 64 29 76 61 6c 75 oid)data;.(void)time;.(void)valu
ffa0 65 3b 00 00 00 31 20 20 69 66 20 28 73 74 61 74 65 20 3d 3d 20 57 4c 5f 50 4f 49 4e 54 45 52 5f e;...1..if.(state.==.WL_POINTER_
ffc0 42 55 54 54 4f 4e 5f 53 54 41 54 45 5f 50 52 45 53 53 45 44 29 20 7b 00 00 00 1f 20 20 20 20 69 BUTTON_STATE_PRESSED).{........i
ffe0 66 20 28 21 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 29 20 72 65 74 75 72 6e 3b 00 00 00 69 20 20 f.(!wm.sel_client).return;...i..
10000 20 20 69 66 20 28 21 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 2d 3e 66 6c 6f 61 74 69 6e 67 29 20 ..if.(!wm.sel_client->floating).
10020 7b 20 73 65 74 5f 66 6c 6f 61 74 69 6e 67 28 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 2c 20 74 72 {.set_floating(wm.sel_client,.tr
10040 75 65 2c 20 66 61 6c 73 65 29 3b 20 74 69 6c 65 28 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 2d 3e ue,.false);.tile(wm.sel_client->
10060 73 63 72 29 3b 20 7d 00 00 00 4c 20 20 20 20 77 6d 2e 67 72 61 62 2e 61 63 74 69 76 65 20 3d 20 scr);.}...L....wm.grab.active.=.
10080 74 72 75 65 3b 20 77 6d 2e 67 72 61 62 2e 72 65 73 69 7a 65 20 3d 20 74 72 75 65 3b 20 77 6d 2e true;.wm.grab.resize.=.true;.wm.
100a0 67 72 61 62 2e 63 20 3d 20 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 3b 00 00 00 5c 20 20 20 20 73 grab.c.=.wm.sel_client;...\....s
100c0 77 63 5f 77 69 6e 64 6f 77 5f 62 65 67 69 6e 5f 72 65 73 69 7a 65 28 77 6d 2e 67 72 61 62 2e 63 wc_window_begin_resize(wm.grab.c
100e0 2d 3e 77 69 6e 2c 20 53 57 43 5f 57 49 4e 44 4f 57 5f 45 44 47 45 5f 52 49 47 48 54 20 7c 20 53 ->win,.SWC_WINDOW_EDGE_RIGHT.|.S
10100 57 43 5f 57 49 4e 44 4f 57 5f 45 44 47 45 5f 42 4f 54 54 4f 4d 29 3b 00 00 00 0a 20 20 7d 20 65 WC_WINDOW_EDGE_BOTTOM);......}.e
10120 6c 73 65 20 7b 00 00 00 41 20 20 20 20 69 66 20 28 21 77 6d 2e 67 72 61 62 2e 61 63 74 69 76 65 lse.{...A....if.(!wm.grab.active
10140 20 7c 7c 20 21 77 6d 2e 67 72 61 62 2e 72 65 73 69 7a 65 20 7c 7c 20 21 77 6d 2e 67 72 61 62 2e .||.!wm.grab.resize.||.!wm.grab.
10160 63 29 20 72 65 74 75 72 6e 3b 00 00 00 2a 20 20 20 20 73 77 63 5f 77 69 6e 64 6f 77 5f 65 6e 64 c).return;...*....swc_window_end
10180 5f 72 65 73 69 7a 65 28 77 6d 2e 67 72 61 62 2e 63 2d 3e 77 69 6e 29 3b 00 00 00 2d 20 20 20 20 _resize(wm.grab.c->win);...-....
101a0 77 6d 2e 67 72 61 62 2e 61 63 74 69 76 65 20 3d 20 66 61 6c 73 65 3b 20 77 6d 2e 67 72 61 62 2e wm.grab.active.=.false;.wm.grab.
101c0 63 20 3d 20 4e 55 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 29 76 6f 69 c.=.NULL;......}....}.......)voi
101e0 64 20 6e 65 77 5f 73 63 72 65 65 6e 28 73 74 72 75 63 74 20 73 77 63 5f 73 63 72 65 65 6e 20 2a d.new_screen(struct.swc_screen.*
10200 73 63 72 29 20 7b 00 00 00 28 20 20 73 74 72 75 63 74 20 73 63 72 65 65 6e 20 2a 73 20 3d 20 6d scr).{...(..struct.screen.*s.=.m
10220 61 6c 6c 6f 63 28 73 69 7a 65 6f 66 28 2a 73 29 29 3b 00 00 00 38 20 20 69 66 20 28 21 73 29 20 alloc(sizeof(*s));...8..if.(!s).
10240 64 69 65 28 45 58 49 54 5f 46 41 49 4c 55 52 45 2c 20 22 6e 65 77 20 73 63 72 65 65 6e 20 6d 61 die(EXIT_FAILURE,."new.screen.ma
10260 6c 6c 6f 63 20 66 61 69 6c 65 64 22 29 3b 00 00 00 37 20 20 73 2d 3e 73 63 72 20 3d 20 73 63 72 lloc.failed");...7..s->scr.=.scr
10280 3b 20 73 2d 3e 78 20 3d 20 30 3b 20 73 2d 3e 79 20 3d 20 30 3b 20 73 2d 3e 77 20 3d 20 30 3b 20 ;.s->x.=.0;.s->y.=.0;.s->w.=.0;.
102a0 73 2d 3e 68 20 3d 20 30 3b 00 00 00 28 20 20 77 6c 5f 6c 69 73 74 5f 69 6e 73 65 72 74 28 26 77 s->h.=.0;...(..wl_list_insert(&w
102c0 6d 2e 73 63 72 65 65 6e 73 2c 20 26 73 2d 3e 6c 69 6e 6b 29 3b 00 00 00 28 20 20 69 66 20 28 21 m.screens,.&s->link);...(..if.(!
102e0 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 29 20 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 20 3d 20 73 wm.sel_screen).wm.sel_screen.=.s
10300 3b 00 00 00 32 20 20 73 77 63 5f 73 63 72 65 65 6e 5f 73 65 74 5f 68 61 6e 64 6c 65 72 28 73 63 ;...2..swc_screen_set_handler(sc
10320 72 2c 20 26 73 63 72 65 65 6e 5f 68 61 6e 64 6c 65 72 2c 20 73 29 3b 00 00 00 2f 20 20 5f 6c 6f r,.&screen_handler,.s);.../.._lo
10340 67 28 73 74 64 65 72 72 2c 20 22 6e 65 77 5f 73 63 72 65 65 6e 3d 25 70 5c 6e 22 2c 20 28 76 6f g(stderr,."new_screen=%p\n",.(vo
10360 69 64 20 2a 29 73 63 72 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 29 76 6f 69 64 20 6e 65 77 5f id.*)scr);....}.......)void.new_
10380 77 69 6e 64 6f 77 28 73 74 72 75 63 74 20 73 77 63 5f 77 69 6e 64 6f 77 20 2a 77 69 6e 29 20 7b window(struct.swc_window.*win).{
103a0 00 00 00 28 20 20 73 74 72 75 63 74 20 63 6c 69 65 6e 74 20 2a 63 20 3d 20 6d 61 6c 6c 6f 63 28 ...(..struct.client.*c.=.malloc(
103c0 73 69 7a 65 6f 66 28 2a 63 29 29 3b 00 00 00 34 20 20 69 66 20 28 21 63 29 20 64 69 65 28 45 58 sizeof(*c));...4..if.(!c).die(EX
103e0 49 54 5f 46 41 49 4c 55 52 45 2c 20 22 6d 61 6c 6c 6f 63 20 63 6c 69 65 6e 74 20 66 61 69 6c 65 IT_FAILURE,."malloc.client.faile
10400 64 22 29 3b 00 00 00 82 20 20 63 2d 3e 77 69 6e 20 3d 20 77 69 6e 3b 20 63 2d 3e 73 63 72 20 3d d");......c->win.=.win;.c->scr.=
10420 20 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 3b 20 63 2d 3e 6d 61 70 70 65 64 20 3d 20 66 61 6c 73 .wm.sel_screen;.c->mapped.=.fals
10440 65 3b 20 63 2d 3e 66 6c 6f 61 74 69 6e 67 20 3d 20 77 6d 2e 67 6c 6f 62 61 6c 5f 66 6c 6f 61 74 e;.c->floating.=.wm.global_float
10460 69 6e 67 3b 20 63 2d 3e 66 75 6c 6c 73 63 72 65 65 6e 20 3d 20 66 61 6c 73 65 3b 20 63 2d 3e 77 ing;.c->fullscreen.=.false;.c->w
10480 73 20 3d 20 66 61 6c 73 65 3b 00 00 00 b0 20 20 69 66 20 28 63 2d 3e 66 6c 6f 61 74 69 6e 67 29 s.=.false;......if.(c->floating)
104a0 20 7b 20 77 6c 5f 6c 69 73 74 5f 69 6e 73 65 72 74 28 26 77 6d 2e 66 6c 6f 61 74 69 6e 67 2c 20 .{.wl_list_insert(&wm.floating,.
104c0 26 63 2d 3e 66 6c 6f 61 74 5f 6c 69 6e 6b 29 3b 20 77 6c 5f 6c 69 73 74 5f 69 6e 69 74 28 26 63 &c->float_link);.wl_list_init(&c
104e0 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 29 3b 20 73 77 63 5f 77 69 6e 64 6f 77 5f 73 65 74 5f 68 61 ->tiled_link);.swc_window_set_ha
10500 6e 64 6c 65 72 28 77 69 6e 2c 20 26 77 69 6e 64 6f 77 5f 68 61 6e 64 6c 65 72 2c 20 63 29 3b 20 ndler(win,.&window_handler,.c);.
10520 73 77 63 5f 77 69 6e 64 6f 77 5f 73 65 74 5f 73 74 61 63 6b 65 64 28 77 69 6e 29 3b 20 7d 00 00 swc_window_set_stacked(win);.}..
10540 00 9f 20 20 65 6c 73 65 20 7b 20 77 6c 5f 6c 69 73 74 5f 69 6e 73 65 72 74 28 26 77 6d 2e 74 69 ....else.{.wl_list_insert(&wm.ti
10560 6c 65 64 2c 20 26 63 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 29 3b 20 77 6c 5f 6c 69 73 74 5f 69 6e led,.&c->tiled_link);.wl_list_in
10580 69 74 28 26 63 2d 3e 66 6c 6f 61 74 5f 6c 69 6e 6b 29 3b 20 73 77 63 5f 77 69 6e 64 6f 77 5f 73 it(&c->float_link);.swc_window_s
105a0 65 74 5f 68 61 6e 64 6c 65 72 28 77 69 6e 2c 20 26 77 69 6e 64 6f 77 5f 68 61 6e 64 6c 65 72 2c et_handler(win,.&window_handler,
105c0 20 63 29 3b 20 73 77 63 5f 77 69 6e 64 6f 77 5f 73 65 74 5f 74 69 6c 65 64 28 77 69 6e 29 3b 20 .c);.swc_window_set_tiled(win);.
105e0 7d 00 00 00 17 20 20 73 77 63 5f 77 69 6e 64 6f 77 5f 73 68 6f 77 28 77 69 6e 29 3b 00 00 00 11 }......swc_window_show(win);....
10600 20 20 66 6f 63 75 73 28 63 2c 20 74 72 75 65 29 3b 00 00 00 16 20 20 74 69 6c 65 28 77 6d 2e 73 ..focus(c,.true);......tile(wm.s
10620 65 6c 5f 73 63 72 65 65 6e 29 3b 00 00 00 2f 20 20 5f 6c 6f 67 28 73 74 64 65 72 72 2c 20 22 6e el_screen);.../.._log(stderr,."n
10640 65 77 5f 77 69 6e 64 6f 77 3d 25 70 5c 6e 22 2c 20 28 76 6f 69 64 20 2a 29 77 69 6e 29 3b 00 00 ew_window=%p\n",.(void.*)win);..
10660 00 01 7d 00 00 00 00 00 00 00 3b 76 6f 69 64 20 6e 65 77 5f 64 65 76 69 63 65 28 73 74 72 75 63 ..}.......;void.new_device(struc
10680 74 20 6c 69 62 69 6e 70 75 74 5f 64 65 76 69 63 65 20 2a 64 65 76 29 20 7b 20 28 76 6f 69 64 29 t.libinput_device.*dev).{.(void)
106a0 64 65 76 3b 20 7d 00 00 00 00 00 00 00 98 76 6f 69 64 20 71 75 69 74 28 76 6f 69 64 20 2a 64 61 dev;.}........void.quit(void.*da
106c0 74 61 2c 20 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 61 6c 75 ta,.uint32_t.time,.uint32_t.valu
106e0 65 2c 20 75 69 6e 74 33 32 5f 74 20 73 74 61 74 65 29 20 7b 20 28 76 6f 69 64 29 64 61 74 61 3b e,.uint32_t.state).{.(void)data;
10700 20 28 76 6f 69 64 29 74 69 6d 65 3b 20 28 76 6f 69 64 29 76 61 6c 75 65 3b 20 28 76 6f 69 64 29 .(void)time;.(void)value;.(void)
10720 73 74 61 74 65 3b 20 77 6c 5f 64 69 73 70 6c 61 79 5f 74 65 72 6d 69 6e 61 74 65 28 77 6d 2e 64 state;.wl_display_terminate(wm.d
10740 70 79 29 3b 20 7d 00 00 00 00 00 00 00 47 76 6f 69 64 20 73 70 61 77 6e 28 76 6f 69 64 20 2a 64 py);.}.......Gvoid.spawn(void.*d
10760 61 74 61 2c 20 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 61 6c ata,.uint32_t.time,.uint32_t.val
10780 75 65 2c 20 75 69 6e 74 33 32 5f 74 20 73 74 61 74 65 29 20 7b 00 00 00 16 20 20 75 6e 69 6f 6e ue,.uint32_t.state).{......union
107a0 20 61 72 67 20 2a 61 20 3d 20 64 61 74 61 3b 00 00 00 29 20 20 63 68 61 72 20 2a 63 6f 6e 73 74 .arg.*a.=.data;...)..char.*const
107c0 20 2a 63 6d 64 20 3d 20 28 63 68 61 72 20 2a 63 6f 6e 73 74 20 2a 29 61 2d 3e 76 3b 00 00 00 1a .*cmd.=.(char.*const.*)a->v;....
107e0 20 20 28 76 6f 69 64 29 74 69 6d 65 3b 20 28 76 6f 69 64 29 76 61 6c 75 65 3b 00 00 00 35 20 20 ..(void)time;.(void)value;...5..
10800 69 66 20 28 73 74 61 74 65 20 21 3d 20 57 4c 5f 4b 45 59 42 4f 41 52 44 5f 4b 45 59 5f 53 54 41 if.(state.!=.WL_KEYBOARD_KEY_STA
10820 54 45 5f 50 52 45 53 53 45 44 29 20 72 65 74 75 72 6e 3b 00 00 00 37 20 20 69 66 20 28 66 6f 72 TE_PRESSED).return;...7..if.(for
10840 6b 28 29 20 3d 3d 20 30 29 20 7b 20 65 78 65 63 76 70 28 63 6d 64 5b 30 5d 2c 20 63 6d 64 29 3b k().==.0).{.execvp(cmd[0],.cmd);
10860 20 5f 65 78 69 74 28 31 32 37 29 3b 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 4e 76 6f 69 64 20 ._exit(127);.}....}.......Nvoid.
10880 74 6f 67 67 6c 65 5f 66 6c 6f 61 74 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 75 69 6e 74 33 32 5f toggle_float(void.*data,.uint32_
108a0 74 20 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 61 6c 75 65 2c 20 75 69 6e 74 33 32 5f 74 t.time,.uint32_t.value,.uint32_t
108c0 20 73 74 61 74 65 29 20 7b 00 00 00 26 20 20 28 76 6f 69 64 29 64 61 74 61 3b 20 28 76 6f 69 64 .state).{...&..(void)data;.(void
108e0 29 74 69 6d 65 3b 20 28 76 6f 69 64 29 76 61 6c 75 65 3b 00 00 00 35 20 20 69 66 20 28 73 74 61 )time;.(void)value;...5..if.(sta
10900 74 65 20 21 3d 20 57 4c 5f 4b 45 59 42 4f 41 52 44 5f 4b 45 59 5f 53 54 41 54 45 5f 50 52 45 53 te.!=.WL_KEYBOARD_KEY_STATE_PRES
10920 53 45 44 29 20 72 65 74 75 72 6e 3b 00 00 00 1d 20 20 69 66 20 28 21 77 6d 2e 73 65 6c 5f 63 6c SED).return;......if.(!wm.sel_cl
10940 69 65 6e 74 29 20 72 65 74 75 72 6e 3b 00 00 00 3e 20 20 73 65 74 5f 66 6c 6f 61 74 69 6e 67 28 ient).return;...>..set_floating(
10960 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 2c 20 21 77 6d 2e 73 65 6c 5f 63 6c 69 65 6e 74 2d 3e 66 wm.sel_client,.!wm.sel_client->f
10980 6c 6f 61 74 69 6e 67 2c 20 74 72 75 65 29 3b 00 00 00 1b 20 20 74 69 6c 65 28 77 6d 2e 73 65 6c loating,.true);......tile(wm.sel
109a0 5f 63 6c 69 65 6e 74 2d 3e 73 63 72 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 55 76 6f 69 64 20 _client->scr);....}.......Uvoid.
109c0 74 6f 67 67 6c 65 5f 66 6c 6f 61 74 5f 67 6c 6f 62 61 6c 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 toggle_float_global(void.*data,.
109e0 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 61 6c 75 65 2c 20 75 uint32_t.time,.uint32_t.value,.u
10a00 69 6e 74 33 32 5f 74 20 73 74 61 74 65 29 20 7b 00 00 00 26 20 20 28 76 6f 69 64 29 64 61 74 61 int32_t.state).{...&..(void)data
10a20 3b 20 28 76 6f 69 64 29 74 69 6d 65 3b 20 28 76 6f 69 64 29 76 61 6c 75 65 3b 00 00 00 35 20 20 ;.(void)time;.(void)value;...5..
10a40 69 66 20 28 73 74 61 74 65 20 21 3d 20 57 4c 5f 4b 45 59 42 4f 41 52 44 5f 4b 45 59 5f 53 54 41 if.(state.!=.WL_KEYBOARD_KEY_STA
10a60 54 45 5f 50 52 45 53 53 45 44 29 20 72 65 74 75 72 6e 3b 00 00 00 2b 20 20 77 6d 2e 67 6c 6f 62 TE_PRESSED).return;...+..wm.glob
10a80 61 6c 5f 66 6c 6f 61 74 69 6e 67 20 3d 20 21 77 6d 2e 67 6c 6f 62 61 6c 5f 66 6c 6f 61 74 69 6e al_floating.=.!wm.global_floatin
10aa0 67 3b 00 00 00 01 7d 00 00 00 00 00 00 00 10 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 20 7b 00 g;....}........int.main(void).{.
10ac0 00 00 0a 20 20 73 65 74 75 70 28 29 3b 00 00 00 19 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 75 .....setup();......wl_display_ru
10ae0 6e 28 77 6d 2e 64 70 79 29 3b 00 00 00 11 20 20 73 77 63 5f 66 69 6e 61 6c 69 7a 65 28 29 3b 00 n(wm.dpy);......swc_finalize();.
10b00 00 00 1d 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 65 73 74 72 6f 79 28 77 6d 2e 64 70 79 29 3b .....wl_display_destroy(wm.dpy);
10b20 00 00 00 16 20 20 72 65 74 75 72 6e 20 45 58 49 54 5f 53 55 43 43 45 53 53 3b 00 00 00 01 7d 00 ......return.EXIT_SUCCESS;....}.
10b40 00 00 00 00 00 01 f4 76 6f 69 64 20 6d 61 73 74 65 72 5f 6e 65 78 74 28 76 6f 69 64 20 2a 64 61 .......void.master_next(void.*da
10b60 74 61 2c 20 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 61 6c 75 ta,.uint32_t.time,.uint32_t.valu
10b80 65 2c 20 75 69 6e 74 33 32 5f 74 20 73 74 61 74 65 29 20 7b 20 28 76 6f 69 64 29 64 61 74 61 3b e,.uint32_t.state).{.(void)data;
10ba0 20 28 76 6f 69 64 29 74 69 6d 65 3b 20 28 76 6f 69 64 29 76 61 6c 75 65 3b 20 73 74 72 75 63 74 .(void)time;.(void)value;.struct
10bc0 20 63 6c 69 65 6e 74 20 2a 66 69 72 73 74 3b 20 73 74 72 75 63 74 20 63 6c 69 65 6e 74 20 2a 6c .client.*first;.struct.client.*l
10be0 61 73 74 3b 20 73 74 72 75 63 74 20 73 63 72 65 65 6e 20 2a 73 3b 20 69 66 20 28 73 74 61 74 65 ast;.struct.screen.*s;.if.(state
10c00 20 21 3d 20 57 4c 5f 4b 45 59 42 4f 41 52 44 5f 4b 45 59 5f 53 54 41 54 45 5f 50 52 45 53 53 45 .!=.WL_KEYBOARD_KEY_STATE_PRESSE
10c20 44 29 20 72 65 74 75 72 6e 3b 20 69 66 20 28 21 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 29 20 72 D).return;.if.(!wm.sel_screen).r
10c40 65 74 75 72 6e 3b 20 73 20 3d 20 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 3b 20 66 69 72 73 74 20 eturn;.s.=.wm.sel_screen;.first.
10c60 3d 20 66 69 72 73 74 5f 74 69 6c 65 64 28 73 29 3b 20 6c 61 73 74 20 3d 20 6c 61 73 74 5f 74 69 =.first_tiled(s);.last.=.last_ti
10c80 6c 65 64 28 73 29 3b 20 69 66 20 28 21 66 69 72 73 74 20 7c 7c 20 21 6c 61 73 74 20 7c 7c 20 66 led(s);.if.(!first.||.!last.||.f
10ca0 69 72 73 74 20 3d 3d 20 6c 61 73 74 29 20 72 65 74 75 72 6e 3b 20 77 6c 5f 6c 69 73 74 5f 72 65 irst.==.last).return;.wl_list_re
10cc0 6d 6f 76 65 28 26 6c 61 73 74 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 29 3b 20 77 6c 5f 6c 69 73 74 move(&last->tiled_link);.wl_list
10ce0 5f 69 6e 73 65 72 74 28 66 69 72 73 74 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 2e 70 72 65 76 2c 20 _insert(first->tiled_link.prev,.
10d00 26 6c 61 73 74 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 29 3b 20 66 6f 63 75 73 28 66 69 72 73 74 5f &last->tiled_link);.focus(first_
10d20 74 69 6c 65 64 28 73 29 2c 20 74 72 75 65 29 3b 20 74 69 6c 65 28 73 29 3b 20 7d 00 00 00 00 00 tiled(s),.true);.tile(s);.}.....
10d40 00 01 f1 76 6f 69 64 20 6d 61 73 74 65 72 5f 70 72 65 76 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 ...void.master_prev(void.*data,.
10d60 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 61 6c 75 65 2c 20 75 uint32_t.time,.uint32_t.value,.u
10d80 69 6e 74 33 32 5f 74 20 73 74 61 74 65 29 20 7b 20 28 76 6f 69 64 29 64 61 74 61 3b 20 28 76 6f int32_t.state).{.(void)data;.(vo
10da0 69 64 29 74 69 6d 65 3b 20 28 76 6f 69 64 29 76 61 6c 75 65 3b 20 73 74 72 75 63 74 20 63 6c 69 id)time;.(void)value;.struct.cli
10dc0 65 6e 74 20 2a 66 69 72 73 74 3b 20 73 74 72 75 63 74 20 63 6c 69 65 6e 74 20 2a 6c 61 73 74 3b ent.*first;.struct.client.*last;
10de0 20 73 74 72 75 63 74 20 73 63 72 65 65 6e 20 2a 73 3b 20 69 66 20 28 73 74 61 74 65 20 21 3d 20 .struct.screen.*s;.if.(state.!=.
10e00 57 4c 5f 4b 45 59 42 4f 41 52 44 5f 4b 45 59 5f 53 54 41 54 45 5f 50 52 45 53 53 45 44 29 20 72 WL_KEYBOARD_KEY_STATE_PRESSED).r
10e20 65 74 75 72 6e 3b 20 69 66 20 28 21 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 29 20 72 65 74 75 72 eturn;.if.(!wm.sel_screen).retur
10e40 6e 3b 20 73 20 3d 20 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 3b 20 66 69 72 73 74 20 3d 20 66 69 n;.s.=.wm.sel_screen;.first.=.fi
10e60 72 73 74 5f 74 69 6c 65 64 28 73 29 3b 20 6c 61 73 74 20 3d 20 6c 61 73 74 5f 74 69 6c 65 64 28 rst_tiled(s);.last.=.last_tiled(
10e80 73 29 3b 20 69 66 20 28 21 66 69 72 73 74 20 7c 7c 20 21 6c 61 73 74 20 7c 7c 20 66 69 72 73 74 s);.if.(!first.||.!last.||.first
10ea0 20 3d 3d 20 6c 61 73 74 29 20 72 65 74 75 72 6e 3b 20 77 6c 5f 6c 69 73 74 5f 72 65 6d 6f 76 65 .==.last).return;.wl_list_remove
10ec0 28 26 66 69 72 73 74 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 29 3b 20 77 6c 5f 6c 69 73 74 5f 69 6e (&first->tiled_link);.wl_list_in
10ee0 73 65 72 74 28 26 6c 61 73 74 2d 3e 74 69 6c 65 64 5f 6c 69 6e 6b 2c 20 26 66 69 72 73 74 2d 3e sert(&last->tiled_link,.&first->
10f00 74 69 6c 65 64 5f 6c 69 6e 6b 29 3b 20 66 6f 63 75 73 28 66 69 72 73 74 5f 74 69 6c 65 64 28 73 tiled_link);.focus(first_tiled(s
10f20 29 2c 20 74 72 75 65 29 3b 20 74 69 6c 65 28 73 29 3b 20 7d 00 00 00 00 00 00 00 4f 76 6f 69 64 ),.true);.tile(s);.}.......Ovoid
10f40 20 6d 61 73 74 65 72 5f 72 65 73 69 7a 65 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 75 69 6e 74 33 .master_resize(void.*data,.uint3
10f60 32 5f 74 20 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 61 6c 75 65 2c 20 75 69 6e 74 33 32 2_t.time,.uint32_t.value,.uint32
10f80 5f 74 20 73 74 61 74 65 29 20 7b 00 00 00 2f 20 20 28 76 6f 69 64 29 74 69 6d 65 3b 20 28 76 6f _t.state).{.../..(void)time;.(vo
10fa0 69 64 29 76 61 6c 75 65 3b 20 75 6e 69 6f 6e 20 61 72 67 20 2a 61 20 3d 20 64 61 74 61 3b 00 00 id)value;.union.arg.*a.=.data;..
10fc0 00 35 20 20 69 66 20 28 73 74 61 74 65 20 21 3d 20 57 4c 5f 4b 45 59 42 4f 41 52 44 5f 4b 45 59 .5..if.(state.!=.WL_KEYBOARD_KEY
10fe0 5f 53 54 41 54 45 5f 50 52 45 53 53 45 44 29 20 72 65 74 75 72 6e 3b 00 00 00 1d 20 20 69 66 20 _STATE_PRESSED).return;......if.
11000 28 21 77 6d 2e 73 65 6c 5f 73 63 72 65 65 6e 29 20 72 65 74 75 72 6e 3b 00 00 00 41 20 20 73 74 (!wm.sel_screen).return;...A..st
11020 72 75 63 74 20 73 77 63 5f 72 65 63 74 61 6e 67 6c 65 20 2a 67 20 3d 20 26 77 6d 2e 73 65 6c 5f ruct.swc_rectangle.*g.=.&wm.sel_
11040 73 63 72 65 65 6e 2d 3e 73 63 72 2d 3e 75 73 61 62 6c 65 5f 67 65 6f 6d 65 74 72 79 3b 00 00 00 screen->scr->usable_geometry;...
11060 32 20 20 75 69 6e 74 33 32 5f 74 20 6f 75 74 5f 67 61 70 73 20 3d 20 63 66 67 2e 67 61 70 73 20 2..uint32_t.out_gaps.=.cfg.gaps.
11080 2b 20 63 66 67 2e 62 6f 72 64 65 72 5f 77 69 64 74 68 3b 00 00 00 37 20 20 75 69 6e 74 33 32 5f +.cfg.border_width;...7..uint32_
110a0 74 20 69 6e 5f 67 61 70 73 20 3d 20 63 66 67 2e 67 61 70 73 20 2b 20 28 63 66 67 2e 62 6f 72 64 t.in_gaps.=.cfg.gaps.+.(cfg.bord
110c0 65 72 5f 77 69 64 74 68 20 2a 20 32 29 3b 00 00 00 3e 20 20 69 6e 74 33 32 5f 74 20 74 6f 74 61 er_width.*.2);...>..int32_t.tota
110e0 6c 20 3d 20 28 69 6e 74 33 32 5f 74 29 67 2d 3e 77 69 64 74 68 20 2d 20 28 69 6e 74 33 32 5f 74 l.=.(int32_t)g->width.-.(int32_t
11100 29 28 6f 75 74 5f 67 61 70 73 20 2a 20 32 29 3b 00 00 00 1a 20 20 69 6e 74 33 32 5f 74 20 6d 69 )(out_gaps.*.2);......int32_t.mi
11120 6e 5f 6d 61 73 74 65 72 20 3d 20 32 30 3b 00 00 00 35 20 20 69 6e 74 33 32 5f 74 20 6d 61 78 5f n_master.=.20;...5..int32_t.max_
11140 6d 61 73 74 65 72 20 3d 20 74 6f 74 61 6c 20 2d 20 28 69 6e 74 33 32 5f 74 29 69 6e 5f 67 61 70 master.=.total.-.(int32_t)in_gap
11160 73 20 2d 20 32 30 3b 00 00 00 37 20 20 69 66 20 28 6d 61 78 5f 6d 61 73 74 65 72 20 3c 20 6d 69 s.-.20;...7..if.(max_master.<.mi
11180 6e 5f 6d 61 73 74 65 72 29 20 6d 61 78 5f 6d 61 73 74 65 72 20 3d 20 6d 69 6e 5f 6d 61 73 74 65 n_master).max_master.=.min_maste
111a0 72 3b 00 00 00 2c 20 20 69 6e 74 33 32 5f 74 20 6d 77 20 3d 20 28 69 6e 74 33 32 5f 74 29 6d 61 r;...,..int32_t.mw.=.(int32_t)ma
111c0 73 74 65 72 5f 77 69 64 74 68 20 2b 20 61 2d 3e 69 3b 00 00 00 27 20 20 69 66 20 28 6d 77 20 3c ster_width.+.a->i;...'..if.(mw.<
111e0 20 6d 69 6e 5f 6d 61 73 74 65 72 29 20 6d 77 20 3d 20 6d 69 6e 5f 6d 61 73 74 65 72 3b 00 00 00 .min_master).mw.=.min_master;...
11200 2c 20 20 65 6c 73 65 20 69 66 20 28 6d 77 20 3e 20 6d 61 78 5f 6d 61 73 74 65 72 29 20 6d 77 20 ,..else.if.(mw.>.max_master).mw.
11220 3d 20 6d 61 78 5f 6d 61 73 74 65 72 3b 35 81 f5 18 00 00 00 00 00 00 00 00 09 00 00 00 58 01 00 =.max_master;5...............X..
11240 00 1b 00 00 00 11 02 00 00 03 00 00 00 09 00 00 00 00 00 00 00 c7 32 00 00 00 00 00 00 1c 36 00 ......................2.......6.
11260 00 00 00 00 00 35 81 e7 aa .....5...